// 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 ?:8SJC-,/ͽC7Կn?e?ү}RESz#m sh'd$z2ȪБG=/lGKk{n?jzjx ;G_(bv9?ϧ-܏˥jS6=v;tSقC$](l_#x_ues6Nb-P@'K׮b۸h: :ݙ`T,} i4[ܶPؖPZRy5@K2p#6gQYW퍗rTO#Wr9Zqx\ K%FS?TEKAI<"(<%ť341Ћjt#6wiw e7dg`P>V>}f,~ ]αS\>ؤ\v5ղJI^L6IѴwy8r]ѽԛz)({~ER6vH@bئjp>tgܻ7wlݹNJx38s4woEO~Oijr:BǗCaӤ/2$ۧ6MFjyRR(SyRdUG/HpUxc)f?wXpFZCb^N#y{ă;k5E:[v`vf^̫<08esBɶ#}Q$7A`El/}7 !tnB}xٵѦj WNam@nɶ#fv+nl汙ݻGiW-= v*Qƶ7rZL:OGSIYHZdAn_/m+_,xo# ?.3wݣyVA6eb>Ev4SV/z̻^|f 7o,m~vۛAfJONc5r(}x~# PXE4ٵ3_jl.b+_ˢk+(igIB" A+ =leR#ˉĮBFޙDm^jy0W :^dJ_!e#$E$)jx^zyX. <>냤lM`rA67}rGV_ۏyOcE"{ C]T< >V@XK9#4?jJ?tAfyaٵǐg?[%O:<"~7G@U< Sa$[UZK)'9u1 ծ Ɣz)ݙxMxܼy$&Zʂcb%I7o|*?Bc]拘'V|VUҲ:}W9J|]bxR7DpjOnͪ mG^@Et{*OzԞcX&#5EF69>7cLzY]R**맨=r7Fxf5IiG'َ$SK.*uj$M VQIJT"8tlObw赿䚿o޵,C j O#* }+4gOBNv3 _M>v7AmljWF&hUhCT)aC<Gg`-D)靲 èuR]oA _vvfZVb'9'V\$j,NWl鳷@A20.P.@d}?>V6n 6GGlcR,ovd067Mf斷!h)i GYejYd ud_s,9f;VkO}c/3M% .خ~\?#rY<}b\mBHd:FL+Ԓ-Ǵ5œo|IFO'GX^D6DXVꈱoym͹ZV4@JʑD)f'G9: BXA逍W"s0t733  HdkEV6;zRW4ZgnULO"{KY/Xϕ +d]g|>ZBpK5ƒ>X4M޽mbTQK CQTRBeJMJ5^ Զix|13Pң+<}-GxUឌo[n\N^(j$eɵdqK!JHT>-`ʭJV{!u߂Z 4RDf* {nɶ\*it^^l3+D”tw>:[&UrO/M~:hTƞ<״Hc㦷(?|8?/|OH*7M,/,8mHd&8+xw*U)])2Bi_߁=w/; r8ʜV{nA_U)E,MvK^ϱ>uX㻻H?S-8h2ݣ9A:;R+䷮;_Sþc RQT&e:lM:x gRq?ʻm3h 5juЊzS$2:s}ٛiդ\e>-L,ZBYnE" R36\\~\^+o uٛ3,m+w.1(^XhQTᢨE҂~fWN=ĺ9iN;e{݌E]$Pg''cMv~\.SOY\}JH1± f̽}+;!8yu {2 4=r *|~J]KC+$jx[ȳid>}FSOBNv%YUEkю|9yL{ksMjQR\nvVjFZ q|vFk8qɧdPq:ri/m ~umdv>!**1QOG[Q5D[l-l@J2$qB@FnGH<8ΤA7W#24>UaA &;h[ט}ejSf\|S,4_f7Ip"l {nu!K yҕwwQMGf7̶'23(3 1,ʈc cU"گj#u˻[':\ADx)dR>+3TG"Tr,R,4'.̗bm7}ө6Vnlu4P. ͮ*WͶ:AGJ*YMD[_W$b"m]TI@rkO'0O.⩥I'dP\UQu Qܨa`}#ܛs*VGvtb1[jmf.O 90(y5aPNM:vܭ2Lb+T֝UG5 xS6// + mdC(Э"qȷy")#_GI.j &x>:z0@5DM)&D?:mfB }~Ώ-yrvx27.=YMP9*8 ӯΑL_!(Kܣ4y=yN)>po.5 mg066K,mUg FK3s&%Eu<>E' ʲ"e6*,ygV{ݙ A+"\z=-4 dY ?@QM2ycfpM~]O"LgϥɹPAA8W4㏶dV;jE|E]JQ+r$1 dd)0z{|lm[~TOYug (7b%BBXLʟPi?hq>71m0>P|Kw|zdY)]n1?eL;nϚLyʜMU5MdFE*hd jw7Hf'??B:m4p 8ڣyuiE oxU(0rmr(vfn-Wu0VfF -,KY>8$WH?owk]~F$|8KXvsSsfht2|d<  "Ϲߟ:ǟqNwޝRe1'wMQ+hT4PaCJУa^jB)kQ]k:7n|~;{[ݕ׹;#"" =Nd\dRcwriHɎα]$nrGOXO- =m۸k՛Crm`6LjZi\6scVHk[yb+bIoS5PCwƯ?1.ݏ m)jjA)Zw D8Hb7G?BI%zAUwm P y#{E' ;[| 1ۻ0yHjٹj I:8?܌մo,򳫵>\B#݃i$Tx:){x/?_w\taeUvݨ[WFrԴJc ޮO m-wIԯA]~vef̅J&,}[Zl<7i鶝Vڛ!q}{tQTՏ`I K-4,磭vT|{2|6O3&-_UTۓ{~=)$q3(F[`}]?y)ߐ/ا?ҴI|n.bO}Ǚ럍ۃvu>*=e, :-OH$zL;-ZdX֮V!mK{.fG)_\<@w:^%cy~}ݕݽ ՙ}kY*̮fgϪǪTXH6#=KsQ~`-=X>dM2jM"hnҢX՛{}RDTR; m:bq(Z],}ڽGY8JUXː$ܡط[Hc< jՕڴ2Ʀ*?On[=>mr%N'3j`|gQ뻋A]38VAcaOTȍ#Cv"_rW1eva!l6a17Tzq}rY|M#[U_RSr|N%}>]GeH\NO.Bcik)D$uTJJN V=.^ 1ƽ_sX t,&U㶵],Ś9jJIx$mrN͹ X=Zz[~Jݵ ><3L->|8Ȁjk^ݱ׵P5*:h DXa0)|'Gd'}mf3d9:o2@DruFWr֫nŻ1zz ZJ嫥LQ): qVSA&[DY8 ӏKN>7pSzoie1黲53ět%h?Yg(c`b@4ܫԢ:>Yo*r&=ɨȠ E2l ?d\뭩e[>&,F)?biYz(&Mii[eWQ ”/QrђٕYW? }k[eP~n<;g.r: U+Iu;QDRzZ)I_GSH4?XG2RyV)C7Կ'p7 M])p{t9Ʋj|#]S DA4 #9m5 m^Ḫ4 Gbwډ+ RNA>T:^̿/QWt}!zpͅB~|U-S˳}Ɛš-+ogdx"tW6r/gQ2OA|GA@$迌}sV{{%n*iGvғ#MN:!&4}FuVb>טwk=&ؚ RWϣ΢(IԚ?p_WH풶 <>; Zt84&GSmJO6.1ExhCTV1Lț:fR5AR>UGt](;m߇'0$YDVSƱ=UylH:A{*mC, 2)C_}:E*bԨ8U-K( Aa鶣se$z}ښ@ZyWcA+Sԉ>rnj}˅|JZs62jcivޚ!wwaWSjH#wXj F5xCr>l M)O}oXvIdӀISa>zֶ4>Kd3Ay[h2Horn[K!MGP~Bt?!{ {-6,ܙɒֱhJJ)喚@f_xW~䡏nωZ.6n%TvOո:̟(-gl1}&855r߼5oin,6aP\>qKUi8yf|em#*T]_n69Mˏ#.9GGFdx␇w l5Z|}П7uIk,2ƥM@u61RLp_1ƾT#ΰomI_fJ!te杀H6tE 5:vGb{; ܅Cq z[W#=xcp5?>=HқwTχm:ӬzHfbCX@??^}d[ҡ7Oz"4ps8wRC hL76mSX}U#Y߶Ez~O玩Wq_6l/Ó޸QrTWcqiљwЦ2luҟmiYݙ y,C-Nrn}Tj>Ƭk[Hd|^n#'WMȁT?'tk;!!r0R7`o2 QS,[xuG6*)cs퓛`zp:#m#Ԡӆ>A컏vcİR)X+4* ʭ$o#}P``uS<)n3]I%=OJSMsǏI/Yp|m˟0Sɘ,̫IB52`CJ=S],Z&U]qiJ}:5:kou|>9 랚lu>"}zt<25:cܒM\;IH\}D̑޲ۨ,L;&]I.AWO%_oM[۰qxdJj܍欥xUcȤ O%E/sΰK}@h[_/.mۿ Ȣ q| arb#WSmFA;=GfcA%KKYMUj`yM?oIa7RΓͷEPt M\2LFQv}7>%KӦi0kQIoqM^1lSs½mٽݫM7O?XMi@*Q\4O}=ye]s;Fukwi4#d΄OCJP0s!{)Vfvɦ;[O*-\JV$CB,ټjswM61oQiͿIRN3¾^gD .s;7EKM0Mɫaw" ;!YS6-K[^:*!Y#Bx }_s6ieoUuNjzUYKKC6fS&js=q *.JocM7>b1Ⱥb'SvPME}katVYvTբr$oZMٌO1|,}ƺ{9 ]lq[ɨzȋ;Oc͈Y`\vjN1c;2)p]OS "Ey>ÖLf(]ͨbKkKD8-LSLnۘ?]Ǥݔ-OuM͍+8Uy2E(ak۵^qMv505z9yn׶X$ ?UQ֧ٽ/nao{ĹnfJ[_L{?qAJy'|-@w?N_C±P-#Elt5{+:g#[rl ?*<؊4ED I^V&aM٢},> Iok bGppGb|Yؾ|jэɾNziS}QA6Z՞1]S'Et"X/>k=ݾp;Y0x^'? ˰zeopŶ{?s.Q⎖nYx+M0½jkיf{BCZOD/qjn;mbtk{bQ6#Sehr>7+Q$LӁzK$PoҨtgfwYɳ#rz_?, z*IY$nwm5W:1vITGBvq+h"75,!x\$fH?44wiqnec'?Ni !/[^iPbT)f[,IdzDf{sf L2>_ꟺĢp AJ,FQcRW;&,;z=p?'`N7#ǗC6 4M+ n_v{c_I1{ ȟG_ 6m[\ўjn}ÉOz[ln yq31@?9fmȥ)SL?9YoDsKO49=XkuFcÞBGf^@5I 1)#s#ޛ3tuH>bU{acr ݿqy4U;2%-f3dMlrF⁦6b'`Țe#IqPsC\ɼR{yhx$#~?^6G^\m.O#1gC< d_:f#M4/1*[4?U\h*AZ#z, ~`?:SoIso l]49\c0Q'̄QTQEs;e}IF L !w@Z/8p;gmXՂ**__RaU;:vCKVH;6YZo;h愚g~]ewI;6[m ^jFiU,@'<ύ!Em~Ƨ||Fw>ic l Pgdz7ݵt(̔vA .j䞤c?Ly ߰'^}l}1jЯ$Z+ '1#!@;/Ͽ2{v Kekb2 fVclzJFg\n79ъԁ?gN9}=8 wTgm 7 TWz_}gpJIp6gۦG%o]oQ76ngTX )Id^CNCcq>c"DY_zK#[1i]$SR|;u^us>&iֵ}*a݄ 9E->VZ?K<{6/7ەvYuz4;og纋nۥWMUGv-Zfm=U;ør6hel~&Ucd[=Y-U'j~ނ/o|h"Pxzצ ʡ+Fry1}&gz+c: KQdNѪ!H:I@=]@Tu#z>Leۚ\7g Y4I7s">f#4;)jV:ҡ϶۷sJ?QJh]j|`tT墔FQ"QJ4N-imEGW KUקx8P̾ ON6&t\=F#0e4iޞBFָ%'_Tthc١c Z#+SQăS<0kTΖ8NmѶM$#ZHLRătRJ;kwSpuя>~V쥊Y4KA0MG*i aePMT,@/>KLSҫmĢ#<ƃ:-,X}9ػO O1SKYثEc b6YՒa?+ORZ28_eeSҔwY)@PxğNsHer/+v2?NLLJR)"h1>h%]H_6V-EyPb8^lW;L)vFo:զwD 1;^Dvǥ[WG o/=DxNvjV+%3-i  h՘`'Y,VVOO/N 9SXK=W~['vՙm=|iq m1]%NR )Sө&:I)[)x3rVlozyK,nؚq5߫&*g涴K_;bSigۇ(>UUpG6Ȯ8J @neC7T _u_LOi\4XMtO7h:FzT7(2p2X&X m"!J.xi_k"Dtf~CN? ׽~y 7>Wfdv6\v#HYSZRfa2VmH+g4b<5;+l-͕ ;,ge۹`I32TU-znH 6ݓjP7B[H*>3%[yV&;XTR?f*P5ּ َ1i6>U]>ޛ=gceeNO(bo;EM"Q ez׿öă.4A}'b3uE L*YD)1yjB0h:)ݫ? ]+6^Xѳs vYE)WL&ex$GdVGqk֔AitTޟʟoSo\UK.lxՌBCQP?Ioǰq )S^5uYˣ[=U8mNТ9=ۛb1&eVCIPJ -Z젿~>b X?ZӇ6V+O?n>=sl~f9XeSNYDHj"j,TSSENa9^~Y&UMqR:NvdҤJB0kqOImvG;Qajy=: 4)C թ1<h N"Ӣy5TfqViAm߉xX-6mj|SkY+ޥ8J* Tiv{[|қtub*̆&JrK5d4(ΪDQR{Zs-dE#S'6kT 23o,>7n]IrXڼoDlV**P4aȸ atkⲅ^ ow6A8k3ouŞv_|jݩ{[gͯv+j5r/Icz|R=I]ڥЖeٳ-ıP=ߺ6H~gD{ƶjl^e`q}wcz9"d0,4a)R\aD{kjûsbWLiafH o ,}gǽ^j꺜̟{Y&iޅ鼔drHO2cFD vFߩtq;ݯ~y˚}SiPڃz+J|.[m-nE=iۋZe?EpKV>hS/^[v N֟oRօ-6F@AjPP<Dky'jv v^.1[׵2 82U#{GŒ ܌dR8q$e7?%m)kkDuT %9&yo7\owm WU+L`s7F|o2 ܛGwmKI٘wc :_fjy()'KyU1nFMXp&|z m?BO}e0 ]ܩ#yJ(K=TT3f(]'*2iFK *} kTCE^_f9l-ݑ ^f-"=YW!ݘl\Un2Jzk֚ZEtJ\75&FҠG|l-/5tNOnyR5Դ`憣pϷrr:fhh!!pdҬU}wZm")xtJ+ieg/Sr൅ǵ;D*5)tG4Rs%40RJ INV "nߒ͚wCLtA! 7uV띛2n,D' )0e+O$4m;d }GbNiˡ>pPegَ=!p]m-};Kp M簻>4ˊy4kU)[{;ncSPAϣmZHiGZ-I=1M+3NpÌǸhHFR+Uݮ[KȤmënW;{kr& M1=g*09>LY|>mh׳~TnXbZlUtܘօKAH$+@~+䭽0\֞oE-;2H*9,}1R!D*< oϸ48OͪO&+àΧbA (6Rߟf\j2bh>IHun>4?N W%D-F!4w 6)w6IxZ;b[}jJ𤦴Pq+AmS<2$RjG k?~A~:oʁ:~UoݏjfuSx KRa ~DQ"s.<[rXJ|84ޭby#wN4|h4y|^zeu FEUY0u2nj1]Ӊ権t1DH w{Oo|zW~K̯ekmJw.}s7 %p]{1ۗfԾ˃ n)h2*kE-#SbEDZ*CB.^mPj=ʹ=~ۘN|s׹fNg'$sTUufh|o#+I ULycv>} kKۏUN:Gtwí>(v,X];#dVnş8\5  O$m*ݴ޶ <9 WC)hT<>I~YTJTG6<%W+O Lf9JAr77)P*"^ {22FterQտ5<ÞOJ:|u,G<EP/Pôy|^ YX,c`Ptzf6xjᎲhR,2D8 H܂z#k9KRT~ٚydI;?B|3&nԛ-V:߽G σiW5]J W}b uV$ WCÉTix͹Ltۚ,.LjaVoZo[Q$ =ljIcgDcHAv<eF(1Ngw0XRz9Ž][w>߻_9:RSe)EZf`eIP7I}&$Ȧ?oG A˒\v#ZouǺCqMHo[LgMQi%4Ǯ5VҠ>mIcXi=w;{clH%5U{ W;g3XJxxUIQZ)M,r, ̒Gqk{{kp^]I{{q(mN898 QA‡sM?u!]/_7e )1nde]9(XU|_bH帚i(ta,H)?~-IWί$mV<%Yֿ.9ơ:BeyrJRE$ 0I j25hkBx%^3%MwĨ ;md4 W +B?fz}⠦ 5xO4%mbR9=W~y<,ivVz Nmn 4' $x(喢TL%6Ƥmq~}gk\DDu'yИ~ Rni(&^:: 1 9 jL] >jj}%5~Kξo{kࢸA5q)}Ogݦ'8MkM+-{zMoѴ;;rc^No<U# N|o+<+)(Lb~rZ2{da%S6d۴qtG)ҫ_J&e,㾸LG>f8mA4<+@*zvgfɁ}kXݦlBQd$K8 {gKQ/G*Il.*KR WCgiZ[G\|zǶvicWm㚛%jvFi`fUQPY2D_9|WLkr gEm5DAfĤbft7o6`e&+**8)c+EK $YI r?ev G{]3,g|$KOrcح 1R@dޣEwtPPf8-2Hݹ&ѧ8 ?]-Ż]eoϣ(=2_TGOPA bFG+qor;2ùʆ$1Qطiʵ5v8<4cMM))D#}i7mĎjhG=F\ϛD5խ!H0@A){u>y)[[;cGTb ؑm5't<6C2P~!rݖjJߙ VE4)H+ݩ,|I$Aev%Z68m"5Q<{{ =A?0QQG5q"BUB|QSr577ݶ6d@OF\̛^R^?Ӓ Zyul8>z|}^ޛOcM׳mlmF. 59⬲oϰѴ2Mx}e.OJQ[q:2SRRJrKLimmP$,A #9}zQ6GeX?I*OK'x!P8O3қ٪wܧBC>V,E>s K-E_W-qN:nqv>iBJ'yT<(PY&VFl`؈Q JzҜ`z0jjcXd.yG/֋q*j"[sw inK?~J|T);ܝaɜ)vě~)EmY"Pq3NQ@$>Xǰ5r6[~6PWȃ<2 9[vHBjKvV5dor|/9Qn0*nuߴS9:|~' o)HV5W.#e,zX(X*M:[5躉 ,gp=W&S@J;mznnt}f 6;14%L9H2HEso|ʑ}$1Fn5iOSiicdV9ԃJc_mſ1;PuvGpn|&ٻ+z͗÷ 9jZej$A5{5N^yb]Wm[IoD΋h)I!EΤpuV|jb )-Ǵ/>l폴3IڲdYQQ>&@TH7h7G _S>@@:snvYHPM)VMkV8>"Uuj_ݧ;2}w \. b-~vM3QCN%U[*s߷lD%5M)ZzңuNSDQ ۓϕvEn w: wrnͩ3Օ5&B- ]^Z\>:$Ts{tr;+\ԙ'&A}[IcAWx㢏=} Lʨ޵{FpKK:oMژW6̥EߗrIUo#W^Y S5k>ު˰?G;z^n|\?,)֔zd)'(ЩQ2[}=EޟEW<{)@:<Z-"-l)@5jW_'? M3۫pT5T9fywLM 1{'/O0d;glJLɡj(pAPԟ}YP+J^NWds9-Ý;9ɳ O,Cz|%aY[ ۖvk$H41ZQA5}b)mW-qۂ@uɭG>{GmI{ H{ݗ[$mIJ;ᙢG*@ 8v*;biCf㗷D渶nu-RQYOE+ ƶi@ [{BɧA 5kƬO.isOFUG5viђX<}}oKi *Wϩ۫)JVKUP\PO:\쯃]ͷzku&~uP3mgA]Yu٣XKR1"4D\xN[$pt&#tTV 㥍*B.FZjxCI,{Kvj&89Y.7I!`eV ce2Tfx\ne+̵0;( fGc"21ܡ=Uש- ڸL5455uQƚz\M5DՆY&-VV?G\-m´:ġ4eJMv?Q"Gei 4ɾ%PGN]#QvtNT8=4[nR cr  >9ŠJ.hדBOW՛jdAUERҒct!l>>^pü}z76ɑ\ˡql)bm:#J+Zzu[ԇy %OwxQ\WvKSB:.gU@I>.|;]m3X/who=E/Jl|8+nc$*cGBY4PIMQ)T x =?o⻷f鶬K=S㶝N5ERj8}KAMi&UyyV NO|(pPPՍQW!EMO=*%-5,LQF7DŽ޷SԲYJ2꯷WuG]{ҧ' auzJ|YVP=+Ǫdn>Y0lm8]A7NG+ⱛj<&JT~|ʻ'y0-蠐E(jH~s9kSõ֣&@:!cB>2nmۣ?\oe)롫z]mBQa6[˛1:UDxf~F=;i,]URVEMq~:Fϗp31"5D$rĢK`` p*y0O3C=|LvУ- `pU1wmY]ŗBbKGNfe:,ueo1 |qqE{=[0*뤀()ʧ" araO~o,QQu7e*޺ HNj n3,}t5>!gD)tZS5mےLW)Dx#u /rB-쩬Wq=6"T`7#nʳ.ԯ}8~Z^x%BR}uee;#=ϸwoeS?^pSS#2C#0HR0:vȾ#|<rG]1M>uW#%ܶRqʚ\FS?ы|Uؚ@x"Z8$~)v׬OnvKv]0Ȫ 899"];{g{)٭x4Rgis3X@c7cϚ^/5p:k2t jdG)f8Εw%y#ٹ]WtiA!{싶]ĺXvP:T,&DpM<oFb=̲It/b]?wuggdpa6?i 4ic(d* b^oPp5W>yTH'K/%mTUOiA ܘ<GNۋoeG)9+v!Kw55[?DuL;K1 y7$h3lV;%FTtSSOH~AuX F&׷mK )E:[&<ɦB|8}sV&&LULȱWRa1-2d䁪lWU~ͭHptDQR_Խ|%M[]U:O,1eh=E|ȏI_Ѣ }h=D=gj6;m^䣨:ʭØkY:>*:ZJ3:[62A C>u%aw&/T-c{\ ~?7x3+׬ RZDnX>m3 N(XwY77$O㏯Q:nf`Ck, qp?{Vz*H-~DϨoXH7ۉ/wuqdpULUG' s G `SI+$`G p~7 EÈgI)~?:8x Vm5v[>M^l8?-k[Y'n%nn P*?k[m$a1T*::)w'ޯ{!-g.!i{3=WfWҴ#YVb DKkknT5 LMW +oBZ\D 3^$R5}[ K5Zck,qx ֆϭ4u/>=m]6r o<Y{E.ZI2QLE=,@bruqN1#S: Tk:i_EM4Rbb$xڣpc!fPOb%Dm2 N =OBK *5y$kX1mT4>hL3U?rYM$IY#۵"~/okIϠWxYRA1_ˍ}z4:ׯ8r p`m*b ՚(*w%j)~xf2) .CS>+͚8eeB&Oyl=j-W _ä \qq\d@]")?y,/o*Wӊ5U_7.?M#ԸbzRbr#@7ֱ9* zžtn>Gpz&t0KԮ.J֦URT)$K鵾{oEeE 13if,tGϏDYӯڟ{¸>|g??ҟFowg/G<ؓmԯ=?វ_+ڞ_Tx7|_?O&m_7?Çӄm)/Fszu{3^=TϦ<5kWw{p?gVO} ~vOC_ΏΛ}>3Z=.g}Vߦ[|#ӤsMk~5{cc2帽M-7uA]>kI&~O~<:ImkGPۉ8+?)?_O_ŪK-xӏU j{)}gmoWW?u}O<+οOE溚Ҝ:eUjk?o{G-WMCiѢ|kQ¾|8_/_^'oמ?Sūw!J/zG7[6BοwFSO!9k+fA~un)__+{?}Mj_-g^gG58lUx+^"3]W?/o67'^%w]˾֯JWס~,Ӎ+xá׽?TO:?KGj_?us쿊?7|:rOql[.xZo yu3{Ŀ}~g>-M?s?MتӍ4i[{~-ne_|>O趯Nb ?N=Diz3+o?aAN=?7~ϫOoOƾ }_J_ܟߏ/7L~?.Ǐ5W]tס}x\kï