From c51b2304c2dbc6b37195e96be6014ad85bb7e8d1 Mon Sep 17 00:00:00 2001 From: strtoul <15055714+dimok789@users.noreply.github.com> Date: Sat, 12 Nov 2011 18:14:09 +0000 Subject: [PATCH] * added nand channel emulation (big thanks to TriiForce guys and Miigotu for laying out the foundation) * added direct list of emu nand channels without activating emu nand (for speed up) * removed autoclose of search bar and changed the search engine to have both methods * added setting for switching "Beginning" and "Content" search methods and a quick switch button on search window * added autocomplete if only one search character is available and more than one match * added seperate path and setting for emu nand channels/saves * added caching of emu nand channel titles * fixed a few alignment issues when activating emu nand (thanks daveboal) * some minor clean ups TODO/Next Rev: * add channels banner sounds * remove unneeded game settings options on channels --- HBC/META.XML | 4 +- Languages/czech.lang | 26 ++- Languages/danish.lang | 26 ++- Languages/dutch.lang | 26 ++- Languages/english.lang | 26 ++- Languages/finnish.lang | 26 ++- Languages/french.lang | 26 ++- Languages/german.lang | 26 ++- Languages/hungarian.lang | 29 ++- Languages/italian.lang | 26 ++- Languages/japanese.lang | 26 ++- Languages/korean.lang | 26 ++- Languages/norwegian.lang | 26 ++- Languages/polish.lang | 29 ++- Languages/portuguese_br.lang | 26 ++- Languages/portuguese_pt.lang | 30 ++- Languages/russian.lang | 29 ++- Languages/schinese.lang | 29 ++- Languages/spanish.lang | 26 ++- Languages/swedish.lang | 29 ++- Languages/tchinese.lang | 26 ++- Languages/thai.lang | 29 ++- Languages/turkish.lang | 29 ++- Makefile | 1 + source/GUI/gui_searchbar.cpp | 118 ++++++++++-- source/GUI/gui_searchbar.h | 13 +- source/gecko.c | 18 +- source/libs/libext2fs/libcustomext2fs.a | Bin 433210 -> 508866 bytes source/menu.cpp | 6 +- source/menu/GameBrowseMenu.cpp | 86 +++------ source/patches/gamepatches.c | 2 - source/patches/patchcode.c | 117 ++++++----- source/patches/patchcode.h | 2 +- source/prompts/GameWindow.cpp | 10 +- source/prompts/TitleBrowser.cpp | 3 +- source/settings/CGameCategories.cpp | 4 +- source/settings/CGameSettings.cpp | 2 +- source/settings/CGameStatistics.cpp | 2 +- source/settings/CSettings.cpp | 25 +++ source/settings/CSettings.h | 4 + source/settings/GameTitles.cpp | 39 +++- source/settings/SettingsEnums.h | 13 ++ source/settings/menus/CustomPathsSM.cpp | 25 +++ source/settings/menus/GUISettingsMenu.cpp | 16 ++ source/settings/menus/GameSettingsMenu.cpp | 5 +- source/settings/menus/GameSettingsMenu.hpp | 2 +- source/settings/menus/GlobalSettings.cpp | 2 +- source/settings/menus/GlobalSettings.hpp | 2 +- source/settings/menus/LoaderSettings.cpp | 39 +++- source/settings/menus/LoaderSettings.hpp | 2 + source/themes/ThemeDownloader.cpp | 2 +- source/themes/ThemeDownloader.h | 2 +- source/themes/ThemeMenu.cpp | 2 +- source/themes/ThemeMenu.h | 2 +- source/usbloader/GameBooter.cpp | 88 ++++++--- source/usbloader/GameBooter.hpp | 2 +- source/usbloader/GameList.cpp | 95 +++------ source/usbloader/GameList.h | 5 +- source/usbloader/NandEmu.cpp | 65 ++++--- source/usbloader/disc.c | 32 ++- source/usbloader/disc.h | 4 +- source/utils/lz77.c | 214 +++++++++++++++++++++ source/utils/lz77.h | 34 ++++ source/wad/nandtitle.cpp | 12 +- source/wad/nandtitle.h | 5 +- source/wstring.cpp | 14 +- source/wstring.hpp | 2 +- 67 files changed, 1378 insertions(+), 361 deletions(-) create mode 100755 source/utils/lz77.c create mode 100755 source/utils/lz77.h diff --git a/HBC/META.XML b/HBC/META.XML index cae3428f..27961106 100644 --- a/HBC/META.XML +++ b/HBC/META.XML @@ -2,8 +2,8 @@ USB Loader GX USB Loader GX Team - 2.3 r1127 - 201111111858 + 2.3 r1128 + 201111112324 3GXzM)>FGU5VY% zy9&Ec?+|dB&l$_p%#}D;ySy@^{B!g^W&MC>DjuKSIB+@sayASnD1X*nR%mfzy1> zIC`4z`t%L~J9<}JKj2x5u>17Z1E=|%u{35az`>{YJg}puFeNp>nD06*nN5r1E=|%ar8>d_jM2)y>9Hn6TPqV>(hG{IL+sbqxTRF)-JEi zG5$GvJ=Rb3Uc~OxI|`iUbH>s84>^{AE;545zmPT?O4nDmUu%p*!{X|cFgHNv=IL+sbqjxzDKD{)sqvytE z(c6lwg_vzIGr}><5 z{JB2Fx-aX;;^^Ik-O>9pcAs85aGK8>x44U*#$n7H^+WTGHTow% zzS%!1zAG_T^+Ijf8R5xjURP;s=HJ{8LDPdxT=Efqg+Vd@K3vN+i40cFlhg-@_iDb` zd|vnqs8_Q`adXDS>tOdAyZ;*QO3ZMP=ojW@mcX-0;A9D`G{uJSb7BAs@Z1tuRiDP|AGQ!_*qy2f20InTmqk40-s+3Ur+-7ZV9YD zFE;R_wMuM&KNYHN&yfy}~0C$(bJtgqE68O3jxUU4>Py%0H0^d*qf4&6X zS^{f)iw*p0e2NXQ#+TRtYkY_eu=@Ad0IPqF4e(G5U;*CFkLxqiG+yYp@z z%G3j^f4ba25v=}6%H2;az^npZ>Ap zmXh%ISXlLi{<7j*CH~J^xC4LsPqQy=oGkqxT7U8X5&VBz5?<>O8R=!Df32j9BNK(M ztg+yF{LjUoIE+z#oe%u`7PjS4+3)$&|5kpb#Q)!V{=bXAtA8&1g!NZ`w9teo!^lMZ zBnV@S;wNttofZ~8{dHoig)P0rE(;6)BK!|nSoygO_&=23ANBC5%QMs_WrY8Gz^;5n z?_5Bk`CkeAKP+t1Gt<>K z(W5TSq|O*4eER#Dq{$fhuL8c>gFg*CWMN0|KF=TAna`B?|2NN{@nDwvAY-ER&8oMc z;#-UVatmAfvs`~B|8D$U|0TEwcz+506CS;F`0JcSM)=nOACExSev_wJSpI!Xfr&HrzX5pI!j|9Un1zM^dHfG~Fm)^WeGg`QN&bTeQ`WQT^CA=F&+NsX z|4sN)=EjKr&A``sFyqbaoQ2oppW`CDxtJB}F*RZhP8ih64H~zC7^v@B5CHXEV_d{H zt-BTa^dQ7NJ*a?bWFaDLq>&`0#WL2$6AURi4QpuPm5V3rfJ<`0nNfq-GYyk&vfCD`G|!wz5BT(ien`jB6&m`Dw4>I z{#z$Rh5ETu%RlQ-5W_UjqFL8SCdU`RoX#UIyeaaSHbkj=NdR9uvnYh;Q4+)oYZhTg zZZV=KwpsM_o(&TVZpz|vB9^N$LYZVEb=vpC#rQZHk~}RVmlR2h#hjcRqr3o72^mu< zeUYUSe?ugydS&D}Ez2kKFDK6yCq$k_DugA)=E?xSBIb`#ES)HvVJhm- zio`i>?i!zI8Jbe(Vs=hK@ud0VBUtH5%Tbxc6eAQ;G(C|ijF%xXOx6{pli=LarF{N!}Yg)&s9)M*!|@i+lHQ)*jLz;a2PHiW89B-+W`td1qR zTjMj=Tj%VVAh_1qS@XtrAE$~bs>8v)!P!}3UGMCTo*kSUoICci4u6#{( zFFZ?G(C={mH2NLRJHN5~{>8=l#}X@~58(b_`RH(v z5svPa>pnO7?}F>QA{=xER5=>xZeJl?qS*(y_kU}!!i4d3v~!O##og;Fy%U$Obn@}$SoX}y0raY^KyP4$?qLsI6f{RVUBl(*U-%h!&{u4p8-(Z|-j81bdj<9s z@3>XxUm=ZS=c8XQ7)R%uc~=fSwhh^X(feiS(>3WNT=mcf_+QJrP}@Fzc<8L4VKDuv zn}|1!KEI~ynL!8o{F;eNZ+6z^p8v@}3;8ox)sf2n=(5!4B)SZF8!kVM-gfAv;3ctm z2Y1GwJAWYm--CAElUq%^?L*fERV&lgO9nSoq=wj)kiJFfywC0EQ2IBb51~Cj3;0$x zN%l{U!_x}U=w#nfX_u}~@;9M3A;ot)8)wqnVDG@sLk~mkbbOJ7L_}laapIHyyxQ!U z7o+pC1AU7@yW!QuG4Y6tmpp54Jrsn5t&o0Eg(q*?hdu@mUxvmL6Zryf6a5O8d$yxP zw9rx6i=OIZx?gO|`zBNNPoZN%^@m*{SI5N5bbPA};lb$XLnlB3aGTPNy)D*xI89mD zyUpfZLgJP#f@*XP=-tH;bXzB-ix3?JRm5Mf`U?-dm1%YH7`>rJ4<-7xaZ925cf{x$K8Rl6IdS`L$p0;R9^tp9Gw#+s7on$GkmH3?12xZhjM#cJn?>Dl;`h|FFxKxjOX69 ztVf6VBYNwMJbsCH`1F?L)7d}g%?J7u^7+~9OXm;d@((MopQkRosJ9?@KNTEMAAsKR zNB4xm<9p@>PoQ`F5M}fN<*}Tyc*(vac)-3R_y{_~9~}mF7~ElShlz*sdKTRe&r?<} zpsVCX^c@^gpF`ZsmyAVvPfcC7`VlwMXYroi0Daps-Y--?G7{;Ntk{=Fx2Nqhm($Kn zpQ$vo%nwF#`J<-IT%1AYEq$o;s;D28J9OSePfJ2?nKq9Fd6hM7AxS?LQrDl=yRh)^ zJaI{nW{|rpP@8)KyVEoL1Z6|j9uIPNzczr5-pA2ba$pH)l4Z7ub9VeZznBn$c&Wc$SO@dC?zUz?*}4;{42C-3|}Q``!pvn{dnj z)4=d^wmv(Z?v$b4QOwj@AtC&i?d`!?~-1#@4HNpYLzqYTWj- z7n*ZVckqtrWhwGQ^|^nD{3oLmh9|v=dEcb^qLDq%1qsSL$kqMTK<<{;26EXW9oe4$ zn98;MSEDmjI0`4-Aflo7JetRY@cfs__b0=>q9^{$TaEWk93rpRv}SmW;U4PI>ChpZ z!cfK;h0FcP(I9uncn7+Wlez5orK^2}v?r)bUAg=*)hYDyPHuL6oaipw{>~%l+&!A7 zZgtTo(;uT-bfVMtb4O@D)q3}scGy50OzF+gA@mGM4@>Jc^yRmvBYgq3 z|LXL0s+ju6yROafqeV0YxhK%ut&gbxGi9GO?}?`KqT}MCjj6Apf2k5( z+Ejizn$QU3uV0)0&(fErvX2?vH*L~wfIgX!zO9Bb2(m|blVKToPx+`nCeQW$Lelhs zj5YL!(HpVd_I=oUDZ{6NM)I@W>Yi!aE_}W54E}cT=?_o+UDe7UqdbOQt>%Jy_h4fm zeIdGa7vCE7h4$U?5$a;pPu-z@D%7|>5{0ceuy~)!Cwy9UP;cvGwxg3)?e`9JS)E0` z_wknbOW(g;b2`E{Q>Rx@7xFglEnUhr=m~#a{Ymc5Ls8#x`gdL5 z(Yqv1Kk+|#lXP#;sPSRRUUcuiIMz%#wyRz98`}4qcM|W&p05UpJmsajram~=^5ax? z`-`Z(s9tFvFOynXnYFrEF}{M!f5 zy!!U+wWk}M-Q>v*`k5d*JnwMsp$z=Ar05GfaxaI6q5G232F<8_KRMAv8l&+p!FX4v zaqR_DS1!&>)PNTZ*17TS1vB31U02@JNVqmk+m)W=)wx;p$F$LHuan3B4V*(!o+>`M z34iFaAW2?VwOmf$uW=Ur^x0q;Uq{Co8RkQ?=@YNGauM++Yq^7=`EoP!WR*=6&)diD zXKWxHY39MJSN1+Pq5QxvuY4GOHcaF9ma9LJK9YCZ={p~f=Y+H$`pH__p?R~KHd>b- z4r-*+nl(v+w1wz!t7F|$Bi+oJCo2A-rL>K+cyk~_S)*GT{ol=lgS^}Q9dteCph@pH{KBAm*?qi)m8gv0QXoGXvpq*U2qPW$sodBVw`*L_4t^jtIRCQ4 zw9(t?-_<|Ws?VZNi{7+`Z~C6esJZBnnS<5!y!=>#{=dqbgH=a!uw$Bo zY5i4e-s4^t^*{6pjl^U0zSHkTZ&4ARzO?LH;mnE5+sDjNR+AU5U#T!N-xH}9*UTZ?ga3|#X@2H~oi-v+JJ4eI-jxSS%q0r0d2tY$6Oj6Hg1`QYTfA=(0P zYH(qt)_L+0gYFdDdX~Jqm9M*O=qPf7$+EXLFvm zt?`~QK;^5j;536uTt`b)cBK|5^vXeR%n!moOHa$<<}>G`}1oO}82tGh36KRB3f zr+sxa>n(wcUd}a8eod_}KX&mh@W8Dld{Xa3G_!`qtrq{J@`1WK0pcj-k0w+eY58M;J{y_@HIcl{+ZRA4o}c;R(go5NogAV;#Dc;Lmh()zzbG)5MQ&> zN!(3dTH8v~O8T_UPB3?^viW;4>+i=2uQh11ZA0U#OBXR`q#f1q?!0-!zNpUWy>j|B z)i>2ojdj$u22?Rvk_d8GbJ zZ-|56&X?g^PF>yzo_Ql6dKWGjBaSxungsnvyVZBEcoKFT)!b`E7ilK^3Z)xA6E|h% z{PZryiap;q^=ovDF@v&8xVIgsbJ_ge^lf%NMO;yTw2kzrjdk&c!Up=I4PJjl8lh1S zuV(Lov^R*JUoOzC8@`|S+=qEf>bp@rQ~RUbYpA>J)^7Sz*6{80n@tK6*QwHej6Nv) zgk4Kg-_&nuer)QL>W^Qi;N@g>>X+=h9w1N3^<6t%{zdI{G7H{6rtfM~|MQFVUEt<( z!_m4=VNKsP67^e*|C*nMzvjMc$CSQ{en|1!zH7Z%w@vB0{w9_E^YVR{(lmH8eb>$E zyTEgO7wMeRca@~ozH5EGp}i2t=7n#rinRCq*HggH3M&~ZGWTOnqguj zH^`a+f7c$x=aQcWbGE<2+Tc#RZurWpg>}QuCmM54vu3zIS~DyeV_ooV)&$>XJpbc| zn^{AwY3-tIvA?in+>8NcFTkz$my9tdW3HDy{c9<+mS)Mo_s%G_6zL#pEen4 zEnwOQdh#;c-+2~Zqx}cB&S31$j(jazV`Pt9$-KtQk<4Dt49e&bRZ`I9-yB$;|gP*xAq9SG>#OlJsz@ak29uOdpyJ1<3ZLQBdk60uWIeF_kQN? z^a*+D%yQ+g@)`I2W#{q_Yc4LH3#U&He}Nd%tVntjl-Mrgze&M=7sHTW=qrp6)R97C-9hD0Ou&b#)(g zbw71=O!IH(Ra^QCh8ED)q~q|3$wQ1YO?Ip{b79ScHTIkF@8IN^(xdv?e6QUfQ(fRq z!+baIA`S&j#MMST8QRHu_-Gs&V%|E$`M|xj>!*T_{HsCdP#CNpS{AGs>gK(rc|k98 zhLq!d&u5hvl@IOVeL?0j3C8Lw=0?@KnBOpOsTpP7GWs%SI}<_Ot}|Jyd^Tv{-7n3H znv`zhoi@#Otlmt1?yzr5x;1M^zV0-6Z2L~~Gi`ZN-bMKd4*55Fg8X}d{A;%PH{E{4 zBPI{Ek5rt8d+(jc`(FzZ=PbT86D&J8IbzG_a_SNLJLbLMqwsFlf6WQzeUA#yZnPch?FnC_({+U1gm_0JJXPdng+6*V-mrC@r7s$O=pJ5b?Z-2ECVi^% zGxxqLFC4AC_Qs9nG(kovo7R0Hio&OE8Ssdd@wIQomW!b{ZAJ>P41pLc%BE@9G(w7n zj65kFAE9&6@1m7-iUP(0=Vd&_l@SyvTO{k(p)e7V)O9`mH*7)k=oH!oPS;*{L;npC zDVqa5H(Y=Hx=pBcyKd8si@N*!xAa|eBhoi?lfQ^L9psR2rVSLGh!-fxPi7vU?40Nr zGaa5}yOVq;!)pMiG~Ntu&ajha%%%MI@%n+8mBq&4U5ks4w-4Co(cv*mD8hRl@OVt^ z|L5*~;H0eXd;jyy4lux`*(4LQ#x)LMO(1MxRWt*;>TD$jm6&bBNDK+PvLGnJ29{)v zv&^%*Bw|8)7nYl1L|qIfrscM@;Z{@8tc^`+!u?(Dz1EjaYyydGX_CH5dc7&Fy8C;7 z&U4N)&kRe{mZrD&yynbv{(jH*{6FXW{ho8+^E&fZzTS+nNwDhC??F#N%MW=Bdv+y} zZt7{=LbO*N#)CL`GsdPR{57HlkJV%h?@uu&;MFX`+JT!_9>yQz;LRADy7|)-E_l43$brS3*NbC`3c?;z6p45J_)=v zxOwH_shuX^&6C;Vr!mFD`#a1DcyFcrYM#f-nsLg zA0Mkcyi?ec@Kk5y&%(RF`C(7J9di<19%~nFUO5={uC*jQ<-x<7fmwcn_g=mUcyFgZ z%ptT_9^S<`B;hIl9^OpnCwQEHNy0mi@-xq%z4Gu>=Sg@kVy{Q5{M5(fCwTpQgOhktUXbV);_5Uo}VkN zGm$kP2yawy3gEKG3V-JpIbqlMtUiYdItVX&tnk-(8!PM@FJpyWWgaW+{ydR&!>;k> z-7dgU;L9E>{55{W3cJH4a>B0u8!PPUe=U(i&GW#MJy!UuKgA0BjM#z!`^+l4+GDKn z_qbX&?2L(~-~tplQ>6M(` zZRa7JYW8ENzE3-Yx+@Bw>cOA-4Suf*-qX&1DgM-V@VzSkzpu2X;yw`Jn{xQ4bjFMJ zk-F4{Ph-a~_5R2nbYZ9d?YJeUL)d3x?{?vz!G2-%SnAxBCSJ6=HFD)fq|!H9_S!|b z+fl4eZl#=?j*msF=6Dn3d=hKvX#3<2=B(Xdukl~MYTXLEl;`^P^3k!=c1`x2PvYFv z>6@EqhXnA%gNB?{>vm|_jY$Pc(VKxBwlUn5uTKJ_Xwy`IQuR(N`IcXDkLA)RZ%-n` zoOAVKgj>J60xFEA8AboYM}6HdNa$Ugopon2AguUNO1 zV^Gz{sO+A$B0@Po9)!|z?Z>6GvT9@HoD(gedN*ZTXGqhX7PV8I0e`16n9RR!E#s!Uf#bX!DdQQuSWc^kD)H&otm6COFeFjjJeF2RbO#_2_NUTP{v2?JlU>%zLa;LU+s^*dy2GtUew0o zxUPQ(*4S4#rYQR5klcxMOr#YA~?@E}-moHmGT2Z-0 zoqp{Gf0Q78C-UNn&k*UHOmBMFFpbJapTXK4l{2t-GObh(VayqQ6l@9Wd z&%kG_&5sxaV&P?dcE+>$QF!^sO=d^n-X_8<{&_!kXzBar-Az8ef;{maQwv|Tw)mCV z&nj+T`l?v21DbHr~6g}?Kd+^x(TvX0&l+(tZZo;Lj-s60=pJi)g%S$?kUbbg}Z z4aWZ2iSlA~>&okSWO5r-PL##bWLaE!%*vfKtQ>!IlC3l3`jt*pKc_6eQ}rVr0lbt6 z>!^RGStdBZcvEQ8Jf(JagmX0YEyt*%>Eq+`LfRPofwudR9RimY>Q4BGcSKtf&ne)W zfxoh>Lbl;aWY~~LaJct!7UH?S(7a1|81976aMyWvO8)lB9J2Rqrf%heM;F3>s`v7{ zl6fF6_WeZazHvvt&P@bMugt-B{0sO<4_LXFU8NuV?_P&f{ot56So+KV-K%pArLmWg zwF!Fi@P52(lkg*d&%3zGBDwTn5&VvW$RQofcbE?0Bb>qK>baCBJbVkkZKv_FHXZW6 z96VHJmlM8o_M?-O2J$9pr4J9umXY2rRoF=W&K$)*BUvN4BVIO- zY||qbm_NAb>M3LJtCr=*>FZ{!8^1c_8)g+Bh7a~&B!7ZDFf!3*H@G#Z4qW-$a}#-E z<$UZJ5Bh4Y=N~#*{94H<3lG|el_Q3~7RkL)Cxg^SU)V1m^%>=fRZc1++T~VTe(Xr# zL5{ZMObWOC!_Uh;zK?o8=IXpw^4OH|W7Kzsy3H29i%c-`F2yG-KeEB`(j;3DpZ#!S zrrxC-QkjdF#W-x>vA+p`Bs?;|KZ1J zXC?CRAmuRvEE6sUy3ZD%6 zm#f}?)l~~~v$|G&^7geo?d@0PV1TXa+_Wlp@kO(9^XJZ=dx>cSp|`-{G9s`{PY0Qx zHZXHH-FXMQX1+ZeqwgAT62sKY)qNvo?k$_(x>*jY+xgjz;_Z5eEy-((Jd-=^1S77( z^Uj_LA|{9ir^T}riqq4wRE5)>?Y$`p7!})AhyrWZ_pI8uexir5A}r$|r-P1jceYC>spKa$11&Qnj8$g}_ilXE2VN~4d!W3MV*T zDGvU@Bhfd8cLKZW!z%|n_!16@bm|3P;Z!c~aDJ3&@J-B0S8W(IwSzx}@k)M5_edp= zZt5WJSsy40V{K|(J`+33!MYo8V#G zyb_#=RP271cywxiQmr7JC|8S|`jX02>LC8I#|q>%4!ZI+d+?V%R`@HAZO%dQWsep9 z8mB(w9G2lPd#v!+xbt!6a0q|dV}-xQk=r5%%QKWcR`|ab9^YmcLGaa2V?})Rv(GpO z`O6+F{Mm7dE@@Soijh55_^X|>6Sk@se_xi?0sjUJ2P1Ez__D_e|MO!D2JF@Gb5;H` zuz$n5sga@nNA!sr9p)cZ*9|}Ydk^)2A&rnf>LDn`3df>vj3*DA0_--A|BZa2$wK~?3G*gX2f;T@-=da zS9LI~DqOTsjU4>yE)EebNh8l_9U7VK;&lp$2Fp0$>>%7xfbp-e8LAQ3*v&<{j zZCbVJcF(P`E*9|$7vWjq5aF2w6JcvPM5Mm*j&76S!+B<&Eh!elexXUob*t8MQQ^h} zJI>;u49EA7MH!73&=;Fc-5Xg3uQru@ysBWXz8J%2dYb$GGF@I{d+bhM^R)X4cf!Yf zqxLe7MD%M<2UkD!baumB6PxLOvH4oMuy6mg%X9sB7$#`qq~-ZTx>MQne$4+we$2;x z7PF6gvdqgdr^<1IT4UzA{087W&zskk@d>sj%nAI1A0}|imth)kKHuZ;Vay(f)v%Yn z`+CgYeM=$?XV`G?s40ospS}EtpcwLWX?qTP2Qb)d80SiG39x4mf_!< z>zOLNnKAnf-kf8K^X4X|GjFDRrdV^iPeq)RSL35xd`Ui^v+A|*QPPjuoXxlYvzQ&B zBc;9!{p*xy;7$g860~Jg`h0XA&dJ4B(!pm!*Mgb>eXqTLw#nIZJx@YAo*kXphnCtq zQ9Pg4<Ft|*Rj-e$c+i`6{VQ>5{#W2s|7tk> zE9zwa>#P%dFUOSy%dco!c{BV9==z)ijrbLvoc-pkJ#@l)Xofk_`l&0O$8IWJ#T_m9 zTY6+0^hm-$lRWKii+PM5Ed|=tlkhHRKT3;q-XBhl&Me}7usFzB7-*4;nZ)HU+B{*d zmOT`W5`IM6L*v_J-v(8p#Qg+!A^z z1!C0yO|&TH;aK@OjOJ%Fj{CWE1T*t;tbDjGToT~|jmQ&)>#quT82d!&(i)TSQox%~ zUi^!M^EhCf%3P){WA{xN=O?#AXyM1aBxPm0XGUiGFF)x&soWda{CC{4HbnHNFjCrQ zu|4ssMth7u_cp#hoW5+Myqd!N8gyX$6}0dY?zq`~Vgg>K8@D}ZuRJ_&_utt4EbWaw zTxG6$@9W!u4TFF6-dE)vEBvR$77W<6*Hyly*0EPn-W#orwt`*hElk*z-mg2m!YjS5 z$Zq8ymEK*>-|gKDYp6)6P*L|pAHR1pLsfQY8j-T$6N{CJ#Odtzs631$hM2?%ksMqS z&VE=)I3>ptx8HD*d~VyJ&zgzNyC9e+-9W4aXP3Ln^Gat&KeZU1a| z&mAUJoSK_kyyu-+&2JxoH`?FD-FzMJ4;xK-$12WF(lT~jXwuh*_Uz|`@ZdGpE!|qT z(88OZn;XNr#$?a$Ftvgqn0@cLS!Zk0eYY)}tFya1Rs;KL(wH2^0{U-&2u*>}(rLYHm>V?*DpRJL!8u{a9f9q%K|DsY<=;~8k~X3aNrrZT2X zvJGkYm@4DxCN2}3$9uqmbL$=l!62Osaq5?v`h4GY+?RPRcVB$Yu0>k8Uu7 zvS`zd9rbzLPuX`Z_XLrT@W<5GG?N~Bf&8Vxm$1s4(vtrH+>~dzxi#u@T7OCAf^}h& z+^%uui8@S$$!oc_R+p>rXAg9 zaqj86;-BY^yq!C&!o?O2Fs|eLb5lRzZp_u^!9n>aro@u#&O1g|r#3BR<^OuK18eO~ug(cuE&u6rv2%TeAyzqSW-BX3ap7Eo) zhf(>n?dW{&Gx2gAcM*Tk;#QUiIgfb$o*(k0wm=#FLViDG@toR7AM0GL&4sINBY%bL z0Bu3*c;K|Et=Km7MedGZ9dG4#s4KOd9d6xi@2nXJcIU}ge#G7NaNkE`OX*S zgr=r&f6#E#m30ffJWM2;6X+hII^DA;+>}mLyy>*n7cTgxvK&n;({n!i7Z*?MO>upj zb7A%ayFS_0F3*vFsL}e8$GU_$n=o@1R~)7xVa_GYjS2Itgt;kUZcdoz%RKxs%If)O zEFgX1T;I~cp2xKfFMAR)7Q9}$AUB>IQy;PYhW5pMvv!`KebjNs>id!BNUJYt{!xEw z+hckzc$zWiNQ9s@;>f##d|m@z_Yaw{2eI4S7*JcX?=V zdB~B66Qyugf$uTlqWq8!^XbXCeb@YholnWn5u2aK>+=_UhB5xf$b=#I}-za7GF2kyja(!Ox`o4iQJoLpPdQBe+1%pvnRADfHuW5iJ2_P4k^EKfvx{G8o2&UEUOy0r z@{9K76NFF9E%t6U+ZJdO#Rq5ha@Rm*d!V2D_CWbPa=|{@g6?vdeqyfb&&}rtG#6>k z@ID2kaj#s{-77- zl=q>}*gJ-o{qpwWcXaY33xYGz?mM!rxaH0j8#b=JHQ{QXiCD1~@sNb0&S)g8`JDS&lIra0ib7U8+tu;}(lB=2%h8gJ8$0h@5giz+5NZKp7h*(JqB^+V zvEh@I;ybu?ZwB?Vu>H4Z=Cp_Nd#h;WjDu5te>VfW%xt5qI#alJ?8d%G z0i5#Tegk_l95c*>^n`~i!=*H3W*sbjJiL*F8RMI`^H+~%#<%-fh10(M5IT`=&2p@A z_sYY26bEm{_~w25Ekz5S!h3i}F(=@q*FZLC#?31a<2yKbGsZWcBAQ?dp7z!r-alea zz?-b{JA(Gg!}tdrycuJ54}Zc-@Kk>eULZbn0^XD^tOeY>axk>#tbq3jb`Os&d<<^} z<^;UVKCBJ~J~51-p=_3O_8@;Ap6X9=um|G73Z5%7`-b^U>|V(a9po$NJ5yDj$#$S{ zQdRVwsXrhtZ6;PeoW2SA&Kob_lgumKK ztcb5Ny52dg!(aAT;Xe(_MKi(9Ec> zoi$}}lj`X_cN@jas!lXJJDQjyhE+VHXLI=iUCgxsjU5;G_E0b;=grF!=3NQ%frNQ9 zVLqBLA4{0&`#vqhSRbd=RX&@hwiSojn&8t?=dt_q3G<6(IGT%mn4me~o=>>9C*0w6 zpXd5ta5HA|FBN>8ZtLAwWA^U1(H*_}M$FzFUi4J&z6G;)AAnrz-9LxfyZD~Vbvv+@zsmHs23$u6sHbawl|DTw>`$^2c zt||Yx-iH!q%0J?huibRVhRp~mcRA{3%!|Hc;xm00UvkN1mKFV)&h*uc+A5fD|7X!b z->_@OOGDbv4ew2NwXpsdU17LC-7yrTdvq>ixHG+c_^I@o;p6FbG%)+F40qw`oL1dZ z!(D1&2m6U&QA>y6i~~AkFSQa4y-VR+jzO#8u448SBQ3{Gdp=AXdp{fJP&_>LBQI|Y zOuO69JSP|m1B^Q8AyX6K4q5lm-@_EPwq z_^-Po+{k+(-|)%jt9+o37JsMHyj|yn+}`>G`@ULx{^zOa+#z&>toDfP7cIRfIv>cJ zBiOks+|n;C-o#_iRdME!@|mhK<%~{z7KXC5a1>vAyEC1IbNHMj{aTm4r7gJhmFH|l z`h;VzSEsU4x`M5A6^?zN^%I`9EW0;uSUFD@2y8NRcyl!pRqH$NSfxp|RnAxNsPn)5 zF^a_AY|{#RodKsd)~>ABP`NoEI(=_@=!)(QNKqxXXBA=Au4a0%9r?8L1OJitWEW92 zTJO1W&M=Y$jAOBKW1eZk#hWo^8u=SVYkeSh>00!4=mb2SuP*byFe{wY)o5?Vn0bM} zX0+f57x@X^26O^mYAN>RXst^jP{*q#TUGc^ON20-7dzAN*&;DrZq-?f}!;G zxUXlKJ|0lm{((^Fj7@(`@Bx%*)Qsp8FN{Tdu*&)WYL)%cDtl{{{i-Vawaz~D=BOR6tn$Cz*_Y#=G3Cjf z)o$fj!veR*thSP>t62nZl33?@34%HXt3KFPN0OoyLrroxva!1F^x~$`c$FB7giaGh z<;(JVnuag;4>_~Sk+qv&XBpOR)+~4W(i?o-BHhKCS!Y=|D%J;Fc$xRn6n&V-s0D9+ zCSg8Fb9e4qBYU24P$=W6`!?dV8d)=XIKoZ%tKM&O>B_v0Zso(!zoPIw-hO+`RA$i> zudU{vVQqEM#rfC1wo2ENZu!21H<)Q|?#wfHKCN@%%-u(zkw2z4H$ob$qZtRx^@r@4 z(5K93@s*Zdo%dx;)EE*TS}Jdo@b(a4nAb;{L!V}TJ$!v=a?si{4#rz~Um$>gcT{qC zq-W{k3vv;ktN5ikcCDpz_t3|)t;g6zu3&8iy7|9})=iSbVyzYAN8vXH(0G}{!8HqR z^*h?Q2e=d3EwtT=^~Xcw9o$RYXxBfw$DOr=!-sXD(jG6crfjlnCB56jUDtly#yt$m zA9v!{v4$ImpF1gf`^$wRoh1s(n&@SCZHMg|mHWVT?mT1%4Q{iFd*G=FzGTQaE3Nx} z;n6n0bIaK?)ViyEyhY{SIt-qJ?~dr*!dLIBum;>c*vZ=)mye$+HhdSp3-_V#vFF`Q z_zrlF3(WMJ7MO)mUd&HF|D>7H@&s;An1!Xwznv}JcUXLlWt=}ZS_>xEc9O?*Y0Tey z1$>43pKG___FT)`9Pl&VethnMNoKP0=<#8#6j1Nt>!&E2R(QG%w(iLfc%JcI^uC2= zZr`U9F#t5(M;*y z=L&64jEA(Z+C1myIahDr%HXby%z-B(oZ+$L!l|Z%c4yz@By1h|oV?V$Z++2R*L&a{ zW-?*Kcdt=C;I9RP+tRpjdPM@1o&Z@b5F;M#rbl3YXH} z-IyGgv^T9#zCX^uRc5+{Rc8wKuNYrV&cW8lkAY1IGsc=O{%X`}@$suNf^x z`6;h>YhK2F6fGPz76^9@A5~*u`Uq}UqP_C) zyxo6e_p>wx`Y~?Xzi>@>jzes_8zWV>Rwgz^~(?zB0iQ&aS(l zT}fS?SZhIh@;pAXCb1r4Sc>RVcihfOusrO(I=yE8rI)?-HIl8{GQB2VBaMv?cLq&Y zcIaGQuxRC7ykEIDnD6iL8h$Fsi#{X1&hYU7`QBib#>L_OKyNa0J}+1#dC@_+i*5s~ zLHq`RF-Y7&;^b!ph3muU%%m3C8kZ%JStA#?8T?_cK405Cyi-N>YQCrK7-$% zVMY!F<{|WBE{^2uMO!F{Z%F#1;MdT_I)t(sW$wr>$e9%Kidn%W{vYAKFUDnH?D;r9 z?~Cw=@;df3_{6Xa17?krQ-9vehg(__ZzbDz*@5lqAet*x9s_2p+6L|7gV3gWgx65N zIZPR@Q`sp0x@S*iAbbe(Q;Q3D*t&fxnhPyH1H7+%+|;Wq`UB>>QDdmz40+QgJ0MK2 z>@th*Sa@Kk>g^w;NJn+hk;ZxL&-jH*30=}uZ93Fb*nR4BkSt9{-D_3s{ z-wa&Jd|@K|KFYKn7y)qY9hog15iY(w!8K5wDGu+f_58cc%XVP+e~l(n6RiM^Rep|a z!sg8wGY9#50j>E*?$Vl@7NIq_P^D5eYxtXJzWhMtd|C5(!o7z1vgSd;eGKiDpU3n~ z%$JkEFF1gk=A{f;_|>7S=1VJ^*N(ea9-g=RZ|r`S=1UJ(n?Ju+v2NJ4XAqvKn)z-% z^z)<51Rk@jH-E|$s+xavMdTd&-%w>=Rb^jSWiM9QMdPx{rT5!a_TR6vf1}DSKBQGH z{*SBduT`rt-G1VtujRdf6%ciNz=#TTTKvel{A61teJNVKco0D5tuanaC+XzTBb_{qtvE@6FleXPf@q^ytY(BSw<<9fRkbz@qDz@c7HyTxZrt?gPA&v z*q}F`LKNAVYwD4W^5!Pwr>yyo+i%;jdE@%db#7f3)4eX8m@;i8m(4|M5m1_bOgeUmCZ5e(UN$G0LmE-Mf8 z(D>H=8K(V?+-S?ZaKUcMak21mcrN{y;zeGU&I?T%d8vb81N=+YU!=2~GgI#rEd=-4 z!N3g7qg9gT;ekUOMtLe|-}2qB^|s_Vu>F7RJMeYz^Mcau!+MkWfYzZ~e)PE3X>~0( zN3@Wrt&BhK!faO=_&h4_DvQNTaFOiO*zW$;NXBbutvLq$;sx;B*57Hi_P6oYX<$O! zp4&0i9Ob;s^PHD?M&Vi4E~jaw@mo$_GMFb1@nxO3Sg^yDk_Q`W^?4BPA^IkhyR83h zoVmS>Gp{$9bW1&J>rX+~{dq8#G-^ph=UFqu=a~X+baBix6`!=oo#FxSmgcYP6@Rq& zb?#Sgb39V`aDC@prTdm+Ug^%giFd8xuMWd^XABSdPLa?TXrR@19L+eyV-TvB!Jo{g%nF&)8RZV*J3uVdcZPXB{PM=WkKNE4vNG%E>^gNjOFZ@B^y}`V4KxjRMrYBe zhet~HU7|gw-rVi#e~-yr+A)5N^VYT81{D9@^ zI@sR@yg4j4|S`UM=j7_e5vCl^5Zp{0J}QN4NqMtMGGE%$)$o?x-s67HN`<)Hids{f$KS>y)xui}j_Wlv?( z(q4@;0_EA}{TtNd4@}zj`#u)$D;Z~3o?Ewc<&;A@^Gh9?($-~+Z)1msjzhN%Of7EP z!&f+$8dBzWD=o7qd;%HKpSJXde~FCfPsX|_i%j2==4{`b*^x}c1LkSvb%BANkc;+n zY9l&-tNEyZ250Kqz>U7M<8t1D{uuNK{A~V^Cs5g{J~$s4@$9LSGu6k84s*fMzs|H4 zzqPEnZ+g19_??gT7XLck%wF;2jTdHGbED>h;+LD7`xfE%^vvGA3$5SN+|!>{*{G~k zPW|UcGQPr(JgaZ=zDB#o`ux1RYsQgJXoj{Os0@ZE56Wl{;R=dx;Q&K0J)H1K$_7}R zC$)QYl{w*a{!DxEZ(DkcUy1IW&yUbfe{e~!+GX*xR_4~eHR0N)Xw$V$rnQl_XwNpP zjjBDW&&}CdGcLH$BpO9ar%%;FyT6gXmo0wp^t=7(pLL=kaYsXw8;2SPiR0S+g!j!e zPuTHO@HM`>^ZQRDqhZGbs8BGxcpWw?W)mU|V_3tD*xyumaxcj*jhE%S}wczO!&P(*hrD1Hcy zW*&nK?Q=2dqy&$z8K$qi);tovhIpcREOq8A=0nlA_Rsd+jQnWL&xiXb)weL=4h55% zhL2BbR9R9!oUxyjwQmXRozx&&mEL{VT5I^JNx9(}leouWQr(XJNtV7M8Fk7>^3)mn zZBQ7f>F%Cx>d4a)@{(y8HFe!n3o66bkaXjvtU;!af2mDU=&ydnTr{2}jmg;J62T-lTb$b!QLl ztBJNYi}t0r%O&em$2vrJRdm4XY5v3<>XSZ9UYdwIl7!pEJ{`Z2IBm&g5npz-jRiTz zw(B?t{JC6R-`aEQ6!*sP)Rr4ppE5VDI<=+vtr}0~tK;2`-fdHZo@jlL79A_-%bDiV zpkd8bbE?$ATyg>9`CZTDOZP$BJ7nrfr%7%tcd<6Zt*{5WljM|Kc|`N+_%VgSpZ1jQ zE`9oYy$f1^eZ_UX#q(-E@5v_k|c6>WXjYK8}F? zPrK%;yadco^Y!jR;enb)XnV8V7~ROYWb2=?tuZ+cNA;gNm8_GvE(TJ{ced|xb57sK zf@k}3*J(c1dHy>3W>;s%q__v93)q$ps`Cxt@zdg$;Tt~8+bC^jt6%}6BdU{{#S3!% zq1qGc{J^J4oT1;J!Fn|?+rPHgd@+%JhuQ*t<`MGVnqL{%HcK1&smckrm`*)3HCU{C zn|o_FbA!GmZ`gVewtldv97b<)44+TaKn@!a?0A2TITlXm4hiy0ai^76{FmGDi*Zc# zrEv_u$r{U4Zz>;+X?DD;8rOsycNZAth4H!7+pin{=jZ0#tG-|!8ART)rC{+3G%j2> z{&IV={rEni_M`Z|EP$~~X3E&Q&$*wm`H8WkD&Lk4ONY+NTpFCkSU9%7@b$5SDtDEs z#uULSo&Q|H?%Bfe=R9r^u4CK0o%P9!7RQf_k1x;++&j! z?{LHv8^`r7AD3~^6A_cFa_8&bJ@v_N+T6WrV?^sa{Q`s}o)MAIzQu9N=GAjAyCg5H zDqrF_8z*W0{p5y3s}g#tgycuJ|KK_(H!DIG_;r(~aNqB?{x^VN#!}vB1 z-i)!~0Dtvp!PB`F`3e3@=mflJ8BJ}tdF5gJ90za4*l?I=r!WYf&gVFI!P_wd!?636 zs@u(9BAzz~vv60s7o$-&+_cDS{}l)S;Jwk;^MdLg!amc6i2eja;R=~Q=cK?mt z{|$IS>L0NJIkoRtVHeKs>{3l5nUp0NA< z&jD-Y&%uNG7b#~yRAv8WmHp4F?0@gD*L@v_Wx34|KlqA_p9tLR@zf>n~2II_0B5)*;V%DD*L5X_LeHUt8ZWa zsmlDv(>9MR#O7!UkLS~0w2C40qG!q*hbZ)xaVYah4f>2kf)kT3tPMh)Yp zzi*?4dhz#d)ckeXoX$escJOswVa}T=w`Ok!=Qs@Y2v@?Y^fQSt&zEsXQ=S*QFq6o) zhck&X^lf$0NWy%qoR>+IZN$H3DSfJ3kCQ1ApYG(=a@@&F66USOTw>F`rMY?|m zbaH5(OIL>P=*y*eL*nh0PU2`ocF*m@$RFD11v_SNH|0P??;>vfrMdBOxfKS+PhNTK zhaXru{(%n)c4_cbf%lP55vB<`Ido8XO^!|uZbwDOb+|Q&W}EM{w8;7JChLoT1T9{? zAJNPEdH(?3kL6X3wOIUwvuIPrsbk&T)mgja3gTYCdCo5dYX%45P2O*GSFzqDIBapb z-_rZ?#G8NR2(*_c9{r6$r2{^a{TuuRJdM)*^`c|N0@%zT?nU=5AH#}K1|P0`Zhh6_Ag9#Pp$x;qaB*cwo-UZ=0%w2JHFmY z$|ECM7WJ8hcUKF|dwWDLHM>Lj9V%PlG&p9q(}^taXZHorH@U*P!+fB9K>@nu1==Kz zTl;uMKK1(46W<-Vv;xM?R^arE|id$-#NQcq!D=c1M3*V%zgbM6VQIM|pDmoOaT0 zBwgDUz}NC~l&<32JSvU5MaLRHM7`TQ6mLzuMf}kC=n!Ga%bxxjQ6GaQN1F`R?D%-F zPHCMn4ery9_zkf<$6J-Q%FEUBi8-IK=bbafms?cV4fF;3t}tz@jxwp!JHnJn*77}| zQHoqvhD)D?_Ws29GooG7UL|XBxD=j{+bHzFp{R_5#{MhKE_+Vo zet1I{K%3^CW%zBT_=Gv9_?N-6#dn}b-eb$i(&fHC``NzBXPwh`#kJYKkIjCzG{_n2 z2RJhgKCZ6b2QM+IbMi$!RNP%dd5iX!^7K`;Z~K0H$?S6Rhq&)qJi=UQtK|D0ZOVr-RMhVyB z>ek)|ta`KUnl`99rTme74#W#@z@8!fx(?b<5mp-YpflpRJPv1SQyNDpGu!v6quu?q zN#g2$r51P`hp9u$$5FkhzpAhL{s4bzKjpJMKaw`KOnf<&%kV$ZHnx$rol7jNKV|%z z?#5xxi?^B|+VWytPAB10NA12%`}XSFvv12b?>y0D^S&~f_hmlsg_aTUrjFGX;Ne(a zmF}`;EZe1aWye?b3(@h_rsx~YJ@vLvyZnYfGTW7B-J4CG52{VrJeSON%@5)oF-QC- zg|X>8z#aCKn;$Dno=+cu0?>FfU;rIvUg&$}KMyPVPeS)za*{JQMJ$4M}Cl2Q4DWhx%kHC#% zOLYFhwoUSD>wx@H52xJ)?0MK#W9i{&EFC+kvcJ58IjRrd^Bl(R5#|EPD@@1SXWH*^ zd}-PYcR0YuKHt>c>-f^}I&^PAGbQ zXCItL6+*tNpy6YUmHeb;pk=O+1r@E*BeVW}xOZdDpkFQAMJ|rp%UO7|%2>I5UG@3B zY%L+w>_l@`7-_kE5G@=$yrWoKv3up=U5kS^W6Un)PvHblaXq}-F(=@ql*UQ4S02V{ z9K0E0mc5vzTYH+ghsS7H0qy#+ZG9KjlU6^!4zb#GHipBG!rU`?`z6M=Gl_@%8a5m_0mb>`8c&s1MOXVx@3W z&!D{-<6Bv-#^qP%{DkMv(Fyz}AI5$H?Uje|GaS4b<6GD8*Nj$vA+vh?0@14z@TMGq zE<6i2uN(}?s#n0ainsA*@*1qSQKCN& zFX3d3vHQOPZ^QR#n-G~*Sxj*VoFr4S#|nS-lUQL_9mWc~+G(t?E8nrguJVW#cGYvN zu%8oKFklydC|20(u}Dkp0hsEZ**{V)v3!;N$}0Q&s_YuKP(ds3R30C-R{k8k4ORA1 zmHi7Gx%dxP*$+7T^Q5Qp9If(Kzm;mhU*)TIj0zN9<@->g;ns{oc#p;{DNPv^1msvr)J>^>|jlWKeI1f21o2JuL=?l zeu2RiEg~szSl!imr@_*_w##hV*tx#T*uO-KXwl&uB1(28@!Q_iNn&T>HaISVzxCyG zYQGS*OB9z#bQZ@Z6;t08CR(c`P_qjZXLr{|Sn|1bcVuMpi7*{yI=v|-%&mzq z>&i4s^H`bosX4~eKFzU&dsCUdZa^!hZ67St#m%8IOO@&^m4t&7nc?3#`O68W!kycCZ5kAJUuO3cOt~$ z4Ee3Jz`JXHi+Kywi$8Z2TwA7v2Olcazja5pr;7*M%4Hjjl+z6o zX(_)xtyH5Aqq}t1PIP|$(uvPnT{8dmyrVZ|v5}f@|7XFWu7gImSo>b+w<9fW(55=g zzT$n{(TDt?-X7K&1kp@)9yhx4R_oIlxX_UrCL=vfDf--qUV+#Kw? z@;cE)4v|n${1p3i=plP&n7SKhr{8r4H0OEYi1wj{;U5^$LJsLX&!FJ4?;jwIL107U z9T@}<_Fs>%2i*^S=>YVAgU|yWyFTO${{3ds6~{_*Zu!SYMXNp}Inh$hH!Yo4@8=@B zrZd`ExmmeXWGC5c2Br7#M%q&*zX068)zTBeQG5U1u-9ZA%&RT#y8rqi?n>;Hydtzf z4lH&+zX8mdEmZfH>iA@ivL8pcAEM2 zoDXUDwO*(4Zk0SVRM_n~ipUne%P5U-x&UvAk z$N7fk?_DrHzVIo|Ssmxzf-uNzn}lrN`%I7@jl$&5rOwD#;YrIU7}~~)k8@T*6yI#k zf6D|dz|ebxv=u9NS$g56-qIAxd2w`R-_acEb-sdnc$qr3XFZ1AYU_ImI9Ykb0q~^0 z8>#zQ)Oizi-b|g(A0)5Tc`J2Zpw1Uj=ZjV6!qKJ$ZAi7Ta(#XE21zHM0P;WiXf`?lG+FQ{aQ4$;^36uBhJ7sv)>b(Dcrw;mZY^* ztkTZZ#MhfK)-L0ZZf*C_a+j`kZi#$oosvq#i(y>l;_#8G9pSGTtv$KQz{6uLlq{DT z)~4n#+A9zHBRF_7#@eI&HKGMCgZA)>m=pM=L+mf0z49@T3b@-VcA^k$52XynhsQ@P1c-`_t-u6$ePxR-*>6@T&Oe>H~H*ReC?4DHk)uF3s9Mccr_AuHj56|2EH+DZu zG!Ef`3PO+;ZmbHVQfchI4_OyFO0`|>Ay)XSK4XPl^$;uU)ie*}4NcAmP@$kMjy`_R zZkANp-5xsjUtZ;Zo3kILz=dC*v%i2{`0a3ZPqWya@UJz|Vt*xf$d`w}#JJ~%v(shM zteo2l$m*T3@PA^fTyfP!#SLG{bS4@rE3e#$#>og_#*O$c_ap3ceA&NDww*bk9oKpD zx`cZ#&Dn=1ZoH3bO_;k7OYm{&v)(LOEDuxnY{c&S5-@ubVYVgq(zJ1poA$IZ4zDZx z`p%xUpIlYmkiGid7nkND^;+bAEG@XaADgB-DvZ5n?3XbICr_nB`CPGjT_+E0o|UQb z|Ef1AlVgX*9jW)BHNG{=f}%Z6IA&Mh*}8&owDnl|F|umRHad%;dC)5#PT$0souciV zA+*Lu;VJwyJXMX^Df)#uAMKTg=k5L*yPu^o+r!o3g&kvAVb>V#`*wygFU^={J4{Sk zOg5}(kQ6Jf2Yj{O#A6Q4ue~>=qFR}6F-+c|d{n!RE1?+J9m%-ckwDq7I}&y)+Ew!k zx!sYl`_9_kb(^VY2j0LAWqzog0a63(RHIjd@f*aC-Rgul9N688(qk96a{SSVqJU(8 zb|_&&$_q&?D}|-g#fvp95+2DCNjD6+Tkd)!#nqBCsXYGuvrWe*<`~^jP}`DA;g$+o z3TE!`ELFrM{@#hiq?`wF&JiN1+ZtL6yyQM7vhFBrAb+wo84 z*TciPLdEX?2BTK>N>ZFOzuH)2M=i+Q9vcn4sP{ylXeh>fQH9+NWaUw=qP->-V~(TY zR$Ixd?SZ$A>h+`N9#Hb;{fV2ysI%zSdo2uCZ<=5wa@oX`;mevAT>RR{&Rp#?t#h*OdIwdvyE}*{5m22CX0R-6p9a zAJJ|yc`$niwb$Y$0Uy_%{BPmqy?tn^_?dG-!s8EuO-rv7ANS8jJhoWpo za1Y5>J>zH&3idNCBWa`Yzx2ei=F$^2&z7E8@T`AHP+!d#^4HiZ%I8H_Kna}svpSvJ zE>5fIU63;-oX%MP?Oe9>)pI4`yoVbaa&qrm`O)6e1MS&T-!+z+RT|`01SGx^H#y`= z-^c$6>)%lPaZB$-d$>vAu3(qqmyY1~JJ)1G@@j8Sh$N$bp%mB1R5L~yH<6a4q7EZP zX{APS+b&5l+`2FyaOL?JWtgWdmr#C-G>;B$Gim0vDWWnLzc{luY=ENH$!%1+twHlB z6kN)+pc{C1ib{#J>&~YfWg3dFDBP66B5<}+zW-vXaEIA9bR4POz+{Bijv4NT^gGYH zQ}ZtK?MObfQfT{BH~oZLIhrz;)22Ibe>506m$t(;WXGK>!Ok_yB?Y(R+~{^6FI@+9 zv{pA$^#hw5wVokdt+)y{U6}<@10|+2z7Jnb+ZbC|^}! z^8NVf_B(D|Fus4}G--{1D6c|qwF zUqG4}97~6O(%Zk1^dINO3h<(B$M{m7D$Awn7aqRi=0{#OimP}oPB#3Da=gksm>%LR zb&~P*;k~-KB5f(sDhGuPsXM|*%C;c5s!L!01Hcs?3b*%@8m|8S2E{9VUS$`gUB2Ez z+0{Dp)zn9zb=B}}t$$uwQ=0i5Teg^&TRff|YrXF(I3iaeolkv3xo^sM1WRnY0(Nn= zUEduX`U|s6Z7$05*g@f>JgfivIu$N%owuF3TIO(2IU4n!!UHd#2!CRZw2bK1g|S`> zD@<3HU%AXXqOwtbwXPF<+WxE|$`D+F77D2aoE*HK@Eo&b4(^h~b!qFC9**N@$;Yz+$vFK;bo+85yN;c(hv?6FPXt`nU4 zPjuKe?)|R9Zx68R^V7{V(ywEzZ4lhENiDdboGDOG~$-)D{!L?bF%6O+m+orX(LaojuLep z*A4Ysr}|*L@AyQ)WC{c6TI$)R-}dBq!yxm3?bA<=*HP!pIceRb0%xbtTr~OSzD&)t zH%1J70QRatCb9?D-8}_kJ zEH>eS0=H;Ve|xVpV?}ervr+kt?a}-rya#EYYRhv5UHiE|y0skX``*&lQRWA3DI+fx zee4)%cM$#@Zn#mK-j=H?-g<6b@wS<|^(NQ6Rkx!B&*-K3PtLTa5A% z3^6|CO1q6Dwja~}uJl|wUm8ILC^(-7^O!%z> zg)M*bH5+%~v$o$ZVN7g{;dC+Yy75YJ>B~oz2le~GFHnzr!0E~HW^l@`X<#k0$IQQJ z&tGgIT!Y+nGiB-Kl*WK1I@!PtE-xxRb3rh2PS8bJwlh{_shcjw5JTNC7nu%?!K}j? zG-eVeqq^&!#z}yOPR;t%cL?*)sT^}3Q?0qsC*k$?7rLmia^DX3HOb z{aMvx=|7JaN|T~GQyEbP9j{jIwCkMOrP?Ip!fwhj$M=NtsxrlSvhvEfc9=G0T-h~T zH~#Y%36tIO+}F5iGkCUi^B+(juN?9($`p^a^y&qf;%B&l@9G%XDwsg>5SW}kn zV(ohuYu~##5ybjOb)~PQ`{ggYP9j~@saYc~Zk!n|YCim9}_UzD$&!Y*8 z2H^MV5fu*yr#yXN26mZQOw0*db zQ>ym@-X(| z;LRA%A+I)F!Sl2x!Fv*&fH(aRcBSo=hw*hBycy%$m}x9Nf;Zjy3ErQhlki@^O4_mV zFplEl%^2VI2!D-e!IQ+S`~>eG(SpZxFZBj}XIf+QCqHyxD(PTvxB>TURXACzsP}KU zmAG{igcIBZ9qdiJv5w&O7PL5y!cXy3mcH#_%u*l0-(m1da3)f*`@aDlY$ED?j04C{ zi7gngD-W^4uKJ7>_E>^hj@ZRvjTLs4!!+lxgbGyIobT*wA1-em2 z_}pTx{JF~bWR-oW%D%74F3vn^s&3p-ejc}0{v5n-RoVYrmHnA2`}eBsKdiF8tK z%P2}uT+&E6`@5>_7gyOASJ`i_vTv-i4_4WStL$H`vj2&*OG=#j4gN=D4^&@oFplUL z(>aq9Rf4AJrzq!CIXOAUiDx9|$&D#%I(c1PH_ds`>gZ~f)oV9y;zb9huf+W-viXZx zR;<|Ewf2);Yva3AqABfk8m!}P^I6Gj>-wzOm=r|UT)UyWXYGdd@%<|mqTrQM;#QQs z0$?z>pCE0aS%1g5AW;=h|OQyRly`I@!mR`>=XL(8X%wy%7 zU#2#cVNPW(^)NNR`5Sp8mG31a%!K97+t#;of-~j>#5~l?CguZNoWJaK@KDno6tZ90 z%wpDkqoVs#U(oV>Tpj$`|y2x-iWR{@^Nl0{P3br?59_AAARiN@;c&E4!lI{xBR6M5 z|InUJ_0VauwjTQ7Tkkau)P*E#n+9=rdm?VQrf#6aC#8k21n)d~;O14G*8X4%IEoIg zdV;QMZ?I=CZTHmo-Df^X*o?yYJzw6yd%oX%Q2FOHe=Yg9bR=kz_T^A$?s_G!j+@ybye>U+&MjN_-1xoKzVbs!{r@Ej&$CBXc!&OQr#tQ@EFRFeO zjyj%o<*}%aRpz0qXKSWBnKXmflJ^VezGoBYn+xBwZr$d2_TRkk;;V0H|Ii2Df5VC! zuDhmvg^VA1-wiAq-+$Fr3v;u$i}m)kJ?-sR<=Atr>fE#{ckxBDbMxoUpL>aE1Jqk? zUBB6A5jQ;@WP;kj%-wY79gN9*dp1VjHQuD1o|&u3)9BLF3HDp-H{Y>pI?hCkim3D?EzTS*+D&w*}1zYFb<)?kf&FBQY zpdR}^v{xR+jW~ES#%YS%ixxbUfrqyha}wSmtjsyF@-Rxccr(UnipRWT;i(+tr!>BT zPLxZH(rZV16_S}O(A{VxMt&Pf1-TUp|uzAZ3Sayls~su zz!c$T4OM?W9RQ90Ea?ZZ*iY`*6L?sAB0X#OWpBaY>HC7WtDIwnzt$k_m^XoC| zfPeM=Okv+*J)`hGt`8sYP2@m)?O)$vJ&}fH{V)7fZ&s<$P>Z8aynkx1vVYjw_Yq(D z*<9scjO@Wu{FT3ZtNcf*>}tPO+4TK5$kA0d8YKoMw+KFMfQ!b=6>IP4-n?-^(XpLf3nvv*%lv3Pg(y8gC56PDMh=5q-+ze%6YI;X z9S*98>m3d z$GZ|{@@vab1AU=+7bgLmISF_tYrLg9`#BZ0Yo>S>b;wZ6>O1GE z-kr!Z79ZsXu^GJbGXf8x&E)lx2W#}jeG7SEgVUHh1H#XM@HA@7&NfrOv(q%}+zU^j z6WNS@PGIgei&#G{+0hSAevYXx^allANy@Zza0+lr@a)_vybg9NCkBDvf-c=D{y<@eIb!)WtkJjp)#H{g;CNX-4ZqG>^qjD+2yLye z?m+v}-#+a4?f|R$t6oeMz1d z`mPT-1qp2B3*6?bos{lgT!{7sV+VH52(rbWwe;?63+nscOdHu7H1=J39db9ptiBKH zRB153crT|%+k$-YyPVd2Dp(xdLKj$`A1`Mw-SJeA*>OCm-5CURJ3E7ho&5o)NrR^0 zAZQ-$fjbCZyu3}m1M(e^?|^&<zN{c zdXSm7!`Ar;@zED{XrGo2`#yA_uJ59+)~P)ZFSDRPTlm;;Z%c^$%AOO2fd{FR8*k`c zIA&&jc-P4%TPR!FzF9cReuZ`*Ij#?n)-5a@I?+C_-qdXQ$CTu@y4&teaZA_UX9a^j zQxNe5$Di5q)!*qYJp!Lha$?*>rcffrPEBG0yStli?6@Gs&A%zW5sGFvYEeD9X4 zhkF;&Zf#q}EgypOq`?YUg`Gif-^B;oFCQ(FvAxy522+4qv{NvVQh|_x64KhN$jo1No8h@k{hd(G$TgHzpjOe+)+BadVix z?DJc`PrQ2>BmaCwzlPGz4#{jhebHj%AKr}&#yyW{e12wt{O2>{{y5di+sUx4czQqT!eeeEiwm-1-JFA%CrqMS0dR3nCIS~fP*igrm zXDembjNg3WXUpsl#y$Lu;3nMj3kr7LdV%oAsQ(ve6UTs+>svCyD|q*22ipwodaT3Y zXDaH2I#J!=zlMBKM&@Yg?rnDb<|})nz2(*S#Z_b7N?YY8yoh(Gv~7s;8GpW5JJi0Q z1G+*dFbd7>O_w3Rt~q;$joqW`{B_sgYGtXaT;3qX}ean$F4m>xGQk?%ER+^|Bc~VNjFOhQL_f^>+t+M}F zmHh`*_J63di&t({1V2zcCG9h+?3Yy7qm9r?Q||6=E9?%YxhK3EQ)K2_dNPiijXIcdA!D@V;by45LSd)^Z7oMZmfdne{kUG(0IF3VZ< zTK3H;@IuYE|H*xG2YcV$#Rn|!W}jYI<#kov^0TL(5m7RYdUc$2LC(Eox^Gb7b=wGG z*k6rYAHv5;+naC{ZdvOw_!&X8md=x$UYBHT7O>yW@;)lPztybp)IJ5Uih~2`i zsp-YM&%;(af^XyRb!QZ!I6d}d$Qj(y%d3#csbWM9PkW_;0{d%oG84}%xkqaMTloNgD7d3ncK zJHs~u{|3sf4!OU2&MejqK5gs`{O+dVT)qQ4VaQW-Gc)lhD|;*Rjv3K9)X58HSmQLo z%hCA(7sGCrZk_G&|V3al)i~|O!|-mQH#6AP~omA zb1FIkZxZ3mLuju&Ja6~k*!?W6V^j}PBOvYDkaYmLYP;G+tngPJpnpmQlJ!yE=2XwRAuj}vTv)f`+=Xgt13Isgni99M#}>C98xU)l9)?FuMJ`?6SRL z_1bmzo`_eQ?=GJI-q$hTrJu2A&$s`xkg$WMnEEoe_MOt)6Oxm8V9tD1>(3U2xHCpu z`3ucCq7!P*>*D2y`^{sz)erjbA<b4U4P5vZf|j<4koC--M0Q_`1;eU-=-t3KhZI{70|c;M7`}&o?N}Xu6!lxtiiRh zTG}*cHaH)z zrX__zVhttIw2gK`(l99z)0TVhs52(EXv0lfso*YaQAe5A1Qjfg8=zL!0u2H#+ODS3 z-Nh}Xp=B#w`|NhNeY$9C8!T&4`Rt;0m3s@x{r#Qmx+aqlUg~PVV5(&yP_#`%d|Njzjrf&A~5lTz~e`{Zk%#f46t` z+8FpZ?q_lMKc&&Jb+mmI#7wvl`zm-j>HdPl|0ys1bS|;4Ce`prb(qSb`m28B9AoUO z&|;qL;_!cde*V3GEz9 z&O4Vb`J>xkr-gMP#+qL(73S6dTYzt(cl{l%ecC@zXaa8^b?7ic@Ut_}o(^r^9Kl_N;DZj=>Y_5&iTpO|1HezpW#NOJ7y~UW^z((vX z?72hO15aTOJdHi@EcU=*Y=;-H8wRl*J3XJs@dEiu{};%&n>@S8vzt7-$&>M-z1`&5 zO`hH4i9K})o%j@X!qYwEiH&d=8{q|Pgh6bCqu2eKH$t(Ijy2$0(6|cvb5ic@-%oWjj$+^AE6J|@Y9!uWwpsp=o*!wgIktf!}{(uzbuv&|5{mX%oOrU+wa)5zYgcC@%w0OKV)r9^6PcXD%FpYG{q-RClkIOg0Kx$281oVi2q%v&;x*m-S=^BiMfm1%RM zoyS0)Yrsi4?dj@7ezHSR7vo8tt{qZ#sCS8}YM{({9BPN!=Jo-~9*PBd9>>-(iEZWc3fOY#X(#5UH_S@q zHoEm<9CEK48^j#6V_%xzahp5dXnjxJMCcyGMrL=VZ1&z%VFv5FZ!lfS8z&82`9;~i zriFanIlz>eTNh_NuT#fb&!~J>nb{w*Ytl2bf2?u#qoQlR>Ck)(ec!x)_#oexgM$D# z2Z%XleLiYaqQ>2M_&%->Ml)Y<5sxSwbJbBe~z2CRKv9%rze&ott zmEqKR@eCTNd#5{Jz-hH@ga$>6z-Y^cnI_6%$1o{>i(pRuLbN?4+$)Wx1O3GF}MN=x1 za_k&?r76X+`a-;WN_MZ`zS4GEnCu^VNH8JY1F=r)LoLEZ@q~E3TV*kx8G{xz7MuQk z7{+HTk@a?&My}uS+1q>%;P1k${Xfai7d#G#{hzN_Yk1&ab2)i8f9OSP!|1t=Fvt5j zWMkEG@S70j53N)D>79;SM%#@O7Vs=mOy#E0?HIq@1o@YikCRS$mfDSJvS{O(^n8dz z^^-|7)^1cAUf}S5%4fV^@%it_ZY-7&80k~kXWYw9oZ=@?rTP7VdkP-MPE%Vv__~ea z9yWDKZd-C;q7?M6pXv)1DogNyE1pn?Xv*_MvropWpTk(~Tp(~m)B zqBDLDv{oFeTUFu{gkOB0ptENnYaO<0BerWCyR~)G65@{)OdEDF<)!pQY{i+=?>abs9*sqP)uW{_xmLBr%A#d#0 zHtg2~_G<_B>tgKJ&Ogj!o3OS@ZJ`~1!1$bloqG3NdT-s6O;?QOqyNGmEPrK)bBH-{ zi^aU}ln(wL*aB}ET8VEi z)%-=`o}hO%hY-7OxWH2u}J10I;-Mea(2&)THW7D-ZuV? z@|Nx4x0kWPgC5+c@hqyCs>~q^^-N~XTi3K=`NU+?oVc)SAG>3#K3;fk#~+*bpB_}c z*c^vT$_tGyZ|JyJ-euTl{iG|O2Y&P&a4qki559px_cu%=|0LtcUyhciS6yP~NY+P< z^R7P`9?Z;MTPygd-yBG#FD4#h%Vu_4-VkZdo4(9di)%Gcm3ewAfC*!|6|vj~?ALum zi)BxVe&=1~w!ip3uQ_eQN3oG&)JN?Pt1fDP&y%h#>f)ZAOn?D!p5)nk!|nfkY{+YK zp8P_BMZ!${C2RET*sKR5e40b6qHi)Yl5;|hnNH@Nzi)kQ`b~FXrwu3co$#c*6J}DK z|1EZ9ukwrK&9KUAuPBx!AA5~U@7VjZNCW&x=lsbW8*8SPXSLp(+=zYOXWz-cU#0J` zsVicgZY)UEk#9Ag{ghx&d+a^eq7z*^{&P?MZ1&_&jVFIrNd6!%}ymd zi0!k^M7kd@%A*yYJgV~KQFS+C{GL3j?Iu6uQ4D$1h&+lTk6L=j7kRX(hk78763C+t z%~HsWh3_adp6azH0VLJYZkC@;Fc9Uk8<#69*Q{F$Fe(Zhj90^}Wu(NiJ>La>^ zcdHxvn8SJ*c>kgk%2RH_M4Qs)O;PI61T7386T|*mQ_-=VzpgKt|C*=nwP&fj z;;U)L^xvlLwSL{9*SH%i5uXISspsxkjfv7n7hg$+*tS|;n_+68<2p~qEEK%`wwJ

{y+i6tHqOyN-1k;4Ayh z`%|=Aav_q79(rG5N<}PQDC@|5|3q8%xtsO<+RWQ;vhk@j7hdx9>Ten+yUv{hoqb}D z%||?I=gNQYSH!~{UMu|1>lB}#K1JS@x_4!WQ_+4;MNIea+=$*}u66d=p_T2|qC0_6 z!vN3H=IQK*%+t_L$oyMNU6V~AdW zud8PnOVoSKBhG%$oxg8o?bn7oa;tYoayM^}K%2|PFUy?FPPS!L0+XQ1vgN#YlU*aA zdbwpenk#H|Yi=Ss8NDjF*m_H+e{JY^uHp{@?|*HrzGW_O9=?m%@wV-* zym$4)Y5MP{Dk#&&785P9@XJU}@I3FgC01g0G;bSv%75>p7IComal0&yepTHW1Ui_)y{%^4vDOMr#wOTRQva z_e+1S5`0D1z;`-0iI&_G@9nj6wFmyLLpS+4vzF^xP0VQiD)tcHO6CJklio#qU2N;b zn&F|ut{-G+ugUK)$cN!$f+K0p(1~^iMAYpDL~sA&Pel2~_K-$D`#lUxj(A_(zM9uH zDV=iV^$suay+Xiv9h|dfVw*ZnB6kSF?HrBs@ddp;cllm7l}TkI#gAT8|GRKBO#_|s zW%y$!Zf}eS-p}`Q%;a9zSU~o7wsh~{ZHVK1>8>Kpm~w;q&i~1$pjof!~_&-07_wc~K=JKs4`P28xPcZQF`xw`y`5{4UI!^ZI=W!c% z{xz2s{`bmH?eXvbl`Q&$%wm zub+FR^M8IGKjDFY&E=&v{Q3E*?OuM)8@VpcPi-A1KgWj=ul2h$#-E=buCii&bGcT2 zS99>2a)`gn?WOyta(VAu=bnB4+LV9gewLfW{woiqTR7T(8J3??wCewqPQNk!%kbOz z)?e?g_kKE^OZ=B_TF>nXo?XJ>w?pt5Mzq=MogcS@Flc@CBXfH*p{NmEu|Hy|UaC+zSrHANPV!@yC5B9`wEE zJ9U$A{}!%h`yY6jjb6WSX3T<*j!B;zbH8oO{a=l_|G&rF9~pBmzOX;9KL0WL-VxsI z&wcOsFzBT5z}tbY>@Unc@OI{x+yigtL*BgyJg0Na{qiyQYsTE)HRfLO%>KOk92j%| z;+Xr>qwmY!Jm&uDG52lWeVq1y|FSOcUhSjEvP{YS#iqn@xzvod21aS-GrZ3Pk#l3B zt-9^b;#v)baIJ>WOcR%a1QuATVXQN)}vy!-PUX@oYe|KGJ zZuqg?EyYWn)7})-Q8QN+hYs^-jN^MWAV%9trMAeZH>K57#Jd%QfIHJ4uL_N7tPPI0 zqzFRmonNwQOd78s`*A50{WcfB8t(Vt_kn=@{|3Yu_E;=k9D7SwrJIU6SU+$a)&- zZ9iUJSt}~nlbdBLM`Grctwrbg&-+TQ_m-qTY|J!2&B>9m0WAmhW9bD}jpP})dnB%& z)&u$Z2ab(gOI`Xqotwps^LhD8_KbV|Gs499df}H`D+7L#WB!ij4m#j%UOtjfeyls^ zcE&vPEppxYBd+zWu0K(74Lqy-Z>jU!{p-PzIy=DDZ%Y~VEM8NtAA7ItZC+UvQFeuw zzpm$&Tz8C=Rkmy-R$p0ur2b`_OY(oJ3Y zn74cJOwumurO%W;(|L=HxlUdI`|ZBr!}Pfi=E*k}Ah=Y}{r>kchoLkyxLpUK=trMi zNyxU}MR)SQY~Df*IFwC0QOM*ctmbv${eZCjE#zP6YTaAgkDBFO>!f!&{`+Wq-e~+f z!r}jvM!zxkyp1PztNY6S`{{JXl=XjQFK`9#SoERRcP~NU{Q@hvnC{J+VOTByS8?GF23sOYrQZ? z7sADJg!z$CN0$i}s!S*!G?DFV%*A~>O-0{9b7|jEQ@K58rZXZ_ zl}rvyWfZ46`N4%vjLy^~KRqy&5t`a$YGD&2J9Wu=?wd_4Igk4#rZF*%`+|ulD!Jco zTCyh}Pwm*r2*bQ*w2GoNmwq|5Q}W)&ni3Ck{1eBo zxQ{&6lzk3QZ^idh$s4bqo?Ol``}*k#bN%%8N8)qaU*s5$&rPn6&rR&&c!J{tC116&eIIf`)MJ#b0h z2yE`ZC6#@Wh%AEvVDfk>z4ZIQ1F!89z~&3=o)P+aDs$tnQV&ueU=jr;RluMcc+~XM z7GO~eEUxZ7YU+SRtN@M+;FtmPaz^inV)UPj-UR&0q3^-Ol!2*<$qSn@cifapOgT6= zGy9g5aG!|=QUzokBYNe~e<&Fqm@3+bZo|oG3!BdQ9XRH@Nao(>Q{XC`ylr6<-&Q2U z&~X9!T}+u1IVLS^N`J2*m6&*NZu*sLY`JOR1usPSz9M-!d~twt#+F@~Y=U2on95`e z<@0S~#=z9v7G{OA>L^E)vD|P&D%o;yZt^yc%faiUgL88$ma=0IX?Bt33DUemnh-QT zhSoD{7o^f({6H!V-qPSr_2{9kjC`K4dk1x^+<;uzumHZ(4q~%RSX!GlhJ87am;lYS zn6l)GfvL$Vj@uVDCEr1vL%{m;*QCG2hf7vwNZY zyLa4b-n}Ddv}$oPG`eNSeP$k`?FM-E^*nBZ?cahN9f`g697-IvdZ0RS z*xrW|C+&TC;-tN=NmkhV+GK^juS<5=`&hEW-Zv&w_C9X)h+|rkF?-*dj4fQt7Q6WK4{pQ0{p3GzmEgu0ul-?t9VWyHUx{gLaZcORgA z4zrk`1xEcFfm4Na1u{l6mCAulG<(&i6mY4^-nk=%4C-K}KrOQbVwrzqB=Ilzr1&FP>a~{dAtk6Kk%Y zP8}kmd+L{v9-H252t8XYxYl9r>I|J@&lw(+n9|&{aTV2laBUEKJZ;Mv5S0xGRe1Ub-^H#3r|I@xaT!?MeGU!MH5XQy3j?`xCS z+WR`$3%rjd-0vHa4OPHdv-KoXB8e}_et?#?Gdoap3EhgflGl3l4BhfgP2w%k6Felk z;A(acdxccJz+ z=!pD8KZ1ArpICdcO0+~ht25AL?&colQ7Ji^TYZ=KD%3s|x?F;M!N#PVsOUEP>4#I< zO?y)9cR$u7I+Tq{8>=WY)c#l4SkP*zUT&{|UOoFWS8-=5^AqTH5_J2>o>aCPenGcb z8|$Yxq5FYJXCSo)T7_1cpwBq;DY|Th78gM;ZP3X3p~D39(Xj`5hEEnl=bg}E7xZ^% zkLVhD%RlP0e}E{jB?;w|BoyxK&oJuf*dM|Xnx`6RWV5Z*@Lm z`6%by-u_QEpG4xz@E3K|wK{1Ntv=(vEbip-JB1@DdGJ8)Q& z{SERCTBI)Yd#oI-ZU0l~6IyTILK^5=a-H|^nbimImrKvkN;z~Am%JCRNybC>b>bJ& zYerf`dPcOK{2+PHq_6aER)&XV$7Rc*-6dv`bWLJ|EjwX(ve~p!w>Ih<$-bXeK+tmb z?)%lwj`n`qBiJ=Fo321RzC)eRCy7`29v(?NV|l15`3KZ7yi~d-L_MMzWPbKyU^Uau z5U$GpE4)hEtS%KViq;dv9M>Zcw<%i2!+viHxIGvIug&BcU?f?C;rajPA;x%j&bavvkg-si7b(ZDo z?@Xabj!TB{oW6s7U#>pHhMcn^cQZ05XHM|0CV7i}SDUw&4F zQ}9v?E!N8Z<9$T^df**S{D8K=tJ!beDY~mn{LsFyuyVc`c?nHI+tyxycB1kF@O`CZ zKJ-!7{!h^2cWjwa@knBowWC7Whju7kRpK7LhhGxFwg+0aZAMNfeqecmz5w-9{=axU zmDua*lpc5_yO;WHhqwM1yGlL;aFPA)_w_8i3I0g@2j%{atqXXgPjC(Q4?nN>HI}}i z3ZgD^QPQzS%ipJ zUvC(;(RkNFbLL$AU&=M44PI}C59b|rbEhBTtz_+j4wixA708U0(8((BD!8Sgr#!e@ z1K!s5(Dwi@y*>0fdgyEP(AVfuAA`OSGjDgRe>5+y*a1$-j)xiasFy!3h1qC^TH1_L)-Gb%_(`nr7tuFL*9qx|sU{ zatONsT5d_cndb*gYw}Z8CoPiB+BDN7)JK9wI;8*MmBq;fyjU=u$t3T$W8eKfG&#{qn6E0N0!uSpe}k^P=+ z4ZJEc&?)t)%&o>QYG#EA_B8oKWaEHm+qY=PuE}8YTU+KL-qQ}rQ_@vRjwap=k9mG3 z-+q@Im8{Hu{}yYv3*OR??Y|`bS2*_K$Ga1s0C?{O@ABE4>@)h~5&8YLFECdp=-1OXkIMhIeJQ>) zL%z^j?!~)O+h@@ST)!i=2fQU`(Eq>uv8H}-*AMQJE!^MMV*P~jT_l%tKbv-kUc>J- z%lcU|v+;wNhSVPLzX$wpTuR>^8ZAJdz@oMrx`a<+-OwXAj03+GVATqrEb4*Id!WA_ zXb(PF44-tuCtdK#GWcW#e6sREXsMqz;bW-9PjWTwsC$q)i+^%GQRDd-4nwaM=@*DT zgsjc&ydnaJsEF)#PlOe_O65X(PzQ> zka;tDD}<~FCqri5_FLIGc=-BAGL4^Q7Jc^Mz|?j4x!)q)$}X*IBs&rmWjvmC$S zWNazqw&>CN4R5vOl_vwTe_1VzzmD%B$xCRv+IutY*Y}eKrlwzUzn4#|`2BqPm(xj) z?oZa>puar+P zH)|TveP;0u-&e|i=zgEOZB9ylIr(Nw`yswwN~3$m`UkyL1|ej9)Pu9?trbR5W(^xxf^}r6? zX0N(Gm3=?`u{$45Wi~&a%KjN+2=vF3b-;PSv{d5X!PBMO(+}3zg>2Pa{SJKL&!iH_ z8S7tv3c2+z^7$b7&__I*T_8E;``OcLcBHa@-jK>3!gl@H2i!4;+0eZ8uP;rd=?nJX zN3;TTF#Ws`x;~7qFUKZ`^gqfN!%OB;bo8?L#z~6QP^nc5xudV)|90teJYP8JD`hK? zK6O?{23Dex&&om*GG(%9 z#dc!VLhuB6R`s1WtF~WeK9!ibuxa~;O-l5%J!3wbyZM^b_UlYqet%sjPN5qD99Cy= zMvq7q_~T5j{y>MIKXUN^<4G^$OP*$BU1m9aiyom4RsF+e)q^w4ryji3q#n$f&ptTc zq}k1&5Z~(bHg61`qRf194*5jU-J+2hCSM>LTZ~~pcK2RnBRdeiZu@f65t}lc&*fVg zop%yMISr6UwC^(0&Gn?j6qnD^<`(7A&ATA&UBkO6!gb;zFDxZ^1|ah6=9JnFax z*?X9@Yf1aY^Q2u%+6PFxp0sa1PulgQ&6Bp5v~N96+FsI%9_}XXwDY9Bo3x_I&F4wC z8GCt6?p{_3Y(ZDtVe;wAD(2=Mxs+8Y!Kij#zpnFVWw|eE7lmLg`eso9*=1LwA@918 zcXo#kWFC6H0zF@eo{ysEtI+e+=%$(;WL^*Q6TK8eFEyf<;^?Io^ir$z(spJ}B%>|R z2>KD(CwVB@Cs`;tC>cn!`%|<9o&-l{(OuwZh4eZ+8CLX`=KZHS`KJ0j-&npqPa4b9 z=SgGv{XA)`EI3aZD<{sA#>$ZMq_OhlJZY@#IZqlZm(G*M%B=IGvGVLZX{@X}PZ}!+ z&y&W=$n&J>gr)|Nc}{%WYnuz#(FeQCq$TrY(^;8^ogtZ*oQGUxOi=PJy$c(|AD{H^ zE0KE(IJ!8z@%ObqVw{R`w6&+rCw&>HvGz;|`FA7oZ}}`%QCk^YwfQBpYV)x9WU2gv zmeZ{4QG}sb}`GT*A#tFgSi2e31&wj(#W$m|L zg2Oj+&^J$h20SwV#M*D3?Uud!@l*!eO+FrLzr72+ymVSB@oRLy{5|+|k{vv&$9}u{ ze(bmBQwheH5)X68e)DX%EH>bU*>Bi;-@|@8wjhWf$Ep`q`de`&N)zS;M-?mMV zT>0N*zd0w#dyM@CUEZO73ieRc>hu4X+HV2L*{bc>XtLp~{f11l@@(iaE6);_A5WUyW-{0vXQzvb8m5$uBs?1M_|gDCbv74|`O z4?Kl^P>X#~hkX#kK4`=~h+nvUaB9n$I3L}&MShL34~7ii{QvgB+3l(SkJ|^QI$itV zv~03;0UN>giDVbhC$e^e?1M(nKG-tGKJe~k3s^f~`k8iuKj$pDoc_@|*$41fiG2Xg zrqQ|M+6d_2zO&l_=!!G!0CdQ>b^to!tabo?nX}pf|1m%v`hVXumNl33){#{jgd8rN z&urha{^Hgpt5$vD)@8RX>ALL`=SsnbFrWC$I0-)f@s;DO>9x7v`N@^z<~dTQvwi8; z>um4cwIa8Fa>a^srud!A)Bdko^*hciZ95YhE6x7s`Ptu%{5u?)Y0NLc%;<4VkuxmJF)9Q!%VjF zCqK=5wdcr~_piD4lNR&-jYa~Ug$cz~3uh=7ZzhA8XH}fmcP?F7T%Tw^DN!R{DejZ5C99Tr`=b?Cu8w@*!X>f0*6%&bsq}WKuJj^r zN9Z?c*A~0WmcA{_a>B7Z(bM`&03XU^{QQyFpbZ&scYxLoB{u5v*M{hc^iCHHh<&51|q>jjV8x~NtMhJ_cE z&$F^#XfbAnhe>xl*6Duh!SoooslYE4PH&x+0=|`-4uHe`b5ep0b3qQPz2HBRcxB?R z1sBnQaCc?T@Gy1Wl7G=eRt#M3T$#V*&$xfUz5dDVTr0}f$%X;rH1<(1B0_F@iF)iZ ziQJ#t$Vp|&PrIckKl`q8co-a2(ieBfm8lDKRotd`VXAcik z7PzAE4s!^|&(0}0;>r`1Z^u*^kMU&6?n1yMBv-_*k}b(l`8@IO2rewYw22>-FMZi4 zN9Eb_CtX0aLYkVhrRjOe-BDY3ZH4bdJL%h}rJx@hJrvq;a!-!Xv+{%AYW1A-48oc+ zog4Fc(@DgBUHd#}`H%HTmj9r4@mL<1iWfb&)^P8`71_!>z-=b$MWKxGF6u^1Whcnd zZ8_Jr}N;y8J~KGb`%5tD}Z^YqWU8H z!pJ=vMKkw>XdE0ZW(9VtXNNg_=Od0 z3vHNhf-A{~`3&K>)v?w5#ZrE7u@zw>WFTQzEw}X4r`#&wRzIEAJBAoxYxzS!-}d;OoG|)H63I zmyas%%Io9K8tJsm{F_qHqdTg6CtPuJB=fP3xzbVCe<8-u4D(qu$0Vpc z8h$=JtoCjiA`&6C5xbLB+vtnf7{J-#d9@oEbU4P&7FJKHZn0g?BJr8ztWT@pIU*eR z=|mr1+Hyawa5$2F=%}C8OILT6bo<8BH|ZYeZ-!Hp_24U^-5TI&C)0V;J>sX#oEx4? zuk)hDN~d_bM7WSXd7b%|{qM-Pu`h2jOK-ZTa~C$ph1dBI8}f8aFM09-hBO z{HXbe)tSl#De(ugss^5`l}!hq)ybY?46#yr1>Wh0{@BUZ9EQKl9`tQLFkka3{Ku%?G`#)HP*lE?^K_>#!oh^1PLKGa>SoUI>iHI-*-k)?ruW z4k7REAkQzp?906X>%Bsy^rUack$sJf*VxGDJ+!}vb|VX`;lCPqtQP#%Vb{m3tukVZ zlv77f#tc`G??ryT&}_d;1Ft>3X?xJ}RId}P+jJmUZDqf7?~!0l`q4Ql$*4_Bf|Z*J z!6-YeBzl&T=e=q#JFI-}Z4s*j;N{%s-6*1-U3`=sASXlD*V|on`hwPG5YNT;TOQj& z|7G)>`+~;81UQS=bEjTQ!ONkBe9+`Gz@NyZxfg$IBlG4?oqS(zO9e7&_)yR3acq%~ z!UMaULCGD}CHGTn&l;ca^0ZIw@1ZSLCefZA+TKH(duVHHX0X=6&!#ixeCg6vQ!LNj z*M)wf?)8<}?$p_(6UpykbB=lrsGi`Vqlg#gu&IvcD_85!g*)iGBK_hupMeL$>3eO| z>xdm&KjPAPufv!*bPSvqK?lAaRYDU)$S$9%Y*@6Fro6i0syPst;uai*OYT9-i|V z=L?=q&Z`r4@6-HOue_RnlvC{ub?ZBpGwU|{==cMF!1|L21x zZ492ZjnKS}W{dn(yJ&BXbjb+KLj$x?NNa)3FKDwlFpuF6r~n)l+j$(C~-dG6t1Q1qC1#AGcU ziucI}n97c<)EpWQ59PqGn&(m3-`I0e>=`C;VXGjisw)})P#&V$4Lr;J z)R{{=9LXfvan{zmF4^Q9cstGAN6s4Vgtu1}uXj?kB3t!XVXgk{V6G;vY^-`YI z&A>Gbec&&UJRCY68*uxTMY$*#z2NDahv9MHdxm^$hOdAzc+E2(6x+xdV0~|S&)+dG zberhW^k*7>7HNpn|ERtxCA*0VS^%=Q;hkyW;Ze z9R)_^xxQm<);7aFNH6`FwGRYytDC69`D9%WyRq3_*0v4j-8#?*AX<0+QoaqALCcz7 z?i?aNo3|_9%M!qd-SM1q=!qy~FQ+!`$M?f71e@qL@GL0#A=pCC@L^e{>?HCz?$=fC zp-I1gb!gL*Zho9?q;TFZQv1?|_Wh{CwlTew`gnRVw{7r!=<}-FBfpHKAO5BF+gV-n z`IoUJhCZaSk+n}1>G}d-A=npTe%CR+A4=tZ_$%eNa?Tp_=kZ5|;)PlGnt8Gd{>_PF!3iOkEOej$GL^ikl*R=diATZ`2Ol( zo65~S@=uY>Wyp`!oP~Gr%#JEVS06elyIFR$@=xvx+jx-ZQGe%t4lJ5IfWuJ2%|#ecVnx|X!d zf6uNY*0*pn{q;GrL+vg`Dp%_=(~~bLPj}iK6-N2{i{GrXzV2`yddYvo1R3wJG5{VL zFa4(@OcKHYP`>({{p{bTxd)M2uA0~ph< zTc&nNzZLs+@GtEoCCYQ=|>M~w`uC7P**4i=Ji>{zAV)YY!5p?uSzZ(hbAn& zl=yFs>3d*(xbSv%jG4k3!=+Am!%TD%_E7WJh)2WPq~sjd)i6$%yuux)OU`!ZW-6U_ z<5D|RAHS?|%IT-hHA(}n7wH?ywYm`Ai;4IAy7N4&K9B0ZX$k(Bf{81CXh*xnvF5}d zH!B;+7l6I&&TYU0IRY-UE;Z)yL?gJ2gUc3h*$PiAqF!xkJ95z-0~^MFgAJncs2gjV z-SN4SGWHc_n(B{7FFJT-e&7{+oLi7VUO%{OB`_7w+4X6je(x{lP2D{Izme?(ek<~# zdD>Ev|0?PnjbQ`iUZC&Pj82)3uKpalW}itQOZru}p0w5R;oeK3AM^>&g5*^`IxnY_ zx|XA3L%A(w5u5KmaO34CKBDf2B}ePAIfZL>-Pu_n?>zRVjgz*Fxsc3{)H?e zMN8h!T7ya8J#-Co8(BZW8Us5IdkX6d;;ez-d)cedXNRwoh(~1M3(l=haQ!*X)52E+ zHhXSsG|rf9)aqpD!naMlbQZ6`%i1hTzg#)lH|D$!`pdv^G%Zl`0oq_9}Hf>DO;mxud_YR=Sb82A0{ffp1B9j`Y4;-YJ_l zwkx19gg&>d39Ve;?Oq4iO>TJYm^`g*B%GDxX>A2B&z)XA*et_~-0NT`*KzOqX|C(M z>$|zG_T*LnMs%(CeIt5FvL^qx+MNpj=)agCawk%d?0OF|{BGmf4kyfdjaqyLivJe# zWq{BBk{`VXkRL}_Tk6oKYbHL+5>v5ZCUR_om01T9FF?nqnJ+t?<5rFp$gsEb>^W%r zH(V3TAo(GV&+?8~CE4eQY4IEE%nJJc_4vNO`ix!goOl7+Kg~Lu=^VFmtl)S%F*Xzf z<231s_mZ2Bjk;(lHtL*I;t6=;73SlzZZml!hh2}uJbkTiX5DNKp31>fnY(VWvH8x{ z4#`K0Uu2ReQxo05P;#vs81?`k`v21Zu^wdP+2ouD|3P3@^gl^ItQ<6X{7bRQx0sn7_&W3$O}})F;x|=Uo#X&pd?C1zKb2%*9?x)$=2s~5Ilsg zWPc81QEYza<<9)Rp(9O$#w=ZZ$)7EKBKJ|$$kE?$xXCtjYILT zI<4wo6T5Akc^5W+$!M?d2rr;(wA(s;inZM@VN=?2%>ebsw}B4(7i?l|3+XQ5Cwp*@ zwJjv81XICM@=%j>O&voj<@hTa9*Rvoy48 z!b7FIYf1b)@ zZ%OH0?vlq-4d4--IiR?kY17&!-+_FF={0V@(i=Z|N@I@bK!3bjvcmOcPzU5idCwC1 zS%vX!+@4|l3eYC_T@2p@<(sztP;6Gwm+d#d_n9JX0pHh^zv`Zw-PY#UUv*a-azD7y z_Knqs+;<1suzefbD^5JhE|qmT=s35|E&oF2jCtd(CcW?PB01_?YzO+CKJ`0AllZL$ z^V2+?N;_k_CJc&(?0f>o*-GiC&@hf~V4C_(Lw&g>{1hc{($2Ul6Pw|0E$#2OHe)Dv z$+0$z?|OVLTd3EQk41!g@_-L*Km0KAC!%o}(OUZRZ;Plur1&USu0dDn)AVEID-!Rz zKJqH@x9Tk$TKujurLVDxYk+sq&P&7{9 zzLT22){C4_{YH($;6IJ+nrLlGJ67?9m+h{M!jWK_`^Jd9=Ffqn+!_zAu0KHj#)65e z--e90egNQDP1(EQ?;61mxYtp(<~Z3tUCvm!-N-I{>(kQ%DQnx)j{LA|M_ZntP0}sM z;G%AnyoHDM!RtkvO}yjEsEIA5w1qq@+HI7}*d2Iw@i2aWUV4}Qi|lvkMSUgB<%mm{ zidWHj;nKQXNS^I?5Wj7?8!Myz4sgj@%l6gaayI-=z8jDoN9RQqrrm*U?xdaE<_Dx4)#Z6@0vn=5lA#eWt3@T=H@3*C@25@dM4j z8NiQe?R(l|`%so{fi1eXru5y&bK+~b-FG$YOFR=4F=9^$Y@>zL97q;(`>v46r9ZT~1BEZzHeMOGCvX!>?&|Yk*;yg?I zx?z=z{t5c^uykFlpQ%w97m^n=az%aA><(7`Hi3^^?u3w*EHz?>@=N3`Ly(^Ar#&D$pKyK=KJ*U>KQMnhf9 z2JE-`sGZ9gVjLl;v4l-K=*zwAFb)tLypq)f1rioIM&?%PdHdj`{q@nPd~VLh*BrB< z!68=Egj246-r}-HV_VX}$b3s*^dAp)GF~CN#`oMP8Q#k~zn<}J6FQOmVLcbWLPy29 zl9FNAId&YymARtHvRbu8GJ$-KZ@R=)^59yU@qW;CIa> zTZtcG6*QEBhSK;c^0LKM*ZL?nb%QCVu0hpPyrFtBAFajePT2v_vHEOo-SJz#vT>_!|oXzdAL>erQb{e{)$aPszvzpigEZEIgMZR>6@0j>F8$9ULU z+MD>P;=0_FN>0wRKLWALh-r`^o`PhD~__hGCf7!7d zc&T2a=NXzj@a+&?5H}|%-0eQ%_7@5cV@>OLzF%WEP8b<++?&s4c26emSf06Z%y$Ex zujbZTd#Pwk#CA^V7wi9|Zwr1ig9}n^Ur*;GXwiT0EKd|nSk3&bP6_Y=H$(8Gz%YoB+@fLMO-k;jp z3GE3V!0a$|c!jkaFFTJuxvW&5oZ6>y`F4V67#p_{9OKVA-Q|_Tvr~=K$J#yc!bwkl zjv8}T`o=!mx@+PCN;`g0Y3=)CvXM0RR5p;tR%9pTFLUhL5aB{L zlk^E|)r<2nb9v@t3g-iiH*LA$Ibtfc<<_`-h|T&Ld@YSVKN^RY?cAkMwZ0V$VtMd3 zh#mIi2tDUz$6(W(%Z~YN>#n((xgKwB=DF)1AFuw6gL#u4(}vDhnA1%=UT+()Yj&$0 zf+09qq%kOL(L^lII4AQHrQd*kn`~8Zvv}inVn`n#mhch$K@L91nT$g;n>hAO3pi^P zu01(>Quby6yU~uFWU*gnTVJI0hsC=Cj8_exQlBHe?q|jR7xgIVD@Z0z2=(NQ=AVQc zR-204>Yqi>g?7w2zBO>7pmC+l@F~qz);wB`w`FFVHe`i6o_;TWgRKGW$)P+BYpg;3 zA=Rl@G)5mmKDoqQ^x4*VeYU&2KHFWg^KX%jA4=crj%V9`+Ne6pz6q|?Iv(X~*YVJo z#9ohpkKN>NN_s)!Kdrs z(`^QhOW5yaCU%hT*ClSV;#((Ya4f)g+r?4Cv;PO*?ytEfHoIc-*jPLGd$WJ}40{Vb zk8hX0QN=WTyR%Z6&*7*2A%5D|@a4|HN4tQdi|ZQvx_?9Z=Se?I`T*&x=)de*ieFbT z@km$PzlLkZz;eW)%@KbocWgl_{jm=e_gpz!J8b`3wh?jw8mJJ@kHDxbWntvu4LU92 zt^I!D&wsnu}kAU&^mIV6}xm1c4-@SX#%^nLw0G;(D?F3a@dx&D^zXe4gCsaPMNPikvEIw zoA_uFI*EerF zwb%MrZ$8#$^HF}H@s?-YzW%uQb5<3g)sIKDj_)V8qkH8e4XZBt&XpOq@2YW^VD7`u zr1J1)!)J$2$q&Z93Fy&NEwz5hlTgqtBdoS&Pn-{QT zZma0uFJnx)gr9D7n&FgJ-xzwjt(Y(MjqM5@*Bl{zmp_6mE6H1O5gmQZtHYL2-|m_m z@xL3}Zocv6xDW4zA8qVd^ur=_MSNtAyJ?Z{NH#or!i^ET#Lhd3VT;-M;=q0pd}VnJ zdaLc>J-jt;JVnMd+%;VFT@M8=@YE8{g31RxU==s zz~`h>Ur+Y0Q;)tXl{MJlRgGroh;)CadGRmwP48ulJ9y)xg3p-z&S6j6@)f_XT=^l( z6VPjjeLAckDs#gv_sCzC54qz>sz>HyA9^k`r?oA%u5``=yn&rRAO4viA36ejLQCrz zQ@Q!Yzrfx!tOW=&cg@K5(R?t;Pn8E8R;sSH40u$0;*Mrf(^kv&shZ!G z4hF2>%!jAjKRa#5d2Rojb3i|)_ApCR~xp1;!z#G@V7m82%q1+d&?KX-ZM|_;8 ztzCnCQ;drTeQKUWO!Qe`&PqN=-H$-K(5U9fY;3;p7{&o~$GwBuY` z80Y%SQ1w+eFs^jP4do5&Q#bFR2{r`G3+Xr8ers!yevo~@*7Bp|Za2O)%x_daE^YhsEr$E`ZTCl@1Mr#cy4Tvo+4pR+axVSpX`hLA<2IDP zZSv!G{8D`?#zNxcXXo&XHnV@bC-qy=<~FBIdAohsvK7i3+S~27Q}mZT`mn1f!0-6- z8an+EeD?Xn`Zk>V{GjUhR56dO$T46%E-h|jF5Whyc(?F?$}a1K=OVdv%A;(v=8i%? zc5Vv((Q;c?+y3EBzO(Jm#tnuY|KQJ6{pLYw3nwt&IZzcNc!U7<9nJ zTlYJ3TxE^$C1vd&P6<}@?Vs(wZ?s*Lz5U*l`XJf&ZgSg|XYYqy#86x}qPMR6iu?(u z*IS(;{_S)5S7V`)LzagHlRWz2QB&jVJGI}gtKgl*9k3{c0X_}z#2j{Hn}yGX(AWN< z2hO0c{lhDYd7O*B_7AP>K5fiK3yafLl0}}bU9a+OTWCXR{foFeqwYg3;Bt{SH!G~Z zF7U1M>j8Z@$nSCES=fHn{?kWA>+W}_Px*CGJz~2iKQLBLyYo{{KkM~X4ARWnccrb5+Oe8J$?y&H%`w#nJL;(P zU6FRTvX2P;c#E_9%%EMngI>{l?2x0(jXEYDfZi9sA%AGS(e~BJ8=Kp;6=(-`cX3@_ z3H$=*f?xCg;e_(LE=ry6VE))QtBU_Je>qr;U zoU@)KjKMU!^X)}P>C1i?(VU3vzaW<;K5lJ8LGirPP9#3*k{2VKNXBf zw_f;>Z{7OYDa*%~EqCj%=4u#t;DzQbWkK>=A^&K%Y(rq(O?&B2wPN=zqE2npErBi3 z0n8Tz^GBdZKjpWb{97-q&36Ak+vZ}OY@N;8^VE4KI9w!nSvwh+`QJn1wml8_ zMAWALOnU@B<)gfP7*TG&+NN?x${g;^7yAYm**cBoZN6Kf?|iY z19m;SojZ{y{*Tg#C-se8*N)yJpS!`OUB3tYx%0&-9~z88gT?(tG{=CpX}t9uvRVCC zVrhDHVSlGe)kk)O>SX;v)XByB`1L`rtt!efx4g633R>f(aW3|lVlBsTBedk{q>EOl zJWnS%8o%^$0jvYmL-QWPMO+Bp-n?^*3)=3+=g}Hv<^rhy1}^HOjIDu-4KwXHwZ(;p z2S3h2O!8c1Ym7_n6ugV@RXLKgV_=&P5bFt?jKOKO&5L|2K0UZ8Kiw;D+OWF>FJ)(^ zRf`w9enoMh^xf-(Ra|`t!3+G`a-c!mhmemH+N}jnwhsY(S~f{;ZntwK9L9*TyPd_* zL_+n}oIvTr^tPMae%};m5nrO;FUwTn!+!EaTWs5yz8_<=z%Asi@p6Lx+&X_=9X?da zsze^xj+s-pNc5CfKW)4|9OF&kCraMLsjy@DYg7j9(>nVtmKO1!$$pnkBoEcMLiJU9 zL}Stmz@^xiWb7}kcnlVAz(+8%G!Ja7eg!_34uBi-zK*hE@LDk@GIe#=6jQFgv;D*U z!~K4}$bUrx<$=e(p4^B{sxp;cc3IIkP95P}c-Hl`s*TtH&{(75HDw0}+tja6yQTA?wf-|`ZOizy=B}+c z%REkK^vW-*FX9aPwAM6GGLQ2)#@&usyRB34sK(ITUQ2V((OGD&3%xNik8?Wq;1;*P z*u5V*qFmYu{W-{W?0aO2?LY3k|3c|+CH!sqO}0ssGymCg^g2~P4Ufb&E*u(Y-a z@a#Tv;q!*6yFbq}k*A)bbKAGWzh>uoes50-pOOK`W9NBR<(FtYTC#394~;A?rQh*r zH~W)^E&b-+!MwRr+T990(+=o2@}Fr7@?J4pG*|CwV0MOoCHv?17j=4(zF%_Z_Idil z_9x^|LH3RGCjyR9|HPLMg(mtEAA!Dao2Iqm)mAnPfQuuh{}=DVF_?#}vz6?|7V7_W|jaqP{^+ zS{>t#kGeWWdI#BQd7rUPc)y}>9sGhl$G%#Jk$ZORN&3d~x0H;lSzmjrWNjnxjxD`t zXTzY|e^q{Z-hfVU?MkO^e&-K{=I6!#Ke@eO%SA7cCQh1YZp~q6*;xi3l13!UVB!eSB~0ximz2q^ojI}>h0@6e+)u>26$z&-uduo81!ss$!+MP z=REpkyzx`%2jRu$d-m~|3(CK=ZfY}py-YB*eWQOt|16yn_2Dr#EwHivalZ|=J!jF2 z9-j93dBL;CJzD86p_3NRmPU!{6N;~N_zhLhFvGL~qms>nTBiM2M`re!8(f{XLgY(Rn@1=U$sJZoD?(jCrCq zZ*a$$hC7ZnIBE@0J}?v}u_?10OsM%xVhQUxk^bs?dzgJ3u){ zh;iVUkYAU=5@In(555QeGKKYc!VfVpgdbZ6>@w zfAuG5OF4bN6UsLic)U0lPi4a^Ydji0A)C|lnJ8{ZnEqYD>)%yLHd%i1`p4*CcP(k2 zJubHnA9Hyl+-PNvgKa^&9`f+|8?4bmmd>ae{~J4b@$GD*Ix<#s~u^lY27wm)QR&`y95~b0^y5 zZ&4kY=P7wz1zlKOs4-B%RDD+Xvl{-i`cQp5=7wzshviCxPut`sJ)SCjn7A0=6MBiH zcU>CERbwB3rwt{#6xy;eOr$^cPIVirLrJq(u<8aD))t~o@XiH|bF0n8e4Bh5>x64# zVOKN^fO~8U<*#ynn=-nGN9=pSt<<*9KC#EP89nF327&ueM{MvbzbgGUoJL0W`7%=S z4}2$pZ==Pv>~hV)7Op*8yC^S_PvhY>M>}nsh1-41Puv1N>Ye9u^(WeLRo{1UyIQz4 zr);_c`1SG1HRY7zH3eUe`0mz#NATp)aE0*Z)0CbIchGcX%zAP=7A)Sdw0;4y^;~!Z zPl@ZIo?rAy&oBCO*Dr;yu1@8gS9afecAVMuAEHGMXNub+Sz-14y%uNK#Y2ZYoDG7H z;@UjqLj^LyUtfHXYi}-m*Rgz zx$y3nEt`|JS4k#$w&X}mEKE*Ji8M=H7%Dw6UKBgSD1H%r!Do5qj`h4`)4R4UryrT@&MdkQ77R@wo zJN=Xox7e;X(}$rTARhgpL~}7e1~zy8?A3_4P~*;M!vDr%QCZWvNFixYX&&M zo?`CJQOifr2z)f4ywTlhzYVl~(Rghq4=+y4X~hf)DlfOcdFpQ6yVs}t{d`zImeA7{%`1nXOR=x#|P)S zvcjyN_nf&xa^Zu|mCxJbFjs*-8g@$go|)K%XO|O;#*-6T7rH5jes<+?K;uBrd#Ijz z)VuOwH1CsEZBV@%9-)pl-cPG(-ZH#cctP$UJDd>3+z*Yl`Jc=UI-aHchE51y&3BBD!p>RkHj!tnM@w~seQXIb2xp^J>QF)P8J zU6a_n|1_}`PHh&ABFk1tUP^8upN>ghmVWQbk0C#9%n9U2aSsahMX(XQ`6Aw!O^$Ik zSEo^))!&M+8h7U=V)4N^8~7;IefsX)YiCp!$<0E^90g)I zlHaQZ>@enp$)Az`2K2sr25Xz#d-<1boE79)mGJKISr_(Whi5-7roY)~dB|ZbyOVz4 zc<(%$E4FK@FRw<)Ch!t;>GzFV8-LQ1)uYms;D>VXeT-L5kq@TE$MOMX3@C56oT+wh z#yDxVjO&xJ`x8uk)vs5nuakV2o#UI`XZgm9kuvoV-+s=;w0H;n*nX(!-Mf$W48s?0nhqa6E}sn_6E9dek)M15!k6$=@=cZStM9a?5d0qY z^QKSvf`ymO1DuY@!{dXs)OD4|2WiQMjra`;^h>Zu60!lXM>^<_E=G5EZdzix= zcCLVDR?L#Nq|O;L$`5s?3A<)Hc=WntRsl`&~E*IplL(t2ch^`2%^$$2{Ui&7`) z{j>E$tPG^=Vn1Zld@o+G`|O?IsQk(;fmbwN1v!-;p|>|a9UCw{EsTmS%<9qRV8q{~9Pm0r(De`K>vtoII3-)%2o&A3VJVd*yV{F&O!re)~J$_qU zII#xix8PyuMt+mx+yvyLA%7b`4H;wm%%ZIx=(FbzHy)pBk4=;xu0r&WJg(JP6>FpW z^TYTDK8mcx4r=~t@KoWw*!%Pg=aH9WaPEtmkIg)H`4vJYlzpx&Qkd=9Ysk1k&4ors z$)8%A+uW}hHm}M@Xxs1k0lo5>pI=%Q`-gwQRM>K+XskJ^Z_BXd7^qqmc#~K9&y_z7?qu5{Mo{;FjMigSWo0&OS}jS$q)N6Oy8ckfZ+3y;p3u_ zLY8%Rvw@W%UM_Kyo41x}4Nyqm0|&!(*t-t;^(9{5O4X@AtjIiT@{(7u-tHZ&zhe*T zL}+1C`W0fEh1@uii7D(otXOBn3DjCS8#7Sr_B#Wq4Se6r_t+U#n`UUN{p4O(=D$hs z_jTbY8_<1!vHB&JrvwY(!sjdT8F=^Y!rTI2*`=9FH7USM3-Yt6YxE&KC4@(d5*4XhXw~l4~*aH8nx$}XutE%q( zxqoIdNd_2UYNJNHNYEf53>b9?0VfhLNW@5^MopcW%-qS0OlGDt6PUD?0e@0r;PtS(yt{z)4-M`nxwL__(XBnV-zC>BkcScUr zIz#$(`iu2jsmGs=zo(6N##{yOa|>hdY15fR-NXBTa_;}Ix$vIB+*0k^BEF%Gm#eMB zTRg4(Oqb+w@57@BBxb}NtQD`X1#m%e;C&+FMx_pQFrF0M@FYyG3sdR4DDzqg5J z4lJZiIDfWa{1fMmK~vmuyFcTLtuIB6w$@Ji7V+YV&K`;6I&3nL9zPpz@+_P9qW3#W z_qOBK$4}clLAKU7u@B&hw>k}`uI4L z9$`)vbbi{THIc9TPww_@(sTs+?Sj3oPG=49Z%g1A_AifZi}{O2I;iz7W@|_IEf2g~ zfWsc|PnLwZy~NE5a4#_bW4bf)`!?v^GmMRIKIqm#t8VE`mRz!tzRFoReEXvDkA?3P zEap7+=42`VFE+5QSjKuJ{m)YWciz02XYcl~e)&u02=afg$|allzgX?>=4%(T|L|V_ zybgPUPq=#PzbxL}b@N%3&+D)TKf*XSK0%)u?|#MD<~RHGn0wZ7FaJ5VU41LrX1*F<+`)d+v(7%dyiF`Z@BTY@XSh9P*-HFQE7d`D zq5M^PUSu*SBhVm^!$q3n_%u4eZR7)|6uOS3nsqvY4pC__%Z*`p5GMD%jH(`AI1@9 zSGTjL7tTw}XKgh;#=C-c=GrDcM&8d`KhT($o2UQULq9*F^&tQ6&z8)tE&nh%%-Z}h z-{+wJ19#ri&*N3rAMrdyD2KBBxeVTSq`YaKJ?E|QG|sN!r_3)}+rvZS@Ush#`2UD^9#=oFyIcR2 zyK<|_R61+pWd1Dl7IbU%!j@YX-}U@{(;q%64JF7 z(;yp8pM~K)rOb_!YM+h%rhFeNYn0oN(aqmz+ZOUxzN3vkHuMAh)EzH8A(;+5>eh1l zKT*$bG;`NE0$;~RPf*AEU)Wb&N9I_w!+yww)rWZ;d&tM<>Al`MQ@`PD%+bzc40m_N z@T++r1Y;gF%g7VP@E7cVsO{RzL7s8#=deFBi}oGT^YrS2+85dxd~x+2kbTRCvx`e< z2R-xXo;7#R9MpWqAV0A=_O-W9{am?!)|cnXE8e5-#>;!Rb~3O2eYaLQaM=;g7nfdm zboEa;TYT|%K7C0W|Ld^#gWgv0tV!#p58uQ4S`TSm!~0qbbJh0vt~s>%0ci^i#5`Qg}GfD7GACAliHjQ#Lv1p9Ov?#{oqs0rff`-f7CoqeT;R_ zsAQXXRc@Ah=jtEiZ(7^Zi^ z@m&_JDcY#Fdw-1DNNu?xyqjb^JiqGv)Tw_`k>!!)43ev{15Tp+FoOv#%Ie{S3T#EukoD6cKqrRTR*xs3cBOG z>>=q^arn%8-}M^$A@8By^c$}qd)I4t*T^w&y}MfPI4LuSuXtxQbUo0qrrP+^?}c|( zGmgBE_nI8zJtlfr_2pb;)?a^p_1MN^(C9tYXG3!ZG*$1XR(oGs`t)};{pKa^{nYL~ zCV%?=vCeZJeW8YJv{I+1oDDwU{~HE(;~%!_&keMPaVfkLJst;dAr1O@*n=BWWix7@ z>TwmFu)i7JnS@^t&tB_0Rn6LS#^)r}&tB_WdV2o)cjwRtc?MfD-pqLe=~#A(pKl7| zP5O?;P{vZ`mAmN+_p)Z+JN~WL!{5DI^G@f_zLXrG+`A>i&GK`Uf3tjCE*aZ-Rx-YG zaWb*9GugItbFzKs?a56$zm)92|Lwx}-G)8xqkrz-T4w&nnpbz6hDUD z>P+HXuWyZ^xkV~>{U^V_Jv}MHvtj((7rDJQ&87Vs$I&;6?m0o>}|C9 zX59a)&#tf*e0Iz6%0fr3u@aB9Nel)jrbokDSdHvojLXWjF(MXJ+HcEXiW;g!B7Ab?$!*_e?N-Ty>|;u8)kbSD!8} z-}Jt3HD6YuKfjOv%-)w2&%8F7vGBr%x$k*T!=iR`w2e=UwYhh&Y~yUS`pNG6 z%1wVl-@vvvp1O5x{50PG;m=g44=viza<%j6I`8Cc>Xm-3M4ILyvo?L)?QQPc@X*NE zh9kc*w)reKf4w`EeKXH?st;nfdiRj*b$r`hRr|zl9niXILht7&G|CTdV%{eG(nnfd zx%i*O_veq&p7ZcAyhG->Mfk^pYyh~$xA*f+C!9OT#wHSMlD0j<+~ullAM*mvJ#pq~ zj^}giP}~<({vvc}XaB1DLFMzo^nOx^HRgraPZl&YY{oc=1kU z_ikl)Mc=BCp7IYFKmNnXk8gWY@4w=isr&?erl_>mR~~<2=V$$X6!(VlKPWBd-l+Gt zaBt$$9`{n;Ch|G?@wk49#|JD8?}Be|XZY1m@V}M^IabAaf_=KZPwPAQ@CMOiW8pvP zW7Lml^KVa@`7WXJa~sCP`NJ8=%f3R`n|1xdKg(R>4C4LIJ>h&X^zx&UgZgAX*!yHX zC$F^$Z!gFD~%(O$`ha{P|m^t}TISqDf@ zdhf{`tyx%K%#|MK(=GUw1v{+e|&(Gk&z+ z3ccf93~$%Nal9KD5k6ZX{|?2G@sa_(D;tsOkC+{rUpk0$-t+EVOu8Md~Z zc3XjMuH3rOpO<8fiwzVWyA=D^nu`DA6T$ABK;p)Q2F3{f!j*fMrL-C#^{- z;kypUfSb7s=KMzPY4V*an_z5tMEcX5nsIpC<_xr#`yUrSa)Ni&=ldm(J9kByHdbSk zI#2M_EkE?*LwGmEcFIgR-`KQ+@6_Q3Tj`Tc_~ka@_ibLxIF8-w{er~1@tpXgvw!>p zJoQeHMK?o_t?OKJtCw4Ij^qJ*myF&MitI0T9(fz>ALbFc35}}@@lC9$XTh^Y^MH(Z zZY6Tf+PncDRJwY-zF~bcFmg1|KbPDxoBAUkcPFdrAX!x(r(fz4%S?N_vxCyNdmj?d z_VcXY4(gh7WBr-lZdJbYYC08;%%j?ypr0-c{dCz@>}D%=vsHG3O|kdT!92d3y@%ed z*cW>bLv9a!BH4kb9|O~ z(T|$ww_#pTzh7n0h86!2JDHi2a+cUVb4Z()How{4)1U0Bcuzlc%psE1=j~r?KPL&jw0R}>2JZdbnJG8prD}(( z2Cnby@9Qp=hldA;OI?HAHJbp-&o(k8p^7be>FU&$Vv{Cw{D<+u@?G&GHaBy|0zdTSvhSlZug9F{AzJby5@IYrj1@@D(G}8C$Ws(E0$@JyH9@WKB z#Ih_b_4kb^9*$l|bI<9PNRhk?(b&3y(Nfoy z?i(%BXp^aYoqT%8?^Ghys%+mFYA2^tZxlhlfxd#$^Hc2>rrI-Y_F!lIp;BIFo{svR zf0^C`Z;0bOrig2T{6g zeenA7aLN%qI;#)y>r1`#f&WN8F&K8usb>D5ezLo!>7<2Ixt0AtBKN;1pHrPIYW4cj@<@gC%08>wqL!{*FfiCqw zqpYAC8R~OG+z7J3b6`z*xHPhEXlQVFw2X_WprzuBHS;tYFtT*^t5Mc_z4W1)ULuEv z2fNB6C#=J0=XK@M;>%ZD_3kU$m%ZcitJNANT4i}zy}SAcM=v;YUSxOcLVL$FZU!gXmEszOTV`u%XXH|WZt%TJ*~eFw^8 zqfXIGKL!VfO5Nqrau*gde{%XeY>MG$7MXh0Ry}>gBcs=q*DtJ|hTPEWrV5Z$Oh}Z6 z@r7Y9ul?No7;W5;|g#CCD2h zy9XJ* zgLG0#XSZ|jC1!=`%)NWHt3$BKblw+u4wOemnMN}u{{J`+ zjLlWZb(s^%n;E$CIBGICqjb)D3i-1MHkZl#Uz4`}yIrM#P0QjvI>AfSOz0zUd_A^{FXw7gZG6!||IT(YD>p0cCL*L3&XSr+G5xz<5rS*O>$N*o{ z=ZV5rPNwsd&Zi>W%E`CY3Gz9IKQvsvzHe~di1S*m;7#u~9g0UXmv9{5K%_8Wy*u)odtqcMjWpH?og*+OC3E)>u`- zOtF4D>HJ|uR9zRdzpPxxF;n^!?Ky>3{3!OVOrx#B!0 z;+@Gqj&+() zm)5e@9$pWAt?QJf@)*;rkw70Xd7;74UQC(FE6w&5hdPHl*CM?N2>H{AhGRs$Z#NAy zL*-$-C)3>|dF$nuFD%W)^Iq3Cx_tTN7+HTAnM)U4cy4LI`~~x0pDZTp8EXdCX@fMG zS~>BIa{l)HBlV6y_Ac+_1m1b{d>Q zE|JG(>su~Lte6Ey@m+%hba>=&g~u%1%wOKNodKqApaundmo;L&w@)ImB^-_^+rJID zqN)ziD3fD*x+ll=53XtNF=-+WPEySVCugzkfypWKnf9Lk&Na1^KcLwSKJM2B)~yXW zyURVD>-tAsSTCc~P7a=_gI6DI`fvt4fKcNLR0>2pq%O&f)7~A}2#gj^iT^8FEJZTHZkx})Xz_l79b}Ex4iT2S?Py?+w8E%oR!t!I* z+RltcTQUE_H@qp1h-7tbP$jT;fK

1 z?&?vXZ-6P`TJ{b?nKiqPc=YrQRP^i05-a<>FS9bP*0yP^Kjn#cIODXaqG9*)1gTRb zWsPzI50w#BcW9>qc4lJkit8T4_iDmYo#5K}1U|^Ntg7>&SB6Y_i0u!=1d$?Ax)W5# zXkr!;dT8D78oFSWr*>7OmEDG%+iQvQMMZ}xQEexms&I z9@JEJe&1j_^XuNhZst_ZKtg<(S(uyW&Zlx!X|bxZ%$^@}+zaO~Najn0IKgB-Gwk{N zNjcoNdL4i8G1dO}gjYbU={e6PxUeAH?WQz^v$zBogb=2pdo5`^*YKirdLE*>T;;RC zvlA}x7)Ax1o}W16liaV-T@Ge2;A4CF5$&IG@%)8L(=!>XxuSA&%Cn8jg7M(Vl?uA; z;1fo~-RStLWK5S=9oo1o7~P)`5tW-)y?Tv^yV3nk72N^wxi#n>t)hDbTxDA@e#eQ3 z%RK_xVMN@G?q?AU_}F27TDYXYQ@BKj{&K&}J>pkv1FunT?))mcrBl!?uA*B$1>JkA z=)&_e#QG5GksAe#WxC6&<{CabGun@5^`t zCEpjn7B1O~e2VCZ%WGRADz|-&r9IJpVo5m|r(&8*vtl-*~0*;`bbI#BbW2;I-s?CgkC!@ckY9n0)5|t1R$>{Bz9jK%nF1LXfHOYOq+o-QdPg zJdEGlfMb6520Cso7{4pPVt)I;jo-N;P4fL3aLn%zcoUZe#5_@Y+@zg6Jmcl=%-(!h&( z;F#ZG@LK$y4|%vLJl@NX@ssaSx#Bm6d&IAC0l3Px5acUb9}V%3j{+FKHvt>JtAS&F z*nMt!$fTR`yE20n{rChwEnL#y#aza(6FA~`$`R0eh_hh)By)h3^!NdODBJP7guC$@ z2afoib{l97{S|KrdAKS3ppBoUT$1lnF5`DIaKx|aC}0dl1~@yDFrK-(|otzlXt97YoMEY&OI{@d$wNQ=br>_`R2V z#P8*b@8_~${8kVVU?n~A7(a8kRNuFADNX#=agX^8fl4qM@SRD z4+BU1Ua=p16_*9$x0#3lE9r-={E*+t_fGC6-=}~hezPf8pXo@0@q3_>?v=~Im!(u` zS#?LM=yrqm)}WKUMCG1IIfY|2=$LHEa6~tUy5>h~(EVzbN2yOfz>nHj^4XkE@?8%e@q5id_|?!$ z{jWh6WB^M3Nk6h@@l!i1P5gFpkNBNC7jz|Y7OWm0B_if0UTRA<~IgDi%a}ExRfS-U*jI}JMS^j2Z^&_{Jum)%x?$yHZJi~8z@cu{*imc z@B9NvGHn@g7L4EjAtK`UR5N-$Oq}?2hcx(21C04CknItl2IHssWW?{EkAjO%{CYx~ z_*MC}H#CrTFPDYDV_KD8`)8HAh)eur526#lHttb<-|zsqE(^xb#?BD`FY4#U?}Na` zuM8aVd*gO=Dmn|suY-sHE9qab`P@7J$=AJe^nyRg30$)B4U2Wzz=eXpXoyKsbfd{mOc%76LA)d-{V9?{C;#Vcng>K z$)_j{ehpRY+P6)>ZysqD0*{6nM8y1_0$;=>e(KA{Z$5A&-_`qR-vz{3Fn+cc3GqLk z3((Ice!tFT{FVYo{N8>9eq3oVem0j02|wNiu#HRn#<`4N4{*e9`9bjATo#O9ClLWw z($n%)=C3w}v_|x|6*%Je&Q;*|a#=8bmM6qNt+rUiCHW?}L??cq;2!b2mNN76h_hh) z_7D+ZB|RKRDNXV{%01%u zo(6FGNE(daVPYbF&#VNu`hGa1!Ed@U#{9-WRSyfsugaf3qxMyuB_BS?NYsbEeZNynHeyfRy_&xg+_+wn+_uC;&{3LV4uM1t|mJnyb_{zn^uGt${enC!cKm{u(&qw`LCb0WJ&1?*SqLtfc2? zx71$L)=HCnPjZj>Jxp{h`Mw|Wa8r2hPW-OyK=R$n75L3K132P0IuE)-#90V3%{Y~a z04wP@Wx733@w+XgA>WJ(fg^r5JPoS8V8QrNPQ)+g=8`SMiQmUVn)tmFIO4bdA+q%o zXTkU_BO;S8=lbqJ;>2%vNE1KhjreU`1m4YM!T8BeBYwGi!O8FVneP$5-y$yNx3_kC z%-9B9%nu#sp>_OpSDN_!5%-ASjn6_SnJok!Gxib@@hi$+_Hn7ccZ4+YlV6MYeYBfw zD~PjT{O%(n;#b#1Hnpqx-5Juv&+IQx9O34B_?hKE|6}|r?Jrj^*_LvN-zT|52fvx( zBl(OU?VBv;vS9q4CnCT=x%#90j&X^fcpE>B=M7v1F2c?dKUuyMo+ zu}J8C4BVXIt}LN1;RB@2OpPP4nN^(Apa#GkNJq)J){dy1L>E7JnbWLD@hlg2GTXhd%;KK znn)L(2GSSPg@cXewv!H?1=24keYTIukC6_Z1=6p`FjwEVLjM{cSGWy&@GL-o73ug- z7i1scSs?vt(wB#r7Sh49K>FKB?+7unXYeeL{tnWA&Bx>xkq({((%+e3PTpUE{steH zTM9jR7NB2|VUGS?(0?Sv^+FGx1?bNdJ4(|k-_BkAB- zAbmK)TzR9=2cK9dK@Xk<=&#Q(M?Y4D|2p}D&&bPO!LvaAancw1nEVma!Lva6#td`( zC#vu*Rroge1)I)406*|7!0*Eu=J;)|!f&j?Z>qw7y9(b?h3~AwcU9rHR^hi*;U7o- zV3WDS$Pb8Rq2wOcnk=$ZtFw7~G5Ce;H^FfioY< z|IdIc{WS2<9~0qC;Qu#De+l^U2#2K59O29t3Ueczw1SNhO%T&J3g)xKe-^m)xn}T} zft$@J{pH|k9TA35_=~_lOlAuA2VC@w_k~9y{8iv4e ze&LMg#b95FSE|ZCz*W`5-v7b$?#P@AFmo!7BV~RrrG*pQiG<;b-=0^?j_0{)bigzf|GRRN>DD zT7`cl{p(T;)xG-{tYV=(m9XO-K**t^a1ghe-c0>5o^X|C7gaM@iq#5(l@T zkh>fFM)1&oi{g*3ns%X2FSdcxcGKSB@!S${{P(mDkLP8-JHdxNo*V$*1x^_XjY_{2 z{F5Fp90I=$+}d0E!v9VS^>Orj!4G@-d_U><-)aBs@!|^bJ9W@)ewRD$7C&(s4t406 z+w}B?dpub&c0MZ3P<=okPSc^07!PMP#H#WL)TFaS@hPIJ6FuqC3q4mYR<4v(UKbS= z6rZCIwLe%OC_3{YG&<;!7EvL6$T`Is4Y7z1X2kV&r!o8y43SMz8FAT(2~lJxAcVQI z3^70V485o0)I!ap3cj4|4J=MAdPvy;*)af57hY@O(kQ6viGI;U&)^G{NYR7$igM4o zyT|Drn@LY>I~sTPz(1xPJsa&FhbDcbLf`iAbM&~iKm1r7p_6}6oI5@j;T)Wcuy8aj zipdVkMUm+-xhO6>AQwfJD~`rR2^DAEs^abZT6)SYO0RXkt-YO^4-6*Mbdm~uH^rF! z@ui4Uno?Q+ic@P5xlVr=o9tZ86a=+crsth%Q9_BQAw5%6Nj@p5mj1hOjda+$76AN zdhTXu9fzSKZWSkPqIiGICW?p~$)By6A~77OiBi47qlj>HW>SnhFB8SaWrjmCQL3Gc ziK4=pmMF#_WQiie>6IvE@{tuy3s};9wBFATw72?E&ASv%jbPS4w;0W5fQ@D##4~5r zI@`qq=b&};%!_jHbn${Ay8~Q7|IdBGV9Ijz+lYT@pa<3*@a#ZS0h8C_bBz&C%1C*# z?r}W#!t>REC$RRP=NiwcV0hM~S(+sKE$?vP{}eo}?!dYEA^u+A%R;$=?`ElK_5Hf1 z$t@%Po1VtOKML_I6LK$vc;Nh*A$|eyYeGD5(#CeC$rHm%qWB5^mNA-}GF|Dv2I(iq z{5knT;3;?oe?u7kP?G$)!TXcsZi5d-d=6zg*FLM`c?3RxA9w=mnJ&wl>&^1!;Geb^ z^Lm#T-noq-FK|NszX;{Zeo{WOB0i;vkMu*m^0cjM3v5U*uVYR=Yx3WjI^M-E0S-E>7rY=z4hEhH@_fnQZJC|KGAEx2d`8K8SKu%Bvk`naNxp1+j%N0w zerk1*u4Wp|sz`?GljI}F?*ex65#(3U8O8QMpL&zqxA7@Zmh`4QhyrCvpAPQG^k0CdjpKzKS$$=T)^`fX^R*yD z;o&I$kt}aZ9?VYa z-W~EnTlayGSMV18o`#o#o=ev=+z!TOW?THnfi3JA`cHX24&KiZ)gXWUoJ@v# z+Q`XFJ?gIwA(dI}6`-%TipaIr@e|kedjbEhZC-@;!( zYm>i)zk|_d3SSxcKMc(^fj_YR3ru<5nej}X%KV|8jWZcE?=kw^j*LFHH>1~o$tiuL z2hCH>_vV+N18ci?d)a0*(7v+CB9G7rz9*u8CeV;C|Fb{?tp8s710S_%3Wxrp=l60w zfgU*N;86?HCvqCS=FHQKPd=2Tyy(@*qr3|;o5{6Bbw?*=Cpp^4>?F4@vy(xk>3K>vJ!6x~d8Ln^2|w$<4yL|VR_?b0%@8y@ z1AGklR?laq;)6bCQm5RW5HFgbTNi&M2(t$$N|jU74M0&1?QM*Ac-7GTrKotm!s)zt@RtceQmf zjOmn{+T@O?EclqOOVC$Z7HyNl7e&68{+0UMg%La&$ul0wvn7(}#z>xPe0(E%)qks! z)4|l`V91t68wyhm;W!k;N#u1+_Z)9)YzKBk~8Qnk)2S!)7z{_ z&vPO@-AkH$GsV!!v2g;;cJ;}g>PiC6<_V+Poezc zYka)m1Udg9v_;aEm6fcFVDw;XAN^mP>fzRG&86pTY|W+hbqYU{?Y$&Nvb?g%KM&=~ zC#O7@M`aCVYe1c|v%N~U4~hOyMOV&-(UpTg;Olr=Gx4i^9UVN8B;T^KKIv&rrLMV8 zc^U@?y`9=b{MSRgV04uBm!naC3^sErZD@O&g7ehN==0Re{7L?Gq1=7Y;0I(grwR`J z_tZnc*M@lDg!B+q8@RO~I!_wt1_CozAg^#@nxMci#mSL#|zf_#oAr#mlVD`{AMfB}8UGoVd776jXI}CaPvhWK zSy?m06aFuO&y4E>jo=*-&Ay1|U7r55UTD7H=^gw;ws$lG8EhX(cgO!Qai<3Uf){1` zoHJ>ItDsYuxyRF=z5@7@p5DP$ZX5BR_3@_({-&pIIsz=6&=wAsPSmC<>v13N;1_(n zbl4c=aqyh1zKy}=n_8f`DDV_49m2C|FYuKiUhp*`9-TB^8{&c0$8BAv^943H(3qaW zyP`Sv(acuW$IZ{Uc_8JUv5fx9U3GNut1~{i@oWy0Z_4H^+H?MV&~3gotE2YxZH=b) zVAwoI&oSEECVwD;zwGOH#wfP<^&o@b$1<7oPh~Q@@f}$;*DB;ay@Mk?6oQ`Jdijl> z#=+g$+OU9Z)-MVl&SWUun8{Fx4A1o+c`Zf%GQk9Ti6=fsMy5zvca^k>`gi; zzRu@$F#0jsG+ult&};ln>q7flU2=CuH0a9wSnk1W@3&CO_E-w=H+c%^E!97|wQ>uQ zZVTwaY_;$iFSDy-=%<2<4Vi2@4{EX%k<)kzTfOAZQ~eyx;_GB%LCE5_T=?krR~XUf64yiNPd>h19RA|&8xL{m%_+q zx>CJTJ)j@6XZa|L*Z(OtAJ+Q9bd}$q=_h}8rk}jV?qIk1FK4!qKbr9=TEEAp1=BmTgzbI4qg<|EX&}8@P7Tlt^n;q zgBz0M8iN~ojhVqs{H1PibCSH#VDj=s<-~m>6?z9h1y5)MbEDw`OuE)nE}pn#UVyo4 zKhVV^Z^Gr^mB32^+z-4gz}tWc?~P=*++gHC#o$IB&o>zPuP_*)UgBV$JnI{{ZvNl} zB_A$){Y4kHv|ilurj}Ca!j_i!_l<8{K-?Qz`BmtcvFVCsSLX7@5^-{_vQb3-0VgIk zBh2Nb;S7DZn(tR1;v48K`nLHFzO&4?sTYiY_w{2FJY~G7W7ByZU7yQsnwXU=-jmFp zAf4|Ex9GdLd}DY4-xzMaW+EwF@F5O@?Mb#zoS8I)Jio+u>vN0mIR4O%+xcGdo@8SD z6X%WX*qqE=iewYq$NOF}w&;j^Fv5LDy7dRZdpYcNkV9>JqnU3fHzG?DGR@*@=9;a% z^N_3Uj^ksv zd)D}#v&SZI>6A5_?{1HY=hi=_+%6Z^-exi+xPHzEJoJd5!QZ5^RBs)^@>LbwIe8-Jca;tj2|@=w3@I zeN{)!T$qYZ&(>F$i(gGcF+lPm1_RbT%})#0%n+|M{6T{6jrnQ(({l%DFdkPBV=$op z<8}GPPdZSV_^slSd@75eaj@bHtkQIqE6;87-EYIqi;gu57W{k0nr>I} z0{0t_HAnHYjpKiKw#J&~y-2u%{mly|+T>do^iMy2{DR+_5IonzdtJQz?F97ryhi+N zlleTwk(R5D*EliWarXMfTavl>+2VN<$t8>LJN_{DV%vSk@8%ov^TxZ91uMG#VIw|r zA2hQsEFC{S-j{0vzb%XtURK5gCo2vApCPO2w&}6w#-@<@!65VgDw+3I$-Lvg#m~F% z-|1LIyO|Tu@{e2;JN{tRwJCogLxFo|fc%5mzPCDOdhW-3$5~*4&7Vz0_w$Se@@E#T z|IH)9V8FVY_-W*-9t+-2TwISM;CFLbFdpwF!eGF<+xRhl(t*;1Z{iZa7A`_=7e8k^ z(Elh+*Y?V>Aon@qnmvj86^%mGSdjZ0;#9T;qtiVe3;Mwia!DrnPRZ94U~3D|x_SI` za9J>ZhTA=j{{@W&##e@6Hss>KYx#aVPq;t$e#z~EDn)pUza=`KSD#qVxQ$gPW0fu@Uev$0UexNA5+}EoSmx@u!2Ql; zH}tgaC`ct zFPX7nX})>Gb@^uIu@7JHn~q0r@t)(4Y&iSsv1=xhlIH*9-y!~+&*fjrvng|%E3@g+ zjwG3w$stE9Y&+%3w~GJU_ar5yIeAErWqJFSq;wN=>(=XzKO|blo)+%&U)fb#mSyk~ zy=al~5y@n-Fm{Y3Y4|VrSly(Fw?AhR+Pu{ufEm8d{VMK5LbREq`zq+xnolu2i2cP1spnqQeqgn2PS_@#DRLw{G%R3hL(u1J>{2 zXBL;bz2bE>a;@Zw>#-YrFP8=5p?8NE45OGh%`F0s@}=&Le+&~zoS(-7?ZL>RqlI;QsauF>^F<#s+Q-`;NHTrJ<^3#7Qy%s0Fo zSnZ}j9n*CW@~7*bGig$ze>JetFO2vwR;PS!jre>#;zJQL(>6BP9p`Lcts}|(Wk%T- z9baFs{X2z|*{jok*97m`=F)1@*{6F%>yp;ZNy9ChlUb~z=8S)lJ+)jikNvFK>}8df zV%X#3uUOxZ9&35}-l*#^6iM7@o)?jn5nMmBX>;GHU9jWrKylUAM z{~1Hk|5s}YjWZU^hUJ?K7Wg1PG+VmYqBQmOWn8k|;G6YqWt`8!O1HH~3$TLto$Vn1 zBN|=ZmA*Oo7vfIFH{)9LJZ~DrOF{R@Hy1Q^9^sOYlRs8HYWU`2EAczIEEqq-?ViT} z7x?CBR;cb&xPhC-7=>LpFV*EW4&$fFml}R;Rr*i`p4z>0I_Y{MjdtB3c-+;U-ERFb z(%#RfnQix|eKlVcA4qyC&o0-dHIH07wY@yh?S-3z+1WUQozu7$ zw{nwv(^MCP-7T~$xRzS}$g;}1?8-iL6-s$Pw|?N+r!L*T^_A7K;9A9f7FXU!cE#rT ze&@_@&YW{k+JfNgzMpqKncVsPncw{8@0t0{%sDfcbqsW_f8VtE*|1x%Xko*97vvT% zZpvmGG|By+%`RxXupy`M?bDP>oUc^V-V^%|ZBy!+TPl5LMk)Hu&%Uw#4b+^pl=XElDUUvvQ{IY<@~(V9dDrxw*!MOlZ&Q`> zhMxBQ6M5x{KiI0g-^9Q8vhw~t8}DCzL?x!|t@Q5z{#50Wd6Q>mH3O|Z{~lrOeH4rFAb^0Df;BBSJdnBOAo2!rCF7{{GqUK9a2g9 z>oaexzpJ2o>C_|#keLB;y)hgFLH{12$qlJow5 zf1)xdE>@}6>+hPZQsN&@s8rPNU!zioF7f@dsH+#gty0HMSE+xUr&9m>W3hhH+t#QP z`geUqO%lIot(vrWwVJdvJF#z>t0sxR7UA_}HEC0=@2}scCY4@__jl}6lfL+alluqn zR+Iie<|lvlKh@+vO!)q`^VDSe+dt4<7+Sb?u&uBAQ*Awco4UG{gILqMsdK}^3XC8+ zdO>dsGdVb6Th~3*wsxSq+vgm#@*;R)9|XH2rL7adnvTv5LLcZJ>>jwjyKQiDfA>IJ zM_*Ulnsr@5)LAgm2ZuU_g48M~5=HAD8>NCGQK(`Cu|iRuiH@P}wsixWHutv;b*$;N zrE6&#J1BxTFIw2v+cP-S);Z9Pn1Wu@(WR3cj3Y8m=cfKGmCP>IO77^gg%uI&P%QV_ zo<7TNkwe{sLzSs%yTuZD-Jjgt5tGXh+A?=;+T1s!BGOHjN3iTTQBGD=giV)w1SjhH1sP9_%8@v3 z7W=z&b*u@G54uPDooY?b(8i8_DbS#+w}lC8juDjZNIG^~KXTR6w@#$k4icAyCHkE( zoQx$7ZeG*byLk}JDUvD&9zPDcW=G%V-j0EuA=`h}Zthyw?dMgvoYL^AZn|!RiKp5T zud}ziV<042vg=b^u|mOc*YoMHJ|`gAq)fCENOVayTIZ&X{T%~lsE!ny(Bf)@73t#J zP_FCj_!UpJiLyQ>jvP<5k%O_=RB1)ZZbp5*Y-HUM_>hyD4n>Zq+Q_EyN^O`b?6E^5 z`y}NG!>2k1`XWVYL@aI;9xEh3iI@PhrgsDS+u}wF>lhg5uua#0&}>?Zhg0y__K|CQ z2B=Nwf$o<%dUr?k(d<)t3|f@au?O+6;pkY)E^8;uGQBBtosoJZN7guW(DLskn(jsv;4|aF8b)gMbq#B__;-P_K*3`DSk8HLi*R_T4 zkvMC6JJ#756?G%r_UYgWWpVCo#UkAnDUo%zbdv8}-;D;jd1DO9Rc37ubnocw^&7A- zhp{fdZs*9Go&YTp{t(uVJ|V1S#kde~I1lBGn=oVcyOHG`=Jg|Zfp>h)HDhJ@7FyJ@i7 zk~F07Fly@_7_ck@oeLH_z@mknZNY52bD)!mHTHoN^xC#gRAbxq-2**qBf}_j?^B%? z!2x?+7v|?q68N>6{nD2yYF~g`v!*wHg^tf8Za1U@v3ej1|3XG$G}ieN3TzC@T+=;hI+d% z?(6F5==(@V@8)hp(^-s*qzMzn!az0HeGN-M#+K^)E z!n%1qmiR$e?k@Cm$&Z53JRh`kk*oVQ+VG{_Lm%1HyLn^xl^q*>SyxqHF2TxHD?QYM zBGtlHaGY6bB)8Fg(B`LtWq02O32*Lmq0aTJBf~b(jbW`@pp6?G5~W=aJB#52WmA85 zp99jYVbcS-4-+hhtVcb-99U4VToP~w#xZcyfNxtkF;zi&G)9o?OYo%9P@AikB&y^2 zoxtW4z0iaQySr`StaVFmEvmP#lZ!{gxpr_%9|nEZcJb=gg>CFFYX>^kZS3wF@+$!K zwzB*B-|KJfSfiC$-qi)Tr_)#M!`*y}IS8L!$hOjT)XPv#ej5lfd2!#+fIrAz1wAx= zWj71dVZ2&Dpjvx2cKa$_g?iJRAMWnxZRr^Dd;9O9?gD97>lUH8R-vKz38GsD?U;4h zF*G#5XXtt?7)1{@2##k$U#R0ov4Zq#pn^Ay7UqtwPhjoa*4=>=)`lMil_ZG-*-)-+ zJ#@mVIs8;KG|q-2>})btbHhelgbno_#cUed6hRGi_xE;~3P(8@X|NM@hf0%LLLQcl zYoii+`d}Z7ro_Ir#+eW4Iao+r$*~Eo>)xab5tw!*s1hrWQ)ILnrFqL!b zlD6eIf}U~35sYypj^tZ#T#9SoVHt;L8190$RzY>_M*hOyjVq;r3HXMPP$6vYn~Y-GW>*jBR#0Cw>cyrJKB-fWxt#EV5!T z8^R!kCO(m=&xvItZS2_Kw3m?W(%KGf8HC8;1{EUdW*#3aTv?%5;R+6sqO~6)hAL81 zI9-{bCHnM<+hRy^r2SXKjdq<-!9CC+jvKvzW`YjlKC#Hu6 zbtj%Ht_NnoHm>7z4(wA*qtRnx(ZMrXx9FbGV$I*8X!DV6LtXwX4bO=X!FIF|R>bOuff({k}!nl^ER(27H4&kg(IfONwfmvC{ zx4Z#<@KYUY0^H}Q%|6y zrcbD7AUjSaSN4ST3H4^r4vjw*!@MiA@*xn4>pTJ|Hx$#M#pgCWlL+!0N+C3Ox;dYi ztD;iu@DWoXmR3<2mQvAdEG4GhSXxB|SW0|O!{ifb8ef{>_!H~wmZ4i;;rJ74AK!j# z?22Zfn^%Y&syVch5YbhM^JGhm&vj(?Exu^um|_Yz!p5B7@h|<|fbL9ysPJx?AY3l} z)N=%x`Hq9pmF183Fw+G4#v0!VYt_17r$Sdu1gH7*<4=?|xeMWR%n-(JBx`8;iX^%w zg7lk195Tx3+rj+}L(#_KP`P28vxgWa1e<(<_Zx<@wJ3zHp6lB>yL;?W3BcIMbTM3& z>-DlkL7NPoXD(nW8P>3M*4Cic;h3S&SSkXvL|>!9&JN4!Tem9ld@%ah=+UEq*WXl< z1RVT2m^AzmTbHA7P*rWw^I6w!?zJTlCP@S{7r=q6HkUa-3!_XAqMQys%vy2Miwfvo zZfA&Q`=p;$VUQL&?FmT*4C2t2#2PbS@-D^8G_YSpLL5}5z zvwOjZ?KCb$*N2GPxUpXw9bH%#sf%DE8SMU~iwf<5QV3_DE<m2LC&qw)4|{{!W`)h5b$FZ%h6=8N7%8M^+>lkVALezt zTJk$f#l%H1 z3B<(lg@ser=L~rubaTJe2FnmMH+C>dO=E&>UYqv_KE#eu%~kLDx}^Fx^@T;HcG`~7aLun8V^O@v~goF@|wutAH+Ueqy`X86Wpxn zS=@&1Es8O5_%YO4I7cDPJmAUFwHZTqq*3(`;GxN>vU|XR%+^-Jrw0#3#MM;D$irCu z9lr9Nn}X*z@!bWSpRk==D-+rXA|_<*A)=!n!*-}0y4E*xtPN3nH{q0z9p_2sSnsRv zmV@59b8Sdu#WqA}(?z0(&L9zqonanisuZgyr`-iNCHJ|*xO~uT>?puA817%8X8{?- zsHTs3MXQEVkXIb4Mt1uhd`bh(t1T_ zI`L$Q>^BKEUcWP;!P!T?*0g8MK*zuq?opCMqM1j@nl?W0ls4zj+hnh8%6-ko_u_75 zLjx{r+W(6eH)gYo8x}3}Z+Ny(D_y+m5-;H?>pX?~m&!p*U#)44`hUGTQ=ML{O5C?| z=J@vEvbtcOry7c-8HMeh8Y=$jtir9MYHo4goWkfVl`c=Z8mUtIU%9eww(MqehNio|!iT>2E&X-;B$S zWlzg zx%n93xus8jzcBLPR|~@%Zp;i{KAJInPe%A28l9=CkVf_JoFrvtO1qkwZguHSl;3W( zQ_7C{D~*{n?#z-_I05at2ra+-QMKB}-v%8YRn0EX){?4Ul2>ZD>yFIuid#ir{xV;+ z%vb(S=!dc{edhT>>An|rnJ;RBUNzoMUC)2JH&eRfuQIy4%Lh;n$M;Ga(k=wn^@VoS z)S>!^%cEJq%Cxy7k9n%fw70p-&??&1!(Q&@jsUqN;fH#k+*C9XZfpY#-32Z z_pbT7+3vjZeB7{Q8=+n(E4HWl+_v%Y(zfL1%Qqpc)O57PRi#}s56{0Dyt|YKzAEsw zmTFZ#e}~Edt{%HdwL-Tl$eNCJql`Y6p`K8NUQOxF=L<|DclP)=tZATq2ep%+#rERYePLE!Ma@~(|{R!Ib7~1TSU+D6Hj$ZN1nugLZe^r?O1?3^% zwOfC!x{7D)Z5a8bIymym@&3{;_vT7R_U9<0DUW>Z!8q|fbr5x&DZTf2fB8EqJ96lF zfAQv5(#22w+}GnCj6I*3RVZzHUZbO z?X$Mz??$@>ZZu_~qjp#m)XUqZ0cxILPLE9+;1S3XzmGHp1k`@+Q-x7MQX zJqO*UChxnloSF$4Iq)@*59OC3pO(92#un(hJ{0dLbVj}$dULs?Qn{n(KX<9B()}+M z%8#pROGjO5JY*72KGN_Eslqd)`qt}|y0xfMdc0zrML#DUWt%I_dWvCHd;`kY)X!c# z!(~ieRs4^oh2feNh2i&I5$=E2UM2mnZvN+VnbeGxoc{Mk-T$hJdlqde{tf!?;Y9_M zQ<~$*l08ao{SL}7`vl9by7;%CA6Zmj{?I3@P={Wr^ZSLRdA}S=AFF97o`t$=MIV|9 zfA)j9;br&dhMNxLiZ%OlrGG>p{O&LOHe6Eag+Cu3A35k98u{h1%*f&A^gN;T`5N}~ z41SqLP3iV5$1ttWQq(ENt_;(Z=T+(N{4&<#AD$a{_O|5O(P!{H+41MP-^?vt^-N*p zwtEVtNAJM17|+372iW!tr91cYx8Lal&AN`zc3Dqo$483aL7V;QQfc>di+kqiI%S_m zy{3oHT~R%KZ#x;hMLU1K^9*&0SEqv6{ zDZ3fq55i(d&N_|BF1 zhZ&SQ!{AA)hW|ZyCm)IX0UiQQoXEHw2ni$j&I9<@3Qu_~1Ch4@VMku72=H0p#EFcx zKu8$D(`)gs08e==2a$Ip!j8Pjs{yZs7bh~tfRHePr|-nSI(W*%`)#bedl7c!?E=WO z#fgkB0U==oPv47w?eLVxawCnuPry6!@V=6G{q_Ox$UCD3a2-75z17et?>Tr^-m3uH zffFY(o&`d}2%fPF{~8#8Ps5W2c^-cqc~h?g%rX=wGRA?BFoI|F;$IyD@Nb7Fjq+yV z*Om7WV5Te1$nY)&f_#QH^#z1y36r6b{x&kn3KcYPYoH)vfa~7Xc<3D#9pq!-<57^N|!;bzMrY_V2E-?gVQzkwJ%ra(Z z1Yovz>j1O8S_hcz!aBfgFV+EOzO4hy`mzpi#sUZcekXov1!p32T+z{&oar`_<0K`(+sR@Fb-34k0rrFYk08mdtwdBk)BLnC(wHU%vMtAM&1s zJe0TBX~?GVyiY~oKZ(Hi725tb5F~+J+6*F}(Pgi?I zksJJC@$ye1nAc#0_PNZl0(&UcIWp}}Ow189SoB4hZ+zEU{hJZR7`v;QMC=iyiVm8El`$q(Sm^0nF}pcAH4X33;o%V z!f_Hzl|-Q4A91T>qTOyc17@DZ^AMP)ancs3u<*UHDoA>fDV*IK)1~a{5p%}InH`F_ z2`7DQ-pkMxWUMXVQ6%99(FIJ{+pg3*B>Vunf`kuX7?tqPf^Y);^mKzywBqq8;dVT# zB;2pmnI^0dS9I{QPP!|DxE|z8GW;I;@eBz=9~(Z1Azfr5t*nHh|4a!VQ|fF9zv9S* z&gU4smk)UO9Jc8~rcG;SAm2Np)OjK^gDHcA>yQgFKz~~%&|k{ROJlksGOu&$DC^`4ZDzj6 zg#LcM{H`>(M$Gvqv*j;n%)z2hcPh601ayaM)c@=8^qGRS>0WJP@nBziT-9j%3hZyN zg`{DV&(f{|yUVKLowM|MmFs!f0R#K{O~(Fyld-?=N@QT$$il8sM_T~b`}6NqT!XI^ zJBEQ9VPDD2FQ;fB)~{zW&yZt*d1XKB|FwfxTU2axYH@||J6 zm){-OZM3Zjx=;_4Uws*6iZy?8acUxyRpZBt?PpP*dh^!lW<NvJG5r? zZeh_GmomR|@hf2jC$-~WFMJg|@$~5Tdfmx6c>_G0w;%szF=QNR^lyVt8XQs2v zSo07huQR7lV$4xT;W>xLdPJv-u|dO*ywroheGOh5<-|FQe}mQ*HVr6)xv{Jdyjw6= zV;RjB1}Y7=!vB%Ev%=WsJ3}9cz@Lr4dqS`s?Ci`ezJ;3RJMkRwHO|oV!#_GT(r+&d zQS4ktPrkI~XjfG-X7{5SC49dVegV^Z8T--Rrb{>%@ObS`811rJcy3hcEjnz9hSMJX zC^*@3U}3K5HSFmokq(?Z2i~UMDz^H^V1F(?GKaSIx}{H!kBhy16#Kb+2Efif7h|fz zGoYR}{L&ASpU;o_w(VvV4!p_(7((&!$ z{xhdb@A=-1y-KrZJcd0rriU>#y%b|HbsB!3cer%J<*@A@X(`=#B)|L-Rh!!foe-z^ zWzeY4qxIaQ&^W>(17mU)GSa18ss(o6G@d6_?U;nY_R4%I^BhumW**hgOqLb)sknC~ z`&P22!TqS>4KoTQvloNCmIgf2^d10Y`Q?N?9_~wMT@cpgWMDqGNGk!a=}x$OHuj^Q zRR_6$Q~Wme-@nDZY2^QGt?vcf@r&>t^IWXea*Q6OKX|?%dmPL!;wkRWur67zgipb~ zyvNv=_gq<4Z=!wKbbNok=5&cTi){r{j8)g4^`Asg1yiN*w}Rz2Gy$vMrRQlKnt(Vy z1L!dB>F0q4FutusU>p2t22VadPd@_BXB3|$aNcVCtI|RLpU9(4LBa@5JAi+TPkD?h z@;;5QE3X~!L3nW@V>1vEMsV68{KL4aQKmT2>8C)D&(IS62+tBGLnA#h&q(Y5?iUe0g5-7P8IvK`dkMHS{B(Gx z%P{91&ODFAMM=}{SE>~c~saC zZ;8aeKLQ_!z&|o@8uCz{-f;ud23PId;COTslM6fbsu(}5!DPbO)rm}RFpcqr1zKuk zszn1|l*ZG4VrcoOVC1R_#rLy8Z}2&2=7Wdp$Tu{g@M_rqR^~#THnIP zEAue(Wk=p#C`A&Qf0_t!G*?;2R^`8Tj+db))I$g~XPw|NhW3(2Q<1*dEb~&}VXJtn z;JeTjC0synlkkm>4eXA<7NzzEHZb*4U;|UH26itm8`!-#j>-I40dH+x%N*U%m;5<1 zbZb%SEYYDoursNCM~7mNmfGpqx}J8@#hByU*!;PIHVNyAxSfYDc1~6LCoJ{Z%Ek*D z{ZC<>l0ByCUg#Xm!{4f=%bAR(JkABQE4A-ARX4o!3Z9i&HFE5GhdI~0m1hk(AIEvi z;@&wtFQCuW@f_UEKkiI%x(i4T! zw=qv&=g%+oIicO^$WjazdcIimN<;BapZI+7j+r=fHa?C9;Ni?tZShN(^QWFEi z>zGI8uzauMS_kJ>>x#R5TUYT%7>A3#Dx&bz^ghKh| zZ=C84nYnl4(mi^8Qd@ddH7xn{_&CdL}LGqdcL%UQ-m?c|IxiEYA70unmpk?B>{V zRa4wO^Y9q#SEUCLtw~eZr+wM}ewBs$u8O7o`FMeL?qNsjyxU^fZ@wC3V-G19?coJu_ z?m-*G`eWq4*9%&2vyNkX+1}yjZ~LgK9eLrKdd(x{EbBe;nX_=Oz}8kn8L+q2vdw9p zDW=V!Jfyw!_LL8yObYXFdbk;Rn0ul!lsKBdi~(?8awlzi>@T$IF@3S|xjN}`*r$$? zhj{X6T|bSs!#u8h#$UtXH+K)tnF6O}!Ty-rk2bN#FC*baStdvqm|=KrM@4xTSl*=B zvc~zQXgPzwR@SyW_gwl4&QU!H+vPnU%KXN4utA?k{4Lc%BK=>j4%p||_fQ9!XdPgz zsE^izu4iM1kTHjSfOyvZg#BQvdV%sVHt6;r9UCgg1@$Dx#LT?2asG{cX2uhgU)0Zo zi=WYFAer9szs4C+oQEtCCpzG{qxCd)Y;9YQwq>+qwr9!^-cVaMam8+q@vVM12RqG8 z`mAzM*E7=7{m7JumSe&>h4BpIGsg4PJVP8k8?MKoqe?x7v1#e!df#F$%b(*q$JNoK zs-W@BXG8t-&_*|N=B|Dz&pw}vJ_LOzgR*%J8utVaP)4p@pWCZP_)WCiukGzF zVEVUd?OINcD^IEE*$Lk~=uay3H04BW{yav#9*aLFQ^+aTg=TGUtcT3M?_|w56ClG_ zs%ht284Z9R;d>XtRq!X{TVUci>2mMVI?NHZn~VPvM)0%;@egxVy?!K~9`ibNIXrbR z^1M5+KX4GRIFWHN5E4c(jc{TW0+hkHBJYz3JMyNi2V901Co+10kT8O8$6S^B##$cB zLFD}r!j#tl4>#o){>{=s{~u}e5nDkO*ZsHqEc!or==kf{3TPWi&g+8GPI>8uB5go(py9CGtOLyaoFfP$=zS4*bp&Sp zX=nIviomu^4gD^kK8b5}>hoxX{~sgp{|dvNtWS(>!84{7(`1gxeh(Nu47n=g2wY@MEkMJBo+?Bj<;BX2_nK zxi^UG?R9wYd=UFb!qF#zwB+m&pIdVFi0Aj@>=Dm<%h{vEw!r?8*cqG|N+4Z(-sr)= z29tpPVrxnKEYK&3yok=p`atI-o^`^X#IsOzPVRBSj|4h%?_ACaC6PzbIr&PUbE+!P zIaL$roI<*ybE+}WIdxrN?@6JYMW56ifzGK10-aO)9sZXBJtv`@rEDiP1iDSi2f9sa z33Qu;_8{lCCLvwXZBjANZPNY0d8tVcIryi8GgaJ&$x1uSIcJZWF{@kT)mpF=3<@_7-(e|RME0B8TL<8^mB5X-e z9&3vRxt~Zn=KXrzKOZ|sMpj~bEo}qi?N^MCuP&}d-u7S-HHQ6D@I$VO#rb!pUwRDd z5|#(bB11b9ZE)CAuY$cMg|&#@A2w?c?mwqTF?-pLJ!$Agn}RRjmvt1f^m#4F(l)Cy zCP3y6Qo`JoY=GP<$VrvTS%tmu=G->bg>z5U+ktQ0mR`a#gj}~gtG9y=TG^r38xdzW)}lA+`U(GO9mQKmO{i z^(tlJzf4`J1M`ua3fmLPhq|MTv*6cdJlctR>|whdAK%!n?^q>x$7=L4$-Vty$xnvRZDw*nWAYweyvc(pWR|n=7Fm^SAXA z$jcQi;BV3V_{CZiwp-``ovLV);@xJfKlf9oE6cbmZ+?x<_!YDR-G0jWEq2zt(%O02 z@!U+rt>T?Vv)3Qf4wvp9A4l6s8JlG@($jY`mzUMD)*jtoYDU|T*G}};X{+ZIr(HI0 zxaZme>NJ&`K0e;mgZ9OI>>7WTWw~^}F3Yqz@8`DJiuPaGW^rDl-RTE+tBkZk=>zPC zJDyi5+$~OSPx}29zg62u5Jr8VUmjsS26c#ga(*2qr4C0wVR3%F_Mo3kLq2XsdwoRJ zjb4uS+K%?RL9g|ZZ#8dw3imR>$FkhsrIanxo*7%*I-rdmZNsLCwwPu=KtE=i_gFs@ z)XOWZZ`NZ>xhyLqeZOC;hBEFX>b94H&Y$6Ug!7DOj~vg++x+q?cB;nK&hL%HrH3&m zMg8BrGl%;9)AAbi7^8%c7<6FAE%TP&=$e)1AO5ukjPbwsy$;vPvnlT@qJgKw@du-+n&&gGr zn6W}VzTD=Nm5XP#GX2j}o=BSEh|QhDpLM=djrd{~m)U zUp4&Y@E*Lezi{27GVtO=Uc_d0`YtdqKIJj4$m>Pem50ZDth{w54u0rPzaRfZUKPS3 zZzsa8yp@2N7jdHB9|Iv_1W$hm|7zf=-!yoU_m>E}@@_FS{AedKz5+{{vxH-a$jdk9Hz2(jU&a1yqq&k1+WtkNw=0cL*^1h&UrJ$uXFG4L)Jgv-q9m zhxLEb=p%azlW@K*d0K>zAbAr3K8^ZFmI2R$mo||`cq%+*>f+vU4ADL=5Pm5q&RP5$ zw72jUlgKeB?bMT2j%8yVly%FG%1^UI1OT%htOLyP**d_?w{?JFJ`WsVj)T?#<~U{@ zV2(r90p>Vj9bk?F)&XWewhpk}S0EB_))IY~{lz-a>nwl(V76E50M}ap0l@6r)&ZUa z!0Kc&Z)F&mJlYv}VFYf9z?T|0WA<8p-+@^_HyF4Xbk+}6Z@x3~zhJ-==&Y~5^kIE> znf3LAp-W{QG%)!og8ho_0l@fE=m*->13>+G83U6a^{1bYL=6E({dp@KI_l4!^Xvy5 zW#x(fjF0;BzGV2j0HglAhn@IY!2f9AJm{!D@8=F3^_P$~)eAbxJ~7+SP5$(GXQG%M z>N6qb%X6sj4!)9(Q=#GIn{%m`#|?S2w-XC4bHO(-qdP|auBID?V znw7Z7*%t_+YM$s4jEgg^CoUS}1Me@Yi!pa z9bQ+($BX5ON|+!`S!zXdB{H3thek3N!(r3(*Ga7X;C;S9be|ec(O*CL4H0eB-Yv#l zz=pR4wr{n|v3Eb<+~3`gAxy^LryV@{sq8nfncFbhw+*j!?%hHY-zJVgOK^wSgFg1o zF-Z2lFUAdfpBQ+1hZuRW`2KKQxlhdJtj%L{m}j2k1v2HXFzx&HUN!Iwg$H`RSHi$I z>M%ZYpg%=5bc#0pg^OO(U15|5lhXg|)#>UTu8j+ssjy@HSEs*uwy>a!=po1qdX7ON z!l1|4iOCULRU~rMh!i19_g>SDcjUSzmUzCCbLcMzzCQEF@6wr~(EKQ+TYbg7r>a+h z$9SM^7385O{9$;`Rb>v@if|TQoXGni5E4dkY8C#8JjNAyJd@(e8v>k#7bh}$fsinQ zQ#l_Id6X^kxIT5|?F5{K7bh}42ZV$XoSMZyk;gGdieFae8ygVs$}KIZw-#x)Kw+nIHMo#)i+UMI;qEsJ?6%fgm53k5E( z|D#Spr#`I)HuGGy$)Quftr7YzhfaN2_SzZww8PO+KHI}F4dI_p_lTn-9qrDG=;tl> z$(oKRoLl%##}6Ldoxz+tw8;@aA2iR6$UvIVPtLp*vXYVi}Y|l<0Eay5{?{emZVR;u1!*YIuVgC#Xs#KqE zs(5e91m`OjEm(jXM0BTez9QwfzecTlJzCs!zU$M>w~jo9^Umf>!Camx7{2I=0``vQ zVn0yjM*aPL43r6T&*l-_s&-VA=0cXl*<2?9H=vcc{v!np%KEH?!aHO%U7um#dziULjJP<{U6nhEyD(>~8pbCb z`=sgZ!`SbIZot)%hv%)yPhRqsJyo^+9KZ-;|2O*X=!1A)K`rkgVb8RYcaw^b;=RDj zt|*LkAx=Bqu=7Qvvrio>ekt?eD{wvn`0@|2-)r9SojdBEt4BF7Up%v*&#FL%w1Z}}g9qNfr!)s; z@kr;RcrQB6nXo;SQPzAH%D2*M5I0lj{H8D+8CyWiAZHrJu5NMpGpooPs?9}Nvz=;!`J^_S;5u8q0ufkIv%R%(J1!2k~9WKS+Svu(dBaJ>X zuT5PA+@JU?`agN-`0LDTr_>nzIGyI7q2ns9ss|+(-1#*HV1noW=EHKr+~IR#Y~m;YdQ7YRSoq7 z-*5LnpB}uF!TGM8{~AtRb90@u?P$yPjQpnQOnG>^XOiM|R$gej{hz)plnN z{&K+2wkl`XX}6Vg>#E(Eo0lE@jShZ~gTD`Vs-!RPLsV$tLW#!+* z@ZSlB#Y5JfO)F<9O@)1S|wLhE=2b-3<|!tf^SS0bOMdzIWmCm>mg&302k@SQpZfD~ z%wMUytX1}7-8L6z|5+X@&6>z7esNY|bQXB9hSO`&ed-aG2g?HIdzWGD(lsAtf^_wq zm}jCP^A5zRGBR%3JV&v9x8Z!N|9zk5eckmstBCu&$8f(G-~3vza(sMvmUpP(F_gt_ z@6e78lpo5A_Xb#IeBT0e%M^cHk20H?k#e$SgztsOT9|7dtXa~dsP`S;QT13Sb8VJ4 z>juR<<&gJ_W|t2&&2HW?=O*ZQr>a7J^m_KnvdV_O=Yn^!F+J8b(raW};kRi}H(U?s zbrSC*EXO+;(B?wl%#r@e_qp-CZj`fZ55A$a?cu8SFF(8p@$DIL_YAVcBR_ag%6Bq3 zC!@2ivK1O4YuTnwn8!%kTzmfZ(*BGdyQCK-D#)4$2-Peo3|cM_GXyurb#fd!PC5+&?Sl3#4Rfb0Sx5K;gb^^}A zixU~Q0U==o&pm*Dq91KZq!DI1uDpi;?}ryBGI&-{!U&#w2>%-3nP18gc`qRB$n%gd zFAbbHk?}(yB#dB|;Z}IcbN1S`J=2lLd*te6cyUICHw6e+-fF;@!f1I+pET%68>y>b zvH-XaUYyALI1o;{$z6acPn_^E9TO%gy9fU$kNKdzi!`SDS^T>4UI5H#yEr4m8wJ9I zNyyXL0oTKe6M0_&!j*Rru*f^Z&?xVF2)puD0?xvV6M2V# zaOFJ18I~8yGBS}7vL#TgliTY+%p)c_WGEHjb!D8jD1B4G9faUyRo5U#vBz#{K_L!*8#AneL} z5OAElNI#$1;K<{?3DbhSeqv1xzo_$Vkoy z!j;E9F7oCW8uj~qgk5=gz;XJ0)WpFL-ON_}6M64JSoHe?gk5>8k1V`6(Qhjdu72%+ zMV{zR{r(DgSKcnbar!*~yeqHQk;nZh(eM98*p+t#a28&i==YC6xbg~sMZZOc1~^3? zSKcdti~0{w+=AJY3l&9{H+5#%K``hcFUhI$0_RobDXgbFvkh& z0JCjc2blfTI>78_)&XWeu?{fXxpjcqPOSsn1c2iu9nXldE!AlV|4dle=tWwe6+{J zya@l52IgHIw9mvw1GD_lJ`)_@wKMYWG9c+_uZeFOco|@{*96a~YG?R=VZc1-XurYz zIG>(;x1lpW+H>+^haY8~>@aX6=xEQ$VFR1;N`AqiqkSj;#=w+^_MLnt!Y}$zf3$aA z@$sFnkKWrSg7HzeDJdV5UaHTqGd}u5>JJSp^sgG2@zFn0-*NaC0Y2u?(LZF*Ot;qy zm26zuYdMvMEiul};uW`Bt7EuJY}s~oZCgf&M#TwXzq_{DxCCt#RxyrRLhzkDp zsL7-tb&QZqq3GLHHZg5@!#n7D2iFfc-*mJI#^qV#WUD#YU3NY%X`@$~*8+ZLH(Fa8 zd>f$qaY(6^c-vZ=^KHlwr_CI;+qH4crs;k;(zn>T`P01dl6>8qQ=aj$?f!U-NzMrN zDXxlAF)YAJn$^=uPH1s$ zJKp{#QbXOwucCpDzIEL$-IXeKF_W24bhedHVL?Q-5%*p9h}J;#pcFzIUToH9~O z)-)7T&0i~SNEQ&z4R>AkwJXai8_P4jCd|`*?08ca=XO)-Ym_xS3$h@C@wJT3W2x5i zF?{1Pso(iu>;~U9@YQ7-iaprx?abze&-eWFPRN^`keBi(m-#8CAQv*3_8Yx7=k7`A z{@;Ula=S?L@Q9-I@iSC#nE6v31ATUT$CYA4FK!I;Tj5cHh$sH_Yz%O1=E2Jt;+kbkVo1!&sx;a{OnyqTgzSX8L$$ zYR3f@)Bm7>=K^N>vMwgf^gn6nlsAp*AP)3)86*RVnGV@rE^{2|-2%JAhBJkNSoHs> zkN_oOfSI8yj_g=UV6uMJ+)=cfv`ITqQ1!~rO^dz1y;u$Br z7xty{m}+Rs>$6Py&PY=kXX)DURG)%|xexbi&_J89mou8gnW|YTGd#N?JzO34?i#d$2A8B_o7=+Ydki=4U2m33KEGp{($n8i88I_7=2XLWkG`9my&hO6_)bN8|1 zywg>jg!5ouw)dlA&q%d?8PDBsaLibj{9MMz;AHitRBuyq0LMIKHYRF&hWi}b6}tN zSSE+>46$uBp$!$kle~}g;mNBTnl|9P-{p%6A5h~j5BI$CHRgA?d36)gC{QL~esjFH zxGmSRXdGuCf8gzGy?M$=>$YRZ=ijW)+BFaNB=2j&%SF*Xwfy1fEe%b0Cv8z(Yvi7n z(Q-HZXXd62PxX3`@?o<$xY1( z&%*td;~jVm=OWEr!)5Xw=i#%_o|3@hyJKT3_zm`Y)=>?9dB<)WXtkwsLq5Mt70T!0 z`(sD&E%o=~`|4Y8PINcwlizyBQxttaSNdWz@8dNTYj94jNuN`z!~M84-Zh&ke*NMIcSx7bxlC(6(i}g6U#7`-CnL=R#65}lS;Vg^?P_5fHKjZCdExYq zAL6`bN#DcUKFW73zaL|b>2tcj6^bOPkP6 z?l{16nECRjaSplese-&unfDvzt{?6>HkQ7yKffJ3$Xlk^`QP>3xZ>UeE!1E1*zqNm z-SL>J)9nj)%;fwi#>^vZCy()-C+<3;Eu~QJ`py{d>!Cij@O~cNpG{mX-rua2?on#T zaed}i-#24A7z6cp(-2mpzmGB*!8mgc^8LO@zB@5)B#{o@_se*^+s1t5caPtX=Kqjs zv&SAA#dzW0y{zSXy~oB-Z+H(j<4`B)vn-lU`PUeKOc|FkqhfiM*Wnjqn>(&S*BWz& z&wX|rMZWd<*RkhSgE<2`7x(WJbwoYXNcpo2!CS?9l5!UiGPBIP(f=jt`q<;h1I}ZE zSNBV+H_C+Lva7%7jq;jsJVqM&TTDy`&d!Z|@D%@Fx?;tWY<*Yv^&5JIT3S|Qarmpd zW3W5BuyJ;_ao*y2u)fY4+_Dj$N5JpUfd9K*LR?FzdAM29q2{d_9CQy;1 zZ!=6AlX>w(YqFV!52KQH6Y;$Z)GGLs@u3Ckw(X{Si95ej5{#t9>sxdZ=19@iNn@6Ql+_9Jt*>ig0Lem$@(7`n>|M z2%I>RM-R5vP=0>~7-g;7i=@T;a!u&ucM{v_c6f0jk9F>p-#cpoi@X{`qr8aCVlw0O z!;2GnJwUkfRspUv{wzbIyw4)+=r@`AwZMxLd80tM@|dRRM_oyyyoe2C@{_=?hZiUE zxTopL+XJ}H_;U=6^0?PY{meKtWiG;T_4}ZSgCDwgGTmM9l$nKRT9n6jM0wO5Zb}#a z&C)^tA8GV&gO{-n!6{g|>UZZNtQ~pi`0LnIPHROp%03^Sa+z)#ek!~p@9oT8P31Hr_!cNl-K>Lh95<;m9qBR#YXs<32w*v-T`TB>tplCo+NB233_4-! zKu7tjj~WE&gslUe;|^9!bY2#8!q$P#a^$#5mjj)!b)a)xxXmC)Cu|+)831<~1nGpW z1D*Z$Yd*p&f=<{v(Af_kHHht?6SfX?_N!+Mq91g^)`8A`a?~JNKqqV+=xq1@Y7px| zCu|+)SqmTl_&oglhv59e@FqpzcSK;Tli{Bkp*Ke04@6+JZ{L~t>mqO=0!w|F%JOzZ z=o~M!GxF|M1QSXCb{6SwwuiUV&CPMXm=mvMHB(GLZ9Ri+pY9&m zqyl#5g{qEG&_uE3$G~zJY)4FRp}i6J-<>P#R6R&e-;TG5FU+}j<;4mq6JXRY`i6Zs z=ZzS~Wh|KppU03ZJPpn}JDsqH{w{l^9^}*ue;xKdov`~}Pub&CcLe*C9-cw6C+e*Z z()G~x?H*^1v&Xs8*&l7eqes#zIy_mJn+4zQ=-=z?iK2_xGC{uVo~tW=l~Y#G!OC>> zVJ??&9iE*MuE!mI z38M_(B4OlZx`Z+QOx0m@ZG6g4-lFB)Z*Pjf-@c$>L4$9cJ{8;aY1io-BQ>~seAVJo zvA;FttqnGfZ}()Z{p~w=56_;!2B*LCH8Zf2j?RMp5pm17Q#{O&dYTzRkc$};RO5+{Yb>g}*G%vN2WtjD*^wyNs8R;nT5U~4RtQ)>Ni z^HsESs`+I+g!9_QkuE3ox2;s`^lyw5Z*GP?YW<*vA@P)uE`^?;mqt^1ftF^&GI zs!Sb5S9mR22l8(7dBtWzdkJkN$V2Ve6TGJmJKQ$dwf3oH=6g>b>`Ixj<0?zp#hbIx z@60sIu=FqHolIl1^nGb#m#Hd`fH&SAT3hZ6rJ-#!a`(L%ovM5f;wqFOY|1*lC+kmd zIv=*)4b7S1%a>=0FU&q%yg8RCequqUOgpzzcg+9xCsd00{vf{DwEZ5hh2#WS4sp|NgvU>ljM{%y;%MA;QUGL6F8nQ1`^zS)~ z9j<_VB5mt~T{exdZvW_K?cw~O{@c;c&`#NghS6qO2euCHg3Vp(u#EEt`)~&ucg!i9 zbqZdO@^@ecLfNJdRPA^|w@F=}ly!5gptvd2sdOEL>a;$%Y zbgYW#SpS-IEUENev(Qgbhj?#C`zJr)k4bxyYHq74pTjyXCiT96)Up3fIo}SQ(eDtz z`x2y%b^X3irN92Xs&@3MzGi&e`+%EEdD31^TF1U_Z;jDy-fyVeTVr&a_d0ab- z!K8Y7^x5H#349*1-Lb9d_quRw!5BlBx-hNM^EJ6>J3DDSq+1$K7SK-L{(9mT&wV8n z_XK5ePP8nfFPuzA=yncu<9=5W?}cD_;roN@F^{OhGdbFkABM0ZD*e(q}3@gxgRX1p2PMQBcCbjNa{G&YbbALn9U4^hK??%9L;l+u(^+33M4*`zT?++t6xC zc^?MCgh@J|awH$HM_PF!2)pvATbzDdOdR~so!^dsq96BSM8CTbcI7hwgVXPYFk!;yAHhG$VZB@cFY+!#*p>GZ;28aq3r!sS(4Eh6 z5&h~B7I|wBcH~W71~^W?kDEC7p}Qc1f1=;J5f*tjA?(V#1#p~x+e{q%&|Q$jKhbY4 z!Xl6T!Ij5yiPP^dO&t8tT|geuZyv%T?|TS4@}{sX;`BRY;^2qwf+749{TdK9@=^(e zU3uh-)9=?N4u0q^V7Z8XQdiXwdp_{4ye9$2=$Fa@PaTZA;6VgLzea>bKgMkxM3vAwW7#ECq%D_0)NQ{?3gjq*N=uq&?@FzMn% z-Y5{RyrY2Y;MqTxz>`LK_u)v6AY6H?03*KEFK=jo^?Q_EdDNfvFHYo* z1L4YB4Y&@T{2wqh%A1L>E3XJRrhX?~6ybXSFy)CeX-(p|L3u{T)Po4m5+*|Mx+n+6W&(^0Lnvch=9qw+Fyw@b7_Vx@q{xnUU-*AZ36TM>%oM;@_Y%BQ_08yeC@# z0l-rta8(3m9;^dD=b6?4MtubiaP-Uv=X2J9&N8+RaP*9aJ?}s!(D6QqzyXe)>EIm4 zI?&Iw00MwHFR>0V+q!jtIWMpdaMl6{06s4QyX}kg3nFy(IqN{@bICfub1i@XU_KYD z1MIeQ(m5_$2iWabq;p)f4zN3Jk7F@K|03;>j391fB<0jOX~oyv;YEtFOI;M z0Jd#}od8bSd>)m}zA;;4kr%*hk1Gtk8Zg@<`zu`oV7A9W4WaA+vpxQSf#m?vtp;8X zI@A7Yg#Nb%=C^d&UjM%eH=$!{2#^74THhk@DtJ^=Uy15^G=!2fAr*3ZQ}qr`&@op`Os=B}RWo!5GV ztLT_6Q8-7AcjudmZ|%7 z5WgmIQxi7=w5{1lh~i!KeVVoOO8G_5Zj3l{u0)HY#l_X)#U3m9G}dI77Ks}%(mJU| zD3N#}gRB!Pgpb7Wt+S49)+8InX*+BbN#ko2=UZF@tTnS%qFiOdmQ#@$#%g|y4;TmS zSuunc$}_JSuNaeXm-9}Gtiyvb+wx<)x={FmZ;~+ZOC${ZG6@5Jk%aMFT`pnBf4_uV zF|0`#x>-DQv+u+BU5mTQ(YY?HvwbhfL^}VD$F=1T{oSywJ2$_LPC2;wb$Rd%wDo(6 zJSR;T&t+exexd}&_Ja49OmJ>*@r4(@hVNg#?MD45S!-}D$ChtAcxqu`sYQl3-U{#GyfrSjzc0Fw98?FSX^2X9BZH!|J%&;|Oo>iU2VOfz>BmkXc^b;`%&I|5U-x~Us~}@LC)8fnr0OGJJn?L zfnK)zr60q%a{GSuksqa(puHbLoc{7z{+VLjm9J;}EWP820{h9xUw^eQyx|U<~4y%-#Ceph@+Q~K9n0EcXpsgT&T)PgJ&FgE|$1B=3 z+6~*xZ_ut=!tMI_{^7E^U>~kJz90Q{yXUR!ta;eGbyU5|?|zkG^eEnrw*C#Y^=B3p z_@08|alEtQ%oThiJKD*wRAvXhJ%#Uft=utFt>3X+wcfg1HQ(ByRv}*XZ5`@5 zq*K34U43;seCbPg|H7kH?X@M9WcoapwR~$;3(~)?Ji~u}jm}ip4bM(wic=FAlwR`gI+t$*whZ5I*v2It>pK`@VvuWdb}?KV>tTks~lUK z6nqx#_uWt7T$p|~*O_+;?DWU+DgB7wD$l!qyyGRmHF*%Y?Mv@cJC~M~8sf9??qrr} zjJ)v80?RV@xcTPq7@qICET`1xpey;8?$OWtD!^0A9T@-2w|~uh4p!qCaG70J)wQ_PQd2zkZ$nOH@A7`OZ!WFY=1zA48v7Cnl0P3-b^N*nR>l&Ix%9?yTC zZLb}jscMGjByqNWd_A7)YV0|@f5B7rgGX`3d8V3stEXyEf3>Kmo#1Dgrt)_me|7Lh zmBKUP5#64)s%o~AE5?t%uzcU~qu|qZ$2>W8H!k^d>yG*Ip99D5A6*XqGM>*JC=Zk` z^M!U;k9MfvTOnng-|ekNT7|8TtA-^?sjbhc#%spMk8hoccY%~qhJW^AVfd4KGs7)^ zl_`DhsQ<2z&mBd(Kfbbb^RayX(c{ZXpEvIi`8@gq`bO#Y9LL|PkzaqaF!J!RmLkK81Lv{S(rLbn>x;ve&XMa2+Bp}b=}_m>+7hW)IW8z^BCZvTP^g?4PSVy#s6;k zc;gl0zt-j5iS*fCno+&iTruT1+wHvRN^Qe;-*sJMEM0z^TE%|K_RIXEp0jArS=O(f z1Kg#W@h$6B?57+ropxNu`sO@9&ndPh4`A*&9lAC{$5l&rIrA+u{^0!~HzEz`%ULsL zh$*XN5qt-(8OQUvtn0KI;|u2(_4r2l0k*5$9?Vl7S9#{IIP!}E${qb6xe{br{M&4UQo^Ho}zj_(+>PzGQaTxumd32^)ReJGP_@<#VCkSL8w6ZZ? zpfB$Qf9uktXjd4IKRHLq{6CNK&d9jPK6U#GxZ|>a{MUM11iu**--@zaZ^p!oxx>J5 zPs*V@4fM``_b}H1rOPXI$5>GXUGo#K0npF5 z20%W_qw3&j{2JgwdJn) z1hnGW$wIOAIG=|*nO(jhi{mPRwck#-#Npdd;Bo(U130ePn;-oMz1r z&78(Bk6=z?%CDk)IHws`lUX*QxjO1GkGVSP<{}l;8*_meYZaz$g`An>CX%Bt;r6x8skcebB;Xf z6>Wm^2@hjc3No`}rVVfog!#{hL8~_5OGYslYU=RvrQ{QZ;qoZwbqZ(Fk8vH1F}b=} zKb^YP?mUL?c_LqUZ<(TO z`*3u=WyTNlKWTI`;TguPQoD)x-UVtE{K@zhfG3)6tCsBlOPMhClaz!JtU17c@b55q z(yHNC!n^Wr1Pq&&bt2sj2-Y0MKk_l%De#i+rx14JC66hUI0BqF zkud;-gb_S5jepJXl*c_yk@qJEJMt#)2YDHA;zY)FAS8_7nXB=S=~CWwc#-$t5O(C9 z_9|ev?nDOnASI08Sx zM>%lm_4qeS2mODf(Z3B|+7yE6oAK{g@Z!ir$KQkw>3^An09z2uz*7d(O~bRy9eHPD z5%tf26DRTnmS2m1gU)794?4b&!znMV9Q)+ynu_uPUHYg-L3y^rnLa&9I$`TTr|d;O zB5?$CNlT+ZXFIVDuGp5AQ+ z&H+9Rd&wB{v6UQp%s3C2(1@;|Dq)O%l(actYOvdr?zb3poXDo%KzBzM1)3WJ<{9LF z>>@y0aSIpV{SFpd5PI7~=&@x48S$ICy4^QO7$Sb~e!8|z{oQ@`z4``+_jbrWo59F? zJ0j?T?*876PWvqa!^}NlVU)a32aONZcfO?&Do?9T2&-$X7R_Du&{}XzNx}y)B$_bK zg=9=Pu^mT0OgM>W*6G53$l-@f;rF`G9YxO5K{$c2ROBQO_Y9GPXN7$i!~u+_688=~ z!X^A9mP{s`=*7DrOqkENb4(cKdy7x)!n-33eiGWP=ralWOgH$+2upsaUT&?C-2kX zt6Q8ctCQ|oHRfK+p4Iev-6D`PxO$veJI(AD^$){NNL$^b_zAH9lm-kqPs1E(pE zxjgQw7ylYI!XMy$15Yd}z<$_V+yT4czrj{mi+!%#6@{_o>JEOxd#k5*l`eRyu=Osr z2kV+FYyow&J(T|+-=;SDPOiDQ{!cv1Uo(f#7~9r1*tVVo{ubIXb7ee`jU9}9SXbUZ zIumOo5AQC$3GY_DQ+45&_LXY=Ue!BQE9kkRI?z%oHSxbFD->V>8$2l zX&83j>z*l$)Erd9UpT_aRBQgPVF&pmb%(ZZeC5Rg-%Byl^~J)-#XAb6Z=-CE`fGC7 zMXJOOgK+h2GgTV4tM{Oc9NQc8f*vEkI@U5$#=CHD$C`ZC_#Ui7YhV|t9nN371-i~1 z-f#fx(Z@5T8&>}x_TB`X%C37Hz7NMNQ2hjR{+Mv9aM z87i7pM2JI5rGY}CR3w@eO%mVQ_c=Ew&-47=_y7Ce_xir?y1so~`@Z+u!`f@lYp*?t z(N;Q(#k~Vr704B6L9JpmyGF4zD9*keZ-Q@$Z8*ekTJe-*6c9j)4KlEtRS7Kpw@ue}kx( zU@wpA8G{6KOP=ddsNNdNv*vereanUN;mCIm8szC>kbVm|C+rDf>79~k&};5x*C&`$ z+QJ%BYAj=PKFLJwtnwwS$(GKJhJ3I>@?>;BEm~tjcNE9UKs$oFg&}?NVMj48a|+B= zSC*`$5!rBXWi!Yg za-prnvHT~%M4SkN)?{er*VG{_)I(NSNZS$W^a^!NC|6WY(5C2s2hGW&G!H{qu!ph| zGmaST($VY0`EXmP4%EcUrxS_tldLD~j6gPGHpK-I= zHq=)WhzDdZsj|@SAWZ5MJk9)&E_9Cu1+6Cmeqzmzb?-Clo?MgI>5zX$_EGTe#vt7J zD`}_z_n*Le9<^0B%JoQJCH1Fq6wSXYgXZ5pR+n-?j&}HE3)DA$S{}5q+WsgSFVq8- zdg#}FIMEj3@uBnb1}I*boeGNaRGd!?7ySX6K~xq9=Ppt7KDmVvg-T^l!49tG`2 zp0zH4d7$z_xM|(Lkeo>s`8D={w4gY0xlN#LsTu&ioc?IrK-Ovt@;X>|Ml#oZ7Wln8 z!f83Ib$SR3dCQGy9t4`Qu)DJ}F(K%KYc=;nxlV!pEDP>-HbruMF{4--mn6hT+N*#m zBN^M?*=TKqs}{LwWL`lGp@mUhCAL*OBx!&ee7xw-rP%kFk7|IK%|5~U%m|*lK56m_P`GqlQ=JNEB;kb0H0knZx zI!)auy<{!mC;}Q+|IajHsT?$V5H!X^zeJmI(22;u<;8uKu2y`5ac*Zahx5W z_FWjQv4WO}SHt^o&f=U=zOWQ>LrMWOG6R>2tAFyR0qE>N)Bz;SU=-g49~aQTo#6J!O&ByPN)CM72LW^fJ3gHikie564m zd?*hHd|qJYz(?){I0`hO2prIh{(rSu0)hA7zH=Orw}xukRPPbAH-OMngIF2B@Yk^kIr$Rco7X~vdMu@Od5i2 z1Uo_z_z0NzkJ|r-WP7NrKymv3(H!}O6Nl=BB<>7#3fzgdf?EOcD6A689g6~YHZGP8 zxD#_@!avIQQ3dWOKiINAR;B=KM|eP)1PawNT(RNxzU|gtxzwU&D zS9rfVuA3d-x3W7_b|3u@f-JxF8`l#eE4EJ#AsFjMSsd}GaEe2=HYU=VJ9hsnN0>2@ zosKT208a;9?fOT5&vDP|pJcP7bew`UHkF)K0dOb=9lv1TNJF6J6v2&=$|*cVW6D3v zFCqV-or(~3n+hUR!h9TRG26^l08O54=7u&z_(yU#LQco+F($V{_hArnD|A+ikgs7B zkR=iLgE`DV!>IfYXdrN+K50}Y^>j=gM}q#8hmD8C9E*#~g~OaWhM%i<%${3$Ozy_L zi^Cr96Y@ARw0(k3veuaFj|}t^vOluVnCy=X^b@i_a^jfm5A`>MJPw_c8kH^j6S6t4 zkoB8)bDC94qY_~MH$4#c0d<$-bIrJ67N1C)em#oCCz90Z(U=(V-jgjf zZdyVgl4Z%mpC#)`{DELGh9S(ynJ^E0gWf7CMRP`3+A${j;01X)Kk?1h1Na2ya1K3^?(hx62IIioP5+j}L* zH9bKN#+E0*yj~TRUlj=}r5=HK{55#X3~<7{8{I4W6qkRt>*9D|t`Bo?(rV44@Rkt+ z-fF7GZ#2k; zvVb`!jqiGtAqk&H;Bo@CyvBh}V(kZqxu)%SdT0p^s2)ng+f2RY5EqhX!M=A4WLonf zoG_vf>Yp3XD~9AJ@aLya1Np2c*2|jP_(sk#Ltp5{{%cd0u<-TXz7a6rKx<%sv)uvpJ;ZpT5xyRO zVh3JA(uPNp{x=WmK=%E=XdXhU0D1^TW*gMuPnf|d0R2A(2lDF*nE~UfhL986jE+u>$BKd4*OaT^DAhEZ2zd7ClF@f)(HNZWCPV4)gw@( zbzo+<2~zMFpH4agwSx#-I>x8Ny6NaTG8Q(*=c2d4M)~n<4!)bo!Jh(c1m8_k=is}Y z#{7`H#@3NZfn)2)q;!H`_JX~8@R-Lacl$4STSNA91pgjyTZnQ6BY0a_BZfP3g-tx* zO~+HSqddGz7SM%&k4wZTj@K}GF!ReM!rFxg$Q|j5lGIZ^r>Vz%PcNdw+SvaP4uxUZ z!@7_M#zhsB*N6>Nltes%BdmK+&j5~7zNZmRgvS8LN#(}<;xHZV%|^5^EJ0@P2l9GB z;E|KvDDbwa6Y#~t=xtQsJtzU~%UbI}xMBk!-qVoYGrp&(0ty;xID`*y38O#G zZ|7p~!JKUXWkSW?Wz42yLa?rpI{g~VU0~e~`9n0O0#9s_g+--8+6?HxyRvy>Q+bFN zMltkH%YyTh9^iL6dc%Qb2WCkQvowcUmcuO1VOB8}>x#8F>kd>)F2!yoDrvDJU$FJ_#-;{a3s#vkIWE+{v5nMA04caKQvd60*&HDG$1}1*k?isIDzRL0l}ZZ z$6rB58#f|cYKu>Uc}>yx1V5^`yh>E2$LV|r_VhM1!2NVnmzuV&&$TfinqtRagZ_MRnLWhO`ypus9 zbQB=xME;CDfQJORB*+obz87_TUz88X0>Pg#$l=(yWNC-tZ0nJcSIEEa2)wn`0efR! zpuvp9g#A72cQd#!;Oo>;SafC!g+*u1ku3ZVJAy7we{j~EnhyRBqdlJRZ2Ms*;^&2F zhvX3)Ogo6=;UpjUv+UE6Je=f$%OGJNUtAKtPXgx&;ViGoc>6!%|1&N~+aGZWv*RNF z85cG%9w*{IK@R#9*`xT;enOPyKjMOY9Mt_NUD-e{RsnyGbYW-XV=+}D3cRux0sAGF zkeXtH;C!%M4xBN@<^Q|j&+@+$m;Y1auAYgCJBX)MkDv$bVMOt=>2c$<*EIxsq*>>+ zp-!mA&V_xl+wrojMfW3soh@<{aYpJrLdSV}hgI2Ir9oB#JEt!V5+<1x`Muv!~fuoW>@D*%klFa+W1pZuwS zD?jLe(@a}Q&$#F2u{#c5Q50wY5*l^#UFdCm&iseq4J`Ohc10HKEaB%0Z z4TzYLamp##cKE_P%*@tCM0$A#M@GPOkbNN`fd}4`^$mw*kBG=HaPvf)wERXdT>R&o zB>(3-9XT&OWK;5w;?=)ON7*4*qRoH0;_xrm7~;ZCmROP%W=trFA0EPUR2ix;!JC>v z)gkH*)M5M`bmYkasy*Q+>`%ERA)myUWAaI?i9?`&xTWsX@O1EedVH%7TZ#zg{|PH?RJsusD0 z7&ndXgw}e+*zP>G(BH+%+ed+Xq?PTL!uHF9{KA+_xW6)#$M^t0!Y4~5+qcMhV0^Sh zH{?f>O6Ep5ULkrG(OI%A^k?%}w<;OHZ^1bjkY$-rVb3{QBgXf7!@ly^NtXDSi}tCb zyQ63nC0HZI&s<2NHEMquGDeGmJ49lh#3g{-DgFoM5k7#4flN*~zLbQ{!-(aUV)tRc ztbANC7cNU8F@A(J3_`9WsfEV%y3-5(xTmwuR3RfQR@n=h8!)T8w zq){HOA;4k33q7PtM*gJutefDfv5}iw6%TM(f=-iJ78DlKOJfQwcZ?MJa_&F4!9N=wH zIB(QKyT+Y?WP0Eqy*Wt%y!`0SB6)0NnCdYV8P&I3ouG0*$KUc3-bVvyg1AVm3RCw z=0O3uBFY0qKj6hcR;pzH=>YsI5k6y}0r1%%KP=fR8EE8wiq0@W9m=3>mj?b2+KV@- z1^0vRV<40N49k5M$zExRUHCo%bSDPx*9YbwYF2Kp^bpd8Gc4C zAR{P*Kb?$uz}*w2Ab0mb;R*REq8;+wBTNwEhrJjDaOVZymJ$T;w!{x@Ox{=l)*nzD zX#ayU+|`lIs;>x-F_?{*WHevVLU-NZxRF2DCjoUw8tRT1)ERzMcaa;=3UA@Udc@44|hCfJNxL!2$Gf4vfo8PJHgL#c!0bb?#D7iak~gm;62V7vsig< z*dH^56;8ue(r&S2-PA~sfyZ;9vjhBLLi{M6beMaIK^(B2g5y^Y6XZhY$%Ik-&|jgu z56Ng>25~lujYAL3*&v)S^$Z@)0p%5xvpl^0?7=|w6y7e4yG7B$`wFO|vHaXE;71bS zgT8GpaQXR;CCkB_tv0vf?w#TNT?i$G64D{fz~LFct^va^9q2o71DX! zC7a(Q){sjhHX808>i|8CO9SRmDBb?X(B~P-LuSiykr2(`Uq05}PSQ{fnXeJ@&i~&GG!>^3LFMJispx@#5=sl&oL9_9MRr;I2n`)ULoy67o`+dVt%5yK=B&O;9q)snPxQV9G7IRt@O})&R~o$+@|+|Oc0|1zJLeXQ+6xKY zcL?vIliW~rf;Z9SEm2r> zP6pZ^@CWg57vTsdwrpmh#4@2vmCI&bs$}qyqNw%ohPn!giqcA)B@7eb$M!BDMeX$? zQK8+c!X2QJXzW9Mhs(`Nm9aB)GYG$gKZpa}ODF6B>&~!-gzof2Z*8NyYVfv0jQwza z4e=3pn?q%b!{`nmb{`65qKf1T;D!--{GXn12fiDOw2s0Qb^23L~hvw7-z7#NX z(8p~8FiIPt2pmOV!RgN*P#`-(5&kZK1z`r`M8Jh)ws<-O*={Hu_ds*t;|H$pk97(H z$1Qdk_#q`pfe#9gaH2o*hyLB5Iq@k2xEkyTMc{h@7K9m$k`D0ELI%)C&OqQB1~Ugf z0Xo1a4+%x!_z4z-8H|!t_z?7ovE2YBA=wSWhvEVykPIIs+{pSMH>AhOcm&RXHE_hE z3i&|_{W)Yj=;?8;Y_LOXVMIDm{NrRiVo?9MkR722d<0DVNA3R$GM@44U8p{eDrlgb z^q~fe>dmME80GJ%0+=lyVp#!<(mkpG2C)&oXA#*QXUmYLvpkRv0*vTELj|tbftQYh zJ=ySG@Q>)-GR{4H9GuIB(HkKsJryjNjP}l<^xR>)6U06k2e*xb-~S1dM(Z4lUXsu_ zce!z}(KvX;I5=z^yk{JId>njg99+VN`5}F%zSpu~(rSRAd`J(+`R^PDe;fx7v0;Qy z3?qahqXIK{uLA96V~v9UJoK?${zmdOwlt?Tc9i9>{Pqs?ER8;RHqPl1eC>!2k?w6aK~6*>QrdU#XDHylQ5*beCjV!#O402na3 zQSdL0EJFXqR>!}DVvW>)-5(hZyG8z7GsW-w;Y>O~IGYP#JB5TmDmJbk-JLlOiQ!n$ zu%c#F3RS2QM4tft?dX0&XoJK#9t`?JLUxB)jmg>2o>k)P4zlMwv%k-pEG}-qPlQEp4iWd^kY&gGqjNlpY&_^3�LW!w+G9cFaE-%ZRf|By|q62|V4z z_K(gysSsv2xWa~QMqy{*X4p8i);B!-uQJSkIQOHkKMx5oLH#>2Oe`BRd`yNZfblM( zWAgtMo|~PJ|0Qz@k}G_i{(l2+3S~2@2s0WJ&^WKfc7ZnY@9-qpD)48?4ugIKuYmp> zJP8-#m*}9;pWr#gz>LO27?ugel?*0gKMb-Y@DUz}|ET?ci6Gg z^bYsd)*r3aAdmkS=h?LNwEque^IQXXLiO;kDsU|PrXDb-WXm%QfupCMV#zb8WZUx~ z&md8;sZlQ8H_cqI2}4vNE)6R8)F>p+z}o}HtgdE|DA!5cOfGtj#Z3|~laF3!!GqnX zu4RxZcS*v`3G{mwqS%A#`wS6^Aa;y-NscK?e`+C#HB~n=q$rO`lbMs~Efx<+63mJ8M;78(V|4>VjM7KaVrtVr zTj*l_)n6Do6n*Sl^>@ZR%2(1{rXGF3!UP+t{>?C@jF8NkX7pi;L6Q;EnEuPc5c^sE zgJD2X#d@pXFw`jTNVA!<=x;4Pk~El_^iLLZun*Pm8S0c*BxU9ddbfoN)>HkOF_WT* zbyjyVlqfGr3QT$W3yW-$2h)?DW8sbERp&CiDC@A3)%grR$_bJ$(}#ZCA{aYceU1@A zxjCD6F*lDkGXwPKse}p_f@ylH!;&dX+^icCEUC zL8TOtHZmjW#TJ{flIkmrO_Xr#QuSp<1mz-W12c?XXyJsVR_|pvQ_@IFnM>&VEHX&T znXdE$7R#{x)#(fu$`R6PraS$p#airGbrxd{WhHi~`Y>Y^C6ly*=|(?jkxa5>E~Ia_ zu*Y^*?_k(b7GZm;Qy7aWyGf2r2l_4xD=e{kE5n+yjkJJiLr=1ZC(UPC(i1E!Fh(_< zL81Jo`@_F3`lH4$y55gBjkWkX-v6q%{C}#i{F^m@492=qMf8<07NYTuP&_c6W742e zUxw_F76xqvnzJ7Se;i%n7y#oY?vLH~av^+5pb3R=AU$qA$dv|mo`fg19|Us72_X3_ ze6m5K@tB}djBV!VdwF0i#}q*m3gP)XHERD~=zG!lh-d`Gg%U!Hm$(fOi^dK#uSE*o z+X;O$-VsC3jQ;Fe$7U&UE0$l#_|Y|Cn1is^guz``hrKrpaU7$4_&=<#>S$@{=pm2) z7H?v87mu3g!)384hGdM-#e-tDj2|;_@?eU@DpQ=$*#O#hRf>~Gtwxn6tP^l^qxA}Y zbe@8GO4SMV`>20+$?qLDq<{?b1YaEL|6|qg{$H6&b~^78U}NUuP0>K-BVy&bqR^d9 zaOWB^2D~uj9~m+SJmz%J*`S%AU%*~_fK8AF81B&~p}T7gJ>YJ$7|=&RUjy9%dIV_L z1%47i--NN}4IXzGT@cQC1YxADvw&U?h?iTcY?;ckGU||l1~o=ngX(P*wM<2-jQSg3 z+`PYxI&7e^Os%;r*4!4iqk7v#xd<#Pi&aN3GVd>oRknq-ndUMoFQftNsNP&?EK6S& zByC_yfwc3lWXW{-A%1zF&2Dr&RHpLVo_7gi=Lh6lETRkLhu~O#pfV_jyhdeUpn%Dv zyhr(t#!6I1s7z29q4Ggxg39OrFO&annV|AOWx?WCfGJD}`tm)@_~k&q)5Pfq4%Nv@ zexBRglQZ+3&z+_RZcldHZNC&{pxPN^d}e!Q!vjmlM-Hl0DpgTul}#qDSzotCEZAyp z=fM)+&xiFyxWk-kA4fd8Fk_qih<;*TdTsWxZHMw?-}}3Ms)%t3e!RVkU(UT^=cWs` zQ8O#-e>pDd*mF((*@TvdYQss@vtmE!R!>pssX62zr5_;6JNND80r3`}(-O->-Cmzu zYu`OX@2ZH!aL9z3{l|W4-`F*H>3rP9gg?j+aP7`8TAmt9sm-x2-&oVx_iiu3a) zt(>FwDo)&}EOwu>?RHPnsvVtyr#zFgW4(ClQ!>6CKC(ZuFSJ4~#-b`q?6Q3bCENDn z>?L_SUM6J=?AYis*yiUNeQ|$;b#8sw&D(~Fb2DdcyYi(q_@RODdgrCXhjY0<98~b1 z{-|w+bHj>7dCI4!6{@I3&cEwemGR(ylaH}!;%0-&Pg`ZHGm@wxix z@6Ow9oU*c9S#X8H;vbh*Z&kne{9}i;dgVQv3(e*eTn=s!dEB2csGOJjGyj&C#C5JK z;*)Ur>@7-)|xCY@z&%odSNw4nJD?jGLqPm*@s2tI!8_aZ><#$gO+vlFpmv?f$5oWo>M&{yG#YW$X;h&%Au}sKBdKVfEf#owX7P%%V*TB}=|4zP98I|4P|9h0o`z z;0iw@&ogPawM$d&R@%jAq-I5(`xU%v%^6zCGv@B81zKHGX0H2(!;18W$qL+8x7_iIIDh+<^lH<|wu{Zum99mu5AEOd zo`)1aeVGK~h}nz49|L*;F~@EmO@7dvC3IY+Y+gz9)uN|69T)66xTv-#@I>~U%9Bbq z4oey)t#w`+i=WZhd@y(7M=fiW%z_@hr=B|&o%yNiuH*b5!1{K`meT8zM<1-ZvS)d} zbD2U=|0$o`tVa`#Oqe_NwGaFjjP7B4zG40?z)yXBHCf#Nv_&<1E&K6u= zYfxZqsMDCc=yb%z$6V=Kvk&QKbT3`?eqa615h3qs_0(S#tz2C@X^}B%!S5g4cROq! zY~K-2(mpjcPf_cV)uaWpUh|a6AM3nVYWmqltnG$Ua#YJY3#qf>PfDtiH#qGadGqC9 zg2W=qz>fDzLllMlrk0)BxHh6zMD^V|xr>$zwVUlqM#haRpE)f2aliTH^ugTdYj1iA z8`4r$!|4L_{Y7!o^YY0zCyzv|DSrR<+mhC!p?&qO`A08aFgMTDKhTYhs-Y*!X5?j9q5rgHg{mfa<@Gi z_Xm%btdl#%9Ih%e9k}Uk7wog>QEkGO7}XL=i#zOj7&d9dO;FavbY1GP{tBN0eR-dz>vv_MpOO2e~4fDy4inb}Av>R3U zc}`ZHp47FeE;#+8FKvQNy#1CAdAFZ~*MIHt^6Z^_C+Vrj66FUo4lgWT!u{@K{TbnX z6}smc7KV@4>E}d7UJ%%4(YjY_$x%0V)wj$M;|PCgQF33IY?Kght!Ucu#~H?!T`%)q z_8kx0wd2tjjZC|hx6hf@1XVI`NvtSwDzwx1;TpHX<7-jaD0WriJlN)b`%eySscsm}WtG>#ZYQl)#je+xfmWil2CGdv*RpbA=bxHM28k z7GE}=t1k1Dv??J^Vw&AV|A2=VWBRr%U%ahzVD)d4Ci0Hsn$ zb>D9n*>2x&qSo%7zR;p~C>oRlm%zJxMCCVo0kQT_=zt&28^YxUv zNOeci*@uT?s|((DdzVK#CZ=#T&pZ;RamY&Gih*nDwCCPENwHzMi^T++A77f{KwCD) zxaYgs%@2E?T#Qt|qx!6Vc&&B7hpD^B2SOxICJt0s6ecKl2&Tr{ zsmD9AeDseQPyTkXF~Fy9;|()sgYvUtM{fn2ZN4&0d-(iN%E=u5``iz2y?AqWWsbv+ z*xayzPhHL1H1C=JyteC5>J#e6kM^eaM|V!l>6)^Hyx6keR=e@ihxy`1_)HR>47a7xje?Y^`7+$iu-qT-qbzLUz*c>E-UHv-WQVjdTCADJ3iRlib+&75FIRx zKD|B6mGZrFQunITl2bEgeG^{(w)M4YRHmhcY`{G8J*xX07V$>uJYDeY3Ej6YUqacd z>7iiqX^Q=v>&oRTu3Z@%y1%JuQsJxpmt`yUM!eJ`SBk%1Rk%KGsub_kx1LeSXKICP zw`xST)$UySyRKx;`Xq@p7YcsJo4#>hxMGUhyn44?RzjQB8D-A9o^d@RrPulKtiyYM zGP}7;eRuiUihubkP{f$4vSuWI-LHEw3NtUi@kn5*EefbC7rp!V`AF$0$4a@j-KpP? zPj6hpZyh#m(_`&&p2^dlW45jtka&5X9vty$#`Me84?Gp)|K&uOqE1-$ff3RGXA4=OR%87^CzJn8-2Z;9suwpt}5{A#J0`RsG`)I4u` zRYTtSW#_d&_0=t#o_Muxjlvziu==9?+M&`9QWe*^H*S+UIua5jT6v2rXi)|Ar|1+> zLxuhgXFQf4`aa*`l`r?311IKiznK?&lD_oF!{O>@n|G7?kM^fsGFW?i;zos4OB$CP zrW&gYm}Xgr+ z6titEx=21VvoELhb%*`QjmJJd5L#()$iMUamT!A&08!z78t*txJ^npM9Sq<_2RGHRnLkjcjXS9zLe4~+Wu~K z%!%m0j+U!ddIht2_M-M*dfNIKL&>koaJ!;czqVqG{b9e8;S$!hcS^A-uf46lt+`E_ z?MG2s`26j3VId$xR;X+Ytilb)mon@xX-|&;yW1_{`8TUgrdnzmo$@+qVB!gI^Em)x7o~twI$?1s+@(2(@maRy}=Zz#%{080gF{m z=Y3bXEaUDKs@OykJ`~5(*t7QJnYCZLHm##pOLnv*-j)naY&ct6Jz>9N*ZMgIJzh_rTW}dgG?(0hZ zvf8J6#26&20*3SuSM7}(J74F=D&%c3zn#5gn|F6g<=eUs@IbBB-5>F48<*4#IJS3Z zeBF?3|K#+mj$XJ)KDvxaZ z`Sp{}3tuxAcIC;11u|&2n6BY+tVC-I^wNl;`v8MPu>lh*Cn2l z(#1bz#>r;+vxy}Kd8-4r2fqx~zIps2|Kg-ah27UhwzyxPT=PBY&ab%R1(r=OBiDLIh1u8nqDgD{9#*x?DCDDhgxst3*ccf)#ntsI%FsB6jOn)*phKFYPs_ry^y--;Op@}9B^T-?WZ zF6c;h;?~w0w0SQO;j`!B6NRNQo(gu?>wOLk&bRqGzn5DTwg0p0#SPq^D~1ge>e?1o zTECEObZPDN^h>o8*;KGs$nS=!&!*qEo2-j{%UyOW6f4fy-KHxS9f&P!<`EBhX@GKlfYzpm39`F=jpezksp4JTF)jUwCy>V$+Uv)$+q!Wha+*AKcnuy9Bze>sY`bM6zl;;r=N`+pt9%Ig4G3zNS zV}&A08-2X!Gn$-lZ7-+v-7D62^K4V`*dHjVYRJPQ_8zuaQr7cW7d_XXAYG_3cXg%n z(Y{8?39@IzhXN6==AX}hsxK?-mCV7~S5H`f$7i8u#oca^a|7a)SrykBQxg4~vfk8| zr!;B_Rb(FVIhWHK*ebOmNjTFjH8AtdxODc`5Ja%ofhw~_KY_g6RPhW3?RUQQOI zPb=`G}ZqLml-?h^74jLa96aa>xZ$}`enXjm;!YtD6%Lb?}+QlA|P z3MtelQ3hX6PR-C@A0ID5Zs}DQRb3=RmjxZ z2CAZ#$Kt>vqHC5c6kKfH?Yo9gyg6j?wKD4FpGAVtm$l3E@TIDM#hQjr z&(j`_YP_OM@%f}HS3id4Gp2T=-@bBj>u2wx^dk@2w;neRy7K-2Ilt+VU?Y|0%e30r z+%K$B)~Tn^(b%&4BJ*Q3ssChiXlK@5k92)g(XAr4tFGAiHsr?@HeZ=2Tb4h&S1{e% z%6IE3EU3T#EV;AZt*9|!pq*KMLU7f50bjc=2eUMlc?Wfw{zxJues>xxZcAA@lqVKhl{l97yt-2Q9ZnyPj zv&o#mvN=*&g45h}d_{eGJf`v6i;8MhRhdLhY?woF?O4_O>!MwQC@K12UZ{UIYX4J$ zv_4(W-qqe#U!k{o-q%Z^t8cg$9f%G%H?%Nmx-_o`Z-joz)6yN~Hy)L__-pn*++cOx z^h^p(;L@wbug$cCnJTMHG=HbkWnTR%99YQrGu$co_R$^rk*Ct`TH7e73T7Kv8ZGWj zPKx=}btQfI^bv{08z21MUlnnCSCi$;-IE5krpML>F1ix6#`T%)#X$wqye>QKRzt?_ z_wsMAaqkoP(!JBSM$q|uoSE&7MUCBte6B-F=9SLO+_}sAOS$*unLn&gJKj1Smb5V| z;DgnMTJZ_rpKURf=DWyHpVoHq`dPE#8O6))-&vm(KD_DceDQVxp#wEu#!=FzwmFb$ zO7h;VB8z;{(tD};E4f)awbbZH@aKxHeAP?W-i`IM$#+a1u;dE;psK@|*R`iuBe`;A z!p84U4^6Mrr8LFxt*El^Z4TnUe-|@Qm{gxAC7N9{n7jHnwS3;aG|!<8`B4WfZ0|&f zoPQ*3W+Ct>K2ogo(xGcszhsYV*7wJ~+Fa+CvOsm6W8Y5NOs3C?4^*d$B!?>TEj)(& z;&WRbwr%gMzj$>*^s;a7Jj`yA%f4>W%FD8QF5<<#VzPklm3uWQ@lB_yLfm49>@6nU zJ%0FESZe$g3Qf~a;HSQV;iUI(w<>;R6yICmJ2-od$er568=Lx$p0}B#bS%C zV;on0KgLz@aX@FOp7|cXIWCpS^n&jqnb+%HTJpyCB#QH(^30 z_fE-XU7!2YQk)(~R#ln47nV@oX7YR3fquJ3rEsQQ`_Js9g|`=PkBN*)6|+uP91sjQ zK4x_ErAyMOALdtVmR%oVIutz6%bA)@C8=>Pq9&GLhS| zxTckC*mGyV^*~N-sbgT&E*Fxm_s`#??iU%_f=2GU&6M=7HST@*WnS{tn${)ZaqsP? zEaHCM&9`-A&%D4H);rgjXp~<>?f;fKw}0vi-Uhcwp3=q}FHTH(({<0{$m_`Mh23&X zf6rNTxKU%~_2aX%gpyUi#T(pvXD4|-LBg}%xXtm_(vyR$j)bmUl%cqTakbqviX7 z{goFwQ+fUFr-jNyV>yqOao^r4&%41=m}knJiWg+A)UM!_-LISW-R`ciO`P+IUZAn9 z_1SE5vCpcmnHKl#oI~y_3P{%<1Qq7qf*XQ0JT}q4( zJB#+0Eb&ttJf!!sC3E%Fyd$qRq#WDz!+gtLt%=b;{nt?~vh8SUPk+CEE!p^KkHhh| z`iaSJ)=V%Ew!9%JI{T=nVA?WAfnOwP?(VMM$z~F5tV1W zh04WsiSHMP7JSllefIXivCnTtCRqq~c7%xTNRk%RS)?bhGCjIlVD+*ZPqKX7le@yT z7p*H4&hAcCtZnXAp~~G>mh_A(X+O23=<;Wki$aD%m%IzhUE`t-xJ;7obUxpEf5}aq zghTrWFJ%7CZ98He`0d!7E}Jb{vjd~uBBoPclOu|aW*E%aYp?f zrw={54T|?A(_<@l_U89nmal(Kc{J~|bqW>e=cB_VsBmrra+cRVq?{%8?eFatSSOZKjq+k4c zOW8lXB>C!ZqlLTY-eTnFXFqAul@|Y@6?V|JImF4Qg@<4K(KV)NL-W)y>7<9NWj^ju zo3?yDkDOV3@ed{L%wP7a-VgVuF@GQav^ms8WmSj?O~XI2ge&O1*`+<7zh&*tJpV3P zVO`zMg%vw2r*1q+30Hq)edpDPO>W5Iys8u4*^hruISeCo=K{4RKG zzA#j<>TG(S#wm3JuG3Z*FD+gXo#mjd@NVJuH+6O|_lG^va9`bK!=v_m_#V&G469

9 zEL=1gwJ%_sReMOhoPynmg1=If?`1O2iorIr@%-P>d_w8NmJOE^XqhERGrd!PO`Y|V zy5@5S$*Z(TU{hk+M!S21{UVc|?a^8LWM|Nc;cu?*4{Vq?uTWSsE_8z9&4pnbQslqS zb>Z6~Ajh5J)T8_*_`GAJYGfe4q)DbPHlb45#Om>}sAGMdRxJZPa_Wx`DfpJj`BonF zSn=J`(|ECuEFbTL!}j)7xtYg7cchRHOPsB(-(w zv8hs5OqNo$qmoxSSXHlGC}$j{rw}fF+4q$G{S_~I9~iqmxWp%Za<1hahAk~&tK-b* zT&<~E^(AZGy}#p?n^dzYE2qlt@ht-p;ZN2&*6%1mRd-EYznv(XI48bN(`WTf$EPvn z8}>_>%w06sLV!=(%IWtc!{8!XrRsXO>yk6ioW~~bdStSu+a+pijhfZno9c4G)$(lP^)=AHy?U7ZTxzTvpRMRC7*SwCr;B{eo{-!j8HoG=w zcM;Mic^%vE89|qpxw-x_c|K8ICRa1yMxJA1XUB$vJ6FuLJgY1qSfJq4m$Ewe>g#q@ zuj-SMvwbp1dY11@V`l|NpPV3W{YgMlR!Sp4e)WQnKHEIf-0oNIGuo8-iPyZ(fBvh- zQgP=ViK(~_gvd-g`gZM&vIE|`8jfu){N8E*Gs{<0@v5|L&^5Why@x!OxAyl)a5o*& zuoFD&@MX^HuyQL;Jr8eLel@=-&W|WQA&1nu)GS1@r1*dLlMLJTn1)>zh(43P(YiBr zgRFFku)K4}PM;k=zqwsk`EC@0?cmi3m@xm%qOiDZyGWIlA^b8E$ti1ZDSh!~EF9c? zEp(gx03Rl*DIcr5PB|*@2sh92=D>If5yugY1!=<$BSi^eSDumeLI$Jxm4~U$9ZyIh z2MUwa91i@F;#uxa(%2wx>L;BaU18p4{nhxntf*|RyiMc`pQB6M+?sZ+FbY1S%sZnd zZ~kz1M_kFvb`{5)CuPVN6xKdZUhSRH>9YCs4K@3&v*$$(c0SVGkkS&kv*66~nrd~4 zDX*P1oD7^CdZ*6`%h_~VZ;SI|e%)mcoo|O<2%*cUs;x3vCMEH}fTYxGZ5qg^iN1KU z%KArcnJm}VI(hr|6ra?3Q@1BlCPtn*7QCvfZqDzgmdBMvRjN?dUY8Njw_5v9+|c`Q zjP~aI)eiO_=hlnPmAIlyopd=cN&Eit2W|@`Bx!mY?m2TEx|3|f&VG8JxB1p3ezUtJ z&b9CEgzS!YR9k*ROA0@aG41Jk3)9k$cqN~U*JCzZBm16vXl--bJIPH-xb9om7XDsy zsfG2cj_+vRR$sq+U!8E;q5{XlSyT3$|F-Et|J1|IA8rna-Osgt)DSmoUvkjQWf>(4 zC5s>Zczj0mKnBmxmn&pu?2$IGFmIoE)ag)M@@jVv7hPFPt@!8e?>}Vyc(bDG^<4ej z8_wH2+jsZMCmej$bJS|*$x3-6-|V4f$|8bF@5EXhPU~L!9WWK*WZyc-ocFHDcc#jdJvszP=y%TdcIK>+a)U%z||W z9UBFrlRSAU4_*r#DSy&#a)PHQ_LIodZJ!@rzWMM97th_m5UX^WXTpv=k(yI=RiqM` z2FjEVCsX*eZ{Js57B#_W`(y{NBQiUwl#O@RD&G*W_;K1+R&qfL*Dcip3THE2%)`D( z`S}h$jJ~=*ZRIm%Co7V@_}lNM9RstM9DBUDYxV84U2=Pq=xr%0KOH`6w#MyJr}mV| zJzISQjNi_fwRY8Oy#&4d;0yzga64B8XN}jLi@$8odr2M%9%)UT^Rz91EOHCHa&A(6emduhUF zm(-(kj2jJ9Q_jvDc=3TJ)mcNv!EC+d3Y`M?t?qB)UcR5@VVV$hzy9m-hRKJz`y*!0 z{BXg_uei)M`^-9(m&sfiiWwb0z3X)(e>Z=Osra_z4y||j39~}WQ$NoiyIH#X*XEcs z6=@^W#?Y@y6X2fpfWpnwil6J-WIy`sMy)7}k)9CYTkEBx`9ScN_C(+95}TXsgwK=< zxm1?iwexD-9l#r~XmcB{=o9rYW?kQO#;f%6^9OCKxpUp`)mAWaw;t=BXu~k1@;z_vbl1LDxS^(G zKE=jMHuifCSI)r~D~r-qto(ni^Aol^5#2E3m9ojLEk-Z$ji)3|`oZTGeRZv4WSqs` zspei^&kRx3YOg(fekuGe_cPs3e!+d8%egO}Ixo7ZB-~?O`lQBz9d{~=(fEIC?e*vK z-n}DLCbQ)!b&bQ%4@xL_95*D5{2J_Fq~r}vYw%FYd2i2cb~*WJwQV@pn#mWRy_|jM zcihGmigMRguf`vFx6U-1X_Gs`o#{^gxu9m1(ZN_h@zPF%hki#Kc3N{!v^`Xz>0PE2 zmhJm==gM-+rc9rq-b+^AB^wSKCpm{7f3okKO!w8@iDg@s#8}XGy_#mZbd{oiL~ZPu zvtIR;v z;oMifOFfNU*W1b5(%N1-uRdaGL3-hh$pweIlfSzeeM=xo2RyB*YkBdeXJOSWgDX}I zuhnEG8fK^%Oc99sbu;k64)?FA3*+t1dgV6v=fuw9UzJzvdXOp@bb0lDy|9FL6t$d< z)8EF`D^;&?p>i?KZ2PfRuhp2o^Oab(WceeS!;b!pN6lIbgWt#m^j~ScBJ8N>pC<9L zL|x;~fy)~NZ13?n1uj{cR{UXI>HcuT7`xpyjC6^k^X<>&1O({}pDuD<*sghhl62pO zS-K4$Bl|?f_XsxbX}m3>{h?Fi{3V6Y4L746EzT?#?mLmHzJ73Ne=6zJ9MLs_Ukbe} z9%`D#Pxv^+`ql=Uq{;WUoSWx7BeeH?N4mZ?!}ZOcYt-A~omG?8XS~+yyFKIG;;$n0 z4X5u(YC6xmQz$YZC93m$Zfc0^+y1tY4Z&N_pMP|9>mG;KHqMvjDpJ(v)11=cT*8DE z4qOOdc7OK=!3j&2=+6wl7tno9XW#UQbN8N}mH7O9*Y5LrOPh~Lmf0~M`+gl7vJT8M zKeXTNhLs>6@8M$OIpwo_KKi(bmDtoT-k7;DV(ry;>POZ|K3-S4Gx>y{UeTTfXWls; zytUed+m(CdX|H+H&}NUxO38;m{GME^p;+*PhihK`&1VZA9UE!cwOSsUKlbfY(Q^UG zMWhV--5qM1PYz#E^;O7}>QU#lQ|`aIN%YZ7wY$Pk9_l}|+5L6G&x;*%)_s)wB7MlJ zVcU&uq6RwpRtYqI`>MEBd|J?| zMbC;}g?~$rnKRd(XGL(pA>IpDW*8-Al=&`LXq|QKKwEX3t?%z;{)4$0CAn!=)|lRn zWW@Ka$&tHoG_KRdFFRJ~IIU)0%361S2fC81RBnZ3ODs3-xBC%!vv}|J+SNmedUmFlK2fWjvU=o2-3^ZEZj#1=i|a-XES}az~=i1}%?b z=SpjlG^d>BcdEKR@H_LFM0@&eFHcEu>-4A&l;1O>Jde6V)^lIzJ%d>Fk-@ZE8awj} z4li_cuoKG_iF)Yp_SBb}2NGK9v#$qS5BPj$&TjcOxexoL`vt5lWbHR4e7TVCHX|nb zQ2nuj>&nj#k?t7UhYhY6z9e}~^WCozIW;Mny8?&JHrGeCo!ocmV7k*rs9FeW5LUT%R@?2UFU51DmA@S=JWmAv-idb-H1HBWY)a@i@NuKi|Xk5fbRvwMNo-Z z6%}<6G$^Qus7nz+EU0LRVu>YyfJ#Ipin{8qy9gS4u*9fA#cph|#TYAgO)RL1v5UP# zBbFp47QX+Pd*|-m4Zcs_=X;*-_r3Gm**j#e#UJNtTPLx*~4e_p;dzGnH|L*iSRvv>YlVaugH z$NROK^7&@d_MUy`r;a+a>&!P{y&NB&t=^wwdC-2K8O`fhl^+EfgUf;}Ze)5my&voyP_;Ew?lT{+l)PDc#+=kO5Ghe;> zMB5>Jaq+x?8JpLvSkzWFE7RP;~!rsc2GKX^FA{HD{_GpjH7eO#~ALAkp| zx6QwN{L?P_npc;MY3%v_qBmjtcD8-fIDXEmf|@H+8vQv+TWkLQbH%22Kdar!tMijf z#dGUbY!r9&my+`DeRbm0vCf`*{%rV_vFb5H-4|0k-mNn9%OmqT>dK7V@TBkjhX)po z(o}lfe$c9hUrigC+3sYUZL1r6-mLe8z(2Mo-rUf~`!qg(q2`2D-&`9Ul{_&=?9t}q z+n*-iDhOLy&gW6d?E%+Xx{j|96MAFkjGvr8{yC&gugX8>Pp0qx)$B4I@BWqYQ;pPw z#ixCj|I%>hk|oX0>Gi&dsO5d7�)@t8TT^3|TSWIJ5bu&8NiQ{c7a# z8#f0Yt~2z@?(fyLgtgyc{JM4VwqGaabTnn3{6Ks2gY}=@sd1^3(~I}ci<`qXB{nRm zlRU6oQvSQY7q9s6(fmV)-zirx?bNh3SDV(3oZ~yv%k{_GK9RMS7d5-l;a+f?OAl#}MAW+%*Ea20%ev1hZqR*q=<%%+!N%*K)~TH3 zadl!&*Q|qgUYmN}{B}Tiw(o-V6Z^+LY+YrYxqaVntGsuh(}X&cTXrb;c;CfCx{F&@ z?5(HE|LtL7a+dqk#2;M06yyHTIMur2aBx=jnfuO*FP5}_J$QNf77Y?0kfby%EG)Cm zKT5dM`?DKmR(jrjfA@$_3nTB0Uodr5yI)5IMJ-S3=N+1Rvfd|MqL+GazO*X!tIbD# z@9wpK*Wv`{qe;&k#~T(T)y#1j(DUh`oUIjlWWA}}>U!e+b+`PyAL-(+jjLPvVAZx$ z^f?g)^=DXOeyTaa`DEtp`GI$f&c0abv&yNN*Q45fBZu8Q)kgohwoUpbZbjSvF^yUq`K3;DA%^q;Q0}~#>}?-I8m6eXkqGY zG4ZdWPHT7iwCd^WH6kW5^1;S4ZSoJ-S{W5GeVL2btpjtfj5>U|YIBFxzpN;Gqxkqh zlUscM7H2NpNomyaX5(hw*&B~-ocNdHlh!jz`nNxL%k{lJ9`owFlO9*_bk>nW+b3^W z@!p7*`9t;^ldDBNPVCleqIi6HWv7YX)IM0Q!?b-7U2iYBwqfM*&y!muT%Wf*Wo`C} zGC}5#gmEsjZY=ywy!-R7gFcO}^m4qz`5o;>`qYmKYZc+W?7-Q2_w#19X_w#-={9z- z*X&PU_+04xUD5hY4Q}6E6E(rmqtFtl^Xz~6@@E6TJaVV3Q|JhXE>D6Ehm>D+Afw93 zWse{9Te;$8&jIzz9!yH|T<`d*DBO8l1M~j<=N=xJbYjA)s!gga?brTd#GaiU+CInvbI{KL4{_Zus``xAyyey5U0WyG`nzzA-lFQk_4JM!&cF ztXKOwjW@R*bo<#v&uR(TJseza9(%LkPWGf8P6?TZ#0EpxC4MuzRdUIP#!{V2VgI2^|Z2iN;Hcy^36hGZl zc(P{B*r|iP{645(!=jCkGhI5Aes0m0$%S{8Z5g}lr&klx-ap*1esGfM+1L-yZ7W~J zZ}b=bmayxsdo1m0czxHWh2XoV{MsQ$SHJvr%BI);q*B z(ULbp6R2-JPe-Dem#Xx$j?V^Ct+G zLiVm*6m!}nl>Bn8?d0WtQ{G)5(3z z2fcnBR;%j7J1z|yE;IKpOuOA{Z2j4<{hpmZV%fH8l4*3y&F8{8T^5$UxU=@|jIVn5 zYG=P5(!croZ*^|YPkThYYSXCuiIY!MVQj=^x9JanJ+63>k=F5B(7h) zDAf7lz3zo=`V1W_Hq=c#`EB)vQ}^vPeULrjoc6cx{VokHwk)dF?Dt8Y75km|I3nMn zc#LcNiP!opJb1hK{N^>~tNP}y?E2B0jN^|EUYh*n)Ozj2P17AmX|G&p)@Wp2RN~Zb z7y9U`e7&n)`re7t{f-^WxYh01r6qNHOdUHgO&9)-_mwA8tBu_HdQ^UcE}dP6>K%U1 zU#jnS`^SalTg_dya!k>^KHrQvQ(Ww(pW2{?gKp@M&R6pP7&Y>C)|q;(4&0kQ=9^U+ z-!xu$srbWZ<s^yOj^mYwzllJ?Qt3CQ{UA?K#@$FNKC!ai6 zzFpj#m5z1#{C*)Jv0q-5M)}>QXf~a$}1-)_wLi~O+vBbq(k`^zAtgj+qLocZuO@0s}g%_>ZF@jbtgWb zdBvgP+L7%?SE#ozG-&$y&SNvG{v3I!>ynjM8f?lNIrPZcsrmix>u&qSWVA{hd1*}T z;CkOoaGYNJY)GHe{XQ>Y`>wi^78XFD_w7obL`V9EVy_~ z$C2f~DU4ZJymD>+q-`@@PZV7J-J$obe(n7u%P&kHyYjq8P@k&fD-?Hqo>1?2``*(h zH>sS_Zf)aBj#s8ky|8$rF7JNHm2SfijjTdvun2=6x$A$vsLR;ZA|QIxpvFrsPG~iM zz~+jl%g5KgZ*&WAta@D+y7n9dtx%!UiR9W#S5B_Dp!%LxXFloH_`wU01n1emWrR20 zA2G5`s2%dHF{(hvwZ_ z8UN$tPVYbb_2Ji@Cy0AT1ULVzW!FoK%f#nc9tNf6{y6EQ{Jfi6HZGr4w7AQk!$YF zJ8R8>;_P8VYK^I8snB}Gx8dbZ_HGoo*F`-4-iug^q#+?u!U64d^k#H;?VKDm?o zL*#~+^*)&U`{*v_g>yb?@3kzwV#hAyS~R@BXl^^F85{m;y64W!s~fK7Wo>HlN7|B# zo%+mduiKVo{^0h8&qFkO)=z9T?$+&kCBFFw?C?&n0d8?$~7f>B*biJ)Xa= zcJRAelzRB&`Q-Vhn^er)=dva0N#ywr*GGT#`sD2W?pN22d+*nqmA`*;$>a0ufx`_? z%AI4wC>h4{Y|oCz0W7VTkF=vu;-t( z@IT&E@XYD;$Zc2m&F^*(k9Qn0eo)i8_a}JQOgNeL#MRq)>|1S2*5yC@es_9hRP2sU z-3B=ulXOF74)^ff-}mXL#xdXj;9(q}|6AIQ^=pQAJKR2L@R*El-tR1osxdNT*^Zh& zZyCR&DEs^G%g=s#r0cXA>-Oe(yH8p-cx=k9ZsnTK{x0!ScGi`LTaIlLmp$3}(Jqg| zE$eh?IeCN1rcR5UQRl#}+o#UveE8z#@xaQ@p111wux8wVdTstzP{?-PjcQiFSf0$ItCFmzHsCAgz1xx zHC@_&>DA4>Yuz7TX@t|P28KS<54^i=;mfbH)^9nOwtH&l_nr={_x+9d1+ULked4~q z@vHZ*9R6bIi8p?qzup#Mcr>Gl-~Qy@htKrA^W=thy601WOVp!7zifE@y65~8--Kme znNHt-V z^!y@W!XLkmY%p=$qf1{^_%ieRy<3OfKDGbKocIs@cQ$UEJ!)L~$zBya66-I@&UOCv zw^m;lrFXLAdfa*rJ$U(7 z)4aIm{jXH3R%z|FLE{73w}0C1-mkB&%F>?I{57R+6R}m%xN~g^V0=BQK`SWVt_GbSC%JQCLrgt}#d->PaK0Chs((ky(gPlF^ zANs+oUD}}?fl=QaUl>@oXIjnfUI$J)CCqq}S;gzKThj~k=e#r@sQcsShuxQ+TX-n= zz0KdeKWW^p3Wq+JWB6F-bo0xKnV$!(98)1;ayi4}7YlCI`uV}HEj>Cg*?d;oOmNwVp?1y^?t@!=qi}147Cq=J*H>jXWSetF% zb^ftobpPdj?r!+4`kJf>X=REl|MC1-ndgR3|Gutu82cj_OXlzo|X^@lYDvu|D8 z7WR3^h9`D}^yzllgs*boCv+ z&(y0-y4%r3i@mqs3wV70D^tPzYiBmOwDDdvI&fNxQD43AD0{7E>KAQRw!0hXGG*KF zHY*O7`Q^tRi>kk@cki3(8}e&5yLxVOn=YNB28V|}Ts3sel1a7QD*XA`7bWLPuE(06 zjPZ%ha+~V)&KF}UBwqh%e?b1cM-k^*2k8ig7EEs{<6VabMR{SRhrMV58f;3-?qolKevvq{aKBf z(^+)T54fiWY`-@IP*Ha@^&*c9?%|?|yyn{Pw)7DeF=l*G6kL=U$tz|4v4S z*{fO(xOsY3)!`kJ^p0W2`)q#q`^^0*DP_98nbV-oq|iIVkBvO$xc9>L**?Bs-0b>k z_@iUb-dVV}Z$f#W_3xXyI%NC5`~JGVDMeR~zj^2Bu1S07`>&U3@sBwx^!j**C3F5t zVdLIYmb{-v2=|_OS`IeMP4{yB^Vjl;QR$=GH~6*t*5>ImXT|@z`^D|_V^^pBdb^MA za%)qEzUft;U9R3_LEq;4CtiMf>v7+!GrC`1vpTHr#E}~}C&gX}d_N>#aCm*wX=4?58!@lj&(;U6@&9xU0Myy(+Qw>D=U zNgmmC!>!(WZE~YprdtjLPs-iBGjGZd)9RGlyQb5W*&p^S*V7z6Wo+e~auu6Cn&Ley zzE+30=8ICor`3ALSwAzjN-!)?d6TxBuqFq}HdL z9D~Q5TG(OTf}J}5ZKoHk+yBQi|6dQ*T6yBesCw5Yomlz#hUN9X z>$iQSY3%8GAG|YoW!)AI^<3`HIQsC^-ROc9{f=(U4vL6^p7ZgoJz=x<|GaC@>LFp@&v4px$K(-Kr_U$5Dm3{aY)sXq zyLudJ)OE|__GcDPc-{4vWpmCPiJjEdapd(gjXnEx?GqAsX4KwAMTPVKNO<+EbJ3)q zd=i$|(-$QOA0)(l{7aEOW_*HnR)rZ)whpXt+^o|5f1gXeK;tudBZNhZ4-CjZ+_@Y%eMPZLYgo9x!bl)bFbIAv~kkXKQ0E= z$$r&m>DLw8*BM;D(bD!&bLuordA+pu&QD_gTIg~7+#gG0mY)9M_>4L~$8>bsb9_L$ zQ%t4kA;-f{?0Yl+m(}CG$*S~b->R|W9>ooOQ-4^6ab-NVzWF5l%D8?-ALMR7taqQY zZhUUhlwaJBkNzW96Tisar37ZJ*D5tfgJee)kVI zY0<4++jl|^r{1X7ZvDac4`*%ot=(^v@(y3<;qDujF?zLo^#i`iVQW@LpW5a-?f$jZ z`PnJHKdx|F{o?GStKd3bcWm+CV`zP%|5- zxee691`4o=y@?GJXahC1fr4zHW;RfB8>j_?{*6l=YoKYS^I!P6EYj&F)L=`7pAF*$ zklg%ynYZD+2OK&R>|f!PayE~+9Pe>MXYP>khvjZKV|wAQ7`D3XPhoDbonck!5YGe5 zfgd-VMl?LQ8_v!Ib9$5qoL(~AL=Wf8ka6s5^O_YHhCmfw*|*_YZ1G&*hBw0&uj1SA z@@(w8u$>7y355=C*jP-iFsk#tXm`CJK1}uS#end9ZMT6@&1K0Oa?>1SFh8%2rNmEy82Ak#b>gv zJ(G3mnXD_%WL$)>pmkoRf3c#m-)-?m4+^j1GKDk-f3w*e3Wemt4wjRKM!8fnm zzu6IP`qs#dLs9d7cf9Iu&50`fDX5Md2YrKbU*{}jGxwj1BIE7_D1Po<1NuC!4XXP( zH>-Hq2KpRl2k3J*#%z_jdq3!N_hHbN-E^NEPnXzRMYA4?kn@0gT9v<>jx%k!|1g}T z%iSYY_+!u{aew4bHSR|K)aCApXbQO-`Qydi3qYU8wFvaNd#Q?tm7vf4kw4YA8~Ib0 zyOBTM+>QM4lHFo+E1zOVPBUrvh#{(DL;vNOb4>&FdOC6LpPf19w2{>msWtG$ms?T3 z<0Bt;e8kaxqqv_aIX6p)&hi%Am)#fM_$?M{<7~44Jn4)x|F8tL6&dz)b zEfOMP4mTMejeY@E16XHSB>2$XB)H!un*6iEaR*p(4TB!v7mF5QzWTi-MdVL@xQinJZb44}J*3}FzAwy^?xxZMkMba^zL5M0?i~TI zKJ+f#ImGT|mGAU07gRSG(Z0qB7si362b~kAqFcOoAI`p$?jh6CJ!C{vm3|LK6ZgRw zQ>=F_fsVV1hRt1O7DvH9J6mw4d+Qrp1Oa!~zZbbkOtW|j$&|OD1+e+J{J}+Vk60?= zPJ1zy?kC}QkdT}1b+v(U51I`;+6rfT;?9!n0=iGfhj663Yoz<3IBeM^_=4X-x>J_ljWh1|?Xd{ghWvs1XunvEJI+eZo2wpR zeDFBTRSO75y8nyPQ04%u7d&2d7<13}pnH8ZNWbz9^Iz~5|1YinILA=BFKH3GPqmQl zZKC`HJ$JhA1x{zW`vqmA2Th^w@DN>UT3X7$#5CP-c875M@YFFWzIDeW*Dr@~x#6}R z%N|c(w(wscy4pwB=x>Ly+F`_x#98nIMwfC6i#_6S+>!lva`25Gn4Bpkj}M7)e|3{a zO_ULGeEfhB=}GbNjhZ#nH~qhU=Bpx_qLd*}NXB2~hSQbgl{{FIr3i;C$#vaeiGbY4 zh}06xvJG5TdREMRbz}I0zFAOkGFI9g|Zx`H@-auFw$29!aVovFg!pQz0KOH1*M@olU zPUG=jm+=B*yk&TLOK$eh>5+^I(T*F(!*D&|5T1lbhMsbq1eUb`)WJdTSAeB>DUa;N zF)sOd6@9s4I6cKfb}0V;p>YhA6^uws^E_cbNUU6^7)XhiaTS=#MKK7c@>UFB8dtEr zHF#D9LvE9d3|nNdS0yPukh>%!hi{U> zHVCKm9hYHF@1`C6M1sXU;3NGaTRT905S-g zFca>Si%IO-SHZTG%ovuMo;l#}{YYuIdsrz2@)s~a9xe#Nw$V_&YZ9Rw8VwzAHuDMOa@Ws0(QYK zyA+sTsA8qTaMcXG^}1nBI6f&YC2^RFybT++i3p@bFcXOC!@n=c?aCM`9RB<}Y^@sm z#8~edp|K~w&qJ7mn#aGxd1z+1d%N`xV7hmN-v>;0g)8o2mHQROQ2bqgjIFpE?Qj|H zj#J_Is{Hl%yg5z;hQHh$tD=*jy1yg?V;qiSvEC^{?R`z|U#Pmj1o^@58WFXEayN;n zQ{52)o;gjijWsU1hl{6$?mm<5DM{|1mO4DsIx14m;SMbQp5qn)O%U==$3(6N1u{}g z<|{N58qk=)=;vynbDl9CVsgK6vA4m3lmXV@>4v8po;0qYdurV+Xjv>Pa4)2bbZ?;r zc#su!kQoKI-SA|0jI#R!fsZFH0DF^xr&`uO-x9e5dj1wP$are;q_{lr)MA{Zh1(PH zzMT*BR4N|)ab~iwQA0f8PSGeqla&nXjWesK^b$bF4RXCF-G_;%7XIWX$oFHq855#o z={?*@tA)STnBc)+dCXL_H&Pkf_|QGd;8CD)3C1L%+2TPoGqZ5#V`zaiCdr;G`1V|I z?@csvo5}DPOTjIgvx{hK>1MuqhQ`|hLF%;ctOz&xowHytz zFG=z`OT0Th=J}&GoYgRl#$R=L(D!m-!iTmk1t26XRqL8XM&%3L3(v`#f{U3Z7Ih z2=^o&i9fiL>7HJC2i8q*k?y>udqnY`+iYk&;IEl&7GgqmIQu+Nh%kHqK==aT>hoFt zh;)x=m|*ss{ZepB5Wb~!;-1bl)i3CBMnJRb?uQSnl60b8`2{BY|c4OxvjGdJ@<+z+I z*~sH%sE-E(PpWHF4^;Kd*W}%a?vG~r1iFVC_i<`bPIPCdM=tKur8s#Vk<)f`uc*W$ z-4%{Isp)QNReg5DJ-fK$)I*>j*_3T zFzEQVagd@*Z$?Xoe z*6bJ|L@p5A=#BuqC*3W(2JPwhsMp|~$_xGhC}Z5+EeP57r8{i>z*FS>l04+Ao4Izc z2)J`)KDvNssXd+OJ(|jw^G*CxdrEZ}-?&>?0qW>sw0Fo)d=nmYpD^JdFX--EYM&`? zt{*Den+W}oiKU&_e>YWK1fvi7ft)%5^R(6uZ?UYKwn zbjl@zF$ed@PnP|u9HGyM_rRf{_FvFT&S(VdqHy2d%klLX9S;!g9L z2`Iz*$Q##^dvyOf?(`P^N17cZom5t;Of#YnquFFI?ji3e{z!CZ0teqdMP)1U}D~}A4hGvX@duU>EGDRwJTpDrGY5k7~5_j>#hYrgu?R_~oH8W)xZbt@& z`c`H+Flp$Bbb7gzAj+7u#NlrVO&&Hhg9Vq8Zkv>q5^j^QQo>c~dV8pxtWsHLse1dX zJY@ooc^(d3VrG0wdgidvjhYA0{ZQmbSxU;nrpTKA+v`t+Ou=fkHFnj1JK|%`)o>@na>Hp*lgZt1RwJ0xqjx#IM7UM-*m?!R<%ZK33lB9O z#*o5tj)W)2BfSTA!&xl>e?G934oGB5ybIt~(|ZB1w0J+4-@$`SwH*8zvQal`2ygNN*< zpz4H2u0KaH{)?0ZiYgVgTzD01m))>|h@|nCh`&fKT6AC)vXd1xv7E5bg`0x9s7B zaDo+saLW4>?m?9b<`e0mG@@o1rgctK9<%Mj*W1B6?cl?9@CiHkM?3h29eh`YGZ8

Wf3L3~Kn0hOKTt&+Oq zhbN9q8JICFzG)Nd^ik6$*6Y=6hHciF7@EXkL%Dcq44}*e1=6MWo!fQ}j89BU8=A!D zuW(5{%_CXSngNYn>Mqk%kMI;M^|X?DkSD)mGyVybVjY$u#jDT=46-K1W?-(c7@gJyqP=dGV2&Eelfl z*!pp{sJfw!*5Um?2Bz1!8&74uT}Rd0IDB)`UG8{ykjkBJy$7D!Dt-?EzLMT9aU>9yQtPdqA!xxM9LKq zt&TKD_pj#XnluXx&@q!x&fGSpo#=qxj2q}^;Z%FPU_r=T7+*+tE^0lXaWdBG6+u6S zK+^9bp`vjwboWS!`N2zr__=f)mjJjdm93Ly2das{ju%(D%ECS)_N_ddM8Op>LeMM9|JoguWlT zM#9J1M!{%=E*pAgi=^`wY0d~baZPrX;0e8OggKkd6a5z#ohA2Yda{gRXxIO~G|XBr z;(1H-e_f}8wnZ`gTk(evcf(l*CC0`o^!<=OSvOb|8>`p+ds_~;0G1oVBNGM7-Efv! zjX!#q=+V2J-XOT?I|+b=5tH%9GZ zTu!ng#Y-@`RrH+h0Y=SJ45z1f$PUH-KQvaMF)^78Fs;fj#vIRMh5%+Ya6n#@3?%}l zp7c;;<5qSsm%R!gdl9{XcHzV9;K_FI3>(<`F+hG(e>ZA@OYW5EdrBFOWu;t6Z55N$ zl9-jG@_nh~EZYuVkyx0BWh=ITPfrvpZ|_mp%5irZil4g^AhL5e(ysIyzCi~ogjxiRdE7;9=-84M z$e_IZT7pv+Mjs~KZ~k#E5x9?hf4E8KXxIpUggM8#><^Et*`|?scPGP^J%V%OEYSKY zqEXL$1<#qUW9IWo@_co)1$~B}MJS7TVz&$z!4ds}+w3eh=cMhq+c_NTAv9*Jg`jYG zZqJ+EF<-@8;-d4IcP>fJLR!!V1eh#YI`AtPSE=UPCVCqbKe%ZQj`~mLC--$MzeLO} zN_zs@Q2&Pf@igv2--`Jy>g!C^qYSMCvmf3QlRUm{hddn}u~hgG@Gk1R%*mGwJZ(k; zTL-ZGZ)sa9cu+p5=y>COC|vRHu8Y9E@cYA!E}aaU5QcE)?hW>b zch|LPWE8p?Hr9~x*rqJtXBykbVE&Tk;!83t<512MZW_!hv2Ot7Zoc=D@<9Y|%KCTY zo78tY9x(8{vtSJdrN#VG!p{yzS#~J<#@yBo;e%>RIs)ojc$+VM{qT?t?{~Za zlbiQlZ^L^JIGTTe*F>hLidWHJAV}$x?BoNN?FjRMMYqCmsO=>Apc||z9by<@Ei5;L zM+P#uLK{w(%lM=Bi5~I7>5YI}O)nO3Y4kGWckm$Nau0u;9_0h4Hy3U-y<~tS;&Q|J zn+Xr@hSTLa{^DSXKk5TGz3<>w(R0WHTpE8{<#+HPQx2c3!XNR;=}|tY>1_mD8oi(8 zckm!nj(FqgC7FWL`x9=W7XS<6a1ejq%qjg*7+E{{%Hb}&RdN)=p*ILu$yb_nz~lWcf)#q?RvV(v%zsF};^gRq;dPw($?}vsT+JWhQ+_H2Fy*Ua z08=_;9FcTgly+~9K!GsSB{3tzF?KMH!mfiy4SNncf;Z z_-i}(upRuP9ehcKDLzWeGZkDxPy`)iy|-FFtH5XaDH_fH$#Jcw&> zNFg&Uh0dTzw+erODkYOGHAS6d>&>azwX{vu`Zy*Ks(6ubC1$L0BI(SavP;Ss{T7-E z2X=8unG&Fq9amdrL=ok#tc^yoC^{UqJ4m&T8Q*FJUe}EHyt%vBx^7r_W%Z}=OBESM z)T!1z!(Ulft+-KSgA#`i;-aZ_??gj0Bji*K;g}qwH_+JMq$!&jCqy)Y+^aSDR>?4F#5vtH?ja^kbS&sO zV(p!l=|T>dl<2WunbEH=h|M~dlthd#*%$=>NQ>afa1f5h)_rCQbP$r;L+^|a3OJ1? z0)H3QzTyK5!rE56d%24R@}eX^&NCisI(ko*pryN3zxfeAv~NVv6-e}fQ@Q*Z)gL9DMfy7X$)*ur!j z?pQnM)LJMhCO#qWYK&jytTC>gu*NT2C=(R)h>!>x=XY1{B zp`aHnI8BnCj=PYrBm-+Ge_QHWtPK+?Eo&(VLqcgi-qf3h#QOLCOc35QY&=B}5;b*x zGv9Yy3H%7?cHAfT#TX%vm5cji%;M0RMpMVKnWm1B=S&?P45p49D@WuDZY?`ngy4>l zIbE>kEuxzNydR{s!@=May!e0@ERb*vAl;4m7S{i~LJf;-j= zYZ0H$A_{KVkx2KdKm+tZ9>%-K^SccU*3v3PJnCRD-Vf25f*WY#?s|l0izuUe z5qjeT@T3VejNd2tm|R+GP5MA>ca1*Wf_<{4aF1FP4!!Yc7Lt$F7i6HtAXM* z-Y5UApt(b9(sa}s@Ao!Pd?pw2?`<#*UW4_oz;_8TP&}p%n9_2K8zFB06+AM`Z75+0?^ zMX%>^o9g${hn)Lm3BfI!0k31UgvZhtp(lPQt)}{VefT$^NBnsce}g2vOypgCWi`X1q?vdHiEdg;TzfWHQ~@AXDL#_B`nfN#KIwiS!9Qb&ens?L^U#7~4 zZ(xWa)C1`v-UfCxFg|*9r7|*v|3Ud8@zGrq9Uk(>FH4MfL2r~455-Gm5*keYD8pdn z!C>Gc&hCQ^;Vq|8{`WQnPqU-%hB5&Cuq27TJ_-DSzLZ|jk3!mzj%BMk3L6^ zBN=hmKf~fNevi6|c#NwXXpOE|yX*y>D(ZbMz60n~wWJG;T==Rm%M0HH{P9g*mcAol zo!xijMBfp@#VoWzS&?j=u{-L#hcVT0CB7+7`X=#x=}azB2FrE9huWN$gBP`kbJR5t z9z6OxV^SThxf90OQPmA`)h~=Q_XbZ%XHXxiYrBW&ns@gmzd-nfFdTD--YndRH9q*( zx8vKuzK^af4fvjmDINHZ-K8{?#DRYe(m`pU_1$bgMQ%-j*0_HNKTldmk4`X*{Pf@r zZI4D?(@uNh$?SsN4!ae$5J`iCEH|89FL-b_oaGGoqbfo4 z%EEGbnQ#-m09Y93eEcc0H{29P)^1$md;oqXSZ)Z13_Vrj8W)PQ0G4naC#DC{a5_|L*p9C4>CW3X;pr)ibDCW7)L4J)G&?Bp=@<$-OkL}v2uztYP##fn`WGyg>PEkpe9()LBo zsvygWFK7>x@gU~TZbP5w%w#_|3v$_V-)1kJ8`jrr`1<-RZ$X>yBslp^hTMrWNz$-Z zzVTGZt(aqLY=J@NpxnwVj6P!XwH_K$&1ZkZ-bi&(-hdpTXv43MU+Tj?| z3DZ6!Q{Qd|J=l%3IK-L9HZ@p~^Ol2RzL4Q)57`pzS?T>iYi@Iv^+WVt#3J#Y1^s}fM9`XA z(tZ#<_IC(AvJTjjbik1FwUa}HvXEmn*lQ9Iv0Ko}dlkHMJ!uY6Ty8p)Bu~K! z?}?C|GtBevMF4iQpw^Hclg1Z%3v{7v&oW(TmM8KSa&;Dj?k*N5uf|^rj>b_n4Ai$E zZQ`&Z(82x?rmqIylm<$-%)5W62XO8q-Q$HK#KrQT(qj&W{#N3H=2uq}|BxTuuwTwK z4rfl8zhM1W?zq=GwC3FoG!LqQZrjPca68Te5iH{|zA*1#djw<0{d9)y3mkWFi=tCz z@$V@qL|l@-e0Rw~mRCzlc1><>&8x`WCF{(+k*^CFT`l$xYV|H9&&>-+hhDN8{wRZz zNr>N#@eN+s9xk@u@J+N-hSIqrw4W<-kKk|FgS&;4>xuXhV>8z-=_m@jZC ze|^J{|FYYi_7-j|!@@P2>IzOI7tmNN&hqJ=xEvwG=mZ@<{D=nm%irGiywLe@V^!Jxl?RROac2)5Id6^4UUoq(Km}!ZBk`s6z zngMqk79#y|ygmTcc<3A18e)#h@p{06yWw=z;1AV@twE(YD2(KrF|aCn*xV=x23T%5 zjd}1;<81_do+IJO@o4=acf;u#i$64#EMAg5c)Z`jt)k~N32+cBH=M?1cyKqIuFLV~ z1B;*7Sbwe?LDNTw2%;iny z2bj{2o|+jt$Ao0ah7#zI1DNQylVB;6;HEJEGn8pCG`GWy3}?%r0q+w(G*?6BJYeEy z4TJC}|nH>l9Av4O$LKN-<4!uMR-gSRIQ&Z_Nv=G+3W9(og84Rz;5~$ zZF5tVQe3q*RozBfMQ+ZUqM~L8oY3@TN>b*~VWZXBaQQ81Go!p{qN%hl)he{pQq{kc zrz}Amq3E-7tU7NoLgg;7x*hOs^YcI)Ecm?W10aJoPSI_rsdU@pp#SFe4`p0|z9TZL zt$J=62Po%z{D`3-d_gG~bdIoaw)t{jb($ zl%qCmrzTVL(T_Bl#~P~2m|`1%m|Ar*nDgk|HthAso>-I6T5HaWAov!YivU?6sIi5O4|KrS$TBjy zv2Q(=@JOC@M_gi72f@uW8aj9AZy{@YKxdOL(`Z9`?#-r-+DSOmfoMPu49G%>gcdgP4qnrVo7HO-rUWvzt@_b4j3$Z|3=T>yzp3~*|i0ymOA85D&!ki>~BY2(Efkw zgz%&@5a=vM+9U2uvMOMbkqX(kXCLw!avWr&AUfN`xCipyWypJfh8jW>!1H)v7wty| z?_2#A2(>XD(I9_xI0v#Ka~IKhjM91;Iy(dS)94Hi&oP1r&ctvJMO?Fy7qk07rh91} zFW~G9c77t{IW3(tL2-dE=)8rPkb;tukRs%#MH)9*#)1yU7PGD*f6dj-&3XfRko#ss z7F_U#$(o{hUSUKoVeJSaaSBcGigb6=eS1D4VM{v^a}`rNJoFKWBdRBG$O8{yEyu zPjqPSzR^=WXT};9l9MsM$U}ZnIyHFOpFvS%dM{ABHxgxnF(}H!hw->uDiiSHZv0Cs z7aIFvJP=`A?#ITDGQR=DFOBCIPqg+X|6VM{Fz(1-(YzacEWDvL=GHc$`rSxmR;L+hj{9W<7q`hKX7LCCv+$eOSr)&561r^ARx=L}-xeL~_45WFa^DJMyl(RYg zm3%?jv3#NW8iBM+`4Y|Z1#4rePU@(?#fKFS2|g9_D$n zc_d#xrl7pR+?xZ9EoeMJd4VUL(c%ez$_HOODIcQeWwCq+ipy~dCwE-VetMEZ3}Z3o z*33g5#aVK~<8s=C!(9&Hu6pS`rEXa4#wfgjh?8tNpihKogqKUGjks54e1DWJwP5ku;vlkKh~zm=gM&Y zSoRgyQ_vP5ZDLSXOPX85xdtYDuL<}DFz-lnamb%uXgi_1U~P1?SvqUhBg>E4 z@)xm~<8e3D??7v(-A%28SW|d3gH82?!p4(X-Ncy~v7|F_GnT`=8rFQF{ie2i9dsE~ zcjsmILB1@&H@sWWgAc*nsxX%6Gq4^EZLQYqgSv46-+KI618=+8H(U*QkOzIhShNRy z&>kech&4yy-37%`dvFnTi`oO6$%FjWnoBU}mW1};VsWf-2l6$cy3!teiF`9wm*^oa zK8z2v%Pg;DK6u;+cOzYY#G*IHDX;YjtnE<7xO-7&&{tCX?MZDs)m>^gBbEwrcz00k zy*R%E?V`!=fp!x561l(f&H4y!>EL^fEalKwO%|N67T&(E@|(s4tg!od0RPfOQof6R_eT62~SEw7FnJ z3P>874#n{Z5=_-|DpDW`$K9CFYI9NvJvlWoy+>l& zh*Ef9OE~@oDTeb8XyFKq;VC_7z2H9~_}0V?NE=R<3_#sh-Y*<%aV|e5?6e2bia~iX2At3~;OHQB^AKd<1d0 z{0@b~RNjuiFj&ez;*;Vcdc?Py9`TV0%MIu6GkB=^dk)wKmgrF#aC&RuCZ-^zlhG97 zPxT&mi+kWt@lqMUFg$O`&HgEjteqZCgSCg^5j#8r2^T6YZYtgaNO9|6E5i~G?ywj+ za^Bz)Ds9E9o5&>_qEnht{QpCGIQk}F#7r=)&L3iq>pd6-U{=Tsz#m|)=iuQ~PZWc2 znYQEwn9{8nz*OHA16Zp7Z~&(IrWn9fUlaqF%3CpjJpqs<KRjK9nVRw=xa1Y5bxR#>pA{%9TS-vu?*wkx~+ zRe=h=T6U9H(pt&V!rr$@aaJtaNpHpayYQu8vTgDbW+}3qf)+@MOcmPSDN2EFli}n& z{3;4uev`Z;q0JhdUWra6w@IifVJ-fxClIj0qkCd1$@NOa_fbi1C&aEQcLtg_s?TI% zRr*ka$~^~FhT|Mp`9BndYTVx+dQ$Grg!sqZdH9^UJ4}UxcoiHYjtJp6`1X~vk`b?t z`@iko9MyhveACi7$ViJCAO6a|`$?*J^Q`ZRI;+13d?io7gR<8i-;J_2KS-4)(JD9c zP|2%aD*n+XD0}dcMuiUY!Jnluc|^v5;mV3?=#iTS1~hA;Z{F-JI^`xUXq`2gf3mK` zVL9@|s#7i}lvQ*QSkou()%M3eYn!=kX^*y;i81wZ!a+hs+KVmiUlRvGSJ4YPRd-pZ z>W=X#TknATZfNYwbYhsxh7L&7;rvxM%OW{E!HLGX>Tnzi3p)8u0&r+7E9(D-BU}bf zoQ%W9vzFR|4(F0;*_eG1^qD%Gp;_N?u6eQt>8jTmlf-kj@d)!sM@;X5mXC3Tcns%MdG0~_YgjseH4fGX)*m(iHX1fYE)x&D zlS8^6=tp{WDtVLe-y5&w6Sy1BGUxGk9G2oBf3o=Ag$}SpF8~(Cf!_0G zPU(-r$lA%M4)4PcZM0$thYUScGO82OE4ssvWYV&*6fcK)TH(dc!kY;PH=G`a`BU-# z56P&UE@eEGCGiO(zJSa@yiz$cLrlZelOBo;CeQUMuu{G@&~T658a~jNB^emNnft=FHrg4v-;CnmmFWzp$f}! ziReoeH+bNC+r>=voW*?1S!Ank#BUYqt3OU6v2#L;G~2^G}>ievUK;;>pe;NkAWvCmx*H z0P{QLsJ{}o8}pk|cwBb8kZk!_&{(EmJ{0=?rasWYI*N0sZ8na?eBBq`1~c|UGaWg? z$=^Jeo%iiw{z4~U?!$ey2UtS=}j!8|Bi^JqLQ1n7&P$1Ql1fi+(4#ub=` zz*+gZ2sb(h=yNYg{U_W1zEp_F3Ppc_wTn2D-idVJnD26rSR};K`6lScqNzX8TS(sv zyH8qoC(nbq;mmyMXXoj`Bi8k6>0Eol$J&0HqoTEI#D8DvUuBr`AdLD?qB%QK!b7+d z-f=fapQZf(TJX>Me)A7EM-z>RrR>f#z6P@$;-PqT*i+!1l_+RuV%~G+Sm^K}ZT2yqI%CDL64 za-3nn^}$@24te6n%B(i#CJw#HVCRoxPLybu@~#1SvXQT;{BOzu^rin#=iNwc0b%@G zB0>!mEA>_XKadX`G~k09C)q*$Ja@yXS&hFOSZXWDpDf7-F|ew1IG~*sJ>bU;r_mlB z+zqD-(NBOSdXxv8UNYQ7F8~(CF%Ey;%qjg*7+E`c!;$*MArcDvCmb^LRLL7<4#F!R zewcw|eL2NTT`~3Rjt!f)BZf7!z9>}uvE(HE7v zAj8dV@U0y*$w0QBaD05)@Ik|pQD~jmbM)tYJD8mA6Wgl2sya z*-y>nA)6&;>});%mpwp3MFS85K|%kUJEqDOGVX%dKf8AqGTc!%Uyi;K_lk@T)vte1xLAqy`)&xY37n4br zfqcZq?X%xNuECle;4I$~jFOm9u{tkF?mvI@6EMt^usY4vKA&X(Hl?5#;+)hM;#f>{`AlIGOqsgD$ zijDng4VwrzlgWVVL3h8-z9#e{`C~Tjvmtqs&hNn;!AzD4wP5`S(t$M00e?EipR@)j zhujtsX?`WepNl;ypznaEC#~B+9x8gB$UQq5lwY zc3>~r4|PD2jp&K^i66$B9M21q(U3QcPo%vH!dX3%Wp3t%|GQM~$Umazo`rJ?5r;eE zPP*g7W)Bvn+a?XzH^tUuKo=(0)4#@s2J1juTHoo3dyJg224me1 z_F2=~jd`wup>+ht5VfK=kbVs7>WT=5>Kv09U4e@|{-7hwa}f-rTS9%)B%rUs`bbIc z=5Zxh^J_fRhfwx$qyAkrE) zyLf#;huRAkuUs#cH8!C|B_-g)H(zve4n=;1g0IGw?rS3Uh&iFC<7~`_b(;Eo2gYZp zD4t~N?J_SJf($7 zjT&S22=%KMl>@~?YbJ>YivRz8T*7J|m)V5476^`5>*^lbTM(hsT#Yz0{tIyi*~Iy! z&?*%B`;f+YZ2vjF-PzluZ=cr_svo>93Qnw~m)oQN;+dk<6L+RXI_lLvxaNNL{f zQ!;xDO&c*JrAy)vo3%{zPPhLluw80;GFz0CnTkbM|L4bSg354th{jah4QB-dsybvI zHohT$vTm^LU}@YU%Tx{|sU*X4!)ZjqgS+9ZI1PVkuq1lZyPRG>xYhLL0qzUS4X4oy z9^4IQ#TWSVfhBqxSWa&Y+-iEy0ZTF!959>)%?EQgobI0Ziz5dtAE#1!@nx&&IUdAN zF93era2m7V!QF7WXW;KRIbewnh0${(Eb%APa3=n|VY#6&vUX$CvQ^>t9Y>OJ2qat# z_qZvS50K)f_g!HrUgE)Sj9MOk;sE$_Lv%_rivNFTjH<)|@jZyG6C+ocCf!4+|mwiV+Vg=2PfFU>2|Q$4$iTI zXWGFF?clXCoGg!lzqJcLWCx$KgKx<&t$U!n`dx+#0V98{d+4P6606w0FV?n$8%wZb z0NzJ=h^_6yJJ`Xob})U%%&_>_U`m>DkXrKi_>^J8(ub-yTFC?DfhmIr4~@rgc}QY9 z*24~?IS9;A@ImR&jFfa~+g1l$_$IaUEG#lPxlPK*)T9&!wMn7d0_0%zAUi2-=x_;T z!0>px*$93O0Pk0bYo#+`WV@ye89FjWj>mRPY=g{tp1*fDF+F4BJCDEy;26x6FoNAi zrzZ)DclUIfL}3ATUC|Jms}eATXE!G(99ZwA4nuMA?+NW3A7=}LtmAB2m#Fxo9aiwS zt8fZbILB2usAqhbK&LbSY~;5SNmlI#s-gOYsK}iaS7sV^?v_TSV+EqIanvr$~9qZo9eg{;}#v4%Sne| z`UqpLa+pJN?XZEy#@JUQU=PDXtZ#WicZ*|Bq@L&-U9WFIn%v|xdFI!`9MfK$DS>?x z6b?Q-FrFd3j1$IaH0F7ZJAj>_N3h?I#qIK0vK!C@tJ(e~5MeMqdkhA{Hmo zhWBEiZxFJNDY_1}?gn}vH-&$U_iG)c*sZkp(`W$2`lmi zIzyXqjmb4>}z>e~0+VVsneq`5)QH z2f(QNq|0N^F9c8bi7v<0RM>>fv((2Fo zE2UgKc^GgVsBGl4#o=4R0K=(XV@rep-J!13{71)w@AWw9Ez^xbH^JsNSzaOEsD6{X z)O7EaTZ+Wht;akhem-ENR>gL5B#E+WqN~nLFZ)LwLl^^kpIbkXfYZ;*<2hW9c zMhodXC`_)~J}iy!=YB|!XKCri`*S#7rKXL_gwCAdbr5MInpF4XGSTz*86V(NpC7^Q zmuGnYsk&!hH?TLD(U)~{#0!QeL6Gqy3`TORAxI?4id{4o|cRk?xw| zAwCDxlY)G-8T5|oTVmh09WH%GbMTIUcql*I!-`n`xasrZmm^s8;DgpD(0vX(ZhQx< z&JwJqM=-S+pc#RDCK^=#DZkyRkKy>V7PK+?`OCutZv~Nb4?1Pp*M} z*^SmG&b}|WZ$!D%`|7sH{tk1}mlF>1o#s18C-0wqOOZo7iC1}T2Hj00_03YAyGVL^ z*1iVuyreV`|CA2XUpW7at;Iq8McuaY1zAGw zzo{;`AYR_a6!SQN?=H(89`x@2!`$0|*I8Y6zV9m?+cFkG5J3b8IF216u#jcr5cwlU z4k9&Rh!R9`i5p8uvMnrIsw9I5M?Ock)0n`WYX>KFif{xat((w3PRkUxd@01CbYSk# z){}83Br(C0kO}h)oiHtJD89e{e)oFM*0BtP(tBq=+B$3PkG0ocd+m>Rf10~5`{y}_ z8riyv?#n{PI~8YH0b2C8+kb{X^-Hpv)bFa!`Egg;?=q)*Lce>S(>3i|jdZ83==lCk zcU3vJ{MVEA%y5Mf4^Aftqxx6aht8d!^fi<6(O&G&Or~~bb&4|124!4jW$f!xSgvbK zPL_9tmCm`h;n79unDi2PRZ{lVySRU1bS?XaznHk~zQyTa#cuT1Xocn9&=58J8&2f5 z^bA~;ynucM->)}!@TpsJZ?K@v`&+g}+ z;)|YSVDxSQ4(Z(up2eCm8r?V;40v{qe@0JoFnV7A4(UAvK8!VEG`8VjFyPrc`KNDN z@u%--qxUu7fL_^L&??-_7>(b>!C=6%5AyFhtmuhPqsMAcNUvPwy9;Z^XnYF?g8|Rk z!M}E_=xILJ=xMJ{z@O&bT{wQ6F&fW+84P&NG5%S8l^^+u&!1oedYQT4%8MDJ@gfce z1D;#Wzh12PW6Cq7_a<;i?*(vKGe+Z|a4;C~+yei`u%aj0@`Jxv^ZNn4Y2r;~XU5Zr zjR)^uTMN*R6+O+}8a>U^2K1&kgTIC~WArY@!Nc;Z&GBy;R`hDHMo;s)0lgWNZ>+Fp zj9v>4AwA{eVXWwBF5c*M0tfUe4uDUgFY#x69DZcZQ&|{)wZKM?o;Rd7vl+AvH#456 z_;wru{?6MEK7kc~=VOiDUf_VgQ}%#Agf(OIO77u1e**!GzbvrP`(t3yTZqNXYUbZG zLEgv@8$X`>Ivoa_btV7iV9oe&rRzhpNH>1k0`aSGGWsoZko))kl{BprfEQxV#)?1H zlbP6ZtT!L1AnGp-VF zzwp%Hul6rB;MBXK0ayEz8gR)aHQ=gysR6G}5diRX?L_Y2sz0d#PuHU42rm6i4Y=ja zxq)X>PXO=_mf&;1o6XHLOZg_od8(c`)rCKTR~!M$itE?Cyu!_!yXQ_g-;$` z+v=Q-|7_|H7wJk?%yddQUA=OPS}7K+Wu>EYrR0z+HxF^kV!C{lKH_cTbpl-bpJh-!QGNfQO-gelDQD3zatdlwG~S2LpH_2>)CFA32HKLOHYq<#6E+41wE+3@~uAeI&2>n8Z-Y4`wtAS5!ETf z*!!^m5&I_JgLAQM*gSSGb^;5X${H-ZR$h<&E$rv9@LKs4_9xgk*yF+Y_*7(e>aSz( zz>?Ofq;)F1oca>OXXNz07Hm8Ai`WOS-^0r9pQ7kA#@44XhCS^PY%`W`htqDwQckCR z1It*xiu_b9$8N-a1xvY99b<`*xTjx?y%yV#MJ}h4_UX@Ik>}~JGW@Q@ei%!>&mi0x zYp|QJBiJ$Q<5<5=YR{y)L~0Q-*&(W|j_SjGp{w_*20m@8MeE&Rmw z*;PF^4|ELNp1rkuV33Wx*#!-Y7G84WRjtvD1AUvZD?t$#OzJaW( zlIwbU2X7zDGOXgN#VrHfCktFW>fYNkIP|N8_Xn}wK8ibXwRW(xWAi%*o4y(P_F=bd z?itP&52C$&gyJr|w-1|Kke*x%@b;mTEWXpw>$^915A<~UO9$Sb`Vf~u{z@5T0G{0Z zo^{#CzO$n3>D2b~w`Zrd@3!uN-`eu4G9|UlqL$rnpTd<2dKHS@on6U|pzNAFiK;uf z|4O2Pi$$s--Q?6?ck=O$uE~|C2Swe|-#u_iawzf>@JwAA>fV$cU`wW}gF}6N*$qAG zH$*FjaPJ?=4)tZ-0Yd@Gq>rFAknS$xb#z_Qx4HNB=!%ZbA0BdecKtx#mi{a^MRgAJ z^m85Rp!ZDZOyS!%FtCNBN`01Osl>jdRsWMR_cvNx@eU&;l6+T@hB|KM(wHP;3GdYO z$@Geup4uyoHktQH(WdZ9qa~?@j7Z|yG_ezW^wpX07zM@4!)Dnnc=c0zD77TT!Jf}` zyQVl>tX7?gRJ*&v@^?ulan=p=Z3@+Z&*3e-A}Q6{&^M51Ko~j6N)mgr3Y{3&g^jL5 z(FVGyP5m96-6A}+p}WXpbk*j*uI{XFk~a4ZWqbRmNnO#$wI_E9_p5q)yVrO0`hrWk zlgJzszRXeg%Wftp!#>oFlo6&T27;5k*O6fN=DscKH+cTY)6H9Ydb_ebjM2~PW>+Ad zDU-?ecMK{R5k2`$9RnMaGre|Q%T(;07;nqwcN<{W_)K!7TPvz|u9F=AJISu6| zw5!YQvCnGRJ6hqHPTJR=!R)43{>yp0B~=U5&CiOJ=PwA_F_;wo+$Jn5*XL3`|4U*BYgP2dz^y|j|%H4J;D zlrNQ~qaQT^N9!2t(Zk*DGyl_&LiEbF=yM>Q~&hB24b>m99 zDMwcWDLMeUj-K_=^%Q?^4`goX+v2((tGkk~7i{7bUF}1-QCum<=DBGLZQsq^*$%qK zZnc988W%1~=!o&69$9++`zyNAb$jYg)i{u;q&M`z(!^CRiHus(;kaH-WrUH^PAj{p zY^HmL8(P4dIaK3w25faqB-qzPKxLqRK@$~E(Wq2yKnbtTV3w&7@!Z(#rYwju0AS{B<3h4UN`Elf9J?2 z!X_RY@Y=d=uviJbEZlb&&7HmwZVyL$oBFzX*3q>1aEPp5nY*>81Gi$k7Rsl_1(5P zbm-i|x*gq_l5!0&Dot-NkaT{k2E~SpL46>%Tcv@I_F^)%K)L(=No zTsN3}#;ECWwINL;Nzj@~7DT5?&dqBjEgIvj%|jg=hxBc)ByeStG*>*Xr`@5#`P-JG ztL7KG`&4#56WK}1owT#|3GQwn%J!@aTUyAv^ZC@Tt}W`8(gto5&6W!pjz-jN^)fKr|HdugAHz#{oU<3{XL`;W2a+f79~IFfBDHUfA7MTJM84)X5-I#g0|Q= zb257K@GVXEZXZWK84q6=z<}os@vj%l+_(#)aLjdU-Fgze3GdF2Ge+-|UxmnM!zOIz;pND)C!>Z+8d^Hm8Y55fL`q}@PCIjWAqHS-_-p* z+AC*t#f;Sj=LRnM`LZutNx~|J)Zkx=hk7D1V@YLWhd7R}P?mi=t%_0jR zAz_-`fBt#=*Gh2K&YYuaqxQJRu6vxxXr^40+WUda~ODyhs95O0&D$O z_tz*)hIDivf`eHPR-5hMKLYOe@LvHBdH5Lca00Wu%hI`r)$bHMd>QZ#55uGObc?3e zleO=`!FK`g^6-Pedp!Ii@ZJR0db9QoD7@C4qj3+b4iU$>Zvx)$;cdVVd06f90S`Y4 z{IG|A27EAqwO$=P=Hbr(Pk2~mddS0SGoMLdt!Jx$QMy{!)*U+zMmEu54}TN*h=+-% zb$b`)72u-@to85cn1|;BzwF`bfC;DYGy8yF^|12tnuq@k_;nBe1MnLOtaWpuxwu+C zk24;=FVSPs)Ox!1wK$k{b?x~Oto8M{+QV(YH6CWYU3)=Xn7zPR4^IFS$GO9AT$jLF zkB{p;j1I(&9=;xUk%wvT;wBG&9(b9D9|Ugp@KeAo9{vgNN)MCQcvS+QN?WXcN<3(N zUwc#?{OiE0Jc-+Ic z0zc^C-N5@j{0-oTJp7-44Pe$2yP0iN*iw}B6N_!uxU5}(@7 z5I^VPi-Di_@U_5)J=_m`#KY91_yrG3=0`mYjTpL)=8M2Dd-zr0R}xtJB4Tib(f)|| zH4irdzwTkB`-X?tB*PdNeiLxUyN>`@cz6sLx-QJ)z*QdpF>tkqe*s*Rz}jz7R_o!9 z17|%v1U%Qne*#?R;U56kd-xxL8xvUjGs+fun6PE!K|E-`hVFlM@NK}&9^RvFU!Pwm z?2G!y)c37^w-TZ2e5lTDuHap3&Q`iRD%dAg z;C!t+x4iR$==Avo_D*pg*PpqaW@m=+v-eibFE&5@D!kGVJby=WR@2-NoICH$Iob+r zH10X`%D;oXd81IPiXR&c6pN`gTqmn(yZh#>ebz_TYF_uKPcD1EzX$ zmdXhIuU_uXwKkF`olUR8J@RgPho-D~pSw#$VI4m=j{na$fzNR7-unC~z2Ka;?tEND z+NbK=s_ug*o|f(f ziuSJ;(mMfk#+xjNOCc6S!roo}a}BzG*&<^Wv6(=y(wPwL1IFV)?yrDyCbBun(m z&g0ifhn8lY9_^g}+wQkuWlA`mc|TQeOf1d1v-n-&W9c|}b1M4^cW(-JXf%DBy8~7v z?MLo*?oHvI-$KkCs}rw&N^eZ(A1|wJ-gf+X$yxL)PyS4NMgGr!E}1vw{kz*?d8E1m zFWhJF0(pO4ZP}9@Y2FvPyEc6L@DB36%;mk^<@sTk_a~xiSad z%Ydg`?!sBa($n8rM?Q6bj6Y{jIVk@%%D>m&%6#Evy{TOn(o??lhPTxN(yJqX4>}o< zhVc{7smPsME;%*Y8~1i5-?f`P$^Adl%|aJx(`G@FJ2;}V7B_Rp$4vAm;eGC6$}m?q zYxv8&6TKKY?B3w-grE$0)0; za<78wLmm9u{ZO@ff7`eJRqVa3@OLCgr_KuQxk+?z!j;2Y-FZ`W!kssx-0_jXfayK+KabVrNbSAslU`JJEgn#gQCy&I@;ba{~;cRIK}Tla7guY$fW3jJMr z{=V*i<@{_iFFNHctwubP&s~+=hTx7$eS$GjIJfJjM>L=8PWE^Ab~Gr72Ip*tfJ*4B zb<6WpgxA8^6wX@RpTc>a&N)rx&X(EDoh-9X6mk!W!MT{BKIj>~&hJ!cq zlbMYbOwZ`d$-*(F*1X8uhFd_G(sZ-9nPHsm4CCI&V8Hj!F^aPge;-49#cQXzK1HOL;|K7mz?d9YkKhfKY z4d|7N)?Ta`qj5V91_M?X_{Uh@(L04-qsMnuNH0?du5`^94Zh=H1Z~Uq|Xe8Kd`yI2a6greKpF-_9w$?*a$(rc2KKSTjar0tbTu)3>!Hzbfx1K3>3v z^v1ypSTjcBzu;gn;F(?gn~N1arbbi#UIPy3&B%g3hc#m~{wEFw1D?5)f0o~B?+1UH z^O!{M74RwY8_)7__>nnN`D(<9zq7DPOZ4XOEB@q%saV55xtWol?CDsmlYkYp@NqqW z8HJJ2Z<&MKzxRS=1oyxN=8fUBOQ2Ha>lH*o1`YQUB6)PPG*QUk7XP7S!qDK+3VAdJ2eZz8C%|pIGygGH-xWKANvfj1PZZ2`>G|#9H5={NfD>ZiQ!O!&CeV z-oKylkkq**XA0o_#p53Lg`+(b)q zAM@l9$VrcHyJ1MU&f>^$g)+mFwQk(u7H&$9HoNQQI+MP8y@w?w zbAOCA5rba{=)7EX*Ic~4jjcIuODk>jDM|rrF7sqjXTDar|}Tdd?tts9Sg5Dz>6&Ws-jFpKRtWBA&8rcqDw41 z<(2Z#TcoKqu=H+#@uEDnUS)FDx|H#t^`}&}%>m7o3_C2X_8>fIEpYBhy%^|N?*nQ@2|S=dd&}y@in~B_TRAn+BZj;!)uyg?(%q3b^eD7s&ljA@7?&*zu0>H zUmmQ=KYd;QNX1p(%N^tGuM4m1&pjRQ$v+F7=;PJ-pF?Nje^nRA`HkN_Sfw{;Zv6RQ zY|VZBGsAj^i0@c8@8#znj&P@=y%AfV3-0&Tow?2a&fF#x79qR)Tluy7eBIrZ_$6?qfJQx*2cj_$uz+Pb^Z<}eKxP4b<-EB5%4##W{k!)I2a5#y_tWzu%ag! z7`DeS0X~Di53NK&R3EMK&e_ zOz8;@jim#j<9{D|KrHo>J9xl{!-Mo3E?!RcG#(_d@YE34bj7)WtGs7h0A&Ibj&l|M z3g^l{@BgV1{5MMQbtU*v3I4?r{C7+6$>Z8$!`&H8RkhNgmKzUERl7u?ID8Dpd!OdC zR;%`SE6C(gB*Ug+YD{7!Pk)ww1-}brn{k>jm!8 zR+@tKt{d~zKJ4+=6m}`;G(X|O?tzy|g~`qQ4fkdOajM|)_~I;c{q(0kuIOuhL+MrU zrowYg^hfI7^tK@P0N398hxA+DW=?uWxw}u;-#^^w-x;6G#}mh2GrHWZvB$zF|BE}~ zI)ATrRG8-YR@$rX?2cxz_NBGh>YdZvJa+@I?iO#vy$m=zdL^55+8Y{fxH>vN|HakH zW2M$F2&46@2sk6TUsqsF0(rCk@j7MX`r!hC zMC8wX`jp>PZ$FO1PfXly{g#X!#7kl6lTnvj8%pNj<7EZLM*ePRWYnd2nzPsYpC1z+ zl$pwFbXHPkBe#5J_=arNlEt@x|2%5Qf1z2jsPXF?Rr#OC4Uz+NYV}SA<#|{%p)+Fl zXrmWyEt9;pJKcl_(k?u?BHFq1MdZXfyLdu=4=S#I4?Qopr4xy+hkPr{<;{%KzF)Ou zDJ^0Cu_FzB9dA+LKFXQ;v0@+N7UCMyM5ZyAEFEUjz0{a zlBeD^*f5FD(G&O_Q~XJMj-Q0j0(!WNbpPt*27kwQ79BSp-TU;SB_83qntUu<`goLq zpXZc!c-m|0HKlr{^=;&=weZ?e?uP$Zmhcym)?F)kXM{Rc9%NO2^8Pe8|t$t4B$PI%a9Vth_vVKW#>`x5Vm< zTetUXe`)$kdns)ywEGJ)wWfUhct30M@Y=5RHKpmxs&41`DPMZ;!M#sO`8mEM`@Q(f zU2$~Rzt-MH`EG%3t&OpbCi$-MZ_G%?it_UNVUWMQQR?LH`1Aa1|B=h9twYA!e@Gof zkI<7>@l(7h{r>bvtiKkbh~IN0N9uVM)}>>7*{{k4I+J-z)&;9`yxV|$TK&F{l|GLZ zPHqpdf2BRqiNT{zjupEor@@~^WyBF&g?q-sYCmJiEl4jZzfsCIX!DdNG7(QsC;6T0 z>vpwUKOc8}kJfFE_%LNb*&Zt7lCo63y$-KbxbgG#EtKqyDV$GTqdi-kWkVfrAAjp| z-sybO)q|S*mq+Iar@!o#-){DED6a0)A6jN881ER+L@Yw?^ajeS44Z0 z@lEtFa;O?z&RYAOPA4YU^=8%evS(af2TtmG*}*h#lX>@fE8A;rlTSC6ZXyGtoqWGj z=Fn~?pY!wgy_Cp`{TJ|4)5QC)%8zR&&LzLJ5Bkn7`PMg?Io)MH)@$zjoBbS4uG-5{ zOf%7Mm!J5t@e7K2j1KQrI+CN>&1FZ?zu51I5)Tu!;mj2*#?8hlDuboaYTg$gR3G8m z-+l2zdK1XivnSAH=r!G+)Irye(y!h>JGyw@o%EUaMU{&$I)40H;1*7CEzkT`-hVm! zo@O3De&B-W9QZv)X~1hOy6(nL{PxOEaoAs0E#6(*PrBkw?k-RF;?DjSmk;tLcgN2Y z(HmAi!qJ%!LZS;pyfm_jI(V?diYUD%t_B&7x!d zk!aEORW%*ux12qG@Hl!A?MKD&>{XVk1ET5oEv<6p>)*=2 zy+Zl)Sy;_w^{2YaUayqbdlTKJ9#{G@sS&T} zqpKsLO&!sGO_v9im)Zh_QT<)DsS&;QXYHn!9LWSC!ySk4km7RJTnJ(B;Oh-}%!-mxJ<1botHZ zM3>{ei7v;7a(bWZ;Jo473vPem$@KZ5M4wSsH>R8RoZnlxA@`k2oz8i^wtSzFj76tC zsP81@E76B(%ak{(yQ%IZ?QvG&Ouv_oQ}zYb@oBlG?bJ*Et(E&6b%e2k!tw@rl)KH9 zM@<-a$%Knnd}A!B+i%g=OsmnJz5KqHhAID=zKA!(w|;+keqlTUuaLWMbCUYNUP$VG zZPV?=zDWAN_iWcDrDMjlP6RSou`TnEbhc0))hB%eYMdF+M~H*TlvePpP%-f;lfw_`%*75hd_8IGurd!eVG~;hPK~@ zp$-(joqT8awigc1FFbM~-#RXg{EP9*k1C$pYx*Sj{*>bj-qGnoQ%CIEwQ={}*n!w^ z`k{_Ei><}hsIA5CV#OUlo6SKTakY0l1H1;mI{D4p9xYpOAANpD+>~$mTh$x)O@QC7 z(aR&fVddnK8+PT9lbgaZ&*I!2uL*Avb01E&zAas;u+WRux8|oKs~+ev#-tyjJ^72R zyGG+C&GF!-w$C7K={`q^GRldhu z*a-Q3jWrD3B-}nHTGR9*gAP zNgZ(I8NYUUl%LmG^T>q?FS-iv=WXKr_6en(v{|@|ci(0mrY|^{$Rs|H?8Gq`&PcKjc@uE5Bd*HgjQ5 z1bjRZFFHwHD?1k#O7mJVDX-FD$>u0!30+q%RZZyy%EHn_nEr3+zV(y+ZMrQ1rh?tE#RtMm zJSIKrUE-I})2reqdidAHOFXVBzB^vx6RaVW__$p%C2o^mFfZ{7S0_rm+}4p2w{-QR z#J#u>QsRM#_0mC!>#8Z-{2rXriyxfi{bdl`Y|+=RyAFpat#`8x`2VQ&PYnyqWIRyM zufc%z5Ats=cAx_f~GdTyyQi<=pvp?z%z1J=L7KchFx z`w9Q|*pOZpT<&I!#sM4*2CRRbecL;YnlT#B;$Se~C0h0z!z#b0 zVU6C;fCGBv72x}^W{k!$91I4$lVa*u5RXBw7UIkY^M9+8^y^Y`jy=m>>O52RlQ~e0&&2IuXdgppS z(aQq|^rlyXOApK#z0ctg(kp~jM4ip4gtN!Rp5987^iEqu6WoNG8KalQA>i-Q zmq}N05r6Z%pZL2BSoGwMIkT644nV6-k?)CW8xYz<@?yg1?DS&K9XS38vKQ) z27l#og?Gr}FFZB)tN&BGC?kL2slng&_Bc0i^+%}zH{P8axcYrv!hX1Xnxjj1PaP1pk{7{Kp>GzJHb1|MK_?;FMRY zu0DP3t4&NoKTgZkPOlCm7tctvacn0c@6&5m$Gk^_!Nqna_5uf^9zQqUk@-4r!1pnO< z{F^2CQziI+D#2eU!GBhQ|HEWFQ&xhP$Rm@siAnx4X&dHo^=r;}d_@Uo^KkHZM_L367y3e;d^XMHGr8h9dGQl&H+SC_WZgSB zCXKnI3{MQF`e9+*JERUt4&iy-Nl*NX*F?-o5v)Dgk+bmS)$sk)wTX<4uDz7%>8h@p z*Q6&=DJ`AFGe1yWnXcOdTug9Xz#O2Ry}WT^c*%pRCq4E?`&La?dx~%8vP@?fyeK$F z^?dQ{R805}TNu89(sNP3>6s_`g{+PD`ORiL{khCJS=`3p%oE>!>HC+A!O}3a_wy}0 zV}+FFEdkAbhOQQ7D`%K2-7f-Ly7Y@Fd?=uQgikt)3vcQBj_~slbEnU~z-WE~*l4bd zqRT7{{ZyLnuLo%j1@AlF&1aH@e~=wH2ESM7emY1OnS9jf?+Nlq8KrMSevqjq%h!d# zmM_Aj`cNCl3YnzxX^EocM!z-C6Y`Rl9s1L3VU`7Z`d9N=XYTEROooH~{fwhhI?zwg z10c^d?hcMy7@Y@$xCa9LtO@AU2Xx@)N{b6WpD?%(MISequ|s;^U>BE6oBQ4%UrkYT zmAUr@?$o1{e`J-y=yRGE!kavG7sE?njGq zE_*eAUoYxOIs90AQeIVzt8>X|S+8Pc*3;Bouc`Znpp1}1swZ~`VIB<1>p&pqLqS^b zoYH(DD6f}`?lF?LGL7NW$~~SNz>A9XgAp<4g+2LXvRrX5JT~ifnecbX@ z#c@kH=~~&9Z-}CH3q!s-41T`IfB9=sbhCHQAUESbQ(tToGL)&&$-uMG$siw-L*`gf z4w*NKbf(QM%3<1~q8z3*7v(Sw-7xyo_7?SX+JU0XryVKk%(Rz_d7Soo5uOhJmiOsZ zMZKL~Th!a>bwxUwb6uuNDO1Vxpuxn|6rnTKQPgd4O%$y&7@F%1&PLG&gUN4?!K8JI z!N_x?!Hq1#8H`Le8N4itHXGc`bfm#8EdLn1lIzb6rrZY%Zska-!EIbU?O+X&^}f+N zy%Tj|lRv(feJAJlq%Rn9fT?37efphOF!{!Pc#GR93GCvlqj==1^52K)nvtt+s&4D7 zTfXxY&RT6`zhU_~!M8+jF$H%`N_Eeke^1kB-*#C3zBs?B@l09GA;|P!SxhIl6q`Bjc$EuNYuNWR# za*f-Yl;8epGyC|e`PDwOhx0p*Ha9;WJ*2ZXqaS1cBm3^yZ^*veqs@MA*G(%PkM_)G z#&Kzuk>3+6){KzvWRF{t?_>{VfBy1k-Ja?EcR6qW+vMq|zfAT`u_uuG8W(AgD00c< z?l_MPYJ?DM)m5-NMUjYr8w(W}SOb z5JtkRoEYHUZM4yRr`jF+u1Z=49K5miX*RfEbz(9n3#a+g3hdj3qisDQ-5t1@$#{To z#7W@}g41rM#=>dd-eAB}XqVkS2d1H;Y2J_i!rcK720W#gf8tT}W@3%rzXuNKJp?`#e+PUVeq>JB&p+dD z7O>I#9&kwSG0=dIl&8P;arlurIi(LX(!bPzOMg-WE}l~ZuJTI_xbl}8@N^APj^N6-%3fv%3Z*hoJ(Ot$ zSNb1w82=O)bA9rY;u}ivTRmPyeDQmi$M=AX-v>Ny^!}&>f3yVun-cuLcwF?A-~W-| zaR!|Hp0I9OJ2`%QvBwquG)*ujgQnzuvy(LSgi2?iEylu#2k$$R$4--$|K{F}mo2in z*1_94`qOTsWMyJ1au#oL1HUj_dLWg-q4oU(YZq#DAV@ullO*rf5qtuZX;}&|G>eyOcc zHg;VZMeU1M9zQ-hCmK8N>Zq>pd&!v(jk`y#`gC=nJIah+9c9N)VVrq&l*t`!t8dFZ zwY)8AX~>;2XSlY4anes$SLdJpRJF#JBQv?5n zhPLRbx`bqHZAMS*Ef;obp>}&lqxS=>+Eu$91;B$*qw*v|hm3&F%SU zEO*DzhU82|RLxlcx3```_zT?j`{vNY1O~`@r(7EL?odX0>e6kSdjd5Kl+hNhx3K!87IdRI>XI)*`4WD9Kv6; z;)!@aWvOvC?+--HD;|&c^8GX}f2Bv5Pq_QdABgYf3`g#sd)+yTY}2F3dEs4;a&Ew% zGvNFcD#L-&GlXe?f0`;ruA;dAVbVbCD~y z#Z^sPqq?R-v`pzcnh!*8aBiZZZ6Ta0#)bi0^ z;~e_g%pjsyx#%;)qwAv#xNIdn)EACNRhIU4zU7pD;SZu3{3~49ogHNte2nv{wejKH zovW*J8_@Z$N2iE4{A0pZEsOH=+M`F#*mXPcz8cjc-#xm6|DItta7oW(Q0`534pn*J zn{eFaag4Cv=ey;X5qDU;*~Qxm8#p`IusD0lFZjK&^_KB+EJ|IWx4YS5!;&p>m`yA@QnEA~x$ zxb40f%P)_p2lquY8_tVPx#Yg6;*#?sP552d79E|A`wYI@;-xiCw;RoU$-f-`C(>I4 z%{`-W)OcQ&d)>E2V>eV}myblJXK$!Dx;+2$tE=_>h5w?^9i46&{Va8;&>A(5aW}_W z?iu-FqHFhD9#v5~4+gjFTVOQ)cKQxM;&YSX^$rrfCWUTyvOQZAnYop7P zJScAdPUWMlPV$6Cc4Xel2GJ%@nQ_`+#i8!$ZiT8`&pFkKL;ZeTG(3-8I=kLHC;AKb2d+$&uwZ?^Q4w96aGf8Elxz8!gj{4bBvbAH9TUS7S6 zZ+Q7FK9@U=+FR;JuZk+h&y6a6YgJbF^6OrVxw!4jZ>Q|gC*+~_CbF}Eluet}Yt`w+ z-QfBO9+D24A#0A2p8V(W|>ihx3q2@1Q+yf1w`vH{X+wTHrxCTtk@J-D{&} z!naTdE2%Sco3<2ngzzgxZ`TF1Gi%*>_hq&1sjjJB?#*p+<+?Ke6{pkH=t2|pD{~i= zD-V^5hd!K|^mX(j$c;Sj*;N}=E50koC%A`X4&_lEO&`gws$bkp*{_J|mSp*z9o3uM zk!xM9>Y8C>T2I)_NYBpdk(Hy>BiY*e-8s%-&U$M3?qyMB+su}Rk&8Yvyn78BweBoL zUs@Jb;9hmlGUko$i-s3pREXfCTyEk6KD(e-vG@vTGB#P#PGMXBaR%v8A97J`{o)DQ zFm!&TZ*TR;b-SxYU+F@l@=M%v0_`f*G4TV<3gXq~qLr=qYp%_;E$CKNfiy`%@v7(j z4tKRYPI({`lLv9L&0ma$L$~IA|NI6tTw4MBDq&Xpc6JoF)x$a977vdAH+fk1Db#y7 z51jR|=EkZ$Oiibcg0WHBcKVi`Bil!*uQD-XM7?7+Z9l&U_*`w~_Zfcq9-Huf%TAL|*jCsie?)>CWV*>U=grUG-HoJXa;v}rz2;}Ozv{W|rqy06)t zDb8^ow2k`TTsRLsQT=~Bu3LUoXZs(?F%P&G_dSwtzHmfih@I5AD(YNy{)T{v`K;h1MsJM8W|fY0fi*>qzw+zx6E5VvV| zmNvirpxTP@M7P~}{_&H9X>;u`=SmAPJkEy4G3v_`@V0lQXeADQQgQzpROis*1I1plv9SZ zM+LsvNBJIrZa??CRdN@@@{#6i>lf1=kF?)VACBt}%#5ZJzM6NfShUU0BVHBbqTiN| z%)2XpoO;u~cw-?V50&%oDyaW%y#O4L59jYI$zfXNJE;+m3&u(jg7n{$d)1 zuTxj~ejpt;Hp`7)TMukwv1rPByOR0#3Fh1DG_FQwEhow>t~o(w^CYua_m-5(?3L}m z7wx&=alV26@V{51*Cw;WOBtu4Z&AMc`>uX$AEh5{Klk?SoD)U{s;>w9nc!I#M*hrW z??uO|(6#FPozwy8S>aWcPcQE74j-eNn^{)9eJ$T3=SQuKSND*gntMp+9@2n*?CGs^ z{ONv(zxeOYowjI?8@toLz;j0T%kWz%onalI*WERsHG`*<^TyDT?lnuM&^4WNa=e^6 zEje}`f8-2}F>}A0e5>ROufu!1O0rZK{Ld^fV3? z-yyD#nC9A@SZDC1S2~-n@J&aP`*)BT_ma>r%|gF#X>J%e9;v}icUDI2Q6Z8$0YPpz`~@FGpoJj%AiNQ%|Tr`j#%!_p{5l zyLY7=xO~-(g{PL^_|=w%{NnQArS0sTS^UQGCB)Zyn9^DbOj_Hym*ViY-(-x7E))iQ zo5CGlE4GzAwsqoBwN)*n3+WR_XzOOthV;;`qBD2)#6!|$WL2g6okp%%&3EDICj7IK zFS^9H^>2J{>(Q&Lw_b72@Ye7C>G0N{JUX2J!b`)tU#nP7Wo@~C-}Q~$W8L4lF`HT5 zHq*}=Wy^;ttIUB~^7rT5F9*G*oNEh`Iicv9uc*%m!xJ{+#^4$oX88W!am{e7(VRud>WfLD%*+}llyNfnzuhw8) zoADd0zcLq*|J?V7Z9Zajsq3fWdniZd1FX&63tX9B`s}d2*=V2kp1}8+(RAcdTR4Zg zx3iD37+LLR3CkFQZq<=a~E% zgSkEnU9MFa#$&qIqIT=|qSh~U@U65Ws^WX88aItCwO+abda0goUjd(dKRJEA=|C%f zQSO|mRkY|MT%1Jbqny%mX_5xvVuktAXjG&0EFIn>EXLUut#ov!swWRHA2Nbm=qITE z#rB!G3iXk@eEUq=!^yWO@}sPj2fJU0_Gj1D&U;<|rn0m;qC8NRWvVMGOX`X89ba?& zjl;g3`Go3=TRXS)eDZX8!L?m;JI8##$oN_9m+lf{?Hiqm>(z!S9ASbsEUs1?=G}c8 z7DwA(qHjD--9P%z)qI;|=))^qe?1m8_7|cuAATGC)?xAI?)usmJ+u8y_iZv}ak-1e zy^rVbfy@r}Ft$nFnyjQQB>gGhD$uBCx)XUmNjpy**Z+=D&(Q0pF4}+kVWk5vmA?Os z-2HNX?twPl<{=_r?%AO}2J^o3Z;6iTPC&+lX^^d*3LVtS=|)`?8O}h>Rj9 z<73=~bB6lJ-1jd{Wc(M*ll}{D6r6trvYtTJGhShAn^Abep2^&0MgJ)p)6F>SWSzKs zSLaT;^;2=VUOjJs$f7(8d&HH9>R}ytg`Z*reD2$^&8f~!f%@0g}jr!=ubK6!#!}%*2&#e3Y@U}Qw zy|sB)>$cg^8ijRp72Be$zYl6h^Sj*P(KrzEg92#(&6D^S0@ZK77o; zy=nBtOz8Ws9(7k%T=@_?MHe4fRZ z3qx8Jq?NP{iCmI&Cg{TokBlVgOgl_EiQt43NrRW-8l2;ZcC%{S@Gs@HGi@6z6v_%-e`YaN{( zwKu`n$cL{P9$8;kJ@Sd!)%o9LUh@g=e!F+Iep^y{8=IiBpgMn_^RLhEbN+Labh#h; zHs&Yq#O*OR=Ptc#M@}0SbkoPS#D_iI4W4eh(Os|+|Euv&=&tm1n?2p8rVofNW&IfA zu!}f6$=FM@@9Buvpx3SFbz4cE0_Eud=w6fk4ZXZy1=+CQhMS=X-fBz?@H;N(WmcdcJrU4OJCKZw0A)} z@R$2C(Zn|8cRa88g=&5^-%ykP{E=qO1zCOxQ|V##QLb)kJ^=mZZou+>`6aZ<+Zi9M zF1#46$^UL+v>o{+W!&V-7=6-x>C05FjJD`8m$*~$RbQGPD9;)_Ul*z8<)m3&vEaj$ z;dIJy-m}9RSC4F5iLR{hx)fI>@{TL=-&EUFR{Q@?`IJfL-plfF_j^;$sq7Ou#jkrA zsvSt%N7ky2GUt?){F#4h%HNCZ_r;C*ao1iSna?~YIy;80HA;q~%t@j@^|@K)!y^~1 zt{$oQ6!L6Vc@5|9W$s+_95MYR^T4UR6a8K7^|v)YwqM~w-L-oUC$&+{55z6dX$;Cf z>&ATWlIRaQh%QN|Pt-HYHStp$8|0U9fwp+9v;ZA_w{%v<=ruhxf|TrS(9cJ#m9%eHmtV!jDxM{SGO zCw)imr_Z#SoK>c~V>dQzMaF7x+6cR57x7Kj@e;2s{XC=Fy|!QPcud;=mMr(L-N0$W?t!(pb`SKd zn`$qg59YR0oVe4^`|8x%RQvn_?Ac>??%vzoi@?RS*Yyk|xq;*rqM}SEGuYML+dVXi+GKz7$C<@- zrR*vfoBO)D*ADjgaz6E>vhCSC*gfzT{yHFd^QMmecei_y%^wkU2K)c@{>24Tq`Mb4 zGtBur!ycK)V8BcE^KUNpL*89}?1hQ0z=rvF4xFApHAdqWT!L_MJNVscsA5{(xLF*) zOGK{`t8}%W%hKHm9MXG*HHjA7%oq)N;z{)00Pn?$-c0XT$?qRv19};yDR(nQPy5FV z25i{CKZO&$Sy=fA|1LJ9w~V5$z|D-&n83kcz=k3IwP8i?RIJhaF|g>BVKJw)@UO{% z$v>m<15kqj8=m3ceyr$e|DC57i&ntjDLK$_+{_pa$;)8C`ThJe{ z(>R3mUI14($?pT+PyBrzIH31F>QG$3&5Y42;1JMjoC|L9JKOt--q(QxdR3CA(l%rC z#&HPg4TCGJ_*0uAKhgV3enWb%;q@49W{lobIE3_e5l!VLdgpmR(K`kl&^z-0Xcul~ zjNXrM22dYt*dfdzyz2i89^o|m318(APw)Yb~!J^lQ#az(L zzd3@uk)Nz|w%oh%b3rF@FD~LPj8KL3bxr7p_Y-X#;6m&_Y*8G;7|F*k9u$8?>i;<4?O+?;VIvk_9`)+-Y+NP zWvLD({$-|rUBsun%Y1$t0#FEusEPjJ`}FK z^4f)K-Tfh!o#0Lre>+Ud(ZXQYwdY7wET(tTM?{dfrnxY!HrcAd#Q`457W zr3FnV0n_m!0Aio8uH-o-`}QnTn+wHHbKmxITEp(A+Oe&9;)egL>Cfy6Tovldm^@zU z(^dJU=h#Wt?uaQHFV>y1!$tSSksrfD6U@UosB{GT9lND?!dC|G2T3ZrohtS#QUuWzing@nc2aqSuQ2tADrp z70)foS^Adh06bWJV|Yv9my2O^kF2??Pqet@L0Z~kW%`yOzp1SDFx2zql{sAGKLgL^ zK8-L&e;Vl;ooR0r=}fOKhM9gKfT3yOrxVxGoslVqnL!y@m>EL>OuA|K*NSjOZLxeS z>R6p~{IBcj?e6J&=Vx#(Yh08Z!Ffk#aAu)Xm__b?9V6Wf(sSLT?DikSp*dA4I2B$LjbeY~K$&OyZ-bU6!+1FLU z{Hy|xNmZwYGOQR&+2Gf%Rf>GQR$e*7bwWbI9R4tF)RM@@25TDbdjDA5k^A@*!nFN1dpg;R)RC;$G)3-gLIry*8g1R5d^P!V-;wg) zH1763yLT(KC-BCx>C4%#c$&^(xbqv2vc7vSYrC9-;myc4*8BJ5##v|nOXN4sdeHP_ zZyf8!ZsKNB59_pdK5`o6qjy9z+B!*(lMt`q7}TA*wHNW8MS5@IW>R=%ot=O0BZBhD3p5qLD zRpj}{?A>wu-tPH9G*|l!wO7UJm6y+vZ3n62q_h18QO)*$VPDPff79(R)SHGb|C#-* z`7ggT%(|@BAS-fbx_wTS+pdawx3T{ye|&FM{)fBu=C0~}RsPGbyKwpc{mWtaXw=@| ztzZA<@YYAZIh-qeuzJZvQm;pUll_Gwyg_u+H>&e@V848{b!6i~)(^i`y&J#X_#uNz z_R!Q&uDyl(2wSLW9=(XO73^`HkwOlu7=kKXH4_(sH@uPpb1@QJK6> znf!fPCW)MnOFt{2Tf-TbURREV*5*<6jI7YQwa!SXZ0>4yWwRSS*+m(;vf1m_J1cbd zOzoY@M)J3Fn7L;!)%nZQa^KLNq?$}DMD;@Q z*8acTk1lohq_FllS8lo+gt}K*h~1u3-9`JKNz%19 zTboAN&l)FXto}lM1ahol&9q{4wm*ME+dY!KX4vl~uWe$VPsy9)lkY_l-}Hkg>Ui`# z`c#2#Wwh_Az&^E6&S-AuewXcc(iVIu%50y;*~ITgnR}4u3goVQd!5>o-}rsE=6@;s zIP&b{SUMJ+lKa|`>fBcLoP7Qz*LLJj`OdKR23&fKwbt*%d*q(Gi!itRwbQi)U91mZ zf&0GJWWU2c^oDjf|FzZ4&5tv7fH&<^5uf?L{Kc?%%)k80VZFzxJ)GhP>&}=U|2oNE zWv2UV1pnKuwf6RLGwaP;)~)Lvm|{IoV>@?M?NlqJspsTHTIZ|<#C3xw@kpk1PFy{7 zF_TMcPvYq=4?P*5nm{?3pPNsbf}P%8-IIEVg$3ml|d-VEM_HDfgX9~=w@JZl608nIdI`>;muRp5}`gP^-`Gh;M< zj)TE~XYJ*ml}DBLQ(21FfZjCpPxBb5@ibzs354{Hf*U=iq>aCLE^t6^`t#sBv1W|k z$8iY4={q=Tu|WJi!dnD)-cYpAVuk zamF(Zu6FlBUc(L?Pll@cm^7Lb0X7L!|`HQn9;Tt@@6Hm%3 zUg2@Ab5dR>tUInPiNDF?iwIA7#@juvcU#m}>@5lJ<>BsQqI~0nCH~Kr;73aEpLksB zrnQkqLQD*HM&TIKuM27Sms=}hpc5=`1Hw~;gcGUyfT=KPD2WEbwkn<);V1y8*rxgNrfx0o=);qLYi>6 z$~lRK(}Fcre`~|2SLq#4)S()4Us+ruh=u}~@aY=gGXYH8biMCrK$E(5w$a=fr2AZP zoi3`2ifez(0nN4mZV$q*Dz2?W{XyKZ;<`h0h~a=wH>UlwwLiU0m%cr)A)teM*7zh} z7FTOY={nThfDZN3*8WugZGAy`N!R|!i_PJySxN6nCok!p?4)aJDA7X!OuDvaq_)Y{ zjMR1}Ygp@gHh1w(N;ZYw!^Tg%xj z4U%e^yNo!8tpyc#R>u84`SW4TUodBUjPK@}d)`b2R5lOsq@N>eYER}PH1DW*%#Ugw zzghE$!a2*S@9$(ToOCodqdnMi!`9>&{y#9i@k#pM(8n;fWVBYZ9I_J2bzR z`*Y^6xo=i9xDzTp>#Ve!A4ujPxF?Lf#cmGa@&dGOJ9l{L9Z?x`5X$q*OFzJ!3jS^M z+#Tms&)Z&poO!83J8_?1h#HtvsRf=6tT~*A#vR-scs#%3rR2=(^zRJoEYqr|7i<$R z?pzb|GlJb*{ut{6v75WQaDJiLuN+&O#sE5Gi&?tRBoH_8gxW(xR6y1!RCq4{meb{T$}w}PIV z52oCvgX{dGd-q*56~_5@MyI8CXLOd_gk#&7!_Vj*F6k6|{wtfl?exR>%T3{|{KWOsCRtsUx{%4e{%W3$|+oEO>5d{Hm2cCSrxL6|vuHpjL(9G1@CIY;#@?d2FS+5NsEAkH}aF2jTKxj1aq=*|C;#<6_Xhov)AKbFyKtu zX!jjxdxGUxiMFyPEx z{Cf^7dKFlscN=iPUs((I^H?)RV*m$(0Z&ny4`W47{g=_xccthp#A3>;`KPipBR|=% z``^aIqkKNUa}wD7w{Rujf#sjZ_m4}$303&AqWkpyI8A_8VKt@}e}YTC11mP*_9)hj z=uBl&_xI>KaF$O*`!fT%rr&`z-oF=rs{_snMOXPrpE2=N?~mGe!i6Bb^e{Ex+JEZh zo_-X5!~#f2m@AT>)c@)d{8J_P>Jq%Y1ecth@$~yk@Zl1Cqy+!%5`2%x^_`~t{?R0V z8>Do)U43bLR?@tsZCc4E#9{{Demfg2m|l$IM{m68+e2-jy(g!!z3{>Qfu7An>j>5{ z6uHj=7b?BrHQ1yl&L%gO>EPLYU?>}NQCTa)`T%aBx|w?|C1WsQY=4N_ztnwY5Vwub zNefR|q;#@DTt-)XDVm*MUuUy8=271>^05!I=C7w(@$Ks!qmp zj6NIB+J|G`0&!iD=NNvB2kpB{!>kU*`KW^9P5gb(^ClQww{)Y+d>FM`%Y7KZ%|Vz? z_%LVTuKX&Gf?IrEt%oR(ywc5gmN&}<32$$#u(1w1sVsx_EyQ-TZOH?{oAcI`OnC~+c$Tn zgNM$(O`AAY24BB|`9EpAAd#A}`a#_a+xhZl@ER<-@7xux5{tgMz6_mprkDS7Jggs8 z99MbxrLe*>j^&Vdz1M!$3+X38Yiajg15n?tYictFqf+w*WYWAqHS-_-p*>KBc! zGN-z0bxiNbN=D~d05Oe8W#e#Pq0-yGL%mujByGAC7kO70ecIEcKC3TSH#kL|Y?}K1 z=!J_e^_B9SeBYM8qJ;e@wT=2IIop(VcTecPszrPkR-Sa9 zmG1t4tiDfl4~XivzA^Z9gGi&VwB)DnO{K;6?gsWGSvu^q;ygX~N4-Tlx>qBkv`DAc z-&d#mm{#TQdR^^E1$!Y@1-!WLCgX)X9&z7p_q+XU;-Q}VieCtLh&ez096aoF-(%a| zH>~la{dpPo7r1+ouPbC`6E5RZ;?!2EzlI?3-5T$#YDj?uG z7DUF1EgOYgSq96+0R!GtNkr`=B$kj2c5H0NmQxX~e6O&Zn!vuVslC)m3^4?{wBgM< z4J|YQ<7_EQHrajIE$ej?k~mv$aW?G6$&$t`#MogPBIn)S8kMRg+KCU zJ0*VvA45C%#_WD#d|YyfdvH@t`l`8D2aT$b63H5!7=y&`bq%m|OM*3na3 zqgVCq8SNu%7uJl?+k%I=ab^zi&-lyuFwy^)*nqz{2Y3oUGe%=K9_GfGd6s{VV3l9Z z2MQCte}xr2rG=?)=3hGB;8vJy^*3raeh0B;gd?NhU@o4z0k0nXwEnbon{ZcsqfUDm zzsImvoBIEP=3+}nbF<1lHNZBHIzM2QpZWFsx%&c(piE-Y^@WE!67Tezll8eX z4a8Twd7p=M_NDYGKbiOxu+kcFApbnQyQ<(ntbqMQpRN@u$B^(`#SJRu&$Qrdrq;L; z3>T{zb+p44c!h5N9hf{0T@jGHP3;5Hl-)b%N%m%1+2$!~bN2;q_GivAf1=DVH}#Un zT^!&S0{6}!Zs@;1zbYqjE9(dw(rk)s2n#g1@0g%=}@*j#?J=s z7X$Z8_U(Gpn)T~9tuEg_NY5v_YOmk&Z~s~D9=w6{F`e$ed;cTf&t=yV`?)lFlk-G2 za*D}DO8#(c4$2t8lWZnBXmZF#x;TXopLA79QYC;m46NTxgHy0j^kBrV)aAfq#=uL$OugQ+y2>j0XWQ$$AW77QY?EHPK zZ}!K1g<~&s22;2AvmZnjk~0pSH{=hnuD$XvMs9n;pYu%r+AW2uub`_4zuYUxEfgZ>pS%1grD*$4{xG}!YhQHop@ln6A@BLaWQ}!?TaS%M zzg5pY(dK}ktmmi6^V4*O{IrOl9f{0rtLLZL_`$zEcDOT8BMFszP2AnFX$A?9=&x6Q@f*158&=C zjQqzV4nKK+(aCGmRvYKvi>_JPD|l;#S3>z{N{4q413Jxiz9v87PT^k1Q@SHkxCfc+ z|CXGu1vqW#L%$B&O6Q-6Wpi|$RuXZ$@8FE9H#_qFV6 z^tA)7uMN;&lKV(QuCM)B?Y<`6iDMt)9fIvqr}|pq6=3w?kFGy~eEN5@dET|-DF%z`emv3N!KrH zjTe8f{(0M&lW9--C+EK@Ut>}8<$IIVzb^naBzJD&0-c6k? z*XW;Z>bvS!+kgABY5!DxC4Ds3cjZ%sVc$pfmXJSFRv#topwq{udj!R#f09P5u~qf# z=a=Q5{dQFyn@;j|?w(smK07|H_{GCNJd)qT{vk99-}sR`ul8d_qt}_=SsX$??}OhT zDSRxse_`o5{)2RdPak*ViEndL)aG9VzkhsO{@`cl-{Z!HM(&NBM_7j6 z3mFsowTB5D)f@*Bov}xs)E)%7VYLUr{lHc3j?baW`M3L+lf!rS3%u@h=5@EvF{HV7 zafvya`CVb+5uNK-`7+QOA^K)ttg(!9=8Wo7IAiRq?qXh=Ph90$c_|c6Z-)1)c5i2| zf%E&~c$6m}ZT`I3$rJcJoRjeD%38cJSGSDKj#i=5Q#xfk(V3j@K9;lx(sp}EjvwYY zrA<4SB3@Ot@OmC;m`p>Ydvf9hKBh>ows_N8pjgT&AC0?rxHjbOZB*Tzb9&Lm7jhY^ z+?jWEIUaW9*e-s%5A!0j?kA!Hm-b-m8aG!77N3qU+B$B#&z9W#Kz>5?HFhC#AKy#U zvUyI2rp@e^xcLD7Ezkc<`OWu>hq{C6hjus9xA|uL(mf?#e@4^IPx<~HS9jd4s_0Y9 zH4hQDDPM{j;Jv}Mb>8gK8qCwNIns@xHm?zH_`rD$`A~;+@+R94-n$gO4Nql3ot+PU zPuFD)&4p-1`&gH2J9X4a3vH<0|LX2gOP*9Hyi96!c8F%S4m(wv`=6|X#LLP>( zzs}`#X|fLLng6MV2si!>_$O}Ywax!j2DnLKE%Wzf;$kVfXyyJNoaRp8vn%)WUef+1 zbnTLR+ef=u%stN@-3vW1p6uQ3rXS=WV8C<=T+`Sif$#xA%%1 zN(R>qY+aLE*f}THIqyFq6-0g7}aVmn)pW@D8gI&PtaGl$3T{AemY0K7m>$Ywg zkc>)MFJdihUIKj$j8_YHf|C^qUh^1=?W<}8r{pF{q%0J)Z4lL${yTm3&Aus_(9q!4VHI|z1d+?=Rwq<6F{16s z&ZB+J8yFtmvhId$!^l$oEaqI0W326MCSUkv3JQ~%g_WBb#hJ!}Q3S+ORdQUYv$`RRe+D>np9Apb1CqU-6!s{epq!!oMyPW;RW4-*T=y9J*|KAaqu__KX;=*Dw^ z1A5b*1+J0bxE23^-UWg!zfC?&^w{;Opm!Yj5v&3Tg z_{;1A9>SV2dMeY99`zfErsyd@3KPA5!EZ?K72r;+8KbugkC5I&z?NUhS{S`A;11|b zSDHguGe+-WJVJUZ6XQ?yZ1mI)LVA0t-yojRi2r>Rz2m^L%CGLZ7`-3i7CpbO->C9a z*_iRPD8%jL{Gn%vzqvqan9tQ@UV5-OBde4#QQAeQGA(E z7`E<`ar} zXMF&-@?u7KGF4|MXRRlVp(M!tH$43YXD7dUf_giN-$huJq4Fg9d|6puaYb)FO0?gW z%NwI-u>Gd~uhZFy%1$N&(_wjwxheS1a-sAM!Ud;>aE(EidXKe)+nnUQ2v>XXXCZYb z2@l(c=xco3?Biz%7n~Zx#haCh=o_yNhj5Kwe~?6|zmssmsUckD{1xvZ`hrtKxZ1A9 zWtm3^_iZ`xAUuof2MH7n5iU42gwy|HD>Idk#)H%lPFs)9^B#&1TsDO3o|4)Ab6#Q607x(fbL6@0o9mR_vHB=PI4 z{(R$^pkJ~|9+f8zE91Yb3clXM4Gbtb`uxov9szENY|Y5cvx)_(eMVGx+6P3nXN|9h zS|}{sYk5!bto2b)9ns;`Aeb!wE3kt#e}%ttBf+N%&v12L5g_H08#ZlSQ;CkRTgRK+ z>)^oP+BF1z;{O!T zIZ~!m*IwqcuD8r*-G=gcxpZlop36GQ(Atd3DlPx#g1FR|`PVm>%eJ1h>0n6d_m}k!My-Kdc}sw^B8UtB?=YT;n>ROcQ<~&Gb&mvY@@wTRIj0ooaNvHn zTt3mM!2L=YM|voYPP{gX7I_}x17&>4G?;%~rtGiwVD~%go?>SRB6h+pm3Hu><&-A^&mMLq*jw(|{#RdCn$cxB_Oh4qt`}cV=;K-ezI)?Y`SE$#xaTj~hh|pT z^S4pMo=+xu-1DbVcF+5`V|xp_#@-j@?z#n;;zOrTQYM>(i_W@J*N&fl?p5TEca1Gc z<&S4j7A;=pS>@8?-P4gSs7+SihPe{Ogy?JKzhEZnvJ{4~9T?DUV`A3a6bVt8;mBPGK@p3`$H(n;C? zc@NuwtN#mVU*)^YnLR&s^>4a4BhGyy#vRxW&ajqCPak=R_k1R52hJlemC8RA zp1MRbHE)97#?j~s=`3{>&*gW* z^G?Te@7QegTHfB)vlKZFesw0>gkNj%_73^Adp&(wbk;U=e%nHs>wV{j-Jgw`;XB&> zXYNd0{le*$9i8pUC$c=!-rd=4_hBb5mF;HiBX51AaVG6NIfo{$WL)6CrK*iLa<1OQ znQ+$5bG_cpUuOEvq~B7Veo(*ZdAjmYqV6|LcY0)9d-Lw3P7{CCse7ML?O5ZE`W5Y} z)7q8NA}q4=dY2Y$TlnhZv~MSOPdPv5#=g1bHgt31PTF_kR(frE3s&jSZnF83&K%u& zy2ipgMHgGBDEoUjC;cpX5ubGPk<&9=Si^g*$U+rMw5NM`U$T_6rxI_9bH*>f9^B0? z{BiUYDx7f_KXjAQ-X5oam-CzIH`ZJAr0?bnYsaVO=JxK&O~em>Ut-O2o&K{tJKiTMgylAPxG1?U7uR(h{%ztrRC#|K9WFD&n^ zDdW91SWEdn=hrTc>TAq52fdDAH*X`O(s|t+r%QQXX&3$PPWbifEbmVEP5j00iVpf; zp`!n_(f?*;N9(T`soDQ>uK(pnhm!Rf`BYvf_PsXO_uA67N;$f<8S9mBZAKqV+U$ME zsv?U;S+_df#YvmZmd-n)`Fq8JCA{r>KI6#u8H0L)w|$Y(ng0pK5o8O)aRiAccAyk;mjxMADY;Wb-w{+iP-{E}$$CKdZnJQ6(UADb-;Pz86i*t>sKoWV_-Z+R^o z&Mi>p{90HyZX3F(5@|IWMna)2&z4m6g$yO6A)|D8$>>DO9jOmiQYW0W&La6 zY}+>am&EQn`)`ko{+`K5RnVhv&R)w&m`f^((1DDrW&X&ABn1~ zq}8r=Y1h)(?TY2hP<FKiOq16R^GBSsstCX=f(Gdn=(C>}%mI0H-S5n2|L#4c^5*bYyOvZyn~} z2zH+LR~Y->(Qje{dQPY5L-?678t=x#+&JI*BL5a+MNeg5^gf0=pjX!qxEVh)Mq?Wu z=Em99#=m~7=&2lx-o3a3diBo&@5P!i8am@QH_o0A3fZmJ(a4mW-`8fQ@%sI|K zqt}Al)2n+6?ttFR6@b{(2oK|AOuSq0#Tou}V8tJ+l9b-nxC44lhHoc+W{lo4JVJVE zKaE(?%V8A;TsO>bK<_N^ejIDY)2Q2oM@VlOa4S~ylt+b$9=jtUy|V=>Z8M%m9Xs?D z^wt7fenr>l{X5(Ne{Xj~@1lU-k1FXkZLW-GJk_gD1?e_XPGvc%a-90J z%5GfI#n14sAFFcVoo_M5uS{G>zvE|Yk7`yPSKu^)f}mEZo+b!mdd0B+~U=Q-Xwc0 z8;%dCl3jCStV8kPS5)DveLCaAwLS@9Ycmg#p6YLx4>m^jR>A+e3VtGixgBAoUT?@2%_xcG}z@K-!6e3FRO zKb`UEz3jmu!uhNFRS*08*Da`myAwDTGVQOfuPS_P6}%(Br+wCG{pC!Oe%+T7$kC&{ z);;HgE&U&OSh^@FD>r@x@$27KiC^#ei-b@6u76)u_$>(>uOOWEUjHwv!ma$&{&Ix> zMOFBZJ*@hnKQvU8S3_qK9!sYh{iC6(d>Xb^(rfs56}&fyPk(Cold5o&{cV7L8{sc{ z{9a)C*A$KK&LrhKCGBG#US1VGPyzFeSQa2jwYSvxxDR9wk;x0xcvk9j37^pB#uKj) zT-vDw2DWS&xTQiXOZatKA#GT5?_k|9qyp)}KyA##4Fpf2GN6jW!r;;FTH6brMs-j^ z#aOJp;ZQr&#dI4IK77KLcd`pnD>R9lgjY&f*21QwCQWAo7d7@SJk6?*Byzw zl+RUVnav0~soW_1r|)nS0y$;;L)q9=ewnE-rMWDSlkE>^hB)}!``ppmK<;%{AXod! znZ-3ZQ>`;oncOpsYqF@5#w`VW?&I{#>X-7r+}u?-J?0hvvCx-mzV2K zYw%@;-(JSi9lW&MXg^mP4s9m&ryQ1h|F{vA{^ssPUGF6LD-35c{5EdZTii?eY}LA6 z=5pK(iBq!Ay@vBp!1LG3GS2#Lf48NzB8uMQ+~p-wqQ}-`Y%lGotpjaA$2%4zkF=bL zjP0*bZy0iqX^Xm}{JTm~jL|O9+rG zLQ4FKj`HAXIXyzqYewckJmpK!HW|x3--Y(ykrp~^l$PZMcP^0WZOoV4d0V_^B?Krq z&cv3Rtd!zFBONi&2s=J|z69M*CHdy<^(N$MPZ2&{VaV0Kgk0_Oh1)6H^~h`- zn9DmT=#fF^RpGx=#>hc(PCP?tI@tl_Wx8@MeJ6id_{8iH-V)A~ZjTyxZ@7{7hMRcb zIIFj3#^$(kD4!XBC2IC^JJJ`t895m{^FB4V6zRU(8Cm=rcTZzHW_%G{>C5u- zL?UA^d5UjclE~Q8m(`CF*)!x~FQYHsj%?PU=ow^S8jCw4=~P^dyQ#2$HaZp^oGY}{ ztA3h!OFL7#M}6{GZ#VkE#IK8o+%z%@$9LSr{egRriC!bJ?~R0S*g>4)r;qg(Z#~(& za{r0bD{nn-fI@#R9 z<44`NpmccK%DqWNeRkMbpUN-|AiIBPZX&~E`R8pg=sv<&WBGr`%T*m1yAi)ToLt=A z9gIzqMIXCJd2oKE9h5n6V{yNOHy3X`Cf(r8rH@C=E7vH0)3&QzlxNLv#bd}5C-d1d z_b!;p#O?g65%)G3GDQi#laXst*_6%~eU<(Avw7MA;Th2(e>uyaAFEG1c^~;Jzt`4? zp3zMAxa3dVxY?{RRB}u5>qh=WX+gh<`AzMp$))Ao<42+2On4|aeu^=mk+NE)_UPN< z3f!5+rQ+QFosV8s{B7twjvloO$E7E&X>`uQZ1Hydo`_nJ-EYo69Zl03pzv4SBZZw8 zXZ!yA#A)&1`T(@mUPIZl@UB9dHaq-j+T1^xkoFqV=FY+BdeXkbr@by}c54sPFB~WB z!PidPWKUJ5OAgSdV)_nct2vOeQ$4iWos;~5*v)CG;~v^@_xO0!{p~oK`MrX zodMQnG3~oeV}YCdm>G4)f%f*iD|?mg*lhY(lBbYU+F7 z#Oc1zxwf@oRuAK5e>AQ5+r2%b%icSJ+*(r?WuWn4bbVbme>^#8>Y|(r->d(9_--1V zwyL9RJvdSK2>QZa8eP}?`9fw@7qmBs4t?wT!p^o{-J9yWW7_t_CRmn#R2NtB1v$E$J? z?Ax%D=PcYY+sSnLexDgrd)r0X9zxG4Wumc2@}l_$tBtd*Ib;X?jxV~ zHc4qk zw%=1@3$9|LwdOWwHZR%@^G^_I$;M4qXZIMdAo>jT-XWGgXHSLQRE z?rv3Oc_L=5&Gm^`IvglVj7^qmtzw)=t5$(d#H!v$o-EBto5e(uHBiq;4$vnZR#KIS zqQjU(NU`?G!$j^TY#~pU;~M+gwj(@|YK=TkCKy*|lK*|KRedB9rT z(eJ-cPaxehX5v}IoZDTM4FTCP^S`t=y}irH7$$Oqf$ze6P25Xs z`7SIg@(U;|z!$ZS^Hip*Z`gJtNp(pd;)J9Ybp7LcZ>61KRvVDEm!}=F2CNx#UyDbG z$MQw`IZ|VISK?!CoENq7Zv@LyC*nqq3uAvV`Up0l=j6eX-8lj4{!~7vG@+?y|o?K z=)J**iQXl+LwYX)*Pr);11|D>;o=f&3GE|Z{iWsQ+XP_f9AtP z@8h@wdQ-B%wdjrcIQ+=8iMG*`Oo3q0le|etk3DtmtEa~J`$K#J{@PXm_hD7Pzvjb4 z??2)W=uOQ5_h8K!y;txE@%j_c&@8R^C-{Wv9sss>b&d}s-MUuX0ljJcz{jv=JPoIN zFQoS@2u803x57m4pYt2g%k%(Wk2PcTRHgwvCxXCK3$GTv13nHvGILt_XY`OSN%>Pbg!I%ecVf*Le_z8RzX81&;_pSQ8Kd_-JVJUqfsMb5d>C+j4tGFrrsC|vn(;L1&&4C8w;R~% zqs@nj-Zi*GdUpcXqW4Z8haZ_a5Ao0FU5s04iQX{30lmg7@B>&g#@{A9LjDc|6W`Tu zyAKn+dvS;K9s{mL?~^_bKQeQ^&Of7PW0dIqIsT$ohsB(wwygGP#`yat9wDCERL+q2 zHM}3<4)OK_w@k!q(A*T_DIe$6z>{BycNAE4X~w79pz%3_mWX~~PIZ?WVDX$9V9o2P0ZwJZT2{Z7_Pb z_h=zpaB2uwUs>%vq(n+^Y6$NHxY>K0OSs_F5H8+sO*~>XY~$5=5zg6nbbAu+6jKRK z4dL$q_&x6-c|x`Q&n0j?46OF{v=4Wk0{4Hcf;A2}qfUe2lrb?LK3)ZXzY6|QB}^_7 z(@FZY@Av`_w*k|>WA#&+JArB66XatDli=uK!fEgEb`N|0C&ft?x*}o%}8RwO;EgXA;Ev_gBHj?=j+&*ZPlFh5ri=Ur#vw zyZ&ESg|nmXjQGzH{;dF}zt{iN!;-(Hzc(1adY6#?+%VsV`|@h|bq_0?{@pO(;Rk@} z-wmYzo`^so&&sy9Tea&k%fF^VJ?ee60u2C6|T}U*|y>U*(k_EQVLP z=O^LbkPz~B2G`p5^Qe_U0S#?Q1te5LN+h>hd^ZqbuD~sC3VIGJLPbftk3OtcGoB=)WTWSM9n2wIW-q;M)^Y-`Y~2oEo3c&Upcy^CqEVGLqV(Oywv;I`1jV`RWe#ETgk3DD(b6rgCSw z4QRhGr3uez-XG&tRpbA7fd2|7y5?U97t5Wy#0e(KHBX~<>Drp_?mg=qz z-K_85YURUv;;ojijv!sySc-E)fU`EhDFtagi$){k6CPHYdoxQWb5G{q6X2(AjY*pa zhSzQ!xOvT)=v`fSY1gGWXU;?>w1IRm$?Ct2uQp_M+ML{!ERh41E}r~1(N*?4e>FnfMr1XA?C~GbyMX9sX#~Gf zJdpmu9mrU^H%#w!`g&q?8;wXVL%bD6&&eYDpgc-$NwTiGa34!QDe^BR@w$&zN7{|M z8qfh#a{7xJExz(xH;sVhVel6Y@IZamB7;G)?j!hVSKaTX`=rlSfu>*OSpSh3&c^nl^ShG8ummOMbxg z@LmbsMrhW-dz*h-&)Vj(C&!|uCCCiHZ|mUxM_t($zI}<)1?lwN9E$poi_JQmu_y!1 zm9!04Mv{xAJTu4)H}>4`-Y#rYdr=zs!^r=>fPS85d_D5!vgrwekDT85gvUtz1U+NV zQijjW=ktEvym`@*B}@2?UhlK_3CeE5F=6$(jl&$mt=TY;ys1_Zws{Ndry$TT5<;Bx z0FS$N3-qAcKYkq}C#fDYHm38v7MUAo<|xfhU6Aj1=dZ9vY#&w|1%6&|XA1{`%@~c} zz{A`)XEgCo%|i4P*XVr&cS!F!;JsKgMq>jW=EgZ=75_T0qL;xMy*qG=-a;&OQfOP4R+>_0EoXYjYrDHn6YT#0O@pVU>4k2)B9L`2n*x z=SyYMey*7DtL7jd}9@Sa}~U$3NBT_yQ<*bRq(wY)?IMr=Z`AF!vUbYTM_!Y zVWq;ujU|=)1B08>%W6aGwya)75U|wL35zRo&WsJKu01Z1fL;Y!r=2KgMj~ z6JY29L4#4k0bX(bUma0C5q7K zKaJbyv-UjO<7h0gcNyYkft&Fp^}oKHZoHH3VsSs=c_7*NcRdesGft#9f9P?j%lPvi zNA80G&f{#e8%@TU)P0QW_ugOo*e<{7v&>YktmN)w%g}I!%6vv8L>|rmVYUU$-4oz! zU_00RsT@mJXNbv~mv*FAG^JV1U2L*@O>gg-I*Benvbl{@5Eh; z-h1#5=uMH^=qawz8^tYp9atIq=9$dJ(NDnpxFUFCbEJMXj(JnxkK-g(^HK(@bephM zb8&<6pml&5qi3-Frv9(fTx@i;Ft9Rpe!$|_)-TdCA>J>x2+9QJ(&Q(}6z=XS_=+m{ z>MB_EDI@w**{3fLM(IYqX1eMQvpU#mt$aqyy|k51T9;I9uh#5RN}sl6Z~83MNy>%}sW9k0E+0jgmlm5=tvHUSN z<|c12@NLOh>c(9r%SdXe?S) z_*6QU-&uHc?ud=&dPk$@KscVq?V{aXO2+f<1IZo5?!z>oV-31vv0`ji)O6jPhKp{_ zjgQYSmE@P_yE#{U=jqLSAGQ{+Ozwul_t#f`{|%>Cel@dr<+04-;`8Y2{prgiquZ|? zDO^zRbXA)kU(2Ju4RQC4j-JYnUjM`FBKWxOx;LC2UH?#a^qTwJ`{>u*a%%g#-*+k+ zU3K>6;*>udDPEM^d)3^;cY9N@1;5LjUt{rn+)KVTVtR;+pEwqAFXRDuZYr+p)!mssT=3CW&G>FGL|@h;mNJ>Qe(c2&AR~C0-G^t3jK)oPm>cJ`7x~wU6;Bzg!sMovIeOw9Q>Qt0wsR)`l$LDOw``rh zxmZu9MmRG14d%}&q#19~)P=+U++ ze65F^@#*iVf>qzn`0(HJp!8~G-2ANxZ7`}B2*TOgZ*y(fuyxIv^^xAYEPp_{*?RTr zp>-b}T6YNt>D#<3*cz)CJt}7Y8#!4Wj*^!))A@g4NBLN?dSr2&XM?%EC7A1(2Gj4* z-e9iJ1>aEZ!M9sa@Qqd|e|t(sIsN{6vFzr`RqC(lHT@2yzU-SW9tytc=xgbk1U~KC zGa_#CExayKMUyC}ID@ssg3fnb0vhH_&LVtQgKJD1tJw^1Dm3X066XJt1>Qy|O^b%Q z2z>G@QD*ZL?xeM%PlEaAz*Et%)*7XTC^tGMpB>FC$PQ178Z=jx>Z5F5^rh{^uSIVv z{P*}s@%!UTP;0fLa`nY?a zpt1NntK5BB<$Lrd-r~6O-A&{x^Mz&6@Llkve2_oQ=XZqp8JkUh{2LXe>Cw>UY3S_W zE~(0WcuHk?7d{6M7gKg$gQu%6&bs=eyt{Ig_wSHyj`Gf&-YlHa-;*7k zOPm?Mo>h5j4RnyQ7C$P_`K6@1R~#ze{d~RG8Q~qOb?B8_jZ*QX*>8=K9daQ&Ip2u+@e02A+n) z)&qx`50#gf$bfMpIdyJF5ywmEVQ|NnUJ8ctVvl$I;Pri~Ei6Y(R=LL^d zoI*D8I!9CSc1F1U(Tl>-7a$|aLyMy;I_~1sm#>-T%X+xp^oJDHobhp9^vGT}r#X** z?yjX#>sL8x#joWV;Gf>Pwr%v{Cu?a08jq)oT zYJ2z6Qq;Tj{-~9c*_QlvZfXxU=T|<}oGeWJjoB!*YMc}2KI&oiw%5#4D z_;?>bg_+Sjr}g6rXkU1(b^!K`p(@Obwab;2$NJh$m2S+fy& z*dRKTk?N%3E_RG*BU$|0@N3i#2D=bVd__0&WgZjWOt_OofTq(vq;S#KSHJSP^iYIC zisS{r#e>E6eEp;SgzJRb?UG2Nfxg7iDs`osefbin+}w+lq}gV>Ccgh1W3{ALQAfx} ztG?)!59Pu0-%C5pC=Przi5Hg-@*tk1J)`G-Ub$HkMQ9~ylb_>h(DAfbeb0aWi#KizI1+5^2Q|H#g}Dv4}$_YO{%ky zH!m5&78NuPByBQCqe1*6(k0_1NhPpq-lx1gIl#+D8aL7AK|9QmpAFI!Bh79W2i{kC z2@6T8^f-U=h5riN?G{#IOx)e#_;YQ6mqMM?gz&MADi4)~cG2WVJ+C#sOP`LKc0CZS zMcQRu--A8#Zf}h?7apu10sgSyT|?1U4}avkIfM^IH{ZT2+A=z)e&qIsXuZQ}h&Jtd z3jQCwVr19xXybKl|K@UyhkZ}?%7q{crB+WQ(UeJ!CG@sq)rCGG|d0U*3h8T7&8|f>Jdycy?CGRDOTzgkL z<%{S!Ui+1HqlNI;IJTblKC}LAUao2?%&f~Y<~JeL)VSj`UpLTGzssY!qY%A(_uNu6 z4XrNyE61DjRu<|{Du3{ni=N5^>7Ev8r70z^UB&bFqn%D+5n;T1jBN&g+1T}r%l(W6 zjMt-AJFPNpOOBE6@kg(u4BH8BxvsxCFKr{EGopE8S4SoQtT8(#Imh=U=pd3vjYu)E zhM>IlA}bn&79Zefr$k$MFj`65c&D`qANMNK7$IKE$^*<<-;3t0JjT2=}&^-4z z(o0AU=@n)7x}sh;JW*~}MkCOulv~oHHjqeEbstMkBfH-p-Ozn&v=ZLXXeaG8D5`aW$G?sR!b!mnC-C~h5_tvpE6U);=zZbcs4xPOS3*XTETO%C2Q zC&i+#FwLdZ{W0b^&7-{3O5V^a$XMz42X`l7Hox>(xM(OoyYSLH=+ZQ8gpwFko2RYs z>dHm&7cO&UQ*h~1E`D5$kwQyf2B&?+tSwxcqU-Z7-j)UFH&vuxPA6A_-wEY>Uc!gU z+13V(Lr2}*a35Ng?scz-y0X^#MrBNST($K6c*vFMy{=4G;WmEG@^!Gx%Gq8F_2t}W zZOHtCc9V6y`xizjKlci3@u@_UqbtvHevTi6cl@3Y;wSCS#}Dd{HV{3c_NK8(^h8T# z>u^}3xjY?;cIO{N!qekeSqF4f)*DogtdC;c(ukSVt54I1sm`?qu{M#^iN^`*{%5HZ z_fqYX_p$D{XZ9_cOKE>CsuSi^>LWVt>f;{O2WxQZ!_T+W$4QM{Pq7vi&z)(#&_BBm zyE2ReUiZ5?@O_tZx>IXd^5g2$`gDMw)L9unsWbI&`iaWfr=hjETN9}rxHS=)>eBM7 z%}Y{lo;GdNNx4GDX^nIJ=Qh3x2Dz@dj+ahvfAlQ))cVz}owZhfUkRPO;9uC0A9>q_ z9i8dFg(DYsEEJSDs(+&kx6Z$C>)Vpg+PAH82ERo)_nn)&Jg0Nh8PN>`L%9UU1#Vck zb@&4p4t;PQS2QlWa9ew>%7aaYtFE|WQLc?$$QC?$ z%so59L*%n8uv!bJ)}dVmks1U%b$2KrDYS`6c#Ip@3=giIJb2wkQo4CfrBtnF(o+~( z^O`7Ihc|73hj2GBs1da+I7l?-3~n7pv(6+h{mrA5%o`XU-m>n7ZQKl^x%@2VT#(ho zY!~U5wUfADV!D!MOO1A|WVGXGZk*>o&%ZwGMc!XwoJvIh92?{#eg^mi){N26uwibT z7idRO@kLK%VDxUp9nh;g2>cY*jL{gt!`wJ8Sj<1AA$l3C(Hp}Z(5oK?egJF6XcX`; zH_i)o@=r8HkAWklw;y*vub~;ZR{7~PxQ|5VWRhG+yT9ry8-v&XU6E=jYmjN?N+>qUW*SCy+gPIdS|r)HsNQ+ z==~`k0lnF(1LKdcg*3lMaR>Cy?gUm_Fk|$7jEC@4&zQ5X=O1k=HNwNz)$uDl)gR{U zA^z=h&g7rMuys0tkXz-3Ir~Nau?kC#;hnQ-d|YXJ^9D({h4~epOx20T8`uS^yEqAQ z{|!&S;?bL5yA!ti0d%r+9#;7feRkubdaO6+!e8AlKTZv>`eAB-)sIpGtbULhV724a0OwKw2k@*a_$^iN>?*hw z_&3eZXJ)VpW|t>1KKzy{nALwpxcap-9{-^#SpC!)AO3HvVD(RDeE7Gj;O~1_CseAh z)0N?F{B~YR{J5>LjkH7fYs_^3;ZX}TQ7XPh>j{(!(>U=R;W35ZuToO>H@mA(3@CmD{Dv!GNCc$a^ zfdqE^oCAJUd#Kx6h5!F}e3cjNx$e(B+yqQ}uKP=mFHI`BC|M;Vpfln7Bv=CTwNm{h z;zEPZkBYB~3Y7p{w7+@NN7t04dfYo%s{?^uzhLKE18oReiU%G;e2?*g5csUwvSrhj zGPO{mR}_*jhRTa9p+<`EtH@JLyj*6`>JTVI5WPfzXxqjO>o%^Bf-5yXZmL5g)B;fE z&Z$B0Iyiicif^OU`oQvcaJ;C}YBIQSQ?zyS7H$jP7~Q;n>+qVgngp@r#GGnTOVx#_ zb~bLi8OfvYsDZWyAGQ3w=A*xgnvF@- zcz9an4?9oG`&Trfpb@+8INJV)P6}a8O}%$_W(-_ z^X~|7mNP}0|Ej>f7U6yKht6Dcmx8#v0yp_h=`+T+8$P_H8X~~4m%O6=fi{YV0__!# z1^BH@@kXaJ&?2!opx;}m5x_K7XswxQ3V`P{UFHMRjuA7~p5yB}z8JUa786rG_UcxA zsmI|vIKJHD$h{)KA&+nOd}{rkzFGxuDgXGVnlHW{@PD$LceNkmGp78FPpzBYVde1a zo*&JNS9$gF~u)V>3%zqXR#wHjPIDI+RbUUE-xO&A71~H|{LssH{?r9^^Mo zYePVvK9#0Lx+xD&1^CA&Nh=?uMI9L(_3<=a{8OHX%Q(`SVffldNZpTB@{sa#qKp$$ z>_$_0Ptsa<^T17Ow$zZ_ndD`$&P(6%GiZ^}ZE6gqi)mv8^G1Ijb$GNCU33VU0f*4BX^ClzkO)#2z%7oMF*nBzQH!h#KeW)l4gW>-^#<|r@J9E4~uq(ReGVzUgXl* zoz8-ahi417cgG@~9mQ>PKN($6?Ecya=S!LHek3nH#%o+?bI@5#@uqK%Y(MekNPrealxBtQCMx=crKQ+>81#MKE&a!j2ucMdULCGHCwTrhe)C~^# z_jb*RXh`lggJZz2DDLRoYe#(i79T%*`?bXXgxgnlFDCdnFA}F^(O%9p^|Hy{qdLbs zj9;cW{LK+wI?HbVvoDTpf8cW?g-7Nb!JqRb(t-!MZ~Ls<@Yql~hnH)zNOtaU^!v8o z^VyN^5@%N9C$hzFe>Yp~e5QB%AD@#g4j=8E&)0mWsblp6#Fg+{kEYEC)^`KJ&!QA7lUj z*75O6^h(UPH(zyn52b^gvRy$DLtDe;k!Zv`+!9nOB zuU+S8-RO4bg(X+#i+r8;Q0HIvWq16`BZV(bT6Q~2=Tdg(q-D3EbZgL7uKJ6rwi5Lf zKlm4wWxME^-lQzYORg->r7XEola%MUOB_FpAuT*!ar4>UM!Axaxru&m@Y>?l&kIw!sr3EjbOj4bId zJ=ZY^?ZG!U4c@x^n}u7C=9k=BZ12AH(F^TtlRW0q^Z4Y2waPpqOGCTWD?=@%dR~*` zMWNyo)D8T*a!j#~;L3VywYkEBjse)iCJ8+@HKbZ$OC-EsqM>1~Ju)JN^}p=*89oq^xR zndy?KiS*(f--%jw%!%4|T!8${U;gmO$}aa(QJ#1mHR81^o{y6wPREYhDQh3^ws9vj z*1z&wCr;13r+(axbJY3DFC&Xl|7Wfr7C(-R0b^YkXP3%r!cX*^#!uwBGGW=#7D_5F z&e9GP_kSZ>{N~ACX|mzg+JWtV`=>{Cj8hk1NzSERTYJaLcdLzwZoZ$k*Y&qYid~Pn zegLh_#V+?c)Ux@Xq#bfg&GB~(x5jSO8}cBE8`c~BUi3PPJ5Gs@*5Z=1Up=lg2y6B- z3X;=m^zIA01{ykmeV=)m_LSC7tE(U6I;bC&bB+2z{zdh3nEH8=GkfH7$ZJb+Jl0ry zpmyCv2VC7eNt>D;<%GZEtJF;rXT!>usgqCpI_W3Rv>#XAYrZ*Io_mWskn7=X^QvT$kL%Z<iX!Ge)oK+@a|N2>n>mQ#lyD{kQ{q z5^0PMV$B%6-^0V)INvC|KCI~JJHhBZi94is3h)4aW{igR=gf`sjpCypD|#w7qjwy4 zK+kExX~NHp(fAG?=EnKPSNJC$MNj+Bo?cv!Tl6}xm}w93Z?&N-eu$B+;TXjxw_9~)2i@zD8XR!UI{;$(Hfzgd92y5fc4>*$s z;sCbqKMN1@ukc#?`aVvb_ElBpvyG;&w2Q0YrB$%LVV&{#AFP7cRKXvvg4I8q@$t7O zP}~YX%J1C?Z2Pj&r>o#Us)C=cf}iv7apL<0lL;JapP2fI|EMC|f0ULlrUY|GGBMnoXn?i($8Dz~ z9>DTQsGgc(l(6bxTs*UVxsdQF4q;C z#9_bwRf4SPL_h-M1O60fAx~`UDkx3aPIWfE7ahYiBPv4c2g8LZ6)2u z+Kaf8?~D3`wwtADPo^y>{yM{>;T$X9bgiS`+HF;x@upgt7640?qen~w z5&WEFIcfB>L0UQXWi4)NKtInhrTN2ii@6yqjeqUar0#t|y3dvAN94u!dMnBYnkmmg zIYgx(Eoi3c9tdbY9MEi!%6r2@!QSxW!QL?Z7@skDw|vFDf&cYo{^R|@-f&32KcN3W z!2iK=T|ZC$E$KKKF3q$i2upb_Fu_;EAW}t~q%K8U4kQi7$MP*H;s{_@>fK(fwdMvha>B zvh|Wljl~nZG#f7^Xy#{;-;8*Ra=-9z0zU-#+N~6LONP$0>VK}guryYRPU{X^A0)Mm zhc^n7(cC3Bwc*TUcz=(zcTE{A`bW6dYoPBqnE=hL4c^iZs%6-m{M9i2W`ryAVXX4O zSSk}Q=3lyQk%zZcYr=Rn{#s|75uS{GgEe9Ooxq2&Gq4$~(rv<4tqB`e;3u(KGe*x~ z`%V3S32VY>Bzl%lSZC4VJuMq$0&{WllVl1vP zyNc}Jofl<2P7`BpOM%kpi~e#uc-aHzMVB7DAi9*_#VH+l85@lw{1@L`6LXo|@(Refd{rGRbeKa1%zyFiPco_fwyOu;l`1g19zcQ=fUZ&2B+jesxwMoWduQdr<7z>4kgt;@%t|ztk1eI{2DtY&H`g>e$; zwKjfEdxzqC!4PLkSHyc&FL!O1_Kc}*jyFhxpZVgF=(MX-+5_q2il6B1puRHq;Xiuu zwMX=t`y$GWv#h&y#zkAm(WkR>Z+`;>FS>G@yMueL zln-q%)_$(;XF*?mHBvm+pE)<9p2Tlk=^p&S={dxmj~euLe+I_sOYo{Y{f-9o8poDI zed4cp2lc-{87qVnhS4S>#c}0%I=!pj)HRpa-sg0?{BaL5d)<2WU(pqy{@3%n4JV+T zn|pi2{(8gn=mt2Y`d9l>`Bt|Rcyn!zd!4S$Qg6-FPpP=8BPrKnv}$zi2ab%cKiccl zaN`<0mEcw7zG}4X+9RWLIHRL{@(+!V=bw&d`9(rs_z z4kvBu{!63NItNtwXzb}Z#QJ&XW4fQ@&N1cRx3l+Relz(Jx)v^VV;AF4?%is`N@MhU zx87a6z0@%}=Z+(z^RK;Ix(L8)rhan8+n0A-H|OLb^a%7?e;>_VJ96J;(SLB-=P0MX z=?#}t7tLQ-68(o_DeCBpP9DQ4{;POEkH`DfW;${2cKgv=U|6%))I(P4BQBTs}ZY%OV@f~pJ1BE@groxst zYn>m{_ge~g&Ax>?b@#`}=d$8m2YWbMZd@MK?FH^6y@k$iKX*fE``h1shbu$Qn4`jf zhSno*Zn8dc?fA>Omq=VUpZ4n4X*;~X?iBR;786J3W86!1;{bVT^k;6d@>U!o>`-!F z+|AYZ*R@$Vyyl?o=2G&^_@n+&Pkl6VHXQX92Hm-cD-(aucd_Eo&Z5#G&WIw~&Gx93 zaV;u57$50Aknlj+HSt|C)YtgJ>3OVv;rT>&zkcHfICtj^ojZ8mgs%U0>lqTW=T+9~~jAwAEL4O^=7wuSlZ_zc%W!uJGA9H^%P1 zFKT6s%_$AW*H*=6tj!g>R%MIL?{;U`qN8wymHxn;ImZU8&c&O-I=2)|oEGw>Gkwhg zL;1tWT|>=7ZVr0-nS9~F!+GJBE{OXn`v!`ojylWk1|HM*-1%qn>9p9a z^DUDBP&=S3G+ywb;_m9k_|?O^7T&+Y@AZTI(Ng7QYkyDFbN`PYCp^A({Kt>%In8+E z;wNjsvCAm0=m+m*&C&dkOY5{&%R?h(ebJ125phpkJN`Efixp>Q^eakplD6KVuw-32 zzWCblSB|+&vRty4mAi4%mR#g^$0~e&;or*TkAg|Bdqrn%&IMK9UjG2Ti)ZEnwi~>= zonLd~eB&va`NKG>zl*QNPx)Ag#mrze)d-~qt7O%R_)3URJ z3f~a_hMQKe9Y9UIPVOaOJ~)t)sx7ka4qqxI)uD0YhJl-;Y(9;Q-@4>fXWPbYTh|PQ zVZ8mfX3Iy{__LG&?cUs!K1nEITh^?3HHOP__`b+O;>369Nu)g~gfR4`Et|G&Ml1N% z!PSFX5qu9ge$`Z6uG8(K1$ywp7j0Tfs0|$C5Q+CP?0hC^9E;1cq){(ZvBn}9`c8W8 zu|M!<%u3H#9xwaXWy|L+^{l>3yLf#Et>4qE&zJY?>*@P;_EJx}c79UdAH+Rec57(N zcsdQkfqyCRe=6{Qw(LJ8pgCo8nV+e|H9mE&ZtiLDW-n7r13&fORo-`-7Nj-pXqo0T z#%e3KX)l(`XWD6|O+P;9Wsj-K5GIo;muH4Dv~#CSYgtQbrn7wRk-5H1GjnJ8tSR#h z!>=zN$;PJcQ{}U!>7;dz$C*x<+nLPtq4Jr}bjsGwj;8M{-xHXAuzXKIF9q2-(v1En zJqwya+*zLfj8d7m8HWS+|Mca+lrV$w)0KnVFO|z-Cgoz~Ftf?dl-B9)O7fV8JEcj_ zb0*o}TySar?TJ9~nVjcjDOU_7jcMZzgdKhTCr)?eq|0vF_R-nR9iy$$=L>^qUmuD; z|E^M$OTx!bEBu4An=enom*>;)(h0&&G!**lM;x7<&}q$ej9wUhezcW+(ckuTD)68O z-UnNAmkY136MBZ%|8Fku8(cQ8Fj(*O#r5^~T;AJ%`0U>Pr{+n=ig>a!D0lvJ?`)m- zBs$fQ@3b|w&W8M6XnH;bp8M7-Rh{K{dZ+#={GZBaISZP9sO`h;hp?aeTJ7}p#(S;w z{=VU_H@{~}?`Pp#y2`@y-=Am9cs*$RtUTC@A>>u(2JXcs{pxJp?<+{xrF(fZ&!oV( znKNBhK97}pEkH@5`6iFXL{A??V~(J+)U+K~w1#N=}a0?}?qu zo>)%0+?opgZ$2Vjio}n+O!Ac)?<;g_jh=f8d1==@7wvOOhn{c?(f990*W8ups}-%q z#RtAumUZV03|zM-lFDj-rkn=6H?n6E<@+74Itz1i#)PtCevxdo_Un{K%bUw5al?2e zB-r5ln3cQYNLE7eRCX!{S8kJ(eF=FANKQrnXhvn=;kp#&)llZ-$Ahp;8b+MHXxc|p zIKj;axWAHyflE4XNnwXO^=}+*;(kPKYwxesx7cTE%Cp~#97S7U=-j)*xM6=glfLlt z;HX?xFRs4pImao@zB}JQyRTe3oa*YKuF1G~D(H+BU05CP&A#k&sv|q|(OfWk#d}9a zhdxlz|E1T<%0x7l9*UYwcOmf`&8_%9YoDdvyy{xS+NJnZ`?7Xr{jujzvZqR$N&C_K z5@o`9kmC6J0ZE^y4AkfGf8FKWLmf>w4s0FPhn_ymDur2G$RLWm+$UR&FdqvE#0srX zmGP=WxBk|^4GS)Ah9)_=hHQ~AX8aOVs3aP`19Qo8< z18c%l_cc;;<##3-bckn`ONV+USuH328aW9QKNHk5$+=`TLm5sK84PTpRZggWcOgAc zHSns46%^NO96A$vwb5#qqL(P0$Yr@KD_BSbP$xmJQJs_0pU_5Xb)gyrYoSeO8?}%o z^n+SRH9A5qv)S z;-Gt3tHv}iiN9~vh*;jV@#hmP{y%ko+Rh4AXM=V=rCrV(){NhamY$9ZyguNZA@OT? zH{cHG4Fk8;z|(nLh_`*R+&GYS z$DV#lPwgY5w+}dnHDmNP;Sth13T*UL&k6&MKgDlI?=j#U){N2nmw1HqjsqJ#BqLLL zhj54Vlx_}d#_0Vi9wEJxz(%jxhl#%zaEJ6x0q3x0jGo$6NbeP3qj!!E1Fln92K4Hb zRt{^%)2Nf2dO&YU2H5De_%PAy#vRhj1Lv@2jNYYqg!EJgM(=zdCVE4-Lwc)#b67J* zZ#5nvy&SO7lUre;_kZ&n(i;KJVa*u5Pv8;KYX>%ZZ}DNG_ZaSw-ag0O_dKyQJ-aH>BdVhjDq$hrJSTjcN3wVU|O29_1!-t7pRsXFYAuNYA zWAv)}?~*$~FnSAd3lF$Kej$JRfOA+go?gQ=JVO42XY@LKnCM-CJEZp*a1Lw6=vf(g z|0NILFnZRvMQ;`UA-$u(YENd2UUmH*1i|R#aSKoMM)?isx#+d%jrchH$SirBe@1T+ zZlm`A?vS2n)uPAFbw&9-18npb`!MlWwLWmK)aM8{;}{0-DLlMeK}(+FpV7PAhl$?* z!X5Ir890YEWAr%tuAp}e*y#26FyJYi4ph+F4V=T8@${zH9O3nX(Z)&nvE|$MfUXLt1Nkc#7&Rpr>K3 zCV!guLwZfX#@})uCjP4GcZ%|w!t2;tuKE3EYY`WAu9P218C-8Et8KZYQ9^S2>rOIn7R`@qy6(;_EpWl$)*MU{XW;~5)PvH^bJr7(9 z@7q;)F9IuVGe++e9w9x!HRxsJ7vM=ItR|k;WFcNNaE){`8v8@M)=B7nunJFYsuq7E zRd~yQYo)uV3a@t(yf0Sascp7l&G_=md>#+)R?yN8{wdv^SZhnbnX2(1qwp-&jL~}$ zkFZ?!0k;|wzlNvvpLZ*C>0-n#3e_m$r7bRgtVVC5^vb+WO;16O)XI+iK!(Yqx2`M$7E`bH3+%@0l-y8eh82 zp4WWmp6C2|&U5~s^PJ~A2lp`DPGFy|+KBv=?rr>r>Gl8@`MmMza#B17pTafr4f1`? z`3YaD|4zOizXG2(9^XD3oLydvg@^bSUzuO|3E$)VhV(rJT;TJ@;h6jg4$dyG#Y6n_ z__jGe;gcM8i0^q|wP|lWzQZ_#`1S&~^9}M<`Q#^jlG_$OwRg;v691;l=8XLG=}rJA z+1^Z9L)>E?;#Xm0^qa9Z`)}qlWLkT%s{AkIQ@Ra&llcOCt&idKE!@2E_&n@?6Zf~_ z-ho{V`h*~EqPOc8SbL_#0Ot|_3$XH(7~m-hfCX6fnHb=ACIA*-l}loP|6KxL0S?C* z!S6}=t34+M|Mw>V7T~57d`1c`q~NnsaB~X&U<#g*f;EREhV*AA02W}4Er|hkZ7_BM z)*2%*z?w4>1FU^zVt|VYfCYGA3Re414F2aO02bg<3fA0~82pzc02bg2Qt;9gd{GLf zFVqb2)gKZA+>roSfHkHj23TWnVt}=-Obqaf1i%8UbzNeBS0(@!;7_OE&J=ug3hqk5 zYg6#L6nsqzUY~-yQ}DGZctZ;ANx_;+5<`AACIA-T-W06)G%@&VK1>X-=Ci~Ae>MTI z0QaR}%^QiqznlPAfHiI>2Dq94Sb%Tl$Bz;I-jeT=f;ArbHm|oQG#>djC0OH;uOsOo z(|F|boCnr;@oQf6-;mTQK8UII1haK$lpV53QqwpWb{~u$}!n3L6cRSdH zuk-b(@N@7_`fQwjoo{pUZ^8erRQv-0{(1NxP5FoElUDW}WBs$_!5ZOb{6yW7GjaOa zs~o8IRm9)-3BlB5c30rfc$)o&gN5%r;J*yu67Ww0n6#2NAB2zbbiz#MFPQOkLfF2S z0{byS`0<;t!-aR{IpHe~md?Rt_=oM|Qs5t@!XFR9chIGDPAVh(p9C&hh<|Z;Ozd>9 z{FmeZTPgo92mXx56Q54`{|^V3h)-Ql{MWJmlhjA8iPN+D^bn@aTC<$^SJLG_;$TPL zBB9f90A34x z*um0CxeoaGz@PbG(!T`odWNhiL3rvq*A)0)3w(9}Gauw=Bi0Ci53p~qf|(C;K7VRY zj4gJ5W+TMqoBMqiU*jWTbARAqwV%%bf6KwHymBLfKl4TI*jWF`rv(1=mB}AY`7d#> z+7EquGHoa}F+G#1BWqONefWF&RX?8t9&rASp2?qgu<(`f|J{_ouP^y;!{67JkN6Oju#kpG7#3SCMp`b)`Ubu*CZ^`ozC3}h6WHKp#en5LA-?4?~1Ug;y%Rfx>MBlJZR!Mj> zh?&Bi@*RUW@EgCZoGhlpenL@>^{y4@81iEIPlw`!);kW0acXpIsMif}LMlnm8rw+% zy{Y5iOd>hIq+o++ClpB%$@+{J<%ABBL~-eaRh0Oh(9{y2@r!+|_iN>D{F)yd|Kv2= z*sn!+4gI+J8o#F`sgLO@(nK4JNC(Y5#OkF$1Me|S(Ta2io?-Q*yU`fDVZ>U7#^81W zpbq;9?ILc$Nxm$S6Pjr%(Chh!W&awqj8plkgjC8B=3EuLuNNpDsLexx24ok<%7+q{ zc`qDI_7ae=WUB86etbdy}+n*v-Od3v+-kL zP#4OT)EGA#bBv3P*X_kV!$cE-&oI?=$hc{wq9;iB#yMtu>nJw&@mVS zj})3fM08AyntKuy5c0uzxDBUlrK@Plj0+q#N411NYG06S!{- z?7e|~b70>Z*l+N5$|?ziJqd$72}4;WVX!A*uqR>OAf5rAE^$NqVBj9wZwcIQ4eVd= zcD53~?d^@m{EoM`8}lE$J#;UkLD9Q+1nr?2_K4Ev&lHp1NR-6@l=2KKK7_HTGQbpC<2ldt{Wj(cJU&mVbr><Vl7S1+uZa5s(wci4jHD?>Z_g!f$DMw$8LYmD zKE4g;09BQ&< zmF2e{x}x2W8QHB4M5R&gkK;lE`h!ht6}< ze3{&120zL*0~}A7LG)7|cJ08H!6NQhbJw(W%}o#Mt+YP9p;oPfmd9rGRjTN1JrF&$ z{l{jheM{+pY2CiYv=+CUrMrJ@T9v-&rd%4)%eU0otu7AkT`%3ejj)|&z0y!v(zqbj zTO5_qYuGb98Qs2=IqggB$m-cuJK}3pTjaNya>{`}R~i0kAMgydCzZeO(Vntuiv!(8 zx)W!poo@d|tqrQpsvWAG(iV$qyT5FEl%Bz&-o2{m-t+tH`+{my(kBT$CB7wmOTnM$ zpMQ8r*xmUe}yqN0>)o12bAI_F|D^K}QyYzVhZU~_lcKC?vqHn{)YJg|mv-K2Y~O;>Le zEGti#(O1479U9xQyF1~8%NDb=qdMB>RQmg%>A+w568s(Sk#h@`S*vG0oPA=k$=N&C z=mOAtb>&BSZxg!8&(5bG=-t1%^}tpiEqPr*8CxB;)I~G-%t|Ls^$E%c9pC6Uh34!u z-cmr%cU=o%n^kYbYZ!Vz^-)m!txI(Hx^Owwn;SRv-kyE0Ky6larFO)dlsgGyX;^$< zv^v1MY{2>cS#_jinq2%`>E6*UmoMI?%!;I;i1_Zi#K$-12| z72a2qe(3TUb$u4sRFk2e3+kifv%VANyV{ie&_nPG+xD=-)@ zfcCzDSthIZ8FsBg5Atp3FtvJJY4<-xH!*IPU)Zp)|3gdXNMG&ZyGEah%iFY2XExsI zoXNy-Sv8OzZ7f39YT@!6y2*h_Bj3LbU9(?^^;=gCF72@Nqra4L(ffrB)JeYljrl64 zf@oAfpd4nSr!-$a5WnFFo*DA1`~|vA&%}>6BUJV(OO-$EWE$gPr@}zD`dl8J$@%gb z(GkjXHsehzWume!l+U28@!Maz%Ico3eEXmJGfR_H58A}uPV%aS1P??D)%Iw#aHad`17df?k^3+tEif-cy zeUA2wo?(q+IomhTS8tU3sG1{r54GLIx>L*O=pUF)m_M6kb@ijC zn0}IZp1$h)XOq_l+ryZlcRd+57MJeM9Mn6n4$sWR2QvH7r`j+ulYHMvJA6DdTs@sN zK~?yebN&08o$Aw>LEba1;=UZ+tAjRA7n}NEUDC?fsWE%@=@**8fvL2S9iPniFYTC9 zxlMB_bA{fR98~+tQ069b>y>9nGuJ!0U_=XjuV;WUxj15~)$h|*cG!NH8-5X8)_>P_ zJ87?wTXkwwSWrS&`a#-B=lt7?r=df)+ID;89_nxJf+LktboBn<6Zs1IiJ_~ynE7;= zxwle%?#RvGH#?wn=glvg8EwP^XOqgLa`e&LnHOeO?p{GzM0+$hETlf%{FA%)+r+0# z^j78e7vnLi+&%q9SDtN)?~OVucRYH#eaq67UGYpaMKo6S{^^m*-h&;L+im*U%01bZ z%4h)^-b8I4z!_V4snuJ{|Z znH`j0zQ6tJ`N|#S9i7$I|J}yE)d}uF@MS6g`pP}FEN4@`_FZ28_AzB`^%B!gG*;|Y zoZT>L)D+zG)sfZ^W+ap1Jzxtn27AdOw&xVWeND{9VmykI)V?FXOhv)oCH= zC!O?@&(cq-wx2vrnz@A|^jqk5>+zL-Js!0AcGu=xwHBvb^X2uv&F@#6Z;aoTHC5$B z`QU3--d)>QI<9V$+jb|Z$O((?}q(F<&%;`yylN=e~|y{;3!rW{5A9(?eKkxamLs;xbGfa z4!yZfgdm3ah5mZAYua>MF{0no&qSkt>ly!o^M5z?ytB{5uJ)_p%KQ+pwuJx2UbzcS>y8e$A}dey8cQeVlQ;2yx(-?(Dwm8O#Ay^?j4u&3XyA zA%Giza{-)V?yr{6=~G4TmD-^lD=2HdMfE83s9&RFXa@L=+DTg>*5ju&ICH}a+eW|q zQ`>g5uJ-*)^w1Z14}~^)rWs1oyvGbB>F~aA?-^08HA<>%9Znb16_dDN_AjA<1Olwb1h7W5gnU$lDyOZ&cf zU*N{xX6CeaLC9wGMz~{wW&ic&@=P+N|H@)z?!;gV(Put5LWrw46PnuRoXYWbq zTmhX$N9Re_46J{AIgh2aY2P%HyL@K$gL7{!DWCN&?Tess$kX`t=}Q;Wb|VbjSowhE zX^&MvFy;luKxx1l-g4T?6UFhbali?h7uNJ_+T!0hj)R2CCUkrs zM_+?3->X-zNoi-Op^mj2kCQ+U(Ljb<<`vgS?q1 zoPVX>k=xI3;Z4?AX7lUqSf{}|w)YJ_;N0a0pVnN=7x7KxlX;$RxwXarJdSGtgK!!` zBk!k>-i}OCV#hj79M&E_r7QVKg;Toh7(;xScBZiw+`RGlw&CFISf>s1Z-`I$m~|6; zU&bELmsOgbeBO8*!#H?5*0YqRKH;0nCqL2mBwvW{Y2ao)Z#<44;}C{>893%D$01#~ zv|fk_!qpT9vHyKI;qth#p4G`e(Ifia#V0@DXgQYxzJJCcps!i> zPCnr~ozLORC~knSp$qsyK5rb3j4vbS-mGwqe8P7opT{S5O@Qx|2H^Yoyz%(d7o1&Q z&1L?1eAApC`OhHBY4Nr2i#bK*KHXa5e@aWA+H76yr2nT-o|#oO*oG0Pu$h|s`#Xp> z0{lTfUvHvWV@QDS4ARg15I1jxXFQX*zeV?AM2F0Nhz`oj66eQe8vtT8j;d}kQI_z6 z6NA6UW!-=^t|bQe9SML1_?;YDy(&+&Lu;J>Eh+eSQt<8+ zyf20`lJi%2Ka%qQe^T%ZDfm?fcM_lai5P!k6Vnr&OVRj``1bCmHN*lZ6KyUqdJmN zc-lkeBQaPv8<_Txxg>^tePx!X;0-DGMh6QY?I*J{h9l*l_LI3U75;$~{GT2CAmM3W znL`d%c}?SiRaT=sosz75?dmb!DvaF)xTSx*g04Lt@0`*F1-UfmThfmii(qnj-hby6-#E0$t$l%KFuNhGI2 zdEjw&EMp2pdmOh{Inh16L2)6HGLJK6w*<~hFS6L@T_nb2AX#tGbZ=TE*{Y3edmwSO zo{HWuM$oy}?WruHBp36}sXd%BHbq}xwM|RBEvZEf1kq}Ne6(P%633%ldp4~J$&7=< zbk?xWs}U677>l;H$+0i+)FKDZz$iCvv*U^_y~9ycXC6-8rSGe~6{0nOe=9`y1^xRV zy4!Ka6xT;q1nzqR`$KdkALeP6v)+ExB=3e8#*HM*vB18RwWAN;$&l{tTLb)0)o9jq z>)$ugSlH~sM=NVMqxH48(H(*N{=g0m1s6BNJe%Z^@=54i64;jqcGCKwr?Zi}F5bQ) zuv4D1JZ<2g?bBjd^l4>g81wJF`*0BEnIOzdTvu{ov@Z2=>!2-hC$3)Ow1%`k?CsFw z?|DS`2W9wF&7SEEXm}u?fqG2v*Vo+Znz$b7@srls-u_@Mj5!pfTQue)E{y8P(;rd4 z9{(8H9t&t&AJ8^b!>{+=&T%+1uh#0NZiX=*_4GhntG6%V3YE9tAGp&VJZWPAuWi;puJy(`cO zEV-E*OZS@n*sFTCQRf44FS5)9maLC{8?IP4={Ua<%!>GJEK+jd-jA%zir&dpokvT) zYBs#x95N>@#ZmXR!{;piy}Q3}>2LS)6&5diaBx}Pxbjb)FA$GX>5F#J?PXrzMYibN z5kFI`S~(C)zj&1@BhLFKfXk?Ss^ky5J*NrZB-i<=(&v1u(Wi&(PtM9G+&#J;`J%yU z9gENI)B4<74-+cYMzaiA0M5HsIJZ-(tO&jP(5;kF=NS2{7oHeE4gpyV&U%~5$J_e) zo6fiAS0T>Q0n>@xLJcRYB;mw;Ddkvi%a`}K%b%ZiqRFy?brlkcXlDy`X$PA$dB^3oNbQpFbX* zOKE#GI$51LI$NmoX5k$}-@T?$?)I%z&I7z(LXS)P|B^B~rZS>z>eVh%_18QwGbk6@ zoGX`l&XAf_2UX&629nd6$feape(xw{-n8hT?eDYK{NUjUYAeEDslKfGFAq#NE98&g zDQe5ky$hM3#x~l5uE_*DMheA`c<-JhFZz&Ns$xW!_H zz8b&rTNPf76P>0iIm`X(tI8AS(t;n-II#PBR?aJV<3(ZAudClShJJkt;Y`~PO}4!X z@`>?#!N?z284rzR{#^^nqgZ^atQ=i4a)+~(CjGsazP+RTm07kQD1R~^xPIXWy3B>z zTof*x`|E{ER&QK=4X+(mW<9Ju`}u(;`FgT?byLy zQ0&~y@ChKgo z`So_JrwaGeeBzVHT_5W-%LfYb5h+YNpEn-IDjb4v8R6UG1M%y_T^ZQ1p85>`n)#Hj z`mj&8j6KA+7dX%7jmP&{9K0RtsmJ&yx`mICCc*bb>>)nZtTmpM3&)T7-N24DFWk+1 z!pABi!S~151ALa(JzjqQql?3jOnwIcJU;kP3BLb^J;Zkqc)a}nrHjLlOnw>ve13!T z48v$W2A|4#IiEMa%$~==+p*?X@XzCe@8#(eX(2wVhv7jvI^%J?0_^Qr^IiN?dr|qp z=SuL2ry1loEBf?#<8VZOjNk( z)*AnF>88&WCc=NTV}}o_a5DPMSeyO#j-wQ1CsyH9+M=m}Pkp(L&zVz-L{*>h#^dv_ z|4rQAqH_h+878^|qJ#3X#A&Qo8ya}L5UI5GIEzn7iEa{L7+27mS69nRrF`~@cl z|Ac2PM_^wTHVm-NE!1vhvQ&)V#Ne-faF287!(Z(#G59wDs2|EGzTm{*e|iF70Zzv+ z;QWLSqeg}KR{Z1n=H{;Aa?Ep(XlS%71?fe#F7jPx9WFufGbW3;bBC@xiW8V{5oJ zja|Y8Y0AY#cOkU&j05;JB^>Cn4i1c0ma$j7oD3F$tmjT#y%E;0`|w|LU9SmF2;>3_ z+^s|P_Q@*cXr4)(8Hm~KP7~s^S*-fyAvk*0ZXAQ7XUp2P$xUF3)n+s}y(ogP#(fU& zQi}$a!We{cwnH-G%%5xl?O6L;dN;E^UguFIq`O74s`kTlLqAS2m%Pun*Am0;6j%43 z3&Ly*!VCs{=Djr@vSeO9;N!mP`E|54+PdfWMzaGuWBG?%_-G02HgBh`&vdj!pT_QJ zi@IvO*{CO=fxh5*#TutP?@{Xo&mUH|nCxj=9)#}=!uQp9sv1v2oC$w8h4Wn=C*{`S z?VSN%7yLf&(qWd^_XhR{f^?gMd@;u+e9L%%OiLw%j@>-Y26T^Smr zo6q#__hR?%Uk}3UukmcPCQ10!G>d|tSBZC~?7~Hu3ErJ~^4;Fvz*Oh$d8QR_Z)6Jd zcG||N-d7&$E%a$J6Z5@9?^TGLj$qw zsr<$7^!M(nxFbI=dD|f>J*qs49B$R}iPlS&wpcYEl)HF1gsH!i*|JS{0%E^&t>0Sb z_gnB*zKp#1dB{|EA@9pwM$zHr?scaS-ef^MXy|IJyz)xl4tA|`Ne}+Z9_7Q|L$Q1& z(g44g(>*30n|MCrmA!PAwDYIPi5n|qV= zVW#ly2Q-RDw9+zBjeTt{`pvFWumPaM*EBL(e_%`7XhPwl}>;v)Z!(AKLvF3ip zzec`y@`e1FA>aUChH-sdeDu%+H`d9b+2hmx#^>V?u!s1Bf4qEr%Y|bukjcEjzv<+Pl=nPWoRrm4E-O2HP+K6_%}xHxpOlR0Y!BNO4481D|LO@J-Sj@f4po!ZV&p z+~1=8XOafQ`1#wq0gtzz48towi6Ok|LiLJ?w7yqfC6{Q8GL2C?w8p{nQ}DtRyf_74 zkb>2QWmb@$=vRA_DFciCssI_6-p&|G;4e8?;Z-Mp=wRWSDj^ZKEY}XDHqwOSlv}Sm zu@bif(9inK>1Dq}g#s+WfEKt0Tb5OU3Z`UrKVRZ5LHKY`3!MFMMt&%xdcTJ3VlCwD zTd6K@r(BXX=L3QLRZ7Z*iE?xUAD;f1_x3*4X5K!oJF@&e6r?{|e_dT6A8DCC?~Sjo zChxU%)@uLHU|0NJ)(`bMt1EwPR$u2D)=S*Qt_+&eC6Ajz(;)Y@FXkM((`3q13Um6e zJu5%A${l{rc+21D`g-|mYrl@4xwOieugCN4`6u83N5k^LhJ_xF$1ya)G7{{wAMPg&8i_%7~beZj7SO2pHh z!{WdslRy1h-hW@eVvb!i95Bthh`VbEcO2K4-02(ScV&_$ahh~TQFqu&H;+E0^c8-H z-sx#zjb+QrmKAsCd|7ekoo~w8^X*J|s+r^SX!CF@IJo~A;?SMYfeTIJY zS96KZhdg)i>ie&~at?XZ9eT+T7}2mlYtQMMFQ3|2T#!TmN#~V$%GOYRS>3e#@&OIduY12{nEQ;4%kOC{Zoid$Q16ukzsPUboxr`+`JJ|0 z+wW^PQ?6LhSakQsBCRzg51=zr)}j}%9$Ya*oMM$V=?CJwj+Je%%;`Vx7jqPLU)f9{ z+{O0({^Mr$!09G?d7-g5z|Kl{qX$06y{{bi%T;+Q`}M%*y)uWjVsZy|OrAJjRi1Pv z&pNeMFK5Q}LcaE+3qkpNU|^BSpLxHlpUE%G>F@rDZOe-fn4Q}fnZ_%=+gLnvE&1k- zV)aJSo%!9QT{zj1Mt>G;>m#C0-)FMmZM-+$;50H;tm))(hgZ=!usSJYAMOq)H=?mMC5%((wSXG3N9C$_x} zoJ-xzY*<*Hdf^=9vA_F&=F5}+Y0i*zH6ULiIup5^)wC~UV?--^qnEZHr!U5Pn@2cP zZ#ZfBooO2I&%cI$9@-k)hU2}R^2ffSNZKpVfzx=!Fl}*fCSPqz`c9+vH_#zDnP@ld za(CHe+a9;)>el}3V}CStWKRFAAKA9ZebV}&yKEn?uQIkUK4!OXBcCJW^Ct3HtHbu; zyUdi~$=o5X7F4IRmk%};ef#vXJ1Q?HhoQbXdr0l=JU7Pf=NGUtGF3+RDA^703}}b9&>{!BGW8rXePPES?{?yW4 z=7lpqO}{-MzBx?%ypMmy4;s~OB42lEb8$N60m3!faLC{&%((^f#|lTkyQvS=F?nk6 zZrJmI9UVq-SlpWedm*ql2lg3(eRg1P3GA)1gRi*z72Ce7E-2CF>(lo^(On!i?P1== zm*YC#gIvdBF1)Rik3LHuK_;qn^KoQ8j+fu+eQUfcy>2y1dl9w>p;cGkxN6hp?rQ>9 ztDtmMHzEarqwcx}U@Z(wymf(xy%TGlYBxo@NqBWvR~&Mz^L3kU7%Ol=&@SXhQeqgm zT4r>(L&mN5dT6R4^o(G;a6=SbFT<~jCGFqb2Kh8YJ@ffJM!Z_X!5P1=nFcI7+X-t< z7Vbm%=J;MOoc0^(bZJ(JVFhB1_8nokGVt=)%l`M_I#S^d1G}xom~d-T;YNT5ZHV}v z$F~(QNLRdQvt*obznu#A0Py;8!hLycxQu9fW}I-txOp0|o>JgnGhZX0*7EYJ=X;DV zpfB@0us&}TPUc}gZ^wGd68;I7KH-s{epOxpzPdxe%8NH1$9Hh>cC4qYenP1;+Hq3?|2Zf7dM@y>ikpmHSjTVCw)y$O+*dK)8fJX1S9;`yhZ$qsSe#zhz`>i zam?V!8M4ls1t$i7jXl1s8u0gHkqv{t_yzM^ghBk%{14SpoAY0Szu?3WUu7iznaq0p z1t$i7^{cC#!!!5`P7MBPx7Rp_=kXVu82r`lRW~vZ;O}@Xu>=09r<-CZs>fe&V(?eH z9CQv!UvOgZS364#@OuDudIyK>iz)c-6ioYxjSKJjDV~@oQvOfJaP%_7DE${w{{N7I z$DW6K#sbV4<}l63?l+l>1=nU+>uu-XvF>(0l~Xe33h)!H>~?mQ#Z9TQ+IdtKO`gFi zushjJI5zWi8z^-GELPBXdaUCdrDj~mRH`A=`LW|WQ9g`~$-ST|VhX-p9p)^}+i@>= z`$*v46}aDz_@EEd8n`bH?0W*HO3|QcLe9b(3!Z;2=Y=2&VZK& z?!AGX_L<~&f8Y+z#QkXC{i&QQL5= zpNG9?V>Nl zC%2bBydy#v8}Zn8K49Z3+@N_UdzHz;;lk~V<6Hfak?w5hY*mx*9oU_p4L_crzkky< zlHjv?X5oRf+PLJ`r$zn>sr)rO5SjN^sxOGf!g%@MEVc{W#_t&ytj?}?JOa<7iFGW; z`~4>E_sc(sW&JI^_gcNSla+t=a`sG@GHCQ=1#LNW#Txc?Dv~FJUq?NcKBT19HXBEXX~fmY0ge7vL@~g4&cYHwchC7 z=xi4!NH@8+F05{RuxB>jj@oo&hCBORI0V{t^K7cZbnHK*f3skjNYn=bTPr)Ba z!D=hkxbWwv;EPhQZ-f4f@G~j@8&mKt4%QiF&eSG0R+(eRkoW-#E3>$c#pf2S$u>$P z&>jEj2WVX^TvuDZNm}ougO0_45MeENAkKHf_#;vqDP~{pjG%rkqPrH>uC`B~^Xn2r z`B=N$m(f*x-1T%BZ@<~aRU5s{g_nIOI5WJTwTKUYFt9&M&3gA&YqUizHT;sx^Jj@s z2U`&zp0<+Q+onHR`pKW(TC_CFUJA}0mj`E$w8c{`o}TWF8u*{*r+?)|R);Qge*5rkI?Fi=f9844oZz9G z@*v^Si|A#+gj4Gg;b-0R0&v7xh-tghOugblv(U*KZT-R%X43Y>CdYZg)GHo03;WN# zC|~&!x(^>S4+*cm#|hr0#82VeGYn6>eAnTQ$`3f>e2lY{@;}bmzt&7tJcTcJqEnjm zmz%%cR)8MdI+aJAl`Y^-;>_OwIzIATDP&iaXH8+Geup>_rbY>!(J- zHtbtuCN4K0+gLUi_w7H^OeBnW))8j_I^U@i|Jds*bbS8e69dS|#dmR^wspcC*Yc}v z;XT*L-P;_gqQ}|sqTfxr(hL5yB* zzDup8aL+q^mQnE_{(sMUD6;o3^ScK)r-@7xVGI1)d!p`MZ)bHia(&bpb-cVv7)J|h zSJsdROi8$%uF2UdBNtCPIMKb{V4#<>p3oeIBaLMWOW7Ra_ibEYsn@O2>TaBMllQXOyiKk z=yT(5n2+cX;0{iThi$Mo}GNqCF5D zl$Who-&Sl0h*emo^4KU7m=DB1$r?mm*c#_wa-hvL_Df?pY6Ow+vk#Ar3%@!At6Z#c z{-005zdr`H6V@72>p^aHAl)(O!CVzw2$1NJcRF#Y5NOe{U5*ezT$F0s!zi?-`t^sE zHnM{J-X)eNik)g}5G`3`T4@e`t{$RUdi(P=dz26C9l`uh_++io8LT6&t?^sT@6`A$ zIu}UR7bCSbh4}l)+JUs$USBTy>XJ8Uyd=p zTK+*bC4c<(ZDd{Bh%@}A237L#D>SZ}f(q3c-w$j6T61F|JU$Qm-^Beb8V5aI zO=udIe1DYQH__VY1BhtjI!W@Lv1>!|{URHZGL3Z;^=#U-;riZj`V+5so!!#H{fFfL zIeOXa?0K#Hmw6-oDH^t^`ToQj+V!Uws$VtPCs=E_HJjC+(njbVb!L)%0|q{r*4OC3 z8OsM_{YbdXzQtnTziclRLSanWy^+`WQmfEMHQYcCu6CTag&TVJxS z+lQ>)-y`z`A5nZPt>cJm?-Dp&-;D#)koUROuG{<_2K$Z=V?tAL8hZk#|Ksf&6XM!B z>FUeY<(nERewD_F^|sB#|J1f+QsYE+7&ozJP7w66M3yn82F4lEg^8C1%tTT=ud}4JpJJuN#Eh!R+F(`+Aps32gudz~Z-^K5J zy=;c|nFiiR>C@hoy<}5yc=7*l_o2_l@Ac`NgZD|6YM*bwZs$a(~N0}*)R(~4#vh(qR)ltcvExnDr2Db*bo$>$nc`fsp zsTn_(rslPrLcGi;i^AyBytaf-V|xo9CZjNKU>>TIu7&aD4dDvrp)B~K{kVw-@EYsi ziNl2ZG-13+<{R(eeiQe%XdX(?(_J)gh)zuAF}MCr&pRKA{gZwFf)t$W2^wOL&XoT( zDfqJ~nEh*PT>LMm;6F{lhg0y6Q}9nx@UgLQO$IAYFG_S|I9PlvYaD!W3ho#K$CF#K zJ&3!P>uWV#w}FFIY@0mttst6et*f7V0}g`|jB)Y1(YU(`c7_iaGagQeA3L9rI!M-T z)NN6zS8y1en^+`QU$?q9ywgg$%JpP69)S?ydUQ>dM*WT5#yZoQZ3smY3Dsw}m=`-8~Oc>5z>7w~l(uHAI~ z=8da++jJ$^Hs zSLAp9E9)9afVZCLF03A4%~Orn0PW^rTc=rY2X`X$o~_x^2_JrgS>InUAH00#na7!v z>lQ3BE%;@X4*Cie&c3hAZ;3C@*I53>AotRK>+9@k{Te8@_})>yhrE)!9#Xy!3@{(} z+50N(^+A&Si3Zy z^>fa8kQn4XLsR*^bqcFHAvxJ`)4OK5Y9IG1kh2*;dyL*_+xGV{&hl1daga6PtxBbr z``!NqZFgFGi}Xcuhad~S=57D_Xy3M1kN0jn@@M(V=nK5V_*}kn`(d+q?`WU$N!=8; zZNE=x`@R1`-WY6Dd!UUhvFm2ui>IY0??Icg>rLJeWKGN658lpj^-iV!byQPGbZ7lxPS%;4dhznuHe=;y$DPWZOJ6 zkhXpQkhm=ai*3J)I6tiS@6Re6IP%3b^Yxp!Fl8g`$FtWu}Z8o6EhR9ecb z@~v`I84f*8df$)F97#`ifFj!mXmi+grl|deZ97hu@8YhIyp79+pD`pK&;(hhe(Pej;!mPmx_N-ax;DKh-xu$CGuf{yJS9UxxExR)2r)A4J1Fd#Z1_J^A?6G)X z$arXILo1-S!JR!`R+F8JO55*dY#VvisO^x)jtzT}k=tupuh{#y+uHWhzVAHVTlqYD z8Qz}s`7hlZS!z3_M!Km8`P&L^Mz0z{yS)TLlsPd&3Xm6uOaj(a&v+NnV2YAKT z3g;9faB+98zi?4rW3eAw(SQ3uc9Z7c4hOzc)CMpg`Rj&)z>V2t34do9`?Ym;_q+fjT zTeN?j9}oW6){WKIa&NXbj%%VM-i`1EC|jky-L?m_gMOZ8UufHOS^8kA^e5`e@nctL z52*e}9oao3af=GCJGF`{Ty~E-7Viv;V>{y!?JBOf5#$0!4-vk85p4lIHXrc!a+QYg z#Cz$wN5s#itcuo6I9wa%ZX#t;x7X{Mq1@VSe|xNMiNZSnJ(Q*1C~i<4^-eCa*RI>? z%SUa%^E)iv_tur=r}z%;5lo(Q@DHkq`^|Max8G~Wj{|i}u;&J76O0ut;$3j|-$1%0 zWCe6zwRJb|L-IQVI&_9V9O7glC!WP{4R_|4+P+}nTu_4V!2Rt04TXmOi{96uxR-Yx z+jjW{$IRs)JGQO-tvXAu!s-p(9h0N2qH8htnHg(o|LADuje6$crDb@H<$hb1k^>P> zrpewbW$qAO@hOyU+{Z>GC($HbLgN3>cbRt>r?IznTKxI8e*5NZz2LTC=v)MU;dJ_C zl{e1!GJl<3*VlHHZ7VJI-B4Gy(km3c=UMsvM$wnkTez-Y1CJh7p4vxPFSt6OYzvGB zQSl%R@9%NHi8sx8!bDV|HeUF`yV z4^Rf}#Wj)TAK7#x^U|HSntvUd94)1N4f4ATT9Yw}@Wz(e2y+uGWE zG_baP8Cp)!It}~tbLY6d#M{qRaxV(G^j2-TzIW~BcuRZY4av`~-RxfVWIGsmCtIJB zoyi0d-JMUj&FoscZuRv&TURB?r<8NMV7i>*gPc^PISdq^=v&>@S6{zw&N*kdw7w-oI#IF8^DgtM|idwd{%eYn30>{uJ`;2+)FrYo6Z zpYAKz1AG&Ya?YZm#2b(AUvThttc@c?dkKs3@h(1xFM2GFWhty?p|;$wfnx%|xWd@t}JRH&Fw#6NK%V_%hm*Trx&oA~O# zpG)~yQt;bZRCz?#r~Jz)__i3HPy|2q7u}cge=G$*nSu|c;QyL}pGm>rO~L*ny2 zFEoPNq_yL1-5DLrLJt-ZPRH;Yeci4FT&q^~Y+1j#t9!m@l#9temZLuo&$~uX@Iqcd zh*@<~t!1yZ!a4b}#@@16wQB9=%^Np`iq8T?Y0^(TMiL-+fA7RKkS~4v(0F*?i^G96 ztG60^p~D^knE2+#I!l6!7AM=il>>$?zTkp04j1ZV=LcI>texkDCdI_erb`D^wwQ~U7 z`A&4ZeV8FcW1`GF?0#M?)y@QTwIK7~)Yr%t$To=4Ul`X4r)Oi1y(1T1V}*`qllM>0}TY;P~sbV2KU$?K-hJVFz7Vd|)t#7=ui>=$t??b>JE)!4IS z2vb+By&+h)zgCZRhiWur8*1+rW(&193U#bdbm?X(b2Rc`VMrS=w`&V=0kmx1Y)FOi2IpSN;C2cq`M=ivuE9<|zc1JTvRounDuC6-$OzQIt; z*Me77Ax)&B@jOPIw~61unZ+K? z+=dqKHHQcfZ`tS_!9D%wMMuhyoA;Ez&+pehZ25=cBUXMe^GN@1&UjD%r$3qR@1J?3 zvYj)A0|uU^)#Kc&xV)Wb=@?i9KbdqY+m{;BXeM0O_8*cYX8@wp$>KCAd}VJzJc$OI z2JZ*TpEEn7_{6>Kx^8pH+*>c{fKOQ{Qpor>I=_!$uXpy}hBs_=wc#c`a`s$~e48hx zasGvj7BWvcy$1+iuie%I=T3wb|EHk}uW|AN9aLzN1=a z^5TA2*hNRJpUUgncEy;-$j#E(l)c^U9fx&PcLW&gd)19R0mH zTsah%gXOomGEo@XMHYTllh^C5{Q30ApVyP<&(cPo&{g$(-euuc@BVU&!>8>)vncQehQG z;pD&lIqG9H(|5(_#N)VGdfP^MzwaLLA4h+-XyiwitQoyT@>Ee}`?1pEyGD*KRLSS?z^>Ygrg$TbFOO9iO(%^Uaar%obgu z)Z+p3D&^_x>X_(juhNb=PtqBU^it4nZF#B9s_m*BE1dE-UK;WFjCt^l(BpLPS4Gbv z+A`-RUvPBwDBns$eM#x4FIgTp_fdVG)F&Q=KTdyWfhOZ{s4vWR_MO-Z&i*^t^Q5Wv zUhmVRo?G;80B(M4i1kRsV?z^lVg}+lr?Z!58aVT)N?&a|+o(>;p=?$ZX}1w&x!%)- zZd|47`P?1U^H6a(YsZd7!;J0dV_ft2!~a2H9RGZ_^6JM9<QCn(j6Zv9 z9L}Q^U-}nm=X=OU`mTU|uhX^J*<oKEGpy~-FP92OV(B)|1#W9JZPirc(!s~mj$ zRsPB641Xu$`i&blZu;!T!um}-4`)yt;d9m^R zw8Po5_A@8(UBg3~C}A8o#qN#WCqv4{Z}Z9hHuata;ZA z@hT4oXXGa{jZgME0hp786E7sk_j=*ZCQK^bh>jXF$9ifX|LC3;pUS}FTaP`!m$?J@Sw3$(jx{)VJJwSV@{b|M z;!`_JnpfvA?JqHeSH2Sitolz3u<9={z&bBU4Dfpa)DJMxAdyv;s%L8)aMJc2EEv;H7_-X2%NtOON4sfV*XrcCz?gUI*uB9^9x*E!1~HEq z*3gQ>9h?%7ta4)S#D&Sv7o$H|UHMf~$fSpu-tI25W%KHdUB>=PlCh7C1kvMVRN!FO zP7aO*;B7V%UbeCvFQT^etX&&xMhfYhr$dbZ-xl6qv}H(9rqw0|*ZYLlEwbVY?hAO? zdzqJM`_|B(JTF^AWx@+C)cAK%sm7;{sx@A%#*&1;yuQX?*1Ev+{>=R~KCl;h zerWyf|7927gUD=6SY+TUG(If8;#Tn$kvFsZ=C%zG;fYDIi0ecVREE`0X1C zRtHf#vUYjJl?HNMO%-a3u zUfkFJsmuCqe$FgqZ$8)R>H2f-h#Wvy(}1aOyJmE>_!T?Z{|c>ul&fYzPY#J zevrJM#^UcWcskGujg7ZrX={WhajTh2nKTx^Wg@-7({|J7C~xpQPnd(yZ}V6A(03Af z@$%oFee^I<*UeA&LG^hn185ns-Ta!^gZWBYt$l5GyRw$bm!rf|7fW!p!}=G22(0`o(wKJ19F7 z-rh9ozGUCCY+ZBZ!;)R@E8mH{c^!4CI~F>7_+M>(@UX=*OL)ZaR&FfaYZ?`oco&dX zi%-kT30m1u-g>k=Y_%crv5~i@4VeW6WIliLO45czuWviFfrtK$>5JYVeMg@dpbV<+ zJkX)rDPhTMw+-c%#YSEAKLwn1E)NIg|3?H$rY~NxoP2}y$MEl1$9R-F&^LfxOh9( zDKGP{ov(pUaXr3IV-N6Um^aNZpEn-Ir*QCgtW!m=$Cq<{qVER20AF1P@Gze@9*6ef z-i~$Zdj5HQnz!XAe80yR;!{3$@_FNN4B_DISf}34zZSj*KH>5B{v&qblOHBq=HGN{ zjsM9{pZ4_X<#u|u^>eVA8k?$PX; zyJS+5Jzjf|){5F5&vXX+v7G@8cLX%NRdKt5JpgSip?}b)wQ=>x>Md&v^IB&X zTIZZI=WKRLTW-8=>*}ld-MTscUGHsr;L6NVOEkJVF!riKoTpXmdRFu3)tj1T|IPH! z(U$C3?8hvXTsU53T|fSq3)kXc+RGam|E-Mir7n(s{J5;&VEoTC0$2Hzws@;bS3_TF z{I};Dr{nI8$LC@Ho4CJ4%E&E_OrulV)ZTd!onzGm>Z^VxwM)oOaLR@3eT zJKn99?M`H9DYfEW=IhbPYFjB|*kxL6#O#)H+HviEmYvr@Gw04{*`-}MsdY_>oh&;r zPWbc1$4veHCVC;W0>4NBjQ$Lqv9!d^rm*Hpli5v}KVE769r5#g@813UZnwqBx;>qB zr|DHEF{AjxZFhNS{}HT{e|CZ^*yS94t9$whXQkpD*3@&nnGXM}befs8Y%IRFYgF)d zS(#<*Dl_NYNgk_>NLt6BRmQZtfa&el zDAM=hRpQpxC|ch*uDHcs3RVEa6s;f0o`HOC9|<(CyzIkh!M1M8I5YP-<7+Yb$oyZ1 zlQ)&s0>+PHr*d02mfjqBVlkW-Ct2sE1qYCz;nr{GXFA>O<;hXDatl(MaG&OLbGNcL z+9Qn&3rg(r`&Z;ED?cIW$%j63t*J78HMW(wv416+C5$N`xsn^6Y>rp1tUF@Ilq(k; z(QRCfEBY1p#&ZTL2TiNAxQmOl9&VS$zsgO8eC5jbNwTm34uzx>>vba-j@Ody_nAUl z)sAOTat2x8pXA@^YFsT^T-dKpd5rBee|9(j-3@+@PpG-PaeZW|8cg zGniNW>%aAPKFJ*Mq=~i+m&_FpPddKs`A7Ry?pHr=GN1h_Qjyp@2ThjrbHzvb1()Y! z#+~j3Iu*t~Rq{cehz7T3nc&TZWNtz1OTSc1FuA zjoT?tw9avx7^%#Oc{KE|fPN$V#o^-*(Z;g0m4u_}@GK#%6^=uv8_gyzr-@6pPc~0e z*W!HEJE_`|G;p}EA76Z6V$RZ@eX_4|51ik-kN3JX8hl=9kA^Z`4vvzgqneepnCPg5 zA)lW9nDz-PpnW-WuxT6Ng9e)p+~wjhS}MLrUl}(q6Z#0ZT+&~()dpT1K(lL%yLy@t zt&&J9L67A~lkbLo-KKb5r#R#Pa9Qc@>`TzK3~AG7@#EQ-wtO{fSQ9Me<@3%3ov%*o zU%FyJ>1MfCbwj^Pb$t1T2|t$x6u15}7n>aLBZO~UaIu*( z>o)rLUD<=+?E1{dGYZpyy{YmANjzsCfJ;rCXLRh{xGZ&u^O45hdD?z)$5{;?^< zWl=XWaK33;P(Y%uj@P&grlo&o2VdP0jbE!T8a>uO^AkrZU*xrjyXqbqs58qJ6p)&` z3S2vES?2alhvve?N0?Be{+XqY%5666j?Y|Us)V&;9AS?0V#E=f{(-ul?Tl4wN3&G_ zl78p6bf9i|W$<9B^myGeim#$*XWeP1{;1uB6=oyVg+y3rR zI~JUc7NCB#0QJwhxR1WrG*CqPy^*nH)`dr6jV76wfICIozzWmYJBhNVee5fm<9d;! zXl%ZC5hQCCY|x9)ln40(-|f=sqdZWi1!&AuA84B#9i_Z(uiT0R_}yh9?Tl@-;6Z2Ug2om zcEnf>7QIs(z1`;cwj);^>78olq57M@7G+5{ck`pvEj+k|Bjn?N8G+6$nwq0+U;aj4 zW#W^41F8P#Bx#@D_IrOQx|`{X&C)6*Nz#Qsw_{4A+XYUtG^%`YSW?r^iso$(f1|Jb z?&wIRF{Aq2DlJl8gOm?n9AO+>dz$)tR`W(BXHSvbIy~xGIBe&rI9<`GbpK?WbboJu zlCJ1dn$S={yOlJS>`<98_C-jccTqnb%xhhgTbITq>bQZjZ->SX%^6CAHj@F40$Af` z2-~r)ZIm&MK2*8Krt=i`Tqm41(#Xk?9ExJ)CWKNHJk4JTfSb> zOD21LnP@x*-l_O<>tb0Z97>;Wr5m@kAL?-SQ?V~`c9nI}*_U9S?d<1cFF5;I*zHLW z^QQ7`Pmn(Q4aQ5xI?;+-y{Ct{eyKn0(L6-i+>bw3kSepdeG&ccD<%tlX3cO$ZC~2g z{vE$oYplX~X>IjmFTq~A`&cJ?qM`E6>3!v|GtYmAd47bG&&lUYYm4dstu=l97hKlY zf6Y~WtQqVYgE1&q?mn$gQu4i13usY#c;zMc(w+yQi9)|br<>f08JKByIPFBD#SF3H zmH(wx{9gk{=>TIYip1Y#ML-KCf%-mNlEZd$(?K znjBa4Y+5r$xrJMIj~8y7!x*if$BQoavHT}BJyo#w zojNg47=7B4eu^*1hq|)gpJI!{>34Zx$9n2Y{wcojsSG^6D)taxAK6mAyz%tigoC$Z zJ#{_Ngj4tw-s8Iidw_3p6gVPx~~F@9Wq@d=COI;q%7hcoK&& z9Q(R)%jMaz;ieRT!#ei(e(u7l4lq+xp3|*0{-?C`DgV9=V4d>W*coeV6h=nB!QTI! zy@301V=MhyCqkzb2HCa_ z!}cM3s;|TVs~!^r97^CSyiR};1N<%kha<{UAWC2T%bJGxr_F)!iA%s=asJ&Yf9k=S z7VwGw^oh@1v3E`!PUT1K%o>O9Pg3w>Dfr10{M{7%KT_~NkA)-gd#s7mi{6)l&rZP~ zPr<*Lf|+e&pKUaDq4#oa#Nz64j3bG~+}H zuaPF@+{Kgi(w&AmD3Qe6T9fY74Ut5v04aLuKS@~lxY5y?J=0o~{>v;yD8!|eE!61A zmI6Cz`BTa4t2I0m4%MVYCp=S=44ue$=INiZ(QtsxdQ|LEkxs7kUp;d(yh9TkMizM0&5vdV4Eta`rQa z7Im@?uflg^MZzB9*R{WBE5$s>JFhao?)-D1|565|B8kbro%q}UtY<%w@R`_SH*o$F zza)g8_@SgB{FXV<_eD#&Rb+@AxG!idNH+;pv+qKBvfNowi0^bbj zHEKqoG0bl55{S7JGFWFm$~u!E#iH-rUeu_lt0gReF4d|oTN&j zrAg(V&~dNnQ=Y2#TTPc{(J*|t$77tzlhTp)Na0o*o*tY3$7*ya%y@J--lw!E+H&({ z27Qg9?_={WxUA!ozy9&dR$X@Sg&nJ8{p80kyUcvx!#zFM&$a)}2j+Zu3qjxhi;Wwv zzi#d3?lsc&V>`*JlUyu3AzX4@aBa`(IXZElDC{bsgA<}^x6Yr}~uHcZ?jW4r$Qb>lQ=XQ^h*$--&Pmg9T9a9Z1> z(>-P}$Nv~Ft(nb#Z^xQrelQ35v|g0EzIwj&o=EX_@Ok5LEXTpyu}CTHiY&d#z zV&tb!Yq6l5GgaX6@clLJ3g5zqvEio2cKhGsOYLDY_u>1!R5*bOAM70_&cNv)ZVh}| z(<>jcYro?1ip^-gG0)59jPQ(S68C?jJ&f9tOb3Mc^@epIGgGa_{R39mQyr-AKCX4b zUwfW2oc}S_z$%+I2m3wDuchD%Q*d&ItU|?H75~JAjQ#2q-0R>Sq^I`$A5#8zrr>*1 z@YhrDBMu%0pW54zG5&u1V^!})p{r{H(#b|PJ65`-B@4*48*ebHy07cKe)HN@y<0b% zb-mZ~zWTa#J=bqpAKZcp7V{^Jm2OlGZ#wmE?%ud{9mwL}WK$4cb23EkYckxOYFKFn`m_hCANFdJ!7KFkf+eV9IK)8kI57p5nuQ7rPHX zQj?T3e;2sFR9llu^OL^~rKXmwk)hwx&`4g+b2P}lELb~#GDw%aBbSX+ae4+i)t+XVl-0Ke!|eua}hl9WH?oRmLfs9)pjmEHtTNZZNi zxh)94Cn!(KKVJLyUcYh8`kE*}O_S3}WC7;S|HwSM{Cz{~-$}}spKWI_a`;y<_xD%L z2j@&O<^Z=c`dcs7I&687L3Y;w=f%hf3?LU!{ylizI@3nJ>E>^9o~D;SE`!I-ZJ&il zkXfp7PW2amcx2%S1I|ItXi9t^;*9A%`&+i!c^t%VV%*xy#0OL>bb+7MLk_U z{$XSuuzM;tHHbhvWo%cTW|^{6yj5gt=-W0 z1+B3;!(_d!8#dgodCB7{4s+v%Ga1qNyQ~CsZo`WK*~$;d&u{Q*{TJ^roZZ;lFqX#O zieE2K_yNk5HD*VDb-=F2E4M5y#e0$ChaP{<{7kYDLs8UT-s8%gn^lq@DE|xllB+25 zg%|g6HoTX3qOZP^>nJV$)9g;x>J61I9@SYjXQA1u)k1!Nb0qcz+XnB`ZLN~hM`H}P zva+3Rz}3@DVe3Slsn#_~n?LzCdw_i$Uk^6Uz1f^JcW?XiKkn0+|KZ_s z<@=nktw1K@#_#nFM5bjyr!m#Y6w!2kxN>``M4NnOV47(i0H*w&DZjKdU;fTwX&Bp! ze_RgsEEi2eI}Xy$qL=xN-ETc4c%<_AgQe|@&5Z46#@E>_u>2bps7~wD@t+q4U3}t8&XD&=IZdpZQ3K z+WM|(=Gn@NXrzkFQBODdKT7_e#jjYosS|mYPl?_Kv9LG{(Y;SevWd^1nDW@v7p{vznk>qg(eV)Fv&yo7rrZcUUy zQT6Ql)3dI=^*Vvwr#kniRA+>Jo;V|IFWYwhJa|StozPHJJ5hY?Ew%skZAN9TH0*i# z-KI}t2=M>r?tS3nJgR%|XQj0*+aeLk78If+YpkR)7LF2Jy0YX%1_Msw3nD1QOlUL;y6l3sDYHaw`mFB*b2D426EfnlIAtk4F*zhY2I63 zn%kO^TKD^#KhKUHt)0Ld-nXB3KA&fI&ipxZX6DS9Gyk*Z#F<`WpuN3?ycEcb!nHhy zeeWsCZSwfmKmBRO(KO5BD~t{q{B|G4zwakby>5axrvud<9^qA=&mueSw|gD&uQvX` zx=~5^l#c50@=u!mAJko{QR~_*QKWio)oH}m=!P3Q`3k&tKwZ|=b(>e5Og_whAYPhL zyVS`motOgWiNc4D))e0VKWZ-jeNzTiEuE8-cU=r04A3V2g?6m=lhSXA6J-^P#PmeQap!AADhG>k-=H`cDsSy>@5N{FEvE{k2FS2-2=OMBmG3C zkz0lba_d*g8|!@=9JR->CmPw@$#;(C1abOv7& z|CpJ3_?d64_D5;yON{Mi9>NVBDK-itqyGwHGe5IQC$%4|#yuL(DP45Q6 zFAlG#PQZr~@Usc{AE&~pxcn^s)aw%diTt1@Ipe}NCt&fF zF~;92yxmc$8OPK2T|G>2xhseLa)DiqpXO{9X2PcveR%r@>oql~St1FR zhYak3`0^0BrMzitvN7W{8?|4V7ir4Qo?1@x^7cX6y0>pDtrtXn!I*G77%L(_;`I^a zgFjVO@o;GzSV0)?PAiDVgq5@hzYbE_RHC7>JqTYc(Nnp*G={8vx-?cy!$bZARQl1< zcq|QX`!$#JF~7EA*RgJiM^*8f!WqU?SG@HtS7wcQC2I;5lqJS;y%|&Kwp+KZU~ee2 z>k4(lS6ydx>t%a*xvM*>8KuNV=F{ij&z?g1b^6W3o)Kjo00xSPE~nzznZ+Wkh3hR#DzM!VfU?}z=KC!JRz?a1vjnkc5}<0*Oc6seG9A%Zw&u50ev&!=%))Ka71E~{ zZu@#WI+1il>6cd;I*X|nrNbyM4!>T(j9QOFk6r)JO{i75ahs>y1ZxLBHaCLm#j5Hc zUKKQG95wFq{HxP5Hgs*iZOtvnBqM9eC>xH=kXdSsztmQt|42GV*?H_nI2}&$W(G3F z%#}!f$X#DG-*tTIH++AHJdpf}jmPm$T)Z9Y%vye^-f23=THJ&WnIU8J1GqOf^3#{l zIa1%otv?QB!w6K^K<7x;<5Yv&T)wmD95d9)5At~Kt#d!DF3) z`7UdeNsP+a7ze-KfqLOYb#|MBz0NY6fEl$|hjGkMTF>loa3XyGXZC{<_!z$?ae;KYb+Kb4glD3zveWcuNL?EtJ^rmOy1u7 zX~yD=I>s+HuVu3Te{w~xlYX2sp&xpDcw|KB>vr}NDl_$I`320W(SK3qb-TX7yvt?R znLJX~x)GV%^p$>;y>!c~zJzSndb_zdja%O~Z0Z`MbGn`D=E_}->pAhA*Q|U;x!ts( z|FlKnUuJ}TA;ly)>D!9sQXHJ|GISoW?9_%aXA1Z0_*U_~TsZY%$#k0xX8YsY>vf56 zJw!t;#KwnvCobNOb>=>PI{DNO&ft@u?2@TLx~V+C^J)dweLm%Tq z%QX0|z(yweC2V zPqf$YsUHpKF}i}*nY~e( zT+5(!AQ~9x?%KF^N+FtIjD8e+rC9_;V zn`JF$kGpZ}dFFo2jax++$=~{eI4CZI@e;)SUyy_ju(el zu}+g2ZQ)#1F|B^JMlaX1c2U)mjZ*YkgXWwYud}pF(BE#OzZv07SvG3wxa8!)WqX-N zXAWI2$qTQYudg_@?dQ)mQs53d4o!?s5K7G+vbWUz0?&~vnFvdXNjwR z_H6Orq4SzkuNz+fvuAZ4@QT~GIqzEh<}^P$JU92ceDt==@WN(uz7BlbcFc?F$WKl2 zLig$||Ha{{FWioGMfKz@rTlDtk@@rq*5{z3`FZBJv(b#eC?A>&UsAN|e}yHVTcrG|JWTmb zSa;E&vMK!9*H!L=h2jyd^O)CZ^~$(z`zzH)%8cPzw|r)#CCU!pcFnURzd>Ez%Xy;P zzL_EIh8^e#$#gsoN(Wrkg?m?tFZMHkpB`DtTFwH_crIiurpuhys%gef8EQLK()7zjUkII;Ei1>jcF&^=v&-nNxiWR%K>f^u2eRmR{;BH$NWtYZRtjiKjTD zv^8ik>!gJ@d@a-V(B#wCO}UnTt|#t$*-2c=^fBO)=sX8$UW(($RxTsc`K47kPm z$MAa-a8CjrOu%<0;9>&)R095D0{-&^{LKU$^M=Wf@2I+Gf*aeo*@Old)+AouX^2y2W?{ADRnrCZ%|IXPzqB4KlpuJ6^$kQ6`M-#nv?hY zz$!Ze`%npgslA^ikrR9WL)zU=v#GWuSqKE$q^8Jp_;uVW-_$aJ9`Kv!4{tra>BidHTuU4KA&SgT>|~w-LGb1a zrDvtKFZ(a4YUW97pS$C6IU{?{sp z@|n|{^4s=h^4$;GKKA4D*^6ZKk$U=jGrwP?|IH74JhNmVN_C)8nY|TzCZ9LD1^F;E z_HyqQXYTXk^L5_54%*VW#}KoVOrW%0nVPnO<&7sj~Mx>qYS0*Y+Ck3^qPwz?W3yhh-UtD z47=iZeiffIA2)o`;lgnaf7W6buGR78MZ~Fg_6x-?X6%4o9N;o(ICql<^HjCyJe|Wo zymM%Hbi~Y6!S9XmYCIQM9Oc~qwjZCyy-DR^^g8Cyil4##k?);$=HUsrpakzGm}YI`|)K7+S1YE>I#%v23t?WfTh{dWEH+92(32K<>m!CYQbnD^Eq zZD#(rh8WKn{$)L_TCn1oJ$>k`yfWEj@O;SZk9$V@b95&f&FL+maKl-Kk z%;=Yr197~E(t9pv2Q+c?Vr1hPXgIHB;;eKu#`x~4d{lJYxaY)a>8jwZ07e^WPWi??)VhvHnxUZbtM?7ptNjr*A5cFd;j7mv3WYOl={ z7944p{-6Jw-I@GjJJ|O(sn_|EG&YDvPhXMyX$VtSm>s>Yupp&7K(>2Yy_|6AEiZg( zBH{(ROvjIFbBv#A+@8QHM}L#X&PGnI{o8W%rbTaa*6i7kq#=HH(y;r7UPwi-O0wqGzy zZCR@hX4m#_&a%;m{Wa(7w!rdCrG!l4L5HX(-^~e#*B9z_-les^1a@d@2Wz?=I{CzS--5m994) z$1o1wjG6FQdx%f@Er;(x7l%I?P2tA)6yD?eCiW0t(S_sB7*CVN`QDDT zb~!(uzH^+P;D6!^@ojhE_%p`i_z94=W36rH$K$JUe!!^=_7LB0VCBUdha+_^4k5nP zz#bnOkLVar@1ZBu6!rvrOtz2D!z`pH^NiS#O|-syp-w`Q`rX5LAja+?%S>n zVfkI{2{U6q;l=;4K_G~KV*{*ui4Cwz%Q^w89AX2k`il*)cp^5ynj=F~wZ=t$O9EDX z8sq$v^JJ?M{u>hT_5?hhfd41~|F;DETmt_0sc_28^ZCrD-jMKbaIo%0q5KVh8Yi0{ z?fJCE!S6}H@X-|i{seq`0%oSc8i()E1pJKz{JjKxdMaFTQ37sBz}Gmqn*6~p6}JR1 z{8Dje0K+d8p9o+`tnlTpb=&izV3MjknyLp(=}SwqkZacT4XoQ7%tz`P66Ox=^L=g- z(J2V=MJa>5ym;&!72a+=vKq-6p2EAew{-bTc%6)kqH9eE>@iGX}KuACa1@l!kJ?4drI@K(ZhcJ755{7`-zf!s;RX9T5BHud~OOI;q^`i zr*@U*dUaOB@8j0~5`XSBMPKLlSyv!y{R?&#ttI>w^soLt8_hTS`(`S}g7Ak+ch6MT z1ono&4$k;>L;7{U?>qVc_tW@(W-WH#2j!#qt{Uyv^LN!mFzw}h;4ja7^>~W@u=kMc5)ko1~z6{^w@FQwcS33N%L%+WxNAlR?XNoiW zbsu*yz`v_h4i(6_1{X%d{srFtc;J4j^r~VdX+x%bDxD=MPaZl_PMr{ItfdHTe9W zzeVn|ioMJoMHf6fHp9k$wa3umB{610u5MV^vWe?peyPFa|5sy4>f7kmzOAc9I!&$E zA4=btck(O!xXFTM&)j@x*Ps0KNe@SzjLny@#d;KWuVd>UHP;)-zo^J3zL>?QbZht$ zx_re++%D$x#^dv_|Bu~YC0*X*Rp#KRSRe01Xr*<@h8jzJY1|Zs&<%2BUoSYrYTs{M z`HS4x^_mriG~be57oD$_hWx_0L+r3U**rh0YOajZtTdR}@Mcy7w8Ai)UD;S9D?8-R z2^+!r=%Pm83~*NPcxAL0I1Ah;csN?#INZ5fVH!JTw=L?3zIN3Pa1UoIhjxIMbZWp~ z>%;9QJ~-Y=m>T@*6o+uNibuG56OOpTN!Yg%Hb>Yx!Zr}Do-j=cqj(CVcqT3D-$b}J z;^hdpg1Ae3SRc;eU4maLc-siS($no|UP1g;;;$ymRmu3|d%5yWn5*z_-vJ!Pclg`! zyB_>2!QUDB6Tid7zn(Cwh~E+VlgHKIUPbyx@V}`{`aLfGP5A$%(gR12$3dE%$_ME@ z53VENIRU=EgpT8cKW*yF#(6%DLl_$;MZK+TZ0=4~5$E)d`KfgC{8YzyB`51u*Ct*n zrgsP7OuX*Ys{Mo^+y@lK<2>?ygvF z$_&5e%8C^`@N1r5`I5rfFcr(2J86fN;9@uZ4il#GCEa%2JUe!MUy9U zg_KqrmeaVU64@DdX1KAR+cCRl3Anf|{@TpEZ1h@0a*CPf*S0-DTh6kgyym9NZ!F;T zfH|pZUJytd+}OF9;{-F|tc0<8S|6p0$XL;))w+CiY2yyuaIYHYRy#v8_OK53#`EG>CCtQ(4GMAS>@jZq-Lw!rJo34qWf@Rgb;F*&7nL8i}(g;kF33ri5D)ZdWGU zuEg!F9kai7RY$aZ5icGLjir%+JPwiwr^haqB;1xr%h67U9ChpJsH*7dNV1u_Pt*RZ zpxv}xz1#t;IuB6@T~q^KolqL2T@j}3@gWB) z9KI@6fDO)kv0gH#YHT#BR@}m9wsdlHgjGs&3kxg1oZ!?;E`^8Rq?KU160^sw^w`@N zxOHE=%x(HvZl%a#Z!)(uIQM(6M!TCGoqz9D=6dWUg~^JH;0`vW7M`of6dvG|Cp#}$ zow6ro_D&v#msyoFCrOU0&pWgXdcOOXJLv1`&AZ2R+$>k@rnAzDY6H?WdcW6F`+E>ymv2mE!0w^`L?mCnBR?aG-jnUSUJ`Xua@g%K~F z*b}5C-mv<8`k1SuEP1VwKV>GFBl#k{eGYFQ{;gVR7Qa#7)!I$Xf5Y%^Uz=e!ZVujS z7%sqv@Sb=O{%hc-jOR_gKXAf?MTVVg_!W6LJbZ1YIM>Ee_%ZD8>kFjWL;g1@T_azw zj(SF}qRa~H9GGq13Ky;#=u45;xVKM#P9Zm+wHgwCESK^`*6bT z!?@)WZh6vNcMs`7XT50LO&Y*kps^nNmR~kK@{v~_p!vhpNuFIVBf9y<)D`9a;IMr) z=7#m@tK@dWZRx9S_#iyoDIR{Gc(^E@MNSNjY&EB#qmk>Pm6w0i*4cx%@#@gr$s#A5 zb@NYp;k{8MI}gU7_b%+SI_5h0+=-mOB)SW~LEPt(&uykI3eh&)I&nJ}w|ku1J-DsJ z?R?x!zezc4$1R83>v0=%;l^;Q$L&Jgb~(3QxQX9)J9sxTU|ZqS(7Pw{ z{QVV~;Sb(CBtE_2gKby6_k$DXy!V5L7cGr`Qc?J5TLdpG&KC$%n9*279^}3{nP&$~ z`m2%=oF+rQrSqR_XwOZ6bDq8N6?r1L6y=UbMg14)7tyV(tVR9;S4lp`x~;6n?=?a`e?6jZS+h&|F(>ueP3YpXs#gtf#NtCW0j1fzXxNOwg_A8XVlb zW?gSr4;O(?PazJ$y%3x4D6{x$67iwV2rzpFF6qZkF=_**`(N@ z2^gahySHOK{{?;&F5}$gSIwu@0F8p($UeOaa5u0w9!DPzLAV(jVJp5jKHRN1cstgN zM&}Brbp423@V$H?zL$VWJ2oE27jOx}&7`Z3TH{cqwEjmT+!*k#GU1-W&Ev+JspALL z*w8oE`H8;&#TTTj8~@BJlQKgapnL^y#8 z8_dYmJdV>z+_b9Z>8rt>n2|YeAK~7PyEnp9&cyD&f*BbOXb11y?j13V`N zumFocVgs!DjSaB!9~)qmX>5R*1oAl3^=3whDPbQ#g@$Rce|B06`|<>Qy@gY|iLd;8 z(D`dMPx%>f@G4;C=Y9vb0xLh%modA5m7o9aV80anOalIah12bXSAKss)!*>7akBKM z<~e`8%0YRg{Oa&(;MYcy=iw_7M!wtrXU#y@?Y*~d+Pvm1SNJs_1ivl}vfanDWux#e z*hFU(uLUODJ!0eRyA|I(0bjY6M=PduUAAK?=cVHgdR-#EE$B+!Hyefw`X%RVUCaYX zW(jg2xHRF);36eMg9$tZp}H%XTDZgUX5~{9tFx!GrBx=$7Qdn*p7JYBlAV6#A?hft zTW|=zhr;OOJBX zeytnVHtNQGUQ|qvKF=8OV@7XYMVcLY4Q}}AsGYG&YT5nqD*#Q+S+h&9VR%jDCpn?{ z?C`ax+8GNiyy4oKCAUobVSG z4jp=sn=hIF<<QS#Iv~WY_$b82S@KeYSmyb?PGL}4Ed@joLOE*lGb=v)%tu3EnPLMehozgJ%1z)#D^M9{1I{%O0+bBOb^(^y+spdB3@YkC**Fb$n z!*f@B@uKz74DovYAK&-Mx*y|z>#FwQxvQG;(M=iJ;<47wWq;Ax{qEcJ`em-WsabUq z)(3oN)*axvI?c(@hBRhZTUd^r6Whj~8=231-`;4ePV`bHb@*iq#gpQnI;GEeN;`=k zX5QA`j>`N7yiwUQ!Bc~mnDW?e<|6h)gQ{ohYu||4tF4EOZZlzg7u`_Bsb$Jj<>+<~ zFK4&;Y~dlT6{CluQ>2sP1VyBO)rns01)n(yL7nu8|9xE$Ms%d8lPq-9QIC-+YkP~A zn=||Q(}%j!b@ryQ^y2*emM4RzjPPO|Q9V;!=3|dKT{G#nNN{Jj9rtd9idP8q7_!>^K(w%y#7)@cnt_jvRWvQMYg;HO42_xM%j`JQ{r5OrRY|5?jW ze&!o9oR-mvlVhW+p{ra3J;hYV;2`L;Wld8g?SCM_ixQh zsXEmFJv+>9_r1}P!cpkD^J|&Hnr{zri%-??)_=>4v~oh`yZ_938mBL`0!>*I)~skR zGFO?8PPMDdbSgr(1E}0|BZ2DHxFbj9R`~A8_qG&qe~6pCC;!@>=4QSw|5faNK|f&W zm~HsP<7SgVM(#P{Wt`ps)wY+$dlVv)IPnzOf_~XLwt$)5y*66*rrkavMDwahhp} z^6Y3Ck19qVh)(eukU14JrQJ%8Ag@NAJ`%lXPOjZby)=AlXk-obcW;U3UHm$gt=h1u zEAfSW1zo4%8{BD#_y!~OGc6BC3vYY^nWFsC*Qh>7Q>Q8=uTtm}I)x+|kyaVIcKuRo zbXjWW-l)Dax?ltSMV3C`DE)2)^RBJXQk~AH6Q2m53#b11anVCs`{d5I zPwi0UPoJZ?EEC?y3g*f#-^PvXq>pShf0`3Fg_Kp#Qm_Q<7F5svK)QAEBQdHS_mfoM`;& zLe1YB9i@%A=ax>|2W^O(It)HeKWfcEWx0YnPoJ^Qt!#6$I<>gKiKH_1ob!FBx!r;= zYC9^k5|0`gYv$NnC{N`nUISAQT#y${jZjr#H%G= zcH*WuJ1Il;X=)eH+F|4Zx`^72aN9cJ_2IjsoZ^Q#V_XkT$0a;2?``fxU`ZCM-r##v zZ`_(m9S(Io5p5-pbuNz$BkUu9_akodB+sec^tCDe$8f8ZE(h*5@h0=UIz7Wn;FQgQ zXfb>k>RzebBdHG<+4cwM#^l%cztROcq18q@N0kn@d2s7ys)>`D_03tz9(=hp0S-ic z_?!Og68eYXw;x|L-2H=0;iE>!SjiZ{)C+agP$uni%Rmiml(KB*&R6lk}s;Um25>3M&tjH9;nOdYW*!cy< z0OWTEVSuHtH27OW9bccy-)rQ0HFXjd853xSRz6*6cme(?H-0*)omq#-pW}&)+70c% z@IsqTd^*0MjC;iU$gV16)okTS`3v*qbew5?pnSs%kE%Z@@c_JJbwG_5QsldiJejsj z85@4}`(jL*<58v3g>P*gkiOD3?Gb(!ExvqBT_KOg3KpmEHKr|2g_r4+Nw^|QlOsTq;eoGsnEF4Yc%0e$|tA3K@ z9?Q=M(XH)zY-4`@+@X=H=zq~M85bTM{Rcaq+w~dhg;U{fTqj<&<2sEu>0>F6bm1T3 zab1HiH_|9Srb3rj9f)=_#zuaY8B+}v|E@HqLgp>+n@C-JdGWbF#GX?-Lzdfd5B;|r z_wX8C>IZ(@j?`oNE%D?h?N`Ut!i?VN{9AF(=vY0n3vYU*2kpUO$MHOS7(?x(+h zbtf;f-}Kxcw%kenN0~nITTIKk= zow~~Mx=X$Int87paIGwSgmj*WmYeaKo#(N*sUy|7>Qrffe>ChnMT4nF`YzI`C!Cqf zlir7WdTf$B5MMMXPvm`*=Vix_CtUvHxdrm!bq>{ew&Rg#EBqN1$T#}Ne)2E9V;}gO z-jUi(xT6Y#zAK%9`2*=8snxg}J)~_TdPEa*Bh~6}3!lG< zHR)B03Lk4y8EckIN_)qlh03Uc>P#p?J zKUgd|$g7@j>Ns4p#FVx8Fz7?VzEtu~x`A#Q8F6|6^ohrrTR~U3Bx<;5f!43D&E!AV z^ZEP}y`N_uq`u_|bc_3uP1xzbYo*heu_*gKR5!RcsO}jnwU^1)fvNe58q0+F5w{9- zgyGbuP~Wv~yx{r$Y4-Sd`LkHJ)R^%m`;JtH`G4c(r;Fci_D|WmjC3na1$80b^0J@? zyO9OZt3F#d?d}qP{Rwhue=3@@vn#4b&#u9qA+J@M%Tr$<`J?=rK45RuCp+nCKT>+x zUNeu|!?>|(+1{v4{AJqL)HYC=d!(|e_&soH{K@=C;oct(6}~xDr&L_iE|71eQDx^p z%y`S}Q(AU#au0gqG5X}=Y6pj)m$?tS?@8lNCzq8c^pRuGSjxMTgXCSe;`{lf$0X14 zd+oR#Sr(5!0=;q(Cm!HjCezBolClo}Flc~!!f2XnVrw&tg==O!nzBROy@P_6OU#PKewpfQO zB8zJjnf%FR47G|K#ufft??N4nspi51>x=gz|ygSB{MGx&v*wx-k6R zOmhompnXhFM2|@(q7&63Q;s^B7-{~7He5}a)F$;)D!5J=dW!0+DxZMnwvl;J zc0*Qc0Y6&Xwl`XZ?q>QVKObad0exPX_{YUVQ)%XwldGUP#SM}R%>Kq&^t7}oXJqnl z=XIYPUU<#3!waHz#%>EcxJU|}k-jx$UdZ!u$d;v;sospYe22K8uCd z%r!c>=GthT%lkgHPanRmY`v#HZC+ZOS}rcWZ4-*`z z%Gj$IkG(WkG$vX!51}^g>w`QF!Y9=l3n6#(@(J_)j7j!RK4Zs5$WhW$TIJFy9<)53 zmmH`Q;#b^|g=Vc)WqL?!t@OpJU&-N;9F#t1=3w{HwmJ-NDesc& z>D05j6)AUrxZZ2(U?urn=fZ}0HahvJb_%V@FV)5e%@mb0$H%Q>F+2wP>!hq)4T_Q4{1Sw$Q56y!hkH11~o z0Dj6*zb1_8SmV!f_3Zhj&9;#h!fD+!eomSBw`B*T=Y>~(VVj4JTIOOS$syuQO!bRi zQXKhf{u2BR(4Ul@f02-JM;Iq$3ilpSzsDS?>HnI1nNSBQ=`^N&9xt_{xD7Fu8-32u z@|2N{B|TRwd_-V=d#1iy0G)v3qLld(koYt;y#RSy0pR1p4}e^cmaeGaj+)aiSUdb%*kd zp4Bee{XDsye@Uf1jvy~5r{`tHYZ7^RO1MVnaRZ#2UlhKrFMTsZS!ATk`E1QARKDP@#$ofx;eo412uJZw!f0{(?wS6BPt*$UP}*ne%- z1Ue)an1j&Vg3~jRXM0n9`Mv-6Nu^01xjFqG&@WFW_PIz#QiqhElNG00J84_YE# z&&aZGto15G3I84GxwbQ?M; zuRt?qtjVP(SB>;C=gT>r5#|kt*QXZUHJPeu$y(8ZKUn@C$r1; zMh_S7LkGD4xsoPL+b53|U(cQy=rLoIJKPVG1eXr_Bk4wfh7tK?Vik(q1!+Mn8q`asgHNS2Y)$(o#8^JDc>`Oh*p zIu7mVh@zRcOZnNoQMq~4m(GQBOFy-H2>n`-YloUY7}DIR%da_;i7amt4H_S*48<>^ zo$_Z4IrC#-pWx;!YJ6J+SEJG*{v7rwH7aa#Hj0+E(a(R7JxbZyT>c-UMFnPS+YT~j zysaWryv^=$)Lf$7cSSngGe2+eOc>fwf}#rYIU72o)?!iXBeOesp~A!7?!qZQCXV}0 z`MCJY?)}wQg!2n0r<6-&D$?z*%7f}e7W3191Y z5xTGYWalGMh3f9rpz&9M^H)%gsaLsPUKXF$5Dzge4bZdq;Ul@WihvGXVf0Sqjp%y{5bRLv(6dAUHsWH5k)>e^GJh5 zx0kSuKA1Rm{ebgh21jX5NI0&T+Mew^t<`fYwB8Vpy@T`>Z;*cK2y(YhZ3=pgyi`BJ zdU6f(xd+61YLD`>a}M-B)@>hkZ^i(*<3|4v$Dd~?pIKk_`9rp7KB$THrw;I^M-S0A z>s5HWE^72Ktp{_U-N+cio4$ZJC%sNZynQ$Rh1q+M*c)TYJ4u6EvzzskfQAb4|ETaO zFXmQh$w}s!RTtVDQIZ>}8sum7(oX6RnpFn$d$ppWcnR^TOZFi|9ngb&S~p&^&hN&9 z>X+$%6Jsvn&OK69=jl;@K|ame6Eu)t=EO>6ZT19&Wlg%CCrmiik#H2(Yfi%Ucis)W z5p=N^l5%GJdt zqhFCms`)nN8_*S0wma}6%nI^Z%UYkxsZP2)ujSSd#`I;L7nG;bZ!mATSGwfnG0M^B zyJ6%KTNkPa>M$-Nt#vAI>`|+uoEX1RCPl@M7URCU?qcR#gYfy$Xi+oaRo>!5>i$iB zUpwj5Yi$YLh_$WBBPu)L+xfjz75M9=FSxWCL~B@Qs>dATWM6NdC!opa;TNpCxNcpV zrrzScB*?PIrAJd9jf^v@81FRFAFh;a6OC?OxXk=))rau!(AL4&i095UegR)K z`O*Hpa$}dITtd&N`eH&Z8QyksX?(=YVb3{yd2!;$ZF?)mC}*=CL|ZvS+pYSsZ!6*_ z+U{e_C)aA6;m3+@58fH#&;Iowewz4$)K|5cGbZ1vH|5W)5iu55or!+!CARY#X52KM zkiX<}_ATJ5h5pjsM8?t7f#GA52DlkZM1@PgH8jdxl=wogWBR%H0KcEp(q78M9L?%>k91S_^#P|*TOg^e=$0~Ue(+)+2`Al@^^L~nEkil(!5<2>*#H) zqnmkW!%O2+<`>KG&z#o~HxtkC5uP?=^!YRM+?;n_H~H_!O}QcW{QA1q>S&vh=Bq8e zMt+t{vq=1L)_LPLn5&$2Y;>M3){CN6X(`LdlU8Sd0Ol8=6s0ql;9zSUm3O)&1I~J zW^E5-XpQ8jm7BA4$ACR&uyNN1gQMVWb?Iw-;L|tr^h(q5Qq%Of)l=rVlwXZ|cunE}dj*cRv_%nnP1@QXVu`UN zqm7IlT_2_I`UkB`#Q4kbT6G)!)tLC3`Rc5h57ikFzm|6)e8t?!8DwKQe60PX+SDH_ z-O*)czHdl(3DBRkF+azhCPx^H&)B8%a4+eaJ=jmjjeqStk&5W)=w`C2u zWkK}%;{EjT&2PxCmiKg_c}1>xA!G8d@bX|Yuiie~(7qEoOq+S+oADmQv!wSE(#wOx zv_I)j)S1bLW-XcccHPYNS(G7b(tb`+GB-VzsBhZvYvxVm z+lm#`Iru8{f}D7#mU@cyo1L767ovd9zwbXm!}Jw%CysS=HcJ2`YzJX6z`?Z@6OUjX}cHOHA1x;;Sc)o4y7TUoj&(+ z&Z>|W<%Rr-Ut`_1+3<+fMMc|nlRtY=>6`kudTUB_2+x?>oNH@@eH5DPItS-{ikwMQ z81}e2{xJGWpD!Pi?jz^ir7*(nc@@2OT7T+kH1wAASuP-*6l^(rhcO#OU}mpZn&b%v*zOQ_epHN3nSJ}`S@ zDL?Ib@pB9s=cUFTMDEhhOV(JLC@b7(!^=mwdr7pJIrAsodKc?vw(OWMU>}k8%fVln zVwtf7^fq~Vr_g2BK4Q8Yoz>7_$DYtazdn6m7J7xJM>HsX{^>wyOVBJgVoVx{n`P7ByX6H1)r-Wi{@Uz19IK-{YeP?09tayX?_BNFOsw`k#qT#OZ3z zClB4fZ~C<5hF<8>n9hbV{G0Rclz9zuz|@20&)Hv>EqHzwyy&LWLxEp6bLw!eDV^UceUEpTs z*YBj=GOwdOUS_XXmurLHM_zrelz-hfXK?F07<#top-q^5U$lKQp4Pr3$x7`_%Fi}3 zx*A@19^E+5U5q}pf_bJ>%FC4VcXpq%=~r`)oVz02Q@3%N*S55f!|p# zS@kOMRe#7=lx2snhx{JDx9)hmPnUA9Crpwzr{D;9a|Q7{Z`yesdnO~(a@^E=#+)&A z^KXfB`zKmE>7%;O-EGPc8KJR}_K#?7;;T<0pXQb3&9&FW?;Q&F2Pv){pQp0QS59M$ zfS>7qO+EX#3eWeV(w5#$`VU=Q{LbmC$L%;x{w))nHQ4i`wJlGadlYz#e#OX@mz%GE zkM%-vwy^DZL^(FP{F(Vl;kESHy(WIY0PgG5&QzwNN9#8Ezkg#!{ifo;r!~40kblY3 zDur=-82W@?GQ!B5?wSjIoG=~X&|YZCk#Owk)*+6A)0~GAZj+w&79&&87mMhN(tEWo zZ~gdpW!!|0sJ_OygF8#yv#ggG{Zsf>8GPgM7))b8)89*$P**wOclkDbmBNc3M!!F0 zZq3B={6YHC$vq$LKD3NAVB074>5Kql*;>xKn7O*qhqZq>Rgb*vXz64hBKuYSURCs^ z3Z-rP@zi$TR+N98LCNo}{A3Gdu5&2%+|2YfeB}WgD@-{(X!TL27ieuio1gvHL-Wv) zhg(v+RHwr&+?$!2Qm;pdZ}+BLlBzZL!5y&ui|ShRA>#~wQ}0hk_3Wis!MJ3l{E%^4 z=ak-J+PU(ie2R8Yv%>K`8t!u=kM+)c~g;l#NJonbw}!Von$_7d>v05dNAH|v0VBFbsSAulluVu z!dBZas82AoPEdB==UzMdi5>J2qJecgbgi=e`byfG)sG)^`)J&`cIvHGc~ZZQj5d6# zyiwMva7`_clZ^8N+DG7N%b$jJbB6Zsw6Ev?Q64hre`cOl;{(!LZTfHWK0;ZTdZ0YC z2ZQ|{8SM$uc{A-<56eS&vu7t_{+YHXn)+x9WrO*_KRVSZdubld8 z(X@m8*{TO{)&^yC;?S#$Z|Gnb^=0YXZuZIBeN;80mpZv{H+w+Pk4Ci~x10W*xjo8r z&XVIsAErEKRr~spo7X?o&cp|5XZca?vLR2lo!R~Bw(ZY+nso-9&B%?Qub8?(XEE)V zaWLh-0)8~@*XdM;NqdH^$C;geoPO8OOL1~fn*Lw~`=(61JbUM9lS5ly`ilCBnkE0r zm`(Ew2iSMu_#y7cM&McIjL~V*=1d+sp6(&=dGg~J@q*6rE!#V@PBgo5QZ@2Mb!Bzg zy)!l5*K2@P%ligH@}L46&e-v)OLnX#^joHNd2I6OUcr(uYL@7)uS0loAHa4 zw~e|Jp)nR`b$Vp$`%7@9r!HRn3r8Ea*=Jd3GOMWBs(06L7 zW4m{%UN3HQR_w%$wcNL#ThZQ<<4)sw^a;&B&Fq9;8t?-$d1M)I~@f&k!sZ2{f>mSV(nS7+V-iI=UW|nK2?<>?FX-8+& zdP{@H#X4r%$r&?e6wD{?QXJt_ocw)n%xKOD`PHa%SIUdOFMx2>q|v_fYLoxfjNjxR zkMn&Usy-D@ICB?Fo>1B3@5}03vzdpGpXFcp3BRzMShrc8bPHkezT$^&1|K{Ie;p3w zOnrD>DJfg1&)vVc4B*}XKmIt23~+f6aCMIUWn>w1 z%G4dO_J-*WyZVGavKT$zi~;;!HH`%i5!dzSt-6m#I;roU)u)SZN9ohWbIQxh_tEUD zy@`0zQ9f+twDc6OpX7%wyhC~ey0yQ{#f&={(@2gj&TlK7>5~3L`DT4zrhJKq)Srt^ z!mlv<^|yZ4_FbR0ah1MLn=-1R+-fMpi1MgHKQQMs=_ibQkgk2UI+FZ@-{RMd(XVn| zht_|}_|J`4j>XZL8%ka}CCddusqNGJMuF(qEe8yy&(%$#ez;O#@hx$BHfC73@)!tU*LOKOG$%yO8}c5xUuh&;yP9>r3za+Z5wF`0BSP%R9L5}-i%5)Q(ilAcFBRbNefWPOy2veC{9Q~0GaH%`nth#sMP*0r8x=R+8SP&Rfg>XDjZ z-6Q44DB^wScpdqr9i#{C95n4~JQ{U#S7yHo>DGWxWs_zfaVzjq!IFc>KMm=tRZsFW zXOHj`Zlf0-tUTH}PN71N!iW}RIelKmYRM+`HQL|n=K&-W##qBA4~^(or-Vm!uYcjm z+k1m546a9N{*u1GZlr~|4vSlTqdzO<_nMfz2Wt{%!)xv`g1&!+zQY51&>`C3$-CIU zR!Sosq%q~}RNPk}r;6l(aORGu?&m5D{ope4{AKcH<_dF!8o(rS*-f->2Im}@m?cn6W za9iaNe(%$r_WWOe!?kUTWMA5LS*q*W3pV7V>xc5ln~vx^TRWnL#rf#wA@LBj)^tR( z7Ryc=wVe@q3i%NXpP0Owazw6p8kq-qiu|oI`Z9XLbl!UHdlP!Xo~6*f@B7GX>sR9-9;+a!B3qt9`EA34PO;Bm@7Oi~(z%QCS{l4js`x5+B_H16j!>wm&8;*xx`)B6PxNl53 z|2gK)oGwnJmqK@n@5g8+4_=3Iee^2jqf`gciXgsOvwNBNwWOYp_%M)vpAQAUy41b)%jXsR~oi>B-qq<^>jUO2}j zJkk~2c$xipW%77QlqSsdJYGT`*$>n*;m0(#T-0yl?(cgjmB}Sh!_rRrlZDWEo8|e! zy{FW7)R68A+$$y8Gpq}}FtPxir(KKZX?N6TDl6G6di_6T67Q{Z>u5(L2Xp94;oP>V zr!;b!`7Lz}x#OuK`fW$9`@9SMTBciY(F$5-g3=Jo460!a&)}YsJ1zB6?IBmrO(yby72Cv{f;Jc#>(SQ z=ELYM%#A}su zUVfeHyq|^ZT*O@kZ7+_@LzgjaA$O5O8*5 z|Hd~9%5Lbob$xfXY3S0SY}a76f9+ZxHePyZPxj5(wd;r0Z@hI*G(GYyAUH!j8(i-q z^W<`NZP)s~-kxm3r31X=+B>wVYh%xvwK!!5`?I8RMsM?qF~m#@G|02p16|#N>-#s7 zp{|}K9*3n}g!8&If1Ye8b*T^{_RVg#nG|8W)pE4QvoT*OS0=X-p-5O(6D~Mq_(zybGC2rj!hPKDO_LoZEwD+yMN2Z!R*qd z*`}-sXXBXS4zp=7yG&4Syab*N{Il}+x$U;Jp0$29_ipIFy%$#K-(dJbv@U@ksQitV z@VG23+ASNE#I)*EZu;Y$44lT!8mf3w>`*eKSiUmFHQb@JLCD|>Tdi1dQ zpc>6)7tv+Q2H3p*)^&sM?o_7UV)GRSF)ceFZc328-nG7=pBFeZ|=z^3pSQWHkTWDRl+s4zW)AA*`D6P-tNKPo<-BV-{X13vc%N# zqyh0F`v8T0Tkjokx`DTBr-*kEl5`rrI;4)v_R{+2G$u-@{a4T zf6w)?fTHD^qI5XL^yFT-UXpcDy!1sFH|2)1%IZ>QC)gS%b0FATVV5p%*Hchy3?d`T zjd)hFV+0sXXb5z9e%LJr)q(aY62(KSwj+GgI}-_tuyAPx+6ZAM~scWso=GElZ_ib$lfb(zwB zbN|M^JF>`&SSf8#d8zsu3C*413Vy!5(Tww{#7-E!PD$C+ zyRj$MpabtUK8h5PfvgKA^~-wL3|Kv7&6Z8KZssLHuScA{@|`3ri3cD1Y$C!_Q;H=O z^VYupTTtVsXqRfdcdYSE;FUCEUze{Sl7jk1eAZ}2)!4MT_xAPuTL$7<&vqf%Y{{K9 zb~nMo=KBhxS+&GtK7*j5O>Ws_6ap30l8|oRTDYWN%>z(9^ZKOruPq zDpgK`lJauo6-Pfq1D(zj24ktT%O~rjnW5f*a%kzE-Xwj$`dE$1DQ}k= zjWN44>)au(XTfi08xTr3+7zV6OOsO!DU!+1wsd=X`_QtNWY3n9a7+b_%B&slTNM2W zIUJ1E_Unv302L;C>3~)EjiQzaDjc+xHNJoL#by-362ks1eVWd2NX_iRr2|XAoIqFN zhlF^O;C-1GgPXT(?3UOl8*X6JdNV|p%8bC=cq@&Z_x(2YZ)RYUpn?oj4~-gfGQ92T zlR8EXsytL|>u}t(xxc%2;LPL?cHP#SUH0~lYu^8kH7noq_Um2&{oQ^21N5yux4ikP zwLJ=N)N43(Z66aBra(9Miijm}f+0o)Dnb7t`pUAZ?ODRF-#D^n3g5v@cTC@ZF9qxWpl5If6r ziT%9sd%fw}vb{qz+5r>N*;N(&gX`cIB+5WM_}SF8xoZPWZnKXWkH-v($O=tW(Wc(b zC@HX6^a`F$)->a}w{F~`xkff9rlLgycWglS<$rLq{a@#8gGjk(k+K;rx`m9}cZ}5} zyZblNi{Ysti{!F_8MFZG=Rrxab@(u`f|;Sa6p=NQ>-vpJZ;2q2F^?)3R8EU((+)x~ zwNxga)uGCzBq8dkG`MNfLor#nkzt^#hx`7A;Qtizmtz%-Z!EVXv4031(GOjTkJd-waWeoAM0( zP1#sN%T%agt0^dB<2}6 z4*GG>8Bna>$oPGO9>^Z({hf_lHk4&3HTz`15TE?5aGWMi1MXPc%hY!mE%38ltg2=6 z6g4LZ;*`DeLTS2a4q^@r_D}7K2YMMip;Q~KtJEt5QMxvvyZat7aNmd;IbB??EfaFO zjuW6^z~st%Ix?fsso$OM}tpF=(*$>_4X4bJGuZZR|VU=M>ai`~Ef)3`)t9-r)$0x)L^_v`qv|KVlB zH4;Yn!gL#eyxN5#_d;z{x5qKS+Hy)q%iFiBK#}vlnW8X-OZ#VW3-wEJVeBO8* zU%?>=SJ4Js&*zN~_cRV+xE|mtABcY+?tdo2^$|^V85arjaf;Sh#91?;b+Rq@yj5vGM7?3zvYN$3)*AKIK<@C_mx5mHzyzCYas?CE=* z^Ao;N>;b-6M=gk}H6Gtqz!0D6yOU4!)$++t_&&vdfUipU%H{XtE)IV(f7Zm$7@zRH zfzRXn6YK%LIay$pwKtx=FX9l;_h%Ep9el!9$LI0=ckCg)W56%*dE@aN!6Cr+CDlPa zpYX9eF~;{}>;b;H%CB&G)gMz8%sT(@~eM^6TaW%Kfrg+J;3dJ-gtah;^6G^ z`qBY@YWalkGCq&*X6zw8$}bX5Z#=#s9D;D?b^`13#)nh46sG$Ouupe^^HV-{V-N97 z03YV_#^c+GLx}GM;CepggI&IHKK5e|@YQSs4B~kl6<=_1_>+0OhMyID!uMuA#Swjn z_z&>CR%O!4=Z(W%@k1QKaEF1%eIWjQxaUfC`98jiAK_EFO?)oh%1Z13zVmv3Px5)= z@twxO+2!^4E`B^dU-#srG9h=*@380<#~6pBQgsyKdm5OqhQ7tlPxwS@Kwn1q%FtKo z>xSSmU#{n;lTZ15E1%L5zIXB;;CtP2zzlBQIGQS#;o$7@`tmk@e13DzPxw}25AeO7 za!%nM8;|csTta*kz&^iAoS*P%|7U=&wg-3;b;{CjcMD%^Q!;^Q?1!;y9L*e8RVqPvL~` zxA+h6UAmq8zKEMQ9-qp~+2wWcX@17|gzw#a9^dWQ1AGld;Kh92czkL{0lq_>z|dpx zwL3r2cOUi;-($c%eBO9`yKo5c^#N1X2H*A0Pxv0k9^hM03tYwLjmP&44q><~u_wp0I-{3!_FArS9=Z(jwyoLBq0(*SY9X!5O*h75VT{!-X@%Y{c6ykdc z*yHj;f9&mB^lbOiyCB{7q#aHF>d&I@zPiEp7emp)eLxu03a1ZEP*aKV+ z-%oHC4bDuQ!s77_V3!~GW{I8<-($dK@Xb2c#oy9V z;V`qjE@;8%$u^>i*TgR$;`8{_RswvNlWyv9+`RGlK7fO>%j;`H{EW%McL$%xw;g+c zuZeQ5?7+<%kMDPJ2=INKHe~b{;k(oMsr>#7dw_3o1I>*uHXh#};}YOIOdd?S!Y7$0 zKjHfx{{g;M)x~Z;Z#=&5;t=3FLfp7NDmXvfsw%OE_)Y*n%IA&8cN&KfUn{Ua(Kq7! zgzt^m1AI$&0Uze`#^I>a_#?!p`p_qQqs~wGmSGR@U9}3mWDjoMczmKI#CMWtt8o)P z>DKZSzBT*@_}X3s?&R~vx);8!xCi)_!7E1JP2%%B=G?z|50;~R zqVHZlPv1k>1AK3L7??cA#?yB{E&+Yt>I81$6TXk}d3*^y`)x1bSLE}?<4fq--%{J~ z`Tft>J-(k}59oV)9`JdO%!T8x>i;g;<@>Ft_}RxN`hJhk;hX&$>;b-abOImX^TyFP zy9x(qm)BE+{7}{g-wysgKFuWr_}*Cu{0yHr9$!5UA-*HPzWjDNKk9e3>OI5uJ@r@xP zR5sptd?Pr7_!@{N8bzOUYxxP^L;MH$-Xr(beBO9`3I6-5ECGmb@O_$pkMGOaLwucp z%W?C@<9iGTXP4JsHS#mWC;EI^qVInI2l(0_1{QC4q1jh(2E~DqHyh&r#eEpZKa=y6;JZQ=OFym*A`S60B^vZBy~R zSGdGm-ZKHO(;aCUk9)qdpj2`s8N;gFy5`xpEN_-<7GRW9Cm zd{5#K;QQ;{z`p!G@BD=C81@if8?f@?jmI~MLl|xau;}x~hx<1i!gL=7-o~eV{GszB z-MJTH5AdyO0&K+18;4`=>u?D0eY*j8j8FLf$oUE1RoDZ3zooX8;q%7h>%k!mw+XmR ze&_y|M7SZMz2uSc@A3IQ$9aAGal&N*MBktADV*s00{=m}HxB~q^Ty+oUhM4hdgdrU zt$f1wr+gmYQ`m*Cf)8`E>Y~I9ar^F7R`JPQA8z5w4B>Tz0tn>QYxhy8!-o{lC} z2eAQJ>?cRyfDQu(=^0qG%yI}C2rM`@1lHW1%i@9!f4)ypOX7d5?m(HXykW3Z+f@6cf z#_k`r4yi``1;++|)zcp5(20M@7b;)zgk+vf8h^pD!C!MpYBQLW(ia>X{MA+^?=h(r z_zR8={*sN)T8Gqj`~}Abf3>3@TZfb?J8V~??+y5!bpFCGI5zlGcPY;^2k`fGX~N)t zG5$W!FX0bdGWcilzr?zvj^PhnGWfp{e_#KL@dqv${NZ_BZ*9yt{=g-J|7G~U+qtyk z4_q?%H{jprT<*aixMc7r?G)|Q7}cMr#W>)<5P#{gGKcX8E*bpajQ_ZGNvVE;O9ubT z@&BB2X~iG7Wbkjo|7*@g`2#K){E=a)|I4|Y#NWv@>w^Dc{C{L2Q@_9^ga2Fc|DVoZ z@qtSQ{~Z25bN*_-z$JtK5=4Y+^Qmh5flCJeR{VXN*n~fD$>4t#{;zi~yYUAu8T{Mu zf0J_=#2>h1@P8ZrF3rl-_yd;={>$-yyLCzJ#~-+4@P8-%?{zN6@dqv${OLa`I;~5E z=m#zt{IA7-qjgC=ia&74;J*_8ZO;E;{DDgbe|WRP@lVBz_yd;={_Xfb;#|c4z$JtK z_4q>zc>aE*bngN|2G)HzeR26Yy^(;F}ZhZzo`l@nb`JT`_6`E1eyBrvdcK*|A~bErxNge3HZ~bC%sEX z?GLzQz;}NMGU+{#fX5T?g9-Sd1pIIU_HDyBlip_&{(q2w_a)%ZC*VgD@E<1NKT5!V zoPhsp0{)W({HF={OO(ni=T@7t`gRm(94_q?%AHd)D z$-)m@GWZ`XL4=H=LkV~S*SOEAF`kvNjCOD=(;OVj90$iT!@+Tzcd(P6UOB3a+ocIa-U|;^#`2QC0J~r{b0~dh3jDHk(1o%GZe;62Eo++7<=Bs*bH2G8DKePT7d+;aj z%x}2xoxr~f{C5s^^*!?k7EUQY^cORK?)+B)Qx>zb4n6?91NaIDKLflI_!79%YvY&iy|T=N(?nb8Fyt7`4`;inpvF{R!SXgth1#|#u|eQ zK|?9ACN+skF%pJh9O|SyX~r>A#?Y1;Y8gXKCM6kL`um;xedm1p_N{*!&E(G9_kQQQ z-}%mWzVn^$o_pW@-qo1H@-CErD94*oMtrY6Vfgo;{A*Kw8fF@4%82j&cMp{nba^0W+}&9-d*74Ix7>-f@NalR;a%W?Jxv8A{}$|q6A z*cPEPw`3~HIA0VGWo1`~@;6YH@pG*IOZLpbA+Gv{}!{8r?vYWWlcS0 z0*6mJB?#%JER-jTlEx&$EdR_t=st+kB&0Fp&+> z<_1RP-p;!^?rCkB)7s@?X)a4lmE3r@LsmzYGr3y-*}!#V9YMxA@>oo@%TNu(_Ky1v zu^B}C0}H%0%AW;VyZ2MK0gA8Bvef+_Te$4c6CG;MkG;Ilb;P!p9usZdgIl~;8 zfg?U~->q)n*tsDdX`0PCp|3Mh$`Z)Hj$~2%+hkdKXgPs7p@zoMkJ)5p2RMTVld>em z3UtX!tZ*bGcba1%#j;Wp-pGcTYC;=y{Ek%>)eX`-ixnC2CMyyv3JX;Rbu}It+*y+{ zS-Gk5PMHdWw6=3CORO~3um{`ypOD!G?NNp^OzNQyOWx!_(I#24!T~EPq(yQD^BiCg zYEq<;5i%h=?!zBKm;(cIAkBgDSW$7fvXn(rYe1f&p-Xb2p-4uep=4=@VTR3M{4j?l z<&Crx2!O&1lR-vKBd_qGEnS_QGa|jJ_VD_LnpechsInetb=6^eaP?q$E z!m9f^tiGPn2pEt*Xy{peLl~SXXbx7)5j4juWe1wWk`g$G;`0ErMHAMK!-mWH>BsoF zMDYTw^A)dh?rFuhVo6#M{&m1P!AFFCCCa#-@pRy%!N|nA_8FCP7)w#bN2M;;jkp%{ zb%7Je4(%?*QdRjoo%?IWTaC;|jm+&L^G_iYYi2K#_!TTkweFcHhxuBn8}GlXZpnEf zXAkt5ByxxsIQKUy2mRWwxIfx0StxaJeUjWFb%}9(_;uxPGj*{}epczYMpu1YU(|>9 zYrOq=4TkF=-!J0Rv0dgS{jJJ@{hw3ZW!maB{Cly?Rvzdd>}+Im$*p}%3YiYcrRWRl zQ3sDpSe}cVWDb_*ieanZSJ3Bqq4VBy=;IR8$D2idGa6kf@`?9HneGK+|L2^$SY@6v zJZFp@)``s9A?FJsllTpxKMee~(1EG{w^aW{QP1Qx({2evpzTsm*u_6Le~-w4zWgog zJIYg!oEOFD?{^i?Gh?yB`20GN$?Km7L?-b;W6u^de^Gaq%7jfWQT!@?W`S;gdmR|# z#f@Vc`~>}-sr*Zg%#E22X$_b+Wjc8Lq|sqdv=7Hf=MJycXp?j<>K>B1#HWl+77EWY z&}ELK#A}@Up6at(cz9n+d_E6BWV|y^Dg-0PT@HK`aaRK z4Pab%)3-fFTOk%f&fjahJ51lH8|qdS(eBZ#E^z`G2b3Rmbsq8BJH)ZWM$Rk7hSZ-j zd5w;-r#{4tS0VnC@H3mrZ!~f+reQ3u5;^cq{$}Fk5N|MYTJWz>Drc2*mnnwM^A)4N z!Ds4>KQ}vfgYvW){tn~k6OH^u#^2k3r zBRWl$oH-(BFwM z4kTT%tpsEDNwvv-Gk;5FT$V;ToP!~r^g4Hw)OGz)A9rlvya@ht*vLWOXK39sQDy@F zQTd75`3T118nFX0Y^d!fCu6&*u}@0=0&M>8u(|lQ$MEgot1HYo0ya^5x<`#}5)<;g zf3`2v!Q+<=|8WyT8e-k#@=S;P_0U=T#ACD@Vh-#XFm(8|j>TT*UR3+ou~=ekxLV|+ zPi~{=M%;;?B(&}e2A__YxrEj?ls{Qycw`RdasM*8J!`A*3E-8|F8nl69pKx^I?;jr zqL1fCOrihh$^Qkx>aT;}v7<0tWp`rCT1c_wB0 z6mJ5qhiVW172Ebi;2^ ze4d83DiUuJI_AB5Oz6Zv6#CDAUl%&@J29RlqcWahm%#oPWIP_P7WzuiCB6+K?u~2s zR3z@{(lC~RnjgoY&BDP)@3}yah^&a$ap-44uNN< z@GJxm`b?V)C+?5ecPaHLfZhZ8Tf##OJLtN)3iVXCstbhw0M;jygr8V+9{zLS*+M5? z8sof<(TIt#v+#Hfo_~^l`Sm~a8G*T?>p+i>X6=r^Z-qKu!~^^azN*)fdM+OE9C*-Y z_T6JS$NB%;pbbfX4LtDM;D=wz+NyzVlV>s>k55K_OMWFhEwB~zrJNdKwuN#H*M7GM zowyBec9TA)kH$4v`h@WB2hTp?C&oNg{wmb-GT($f&letI_(LAYxK%xz@r;}RO#Pvc z#~2$uZ&pEn<{;z1e|3G7Q~e343w^5*hkadQW4CJfv&O*cuBd-DXaeY!87h@Ek4b=0CTZKmxM1RI%jqPrSiQ&-gRpkMHsJqqFebUt3YwDui zu!e7mYge8_e**ja?Pg%u({HyJjIp>_+l6l7y!=FFlhNm*#xt2sJU(dJ9cAR7XJk$? z7{i*v`6XNBR1KEdYAF*fpfP1Ql;`RLt{bGyhS zUM>2+2D~9&gXlf3(WG;ZP#>&|_{^2phxoAJ2VZFGOr$60XLW1G!~T=9x*kt8JQzo< z%e7g!KRM2<`OEq>Q|+*9h_&mSIDh%v>+8x7|JU;i{V=S17Z@9Y9@aBEjNhJc?o%Qs zLHG5Z4A+)Hf5;iBJZ;85yUexoqj=M&^6WQtXLcB$FXW^>|+)5 z4?LYwChvuvEB(sV7>suHoSs_~*L%4~W4k%%puU=WC9XGeCu6(0GqK$~+VMVsG0Y>z zdLJN$9K9aTAH%sy^vR!!IuwdgexVfQ7n%)TWH4;5{!rK&`&)o-sNJe-qyE*9qp_Fg zR;^pT!nqToPxXfA+njg*CUjn7s%?3n*cRKe6O5Y8v^g}XU527}& zFF>y)K5ouO^N@Na`Xp$}kMCa0am-)OPu$_$&y{DZsS98Fn$ovRU7Vv5=-}%TA2a+X z4F8+L|KH&Gjqn4fOU!jgTdbR|iFMPBS=}*{!M`c1>+uf!ye0bh`>U`Ce{V|nWjr45 zckaKG=Va_V=b&B}RQ158g{KOA)ZZ7Xo{@Gxh4r(Xug4G{#p8Nn|EgDk#r`?SpgqUH z=DG7lPvVByRu1E??dH&5ojbWcL&q4XopaBMOthb4Oh#K{fb+F+U7Ei!>XXM>OZCa$ zVz9Aoep~eCJlfTHl*e3qTkMcWAAMi`18t#?zFp!|hW~WbndVSG=iL8=$Z^1LDK5pe zE7z#nE@OVc@IBRmxvYT>e^Z;gFU5YjCk*b7@rUy?)P*00^TMTBzs7zH3eV2^s@ZvBWEd zeiJbLpLF7GW1q)_XDjHigXbYW5a%!N$*aH7ChAxIdKrT@_8Z`TOX>nAO(OFjfv*ud z@zOXilC~%_SrcU@)RQuQ4St!Y9)B~VpEC~hLzzsEp^y4M*SEn|XUuqwHRF!@;djzW zX53qx`;CrEhgnCVYZJIQ;s*O&rx-ptLNUhZYQ?qAeOz%J)@F)PcNegKzcTnez5z19 zNCzE)fiybGy*!@L9#sf3#xgGe$A= zzfCc8JI7-@$hCIk`e}DhFJ;?|nN5weX3UvA`?6ALMq^{6`J6qw8Kveq_~h0$eDifn z7AC2RggSVywg04QeoLV{HuMZz1F}Ac;a%9r`EKl&?r=5T|8qrG_vZ0ke{z?r?S0VI z@}2TMcOj`faTEPJ-FLc%Z7;d%D|(#ksdl-|coGBe3Ewd1srW8%ydQhTLs#PAWb$BU z@ICkQ@ecXTJ&VZOvIsX;rsEiB&C_@K?{T}XcDcUsF4sLQt$PmN;3@v)Pw^1>m97qQ zs{DK5Kkn-AZtar11K!EI++W7K+#9Jgbez}y`pm8#-1?l?ws}fh`*)JfJ>%GB-}Fq+ zy6F#xW7p6BzS{=;CGLuHJ`S19VF84*Q0A$FpR> zUf63+pG*9^$q$0|Gu-V-p!W}8JJ=n2J@#>|Hx)XyY;ogyKx5xwqZ(;<65m}99)z%K zuf4p~fHx7XU)#BK>9u$x(}p|oddgB$^W;+VwAuJK?ho|hp7;;ynMbwq{ZbYFRXjTy z|LL2myw45SW$-ZEbP@i{t72t!#0kO&EBI|FzDsbli2c3zV2MHPzThQiADI7s!(3(@ z(JkKvgqY+Qdr0Sw`N*~A0C}fS?#Hg1%D5H;#en%}4(d9;DbTLH|zH)6+@9Kgp# z9%dgr#(fNS?JG&}c;ie$=cb%JJN=72#4Cuw z=ca$Lk8y1Y>vgwXbia>x7rOdxw6e_oWYZeZact^Ci1m~^zq{I9rre6#FYzT#>T zkEbd>;$m%gRaF=2xb9WsyBLp&Ke{+6qwn7X#|QCSbqMh6^}S6MLT6>p|5qq=zfZCB zNt#(U^-<12#f0#2uA2tM(%V2|JW)UI2d=@co65Ka1jU4};e&kieb(hMmN#RkyhiNY zj$wZvvDBRf-!@i|O=BFtO)RZigEDnwEG=SZyS3OES4}MSE{gdZHkB6$0s{R*ilsq5 zlu?^{n#4{%Wg1vq{P5(1o4D56z9Alg-J?IwK zJyLYZ=dn)y-O7FWx5u-zw2cQh=aTw-HWE>U&a(-^2W$ClD8AojZP_NW`NcWLjq^+~VJ|+$VP_m6ojc># za_qJrJ5UaD6j){8S;T+|_u^w7cFMEy@P3pjuL(Q1gV@y;EE99zCf|+t=Jo^Z7kQL@ zC|}tc)SbZLzbNBlk^DAp_Mm(aJNx)9YtUQ^jxWWo8|75m0{wRsH-ipv9O_Ryb7Sr? z$AtdkH;J3Gq{!S>#7PN0Axc)9FRiWZo%eU#+1k;0Piw0Nz)DjFvSHid9A|EbZ^P9u zfUA{03Rvmq8#>m@f!?6&P@mV=x)Q07h{}kP?;Rg!e312H=2sdYM<5w^!r9ljhMe<| zt9faczxJKl{o)j^-x6G(-;ZnS5^zfouB|tJ^*_5dAO1zxk|Q&=@HqCGs}JI7-PfJ# z;dS*x_I|?Ie$vQ?HDLppqmo_WKmqI_PY&sb7`HwKX`t z47<*8@^Q{D!Ol6WacB>)$^Z;;=r+Nbzu?CMl;2Mr`Umi>!mgXf2Y#D4l%7QSICeP0 zyRF}#!(EkUO0>lXb diff --git a/source/menu.cpp b/source/menu.cpp index 6e346e4e..b630df97 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -216,13 +216,13 @@ int MainMenu(int menu) currentMenu = MenuInstall(); break; case MENU_SETTINGS: - currentMenu = GlobalSettings::Show(); + currentMenu = GlobalSettings::Execute(); break; case MENU_THEMEMENU: - currentMenu = ThemeMenu::Run(); + currentMenu = ThemeMenu::Execute(); break; case MENU_THEMEDOWNLOADER: - currentMenu = ThemeDownloader::Run(); + currentMenu = ThemeDownloader::Execute(); break; case MENU_HOMEBREWBROWSE: currentMenu = HomebrewBrowser::Execute(); diff --git a/source/menu/GameBrowseMenu.cpp b/source/menu/GameBrowseMenu.cpp index c4ac2568..67432895 100644 --- a/source/menu/GameBrowseMenu.cpp +++ b/source/menu/GameBrowseMenu.cpp @@ -59,8 +59,7 @@ GameBrowseMenu::GameBrowseMenu() GameIDTxt = NULL; GameRegionTxt = NULL; WDVD_GetCoverStatus(&DiscDriveCoverOld); - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); HDDSizeCallback.SetCallback(this, &GameBrowseMenu::UpdateFreeSpace); btnInstall = Resources::GetImageData("button_install.png"); @@ -763,7 +762,7 @@ void GameBrowseMenu::ReloadBrowser() if (show_searchwindow) { - searchBar = new GuiSearchBar(gameList.GetAvailableSearchChars()); + searchBar = new GuiSearchBar; mainWindow->Append(searchBar); } @@ -842,8 +841,7 @@ int GameBrowseMenu::MainLoop() gprintf("\tLoading font...%s\n", Theme::LoadFont(Settings.theme_path) ? "done" : "failed (using default)"); gprintf("\tLoading theme...%s\n", Theme::Load(Settings.theme) ? "done" : "failed (using default)"); bgMusic->Resume(); - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); ResumeGui(); sdcardBtn->ResetState(); @@ -879,13 +877,12 @@ int GameBrowseMenu::MainLoop() else Settings.GameSort |= SORT_FAVORITE; - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); if((Settings.GameSort & SORT_FAVORITE) && gameList.size() == 0) { Settings.GameSort &= ~SORT_FAVORITE; - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ShowError(tr("No favorites selected.")); } else @@ -896,8 +893,7 @@ int GameBrowseMenu::MainLoop() { gprintf("\tsearchBtn Clicked\n"); show_searchwindow = !show_searchwindow; - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); searchBtn->ResetState(); if(show_searchwindow && wcslen(gameList.GetCurrentFilter()) == 0) @@ -908,39 +904,13 @@ int GameBrowseMenu::MainLoop() { if (searchChar > 27) //! Character clicked { - for(;;) - { - int len = wcslen(gameList.GetCurrentFilter()); - wchar_t newFilter[len + 2]; - wcscpy(newFilter, gameList.GetCurrentFilter()); - newFilter[len] = searchChar; - newFilter[len + 1] = 0; + int len = gameList.GetCurrentFilter() ? wcslen(gameList.GetCurrentFilter()) : 0; + wchar_t newFilter[len + 2]; + if (gameList.GetCurrentFilter()) wcscpy(newFilter, gameList.GetCurrentFilter()); + newFilter[len] = searchChar; + newFilter[len + 1] = 0; - gameList.FilterList(newFilter); - if(gameList.GetAvailableSearchChars().size() != 1) - break; - searchChar = *gameList.GetAvailableSearchChars().begin(); - } - bool autoClose = false; - switch(Settings.gameDisplay) - { - case LIST_MODE: - autoClose = gameList.size()<=9; - break; - case CAROUSEL_MODE: - autoClose = gameList.size()<=5; - break; - case GRID_MODE: - autoClose = gameList.size()<=3; - default: - break; - } - - if(autoClose) // Close Searchwindow when less than 5 Games found - { - show_searchwindow = false; - searchBtn->StopEffect(); - } + gameList.FilterList(newFilter); } else if (searchChar == 27) //! Close { @@ -956,16 +926,16 @@ int GameBrowseMenu::MainLoop() { int len = wcslen(gameList.GetCurrentFilter()); wchar_t newFilter[len + 1]; - wcscpy(newFilter, gameList.GetCurrentFilter()); - int old_game_count = gameList.size(); - for(; len > 0; len--) - { - newFilter[len - 1] = 0; // remove last char - if(len == 1) - Settings.gridRows = GridRowsPreSearch; //! restore old rows amount so we don't stay on one row - if(gameList.FilterList(newFilter) != old_game_count) - break; - } + if (gameList.GetCurrentFilter()) wcscpy(newFilter, gameList.GetCurrentFilter()); + newFilter[len > 0 ? len - 1 : 0] = 0; + gameList.FilterList(newFilter); + if(len == 1) + Settings.gridRows = GridRowsPreSearch; //! restore old rows amount so we don't stay on one row + } + else if (searchChar == 6) + { + Settings.SearchMode = Settings.SearchMode == SEARCH_BEGINNING ? SEARCH_CONTENT : SEARCH_BEGINNING; + gameList.FilterList(); } ReloadBrowser(); return MENU_NONE; @@ -996,8 +966,7 @@ int GameBrowseMenu::MainLoop() Settings.GameSort |= SORT_ABC; } - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); } @@ -1065,8 +1034,7 @@ int GameBrowseMenu::MainLoop() if(WindowPrompt(tr( "Parental Control" ), tr( "Are you sure you want to lock USB Loader GX?" ), tr( "Yes" ), tr( "No" )) == 1) { Settings.godmode = 0; - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); } } @@ -1081,8 +1049,7 @@ int GameBrowseMenu::MainLoop() if(result == 1) WindowPrompt( tr( "Correct Password" ), tr( "All the features of USB Loader GX are unlocked." ), tr( "OK" )); Settings.godmode = 1; - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); } else if(result < 0) @@ -1115,8 +1082,7 @@ int GameBrowseMenu::MainLoop() mainWindow->SetState(STATE_DEFAULT); if(promptMenu.categoriesChanged()) { - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); ReloadBrowser(); } } diff --git a/source/patches/gamepatches.c b/source/patches/gamepatches.c index c494e0b8..ac2d2529 100644 --- a/source/patches/gamepatches.c +++ b/source/patches/gamepatches.c @@ -57,8 +57,6 @@ void gamepatches(u8 videoSelected, u8 languageChoice, u8 patchcountrystring, es_fd = IOS_Open(es_fs, 0); int i; - load_wip_code((u8*) Disc_ID); - /* If a wip file is loaded for this game this does nothing - Dimok */ PoPPatch(); NSMBPatch(); diff --git a/source/patches/patchcode.c b/source/patches/patchcode.c index 4592a0be..a13c02cc 100644 --- a/source/patches/patchcode.c +++ b/source/patches/patchcode.c @@ -44,6 +44,8 @@ static int code_size = 0; static u32 gameconfsize = 0; static u32 *gameconf = NULL; +static u32 tempgameconfsize = 0; +static u8 *tempgameconf = NULL; extern void patchhook(u32 address, u32 len); @@ -342,70 +344,29 @@ void app_pokevalues() } //--------------------------------------------------------------------------------- -static void app_loadgameconfig(const char *CheatFilepath) +static void app_loadgameconfig() //--------------------------------------------------------------------------------- { - gameconfsize = 0; - if (gameconf == NULL) { gameconf = (u32*) malloc(65536); if (gameconf == NULL) return; } - - FILE* fp; const char *discid = (const char *) Disc_ID; + if(!tempgameconf) + { + tempgameconf = (u8 *) defaultgameconfig; + tempgameconfsize = defaultgameconfig_size; + } + u32 ret; - u32 filesize; s32 gameidmatch, maxgameidmatch = -1, maxgameidmatch2 = -1; u32 i, numnonascii, parsebufpos; u32 codeaddr, codeval, codeaddr2, codeval2, codeoffset; u32 temp, tempoffset = 0; char parsebuffer[18]; - u8 *tempgameconf = (u8 *) defaultgameconfig; - u32 tempgameconfsize = defaultgameconfig_size; - - char filepath[200]; - snprintf(filepath, sizeof(filepath), "%s/gameconfig.txt", CheatFilepath); - - fp = fopen(filepath, "rb"); - - if (!fp) - { - snprintf(filepath, sizeof(filepath), "sd:/gameconfig.txt"); - fp = fopen(filepath, "rb"); - - for(i = 1; i <= 8; ++i) - { - if(fp) break; - - snprintf(filepath, sizeof(filepath), "usb%i:/gameconfig.txt", i); - fp = fopen(filepath, "rb"); - } - } - - if (fp) - { - fseek(fp, 0, SEEK_END); - filesize = ftell(fp); - fseek(fp, 0, SEEK_SET); - - tempgameconf = (u8*) malloc(filesize); - if (tempgameconf == NULL) - return; - - ret = fread((void*) tempgameconf, 1, filesize, fp); - fclose(fp); - if (ret != filesize) - { - free(tempgameconf); - return; - } - tempgameconfsize = filesize; - } - // Remove non-ASCII characters numnonascii = 0; for (i = 0; i < tempgameconfsize; i++) @@ -582,7 +543,7 @@ static void app_loadgameconfig(const char *CheatFilepath) } //--------------------------------------------------------------------------------- -void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pauseAtStart) +void load_handler(u32 hooktype, u32 debugger, u32 pauseAtStart) //--------------------------------------------------------------------------------- { if (hooktype != 0x00) @@ -590,7 +551,7 @@ void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pa if (debugger == 0x01) codelist = (u8 *) 0x800028B8; codelistend = (u8 *) 0x80003000; - app_loadgameconfig(gameconfigPath); + app_loadgameconfig(); if (debugger == 0x01) { @@ -707,6 +668,60 @@ void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pa } } +static int LoadGameConfig(const char *CheatFilepath) +{ + int filesize = 0; + tempgameconf = (u8 *) defaultgameconfig; + tempgameconfsize = defaultgameconfig_size; + gameconfsize = 0; + + FILE* fp; + char filepath[200]; + snprintf(filepath, sizeof(filepath), "%s/gameconfig.txt", CheatFilepath); + + fp = fopen(filepath, "rb"); + + if (!fp) + { + snprintf(filepath, sizeof(filepath), "sd:/gameconfig.txt"); + fp = fopen(filepath, "rb"); + int i; + for(i = 1; i <= 8; ++i) + { + if(fp) break; + + snprintf(filepath, sizeof(filepath), "usb%i:/gameconfig.txt", i); + fp = fopen(filepath, "rb"); + } + } + + if (!fp) + return 0; + + fseek(fp, 0, SEEK_END); + filesize = ftell(fp); + fseek(fp, 0, SEEK_SET); + + tempgameconf = (u8*) malloc(filesize); + if (tempgameconf == NULL) { + fclose(fp); + return -1; + } + + int ret = fread((void*) tempgameconf, 1, filesize, fp); + + fclose(fp); + + if (ret != filesize) + { + free(tempgameconf); + return -1; + } + tempgameconfsize = filesize; + + return 0; +} + int ocarina_load_code(const char *CheatFilepath) { char filepath[150]; @@ -765,6 +780,8 @@ int ocarina_load_code(const char *CheatFilepath) gprintf("Ocarina: Codes found.\n"); + LoadGameConfig(CheatFilepath); + return code_size; } diff --git a/source/patches/patchcode.h b/source/patches/patchcode.h index 1a180028..8a2f53a3 100644 --- a/source/patches/patchcode.h +++ b/source/patches/patchcode.h @@ -31,7 +31,7 @@ extern "C" // Function prototypes void dogamehooks(u32 hooktype, void *addr, u32 len); -void load_handler(const char *gameconfigPath, u32 hooktype, u32 debugger, u32 pauseAtStart); +void load_handler(u32 hooktype, u32 debugger, u32 pauseAtStart); void langpatcher(void *addr, u32 len, u8 languageChoice); void vidolpatcher(void *addr, u32 len); void patchdebug(void *addr, u32 len); diff --git a/source/prompts/GameWindow.cpp b/source/prompts/GameWindow.cpp index 99464ea8..b8c95705 100644 --- a/source/prompts/GameWindow.cpp +++ b/source/prompts/GameWindow.cpp @@ -174,7 +174,8 @@ GameWindow::GameWindow(int Selected) if (!mountMethod)//stuff we don't show if it is a DVD mounted { Append(nameBtn); - Append(sizeTxt); + if(Settings.LoaderMode != LOAD_CHANNELS) + Append(sizeTxt); Append(btnLeft); Append(btnRight); for(int i = 0; i < FAVORITE_STARS; ++i) @@ -411,13 +412,14 @@ void GameWindow::SetWindowEffect(int direction, int in_out) void GameWindow::ChangeGame(int EffectDirection) { struct discHdr * header = (mountMethod ? dvdheader : gameList[gameSelected]); - LoadGameSound(header->id); + if(Settings.LoaderMode != LOAD_CHANNELS) + LoadGameSound(header->id); // Temporary no sounds for channels, will be added later LoadDiscImage(header->id); SetWindowEffect(EffectDirection, OUT); HaltGui(); - if (!mountMethod) + if (!mountMethod && Settings.LoaderMode != LOAD_CHANNELS) { float size = 0.0f; WBFS_GameSize(header->id, &size); @@ -486,7 +488,7 @@ int GameWindow::MainLoop() ResumeGui(); wiilight(0); - int settret = GameSettingsMenu::Show(browserMenu, mountMethod ? dvdheader : gameList[gameSelected]); + int settret = GameSettingsMenu::Execute(browserMenu, mountMethod ? dvdheader : gameList[gameSelected]); SetEffect(EFFECT_SLIDE_TOP | EFFECT_SLIDE_IN, 50); if(parentElement) diff --git a/source/prompts/TitleBrowser.cpp b/source/prompts/TitleBrowser.cpp index 0d1825a0..e57d769d 100644 --- a/source/prompts/TitleBrowser.cpp +++ b/source/prompts/TitleBrowser.cpp @@ -26,6 +26,8 @@ #include "../usbloader/utils.h" #include "../gecko.h" +#include "Controls/DeviceHandler.hpp" +#include "usbloader/NandEmu.h" extern u8 shutdown; extern u8 reset; @@ -199,7 +201,6 @@ bool TitleSelector(char output[]) int TitleBrowser() { - u32 num_titles; u32 num_sys_titles; s32 ret = -1; diff --git a/source/settings/CGameCategories.cpp b/source/settings/CGameCategories.cpp index 76dde7bf..4ae9f23d 100644 --- a/source/settings/CGameCategories.cpp +++ b/source/settings/CGameCategories.cpp @@ -300,7 +300,7 @@ void CGameCategories::RemoveCategory(const char *gameID, unsigned int id) if(!gameID) return; string gameID6; - for(int i = 0; i < 6; ++i) + for(int i = 0; i < 6 && gameID[i] != 0; ++i) gameID6.push_back(gameID[i]); RemoveCategory(gameID6, id); @@ -333,7 +333,7 @@ bool CGameCategories::isInCategory(const char *gameID, unsigned int id) if(!gameID) return false; string gameID6; - for(int i = 0; i < 6; ++i) + for(int i = 0; i < 6 && gameID[i] != 0; ++i) gameID6.push_back(gameID[i]); for (map >::iterator itr = GameCategories.List.begin(); itr != GameCategories.List.end(); itr++) diff --git a/source/settings/CGameSettings.cpp b/source/settings/CGameSettings.cpp index cab07495..d6793c5d 100644 --- a/source/settings/CGameSettings.cpp +++ b/source/settings/CGameSettings.cpp @@ -383,7 +383,7 @@ void CGameSettings::ParseLine(char *line) if(!ReadGameID(line, GameID, 6)) return; - if(strlen(GameID) != 6) + if(strlen(GameID) != 6 && strlen(GameID) != 4) return; GameCFG NewCFG; diff --git a/source/settings/CGameStatistics.cpp b/source/settings/CGameStatistics.cpp index eb6e4818..2d6abb2c 100644 --- a/source/settings/CGameStatistics.cpp +++ b/source/settings/CGameStatistics.cpp @@ -217,7 +217,7 @@ void CGameStatistics::ParseLine(char *line) if(!ReadGameID(line, GameID, 6)) return; - if(strlen(GameID) != 6) + if(strlen(GameID) != 6 && strlen(GameID) != 4) return; GameStatus NewGame; diff --git a/source/settings/CSettings.cpp b/source/settings/CSettings.cpp index f7f6283a..781af6da 100644 --- a/source/settings/CSettings.cpp +++ b/source/settings/CSettings.cpp @@ -71,6 +71,7 @@ void CSettings::SetDefault() snprintf(theme_path, sizeof(theme_path), "%stheme/", ConfigPath); snprintf(dolpath, sizeof(dolpath), "%s/", BootDevice); snprintf(NandEmuPath, sizeof(NandEmuPath), "%s/nand/", BootDevice); + strcpy(NandEmuChanPath, NandEmuPath); strcpy(theme, ""); strcpy(language_path, ""); strcpy(ogg_path, ""); @@ -128,12 +129,15 @@ void CSettings::SetDefault() GameListOffset = 0; sneekVideoPatch = OFF; NandEmuMode = OFF; + NandEmuChanMode = OFF; UseSystemFont = ON; Hooktype = 0; WiirdDebugger = OFF; WiirdDebuggerPause = OFF; ShowPlayCount = ON; RememberUnlock = ON; + LoaderMode = LOAD_GAMES; + SearchMode = SEARCH_BEGINNING; } bool CSettings::Load() @@ -296,11 +300,15 @@ bool CSettings::Save() fprintf(file, "sneekVideoPatch = %d\n", sneekVideoPatch); fprintf(file, "NandEmuMode = %d\n", NandEmuMode); fprintf(file, "NandEmuPath = %s\n", NandEmuPath); + fprintf(file, "NandEmuChanMode = %d\n", NandEmuChanMode); + fprintf(file, "NandEmuChanPath = %s\n", NandEmuChanPath); fprintf(file, "UseSystemFont = %d\n", UseSystemFont); fprintf(file, "Hooktype = %d\n", Hooktype); fprintf(file, "WiirdDebugger = %d\n", WiirdDebugger); fprintf(file, "WiirdDebuggerPause = %d\n", WiirdDebuggerPause); fprintf(file, "ShowPlayCount = %d\n", ShowPlayCount); + fprintf(file, "LoaderMode = %d\n", LoaderMode); + fprintf(file, "SearchMode = %d\n", SearchMode); fclose(file); return true; @@ -610,6 +618,18 @@ bool CSettings::SetSetting(char *name, char *value) { if (sscanf(value, "%d", &i) == 1) NandEmuMode = i; } + else if(strcmp(name, "NandEmuChanMode") == 0) + { + if (sscanf(value, "%d", &i) == 1) NandEmuChanMode = i; + } + else if(strcmp(name, "LoaderMode") == 0) + { + if (sscanf(value, "%d", &i) == 1) LoaderMode = i; + } + else if(strcmp(name, "SearchMode") == 0) + { + if (sscanf(value, "%d", &i) == 1) SearchMode = i; + } else if (strcmp(name, "InstallPartitions") == 0) { InstallPartitions = strtoul(value, 0, 16); @@ -735,6 +755,11 @@ bool CSettings::SetSetting(char *name, char *value) strcpy(NandEmuPath, value); return true; } + else if (strcmp(name, "NandEmuChanPath") == 0) + { + strcpy(NandEmuChanPath, value); + return true; + } else if (strcmp(name, "EnabledCategories") == 0) { EnabledCategories.clear(); diff --git a/source/settings/CSettings.h b/source/settings/CSettings.h index 5dc0f7eb..82db6ddf 100644 --- a/source/settings/CSettings.h +++ b/source/settings/CSettings.h @@ -75,6 +75,7 @@ class CSettings char WDMpath[100]; char WiinnertagPath[100]; char NandEmuPath[50]; + char NandEmuChanPath[50]; short videomode; short language; short ocarina; @@ -128,12 +129,15 @@ class CSettings std::vector EnabledCategories; u8 EntryIOS; short NandEmuMode; + short NandEmuChanMode; short UseSystemFont; short Hooktype; short WiirdDebugger; short WiirdDebuggerPause; short ShowPlayCount; short RememberUnlock; + short LoaderMode; + short SearchMode; protected: bool ValidVersion(FILE * file); bool SetSetting(char *name, char *value); diff --git a/source/settings/GameTitles.cpp b/source/settings/GameTitles.cpp index 04bbf81f..8031be5b 100644 --- a/source/settings/GameTitles.cpp +++ b/source/settings/GameTitles.cpp @@ -2,6 +2,7 @@ #include "GameTitles.h" #include "CSettings.h" #include "usbloader/GameList.h" +#include "Channels/channels.h" #include "xml/GameTDB.hpp" CGameTitles GameTitles; @@ -38,10 +39,6 @@ const char * CGameTitles::GetTitle(const char * id) const return TitleList[i].Title.c_str(); } - //! Since not found in the GameTDB search in the game header for a title - if(gameList.GameCount() != gameList.size()) - gameList.LoadUnfiltered(); - for(int i = 0; i < gameList.size(); ++i) { if(strncasecmp(id, (char *) gameList[i]->id, 6) == 0) @@ -178,15 +175,21 @@ void CGameTitles::WriteCachedTitles(const char * path) void CGameTitles::RemoveUnusedCache(std::vector &MissingTitles) { + std::vector &FullList = gameList.GetFullGameList(); + if(FullList.empty()) + gameList.ReadGameList(); + + std::vector &ChanList = Channels::Instance()->GetDiscHeaderList(); + std::vector UsedCachedList(TitleList.size(), false); - for(int i = 0; i < gameList.GameCount(); ++i) + for(u32 i = 0; i < FullList.size(); ++i) { bool isCached = false; for(u32 n = 0; n < TitleList.size(); ++n) { - if(strncasecmp(TitleList[n].GameID, (const char *) gameList[i]->id, 6) == 0) + if(strncasecmp(TitleList[n].GameID, (const char *) FullList[i].id, 6) == 0) { UsedCachedList[n] = true; isCached = true; @@ -197,7 +200,29 @@ void CGameTitles::RemoveUnusedCache(std::vector &MissingTitles) if(!isCached) { char gameID[7]; - snprintf(gameID, sizeof(gameID), (const char *) gameList[i]->id); + snprintf(gameID, sizeof(gameID), (const char *) FullList[i].id); + MissingTitles.push_back(std::string(gameID)); + } + } + + for(u32 i = 0; i < ChanList.size(); ++i) + { + bool isCached = false; + + for(u32 n = 0; n < TitleList.size(); ++n) + { + if(strncasecmp(TitleList[n].GameID, (const char *) ChanList[i].id, 4) == 0) + { + UsedCachedList[n] = true; + isCached = true; + break; + } + } + + if(!isCached) + { + char gameID[7]; + snprintf(gameID, sizeof(gameID), (const char *) ChanList[i].id); MissingTitles.push_back(std::string(gameID)); } } diff --git a/source/settings/SettingsEnums.h b/source/settings/SettingsEnums.h index 896a74f6..6686cfb6 100644 --- a/source/settings/SettingsEnums.h +++ b/source/settings/SettingsEnums.h @@ -9,6 +9,12 @@ enum AUTO = 2 }; +enum +{ + LOAD_GAMES = 0, + LOAD_CHANNELS = 1 +}; + enum { JAPANESE, @@ -195,4 +201,11 @@ enum HOME_MENU_MAX_CHOICE, }; +enum +{ + SEARCH_BEGINNING, + SEARCH_CONTENT, + SEARCH_MAX_CHOICE +}; + #endif diff --git a/source/settings/menus/CustomPathsSM.cpp b/source/settings/menus/CustomPathsSM.cpp index 164ac4c9..24121e16 100644 --- a/source/settings/menus/CustomPathsSM.cpp +++ b/source/settings/menus/CustomPathsSM.cpp @@ -22,10 +22,12 @@ * distribution. ***************************************************************************/ #include +#include "Channels/channels.h" #include "Controls/DeviceHandler.hpp" #include "CustomPathsSM.hpp" #include "settings/SettingsPrompts.h" #include "settings/CSettings.h" +#include "settings/SettingsEnums.h" #include "prompts/PromptWindows.h" #include "language/gettext.h" #include "prompts/filebrowser.h" @@ -53,6 +55,7 @@ CustomPathsSM::CustomPathsSM() Options->SetName(Idx++, tr("WDM Files Path")); Options->SetName(Idx++, tr("Wiinnertag Path")); Options->SetName(Idx++, tr("Nand Emu Path")); + Options->SetName(Idx++, tr("Nand Emu Channel Path")); SetOptionValues(); } @@ -111,6 +114,9 @@ void CustomPathsSM::SetOptionValues() //! Settings: Nand Emu Path Options->SetValue(Idx++, Settings.NandEmuPath); + + //! Settings: Nand Emu Channel Path + Options->SetValue(Idx++, Settings.NandEmuChanPath); } int CustomPathsSM::GetMenuInternal() @@ -249,6 +255,25 @@ int CustomPathsSM::GetMenuInternal() } } + //! Settings: Nand Emu Channel Path + else if (ret == ++Idx) + { + char oldPath[sizeof(Settings.NandEmuChanPath)]; + snprintf(oldPath, sizeof(oldPath), Settings.NandEmuChanPath); + + titleTxt->SetText(tr( "Nand Emu Channel Path" )); + ChangePath(Settings.NandEmuChanPath, sizeof(Settings.NandEmuChanPath)); + if(strncasecmp(DeviceHandler::PathToFSName(Settings.NandEmuChanPath), "FAT", 3) != 0) + { + snprintf(Settings.NandEmuChanPath, sizeof(Settings.NandEmuChanPath), oldPath); + WindowPrompt(tr("Error:"), tr("Nand Emulation only works on FAT/FAT32 partitions!"), tr("OK")); + } + else if(Settings.NandEmuChanMode != OFF) + { + Channels::Instance()->GetEmuChannelList(); + } + } + //! Global set back of the titleTxt after a change titleTxt->SetText(tr( "Custom Paths" )); SetOptionValues(); diff --git a/source/settings/menus/GUISettingsMenu.cpp b/source/settings/menus/GUISettingsMenu.cpp index 5fe9b608..d384b8c9 100644 --- a/source/settings/menus/GUISettingsMenu.cpp +++ b/source/settings/menus/GUISettingsMenu.cpp @@ -96,6 +96,12 @@ static const char * HomeMenuText[HOME_MENU_MAX_CHOICE] = trNOOP( "Default" ) }; +static const char * searchModeText[] = +{ + trNOOP( "Beginning" ), + trNOOP( "Content" ), +}; + GuiSettingsMenu::GuiSettingsMenu() : SettingsMenu(tr("GUI Settings"), &GuiOptions, MENU_NONE) { @@ -116,6 +122,7 @@ GuiSettingsMenu::GuiSettingsMenu() Options->SetName(Idx++, "%s", tr( "Show Free Space" )); Options->SetName(Idx++, "%s", tr( "HOME Menu" )); Options->SetName(Idx++, "%s", tr( "Use System Font" )); + Options->SetName(Idx++, "%s", tr( "Search Mode" )); SetOptionValues(); } @@ -183,6 +190,9 @@ void GuiSettingsMenu::SetOptionValues() //! Settings: Use System Font Options->SetValue(Idx++, "%s", tr( OnOffText[Settings.UseSystemFont] )); + + //! Settings: Search Mode + Options->SetValue(Idx++, "%s", tr( searchModeText[Settings.SearchMode] )); } int GuiSettingsMenu::GetMenuInternal() @@ -359,6 +369,12 @@ int GuiSettingsMenu::GetMenuInternal() Settings.FontScaleFactor = 1.0f; } + //! Settings: Search Mode + else if (ret == ++Idx) + { + if (++Settings.SearchMode >= SEARCH_MAX_CHOICE) Settings.SearchMode = 0; + } + SetOptionValues(); return MENU_NONE; diff --git a/source/settings/menus/GameSettingsMenu.cpp b/source/settings/menus/GameSettingsMenu.cpp index e817455b..4471fa46 100644 --- a/source/settings/menus/GameSettingsMenu.cpp +++ b/source/settings/menus/GameSettingsMenu.cpp @@ -47,7 +47,7 @@ GameSettingsMenu::~GameSettingsMenu() { } -int GameSettingsMenu::Show(GameBrowseMenu *parent, struct discHdr * header) +int GameSettingsMenu::Execute(GameBrowseMenu *parent, struct discHdr * header) { GameSettingsMenu * Menu = new GameSettingsMenu(parent, header); mainWindow->Append(Menu); @@ -124,8 +124,7 @@ void GameSettingsMenu::CreateSettingsMenu(int menuNr) mainWindow->Remove(&promptMenu); if(promptMenu.categoriesChanged()) { - wString oldFilter(gameList.GetCurrentFilter()); - gameList.FilterList(oldFilter.c_str()); + gameList.FilterList(); browserMenu->ReloadBrowser(); } mainWindow->SetState(STATE_DEFAULT); diff --git a/source/settings/menus/GameSettingsMenu.hpp b/source/settings/menus/GameSettingsMenu.hpp index f59cc7a2..683f9abf 100644 --- a/source/settings/menus/GameSettingsMenu.hpp +++ b/source/settings/menus/GameSettingsMenu.hpp @@ -34,7 +34,7 @@ class GameSettingsMenu : public FlyingButtonsMenu public: GameSettingsMenu(GameBrowseMenu *parent, struct discHdr * header); virtual ~GameSettingsMenu(); - static int Show(GameBrowseMenu *parent, struct discHdr *header); + static int Execute(GameBrowseMenu *parent, struct discHdr *header); protected: virtual void CreateSettingsMenu(int index); virtual void DeleteSettingsMenu(); diff --git a/source/settings/menus/GlobalSettings.cpp b/source/settings/menus/GlobalSettings.cpp index 5573b936..8f13fb24 100644 --- a/source/settings/menus/GlobalSettings.cpp +++ b/source/settings/menus/GlobalSettings.cpp @@ -49,7 +49,7 @@ GlobalSettings::~GlobalSettings() delete creditsImgOverData; } -int GlobalSettings::Show() +int GlobalSettings::Execute() { GlobalSettings * Menu = new GlobalSettings(); mainWindow->Append(Menu); diff --git a/source/settings/menus/GlobalSettings.hpp b/source/settings/menus/GlobalSettings.hpp index aa4b11f2..fee461ec 100644 --- a/source/settings/menus/GlobalSettings.hpp +++ b/source/settings/menus/GlobalSettings.hpp @@ -31,7 +31,7 @@ class GlobalSettings : public FlyingButtonsMenu public: GlobalSettings(); virtual ~GlobalSettings(); - static int Show(); + static int Execute(); protected: virtual void CreateSettingsMenu(int index); virtual void DeleteSettingsMenu(); diff --git a/source/settings/menus/LoaderSettings.cpp b/source/settings/menus/LoaderSettings.cpp index a3fed7d9..aad3fab4 100644 --- a/source/settings/menus/LoaderSettings.cpp +++ b/source/settings/menus/LoaderSettings.cpp @@ -25,6 +25,7 @@ #include "LoaderSettings.hpp" #include "usbloader/usbstorage2.h" #include "settings/CSettings.h" +#include "settings/GameTitles.h" #include "prompts/PromptWindows.h" #include "language/gettext.h" #include "wad/nandtitle.h" @@ -32,6 +33,12 @@ #include "system/IosLoader.h" #include "menu.h" +static const char * dispMethText[] = +{ + trNOOP( "Games" ), + trNOOP( "Channels" ) +}; + static const char * OnOffText[] = { trNOOP( "OFF" ), @@ -97,6 +104,7 @@ LoaderSettings::LoaderSettings() { int Idx = 0; + Options->SetName(Idx++, "%s", tr( "Loader Mode" )); Options->SetName(Idx++, "%s", tr( "Video Mode" )); Options->SetName(Idx++, "%s", tr( "VIDTV Patch" )); Options->SetName(Idx++, "%s", tr( "Sneek Video Patch" )); @@ -108,18 +116,30 @@ LoaderSettings::LoaderSettings() Options->SetName(Idx++, "%s", tr( "Error 002 fix" )); Options->SetName(Idx++, "%s", tr( "Block IOS Reload" )); Options->SetName(Idx++, "%s", tr( "Return To" )); - Options->SetName(Idx++, "%s", tr( "Nand Emulation" )); + Options->SetName(Idx++, "%s", tr( "Nand Saves Emulation" )); + Options->SetName(Idx++, "%s", tr( "Nand Channel Emulation" )); Options->SetName(Idx++, "%s", tr( "Hooktype" )); Options->SetName(Idx++, "%s", tr( "Wiird Debugger" )); Options->SetName(Idx++, "%s", tr( "Debugger Paused Start" )); SetOptionValues(); + + oldLoaderMode = Settings.LoaderMode; +} + +LoaderSettings::~LoaderSettings() +{ + if(oldLoaderMode != Settings.LoaderMode) + GameTitles.LoadTitlesFromGameTDB(Settings.titlestxt_path); } void LoaderSettings::SetOptionValues() { int Idx = 0; + //! Settings: Loader Mode + Options->SetValue(Idx++, "%s", tr(dispMethText[Settings.LoaderMode])); + //! Settings: Video Mode Options->SetValue(Idx++, "%s", tr(VideoModeText[Settings.videomode])); @@ -165,6 +185,9 @@ void LoaderSettings::SetOptionValues() //! Settings: Nand Emulation Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuMode] )); + //! Settings: Nand Channel Emulation + Options->SetValue(Idx++, "%s", tr( NandEmuText[Settings.NandEmuChanMode] )); + //! Settings: Hooktype Options->SetValue(Idx++, "%s", tr( HooktypeText[Settings.Hooktype] )); @@ -184,6 +207,12 @@ int LoaderSettings::GetMenuInternal() int Idx = -1; + //! Settings: Loader Mode + if (ret == ++Idx) + { + if (++Settings.LoaderMode >= MAX_ON_OFF) Settings.LoaderMode = LOAD_GAMES; + } + //! Settings: Video Mode if (ret == ++Idx) { @@ -280,6 +309,14 @@ int LoaderSettings::GetMenuInternal() else if (++Settings.NandEmuMode >= 3) Settings.NandEmuMode = 0; } + //! Settings: Nand Channel Emulation + else if (ret == ++Idx ) + { + if(!IosLoader::IsD2X()) + WindowPrompt(tr("Error:"), tr("Nand Emulation is only available on D2X cIOS!"), tr("OK")); + else if (++Settings.NandEmuChanMode >= 3) Settings.NandEmuChanMode = 0; + } + //! Settings: Hooktype else if (ret == ++Idx ) { diff --git a/source/settings/menus/LoaderSettings.hpp b/source/settings/menus/LoaderSettings.hpp index 9385a5fd..7792f2dc 100644 --- a/source/settings/menus/LoaderSettings.hpp +++ b/source/settings/menus/LoaderSettings.hpp @@ -30,10 +30,12 @@ class LoaderSettings : public SettingsMenu { public: LoaderSettings(); + ~LoaderSettings(); protected: void SetOptionValues(); int GetMenuInternal(); + short oldLoaderMode; OptionList GuiOptions; }; diff --git a/source/themes/ThemeDownloader.cpp b/source/themes/ThemeDownloader.cpp index 9362e201..31b94ef0 100644 --- a/source/themes/ThemeDownloader.cpp +++ b/source/themes/ThemeDownloader.cpp @@ -108,7 +108,7 @@ ThemeDownloader::~ThemeDownloader() delete ThemePreviews[i]; } -int ThemeDownloader::Run() +int ThemeDownloader::Execute() { ThemeDownloader * Menu = new ThemeDownloader(); mainWindow->Append(Menu); diff --git a/source/themes/ThemeDownloader.h b/source/themes/ThemeDownloader.h index 61cba652..051a8e4b 100644 --- a/source/themes/ThemeDownloader.h +++ b/source/themes/ThemeDownloader.h @@ -32,7 +32,7 @@ class ThemeDownloader : public FlyingButtonsMenu public: ThemeDownloader(); virtual ~ThemeDownloader(); - static int Run(); + static int Execute(); int MainLoop(); protected: void CreateSettingsMenu(int index) { MainButtonClicked(index); }; diff --git a/source/themes/ThemeMenu.cpp b/source/themes/ThemeMenu.cpp index 920d7e68..1bd87149 100644 --- a/source/themes/ThemeMenu.cpp +++ b/source/themes/ThemeMenu.cpp @@ -89,7 +89,7 @@ ThemeMenu::~ThemeMenu() delete ThemePreviews[i]; } -int ThemeMenu::Run() +int ThemeMenu::Execute() { ThemeMenu * Menu = new ThemeMenu(); mainWindow->Append(Menu); diff --git a/source/themes/ThemeMenu.h b/source/themes/ThemeMenu.h index 2f826c34..9c94d0d1 100644 --- a/source/themes/ThemeMenu.h +++ b/source/themes/ThemeMenu.h @@ -35,7 +35,7 @@ class ThemeMenu : public FlyingButtonsMenu public: ThemeMenu(); virtual ~ThemeMenu(); - static int Run(); + static int Execute(); int MainLoop(); protected: void CreateSettingsMenu(int index) { MainButtonClicked(index); }; diff --git a/source/usbloader/GameBooter.cpp b/source/usbloader/GameBooter.cpp index 61bd72f9..cd127f50 100644 --- a/source/usbloader/GameBooter.cpp +++ b/source/usbloader/GameBooter.cpp @@ -20,6 +20,7 @@ #include "mload/mload_modules.h" #include "system/IosLoader.h" #include "Controls/DeviceHandler.hpp" +#include "Channels/channels.h" #include "usbloader/disc.h" #include "usbloader/apploader.h" #include "usbloader/usbstorage2.h" @@ -134,28 +135,28 @@ void GameBooter::SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloff alternatedol = OFF; } -void GameBooter::SetupNandEmu(u8 NandEmuMode, struct discHdr &gameHeader) +void GameBooter::SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct discHdr &gameHeader) { - if(NandEmuMode && strchr(Settings.NandEmuPath, '/')) + if(NandEmuMode && strchr(NandEmuPath, '/')) { //! Create save game path and title.tmd for not existing saves CreateSavePath(&gameHeader); - gprintf("Enabling Nand Emulation on: %s\n", Settings.NandEmuPath); + gprintf("Enabling Nand Emulation on: %s\n", NandEmuPath); Set_FullMode(NandEmuMode == 2); - Set_Path(strchr(Settings.NandEmuPath, '/')); + Set_Path(strchr(NandEmuPath, '/')); //! Set which partition to use (USB only) - if(strncmp(Settings.NandEmuPath, "usb", 3) == 0) - Set_Partition(atoi(Settings.NandEmuPath+3)-1); + if(strncmp(NandEmuPath, "usb", 3) == 0) + Set_Partition(atoi(NandEmuPath+3)-1); //! Unmount SD since NAND Emu mount fails otherwise - else if(strncmp(Settings.NandEmuPath, "sd", 2) == 0) + else if(strncmp(NandEmuPath, "sd", 2) == 0) DeviceHandler::Instance()->UnMountSD(); - Enable_Emu(strncmp(Settings.NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD); + Enable_Emu(strncmp(NandEmuPath, "usb", 3) == 0 ? EMU_USB : EMU_SD); //! Remount SD again after activating NAND emu - if(strncmp(Settings.NandEmuPath, "sd", 2) == 0) + if(strncmp(NandEmuPath, "sd", 2) == 0) DeviceHandler::Instance()->MountSD(); } } @@ -259,17 +260,31 @@ int GameBooter::BootGame(const char * gameID) Playlog_Update((char *) gameHeader.id, BNRInstance::Instance()->GetIMETTitle(CONF_GetLanguage())); //! Setup NAND emulation - SetupNandEmu(NandEmuMode, gameHeader); + if(Settings.LoaderMode != LOAD_CHANNELS) + SetupNandEmu(NandEmuMode, Settings.NandEmuPath, gameHeader); + else + SetupNandEmu(Settings.NandEmuChanMode, Settings.NandEmuChanPath, gameHeader); - //! Setup disc in cIOS and open it - ret = SetupDisc(gameHeader.id); - if (ret < 0) - Sys_BackToLoader(); + // Load wip codes + load_wip_code(gameHeader.id); - //! Load BCA data for the game - gprintf("Loading BCA data..."); - ret = do_bca_code(Settings.BcaCodepath, gameHeader.id); - gprintf("%d\n", ret); + //! Load Ocarina codes + if (ocarinaChoice) + ocarina_load_code(Settings.Cheatcodespath); + + //! Setup disc stuff if we load a game + if(Settings.LoaderMode != LOAD_CHANNELS) + { + //! Setup disc in cIOS and open it + ret = SetupDisc(gameHeader.id); + if (ret < 0) + Sys_BackToLoader(); + + //! Load BCA data for the game + gprintf("Loading BCA data..."); + ret = do_bca_code(Settings.BcaCodepath, gameHeader.id); + gprintf("%d\n", ret); + } //! Setup IOS reload block if (IosLoader::IsHermesIOS()) @@ -290,16 +305,38 @@ int GameBooter::BootGame(const char * gameID) reloadblock = 0; } - //! Now we can free up the memory used by the game list + //! Now we can free up the memory used by the game/channel lists gameList.clear(); + Channels::DestroyInstance(); //! Load main.dol or alternative dol into memory, start the game apploader and get game entrypoint - gprintf("\tDisc_wiiBoot\n"); - AppEntrypoint = BootPartition(Settings.dolpath, videoChoice, alternatedol, alternatedoloffset); + if(Settings.LoaderMode != LOAD_CHANNELS) + { + gprintf("\tGame Boot\n"); + AppEntrypoint = BootPartition(Settings.dolpath, videoChoice, alternatedol, alternatedoloffset); + //! Flush all caches and close up all devices + DeviceHandler::DestroyInstance(); + } + else + { + gprintf("\tChannel Boot\n"); + //! Flush all caches and close up all devices + //! Avoid later crashs with free if memory gets overwritten by game + DeviceHandler::DestroyInstance(); + /* Setup low memory */ + Disc_SetLowMem(); + /* Setup video mode */ + Disc_SelectVMode(videoChoice); + // Load dol + u64 tid; + memcpy(&tid, gameHeader.tid, 8); + AppEntrypoint = Channels::LoadChannel(tid); + } //! No entrypoint found...back to HBC/SystemMenu if(AppEntrypoint == 0) { + gprintf("AppEntryPoint is 0, something went wrong\n"); WDVD_ClosePartition(); Sys_BackToLoader(); } @@ -308,20 +345,15 @@ int GameBooter::BootGame(const char * gameID) gprintf("Applying game patches...\n"); gamepatches(videoChoice, languageChoice, countrystrings, viChoice, sneekChoice, Hooktype, fix002, reloadblock, iosChoice, returnToChoice); - //! Load Ocarina codes - if (ocarinaChoice) - ocarina_load_code(Settings.Cheatcodespath); - //! Load Code handler if needed - load_handler(Settings.Cheatcodespath, Hooktype, WiirdDebugger, Settings.WiirdDebuggerPause); + load_handler(Hooktype, WiirdDebugger, Settings.WiirdDebuggerPause); //! Shadow mload - Only needed on some games with Hermes v5.1 (Check is inside the function) shadow_mload(); gprintf("Shutting down devices...\n"); - //! Flush all caches and close up all devices + // Close all handlers WBFS_CloseAll(); - DeviceHandler::DestroyInstance(); if(Settings.USBPort == 2) //! Reset USB port because device handler changes it for cache flushing USBStorage2_SetPort(usbport); diff --git a/source/usbloader/GameBooter.hpp b/source/usbloader/GameBooter.hpp index 2d787d4e..947379aa 100644 --- a/source/usbloader/GameBooter.hpp +++ b/source/usbloader/GameBooter.hpp @@ -27,7 +27,7 @@ class GameBooter private: static int FindDiscHeader(const char * gameID, struct discHdr &gameHeader); static void SetupAltDOL(u8 * gameID, u8 &alternatedol, u32 &alternatedoloffset); - static void SetupNandEmu(u8 NandEmuMode, struct discHdr &gameHeader); + static void SetupNandEmu(u8 NandEmuMode, const char *NandEmuPath, struct discHdr &gameHeader); static int SetupDisc(u8 *gameID); static u32 BootPartition(char * dolpath, u8 videoselected, u8 alternatedol, u32 alternatedoloffset); }; diff --git a/source/usbloader/GameList.cpp b/source/usbloader/GameList.cpp index 0453cf05..cf5baa9d 100644 --- a/source/usbloader/GameList.cpp +++ b/source/usbloader/GameList.cpp @@ -23,8 +23,8 @@ ***************************************************************************/ #include #include -#include #include +#include "GUI/gui_searchbar.h" #include "usbloader/wbfs.h" #include "settings/newtitles.h" #include "settings/CSettings.h" @@ -35,13 +35,13 @@ #include "FreeTypeGX.h" #include "GameList.h" #include "memory/memory.h" +#include "Channels/channels.h" GameList gameList; void GameList::clear() { GameFilter.clear(); - AvailableSearchChars.clear(); FullGameList.clear(); GamePartitionList.clear(); FilteredList.clear(); @@ -90,10 +90,7 @@ void GameList::RemovePartition(int part) } if(FullGameList.size() > 0) - { - wString filter(GameFilter); - FilterList(filter.c_str()); - } + FilterList(); } int GameList::InternalReadList(int part) @@ -156,6 +153,9 @@ int GameList::InternalReadList(int part) int GameList::ReadGameList() { + if(Settings.LoaderMode == LOAD_CHANNELS) + return 0; + // Clear list clear(); @@ -183,15 +183,22 @@ int GameList::ReadGameList() int GameList::FilterList(const wchar_t * gameFilter) { - if (FullGameList.size() == 0) ReadGameList(); - if (gameFilter) GameFilter.assign(gameFilter); + std::vector *FullList = &FullGameList; + + if(Settings.LoaderMode == LOAD_CHANNELS) + FullList = &(Channels::Instance()->GetDiscHeaderList()); + + else if (FullGameList.size() == 0) + ReadGameList(); + + if (gameFilter) + GameFilter.assign(gameFilter); FilteredList.clear(); - AvailableSearchChars.clear(); - for (u32 i = 0; i < FullGameList.size(); ++i) + for (u32 i = 0; i < FullList->size(); ++i) { - struct discHdr *header = &FullGameList[i]; + struct discHdr *header = &FullList->at(i); /* Register game */ NewTitles::Instance()->CheckGame(header->id); @@ -240,47 +247,14 @@ int GameList::FilterList(const wchar_t * gameFilter) if(GameCategories.isInCategory((char *) header->id, Settings.EnabledCategories[n])) break; } - if(n == Settings.EnabledCategories.size()) continue; - - wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header)); - if (gameName) - { - if ( GameFilter.size() ) // has Filter - { - bool found = false; - wchar_t *s1 = gameName, *s2; - while( (s2 = wcscasestr(s1, GameFilter.c_str())) ) // search filter in gameName - { - found = true; - wchar_t ch = towupper(s2[GameFilter.size()]); - if(ch) AvailableSearchChars.insert(ch); - s1++; // try search filter in gameName more times - } - if(!found) - { - delete [] gameName; - continue; - } - } - else // no Filter -> makes all chars as aviable - { - for(wchar_t *ch = gameName; *ch; ch++) - if(*ch >= '@') // limit chars by empty filter - AvailableSearchChars.insert(towupper(*ch)); - } - - delete [] gameName; - } + if(n == Settings.EnabledCategories.size()) + continue; FilteredList.push_back(header); } NewTitles::Instance()->Save(); - - if (FilteredList.size() < 2) - - if (FilteredList.size() < 2) - AvailableSearchChars.clear(); + GuiSearchBar::FilterList(FilteredList, GameFilter); SortList(); @@ -289,36 +263,29 @@ int GameList::FilterList(const wchar_t * gameFilter) int GameList::LoadUnfiltered() { - if (FullGameList.size() == 0) ReadGameList(); + std::vector *FullList = &FullGameList; + + if(Settings.LoaderMode == LOAD_CHANNELS) + FullList = &(Channels::Instance()->GetDiscHeaderList()); + + else if (FullGameList.size() == 0) + ReadGameList(); GameFilter.clear(); - AvailableSearchChars.clear(); FilteredList.clear(); - for (u32 i = 0; i < FullGameList.size(); ++i) + for (u32 i = 0; i < FullList->size(); ++i) { - struct discHdr *header = &FullGameList[i]; + struct discHdr *header = &FullList->at(i); /* Register game */ NewTitles::Instance()->CheckGame(header->id); - wchar_t *gameName = charToWideChar(GameTitles.GetTitle(header)); - if (gameName) - { - for(wchar_t *ch = gameName; *ch; ch++) - if(*ch >= '@') // limit chars by unfiltered list - AvailableSearchChars.insert(towupper(*ch)); - - delete [] gameName; - } - FilteredList.push_back(header); } NewTitles::Instance()->Save(); - - if (FilteredList.size() < 2) - AvailableSearchChars.clear(); + GuiSearchBar::FilterList(FilteredList, GameFilter); SortList(); diff --git a/source/usbloader/GameList.h b/source/usbloader/GameList.h index 9bdb1ba1..cf8e438a 100644 --- a/source/usbloader/GameList.h +++ b/source/usbloader/GameList.h @@ -2,7 +2,6 @@ #define GAME_LIST_H_ #include -#include #include "Controls/DeviceHandler.hpp" #include "wstring.hpp" #include "usbloader/disc.h" @@ -20,7 +19,6 @@ class GameList struct discHdr * operator[](int i) const { if (i < 0 || i >= (int) FilteredList.size()) return NULL; return FilteredList[i]; } struct discHdr * GetDiscHeader(const char * gameID) const; const wchar_t * GetCurrentFilter() const { return GameFilter.c_str(); } - const std::set &GetAvailableSearchChars() const { return AvailableSearchChars; } void SortList(); void clear(); bool operator!() const { return (FullGameList.size() == 0); } @@ -35,6 +33,8 @@ class GameList int GetPartitionNumber(const u8 *gameid) const; int GetGameFS(const u8 *gameID) const { return DeviceHandler::Instance()->GetFilesystemType(USB1+GetPartitionNumber(gameID)); } void RemovePartition(int part_num); + std::vector &GetFilteredList(void) { return FilteredList; } + std::vector &GetFullGameList(void) { return FullGameList; } protected: int InternalReadList(int part); static bool NameSortCallback(const struct discHdr *a, const struct discHdr *b); @@ -42,7 +42,6 @@ class GameList static bool RankingSortCallback(const struct discHdr *a, const struct discHdr *b); static bool PlayersSortCallback(const struct discHdr *a, const struct discHdr *b); - std::set AvailableSearchChars; wString GameFilter; int selectedGame; std::vector FilteredList; diff --git a/source/usbloader/NandEmu.cpp b/source/usbloader/NandEmu.cpp index 5e4a69a2..847a1a2c 100644 --- a/source/usbloader/NandEmu.cpp +++ b/source/usbloader/NandEmu.cpp @@ -9,6 +9,7 @@ #include #include "system/IosLoader.h" +#include "utils/tools.h" #include "gecko.h" #include "NandEmu.h" @@ -33,20 +34,18 @@ static nandDevice ndevList[] = }; /* Buffer */ -static u32 inbuf[8] ATTRIBUTE_ALIGN(32); static const char fs[] ATTRIBUTE_ALIGN(32) = "/dev/fs"; static const char fat[] ATTRIBUTE_ALIGN(32) = "fat"; -static int mounted = 0; -static int partition = 0; +static u32 partition ATTRIBUTE_ALIGN(32) = 0; +static u32 mode ATTRIBUTE_ALIGN(32) = 0; +static char path[32] ATTRIBUTE_ALIGN(32) = "\0"; static int fullmode = 0; -static char path[32] = "\0"; +static int mounted = 0; static s32 Nand_Mount(nandDevice *dev) { s32 fd, ret; - u32 inlen = 0; ioctlv *vector = NULL; - u32 *buffer = NULL; /* Open FAT module */ fd = IOS_Open(fat, 0); @@ -58,27 +57,27 @@ static s32 Nand_Mount(nandDevice *dev) // and the nand is always expected to be on the 1st partition. // However this way earlier d2x betas having revision 21 take in // consideration the partition argument. - inlen = 1; /* Allocate memory */ - buffer = (u32 *)memalign(32, sizeof(u32)*3); + vector = (ioctlv *) memalign(32, sizeof(ioctlv)); + if(vector == NULL) + { + /* Close FAT module */ + IOS_Close(fd); + return -2; + } - /* Set vector pointer */ - vector = (ioctlv *)buffer; - - buffer[0] = (u32)(buffer + 2); - buffer[1] = sizeof(u32); - buffer[2] = (u32)partition; + vector[0].data = &partition; + vector[0].len = sizeof(u32); /* Mount device */ - ret = IOS_Ioctlv(fd, dev->mountCmd, inlen, 0, vector); + ret = IOS_Ioctlv(fd, dev->mountCmd, 1, 0, vector); /* Close FAT module */ IOS_Close(fd); /* Free memory */ - if(buffer != NULL) - free(buffer); + free(vector); return ret; } @@ -104,7 +103,7 @@ static s32 Nand_Unmount(nandDevice *dev) static s32 Nand_Enable(nandDevice *dev) { s32 fd, ret; - u32 *buffer = NULL; + ioctlv *vector = NULL; // Open /dev/fs fd = IOS_Open(fs, 0); @@ -113,29 +112,31 @@ static s32 Nand_Enable(nandDevice *dev) //FULL NAND emulation since rev18 //needed for reading images on triiforce mrc folder using ISFS commands - inbuf[0] = dev->mode | fullmode; + mode = dev->mode | fullmode; // NOTE: // The official cIOSX rev21 by Waninkoko provides an undocumented feature // to set nand path when mounting the device. // This feature has been discovered during d2x development. - int pathlen = strlen(path)+1; /* Allocate memory */ - buffer = (u32 *)memalign(32, (sizeof(u32)*5)+pathlen); + vector = (ioctlv *)memalign(32, sizeof(ioctlv)*2); + if(vector == NULL) + { + /* Close FAT module */ + IOS_Close(fd); + return -2; + } - buffer[0] = (u32)(buffer + 4); - buffer[1] = sizeof(u32); // actually not used by cios - buffer[2] = (u32)(buffer + 5); - buffer[3] = pathlen; // actually not used by cios - buffer[4] = inbuf[0]; - strcpy((char*)(buffer+5), path); + vector[0].data = &mode; + vector[0].len = sizeof(u32); + vector[1].data = path; + vector[1].len = sizeof(path); - ret = IOS_Ioctlv(fd, 100, 2, 0, (ioctlv *)buffer); + ret = IOS_Ioctlv(fd, 100, 2, 0, vector); /* Free memory */ - if(buffer != NULL) - free(buffer); + free(vector); // Close /dev/fs IOS_Close(fd); @@ -153,10 +154,10 @@ static s32 Nand_Disable(void) return fd; // Set input buffer - inbuf[0] = 0; + mode = 0; // Disable NAND emulator - ret = IOS_Ioctl(fd, 100, inbuf, sizeof(inbuf), NULL, 0); + ret = IOS_Ioctl(fd, 100, &mode, sizeof(mode), NULL, 0); // Close /dev/fs IOS_Close(fd); diff --git a/source/usbloader/disc.c b/source/usbloader/disc.c index 40418ef5..d359cf21 100644 --- a/source/usbloader/disc.c +++ b/source/usbloader/disc.c @@ -17,6 +17,10 @@ #include "../settings/SettingsEnums.h" #include "../gecko.h" +// Global app entry point +extern u32 AppEntrypoint; +void _unstub_start(); + /* Constants */ #define PTABLE_OFFSET 0x40000 #define WII_MAGIC 0x5D1C9EA3 @@ -284,7 +288,33 @@ s32 Disc_JumpToEntrypoint(s32 hooktype, u32 dolparameter) /* Originally from tueidj - taken from NeoGamme (thx) */ *(vu32*)0xCC003024 = dolparameter != 0 ? dolparameter : 1; - if (hooktype) + if(AppEntrypoint == 0x3400 && hooktype) + { + __asm__( + "lis %r3, returnpoint@h\n" + "ori %r3, %r3, returnpoint@l\n" + "mtlr %r3\n" + "lis %r3, 0x8000\n" + "ori %r3, %r3, 0x18A8\n" + "mtctr %r3\n" + "bctr\n" + "returnpoint:\n" + "bl DCDisable\n" + "bl ICDisable\n" + "li %r3, 0\n" + "mtsrr1 %r3\n" + "lis %r4, AppEntrypoint@h\n" + "ori %r4,%r4,AppEntrypoint@l\n" + "lwz %r4, 0(%r4)\n" + "mtsrr0 %r4\n" + "rfi\n" + ); + } + else if(AppEntrypoint == 0x3400) + { + _unstub_start(); + } + else if (hooktype) { __asm__( "lis %r3, AppEntrypoint@h\n" diff --git a/source/usbloader/disc.h b/source/usbloader/disc.h index 37d3ed61..e0f6ca1d 100644 --- a/source/usbloader/disc.h +++ b/source/usbloader/disc.h @@ -23,7 +23,9 @@ extern "C" /* Padding */ u8 is_ciso; - u8 unused1[13]; + + /* Unused, on channel list mode this is the full 64 bit tid and zeros */ + u8 tid[13]; /* Magic word */ u32 magic; diff --git a/source/utils/lz77.c b/source/utils/lz77.c new file mode 100755 index 00000000..ccad2203 --- /dev/null +++ b/source/utils/lz77.c @@ -0,0 +1,214 @@ +/******************************************************************************* + * lz77.c + * + * Copyright (c) 2009 The Lemon Man + * Copyright (c) 2009 Nicksasa + * Copyright (c) 2009 WiiPower + * + * Distributed under the terms of the GNU General Public License (v2) + * See http://www.gnu.org/licenses/gpl-2.0.txt for more info. + * + * Description: + * ----------- + * + ******************************************************************************/ + +#include +#include +#include +#include +#include + +#include "lz77.h" + +#define ALIGN32(x) (((x) + 31) & ~31) + +u32 packBytes(int a, int b, int c, int d) +{ + return (d << 24) | (c << 16) | (b << 8) | (a); +} + +s32 __decompressLZ77_11(u8 *in, u32 inputLen, u8 **output, u32 *outputLen) +{ + int x, y; + + u8 *out = NULL; + + u32 compressedPos = 0x4; + u32 decompressedPos = 0x0; + u32 decompressedSize = 0; + + decompressedSize = packBytes(in[0], in[1], in[2], in[3]) >> 8; + + if (!decompressedSize) + { + decompressedSize = packBytes(in[4], in[5], in[6], in[7]); + compressedPos += 0x4; + } + + printf("Decompressed size : %i\n", decompressedSize); + + out = memalign(32, ALIGN32(decompressedSize)); + if (out == NULL) + { + printf("Out of memory\n"); + return -1; + } + + while (compressedPos < inputLen && decompressedPos < decompressedSize) + { + u8 byteFlag = in[compressedPos]; + compressedPos++; + + for (x = 7; x >= 0; x--) + { + if ((byteFlag & (1 << x)) > 0) + { + u8 first = in[compressedPos]; + u8 second = in[compressedPos + 1]; + + u32 pos, copyLen; + + if (first < 0x20) + { + u8 third = in[compressedPos + 2]; + + if (first >= 0x10) + { + u32 fourth = in[compressedPos + 3]; + + pos = (u32)(((third & 0xF) << 8) | fourth) + 1; + copyLen = (u32)((second << 4) | ((first & 0xF) << 12) | (third >> 4)) + 273; + + compressedPos += 4; + } else + { + pos = (u32)(((second & 0xF) << 8) | third) + 1; + copyLen = (u32)(((first & 0xF) << 4) | (second >> 4)) + 17; + + compressedPos += 3; + } + } else + { + pos = (u32)(((first & 0xF) << 8) | second) + 1; + copyLen = (u32)(first >> 4) + 1; + + compressedPos += 2; + } + + for (y = 0; y < (int) copyLen; y++) + { + out[decompressedPos + y] = out[decompressedPos - pos + y]; + } + + decompressedPos += copyLen; + } else + { + out[decompressedPos] = in[compressedPos]; + + decompressedPos++; + compressedPos++; + } + + if (compressedPos >= inputLen || decompressedPos >= decompressedSize) + break; + } + } + *output = out; + *outputLen = decompressedSize; + return 0; +} + +s32 __decompressLZ77_10(u8 *in, u32 inputLen, u8 **output, u32 *outputLen) +{ + int x, y; + + u8 *out = NULL; + + u32 compressedPos = 0; + u32 decompressedSize = 0x4; + u32 decompressedPos = 0; + + decompressedSize = packBytes(in[0], in[1], in[2], in[3]) >> 8; + + //int compressionType = (packBytes(in[0], in[1], in[2], in[3]) >> 4) & 0xF; + + printf("Decompressed size : %i\n", decompressedSize); + + out = memalign(32, ALIGN32(decompressedSize)); + if (out == NULL) + { + printf("Out of memory\n"); + return -1; + } + + compressedPos += 0x4; + + while (decompressedPos < decompressedSize) + { + u8 flag = *(u8*)(in + compressedPos); + compressedPos += 1; + + for (x = 0; x < 8; x++) + { + if (flag & 0x80) + { + u8 first = in[compressedPos]; + u8 second = in[compressedPos + 1]; + + u16 pos = (u16)((((first << 8) + second) & 0xFFF) + 1); + u8 copyLen = (u8)(3 + ((first >> 4) & 0xF)); + + for (y = 0; y < copyLen; y++) + { + out[decompressedPos + y] = out[decompressedPos - pos + (y % pos)]; + } + + compressedPos += 2; + decompressedPos += copyLen; + } else + { + out[decompressedPos] = in[compressedPos]; + compressedPos += 1; + decompressedPos += 1; + } + + flag <<= 1; + + if (decompressedPos >= decompressedSize) + break; + } + } + + *output = out; + *outputLen = decompressedSize; + return 0; +} + +int isLZ77compressed(u8 *buffer) +{ + if ((buffer[0] == LZ77_0x10_FLAG) || (buffer[0] == LZ77_0x11_FLAG)) + { + return 1; + } + + return 0; +} + +int decompressLZ77content(u8 *buffer, u32 length, u8 **output, u32 *outputLen) +{ + int ret; + switch (buffer[0]) + { + case LZ77_0x10_FLAG: + ret = __decompressLZ77_10(buffer, length, output, outputLen); + break; + case LZ77_0x11_FLAG: + ret = __decompressLZ77_11(buffer, length, output, outputLen); + break; + default: + ret = -1; + break; + } + return ret; +} diff --git a/source/utils/lz77.h b/source/utils/lz77.h new file mode 100755 index 00000000..ebaf0b5e --- /dev/null +++ b/source/utils/lz77.h @@ -0,0 +1,34 @@ +/******************************************************************************* + * lz77.h + * + * Copyright (c) 2009 The Lemon Man + * Copyright (c) 2009 Nicksasa + * Copyright (c) 2009 WiiPower + * + * Distributed under the terms of the GNU General Public License (v2) + * See http://www.gnu.org/licenses/gpl-2.0.txt for more info. + * + * Description: + * ----------- + * + ******************************************************************************/ + +#ifndef _LZ77_MODULE +#define _LZ77_MODULE + +#define LZ77_0x10_FLAG 0x10 +#define LZ77_0x11_FLAG 0x11 + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +int isLZ77compressed(u8 *buffer); +int decompressLZ77content(u8 *buffer, u32 length, u8 **output, u32 *outputLen); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif + diff --git a/source/wad/nandtitle.cpp b/source/wad/nandtitle.cpp index 1609fc24..39c5465d 100644 --- a/source/wad/nandtitle.cpp +++ b/source/wad/nandtitle.cpp @@ -425,7 +425,7 @@ u64 NandTitle::FindU32(const char *s) return 0; } -int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize) +int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize, bool isfsInit) { if(!filepath) return -1; @@ -434,13 +434,13 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi if(!stats) return IPC_ENOMEM; - ISFS_Initialize(); + if(isfsInit) ISFS_Initialize(); int fd = ISFS_Open(filepath, ISFS_OPEN_READ); if(fd < 0) { free(stats); - ISFS_Deinitialize(); + if(isfsInit) ISFS_Deinitialize(); return fd; } @@ -449,7 +449,7 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi { free(stats); ISFS_Close(fd); - ISFS_Deinitialize(); + if(isfsInit) ISFS_Deinitialize(); return ret; } @@ -461,14 +461,14 @@ int NandTitle::LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfi if(!buffer) { ISFS_Close(fd); - ISFS_Deinitialize(); + if(isfsInit) ISFS_Deinitialize(); return IPC_ENOMEM; } ret = ISFS_Read(fd, buffer, filesize); ISFS_Close(fd); - ISFS_Deinitialize(); + if(isfsInit) ISFS_Deinitialize(); if (ret < 0) { diff --git a/source/wad/nandtitle.h b/source/wad/nandtitle.h index dccb2a05..19d03cfd 100644 --- a/source/wad/nandtitle.h +++ b/source/wad/nandtitle.h @@ -95,7 +95,9 @@ class NandTitle u64 operator[](u32 i) { return At(i); } - static int LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize); + bool GetName(u64 tid, int language, wchar_t* name); + + static int LoadFileFromNand(const char *filepath, u8 **outbuffer, u32 *outfilesize, bool isfsInit = true); static int ExtractFile(const char *nandPath, const char *filepath, bool isfsInit = true); static int ExtractDir(const char *wiipath, const char *filepath, bool isfsInit = true); private: @@ -103,7 +105,6 @@ class NandTitle std::vector titleIds; std::map NameList; - bool GetName(u64 tid, int language, wchar_t* name); tmd* GetTMD(u64 tid); u32 currentIndex; diff --git a/source/wstring.cpp b/source/wstring.cpp index bfc7f345..37db8bad 100644 --- a/source/wstring.cpp +++ b/source/wstring.cpp @@ -147,15 +147,21 @@ size_t utf8Len(const char *s) return len; } -wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2) +const wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2) { - if(*s2==0) return (wchar_t *)s1; + if(*s2 == 0) + return (wchar_t *)s1; + int s1_len = wcslen(s1); int s2_len = wcslen(s2); - if(s1_len < s2_len) return 0; + + if(s1_len < s2_len) + return 0; + const wchar_t *end = &s1[s1_len-s2_len]; - for(wchar_t *s=(wchar_t *)s1; s<=end; s++) + for(const wchar_t *s = s1; s <= end; s++) if(wcsncasecmp(s, s2, s2_len)==0) return s; + return 0; } diff --git a/source/wstring.hpp b/source/wstring.hpp index 1a682541..f18dc7cc 100644 --- a/source/wstring.hpp +++ b/source/wstring.hpp @@ -23,6 +23,6 @@ class wString: public std::basic_string, std: size_t utf8Len(const char *s); -wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2); +const wchar_t *wcscasestr(const wchar_t *s1, const wchar_t *s2); #endif // !defined(__WSTRING_HPP)