From 4a460c2885c1d7ee60268802433b325f3d535e3b Mon Sep 17 00:00:00 2001 From: ccgauche Date: Wed, 17 Feb 2021 00:11:05 +0100 Subject: [PATCH] Retrieves added + New ECS memory layout for plugins --- Cargo.lock | 1 + assets/plugins/hello.wasm | Bin 0 -> 285734 bytes assets/plugins/plugin1.plugin.tar | Bin 269312 -> 288768 bytes common/Cargo.toml | 35 ++++--- common/src/lib.rs | 55 +++++++---- common/src/uid.rs | 9 ++ common/sys/src/plugin/memory_manager.rs | 103 ++++++++++++++++----- common/sys/src/plugin/mod.rs | 2 +- common/sys/src/plugin/module.rs | 118 +++++++++++++++++------- common/sys/src/plugin/wasm_env.rs | 42 ++++++--- common/sys/src/state.rs | 14 +-- plugin/api/Cargo.toml | 1 + plugin/api/src/lib.rs | 34 +------ plugin/rt/examples/hello.rs | 8 +- plugin/rt/src/lib.rs | 46 ++++++--- plugin/rt/src/retreive.rs | 12 ++- server/src/lib.rs | 15 +-- 17 files changed, 326 insertions(+), 169 deletions(-) create mode 100644 assets/plugins/hello.wasm diff --git a/Cargo.lock b/Cargo.lock index d8426940ff..d394200d4c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5699,6 +5699,7 @@ name = "veloren-plugin-api" version = "0.1.0" dependencies = [ "serde", + "veloren-common", ] [[package]] diff --git a/assets/plugins/hello.wasm b/assets/plugins/hello.wasm new file mode 100644 index 0000000000000000000000000000000000000000..71c52f6d82ab31a9f165277f077f1f179b063fa5 GIT binary patch literal 285734 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 pYX0K#knUA=CrnN~e5q$WBJ&sI0qsr) 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 g+$>sk{C4oWgHy?S+Y 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

kh4Z1cqFAW`6#VM*RjgnpR-7`cbc$J#5OjqOrNT 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 LJo4@3wh{jey-tV? delta 91486 zcmbS!31AdO_IFj!Jw21mOs>g6G6?}fAlw8H#0<)ffT)Nlmx7Do5L|T;j}D3u6*1Uo zP(cDBq5=kj5D+EGAu1>;Agky`MMMOQcUE2bey_T#GXw1Z`+pz1JyY-ZUcGwt>eZ{N z?w(k7AXru#sJJh)V}}kMIhkElIj_+Xb@MzTwkYzwV5*%#b&eH6@}rS!|7yB z?&1na#ci{BymkdNNL5vwPDSB9h5PYE|0gLWArT*eplS;;6r4eYc~r%QqTm8^I8>WW zQ5mp+Q{|l79ef6F*Un+%Ea=p)vH87KyXu&#v1rvUeY!1N*f-^t>Emv^W!kg}(UfQf<=Pq4~ zyInQ>iV&{D!JUSfWZ;{Z4(QqgzHj zNk>`4R;(BmP4>~9`cIAr{l}WvKpu2%QI5W;_i^ zwnS8x{wNn6@5q!AsN;dJ^#o7$gztqiHNsWD@JQex0+`x@bB)BPw@Y`y+&m>ZN9a^C zgZPFFq|7=G8g&$=rm<*48Kk4Z=-fH@4lL9k@f0ZKJM=A{LcT=*($kC2(Q~}n$wFDK z;^Qj1rbN-Xzytaf-kZRI_#R1Idq(#$2e1MoRNh zE`#^Fd_)f>fb`VlL__jo3@0ts?d*foJsU>}0*9OJL z`d3D)7%3m?)A;D#pBJuOvbjLtnO(z|>;K5PSbVn7KgsFAm)9gm=5qi`b8o15yiHKi z)>Odyz#>CM#2GD!#v!23L15&$h~r!&s-1^CMD0YInc5c`?akqOi*}bOM=CJhT`<;F z?LM}<4QD*Hs7C8-<4V;cJ+*5K{e>>g5NU69xm>9wUS;sxE^{Z;jOGM>P|nws~zzs{BVXY_>^<2TUED?3P z8vDSDrcw528IPI}r6gXjm$vJQ2&DA1_8B8w^@`{f(7pAi(&VF5JBneCuu@cwFq*#O z``mD0#^c_g~siIrx0d)t6>+?a$|h_P}})%%DKw(a6lcA};5yA)Y;s zSI11|V!?F9G0V8gtQO3Kc&1`9PY7nFU=Bo^v`EIxd^uA8Q+Bw3jNZL(E9LvLnhAXe z@$|Sn6Qg@k&8~i(cUuXmk?95fI;bI@hV_Zw;^4EmM3e%?U!p4G<=nb2(0Mk>E(wv03^^vo6Lv-;Ln zL*3s{IeKiPo>*|ba%_V>t)Q>xTY=dkZatV8);}spQci8uPZW$z-9U;kdJd$R=rL+1 zssuLZ*SF49=GN$1>n=544pBJYpnrY&O}_FP@Xc(bUo$kqH`L4;nn2w7!*0%r<&suR zS|xU^nw~MxwC&j%eMiPXWmS#t&Fn;$^v=A6ntM6(qSi$WF~y1)8O5W=g+-3QN>Yen z=h5#3g7jI_WB41~N`Pu$jqVt+*0r5X3_M#?JK_iKT5Aw`^;OIHN`3g%8Tg!Xb$fh1 zef3a$p1is^l@`d>wx$J=sgF9iN3R=`ruVxpfxoU_eceXvFKRs3ci?HSi+opFa6JwT2Cm**z<>}vFV z;THi$?0wjXOp|4!xq{WX&V%o7UO}B=WjmFXp1hX6&9$e(4NWd;OKJ-D91A7-0gEmbN~Ku~g!x6$?er~` zMhap6K7q(-O~_FL(R)u>Lv#Pcl)F=mt#eyAyw+11#p#9zz`1j3t7O5+IES%mYAXdB zzt5&-k%B*_=I2zAX(YCnmquIxi)>H?srR0i!K?IZr{x!~ih?r;xpeLNA$P-n1_DqR(1X_U{VhdE& z44b*tPO7|j>{6_BcxYBW?E8JzzcaoU_NkGJqQQaKfRn?@Um~Zj(EYQsslP?DXDIJ& z(3j8dlfFc7%s~*cYYasHef9ul-v<4%yQXWek;YsXOsMzD&9Mtdsq@!_mey|Y0&49O04%1 zAF`?wS=A@As!Xa5_oQ{70r*<$D$GUImuAJWo~MF_qs@EUc`HM#3>3X0Yf!hbcPn0Xp87#v6h*t^*QU3 z^%)cL^mz|-pc!8Kz+DlMWHPY4%z?RqZZ<4Y_UK-b9hZvic;&q2Syj}P3`$q_XdUq) z{wdMGZPCE(NI#FwYaVXOXF>qh(s2U$Z2!ErltTZQwdBq4IjA3Su2lR7$ZQ8)U! zZ&Ba$KdBY#^yI|QELbNHy?#+MO)hXJM0zvbhEP9eVnyYW*BC1ob6PehP9$vA{O?n# z>5RQXBR?bgrT;IgohK8?Jg?S;lgWRVGf)3!zay>wmkQ4_<-+L`+RpJ~B-uiQe=cJe zS}tN7WctUCVLK`YQaYNDQwE~Ht{2g0pVp_)`Zap-OSD3{9>1Tc1&{ZpjIr$$ zXFBs!`s>d``Kia2XQP<2JP)6J#OI{tZ33sruTbeOjW}@M>Xcr!JTGE`NNs^q9F)4* z!iEHohD)Pv2wkvdv#RC+Xe(n1PIEM%cEro@s=|>XOemdGJRm%Yr_lW{GmsQBkZ@bU z+{wXhv_v-#)W^*dl`K`GKl z6gPRvCw1@!Ry*N(f%H+jDQ&?huND3*AQ!=3s8Xy9KyjfST%XzxNHJLwHJn@^o$La` zKusT`5trd(JZKW8C!28*K-esMp&Kke^g_qZW{kMVxyhw@EQ%AhTTB+*F2GKUd?NzG z=nC)acj-M|%qoC=Mw953J+R*x0o-b}#WLK1{kryITJ|}ZAxzaVH6ZfJi#cr#J76hB zUj{LZVls$bW)S0UB75wmJ~x`NYot0-C{7tjdqx@iLr&>TWI_}2QC2iXV?sTGJ~4!n z75j2N=<8P%!AsY#Eeu)K*`Ft28(g?#?HJ8;o(;}3haJwc86zO%jK0V|pc*v~&;2hl zdLv~-nR-t895y^tq{omBtvQq+QypOXt?SbC$Jb4gbCBGOIp|v7j#uc#>sxBZm|-Ep zEv=~gB1X@ol-A7CjnUm-5i!U>j8+5MOpB-{-L!U56=qgx&kA}{l|FOwy5Xq^?tW0P z6_(ZwKjc&&auE~V=X<-ds#PIART4tqm z^Z7?a5shPbqN>qop516R-dyU?x#nh)ou)K;&e!#c%V8B`*X~^~IXGZ2~zGyw4i5n$&P)cVR zpJ7T=8{~I_z`Zc=a09{TByHYkPN~4u!LaiJvUR4cS#<{=j6CO!{slE>cz={*>fnIH z&^}DW6BO7#3@zI6(3W~vhYDq|$>tMM7wUxdVsg`jYf20e7qTS=&diOfs>SAGVQa3KQWUU054wdW zWQvwqIJOEU70Hh)$ENw1as+9f7FXB~Lw#JYsD4l>->zqFC{q?})0b_?@*BHBC3-^a z2KQ{}gUyX+WA`?4Hz+v&eK$ziQeRTjQF*aO&s`GMzpCl0tf|opH;J3@V>ew>@G*&C z{KR5Dmu56Q4j?cW7SX0nJbe6E|7_EhbmM;PrXl*hulQ4qdbC(z6JXWTSGs)(LdarpHXF4 z5U~Zt;=m9AFv1>PS)&KG9OAq5<6DNF_sAVtJ?4@7)z}X{SKAf)!B1^UR8^nZ3+alELo}pclaiFQAZBRhh8@G<|9Wb^; zwC#CRAGxgntDCm1d%idxVEQQ7Mq{o-y$E|_msn2~qTWD5nf~dvbe~~B)Q;eq^Vq9h z2a4T_;d`t}ctlLQF??e8ZEj^SECtGdT%oQcms2AJ%4M{qo4ufMtEY`fN4eo3?PfXd zv9#NG(xQ40hO`7S{miRv^^aanaT;dn>D%`zb=&pfuVvshiNCfFR}M&G%4;#i5fJr~ z)A#k^N`oXef+%~MF-vppN3?Gv$Jk6&H})vZGbe z`8t=JFDas$``r4D9XS`UqU!t_`mnkS*}LWfl26xN$cpOoB~2?FWW@#SuKlky?El5? zy7O!3+8YO6;Z~V zz>=$w>=NSTaoUW~eUm7|O-%jKJ&s<65=#QA2Ke!oQv^Choxm5=cii?szfA~gv97bg z7y5xcX^A3sqiv#_L@r#Y|GK9qKc;tjD<2R3pM7^A-o!fn?nb z9~L;S7w#{i*S)6hA4xBR?b?5kzMgvTCIxSZDerG1>h<@V-Vno~MZO{CJFt_u9~?*~ z1>YR#N?+L@Yz`eHf0gDkaujuaU!8vZgXZ+5emIuCrhM4G_0gRWx*WSGtR5sJUO~&l z=^hC6e#*?rbiWl1?ELVpjH5y&#vVsFY!v9|gx!K8dazDk^-)XGx$mPZl%sWe&cRd# zV7G$;9Cxr=H_;F&hElx8h7E}AHq;X)ik6R&C9&3m%ya4AAIo&(y*sS@(B5#cjrH~% zj=1nm!J%n}Z*ug_hnig^-=J&q546M_9i%TzYa$9ABG7HTxaU9Ibm9L8mGF+2G7#10arg)h~}W@X?=l>I)9HrB?*E9nO>%Q(lI}Umh+9 ziRLMiBDCi#Cc&(aJ1XV7^kE;TYULE82(;+goML5x2xb;>7b}gXb*S*OQ8XM_tkjFC z!J=Y(@Y1143iqN>lRQS>FgRXVplIxr!ELP5gb$*ow1C0>*^px`brxJyi~DJ)QM7r$ADr?SOLmB}`x0n@~cE;TBz zF-ZXzD*^>~mBFo!7ZxbEYYlF#$u)%q3hpL@TPNCYk`^$??FM_VS=p2pD7d=}?g5i) z3JVn6eFpc4$u)%qiX4F1EHZ~Bn4}yuBqQ$VD3N}Uoo0L*QReQ_AN#ahcO%a*I!w-* ziKT27Rzy<+Wu+-bK7+p^NM3jg0H0_BI{4A%?dI+RLo9rdRi@-&Ei>O%Zc1Tbpdu;N zbB|@|(~qhVk&^OYENVFiBI^kNq`MR^03zKzd316>7!h&wGg2yYTJW>ol$?)z*0gXr znij5>pBHQ5Rc5^Lj5BS_tIfEjCKg`l7m=W;L$C{JUl>g0M>&=SI~^{CxL85pMu>|9 zYl<6XOPnfVAC5h;&!&I+`D-zYXZ63t;`zS{q@0c0Qn+R6?S>nn|0SnGo^HPiY3dB6KmE%uo{q8e z@h^p)`@Y<9p+$b#SHjLWzbc|Z|KY2Y%>Q|WD?14f{XebE`pIKrWp6lG5P&O9&qok6 zSm6eJJ&{(l>aQb2efafzWcteEO+kPGlDn6N-kz;UWR5>uS;`n6ja9lsC{hL9ylomboD z4}JQ^=lFO3iyutn>EHgEKYl(bp&c>3nNA+sPTNEr0jOL{W%HqhF{SGWF^WRam^(r) zf@iYwULCw@-UQJT8aMh5mf)^TSy>%ZH<#4xYpmd@cpLugS{}foCC0YmI}hK_r`L@5 zW00d+z(v3CVXOnbL-Uv3$DLc2+4$cSd^?={BgNY*(XeYoV&#`^zFMgZ zZF$JU-&8_%FsJ|(2jimex=`g*p&piByDQz}O$^4=jS=ZBobz*i^o5hEl%7c1a!to})$X>euznV`wDYf~!+1$ghgwW$FHC$blCQG1eJYtfZ2#>%~H;YPhQ=<6fu zReFQGouy9&9*og!9;bYmiP0xuU=a^;2)Z|}d%ghvB%RDQvEa^<-0inFrKJ&LC? zki?VwWr5QSS2nJ;USkGP*waOW7{NsfBlp}>P~dIb+B@btwhvk874i)Tj1t&8jR-L9P z33P1284a4+kn&f8c7Yy9y4qHb$>eFgsB%RnZtaP7SzDlNoGz%TE{^i;GX?NxD=R4%=z4L z2(=`SKf*(fwP8degvozOe;#l?6$9A5vW1vqYZ6OhJt0GFDTBGg**A%?o|XU3;-%Vf z;At@p%|=5txSV0d-3ON3j?3v+xaV~UJ|82v8$yjFc!+y@pwGL(r$KPm<3|9;Q8)nr z?J(y_?(yx70r;05|5?zdA#fv&3tv5uG4)53Y)&JCJHO$6-@zDw{}B>8To53oe0xaf z@PU>p{FJ^j0Z^>)J(#QBzG$NDmcH414A=e!&LfbppJvMPj87T66qmcVqTUOkyTDw9 zYVJ#vWc5b`*P{SvBt0W}zPdjK2)?X%e0RqHfeAtHj2PPc8xNtPnupM zXAI)YQa!$FV}PV~L0<~dl>;L@OIwGUu#5Tr<4W^~UI?g#BKMgFuN z{T>7X_&;+#!n3?z#sCRbaJkow89NLpstOUc7l4rfXqcRfc#_)A0-~6UqwEfEmW2TL zNWt6|wI-q#a!zXO04YUlGD%Dn#obOI1k z1#@;3&;dX_0D;X?esc6yS0JQ0?4al(!25U%5WYbPF)!{dBR9Y}LxiFp{{o%c0{b5N z#7uhw;K}R3+X9~F4UbwtbfqVs_vN=&4$J2`T&=t%pBHK=@XeD@1>3^H z=@uZJPJjq6>2wJ+IXwp=XsF5QEdk*FO-`493C_W&73U`jSbiE@`LC7;&PoW<{>lo@ zEdb8((;+}je)3Xq<^hTe&NBewf>Q!b!TA$Js3(YD8Jx|r)nT^*6T#UNfjI~go?U** zKG7{tw&GVPN~eyMr&{xfa^mXBghHOGT@D_(NUp}8evf(CfcepzE7!gP{b)zz04dOc znB%zjQ&c1#%@95j(KHB28B4VEDff$(bhA?U6P_U|Nua5r zV-RVH{V5CoXtwn8xh+{hQ%kfwik42Am2v@yKAkZ8BmvP<+MVdq5_0}`Jm{PU0)H35 z=Ywb_slA=A+O4o|ZO)z)ap0yf~UZFpmV z$lW~b`vvNxL{4?c`)v%JL8}M;B`${Eda`4tJ;>Dcu=!rJ(wSN*w)+!%0%!zV3twjU zd%uA23b2J6F0m(>vO#h=>4kn00yrAiY)qSpW^I zW`x~!5NbiTakJL+b8A_E2nOt@(CGkn{^8fTKUfPF6&OV4;2j`JKxC)d9f>c27)8W4 zwA6=b{>>o4*LbQr2=ho=g@!O7gcPRJWF!EQ$iiRHN>9y{qe9yAK_9iU8D659nYKDh zrG_L;jd`gt3lI&8RP&asvnGg|DgQ(RNF+w88I2Rl8p<^qSI@#t#4G}n&&4ji6~rWv z+A`!D34_0b0BmAuTDCA((&2B5ng2O({tW@x!O|*kYtQpFZ9V!o4Rh2==)DL^+S# z#FSI`%A&cN4Gs3+oSZ2m*8nGligvv$HkY##5vHw1a6Zk0v$6p~Ofw6}ED4q=l z55su(0Ek`XZsYwH#7xwq0CK+XD!^C5U7(X=^hBWJENpYwxta(?#76`(hl2;hTD!{` zi;%iyF8o;{uPV0kS~?Vj5%#73Z|r`Lx-h%GE5WB)(|T$Ah8`0#q{b zIn9+J8nF=B2mzEd%wC}cZ)M{KiBkOnT)7<|jkr9&a-}^)T~T~Iic4J%{}RVFZ!KdV zVj=M~!uL6=!2@7<_p&pLm7T%-@^n;!6EJDJ!wH^ZB@}9nRZeGDKPu0=aihiG_a4A9gtwY?VI z8jiL-mnoi%EeMxcAc7el7OVxQiZ~+`Pe|JdRxPnE^MqbTdk0YVclQM8+<5|JvMh+d zH6_kwWL5A+5aB^c;c!LpLm1G32)H5fVGsjA#9Cs%axG>Zs>^BhI0oKxkK*|BS;nqh zi~bYSQ>J**-xG)dgz{il&P`Y=`h$%P8(&_9if>^4d$w|?tDLdfVA7y@zT=6`Bmi>& z(7f=R;)zTl(a1(Lo)1Vie&6?IOrGXmIx}zAAV68qbA}_fnKI@@d`zT|Qu??BAMU&H zu^X4#oOAcSYHVRQfGFY!YvoIl`j(_lOR2jBqw*zSRrvTCm+Ix*m4>E9;Zi9VA^oh! zhjs~liu88~B}#w6bnfa?W2C>^a31@ zOBwCq%4ihaH{oM7AxDt!@O2+DlJX!v+#GgZjLVyZ8=z!Q1bpeAjb|7;gUhQ?!`EPc z=&pxI_B!lwFLH5r;AO^!;u6FJxM4XipGK?^A0w<#L9ps6|9%4EgbV3l97e_613LbW zD`6+RxClDl#U+Ss(D5@aB9vvgBPCL^YwR}0UdEO21$Tdf?}ArR9;0yA!@F=>6c;gU zyBWJe!-wD;e2=kTp#U7}^c(1!`!Tdxiz~54;qF~1oF<~Hjk`k_%I>%XXDSMh6G5CL zEI&PP2~J-WrV{}UQ~pG4g=3uDPJEEAz&s5-qJg{(SKt~D_n1`z^FV9{@f|MWpe`*1 zij6!{j&a?FD+MnC0xQGpF?ybY-qKz^^A7H6`8rz1mH8mav_VQ%lCdu}1c$>VdtXHo z%~{V~x5EpkaiMJT-G709<#r75?XV+f4=lt*1O)!1U^wzF{F;IRo@(dHcof`hA8wTq z@;=;k=X;E;#FhOOh*}JAsHZ_NcWWtkjh$=mBnb5+!9qKCzbtE|fT%#N4Huc5FQf`^ zV1l?Q+RQJl^*@h$j<}rfQPAW9cmDyhcnzQeQDM6!yBLgLaJjB@bGJ4DBIH-sQUv0w zl2`>b&^_}N`7s+M_x<>I8&|joLg^NmunkxE2zPC-MLSzjewn*l<9jxhHz68Uq0m6Y zco2`mokwtmUk33B2ByspIwTB6SNH7zT!*WJox7&Ifqvr(zslVo;5+M0l#ifJ2?~pd z_yNSLD5yI@pnvWzC}>2qMg3<{I88(iW*vfk0`V z1&cw|;|fPWjNgj|7gxA9F|P2N2!uuydhZ9Z86I4Pg7!U8JGr~X``8ZQ3cmxf4^e1#07Ms9gCAS5 z$B5_!;)V}!LctZrUodljj6&{*AbwGJ;KucMI)x-6^U>oCjQs;w_>_880#3kS`!J^A zHawJ0hgbuk{#RpVn+B0tgFqDVOm#en6_7{lvG9$yBrolkcLJ~x@T#pVQ|WB;EfAq{ zqAgXNZ7e{ZZ6siwZ6qMiHs8`7mUPI&P5675RzZeLwiSpobu;8T(aKa?Gshp`z5u{O zhCE=)N`L-2#?}KM%hCtp$*BuKEdV!3%(q3nr%}1iln9sG(uL_erG)mNX}g6;+a+Mx zE&*w~q^0S?+JjK+rKTUXr8~p0r2#++0gG)xl}?bCRb#$mc7>PQJkAyxL3n@`;aq!!46Kp-ameg%T6Ec_E(OJ{2fkY161Gko{r-Lhyeb=mZYh_133#sM9r7BWVIMQv4FL>OOP4^h@K>%c_~3Xp}YK& zwmRZUMDUSiU!&P%5bd!u5_TWAL1CJX;dBqC@n3<#rJG38At1)`8FMTxK#Zkh9AxI0 zGU4YDy>z2V0_m^QJtH68FIx_o5Ow$m<91nOFv^VisqY(P{U0-fxiCuWPRtyh6Q+qf zo`_3qVKHgHg{Vk4B^X|s1*ZUrk%*de)&k^sOTZd$3CQu5wDgiwquU0*L9uZErRJpN zw6&lf^s@!UsI~wgBnH{SVp{izkq|eAW|8Sv(Ue9%ZUvV-Y26sQ9t))aWl9sn+~Yy^6S@za<@jQcz^>-R%O zjNfQ;)*mvpShJo02eeqT-U7^7e-(!IUl3YGOC7oX0L#(Ln0mQAS7Xz@9gv#^9ssJLQB$cO&to0NC5z%S* z(@d0+Bp?FXOC4ST5pqg6$XkeY?PUNW0>T=!(85+@sY5wplh(FOA8RAmJ3ULX@5SO&{n+WkApg1nXLr5<& z#1StO$cLB1v@zV{q|M)eE#`=86M2eb3cPkD5R4BC-^^R2?*?!c04IQ~q-5OO!Jt+G z5VqdJvsHQ^DS>Qy_&O*S5D#A+eWB%bR1)DjhZl*_*#|&`)(==O5~pjhtbi=L6Zd-W z0?}a@h`Y>(4KL!fAjbA}MHRIrAjXzCN1%n>kP&7*z*B^V;iO>!Zr7DV-C1zOnz2Pm z72945*d-qlxLz|i7PX2RoH$>v>kbq%_`V2b%5@duO3wd+(<`_WSKVB3I zi2KLhOt^cyhFUO_g)4Zm=*|fM4gz%EQe6y|4F{zH%)M|W&k{3$0MXC^#n^-S0SN2f zGdmywVV$!I9q0!USir(xL4=mPYfL3t_?Xg6JolJIZu?pZiVfNXu*GIeKKG~~u6*t> z1zeFYXv-&QAcd~*rNhmVU>97AtwHhfKsW#7mBf=)&2xRac@n00;ra?wpoBN@kP=ZT4%ca zxRNCTQvycJY=ehKLZmtLguhk%;z<($GzRHwv3I6*_C^32S(CmF2xXyZK;n!cAkG*I zFpObhe|;yU*3#zrq+;x^381+f{-?RUo&z9mdrd%lNNCpn`Y9ms`|BM*L=utvYYUKr zC;^eJe!-YYK#rlLtudtS^${8*b9=3^U(kw}p>lt%zF}q}xxa28dAYxy1g;b}_SZXr z+=Q-J`)dN?^6p*$V#dh4YXNIDbAK%nEAL7`=3Pl!J)y0IdpMev+lofCA~LAhUyI#x zOWdOn5qL&P5@8|%W0RonP1Nw*5<;IVQ1m2EQD22t0@_fAepgaN673H_^tss9CQM6Q z1ns6%0>wjGkQ2a%0v7&5NfRlsJK2?BGt$F@;Kn5{2~ez}eUT@hg^+O3Su;;s0P>_r zRqG%jw&M&3GRj>W0f^3Vn~|7alM*4cOoxR(q=d^B65W@8=zbc_60M9(ZG*EGJ&Y~h z*)&Cr2fWl#%ntE@cLcaJt~6C)Hk~Z5160eQp{;qcBp@#GZv-%qB;>)8fcE4paj>NQ z*WExM5p%L!1tc!=EkH)T1gyxHfQ)=eTk%4XUrn8r2g^^;h#UTAVHx=iKtu$|$lpuy zGV(9qb#COZ0}>bc1jI%DW&m-KZvp0pLt_%LB3}YB@+EEcgd)G5ER&Ic9IZ4(K0SNK z`(3-u=vc|aV(cYgEJ}2{;W~(D!n)_M-c!I#l9g8D{Rs+m2^jOmL1)$w?loqU*ZP`U z-YftP0O@kKZUG`k3Tt|sGT~l4Qz({zW+ZG%$3q|^Hc^*AF=gYC0LVORX&^wfB=>|C zU}R&lJdZbPg-f7@IyJ?t74C0#N&?g=JR~P?-6mK45vI2!(B!QJa({8P>8vLJh{3+b z)GGnQS)S+j;5{+S1$jg8pAC2r{{tL1TM=y%-z(zpF2#8NLm<>)>W=d**tG#NVj|p) zMT{PyzX5<;5WZIlI1U1+mq58}IkMhZ%~N$CnMR-~pg_(TB0bh$}+7l0=6 zs@$azA^9+TrO-cc=%}t8NMuRQPGG5N0cZ6O5 zB)q;DyA<-^HUJUo%La2VL4XKNxtG`lAZ{!19srt?R`3!K7rX+X@fX95Z?P$9_O`s` zhu1Y|7PJBoHwy@eQ)B_=ETH}61Ex^;d8L^cy-EOL^jDXlYkt(UhklNH@Y4-e52xqZw;D>+hfj%89w$dxJ{!c zJecvW>A@FG59R}i^B@7H2Q_2nS%~4nAgyiX)J_c^k<%U1!Kgxp(vB{;4Zs@W$~Emu zaGTaN4Et07@k`obAR?yZX3hY}|I%Gj#B!Geq`M?-c}v_ZB}3$z_Kq}DE@|}u;+C`{ zBrcbIdBMN7e8{c1Jem1@VRPkJwXaAwvE)k@Pny>C)Uu1mdTr7vcvEv^rz~5H5JsZiI^j zni6#jh=@3>z`JRbsM|_Fw;PFiumqm58;M!~@IPzH)YBl7OD#WVH!?K=eiD&+W;TFi z0_2fpE`Ye;CLk_7Sb!1RMlxRvDM|-gc%|JqauO1k&D|qlh)f61f~%5c^2qt2*^Kp! zq{n;bqyr0(@ht%>z5!@rR>=UD5>|jyHjj`URyKbQ&BUdH?!=Zy&b{C^r33N8XWIMb z#CyqZB=Z6Q5$ei27%Gj{LqdcPrI$Mah|A`^08lhq*_?nlFI#}=Ws!;=h7^rf_%*wc z%pV63H(DAYaf&R!P?X49<82t~<16-LH35YG0G%7GR8zSRL+xkm%ojyYV>f0RZCE^MT!XoJK%<8YB5Q?HK?x z|6)!(djKKco1UjxfOL`sEGJ1oI!V%&lW2vg9|4_mh4>4N2vdy}g8Gm2C^D@)^)!;a zTq0(IE9IGpp1_r0AHwUj^i1I_*f){Q@0stq65t^~E*Ea3XOVH`;okyixzOl#yhN<^ zLIQHVkhIk;S}qF64!K;=($KVAxLX}Y1k;*OjW+ zvaGWJF~P(UZirMo)4Y!(0pqB}Tq>fDmie@YxvL+>oyI=xDZE&Ov8~3Hb`OS$y*1Hz zih@rfSr*Ien~BXD-m@4@H2#&1#MsxPpollWI)i;9E(PzX9-+?bMdF=4lR{viJ ziz4tS5jnOc`|%(9V}n4GD;?W2eZSifq@aUD??`D*w;G8Sd^(VWuE5ARUQG$L1h|IE zPX{xG4q&W~%J}WwE{;@lCo0k0bX-y3KY&X2f%XeJ%b$r!|0rm*1%5Ded@ODhQsqg> zp_0LPl#O!kXP%7CD7z7oNr}+pJ8?PQ;*zy)Zt3q1t&+|gPr(s73MhgK4(+v+P$!tz zoe0ys;Z!!vV_(NuM^o?&XbM2b6^3=c%XUobCR1J0x-yidbxTlgvaWL*vrjj>4f8s; zsjQmBduyXH_3p}oiXyzRbsq}iy|jdHVKg~f4szLN<~XJC=2ftY_-KHfpZ`l|i^ubK z!hvEy(>QN&+hy@uTo~!*Ti{z_i0Wv)pY0jy$txK93P1uRY`@qe>Sr-PfL^T5 z#u!M60KHhP!G@D&yNdB*wQ3)MpTz-#@yzxs{@U(uPy;{{h|tppdZdWZvjBSjjMo#K z3;Rx>f3`+@zS{0e#_Ewfgnw>yguEA_6#}R`iT~!9L!yEk{q1^ zU5!wU-|fL5H9^B;)9i-&f$;q~!o!JgcLaq!?}6{3PRa@dG*w^;-gGQdm=wlfh= zNlqRqBjOTnc;vc_m=3Cs!mQb-`~})dFX8@-S1^i8An&V43q1{HHI)}7hPI)+*N*t} zwf2axtp~$jm>|OTL1>5#TZ^W!71E6)-8o%I?}0S=Tn4#Ciy+^FhPFe3qQu|XFKP!c zBL42pd=(me)Ob#Hi?*ttk=45geKflKnnOYu&^smLLl{&* z23*nt{zr_G&q@HK&)^D_ZwShUr}4w;0_0u4UEKQ(O_es~XoA`rG>%%xs2K*|;Piv+3(w1hUYQRWVb%w%xG0~0? zAv4=DTC*W$W;V)G4a6U8rXB~zi@I&49s-&wu>7|>G4>ZOTZ4n=yE|j!*cqwM_7fJP zt3XxYvf-yz`IVnd$I3MSGVF_xYQ?7QwiAqP!eyK0@ZNhpV{d}lgW8(u$Q6r*r?0t2 z-0lbjD*5B}L(d2`Sm8iOgq_sbinRn_a zJjH-K9Sv-EJJLluuOrRnW;&nP&xk6^O9V7^I!InRLKPk|z4SKtab6;zsRHwa`!jaG zg2)gZ--}NF?LO3h+>uBdye zqC6SpqzwFc2jwy<=Zb(2&O~xvVphr+40EeNgmUq|3z@r@I9nYlh=kSHIz3-`cm{8w zHDZB6>rC!IuKyQf&*HLuW@q`!+8G-&o6pTX^|?kTq~xA@Y>$xWZTnn_SHjN}$|(0{ z`Cp^jmq=o^S6n>d(LBTo0!da&M-|#H+LGMfhY~crHw6Kh#%#%MPw?8YI3tmw6n7{% z1VjfA8SitC_a+b-&5e^+#tPm}{X2l(04Nn_tmH-B9tf990Z@2lEZ|`#L`DIjY?$#J zc5oyzCRPOP2e(1d0NLg`5aU5)-GJ3@1&CQhsQe=Teh?Y?#*EEcNv*TfL^&vdmtysZv-&uj$Zr2LKw1)B zuh*kaT(2!ac6xmg#y_^#Btdj+uMrfku9y{oR4z1GK&2@s%O8?*niMdTh(X>cSX0LsJS9ivZLi z$}>7U6NB0iBvm51I8!rj1%(mOZ z5+?ShJP%6tYAJ+8W@vDEDWOb<0L8oQ2bV_xWibFt&_UgSX(6kBEvx_L67z5=__T+y zHM%@vlQjTo!1lY#*ock?fen==cA{lOm>bb5l(CZv(fO$kWw~qm8tRY=m^!8ekx2Wj zBP40=v9d3T--KE;NsA3oG9)NIsj@gX;)>%bGHn#VqiwzO@M+B9=V8lmc9HzrbWcaXL}TxlW&4+mkT-~s3lb%Rnc z0&ndwEJq~#mn%C|1)>}Tmc7tol-E%CV4~Q(J&t-ik|X*t0(mKcT`>x?c0 z#aeKLh_kMYAgu)rAgr~(ogT9mtdAOAHr4|55(uaE!CyW>Yc|E5<)t|zfs7LTtpE{~ zV;~}y3+Bdaqr)_86rj}RaHoc*!~PNwa9?l&%Hyd#1%GOib_^A$mqQ)t%Z=UdQUKI5 zx%-v0;S6;?>bwdO;fw+Jjr4TL5+J;BJ^uL74FqT=BK={wW0ql(v7Q}<2%NxdPB&() zdMO56=9D%k%o&^QR_XBC7EJJ%EywNi(*afj;t)#`#Z3~qB!Ry!ZXzTSq(oFfjpw+=AebVg3^*$Aqi65a(T%V@y%#NW;kcKE&q(HlNJXCq=Zr(||6FK`w#k^u)g*Ok44puK5#pg( zK)lflC$ivH=&43C)Jn!W5PLy1FY+*TG7?Qbl5->35VdCnZwF9Mq9g4oiSt1;5;4_| zKbb|Wosfn3%yx}E-Ail>Adz6n<;cnqv5keQAy~@`=w-g}D4raek6I;QCA}C*MAB!Y zP?mwEE=JGqMl_-=X6pi1B*g&26}w@zl#s5lXwwyvwp>Agc$p@_@C97)8T8B`3(-o( z2Ougy2v=MV+jFoagJ!k?_6+YR*e?NN;wYQ`VcrsLmWx$)HAYn~FblrMf)&DFM9mB3 z(~L|;u^=b7_X_lX4TzLPyC=98P1J$t@B~j!yc~<;5fDOk@OQ8pi1ifD^Mwat2}c7( zFr|IlK#&%cKnj+ZY~DgF35&ptP2v_krUbKE9f}{hK!RqQs^ws_8wvyJ4h`+wJA8Wp zZw8yTAMGzr_0sKkNqc7E&kTw<+XD$&VB433M4U<5a;^mk-}+j>=EJCyMRlUt!sbzE zQL~IDZmiK3EsSmr3%`VfFk0B$2godFXn#ejf7~ei5tCwr+dk}IK4K0AfFWS*hZ_P! zQ*{yu-30emQ2XsiJ2I{Xu?7U)0uOb9rFEotv_n{V1ZB&}2cd%^K(6c-EsX4nRx8a` zR5B8RG^lR@quklyWnSo|ft5fwTf^~7oq&0{4>C@Ysm9+_ngm4>Na*44`>%}wI%bju z%tyz@v~K7)h<2TFeROh^v^+f$oe4gj9>uyy0P>=BBScFFKyH_7fuxO)1|xJA^tw~g zM(2=NXCf$*ep+YlL2c?Ltu4i0IgrNH)|n3ov`u0ricZ z2@Scujh7|cUCrqHcjHkaY1W51juV^abb!UD4M(5d5V-4lY?B97=Y`1=eH`{0WEp$8|XE z48cYUgVXjyuKMPU!g(J6mL=A9t>1fR44p}TV$xRyWIiNlINPqnf7&;O&fEiu&_GyM zjt1J+Xu*tfID8F=ZbLoHe>FH;Q1>OOyD=an>qv5wUkK8SA;FB~>#^1lV^>zj1XKz) zL;08n0n7^W(pHoUsBGMt3;lv^NC{}v$@muKQ7F@vB!i(#Gl=n89t-(E zl!GW-=~l^{A2ryAna6^gc!o+w{b&MYmzV6a0AXA3FW6Q^>R#cQq2FLcEeN_faT4VN zC}Vj{{2b*IRL(*&!Sc5LD$HIq4M(xy7W{&3g#BCe{@E+LAA|P&2Geh0Lj)1_e z75^x#v|iMucyB$_6FNNx9R&~N#CnuRp`0AFi*`s!7_zi-q|a2tK2jtBsZ7#P0RM}I zXFx~#Y_s8V5RerORiP{!szq5gR0q9-(GazouBl1h{_vCq3{#r}$A51H=3Hk=k;e~1 zNYV*)wvc+)2=w1V@@yXO^jMLv>={rKnu+*35W%3W_K46pfpYLCBQ$93k)aVrS%yXj zDx0D4$w1^5(7~TFd?(?}YSTlsJ<+~H3l=b@1Xdr1_`?vPEKOC`V{anqwB{c5bEuGX zxK8o-S3qDPDo`Ay9Z14w#$H6xWNPwf1RdF54x;dR!~QB^i($W33qp3_0LrohC#W3L z0h&>=1D9ND3^8?p?6+vk{&Yx$V(gc+v|rL;O?Ds)HE2PM=|F^cDg7bU@Ow1Cq7|V9ojVAE72;zeq}{ z$bqfUzrwYtf*t}Ie2o>ZH-LK#fE8A!hHgQ*5!}KZsUdnRtpM>{INTjf$0!d+Iib-O z3Q{ha1tPeP7X>MqR1twZB9dDziOJk{fQY92ae@Sm{DJtVv!F~MVU%S8=|E*OfxLtK+)b4D}OgaaQhDFjj5z`R8a3&j~q;mrr zic2~cU?v^dFWw_Wy~68_5i3F28nMYBXv9SNKRgEhk4yiDkx>b-(!T{X4POPRkm-L7 z2swInD9h11LgkqB{|yw!jf4T9eK{1Y0adJ#2()Y(i8H7hI}#nhlOr(zW$7Rqi9aD5 zHxd$%BOz&HBs8is9y+Y_Kg(!Xj6_9DLu+ChqLFBag)nX;EFgX)>QJw6lra(~P_{+_ z|Iq;!)Z|bc$2KQ!BqU&sgatH>M0ZjlM`Ab#ITDjmmLpL{<(QH94J}zCq0ve#5o;ut zpo%pTwIHPP{zBc@kvIaL9Ek>$V@JYw?np>LDkEBR88Zz1ppkGF#Ee7)1Z2fXbVpe> zG#q8w5RF7{=!qK%3y2?y$*5O&l`#_KDAP!2B8{y9Wlf4-F~#CWLIT!ESU}TA>?I9y zB6>KC_oi!BnE(x&PzCFBqoC=9aM(0bP#zp z3$o;AYfB`7P_AZduq0qi3aYb&8kSq4YNKH>5_@ABs*h=iMq(%$@=!x^OJo5}Be4uy zgGSUVyuyP`E9QTo5U%^u*tHg*Z0%Z0i18IR5L9Iph{CI>3bwN`HOgaaRK?b)r5e{7 zH4enoI1yVzqaP$&jf6oIjxnlqAckqy0F*7W#+x-*25t6dQI%t1vB{~R@)?iVLH!e} zl?qqL9h9Wy0&dcHOID z?Euyg(KKD^NRXzBMn{MvpyYgMKv~WgcTxO&`2#7}%3L&EBw$UK2x?fQIwjA7@2;pE6Im1cLJU&iFSw>D7$})16psdNz zp?OtpR1)XMy(n8DUr!8qeryC$cq~C|AVTBODn+?GK1#sKl@`!6_<{DQVCG7V6@Ze1 zUxKn6{83bnS+<&^skrl_1gycIfg0A}SAdYiRfwuyCI(!LNi}$8uGH9G5V3>b9l~*g zF9E4d(oKV3PYuh#Z!{Vf4Fx(_4Y2~0Wji$ZQ_v3mE%BygX&?aP;M4iB1l2GlgLHNr zg)*HRgLi?LK?IJBiF9NvCnDy!SVgr?8K;$6lw}e*fU*pQ6DTKX=B)&}KP*Fm&WmBt z^0>9%^oYzN7ColK%p%=MTAq|ffhas}v^_(pF-}V5D9g61P!?gRVfxn+5tG3Vh)Tv$ zY1la#%%ZKf8%P>$i_>=38;q<=@kt(&w0YW&0nEd;)+A!Ok9N<2PUynVVR7CmK-t=} zm4L7|3OAuK9|ItRUjkO}TR>Crk0K3nqcEcr#$N`1IXE)-tEe0k{I{d2xXdR3EBI?s z!wUW*AY{1SjjFN1-w2)={P=IPpnVyXwCX1V7GXIm7XJGxaf7f5WeOU)L0C&=5i_Cdu<1A;#4>#J zlJdXI4i`PHig%PHZM~x`0eVMSgRoV@e3a-@v2=b5MlpEMlK2-U#0j*ZcHu3&Q_)=J zjm9lPwHS|YeDun44ISP(9z|um4HaCB88(9m zdM9W)s%K6#o-@&lP&ZKf5|B?)0pUMW@Hf1)8y2_3?aS}{7B7e4>g*2v4hzbmu5*%c zOZ+~_eT51|hZN(Mcr}>vmN+q!!L)9PKLKD00C`LN3C#qW?uqY3{i4H4Akl>tvyq5j zm5d-C0Gqmk_z&)n4}lFOAn5-1B`CKj#k)Lq+}~|fR4?7Zz6`)iXr}Gg+@DBys%JpD z?Qx!!NVlphh`@hQ%!_-{8v6qFY$4hI@Rlri7j`|>#Q$9hs&uRUBwY4?h&vDPsEYM* zpSGJ0NeGZoLIR<;&=Eo}(m_Cs1w%*{h@_E15n&M}(E^DBR2M`OovbyEEVPnQzLOJ$sIHWV<*b$XUA*IA`rKa@PJm zL1curt3wbuY*zy3u)VGvAs-~kc1hfuc96m}C~@Bc)-FL$2s%g3&5)R+AV<#8a-@7c zg65KBeV!L5+suxo95RTYH4kK4Mj=Hxad2-tzRBX?rVcqc&cvQjsW);?jz{27bM7?k zYU!UZb{RhOf5PQx=Za9QMgesH9vqBft!^tSvt4}V>g*6Dr~SCv4e>cSeG`h~Rvl3*N)z}6p zL3ky&hZy0NU>6QGcjpjQ^pr{2nV>(#FQ{f{c_y-&p=Bi~B5(wO!`F;Tpi)!r>Xjgw zB*NREOdJGtG8%zhu4-3L8L4uqh&nIHL_9(n4`3f9rPje4; z)y>@ zuR1HFuvaHKKkD3rU1{TX>`EK=i#@a&#g;KuTuP=~o;ZnoD~(KmnEfqdWW~DOm>eD_^8QF2~=vzUELKwNyh4$ zFMfcNvC|c8u&ay)Vpn}GUGXLP9Mu(H29>0GvXfzvO~iI*gt}rrj&N73!V&I@wUsrx zLJ7iM5f)T;#TH3HbwzM5E;TGZ#jd(S8+deAJU~`cL{rqLPy*=+rxAA&;;2Sc0@aAh zUEPSu1B0Gc%p^;~x=RLj)r!-whg#7&B%Y5u+~+Gik?!$C+Fl(gMw)aMLFb@-+Q}Om0U_NJ3d5Gs_7@-NDqd7IiH0?HT@E? zdq%<2WOY>2D?xY^tRhCZMYiBjO}>Yy-chh0Kh>+nL9C}Mg3d4JVM%pY$eHgfBDR~%JsWZl!x9`E)W*t&t&9{J zYPjET7AH45D7S3fv;>K|N}_V}l5<|XQKE*9a(7`5@9z!{rvK&i*NO9!#5pGvCw@qE zoHp3QaR!Qqijs|^-Lz1YQcsj+-Y9ES6xqjYktj2GGo$QD_6Ef(^t=4?^WFAW>t)zI z6)kjrQvXImv!8G_MDasOsECceY>3+6P#dCw*wuz88@t*Nm5SZ7AzFqzs4~xHb0M9t zG7r1MncqWjCv!O|-i3qA6P#1P8;N_=SWtrSSO^QM$HGBL?%`nQE|Q;csc9&FSoK(F zBX-YNxSOobmY!GBkP?K)!a!n#$HFumN_#gDHIAsLrMqV0*ESfsi)0lJ?;NvHQc=_U zE;kh?)iCpW5R-vUOV?M#Sf?H=IZX5Mz9So=^#1O7$|n9gJR@R zBlCPNf+#S7-IEOw)JLFBHk3PjvY`Z_e_uN(NQBUpeWDy}WRrT}{)bOB=8(Kj zXy;TTQMRAUBdGJA*I;*cp3Zs46NGIfMOo{fcZl1EJM`yKIp5eqgmxF{-4f+! zV=oSw-{e^1Q?WaJn((;%)kj|E)o!%jEK%AZ4F~NJyBm9tMegiX??1`0btzfc{Zad9 z-n$fbN2?b|E~b71-PELT&T&aL?vC}%cFu80sW{Ye$ub;43gw)aticgJFWDjvbzZWc zQb^UD^Af(5+k0FRk-m;US3yif0E58a@547Qm?u_wDB&D(tMa3RoyXsw-l1k*^$>RMN8^CP9W zPzCBrpdzpaI)QpiAl}E`W*wzv;&t=!WHDaq{h&wAyeMQ(<85$1;W+Xt9MpSX*V@dZ|H3Ui<$aFqpkBJu!W)^2>NTf@ zfAI#I_yO8*{Ren;ZnVt)@Bw{?{~tGVgm-h*y$|Yjb^FsPmQQWz^JPNIBE@2Al zJ8@EQ`#f<{f+2w$DN!dMC_$? zod4vl!p?v4oQDa#(#%cLeZm35F)q#38};|QMBFl_WO<}VwXl2YKmyAX4pIm~(}tgL zkc%7j)tu)*jN+ACxV`en+rL%m ztLp7s#Vs{SEbrg)K*)@ncum<&_B~tlHb%k8!nL|%4LZj;rdcCl>u`u83uPobQ|T4=m`0M?BHoSlR41wZZc-+T zs(r;{daGc|OnMn1ldgH&h!0tyrW1Ua-qtyxNx-f-=QGR18akg@gI#TxwqRG64tvG! zZkM!}H`xczCh;LU5d-oJb_VDI1c{U`VYHs%91{hV#Mwox!Al8b7r{&zc83LCx1P~_4Y&S5Lb0x=PP<*xZo1w6;BmcYpNz{S z<`US7&zINog7oWfWa=5C_?D5I@PMvo%wnuv%ScV&wUVhnGpHurZco~#4-B3|)OFDK z8{W=$=n73+PbnKSU?Y28$tHpLjc;Q`T!`bf(Kt%+c^XHDF*u%)HH&J5-b=~ioWr`i zQa*0wqvH4p#I7!2MqpPLFw?~D zxqzAP#Bon_=XR=|Ucb=T3@EpBm2*eV8AxLAQ3tx>4vIjX=&AtW6I~_noanBSEY&aF zTX3}FU)^#6w$~|(`%Cwy*j4%ES3y<&WU+h7pP3MJizD~yM0Y;A0%3Q!0`k<0I-UwB zw<^DKhs*zIsK%c1PoM}=el2z2a{g-Y^oW7z+7-ZIa>m=YY1-qfvHR%W(lxC8 z(2kdE7#(KQvt9X!>eh{UnUSa_&r9glccH@tMuP19XQ4$Mwi~B9d;cXk)ZTxU*xkLq z{Jb07C;{IvMms<7?h?Tl?Z$?Lx)V0R`IT1$(s}AyNV&t;LQ0^ng_PTS zE%Z~6T-3!-Jjx!v7W$dwsh@i-*zT_}Ck;cdqMJRH)e9lkcGRccWI3m$Z|uY8h6@!ThBxCG}{ zbaF#1sp))Vi{vLH<1R!pi4RBeD3YF+(e?fLmPkKiLhndQ)`m$fA38Q-W=XnLE7DH871vHf&v+9{GUeZLzo2Q@`iC6^+x&zV<17 z?x0`TV05#&*pN35kH&JPIO2JHWwRpG>Ut7oJ@(!96-wReBfP$|>dGIbO6jJg?=7EZ zuWhR**~L%m^Xg>W(uLgH$=_C~y#3wN`UL+!FP5#mJ@Og-%;0kwye^8kYOrj6U#``d z+%xrr<~d9qQP{ii%ht@XEUe-fUN_+^>~a~H+#oWl?(T_ftHkjsPfV!5CtDn!L^Myx zAI%Rp;*h^buc6etaLC`IS7Mg|5_Ke~vm|K=mlCZv0-`lc=tj2F#L*zKMdET6AY3Yv7G4e%K=cXNlb+F=#%1GpL!~vb z1N$a96PYDJr__<{+q|86dhm)?nsyc0sossGXNN)S)`^pH+4~W^b^EBq9V6*zu}7rG z-ZP4q7PTe{g_M2Lc$y{bp4yg-mQk@!C3JL?#0#*?%)?9(D>rjoLChFL^$sU-KS$6b zkQ+MiPys^S;XX?wnG{;{dK-Bd$a+%nh4Oxv@34F7K=N)snH`ygPEK(i{4oN1+g4Fd z%&$D9mY83)CV!_I5;gW&n(_yN)W?e`(T{lC?&+G7`ZP(sQ5z@qC7#qX+ZPz0OX)KU9d{B>*#jDMzM#wU@?g~We;^h*d6YIT@pIf z1qZRKF4#lNP!|N9duqahP!}loQC;wplbYKFhiX(c?3SuJjTB#pyhB~k2D|El&Qwp8 z`dwB~Ei4GPQqNEes8&*LPZtc7)I(h`&6D~ZqIy*$><%Yh5DF1Wyn&_!o-WYZ+4nrB zcL_2r&QjBNWFfZo(0vCJebzE}{_g%eYZaz1$ZE=GJNay)UGgBh#Fq6eT*jR^jE#IW zeu|G&Rs(&UuC*75o=yUX;OOX|JxtroVB71&55Mm_wcBQ%X9)Tb-RNA!Q0~D;F>nyV zI*DbyIOgKmgyl1FT!-T@miAk4+=!zGmNIcXjAJpDhsE(Yj(*$OXoG$`j^IPsB6i?f z=jZ+5Sf-0(BVN8;{9h3CTX5X?66blKFUPTUFF#g+eg%$*mwCM*==b6nx{rVUf_^EE zrC7F$;}IM$V6k4ovDB|?slRMxoBcSh-~>JO3@lfQV}zb6ui$I44f`0~Sj2b6Wqj-r z!A=r6{R!Hb#@FTPvCDDn1bsg#8snaqIggL4K>r5+b6?=OYM>v)Uo)9-HT#F>^@hfQ&32s^^oGG3$o*|FyUN+EQAR-H0{OUzkBBSycpiMc@WkB7lxk_; z(bJax*kMtK|L}PU+lC3>IsvrEY~rrRVQk~WeB@2%o~ZCVoc1%Niz5{l7Kk_}be-Q? zDA#rCBx3``oDZPj8Yx)+KnjY_-;yuJ)i6{fF0etI2eOknB!l!(v-T0zj zKiHQrE5Y#V{<{burX%Q=MrjfKzT+?i=!Z!0=npFI$BES77dPSo@x=54{R$#JKqTY) zV@Di7q*bAa4egaL>hb5aCg{9cg6|+`qhH;8Cb-S)=5rnS+(M*75^=Iyzyb=O3OIyF zxBjZ#_>z7~#HT-Sx8skRJ@6&He#TBb(*NV8_)#cDMz*HkMv6HCi8TOV=LjChGqZGY437hlpFoHOva_Jo=`!w)tmIVPWgf9l{0h7 za*JmM%2)W=HNgY$Bq-A&mcEuZ$qj+GLG~oF7g0t6w1qBk3Y=&-l};gXuY?tFD<~sx zV-4o>F&oM~8H>lU>sY$P+%2L_dPBpdRM}${fEu=thwU&7lMAg4aM2R!002p%MHy;Z!=4h+hWt z;9`&+reiK(U$6?+!A4Lfnfa_aWWrz=3uk~bnF**T%z|Q2M(j)AO1Rb|e+2tBcnY2c zmB02o4xTKeMM4ZHlZL$|v;%p3k}~q-^2X2$MuIX;l2BII0#Wrz3mSkjLy&KVCCIL< zU!A{}iJ%wAL%NGW8F5d7!W#02ac>2AM)w==E_@5hENZ}05kXFr-v(ulmWS)_26~@> za>U#Klv#n@hCT2qya@+End9-lf$-k=|5ouO|9>X)HXGOhufPHL6qIR^!nz3Mjk!@1 zl&MWVld!Wv9_5|iNQHKv3oi1rktw-Te+jq*mcqrLj8`_+lhEHE8$Wyy@PX?W^cZ2>g%p;d)Ygd9iGrNnYCF)~u1TCSJM{Z-^4@ph%2W3Ql zJ3QH#`oD6F0AGb6LBo|ebBNg8&*(89`AfNJOevHnJ=+_2R_2qfkcqF%FGJl zxEj{NR*y%YR5FH%Py(02YEWi9_DA3?_!5qQ(MbU~ zLZ+sNl0QPAZLk}j17#%g8}LFpLl2Zm#oivygA3pWSOdx&#Qp&sg74C+^VhaEXU`3< z!No09a9X7n`DVftvSV2RcgoHsWKK*@{qxwCzXs#m(=4D&@n6X0og_EGYEb45?3# zHLguQo_*MvFbh`5o-Aa|CRa##O;MerL~WZ(y7PL}*)(!3n@!M`CnhWP-(`d@nh zw3JcJ3Bfifch1^$3VEqSU2`~b?l5&XLV_#X%*U=T4C z(xD#=gmWMVl#$0AI90x%m?LBiwzL?iyU8P~(`Vvr-nxuA^luPJZRft?ZryYn#|PJ^>S8F`%jj*d*3@DnJr7x~zb{6mlY z-?hjOA(w~LHz2G$d|sIr*xPrc|9fK@0+Nw8!BBwz+Fza^FBSL*ycIZF9-jXgh6I!+ z%U=cZz<6bD!oC*d>F$p}%>@4^f62dLC-(pFc4uDk0m{fD2wH^XU;ZD+CGDX63@<hVN3pNG$kY@@N#P^Ma+odbxzYxp$a3Nd?%7g;c>Q7{CFpP)OU<#Z8=fE@w zfTVp5tOR9N(%m=1-tN5Us=H_WAMK%n6ZxnJ)$)gt%Y6^;lhAjd%n8XQ|D7cA8`LEc zx$!|6k?)5u;A>FkR>Ir~--Ex0l5)0pg7Vcd^#474Y=&L%3cLf#6p;AWJ-M5q7l%@y z%wNgRC(hf%`2>`a@W+xP3u^x&;Ae2Gj4mYNr65nwUIlC5cDNfhfHIr0|5ZBjAnSMF zBlrZqgl~cRyGeAR0Nr3LOa^5F*bAX%3)ChrBCNL{Djktmz~yiq`~z-*wLw1QAK|J6 zR0Mg5^9`^Gc6yq=HhENU4j7;vWPvh2V*d$#gXmL~lmjg6-$3w)2>Vofh)`sGk;z|+ z15kDX{_-M{>){{n2S(QM&xfHKM02g(Epd=xxCf@$M*k{L_Tv8__M#fYQ*cWGX5QT6me3a zH8>{7=NKGkfV?)O5|pvA-wyHu5P9W?GEZQC8eRhVhoLeN137Ymc~nMftxRq5iwGNh zjgPnCBls2K2Wep=0ZznUMSPujD$OI|>0!UymXd3yF@`k&>Om?fBTqQrn8z%i&*l~+zpPMxPXGT^07>Lw z5|HPXPan&63R+L%EFY8^gMBt!1lM@vw-I&|>_j$UvI@DPdEv41PuHl#2-|gY1k#s(DBt7)(oqBO2$!t$)v>uu0}zbSFyhj zSCQ$ho{Uda{yAyHoW_oNBAXZZh_pJNu5w|=9mKN{oR7zqo{VBoP~L;^QDm^1G+y?k z)1Ay}>w76iPy!4G`9Fj_i(QnXJ1EoR3??Y(fh@a*ychC*FcOrJ@FyS-I+4c^NirDj z$v_f48FEQOo)UB?Yz1XpIsISL<8lIB2R4YGGGAgpGaD%6d7gsG|EJCWRxaZ|Y-&kJ z9?+fy?V%?OfT5tw-}%=TPvpU4C76bXcuFRtL79^!pFx_3V0M7I?#6y^*wgjf0|QDc}+0zktZsoQPcd|9B!u z;szPZ)7Xc@SU3Ze>507$c>T`u_)DSV&SLXIey@897!;3-K|G%Jc$_S`q6Uq`ET5gSB~_kX&>^C*i46*(ZQJSA8@((ht2D=h2Nn zhok?qjw|4?!+l6bpFquwj$2Otj;SqzJe~a~s7oPJpgFV#W&X~;ws=Y&teK!i;^HZp z$V1naIazY)rYI;nhu?wa5rOjL^|PsAefp`Dr>|-Rbi$4KAHsc4KJqN~qw}HtkL_{d za(R4vBn4~+ZJ{gl0%eZrAM^yMEn;o*B;tynWFk*xSLQ_Ij{emaLHema9ERD{?hsS$ z@18Zn>wnIF;crR*%Tw8FCXB~Pk=G%eWatd1z+gBPl&NzL_5Z5?wMDE=oc!Ciw3U!C9dS80FLgZJ#E;tCv)F!`=FqWk2tw6kW=|H_ERZ1^Ya0A*^EFDHx*w}8Y^W-^o3HW*I^ z-hF|{&xV^|6S#)_kL|&4y#%@pt^$dqj4aJ>!o(bYb_HcbCVPpibKO0_4-_ETb6GF) zl^}Azl1u%M>G5C4CGlH89z_2p9E8t7ncdi50Iy&0kSD-blwOv|cc|_6@GDH9h5<@E z7nBkIci|&A49c9SoVY@P%Hq3!Vpv>RNgEb>aQw}0=St%uJ;r)4OxrhmIpQM#3Jw$3yF7!(J%#aARm@HTt|$~--d`tL&E_52jKGE!=po?oVL-+Kxu@`RB5{r^QC ztR*2yJO$*D{8L~m%mihIV;==xzw(@o)_PE8G4>bX z75E8$1Fe8xNMSxKf_p)knDe+YhKEb|Ef|!MXV+g}%un*5{JaHQ6Qndxc}n#65snW3 zJsF%c8yUO=lgVfXC?kG3Pz)-}UhK+z9y~_L2GDF%LQN-4<}IK_?c@>nqd=ZxUrM+| zpv=@#PP^u?(L{Dv4f(V9?SpSYnV>|-hkw`bI9c*?(!C5G11W$qA$jmm9xDlS6Rd`N zJP{(P)v;>U5P73x)cE-1p1!Xwf+U^_ePJ-n11X3yf9Ef8Mng7Ch3PO093%NlVuQ-~ z9gqIn?dh{CkY5GY!D>+EMCB59ElB!Rp7cc?tj*&@8 zUm__Zt?)QJM=9U-lvLy!PEbCC@FU@LP)5=@S{~~EKYO@QB(l5%pk{$imOLj&;svk- zu7s6v6DT9E75FRv+TztFuOvP3lRVZySpRE!r~;g*{0S1BRL*=t_x<7NLXkfUB0p3u z4{Eh|oUmLHe;(vz1If?~+JZ8X*ki%#*Qq>Qe{L?SV2p#j37`QeBeHQYAA)cx$m6HA z3&;$V8IH^wuBN|=f0SJEKc>fjA-|detb%oLA1EV*ngTKNC@@?Czrqz1K6taI2FD8c zWhmf(6YhHA-gu1o9(hpnChYMzF1frC;BMFkyI~)^0m}TH|F(Iw|FI(0mf(XVE`E}U zJn3JV|5_fbk&yJ$xsWm!4F-AIe-vS+(@o``t~yq@UkH1m;lldAmdNq~fSL)MEV;Zg z;9+guLe*Nj+Te(&!OXSMNrAO-86%)x}}m^ z_=($x?iuarBI!ouA6c8fOem7Tu>#zWTwVlFGvSjZe~Gk%Z}IUR$P@dO5s#B0moz?t zuR!up#v>2b=5btdY2GrB>9{=^B+~pXJYC@RZ*)w5`d=k*tN=SmSY8NFGvSjZ-y{A1 z8hi;yK%dB}?a!uns+L-o~(%7>DuD0BwhaEhlZ&OkN| z0w8Y`2$`Uk#?ZJD#t=By6G7yyApna&ncC!|2r~(?LENHk@^1& zEG3|f>+xrK7GZ|LD3CbHSo4Vww~+WIPX;27fsv34${ZyRdOSK|?*&;Pk(61ET{b0~ zN&G2K1|q)^o`+Z9E%*?Wc?$bZ@cMn?@oz|)!5jH_nnXYGBrG1OA^B_n2XaZf74RB_ zpq7JW29$y_{IFxPYN2#ui`C?o#Q!ajIC6fOq;M5rZv@Ps0G6PJRh z#8m-~*Z*DO9(3ZA09PPkoaOs29`wuPRer`O1c&HD`q;KLzBAke~XXBXkDW(Em9&a^XB!687LfU)b-4^{~k!e-HZy z@Dbef5a+*}+5cCufIY(%)UzsK{#@t@_ZfC&W)mkIFBpork;uyYLV^*!JOVj9WO*(Ph~WW zgmEw)l*z|F2j;?B*bYy^Uf2g8z(?>Ed;>qjuMqJR1p-Xa`Rs{f7>t9nT@Ob-q!#%D z$oIil@C_)_;AylTnn4CAvmN^z@F9Hck$2ij{>^uBTLs($%E%LB6QLo9zcOR7p9MK^ zo=1M$ZjS1n<8&KR_NdUb4DO3y8Hm3!+pzC}y+Jo$y^H7 z5u{+jLO!HqkAswKTBu~3OokYo5lV0g-%`M*L79bEE`nunr4okh8~BzbzGj9s@(ccD zhAPcA6e<&XKo%%dgk2T1uBTv?$O}Rh@XE&^I}^?Y@mKSYwi3r$SO=1zGS`ym4e$_b z^<*Hjn_)eOpE4&ZzghbKPFM%`dJ=koLTrZZu+vkZ0X|O3AO-rv1egiiAmGOi-$yX? zV(H&FRyk-M&t?Q{P$vIg{&NUHxz@V|R=}OG4koT=qJcADMj~rJWMiKX3t$sG0I$PX zG9C|gNx3oXN0v+H=fPcUM(+lbIi)pzUBHL^AB>uz*!NhB|2L_1GzloPic;PM@)EqQ zAn&=G7s=%$%+Q~a$Hc+UIATObN9R7nW!1ohyq&^E6Om4t0UvNn>n;M8rAus6M zl)}Kf>5PAQBH{ONO><_l3^K%iHTL9ooM^PC#$-M_hC*Qf3FM6v@{BimH-S7GO5Oms zumjsSkOvLPi+NgPvf}}Hwv4>aMIO^3ufC8sjzwT^2I;Uf*o%!NJa!7TfPH<~-@(wn ztcWlLvY{f2!oX+n1?2T-0)cDcdXRs=$3QvlS^<~9WzgVMDgrl;WCsOuAJFL_2NZH{ z(C3sTe85yV7lNS7BX6>m0x@$y9_!uYEoL{E`IbGpt1;WKqwNMAjb{1)yJttE^&rv9 zmIM{OY{<9h<=uRXUS7@gB6=y4qUhz|hm5}>Q{#z0Y3X$Dc%Qw#===&FrCbag5TimrZ3 zPNJ)lfO9vIt0M>}s@j5YQPp((!zPKu3{9TIZE1gC9(mKgzl*UvT6C7mqOJo%n{0>pV1=DDCY}dlfVg1sWksIPCc*JT-3>ND-G{fwV zBVO0LRb>q@E;Wo6@pjf-M)SzQouwf@_S;_#GM=(~4>5+@KMpnq+uKhuBJE3uV9R{l z7*@4wh%vyh+YdKd=%zh>xRI^8D*q8L)QFF*L`)On_GTgFY~3iPL|JC$J|twjk}(CuRq&yzqTOT zu&9~kqi!<5&5I1(iloNo<#p1WpsVM1B7r+2vPEq6cjNs$X9n*r3dNHN!MuWaq#SLo z@uwAqB18~jiW}k6vZZc>C^C|n!`x`;mf=f|HaFJEvZ8%)=0hcsk6JOl`sP>KYVk1- z)a_(NnX5`hInpci6;>=&*cFpzMfoDlZ!1^$d{iUOzHqeBc#?R1zHq4%@kXn{it{Cy zn~FL)?w1n99cw;NG|Cs{Pm^T)=9W67?(>=U-1UBQ^+G3x-%NCT%}2!3{(7{L(pw5F zQ=Iu93Y_Rmh&J~vOye2(R9?Jf)-$)5x>b+HHg_(H%%ak{6~rDm#z^7;sy-uoy?xdg zBQ2POT_#0y89kF29XZg*P^riqX?|(yz9!M>R()Sn^NHXJU%WrteC2{ijVMA9Rpw9g zan#X39i{P+$x3e?py?Zsp!vk2G)wpS&0WT7x3L=%M5bBuu%`QhvC)-OKij-I*vU%v zn~z#cef8J+V*Qjj%U93e)k>i`F1}!tl}uZ$)R#K$FBfOyu4n$oOq=P8nrSuiC7O3F z5?N#OU1L4bvwcz7KFxe&VJ9L)`OPD-75Fwc-61rPc6A2HzEzFaZNDbuDHsda++YNBL)Jy|)``czM|8rsjE zW@Px2Y3{rY_BW>)snN70YPFb_wv#6s8BvX?-D3-ATYK0ECdem>; zvS6t%&2N6{m&|CDT0bf$gpB%>LvK!7*n z#Qo|dV^EY-``7vFaWa8Sw#z0P?HiHFMgC5a4V=c_Q6cq>GM|&iwwp`~wcL|bE7?9c z-AHRANqoOR)FsN?;eXwi?2nw`i=qVMvwSH-oX9^}68hR{M*9?LgMIU*EmO=55pG-V zn@^SO($h&>vii=F^4xm5(JNBY?!E%opj@L@0DbeDw~8kDI+_=s@2I!=AKwb6pnF1E zQ5BQzH{UDURjmxkbo`GR(%ToM`I`F8?@$n@7>gsN95sfPJ%5VPL;B9VfAQ;hH#T3^ z-JI@U+zA~zb|<}Qxy`hh!JA~htgTjE;ts$MNeJ~{u-X^j&*`<_7>CuJ#$bFtlF7EZ zvpSq%v};7|{bsSWY>HWbg)iYEr=sUAmBu>5XdP6oVcuLp3C)jU{?rmg^_x#rGCXc) ztWzn!xm&9UDP)Dy3a&zCm^++Si87yBy!sfml#$ldY_-By|6->Q*`Y!-vNN-dxY3m4 z4*Es9>zN8i4b2HmH0E2HJ9KXd6>UeTlN@bg61(MmRDXl{A=(t~>Sfu+G^MAa7wGAL zm~$NeU+0T1psAP;uZ^^FUu+k@dCelH&Hd)#IGOz_BojthxeSjEXBlm$ONYD_?M^#;sF=7z z3MO5e;5WA#X`Qce3b$TnahZ-nb^apS?T#Ixc+}aPgBHHSICb)oi7L6O>MUc7;f%w3 zFQDb@*r`Tx2io&JN6+KUJ1STEk}`eqQ+x?We2s5&`s}eqA39my!J3e4Pnc@73MIh& zWe2AkErQaTc2HD@sYlDc&MEmz(N50NMa)=>X-i)>rVBI8k~UiHTQ4)&tMizF&GpR1 z8g}V-YAInFiSM@;NSbZ@<_hyeU!(8*=GPajm$aq4QvD?Jfy!)O{iMuFC&#O!opI@^KB{@EJCbE;Ln>j-pP3yK&4%u{bEmJ&Vk1MTh4jz4#o_5I zq!gFfSLGO~C`FXHn<>y~Ay4D`%@@lgV)107iTzE55s~RPKk>Ord*KBY(jqb^mN*S_{3}l* z`@uY;=~2s1Z#zEUNNO&vuoFcQ?R``a4Xi(+!UK!C4bL|Q_b1aA{cfYlj3`R^M2s`R zm`5$CwNHYRgMM>8OEW2{HSdv76YUIj_}{L1?ygg|LC#Ur&+M3~K(zVQ1+p4MnYU4- zWb=o4ud{sEk=$Pm4LqBnzn@L+k<|U>-Jxa8Qv_0PU10R9p_Z*hGrnK&C$$vy zn=->`ZFd{=bBWRBgtkGA?5y*QPBoPAU*{QhgK{!se#+HGL%Be_bFq81aZnFk+DX65 zp^bTYRH)w%%y;|!nvg0UuGkgQ1Ljck@(Wn4&5JBo50+fu=)s}6S+Xg;jcbbfbDc?G zr|cKmfj%-hA{#HcFv#>J`PZ{hbaqnv#1#E-!XDLZD9gGFSOM>udlHr9o(n`-4w`?Z zEN>Ntl;x0lOl3(aGG?Yo|2?qqTWU~q0==ooDE8`7Lh;GerSnRR0mq?BTm;NG8M?&8 zR^Ps{)M#>)LUpqbl^TPhIcU;M-qg$mRPQ-Ps~+r*{pKcN0fw&H@~0jPJv6rZGSq)=n!nk{^Ik6S#o{sH~(XF@|zcP zwah}`H}{xnzWDo4EiU8;^$__U9m*M*c3j$@E*E7&xId)ZFNdyN)MaAT++C8K-`vPP zOApq_wz1!Qg=`zK(~_;ZvzzyuPevW;Ol(+rjK=f2JAp$ug$Q#YHoFzoHI;?%dlaal{bi+*K3q<^&EK7gmJ_u< zxQ>i{OcFO&#!9JT%`eN>JGmdOlf~Y+G*rS%P4{5xk{pc#$M*K2K^!%fzGXyJ-9Fcd zinwuvVcD-NGF~%Q#oPZ{Y_!s6*)K2VfbmD$7c_<%pT*mwgGQRMF5WH*8mUbT=5skM zHy_}!+SN8~{n-cA7gGQ3^pZKb~gGQ!qJds%S<`QFrVf<9zzWgHNbYn_`s)H99 z%XQ;2E*>v2h8WQ)RS#ccbheBxO{+e>-1x&V4yN0mTxGO1u4!JCc(pNFH-1dFbCw&Y z8p-Xd?pbbh)b#~buU}()rW^Cx+dHl$jps6|{MQ+}VO-IwDr%+ixnca$-u~f6d=_=6 z>SG%-bmNzfRkyD)p3{w%nN`LAFfKHVZr!R5-(uXY>qYiWtBqksL=XGmY9rl9?@?vm zX1r$@yL(lAyw*5JHy%I59(srIrtwN2yV;$z!?3>gpgWC*Ms{EOtUHZ^MrD?q=e9P! z$f^q5WmvkA-`}3S&ggDj-@j_@I%B$N#0;tO{mU4t`{g*bVyHA{6TgZ5vY}PmHyFR@ zM)IjuTQ?ee^tf(F|dJlV#eD$=A2aR|2UiSMBa_Za5PJhT~$JdyL zjM0sIalvz(dAh!u{}&@rvH7YWKs&jXKV0RYppW zUgpZhk*`~(`K8W5o47b}dLU@@(#;pOG|Tkk@u4I4gt9kO8QbdjW;$ISvqu_#y5POyWbenP;zx{ zx4o02SW|W+KQm^#*<1D-{fs_K>?8Y)v}E~h!hD<4PrQGRPGhZIS{eDep;x87Wtf)1 zFB2^f7?&8|ylJmLV6-xtzE$<=0b_}2e*C*xb;kR~tf0{&(>~bCY;a)X)iMEYwt7*%;K=1Coy7!vivv=3P z^clmn{IZhLoPy$<(!$)lKvt{D@`CdN{i_D;F&jnSFxrf>7mc>sR^_~Ijx?(B-ZV#> zb~kD0A@7(udR6~}=Hj}>!4*~8zBVJHV@L8UjiKGeuU$R6*!zAqo134-X!cuon;p!x zbu|0m8_e`LqYgjx1j=}7&#Q?3wb5+plNV_g*)PXhP3@b1G2`mI%MU3|nHxv7h~q*}w5q zBs{2WW@S;JxT0M9iAd!YWd+4EwJkArv){~gQ*W!;XYVjG8hwc0lmJEKa=gYfjS*a_WD&^rJQeVfHrLkax*;vuTw4xLPt}MtQ*A z_#k7vzdhj(vrX$He&5WUUc%p;ZpXhY;3`9bqYK*elxHr*T~^or^$)XE!;1(qBv4qW zeMkAr0=b2SC3)HpG4>M?Rx>-(;Ma@(+8{bUY9*C^l>XUzzu7+eYqFS8RH3b`d&4%X zb+h|Pq&!fO70M%mf)|$L=4Z8O+h3bZoG$C=(>6NG)i{#c^p4rgOro|i51XxG-XLyq zWs$Z4!Q+pc?V}>-nerkEVsHJ$Y-xYZ4AI!d~y$Ds}mMu@3OSCrBUeC}dOpwj&Xus7qdKhKP zD=O8twXpm7t=2Ik$iFNwr!r7pVV_oIHnp$vTM5Qvb?w{y)+s6ZDEQDqX)gM$PFqI@ zb5PYH`?UMaWOE-$Z@<}0tAB_*E6Q>UP|TS*=LgD4%C!-7?LiS%yB_r^nLEyMa`W@m zQ2JF0Sy+%4&@Pt7%AKz~T96~7Nrt#lCsq{YRC6JfEqK&SH`dm*J49N8jcBJidmDGf z*!M+Rjg9x}*v~~;EhqP5Oc&;!zd$P_(}H3dQ{@GD<=PM7v7X~-PCMp|G*O=}GR3I+ zeN3pllCpr-9Q_NFm6eofeaU(6X0vt1YPUx{w*?Mm)A7+z9Vlv_~| z$k(=v=O&Fn1p)JB1@dMi`G%k3hZm2ntk7PgQJhITnHGAHX!(JPKp6ujkW)@MwMCQc zd*iIpM%hSbA`eQ%xv&nWUZ$mUcLYseOtKw_Kf}p3r+gN(5_+7&K+tYQJ|UM`YAC<+ z=av;z%+kt6VJj@ms_fRaL#X3AW^yAzHYrpV(nb0C+N4}kmJ(}AX_1M6^2$Q1LVI+a zy}FLo**J2V{ZbvPB~xMDHdaf!QC+KP@YAtGFDohH_1yDvO3AU@>8SzLXl*quGaw%nPkF^0qH5HyfB*%y>ID-l`Y9R$8p6G-vt(yUSwp z*%WUBETX1mQqv0U@=5lbR#vMP{k4zT*fD}iati1hX|n!WEE-c6?Da&fbyxU*v8m?Kq z{0#z?K`C=QgHRrZM8ixkVC~L9c_h73nfS^pr)!(fa5_}xKse>Dy_DjG2B4$f8)?d;hNY9$;BlJ0VxpPU(%X+#cV{ zY~Q~pQ_wudUm&NHtz5x;8Ez;9^>%h`&r)l5C_6=wmr+o_P*-dpWv{Kz!a8uQ-LVk^ zuB3$-8F7WoLZQ{QUJ|v>%cY9>Ip|KHO#5)6y}@Vo?axRn4$QB}VLr;6rFG(RvV3+y zX-;_{w+wd*g^;m|mgLB4*qAh(LOO+*gIr)8MEdXmeZ7aK+mvZGGF}*IuV`rXJZBqaES2f9 ztXO-EkSzSH8SYr?M(GSfOf1@N>QYo$DD`LTT;`4tDQ3e2?Vl){G=o#E zWurCwzDZ`fotbV$8F|g@!%esyAu`#jd+x1gP^#;{_D<;?A({ezU; z1^b((>Ui7c03MF#`Witv(=Ba^n8}%gJ@`CAw3vwI<*P?UmD^sj4#v|2T5o=FP zHM=BrqxnQ_WF~ZXqGLvj%Ct_(C8xlgtg|b7PwgNd{k34CJ*$z`ap)Cc#gw@~YvrgV ztN$TX%9%^bbLd!>H)lImND<3(D=HZrs)T2a)$F)7X8M$eBt}4H<*XSp7p_#LVW9~X zNA8I}ebUIYhUJVMG;#E>iP{d;Gi@kyT4irGBco`t-2B{9TCH5m7-vstY&A$X7=33I zlxm}$*$#!Co|`w@Y2k+M5^Lw2VYX=UtxC?Bsi#=ZRFT7~t<4;3Kik-9XPT2VyJ(5o zu~7@w5~s%Vm>ZeIwA(2@v$Zzf?$g9-JXl`c;nrUpM&<#w&jFbdv{#yhI)0KfWocik zxiv?oC7aSSO=xG5&%j8tRrhBppQAB3&R!~K2HQhzB*VQ}mg_>UIcQ()V&+H|g?yQw zPd`;uvRT?wsnVWkSWbngSPm+vZ6|Y?Xtjf^atW1Yir(AKX=*hwemTd!si}2E-Dz|u z<;Y?PvU;6sFVD0x?e(MC^1L|7j2ra^RhiC2&b7d0Ol*ubr)RWhl*Z?fgHwZpg3PU%se9fQ?A|4lv+|+uHC_cgJNlI=((am#jKM2 z@{U>zWh-NV6v&DzitpLd9A^9J&biVvJ4e_nnpyP+c0fni$D_bp!Pu+>&PaFb&HVHQ z13;~EQquu+Rer&O90p}B*JAmaJ?$*BL-KxRExAZO-P@B|%Te~G=2n9s`>7w8AK20` z+gDU9&)k1*b@yD#$keC}lXSn$))*HZ($Mi2NabboD=Ua>fG<(4;antZmomp?cQDfuqf|?? zg=CY>JGEqU-o##JnaLR$)Wg};v0ZgLPzy#l<68Tjk~(^3$0u5?Tc_ISj8u6W!zYO=GeX+seYFV)tdgH9uBl?Xy- z6z5}Q9F~_9g)c46MN_6%78G)-R<8XXnrA3-J{RKU+61(vVnL~W;c zK>953$)Ss&#uQ_MZ1_hO&nVIA(yyCNF*~;{r8=SWkqUQYR$rP*i>e{o)-GvhrQ|M0 zJp#othMXZL*LK=J$!IR?78=F`%GMvna^^XuTgCK=Y$jLI8*E0jQOqIZN{YwHq%(&_ zRn)^BRq>PT&)Ql2)US+m3#!r?jvQ&G;`5bZc zUN8G#dn?17!Ije!iDm=C)a_;+tZoShno70v2f5n^ZT)CFuY=X6+5Jo)mFbVHeUMoKxnOEeLIo>7tz39GI?g_mZy0Z3yXd^*ZUNL0Ad$W|e8ZCfj{G zTAdnHF}Jg6l9|+^HA2_A_Jtfj>0RyHI$8~lpfhnav|s9I`MMR+TQr|Kr}-xxAG)3h zwbZK#?tI~FIQwfGCTn))`R4OY9$-7*J$|XnxGu{rM)!7&wZHCUwKbZI32y;fw3)}O zE!UDcx$|<%0?u;7wR*lbRmn>WE6cUg(e~QTR=qZF(`uX}6mac;cJ8B^jsoZA<#{xC z29p!J=}tXU>d^FTfN6eb7n9G9qQ*6rjQ)q5y#$x5;#fG|9+zo#NE%bU;xV1ipH)CrlyZ@=Hop3P*-cN(LSV*2fCS2 zX=jQ~x#tqjxYXVwqUbpnBVD!MM%iP#T8+~eu;O~R_fqJmk>!`=&SWc6&$(D_D+^N( zW8EG0Gu^B~#z%KlMRvE!4deB@suuOM9<+jg^s$O_ivs$QK6A8qIcy0Oalp>eii}1* zmSeU`u0ou1HY3J!=w{XldF8w3&sLo48FKoRcj$Q9AMy@4BkF}>r#mS-suReMO!Q)a%+`XIb5h z_%?R`U1l3S!5-Vs>T4vnvg2MdTj}-eP5p?Qbh^E11V1vBes9Fto%>q}dVPCPe=FN) zQ0)<6-@4mus5i848)Wt6_w2U^SzYuLyL6N_%>MK_Gu3F6Y0nwOeDd!-W|O4G2~IOj z56t9;99APH|0eeDXISZtYW&*MbXd+=Z*WasQL+Zd_6ZT)$(x6y34 ze7Cf7p66IL?G$@XrP;*J9KxY(`e6Iz=gq-J^G-KhXg09_ImAjfT6DFiySwe)*Ip7Z z+uJXVwEXtFFPa_ocJ{!5)-a>}K*_AW{q-=bz23ndbSiDNZLgVNbR2A#7E$QZax==l zroxP{f7?q_bjp&FrrJA)Td79pGs9u(+R>+4J@rgUVT9hrzT#ACmeDoKUVAQ8=sd`3 zWpwLm-#OLnYIM)E7k*kG9$v{RcTMxotFc9AJMw z+8SvL9A>wC!yIM|nr1J5!OJgKd*V2&O&h{?>zy~F zYi9l_GkWGuA2y;s@$yRexrl!QG@hz%MHu@PtIdyqmCheY9o6GYAvWOhCTR3JeM3QhPA6pKl$sI2L( zvC!7a!iGdpYD-HS-|iJ8yF1ys>MF~vkr#if~aw&4vYN*JtEprl|*Hz(rG-#Qz%!m`{k zUtnxGr(ECfgQ-DPbsJKGwT;#F>2@65P1T zN48)NPTh)At#l~EEC}LBD00Sg#Fc&!-?Y*z8TZ6vE)AB>0$EPaR%*@+=ZeY@q$JGe zmg~7Po`$kQksu_-o*}Oga{6KX*GlhZG{?cwz??x6A&d2V4+p5`L0DB{8%m6RROz{q zD`%9DusqB%$E033(ba{F!SXtj2Z=0fXvFJwrNBn8Oa|Z%6_$k@8U6Ug>hvI_;J|>P z!J!;`XGI7>Vcn^|m~oO5@C8sAfO?~!#Id<_d;l?JEW!lLsNvG-#gFyw@7`)5AQYPIEfV<8>yGv}&3sH)2rH{%Y4w#nWh zM6GSc?}tgV?iS+25&T2t#{e|ej+2o%+5wypZ*|f;^=Ff@^%-pTJCKB~+%9jf#oxzJ z6IkszfG8^*ws0T|5;A(N_go3g9JRnch!QKSpI1TB2!RX1O#pubkZJUbp42jwi-HPQ qP=t{XhUk|c_LG7B^;2cuv$?%dj?i}5?0#EJdHwz6tDlzBGyeg=3buCu diff --git a/common/Cargo.toml b/common/Cargo.toml index 76aaca36c1..b0137d163f 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -13,6 +13,11 @@ bin_csv = ["csv", "structopt"] default = ["simd"] [dependencies] + +# Serde +serde = { version = "1.0.110", features = ["derive", "rc"] } + +[target.'cfg(not(target_arch = "wasm32"))'.dependencies] approx = "0.4.0" arraygen = "0.1.13" crossbeam-utils = "0.8.1" @@ -22,20 +27,34 @@ lazy_static = "1.4.0" num-derive = "0.3" num-traits = "0.2" ordered-float = { version = "2.0.1", default-features = false } -rand = "0.8" rayon = "1.5" roots = "0.0.6" spin_sleep = "1.0" tracing = { version = "0.1", default-features = false } vek = { version = "=0.12.0", features = ["serde"] } uuid = { version = "0.8.1", default-features = false, features = ["serde", "v4"] } +rand = "0.8" # Assets -assets_manager = {version = "0.4.2", features = ["bincode", "ron", "json", "hot-reloading"]} directories-next = "2.0" dot_vox = "4.0" image = { version = "0.23.12", default-features = false, features = ["png"] } +# Assets +assets_manager = {version = "0.4.2", features = ["bincode", "ron", "json", "hot-reloading"]} +# Serde +ron = { version = "0.6", default-features = false } +serde_json = "1.0.50" +serde_repr = "0.1.6" + +# esv export +csv = { version = "1.1.3", optional = true } +structopt = { version = "0.3.13", optional = true } + +# Tracy +tracy-client = { version = "0.10.0", optional = true } + + # Data structures hashbrown = { version = "0.9", features = ["rayon", "serde", "nightly"] } slotmap = { version = "1.0", features = ["serde"] } @@ -45,18 +64,6 @@ slab = "0.4.2" # ECS specs = { git = "https://github.com/amethyst/specs.git", features = ["serde", "storage-event-control", "nightly"], rev = "d4435bdf496cf322c74886ca09dd8795984919b4" } specs-idvs = { git = "https://gitlab.com/veloren/specs-idvs.git", rev = "9fab7b396acd6454585486e50ae4bfe2069858a9" } -# Serde -ron = { version = "0.6", default-features = false } -serde = { version = "1.0.110", features = ["derive", "rc"] } -serde_json = "1.0.50" -serde_repr = "0.1.6" - -#esv export -csv = { version = "1.1.3", optional = true } -structopt = { version = "0.3.13", optional = true } - -# Tracy -tracy-client = { version = "0.10.0", optional = true } [dev-dependencies] #bench diff --git a/common/src/lib.rs b/common/src/lib.rs index 37739b9b68..841fa50135 100644 --- a/common/src/lib.rs +++ b/common/src/lib.rs @@ -18,45 +18,66 @@ trait_alias, type_alias_impl_trait )] - +#[cfg(not(target_arch = "wasm32"))] pub mod assets; -pub mod astar; +#[cfg(not(target_arch = "wasm32"))] pub mod astar; +#[cfg(not(target_arch = "wasm32"))] pub mod character; -pub mod clock; -pub mod cmd; +#[cfg(not(target_arch = "wasm32"))] pub mod clock; +#[cfg(not(target_arch = "wasm32"))] pub mod cmd; +#[cfg(not(target_arch = "wasm32"))] pub mod combat; -pub mod comp; +#[cfg(not(target_arch = "wasm32"))] pub mod comp; +#[cfg(not(target_arch = "wasm32"))] pub mod consts; +#[cfg(not(target_arch = "wasm32"))] pub mod effect; -pub mod event; +#[cfg(not(target_arch = "wasm32"))] pub mod event; +#[cfg(not(target_arch = "wasm32"))] pub mod explosion; +#[cfg(not(target_arch = "wasm32"))] pub mod figure; +#[cfg(not(target_arch = "wasm32"))] pub mod generation; -pub mod grid; +#[cfg(not(target_arch = "wasm32"))] pub mod grid; +#[cfg(not(target_arch = "wasm32"))] pub mod lottery; +#[cfg(not(target_arch = "wasm32"))] pub mod metrics; -pub mod npc; +#[cfg(not(target_arch = "wasm32"))] pub mod npc; +#[cfg(not(target_arch = "wasm32"))] pub mod outcome; -pub mod path; -pub mod ray; +#[cfg(not(target_arch = "wasm32"))] pub mod path; +#[cfg(not(target_arch = "wasm32"))] pub mod ray; +#[cfg(not(target_arch = "wasm32"))] pub mod recipe; +#[cfg(not(target_arch = "wasm32"))] pub mod region; pub mod resources; -pub mod rtsim; +#[cfg(not(target_arch = "wasm32"))] pub mod rtsim; +#[cfg(not(target_arch = "wasm32"))] pub mod skillset_builder; +#[cfg(not(target_arch = "wasm32"))] pub mod spiral; +#[cfg(not(target_arch = "wasm32"))] pub mod states; -pub mod store; +#[cfg(not(target_arch = "wasm32"))] pub mod store; +#[cfg(not(target_arch = "wasm32"))] pub mod terrain; -pub mod time; -pub mod trade; -pub mod typed; +#[cfg(not(target_arch = "wasm32"))] pub mod time; +#[cfg(not(target_arch = "wasm32"))] pub mod trade; +#[cfg(not(target_arch = "wasm32"))] pub mod typed; pub mod uid; -pub mod util; -pub mod vol; +#[cfg(not(target_arch = "wasm32"))] pub mod util; +#[cfg(not(target_arch = "wasm32"))] pub mod vol; +#[cfg(not(target_arch = "wasm32"))] pub mod volumes; +#[cfg(not(target_arch = "wasm32"))] pub use combat::{Damage, DamageSource, GroupTarget, Knockback, KnockbackDir}; +#[cfg(not(target_arch = "wasm32"))] pub use comp::inventory::loadout_builder::LoadoutBuilder; +#[cfg(not(target_arch = "wasm32"))] pub use explosion::{Explosion, RadiusEffect}; +#[cfg(not(target_arch = "wasm32"))] pub use skillset_builder::SkillSetBuilder; diff --git a/common/src/uid.rs b/common/src/uid.rs index 22c5eb347f..1899a06299 100644 --- a/common/src/uid.rs +++ b/common/src/uid.rs @@ -1,5 +1,7 @@ +#[cfg(not(target_arch = "wasm32"))] use hashbrown::HashMap; use serde::{Deserialize, Serialize}; +#[cfg(not(target_arch = "wasm32"))] use specs::{ saveload::{Marker, MarkerAllocator}, world::EntitiesRes, @@ -22,10 +24,12 @@ impl fmt::Display for Uid { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", self.0) } } +#[cfg(not(target_arch = "wasm32"))] impl Component for Uid { type Storage = FlaggedStorage>; } +#[cfg(not(target_arch = "wasm32"))] impl Marker for Uid { type Allocator = UidAllocator; type Identifier = u64; @@ -37,11 +41,14 @@ impl Marker for Uid { } } +#[cfg(not(target_arch = "wasm32"))] +#[derive(Debug)] pub struct UidAllocator { index: u64, mapping: HashMap, } +#[cfg(not(target_arch = "wasm32"))] impl UidAllocator { pub fn new() -> Self { Self { @@ -55,10 +62,12 @@ impl UidAllocator { pub fn remove_entity(&mut self, id: u64) -> Option { self.mapping.remove(&id) } } +#[cfg(not(target_arch = "wasm32"))] impl Default for UidAllocator { fn default() -> Self { Self::new() } } +#[cfg(not(target_arch = "wasm32"))] impl MarkerAllocator for UidAllocator { fn allocate(&mut self, entity: Entity, id: Option) -> Uid { let id = id.unwrap_or_else(|| { diff --git a/common/sys/src/plugin/memory_manager.rs b/common/sys/src/plugin/memory_manager.rs index b242587a45..353909439b 100644 --- a/common/sys/src/plugin/memory_manager.rs +++ b/common/sys/src/plugin/memory_manager.rs @@ -1,49 +1,105 @@ -use std::sync::atomic::{AtomicI32, AtomicU32, Ordering}; +use std::sync::atomic::{AtomicI32, AtomicPtr, AtomicU32, AtomicU64, Ordering}; -use serde::{Serialize, de::DeserializeOwned}; +use serde::{de::DeserializeOwned, Serialize}; +use specs::World; use wasmer::{Function, Memory, Value}; use super::errors::{MemoryAllocationError, PluginModuleError}; +// This structure wraps the ECS pointer to ensure safety +pub struct EcsAccessManager { + ecs_pointer: AtomicPtr, +} + +impl Default for EcsAccessManager { + + fn default() -> Self { + Self { + ecs_pointer: AtomicPtr::new(std::ptr::null_mut::<_>()) + } + } +} + +impl EcsAccessManager { + + pub fn execute_with(&self, world: &World, func: impl FnOnce() -> T) -> T { + self.ecs_pointer.store(world as *const _ as *mut _, Ordering::SeqCst); + let out = func(); + self.ecs_pointer.store(std::ptr::null_mut::<_>(), Ordering::SeqCst); + out + } + + pub fn get(&self) -> Option<&World> { + // ptr::as_ref will automatically check for null + unsafe {self.ecs_pointer.load(Ordering::SeqCst).as_ref()} + } +} pub struct MemoryManager { pub pointer: AtomicI32, - pub length: AtomicU32 + pub length: AtomicU32, } -impl MemoryManager { - - pub fn new() -> Self{ +impl Default for MemoryManager { + fn default() -> Self { Self { pointer: AtomicI32::new(0), length: AtomicU32::new(0), } } +} - // This function check if the buffer is wide enough if not it realloc the buffer calling the `wasm_prepare_buffer` function - // Note: There is probably optimizations that can be done using less restrictive ordering - pub fn get_pointer(&self, object_length: u32, allocator: &Function) -> Result { +impl MemoryManager { + + // This function check if the buffer is wide enough if not it realloc the buffer + // calling the `wasm_prepare_buffer` function Note: There is probably + // optimizations that can be done using less restrictive ordering + pub fn get_pointer( + &self, + object_length: u32, + allocator: &Function, + ) -> Result { if self.length.load(Ordering::SeqCst) >= object_length { return Ok(self.pointer.load(Ordering::SeqCst)); } let pointer = allocator .call(&[Value::I32(object_length as i32)]) .map_err(MemoryAllocationError::CantAllocate)?; - let pointer= pointer[0].i32().ok_or(MemoryAllocationError::InvalidReturnType)?; + let pointer = pointer[0] + .i32() + .ok_or(MemoryAllocationError::InvalidReturnType)?; self.length.store(object_length, Ordering::SeqCst); self.pointer.store(pointer, Ordering::SeqCst); Ok(pointer) } - - // This function writes an object to WASM memory returning a pointer and a length. Will realloc the buffer is not wide enough - pub fn write_data(&self, memory: &Memory, allocator: &Function ,object: &T) -> Result<(i32,u32),PluginModuleError> { - self.write_bytes(memory,allocator,&bincode::serialize(object).map_err(PluginModuleError::Encoding)?) + + // This function writes an object to WASM memory returning a pointer and a + // length. Will realloc the buffer is not wide enough + pub fn write_data( + &self, + memory: &Memory, + allocator: &Function, + object: &T, + ) -> Result<(i32, u32), PluginModuleError> { + self.write_bytes( + memory, + allocator, + &bincode::serialize(object).map_err(PluginModuleError::Encoding)?, + ) } - // This function writes an raw bytes to WASM memory returning a pointer and a length. Will realloc the buffer is not wide enough - pub fn write_bytes(&self, memory: &Memory, allocator: &Function ,array: &[u8]) -> Result<(i32,u32),PluginModuleError> { + // This function writes an raw bytes to WASM memory returning a pointer and a + // length. Will realloc the buffer is not wide enough + pub fn write_bytes( + &self, + memory: &Memory, + allocator: &Function, + array: &[u8], + ) -> Result<(i32, u32), PluginModuleError> { let len = array.len(); - let mem_position = self.get_pointer(len as u32, allocator).map_err(PluginModuleError::MemoryAllocation)? as usize; + let mem_position = self + .get_pointer(len as u32, allocator) + .map_err(PluginModuleError::MemoryAllocation)? as usize; memory.view()[mem_position..mem_position + len] .iter() .zip(array.iter()) @@ -52,9 +108,14 @@ impl MemoryManager { } } -// This function read data from memory at a position with the array length and converts it to an object using bincode -pub fn read_data(memory: &Memory, position: i32, length: u32) -> Result { - bincode::deserialize(&read_bytes(memory,position,length)) +// This function read data from memory at a position with the array length and +// converts it to an object using bincode +pub fn read_data( + memory: &Memory, + position: i32, + length: u32, +) -> Result { + bincode::deserialize(&read_bytes(memory, position, length)) } // This function read raw bytes from memory at a position with the array length @@ -63,4 +124,4 @@ pub fn read_bytes(memory: &Memory, position: i32, length: u32) -> Vec { .iter() .map(|x| x.get()) .collect::>() -} \ No newline at end of file +} diff --git a/common/sys/src/plugin/mod.rs b/common/sys/src/plugin/mod.rs index c393dacf13..2d2c0a8342 100644 --- a/common/sys/src/plugin/mod.rs +++ b/common/sys/src/plugin/mod.rs @@ -1,7 +1,7 @@ pub mod errors; +pub mod memory_manager; pub mod module; pub mod wasm_env; -pub mod memory_manager; use common::assets::ASSETS_PATH; use serde::{Deserialize, Serialize}; diff --git a/common/sys/src/plugin/module.rs b/common/sys/src/plugin/module.rs index fe314936cc..a150d5af03 100644 --- a/common/sys/src/plugin/module.rs +++ b/common/sys/src/plugin/module.rs @@ -1,19 +1,19 @@ -use std::{collections::HashSet, convert::TryInto, marker::PhantomData, sync::{Arc, Mutex, atomic::AtomicI32}}; -use specs::World; -use wasmer::{ - imports, Cranelift, Function, Instance, Memory, Module, - Store, Value, JIT, -}; +use std::{collections::HashSet, convert::TryInto, marker::PhantomData, sync::{Arc, Mutex}}; -use super::{errors::{PluginError, PluginModuleError}, memory_manager::{self, MemoryManager}, wasm_env::HostFunctionEnvironement}; +use common::{comp::Player, uid::UidAllocator}; +use common_net::sync::WorldSyncExt; +use specs::{World, WorldExt, saveload::MarkerAllocator}; +use wasmer::{imports, Cranelift, Function, Instance, Memory, Module, Store, Value, JIT}; -use plugin_api::{Action, Event}; +use super::{errors::{PluginError, PluginModuleError}, memory_manager::{self, EcsAccessManager, MemoryManager}, wasm_env::HostFunctionEnvironement}; + +use plugin_api::{Action, Event, Retreive}; #[derive(Clone)] // This structure represent the WASM State of the plugin. pub struct PluginModule { - ecs: Arc, + ecs: Arc, wasm_state: Arc>, memory_manager: Arc, events: HashSet, @@ -43,13 +43,42 @@ impl PluginModule { }); } - let ecs = Arc::new(AtomicI32::new(i32::MAX)); - let memory_manager = Arc::new(MemoryManager::new()); + fn raw_retreive_action(env: &HostFunctionEnvironement, ptr: u32, len: u32) -> i64 { + + println!("HOST DEBUG 1"); + // TODO: Handle correctly the error + let data: Retreive = env.read_data(ptr as _, len).unwrap(); + println!("HOST DEBUG 2"); + + let out = match data { + Retreive::GetEntityName(e) => { + println!("HOST DEBUG 3 {:?}",env.ecs.get().is_some()); + let world = env.ecs.get().expect("Can't get entity name because ECS pointer isn't set"); + println!("HOST DEBUG 4 {}",world.has_value::()); + println!("HOST DEBUG 5 {:?}",&*world.read_resource::()); + let player = world.read_resource::().retrieve_entity_internal(e.0).expect("Invalid uid"); + println!("HOST DEBUG 6"); + format!("{:?}",world.read_component::().get(player)) + } + }; + println!("{}",out); + let (ptr,len) = env.write_data(&out).unwrap(); + to_i64(ptr, len as _) + } + + fn dbg(a: i32) { + println!("WASM DEBUG: {}",a); + } + + let ecs = Arc::new(EcsAccessManager::default()); + let memory_manager = Arc::new(MemoryManager::default()); // Create an import object. let import_object = imports! { "env" => { "raw_emit_actions" => Function::new_native_with_env(&store, HostFunctionEnvironement::new(name.clone(), ecs.clone(),memory_manager.clone()), raw_emit_actions), + "raw_retreive_action" => Function::new_native_with_env(&store, HostFunctionEnvironement::new(name.clone(), ecs.clone(),memory_manager.clone()), raw_retreive_action), + "dbg" => Function::new_native(&store, dbg), } }; @@ -59,8 +88,16 @@ impl PluginModule { Ok(Self { memory_manager, ecs, - memory: instance.exports.get_memory("memory").map_err(PluginModuleError::MemoryUninit)?.clone(), - allocator: instance.exports.get_function("wasm_prepare_buffer").map_err(PluginModuleError::MemoryUninit)?.clone(), + memory: instance + .exports + .get_memory("memory") + .map_err(PluginModuleError::MemoryUninit)? + .clone(), + allocator: instance + .exports + .get_function("wasm_prepare_buffer") + .map_err(PluginModuleError::MemoryUninit)? + .clone(), events: instance .exports .iter() @@ -86,21 +123,17 @@ impl PluginModule { return None; } // Store the ECS Pointer for later use in `retreives` - self.ecs.store((&ecs) as *const _ as i32, std::sync::atomic::Ordering::SeqCst); - let bytes = { + let bytes = match self.ecs.execute_with(ecs, || { let mut state = self.wasm_state.lock().unwrap(); - match execute_raw(self,&mut state,event_name,&request.bytes) { - Ok(e) => e, - Err(e) => return Some(Err(e)), - } + execute_raw(self, &mut state, event_name, &request.bytes) + }) { + Ok(e) => e, + Err(e) => return Some(Err(e)), }; - // Remove the ECS Pointer to avoid UB - self.ecs.store(i32::MAX, std::sync::atomic::Ordering::SeqCst); Some(bincode::deserialize(&bytes).map_err(PluginModuleError::Encoding)) } } - // This structure represent a Pre-encoded event object (Useful to avoid // reencoding for each module in every plugin) pub struct PreparedEventQuery { @@ -122,9 +155,18 @@ impl PreparedEventQuery { } } -fn from_i64(i: i64) -> (i32,i32) { +fn from_i64(i: i64) -> (i32, i32) { let i = i.to_le_bytes(); - (i32::from_le_bytes(i[0..4].try_into().unwrap()),i32::from_le_bytes(i[4..8].try_into().unwrap())) + ( + i32::from_le_bytes(i[0..4].try_into().unwrap()), + i32::from_le_bytes(i[4..8].try_into().unwrap()), + ) +} + +pub fn to_i64(a: i32, b: i32) -> i64 { + let a = a.to_le_bytes(); + let b = b.to_le_bytes(); + i64::from_le_bytes([a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]]) } // This function is not public because this function should not be used without @@ -136,10 +178,13 @@ fn execute_raw( event_name: &str, bytes: &[u8], ) -> Result, PluginModuleError> { + // This write into memory `bytes` using allocation if necessary returning a + // pointer and a length - // This write into memory `bytes` using allocation if necessary returning a pointer and a length - - let (mem_position,len) = module.memory_manager.write_bytes(&module.memory, &module.allocator, bytes)?; + let (mem_position, len) = + module + .memory_manager + .write_bytes(&module.memory, &module.allocator, bytes)?; // This gets the event function from module exports @@ -153,16 +198,23 @@ fn execute_raw( let function_result = func .call(&[Value::I32(mem_position as i32), Value::I32(len as i32)]) .map_err(PluginModuleError::RunFunction)?; - - // Waiting for `multi-value` to be added to LLVM. So we encode the two i32 as an i64 - let (pointer,length) = from_i64(function_result[0] - .i64() - .ok_or_else(PluginModuleError::InvalidArgumentType)?); + // Waiting for `multi-value` to be added to LLVM. So we encode the two i32 as an + // i64 + + let (pointer, length) = from_i64( + function_result[0] + .i64() + .ok_or_else(PluginModuleError::InvalidArgumentType)?, + ); // We read the return object and deserialize it - Ok(memory_manager::read_bytes(&module.memory, pointer, length as u32)) + Ok(memory_manager::read_bytes( + &module.memory, + pointer, + length as u32, + )) } fn handle_actions(actions: Vec) { diff --git a/common/sys/src/plugin/wasm_env.rs b/common/sys/src/plugin/wasm_env.rs index fc332fc505..ddacc968b2 100644 --- a/common/sys/src/plugin/wasm_env.rs +++ b/common/sys/src/plugin/wasm_env.rs @@ -1,22 +1,23 @@ -use std::sync::Arc; -use std::sync::atomic::AtomicI32; +use std::sync::{atomic::AtomicI32, Arc}; -use serde::{Serialize, de::DeserializeOwned}; +use serde::{de::DeserializeOwned, Serialize}; use wasmer::{Function, HostEnvInitError, Instance, LazyInit, Memory, WasmerEnv}; -use super::{errors::PluginModuleError, memory_manager::{self, MemoryManager}}; +use super::{errors::PluginModuleError, memory_manager::{self, EcsAccessManager, MemoryManager}}; #[derive(Clone)] pub struct HostFunctionEnvironement { - pub ecs: Arc, // This represent the pointer to the ECS object (set to i32::MAX if to ECS is availible) + pub ecs: Arc, /* This represent the pointer to the ECS object (set to i32::MAX if + * to ECS is availible) */ pub memory: LazyInit, // This object represent the WASM Memory pub allocator: LazyInit, // Linked to: wasm_prepare_buffer - pub memory_manager: Arc, // This object represent the current buffer size and pointer + pub memory_manager: Arc, /* This object represent the current buffer size and + * pointer */ pub name: String, // This represent the plugin name } impl HostFunctionEnvironement { - pub fn new(name: String,ecs: Arc,memory_manager: Arc) -> Self { + pub fn new(name: String, ecs: Arc, memory_manager: Arc) -> Self { Self { memory_manager, ecs, @@ -26,13 +27,23 @@ impl HostFunctionEnvironement { } } - // This function is a safe interface to WASM memory that writes data to the memory returning a pointer and length - pub fn write_data(&self, object: &T) -> Result<(i32,u32),PluginModuleError> { - self.memory_manager.write_data(self.memory.get_ref().unwrap(), self.allocator.get_ref().unwrap(), object) + // This function is a safe interface to WASM memory that writes data to the + // memory returning a pointer and length + pub fn write_data(&self, object: &T) -> Result<(i32, u32), PluginModuleError> { + self.memory_manager.write_data( + self.memory.get_ref().unwrap(), + self.allocator.get_ref().unwrap(), + object, + ) } - // This function is a safe interface to WASM memory that reads memory from pointer and length returning an object - pub fn read_data(&self, position: i32, length: u32) -> Result { + // This function is a safe interface to WASM memory that reads memory from + // pointer and length returning an object + pub fn read_data( + &self, + position: i32, + length: u32, + ) -> Result { memory_manager::read_data(self.memory.get_ref().unwrap(), position, length) } } @@ -41,8 +52,11 @@ impl WasmerEnv for HostFunctionEnvironement { fn init_with_instance(&mut self, instance: &Instance) -> Result<(), HostEnvInitError> { let memory = instance.exports.get_memory("memory").unwrap(); self.memory.initialize(memory.clone()); - let allocator = instance.exports.get_function("wasm_prepare_buffer").expect("Can't get allocator"); + let allocator = instance + .exports + .get_function("wasm_prepare_buffer") + .expect("Can't get allocator"); self.allocator.initialize(allocator.clone()); Ok(()) } -} \ No newline at end of file +} diff --git a/common/sys/src/state.rs b/common/sys/src/state.rs index a58cdfd26f..3f0bad997a 100644 --- a/common/sys/src/state.rs +++ b/common/sys/src/state.rs @@ -208,12 +208,14 @@ impl State { #[cfg(feature = "plugins")] ecs.insert(match PluginMgr::from_assets() { Ok(plugin_mgr) => { - if let Err(e) = plugin_mgr - .execute_event(&ecs,"on_load", &plugin_api::event::PluginLoadEvent { game_mode: match game_mode { - resources::GameMode::Server => plugin_api::GameMode::Server, - resources::GameMode::Client => plugin_api::GameMode::Client, - resources::GameMode::Singleplayer => plugin_api::GameMode::Singleplayer, - } }) + if let Err(e) = + plugin_mgr.execute_event(&ecs, "on_load", &plugin_api::event::PluginLoadEvent { + game_mode: match game_mode { + resources::GameMode::Server => plugin_api::GameMode::Server, + resources::GameMode::Client => plugin_api::GameMode::Client, + resources::GameMode::Singleplayer => plugin_api::GameMode::Singleplayer, + }, + }) { tracing::error!(?e, "Failed to run plugin init"); tracing::info!( diff --git a/plugin/api/Cargo.toml b/plugin/api/Cargo.toml index db865e87e5..84d8e9b270 100644 --- a/plugin/api/Cargo.toml +++ b/plugin/api/Cargo.toml @@ -6,3 +6,4 @@ edition = "2018" [dependencies] serde = { version = "1.0.118", features = ["derive"] } +common = { package = "veloren-common", path = "../../common", features = ["no-assets"] } diff --git a/plugin/api/src/lib.rs b/plugin/api/src/lib.rs index 510169de17..ffaf761e94 100644 --- a/plugin/api/src/lib.rs +++ b/plugin/api/src/lib.rs @@ -1,8 +1,7 @@ - -use std::fmt; - use serde::{de::DeserializeOwned, Deserialize, Serialize}; +pub use common::{resources::GameMode, uid::Uid}; + #[derive(Deserialize, Serialize, Debug)] pub enum Action { ServerClose, @@ -20,35 +19,6 @@ pub trait Event: Serialize + DeserializeOwned + Send + Sync { type Response: Serialize + DeserializeOwned + Send + Sync; } -#[derive(Copy, Clone, Debug, Eq, Hash, PartialEq, Serialize, Deserialize)] -pub struct Uid(pub u64); - -impl Into for Uid { - fn into(self) -> u64 { self.0 } -} - -impl From for Uid { - fn from(uid: u64) -> Self { Self(uid) } -} - -impl fmt::Display for Uid { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{}", self.0) } -} - -#[derive(Copy, Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] -pub enum GameMode { - /// The game is being played in server mode (i.e: the code is running - /// server-side) - Server, - /// The game is being played in client mode (i.e: the code is running - /// client-side) - Client, - /// The game is being played in singleplayer mode (i.e: both client and - /// server at once) - // To be used later when we no longer start up an entirely new server for singleplayer - Singleplayer, -} - pub mod event { use super::*; use serde::{Deserialize, Serialize}; diff --git a/plugin/rt/examples/hello.rs b/plugin/rt/examples/hello.rs index 2f596f1a02..6bf7c836a9 100644 --- a/plugin/rt/examples/hello.rs +++ b/plugin/rt/examples/hello.rs @@ -3,7 +3,7 @@ use veloren_plugin_rt::{ *, }; -#[veloren_plugin_rt::event_handler] +#[event_handler] pub fn on_load(load: PluginLoadEvent) { match load.game_mode { GameMode::Server => emit_action(Action::Print("Hello, server!".to_owned())), @@ -15,13 +15,11 @@ pub fn on_load(load: PluginLoadEvent) { #[event_handler] pub fn on_command_testplugin(command: ChatCommandEvent) -> Result, String> { Ok(vec![format!( - "Player of id {:?} sended command with args {:?}", - command.player, command.command_args + "Player of id {:?} named {} sended command with args {:?}", + command.player, command.player.get_entity_name(), command.command_args )]) } - - #[event_handler] pub fn on_player_join(input: PlayerJoinEvent) -> PlayerJoinResult { emit_action(Action::PlayerSendMessage( diff --git a/plugin/rt/src/lib.rs b/plugin/rt/src/lib.rs index d8aa0d4006..c5872f1d05 100644 --- a/plugin/rt/src/lib.rs +++ b/plugin/rt/src/lib.rs @@ -4,6 +4,8 @@ pub extern crate plugin_derive; pub mod retreive; +pub use retreive::*; + use std::convert::TryInto; pub use retreive::*; @@ -16,22 +18,28 @@ use serde::{de::DeserializeOwned, Serialize}; #[cfg(target_arch = "wasm32")] extern "C" { fn raw_emit_actions(ptr: *const u8, len: usize); - //fn raw_retreive_action(ptr: *const u8, len: usize) -> (i32, u32); + fn raw_retreive_action(ptr: *const u8, len: usize) -> i64; + pub fn dbg(i: i32); } -// pub fn retreive_action(_actions: &api::Retreive) -> Result { -// #[cfg(target_arch = "wasm32")] -// { -// let ret = bincode::serialize(&_actions).expect("Can't serialize action in emit"); -// unsafe { -// let (ptr,len) = raw_retreive_action(ret.as_ptr(), ret.len()); -// let a = ::std::slice::from_raw_parts(ptr as _, len as _); -// bincode::deserialize(&a) -// } -// } -// #[cfg(not(target_arch = "wasm32"))] -// unreachable!() -// } +pub fn retreive_action(_actions: &api::Retreive) -> Result { + #[cfg(target_arch = "wasm32")] + { + unsafe{dbg(0);} + let ret = bincode::serialize(&_actions).expect("Can't serialize action in emit"); + unsafe{dbg(1);} + unsafe { + dbg(2); + let (ptr,len) = from_i64(raw_retreive_action(ret.as_ptr(), ret.len())); + dbg(3); + let a = ::std::slice::from_raw_parts(ptr as _, len as _); + dbg(4); + bincode::deserialize(&a) + } + } + #[cfg(not(target_arch = "wasm32"))] + unreachable!() +} pub fn emit_action(action: api::Action) { emit_actions(vec![action]) } @@ -53,10 +61,18 @@ where bincode::deserialize(slice).map_err(|_| "Failed to deserialize function input") } +pub fn from_i64(i: i64) -> (i32, i32) { + let i = i.to_le_bytes(); + ( + i32::from_le_bytes(i[0..4].try_into().unwrap()), + i32::from_le_bytes(i[4..8].try_into().unwrap()), + ) +} + pub fn to_i64(a: i32, b: i32) -> i64 { let a = a.to_le_bytes(); let b = b.to_le_bytes(); - i64::from_le_bytes([a[0],a[1],a[2],a[3],b[0],b[1],b[2],b[3]]) + i64::from_le_bytes([a[0], a[1], a[2], a[3], b[0], b[1], b[2], b[3]]) } pub fn write_output(value: impl Serialize) -> i64 { diff --git a/plugin/rt/src/retreive.rs b/plugin/rt/src/retreive.rs index 1a805307ed..b214009776 100644 --- a/plugin/rt/src/retreive.rs +++ b/plugin/rt/src/retreive.rs @@ -1,13 +1,15 @@ use crate::api::Retreive; -trait GetEntityName { +pub trait GetEntityName { fn get_entity_name(&self) -> String; } impl GetEntityName for crate::api::event::Player { - fn get_entity_name(&self) -> String { - // crate::retreive_action(&Retreive::GetEntityName(self.id)).expect("Can't get entity name") - String::new() + #[cfg(target_arch = "wasm32")] + unsafe { + crate::dbg(-1); + } + crate::retreive_action(&Retreive::GetEntityName(self.id)).expect("Can't get entity name") } -} \ No newline at end of file +} diff --git a/server/src/lib.rs b/server/src/lib.rs index c45175d2a8..70a3bd2aec 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -1037,12 +1037,15 @@ impl Server { command: kwd.clone(), command_args: args.split(' ').map(|x| x.to_owned()).collect(), player: plugin_api::event::Player { - id: plugin_api::Uid((self - .state - .ecs() - .read_storage::() - .get(entity) - .expect("Can't get player UUID [This should never appen]")).0), + id: plugin_api::Uid( + (self + .state + .ecs() + .read_storage::() + .get(entity) + .expect("Can't get player UUID [This should never appen]")) + .0, + ), }, }, );