// This is just a tiny library which lets you easily manipulate with // tabset controls in your projects. // // This lib is FREEWARE. You can use it in any project. // // *********************************************************************** // ******************** DEFAULT OPTIONS BLOCK : START ******************** // Default image type. JPG won't work out since it has no transparency. // 0-PNG; 1-GIF; $_tab_def_type = 0; // Default style [0|1|2] $_tab_def_style = 2; // ******************** DEFAULT OPTIONS BLOCK : FINISH ******************* // *********************************************************************** // Sample menu array. Everything's just in plain english: /* $_tab_example_ = array( "_bgcolor" => "ffffff", "_fgcolor" => "dddddd", "_curcolor" => "ffffff", "_class" => "topmenu", "_nounder" => 0, "_style" => 2, "item1" => array( "title" => "Item1", "url" => "index.php", "style" => 0 ), "item2" => array( "title" => "Item 2", "url" => "index.php", "desc" => "Description of Item 2 here", "style" => 1 ), "huh, new item" => array( "title" => "Item3", "url" => "index.php?q=1", "fgcolor" => "aaaaaa", "class" => "topmenu" ), "wow!" => array( "title" => "Item4", "url" => "index.php?q=2" ), "Jeez! that's enough!" => array( "title" => "Item5", "url" => "index.php?q=3" ) ); */ //*************************************************************************** function tabUpper($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $ic = tab_Items($M); $un = (isset($M['_nounder']) && $M['_nounder']<>0) ? 0 : 1; $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 2 : 3) : 2; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 1 : 2) : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; $out .= @(""); } if($un) { if(!(($ic == 1) && (strlen(tab_GetActiveName($M))>0))) $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) continue; $out .= (""); } } $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title'].""); $out .= ("


"); return $out; } //*************************************************************************** function tabLower($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $out .= (""); $un = (isset($M['_nounder']) && $M['_nounder']) ? 0 : 1; if($un) { reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) { $bg = (isset($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if (isset($M['_curcolor'])) $fg = $M['_curcolor']; if(isset($M['_class'])) $cl = "class='".(($v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".(($v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } else $out .= (""); } $out .= (""); } reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if((isset($v['active']) && $v['active']) && ($un)) continue; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? 2 : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $out .= (""); } $out .= ("
"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); return $out; } //*************************************************************************** function tab_getActiveName($M) { if(sizeof($M) < 1) return ""; $rst = ""; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; elseif($v['active']) { $rst = $k; break; } return $rst; } //*************************************************************************** function tab_Items($M) { $cnt = 0; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; else $cnt++; return $cnt; } extract($_REQUEST); //*************************************************************************** if(isset($_tab_or)) { if(substr($_tab_bg,0,1)=="#") $_tab_bg = substr($_tab_bg,1); while(strlen($_tab_bg) < 6) $_tab_bg = "0".$_tab_bg; $im = ImageCreate(6, 6); $tbg = ImageColorAllocate($im,253,254,255); $bl = ImageColorAllocate($im,0,0,0); $gr = ImageColorAllocate($im, 128,128,128); $bg = ImageColorAllocate($im, base_convert(substr($_tab_bg,0,2),16,10), base_convert(substr($_tab_bg,2,2),16,10), base_convert(substr($_tab_bg,4,2),16,10)); ImageColorTransparent($im, $tbg); switch($_tab_or) { case 0 : case 16 : { ImageLine($im, 5,0,1,4, $bl); ImageLine($im, 1,4,1,5, $bl); ImageFill($im, 0,0, $bg); break; } case 1 : { ImageLine($im, 0,0,4,4, $bl); ImageLine($im, 4,4,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 2 : case 18 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,1,5,5, $bl); ImageFill($im, 0,5, $bg); break; } case 3 : { ImageLine($im, 0,5,4,1, $bl); ImageLine($im, 4,1,4,0, $bl); ImageFill($im, 5,5, $bg); break; } case 4 : case 6 : case 12 : case 14 : case 20 : case 22 : { ImageLine($im, 0,0,0,5, $bg); ImageLine($im, 1,0,1,5, $bl); break; } case 5 : case 7 : case 13 : case 15 : case 21 : case 23 : { ImageLine($im, 5,0,5,5, $bg); ImageLine($im, 4,0,4,5, $bl); break; } case 8 : { ImageLine($im, 5,0,4,0, $bl); ImageLine($im, 3,1,1,3, $bl); ImageLine($im, 1,4,1,5, $bl); ImageSetPixel($im, 2,1, $bl); ImageFill($im, 0,0, $bg); break; } case 9 : { ImageLine($im, 0,0,1,0, $bl); ImageLine($im, 2,1,4,3, $bl); ImageLine($im, 4,4,4,5, $bl); ImageSetPixel($im, 3,1, $bl); ImageFill($im, 5,0, $bg); break; } case 10 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,2,3,4, $bl); ImageLine($im, 4,5,5,5, $bl); ImageSetPixel($im, 2,4, $bl); ImageFill($im, 0,5, $bg); break; } case 11 : { ImageLine($im, 4,0,4,1, $bl); ImageLine($im, 4,2,2,4, $bl); ImageLine($im, 0,5,1,5, $bl); ImageSetPixel($im, 3,4, $bl); ImageFill($im, 5,0, $bg); break; } case 17 : { ImageLine($im, 0,0,4,0, $bl); ImageLine($im, 4,1,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 19 : { ImageLine($im, 0,5,4,5, $bl); ImageLine($im, 4,4,4,0, $bl); ImageFill($im, 5,5, $bg); break; } } header("Expires: ".date('r', time()+(3600*365))); switch($_tab_def_type) { case 0 : { ImagePNG($im); break; } case 1 : { ImageGIF($im); break; } } ImageDestroy($im); } ?>ExifII*DuckyP-http://ns.adobe.com/xap/1.0/ Adobed       !1AQ"a2qB#Rb3C$rS4%& !1A"Qaq2B#Rbr3C$cS%5 ?5UI&D(& !MN*>y0Lꅐ0PHNi*N@ҶY_a<ȱ~8 k{K2kU1=5 {{2>V1Γ+=~>T\h5"_•S>=K^92I;Y֢&C*Ong x\7Ww8&;_1گpeK!mћmN*jd. 9yaN4,@'m֣ xԓ8FDeAď.^N<)!3ߓ עFr0Z7FKlAĝZPq>H'kYdG7g<i6gD'\x1dIZBߧwߦ?NӌL[,рr_}J;W;myt^{$%SO$p7FT 4c3I2d&+;ȃRȊ O +7Cf}6mi8`y[~C+mcr)N$鬁Xtm.]{G\qzac{Nwv#}\>pd.Jĵ|CJ'(${h{\:]H9hY_XdqSIEy8i7dޝ7]@e\;/Vh_AҚa1T/a<-~;3K+וctock g-n>.OMN@uee~@g&BLnrQkyzvg1@CpPg /8"YC#R[u֣$Ѭ[l:5Dx{SDq9y`%؞#t{lk v2̤nNm67GlP-iԛ([\h$JcL=֝+7cGFW}d.6&HyAU2[ޢC ʄ('Ck8bl=4EmF~Ohv1ǦjSڜ:x x˖hDv'j,&Ð##/7 ~;%e,Djk gxNb5~Mµ-#-c>iYAEtW"< d@ ,l+8q! I> FݚW#h-cXՇN?5&f!qpç췍QğScz`n)ǙRZYj+c' ?ZJ S3FVtv$㷻Ad#1B mYl^;%(FITN#@$e2]ܷNK6m:tgb}=ۙ[(YA"/oy01bFz*v [yȉeF5AZ_)b˻Q )k?qjYJB4ҚWm#ַ>gؼ`.zZ|`[#K*een^7r|oyGImHHyyx*AZyմ orf"]-#; M$2{5~UepYy/OG^6~f?e$>$NBDQż:֬겡e1gi2$T*C^<(VGTwvAt/jd$Jʦ3kdw7ZQȢ$aR2{ڀep20CgrR~1Ep{\wu~Tdx3zSqLk.L\Fhf`I%/xBo4yoY% \vZ݆ ^Ej^eA''RQ9EO^7]R6URdK&fSf%ryMw_(卶]"eb?v7ӞC/O7#2 A}Vj/muy!a%ݎ==2+α8ySDE {MaƊUI:j)МI1) YmXu;t=*1eGj r8l-TvG$΍(/=E9 y- >ӵz)`FV:kWN;:!Dgӧf& Uȍ&:{AJ-lGEh# o%q].>察5+I&2-I͝uubKk:h'uY?|`e~d*VBtvt,Fqvɉ4Ѿux)AzbKG#+cck]8l-wU%ʓM7lNM4Lu_*[v9A(vhci -vmeq+w<[n0Y [z, R ΆfG_~-׿r'/2m J7[ QX(cZG2D#e`A]iG!dEAmu OY%FD=c*U4|eOǀme x[4ʖ1 {2K!TURەQ58Q.IcVp+)c;c-eB%/5$Ł (=`}I:=xg%`8T>fJ H,JZ#$VKԘPdE바' 7y1lHnCq_bkȪPDm aȫ#}[Lbptm}ױThMMnJu ?] -iU.:3*&v>$'f[VmȱeQ+UԀ=7;nZ_mmvexGZ/,ޟuYv;C -xmJ&XzC;$7L֓p6{V>ڳ;i~{}eIeS1cY ƀIw(ſh6q#OSӯ]J>) XftָcȺa~|gQhVheqSH j\l| +~L|vm=E+J)HلCyd=?2H >g>&8r e͜}om6_};qh}ewQn޿mx=Ck#ZT#zh8 $6Նpu9x)pL]l߅Igl~seyRGl9l~{A+||e 0常lx%ƒ?y> -b/L w~yՙy;}OMf^ocKcF mYm#hTȏM=?®]R$>4l 1Er8p n9C5W0| 96\sk+_O˜>N[,a{}ף&?5rM% $\NGx9eߩ:YllFA 'f6V'G#@55A9!8r\tz2*G)TB?fİYn<çϒ9<"9qkP<]~j$3dfۣ٘]zA@fҾ6Kf_׊@mpAN]4w\ $'3цaLԏ?H'AVҞI-$u(pT_`wbXe3~Mo;]uF5_pD_: 헂Qn/#˱.@~rHJɺ|ֳ#' :x?em3T.e$٥j*Qש]JAFyrPv5%qOX\4xڢyjvj=CsHʂ>f~IW9~ͼ]ܖYt1LbLקKG햑 {w㣌JLۗ'ew [UiA$9Yo)*;A}4޶MQ'vPG4%2w:M/mw{fXf&_IO!,X͙,>R.zn/H<? >%Or>^ewa$g[~%܎9pݹm`E[_~7[^?#}54"NbMKe?z[^ A{ZQn\V[)2XU|T#wS|~^oKv_^ 5A'F$ec7ᅬ?ɞ1cynٝǔMqܮoIN>}؆(/o6Wos)ǚent?gJxcygCESRЎr oFHC{: d>~h ) sny_}C$b=N8iy'jk{{e/\wz !%[ CiƧaB1=c[GmU"r?tK9a'@Xec^ tx$c'jPvB:iwZ8_ֹ @ml7 ' ū}Ж/G4@ݹ0'}~ے QYz}ܣ~&.bv zƭw_Ƴ%%fLFՌ\NN k$Vۑq*7jAv&*,fF(7uW i167l6I/͒ +U&"+}ѝ8=謡O z^I%88k~ ĩӮN |XH]$Afק/Zo `i%qZ7ȊuĬn1yl@}ysqy|GI@H o}jx"h"2umxVvX&C=*kb}C2# m:N}LI}BpBَmC?YT=S^eH鯬 :VxA'jr IbE 6"Xfr6EY:|ꔘPJ$f%E Y:xFՑ +jVt0^) $@˰6lXP$PluEʑvީ\@XDQx/JZWŅE!F*e穿Zb+/9V[J8r>#}|tхsisyŦ߮m5П⎴(5k_秧IP_Zs4BLuR2{h#Rm:LBHt-(#z>-hױx޺{`c25*:.Ѵ|tm 5aV Ѐ7| o1nM9*]zLq'g'XC VX#u y9b{;_\c/ 7@., UakI8xwƯrד fCku¹x`IܴȈFe``kSs1mfY nQG2vW¬gr".ԏV&fE#ӖR_R;C:uLƃ! 4ky^qGLu in "{XAB*K Wl4tbbPZTDŋ8{S9r&֙"%B*oswOܚ*~ _w`CZů:Tnz4=$(%@]۝s93$rK]ӹ\bC#ꠝJf2ۋKR+5f$H LUqZ^;H?T Z.,YSFIGeWيX#8ƬtP͋ oEmRG=1U VCjrl}>:q zkٴlHr߸ۿ(Fzn(ҺԀ]"ā=5Eֲ JM Z,U-֭H`ٍc 3 !]QK&Dk#1>z-ֶwNi&~ǤMږ,"# fX-4;,r4J̠+ԧv⠷i6BQ~A 0Ҡ^F6'o]N֩ڍN4@j35[ylyGNURU qS\ӋPdazRjK(>ӷӷW!oT4f-!Hu:7M/N)o}|Rfg^3!.#mNK1S2Jm{V2LaC2}bK4_2yum%e b:qei_=ePXGE$\m0L?0Jqm36aN{o]y$`?G*2 duKkBLnVO2Sr쑞HIY5 R,Z'b^1afJ}n#qJEƴʫ,SvE>#bsEedסqc-OрT*0z7bC;G9m!@xH(%,ʄجH_Ʈdw#6,~!bz&,aL#BFeXSeMd6Wg6i嶚Py4b?, kԬXvco%Ff$zn}tٜWlBqzQn* L9QdEQBzP|H[ܓQacѶ`}@ͻoKu`r8GMoy E6C%b3x(R$$W`6 >ɟ'M7c{N4FtQ1ctPwz[  א؟]q4Wgm .~޻f+wTbCӸtY0vnuIEb:}cIP%xtR9z[PuՍ(Fuwߎ}u [ zsb&u9[PYǁ 9oC=^WE"=+'5.5Rߌ+dalr#]ALckCF=Cw(MrܒύE ,|Aڿ_FU۲~ڳGm?% ߩ}-n*Eװkb~T!#An[xMFHfgtV݂NfX˂Wuo_YFǡha#ߙ2ƛWyY"oNMѷXnHn'/#aQ\~c򟾆vJL5DR\Z3*^GO$hى:&dO1E(+Rab7YuR!G6zswk 0Ƒber@^=5<'!rЕ$];bŨ ai5syZrmw\HNGp.>@}QY󄤯/  "ׯƟee{C MD| erK#:0Aj6>#cs-K;!T<0QS)J͍72,nMwUaȖmǭŀm q`0K6w2V. YG:g[ %|E$6?-yUjeX-*37Da"Ctn=5rJjybDhFߥG'S3bd-uo(;Q7O\?uYN_J&9y^VU]ld?AĠoi9†qz_[}C|[io\Y|jxi݌Br? #NR (BMmp5x|w"ٵkhLb*WU`:x;_PLf{nnD?[Pm ڔ)noQ`ԪmV y:ziW1zbTn45z[Zh@ f1oAuXuJqu~$-9ksIyCWU\%뷮!E`wECšjԎ@~!4oTY 9qeӔR2)`?¸uD[|Kzpgc^Ձ}6IzSkiJih#`͸,dXMT-T?iJ]CF6;u'P6i(\ukm:uiZ$VTBu)iRcc@>:MIQA\ 90N[!IkTW#ce0YJ'zMn<>`GDi# eTVsř۪Ӥ|W~ҏgZ<6vԖ=璳܋-G6::ʷM DlGO_;$r+Hi} 8(߶쥹l%(mNի#-3t✹Pl{ms>xDj%P"iʻ*b!?u]lﯿ6vuK+kbu6R7oA#l$}D~ce%V)(6xdd'nL+pw ?u|yွ[nXj0IyvJ94C98}}_Ly_b4-EIİvDnɂIM66n9\etK 5oit ˟H݉uA`mjKhiVC=4Ћ*B F |n3I'|?ۜ!ld6*YՏ9Os| nRk1(l^đ_e^ &Ǒ;wx\) :َ۟6YxkJA($Yp[zԎ" UnEMf. B*̨8?̼]ZYӫ=>Rάq,D7;@6"+c;rX܅`:]JĐFٺ=2l:֤}{nAOpa ~b/m0v7:T]asfnTmT})V;S-d4sdHvX^qe"i\ʷӎSÐVup|G2`;dvDWȠ(w]N3'ʪ!P=N9E 6PvYnPӭ07n*U3ԣlX1~Zpa"Ē.>+7(dlWHb v[ sZk=~c<[8K.N`R困4ER+>8β; =BvB9>8)$*MǯZ{NsʁJOQImzaFe|ƱRG%.-.T>ak6) #l;[\8`]FHziz>2`lu՞716GR_ sն(ClN`vԧX]$ wﱡ1eQ6Ht7`tSsb֊zk.D;G( uS rقl秇]>r^^TQO;2Ĥ ͷuj~SwW!,19nW#:Ė7t>ν:҂ev-,%6Ѝ}<}ԓڏ3%ɾ:6fx ۷%@ܝ#0 G F۴ rJ!駪@]=-cĒ.Jtcup'GS2=A+"^vlC 6 AZhѸ,PvLJF0 q>j)ŦxEU[㗄iZG{4]vqr=ƚcȲ*RzPjz/ݩw؍^yD"?U_Sշ->3}s4χ ;?f8g{C"jou^LkV(2XߑO7ӧ"&B8V]^}Z2Q m&|Y)cZ(wz ǐ63)~9d3B~[1W#L鱾_0=NK#4Y"' K7U>p$졗uj]_,Eb:TjoEDyS$]HdF-msJy_J~gu> Ȏ M.絔t+3U!sHI\bm!F t] _# GZ(dF䝆굚+4{qkGKe 7[(MF8կQgGsN¨13H_fuܦ?iY1Lb@\xVg;f^W$wN2F6,N4qCsyI~ҭ||Ф|KN<BmM?!r]8 ުT{kvgůH3_D#x) HK44e',%2,ySGOgTY~gNu;Q'y|h˴x*#apa0Gc%*'RBc+I^dHB&Nn]ΤnÕg%̬ [֨cS_ ݍ D!eRGE{LUǾ2"r?ac#.O h a'%n^Cf,EyiP:hY[OMw_BzF=DѬci=Km|ER 2'YOLħkA Y7ikبWy),Lj5HMPnzzv&;-Gҽ_iW_$H4l_X-×6܂W%"O, ( 6܀?rvF3YݬUHR={_Y#dBZ1,_F*4e_r}\:7t e`Y7FN:yfG'}A%7ֱrX!w6QuI{OFA2͖7( {Qeb02.BƄ*?gA4]92>$HmZ`}Z΃~z* 8͸2}M.,]t qfD b]DAC%mI|?JWb GuSEO~FYw HnrJ{FJ'  >*)'|}:$-"m*1:ؔzK2¨Qu|O,KPc:#m5lU?fЫnUĦg{ġV}FtWmarJ\OݟJEJX\UC/m}C5/1]C ^8$ ()o#i@;ذjh.u>A/!"$0$ȚZ&:yfk7bNKx۞iIhLeY"R:n|FƄ6~u wfXevPSr@b͝:|Aq'~H|ođCԓϲd+gpρdnC46hVa ,:.lێ#-g\V?mad?' ّLR`Nث-ٷk{N:QxWqoob!,26dme$PXʍ5{n`N)mnbeUVYpS94ٿXR>>KZ帯3gT*۝5?3dkk},>5`Y:"Y# AбjEF}# تDk`&Yݐ55Wj,>e)O0L.\Gо-0 qۍڵAbTcL F}Mzgl<9\V2o5ij=4##o}^[ 30RȆI H)C kGsKdEBhlb/\/`6֪1xbjז[V%DQM4.E?_Fqө ڀ F"< u#ۜ=~u|d=Oyb^4Ǜ)fc9on~/o&~a&Ym)dSq`N.ɿh$&z':H }FG)]XhFnV8ad~m%{NT;|WCk3I(#vFn6գ|n'; .nNNs;2llPn2C*u%OM[a<;1Z#xGIY4 1 :)˶6Nm5ۻ@x_t=+#ܰvgXDJH~Dˑ%dd(RQ6|i1Hƛr hzwo9L¤t.NlOjC ƆwǑEzWm0ƿI"aHEXBndG61nP ^?Lʹ_mkeql3lRwmK*"?$e9rp򟒓J3_n4}]W-+Ϳ}FO¹oegyY'w·ߐ>'zI O# ]v7G&N닔1Gs-Sq 4q1ańv#>eUfV,oڤVOԁd Hr?y(N$ԧd`U1_o]AFx{:Ef mGCimmM=ŏSVbzS%SLnNډz*IBJص9x#}ڵN!|"#aTk"JnuuBPDDtr!O5 h,=L|ʰZM~64٤Tv3H,ݶNcFK8嵁6Q\'e ee#֏!NWB0$/J歒˒K6NZR;d+)W18 LupHX{=f/m?+-nt^M8ڻ}x܆ᷮ+O?n+!\V9]IxfCU:F rbB7]Bcb@ykƶo;ؕܮMdpor{%ժR$CjkoN6]ВUwPq}ߪR SqPͯ}cʻ/# LʶP k$-wc*~Ed~R `xb,B܏ viMXڒ,z l7)+u頁yrڜL"L[خo];&HA;zB z\OWfx1d޻B-T,|MnO/F`Ҽ ĕ~^ƕbг~O1<[#3q¶$2ú#Btw5ͅhhJ?*y>C!,W:PЁc7"vH#Xdh@&(}7NQ춗>|?̾#K F+I$B*ސCeOq<ǐc,C է3zaOO~%75zrZfpI s't+FySτ!]Ơ{.5GB,}J!8 ;bL,[j:Qy(W$Q_#5:y7ƋX|vO)}ﰇl,yUw6Vb``7q͟0t"FoI? 0.¼j هcRlyҞ7/fعAjx;:$) `HtVXCӈ~; VP>իl7?ֻR6D`ov=hЏmh Hxq jBdkՍtOxϒbs8MIW)֜ o}d>c<!d8dEPlZ6BݢK㳓^0J7 mMfnB5o~(RXޓO/\FNžzO ۝r#ԠRTemubr2>K?) mkyy[(zf"2ZaG,6'o:Kxq>r jWjd35`&Ą)'}܎32RQn?Q\n.Ejʳ?rߨ"i!Sc *NKzxMIo$թM `"mݎ%ilEt}Zw8voyqۯ-n>v^`E:.Ck_w#v#_>kǟ ѷ}գ>{_/}kUvv?Om(K??˿so%]uӾW6lk3_"O<{_2}kC?xG*~ߎޡSW~?Ϗ_g:p˯Yfپrwzmӽ.}?~mwU6;޵fWo>}se -]Ç;=~Zq#Z|k?_ro]a{}~'<ǏQﮠ-ǯM]WEM}ZvuuQ/tOZY&ܺo5:ǟmt4WNcVmKJC "OGӮ^{}{z~iҩmԚxTurv/oozZa_ѻ{r So)W