// 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 ?xLE}Doeq߶t)SY;0}59uHOz[ҼBd>±/ny76V@'Џuo?XNܲq}FA7w_:j?oQd@5_o? w?g1 f`4{جnP*<:2omUэ}TWlgn ]FE!LjpV#K)";Rk`fM) ,5k-EJ*AY[$~{q$-K4>JiѤw{3k]T65|rQYdŅ-}ˆP7[n5GoMkoiR=_F77749={;:Tn=U;3ܯ`؉Kkf-$q=G0l7K(8S'烎o&(2  'V1D)hq-==B2op`|(O#oP>R>^^ ]-cmߘ9k75%%$4fżxJ{Ua)[2rZfY0#7|ޯ[7dQGԛ7&3 :H'[tH͋49mݲpXVT*W0*b9S{2F-JjU>}}}ߵ‰0uY -x@)L4ꇳ4x3^J TxYQ$A+$n.Loǹ I8LtTˁOٌKIMf>,}M5"y mE>[hT}4|FTo^bA-FNcS]W3H}nN5u#m>@qǯNkiXW1iS/,X2Y3q}uQ1E3ΠL62П'\.:l!t׆&vMi[CXX[sAfzњDNjSU?(ΐJߓc&\6 _>]7F*ۏ?MPRG ?OKqB^>^XZ١+W V#Sj5"Q0R1׵p"S`8Ԁ>}͵?UO7.8m#ZbA6?Qspۋ,aquQ!Mc'@C->%xOze_߃ry]Dr=@W4GZ+ϮʁaŷIc-4up4i3a(}A-P\֊ϮZrl?NߖXZ4s^d0M`AaP?@~6Pt_[,\">~zmc^jZ]p25:ttBU()h\O ,S4T2k`Iयm~Ur410ד÷@ƽVZj,mvg9.b\gFM48v"EkQQ)3;ZmW_ 3GҤS5$3̭ثY%}FX|8zgcUS-7YQV }xi*ĆIS+z#Qh4NGJj"acp Q`X0 oغ $#|] O@.}QWIl4@TTPGN(f3~uTּ>ʞrx6n!UT:Rҵ<J123",vI)@H:iƝFۣ-y+@*+G)d{`bRcYʖSW8Z;x<acs+>w ) psE&?T(Pr>XSߐe>E#wPŤRYPJRZ;# g]lsR8th]4-TYZ+$4t gU:`>ހ6V?.P0O*o n?Q," a̧zYA;$WeGޒo٨^OpQ\*\O Ϸَ=G۞jV+@QU&\X\zeQN2B{ΖS\wSqI #>]DtE-k'O'onQ;R}+Qr7$-qP+ACU_ˮ_w#;K'/c>qkj]l0RoD$LnU1ݗjD T}ާt,/fz}<ǹrËb~ӟ`Z>޶$za![I6so}o^idJzuS2l[@'/o{SAĕug=tExaJoU\6Gcl)uzu"n\#R$rlC{uQWի~yuk*vRXr?ؑY{A99_+hYqPz$t)'J zv ff<@#bVd׆ zt[oK1Ҥ0ϩ%c_|'LmR[I"lD =J ͈wgMS^p~}7m qP~L/1IGQ9iAAKS8TR7$ЊP rs&gԤi\:{luBƯR)=E{9 ZG٬JdZjjEQ_Rbg3IM^X %yU?|tZ)i ":M;gsf0 ii,4m,!MO{?M[kfT8)\,j"MAǟ:b|$cm^Jѷi0y#lz$D 4//]ɶ_wLj,yN5z(78Mmq(1O,Uw/j\e7n/l]꜖Ghm<%44giI%[%֚#HEwd6*h<~gsL :R"2}(3ySYJj ںZ3E5E,M(),2VEKiaIQq@lE!1M$ʯCU ?P_ޒU<2pE1ӓd1PO~\iJ P&%A ۊXm@/ig'R QMm=ҽ0(EB[Pn=E_m#ŇGhSVohs@ #mК꤯]oV&K}BA{("܏j6S_o[ p!ͿL E[mIE ~}qrsnXl&?ۿO=zJ:wZp"ss}'}lqY0)TI[>\{umP!Y29Zp#׋!`E Q{/ DOk  >Sf?E,I"EǷZg_M,j8SP*fP:#¤`Wzlky֫fZc"&$QY 7ɦhؖVOaJ A]]ܙ>g3 9jqx|B(jW>"#OOPQ>2ᬀ{{>%T G<(>=en.cL V Ot}S%&;-FO(?i)Kh]^!fŦAU=I,(U M+?TRGOu&j(b=`>!:\ 0-ZL/ytiyg+Hx@J-aܔu%tܗ,tA'ʨ <:ᒞs2gX4S5%i>o`"@@uétq[읩j)ܙJ* ܥ~S(&d).R$ɻ$HeSL|ЉbîMEs~޵ue ug{ %?2*}*⪩3b@ɞe&Zrh[)Dmn=y#6^~5qh56Dk@Ҿ=OZo 6FV|{gfxnE~d1`ic ֺ .6_4*1Ж63')^R%د#tľS:5MtcE?An*@߇=&7p)5ei\R>b}Š: quw{n.! ⇯i 79%KA}l`Bhxx^qxF5ے AYRjBӮ㣰D>ĨYjaG's{{%'w]h#]p)?S ^g(PN^d7ʨe2IGNrɄ<`1ҟ@n}u @ZP)竣ڽ)q<8uYF֤~cjTjp,>+ GUe/j6z,w$?a v>غsgi%SO]`5U7Ċлԣmţ@`5*SLۍZĕʽ5}Y֒uJz  z@]zIб@+ŽGEC9ֆƝ2槕` [P7 Z^_woq2؟U #kVק8\ &+YPaVr.R*O+,YJ⦧ZI])'`Wle~Kv5tw/lrI9c<ٸP}:?CilR+X+#E@_mjXS҅?7׻˺j ĬhMB $*8:9+\`N>]%!qge떞S | i=v5f>G玅m㸣ƖrXqg%[II%4ZCHQG#ܱ$iD\3G 2:h`gjdSz A$Ԅˤecp9A$RC??1~3s"\k}c[f_)xZmV"^.>bo6Շ%+5M4S`bc+#?SoniZq_. k@n9E㭁LSwm> ?<}-ᵹJEK{b| 5ub>!O@zpwK?3ӆϮqdHVV$<mb;`[JYTQ &lP ܏H$ یy=*4zLxLݧ >@K/Ͽ!,*.:E?N~M\9q!kJFz @u(BߧoǷKMPNPH= {0y2w KM%\SO5eL5TIbk=wd\JO?*tw/i EhkAA蟙۟bQfVI^2d& U6H,nf_^ϗ;|=dQ,KR@<8PulCx>ŒyŒiL:6bꐲKD u4rפS8eeHabIc3PU> ޢgZK5 ^򔐮mXY)xQ}mu^Iyt䡘5*t9=MitI02-4P*GQS$Ff{RΪ`BKU'פs&+q ,Tdgvf);7UIbn9K%NG,-M(˖^=ޓ\!A#.z76٭؈ָs@GG#v1{(dcUױ_8,A8B#WQ+3f5Un[v\LVHq{†!=OF'jie1͒ƫy]@Y7T5nV1J| l'2"2)?O~wwQVhd^P3U0 ]P:TRμ*IRſ)zp0\;0almIB)Bm٥b =fsHYsytC@QVcjzY")CUPY@zxdP+YZ]Z+Ӌg_28鞖::9!2ߖEG@@SGR)Gˡ~@EU6㤡w'&QK*;EIܛ`n,= :r;ܯ m<& OJ/OGEsza6X̮ݹ8h9<; SVTtՒg%I5+AHPʡyg:y!Ъj͖s<=5}w2L%Y&>;fJ8ʜ:)Nhe:#6gPfL%Li­]Ow51UM$qSO5Q+t<^fQZ[V&1'=rLm$tHU5'ᬦcFxu6m]ʹ0ۏgkh0udU4$N$Ci#`UX&.anIn@ 0x~}c ŝܖh!GGdprt|: m+VS=YR?qELJDyBZ5)Vy}@a'OJ t8Zyf>lP"? +~ďtutIV5O;bYYiQXDZ;!b_NǎL6Lk&G!ES_{jEI JJ~lBY>X?lʢ(+1|B+2mr:؟=!xݱ椖Gh$4)L3o݄|$}T]|91DxS‰YYֵCuR{+^6CگtjP?E:IBF3@<:d.#[铏|[mжMzY)-J!w9J9;`+^:ivda2Ii6u ^^&Ԑaĵex>7>Ωuސ s\Q?A{vqzcQ9p}8YM@ ?iʇ:q[@ꛏ O aOz61YGtyrmOϻ s #hŢ3p3R?n Ul9 $ܖ?W?Kuevp0jsׅQSpf#Moxu@=ٕAskF{ZEzTt v7P7}g-y#am[:=[Wzwwjng^UPf;GxSC/@yhv>bH\HP&$9=M[F£Ӥw&-CF?>>ޘmvXqg] T|MEzc4qM^5E I-R(p*U]n@4N}EsR&2n6{;]1oBDf%%M=$ҝt}lZmu J"Hg~tpm͟2=K_tմkjY2JAAPFYlv-@VD)䣉>۫uIFv''n5LӫhCJg[X10ID αĐ 1+}GVk@ӧN8#Wg"e`4R/);FB}YE]Ht4((!K}@RGo 8}\uכs#M7RD'<qs-x p8(o bIdhbE=zۈ[#^:YOTviAڸt,Ҷ?ձfҥ *pJK1+u~i)nͻȡX۷IA@%k_rNmb|@ɞfĀ=ˍ?IK5V^Z]cwzY:v+#[U={q _Hg?IV:Ueboc-)ƹZudVoYN]r}'OY!2VW>_p-:<|c]V]ynݢYQe2GL!phF~}uo |6 Jju+V uUqcxl@GݵDqyq4tY\)îE…FBM #Tgtw|dvɢ*#]tTQ4~F@u29i"!'դc^bOa t$`L6ލ SU1VnEV=_iF&&U:JWUjHv6G\}$q|eOhb jZ3 K9($4c i ip⢌=4f1g* _=eF#o=TNubhDG#C>̂?. o hy72?g+*Afh3ЭBс zq}tz,i~jɸ@?{&ء7^=eqvs_\ZqUb" \#Mk{֏4$|:NǮٸZp@I~/ռ׾#^+sHE  {Zd^T<1GnX4߸apE۞4T!'R{ c E^$ŭ,jNl㮵oʤ t^oǻV*ӤBAo>m?^7=[RӆZ`۩5AUpuJ 2yV}$Z@JH@P*2UɳiXώirHq=EeEzui I|^'yzjgLtX*gb'O29 HP41n~ 6EXPNۋ*Xjb۴%Z h̟ܡ4>Qt C#q2zߖ;ů{&N>$(ԕÿq5 OrYyry!nA1Ll4%*j@y-@?oRW6f]`> ;䊨 ]}1KJx_+UTe̴ I],2ԙ֮OzxRg}Bחxo]ͅB%xR9>TyTr'!(Fw+h.TNIMzJB3 #RƪM+dˁ-7r# XDTܒU !GFOhKHZB/y%ynVj掂=46 ?d͡I8 ½$ ŀ,Xԟ.;x&PsOn?\`>}xr nH}tߑո.}I?:a) ~nIf}?g["G<ܛjXk{q~gW]eY1V&(aaIq<@.ZWQCY ˟KϽq@hƤP6GqL8ka 1`aE:(ZЌLbXM2@eXCuTUnJ.~5m棷DCcϪ'+(tud jzÊQxL@&_=E#38œ25H[ѩ2*]LT3盡 5d} -}CAH Dd}=4(:@+(2~'l=C.SެTfaZjQqQ'n<h2-'-Maw,"i@8.}:~﶑\&'4G& bAlejݔ070M $<:nw^{kN]5+ۓ{zT̹}MD#ԈސUSo͇FӪ4:i$iȩQ$$ij+ƪ7=*lB0jIܹuuAHV- DoP?{{Rigv+`:fП/^ÁE=rćHH76==pB:by__UM[rJT *8ʶM:}|Jily ‹qo ȨZ]uwrjI >hiGꊺ)P}z7EX'DV؀AV xSD&w[ɷsqA1V5~}:%< ^ 5,j- ${\/ig[AMU,HPb c?cmO{u8ӟ#[t$iTqܥel\v֪%F86ӧ4>g}J>َ ϸFSH$1[!u ɿqh@G֞I_܊K(:%%yhv/Bcwō떖:ѽ1qHۏpNԢElLr 3a~M,Mɤb~kt+ye7i%q\E}OÎϫ8ꭙE==:y+z* ʙt` ss匇tEW#9sY'q⢌cgUZpd#iXozԚ:Ig!Yas "G+joљh(Wx(4VQrl?_ْКtY2 4cYS!}Y\]Z$QM,H3WQCu}?!FW#$R7鹟JqJmW4/ iv]V5Ilx{1֡{64ҷ{ob9kq~:ˡkp@?:%,p5/oN}SolUԪ< '>ɉlt1OǿxV>ZoV j[7gp8dmXz8SzcCwn?lMƙ,Iqj"Qz gq z&{زV{~qЏbSva~G[V=fg  77o.iN-^]vԭBRιM$$4B(]˱ o[˽_;Bdwo$ݎGg-loo@$U_7bO*GJ.ls2jG[*"Ad!Ku,؝Wa/ϸw73XmD"IhR.J :U#?rM'ZT7yNu(EM#VjkJ}ǶZ^( p9%M_עH|I^q#닜eR;\{JWWOWܭJ.'j,lQu`.4- ,ѷ)^7{;xYv|Y:ή6IgM%]*yfT$-:@04PH:6 >?f j"+iaj2Uu ҽ*A߰ҵH:*"wҩKK$U2Gǵf>ޓLB6p: L8[\G8lQJe16iU#`AOH%at!cV4(*(q*T48=ded )$D$g:H>T=(b|='a`񱦪y+L2?,{[HdOJ#$z.?O7h<|ӻNK_OPgRKzt( ,צ::I)yR3TPP?'Y)Zj@vjiГ?:^I$A2i'IP*)!kmM֖žH_iQz͉}:Ȕ()xqDcL.ؑ{#6U0y;eLTnWE0:ǮwS/sǻGg J5O[1Uqҟ$;3MM.Rd"jzI-yi!uSi jԱVj?k4 T+Y{&lEB@Qo_ɚ\PG^=Rf\ yh+::s@H=(mx{6%uVg-#EMӨEЦI'TO)gcItXsHB 8d/w=lMwr8 WՃldRn..G)4EKGVJR,rTWU# eT {9Ylfg؅ 3O!`r;\]߯n MUz{נ128M?=SqטcpW*->C|WJj$2JL@Rvw|!uB(Cn&&T*eg 皯㝰 c@-N:؊jiM66[3uS#?gj2UB#x#dyve Ъq(P)CP% cgm]s N+-Z!hNMH'~ dz%~+ĈT 7c{B=&G}A9X />y5_\~~J"9niQ",t;S$u*,q"lHcU%ŸʃU葮o\Խ`c?:jv^_>FQaG\dQ$45ҨҾ,zC@}zzjK Yq,mm /uT䪙X(ONZ{z[TϗE "0"BI ՉL=1}{;wZ|NrTEӵMH%N>6;7Sʱ2u;iˉQO/\?ˮd3C>7nlΦBҽMVZ8Smڋolxv#$d!+ FVe'PS+>‡!jDU6I,bٯj OաK}y }' )N*P,q]W{{U ox7WI\ٝӘU9go! ϶ĮW:& ~ xM'O~;N:1 $ Oѹ{pz@b(k R_DO{7M2zh\8l[?Wnn U\~kgUg. 8]?W U? tF[AJW] ek~BhmBe*o3ې3cvu p|Gúst+;z7)9CI]Q#t"U?U#Cg?i\d` F'L9M{23upcPRgf5<%8*&D+4`"]Ӗm:ekN8Ea"2j Wf<.8Wjqtϱ3IzI":]&, V2ih ׉zLD0[T p:FI_A ۉ2Mv#Jz\BѷU-E8!&k{ʹn O__*tj!kIޙ̞a7.OP>:5hmQ++$dŌmu[,}*su_wv.7(TIFUUXptm:Tsuxxd2'~|̙9AMPQ,1 ?̾rn37%**ZxwsMBl]?Q"eצHϹ;,H+BYcʸ?gPgRqivno|e.&*jO5yLJܖk~O!yWwv<ߋ9z-o1Ggm8UHE()/s7 I<` ~܁0:;d1KP(P,_QM$!A큹I TP`]9bvjX#O>b:pI{-dͶckU#T$F+,T-9,},9ij i'ijۛ~gj*%-S]V55&I} p Ar۶yw8]i4VQRO/ O GZW$Z_2/ lQ_w >ҫ7SG04*l]-ltTT{D5mKs"FC9TPT \עn$MMG<:H,Ƞj}nIbǏFhzrʴTOas~ JG"T!cbۅ*vX"j%}STn2*qz8!Lirm.fqUjp**?:uGhdHn"`gp>:r@<;llj윮ٝO]PVEsbdyg6")\B%BYrElF緬dAeZMPxVA/GN5S>i^zc|*#TmʈE?UPѥD\2IA)!1sKFOrz}}\:[oVm7?oǟmKC ] 4x2ULˆ8YC 1,[2Ð9X{Ȥ|NVڪ*kd!P#E`ZdDz\{manWk2K& jZ7 רo3cǶw =u]F:ܖy:VVdk*^$3 (T0Xh#gnB =||'Y?m̶+-*(M,2(5ݳә|N#YmW FW%ܛMrTmy%4|8CL`4/{0DZ650q^>t;.ܥ >k/MSq48L"4py+KK #sX~]7"4G^8 Tq|UVۇusSRKh VcQd(v=_r([۵۩SΟoX{܅20J7>4j*i2Jj?,k >M0 N$>FI O-<yMfdo -5hA"&kTEZӤѐUn9MAҥxצ*4 ``prIan?N&9bEtgھ_>{6{!Ga}=W4슠7<~ZŞ2j@'.Gf?ibӃr3=  o+/ѾsElR^>ͫUެfkxڟ~@WYJ]jjJUVb7hڕYW/iK6[MԚ' }J1mmKmhJA1 a_Y gutkGhlߦp>Ō՞@yK_ t~ʳ~PLOGz k{hVԺa:u/z}$۫U\%;/-AKC*(t>.o6b#uTn=kZ`+µ9~e7HhBCETZ޻=qu:˓96"LkR*<sRqRN.~oIcg:qlNLR*cT)ox) =.xݶ+L6CtOnx udw)9~ލ&lFwprX A;+SM 5-e<␁vU;mŵQkJSQ@G/s.p(P~]NUMZO갆i)J81[IEk=W:'Z$Dy嫕S}ĬyWKr& p=x5cUop]mK}yA*19Ow)!%YQ3SSH(L=ܽVd4OzSR)#a#WBMu;sַPt|8[~D;w#DbӺڒQi*~#OOQGKU$@Ǎt*`}A \g:Eoh^G1=OŽ6TduUǟL>ǵ#jxuwym p@Ў}M:!Glvm~(I ecVOZ>jld˺ :o,dnAny]ü/EH 1ЧNj}!aPM?Ϋm1O-_W?يj~K3H CVn_I] ƾ]Cj鷦=7_OqT>=UM9џzϦu^ַ>WC<֗ŧwN's/Ѭ\x_->UAAQ!'N-:u}Ia_N)˨>yo"~o-j|z~XB)N?*S5`/qߏ???t9Oƚ33W{yd? )N|:.{[ }Oݟ{Wm܏e_?{~)LiMn=O,֕+u}U>'V?{#}W꿸ǘ~Fti'BMTVtiVk]<_}կӧWhd_x5яJ}oxWuj }>g˭}[qtuy׬=ޟ֛?giOʞGg!ܷ[?Wbe?1M]tw_Z~<K}mMV~oB)^v yaoHm<޳ Vsk_۩mǥ8toG8:饮Otj?S]0xm?sӞxPs1u=Z5#uV:ov:Ϊ>D=ujZSßS