From 3875e0aadc68284f8268216e1248f02d2e0629b2 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 4 Aug 2021 22:24:37 -0500 Subject: [PATCH] updated examples; type creation bugfix --- bin/onyx | Bin 409456 -> 409456 bytes examples/05_slices.onyx | 4 ++-- examples/07_structs.onyx | 15 +++++++----- examples/09_for_loops.onyx | 41 +++++++++++++++++++++++++------ examples/11_map.onyx | 2 +- src/onyxparser.c | 4 ++-- src/onyxtypes.c | 48 +++++++++++++++---------------------- src/onyxutils.c | 1 + 8 files changed, 68 insertions(+), 47 deletions(-) diff --git a/bin/onyx b/bin/onyx index e51b1df8f55dba6658cf25ac742e7f846caf8787..8ce676ff2e15c3b515b8dac99265da83c2afdff1 100755 GIT binary patch delta 69500 zcmb5XcU;uR^FPimpeW@)dXb{1f}(GTot>H8efi>>*Nbmn+wE8x z_XHa&@t?cih1D#hv10O@CO3iAWG>s)w(@J?Q?KPFx4s=}&Tmkr+2HG){dTzgsA;lE zb9Zp=a_dApb|}|qU&Wq{)w_6ldTXC4n8OYzNbF=(R#vO@v8b(Uu8k>C+g3jcwNB>R zHYI9%>eqOBCU}}_dzGm5F_#Z4QSNFkA6cTjsh)Xxde=19PAyT}NFVN1lfBpX_VP^V zYlc}}0w%y*{%eWyCr=gLx0fjYqCbirTbNrNDN%c0{}O%KnrqLMsI@njUoBCdVlKZ^ zqWqPzh>;K{;pq5A8V%cGV9Ryy*V&_)$#z!9aTQvnhnt#18cH=x!ytZ ze7Oh9-Pmw3V-<2^8~M4_&WLALzdJw~6SOC!(RfMJKGx(!2d}iTifyCOo(w+{Yf4oI zia%cBkF)etKfhgrPTl}ex!9;RI-5$)P`EbXMA}#i2Dv+ z6x@qf0C)TUiMuOsd+MXwR|%ga+SZZj%9BRmMG%FC?KHY%wVmA9G&;~U+RHTBIZ=C0 zdZJ&@zHv>5;;l?gA1TYos&o3D>qnCzi{o?OZO+_L{yE_wQp4(eL-niT72 zI$qGa0ifId9~_w)>ld_h*DvZ292O{=Dt+fku6R*MJiXM$3XDPYv8J(LYb@9r>ntr4 z4L$U{V_?ED8KOg2$&uO_BSs2C7mT4R8nQ!@Hnxz+6VfESC_`3DKcu5K`;eR6@d0C9 zbBCmCU~GckwMz_?GP%oHwpkz4H4u8%r0X0uT>p1ht>67%FsO64on>nkemdNw$;=DW zO(Er}E7Srip z_3XlqXO1_#1}rqYMX@_4}3G3r2YEWTSM4(efe#HY@WW+Hh*x_eVdxK z)KACX%K8l`DXl-b&7VvD`iFQqrMKO#W|{h`+bgmReXH&Mte1Y+c6Cq#f2F5Za!(+C zN$mT{VX@kdVa6|C(2=ix=XN!JS6+X0dwF(6{|-oY>V0=qEH}Ko+%Q}JRggXvL*;-_!B!(HEfr*FAB z=DPbJMXu|spS^Q{>p@=y(;5q=0$;g_S8n-o>E^m^mL|XGo9Ff@SK3@0ZfR0iZ^-T8 zN=*r&1Anl8^=l7S!NC1- zaC7+wE&@X;Ox}Cxn*3XpH4USmsC_P-&Ruk99CH}?6f;lzJVBc$_1Am-{)DCE+8*g$ z%JY}9a?_oO+F`+%lIJzrXW=HvSwHz?25KDa>aBr?JE9xIZ^l0DIQs1(u{`DQypHb?4 zE%kkh>TjUFy|hsQc-_QI!1f}5BLcx}rTz~~eP>ah6aAa0TZtioEK)sX{&FII5rv)g zZ!TS6yY;6o*Jji7UoJOfaro=2Prg!-+2U7a{mLsInB%*z)MX3wPp;H;>~aVwGxGwC zeKD={|6F#{H@)h?D(bsjt;?{`U9G_FYv^}ht;%ld?_90Hw(3>aUh_}2b8Y_ZX$=MH zcQc#m^^b4Xbm;q+uzt{mlTwPl(ydCYmcHe!`mR-8Frh_V6JYXUKx(k$uK(%Q64o-e z*6q8DY4vV*yK#qIxufsS=WMCo`u-ATrC)J>F-yp;^B|S6i~8Rlrm$*y{%9z7+NvM< zXeo5ZUh2!8w&+JnpP7q(s4<#d&~G#jW6;6JL9D61{^P35OW*&on!V1Q{rE@5a`b^u zDze}7aZl=So8R;kp8UX;>F+&h%)06;Jl)0)=+8f`z<$!deOjCK(}z6k!QSd;J!>rF z_)Naq}hzgNTAM*W3Xl|kpHS5??&eTCOmK!1zZvFxRO&g*ox zL~rwE0e@uB)0;qcB6sf_HRDJ2=iYidg|V32?(bjQGB^xh16Zhj6#hEs7ksV2jXQI9 ze|>AiUu~hyoKqg{ONkyQI_>(1IgW< z^=28AZqKTD|EpCrYOnAUjrUOK$96#%|Jf54Mukpw^x&!s)|g z_@uhY1I0X$bhOZujdy%}36?_@cQrxRSn5w+UaSENp=2)>#h>eGo)>G(w$k5TY&mnG zq2B2HzF~%biBk$ck(*`n0{C)R>Myin{n=4$V~+S)4oh-r+oWHL;t$+lRtwuaE!?1DAhvbY|LWeuoF zJ&X>tuO1u4F3`XA*aLQmjzlsezc89MML`L+7|umOl&l|lHvnuSL*oYQ17q2nLVfH@m-TCxkw*{`SB7+4GA zD>>50BvymnGOS8sH#jtWQX4jtEg_q>>^wi&gRZt^x$Gs)X$N`b(Y|)9I$KPS!~^Qy z9*_Fe6c6su#4x%&d(K${L!XXkf*44~W?ls_X#Ekil4lVd zCR36wRUMY7eIXXl3{BrQA2c~O=Mth$ju{Q(9wxgN?liRzt7!L6O_NEKk>fxXl#wF* zPHjA9C%j*PrRfILuz2nX+8eUJE$ZMtME9R=ZKZ2tqtT7DL$KN-M7UOeC?PQawm zHVqVIphPeU1k!t$N)(3~N1=XzDj-e>LnDMC{$v>Sf&esu;AFX+Qs5(tp%!R%D8+%s zYJj&87<(v2AQFF!Em0nOsF!#be~b;}cM+cL7k}h-#YmHS$p}?V!-{vFNa6jM$KVL1 zvl!zx{1D?Fd#H^-B>osL$Yn}w6MHC3l#4&c11OI@lp@~6ALAyx3*5nG#_q_DbfIh@ zlVIsA{nL*HW^6(g-esO+%;1DFkG9OKfQ&h+N9%mjdnWR9a1ECA4Wn^fLwv9}gWrV)TzB=eBBrj5W{Fw$0 zVwGA(EZqwobp|CGUGxn6mUT2v?InE-1&=w%ge2*Pf;ufSA&FW^R?JqQSytJj_iQj9 z6QWM2GV6b(tAkiY*GdAPos2Ic2*0I8q2x4}RpO3z6fu}put>@@y^SrOGnsV5f*6UYBMit&u~O4&X}Yu{<&7qUg11ij8`JMm7AL@UjM| zh8~l7=EqA>{7}%hv?>iB$|5t)$stYAJg`Drp%ccZ<_Ze~k3Ps1(Azk5q<|3k<}Lsf z3{^{A@)OIj9|m9xZCpW2LgopU7&Rm^)53!};^13bm7j4JbkAXm7NqV}^bP3wcTsZ$8O7{ID@xb*BJ5a_L0$-o!V9ql89%AXrxG8z3rsL)1>6m;)tX@6EZq4usKifiJxh2mww zB`E$RI4!b^s!XFOuuy!~Mxj^}EK}_M_q+dx;z=K9&;VA!XJBqokNxo5(&M=*w0-~- z(`c=r%B~`#;tub~`v>M1K1!f0W)E(?{f;Af@|{7MVBI(##8F@$7ML(>XHj>9@Y~Ye zrOMwKeN|Q+NboxbD~bY(@t?tEs_dqtnJAR4e`py&Lviar)3^s@Ch7WNo@U=qg(}@s z^jW$^zYm3@dx-7~1v3@VF!o)X+Qvqe?P+GjqIX$u6vm3|LyR<%st;pTdVB2vGhWK1 zbHi_$nKw3pITk z#-cJR2`UfGLVx?kAEPrUi#;?|yo*0ZEBSq-co%<+FJy$6Ryl4bVo;FS_p$K?%3==* zi?(0 z7{L+`b(VY>jG~fM_?ha+H^koE_T=8`&rpR5Ry#*=BKJ?vh(7yID zNUtQq2V%5*Bn$D`u%$>V*5bEWE4(Bpx;>JGx#qkOn=ehI3ZqzDnHfQ% z0^>!a#>3st8U^?GIc*(P8!@leQ!9*GgIrSdr;elXf&TooM4|768}z%xD%?>lKG|=3`MCvEyn)k1$;Q4x;cBC@jz}5A>M-(GqGbh?vrFsi| zN9jo_Btztp#-i9$YLmu7%Dnzn@ZtXESDK#2Dp!d6f+om;eZez!uh4Y!JdNHc14eA3 zGk~l6#Sil`CrdpQ5c|#RvSzRtGdQtvYK?RN%cqE$G@6_^^*~V;EIp#iV_9`OZv~SN zbsfuU#P*dj#i>W`3j;1l_WTA}vKR1BC@||mm=p<6gpYPghuYilK!YV~Ix`lr;Vz0w zXK`#EO-W}d{9OoLO=sf}RJR?+;&^%pWu!A-+BuFTv0;nHV^|X@XgpMBrnew7OZ|bi zjkWQnnd6x=k_SJHXVoD0yzy)_8$dlLK*^IPFofmecV$1%x8MH9gf_s_l>BJT1Vry! z=*|R)`Z$%H$U^Og4-pbK1V?rS~QVWtyHV9;387siMol-i8gE1-2^qpud)vv2dU>o^g~AqmMW+!*eiSJC|4Jjs~k;nf;u~p zRZk|Xy01cAoOozI6ok$%MiX2g!Q;OUC1^TL7bmfr8N3khJU}QsrBNX(6Hr*N(&FGJ z=JZ2Uk`r-xsOadCl=$(RN#qmm$tlB#n@X`Jr<>XfT{c2n0N+qbQBYkexKmi*=a3Oe#Pz;JJgEn znhysUI&LLBbtB{=CbE$CFPpp~#q(x#H-!$f&uGzZE2Gte^D8R*7%TlN`G8^>Y)1>xQO zLDp7Ikia^K#F&RVX#zE!iiy+BuwW`e>k1RF5eV)k;sL)vDsUD`+deEQ`@AZ9@k5O_TY=PI`m_jrKCEh8#SB`^#A@+of%Z;su7G z*{mIF;M5O1E|kDs}HA$SPl= zMR%ozpNu`MA8ntHRrBO57RjHL5$$}*SIfMr1a(q~8)f{y!yOOg4nyVUHvOoJ7M%Rk zQ2`Dr0o+>wRygTLziC<3%G1oS|3Ey&MekA^v6?;#*l;uKv=XpK@5@9ql!>@c3A0(% zDt9|5G=!Ic9i_l3{I2UG`1P(g2u_Gm4Od4*)fmGC=Eip+`rFfk1!;~ zX{e&KQbakpr=mJv=CDY%myYBh8=R2Coc-IEXr+gaz-A*BI z2gF>wqnCGzF`G=@b0J9=Gi>h?uxk`pg_T`22(V#C+sb$qR@TA(Nu^7)YOb_WH1iA{ zp9}e4wJwr>zjVm9I7x=vGD%7|ExHQ>HZU0ZGL_3nFXK_D(|2;e+eTq5yabj}3Km5c zYFaXn)u@&O*w{m*V3)BOm{mYbqNl;)Ef|k?K1uQIM6Ux5R+@}cliX7t)#WyYV1ht_?ufY0fm>5gsO>G*9- zqSffZ@m319XT|cX(Uni7ql*y4b*3AOSZ((|-+wa|AXhCmP3^jNKaN1h-G$UYvWlus zXatt#0s>=ln>zl;4E5&0)quS1X4+W2R*lF~3s(o8ffe3`)2>^tc1DRDE$+h1(`Zki z?W-9Sx0nT%J2wN23c{r+BIwZB{!U{TvzBhxuYRwa1#=P4Us}w5WB!yutZCm*d!h7& z{>(I!2{^`j^afJ5;t_rX>GW+F5#x42f8XXd z8tdkEsy)uCJ&rZ9ZLDUw2UDe=*kaa!4*rCF2A!eL62xI_v0=ti_A6t%Bqs%DwH|4rlTuS)@&7X;xAe$0E1TnAeE*709!)gs}MRHL{VG% zV->JE(wkLG&C9kTpVdg>Jxfwhv|A034K!dicCSW~ZZ)vCRjQo*?ZH6gx6}tRe|3_S zZY0rw(-+ZTF9odu>PysO4PxpiG*~=F(d;#-t4Z7N=shE`gxDU!$uA}rzp^FjT^+uw zKVPOq{lV|+Z&IC~5t{u%J$^=~Jt$K=>d~)1gAuQmGLNeGvVxKKW=1~Ji=RPs9C@z= z=w)iO7DOAUhj~0b-w&EJ`B^m63U?72oG&EeVcsHFk5@7wF}{~1FhM`_OU+HbvIke z^6A}f?4K^D-h0?3P+iY}{lEKk+JKBmGJQ0l@82kSFFVafkpDh5hqa?k``C1+0Q!bd z4I81DK(BqM!G6}puD2h^$g%yG^!uT$*gQueb^xm!VEv&VIS1GP4Dg!+tb4^}m&G)9 zQwz%Ca$;CPj>40!d6;aCa-yRs^&o2s_1JrmwSbaaAHx3OSqeYII#hVrO9WHU1z}>;b%brM5Dct9u}s*LX?b4Aa&(1N6PtR9!Tz^0 zT|B}%c)gw{`04=IBy0pcLKAN^k%m(2QS2peppHjbi@?xOvCn6cl5w6dLDwijdpjZX zq@C2^vIvhKNl)p>QP!O8Cc9&-7lvZcF{pu_7URL|Z>ITwF>ktgj3qmDtuE}aa)Pwx zd3x!=BPsnjwn`t+ug6(W{&pkHzKlKVByCz4Qo43YIsK7KePFXrt^uvDKAS-;1EF#x_yGxepv&u0g3MQkLxlLT^sJ@* zC$U|=lAfQ0yt+{Bd}Nf4(6D^$WDMM(p!4s*V>mx)`*{_&?1~-aM0cMgF9) zQ`nO}VK{Y)C2^Kc9)GaI*mA%02L$0u<`Z&u%7 z(KNw}*k7;>A)9ls34c?KbIABSp*81N3bUq9;w_Md{lgMMUQPvevFP4M!dBN%J=jpAI$x~$n+2E$P9*#=dphcGqLCbt6b{5AM`Yuj$B|dK0{kT ztwi^_h(Y+NsJ2KYULc=~*zDdxi5FQvc7t|YL@N8uA^LO?G9E~EEB%Kl3!DaAW`khQwU^~#{QENaK1vO*07*Ama|LzN$^I$|-D%uaHrQdKr_dyEd|~QA z3i^Z9b?RII59~s^EXFTi47IKyp;l^;7ij*6CjE;DRkKKu-`RgzLRn9wImL)dttj9+ zo9w;`B0#O^=|{Ako2 z*1wdGD_9ssH}0^gkViRSPuKnk#GV{2Ohj}%9wI4yXpyLycq9S2N;_!;HM$F_&Y@9v zaR_KHUAoIsSyO6p51rMearanAsYGX>{e?E%!x5vEbQ?9L9;#5(fXe-ca~0bu`9GNd zEE@kG3v)aE2GYW|xa4!eWC|AvJE;vF`j3T|IvR>Lo$1YgECPo_s@`XQ$n`eA&t{gY z1`k0RPZ#gAh&r#eVhwnHL=Jgk>{Ko>Uid#4Zc_rd(`c=s#-`^=AMfH*m@50-P>Oy4 z+jgH)9xy-u6c`}Y;be6{ro^=E!&F(vu`ALM3yAPW$I!wDn9nCE{{d^^qeEYo=-`T+ zef?lO@(jAMkg7dot7;&HRNp~#^;|NXGl@)G)@Ru+$3vSZE5{pzW+dheyeipJ*+!ki0*@YQT;SDNB=#6I(m*YfpDh6!-4@%B3 z#vTmhM7O|0avSu`)JCHN^*PZg=ocHPrjdcBkzS^e&hUBDwxG2*MVNB~L6Y!1OJ|`c zE35ewD6u}}mtI2xQ=1q2u9*;fL$H(inrXYK9W*)Rr_d@10~$*QC1{gBJ(t)i*59z# z$aXN;_rV2h5qCPX_z5KRgo2(hFV>gpKVb`54E_0p)o$r2n zrC_0yw-J)-iUP3>V!(@HgVF*K=){`Ryc8k!uvUba<}B6zmCn`Yb)$@%M24<|XkNqI zT=Rc5f6fb==WURi(~GC9l=H*i&{`3;m?~GO)H4>uJD5RwJ_8q(XxuXvRiSIXO#U>J zxPgGI2L1}=OvAa(?(kQhOZDl(Gj1%rDbc2HJnSW-+(bEbHg=nScAYYG>p|Xk~!NaID7tcG0yJ&Ol{sUf8J-c($|Y0 zxNZ5?-|Z$!6Ga1T$I13?IE{GAJnTI`bFmCSMV`|9x2(T6&ByHNf?yomH|IWJKOs?j zEI$0clwojs#~c`YMZWLZcs9=P<9lYy*l1ezfz=6fTm{r(%*6hy6<**jU^?x2FHR9F zS1Zymlhbgu0$pV+7xUPi+&;3FSgLz{g#O>6X&+fDxIpJV!jXJTuAi`aw4vxvuwlC? z;NsLnJ^RAmoQVXp3pPr<%Z^&g{o zHJ5d$6*FqGDk~a#A@%!lJa5Nhe>}@Ku^(w1<9$KZ4aV!RFXX~`J)8qf;JgW3m^qve zf`jsoa~;kgPPgX$VHqTA-dVLw59%72r8!rxP*?AXg*wLtG|Gne#^J#WHoTIEW^H&E zC+$Ks5-A12(j@9_%RL+_6;R!@wV)pp>%2P$k+#R zx8prjOJLGvLnJnnaVmDY9k1f_hXjqV82yuEu;aB^1uC%P_1P7wT!vT0LCm&gcmufF zIc2zys{iKVNIDtzl;MHmP~w%c5WzQ6+4F8VE;-bm#{~3(i4_uTpvvln69Q7;oMPO& z&QZ8Oc;CXwLakzmDmZXIxRQ+>fN(LTI{;x6U337#55E>7bQ3G-UZ`oII5*8!5GMa; zL0EN`f^fDYcY~+6$`J@bs3Y$I*6KR(ra^j`RYe0pWBN;=Y^yCqc|wZQ(smX1b~N4< zD3$O7M_HZtNTf&Ac&}(;|tojiNvcln+HBFIC^?!?GgLB2gk9G?adK4s}6*GQ9a#Nrk_gyQ3&Y>3` zys>J_)M7GRJyp@S1Q|{UF<^=;M7J!QMvFUlWfa?FC=`6WBCrYy{+^`ZTrMbhH3hI16@4&8pl#qT;``y`*5nWyH$V$(J{9Y9ZPwT%SNBxf=IS z?H^vWFny4Y`ttg!yAz8czc^75;dmKJVHfuz{CES8QN`i<;RVZL`HM8okNfgF<77{p zcKh*=ux}Fzd(D$x;zhYPx#2?5;yxCOyZPSa$Z>SrpL;MS z_f>SupC{JdiQVkNZr0-k-Izm*PH6f6h896%6_;dm0N;a{DI}2pgc}9N0x@0J(&Ip0 zi@l)oK|F?SqaHzA?bKx~I#4XxNhyiu2Vo@M{UwhCbmT1U2;yy2*V6#xA={6W(qCz` zAc(u$rx!vc38+YSIl>}0T&}?7MW!Mj zjyzs7H4kFz4FlD@JV)MYMr9sm_wY1^C8zv-I$W6tBgylqGOs55sVZ2(ey2uNcnDG^ z1FP`LNKMYG!fQCb`~#xIjn_DsnOr(kg%5*69vRFVhE_z4^j{U_w8c13sd!($!t0up zV|kUGv0=12nAgA&nZJX1b>!8)26K%dFof3?BN>8~tS>DMfgBOqgn%Nf=^-$CSdpu8 zb?vpoz`bRPF2>9MoDk6`3nxUmA;RIRL#wNDmw;-bwa^ja=>l{qp!vV$k`@06O9y=dyu(9q(^rIUYrkt9} ziJqK?F>My4jA;%cV}(CYLGEp=cg5H}N6|HTk`EVXe#M5Tq`@?n19mxsSAQUV34_nG zmrm5=F{&#+m@7pHaOMYLH{EG<7%zjs2>|tJSQuBSdKHIiUkr+0=qKop^3+)wzX~Vm z#Q@;L5jPAfj#1vD&tW`>_mY9+VJ}4~;oQ^hDRg3g-_l~#BGw!gsvlj8GQ)Wr;VXq> zLH>tAYeDsYF?6cM0~jVmdTlJ%SRQL*3T>i3b>Iw*p`~^BW#rXHMW7SE!?Y*@6TdAT zjNla!dESYDFF1(Y>OyZ1QA}OTt0)>&mj_hK!ZKuz{Oe#3S==WbWhqM14G2?ZS1=cM zq1?JWR3NJh|J3gg)u_jPob#}X$n8Z)^Ik%rQ;(lz5><-i1K=6ViA4Y1X?r9OcD}q{ zOw+<#$d4pNLbV=|M-<4>QsXG->rSi>#n7##!BN~NcvfMlSCVcD6!X25CW=I2p}s0R z3YXbL*4-ACx)s;BvZFh^}rUydUzw9B_n7i{4U6m9;e0|=$ z`c$kY#upexaZ;%%8pv~7XFgKofN zSqo}(lNWvaE4wT+U<;jVz^5Z%U-V7_g<#4-`0(?H22RIdU z24bPNA_D-#(Qt?}cPfYlaHmc}P_?LYBkt@pra15b1=zkA@a>K=a7{$u3F6}W@0iU( zrk_*Hl2By&1h0xQk;i1k;>Kb%mD|>(R*ktoF2D_I%%iabw5c&<6G2xS^EhnKl#k(_ zeksi`TAEi1=4F`ezuTJEp}CzXtULE{#N}O!+h4kaLjG?t+*wso04u9tzU0wK7R-Td zMZoitWu@?u^H#>=!WrA#5l!sP_*ZpQoUyoKZM@_*wdki<9uQbbKr87Ukqh#`YcW3a zw<@|fzrEZIshe=Oz;zwaMA@kjO@72{u_n#TO;qM4>znW{+;I#xmia!nHy{IhMdiS* z@is zWgW|TGyW^`A~l=yEYHrvi#zu%@g~q6r!&oYlIL42ctyd+BeDFUvM1HhfG&)@hWB?_ z_?rlCi_)4)=|2sBRHS1QA?3UQi z{6!40$mDdVz!tn8n?>0zc$L6jL(IrRRax(VLJAPAEh}C*rM1I>^_JEPS`;o><#BN{ zx+PEH?^hDF7~uERP73*3@-2>OhbPb5l&BB-)+@K@&6J5e`GP9t8YT8T(T)TCR9 zysy);7Ue_FUayjQ0YRtZWW-be zSeM7ZVH)|tH1dUMq=e-7XtHn1y;XZ*LCpDw6Vj$;ia3%L6zHxhP!#6XbZxo6&+C;~ z%#u53v|ro9SFP|f*6qwEk%_uWI1JVnX(D*w?RXaJNn6|TY|qO(Pg))zj!;dp=dDPcjb)THH(QNTmA73gRKA!J^*9C&vt$napbkv_qkgX^1MTAyh&t zhvcnnG(>92wy6?MZe3=PK~{_+gRl-f1zS4W4p^37(3TF!c~zr(9e6|d(g7X$C6R>e z$XkjCzZ388c{y4Pc3z+$MwML}gC_{W#!n|6$L)KNbqdmC25OeVce}b^SybR23y%$O zCUWY`)&6DsK=t~`c3(`$WsN{-SM%~Rw~>6W_jaxS$6NcTbzbpx8(g9q}TBW2O~Z+MHzQ+RAgI#9omo)gm6 z`pPoUUat(WSSG7P(vhxUX?Az6s@+sTE3R*zR2MIbMHlh%y`p&e=0dZ6I7>V0$-S0t z_6~zI9gYE_s)$6S_%MFFj4CfP|nD5D1q?+sehgGbi37L^uv`yJ-LWfhTQ z^mKEKzG8vWCtQZnbrmIP(vy$(Zi|&FRyM4`s_cmf2~>NUBBfd#=ihr`0r*7Lz4#{A z9$1{-H5JOy&Lkv%TS}y(y|@nx-*BTBJpVAd*&7RkD}CzCTd5XB6jF3jni(NyCLC+b zRS3W|v#wo~`*-vF3I;2S7K;7Nm%JksWm!_I2#kFD@>y_g*Y(BH)s)Wk2>k=LToS|2s^~%7wRM)6KT45 zw85=Z_zy@24u+z6(EGtW#9=N7!B&Kz1RsMK!aMtv_AQ)wigr|nDHqy--0cu_m_T_$ z;2O-KVMF2CAxszwZ=@G(8Oj$SY0+dDj1=}|hVdFI*Q$_J158R`*Gg5Tk#CVz*f!n5 zIc_J)J5yq}h-wb!?p2RwW7&1R_f@`Nu^4NKARrBf^tQAG>xBGGW{!XHzc(7Z%UGg&AZc5ZuGR9Kmbi@>J3Y(alka?A+suBP<<9rAPCoZacF$4j1pi*QA74TM0oTp)?v2ggi#`3soj~@ zjgeQWyJNVAr~7x1rST>R$sngx9$eW8Qj>!4fhuvurVZ?;F%NT3npY7*P)x}QX?jIP z2vsH(3E^{K;TYMv{Ue(AizXJixtN>mfibki60^-sMjmIjR5gve!ZB`?23B^(6ldiZ z`XPkvgZV@Ka%W;jVeHS(a5npFf>tsDz+|9YK#}aeHhP+zJ~|JGtc0obZ{*H z)iqcpX0X|E>Lz{oVDvDgr(<5?$jiBL2-p|V$8mg_#|PZ9DF{#uo2(K6aH=wC<9Hb0 zU@Y0jgYqJbgDTjJ#f5UQ6)>N^j_21|u;JPSeu429wQ1`l3^BgFGKtr6S&1Pj?&l96 z&&hl?^ELcDnNQ%z%$1)Cr|GPr_f)Q8E@#ufhyFs-rg8srUvW4f-x^Ye)oCg&RZXHD z(|AmowPOJepD>d?P2+x19ZR(C=&ER^vEUPa=wk5wDjYM;iT+D8D;9g;+ceX$$Tc+# zo(@qU4AN)vG-S!jWFad#jKZ>bMQ%)^X)~~0n z4*g+a-Eb=%=b59c{)F=!hiGax505<17gvtNg(O9~3D~QbEsOk7ND$Q^m0P}JQJl6# zWX$H}*;pz)gU3ZI81p}Yd@#K7nUGj4FF30duW+hM6K6;&(bO5-9hsTMGk9yP3J+&s zbQn3z;&!A@sX;bL*Zo0?25Ie8P%J^JGxXtVR1aSY2_T) z@i%mL4!?#oVh3{g4gR((Etw1AlgT(2sdyX_org#=pT^GP+u8)|UT!{9Kzq17T@nz1W}jz40^StyNK%tQFA_OyI40M}sM8Xt#j83rX$f{~r}Y+W zn2+cn-M)lxa+xZZ1r`=N8-^`~ez`O+QGSJfS;kXbD);(c62nQg94eMWVas`QaZGMG z#;rB2T+Zk7XRRr01y8oW+Fi5}$AX^GycN6>m&(ze6}*}IYE%e~FD_bqk!B_Lby?Hp z`+j05dL<8asD@(2|0wgG(pK^s+}M@YujI|JYy4y-ukO-7?yHEM_EdEh4{&cO_Z0hG zPXW|p6)*2Htn>Fh;k!JmxR;Ap2}Gw1yH|;^X<&G@nlI&UZ6Kfh`{ku1VtF??g}R)=|9roYy4j|`~zrE%86qsY|wIpj|s$C zSxnEAu$*Qr7N7XA(c0drjfojxg@a`{XknupVr} z3}Y8o{J1|Rfp@`K9OiQC37TP6u>3_Ffh5uBCQVw;%V%7WJHH^GG}Zno^*j9)=GvWs zuY42xYxyn-Px zrnP-1jvYsszGC5!>Br3p1ZYXBZ9@VJP7Iijr&qzDqLAn4175II+!xq3#IIoe0CZq0 zuDC*Lx&~^pudA}hA_NG3S}@xja~*wPZJbDHzwnTZJu*vgb)#((v=_5+mtZ3b5_6)* zf}RBJH<7yk3_8TFA?}Kfky%GZSA1ZoDZZqmiwF^CnRB8ajur4H@~x2Qv9bsO%bq+= zX&5FZSc>`f6~olQCKg5&<7ARlHBkZym{E?R@D1E8qdO4J0>W6!f#@M10sP?jT)}0G zkRP;e{}N?{uBON%WCi_{7X2o`Vyt32#deJCAd&#MIhyrJtKBuKUfrGo6pEOaDDk}+c6gLg< zK_AKZGe&uzMFeqLJ0XL_sHc;*2^suBwYKumKqp{<3}~d>?N4|pqR4Uor5$8|7-1`d z+wgX@WGk=6BY&ooc=}HS>NwpHuh^V;liY88IE0pdaUy#g_&QJ3w(&+4^&@17wrFb> zn@+rcCpHAB+pxsdLPmERuf@x>r5D?HU8l2cAh52o6P05-k?L&c^*q+B{%V@v0r%f@ zsI=TvTSU{g^ZIt95SQT4b2~b|9eznaa@oPv+(t$9b|9?2MLl=GkNlM`p|si<$hy!K z*duO&B5oQmALnMo&H91GKHBzx)H`|mPTH#)t)DtUdsBlCzqG;Bl8ztzYRb0~-+IJe zj>TT)$M~VZN}J*Zt372B%$@igQcn3Apf*W-nB+tP&JwrKx#1g0Fl;gO*G@hJ+p)sF20CHsiMU+J+Dcwm{-mL~+^5vo!I;EY!E<>uw|+@~QS1P;LOIzdL2haW`&%a>LRWMi3tN5l5=`qeKzz@$I&rF1q-6ut$6`vBQ?5Q;|E#x6mZ5qvlp z2xBwvvv_u28blZO!U^t0U-$CLZa!dHX2u0SWM*o&pnCiGQ=gyu!73oZ7h}Fn8Zl24 zKvhlDXg~KX_ud8_^ontaejyeV&OH6T{oyfS37xsPzR(rt1& zvIOl|FRl9(REi6|u8+aJ%Fw!ULQbdPg#6~>h6qTAZqQerVh!=gJj$fR+g~$G;tMI2 zQ5T3pfa8KfM0xy_FONyOD_>2blZDq5b7Z_Gvf`FRfv$zRzyNjDMLfezp~9(o z7cW8rMnAbve1B4i(by3)S|NO|aCMB$3g2~2yo`}}(`7XAGlt=ZrGveJ0?@w@P@`)X zXzUNN@%^kov)S;%893Y=3l?+PSmlFgj59zuIBDjpjYeiFLD%fN2;}HhGe>sd2w(8S z?DaAtaA1d^d^S||5ROjWqalZo4qQmf4)HqWCf^mlj`$p0yz*V7p>+2US37LzWo;F8 zTzd^ewT@g4^G0DeFBUVF&d@jGO6(+qu0-t_Gu2(Nd!3*?D(m1B$~cUTnenviFpuJ& zKhyKW+`D?-O96rJ5EY-_*#jZcMDfwg*r@{selz|JG~q{#Qz_ziUMZs-+=*U4WeZ(gy6Lk*Xe?n}d$g!DV*kO{SIJjv6ikp@U4*>J$6CRTD0?`os z;WLItAD{#5K><4+#tcR^Sb>d-2kd>Ik{$Do@!{`cJ0wub5w6Z?BNQ4px5ezf2=$56 zzK|~kJTF{>R&Es&1;YX@Eex#&#A!zc=Eqd9vJ%Y)dO>ih199C*eE2W5XVEv^>YUR= zogCW=pH{6=6e?wYv`#ApJCLkaQ^65luf{uER#QT-?cIb`u!LZ@P%f3ncbK~(1~XsH zJU*X#9p%&P3UIRl8!mBVJj$24_3kK)Lv)u4vW@79hg6s77!Eag`u$GDh%{0oa0DCorA?z7UgBs;{+dTcPd3D>NMRr!OJ(U_@{8wpM{@?en}m% zn&~1OT+QYHd~0pLm4iKi#TDOm!bM;0NON?$u@ji8M3E=?>>p%X7JgmogGi)^x)Nli zcp2dqnY5?0e^>^y;7=&Xp=c;bKSh}mqGV;-*cb|8J6kA-m=xJKhXfCL9fjoc!}wyB zl+P=cujdGuZdy5UoP~cu1hx;3O7#0k6yt{NDPE)H69@cuF@q!&f@~HbpJpj7@$Yh& zTP_pD|Cx&$6c*=*;q3ZIKtna z2A}2<8%*ub;MDsN+Ia@ej7f5{d){)h|L{Qm&2$EPD%Z*X4_p9uaQ?@}P?T z5%Tep+cmgVfkw~W07;{O5`$qhVzl8Pcu7;~ z>3N7Dff6t9aC|Ip$^|~zcTEdHB?i{w0sJHiw67$)-^t@5vVjH~a8XVJeZI)!1K!jE zH@Z4%jn+=*{u~?%Z+D*@n!J|+j#JM|JiPRiV~AUAe<8ZWTj84h!%KWb+16+%8ri~M zzs!RwbkjhBIquy>u`Z&ccoV5(oyIOs7h{7|TTA-+GVd0&vbikjRd^`hz0lx`TEb5U zHgOQ*8wFh9VeC(8a|Ih8KhgRtyjpF16(2L$ZGncJG2IhOSpk)>#sjea6`3BLV|}u| z%9pyEzMx@LQ)g8c{)q$hkcb|x)6T0n@Uw#MT!rq%(}%0jEL?xS2A^^zWn9CBljl_9 zU;dEW?In-vNXVwrZ`b)K&JE;ugHOX*`;|9%MNd~duz*CEANW<_x4<4IU81WuaG&54 zRlLbZ;YiJoHxc6Cn9fb?MEyr0w|J9U+7MZE@<|l9rD)!>ln_dE8}X27tZ^O&R|jfg zjCHoFX~iw><>iTG;JYQrMQnew1@tGda>rfdavLenRO);i+TNBX-A3*&l776+YnD2D zhFOVY!MAaWrt}RexXnW|g5TnEhnXL&Q$6q(x9ckn1Q4SBhp+&Ns<=BMbF0zT!M8BZ z3SuUUwNcs*w@m|miPsvFv{><@Ga3n+kHP`Wali1GS>ZNn#2A#tCQGTvE(j)oh4tuZ zJR;8J$IP?v;3R)$@Un3|HmCA!f24JHaLBj`UBAPB;Q#Irg0DzF+~pNL+F1+X;GfbE zl0lF4@h+98)pxnt({8Q>of+Fn><3D(sP{eYO3&_cCpg>kZ|8g57OF3PmwGA0wo>{1 zCsuJOTlsxaEX6~`Z=bN2p|GCUgtf|v=&Z(gveZkmk#lItf8F^SZe9}^UYdWz( zWa>=enTb#5cU{r2Ya0_y>A~ zgOo2{3Dyn7{A=o!pdEpa-Zu{;hx^>iTdE4ioD{~kSCARIDHyv$(f4_5-Ht#af5r{M z7K+^p?}=h!syuAe@<(9iVEsrG3l~P#PxuNt+alc%qYb_X%f8$Rq$q%TEu6Mct}VF%Eafe?Ud3sXoCR{1$6)7&|U_rEb+<_cV-B| zJQ9cUvIok>9f<@@P8%kjwA7rGhM-3F)!xfBp)^h6uKqs(0BBiVC_xPPgCxI32)Q2z zkIQJM#OpTb_g)Nd`(Wu0d~rQN+a2m977+7S`V<87(a3^e4t^^GT9qmqdA(|{-dTn) z1sIaF{hcjpn~)zbM^GT)D}bb*DBFnGpc9=m@=*Vcb!0`@ga;%f`65>=6cL_I+K<@S zbAHUjqT|p^IXMQBh3f07PpgC_wTd|&)97kLG?+i2dbo}B=Tb}nUA(}d%IZUtAM>W_ zp;=$?N$wGG>OeCG(PwH~I2id>)~=&;|1q!Z(gbg^F2<@{#3J)E`4(WIHBxi|uU2Le zhDj*rSsGQq+XXGzDaaN7v`AX4gxFCn_X~Ig{*?otC%lrX`)}r%8HkyQ z^AxR~;CT6Qn(%}-aQHzu{95^NBW`&<;p+Hw$PpT`8@3fDKvAC9Lzsr-`5#Nxsi&9=)#%kz9^AT#8LtH=$So&10-;8S%neH`CsMh`rR!Tz zq79Z`;B9sbf?1g&6fq|v%S-58^fgc~;bU^ou-Kj?dWN8JEag8#imw$te}?lntw{Bp zyVvl71TC8{O3p_6uQGqWL4N2JW1hN4C?=9m1=Q|2KY$HArx!dOzQ~LhxS=wa{(b?p z&FK9LWG6khQk9oj2%pi2mt6cSDBE75asXWs4{SZZmIoyS%G?6w z7RIHo6!VG)d%KkfYkw=O4Rw=QGkSov<+xDJ1HG257n&(f{=>Y%3jvj&Rm!4$uaN7x zLYH4*V;0{XdX0qlHHv#JA4i>mN94__Vwyz%g@^o^ed+!$NM!`b7Je%F6P3mnvK~Li z19WM0Ej93vOs{!^db8b?-DKs=QSutI8akml#^XMOzkjV_<|mbti4H;o+`}LB1}@BO zdi{pitmlI*1_-xNzO4g(iT~gR#E0OUSo_2xlhdgU>`HgMgOXNwC}j4d&Tn~WL(kRb zF8iTNC5Iu@3@7;lG5UibDRDx?e9ZIlDl>3B0ORKM(YJgYt4;OaVZa>RXz)91BYUi( zS?_pbPe%;GKCvqz|Kkgwzy<}%i1FD&v?fdV2F*YXJlL&iY6%_>;%w@Q&$!P$l-L)Xy=YDz{~vAd0Ut%x{c-Q^ z%*FsA2_+DEfB>OM=%EA>2oQScC@pjl(9k;@1e6d0p95QM9JcMN-ZXV8&()(`f+fV?duFeC>#HU{SHEh%nk~eDaA{A7-yg-N zPR;lGs&}8-=5xiB-cwD|DdbI{@rN=1{kgj9bG5D9`IzZzhaQ}8A0^*dj~TYU%$Y>3->b&T?C0xXPAqj{)=CaCz;J{&l$T$B{BLL~7N4=5sn*24%pk|29LB)Y~(3v!1Bnqpz^7moYn zPf5q-j@hxfL&wJLc**S8EXwBiuAsQX)(iGsmTk=7RP(gxDSlQ>%AIi7kbPL!A}K!C zb**gOmQS07SH@}vFPX!+u1}PeYLy1y_h!|c1;|@uwR+I4b@v})afhnKZmn#HnrOyI z4>wyVX2ab5f_lZR)kr*L4LO_^NC}ztwX{$MMR?Dxm&Zk8+3rNS*&0@&d5dw^_rhn$1{=dNGUy!BEpIebZOtz@R$ ztdeq!B7!G14D#+xRmWfJ6r9e9C8?A2xK_W<;M2Nt*p|N*K~?>tzqZmzrgX z27A?q#kEJuz07E$6efYRkT%G$u}yU?p><@zd0GkW@#c{q%7eVC%?RRO%E4b3ovdu> zMDH+qH^YxTQqJ+Jq7-7rysaGWeObi?XgB;fe`V&kXH`r|ErjDw2A0&Cu(2|wq!uxv zO-E8Dt>g^{>Csh2RnnSQzGJ4xYQWpW5^oT3iY3mwZHkjb+|Uwl6!9cW{GBE4BjUi0 zDmYM!W{jm*pjNYf&O7+UvYMsOQ|8Q1FEkHj?mz~(B6%m2mFtvS@+xYqHV0~*%BM0g z#EYcRtLPTr$GaV<4J%jP5`JFbRdkENf=NMIKbnc}1W~i_#l9e|Tj?2cu4ihRwi> zxq1#_uq5I@L6n;{blvg7_-F|GWN35aVXiWaDU~ouAe3; z-u%=brC(HA1uoo>gsVRU|KXz-TmcBN~kllYPD}X4;TG zk?H!Qsg~>K$BFA1o5@FmP$Avq04~az9L!=Z{D|fIY1tp4Cu!Nlvh8OynlY?LTFGUm z+3Th+R`?jl4%u^^Brv@hV|&w9T@2AG_n#*MJ8is8kYztbDJFOk1?*5H#@sVd5~WN3 zBFmN~qwO!toGFR9`I?z0L(%e{%<5B4`@|`&#!#)g^BL74RO?(}{XCg0UmAXx6q9B^ zTv`VwMymL$t)W_E%bbC9iPLtP;)0`cm)2VoLEj)R$j=UzmhaEXzk=4=|NXfn9mi;@ zQWf>eYJLUn!Ll`r=wDjrjZ|+}&?*J5UumXq7yU=_f$!J#^&cou=>1e zMJri1^im_LXq8x1I=_n6x&Ai;7$WW; z&P0YeR^3*f+35KJbTz$)3yZ3&%T=fY*OB#7`FGv&npQcuQDH787F5&fx4Hq>{@REcw*HTiXBv@b z>^9S%LBSpUd1EdRJ?eLo$kc0~E>_bjl=`DzA+I#PmK~;52s<804AV+3<`uAimpDpm z{{B@nl|BZ%^z_2ChP6GbdSs7zW422SvXa}mLL7v6lnT>2mAv-2yzW`E zz?o=cRCbuQs6w<@UuaoRxnf%HK)#i3esyh9ncWQ3$G$^BHa`R^tN%Y$zUo?UzO~t_ zhQ=2upHQl%Hpf-+F;yyDn@q2HQ82UoGtehS=S;wQ6P0UUFJ5?s(pm zCQ)lf)z)6^+hQ^?rS%iWK>qF6w0LKBvYB`>4)2NhB6)mTp<#IMj-v7$-lgo1kE%m$ zN&mc#)?8kZb+oq5OX`O@G)oVtdJ$Ti(5y$qPu6?#OHx1IblrZnt>hnlK7CcG?Hr5(Dzs-titR*>F^tZc-R-U=851VLVlxNQU ztoT94K_EoChoA9S%N8$M)Smt4uQkoQWd|5>w?9yv!Ttz3ax zZBRBz%6Z07H2<2aN20V^@zHFsj!g{+PwQjQE}Jz~I&F8R%j4!~P^qbz5sQ-e2GwPy zgH+gQ(OWTSHe~M)+Z|J1MQPJGZuIw7S`{_Em9~tAAJ*I_+a#7FzQ(E+?&G)G@G1@R{ zo+h!{E$5$E^*U&!T+WMGZR4~&CpoiqXR_^XHMz4^pN|P|>a5jcn()2OT0=?H&UB>> zRkaI^{4Z6PE?Qj- zTjMd*PkkhSI!u?No2uFsKT++9&MRtqSIl!5sob$uPwpbrU!p?8r5l3>G*Y{1RU$U{ zdLkcB4am zS;cnOKCh5|=6=3D|DNe^gE+jV8urlEGCX#;hc-HRpE5f$uK>~wUZI-yq*iC#x2KlS zwY_vf@|P6HnK}8TcO@r#TeZ(KWDCI5&+udfi{}Vk2qN$jx7F7VYeOlXEr)1hUCAxQaj1H02#Lu<9;#)ynzoQ2)>MJR=w-aA zCJfW$tKQp&;a7>~s?2ch82d249!`P&u&JdvX9N{XXZ6(xt)VNlsq#xC16@m0JJ z6SXIu(dt5?_9#aX_8zI#VqNXbk=htn$HtcDe~#3`UGB!J!YHi{wQ#He&u)|!UdprE z$;w%LnafO9O^U|J$?`q_|}dCl7i* zRQgzLw>G|Eo+?pMuc$s7OU?ha`g5%IFe|Wojia&JSv@&Udt}Hr{`YH*Bk?Jxvd8?6 z`}YfQzc9}-_GZ7u>MZY01WZ2fl_pTOLpV?Wjp`fBFf$&~W4snxaY6z4SN5^UQ^gP3 zM##sv_#1f$i>JI*3VL-@D)kZ;hftbBp4lv8HM)-G>lo3_EZ#w!SWg|}dyCR>@AXB4 zM!qmX!#;03>0T*Y)tsQka`w{L3ECr+;!_i}v1~bOF;Qzt%04<#OQik#=|pWSJ9MW$ zqBRI^zsG#Z#Q-u$!RZB$Xr0L+Hy+X2G<;SsoOqXB@UAGp%1^mTk{naj&`Bi6;J=aQ z%K3`z)v8Habyt-(YWE~UNR>2+S|?LgnXF|+#@Du=cB<7Y%5EZ4`#-qud!L`QHGf3# zVU|8cWB1q*74WFm*L5gd?M~9Fm&~Dem)+tA6k>_`)R|f*S653^;;x8}Ttsw|J;>T9 z_O_3COp6=QHj~QYiZuokpJ7%OTLJITi@Aok4u4cAiK4U9s_w!qou3&!@J3nUSP{Qs ziQSg?IT2Sttga_%OqMBD@B!Yd-VVb-TJ5g@C^tgfr=T z!a3iTEU_f&;8a}u*~~y&{ZCPU;ycvWUn9xBW2MJ+wRIM0)N2-YX4pJlVzWpib1pePD7RM!9w!?y}SOm^)&mEqAs z0xp%w=X{lGaXz}oNwqmI-{Z8mII={@qlNj6N07ZuZSiR3>U6)S)K6NNsq+|fop#L} zIf`dRMU1zeC_i8-y8_Fo;AE{LM>^L}CUmD&4}nZIMPRjBCGe{EuH<%UDI<}*OiKh zS7EAF$?x?C5dE&!q-y1OCqF5YnQFTLtt)}1>Nh~XDHpI3zptwXD;dlk<7egHZ&s3j zfBnHKL|5GwGa(J;G?Q7jYFbG?gyq=3T2}R^HDC0&Sz+x5yldaHYa7=P%V9trsR2HJ zmvsN`qGj?I-71&0MKW9@6K%;U-(~9QGHMnkJGuv6r62YSW z)*;l7sKslkf#TZtk;rV*Yngn&uDdm z!tgZZ5&!JO1Nb}XYq3{ft=d47uQSbMaa(*NZr?m7ZbQ`J%?v2SZPbRl=H;3O)Cm#a zIBPj{D;$2BV>%3~BBuNJXE)u4>2_xe7&xFXpyikb0xR1gn6?+Sg(_i_Hp4aeuI2ab zO&I^+%K}cDJVirprCRe8(f9k(^7YTB@b%(t%gJL;<0RpW0#06j8gYF~929B?YW17= z_Vk$oY9pS(G7Yt7uzc=w%W~LeobI`4S>C)E%QZj0=VUl1Usropi{Z7G_$&>=7uE7- zwI^LA|6(gNZTnwTm*;4Hk5j?VX_eHJ=e1&f7kA?+HR*F&YrltPkij{*cMIJddL&!4 zsxeU<6=%*gMZY84Wa3kcj68uwP_2T zor&t`7VQz&l|LjH6-|#-zYJ=l57f8}?J-xE0s_BxUn4{xZ`?{}KTDO{N;~=+)px5l z+BN=q0q0+D#d(bSeJf4k6W8tu0%iH+^IGVLsE_}xa=f&jA-lK=5>lTzt{3t|6Z6I# z*Yh#17t+1E1iPf1lM^4*>2z#gSqht7mwqcV4`H%)*ZlrCA5Qr5d2PJw-K+OJE~Y#$ zXf0jiuBz%gwCVvbnJ-=zrFpYYn1#e8lix3B-CSp{SQ;;iMuKPzF*Q27Mqg2-j?jhp zZky)s`sE|5++O+JQh!d=$L&CUsx6soNlH8`lIu+LdUMt37b(2DB~Wc%qW$os#aqqy zEeMy&6kchISJC1HY!L%%U&g?*$HmhwbgWI~r~gGEk1%0?@uWz$zJO$>s=kZV-Se{*hSXi8B*$C{uf4_F_$sE~ zJz|;u=qJncGBMEMc?|SCqDFpA>RJNzn`oasY-wNk(Xu+?HJGDq<|K<5Fkejkn1P8a z?^x5W`M0eN7R>YL4EZh(-6nrl-f;d%@#qB z2rAlw8m2&1d7bdQ__n3IOC`NdN=I6^uBZ!EATCpXWoJH%;{%Km(dc%)_q`RH1#jTG zv(4;fF-v$w{n%#IPpheWNWF94nc5|O6+s^n&}S0C7)zkO*@Ky1_gl8FerwrIcoXI{ zn>o*72K*!@{$SaUH*cTXeUZerwOhZ1_VRs}iS+Z9iPwZ##%5Nsm;o2W#JZ<2@!VcZ z{iSbA^?)x#QdJ~%ZAoKGq5}6~Xit`@E~|U?l1lCE+b(ijBj96k{Eou$M{ikXKRaiI zV#+=o53rar8nO?^7v8jVyk{-1kBIBUjkum7RdKNEWw^(?d#me4YuPbLZ zN&JPSyy9&_67{+jk{Fw52=l$&7W2dzD|kD_M8~z5=w(X=+L9e2`D6`}bD5?a&hy;; z4z)rb598WxGfRFZ)oguN`m2`n zO{XpAFNpKt)i|$YOKMsYRry_e7WlP=9maG%WB9Wxnk~JqSL$4mgP+6N<*<{u%j`I2xl(%d* z&CsQFen5s!7c137P|p@LF$JpRag4nAFH8Atm3W*-6=U7H;y6 z{6i}UlRw1uK$|(-VwOl1^)H`5{h}KA5hh(^dzUc+aM#eGA#uj1Lw3+oSX24Rh@xl^p zy!yPQ{?_}ZdcYEqJSdV@wj|b)DBs5zI=aT8~}3_W$kGBjNzr9@KMmV{dpRp~P_G(#MxN%_|fTR}?~9zz_$Yi;oYlElL63$gI_ zX3O^b?^xRNJ|`&gHZ#FyUKQr&&sdt@9I`?&MQrq2fQ{j{WSlLTERyf$BguZ+bVGk{ z>lZS}@db8f*gOU~z95y1r!18ROqGDK;?^?{w<|1xYwbZRWV^n^afr>Va!@(HqRzJgSJs=B*?4i>h2mMk zf{jBfE%jrsS=QT#q@75*+LAt&L|yq2LuXP=bs6gaiBuY4-;S5t8Uaz__J><3PsPKaXiyv$^g>OICj`N{+3Qab8(&g2(D98EZ6I3?Mn9B`3tVg+03dIvqV!- z-#8KVt!nG9B=O5TOzjd)L{MD>4J<)3OQ1@4F_ZPAW&531EZfP#>|isySXaLORF}&P_qS7?%k)**uXma8 z?pj&5FKhdq6-G5?{OA{JnOwW-(yNRfU4!m*Uv=UNGx4lFys9mAPE|XvvN&yy8gNaU zAU*wS+KU{4I_A1I!c}aMdjGoCxa2Q9FXkhD1-$i?_J>xZQkKQqE3BLa44#`~r#l#O zOjj2#Yvp7;(I1Qeu2U=iU^Z>Idgl+VHTz!f{-Jd&wK`K4H{Xg)`M{i%ckEWZ{?s1l ztbo&hYPVedpHsW8YLV*h4Mt>KUbWyaI^bi~-oLZ~&h{$sCW{nVuzyoqQ~ewpN0>7C z?RO`e(#Oaat>(XQ?LD%OQC&71GIw-K`xo84owpdVh5xE>stEzWcE_6!uyu(B-bA5MkFkQWJN2^yg{wdmTuaf>hrCeYLZV`XNAX&wAe)CG`lIR4A#}u0CW` z5jQ{FDU>DJsI?{aCwsp!vWS|Ot)`fMrYL_L{6od0&plRBa(+?yXOik;)r3I3E&*B# zG%QtA$KQuePGS)stIAVko&+ah-^B9dS>zH-PI}*(r$0*-Mol!tNlv<~8VBiTU1gT2 z62ZE+{JG&pOx+X@epJOv>5DinHKmk(hVK^*FRd??wX~)6tyMR9BxmX2*6K1!Vu7W3 z>=Svu3=f*=|FU}fa;Za5WpiuFmsZxlOOf(!RD+P!{6hxY?r#x~lQS+p@H#f)!dm>e z%TUA1>E&29bgC?YVA)xS9#{6qhYE-HQU>!Lc_Dhos=0h)vw%T|cgXsCw)}mjEmwp` z%_^s_a)mBXRfp*HRAhPm71_gFUSH7Xeb%WIikECJmh%F1 z@#NF!q57YE)?jl5J&G?beNjPg>MA=|O%2n_s45lphnX>%Q&FFe#^s9oW6ZV=t)wqz z%Hul$ibZ988Xxibyt4kQt8`y=unM{Sx;kG)ufQg?n^nl{tbnPi*Ko3erDrw0oomf> zv0YIGRMP#`Yt{79t`Z6AJtXot!t^P8^D`-ops+v!@LcLuBv!===k60l{t8Pu*&&lSI$Z!fJHBPwRf%PML)5QUekG2EvutUPl5#n_Hd zoo;Revg%>~5vA4Fx5?yGeSNU2@_6NHpl3NpXYFsGuW%BGP7mteh0JBy z>3#_xZ_t^t5_R-h?_Vma5t__cHqxJ$6M7@{gfizc5IRqB+KvAQjxZeX@!y+~dSu{B z)8u_~)qI~EDv1W!Y&<{b$Y{T^ObBk}11Z`f0wwp4W;TNTzA6Pb=1Xu#^r?a8svm zXmzv7w$V2^QQ6fN=MA&2wbhF|88XU=*3WXj#hG^GHfrnk`ZU*se(HK#R@P+n*Y&LL z+Ut{?@*0Sxk{~@}^}3}#{)E$N3M^Y;!YEd6>0(5`N(a3SXZStTL2tpLnDh?%gQaes zF0A~C`m}>Si?>JTjyzDN7dzsF;~zRwJYv+h9rcE;(!EtcoL)N}XO(!EqbC+dGzC3Vv4Ng3>g1zN z`f`?W_v_62k2Or4smEE-)ESGl)veB0%uzMESnroEgyBUsrwd_Vg;*EDKoe1zwbX54 zGNBU>lQ&U3R%ms^M+$*bXRk7~4BQ3fU z9%`rV)Fe&RGu;UYZ4F^IQJ1>wy=2m;2h9CybPxPv4!(z8@u6BZi=^7oWaRgfmZdF$W$N8Wxc0(!_mku^#L^x3m6iZ z4KIbzyVv61IVSw|;mK4+h;mekzIr-eMA+O{|I3xyUOn5_D)0g7y?#0;>9sRCSyTZ| zmn`8ONb4=Mt@0a0{-Rh8(woSVszK!bRJB&_2CMf6>5Zf{CvaQU8jOq%$Y8yRXH#pd zCJHUs8>mMoNY0t5U%p5Z96(T@td=M$&no;7R83s z5~ea3uCL^~G*w3Eapflk7qJ{HEfzlQGeWNuPZkkaJy3a#{862)%r< zj!h-J?y`r}4H`y6bj=H0|Ad6uY|x$38eru#Ql zOd_xK4JtWNZ&otGvQih|Eqx?We~1@QrI9pt`l>b~^})_NYW+yw(gPc-gvom4l6)Cm zPHFK^2}oz=^ZH1=Oo&&S8*DZ+{fl9rSyH6;3@aq{hSfG+$)Vh_JM(JFyYlV&w;JRc z=2-=Bymcehg7JFQW*9mE+(^40XE8w= zj(PW4iS)2~X0*Q6c{S_7F?uCu<$n9v37B%ZTbj;>!{$A?ljgvyyYe%Y2B)Iwa3~NZh5m z-%%|l=n(G)|+yl>i^UH3RI z2*-MY68!aQ-y$L{WG5wey>>crwB&NC7Ym5Xz zij{YNxP+i1t#I?f?cg@(t?7~rV@_RJ@{7}Z2k#r-j9)T8)Qa+kV_n(l$QF+ilj#vW zr>;(>?bAS2pQ1OTku-1$>9)R>l-j!3h)bL9q}0ZyHrwKDh3VKOZNoW1w-?oAYV)?! zto@zI>fK-?zY!|O zSH$a*44o8^e^XTcb>Y|i0ZZPRTxW-UZ{fH-Q`A7`!f|8RXex~t7NJkoBVAQ}Ds!q{ zxmwa|ba;=7(X{3lS-L}q_XgmN`aZ|-YTv6%Q}s^%lXsf6#1s`ZO%HE$DmRCx(YzJR zeR>#9QbU?^%@I=s%=y@QfH(jsdIa5s@s+@L0J=SH18I*VdnsbNY@@65xuc8&7 zzm+yMx|*%9-E`JGlw0$Bj1OXN!{HMXbwoY-_A54@2;JaXY@QXlVOBBGXJ2u89CGBe z)RJdxg-lWS-cr~r2CT3(-($=7iu@gsr_m(Ymu$ISCDPQ8)qwYPd7~nX&v!c25>6B0 z23we92|cOJ`&-fhBAtWOO0|8Vrs3!ornGrW0fL_{zCT~}o|c_(!IoAjTWgbOEkJ9Z zxg9k%`r6A9yyn*hu#$n?@}`n^AZqcc2hD^r>j>7L72k~eXmw$R-iftwwP#Y9yr|-5 z>f?f*8|ri{X;Wc#D-Iz^3t6h(o=L8op|WS{tytqs9M53!y$vgxw=`y0r1!|1tyX2gv!tsR{a$ zcb)O0Ka(Hf6gIkI!Es*BeQe#R^=bB#%Aj!3)uG-wDb_0j%6Q7Bn`OJ zbMz3#WPY8a*XG=h=mPrP9Ko|d?_9cK zCE1QXg9cgJLJqvR$riRi59S8kC$ykdlm1MyW6AWn{8?k^^!OSwg@TEuutBXwmFBZmywc=TaZ zO+dK%!$VGCA#}37uvEYGg$GZ5RQr?lnjHekTXp#U8LH2dB{0sp^D6|Rudtxc`|F9E z{03Nj>f2HwzILlkj)L(g<$9P}Aw5l) z6U;)@j*sHYG9x}H?zXob{X23*9m`Y%V4he)wxxfj^IhLhmgx;jJ-^BH=>-9rbY-ro z5>MzIT%QJ5S!CK1dRUcLLM2c*=Y00;o{S8b?Vh+4KB!(TTfO##KAVBUI#23#q=oaO zUZeUDJ|q*nmsy|uWDTatS>ScXWWba38-u;-(37-M*opO|Uc3Aov@Hw0e}AE`%U1Kq z<$6f@CyNT-l#VRBh?etE64b)wdPUEGRfxB>Ol^+?(2M zzuOWwwZ!d3+{F?{ideVAWi4@lh$9f^ZwF)tNKSmJhoh5?8E)?)K9(DwcHnq4@%4_9 zK4aPeuUro_ujj{mqbmuMa}t`F7YDYBG_-v zEF@@yQYm`vmLv3B`+R`3=F5qr9MRLpeV>LIQ&I{O#&TEUYE zELBZgnr>`k@qVmgR_G1-#rT=cu&$%qd23k;iMGNMcp95pu4~#XwpCyC&X(KcMLM-) z0CO>>H}E-n*x#FjzkK+4mYl)BhppaOp@)<^?xmbjIfUXTCXY#&!*x|qBLC_lw6Q(4C@ zX{YL})a#V%g)BdMD45ZE#brfrAolX3_mPw6ak!WH%u4EJ^y-a+8K1gDvI<`lvD&V4 zXuJO6JxR_l5VwZv!b-h<@S4J0MitWZO6A7E%@0C;3cu?#gHZBOc?Zd{T}0^zH9w91 zP%#M=ws|elyhdQQK)j=98xvXcEC=rwKNm{y7KD?=H8xISkMO-CUtsXQW@+K4`2d0? zHlq((GZpfw58H@&=I1f*bv!WkgsU2>^eUB}69=1TnN+w#_)YdLIdJNz2^aVdB0b7@a<7xb1KV(_asQ9?R;L3n^X zBEGU+*u&=~Ts(`9_)vr#!ZVGon`kFl+GWtTQ=m9)6DvzTrk+dJ%SYBRTi={%dNj=Y zOy0kTyACGpSB&^DSpA%?Hyn3+B#AVDsBlKmk=P|ZW5z(!1G_`Wnr+i8Lq@l}!+*dk zfgw{|@%G^+)f!Z_Gr?DA~P;=JkwOm1l+OkFuX)wX;MHDR>Rt!&G zEc5^<9BcG0vM+kA-Xgf2CCo3Zd|q~~o>pq>1=C4>(z|k1z&gD~$ydb}I~&$eZPw{k z%XLIEKLh2b-j*D-C0#F9X^^ch&*;S69ODpgb~D!ovj1+K9#U^SObWC#DvA{7kH5EK zYnPP=)%WZ44hg9kJQRzzr1m0i_^h-P|2GP2AI3Dsx3;k*yLS;krPjVCOgqnD^U40qZLI_5t+X z^Xl{ly;6-#RN_;I-g}|Qp)&#KQMd5oCJNuHq?LNPl6&FhKidYX@kYIjEA&Uzd86K< zU!?h%{;dj3p}lmkS_weMs`FfuI{6RjFRWVZOJYCes+kA8->FYG>J>`uIbY~0v$gcj zM!iw&jKb_M%y!w5+Y(xe)Q9&g&0oA-QO(bOlp*td^5QMkXSH5qRG-`TWAy$_67LVj z01in9jWQ(dafbxyUPVUWtcvU*bnjK|C%-9_!VM+PN%j*ttbSK|h59eyk6lPpEp0+# zR`HjybU(CL=p8lQM7kcoX$H_ULn3AuC+}YbFqBmxGLqi5u>`gLJ13UB)? zJUx=9&8U|3>n6Rz1M4z7hP{-bclN}vtmF8?TqAOkMZsVqQ{7dd?#pwHOzwq*mjQ~d zxDh?M7Jk0I$n)>#<2K(`K5vq3PxxV$uIHWu@i1Sppuv1)aS&O+gXLTcNg(nACfE5q zxy~oCA=hF<aK?P=emK{1pHJeUxUEc}gqMFWJn>ve zu0@uAf5heq-y?$EkLMZ}p#TIcp;d%fFyEjUjj}!HmYi#RVar7RcO?4fQ*(_4EB;4n zT}bI*0S9uOPh#kD0h!z%%u4g>m0X^-GasEeC28{5DPtd{^~zdqOJ4H`G40t`Ax3T3HqOG{Da){e|31zUBj<)jZe?z8qb1nfp^a48nd83 ziPV~lxyDal<{G1jfM7v#m^>cHm>=#7d^l)mJ1VIBzq#H-E9!rvS4hWGBvgfj|3_Ik z0U266&zKy*r?fZ&N@zyO``7urmFRfJl*ludayG&?C||IX0}=My4v)g`QNU0>KVSF% zC04!XX}+Nac)l{9vd-PqOZa&XE+jynJVUS`UF5z$=jG<}rWCkdm7Hfxg6^WTxQM%a z{r@F;?s-tqfq3j&VtFnBnQ32(j@%20=R%2#Ej{<+dB&Rrswa`Di+dr_Uk1)Zr>3n} z(4T_~i^O~jMhYuf_u&}6k&#z~?7Bon^4y|psWI0wpgK2`A`dPYVC7{2Ctma~`U=i~k=yN5}IYLl}yIO&E*hr058) zCqT=gur>E%COYETKT&UFXPDJa@xy$r8QKozUxyu`us})hZbO25p`YHx9{inP{`C#6 z4?^eR2fSyZ$2bFHE;kuaI+P5ZvN6f#313L=`+vZ*gT_G3pcyt^29H8*k5dl702^m~ z$ThSRx&bfFMrrXl99hM6_bh+UGpF*5X(xEkeVS(|s5*4`69NNI=OvR-@Ebr=UBY=?;$oa;XPY`zk=)81@8aOqcKI~eeC;o!S+Rc z8+T@v40QkL=eb7mhQUjKGP(YLOLMT}g$85G|AG4`*AX^_f;8TmE&PVSxloc zyJ3W0DM0zWzr%dJp~ddIyMV2~(=E*7u@q)l_W>Bnr+niD^~Cu9C*=7XL-`)Y6(=yz z4FYo#8eGa}B$f6V$A!2K1>fxCGd^nJGj_N18K1ScuI2s!*Dc!lj6*Erllz_ERu4jv9-S@RDwe8v>$#v?vsB&#F-7~wPaK<%NAhI@R*fZ;sL zVLoFLbaSZBSPTU~YKYHh{S*P&MCpLOQ9f2V`HbrueZ~Ul0ch<8pHT(czTRgvg$}Lb zlOWKUwLW76^xGPrF%xn?sp&qW9JG~{8x5c=zNpc`!{5g&?;Q;NxYB1l3f)O1Fwn^r z79C6R8TFy|%c&2Zq_{reGlnkn880pM8P}Hhj7HGh$9=|oi+zR*>cO$#sYL9HMLwe} zG<+fM7Wj;B=M(#RK4T%|53QT)GdxxKdwGt}Xa>DA+h=rxzL@1R5}`{Z-z;eV=R7;; z)Mq|p2=vQopD`86J>@f=gi1rteoFa<-uT34w1YnU*k|;IzCTGGfc`q+qnh^_C7_KT z`Hbq&&JQX7EkE=b?;d9%2XyuWpD`M`a*P;3I<)$I@&@$cQJ)bB9eB@YbcRm9ODaIW z9`PB|puEFAV>wg?dhQ*cQ5V{Ch*X0A#(nIGjTlBk)KiZhjFY)_*9eAF54)PV8g%$oyp0D>$cnc3NU_)@aD8~oRvW6M*((Lv2H z*83U84JhCN%cBMUhS97*%tYru#qtdDH)mN)*2->%rPP=IvfkZ2~`{p4|oAw4Ek4fIF^8s z;4*M9_#~Ly#o^fTV2*LHx5H7bQI3(+$Klu%nPZgg=Wvv0j9!0-<9Tq~K!>ArlN@93 zIENz)45;RCBy`F#G6NhQM?&Wu;~D|D2KtwDI5N91DF26xLb9Dxo;Bv=+q1S7y?uq~JlCV-jX81NK0Cs5{gyXP1yVFZI2qS%9& zgE2h`X%Ha=!@$GfU@*8>j*$$8f$PC!@TAB=FL(;f6?yL*BRCj27!IBSW8^*|#~2D; z0FyjiB=jMMU%p*KfFnAIH055+D&c-M znF>sw%Oe4k=8+jI6Y%-ygBKQ%iNVN)$iXBJ7iYO}EFu?!83ZVbV&_OEDZzAb0hqCv zXDa;1c|;VyL@*9aUXo)>29uUz7|aAuf|1L}jB*b;!tfX@3tj^wz=Y)l2=v6Pr+jje z4ju%9HxMH*auda{ItDT@3?6=g0D{RcVxR`{mv}T_CO8zl0L~HqzbF-861Y?3;8E}z z_!AhjodDIu4j56B@}J2?9E=O#WYF<4bo3xB}$tQ=!Icz7QXs6+YB*iZ4RgGYx@h`{0dgsdJO zfXQI;F&u!I;88H+I031T{znu)@G!U&JavLh38tSUGd3U~ACt*I$EQ4Exj)4tXoy{K zFqrfic0I!Q9EYIe+Z-eDK@78~<{)^Ag;eQ{Fqln9BgwUYVYo3d0TaPwmM^4(8LYZ+ zG{K#bW1In#SW21El!%mI7Q7iLTPoK`ZjQauOx=PptcMP0LBQEI>&f6EvodqQU}9LV zvA!h%shMkpMv>Iv%%*_B5zKCa4)%Zrw?Z#6*Ek7YXu_0zYxvEW2L{u@gJ4(-=7QT0 zAh4NWE9T(Zq8E)G7~GvnY%sk$bG#AJc+`_=crX!62a~{UU^=)L%t**J^mc?8339exfjz)8mWzaRR@{My!7*Us8lD*#xt5TE*TCCg`Z`ufbR@v*;e+WLd30dXCSn?g z`)3F!nDi_u(FuHyH6`)r9V6!8;SYHg96pqLFcfq!`n?`Z2DgJ3z=MLx44DoiV2c?p9p)iP9!C*I z<`QBEW-MjwbvO!75)d#sl}UpU1Q3h@lb*pqA~D{~s55wB3qz}5!t;#5%01{mk^sF( z0Ku4-m{KMT#(?X=L~uKp z4ju$E!BgO2@Fy^M2ag1d1OrCn4;Th!fX%=QpeLS-L}mQm0zzbmH z7*gPEMykQ2cX*a#2@pfwJ-}1%GKdTYGlG2{JbaYtAliC~?-K#=0(esHj}db)oe}IF zA4K{gNMQ8V6w|+Tm~aGy0TN@yBWd&lOFIH+vMJ#?lX9;n9qothN0pN z@_-3}3>JYgWf-lRP7Fio%Ylb$F=PTJ)`33*`ybFv20e$*VPGbPe`6#8jG+^M228)o zFy|}+aGk*(@WP)Ak$~yBKI13wR6WBOIvcFdCi%0wJ3TX zU}kGp*nwd^4I^qU0ZA~7s{F@e_=6&@m5>INmU7J~2^M8oTRP*c6pxG$LUg zaSsFwghS1s3^lT`yH3Tyt#XWKgg-hkcwC^rBZf<&<+#vFJ>S^ffkUi*ZtQNu_KfOH z+-0H}*0bVk^ zvhZpZ;H`%jsg8(=wulOb;vk|Zc$EsMpMn<$uW|w2Pw*1>N}Rh)$YeytZBbh=z~yjE zP_3G}+jFqV+@|jOAr0E)7$s~CNw1Y?M5ujD-7WdV-1VmJIw8x8XgD;7W2tJ`%-yoe zPDG8xacp4l64zs-tCcqWQ8}d+H*=S%dlHonqQXxivjCBQ`y6A4$#FPB!E|{2)!WV7 zmH5QRIUuBROpejl)`$SlqcK4hYwoVkx5JtXoKhp3yUREO)Xe7YI&AEIR-mnV9|)Nd zn`0C!VE>FxzE#c^*k7-zv>@_l)UX!r@)ggcXeNGKU~nR#FN>o@x5IHGR;_B`E>|HJ zd6*bNKE#%%BiGg2ILGrZS`d^l6#czZ^bi~{^s z-6)tn)YvFA)76?NqOeoF80D^syAK6ssNYd>c{{6mt=!%Cvi8hYSUaVTv~pK+{nTB3 z*UDXkk9zi&cv?B!?s4v%Du$#u zs)of7u>NWn;JPtf`C{DN>P95y7~RA(ev-{1`5ObTmC3Pqaq!aB)L3^Jcfd&6^2*7j z+8j%e6V>ThvfVa1oXZQiID?Cl%GtrpXdxZkqwA`m9D@>K{=}a|%JVjQr2`A_X26@O zw&E)KJfi%ZF6x^RbuVHf6JA+5vQ;Uz@)JGjrq@!}EsxzD-5q&=T|2rfRXIO4$Dme~ z92x1FTs+V}wuB>$+y14glGWml){<% zN8-qEKaE$uICnb=NOUK%_DMCM6SgAM+)nOE9D(|CC--Rg?L|132OX-$c6L`oX<27- zQ-V6eUE>Q&=z^N2tx|nFg!SHZGaCxetRNs7-p6vcyRwiC@> zfnidSNQD+z4$Y-%co%n7r>+)?c9eRm3t0s(C2#dzTCillByn0 z$+@viwTpMRrgY4Wr~IE)`-FR$vk&7bWr?bKS9hbv*HUr}8g}MSLK($h+Z8!Rec|*E z4DM%Ib~tX!EwTi)xT`ydVzjUurD?EwxtqJGv#k2I8)RinGR7dn&F z#qREYuH3b%MGyB&PCe_}9_}BVt_x4AcYC=960QopiPtF=+gr-{GirEm_rsjLx39N* zG+Dk%0>S{*DZ#7@)+A7(DYbG(aqRP}zx5Wkg~bj5Y`;7Irj`?+_xqv!&^t=6oeRK)amXHYyZ_IKYR zvCa)}S99HdPu(5he$d5X8ubRcA9Zi~AjjA$+Evv4f$rC-xuy(qpO8vvFt9nx{Sd{5 zRH^VVHAkrG`Y>KLpvyYLtqw)I%c~;~yJy31HH6?FRLh328TzPdIMltwb>TPl`cQWV z_sL5+#%XnNjk|`bG|b(J@QfVh?&9`drDLq74ubvZF!u)cO8U1`RbF3rZMAy1yA^M? z4~J8^Oi*=4@L0&nBiy4yZnHU}o;*i>$Dxb|DRt`O5$+T2_&i1sBwJThS&8nceiIzI zM)5#NmvEPBg&O&oyL^x%9yijtZVxD>clVI>rE?9+p!w^;|58L5YWFA}9(DX^cW?JK`rK#L;%Ike zHFdOET+&9n8-<(+qeE#sl(*KlCbVVL>Cx`;A)(cC@3k_d6?6(wxXK&tt`ofyk-zOq zLKi>_WjVY-1$bfb&cN$x^W;U+3|_DrIfiU^R=qsNJ)ZnlYAm6dp&E{L*J*gLQSQCA zk%XpgGZGnI!FOu|`2FEuP>aWsA^2w7Sa-F$*BaCBL?S;4(OxtvH_5%%#*y?o2`@t3 z8A~dkRGr4TYlcjqzhCeLpU|Azp7V03!Z#u6EY|o%LNcInM(r9$$#kfTXvk|u;H;`J zo;qx~YBkLQjgJG> zqYA}^vq*C`i0_(Bt)7{6dNxt#%+>32U_{_zgF$$ zyQ`KvLk~Z{G|&Vt_yjp z^aA(eewW?!SahrC?_S_uC(m-ByOCep;(5joy7iu4x6nOBGX5fpZ;~3hh$ntj?OH^| zb~Y<}k^4y}Rlw9_TCI9mp7DS@Vt#X=rM>x6yOZ7XL&nr#Nt^KbNscO;Af+vKvAc|4 z<(l-?tg`!Pr0bdDfe~?mVX=Xs9RhBZMIpsG6L(9)>B^~#i``XAiI1HE!#d>q7^{LG zcUN|Y*ZL0{iK21zKWSv5!JF{o$KA8tmFwmiuSr!_MU7iRhMk~ZUgECfm)U?c39{Y* zcb2#xF8_lbxYyY~@UXLE;Bn}bvwL8s)AgEqWU0HgduW?Hqnc{C${iXR8yLC7&-JI3 zQuo45N(Dv``A+!}ky3iJpLATVFQwQtYybarbu~ayU03++!hNvDF^h_@80)UqD7FS@ z5{*g~MoYv=b;;NSs~I67t&DMINgX3jGg+EKK~a_{9`JXmzfCkQsmX?M(m?A>CBsCh ze>fvyvHpYzvKUY?tn|C@p0&n11845}&N=to|8wuYc@NJOQ+hGRRuUByi}B-@rH6(~ zWaA;p1!dhbbV@q?wOC{zvgs-o&&Hluh_Bch0-BZ$8u=T!=A@K}6|v7{goeLkNOtKu z1F9`SfVJ|)(8HBLLc0NFgO~7#xDUL%$K+0dhx3gzQT~{CH=t_p;vO-fA-+2R-o!_E zW5M%L`d?t8`7slzfZD(d$6C@eCwS+;lhv0=^76p5Ql&KU)S}Rj0@!ju+2B3ug%`X$ z@QkRMO`HG^?;wYX8AE`6B26QW#ouK>(V3x#n}OuZp6Ul5bG{U_YZu z%B(@wU1N&jU^#oyRm>@t-80Rk%*zS$>!pZLQ2q2YrDuDZDe66e7C zl6fzHUNy90wqb4iGyQrS0u`Klw!vxi#WrzLyi^(*o~444{oBO^8S!pMOPAC6?P6B! z*m67wFRjUgD@gwvvMn7|2o}q!xC$LKl0K~xlf{PZA+=S-(?FHLmvO3S-VQM*qHRZr zIu?uN7U_%cO^j}8-+{B-qH5eP$&hOTJ$MNlP&%QVHc&pnvv{hPWExqj|idc12H#mq&qtigr`x;F7(*}dUqE> zz_(~%m$5(2-Yw?pm+{PwD~kS6EgZCKw@B27PU2aq2%5JWA!FxmY+Ft;?SXtM{b~<7 zr=gMlv_~uvfwOoVhYEJW@!NZ_GqqiyguQTYA-%g7qqo#wvljymUD~=2A>?U1Mml*E=?j0;A@OSDd+X&FbCJrJ?qfQWX%^E_Ojj|DW17Hp4ATWnlbFt9dhtV5 z&fOkG-%$M5wTUdy&A<@T#mv9TdBOQ7m}WD*&G=-_|Kg}BU@hnK$#his9WKs(!t@l= zZTgoR(n2D&gA*)KM_yH;j;2x_^)Xl3p@#-9h$NfyNnA4_$z4LGL597Qei0r9M=4mIl4bfC zvQitzz>AptEmSLshgzj@4%>1lS?x50rDJw7wE=EnTj8CipJ5-RNZ7;h7}mDyO4~`f zfHAcT+i)yM_BXbP!x1(sUd$&`*l!n(8_Kbw%aBf^n#*v^NlhTO9C-nX)TW5m!oq13 z(+(-GKfPUanDBBHM+Y2nN2)r9k5bv}h>Nl$>|{9X=N=fAwM?cWz&H!nbihw9b#}ls zN(ewFI8OC&cwyc&LV1gA9dJy8U6p8;P9lAVPu5@txC0{E7K~S_J_Tu4Sk+6lkjeBU zDEKwi%XrR3c@ynWCc}|I9Qd+*f=?;=S&C?3?>%JdgrmuJ#g}2OO!HaIO(_yilVc5O zvhiQj>bMI_DObWSh8tAb+D6vK?hDu)m`WdZif3%D>B3vPPc9I)nC&Phk#ow%2Svwdml+7_) zJI3;E>XW6pol32nOZ$dlEY8;e+j)?Oor%O~msP>yEa4+u6|}aI#xoqGA_+gw+NuZ{ z;wbGDs=J1%yO27sA!_i^^6O%iO{-C2JgT%a5FU-LYN6Ka7?e)xx{g_oHoSpo71!Q3 zaOQ3y$G2c={`_wdPT1Udk(ErVxork8n52mYs_nv^l$$cY6JJ`qKGo@eq?ntCk*!p8 z6Bg~%c@xF>Xb?GDPQQ|oKLg1$16?gGS*f5KQeGAes} z6yIw&Tn}PPYgC>tT3E(H-Y2EU?7eImow(4&;XXR90IR0&vN z`{1;dn)={QkOo1_fipDywpb5t?QL|b=if?qx*}Q-yNzn(R=`-|yKY0*Nw)7rg(c^R zlIo_q@5K!?SWUmtQZWODQ;7p8t%VAZvo&l~wcf!4zzpZ4T_@EJz##7RCBZ6s2bIT` zbq5xlRCos)aWduKMN>4KQH6!KzkiJnw_E33@s3$L;s5PD+&?F{53y6+zUB!^F3?OL z42rF`K&cvuI6WF^KjSW%eIG8k{Q37qlnJF4`~V*ssO$&S0(T^m1jsgo{V=UWRVIA( z_8g9zvNCqc9WrWOI3y0612Hrygmbft@%PsxcUg z(xo(idZd2bgwp$j9*22g(REBI%F^|TF(WVuW!nF=5_VCML|do{1Q$#+I!a$}@tjg# zt)a>&eLg&Ije?~d>Wb1=SzL#?wJ9rF_e0fU(R%pC!xe^2baA^*?5?;V`{zrQ?Bc<GTot>H8eSP)a^eb`eY~7g|``r4z?Y%d9 zscpOiTb6Aq6!VnC7dx90K@ManB0n1{Qk%1p(SBDLiWVIDQu6+>?i_xb2- zWs&N9GtzZM%1@iiw-zbCX*i6|s+c=FRHXK(;kAc*+#_?_vqfri&E;2%lt-Ac-7Qjn z-q6O=o!J@&de-nvFvHmF`*8^3vbT8#a?jQlf{IknH@xSvONRldh-u9 z*?%@z$QaMoH1u(;H9VHt9CU;V#_5hpKj9@__f(r1<*?k&M$=lWJ05mOlb@{i7k@m& zA1CRSA**fuj-Qv=*{GcD)LOk=B`2s^>###oUK3`cDy7XibTvOeKliwFE5-`tl_f>ysS6|Ho~0VS9j3tq;8m9b9JFhhR3dL9PrHq-F}Kr{<6v`H+- z>;d9on37o8qp|?A2+C6i6M{NuIFRVce~F%-SkCY=v69=?CI7!%wi|-mt81ny{NsL;A=-x)9jV`<#Ykc3f-rQ2L$+TUuPGq%m^1`0%8->c4DR5`r0k3ij~J_y zJ-E|a#ugh~x^OCQ9(eZY>(4V3X;wn>Tj%Bwx?XA$|wzJxp+=? z>c+Obg15f_Ri$_1HZ~f4La2=R!Y7TcX{c%M_xyb6y5a5SV0PBvyTzYvF*Mv#o@E)j zZ&9t2&@-d8Mb8 za!(+Ck>=y1P>rrbsOj4`bX4E)*H$$zSKe@St1tU#_y8p54c^--mYw4(H_R~P3DPGA zN&5}0x79AIH5dPCDISaBa)yoD%9rKls+*RoFvHDlon6RBLF56xWJJe(3~jc#8M^=F zT{h8N_YkDWb!moKfAw>@>8&(bWx-TRY2uOXTb9gqTP#hE8=7VJC>v-l4zo1rU@&I) za4~u*n1a5VJ9z9RcOJFfyKJ(#&eeixwPDcqq_X**N|Wth%uT8r?riViLgwO$7EH%I z4R^QKHcZ?R>=J0M^S3nV;3@a=?+$O5haL*L(w25Eo`$bGekwcMT)y_RxtryN;X6B& zEp9GuZ$VWj`^wI-oE%eFt% zyO{g&l5*3(;&nrVFeT4xbuYs5B^$$}Nd!^~5)x&Pzr1E=0P@KVq4&i=mT1sj3~;R}ATz@a_iO<-4o3Wlw8e1Xq92=UxQ)NV4c{-SQ=3EF zTAjV2iM@igKh^-Peu4uU`lF##MX4Wbsjm(0&GjWkeMzOhiKV_pVg1{?sDFwv0Df;v z{ZEDUH&NeCI;8--ZEPlBYazfPf#6T2{vS(yXHlOSwO-U6z>q)|$?h_Lnc;tk!tsW8 zmoBj14JR(wVj~UTE;nGc@z>jsc%>qLzu%B|xsqY|m2zyCVaJs^Y^veel{%%H?+4Db zqyDBO%qzpW%dUndSIaRMLzk;{7*@Kg6?kqn!;Y&}Sf1hT)#~g&gX-E_?o~V6?s`vK zR>IKdRt8HmJiS%JarJ+~{6QIxOTQW_-LAwc7+Tz}=hEyI6Kd2o4mK|uv<6AxhF@Nr;_!a!g5dM9W zVZ@Wg>@PzpDT#mIXc!@VWy~@nr&U-dL*J)r_8@!K(_a|d zWbl7h5q-rxtIgl7GyMFlKhqoTKWhZM6`pTlHw@>WSAbOBKd*%~A^1fP_Q){vMI#}| z7dqI=wl7yXpWMgbxE$5$n?%T5>^9iFQnMIC@GE~d+R*$}fS}~n4uSD?BbICU>2(}C zY}oj^2AgNN`MNc1aJ4seSe&8Hn_*bbF1)GCk_=zo1Ol?c+d$CY{H=!FGt7QF7S5O5 zyLmitmx12-vmM#H-l-Y4*_(a){ba_bWOx7g)}GBaw8`^hLkuJFH{LKWuL2Lw&fbyt z-j3JYOdC0?!WJ5@aAt4Iv*uD*appyz?Ab*2i9(ArZ^|mh#7TAw-obd^XO(N7Q*^a2}ib-Wz!x<)~4h+ zAzZQC0aa<1$cE6M(oD^68|Rj0OF7d}h!Z=?_R(u6wvjhlVO-(N8Zx$mZkJ`XdC9Nj z>H?HYN#nwzSuRa;0V~I7oeMj}>}a4X-X_yrR~E}6jF(*5b;kast>xHq){1HINdv?*kS5T4cQ(HCsY|dNs+g;B`bN_4GNoXV%DAy*z8h z*h`x1$LdyHyG2YBRmNK3hw7UtGvz0xFnzvKs3_hfy6eYWStok$$AZ{PV|jlzm$8G! z%>ir}W39=zB5T9HkE9V5*&sHbZd8Pr?-^&S+3$?ir<#@7&+HIws*Juz81pK#;f&eP z&>)t|&eHQB1|2gF31&Aj@r-d*SsY{6jfN2Bg&t^gHCCH_F+Qk|nwt?O>W5gcNEG^r|7E-e~P_*5+I}UBxDEiu*&10>NnJw4_=G3jH*%sIe z<0~c5hy(`HXk3xNZgO^xCbniX*fp|i!_MiESd3Ql& z0L6DT-m4pnLH>U!yYGsnaC;v`>x3F4bnb-2-c>+9bPaT6Q-7t{?!e zL6mNqt&P65omM}>0fFeWVBvNps{PG~Yl2*@u8Ds?nLtqkrbU;aS#nbCZi9e)#~83cWybPA+faZ?drp9W?u+1tRgsBQ_HvWhn?k1zt;M6RCF}RxY)#QWb4l07`|~jtzSrcHXobZwf=2{X!G=h(D&) zGK>14gKc)%tdnfTO{+I^iUGyDfX7rWpHw!_Pk~xR?f~1>t zuMhK2-HSTB%QA>I!>>h|@)I@D0+UwAB})O-nht^qmERO}1^N2p?;i2TbOXh4nelK! zGTT{D%^ob2>!xY8s4E;RDMpY4*eYiEpd-YT?IJ`!ozceBtw;mcZ{#|VRgT-Yt8fPF z!f(qAP*+oC0Pu+!ph|x$s4biYs1U%N{&oC|dLeB@Y3R-uoZe6UpO|9~S9YP!-7_c6NC{bXsN6~cdyRD~U zjzX%)<|s1zQ(>>NIhtWQD@R_1lFAYwg~E^}HSrV8>C61fburgz3lum)YWj(e_GOh? zM7`J!X*oguFrQEHTb5Rg+Cyp&Bcp{n`X}gzK!0`dYD8s{tSMgTT;|~LeLI+`xX5Fw zv|^vBc0X3pWvamEpx~Q?-_olf8q^Q!(AkdW0f4UwqMiL%Fc1Dn_xiEQoPDGc{h2Sn zZ%aY_Ss*VFL~Z)BuvCkcnEU~qVK$l)eq>SVt5m?G#Hb?#grIFs>c{+i7?2kF#AlWX z*8qUcbuqcoacRd`eB|JW)O)5*0JD;ps zEFCAwFHnr?5Mj#{nY<7P#Hb#=Z*P&wb(F>F+dC+7kJYExNc3JVf+)e%3wfbRe^34c zm?zh9sy_e%$f`_z2CxXvI%u7s?}Guzc$f@c?kjDi7j$L_eA<8M)ez7>i8(9RQmBGtu83@yB#lZh&#ibUhZ0g7~DT zrhPKZ2mvGhm^RAqQ^dRYV_GV|3sv1C{+MRtJxlUtz`P3%1X#eLdfBuVlek}XOL|Kc z3|HV|DweH&s^NC(A0XXeK(b_jEB~{880>A9v=?d zfM7Xv&kCSxQ3QK2@K*Kpi`Kim#abiy3ZSLK;U!ll<8bE3AHSxvLzoA>8qSLIW3TD; z5avRTBiN*hw#AtucdhO=q$J$s(0kuubJ|5ClM)Zt#F;jZV8LF-O@&&Kjo$^vpgg@C z!9rb@y%Gx50jUkqDo&Rp>8a*O7E@wjfT+ND($w+HjTVfAC!9|QMk0baLSII*3NEd0 ziw?*5YxSxAdu)(OF*T$bqY#>GrkZ8VQ0D=1OpYcEzS2`6X@A79@S7I%8NhhhPO$6&gH-Ro9I65tw4sBX)-Z7bJUst=!QA zJQNDddJrmU0g6b`LFrI;2M%eF zMlj7Ci!{LB<5&WlL{8%|uH7hXJamUV1)b^YPc(OoohQ+F=EO2+-FQ|Ng1% z{AX5iU zT9o>PH^>+Tp0s8Ht5V5pn5Ez$(%td;2~P2u)jUxcpBa7v!10-tUJs?W6Ik`sB>;%i zyK6JfC%4e(TRFw5jLlr*bsrRblSFgj-~)MFT281m1O-q#C*eD-Mv^bPqNS&{s4-!X z;Wx%W?3v;51yt2VRqifJxnn`OU+Mf9L7fB0@{`G`W~)#aA|AR=xgl9rG+})aJU(?S zLen*RIFZ#zeLBQK$_hXzJf%<%lf& zm{P3G?56fWmo3p2z(J;^Qw%lViGJes;41fuXSya0Cc;K$8MV`u)5mk z-$8o1kO5M#&m5$WD8RZ2vmr-P;Qnzs%W&>pqVHoH;g;}J)=5tW#_l6y_wPf8vaoDkp2;Hk z_Y$I=H&xX!kHD~w3UO0SKX!Qdk=#5)ZvHNb2I;`by$%X+SP|fn3b4XSBJI|(DwXG% zVedga)}jxvM(j!@W&u`XhMiXg_S{36hz2qd7pXH~17EjSXwVdaovOep{4V%O@atK3 zAiN)w8ZM3qxiN;T%#B||oYq8zS$FiVH+`7}ZrhlFR}}%i_rPl0`cRx6956F%nzQNu!x$!ON|@3>Vfi5i&t^f|!6^G-2EM^;DV%BGizO;T zX;TE-y!$e#irOroMYCCzux;&R*bhyGH+>pDg!B;#?7 zWUkaXlR1@7D$;5-ye&)th1JV6BNMsBC;?xq^2oLdd50lp>yDVxL}50Dg6BYz0cO~d zMPRofUj_7*889BOq37CIv9bmxN^&pKs-x0M(ab$`VGiUk*%r#b&kV@cnxvdNR^8O= zE)3X!Amp)B&LccbhoMeC$o+L|g)vPLEK?OMiY#1d{ajYP>N3D;_7{Um!p2`(1lv^_ zKVwv}l5_*|wx+?GcovHb2}T1`GdS9EntyZ=pltY$kcT3>Vl+03RViP!2+UvwMj6P- zbTErW_+1iCv6U%wvxfQ9mCDUyoy&JG0<;XiB05tLIZ@_3R=K=q5tz;jj6%?CIyaAn zrtU@A51RY@N4I}T(fY_A>n9Yg*C8&E`W7t}2^^_a(Ng0VFBC@>EuM-&l$y}u`K(Im zU0tvg*7^d8=b7{piXsOSc(#OwXpnM) zdm*!?kNT#Q8P5|Bo!cJ*KC`{HJGNx!cBH_!n^R=^-I-GD3Qa(qnLSG-7&P~GbnK(^DldMIv5p%OLIijp|?Ln(-*Q9 zuDMr#)Xm&E21@Q zVoza-anvFNV(bs&!o_SI!`51(rEGxLt~Rzdxve2A)q&Tr99mtX+9O`)s+NY(;iYV) z<_eTRoAx(T?X2w{o&G_UJ_m*+x?XLkWD^buWJb*?T0a!=mR0>s`fV9&%m&k=W!T}- zP^sm3{6%5Qu?hAkbrFwElqMd%XybA@QapqnQ!Y!quR;HU+N+kZz)7GpcR*iP(~ZlsYr*(KJLni;Xz_l~X^krIKYybFErrarsa zNo;Xf-_2&TpJ?xHHmytz`i@Wyo1U0Jw%*iY4{Pl((g$Q@+CQb$d!Vgr=`jk~A5?cQ z>x=ki*Px#0ATtz4?+##4{mJ(r>|Y8+9At~IlYagn`X5W>4zZ0DJb)D_ zHVAt%^{5BZ99?163bxryB?IZwmw0VU^J1IQk%orH#Sng!>qY~ zw-B-amM^8_>|UI{VVv$xT-tF5sr_XU9zT)t=K^pym2XDTS zR{n?0_~(DK#4;_a2|KKu7OiofUYFw$G~)=iMK95=BdjO4-$08mV}Ck9mlBH20*8dm zzDN^4kp@!YQEYDCq2)(eXI|+~YIGJ^4b?F=jqBGdFYAxtz(7NKd5qQIWh#*WabP`7 zZH}`6&bGw`nQsmR3-M#=$);1su{FM#@{dDagQ!UkQc7oOQVvqcvrZ#~i%^Q}P&Abs|7Bfquw%f#Y>LD7X&8n~dtZ9>FJkKb)aySaVkXmy z|JV@bOpa&RpS<4+g|z?9uzHSbrV3ufHkW-Qxt@hdxI+!kBI9$Dww-025D1h!hqq9g zbdJRZv#G!i&Ko{NMpoZIJvCpP8C7M>nu2nyrSeH$vC`AabC~h*T)a@ec!=BOMi^yf$ z9iWnzAmg7Y<`OgmGxri3%_79ZoxWXSHNk0(%WNP^r$v|LVZ3u0e4nHED?l=Ywp~Hp zDDu9FLVKEdl?`%S>@GA(995XIkHY?8b;@+kg$MRvtSm;yJY(Z)$fy;amwmwz1* zYNrK?{BB-naU}zh=M*C<4Wk-2*fhr*t`>ZUcgy(b?F|TZ1o_@%qaDAwSZeR@QfklN z#N^Igc#F-%nHAkFn2T%l@)q-PeVHu0FN?m2w4n5z{BE=PWo|eZD*wTqLir=<(`}%E z^4wu5{IwG;y92pQBrLF#>?goTJ|kB3M~ z|BD@9oOL@Chg_wDlu9k{L8wb<>OJ|q&!c-Rnbo2$_tBY_X5MGP#TqyP?M^b@$7!O? z^b$42E~`+~f+{?~5sH=6=K-w$0@6KTp{^I+L0H%&m%J|I=ZA@Woz#o|eZazsZ3{u0 zfn@iPg(J&c?;-O+uD9buHlvs~90W;64^dOwc9vKIULKMoo@fV^bF>Hk4}#Ye3GTEy zTWGQBmD0zD*iKB9QEVtBJc4QaKm#5zpYk(de^dt&)qZIb)3pm#r60jAN(ZbT!Wm7X z-yUH)@1!e_SaYu>x1Xu(@_?|(QtAKl zMM^H+7PI1jxkkErMr5(f6F&lA!uPf%hbPRx>!2`*U$ppDM$^Rq09p!s(f~k;nPK{h zy$0#$t@-%}!%-*N4#f-RNJr$>LADAjycy zAX6p^4uqIHDGSm}$9?&%MfkSFsj1%YNpRm4LoJMepcYpp&O z<|3*N`o%V1{s{m45gz#?oZuHHZ9;2tsBpqfb114@8X$j({p36A8d99PqnZy*#mF=O zGih&`uAACXo9WwwR!A800NN)(;mXiUiJf5Wjk`>28^a1PD3>kZ-%l=lhMe_H3V6mm za2}@KGd3TF>ECCpR*P>Zgh6VQmLH6Ucqk%lXsd`Y#Yw8Tj?UKObs|k0L=G=jG>6@mn@9X#&Cl?H=G)iG&FR&1R?O-0 zdbCzVEoM^=6??$~c&r(u=L>LQPvc&&$O<*9SrBsD3 zykHmMi?4ghM!DZV2JvP|8`c7UlsuFI|56Hj#md8BZT*UA%G4K?0-ZSKQk_=3!v56e zHNsldqPMSD`v%*O=I86{3yG!IMGi_z{=-bI5LJJ?2vOya7Lv*zEd&MkUa^!Bak6$Vq%V9}r$WG75w4;ucS zl`Hk}3l|FoROA+Ay=Q$rXJldSbV0a|9iFqFu;UP~`#U!5p)}lB<^ywN>^^yaWaHuF z{_>I8GdPb+KC#-NdCP%XjG5S?eT5e|6qrm4KZ-NM%0-J5%;OYXv_MzGmx@{JMy{V( z3$~1UeTM$;rm3GqfphU`ED4J#Lpiax5pvoAm!d%@M+X*{U4!=b4s?G~gD`wOrReBWkLQ4E)Ja5aw zemTuIU^{Ib<4G`ZHyN)Df5w^fx;PaW$9ZG6ie_^@kQJv7oa+%xO|#{FG3b&l@2t`r zKwW*aG$$Jr>fE1MsLRWuk#@W{juKw5(# zT$~O52L~y4+4Fe*X$uuA#y4X*-%*UWVULZ)i}TWqN#y3hd#H3U=&~Ua`^`8bJI#Ry zmf0XdBP=E#OTPoJg}^q~f!9MkSh)nR0*9eZ30@!PO*2byFID@E)<~Kecb4G(3|r<` zNAauoH1!*1Bv_PCoW+@13Kd>P5nyDb1RhqjptVyMT5QLWI zJ-}L>GQ3GZ8qBJq0ibd0YoOHV3Q!)CYU^mLihGtmc~78J0u&rkGXo7u znumN7`8)A)rJBkOgl`)nz#FO(1dvJwIwnQWkV!3b=}sZq-RZJB>GJ#~P+pr3=z3<= zJ59_PTGUqt7ARY!E98C=y$=(hIO3qpAsMvPm)jPp-la@u-kkkzyz0y+FytE(U3f>f zg*LiCJLE z`KHQG%oZ3YD`0`8`zSZri6od}mSL0gB^>;A!kpUDJh&SF;fIm{e(sGB|s#7UEn!NrAovpH(`XYDK~JRE69)E9hzz?EwlB1e|3M zqf-?Mu3fPV&B2KZ&ZUBa`;!4{(a=ki6$%E)u!<(PoG7b@YkMJsVFKE+lJy4kKIZQD z>9RtvvP^n{fV@doNMB7-kY<>{#BI-k6O<69p%;wh5Sr)3$MLs|sgyVOs=0QeRpZ5Y zQQWsNa7vzv+lY$$7IsPL6gLygQAclHzf3*RPT~5PRE<`8V>TSWXkmII9rot+ROcpG zAwN1n5n*Q;N?{k5Bz$=Na=oqL67hmnG4BFR_2J(9>^RxYrX4;!IP}HO1-%}X?%_qb zL^Rqu1@c6lCO>o;t77j*Lr zUeJv>uBeNaiV3rhE1btD9?2*_z7rXmV1NEAt{436kJ);Jp8E5e>@N8R@Ms)D=@G!y zWtxvc2Z|v(E=5sR07l~SfAUB`NA}US0Nz^lPYQs_$>!s@bRdQ11#q`g9SfkM1XP5Z z>2Kj)^boMPatTv&Olp%tXZJ8S$EW{VFrFPn0f$(`+RHfjFHCnuJ`BmHrfMF*elZSE z16uF)W$B2kAg%9t2O}No8JDxKn{xz_w7sKpqSqYd|2cjO^&#KwiD{ z>3<+fTz`#$m03-v0{Kw*;}Jo;LCE)0aDE>ID#tO#fl9^s@)l0lkW9;~?2C1$l|j5Z zlK5wWcs1OY$P40HL0~YiBStb93t2l_91J-kvIz!7Ski-G^{^mU;p$q3q2S&!MW^HC ze@+PBOY3t8iyOZ_!%lh;a1$CC7sHvZuF+&Q^hPO&?_Cq4`zi=Y8~D zpp_bUG)nq4PCq7ekJxa5dX1yfA>7;PBGy1Fhw~Ukgm7)uiI!4TMjT>EA&r5BMRib= zpdT)dr%P>VLkPs7rfVTQx@PtukSXFOF~oo1<$p36b)nNgjNVoaL`C}Wz5 zuvp>GU66YQ%bgXwhbXEBPw;xv0ch4?M^uWyG?t@vImK6H0DTLE%d?J-)!@;poc`uY z5drM!FYKlptqkQQ5H|s!9t{oUDphN1s3ulW{74@`f26zK#*`;~q`UoqPsuglK;n7& z8p<)JWFUFii&3XA?(X_8bYf3ZaXF-)2w`CG%2HYwZ!KJz&hNoYBH7~bKqYao6O>JX>UtWg1%pALjo?8}+xCcQT963IASnW>b%n}B zf}B3oC=&Ym8`cLabOss}$-RQc6_k1;=qE!lKT3T?k;p65Q)NUVnIX!~(MI413%69k z5j+q5kluC2KnPb|38Nn2RZ-lrB95BAlUO6}#(Q>EG6b>pc(ZCFu$q`&VHCwtrdp!C z60wVLUj1YHV>{&b;{I7Z-kpu6YW2a$cC0d1j6g2+d7P?hH(;`?1?9WRi+(BNcFPP{ zMrZ5uX^0uxHGrfi(Ub<-;R^@N zJJGrNNGWuT;$>Ayg|InNhb{{na?dike<`qHsXxuG zSphfeCv+j|E7K9-jV*;aIatcv z!Q2i?2WqP}4(1Mi)o?$5HvwI!JjL*8#pv42itl^cy$qpm8F;m7 zQrX-jzpc{b_r|;n&l`oUXTIC@49LK4(sMjacQAxvVW2HB+#Nye<0h~oH_15$mfoJRbIYQ`fO;YYXQc~TjDb98Dk6Ud|`aAeY&$pL}qukd1& zr?3EYRzlfle67T1|OC^eHXxfOTzABvUGoY74D z2BB6H_=Hf!9OOSeoaF z{gpATu_iYYz?PuAUNgn9xUfRz1qAJmkr7iaV4Y6^NB)RU`6FKCkC2cW|A|Vq;hw5> zFd^pr!!c<|Q$-xL6%^>sE2dza?MdH;m-o7`9IIJkd#x_79h}uXa1WtG#Otwld87@} zL~y~|@^sdUHn-(VaWJAqJMQb$ZJEM=InwA$1CBH2e) zkaA)gr1!R-9AjukBCqAw7==Qn!K(BI!u{q*-pWQp2<&}hC7ztK#3F;_XhjC0?Rh7b zOuF`1m(S9s_Q-j8)BX0m0kSH79rz`YgzUguhzP$U@9Ta%N(}ZBJVsT&0h%e=o+DLnAUDI#*1@j4Rjn6T zg_N$b4=Q(k6D20>)WHZ$L02}?lKN=g1HY67XEtfN!BZ+3sdP)-cvuBy(+MtZDSX132=ulTIz_Yq@RjpbASaE%i zN|o`V7<3UY-!F`p_s=)0hm-VMUAfcZO+R34-*==EJzzzaW3ehopkpda-6Mh4GLaml zmXz89cK0-`>cJywy~T_#aJL`h#j=RVG5T0@j6P|e(kEPopXw+&(zqud@2SB;rIGDw zkSb#WLITy!CdjB(TTd5z!u~%c+g^NwOG~UxADRf=Xqztte@ALShkJ1^7O?haFL?g` zbgMVk1zY;ko3~V@hZj(ETpAlLXC_LQnWGSZS@yQ3vRfch|E}(NV6dEMp_tzssYJM< zD>^GM@=oG2;o7cA!pc>PP9^c1*q~h7hu8D;Zi7Sm(_!wE{Rt44kU2!%2|IjW`f#Jl zyCzU8M(wy%rlvy7@3RVsnN_2J7(4Rp$30X_!q7rVrX82&gefg56}Bi@*utI`_u~;F z``eE<^vi7tWlVxHnr-ifP#{w5)p2QgsDdb5SJ1Ur^@6VLU4w-jq6%9alR`rk^K^2i zXdxD{E!7Gdv_l#%W&l?D$uxWbCURriJAjArJG1D;0Pe}($5V-c2qR#g1|l2VpQaDw zY5;8*h$ilISv;N*8-xeq4)It>9mQiXO%so3+B69M1JZ$mplQYE;~*aFI1q$jD?(6$ zPeTmmoxMJK70f(EJu1VL3-v(mb}%}Oq@#o38uX{3L*UyXP8b4jq&00C!WSTG(Re6~ z6!v9?^6DzvDv(uuOiE$bJ_OT<_ed+uoo3-YC9r^Vd#W*vyH#15fo0d_ex7^lIJihQU9Ip_9Y7k6mDJem-=<%mH$^qj@5(xJ@37xgAGqMq`!gO!r3fa_;s&Kz`IHwr4n%N#;S7O{ox4 z06teGF5$F>0W}@P+>=r(LI{d2IVO#&s0g9>#6ltD`WK9mz3VyAq>N}{ksC8NSqN)r zi6wqEH<@w-JH}N~xC>iM4O76%nrLfQ7E=Edu8B)Tp>jG$;7l1Buj}h?x*$BFl8}nL z^oZO;UVwGFZ^h3_cUHTP$o8i2aIZfAS3un&xzSU|veD1na469o$qPW?>kVVLe@FuX zsu;VYQVqNS?&^46_;oxeo_PjuqkUueIu{R>n89Y#sh{}ilc|_->{!f8mPu#FA!6T7 zpU3efYrpW|VHJ+Ne(_Q{Jd&az-L7WaC^R=^a>8_#br2jjJ$ z`31&9Yt!b57~+$3aU!qjJQ+h`?dNwO_ep#ft8e^m691VaHRn48PSZYP?unNgcXGppF6JhhsJRW8XmXc|O;XvmPpQ&=LENJm<76NRSpiu_~>O`VSI zDq9+q&PU_U=k0VDxgM0C&XdajJWx>fw|vCpfUs`(90yK3M^*V1r#WuXlnfpgaU%(r zlEjrIMY?g=tCyE>`4f>K$~&1`zI@##D!eB|i=2~-lpE1w9_V0poD zrdWkjeTq0iVoy`1b2p@B7Eb4_STlM&9itOKjx%_BR+WC5!5e$88}+}?YV{=~xMVXB z13DQ$&%pA-ex+C)@9xS+avVx|XicY)cIx;?$Yt{^-jki7GI~Crh0rQJFNZ^OyYzg7 zDt-u@Y?)oLw$!1zvv~(+dlXvZIYY~5!;W91d$aj9d_`t&Ccnwuy3wLJAU>H)bC8Q4 zLv`mOl6*pA=JKuBiVVy`z~SD_*enYX5XCcSu(jw^DLY~A+x2HD5r9d!ftKv-hvJD0UhMq7x4|wz2q|gf?^xv(8bU%=fEQ6 zIrPU8-pRRGuOB7RgH%hQV$i>(ycsr<$1TOU4X5Qxc@{6znnIWH#8SJui#Fm=&~2K# zj9218F0^wQZ|XJ$6++{!MT_s#Ea%?NQ@i}wPbft#=OK=zP^|bLpFdE_a$cR6=tjRU z=S|@{JX_AIIeW`}6|&QWs;uCCZdK);G(YsDq8=-_uX94@AA7>dz7^cV`BS$ai+34! ztPo@4ZG5wmFXpbHkk6iMc_|5>2w3QF2CZDpJ&?NJy_%;&ts>XJwfLF-Tf@tx!j(wV z`Z(p-z^%2(iT20YSxm-Gp_xsY&i-R9Tg*npr5atb+71&Ghn00BaCTno+AJT3>FH^M z6KFVYVW%H$C+^Udz&qv=5}@YK+*s}?putcyP_Ay6+A{f1n_>E_&fJaeIS!_K|YJB`&a67G7sk3?Os=IlVc+;0)c$p03Q(SpH{!5YQ`cI z;m))7B zvNS}Nx7LZge0{hlPCp}|lVgL7kB!V*ik;5hR+Q>v#f@UisEHME>lkoW^?M#ht-YNF zmNpgRmM?js1j7oXz%R+4kkQ3@bjN2aG?s4_ft&6?FaiiHWu|r@4COdtmwN%@_z?QG z2T28a96QP5cmfY;;`+S&eucuy(sa~x(6kpRgN*a3s`UR$0!`7CMFODje@Y-nmOz+U z0z!KWB_K-whXhiD1oA8rNQGw05ED`{H|5F0TWeJ3uB~aoA35e4FA%SEefp3ZgQiT#I5v@&3UxchI(>4o7 zWGB#q^}JohU(gdy0522|oa_f$T>pXvs0ftu`F>LxmHd;}sCcVA5a^>CDDY8u;C6-5 z!fbQGsN0`7Us0UK{E6T#o>u+I{eAcTo|nHT#2*um-R-AyIv&k!;v%1?ZW9Ob@eMyf z`ac8+Fb^FqE`ZzvR(<$D{00%-&?jyw1a088_`iwNeFG0wzZ@l3O-~f-0YIOK_aErE zb%VBTK;C{h-QIxgK?^Fq5f682u#wj;^-nuws|SlPw=7M-_XPQiMB29z(N`b3x{(j7 zc($#~W{r`+st*svqbQqd8n_9Y{-1uM>6>^+biLIW9b*%J7zmsv*8ZxElvL>nkfXT& zfDheB>wkkD?6!y?M&}@85Fhz`;uawTJ-q=I|Nj648FU;WciRaMMHHECO+gTn(+xKx zpgz}zI&bDx`KMJh9nbRh(JDqi*h7;Un=kiU4^F71-_3MpGx(ZMxtn>zitUEWVtd-! zEVdTn{RgpWD1Hl;)$^@s;uc<$uWwCTx9~b;hM|0X~&s^>MdL^l%$**HN44daE_&pH}Cij?>+eGWO-==g8kC$M#W9 zv=6Fmbe%lJdN5}ie#2~vZ*FD!UTno}62zBMj#=E>*wE&BSA32Owjq?}{KZFwG{83p zFyv9Er9=4~(u-(w)d*O?7P^?1L0CXk>GL6B@m-|2$XhAb^x?zR zw%8XR>m=LSu~=<-hyt;AU4xHqS^;!ol`}6?a#yYQBO7DRsNvr#kRu6s8f%@w?*2yp$vXlF{&che0p-t9a<{VnFlh<|* zfI?Uo<5cKQ9vZaE2pbxw8g^VCz9>LUn5Yi@gxzo22@0lBm1`QBV*|n2Py-{cQmidN zBpg~a^56J@JLI$r`HU>8wu{%R_RAwo`a|D}XTU_^6E(P|knst;X!Wff;`FIO2Sj>S zllG9svWHSIE!YLe+llt?;+0)X0!(Ix;fKu3g*f`Si$C}3)CX1pS;c7iswh;ol_-F! z;>(x2xqI0scIY5UBR;NpI4&|rm3El|_wW#>bGD*m@daL?XkYCpX%EtA5tOlqw@Uq# zZRS|!4xHk9dO5gH;e-K;$gu%RVF1M~I+d~UCw=&KUt61g8eOx>kj;>vguge|F0%uR z(~a@axe+SGHRB5=aIZ49svMWuF(@vlnYg$D5~9AM0qFjQN7`W~Io`=j%@^Nosf@b2 zCBo_ z%pcr+lNZndc8Gu-3xfsYiSq>l)`TKyJ79%r*K~*t`=DtbM?r_U`lnt(d2wf4%;1Yq zAKWx(p6U8tEQZ2#kK8O~0>%UydbD4RZiIhMbOjq5(Pn@Lq?Me6>rLXre92u3zadxq ztTyuan7FX>xxr%R{=gv~)9^BG!pRyBmsMwf0&jA7Dq31arpeu4_+CE9%kPTl&3p?~ z#Gw>=m``=s`&FC^sOCz$5A(&YVI9PrkE&8Zp88eskeX8ezj2@g>W^Qhr5KE`2PCz*)#wC@=AZDjkeaK~SSorelZ{h$r{ z@MmSM*}sjq|Hb~Sj$p!`JdX2O{ljj^MoDUn_@jUt3mKg}O!%MNBn+0Qvr!902v}cuA7VT4}6$gb``}(%*FK!iW5ZfMw)s; z-m+M9f=9ak-AW$Kz234Q_u(O3p~ok9Ab)v@R3~xzzZNw=$tBjDYMsJ?`4%+)6q=n( zkemJODK|TU2Qor;PGLJ{3E|viDq2nchgZN(@T!0KU~JBmK8<5%7fE-Tmv?*KLT>yR z$_Q)p1P_TnqO6=^PJ_eb`bgk=1V3mQSXvsLpM2wX&aN{tz8L z1?DfcN)_Y&M7lB=p^4b-!FuLu2d74oze(prx6WZF_T@3kKgZomd;pYyo=kq{aYlCm z4Lpz4vn=V)bN>p?unl`sfdV_wSWu)k0LEaL@bMuS^HdLMCH;FIVkki&7kC&xQQhML zpX5EYxu6mQYgx$0i2~glNjg9uE+COe)bt`UNR8>nMIP(7y(YNP*H&wF4tlpU7y#k4 z?v^8rk5c~M)aViqD}MTKM5*?;_i%}~M67fC5+7btg@&S$J#Ix@<^dHNXd%H&H(yb# z53eKMMAliab%@bN+aXI=m8M&shw@PkEk4&J6d2gV8H(GKf0>7h)ZZ2C zncy_b6<)R0M#x;7BDv8auZ2+ z19{*3JL%gEJ{6bsC*R~1-QN}m3&@`NfZvz+EwG15Nci5wRfOwgdy9`mFp_c$kxCaj zatoVStEt3o-neF5uq-u00p$v`_b%_x_iPh_uSm`A@rvbY;_f8&;hbd2phqvflk3_)F)vlg|U*CUpyfD6Dll@edMUMjj9@o%Hiwz}AmQo*`TX@m;>ms8IZC zK1fI7fT`twY0WmX>(yOOK?-HLh9y~^T81gUzh$c@sRSfYRihC#{&|QzOECrHbLs-P|7dTGJ0j=p;2lyQx2VhWTE={ zYMM$|QUlH5l~!L1qQU$D)x+$hWs5NZ^sxemD!nmvf6AMvnVW#{VVA z75_#_ipIjPq~0pSXmuVEj(p_uaB&nUmse6%TW_A3{+OBgo ze9oiGod-n%4aoGeppqt0ujkyeMw&d}hvbMPE;1(gbW}~Cgf;C6ip-KkD5UvRhT(mL_^E@h)eNxkT8kJ4SC?4hM&TH;nx$z70yatz&+eUd%f}zY+P;OxyyVw42c#!8sAF%eH z!di%{%-Z^LU=9DY!5i-HG5B|(nc~&}%p1HAPzhS4L|XI)DI4q!zrmianm)fl-WvZ< z$Xo2w67|C)Vt*AeO`a zx4E0L5v?3oQm-Ubz*#!%#Y9@5~+3Uilz(4~^45Nd`~ zfc_Z$VDu&qmzYn8?y&&Z1+e5utKRc*m_lA3Fkq)$sQCx%KtEni13vIZ?$4ido84k7 zME++TK*2*4AfbQY1MlkDBv7_3F?hsfb~mT1bl0T~RP!VJu3j|hBW@ntf^}~0+IZ}b z-a+nSsRs4<#G91ci)O;JQnld#R%Sps9iOY zFOx&Dw%~}~XI`n2OCNm0?L-y|f|n>)cyyo`6S6h3W(S<`TY9yMUVP?_;?AtW%+~wo z{$1#xLY|&Tx`G5R@yKjvCP9tlw+V|EqVy?10SSr=|C?d_a?|nE)-hlBWQKpB=L=j_ z{HsJ?d5~+xueb>wPxrp!)J7nE_{y7>dxgjrrs5{#2Uj1<{H|NlqZo4{37c76ZnoV|~tqTqnyjEagg z&N!f;pr|;{IbmwfiL>Saj!B5(cv)&;S(#d4SvXZ%W|mf1R#sM8R);i)G$-Kf|99=Z zQQ+>rpXYwx_s{3E_?^Ahy4E%9Yo0b2)m4<=N!L<*9qeNmoa^dTVFUF$F26Cie%Q9J zd8VrLTvu%QP)mrv56oWklu%{7uKv|OGCPRA!P1=&zdwmdo}TCTHP6#(xz`m{W@B|p zr+`gB(~o67;!X9P*VVpCofD?7onpB@KTN*W#ufUrkBdUiPSwnCwf6adbie!|8#$*N zu5uNsW5B$WTv{E{zbMcBJ$)7ZklGCve92hLpa@8t!&s|bUrCYZ2x~%P02_YVd^xMC zB-uW7#c)mSzkw^dnBsfj#vJR!`*^nY5r@{r;nUC&Cl%lw3@6DM3;ObX7mxpl3 z87nOBWz7`HAi&dlw?XQdd4?6{6CS1JxU@z+DlW4JsOG}+3C~d6a1J0Wi#?vEm*;w- zP!D&6dv#^WHa7_OQ~Z)qaS?OO@V5B&p1SJN8dh0~J{>jpBmyOdXsz`k=DsV>T-8d` zhVns#R86bKQqSv}R-GFDb4}~ZImQ~gR^Bx~gAb5twL7`fGG$5#?UV17|Ytp@gevx_}}s;W^Dt0tWlJb^ZGg6CD0rfZ>;pEJ5vu3m*_%+f1!HA9xo zob<)m7r1Nf6!H7h_`k=Iozx7Nd_oyBd>od{aFfVmUR80o=g55?@5yZNG$TdNtD z9%z>TeF8}V{l1eP%HR;s!Hx2|=qwwa&(6z0e;{>m_~9Q-zm5Q&m)S|h5F#e8onq?F z^UEgYPbnSuWws_Mgahe)m2VNPi(fO|sYJ?**q>|E=ptJAz;9pRabJex{EPO8N>Ny4o;)y3qJLtk4ZWu;eAB>ZQ<^R+7K zqec72bJ4`L|QvX87%L zrnh$hT-;qGo%A9UI3I3PI95!1i7P!O6xW*hz5N^spVFv5t~e6qqh2YlO)8&M)^z-o zKuSQiLz3OIT-7U~b!KPb)Dqg#mi`~hi@dMR^5eghgSRd^9X08<= zN+D&^e5?}8Jy^lM+AW`j-r= zN=nP~cg^(ZeUJ2LXo&}km@nsw_#I0eD&mrsc#w!ES>k6cacL1>?WC@k)WYRL#8O(V z2H(GjU#z$;m#&QYVTYD?{iH2oKA%S6mi$h-BW+P>wXl>HU12g4LxtO-JDzBDu9P;S z{GH9F@XLH{(H$lWdiZJm=_WqsN6j)yz3ZoSFEcveqp_o)oUKlN;Rmo)(Un?X>GD|OUAv@T2mKC{2G+gDkr>MTwYPj(|gW9Yn?SiQoLm<7R1f$IEjYe zieFHOmSsvgtj@4+`{!l`nJH>1jm7~n$wPwFhvl@g^@9mSY|_2R18gVd#~<&?9kQNM zVi=3RJ!U4%Sd8>gt^loJ!sG4eRwOPgYBZU>8I7h#$v%gQnKoohWV+rx-EzIubUkYu z`KUE2q+6H(8_95K?ca#xduds_(UY_+W7#fZG?_IbHl^e^)9ek?7b|?sX$Q=@K@ynW zMA_a{QO5$bDg)Yzz)l-a8Dv>cQ;G?mPd+;oiQoqY{*0#|@G@EU>>a+`QC5~pQ(6w^ z^Pv>sbAV@WM$_`zXHI&Jfm#ht>(mU?x>TI?ge-Y44?aqQNjD%WrIQmIKNM9<0=3ZA z-w$F$oU+#x=bx0jywO_fIgC6%Kg(Y_z8@-2pw`>x#rdQhS9Gcy74<4=SVgUIIjxZX zOhy-2)*GsBRnjK9zPYDHRo331jw(|{d#}<>D$qmA z*ws#2y(d{IB|PL7X?3%?x?F|w(pYt@s#WH0%VAZuE)5P3WQLfHguF!QAXJf8HfDh@ zBTY|QL6K9Pu1Xa+lbn~_E{1ZfFZtbIBbujgLA^IrG7n8(6Ku0wt)4EIYE2I1x+T^n9n5U0?k8*5&P*e^uysmz%q4jpYp3%6b#+NN0Q*&!+^IU&E zu5Q%QrZ8w`qeo>f+IS;5`YirfZZMp2E0iltM$sm z#FWlY5cBwVBU56WS&3%iML0ZrVhZK)83ktHJ;{aT*)*k|O)9W1l_kUTx>`$VA?s@G zou}0Mb?KEZP{l*Ec7bY=_{lEuymBWWAxkNFRE-GXpkCcc${DDYSD%JxVXki`S`St0 zX%Vgj`(buHt-Y&({qS);EihqEbfKWWO(Y(U$2`e}krND4yWAg&XOmY7PCN2 z@}XEF6&q@8IAhcgaP@u6N`)61YT>S&aq8!WTJP4wIu&x*UW`7t(c9Cmuzb2yQPCL_ z8fmlm2KOxK8!eLTSX+4-Yk$b3K@)8l_wh9e)nd6*Y+dOqsjOX{-KfP7i?B(=*Qo7_@N@-3Ywc6k;lJtFb zxi!5%ra8j2+A&o*njM+!8=TVDpj$R)x{TQ>lGx_Gqf%3|AQmR^^{dBT2CG{=8iQu> zd^l^jS!IN2GuYGgX&bGo>e@zI!7d+uKg}6|Gi_llZ_8WqmEZGS>j$gP+GthOgmzS> zZS9An^6>K@OA^?gho|g^`1V@qnkAYS%08 zC#|&0c`Tz!l$PrxXIAP$wq2)UyJ!uZ9B}TU)t5H4i`GaIwF@KZpOm)?ef+mo-L6_a zt}N->6-_3fq0l>jloY;yP?C!fx2OSq)L#d7U~sw@=;%PL*<9f-I+R|i`reQ8Zx^`u94Eq$lAaL z8gl1vUy(a|%09M~mfb%zbLRwr^{-LgwJ{|>86vIDqL4_YEIX*ryEB|Vt!nhpzO2~i z?89um?E}-{KyjF*0Cym3Ks(vqR zAD6+L@5MV`r_y?B0P4)_aFsq$tDr_L-~#L-1GRE;i}OHjs@$18 zkT>t*Vv!CIEHT*k*k zv};aR&JlI!5p6idv%)ZKoGY%iI1W^shmo4Rb6wsmn{yVG^aeX*pO;;8^f13!Y{r}8^mq+)GPIsR;`;%2&s}LQ|qLv+{s!-Xh*snlSgniKYLv`oaF^BUXB2AimBhZYwP;s8OH|^%h>l%Ev{zkxTziy_eo@o3 zs8Kn5w*JsnYYN6E&8#g(1D^I5a|};W{!ya@rK7Xgs_!l_aYCK*B9jN6KugRw>m7%7 zTjCEb@kkNhyO3k3Gx1t;=ld!(UaP6X+=VG-_P%HW^9X%HJ%6i{bG4CS zb6QAa7C!13rz5gIT_XBI56<}(ubMYG9>sSs=_7__bv-97e8Ba|>coz}Tht}30T zRa9@y)5^$aFXm}G=?YGrul3hy?v5>Du=J%WzL;w14b?z^W?vv)O%>>^)(B7*1xl(+ z!1qd7s}w|J)yY+f30i>fsRx{IaxBj72b^S^lk|Yo(c;J!p#&|cNLK_|J5@r0R=#e7 z2TJ|TeWXt?=Q`uMIdc@lj*19RaZxU6D!ZLa>qYdZnx3qcr%fK8jAWo%B|z^=pse}?aQ#(8T}j68Gs<^0 zbGcDPtb%oTHQD#0pRL^fx!YofroilHGRsvcN*(a!`y~6j7cG+~_?9;Hq;DOOj1);XThiB(sMpru+1U%GI`?5Y*HZjO*^lGp zv8Hb=acmsL@gF}~X8&?oAuXATiPxYXVN5}thmE?+v7Vi*FZhKi7sEAT+`_vn{c}6TXD+mh})P?2;QuX zbUl(|x>tKPBR+f1a`)?I+`XPH?)<8X;l4gu%@1O@+PQr0w<_HKa^G}cs*3IZj032R zP@!A2S+21ArqAcLVEW~+^SLbZG`%>^V?RyQfBVYv^UJ64^VnU}Mek>D5&Bg=7fH_` zEn!Oi0__m3eG9LiIGaza<5uj_N85_sgI}6cZIOzz$l9^W z`5Xfr1|!dD)gl79Ud~)%3V%g3|R*??>UA!T$%BlHp%tbUlI<>W7Ry3YKRM)(g;!Ae1anHzfOo=RTt72=PPwP zjV?5sMs{dpTwVEI_5=5acHllpeY%6*@Sf`r1f^u-IJ# zlwQDN&CCaLO3%xbUOUL>T*pv_fYCzGTU6Xqj^3)Wfl*Ytb4zpb$1=OYH7SE8hu2govG2q z)%mKrag@=+yE`=>*NIQ868qVomin`z{@5PW``VJBmZZdXk=$U3*TWZiUZmJw;@%v> zpenya*I~THn`ZM;;ko`gY1zJi*|PndSXloG78co(6_!Lj@iOW@Hq+l`UK8eqk1QKo z|FCQ*vC(`NHmcc@I<{o9NZx%J$tx#JH&p*SUZMNZ>lN&@uzBr;*UgtcDMQcJXYLZ-HqF?j$8JA*t`d)arV;$o@)9gi?0sW6g`(euuR_k&2s9y z7pHS<=3JX`#|ubSE9a{u@5Wy(JCk1}c`I1F>Nf8J zJlFHbEDO6YSxK`(EOdGv3yo|^OG~0Yc@6agM=kZEzgTuVz7Dgq&Fo<@eHVz0U(&Gg z*?XosBibA3#PbOeJT8KvwqUd=P|v1g=F+>C?JF0ppv)8P<3I=mk{cPqV7Ss2V znD~oLKb{{BTI#>jwn}-Z^fu}fY-YU8Tr13*2Q1C(?@dkL3u0r#)7V&SOIF&FuS8N! zB*kn=X-lH6W?*PzhG|GP_Z%RZs@sos<*}ykr{efMh2!0Pl}R$$8{b+%>v<5zEiIw}5|wid=PPaInoLW5hp5+CgL-LOQqhu>NE6Av6eQc!jrVymJ3lv_s9_)Q zvbZcvcuj0xCOp?0dn^wReP-F-A{P3s#zMF)iMAx_&~emH?zYr3Keg;O`4DD*n>oy4 z`fd^%H=n}BkFS{O3~Dc)AS-SV!D10iv<1^mfm(9{Gq-kGwsTI2?OHVESsRnkO|bb- zn*18RsbZzNNQ&E%GL}UB`4MI|y=?ipT}7PaRRvj(u8>cx2&RbZqfg>`&r6nnZ+>jW zCH7-nx3ZZXEM|#hQU7`+>c>>%C#2rTCr#}VPl;f(2-y5Df&rF5?fC>V-|Vz(|MZb% zJLnY5M{VXLi|PBMm~gGY#Gfx%>VKcG)Qg`+eV)xsw3!LQ)NE!6i|M;uY`m}x8*84o zY;69}wBfr1ssm|BxntnzyHL)MLc=0pdRH8WkdEFvPh7_*;(C}Z8DmM*woLLNQygbVu&c*R?GkfD zdu0OJOmT={z9sOTDT2}>$k}drpj#4^eTG0hX*1UzwL%vE1_ z;og$3WRBx2>dH4b->fX>&mOYW<3zpHJk)F0l6sb;L_d)nn~Q{b zvvVZ>{)46y)#F>>+|REOdG1+kz#gfYVf%(QO{% z_VXn1+Vz%Kic86*KO7^Do6N*@?gwvLQE2}YuDjUGUKX=NXHowx9`!S-=>^j9+c!+@5}iaaT?E4|!B|V6wqC%@ z?`tgE*Y;Vq{V&3tVKbkwn7$pwM44%r$W2lE-Xeu?)5neZ$1@ zPb^M)K6%PA`^BqPC>s5W{7L-Or%(~a|@ntqvjqS|HbjJ0_TV`JTm9Eoz?OLzdaZE@HlJ9vTk%+dztdF`VMmzK3grjMeb@% zxT3SwT`ku2$TPxgqTamA`X{U3h+G$*R^Gd86-rl)?y*SAI^R7U^jA;a)9P0Xd78Mg zKG#P!v#=x_$ziLkTYsBZ4RE&Pi+j8dW`ge%=Vw*N`>d_9mV93eE7o?4?NH@-wJPeP z`&yYcZ_au+MetEf($`sjtb?#OWNTsmOctE;?Ym%yRW`c{Sc=QmcC&b!qm7aoxExkk z2qxhF?MnqxxV!owM{7K6E8Aq%K$TM4tkLVE(I8<~RGOkO$khn0P1lrgi< zRz85^d8xldB>p=4Xg%x$v^L%{-JQ!k3#;4$ZPdNvk5M1 z&0YLWm|n==BEp?mm^+Bjc={LS4kg7o!r8~mymcov*{iK`Wo=MSr(P=~&>$Z4>O*rlhtT&bc}S>18zF?_r*LeponSM_a8kK)^i zqjj{a>Uw9HQ`GglEU!P})+bTSK6LBDnG>p6L_g)amaMK7(I0gsCyV*UYDrPOI;(9v zit5c}b-k!Q%yqp?Ml&CMrPFn#bjG1#`Y2b$nPUpY{aM!3WK)o8=BuyeP~rQ&dPirn za+TCWWJRH*UZ+O8M+>?6`CfrcQCZC>sXy6!!{|b49?qF!dO>0SWANWCCWG#Al9k5)0IbUEcX188(3u8?gXFFM~B=2nvz$s!3(f(}RW^4a3zPiFeiTBes_1$9wn zCzQEH9hY|FU|=@{@<5%E{KGudUpFpF-u~I?Qr<$69a5eA}1@ z=fk5MR45;LE^NYuwe@kTp*ob;%acjc%Ml1RodxJo!N`-m0iKcioz&`UdG`Rc=N75!OqF zRMKanak`Q|jkVVHmGvboc)Tk>(Ws)&;1cgQtLVSG{^HC_RdV?mb)>3ZkrQfPS0%Hv z|D~E<)5-poM%DEWuIV$yb|rPClJ29{R@ck8F85Y1Ad%NmU7sowIY9)4?GZr2sa}O* zRjgp{-cwk9x}ZF{usl|BPHhMOQk#&JDJ8SKoCmY-gPM9(HjISd{);WlI}oR;h#Hjh zl4^Mk{Rj3CK3bCk{+W8OrrynYHltWAy@->OBmTh@N-CXTy%W1>HU#VJe7L6$2J4NT z0U4fP{aL51J=M{l32MhaVU`cu1FgqkHUG~-0 z>(IiTtE)G2{oFsju&prKtw`5LeD)>gNV}hO=|VGY$2p zoCKnFWBtc~p=>%mB;lhC9Vq)y$DH$gr2?Cv$#P{A{dqR;%?#E1ls%Y+(3#0?Ha;IY zf^fhc2VaNkp`}*NkS6Dv*`nW{p~^MYC(13l7tNh@7*s0xvz9YnEt9P*tOBma3bM{HsnAuO&++M~{T;|{)YcvK8LpWA z>P&m~)g%tk^^A8r>XV()6hu-(dTZCkJ}Ng-Z^!+(Z93_4 zvM;`q-njJJX9_BFs;HAbhZ*lWoq3@wE_TKVcRzHdcm%0;I_r&GfAvyVI_tG%(^!<= zKq|8+y&+qLCP(3d`$&XYUA+s_^;b`IC5rl=O-a#ueJO*{dW{+l>K7^~8`vU|ulQ5v zMeB83m+GnA(fTSbj%eP6CXg*mU8u*|(9{KsMbtN4u*hw^U9I+|D`8lnhIAzi><{Zo z80aJl)2+@4lT{sI(h|jBg?>j2?s&N|SYfR*M(R|59vt~Zr!aNYF?NsI1!J=fn| zRaST0krq7&54BSdY7#C<>_I^2ZV0oCI@Lq(B@0KfFrQJKWATp#_*lKtP7r()sRhYXI^HE&D5at<*D2kJrVR^5`>}OWFBW_ny4VVYc3)x;BL@QaM_C8OYc}Axv7 zRS(-2`mopU#!_mY0~Y^VlfN-Ik=h8+_v&(AJ=Hl{E$pZN?V8+CE$U~LcwhBGe?7ys zw1dgXpbl`lWC!mcx^H*esow^X!6=u5^=7i8YB1SO4=2cb5_pW4L+O(l5-wv zgx;6hB5MR)VQPbs`f6vI${ndkRp{Yg$g;n5S-6CJlwQ~G*LQjANphiLa`>5dof{$& z%cP=s%}oCyIAsfsXsqxDAB=UmOE+;KMZ8W-NP zFMe~w9K*b+0FI|vs2V)A)MssAlxO#>-1vPqXepK zs2QlT5-17KJ7~!#hvmrgeNjknqArZrD{(Q#HM!7EbcULiW(9NV{F*10hvb1FO(ldY zzKHPKbi(trl}c^Zf-(Af=jR!v#_E-wRhl2{8L= z^j;;qneJr&d2-@)Rk{}4%s0pBlRI9e{gT){7M>To^ET(~1I{PH;jRus!SZ*g#4y8T zxre9`kLlC9bg-Sg%?F=Q;=oWtn-l!NNF~ciUJ{kyF?n_siKWAoxOb>>gj0Vq3TKglD3+zF4jwz!qVnyiN; zd?ru$)+H>@w<9)Z{{zl$ILWgmzj&Ur97nJTJWFFBD%VhOb&Pp13wcZmp=n2NAnUZ$ zUgjB{y!RK&-s1?*vjm7!d(xQ1CXWkM?@Xqr(O2b6rXgVC*A%_>;31|T3;aDDFG*^e zr@f*i2vV>-&jd^GJJS<4-&`_}es9l|d>D~=b=hxD&$oEr^mfd$1%XzSH=XFlQAZAW z?3u!-V6pmq3jH5n<(#Uwprh1kDhW5MwpnoNVI(SLrjvpjncU(zPep7;E^8mmb+~+3 zi7NuD%%Juo3~}n!sd^2DFrQD=E0q3CTH>VhdGYiNQg^26)tlU=*CHwVc+0$$y<~IF zKj3@;$E*%KCsp+0gk)T>8ItmLHAW5MM|A9$sjF8+hucb|nvwTGH4`D#%x>)XWz4Q4 zfqPc@O+#yIEmKR4n5LIVh!UTZqr*rSjwkCR|KkY!lxGgAbpi9BHF?}?hJ`7vYr|Y3E zZ>~z6u2-oZ`Z@#O<78+0MmyNW!@zex;0gRG+wlDIqdGNRkM@b(YgQFKRp1OgxJi0W zHgBV4MVJTmAe&-l0G)>?VF)j7Ee|AFYPMAm^`O_ zEnz!g-jueiAV89&itkISJVb8~Q4 zOWmKNw<%w7s?%{hqFj*Q^0kyG>c|lC;%lngT)kTTaRJoHaj;{PXG&M^*O$!5{07K1 z!pVK~W$!y<#(crT*}A!Ozd2_=S0BJ-BxUF6J!OV=p5CTHzv>*hUbc|aZ+ujNqsMZZ zB$S;z`{wBZ%*}i>Pp{YgiYrGBzb{|NE00ZKvv)Tc9+7VSUlbn$1^}@#bfxd&x#pB~ zk!|70;mu8X%N7E1#oC*y?R-7j_2)Ng$$Y(Rg+T0f;|Oz@m43r$Y) zKVR=&@nk)zYJX?t!xPTWo=LfpNyljG{MCpj^!PgOH4yK@S8-p4RmaJN9LX&cc{X#3 z+zWNNg1Y&H-ru#kg6f-~*HV)g=!*kxGEj&~i4Nh$ShHG`uyd$;0k7b5)oUT+Z!Y3l zsCOyzMFk3Fet3A@4PI>FPnUST6u$zQOWa@g2G7@>~^HjhRrg>O+U&3rsFV$qJ9wd`^ zOZ9l!xxZ8obN%9%k-b#coHEU^Odlu<%XvO!e3)= zpXZ}f*?GONnB;e)Ldd&M#dDe~y?KqbpEk2_9o2D#UU88AN4AkQjUlkzb(8yGe0aGH zO|5`NCd~6^)2eqWzN|1}{G#r9sxi#NR8h;64`5zfLbhd?rh7W7*H-8aOE2AG`m{`d ze%;M$>hcP`lk0U~D~t47sRvbkDo_H2bM9Kt>d6Fw+4qS`(t|yQN3C6{&t<}}=#zR~ z>E%4B*R0Wwwl?wr3qX0v>QBEjUvtKyz>^Fgum7%|eUhFE=dqsD>r~i42eUx?{2N1F z4xIb1(gP}tFD!gZ#B*q*&WY^}QQ0w}DGHih)*}JbI*}GU` zKWeu_ZcBV~r71Sh^3=7&*VzqvNVmjiE%9j)`ykFc705A=?3m;PK9OV0a(hPdvE7)I z!zbmMB~K?m(kkV!G+&-p=I;eDo~o6F$!!Vc%pZrP-SONlZE8xrIV|gPY1KSQZ(Kfm zqf`;re6JkXqCN|_wo%PZ((APDsOQ+X1f;Z#A(V1YPi6N*UZ~A03XegkrSMDVEEw{4Hk8JUupfo=;NyU{6{>H_ifXZc+;q{8r-rNrKjG%woQ7bJa81 za+H^1r$ud92UT>nUblQ>WO>m;!HnKhE-QMiu$~va-82U8$}M*i|35V|diA@QEyOa( zDtsBl>buUP@A{i(FF8M7+)ApWtMvx{(+hH$Tv)AFF5d-iUJ&w9_<5%pgp$1oYhDoE zSHn^m6J-et+cZn`uZgSK1MzfnNCvoS-ss?Y>(>GaUY>B$xh7fm;+XKgC!bI7thKcA zGRk!<#Edy&_An&b;%y_uSTfof#K!($&;W= zui?$#WRR3E9R{fRYxE|ij!R-%b@nxu5Z+$HQp?oMYxT+jkus<%l-ste(6xH4sof-a zwwLeF875fo(u_OU&YM3$Xko1c8H!E}ZG2erVQJ2Yf=np-dyf5L1}V(!sh;rEB=j-K zZ%QG~yXeE?Ev=5O)mtXKd{n%-8Z+juG}=QghwW{Lhp-=&bl<+4b}vtUZ_7;vzk4Fg zgj^WxD{si(Q=_1VOC?+++iq$Pxrk>5gSVJ53xne=?VCS8NP*&XO{^T*TP;r2D})v` zJKx-EdOXOpAopLxT@;gc3nM;+sSi{2MvomBO(L}-4U2IC{O_%DQ9`wRh(EC2A6g$YiOQe)Ci= zsJBq{-KYn-va{99jZ6l7t<*-ne(0WT`VLVtnlu}2DVeK&w35RPP1ZevA$#=2{z7$Q zqh7Y^kb)`)MP;F_602%#LM5c2N|LB7vQ?_6zNqxP`$GYbhKkB!TjdI|%DOVZS+O;ZgNjt(Pyk1-E(c)>oC@ zte17&{aMx7theg#Z@#8~sR1X_U3yTfT*0|j<^3#y$a_g&Jz$>_`$^Z#JizVtuW!~X zmfm>2z+3+Nj{0`9-XwBBLH1i_w`|#6Ne7D5#}Dhw-#qnD&C7n2A+tGIaYr>>tJi$A zDY49p(Tlf9yuX+Ncvr?}lp*PkUl4_Vt=Ze4OX6BJ``+&hypfU;=Xm>#aHYS}D>hh( z8M}~9wzLU}nQc#F>0xNEGRa+f3+cM+wi&>L0TMC0IGy~P0LrIYWInxpQwf0Q)^`Q` z9w^~T85NjdUut|-|3 zW9#M0mIzPv3_LxStIevO@zEB&V$qk<^ezdZ?CjXJh_(5}7G3AJKQx5rcB^uXG*C!* ziJTgTSx*S zdV)fEyu4>Yu^}inM4o3WaWOFwqtggk0+gpDfhkPlFob;o`xoRGXIEG#zZdg6&F0JV zYJT5^DlW+}hUeppOrHIg=NPw_S-*!Tzz}9f0wM}+6D`bhc#91x!tYebka#FM z^PYt#o(tvK$a_9W3J5QcABx+AIR0INxg23hJQvI}C`K<43wa(+s6Rz^D>=v5_|$(# zXY=XH?>xdz6+1F2ooyYrMAo&zeLbvA_^Io)!Iq)d&_dglv zgZ!WP{|zsFXP%ATc|QuG!wyV-qj97{I&_Wz=TUyS{Ep8ExT5=M3G?5~G3LJdkOuIq zzxD80WPk0;F*e)0h&L?RAL#{k^4s`#zdyn4i%^UG58Ngc@ciF7{C~|KPJ}F*6uNH2 ztOB8WmYB~XR!b1Be?7-IX2&ps-~TQEezu{B=xFFy0B^iz>7TMOzuOp_=SK=ib{?0p znks{*650|J30Fcj4dV z7(acRW4sEU0Ez@;7Tz5AIqJkcGu_jn%%n#scnq653eu;qN@&UUU+cm&i4Ca<|QKC{J*j z`wzae9bSSzC7+=@exC0CC02XjX`Z2Nc)mA}GVa~hOB6{s&keZWCFB}{`N_$Lk7hx6 zyp(*uUrXeAMyL|J9fjQG>HjY=;eiMF9f-%(mRp`nKsGIV7!Y|D63>MamsqmeOLL8{ z2-H*}(+$3m*nAP(gidE$FTX$M7Zr;6dl)IGU_D1+xE$YLY4~rb9v6fDJDKpsZH1Iv z<6e^WTb_l&6ZkiOb*_0*ZzG8yaH{6&f0h!biRNa$ir_RFc1>F%d_xoN-!B`c47cJ z5AC&o?+3R*vCt74kAwcZxTg-1uLt}DrN3hFE`iN=bNw5%32Kil>a|>B>>d&gIu7mJ z3qk{4|9c9--Ijf%7_{XL-t3#X#yn^jbWU(T2nD{CYotM< z9|O(fw|@eTj=pU_@Y}=hOnFAZkzwHk6z3lz3qj+dNA2H(z~N97w8+LO-~jad9ON~E zV#}Z3f(Ibs<&ium)aG-=xA-v}rC3OQ&jP1F`}w`x#*JX$v0UTAQBnxX`yCH&2y_%4 zgE@$=)(Lh^O?^J0Jd$7CC?WHc(}zF8z8l;=1o6}nDR|KHL9?1T`RE!c|5 zhw^)ZO+!GTu%g}s`DZGx0_RywV>riOg#O4!dAxtZJiTqj9=Z#%ZTyq|Lmsc?;lsn< zu^7suJmdNG#Q6UcO85suc^)n=PJo~mkT0~QwAV;4<28KvV7CuA1o}JLYZPzoHEuv< zBCOx?oZZoD%<14YyzJVO=PTev_SS8IZlh=c|cn-b6$gxt*@w0w&H_3w5BLa~jxCiLnoQgO1^ z*ugf4X3(usULyf2K8p9hX(aCw+B3pyw1SQeCzQ}Pe9YsCrwIs@y2Wc$hF(%$qbYQR zE2FzYUu^OkBOni7ftd+;H}Ii!s2ud%daqF*dTX7Ru87w-mFhJHK^NJgF$KEA*Eg0X z@UJAag)P0cpx0J=jW*DpWZt<=MV|5+lamPXD(ZtLDXuHM#g9Bv*XXpwYphPhGa?oM4Or|oo?V2ygwn#);yLiAY-oA zcnS)D(&l)L2GH9i-~BIncaT4{^$V|22ikYWYqW^ukA8qcL>wgx83IKL3!s z0sVU1Ys5p@A9#(GP-$q}`(C3i^u{r-5e}U^>NWa9KfdQRCPKH~C5BLOXwy5qW@yh5 zUNdy;Ft7PAN%YMjFYUe8`12qY5TrqC4tR}<(9R66(F8j5w%3S;GT-tV!=T^xdyVN( z&YNE2NvI68{S9h9=*@jzqXYDDI>`_H^t#uW1pWP**GPm)K$~Cn8a1H3346UpYv}zw z>{)@%?e-dDpsTNVjrouct=;7{DnT#4%=?B8zvMN#Kxba0et>@8NzsFHU+@~Mpt8`j z&wGt}(Ec4>qa*Z5n%5WzU3iYX1l@j?VhJVq@=tB2m_V;?qfUlC*y=TULEk>(HO4~M zo+gEckwTAu@kAlw$4;5%|7kQrE zzr)tJ54vhmQyc5rn8%NP@XY(qW9G+p4;21co?rK$e)q@jLy#*XYCZKT-O>;s2BF|B{#Rj~?YY{&yZuAdsu)_w(Px-Gs$5ui(2doGoG)Es7!#LUzQ*FlOb8ndtndSeC=h&01{d zqkhdlh9 z#}ix)fA7$LmNguVe57G~1)fIt)(A^)z%UDU+PHDJk&#^8-PE0s+92CF$)=*zM%hM4 zC5K}>IH9V;@f>&o+yVMjb2wfAL%|opA>hkkPFIKHRO4*pNN!x0~yZKV4;5*+bevW@Emz`rXVm2@~V z!C27IE!$WHCW70*R4^S(2akhC!E@ks@Cq2(J=<`Uaya^c<-kNR1WW_lgXv%&FcTaL zUI*uuVyPpjN4BvVMktsjim}8TjO$5A{Rk--1YQ7#fT6vzjYKd4+z6(Dr$r8W!0TX+ z$a`lS{{G0pVDLH^Ai?}8UV-*NL}FF}eJ}#N z01gM^Ch~f`BsdL^D-zO~#2m~7_k#Yj zcr{=u*q%~y0UQhZ&mpgX>0rakxSva=0@LU7O2E`7$c$A8_yY7n$09N@*atigrY7*? z96y2Y@{ z$}{K)!sC?$1oQ_(!1z@J2uz6ENcrSPI(P&O-9(JQK3gb;H87BdVerBW1Q1Mn5d$@m zzr?EnGr{4Y<7Hwld~hR}3hos-cpUWKMGAv)praOcz>r#$|4e>F!En4nOu!&;6?hcf z3C8axK*Hb4s|m&fus!Ji8hT(RcmNE2otT4hphuqf<6&(A0{Yh>#ooprFg+vN*acoV zNCfIq{*NA__|?UucTotz;fI8*J|3K)oP%lLE-({34jw&8KpLR`3B?b*0PY2^pCVI& z>8Htz4GGAnWHK=5b6&ALXYvXfVfPHB3rzh2y9vTLi$gHzhioIRF^1Vba|FE32CLL2 z7|bH1q2yZjE<`jXCSV+xb{jc(^d3pt40lGhaTZKv&tzJ2BEsI{DJ@9ZGOWtB#2%Oq z#8VrX0VEm+tG)4?NPM5`Pls2u?UTL`vc39dbQ;phqW$T7}?X+3fhjF4~~^kgjx zj0aP}L~tjV1|9&@`>;~lfq;U6V9+487Jx^GAqUe&u>J)4$K@Eo9SJZP1}1`iz%+2I z@JF*_0E__Bgg=@^u>JhF4&x-~c$^qU;NdjZo57%XQUpu|j|d;k1TTOdu+Izv6p6u^ zcnBtfv0xe)2d1vcG4_Ie*5VF~122K;prez6@|ViC0)E7SF<>S*7K~rVI|C!u6H?Hz zfo%q08W`1?0B?j3rfufcfr(p)X%z0a5>PO4J1G%O06xeuB4Y6H1ThCMe9WuqhTTue z3t&R(nH-~icNEU%7~8-^7DRn|5c6!_QBOkdB@^}Hxg-;ay>VEL8SB0zbt5K~`|}Fg zGKD?>_Z^rz1yeioJPrne2gA@?$Q0>tp20vch}rLr zU>dj!bR-gR!6mtd?+9=ylglF#_^}K{VJs(xf-9Iy9f`qJ1O&X0%$)5gJY*Rt3_Q9O z199-TF*yv%g2GNP^?4?kL0K5^8IAsn1Q1MoiFsM@I=BUl--R9+_X>Imk7AG?RlrOz z6qK(LM}ZC|`iFoK;1nbf+>XX7giF$pi6`lOwHm|OeN-jlH_1KxC>0X#%czbd4qTSIIrX{0t!al zBs0tNE#~gQ(7&1c2ZL@Cp=t2%5)klcHUW<(APG5yh##5YEYOil(t}4`Owxey8iV@j z@QW~&1*R8e;4ja`m{9;ji!%nBfuRyiae%3%m?{Ai%QAePNely-y8#__m^uT~>cXFe z{g0TV0TUeGVPH0f|6pJTCSGCM8_c}Mq|h7!aD#C)7<7xNGB7j8Yg_{T8yLp$xnM)X zNCO>>4C6c)&qpa5&f__Z;SLzuhS3Umy)Ap`z_^}<5jLNI^f8RY`Ho7C__2m@2}UO9 zcmj{O3^8m0F;U@7-3=-p2+KB_V9pU$)L$SNY5^TpOPadtR+`r)+t@1nF{S(;E9K*e z;3v^?INGZBo4Px3?#12A-Ht0WBAdC(hM#XoUqGb%33A=K;~cz-CdcB1!n*{oWIkRL zybFAz4HG$tn&%TuK@`$H+bErnmk6%~yxRGA9G`IXQ5VI;a76h-aRkv2c$M?1XTlo` zuS!1NC3x|wX>)hkfYpeK+oJZMugl?BrG_?lcjP*er<=PQ1jKg8HcHqUl3uIPh*94* zcemyin$j)Ybpv)4(r{=F$4=F=g}Zgt(}pmJU9XyGnf?+PlN zM1?a5}|6eChsg) zBU6tyA@&2+Udj3}H|ABMT*Mx-o(jjCiD zcRQC)SJl0ZyE`97+tdbY*VV-~?#eDbR(adFYjUonMq6HxM-6R@)rD$yTdYQ?eQimD zRRYzEMG@-#BtoWgwsUvo;*M_Z@bZY7-44|_wNIX+)DP`&KSA9SSf~QpyPFW4==Sd3 ze878?z-jfXFx#tuaA2>B23%DJsyX5AI>dN;xVxP@W)K}$J{IGytnP-pTR6|EMjgl; zRT$;9lf>&LnPYq@pO_CEVLY~=#6+ki9o(Y`$Hfk$K&<+^10kQKs&;fQAd#N#=clUZRaoI+9@r*yoW}*CB z4zG>Lv3ODN($%_1cUgBsMwr`F4SuR4kpwwW-H0UH9cRF~DxZt9xM-wmbTTtq%TDew z^)mdj4N8dlC;r4yo{uvs9h8qZ3*I_)3|HYfi1Ko}sBc3wxsZu;cr6&nR-@R;pXkXj zJzACSYBTPOrg(Lcr=|{ulnYJMR;fN2z<3&7BjK49#ALIA zkP?3hS)yv%m29_P_3TPfJdb7v(d<_7HWjD_I3E z>j=S=REMD#C=FX-VZSPKLnx{VQ?rzR4 zFS*@GE62KQqrU1p++9sA>)~F+jabfDcYjxv4Qf!V`z2>^MsBS87d}e9RsGz{J&16% z=}o+@tI@rsoNrT$d%GXuDxPn9yT_2_!}}m?sK)g%>w)hr2JC}&Tk&Ld}m&!4w+x60$qp6q3 zi=&Ccan+!X>s zYUDiVW=J@iPfg#%o5mhoV#wL(@oe~Z|h5F+P9#?1TTN%+7SK#_;d`$kt0IYnQ`vw^&HI@ zc-k%{LLZq2t|yU39wM7*AC&K;@2i52NB6I>Ft;y|-VE z@wM6>Lmoddfo@`mDmKwQ+3m|clU%Jlfr1j+-|eTiPIN~W889TrC{jmN>+i0W;hy9k z?sERF9-ZRu$DMy~O`%Z6sC!e~JzP~5t1eUB>nViaPIa#(mri`#oh(h@U%x0(Z6Yw;1B*6&=Y>Q8cvvIcog^cO6$?jykl!T{GZpPL5%> zUowN^*ojW2y0O6B(dF=}W((a*i})5{$f8?i|I9-721@3*MeZg=h8NE@e%7sq{>?@1 zsnWYyO!-Y!OBVCSd3TGc+3sc(OK?9aS8T3Jq}v)Clxq~V-|{?gd2h*}XA<2D0+!cg z|C23}996E5Uh=LQ7kJD9p z#$-OnJZxOSakkh+d$kK!E49c{LCbVkQt?uOv^-ddDd8G!{*I=lkm8(#R z)k>#fKe|*josqmd%>VR`VsiV%$rA|Vb&K{-GovxSFQ_J0L-Fw^R z8r4e^Q~$8bBWEq~2fQ?n3)gY^A$-z^y3uEt(1pb3lEdjD-5GbPo&o z|GK*Rps21Z{&wL$vX+U9iukO=MNNXVM(CGcbcC8}NR2L?j?vUausW3)GqYH$AM8HK+XAVez+1aR0F6Ays?jn2f*9&ExF_1)luA^ zVB*BL#CrjCfS2%y2?GhHJ{SH&gD#I4Kit@^k+m2gJ`^wY;bN;J%ht#PPogdpn%QSZr5E zRB3T|XqwJSKB-WNSPr`@5a|#b@G#qUt_oY6bzl^tqk6v9SB&#NUa_9d{A_sH-L9OjDgR`goVxf1D#7q9{4 z65@n2Ey1(J)X8KOO|HW9NPnN!RjK93@H(s1DRkmMHNe9Zu2yrLp5N2Yc49l-LtA#* z327UMGxiTOdKa?rLdxD{FYUFvkOMYQd<|q)(UKZ9%N&Q7cYHDQd6i0{BQDbHOLtqwb-_Bl&^*S8?>?(gJXP5f38&vl;q zHLmp9l_$R`7J`l=IcObJWzliJ5W9WvX?LCtHodQgCq&)Wn!!+u+V8}7i*paCgka!= zT5MXO!#bhBwWwY29W=v)4#!0k z3a{~8?h4#YneFhf^>Gc4)2Q)1R9QQN^4szBBgtmsqc#@K5L-zi{3(RlF@qc(fCFMH zvegU(v@NtRw?ZbJ49dlFBSxBc+ z^;vuSXaTXjg<7~n6QfmxQz`Bor2N6mbLzZzQDt0W4Pc zqw4~@<1}B|Hb%lX9wcM5=D#O{nk0NL)pKisF&aLEnat%UGDr7Q8^fXT+L_249VT!y zIW7Y35E%2wF0){q1L2`GhO52>KPzqLP%gu%5{O8?_vS;m9B@|i%i6Ug5{R7w8%s2Q zvyQT{H`1t>6Si?cuh_+q6 zD{w0nF&r=2x(UAS)Y@^>cnMGMBVBS@v6qc`22W6GS<`yOso9LqY9$ZY-QP!90sH-cW z2YofgT|=IXz2q7!da3)GJ@@aTW)%)<8U9-kmnj%(wv9 ze;glaJo7q)lWECyG~lKt5X*N=d%92tcu<6~?1vDcRyr1fP7Za3kT<&jMH2?pT&t^3 zD@D#%S4Qg=d{i`G2f1Yc?sU;z5GM{MDL2$Q1gic91~u>xt(&5W5yFPUT?tSdU=GF& z==#aJsmfgb{aR`ezl@}=;5P)S2kl73-LjpUd<(5LQ$A`|;B_7A9Wnu&aE|R}Q2i|! zETlFj0dm|%=Y5oW8y0+2a2tEEhw|Mw);mKV1Yi0Jm(XMV z`@|`UuQO508ULnjchy$QDA6+!CrG=zEx4a%+~ckV^X{n_2Sz{tK78n+lKbdIE4682 zJ>Y$RqwY-P`t3(Jayx@U)$7zh931OU_{gfA0N71**U)wXWt4+e)i}&Wb}1*A8EqbNp!ES|CLq0WnI;}7$~MjMardwsaC!SF5vC$Wo2dl^mrOJw z#$4xWKCZpWrt%nbHau^Ofu%y~i7}VC{OBi_LCSv24C0Y>xyE<+7a+: @@ -40,11 +41,37 @@ main :: (args: [] cstr) { print("Doubled primes: "); print_array(primes); - // Currently, there is not support for defining custom iterators for for-loops. - // At the moment, this pattern is the best for that purpose: + // There is also support for custom iterators using the built-in Iterator type. + // You have to specify a next, close, and data member. The semantics are roughly + // as follows: // - // while it := iterator_create(...); !iterator_done(^it) { - // defer iterator_next(^it); - // ... - // } + // 1. next is called to get two values: the next iteration value, and a + // continuation flag. If the continuation flag is true, then the iteration + // will continue for another iteration. If the continuation flag is false + // the iteration immediately terminates and the iteration value will be + // ignored. + // + // 2. close is called whenever the for-loop exits in any manner (finished, + // break, return). + + { + value: i32 = 10; + + // This is pointer provided to the iterator structure. + next :: (v: ^i32) -> (i32, bool) { + defer *v -= 1; + return *v, *v >= 0; + } + + close :: (v: ^i32) { + println("Closing the iterator."); + } + + iterator: Iterator(i32) = .{ data = ^value, next = next, close = close }; + + // Simply use the iterator. + for v: iterator { + println(v); + } + } } diff --git a/examples/11_map.onyx b/examples/11_map.onyx index e8467669..94e9d984 100644 --- a/examples/11_map.onyx +++ b/examples/11_map.onyx @@ -31,7 +31,7 @@ main :: (args: [] cstr) { // To retrieve an entry's value, use the map.get procedure. print_age :: (ages: ^map.Map(str, u32), name: str) { age := map.get(ages, name); - printf("%s's age is %i.\n", name, age); + printf("{}'s age is {}.\n", name, age); } print_age(^ages, "Dwight"); diff --git a/src/onyxparser.c b/src/onyxparser.c index 2ae6c8d4..0b796c01 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -605,8 +605,8 @@ static AstTyped* parse_factor(OnyxParser* parser) { retval = (AstTyped *) defined; break; } - else if (next_tokens_are(parser, 2, '#', '{')) { - OnyxToken* code_token = expect_token(parser, '#'); + else if (parse_possible_directive(parser, "code")) { + OnyxToken* code_token = parser->curr - 1; // expect_token(parser, '{'); AstCodeBlock* code_block = make_node(AstCodeBlock, Ast_Kind_Code_Block); diff --git a/src/onyxtypes.c b/src/onyxtypes.c index edd1c609..70098f3f 100644 --- a/src/onyxtypes.c +++ b/src/onyxtypes.c @@ -44,6 +44,13 @@ static bh_imap type_slice_map; static bh_imap type_dynarr_map; static bh_imap type_vararg_map; +static Type* type_create(TypeKind kind, bh_allocator a, u32 extra_type_pointer_count) { + Type* type = bh_alloc(a, sizeof(Type) + sizeof(Type *) * extra_type_pointer_count); + type->kind = kind; + type->ast_type = NULL; + return type; +} + static void type_register(Type* type) { static u32 next_unique_id = 1; type->id = next_unique_id++; @@ -240,9 +247,7 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { Type* return_type = type_build_from_ast(alloc, ftype_node->return_type); if (return_type == NULL) return NULL; - Type* func_type = bh_alloc(alloc, sizeof(Type) + sizeof(Type *) * param_count); - - func_type->kind = Type_Kind_Function; + Type* func_type = type_create(Type_Kind_Function, alloc, param_count); func_type->ast_type = type_node; func_type->Function.param_count = param_count; func_type->Function.needed_param_count = param_count; @@ -264,9 +269,7 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { case Ast_Kind_Array_Type: { AstArrayType* a_node = (AstArrayType *) type_node; - Type* a_type = bh_alloc(alloc, sizeof(Type)); - a_type->kind = Type_Kind_Array; - a_type->ast_type = type_node; + Type* a_type = type_create(Type_Kind_Array, alloc, 0); a_type->Array.elem = type_build_from_ast(alloc, a_node->elem); u32 count = 0; @@ -304,10 +307,9 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { Type* s_type; if (s_node->stcache == NULL) { - s_type = bh_alloc(alloc, sizeof(Type)); + s_type = type_create(Type_Kind_Struct, alloc, 0); s_node->stcache = s_type; - s_type->kind = Type_Kind_Struct; s_type->ast_type = type_node; s_type->Struct.name = s_node->name; s_type->Struct.mem_count = bh_arr_length(s_node->members); @@ -433,10 +435,9 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { if (enum_node->etcache) return enum_node->etcache; if (enum_node->backing_type == NULL) return NULL; - Type* enum_type = bh_alloc(alloc, sizeof(Type)); + Type* enum_type = type_create(Type_Kind_Enum, alloc, 0); enum_node->etcache = enum_type; - enum_type->kind = Type_Kind_Enum; enum_type->ast_type = type_node; enum_type->Enum.backing = enum_node->backing_type; enum_type->Enum.name = enum_node->name; @@ -534,8 +535,7 @@ Type* type_build_from_ast(bh_allocator alloc, AstType* type_node) { i64 type_count = bh_arr_length(ctype->types); - Type* comp_type = bh_alloc(alloc, sizeof(Type) + sizeof(Type *) * type_count); - comp_type->kind = Type_Kind_Compound; + Type* comp_type = type_create(Type_Kind_Compound, alloc, type_count); comp_type->Compound.size = 0; comp_type->Compound.count = type_count; @@ -575,9 +575,7 @@ Type* type_build_function_type(bh_allocator alloc, AstFunction* func) { Type* return_type = type_build_from_ast(alloc, func->return_type); if (return_type == NULL) return NULL; - Type* func_type = bh_alloc(alloc, sizeof(Type) + sizeof(Type *) * param_count); - - func_type->kind = Type_Kind_Function; + Type* func_type = type_create(Type_Kind_Function, alloc, param_count); func_type->Function.param_count = param_count; func_type->Function.needed_param_count = 0; func_type->Function.vararg_arg_pos = -1; @@ -606,8 +604,7 @@ Type* type_build_compound_type(bh_allocator alloc, AstCompound* compound) { if (compound->exprs[i]->type == NULL) return NULL; } - Type* comp_type = bh_alloc(alloc, sizeof(Type) + sizeof(Type *) * expr_count); - comp_type->kind = Type_Kind_Compound; + Type* comp_type = type_create(Type_Kind_Compound, alloc, expr_count); comp_type->Compound.size = 0; comp_type->Compound.count = expr_count; @@ -637,9 +634,7 @@ Type* type_make_pointer(bh_allocator alloc, Type* to) { return ptr_type; } else { - Type* ptr_type = bh_alloc_item(alloc, Type); - - ptr_type->kind = Type_Kind_Pointer; + Type* ptr_type = type_create(Type_Kind_Pointer, alloc, 0); ptr_type->Pointer.base.flags |= Basic_Flag_Pointer; ptr_type->Pointer.base.size = 8; ptr_type->Pointer.elem = to; @@ -654,9 +649,7 @@ Type* type_make_pointer(bh_allocator alloc, Type* to) { Type* type_make_array(bh_allocator alloc, Type* to, u32 count) { if (to == NULL) return NULL; - Type* arr_type = bh_alloc_item(alloc, Type); - - arr_type->kind = Type_Kind_Array; + Type* arr_type = type_create(Type_Kind_Array, alloc, 0); arr_type->Array.count = count; arr_type->Array.elem = to; arr_type->Array.size = count * type_size_of(to); @@ -676,8 +669,7 @@ Type* type_make_slice(bh_allocator alloc, Type* of) { return slice_type; } else { - Type* slice_type = bh_alloc(alloc, sizeof(Type)); - slice_type->kind = Type_Kind_Slice; + Type* slice_type = type_create(Type_Kind_Slice, alloc, 0); type_register(slice_type); bh_imap_put(&type_slice_map, of->id, slice_type->id); @@ -697,8 +689,7 @@ Type* type_make_dynarray(bh_allocator alloc, Type* of) { return dynarr; } else { - Type* dynarr = bh_alloc(alloc, sizeof(Type)); - dynarr->kind = Type_Kind_DynArray; + Type* dynarr = type_create(Type_Kind_DynArray, alloc, 0); type_register(dynarr); bh_imap_put(&type_dynarr_map, of->id, dynarr->id); @@ -718,8 +709,7 @@ Type* type_make_varargs(bh_allocator alloc, Type* of) { return va_type; } else { - Type* va_type = bh_alloc(alloc, sizeof(Type)); - va_type->kind = Type_Kind_VarArgs; + Type* va_type = type_create(Type_Kind_VarArgs, alloc, 0); type_register(va_type); bh_imap_put(&type_vararg_map, of->id, va_type->id); diff --git a/src/onyxutils.c b/src/onyxutils.c index 64c5691c..2fddfdb5 100644 --- a/src/onyxutils.c +++ b/src/onyxutils.c @@ -33,6 +33,7 @@ Package* package_lookup_or_create(char* package_name, Scope* parent_scope, bh_al char* pac_name = bh_alloc_array(alloc, char, strlen(package_name) + 1); memcpy(pac_name, package_name, strlen(package_name) + 1); + pac_name[strlen(package_name)] = '\0'; package->name = pac_name; package->scope = scope_create(alloc, parent_scope, (OnyxFilePos) { 0 }); -- 2.25.1