From 20bf6d9a7e814e70c6c8289a4dc3457bb225700d Mon Sep 17 00:00:00 2001 From: axelcl Date: Wed, 22 Dec 2004 20:19:25 +0000 Subject: [PATCH] Improved Templates i.e. - Preference Page to define templates; - get title from MySQL db (must be made configuarable though) --- archive/net.sourceforge.phpeclipse.wiki/.classpath | 3 +- .../lib/mysql-connector.jar | Bin 0 -> 226061 bytes .../plugin.properties | 2 + archive/net.sourceforge.phpeclipse.wiki/plugin.xml | 61 ++++-- .../wiki/actions/NewPostBlogEditorAction.java | 134 ------------- .../wiki/actions/NewPostBlogHTMLAction.java | 118 ----------- .../actions/blogwiki/NewPostBlogHTMLAction.java | 156 +++++++++++++++ .../actions/blogwiki/NewPostBlogWikiAction.java | 181 +++++++++++++++++ .../phpeclipse/wiki/blog/Configuration.java | 149 -------------- .../phpeclipse/wiki/blog/MetaWeblog.java | 10 +- .../phpeclipse/wiki/editor/LineTokenizer.java | 110 +++++++++++ .../wiki/editor/WikiCompletionProcessor.java | 166 ++++++++++------ .../phpeclipse/wiki/editor/WikiEditorPlugin.java | 72 +++++-- .../phpeclipse/wiki/internal/Configuration.java | 49 +++++ .../wiki/internal/ConfigurationManager.java | 6 +- .../wiki/internal/ConfigurationWorkingCopy.java | 7 - .../wiki/preferences/TemplatesPreferencePage.java | 40 ++++ .../wiki/preferences/UserValidationDialog.java | 2 +- .../phpeclipse/wiki/sql/WikipediaDB.java | 205 ++++++++++++++++++++ .../templates/templates.xml | 2 + 20 files changed, 955 insertions(+), 518 deletions(-) create mode 100644 archive/net.sourceforge.phpeclipse.wiki/lib/mysql-connector.jar delete mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogEditorAction.java delete mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogHTMLAction.java create mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogHTMLAction.java create mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogWikiAction.java delete mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/Configuration.java create mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/LineTokenizer.java create mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/TemplatesPreferencePage.java create mode 100644 archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/sql/WikipediaDB.java diff --git a/archive/net.sourceforge.phpeclipse.wiki/.classpath b/archive/net.sourceforge.phpeclipse.wiki/.classpath index 9b111bc..caab244 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/.classpath +++ b/archive/net.sourceforge.phpeclipse.wiki/.classpath @@ -1,12 +1,13 @@ - + + diff --git a/archive/net.sourceforge.phpeclipse.wiki/lib/mysql-connector.jar b/archive/net.sourceforge.phpeclipse.wiki/lib/mysql-connector.jar new file mode 100644 index 0000000000000000000000000000000000000000..8b1158d86a5e800558ab411672e02c01bb4f1bca GIT binary patch literal 226061 zcmaI61C;K}x-HzcZQHi-wr#GqZQHhO+gxqiwvE+X-F?4(_x=BI?mlPSB$ZT>IVzP= zGxa=UW-7{ng24d&Yw?YfVEo^e|FeVs=O`zxDoigW4`5XM2Zja&_0RgBFtq;)lM|Mg z0*I@qGROg*}=}fVrg#&FtoHWH4*nPHg)*dDTA?% zp|f+WvYh>r5Rz|p2$v&#sin%K#1{QLn^d)S5U#i+FgwV^Wno>>%lZ1&XsR)!x7^g+ zVUnb35U(H%v$Y1aa_}&LnY-Cu4<~PPzn}jPumNE=4#Aayhw^|*tKd>&Tr3PnYIC76 zupgY<`{Hz6;2!yYf98VX1X(Me{-=h9c`gq@=nP#rkI?KyY^y|fYX9PT! zhZOz!`pdxs^qrf4)(ftH+$luc!hC~qK_rG~@KhkFr#>bk>BMJ{h@%Vo?E@`kCqL~f z$Iz_*i}1kR(!LovL3!bGxKWe=6~_wSq!uAxSZ}|1n&5eXD`iT5B2On@`2ZX`_6b*5 z>gkTnWc6I~g<-V70?0DW{9e)FgaFYUns^jYk1wbjhj5`fUU3WWDF3FFDT}cMs%oEU zX0*v4xV_&Le_n}m)t`Lm3ez5(>5N0yt1FVFiB&x1XkuP2;j7GVpr7+qx}4k|Xo^{! z6afVhfy#j4d#a)OFW`R>Hj1EeeGeE2hzIoFg#Gu2@}JDX{_o5Yv9UM$KP*w#b4FFe z^5gi`t%VWQ3a(PAr)Zg^yhsy;R-;Upq+QtpMG|C}R0>bg?b?id`HC5J9?PoBGkYEr z#mZC6Iv>U5aFn`xk&4N4^y?myOW@38ql`I5w%mKR?~H%$sfX~)#_#(qyc($OP!vDg zfi5zZtM2KcCWD`nAT25=tSBrg4$KCf(&e0sf}r`3xx9$ZEoZqAVlG-sTtY1aAHFWk z^Wi0^!5hbl$7fmNK)#2HpgiQgB@7(+D=8}7_4yzpN<+1$>X041o>o)m*=EYU*Ror^ z{*AS*zQDZcT-|vkbQ3mpdqTM|19r`gW**jb>=A>Y(MLx3_&g&>O}t&Xp2xG?BwxMY z7@f>5HMdEyiYQNjCyl#=sBMgX1BQoUDz3L*pMHH;xLUEW)OnF!J5@AI1LH1``E)MT z8m3FfG)8S31btXKX^ZS7HuMzSR$}I5tYjNIUr8OkWDzxUB6&4hz3%$7?DE@Z$DR(^ zT~15PVV?gw)z_QzsX&%$9tO5guedyDrq(8$zMqSdtR3j$s66_m=a(BkV1aq7%Fx$K zOJvt_w*tC1D1PaAc%jipV92Jbybd-B6DJz_bvQDsLbb?YU!3AIvzS|os`Ox#2Y z%TA29>^b#nJBQr*t8?1Is_!I{NK^8{X1U~&AHCfyJ!qM8oo%n0S9}U{W&kECuBm5( z7`%E2h7(U?uFfaEwA9OYwANeP+g__hL;2nw-3ktFA0G5e64wJp2W~rd27+ar#jtQQ z6ExXy6m7e&Nov}v_cR-P3(t2R&rFhaNK}*;>^d9fwky+(`5t4J;~rs_YTcn1K=R(r zKc{VBg$OEf-y&2tZQG$R(mm~&U6jNrXd368ca>Rwiq$~984k{2`jpXUje+G~;5z=> zn*L(WYr`>9J*Tapjh1v5~6FOWcPQmVNJ3c@d?Q zq3a12rfDV!7kWL@-Z)8h$F^t+?=ZDLaW4z%?x!2+WW4N@l8R(gH}2X#&iZZ6EGS5L zmTr?2Pi2FgO6vrLWFwGVY=kZ?R$t^VZ>KA5KL6h|AaCR$2C@gLz?TE{V@F(ygrmtW z2&6D3xbY2sGIg?@USPdkfkqA&9WXt6+%8IxF3^%}iXFHM1nDjt&V4I2z;t#=Zgu1wSoMQ5U zpWK+{!h63;ET%ex8DxqoV`%I2OjM^@3hbD$U%%&LMxF5szT~!O;)*x=#J5?JB*`JV zjdvczUG#s4F)j!eO`^HDx<#YKSYRedTCM?-Du+o{eIwr@zSWv|zuA>kw}bxF1V%B8 zLeDlkO*1#$v~WI~zHfnhWa`&1{J47c3fH$^{6YAdoqy6B{U$i#r!>w8qgW2r!Wj`| zkuiE@s3OOH>DteXK9ST0}-8jfd@d= zGZ=lX(QAEGRN8q}NFt(N1Qwb3?1lq>XD_3lWmsO;Y~kdtd=_({pq8TLrbLN*_e;>A z>o8pMbUvtn_>H=Ke<6^tBzk~YiI3C6yGEO^EZG~9@|9kBUfX7xvJm@}f+=c7JUR2aHN9`rH}Gu4l; zfrcVlnB>A+qd2U{o7cNTc25hVu=bVp5n5pVQPDj(kkeS-D{ z^}jBoBYwdHtIJ=4A09GT_ey?S(fIKNC^@Kl@jv~O;Xpz$oI^V}LI44c!u{8{<@FyK z5AOdEw_MH4Or8E6xmva0eNumog@4tQlz2E)Zdz{n10*~Ex|G5#7! zhH+uBSh65nsQnfxZFQ|~jk2p2Q4$&{4G08>(dq75(W~BR-Q3jPX?3e@+pOBDYfb&0 z^R?gYk%dVAZp+@g+wpwuai077nd5)me$vl-e>=toN>*hGu)>=epuis)em$Bpr zF-QsbF&=FdCwtc((!8A7ed^vKw?k=gcfBHZfDimboTl;IsB2^0>3Nr%Gz<<3{lZJ? zLS4r*eIc)>ZI6zjg{X{?@yRItPQG3J_Iy`e=^_}X%z!wYDsAmrTlZ1^K|#;0X4C2b zQGKobo*s`9*NL)iWh_to%!YHSd`b6XWg|^+N4HCCo|Uh6ODxV+@y!!1Ns7N#6Ph1FAg(|CcwR*J&r zW@BASPye=Vm;yn=@zRCDSi2{%u8*TF^NJ>K8>v@7dxPM{qMA*3K}lL2U_%!rt}_DL zwUiN7#D8w+;^Js$AO7bz;f-D7nDxlS&_`yghM`bRad$bbI_6DG+iDuO}J=~_(>ro#VJNRXnvJ5Y++{Jz%B z+|?0>wfb+DdgW8|P@6<|RXZ!PFL*>|7B>elizE*RhTEP8Ir($;(S zaB&o%W3*5fc@fgh&tYR(0Y{#jZ+cQ-EjiyVjufG{h-;J1-D=OSeWe5sZRALhz9ZD4 za&X~z5!o*oM#!Z30}iY}>4FGF|=;tDwtwi$~R=)oPf zzuzJv7_uVVg+283K^nHJQO8R1Wp!ewfPCQn>yFevh8g@u=p(5ViRce?NQ$=~m2$7Z z_B~$99_j86l0Gj^{D(s7RS1dG*cGW=vKf{W;=$9hD1j}NyIQeRCo3L(RA2Jk$+tD@ zt`SXBQIOMP+BHKNS{SX!C4!~_KR@sUj~lkZ(Q^YMU)!>|+aEXb!Q$OG!rXA+7g z-3iiB(L=0pv7Ar%M6Ivju^KNQMzO*vxB}UH4xCep>uO;!{PN_AV^}-McfP$Te)D4;w#D_9R=e zy3bNxQo16RvU>(?7}UT(dt;Ixbal$!IVeuXk|E*A>k!=D`l+XWZ6qOQ(z&VYk#Pd0 z&ty<~RJ3U$$@#lT*85{4%A_Z^SelV8Sx+e%Wz}Ek!Vs>=eD1gDHEYq$HmU1}hcNur1=y z9BQ!WiHw%_0vk5Y>;VoK9;39RJBkb_ZZ@bCW2PuZQyKTH0-Ynnog-tj%%@@7BFMBo zc(6LX@C4E3K_#e@+)P_*J6ZY0)S+!yY*MTIB!V;&w8?(7GR);bWkaW9g{ig~D+xq< zA+`ar+|M9C18y28`NOH13m);g07pdI1fms8+XT$a5~w@Fyp{two*E;T`9^~~u58u) z#>=$``(v8864Knv)fEjE?Oy5#KhI;k97{^L#$AKhR^!c-z`AC2^~CM(p9P?pF~P_R zZhRTUuy#%xAm*m19az)u0kCMMM*uszbXMPkIk8O)ww7q-wQ2wM0Jk&nCcU#4L2kRi zmX@V$LzGA=r7Oe5EDU`xby!u;w&(v0s>s-d3vqfes*t_ON{e^qJUKdo+;_eU-%7oR z%tc@s;mE{V)iGmioAzRD%j(?!MYO`mL+4=&YfB9~+6^|1R!HEkW^M8Pg0pu0=g>822xv{Y20T% zdVqJ^DqJFzpZF)wIlMw0scc^DWGCJ$v)Dnq!i11Qr(NgONOv=Zx~CXZ6z}DQRHFtC zeM$P}zN$e(_EmX3+K^Y*N^Bv|xmj23c90Em?pI=XhxJ^i#GqXvlTZO%dO0;-znl_X z&7&6Dkid+i)ny*p*ekiz1!co?Wy4&~pA0FM-u+kRc#vOacN`4g8XaeL<}H4yoqyy{ zSGqH`+@Dh3d2fU3S!w#C5Vqs58p9oXG2QpGxxyeFaUdPin#v!b@`_{AHTU{rhCJZ+ zj5@v12oE!GB95#`Dk+lXiXcu5bh;qBH5uP`|^33O{s4sxE8M~Ra9}=+^cZ*50!~N-mY{|m&=Uv zjKBGe$ws_Lan2}1GouAj*RN3&&@Bb=afK;Tffqt-Ka;Bx;-xTBZp3d+)e**HjXhby zxXGY`{XKVI;B?UJb9>qx=`se-cRD@eh`B>tK5pbIIl0g=N^f3_(0Dl*K5~hsPx$bm zDbXd?l;SDmIZNDSe=Khq?W*Hc;c!;i*DVr?tS;)rC0opu?NVVDl{+Ju{msV?`^Ty+*e+P^6(#$2#!YTjnxjaKfeLq$#qk9-u+Y`PQ7xudDrOaH|}oj&C%ZpLQ#_FTRFnSU&dHM#4c1V7enmpM9JRK`mx~+^O z4;k^AhZmMOVKrh3H$!#4Zg-b6*|}c+DLLmFopZ4k62EN?vgqLLog*0raivW3ffsPa ztghJEwtg)LP}9tKHD2aq(%T8|yabMYHbM=Kb%|56d-FKdw_P>N2-I=K=g3VxPWMpm zVvlFkp*-n^BjtAA0>j(G3<*ag=C0|QD5bh?%Roz<;Kg}`LTyi8iD){?aPTNQL!+pZ zPlawlqe=EEnWjU7nT#(!q#KYs(DA@us!e_rQ1(kmAvE&h4oKjM5T+v!zxT`G38B7Z zx?EP0$ecGT&*Vs(z~`B%SvrPK`c*yA?Xg+6aJ=KAhd*=k7u||mVSMXm$7NnxLc>>t zrwa7B@ThGu5s!q`W5opbsltTHGO852`AP|9iFamNk+P$VGP6+r>6j}T@CPhwIa#x| z?<``l`Wmivd{)uD;gVCMejjy0TfRmh(v{;F$Pxsr(H)XwV+`CbRi+MB0K9J#4Pu$1eKLcC^_ zRJr%w@0$9OVwca-3h&&mn4CyDAz!tLn`0DAUQgt?0w*`eEA(Y&pI@(XUe0`|y@rIj z*Ya4>86AJEC0-41dI)t{d<*nVXP(AuiDi%F{6@n!ibanbp-&>}?(K}HI_@V{LAj*F z21t$a#(E`l`Ag;4FYwzJD}O~npRU1;y5rSZwK;Mg0rzRc+ybn}z!mFNN|@HI{bjBi zNy=n@Gg7+)%Aot=C4=X5+h3usec@CHiHiKr9E>vI%cdtilub+eR(w!D>7Wo^itV==(7ZbxA8jltK0YR1CXjJ}+Zw=oh* zzb7%$mNDM_TzxjxSCsTuwDemz`7gxuT@@){kcKaVV%Z%RZ9^HwC5E4j0u9FmuG@q- zR42xN#(;$L-nQ>J_V>!au3xnfLVlF$=hPT%^t<|1O*n8NW~V#Jd1Tk#JdY%+7;P9NdA6*B_e2R;1h=D z4zN};euq|_F?oMPdkpJ_K2HLq!JDScTGViJYLRu+R*v^K73ub5YL`)XBP zr*=iX+oIaGcBSp3HScK`H;2~e>(Te_`|d8s`;Pl;xAX2~Fx4Y-OC!i5b!&}GKm9Fpc#hnU_#tdK8>K(xEp=E2#a`yG_91@c zo@5X0L*B4GxgX_2-!LRffBIYSFd_Lj+HknA51C?PgQ2BpkF8^msn&JLsfUa3P?Dyx zPEYB9SYY7H&M8eZPkys^wa)bS5tuYzw=swIX7*OrDTB2&9b7bY3TJEHya$ZJIdk9u z?Y5`ajH{$V@|%>EtUDRaOb*rsnPCfg%9-6# zv(eK&$X4C-Ty(6J9NAa3*V>7^4V|5xL`ijt?rGW8Nu`FbTN)?zrZpYPjOLGz2@zoQ zlh)tUZk?U*2J2~d2OD_pLh-E>W+%%$NJPJ4Wm~=zNJLd;Co?)-!fJwZB5+hDTp-04 ztX{Y+eN=)+BJF4=mQq+%z6SME=-+p9=T2)Nt1sjZ77U+>#bpRmkij$O zvREs?ZW<@x8!c2+u>41VK~Y}M@>ren#P+i;h|aw`VhTY0J?^ zj=os%ZBC-{xRv)OAPD`Qq&(usj;GTWDO#J}sKg0WRIza+Q|4ry-3)cy-7_dpyHv8YN<+&sA3{an=MmrlRUYYSmyJ`;-_(`BjIa8q#}gGRX*b@@nUI5 zpnV{(1wYdKvE`*`L@tploy^?4d`+HwVHM3;%z<64xGhepWe=Sg(Qz`bv&_IO@mVa= ze2Q1i{X8a!P-5L&Irf8#d&7t#y+fHYt7J1BHA=fucl6qJ+I;crFYn};x^m(3OPgmh z>9(91b#>B9ik$gk5h}{?n4wQlf0$u0ZA5>lBgQwuaJk`M(0uTRIVOQIOvAshKL|&H zZ!9tLiZDEcDY{rY+tfcV@q#e~&&tch_VKLyM}e~0?x>UjAy2C0uz5;K~$p7c5zh8zxnt{Qz3s*K_*v;?(m5AchVMJ z?CJ-(@rWq_bUo_W2UG>`LYcx8L{~Ij7Hl=i0=Ia!xog0{scc8z zDjpd~hm)G-iXVlm60k7(Qz{7DB8767csEQR9T`$&eL15Wm?N8 z1hLnBu)s7a?|G_uFG7IAZm=iFADm2@7XFMo(O!W@k@|TLE^JIFn~yzS)LhT39?#2G znAjJxafT8I>|j1MvlLGnlMp^Ns}wJ*g2s83=GcwA$HSWW9B_=(xsCACT#JoBjJRAP)J&;;d2M@R3;uN;nEm3 z@K9`cRYmM#WpH={Ha%fbZ2YnUCqOZp2~(B&ya6B>jV)w>3mo3mB_t?}S-YrU2x~@h z{vc)&O?AMcBq)rvN@*TB20R-6z7V2PqSmjoE2u|+K?g2$Snsmx;mn$ca*iY;Mq zrYz!u;>_5TgvXeyROYz=&1h_SO1(ie*lN@jQ45;jat1CjK@==j8uMfT8FaSHg$bCf z!E-clHCFAig36dQ+KR9R81NMq9yQ@5tlY8!W9;0z0v>=PxSY95SdbYL3p$!%isHO1 zKnfgxuHp!Y=YA5oekmH9D^H&Z9xJ31D~@XP5KLBt^pXj&nK}O(V_%HT5F3LeQ2ZHS zU8Y3Og;?7G7u}dwgX@UGVGP|y5|(Q*q+(I-FPVO5niIq62(w$fKxo7*FaqNfsS+Bt zB!(@IIfR5+>=0HFLT#0R^hYv^ibsr9JqpVgx=yJ5ynwNv;3J$ov_&)2uMq>=k^GOn zkp6a%^DssZW!sTYBQ9pdnM0umG-f1cgL+SR^oT@*&)$XR9WUzI8^b_rAAHAbJNnw^%K^k*b;rW1fZd~S9Q-#D$A`qenLj(n``ICe zKd;>%_XCa}?v9;)1ot=2Bl#cW^=p3u_xHWQo$vTYanRcZh$DSlyxS$SL%&*VL<>io z6_)ify(q}mSP#jqu$xUkzM9@Ji5A5BiWhLVbMp1d_+jG@RlYijhmbzBZWr9{KhBL3 zzv6p8^gNXP@f0o?4f4M^Uas=@F9LqE1`>O4FcHjwUs{g6JsAQAB?M|8H%7U6hQ2VU zC!-XJdI$H7uKlL;YSD1um<`Og;z2uGw6jv(K$@j2ji%p}>j(f?JTEvFI%_k0;QTA0 zs&*o{1p3E%B#-?6N~rz^FNNs;@1;mp*YiNr!1kluxW2Zd1m=V$16v1YFI}ZE`l8(oTHK@vt?0GRFTV`^@VLtD zUF7Xul<=L)+?cpFyQiE>&gFLQd&+(F?SJ)QCH(s|$_VVTf5yCxKpVBCsAwpm7_+Ym zx8k8Wa)G6)d3YuZr}viA;Vm|DW;}mi5yd#HNLhAupYiry6g6fXabyFgAa+lV4$E9K zq}BL1b$CmAc$S0Z#~wsU%EdUU4yF)!wRCuv36&SS&yD=(Gt@im&>cwZltxU{;g3~gOU?RVPrESBQRuN*t{4mBA1FLf1I5j(m$)<@sE=sHsw0!Bb zCwJlus@ARxWboq{CMYn+UoXevlPW*4O|BYE|4xFgP)lSq{3I9TtE`}B{mn&avjcHN zX(=NmQ3=FBy3jz+iK##c6sGFzsYFe$p|hK&YDXtWdA@}vBffmQrj6a?wCo03dJ;@d zI1>^=?AF20Dhew@!1@$zS^LyyRWh4g7AF%9lhOwXQae}{gL*y8bdS*?toe3!WkOv^ zK4>mtGGe7V9U%&QtjGy0hgFhPqiHb|H7_ANp(5`0CLQi<$$U1?lWBY{RdL^#)O!`U3_Z zg(17`iRAqQY(InXr^28#C+92Yk)T?IjE_EVm!ewi-HjF3^zkQO@b+&;j^g~S+w>$Nxn!L&Gahm<&eQPw!Szq4W5Uf}UB zR!Yn5`i^pig>Acx1^u7<7MuU3FsxFo3na{BEdf@w^hT{|>=OeFOU>QRx7h!}*+=HL zdnUBeo@>_*N%!PYpFcrF+niF!=vZnFC+)u#gfYihdq9OnxwGkx!GlK%kWwQt6fq1$Q@&Zkcm#mi1-SrWW$HaUyU&|-Y_QrePc?Ttzc zO5u7g@jdc!Z-LHw-d9rssy(7Rulq$4rbw=(2cN+m!*oU}>k`c~ZW7D$Vq=+g)J4ENZtCD*>IBr=~=a@TFxpfg&1LeMnKz;JuFj_GH!%3TY!bcEPXK8%z}Xy} z&EEWNxfsP?2j|dTPN3Fq&bhk~k{#m_Zr5V-UsH6FGM9 zwnAPIdmbcTZZF>zSs^i6iOle{LvC;R^#o*NMq)rYSb{ZgndahghM@~E&pp!n>x69KtkQpL6F@e04FA4joFF` z06$te87u(b#s9C3V;?DuhV2aup&JUZ3x|yd2gyj+sv+cK1w!QEVyrI5?4+t96KsNF^5SeUimGv9b+!r#yqzy=)E@q=5>|^7O`YuQgNOB*i0>euST~2s&em_{W`=0}gR&OCYwlV7A)OC}DeI z=zsm3>3(RCbt&f7=3~|t!f5$6*F50%p0)b+j#lFpy0<^xxgB~2AO8wDFyEc2iH+cg zXhUzUoUg$2?-50r){HRv_{BrM<>uqr-R>bb-mA-FdfA|=im#+MaOY`;)G->#_|V#G zYV}KhK4)}F7sc0!wOlk&Z+FoyV^w*9FF@FI$4DAeJmwXepZh83W}@P-Vv$2ctuS_ z3MM{>_i3msZ;?!@v(x^P%NJh-_sauE5kesMiP}4@SH*=ro~1XE$nlj>h!}L`3e^!g z>!vPOYo?$#4LDRz7A(f_KX|KO{<0S^2XfZBEk1(Hc{?&_;d@ zXYl2Y^GMit+^YYmO_1DU!q2#t^Oy5qsfi46#(^pn5Kz_sm74sg&6DMS(0c6c>`aaS zWeFxzvvF}U6fPwUXYz09r&I^p18=0UZq;z2yEln`YabU9RwpU;1ou9Y zT*o8!o*dUW8|Y}qu=mAEP71h7Hcn=;gD^tpp3q z8I?PFygVXD?ii0GpW+dl z5x-~71^d$b2uRq8JB9O1Gq~(|oT=BA_h+P|hL1!|FKe=VcB2nVGNA2%|LfwfJZpZ; zK@$0d3roN3@1isqYnn(~ekCC}bBef2b~nnU(@l{(1lI0}^~Ax%vRm0{$y^JQ&Dci zxfXX5=E)bsMucrRq}dsAZb}*8YzecSnkRF8@^@%hKMQh`CHiS8iH69T^s^sv04M-xLGLLj| ztH&$i{hH+NAW}OQHZ3>DUoh$QB}gl$5vHbscZ-Q-<^Xe8b&_ZrY^fumto*G`nq0cX zDA^MwvZS%Z+bBDLreO}Y`Z*_SmJ}*2rQoDQ&zSrg+u5>@N3I5*`xZvehY|rPdPyxm8QNzB#+x=g;zl3vh-s`%+SCe`17$JS zbSBQ3*V@Hv%Ur`74028-%d$WS0gd(=OZN+SU@Ea!_2_*2h9( z{ZSXiY#W=qs-3mD__DOOze$A*`J`zXEKCD<@#_vu{>l#U95A(MXnVFT3ij1b97GO) zr&!Xm$BjHFMfB2OvVKhe*^r%{K5+=b&?+?`lXuH}U!P5#uwhPviZ4UCRCSf1CGcwM zsG#)3m`smsici_ltBgr(Z(B6AEuHeG)f;JXdy{fXH>2bd0O5{jeTa}K9*O7tbPmxr znvONAOPGAkQ0EQS7F%jVSath*tb;m)fvT$fFehLWZt#Q#PK#)_Rm$? z^YgN5b+20P?Qy41r92Oh8} zhY~4xZGz%Fwn46Dl=C-?x`cb42oxMHPWlE^%F-}t9F@_jdV~gM{n9v}ZfBeKNnN{&uB&R4O}V*I96=u8pEmF;9`7}= zV4!Arxx*1p2o{thGH?2>JuF3)D(L90BQ2ob+Bugq;>%x*2 znLQGXko%bZdALsDY6i2sshHj{GG2yEbk<4tY;*2rhE%;9F~$pLb5b)JupEtjkrC-D zOck~^Qp37t;p;F591^2R8cbqkTq%pNR6DzEJqoiN@cH^{iw#r2y3ERZc~5xj>#nNU zXO#IC4;^pET3Z{sjmrvODbP@HQwxxj+7{@F8*RnuhU6`>x}e3HI9-^yh7N&fb~S6$ z&f+I>o!P}2o3pbN>ctXjGkq<+Xj|xb@5U9aF1=2&Np2G~gTf)AklP^@1nj|!uYyBz zdqubXvnlH*T{piLE|G;jcH$5nAeE4c#nfe^azo-C*^^=n|ROg z@D*L~EvG<;@(u+}a4!%3jevCzp5lya4C(b^s+$bA$0@j6>CqWWN-V`J$ zk=ubi^)=9QFsyuV^9B|}=woeAqWm1U;>)YUQ`ysn&LmHZTlSkr6A^?%2>m-+2^>fc z&4|m5WL}W-z+Y#d>~9ZxzPxaq)nDGO8(<_`*4yAJ4o5=O_8BoJ&Nz($4%k8nA{U^r za6ef1!ZkzHbNKbRBbDn`2bLTw!+1Bcg(XX>ZkT-Lq6fwa?da`c#;x1XOK4Wef-)Qk z(~x_{kZ+)ac|w_nf212?2uE0*An0;ZcaVH*hZ2mREodo;NfuoVaSue{o7FNyM4=ty zx){S2f#^cD~x4Y)RitKhAHb;^PTQ74=ESRrMFK8_-n+rXfWF+DTU_hkP4Kc z=N(wb?~w^H0m)MbUuwbQY>!>+FBcT z7PY#ST3;|)UZmix{dbMyr}mx7S``d6x1#;Pbtl?h5ZYSn0~ncVb4_$`KehGh;uULm zqF3cvYkXtJ2s8#-Wvwx>R$q#KL9R8|?##8lxH^C?ZJssN#$rOHf}NI>XExfm{&ge|OK0oIrX&jtD7zF~Y)Z_cka{#A*+IA?6e zk9`$|bQbVy`ao_P1ByY}zv1dLE0iv`Zd8(K?1OG^aQCftThoVsc&vI_w^%WDFBt2a zxnH*>h(EYl7u=7>3t+bTy%!4X&q=y(?+p6wra-g{GWb6YtN?EMsh3dM0?Q%La4v*p!-Q z0Sd2Jc&C*O(!i2(sF!&1-tR-{R*jkfh3ocMxC@6|Z+xWSRlg0tW3K(eY-@$w7lv$J z8i3PTB?u6$Mljm3kiZDS{IB}&Ho6U`&$+Erg?x7{9!yf0$UAm z((yr3oFrVT;?`GtB88GNsDAg&%|b;h`!}y_c4{E19PT{7_2mUi81Irzki}BB#^qrSo@(kl79dP!~1 z;yiQSNs5*C)F-h4DQMzl2QlQV|9rMDVKdj-%>RnVH}||P(suUGMCKbGPYvpj;p8(e zZgDdLXZ^Eo9FMtA*>faXXYdbizE$3^w>GQSSHG$M=2+g?wYC0Q#F(R&en`1$^sqC) zoJ)5dc|x^%*hWhT>YuOj?5H}GsyJ0|%j#dQm!F*dg{9fbsK(|%Ob*APy zV+nKC*C^>ZxWe;#U993cgK?Qng*)rHk zNxtcP6T(ybA>MC^QMlF%Uyl9pw`}i2h|g=!wz=IE{5IB=;B!h~oNxT^ftQ~txSyY; zqr%sH-!^c4L!Ev8w}6XRP@DcA8TSotxa9JQt9vUGgS%MmOVP8$fl4)x*d3_ZDdZNXRb!!uO zp`iJNZ)LOA;)VlY!|8R6j7<9XQ^02OjMn#;3C6gjx5J)!_KYUWnpUMmu!301|z7$r%eyOH>m9J zIrhFm@^!r3k1qhQ3@3GmXc=N1N&MD~PPr02z6Gk$D%u&~>B6&aRIG6zgp1!M3_1Ij zFTNhRiviXw>UoQW6QX)7cp0f*GjDdSVo+1_1yl276I$Ws=`p3*J&Jf01KQQa-*rO2 zqaOYg2HNGr-)*GXWsPWO1hVf#un&!T#XJ0>0Cmn7d|pbkS~`O%q~pe= ze-6fm7`Kc`Te3cuXG9v(pR}&JGUC^VAiL^dIb|#Fxl2DQY}&G$Vv@4Hlo9%!^di%1 zK_8up`|w}oI>UvrcV&bVrv4P`bFMeW6ETemWX$_72T_d?WhL@BQolwV`NmW58q~ER zO5kt8f2lIPVn@&%|0pu?3jg(o(SNEkg#Ry9=HC)btuLg3s@m#(=j%?U21|m8NPuEE z0R?n#7zr^MlH>py5}l(Y1eTPUh?z*^tGkL5|13{;!96weQ%;A3LD4A10xL zpXCjVZ~8!g4&&pgN!{z}P@| zfP;k~fDr@r!Msq%$r8kgvIEkE5CR3joS>h{=i`O^K|H}Akgy~TkOBw5!jQ0}e@hr( z1s;F_kg%i-&;l30Mmx>|-vvJ={}J2+egT`Mp(9a|DT*231wMdLAZ17zpaf2Um37oC zkfEqR%aStbshC+z%F0ozr)ojq&Hj|rG{aXM{Vb($V^8XyFv(?_|NfMYteWOD2vwFg z08UL&s>|7=Q%x1GQa1eExNOT@Hi;rvS<)h{QU!0JYGu(>igU%0GL)(vd$X9rgHxif zf&*8h4KV1e!ZZBsWeVycNkGv~6t;8a7gm=@YbDYY7|BmXBJ(3|yJ9b^ki zS2WpXEybE$zmR4Py8-heXx|HjQ!yHs{e(iUb3@Ti$*%NnOSLq4aSPr(aqQa}cjIWA1zH;)Y<(5+QMCv3Z-*0f~4eenZc(Z`U%01!t z65H>)$~#uDZ=roHkU8Wx(!ew59--J@WPkM+Q_@eaRsTkf%uZ5isd>t&=>IPO zUqGP0Cl>j$ro5pkf6g}6yVUzV0`DvQ`>#)>+y?|cq}q=Ne5~TA z5aa*Qlur%iGv#wl`J1MEL5;qo`mbmu^|XCo(?)+o;O_($Y6|utsik~N%lnt1{9E}> zRsKUC-y6z*mH$!h2g?0Oxt}xvm?~ zV!0}gP{j%c-iDS~dtgCu!}3V`x{~%tN4S}Rry?8@zZEy|F9wb7V&9F;mG}w;0Wr6lk zU{wokf~&1P(uQeY8`ev)DA*ng1*0@ev$a~x2E$E}W*iSmL+d5{HaFB(Voe+F>BdNV zGp#k!v@RGc4>ZLh?VIIh(-vWujwqqp+eD#0)EYcK62|gAwwbAPC6?m6eF7~lk&Ts+ zKyziJDbP|8UL9(|)@&tiYM>()DUGzYh7g6Era)UL7HA0_A6ziMYC-+xHdtO2VzZYYrKMn zDXs-sAIVrxgeQvNNWEK4MnHB9uc6LJM`Z3uNM?i0$oHWp%(e#u%{Ac`oG7zB*b>-O zVqbq0&q`CQyd{FThu18PglN8AW@$qk?jFsQ8>2%*IN^D!>u76>w8v<|UbrbG;b=%M zlQ6<>9J#GM7>#061{qjT9*D-4%5Cq1UyE?(afwTjr;vVYsFxdy>*|mX22v)5=(bh{ z!)sz|WxHToU92@0HOETsdoF%CNr~Q}a3~fEv{1`P2d;&oaPY*>R~_y%7FAHYl>Nee zL28x|(*&EB28ai7c|_nK@|c^IU=G;)=nUni_9H69Gh=0N1UT;gUwWh*exbmBRiENmr!9K+m5;wj! z7)8m6bLF%}q9NjII*zzan`?uJRZcj#CeWj_S2z+YsqSdSf#mlfhrShfY(i~q#EF9( z2C-H5O&QHr;cp@lGZN+BNGbnDlKdN4hdQG<(B52U7e+`O8zrP@LMrHWo5QiSL3z>! ztO*h^oENX;k451lN~QG3tPF*NCO&c_NJf*Kii=jOP{h{Kwhv5~&!r|yBDqOD;H=e7 zB6+h~$S1Ex~HKlV8U1!?-FPWy`UIF#FZx@S}2Tm~KaJ@Kq?)+jw2 zI+XkxZ8mlpk~f5Wk2}-Rj_03|JR><#A6XX+qnv0b!Y7e12TxQYAvx*Rer6MztnTp2 zvQ16FHfvw(=f++xP=Ao zlU9u!Uttbd(cBU&Ck={4DBYBBWFu)kEHyyX=%znietb)bc=k7zsxDD22Xc{jBL1MSI{xbZlNtBF(v3QZJ_Ev07O zmA_IlbQX#~RA*(DQlZ`K6(T)X8)<1-g&G-~;xuJ=<`{N!H(4y7*@T0|f(csT$;z*& z80$>MUhQ$R(JGOkiEk9CO&#s+Xrto91JXr^eT-D5vQ^~ayoZ`NIZ?_H(NHc*;}dBT zmLeIc$YAuL*)vs^XP~KtMqjWLX~$r~&vP|3BE4eAYm$@bt@wpblN~$#Qm-rvSKChg z0>Vqp4$Z#_VW&|v-wvKE7vAQLI+Sx^VwgzPvil;+H1iaE#j4f{u#exY(#2Zd6!O4j@tAiB0 zNN%HP{Gl3e4aDsBOol0dtAiV9`hjSk9D08Ax^RGmPlZ^Au^ZZ8I$2)UA;?AvnNIr* zEK90+4abu_NYo0iLvtdWz=#~4_{w@WB@E?-kqEih$pTvkPauZu+=e=!gEl}ZD=Whz zQh~sircK-1JKAETq>{_eA={;g>!?ww8GT7L!xQlrYb#Q{NHk`aCLH(Ngym5cI4;t@ z3>i(LYby_hZRPzF<#ipaQme8ORf!@u7Rl&~j{MYMdEn|AnJ2Fi1x1roMkR-~&Qrxi z+OFFzlx)j$u8)vw8bm$EV1c8YUAgi%4o$HNbhQ$GR<<-`E24EMYnoyvzZ~JXgtS2| z^ZPeW?{2epyx$?lW3b{k%>G*md*p8!`!~~;f&(pyaHAme3ke>KbH8arWhK5X;YO++ zhb{>>+YWj^Gxm^lR&a)xbSpAj$n&*(F}KkZMLA8RhRk!8;x?rg z^g&Y_9pLnKI<6WEWXz_Z$6B#TOK^TN_*@!qJc}IIAkIG8+}u!Pd_y=IkI}`4w@WM~ z(6p9JfKmhvxS>NN+D=Z1C44hun^FSiU3cJ7 zUl-g=v1&Ps)z94dOzN3Z(%;k>PQlm=$yxE(wrI1?!`etkOLIB82=k>K*Vo!cnkMhk+g%|>JZdc;xeCl7b=ejfG(d(gwaV%K=s-zoPs z<^DmrFDds8=CECfhuy?(_OM&ntsd6NZpU3owfeBG5&ko4{_i$HVs0Wcvs_MBrfpj}X{T;86mP5qO-y69k?l@Dzaq1P&5-n!xV~ zJVW3Q1fC`E9DzR)c%Hxu1YRWY5`mWqyh7kl1YTvYdD!dh&mQ&$fxi%VlfYX9-X`!4 zfxi-Xm%w}MeGmJ9z=s4rBJc?f^(lK0PsGG=(`QbfHgodC$x~)bn>2ai)ahjflPAnT zhAlc|6+`~XPM(cLf#_Np3du>9m9)19Hk)^Ky3|}`xvJu5k2pp&;s}KvajXcSj5%cJ z5O-Cq@`xtn1JO(%$iDN4)qEJrF~?vc9uenQA+l;!pan%dEtn-K#Ue5qLqLnaqha;;Z&6_>^Y5sc;KaHQxVCXMg zS<-M}4}Xduh?6EY%IV=9>^nS!rGaob67yN=+!u@Zsy5@oe5O$JMZ!KLSTW&DVc2no z!C*{PU|rA`?Pw4BVrv7~XKfI(p{OsA+81?Xdq>1~ z8l!zPHDPcVPHw{^5N=M4AMfd-XuB^OSsmLLFz2+*z+g5Zfui1*I+E-}JYY_o9~u`N z=c84x4z&k2%9z&JaoD}4q$L``snS;$U(nh>RCZex42FHtSb(&*Z(}I7RyHasimnT_ z6``lL5#_77B$XULNwgsiVF%3OSFhuccHnH9#+9j(@m{B)j zqKChaGKb&IbCA30%IbaO-=99#nc-?gLtU9q6)}(K;3Lr7>k-6{RkXIXNPCZzNj{-g zS5{Y7QB&=!uPv#rD=Dp~d_`SNWr@sHmMtr*#F3}lOdDU~+RrBgvcBq?>M}c;Nc2^k zO;$ryRa;iFz(;QkD(dUY7NF>r1r61U;F-V9p^2C--Ksi)zM>}DE`ONEO$=s=EW1YDt8{&HsN!ydj)5dxDVqW7B z8^lIDo^^|Amiv~KAhL*Pov*TDNttg5hs#R zJ4u}EVb`+jRB?(&oGMO>OILe%+9OUU(Ko7;tOB_vw2u!#C`72AJifjSXuUQ27B84z zYEloGyf`^RJ6eDtEdE(~uSToSI(;5KpA_xKq(T42K2MQq38U7-OZfuQgWq|0E`fE} zN1VY+(Dp`2HwFbA9(SL4R(u=R;yJdRome})G3kFOAI2lj5-ECjekOHkY_s;OMi zSlUomTT@%tShK9Gw$bD|5=;?vYi(PCa^_EFRD$$rO`MQBt`N8LNRWqb^6HmGnzdRvPs@k2s%XOumhD@qnHq z@jSeR=zRe(%Y>-(?tK!`{4t^M>M>&r<6lLopJ5z-ELq**)gE!7xCm(@JD|v+mZ$*D z9#l?kJ>p_<3990TFdm#{6yHgSN&59tahXT_PF(KcC-4(Jd^4@VU(-fLG_@eA1k6|v zok)4%(dN9zLEpZV!q4eEbyKh{o5DP@d?hR0846Qrks+%^kANrcONk z174zv?H+NhxGu#Kc8Z-bs5E^p8+Cm2s)n>Qnh_e`8g#$qhJ8pS!G#iePd+> zN}xH`lQ(kl<1S|-`hy;JJq>af`$-jdd&E8BUUYMRO;Exk?i2T`VuwfU6c2dBF42Xf zh;HKF-4w4_)#MR-#9js{jFC5F@BnusoYWRroIu4Fe`rSPV$c}V(n5oF~tlak9)gG7xTzBhpBSG#`FV6Fv$^ zS~pOh4ojgek}-xsDUYubyt69ko9#n-<;2mX7j&&b;sl&K$3!pf-Ii6F_BO1KS(^U( ztXHzJ3^QhjdcN+X93V|8j&& z75hEnQSlg_@`Y9P9`QJ7o}tx|^i# z9{vO=w!K8DCx}wQw8H5AsIgTB(p(MowMl`JTVyG;p4 zswl;glFn9|?8s}5w3~rTL%uq)t}J?|KD#EZ)7+f) zhRV9Tqj!92i0&$DRv+S(RfY2tqn;)5>5Go~+I)5Vv%_4d(5xGOWwdc1?0^qK-TwW#3;BPHC|M{!Mdt|y=2!e2 z&hj;-+_Ri~r)V!-RwhHx$*UcC)e~Q?-Ll?{I;EB5t$gScv%jp(v7F|rAie8HDc;(F zE#2}(4{o=&=c67}F?2=R5ept}zMT7oH)ZzA18>h#++yMaWCpsbwUEzsA`snqraa3+ zUR^^2jCSHx$EW|H#4jSm`VP{mS@N1ICr9Bf`9?>9X3zL5-Q^Hpw^$;%b;rm|H2 zXu_t4uWpNwWSM;4JGyEd>6i9GXHEyQ_u-7WE_6Y}Z0^{9|! z6tZ9ZjYvu`2mLvEO4t&lN6I39F^y9A3r8niG~vRmQ{VP0$@DV>`K`C|z2mbl2(?QK zxT(i6NxUZb|2S<tt$LDn(2zLQUj-6BUl73wx?7rAM!BjRtRO-d)fenxqwzp<7N-4+lU zbh%uP!rS_hUMSj1KiBGccTk%66`y$nowvATSxIAkO=Hyx3T>1wDyc;yzp<)hseJNc zJ|n>+gqT+~RMuC_Ur}EcZ-w5KdtGp|)Yz#Hq^;*jDFvi!t^4)#SL3#OcW=*9JQrvI zR!fV(u%<@*U>Ms1*}&LUPzeLbF30?K0O0I=FeuWFd4s|*GQB~j1IVS9ZEj*W%k&m@ zt4wc`^_;GiG4;|lvi!b_-7V95tonP|eKNh@8fS-3%DH)Jh+-(#Ngz2`hclN}saQ16F#_N}smU-&^T3R{94keb!2! zv(i6W>GM|lf|b5#r7v0O%U1e|mHx>}UuCb!^mX=UnZ9AAf3eaxt@JG`ecMXkvC_X< z>AP0?9(!M=A6V&!R{D{Zer)Z}C)WI*TIpx(bD93lO24qmzqIz_D=YolO24t{|8AxK zkf}y4AM)3~%P$u|yLoYw;g5Cr&31s>ALG}tP?gB4;=Md;aAeTU2 z0{sZ|Cy+;A0D*x72Khx73??wduXMps%K0cajKFXLBM6KnFp6qNQ*I1_d;(($_z4sc zC?rrsU>r3bPq_&MCK8xLU@}!qq1;r;O{3g&0yF%5U}hK0qWo;Xs|)7%y>q+ZFu%JC z=J|OSl=!pfK^M&TXL~;Df>M9hq%K%Mt;_s+7nBoNNMI2TRM7=XsH&1c6#=*3Tipd2 zes4_|sDAI#F3@Ry4*`vUfrLC930X@t+y`}-tw$Oc97K9~8;FRzkm9?b-(Fb8VR@mHJCX9(G*9h@BfH@!vpIboz3rz@J8?$}dJN{L&%JOA z16unaTwR_x2&4Bwd>w!{G-WkP{B{wsb@5R$RO{Oigw{-a-0kp;kr2IYql6;#az%Z8=h5 z{R%=YcQ>>n&vnAiV%49g?uKZdy1!WS=V_R=5G>aH-O#ZOR^{p54T$0LJe}5O=DZsd zC8gc4iApwGHOE`&308Wdm7Zj!CtK+$ly*V}W>2+>PBYUyts747hBN4kD3+%ab;TT!@RRtd&?wUjAZDIB_9}EB`~d`(=&%`j!u3>%Q29^i6vLSFM8v*yR(XfjZz+N^19%0kq2{sF!X7k`VRt_(* zCGZ-nhBsLaywB?46Se}rV8_BgSOC6bA^3qE#{_F*8Eg~FW+$<}>~uDeox^m^p@dWF@x{=}BMUS&t2j9Y`Es-3&p2ClLbxyCNy zI=hNzuv>U9*2#Oby_i19v)S*tm%YYw*$2EY`;_-*U-CSj%?I&*d@%kugpc4uc@g*V z>3ld}j9*LnXuh0};YV{nU&RY>7bfvmJ{k973O|)kkUK$M5W^<5Gs{%llcw?8P$N52&!{ z*1H=ntSUSJo42&u&jh)yJIbJMBuFj8Yb zc=%(G#~+75{3#gC4?rP52$T5JFoQn>rTh;_oo6M=eiNAlH7bzpiJd$!o97WVU^EQp z1CSAvlm!h$!=Wc#a?=b4{?^aah2E+-m=L4W$@@1)`(u!!@zOUPhi@G_<9W6gFqPU< z*^ac1Kgf=K&B_FY7$1tqjHOV+$A?*i60>RC1xO($B`{{VlvR@gR>xtDMn# z_$bUNINOts{M=rN0i%bM{Iv$FZS~ZBpM(Ww(&kFGE-H_#JG@Pj{yB`FMwxE zqCUndSrrQ2-LH&z!E?M1~5RfT)uW`+h_L!oOg+`^$) ztzcA4Svcw43{X`U>#V8(3kvqaJ@JCdJ2XUj&fU183<$zixT>|VU8c9fU2rd2 zpxy8g?2p@~a2yQ4J=g=PvKJ5TgSZb5Lzc21yvk!RRCydmDNjPaau6mczlWL1GcaFy z78WYc!7}A}I8u25)+(>S1%mGTDMs=NtzDR063%DcEPA3(SA5j>=P438lGZ=xsaO{T#&3Tz*)(#$svmK@9(SjfF)`7T7v62LjAb3{hiIm>kLbObXwR6yDJV z_xS}Ll%2_;y<{zkTBLCu(s&v47j{LF*JBz%FLJGEKEQ1!t-b&cc{e<;4L$E}*tHFE z29cTE4PBj}(Rr34-~jrnm~=xo9W!CZLMTE}bO2mM4IQN&=f*a$Pk@i0f62qoeqC>5v3mCQx*5sq=@ zT)@kubxgT(%n^&1pu5rwi8dH*LUJ1fOvY6&!lNNlNL-O1ao92tCRmze$X2;NwC;OJ zxwD&eg6TwL`n`J+;yg+D0fd*h9E8|{l)nlFiK}6R*b3vtcH0h2aMLS!D`-%pkq$)}t0%=@{dvVJ9AzSQ#zG5ema+l3)9-JW4U|uODKjo^V z7nY4C_#|GPW;QS8H3_TJMrHoPPcuwXH0}ab-)b!J^j6$U-bY+71@i zTRQL&?|##78k91D$;i(jBmV(B;#p*q7j5ernpoG+#JYxB>!RG@m`hz(ZDOmZSoV!9j~_#nTa)ouB%`VJep40?`)Dd z5t9U$bO2LrsRq8x8t`c32WmeI+2^sXki8EcM-Di8ij5U~rG?f! zETi@we?k0^984!cg^j45#H=0%qORaaTH~IHI1-k_O+oPV3V(qq34Tuk7*EPGd17!k z{2@=INdwo>AY4t5;|k(>SHn=(THBh3CuSd>So842nul9!&VfvR6hFGhnveO_Tj4Jl zG&qG2=2oo7t!T%sh$3p6{=aQSqlH!o+Yp!KNrta3dK8`>ByK?Y(TUb{H#}REW{9{> z1-I*T=;u1i#-e!%RPqw2wX4_ix7!R zV4&-FhY;FvBnI;)-Yk*m=ZHk`{{@L_5Q%FMi5q?qiPe0~A(2?iL%+^XbafuePvpm? zorrY_seP?=(n^vFIwkz}oE3hPDtZVu`eP^btHjSr)YwRi=d;D#*Q2OK%Y?xw7>ibA zqlMIHG@Ze<2M^9Z@VXv?A+ASYlv{|dT~EMV*HbXh^^6Va5)0`fWC^k~>_~I^ zk&T7)49lu8{N5KhOSKoIx^X=Ry6cZNJz@0FqMV*7TW;Am*avY%hc51q6?k7vb-a!& z6w>jk_P$iq4KHs+Ytj1(-MlDW$Odtz%=;&Du*}+5=|%=?wL-U9>+-%vzL{D3I^EP@ ztzkM@=wC_SidEhYxt%bh`gXdQm{{y4f6R@3S*ky#rTb$V`eW)2s zF6lhDNT!#|NyD_h5wU1Kh3; zVUp`3nC|)%x9oFR?D`ulb$tO1uCL)3*WY2S>mLwy{S%_D|G;L~_i%#ie{h=X2ROs^ zBb?{@3C>3w?ou~{>)Z<5;ug^9cEKHP4eoM#;68V6=yGSl9(Oi8=;a8q8_uyZB z!qz94^^So#$IipjJD=m&d2=F&TZbo)IFjNQeY|fD+yifQ!`sVIyuO1@*I&~jy6(%N zxBCj{>%P*)%>5EatRFup}?}z^t1bVobm=3 z;J(GSlA#W+{7HP6MUW0eOR*-(@xEt8-rlc7VeCO~y-&v{A6hu|fyAR$ApK$1gPw8?R{|%sBAh)+{H+)7hg4d$zhT`*hRLJG4R{?Q2+_;cMdb9%8z?pjti{F5~3w`MG}SDwpzW;e8M zLnSEo%MqFf-ylCaVQ#T2wPT`wq+PQ9%X(q(Z%eAm8}u_3Hkg{<_~VP6tO0Yg7AwPT5@b|AMrKqUvt=&LlgLSC`~9BzZGZ$*bGRYan^WG*_;g zAn{Ts63_DIX2{H>Vm(i%wYhR#TfyB4!^U3H2mTY<1OFX6cHLqb&plIPxfIZycjHe+ zu4@}ivD5Geq9JbAkKUg!N3FVHQw{@@q&bX9nyM^UHHrE-3D~VL$h;BGm3ZB3KJk%H zbp{sRkB2K4p2q(gDP;^|EWitR0mS%hUcoEjf7X+R#ZZeU=MmuUM!*2H{u;2X|Jmvlpo_2o&FS`E@ue-m6cijJmFWuk4H}3z!f8GCsAKgDPrUElm z#)~dNIqV{K7)j{lTbqMQLhq5Qt z5$tJoBzsOB!(LYN*`L+1>>YI+`&ga8K36BPZ`3L5J9R4iQJu+|I*Ys2*}Ru}8273r ze1JNi4_6oPe032oP#5!w>JmOht>!b;8a`XC<7H|+uTUF!rMiq)t6qM%n$1_LD|w@O z6u(r>;@j0#e5cyPcdO0(A$5(EHqSsGDLvxPu^!=P$T%P85AieE?GzSgQ~6oaH;h5O zydxKIJXG_uvCIXh!XkbSmbr1Hc4 z0_@>p4QwI55NqA+2)01Zp|WGxBz_U*H1;waA!pO^t5(ituy>$R&X&Q8K;;+9Abd4q zeF?ubB^(d@vV@SfYpui5w3gc9_$KXl{Blc`EU{Dxo!qR0kVVHJhw+3G@un#e6}@k@ z9r~ynel{Kq{0c|>=BML#q9cA+I;!M?^vHW{_d1Z+Wt~ykI zk>3AY$NpCzs(<=Txq6{v|E-DJ{k$BgjJ;Ty&c?NdD z)HH`v-3~7G+C$v(9B&5F`F2M{2Bsr&gA*d`VMiA5rIYX$$5mX*ue12OUiyeKvNnii zD_<3Lv-F3q>RwyCqDN#+=B~GbNFMoUL`h-vYxxa{u)78-nKU%l;9QaGLM6hq^y$oK z_ad`tV!F)4beZy1GM8nQR?I4s-zeo0Zll|ZEzzlGl_QRyY86=~DnW=(q>(ts{jdegMILMUj9^d!Nvwkw$4 ziFtb`=Ix!Bw|8RR-jWzX<_H5<8U~#v2K*GnAPX6&h@@AsmZv>#J}gys!`Xvyuk;+I zcY+u+O)okK6In6ZAIu;-qnl+EOY5f~SI;y2a{ttB<|)p&9bU-Op2*9%pK6P8^+a8- zV&it$MRmsgWOR@vXXF_NAScg|mK=?nr_)nQeLvMa#(K*lgNh9E#ba>>=2&L2$9#G@ z*|I|NJZNs@uq@N)DE8Qk^Nc+#J6VyiTymI~YBOZd9Ljp^&UJAw3a|9qU)#b7(@Rko=0Fwm0y#DznMPPYnd-2VjgsXpGL105OwA2mgL)N&{T%AlFCn7-6E>;;f^*b=!$s=%aH;wO zY*T-P8#D%YY8-ZG0`_PwcwTeECz{T@S|%H%WlQF{8a)Tx+7%y`b({E!0+I48Ei1% zPFTzD#Ig+70Res&<~%7ex4Yx+A?t&467wEULB~00<+{Wi^XcH?L0geMSL}jCMu6Tu z?`D0r(z9y$cvlMk-0GqOFoKM6McU#h#QJUpuW1C!x6)(*r@TkZ9kf-xQu?kFjB0Z% z3azZey=_l~R>}c!)%t-;8w|QO1TwT?&{rD{K5Zn7(MCa$HU_3@V_~sY05w`6)N4hs zLYoBZv?&nLrb4?m4K`~tZ9?Su#9=<3-y_w43oYDx<$dZ@7|HLG;j1W0t^1LFDT0(8 z;5#gdf0-47pGrr#su0a<*3bSTfc2x2f`YxQzXHqYx_E5i6P=({7d~NL8LLo;YJ*hA zB$=Aa9YP{kn**vg7kX=lL7p}rMrjMcua&_R&Hl7%YGN5v<=rM}vz>^ZDdTopHy4X+ z=pBFw5~sZ^j{|MjF#6of1~4FxAcqZ1KHX6)e2rpJ_yqcPCdPAM9?(tD0-2f^52rUB z+ET>$aKyM4F|LQPS_4eemccA-1uWE7+Fa^I39J`cSm(iT{s6l(O=InHRIL-!RI7Hh zqh5Z|vGbJl&H+cg+?D9O9GKi`}Eom23{pu4LJa1SLxdXpH(e>pO>*`V5L zB*+@b($?B0$xUGRvLlAm(lKSEYAubL_m^*?6i-GoG{{Z)Jmc@LDB8_NVV@i}y0Dv#SuO{V zLv_M}>J)XCZ~EtbrNSF4p*3tX~u039Eqn1iYm^Ycv1ewl;n!Ji;H8>T4K0#P`YP z$Yp5YJ;Wcz%|AlAt@|<82L1S>{4va33-kEnRF<-rPb8RTr?r>mtkV9{&d6coD?35W zVH2o4ry#L?xNn1Y!mWkz*LAdi8T17E_AZ!{o7q33*>8W zL810G%+&r0bF_DnP9NB;>hi>`Mk#+%t}`D7%NJ-IW}?cZ7ig&~d5Ryfj?xxfElIa2 zW_&8gd{gA{E2#5!cA62UWY`MXtjhd_Q$ZJ-Xx=7_!r2;AB z8FAp0Cg8*AOD;PIwE(`r)N{by6Tixd0>Ic(BSHo2Qk z>4E|HF|`|xqc=`gHiu2?hL^j*jo;IgRnu)%NB> z$)y}-TgqVko|mkeXRGqzcS*9U#8y>+-}94I^KDhr@VhiwRcfo6j^7JpRX@L#jaL;Iqo`T;;B&&|FRgJ;#70Id< zwyI&KeqD;iD`ksvzm+wWUR9w~X{h-+p&%8}Ba`|r{tLo{T2s+ixfO1Q58)m77(Rm! z`4+Sy_F?*+qA3~hp;DsMDh-%kpxmb10UwI_qDIul)gN0$ibnehdg~ne>k5q3RhX=6 zut4`fwcZOF^(+YK*|1*Eg$;T?I6?0Z*Xx7fR(%NEt`CLh^ilAdJ{sQ9{qV6~0H5iF zEK{Gv^7P5fuTN)F^ck#7pUrCYIqX<{9y?AiVJGNi>@2;UZP6>(4f)=vC}_ z{c!eYy_S8ZH?V)|%eYHl$uspMxleE8e*IWJOK;|7dXO*EL;P6%IKEzQ-0Q8M&%mFfD$N{N1{ zQl^_NAYK*O56bB`5$ED=MMCl=uS+*J)OXxm9?M8%lM6G4m?M`E`JCL_#f%+ zOi_^4WtrkhlvT;H*D$v%QMLuLtaf+C%S1Wo{CS!~)WH~OUhov9{6bvexdx%aLq)3e zCbjF%>MNvmA%B5886DW8$hO$aj%Hxi=VtY#2JAsrB_9P}_bBYGD$HTWbhE}s*|F7~ z^42t`NOZG6kqd$8*`c4iYTHkr+zvUNFpgfV?Jssw1jDtz*p23i2kV>YHb<3jle$^6 z{J6ty8mz&%ZDam;!0V@*wxe>`YIz9r>4JDGJa4vLvzM*qXbe6|w@^8ZetK(O$z{-8 z+TXT8W4v8_On07p50i}!!nl+(y3V>iLOIeRVXIvwc0!+GRsO(L?Pihq&wpKeSX&ni z%5&wg^@!d!n2z%e>SpcoyLD@tdXFZ4Mtn_*dY3rHthMC%PTrc zANOzr{@ZBAA2yl0*e@$nZnJ!#J%PNDuhHo?e;sZ$7%3ZMP=gUx-G~D3o6=Gt$3Skt zX6sQ9_Q5g!+9^GaEHvl->W_~@)++sAUE+4Uh3h0`ZoD9g>|C^Fi-j_GuzK=!=EM`N zi6=_Km!7I2O2?W}z7-VZI{>wm=n z0O&8F41O7M^jD#u{yO;dw_v>fHcZstL3#Wh%+lY7a{VKy&_9NwF>TgAgX8qiA);Hy}_3z*^{XcNI{yki&{|L7k4DK>GJZQM#1w)574G(;3 z^oH-zIbcREa~plxL}LJ(Vhm(u#!yymjA0>TEW5}U$F>{e*-m3Jd(4=^UNdH}zZf&w zJ4P}4$e6>vHRiJKjl(!MO1Wy3^S;JHKE$ZtBaABUH){ASV<|5;YI(KMz>hJO^HyU8 zj~GYs(~YC~S;jH^JYyBV#AxDI89~0?Xyv<&_54XA%3m=$_y@*D{)w?kaT}*7y^K?n z5kMsoK2~~La&#i=lHm^yli36OMg9^>&lVWV7sj8uQ z_M+*?uwhnI>nbaZ^#D6{Cp&E~JDtH^b_OH6e4u|XJChO9p=VvWlbxD~aqVSiG1&Ig zdpp_L$sU!7kp_3d%z{K;II0TUnXX(ne2U-I=&hrG98zQsM_*R9z#93ne32y2`J zhH)PBH!g&M#zl~CTnv*jKijwx78_fj-nbf;~VC{B7y?Erv?|4wf-ICS&dF?S+yjM3rOx>kov>BN%U65xD8aJ6EclEpr3IU3^DG8QN}$`WZaA7yAMi@`(cT( z1IgC~L1T|C4zxP)CT1DGi)W?12mK(iy0xf#Y2}j;qsbHqrk8fT<1g(9@2nhleh#C* z)X>+Tt$d|OLB%|_ccb!Io$(}M`V{mv4#Gsk{`X!cr3H#&IRA%AheG|49CPSEIjO zn)q>m`L@dI-vjJ^WP63EFLr}#zsUmf7YjB9fn#iAd-=mKm*!acw)U=P5pJK2Q?iI5lVVHdA>fL+)LZY=7CGag`*_pnRo>}6@Y*`?GJ zZp~qr?Ssx0VmJGpb;hXda)+`jsLYjGb|sam_A>8QDxwLjGTJ(p{P{a9!1XLfY90fl zVHJ$UO__>kssdKS(a0d{QSqFGVs9(9 zK>z@HiU0smO9KQH00;mG0D6u`F8}}l000000000003`qb0Ap`$FKu~qacnPYWMX44 zL}7GcVqtS-O=WapL}7GcE@NzAb93yx2Y6If`agc!z4y$_oqH#f1Q=>4Qc@^EKmsZu znZQ7rDFUK~kPHw=!AwH27p#k`qN`#mu%WCXRxG=gwXVJQvi7e0-g9o5$z)hq zm#_Q$pXdMN$-U>i=iK+S_q^}tJ!KyI^{@9JghneEcl&9>rc7rX^ko z&ERyVMk8K2i_X?)DW_##m}aazr34X3r79?Iz)PUmtukJH0AozLmv zoF2jHk(}0Xx`5MqP8Vvl!HWjdLczX~(A`EsFg0&=rS+LriGj~i+787 zv~t?U>2fdP^e9oec1~l0-r=L2bOom?eRLIF&FRrzdJH{Q!&iFgarAh>?gUOx6p1Hs zda{?ELf3G5s-U07>FJ!FA%bUW^ej&Q;6)|C93E>0@oX>sBRxk%&lSAR6SQ@r&gYBT zUm#fiNjxsp=tZIu7jk+r#}9D2UQjRL^im(aj9xAxS8%$4(iqoq({WGW6aJrGx zzi`^c=_XFE<@7p{aWkjai`L!1>5Zbio5W*_MsF77-XhAqm7cI`*Dg+Prn~40?OYfq0bGlu8b`PgJIK5W{@8k4-PN8ZKa{3UbJ2`!r(?>Xcl+(vJ{TrtM zaX^m0f9LdZPM_fPNlu^Q^dFo)&FM3oKFjHIoIcO#3!MIw(-%2?iPM)keTCCkIem@O z*ExNI(>FPNi_^C`eTUO`Iem}Q_c{GQl-$AThn#-I>Bpj;pKyE)$6Xv>%kgH8Z{YYQ zj&J7pR*rAy_zsS@aeNoY+d1ALn)9g`uFpi%|HbL&;{64uUvdn+_!XyLi=p{O6!I;n z---A4ockB2@XGt$1j}zD&D)`!H}0>M#O`1#yC?TFH%)(1w7g*fZWSwGJDb2fmpft(HEEQ_LDyS^8r z^&Mw}IUAy}pO!4EM1S^j6MBayE*yY|e5x%jGPOv(cQ5;cP5t<2cLb zY&>WCb2fpqiJVR1>;TRtb5_9F6wan{b|7a5iRvEA*)*8G49b|!SrKQ&oP{|n;cNzH zGdYWJHjA^_oRxA`##uRM6`WOab_i!xoKqjoE^*Aahx5`*$JGT$k|C^Fiz&|6!Bie*{PhJ#@XpGw(Jbf z&J^#n!~I&IP$(=W(`9Q zXE$d#W#}4thS3K?$kNd^r0r7ZHJRTB{o#OGZcswE=kBY}*;_)}}_`Aj)*Vq#pdlDm~ zrf_;`xUR6eZu-2Ma5Y9`{&b9d)wPwC6;(CWbtSVg3YIRdUr|4%xxRJrnCg!9rq;z% zF!C3*wZ=N?TRRS|Z|;o3CzZ1;Rz-z17~u#7+kqgPL#{5G87>n3{{yiiJ^v(Hak48t~z{(h;raxTUlIK6RxYO zEtNSuKq?NGh7(9$_^4#I%fkoJ%6L?Va*D$x;i{^_>5NwY5SQ^2Yj(`i1o|=skW^XIn?KG17>UI<={_spBAw z#*X|qU-ul6QHMgYMQx41%`9zdjh1(|ER43-)Gus~iXm)ksBb>BzP(ArZ6fPf(iFpJ zaB?xlcD2f)9rYp%RaGD{yb7b>SzZP$m-h{kF{RotXIDE8V`NAs43dq2({=vKe=%wA_YG8x|N4) z8BqD@(O5@S+sa5|w6&uNzHi5<{5Q5Ca@cO_tTjM)Hn%N?8paxyL|f{iXFIIHP+|>j z%Y`Jgb~ZO#Bzzc1wj(2z_3a(Npj~nkRo+dn#5!6!x}{ck)OSQ%pixt#m_^%HPw!lW zQJ)^w2J)h4JLFP3I+r(#G0e2`bapf~k11?#uU}o-6qC(Z7F}JlTGUo;Z(9ip03$kI z=nd8(sVvrXv}j6Ww4te`zBwimqAklY@^rKKX)`09 zxhC4)0%{;mfa>=extjs?*yB-Fj8Xp-SrVp@tWR5WXG?2kd((=h=ICP4#c2(aR9@c# zBizvuZ3nI4UEB_O^$;;sP=btrV2WN`(iRg!AW5P%tTQIMk}m?8sg*%*oFB}|`sU`u z!if0Vv)rKw;S(b*N_6T5x%`%By4CSW3AH)8VIc~jX=J=r#O=XSB}KH%&05ml)?#J% z+w$*Z_PTlE5-kNH0!51fgMRDN;A%Z*pkvclOC1w%KX)suwzW4_wm}*fq8Mpi)Fxy} zOn*yYaoAE-aa9URB5`!PY3MYOv%M`AtBS(Zh_*HWhm-f2V*4+Yp8}+XS z?MRK)=^E%@p@D<|SRpypg+zlUfmiyXruJAzX>?HssJUosq_t5@`3y;|YFfOc8`)?O z$fLc!skOrr%3!-aI?!RR6!+^%tcfe1j93)7G$xmrX_0#rndUHyHo67$?LkZ6?~OIr z$ClV%oAI1>_o~qB>gZ7kjNMv7Z`C*0W{J#?fOLWkx)!;9XThMdK=}oN( z>AezCD%;x{I~(i{3-wHJKN={~qKoQb>}x>H#H`9hVr|X!)@;cX89;?Z+q>5$f!?ha zewS_)9&qDs786L}RmmrY&D`5cv-L%Jf`WHapvRKF z>1C(57AR#xEYdooy{&Wk^wk#bN=&dPOmhB;_Qq(t$e)>%P#tXsUEPz9J1=fxE+9^&rLry2RT>vocP<1iBZOXq-T+>J z(b5yla7}v@bk1^NaAH#E9lLB5;`WQH6u~GYbd_tB1Bsa}faOml!I$19FtYWH6|K#y zEg5rX!OXVi#`=X#%}pJvtyX~N0WDYwmOf@pNg&8xw5*NbY>k3dlGlyfJzO2FZ*N#) z&Af1|payz2<+c|Uvsp_5loYeSS{;M&OZZ9<~!Vv?*D4cT%MFD!p5-em90GlS5lS8}bi!26>3-hKmA*+y)Mqu3`3n_*- zSRU~F*~o}+T>3V)MPqTz5@~H{?re-sZ*E%%ABLjBWHoe@SeOjv0fcOIS2i-Gzm}>4 zcPk9?TieY`YiN&(StYnT7SP|^)EZ3$IyRt_KBY$jHX#FJEG=a9958T) zisC(s(bADA-H$l2$AZj%0fjPm;QYqpYw>WvK5nIX|T4i)n3pe zM_C?hu&EVhV@G#c4~j7aLlUc94uygNSuV`GSo^4K?u?bUwU$FL5))6*M1n3Sq%=Z> z9pTnSJ9i@0cK?Ij=`#V$gDiI^mI}4nyRBmhXog~UDjwPtYmy^kr$pR}C#P7o?v|3# zwz4$^D?v`dN03u6=^KMSiN>IMLgHf4I1Uw}l$3agy=It@#s0pmX%%=SyZPQt-2L~p z%a`xId^a)0_x)m>%LP1+6_!^=Cg+D+I{;ZmS45k^L<{$-TWSdmiKGwcPLH&LMsJBW zHbL*m^g(WVbB8_k1dcCkY;=64tkgM*+uN2qSu&g~)9X7Lme_rd(GZ91toB4&g`k(! zw>B;BbbOu^ndE$r>v`Zbyk{mC0d&ill`5lyq`>~9u9a+5H$J`GOtOiE%}w<&%T0+V zw1S@{=HkeRv@LuQC?9+2uA|KgB(P~0{XL_-z6DSsM*R~K+N01H(MAA_Vpcbao}1t# z7k9IGg{_Ur9oXIWjZFM*ciAi)=yqvw(<137TQJC}4`j60j@+t(8wnyRtbL;2&^Mmk z0Y(SfkCNAQr}<$UzbB^)3T_AT8o+m2mwqGPXY)MZA@%~ zn+C35Q%h${%JEIDE{60-{&y3;3@l93@@6o6(KyQOo1E%eqQo(C61$5@Zzov{aUZ5Mgs9$I%s!~R{S zI4^hPY;jB&`=FbYO6&j|$r%-GwCqaCBukMc^rqXzF!>ug+r{D%h>x!!G1fD4Hz&)t zBr%rRBeSJ9+{#ziuZS*(x{E<|JJoNje{+#TP_wzg)eWfPJF#7}f)+TpI(phg!NZ}8=wsbd|((R5^t9#N^gSBY3-We(K$_)aWT-z$gGtezwC=gq))5SJ% z%$F%#Cbr6a3;1nvX9yE6 zMMn#^I(~>Aq~izh)jEDqJnqByYwRhV{R4lalL-C}i$f@xDGx1Z>}j1n!=8olO4YYe zp_+M>^5_Ya!k&Zr$hbUr0v#eF;v5Ks3u|hsoN#erO<|o#gmIMg9vQ16hl#}Ea8abJ zu(Yl?G9yw`4TSRAvbxHua8X@VVR2+GRg<(u9nps#?S5XACy3%m@jGCE{t)i+pQVu0oR#Zo7A{FHzL0sKRP_VQIw-kQ^&6TV5zm2gzuSl{rvdQCn3MPOL|I3aQlTc)CBB7WpmkNI07l zk6AtApI%#160UOV>#wX1*A`dQS($Y9JbM8IH}&xa@N2S4sw&E|boNj7qRw6tB9I{` zV^(WhM^pFXby$O;D zdQoF<>FjNq53$Osh{oR0*}LpLjlB=Wu@7|iA^QlJOCf>?orDn+h)H7~>+BOU6{6AB z&K8}0N_)dR8wvlTboLqh7ohds9*KZVxjOqCf2XrA$W)Desk5)x*E;(KX@Raz>;3!3kgo9bm}jih-M6SRJm`*^lfeA=%E6D~+c`eXv0g#K{Knma9s2V$oT|tX1^ns5sG(B|O_KIf-p@%%V5s+EnXc zf<^4eTDb)LNxK4B2SV90P~X}pDu?fn;&l$th%wu26-6N{CNg zuRW7MKj?~rzta>IWI+)}-?B<0v%^^uxu{l$)D zRGbqc<6zn-i<;Z&#X%PPfDnXQt^F$ay0NWO;sTN{&T};^5uU2HLhRUx5Y3+eOqm7F z$vANUtV6Ch;{(LfBm`p}_2Q@z88_KFVHdU1xoFtJ<~Fc-%z7ykCrlU*%)C~EEFvE_ zF@Mse{Bc0%&26oVZL0XVBf6?Xo@5d)`y(qNbK1$)iY1*V&r+6GKrwPb6xv|#s_TjY zQ&TaOfUcw|L7i+NHw$NKN!!XSDKS~lf{xBumQKeB9iuk2wzf4wB{UZX;whk&lyuM_ z>{loyH%o-R7KMXI=}HEu13Hur)0IpzRabfmm7|oc2IHVBy@f>e5dsj>mA)dmpGeM- z$$5p-v&1%WmbE{R(P47tDk6y}W|J$CfuyqHzlky*pU9#BD6{@AhO$BY|0 zW^8`exCsU0Cl-v$&l;ASHLNPSqDidB6l9GXoj+-G{^2v@c2$dfSV%}fM z`vUkM0{_C=+4DlD!|4cNVuYTGloyBRT1pxEzr3QnuC_dKNG%AxDU<3BsVyvxltjXy zg}fHUQcldWO1{GCqPhxUI;)F>$tkp~V5DXqbWdgB3^8JXl1OO{n4Y4F@?zUGDmG5_ zmbbOmS-bJNGC<51*3m9@=9NYD&GHNMc+E+`{SAxrId)@TiWI=Yn3g9{IV`BQ;Q`+VYy*qHv@%Qa&SB#;p7j>J|0l&PAhD+855x{{>~ z)|4T_a933ng^O#e>{G#JJZ>8iBTng#1gs(R2sjj}mgAs0Z~!1gp-^>-4U=?mxf6~a zC$O}bEH13Asi=#T7XgF{Lk~`eQLmbpJH51GdTtmnS8k*nMm-FDR#=={7A}s|LZ8*- zR#b}d&#kDfk*QVT%F@E3aBg)Nx+pxiCbzb{Ix?d?T%3DYxT*rOl!E9Uj`0eRvPeV} zA_vW?bgn>Q@=;h+<02bLaKja%$L&|$95J}%hvtS$YsAP_RMpgpf;#>fZxryL07ocOV0~>P>sjaAyJrjnSI~`ONJ~UhfRj7*0msX>Rqr>Y8v_ofQsO3qiCZm4(&Sb3|W+L9FIgLSGkF*VI`9Q3w5YXxKhJ zCq*}6!yO5B0O=%P8VB)6xMR_i(M%$45vp;{%y5-(36v}gbEp=sa85ZT;tHL3@slo8 z6YbRT27IMBAr3N7ngxvm*@D?1RF;_NGGlcX#)FFs=T(%<35RFriU-7UC8eyQ9Hc-7 z=Y>J0-MHvKD<(sri>pA=<;S@)=S*-Dgf^qEwn`+4cNI+SIwvCXxI`H#2i*sw*)6w7sIDmlDFj0@ zHz6tu7Bu-ORJIPPB*U_BhyV?w2W&^UO88M#;S!;VTtYQCFoNI*og=DV2@}6exOhTf z;p1{KfesaLts1%p)PTfpK}V(32^TLiy;dk-ut;-(BK<;J@fqC}nlqY-j;0?vI#LGy zr2UB>OhICtf^Gr>Hoc+()RtBgDW4Y+jPQ7j`pq9%HtLA1`A%gZ=xDejK-i{(w<@w4 zr4{8fvJNe*vecfRnYe(V7Pn_0d%e4J+yppD?T02?Y> z>v8P@bP{mm)sVZ?ib8|c;)+^p2%(hR;-oSZu**XK(7f@$nutfh`XDR8zA+FLF&J)( znJ`Z96=-DmYNEi<#nL7-A%#!}$I}-sn!*u=|BiOQV4AWRH+OTmvAbo!XOF)1?b9tieFcT!vhc~_!1)(@Lm6@ zWJ3){!swB#(Ylf&5G4`J{NQre0bFRZPuK8KSyke;3?$((0$K^d*YPI;hvq7Inljq; z!R5rU^bzEy3q~){$wlO1o!kTHnFa)6^i-5*S+{jS_qpLLm}5nS#bPkxH0Z-D;Usk< zR)vL0DT3Zjj}yx)vcN{m5fS{Y3qlruE8LyGP3z9zCU)m<6J7o~9YwQs+Dm}-z5-5? ztX%Pce%UYF-rm-pwYIRy;O~#|`3flX%=L9=D3e?c#BVcx)4oyToI=ck0E=MH+@SlTtD+5^9Z~xZ%*fq0C3%rM*pq6V zpL816H+k(^(rdw;5yw|!;s{YpEZJKJ_pF8cz3h;~9Op<V(m_6Y@vp3W)Z-VcjlEu@@itW?9$?8`QWN~zn zI5}cnMrxY{ysUk6pEyGpaRxPDP4GnVOF4Bw*fbcXa%&*OwjIbxU#Mhi84^`pVI6}l zi$>k!ARrSk=JIGzs!6t+Ei{1_KqNpuoCDSEDX)Xr^lq090xms%PsKd}le7<=nXLHj zWhv_lLcBD2V60WFBg&M7^5Q9dKw=78V@)a4x+?E*2;pAd3C{ykXx0?EHkCA}E5v1J zApqS3O)U7h2Q4#F(e1O+@(N$7EjcOt-ne#>dvlF;P|OWs8pH}|VTTn5*xPSp(ZA96 zzJ|8W_&qGTSm?O;*UDb-Q<-R+a620cCKNrihsXlh%V8sx2Nq2|P&(=>JbQ%T4bTf{e-`)Z(LE3c6z0V7Um)I<5Z?sxYZKzv zL40#U{CbGrkPyES;x{G4w?O>ng!nBGzcnF#8^mu@nEjc-RpJZN^# z?TBUPifHz2h;2p6dgRUCiqtNo1U1Oeg?M@1oyc=D0#QU`P(I>N!Xv z0zV05K&?p?l%^ttuLxvrN8SP@q|m#NcV18n`dA?A4y0Fy6lPQWE=92^hD%Xxis@1` zn-bs-h1--gH&4L%EU398=ezVc$@wrNPV(5K%s9zwlX}J3`)pG0I7zojec~VbZBi&s zGHg=cILWk0{oZ9k`5R3%x6R5e-jR7YTjYXPrCapYx$OK}A)Jx+4I8)+3E)C#nmohUyisBJ}~ zEoM7%&lm}Cn!Yd~p+=@mQXkBPjid^s_Ng4AVMj$_YUT{os>>X&_4qU)- zfyYt^`2`-qBsl&Kw10s&6Y}O+uQ(y3$+suu1+LrB1cC~QF}(|AWTuCLTTx^y znx!<}iDplf(b7wHeUzClSq2LWj4rgwW(J&FAUMMc7Py751vV9mxf7L5G-b*RC#5)^ z66it$x_?%j{8^DClouEwze4Zk&}ub1WZZ!&Af#oQnSljvcku4ffSMVIM>OVyeIfr= zR5>Tax1mEYy5!eCW{1>}4<>1Wz6lv2eM>>cCZvWkb`)fW_)ZiQ8LKb?bzjg6hCSpF zG|x6vF5XG`6C{Qe!^qW&v-KW1s9@SxB_E57gIbRGrS0^cp27kC+7HA?7^pFAHD$l z0Sy>n`Ax9)8Tb~Qi66$jK?8(f&iBJF;r{qzcz=bn@OOAH{t*u$7!M^n9!7fO{m3{x zf|TQIvILJNEATjS9L^`F7EdQX z;3D!9E+N0-2&H&7_2N?M$7R&Sl~RAbhI$D-#8O(#FWn16}CLcOTzgu3b1ukkmQenq)J5%!+2>s@Q1O09jQ>=oTgwR)u+ zk8kmJHjg};2MyM4Nn+BJz=Wn?@_h;>hbA-W*aMRv@Q)S~K#?Bgg_JG06qnh0vMe_^ zM=HJ2oNZ_>M&(Qx5*A{PA(B>4@RX1$rg4rn zi+8=59bzFx%wko{Vs%S_CT6j=qkw}^$jq_lu(!Yy@&H)FrMW=OwP&$QExVROTNv2p zRZ#a;V1vc`G_)3-1MRyEU5z%n=x!m*Uxfbvv9&P!&jE=!7iHpgs6Rd*4Z#MpKU|M%jc_a&z zbqAGoF2%L=3*66KTVKyqOEkdVE)@1wh0z@hW_{Lr)HkFC8>D?zbF5de(SAp*cb*+x zWW7VojxQE(T%h5&HFj;g7Se>IIo7%h2SOZVa0x`bA+A^yTg6+6Z}fq5)PBOV^`xFm%ggT?~N?;LQUzKNEsB!$2so6RiscwxZ^O zfVAEL%X+7Ep;#zQ8t#^YpoJ9DL+LbIm^Cnz=?ud|$C>_MjaUsh&`}G@oe_8T`RDqo2UE>q3+EU_3QJ(-MuRc5Nm=<&a0B zWQKkuqscgsym4frd`}}Y$ShP%YRG(Yq-#Zks2HA~fnNU?3W3JW#$TYR_)Am{`gH;R z8nuH~Jr#e8F2di#eA0F!Y$!RT&6(1S!pe$NWGsFVZ04gRA3sgT<5$Q8{3e-*KO+a=ugDaF$W-DZ z2a+^$5DAeyGMHqL95Nkxp$K{)41G{SX2G)*o)x4FdZPmRqmmp+4j~I57A14zmXowP zmJ>p@<%E!JIU!_QP6+*KA%C*iLjKTKf5*GPBC6;!e4^AY8u|hsXIV}_865@CbUSL@irPR&pb>z_kFfB#2lR|b&KP*k%G9nwUKyIG zIa6oXb8_m8Ebxk{&$xhVUojP9O3<&E~z_0anp*E|$y#Km5zbMYX1C&uxac0Q0 zi!~Y9GIPB zhsFzUq!XiiQEP!87Z|v}bc~k~cTB;0xPE9rSS9gJpeWWmxWbMzJHFVqO99sgnrvcP z7h5exzn~x(3epf%KPYTWP{|hd4QxeF4VkWQYC67YI!w@vP`cwiW`d2fW5OfN=t5d3 zy&%J?{L1wpxf#ONWrTuSDC17F%JJZWV4yNAleCk32pkH*N4^C4A+%a}%cwq-Zu5l~ zxRgf=_Ly%HT>85It1Cn{b*S91Dcg6A8U|oZBc-5u1z=(2i#LI0TpJSl@><~W zoxCiEaeio#Y*K4|x|o zPToh)k`K@e`u=i;g0X(;V_V%_A?; zG2~S`mV8R{$=7rO`HoJclun{5J%D=X6dI%l(gE}!I)WZd$IxkXGA)F^=`=!%=pnS2 z&Z8xCF`Y@5(pj{H&ZZr-lpamX=n1rvo(VZFq}B8)$hDEqr(5XZ^nQ9I-AU`|Q*4z( ze^G9vUCNzwld^+et2|1tQ=X!mm6z!C%A52CzKZ^g;Dj`jEPv?o{uikE(y8kEt)y$JGz$6Y4kg9~!04YMJx}EsMUS?MGkM z#?V)^DfBh1g1)8Ar|)P>==)j+{ZKoeex zYA-Xay-jCnpE9a_#TX|{*(uo1KaB z@Fz0$O7N#Xg-|cH9Xwh|)3VS5_*EG?50qF)_*~quy|2D}h#Q)MsH~sAn@84{^s|=` z$Jk4ViokM7i->GQ!Xl#5a}kmBCj%@t+OZHH1_`s0w_gH=@I17T=6D|0u{5+x;%Lor zJvQ4=U2|NI>*IMGFX9Hr_s|^o;l_9-$9=fTVdOd=TjH5qzvE_?mFsuh!WEn1xE;5; z6vykh&80X_$L$Hs9k*kvTLs7MxI>fQSy=f_HP9Py{I>O=tP?h-1UZl|=$0P~t{U43 zkb~J?u@+(lUg=hV9mHGFUkf~4s0A>(%s1T4w|}BvEFA;k2Yb6vza)p5I7yEG!9(21 za+mnlYh|$f2v2qh9G$x%cb<6p9EV5m!as#P?tT{7aQtz|2yO?MBtX6qyhi{g`~u|J zA@hi3FYsA+;s+(fH-q;=Z`~(69su*}@n6I{QsD2xmsz2-P+DN*R&@WwAOuEUE)>vAE+^vbkS5k8hZY!OJ>S?;FjxS+!8;0uh#k1zBBQ-rF*Gz( zE?0Qm6-OKG4HZimLx54@Mm)n~LH~m>V3cwB4zdvIkE&S?%V!hZCC1ZGJ)~WZ7`p-m z*j1o9uSVJI&u9v}29>joXaV~Rim@)VhHXL@vun|2b{*QzHlrum_2^A@1Nw&Dh&6T- z4zZhYHoFDqv0I_!ZFoAn3(sWRaT&V@&tW_8eD(ltW;^k6_6Y7|kKz;9WB6kBINkz^ ze;fM;ex5ytUt`bXciGGMGxi$(g1wG^W^a;A_6`}!-XkN~`(z^fh#bT|CNtR=q=J1z z=CW@|J^P+4V?U8q>=$w>+eOwXm~2oexn5DoHbo=%E1W#3c*)a>PM%W?@`@59Z!78K zTYxSer8mt`LUf?gmkw6?(_DZulawqvQyD_%0i>6`3x`XPIbex=kisx+{m5@jJ}5$mrkW^`zK4vEOPxRCPsvEJNeCtFB%{PqCz*(ECD~wr1Ed14BROJ|kj%wr zl3XywK~j%TBzba^a2Z}fMhoLjR^cWxMi^jnDn6Wy6~>#a!xdzlFy3SXo=);1)Q4P; zCy?=wFGRNCkz{|!*O%On2aySo+K)VmgHZO>s6Tlcn`9Eu27t@(3poI21IgRq9Ec^> zL3ACOK_-&|lm(!{f;U6iB-_Xj?Pimwkg2w5&$mrGw{-j?Nt>0*i3!%7r?Bn^?vB%= z$(&B#1E+&h>{vdQ1U8g)|9;1k9PBbls?Oh%IbFVo>P&MRHqGW_Se*X89x2N8G~PTz zh^cY|@+vnXUD=Yr*GR#)5cpar)JEHU!DoLwxwHP7z=hcp1(WHizI`J3+Xqs9Ta==E zpG@wQC-%_2#VMFPmCWSDJunHA5_@0rVu%NX51kqiCTu0g0U=8UgsdkZWIX^O>j?;1 zG9Y9r03quM2w4w6$a(-m)&mf-6o8QR0EBE0fDoUJ3lvL>?qUIE6 zHX76<8U#$R)IL=;%*ix95%T54&r$6T3Th4%RK$6>1SqH_LP6DnfR3RSdm6`vR0jfj zgvDmefLjs} zAu+N7q9*Gf}o0K~vOOs9c?m z7O15trk0^KYB{=Ctw5XAO0-=)1U;!%p*PiP^o?4BHMJIp)Hyg?os09-d3dZ^ho`Ic zc&6HbOVvj3TBCTb+Ju|bX56B-;-l0ye6+e8uTx|AI&}rURb7dnQjf(is3+k!)Kl== z>Kgo+dK%HxGfAfU2hvwvOGc{akg@8yWTLu`Ojge))6@${4TKL@Pa%ucyT}T4J2_R| zLDs7Gl5^Di$c5^IWWD+@xk7!EY*Zg3o7BINo75-BZR*ofA6$>p#7uYhGVgcyGVgcy zGVizdGJBKF*0~3qhfkMgUBP4V8fn&5FzW-QS=Vq2YOv1(y?{2588Y++x=aGAxB)4Oo8{`* z(;;pGvmO7xj@?Tgd)9B$v3a(RUG;yeV}mciLmYgOJ9%-9>!@1b+a6c7T=-B6L)=xh z+*Y;a-BhjA$Wx@M_1LP`E4)!qwfl*;P_-E{P~gkX$qV^H+8yYhGKbh)a}?}ZLcwZ6 z!E&Ks`4({mQw`}mz`IRSu;2owR$xwaTB(3YT>)`Zq*OVP#JGPGH1M%%R(^rY5` z-qhOAH`;QnX-DCZ7Q@+E2hP(v@mTE`JY72u&(u!9rP_(ORyzsL)lS7t+8MY-I}0DB z{Q)1Xt;OrKbMSTAI((~kK7LKR1i!CchCk9S$KPlhh@o9g`fJya!P-VLM%zRtY1fhi zwasLjc0HM)-9Qe3@I37@(x5#89J<3+D@1wO+rE2&a z)F@RdC;icZQl)yx7?dqls+Y`wf1y%+V1*%l5%L_n5>h?nw$)X}%gKIiK}&PFJ`pGkyZY)tRq3yj`97de7q# zZ^TKC&V18mm3&~q2UFELu#m9Khi(Q9l@h$0bhg~coS;o%g{>Rj85V$ z=nUS9*6}uU2|o&L;xTj+??CtSPV@|4f!^aQ(RX|m=6p5o%a6u+{1|*NKNeT<<8UKC z9T5Ru8$S+8!ch_%*To1EF$x z9-NW;q+(Lh0ur@PwKb51_Nlg&q_5mz@t~U^P43g+8`0ZxcgBbBLr;+kvD5=)Zz7fA zJUBTW)Yc(l_k&z-FP5Z{d!0}>wN>S=3Am@b)g{?=o?hdeSgT<}$SBQcpK7ho|5|dT<%N2QEkKS!6wv_aL%I?oFo@ z@1axb_Nr4V_RyRKd(oW3_RyUA6mtJ*GLz^YnzL{(DzbbJ6=`sJj0MFha)G&=rZpz> zIVORRnu1T`Uex9EJ=7(-H)Fh~72HL8HO80kVT>2=%|za`hpH?|;rM@+4Dx>Ir8>M<&lxp9m&;+2g_NfzZCW3n}aHm{Y6a;QxvH(xm5Loi7IRXk= ztBhjZ@#}5q8;k@d4hUo^&+|&esar?Yc6}mTWv@h>0&V&e(WZke<7iV8?sHJM&vCS= zO0@YNNh28`QyC;A-$O|@$pf@Gi5x@;Ugizr6TBJtG;bze z>+OZl^Y+G zxSPMY6vx|acPY*aoqb||H<$0Hi&YQr?MU-(MSWm0jq=`!3cTCUZ0}#u;ZSgk_il88 zcRM=Idk^}vcL%!NdoOy}dmnnydq4Wv`vCgI`%uCKd!Kv3-sgx6_Bn^nAhg`RVDEFT z*JYSK z0#7Emx*Xl`k}*p{ZWf=06M`p z5S{1ClAW->)jaoyGB!AUk2W}c4m$0%v&eFyCUxUASS4)cZgP?ME=A%nikJ;>lH=k6~$9&!0=Cd0-3-qIY} z9iiAlP?nvO3xZIdm$Y-?TZ|On5|rs%iU#Qzc#De zJWa=xIX^m*a*p*C`pS0+Qhk@g9J>r<`z}XQeOI6g-<1h->IipE9pU_72!!k(41tjK zgCQ!KlVVOC>o)C6yJ>4ufYv>?&FI-SmJC|cvEq`rLsI{J4-A1?A>Ss@GS{Mz?>dy@ z+l&tMU5_e#H=qXJjcA2$OPrl!a3)c=?p&MN1p{g$f5?Won--)`4Bqb;6;Jr~YX;H;3w z39)>j{y|xcOPvARdUMqhhu`*X>;s39Ge#WJMqMM{Bj7NU7;s z7t&^R&(Q;toMvyv#h!v$tkLP@bwl>T_^4JSN3Kopx|w0-9-ZJ}M`>>K0qrtQ*f5Rm zjM79Bx8(A`desJmwkhDAT$uhXQRtR0GMemQAizB=IT1QsJzQquh99~6oorXXIcfP& zl&jO&<2z9ojaggc8Z--fa46l zU0P+{btS~(!r-a>RB+-f@LFb@&*6g7Qv^9*=E?mkH7nY8-ov=+b&$UU`LrtH-oAqo zxBPYh_5jkZI6GMKipZ-+5Q%ed;GV$`S~n-LXLN7v-IyCSJ1=qI@`~x5ksHTxigIK6 z@x!}_AM0-|#xC9~>U%yvnm_?TaNaxu!0t5US*HinuObXM>-mf56?T6afe_0x_QvD^lOMvF8#(+*$q{ZR(eik7_3P^Bs>GF2G}cXcn{_XOzS@1P zl@_fPK#6u!NSnq@-Vb%^$RzTvCh39S1D>_abpJh_^hL+6suM$bXi_TplwegB;26+QSpyrKhm8fY)Yx_rrJNtE+(Mq9#Hm7&=LgnOxj-EH1w($xs|;mnUo`t^ zT|vz2#i{Ry+^a}AFC9`;Z*sXTW1@pI5#dbOA_WMwiT&Jec~ZyMaa18RgI-g!9E z**0dyfu;kb=Enr>kmjzXMe*WO_3zofZsP>P;XK^%;nNPs0UtpSTr;%K^E;fg4rPMe zNqv#=2f|yhS-YTHvSAfb;~O@$AWucQ=+cwF+Vvie*+&i(UpYOx;mHmaz2QshMCS3N z1=^hZM9!~K?KqP`;74AT!A{zc9Jlg#pgK@bR^hYt4Es$UjTzDeXn%O(HMew+Bu;_~ ztns{dNW0#+ODQ)6Wx|@v`|||&pKDvrz?rXPfIvAclX0IwI)dqP96E_~{;}=1%L5&Q z!?Yc976IW%PQ~NZ3%+#>VV5fZ%KuXOfc#hVYPSCH#iaY?%$jnImqMZbJIFb`RLxA1Qfh{%%?Sm-+3GnWI@qmx$sn#I7r5536H<9F#-9X6vk z0h_*P9K>4R5%a@WCpgKY5{&pGZs2Z7-w;&vmc#==O5x|p2mAv;OWb*$&FWWLPo*FC z%(^<<*p39;SPRb0#r3xTmd}zuZxzU4-@Fi2O+Ws5UR&I`z^k9i*Zf=gr%~d?*B_Nr zJB$AG?`jQv5W4~^`F$m?Mo&r)qYu@eewBiLG7qEwiq22|ESr7ByuQ#q%>Mm;v)!_u zRCezh51eFxFvYt%oTOmEK@LRmL4-Wa)~?@Du#_6g(%+t6N&9k~yM0!J##O(x0#S3m z?6m4iayWW&#&kGsou&#AhqCjBj7kspUnFM{&V>U4(jrO zHn+9T6gco^jgGNlv$knbKbxtDX*YQ9juQD9Ww852fFHX5rHK>yq=_^5)x;kBZKW^S zPy0C7sn;dAEyN=s-tp%=0sNI;Q@IZcqX~ZtKv=#VZ@Lbbp2zrO^d0^o@7sX_o3&qi zeNG={*F~>s8xI2eZnb`A{FQ#|->!1j?ybXCeEiEw$V0*4aQBxZiZ>?yi>LUtPon2T z;9K#FU>@W%PjUE*g?s7?#`5tiGWPCT_yiM5$3)+`N@z|5LW}_u*2kFg)J$X~v|x`m z=)ij@C<=~%p2=C;_8!0{PT*aPG$<$Tw`B|4KZ*$k#5O|Y-y9pnz!|z(2KYWh7@_tK zjRBspxSs9A>3w&`hU_qlfD!=A_ZBAfFUx3>tucyFhacmNBdPYcirnIF-(I(D~^RiLV=vt=D3mxJ( zI_9)x(*Pyska>9pR>OPRqM%$WTsa2T@BK{d(S>QiuY2|b(avqoh$~k4QU$ECxwM$Y zvn~MEy^|5$$2?~i(?Q%6x0<j2j^wKn`|s6A=RZmaKx#nBiRowb$(Kz~ehVDTDl5AiYG zn&{=QRStLPD#ZDdlJC&AFuGRzO?y+ijebj(0(?xc9)OS;@|LS$Ay7$R#!*Mbj3&Dt z{5sM&kUC;LpgPh%AebltEKZ0YU>%VkXqtQzHE#WZ-M8()z}skG-*YDXZG^cWJ3FL)&NNzPv8W_d#S)v5!6Iyw0=} zFbzv*ZfXfOrMm&u)W$w@StQ3KqP2EerJDZHtmRbC{uj4UY`S2>(W$+41GgZ@I(F$( zKX!qhv8e^_*!-WCQ?zRqmu}bSmY&yec0Qkt{E{vkg~fFiq`6*tQcK z(+jy1e%}ah^k18q6Q1dz7v*E5caNrkK124~rzy&>LG3|5)-2v7?eqC*lU!ZXCbRmE ztt2D-qYQIb&(aJU-lnOPTx_S5vKj4v7R+&v!&64QqZy-~@*Ht@*=G3H9b?)D9b3H1 zizd0p9qYV{PH7&gCqj1!xuer9xhK<2e0G^99{lX99=&V~_r!O^b*tTLSq8OF@XQRr zSZ0QYSPq6ed~@Ba90T1wzTvIi93$I%e1p%CuC>csd=uRhKET$cj*;#)-)8rKSAj>- z6ZIYXwdtMOwb~v0b)@Qit>(lxtU$O4s&1F!eh_CGCyEcey*Kf?g; zemw%o+d-Rq$O0?<{Icx2<*bOf{GvX)>fqjXA={P$8;Y4K7-M2A+A7or8zf|8+=8M6 z-3Or#gAT7P#HEG~_xCSyABcs|cchH$+y}V;!QZW{ho%mv350s5PLW;2&3qoUAr#Kq5s;0M~Y^M!)&)I#{Nz^9Ni|4v5%8P zy27%ElOfh|sFSqwRyBsAkBJ6+5To4mkKws19_sRP-Xh{7YX*jitL+&iq}|+%k$bxw z;_(vS+VL_s!o)>f4j7UAJ#a|SyMaqUc?Ot6{Y8!0&nhC%MXZUki_#6J5Q72!n}2+c zHD~H&*??4tf*)BdGP;RArF*XZ4ytG2hWU$^6L%fKA4(9;A7CbtH{w*7@;q=#{;qg$ z^KS3VlS}Y{D}cNmh9QQqH(EFf{Ea(2X^$!pAlHq%Izn?3;!b88kT?9#p6erjk0A4(Ub%S3I+U?qn z>?pX?@JIgr4)M$i2J#H|e-SU=gcY;z$lu<;|MnLkx4EGxM)^#>ALfz5+7T1qXBclkG_8_J5IG0NspXK6AUno{|)RAh%?n8Qwt%Nd!QKLk{m? z;&+_sVF{|CQFE7fo}M3h#W6stjl}YMXykl8$@oVKBJRNA`3ouTo*3gfEYc)?!N$`f zQdt6uVgi(?E23YWdB%%h37Pk(6_d=8d;m!wwH#J`jCdFg zl!f>fVyWD$Yf6hj@r2S#h=pi5BDyu%-(#jp#E+C6!F)pWCbJ3b)^rw= zx)gY8?2cS-!P*18#CYo<3lVrkIb6g#?&xO|F2ARmq&Rfr?)N(msdu99k8LEWu4P|= z$P0OC3C#R~u)7E2i2M<-M=aw|{9)0DFyoZHf!afQgsZn{) zgTF~xFG9=#1SBXAKRV>%;-x&JWml{csXXB`Dmh3N?^ldFcQUqWo`|1L!Nvvdl@4`3 z#2xeaQ>GTagsxTzND)q>#;tp@r{?oW?jE3T!+QgGEBoZo&v?d+UQdi0KIuHPzanVo z;}VWSrPVNzZj+HH6mVL`sY&8^jaVsWvHy)Zi8FcZoQmi&hQ==g%o_oi3M<$s*(!RtcFn|%Szy7WD7~&NaT20!;Z0=HR3u7j#zJG48>Q39J!Yf%Xsga zcB4RRIBs|islc!ct&HT+etDVnKb9*53~ecSdj8Zh#$BqeMk06d4rSykCI37 zig3oU~NoyBpI0OO42eHEoAOMHUQqit!!xvuE&ebJueEL z865$xtbYr0zLg)=-UD4(p60KPi9Aa@vLEXMo6FEj$Wo=eG+jkunA4P-ZWrk1hMdi3j=Hqu#%!SR!wdTE0@XmZ9 zkhyu7{AZ-1i=9vo&bo(ieJGj2__H-6Pbk#pB#>tpB~Ta^Ldx)5k?Yz40R_V{ zu|x2kTb-H^4C;y;R?)0CJc|Y=x<~x0DKU{BtPaMh2U3Zd8<=6U<2K%%)Mqk|ozxa) zs~^rf%$sv(mG_IsW%8=b%Skzfw9cUo^|Dv80wJuOD72k0w`XQ^p}z1vrx=WhzQ5Y$ z`51G!_ZYdk9Z7qn6H_nIxh}Uxr<7!zLMrjPA8gV zu`MilW9~xeee$7y9YN_@>)J_kOK9gL_BUA3i|`c_**oMmr~gYjN#Anyf^L3a76aK- zWUsHFJSA6mHgXG@ikGcDB{#fu5w}?_3xZ$e`*&}LL?okZp`}Aw@p1mR7+@k7#k z$SVkuntqtW6Z*V3KUmfT(`O;dn%5$Y<8%`)=V>alOU1@rGDAmBfJvDL|3bzAp3ihM z4*?EUkO1E6pVii-kbofm=k${RVEk=;loH`L(AtnT2{Y7*b^Q^Vn{aWvtZ@2?Xt@a= zm#>ib{59VONr8u69viFjws@>cdI%fpa4yEtXXIf5TAHDPP=u^COJxj*d12zEQvwdX zFo~AIEAJ_{F8*N(A)-E>t;6vXx^W8jRf(*b2I|7Vgi3VeYSdAkZVZ`CCO_+U{+VX$ zP%5Vq0wjcb;SP8v9*a2uC={WHHb`$+1-Ul zh^+_+4uwnWQ~=}V&T~po7%18s-5Z@KFrR~0{h;I&YH5z8;Uh58WIoZZo{UV7o z4P7MK$Z$nodl~>2foGHE-!M|atK%hO%C~xk%jCFRB^i+WoR<5%3egb9zdj~jKdXS= z3l6)9ZZ5J1#AaQsJ-P>cdyQu<=sUU0I!jUg`q$AXNVEyTplBW`4r1{Cx5@aC)%=Dh0jbiCo@K*Y?6#d+A=h^qt5Q-j)qQTLy8 zdp~P-QEQHIRc|o0Mi0zk+UD4G@qC7@@)_LOHzutL2|VbWgIC2VJn+bdFQ}1p6`0(? z$g((896e%xkKHA=^6H%pw^H-D8<`N=6>3jsjSIe@t2BjKEQnbbN9%+dk9#DnOSo~x zc26LlsUrDzN_&|E+>e=8vnrz(iU4++W!kP0@H8<5mSYpW5BxMT46UJISw;|}H zNb08dwi=I@KrX~B<;3{r-Fi$Z7efNBgiG-VTnU3mq@_k}g|kv_{ZJHDf+T6Z6z_zR z2TWR2_SHC!76T>68wlS+UJn9Dt%QYR(2T2v-^i^HHVe-v$nsHsMOFpp*k<^kwOT8X z6ES@y-*j-HG4AwDZB0^SCY0;U{tIoR%%<$lA~-s^>L$LdQsBazt{}dwZJ@j?H6YDe zNT_@|=7?zv@lY+zx*!jZHKP+JPGldb&g>kcIMC{vBCi9hW5wgSj^EKZqo$ULnWdF7 zL}%Vgp+eb*9K%mHKY*nvIlI7;mZL>#GN}NJ=2m9kRH9ylb2T63iat)qVoq%38=VZT z8uo@CW*1zTJ~bpg_AIBOZmxKX%``Ln+`}UZatma`@<75c6_9a8TL8d(H$uG+1 z^RPReeCwCo!2sNT+LI9cOnT8z2ZZ&DcvB|d8Pw5`tmJ2 z!$IBQB#@cw@I&j2QRJ6;6I;&O3FW+ys!WyT=Xz69AGs9u*R(;>W$w5h<@ zMLK>{b=s3#2h2P68xO#rR#d0RD?l%)tw=FUE!p<$c)<^xyyS{>U-E_R!tfp=);;%Y zoCN?YpDrWo9{bnghfhf^ew=sgWiBq|!>(A9J~^b8Yd{V3b8+FcV>Wn$E$wCfwpG98 zZQDEzI&$OF*hwBXzcMuEN;&NeiASdl>*unsn8#_k>$iEF=ja7)bLid$xQ=mbT=37y zKZ|ef$CR4AihB(~YE5x$Wbx0Pzlv|3Z%^Ng<8NQm5n$5sG44F#A9+$BM7w$4%x{7n z=;83RKg4Ijp6v+W-g_aH310f2r@#)32r%Dx8To+$4r^cs z%GY7W<@lI9Jui&Jx|kF6kRm?POW_=CmZZ5zqe3S85&|ygOH2-8enNg2&i?tMI;Oi1U_ZCp-`Obc4tsc?GP2%B`sp??cTg;UZrImKDZkHIO zJ-S(B$Ut%~9V4Y~HjzH8TUK4(Y2*L9kp42h_`(?dJzKFMt$ZV+oniBiZ)QVAwKTgz zq8I{guL^y&exj2i{9#S@Ro5=>N7oZ@WgLSb=SZ4{edJy0ze2b zIXv{=cZ>LJzn?u137|!Y&hysiJq>V}g9IGlV}^M*pHY98`P?)Bzz*sW_}Sg{-}i$M z>d;cYUi#OL0)SNr(O;hWxWMl-NPyiAro&A?=lO^Bz9v5AsP~P*cl9f`{o#cFgES_qtpyWi4CyIlMPb@&xafEEIx_yo8D9)*rk|L3Yt7Zi5 zAC;>b@r@aWc}8P#5-bj!=ES&DsjJbFHW0Ho= z_N(f|s#WJ84_ikm?v@Mtcg6f_EMMe1Y6#uceGzR#U<~gZz(@C83x3pFkT^3$De8EO z-D<`*>Cyt*)OrC~2GEnmxzDLtx3;L?=F6#mD-?yWvv>mV89;&jkcj*-*!~hztw;#V zlqJEMrBg0!D2fuENnM*MP3Fw^x_`?mwawF{7@K1!QwpXZnNm#Yj3Nz zyo@vd@p*=PJ91Ockg~D>uoYJew=ZYGKzM_8Cn4JTQBnTrF4Z_D2q}ki%~d*Sh#gSB~45v z&8D7wZVC4^9vi^gkz96kczl!v!h)$0WviKFOtE-nd2EEpP9TsoydNzklJYCB)U=D- zJ5y_sO?r8bza`aJR@rK^mDtQVhTBr7jZZy-+e@cG?q+%FH``JVE8@9sHqE~vE!A0< zn4t4xwX{;96h;7iHQt!AlkC7{&GsE=qy3+!?#0pwwo4Z&r}m(y`?Zy~a7-T2hH zbBo#(Eze%tvR|ou^X#aTX|9H`Y#Gh+7sh5RjVQS+tmCctlaACwjm%SX#$CUis7V@` z_j9pYM2g(bN&KSfMZ)p5^f!}^#>a*N*i6;Pu#Lq>W|0Y92gyTA8CjR**Nf2=RfcEa z$0jEX(oo{nllko%y&NfyI&J@CxKK08=9)GlCzX)^gG9I<=@zH+)3+ux^a|4+{s$@SuF)$`-Ba6bzdeT46Y=PCHnrmlb5eghbe)8@vu zz^13`hV4JGJ2U?Z3OF&qGCd7&-tn}rZy_X2gE4NuBOPZ74DjBWX&B;%o=lO{Z}38+ z9beb4@WR_=Q0)4^=y!$amzDJ6%Y^u-{qU_1ylFxc7NUVOpuy8rgP3S#Rx+Z2(Xk9s zYCsd}p^Xmx^K;u+$+>G}P6u5AK?_358br&2i|Qu=PY<0%|E)2z<#p16{_1BOAW79n zeW~L+sBPSVL8imJZ4Up;ydjYSpn`4Bs=g6aB0}Qa)Ood(x6vJxE zRW_VM3JA`LZ8}*o1L>34b&xQ_pqIRrFha)53!2Xc8S$1=*>!%Z4b`28?AxMJ@770y zPU%y0Q-MV~t%2bzM_F$&tU+2Wix(Q_>k7MU6bZNj#=10YF3+iX8any-UCgi@M?uG? zYDC>4Yt#Q^7y2LWwjuXdV^jT&@N~SnXk3rimq?&G8Zpb-5Vbj{P8F*)q?+1Zlcqx? za3EDjV0FFXv=RSt7H~c(kLL|8$KW!mbVXw>Zn2}~oYvEaKFv!b5UC2OQiX4<@elx` zwQZSRm;jw5i`My~Br27OzW#R@+>)gNL}X4B8#SjQ0eb1!w#ypbY%{YrXL>-5(mB1y z3q<=c`HE`B3uYmNxzE{Uhx)|iC*(oPnFXh^}J72)Dh7ON&PQY3?BpZV$94x z;DXiY`dVUvUo!cv%gERoHiWB|Fc^RS6?C|OH#c*ajV;qtsq?giSX-l5mWMPp;QUaF zT9OIYrXws*KQAey*RiQ+bu6JutNAgPQ?M6U0*zXNLo@eb3GPX#7+?xXGncIho|&Z< za9pCE581Hh0TtB~*07cn$3i_v!r27M7uiHT2Z~!O2-BbzfW992Ln?v34XjNh;q;bH zjKY?I`_yD#$>oO(ZUuyx_3=$98)w4i9P1{2?)|F z^A!N3f+wG_l(3d?Pw2N$9EOvRtxa4F6l?0ZDaa}h4?QVUx^}}vBqy#wcLqTV1 zDgZs8QL$~M3Y?`B3C4DAL8lZw_N)c8w)9_349`#RM^9N9(V(oMZO`GuLPtp!5*?R@ zbpJJ~U0owmSf?8QB1?xX|0e$R3K&^vtY1A`C=kOvYAkVXSnGxnrw`C%+dxkoV0lRM1z?j{+!9H8I3Xoeq;a5n(5!TL%jmtv}8`{F6IGWuUo!vewP?uU!MRnkolsS<+X|ywc z+&lA`<}j3nR(`~=4$`iIGpdb`vuq!)`(nV0dIwTQT}4EFPzHKc#k$E-2m>vkWhqqv z8S$z-At0yhsZ&vM1d_94Uj*ww;?@C#pz8T2#&|U-9tX8)S0Jb|Ov_J)@N?6i;N03u z^tkf!5@Q4M7^MX5Ekg{;^K!hQVs+y2;0mmWd(6bc@nL%PDPw%uww1*qiZ#Jc;b2c^ zyJwgV-{y|#pBcU)6Q|3{a$13K!o{kkDAM85szy%!zTOvbbaL z#-q8s|HW)7Y6;3cdmhrJVlK`ec-e_6bUXxM(TVd$p}ZO_7DjYm{tk^UkO0)519NnK zXyBXr^ajJTwaWN`CqD!!tv?+O-3@LRI8Kc~GL^lzZFYM9a`?mo!>D8qh6*nhydVjTQCuYefFEk7;$JKl?uQqz6OCFI{T#h2w_K2K2?m*MMdH>FJjbKjm8(V*Q7^?a#nAA8+O9J-N+Mt*G3t9D1F6oZ=zS|LR zaUw@kcGgh5uX*o=d;-kvEu(fg9G0Lht_6x!`-nU~^j^y)Oiw`8I+{N10C>k{M{Z-!9<Cl&mwsfo!DyWxWf(@DM;R|qbo}QJwY>``aY^D4$`A= zosQzUCf(4V1?;47GF;xz!StAIwMm)t8Y=UWjC`h^k*!|A*YC-M+hte0#ZtXRjB5!a z>>NPr&W^SGy9L6F z*7)n79Yms~jyTH0r`*|bAx^rGMIfpy>lgLKb;nQDSWfM^nUV<^1cKnesC1!sijy-%~B#8r<7&DuP7c>oK9=HzK;mM=QAZw7(z)H%1 z?aTjGZVQ)6KQ@5)@q-rjf9j}k{+o`<(Zbcl@xOX18zmhEFd$Y*4Jqe)D#9&O}_M|AX8EWl?Ai_(-KNR-N#db$DiAYbkI zqsO0+Mk-&l(MfH(uo1x}6B<;Z2J{Ge^GRfpv$&&*x*4NVm4~Yz#q%sz#1z`VPWnS% zW54twni+zt*xt_u%vjUvV67~BZq>k@-*rFJd%+?#Ct4|uP?fFl>QBmf1-pFh^$8#* z#^&`}Wd;dDDd88*5EF$VJQ58Pme3NBtZv~VF5nXx7<1!!d_`Wl?Ofwu++!!uv5F0| zc*lQa1=}d~#{9CrzjO?a)lX*TR$*Ox=J?N0#K4&;J_F>(j||ZNsf9`Z-xd~gGBU6? zQFOF3GI4UU`#(*cq7LJXx{URCHD&DP%HmOPJODlb{s)SPNK%B>icm0|%_4A4lxnFm zX75Y^#G!pF#-I0_U0km0 zDx)gx_t@CGL+@S;jMH|-tLIu=`r9H&OIyH*W4mZA(DfI6%7V%7PVG@NU+svh?&sXt zs*m(Qt3$z4D;Mpu1J4MD7z~cncBR0rVxz3=wu|T9Y`^>iQ@pm*cGXdMytcEoiUU_X zx6^jzQ5|jwmv_a{IOnaJgHdi@V!S?yQH2tiC+T1v->tB>9{2tzNN`>kpz)S2aenG7 zm#UzZr@x`h|a{5`i=UsVYmd*_NdTxBPA8>)XI+!FICD^NOppS!+p^ zx;PinDjXK2rd6#Jd9fN<@)Uldelso^o2oxQO;g&cIXE(xf3d8qZkv`JjMt(ZN9z^J z{7g>0i50tnH~y1HsD2>FFAqbblU zWWh@(`6o2LUIL71+f?=gTgzq|6M@reuk}iCmWa*$sT`moQZz8*aYDi>~n45N1SEF7S^_`Smz0p*lws2!0tYB)&OA;{MNVQ6}+ODwH zIv-Bb{A0>$B&Ix$*>dSVTb}xNT4`#$MIckI%wnKpeExb(4Q1O=c5+_eoYGD@BVkG0 zO3rPomAOa0^4+zPC=DB1PGg+DE6cp-%n*D3n-h**zAesBv=ZTYtaGiHB;58I~sz`?BTe`V~vj?}UiP0N?mXtb-ZDAH!NGVhVDPa1o9 zDO>c;B5Bc>^VA9*OXEq_aNOYf%0bE}{qo!Chk1^{=wrJf*5%e_i%F%J{7Ne1?J(*= zYY}K+y^Zxa7*AhzW5x+r+hGm!sm$*l&j@HdY-mnMT6^ z-&HxYlb{St@99bPexr#iPl|ig*p`n89;k!!c{FLn%h;MA#ggE^E=}d|hB!_ZSvcqC z4`G`mrhX%>FRdl*ux2zN$;cV~_bx-6bnS z&GV=}$sw_E<|xHK*Ssx5*R<=&+7?9s#CjKn#d5N3Gu#aDC==766~>5w{SYsZg299T zGgZ0rn3fYm1y*EBLP!WqBCZJ&0391zJffIyx( z1->lNZ~b$|SaR5uQm)EHEt+2^>k*npA6fkSdb^mbnv4}~4emt3(9s=JdY%JDnwmKTsU=S(PAW^DdPS=c=H z%Mq}a(_*Ci+7FEV^4zV8&8_xZ-3TYe887@tu%ma>J+0ifmmJSgh+t?TdBVdP#kIJc zuMm2La3+-JYAShBl`IotG;0A9Fc#j0EaApM!^6LWC#H~9noRza7pM66sWc){@T$n#1w z(zJEemHqGHx-&=7uM?*u=;mFm=6%=f=&&0&Uf~!Dd+J%0G9atLzKbZ(ZTNd7JE88eL8=&Chs73Qw(QGWmK%1mOalz` zB+ylR+J8D%b{F#jsjKW8B3RLH=P zFk5I`!54qFW_wxy^J)XcdL%=X3U$FK!Z5xLtvb{cHKAqXG+#yb%2E?=nvy6;cSVv# zI>m&`3S!-BQj9#Tu4ByDzAQ=>-%H!Las7-qX_3Wo%#Il!t$b2LrNWW<&_!u6MbM)&yaR*Nvg;GN#)yj6OEh_#jK4!mCp@0zTZQvh|TT+hFQwlykgw;22q>TozFkW8q4 zlE6bt<_S?KA|`MH2iA!ZR+YO?_uiV@cGZIo@jB(G5YE`ISGC0^=46s->femNn&S5| zC&09RSsUkIvU8(zeEjbzXqNvc2*{~7M}lij?tnjBdcwK`U%f6 z6(y5#OFftjT4REVudHGTgG#52xB;RiL|l^WeLV);63ax z|13#K%GQ8`VX58jU?dwIK`+aygh8*ZGTZS4S~GGrMf#WP>t*)fZPxFTM{lS5lgghQ zwnH%xog%V9eOD;J2lNeG3w-0}1~@#FGZgRP;1H*|L>bJBxdY)hy$!QV^a9;|I2NDB z^H-~iAv@LzRLB6;L-KiCB{1o8z?m6YU>zV%hb~p7c`Y5XY(W=~X{Nv}WG}uSAWB<0 zviMVi)YqClVdZ!A_m)35V+Hv-ji912mNo~M+3@t-ov;*JbxGg`72U+l)G%|-E^Oog zMfr$ADMf~^7b(7!8=`c#+ievNxdxm(_<*GLMP5uu^I<%8we=<0B>^^k=(m^yII`TO{RAhiLsQ%1gvr|tv&X-RMALV%m*O_@kX%Q;3g<}+pk4Rs1Akj9D~5WZCc~&e zx!3CmmGr|0P^-|CBdtYP^2Aa?6~-xca)Hzel;snELC5Z=o5xXO2InbyJRKu$;b1`u zD{FDqw3$A)!WE(F=`VFlJ;pmImzA|Va~2phy}e)St`G9EL3YG1Z~hrgQr&~w8p(RI z(@>ngE(j(_g5g>aUU4jr>ZIi`38Cu9>8xfwf>(CbbI~-K$mwkMe>S}`*_y7hvYs_q zzxV_G5}w9C$)@qM8ngqH9i+=&q@QXRdF*akM)U(3RWtm>=sVlT2of3-$H0VJp1dt2 z0*$GHxwIiiYMHS>t8}5?I5T5P_tUX?AnwOwei)r@EIr#;0X)Cp>Ujs&FcvmvlS453 zBT?!fpUEjpEDyUO+v!2ej!yZJQl86IW$MtTjK<8U*BH@M_^X%@kz|E_v0htjSfZ^)7DXxo06_F_<6XB z08hGMS~K|hKOB=TCl6S!QIOcD!C+zT^PNBrU0a2d)y|>5nh0OK+UYsNEOr`TriLy03>3qZaje#y}>HIK`VR?E$S7)6(A1K ziyyw0+*8N~{N)ts;FN*ml$cI0Q_C*1pUWH=D( z3{E?R)-8b5Eqbz#sNHAQ8NF}@Q$K~Fom_Qo$b~#-P8-#h{=<<0V;x$v}RJrpxLM?i!QN1o|%+ zMu9)Ybk0?VZ>$AENh71CY5ghRSZTGiu=-b8gI48Y(V{w^>-0BgoY4bl_H|kp@G|4^ zwCy$1VbUWjw)8a(3-U1NRrGklKSP=u;$&RN;MWBEDk zx|I64?82qmZv}984DeHY9uNPqRXMQX_>6U1OLW89aoY8P{3KFTY$`SxI1eq|7;(9~ z$kb9>%O}<8>%UH3z2%1F~wRrRBBCGKs+q%J^mVl~{>n_=Pl0a%gS42V6UQt zsuL|Tl*=5dLKefZ)q@zEQ*7C^`O`>HDIVy|qdTK{FIJ|08n~g=Nu?NQ2X8ka@+nlX zx237n>)bevHPK>beWnr)Jb*{!c%ge(KdO$cT-I^q)x*oGyJtHb%ADq#j%4WtSHNxr zcFm5PZS@S6)2p9+SY}&259KnvlK8$faGcJ7d=NqP=PECqxtx3>=)6Scwadf^L-P>6 zB-}0Jbp#!LOV4oQCZKMqa1ZP;PlLs}AE!n1I&vk*5GA0&dq`dJ#6|bISo!WBY*@B?ns8Jx@C`DZ3PnwOAa`rMnX(? z)C}|HGf>hi>7TcpPuI#WD1@Dw+xq}Qvc@h#?%}7#`I6F+*4Q{J^_=2_eW=%Dfw&sc zpUlum+)z8P6~%&>BhnjdP3l*j&j((}2GnRLI*h~25f6V)QBspXaLq)AZCeP2CsC8> zkgVk(o`#Ua)KarmwOLQDX`wpeIlqfGlF_)`N}^_s5>}Ld;QEMm&YaKEXOfLzqtgtM@ZDRy5AQOF@l^)r7R9 z62`*4z~$HzbUp;Ba(_&`Vp5JJ3xh2)Gy6XO_gIpC3I*sqSwa7Z!=fOEfEXAaQIQ;f zH6!uft01E!vZ28uTPe*OPACnc4fJT{J}*_C%Y^1bg8fN$3{y~2OLXH9b)}}#c!kz& zy25y_KL2kLqHXap0^6ico#dR07|G}?O)*bo*2U!f0ZXfCc=fDw*$w7>2phL<3rRw4 zvA1Y9myk1?KRL*HZ3A}BWHUdM`!>Kd=SnwB#MRRwMEx@>tRGlDgj63=Pl9W3Rd4dVd3=A>z;x*lAc9%v9!T!5l~o#%ja%cmuYe zxPq7geRH!@eT_*(eGLGp7Us&05n>L0wK08g41RXp5&rW_L&_d;s7txiZXUk3KLXx! z8sry10^a*_fMRWbfZY0V7d_N&{|~C>MI%rjQb9MUinl$r15w`nhKipgpYwnnzbkgn zGqmQXuzr(>Ier3>HE5Z40%ihk!vCV|8-qk?lq_%Cwr$(CZQHhOTeof7w$0nNZQbte z@4emFh}oIh-KvPH%BaYHSy?AfN&?KH1ExrJ4Mg-YjxILLFhG{5T``YY#J-$wK0p%5 zLX|TBkUIc`1AE{Mfi~f+U;BB6dr84UlVvA~T4SywHWNX`YF%36<7b0XlCQ zY6goXmDO$z17mk%MmhJ+>M{uxervvk?bchRR$>~qr5IK9M5Xy0szs{3PD7bGlSxgs zvV0DdbQ60osH%N~7;4(G?~Ilkx21g8-K0^?CzM*1g;7w~_M63#wN%zu7O1@X$Y`nw z8K!J4^-z+WGgUJ)FQHDOcQY~SZfZIX)T;2`0Dq2f2Iq|G;u}CChQP+~nzErS<$04x#c?S~8IgsQNZq_sN)b9` z=jH+{G(nVV1hJ)ID*`Ke*^NM8LChQw#}b8 znu0e&xX2zZT5zK7V)yvnw5H@7_%=Q1_DM}15Z39x&?e%A^eiBEMF=Q=HWE`DC!NZW zI3zKIe8~)BqzkySmMqRxQf!+kSeq$r9?Kh_kKH^SE`r{#wjU-uz~_VO3eI;%6TYZq z*2fUK!H8UmMydxh=Nfo|D-8V_cPI)u+#j+?)RIeNA|7>UlAzNw^uz$8N7fJ)^P(cP z%*-j@V6iE(C0fbna!I>hVXlTF`e?mO72GgCz*z{Ub@EsUo?qh+g&KG0utLEJMB&us2|I~1-of73(A^OfaxR-%YgSLWHK_T- z-6A+^7WDXA2we>G3Gj;6z1tH2>o2_Q9d7Um^Y)d1F*eDbaI@}jNun*{-tX~^s5_;w zg@@ZsIadNTypAN-8LiV2o!iq0ov}TIG`7`2u8ZN|>~zuE`{&y@^v7}kH?~k->~6<* z`^yQ9nL1m?Dw&0bAwm{4r3a~{PehJdzAWAW>VebmI)B6Da|g=2CuROLeJ+y|mt-EU zGH17a#mfS=oe|T^VN}YH$@#F_J%^4Y?wHyG49eCM2NK-@759u9##)6xIHiQ1U~G#% zr>F@5S|Yfvk%*fFBZjT%(OyH$n^flxx#mN-^U>XgK+h4=YjiEUd2N8*hFrJ^F9!^F zzj6|n9||(MBhCqARp1;dJj1n2RN)-Z(wBvPSK#g|Kf$jW{K!|PPw=BDCyCmX8azV| zSu=^)Y_@TSZTAf%qbX@b95r18i3bytDcE=r9*GA+gnEwNzmenNYDjB!C1FJ3)z~UQ znS{P5fhOLA$Y&OBkGS^gTn1C?*)o7#Ircct;Nv(nID~Jr7Zu@Kpeav9qy+S2AuCh^ z9W~@_uk##rB@&Xdk{?hekdMjH);8nR2g4bgWu@kT@v4@2lBT(Hnv|#z3 z@}ob9Wj1n4o{XSJA*A!7Jib{;Nn7h#$}d(AWp(1so_=BiDjkg{mL796EAma zE_)N-XZobE5>iVHLrqF_c*Hxnz@*$5RvEWy>zN7ZeD1uZh-zd+^CXUpA;SKaP4v${ zQlxOG4-Hyykf$nMrWv%UClGcLQ+#kvdb?%4>E_+@@MYY9d=k5~duVph@|{_fdh3~G z+^lMyPcXWiNv_Tn(Prls)llc8)=)`ytR&UQq;}ZWIltC9huJkczs8K0$*C#e4JgcF zGoP{*g<~WlJ0%sv3@)PW*jfxuqrxO|3Tg%+chaEU)J>%i2#-YP&#IsO5yX{!xx}4F z?>^l6S;TdWwKC%Xeg0c0b*9}Ueu5H5c}6KU#pMFuaRyg;rZLsgw(;@h?Ci_8e_*HY zDm8&tV%2-f@lMt%Y#nr~ZxR)D`E``|Ddk2blEW{HT~)gIkb2(LAq`c=n;o~G=orIe zo$e^xT*y$tt#Vu zEd881=lncW*LXEsD?70CtY%TGr32V!!(sF9pS!{ImaZ{fHwGoI{;+*;_43})B>TXs;d1qn zGw{8lVJ!2LP14q@mu;F(`nks=05o87<{<8}R6|ml5zzglJ&$|pjEST6VV@*{?OYLy zWqCRMI?ht#c~WoF&N4Z2`5Dq_Wu5g|jQXV0U0^SY>S=Q%PrUDIXNYTpKT{C>YX%6N zC!tO;DGxr5Kpr*UId5?^_e$n(4C5xUAj^@)3ZnJ~*|ogTS-^}HUv`8?5>FkPtf^x% z-yZw?e*F`Bk>*tqFvI-%rGxYD*z1RL`Z*k8#pwR^@INmoKX)TL8#)^gCkJafOJhT$ ze_a^q z(iM9lLfX%H3W}1kY??QB=}kpSb&}vOv(=)0vPD?hdXUJZL1Ei z|1|&@M5JiN&?-p9nnoUkxd{*ya(=~^W7%TVf@`rpd&PAh6D?RxYk$LYHL<>~@2yH{Aa@f3`=qIgtv&iWlNO6cv8ov(LnUrN_=Kuq`D z5nwvs77wR{to;!MRj%GWa~J`2w(hket>?Iq;gMRcXJ(%~%7{9)@f9@cM4fwfA2=$B zTDIQ3Ka4}~P!TR_k-BGmUyEAT&>?hK1NB6`YpNh^*aHCcA2TdmWK+_;;o{ zSL;G_rszsl#4vQXi~P-ef_a#!u%?>%ysD6$>e6X%g+*gckz+T$n@*Jqn(`Wa#CfHn4UMOF_KM-@6f%^>508Pn*YS5D zdlOXxyrKtCNQfF+z|1N{T~a}dm3+#wXV&{b%hgPrEv%oJ2+7k?f)b-Ls<~MtF@38y zBEd&(5|dEgzope zcULcC*3Laq1m}iRA^m$~`g}#RaI|kgP=A?n%~9fqfdRATiPhwed>CG}F92m@S;vA+N+7hl4@6_& zC4Is0LU<#=m^h8fMM$YLngd?E@4$l@ zm?lXdxCoCe*}P&Dn}?vF-XJs@39NH*+1L+oF_2C#@157n#bzp9_B9jwyayGH~$8*{A!Ue@Wt9D7^Pc*h- zTD95CF-BT3lr-LIy&R&a=so$fnG|@J*NE9H^4ndyL6dntS6#Mk9RB@OReRN-b5Siv zYGl~s5yA)c1iQTHojD~wj(4gwlSqo zC~HMi1Z(9_i=mnY)k{|l?q#;_=hw^y=5B0U#-LI%_>gRfQ@#3&Ee@QTpvLI)EdHOIXELmLp&-2tP zb&LXnNglw?J<1wlc5nKWd3Xupr?Ob3nkBs(dv~>(Qi`_6Wkgq?b_s*p1I>!MpTUsY zR=j&U+-3z^gdG4+SPB~~OotG_?drpHI%ecIO&k-3W97+k z9!#c{#R%yx$j8`nQf0xm`HmHZ7EQ^vf>DrG)=k=i#;LXdN%T@KdCGIK^pLa&uVU7J zl)>iWyi~z-3%YD6yZEtDN~Sivb15 zu%vtNUjuzubu}>U06p+ombCKb^C1Sg5Rj|_S=wS$YzM;y=+`_FpCO+UDQ#+zjlr0+ z=e9tuw(3^9>sD>Sys8D=IsQO-2(0T8fjo(?{q%~(@js9=$Mx%m67|+OCc}mz`w5#HA;dsgijmPUR;&9SXI|ucM6O#|b@fJCo({K&W;7 zQv2;{Kgi=P=LMjRfpGw1cG z+KCe^4FV*`KsEq#HDURviXrO401iYd5m`8al+4nK7Sjaf$>Ja>WnkNqyDWfqET3z{ zS7O?zN3(+w3(xC-dDXubek}odh3M1aJg*@s`e2rGj>&pZ7>1+F*9_h&YpThYCr_@j5Fip zfX*#v03f$$><~;j%!G_QYih6ZM;k?>tz_4#FxM)_NAU<`)2!Tkm+|sIVJPYlfd>Oj zMK@JT& zGoDZZw@hdJeJ|Q0w5|sj&J&(Vo)(c&o~jw_%YEf7_M~QOV*?&w?7cuUc>1|~{k%7s z>;P7;kJ~Vc3sWxIlKDkNS4WtEYX(HF2ROOGEV1Dx-OS4}JWyMtKf66g)%IKHsTdVw zLf+)`bwQ88=pTCH4SAUvPBfH?7_2V6aMN5f)3rO0NYHwwL^J!Y1^QkYQ~CBvB(m)# zc|B4Pm}M2pwJ}6|O_~NF++OI(uz6RG+Dj%K2oO^o?PUN~neC_BC~I^QVPPAB%*Hs? zGl1IK{k8Z}CR~(@sh#cXKt_v=*Za#2u)X27%z*HIXl?fuP9U^)uQN@!cplV-umm2| zd*x3UQC-MG6MkI*rIZwADGT}pG_9nf1gono=(KmEhLuSL0eYN}1^!V0w6Wyk1dy&@aRqr%xMMVsl*NU4 zP-9;HU1$oo_yzjk-vp4)lE;7X?|u0xZ>Ylj|FYNR=8a3TsZh#s9{%;c%!|q9xpAB4 z)flSKg`6P31=(l7=LH)=;^!s_c-^HBhdc6DCkYF`@dnv>n*hPr1vbnD-uD$73JW0h zk*Q7XE}`NBK8*YIW<;s9-8bTy1UMmA*S_ueS$&8wYW3caO>5a`OlLWx9 zW$g3YH{d@&8I607PwNNjrV;#iNeY4gD{__j2SN+k+1i>I{ey$$?d+_D4V(>>>|7j; z{wIRkE-hwT1~tpGA|=wPHikZKgFK59a* zUy3SV2<%oN{7-XAXc2!vTE^BNj+3dGOW%*LH!6P_W@&VF)`US7ASzO3<--z7{pCIu zpj8Ys>cKp_sGL#ygV+4kbv)f(zG%y_A$0J^t^E)g)L-*4* zLwz`2;Tu4&+Etg7c9W>qdOAVeHLiPOt>FBVi7_dHKr-%Qn|eOyZqh;TohXyJ3mh^A zYAqJCxZV@6mcwjrvh=f9lQfkY$-flkRTG(}y^jyPlL3jP^l$^(o+B+?N|y z?x$gYkDU+U*bEY^Z;>MjkhX}&ixg(P|J<4&%Pxqpq5aXh}Yk{KA z%$+QbEuxR*6lTlhB+RbF_3_RV266xS4Ox@V&zeh|7mjg{GPTcbB4Hmk#(dxSBxL-X zZcdjiHt(j&5Bm;z`He?#r}QaxUrU0XLN7J_m|hN3WFT3d)GJ`0Qv@}6-LL``kyffl z*{%wYa3j$ZtEjb@?kp*C_N;@hY$jE)D`{6zq+N4B#HA9EcAiq`4~R;LD7uVFew<3b zy~ds18^Awy=i=?T3-MEa+V_(n`zPA^&m$(L|2Mn)kCv9AX5p=@hVs2LMf||{AgGTB z2(k{EfJi#YFG&Fp{0A$&h+kd0IXNwZ&A^_~F5SbRvI($-yjqjSwz=6BC9Ps^02r&Y zqFV8#W2suD_x0oLA;|YJif^|4#`OO9C}tSW>DuR?W|{A*mzm{n?gwmt+E13~W_GnW zmRH~;ImS2SBsr$H=uk2DPwFJG4DOLbCuv+bq&IJHJ#Zt;8H?9~P~RM1i9uEtQuV{h z`yewp`Zvg=2h1MKfz{W`+OWHy8L1=O-b}%Ecl)h_=EESz+DrD49C8+G2m^}-)B_x( zY3bUgiVJliBqQnC2KP8Hv*zflw>r9hsR_JjBa+;;dmy~$BBXR7x83kPcmr_EUD%>< zIWT)E@V@8+ae{4_1C@XY2}Z+0e_}$W3>xw2sS=t*_Y+b0(lI4RvO{nK-m6%;TI1_A zEKT?G9M;0ks$QQ3NzJ&d6X%seZJ;qk8h6kcKnh~jSH@sQ!K@RpNin9UNUD*iEj;@u z*JI04*&>IDR0&AnXV9vgNv&Y9Cm?}Ep@f49MR-{aai`6g#-qElGWKCL$FxAQO1c4E zDw*1&yF*)=Xtsr@u&R*HY^04HO}|ga;x*PxpiM}~sVt0N(0`J2RHk#h@f46l-78FI zv05HnMn}=sU2+|f*4TBTP!dU17U-;3Fsig>q#D7Wt1W8`nJUt>@y70p^FjlzXItd*Qri zL#51|v|793bhipQe@%%}*!<$zkr#xc`HLgb=AG}gAM+E>7<*Ah_G8Eupxhq zJW1#0;HVn7(0$!1qP;CHBxa19bowwWQAhUzm>AQBnPi+straw`;S86Sw^F5M=cRUe z@eSIj=On@>4ue!Ko0YhdMaI7Mb7R$%sx{?n3dII(N^LgTYMUARY*sJIx~P{^^gddg ztU8TR)XkE@v~g9^4STE<@%1rO861e?M}{*qN3NEOwSa8S>pot^E3>*^&Y#G9iw@Wp zsNVcy2t=Hs0uoKp9U^I$s5;hl#9KN@TLqIrE{#aelq%oi7q1+?2m^F3T_a{NyK2dz zC@J9h=Jx%`tvCN9y%1C-(IS2^a`%r4}}s#t4A z-_bwRbV}XIY>rm0EG%QmC^ocx3K7uw@N=;XI7=Gc;dPEr)G+B+$k??V=lCLUqK!L_ z02LKUXK2Vcfb}wMR|a(@)^?q)oLi;?TXp1b8ArLsz4E`vn9$%(5pfw-Q&fHKDv4~N z$=KB3p)S46-mbsTv?cleFq&`PGAG8MS6oW3waQv}V6V^q7#KU5#)fct)lpr}n$Yeb z`VyP0rwJ1xCCmOIscWIUw7T-mZz|Tj8EEC_LI@O};aB^%Xcu~j+v@i0qkr6ay9iYG}#EPR+Jg7!cp9a%lNf-uwm zD)kKE>21-NqyVG>q|MUjhVyeK=G@h0h_N8FM2K1W-+vh&qnbKFy~16QOm}sh7a*4w z51cSHmV{TPNV#gr9-+V;u<|d6xwnE1NI>h+HXTU-*Ez%s^IAS^7sgI)N&Id#g{WO4 zWV?eq5HV?!;i{6NDAE!^iw}7g^aHqxJA5R!4vJ{UEJqn^?4e`+Ue)H&a`Ma*g!Rmv zMn5AKcySfV;E*scvNNd)NBg=LCNldZVFwz z7*fbe>NA{(gG8ITDQE}(b~v;Ym%{!qfM;jBBp_CaUWu26$-=TKos)j&qHZ@+hypv5 zpovv}E8=v7$t7<4OQpkekCiSk1KmaKgUKGZe(GGShUedtwA!(*ya4yiL)*nUX-W*&x0(Ay~R9%%+isr`7EUSMS_QqIv)lUSoxdD>8H z6R1ba+q2v)+I@VnG3d)L*){`p2($ihto4gyAE+ppLl@ug0mN}>r!y06jL%}Wx8fH^ zNtaibHneS=`L^{(D_wl&9dC-wH-7uC7`%uXnP{VJd<-Wa2)3puhRwBAhS-(ZrA8qV(E;mcga@Rm*y&hYs&(=pm&^c-B0K=5!) z<|s~TWCCh5%$9IZY-EE?8bWt@W^pPl9I50KfO9gkqQ=Z|jTd>kN(!{`k2ALgKJ?}s z{czN!NDY-h2T72FCOfkV7fz*WJu^hMch?fQ*8s}=NvMh>eis#h8wlOzI?p>F=v z57V)~Ciq&&@!(#iyr@N7PKeXYuI=h#<|{}0j?`@>w*e|_z=OucmQXkko7>7L;g^6njqxS zB(HgZj|AV?;9grkWEgF=k)1b+9W(E!#%mYXO>vz;pLjAThZpCrJ9O{ZJL03lY0-Pf zzGS73vbf`L&dqcwK&^uJ2tJKz&zxxm$WUW0j_Nxeo^SD^?>Pevu=jT~No}c%UO)q) zG3?Qv4!|<|=*Qs)>iDwwq}Tn^`?`)t5>-g0bt;=-+56DXk&QKG{a+1S&y!^S_|qS^ zdEThZ1}wbNB4@s+=C9^&XQ|3@g>U;7)KRp(fm%}PcYvx3s~*xDtg$)$r{@e^2X9ft zsKUrhXE8^S9P1HSWM7J!XC=6Ex~}$6A~yuy(#H>@#qDt4X#e1_CZKyoGKgQlG=I48 z{~CvJ{{P}IQ3E4qJ4cUyQ`p(6({4yA$lo%2j7j6cE&0{ZNY zP|Jb%i^htINg44O$$7hAz84eO4GyJR+VJf5vHPJRRNC&FuV`a}YM!xS2X`-|`AMnn z!f5R`-5+nAKeRQ|&bP}G)-MY0Dnp!SiZ#5EpU-tSPhBsbA)hc<0)-Q{oIRRCKsWg= zG1>w{%otmxUV5#Ydc_DbwsP(^l09D7K`?-Vd#Y@VkZe#fVYDg|T$U0Y#Y&(bw|<5K z9qFPHlF^W6f_%KrgdH*UM0)nOb45xOiz2g*Tdzg~@zBW0l*b}@=5rOpnF{3dWnJ)T zxKU@0g_n|PJ!SGltkPz){&pR-4b>WmU1#vj&|GqG4FZ{%?W}u$%d?sklj=|Bq0%D} zyGA3si7Mp&rm?FB8B|Sh^?^pIaq>)CY2=8uE$Kzlbg0rZWULKpjE^89FfL1DjuMAZ zuuo&Eo4)DHgeL}`MJlgTM5;FCfI+SjlXc_J6f}T0L{x^SYIV7}a<}08PrY{A2}^Ds^jagQM!m;lpzH z8Bh_GAVn$quMM0i?5cG@c)rf9=BlGgrLxrQ$W`(>V2T5_QJfLj)_K7yyJZx|Vrl8p zY{^(x<0-8aP=1+TzZtensmh@M){rb4S3u^;D%aikCG{8U0I*1`4LvFNx|7GI$g-5& z7Nlq#@(g$o5kqhK!;9-RlpSGdE&X65_6+NMD43HSB!xg~pyh;69x!DKSNc3|O!SeO z+x;M@fUbp?pCL&qMcCUOX>O{H9|~aOuvxGhV$T30)oQjB%>4L|t|Vuo4-cf|qLc zJ#|aOKgc$wt&&{3{=pn((~l3g$%YMGHYD!1XP7jZJa+o?N~f!JA;mT9bj{rz;F^j( zm)!*kG4A)cu|C1&$g$Vli<3*ItX+|=#ftL`a?NNw&6?{o+{`Gri3(F1da1cB(1O%S znSgK$d{D>7Oeoky&sM-K(-Iwvo8#6j4Og}2cga~dIv?PB*U^r*zvB?*C)@J7^EGK` z4u4B{2KO8Kk%Uf2a)gsMp9$llBlx=3=Ly*&TC`7dfmj*+^k^Gj%nE&9fqO({z?54S zit|ccX3OMoYug?t-??>LC+s)uSw2=|IiF>eC!b@P&LWQDSPZ zAZ4|-kn=lcs*IkfTvclX@?|rp<=F3vsC`T3XR)1W2_GjLoVZ#^&BRZFn@@6;=={$dlrB@SY zSf$@Mi?6_94gjOKAh8Eh>1{)`xs^+wu#IgJS9oVnX36$Yu)YUNe}QPfhPw1}XXl74 z=c?k?Z2FOWr)`;zlY~iJxhU7+^dtOuD+Nk{bRv#XH^C-82mbAqH}2u$mc zAdUPY5lr*pZ#*tbbkoJ<^pm+#*xeeN5kEgW#%nMRWQj&_joYI3Jw`4F5$6TG{_xL|(Fd zJR!IRWQ;$)A}|ZErVNs~RlPe!>3F>i2S@3lqL#en$EyPj~SpL{VK{(|gT^x*3+ zrZ0TF6?jq(`@sP@MUb^dzGc z0TxvNCOf+Nw;=WiK-ye61Hz-(7% z(voaoE>t#{DD9stOoEN636#dxQI6}IQ--?0N6Ptk$|DoVvQ*Y^%POZhYW8AR%m^C? z7?a}2jY^`n($SQ_`>X*YPuil-M?!7}q(Xdg!%D8Ki8{z#e;$=5Fk*!-IRcia$Lcn< z>ueUqYwu>$DlU;-PtP(p)M-#4KcsN!s+>Gxk`MgUP!%`>WQJ*Sj!?Ewb}{Z7=)B4Q8fP6>rv=Tm%=z< zOeEqu7wy%nG6z3!fdPYGn2U-ZNacK^6~us{Gw2P~&|cOjoJ_8r3>wIRI!eANUq6@F z5Z&gKKV?8Yt=ZMUls$+R+*y2J)zvb^l2>UbPnrmAlIb-8!AGL*s!I%PpKi=ESa%-pY(6E;aR-$Wzw&Lw*AbBf;B# z9GT3maE-!p4umD=$%b3MlWbY8*gd;)T7`m5bI7>jTuv22JIRdgStHtL(YT>_5;#(W z8HKp=P1z~?2fNlrOs>8)UzF>DutAr`C?B3Frb;PDOUUJqL;VYV<}zZmWUV+=*KP83 zTMyNUBL`QSba7<+@3NNJ(>DVyvt*l->=`Evuh;4g5W>NrJYxJ+uS2R3wDujX#+^|- zt3{2*`0V!8jP7KJ!ngy0>zdof^*#?XcMQrZ+&qHKmtQrvl$%I6JtpqBd3QO5KH&$f z>mUV79FsS0&^GL0w!cqC^{%n8g>M;mt6&#%UY&r&CRY&cITQnK?aaNSRWsh-Q-Ai4 zG|z*+UB@oWGQ2vJgL29D!|tMBJJrRh)rCDmD>i}KV@_$gx z)$Rk|0KXID(kMC@cI4zap-dwIBrYPtby^52xp~arqT4X?2v%A}OsX`=28$SATopaR zHnA+YSrCN-uy!3cxcxQXGhghqdL)daMW%4b7U=G`-zvJKk@S;Y@5MjTr;AMM zekp{g-6KwzRaOP!c5|{lj#|T>r1MN_+~1^yt;q|b=wItxQF=mI?m2$P8ckPKq`;~K zyh*Cji5<}6evs6K_$#;DL-v698KDA9Islede^m4V3kqAUUpYYJobwpYKi3#+(_nS^ zyeaBc$8f4Epayi^w{z74Q|(-rT~m!;c6-I=r_94M^BvRY*7VMU_ZJB0gUIQgY-MbA z>QxVYq|^JA2YO%ac+4mI!4`3HCJI!lM>Wt7#EzYXm@25SN$6Vg+B z5;3mfjVXItxUtkW&6yKa2H(bWopZX6l@JI#g zS%n|JEeiGD`R)ItmPE$F)Kzn5MiwQVR(j`WNCpk0S%at*O}(`)vOV|J3KyZ77s zFKC|s2cl>K8aI$ztVM^T9ip*iNmgv`_XzD#lvQhd;s7oa@ytf{<-ZlN~lDC*4I^`VMKHORXgX zbei?*y5$mO>i0q!d-8ZH_o96Z%+9exvNWidYqmi}mTOWtu9_9A8P3i4FuqL}TQv|a z{D6DW7{jJcH}-2wC)NZ4`zF=S-lrKPdK0eAl{8Tu&foSM9CcrPttWWvTYp2stW%u< z{FN6>fn~0OEbR0H9K}CYuO&}Q$EHm6Kem*{5UQbw+ey_+KAd_gJ7&F6X^2^~?-`(2 zkKDS)4x*^2ON|7hVS-JJA_;kbM{l*(Z-(z)Qg<(4v=qQ_zr%D_(|`;Z^4&Vri6| zq)Dmb8K|5No=-sz5Y4DCO0YHRp zGt$P1J(!Gvj1l00!~rG14a(^=JRsmqjgDmmkvT~T1kJ^XAylgs&vmV;U3OMAEBGmV zP}5pgESoKL&J|lb)atJzq2hzrzC9kqZ9_AE_NVfEKU_a=^PFsFk%eCS`G-%4WJImZ z9YFHz75L31LGl#OEkg1X&hepms^*^{d+O$+A-|^y(osGp3er(MMhezaHi_i>Q9b@l zbEkR?6||##Ock`FdW;qPRyfrO*;X>QgRL%k!T2`u?t6{DLpU%RA&Zv7$YtO)^X^|8 zeNDVWIj|aGi~bu86de@pJMyzv%psg%=oJ-y2tFEGlytCv%+Q$WH*`qCpgn^lhOHom*L-ZEog7EE5XEra)}zYk@nS8*GV#o~xVYT}=d| zTA3zLjH%RG_46~9jaIM2dV~2%KVW3)@Ig%j)r&8s{t0X_(xl&qs&j-?+@C}g#a}=+ ztcOaBa*`0m*)`55HN9ZZg4tKc^pX( zH3FlM%AvN9YS}18ew@e+PhwX@j18JB5WUuZ$(;bk3SH1XMgnVZOyRLkL4&75tSc+^ z3zWdd*-V@4DCL61s%PyK4sj(j_EHv#Oz`vW+34-Cwm{>;8UL@%!1Q>B{t)DLP+(-S z839cmnc$$@hgfS9>iKPBz`PRsB`&fuaXXd|I24g-*m?fEp5I}AeBL;C9;qHRv>YQg z1H5&IlC!criZfL5K7A2=v$BN3( zhbL#p3eEn6`HLSVnj@L2c~QH>fkGTA6tD=jT5!E4Y> zxtmcQXzIR&UL3mP?0=DMRZ3?2aMO}J_1lqcQyHTsV!gd;YN%~5no7?j-R!O{tZHv| zIS%3ARA;U>o%#MEbRvjB2>zjnb%;9KSKnTa4-;skcchf2=2|3dQ4+G6gRlJK;u&-_ z(SXz+P>uAKY+{z{#9o*Uu1Qn!F@J22$yq0r4@Xu&YQmvde=U9_5Stu6AwEFPtrp9t zER9mL1gs>uSJy04V_{wiz0FuXP-F4I9(OA_hQ;QSn`mokQf2acN_}>%@6_0tLDt}r z{vExPQP${pKYLPrNPUU}>w)&jTQn2~8UwAV_CQ;*1IB^l2ud^+h8jbSsrF!7ssqk} z=Lk$R76u!Gt?A}KTZ#kM0qh9tNOts9bau2(^cHkdVxXkiEKP2&zVCEkMZ3y!GfRq! z)5-LzsmgS@%i`7}m;lMnn>!qzs+n4f+H84MbyY=8c|XwWje%c3!nM~Qn&Y-JURKFo zDu}rwabYn{wx-sn7{}s3?3!npEGcB{IpsZvEB5FrL*#8~JjnkDRAZiP!$y_-AVBtK%xqs?5a)Vtc8oA~?c+y?PqtWz!$AGAkTi5vfIinATTo5aVPJU6NL zm${On!a4Cb1Dv33A`75*TnRS89jY^xxfh9dV8^^60HE1ieU&_9@yeDfK;)AOumx439^glU$wK65rgYn)CuM(kH6ZOXkxo@IuvA>DCV@4V zS#~X5epw%yQ7t3&qnumHH{#OPb3;+9a`-!rKtI8=tKa~WsZ-aVDs1V~s*Q(o_>SHp za!We(%f4ehSBlk(@x-qAA>MsKKWCZMk9PU5`5=6ZQmxVH4&vUCJ_owRf8P-7?1;ts zg=>ESw|{Wl-$@;AvW*o2jimq#eZy~se)nC&!>*J5c22XOhfNUc43_L1M(@x3m<>XOP7R;I(rOH7l?~EIE7FUkc*J?6rCzO5vJ+JN1d12clQ)|J!RP| zWfSJk!O6n_d&jSl#z}yh%TEQFl!R zWU?BXlFg7!pFvQn-+<|xNw7|{amv=-mPr##|Fg)Un>oiG zm6;$=iNJm}_WNlpQwBUw_dRuH$kRpuUk9J@lrTXejVP}MS;HBr;X#$E4tbrz5nh@W zSc#S=*xCm;;JIn6)Jz1RJJR1v$K9N+;ROhIn^!?xFN*M!PLVp89D!DW@_tCY%wgA^ zK?IwmBm%;)C7qmdh**J&G%94@d~Xy9rk|rri{KV_q-2z9yfCb_Bf4ton1DNjRK_u# znPal3uu&#+pV^|qaDf?RA05TA1Ja`^(?~JnoH3!Zopf4xi*#D?L7G!`n$4m`Q(v*Y zB2zivQ#!NIQzo-AmZ4mchPhmlhOu0ehSefR(@-%+({jNZS}V!`O@A!}-2wqrGuokN zbP#uTkao`??Y@o|w7fn)SM|W)f~RSx2ow&7-XbFmHnYg9Y^Uf57n9y1Bn(sr z((^Q4f&dOC1NoWVH68g*R7UeGCIk5ela!<@hLpuaEo14Dr@sivO-qXfY=TSOx4>d8 zFRs5dD>lx9x?EW_gc;~$OghtFK0|P{p9_n66jmi5FGDCwpQc!Hp)4|0iABU5SGEKb zc*cA4+S0*F-M>#Ge9;%dRxQdwlCEE(3%N55j_o(+rMB;;GGJSbd7IACf#{sSk~fB| zAr9H4!&LtKo3GgXoR0&LiJT`XFb- zfku$Mwa8m5p*ESptgkJ}=+Q5*e}cSuokP}^A7V}f`M*QJ*#9Rv_pe$h3Aumc-{CGW z?_`w~df)4AxyeHbMv5eQ;(+`xVrOvp$Y6NT6-xB04A|RLDpeY6B zmj(QR1%`iyw^v%8byt>ERvT(+?)gr5XQfFAUf;iZZ(ct5XPiEGUbYu+aB{z{0>S|F z+xA`R41ImEvu5b+oJo9fNSvWNdhXtwPkiO0ap>tN$RruT!3rH z?12JsfL#&SMD*DLupl;t_2B}tK-dAuU84N;-V`L85!zDvY=CXa?7;%KTzu1lcBXF} z`t*BN14v#*8ht-`!FEPpE!KM$y$&Vv(`Yiw~zA7bqtoP^c&7Oa9VBTn8zG(;^c>vPE zyC?KX0e?yEngG_a>tp++DApplXE*o}X>a4-mh|s9-nPDR!LCj06sz=$=F0yq1?F|SoqgMJ`2sQd64;d*xS|3Oi<|iSLFV$7*~iBDy#nC7Nd^2( zc#AXr);;5A&+ngG`+$ct7c4b8;D_`Y(dP%;XPU?0M|ukt^QZ^di})JTrvMBHP9L@_ z2rpk(FOOrNI_I3fxH>2Dn-)7X+^rAQ08zXz8z~}G+!4G~Tr^rZl0Y#5UnEngO}K-A z5u0Ac#AbrHKjT)MQw@Tu%?7^RuK0z^PYXu8PGA7Dv{srg}T zFm4I3yJ+%7k#?Y*dPbD}Q@dUqmLcx-6l6=TTu?21HVL#8Sa%WSGsAo!T_hFd#_&Ev z%_l@5>f&=tz)ADEBjwgWMJfsx!T=RuRjdK4aF(W2OrfO(*!Qxo8BVC*%{hIVIl(j?Oz<_trgLe}&{qB_=&eRj^! zgToZSvMfUuq3m1mX6XBJp=;8cA5{c1O>xK6>(7l4)(k_c1=%*t{T!j}tMDfnfU~*A z8Ex@1rv>C7I@aM*&<++|ZPMDZo%SFu9SiVk82grltybXLl~Jlf)@(yA>=@rO@T*w+ zpkZqS|N0VIX>FN@WRf?9#HsNox-uGC=ceBkUfv<_`;`)36f6}c;r*p#sI-9fjJ%$Pze<~UhBQ>DRnDmRG5hH^F>>JtUy4E)4 z_K}1QpcNxeQfBp7I*ZIjC5pE&?|$|7Y3OR!M_N)zRaBHkPKX`Qk20&))y;Q0cuMJH z(r>xR!ta}7)Il~E-smEcr*R}6qQaKVkfQic_Vlh0BI8m@4QXFOB2x5ipDx;!; zk%~UoZmaDiakP(!>5Yl{63I+Wp&JZUm!`*A8z`_pRnS1Gt>j>$@b=h%_`Bwk_{Q@l z9Mmq)S6Ibq46iIVxLU9$wa!f@$gZc=G`luKKvYAf&O!K~`6%ZEU_j>TH4vDaXT;;RIK=@QfO2oAee#R7kQf`E(yMx0njf!IU< zxiz>>dJlE_metFm%l1?SluaInm4(e+2*6ssYvlq?Sga^i1!^Ky-DQnh!j(2w!?9tR zan}l00i_5h`C(#7+D^ua{-=?nexpmJ{>j-JM!@b$+Aj!>t$jgl6rbxjUZ{ujQhqfW zrR_Ta6VEjqj*aCti>NxKxu4!P2=V#N(!y2Gyqm6R4GmHXda+YqX>%7QjH)YUEV!Jd zKNO<})32~KAJ8kbw3V5aV3vB&q~v1u~cxpmO>eab=}9 zS?e6^9%ab^G`o%yJQ~JUiEpA3)M}`A&skO`gi$dC z`oKQ2mDFT683@-4i{dHV5OPP=Kt(Ex&SdlWmw&GZWsnKS=)K)py$C~c9N63;6w8Ot zo<#4UZm|#=QO9t4F%um_A7BqW7Mji3W@f(A3{vmY| zlz?chSWVRn!JjZK%v)oJwRsLFNvSlPP7R^By$f+X!xT)3hD619+GF~;yZD3$i)ZF+FFD`L!WfrdprbMI23GaaS<7V~H z-)A}pBCJ=|X^2{=7U^r!!RU*W6q@iBiMY^j7k>fl1_x|qm}1Mrog<)}TO5H6DGPL{ z2~e5TYmKZ3vk@)j!wCY^FM|t-I7H5!rL}^E$}V{17$%I`dsufo(oaiblvlzohpJ#VNo+QPg)+iN?WeAbT zD(ZJ{&$x_@^;}spp z?3AI9+%RAv1M9$i$Q^k)2N_3>lu8pcMqCRz(#dl%ji<=odpX|d=HalozA4y+dlRle zCZWWEPqk`2P1sfxEr~ugGf@k$rB{B4bhwDSu?4hMi{FUB{4)siubcDNU)8e;GA$*t zr2E03w-8A{mH|zPy9k77({~|W!i>zLi?GGNS>z<^t$H5qy15pG!U~Z>j9B(##sSqw z!V#q~2T4l9u!g?KWG4jZ9zoV(56RagA#SSZ?h>g!A6B1*4jia)eEHJ!w<%?=ZLPQ#o zxXdqFn3(tOjgFqq+NpA50#Xs*^0W0UB-lr1E*5$c%>mo<`!8&gc14X@TseZjEp_Dn zl29_S zs2Oc;vklpZNYM$-79BRCIc)_1J#(q$F9cwbm&hwL4CaXNNLzoGY!EgLN^x? z>t*dt$P&a0+AA!;N6CxyreGA%0ehx;Dr@NxXX;IbT?9!eQw?L7q_OtVA zutiLkm;a@KVnaa1`==PLHSU{w4Y7+=ihMWE7jiClsO*A1#vemgS_lR4LV zU6(5eOYOe&e(W3)Rcga)#G04JV(@@gSUAcA;S|{`gJ{h^5Z?}oY##U@1Q$+dZU~W9 znOVs^J0fHY>*H9_Ys9l;TpOb@YNWGdRfp8DZGg5e7-y|hkaDHum^RK-&l;N{uxIt7 zwyqd&foBWtYXhDku;=xI0MioNBLqZ2Xb;k|Y?uJknvsxp1@@-^*Am*Z1pHH{Quztl zfNF8sWl><#4&gm9QwVUG-5G7^hXfDxw6Ix+2oLzUCU6B%O5BvVLICevhyBQLQG84J zegc=@J^d9FvEgLp2T9GhV)A;g#a=SJp;e?_$vmcy7v1cEs%z+h6S0o;BT9!B*-d6T zGLv(9LQ6bGkA$!AkS)1bv+KdXjVq5DNoe;Eo$j;9b4qc`xPY*w?f`G{-QxQs4{A!? z(iLjMRi*ARigi(a3-Wg9hcc7BCMFCouwKK+ca3nxx0d%XZyT=Jw7X0rUxz?S-sHKg z8X!~yNY@M3ru37FP`R1<`LlX^h>wa5WvgiXax+IY6#^9(7OO$Vj#!rqpVbHity?_CtV@Og~qUwrNHrSD)g=TZ+T6JSpSq+CcB8sABi zy`+y4cN-T>BW#CSO5agF{K-G!#XAfN_ePY20d`8>Vq9-LT`S0Z`jL4vY?tMA+b%h&9#G_bb= zBVL)_1qL~6)I&TZ0rZouR=F|*sB@ahH|=sTjl6|E5urzCx;*wv`*>V?DxSX|rT08lK`WK>L+H!_^jeE1wriLTaB`P~sNh z;F$2pX8L`aZwTagWU=q7H;yx!+OuP=U}DRj#iWX@br+!Lq658`DibHJTe!UsG^xVg2t8*U`236C8tJgC36$&sD`9X z+Sx51Bf8-|uq|TfPF6^}a&`jFN37eQUkQsE+{7`urS^GVS%Uy_tY}3%x5;HjF3y>j zL%Bly83i#Sh_Mi&NuEqcR~P7gP(i%0vhJ_%o#z=JfUoYg6(H7$^&h=?qumeCKzm}% z#ujbm)vL66oU_J7F09L=OJ&f7^rCx5Ecz=VcZ_q618%GWO#VN`tNo?~9{&-;qM ziH{NTnc^4v3>NcEl97ZN%a=^7A$7rCx6(sJgbeIE`}v&tI`To(Ak|kf#_%TuLUHBf z1RM%y*goRhEv6VMWej8yVs@T&F%1HwNZuWJ0l2?M0X8=f^Tjs=vXFc5qz;H?A&54u zF$E8F2yu^#<&raa9iudrH3!mWBq%J{3*8*U#k)jBM~^xukwp*TpCxReWdLNb3u7n7 zbzMKK<}M?O4z#SEQS1d@&h8q_d43&^G8O+jz^1HqHffq1Fc0&dE41d5DrQsoq{&(V zq46Y*r`)!4p^=%uT<95VhYmp(zCd4i2ncbzc0-G3>|xL}`b8JVGC)G|unHn!NMB`7 zCk{7f!K`Mt&=k|hHu>e6JI5A;r`IGG2CAO!_cv8V6sL4dVkey;d>9L#$UsY=ddgeU zf2XyR*VDpp!{4i?@ds~=ClrZgUCRk`nn-q3D8pB^S9&H+nCm5#!xdrL){|V=>tvWw zKBa(^Dn@J%4FwOaFCsiqllV^tuaf3qV^XJXk&v-0dloK~2cQVR?a1M4yjy;|_#Pv1 z0$kC~D4{J3s7wkfX%tKIt#)6XGQLp3w(h?dds3%WZpjO`_=N3`y7BSoU2kAu-S9#4 ztD$C1BAQfGC{s;In{+e+u3X_csi13fAWdMe35VGgAaPV^`t`s~c#E%G7a9~%vpyEK z9YW=&T(&%Cmtm%85itN+2-KO)Mt7txLbWk3!?uP^v8g|O(24>qk)81yS`P=;*Ah&?Q!(%PAG}h7#nUUR6BIsUdFXA>#uf^!_uQ8qI_jh zaLi%b)^3@V6Q~J~u#N{U5fALH%Ay5Y)^#Szx}j`rG+x2>KrloZzYO-ILS)*By`$t1 zqEP0&ME5o#d_k7E{Z{M%A4J&{3l)Y>>+ zC_!SziNaANauBI6A|(Vg@|ikCDWp09lC{ua%&KcjB>vLA6m>FGRNHFJ6fzLwZztqn zu7m{3bO49r7zbvYAK4=2u%Ej{hfZ$G!+dJl>_xs19V6g6i$}EQncrZ-BQdZ{&)}~X zdVGB*_Uun;<}s(0fL`iViM~;}%F--P&rsA=t0!-oRaTfQ&kR4=rp<7u4oeGFBLSIpxc>n~t4kZoXzp?#bLq-c<4=B+& z%&DOl)-S}5nS{jz+zO2a(W?U^?d71R=o0jS+F*q>EkhUBkTahdsZNDn7Il11wi6>4 zPg7aA%(5pyhaeXhvtSz|D7OV))vX_uSeX(XK=u<|5BHeI7%MsHmi8t3OVezH6y-l9 zt1T%q*<%ThQ{~-eD3+5#n&{e=JBA}35o=a~GUIn0Jo(C-LJ7nhyNZCIYt;o?I$K^* zz1vr|0cxVTM+jomTk!cgvz)Jy6tA!GwwGAfV{V+9{i)~J&wSVD!7Zcf> zqM2K_NRjL7T*Z~9$z4U_I?wbF5Q9cqaib&$75g3XK7z%(g@7g~jv3tQQWG;THklE% zkKLi^Ttq~Ual)k$Imu~ae$(579R+w>=z67UeBgbe)z7o>D6sJ{P(@R;}9p=6qr)tB; zYKFhV>ED#ob+Hp(41J`edO;tXv)s-4xH$vnKltBjbE}ihd%wBHerpY&A2!ASA25xi zA3PZ$$86J?Cv71$X?rl%Mc=lDW#e}h*UTS0IXMJw8W&cOI{A-d|n;KRxrmy2gHVt$k_rQYUYWUtS&DVzOv1k6tA|J(It>Hhy&t zeQT3;yyVp>He=r|>h7H7`hV&Zw_)`=uK(Br2Ko!~ljI}JL!bj6g0q7UBhf<;!;2Hg zCsV=tC-E}|AOlu(Oah1(B}egd20#P$fVV?Dlg3NnQ?ZeJ{dt~{x$yeK-7#^B29}SP z@ zA#FAC{iaNq>$oLAvwTYRZHQj2Y2E}9^VHZa*Biae0opk_NL=7A=-0F|}>jXkC|nAzaV`W0yV zAJ+ksdMvGNaISsQ?=CRgkgNk*cJQx#-*+hPKXO9^?f|&KYWoE4Sh%5e2MEL84DTqo zX4tvL68Feh;B)m6_t;qgb4^(GC@H7~^*GjK{?Z6Q^cjSSM~ouFbjFrwTQOIq%Q55b zmC`%GH_W0mZ}nLMW^McYn6KFYQVG;s>ow!^;;Hl~Q|v1zri3%wR1;~hO9WDSLkqfT z>?K+?gzN^Ftj4I#@aLj~gbsv;+iu(;y=T0@N02ZI@N1#LYXBf2om=)JC!H<}ut!y` z!whQMtG#NvZqG`bO1l6^kS?m{_7z(OD+KB4I{+ae4;?;pHenJWrR3uFSz`L-T)Q@{ zL&qeN0)kkJbvjZi5ebzv5YdkgwZYdrVtahRN|iegIP@*^0qoiHptVBuHJDtk{0OKW zIK%q3GdArwv?V~LcQLfSFo`hzd;(#11OUGw!Ou9)BhIwn;6?{z%P@RH#_u2yXKdtQ zMf7cLq(i4f%moYh7S^TXKn2_r)l(m^)WXxgLO_B2z$Jk(IOWbj z1GmO*3j#)$w%q&#N^km-2^BruGhK`xtGg#SK5uySAspZJsOuk&msKO zOf?Qk4bVgO9Ot?~xR|wB)7J)&{-8IxL0G*`ATi8mh8l12!c372dfi4a1Crc0d!QmX z-;Mk>sDnwW_aEus_#hnpk z`L%&7x*9WcW+ti(ML7;`!y3EbZ!0YEDutV9oL*8ls~W70Cd_rg(m6uViUvNQLdj z$^WC{43+p0)Tpu=KLL|uXn_ebQ8*we)u<)INhF{Nrm!VFidFg)grXat1!|;;M=vs) z?gc(NX%N@xWP^63q?0-AR`Az_L;HbtDdk+!kwa&q7Fn&5ssM-*a%tPb%g?Xm>6r6u z!X=efpkp3nsGSylRD^+;(y=wLb!5QMK2r`HL6=n)r#_#47iVvxM-ipovbY#UT!Ly~ zL^fEu+3B;1MO>tXKJg>}PlqYx(-3sC`lLFMa$!khbPjZt2D*1O2!}fm@H(lvLD^v5 z`bB+;O{mnmhCRm?V9j_4TZ7ZStt&6KG1?%3D+2d4ZNS*PrhBFiC|#kCe>y!OX41_+ zH-5fX)6R6zp$9$WsWcp&CiQ!+}1`X?F%)#s4dbvX4@fZIA!qcw5&WbSZsWcDkdSL8Af z{rZEMR}N6!#X2M6q8bYKO;MQ zqYQEi2)+SD`!xu@ke5)=h^R?!c{+!Mb^ZIv4d+z2sS|5Z$uLR|Eo`k&Rgjs}ey2v! z*fEFQXvr3ncCz7lj#L_jjmXeAX%!p+BMOrP0d?cEEdvHk#T-Zm15{3}uDD*2qRZEE(b_3~r%X{6N0$R(6-_BuhsZc-yXFnA z0_bKK2aB3B%UNjVRLhCMvSua-rY!-rO@0K|eIs;>JMx}MAFv$RHDgJHRDByfk@|) z20R%gHekyeLPho(GP`|)L-Tr|yK;d;mCi#|&Zni1OTYvq(shchS>%+s#Q=$H%28>v zb*p>>y!f2Rh!m^Z>T3750Zx5y%-&Xwxe(T#fN$oMFq%xP)cAqFQ&G`zr^&;r>pHm- zE|th~I|LsFoZ(?I>pyLTk;$d%z?E&8(mG^eySQH_=E}U16E7F+2tV7eXdGt#E0-=N z$pD|lybWFE^5}3IY_Pl&qdI)b`pT=x_KHh9b{(Loj{~a+YT~6`*o1V%N?+uzNrV^7 zgcr~RndG=5L99N`GvfDSFEz`H-}DgIk9tC|u1TZVTCmMGMr#@7^cQWmqB&^J3dpV? ziJk1^JIG!DOj|wuT2{70yivAsYXcUoZHPpb_GEE(af(<@LbBbP>yt^{9lkbS5Yg|} z__!tcsRY=Wta&J+i_N=DF?I&y{~w>ULD9IOubL@44%A zfXca}#{$$|tZob1Zh+nV!6RkNq|_u80$6~ZkQ~;!UA_aTgf>5@S^?ZzKHi$aAGdz- zTyP`~PIPXRQ+qV!Cuj8$CViMYkQQzv)<_B<5B9Ed9&Ny!7ztR z8U%SGrjLrMvuE`q-H|F!BGs{UrZL@_Hv3cS7~UjXlXAvr_bS(vw(EY&e<^q{o5YH-d(;ae0ltErSwkO9@jo( zzGZsD`iATd@a|cEG5T`;2JH>>owz~mdxh-3MF988wZHow9NZA5xrI}F12E+AQKvqM z3FG)FGe3+CQ+zu#gz!<&?$3o=y*nAQ`RQ)Y=po{K*Bv7KX0i|dCDq-x3x9jpI+XgY zWuM$rQ~pgz9OqL>{5Xru`m2L6-X|Y=Uzg1Aoj0lc8>2Ycr-J%)m#p$FHZta?i231{ z(gdPZiz>K5f_&mXpIjDF&`o@ptQIWvp*~Ed2dVU-L0qm)TnRB)VH$4S(kHGY76t9n zZC{lnV&_siu3RO8*COz&#ug56nPHgk*??ZHOB7n(C7kOSgOxT$|>L?swhAxA%Aa;bz-u&{i$VP@V;MgPak zch**PGOwVu>7VVi8&hVJu9!hLs^zb~o}ndCb}T6}$Gh5Q3+F!fb)I_FkdORyZ>ovj zdJE{c{u*Yrc1M)Y(CuKRr3u@YYUY?(e%2EmB9?sx=)dhR_=%yVFPF9r2$WY#V1b;7 z)kJz`p4_Z4%_d0(+yF}mq-os_tdB^5Bp`Ut()YEidCg`aV_Ig%*EyT53Efq*7!(CQ zNhLqZIb7t4IZ^GOGL=Ih6d++J(8Z` zbQ`eR{Pt$)w~t2Xts_w?x%`?Hp3W+HkuzM$IWg_%FE@x;PmyRFybOf)P{DOgtj#jS zEERU~Z6tbsWORyQ*ml|z&t>y+d0X*~0ElG^ocbqw+?Fnk(3f>vG*U%Zr1plUu;^&F zy=*J^9xH?Jb^y_E9C@18{)ofV^cf8log2z4#Pxz3?L=%i{=7Sd zg@>@mpoJcgGG8vb$;{T8wf`+9^TM(k9tx}$%fMy*X zFr#LiGdjlfJBm4b05&)FSMH2T!kv^WK6TP%y-+mfS{-92rQ5FXwq+(zjAQfSiRI8q z8Iyt|HQ2PuJL_+;f;6x7#iiROIQcfC$EL3RJ6;ZK zDDO<%0t^=4yjU@(YXMkq9|qgyWCQSW0;TS#pHXM`)_TDWha~C5x&ar5D&@#_{f-Z) z%n@(<$`8ER6ukaXBmd47-oR}Ua{IUsAl&%9!9#~s?@jNRx$t{~O^00WD&PH!BYr0s zwf^j!W#w6!BQg_*$&&TP9Hoc}1?0nyJ;?!(+R=)P5GU1;asnKeXU5cCxTaI)U66Hx z2yz4vyCQ#zADOunc@Zsu%tCCC;kAltNgU~^9mQM52kOTQWI`2f4B^k!Z3Uk!2}_s8 zs|E_Wo9k~af(|?=yx<0VQlF98&wUmX=fW)z?bf!b<6k#<%y#zD(>%MvLC^$yIe76IOVa8&~wa;(RttDrXhT3l1(VTu4Z`wXuzcL^g z#-d3In`rw!YV_r7?Z(&Q#oy}Ij)SlwTp@IHv~+Y-yG_d@eVy)($1T3KH4h7S(usp} zf4}?u&deT7b1MAPJE`iSCkjwD2&|fJo@1TLbpTGh4{UzTw;76kj33915HTQo(uu^i z-_YZ5gjC%Dt!W`>>*(m zJ*g40m4dfjydsDy#dEzP8@P@9Y9F@*;8qFnJ|8i-kDS0=(IONr8TDOz16Yr$Y#?qD z;~vk13Ft(+lu}DQ(-C$`dDa9d`AH+!5df=5d%Tn~P2AB7Sn*^)Y`s;ykvz$SwZkAX zTzWj&Cn}KQ3l&6Zl_pYOsRL^U8E3-<@h(Q%CSNOYipc{N@|$5^3el09I=IfAb@sp? zlX#GKoffxsfWX5HDb92QdKYbrq(6y1+lxL0{BOWUH{L2~Ju~{~SJ6*jBlrz+b#hK`I>Lkea1YTX#s%Xg+HenH z`x3@qWw269_Tsv}tx`HN*Z$C-&H<;3#z|)N6HQ?f&o!mzc~Tob&vvvePA47i-TB?% zm5+#tzf|p?Yx0P_v5EIE;|jaOD}6vm4c3*9y~0kdA^grSBHrv)spV)72;%(OrJ|c@ z9wOe!#6o1ziK$(YyaJebG(cMkB(wb_u>wXji^x$8FgJHQt3O*#uVWV0+Bg!NY_+-B z8IRpAm0NHF(U-|+ockj~u0M&=CNDvv91=c6dilFP781Ut>f)N9Gl6}o&|6xlSoP#{ zZG$Ku9ytS%-c+grB6MyM%IO~-3=WasvOlzL`W(M8+IKSq95vn`KFM|l`HytlQ+M%^ zzJY=#Xz8WjXp_l$2EC5Rl`5c9DgeGJ0i-G+OUf{_sxIyFF+o)-VAsk>hR{!4H$Hbj zO7H3tE=%z}qZ2-LqZxNenqDBvn`wT&j>Sl_Tbz;()JCvZhF=l*JMxPfb&O?7uSs#qk|$ef}qFpbO3<4Rsa1)E~D#?>qa z$^Mch%7%<0Y@OProb$#cfRral$1~#8pGY1BGSmXXdCB*-%1k2fcHM)<-&;024?i{G z{q7^3wq8MwcF}6pL*7j&pA%8i;z?>Tox!5Vw+!qpvCzsUiqB$^J%N-1=6SwED zx2c5KEYREiWCiG_>V7nN(G(yIosn`0lm+OAAIcX-X@Qe+@w~1q&`rCF{U`CmWd-zW zUD!ej%VFx4TP(YSNY@wO$0!ifCiu0|N;x9?2uOcd`?Tc7fK9#CuahT@E(6Pi&5q4T*rhcXTC#aF4H(b9a-;6dGe` z6lpRoqoVf&8)|T7JHV#8s1TX1@8on)WND9~m%^wK*b4daI>#F$vg1vGQC3Zm$|9Ts zf2FX^!J5ebR8u(P5ov$AqQ8NKN?dV9lg~FL=hSaOvavU|F2T&AB!Hlz(-LWE^dKP` z$Hi5IO{HJ1n(rX`p0Aqc2rrz3IB0;tb{M*4YugEQQ|+FtLl7BZoFW~=qG8(Sm3oU- zxJ%YVw~OH1e;jaM%fS4`Mot8LR@|KHZyw65njR(i?klze@xYPKAwoU9rj9}0MjE8< zKx|)fo)@w9 z^S2;`R>{zd!VIvtfS7E8s#oShl2w)!s5x;mmuD4-@Loz@NG*@8Q@%Kys>RiVzEGel=9yxxoULPAMp;*V zB66wuWa!lNj@ruWnaNe%)u*kzt!J^na$Sa93%wA%W_&VyDgH$JRQb;OD*hetRqZslROzN z2(dX~+9(-6ZEKX|g}RXkxfxUNZe<4X4fT6aysjFkyJyJ@YT?uZG<)h;AL`#G)D4ZK ziOqpZVaEe`s1?mh+D#vA(z8Yx>oBNdUl=jX96K8u&J|C3CR8(*w8d4t;tMBA(c+)G z@u%Y&QQ)*7mGQ5nfUg@7s66$Do=L8HRW}kIv84Ob35;}FxKiDLO5?jNCbII(6w^v#E}wwHxuIs-i2R&!{iN$EYFq zX>45R<%&_A$KoKF;`kIT-y#e~M%<{9kS4bkVWb&Y+Llb!rRsBq3#uMLX6wia>e^0+qw9ME9{6zE4{gwc}_hmG%CfX;AiFHaidsMVDy&4Xv>V5@Ix_2z&=MI zCP>%;iI~kO?{&%?*hv*bNtM2_M)7jDsc$TtxhIy0Rs83fBi{boO6qN!Mk`nlbt%0Y(5jF48Pd*Ku(6l38Y}9W}g?Vb`trvdk zm#pEdUIi5lVg(k|gtcA{9W`xNm30)tx6DwAv(o z7tey+Ghf;ls{!|2DP>ZjGL6uLm|8V$AlSra)y|rNY<5(wR;lOMBvh@SF^y^|sn)DA zwQ4b`me87&T~n>E*_3pRXpL;KtlE&#gxM8sTINa+L|zk&5UtmvjOTG>+;3cLBktv z^^zR8m(39S09Odc{u28XR}Sm7+F-0^t9{!Vl-rfspr7-0++|yTu@)SA;HNtCu6-FB zHt*UU;J=Hn{dAi&_R3a9nXX(?i?@b7&0gw$Hgr=zyVIkRaKRB;g29m?i_ z5^m6XvugMlc42?-Q^cRm)rR7}g?l02E_KoISCT;Oia=zK>juv33HAOBceO$y7W3Tb zqXp8|IMzh*+{C>1(=WzOSaoQN#&iWkHTR9IPi!(A0AiZO%xKze$=%zbD5;AapE!U- z_AgTC5N=c7{uK=7in=pgN_;_sS{4ufnKd|8tT<1EAqs;mlQM~QMcsoWi%-`%8XlT< zqKZ^%+9g*A%vhI|GJ&|MZ%6rTpWl}tR->lLbX>34hD|kYNKtA;c??E8$T|i$Tc;wl z?ZEE@qyiT&U-BXw+!>4$CB|0Te3*6>^qu}wLCxX{JaQRZ(z=HxBIIPnin-ZfF3clt zMO0+IetSfJ<%$lWw zV9XQmUGWZz@BAlS3~wCtDoDMSHyGud!#X8*Z1rMDT^(;$c1f&J>p2j8w}WMpt8LQ_ z!W{MivqBiTRcx`-Kl;1}fKo!2>JA1}_!dSV>&gCeBL)zFHDFBwr3u6J!BgXlLHg8+ z1g$1Wg0aL!f$TTDW9+JdWx?Cw);ASZg^YSem8_h)(I#$rNk@-95_mdOQUxTER_`el z&GG|SAz1Y|Ng(NNaEXUzly$0&28EEMt+p#U=pV}&OQ#)Kkp`hD#L({i(6}pkvtomJ zEJo~2@`WI5CRJ1u?#Oh>2+zve+6YdTJ>pt@$l~GeAdBIJ-!x0&E1Wlkp4d$u4m~hG zU6`{E!}Dqye{3)E=;f3_VK1QUyxO4ik8pZTT_9u+Eb947y}BM0l{4S+6`6p%9$49B zjD0R{u+)pv0p<^LJMPxa!d#%%OVa_Z57hNq+n|9D7I#4&)ZFhPM(g0( z`O9ym-Wc+a=jpPYKE@|3@sf^sVb=z_4_sF59-%~IEMR6eyJX@>t44qK{ zCMK&E#jKL$$EMly*Jb5Cn$aTqBHWM(xz?fa(i4UK_5$0sr3v~4Ie1JtSWJaxy(#IN%?I#b6=)st3qXJ#{Thm(B##%PU zX!yDka{fz#Wpa~@f?<=ejlDP1PvBQ=ZPin(Z*8p{5PTKZ{@vYXKsFk*TvH{_V|^bD z3-Ui2+goS&GJX&_y=sQES44L-p#An1gw7)FK5+r8BaqD$V=&DWJAgKyUGbHDa6!*; zp5V<6pM40MyjMTsV6xl?Zsx<%j&IOZikjFyfo$tG&qZs_$_6}@%++EkqR$E^3^JSe zC{eQ|XRe~PKijkTPlwJQ{_QA;JED|W#Cn?}N{;lTO~+VV&E9eObCpwSuCUi7Q)aH9 z8(Yh6U|2+Ys$(5T#cLR3b^JTAVL7)t)oEJTmw1htT`578}e*F$W*$dCrhYo zH>!zT5w_}b5ecUqx5Q?2&Sc|=ac$$&bB)7W_EGS8-osBwN9k?rVtAet*Tu} zoa^+LY~Az>o|4RVgf`Q78E?A8-D?^on|B@6xjZwuMjfmT-JnPD>b`%%e(jKf_ykIS z@s8W`2;}%6i(p`tU_eaKDXHn9)h&ku*2Mi=L=l-WChRK{K+Ui)>|+i>aYRwC89oPc zME%<5(80lC2JF|z1I}W!-FMJI?=XoDkc^PMt)fHnVjiT?L#Q{>2N|O+s{0s%V3&s$9U$YVP?Xa#$7W$%~!-8>CVDHAaTuGJoHq*-Q>Zdkz9uZ$~J|<;SD&&fB z1S{lDWO{;rR47q_ZjCy;flCkf>8DP!j!7=N=BMQbl)1eDW4@K8Go<^ueKAWB)j>Du z%Zw-!Wc+u(p|7)sQ~3e^BJDvxQ2(Jaj&pAXsC>_8yaTZhycXco#Tvgj>yNOuYrcb8 z=xs1Ox&{||ieOxYqweAo8tYAN)t&o=lg`;wV)B%rit;kF8Ok87A(}WKNBYMlQF4oq zi9aeq9(6eiWp5)e*1q!F_mViCqNbz^PtvXOrna}Ck{)*%F%S{Rrh=u~34KW~mi+}c zKzYPC+>dSBecm+EfOE#khDhr_Q4nR1@{KZX4jgKSO^mrBSZW6V#o*Epc0fW#Z|iq< zZkdYS%HM29T19so;5^a=$9NkcHR8*TaMB4h(zC@5-Wd%V2M;@NJz{WQe`oq0aRRfR5HnR_ZR5D{PxKz z41A<~fBt~D{U^UY*Z=Lemo>04F_yQmH&L=PvNCc0A2u=Z|N8ttILzcd#U*~^(Y_lz zML|e)VR-o>|K<`zeuNTmK>!g9{ow%sI_6?1;HBc$ipg>}-jKQdkXi8Q@#tNT10jxF z7!aun=*0}$<(YUZC>`6Y z;H^PkVgvQiKm>>)MoR`lY9qu^l4A71*4%>&52mRy=_sb=Y3uVk=Nac_vCbSy@jcH79(~Hnx+gt3k$3Z6rrr0Fk1Fes9V{K(5qwC z2>G6Ri>|9}7MM+5>&;TGL3(VSgI^w-RNFcWDBIcQwZsOIQ2t4Yq{mK-rPHR6X~;RA zRkdLaLZ;XPttih~AlY@l4-9f4YhTiS^o}n{!NIb7^AYPp^nQ1)~&ck zCQHICx7|(v}JW_OH15cto@B-{T`tjZmrvg2bo`aSZ*i2 zcsdG4V*9~dVjJZ5AMFhc{A43_oCxU8A4stO)Qe*O&%LPlFY(gOM!?9(#K}q2!rDZ_ z*51Wg$=T7wz~;aEvP4Nr4oLy|_g4DCc{9QCA%I4F1<*zyvb_C1;Xb}tB50HnOLghO z20eRre_H<Gt_6u5Rzo^nocR zCncw1IV3~UD0MA31DUW)xCaarW-SA;kJF4RyHIa~4KI^btD2X2r%hd#u?9D|@HMJQ zh?c8-rdhhJx^CO*4TxOMrfZkU%IXZQ9bdhh`%+Wxz5PtH;M|=;#O`&+0V^Y98E9MW-gX_ z`z*aNhc3Lxh`aKx>HK8Y)Jvzh84ak3Q^uignGk7*a#)wL7zJY8#my&boNlANd!3VE z320-xet$m%kcBbxHa$HpH_|wi0Q3g^{paJ?}T5-~dM5A27Yx<+|L4_|s)$FxE#q6!X4>5ovahSt|j1wXw781BkGC9iP9FbgGemaTNF!G5J9t#Ce9Z4pFh*2|O4zS1Q`Fz$e zdK80bLJr0Mzsp?C#rc2Nxw4KNk^nN#QmSoV zF=RNnhzP%A)bbr#3xvqiu92v~0GmW8^t+tsb=%^YJuCi;s=-u(ohF*g%6J`6fy z*7P=)+bz%8HkZwtpWiR2J_4MgxIQfekVnf*nLNLO4U}ba&l_Te`+T>&+a!Ppx4`jbhbRpG~UkB}-MaZL9H5$4;usnkP{Z z%Mzq^-BhA+%N6hzV?9kOUjq)8J7s+)pV`lb;VB!4A(d@TViU?%!c~r{j3?bprln!| zp{A+R(zCS-Y!Cy9F8&%^%L2q^PClmlqBVr^WGqonO6kQ{;zrdO66X`0yez@${18rk zX00674An=486Ncpto7Oh%=XER*Bq?7)p1+ult~JKC166032J)`Xq<_s%msZ4g(sj# zPFiIr&RilG9lJy4un5Z}G^hhh5HlkNaRQ?~T@VAxgn^>X66h@y^C9LHr~OJ*><=JRswr~OQwF7aOyd@#1I`}uW%fr zvgUC*_;-VM;X`!#+LWJ9 zC~52fh(MW~KT-OsYP*9bG@*QGzf&=P{yQEy2v%yy@Lyd&{>St!s{hxz{vYY2tR;sf zhWtCqTCD*MBBUrtzEKQ;j^?$s?a3f>#16lWxdlU`NKDME3##6@yK@~|^y&9p;g??* zvk6*}kU1v#qo6WZjRSaF+45P>WHy_7$JNI1bf(w$1DhXS=PZ3V#2~$2#H{MFJzT?V zd(|G)g~=;>goK01yKXmoq)b<=1PLBCy(vv4lnN7QD5 z@18}VtiB`yFoDIIP0CDB$d7dXkgFP8pnXt# z;JFCyW3U0HQ}k<7W9lA2u-SW!Ij8akQ<-+~#(0i7bylcHTPa=%?G|de^#afW=$A1d z(miEwL=GBS(MDt099z^&1I-Tx4;LDBvjQT%0ZdA&Z>jJj1D%o>bY1Z@DvJSx+*r2TTIRf zP~!8vFp*o3v$L(aSFB8{nW>Pt^YqmAL%eKACwr$(CZQHhO+qP}n*kyZnedjc9-`mkE=8Ras zR;g8f-_ncGl3 zA^hQr_v1YCV)f|)=jlRwIXCBZv6NR*=!y%ocy%$h;F06K9@_^oKUaiYig)46R9-`h zH#M<0Y|hvGu`27YaT3K@J0x`P!rAKm+b$+|?K~9X8&Jq%^fwX2cNM+)BW|?1Vg9@)GpsrG${B3*B$G$($T6lUQ-`9Vbm5DoR{lH~ zQ;fwUfAp#OBYw0Y=611tv52cBm+m1&G_1K+^*lEw?VQ@`*&ybsnO5bzC{xYiSs~`C zrIXqrXf#jBoj~;U^4i=PPc)iv8-nK1u!9;wXt6xzQ6qtsh?{!QY|MfSdf;q-;%xK+ zU2f@}!&`u z@qHvyk6KUF$}3`fo8%$$eY?t`By*1xbvnI}n>I*Mb*i9i5UWrd=|H!Xakn>Ci|))& zXF7#vR@NVNcH7Wo@-=*H7XAKPIagUc#kUP7nk(%QWDA@1e&lO=1s26+J`Phj)P_PA zpEb;BJrO*+1QnCeWZB6VJ%-EZQtgrl&;*$lLe6uY#PhXOOlcQrj&^)c+l{A7FOJq$ z*4&wBpu8Pz9F5>O@k}Pd(O+QNb+KSU%K2G>C9Bd&HI_4>=%*`#~(@U zk`sULm1Y&uk%_A-F*k)VOy82dVn&?)gQlw*^Y)3{)QUF`sZ-!=fnYC@Ya3MFOPcDS z<=JVB8qVuB3HlOZU;YS|{iDF*<8pbtImnvc7;+Z<_GVQ+|b#cT5y5=Jkc*V^2tsNgqj*9 zsoOP2^3NfDgQ_L(gRycAfwW%+%{B=B`U3?;^v2~wt+B_HL(MEwa^@0=8R}rD)@ik& z(3@uEbgw?iIb6L$!pIL2L6RlFV{WTNZ#ktbxIx^D-kn?%JAde;7$q|&9roTnh3%%5 z8WBUQe!W1`$>fkK^ z=MZ3Lz)9XVB(~1e9FujS>CPsstQGJ5?nuG0%LTCi_j~<8S zn9Qa_k5cmz4cF|9jGKwa6j$*;x_REif;>h{Ys+q}P06V$d?R}qB6Y$j0OeJBVT)^D zi{nWeh%UP@N(s(jnQ99LGS1>e`F7DmiT9ig>QO-qJ(jRwy{j~-DM^UuM@Yz&Nx491 zgJPt5lpHw&9gZu5Hlh-)U~Q2x>K{3w>Akkg(|A#b9y|7HyA0ls?5<=Q`J_9m66e& zIO=(p`J@E|iuURTRvKA)eRUVPVpq6jbMwhCkA+v%u9``zF9P=J<>L1*8*Za9VZf zGShV)EZO{Jp#DfN-9<>AaT-}plP->yG>qmFyej#1?Jp56$yaD;d*L;J5UZEjsNmAs z(pO|8Xf6z^&?yF8=;ms1F53Yx_zjtf`ib!iBGpGe;ZqeeGrM;1Z82M>jTz)^4%Vmz z3)Ty^axQ%Ujy(6f;avq#RdBPW{5~BkIzVrHr2=W*PXq%o_N5 znugAgQGvexR;w48PV~X8jmnCb)WI9Gva_EzS1hwIR`jwePZ~^q`75=&tL(@Sa}DXD z?yu~(9*V(U)m&X|G*8|vW@;X}jN%Z{NuC6roEKym3D^qAxIbK0sC4nBnMEWpv{Q&C z8}pl}4z*BLCP9n0mIZLoqiq7EPIqH@NVyKkWL%8wXRsVdX5SoTarCjaOsfdY|0uoD zSzxYhY+F9Nz`14uX?k{m#Wk}$!#y_t?0?xY#jKge6ZBt`F%YX_*QuKpA?Q|&+0Am} zFPn)puq1(ojf&I?Hu?h0&lp%>6w=UDr!}6$^{S7Re~=c$YNiK47Mhh35>Yho*!7Mb z73!v>+({GTA@sJPO)5$#Y-C|#2hB@4v9TN7AS@XqPjTIHt+0)V6HmFrwW0)4BPxxo zj!C3TfAcz(WuPoEjJFQW%+``d8uu|KyCkac1e+ygi_gf5mV4M>$olO5GNKpjmsi(< zL~k|H=VLoHrcdw3?PQekB#fLNeEi9b#_-@3h7vuh;0k$ipKeE$o5V6lGt1m?$I_;jB34aLDwA@6tiGBPj#-j zzSJ65ijPOLOwS|C3cI7@#wq+8H~0hT)hKeN-|=VN2|vkly#t4~+n9t*p^d$>ArGL9 zzEgfQi_#sg4e6_a9lv2VlP;b%=nB0a&8R`wokmrXKN%7NTU7Vm4?rknox?JGL|yOC zbp*vLmoblPjk#7-eX77%1=&*CGj^Zd4$m8%Hr+TSFFAJHjy>s!X32iWb%#8MeSCNS z$PmC>hi_15$($+;Jk<3zp*l&x6_4ROFS=B-sL6oRO$&7XyY;fpIKLmo13%H7QYhcx zxMuztb$RyD*(Ks3bH}5&$#oiomX($G^4@)q{blLxd!5X~&sQGSk#36<=;2c@fW3Ee z2@3cp^W)q{5CV}_SvMX_c-arqOUCh=v#BD zY5?n9k3!Qv>GjZJd{;l}KzvD3e?!a`2>AhRes>YZ?HkBPe~Rd~Gu~!^OuZSbY5*>Q zP3u6Z<^;6V9s*1&ZHEWV+Kl9ChTZ&c{La2Dz60Q&6u>8iPx}nlr~yLJax2L{_7&#K zlci+$HW4*u(X#O^$LPvYXY*~i*#+*R&7D*;3&yZFqc10Ce8F@;6 zPw*?+C{rO?ZWOP0dWa;dJb152NCFuF6mHOC83+6dAQ%s}{~ACHw>gUt%9SqogN7nb z6Y~e{PbE+SW}!&@(pf65NzjXWOk`ezR>@e8IRxUiS~t}3R7|K83Birxs2ASC3DNf6 zhT%hW(82~&B=nDykwlpX?P(qN@jJRi>)5NTsZ+aVOcV(t>qOD-D8dQ; zZ9H-W>Q+=LM3JV6R4c7NgL4BH%4eCv+8+W};4=V@&q3$sBNc&f4v)WZCe52iO!G7MtX51KTrVsMID7J(T75up~@E*n)dT+**%#-v-pfTCZ) z0v!Q0L>LJcF)XkQuRju_*S&{ff?N|$d5oil`~8GRl&B+_O$Lirz*fbNk1hm(E+XCr zN&FkAf~(;Vk;4Vd*wGCi&$p@3iszY0N9v9^+#I!2fK73&!Slx>?IUAHv`)zj-J+*@ zA!mC$Pv7KO;Fgr@9VW-nwiBGk6kH)Y*A#n4DtAY$u4L|B>munJs)rxkJo2t&?t$nz zI_5mr?*FtuVC)s?&7I1u{ZzH0>r$KY#7UXf|{%@YU<+Zkd23emb5M!jklnd z=q@7byz5ZsS?7U`hlE#D4r=V&%aFZ?h*z-B@0@(R@Z7oBVcPRj{DR!jiF34kiFfC* zqEo@i^I$owZe$JFUO4NbR6)YW(7ENu)3{0O3?qb&c)@&Ed-pS&6@k!pf=4=0!BKY9 zci34t@7PL#Sx4tH*Q!uMEv%Jx8ZX?{(8Dget{Al7k2dD<5r0 zi;%r-oNCM%@Ac5zyOpZw+~?7;qyQaNa}O10gECt+2 zC)!!%KF#WlIB>Z>Tx#wiI~ze<*!zJc@T{wZdYIv|2*v1c+= z8aCJH$FMkr;K+TjV9h+j+|b^bzAgX)xW^Hjqsah7E=DJxKpy{P3E$sWHr zF|VSK_~*jS7X?ze%R@nKlzIJH#N?N^0JbNFBU=TN7}5yjx#r(sOdQ=e_ZX7+=koH$ zg=%{;i2l5Zym$M9UGf%nVE9fc;WcsYX2)|JQRwH(tz+SkN&#*6-T-!fF(~noh>bV6 zf#g_aoo;xg3g8`|bKA|v74#4-&`q=cITD+|yjIcGri_S934ORJ1eCQu^fWKv7UD!i$++@MTtb%(z{wUvaQR z-juuN3AT)x;W4rSEiGg0BBAnO`|+SZ-l9Ak600EdJQJ~&G}~mA603;fVQd;fVp9l? zw@(;a^j@m&GL8Jh^GN^jJ!rvK3+WaKC@ztIjm1Dop6D zNF{=x8*$)`%1tTdA(JIY8+QCypvLcuT#b!tt%bkQF5+aD&6bN64&`3o7Bq{Zy+yI& zP}-K%Ib__W;^f$Rc8pseUJL)lMa1#|OW#+Ept**+xrU&6uQ>#-OWX1QV}Q0xrZe0c zruuMY0JlqCb0Qld?;}?9O0WO0I;7*HVDw5Je~cG_{a1kPGoUR*7u6kq2mk>IOt?A? zIr@OZzQ(Ovjb`UJ$57^wgnf6LSeJAaDr*I_KNS&SV;cT15De_ORHcwIc*^rhia^#d z<3|)GP5mR=(4G)y<1zEjbKP_CA@6{d`Bea6JA56%-Crt&-b+${LCXNASEnCu`cn7} zV7!qWj~|)xY{kO{{d%hNRu;D4H3n|T%)qLPZU7^0ugth|6q-o?2rK!}LpLmtaQ*aR zs*Ejh_(5O!qLK+hv0n}Px1~?aGM9)PpLnSgQx#V|+zetwruZ8a)i)r5Qj-3fj6H znDRW64qKZ%YXh7>|94e*PS9jSm)7xa*?*=OEqZ7N5#ZOau%G+Co?`s}bc&VjjP#xK z4Xlj+`vfak|D;9XbBc>?QR4~75U11Pz)RX&NG`y_#mSe=EZo~$bjP16zk@dQvBX7&VVeyPb<_lK>7J zsDUnapZ(q1&1evJW0u=6$&C@=gBT^uv}Z_6mHym@c_+5<;LKoK!eDaSbb6kLFm(vE z%=R#A~cj9PRDc0EZr`$3*qB3y|39ranw_W>mO&?>E1J%9&x?@1E42FdD)vt+e zVlHj&cQ{N!U7vUn(2>|G0|9(KKjSedt$UOX5!vZsF_U6N+p_fuqrXQ$I(9jGcA$@` zTUK|G_ZY`Kc$b(E(`=JLevqkLsD+G(9)}8!``O<>$6`CwaX-b~_O#J;w{x*|;WHb8 z(N0N08g7;LyzaW{Paqd;i ztBlEt-l!XzlboOah1e7gKWB#hNnzstjO{zqDb^T~FV2NV>P8&t*x)Wro9Rs=NXAfaGsNb5A~^I!>C1XLy3 zjC7h#1hi)FbD`i!sdXw#Ndy$)??OVrLV{l1#O+YRQPdJachyjXkO*k;(Wlne*2KX8 z_E%L>k&!nQ1qKE%pT(0S;={tzS7L)gqU0JnIyy!gI-g&BaJ+xIKgf`Q9!P=|wAH^# zY_LV48zO)He(}%!zXs^>9|lPAe-BVj|DP&1C0knob5mhALt{H9bKC#H6IJ+kb;01X zp?2jMWLcg|1-K%SmG{W4-+ZWvAsw-_Tb50!^ToBy`ZeaQ?wbOl*eAd@* z?lrgLiBHbdtgb5WuS>()2vS^h7A-4{ze^dWG&!ARnq%5bTuZkF5vj^n^h!GyN~fXF z#`89;ozTUuCAH`&g4q?Z!V8M);g`chuleCdTgmAyFT6(Nf2&BLH}#DYez&J(4fmJr zMg|ySc+0^H?j;$5X?F&5RJ0B)fz@nDd06-)z#N6 zeT(@dL;qO;sh0}nC!KZT;GzHpN?x{ut3|(fP~xG(;H6Y@>3<439l2FA5gZnV*<7m^ zp=0}uTNIkc%vd94=CIYMPN{y#(EsC`VyKo0V_3+MJAlKLN0ycJUzmJM=+3Oy$bU zFWPuH+6(ZH7i}*pR<8T;pz}Y*{$JYx!+&B24#sx+4#q}`PWn#&+O3EL{xNqseFuH( z{|?_wR{XICd3f&D&Z~t@VR+>72!eu?1vn)o+x^;VP|Fn8ax&z?lxz_2FzSkev12t#UR}U$C8Uuy&Lmw5# zmBISvP0&~LvSNLVYN^^V-3o|EAX$-t=TjZRExs`agB4rnd9_b)@^X# z%TGnk-Q~1QrO8L_bcSS3xWp#IHqN4J8eA5|3w4|Zt6*jQG!oL{WRB?vRt*L)%ltsQ z_jImU>0OgvSsE&|GcL}Kz&LXuj%%52g|8-1Z&eFtk8vvYwarCtA|zK=3{%co+5iep zVOySIls-0^vy`5~D6!UwWqxM{mmnn!B}dLdI;aKn3vc0kVc11`i7Ktlaz+cvLg855 z1u09#wx7azg7hwHr;2AUW!$uqjA>2EtX*>Z%B4HEehO}n%-=X*Z=zqXtSoBcA!fwH z1<6BU=;a{(=VPR2l7|%4t6^2YVWYW1*Kgq0hY5!o4!|J;C*V!R=*-r&ZqP*1j>pCB zbu_MUDzVdJUSfzxi;&_)$H~`i#mL%s;KsN%?TKeyG>i)Trx((c>~Bj z7WInHr4ww{c`6--*@{?V!!{dS!7fLQtlD%cKvaJys=`!v6`OQ3+9uWwAh;36F*y?{ zl;Fi5zOD&4p}U>VXPNa44p1X7tyT~Q49aaFZP=10(zNSf2v zwf7ClGp9WKJ6d@cYI#&f`k0aG#igGf>y7hDN;;&vds)*&47lcIVDZ!Y3`)LRmQVuS zhMY#uwhK_YPQ-5$lY;mlf*!b{QM4mYIq*~C1)4_rGXedhBYh@~RGHY+H1o~5KZ}oH3f4R=a z;>ayGwFIr>AS^!3jD2JxBOmm6IB$?l$ZnO7uAc-#q`rK1cHZ@l^l)Fsr@6et^P=w^wO8p z0&wI`1tA6S8o!D70LA3h6JUfE#z>Go`*%9|i_2!$h6g|aURx(;A6ADu^l80XCGwPiD&upt{kF0=mn0}DkiWH3*&OYQ@G!AtsKLR6+O6-eA-mRR|^)PPa*Gg7I$BK({N zy=u1&_*pf(EVfjJ*^C4BiKdJL_Xyp(J)gS*5YAyqRIcATEJKv2RiqQ$7X9f5%on%L z65agetmIFq#XBWSoJk(30WZ*ZJk1||0lpemg>4xpPx+Inv1KcxA+JLLl?X^vUKZg$ zWPp&@RQ#U0J&n6!kk#;7=sR1A&y9fTq_+?XZ_9p|14=+&(LGx7Cp<+j+b}$-J3^S} zL}DKj%rAkv+LG5=kk*LZvYnfd*TDeKVat%$#Q^I7H4=Z5?+knl>2DZ8hm60PA;?02 z8A(YYOJplB=5kgpQzJ>Zq%Dtwy_UtkSYf(iJLL>Dg*n{L=gD_V`~k#B#jy(FDN-s+ z@#I7+tK~_M(CHTanG1NNi*k?cvd>`?A(!S8znHI&1s2FN`T0wr{zz{>%CDRK{*dEO z(JZdbyf`g+SL_Cu=c}SW=4(Cv4aTrmy;xdk$(k(f25paZ?4&y9pF-?tjN5-tjxMpT zZ_{rV5S_Oq)(IpPU7*JVVtDDn^aR_1&`sl{h$e6D4+h~54qA3fS5~4&41!O=y_Ef~ zpF)*n2*Vz;G;E7Lc84rgxAxn;4QB9Nlx!i>p@5t;y{6DvGZkPvt{v*D(;Rj2!C&I)`eA$N(MCeFt^6|0e4a{L9h-2QPGlxeuY_Du zihUC08;)9?Vv@t$gq^cxTZw%%&hZM`5}}#~BYxtzq{{B$0X88fyAc+oqr5bYF;@Xf zDK8%eMB$i*Y!~N4tThqAtn^4gk%r;eK#-<>t+@>USU!X+12TqQ2ys}lTs}@=QVc)O zW+pxvSxFxVgFrx;v##8Txb)|@iIAu)rQEGd52~Y-*(Qi|^~X3Onqo_8nZ>l`Ew>MxT_F2M+3OUK?^3t`?nd^6 zOwDtC%Q75~mv99qlrAXEm+}6VU48L}y2#z!^dm+&K7oJ%iPEnywZLkn{`w? zRXhhN>6%MIOTRZz)G-*7ly*-a?m^Y3=)^{8=@Pi+9L8vt)P|2AtJ`D>U15QvtSz^!f^kkVC}e7#U&@f9Ho&bhuQ4w( zg%2}dEeFR^Un1k+OPFx7!CswHYV0cEQPb?HNa1hTR<^G5d8>2CGW>G56s(0vZCP4b zII<5gkw%vk=;r|K5h;)>V_z~7i~}~0yu!7>3_)3CZDHC3SraeNboHrg2@az|MWXg* zD?G`Nz~08Ct>RlME6ewBE-QCekYo;Y!%{-5(B0`GkV->l6jMWhPF-4BW+L3x7{JFa zB+*)cuOc9rHHToX9;5)THM4+_wlFJ$0kQ80UuKrxKPf=zFKM{AKj9#Pq#VGAsVuKG z&*{@sa1l2a+^*|z9%?hJOi_jvq`DAHj>z~}H1Qpadm{rBhEWcZ7MJ!eYbv%;FDoZ# zt6~vavMz&OnSoW&i08@gkmC;bs}iyjYlDpG7Mn#BWIBL*KJr>Vj13p^`_k*WnVZv8Yyr9IYh_g~$Q3=7sksw{AyiQS`jhSGX z9<27qV8pgic@VZRMRPp^22mUsSRsJvM9te%7_>8%mUgOsieR~EXox6J1a`GYSyc^Q z>3H0+MY(8({c}+NSDbm0G?c>fBA}UmyRblwzN%1YKW)VuAsqNg0nbVUO?dIQnDrpT zl70OHaohz(JruNflNHW=Zxu*!QEcQBQ4qPpZ!T2d$d1?=W9m*fgs1Y6Ay7yLaRlcC zX^#K`w8zVXVMrT-LF_cGk`N|ASl#-Sh`Eh7At+1X>3fu7=Esy~I15{6Wc;Xt0wW4># zWTBm<>xg*VAThy60;YTWhJ!<+%veQBtT7*aw+cX6;RS-WwjEGZ(c-)!fAsJ;jEW6t zC89~eY5Bp)JlE$qSf$gD0qW-IW1M4HW-Cooz2pez=rAcb>^x6l+5qWE>!HaMoXB@H z_Ea3r<&c=>yN3=-G8b=IAw{j#_GW7Xj`X!~{mkMX zbOp|>!|3R2ZqOy|eYvR7-vi3a*9of39PapD)<5XU0t4YC^85z$8Ix~M<3$(xhXME}%Pry4gimqnVU^dU`l1Ffeg{P6% z)Y_z>=+tn5X@#C0hFHi$f>?37hh{-ZXr-=l&!5v9SggsB#ftPg|w-VHjTbsJU(e1DP!s0(lGy2#Qto$U0}05 zUTJ6G;TTw*K1H#*`Jx0eNSPI`$viQTw7g1?qhc&b?a}EHvaff^rZM0mT}adB;#|g1 z^+-P5*`7bnOgpCKskKUpsD?HkyT2u;J$NBky}@()zD%YR*~yp=Eoszt!Zwsls~LU> znz@{VpO4wT|2F37+FW_dAKp;qhiJY?U3=PyLy6244fmCgVHgK_>B{(9NM zGN!OvV`;<_Q%Rsb7UP<0qM%RBby=>*nm(cE<-5k(baqS9rMI|&0T~v_zv;5z0AIKz zR66U7?~c~`*D)IN(&lp@E8gn*rh{a*BLKG6RgI!ywD72yuPw$;SpO_XR_H?*cWEVM zllsk6H7?N(msen6$!Qt1PTH)78N+lG9^s4t91(en^DE?V`G0Jj?c)oI*lv@BNXX4+6WnGU4v-u^}DY zGg43QylC+xx}gj8*gyzh#f*$vzmXXb8`WE;Oq4-0qV zUL+%|Ung%Ke}!!ACvzUt)Oz_*m=g~-Mo@M+w0g}^;w8X&9^<}&r;LlnUv6Xj;Uj*! zf(pXEqes^HOi{iN5D)~zyKC|6A2+(kr_S!1QG02t(lWa(O!_9tx*snJo#P!dLW5#Y zy``l3j_{T~&x*v~Q0eP@Q;qg8bpF=enA4IHT@7+Ai!gbOO10ff^>k1FCs!IUbb%~NF6tCJ7pv13bCr0l!qz4&VS*ISn9N2xY{Fb5G6Jr!-Yll6f*i%r_ z@s@@$+{T%7jPBl!2cpz7u6r9nI4nTB+wY2KVT*BZUF#*$ zhWomP=X|x-|L0csyGs2{Sve5QQ&{%RKQ(uJmOvvWFE8%)lhi<|R%^Kkwu6JzSmzC2 zA5W2w#mBvDoRT*IkMK)mZ`bbP7zvW6c#jcMu1K+ykun>2n#bpM!Z)Amell+U9*W=r z80|r_>wfp%lD5}R_v|>itHQEX-brq)Cx1_~_EY9NRPCudwUz+%iLK8) zSk+H2QEn3~>%H{++j^HWSWY;7WS9(HmqRY7&dyA$ zYlT&A z_`ZOLjA6(~cg9?i>LVHuwDf}ohjGI&ydYy&M!Eak;ioQ3=a|?uLlYaVFRXLa2{A_Q zvOQ9QGSUn|Val%GM?$`O(?>PG&wjuUST^3C5N)bLkgL+t&Qes`j>?!Spt%{wQqI%- zZpkqqS-B1{(IwBElb=~UvAN<&mbRG5zMp2`dWf-z=;@^z{w-hceCo`J}tUNjq2p$ zeW8bdc7&?x?tCa*f*kw zNU(a)C>f;4VaDY6I0bd(7)363ahaRNUDCKZJA2s)yoQed;jDrSj(!LWXmq;D-ZE_e zFXOwpvKi$BUbL6;wmHL;Y8yrXYDd#1PMkO+xbXpQqZDmssfPHQWmv)!WCF(_D*DmN z=;YYE%BB3?`QQwm?z);9I_#K>J{rwE8B2za!zg*0>t&$%U+laxST`u%ASEPumH9X^ zIsPud5fxscTY=jfLbWX6UeG*7WvY}1+!#_@w(`c+;34z8kjtj!hOHI(>cueX%hb}- zly=0dObhHV+a|)QATCVmf;%O{G+%2VyMOvT4F)_aR5MGYUo3`+Br$xOsZHh@+i+2= zq)}?7j;SG4i*4m$n=mq%n$mTug)*1Nd7L_SMI6hM2>>|N;!uqJR4EIMnKcD@rcvBO zRIZmPn%s4)dFCr=6Zl|~QEY??RkZ^hiCj8MInP|p2H`Mxyn<9U^P)+73>OKTgLSMC zsMCj$sqz702Kag^aIR1cfg|?lm5j-gLB}o8Y39-g(RGPFZBF3 zJbUku8nzV46->*_Lq&{-@4~mE%UQ6$qUUw2(^bUPR1ie)1w@L^?vWfPn^Dfl%$b=A zF_V5@t;rOe+9abtrY|f7jWMxzG*uIQK+!yTEr z%E}ZR5wJfu^j-n7ABbxZ&mkXK5UGu8N71Ao!#;I&k}tmJ7c91QoPQG2>FX?nv3>gI zEEd?D_Z8gjyOl-VQE;FFvf@Vy(T(#;VF~jM4`#cEuM=mM|t*WfQ z+S9NuK}XvNO@0*_g?#4o>JQWhsw}X0WaP0E`2J|St1FSY(V>s}a!LKUR9YGHaJShE z4;#B2ZFEN_0ZtHb{BNh2bXU1hwrh2D57VU1Bnu~a!`#o=-|w?^u}$$gH7+CTy1C8=!s9czj~oOA&Y*|WrPebN_ZLW3a}b)q;0 zG=JKfGv~QOfEqe=qFgkmbGZvO+g#JT>m6h+s*dSn5j&383a-(7txjif$w1qImWfP# zsIu$6oSBagV!u8Nc{cA_cMq628Sj@4(C635J&%m!7)l5NE0r=~*N$Qa8)-Z{>Ss9Q zR^RTLV6#lMhq}LTZ<7cen(+}?o-hTrL)VfKdhf4Oru$v({7_Ohwz*j)ln9wk>Aw9e zn=>aL@IQ20u_g;$yBIXNC0?PfM_LLqiJ!3JX+jOxi~S5atxvK%n3T-xW)Q~I^X=H$ zvKaI?&|PjTvYPnjb*UPTzGh#pXh=gV0)Jiv=~ctDZBYy|L};U}o#*D`S)T*Yp|T@e z!lf^cb){Nopz6oL@-zNkx7hiVCIWm2XDAoqZmy-O*oO%mPY@h`Z8YTu`+RTIsOI3@ zFfBzlA8H3%U$m``Lp&R6gZbf7x2G$4YMu7DOK`I*DL)%4y4o$|GzM6nvQ$BAx|+*G zv=E%_<#X;vb2-1L?AQJv6f--zeJ|C+g{)j2n>X^=n$fAQU6z2dwrDjTc@GwsuOczh zg2s1zQDjR7zx3ML+jycVvvgoEpSjGY=L+*XsSA*+Cm!|j| z29jZ-|8UTFb8wfj&pi+lU_(Yd^!Y;nT}%Sro0+Xb!~lC^o+ma>*5kCda; zn6=~KHm2ijHbd|cY#&y$G?|gb;gQ%;s$#1mP;@;;NYkPVCv598m0_pUiatFLRn&A1 z4WM4cH~J)5`oSYHD*|#_HeUkIchBo5GbFs;dSND=HE3&>bJGcEWNbTVnKpSUan_U(8Mf^5(h*%#o z!4{;kk%3L^*Y*XgQL{mW_ixI^^` zu`}Y5co}-K0tY{a1?p+#?ZcdwW!@c2sf)5UL<+BofDG*ac);N26Wf5iaNB)b-=hxc_GCQDf;s(AWC5t_2)N8F6(^bPE-fYuCb` zo!wEKb)wVcvTO<$CWZP=P0ElSuJ{kXJ0dZE9jAJrUkNs}^e0aKfTw~Nr@R68`fXoXHlR2$`GkA&@)}M3k+TWG4)s-{wE^26oI)0c1fnAkpPMMEG_eipUhrEU`BmtLK&BOg zLli|Lc5hi7cQR_mNc7%~gGcFK2@no z*6^Fj_aenxSEO^q=k#m0AoxyyGatTFj7Ex}9-2s4Pm43kS57{(;%cWsR<*v0LTuuW zl)S)A*#L07hu1u{DA=!Fn8Egxn;n5o3z?`Dz}es}QF!>>C}fPtdi`a4yY18E_U}Ef z9u-YL;I9^hl*0zA{$Mt|13iG(J+a$CfisZEJUFTlfI8riK6yIim=Jk8XlzJHeJ)^q zM5@4aIf%x5$P<2WOI5>jhpB3RlseRmeK$4)89&B7A~rOcV9GtGwWxNiJ*qYTIBq+D zE=aV2R6BYvu+%J9aFX%ypr)0g}NdE6lAvlRjQG zjIAMxJ(HGSHu{l!EG@`3rjz?Ls3FytMs2axq1II>1eYderU+{@&wVt{*j#-)e%qId zZfV{Co@=XX*Jy50nssQ&Ye;3_xkq37!P4cEiVS@#Fz_BiC;W)8Kf+3+Z(LdT#~eM5pQEl8AVd z@I-RC4JzVdf6%>$a@vl`n6cylnQus5fF(p*eRzkVg$v7joIN3U{iFo3z6a7?h_rw} zKF2U#3?)*p*{k>DY4>&EUUaz=rT)Vt4**^q6xVDlFfao2C0$maH`Ati-EJ<(v5M4) zYk)aJrUn%8)CUkPDitrI~M<2L{e z9Z9k4>u^YT%A&Aph>B<&g2WHdjnZ%eUMwu&bn!NGw=={eW(VAM$FBs z4jdP}cfh4A28nZWLQP7~Y+S31Dux&M8=#K_Y;PN>m~CRVH*i>^X`M%;2kiri$kQ}J z=;qCRlDj7Qe}|SvpU9>|f#9Wf_W+JqB%~vBCm~S+ znMl$j0c^BFik)k7QcqTu$$&>{07ME;8>1Qw0z)b&Fcb;w3uMfQV9W>+q86FtMKWnv zm+L?2leeN#YIHEudoTdsKAUNn&o(ZUJR7kA@6M{VJMlzJBEd0GqY~;BR6( z3wydCRy^6MdAlbN!!p}pNufkq92J413pGp}6M?0zuqvSKh1%p`KvQ00eDX4tYK0>M z(zh0wh!OEp6zFX*I?u0r#l%cQ2Zh^(@RtT}%p_bhNVRjds z#J0jY2)~rwi_XS2bS~P_q1cXm@?SkLf1B|l=na1`oFMEWgu*X;$dxB-MC)oh@ zG#kvGV?){VYz%vm9m-x|hqG7NRQ5V6W^b|C>}|Gyy~`G{4_J`>ldWJMv6bvo*2LP` z@$3tB8v8dppM9gm@;LC4a7D!uQ;t|-Y6%)Tjx#!*he@B{yjJmMT$>VSw}Q8zDbvtt zo2b^Xj?5guS1S`=3z=y6$;5|I>8~Xdk6Py)r`}!g2w#T+Z*&s)kA^VybTVe z4I0*Q)OVqQ4r;)lD!3w6EXX6C)+{X0_-1sl(*wx(S*l$sH9_|ni&rMsl2*T4E!Pv_ z6f~DM_h+C=0gn2V8)(u!Xy7e0`CiE23FrVMqWVZe=O6{9b3c^v9&jWNz+&7FS7RLJ znQ$V{f>U^3xCD2-#EojTJT7&W#HFs1xRjs3PgL6dQd_&D!(4~%&P1eO3LL9k3=J|M z$WKCrrNd}+M^0AUI1&b;%W?{)PJ={#DnAXejivnQe7&R2=3^aFQmJTlN&D9+?O!he z>Cr{8@u4`+VKIs=)x|m0)#<4yL1%PPY-jSboY9VV>~4QYu`O1N?y(aZ7A7~g!>UrW zGq`7M>ZDcEaFW2s;S|P00#3ds4%H6_>@Y65=KvBD_fIqBK$(7eC# zKx-a{yzZc}*B#I6j_1YkF6u(#i}@w)D4N}pMj6l!E!~XLfTJ`X#3+|`8Ras5`N5h& zbgDi4#Dg${MP0_Y0=GEPF>GnUF|xM9>TbqBQ_By=)LzwPjH`L8GsZ~lN4d(~yV(3H z)w|bmr&aHrdfMPpWPwAGq@48RHHfR@^vM{fFM%rXTTo1HMYVBT4B|;H;z=&zN&K4q zh_iuTyT9CK;411$ncXP25B{y(ssU8$I@-{68fqhIS~ZmR1kwV%RhjB|k8%MmTWMt4 z)?VC5>we$9eZOLSJI4QY;@_P3cf@BU#(y~RpH93F<73DGIWb{!J9X&9(up-E)}7dJ zV$+GePW#0eUjfRE5QP{YW#{Dr%wLoDFsyBbfq4%Bx#Rw@|jj@of-CNrA~i ztqmTKVdw8E{5y|g9C*xjIH8r!1&>>pd}2GC zgnJ#8J{i+Abg^CM6iSb`)2C8;gq=Q((gW@E>68xag!Kz4-wtO`-h=5g3pIuLsWEuZ za{d+({BQoEb(`^z4r`jxJfh7!D*|V?u|0O?oCuuT#MNK-WDQD(}g#m+r5x7yc`9}n9YJ(|xs_#rJ+1ybt z0&UR>0~8f*Q0bnSZik!OoKxsqY-gqo$_q8(LuxB{hy$q)#%^+N!|g0m{PqakfvMy> zF(8Iu{w~UIb@F#RyI$8nN)!)?N8ncHkgpd^MH0S^=K3AG|1{NL#PeGQ-RZ{aKc z9UI5LXGig$*i!x*tKomJS^=y@aJE)x>{MZ}^&*a4AmZ7@0{v={%5D-p*bgFu{V95L zCi?O?(Vr)XLAo5dC4HgUDMTWk>biR+Lio5dqy zi+EOCFJ2Zm$`o;XhxaXA-w9KWKE~8$zJ;U@Q`akhk5V^aO2UWyJ$@tq2Wb3N_>$km z+fctppbx)UnUg2b6TOw+2BxS)_lQ!4I1dfT?fec*JqD%xPJS1*?X2IoI;LbEYFN^> z9y*Hd z3du@_?~TBHO5q%4uaiW3*(*&jC{O7Y8)U1N6a;OHw%rziNCev3;17fz7lj@df$h{I ze1_2bqtN>!u!D3Nyok`9QRvPH>>{NGI}!Ro6#75}c9V94e;{;36al4kaNDBvgAKCP z!^sG`AqukBWUak`ZIG=S7TQ+H9)avq1aOfSA#{S$A_$#;Y%XepVF-ID+W4UeJlqBu z2-*_`?TNr6ZHj}q>^t~(DGWgV?FA_w$7T8?q=~0spm-Yc#4~WHcoq&9&%sRbJj@j@ zKv290E5u8%M!XCsiC5qP@hV&{UV|IN>u{@h1MU}Z!b9RMct*SpFN=5Jeeo`QD&B+t zi1*=F@d4AsKbcp2$kN5fte^OV4HKWT0`VD}BtB=w;$Li@_>wIaUw3#tY>B%CUE*#* zm)LUDNqX+#_a2}aZkn!nFk zsqo~=3)|so`$X`W1q3XhT{x`~+B|2`KK%c~DNjBfzdW-bpALDRS_zs zW`UIbAWaU0fE)ye%WRk=bD%=z!eW^ZK{*VT%i+)z8l->tON$* z#w865w$|yT^P$m0{Nb4Gp|i&Fw!;hU@M70BwjS5m83(b(_Hkjuc5m&X{#ICqdZcaS)H5S7~hgy2#B*ny_>a@Wze;FPXEh$-FCWlE3oy$77q zeuHeqDcyY#Q@Z1TQ+ga-lCF0=dzGn*z$@yg4NaBov~N`h_2>snxgC6R2QG#e8xGY$p~xND~RhoNG4mAoB#MbQqgZG+bl z^2Sbhb0NLt@Y2l@T^iAS5uF;e!&~>m+Z+~jMe?6u$PXb|egcQe&tfdyVcl4|XI(Uo zLjn@AL&dl@=tl#lvvPG?#q7H(QK8N%M8$f>==RIId&|DJJI3x!T3&t+n*0I0@<&LK zKS3|~GxSARzWi0;k!FwJ5Q{^uZ6`Zn^qh;)ddG^7%xQ;r+&4I;{kA6h$|lZzd6Vcq z#7XGDYA9(Tje*nzcr*zKng%JF4m~vkGBp$WX&xA?S&*m2!3fP8L#>hBQ0saAf@4*; zqfMo&x$BV-??&LgR@_V72PwYtP0n8GedoF_0w1svEc#~zKAe@e2lF4{bUrR+>Tc$f z2z-jsXX+}Z2c|wpfGYVH{(TXFFYTjk-ijN<`{1hx{9EO}#zpasJ>cf(dl#}r-$vlO zRydOv7<3Fi7a_h@B{}~oK0bTn=ZGb6b)l@82TKnf*nb*BO5ot5R{Do%0n;cqxFIQT3;Bb z^@m~F02rkWfh`jAy%d>XN$EOR;jII z%e7iot2MA@t&yFetzzr7CU(9SW|wF!N+ze%>SEVBD`y}(k-x}aLa98I_24h_S8(l) zWvTpC^~$0WH_)%~o@hDGgGc%6>d^mcIFY|WhyI=9`Az#-L;!>H%|EWluV#xAQwOlX6++)UpeW$OjY%-FK;C;LK1d4pGD-Clm}ewNOG zUYMzUT1u{8%b}BxF%gzgMpt*3ezVX}VBB=mG1&!Z@Tw-Ys!R@#EoI*o1UUL)!F2 z+Vy0atfwnoCqW;St~0>W&V)4WeCVZJ2pQVNC}o#GzIG{Uo6DgH zDAulpGHoL)(KbVswgsBC8&Jw_f@`%~VUuGchsToD0oHbV1YZGhxxnwJ(P`N z*v;Qpp4SpM1C8evl%M0Fnt#C2vcMKNg5QbtOxO+m`G?q_r_;-kkNC%qOl?ICsp0q^ zBE|BRvMSyLgH>YQCg`malQ$`Kl;WGXN$IH+U(seb8WUy;8@e3=8(^}X8KyFa*qPxf zlVfK_s7$7v8L2WpJ2Of>ru2~@r?An{_ZMsos^XGdRK=`-RPihX9kQ3~Dmyg74r8U5 zC{%ixja7O%4O8O~Kn3IRZvyHmj1E`2_HtXt4n}0y5lo#rvWa;ZOv3()P?NLCsP(q7 zDQ&PGGgFoNWz&=zWz%iNItY`+oz*X!;i_LYQz=_alrT;`&%&Ndspm4)^X&Y+Fa&dR z&`tZY4e5&MxpvKRtXV-d=c$_Wu_n3@jP@~K<|<7qa~}!F2dT-CO4*XD!4_>}i!oY) ze@CI3#RxgVjzLX}(Ng>iqO!$k8R=V$E4QK~UCFLu8|cEDZKT*)1!qEETm|ShX|JHf zzX2y}AHn(BS8%2FZ`h!HgHrt++@$>nb>@$7m-aI}r2T?Y{VTkz{SNQy0zTFyGj$J3 z)GgLmk7twhBzBCR#wzt5tX@xN=jd7N0=+N0LhsME=mXj9`XF|nKA1hIXS1jDA?#H> zhrO%k#hfO5=&XiK@RQP<9PWZomF5(kGsafv0eyL z9~a|JWOn0De1@BIrf#<1vv1>Afg=SaxhR>Jp(HHGO<^I5#rQV37inF+7cz3`CYzoY zWsF3~@^-d@YP5krrl6hG5RkCV82PyJEv$@D8_+hUuw(7&K^xYpU@L7HEr!~?(34DR zo!vOX>g}=-2y2KL-m8XhbcavMwSn8&DgvzMEW>dVXJEaiy^!VNr{L5&?6ywM?I?(_ zW`qo$wUf1U**de;F2y^dLW z1B=%i*$BP4!}DhajyRcYsM^9ZNQZBfO64p86(ns8F9ApAKGqJvv)wLZ*H;^w-ac*@p~p z_aOt^eaHZ{QRb++Gx!&niWPIozvN%pG6)l}4!P%gPWm?BT{e6ArJ(7T#W?Z0JCe@- zjV=bmaX#T+JF36JaVH9pV{5y0C)P#1S4VLl7ptp}x2v&2@)}P-bzNu#j6FHIdHDg^ z&Q2^eS)m6@PO`Q1$x-i_okHF-m7I!yr`c-ybfu*_kI8eYqbsAR~hjAe8LG*66u?y7c z5c#W^jj#*1v5Q0j^?GqCyX5kXU?rCqm~G1LTy{1VP$ksBm-|g}Sxewc_!_DEHGHq) z7O{wYh)KW9n$ z7c4{nlJ(dB&2sc_*(m)#F$X*a?g38$|Ar4y2RsG*TRvDlax389@d37GkFH|B?UXtfxnv_Yy~{ zT`H=xj2yLX9Vyhy%ArW#DJCS>}|El`o^vu=P=Q6MGlCQ$10bLm_*i(U|JXRYYw`3+zGCh(}OMjB=4a}~*= zuk&7}k4xhH61{07g>Bd>oipnGx$YUY(~s^eRQ=#i!mBn2*!o?+Y^8SBY~9JOjhdlc zGC!G7^K)IH*Ey^yjE^P~^at3+!o)zL*vU36^sQ@Wo67@<(Klw8)S~YQ$^-F%MEbxa zqm_Nsxz&n;Xw}B<^c$BJ#0BCbFuVYfH``b!5brnX+Yh#-&=>G&Bken_0zD_-6A0ZD zVb}Zhc6LL7<&WFWZrlK+eygKsGx+@$ona&d5&}MZki>vbVmDL$adZNX#Yb)e3!{ab z;RhUn&@u?EHu!`JH^WTdx&kXY9W?`|2Su`f_-0{0<vJW`I`w7~tscT;V_DT^h|6%ljPiF-(6=DMZgIZ_ zD@gOFZUEEoZ^a<372={|;7+E(op(wbq~Kf={3(cigx$JeeG2oZP@S*r3CD|$X{q4~ zQv>*4gxw~qBJ6fdk>}Cj@#fc3^qILnv?=OXMfV-8$x%!O->#jxF2 z0uLKU!BfW3@Pe@v-Zg^oxv>m>Fe>49gMJ66n(4-JmSU`6y^R`{V;sxI81<~sXkZhK zRcxBk#LA5@JH}{ctBlobow0^pWUOTyjN@3FaRS?BoX8$EPGwIUr?Kaa)7h)WdiITR zCi~qui<`#TJjFPN_cG4qy^Ztu0ONcZsorkw+YR-T_hQIh)m-y zF~Zm?<{S5jI^$k(ma$D-X+*?E<5qFAu|wQt>=N6I2gDwXpD`X1FB%VvcZ^5GC&r`V zJ7cfl~5(SANTw$IND^UQi2}6L%jGxNOf$G0n>%1E^PY16rrnQr+&`seI1a8 z>gvXT<>F#tV5x*-#RbmAP7C;*i=AWm)xx9}{BxElJakaSCi8oRMRuP}A-$s%!Y{(P$yCm=M*s?XX(dOs;GkzA`Mf1aTfFt^d)PW zxCf@F7AfKrY}FHY0jaJ%zZD??*Y|(bxw%=>=^K(!fBOwd3cI88M8y`VG;}cXMpTaET zODH$KQnMLtgrzEy?#_J=o+45LJ*=#8@;j!T!mcGHmlmgpn0 zaIqKT7LXngiB8n&EBZNp<1fxziXG{`b((XU zN%zfit1fJVQ=PniyB_nBnZsLy29102MaOh)>LQxqFqs=jJ zgn1~;G!KJvvk;blQIk3__yJL_IqgwPEb?=|{g# z>yYA4hZH9`q&P~Eq7l)TkHZ*e=1-`ZOEq(;X09QXo{X@kS|N$5V(w|AS%f{KDB|x* z5ouFI`#XxLMP!yBMP?yIW`p0H1O3f%7-lYl!_37n&8&jCW(XFU)lg$DhgD_`9B;0S zp~?v^RZeiJa)NsSeu6`lxk#0qE>z+4Gq?^_4#&QzrGLMp#&&jM$7a-)z?PUJM*n_C zjMQzuqpNPg7WDS!RixLm5$G3T&(SN-2zx%D=@IqJ<)_m+Jh`3<^$(flZDFR335Sf1sO@>DdilP-H1HJINcm)ghL zDeM)}WC2Zmd+tI1@zs34XB6F{1~h7p4D@@3lGFPdZpi{#u3bs})Bp{BwcRwA&I(@* zXdPskk7fbPbHHn!2TA4y(8Ih4vdk-xlUKnI^J*Alw!-0X15?h42d1184@}u79$t7- zoo;BTD7J~A>N>7J+#`mmZ*T^|UCMVb;Yc{q{^+@r`W%j4h}~s0>759Bw@{11-;1#KH>lJH5%$kkdR2)XeMna5BP1ZE zKW>EqSo}$ZsVivqS%iJwQBP7mN%cP5&i>Uwa9fe=2E%+1(#(fpsQCykmB(7%z_83v%Se89lLJM#P<*7-+~PDZ4{|@AkTakMw#!yIP(K2GyfT*3}(ACo9)hQ zwm8K8HXc)ls&C`HP$Ui`WuRDH=&;&w6ywPQwzL1VLg|1M_Wc!6R!_*Z8Ty0E=pTvE z(gFYE^7-c|pRt!;qWr`3udUD*i~oy!CdceI#pZas8agi@hwM@uS$9Fl~+3%fjRG-b5Xj9C6pnF)1VoVU@xq50y zKMm~k_K|Z6zcMF<{SkpdsGILB~ynBxF=Z z#|2N9=I011W&22m@_o7Logg)!Dp4>B)y$j@RF$dm=wNzGi1&EF@9{z}Pdp6pBtV|W z2O~X6aD*orW_ePe!jlSB9zWE0dc_U-Q)GwSG-5rL(ay zew}`0B?+U!bPA;V`fY}+12*<+1u}Y?c7dsNFDpM(PWVs?kirT*lR5z2={#A$5oPB8`9HYKN)fEA!I0p28Bp@RiuosAc z?1lf8fKKDTBp~Zbz{yC!sYt+SNWfww;7lZ72@-HN5^xR@a4r(C0tq-D3Ag|WxC9A! z6cTVM60i~pScL?v{yPGSsp`)3APLyXluZ-U9T(>wN54(TB)gS|TVNw^cY(~!6Mh-t z{Pxa!K`!Z&64_}Zq`oS#pZ7rzE@Hm{_25p$QwNr(9uhpOpob?MqlzZDbDDs-22~Fe z5Lf%GdV=!-t-y_bv6@o=28tPCW|tk{G*RNrRZ*;GlklD_4I>Jw|v+dj{ z&@=sdRe_N~zdWEhU*MN!Pz$Poex=?H6>X5HJiP?r*HLFskA3Ve{D$h%uWy8&enWND zxqH8U-M)J>l#8l*r;n266{3rm5HPnEdgwWi=fOfNH^R}`)e7TS$t{-iQQ=(}-Uaum z_2W7mjsbsTpXtQHl@ z?c9UnKp%X^b>ZtgM}VHi+N1-@{L*GDGJ$*Omn3vdSn8J~asv8Z7?>QSH}B3bN$BdA zB$9G+^D;@7wevW|lW5M{<+-Tmd6fAVP-VRg$(~nXjOTSI^1KP9p0{JvP? z9nvI~h@q2pQLb+->gHS&D)vGfoPwY!YQr=}H8$-hln=Z7fWA3;ygC(z&XIplc0fT5l*VYKHf zl=ezg`Pj*GS5EPY%%zU#o;bXgB_l4 z;6cj+k60EwX?fv!D<0mo65w4c5k9bd@S&9gpIUy!`1R`Rkk4Gkf95j&Gnet7xs3nJ zW&CFj;{~n3Xvkg9%;A`U)uRz^Z6p;-_W z8ny{xaaeN4|0Fc?qT*7L*=qlyUqUV_I3EB1#`)P2aIv=^(63FsQJp zLg^b(u~74ktXQb~MpY~{e4{HCn!Yg=3w^q;07Juf2!^KbPz*i3!!Wdb6ETeQO~TOY zE5b0|HyOhO-xLfJeN!v$g-X)KtivgQG8A$?E@NzAb923Y349bq_VBB!o|&FW&rA-I5E5WOg(M{0m*J8G zf#F;Az1RC*55D)R zdwP0$X2`g^zYnCUy1MGsyX)04?bAQ+eh2`DD^onInm_7hGx=kbJWk0Il4vIY7x@D0$h%U!nZ39!y@PJJ6T57Eyf3Pq7B`m169RSu*ipo&4N z7_5rJRB^Z}j&O+~9tdME2#cZApqNS}swj1dVX7!oMY$@5(~A+5j8w%aml#b5N%Y64 zVyr60Av?u*4_qfEcwm#5sEQ+1Q9MI}{N zxx@?)Tr6f1<<%}R%LA8*qv@f>C1z8LV?1z$nBx+)#ECkWm`gC`xx}$F@O+n8fZ#}k zeZ_H<9PbhfJ#d3qM9B%5@HbHs{7siwtcoQbxEaMJmXg>$c8O&)z=@QcM9ImNEGI;R zl&qkno`!EwMTmIYsEQ_H?@Age>=CQPYD$`kF)c39s)`7`Zd1i6s%ZC!4$(>7x(MzX zk60^CrP4Y|PNU>>mpH=%PY^0+s^ToFI-8PnC^=UZ=TUw>CF?1K*@zJ@f#1kB9&iUOvxn~;!<%L;rCm@`Ep9GP{oz1xJngQQ=e-nxt7{)P{nns z*htTt==pj|en*eLr_v3SY^G!jB{x!X6D2oOatkH5QgRz5TPeAnl5LdSLCGH|*-puw zl-xzh-OlN6f&Al~{wBJChp{mEMRE5QfPgIA@ZQ2aXO*`4>wyOkz9kDo#vJ_4IexSB z8dqZByOn!uuUX|BzXjNk^4Z@YI3!^9p{{81GTQp<;k zhP@>7hdtsEfqbtPk9ox7$Y^}=1l8?R#eP*hsfwpu;%N^Xi^4%gc!rW^DS3{P=Uw7Y zl>gZyUJx(3#7iDFg_Qh&hfSmWFCI2s%%kLGk9bA=)g@kaiPv1>ZwxYL%&eY%{G8)X zKCY&A=90N}Ga2-mvnseIIHIdF+&tpAa7$=Oq%|~&fu}yw+8V0w3`bfS6waxSw2Ww3 z*Ktboh*b?M>PJ+WFR^J>eWbaorL`{D5;`tY)7lU^m4V*^wKmv>t#TW?nwzTd>j-f@9|_(%)e-e`GC{7IX$XLoK1! zP6qw#FwJ+^+*OazngFI~m)RI@@90F@+vheO+ZAeGhrp^xL|yIeNQnf%Y8dz$ zL!I?2XN23Ma&yay1>w^|DCc$wdqJoZg{SwdM?hY)`nYv%*es(<;#(EzBKEP_h_hZ( zLpV1EJ3433>tJ)d=3qsrwISG!Z0NHx*iqRPZtj!m)gub)0tF4&?u8;|#m}Z_@A8Mo5SU0-( z7Y;@cGr}Fy8#_bobCCO}T*W1*No)m@)fDQS-rgQWG3FH4l*EieRwCUj%;4}O1Se_g zLL(--L@gqy9rfWbHVy?_&@N5b;mC-Z*0!!r{SEfY&`sYk<&xAxCG_;foCYdkxT7-E z7-q4Hx;cWnksYTHRENC+aU?f4OA8FOTj@FM(CT6U^3XVuNOLHN3a;Q#q>=UL zn3MHhV&Ju|Go&|0L>bOJ4(U=!Oeq|y)}YgCsF$d#o|$5ZO5GS}hz@cjH6@Z8!Ehw9 zVkUMijgup4yaYM7t8;E+C3?Ds4l4`tl8r#{vT+FV!ohlET9ofOR_mA_3O0nu2_C}g ztj&loRY~MkrL(ygVHmB*VB>r`dI+2iydARIoWutd_u{z7>Z-chJ0k76RrV<^Nj5DK z&NK(uai+T7aW+~FDXvL2dn7g#^<>G)x=^qkd2In*gPPkUndoSVw05q$6Y*)wUU#x*)6F4Y8`Mro?7iw5vXM zD;Oi8UTaNpwXSf7;V((|<*cd?P>sYl;y=tqYa_OFwuaW$Q6VX+*vyFlYFdr%H7VL* zy))dQPeP;wb0RdaQ;*pxdSHD9HmnVG2K5kcK(U3R<_sNuZ?JdnidD!50$F2KK)o8< zC=C*ph^$x@AGw(=Tr0>C)R5AfHb=g}Fn#MhpXd&9&AKNo^SM*dHEe8x%b!Z6;cRZ4Aa8T9Z@uCW+4vp_XLD88KGj z%fW}XVZD)rAfw%ON=XM7tc&`Cxrdjq&Y-7Kn`5@jCx~|j483>TRXbi+K`A)!%PG4FA-s!kEF$v z-A7Vg?>^FK)w_>08vX~~%;>2Zcy@FKTTq$u6OffJuwilU7)P59OAGC2>&gEa?$Pd& z(Q@HJ>UjM8IaY;k4RwydDpC`SHltBQ3t4g?)}l7pjG<>sr~#W=g?$Jkhyl)|QCq{P zDxqjVKpxLnlG1W9PP?s(RW-Px17l#CNPXy^(Uj&zI>N@nEf^Q?(;8rfH9*d+54P5a znz4_$y!6&%G}ay)*ilalO`2*#&7sbav{X-HxV1rFgJXlR&JZmYi637jqcS;!I~-e` zD$Np;%$CR+T)01-MWtO z7?m z2P&GgxMr!W&QG@Nmv3^74G()k~j1s*<6_d#?Z8yTG%2( zwrs0VDHx*$K6`wYEXYXg7KKZm*pQSF#UVQvNZ~F>&e8=IZbieic%E3e+6$qUmWGh@ z=qXNpWz1qzUn7n=wED(6#$X!}Pha~0dSF3~`y`Jzl5KLO0^u^YarH%>ZZ))SZEqz{ z&S+B@XR{ny>?Q2*D#cXr|?3J&0)0~tE1#tHeX}MvxOR4M9DICqQ*|5gQxc@4frT{INJ$eV zD=7(6(#%$CtcA5|EJE$tC|Si;qwXZzE!EfwY%wCi&eT{B+oiF&Y@SQJu8F_1ZjCKr zOEo?a5fpETH#K$^I~%RZ2Bt33S<}+iEX^s@pz#ev&vooq8Xv@7*Vu(vVi&WsHTDzx zS!0j0Zp0*6WQj0q&b}jK_6@!5>MM=8Nj#II9fn=%Avpd?#uEs_Rp9(934S_}p zhO$6x^uSO}{GWIm6=rB4+#1lAHUX;pCpz0=D!hY|Eg7zfciC>7htPn)sB2#gOFB zP?F+v@r5S7WZTd^NWT#nifAIYI^xk=T0Uy@gfjexdUq4M8SU4~okMM*M->A(ql--s zfi-qF+mT2^m89WbcAv&(vtwN1E7En;&p>oF9BK&Yeml?_=?s|rGs7j{sz#2~*dF!} zC4Xc9Xr&|ZPr3XL2a7!fMvknI|Do-UjQfMU!GBp6f2MCOYvOA(9=?O$Lx%M%>Zwib z$UhSIa$;Sr+FKQDC5(-2slb{jvwcGYjqQ<^sB)qY3X}voBY_#ykDEE12zgNB7qF*r zez%R+D$R#LWZEr5V^30#L53?f2BS{$2smKbZ!XrQ-qO|48CVg*|2o%(Lal+3fnaMx zfOczxr{WCUQCy<27t!9uH|$kSe9N9jk<_#z+;D>hdUWHtxFk?ch_Rs>dx;&;#CPm< zROqA~kiB|yjlIVHrm?@%DBm-58vhnQpub4ki9-BnuQ%A6h)k;U-so;JS>TVF_=%L? zB3xtfNhZHh6F-xx`7PX}*jHoUvG1w-K@^syCz?6dDiBvoh*2$zgCm(j)jUpEdI+c~ z0!daB8oMCnwlnp1Xo^#DA+f#fJ0pqmg|v}IdR2jn6$q?diL+IJmYt|1fsRmn7+HH7 znpDJC-{d6Otk$@~9U6CYkH+3+|D@zIO;OPp6gMI6p(KO-JC#OACPsy|fE|b7zl>Y) zU2CYFwr~*5fPSGu_AzCrDH_4{vfVDlrzw6V6aBQ3MXboiC_kNTT13k7I#3^7*9W3I z#fX%WL%yF6B_A@9oUcpiqba#G(9x_$<2Uk~TuPp%z6KXIY)T$)+0<%MXohM$OT2L{><$45S)J+d}1QsajsSNIT0`r)+9 zizw-fu3af$&uU6P1;G?1&gar?(k%&%Ux&)hui}L+rASlyD+4rTAlt1e0ZIlDGgM=u z8Y-twQ;VdR#mQ;3#!HmJnsOLL10q z8z~|&S+c&lIkFZ7BzIk7+8C%e7A{9b-D>XC(+$r0mI6lW{lJDf` zT1u6^E@haelquz!GF%zqQc&@C^F35E3TKvb;%_1loo_TJ>a(axA*ya+ObKSShngbj z{aT~z0!_sFlh%WxS?L;G3f{U5Zr=`T}L5OF5E!0=D(WEtIU!#?epWf*r#* zUq?L_=vQi-xX2ID@~bSZgD*Wi$3<0PveP>AZ5*)Z7FX)#YG)+6s&*9Xd$vyU>eG#r z#;Ujg%-qMtu&OgM2hF;@DyVNUR8doB=#;KtbBAsJFN(zy{Yb2qSfp=~xa29x+(x=z z)U~1`w$GLPJks4pr;GZ2bwSGO7IYD?wbNL&dt?`5do)8nME6%!`6RbOb-?;YXJ&(Z ze_VtfE5o!*CE3lU!+{jn%jC`)P0h#7(dqJpJ8+r|H?@*~Q;HYp3Q(zM`Zc^_xgYBc zcj#vUDi-8P0qvS4J+hF4P^=Nv*!UYH=Gk+Oe$m7@MA8?9bl}u6V_j>oC0sABHq0dN z8s(0$CF$wv2pOks`W8-X*Pd*lB<(|AeLJY86^*jB9$`&Os^7ol3^|WfGnq!@(D_T`>?%#M~jhSgk2tG`r)`Z5U=p2eigsAgvW}S*t%eiuJ)f`njfYt7K)c zqfQ$!;v9V>h(7I6@-ImLaQ*2|8(idN&&ti4KR@!LJP8?KshBHEq zL7e|!5Sz)Wfw5Uo2>oaU000W@M#y{)tCe}3kCh42BIb6gEK_Y=Kd5GmM8jVG`_sO1KYZK{w2S2jE!P z4=2Era3VYfE8uBpf|sBf4!|k!7lisUoCUA2E*vF*#3Si!4O=UJ;BmHOA(N$3u_Pp` z)*)udDrhrUm0em^-UIzg3zTjsEFFeCieaCPcmuo(PIwPAcptLh13A)Iy{9=+wp0=( zOQarLmQF*360&qUs+_{kAaP==krIzHbv!UvWUI&ie~Ao9EGRA82}Px)_e0SG(4WBt zBt?ZlMr&?>Az04$T)hbfV`0F4guP>QFVWL3cw#3fwr$(CZQHhOJ2|m!+qUtG?c~I` z=fCc{ciwqt?o9WG-fQ<-{iUjFKhNGzRUO6puqOnssl^n*3>4HxyL9rBD^E$*j3%VA>z+{yr9V=UJm?`eSkI9N1ot{6EcBgjiOGGr1t zJaic1gvPz45QnKDEVS%W2*H@4)4o$YD}1|da93}{DfMS}6$1>==seG+iF4(=;R${< zv7WVAfPK!47*KR={oZ+FBCuo(<|l zFGt#RV8YY|Y52)zo2ffU#~R~;cW^w+{(^)rbusxe(E4CUu>&_Zp@J*wGBkQl zeBFja-AMK_c+dmc^9KvQ7T|&?%8l*so0$*vFT=pWgvXTFFmq_kPM~HNM(YBD-mqoJ z*a0%VLSP884L5V6cd7p{gxI3(aARqYfGHKZSvjVWPB)AsPH!a+M=uP4F$C$#(GA?j z0ZU#_y`pl-(rt8M<*@PT9ZfKVdnS&anP&w#&$CjGEu#s`H6%(Zs0yQz6tMx(v4*`v z6CwocP=IM_w<5^VBnLf-f@zjT*TafNj6jdfem3e4`+$p{orMuSx?+XpbAvupF@3q3 zyaN)??F}p*&`=uu2NADyF(!Az!Ji{d(=1smZCEm{LynV1aNY-SCX9ec!J|>Jcd(T* zw^_LL{iU{!YMFIKk_l^r%A+}=I4Z9L&xiXaacS5j@DPWZ1ok=i_B-|tJrm|&Xa;E* zAZQsN{|4aKI2Fletd%?yi?2r<2rrRYA$RQtyaO3Yz2?Y?pi;31i7D$32)FfHRMDx3 zsv3k903$32t9&y{ezQ0x8C{9{j&86TSMhlp-_)j}t`is&V}V$0SC1^L@;b1b&$wv7 zPUUY}Rr}yH+5?+BMl$5e2XgvQ;f%!xjdUZW-BW1{R1r>_4_NVS4X!T9Hp;WFdlAKX zkbdOG)?}~WDmS!@&aR45u4i%NZU?}Ng-4Om6;=FeAe~5=y8G+cv=H0uHpsa2dG2Z( z*7w7_b_;gni&@+jyoSbGj(yn<6rD?1)CQf=zxGlYgu|2AHLSHjJFKc9WeDpmL5Vk8l>AYbxa=snjXrTJc9I`ZLQL zLWmFfiT_N>Kqt!I9P8((iP740?lR1HjJg9F0E>A{gigHs=6c*^F!0P(Wri;fEz3K; zglq3=@k7lqt_y~HD4=r7)(-p=7odAb^&Q(eK{~Fv*C*!Mhw=G|^n{Wwh}ee%{y@D4 z>BpLKZ*9QQ2TyhG7Bl5}e>x|}_^d?>pH*Pvu;QAJQW z#$P-}1V<5qX!JSO@M+du#C+&wAQvvxMbEpu^)3x0xHZ~=TsSbvdL@(cwQNLa5bayOd*kZiq~Ntm z15gK4i+hvKrL6(U3f}UY;g=?pUHc|FNLy&1g?K%7kSq(3Z$>3xm%U`GzQ;*;j>ZV} zJK(j4$KwK}Y!zztm>Ws`3{h!J>@afdTW&2oo(T^hZU zVO?74lA+d7li8G!k!vt2RBssrTLV3kV!bm}! ztYnj^m|N=alx6K-7N?GLMZTd7ekFTWR({I!AeZaDrX{)+y0`^mO%q+;a&Dc&$Mzi? zR_D|d$y3C%5OmLjeCP>IuB#ASFrx~E!Jj*6oafaRODtY?-H>NEmsRD)3yz_cLAnco z{bKwuU_LT@-Z#6O+OXDT*#$u9ZC#bq1nQV#!YauH5l%Wy-3ia^hc})gl@^@NaQcQY zmT@QK>1`F)RyWEd#E~E$<;hT?VW}LUe$NWLH)AaFaW9$&73P3tPI^XszM&OA$`n7Y z=OHKf5mNr=UHWs-Q*^~Mg}i*Dc*Qm(o~iYwcM5$22>2CyLmXR7T)}JJO4foE8f}v! z7VQ?8xeC6c`lzm}2G`?5*FjtBY?PgCE^gUIa{+pPAF+YLHeVX-oui)Gyft^~PCli7 zh|jSgh0^ojuVX|=iuj_atKfpkWQ9T=;)zVEHidXbPQMsTs5z7LDN|2Gp&uA;%oe}j zDUIq!z*V4`Z)+jBHRkzHSTZ30j5fXd?oEp4Q{fB8 zJwU}M@de*crZZ^1ftOMNhFFdvGAcenn{W&^xL~t~!{F4MEtoWTXH4#@i(&m@d;UZX zpszmx_T{q&{N+ud(8(G=$9~^&OfI&D{M%_^+Yhx#V~|1L+b{jqBnyWz58ZyCmQ&6Ye8U3hS&gAR*2w zUhuDM;h}r~K_2+(7j1YZVe6;6&)&_7xO?M!%EA9iWY`EG~*S_;WxPRkIxa}t% zTX7xc$A~IH{)5S8JjXBj_%^rs(HB>zBWEuIVm_NBgtF)Uzg$=$C%0_p7L(zCY=npQ zf^-(EY_Xfqdt__tj-YX1o_Uzj;Lvn6BgPFK+jc{Xn z?Ng5s-Lv&MI!B%vI(MESHjY20>|B4$+c@-0+&T4(UO3?E<#Fm7=5Xtp=yB~G9X^x2 zaq;hP#>%?$4w>;Bd}hPBdiRdw>RvU*)_e*NwfTnbarMt$10itvAI!$&yNB+X`Bxkh z^3Fm1;*#&Ta^QP+&iCE9eSON9qi-Fb_v1MpOOQ1X^q6kTod=R`=HD?tJaN$O*?ikl zbqC4LKPs-o*hKjGOxJB$C13k$zD1Oo7T-&-Fz6=_~EWbn2; z`8;wi1)aaK-nr<58fF3giL=ss6sN}wL!LdMeJf@POqzPvgQ@%~_4dfK`F+L!Y>yw4 z5OPFq4<6|brR_v!`ABTQshAAYkSbQm;8cJH z|FXs*YFow9$C2jiJBVlFB-5=PH)_wKbki;QEAzv>8)RLh7;HqT0YBpj&%Cevwe9L< z1Z}bvthv6Y>d=*1bBMpW7k}Ty{(fQavv8&#$aFT<`ta-WGCosVv=zEhr=;En*<}^K z2)YFp_ML~}`6T07M>)UHSz(9I+uJNQLKJ)y$7`N0Y20)!$Ty)kY+fy6ldL!f5! z_9b8w2kF4nx^U(%oCY@N*maI31Eh7aw)Y+eXlrTKPbR~3Yx(K{sR;62?}O>Jes{4| z5rNkEDF7c#eaAc;Znug2N%^8zX)@ITqA*z`V+nNEf9pQKsAkkPTBmM;Tk{C3z^UhHtuE3 zzF(^8Kz}WaPwrFD3f(Gqq3 z_p{yXc6*Fb>FynZ{~Ofod3~ZqrANNkxzE4XlI^Yh@b38WYwH_C?<46Z!*tW9qv~V6 zHvPl16zGKOP{q5DQTAr7Zi+|nwC>|z=OTH+oHr}M`To}Lat3iNc+ce;EdJ7PUMF6# z_7Z9e^GPImJ(6cCV?hj?Sql&LWP^u%SCXLD7wJy4mG5ug(2M8r%Ur}QOvEkF@XPVh zD;A-i{p(4o|I|`w?e<^E&Nd!Ir^zi%`7P9|vF2-{_)~I4>Je~-nRC&acQJe71~Oq8 zUWsSslbTamFC7o(eKKP||5cu0C;J$^o?d(%F-(v#S_^@lI~+GF+N1ZO$JgI9EQY(l zSZd#qdw9yP+!$896gssud7D2k4}bH{Te_P4*}DTmhn_n6%I|;3`bTCS0!y_+%GYaWKq+AiF)#L*@E{rsa z=>oxBDXUe|1*5%?ati6fn^sUAdbJSxl(6@ZS`cd$ha7S{q3x8^hkUJ=uT;8dwAPHJ zs>Q>)U>o<_##=W+LIz4#N3sr?`z1Smtki!)?w4RIv5&9^ZVLF!I*%@d?*#aHn{vMn_ zO-h|c#k+wSw&K$_BGU}zYPW*ZH~(bpLXlB?0y|*H%R6XSWMl)ieUUpBAly2lJwbFw zb*-u?od94-SzyZmD9dV~2}*zS-$Pni-S5C0%jmTAIg$o&GQiU3Vd~fQyMh|G&%o3P zY@vBCLi_n=t*qK1t}eUvP0h8RiYQ7qWGFi9-D=-#is4Laa4 zF99BRikCEZWL!UnEHK@s)4)Frt5(n^g7_r)2v4aUvtd@%q`B(buuR)HpLSr-J8~3` zRSGw5LnLkBOWS(oZsvnH?rhWUrvk}c2rOOB`#SD;IuWkw9Uq#j_S~}EyOuK7qz+K{ z(|Ce7CjuGxqi5x|bS#r#e%mv)?|y-V?Ne|As$`5gXNB5*Qx?p`jW|6|{;=a+BR<(I zgfA4uuCR+-XiPiE`QyBZ;O+l7_zMYzt9&Tqjip11cc&;VRdV?V;yG1@w;eq+8wu%% zVtT%^C*;_@n>`9U!APuxEwV}1kiwo`C`uc_NR7ljrGz85()I?-i11SB>$V;RogDTe zYmWdGqvuPSqsNw;1pB`Z05NjIwz2=he#HIK`TwZvX9r=Ex7e9`TFOtng z<@pQ00i>R0Og0vv?g{lT{iol*-rM;_2Kj;nZ~O-=UdS0%zbKKOF=br+;l;c90<>P#8P>jHLoSE!bw3rOvxCdVO`JsA%Xl1x*D!0fYZsbS>)-CJRb7v%K8hLzmm^nJUcf}F&Cnr z;n@HEFm~0xC*&jqC8y^B&HwCxkiTXD_y&KD<@L zemHZpZq2vfo~^W_V;qt)-~20OdOo9u$-T&6w(7(g=UCv{NJ%+XozsdO1Nc$gA(vlvMiE|DU$@nO&I+($!7q` zX9hUbvtZhzftS)e(;~x7I&yxU1YPJ**FH5ilop{!b0JI27M}#Ky+m?IBZ~wisQ^NW zON0KFWJU~$jAStA2SIE%C9mk>NwMJI1?U-dGPP1Zc5g#+J&L48+J8Phc;ah41s7LL zQZ45gOne_fFs&~5bT{B8a#w?U>$vE- zc2bxDpy}R+)t*&-eUM7S#R;&1>B0}a+F2<r9^u8Rj|EGWdxuihcEo<|Y z@?4f{v&mA%@)~NMdoko&2}?N(*UP+9`}byc4~wkl(I>*F|_$4tyRz6Md(>jakpvfq_WH#swk_`o(;LF&6#2AAEx z1OY$03%#Gj7c(JFcIODi$MqzR&W9HqZ}-Irf=_-}#Qv-i7w`AQ2!ju?XB_vP5gqU6 zGd(7b-b35bHTxaSe0k2VODmQIYBSuoknKsGPyeuI^m})z|GEd~-J>pm=XOQmtOpI; z`(IM&Eg8mf4_@5UH(uPs?k{m~_92~HG>xMkM7f7u(AeGVf)Q^R7f<_8=I*uuuUobD zb#HE+;~jA9Zudd4+nu!J{GHM>H|!TY(5E|?W8NSkj_4ogLm8lKg8o1CzB>Z@eJALc zeXW12K%r+B2Xm|YYw5ZM_IHdk=WAZ{+v>eSO78%7(Qq1QD+XY0D;_+Gto4ti7!4#u zz<%6BbA&{5Bh^(;jA{~9RHS6A&nmipi5{= zdFZ~RYdMqO9JXtO-S{M?^Qs)V=lU=?@r%oSR-&g#$PyzP#VSjE<>01bJczKGV0G2;S>(TT9EHM z*Z-!>;{WELqV9U!sdOr2VjFMTjEhO}gOt5Ek3aYUiSE`JB)nKR$JiU>yl6K^-5Qp@ z02lxtAk}x@kk`Ax^{Wu|yJLG+_~F|1Uv7CYH}@53_!Xjk4#y$yHG!^{m5Sngo7`1n3qEC-seEbaIBk&%`wuk$jHWeKYqS zOa<}v@uTORk~zBJ$X>Hy@1~5#FdlZD6OSc^Fr4%MzE)?<8pWamT}BJ0p$A`SOlmLm z0_DE~D;!~ilJ*iCa{EKi*2BP;jRmS zw*|MNK3Lg9h;Qt2aRI1^605d`c^B~>&iyFAu?d`U+x$pa021SOu|n{1fquOW48!d3 zlfK9_X)N2##rr;}Fj2Km8%Cr$E`Og^0 zo(02=9)scEP9Si*MmUD%E~ zb>Maw{LypxQ>}C~_8F)~sZ|d9u?{yHP<3UWKH$6%4#R&MTe@c%cbTY9>j%z#jRSDe zE}cB+b-mURQC;XNuf%ET9d1EQt5n=e`gdl+Y(nu}#4NP;SVZWFm#~Lc(larOXqc&) z$)(hBfQ5ggLFJ}gE3ysIoY0$!4%QVvVfcFud^Cl`0Tp72V?eC|(l(^N<1TJZNRpts zob;w&&Z#=$2upoqgJG%HMyA|UIU!*1)015r4v$8~lWPY-B=54JTW4(pe6Vsp(eq^T zzgF5%K6{ZDKypAmdynSKh!*ELw~&?eQ872$DluKZP;Q= zuL%GF!j?L+d2wm)T@z+%O+M!NN4jy!egKhn2enQtEboT*nWMK~#fD4t-)BR5?ES+J z<(dfe?A2ZZ9fr#t$D`s}%@4vpMPNhohMgf(p@#AA?tGx%=Z3^a4|pBK>VyyktHGbH zq(}3oK~LuU3(nsGiEZbcmy8b+Vtr*X&uRYk^EjT}MLIvAkg2)HXykiT@tNBmE!##; zH%`$bo-RsGxFW)}%7XaGRVSU!ylzU>!Wa6kjA1Ofzu_>k@xz}?tQrVgWB~N|i-@>P zYl8UB_Xex=IEW6z5^?(njR%EVj*i-njN$yt^J;0epw-w+nI z3$u>+lLc8gY@=>lI~6L_D~e^ajfUV{f6MyMz0r7jPX!*opc;MY`(*%A3|lYi8He7e zxNp`NeLo<2FFkO#Z@Yo?zPF5bzWv?3@f!SqF`M#RX128#TJ3|6KdkS52DrWW8=Sp) z8zp`Q*`GnY7ccdvpL%Znx5oaD<_+#&oL4aZ_-^xgW32xAdVBOo%AX^jp#GHh59#;t zKMsCz{v`YW{wVz;{Gqz%_|vry^1JL$)K9q|lkWh3XuxUSsQ!ccz5Qns*y9|co`3Gy zX&!m$8+zo%H|c@KkCJ214~gQfJ{{3F>Veablw*&7OZxN zeaSEEbH%TH|4Oe=`Sox~bVY+9G|R;mXfTl>kir}bHC$1Bymc&})tK7g6s54ot1*F> zhCH5*k;ETGO7509g;xX>;#rUch$Kz@8|?T=N7J#PKyl)3JTa6e^3f>PWFNlqg41+c zVg`^k1Dxj1oPE&IFunT$jbZpA465|duNkE5rla@od+G0j_N{z8z;o!|PR#|fdg=S| zxnTIxhp_e388E2c5_U6a-4ebJAbKG%Vpqnt{Z+8*j@{D|_xI+-vFz@_2OiyGH_Xs0 z!+|?II*qFC)54MYITaut|3)e^)Il3KF#I@10QtBI?`?O(i?%*>d|Gj>?m&NbYr0p- zVy@1X#ZU{`HQ^lPvGCimDfA8kv5wCPa4fGI3>}f&v3UT6y)C7g9m=<$@`Xz4rD6G{kS|D zIkz-we0zmYEDkvtN|%V6f(n(46$8r#0e$MVVxg8}g}UJP;TOP`{?sK81kAyK(@5n3 zY1Vp&Duv*1pu8=Syon>ei4U@rHz)eDC-s3$^g&GYp-%uJk8Xt?Uiv+Lf*p!~3^Pvr zL8-pt1#A5CLO(^x-lAn5&?S8j8kda|`XX+Vj_@Oo_z5QR3<>?&0mfJPGK1#B5Ltd5 zpA(*kT%jI&X*>?d2uy`M4!4F&=%*dt8m6LRf?~CsGnLRx5xB~TshVWmR2CIS{@@$; zG>wOxCS#A|ap(!S5DB>cg0dc9rSJN}vai_F4?nmkAAlg_ub%+$pRI;=lq{K6mP{K< zrk28q?>UxsQlLS(uEakMDG)KzRZwa!f_Ov^QL|?md#`Sa{^1?{|;klut$rrJ< zLW6u96XTbURc)Bo?(R9RCOLlHw4Lpoy{Lucn$br=Vg70mD18?zUi zMiPfWP~cU_mN0eTWvMCY$CPn1kPSFUm18sKWS#Df*e-U7`W8Ma3~ha1ivg?X)Iy94 zRZmpVY6KiyE+&o^ja)8QldB=iGCBNpswe&zJUctK36_cN$Gp>*z8~l3Sm*FK;PU=^ zA005}80v*&`I%9l?HJj@bJQ8LIBkwz!cM?Zd+MP!PMhQQtRuu&E)L+NU7E%YaYik! zi}Ri1X8$!VCm&rab>v&Fk;llb%(QHVJQO`Q2-1LR!j zoe!k9@cP(qn>E%V+9`!bx-1!YRky!p_Dodl%`Ifqmm`xzn~fUs=O;>Giw}s;(;6ec z%O%?^VMP^rOGdmpwOV9^Y*{VDB1@Ai8>D8=jA+O~%*y0s%8n0MtvB$7Vyw-I%qm+d zE0BJOc(qrIOR<$EVpdB^WVm#98H{P6(qyoCbt%DD1@yUv?*#2DdA$*rLje zG1`s{f6>3bV7Q&%&_r&7J)${B{^iYtNt=2_y6e@dW{nQN8ne5Cx#RLF>}|vwwhv1L z+D=qN`j-ZCUe9`UxwSM!@RYM=WTH~RmeV3 zh3GFtl_Ihrx?&-Y-vdrKF?;D6*aL((X1_L6Y-)bf)t1YZ!O6;s-T}kIYgtJAQ&OZ6 z#(T28WD!w87W_a(@Op}zM^EZ1k)6Jj6?3c3um&(VO^=cfsBK4)`?Gp)EnN1^aGRX zSFqKU6*g8)f&F6b=_H_xz%(v=nVccGLD3*0(etFp+I1>ZVy@y4OBpn>jB zxs{IKH=1_t^>cT`DlWvHyX6G1d9tVN@tA^1;B8*nGMkC^Ve>uq!y^Yzcpp9NiNn3<2JppR))lX1iq(144BQYgKssl z-W*t4LhqEhVSuK^Fr4dS#71WASoW~`Z=h5<4a#XmEM*PYkWk5C%;Yu@{130bAfLMO z-`M(vKpWP5=wOET#|is=dMBTAG}!YBz!!IO_tb3v?l;8=STa6OV9BXm?IHmpIQKXxwTz z)U+A`zSRv`bN@Q^Jp;S9ZZ(h}(!KC({TZ}7EaAmZf8M6N_6#~R7XgsIcNCwJ@X9~2 z7(nb=YP;>pzJDe`d&W!h^N@cz{1dpRJPp~OMUOuY;^#^De=5HpRu9r5v2?=;k^+>V zyMrURF^nS_TSC*6Oel?MO>;DqTbHtSuy3DIpwgHYl%i-$M4oiL?FA@X+LA)r3h>?c zFl`3>Y)Yu>=%29UX4?TX@9TMgY4|%|B-Lc_~aIXix)Fa;>O8Nxwas;2=Gd>^K zuZR014wi95%t7w+#4+OQ8F_lR68K^C?MYuq>Mzz7U^akTn|@BWEG5uzI@9}zLmaSJ z%>8L@AfAPfydKdMPjhuh8&CRIc#M@2{X$os6tasDJW3jg-5n-jQcuE_ZZ#CM>P(9y(Y&H)txvSg1=$D*K^tzMUxRDKx_5@jd2>F)OwheWMLX9TjGT}<+N{@eSexgIl zTplu!O%J(vgaWl-x>don z3)@%|UuvB!HSAye$Z*tRB+=I{V)PDvR7wVKJdtN6GQ!Ww7G| z4AtGgu6?(S7$tu!u@At{Qtc=0$057$#cgARe?a$4Zexn?jVJ9}Tj*QMf8&BL-L@&; zG7w*aE#B?jn|7JkRMblbyH>b@)T|Id=c0-obM@$*0Hb>}NH`93@2yJ&5Fl>we^2R$ z7b#u84JKD`!H8a^h)yMisDH}H$VRfr&U>7Gk`*ba!zk%hLfAT|+d7vxt*1rhM>w{R zrhO1hqS&#$)uYTy9ITQ3V}A^(za#;e=Q_y_L+$0Xc%J#ojj@GiW3YyTv z5v55ex{DEj3WWewGgrSScqXTjayDQ@rE~jt{@Wqlzc=_Sf6TO_8?xLnF12{>k_EmZ zJDnR+Gw%;Arj)HyQ<|ljDd60rz!3A983n{GzW6i*HWWd8qBwzmMh#XW%-nQCh1ivl zFMU^6PGKB8)I>npXUk=Grv0ttb6@@Da-c;_W+We%>65&y^hZ~UeP;HjrQGMzi)Zfv zxAZ(zS!T(_qrdT|S)3d%>4GDM7@b=>hAXXEn)G`1JZQB56f01TPmqkTJ}H7G9-P^l zBa;~&TSr=v2-n|*?pA~RH6-da3(|&!(Q##gDgdYkNev2>M3sb8$6DfIemv1SsuYTv z(+St^XuQ(tqEu)VWl?FIYkM*gu05C79i_1%p;hRHs^f;zcPAWz^Fd*ON68BiG-mPJ z16V#WZ9vA^-2pJlimA2FonU|7!ZV~Pe~&ghw>0H>kNzLG!a)QQgaiKd3k3APy48Q@ z976v`w-WKRGqkldCXshAbux6Zw6~M9cTskAaIklBF*OnOFgA7g&*cB)BPB^Qa@dS0 zq4C1w_<;hil%c@HAtL!m$Z3$nWC5U9iY>wG+{ok{S?dFbC=VJmzm?E^f8kYL{4Ew0 zO&ttc`OCX@I(^!Z=l}HzWq@!AMuS$bA_R{gl`-suN9|e7baWLf(|Q4mEm-XBXP>b> z>esds^J)Kn6Qb?Mq|!}ZBphbMq4F%Ifth$ML1h__$!2Z;>Q;-{2)Ba-n<_x%$a%&Z z+Ho+Gkz$okjHmBRtotKA%|#OSm)_T~JylEB3LF02*S6XscUQddRwV49Luru3=nqNI zGk!e81{S{fDRroq0g)pa?(nDei(b0_DeMP5;h)7->F-ewTifnoEJ1J8F=isnVHUKs zcCw)_udnxwHE4ie=om>|) zHo}(HmR0W_{d$cSD_X6pAX1^{zp0)7?@Z2KQ_n_7iyOYHJP{@DFGaUKuk8~?&+r4Sy_pr zaMHv@JeI}InKoUCQ=2F^D3BK$DQ?*}uYcvhB4gtz*5EypRHZYHvTWWi zE!w;?YEopGX9QM1@?p3mU$V1mpU6HQQ5u}bEAm`CwWhJiuvsT~o*7uv-EtMhRm3t; ze<8RXSB>X@x(GwlID@$qH8i!|xwg!hU9UAsLbTghZnUCqHjnoYmoFK_xoOS7vp;W@ z{=qG^GSw^3h7iIn&5_S`JcdN?j539pWjj1$cQQ-bNS@K+?V@gzf?;e9G9kZ-F3?QU zO}Y}3hV`yz5A#j38S^&ss5>$(xeFnAIrL>b<3JvbH+pS2g56hu<(@|wl{ab+nQ~gf z9hEosKvj=uH+hJt6qz;37*@ehH*OERWb6*R1ZExCu$+Q}vowQczhmx=74v3^W~BaV z&Elzo&9G9kjvT#n)u0`l3iv^qlQC7QqeE2G_Ve!oO{T7pa;|AjC|PFkeDyOO%~myDtME zmNV(Uc2`IhxZM*vPjVTx_6q!iax?Z#Q(aDrodeI$o4ctvR^U4iS34{+9pknzRl_Ho zyNe@6&c#ykfDtvgq>1^d3Q@)pA``f{DktJBBj!?bt8V^~ddhEvO%c`?8pN-AWhqZ4 zolbG;fp{*w3z1LPG1AqIA^EvY(cpCl|8ycbNQ3tK)aBJ-Ev4IiDOMl8tfE2sjfn0i z8^`Fo@NpL9qzcbzX7{+Jw>d3xUfS6o6S%DU?oKX@xq@A{7RG+K-OLWn@f&y_P>Brk zL*KL zQ+Grdf@79#%yk0oQ3^BTQn1C`6wjTvY)o=|ptLKuy#K6pC^)7TOPv~y>EuLhrg=RP zZ2eC_{9EVFGXw-3@eVzhNA*`@A?Uas&hzy3UjcB^@hMS^@CpW{0LF|l43cM~7~eB; zSK=4X#HOqUqbf}+>_-v4{+q;m+yTWoHA6!={|4enf2Hl-+}!1 zZfrOG!u5W}k-yDn2m2U0{EvBju&wW3f=sCKfbma@*-q!-kGuA(!%N~IY97{h4K|d$ zfu<%Pbp%M$A@8?yAsuYiW}Btq0)PDw#rQ9M`JdhOt&gvp6D)iFrmByEzoiah=q@)T znMC~E;F)D%BB%5D`W%C|PfKu|P8#QI1df;KA|`2?-mT9z2b)4wDYQ&LrDhPR5ox8U zy=RkoY6BHNu)&F&t)~N;jUl+hgE)=*hAG!jIHBx=899oSJVx#x-tOQds0FVqx4P^P zbRVKTL`{(`v{J0RFv&gvIX?A@Rp|+(@6y&A{c65;qP=6HL{Z$rDpOzvJ*6Gwqp^V0 z8JId&XS6aok78A&mMmj9V`DeOy3IVK@3rl%-jX)$s;p4CD!KBP#N~HdjQ3kN6GaF1 zk@EOT?WPB6w%uQw`%j41-}X>)-q2|8c_TYahx{66eR`YlM?Ii0Jvz^P7+D&>I@p?S zoP2X}uS$F5dl6+JqjSp+d!Uf@v>ixlT+#FM ztBi7RIMG}iPR86*hOm1yk2%KK+b^a0VDG7LUv$HvHK)pd^UcgL_APOkvL|rN`tA5s zm3J)%-B4vSkNJ2^C;kxhwV8y&kgQk4_WuC=2ZtewCy}!MV|KXzH)i+WaTwA65r-+e z`~%*`{}YD!s%YC|i(>G0wXQYv$jK~*{Z1EZ2i@wx*c1p1EAD7cI3Od9gk}-C7~L(! zegp2hEEep3fDjM@#*_FE&{jdTzS;UPlsXFt(D;ML5H3ls3ZcRxMrbIN_{ z1DK}&@qGaaaI79p?6-k+oNh4W3yf|b4pT4U80zgFMT4UWPL)(sqE3HtKPb)Y|$&F?+Mjfpwe&B39lI$ ztM{KGbSl$sTx~t21!&#V0w|SEl5HO?B{+7cWdUw5X{XkZrj2WolVR6$^ONH=CTpu^ ztRl4jgbG@-sD zl9Fp-JpNS4z6qJW*j6|FRCIxrh|b+_xs|GpQNz3UbZWbQ-Ct$y*l_3-Y&1%c%n7txnF41R*U-c*rkr=nkndBqc4(Ejc7MT%;+li8E`&oN^Gak&6mmz2A}@_+ zY7D9(BNVI+V{5QA1XUfK2785I<+w|1RN5V-ud-hgF<#o^7Zh~;3zpm}uop~J{sov} zQm91f8+Mm?m+Zvzv4r(7l>;J>T*<<1YUZ1-{E-Deew(*LP+0PdR*}7zPk`hPG%Y#) zkU!X*B4^lm^YX^@gDhs2(}ZD&K{z8rIAP(2zv6%Sqzw}UT1gzH{OS`hXK`b57ifoo z#3iiWhcDdsh75l;fe+5(nsS^W5ZY6kI&2p37FWQP@{d!|3XHb+uu0_;5*dqUcqVmV zfBPkq_+YunQ}i1@X*m22<83H{pDuC^<{&txy*HXK^Lh#Xh@Scgg7l4$hwyh9s3&nc zS$zC;>|-5ugn_D|xr7_|AC#*T1VL@TzYDf)}Y0#z^Nm z0#ZysxdMDD0!c_FIzio{vZK#os9cHjdct$z(p|J?g3f*-OT$fQ&C(@A4ZQqql1 zS+LGWkh)yEHgsR;E^qFsi`k7&WPgS*>7HrGiem+n-A_qo*lONLEqluxF4MOEq)Q+J zPwXK`Fb}G$eAl6Z3KMk`AeM%NR~XYJDq&ZHc$veaR;LVekvE9FX8DZ`2omyL~`TUaMe9oa~i@o?_YF z{YriSDE%ST20<6Uc|emrM1P@$S{vgqO#i~}yrGk;=lmc8h+V%XLCAmHraT}ReUoFp zq#w*@xL8P0Sy%{p*&Ewt-Psqu%ZHP7|18Q)k(&r@_qUVm_EijnD5tGV_8O`mogZLr6vK#5#t4{Dzj&1G zH_}Bli6PhnP$Z)y0ZC|cWP^VH^7=BqSMt!lHS zRg3JBn(SuYR~Cz^Y70U|R;gT;+Vi&cV``F}Q17khT+d66bKYZ)v%cTgz5LBDi{Y2+ z@_}}^_)WyI5F8{YiA}{=NlqTJ@DyB2lj`wJ!?E_|ob*L7PMv0B==iC9=ZC+KO7B6< zj*?RH<0JB$_b7B*ccK-4(uPunD(fcqrPX{kqUs=1o?Khl^RBIKFS)kXcs&#ZTwqY# z$&k-wI1(`-$C^q*3DqI1x!D}!a5-?!?`R7aO2EDp~EmdE!l9TW5T9k zqG2pGVVUY5_c;)_ebN*E2Vd_LU0J|w>sBQd+fFLBwPM@0ZQHhO+eXEx*sNs5wyl%@ z-2HIxZu{=X+2-SX=wpoe_1-}`w!Sg1D#Q1==mcCWiLCj}Ul@zOMh1@tWlp?lWOz(D z@$gv@hD4{FLlgcX=tid}WnkVk?pA@|5K%H`Gsa~qg(;3jY`Q!DQ!61iqsEtwW_vJE zjCQJv+)7WjDn!neqd~Nn2_|5DBdWOmHK%D{JED2G%%q>Cy|$;0`e)#T(c_gkTlUC? z`B~2TYBV-Fof4Z;7x*tDGm`}1IwK$Uex~|@zoTJ6m$YxNYih_Mv}Z!?^I!t0+2qfR z%sv=#Kkk%FQwwv*9yzL+<;JLZpd_HmB>EvqePAq3VDVewOD{f&Omtk@jMM^})U6Xm z=TKyv}&(>(5Cnc~8P8{-)G3uihO z5|tKYV_uqs+bY-D3uUOhak0h5~#7mDU zD>6OIkf~`nYIu=C2OuAY2f``UTktQk4DT5`*I`@3dn4e;ek#D#8891{1phpzKYR!8 z4N8wV-Ey+ihd2$m{!Xb1u-g-%)^+?Heg@watycW10?|WU!yC4O+a7=gfj^Ls#*Wt> z!Ypi42D&v2fAZx8Z!K5@s?{K)|H1S6Q==JI?CQE5%K+c4nr=b9ksb%jDlU%fg_Es8 zxfle8uOv5u(PFViQ!lujb?eX2^2~!=)F88yN zMDKTbf}Pg0>?uvRU04uthwPNk;`yP{b%obf@N7dYv%3EPD>>qNp5zFEG=qz8qYo&{oFJ)q3h=L z02`-S;9uPPb*Uq)zu>VO-dyA6Uh=_+lJ>A@0C@ISNOis$XXL45g8ZJK2X}u~Z%hQI z2Vy{g6Cj2`S`)i0yD<3xNE*EZ%{p@{CAiBXF)%~8Xk zj#3`W+4IN%_dp-+mFBLVmRJ$wrQr5gjjm~HUHLJ!lh?HdcR4`6+$mgzcNOA}cX}bP zd8goIU|Y_>?^p));n^p()B|uR?>&CCkUGSXO!HP-tX5Bd>W(zrJ`L=Wj_j#4T+MEZ zkVOlU{rHJnd}U}oL|CX;PnAh`$Rf61)}g9dLmXzRu;XN*o7TEMvvpwgVT`|Z1r#oj zs>;xCx63$I;U>A}%=z@6N010#SC{kP@~s}Q7{fAw)>IZe6VFFifpvjx5c#Pp)^3G{ zsdWq0!sroI@l2aHFD9 z3fI4Ano6h!0iFA0X)R%2G5$QZ;0gORQ}oRz6*-K0n1|)|=8OgAD>N176CTw4I>s+5#Y_x;+spb! zU!JuS+fHN0=pF*_@2!WH#u_5R03x0`Ii~_0e7+>^5Saty`mn)g(^^PQpj$MgVI5?F z&V8aUA#4Q7>A9KX++hV-2_&gTYT2DhN9;wR*!NwIKEqqT3Q1 za$9PLjZuS?v31qj*zvqsgq#B?g`;X$09Dx&oOLpfR&{%4Yvn}$blEm34Fb*^{eOlw zfs#3Z<@c5u@{1WgfXEv8cv+Lb5N6(w?8jA~KZfnDNV@rR`oqqAir|HL?#|3UcBF-w0~jsXuFZXi!X@96*~Wayzm6XxR%WB2DeHZ2MXVKam- zG+llq#8z26w4MNE!hujGJn1`3pu1eS4n_^tda|Upc=D{`5sD}2VtxVIde8>C%SLD} zHlb(vvI!45xjrz_l{uy5KAE+g+$j`Km^ztfBM8rDF19D3c3GD*O8Ru=UVd7VMCg90 zu&;(Z$z~xnL1jD2AvTjKK74-q&VjD5lp($#X9T$-*hMg)m-mXYqU^8GhbmbDww(p0 za(-)8QD}IQIMzl-MS4QSX#)xC0TOd9ImCmsU^R^7Ql>bAG6OPunV`~l2jtl7zBvv4 zY1yA*!a_-g(BVHi%uJ~Xgoab%!&3^H&Sy&VH&Xnl))bpmbvql8k>Lr3hRE;3FMDX+ zckJRrvKU65wC2cE=+;Gqwva)%vx5PwiI|v(1>4leOKI#12P?sV2_~4OI`ym4 zKnrMgyoRoXKal*Z2yHbuGsJ*}%(3HzWad!bOg0qC%@rS-T$=h3UHbOj3wEcBb_X)T za`~q%2_Si(dAV3xsLpDQ0fHsWi58ybpzI=a6D8b*xJ9`@4NPe$OReST?*LHo2 z(Vfh|P_^2^P;^{}oz764)dB-e*sGn=@TL46A0YBP1U9FGq<9-^S1hNhQ^^YF!+EfE zzDl{5VUlRJ$3IFHC}x)U@xytGBqXt@5S_!)KuL|Ahd;3|uys?T&dW@t>3%wkgtny` zQGKT%M?r1DD+(bYVr4W$a}^Ie;5UfX9_*M7+VbvCoOC$4s+8qEgexJi3o4q46}Q@F z`e)+JX2n+JUxLQP-AyfZy~LS*P2+#SiRS9PFQH$3Tao_^%>UCoiaEj1Eh37Y5YCuJ zI@ob>)kA8d-cpqgFY;~gHb7i|=2g3!*bY{^j#5maV9Q&pNwxvjA=4C{qd6yYI;u{4 z?XSs1bnRenpW1mkI`&|z`y*2*)gQY=4RW+9(_?#_3gdG>-YP*+hFpUu zHAK1EDK<*bzh(U9vUw_sNR+fg1NaBMZ?fJ+OTGz7j~d`ok{lqL;T+LA&4S3u8xAsC zhyU^m;JQxFOWh7KIX~cr^A(i}ua4GRfgU2QjePfr00%zoP#{rN?Rp5yVeD>@a{4kj zn8TM0yTc>R6mX{tXb(di)%K$8N3Kw07wd674)IjHIt^zxDMJ--n4z^Z zwYy}h`ijHPJHE%-;4PWrJ~8J9#vGq<{yYQX%LLgxlp&1$cOJ#vs_(s3vs4B}g6Q(9 zNCkgW)OAK9x2b7p9lE*Vz&Dr8#M^QZ?0TewIPwDO*F}GcSh+hR@m8&2uo*|O*r8}b zZRAN#nH9!SP)k&7k)=%2;O2R@h)T(+TVyTt?P-adC<5#xAQ`J{*R3(m7bB%y8Kd5V z^!#idioIT(m*!^pIpR4l0Z$6}r7>_a385M4RR2Rv+=dBM&@wG%Pv3T$v6rg*!o+Av zVUJip0gc=RiOuX2WNTJ4`yB0Rgqz#?*~8i+a=ZXcc}fW73g%&Yo{P4L;$T63_)U2u zW}3f(s{7;Nj_+c`RAB(3wDaEBSyZ8tl5WHAb7kD9Augexs$;c2uq~^irpOgTi+1RR zA?qEGkaGwW`eS(7hSJdo!&ay#xqD^NcE5i2eUj9F#nr`{SSv$B|9T4 z6K7EaBWF9u|2jU{#L38l2q1>&{gkDq;_GzS`DrgipudbPBh8S3a?b+x$lz=wXS8og z$L$}+#3CIiSibRgs?uGVw^e8NL+Bo?7K}4EHWU0&Zd|sKoz-mMVtc1Vo2C=;D?TM&wjM&8?LfCHOozJKRS6AQM=Auq;1#`hHpZW*%UHw5uc0_M z+P(cdcR3W0f&iOugF2a}LY_#9a3;U7t8buAzRzf3XLMyi72JQse~?g8_4HfXy}ogQ z|9@2Af4bNxNQ*c++WnW*$Ea!8qpqOw*og|t3I0BV3P`XqpCpSg5hV^FAu-|yAw<;Y zX2M)wwV2|L(Y$w#(gly8`Ahf*&#VPy7mR)t+-`L>;1}-5%e5SD;yY=IHz~o(jap@* zGF3{uqn;eQre^Ip#6p|#E+DO#jTy`?;q zRsu>S_t?&NF_C@t;NCSFjYIZs`hNN@VCu#rmfqewVNVJ-&M|w(J$i2f*NmfQ;6^33 z&cQop4+nQ^{~3K`4_D6KJ8MrO_R8KnZO;pL>*)FC2m(j$u6yR57%tx-VB`iR)(nt) z;2yi@5qpPAZ{Ia~gFG^UiviHxaZlM}jg7)h1Lz*P2kptkwgEN|+b3_}NB-cd0XFyC z^S;4$HI7<`_iAXqx&fEa&fR3MdEC|}@~P@Fufzfeb8Y$)$}Q%}Mcoa&yL%+1M+V?- zXd>vm%R`_u7WzGQ>WWp7eJI_a4_*Z^gP=Ze-2ORgO7x| zi!sQMhG6{PuyVYJB{yH9lnDaDg)8oQ0dW%831hVtotg2eDq+e4?jY5D^AKgIrCN!a ztl%VhIUK#$R{@m8oJhBW%^a6uW>)Bglfy#S#yJ=V$`J@&fa`Gq4 zQ`4wIYHL;97C>N8OFP0~3m_Ipd9*`}X>nwLx(>lIK}EN>FDzNPl{QCKiR#WdtlFZ{ zl)|-l=g@j0kwY$tDn#=gnIPm5K6Ln_v&<@YPm6;}g_p&;L=(7&Njl#1n|0!mMJ)9k zrGTd@R)@zt#d%@W%D{QBm4$s&cY((<_Bj`J$wv8j`!&|$FjX{ji)yeLiew_Gd_SwP7 zP0lJ&ux`~9v~maRI(@S(Nd_0ueMOxHugU>k1j;K;&J#;z4+1_}ujhtyZLpSwjs=w5 zNG}N#O11-k1twBr%M`Y}C9qc(Zd;v$CZjsjaEg?rd(FYf4pJr3vi31bjP?cj))5*@ zX`q=Jysb0_A=<|RXIWTl!a!`iOqbu3+H9g$OE zJ*e6r$}hAmoy`kX0#v7n7i7dvUnpf{6%~N;QiN%fv(r#Zq6Mk2njRb+b!}9FI{&yw z7=>bEd=Bs@k1`YvU@n|=DimVw*$xiMFSEw?gExvFn19or9GiA1?i}V9r4q!8tY;J! zNps<5pJa@sK8fw!Tj}z$xz`AOdzk05Xq}*a8Rq(ve+BX`k&_;!@eYdxyJRxDU zSnJ(D!;J1be*ae6{rOr=3v>M&zmUAFE-Fmuh_+a@HAF4mygPFLTX@Z6!{tna)x*WE zJAMbpCNKoYlAHvnu*-W?pJ1cI>If`_R&5{Ew?_w-7kYBmL)Ko)Devi-_w_b_e8ItM zXu=2M-riULt%=7hF#?tlTcOIzGRlDT@r}Zzho%$YbDYJNt-^Cc$G+#xLv?H zdb`x3U89&N9o+_LGW-$JHJla+NX1FKO4>=>E^{wjuLeZxzu3KmyhP+8ZkM_jsnHpcl9vEb(_voQUy zDq>=)5QWOh5T%J*mWj5+7-bouM2*(shh8#Vq2gfalC6nSw*0rk#lg}i+cHK8XLs>0 zpoLP_CRV8ekP@q8<3NQ{wzjv}3RprZ^W0m^iL}fR*(fcqX(~sHTq~hyxlPxkwgv-- zY@5xs79nPv1>X?Q%c@WLWLTH*a)h+dB(`bpV4^6*OFHh;&3@r>YFPjzk#@@EzA*l6n5>|%AQ)d&G+=m*YU-A739e}G3u zg13KIuni*)={zA2|3tWlY_|b#aQLQvp~ikc}_LA7N+(XYtA0=LM&0{B$zS(H-#2BKNNBm76I5%GZ=`Vc>U)WQF6Qcd+g z?CH)1w#EjI#{a{x6Qg$Kg{p?*p=1DTA_|M+VM7pzo$=wMsJg=H9S}Op zEHn-%dT+=hjG!lIb+%E*ckav3@kLI&r71rE97l@(grVZ-P3D&`%e^5=p; zcGND)c>9>Bq*#y5Td>yHX&j7bf%RL6!Ky)!xvss0WLOE2!Cai|`;9;zatqQCQkiH- z=X8<5J5LfNgafZrWpKw45}0A+q>0wNw)a5FSq)P13{SxWkQ-vKKihm1h$m8cr4>fg z(WJASn)Njew*$=wvRDfuQXo#!Meb|%Ft^$r(XTIo$xB2i1MC(D}?@e0pM=8ep?6rcwLYuojDX_aGEvW~SN`cY%|0dh1ZRv06>! z*^M%IIx3uhEh7eN&)S(Cd=LH0u6xWrx&83ks$$ zB41i$n|{9M_K?5`UN@#);#7+v!*31g+XOdBww+ayk%HKFl+XW@%X#>0AXs^Cl_dL* zwFU+3A1xP7>#)Ca(cVb9N#<3l;`SyNMqq5-c4h3$cA2Ax{0QiCaIBo6_(<8ch3omy zcc2Iu-@=X4yWj}@4Rxt-C9b|ExaDo(9%AF96rM^LX+i6d%d6BVw^(-BzY(ns4WsHLS`F3%Q6)XiZ z1DJG8R1AQBqru3evzh>h+%xHW1>N);#|KMuy!wdI&S zPgKA=WRSOuXqh9*pf@#m`rzEVJm@mH?b+*n4!ApzB87&d@Qodel|~Y3)s5F3%#AG` zH-XTSa4|FDnSbkWc1d>3TrdA3m+O}Cw$;TU*ldt3V`>vyDJ3G)mc`i3TiF>iJJ6>; z;p$Atr%lRM^$UIGwrp}f-3dsAJu#otbh7Z?$2p215D-TkTAuCrZX7)>fN`Gf0#xDX zA9ccnlohL#W#o0>cl@A{LwWB)1#&T4g_{k*Q8+3vYd!dF@$b?qW?sh^E5WZy!E}rN z4njW{gP0NXs0zcrW{7pb0K^(dN?ZhSOK8&E!6#ecjPLdz6j1G`i#!YS+w5W-6LtKDPOY9J*;?0QC9cdj?X*M&OD>#OBHQqz&XfsLCS8Jkr z8kO(j>&OXhl$7iU0i_Hn4c(<)O;cG(7_TuhvxOs&y3`!zp$w6_)upRi?GCMdI&Sua z@w*D|`PoAJNv4?Lay~Yu^@(hCY`UguPwJ8PtGaX%aoy!!eA`QCo9E|sE?oOtV}x>G zbazL%^3a>h{ehs5#XPeHZG9s+xP$~)0Kz{d&5#aa{Km&T4FM)+;*wfJKd?q*o#8%c zLk(8(OcHVgacq=@7-ql(AFE@YDdCt;F6ljL?jX#!U2Ir_F+kQqb~3`llu!Dp>Uf89 znkZWzDOV7ubT)RR0YFb zv-;usDe@L)+6`Uq(3?B>*FY0d;L)&;y9DgEi374)_%WITd|d=b7hUALUDJ2`=t<3O z9+Fh0qUWtdYY}8FZ*>Qm+@JlEb4xfDaYxWPJqTW8gd!Qo~lGihGOZm_TCb0uNRN>4vb#%CB zl@=z1C81+qv2RPMgz}4v(n%|$ruA;_WPN^ZOf7NZA3wA?)}hTR7LDlpQ*@RH!ALh%%#>Do&%7~{p zq1=@ZT8@Awrc51#VO1&}-D8ep8{-sMlyMX`U%Y*|e-JU$`h}c^thz9Zu(r3Ew<;Z9Tp3Z(VVG{hN6q zpYi=zP5Qwgka-Y%p`HQmwvEfB$|0~!?$l9nSQ?tO(2+4BL(6Vv??lG#0$g-j=#wcz zIoi|Uw%jev$N~d4+dH*-0-xi|U^+C0rVPpH`b%87M*@yGuer%#2k$&iKy1B%&5jF) zL$3Gh4TG^cvY2rx@Y;WU`T{08dS?R!zN2aDNCvWheRo;Z$2J$WEP853P2yX33?yJ0x|(r2B&JwCl*FYcN8cBOkGK)THLn^f$l?&z+T6n_NoI z*Rce&&SBdVLU+Oq*f%8#?uJLulPktvyoYe@2(fwGC)3rgQ35l7HU$0x9fZMtlR)d* z^)I4ry9RcT4Z`*yu8rfy^_{Q|*uQYW-I-+99wg@GaHq%Jy&mvn?^g$UwKt3pu{lF< zzCQ*U{U`=J-#rwt#os*~>3U;e|MPN9>>ZP5e^-w8bS+7Lb>Xth3$z;6~Y+;=%kP zUj{2=s4hIhQC`D^d=qA<(vwb)d8l-;b84PdH^Ik;Y;ssL#$_gmz|wVXc`7P;1aUW zj}Ua0#dg@RCRotXt8a)9{4)wb`?Pn9&Ij|EQ@5dzBw0en=MEy7-B`LL_8i}E@aiFbN9}EqXdNT zt$8PUGUT__&YH9n%l*)z7d79R<>iU8t3n&p z&cU+t%#FEg@?z=x82N7~sFrDTIYN~J7}Zf$d)fkcCq+>!g9X#*Rhp*AV-HZFzmt$= zTgr15HVTBKxVIPi=HR})3K_7w5`bOy4R}J`!U=t-vvk{j&iSU!kAx+d*U1t5ha_@i zS;n3rp2OZTWy2DeO#K`vuDgMLS3RrWnBg_cCdzPmmGJsW8 z{QIbSx7lb2s15;emlGpK{KXz92sytQg)>6ykFHM-$0Q=OQL3!I_74^R}k(^Q z@x?%ocos2BI}@gLGZ~>IzcFYB`id%!5mG3zU_nrzb}*q$u?!=hz|)&5B1lz-7zESP zWb1P^*)j3(bmSwmlUOvT&x!=PWjd|_jkLvxb;V zc%1zmiYB%8rv0ljbw0rv%&XZg%qFpS`SPyRj|OJMPA_6{?Ujv^r~u3k~% zzun?}bkMc1B8q+Tfb+X+kM*6}SGqO{Ja0S9x#=*8OokK9z}kl4`05_48{;i-!`Ds> zuzQhahl*}-&DbTY4$eC%&|DuLO{5~||AXXXp$exmiwZ+|hUaVYba*mJj@6xjcXpfl zaLnwvAT)2!&k7J!R<^C~TB7{(E5`2K4el%8Yw;T9J@LZQznY-nw+D5XBOMszat%Mu z-g{)0pT)Bs`q6Rnz4{#p*-0^#-Y5?Ai2IBbRIpkx-zJ5Pmsup39s{PXMD*2di_USJ zihIUCJ*5K_IZEiLF4Twa9eBH7r$;DV==^&|DC5A;5z^lW`-dpc(n2Yy1XA*iQsR+w zZo}}6t`37k*2N5nk!Wzj5v+UqgucVTPx?k23Bih)T4drzokUiN1Z9~<#;{Wqw5%c{ z4FIY(Pya+c=x2GFV9#v5`l=NC#*vNy^h&?zblx+OZ$C$n05&?ahO3ODxJBlE@;s|@ zxMty#kj!`=J*x#`SH47sF@a*L{6gp2>l#>Q^3*9qXNPA%o5N?|+Fx+`e_Jn8OD;<) zFw+=frjs?b71k9+MRb&5_uE;qmVgAL_F`=rM--`IZi{*{xCCx&*-$msY~dJ|Ju@DGIK4w;xc3*9AUTDHaUPOv2zNanX> z7Q~oDkmJJZ5D=XW0Ugvi-Y4vbTG*jfj~ay>XCW%0kEF>S2t;QncY65eE-0)YJ7k{;&Qdr7x|I*ayPXOPrQUewqm%16Jt|3(B}{)< z1d_-kPh2e$$#O_!mWwHAf|6J*sJv?=4ge}ir4nVUB}%Lnf}AncikY@)rsng~f78xI zCZCgj@BUpr2*g$c-i^#0kOq_=8Q2h`nRvC9yE7?M=1Bw^GH>OzW5%MNh>I+u6*Ek-(#-WZQQc-V^YWw zXKB`qz(LC@_xK7auHZE;4-UR|9}neeVm{^%nQvMc0U6wd}Ra6_37;7F#|m%a=`bNB{3kQeKQGMtUk)=08p2>HKO`D@s&y<@n% z1-@2^c&FIR?rVC|00kxSD{dXotP$)(mR1dtyLKH@Dl9Wl>S?S}SlQ8{*GQ#$h|`_# z4*a)NpDikTJt#s{22u+n5DW)EjO~FKub}1VT z3~8S~KcGl3txHDx5Qs$`EIsC>=rnac)Lt^?dn5T{Bn>?2{iMc+)0-ci>Hi(dpii_2+O6XT37=;orY;?}gPziavmB_dMDtnN_ zFX%YgXR*RhPX7e+=q<6k_nbe=+E5%`86(Eh!RxVvB-le(ml+<)j)I0%Dg8L5EJ6R^ z5tUP^IQELpwN#qp)4x|Ph|G;tp8Hxou24q%AQt^XDe_x9uFyvN&@I|ByMK%MWGpH> zRk@c7*WJZVeU)&&3c5y}@{@d6#c8gSj~n(1n7`%ujYjap<3?Bh(SO_thuzf{7g+4D zw@;RXQPf9NVsqeSun3A%81N}-HmpL8D;bx|17-) zVRTZ;Bfr?EkI?5%R5`1%2xFMWiD5u{8KS6$wYM%~{Q}kn-y7gClqob+j-&q#i6VQ+ zhO(6VYp4IjPlp>Uh;+5gN3<+}J=JGo8DKFFJedVasSkHe9muf9uW23>JPvl!=Xll! zbLPirQ3&rJuE$>P*K7y34TiI4whp$j$E%niQw*OXS*?t68C2@pyvkU1;Nfh?=MEcpa&nwiRiAe=wEVjkco0^7!L=++VHWhF&sH=j>Yr_{)}N;9=ignj#3fSzo?QTEmyGswm0n+Skms}bYQH+B+~Jl~d^PYxN;1lx zRBH%y%Mi(rmBW6u{$|>HrRz_>tarM3Nqs8CBssK>nf-p|ND*_*4z(Xn`Mfh3SD27v zsXZ*0xnOjWk_!>%Q@q9T-7CP3jGt5I-obtsMLw1<1e*KT!i|}Hgjha!UI6$zM|RB2 zfX6eF^ENel-kim4<-&GKN^_hH{1h92C7j*`qWqQ)e@KHhoFlH6Jmm$nc;^j06;86h zQEpoa^pZq~)n-_do`s}o^HkU7V>^0ZOciwc4g72cGoVm{f*jIk`?tcFZLZ5FDU7U9fIDX|L>CK6tR-JIY5zda_Pj9#>BVZa@p!3UE*?8+2?Q#KtT2c1EMft_ zqJDF+U`BEOm?C&KnMps*7?=|Y`(zrpP!kL4bXurT*?veq%Q#UkYpMHk-_gg=-B#&g zj!k@?*_y5sF#I+VB%B2c)dJdBVxf;V$FM)u%y1&8_hIny>ASWsjfA=45ogMTm znqEnFI0yDH(Qap1jVv85GEz90qPuCC-yI-vCIU@Muk=%dl9S%_ioM4rahLfnc-kgs{G&~6P zQt{RQ@{PQ4Fpeg_Ny%STdbSD9jdHxKxyO?Z>oRRSz9$g&L~rXjRP1&}2^=US`nbuj z4`Bml(q@|&B&}AlILF{rrCW{1Xe6Jbp&{w%QDKiJ;hStmb@Y%i;EG_dzK(Wl-yG&d-_2@MFQG3AC`d#gRD@;KnpoY#Pc>-_lMIkfE$ z_u7V`Oo4xZnDbx|Qc2(9SojadW?jF&A^+-l;v(203<-PO=Jn^7>MBLb`bKL_@kICR z&gprGi85$?<-UEYS1P{ghBpw6;WurWzB6>)Jt->2X^4GnE~|!YM`F*OMa24aPrNO@ z^ZI=Z8XQkN{bTW`7QTv_&R7vL68-^$34XF0br?@<(6C82;u>gfBQeP>)4V^^IB>v( z(?JLL$7_e^(#eZZunatf^p`l)X+xr;d0&V6M0WxHI;9+_2WJUJF~u#7{X~;Nu{NmD zfrmWR%7BC;UN+H6lICQXqz6*PkRd=y7aC^Ysh>U%g7C##owjX&vjfF8Ijvvj*0Eit z2k|l`=sF%ZkjD`-b{y$Bstfs(R4-I$pV}eOn^iVtWk=eBXL$_AKENA~F0pRJ=>Vre zWixo{jz1+`> zD-7QU&fc$*PU+}d1?nizT9&oDzUZW}q?mv1?#^hy-`CTEOSvc0&R>F1h+rhtks#$5 zA%1WL9S@g?Tz3oK^Nz+71ohu0ZKoh4 zT5hqz;h zv~z{HbA`M!(vx!C4>0~QAXW$whFu3SGK!kre3x;On3U6iaCZNrQwt#JF`%K%=JgtE#qs4&SGQ zxGQ*GI<6)VSFu9N2dH5{pTOh#ujVpH3Zc&=>IG}p3#dIkg@*s8+kU&PiMByS2)tB? z6N1xIDZT1>8zq2NfjqH$s6=)}Hvz%6;qFJJH zEmB#`mYdHOzy|s!LSaz;v#;0#$d@5%Gd8F2L*T8}qNxn%f zi=KgvK<`7EBnK0v2=c1uU%f_koOxF#6oRuJG5};3Yr>p41iLS`BbqAV;>#-PAQa6> zZLOh@@F9y~A-(Vn7!$)ib8~D*Lh8h;c#-d87`Fh&7(MBRj{~d6xd>~1S6MbBUTI-DR;q?OGzxCnkHX0eKOXl-(rFNO zW)9!7gxf3{K68PB*zYl~#O!xQNMp8wh&t&-g0%2OIupa8`Fxq;~@%^r%oJY0{#hHWy+rogdqbJhy=IDhQf|BSO6 z?U$~+?fK4IOL|i``~cJ5;CGZjo#gt9GxE~Q{Co_3k7$p%ZKl&KfhfL@_K z>LWYgUMPMlIUMk$6tP#OFUgBQrh()JdI~0}N z;@;rMs#~BPgp*=*gKh$9tH!n~d%)?f+<}ik#lEd@AnL90FW8PM>n7ci`BUYerAPZ0 zF#0_YM|LLWYTF#?rL9klXp@|?n-Q>l{aA)o64Tu-Ojwt!3`>QeeyjE8MC;-C^ltk+l+Ym;*Rx@z4Wk6bCS!^MqAqI}m!Q2%l<|%2+zp0B4rTx`Kw- z1f0rbf?%StATC=B=XDsNw^Mfwu%s+fX;HRm#HW6)5PS$<^s6cT!L=X%HjF3%zjCEh zc4fd(D{i)<;LIWjp@Ha+O}2S!AN{t-E->o4^4P^!PvizFInQ6o1NAofBfbvT-|ztH zw(@%nI$%(yl1ozaN$onN&lmB)N2jLm>lmM~54eT)SXSFXK45Lv^g!{=?*dy-aoa&U z-~r^n|IAhVgyd7>^+dv3ag@~-v<*Q3fKrt%XCyOo<%?P(@S>L`^w zcpO&1rbOi-jr^qtd5}1^!b?6c2}bAdFVBqQ4QnJKVJjt0|9AWO%Z91rWJoDWW{WXH znN(f{YhD@6agl{WK8Hbc%AeAbY*MMIKw;`7E^&-e{W))6c`N1mDqg7qO!%H*R9>u4 z--X3}iBY~hHq62jX|aNIwmS7gY-}Hs=JiX`odbzC29hrYGEX3QhGc*`;+l%6D-)9M zgHN0c?Gr{h=o-5Ld>6_=J}+#&`U^7W9#EJI=Gqd$Qa^kPNL;^i5Z>WiXZ7Xvi1+Lv z?8TQ?m?Q;|rm+()KKPdz^H~c>GMlZWMTQ}Z3H{@3&rr1!Sap4Wdeyjj3}V0)P3VS~ z(w|f8oaTtH%7qzRg3(Vt4QlxA;96KiZ2>K{!xqRzj> zA*5kS&ziN*TTd)urKG$tN!0dR1s`S_tyFc7YcVxq$3+gJ^qV!sNN&=IG zY-rUwethRFQRJE&^O>$)a(;?c%6sm(e!4V4bU~4~-HZXBdp`T^BD&^%t_L%~|3Z(n z8C(NsC`2E{c3N>~`8>k>985?K#u?h?@mF%EP*M21F>p_Pwu>Wagf^fwPUC*dZGhoF z5E>rFja^-ZDn1~ki{B|hU0S=)D<|YEmd6PMy#lgpcz;GMm2HD)YSrS0hQBhmEAv37 zRn7EqK4`QH_`tKxy}Le$v}^f5T`KuOaV@Fox4mMYtNDS&RoV3|G(QHuqQ7e{>DkWA zh3G?H*xcaIB#!D0Dm4V!UVXbXSQNI6`=kIlqR__ucgoNuN&!g_Vh*8@E%<>2UzT2! z&AZaC%L2CU=uSV(zWy)bWiR?cbNUTizw`ZXh}ZA`3Gs6LHe;zcTUa~&m-kA|%Ua6} z?Q3H-mcT)gy`qWC;dNE=4DdLR$!bC(BO$%!A+u29F*l-Km$Uv&J+rsib*8R#(p{{s zV&d$nu(_O2fyI2zDNs_Lh4Y7_!$BdYkZlw2zXyD?-0`!BC_8SvTyd@VRF?NXN4Z|p zS6wqMTQ4(OPCqV()qK>0#C)Df@b3zc!h+|0%7qnUlOc#5aqw{;^_5BH9n)=bkv_|S zqtEpqMvle@^}#%JBMJnLqZ0;EOn~EuHau1cCmB$KKjY!za>tzW>SMY>8$ma)sS>?0>vt`9%G4d;4)9Euo4Hs4 z12RI`*$!4iv-O25lh{5eMiRvA`Q*&|%1@ezhc^qovhI z^VnUK)LxUL|3qbl?rdb`NsPh`(CQ3EFoL0W&p2|K{@Nr-IPE!Mze;hq9{CfX3MGa# z)YN*9v%q-6wd{ay$dv3-$;smK(j-)u3KJK6c))K@$(*_+m?jIlG05O&jKT|U!6R-;HBouPOFA1W%(tw-$_Z= zkL5|1B0Jk7${16vLbdr`Z&8L)q(N;q^uR5^zM+A0k(Q5o2v4on`GQ=s1RS@;Fsh|K z5Kwb92GCb9icVEmhK@`=qMz-Yh?_(*tF$oq!3^tpFbf^5t=P%zEB=L7BBQFecD_Vg zd0!2#$H{xzgUY^lg0gwolgLIsrR0!xfG+9smEL7Jxg46N#XZc~`15`&3XFr86-jyxY*>pj^Lit~ef0Ov*Bgrd`NpK{ySP68CG8rGZ`m-1;7LD- zfM7sW!B0cz1A;y*3wJ$<+pswO1`dW7&h!ptZx0>9y0{E*8>LiLa1vXV_XdulWh0UOq;fhp zrv9VVrepzCMc36kWNc44W{tYMfVg~D)f`G73UOL;{k~a!q=a=DD(C6nEVt(G2Da4@ zxzuL(Ld{ElZMgph=r?r7)wc_qRWVVb|H}5p6Q^0dJ;LxbPiX^2Pt*>n(%g zYNB^vU~qSWI|O&P3GNnL26uOd;f3I?!9BPJ_n?EjySo!yPX6cIFIVbT^{(#yWmi{q zclD~ZpXayYBz*)}Sxle20WP+es{Cij4NvTs0Nkbw++-9!Jr}W(mV`5!QYGD$f0b59 zH}CBCLM!=S$~e+$o_dN+;cgo`Slg4Am+3E8q0FU zJMGLvgQVYd%_;2*snomM0Q1oXiSOFN()6KwW7{t^ zQj~V8Z&qgtA<4=Pvn6nb1?A5@AgP1yW#)=B#VV7);P0W{QS&w*t^y%?!b*VB6|yPD zxg5BsLYso-aysma3gUBf2YAl2YUf3(G z%Y%V)X=m9JkLiJDoT~Rf0jh#UUaRS6WXAs{Q;E=<1kAo2p=#YCsVFnBP8tGZ*L$-1 zJlnQ{NcAPqCKK;uWyB{XsvTSj5lQ^fHv8_lS3{J2x_k18m`dbh z_w5v|w<&l`gUzACg9^eJQdI7oJ`$HvE7FsEr6-n_2%q@))waa(K;NKhIm?eQ`*63q zC(R9wiG#AbT=4);qCyUFIe!5$yWw@tXgIBLd*0#X$$74|pQvoxM^8k7-%^Zrg&nui zI-~h+n8tUP=0DJQf}+WH9-ojtfU$1#PeqKIAr-xR*Dji!jBj5=D!ifPuT%#s`}LRQ z1Q6bR0Z5viG>?4}72dV1>Y#IRr}`rhYn&msD=F)+l(HV09e?aX;xww32QTQ`HM4N1 zEgL>I&nNxxp#I_6mE;pb)=u8|jNko{k$q>7+xM=iAwLW(w6Q~`s14h0#$&V6+nywp zGKFWOv6bU~vX`p^gv-Rj@C*MmyuCR7R-a2f&YCd!O7-m~xJ0T}RlkKrto#qEX;xc^ zV?_)<=?r{LQYK+lH=g4}1FcpYqV~urK75HfbUK!|^Gv_hSC)Dnfo8c6LE4~7jSr27 zWnH|aj-h`WMpB$_IRBScbb+E>uzm+dpaa+Cte%?6i=)F?!vGJ9;G9NGb6f5#Ekuac(^od94!7PX81oL!-b!fJMJ*PrHA&Ni{g6yWjNv$^?I*{ZV z2b>4{hPzz~Ee3ef?VW-SB)did8^OL|Z>K}|z&vU8)Gl=$C)ATnuNd?P z{lBIB;M>lF{)Bnb?(Kp8AiX9Bf5N^IZ1)6HP{3p2Ai|4-RVh#-5D=k8V3N>i5M)^s zOn_kkLTDNcSy4=s2m**KMG+VmiV)2lH9?%hEI0;1p;E1a;_QY+1YnTM8baZ7?&uIzlm-EFeLeLJ61|d=4mvi@=B= zhhS4w1Jhtu2xN&9EPxMy2C)PHm;|wy6!HydPeBS440eY`f;xep1r!s=VnSRg0)XPc zm*CJ~NiZsuE;J1?4Ll7x4YWCJf+kQ4KnU9a5BUQ`hj#s%&<`d--$$g7fzd_T|4JbP z5P*l&1LFX$!U;IwY{Y#U3VMJ59Hbnm3~&`p-~wkO?K4wY0R-r?vK1x)uA&JjU<1T` zDhdKX8!V&*$O>pcha3QFpj>GaD!~S5`$QB=Fm33Nzd%PQSL%c;@H*-~K1B;m8ye&S zcnRf7pU?qbM>7{mKm+o^v>`ycfV|Lc7?5`$8PqLB!UT{E=9WD{25b*~`!!)0ER4R7 zM4wm2Hb?c#h|!? z@xg$+0!5*2DHGzs{;2yn6nQYusE{LIH`Fa{LM_-IZJ(H83+5Re@(2usx}{FY1Ha)w zdcbeQkSSmw^et1u7WfT)AA=$Y<{1UD1;kPXlp)~)Xn_o>@bds%uqE^ad?tXK;FvwX zKR6C56M>t&3~nC9on~4Mhysp-7lgN_oUR8BL$kmLk{!e5;{@Xaa$wy#rx}2yFgft< zg42XR1@I)SAj+|Qz8iQFP7veRKOY6`h~Vy*F9fxLb*u~|fY~5CW(9h|wId!o0=*F0 z5vE0gFX7ys@=JhY;50xrlpazevNg{%QGOGU08kCk!)S!Irk5;V1Ye>wq8)SQzd~=2A43B%U{}%aDe`%z(erbF9bkB{C*T5l6@?qoU0_-?pECa) z*bk%zB7ke4h~S6-L@;<74V*9TbWt!F z;9e(x7+Qqv7zwBX>x(^|9GnYtuaRF0Ekb%s2%LiT#h?BioC~-&$UlM>AwPx#vcdXd zO-BcVVD8oP)1eI!?p^b>p}Me-HG#G8zG%~S!61Zt-+Vr(F05lEpcA|=%Cvs)Cj7l; zz86#%&aolz3cj7}7(SmkcoT3B%FhCCBHRb&V?YI99$V&PKnHv|rUte^1>hc=0m%_w zV5jMWMd9vk@~5Bz@Q>Yqc?d5s(*(iYu=f`EwNL?g$96y?gctZ}zTj@Sdx!ihsCR^E zui$Qk`+$6MsCUd`8K4;a3(~Yoa3K7>TfPz0JNB_Qum}DHZQ3a~5aHf0UkvIU>sST& ziF9uS{6xFA%I|@C$2)cc1|hs4Op677z}-6;BmRUQhYbtHGRFM^IE04pZ2(&U#-P(s z?7!6Q^h!gG0n#wWVGiMVv6sIZ!}Ur7hyhiY%R0t;U_5AI411Wm$lj=6B^X}9WnAO$ z!AbyL(q&X*+FnbTEI51KI)UCpm@EW)(K@)^Wp1`;RMjzIm z&$t7y23XGReSm4^t5Y|&=p7B#gsOzqf~z9ZL95d0I2sk1bGg|dS_ z1RNqX!|E{AmGnNqEyCLq*1dx-FwUWj5n${PJTcjcbr9;5jSYKYdfS8lLY=|k!#0!X zkk?_>1saxz5X?dhq8QPPvZVsG-evWEv1tWyAywW=f?a5kq2hPDb zhcPCA=|Ef_>}7@aWT+bhR|7l+>X^WWNau{k+JFxD<)+>mfTu_uF?a*2%ogSBXHCXLztGK5jF9#3uet}eE zs1uI}uYfVConA-y(It`#w33O5rq~5hK&*2;?=m3UPQyl5SHZ&0p}eP|?0N^cpNxvLD zVhm}89zfSwGE>bTIbp#h==bN>6jP~ zMNPp`Y2JzWIjE%*)~1t|a(Be)$Buh`61x=E0aJ-)KHuKXpx{nyttib$a)~ZE=$&KQ z@U2_xlL+8*5f^7|Y%v{&(5{~Rc-hiq1Ee5|l_WM5@gK+!4)c1rJq1>12FbPm9HriI z&gUYF3HAC;8bvfif#33q;JLQy>4cWm)->erCg}4BPxMGGeXvHJejevq;?>t)lo&{f zgdHEzN1Z!%F|F#b52RSPKzX)63Hx<Ax)H&s_W2?A;SuB31;C{ z&BfM9=jsd={PatFua%EhS&0yW-xGH;nA>4m?&3<}##IrX7VC|TIt#A+BobPzWM)|- zkdqVwXnr%H>~CZk$Ej*-B_&T86SXqhZ(v&?=v<4MZGKrjB?@AFjS6tc|F8PYg7q~l zAZx7KZ0nA$yOqU!BXum$SnRMN&)dp7$R8a3&XxWi{ho!w*_CYIPaz7n`>%&jl>|jn z8@_OGl_W}gwLmi88$OTlbp?25i7NvD%mA4&N>m= zyt+rV9AHd#th|d((2bZm*#F6UkMN=gt-0we3E6W09BepY3`l+#BGMTk&UAa4+D`%6 zN)!O&Nf~1wXkMNN7`46N;X`?Smf70QwI8y=-*d-4jDrpvdX~2ga>-K8ID~%+PJ3z;b#u}k6(KD3M!@rQ*JNi7O)-^qVm^<)`sGNSGGt@4iif!Jr=~cut(DVq zny8`UKPKvW?_!m4;CLXS#^ zroO={x$0B+8WMwX7FnX#r9 z4b~<0xoN#`r}yiwY%TlWddIkX^xrupDeb;&Ek&NC6KipDnpTbb37FCpqb=@=rzUp( zaopi&Sff-TSOsrp>P>`bZD|^-Bhb>PVY51Y4?r3k^*s)T-21~l()4x@N}+$*qkCBg zOSIsHKg!)=Aj2Z?!>zG@!W2-%f{{5-DLqI1sjvVT=6FlUcfAp@)`v?H$@eG?vqLfU z3&rp+p=FNy?%zb`boLK_G8nG;mWFt%IboI)SxLXpXT$?16jbQpcAr@xND>iirj3yr zePe+(zg{V$nTE`AL(Xj^URSd-zuATdVaNP&RDgcD_R!jwoo1qQL}{~tJ~kJzdHQi3 zgvkB9GMd!Q;h)mEGxs0imuH2Z%p`=3nvdP1`;5}G<>LaSFF2zuf0ffi?St-~iHIs%3GF%bpT7@oP+u`+V)B92HBZ?h+$MNM`(KSJh;J^W!N zH=kj!u%s0`T1LS@_!~l*;(+M98o7Y#efp(TiAU4 zi8GtQnd%La4%5Pq2n(Hv^*o)`58jHqiC_plLe}R=L>C&JVux$@tc0Gr(Wpu5{!`;@ z%uaaSyz|SIsRi$H)H`$4B)aHgdGxc+iF)BHVWN06?%pg5dR?GCgZOj35m8 zlCgC?boUgU=={JS(15C)l{&p*HzS0}vqDAzm#}^R_bYXCbc;I>@`q_BW@LW3^4wVU zt5oh`ZDc5Qfnu%X;}=H#d3sRkD0>ct7`;bKD7t#I*U5=d|5D1QA< z+@uqG@}G{0GiChhuSscGIOz`AaC;>ecOm!WTxRPstqeZTx?;NnnF5OY!J=!@_`Pak7cwl1tC^zdS{Dy*RBC8bIpSxKBQ^C&o~I zk7O->AE|loLUQR(%^Q89t_S*Mh#U`zds<<;Rke@Dc`h3!{PWmd%T^=F(8gCO&>;s~8<$*oMju4xH3x1M`H7=J2fFG||E-mB3|C^4ewazootb92^ZtX|K_!(*Zbw3y0$hMB&q~qs5E&iW6_s=4A`a||D zknYSLNPy4MrPuYOMb;XoKvq1oJY`m#i z9e(4xJtjOZc7;h>t6s>CGMS6v-5p93Dw@FS@Y;Jne6?UyO`JlO+6s7oy z95p8@k1Q>#M~r3D#gyNyH_;TujEv{jeiVzBd#Qcu&Kc~;^tAD}{Md+t>WC_mrf>W? zvXmbbVxXHlUq)mW1<4Yl#oVO4wY2Ctcvd@i)VN0yd@EA*#rfT(qh;E$wju{7d{zVg z_5GU^dYaqJsNXN^AC;SjRd$js>OU=J$4T6FN|9WGPwdt4wlIZob@nz})m?P$#@3+I z*-lUq6$UI=)bCv(^GGFY_!)^H8>vExT!F^1a&*t@b;Z>v9D*#L&BaaTDs*kvH%~HDf36WUG6LxWlu?t(AP(#|kdpdo+5s>LvoO9?W5o2m&uJpY%q z8(Uato_}e+gEfj9`*V=Ij`w{D4fZ_a4zS25eh|CcdB#ovYJ_^V!a`SS_g5t6bKGg3 z%4>~Yki+N5k9Rhct}c5Mtou8X9dlE(UkunNLuC>W0w}@1dr0n#-0$?)NNRHPM$O6aju$Tz?nT_I|TxlaRY@o5a5o z>)#FRU-+>x*ur-p;(sG+W#mLNpLg2C`b8&0Z$F8rOJse#LmkJE?lP6i&KCi|FivoO zh3?FVE#LMztE$3|8CwDs#QpVB=erDl5EV&Go3eYbq(P=*iP*u{(TkrOe@G=t*Y9le z)&c`^b`|G1AUIX5Gc|g?Y^h;sOA!$vV+7I5S|EBi>|wFyXn)5m2ZZOL63L}Gc~n*qg>h< zUlWi$w#&Xcq}nObhT}bq=9`yc2H>~bVZRHXln;+a1$smdO*WOgTO9uiZ5I2S6H+9E|*N+;Y zMw^5c0dWZ6Pj18-Iqz!yPgynO^_679-ny?3oc~B(@Vl~lS=Ju2hsv zbRhUn9y}5P7~%m`r0(h$`Ll0WlX4U!u~n$6m*$;Ymu@94fr%augE-|UJkr>nMpkSs z7aEmA`5WY46q~SXh2F9L_UYwOzeuj87P<9AyzEnWFdnuwc(=t=t_`FuKv1wjjb(kM z$R}Ky(`Drfq=t6h{?@h85ycowvS^iw%C*1Bc|88Bh^)eu(T|gZFE8-@z27n0>WrS~rxTtPU_GZKct4w%<0uUZ(jTr;;qYqCx&F4&Hk1g<)k&M0Vm zm9FLJTyrvhv3Y*P=T4pVXL^MyshsZo%Y2Brjsauw4+1{O*1R6me^j1F|F94SOiwP& zc`_nLLlfu-Qt*6=DETwWl7l;i%1E8c$RuMZl;>C^+& zYgy|~?S638k;EBuf5CWI2rQ3%3gxqQC<-4`WEL09A%GOzk*s2tM8NT*q3a=c)o52i<{eChk+*z&s?jlP&^ zdtLny4KMI9g9keX&VaJ6K>^mkya_Ee$#8R(Th{4Faz~Xw%wS-)MjD1G#4tGGi)@J; z8mE%2wdWP%(kXOC7x&ZYeyvbmWx|;)+fi=&RKP2iL2iO5E+4at1uvRG*HaqAd6D9x z_FJZI$olrsE#>L}sbY^eUL^4ktX=8y(AbgQBiMqn>9qW7&(`|Ui%p-1_rV zdwbi3lJ#-v11O@bgIWzlLNn*0pY?ZC6&zo$6o@Sn>(e4;?zfMwf~av^cjFtjz*RyDGH zyWGZ=$+twdMi5&~lU8bx8Lvh+Q|Gsa7Kpn{oJ01vouj+Z+M#jh9D0-&TX9?YOxN9n zFep-AcsAR<^aWF&o!P?(JE^5~!l6Q4us49lFIuNvSxg`1ZGeh)nTioD&wE9Ok)D1u zMJCCyRHb{9LiD8DyTH|gRMQN4hoo!7ij3Jl7ja;I30H8DHzF$l3%jmXQE`Yqg>QJ~ z6I9QfH$GTjtEXHjeM!Dk!i-;8P~z4nI{3Be`ziY0CM{kXg@r0jp5)2Ir_}+iwkf3U zKM}HG5j~AVVl*r}t8}8fx9RQZuz~vK%Db}t&j-#QoOmYQ<;Vh*L8)V9XD~Clp|aMJ zgQmKMN4x`!WVh5CeIrk)oU*Ajfd?*cvwKfjw8b#lJyIg5^%6ncl=drIr&mS8#`Aj z(x;D}X<1n+T!>=brB$H#gVqX>9|!fRRiH=#`GDB zhG!XD3Yqb=zc!>Ie=1l!88I#xm$NCYJdGF?2Q^k}(6T#>pq%nDaDXBlCT9#=BH7&J zvPM%^8O=jR&HMkS3I1J9@=r<2SL{}L3Yl4ZDvh8dx90O;#&Ab2iIWN0wOdGXc*Bu2 zAL#}D|0!zkt}5yCx)%E6b9OrtZg+$La%s7{hAkkbuFeFzb24ME zH8SolTGK3nC9pDBcw;&fo+?1fb2R^bq`8IR-RQq-Fn_~U1Kyv{7X2M;$u+HC9?N$m@!glrNW+u5kKti zN}nT!#e*kT!7*zBCcEe#V>JADUbkBYgWwKlaJp_Q@nhN0&{6~i2HQ;4FcyzvRufr< z#~Z@ZR5Qd^^6@Jtn*<6U!k={zfPfeO9SM*&6SN8?q6n!rQ zBHlAH?sdtmnTVmb_@c2ZpbrtmND_I(?08=M7D_kV6&Y!>`$o^b^~+!bFU1v=o~%`5 zE^;{!r*52l8r+C$BO}k+7tN>|SSkDlJ2lE-6duv2k*J~!j;I?Kw$ImOC2M1PcNqSo6?hS zqgXc*X{eL5i9b`+&e{x-KZ0KLm3Zm)-(&kuXv3JRZ`wOb$8`Q;?I>bk-W`M)YHu!I ze6bkNP<(#N4gNhtX;5!`QO`A(>y#d5M8Kaeen{T!^rN>xX=|3G(Y7dwI9+CxSQ$>cFV^eJD|zb*p! zhT!%?d&#}Q!*NhN9d1%5*4d0CX#Zw6|A%``nfVVzEl$mmq|{usT(w3!O5BFOW!@s0 zjc!`s7QgZjZ3@`oWUgx^G(jurrhNbDwsxM9O;BiJFzMv>`~f)F^J??olA(Q)5M7F& zj(fttyRSg3K4%2V#tC{p|*_E-ql2uv*jU65hNS3YaRKSB>40D zmxH4BYsx3p?p17!V2nN2d~32*9P&wyFvb~Ff7oH+GBUh9Y5}-1JiP6ur>`kLS|x90 zI*&*g+RQ#w6dWs3)*Gu8E}c>&yjOvW+?m%+SYd})7^{iq1@cKDr*f>ewEfe;=CH^~ z{1o?9VyzGzag33SQD){srKSrZB`kYd}Emo6T0z- ztT`4Fa|8Z%!Bow^o3#hfGndtHgmh8x>VG#yQ+X~7P}%WGo!3N)aMzd8Jv2OMNtV-% zR=G-PSQpM#s7p3!7DebOF)s>xWR|rM;m(vr(pBnWy;>Iz-ZJ#nM$&3kQl;s=G8Rtg z{fcxQ=!jGcF>_W*h~FmmCl{2O9F8=wBo6Jd9WJOm(y~8x$E_CLKcanNU9F6v2nz9`T#orP(8nYO-na`@nN%Yj3+M7J<#a zsgi-IVMWAPl}A*o0gkqgHsda%l7WL^QG^|jOO8humE-h4?4nXst1eE9P7C8MuhP2X zMnQxSk4w5o3)P~XX-JbA)}!?<$S#@ca&F*#5fJ6Aij(EBAhFmVS$UnPTg^OKIO zC0BJIIn#U8R}X8-dRO;MKuWkalAwwJ?3)C^J^sLb@9@HND8(s5$kWl`#M=qic` zvfed36Ornyjl`(Jz`IGL6Kxh%8z{|u8hBdGq3do5R2_)V zd>VNvrTQp|4AK{4+9f#CmU{aYxm7KOds9mH(eRNLnqE2@mPj*!8`%Xfm!y$wFjq>? zai~fb{vS=#45S?g&F!sn2}1W+gyqmVOk$M8!v`SzmAFGh_$^sBw>H*0)<0I?M|T97 zt+uYh-@*Ss>HvpvyO`T1pQ>7ahix8Ye+M7M`^B`Q8=@kgKYuvd!A|ryBPNAc2j4i^F!ukxjt`rTc+?Td2qZ_Cu1w zvOa5p21|h=AJeCiomRn;T6tmxYO$bGp@LtRbnNmFl_m8yhc{A9wR>C z(evgQwR`eb+va)e{BpsQc5NE7WPKo2u%t5@T@Nxd0>#`BIdpzaT1(;soh#^X!q(O+ zvN?)%8RSVnsOU|I@i+qoo%0>%Y7#>@F@*pp5TKwg_DPZ}OPU}4bkjz~Vnt%ANJE3R zHhj1SE4kiEdV0<|KTYMUg@?|Un{d~DD%1XofiT^p@^>QDS025~C8CWPWRZh1X;VGB zy@sREA#K}9O(NZ#U{qT!5cL`vvz150e38Ttg7c-A@b{LO@FNE0GuRRDP;+5*&YDyd z5qZY<8F`-Q1$9zr@**qmD(N^kr-%i{`*pSGy}zT;2Rh1Z^v59Od5B!*o%x7Q)R4-= z7@@jLX7=TYYr7TXB$uJoFD>(O#kRe)EJr}*a{Q<-N&Vx^K;*%PNWh4iz?BX+_g(IfaqW}CRRH@IxSd}B*}I410b`=d`ld%7%1N4N4HMg${w z@-*U{Tn0%#-}FPxc-Sl`*zES=5Iqj_#^Ig!_kgO|9+&WL=d0Y2Y5{u9}+=`6Wv zX$kJxYmGp&$<-g?kB>N`*z?UrKKEg4IHHyCOGCWqlj4tiCLgg85`Eur-xe9p{Ln|( z;n_?l>r0E8E5SVil=Js_?8`54D7MAzjC#bV)=;aoq1W({Gj_GfpG+*sJJlp!?jV-% zk~1_B*1YvM$vd&C`nu)J67MKS6$=rvZ6GaW#-}d&7d9Tkm+MtpDM8@HJrcZ>D0oQ?iE99QDEy zY+-oZMB^BH^+lwz7 z{h_LKgJomfGfJ4*Hrh+}9sZ$}vyQ$vIHUi6o|51U>VLh@EJv0p7jl)#J!*Al-zN%J zO82@t&fkj2I1L=q5<0znI>FT!$+mw+Apfot^mUR94MMjR18@j|^(0+vj53*J6+*FV zES5m7PWciuuEGXQ`b+Ta&wA5x@s`$FKN;40)e_dTd3iQ%wOiy8R_%(Cz_K*oRCR(X z-jK2q^@EFf^^)0Gb$RW4bn&9p%h;RDy_62Sq)X+BZT^z~r1~@?*=_LU!qe3uH>*hR zd_z#}3$QGd0W-$RioSdopX0mk#_A2R-O zIOzcy3MBN2l7}|A&qTWUSOJZEIYlBf5OkY}CRx5!wcp3TyW3Q$h3sg2Mq7T_5%YPa zjv3O-pTaV{Q5Rpwr}Pwm+wz**f?`50)mIttdR(B#y*mbc%b(gY=>#w#0st zzChYQoQF{s89D9E3RCNe1})Mgxw)vtd;lc6aEIyMTlajGmKg#yOIaDuf(e__GggLM zvmeb*=Eht4?V|xDmBLC4?zyPQlj5&U*qybB>>ewqSCmLH_oSf86bP7vmzDR0uDpn; zn1MEhLF%COEQNN^o#1BwRCx|4juBWcokW1Y_?Jj0b;nf8iXz0vx8*XO%17~Xk-r?1 zLaISSk@X;X>6jIL5kfiQ!ZzPqaMEjX(z~Ofq6yhUL?bVM1yv>%aV8XTVFsL-oGM`4 z@yEt2KyHWxzERWvs=SapX%RXcX;&+kR-O^g;&!!dAg1RNRN~A0l{m-a8YVqC4xAhX zPA*n7ikHm_qU9A4PAx$G&lPaY(xn{rDBe~Q$JN0fFqFQ3z__o(G3%1_s$P&iIu%6o z_{o{dXjuC8_CsEXEs1d8Y;+>1iW89@PXF<9>Pla%Co7%4=~JyuByJH@aK%5tRMLBi zU-PV8k5#R1;IfmIRvz%Adm&Mdz2q<|a$@$=r%7vWjN4TS-nCjQ>x|pA>rP(gV4V0M z%pr-`vnTso&wAbPJT95G&_ifuU-G{a0Jpb|fi4cd->Y``Pn1~kMvk!>!sAm)ztcP2 zNiXz!*kTckDy3JXQcwM9Q~wjj07qOi`A68o`M?H}kCUef!Iq)JI!Sgq4)W zB{yzoBSGgN!D}G)vNizY6qMuLu;SC!094-l+O{G?zh&MuqF_LhkZ@XW=U-dEFyEkvLv$or-a-0^YERq^5oD(dZ?CvY>)~YGOGTU8_v+H<5-3gWXZ=s@Re$019x!eZ#fhoruZHiAVme0D%+sx(XJrG(Uz(-nku-S0W z86m&tlhu$?ztM=aGVg7Rut$-!qDYFUxLK7%d^w0zj8XeNj^`PigPV8B*21 zuAiIJz^Rab+vf%`_Q(M+r6M+N#ss*rq@e!Wx~gP$lq6e;Mpo@}UxLUwFZ@!?PgZ$1 z6x*l%?}rzE>dSZ30D<7>e=)b-2Y_gXkK+yXrzD*v#h|ZgGB>9#^>^;1H`M-F4q_Dr zgls2P)|m)5rlQ|e21&u=>qETbtMH;i0#%b(&bQdZr!&3l?#3WNcB5LyVCm*D;C&AI zVxH+XX%pR8f6HAxVAF=U^}`)-mF*5K=bzr0Xe)|R^0=&Y&atVvObDVmSG*1(xT4!& z-ZUg!&7GaDYhOrQ5?DDUqnFv(+pj>$HaR`CY$doVpS}G(U#(oCICcX%)hgB7IOYG< z)8hHos$rdTZ?zj18@V)9{=E;th_zCcG#Q?H;-tpqD=+YIv;Zwxy3)$*^b~aYti0kT z`}Yle>ht^b*<|4kf8p+X#nI7$-oa^D+YrN2hh{9LEFx6Cajk5rpQpd5Cr_5rw zT|H9t)*c1a>Fq3l@@iH4EOjb0=KWA!%s)9JdAsMgh&2!u}y7KFcuQ$8>_DiE0wY$RwWyNJC6mRRF3 zO6aQ!_~L8kFR9Y{#y{Q)R7i{E6WtS6@UZLI?-vT1;a2d`<-?o7+j8UQ)0t_{+ou!+ z#0butJ|#}^Lp{ejHV#DOYnk!r*^)#)@F+_<4Cz{DxNxjawGv%8t^bG4&YKU2ohaMz z#wIoI47J~Lm^bl{5sY z9jo4Xxc__>6Z2*q@gELd#3QHQ^A~C!tbqs3|r#$fY zn5GjpCk8{ZbeqhbkqlV6^UYll6g}BXU%+*{*k@-gz$e@1Q^gYN0FqBc#13R-mWe8b^p5Y83v89I;y zh8ByaR&e{nJ;ub2H?*Ow)O}elte7>C;=eY-q5_sPL~u zZFTEk;KRT4|6YwLtP(ZzU!)ugt@<7lshdtXsM|uE+(5=bXVqn^IPx;`GcCtz9Fl7{ zJ_)k1&kN|Rmv|5~D?JyA`LUuOlk>ZW!*hy(UEb|Y+C#ZTE&2DNPPSWtTDn`ZTHfzL z>v0zLwEeU%)osx+CH-N9!8?P}rUO)aKe7G})l;K$#}RWFlZcsCyYxl;j=_;JaLDF1 z4RN`R_*b_`#@{kKx24hrv}wBc*7+WTa+^-fcSvr!o)Q%0;`UK8#PVGG#p@`@wrc8g zaM{>`n7Ep1kIW8X4^%n1Y))#tZY34-T1_2`P=yjRvA8s}2Qn2tVPVg`&9&*=-7xPI zxP{u=Q|phpl2+pGCU5$Evsb3KSNb2rFWqTN@o#wlu^qo5ds${gg8uMX2L9Rl#Ur?NAD3$yN79unVC&wb%icagBGNuZ!u5jr+xfoyaCzoz+{LV7 z{KO3V@SI~f!)?gGc#_nuNWf|Q{qT)rDhp+()5($VP{!?5-1MKDb8WrE8N+R($ENkMWzIlb6 z*OE6bVEH~iV9!n0TFfoKY|B8+y_Jwfa3coK&}1n3k`qTNK7%P5 z#HWoHU{b^SvOz*3Hg3QbSm<;8^y9E#&u+Ybh>Z(_yk}L|_6_N9W^ap6CG$GVXJ)|v zE-CUgLtE*buQu1a)n{UWYut{$+i}ytz^sN1Wa;=7J%czpp6`kUWaY@%-QQX39qkiz zV|Ca+*pnHr$jDBfqhTt_YomR4BNshEPj_J@D!^ba%5%bgcOvJN#is1L?r$^ecQ}?D z$ZnKjpINKS%59V4(Xv2%!=v38BU3 zc?#sRUnmQ^tl}F8U+@UqtR8vaHf~*~oV0nL-UnP){nNuf+=tw(pV065%(4BsE8Y5! zKyfRkCF=uwGw@~DJNzVQo75_1KxpD;9Kqx=+?B8y$EL;5hxZbpNvHJ?mUj!G)$WGX zdemcfJ>eD4o>b>!OuX|+OwdjPHU=vj!vG%bZx@S^%hrlwXzldIz04%M*5>`Movr&+ z2HLLlHEb*Y5zB)HV`=kteJALPK~>?S{xdjXX!@1b7AxXO+{HMm?= z(ckn|wcJGM8toldiMiN6$dcrBLDgm(Mrltt{;9O`+WoVF)M@#^@RYE^w@Yog6&|1c z&I}TIHT0i9zq*-mQ}iFtHudkzzPOQd^OTy){v;UB;=;*;bP0&Vi|R^meE<002!1v* zfZaGh6jZg>{~t_&{{IbA&~!F8aW^rww@|lm^RRdSZt;Jy_^bVq{57Poy)+-kJJUy~ zp~b;p;&#v}cd$c3#}Z(X=%D4Gu&~0-!Ny6E8A$2FzS{wX-ms~7YSa-?$dM8M{gZyy zw72J0R-Sd8wRg1FbmTG_Y4-3rZ7Px_ymwz6#RmpxXls9Vv{$s3?xBc@)ssU>j|BvF z%5neNj-?ux!=XQNo*kD9P5w&Hl3jIZjz(|Swk9Zcu;_Mapgg&^@2||dy-$#B02z_W zHW=SvRf{B-jzr7uNFipO8#oAr;A=Ziq-M6t6KKDhfLp`HmVQN@4g76y4GtGHA|QVD z%Vl-kzfw}HA7OLEZ?WFh>Tu4=u~Wj!8vL8RUK1(w#tvF9k7QYYQxH?c^jc}FW}e-s zuwID8UYmbv#(Z>kt);u1lguKwj9_wi5esUmoN=!YLBY5V^{j|I-u-rXi%CGXcx}mg zzPpd5xknHmHSB%7k$qktZgUjr!JajYM=Z2rr_d59m#b=UzNoO<;MNe2;5*Bfi~V}> zOv3Iq@NA=;yR)yIR@S4ncebl*C|nvHVjx%?Cciu3pX*irs#M|q?TuHn^DAg~eJ)$L zZ)D6x(C|%}p!RySdz7W|yvGU)G&gV-*gC2g7@nkh3x5|lXL*Ca)HN|eo)j5*Ng6J@ zYY0M)eu`%uxDtpkbHD1CejoX92_R_4z>yPmrF`a3+)t)S8dy{@{NjH|HI`?1{E;Mk z+lDe?gd^AOO!=%&HL_(W`;jPnTY@s89ZB;kd|KS&X>!fxH!E}g5Iedef9I4%6S)wC z-4WnN^J{BGB5-O1Bk-o^Nsi!C>HOpO7-Be%ER8!|;!jyBYZTe?WB#KZK{mV+HcQ%K z%OiJAJkB5IG52d7Mm)u~v)6mxZW!g6j=u^p`Np_=6w@~@!pJPqhsJWv2`s``{Z2T) zr+0a*$fO5oRc^OP zI(k=-P`bGb%yJ-PI@c7*&XM4;agzAd)0BU`bI)-4O;+uiNwPOw2P1KKV{A6E32_9-By}KLt-rfJ4Jctuf5vL*xnORTevzCXV zqq(Z3tEq|^P2|RCh^~i^w}et#O{i*s8KodGZzK9tXjOr2?Bp%qVJtV?HNpL4s?#H6~S|y->~;k%C-WbZr`4rHh6mIbYv4_ zqsFpU)is9xREYh%sL-S+HnfO?xskKO)7n(NBfY{3rL5;^a17nFs%S<{l8w4-M7=y+ zbr((YB+gZ5XhF$doBl!kR`)Q=ZDGIZP0750Sj<~hLw&EAqlIr>MUiE>osEqFYPB6H zNN*abOftAyv~`qzW`^y-`+yy)(mmDTJwQe&!;u;dDbun6CeO-|ohKLL?iA7@G z=PrQE3_FWaAreJsir8UOM%VboUW#=s)GEq@<%@fVOAS>*7!F1_4$egvG>Vg^2o0MnAv zN@}^B+O}ni1|o`{-YI$QTK!Tmsp7%Y&9cxjIm9-xVe>fl830-83JQ19bc@^28kSD+ zoA(7e+79kewdjiR8HWsKHQ>5re7h^q^q7n7QC;vsjBR8?!AvkFM-= zSjichMiaApw9C3VJG#(B~sHl$FVE=iT=Jd`xsme+Dlb2BEx)|t1s zr!eshw++}teR@!~JoUVHcCRy}&Y}HoGSdE8UYUl;jhB9)hvk0{@C#pvVLFP=o@7r%i z@>Uuh`En2`)kp(+c@E1fu|d-=b55>1FiodVqX=h*2{pDg%>2aMIv0bDnAl7RRVa!e zf4E7%%A19F8oAhsOK!yR^bo*$bw~=ah>5i&AI>VhY%yCWT=Pwx(kRV>)ZYmlzXosEMa?oRI zYM`3hSoSFlN&DI!Vk)t4H|?&(7tnn3Q6ztko(VUrj%b*~o8!o{yG`WcpXuX!G!YSN zec-W|Al;EvB8Ax$T4niLESE1Y>q=4ts&|xjh7Xx?#QF0OdP_X`!EZ+);&{RC+U(n} z+w5B?T<@FF?warK}ek;Kh-Ij3*nm;!&*}Rwi23+B#7Pr#iLPJXFojHJ#|ZR|_3z zWI%x9PC&{~FVaa_3D0Gm^m>lGp>nw?L@%@uWjL1hRNS=*=YzkY^g1R{P~bc^aSkS) z8?c1$3{7Djb#g)0=RTS@aBnYSgOu$5;r|O}WL6niC%g2X&Luk)I@$*G>&M(YnG|Vq zx-vrwJA^>IFTA!a4uz;oCxtZvEp`x3XSD4shgq*3(+JIKpI{@4LpgS|4nv!=0tbv} zim@oiq$}J89SB6gv|54FJvCx(MuX5DYf`n1@~st(3P@fx1-hGdN^Xx-TKr8m4f!L> zt;gmh3kjU4gn0~wCaz1IUiGAVxZWJCFN5M!Dp+L}Y%LPBBI>`keHI6$4N4hlM^e~d zP_uKW>e~-A6#_RU^%TX?zSf-9;&6IgYVF#gPF8f`0mHvT3M9<;Kdds^T2*OY;8n4Y z;O&B+9rVL(hjQZH`*{Zi8LBFOf&?xfhe3S)5X8ABp?J-zX2dYsHvrWl)a z5Z7aPhffrO37VeQAs@jpr>Cfn@`2ur&_jHp+$oI= zx0p_jvfXjQ_ryQkF2#(pjkSyS7&Lp^dIIu9G~7??n&p_3uTb*DG<NW8bP zG_dV`t6tA!1$>Hh>&@We3jewuODDV^syzD`&Vx$qP+ynCUzd^l`qeOO!>Djv{B|jw zX74*miQNy0#ARBQc7YNHNt5D5fsjsRW$LBOdD@lGuMaaY)C zxQ$Lxq1HtHU{IGoujQ_Gb+>OC=?_<|^KKFLhC<6F#h!ds!dWo5pLs;7^ zR+qLeZT7i69%QX{YBwJI$(Nhn?O+>~xGt%8o@67f8K-IO*~}S_xJ7>M=sZR(U0Vf8 z%f_e-g2r*TaJ=6nElz#~QyeuC`Vyz79l2xrRm;%&q;01qUE>fHa2XOd!SZ;ey1xoG zQEUvx%WWbqxE$$xJ?hxiDLveTvGzCDoLjiBCu$pI9pf)*Q6t(YtZKz^qVk;5&J7LL zv}{ob528zAAEPOMcNkxucrZ@%S21NhNF?5|)PsKH#_VibV|ay%kMPM*=;b;$dpC{( z@Vmng$y@6({4TbU*{Nq}iOXX3512~b@m=)p3)SRp1g@kPV`>8cW^t6a?C+EYsk~(t`v!@Vo3p1NOleN9!phJHQ zN;P5v7gKBd`@}dK)S1m&c2h?>8o4`y2jAE%V}XS|*G?=okVZK3+Q#uSgEo|owj`lL z5Ao6SnlK|LsD_jy+0m5S-Xhw2dijsYSqqr9Ygfw386dmj>X+9N`Fpy`ZmDf^F%Mq( zij+2T`-3#Y2uDQa!mVG^+03Z$XQebp>pTM2g88`~#?lOFoRm&{5tOc%OFnCeTSL8j zZqFhq?J)gQE1Kk-3PKp;nOLcxsxPPZ=4$l?;kWD=*i&h7@S8(xpQrAg{pt(BZ{PZ--nq9$U=9Cv-97wQ zAb&;h<8C||!lFfv+r>bj6cH)}NB6JB+Pb|nRCgk`K5iF<_V=B3zB&IZ-=zXtDcuEoW>mmZ+L^>dW-~^D0 zZPN~1rITkR1)88OYc!14pX5%`*A+eQbc&EzU)|H4o%r+g!p|VTB+hB1h&Ps`hTxKW z87FrO%n0S05{Nb)q@JD0e1RtguxGdllwy*356=QQ9Bf8n!yT2 z$_GN;?UqEZ0tum`3E!KdozrM=ao&&Yg-JMWsJn7_<_*+TXiPgCC6P@Ht zk@l{%m#{?HIIlI9_=wtlN7tQ#gvq@J85 zZ6Y#=f7EebeI^)Fw0D0SZ48Syo#~PPPMWrOVW#k!Pm`ZBH0# zvG5drEB-Cgc-h;^zLuFl^x>xIwDX)XR8}o-|f5}&$anS@!7 z(0pLk7_@26lnKbK#9%ae(v~!jy%hGeN<`rw0)3)pTARd_ z8TX`}+X$VC!&Dr?VxmH(+~)V2#QkYCGY(ig2&Nqpmtl=is(-z&gH;#+y-W%NOH6(E z@dX?gNM@HI&@mMUp`S;*KYzmeXq`lTj3-?DK!xR>-c32Nj*zxjqAzb9w6j>+8!Q_T z_4CpGfMMmQD9+ayHLFs}?U}CZKdYfriIK)7d%kIZa*CjSPYrv_lldyU3Ok4LJs<)i?lYNP#%bDg<_`QW$c4&3$neCZhL3qL>GxL_PV27+WBNt-NB<5pTJ02q;v4fz`f~9#1|G^P_=mC(Kbz zl-(IbT&>Dj47a{Au(Yb<5}-52PsU9=px z`kY|dJ_XsYq-$fiSXrvJRG@b?OAF-Lk00_oN#KC3a(ox&3gUiw$Td&jA~v&l7Od3F=FVb#co9UHs%$AT z6gbx^TM3bykpZke4OhW~{55yve^g2D`x1GxcL%k7iL)( zm0BtyUcz-ljjkhN@k`zujv+|yJraS81^6mKf5luqxhryETq#3QZzDHv+G31(-R}ZW zCXh8VWZLkDu1w^fO@+8E+0j#@Fg#PxuH{mJYcPR>{O^Km@`qLP3Zu!}0$K!NoC|kZ zGIANQAWplPU367LQOa6Lbovb7xb|AGuLwTesbZ-hRx>Ous~P*T=Oc&uaSz@$GL+kQ zg1z28L}&GQDG6QuQTDb_t=WMUpWb8G=RPydo+-D}JefXE7ki5N$j@XN;Zv{7WVU4O z&&Za_FAj1h`Qx7Go?a&b-X&P1GUZQ9s9L9Jy4#k))E>EnvzlI~!XF}z=`TcB%K_h$ z?<=OI&pMMUo2PUcrGifDU`ST}r!J!47Q{Ks7Cb-W)sHEJZA5E(rl0ekg0D?}kT9)1 zA&C-jjFK*gyCVMG&rp@F)Yqew)^P=7wtzj%iH=?fO)Z=Uid-R_C7^7pP&a3UM~oRH zB;`#%dL<%_VYNmG1&rT6Rca!ZM!*}?-a*n;-&agi*ZvbB7AAdUipCqxw`M8kZDp#)Qsi1P?eo|hx2X+w3)yeI) z2XYS$9!DuarZC!zGVQtuz6o?hw_UG5CVK_kG=O)-(7#qy=b8bSxjvewa^DC;meyVw zW0o+gOo#QQbPuy<0P%X=*l^F9Ye~$V`7f3p1Xu64o2kHencx8X>E~qu7*37RooSr3XJlZ}ZK!<~Ugfy)gl{=te1Ci@4H8@Wn z8NCc3H~c2LB%r)}M)6QY@=#1l#wQ~84Ntw)EHRrKn!Ham{jl6{%`!LTludM$)(XrI za#L^0Bijp^{Lw2X^W1Gptz9k*aW{-@o2XkE?|VP^MvPh(L7(Zd!SrMsA-VapAUNtF z)jQSbfF*(;4{oghDhKgfpmP$SaulI+1W`E(P#FxlM)GW8cvr^EXlidj^G2RJP42Ov zn|ZNQ2%%F7x*G11As493Zek}1P*Xf$QxGUA5_p-sb6I@p<(l-F?n;7BnTckW;92;r z=f{^o!@XFD=2D z)1AXRxiNztTP_`KnLJoQ!c^7$lV~!eWMQMW+59ujIxEmV=*}+KJYd#3tDw1NN;txu z``AIBj~K*?8@MGHNJknd4_=fXo@o;`{4Sp&^VB+=MRBT;zWG-G*_2%K`GHMVfu(X_ zO6-Pt;zj4XR=W0M%a|)P@GEgXy8$i!G1kjD+ZU#s`de+-Zj6GuPt+_d^Y@*Fal9>~ zeAPZ=MJel6^%Ps#=!xR35QU_r>y!RIX<7 zop-9+MI(bq1()yxONx z;eC7@VBW)vGaTlO`eD4d_+C-u#8%|QFciQU3TO`nyo3T0LIHF7LZyL}L69960AI4% zztR<6O9MCZHy|{VA#iBGm};M9MfX8rfCvT1CuKPFS=G~{;-W)*sBBIk>s{f*1AI9D zo?)X%Pq1Te$ssn!-A3gDRO{q{5IyBTp(B6Tu+ykR0m}?pC&$7NF~khKzgSVz1a&Lk zM8FpI8UQ*CMx-=ZDND3snpCX{It@G&P{i=FsXJvrRNr$RlWcY`Sy@}U zV%Z%y?N~TG>R^>9Ls_tG^0MR0q39kFHjU9bwSJs!(=~l7rus;}3r^C$$*nkI!5hd^~5^zII%K>vl z2w(EagnCLQgM_%V0oi2zZjB+T40zfkniPsN8js=(yuYOGH<%3X$oLDEau6lGQ?tNN^ zg51Aq5U5glezL6q^CQ?M>~^$DG9v$puR`bpCfgR0dH^RH=7f5C4Ie_^!y@`Z5S?ud+7EzGTL8^VUax)t{qPby<^xR2t)Yo zecgj~c3k^Rj!oOfr0FkxunQ9`2AJEc5`9)-IXC?@1MjQM_oCtUa1C>N%$^y2>1vmv z%;Tc!-Wm0C(^?tB@hT&YZ8u{KWPDFI{odS$?%;;*HW#NiUzKaWaSNsitQzEeR%@2=*){?nLyMuUXwkL>}zV^$^oBzE$ zi$Ze_q)L{YB7x%X4+K2r{21RvgcmNAc*pVW5T`P8YMKfMw6zoUQ^HW6(W*Bh`5Pz6goevx3`07}luLbb>D?k(WKuK07 z-!ydgL=@?cp3q+Tz_aP*xAt`pxrtRN%P7&xj0y{)!LPU)@fAy&-82Bgzp~PbEDq;n zs2_7E9FvO})kadd=M0Z znuN`XK}&yf&TYd8ng%j5f+(}_-&EToo3-<`#(qysGv!ER5vG)?w*ayJt_fzJhQMca zPww&hS{>figH3^Jx#YvQlx0n<@uLQkq1E`dlmoAC)n$HO!Z`VOWRjMJvHLpvvIt7W4@loyjt- z5e3=8?WL3x!)Q}}_8o>Ji-%mF6 z2o&wQH=;fU24H;)+*cLgv~nQ(s-}i=hW3ghppw3D)4=hA_ZEAKU~Er1u~qu5SDm-| zfft%2(^Rm*d)m(&%CLcv*^v45s2*!s7bNf!9TYOc^;wZwbiMC=ov6U(^u9T3SFbXE zX20@cBi38~ymfa}>jv_5chc{RskZ-&;X3d2Er^h2zejG)>nVRO$G-23)WCIlD%iy4 zB!Y)z>F5{RuAg~grH`4vgBg}cz zhH8Fwz|Ee1dTDhSg(ji}R;rybw88^fuS_3q%{F5I<4UDNvKuacxh~YQrFx(J3gn3(bxf3b>fj#7 z@ko`+*+4y8q9ogFSlj~g)Kr%Q6#$NAl~w7v>($G{if(_R>*7)Z8X1V6-cd5DSDB|h z!eEr2_hkTUS+&(_wuq~xaD2RVtWQ_#^Du-ebx9g^DAd6NOyJn^VFny{XZsbs>z6?y zo136be47TbP*jiRe>RzA2p!V_ZHclPH!&Q90fxQc0P5ve`b3YPN^^(R)(#r=LGNMI z+SCb0HaM2u3LHRd71|YRg|W+<>(z=)Mji36S`(tyY^kg9zY*_DY5Bfc(uJno5e#~? zc@`=(4oe9lP!_zwwipNw-}CbGT8iq8VD5SGKz%D5IS|H-pZ^wP8u6WjXzN{>-&)oG zDC~vtZ&@>neCB~$+YM6Q>~>0iCg@y3oJb3h$~nVl;Vc-Exni}N7obdeAQx+?pC}EG zv^ewakp7z_H>-GC!LTo_Kh)fXiEu99C9W9s@}%~v#JLaKi|bcgKB(wJ^Y(ac^^2cL zcWz+NhY_#L(jbc=r& ze?~y57!t-4HILOtt2p808uwc3gLIl;x7uJ4pXrKn^A9>LZ#tfIBQwHu95B_+fS1^w zyeq-G(rgURzkL*;tK9Qnc^TIn7HLS$W#E}CK|?dvnaR3Bs}OY>Ga6ik!K|uQb=d_% z8q8jBhX(i4J|CvNm&7$`UX50#RrzSielN?@q5DVp=r{Kd2qNKKFsfE6)%SDgZBjWXY`1 z9GHC5%dDRZS$d?YSg0;kHUzS*^h@f4s+-3gmhgw(t}1}udTchzARt?*4zqkj>M5xY z<*d8{{jhtLtB-Jegm@K39G>%OR>`1nwWf1lI1rQ}P9*z~2z?#I-q_O|bwL-OiKrfh zQGrKXPGmf;7>A8BOVLc;dsqnPk@r?)vek$_>`hzE zW9~P3b^>A@jYa;IX$JunxzR$vIlt?%UH)>~|G20tw6yl4us%%S5x=P3(~I*rIIFnL zICWO;t~{pY(reibR!uMyPr1eZm`6nboWrs5{GBE*DUdjS0v*ohKlEC59Q{|l)IdNd zhW~*Gh55#Q0s;MZq71bEi3oN7Cdpt_k_81r1A_WK|9gr52Zr>Y5+cT~<|6KvD&|g( zF8_%k4O824z*R@nA1Cn5ojg{dbT5P+ECjcsoKXU>Bgp4;l%jFkr?4eD;ctywkXVjQ z$8O!D5+O0(f*giv(5TQVOCm+}p;rnH@D>a}5>t4>sQ{3H(D2Ff24M|Z65C?O8^WD|4NF5d4pnT$D!jz&k`LJ~=zjP~5k28g~ zFTUq;NhjKJti#zkL?R}0e;XsVhXQ#btEcyJd)W8Uw|%YiEJekqh;Qkk<9B_xJ4&(?yK{A! zKJ%*IS`+OCy>dd=F#lZ51PFo|6I@~-xojeH13e8DxuZC3$!IN0Z296x9sGj#mQ|IF z;FS=h1hs3}-i4gP%Yx7Plaqdh)}?DPc9MjlYaR}_vGa{mu2h`M#GKfd?eS^0s%Ol5 z5xMWqN*A}Y_&9WKiSTb;37)b$Jp5;S`r*5_*Ojg-UEUt|iX+q>>IT6T=9m;7xW;Md zs>bJ9gc`AWWZ5SdZ8@*^9y~}HnRNN8BDR8M<02tS>Mdyq)5MxY1K!#rHiI%$<>4MW z%Uve8f->3hW~nNw3#y>sT0$D*xFUyqyC_pd@hlkFWnZ3$l`rtmm8{wo`XqQcnq@mLfK!FydweTux4(EySSHrbj7R}L#EanfjPhZg*^c8 zO8QBu6oP&+3YtnIJ+kP-S9-Q+b}p>GhZ zFD=_$gkoFBHOF61PBlh9>2h-NhPf5e-xX2RY~9JPBuKf*rX`59J2FN0Z|pG37i8B9 zY3DGVw!0aOh;oU6Z3E4!)ia8HD69VjV2_Ekz?M)MMS%{FzXB4!;ZofD? z%NSnn5#(dXxNx&cX;gco#9?9-=pIElx{HlQBP+|^s0s6_Ab!=BUX5M|UGdDRulNc1 zjX^s0ffQ;DgHlW*}s^7d>kFj#oXMrcB-Ws?GJid@YNL`14$b5$W+6ptr^D~oD9aIw7aNxK^(*@K?Y z|CaEn^hy9#WT>>2miF)TWi#X6=d*z2?&s5ATOe#MX1D_zumTAt^kH^A%)@3ZhkXmY zf}FLRH zEfJa9-0ue>b;>}>6YVTb^x<9CIFl5enV-Idoh61|2$Gamk~3m8%c@dp14D6WQz$(4 z-oC)F)ZH^cqKdD(jg7bbG=|#!+(CeSlfg`F2oxLft~T_>%r8L_B_Oe|P(+NN+`6u@ zl^lkE?h-?DMU7Vsuu7LNKRMq>9bzggqCRGdh0%{0$cB08~y~ z)?seX1>k2vckZxA64k0+>FAwgx{If9S0w!-&Q~6HVpWV#NTw()rK*hTSVk|y^)ZIU z!;xk}B+HhSD&?ky=ezSu;5p+9)5TeH!*BedegyJ0lVP2>YZ!YrYIwh1=tqFCPubRw zW66?E3EJXT%Xjp3*gdmQvseuyJYu~;Z=Ymc2`ObGqG;IHP&%<6g49NcwSwdz7q7qP z8Gqp;D)a`4smO!9Aa9D!jivdA<|I~pC)+6kMhh4n5>rHN1WGp~`Gh?FTR)%U<%sB? z^0+sg#s8>yO_~JnZck}#%jMP~xG(}VJQv8x+fWWg<&;OXBSh#x5=Ez;Jxu2BT4xe2 zpxxdOt!-z7peXf{DWfRk9V zAQDQq6&wGm27Dm4&k5Ie>r2!S=Kmp{j7?a7|Brp7u*3ic^gX6ne3Oa&|E-;G0}9C0 z(Vo%X+tt~Q(Z(@y>&@$KHY7 zva~G3a}?iyR!ijqC`*q(o=g!XDvx72(_ydYt=9jcj47vo9wKu& z4l9qz!LflKX{IU;u4R#-I%||)|0BsPqHd|v2SreW>q~?$p1HBqua%P=4`CQGxRxxh ziSRaAoLI%ZU{VF^gYeDZo#3U;G_G@^kBc3U#peZykJm^108oZ_c%QLOmz#x5A4jw4 z!PO*Kn>Hdp`K=|RPk{Yf3oPKDX<#(d$Wjj&2#6iz->D4y|E;qBRFRgiTk0tKm;Z*N z;hsa&q=lzB@&gh-S&onxn=VOad#02K8E~x57Gn;%_O|5u&TS%%NJCrYqJ-_Jq<9TS z?Gv~R3Y?Ozu8qH1ZGw(p>#B|Im9_7tpwF93AZzyqlGYqC-f1_h>)9@E|KA+m6uz(i z@&pjAP(?PjBLddz)`P7MMNx$3=+l6O%jSJxcm+R6Hbfh%5z(SQbygDc?yZS}IDHW} zITt)C{Hz2Rn}SS7$nXr?rh~0sPI>IR%42OaFtOr#s@RperUkR3!LYA?@dt+=D_N#_ST)OH0NB}z!$ zTs-^*relb;cwQ32EbkM5)A1s24K_jK8O0ec3Js?10&1t4)#Bc~$yXyHY$=4X5SUB) z1uLdqtX0$~BN1U?CLE}7ltL>*S+=C*V&JL{O$d{us)^N+F{hRA-F%^yY%?mqB#@;h zCAQQat)Rjhzgm!1=2cnyaexxrx&YQW^jP;}K9giFttl{nk48d-m>_=z#b43K^3f2V zo2q>HK_L}k?+pO_8%3`Smkz!hTzE>};ITOUN##NV!Bw?Psne z?II!TLcHG_^C;?07BcK;vbr`=2yhh8Qc4L`1yL6u|r}RPlLM&)86w_V`LFCAh zzmYrB=F;*SezZaDikHWy7Vwk|;6YQM_!v61ElszW|FGV`i+NGGT>IwexulustWpn> zf7~k5JR>tT=?T(ZFNpxJ$>O8s;?(_|<&J_TDM%7Cl#E5FLDPUJ_MZ#@$%vg~Hg%Hy z&et#ZrX&)ZaS5fjg}w$lSf@p^p9KcccY7K)%@J>EcI1~V8Ou{I=$3~Wh7b9TKFw{; z9I*y@#G)Uvollvvxcu1VMMYgs4|++V361Y5Q7#%gQy~_TgL|Y4Sy4n0EPPn=c-#NV z!8{T)<0ir+Rt-ym>{UFkoBNqR=lIhwVXB6WrJ%)=8g;m$DX~b8jDZrToVzze0B(T` z9xFKsIJn@DRWv%xcZvAq5iycth@w%8ZJEQB=VUN%M%0$)rBMoYu53ce*7lF}=^j!7 zOGQ)Dk_scGK)QL5Qx}+3UgMw_k(aa-9#pkfqZF8>BrSvL{>QYa<=EVn7Xc&GDCX6# z0a=fC5xO9J#v^oIgHgt-R~Co1qnwW6c*g?;R)gjv_ntzcuj3C`T1S+>m$AxPzU&3{ zC57JNvcA&3u9ljvs?rbWaWnY(^wpcPT*cNN?=X%VceZ$(NA|qCgWVQAmg9fDGJKae zvw3-cYqG7SHk_J~<^>PY@u4bzjK%LAf@(<0|Gunp?5VMJ_cwKoyM5s`?vjF7-QG>5 zrz>2EM!b6E7ic=-*se4Bv@V&5mt7#y2(TL`Y#5FgJoMr9fU$<+#j?S`ZDz`2m>wNH~h_)+-0`?KiLEGpxVi8IV;0uSIK&#Ndn4iZc2SyhWH zgZxdP(E#aYWj|0uC7^?;Y@Ui}Sp4H$+}k*R=*<8+G!PLNBkXnTE})B36XGrI%nn3j z#7fMHr(Fg-$bHq{?=y#g;YKtW@|n+%t&%~;EFdU@lz?bVo@i)9OjVL&NEY4`GI^qK z@AR=E4km^;SJN>$4hB8EvgpQgYmwCcRl#V$$-DplsIMiOfB?~j z@w;Pl)T&O16Rsoqf#$5v1Wohkp^~18({*en7*NMJ>l)t-1}Xs46xX@3O;9ZeKkar2F z>8DV$$e)*|FATwVM14dDJq+OBb;g7$ZzSYl9FD>91U?2oaIH%toU$7bd!bNN;_6?X zmRT3iARY?~T&MoPGoxF)t#NljV0
PpQ@zrdkbQQ}r-iIG>C^fgA95>Hq5tPOkO zMN^#I6CO_MoqWce#(4IaThx($bDQ1*KCw>Q)Coib!XD%n>MPK$$WEOXw69XAE)2Nh z4{=t`)W?-n4(QTkV8@->&~hJ6EaA?k2Yi@2LBp+$e;|ZwOf*C{CK*#Gg_BVWM#46R z;r7HE1xDFA5S_K9DDpy&Ge94KSMGPx%+`kik#(pP#+9OM;?*$}=E-lL!gw`gJ*!>V z&otb-KRpYOyhoN)GM1S%0Jl!cSgjq zcZOf|C@*{0FwjAH+jT8JYEgG8G5B&MxUZWM#J8ryiojIKs4%>oc0HW#v{`88AI_qV zJB+tX6RhTB9Kxz}wuKY>3uY)R`Pj9y7?ys0hnc;cb6t{aB1uJ4MlY)9+)g{&tG zOieXGwHGHlM&N7&wzRXNlIN>-XRf^ zA|7%Ds^%8HMkKE%F1jZlZe`ZnmzW{YI~W_(TROn}ap?>)<7A1(%se7M>4qAY`o_z6 zkW-Av%N?%Hlh&J#?FiL(duh37bG*oyoE>Dbjp9!;5elEfWh@5AeMab2)VLZehrpiw ziE9e3x$mqs#oL%P7m+DlwmM-Yw z)Yz7_=z3|U2XC>WCJr$#A_wAS9L?=)ZX{_PlqZJ-*nobI`${dHInl=D`gE^l;{M^I zTPxhramV|H$5pZS^haYVCN*Bkg=1!E99_3U%lk|!X`E)uyUcL@O((lb|9JmZ=Ze_} zjE=l(zU1}Fjy!4KD>ud4r3-V_J;#xy<`vCZdKc`Oz@CIg%ML3Sg zH%B$wj?FCnqCLCh;CrO_dz7{D-^tQ*h1U78hpwejpWzPMa=u)xym9*!q)T_;`8ar` zmTXA4L?(y095O;zta@cowiIB+lP|qvt&~p32es-_m+ANOniNilCRh9_%WUtbrjx_= zuC0geH*v*l=j;_+-JNyhoZSPeJX7{E4=SCr%S#DJJ148>a}Q6ICnqIYk>0TAZjm`3 zne_vPn7&3>AE_DR`foqKXcag1v^WJ1^1c#KFYGNbQytOtfEs>26N(n;q~l*D4Is(w>QIdQUCJ? zIlWe}F{aHCegvY-1U7oT=Nx=R2)|=aF_DWh7%RC^!bZO1CeaabFB_6MDmho*zm&Ln z5kpYsD+d(ZP%p#Y-*5f=yC^)N%uQmIOJI)_GHiEYl3+OmKy^R|<%^D%8Fl+ktiiYw zy=9|#>djeDJ(6IL64#@glRt9*anH{6FhN@g&|iGtk&Ai_$sOY7xUU=k`iG>M$_w?= z1QrPB4E5g`>NNk;P}ekeGqw6xHUdR=Hz#+uZx74d*#18)cNJO1At9vCHnghJz5&d> z+bD2U+&Ip-C@guoNIW*DeKi2ZD$t6D@*iyqfg;ERf_LSyjo`V=U&fw&S$SDEIo5^- zgatq~B*mh`UW_JE(rksO*|DZDOE?y6CD<*px?GgomRfXN2E#TjArD>dI@LTHjpVaB zhf=TG4ynA_IdF~i?dQ?<;gMPN%oW`RajbA?+Z2L!>{Z)>ZPo74WH9-rYqD)OGX1z} zqfxj_W&tW;SLOgs1(GFD2EYwS#>^L0YEhBG4s4{tUbo9@mQ%0APvi7=()tr#zr8da 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 + @@ -215,14 +216,19 @@ + - + id="net.sourceforge.phpeclipse.wiki.preferences.WikiProjectPreferences"/> @@ -245,12 +251,6 @@ menubarPath="additions" id="net.sourceforge.phpeclipse.wiki.actions.OpenWikiLinkEditorAction"> - - - - - + + + + + + + + + + + + + diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogEditorAction.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogEditorAction.java deleted file mode 100644 index de2aa65..0000000 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogEditorAction.java +++ /dev/null @@ -1,134 +0,0 @@ -package net.sourceforge.phpeclipse.wiki.actions; - -import java.util.ArrayList; -import java.util.List; - -import net.sourceforge.phpeclipse.wiki.blog.Configuration; -import net.sourceforge.phpeclipse.wiki.blog.MetaWeblog; -import net.sourceforge.phpeclipse.wiki.builder.CreatePageAction; -import net.sourceforge.phpeclipse.wiki.editor.WikiEditor; -import net.sourceforge.phpeclipse.wiki.preferences.Util; - -import org.eclipse.core.resources.IFile; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.text.TextSelection; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IEditorActionDelegate; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.texteditor.AbstractTextEditor; - -public final class NewPostBlogEditorAction implements IEditorActionDelegate { - // public static String APPKEY = - // "1c0c75ffffffb512ffffff9575ffffff97ffffffd2ffffff87ffffff91ffffffe41dffffffc5320cffffffab544effffffc0546459ffffff83"; - - private IWorkbenchWindow window; - - private AbstractTextEditor fEditor; - - public void dispose() { - } - - public void init(IWorkbenchWindow window) { - this.window = window; - } - - public void selectionChanged(IAction action, ISelection selection) { - if (selection.isEmpty()) { - return; - } - if (selection instanceof TextSelection) { - action.setEnabled(true); - return; - } - if (window.getActivePage() != null && window.getActivePage().getActivePart() != null) { - action.setEnabled(window.getActivePage().getActivePart().getClass().equals(WikiEditor.class)); - } - } - - public void run(IAction action) { - if (fEditor == null) { - IEditorPart targetEditor = window.getActivePage().getActiveEditor(); - if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { - fEditor = (AbstractTextEditor) targetEditor; - } - } - if (fEditor != null) { - try { - Configuration config = new Configuration("http://localhost:8080/snip/RPC2", "1", "admin", "admin"); - IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); - IFile file = ei.getFile(); - StringBuffer htmlBuffer = new StringBuffer(); - CreatePageAction.getWikiBuffer(htmlBuffer,file); - - ArrayList images = new ArrayList(); - getImages(htmlBuffer, images); - - String[] result = new String[2]; - boolean cache = config.promptForPassword(config.getUser(), "Insert Config", true, result); - if (result[0] == null || result[1] == null) { - return; - } - if (result[0].equals("") || result[1].equals("")) { - return; - } - - String title = Util.getWikiTitle(file); - if (title != null) { - MetaWeblog metaWebLog = new MetaWeblog(config); - String guid = metaWebLog.newPost(file, title, htmlBuffer, true); - System.out.println(guid); - - if (images.size() > 0) { - String fullImagePath; - String filePath = file.getLocation().toString(); - int index = filePath.lastIndexOf('/'); - if (index>=0) { - filePath = filePath.substring(0,index+1); - } - for (int i = 0; i < images.size(); i++) { - fullImagePath = filePath+"Image/"+images.get(i).toString(); - metaWebLog.publishAttachement(guid, fullImagePath, false); - } - } - } else { - MessageDialog.openError(null, "Undefined Blog Title: ", "Blog file name must end with *.wp"); - } - } catch (Exception e) { - MessageDialog.openError(null, "Exception: ", e.toString()); - e.printStackTrace(); - } - } - } - - /** - * @param content the wikitext - * @param images result List of image names - */ - private void getImages(StringBuffer content, List images) { - int startIndex = 0; - int endIndex = 0; - String imageName; - while (startIndex >= 0) { - startIndex = content.indexOf("[[Image:", startIndex); - if (startIndex >= 0) { - endIndex = content.indexOf("]]", startIndex + 8); - if (endIndex < 0) { - return; - } - imageName = content.substring(startIndex + 8, endIndex); - images.add(imageName); - startIndex += 8; - } - } - } - - public void setActiveEditor(IAction action, IEditorPart targetEditor) { - if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { - fEditor = (AbstractTextEditor) targetEditor; - } - } - -} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogHTMLAction.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogHTMLAction.java deleted file mode 100644 index fc3f721..0000000 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/NewPostBlogHTMLAction.java +++ /dev/null @@ -1,118 +0,0 @@ -package net.sourceforge.phpeclipse.wiki.actions; - -import net.sourceforge.phpeclipse.wiki.blog.Configuration; -import net.sourceforge.phpeclipse.wiki.blog.MetaWeblog; -import net.sourceforge.phpeclipse.wiki.builder.CreatePageAction; -import net.sourceforge.phpeclipse.wiki.editor.WikiEditor; -import net.sourceforge.phpeclipse.wiki.preferences.Util; -import net.sourceforge.phpeclipse.wiki.renderer.IContentRenderer; -import net.sourceforge.phpeclipse.wiki.renderer.RendererFactory; - -import org.eclipse.core.resources.IFile; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.text.TextSelection; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.ui.IEditorActionDelegate; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IFileEditorInput; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.texteditor.AbstractTextEditor; - -public final class NewPostBlogHTMLAction implements IEditorActionDelegate { - // public static String APPKEY = - // "1c0c75ffffffb512ffffff9575ffffff97ffffffd2ffffff87ffffff91ffffffe41dffffffc5320cffffffab544effffffc0546459ffffff83"; - - private IWorkbenchWindow window; - - private AbstractTextEditor fEditor; - - public void dispose() { - } - - public void init(IWorkbenchWindow window) { - this.window = window; - } - - public void selectionChanged(IAction action, ISelection selection) { - if (selection.isEmpty()) { - return; - } - if (selection instanceof TextSelection) { - action.setEnabled(true); - return; - } - if (window.getActivePage() != null && window.getActivePage().getActivePart() != null) { - action.setEnabled(window.getActivePage().getActivePart().getClass().equals(WikiEditor.class)); - } - } - - public void run(IAction action) { - if (fEditor == null) { - IEditorPart targetEditor = window.getActivePage().getActiveEditor(); - if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { - fEditor = (AbstractTextEditor) targetEditor; - } - } - if (fEditor != null) { - try { - Configuration config = new Configuration("http://localhost:8080/blog/default", "1", "root", "******"); - IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); - IFile file = ei.getFile(); - IContentRenderer renderer = RendererFactory.createContentRenderer(file.getProject()); - StringBuffer htmlBuffer = new StringBuffer(); - CreatePageAction.convertWikiBuffer(null, htmlBuffer, file, renderer, false); - - String[] result = new String[2]; - boolean cache = config.promptForPassword(config.getUser(), "Insert Config", true, result); - if (result[0] == null || result[1] == null) { - return; - } - if (result[0].equals("") || result[1].equals("") ) { - return; - } - - String title = Util.getWikiTitle(file); - if (title != null) { - MetaWeblog metaWebLog = new MetaWeblog(config); - String guid = metaWebLog.newPost(file, title, htmlBuffer, true); - System.out.println(guid); - } else { - MessageDialog.openError(null, "Undefined Blog Title: ", "Blog file name must end with *.wp"); - } - } catch (Exception e) { - MessageDialog.openError(null, "Exception: ", e.toString()); - e.printStackTrace(); - } - // try { - // IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); - // IFile file = ei.getFile(); - // IContentRenderer renderer = RendererFactory.createContentRenderer(file.getProject()); - // StringBuffer htmlBuffer = new StringBuffer(); - // CreatePageAction.convertWikiBuffer(htmlBuffer, file, renderer, false); - // XmlRpcClientLite xmlrpc = new XmlRpcClientLite("http://www.plog4u.de/xmlrpc.php"); - // Vector rpcParams = new Vector(); - // rpcParams.add(APPKEY); - // rpcParams.add("1"); // blog.getBlogId()); - // rpcParams.add("admin"); - // rpcParams.add("******"); // fPassword - // rpcParams.add(htmlBuffer.toString()); //getContent()); - // rpcParams.add(Boolean.TRUE); // publish == yes - // - // String postId = (String) xmlrpc.execute("blogger.newPost", rpcParams); - // - // // return postId; - // } catch (Exception e) { - // e.printStackTrace(); - // // return null; - // } - } - } - - public void setActiveEditor(IAction action, IEditorPart targetEditor) { - if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { - fEditor = (AbstractTextEditor) targetEditor; - } - } - -} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogHTMLAction.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogHTMLAction.java new file mode 100644 index 0000000..dae6627 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogHTMLAction.java @@ -0,0 +1,156 @@ +package net.sourceforge.phpeclipse.wiki.actions.blogwiki; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import net.sourceforge.phpeclipse.wiki.blog.MetaWeblog; +import net.sourceforge.phpeclipse.wiki.builder.CreatePageAction; +import net.sourceforge.phpeclipse.wiki.editor.WikiEditor; +import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; +import net.sourceforge.phpeclipse.wiki.internal.Configuration; +import net.sourceforge.phpeclipse.wiki.internal.ConfigurationManager; +import net.sourceforge.phpeclipse.wiki.internal.IConfiguration; +import net.sourceforge.phpeclipse.wiki.preferences.Util; +import net.sourceforge.phpeclipse.wiki.renderer.IContentRenderer; +import net.sourceforge.phpeclipse.wiki.renderer.RendererFactory; + +import org.eclipse.core.resources.IFile; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.text.TextSelection; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.window.Window; +import org.eclipse.ui.IEditorActionDelegate; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.dialogs.ListSelectionDialog; +import org.eclipse.ui.internal.dialogs.ListContentProvider; +import org.eclipse.ui.texteditor.AbstractTextEditor; + +public final class NewPostBlogHTMLAction implements IEditorActionDelegate { + // public static String APPKEY = + // "1c0c75ffffffb512ffffff9575ffffff97ffffffd2ffffff87ffffff91ffffffe41dffffffc5320cffffffab544effffffc0546459ffffff83"; + + private IWorkbenchWindow window; + + private AbstractTextEditor fEditor; + + public void dispose() { + } + + public void init(IWorkbenchWindow window) { + this.window = window; + } + + public void selectionChanged(IAction action, ISelection selection) { + if (selection.isEmpty()) { + return; + } + if (selection instanceof TextSelection) { + action.setEnabled(true); + return; + } + if (window.getActivePage() != null && window.getActivePage().getActivePart() != null) { + action.setEnabled(window.getActivePage().getActivePart().getClass().equals(WikiEditor.class)); + } + } + + protected Configuration getConfiguration(){ + List allConfigsList = ConfigurationManager.getInstance().getConfigurations(); + ArrayList configsList = new ArrayList(); + for (int i = 0; i < allConfigsList.size(); i++) { + IConfiguration temp = (IConfiguration) allConfigsList.get(i); + if (temp.getType().equals(WikiEditorPlugin.BLOG_A_HTML)) { + configsList.add(temp); + } + } + Collections.sort(configsList); + Configuration configuration = null; + ListSelectionDialog listSelectionDialog = new ListSelectionDialog(WikiEditorPlugin.getDefault().getWorkbench() + .getActiveWorkbenchWindow().getShell(), configsList, new ListContentProvider(), new LabelProvider(), + "Select blog configuration for your wiki HTMl text."); + listSelectionDialog.setTitle("Multiple active configuration found"); + if (listSelectionDialog.open() == Window.OK) { + Object[] locations = listSelectionDialog.getResult(); + if (locations != null) { + for (int i = 0; i < locations.length; i++) { + configuration = (Configuration) locations[i]; + break; + } + } + } + return configuration; + } + + public void run(IAction action) { + if (fEditor == null) { + IEditorPart targetEditor = window.getActivePage().getActiveEditor(); + if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { + fEditor = (AbstractTextEditor) targetEditor; + } + } + if (fEditor != null) { + try { + Configuration config = getConfiguration(); + IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); + IFile file = ei.getFile(); + IContentRenderer renderer = RendererFactory.createContentRenderer(file.getProject()); + StringBuffer htmlBuffer = new StringBuffer(); + CreatePageAction.convertWikiBuffer(null, htmlBuffer, file, renderer, false); + + String[] result = new String[2]; + boolean cache = config.promptForPassword(config.getUser(), "Insert Config", true, result); + if (result[0] == null || result[1] == null) { + return; + } + if (result[0].equals("") || result[1].equals("") ) { + return; + } + + String title = Util.getWikiTitle(file); + if (title != null) { + MetaWeblog metaWebLog = new MetaWeblog(config); + String guid = metaWebLog.newPost(file, title, htmlBuffer, true); + System.out.println(guid); + } else { + MessageDialog.openError(null, "Undefined Blog Title: ", "Blog file name must end with *.wp"); + } + } catch (Exception e) { + MessageDialog.openError(null, "Exception: ", e.toString()); + e.printStackTrace(); + } + // try { + // IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); + // IFile file = ei.getFile(); + // IContentRenderer renderer = RendererFactory.createContentRenderer(file.getProject()); + // StringBuffer htmlBuffer = new StringBuffer(); + // CreatePageAction.convertWikiBuffer(htmlBuffer, file, renderer, false); + // XmlRpcClientLite xmlrpc = new XmlRpcClientLite("http://www.plog4u.de/xmlrpc.php"); + // Vector rpcParams = new Vector(); + // rpcParams.add(APPKEY); + // rpcParams.add("1"); // blog.getBlogId()); + // rpcParams.add("admin"); + // rpcParams.add("******"); // fPassword + // rpcParams.add(htmlBuffer.toString()); //getContent()); + // rpcParams.add(Boolean.TRUE); // publish == yes + // + // String postId = (String) xmlrpc.execute("blogger.newPost", rpcParams); + // + // // return postId; + // } catch (Exception e) { + // e.printStackTrace(); + // // return null; + // } + } + } + + public void setActiveEditor(IAction action, IEditorPart targetEditor) { + if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { + fEditor = (AbstractTextEditor) targetEditor; + } + } + +} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogWikiAction.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogWikiAction.java new file mode 100644 index 0000000..2bf1895 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/actions/blogwiki/NewPostBlogWikiAction.java @@ -0,0 +1,181 @@ +package net.sourceforge.phpeclipse.wiki.actions.blogwiki; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import net.sourceforge.phpeclipse.wiki.blog.MetaWeblog; +import net.sourceforge.phpeclipse.wiki.builder.CreatePageAction; +import net.sourceforge.phpeclipse.wiki.editor.WikiEditor; +import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; +import net.sourceforge.phpeclipse.wiki.internal.Configuration; +import net.sourceforge.phpeclipse.wiki.internal.ConfigurationManager; +import net.sourceforge.phpeclipse.wiki.internal.ConfigurationWorkingCopy; +import net.sourceforge.phpeclipse.wiki.internal.IConfiguration; +import net.sourceforge.phpeclipse.wiki.preferences.Util; + +import org.eclipse.core.resources.IFile; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.text.TextSelection; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.window.Window; +import org.eclipse.ui.IEditorActionDelegate; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IFileEditorInput; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.dialogs.ListSelectionDialog; +import org.eclipse.ui.internal.dialogs.ListContentProvider; +import org.eclipse.ui.texteditor.AbstractTextEditor; + +public final class NewPostBlogWikiAction implements IEditorActionDelegate { + // public static String APPKEY = + // "1c0c75ffffffb512ffffff9575ffffff97ffffffd2ffffff87ffffff91ffffffe41dffffffc5320cffffffab544effffffc0546459ffffff83"; + + private IWorkbenchWindow window; + + private AbstractTextEditor fEditor; + + public void dispose() { + } + + public void init(IWorkbenchWindow window) { + this.window = window; + } + + public void selectionChanged(IAction action, ISelection selection) { + if (selection.isEmpty()) { + return; + } + if (selection instanceof TextSelection) { + action.setEnabled(true); + return; + } + if (window.getActivePage() != null && window.getActivePage().getActivePart() != null) { + action.setEnabled(window.getActivePage().getActivePart().getClass().equals(WikiEditor.class)); + } + } + + protected ConfigurationWorkingCopy getConfiguration() { + List allConfigsList = ConfigurationManager.getInstance().getConfigurations(); + ArrayList configsList = new ArrayList(); + for (int i = 0; i < allConfigsList.size(); i++) { + IConfiguration temp = (IConfiguration) allConfigsList.get(i); + if (temp.getType().equals(WikiEditorPlugin.BLOG_A_WIKI)) { + configsList.add(temp); + } + } + Collections.sort(configsList); + ConfigurationWorkingCopy configuration = null; + ListSelectionDialog listSelectionDialog = new ListSelectionDialog(WikiEditorPlugin.getDefault().getWorkbench() + .getActiveWorkbenchWindow().getShell(), configsList, new ListContentProvider(), new LabelProvider(), + "Select blog configuration for your wiki text."); + listSelectionDialog.setTitle("Multiple active configuration found"); + if (listSelectionDialog.open() == Window.OK) { + Object[] locations = listSelectionDialog.getResult(); + if (locations != null) { + for (int i = 0; i < locations.length; i++) { + configuration = (ConfigurationWorkingCopy) locations[i]; + break; + } + } + } + return configuration; + } + + public void run(IAction action) { + if (fEditor == null) { + IEditorPart targetEditor = window.getActivePage().getActiveEditor(); + if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { + fEditor = (AbstractTextEditor) targetEditor; + } + } + if (fEditor != null) { + boolean cache = true; + ConfigurationWorkingCopy config = getConfiguration(); //new Configuration("http://localhost:8080/snip/RPC2", "1", "admin", + // "admin"); + try { + IFileEditorInput ei = (IFileEditorInput) fEditor.getEditorInput(); + IFile file = ei.getFile(); + StringBuffer htmlBuffer = new StringBuffer(); + CreatePageAction.getWikiBuffer(htmlBuffer, file); + + ArrayList images = new ArrayList(); + getImages(htmlBuffer, images); + + String[] result = new String[2]; + cache = config.promptForPassword(config.getUser(), "Insert Config", true, result); + if (result[0] == null || result[1] == null) { + return; + } + if (result[0].equals("") || result[1].equals("")) { + return; + } + + String title = Util.getWikiTitle(file); + if (title != null) { + config.setName(result[0]); + config.setPassword(result[1]); + MetaWeblog metaWebLog = new MetaWeblog(config); + String guid = metaWebLog.newPost(file, title, htmlBuffer, true); + System.out.println(guid); + + if (images.size() > 0) { + String fullImagePath; + String filePath = file.getLocation().toString(); + int index = filePath.lastIndexOf('/'); + if (index >= 0) { + filePath = filePath.substring(0, index + 1); + } + for (int i = 0; i < images.size(); i++) { + fullImagePath = filePath + "Image/" + images.get(i).toString(); + metaWebLog.publishAttachement(guid, fullImagePath, false); + } + } + } else { + MessageDialog.openError(null, "Undefined Blog Title: ", "Blog file name must end with *.wp"); + } + } catch (Exception e) { + MessageDialog.openError(null, "Exception: ", e.toString()); + e.printStackTrace(); + } finally { + if (!cache && config != null) { + // reset password + config.setPassword(""); + } + } + } + } + + /** + * @param content + * the wikitext + * @param images + * result List of image names + */ + private void getImages(StringBuffer content, List images) { + int startIndex = 0; + int endIndex = 0; + String imageName; + while (startIndex >= 0) { + startIndex = content.indexOf("[[Image:", startIndex); + if (startIndex >= 0) { + endIndex = content.indexOf("]]", startIndex + 8); + if (endIndex < 0) { + return; + } + imageName = content.substring(startIndex + 8, endIndex); + images.add(imageName); + startIndex += 8; + } + } + } + + public void setActiveEditor(IAction action, IEditorPart targetEditor) { + if (targetEditor != null && (targetEditor instanceof AbstractTextEditor)) { + fEditor = (AbstractTextEditor) targetEditor; + } + } + +} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/Configuration.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/Configuration.java deleted file mode 100644 index 8d8843b..0000000 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/Configuration.java +++ /dev/null @@ -1,149 +0,0 @@ -package net.sourceforge.phpeclipse.wiki.blog; - -import net.sourceforge.phpeclipse.wiki.preferences.AlternateUserValidationDialog; -import net.sourceforge.phpeclipse.wiki.preferences.UserValidationDialog; -import net.sourceforge.phpeclipse.wiki.preferences.Util; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.swt.widgets.Shell; - -public class Configuration { - String fUrl; - - String fBlogID; - - String fUser; - - String fPassword; - - public Configuration(String url, String blogId, String user, String password) { - fUrl = url; - fBlogID = blogId; - fUser = user; - fPassword = password; - } - - /** - * @return Returns the blogID. - */ - public String getBlogID() { - return fBlogID; - } - - /** - * @param blogID - * The blogID to set. - */ - public void setBlogID(String blogID) { - fBlogID = blogID; - } - - /** - * @return Returns the fPassword. - */ - public String getPassword() { - return fPassword; - } - - /** - * @param fPassword - * The fPassword to set. - */ - public void setPassword(String password) { - fPassword = password; - } - - /** - * @return Returns the url. - */ - public String getUrl() { - return fUrl; - } - - /** - * @param url - * The url to set. - */ - public void setUrl(String url) { - fUrl = url; - } - - /** - * @return Returns the fUser. - */ - public String getUser() { - return fUser; - } - - /** - * @param fUser - * The fUser to set. - */ - public void setUser(String user) { - fUser = user; - } - - public boolean isUserComplete() { - if (fUser==null || fUser.equals("")) { - return false; - } - if (fPassword==null || fPassword.equals("")) { - return false; - } - return true; - } - /** - * Special alternate prompting. Returns the fPassword. Username must be fixed. - * - * - * String passWord = Configuration.alternatePromptForPassword(config.getUser()); - * if (passWord==null||passWord.equals("")) { - * return; - * } - * config.setPassword(passWord); - */ - public String alternatePromptForPassword(final String username) { - Shell shell = Util.findShell(); - AlternateUserValidationDialog dialog = new AlternateUserValidationDialog(shell, (username == null) ? "" : username); //$NON-NLS-1$ - dialog.setUsername(username); - int result = dialog.open(); - if (result == Dialog.CANCEL) - return null; - return dialog.getPassword(); - } - - /** - * Asks the User to enter a Password. Places the results in the supplied string[]. result[0] must contain the username, result[1] - * must contain the fPassword. If the fUser canceled, both values must be zero. - * - * @param location - * the location to obtain the fPassword for - * @param username - * the username - * @param message - * a message to display to the fUser - * @param userMutable - * whether the fUser can be changed in the dialog - * @param result - * a String array of length two in which to put the result - */ - public boolean promptForPassword(final String username, final String message, final boolean userMutable, final String[] result) { - if (isUserComplete()) { - result[0] = fUser; - result[1] = fPassword; - return false; - } - Shell shell = Util.findShell(); - if (shell == null) { - return false; - } - String domain = ""; //location == null ? null : location.getLocation(); - UserValidationDialog dialog = new UserValidationDialog(shell, domain, (username == null) ? "" : username, message);//$NON-NLS-1$ - dialog.setUsernameMutable(userMutable); - dialog.open(); - result[0] = dialog.getUsername(); - result[1] = dialog.getPassword(); - return dialog.getAllowCaching(); - } - -} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/MetaWeblog.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/MetaWeblog.java index 07de445..c02c1cd 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/MetaWeblog.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/blog/MetaWeblog.java @@ -10,6 +10,8 @@ import java.util.Date; import java.util.Hashtable; import java.util.Vector; +import net.sourceforge.phpeclipse.wiki.internal.Configuration; + import org.apache.xmlrpc.XmlRpcClient; import org.apache.xmlrpc.XmlRpcException; import org.eclipse.core.resources.IFile; @@ -23,7 +25,7 @@ public class MetaWeblog { public MetaWeblog(Configuration conf) throws MalformedURLException { config = conf; - xmlrpc = new XmlRpcClient(config.getUrl()); + xmlrpc = new XmlRpcClient(config.getURL()); } public String newPost(Configuration config, IFile file, String title, StringBuffer htmlBuffer) { @@ -41,7 +43,7 @@ public class MetaWeblog { Vector params = new Vector(); String guid = null; - params.add(config.getBlogID()); + params.add(config.getId()); params.add(config.getUser()); params.add(config.getPassword()); params.add(message); @@ -76,7 +78,7 @@ public class MetaWeblog { public void publishAttachement(String snipId, String attachementFilename, boolean delete) throws TransferFilesException { Vector params = new Vector(); - params.add(config.getBlogID()); + params.add(config.getId()); params.add(config.getUser()); params.add(config.getPassword()); Hashtable message = new Hashtable(); @@ -135,7 +137,7 @@ public class MetaWeblog { boolean deleteEntry(BlogEntry entry) throws TransferFilesException { Vector params = new Vector(5); // params.add(props.getProperty("blogid", "none")); //Should be the appkey, but what use is that? - params.add(config.getBlogID()); + params.add(config.getId()); params.add(entry.getGuid()); params.add(config.getUser()); params.add(config.getPassword()); diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/LineTokenizer.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/LineTokenizer.java new file mode 100644 index 0000000..b00b8fa --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/LineTokenizer.java @@ -0,0 +1,110 @@ +/* + * Copyright 2003-2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * 2004 - modified for PHPeclipse plugins + */ +package net.sourceforge.phpeclipse.wiki.editor; + +import java.io.Reader; +import java.io.IOException; + +/** + * class to tokenize the input as lines seperated + * by \r (mac style), \r\n (dos/windows style) or \n (unix style) + * @since Ant 1.6 + */ +public class LineTokenizer { + private String lineEnd = ""; + private int pushed = -2; + private boolean includeDelims = false; + + /** + * attribute includedelims - whether to include + * the line ending with the line, or to return + * it in the posttoken + * default false + * @param includeDelims if true include /r and /n in the line + */ + + public void setIncludeDelims(boolean includeDelims) { + this.includeDelims = includeDelims; + } + + /** + * get the next line from the input + * + * @param in the input reader + * @return the line excluding /r or /n, unless includedelims is set + * @exception IOException if an error occurs reading + */ + public boolean getToken(StringBuffer line, Reader in) throws IOException { + int ch = -1; + if (pushed != -2) { + ch = pushed; + pushed = -2; + } else { + ch = in.read(); + } + if (ch == -1) { + return false; + } + + lineEnd = ""; +// StringBuffer line = new StringBuffer(); + + int state = 0; + while (ch != -1) { + if (state == 0) { + if (ch == '\r') { + state = 1; + } else if (ch == '\n') { + lineEnd = "\n"; + break; + } else { + line.append((char) ch); + } + } else { + state = 0; + if (ch == '\n') { + lineEnd = "\r\n"; + } else { + pushed = ch; + lineEnd = "\r"; + } + break; + } + ch = in.read(); + } + if (ch == -1 && state == 1) { + lineEnd = "\r"; + } + + if (includeDelims) { + line.append(lineEnd); + } + return true; + } + + /** + * @return the line ending character(s) for the current line + */ + public String getPostToken() { + if (includeDelims) { + return ""; + } + return lineEnd; + } + +} diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiCompletionProcessor.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiCompletionProcessor.java index 533e894..d5d4866 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiCompletionProcessor.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiCompletionProcessor.java @@ -15,6 +15,7 @@ import java.util.List; import net.sourceforge.phpeclipse.wiki.editor.model.WikipediaSection; import net.sourceforge.phpeclipse.wiki.editor.model.WikipediaText; +import net.sourceforge.phpeclipse.wiki.sql.WikipediaDB; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; @@ -40,11 +41,24 @@ import org.eclipse.swt.graphics.Image; public class WikiCompletionProcessor implements IContentAssistProcessor { - private static final String TEMPLATE_ICON = "icons/template.gif"; + static class StringComparator implements Comparator { + public int compare(Object o1, Object o2) { + String s1 = (String) o1; + String s2 = (String) o2; + return s1.compareTo(s2); + // return s1.toUpperCase().compareTo(s2.toUpperCase()); + } -// private static final String PREPARATION_TEMPLATE_CTX = "net.sourceforge.phpeclipse.wiki.editor.preparation"; + public boolean equals(Object o) { + // String s = (String) o; + return compare(this, o) == 0; + } + } - private static final String INGREDIENTS_TEMPLATE_CTX = "net.sourceforge.phpeclipse.wiki.editor.templates"; + private static final String TEMPLATE_ICON = "icons/template.gif"; + + // private static TreeSet TITLES_SET = null; + private static final String WIKIPEDIA_TEMPLATE_CTX = "net.sourceforge.phpeclipse.wiki.editor.templates"; private static final class ProposalComparator implements Comparator { public int compare(Object o1, Object o2) { @@ -60,6 +74,32 @@ public class WikiCompletionProcessor implements IContentAssistProcessor { fEditor = editor; } + // private static void readFile(String filename) { + // TITLES_SET = new TreeSet(new StringComparator()); + // FileReader fileReader; + // try { + // fileReader = new FileReader(filename); + // BufferedReader bufferedReader = new BufferedReader(fileReader); + // LineTokenizer lineTokenizer = new LineTokenizer(); + // StringBuffer line = new StringBuffer(1024); + // while (lineTokenizer.getToken(line, bufferedReader)) { + // if (line.length() == 0) { + // // this should not happen + // } else { + // TITLES_SET.add(line.toString()); + // line.delete(0, line.length()); + // } + // } + // bufferedReader.close(); + // } catch (FileNotFoundException e) { + // // ignore this + // // TODO DialogBox which asks the user if she/he likes to build new index? + // } catch (IOException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + // } + public ICompletionProposal[] computeCompletionProposals(ITextViewer viewer, int offset) { WikipediaSection section = fEditor.getSection(); if (section == null) @@ -72,69 +112,79 @@ public class WikiCompletionProcessor implements IContentAssistProcessor { String prefix = getPrefix(viewer, offset); Region region = new Region(offset - prefix.length(), prefix.length() + selection.getLength()); + List result = new ArrayList(); + + if (prefix.length() > 2) { + if (WikiEditorPlugin.fWikiDB == null) { + try { + WikiEditorPlugin.fWikiDB = new WikipediaDB(); + } catch (Exception ex1) { + // ex1.printStackTrace(); // could not start db + WikiEditorPlugin.fWikiDB = null; + } + } + if (WikiEditorPlugin.fWikiDB != null) { + try { + ArrayList list = WikiEditorPlugin.fWikiDB.queryPrefix(prefix); + ICompletionProposal[] titleProposals = computeTitleProposals(list, region, viewer); + result.addAll(Arrays.asList(titleProposals)); + } catch (Exception ex1) { + // ex1.printStackTrace(); // could not start db + WikiEditorPlugin.fWikiDB = null; + } + } + } + // if (TITLES_SET==null) { + // TODO make this a preference + // readFile("c:\\temp\\titles.txt"); + // } + // if (TITLES_SET.size()>0 && prefix.length()>3) { + // SortedSet subSet = TITLES_SET.subSet(prefix, prefix + '\255'); + // Iterator iter = subSet.iterator(); + // ArrayList list; + // String title; + // int maxProposals = 200; + // while (iter.hasNext()) { + // title = (String) iter.next(); + // if (title.toLowerCase().startsWith(prefix.toLowerCase())) { + // result.add(title); + // } + // if (maxProposals-- < 0) { + // break; + // } + // } + // } ICompletionProposal[] templateProposals = computeTemplateProposals(viewer, region, section, prefix); -// ICompletionProposal[] ingredientProposals = computeIngredientsProposals(viewer, region, recipe, prefix); -// ICompletionProposal[] titleProposals = computeTitleProposals(viewer, region, recipe, prefix); - List result = new ArrayList(); -// result.addAll(Arrays.asList(ingredientProposals)); + // ICompletionProposal[] ingredientProposals = computeIngredientsProposals(viewer, region, recipe, prefix); + // ICompletionProposal[] titleProposals = computeTitleProposals(viewer, region, recipe, prefix); + + // result.addAll(Arrays.asList(ingredientProposals)); result.addAll(Arrays.asList(templateProposals)); -// result.addAll(Arrays.asList(titleProposals)); + // result.addAll(Arrays.asList(titleProposals)); return (ICompletionProposal[]) result.toArray(new ICompletionProposal[result.size()]); } - private ICompletionProposal[] computeTitleProposals(ITextViewer viewer, IRegion region, WikipediaText recipe, String prefix) { - List props = new ArrayList(2); - // if (recipe.getIngredientsSection() == null) - // props.add(createTitleProposal("Zutaten:", region, viewer)); - // if (recipe.getPreparationSection() == null) - // props.add(createTitleProposal("Zubereitung:", region, viewer)); - return (ICompletionProposal[]) props.toArray(new ICompletionProposal[props.size()]); - } - - private CompletionProposal createTitleProposal(String name, IRegion region, ITextViewer viewer) { - String lineDelimiter = TextUtilities.getDefaultLineDelimiter(viewer.getDocument()); - return new CompletionProposal(name + lineDelimiter, region.getOffset(), region.getLength(), region.getOffset() + name.length() - + lineDelimiter.length(), null, name, null, null); - } - - private ICompletionProposal[] computeIngredientsProposals(ITextViewer viewer, IRegion region, WikipediaText recipe, String prefix) { - return new ICompletionProposal[0]; - // Step[] steps= recipe.getSteps(); - // if (steps == null || steps.length == 0) - // return new ICompletionProposal[0]; - // - // int offset= region.getOffset(); - // Step first= steps[0]; - // if (offset < first.getOffset()) - // return new ICompletionProposal[0]; - // - // Ingredient[] ingredients= recipe.getIngredients(); - // if (ingredients == null) - // return new ICompletionProposal[0]; - // - // prefix= prefix.toLowerCase(); - // - // ArrayList proposals= new ArrayList(); - // for (int i= 0; i < ingredients.length; i++) { - // String ingredient= ingredients[i].getName(); - // if (ingredient.toLowerCase().startsWith(prefix)) - // proposals.add(new CompletionProposal(ingredient, offset, region.getLength(), ingredient.length())); - // } - // return (ICompletionProposal[]) proposals.toArray(new ICompletionProposal[proposals.size()]); + private ICompletionProposal[] computeTitleProposals(ArrayList list, IRegion region, ITextViewer viewer) { + ICompletionProposal[] arr = new ICompletionProposal[list.size()]; + // String lineDelimiter = TextUtilities.getDefaultLineDelimiter(viewer.getDocument()); + String temp; + for (int i = 0; i < arr.length; i++) { + temp = (String) list.get(i); + arr[i] = new CompletionProposal(temp, region.getOffset(), region.getLength(), region.getOffset() + temp.length(), null, temp, + null, null); + } + return arr; } private TemplateContextType getContextType(WikipediaSection section, int offset) { -// if (recipe.getPreparationSection() != null && recipe.getPreparationSection().getOffset() < offset) -// return WikiEditorPlugin.getDefault().getContextTypeRegistry().getContextType(PREPARATION_TEMPLATE_CTX); -// else - return WikiEditorPlugin.getDefault().getContextTypeRegistry().getContextType(INGREDIENTS_TEMPLATE_CTX); + return WikiEditorPlugin.getDefault().getContextTypeRegistry().getContextType(WIKIPEDIA_TEMPLATE_CTX); } /** - * Creates a concrete template context for the given region in the document. This involves finding out which context fType is valid - * at the given location, and then creating a context of this fType. The default implementation returns a + * Creates a concrete template context for the given region in the document. This involves finding out which context fType is + * valid at the given location, and then creating a context of this fType. The default implementation returns a * DocumentTemplateContext for the context fType at the given location. * * @param viewer @@ -171,10 +221,10 @@ public class WikiCompletionProcessor implements IContentAssistProcessor { } catch (TemplateException e) { continue; } - int relevance = getRelevance(template, prefix); - if (relevance > 0) { - matches.add(new TemplateProposal(template, context, region, getImage(template), relevance)); - } + // int relevance = getRelevance(template, prefix); + // if (relevance > 0) { + matches.add(new TemplateProposal(template, context, region, getImage(template), 1)); + // } } Collections.sort(matches, fgProposalComparator); @@ -208,7 +258,7 @@ public class WikiCompletionProcessor implements IContentAssistProcessor { try { while (i > 0) { char ch = document.getChar(i - 1); - if (!Character.isLetterOrDigit(ch)) + if (!Character.isLetterOrDigit(ch) && (ch != ':') && (ch != '_')) break; i--; } diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditorPlugin.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditorPlugin.java index 6e7669b..1b3b0c1 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditorPlugin.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditorPlugin.java @@ -3,6 +3,7 @@ package net.sourceforge.phpeclipse.wiki.editor; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; +import java.sql.SQLException; import java.text.MessageFormat; import java.util.Hashtable; import java.util.List; @@ -11,6 +12,7 @@ import java.util.ResourceBundle; import net.sourceforge.phpeclipse.wiki.internal.IConfigurationWorkingCopy; import net.sourceforge.phpeclipse.wiki.internal.ConfigurationManager; +import net.sourceforge.phpeclipse.wiki.sql.WikipediaDB; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IExtension; @@ -36,15 +38,17 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; public class WikiEditorPlugin extends AbstractUIPlugin { private static WikiEditorPlugin fgPlugin; + public static final String HTTP_QUERY = "HTTP Query"; + public static final String WIKIPEDIA_GET_TEXT = "Wikipedia-Load Text"; - public static final String WEBLOG_API_SEND = "MetaWeblog API-Post"; - - public static final String[] CONFIGURATION_TYPES = { - HTTP_QUERY, - WIKIPEDIA_GET_TEXT, - WEBLOG_API_SEND - }; + + public static final String BLOG_A_WIKI = "Blog as Wiki Text"; + + public static final String BLOG_A_HTML = "Blog as HTML Text"; + + public static final String[] CONFIGURATION_TYPES = { HTTP_QUERY, WIKIPEDIA_GET_TEXT, BLOG_A_WIKI, BLOG_A_HTML }; + //image paths public static final String ICON_PATH = "icons/full/"; //$NON-NLS-1$ @@ -53,25 +57,34 @@ public class WikiEditorPlugin extends AbstractUIPlugin { public final static String HTML_OUTPUT_PATH = "__static_wiki_folder"; public final static String WIKI_TEXTS_BASE_PATH = "__wiki_texts_base_path"; - + public final static String LOCAL_TEMPLATE_FILE_NAME = "__local_template_file_name"; + public final static String EXPORT_TEMPLATE_FILE_NAME = "__export_template_file_name"; - public final static String LOCAL_CSS_URL = "__local_css_url"; + + public final static String LOCAL_CSS_URL = "__local_css_url"; + public final static String EXPORT_CSS_URL = "__export_css_url"; + public final static String PREF_STRING_CONFIGURATIONS = "configurations"; - public final static String CONFIG_MEMENTO = "" + - ""+ -"" + -"" + -"" + -"" + -"" + -""; + + public final static String CONFIG_MEMENTO = "" + + "" + + "" + + "" + + "" + + "" + + "" + + ""; + + public static WikipediaDB fWikiDB = null; + private static ConfigurationManager manager; -// -// public static final String IMG_MONITOR_ON = "monitorOn"; -// -// public static final String IMG_MONITOR_OFF = "monitorOff"; + + // + // public static final String IMG_MONITOR_ON = "monitorOn"; + // + // public static final String IMG_MONITOR_OFF = "monitorOff"; /** * Creates an image and places it in the image registry. @@ -357,8 +370,23 @@ public class WikiEditorPlugin extends AbstractUIPlugin { public static IConfigurationWorkingCopy createConfiguration() { return manager.createConfiguration(); } - + public static String[] getTypes() { return CONFIGURATION_TYPES; } + + /* + * (non-Javadoc) + * + * @see org.eclipse.core.runtime.Plugin#shutdown() + */ + public void shutdown() throws CoreException { + if (fWikiDB != null) { + try { + fWikiDB.shutdown(); + } catch (SQLException e) { + } + } + super.shutdown(); + } } \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/Configuration.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/Configuration.java index a8cf2e2..1cadc30 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/Configuration.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/Configuration.java @@ -11,6 +11,10 @@ package net.sourceforge.phpeclipse.wiki.internal; import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; +import net.sourceforge.phpeclipse.wiki.preferences.UserValidationDialog; +import net.sourceforge.phpeclipse.wiki.preferences.Util; + +import org.eclipse.swt.widgets.Shell; /** * @@ -206,4 +210,49 @@ public class Configuration implements IConfiguration, Comparable { return new String(out); } + public boolean isUserComplete() { + if (fUser==null || fUser.equals("")) { + return false; + } + if (fPassword==null || fPassword.equals("")) { + return false; + } + return true; + } + /** + * Asks the User to enter a Password. Places the results in the supplied string[]. result[0] must contain the username, result[1] + * must contain the fPassword. If the fUser canceled, both values must be zero. + * + * @param location + * the location to obtain the fPassword for + * @param username + * the username + * @param message + * a message to display to the fUser + * @param userMutable + * whether the fUser can be changed in the dialog + * @param result + * a String array of length two in which to put the result + */ + public boolean promptForPassword(final String username, final String message, final boolean userMutable, final String[] result) { + if (isUserComplete()) { + result[0] = fUser; + result[1] = fPassword; + return true; + } + Shell shell = Util.findShell(); + if (shell == null) { + return false; + } + UserValidationDialog dialog = new UserValidationDialog(shell, fUrl, (username == null) ? "" : username, message);//$NON-NLS-1$ + dialog.setUsernameMutable(userMutable); + dialog.open(); + result[0] = dialog.getUsername(); + result[1] = dialog.getPassword(); + if (dialog.getAllowCaching()) { + fUser = result[0]; + fPassword = result[1]; + } + return dialog.getAllowCaching(); + } } \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationManager.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationManager.java index 146dae7..60e0b16 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationManager.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationManager.java @@ -153,9 +153,9 @@ public class ConfigurationManager { if (children != null) { int size = children.length; for (int i = 0; i < size; i++) { - Configuration monitor = new Configuration(); - monitor.load(children[i]); - configurations.add(monitor); + Configuration configuration = new ConfigurationWorkingCopy(); + configuration.load(children[i]); + configurations.add(configuration); } } } catch (Exception e) { diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationWorkingCopy.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationWorkingCopy.java index b0cafc5..a6b5dba 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationWorkingCopy.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/internal/ConfigurationWorkingCopy.java @@ -64,15 +64,8 @@ public class ConfigurationWorkingCopy extends Configuration implements IConfigur public IConfiguration save() { ConfigurationManager mm = ConfigurationManager.getInstance(); if (configuration != null) { - //boolean restart = false; -// if (monitor.isRunning()) { -// //restart = true; -// mm.stopMonitor(monitor); -// } configuration.setInternal(this); mm.configurationChanged(configuration); - //if (restart) - // mm.startMonitor(monitor); } else { configuration = new Configuration(); configuration.setInternal(this); diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/TemplatesPreferencePage.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/TemplatesPreferencePage.java new file mode 100644 index 0000000..05f2959 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/TemplatesPreferencePage.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2000, 2004 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package net.sourceforge.phpeclipse.wiki.preferences; + +import net.sourceforge.phpeclipse.wiki.editor.WikiEditorPlugin; + +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.texteditor.templates.TemplatePreferencePage; +/** + * @see org.eclipse.jface.preference.PreferencePage + */ +public class TemplatesPreferencePage extends TemplatePreferencePage implements IWorkbenchPreferencePage { + + public TemplatesPreferencePage() { + setPreferenceStore(WikiEditorPlugin.getDefault().getPreferenceStore()); + setTemplateStore(WikiEditorPlugin.getDefault().getTemplateStore()); + setContextTypeRegistry(WikiEditorPlugin.getDefault().getContextTypeRegistry()); + } + + protected boolean isShowFormatterSetting() { + return false; + } + + + public boolean performOk() { + boolean ok= super.performOk(); + + WikiEditorPlugin.getDefault().savePluginPreferences(); + + return ok; + } +} diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/UserValidationDialog.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/UserValidationDialog.java index 50633da..5ffc1fc 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/UserValidationDialog.java +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/preferences/UserValidationDialog.java @@ -227,7 +227,7 @@ public class UserValidationDialog extends Dialog { * the parent of the widgets */ protected void createUsernameFields(Composite parent) { - new Label(parent, SWT.NONE).setText(Messages.getString("UserValidationDialog.fUser")); //$NON-NLS-1$ + new Label(parent, SWT.NONE).setText(Messages.getString("UserValidationDialog.user")); //$NON-NLS-1$ usernameField = new Text(parent, SWT.BORDER); GridData data = new GridData(GridData.FILL_HORIZONTAL); diff --git a/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/sql/WikipediaDB.java b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/sql/WikipediaDB.java new file mode 100644 index 0000000..204d563 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/sql/WikipediaDB.java @@ -0,0 +1,205 @@ +package net.sourceforge.phpeclipse.wiki.sql; + +import java.io.BufferedReader; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; + +import net.sourceforge.phpeclipse.wiki.editor.LineTokenizer; + +public class WikipediaDB { + + public static void dump(ResultSet rs) throws SQLException { + + // the order of the rows in a cursor + // are implementation dependent unless you use the SQL ORDER statement + ResultSetMetaData meta = rs.getMetaData(); + int colmax = meta.getColumnCount(); + int i; + Object o = null; + + // the result set is a cursor into the data. You can only + // point to one row at a time + // assume we are pointing to BEFORE the first row + // rs.next() points to next row and returns true + // or false if there is no next row, which breaks the loop + for (; rs.next();) { + for (i = 0; i < colmax; ++i) { + o = rs.getObject(i + 1); // Is SQL the first column is indexed + // with 1 not 0 + System.out.print(o.toString() + " "); + } + + System.out.println(" "); + } + } + + public static ArrayList getResultAsString(ResultSet rs) throws SQLException { + ArrayList list = new ArrayList(); + int maxProposals = 500; + // the order of the rows in a cursor + // are implementation dependent unless you use the SQL ORDER statement + ResultSetMetaData meta = rs.getMetaData(); + int colmax = meta.getColumnCount(); + int i; + Object o = null; + + // the result set is a cursor into the data. You can only + // point to one row at a time + // assume we are pointing to BEFORE the first row + // rs.next() points to next row and returns true + // or false if there is no next row, which breaks the loop + for (; rs.next();) { + for (i = 0; i < colmax; ++i) { + o = rs.getObject(i + 1); // Is SQL the first column is indexed + // with 1 not 0 + list.add(o.toString()); + maxProposals--; + if (maxProposals <= 0) { + return list; + } + } + } + return list; + } + + public static void main(String[] args) { + WikipediaDB db = null; + + try { + db = new WikipediaDB(); + } catch (Exception ex1) { + ex1.printStackTrace(); // could not start db + return; // bye bye + } + + try { + // do a query + ArrayList list = db.queryPrefix("Programming:PHP"); + // db.query("SELECT * FROM cur WHERE cur_title like 'Programming:PHP%'"); // WHERE num_col < 250"); + for (int i = 0; i < list.size(); i++) { + System.out.println(list.get(i).toString()); + } + // at end of program + db.shutdown(); + } catch (SQLException ex3) { + ex3.printStackTrace(); + } + } + +// private static void readFile(WikipediaDB db, String filename) { +// FileReader fileReader; +// try { +// BufferedReader bufferedReader = new BufferedReader(new FileReader(filename)); +// // String line; +// LineTokenizer lineTokenizer = new LineTokenizer(); +// StringBuffer line = new StringBuffer(1024); +// while (lineTokenizer.getToken(line, bufferedReader)) { +// if (line.length() == 0) { +// // this should not happen +// } else { +// // try { +// // db.update("INSERT INTO wp_titles(title) VALUES('" + line + "')"); +// System.out.println(line); +// line.delete(0, line.length()); +// // addLine(line); +// // } catch (SQLException ex3) { +// //// ex3.printStackTrace(); +// // } +// } +// } +// bufferedReader.close(); +// } catch (FileNotFoundException e) { +// // ignore this +// // TODO DialogBox which asks the user if she/he likes to build new index? +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } +// } + + Connection conn; + + PreparedStatement fGetPrefixTitles; + + public WikipediaDB() throws Exception // note more general exception + { + + // Load the Database Engine JDBC driver + // mysql-connector.jar should be in the class path or made part of the current jar + Class.forName("com.mysql.jdbc.Driver"); + + // connect to the database. This will load the db files and start the + // database if it is not alread running. + // db_file_name_prefix is used to open or create files that hold the state + // of the db. + // It can contain directory names relative to the + // current working directory + conn = DriverManager.getConnection("jdbc:mysql://localhost/wikidb", // filenames + "root", // username + ""); // password + fGetPrefixTitles = conn.prepareStatement("SELECT cur_title FROM cur WHERE LOWER( cur_title ) like ?"); + } + + //use for SQL commands CREATE and SELECT + public synchronized void query(String expression) throws SQLException { + + Statement st = null; + ResultSet rs = null; + + st = conn.createStatement(); // statement objects can be reused with + // repeated calls to execute but we + // choose to make a new one each time + rs = st.executeQuery(expression); // run the query + + // do something with the result set. + dump(rs); + st.close(); // NOTE!! if you close a statement the associated ResultSet is + // closed too + // so you should copy the contents to some other object. + // the result set is invalidated also if you recycle an Statement + // and try to execute some other query before the result set has been + // completely examined. + } + + public synchronized ArrayList queryPrefix(String prefix) throws SQLException { + fGetPrefixTitles.setString(1, prefix.toLowerCase() + '%'); + ResultSet rs = null; + rs = fGetPrefixTitles.executeQuery(); // run the query + // do something with the result set. + return getResultAsString(rs); + // st.close(); // NOTE!! if you close a statement the associated ResultSet is + } + + public void shutdown() throws SQLException { + + conn.close(); // if there are no other open connection + // db writes out to files and shuts down + // this happens anyway at garbage collection + // when program ends + } + + //use for SQL commands DROP and INSERT and UPDATE + public synchronized void update(String expression) throws SQLException { + + Statement st = null; + + st = conn.createStatement(); // statements + + int i = st.executeUpdate(expression); // run the query + + if (i == -1) { + System.out.println("db error : " + expression); + } + + st.close(); + } +} \ No newline at end of file diff --git a/archive/net.sourceforge.phpeclipse.wiki/templates/templates.xml b/archive/net.sourceforge.phpeclipse.wiki/templates/templates.xml index 36f60e5..550bd36 100644 --- a/archive/net.sourceforge.phpeclipse.wiki/templates/templates.xml +++ b/archive/net.sourceforge.phpeclipse.wiki/templates/templates.xml @@ -1,6 +1,8 @@ + + -- 1.7.1