// 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*Duckyd-http://ns.adobe.com/xap/1.0/ Adobed     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?*FG>\UH?}%Z^;%=RD:loI l'q9?z,CF"E 8 E>cueޝ{'(WD6~GRNcF`bX FI}o3gcnjVҴALu/f=ăܿj|;k9jd'%H'=*zMvJ}Rl㵩1z&G+#:.*.UV %oa> my7Cv>Uܞ]C{K "o $Ҕ&2gvgijDOUߩq:03@K@ZѺ 8L7\Ett}g̲8L7Ԑ>B} ]gPRcz_喕Y[^P IifH>?>^n[4Q'E:sC f\O'ν)#˷+eHC9U)P5]J"J5L5f$rNk;LDla)?OSҔɠg-_9W@ s<?bڃÇEj+ӌ@1c͏\{O9T|rYZESmM}RUVAN?oH>ȃ6~^jLCD2 #,&`A9-[,iXqFL,k/bqY jDz6n5>4t9 XՃvs U$j‚V:F,613O3Nʦ_SE'%ED@S]qa_m?mY=bFc <+S V3xa66C+%-]TQָr"XiK1vP n;E|8dRMh:ďjy]mn՝,)Jbx(jvVgd &J6$WpBfD̎"E 3|wXG|GTp.9Ch۶ݱ6r>!«M>Z[ʼJ 7Jd#᪦Y.p0_Ksk!G8=%AS|zTA$UyIhV(FHJ Hj. T+u*8?`BQFV20MtdGO6=>ȅG5zmIQh)_B YSLJ5"3UO$?n9 1jTqi)?DF ư$8t(-JH=Ͼe*XδX٩+$-DV#%:m^Pa7UUTGR=:Eżt ,tG1LDTFJ` M'B(tTѸ)ZM1PG8o F;/zJS#dfuTIW:O%~\aGzs. Ie0kdE*>~oyCgNrd"zlw;>n eʪehI3ȹ1EAGDY Ma{ CٍUWg~^.n@>/Mҙl^,z UӚgajibbXrUg(G"p'wn|ݴ}fogj.75HV *뮐{./7(7h{itBH]X1 Y@ΣѫX*e4O&6H^ Rg5D*(j4Ee䖲ΦKI(5 TҼQd'/{q*VQm3CQc[қsK@j1brY/j sž*.ʬ/_`إY [XFЊP~X=6Rn3E,H0K*0RPWJ(8l J, ~j7kܕyyK&>'IMm0p}0ݺ C%ƃ'@P SCynuMbw9ڑrեzBDOdi&`S5]Y5SVTIUb$6: eD֬^&'R*Udy:2y,[Aޫ4635.ߩgfqFmI.򯕤Z7*W!c/R{(PAc'~]g:wԱmMíN@HK)˱nA@F?gMyծM l42Fd ]^`S{ E4Lh_0ךVB㞦aNF]&"Ue*poc[GUTqĴsU"3xaNKZ%U `>TKKگ.FDHCV@ʟ>|u9c²e0`Z`wSӥ&^NEJJȠ\lyx9y[zDP0vo#WFWQg2'sT&nXQVYcT"͡`5U\t/8"+֎GiP*a2NtO9|fG?uݠ:԰furfSBJ -Zӡ=tK̦.h SE4V=EqDžW5zzަ4X3JT}ckeg$jUbq8u0[M*Zj6OCe$d#X3F )N@@04Ѹ([vzq˥#wP98"U"$ffn8cSKZKxBާQ~Z\U7K9eF/w>G*@xjZ}:(-eUsAjzʴ}zSf*T,첹Jy&IS F 4Y;3@dXbR-`?3 ɏ<18&G@V-}VޒYXcd˚M5fY>òZbK$!n|"([j#~/>dnj)u JGݤdB\kq{m|U8Ưק,/@a OGdX<)w`53E %C=Ă8 LOKPSW}ttF?-^i"jz|UI[of`=* )U\K .dtSѢH"Q*@*> @sNqd >ޒt<d3Fh8 PĞ8\J j]:]^B![2qgI`MM-Ť 9xXQ' $ptԌ /0վ r[SK4)rVB@#KQduV ݷseX /x49ZZTi OHMH]~h,;kvm`f[M-;IiH0 Dz2) A\sg[u.Q_A 734p4lBdEjwzfSvJͻ%DVyjTCHZ>t-yjH5@(X|Gv.ɶC<|"$WSP]|:Sq1-lg ytE%t-lq(RJSv'@#Op9.xڮv3e0Ɋ2i*`^tr}{ۤWo Iu9 -wxmmA6j\2d6RК:S^%4O]4-!^踞vlM*DU"C$BBPW==z^ߣdBxR3]V-D4c,ͥa)6'SXqL-"P%8='.̦6imPG2^ҟϩWaݷ[]H(Ro5zVGR6i}0Ye%eG(ZؽP}1)NOBGW ~_+'54Qk3B,fzf**)u"a1 Aȭo%:oM hTQF55 ҄Mh_ G$qyb _f%h7Н:z5aс6M]~mWԜ֣>+|>{C%Yv|w ؚܴMJjJ,I#[zshglQy"N3r7wYslm/CMX{eۗ%<ky IEthj~/Tnm-蔟i?@PRf"sY&I2BA*mpNn`=H%PP)z^,3 lL#-4rl,l.mr;EneVz M Uf$W=[E%&Kfo6ߟ8e7}<+@'˅<ԌS8&.\\Pj|yqOttT#E@<ǵa0:,rk_Q QFE$T⺦* )G,O W"xx;}yQd!vjSEFJ Ub[Ŧܙ~]ml 5UCʦF$Z2 ^okǾ)گ#}DQK`]D6LC9SQi5Xէ8swC^inaE> A=uÝ+}.y'-Mx%$-6V"j:z<&_zo%j}À,qeB.6jtr$2d6Sa"GfPL1)=q[ϛO}˖#1FTs[K cd-Z3jKth6ql L6to $M:؝\ڞA_ n/kv1d!UYWu?d~^,Sh@PxRD3BwFw*}" C,PQG*˴4tTԴ$Qp[=b9Cc_v7ڛaZNҥVj̍* xRMz:zL6ݴSJlZ*\-rrÔ|Fr*Z%JhC4X"#j9m wB /@(s\}9}@|LeF* !Wlj)1i%!]TSZ˂f4Hj$B`c.p!v飰E,0gb1nZ IziO:i}>Un6nitcs(V2QÔ"*W$M!Zс[."Z-"p4=GH}CzJ|evS5*?35T"qCȲ*&:"HYd#DQe!EIi$R}zmSVʿ?QCifSgjnz,5tZ:\ʸT 8Ђ=:xoL=ՈpłLhZ2 YI]|#Nnk+WɃ*SUM-i?YFE! \[i$Өf.=xܒK@ZXP4X+{xeflڸ8GdWyj܃,r,,>Tv[]K#1Hw$s%u ZV#M)+_3՚t̹^'zQjjC"2Kj }*)爧qZqSnp jy:6x::VgX荪iXYKQ9ɘ_1:1QgCK7/0xy}7e흁 *uյKϊ!E&i ү,oBr%rgQξ>/XU(H2<갣:-׏Wu r-y "?BǓ;kvWGy|Ykڂ3^P=ܕ $6"Hͧz|U<|MHQđ"u m}cMK`OO,y ә XI"-4vf4ᕖe#a]"$)00!dMj/oȤ n#u(|?_zpmڨ鏂XyhY"P+;^=5%|5=[=7ceSEx視\$s]A/keb _T#JIdh"Q+U  z(yipWKe?TS OSI)z:`*WM}  ös&.ǻFw*R+_4F͛'owRZoxJxQk %H Rfal*Vnc0&c7,g~^=GRBf1SUKRK7RmזIvna(r *8R!,r+C^+f rXh@E0ȤբQ *t3.Kz5O9A=+tr!8 >?/>vc>*<~dK:a@uHPYv[m[ 5ƈбw )>]',vrM$JDFbHK^}rme!4Kf$ԾgzRT BG̜l&?qauPRJd11_ \Z{[\#1 dSAӪ[zfCWA$l41OK╢!xaظݳBHTè]BF <)=ި3 ڻZ" D!-"1 &q q+(+r:1L1-Al |GW2X:hquYF 5ٍ_-NF*EpkkX/b.nVBGql pI:NJPLE;DdVt줪ФTp;YAS$ \m\ڔy!L! 5!u Pb1 xrA09IS 8Q]ٓnZ9+$I |f3z4Xv`,P~ǒɶ%4 N",&~)%Sӕx~yhk{' ױn| IqXLPekX)2k[fy˶"?6W!ED,D)W>r /];&XjV*>C6cuuM]M..{E.\^^>;~U(hᩎUԒ(FhuWUZ\[=qcR)I"-C3}>LG%r=7k.4QT¤W0x|e 2*I< `*CaI'=N(6 $>~?>ċ+ty9[:ʥ*֪bLݫ?h4q2? Z`VO<%aua gAR[J`SeϾnm}[L"ۼ%b֯u%vլCA\ O-ۃ&٤gRvbg4l~N IUMX"zbu}Ⱦ^ۿ2nV: 2k ..c($Oofs-Jn-q೙AYǧU YumY$cijhrzSxG&p_q`RO =(jת\`=gw݃`9݋7mM!dDH E $cUN t3|ty1M]P Nj]'z]jUq,R"tɷqMUqPY+*%L+\5 GVCeh bkUG Tp$29h{ ~Q 4𵗇 !A3 |z.?{ۗAIM][TJ7% ,Q ӭ>lebNOq6ۤmq"y>OOwO[Ō ZPfeg"F),rd7 'p$bxC+""Z[(of8\Vcj) Rz]B:t, 4I$ $uC @ՐG j(Gf_7x>**#q44^_I*2Hq#%ڜH!xD*P)SdxEŚ5tR@K.c[{D {WOYI&"1Wdգ,(t-g7bS}ޘ*ozzu}%n'94s-qw'%ɼa=Ӽx^A-ĀS)RYl.] 7 uAH!H\He _ܝݔX_O MZEzis־dӽ8twuHQe蟷\߹m̜{7ZC"@%<2$+{*Kݽm>1{/{;^ߪY$ T=pMumfrU]#܃yTGvdijRSbw$ȱ:RKR7+"-q1f5XiwąrJH N48u]rt=8:Mنy|/h_8]:%Q[Rw.K[0uw<*Cs{.&-t]̱=MdI^d!9{7{-< 3m4\I-Vfi#U".3J$(Xxy*2ՐOQ%"h5(ky5FqF ns6Ϸ}>si}k7SWh/1TexE6O){7[FΩv$kv4 ˉṁDWw\nG:r PAaTyLσ6۔ bvIVgSg0ciw$as7,Mٻ ϸ6[<^B+m²Bmn.cMi$r[TU=V>r7r׵m6י {XvxndFq o*.܊Iv`d6aZ8VVWTWT櫅-U)oS@ ?L~wkOq=+m7K qY+L yG$FZ.Vʏ,<>\3;`n%{{n(а۴V4:E>y>.NXk(ɕdj :<Ɏ$j`jbF%@W1{yunU{VK/ ~P_@ש#u~{5oɻt|h6f)gmWwMlGbUrҰXP΃ꭽٛ{v6yir Wt1@ jZũU3)%cTsY[h7mro德pc͒X/ +4DagB'v~QK fk U]_߽f]ȑ-m dS^^s|Nm󗨡jjеd*تmQ(AuFϛos.'6rgX]v67]GM#fik I_Aӎoϲ">}s=&iM\^KBqBLO|csm-EqnerչfUCGTbe Zyv]}#tGw;x. ^2^rd76;m.3:,HHse8-LA''M)S-&#qV**V($ugL& gXi7jE훜.>a䊍)g4IS$EHk`ޜ{%goca6 $+K&*2OJ]ڝtNUar2/炚*f2S|1P5*G6sM tf W?.79=xf+:p)ǏBOei+m6IپaaZ( CKS:RITFdF問/gp#]I=Lb$eIZzqti;Nl{pմ9NqSs~@BЪ ҭ} og0Ji&akͺ?]rڅˏR2=Qչ鶞s {yfUH1FcRA}O^֛!Z8z OSlKiCDc=xGZw5T|v邮b&w\5pL ԎUI-?v.iϡ"?VƖn`ytlIGMUJeq*oL*J"JEֱ77^o3\igϥK{ڕrOx#ԏ:yl{wjVuC+iXj]P+^ՙ %6  I env}7h`ȼz'X?7)v-aĐrI4O1Q]$c_և5G5HoQ`CK/5C'C{;mc5oFS1'>|:ݺ4ItF=)_S^N FSt ȱō\#4l5)IF:/oOW u8tsDOzn9^1B q! T1xI+6 [j-Blı;Ĕ"7Ǜ_4em"I4eHlF(+Sw60mWp]k*ۺO$ bG0Ʊ6kzr}kc2SU̸ꌎꥧV67.~x66$t1[&4$ί9mR 6 Kۅj8v;(UUSSO,M1˱Tuͼx׼ϸ_I=̋#56mXkdWJ$ifv/S{6^َ%σ|`fRE+?U4-+j*r/URP*md3ud3˟EYjX`o 5HLD+w^뿒y[.B O`QYqY5h.>YYc)H̐ȏn׹\{[um':uaЩFw~_9m̶mx^HdYWHʐ| jv;zN ha9(s|M=)䩩OR0ј -ߘs<0gIbFZ%CF"|O0}Keu[w=鍽IB^ܘx>95{-_\ͻ$2[ O+ aѥW7}=.{gجJ[ ,?޹8i0nz巉)Ro m}>/cdvD[YvJd2KhTY\Y?wxټ7ܾ`vi}&_uڎ a1$ /B՟ NSf6s2 F o7ⱻSC[qȒP;J.źm~C%;kkvi [(W+Lu?M{Gu-5±--E3HQ`XFI)-⫧Hζ70˸,f˕UE=mlzlUv+$+ڞUJxR -?~W-m>_]YsNOYA,wq%P̚<892D a/ޟz:| ;Y6-ŜGnWrmR 崞 R8c]E8ZܘJrR1TͽeNFvd-&@%!J boim-n~U ZY-ڍ7mTGR&=U=*0oKc[,g#o"lSk.LB%Kyђ BtVuSA߭ޤyi~8 t5X,ZHSP+E;^!w0MìTVLØVejU"#"|r+.v=n^{I7徺t~Y ghAhL(,iXןrwfw=( ]nD[G>tV5%PP,7p۳ yFL3SYR|.h$g'd$F=Km2E ͟ sN'R.(sGz'%=%)zZJl8# w6}=q32S qJWr}/vgB  {;fPEFռ|Z c1Q(u-M!c /]5̥QEQi<|,Ecd- dW$">_mz2G8 (>,/a`V'>YDt 8YT8&AjT`qS,X"zFŖ 6#(=!7 >3jCHHEjj+Ӡ[͜g*D+rV q$cGT}ܳ2Y OQQ[S4yjUԻwz,"`% )ySgr%TMu9Gg8]e^ؙϓdg66"@4z%n YwNj0'꿔[.߽Q$sK&[r (v5NIyEqmZ@ϖ-ll@N?23_S+C]j5*Jbqv~jk.v GokxnAYYixԌDrLnP5U jFGAh^yeL( A &]i,`uPǭV~M-NYPþ5,-x ټ^vL}EO8 0V1Ř{&Vߛ6#%KyITiBGh <_O;2;p%yej H |XHrС_eH7rYSiAԌk@Ɗ|PU'Q@jA,[r.{xVx<D8^0h=u3Orߗ- ntcl!RW,w"ݠWə"!3]ۛ/b:6dUDCYSS T,S[³iP Oz9yⷽ㶍cVWw%4.dcZ.i?}~E|7{M+[9i淴-#*FI""Fy B'z3MP,.@TekP\?@?-, {RK):'TIP<~¿m;z7Xn4uY;aBE4̿j=:vO}-uV:7 F|z7~娍~C%бPhm zMعGp Ow;Ek[,qk^ݛ\:퐬\7W| Wnޛڕwu_gϼcLTgkMvC%-He$wh/=mvJ,+K(%%Nt~CP=9 {QNhi]7Xlm;2Mizh3+Y`M3엞nֻ-4q41^1pΫA@8"s\~m=]ǜR9ֲVh:b_ /0/FZ:+FF_rT'y#fV:P/s) |2YQK<QK|GxcA%=eaGDh̤J*!Xϲ Fg42ZZ`v3u'1…Ok E,[cn,KKZHa|,nx4E{{9Uk/j~"<}mKB,I ҹH=:QNd&Zf9L#2hxb o+M>_ˢ9nD_T$Z/}foIp5rT'w$ej,X|\:- ]0'iJ^[ U77eoP[ 5]G{W-]m9vnM썢$2x9 ɧT0A-26^(ٙWvaVaNjYƎWBrOq~J҇ˣs2]_e?-[mޟVUk{;i6B ّUյܔ (]x- sy,qۼ&ià"YABsa_|irKvjKVrd{p0?B &)?С8>]MCUY?i;-m˴$EfvfTΞRZ*"$E t=j={Ztaw6#gn X%fwNnE(8jbV6vZx_1Vz t&W5gc$tO>5dGZҀz"CK^Uu98FܘoR0I[_KfGoe W2OZ+XeIDm̛-=n]Mņj8u^l?5ڮm-C5T6\%L/$4hgB+ PG@rOY˴٪!t#rAa.,~oIa4GPΎ "p4 ^7<ٰXUqOT7'V6$Jd-LR0UJ 7IVH` >升=]bk/Zu<<2`LZPPU1={=.ٚbTX2] RCAFGS37> k,Vn@4'Ucnn{ɻ.:E{@MFCUk$'KZzS2%O"AzPN5ҽr+;GUCXBgBrFE#,}aP| }_Ğ܁ #s]ٻw:i.ؘIݘlq^z* yeBb_8h7^KIj 'ǝ:\"Qyߋȿ\~=XYH5C\~Y>Mlق[Kmn]5uN8d+7+o,lOK >BaONJ<}z,u,^>]헶hRnR˒6Z\\>W/D*!_,W g2(c1ѵ){2hgS#-]Um>F%[Rӕn Dn[$Eu ?HWk,4d;T]gH$vWyZ~ft!O (A_󗖊;kD*j@`yſZdOJڨ0$f9Ik^4zn {O{[ao4Y6o-J mgX#O IpȞ y{V&WI2V\yY*_yjKdl i€z}ˡ$K$ܵ6-c15#Nf'2nw]lσg5u9n;շKunAi8D>O-FtlᨬmѸ`<5SW.#*~ ؋9oWI4Kqy{m$MjI>ftHj*!Mi$RPeҶ:Xdep- RI7j/QB$n~ݺoB4ºEG^o7taώ{U@j34wle8̂gk`5$ "O,0QPOܳ@$Nu7&;HـW{{Gacj́u{F_2D{ dn- PR%,)"@҈%Y`fTe7<{;][։$.r{,W+tkp#P4"Mzsn&K hk(JܤuSIl~y^ӝ@)YA!F~mvҍp.Tj(}zhno}|m7A+CB|FLNPUv;{-F?eYuXEQ\iYGH-Pre<[L+fҤLCJebdwV\iw5b@)IP$$LlUXٹ:W؏q|jD!Ϩ&UF?BOaID~#5elz(;Wb~{qFٛw!jga-XbeɐWLb(Pc%aW>DzɈk xq? sNo?[{b~q*?mv?){E4"xgzW4%QJ?(E}F:כsVǝf8+$mR8:U)1d#g/ϻ34 A>}jUvܥ~Ws{sr&5{kd퇢x"IA@hg`ǑʛQ$qm W5A|ğ\5\$*iAH)J-4ν-{OgwdMJ;::\hXALf hGY7.yW{3Z+ BaU錬ԍW>:)B 4ԏ^T~};'^nnPWWȽEuf۽;8L]6K|^";Ej3Q#t>sucJvWwE 5ϧXcz!H/z("NHa=CX{W|Orw&"tTT>䢪a"&ڔsBJO@~T:/R& |82~ޗݥ:G:|oV=-Q8l qnlgKy (3pO(_M,p!#$Zuxaixj@<E |?2;jN`;kK[[vϣmb*^VJ_9-:L53h\~e,,@Gkk0PVA|Gϖx: >"|_3:pb65 ۫v,ߧcČ*QU[8 ᥅?\fI gR.h _\4:0ip[޽l}.G7J_==3j|6اi!@ 2K!"Ge ooefP*dɩ~]&br{ݟ^rϗn@iZEu (>y 2yv ̕VҋB$#'פKKF8-J!GՎNp!ӵd#UP/!ybI⇹Fէm%bOB.+Eբv:%18F"$VTW+P2 FIw =էij9&ȩ8}mgm*2S6{rtp%1QQQB,Y^np7y`+Bѩ I+|*|5Þt$?CQ'uΪg-k~VNCri= 89ۓ7 =e2 GMԇvSkpȷ-L\1̮ ,Yos,54@X8=6h‹$٨ϐDf \FK/3}@j,`Br(,}lMI}3<?QBIZ|-v֪erA3M\y?A$ \|>E*k6;mTi5=MnSK;(*z%=<ҙ|Cв3*k)` kT}c"c ??*}GK'Tѕnk4q}xF]LFM>UaPS@: pN랰vܐ[-pԽS5${v 䤯`0x hWyjbXՉ$^oMt!he(˗E&Oh%XҹϠvvŝ7cuR9Z*FݧC"T>W!_cN(51Q˂}oDA9WJYcijw)֞G]<ktWiv ۋ;}S<4 >C9XuJY5TK G$ EErݢeHI _\W 磥4[X֠$ D xr:U%HCB1Ct}%q%z+]$Ji.pIPWSGohS? HD|*?<Ǭ)]QCJF+ZÛEr{_xdY4:IƵ/ʀJƆZd-PL. $e[[ 8f*CJIڐ(Tg#ǭm$NH:\&^Qn":GAz.\d[! }%)%Z=KK$jN՘Riһ(Ѧa S>c48?BD2E_\VK1׬?M#qmCGGJ5ҀuX$Z_[SxBQ2[]ڌcN=(rYz(iK4xFX ]ynӴzlL>jfښJ$/Ci*1|"dhPooѶ*Jmë$}:;tul&ԅsCCJb,\\bݭw3wl}A֣#o9 qFO>}$!YVMڇwRW trzχ0;wVCOf䯚x;,LxHc YDtx |3Ӱ]kV8zcogBcf}Vخd6E{nTb3tjqd(n$4%W*]-gn@o2b*6|V=fBTkWz*jiY~B$r^i^KRڴP28Cu>R#!BG <㎊vJZWW,$+rܶ<(0j(CZBĒ.ƤğRx禳]W$@y[OiVU [w:A *qUB1(#AUx@M\?klH5hsX޲bq +j6ytxaK"9/ %nǨOQu~"5>_ˤ/=MWzӀ(eGWRy rP"e:Bp?{+MGK=% ~ޢ1V2) OmuURRs* -UxxҸmRG*Ҡ tOGN&O- *  =?ŴfZ4oE2|?3|\Q4އ,Hu?o[/wvoso{Z|-H`>CJEGC^Gf&];m }2zc"~gYǻ}Q\% 6:(EƑ?)&(sAӿNPP7':{8mO0 .Jd3Rc<l}@!KGƐ~~]rZũeV LnG.M+>}Y`6j3_K2(آji9=YKGXˍ@RaC^wvk[T`8,/$_Q|cр`x%NEd[_aE~crb[qz 7_W=*ijxdA;2FQU'Fn}EZ>ʁ'WK3z(-96z:Ӊy#򄪕8HETOѧ }-mFVON u?xCpX*\酔 4UOiJR5 =j=Q{sٝA6?=̓?hi7WTtoXObCtY]kFœ}+A?hT}(:da*+#qcN*g Nc++$UcCm+׉81C_^=j8\7ԣW[eJF9DSF@.M{Bp~_>2߄ 1 ,<OE!w$A"B,GFAywm $ؒYtn5ӟ4,c!B'S,cz,y}3UjI:>|izGyQI}H]c?Oz^=zV6 \y$HSpIp:ܭ}QN Oj;5caKf ]e=jgxl4A!Ʈ"ĵ`Yw-K g1O^9+=– +g^.=ﭘ8xHO+Di/j [HD o-?_m_oǮ'#Q̲ƜvUGi&FOeKH!;ʡ}5OXmuu髳59XVOTR.vx*"řC/!w o+Zp z׮ommR 4SwVHtnK_> W<@iCD*_!M{4ydO/ɵZdӪgϤ\fǿ3[s(*)U۟/G¤!]JIU95@O~7m !cƴjp:st;MynX31+U7Mmڛ gg|XmVI)UbR`$p}uͪ+ۄtXc$0A ׮P ӿ,8[TO [XVN:X"~1TW;ATq9! a&,op}h'WF>.ٗf (Z{:O{=h7\ ڻv`2Yr n^ Ãێ6mV@sUOfvyRE@-浨p>oo-@Iɮ4sZ-Kjs(|vm6˞WM{F'.v ie#MAnG;ĺKk R2GJ9u;@Ϩ(V z%3h~ saefw7p UUEQy *"-l$tupTlC Ja%%Xԃ}6Y<կ0?}fVz[لCy(;GޓVPQjHIK;roH$nD)>*ލ5 ^= `^+-spS@rOOLtcy.E^s%1+J\tfU5#PlA8 o:$,O?/$U" GiO#ͽ$u-@m4x1hEGZuBeIcޥbd39fEͯ٣kr8S_LtM;,2]uH_2K ҃2Q_> #I"0u 3T`- UIo1ҸmC(Wj?k;^x9-R֊jq??>/'_|/{qcգ)ZϨw~I_.zzS_ݏm/Mu|6nmJ'ͣV#Y| cVʜ|/hC>/S_ooN>Ý)ZN&iZb?OAor?{XC}thCĽGro?U1Jj7Wt}FZF|JUz$j=_Ǽ?j;k?5}-ǼrO=>ƾZ_gY˷E SrS?n?~jk-_uw~WMUxOsn?):w;OqWO*/O> [ZmU#SwOi^붿K+z}Z~ V_/xtU+_O4ΔbxuPϿ>_y[~55ϯ}ŧ%:}:oowt|ˍi?!~+G]wk>|:иipʞo-m\Žaj8>'|>4W|G}}ɥ4}ϊ[U>6٧=FۇP詮RtޭrߞדFvӨy