From 2798f262a7e74d89bbccaaeb3adeb976c55fa23a Mon Sep 17 00:00:00 2001 From: Cloud User Date: Fri, 17 Jan 2020 15:42:31 +0000 Subject: [PATCH 1/2] Done --- Artboard.png | Bin 0 -> 71855 bytes pom.xml | 66 ++++++++++ .../java/org/web3j/sample/Application.java | 113 ++++++++++++++++++ src/main/resources/logback.xml | 16 +++ src/main/solidity/Greeter.sol | 40 +++++++ .../org/web3j/sample/GreeterContractIT.java | 14 +++ 6 files changed, 249 insertions(+) create mode 100644 Artboard.png create mode 100644 pom.xml create mode 100644 src/main/java/org/web3j/sample/Application.java create mode 100644 src/main/resources/logback.xml create mode 100644 src/main/solidity/Greeter.sol create mode 100644 src/main/test/java/org/web3j/sample/GreeterContractIT.java diff --git a/Artboard.png b/Artboard.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f50fc17ce2f26297f8f6355c0cd1891a3b772a GIT binary patch literal 71855 zcmeFZWk8f$)IUm#Ac7)r04YT}6v?5bqz0siM!LHj6h$N?C5DvFp*y6zyE}#)VyJ=t z_}*8~@p!)6dq3PS_sj6iJkPUN?6ucgd;QiXSP>|NheL*gf`Wo4{aRcJ1qH(y1qBTi z8w>eM=TTrY@(-$`lGH1dqJhWTC@3N*(&C~jZm7HScfC}`r_Yb>ync=L`bo&$(tHAu zXAER^s4HknG3_{?hzlxS6{e4<=W4WHs#)cVKm!ViW-m!J-y9N&G6vv=;4UeN7^_Na za2nuI)6%fqZq{^z<>+2^8^s&ZT~G+G_RX!&IX1bzc1Ypdf*JsL;5KZ=@dww`B8ndd|D;V#;E#sk{Nylw*ys;oMEp|k zr~FAltKvo&!0swa0teNn?od{9{j1C0Du?PzZEHh;*b4^ zI)~7oB$V#ypUS~-KEL;`Y5DQ>0RsV154SG_9^sVIAQ1iGa7^$boekD}Vd}APjP|D} zIsIrfcspYzyaRauylD|GQsv7Yg?Htfb8?sBv3E?;$n!(%iP>3~-e%1F5DL@oC0z&O zS>pECn6r%p9`)YupXUeYT*0%tS#ZJZ@_w*06iyLYrdL$UKF2dRr%;?8eE$KStmAUa44)nq_AbTUe(>NM`%SF=G5U1|ax z|7Kz9SN5F6fIYE=Ea{|jo5##}JL8TMk9iZ=Ezcf1>COrlg=KTXb|K943M2UIuLmHj z$;S1+&&?B^r7&Z?uB^n-Z~hBU-@KxaaJ_!#<-PRrxFmH715apvp%5(BP@T{D$wo03 zeQ>V4Z0hEM9@xXI)flChG}<`jut2Ri{zJo@!@hqJBg)OpwD3mCN2$ZE0J(2IpWk#{ zE?s$#Y~BjF4A>iOPQcs_)*fyqg5%g{eY(Ev39t2Vk4 zi5!nppur~pIA_LZYNH_NzQ{SiJfm^fQBDUNZk*9z<~!ZL^An%>QsO zl;6nOAZ(b-R)f`6#2fEgV1gOMW~==!nYuDwZhf45Q&#KkK2Inr^5&fsRoNe<7$4)f$opIw#IJE*pl za354^z_wqml6O}}hXL81x~4R3@eWII;aGQ?Kcsl(Y7ulTeTm*z31`E%NG~CUR`p(6 zvN71RN#A;P5)zaa9GPz0`($>KdPqhpx3BEgt#7njCQYhYr@N3-xTrCkCb%CQp9$%z zHVNhUCmqdjxx~^j@~5wAYMHx^NGbF8el45j`yg{OsWhFKNOf2;v3^!w9W-#+P$SiD zB2xXjc)LEI{czVY(WN)3iL3W`0p9+(cOV8j)>bqO?rn zcMCN$`N8{EmY_LXjgy+FtzI;2cC(0$M*NB1G1=Pg@jb1c%{u%Z9WpE4^izQhQLL(| z@HAiR8{mrbWxIOQO{2J?X*kxq8!vO7n!|F8OsNON?LSYvmzHk5P!V6kw*)Am3>+AI;Dtb16omd0%SdPccZ#$FO(@h}d z$|2FJ=ca{^zDoW~Y>KtmH*p=Kd0_-vDOD_n+YqGYT-Tg^(#{Q;Y@v2AIt_b zd!O{`GpB4V4&IK@@C!p{Cfo;aUoqRMc^M9(?jHDDy{Z%_i>e2w`XQ3{gaO(v3@VWf*=T^KI1u!XJ`p0G@3`lDA}>jXY11EKDM z`bMaUzLt`%xH}pUO2EDcw8AKSpe)wnaLul(7%cB>E1Dz`sFZ2i>y|AjJgGmKU5DRg z=|Qo3r@%Fw9=FZdLcLp7>*9dVa2i@DHF`U`A9>8#>{vHp+#bMfV;_}vF=5aU%R)1Q z8|O>{9XD!6dwVdmsU0Y8IJmdOvg-Q}|NGSsG4F$jm%enh%tD9xouyWR-YE>TYcr-1 z@fN^EY#{80y@W&4B?l2+S#WY22x-#1L&(N1gmJWRibX>~*Tbb|#|64f>R*bHcbfeU z)1C$W{L{f%Hx9UQ&I9tuN#%G^u2@!h;Ft-lU$T0NF*(M;j=4F26Z?l_l=Zi zn;Qu(-Sx`u+01|>$9bUwm_~J9-bWdM+F&zClbx>{_+4BVctEv>suKTJEW#?mHH7!T zF3V?dm=cgpls__Kftskm#c=#|ufcG=!nVn^7Dsn>ne!t4%nf3Wu-bZK-tO^$t7wvX ziEbk3<>}Evm>>=Q4(HfXFlN5cBvl^qYsX%_UQ+5ZL;*aiVme3`v}6)?rtJ_2uxZE? zw0zRx&an&M_g%}5 z!@6HJWK*b|zi+I=8^l(5FY-DNFnjXh9j5IZ^}ywK#?@=CIfr-+c0wLM#}@OWfrw;h zPkayVsx+=xvmSYFW97pdR7%hNh3iLqtShrkZDpRX^*AS&`K~zsS|YZD`a0)Cowk`j zAm2Nga`T+EQ5a0R9oJ?T)-2JSu~1uvxH!voI%pPA;m*wE2r5tP39eafoORg4A=FAAL%^oy%CwtsqJfT+u^FeDRDYmYXMFeM0wPoT}qR=eXlGMvnA9km@gfs%APleM0p&XMotdpr(Aw5AO1ptC>IM@ zpDKTgN*w?|eGbxQ^iMYv&CEM$Iwnd`oN~y=U^)xzwMi(l3Xao9qs#^Nh2f4TrklUit>vE+fZ{n?tmkp&PbZ8I>so7)4OE0Dpht-@iAD+cNns18@$4gDqrnOCuAbRI zNBV_)a<>HGwh8E1ChtC3sVN%JjI%+{5G@udhn zP+}FAvg0;}aM8sg`ao1&;{o*n6#t0*G_E~^`yS9&)YlEsJ|Zd%|7Sq=!lbNSVxgzs zfP17EcDo*ETxPP6DqY6qG&&zPTA`AQ!l)2R*OP$mPx2*i+Z$%_iroTn94VdP_wt6-`Vp}f0dJK7w{`LC(JiBib+U7ggfh*Bg@cL(rtCuJ7+`GGS| zOWl^PUxGhiy0J_S2y@zhb-kgO-M`mxRFvx%MzLt33fq7GLLFV6AAd8rA86cu)8bo< zFZ<3aH{9ARy5d5O!qOa{Io1do>pIaTIM2`9?QI>8sZsBF;8oZi$3sjvS9+>eAQj3l zuyr3H$|-)lE_ZWn>An>J9PofLuF_prU=Bnt&g6G_kboeSl9N>e{3(0~dv_8~OG{by z7TnED%+n3XXN*KsarF=)rg5K~E7|va&(M#@s6DHr)f7Nbmh3Oj7%B(-;G4}R_$82n z7A$8L{R(l%MJxX3e6gWYaO(^Q?&HfV(Y<0FV(PMG{aBP)O0~X|^ct#e!W7?C+V5vo zRK0&^{X3N+a)DStwvGqy8_X7lqfw3g$Dd5!vAXKluh z$V(yBU;jZD1XMU+UzrEk2tb`K)=Sx)zqLwl9`#Hvb`Lst7~-I*G9nZEfpE^a-cjfX z_-sb;uf$SMBL_>-VC`b6B?& zr4S9+8DHt-w65-Iv)ZjuRO6~_7CTF_)CI+sPqT6t^aoAvjezDE{t;6#9+uEtomFM` z2NC4wKqb7BawuQ}gK z{5=B?7@n_|?mH|nGbgcoRhi@8(x2GQ1OpsdGj}jp`rpmx%MD#6Sn@ymri)$aQpav* z`n|&2CzEhvDx;uuF38IK4oYIf*8maKyYD!248;_C_yt|v75Z!zyaVai3p1X~&ORse z)HrO7eB6}ou60Q=P-`TpSH#@cy`lp@O%OKwOea)Hqw(?zZWno(T-^GVr8^e$zLiOF z73cFug`)YZoz~KJ#*rHqkPn!3R<9>-Pqr8`aI=>h^`Z(X1QOVVK`^~+*Rb_!h}^F4 zo@2_;i{Ia@%_k*gwZL&*;wH`%u1)S4u5cQie5UWf|Kyvvb6z7U!-pn5iEC z;EuW4%^z^|DG8qx0q@zCff3vlQD-PPLhRwL+b4yuy*dwE;taA=dBSR)Xo_j3*K^z9QI18xeYpKnkN)2QR z$vPh;uIJ_9d%QmGw-R&{*Mzd8@x%dDsh(=@@TWFpyOIhR#F zLU`nN6Wd$;ofE)t1XA_J1k)Ny3QtCt5wgW~IrXY;l~wEy?(DEs+wl2pj{BG%&KJAC zm~A>qo?1LoW6=rl{$jO`EQMJDKFtq6>&oNKPZ~FQi)F7CJ;3#=yK!-z+;_(hnR|UN zkKq%1oe*|z{LhU&j(z&NQ@c%rBm=LF^*ow*%3X8o5K^P|+K3JMWNToKsi5%7cB@Ix zBDP!I4e8HT8P6sbraBKQlY6e~yC$OVvEDR((|*capATVQZW>OreT0!GL;X$AIWO-^ zMGYl%dlh^@r?P1=n(jJDW8j?D24%Redi{zEJV_?#IPN$fTpkg0nlZ+M$FNB68e>#PhZ3MFs4Amc@B* z9I3-(4Mh^Xj=!OaRj=2Gt`1|Lna za`)P*#vTa{*o~-GJI}DxcshjD+9DHYN)IlT54JjKjJzyOmgeEZfan29xoYDqtRMz# zm6#tHGxwb7RQlkWFQ@rf%A}2RB*rY~G&gN#x?!UgRys0a29)U{RG;QI4ZnsmfU)MD zO#V}01R|-G*cxG7o1-`m1~YutL(teb$KioU%Ac*zS%3is=k?eWufcF zEvhDYOmNXEwRN7g?|PDh)An(d@IPWZGRphg5tb~gi8-T1y3d5Pf0B=QxWCRLI2awr z<4Z54kYpFc1iGJgdru}tM9`MwKE-gnvv3pz;AONHCGYJ$^G7-rqt#mT6J;BnGp!r9 zP7dVEE{hkkV92z|ccy%eM(QfsHgUd}WOWC<9yc|>uP{$}H*4dnv-_I$-c>+VUrkUQ zgwme_^A*_`Q(k0h`lunFi!M)`cP)`9UV-gcmU>i-?sEEVf@rPUT-cDE|EYc(>9(+ zx*5XGeYntsuE2z2yJuDbCE#ij9Wd^e(-Rfv5+$)?UIy2!*=wkPwSR1UE9j0!ln6O* z50z-ml61CFE`nNZ&XpP0dsSZfIbxG{NGQ@raQF5;RWuX@!#E?Ye=FzvE8<+A%vTH? zW|f9PTn0svHKHEBM2fNLWMJ-!H2;iwJYh z4>4B(XFKtB>Wc*5TXlh=m~INHJ6CGU~s8Nq9mJU8aj?k2OwNSbG+VcG8sAKZ)2d8yJasfs9JUNqDiS!*g@-0zb#hO(#+ z%O~J=p$Xl5at$y_j1}N|(Xwcg$yNt~Hr=-34Mdb{?>V0)V7b&g?nT$WWPX56{iCAm zXIT2zKLG{;Y-ZFtX<^nPgUs1SsvSf5CNG9Z1}!yV`gbfqKJlhk;HL`a;SUc+7#kt* zS-)a(=*>cB#ddXmhW2<-rWI*C-EH?2EAd~TrrQWFSKh(y7?0Wk>~Y;d1~E?4A%?y7 z5thp9n|^1igX28)uf-Jwj*d}u!e`sWgIUE}Yy89-Fm(>DuN#z|0m4L#*<7E#@N@Zw z%U>HBmz@!$Q!9e}J!Yb^(h1+Fo=xqB|B7qB_Vm<>qW(K~2h~dKcZ2@p?vkEgYM3uc z?32G=_<3c(DxyeVz>Xg(_9uFEjY}|gbnsp2S0MVOG3o*&;PmcvJBEgQ@4miRxLj_;aCTu?)glI+8;k$&n5 z`<#S2XLa#?=1)=oenLb8sjIutUa{4`cP_uKZjp>!*Off_Q)p~Uq^=CS-OV2V$^ZZ3 zNfW=&>l+b4J5Bax9%71(dtwJGvXlY!GX0?jhGG;!=N{&cv;UCiFKnbdfgvJzz2oX;x(DElA7*D@1~r;4HvPJ7;Qp7RTHecpLhVM?$2Ys&w@txBC=c6QjTSf{rO zvh)>#y;c2C;6K1gE_MQA(Z}Q##)Gj6NbjUE>V?kFwWzK6YhwQ~wmuqAfr7_v6)e@c z7r!dh`u^`p{&htlgw`GautDkcfL6EbY&35E2Ounxx`CM_-c4M6W3_&n!Px zEXWSCWurKNFOM2&2K?gqZ%LOhoIkfzW#31o5PJL{%$(!61pp?*7n_0S+=;ROvEZDw znhD43k2iVGQf0Rz$}qOp_7OaAgszsRLi|GNBN)1_9zK$<@(qkJY9TSYTfx4|QGLR2wZg;MQb z?)F`vpY8KbxHoV47j9}rRWzIDort8m18*q(fAH^L^3cxKs_+d61cD_lUP~@`!*!-B zEY&qCqB^J*iO{maE(zN9?L@Gv#arEngoI$Gy+yyKW?(~7(&Nh_)%SpZrLov5HGZxl zn{B~_4$#7?p1B&w{A*s7k0RA~?~!xM>3SVWu}8k{%$)<59|T~ zXI|Im_U5ydg^zjdn#+<&u*cN=&(Gba8@=l|&4!vsWjlFtlppQq7UCq4{H}44He3zG zPLCaeq2P1b?zq&q3 zv(yP>WXL^@`${OD8h}<4ANl1AP5d;`TvO3L@r2EEWbP#A)0aHu>hzO>_ogkw`&3^Vo%k6^ z11d6{wnroYl`;`)s2S_=>+wPr<`fyq zh*WSf+qzUO>+IN7NT}B%G;Y1|Lzgz&;OBk%?z@HGGIU4TC=_Ba8qP9OK)Q1tsx7A3 zZ52liYWr7jUWV+YG`M7arb>DuExm8ADgEk$4~NChijq)BW9YizFX@r?hrx_oh#HKQ zV$`oN-d=^p%tqmNZD5A?wmJ%=MZYZ^)H$t|^D+QGHWOCrI14>3nB_di+IAfm8 zZOcB3GiVKxz8w?q)_fuBBUqg>_uMhc?E~3;Bjc{h0`y2|!;o@f;}FrE(n{$dn^i{l zn#jW5O5=5Dt5*TEkA&VjmKp6uf;g<@5>6-&KNsMsWM`+B>TcO{$WTh*(}NOYyXLmx zT@lef4)C|d1WK5*YPwY;n#uWUvz5kO{sN1I4$qjC2Tc<-J!)!vk~h!)3P!@wu2EPM zmpadyk}EXt)1G}1eJa({CF)Ik)NB!d3eEopUm`8-HUv|@fIuEX5fSK-6@|@j)Xxi; zFL#aD8nudccqFsfyCd7i3^-tCv+HLDh)nN&i+Fzfk663);j7~!y8m=KBJVNNnd<5J zpZJM<#i8xaVTAYMHqiCVNr(4ti7K}-+hkY|M8p%Cc5Qs!cUX)b9%(#eahMchshVpL zscg^cnNrvL!iXLzuo+i#ZcuX+YhJpvuVtjPY0QzUKHOh#n&Hs+QQG_Ug06t(r?B)F z)O&9@5V2ZDE1!ZnOfFGC&b|(OmZxPkSVg*;T+&MQ>e~dl>o51e3^(agvwtRKM@;rb zw~+1H%ev2~&D%T_ew{qLpn^Wv5qp+YCquXJTsPJ#ByJ4C-p#Cx^~l|nE%r#vW{A4a zt;X0RPcvV!_{#Wb<|0ox{Elw-i|0yJuTZGw9~+ zLhD&0P|z8l)k*p?qnM?x4yVX`_>23m;I1M=O-I*pF|yN)TFg$vtooE+y-K9aq@R|a zzSI33Y-;%ul$H%-CZY?^jnD>@T{YKtONw4NM{)(21PGO=S zMBT2XdvPhq)kY`1SeFvV*t$|NJMb`m^(97s8F&)+)*2U|r`UwpGrmDTp>HmU{s@u% z2!CrzO&Z;(=h%?zUdF^rlbFY)ss&jii)%&6PjO4dSLN|z&UatG(u+T7W7sa}1o6At zZxxwu%Nw!&TxN=LsrIWKFnH6g&V5P&hUw{P*k09Q&*`Mz!E}~-v2Lm9Amw1|MAOYB z)M3A7)1$IxzZNP0ZK$f46!bhhu`*?kW!EbbEUMx|rFDIu2{@b|yh3zR`R-b2Ca+dI zUkM4HF9i-j*cwho-sbPRF*0KEU>Z|wk~E#a?*sE!P2HSjAy+AIo`TEXlQ&NxT68=rYSq<3q_Lfh z-K}_j`c&~L8e{~X)@d}AL~gua9?W5Sp3gB?+h#Tx+DShUQ_v;~8xix)%xUTefJ$FA zfroUdGq7sBT|e;%n4j;B_}1Uo(rnOB+q@r#D#1^(SWMxpn0MCoDX4e7sl50Gf`$E zwaWXdWnVme>XzLO2$m{*%8Z{@KXlgkx)?4|JZs!D3V!yK8>A&B`ZIo6=q|0t>BZX2 z*LHJFYCqMgwE9ABTmMGaeVvH(xxQaLe8CfVn2OZsThWNs&hU`=sl{}`9#-B_WJ=N9 z*Y^loV~@<{Nd?^Of(d8JbGM+~F9!vb+3F8pO;_2b+Yq$~I z)ndW(8#hEP)tAxMP9l6w{^ISsGWXFedE>F1H?RTzgO3!gXl6%8N2U5LXfL8JPoc7# z1K@Rh-}AsEkDXi&gYOuobx8XV2I}v33g18+ujx~~l!)2185%s{vDeqv59J{q1>iSt zBn%?x@qZ!gPqIY^B41!H8wF3(uHr`f9w^|hgY$-q6IgR6-%?Vn4`uU zQ!1pYD{kE!`c7Nl9oH>cwf=W^fXolJhBH3gBjfDac0NYVKj5)~z|lKxyB17Xuinkb z-JNR5e6_+z!_F{1Th=MVmZbdRM$Ma}a9`fuFiJrtX7wT`9{81j*SQ_NKExTSMsJ#V zDg${dnusrS-dq-b$_)_-hjX|ZKku}!!aK2Q36W*1Y1@8qJS;_ZF<(%=s-f6}#;eBi z{B6r$S|+Gpqv#a?{$x!tm!PltH9UoaHZQbrJHC!n-JVOC9u0u`1uG|Xapgd^6v(cX zGEBveFbb&JvNp+anF!c&7X<3Tg}x!&B8xo*LC$LZ$$MqZ+tC0wMFx!WIb%!#fS46S zQ;hFgsfaB`hbvr!(M(@3hxfS#h~N7CYxtFuS**f4gh(vm+)zqa=E=7qXX2|ae(F1% zD39biV`1BCG8;3Puya9WE}jsqWXb#Z2J95ppboisZqr08L8VOJMUgKo@Ox-Wc zalI-CI>W44PB@?1hob(!_G0)Mv`QVo5izvy0DxEyHA*sWDVwA^k&cs{C(6poToK>= zllK`%8a!R4_hPh{fg=0cN5A@tRbrYYNOaatu+`}1A^ z2we5H{^WInM!9(rR!GvK^@|brseAFu2Pj{=^R zUWj~lqPqHePMIfQoo~a_Jxj;DVe!1DYU=`zop@{*&q^*jRs`XMGojXg8)bCZ*AA2H zY2~oLL<3d5^|zWhPt$t)P}%rgOrbY=m=VKO`_a#hWNHV76?PaVidP7x;O??cfqEF` z!-BYvcqFBh+$>$JtXh@PnX+-Uw(Squ@JTt^ju(QM!LAGLz~`M|<}HtLb2RL-1u_d( zF|^`NUza}So?!0KJBS_$Tb)<#^ZPjCxr+8q`( z5T`rigr11QR{UON1;O=#O3P|bxQ(mwVA=X4#F0S(vTU|6X*XSJ3|#8nVHh;c6zDAI zvA(;bl1b-GLlA^^*PAL*I*_=FHKCi^XQ&l6<%iOsG?ywBzo{re6L2n05e2Q3K$l45 z%*mK`l58y3NG4rq+(CN)Vm7)IFUA&IzGyF(jroEvNE1FkpT7p_8LhN%C8r%M9wF`b zDpr>BYF@T@5208T%scn?B(=Mh^ENBalD9OT&+3naxPuEO>^E^^&Gh$@^J$;D#xjKfdQ>AK=fzy_s5ikdoY8c|psYsF z9%T*=j!!zR#Z5OeWuB?4Zrs>`B*=o^(vu+!j91JNw7Cd=*}ecP>HX13-|yP4Q!#jj zBOSCC){4nSvprumlbl0lhbi?51H>u?>(C)RCI_V5xg^BsaQwE)eViovOOVBDSiL&1Yq9AxGK`( z%zVIg40wB?+aaUmz`kj46*@sWQbw}Kim-7LRTB`B-Uy%AUd?A<(`a;oaQ(`(sP!9U ztjMeuN75y5O&PwxgiaKKlK_=- zx>|nU(THN3=%$n=>;norD-#9WOJ82IsD9|Xiba|)mJQ2`qgrRE(L@0VcD@?kn=TRZ ztzOXCiXkCUeS3SyJWOOi8lg!245cJXi4qU;Z<*)=S;bbEOZY) z%r^`>-4|fjsx-dC+qr8UXOXhQl|I*7POrjWCq%|D`v{v;%p{DG8XYS< z?jn9&NM!lGrEy0N`C1TpR!<(v2kF1;n&y)8P_xiy98Hxa!drcQ)|EuYvAxcwP2av$ zx&XFVw}go(D+=FUA3O9gX7h@b1XxQXa$6@g3Ey5$HuWHr&20gesxVA)tJuN>riBLQ zo>45^S0IJtFUai~(%-JjJ-fNsOyTbi?L~I-)Nqn+lkbxZ3PF7 zDUij~lkL&YyNc7mSiLTjF$d2hH>SK5l0l)Xg3;dYesv@1$o@$rK)0)9nq(j3D9Ab( z#$Vn)<8sgd2SDfI%UJj-F)Qjr`d8LH@vL#2nUVT-o7ABwMmpgS9GxQ6yOeh9Lh!LsHhY(6)PQyOjH*V4iK1h;{x)Ezy!^x|Q8Yxi2}l)>Sz+d++rl z_w?ReT^kkk0qjv&p)t#3^t}oEx*dH}Ya8-xIr5&m{ne)FEZw7RW0%&lqNzns?#RTp zJXLm{D7WTtycP%T(|bg}*ffZ5)XV^YuVhm6g>Z<>v95kqzt#y#{QOP{KxHPOqgQPX zn^R63xFl@%G(w(jBQt}1jkh{gv~+ZzPO*=?r&Oj~K2PfT&d-k>TeZ;Q0;dQH^kvOE z?^fPF*xQ|BB?+@-gz^&C|ES|tzx)6~X@?C&S7nDC*!Ozax_`DJySO@-gdj9orW{7) zd4iv*Rle(wy`Bzu8T+BrgAfD(H5Py?_dihiL?HJAW3~#+y|` z>5v`l^y#VlbzD~+AhX%TpL}yRb z`B>*#Xcc1cjP7a-rmw9TL6TKsT|4!phuF3!5<4g2V)Qx}Z}v+QE|Kluy;+V`2A;$s$MP8R z=|*szqt7B>lGhQsa7&adgm}%>GAY3N%n2k|h4L&*hl-Sco7COPtyCeEM)VRmj3QoF zx1QX&*%Jv$G!BOTwWt#$cvLR1YU{%2n)q-~ddAQ!x?JnI4zXOyQ&Iq)XDWe8u#Q+G zwc;$(5^=tAKeX@8k?Z19!p(tkU6%JlWPg#Lv>n5)=NnNeilatFx_6%4_!{tOZC6Pc zHgGF!@k_)u%r?zRrk}78*E2hqQ41?Hn2>&L3St4xM`;#Tj>_x)-4;rr4Q+^LsxHD#mx2=7!-4$!Sa6wd(K^3x-h9 z)Q4zi(=JrRLr83VX$v&sQE+S;j1E3!0hmG%CEeJjorBDwr{oTC$ONi`j zE#~#Zu7s?}A> zF#V~K_&>(oc9Wkz@o&^hg!e8I!p_bY)%w@q$gltZYyU5n4{7U5u#qW+EnOyXTGpTgTEm74hGU-XFlG zIN?o+^!hib%O}6-`-c*#IewfU-*C%Bw%NO@~vtPU9pUxC}%pQ5m`5L`> z``_N$PsHfQ+4VlCWd0wLq=x-KTUV)2fKJ2BbXJ?X&#Hgjs|(-$fW+*!j3! zH(0hruF}iiqE%)srRX+@3N19sX5Hpg5e{7-J~@}VFSaCD0L3Zek^v9gr_DIgxY!TZ z7S>@KX{SUMU6WGqE<(@Pp0-$ZHM84?{OdN+nIR+3XslCDULWctGH=V0ba%YtBsF6O zTl2_N9+;fgQ)iM7VjW`hh=L#HfWwLOv%vS{rE z?^&pR9h*fjJ=097ls?@^eoXnx4pNoS0!^Bp;!3IvFQ%YsI*6n5`Q9E7y9*;cyZL=y z0Yj}Bg!$ld7sH@J6qidn3O*Lc<4 zMwH3Rsd)1}U4B%vyc;%BAyIGI)X5cb(q4o}hM%RI%asfG?zO|tcow^bC#@JO2d?^K zOv@u@2cf$SIWu~MW4SI4_dklP;aUM|wUS3^)MFUSN`<4+ySaCbCvaV|ySg@r=?g;C@tbb#s~JY*y&H<=!4_YlI6{MhT`Z6pMV^*BjU5 zQ~Tz|b(+jw6P=EDEw}qEDwuWV%$v`>R2Q9plb*{pVN~!)B^%sQ&U$+;4H-SR)Gk*x*;NMJ{5Rwji%uh$mka)PC4U;e--KK_w0>N zErYVI+;LR{y!1SPdayabxF%kf%Z*dz#tn)=`t>IL-k83^{u8`Dfp|uAy#=Ph(5+Na zaOkCgV#hQ$c}f%~F7}(Bt{E8!B$ov6o^x6aiQL#pCJ_UE6f=G;%#(U7h35s*@~Jy%f;E|MN=sRfW{^46?$rZDs~Bp1ycO)|hJdUUrjg{$ zkfmXKvMqPRQEnZVqOuUoxdIK_G={>#05=;*YAAU%U*6>8Crl@=hWS0qmG~q8SK7df z2OsrOW!S}>+|Mem0asyENA<;rAsTo)v}-bzXIb{2 zPV>44SPOu9&|VC@Yn942I^-5;b%d7AGsCKnCC9pdB=q6z)%`t02J(o{qgjdlzjzcQ zIn;Z4LSqDTyN-YG3L#a|`)g}`6<6p3QiL44N`gY6Ap;JQ>>&Q1uAx1vF|XC#An zU#fi&0NG^;vANS>l8R1Y&CmDJDbUcnq4ym-l{s*q2p2tV6u$OW@Kz_9#P6- z#dne%jl_~}>M#Z5vom|SR8?I1%$0jJt<8CdBpbE^R=y!8{;lzLHKoIJ2*q0Qw(NS? zw*X3ky90mar3*4$GR>#+K`6vMA%INyT1@1=GRVZE_6%Pp^4oW7FSTRhUk;o49tKP5 z@f3^;@Gd)f%{)A=7x#lGD1Cw5^&svgP*B1r8yd)ZT9G`<+0?TrG|M2{hyZ#fC#{Sj zJM6?2*c0`kmv&mQ+GAOnWf$$%3XVHU#J~<4H>^J>aXNw-nr4VfQKd1IS9A8UrdFAp)Xl`w)n0M%4lJw(9gx(+8k&)@ z{-Bt~X5Zn!v^UOi%gl`ya%Q70p+_RER*rQhhRoZZ9fs2Ju_?IkmirHsFwfF&8a2)} z9*@7R^YwJHg}{kCqma#{I3Ak?U)%xZOp+YN!|7HvhGs=;8#5jU_KMS`ux|dfuxSaY zkiF+B9rAxMP<$fZ&extkU%`kkDc3hB!V2Cn2aBa7vBbJ$yA8MXu(L&SSrT_UvKK{D zhO@;yz;OOVc=W4R9GlRe-PO4F8jgk=Ai%^1V&G^TL-x@;X8fB>A$^WAqmYYa>i*r` zBT_cw;IP{{i;r?$nhYr$R_s`B%e3YR^djyJWIb>4-h6z)RO~kSX7TcqD!~akxliV_ zBd0rXKf%3}!8LWx9xCZ>KdjUZ98Cr!*k^|fZsqSfQM`)TbN1VH!dpI%73iL;R+=!< z!jSslx-AqB0bIo_ZWnX+>~=>P>zV`^J=1>X`i$8r&_o6WoG3+&-Df zBs0JN<9)afcdcH%`f%v(s$JXa`>OVV{8&CkptO0IwNX2Gy83c&aoQbg>Wn}F^Kfe% z)->S#N?@jBq85H~01peCa_{gP3(H8k{oa1KvVcJ;$D#O|h80$cM}w*m1ARWJ?F(9o zu=|kXt$3JQ`K5+e&+R{6f9nwpA+D;sEPs>LVk$Hglb58CnkiYq(U1B4&2=uRi6mtS z)JZgxbI}f@f}f!4wXs!tHFBLOVp{mU;&D1l1;l1U7~7p<`6W{2+!z04f)8eflWM(r z8~N0I<7cuBebHnrJ+AkOpq@0 z0{S#oo^AhW(t}tO;U}IE_{@6}6U|_u4sYuC@k_Ufy?TrBjZq2~NrR5q&4 zPb_k5Qzv>15QQeZ%ymCH{Mn#8r53kBBf!T@+T-np}2% ze38ZgkN{`*cVo-a%d8(4flP20(47_kVhe7k`mV3+9W|Rv6&6f~oaFQ~?nKANDdmUq zQ%$|K!{e!%E?tsMlQ2&X z6&Z|U-`Yi@!lF|c^Q~Qnw!Rvw#*ZR345t<;uG$)BNNaRUEmdLVK{MB( zp)&mVEZ5#Bz5&ZC!7`f#)9kT)4SW-a-3A{k?)ApK~OTK%44Rw z8Mu<19*)JGexKcH6k-VRVpB$0`O!UE_&t(s#L#%`iWZCkV7)7l##n6-o-Iqh$t zD2PvLDjhLweYWTuYghH3bS-Wn4XsV;qdJaKGsm<)2FzmESxeI7HFZ@@uL3a|FrBxK zGbRGpA+~nj@WJb|j434>;aq7e|N7Z7G6c(>9DVF&>4@aCC+qW~!~>Vsczw*u=B7rX zwoHmd331CzS@y1Zb(iQdvPtyA0HtlFyQ+*=cabs#1ts-WIN8BERm~I0#p}Wq&3Y^Q zro6_qs=Cc7mA6&EIxr@Odj525nHB7ix9v$O`|Hdr61JPOd18g2l+Wl;mU3-+< z2`X$-mASAzH>DtC#i%65-xO=knDjoxZI?F`cIl>^x^)Cnic!_^tMV9h%^CHT6S1O{ zz<#2J{b(Nt?^?NO#5oeJnT+kSoNr+}Jb29Fo%SvHSz|Fc+rvCrFsCS`)XmGPv%14$ z8t#>qb(BF&ra~I4CHaZQF8^=M06M|wYsUf!6o8w0ZeuHxbJ^`LhcnY2zB!aMw`I7C z?AmA-JbLiJ^BDKwTvT9oq3o_8lbX(^Dw9y{osLTnYr+Oe`S{A2zgM$iEzU;|C$bK& zS#tTE&Fbqnr?$0Q>o&fe&H&vpvzw#+HL**7H|nx*D20P};stY%gsbcpX96Wrj|M3Y z9@S#`g94r9vYjTYBSSlbb2>)?Cm-qJ$Ef?^IVu^KrMv9sUTkOwT~EJ}89oZ_AYbZw z=_p-Z6wi(r9(%@V9p%fyUEM>;iFR501Ww`8T)`Y4?!@hvVs_x{PgaLBbeEmw3KRSV zjiY3#5lS?`8eIP-Ab-c_gOc21nLuTeWa8%5LcrsqDpRXNxJh!00#?h`KD43qn&dj$ zYmRmG@7uN}^t&!oRxCSq_*~X~FdFWVqZGBQ%`I3MD<$5YAn7kKikx|4STNXgt{!wa zCdh^s!QgDsCH4noK&Z6ZGZQbmZFoX=e}FLZK^fd+5K;aWe>tI2o-XxDgIxiG<)U(S zPEMZ3!>#P7k)(qU+bcT*8puweOi~{ge zej>1eJl^c~d*{B%nJgd9u2ajaEHw)IqwlII-3#R*(+z7F8cH)Ihp(VZ(4Qj!yLl9- zfA9W!sXW;!w^ic2j;*qHpaN&x^w)#_v+X>qG)he|z5+aYM9o3sCb(-Dkz1gZ z%d{8S-?c2P98UKk7oHzdkzX;i$>$SmlzjfP76gcJibDp9!5N&-VgT@+wp_wf&P5pA zRXf|wWV%7+lYk^olt8V?I}noV77aoKE;Xt*1KOV@*V@wLfA5zn%|R>e;73aWT2TS ziWL8$L_kBs2ikj3-8vQin^E|6^+^D*M-kZw-jX)>w z|JqJj4M1gl`(lT`bFyDoJR(2=)BnF?|KA-k`4SMlQGDTq{qmow-%kJ)|0B4;(uSbl z(byEQ6!hC$?Wb7~_jh-7oB;3%{Qyf?eD(ty4!G$DB@(cn-H{dUxAKC+&9-RB%g5S9 zD5-*WWNGtH<0Hv{Um~{f`aYldqQk$9_tYOlMpXR30L(Z|3jnQ~ch+E~{M!e>lzH9d zwJdEQ1B%aBLj;tDJmR)xP8Q=S=%Imy2QYa)Ko{N6{xOkY*m`fAg@u;wv$CLcwpPMs zVZhfedVaq=Xbm5e%bEkw;}A%y**~(9!g?N)D@RCsilc#am``cXz|y`n5i`Jev(ZS; z;}O{7LO=WEjxt|*S3btC?^n@1Q~6)y9p+OG(01!)it7K}aD_z94;b1Tp8wLjAoJ{$ z0ls3Rh(Jcs+}y0~r~|MCKLaC7 z6p!z7`0v*z8wACi9K|(u<`cO=)fNl2Jy-(LfEI%RTKrR*-oY=FdA5J7eI3D5sHmuT zRp$Tjx3q!UnXUJyVyye6RmFw1KT5ZN#qzqIzUC{fEjj>44vtq0!tkfi~V zy1Lm&W3b>M62G1x3W>>NPEM^_ZQZI|9Q}e)29`HXbhU!=Z&6K^dcijkX3AB~c;);R zU8FIfsJ_@8%vNA>+xxIFdcYb#1Gm?}*9ymGCA|689{IVKRTc-j*xzmq>EDCP`m=sA z4=dEE!67$plnPdG_JoX$1W6G;%`UgO*GIGBZ=0VJk|OTqrk$CBqU#MUau>V^Y~4qh zP!6$A0uPjF)eJ|T)E%~Vd}?zDJ^&Xnx@ha@hR*5Wqp#Rur1VBF@HUMsIL3 zWl~98(v^?$&E%6f_M{x@OUHgJTRW*gjY>Hk8I>{eiUtlJq_W zi1@b|7{Im#uNT5v6q7~q@Vzvu#V_nm{#9F`akmC3+zEyI3 zU#VAVHF$U0Gi0^X%@Ex}Y1k+C`7o}$ad@|jiVk%KsHB%k-ZgDos6ofl(Gmoen$oY&qe___@=mvy2amc{$%(2iZPMrczhx zZ;3l!I!D1?nQ3qD(b{esKs8}6&}pS>klS8p_~yy2N%huu;e)f)x_%^Uc+)e9 z0Kd7-eQ!I?jF|zP{ zrH@<5BJw^qzfylq(Zt~bvf;2Y*C#9mF^YWyVSs3qCRRboF=mhf7scEpc9wU)j*GQ* zGtjNpDG&P~A1qA=s>MOTWgsx)FtRL$D>6?Fx(~)eTL)Fp7FfnLMEl_&b8rAhFDPC} z!h#HbaYs&mlEq}cS|2f${IFuGLa(FW{vek(pD3cA8^e>-m;K@rukVzTWcl9-l^^)` zskI!y2`dmGeG|#)nh(g2O=av&jl&dMZsK?N&X8ca^a6s-k2>&ZN&|vQrIN8ER&?Oo zd|GrXzw1l;V^t3A=qarp@z+ETsDlbBFie)jOR@~_YxP17Uh*Ew2mN+}&%kTcywcff z?rv=zVB{m(qr_F%JuA$|2}E+(&~R*5;%h3WgGRAqeAT!j{q{F02yP;r{3^3YNW+d~ja((e_?pgS6*aPS@GALWrrNMz0&Lo8j@6S?@>Yr5*v~D~;S_`9ij#G$JFN z*>W@kn?3T%k#G-}gkb$Pi6vKzbZrXpTn38l>-Pfv?a>OFEH zy7$&Zlc!^py_kMpw@tRaL&@?}Mhm@nL?zqR6U`v8zMsAq6(p<(3JN&+I0{-|-$bQ6 z+N&artAQ3w%I-%q3#*E{z5>5#%83_Onie6i76=u{6~91H5$nQ!6Hw9rfP?}A3r6Z) zs!uxj#CojnpVUvBbU@#K?8f!AdC+;(dE}~@{`Rd=z zN~LrR16C0QtGqr+^f}4wod^26!cFzf=wP?wH;`QKJYKT$9@f#nT} zg4r^O`4@4#&c%yadtGbghUa%HFCJ87mOsf(`mOacI^T4!+NQr;qbTP5IJpc3o7MGh ze>N6Aw2i2HM5q4<{3!AnY(1;@i-X(8m*VcG&|OcT{bWCt4Q^@o$f-rG@P%Dsk7zw1 zZE<};XN?b`p!>1GO8-UwL1qxSwFwpMEA;haXp!^n)xDvX~-qL5UsvXG~VKosi zNRjpjSnHd(yHR9nVs9>9o`N7o8oiZrKJgYQ4tw-my|+xdllcm>Gzct_P%6l%$K90y zRN%rdx40Z=L^W4J6$V$PUw`Tv>D;&?W&I>w&i{Dy)Kk2KkhmVdiZMtm;WVL3s$as%OB|;h`v^98G_OCo1#_4-J`VrxQ{h!ni__IL00FICq@=lQ^<%Zvm0C`ZSjsvx$TvI z|E`n1ZJ^jNR=9`P%995@o!tv*by!H@FrND^6{qWk2yNSHF^PKlers*|v4jJYdBx2?$>EbBDYZZl2Sy8?&n|2S{MjoUCCg<|6qUxMlO=4jhIKK zKueMxS^_+cAT#Er;%B~lE!B68u*$c4kO613%3szMsJ`IB3r_eLT;D9(s*@M_zf(tS z;n#knF(gl=!TKuS*4Jqc5?}V1+@p|5tIA|@zJAyrA?hvSTEN?@PU|eR{B~;rrjVye zdCpy%`%{G!v4yIlu$vmi^1!YGyjK6YvZ>X#fcTaPkT?m^J7&Xjpt6IzZnc;RJux)r z)I(zf@OYEMoOH;^dEN@)JAW!(XiU|!q(TqzyrM-{Q)9w+-DjW0i3`OG1gb*i)Ce^( zomZU{P@&;J~pYvijNcff50m z#S7Rnib5nDUVSM~DVE`RJDFj6r>Uv=`n~oup$ObCE4K|S7&y4e@Z-e>R3IyzsdaaA zL&C)kU$AP!(Yl+TDLr($eJ+S2mBBkN1)eU+gAv^KdcnAV7&;d&?wWHLvFY}o2{r~d!9Z$SZ+#=C0emv|k@!OO)b%@aT8RQK-ypiqh`fne&ytgAO(1mHyD~N} zJh3IgeY+IZLY|}PIHyI^(Iuz*I0z=aNNGK@t>nA7*6q@f+KPcn74OixT0%sWy;s?K8CKV2IDky{smC*i@>QFX+mBnVD5TKHG0=gR~Q&-TH80JxK$lPm>0&4A4Xl8htZ;i&zTP}+SA?@QGt-qjQY>}bvm91DyFV1F7){Rt_?VpfudWm9d{z+c>Otjwqz1iJ@gaNv`^S zH=DdNo1#Y zZb&!`rt}6wVzR`IOQsAzcULktWo0CU)z)9$ood-NishKIPQJBMW!L?IoEv@JfZp)O+1a@SCL?2+nQanYdqK!C% zZisTT3E)yZ&k#KBn{iW?El)FP4?3?hl)c4~3${2@!}Y}&1PwJv+tgcp?y{(u|o-JJ9Va0B+ZI&apg@ zV77@X3X8t%92YoYnLa(Da=XP2iUReB-uwXw1aIHM0$5TvXoodgAIi?`>?}IGyjUp; z3QA;3N(pt9ts*TgEpiI8mC%O|LGk@FDmYSXLNdKEh9R}lKq&cne1z~u>LLrtjgARW z_uYAYs;v=QBlamWNV$RoDg{q9VhNh!y;>1lcSGOj^O#!%K9MQ6+yWW~?iiX>Kk~0j z%2j&Mws;=`_$5jnJZ|-YrSeIFY56&GR%OERGM{|m+desWCj>$(e+u{>F&cW_Z%y(k zgn$MwkB}>uMl1AY-q%gF%1QI~d;dh80`Hf3{iQ;3e_rfpA2MN$nKz|m7ECXjDm?7c zVMIQ!ds1b`gmSBJ=qWZ=;J!KYaOO<3mdC_ZG1p;`c+EMM8nptGJ0fX^StpTE`8tB? zV`fq_(kO}AK@v^QNG}8yod6GtjIh7s`4v{A3M={`^8-S1tA0`OvLL@qo&>rob&y~+ z5u!&wx7Qmr%qaXW>+Nc7!r`>9C_S1+*p%P|At{oZgvburd$l8<#?;7pd3ooP_DtibXU^af zw45KYZ6W`PXuvs*_&uLMvUb1uM}|5@RXTjLI*xWR|APLLB9RdKfmY`mSwYM2>o9?! z!ki)!>hoe@+f?!w-QAM$OV!pv4lEcdtl7E5qkP4hbgDs34K87ciJ{i8d#(&^HD;eP zCdtS`{8W^mHZErK60)A>-^McP#7jpVTR73N(I_3CXX zjO~k}nSC7*7E-MEp$;>yz@|hDF?$5gos?Wn8YLFdUlrXAM*+cJNs&B{-toO~C}WX1 z+$Bk+o>r-ZGdYYyhsmN=aLgpaq6| za+;du&U@s(Q>VpW0}$&P%tfIjEX%6xTWidgPOv%c7i|=cQU6x(NS+9kA5!V$xQtER z8fpSw*VqSKdjUZuvC_ys3@WBIYs{vw)8+!(-#cG(y(y|FOW7_^+IKxj&sS^XVOJyI z#Wl#$hCfO&+?dNsJBz8FeaAqca33>Sv4-)eOj$Ij#Bq*39iA3ImZ28zSN1{%!6HCJ zi0=(w9*mqQ9&*rtNfBC3C}EC3(b_zkXNx+G5e0>+;TWwDQ(9mCTKjRuZJ5QnzCx&I z4xUfk@Rp$HUTM!H4Ogz<-JzP9^YIRJ65&|)TDm^B$t2bKHAw-%2n{qe7g7g}MeX9- ztsA+A8qyn;M3Xv^L5*7Lo;X*5h?|n>j{3`2%@vm>2g;P$3+tQLye`R9SZ0Una2luY zK~gzK0o%;WiI;oWVs0C!lID#V92l5a_sQe1j;)gv6NFMy%&TFe*4Pj4eY;n`Q94HY zchJE1PA9<^%Zeu1>E9~F#=dxZCJYox_$F|c<9twh^SVig(;;x7U*M$chnS>=%?E|; zP;^=z`!^R1OdLk21%hT%h-)*xmDS^6+}V>8Cxg{iVs0rG%1sWO(^MrqKeRlGsK1`Z zlu);lP&3Dd1`%o>NS}Oq30Ec-guM?P61+}kD_r5bDo<&7{G2rgJKIe@d770~^Pv9o zOS_u#V%2Je^=)$=k5dTcRtkxDwVND5Ji6=7%alHINVZc{B!jQHdqJM#!P6a^8fv(W9}z zm8GWOIcFHkASZBSY9kc0_NtH7F97%6_gBGv6l0`G+@A?UA`qOgeueEvASytrB4q#Y zD#AE~vqLmkTCA#EYu8PzE3H4I!t{np<%PZcdZ`F?8&Z(iv)C=HR4rXjOdl1*QT|w3 z=zX>R*3AsMH~k*neeYFOrWM9OyXbeZ)Q-TjO4)&p?{;wHPJ zIv%RQJ*JhAwTd5y@`8*;5Dv&Iv8$XNqXf&;Ju{~e_3*Btn9OIjuWq})Mnj3cJ{*ze z*oY#15TkhSmPx%)wL54y$xR}W7)Pk5=KuA6LEhA6vfH)GwuKA#EJMwYthabU^oVlM z=HlpF9qQCB#9V+o;31gs`&JVhZ*7`Q3P@=4!mIZ;XZ3D3mFQC2;p|6VoAwJ9b-Y2G zwRzRm@^CJ0dsA*p)EOD!_Ta|BtVJO@J~%;2 zLTs+t1XrV*8nSB@#?RqC3cOa>&=Fl4UIil@{I7T{+&LL_9kz=bqQ%Llt+zm>u@4k{_t`o5$#z^DC9ZUULlxO9ba%xv1?`q2zgI}n~z9zZE zJfp8*l)`S`3XAMkDocZ~o#FNlAdZ=v-8>fAsx%I8*WN!vS!5%7foL@kzIpzY@8`r% zkO!7IM<{H9!_@pv+QuGKM$rORQC~mT!E~c1Z2ry*45E5!bLD2lvCHoC)-zo6;AU>r zBR`J~5fQN$m=MwG^}Jj#&d* zl4MY6S*MTW0~~bQT3&FIYX&hpl*YZ3Mu`!curHv14&3p(?zZx+@OV(`ixpR1_|D3$ zJgq@OlU^pcBctdyB-(rWvcciX@H@w%`czRFqw#K?V;jkd<$dlUay02Z290(Wsfd8y zGNR(@&Ops~+a^$UEc`9Y6fdh81180mFO4DyI_j1uq;5O9>}5p+1yq z6;;aK`v?ze&AH}R`;J&^WV(aRuSz1hxD^@KZDj~2iVH$2wy0I;;z>5*9nw=* z1~xlQyNh*8-8UdgJxu}vSqGRnvwI}XMg88*2#sQ-dti<(r5M1bl|sTLI6xJ!%`t_j zZu-duuTD7+`{0?y`-uouR%`1U!r*;%Q^{w-YP+|9@n~CvH(#JonWX40UbU_;NnT|3 zm?sIY*1cRnCTwkq^Ij>PBRwOo6-&MhTAwFwRV_=XJ&IBdGSHXKUSWzIaC-3Bd`zkV zADooy>ex3P+|E^c2tbZZrOZi84{+fXOefB=W2jCp`!b*u>G4_`q`g@*c2p(EAIqWsZ0ek)m zTu@MOw#}0}9FH4e6TC3HuL@{^6DgRdr)MFLH&FgebwFxCJ}aG-P*nn?{(l`0G0z0k z9$AmE8DZhE5TbD``Af)DTq_(;-7K5HWN#wE_=+TWue{b{j(w|bQo zl6=o;M15QqWk&{_!arQqwj20<%oCAYUq;YLHKWyIdNWSN!fpoX7wgWn%qwXtpo{u7Ql5}pa- zjHa=xN`fzm^5jt)5rCoWctT#!9edi1AOpD0UoUrh2YNHRV|6NIW1N?$^AMu+ICc_0 zVb68I>^1i!ySNRe=GkeU>CjgTS1D^JfD%2tBsL?S*=T+m4hfC;wqq78tz*v zf8|bpojC$PLzYCTDhkdi$piJw6)67_6(8S|r_3ptffLO$iX<&oK4qltKK;!o{a-D! zgK_#cHO1f(-cTJ2Ov$2n^z?|PN?KcSNn>CM2nfOz8ui->3t<2_uou8vYR=t<=q5>& z=U`yZUx4AI;rSy>^8=X$?Z-yD{y52k{W#i6x!)bxfrFIa`*?8`dwU}B@Ou08RcyAT zR-!?8mKN&HTL8!9-&zHP$_6s6fbkQ)-#3nVNLxuvt({UX6aTFSzwG&!iFkudWHonO z|MyLQ$PXp6@T=>u^zu(Z0oNRnfUFQx8Ir|+Tlb$YL9=&4{Kvfhb>RgKJa@x8MkwaD zD*Wpu*$BtK$M9bb`@sW_X3t?gVNCbibpL#|^wb*Xf4cbVBd!Qwwa}875~Tn4vxC{1 zq5spxzdyD^zyfO5{voIT&;I>!Efa9{%bNde3~=p)4;VKtiwQ&0A8PzZU&;4=;QlG^ zKduo0h`twsER6IYPx0?(3*sz8{LzL#24U43(v5S>@P7y99daQP=E*2(flcWb7z2fG zTS|F154O%E%`GiR=xBjIR`Fj(JJxWrFuaBxM^2t2_oLjLAFPNT>4lD27t(dH<(P-(8Ct3RTg&7QQWLlUp#3-$*rdiUH zouaobpNiqO89(EGdrVDydo_PYh^+TlnD@d7t zz~?&keg&V!TtXm4^JMCWrNayFrm zsL7c8nUv5%3a$tG9$^|52&*k04>E0%46`v=>lfkfL89VoQ;mhcr~E{ z-r|T};7+8y3PwE!zvt%qQI`Z143IBD-wN%;_lsr$fZ#e6Fb* zBbxKrPX8v=!SPDo{S;qP&g!H#>0F5FJ>{RmJkF*ub9wm~5HR>Ywuj|p( z44X%~C89~?=CUevlIU@(DisQIpwJEwNfLmcc0@J2`;Yae5&r1JtL4q3R?7aMyr_JA zjkqK4x@1%Fc@_sl!rv>*VZT^IzVJLubj*C1Bb{t_dblHX>6_-fAP{J8K&tmIRPd+0lfm9^ z?7-e%;$`rlXc9173SB>kYz5&sBWLpyA?D7c1y;#hLSJ*nNcXBc&Hn#^hD8CfDKz;QpuLY=AkBo#grlC=#@z;2AiStl56*FP3 zale1bi#(3YENft=A;DN&9>3|`60S`ETYfr%H7Cpm_2|y38r}hTQ-8Y|& zuoo6rN-f<2)q;(gprN7l#C}yHoZ8PWDUZ9yH#o=<%fhe6C>~dp^m|(2V|o7g7EI4C>iSN<@+CScm^AN z-E{Z%CofBfI6g^*ykq`6aPYPH?ClxFaq25u5)yMW_HcI!#cpYX$~bk*T?v@Jal79#EV~}J7%B-13lk9% zX3yCuTmc1NO&wBy#m4ric5bQko^7L%54W~jkO-EKp22$VMt6tEAI(2s0nRm|K(f7T z+}8rp(Nrz0W3U(ciR0!K*IjX@oW+SQXsE1-d8BZJ2^RssYwYU<8{lz8xXh(#RJM(U z6x=uaA<=%toY-$bXOh<3#fAt$t>l^zpX2$5DvZ_T*w=}uQHnV~Hil=GPlyL`s(*Wsf1dHB<<3r)}=?EIW zb=eB1{+7fshRo(+nzf4q+oqE0G_MmU^G$vcS@wKBw`LR6Y!j)-xfdR?HV1h#He>T%Ijj}+W`b<_#m?qg3=9m~ zF#!KkXd9(Y6BQM8Js#olX?|X{RI>#$;hjchy1f00$DKu~as~J@&UN>u+z? zt^jUtPsrT06jHDqj+WH{Dd!A}aO8&gxlKLXAbC~Sr)xy;z^8zgS+PbnV4}HYw$+5Q z*j*`51O?`6ua)+a>vLk!wB8#}X0z#uB&=A@~)K_N#tRWSt|6c}^~k4K0n$ zR}~&)@0lOobuqfLKNqMc+zCXt+u|%;aC%7#H*qrgp#p|{^y{M|lkUcIEh<-D0dkWb zeTsm$hUgQ=!M;lgpWmS&C&NB>Yu3S8rti|}n2g{(r-{{X3s`AsK}Z1~T9j5ITNXl2 zjP{`EDG}Nmh{~uzJ+^S-e_s7k?!w}ND0@1(AS(MpDWJ2Z?JGOUTc^`jv`?l&P&_Na znK|#+9S#!Hv~w6qo~CAI%zVPz+PK}mV|?h%7QnT)u(hq+czg7B_U0v&Sv(!+nKm#} z3vtfx5*8fcbU?1Ny?uwc!LxRO_m<66+RLMmbg!`DTk_uO=c+rg%$(s8-7JU67>=oQvkfF+F<6|(amJUTxSIXC0PcT@BxB(`7d~eB(l3xnDj-nICeSrNJ5!Bq=I93+(CSydafg*+Q zZrvJ>oqlkV`-N00X!fbuYrG(_;DZr-dAfc(^^KVa11+0cWlw@!boORE_T*Xx1BTu7 zChi>zWd6VleeA*R1K4CwODlv3chIT|WDqDKOd9N#r+&f*^g8+%0Ykc{P%oaU9*qUze0C%z+U9A`! z3Ex(_A+%&Z-`|5R{=t^ysH#|qX*<`6t(vY(5 zc=A_z!m#XeRy+52@Q)C~dh>UA&Y`s%TTDMAW~>*7#!q~ShYVI;t3B(=kw6L~AVBwX zokFrBOaOy>KEkH+UB#L5GuikaUZpBI-A+jSDVwB-cSvAhr2Vl|xIujJNQasM35cr1 z@Ho1LoI%}{U2rJo_02*7Uedxe={!4n*by3aO+;!@lgFL82Vt{6a`Xa`5c73VsGRg= zU&zXub87ENJKnpOx;od@z-cUkQ>h^p94aM5Rz{O386n`IM7*|F zfj>n&5^&H+4V{xMy6`AXbF|LMOJoT^#OoPmUMY3ntDdS(xVQN$i2_720+Xo!=9r93 z(xl)X+K;tlg0eUE%h^y_(Dij`48F(Vmp)JJ*A$}|s~dU+nLWjJmGTWZ!xa=D`4|H! z&krF$cXog+>hjp?0Y(U#ZBt4d;`uZhp=fz=#(a|SBL^#?a4MBrO5QKJbf+iqba|uY zk&fReq`HHtG?? z$sSaS^KJVV)7@$gWLyvDavZ09L=L^!j-6lG=`?#4>!p4s3u73tg$L3#DC{H5_|kM* zDvw&nNl|;rKG&mnlj)ZGW5Q%&>Cljwm#XjxTWKA!v^h;>G)%y39RR>sT=Vz1bGAi5 zuz?6qrAnAq=<(945{=JrFXL7l!_#TjEK0A5;RzWPz z{1eQkikt>nI%8#Q|HV3-`#PF<#@=jOwf4zMn^bRM4yW5ET?ZZc;Mqa^#C=tbQz#*Di!~Eq^;xsX1q_VA1Y} z39DU-$e^`NsmV$?8AVu&b=ex4a5=DZ@TqkAuEMMdf*lqX7D%eJswge=HpNp}kXcz- zhxbC?(C5$5{xhob7`MHXtsBOL+Ze4ao4ev_ek{x~Ycpe)^SGuKM{{hq)St3!EW zb~t6basV(Bl>oT~QbI*grXtkN%!3%$soIhZ$A+L3ni{S`1m8DrKXlNAis_s94C3@m z0H)$?{{2QDvmX(u&{Qy7(~q;`N9-o^^}}RhHArH$Py43TkRl)C zU$7kv)$KORrTER>oJxK1Xyb2w?T+mqWUQd6xgoosRcS6}FwAC1Z@76Gd$l~M{NUhV zS0SwWO)A+hH`)BaHlAWBPjf-b1lS_*nl9H_D0+9YKn<(uuy&zz0r>UTu*Udb&{Qh& zdwE5Z0QdX*)U=~%J!XGD?TgS@MJ){-F9Y-V3J1Xyb6_%)=?ToRCfl|%a>%@K2{VQF zN>AF?milDb!X+!!@`P50?)EEK?|gE1(4{c?@2hR(&`qNai4@9?g2efvTOnOnMmwQu zQpLK$mt05j@!!GDV9+EDGsndn&&A94knEQ%9z2hwqlD_43k_>J)sFNK_t%?kJ#k0d zlcOaWadY2(!U=jymmZyFrFTc`t5P3*zUk~*N7SSa^{G~+oH(6@q}HL>;^cH(v9x>1 zdybZ5w!tPwf2ep`HWS0p0!7GPB$=*bq^RH2ZWVGU8O^JC$yKKSs%ARkVm;iVFp*6x zp2}O#EmaGs)9kdBWK=x^6dg94sV^=mH+hR2pdid`>($E+l6WR8;-AZV6Y(+>30xYpd9EInX)F z{A+0{)W4Ue7VznkJRhEfOAg}Ss=~QrHtd*mDm5fxYI{UInC>A8DdW?Px}BX=)>g=p zf41TH#U+j(uNC#=I}Khhqy}+5cN#)WAX|ze_h;LnqE(jHG!`@;Dl`fVJs+ zb-kzz{T9>9w*WYgMPDx^2?>cD*F-)_Af;sE11%%mQ=m~n6JHMkz}ATM^!|O@{6fJo&LMzC!pK@3LI|QoJVF( zVW&6LH{$7;(mRuik#MVFbBCj^a(;c}#_YZd^MNo!Z!8`Jd*&sTAZ5x+q7r=?gpqR) zzt$c<1=Ij_B0v);F-TD{v8>1R)2LAAfxD$~we)m0>ZlDH05eJ_z+V^6)o4B1TG}Ii zR`IE4S3injD=H1yPyImChu%?;dw3$TY1UmzNlsTnSC+vcEz=1OU zc5eWBg~neb`FX1`9vI2|7;1t0kn&HILL`$FEbab<#>$w>^WrU~29NJaYQ4Y)!zyJD z9V;XnvtP&vnth`W;eTORbF00L~@vuTR_2Od;_EX@w@f;m8tFnBs;~X&vWNyTc~hE5u_3pts9S_ILc{5dJ=U8KI1+aoRTuPwkqEo|R|LYZre@ zUOO!*&+KOcnurDfyv>Ne+xoN7E@?cSUtorx>nV^l60L`_=Q1#VlQ+`~4WWyunaP@b z28?(F836BY6huP&%wYe@V}bK1*?U$GG&lEVonk8CoLr`>)61g?-U|m&J4RAQCdQtr z>nII2CMJL&8S{kwc*tzP50jcjG9)tX+n}1zsix|IO z&-M?_ob)owOSpR(4V(Z&0E%^ts-5|LIRiqK2OO6-^EZbgqpBJ_ zuWBbM8Sy?{2q1uFk$+rW2|GEl0LT!n!2p_ou<%0KHo{NWPU>wX(eR4$sTo26;{`3g z_)3;n|3GhV2^{qJn+yUHX$1}PiBjj)TD8V83MK#(;{g{p837R=negBMBt82V*?AX> z^%3jqmI=zvBxEePn!0*v%jMBhh{BV z`^Gp6iZwsDY1}7(cYe6u+T6@*F(1|!$5F#v1Yol-M422P$#-T6)(~LNRlxVE%DK*d z+S@7uWY5z3my^Au#x};~TiYF|o_>lp>7UV4Cm_?3HhQJUYyz-Cm?C-bK${K_B`JUa zs=>?CJtiYot_&#OE#e={oi#N0;P$9jL>;rZLR=w-=QNJEX##wlAXFjhg8k|KZDj-f zygfA~NaFz_5>PAA;0uw=3}k8Es5@DTaStYU?02vq1HEpCN=CWhK!aZo;a&K}`+B^S zHTf-Lf|&JTa0kwiZNI-+-t#H-*1~V@Yw1?N#H~;N1}Ps; z3Ajt|M`5pwhezgZY+BfQdhaI7HxbYU9uo8w_XlsLzR5RKH6&Z)?@`2Nu;*CNBr(C7 zzWmD(X@DFNhDxm%I4-~@e%Jjs0So}!%1l?1;&13N*ZD#z3(hiq5Sz@3nBUlJikBzO z6wcirq_Qu4lLvvcW5OWcM1s?S|66yW)Du@th)e6av|iZ1|Ps3+I~4_vE( z11l72n?MQ)3=hDilc5glM0*9Gyw03l+YC7Rx-n@rDI`teBU$7I?VD5!gNA!F5y22 z=*1+j+q3UQp9|Ku5tkvjweY5b>a*jyG^np%T=X18z!u(0yBBdOVB;8k9YkCSc}nCQ zPOBJa0y@kk>P2UZm!^ym0?8(Z&&Gxc)E?&-5)v{>S-${egUk2FTR6Pihfee&U!w-i zJl0~kB4qF!#>u|^98aJvLJUrny>_@%)278dJ(DBbY-{>XOS-?Tn$FCPFg=MLXIuw@ z6YLFWY5tBcWV5NMX>x1y?dlE-G0F}!Bqm8qfy=i+JWSFLCvSkH%pgb6;t}|zoK9f- ze^aRh6OhoZrb7bh+K+>((azr90x|fhep%SR5(P_evJlZ9gNIGlg_+X(17eUkZ2-lE z2=A-4!{g*={XyPWzmhIq>zfZ<$yHC!^RkB^BCB@0mDD0A!K0&!3U`qCNMu%5qwO8P zy%MS0%`IH9abNKZ1a;Oov&*%`mffUEz>-H;;^A442 zb>Scs&Np~L9IV+zQ1=|b@1#;Y8*!d^9!Y#Pv>G$Pvi7iOgP z7)^^Nu)g=wlB_dK^*2#f6ql7oDs#qt(Fpa($yIn7Vb0&Uq-CD38U0C~?7RagfyNN3 z1rji3g0ZFSaD&7@R>@p+%c?Crm`zi=p8=6C(+u|iVe6}d;_jBT1HlP4xa;8V?iSqL z-8EQn_rcwRy99TKV8Pu95*!lTzTv)i_wH_eRTMRU%$%Q`K5fs_-DTmK1;IC9m81SC z=UmT4Lb=rT5L6A$^Eb*16Qnzz`mnruUDNrv?9vg?(I*m@taeXnBVqPf+R3pyprai& zhu|l$)64h)Jv5R=-mP!G_xtH4s)N3jvwTnA{f$`ho!Obht)*=!VM1(;SuTWT6QDQ($>u7;=Eb+e# zX(A%*JI;gqzSuDTj11uD-H;PXjv#_P_^$zAbw?C1!T8^9z$1NNvv^Jo68x4Wi;EFh zM*ly5+XmppT9a+4g9bAp#SZL=z%fC z5ujWZSTO&8mp_*PL;2p5u+{(eo&WKm|MNc${5qZC(dqs{UjFap1H8d7?w-LPk$+*Z z|NFx4FQFF*+0D3M0(^g_BZ|O^3fko4vl-kzaGzr(_JVQI;ufyzJu z(l;+4E)E6e6ONJZ!_yNvJ39s%8rmuyE31k(3If9M6EpY!pky44{Ofq)Jzd@Nd;wf~ zLdM3%Dlq}W(&Z>aLPA=H(rfhEg1}SobPN|37Ti&?j(1$A^F@?U3Y$?%kB#5Gw|qCq z<3A2`VYJR_z6Z%#Hgvf#Ffe4Kq;w;hTQc@kUoh+ycsNmELjwRjIuVD>BIdS+ANJiie@zW|lsh;$ z*ac60UiEfzVs_|$u#n4ShZnfXC@P!#?mD&kAHl%_@2an@AP*kEN;1Dig0QLTcurAB zLPI0-$BqWStgV7LHqd*4>wda37W?>8l7W>)wbbhu_ z8@S&-2!JO_-ah0Acyspm_qVTOMe*u`l99lE;y>c>mmGZJA7{*5%U+U%6{C5<_)7oQ z+pC9twCptDeC=BD!vZD)+6G&6~C*Z8>Xf+<+|tWtyv zTPSM({$cAei*+kpCE`Yn-SwTL?vMG39SWm#vr0{C^Z*_NaruKP&r0@t_v=lqDVV)& zuebkb9mQMo-Q<4|_Q0^1@<;;Q-RJx`G%%}23fg3&+m{dg3;!K3Gr1ScBb`}HM5>L( z-f?^7@0`jB)>KC8JU)KJ@kI`YT2B)$tYyM0ES%x?;l>L`65E?DsK%>IRXN}2z<#9ek1uVp=>)AxWhckeQ|o+WJR$&DwzZjHmY*cmb&*;cBUH=OtSmr8!n_oyH|f9WJ= z-sTBaBBvR*9_HU04BqBOaWK#>Yv!2^^#~Vu4sb&zh&Bqu--b zL=Np~UH|!WHH`1LO^N0|pGbe<9#M3vjoSW z%E93;>Ae7mRR9PEzU0%&dnUz66>_PjPdA99vN*}0;jD^%-Ra{oa3F`8Yf=F`zxSiI zwzgKY9WD$C(fVoU9{55a@z$+U`1z$>y*4zzkC13++jF-{#eR|VT#xspWb?#+_J%Wo zcsJB^wUWh+4qH-lS6>Z7LSaajpl{3pK>wY%1)hIr8P}ubdVFpzhsHPF!v8qT@BV`e=CiqO+3 zJ&65N|585z@haWrp+4-@_gcKGCVW_tCkhPTNUFDlX!=?>AGQXsY}%(q^NVB6`^_!T zPTZkfD~&TXS*H3?)JM$azjyvSJ+8%Z6l;PqS3>@i!?mtRa72Oxrocgck5t!@hO3R2 z(z;Ss47PCS-rrne=A;IXYuKJ$y%AZaH*l`$ap#S-0`{7zm^+jHM17h5IsJTXq04^X zKKKi|p?Nj=;jmG_^*Pvhcn^=ZgC*o#EML-us-mZK{@MfcaGqt+`cLSeb5lMB@XjAW zK$a@x^uN7cyoo}Ks9&+3Mn#Bk=J`Mp!)Kmq&9hd9WjRWUA+m52oVbF8zjqQYqO}l` zg6@KsL2~ghZ;fGGg~ijy<6OK8O3I=2#l53A85|FY)X^`fm|XflkN6w?J(_Xg ztN~nN$Kg5Z@%Up(jRpL0pR&B+b~)y6h&rKQegLiu9m9Cf3~2=pm`kcjAk_(-+brn_ zI70pYwZC_^U2NL_d+uS`YlhfW)v>qCz3I1&IWd}5S3xj8GPk;xo^5GW5vo6rYT(Z2 z$aLJ*YmNaal#%qL@C2_%ie{>!-B$}Y`BA|yc-rbn>FM;Q=OOY8x-$=K=Fn1?dK&PI zGM$h4`AS8{AGa+l`Xdu%%m{^I$cM=5zPjthtzH}xeDV8xW?w*c4#o+~VYiupbhgUM z3AZX7U@mRblGcw$oczQub>K+-ozsOPPZ=%>c?JZB{b1%WBw3~5`dJkH_@(kD4-n`c zzMwErXI$2^hs+SH{ym8w?5AyOLnXJec{O0cj#H6;+&uibwo)q&hLo_C-XK+HQe8bC%wFdUn{ICF*;*czlBu5IkPVI6H+{n#0H8dlE(PT$uD(>)7HsbU3zF5g} zuBH2Zf)-8@!6c^LgT?*>yO(3W&I%O2KAsGaNjcePnPSGC2Q_?Ga#Z+y9tZ53 z0(-I0_SPMKVpmo!ILJO4VM2!(#s`Em@p|b?vf6?MLbf3e(^m9^=6onim46>K9<-}w zpmHFjyUZc|P%YW+BypEU!Y>boAgg}hMj3AL*6rO%@WCEm6EuF`n9{t6d|KWd1J4xv zCT3JGp2B)7UMy|L6dmq#$>8RxNcAlTT5%^&&gE6ERV)H;i=W zJ;EQ6mA8P$e4(LG{0YLB+eV|i#@TFYYgzseWFYC~@&qw4w0S3WD5593ICISkCy7oy zNhE}Z9*{Q!AR;1q1QLEhUEK%IpSrxITr*gJ=TIpEBAv&XdtH^RW@N|op#eiNr1ReS zHVA|lX^3;)W6wVPV@};zM6kg=+>%Yj!JRnp{b6-VB&9?~nnz?l|1D_Xsc5ICnAU`w zRxPcapa5t3&Pc#)_;PdfKZidZyMK)t1zbE`42EE!j>$^0KbSl74`Jqd*P6`#kZFW4?W`Tk63>m)Zp35HIYA z4u==917JLqdr(h~xQGDOOty&zM|=wO{37~E!RN~-DTHw&0+z-fPv3}2nds1{q4v(! z<>`a1g+I?|Kks;=fuu>yj$n-BvLNxf$^Ws@>>sxxH&8 zZn4{zRXI=*%_5g@*7g-{)VZC0u{UEI4DqOb41$FsCAGmhC&rH4k-t$m^o2)4&>{7W44L?vmYC>cq)OP`Kj3C}(JZEl(RBqJy+cDN9& zd1(Q0#P#0w99o;m5?Pv{Fm7-IJ&b&aw82%|I2SA0Qm{RTYO8@#o$Eq+9LD)zKM? zJR}%u&YKvyg}f3>^8RtO7rpaHs>SSpK^eX}B{k=y6pc=$xPwwUuH-4NR%3Bzz;|wn zea<0UTixXkT+wc^TbZpIW4>ant*jJ_3_fhD@D8Sc-oD!j&0~ z9c#L!?8^)d)zQgJue3L1^B&QUAY)R9II?XvF!96(8_i8Yw~Nju-d9;Xi$p*L<^;G1;;LXY=!ZXfu+gpo znn)@!ORg~fu)*^*zjEeJBZWw+9IWRU#U8G3F_Y;`!4_;aXk?VeNnj4KY}gGOaYP=d#8eOLHX)YV;0q zs50d|FSL5``-RhFQ>w{e=S7;J!o4f4WF|Sy>nn>udM`2PW@6f5%nK!cPt_u6%2bs& zbVIW}KHSnv6H5J z38#phN18nEPaFGK-ocwi31gVKq6nn9y%4$BBh&xU3+nN4LEU<|$7s&$qNx8i=A``H zptIh+d^+Y z8wUCbQGj3?B1#T-raUAe@UrH4R?uoX|G;{DA(3vsfV@xHUN+dQy*!U+j#0Ye%*!E3 zSQFLhS*(g~)eOG|&1oVZJc*fAZy}nC`1Ul=!=dJ;4og_Oo9_6$<0s?(L#G!Q)&0^% zHQspM^X6yk>+oLubvaU22SKJGQ>W_{kWfH!)U_ZtJ`4(dkJ-l;sLb zgkE5}2Mc?3-b8xe=erlbt5i*KfwP#)WpY$!R+WooeZxpg#~pI`>P1xR!wZG)NW5N< z&S*{>e}!qZ&X82cJM~TLGwNPdu;>0lq zK}_@cqv=72@xAP4hz1JgYluCLXYI%6NX1^gwe25iuJs3=JTasLmw#|0akk84%zu3D zth*p+eq+Nf_lOw1ROV)JNj41D?;1 zw*?x?lUmon*B9cU`+{{m79(bw-p&`V!!@5^#idUwg zrl;iv@5z-f%S5Uo2~7I!X5P|kHMO-;)zA8stOLB`gJm_!OCWr%nw2K7gOe)`?iiQL zuG^Rb#rt_XzE!evX#hpYZYvQ=;&!9ED2aMrkdZ8ZkU&>tq~WIr zTiW?AqYP15;#A)b4@@c9?vL{xf%Y@}?&8aVJ|1Ajv~m5;JKkbz9%++@JXa7#OpUSK z^)&@$scO?3@E~>L5Swb?l6~uER++NI<{U}^)aHshD_OHhyNo)~xA4bQ_Q6V-iX=-z zBQ0b)&GQgpj`C~6B()H|xu3X+NHyVdikd8r9*@$69*Wcd)?xx`n!zUyHh;#kL;Iq} z$6G`Z*OwGIz*4OrC5gxxQVvukD^kxHsrdP+3=cI>YGj4Un%Czz(KGSh z0cl{e6x_IN+NE)Qp{4@jOVd}+4+rb1WcJA7>3JwY`}>{jUZjuID1a0vw0}N8X!>ej9npbi>A`u0#TpwOP@|KWPS)#;a7{h7@AO#caz9;WDHWiZu~?{3*J^VCGD`RQTS`Ro z(o<~zhB_+W`^_f(^to385=NWx>UPbMTtI*@Ffeeb7LcZ%vOjhb^(<$h+Q>c(z{m)N zYL5;8pwmm(r$wIlwGBG4;PKs4m{`YL*aI%nnX;84lQ6NcV4_PwnIFfSO+O;ZZ$Zb7n}wCgtS;L)FHuatt2Wg+aHKn zmz)+qn`-tMoZFa*ZL z^Adcno&DQO?v0*9l%*LkE`Ui~!@#& zWK13D-sr}=JaqWyNy^vJ?Kp(ge=-5+&ZE_I8PjUoml&hse^os{ z^}O*>DrA=p%`5xA@zQ;|zKB7H^Lh{ab2&{L)4+_h_nc5VLr?3-@bGHW_R9~dNw8lD z)JzTM?igDq1)nS8{Etc;VlR=MD59b~|Yt?&3dlb{=P(l67GMWK#W3)w0bBqRZv7i@D$!?D;xu8GZ++JF*+6dMd{E4;pjC-Fvw}#8z~nuH+o3g3g0y# zkz3Sgs}*+{7M%R}J?C-gd+vD_^V&i@TXG-;zsW@M8T#sV?Z?tmg#&V%=)@c5qM6PFAfDfrbfv@BbQW~{>?azd`7!NPeul5`7?K@ zH}E3|3Zdp}-9k6MIO=uk3B81GIJ=B{!mx57eK@2PoJJfZ`xBbU;qzAD+?eW9_X0IMJW2bjw^Y)zB zy=%rGl1vT>OAs&1`&-Wxr{P0REYUyJ_g;*^`N4l1?2IN2huJ52qwkMqyD1POxArLS z?5VWX-?_Z#X5C?X-qg2?dss!l?}-{G^xFDebM}fCKhU4!Kw*UDCPx{$EsO&GywPbrr0XR`qdd9j zTHz(1MNT_B#nlaQqi?L+cma4&sK)@J`kv@+&31dwd!Qo1w+aQ882uAHtLTXEl#jEU5pcCLd)i|9$6CeP+Z}Pp!aw%J3 zO$Y?iS*kywpwq1%l$=BAn_V+a04!1*l?~er7S7G6QW<>+qlK0mN_P1bgGX?`%Wd$q z8x(yfwX|UihJ+Qu9q~Urr0P02>rm0q{P^umL;<1rjw1c5Pn9q%oL$<7(H}p4;PAK< zZ7c|S->sUr+t_{8N*eWYziAbN+yFOufKS!*xao6WqcqC+m=;Qyf+-8n$JrBK8KZT~ zH`E*h_(^!P@t)vb8vw)4EkI@&VhSSsg;8E6lr~c1)maig)0a$@ELqfj^6NT$a%cVa z3xBz*OQoEprGf|63Z)4(M)DHb`(V>^r#*?Pmo+L+pF5iDI+o4TNHQWi&XH`##huXv z)B7Q+5uj|E7*e!U^pI}h??#@@nuhNys@-BA&sI`ec@nkds8}M9vpY}YVY)vN=K}UR zgA)L58({iHK+n8mJo{Ng_EJfuYv~kO$64T--pp(XiVENx#aafOx0G3%Nk8>v~RhAoG82e`_lq3j$8dMKpmPu!J z99LZ42$6QX=Zovis_*)%_hboQhy0Cytm&AGdf%d$?^rU8`%)R>0a1@{;P#1#LNC7+&uqMWZ&Eg{;oTZUUccKC@Xpr|fkQSbxK?_~zacCyb#b6e z%`MDhz5yz>IT<;IA2#t9so)%TBT>g;uJ@(k+l^s5i)q-LP-``2n+T+XaId3N9e*9Z zlcXIkUV%ymAC`YiG~j1^w9MJ%P#IPb1)sq}{R>2*h5oBtE%WwdT+g6&7t>$?8kj#U zjfh!bB+74rK|CxK-f*S&fRv8U@qriKB+KiXprPi$WS60kd2_X%zD3P|Tpi|lCn<@W ziwwqNq_NS57LLt)WhD;<@A9!*tV||KR5TvB#8xxGnVy&j2{7;Z3$+7im}=CLkw+M| zRc8dnfrCcCfp<4@ugh>WD!E+d`Mg%Hcy+KcaBuM9v@Rsmpo&|W;LJ))tR9)B;FGOy zbH7~%_oJJl{0Q8L7-+&}l*wGlim}6FStDXz)kCeLUpj82{f)gIz$E?k=?ph-yLXy2 zonLxcR^vN)C`>lS1x*fpwD+) zv=BBPi!}RpI+v|e8n}U%L_&HkNS{*alB&ods(4o=m2`X)7O5Jp6vO^0Qy_J6m9=YP zq1}1h;`!d~mMufQGK(9L?_cH4=j(Cz+)~@68vEaXNpF4qITij~ET&)Z@2nzl#hsIi z6#)JVW?;|T%SG!Rhz}LR?9YgvByrOl0^B^Xp@tzdKbM_&7@U?gD3H_3M6f z!hQLIJns=kiJB+mcqZc8GXL3*B2uQDP<2bdW7CVu{d_%AipXnFCk~%tI~6K32$;w6 zV6x8q1PsISCja&~f=7)8r8dxtM!KQc;c#d9eq`kx=w|97n>TRQDNLu z;CViE1t;hU$@eq6U#D2S{2StMjPCGm2KQRA>1%o_|EDz}K_=OesmL?q>ImLMEMGNN zjitO^x^S7xgFe{<_k|uXT*PZkpSsq>Kr<}i<5hAW54Fm%J)jp{5#d}===63&$JY#W z2A$_6KRyFx7Xr0CfOfCtC7DWeG@h5%7G}k_K7EdQomQ&k^L}&hfimIWF z<2I35Qt87?yF>ZRdxT*y&J&j%4P367j6EJlf#-_pXKNWYO0G6OBb0(YJ-H{4#%j=Y zlx$Z%xOk>{{CHJwDoPP9O-vpoT9gD0&spxpmw-+!4P8JOIBA5M(7YuGlK#?FJZ)%7GHv+B& zP6^l#tTJeDD{G}7B|Z3(LYp;Rps$`Ra05Jvs%&e;ft#?k zX9eu}dY`ZJv9;1cc7V=a^u>ZeXrv@6 zUH7I|0inm4IQBTg6w&wM(|lj3m_)Z4@Ws)f@3THG^XfTNsacl*oxbM{Ix4d$6HMuP z05LtZV?7far$J4*ZUZ5S4Km5|^8<=QSM^ZSO}QS+Wwi^dni&cGc6ld+6>e57B?wd$ zAkYlehXJ64(#aWJM`dUR6WMCj8mVm+wt7YHYRazY{vnflXrpnO-eQfjR)@21A-Ze+ zh7|3G*1<_!;9Y`58tdYGKlR>R5Y?KtO5E7BjQ#WRYhBlHjn16H$(=Lb1&1XeJ0ZBi z$a8tS?!_cyIu{D^1WI&$ZkkWkHf+vw^v_G(+MnK$4Kk}de3GPho3K3VqyYz-X3I!k)2^*WH z6jp(^DGO0mVNA&{VMqu!ABABdv_%D!hByS#P83NxeSwB;10`60PGCwukwm;vlj-PsTU+Ct1 z?)6@eDx1q_%wp`=_=X(qK!Kr3QlTgh{m8AyG*3*r*5bG%Zi&gSorsDGDJl#H7dS;B zTnPP6uy{vq8sjQXDh*#MZowA4;M}Uw>|`QUdPOwf6t0otIO0it#3@xJM7V`4Kb1*y zoV!8`Yk0o0Y*cL8I^T9MrIp(hYX$3l)yAlROtG(o0#P5P_-JWnv?e(;hhtq+{&ZdV zqWl!NBRKE6Ge8*^(S%v~=O!RXr$wNWt;kck387S@expH|-Bc1eXB8!g=DR^5AR-o| zI)CC|fZ}Fg@Yg^fqDk^-t(;LnT*y>a%8*yEjswNh8rvu zIhhy|@b9O5{}wMOAcB{0L`4Pwxe?Y2F+7QDd7q-kQH4FJw9qi{)#hjoTeGIvoZyUe z+0LPbwJYzM0V+iJ5M9YNGE)`2C?3Zl&K%V6in41G1$eptUONy(PI9jK?}dW`7HlNs z<&hk^ZZzU<|33azjeDW1ueWcWrP;bA+q}1}mhxIvxIFXx6&miO`@s499NRiBH5x3O+1+w;Kzv_=3Nf4~m?k!)5$??5Y4b8ViLMhHS0!QDm zeBUVy90G*#OXvG@l|Wn<=Su1H>lG5gUq)d^jIh1U zLw_js9`vr5jMzSpgm|OJ&iZl zt0tkS%8k49FC(>+oAe})Bx3HGLkE&$_XFiTf%#5X62*V^2`prOkYvY=c?HQNQ04`M|1RRD(Pl|+uG zUVrNowCy>^xF6HG6MbLc(J5#?3%=;xyW0R6jj=S1Al4n;VW`+(?`2$s+GZS|WOxnw zdYaf!$YFS$Hd#73{k*su&eVCne;_8AH2~Syc18AtZ3c#8Z3OQ09bW#(wZDHksr?v@ zwa0j~iNo_TI`@s}_{@JOi|G~ZBe53@8(F!fGKovk*ZG{vfi}gr5TTT~k&onZp!St+ z-rE6C?M@Ak;&v9Oko)Fv((`G8i{%b>OT29H!6^OaTQ+b^(-Msvl!KuO`dKv1O3-RF zIdnX@zua8#Va?*&;*Kz2XTX#t-{|AP)zQ+}fAs>`M;c7PdPWv(=#$~S)b96DLuvCbR;2qvDIk-9P9U|8)-ToR@`{St z)VJ=p*C$-dWi%_Tj)}{-ug#lYhlDIo_4=qr`07-OVx}>pG#3j1@Na1vUY0Uq4R7jMAa@jCz zjRWqC-5b`T8n^y>>U4Z0gfl>%vOFt}@QfE0?iVEBUvJVlt}{aCSXcN-{!b)9;OMqa z=lzq=Zc+!)ko{E9$6$ttPaYBcYF4e2=1l(Gu>L%+AJeP7m5h1_wLkyvj%2eW@zejmgaDl`S`_ey{|Y^E^qCnA5{JM;dAli;U-Q? zPZl0(DWP)lV@A;u3?4ckDLZn+dxQ9By6KDjzRh+nXW(=@P*t%V_OX&+MWPJO>RC`> zVa1Nf>Db|(i990XAj$UG*m3is%Vsa}$*{aW0f%xjw5Hw!SL2Vc3?7k3J|bH0@BOL& z9Su?6xSGLbKxeg+)5}oac-rR~qo^P5MQ{0|St66!GL=`@+IhV|6-} za!fwI>!dt(fIH)Cwe{I*lTu~q!s6mCm~_R?`FiZ&s-WyDD=ZOONw~Vchv7CavXAu$ z4kseY_Q)vk-;L0_dIsxLa3M`(`JAAiOB3pm22}Fe!o#0KmM=$2aqc&?On1vYtS&_( zex;}BFngf#mcrYg-cExDhDZhE4g*F{LP`c3a<9FpQEXotP42T*_e;zE#085cq>FBBy1%Y}@8vP6#0v6nh{9`r-M;d2BmvLimtnpl<|&@SBf zBU0;dq5p{j)W?!dTn^(tbGtx{M1yuA8Nvvbwt_+{Ex%duNRYJ$Fc|t`pj6qm+nM{K zV_<}UJ2~$xXc`Uy#p;ZkszEd&Qu`UaZWY95zgOuuU8C>T3lAtcq)LgN>_5&%=X@q@W z3a^{75O8rm%`Y^I&KK}$9C^yUP+l&1AnLg3qcfxo?3y>1^ZVe&3X8n4u7p43h9>qUFbEj)6V$$tVxvr_*!F(7DQKDw+Y5uF{$)06 z5}`pmwsDdQ#IB3)j~&V=yvP}^=XIw#*x*5F+tW1tT&3tr%;2G>hA}%kJKf>oD8KA= z*0gjqDa|G9H{T5Kp65xC+COvnJjq}Knn~ik%jPM(u-PJ~p(Wl29Q|*rzN$!4_aY$; z4;G^@*pT1``nV2lLvyth+r)2|Rt93?P-*=(J-J|34tMv1{02kRx6$oDq8lqdO2le6 zhk?B28J$BAF}vW_QA7*BYMd*q;Xo4X2JT1L&8Q9{{|{S5Zc~OE;a$z0<5#?Au1g_k zTQ7|Lnsl}~SFHnXespbjDI7HY_PSl*f zZH*7dgN0h%6fKdrGiKrwBBM=jYYROg98L zGEI}4NDj#a$}LwczKcw1|DPiyB`ltEdzDlfD%?VP$zyuB{$)-+_v~R85o&&^1H=KQ z@M*%>9A=dm;8oj9X;s(Z2`%Uy>j^pDBjXBSdW0kwJ`r#XM=R%ms>iNeA7IesDK(V% z;WV&eF~hoTncE$d>iq$r$uz>yhT(CPSX_+Q5syLe!JJ|5{_oIbXgl>_I&ZDK6M<$b z@5xbLQ>?wSmAK%^-Q9N4=OlLH!-8<4W1e%FY}3Xz$qR}+E+t34cPb1I9|1%3F{NMXCZ z)2QznYd(92{wKbgu7-0mj^e#DY}%->p2Y#5m}k=I>FEzQD{Zb+a+K&6Q`x`UtCkAH zj`X+v;Jf+1ve*3W#TM5L&s?t?(9ndU`Q%Fq|5$;X3NFE#fvzaRyJf1$PPL=O*1R_S?E!E@y8$DE__Bj8gtv zzISb)A7Q9RaFCp~EKyNoO4_DU>E;wByC!Hm$U}>0>W$xHWKMsMg$oGcCXs*fo^{7s znHsN*a;a0poDDOLZqbl^a1{)szl@8Dixug_xYL2aiS7 zLPQElM?@3rfaI zIuQeR7>(Dz5@wi7U&3K{SB+YBmHY%jU&t>8j=y~zW#Wg{l~S&t74h>URp8JyVvrdn zeN!s#Fz`mAjfzs5IbKr_R}FpOR#Q1S4?M#_(0+XdPur?bZGNuqiS%g#KCN5;aCBx= zVg)WbZ{VIhKL8ibOV*-T>)q!_=Q9h@2+f`0g6(%M7{S@Fm8xQD`sT+^T+`L~jIkXh z@DWc79KPPgu1n~FV7eMP{lrO20p8D^7(8Cu+^HKVjYnE=^j!(ho@v{8K-QF~Wq-!; zay(~a;Ue+`w;cUFp?)bU;@4q(s_+S$dUhAU3)eQGiw1FqE>}2v>5XhnvrunC5E8A` zf2fuv+GEVTRxKxdB1SCYL7V>Ds&_36&}gQ1uZ_K=@^5O^iQ~)bfo804C9M4t3Oo(1fA?4!|GuNJoo?ke&XMu4qFn2mTL?h->?=IeS0u)1WpMOQW~P*GjnSG;ed@{aogyzSrd#jji6i|!KCU60Ol8E`sy+l-K18R z*|Vh*Ln|qyP+4Eaw!-<#C7=CGEo1v(y&;W#+AZJe${b!8{WKi zOX^+X+Ijsfl)vC-kl#IHhqCwcY0IR}&adjUe4*f93!X>T89Hx1m6kDkD%IbNYsIRi z{BOSQ>%!>~LYkDjy0ywyi{=l&>-~~VYAKsLs?At@Hd)wVNQMNfr&b3z&z~Fyjv8dg zdR*iMD26C+^_e@SQ|)s|XJ z?&}DY`@~ITS38XB4OKFsI6yC8725@um1;rGEQqxLd%dwQNeM1;7T0XM9pg7EI?Nxm z5T)MRSYEzMI4ChVUzv|0)Ox6tp{VG#Caf#ucBNTN8{93|RAE**iN*A?H5`0B0($Pe z!cp1c%WUb!Zoq;9_05PsqWO8?VQtiooRy3EJ$@f$`8m?wHbXt(iKjb8kd~|c#*Xa7 z=6MR4Yg)yz85hT8LGmPxBxl#ywHQ`6^Fum|4>z^slQTwKDOca?cBK~k3fgjMg%i17 ziWginDw`-ZmfBp+uk#VCtM0;w#~cBb#!UOt)Qe9pb7|iq?((`Mee-eA4_-f&*93lS zNaoiQ=l~Y zgVUmB{9VwXwPtK4p{_I}WT{zMe(c3`|7i1;`Yq>E593!Fd8=8^Qo)$fk6CpocL9pn z7b4u}3VXip0(2nD#)Y4E{*ojYEe`}-wC1KOb1Tp8f_KB=x_nG;aDg>Il5Yx2*Qu)^ z!lh`JG{>IW$0XEcbH`~x|1y<~kejZtOL`RFK+(x|Ur-@reaK9%TZ~4ceF{L4l0`sB zH07O$C?fdi*WrreibtF*)>}5ED^)FtK++hdV;N>`S?uaE^)E9fo0%`#qva98*HP?p z8cepg2%Rsx4q4nYu#u)q!)JJNP+kJ-zwt?~Xm^{*k zS)uY?Gg`Y!5{)N{DOxPRGj)Dq%>J}zxz0{OSiUGq5_yhZKJ^1KSEk^(DZ|jVOzz&a zyV&vggq*m@pZIzP$F|PDgo`!XI@{h1c)%i49PP%}ccaQtL@$qRXuVvc#rPcaP$=WGW?&%l$>8E!pVT|?cbY&`stncB zIq&Yvb$0V1Fip%#P?&lNHrt1ePSFMeAAm*HTutCK5t->Y@}Nq#O}n3|_GHssMr}LP z2pRD}l;Mc-VBvB~H{J?Qn{)&?=Zl*}y!TU!oJrVE1DUq)&}2amIDMH5ZtbD0%T~{K z3q3KLur!BPz3Wg^-A+tS!@pR@&4rsW8f6el)ySeANpPMPB0u6PJKyCIA#2OVX)N^% zp{VRhI>YtuL{|xr8ImWE7C{Y)8{-$mU%^j6e}UBdnzPv(A1PhPq+z|tT2(988wG@C z{*ztun`;(cSKFQLv8yNX<#qqhr!o7X5!}jpH&tF46N{ZTO`608MV?MrFFs_Fz%y{{ znw94$i?eH(6V@*;TR)T=lXfto{K-^Kia4$cB;6e}cTm9Ra^0cLJKAV6PkMfqR--w@G;>_72d+_)-V#}ALOBF;b3u{I_gJ4>Vo zm14`N%coZznatz$=AhOE@ThsW`Q58RYNsZ!&DpcyCGA{T!PU&rtf0J6Y&$yIECf_} z2r7y}XW#th$tCk9Su~oSI=qC)ADQ`uGHggu1K^nmQv|DV2yVT3W|hS^QSf~hFG&0` zkQ-$DH(H(K$a1PT-f0^u-Mu(+vIY5ts}2oD{ZLT>mQ&L%W6JSDdq2OA>8LHtCeo>C zr<4zRb3Pc;e~l8wh#g(0!9Y*4vXP*O%%*ySUnr6p&fhReQHCe#*%aGlj$SwLSGYN-6p(9v)1c|n$3 zXSeM6!RJtwIJFF0(^*pe6&nzEuZ4L0P<5oJ36_xsAzE(IW9J?Bh*fuxcAjr)uxLIa zJUd&ohcR6dE!c5il^13}s!pZgED4~~jOh?&nsF8g9L)tM4{}6%y=!)!&E#xqR2Zoe zLxiOO%t&~lAsBv*qPTBC&YTDymZaWNFb(u{R{H=*TcF|DY161d2j0c+6t-qrH$ubg z>f@$3rgGzgI^xy982Tv6Pe=MAIAol;QjLCrul6D_tkKh|@*LyvVZe2#nA%Qdcvs`P ziy4mGXbF#VS4i3 zGHjjKuf%-D?1r$hKSJuL-3Eu#S(w08$+#X=Kx2e7V+2Ib04L=W?b4HE2~cu zvAF1Gl$kH6#k7H;IRJFYQWhB5kl00eU8jJ+5-~cvy7+44vDwfHEW|rHF_MXytMu(N zGRg56=``UP6_Ma0lO_b^Vj#7EL_sj6*a)(j$$kMVe^XF>;4@=s@mI(u(nYfxtP#UK zI&wgok%Sz}812;bY&oEG%q5||2lcZoPKV^5-!?w6dlAMY4F)RWzXstiIVV^%Zn&jr z6%UISQ_l>0kSa?b7XG^PZ~3J#WrXxDkWQ~2o*Xx-*kD5b3qQ5Z4ETzs%oswu7*$k5 zn(x{247tonsk$x!-qmfgU)u>ibmdP|KIS!`@9Tpqk#|#T@I?<*)vp_SQU@~zo#|$uAZQ4YtEu)b#!z#zb0&cfKhL5sc?Nbe; zdsVv^A+1RxmS(Ay6j4<{VZAgPA6_IpOK(Zn1!-gExq8iObBToCFG37tSt|ir(L!dg z2Hn20a%yp9h7H4KYEkog^$-24Gpt$0NewPk z)c4)$)|0z@Tboqy9$BJp&+dO8Ci|s@?055(F^cwxQ(b+?yaVydU6K>TyeS)`iV7Dk zD_->*uEBamwGWtcruW*xZAs4RP5_AwZSu_KWyr+cb&W zo-Rpd9E59m&6c2AmC9|YwD!%;>@cODb9A@m!_MbXsP7p}b1~>@CD7Bx8AFcbCjl;) zm2C8t=Uyp4yWqN~rCf^hPYEz=%~x>XJPx`L)um(6(7uAA_E-Ut@H=Hwv@P- z;%?C;@;AU%Zfd|f%SSXWU}HpiGSmr?(Ph>jjUkg|xUj{F$~GNr7s9_t$v_=nm}cLh zBO{8OamTPQH}MCKQ0gOBhw4E)?0I91WRoclnhpNHy52f0uH*?94i+@HORylp-7Nt^ zf)m_=yEC}EGe8LL4DN2hf+o1T6Wrb59UMs=B)Ct+#^b8Y5_o<~= zBKww6kj3+9i)-v+{INo)4A^f4ww250~=gSm>r!|lbmSQ?m7 zTM`ReTaJu@3n%<_{|DnsYs2Q|&Pkt@Wp;_4@hP^8U#MkuHG2QZ63cdI1pQk{PtVd(CA3SO%_FU&|WiwN6OJlVLLG{DA+dXRBa*SlGFAiT9-_qx;HAC3g19@xH>wVr5<9%OokWURj5$MQl!}$}IQ_VTvC5 zbXkxQCy0pwb$kuT+jU;3{n~^Bd!g*5hxk*mz5-dWMJH9F+<;XKj%VOmg=ZUcxC0v! z5l3fQIEm=TEshtEt5Z8-vzVBygs*_q;J}yA3`734g$a1Ho|$hnsaI*PDFw@KT^o=s zC^Gm(*)mZ%A+@uc~j(6r@-gET|HqR43&}!jh~94BqL_X(@p`3b8b+=Cc^{Sw+;iLpt#t= zbUxQU4v0(^eMLk?VJ1v|_`$hs#Ho(7d3&o?OSe7NT4-9$WO$4j=r{qsnSz*x>f2c(T=^@e5V7QG;|T!TdxV{KZV0<09`FN zrr*;C^fX!)=*w^LX&8wWZXrXJ(4eA*=dh5QPs(NCEU%d z^dKZ3_QJ0eRMwfaS}6BbBO_U3T#f|P=1o1txf?{PXSo&ITq-PIMwI2U=o^pdX`dc% zTLLkt;TpK@rn!9lQqvvn+)hR&%7AWQ=6Fq-LCdE5JRzQpJSPlS*0H7}l#DV1r<0Wn z2BYus&PzZ^TSZ8edQ(sPHTMtaq(@RKtJ%Tx`6o%w-H0|Vb)8|Zto{#~j#hXhDC>ig)F$)ZFI;ORhM!cAh|vwYOVn)Os- zG}*Ud3$%00%|pJb#}^eMJy7nqAhN%1+kr4VF(2Ni?yDv;JCQr2nU!^Vo#@Uobg7<{ zfjO1i=>0*R%N|S9W_P76@LpgGwy?}%El}Y`W#Mj^>H3U$nXzM8tr2i_8DC`O(CRr{ zKZTazU!x#y4v>>qSbE5dd*m@mIBE*j$Pv5{bKK$FR{N2zf&2ilP=Eh>`oA6k0s<{8Ag$I&Z4GgF|L5kf8etn6Y+j3rJJEVORSG&kN}nuF zAJx!qS6IH4uxa#?T|OFJ{_sxXC>k@?Td~yu29tzvh*eO1L-p(?f zvvr~3s7L_+waATHk;|K&iOetYX=My^cC~{BKrHS|mI({1-8|Y2=h?Quryb0O-;wS*bph?l)W8X% zDG_p{vtg{QI_ZoA;+)2hO%6x-#8_CiSt9#s5Rs40Y5aVLV%q`9<*m|R+cO~J2Eu1) z5l-aFl8+$5-k$GJX3Nsp#!-9^63ItE)*g2#?8fsgrrN!x+(sciEbg|K{^wD2Xu+>O z*Lvqa=cyxcp(7Emu^k(fDkavcM*qrgrO5(km6POfzV6QwuxYYwrJsHONq>$!AOH({ zI1H`%h)@&i!+cfzk~tyRr>Ti6ju8*>S)VmTGe@;VrQRFt+A2uEl2Cs63)uDtsZd4< zz=*UYxHX&HtgyDH%Si#YF9H4?90ZP)erCbp{^yg@G=nc>vR3UnUvy5w%Gt=AW7=g< zT*saX>D8-)L~2f&?SdDB<9SeP_LHn7x!Ayfe-sYLDPf>1v;`8<6UFtTr;cKWkYvte1`(rt_<6(~MXwZ@qZ|UjJe$K93P~faQWN*Z1 zIsyN@{R?)9PAKT$%i18GV?vG5`qSfv>%hWeWwHC!A{#bZFbjPvqLGv33?LIyxYM z1YOn`oJoqp4EzB5bn(+J(L(iJ|7x_UQn?k`RB+{Iv;&WB61G6so+?X(@lkAV8*Y5( z$Eujl%q~E{(Jt|t`I9NhUbN7jqf^jQL#j_*@zK_-BE7kxGWGt(#9u@gCa-0-H{^Um zS6_;nk91~N&?PeO7I2T2nFH~LSeQ3Esd%a;l_)X8mT^97s)e)CEoc!FV16P(Cnhdw zEK>J7#n34a*0Hp^mvi<9K@vJWXucIW6@& zW@4U~iY6o7Cem$}3Eh~oM_T@A@vdsZd2JaR%Ip5h$kAWYe7c8+IxE6|C$u7k52eIh z?BlyIxFe(CEHY?`Mb-4q{yM7Otpozks1@cxGp4AZsmr9e= zPj-CELyyx@HVBU7`w&uRu*FOCzJV|Gi+^d+SK*-wk2*#_E94XNBo)8m%W5qZ!(vtC ziLCf}r+7k4+%-C)IyxmKH9dp*$b*ZL_i+ZIR%zyKB#z3K!bDrvZRsgiY}?G~2rHmp2Vu$2rDW3 zrK3HIlBMe!RTgJ$fl5PT!2@k`kvONyjVgUQY}+41BWZi;A&e495cFZTxeR*IXh{3> z27%7x4m4vbpkSHhxo3Dxvbf|b5SU&bMU~_3Wgze zQ*Y@_-6(%K-!SCiF12&#G?s_R@W){1K#&`W)sI{(9`|@pJko?9KePtngkhRBub+t$ExeW4|1FyFd_jyOb zh%r14_IZ_CWB6;v9mPqbF1rjh@7N_LFPDsKz^-NSmX#~dWE~+eNIsUN_7Yu8E+gtD zR6*7^7wKlF|G1J03IoTLM`>_xw=gH5XJs`bS8t7s2#GztC!S5h)nrOI5@rGA_4gNh zo2T$`YYYs76?$%x2$v?L?S)Mr-?Y`hBI?Ec?EfesTS%g}DW7?XV*Z{+_b^*Yb)Ghs zWASm0Y}@>+S5y!Cf7MhD)Uxti^jLAdP`ZTYmeJ7QJ5 z@k%sia3YtWyVxDrb$|L}__$F3`%f92Fp9yxyw?}L#?py*>^V(jT+4VCOBxLGt2Km6 zcWmiP{d5D)>y64+{=%ZXu_ST)UwZljW7LlOv?9ie^A1K1C;M&5cHfprlKd*zV_Ymp zGGulqz(J%x_Q-zR``Q#dOfh|m{YAluMR~KNXIHWEBO-Gr7%eKRPQjgcuxRx`YFP}K zdR#YA#?he-F8k|vbUgYhwz}G-1~_UY6yL#ISn@4l;(l!ba_BqzIgdADJp9>_{^nh> zHCd+KoYLkclTiNaTlxx;47p#azcyKWQemnJptbNj?RgpInbXC%u*O|30 zQM-e#I-^c@m35T$sM)G`oG|*H%x`qw^p1IesUFDbI`VR75h9|*FQBTb;7>6MC2S2b zaTz58!0nLWDS;C0_^5)6QKV1Pn^u7{=MK2gTjiZtm8jN?Q3e+ghPsMh2zuRUrLkWf zY$AH}C}Q+(iBP#4y=EH&$xE_wMRaI7mLiURI*aKsS>PNXR^I>!_Y9unK?CbJ4kd&d z>6Ja5CqAd6rGuDC-%2OK>t2f&PcF)Dee|W;D-BF_m+JC6KYIVBN+scj-f%rfMrsPE z-eOFwG#B&|Xl+xmbX@u@@b!zI)cw)@4L*aXw_qNhEN@Y+rcxih39FeJuM)-sQ(E_| zS8T<3J^e9B^-;XG(xDo1)#%pfg<7n@0C|uS-b$@_f8`!ScXDPmkE?ac4_tq{{4?8VX!xPA3eN%k5*_~Wm~!1$ zpW}}}ED$o>8V)$ucSWBbqANW3z4+2oCXWnG_5~BaUA+97mM229r0yeuN@FlRS13!K zvvKD?PO3Yb&B;T|0o~~*3t8ZU1$kAz1nJX$y-tyB_7{J;!Idq-9hWy5D?+R6D5c?( z)DvW`Om9Ae(OZ3}Jbe_n4OcGd<-tEkDy|G>R(x>rPU{Sz8PZ!mo&9)JPkbc6zeMGu ze54-st=_ulw)BiOd)P(byY>$|8VgrW7F%M0X|1v0yP{sZ!>)8A7wQMHAy91|nWMM< z*m1ZryL#~YePbtqTGKwsH^pe8pR(|FzmCsL_1kwRwI!C#trb8K={1ce$GV=XcT9|o z-EB{IZSKUeB;){{z4=7{_L4@Iz$NDAn;?^-w;wj=Pz&u&$|CB>dB zAcb*xjH)nKFx&Kr#2dkF_UuA`6dWSv@p<=4>bS_wu8gj$CxM&%u0_8q7u?ZRql%%~ zNK~vNvWT3VwWPYrp%1Fvj$*rx#pq+N#}@~ zW3IgGaJoM84F{sII}?TiIdw$$+Rth|sO_$v59+C05QBb9M8RqbHgm$lr+>Xxg=1AzNeuy}pIqFU*a>|!d+2_X(s3~!-d|1?0 z6JE!3vYLStEDCeo)o4yh313(iLL%I~mZiB`wQcME>E_H|cXZ2W41dtMxo@B0${cTE zaN<`#Vlt#rpV^7`h&IL0+o~6SGW1}i}^Y!|B zW!y1bhNM#^v+LL5)!qV|3+&h#2MdViQecP57yM^K23q!h8GhiV6124pPrSzcGyd@2 zAI=GHy+{^<&!SpGo$GCSzpIr4Z$~*&Z6A!aR zhr`4xr6ywvE0FA6v?(%vQ`E7wNIyAm>10-*?GW;v*0hqr@?EfA65nM1=S^Z%lQyx+ z-FFOb%Mq@^X{%?CH)X*OLMOQKrEhx^H;z^oOEoJW(k>Dm_(;n4?ZM{Y@N=W@wyZbx zGr2uu-`m9P(HYA$eD^hmcLnQRh6T;7KZ7QGpkOqD^##PgBVu{zfNt21m)tXTLXXbu zl@Lr}Eot?9ble9xa%kU4kRTHU8V;SYW;t+wzKesm4e)!X^%c`$0;;L1i;A4JDt-#v z$m4-M=NMMt<2#9#^yHV_#D~fvnRPO*;`GCwo)a}3Inu8K3qsx{ zYs!9Z-1)qN_9%o5|tPxVWFT{N2%df3`U z4Au!eSK_#D1TNVHVsbRCMlTrX2sdxdl}?>uqp%0<@&MKtmN(FdpRja=KnORl$CYTQ zsfWj4N#Yn8xCla7_ib9gx9z%A7y9{r<29yvLl4wSaFA1w6MVv=<)Uj7&Wk?^b}!-J z{8H<8EvG!{MGQIS_Ke4LP(tb~$PtUk37qz&kno(-do)Ooj!*}GI8g}iH3bPS61KeC zX?(c0wj&;!jJbUo7cJ&n9g$iz;rpDBH>c&8nDr7`k0tHN&i~B9s+5-S z2G)%ls&Zl{=}Ja}5jOcv<^tg}V{KLt5ALh_C8YZUn=%V%FeyBf){EOqM-q$voA8-vF~YmM?u4A_Wusq$AG8F4=@FsA783y%0< z760mbpJNgUVx#~+IeY%F<9~vkSx3*EeTwPPGnrCkrW;_cA$3yR>E@|VdgB<|OlBr$e_YVf9$~CxDeMOSF zoqZkV#PPcZpPB#bBNhv!}43dM)Kb|j@`TK+IZy$djx05o78Po7HqaiyE!wCl3a@x54^W4Hs z6zrW7iw80kE_le2Mkyj!(S(I|QqS`KR_dn_89YkUb%@9Z4FS{eGw}M z(&+1}rMn`QL{Z5Keh_>g&+FY?%ZMm3XBsd;E^DJA8Bpi?_3i~6T@MM;J^G}Iq=Rf0 zj4!U3+cm}CZ~=VP&}p}LGlqedQudHzQ)k#`Xn@gf!`(X@?n|Ogo&XE;xN4*@75~{; z%H7ngY2&C53SH}(G!mi3+NDdTcEp+rX1V;CR@_r%Lm=dsI&&H9iDYhCB&>BxJD)O7 zWVBa7-E1Klrd?ET+Kob{cY}VxyIS?@%33D$;6TfFG) zek3xH^aP0qV_;99ZT0uR<%_TjM|A+wmGdgDx9kp-Y+7Bds1sTusm$jdqgNr-?6&yb zH1XZeUZoY}h>3z`F!4uyqK@}(h`pZ3ZWTlbk8up1KVFF98y^N|o*{jJ&p*rOoPL8t^fT?H{?B$Po`T7I7@^+lmr4#_r@2<$B%n+- zWS;d39BJ<2IBo6ix;v zF{pe9j{M+5s zaNzJdhme|efN#N5G)Z{@BpY6Q+5u^}KfdG>Oh{2J)1`cpOf_B09lyrx$CMt}aV$u( zZ;>mUq3JQ;!ZvA*xS%p#7<_V;3)L@)(#4{y(&@qt-l~aj+_)s_=dec0mYSgxi;K@Z z$A*J>c_ZjVhDDDSw_1qf&}Qx^k-Yca+mp4ftnr|NrzvAJZu`X`19i|Aq<|VT)Zn5` z@V-qa-H`{5cGw@q1AF0KFn3Skc9(cYKaZXIGl&1)Sa#v2LC(`|i1Vk`tJ=zG%zb0{ zf?@j<@1(t%yR2Z7OUvBH0hh~C$M^Z=0Fhh%=we%ZPbK7WB?Q0gdrt^t0r8u?W8_;3 zJ4BT(Y)Hu(ig>1EDqX*L&*S?yjC!dQO~s!up#@_^%F|~|&8mSIN(M`wUgz!fOPq*_ z#4=h7646~{rQZmLraV(kgJejIw^FWqWe!`$1czzVbxc{yIUCmpDN?LE`^L@RO8H$_ z??fKgK62-}PmSRO9kPLkQ?3tgYZFbB4DluM=eEI)@xCGc*HREE%k8M^-|j5O$Fjdi z3D+Mwal;UVI`;so9q(VcM&XqW)Pze$!NaO|n1;!X!gyzuzJ5a?8|pK+JsS6Gc=Y(c zM>ES@Yf|5VC(Ea|=0*%;1o&SSE1WgBBv(e_C%R^i-v&CS8SDoQZpBursjqUx1TC^- zv1Xh+%FoPK2UjL;f1T7Bc4s0j7idLsm)(P>JwhS!^`-Or3MC_Tp%(Nir#nHp`g%-? zPxTb)lGq7*A$Uzy7%4PAl6FFEj9q7V8O5(~@a@Z&OQ0cu%iNF1ra7i9Y?s+EXkgHi zFp$Kk5mMMY*r@+jFSye44I-2rv~d{&b_ii>7eShsrT8;j8(trMk0I;$kdL24?&H@Y z$%?gawcs)-|5scH=~VUJ<7bkhFG^}>Wl*%eo1@iQa+*NN5iuB z=lME-Z&@=?SpQj#1zbz0lwOntg?7}oI=0CrgUiX((#v3Q-JA|CdCxhLR~%FVeER2)RmR~wsk!c{8(ZcNtZF;c%H>yl27_;pM3 zq4CFCZef){9*suzMjl)NB)eEFmc2)%9LA(5MDl!jwKcn5k9tKglCQNSP*Y{?W{{)) zK2s33=WN>YBD{fBJ2dp2C}}+cmWV3iMZcR#UN~T(+cnLN4uz5Z_VAIN5HpA69pTqz zX6w3(0~=)*30IHnECyq)&24%#vZl;)cy{_*_BjGoP*gp5M`!SruAO=k&G=>CzO|5} zCG;%%vsx3Qgrr3LP7&_Z?B`lP4oParuQWkZz|kGtC(z3F#BkcNI)*N|_4rhJ+wJh_ zVtEF&yxD5*z{EFq`BM)&Un!y#Uca;c*_~ElA!lHvXHh8AyT~7T+$N-(m7vJ}x63{f z#udY1h2?xTLPfSSyTW1GJ*a3&0fnq8Ow6sluHN`(#%IR+$dc_!B#*p3g|i;Gzryp~ z)P8al^`-g{te4CrJtCbl$#h6VOsBo^gS6&)jaHC}?Y>^yyyGf$W#Fd#@I*8o^__AaF*gnz>rFJKLZB zqbhCV9)^dMU|7IkHKIrnf_k|RlN^V-g)Lav_+gN@$H8Zc6Dt|hAcDZtGQ46PCXCpe z$``%MmNPxN>Z*dO+^=7i-K(M&U451`+pn10Oi{c`>=~v)r;HlLiIMpdr&0Z%@762)7E$4cDfqXHTgO=r} z%VJg4i%kvn0E!}9l`<#wZVORqW!eW8{jnuBnKXT{4c!AIRN$j1H$$ASLRxe?1;S{Qd znBB;1Nw0k2l-yMu1vP)K^1&6ZfTr1s7b^ zgSvwRp8V-*Z@~)NCTE-nS2dC#Y;}Au>nxS5SfYN0;=twT zSnximo@K;Uh?M%`MRn*@Hp$N=h3yC^BMBKZ3_7bH4oRShlCgSka3FF5MKS0}%o-!q z5FNUde5KCRVo>?3D!_AMEknk{gnHC^$7H^fK-#BktAT{n5jSrmarC}SV@0|Jm9!^L z0ficUW>oP9@4h+*OfhOxZV)FsW<}7&ORAEN;K=xoW1189&QI4I3`6d)#VQ9~4HxFh zbQ&`ZU&5=4<5y$cxmaG%2L@)cYIVOIT(R$D3kG+F#4_tSQOt`vGcE`a^^dPD#=q96 z6}6Q+<+1$Yg};7{Y>ef-#Wmgz-TbWq|0rX+nz)A&k*FrkPHMSVBPzG;T)^u3kUgDZ znukG+ljzEFTOyM+G0m0;mB@R@ym00*_ISHlTdl@{>rfe&U2D^GEOoZQs*_(W9wVys zOi-sMh3?Sday>EaG4$?y%so2ulA-!!{y=#1C`lCm%9vM{L8tpJ7VM=(bs(UcBf0)y zXUexFAKeNymDJWgL4K(3VN>YyYdyM^2kqgr*KV!!4NI9z9sb5JL+}3gI5o#~?c@O0 zw#2Q7q2DHgqQ?3+r&un=%1DRmq6r*yIxtxA`Ulb`>$eel^Q7HlCb+siOz9?~5^o|p z2dQp(griP7?`SnxNvX;@?=Dx#4u6P;DVX1t7@?M%Rzh08AN7v5e}O6}`;GvrP$;$Z zSXF<{pEA6qCmEvZ0SH-=Pa9DS8@FvD_9oMn%Og6#4f>5EeIMu%0=iCBZ+@c~{?yraKnm}yx%RNUwG~vUDrg^# z(p$u`lR*$g*-ZW#@D+tg{Lv6~Pq|-s`5E;UCd(h4j^(ec)l;x>IgU?bN2o7ZRT)Tc zW9Mrr?Fy#96=Sg;@t>SYY{3-%<sB1F0|bmZ=O)e4PX)A)p7MYvUNS zvW~C6n0UM6%1?s4J@ujqy5va1MU!S-TnVIBPY>i;zJ|p_B0Id4UJAFgK%sVn6*}4S z3MAv=C19=DUaZ+imojNi8Lf^+kL~oTWlGYIjbEZ4%^r{PXQu%-Sv` zqb#+U!IcV=YQ`7;tuHJksT<~ez$118d7#OBlQR+tn8`#>=y6V{U&D8+M}U1DyWI zyxzb%eVPGr{H%rFakz8(Ma|kt+>JS@;ydu$-zdb!mzen)qZOb&9Lcz>->lR|j-trn zn^e9k-)si@nq(CP2-h$cLZFi63XFcFT@anso28WLJ7nZ%JdpX2^ zQCJv}aj2WWnRTFbATua;fZ=$KbiVQ{xuP?XpO*HRL_l48g@(VXY`F3 zwN!4KLv#pEu$ehM1%YrpFNk>c7fNE_g zB1Vp8)eQ5>hZ^FnS{V8ZbN=}b)5=bOvm_BKPrd|zbxOB_$QN&AKvOf0(ln!_7;CWx*n z85GCv{5=9_llgFL(md9YTi8laY;{n_Rkw%!(`QLY-E`xI75rgJs_Xl`?2lBi{w4oa2nG#UQWEIQ6jKwA&-7U0?>&oqy)b6 zb*``>%s)e&EqN{3>eDCh8Ru)t0>&yDK z!DHN^YuuUvv&?Xn@?jy6GO6uh>L%UjNT0Hq7To!Eq)31_KLO}1S>?U_U4m{(hXj0Xm5T7ushs_W&mIyaIne>mH3dp#`9e z!^jB+SiWyQ%nA~X+RuzGw5wr+^~LSEZiGDOQ0IZD1%;zgWIoLAUv)P8j{TwB@A#SP z4-V@kG*pH+c**^W!biU;Q*=Ak=QXXJ?l0Tr(gIwfk)#qVJ)2JNC=| zX^IAi>&WeSN?4M>a_){+C(xN6xDVGJD_d+t;SF$hBVU2{jTa-aYdeL>HpGAyOln7A zlF%N|8IL02-yDtXcV66R>}s^{>>J#W{CF!V^m_KMy5tqIcHZ}cIDL+aa^{F2&U^r~ z2l|$o`t6&cz{2Xhm3=oG!W_vG*<1PlpzgFk0w)`$07hj*-{N;7jRuR(%bqh$j>UD7 z@x`wkevD~RX~Azdwi^X=>h&I18S^lvJmb}lU{lx1lj$QqrAVdH9~G|m*~<^|njf+@ z1rV0+{5()Wr zv|1{5v?ztszhbu!;)ZQCxBzu+03#MOz8k~<;sbQf1pM*mE@f6j3LrUEsfN@9m6;}0aVL@J2$tDGKip;9^0NXRX^3n=E_k^?`-9Uqx!^HHLBsT6eG$bgCYgE!t%hlB(uqKIAM_ep#E?&jaQ0zoFW{ z2Oy3TK)+9CQ*h0@f8P9axfz*{MLM^GK!28mEFH*_|5lUdz30kz?a#wl6-4k>^ zB=)-L*U<-vZ=Wem1 zh$w^{2+!P`$5Wa%Sv55i)s%fW;mkHm#rkjs*Mv7W+bst0$K818(|=0!1XEsk!+jpE zbL*L`ww5+$8i6HYmJ;D~F5nd#q%xO{`M-(rYGJz`iY#2Etey+$Yq}r$Wg>Bc3_o!oeJwiWu6%1ba{ee(D*?{EV~x%TC&vp&6f@>N?(s zUvFTWn0+t9_=-&8;^M9cZM^(}{@$G6%FZ(=6plH5W;7@~W-jO~eM{4|p#lYpLyl}p z_y7@Z>ddaxHT~ekbsSNtS`9d{*3@X9pn`%AY4WTN0G1>2xt$--6*O{)2rZ<*AcuVZ zf0hHxz?1~gX^mbfdt~3&5}A}@B$GQp)6wS3ISYJY0Mh}`<#KPfuk^J%-J6{AxmKO< zzBXGK>rpk`0f~q5f9WT_YZiH4jjbbsR>KN9$kYt0-AZStZzQY1V_G{>rQx&dB%LZ8 z92`L7?yXe@;JC%rz<;*SzgI5|V9Kt0KiMPtzLv^_h>^gFl!oOpIK5;c+kI|)Mg}zM z!$|OHdm?GMIuLEYIg1=Bgy~}}*1NXVBH+b*6%(U{rTyOd29^pQDDuV3q&EU^D%;)o zJW#z+cMjE`2hFyp(GqB6-gi#7EfqL&rMzmpTRf^U>Q@Hl<4+M@FpiK*{I5F<@L7Jw zniIttVnYkYiU1hZuy&l*d#kNJZV52)51_z?H5FP0lGD4gLdOfG^`WIOXMvk=J9!lS zHJJWhp3$7Hm>3TLk3$eWZm0lwX&}H27M{y|^{J)rB~z^H#^roUM2utV`;neVBG%*+ zN3V9W-4+e0$_yyH8*4mBo47v(c;Qz7 z^M>F`1Bsnd8Gt`BKJhoOynlA66kw9pxK&iJWuKta0B(M@Ne|Zhqo+rk`*7yq=cbwz zar|-RT?zePsHnCtcJdKcs(wBr)VG&l316ai#cA4f$0gziC+BADzZgO~R(93YW4{hLg+81F} z?P&roM$qx_rVYP%%L2T7XjH!_|F+HNh5k{9L2=+-(;`SjHG~goO1wz};Q2!aLgA-y z{-b6rXFDU}3uG_Q+m*9njN>S8o;BC|H>h{ts+SHaYchsC#!$f121?n zpdDx^Znr%`J{ZXs5if{EEj^;YS@T1o1%Q5pcKwX?rpvhD-HFP7&H>QSyGac6^qr#+iP|Foz+%Rv(pObh zoc;-@nOXTDh4YU|v~x-UA)>|Qlw@y!kH3gBrenm_Z>gSvw~UOAo|arhK=aR%mXAd? z7X&Q2KDZ&ZHp{Ie!Y%GsT)33aUiq5L_U6<`tHJiig@W(EB)jwG0KoyIi@25q6Voq- zQld#{H)(Gdkd-P{!hhl{i_m9TjV*p_MSvoOZ7MEUUsT%2%l*Q3kswoB3SCo_ps?Ow z=%yYA?0h0;u-~o=k+XI+OF!pA$M5+SR&^-Mr|qardLS>Fh)>v6M>GD{5yd|{A}Z<| z;ABWSq9~U3I!HMgDESeAf8L+{MI>4OUAyC_Oe%$7i)?^p_@7_?%aZkH!`n6k{OgXH zv-I4*Wkdfl@Mmqu1h^Q2{;gN}-#+=b({UpMOu=nMCYJiI+N=NP`=4Do;38oDf5-QI z9^aQ+CYj+sHvXUWA^=}+i1PnT>7T!6reK%?pGtAS7lwRfL-0+1M@B~WVwdvMe?qta zjqN7ni;Tx)dgLu=5fj|YIwzdwO_eXTqE`srY9KFps5 z8*U`?;mP}=n$aP0lfj?H)9%M zy_H3;UCk{e&v3QpS>Mt|u@)woh|dcsXjlYv;D>fn#EEok_4vB7J)2C>;@)E1n~6q6 zyC{)hX!ZL~_Ipv8@6-5T`ALN2sj&WijwMdyU}v|WMJuhgzL@puh$Vo}neGr{Tb?XS zHtx$b&hOv*6(s+CKtz|%cdma!xF6n}$ok6%oyU*I5Idaq0Lz&CHvSkW_hPJe#!E#uMY;6^ZC_`5M&)T}b^an!mms z|D8wydxzo#%>N|zx9C{XeB@1 + + 4.0.0 + + org.web3j.sample + sample-project-maven + 1.0.0-SNAPSHOT + + + 3.6.0 + 1.2.3 + 0.3.7 + 4.12 + 1.6.0 + 1.8 + 1.8 + + + + + org.web3j + core + ${web3j.version} + + + ch.qos.logback + logback-classic + ${logback-classic.version} + runtime + + + junit + junit + ${junit.version} + + + + + + + org.web3j + web3j-maven-plugin + ${web3j-maven-plugin.version} + + + src/main/solidity + + *.sol + + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec-maven-plugin} + + org.web3j.sample.Application + + + + + + \ No newline at end of file diff --git a/src/main/java/org/web3j/sample/Application.java b/src/main/java/org/web3j/sample/Application.java new file mode 100644 index 0000000..5abb0f6 --- /dev/null +++ b/src/main/java/org/web3j/sample/Application.java @@ -0,0 +1,113 @@ +package org.web3j.sample; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.web3j.crypto.Credentials; +import org.web3j.crypto.WalletUtils; +import org.web3j.model.Greeter; +import org.web3j.protocol.Web3j; +import org.web3j.protocol.core.methods.response.TransactionReceipt; +import org.web3j.protocol.http.HttpService; +import org.web3j.tx.Transfer; +import org.web3j.tx.gas.ContractGasProvider; +import org.web3j.tx.gas.DefaultGasProvider; +import org.web3j.utils.Convert; +import org.web3j.utils.Numeric; + +import java.math.BigDecimal; + +/** + * A simple web3j application that demonstrates a number of core features of web3j: + * + *
    + *
  1. Connecting to a node on the Ethereum network
  2. + *
  3. Loading an Ethereum wallet file
  4. + *
  5. Sending Ether from one address to another
  6. + *
  7. Deploying a smart contract to the network
  8. + *
  9. Reading a value from the deployed smart contract
  10. + *
  11. Updating a value in the deployed smart contract
  12. + *
  13. Viewing an event logged by the smart contract
  14. + *
+ * + *

To run this demo, you will need to provide: + * + *

    + *
  1. Ethereum client (or node) endpoint. The simplest thing to do is + * request a free access token from Infura
  2. + *
  3. A wallet file. This can be generated using the web3j + * command line tools
  4. + *
  5. Some Ether. This can be requested from the + * Rinkeby Faucet
  6. + *
+ * + *

For further background information, refer to the project README. + */ +public class Application { + + private static final Logger log = LoggerFactory.getLogger(Application.class); + + public static void main(String[] args) throws Exception { + new Application().run(); + } + + private void run() throws Exception { + + // We start by creating a new web3j instance to connect to remote nodes on the network. + // Note: if using web3j Android, use Web3jFactory.build(... + Web3j web3j = Web3j.build(new HttpService( + "https://rinkeby.infura.io/")); // FIXME: Enter your Infura token here; + log.info("Connected to Ethereum client version: " + + web3j.web3ClientVersion().send().getWeb3ClientVersion()); + + // We then need to load our Ethereum wallet file + // FIXME: Generate a new wallet file using the web3j command line tools https://docs.web3j.io/command_line.html + Credentials credentials = + WalletUtils.loadCredentials( + "", + "/path/to/"); + log.info("Credentials loaded"); + + // FIXME: Request some Ether for the Rinkeby test network at https://www.rinkeby.io/#faucet + log.info("Sending 1 Wei (" + + Convert.fromWei("1", Convert.Unit.ETHER).toPlainString() + " Ether)"); + TransactionReceipt transferReceipt = Transfer.sendFunds( + web3j, credentials, + "0x19e03255f667bdfd50a32722df860b1eeaf4d635", // you can put any address here + BigDecimal.ONE, Convert.Unit.WEI) // 1 wei = 10^-18 Ether + .send(); + log.info("Transaction complete, view it at https://rinkeby.etherscan.io/tx/" + + transferReceipt.getTransactionHash()); + + // Now lets deploy a smart contract + log.info("Deploying smart contract"); + ContractGasProvider contractGasProvider = new DefaultGasProvider(); + Greeter contract = Greeter.deploy( + web3j, + credentials, + contractGasProvider, + "test" + ).send(); + + String contractAddress = contract.getContractAddress(); + log.info("Smart contract deployed to address " + contractAddress); + log.info("View contract at https://rinkeby.etherscan.io/address/" + contractAddress); + + log.info("Value stored in remote smart contract: " + contract.greet().send()); + + // Lets modify the value in our smart contract + TransactionReceipt transactionReceipt = contract.newGreeting("Well hello again").send(); + + log.info("New value stored in remote smart contract: " + contract.greet().send()); + + // Events enable us to log specific events happening during the execution of our smart + // contract to the blockchain. Index events cannot be logged in their entirety. + // For Strings and arrays, the hash of values is provided, not the original value. + // For further information, refer to https://docs.web3j.io/filters.html#filters-and-events + for (Greeter.ModifiedEventResponse event : contract.getModifiedEvents(transactionReceipt)) { + log.info("Modify event fired, previous value: " + event.oldGreeting + + ", new value: " + event.newGreeting); + log.info("Indexed event previous value: " + Numeric.toHexString(event.oldGreetingIdx) + + ", new value: " + Numeric.toHexString(event.newGreetingIdx)); + } + } +} diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml new file mode 100644 index 0000000..82f5336 --- /dev/null +++ b/src/main/resources/logback.xml @@ -0,0 +1,16 @@ + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + + + \ No newline at end of file diff --git a/src/main/solidity/Greeter.sol b/src/main/solidity/Greeter.sol new file mode 100644 index 0000000..d6b5a13 --- /dev/null +++ b/src/main/solidity/Greeter.sol @@ -0,0 +1,40 @@ +pragma solidity ^0.4.24; + +// Modified Greeter contract. Based on example at https://www.ethereum.org/greeter. + +contract Mortal { + /* Define variable owner of the type address*/ + address owner; + + /* this function is executed at initialization and sets the owner of the contract */ + constructor () public { owner = msg.sender; } + + /* Function to recover the funds on the contract */ + function kill() public { if (msg.sender == owner) selfdestruct(owner); } +} + +contract Greeter is Mortal { + /* define variable greeting of the type string */ + string greeting; + + /* this runs when the contract is executed */ + constructor (string _greeting) public { + greeting = _greeting; + } + + function newGreeting(string _greeting) public { + emit Modified(greeting, _greeting, greeting, _greeting); + greeting = _greeting; + } + + /* main function */ + function greet() public constant returns (string) { + return greeting; + } + + /* we include indexed events to demonstrate the difference that can be + captured versus non-indexed */ + event Modified( + string indexed oldGreetingIdx, string indexed newGreetingIdx, + string oldGreeting, string newGreeting); +} diff --git a/src/main/test/java/org/web3j/sample/GreeterContractIT.java b/src/main/test/java/org/web3j/sample/GreeterContractIT.java new file mode 100644 index 0000000..31c6307 --- /dev/null +++ b/src/main/test/java/org/web3j/sample/GreeterContractIT.java @@ -0,0 +1,14 @@ +package org.web3j.sample; + +import org.junit.Test; + +/** + * Integration test to run our main application. + */ +public class GreeterContractIT { + + @Test + public void testGreeterContract() throws Exception { + Application.main(new String[]{ }); + } +} From 0b8eeb5f597e24927e8200a4af0fa14215093d40 Mon Sep 17 00:00:00 2001 From: Cloud User Date: Fri, 31 Jan 2020 18:04:41 +0000 Subject: [PATCH 2/2] done: git commit -m done: --- file1 | 1 + pom.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/file1 b/file1 index 9daeafb..3ce5b46 100644 --- a/file1 +++ b/file1 @@ -1 +1,2 @@ test +done diff --git a/pom.xml b/pom.xml index b2a50c6..64b0c01 100644 --- a/pom.xml +++ b/pom.xml @@ -63,4 +63,4 @@ - \ No newline at end of file +