From cb1942ad1c701731c201197841da37f50bb25821 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Wed, 29 Jul 2020 22:45:55 -0500 Subject: [PATCH] casting from void is not allowed --- onyx | Bin 347896 -> 348000 bytes progs/alloc.onyx | 8 ++++++++ progs/alloc_test.onyx | 14 +++++++------- src/onyxwasm.c | 12 ++++++++++++ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/onyx b/onyx index b7b0cae59a832202f5d6df92aa18a7b5d34c4fd5..4f3f842f402ce6c92edd5f40a2962ef8bb9f6737 100755 GIT binary patch delta 34358 zcmcG0cUV-(v-WhK8Iph)P*F)LND#z;iVA{)V$KTYoO8}&Rzy@hY8f!+98kxc)|}nd zHLf{e)?Ihkb(QnIeR>Aa`@7$F|G3{gPw`e)RaaMs(`gR#d8zxuW$tqVc!!#)LHC`e zoL~m=nQ}tS%R(I!+UY4nf?As$&2!9$>&YxsJ@~==Wk+>L^(dTwN6#BE={JHuJap*U zXJUE=?@)kUO|R|I*1_%cF=mKQacQVSWZ5I>dwm(>YrClXi&Y*TNv~SA8{=I^t82;)Hk!sVgZgn%{`Au2w=*_WeGop5_h_oNui(j(N2uc} zOk>fiUBy0}H%uQ=F@m#&>b8h}EKv2Vyok+KEtPvRKh?KNPj*mEu9D8}%c;>-hqGDg zzN#wwqSlM-z!s@nBb%{Ul}F8I+th_oqgh!sf3+v9jrzG-FZM+39KD3qQnl!g?3vmz zW+dya-i^s%bJ9;%58~XTm-->rlkbaFbH|n7*L$Xi$Hj4WA$@eMs!VZ>Vd}9r?lj;G z%cX>LV`}E>qH|k2sI2x))>pk>~n?y2JNp)>D zjqOkuG`qzYC8`6O_vCNNsdtezPGc-=2umAaJ1LUj#v3KKlNazW9)qTn9k9Rk$Skx zAYQ;pEz`9YpIuuW)ioJawd>YKw0F1RqK&&<<%Nssjv{NNU+i9tv6kxl9wQ5#Fc}Py zb{O14+#;O;xhLmU42GAR)$u)>vjOU_JxhxL(Q6}5h*fv?D$WL~H+mi9;a<9{gc|D3 z-btJ*YSlho?6umuPnm){@GQh9$4!qO` z$<61)CpC(Hc|#5FTfE#(Dc)ff2fSP%1sjqLlRi76Lr(L?qQoeFG8_ojKf@ zS^;8`&c-KQi%)ScJq?dm(%eLjMq zAUcx~rH=2fI^1y-p}F5xiwub5bE4E%14{5-Pz~tI=BV!m#1{MOgr*_iu_L9>^dg_# zNeGhS9zys~q^GIP21c^l>fC{qFs?2P^kYHl$ARwrg`Mg!Xe{?FsP{u`RdwB<_8yHU zGQ)wT=+O9-@ciK8QzE?p8RJ#2!RK8bO<;y(BadH*_PLS%=ipw9jZ-@e4YNzB$qX+y z(fy&Ufa*1}p!(C$yu4s__2y7NezLkcV5G0=J**V(TvM$-th`6sc$ASSYMByV(5#o? z1IRF{i-#3uXH?6uJ}xK5WtX%!J#6?&#+=okM}*lGsgbj!K)yCgtv%9@H>rkF>hq7) z)uSUH6ka|CC8Wy|zKqgKP)4JK7i-le!-^O;t<^NO!{`F)+fiPwe?f1n)2mUc$LP^6 zNjXGg)s>_7y9DQuc&pvVOy^~DsUOGO;H{m~&yKCjxT~Y;ZXR8~?H3f5Y-$I^eeA^T$Zd%(klS(=J+mV|rIAm3a(F43Aq0Stx8FhUdok!TTuQ6InP0Jd>e=zd zc~W`x?fCAziG$u(LqpV|6Y3YttboFj6nL8xpNwLo9Yl9?_4b5JUdN=~o;aeC^AI#d zGchny!fOrE8{#$~qx@2gkrbD=gP~54>Hw*JEY$95(xh43$*6ivKEZ1$>Ti=|=wodnQRVZQV#J?7a}JP&3>2UjVg8|r z)FQ}i4=PO+2fXXND=qhHgrZ+Z~@g z^mCW^;PQR}=$|2`j1QDPdwL8r*M5(-6J2)3R5P2ck|D9-Fzo%=YH#5Y0;vh^P4Y>PcmJT;-3L?+Wyo$KIvKfq&IHyNn_EDXv-wi zF?HOGX~B(znJy61n2<;1$dPOc)AcC8Z@F1Z!El+I@U%{<)uV8F~3HBJeC z-xH2fBL4woq^Nmjitd+AC2&baXs=t`HuE_pj6evx=6xCd4TT(U6?}!D6p1 zJt+ej8etwayf$UL{GuM6<(bdfN4PVM(rpHa?ETgEv!Yl)dg$zqyu^%d*#mMM_;_|z zdx(l<=#PZ(Wm=t{p8ApH-uX;8a+#=uX_A_*2IifhC$eK5_)L$rsSwLph^hyT@pHH$6GJG#rzH|_wvVjU;}h8 z4OCAp81CjFWv?FT4qrb~>rtY^2$>qGZY5tfO}#=Ln4KE7u$se>hq~EOb@;-z-ge3Q zf`CTAgpk}E4UsoKxe3@oAeYYS9}7#feQNPVNo=RObK**;sD4}Q?_c&lTt}S9J$ZqcCX(ZB!L5(z+OBxq-u|YS`|dZj_LA!CfI4%@7&cyY zObf)cRW5BDo2Twdi(#GAPibWx|Gul+e!i=gURucUxlFydt2SDi#3rkEmX^bM=DMsJ zYos<<=H+nwj&6NI9kT3;!}i;HVuw0xc|C{LGSNmozr2J)HJON3|5{#-T~~uv^a)*m zOBjpsyGL*-rV1AUNpT-u`y>1ha(oFyYnbM$Cs!21Hs-~O(yX*vaHY4)YD|Z=<$%;0 zEBAWF-V_ew@wAvCbT-;e)V~DMfj8BCS3=Ypt8O@$eic?GJJn}(0)Kl$9ksdyma^rm zJF>1STT_gGX|DRMnZj19o7Y@nzo?_vUSY-6y6b|u)>Iv_E)=%w*9AlI%etzpo$9te zn9WVEy1p%AUD6kCD8$%cHGN}y>=g5Ds^s|ivR>Ac%WAVt!yP)wROj?xHr-|{RNcCz zgx%c+cqr}Fn_E2XPYU+wVD;ZEMeVi<{5KG=+UVEd^9wtLpQ zB-pyy?%ajD%W|`7b+=2H1Z0~O5GI?yGa+Gu<$1fO{aC?19-w~PUevC$;E$@_J3Q;f z3pQ;)R@g;^6YuYwgbI_9*(ODW$yfP^T0?OcCN0$IJ3Q^a)&*Nm-3<1bVBOTqDCUA- z-}cWc##{KndYPkjb_kR6*(N^11Z|VUWWF$2uU6dYX=fJfWVIF8E`sf-js;ssuu^zE|sZ|gw6FIz8G z?AK9JA0&qI4Pme_+aORFcx5{{Ec7GPZo5jbM(N4BN->=B_NCWjjaAd`I95)ryL%ej zoc_!1SmsdRC;d4rnC`vzBV+T^^X$9J_{SRRyZyy6_2oSffKyYI13s*n+UCGIRzy_} zmU4V|SkLqRuv+QhFdT=sA1uXMsrL^0uny|CgS**9b=RSeY?Ye-@LbGD>kse3k+K!` z_RZ93N2cT0>2|aSCe)EfOY^c_)JLZZ8V_~AX11f6PxU%x=TL3G?mb$4el*JQpM84b z%RV*a*l3obZamh+kGJ@Hi`wNXXlpYPmgune}K6U)5mi*>l>g`kB#wo3=apgYk z#OkSqPxr_9ea7k9tf6}S^cJ_iyF_r|{QybFGlsoU=bWjGyMzm8qS+PI`K&iT{$33^ z+XP43@n-`IUwC6MoH1bBiIIZ28z6VPh18$UHprL$S}2-hZE|5d^h$HJ#JS?Ef*OCW zn^<_ywZ;UR>--=Vrj9$`(jj4+Zj_k*+xckb;I>syr z`HS*u!lec-2eBQr)qcC0erW;!v`MXdIXKvyLopbS)oy}fVun1pC^y(|5N$&jwoG}dsh!3iND?Z88K@Gh++~d{; z;lp$rfUyQ;(iL%X=xR}qTph}0sO7KuIW)Tod5S4q?Rf19ZUf5v9POMNLCQ1jlk@7> zpDQ}wEoT#~IIkZ2xj@*lEWx<*1_SmG$#HMkRsDeKa(A6x=sf|lJkLF<-7j9awekBU z3hmeBmsXzl%Gx|GIA<`-IcM9B`XJnc>fK)g^3GT*+!&6C=Tq$Aw?0+fuUB?%n3d6V zPHlZXj5(<@uNP;R)g9Nn@DKOZ0yo0=s@rP(jUb0nk8ziFY>1b7<(4}y^F&R(5zq5I zR`1>@!p}ceKi}}Gl53anEyjyH3D>HFozbLYOg}5sKL#<*`g)T+!p#9J(Ph%oQ*Hcf z0k%Nx@oQJU{=RzU*BG8>r<(U>fJgc&z52TW`=j;P_0wAVJ+Y6!lEKU$c+X-Tb>U7JOZC6X(s)CW(<5n5o^ntqMR&74#p8EV&1aE#%^}St! z%~xyQ4&@{6tHW-4^WX<6-R{I6)mHz#U6lQ#7P?b{EmI@!6!CBg#R%9dqDcvV9fAN; zB0m8#LeznGnwtN_Ing$9Uy3uMzC}(kt%S+Td^mDqe5?_?z2uh*{$G1tzDn@#CBItm zPb9xq@Hcbt7bLIyJSzF6!Y19`tUFpJ66>X6h2WP+UYF07{9+-WBzZlE;gVk>=o zNbv1**f-5#Q%mw`!lsJkmxbVJ;bm!=&inlHVW- zxGVXsg1;j9U4s8f@_Pku0dIz*10u0mDvk<%x#Uj@UX}bg!B3O?WxvusW zF{)m^mi!yRKal)e!T%!pcY;5YLw-=_%`)?Lsdy=jR_EX;2cMjSH|O97=is~N;9KY5 z8|L6^NIpZ9Rnh9`xkv;{g2secN6?_$rlj3D*2*< zpC=>w*UU^;_|6-+BI^##)yOf$j6gXvUFaMi#K5KILy;{+1| zW~N|DfSE6tB4CyaCNG!`f^h`1EB%khjPqS<)Ctdh`L%PD%J5xOt7mRJUlr=$%&L$N zXGV4NvqpULYIRPgC%=4F-JTh&)_Puvmt3vqs(DuADoe=yPQ|xt=n)M3R3Ee9biU$(q*yHwCkdldG*ZHJzUeysUP1JqQ8#fyBMGM zj%vNvrTLVb>e$z<`Q@eR(Ko*Q?FseU>(2Hoel-}9;&!Nw-xgHIy{X1urs-M-p)HC%+@2&XV1-j(RK}e?Y(lXUR zq>8IY|7e9{-^JgHu`TNR-%F?+KMm#UgVlzK?&{l54OwD(@YaGnzN**X zqxiD`-DdmWWBI65V)4wEFWRd%{yc}Dnxpq{#vb%=Nj31F6a3(8X>eyZ49cq2zZ~Kl zW=YYRbRnWBXJ)Uq`PYLx_~jTcd;hJ(_oe6^eREgV=%~qyNLgj8EWn5n^Wke#-g%~O zJ8`FOt1kXljbBREMQ?UUQCMa>UMN|QugVU@H=2!6XJ>k`^H|xH|NUzCnOwnbZHc1)k(vJH~(Ic#}NkqsePu5fGH;VS8UM5zR8z$?S zyf=zWzQTF_1$L}0uRTeZ_t+qv?Y3jpc=|*kV?WabI~-ZVGF>Ubp6%pIC+Mb!)=AS2 z4y-eOGM;vpX2qB;%W~^PB^_BMUTeIbq1#%S;cz)-PlttKr&(8AU6U1z7bQBePW<&a zUE!oF%8I7s&829_YGEtek{=zbo84a}WKEd2rM)xrU?Fi1`m>r8cW=_zdu*sTzKS~U ziU-Jg^-#fHe}Eb~;sN@Sm)5$lg}mozs^*G;IDG}(ug}70t}FB57xH9vj)^|GGU7!> z=>=9^E^C6S8|is&^iQvmx*};Ab#!A>`Oy(Fu%*&2Di3SLU8O9vlcT zq}}ektN~v$OvugCq&R?cNWbT4%Q7U3#CD`0<1Lu;wXI{E5N$D+u=UMcC7n? zMM|IWr1R2)^t=s7Mt!*;i{az3&Qr5E&Wd97%WreIVqX%T|bQv2<*9xI_%Z2Et z{<_)Yc`|F|!jJ_>SuLyVhLEN7)9tpX(r!Qz$bRpu%ko%dxr##8Qp$$Sm3Hfd>`))w z?ry4-#dt#ID`nAE**zhf+FQ3gz9}Uj`>l&E`nzWl)60%=A>astlN?FMO$f`(LE351TWNZapD~YB& zIz`&G4TQ`jWhJb#&yew6?R9@ilc{46n(azEJ^5~u%oZ99lk!s5)G9kCWQ*GBcKaqu zyDp_5%WR{|JgqWK$U5sXHj&DdLQ~>iAeNtPt((0VFSCY+LKY%r^{le1LN>RRZnx7c z?RuAn?C(TfR=_H=3xlkUl#L#z+xe}-X6v<>hdA#;Wbu>Bvd28Sg^;oK)VM5a zgV{BlC0qU|$DHx{#DZ|v%jMu>+_G8UtJqG%!ZLZc1gMSP6c6 z1m&r~y4WYr6v{SI`LKzuWM9dx0t>PftcV$w4{I!Q%pE3j_|brtEHBNj#OkpNRHhR1 z<1dB^MM(;ZU{Us+3JHH*q`$WfWmd2T4pLYYg1XsXDk@iFQLLk7WHmOK@s05^ z*QvfzSuci-n{fD?P#+EgW)1Z#AsZh9&pvq#o^nryT^$5_A^GrUV?MsR+#xORE_O)83yY0@a`UU$ zrLKria(kI9?q6^dDc)LAa!;}4&zln77v&y>wKc-Nbhs9)&eLL~yMx_?yRtvJTQ4p& zaBnQ!vD{NIre!kPVal;=@A*=~=Uw~G`>1Jjq!x=|8yCc5N;un9I4}L9^WCCdtg*uR z9_jocuIGjGb@Zqf%TKf7SrC6#O-54;5^$QjHD?xXO0jsiU{e`Cd4|@vWD%Ut zusm+bnlV1-992qW!wVHWhbU9l9oHwF{IsMk^K|qrqUSDFgpRjm(_B3dX3rma4q95YW4U;t zmmZpybj*7Hjj150_hhs9zCD!Qlbz(h@1{4$SqWO&i(TMsH*FulO3{Me>^*-*LSKetU(~tFM{M>c|<4GH0FcRki5+%$~~0*!y9iT zr(x`+Y1oEL9396GE>1;;vo?I#DjGSQ-R172^(Cd?0G>{0!avOip!aX%>lR^XlRunq$u*go7*AYG zd8e@7_^$buk5ibl!s`)f(^*j9_yw8T>yq-zHSu+c{$}Gr2*uYWuXE$khwx0s#`)AF ziH+o;^XXC&yT&)qrxi2s&_9@Gxj2J`Fm9Mf|0c8h+-I)k?o4dm`L>ysZ?o{^@bFo* zHx-N9>=$$|6_0iG7Zf;`dGc~ED1I)MlJ(E&`dk)ZPQfaS;y&lz8_lPi#%HJ4bkpFh zlwrE5I})!eN>e18XX&D08K0ekmnzvQWx6R;q*6>J0P+Q@-*e}Q%Samg6it>vqg9sQ z%(FAtO*j4dEGs0_bW=ul$~fJ0H#-H_m$OqS_IP#*A??meA=(W{yzZYB{M;;^2!2YN z>?GWb$WEb%-q|S>-!40a&>Cl_5O!>K%6_`3qDbL(=^6E!$EpVf;o3>>+tO#^KH)+` z=!)88MIgh)ppfOBM!(KuyIi|Y%^t{!Q)$6`)|5xjpx5)+bbdOChAv=Bd?TjoU--RrZzn@BD7UD@u zohs7B>Dxk9fmfJH;fpYkx=gjST*S6;hi;R^WD>VQ9e1E06-#58y!J%#z?G!hOIdmT zW&)X)vR`@r2~s$28HAScLg+!4ma&t{Epw*oe9MEjE@%0@GHzq?{l#9kh3F2<+roVY zo~Dbp>A`aL*tlUFRt>y1Uzi@OV6Lu*GLU7xo!&Y-GU(qG?6du_v6))E zRje@Y|2I`##mYEU{ag4xlQCp04PV9n=Kqei3|P%vnCqJ1*$ujII3=%PpZW8VG-WOO z@ott@`d zI?Y0zs$0{S6D;3OGgrpjwIr9btX085JK!kUG+2PX?uez`FBgqF%ToDClO@kNwvqG6 zP3X`CRw2)ot{5*VQ}Fr(=CU&x&%2Rwkp*!7CKPg!#g=khC5F?K1bsDYzQQ{5bziLy zvhTjjz1)PBUSxd>T*0L-ioXiTdW*bfV~fuv){(is!OCe{&mK0k%)ZPSIpvU^2p=a@ z$?j%A?IgTldM1NC7jEVo@Sg5I1C4sXYH;I1I{JVObD#J-)|Yx{=no>Z{<7IWQB>z4 z3*>)A(a?uj7{V6P5@6(}C{g*gpU?f2+dJCuM{ch#F)iz*L_V2;_HI!->DQR%wUhpg zX%>_8wRwC>$aRRD)(iZGmtY+-u0&e2hwPfm-Vf}J$-HxXrWS^0cOOXbA?8f&8u;1Z zcTLXJ8cxX6egXZC8D-MMOsym+1AL1qnOYH02~aSo3aBh77IYOf9h3@M2-*o+4mtut zR~Z6|4IbIIQ~y3b{rXeyzgT3*shOGD(;sLq($A40cxt9rXj-OL7xQLr$d=QMzgR;L z^XyEm&#X*sB&a%g4%!dC7)AcgH1oj4NP-Mj6uh8mi!!ylpdBEa?0<^Fr_Ha(^CpLn z{79DqrGjD>XPUK!U^;;6E=8Q6{b>>f|Gz=y;m6nN>&k!eT_n4ZXHdGr@Lym%U{`AX z4_hDNh>csn^_iN$XTS@fzpZH@+Yf#{Xg+9?CGZQgn9NIlLIpu%K!V?QT&4wo|3s#C z5$PVFhE}<-{hyG?-v}hIF#MDRuF2t}8)TzSpiyUmSq0h)IuG(XiH!e&O8p1ff3o|Z z$exSfbbrNdOg4Uk(hW)u`WgH^3;yM75;M2Bkg0V64FX;G547(;$o`Yv|4p{Z>SO$W z^;JEq&{ku>Hh^}6j)5+MZh@YHK7hW09MAyyK|U8S8I}T52^0%z1Zo57 z0U81lO+OQ~5VQug19S*<7IYo-5cCH08DvDux`B#<0zl2HD^#EPzg{Ns46HP)C|-C)CV*IG#NAplm^-W+6_7e zx(K=jdJ6gg`U-Nmj1~ZyeekCgs1hg^)CklD)B`jGG#)e)v=Fogv;%YqbQW|S^bqt0 z^ciHlf))T31qFc0gQ7w8Knb8OpaGyUpy{A_SMbQM0J8ku>Hh^}64uejEu7GZV9)Vtg{s4WwS};>HVWhi) z3W9t!b#IUf@bE@w35!6 zb^_GaMbkcmR98(~oJZ3_bK}cnP#1C60SeEn1!-6FYFh7nnr4?@(_9K_+Dc$mcTKwq z8dN~jHb7RRkfzYEn00sF;FNYV!yX3YPEN;VhFHr*S`G+jWig()z>sZK~@y}7*IexP1^$! z>8DoRh5DLVGjtr>SDZ)tcI??t?5O&7fiuv*owCU$`%h@Iv*|>-Y-j1iCj0Nv{9g@i z4s&8o2g3RP8kPLPnXS+zkpB!ap(QGTD6A-dYJN0Q)3$*2fCPWUih{S%8Sq!F>D$1* z(=}}*XbLD5v=p=v)OZFS08mfRP|yTW3Mgh4sy7q1pl{%FP;kzK_VovYZYkNuH&ZM} zJo&GzS5u3o`R>=W%KIex;e7HA=Mo{a(T!c%yiN9>aLOJ{>$4X%0sg38wwp4&`4Mvm z?VDD}(O|fWLx}-+j$vX3-sPA-fsqO(dSDW81+Y?H%*DWJ`7jRy+W{T$A1ukh0N`U_ zJg`!JEEK>V!0Es(zzx8P?pSqzo&~VtIN_zdt(a%sav2O8i(yp&J}r*P8+bGT6E`q4 z2rCTmFmNC6V=yLbV1-buEWjJULe2)mi!zw}fse~#l>#oVgusDgD`Ry6R;r4?f&T!X z0@dmW+{J7##Kt0W7lWZ+Ei6aCvGG_nfJqIoVgNq^cK};8!mT3cn%m1^zDWG!1}=Pz_Gv;!1=&qz?8nIIdE-1 z)I5*D@D6AW029(5eFp3U>;ddO0DT5L3fuyW9E7zO*c12xcmn8_7cBz}1CAYnE(1;) zij4vAAK*Noc^KANV5yO4Ibc)ZC*WgX{(LwKj=>^d9!v@joy~x+u;&^9+%y4A2mBkj z59l`$eGY62{0v+OER^41*gOe+4jeZbeGYWQnQ;v84$h5fzyj0J^uTl#EeCvpQ=8Ep zX&lZ<02eMnfw5p>aX9J%^k0sh09r` z&H@+tY1$j$!Vs+E__wYdp_*167=ky+5`YWJVx0tj1EvA}Drwp=pfL*TC2(J~ra5>T z3@u`?mICKv&8-I<7mrC1_z^hM6VLzR+E^nX2&$uL7l9vuZ-9^LYMQebni`96Dd2_% zZ~*jZ1P4I>#&7_v-xT?QQ=20{uun_m2VTOJnX|XS@U<240}XAFANa8y@&nyEAio(* zT1PklI$_zm2u$j#X&-?5fNnkr2p9&;*GUS;B{c(UfAXVQ-Fnv84T-zm4F@kYFZnh zT|YEEa5gXvxDj{=_z?fmb`RKgfTn!~ZUYuAZZMn$Rt1(Hg#5r2z%jtOgRz}S19N{c z8~`5;fdk->p>P0P1uR+uGaRrgaKf0lE)I0KjL!L%_--kRP}Z_!amEu&5sf zE0*=DK(Q5Q0~AaD7@*H6Y-iHIv>ycrzfs4jsvkUwS zI2m|(oTjY-2E)%upwoB^K42%H5#K#ko`C$oLBLqxfQg#c18AJ2Y14r(%wRTviJ6R1 z5Bxd>FLDCirepNtODYZj#2f(ZjlDxWa2v1(ur~G%(}6dD8-QPcXMuHRAwO{4Y~&9_ zm(4+b;2vN+(430=K%cqDFVfvr3_dU==V9;xZvx){8xlrukik%VAx1AS*CLEw;Lybw zy})@Rn!Xfj3iJUE-HfIK-U4<37TJoX2Sxzb0F(Bk=D@KB5jZgDC`NsV z!4Q2MgBG~sIL!*=K^|xS{-%{S;1g?)HPB$d@Gz7IMbouFUXo3qe*(ET8%!QSfISo; z;1MMT@#3rxjTO+4RtjMQIxe6!JrXdNSTNu$`3ks2F#!J6kvawQVyrVw2}VXg+9;Is z>6}RQrMDtAom@&GRSmE9AT^5`1AM=EVH3mH6sd9K9)eU}iV$#(+J-=g&;_{AQX!l~$3-eXJrb$HWD4cpevVae zinhy9X04gZB%@-mL&2ilEk?{)R2!x&f_jD`<2XtYsh+e|q>j-wk-AGC1>B-Mr2#Qi zMu3GHmxf6>8Y)sHXue2|p#36sl5Pu#qkjPWTuT}k!V6GX7-)hUV)aDx&BT%wU>Q0PipDqubx7s4a- zNWgEz$^yQUuYkK0Q0k_Dr0$?#k3OGh>1w5y*0v^#)0Tt-5fIsLr0eR`0fRE%^5m1041-zrS0v^&> znOZ6!l@3=#v4!c8fEr|~1feha30O>V0!mZYO3?XIl1TZ`MgjBaoPg8xQou8EjDSgX z3W-4KXR0qCAN3V5l2QcBp{)Xv=u!kP!j{lWk=jU(l>v_^5WvxIbtONR?dcsA(F;WLDS8r|J)Tbg&P^rLc`1pGTwRWw?iv5Hx~dNM3qZl^5fe z@>AYOVBP{$A(DIX!~)bpq}vvuQ34D3(lTJN4aGHW8S-Wo!WZe|NBE1ye%HSQJr?#c z0b~~iKTg5qFR*Pe)fD(Vn7RpUQHrJt{920E3A_|Srv;u5rRM^hg^^t~;My|eFK}*I zswr?$dFm!`R|T3Xa6~0qCvblRofdeu3OyINC6er-fn%$YzrZokR8wF^40RJ&A(o~_ zBhJ(~+9c8|;^=-YOa>35xdY!9N3VqNU>rHc0I$bUkic7UR7YS&9Q6`dtR~G6II|{g z61b%%ofmkoCcP49SBspg1FO`cpz0{BZ!Kyd(p_p%KY^cW(JaWT7mnAo!QVA%zpRI{ zJa)i+p~r?cyU}ANDb1|C+6?;c@$|d!|FsSkr~$td>rw@Quj^6^fzRsFFo9p|(E@>q z^=Yrb8TIK`pfb6>Mh8oC4|0p;Mt-#c6^MnlXhW(XaD78+A+T^G8Yb{tBU%7d1~k^_ zbp&!L6YxG}cW0HpYmW;6^o z{CYE5P!r8^p*bB8n9zdm3;EC%lqoQzC3)2X_G(E{0*fV3JAv&JXq-T=L|P`WMIzqD z1G=^nW5kR5x1!8iyqIEWtxh33FsH#lyTrY2Ya#th=o23r;g^|=^JI~ zyFlL+`t#rEPf0yCorcLU$lU{X#@`vF=>||4*5J>a9#p*!Iy}9nMt8$7=*HKxhbEeQ3IapYWdKH2QWV3v88Z3e&2~*rGI+x zj=Xs_HHH@`jE%E_8&<{QnhG3_X!;CjFa#FJp$_P1Q=d!Htqg@&4t3OUoBGiVsZJ`G zLp^exP2FpiRIdohp`QAyP3?45s<#`3+Czrc_&1w+|8=RpqgPIC#EsVIpMJKPsCT5v z-px4*xLlW6D_47}7~ePuw-##4@4a|U2iDvYF_^~(V6#4P39rm*)8QpN9DB(>mT*6A zKZpvaar~FWKId0ub~Z9l`~*)R0@46n}GP?fXX2V2B8XL%fU zgR9Q+QQTuZd7Xnah^n2#-p4|n&+!g$aPk~4!#>kr0`5}4d0vYp(}455gpcD$8SMjW z&|xCzR2N&!LA3ikuYoPu=kq)o|9%m1f!B)h7%GiB$^J5wu8DgY7Mn->IFFJ#&m2Hj zgYTTiWjWnP$1m_fd9z2Wbobd;?*R*Xz{D&)F7a;pv5CC$h=;Iq^z9L^mp6L=%N+j{ z%j&aymYI+F8h>mo%Q!0joUf!rN1W2?QxcMBvmK5~G|Qlmj!FfVMgdNW55`4pCncDz zqM=Sod9>#yC&dpt+N(nMgg!#Y^DQQ?T#$NGY%V1Tr-lBx;ItYo&jqJ*=yWca_M#WL z6mN8vy)#nD6yU5>!hxitGc0RRsxu1gN@tywP!>sl3*k;G>7s<=zem~%2qaa&H#+Bn zC@{IWC?PDEO1UZ#csaP6t5O1|h-6o#47T%!U6m^AE&b!Fl*PWbRBk|5YM)yvhkB~H zVbYvV+QX|n*<>-7Q-26(Jk;(`h*oH@; z{kv0I6oTDIm!gz-RI5NWCDN(Y23dE%P1Lp;!a7J}t0^5YQtww&DzYdl5Dn-}4Fn`$ zAB|Y^t)_#~Xys@07D+svzA=Da)I0`lo;|%vzfGdD+I+61X?3NQ5ut9Ysd(UYcebX2 z`QSQsXlRz^j@DUPOBuqQu2Q~urFPz|>DVOQeTmL;mp#3GW|ld1l(y~|Meo`x zJ#YwZ*+FT=-EUKR2c-dfR>q8YfD^+pE9o!isVL$EetW?R9y(mbB-g~agPp$w#oI`GB8MML9VR$GO)u2d-y&c4_k{a4fq$TiU z_I4;O{VX&GY{QxdeRX%;@f@>%92oB7;3zUEscX#s2ZV z)ybWsI-~FtyyDYG|BLR54@0r}9ZbFT>WF9qx#+5o_Ifk##LwS|5B}Xm|FE?4B3M1w zNBd&E&3ZOl+kdn#m(}*2aZAYmu($Q0Z0fJ}*1p(cjqRI#c2jHCvO3734F0?vTzs)N zZNvShk}6^=)mM03XYX+9V&c23-1LIv5yIvN{Q`^W6 z-XKfmsT~Y~uA;W%Wo-|QrrZlKsK(ou5bcrWZ@hiD&7VG`CfNKX_|Fw1XtFKcMwU0j zmTo4?OU_YVGTM(P$nsJ~%373`&yInmwL+Bx%=%bJu>WB!B-sBjvRlhylvFtu47~jh z&E3gnU>gdZb2Rs%QL=FBrqkfR(;1NsvNzQ#lsy)PL_k(mMq6qGRU@=cRr@gc$W6CC za#dw>E2-nHk6fg!+%&WQaWTNE*#ryCA#Fy;a;I9mxiGp^Oj11B-n82~OO3VK=qDoB z1@-PaQa8}Vflr?!s*A{wr8gce@ucG0gg4e)6OcoE{5>nfrk=fveE#>D{o9J(s%KwR z2*l`kgPU&Nz#bRI!pR1+KZ)6^u}z>q4$VbDUa|>l4#N*33D?hM9nfPP!fg+)mwg%8 zE*azGF!ZvIm5;;2adIm1wlxD9N}q~~$qv&iq|ZfuHjA(0+QY%`f` z4t|Sx#OIj)*V>Lj+3lEL{Ok!nQ*3&@9btfWM1?U$>dgp&Y{rG6a)I?LqMWaG`UIf2 z9fT2CL$r@G8c|MHU+t_lwoL$E?W{GnO}^jkvL1L@W5W+aRI$~@HbjlK3S;uM458zT zl>9~Q?M;chsN6TWGtjEt0Kv`b4UaPd$jL!*^vbI=qC%s3oi*miz{dO-*jQV+JFJ~GK07d9G5<`m8K4dIhkk}lU|SWF zvm-SGJ{P^$Lq@T~+*`)|(K^VmqsR0V@D&$wunB6KbJgl$SLM4^tEVhRu7dpxyss^t z;J-=iPx{GH^;Pk(7~U;qp|5($GEbvSTCh}c>($cEOU|J6Li=_cAq-2(v~~S$X;;x! zvR=W2?2`0Rlwg-v+FRG-#2h8}68o!$vgB61$ZZ)Ky`fzRF=2`IxL};FE-mxN%89n2 ztq(B8>jgIYp}AALa5C4r(NY67lHr6ZC#!#xJXoc=3my_-2E_|E2o65^&8;e+|XtD05*gk${mgz~n9kVhdvDAckeBmg1QVH@Q4ZkXavC zkB%&D0qQ8{&2W=GGQ?gcKwqN5P1XA7mBCt4S2(C(a=n9|Qc}~+{&z5T`tn$l+ZTQJ z99`xJwt(y4%uzX8R1S)eQi-y(Oc}1BBh>zXi8(34l>ewclA;a4ZCgnz>jkGlj*$8$ z>(&eHP+Sa|hSXt|QquIu=z`y*n7InA|Hv3BTmSR8&~9A}{E;!bgC6gPasJL?HhXHc z?jW$Gs3A5$zZ+e5%Wy-yo5@nYSz{|(%@*4WV^(Y-Lz{meTQ6ZXOGM61J*)xFvj%81 z<k?6eyA|Kkh4Md{UQCD8G* zG2cSOh3}e*u2DP+Up7_}?Ixy#z`sN@9Wmn{#cw z>#@Nc+6{aBxyFc2IOysditb_%;kTdGD*4T1%ykg8#H{5%uLy9V(fKmG;DPbK<^o(K zM*&Zb_1`YaUThl`hs^#B#DuciXdTuE&2rqVx8;Zq9@|Jp*hPZDUtcb_8VkzhG6Bol zytPWv##4V|X`r1fdQQJgBL5&m=5 z+bOZ8bf(!;&^l#^cLQ7O*tzr(TkQtMg0_b}WJ(=6yiO@px2e%Zbg!5~3?WZ&2QNNf z^}hx~SP`K(up;4PA>>y<7}J8aMOGTO8rw^O6( znt%lQyk4n=>$&I+xScgtp&lEQk+=bSya88|N6Bs@r1_#LbR+IS`%>qPxQaVNi#OsD za~>TN(2<@CVSV!4q;%n47h)r zXS8y=l8*wnqlPOfZo87mS8CLFhmxOm3)xA!3K{Otf_A{?5NfnT3FG`vnz%#xm*;s; z=AFuI{03p-E@h}w2V2ujqg%VsCVfZ~P@nwMk@o`COUFHMW15(bOWxabBwcCGoioUL zx3b15+E$}fy0lw~WD6+Q9)x0eLEZK!fh>{c>`@YMul;h5g0D=UP@%oJwp>n;dzDh` zIQ80#3sRMq?!`4@_LnTOuWJs?z8AFMYY)wzzj{D7{0ap=RBG_Mm#E)EC6X_^ zNLwE&ZF%@ba(;wM^?v6l;t{SxJuXncM@mWF@Ep-2G~3$KbncPToL4(TK93>4af)g` zR{Z$mQ#9Z)dU@4PwDK`JzxYpN|3qob&z+!FPn7yR?{V7rL>bB-9VMTqN?*SCD9wI~ z`{R%!bo8lGlb<<4_Rr8R*A7vIXG$rr5r^e4#=2*=GZ?C**Tml8m3=;uh(1K)pDE3F z_(A&h8OpAHkiI=bEEo2Z|8wPdq3s8(c}vZRL9SKyrmqk@*+<%QMdi8o(YzNx+CzaE z%6LA1FKy01H@DNY zH%di*U>hBKgC3f{jqKhkQQUDG)qJZo;QhAJg11UL9=w(QdW#l1x`q7TDNXp*4K(VV zGCJ4XEwXlDe{NXt9`PO6Nafz6hdnk?!h6I&c@vEj_-+%e5!ik+oqw+sG+;Xjma{L4z3_=l3f zi>;)4f1p0+S5Uc6${7B7Iqm#}o}RUw3jT?n-n)!?{Rw^IGCD5O6P8l`zmSeyihowd zHw0=LE&ogD%110AyT5_nOQ`SPsMo{AbX?%d#pM1O*k>{I6qsi*9sZ1VOkYIoAEXl& z;XiPZ{<4r3iS*iq^!6WRAiqJ>;fu0_4<-8cMVZ9w5Ka6SX zFQBnsk#FUEy7m?FW%DTf8=jzC^JtsE4l0$*RMzuPbLna(($iC^wx(?2{Zi>qO?=al zI^WM2%2&*p-`v=V_nbX{zi|=&Yc@4w#t7bUHqB71+9w!ON$7=PKJ3Xc7u~B%w)vdK1nplWbDANPp9i9Vadsfgi^ZIASVw zbudQp+EXoS9gMAtvtoNo84u*KPc?aTGkMOXVi|b7bc%VYQ7ej6JeM)iG{xWW6jeni{X?!FM2*!(ENzINNWj+QWz+<|$s5=JYiF z##BqcUd9IA&Ta;7bg<(s^Ot>WeJ&K%)^<poIU1=$A6KZ>cANqm)E-O;oc-_QNyXe#aDk}R`gAEtjA zi)&4Tiy@L?oJ<8hnp@SMtvjZkR&^;F2sOTAOmc#g`quJoTah%YRad$uoYYt#eGjvi zan!2bMl2W9Z)Zz6Mu`5oZ&e3V8KK^9%{|qs{$f>sqmDuys7iUFRh`#pt3awyPqeCW z2Gu`dR`pIgF4WaXinm(pSJ$e3Lm!1Y-(sn@MrasfRj(pnXQ(sMq`Ip$w`x__r^e2v z()c=Vg0Qlzl2+IZ>L2mb>7t3B(N3Yxw_1vETcCelTGa{kNT>%LlVb7X-QpvDv|Z%x zO?h0P<|n22HwgwGt2&Beg!R+wjJTA>8&BV{l3+IDrrBJUv zAjMa$&PQjduR&cq;gFPDr+UK*tJ-)(${$+`O}EOQAC+<}lKSVkRbGn9xS9%zFK6qx znnFENev)e25&oss>;a|1%)|4vRL4m$xMHmpG5?>g&Oa!sDvIM5@;WV;%c2Oo{1D_f z7PO2zh>eJ1&~94dCASNX`S_A>pgTU|C`uj5G8$N1ko!;nP@_`-o~KOEs^f%{L~yx{vV5uE1W zIID^4-DB9UibJK%{=3enP(i{>9E4FT{S8}LP+O$`mO7Q$#=rD8sSx`M@D$YjA>7QV zGj&s=1X=i){Bs?L=ooZe%=Cm6_IB8xC^Pn(CJx|WpN8Nq=L&6w!}G*-peR*6fX=D8 zPHpagF5LVRf?n`a-~I!GEo0kc{)ums+@PEan1guOZjc_gN797ktve_0pFv=E_$d_>*4d zIKQG8+<$FzF8Gl}Y~KeJ@@np)8u>3Z*TKPmy!1%}huVv=%(%Y`(=*c~nlocebibwP&_Nfa%V4(lq0gRLA~ zj08Wd;v!^$qjx!TALMsUw{kzd4xC=P^EhOB?b!EOr!=imto`{ga*r@?1Wy1rr`hHRCKEi=$M)^K5jo)7&vSr5 zh*JdKzSIEfoD$#Yo5}8hA?c*JA7r1ws5hqlbf$||NQNCyzdijU<`0zL?w=7yeFI~Yc$eZp--DNfUr^=o z)X&##VYvudG(<_9Y6vhYdp2y%7@ZsRO>RJL#rxKMdQBHH*yu!OP2l!2}qD)ME zA~mc%>TsgW$eh*6W*rE22WC%w$^2DR`XM;I?dV9Nc25Z&Pm;{9^cmw*68D|T)hp!~%$l(XQU^C+10l#*XxzpIFhGaQJXTSC*(=dMlp5R6B$)?PXJ{hak{bZTp z*t?8*GvxV@DY-Q!h0ZA@ZRV%Qe0vKTlJU_5+4jJ$Q=LtrRvL?2;beq)Jc9SqrUFuF z;Oj!K3+8%?p^#5(XK)>ES>VC%F<%G%95|(^4Kf{k3iy$o%#E*uNSg`%12^ZPA{!1h z5N6|^br{34_286yJf14ko#)YsJ@D&6TaXNDwEMMXtW5kZ0&Fr%P=7%)eSm~+l)%!_SmBwu+;eUK&y1N@ z=Dt(Q6U-n!El;Ra!B1c=;}> zN6Bsl}`JX3Ny%>S;Wqyc$_! zBpayiuc5L#YQu=mY>c`+q6I6Z@|p|T9CcC6u`HjOzt$rbp=Q?V!%nMRBbTxORf|ky zXVt{0(X63*Cn|#tPCH$@4ChaJsc)ja`LsH!TZ|uH-776TCWf%?FArB$o%!9)NJ+OkRNh6XiQblRf^NsJv-`^V2>W!231 zxon%7)F_sH6{GWZ-%IYJ9+aj&C>29)Md<=RQ(09m?{9jn$$ZJF_k7_>Q%B zp~mXbj@4MG`l;gxUNTUx727CnZl^XJX?mJ?mACLy4|O@twx*5i8p+rw^+>lN{G+2< zu6teHK29CeJsDlK>(O4MxyMM6+8$T=U%t8{r`WWMJxefFMSb0CbfL8-gCW8Wb9$J2 zgfqZxYF@=)csg61*t;cbs@~{bR?LGwn|Y}^>h3-zSu^!|pF^B`>#j=GR(JPJ;*Ypm zqhB$0QEk_+T)}x*0&&SPGvkudGv-&%jDb`WTmVR&O>VxB|+_EjPs_)pplW5A24B&GDR?XTSiqMjbPtIeVjC9#EK- zQJn_(s15_mB6(E?HYmEepzs!xnH+OBuIp8_pLrA^L6n}+L0vgeb@=2cLh$^oRvQ$- z$3>{42l??<5$ei8{n<{{WpH!}&r_O)ddH6jBekMlsnZZ7#XNxUfhccKhYpTlz0}=< ztFYnfv%#fUJ=J}PC%3a#OAi^(T?*)V4y&%78PdsX;ACbvxEuo(ml9q9d|XOI1R!Ij z8Zq>Oiveu1k;g4U9^R+rAJ&Jl<*Ipj7#|&@?jBx;D^co);idSlD0R;0;%dzi!Mt&d z+HXWf-$N7Owyo$`N_Zu+?zR>nqvRG%oBN#2RhypoWKYx^Bl@{KoRHJT^|Zz#S2Gr* zz8w|D?J*OEms4Ae&dcXTsJ%v);x%icop^pPO1(e&ci*Gq&_+yQ=L9;CNJisx{trk z>pG_WHNFAkpY7F(=CSePKBLKG(|7>pNz!LIM>6W^(<5e=neJ{ zc$*uSjAkPp#7GxcGbd&7N=7wv@~A37!;p>^Vos!l_ZXt5BNLF(d^x5^ii@*Qw~^|) zQq6`!T~XaMsmo%6TueXan#&Wi8q zj4#X#&+X$y}mb%qYP>mQ`=e=*gd#S8L5|<{f}hn09>lmgJbd zamm9oyTt`nEERx+4>M)BElS%lGm4pey+$&`7^IuJ=dfLJ*iJcY`y94y4%;e+ZJxt6 z$zkJdY;w#hxn-C>yb`_h{P@aCbXJUJ%SCZXrZ-aj7BE-!Ses8tGX1VDpEVAGLV*{wzP~=qkpKHx7c&hTx4Y2wBy4H!M*EqboSLj|TKt?u?zg!| z&J0@)K8{`09-x~U`WzR&OefQRp7)lyU41MZxvbW~v_}0|4a~brFXY5J_pu)95FwVa z_WaJGwXOWGSX;jrvF0D6kBF&=ZllNQ{#bRJ~dZ{M`x3p+En zqkrgu&C$U$SN$_}q$jkvA^68Q38pm&t10#bw!VYVE~II8t0(Jf788>n|C`64YZ$ z3c%@&B_)`z`U(F|REsY4_iuV1uB)DOo0=-teR9lAxb+o7+a24Hvrs0RT<)vAmeyvs z)U8X$v6X7TvOw%Z&6Z7IY3j9QQ8@7ATVCF=z+K(8;9a%R@*?oUjmU0({A(kM-iEOIsyRHQHYNbZ6o5oJ67uH>2@6;vhudv!`pAA90SPPXlgu?dhh9D^3 zZK%P!Oz5QpJ&7(c9uz)S+8OI!wB(mnNsZ z+j5Jsc=h5ozcQa2VU_w1(=_a1&gn6$#7^~embgkM$6Un~0}J_)Fj0o7g|`>AyD0bv zYK`sQcDn_8MD4WQyJ4zemkiBzg6f8+S;pK>CJ2*}IVN_(N)tXE7)@C z^X=aD!Gd)is=DncYUd&N=W4kf-hm(D!JZqE-DDo&FZf^n?g*3h>c}15b|(ZoSzQ8l zqhLF!N5IY&Yz_6n4)2D81?!dL&Rw`0kF#V>8rlkz4}-H?^bjTq|1zm5Ony=8?ew-Q zA=q7NKd|fH2wmFOz-3#81uK>21GE zuxzkebXQTk$%4PH*4*W7*Hf^E)Wluhf$@S}G$=dlqQc)-xk{}~Rum?~)s3iFM6k`& z3t)|cEvvrVkl44X+6P>A-A%zQP}Rm@89zg~{0*lj6dp%)d-l2$Qwy z=-u9SQv^FvT?V$dU^}SCc6*zf2)0^|4}alf1^&qykjlcOpfqvB)GZC|^9ecnl0yG+ zfF7yPmlXPrIeKTI|1C!^uG-IQN_`nI@!!{nfhETvP#6@;ad21YNu9RGj}1)QvL~3a zh3ao<4RM3%w>Jj&8h!T8U>DNf?Tuy*;ivSaS1GOLzPF6+O$*z9hjI64)#YGGY=7kr z2C!Lb!a-jarH(zgfmKsW913=HIjYxjJ*u`oG=l9=FCPlVee9P*zRau^J-nAaSFasT zWGB=LN9JQ!I(uXfJEe}sS$(Lw;pj~EOf7q?7dF*J$I9}i-R7Syi2KTi$BH_1JfM5+ zq?(S`bSxwbUI)~M$H(H%^4#%eE)Q$wY;D)o(kH&+2F>r}DRy1WIN8Q4C=wU?g+f%=~bOdYL7MrD2J6)C8{rC@(He5aQo4>m9OlyAXA2sugk8xcB z4$G?#=2Jt@I5=S} z8g$NwZ-1pWJl70&=_}6#7PdS$7}5=xUt)4#%Ld3(Yi0G1bB*$?d?pkvaY=IV-KBTF zxLW6YN!C*BdA^6Z-kxuVO|#5}A*`{w{6cGokvnvwQE6Wd%)_dA_Y`pUXi(D{?93gSQ<#G7+PDa-?y} z1CFbNxN00$k6#|e>Znz(O!7IgSv0C&O!nz)&c$Q{%JO2uu7(zyEwo9VDFV_>^8w<6 zG~A3!GMUx*t0TQWZW6vsnE*^PD3h*;JAtPA)O%Nlv(0MrYo#0_Z$O@6YN1ZNc7^p* zoBSN<9ExD&ZRnNr>aw3JJAcMOR|;mISAYMxK;z%D1%1vN3^+n0$Gl)y^?Oa1&l~hc zzX*`+Iqnrr<90N+9qvheMZCDf*sn(aQWFWD@=JpEm-4ozCZ97H=AM^F&?zr`(U05e z=U)QyZeB0^8;*)KD{3!(q*na3n)86{if_}^F~5efKy~Y{CD}{$%CFt{-Fs^I^)S;9 zH{p^xr?UL&gzNcydOS4X{60)9YcVFc+_!vl)WPc3`ww;3^*F9QP(NQU!uLH?3*IPJ z{o^jZCzxpRF1Sa1oTR24XK_g<(lk zZWd&!8hEofyR0_2S>1kq15Hbg`ARF7up(;cEq7k)zIyOxJ%@3+pOzW)W)bsLeQy=x zQFqkHTYhY>+Wl52?{-gJc*}##a@@65d3S& zpA`Hf$)6VdZ@KuNB(M8CCi%m{Ce7ZgJ31l?8>Qly;Fn5Xm(P*>0U@6vc|C}cl0PWq zeI>tN@SSqmH_v5LSMrC1O?Am13Bl8br)6b9Z@6SGzF;msPcB}=`3G6i?f;g%o}s@a zpDr4>Bl(Mhzasf-fw>p{H^b2_QP?UK_XWRF@{a_sN~OUoPH07ym_^SW`^8{p(!(qg?!Nx%i)Q z@y8_3%%b5mSy6WnXwFVDYi;pce+yYx>Hs1e~Ex*@fQlcke176W3I|eC9hAMIl1^L zlGlSCDS18UzLM7)?j(7=;pURp+o~)1$NK(XT^97pWhJjKkCKwtms3H>>&q{XDN`0zJL5Jd3^``OY$CKdE@#mI$2QgS0wK(_*3A;{$ElQEK(6D_^pyJEBKX?4;Q>D z`Ran7A^9lqxNk}^#R+COn5Kg12PQ!F_6nv5n4^Np3npDKj$p2(<$c6BU$J&!A}h|1oTJrttUSGLjc@1%J@(?| ztE()-Q(g6V45u~f&Ma?!FkLPFskGYVNe!NFjb5pIx~#NCVXmt3*C1YVwJz^)Hrtu~ z!n`=}J^rgOJG>_&l<_Gmb&EBpg++07*wgC8mf`StFiIbo@Fqd}A*U@MBY$O0%XqC` zdfL|06J^`|jiWFTj}cY&JRg78MQ!rzv1xj^rky8`6D)ux#xh5>@AI;J@C|j@^LBXj zeD6gGe(QwFUY1mAy@=$qud9<@wBy&8s`p#==wzmbjif`!}-}DwQ*Zd)%l;sY*bqNf0iKmqv5rzUev51YDV6&8=uN}GbR1q#KONl1TO}z($ zrszFTH|d>9GO-%`#bi;F<)Kw}tb}MFKl#|P4m@0!^A;P0$H9E%B)x&78}tU$##yd3 z(w^<+NfUMXruDSD9jioB99SoQ#jML-trNC-(7I12igiRDDoAZJU0a^6JF;4AIStN( zZXRBnU85L{a$;ThZ{u}WAJ*v2>IsgLqRvtzW`s4tTgU0P7gp=Gw(Z24;F|fZ3HGOh z&g@=DHwS%LC&k>IGX5?b?t?F}ZnYwAYv607ooCuY7dcg)QPO$52OC>{r89 z(j-^bgg^7h9<#h|(A$sJ+xK4~Q(n1yw$ZDhVA=9^q>9S9Yr7Sc*2DGVjc34~UvmW-J zw;2pcF~3rj9jnee4iy#HcxqaJ`H{w1UfS--YV!V7=%pu%(#5J%6MKDWYK)$AYHa{p_I)m1li+(y3Dwc z-WFmbczwOddee!*tO6bNg2m1Oy2WKx)@oZAviwq3!76(%WTX4*c8lgqyE#Q5yWdZj zeVZp`Wr{*pN6NZbWoLwJQ(xUKeXg|Y>9#4^WJ$)gwld@7)87~f5-=4bNtl83TxsYA$q03$; zOIei?kcCTG3&`;G1Ygo!n6Lvh*bkW-P!bkeH(gXriX8nQ>ZXhMlqBhBosgaHsyok^ zDP^@vK^7`y@mASwAyd2Pc6(+>yW#$jWhUyff>xP(X~;TA*|_P_ZYyN$B%KIEk{(Wz zve*E~N=sR+RrU}vKD(3dZ|hWPH!cvew;gqvyH!@O3}mgOZ1@yuw@1hhb=lA!O6q>vroVQPW@~?pZs%=r~DMD;5Hi#=49RpyHuOCY~Hb^SueW*)L{k z)*=)#FDa{HmAw|S32k+|wZg(6Fy4NyK>k+y0_A0 zQ^#5cmuLAI4{oWK8;p_d+^xXE*%nLQip&`=S&&aS>*I3!4?MxMzJ76;Qo~ts`xdjY zRZQzlE2CI_zPTASt-}2HnUUmC8^hMR5{s}OnJg^Y>lW-HHL1c%@r)6=fu&+)R)p~` zP4sGP0u`^y{ApPgT!}1=rK?|t3Cl9nuqvx=->9H))lD{btC6($XQ=d5x*GeH@qG=Y z^yk4s8b~iASRyxCg}%BlfSPzScXEkfbGT;%Xvwp*TaMkab z!!P6HkNHp(Mj7*|eheGOpVyXN?0X3>0W>I%6`^+L~RU zopBhHCiFg*HRb)H^s`iQ4{?^Nb%GK zXhLJ=&G!b;^2RKTw_iY48Y4ol1(df53oGG*Q~FVar#~e=+*5znE56~~k7vDu@UGFz zGSsaJ>+Lid-%sJGZN`{u^ji~ljc*LJY-!4VQ~1^^G^HgQ$;)4%uPxaE$Hgf)dZ)NF zNTv=ZwkWE5YFU)tcVshMYaGs5 z=V6B}Nu5|8Ug%q4O-nkChx6i*_ElSq9Sd8wC9-_naUyP95zM55bgnC#ES@MBKkU-w#Eda`DWFLI;AUO0Tkx>?eCvDM5t z)`EOI+|N9ze;U-2=Ng2pu8UMOVm(Zs{>@WU$C!tcX#dQe##Q3@GvJ^fH>Em;@Qtc7!6Q8<; zB1W>Orp=qPwDao9p(Ux&C~PeY*V498><*9HBr5q^c8+HDoO^A^4#~mt=U8@wanE&9 z^k6(I?;4KpI&B+r;0lZH1eVOW-x|wyGxKKLv|0v`Igxc_eDq4aL6|ECStlB)K^AIxRz?EIgObZpS_e~rn7tedaA{5 z26I-pc@dSL#mWSxQI__+wEP-Pe7~W;h4>0WOqC zMRH2UnI_kq5?r&K5}JLF3%j)|2!t;UI!Jo<2iQxCQ&nd#q)|?WWSdmjg z^Yd~_2yJRk31N@SDcR37^%12MQ~M{hd?Bk{CVnQ0Vra{z$GpeW2%)QGlNEsskMD%6 z{7iC8WqVv_&d8as<7UwLRMwmiO{QYRX7W$7=+YuAw`0Vn7Vnp&&zU#Ry)l`NqlY)e z_qFlZc7~tB1ag^0-4@~ABn-#XMVLAHlSJKVeEdvuS;9(^_hRNo(-*VSyu?h}xftu~ z^bDbC%X`nDUP~~gXoh9h61I)=#ZxU+mWxx!xG7>`m8NkkSVg1H6l@W`tJ$x-?qn(6 zy^>XA&uI4wRycJPJFVoIl%)pU^r8o=SpH%~@Z>Gy7kiluF&@~V#Y?dn_$ExdO?g+d zKa6+GaEUJz3l|k{6DFNJYQXCw*rH!QMcs{ddY&FVrO-7jlW(3t0c%+dUz14#*Rpa> z12cu|^o)%YXvm zR-u^vY#{%s7wy~6uJiXjEhz_>6W;0XL5mNvRKBW*rQ9KwY|ry`qN69_aZg7v2IF~! zjuvdcuW=@6hZm&qt$pjjh&VrntwvpwO1X`EQ>N_p6ma8UE zW;zRX>TWHw1WVXC=F0fIHWYcDB@|r08x@mH8w7~$>!i5cS9PY{=h-}d)6Noofo|a5$7S^6S+y5)>*^V9<6)zqDq%o0I%1aI$vVZ!QN{{>ZY|3>XeqNtoz~Eb$UWY zGL5!mvKDmp66;@pZ`Yew0NF2m_ikosewigQFSn*SW2S)D$1FYOsvYgT%KBTXU1iLP zx2Q`Iw-IY%EM2|L!g=jji~Swu!1%gPwsOCz*bcR=?_2)2@DlF!{(X zKyu1qy%4@zsFFSR0O}>-t<&@j_C&Z@Xvh+;-_!O7tPZcdnBF~LBRo_8##N{x68}b2 z*56Jm8cE|HvOw+?Nt+(x`q6bUT?R(pt0g+$A@lqxH=l{-{c+G3F4U9sx-fFA^2otmYEP0G^tf_}jU(`|B=<^VbmzVfsz?JM*qpfji_C?BX4 zXg8=gXb5ODXg+8nXeCI*98hBD=>A;>_VXPukotaL5g{99XK81?qoF9Lqk{AFEbS90 zcxIONCK-TB13_%4#u z$XO^~gYJTAp+YRR{KPhfJlmM1H3kVh3)%*{X)O!c63|T02v9dm;Adtrna7<%2SFV` zf?s?>mIZ(8WR|ua<$9nnt6bRrZ%EWH2NL)Nbsd1ya`~tW-|bE!sRO}G0TE~`ND~!t zv+zB+{1@5xHvijldUhKn|Ffa%P`(8{0;PeDSnwmUDa>5?rz|Z7)EuLc+#ebvrxbf8r^9@zaN=6^1VwDLot6Y|oa7vQge_E=&RPOj!}xaV^`pQU+% zLO@kPF`%N?{*#JB-W1dU)EhJ$GzpXf`fv8RWs706{y*)^+HMGsfX;)igC2r%SA2=` zCy)uZnjRo;P#`EA6a|V0wFPwt4F-(|C4m-#R)e;K4uH;pu7U1>o`U`Xv7fLRx*!`~ zpi-c6pa@VsP)m?VeSgqs&@|9I&~ngb(2t-Kpi7`zpvR!Mpl={YWZDx{925eo3W@)8fYG9IcPKJ zN6-n-CD1Lv;wpdvTp-U*bCUgpP_Je#k>{{LtC`s@F-jl5bRG~NVM5!4$r)3V!>uVm)dUYhno z%hF~TG_3^Fv?HK4T+{vr{h(-Cpi$FKgF2Zs?K5bhou-A^YuZns9uAtu95rnjsIrr$ z{S4}#N7EdfHEk`Zri-TC0u6K3w6PwV=H{kpTR<`Hn)U!xAg@+N+nra_8s^iqzd)}F zXxilbn&$0^lMkpl%1H$^&99KA9ivYLd1LdFAovK@v^>Qn{%OU^-kO%bn3RnwfvO;3 z_rImjftvOf^&9%4FYqPmIl@P%)z5NZo6?%Awym_L*#&4?XHbacdLf>|XjEbDXEqpo zqLG{b54v9G-!|W@<)>D3Mg9KW`wtv4+F-cfP}2nEv7+ERfE@9XV=73L&scTa%wPZFV-DDCg@Ueb{9GH#Gk@h0S4Z%xx!}|39MO z|8Qh$bQ~H<13dwGAsa{x4JvQ)qBceOMf1^7m}8*%Ai*!SqTp?`4*Yg&c^|O;3{7hV z>H-=78UvaR3Qf|qYM@w9Gf+oRA5bwoGIdLaE$BA*TojbMpxye;pw8?ZsQS_W_c(80-ISPBdPz5~Vq zdw32)aO!QSeg$6z>60{a*6eaS4X1@KBhmNp7l zvrLw@2zUv&AIO4nKn2EzVlM_h1{QKQ7(SNE(rN(TmCw@J1GiK`;J}n>S=u^aTnz*c zbd1Q-{sgYAjlf;7uvsa9~Ck+-d+nb;aQuIJg@!?Pf6C>z<|gn!!xy zfs_MF^hC;mkAM?_ZoQClU;ywqun+J7a0O62gZT{f1s?2;`oO$>P#;(mI1xAixC%HO zcpNyPKY9*K9e|#D7!1Dy%>iJF4aArMI{z&F4&pnG0q z1{ek$FbqQm95y^l8wPv^TmT$20{4tS@6pH{FdFzC_zN(9K7+w)94_n?!A!u7W((jQ zoU=v&mrg?JfEmF3zygyo=D=uRCNK$DD8Iq5YzoF4IB+V)9QYYH4)_!96PE$)XCn2$ zbt*Ck{1ta+M*J#i9d5|{fJsZyU^JL;+z@pG7F?O7O$BxUt^=+Go(3LWgVX^ltc8OD z27~)LH~=;VMgtqIM}43QoC-|dfcn7Yn@}J4(>Bxx{;(bO@nvB3otSgLnPxBz!A#$c zNeA>v%hF~8e+6y>J_B9_I_^d4fy;sJg$#z*z%XFwK3w^MJAuQ1oh(Q_@HlWUFm^vu z4;&AC4@^CP)O#5Wr-5NW^E)t2z|=p9dwt-nQ<(L@^wV$vj7Uf7flfGEe+BltfOB_Y zgQ50iOgdnNU(s{mKQ}OEfIr_x;K0a-2po9mIT{AKy~2H{x#Kz-oLj;L=2Ga8TKwgLabCF~-wM>kD-16&An_eDU!FyI?t6JTI>O&bJ^2hIhK z2krv?2D}PP?1B2g)j;>+2E$um7_fRz)CbN54gx*_niqii24*jCdoNA<75EXD3GCBb z(+ZU^7^VWN03-ToT6^Fl;5cBv{zyG=I`A;?2!2d<7bt$%_7#{6ELzfFSP!fL^cal# z!12Iwz^U3`fb)UlfbW3IfG0BE97Xt4Bca6bG!XK#| zi}NXP1uz;oVw|RR1O5V>3fwwg)7AkUCg30q{0sOeuonCpOCz9(s1Ixmj0VO}(zIT{ zhrpS@)8@&T^`E+K;FDEYw!p~M znl=h}47e!B(ADs6Ep7)OIJpj~2lm^D)CZ%dKwn_9El3^kM_@N#=2oO0SYR7c5A3lY zJqIQnMBqUCqnPy}27~W$Oj_XFm+`v!@tal_{V_z_;~Ho%V0suTf|}67Kwg^7 zBgZn_hfSeC0cWV5fVb4U3@^#XQHp?0v|9)}(lr5n>8*e@9sOVI4~+1e~FV!bKXHLQwjFN`;_Qg6au)Nd1Knp$qV)?Lw&1HBs`T zx1v;rJVUupDX;3db2jB_v+itVicxuJLc^lnZAM(_sVz)VV{|Ag4y5Ixlt4#BX*WF- zrHh33=X}_CDlVWrMG4qMiDhBpN7F>flh%t;Z#pkZKhjeHmB=v+DLdGjehA?OC^C#Y zuy#}rGS-uN3+PNq0w&XD0jYFez|Zs)pbTl7MLX+qFVi@C?6?$I4yt`rPrzB~E#N36 zl|!TRX}f^wbWI3%(pv$S$)h~rC6yC!k(!q0CHdEmG@?8PuN5s8(k^sBz*4#;U<-YM z4PGVmu7IF3yHL#vyclal9Z+O@X}o|aS}q`tjtH>OJpuRVn}8DJT@m%$QB*|?_ZOVV z;*sL);pTB-wDsZs)d{PaCcz9TS}h=&P6+5t4~2_1WC}+q50w%yf?@=ertSjj(6n%v z9Hz|z&e0_y97Qh$M374*zSpJ}^*(sW6{pY&3ILN1j7e^7`3 zdx{tEJM|ZEjZ$Q3yMW1bsWO_)LvICCB+n`k=B01}$<$JSFAc8(U0zx&N*;7Tz%;rg zz(St{+#s*2FsVQhRZ%)c9RwI@ynsHmT)-qcB47;NtICV8+4M=2mXKF9z|T|_z~61A zglZVfJT$%--cO!He-qp43B>s}-hM0{`)$9l#RPN@&^&)XkYci}m>< z{6*uutCXa7!oFB(Do_)C{tBc@0;`pwRsv6zp%DTr1W~HMTS2r>;Fe&zA#h^|eGpi# zEET8)oE%1#1P&}mtptv!KqCas38z$nEi2PLfvHvKhQRgJ=!3wd8dM+>m{5}{32a-7 zS_wQ8Nh1X2t3#=gh;u+R9Tes9(e$b=HiI{j+<`BQrq4pSD4GgK0e44JHGw}yQ-Z)V z(KJS&7EMb8_Ku;00+V9sw!i~1^jYAe7%E&FSSXgN)kb6WW2vJkN5#?vf!AVb1?06q z#%kKoeFi&+}4bq2z=Iz>|%kXnv*|Jsn%Sh*OgGab1a%` zYb#AeiH~Yd(}nHs=CmOeS=rQrE(i>7Nw0*wSxa)Q3v_Blp#tl+qDBI>Ry06h4O|xl zerZiR1XgH6mjym=Bc@0(uCyiBI9@`z*H)uLRk)Y`Ivl;5CTQBD+(X3gXAj|N=<~M| zQ>L)}pWqv{(`aA__c9xC`|D~Uitv?Mt$2|hh zuQ?s)oZW!oPw4HTZ<<@r8(Qm|aR&4?7^=Xa-M>yCt+G!be$WraO~%20IruRVFw5(+!|9tiwP3ds4Id81T8hGjcSSMzY8UPyf^KukI7M}AKegmu^)X9xS&53XaKxFfGRb>Bs?>a5=6Pu zAQ~fZ$Y5F`_fX0b^6A6%c@w(;H#f&|?}41zgRV#n!IFP_LN)l#E)fxV|LUO66->|8lUyL_EsDv4U$j2Yhx6n0Q@jEzOpd1kHz`8EF&ZpDrS$@S zrdy|ZmEv|YrKe#M41v9e8Q5WFdWD(B=S2qiQTa1GiiOg!GrTuTq5EfebG%Gn{w!Q< zrXFWeT0{rWBF1#8n9fV#B$|+p6Koe6oz5%r%(1jHoyXxMo0-mQ~C83C%?Q&Eiaj<^ts8qsTUVxM0i+NGc zNeRMjd#&?-x_CJdheFI*(F@U7~?`;MA8^=7H0}bT$u6 z8_-{Q6dw$hy)#PvD8N~%f|G8dGc5gRo--PZrE|{sp?xv>D1`H=w2KnXx>5%LPNWLB zPv>0_MQ6%#Q9_tA1-mL$nG5xBRs2{FN_JJsu@iK}RjG~}qff3%c{YcF-2k!F$xW$% zeyVOTsYGYoQ13KpZispym2y`~vSn1y9g%VBBTAL%2Y00eUZCIYuGB+FU)&Wh{%RH# z@Id{O6z8GT$eXhZ$UG+pXXja88-p#ud6n&@3e~(U_1mozfi2sJ2P~yxad(04jwRnJ z2rZskR8iWpnzW+|hTsUju7Y5GCikjJ7^_ZERh3Hoc{+`*in!}gT2&;rG2O1Jgz~I2 z9;}6?3~ZHG_S2B7!m4@SjCH7 zp>wec_Jdz2D;8;~M5XE~Baxlub(LZK`4!3+r_{@vvlUBse@AA!%h}#CnPqN$rGqDC z(W_2MFBU?rJ1YtN!%a%-tTbYSh$ku?@z!f%qLP3|EQb@7O1=|*lMcs7Fq9D+#z>Pl zPF~pLf|gOD ziI&2TIiEvW>1UBSU zGX1)DG4P@ej&^8S#1{0+B)N7PS(lLihVrQ5<6s($h?IHeP3E8+te~EoLVZ-Oe$vLpZzK)0k^IfK7sce?dYcE?}CR^q6 zIvWCAMQ?}6-X@J9w^U53VfKC^AKCtf*@xTw=~HUB&0ib;`CESzjI`;*wcVr&9^IkXfF<&`POHynS|NO*rD`+yPa9Bx~@dF{)|ykty}(=e}n zv|J7kCdjQQpDhhYl)e=ekOQW7NZ*URY!+W9$f;Ah=)XLe=ak+RqtD zl-t!CJ8O?^8^9YoYmaT4?_0ZnZC3{V-tOPK)km9wZHi{v>`ZNQ z=45%Xg09K%(gxAn#h8=VzK`VE_mTW;YshvPxc*%vH*E&C%fPK%k#ra=(}3Um>mUD4 z7#?-@YE$Ip%C%hCs8JaED~<8wS$xC5ZiyE%r^;^>oM< zJ1&L#eskCs+Ft9tIrd%bCv671tb6{coY)P4tHd%`EgKCVAbVg978BU~62mRWbG4my zW!oZIZKrRf`ux-*S!Zj=7Rko%BH3ayutl;pcO(mHAd;CflH`6e67v>oPT8`>*o$Q( zGwr^+5YDvw?n0PkYsj|w&HgTuIW_~^%$l1MNl>`{IvBnwHyH4ZAwKd#sM_Ve5S|s$ z4wBIh=t~opVXy{$AK0Mp0~>5>cb9drhUElSTV#5coul zUV9nEcyk|_thd%lh7&!ur+}|`7zdj&&2wM1+S^tC*Hx>7Y(`!M2N-ywt=z_ci#VTj zk*(@i#Uo;RH;|25ddoJ?qD@L&uDJJUU{_4;pbbO&Cyo+^rDfTA{cT`Z+19e&!G<|4 z>9eSzU0!K#y&lKsYPpX%U)7NnWnY zYH}BQJ?aLn>@IuT%euGwKQ9i&Z**y;QpkMQHo1%Q`lHUWRxNx9Dn4x4ECdqJ$wxN{@2#KqAB^|cPdiIY`9&R^ zAto4tk5@9-8~9X{OH60#yGkkCYO1M<>~LH_Q4!-*Q``i62`xGmD5m~2lcNl_v%jSd z%F}J-UjCbFqCC^&*i`RKdqZ%n$U-}l%e)SB2foeiOcmv28yB%qk+F8B=pk^fUmo|1 z$fG6DJ}D$rD`pWYc@O-OMaU;>Ygw`}Ln74vAH<#%V#gU>|ZyA%Is%O2<_3$z^@x4JL~bjnc(j%cC(vC>j?r! ziaO!|^u*}8SB4w%qM2;DubwQRB7F=odWQoF^!W9uWVeh`s=F!r(rxWF1wPK8{Z}1->#?WNz)NHf=C^0>pOg`l!Mb6T!IrDcCClptc^;o&e9P+3IrL0v7 z#n_n&rFec+@w8yBQ-wrmR#_N#hJx1%65hrin_84nQ`^X@pSQ_}? zC-?fNOz&>k)At$m)L{L~Tph5L+v9|&h>@8tTZpjU8jsIDAs&swYeW49Vl=1QM%QbT zIkX4P_|uJ5yWmDwKTz}(lPHPUdL_R(*_h`L8pp2Xzn}j*ZU11K6^G6Kjl_mRM(eabWR~-0sjWt2Q2oZTXWgtF^w%$!tBnQa<+2SfYYWyZ zMVpQ>vQqKVrjXT?Eeo%0>kQPkO(;<8s3;31wuR6k-O)FctD~%M1CHXZaxCGuv_4MN zVx_a^c2s7AGR&v8Eq0t-`iY}(Vh?FnkB)3m3N@%}bP>ZVwh%+euKLo$S2;k2 z^4R12yNU~CJDVA9fPy~YQN8%&98$$3??=8Hl_JbUH8v{UoL1S^wVAeT#M7zvbWK22 z%G{{b#pAiiO?W!{xEl4^q>RQBus=58k>o0}+YIUZS`@k&&p;bd*Ufkow~3Z)#zV~E zbX-7fdLo3OpxdB?hl! zOxcDfkV$lJ8$8`4WjkOA1#ZVfyl_R`B|A=@Y#}@>{7z`qxUpZCLomj(@=LCHB7^E;PNy%4G(z_($O@f6My*^`RrBJ zIfdDJG=whgRU+6(%JU;adH95S{HO%7YBcvpr462IKmAb&;h+DYLi_O8aw0|SQ-bjp zRG)o#Kst<;@55upoG)4ASU(t+^IXt^uRSz>Zn;k$_mz>{=?=}hkEgRicj)AOJa8;< zi!$#kllj?;H12mLn%}xeCx2H;@@E(6uius8yuxL2dZ2jo=*txNK&itwU8DgIlnCDa zC;XIF>A?9<7b(_(RrduE?c6kHC`#K%et z&JWU!$7tK_Abop`SQhOk|0l|cLgVmf>-A6YtSHo4V{iHj!7dAFPZX8k-A4=l0(RR= zff>p~-sMNynt{l7?xVXIiXY#bM*Jzf-bkasr%E~geh;;Os>JXKX|(n!TG_svEdly}KrcC88cT&seN^M?YCoO)COwHIyZ=NHgH@B1b3#Aud zw}WQ9P%85o+v)fVj8K>DWcO03$!~0<*q2HpUVR&-zEnE$%&qj{B{DR7EBU`tn(^fu zY0N8SY##hnU+-Ml$&IP65#NkWRN*y7_{k<}^BVCt-Aoe%9@CES?A%}Mup>M0n{7zZSwN+I3Z>0xMUqzGu zR@(5_E9vgv=nt)=3h$M1d_Vqn-Fu95yA@RMAB^;r<<#dN=>3<|2~lpejPid#*<%@g zn~ZM=IxnS_AC&GqW(nDS1in~I{Xe2#+wo14zyXWNGZR>KG4&RBe-RzYL>?zDBK8U8 zQj73|Ta?p@7K`!_qL-hP!F)|Bb^fd@<+W4k+h=78FPKV`zo7kA3+eh7r3){+kg9$~ zJ+_d>e?`3k3+UQc$or}k{tYYW=6u>AFa%%uWGNf@iFtH23+0w`sh*~6;nnBTKN`m2 z*_?%?jG?^$oP{loU3jG*79KDz=BIw37R*?c7yW_eFlf~jI>wBR_{-Vk#$i@*77gXb zC46);xhckQJ|mf86{8RLolQLzV>uo=o0cfX^1SdYx~v#O_{JpqrWpNrS`w8s8cXvI zNz~8?yX`Z{Y&0(LPMs+Szo4ApIQCTyz)6OADRz-FDa>SyV>%tQGmhsW)2XUGLj5+4lI)H3`K@Vm-5y<7HH}OT!12>4Twu&J z>h55y$qP)gtamUblw?Kr1se}~*ta!#^)PuS(1{3RVWX$wIN9>*zxuS=t`0?)XFxUWehh8p+%i#^x({BSwGuY(_O^&c$sly_rm>? zWnw;CF(yTpV^h>?MJihEa#IcQ9X=H{nnJy7|C6OPmpUj055po$qR~{>B)*&8;%M53 zFWeHHOl8ZxvOXlm!Ak!$70)RRE{0;(whCG09jx+7bi&D0(9316lxtS?c&oZIzP&Vw zFF%XtfmQ4rsjg?W+GMrzqozVV$EwCy>z~V3^<|nQ)XwvyxP?{y(yCrUyM_Axd@09C zK>s)xW#mruP^gP7lwvzMw+!NMbBm63B@bt)=c`g}`>q0i(_2^jQWVtnE-jX7`3S{e zXlqr!x5}-N8-`isQK|galqMB*30(oX1p{uSgcmq3|!FY*)>v* zW1#-IYirah#{&ZW^VBM@x>lC+S-bebDsN7S!d=64Qf)hhyW_4(WZ=;$DZeMd;A@rp ztd|1o$Qy#K@-1`%?!3lsl*FduGqKX}$9Y8-CxJv$L}^yEA8Y z??R53IZD3y9rNpOz87*Q{nDuLvJ5@UGTkrr)CHLqXj|OqN2C|XYh-3Se2itIK|O=n z)8ow3c%!*d8C6ZBo?!3~cqBM24x6Y@lTI`w%5{G0v!N}Wn28~D=4`oA*5EX+Q=PP~^TgLSCQhLMmt zW-6m!599OjQ3d(IpUnHH`c>Kvet$H(8wUF$;LqrzDk>RW^$KxyOvbR)Ls#i-BG}(} zr~`S+ETU-qY<8z}H3#EVH`uy-%M;KAtM_d)WUfy;W8L=Ul#J`U+^&r~{@JQ6p6J*;f^F63Aj!}^P)C82* z1G1WATQ$Ngt!NpeUHC}T^0+WtvA4H~t8B*lH5#!t1AK_=BX@Skz+frdMc|-tq1Tp! z|37A`_EZC2?hwCi0AKI{7t5bF+CFdu$?aMbgp&{)Mi( z45Y@Y&b+aZ+6Q|d@aNZk>@)|4pq9W?`W+ck!5@_{$OnHL+;NR_E_l^qHXMKgm4Z92 zI4@V+pGxYuZZ44_szNpl7pv8vaEzxYv43=&9XG*oh$|nd-$~{HdhzMKMeuRp>ca^t z*}$Dov;Azw+6?eQ@KlzyBJiC*=pa=afehskPOzY54`HDi-17o^cnC+0;54tB>qVFA z338(sT{)Yj*_*ma(ls_iZ_vWYn>$s@E({BsvDXCfI$1^8=s}({-oi_bwC{Kes~S{V ze5jHZtYdGuziYk}WKrJU=wdfdQKpx{yLU0rA8#d-c<^0&n5$17sAK~l0=|v0HVynp zwQeX)77=Bsgwq@tErStFHzr%C0w&1{3*FW#KV|1DVD<~l=z+TyGRrq_W}QN`dNR?~ zO&!b7Z<%9&q=kYTQ*4T$>uC)5l|yXb#v3gWe7Q{arP0X-In9@bg4RmT^(As|fz?** z?Oo(<2Div|l})M-N>IYXADVibSrxKXeVBrhar%0|4@nnci&zd-! z<76Nh{PKA=tblzC_@({q=PY;v_}W#>tH1+Q>v49|CUR?&oqi%pO|BpKQRAWMVX!}) z7y1!if05y1uH?K)$a@z)O>&RF@XGJ3XPF{ldU74cMgOat|EI{8oEH!2Y6La#pJg#^)Ksx!gs@stn%Vk$c)0*;3OYCk2y3QOE$de3E@m!O{6^*! zBG;1___8g`QD`j;TusTzpL(>lDL|xKrmSJRdA!kTVMkM}!GUB)Q~I%iBAuSnstBYu zePAowUBT`=Y2iUN2bu)7kh!H9jqnfXHt00N>sR_0=U5nz-K~aBlhKqQF*DY(f&~lm z_d<7_!+at5KpHiu{dUVULDWh+CCf7*s~60bd~YT59pEY8i83}=%u;cZnqXnIk3vs< z2WDTxY$f6r^T0d6f7;G&(RH*=@Q=X_KkEH;Rg5qd5~Va9e(r+5zFOxVS{&=zfR{J} zP4p*+P{DH0RI`yW33}I6&QJ)R4c@Sxc^7y-c>7rf>%bR+=WSy9J>YA=*M6o0clA=H zp6Vf_OLHjI_cQd7r;txU?mfc(=)S9`bKs-s*V?J|l%q?8K<+i<8rcvkN__6%s*wXd zd^lG}w2Td-D_M}Vh0*kLpezd$vn*|wd0+0h|JA{mf-n!lsJDMEgTh73m{)eQSqFUH zhgttY=JR=@Jprc&9hZhv!>8CzOSnk4-N<7DV>PhAlgkv24mJaRi@>vRRW~|b8TeN+ zIf4dc)6s#9Y?~o_;mnPMyPe?cQKLqaY6WjN#>Fzu^ilA%I_ADOtgGPT_$uY0Z8GWs z0!26PM9}e4Y|9c!5r!n(m#4xmo`%J$4Sy)}BdPLN$?8bDFH@wdiL6xw=3=Bsw-+7d z{poK%P|n-PWju?07~UR(-@{p%0zSx__fk{Dz!-D;f;)Gxe^(sVNbu?g9oV%Sa1;lj zyM`^-f=>ibK|SYz=Ym%?vc3K$5NUXJn(A>I zx^5;io`QZ*7Dv;hV=hJoxsZDx7hr4=2L1%RLbgYXn1XS*Tw5R~(5jp|JHdrq{M+aZ zQ^7ARW<%pXIUD@FR<HXcZEHR$eOWM_DkbFcNm%0f& KBqZC3BH&*uJ{x`j diff --git a/progs/alloc.onyx b/progs/alloc.onyx index 7ca0b850..11ff27c8 100644 --- a/progs/alloc.onyx +++ b/progs/alloc.onyx @@ -125,3 +125,11 @@ heap_alloc_proc :: proc (data: rawptr, aa: AllocAction, size: u32, align: u32, o return null; } + +malloc :: proc (size: u32) -> rawptr { + return alloc(^heap_allocator, size); +} + +mfree :: proc (ptr: rawptr) { + free(^heap_allocator, ptr); +} \ No newline at end of file diff --git a/progs/alloc_test.onyx b/progs/alloc_test.onyx index 212e1fa1..4b9371e6 100644 --- a/progs/alloc_test.onyx +++ b/progs/alloc_test.onyx @@ -8,10 +8,10 @@ proc #export "main" { asdf :: "staring asdfkjasd asdflkjasdflkajsdflk"; heap_init(); - first := cast([] i32) alloc(^heap_allocator, sizeof [4] i32); + first := cast([] i32) malloc(sizeof [4] i32); for i: 0, 4 first[i] = i * 2; - second := cast([] f32) alloc(^heap_allocator, sizeof [24] f32); + second := cast([] f32) malloc(sizeof [24] f32); for i: 0, 24 second[i] = cast(f32) i; print(cast(u32) first); @@ -20,19 +20,19 @@ proc #export "main" { for i: 0, 4 print(first[i]); for i: 0, 24 print(second[i]); - free(^heap_allocator, first); + mfree(first); - third := cast(^i32) alloc(^heap_allocator, sizeof i32); + third := cast(^i32) malloc(sizeof i32); print(cast(u32) third); *third = 1234; print(*third); - free(^heap_allocator, second); + mfree(second); - fourth := cast([] i32) alloc(^heap_allocator, sizeof [128]i32); + fourth := cast([] i32) malloc(sizeof [128]i32); print(cast(u32) fourth); - fifth := cast(^i32) alloc(^heap_allocator, sizeof i32); + fifth := cast(^i32) malloc(sizeof i32); print(cast(u32) fifth); } \ No newline at end of file diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 17c8b8d2..c6ac1b46 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -1071,6 +1071,7 @@ COMPILE_FUNC(cast, AstUnaryOp* cast) { cast->token->pos, "cannot cast to or from a struct"); WI(WI_DROP); + *pcode = code; return; } @@ -1079,11 +1080,22 @@ COMPILE_FUNC(cast, AstUnaryOp* cast) { cast->token->pos, "cannot cast to a function"); WI(WI_DROP); + *pcode = code; + return; + } + + if (from->kind == Type_Kind_Basic && from->Basic.kind == Basic_Kind_Void) { + onyx_message_add(Msg_Type_Literal, + cast->token->pos, + "cannot cast from void"); + WI(WI_DROP); + *pcode = code; return; } if (to->kind == Type_Kind_Basic && to->Basic.kind == Basic_Kind_Void) { WI(WI_DROP); + *pcode = code; return; } -- 2.25.1