From 1525148f169a755ab6cd9c208d868ef7a9b4607e Mon Sep 17 00:00:00 2001 From: jonastheis <mail@jonastheis.de> Date: Mon, 6 Apr 2020 10:12:26 +0200 Subject: [PATCH] Add readme --- images/integration-testing-setup.png | Bin 0 -> 52960 bytes tools/integration-tests/README.md | 50 +++++++++++++++++++++++++-- tools/integration-tests/runTests.sh | 2 +- 3 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 images/integration-testing-setup.png diff --git a/images/integration-testing-setup.png b/images/integration-testing-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..8d59e14b6a61cad794f499b25258c179cd057519 GIT binary patch literal 52960 zcmeAS@N?(olHy`uVBq!ia0y~yV4lXnz}U;d#=yXk)%uQ~fq_4%#5JNMw<0YwCzV0f z*crl7H8RM^FD_9vc2PAlN-QYQOUX=3FG|cU*2_yRQ8hABH8RM}PsvQnOih8PF)}bR z&^0j8H82e^uv9g6G&EB+b~G^7GchrYf~ZeSPtAiGXsTzRYGk0{o0y!LSCU_xp=#`; zYGmM<SCX2eYGmM>n5=4K;2*4NWDuchWMF6zZ)h5Ctf^{b;8;+QlNz3y<egcfYUE~W zY_4Z)1~SOoBgEH7)yP@Z$RH;(J5|-lz&$lNJ0GOQIin~)H&xZh&B8#>K+o9H!d%bL z#8TDBAUH8Cu_zPC7?7V*OA^x|{t0vqbdJx{b#^taFvtt_Pbw{Rset&SEVZaOGd~Za z%+N^BQqLSBQBqlu3K31u&ri=u1&JEFsv0{(!%o%6AQKu|`Jn-2nOPxaZXRBle!0d0 zsqVpkAmv5|d5O7DLjn@hQ*{kNqQ<V~VTLKmrln?XWd??6xfLEJ#bqYG;kk(hRb?T0 z#W}uJra9)RITn=_zUf9jNl_M#&ME$Bszz=`VSz55X^t6X5$-ODeg^re&aRH$206tc ziMeLRC7EeC8D(h}Sr$c!MLw2+c_zt0j;cm(d8V1h*#^FjMgbvFWvWJQ71<>zg_R+m z-f3>`;cmv|erXwAL7A>01wLg?UJ>4fk)clcx#dYw$^PD{NiI>@c?BV!WtpWJKBXyz z&KafQMM*^lIiZ1tszy##MTUVsX@+Gc&Z$L3eu0Jsd3mN@6`sXmszz=;-bP+IIYE|* zsYT9}sa|fTrU7{d1#Vv1X<n*EPKh3wexBJzhDBuorp|$ursl;tszy$g7OF;0CW%=l z#Yvf_ZV{=8*;#o3<>{(MZkd^BxkX8pmYMFA!G6VtmZ|yWszz?AMs5Yh$zX<)s*w}O zcOjOlMs5Kfszz>AWgxyqaamSnNUo2exo4<(a+JH5Nn~(wc}j6!Ns&jkyQyV<o^OV; zVOeEHgio$zroV|%T3!LjJ|{y}Bd74dP>^GjiVRK5s`8yHeFMC!$_!k+RgIj=U3?5o z+)7HSO4H4ABeTj3^0G5b%q$E+KKJu=53qC&3@WV(%*ZwIOse$uGV`=>2`#J)NUBIN z$S%)FGzrQ}vb69@FAaA!_YBJ`H!>{GF*9^B2u~@hbTlz?@$z=Is3@o~^ayt=F|INT z@pjCP^a?SJ@GdNOF;+ElN(o3Y%P9A>EbvbZ$Tu<f&vmW}^GPnT%reicP&INg0|kn= zbCs%*Q;wyvyPJWTOF*i7Nlt{BS6WskC{-j!Ci?puxP*D-=cI%OMOCGT`(;NZ7ga?$ z7JEnJ`IJ|gy9ebImU~rHMdjw3d1gBmSCt#&CHcE21!iUDxw>Z-hPk=qr{^2{dnF}R z6edSRT9%k+mqY}WCK+b>7iNX}Bqb(Cq!*<`7Nr{+hkIvus~Wk5d;5olnPmhA78L}9 z_?m^eg+vB889L=S24)ob1Xs8?Mr4|VR^(M!M1^~%WMo%`h57r18RunGBo&0123KSk zC6@T7yBNC{1bVo;rv~TeJDa&BrsevUx;vX@1-QC<yIES~SQMJNl?4R)r#hu2sv0@D zcmz77R-_qbCK;GHn-_T+reqnXhZq=Tq$i~nIr@UsxH*|S`dK;#n)sD@r#e;zM){eP zM@G3O2U=tr=Xm6}mAOY{1^XE#Mg<p}d3lwV1vq6z<P{{D<~pUCR{8l^2A8TDxs|3` zWCw?txVf8Gqy!e1TKKs6xD|T)g3?NrrJ1UcTVzU_iH|`^in*$hlb4xUsCkO2ky}}? zac-%XcR;yURiVFEhO<XSerBj?c#*qPNQJ9cS#Xev4=7_8Wn~&?8agH?7CV)BdnIN> z<rF&Q=0rGF7>9;cc@~=#rsq@?RQe`Xg=PnY7x{SwTIL6N2Uev7nfe%n7v>t8W+Y`< zx`Y*n`{$XaB^M-?6j@jp6=#)s23dM%BpX{=CcEV3dX=R_nYtvF1*MuB7X~=xrMUVT zI+?rWh9s9%W+mp8_@^f(hUI6Jr3X8!8abtxN2Zq*8YgC16nK{URTc(hdmEW%q?A^q zM5-D&`MFh?ID%|TH}cI2FSSh1H8L(J@-0j&tTc2p_Xnj>^Yok~M<-(w3p2CQ?1G|P z&v4f$RU@Zj-vZO1z^JgKu#m9uJg0C_YA-S{FZ55%O)K@bbWTl+GR{s8@u~DM56$*h zHF8P{4e@si4fZoKwhRVkOw&TcG}pA!+~BCtilp+2u*77);_|30RU;?E{J>xXPs4Ek zicD1_r~IsJCl@!fbX6lKQ(xD--~d%4Cvy|u<Sbvm0@sKTmvZCs@Q@Hkw*m{-+;Ypx z?1)NGwNn-5<&zoUW$qm0RZwK?@0OJ4993?a>+F~95uEJd8R=1$=A4~U>1q;C7VKE; zQskc-Y!n#c;qL6_TbAN$<Wg9eSCt=XlvNO7Xjm1gYUEbz84=){Wl@}1o@s7mlv9*e z6ddMknOqrUR#@&B;^dL%Qj}B_?(LuKQkLx-?30x3nr9MZR$k(o>lhxK9HnaH7VMPh zm2X*SVwCAq;OrKf@0OoanBrsNm+DjE;pUxK;t9$IWl4dCo?eb_xrqi9Vd;j!nPnE9 zIeA{7@+zgO(!|%_I5frBBeAe5wb(H$(MZ+E2~<_2`(&n8`juoArIZ9DSLT<P1eTcl zXJkhe`4|Qzl^2>9Ip-wiT832Q8kkqP2PRh}d8N2jndhh)x%pLw<$I<Z<OHM!nrC`M zf&w?n&^V<$Kf}|^+$7K|KQFK<*-zETEvu{`+n}&e)yT=sOx4IKwa_Wew8A1KI6N=K z%cLsZ#5d8bvckyE$UQ8jD8e@&+c(p=s3OlNqBz&vKh)FDBGNp##K}20yfoO{Jv7fF zyVBpyFx1V-C=8SsEPYK2-2L6d9DRJf3?jWPoQ*4!lPZFJN+SK8(_B4+L3KrLP(WsY zX+cF;aEM2_v$sWIMX7-sC}s*GB8?OMLetY7qs$A#RgK)tD_uMsjY3mG{8B4Tq8!aF zozvXi{IYyP3e1WFE6bxQT|(1S4MY4h%oCmcLmk61oeT_<(gMm<jhuW^JxV-s+|yGE zTnZ~Kos10p9kbKJBRxveoZZVkoSaI_Gm|U4JcEioBm9HQ(*x2yT}^^Y%<@aT3Y@YH z6HCqV@&XMC^RvP{-8{W5)4=Q?cQ<cu!<3ZFLQki%^o;aKA0N-K5JSHd;|jmv<Uq@k z%plYJ6jxBtd%Bo=<he!^1v-|6Sd<tRsTw(zng*Migc}+M8kOdTI_J8C`X>9AgnM}9 zMdatZr1)oLW~Ehz`i2B%B^72kg-2$21P6MjdAOv7du0{-I=bbjWTcyvxfJ_^d6s3B zS9*9vCTA2H78d%smzk&<Ia&IJgoI@{8~T<SnH45_=T)T|7MOcRhNe4*M0f{yl@*%1 z`c?Y*g!@$n<z*O`mZdo6=Q|m?N2XdvggBWRf*NuWE{+9dppw-kEGfu2w<t2e*~iG= z)7QY;-P5JK#5Xn2(zl?psMt9u*UUN8IKVAC$w$@5DWb|9lquYbOMT2ey@CUhjSVVI zBHRNjgA6iq6DyPb%`Gg9lR~m9)10fa^Q+u4vdyxM0yDi#z0xCHygWREaubV9{X;;_ ziJX!$XY-Pr%#;WpC+DcF2osm8q{65~P|L%~)YP;f&nGfD$+A2oH>=do&)>~IB;VIF zFFQBKue35ExI8h$Cp<97CC{ZeD>BNX&?7P}z_X-O)yT=%qddvUq%_+*5LA%|Mfzpu z7ZnBuh54ID8ixAk7(`@c`v+Bqq-DGLco%sZ1ekh71!d+Gre>$4R8&M78hM3>M|v0K z=9QS37UzTprZ`6xlt+P@T;_&e>6t;<6)rx3ppq0+;(2971)3)oco*h-8o5~{=9_2u z6$hBA8aWk3S)^8FIXd}9MMec#s2aI>f|`oSCB;r|phDOw#ULXs$;aInRQqJ98oA|0 zSvrMPI;Hu9xEH!adZncLXF3-c2bjD2WJgAr2UlcgSr!x;Mi`b?1h^VGrj>-aJ7=pJ zIr$W1xR$%*`g?kLni^*%rd4>mgjJM#hDMrI8v1$!ryCljI=i|17h8rznWj4%hPzZ+ zTBI5{rTe+L8l@+?_?IMyn1!49m!yTbTT~gQxcXS8Ta+1Q_;?hC<d&A_1r!?PI6CI0 zT6jfThL#m1xmuKmR(N_w<@;A=`nVKUrFe#ihNYSW7P)&S`xyj;CRw<pgKA_)@33H> zV2@Da#Qc){RIftEVv~$SNITLz%D~OEAl)rD&DSj{C8MgS#I-8e&nea1qbkcO+#|{> zG155P&ATGl&nq=I%P%D<C)d#@EZj9Q#oy4)CCxF<)gT}^D99~1FRjA6%sja)B*4@- zG&MNX-Ng%HgL6=ENpexSp9!dHa|IQa7GCbg;h-ps2z4&>b9GG&O7|->0@X}j-eI9h zrs3h0hQ=Ar*^#A%szz=mg?WJ?g^_u|8P2(BVP<9_A%TvD0j|a_nW-j~QQ@JEdFch- zMF!bsrNvprz6MbNKIWdmUVeUoX8uN%zP_nt-sYyBK4$6Vszy#m!2zHQ;0-DXGeE8H z4CCOyq=-D%+(J-0#iOF!C*PnVKRG|C$}uY}FR#!fDbmNaJTW&<)ySzZD?JpH*NuZ6 z3k;nK(h{SxJR|d5OR}nbLn}dPtRgVVygVSN%C{gQ%FI6~G1a}aG|@N1H_Exd#XUFE z$<#8XFuf|%FVH9%RFS6#`Q%$<n+N&3`i1$V7p7N5<fplZ`({OWmSqN8MkKqrCYc0# zSB9qLl>`>2rsfA_n)#+Vry6ACmHLDm2bY#wxH`I|WR;mZ7lwQ1Sr!(j7CKgC=4VzV z7dZL*<%XmOXZuE_n+Cgw76k@m85(*x`a~v$CYe?Gm|3Kzrj&(&l74<jL}>shqKutY zjoeZo{bW^e#}AYZz#VH<W7qD2^?Mi?6c{{R978JN-pu8^(R20p@qEu|n_4v{as<}7 zaI02-o3J<M<UCdHo14?)l{cl{FW=Oiv2lywN*%#T8WS@Df5qRw{J&Cqefd4h^Jglb zRi-_wUbkBNOy#*xJKyhoUNe8Q>dWiv@7o`8VN!8GM~*@sOo=zw$M08=f1Zpfz0ps> zFXG$V+ve9IH~hzxHsk#A{(k(U7S%LeO}$*9lrkX&MikVM$aG<%$TY(@3~#JBCorI( z7O#dwMj=f#^H@9@P*BnwhSt;`Ylhwa=&oHTv|t0zRE7EKsJ19HN~k*|N<QX0@NP1y z9TOZ@uxRKwtDbo7iE4+3!ZFT(h+{jLH~dETmVg!`*XaPxPn9S>QD7A6C}a|uX84Zb zjU9?VCNOYP*DC^BHq^XaIz8p*r>9)^XXo$J3|$qnlke#g&&eqt9vpmi->U45M(nPV zLXodmSBF3Se!o7vbcxqguSsgYuQF<N=AeWnC}<zVGdXgfX5*DQ@#p8~P{nR>{b^RE zuVRjuoS2|^X>+>&*ZjTJ-={S)vs<02d2wOkrN!?2p~q*LW-rOQx~lKm@k8iA*TABo z^O6}o*c_PHICdB%|NMTx{`4~6*-s8MGJiU2e*c8+_dCk0Tp|-bJw5HcDdpt4*VndY zUr+h_>+7cc`*u4E9yZy0I-&gO$K!tQYilAOf2#d<Gu<fll*m>U@yr_=5`&icNLK!M z*v_kvB#3Eary$4f4K~HkdQ9@}M408@t8v~vui_DB<c5UCl+)9EYrmb=-|zAC)YPZV z{B|A&?{}5HR`H!>GRd+y&9eI28{W!)KcCA-&Bq9^1Bpy-EvjjP#m~>x#s+_XcUPO8 zUoPbTv)#ux<=ot~sr2==9eXT`pM`9m7N!-mV?)iCi|$32ea$_8e|wvHsD<;@Vw=iO z9_wOuUU{>0>aMc4tJ2iHr)Vgycz<cB_p8O$?{+wEN;$bG&2lCva!`}y9MuGu2)3+6 zsyZA0Y;|hoDtwgx{M=lo#L7=kJh$%odSzwstIew3(>&hZ+IscO(y#gIescoq?aSWG zsAA)6Dmy>V_SJctJ?axge^{a?Q48k-9UFY+T5Vn8JNw%%v8X12{~4U8!{cj1*?6Uv zeA=3Q-S1exy!>~c?Rj@oetdX%y*6xPlIzVKg^PcgU-|guvj6IvC%vX>d479ybN%Z6 zLzg7k6IY@~h(Je!VB*T^yBukX({-bl-D>%NeNCkCy4r|GU4N%|%(!}ILt^uqn4LlM zDxb|{`F&xLD|chS)^Eu{5o|`L_UL(<F`c6&G~&^Pd6vb`R?PF6Zx<U^@vwDA+}YXY z{!(T+EB^J(Jb86>_-gz2x3+p8>ycdi?o`kGtgEY3y{GGi{`X0I+0(os1U(CLxG1bS zR0K`;SC{?z`g*l+!rCiaGJ|JY7BBmyJ?&`O%S)<$CP`sJr<3geehEJ4x#92c@BP*9 ze!t%z&i*w3k5lWuUJak5AHQ$MJfGQSzFp$_db`WtPgC=qb>y$LUu)}(mV_-r@AlL@ zXk@>#RcXiPOS|G&sx1qbFI~T(<wMTpWxXk<rks?_(wT~p92NQ;B3f0m-rm`{IqKFc zecS(kJ{u(;<M~>+HS221*;%G_pY6V032vI4Hc?DBYDt=7t?>JeOO~UTgbklrn#88{ zN|{dDS^RvJSk(3AA7<j;z02O;i~Sos->&x2wDobj%Y2XZ$*!KZ>zF??8_xte+o}_1 z&F`<Vv#S5M=Ty4x#II-h1ugULSd^x#UOL(>zBF!cRpIgzkM3*e%q>^AhFQ6ApANYA z_v3N-q8}d;OWReaZF+WYZgkKxpP308pP!pM`SJ1o)lb(;8mCREez)`auGCHY_#J!V zc9nQeQulvn?!O}U`DgSb=D_q{u)sIs5(lQlMaPCiMpkc5#G%zQ6B@EvG<0H}&v&60 zWC~Us0TFKPvNyTW(@8-uL+jG)7m<eO*~o>Rk?Zt}4a(Jy=ylUN!37&icx|=S(Celb z3J!^qvSlgy=-K^%DU-;wbqmvvqWeWamPJEn@!`HVtmxM7aBDbp$@I&b8R&^*Q8Pnp zYRQd>d(kRj1;*<f0TH{}=82-G2Zs`Y1si(!tT&0HTmL|ck<0t~h0RImq0+&}Br@${ zqWiZdbn9c39THzkRfYMWhsrRIlm>T>KcCOr2koz`jogwk(LL%&+JuJBEE+m<)6YmD z$9GZ(LrdzVC7w@jZOt~kl3iwc4b=SD#g5vla^oyGc1goeOiYnQLr3{YK#m%E0;rhE z(7H5S_i))n^oC9gC^`k4H_k+k&WX+o>i_?{v_1d+iA;lNFD6A$14>Xq9<{KIXR_JT z{!gHrMMEd~;;T2tNR~DvvuNnZI-hQ`^=UYC>F}|{%gDY`n#?f$klV7mH(ov9ln|b_ z*sYgqpJ>e_79OD&mzH{;SbA~3v)c(K9s!R@DxD?o?pQvV^y0jtatdP`hk>0m)5)Y5 z^#ecN?Bcw^(9GiVbF*QhW!0CApTAzO=PjG)I<cXasq)hkL1AX`Uz=;c)f}>E+*A2k zN_bj3pRCb+hiM*6W*i1~w;PVGnFlhZQg~yd8OMxI>5mU>a%$x=+jVe_N<tgMy)8L6 zHaPn5$GkY7_U3TV8{r!}3K!4d`Z8l<%Z4TPx3@FTH*jY7cjiY<o2qx={D!=mYmr>1 zf4tdeo4l8G*S|G~PYNbRZcK8WyK81UOON1z>4!8EJ?qWV)Wnu}GVIGSx)9AQ{=?|# z(q)1(&Pp(zp6|=;{cE$K@J0n`mXgPt-#xVLIdAsBcy%Guu77Ky4O^G$X+HaG!pP<A zKfAqmv*&@51<wy0UB)=$t_CBQ_hO648K+rF9vinVJ>8b{HHxL=Z{%tN!G#;Hs2;7E zr{<9OGV}9>LNm@8d|yPSneiTY<Hi{fA$9cRp%}FUb-UY<T&E=~rt?ZKzIyv(x~z-H zG^;5yj)Rh-ZN8G(1vbXZjq?s&Vyj6r^=mkE$s$PXg%abjbn%CqvmUef{5Eb~S}45H z!5mapIL<A#ay?M8VEKlUQ$af6?F_9;`Ba~EiZJz@pO~b%Ex5fQvwqozD+|xr%u{zr zd<hMBu%p0U6`6Ky;wA@i&KsTQW4K-~S{SiajM4hvnqUR6IUj8pxxCNM?%>_xc%WoK zziMLT+gqkTKcBaM`fPT7*nh*F{tbtWDx@#WZ%%)HW%90%Guyvgq%uy+p470;{`Iw& zo{2xN$Jd`cHC0=+_}Q6HPbT}n`lh<(=e70m`p#`U6XW()ef;rn!zBM5n=%BZO?>cO z&Y;xC<Y38y{<1{N{ChStZ7Me{n16Dz`t-85w>+EKc$b8(4(t1Q`q9zu)T^sPjS3&R zc+NIkoBY+q`Jl+OZ)+s{>g5a)8gg!Ka?QH3LUFEjc^L2Ajmhm_-rbG1Dtn`0ntg4{ z^&b)^)=JNJ7M!;181wr*pZj9=R7@=EVcgHNts4~W`_x;X=I{Tz>`2tcq@yV}HYDz< z<;>o<HT(LiZC_tpbk+)8C30<7<jr1|MUD|}P4_Q<KjaJznd`CTCqF$sy|m!rp-)GI z{UywAyt}*m>12PqiLKn?t2TwNiBOa@N->D@Hxczn%sfA9-=RyH^~ZvIJNTDGZcaP7 z_xn9*b)ERCm#Qm6S5Mn}?6^ao^+(GaOE)Y##;hB?ZOZz6zr1cv>0}X7N;p2hl*39- zXM65#HI7N3s`>xl_w`K<Qw@{d4)(}f1@EaSto(kr{As`azX`9du0DO)-(Gk9zF(_y z?(d5YTI#j*-X?|f()oK7Q%_Hu+He0a;@$4|c3%(oZ9me?&L8%-=JQ$e)c^nff;t-~ zXPIU<)!Ntm*x)n6z_Ck2bJ4zx`!%0?r)Y(G%`(kaJ2^>pvV8rYKu|m6)q!YGo7wyI zwY93QT_R0SHHx2~n_Bw%n&&K&OqK9;F-(P-oZj_+uNX3YZt+u)IrOPpf8PYn;AI;B z56<_WYo+@2)z#qBZw*fDc{(ln$<*+;iF+zPpL)Ol|GKn*vUhhhJtwP$o(FXue%j4D z+Vf|gZS|9Xzu$-FcYPF6-FN>n`@#9~YvcAtU3k7KbT!vM9(&!04GB#O_W%DBUlrro z#4l%~;oc_`xbN>FZhejY$M38A&RX(szOp;t*V+T+q9<McE{rz+=4BxJLRe^8-fz~L zi{|U>KOA6w^}EHQ`=7Gnx8!Sr-qE|u-md!d>C@BGuXZ=Tm#p*8+yA%ht90_&h-Los z<Bs)6DnC6vJ$%1r`uTaGU*Fu_9bS81;PXc#fz6x(t=ZSsOpLGl=~`R=q5AWKW`4C- z1?%^Io3-ly^ZB3*`X{T+IpWg%=FjQziIH0}0wwKgELu|;_Vc;dY%`W~sEOHCvNGr1 zp2(x8+~sRS4C)SWZ?i0Zc4De__?7qeN#e)$a{j%iF4Dj8RkP+V&Kcj*-CLhFGP6H9 zDjpxgB-q?=-tM>0rqt8RWNN>?x%uf@biQVHqCxeaABA6^Z@*s`ZE5Qw&Bjss>Pp~w zP?P%HE(wA99}nBTWX{dEkAJu4v){^~rCoQbUax(1da8=&Bo<r7ugMBcE!!KG`_B)n zKX&GEa=)$GdHer+ve<7mFJ+dnNMK<4*zs#u`TM%Vn}6`se!6~scHS<{Uwbbx+w!z; zxU)5Ty3`$|)KgPD_v&n%^!2+<<);%{GA~cLa74(GC*|S)`E|cmep)&`zAiHB`nt7p zhr5OLXdd$x<td1-|NHgzpM3!fo$CH({rd9qRdveJ!pFx>I`i93S)gk7;{o&2!yX^5 zPFD9{W&gOHeUaGPgZ$@}`)!ouYrjnVm2<F(_0<2rKex{PW&1!*@H)%oMmxpCm)qhG zTz_=DbkB<h2bUVZnMO-xY^y>#4~ywWt(dOi@gsJFi)@Wp?dR<!0_P(OW$(NGNmJ;R zFm&3h(2{YqTs%ogKQO>-+V)o}N0^SVoQq&vCd!xSS<iQFzHVaYef2#b<ZY|A{IWd| z6mc#>?al3n9p@#c|LSWNmgaW|a58z+Y8aRGxYev~x1nQG1y}W>KA#-H717)Cn)ZK} z;6L7fykoA<MgId^?5(wQK0fZ<ez4+mlcWB<mWS;U`Td5EITAT1ay)PSoLtcG^`AiH zKJUb}j2vvz9Ay$L4h~5QeYT7eXOfSpU6?239g$>URPrL=DjN^qhiSWfW*WWnZhsnF zal3cBoy3I)+?|nLJWHnQMyp+8xEB@Iz-Y~~Wq+NRMt}k&(w1*%iC19w{`Ph_uiL}P z0-Y5*8S4*Dn!Gl8`zlG_Gqc{@-tNy@`@?B_-rXgMhug9q@Z8`3cH8YI*W>F$@ALn; zdHucc?|%=fSrR+9Px$fi{3O-xc<l)0b(2)RPaSAv4z0emJ%4@N0+XyO9)G2$SwH;E z9N%tmtU=n|<lmoLet+c(`a80lUOLR5v7zL&zEIce56*iw99*Ny=IT4kB=ElGk+>SR zhubqQDt$F#+dTURkMTE&2GuRcg^cIr-rCZ6JFGF%drB{(#2@+nj1{~8f4^V9`n}1i z!wS5m>|P?%8ae)cue4}Y{d;qsee@xr(+L}w3uzymWtO|D?!JbOv-q@S(+;Vb$sKra zvM*WUbdu|_@AvE1C#j|_sGWXDY1_}=dyiX48D1!#v-Ur4`Z*7^gsMFcS8Q;ZaLC8^ z&z0r=@}@7^HnemcHgfd2nJlU0qQS<@$>|;c@W)|(`xQ5RbQF(#(%{kh5WlbH=bu~G zg{E=L`oZs=yzveH>HI)8w*S*ExGG*dkofG(%&bmbwp#*15w|*K2I=f?-O#e)<Ms1J zPfxjS+VARf`>>{tAvcp_o4AU^lcY+WH0M{>*RQW(IV7YnZ7}0_Pxn*>osT_F!>{c> zd|mLuMw9d4_>i$K^WpT~bM;8M!p0O%@7D@!SDFusrv-hSJIku{6>q<@O>)}h`SG_` z+9%C9;mm6)`$AZFTHeoARh_jv_zKw%P7l}==QK?t&<Qjsu}R_Eq3we6KepK^CUzba zVmq;~@UGVXKR-WbX|qn-`b&+=`*VCt0hjl$&9?R1TAof)^$yu{d|^w)!9M%oh&DAH zXUje6|Kv^|ImUb=sadqN!my2{u;b6iR@GxX|LWcgMjP^Rnm8ugS#5CH&N)La-$F}g zZA0tiV8ai`qSMZ>Bw5N$<4@es5b5so@im8cwnM(;!ra^2vf@=w{d>85zECV%ce+j@ zr(vi0!+nQ@mY+{Lz^};husdb1t@~|*!<~#A_vR$O6#16*D8zv$@5B3uOEUuOE29!B z_8G+qPrKpYnR>M%vhcj^_Z5*|9Ns)#igp|4i$CJYmojvoe1UuFk$v_bZ2x#1;9vW9 z!atAbLzh0~USYp~?7P5bJ7xF2kbJB8mCqy(dY1ffJe;T^a0Z;FAAW3jvFd2a0)L-~ zT~EcQZTQmrI$~YxK|wbA8@K!HoePq7Gyf6Je<;}hvFLo&#OD2vf6t$=;fNPghu05l zwv+09a{^X#eu!<6XqA7gsywYF`6yT1vVe$L|MgmfBQDK<`*ZX94J{4_zaP9c%O&xp zY~sut6%4;mZ2ZKz|7}P1kGpL<j!Y9<W4DR#{lQm!_4~iic+<F{$Nrp|Ja5FJ>l~2q z)m1-cWUs?{#6hAttHW3)_LI7f;-?An@jN=RM-t2x+uJRU_NY%f7d`Dri|Vz-$sZaU z&lI1xUEZR_rfm_xRBg9*--GuSPZ*7-U5oy_I(+>q{cNYdEgY#u^BS(VsQwXb4mopZ zaqf-XO$T-2;u5wA*SF1o=+3aO_34(1<QK2MSKON)|L}wS?n6Rh8Ta<=-1Gn6?^o?? z|Kiq0nSPzb%3P+SethF+i4V>U@jD6*di*^XZT~CFK=uXm+l?iM^@W6{U3<Xkq+k8* z&8wrz)7Cut{~=VR22{0~Rvb#7vGE9lmSSS&TjgW(&iKu>()@qyv`0?n0medsr8mC! zOrQ7ocz^iQ{99W*J8wC3dM7dq{(AqpfXjRPqnIVXHm~1sL^OY2^?XeoXW?lTRyUSz zxS_q$TJC^^=tkbh5l38(sJ-69p2K>eu~8!V!2|CcTkjX&<*ILK>U>R(GI?rZd#@lQ z;*rW#N#nE?jhjnvG?jK~UHhDTU#ael;uW2V9XFl!6mDsfJtCD>{osRy%7gP^o6_Pw zlxJHeB^^8VZx)}d)ry0rX;TWg)b6DvA80zr>eqa9`uQlo21!{R?t={M%h{ZsJmT(Z zQDwW4-u5ry=c4^}Zj(P(?$m!MGHsgtqXIdZOOr1IMZBIDY;bs9-0A!eL9FcIi3&NY zXI33}Z@~Td_4kU*N9WfYEM`vZT)MUK+s7#5X+IWPmb{p-N^J9=8Lh`VXU$l6uv;km zre2!<M_Wgu!2Q$z9$TGj3@aT>8@~3wu2|S^yRYJ7M~iszjIYPN-DK`H|4(+4-LEbo zqiFa1{QUdxAKF$#^DoTMo$or+Vh<Cu!4K<4cBh<nTAX3mk1_B#%zeaxb3c29Vas%z zA9992)dl<#J?pnUKYz`3S_Bt&VrR>H*07|&h&DZ)(nn4EUoR**&fJk|QNpQzc7lRl zVIR{mxoeJ1Kgx5S9_s3Cse8ZizRkkIZGOLJs&9gp9=cZqX3SXWa^cX*`dys)IUC$$ z^Mi!EBoY!TMW(%d=)g9Ity@*5LT_Qq!IA|nsp0A8<^;Yyvf$YFmdGuv)z%yLm@YJ9 zy?x#x_tEo4&KBngw!EWXEg!V+kWyS|{qDmjrhP5b#doYbVt({{wd{VcGw%%}j&lo~ zx$&SuaZbgY3qDr+7JtZ{v+m98l2_YLxBV1WPq4b6uBJ2hOLxL!!+p#*m^+<U7Hl$$ zd*c|9lyATmU9qwwwYoxb@#FxxM^=CCUEeSGK2WS~_L_)()zk>FX#s~m@7WyG{^M)q zAx)i^=f9-?mdkqIS#TtMwQJci=7^JxSH(MeKOPr}h@5U!`f5l0x9`>Y{Vc`q%#4@+ z$%rMsWT|+qB|N2fyN*Q;3#YN`wKpsB_ez-9{C>09&!jcAs-Z!=HPvFH%Cqk?3b(hY z#vL)JoZs-$LEa<6>Z$m$M;q5~II^<MZ`u2Ozx{M4`)VYX_MXdGHu-J$kxhqnbzYwT zU&;CR<{$H8el>h$nrnWBZFUjzn9(3xe=SjB;~}AgLZ_E*;1M`}^!2`-*BTGmOmtVc z)|#3mcDPYhLL)h{=iHjwCz1BQqH?S*sH^BGpVa>#CddBvfhuR3?o6d_2a6Wfzm}V7 zlqN;5mY(lyDQY(9=Z3cvT^+8^FRd2ccqnLl^BHkz&{)aga~m&tUv9j2Uv6H+!;^Kp zycJ{)UAil`>05--0_pjhI>{%smA0?n^>58>XD;v9pfk@inM9_|Gvk*|pWN`$!9Owc zGQ*j?DGaSk1Lx?RNo6W~WIX-Qt{j~(`3ViO^?VUCIszhI1tiIx7hbU8%bv~~4$>?> z>{VRe(jR7CwP57(e(VvspqoWver(J6RlULnZ_kTNJLY?Y>8^r9;!C#DYcEA0eSS^v zjWM!J;PC+UAPxgN_pYTk{A8Jy{hfIzsNL#w#XN@ArO$nju-#Hfu(}W&ajW6{8qnOB zl=~^BSd|2IyJF2X-EB!%qgdYj*zDH`Hiy8t!rdQd4p+yR2(7-Rw&3;oU93S7uO=ng z`GdT%rSgWwY=}2zvn7-*X3@~;eUy@@Cw!szyvQ^?>8`8Uf)~D~uRT;z(XXfW?6Vak zm-qVUj<=gZed6UCwm8qP^c7yP!NhmU)196N{A!*BMVRXz-BrqQ<74{VPZr55ojWUS z{2LBk`mC13oGV};`$AJE_dt5sV~|D4sf~I<2{mPccB{?&4s5Xxj*v1J<SuDuXk99O zC31N%#9hmEjuw@2fP;RXhvI=BGMdwptV=m&d`su@mVI^RaV01c%>|`1njw+MY`0lT z-61hkMw7c_V#C}YXO?czlj;i17ToaoycNjr1f#Izu`&Pq!iyejqGp3eImA2?S9*8- zwDD~?bm{W5#K$>85N}8|-0T%vu)(Bja_deX2XnjNh+R1vVe3H&b1T>5l^b@=m~s9! zi-ykLJjHG2`5=+cSNqHqWR6MTwC8G!)*okjC*Iv6^7@)0sLOxqaSv!{2X#nh`Gzfw z^CNpff!sHRb(crO$D6J{*4(mSy!_86G4qa#&IMj3k!g7W>2v)A!S0&7N#yiZMTbOC z&?~hvJT6`m(e?I<V#2NYnmVN`jQgK+21HcdbIDo2%e0Kywsk4*k26_w7+RMWF44K* z3QhDG8ewZ)5A@l;7V!X^gFgx{^q#lbbKF&VV^%JBU`?TQDaOFs@(o)u8Pd$X8V-R5 zRG%3!-u>Z|_;S<2h`nNrvGv!qdX^u0m6T++9+W6|wcfC^hD5&gmzmd17`ePJyF|{L z&GP0*x?XGP<)Agu?V!R%v)`DeqiQuz3p8MB0jM>?h8~>`=60Vy$cgtJS+$k(#jnkI zjUv-_EtzrtGK+?eZLXZzIW<VS!9OTDk85>z=g&Q$k;K<xNx$Df^4Z%9>2V-)e1%gh z^Mp1C&)+F>&DVQlo-9+@pUCAl=SFa0rnP3YFdHq*u+~SzwJ@Vw0d}nA>8_i)Puu7J zn-H_J=w$8pyUU~NPyDRg{~<I+QuESX`J&1={R7+gheanZyx;hy=*x>h%c3V8Dd#4{ zXqnFw(x^Ug{^fZ_LCKQ>_vcSm@l-l_`I%`@nTj}5e4Bszxd~2M=JRBV!gcE1a@>0O z!Z*E<)-GFWul^?T|If`gfB4jweVgr5&-dhf=kfH|#FIbXtdWmidU?L{=k!=@NzrNF z({`<h*8e=QL7Am*u6MRi#HIPNhJxH%9Ut7-S>o36^p~Zss=M2<bm<o}uQD?Aoab{$ zow!c$Lg#ra??lP@vBrwp-xL=-K5uoPhx>HT&G{Ernjf_BY^wP5>8Nng(?_11OYbSH z+WT%|!Y$dHxp6P@H{_Oovb^!&PAC77F9%db_H!N6Pdd9V+~&jI(o6czn!nwjo=<B{ z)%jIyaQ|?^Te0l>@z!(xeNEr2|L?{5GMxl_{YRfurymdh7A-qZU1I*(g0vd5!-iLa ze12_KK4cWk@#vD?oc!<l9m3NduDPCP?fbO7qKWwdyQ$c()u(xV<_JxD_(W#)Kb~U? zd4x*;ssw$CykC6zkkOqvy7heJd-HDI+!Vd$OZfE9_5X6hBHCsbulc$8>u#yMbGz!E zhS?oU-+rP!O#gB5p+BJcsML%)sc*|Qb(m`n&+x?@(tV(*bNJuXPbsa-nD=hIqIHM) zNQ87p@dKfIpeQh_35;O-^!$Lf*BhPIrS{gZ&-a{P_<M6-tA<XgMx_RSYw7}hw$`QX zcT5w4C0;Q9EPl}F?QlZLDRHH<<`<hU&mI2dnAsI8$n83>7RJ<?s!;D|WA|F_-eE{= z8r!u$JHIPz(S|FkPbb!hOyiVp@=mmUw7_ikK?nJH4(A)YeUI}PS^u@1U>_X8_A+Xn zja#DRiTRp3v4v+8v{P&N&dx907##6x(kBl)E^jXH{vC@ZrWsslSHBP(Ays(2q4mOi z=AXu`sSfI&0@%1tJN%QWaOIqSsOtDa$@$LT(`B=RB3=c23YZtrqB<>gONPBil-XL% zez8i0b>XwOy_<COwE1cI`k1M+u6lWY)lz-BY<AwH_vim;a8J*jbT+!&^J7x$lbyRn zRo%bszEb>qzl9R_w7e<j`DMa>zP_rZpBZ#tDm?9Jlx&FY^ZI|TudZw9uMApRFhwa{ zNA~FJh=&K+ejWLfe|np(QU1rOpP$dK4%+P&S^4bcrB#1Be}2B+zJKaU<M0y`^ZmR| zK5|`BySl3A^I6Z>&*|?rmYjJiqdViDOvVGJ#Fs0WrSxnf5>NifIWJK2F}**0!_Ma3 z^9QeqYo4Demmd(}*7fxN{<#OaPH&aIKYhFT9`$^`c(vEl_UcWYR~0k$$HRB$mp(Fn zoAPGEbk;+ggTDtFRi9#58Mt-Il=T<GE-m*~K7Vzk#^>od6V~&|PCtKdzWVg_fAk_h zhfF#5R{9k4_vcd<E>8D4`KUGZ%Y<{Q&UEkpqxJHgp6c>_QR?OQ<0JR|uG)L2G+oWz zGdRMk>-xq+&75DR*X@0D{lDF>FAHp<R&Csp9U9(c7vylOL`KP2?d#;ItEYc_P5<%w zf7jLNHI?tDhWTcnd@wP8rMTwfw*7Br+0W+tBD2Hd*`e#AKK08s@boWlT|O<LMfLIK z+S>+px6{SW2p>H1JmFR6mUN$fa}6EkGt5n*({!!(EMt*RQ>$%F{l4#U>ig&IDTlj0 zcDeMX@AlZX+xYZ>d$}sL+b(VTJXbQS;or@D>z96*%=_faLf%c~{}m7RJdwA5HzhjH zQ|+<3{v^)H;wP`q*9%Y8iQXD|R^o5XL-ES*d;Oo(^FN!WyITF!O!>M=W^>zCM4r<U z?OttVa5{2#pt)(VRpzaruYXn?oVz6JsCsVXv;F#QH_ac}h+dl}nUl_^c47VfKMUjk zXJ0F8Q1P7=vTV;i@2yL{&l{eKpMF;M-Szp~_w07B`ZixdeSggId69eb+C$dgkJOuA z8Gm-m?$_rVr$@bXcz(dOJ?KT{i}NDW7FJIz_u_DiFtUr!x7Ta^+Go!$Jb&-ys^?Ko ziIV-fYvRreta;#B9L^bOlAUp<=jm_j@24h<&eEP({`QvXOY4eFIdP_er>540oc$29 z^V4pVRq?LRbYfPY*uOt>S46%_c9^y@zxX-*!^h4{N$bt_*e|CWI`5e7Z;zdq`aP$e zkzC@`Tehj@9*1W1tH6`7FC<q+ZQNmV|3RjtVP4;ziJE)AyuRqQ>FH{nevxzf%50?~ zI;Um-KXdx|^7h(EIycYWy060Jof|Uml!VU$|1<x)rspsFv$}G!)T;S27PkBUFDRKD zU;oZLrAx-H$myA{{E~T=1s_(3Xhiw*y^mG={`AbVP4>YNRi_e}P1^qXBuaYzlUlL% zAcyy{=l@rH3c2ARCwA|AbLaVoxeKkg21W!$a5e4KOsxELh5yr!VBe=#%F{(}UfI4h z=#k*&9^2ph6`kGA2K;Z6?@sGoeR>P$`cwJ)|0<SBl?&^v-)cA8I(LD|ifGTb*{5eL zUL$jFcM#`cp6^ovy%WF7TC7Q%xh8T!^8I<!G>xZu-xe#Kx?xM2n_$O#?Fi>IpI6$d z^EB4{)qNZkf$*x)b1i*gx3Z~L=cfe!ZRrnNdpYpm&!@@z|MiF~W?sIh_Sn57^nAjy zzu(@Zro3nWeDza=`JbC53!e9+R@|8f@~fObx4$mPujyQ;KU6IL8`ac#{#$nE9(A97 z^Bp2)hiVjVEZq=h{`h>vwcJawx`DB~OXl1u2^Ly;eM$SBs%)>9Uq5jNefXH3`m`zV zRl&Tqx9ulw^4~u3?{2Y^ef)M)x5c)d+|GV~+M4ov3%@Ptl`xM!H~)s(``RBf_gH02 z5?XGt<G9eY>}&hg7ptG?jn>QF%HAY)=+p7X?>*XXUtU$;#!&m|WBU^K>C0|iTe#th z+tZaj2U&h~22cO-b^o5$>{F*@r95Xp+Zt*=ea($U-xwadw%XU%CBI7g`SOozq)qmU zs%KxmKUc}V=k@9H$=oc?9n$}DK*K6+$KSp@FEZ`n$1NYO2=#18so8hWEQU*3F8=CD z)fqq51m`VzZfJXN!G<1#egj<{#aC8aa~0;^HVsg@H*0fL)tA`{i`mMjxas~n5pVx~ z;u6pNp!tbr8BelhQ-A-SuVMJ>+oX-J?iVh4_SZG*<i+#hEB8(-Pd~fn)MwFYCxVw{ zW$&!2+isOB-26Rt_4ZT7q2Ahwm2VDYl|Ir*)480ct9h7xpUT?VS1)bjYh7xl<)6x< zcELQ~{KESG53f9Kmp`R`n5`t>?-B3*!|wiGH-q|re0@H7`MDLfQ|9k654UZ8`f#gM zS?K9>>+ce8yFf*s$h3!r)xV5eQ!8wAZML!~>qyRjd%Nx9O}otr^ElM(*n|C-*d|x) zaZHp<luL+;NSe98G<vdCsaEB?*0`*n^6U63*OUmGUT#)h_de&o^3<%dfabTB+}BT@ z-g|6S<B#T_MJFd*G*0>XDmUw8!nZ%6DW_j~PBQ;)TlDaeYH7l$#=G6B<?C{?JQdmg z_|99c6<gIC=$*yB_tzq!X*1@^Tv)wTCuUn9CxgvrhkbKyUF$SWl+-=GlU?|Qd++?& z3;w_TUC_A4Fm+><VbO=hON(B8;m<l*cK@C3)k}Hx|9YmY%s6{zM^V$0^Rt8FGH%Bk zrF!T`+<Q9><ZYQ98SRrM7+nI5;}<FP+sc5Vd0W2AvGm_(nktoM{E+dno%pTi<wv&G z)RxMI%*4)_N5rl9L%m}st_so6OKvX>Y@e2}E&a}t)}n8BDt9VhetT)}=g*f`zAb*` zF#nn?yLMw|$c_hpjh56~pDc1`Go7&Aul;Dch0oLG*xy&|yx)``e!0cNVomz9*?(1h zU)`Rv!9{ZZyWd`KZ@#&^b!W-j8#kt<CV57<T`qigkfo~rU-&+sz@1fJ^`ADczLppM zuX*n@?t4;e((eBKY5Xa1rw)r|(7fN9RxiD?<NGDudNbJ<mIWI{{hH2!YqVRHHa`*! z4o&*_v&y+hb4|I7^^6~H=3cYDE_C@ZFPHc8oTnZq7jk*m_x}30ocq)D`1;k8V`_!{ zx@=3Hv^+UC)i%#_%~#7bnf<^2tr1$-sVdXf^xI(KhsDj={_oCA3jBNbR&wRTE4yFa zHw>O)lv;HA4b<HWS$-Y)^M3c`^s8Hy%l=6ID}Q%<zU{;F;Blq56NIiXe@W*$y+G#p zVt!U-ozi3M8-?aqYOUEWV?E`^o3-<1<o1FBe`(}zi?~_Ahc10=`@Qmj&@}P=x7WSf z!ee%H(uSU8kMAtjy)gSzI%v6+(Tx*H?=62Bw=T8q|5)}epk=9ewb(n*IFhb@$F?6i zUF*QcX`XIbIVVGSnt-Q;E1!2x{!Z1%3nIyofW9d9!uRK9&|t4*Nyf&n3V&xFx-{)@ zg-!7mPH%J2cyHD5lZ$ojW-Dcb@<Zk+qeLzBTP;g9b2h5zEPiQG&i2cJ`D01Y&W}$f z>{k<+rl@>HtKpx_iTRhko*oO{5}`IN^X{8zMfuCRCu#l`e&zSPU}^q${R!IQ{%w2j z6@1mNv%RRM<6CHAE0A7emOAsu>BJg7k@;tP%r$flKR$mfYvBeTiBuiV(-~Ih<~G{d zG|podPgb<J*!1Fj<DZ#_jBMs*EE5B@NORH@&i%+a7SBBO&<`28`ZCuDy_jvD1ra{G zr<GpS?AxBAp(T1sY%;I*G4&g-4fD@T-^qRbWPJU9UDH+5CfVJMIwGr*yw~wawD+F9 zU#1tldU+*M`--Tz|I|94DD%~_;m4-sR;S#1^!3y8`Qb~;dN+MKb9rf~p+(8FvoBAl zJfHV>(*J+eSC77yG+q)s|DnlMv=-;9Iyddmbyppu%+{`aSF|R6^`0eOQ<Wy1&#ui2 zk9g#A{dx5F$xDmd?q6Wb_Edd0M<@7`V5t4NxEV&tJ9DbvC!d^Vy7|k?drI#Ngk!}1 zU%L}p^x#2Y<&qD~mv(0xZ`BtvJ7R3{RkS9q>SLs4kVbq=z1u!J_nW^rw#$cHw|lbd zd*0f8w@yA;wt;86z5C_DcV*1AYkq8=oquHRhvx<7b#8Xbs(rpRpP4u2kiO2#^9QSU zfO?5F%GsB_6JMS`_<Qr+A2Kz*6TdEb`LRv=(5H(*y-yeW^PjTcU$f>&%%`5CORh|I zO}TwbdV0-6?=Lx*=e?5Z+LD<cyu72YX6@pV%=-b6e(n+T{{5SiayHttQzb^#pyCP7 z%Fw+%yUYdOI#l1<x=PzsUQ;30if^Li<X@g=vzA^}efj&F{G@+-qfY+vl|R*}-+yZP z`?Hhd_5N!8*A9!n`~AkMOx@C6$B#*^DR(|h51n1GD`nSi?~^OnUpsmCdw5uQE~u@n zJa3t{PT{XtpG>1uzcp>$RQWpZ;L6pRm+zFtN?Vo6>n5w83tuE`Q=s)G_-cGeWn9+h zHD}^CIdYzrm0q@LwfHBob(-g|t<(@bB{ub+^K!4XS*aqI>ztRJn8TXAH2!>8(U%*V zFYQxKm3|e~z8%uWo1y<UUQ%&yeCD!s4F+@Xh)jF<?RkdPxmfcH$HA@bvU?rY56_EC zyY9Z{#@FW`xV?WBf7rim*CC^_zm^{*z18{NFSKWWe}32F-UrzoXViWB&1HnA%{VG$ zl+|`-*8govv3tEdC2#HD+cVF=pVKgBQQfW}&PbEujwPr5wCuXR;Q;gZleeYsO>bf? zI{l<@?~{Ag?<Qq^wK_fPtM!u)_e3W>{I;d2`kPVKHSXyPUvr)QI9dGUqSV<}?v{8I zi?5xmXM6k<zq`5T=55SZwz34ry<ckg`ciSvo4fTM%lh8y?)(=X+gHEQ?cK?;<$p^4 zElN2P7<TWrg>PSNbrhsE{pY*f@vE=PJih*#`}EVy?^oA6*c2Lll}97Z=6>ya;j8y_ zSF3AHyteGJz|TJi5?2Oo+`;qauG`rkSM#p;a^Cd3JZ;q{H{N$Dq1tvc7qq|P^6q%) zXY01wOhrYfFxB-vqwv#1N4<?|9(a32<lX+b@zwF2$<Zp6pQ5j%zwn;?e3jPhhx1NO z<#t<HR{Qg-p=HgNCA0pv{#Do^uQkKGFMs7D{?m6O-**Tvc^iE_JoUl-G@m!i<5YO0 z3}e4aZl04n>w1{+jTybo`EUOI$u<p+dAaiV)31W-S!@iiWhTB<t=}f2EVb_T1>P?k zpPgUETw9YUnODDT!ydai$Jg0gE9<;Ge~u@kv^Dk3ug%7XCjEQUWB<C(e9p?dyO++A z%ePR|S<8LA_}K}q?RTenb*{X2HtS^b&!UyxCluurBGh_cE^OhvBs(*2dUW2-$g^Hf z9Zp9Qrty5&NGcQ7{CB@JO($OZ<FuL$+3VLtf7_*%{A`cur7gbormMr2e)IlR)4Y6X z<z%T>#yYictt&R2nQ!MYuku~$&!=DdEb={y!#P!p`sV+L<CC{k{Je}mXnta5M&qKd zQ+^zs+t(ZYZDP?<`QY*wp(`%>O*=2GnCfk-wUgUcIaFIL{A;g-x%;~lQ{sMo%}~Ah zDKzX*)sY2#n=)VPN&ZLlFU%_zt=q6g?#}<Cf~LD)StoZs)ne_s7M`@dZ1Fmy9r@O( zI?K<;sd|UyOmzBxTKWC^JK9rE+bjA?hXt4WnPpvc-zxt7Pwn@=mYEUjCtX<`8Ru8` zz4=c3l4(MZX2>4(ZWQyK7nmfKdF;;BO^=(;FR6b1ob_~b;%D*bD}ha4r`}6WJ=k;5 z>(8P;`QO%0dzhTADeWV1GxXE5bBb%@s(h`stX!WKAnfhO?XCZFbNS)R_1`DGijz+^ zzi=Gf{`=UPy5sN6Lq-qtbKm@g#M_zmP3t!FZ2j0a_lL}xpom|ajsNA8?|JB>y(fH? zZ2h&&y^e`Dz22QIah!Xh&5`AZ5X+<K^7^5hEBNiA!aGlD+t(<lYH!_<sHr2>ExF(R z-=E;KUeEU1FR$5{zR}@~VkFc02anHdP5gEHCcmm{SM-x3|5}TFKI+_2CH(43czd7s zzV>WTzlf_PZ};@}(+Ah@3pDO?^)d-jIu<prv$iSpb;*?NYTpEFcJBXIQW-PRbzY8! zzR4=J-S&11rakSGzZhD}me^wU{%^v*D7o&LXAf70YbDNjIL|0c^UXfy_Nf~-rI{MO z?yT+1jlL4Prfi?Fv+mKOmpXrQU7H{|`IlFxI@kRRvf3BeZw0^7zp(hvtFOB~Ho9|r z^y~Rf4cOk2x}H(^>Kdgq&iPuwA!<HxOVTDPepvfdJi=(s!*3-<Rexe6e`HBtjqgam zu{!l~`jt0t-RIW`n!oOpOgA`uFXG0zD6Z~L2HM?Aw@h1b-0m8yxB01!kC#9Gb~{P) z%aiTXRCoB?67Q=_eA#FJdXL7%pGmu?9)DN(ZXsXHqO0?L*?;{wWEAt!@|xepE!G8{ z`Z|m6&-dj#UH^FV*F#D%|8jcGlb*VAJ}y4Ae@V~zyj}yR)z|ZC_||SaQF&{Ny|t3g z<@=!_lkWbDXbRbH`(xXcyc=KH5;+4|3tOkCoIUKtAosUsYE<8^vmf6-SwH{#io<1~ z-s6nI-DMw@JtwJjPTSxzleyh@vf$&i)t|D%v=>i%@vk<qf0pZ!g*Fjgoh_2q9H+vq z%%)9y%N}c<%qeJA<&j=leYiR+^Ub43=c~ro<j&3a&l8p@`21>tXVy(!zIPj2p3eIE z{^SeJ;`PF-Dz5F?@csDX_bZm}^AK3zZ})G4P~FGi6^DepOE&hGyu9;p(wk?qmlm$J zyR@c|H#1=SqFEbd%+jX)sd{F+(=_zdj+qfUlIub?H!ty?9(6C$SksTgZ`QsLw(q&C zTP&t=B+q|&zdnBQmz!QIZ{E42DmU#)`LqC@jqcaNBObLL{9^v=&W8I!-mSq)eHKn* zR(|^{V}C;bvef$e_)zuMRExisms*$J4Ul?uKsD;`&5{M*MW?+yBr#u8NBF<n5%Fmk z-=BX5QZ@6?q<=h2J?G2nU+$ea|B#W5zL$*Pw2Im64;yZF_m`gubYiSO_RxUeeu{tB z^!#Zr9@_3Zw5eojSl0YUGnHpg`OuVb)Xp}$e(|}UryqrvKb;=0xBBVK3gw>E84*Q0 zpWnS1^zEhDDqm0s?}%Y?``+fWQsL9pwN0jfR^R6Jt0a?U_T~JuK{0)AqE~*)Uex1% zZ}#eW2R8-Ed|_t1w)1$#PV4NngPyDR9THl8V%o}EQS0X2U+dT3DiOP_YPC)9)-AI( z+LR@1eR861dRF|cHL6$lx$DT9>FOAITjgCkv?Ix|xLfr^#{0F~mrY4bPCK^o@548h zCyU}MuRag2>YwZ*dHM8{LffmGPlxAEHJjUZ>etit+-XH04=Mb<8+j#N;KAOw%w>Gs zhfeOy*Oy%V?{0X+v=uj;boXzawqwzrH#awF6n6h*oe}Fc%Pf0of|_WKu(u!A=>kx5 zes81qmS3AEGmEb&;|Q-=wqc2VyuE<AzRqD#7yV26?n6d1mTu@de~u%N>okY>wDbEe z1dHk2U6RK1`Pn{qt1{`O)4bo^-x@HlV%5x9owJNf8?LMj^b1O<`m-xIv9@(-=~kwe zdv9M}UKM%VFL!>hal41rp`ydn_^<XzA9)#H|99y(ziaDb9XnT=FVhLDw&Snc65==a zpW`c&cWSk}w}(_S8s5IKGM3qN@y+}XDKmFx?44t`#c|({Pb-8xrNjLu{HZKH#hv@x zdl}Em)OTANC)w7E-rQ6*>6J0xe$V-9x5(Vs8&UN9)Us(OoDM8{qqq0iiq-yX(BAJ6 z&8^(ib3=afemukcvq(yO+DC2|`+{0-mw8)LD*i>U_xyTFHTA>`$xVf){ZtPq{;(>Q zSG|4RKlIQ(&(-^aHaN(=yuW$s6Rn8Yn}rVVuf1YW(5XKv7x-pj&7X};UQ3i68y;~@ z3)8<M@|tUA>gTr8PfzbZ-Q0h5s`Gr^@OJC7(Ocray^mXx7V_Hc<+`->>Hd-rR&C&! zZvUFg`%Fo~O@nEz$@WEiqn<wIv-nhA%jfs)=%q(zqsv#`eER%VSctyynwIHOy0`d) z%&NAWV7~sb?A5P10qHu6ug;$<25JvRL|SE(KbUku&O3g7-?Sfp=7Sm#ho7Donf9$E zb<OeT3I46T)9pVWoo~!!cFD`s_Fh5GF`?!g_n6gBMHh!@9}`eM{k%7%{mO$l=Q9n8 ziRV@M-hbSicO*O_Y1!sun`2qN2Ph?8E4+NlT;;Ru_H1tNGgBT-kebr?$w1(^sPqiW zBX1;*JXy8%c4*~|?41wR9?ZI_>mrmUIdQ`j;r9Ot4t*)P>yFJYY~`G`Z_#;;)8+AM zY3cSiw)(%_eB|HRX|i#_=bI0oG5_s3>&kY`#K;}xXZz}5YXKhoeRU=D%H`eJ#V>Dd zENt4BS+2RJbi;)GheK-E^;QTp@o!!iHa~H5(Ng))>xWD-?}qQy+3;&m=2hueM`B)^ zL~aPp`L#VfNya;A|F4wDJE7XPzxOZn<2okvXwp$`?Tz_gCClR<O^MNIZJk??AS|?F zO{9(5gHm0;^AT;Q=a;sqTBM&14z${yufcz3e(+DFibtv4`(GD-c(kCVcU#uCzdNl& zuZ9{`O#E>3_va_eX6FU%>r}mGVZm9~SGz5&=+iHm-G_|AKqG+t`;Qyl`R9{3^Fx60 zw?8)}6D9TPmu>K=IU!U1@6DN&8y<d2=Q`~%x#8TF>t8Ak8zyF!{{J-fK8v@OqJzS< zn*Xv%tjw`<TlA$^lD6$Oj-MWze(X{e!*8WPbwA7A`TMME!(y$QK%)$wlKa*Ds#^uV z`brc$o)S_sE#lBayD<BWOT^Ac=5F{F@#sp}AL}%`;AKAVwp;8z6x5#k$7X-bt~JwM zJ=!H6WBq7$Lc8|<zw7Lp6*f*f%K5$Y5tnE^=jrB+F4sP>evw~(_Fj><(N~U^)LmOv zUe$TEbADZ4be!}Gc|Y#c1wS|UZ8#EYIK%PJ<KuI?q}N?O=;&Rs@ZtMkb5e`jSKlmt zJwf9QtKOd!W>aSV_#@o>Kkh$zIy+xrnqS=f<nRc#Pt7fM{Vt%fmcMtCUzXH7JD@7j z@B3%wiEruYEvY*m8Mmtbm1KEy<axrhLv5$$OU^(0yI5sf#_{>3zn<^da3#}4qw)>M z>3~;-uOhu8Ud5dk;7fcN5?^|1Ys=FKb#F^H9e>I>eZ!WkD-?`CE1Hi9wFlV7SnR(g z-pxGY*Vl}d-}Kc>YWcpcNIE8@Zzgqhy;8B*y3n<o-<55h)wNf)JB@d5-myz3Ul$)z z)M++o-ss-+HT`nqz4;qVt_9k&7Cv}n^6<kn`Cazb+B$QWIVQe@a@FmUSKgLBmL40l z@ag8=p^95>DLu~wj}lGKm4EY<XV>-K9d~SRUrjdCbNv*3rE^nRkPfH!o3lqJW$VNr zy_ESw;M;ez715q^XU)0r)p7^>wWzKf+vdINuPJ)|Yf(*GbhxnAZ;Reko@?`c*{k?s z-ndMD@Y(J60o4-F%*(yqhyJH*+5dz4?tD$1!|$gaye{$fqh*BAvg6Vs(+)-*TKarZ z?J=W>H5*lQ)cs<Wa(D9ttA9+}`<btFk|Ez#tNNtbRujz^zAi4%*ZOw(kzddo!((<~ zb2|3aUstL$s9$IC=3~0f#(FcE>(5<QZ-6*~>vV!{;(JTJ7@=oRzdW@4wnn5T?_31i zdA(Wlwg}I6j^ui6V!TeHa8^Oel>FoKORHQGS2~|`u3QuwktCn{XYU%TAIY8(X8Gm; z=l*;MzGJGl<J7Z%N?Wh&U2k#Kbm8mbQ`4$k=9;~!me)u#ci(p{Q0nUXH{lU&uYb+S z5S@1L7kI2`rLe2hdEvK*j7sXC^`yRt6Wb>Q@@7eW*|QJx3L<A5GKyKUH?|)<dbRy+ zt@G=W)~7d%pFjP1?eCSB+gAoH-LXz4TT^viv}W)p!LO1nT<=)!e7kpil5Td|%gcLR z?<{lybv%}?zBh6I|9{c**2V^EO|N&7HE0no{m3&dCGE@vzk*HK6P<oOdUfdKe*1qV zj&p@pPhKPZbVJVNye`$m%-Dm?)gkg{rhCV7Z?5@jcJuo~rv2BSKQMWE+{;|>Oia?r zH`cemuL!Q(_+9AxjHr|4$AsLMw!i*0$KjCCHBeEqe8U#$z^2pdwRMuO&)3vx{;X3z z?~>@Wjjzv(OnX<6R<QNevF8uG`tK}<POphGaeB*~+f;KlZ06pCwK?~8MHk%C@k{*b zJ9k(Aw2i{gwJ&yNYkau&ZsjZeRXX}xE5l-485izMJ{+Pdwffr274QD&#Js3`Y5c;s zl>J3^ZQPVPd?OX0ITP2Jhk{(5e~`PeqxASeqx6SXM@7Ro@w~k6cWS!ktQTJ`BaE!` zE;$`kU`X0j{rvgWxf}MK43Bu!ccvhA{$u}$W2->p$s*ID6g8gsG_vV|Ml~nQ)#+hn z5t{bp`GIPkog!vEe9{Y6Ieffnt;?J54ff{Y?EMq6xm9!ueLa@TEoKd$qoSg-F>>$s zhECAPxTM_&RaKp})f(qzZ!cOWelUGU(xQ{ap;v1c*T?PE%I|r#?AE_yQ;r%X+%U1M zOX%HI|K;-cXD6LmKd(CfOfO1(X_x()cREM6s@!;A{%LjTr;x4USMS-yxPE&5R6A&y zS9av?k~t}-X2eZfSL1#+xAV2TLA6!R8J&YYs%cLPG|t{Tzkk}?>Tj!qz2fCRcHLj? zlazVvQjyXboBHp6Z?df4{jt3E+}7;tS7aCNEKc43?w7oE-^(LkE&sKou7M=!%;Sff z&r4@KaDwM*1<;l#9i7rO$9}8<P2)E{Dt=+=lEw+n+Jev68(WrMo%=UlX5xR*)%ACI zl+spliLBL+4)dRKt9RF_2m9Vm*)YehdTPSX?1lfIPW)c}F4Q}Aw%M9x@62s}Ts5Dh z_BGc_M=5dsJ^A{7n#|SP1AqTo*7tsGnmf1H30>V;Hp&r2ohHfevTlAnm~K=SA?{gT zuK6?Ve^%*tRTu4d!GGSp{#x{P{eG3>%>Lf(*S;=2;rw$-hpV)rP9e{a*_WrU6!!a! z+?@^)_S&eSv-icWgK_hPGc<G7{M`J~;e4Za#Xj9#%+qgt1<#c&ni<8!c{)Ni-@tD6 z$Mpr%7fH`Qd{=M#Yh%#b-@NE6X@3uLdB2&yI&OcrNcEP6FE1{IoK=fDwCQ?7=c|;! zGhB9|%U1Zz*yF)vQ!sy4>J}lrr^g)i1QyEY)Onw^30rZ|@6-MH!BJ+lZei<hE6Ue? zYK_=D@9L}4Y2s3$!Pnb<2v3u~e^WDAT`!=Td7_$6q|V!TIXQKmep!26>9C&g`MNRN zJk|DZ_1U&|u1{j-<@7@{ZEw6Te#3P-<2z(L-R3^i-A3=4L`iGNJfKOi_l848Wq&L` z^r%ihH0z_Q@X{B@(uGT1gCxPRI5DMGkTWdeT=bqe(9FB{bH3>*=J$1aqrXl}>&^CP z-X%IU;)u|d`15<zw=eV3ycXyFI$`?xZ?(Fj+1sY?e!t84nXkOc_va@Cw}1b%xA*dr zij7X6zTdyDQoAkaRdL73E9KKB#QVJ$(AoP%behE(^~-yoUg=5QZueL<cGvBcKOO5% zaqYIZQ*b?PBd@L#ywpc=F<W`id~iqZ{Id5em+f2jxF@y6^3#8F^BaxcTYiJfUdegy z+ut2f-M67f7L-)`)n~12{aESW6zx{>*qEj4(h|?B78)CmKt|ISNzZ4VDx5q2^{>r& z`!#h+Ju6k>HyjdLzWvbyG3~@oZN7qo3vIUFn-$d7J5y7A|DW#$Gvv?Bo38VH>U8Db zVW6$7nnzFB>8~%#)|-3Vw1<0>!0gufISbweovAAq`zn*>SiSd>kF1zU=`*fU*<(lJ z>p~BG`fyJ)OMk&vnU<%ZQTY37X9n`DlQOF}^^16P<z}XETxhEQ?5#lto4Gd54p_9| zOGopq9JdY3(;;!lEIzwWGNlYD7MEo2{3P+X_|Ris@Cw_m+rQR^nA=sazItxE+x7XS z(N2jgy-z9sY!aRJad!NNkLgSOw~J-<KZT9T{MjBi`PEeKRj;+p@@{HY-<zuoS_WZv zJkCq|;R4x?lQFETz2{0jO@Vbc{=U4u_LJB9jh}ubvo4K%{Hp1|EVFFSmp?yoU)on{ zTe<SJhp97HV&$(hmZcNUuWDU<_0sL<v%Utg^F>zcJlBoV|6Q&hWW1(ycFFWPmYYt! z(PY-pv3=C7HcRl$0o7Zee)#eYCJ)y(p1vTvLuJeHOWVI>bf5nZTAh=i|H+T<*z=a- z(%^OaRmbO-KHgj&B{OdtXz96FAb5?ATx?>dZu;IIcfYat2Yr>@v7kEn-i-C%0+g2S z)19g_-#iGsT*2v)NZ|dJ^Bd1xwel7F{c1u%{L|C2QY%$A#@BB0nak8|lJFwrrS*^d zdnfk33J<%U;t-K`a*iXX+Z>1PkiA}>kz32E=WMvM>+j+ny9$>cn{_n#(W#z%p>q*c zCp>daT+1H_W&Z=uIo~QcC9vrgUrZ9Hj&v?qzrp_0k3a7v)asII_;zbctqd@?lU}LQ z#AOI7J_J*0OhUsW*e>hJTxfoLxUfolo$N)=`hS(7`z-&>6{^V$y8r6CpiZZ2SN(Fe ze{X+uUY?{>S)^*Rwk0_6@>1WmX`$!;eks0F6kRVG5b-MFbaiD3yWYVqHj^NM%5$vw zjs4>%2UM;8%sg~yU--`NERTy1y^)-M_w&hstTH3J_Dg!(=bM6D0xrn>xV&fk7Mko< z)oK5dy*!k^b*Y%z`P8DK2alGXy9H`@&O2meb5B5<dHMs;P$PJz>e%xOt*~<Bh*!<F z)2F^vG#|ROjy2|-y!N4@zt8wpK`l(q%~qX<g4!p2|8(TkfurjnRqex%e<LJ!u)GJ) z(YqLLHLz<})2XcJm$Wwt^;&ZzefJ)49s4%wz|%h)m2}=FE!(ig`;7F@<kSaA)3?0@ z?dG`7bnxl(1F9Ds<{UDzIA8Q!^VoBTe{+7=P7|5-?#J5wQIg<Qf!Uzl5T88kxK6k5 zIwrmpWZ!y|hcD)kFleKKRoaA`mIa(o&WlWQ+%-+R-_VZz)AJ*(s`H)&MTEzgAM}DQ z2(wbs2`rrSfBj$ixnV66o^S6~fBNaD@Fc_E!mIqQr2oCIWp-u%@9elgMb0nUzAX;d zn>R)K|NZ#;|03)8j#$T(U3@oTVb2Tkrehn6)7bSstS<OvoWm_0{Z*~yIPZSrlx5Og zo+swdU8Q~L)X@d+ZtOh3EIzj`@{p0?{!5z2^W@^|`{d{Q9)0TY^hR#6#!um2|J*Kr zHx)7a|7)}H$D7+@{XTt@&1aE{XZdv6VSf9eTUR!JN&m01Sl90N=jT6I=KQIf`6;^o z>5HEAbMl(QPn*9yf2?(B_`;2`=LBY0{O7LxxRZU3rcFnXFMmu^MpM<1?3kvv?rUtH zo9><|Hf>|t`G|M#?f?IgZog%gP}7%c-!W}p_2v0z_x<P=i{2<d(euESio**w<VZFw z`TxCmy54_9<@<NEVsB5G8Xf#Hwm31g?DyLL_ZD`P{3}|uA^P*7R_;l9vAZ^0oo#pZ z>Hqbw?dRFYf2==yy!Z3=f3sHomV5Q9vVGNg|Eb&4w{b-OFV$Lgr=rVmo6F}lvt{?# zFMhD<y#M5@`KFU+=WTk{@paah`L(V>+gHa``aLmv`PuwevCz+-UP<?p>t72!`fhUJ z&y1<|`|R1%&DAabN2dv`yz}F}b%L{J<6ld={{R2#UVeJ7WmldZ92Ru5=ls5JzIWCw z{Bq9v{I9xt-QTKr@^^nU3y>GqTYroDa_Y?|&s8HgEotQ9xcxls@#gp6#bY;Idvm0J z_y51Y^Y{PPbiRK>DK=`_G?SIVH(qV8uje!Q|3Y8x=HK$@v%Hp@um6$UzdAe3WU`9q zo4@PYcn;+=Ha^~bE-2#fkD6rXx}9Hk_srVlyKB3yx@NG-=BuH{o;y6|t+((!o*$i7 zY*3s~e{JQR85^#wJQF`J>1fx<b+Nmbl)SvOsr2==fG)1zn>h+@ERgMfd24I-B$Lcb zGv3xGnYG8q>?-lh+x>RiisIgkZ<Sx(UXQPz8lCU^Ce`=KOp}XzqPkHbW$*9lrk<KI zvHV`8`Zg>1hkN(FTsHg3mzS3(sd`W2c;C76*>wH*IJ5kFI{h}EI^Nved_3l$&dEZi zj`REfew)3-Bk_G}!(-mh!Hw@8+AiGk{-V45)PB2P9;c>iFaI;EljV-ugIybJDnBhr zIX};~@9<3Hbd};~XYz_KuCt%TezQ>_AmW!g%l;oPm(PFl?RGwYi{T@?{<Qh-_s`9@ z*ME6=dB4SOi;EBP_x}wmdU8TA{7b+6KMhHvl!8TC(_S(#a-4Q<=L0Q0e(vycV)zr# z849QEUZ;LI*vzgPzprNE^@$R>g-iBsD2<AEw0o|3e%w>ugyN5nTs`MnmG)Gz?|v)F zw2s^Rb?%O@M-Qw?RoN@r|ID#WL4E0lFa8>{(zzDhe4e=d{r>-Ui{kQFf6Z(AwDYUk zov!n#r>8xQ{ut2E_VecK{C$yj|9&KEhO7vfk^L>LG<0>?)UDaqkD0DZIM}qQ{C!-$ z*|fF08XZ*j{kR;-CB0@Px453p{Mv7kb2h9ASlF~Ce!ty~M?YjZB@`d5+R*dg?9Qu; zH#euN1~2n*vwBgYc+utr-;sCg_y3!ea&l6kW)9N=g@6b5Z*EHEh6YrB+U}dBTa?}V zJl@^exxSib+y9@>=d0%4+EUh?Tqn+<V3&V;8|YB9cTR8btroif{zr7U!k%ss%}0BW zZE`giX!yHf)!RPncO8{hzrVkq4my6s{K)hB_5Wk@b{@SKscOhSnW0ChAT+}6+l^%N zH-!fds7^}LU0gXq_QYikoxj3|_#Zqx+^!nFE~e4I?auRyZ$593W(hqv$5Q#6-ZJSw z9}e@MR-a!}boc;k^%b+68wtCtrafn9d~$N~=~q`*vl>fooR@WNjiz?knjMVJ|Ni`Z z+O5B@qtr(5V*QcyocX6_nP$6exqi|uY1`k==k50|<T`U|edOk2Cs#$9ajJM7Fim`E z9i7P=Qp>*P`MJ51dnApk?$v-ojAj0zOZJK~StSn+G_JU_U-+yY|L(*ImH+>KXD|A{ z;@_Xs`ujzAc1$#wad=aC{O<UDHIYF}x&CY33FN)ocy6iB%%EpyXR8Z@Zk)H~rq}8I zwfmFVihqB58??x!Gs6AJ&wq#0j`zt<u70=k_~+cMQZJ4KMeO--xO;!gBjZ2PA3;f8 z>A|cGYr@vfs#+biyDWF6b@@80r`(MD+<K)pWnI<!`oHC#-Y(Wt@q0mTJ@V_k{eO`? zg8f&63xyvuH-37#d_LDbEw|{dwE69KH>9in6Iz_HIdQ?ii0X^4uCLb@R`Uta|G6%1 z@2W>e-&Q!T(23rr6JYq~PAZed-HK07PF~uO=sZ38QQp@Nk6pXPR!;7HxZNV;?d$dX zrztwOoj5bo_-f~@*=D&#+b6EERcQ2x=6rJHq3u-d@UUvlk9*~;N><z|YQB6%aJqTk z9gVG7S0^p?p3e5<B#+7i7RKu>OY_q=sLAAqDF-fa`K(|);c#HYFZC8@<Fa>mR`zY_ z-zEYI>4#ao?{@w=pS`h)rFzzyA3YVan#cdT-!4C&SAS`Vr?RqJ&xEkGQ8#N%UVW<n zez&~PTVtn@qS0CD%(7yyh+k3fk8}#ZdXkqtO{n@o<*Le*U*%i2%sOP`;_dcX!CF9y z%lm&zK?d8jaNB=B9>Wve?dtb?)h*V}dKu4T|K~&VoyzBPW8y>``5GD1?(eHzntZ%Z z@J7}1Sv-wRmlL=}G#<pL>fE$oypel<U+t#{&HPgOw^uUFjo^BHJ4}c7SR`M}zgJUO zBiF?;iA*c&JbGIGZ1Wq345i9tmI3#j{>m)h^l;OoNvhs$QB$7J>rb2CzTrrz`<?u+ z^KU;CIkx-Vu5M=W^R>dv<{Zmcm%qB=S@rFWq(w2$(*vhiVzmBWaOOW6uwHrp>Mgf> z&5kHG?l?W^kkO~V)=^atI1_)~&fmYXSz(8W*`_;Phc4~ktDv({{O!u+^SX2vXKgW? z)vEfYZLju@^%GylGcEU@KW+E>eY2UTbCh)GL~iov7Sm06aG(+FQJJ&RqH`8Mt2+s@ z<;Sbl>z_2T%T3t-|KIIe=8dc>3QF??riHJI5tK1<NR*7U^GtksKhEL`N4tOG<k~Gu zGsLECkmloG9kDTK%S_!D{}S@0_}U*xe_SBA>zl%xu=R1al9okFvU5Kq9lf|G^kDZM z->sZww>KuYi)e?P37IGuf9_y2`_)N#T&FwCQ?HaX95QkV2FKnkk2*zx75NM6`VRXR za3y|yb=6t-RPlND&F2s2c~8@sxO{%yt>Qa(vjpDt9{%`GWLjRN!jG!=d%wqlPOY)J zIsK(QQ_Ls1nfDlW=ic2FI<Mx_$rEoHnAaYQofdJ)H}NGyjF_YdBiHE#8~%O|FyY_C zyl~-$Fa8|MWzNquc8^^yoU1vjcHZ}YcVDdCQ7pmKddTS0zLS-oo&+|3czJobd)#B$ z9K&gQ9!IrZTIy{b!QE}<+fcT9qQ<)8hhBc(5k9ArWsk!F;X^{xbMKek&W+)E&Dy`= zA{&?Y{|y_qRKL2i^3$E-^EVZwBqJ9`MkKBO-Xm#z<&)#Gdd?454xaeR@@DU$9JY5| zX}|gzrtNtw_x97%)56{?f(>`?)%||E!e+NZgz*CbEgjxv8+fKE%s2K0*(APuncv)5 zhc0a?mDSUq^!Ay7)YnB%dd=@mQ1hK-5gU5rbbngnN$#ilCCl^o{d5Bz{&X&)?eA={ zs@7I6(V%UQQ(s=+-1E%#!@}y`a_<Fq^S1E5i`9$Uvm<72)z#f?$)}UL7+O<1p7nt$ zJrj{>|2QAIo}6KryrlB;Gg!{5P&BCfQ;~UVOXiWAM_01RTNb%&STe~wajw#vn4SH0 zzgDE2n-h8VoZ(;hhU%5dm!&hdOTYd0uw8yt_E`-b<;%+#Z@elpO)<(8RM%es)%8=% za-$^8a%ODFyK5zItmC)MtXezYStdqVS2RjpnJ@2Wsql|_QpJ>Jv|&&6<z>DTZ*#Io zo!fhb&w<x@;+EUJ6AHcb)*WB8fv1^y6PGU2Jb`J`^<ss1UR2!en0D4?vgV|>&rFV# zyu7q>_v2gJ^WT?*ChFVIYE_Nn;E^<PiL3c|bVKpitk(GYzgwT2pFe*&U)5EI&Mm8b zW*VK!yS+WX|G+it>nR;?BR8jknh0}Nx2Q_1JM6yOQF41*ZqPy}R?vxQy`R$>RRnk# z{W(s9j)5{*uy_N{v6gqX!Y9j$o20%y|N8cJ_^z_ITHEi}?FJoKcDFrZU5sVrhlA{k z)2=DpYI*wc@o`o6KABUhmzMjl*ZW@ka_RIr1rs}TjQ_FTu~1<WpK4q=`9LeTIE((a z30k46RDS$EH`n^={f#PSVe2pbe7StSigO!J7jx3rEt!{}+)SVUb(!GJRTfNJq7R*G zs6MjM<j36ddx7_hy(8lGR0Q@epXqTxmuVf>X+~x?kNI}BD*GHHZ7Mc=d2{o!uG+R& zz1tki7My#0R$^M{)wR*#bE~rU3akiR+_o!XpJOwdVKvi3U-P?5;`$z})k@<uN;{*m zBj%pegSFAy^#ty9{IHo-BiDR-nr`%}$;O7wfs0%?UtV23eU4SBS6uzy(vwp(C(p4g zR#SSDv}xjv+221NmtXz9xL?lp3hSMSg$<H&KMJSo#il$tF;Q)GN+cV{gY72O-`-3z z$qbS-&zoblh5h@4ZMnC@tjgc5$?4dCzw~-6TUPfRrDJ`v+H<W+CoOXAK6R*-n|1k9 zzgZ@p8|-sWP0^gB8*O%wTTLxraKT-nZR~tc4lT^m-}9kKs{3K;#ZF=MkUeb|j$~=> zxsj&CXwI=iO$XE-+fmQXC|iB8K=<&T%Fj=pPLH4Ve*gbCS#?>?-%g7%C#-$kFk|nD z>H70eaVfSk+tx@v$d#OCdORuX&W?>jS3joTJE%EJPruJ>{_!`g>&`hk-PhUQCL3S< zc56rF$<$BQ-{0+if9&qZ^t}d-KNFbTY)%|k$=#fqxL;InqWhsUMmcFm<>v@>-@hB- zvxE8Kt#+~h)pnJiQoc5Io~&lc*e;#BDdnV)s)nxpH`(|HONG|UeViwMJg7THc-k}r z&y1hibv(+c%0*jvH<ix0U!^Hvub*aYo^xYCu*;Qap3`)0@;dG<dwZ)%zA3}=;<L{) zDi42p`eP%9@%bIe=3&A2_EbK-u+Z7OM83Qx>00~A-7GcnY(KUYflf3w`WoT$qwn!< zx&PIDPdD2C`;n}p)Y)NI{`#7)TaSd}?xUN-uC0lD`sL;2>wmTDW`AsYa@PEQ56A6I z6EAum2u+M!9i|((ujVIjd{5fhSu0bgO`NbOcf#7ke@^S~4{5Lbp;mCfNGImHz-i9q z2a+<UnpSikyE!-GOC^uq`T6$p&v(60p7xku%0wgWZsqA|y5=!1a=Dw|U(AYmBip0@ zuP~K|FRANk%XHWMf4|)>y<Z%|ebn~qy>DE%-n#uhGv7X5xAv=V#m2MFHGAHk-gv<( zyj7Lqc>QLn%=n%RnUvQSb$=qgWr8->{jHkozSxdmuW(ya_0?6Oi{J6>%=q%NQ&@df zZARFkg&g~sFRUn!vX^a<I9RG2wrQKr5v_iYSLJ`M3a<`d-*>aQT4(pe0@FA4o8$gG z+@N<~+-qXW{fI2>x6?LkeZS}PxgEv~A9nZLH@I{7j0;nqP(f_OwKb8!VQV55N<8Rp z<bG=SSXfh2iv6b58-6*P6?_gG-n3ckehi!Fc|}ps!h%^-YNyNU^N*E&ZcabH%Hqn# zWOqs1s**Fiji+sUe8f@ZT$tN5>j$S~bUK?mPEAtnw%XnB^1g85#^qA?i(_<KmQM4z z2P(TV7SA+J_qx2y_bU61?qA2{>nrY0$Vt2+To4-(#Vq#chwH7JrK+oxKF$&mp4U6s z<omn3tJ&sVEPAw(Q%{3g`o%_eCiShZ(OqGQoxzFo>;F~$b2wfcF~_0e%ZtFwD=Q|R znP+Q#>yG8B-_6`l3w0Ueu5HV>sI=<$s@s+wo^$^6h%c=8cw9u1C1ZQb+myWmM^6Xn zyiQYM+zvXo^zpPeyu0+hm+?=ZJ6qg)=Pcc&MR!kF&CLD1`@Pr6pruXks#WZNJf0bB z^!jVurH%hhJZI@ds+1p{xb6SX-}yz}T~qp|yiHqp@y%!DU8WP}{N(ap`+WC~&Ktp{ z@_&og>&!NE+Qm2j`O315hK-zS;*CQ2>VC~Dkvt^Mv~P=BNxlZZsJ8yoRpxv=6D@6= z8_ITH6p`P*-|=3ob$r~j@;k<LQY-&V-V_a63&86+$z_T2TPH>H`ztos6uok~z-#s8 zrP#^f9WfWqe|8kYIRCerr6}F|xo_gnh{iYHst(<O9uF%Z$TG>rMf;`)RL2G75B+cM z)jQef>d0#s^vA`|=te)}*F)hAOWFJX(+(NExe}>}bVw}tC|VamMy}HuMrymA(9ZzQ z6IigJq}l4V3i`>&8cGg{lCH;6!jaFE1+fpnj+lTt7Jjm{fGg-^<P$UAaG_hj!?EGe zCEizSCZoH0Q3pe7s)*#|SVc7J8DXcLP6E4MLb>44k3h|EllP@hQ+IyOt6b=-o_T3e zvx?^=l^45?^-F0ycK<Sc>TLUIe^|L#WBWSU|L>{_eRg(^O62=}?x#Xm<t;iPed@>C zQ>mIWjMs)#?b_Bed)I}DRuLLtr#h4fE!fcGw|i4K$WH>sEINrZ6(7q6t&Ec0S@bjf z=D%}QKVKf-eCf~8=}WWcFLc~2Vf!SsviOcb<i?-Ml?x6yJ5Eo2<oIQEz`By4RWYeE zjmo!nD&=b&UbQ&pXqHjovm*Cb2@63+J1|}J1RaF^_Ea3`j9`Z|0vlSEu76<l{qXls zE(deE4yw1;O}dhK>C~j3`6qkKkDr?8%)ZoNVf)jm;q6`*)xG}CPXEqsl;xpsS@vYY z6pi4(Ec@#ra+<%E{NOr$+c;%PczovKPyA9pm&I7r$F=dk(2B49xbx0*_4y@l%pAIG zzO}shUDD6<^82QcwSoS2cRu!sRP9)?CFi>7IXU+4@24u(?mqEY_0*|<d*x4GkC&U! z6`Fn0`|huky4zL4pQ?uB{eD)O`uO(gr`K)=c^?+Pb?Txs`_n_MpN+Cls{Q=3c&<^} zi`7Bf4qd*q=&iO<UWNV5pZ~%nEfc3{ZLUAhw@OztXi3PU-&4ceJx)zoney<B=BA>T zF)ME`nE9*tcla-_&A+A|6`FQgt#1ndw)}~YROe4h(=Y3koS)?G2|kDajqrjETh90R zPXMQgiVg>-Lqca)e{iX@Ec-Gc>R8pMBj%U(MaEuz)!r>Oy}x|#`hR;~9@bZ_>=Fsu z^kMI-_pMzvYSs2P*Z$k{y8C_VvnkiF_B_2K8a-9w&!f-hQ;z(Y8MLb=R5S8P+|EC* zRVx>zSgP)uVD|oxmtS4APuz-l&Ax#4@L!(0_4Ypgx9|7ix0hC=MSlIB^Zm(`$@l9P z|Lci7aj4(s-S#`0kK45iduHBz9$hxUIlfjgdzya0-`m?N*Y-%?3+H^6DqZH;*<N&F zskeCQ_k;3F+;+B4ov}~fzwYPHKmA#1+tc={8I|1mV(~D?H1E_N(@UEUUiOLzTN&tY zwKY$n^7DUxu{BlUdERr6IftbOgR)}-%O1A_n-6{Zy0rS~hm+i&A{yU(ifF9fbFB9* zBvXChV5~p1sj_+1rpI%6y)t@bt~i(N+waSH#Jzj!gqOnZCpR$OT@v~`Z<1MUm89K* z-6ij>W8yL{M?UkJukb!Ea(SA9`TF>!ElX7y3>RPDcY5`vs+%>HJ9CpWudJE7CF_3Z zG`$&`$?ab!>g|o2%+4hec1Y-a&kO@^F8iQ2RzcG?v?$EANuT<rs(!Xf{km1NT3a@J z4bM}qdAC`l?B}A$OMjQ98C9GKxw)&bH|OSu_n&Ua&X)~8w8?F5ThRJM?#gXdo|<8M zww#IC<oWN%<8sY!4`RIp>i>N0H_Cmaadp4Z)77U|ukW4uWqW!^sly(phDZOk&FfWW zzCZIyFnhBkB+JFAIwZafJ-s0o!i{42!+CmB|I@(DjlcK*4fPT|xw7R_qww^rmjcds zU0eI9#cIj3Z#^?p?)7*YRo|SpW9i1Qqt}8WUcaBVp+(|w`p3(geWOkWPtDRu?0mXj z|GQj`vz&Ltw)&m@5A1b%*M7WmIB0uf@lNa8wsoi9UQ54Gdg#-amHA7r9Nx)NnisX( zY1Q>ijeK7z-MPE?Cm1^aK5@c4?ex~{dhhGse2<o2yCQTaKmWFN{`#0DEvjkW8>ig3 zm7HlRbvkeRJIggJ>cZgSih)zbt>Mt5e~@GD1un7(2~D%!mOJIy`LKzH`t9_%!{1Mc z6762~w@3P(y@KWY-SJ_%bJf>x$zGJkS^V^z_TTD~2_G+ud$($tKK)y6uKn<5$=P3< zavtia?lJhiz361j(U*7o`%hKhHe303TE#xc%hx_#zq<d)r>F5x`_4o@`C;xpWy700 z$qTmBt!$4^{26rp-=%HE>tDB|Ha5BbnO0rh=3_2%kNIQGzvabQY(m~i(l)_SSKIg3 zZ+O3?=I2p6Q|VtNXVX)!9I<?5d?sz)&wo?)?El_!X0D;<*ZhO4-e%RWP}Nb?P&B!| zE@sKE8|fc*bbJ#un+L8s4uH;gI%k~53yDfTp%1pAV(gC`G9s(xHuekr=2Y*OS6dwS zdg(WXY3pO0pPj7;?p(cHY~A$To1ahk)c-uVT0l`qy+>+Enz_AgP24gc3Bhu$H@|P2 zomz2l?^KWMs|$CB=!OR9iXL^exbeEfO5G=3X=UDC-HgPWJ1VR9KedZo)+DmWyf-ST z`|0|A+qfXM?=O{%m;cfJwa@13?gTTTw+Hr}FpajK>b*Z^ico8@#==hL+H-UN#&M?T z?2O&>t$By-w2!T--y-;AzlYtaJHPd|{q#GPpRF@o#eBgvv%pKx;qrHza_m7deZ-=% z<=w`XhBfzBv|h=);B)ck+wIzyc6)29GOT^F+or_f{PdJ}(fLPe&7PgDeDy)<esE&( zvs22ca%b1NsJlqMn)~aR$Io96p1-m@^X99RMO4|o?V+5f^=#QS8Kvys-rVUdWf$!B z_F>J&VE<CCoUNN$m&Pp?Gb%WuvbElLVbNqY-&K5<59%nnJe~9O{R-#mDAQHz_*7=? z{}fv)^+tLz`^oOPRi4N5{)S$);NA9?d+XF4F1yUb<tmH6aqTn@zqjLGVwm{m-5=LW zAFR9FxYx?7bCYQ5tv%b5?_9o73vSso9^nXxxMUA0#**3&9PPG0ebe~<>PWAc?GI;v zxVcmQoX0mA%d2)icUx-byu6ei5I$>$&%aZx9{---GBq_`HT&Pc*ZP*FpLX1tWV176 z=jS}oy7hO9&$xpF(}5|9MMGz+fgvp0K&lQ9*<jBkGVKd5*cHf4kH!fc0TFF2{rr=` zwG2opj1drVi5=onWYP)LOcJuQ^MTq3Ntj?V(Ni9y!6(Gg$<UhW@#BX9D1MQRpTN+n zS_`h|kd60HP+<~O)cOB*Vd>1z_8+a@yuZIT{n2y&XZM>|+Q+>8lwQAk&z-z{gEGh2 z!kh9v?sGEp|IQ9yvh_Lxml&jYfHcnpj9JRw+bizeymT_(R_@k2&+GpF^8Ekrud3(% zy1)Mp#(#*vzppk|{LimTdy9TNVZD9+BXX!f+2tG+ei41qo6G}+JSTPhd2Adh`r`e; zB;Js`Kj)p-rbAogDgk>JUQ4!>&-}`gmA~M8=}uNH^$XAat}c$w`%}|+EBjXe+aJ@P zelGj<?CHN7FWdFh&EGy=`tQcp>J4`eh58%h{N#ZK&7b({bf#s=U;llK)(R9k85HCh zn4zdUX;DhJQm4>SeQyuX-E~1)6TLK?T!K!`^4b*Q@?v_5r*xFA?yZohf7hRXv%hS8 z*?QK@<1;Gn|D5-_Nb>#fInOPhf3`8ccmB@zo&I_12mUYKsg*SIc4O-GAD^C{POm>I zRa_S9@m#bq#>wG)jowZ{sWy&|1}J)>#I##i)J*(rW<Q^+{HE_3d9ga;0vC+ubLTa+ zDKII)(9WKQBSw#SFSftwV7O}gkmJQn{~giG7`tKSbU17io)F>YvWEYrAmgg)LxLBK z=ND}EVHRT)6o8<{9Cd|_JslD9o0OSCzPBhZNVj{KH<L{VVaH8Bha^eCjdm&SEGyn| zx;vb&Ids>EH-g2*0g5)wZ8&12lvI17k0ao&a9_i`pDnvnr8Ypl($T<?V$Il@>T=}Q z1X;layVPYEZ9j9CpEgN=Ie}5|L>ZIN>5h)Ciq=XFrT!L7RnLUqP0Kt0_omW>w=62t z1O;C^m$@{&npeQ`<&63r-OCNGFekVu+~)MqQC7M(8W5ua0ZA02DFT{72T?#gy0ta? z_Me}hmFKzMh2~v__ktGB=M?AM+f!MY|7g}mP^qD!$k>@GbT7o$6I8+&IXzgv|KFy) z-)^1$5v}`~<-s)j`nunr&)XZ{kF@=>Q`p{?15{8<uwhY|cCuLCR2WpQoDgB`OkGy+ z_i;k!#2>E83+{oH#DJ8P+M7y)l^8H~rnUthwGBwpth>muVmsJsamLQnqPzZQ-N07+ zI3&$X3=uk=vEqon^pBTQz^2^h@X#r~Eqk#76u=4mf)gU#nAdhJ#cz$~BQf5oKT?_P z=LUgHE|O;KOwHS^EY%OP^^GEv(CLf?q8ml_XRus}1}T`--EhQc=ey-;%Ak^1QcYpw z83QfXJBt<y?az6zJh-cYqr)LjSz+Uu+;W%4f{cO!jkYchNs_!<l%_or?`^08RRIn~ zf)gUtuK&G~19GXtVHTBXl5R^oqD?{`P3Qen;sp+cTo#pSJKy$Y*ns@Dp`F7+XK`cL zk)S_|1OxIx3Ow|fgib%%HGftw$fYSW8jctpULjK0-RAXYQ{#L;O_1|;_BI?b+J0BC z*B#{aZvu>+sU{b?BD&&Dm|p3E6r6N*NSYb*J$N(Nr98qDBGM$LD&<`a=!`e}a9I<S z78JG%PKbE6&3e&CP%U^sPDx>74_lO=_s4EGhrM70J2^abCcm!BG6T7ELL!sUX`aPF zM|7pMKAvW)vswyr-V-w>q0@KD+)d;_PQT&IqB8BGgEmV1Hl9fO`Fwu;t-|B7>E?G! zCU4EZZ`XRx_WPY=f18gjZ*Oco9JMVcv;1!9^tXGz-}`pX`n`mB?3Rp)b4xCHUR&-j zzdCaBvhUUZem>8AaG>$qMR)ngy;Wa(ie<`fBx*j_30%}t`r^XDeZO95OB*CKi0a4L zgx~M|eBS=P-JcK6zkfXLH?}>;%x`l+Z{Lrk>OUWk8{Z9=1;>suD0UW3`DZAE;$;^h zZ!7!XZ#HkM`kJ--^EvCc-)`rZTlL$1n^F4i&dpm}v(r1C?<joy=9qMTNuUcGx2RUi z^!U1+wm+Xt-j;e=?DxZV`9Jw8o5I#cg>B6WwRb<-C7S#5)6=?h{`P;boSLSaeR`Vi z=3qa|qxb55=UV@KGP(Hc-4)T>*L6QtpI<ZSWuf03i;JzYKf{DUN$ib+!p0uAP}K1B zNb3CY=gVb(z1odQmB%F0cLXSQZ@IM8Tl(U$mzS5{p6D)@sqEhO<%II5E4xawf8YQA zFWorp%!e1MlPV7|vR7>BdtCqbYq<S!Uh_K%{<dGI{QdL!{I|R1_ixtye*66Igeaw@ zU#$OpIGp?C#l^b4Ql?oEZ*OhQy|yOu-u#ZN`}=DDzP2iT^`l~5-LIGRcYKwWa*OF0 z*cpVZi@ABP=CkkZ^82-Gom#o{DmSN}-}Zk0|9khNca^N%U;cXS_FESgI@j{J%M`Yp zF58-QRi`8M`@6fgUcY}npa1*L4CdrF_xJDbfBft9`t9fKexK<GI<%zj@2{|>UZUCe z_U!zgePhGIy}w?q{&rlx{)XlAIggWXWUt>F)H^r(nDzO7`+qMUJ6!mFGhKf7t5vJt zJZzW$_WHmS%ffd`u3a}=#bZ+rxATAh{HeQfdR*1Xr4?sp7+%|)?mu7td;j%*%V!ey z*V*N35@ws_Zu;}{^Y6U@!i<6*GN3ZzyBB)kO9m)ddPH|b@JXAU*;V#7>-oIub?!RP z&(2Q&ez$!7*LQbsD^FW;+${6bk<>}sa&Mdc{&ZU3HYsvljAehsBr)%<H-CP9{ySrF zzum2K*6(e^XGiDlJgU6l?yl0$8fia2J>{)@eSQ7>(>H&7eEjxGu>aP--|ydlntN%9 zr(TDL*u_hi{jATn>c!ZfY0g&K;*qg3Xz80<+3QPx?)rYO`tKf&)a8D2ZA8moU0G>X z@gYGx<zDv1MXjcJcW$uu7zzgRCY_X#`2P3%{rtUEUq97dk1d~D`|+rF*_(~WcP%M< zbK|1qzfY(2^|Bt$NuO7_Y`;6p_q*lyx4O$!9&ziHnyU47#z%3z7>jq66Ka+S*>ybZ z5LEv2%j22p^_a&=cUFaJNAE0JntNx*#cg?aUs-gC>An(7R1rC8`|*fytcqu*+qa3; z&&<=$$?RW#NBG$~H72DA7NFwd-Bi@V@21i;?`b-QEgc-vy7BvJzMU~XzoSOb)8$h| z@Bb-+tH0l`zrXM2Gim?7clJ~kpQ?5_J0YZHLWfjR=!OJGanB>U&(6%0d#Ym8b!X4F zTiJSZP6#APDlI;tD|pVanQdp!vg>gb4_W(VgcwzyPBWc!b#-{Tq1%@Zr*m_yukRMF zR9ST5>qNV2HS1z`U(?(9L@0WH-QLqhIa)fGVm76C%9}q=oaa&{xLe?<&5sAou~&A~ z33&f=V~MQpT4S94Y`&SR*}X~+b2o*F4+T11E=&wa5#9Kt>JL+cWr56V$4)2Z$@=?# zEZX1K@c-NGd^uIssGAEMnWHx*wYqyeY|PkH7v{_2qOcKEBiz;RM5*64x$1a&s#<MJ zJ1gZs(ItpWL?eOU=0k%!OK0BQ+V6Mus$4!S^O^Z5bEV=Yk0U~rjxRi<UArVSHn}Cv zSD5xioz-N?>9%O+F0G`Ud3UY+Z!QsBsKWI9(`o(X)$D>vLB$ibk4!K7b~Al>M{17Y zTxUMZBf(h{ue<e1-8|IF9Xn;F{=`dLl03f@pO~Pyt@d|W|Ey2>DHH8a7<}@!uQ0f- zFzw9WACLRLR~j!9_Onn_^^&ljSn+)4gC=g9U$eIr);k@U{`ykg|G(wa-|NNh+7VG? z|6{g?s?+>!h37r~pM52D>B%p%OF1qIhMXQci|?9a_`EYtG5Yc{-{Pq7xXPuyvewuB zeV+gS#^QdvS4ti&y=@(Ww$4hP>s5HCh$$s6nK;QTYMGCuef*k;w(k?RZg@87N_bG7 z;OXn}^>;64PE<eUa!UQR$>nShiEOrs{z|JkB!r}urg@}y{9)Z_^J>Lno3qoMTtfEe z-rly>{nw=~)z{iHoi(D4*hm@&2DMDR618Z)Oa8>7YY9RRRsT+Tp%LhI<jcZ#xlLxd zw<;W$T=2NqTQ0{kQ{>L=yxnK3zPxzYF5Icw<ykWIMXrGNz2tLCRFpq+m<B%Ee9r3h z^-V&pOApS<jxD>HdTmXlac64LUz-a#pClMNQ@2R#p|njLwsoj#&OgDKIc-g-%G@cX z?MsT3W-e^t5%js1x-M$#sq3bbiYyZkv1H%cvU2^wm^~F6-Oo-42y)QO+MIZpZMv#U zkBDDTil@Ent_g}urXDisP<_qqc{Sy&ypy;5qKX*MLLa>a8+!|l<1X0<20Y<3R6RP4 zBgtlCim!@NmxyxFnW<9(pBUtZMz~B3i9Y5ZDAV#`K{H>`!Y6JM{7&ESn5>#Ay7AAq z+xf8*?pM9m6^{+7v(%q>D`KP1dz%jZ*Q%E66WvojT=Lf6dfDIpuY8hZmuBI;fYRw+ z`&?#t>bqq~3Lov=p?^o&RcG>R_NKJS+rfDtA2TJGDJ6Oc_L_va@Cv5fRSNa!oT8X; zg7c93MTxFgEw=KW;;NV2w6vXsXTOu;dZ}Q)#$F}LLwTx*r4yf^_qoOglbpP=bSIig zF?k;OxcB=#?^5%L8d`fUbrfuRCM>C3<UVm;MN%h+QC^T|W=*ev@=_Po<nJ4o2ncAd z-Y8lkX#0$x+ipqAimV&QCrydG7Q88LYNf!=lzScNIo|JWCae2@D{lL`u3fHbg?sAF z<SC}pHVS&5b3bLYNlxq6C#l=JTXN$i)S1rwI;HWuMD6<aiD}AAot_R!l5h8U>KxUV zV*CmkC1`x2v?2P4k*&&_LX}0wcOAIV*0M2`Ei}&AE2m<<lHHOxrG>k*T>f+%yEq|8 zsd3=~--u+-slh=3ngT8@M#{Y!kF4MCc|6ferE5x{*41UQ>2G#AJ&ooPn|RMFP)^1C zt!bn0)2KzYGU8G%_nw)#YSYH`?cXJZ1>KdVWkw$BQ{MZzfWPC8(q)&B&6ge=kl$vl zXtfGdQvU##)C<u{YOQIOty&$bn><ag-MQd#P<4{`to$6Q>^zCt#}t^9CYXcsb2(}( zP72b|bU19~7ZjmcGg(?H$ul%6DE+akYVlzSQ#L_?#yzf}5UKM<36Tj?l4izi_kgr! z-zX|<>^T;SQZHlaL=^H*L1_>xOp4%>GC8q*;g7f5@2?448x=R#RAlGEq8BG7D({Wb zy4`rE`u$$NzD3q^tx7-X+G^}O{BN4b^@SVRCcbr#koGLSx_o|}Rp>2^tEnr`{kj?+ zUzr-T?cNRH-X_zYPOkO4Hy;fP<qb`cumAJ$ZYAejZx$B^mP@J%8+*PLc%b?vb>ot* z%&V(HV>PrxSEVd=@BgN2cjL2QWX|<<bHfdm25D7$Y_dIC`~B|oslGQ)HJMK6P?@wN z_qN&kd#A1`g~;UI-?x`n+U(4K-_|gxsbM#{i*Ig9-S^k^MtY(D9lmE@9{1Zv9d6?- zfBiJ+`_7cvBHPS4r{<QwZY?naHPJhqLBYFm0&38lPOAKPRQ&feMGwWb#m~=~B^}|o zufNf$m1`gPLh?VhE))K0F87)F=ys@1%#I6LS5`dyttqrt#;Rn+dvVV#dT-cI%1tZ3 zU%TB~W1{D`h7^6DZ%hBY+x^~VQs<p@aeHsMercDlE68*$@Sd*s_WAnQ-P_L2GCh6V z;o_WqwZDH|FMW08<6hIwjy5;d$iDdoiA{kS?O|)9OzqV-b^qA+>6CWeyyJ4!XP)~W z5q)_leSU3?x6n40g%13`!#AB*5sKNE<a%FvvZc{6<vxo;s}B{ui`cj(Xla*e{=GZD z+iEQj-?-5(WR`raXX8BE>R*+8HlIAii=Rk)wyV~Det!PF&lOO2;K6+k51s$L7uMaM zjvh3fA`{Q;s+3lDNr$Zk_?)Kh)b(mb;NqUW%G%-Ua>U~*7P{+Yu8rQl&2zF^<&jP0 z@9!Pk*S}D40jS1WJ~QvehJ(SWnZe8bwx*q(b#snoagD#XOK+{d;3`n-FK^FBx7XL! z&UQCEJzYQl?(XvMwo0Cwvi5a*-2HEQZ>s<QukNk+{hG^*`&zj~Kbb@yDLU38x$>Rb zrmAl@({G>F-~Z;bR^+B7ymB@-T4#jZ5Rb39xKwhdcIc`pcMFfpx>>ze?zegLIATLW zqkF+j_Qxu#x_%fg6Vr|QVK?>5(};WBqNfXZgig+zyyfNP<-1jk+SPn#Nqnk&)TzG9 z<6i0Y*l(}b@86YDEN7wkV8cVHEF}ddr4RWmD%1YEc_c~pPWX|kZa){?g)WkA)ah28 zcmULH5DkxcxT*N_S@Yd5_I$k-UH0qc^5}j!+c%Buavy%Sbt_EpkU!qq_D3<s<@*gO zmdK@wGh7&N8ZB{bW(!;5A=sZKrW0|&RmgC*W%07FFE6XBuJZgM@G#}BdeTWL{}%Cy zu2PZ0T|LXLzq-Euec<u=b-zwNKWugG?d|QmcPLJCF+Okcm`6FvI^~3bymFGeRzX$L z$sL^qMeDX^U;kBg`RnWJ)kloyMJPQtQCh)KaCVldtyWix@}V{9uE#pV4zb29kyKt> zaJTyX-s0QF%Rt@ZCqbaTfVmrL?>Hq==b(d1;k`YTek`1SUM%j<Io>BLC#te`a%uCH z*Xwqld)nn8eR1!Nj?_jb)|f{g{D1%beqXDrs=MZ)%b|Jo|0<^kr}SjAY;+NMDXzWB z@sz;n(%082k4$iDnPd{WXyVJQ;qkRs7cV+tIMMl+z)O{`&WNJ7%Y0`qbFr$F4^+Er z8m6;TZ=&y$=^olle!ud62sHV;_tNQHGwB?+^tx^l<@X(>x7<vonnWw@Q@k}hrhf%! zXk$Vws3bq(g<d4pJnl8$^MOxuUWbzAI+2%-U0tHu&$89U_2b@b@ep^d^0@fs*4EYQ zx2M!Ty0$j@?F47Oj~TaZzu$TM$#u&Fw~um*y4T!Hu}zw3l$vvEOXkWWMgRW%)LZK! zdU%%iB{xa#B+oAsJLDfLPioiM<X0TtyFzo~fs>Qfe{Y-~SC!cnA*8Bub$iv<SM$D| zo^^JSYj>54;6|Rz-5jPb_jjavFs9v2IXz8xZSL)D^MZD3Z(P!F{?t_Mzvn+5mw$iQ z_Vt?0G1~-lrHbnwwu-;mbXxCo#<C+uJNFryN(<f)2KiP4tujg7n9?gB-K=2m!qfRm z@Sw{-kMAmzcBGsX^1qr=J<%-p){PGj58K`q^;}fI_nK{@s!HeAmL)Tk+FW=i?mpDY zz1w3`D`)2VC9B%LcCR`3q-x2mBHN%~N#<n7Hv-<5!X}2bh`n6O-&(10p!tu|f=ua8 z$8YRR>u71~P|dawv|O}h&oTK+(fj{=@)i$gsk*bH(9V9*v<}sV&PkJux&xG#F4+{+ zpdP2CbJ6FSQ<e6aj2_XGsee^6_wDJsuz8uVVEbZ1p8NB3dc4gm57nT5#Y<=K26`&B zhvccUPU%qV%}5q->3S%Ty5#BU>F0x!cbB|;^xsX!d6iaD`;>j(?^WvsZG5>-WS3&D zSmEQEg<V=fZ6QWtM<z{)Id-U2AXKTwr0bJ_=F>Zw(H;k%{s;&ZYh0qG^T};$#HHYg z&M86{cmH~|dhey2oG1gKlRq-nOy#+n_j8tqUK5w~xsw|c<-IS}ffnn998Tg@PhPs~ z-KVFg|JtrQzsr}!q|E-zlPVj~Fk#~x70{4JI7;o_sMDQ#;DDL9%h^Y7_jj;t6lMP% zdCcrms;9i`F@cLWj!Ahhs&!E=zd9k}$TT-E-A&@h93Dy^nY1OeWx|%2MRmJZ>qc!k z@!aQ#;oBQO%|A)r_BiTlb@TG%pGNK~7TU>5PN(Fz<t9ptn1U+E6IzU&sbMGIzEMYQ zfTwIc(`(Tbp)|W)wk#q~X3;Sf&^VhVXs+h1m<MWhnv!&Kmb=!4O`)9GR#!o_iv!C) za6@k;TD_}z)M#hkL{Pp|V7dvanR{2GHnD_G-z~A%Ja>5hmTb53%P&i%Ku){?nw+^f z!3)Jw0Z*Nk304IU9M=DcS|4Y7zuRa{=8~kBCnhS#Zo9$v<X-jr(jw3$$@vEz8D+ZO zetCKM`1e^$Hu|eX&)8r#>D9^{Pa*9rRj(-<_++grwnm<d-&651rr3N}`TM-&<9%QM zY8v0-64QBcHScCuOKvdu>R{QL4+mHJIWC;vt+(sMcB6%Xz0>|0xcAG=z3BbY0_4yi z?4YhpyAyh3s=k((cp_?RR^-)Hp>H=Hm)qPWs{N}>f+K8q+1ou*I#UB~I#0?qe7FC9 z-E_xoj645)I$b+^f^PJ-AM^S`ylkJ%NZxZP^Y^#6xi>Z>{>yina_o2N>1kV2Pfz=~ zO*-dk;ir@8&u8tP7`btdP35Ndw>_QL{r>j$b$sx{X=?-WcE2^-{pFH(ZNL8x-&rOn zw|i&a*s!o$_4ZVok4J=eru~!Z;OKC81R7%AosK#%m=dY;`|IoHPAwuq3hbV<>}q$p zKhO$U@!+@4y2#DPG8LQNTs<K-(Os@`iMvs!&8Fumudl8BTl(bl$K&$;H{T0x-1Yn2 z?pT|N7p3!d9GqA6O7s5oNgVPMeSWP4wU4G0ZaB*xxaZPR@917B(=}ypZ)sKs-YdE6 ztNH1enYxR8XGhz&ce~$L&A+)h{rCNznYyksn5)y2E_TR1y1k<?`Tnsb85b9srJN8D zcQ{gXq(iVyCVHWWUd#>F--o#Mdww68Q+Q1B+fniOA7wh$Wp6g{N}DYaI{ol)d-QU@ zxqnO-?R)c@GnpkgX=cp*mRY?VPe6nDCZ90;?|fua%+4aYjVij+rd<2^`T6ZecDWZ$ ztq~U|xVOCMxBpk*>9S;&NoEpgxbeHEd}_Sg6E4lgzH_av&N9tTD}Hw7qpfbg-LDMm z_j^9a_~h?=Dz^LMG3m9@+w<g(>csEc(=EH{^w#73^6!5~Ome!lzrKF|x7qpoGT+Si z+%m-^`iN1C{hgqewcgY9zCCE>-?iuCLdL|o28m6ef!U?gJ}PhBTm5~TX7I8bkB)Zd z{{8jUEaQU0bf06_m-$Nn|1~|n?&Hp-vE?UU_w-giIY0k?t9eeZkkT~Jpj~X`)2Z{M zs;|eESC*7NJ2Ugzia_Pg)S_DcEHkAE$)GCa0!9_$QqgDq&f@l-%FUp{RF&taQmbg> ztBZ@<Z9g1f_S24ON$y}%s$6(}<8is{_xu0v>sFq4UQ|1*LY_r9GxhWYHeRV8QZ9?S z)_A+9c(%H3>6q2F;#v0kz0VH){BW3mcSPHX7xU}?y)0_~qqz9xR<EgAl`IplT>ka- z_3uQNK+ovd-DPXJ6*Tv(-~Vryx5@LTKS0e5<*g@D1ddF2_3Kf${<1mRG1I>;bP4F( zBh;JXo0=eg#Hg&trT+D`wXd@SGP@$wuA47RQ)aRRb+>x=pq4t3VyDB_MlE$=>WomT z|NQLi=M{27H}+H(`<E_Nj9YV1rODGueWKN+7{R@9d#fs+yuTKm|8+|6wV+EL#ZULR zFn6{Y1uUu;;o?g2{GUF*_S#atZMw0$t{g48yQ_4c-(<IzNv1RP_x~x{RX#yOrRc=3 zfS{y_@z*-{eLN;@C%>fZ!-IqWU-)b3Ogv+le5|5nvRlZc$IW++l{qc)<aP7PbSa1o z?_9#Z(WRmD#-)x8LYch2gwk!KyXTSI%gcQIS~8@HJhgP3TvR5R1m61jeExeukD$m% z?@o?QX%pN^HYXqN(~II3*ZWf1Yoav&gy_r7S678@HcCBpV@u}cpib56PEnc#!q;LZ z{pwOsnznJGYYLBK+T66Nx6S-^9}0_guca&1ty!JYC&KGwHu2F^?eM6TK}-LbxTvfS zU;plLY946A?EZhRR<Hk6<7{FYGg;)3Gr#Q>R_Vkgx{;fXuv*R$KiLzTJhN<%(CH_? z)UM>XC@cq!giOTflib{r863a(#4qQ4X=hcGI-hLZ%dx1%VB#$=L8)u9oBAe|HiyTS zPF=owlGf>ON~^=xep0eIA(qrJL2;$X0Y#_ImPy~ds<d7kL>@mO<#R1gNcL%!i`03$ z-#OF6l$Lg=vKBo%H#gh1`di7%#phYYV;*F#INBvz%;<aD<G5>H=b}w~LYjI33mV)N zIvbR(h`fI&m9y2UO6R$&iX`*%w7u$oCwM4L*w{NIe9`vAz3T5jmcFr3nRfE4@3Na6 z4tbzHaap<w%B<OmO%X~yE_XUiE_qyCGU@eM^ZRdJZdg*i>Ap%YM}mM$3pZzStx`6- zV9=4CHjB29&=euf+V^|E$9N@Qj@7*2d`suGj;HU^4ZOU9E<ZZdl&1A`Zk%wbYlTql zlBqh8mxBE*%Wt*)*%UVUgz{tMEKe6Bm-zL2zeQEQSlAx4%TWGUkB`!Nmx!6t*HyYC zwRX4h#Z2!=jqsL=bB}oFnljyVIykq?N>gUqIkDl0(XH5t=v_ofgMcILUnjWmUpD); z#pO)Ia*5j-5zbMX6HiVMlD?PTt2*&u#q(}kcBZl`f$l%OJ@j0Q{j6T9{4bA4-dXtA z?Y>ycmoTL%yH{@%E4sMIwd_%+`m!FyIkR_8Y?@sb`{doOZRfzVlDk23lv19k11d`0 zsd+~Pj~Inyob64%G6U4yP*@Hgd0|9VI4MXc^7aWUzinEHXP3<4=xE^RIA9M_Xe)|Z z(yJ_uP`j>s2{MUU4N8E8Q&D{EkhHV=_sJ^He;cNHrb)BbXfTMZ&%ZHA<?XLaXX2C> zA9tVW?zVp6V;2V&p?*++*-l2$t}rRW?*E_9`<}9i#=pM0I{o{d;(pn(8;O1y2O1d7 zik^6g8*gLY37XLOT7Iwc_zsPu`5N0UL#6`LxI$ar?0DSwIoJBu_Wb!>Wt~E*Yn<Ep z;%ujW7T1rniGC02O6MMIVvS?a*xdVZ<8#%|{<pP4SEZauy|<@wrfu%DzJ8;Ao!Ef6 zAm=rKoR>QZ)p@6rPFlICz^3r-&)%4Hw98HP#>V91QQ!v3o0;kJUfwQ<ssH=6?El~I zyLmS8o_IPv{@v}CoSU1D*8O<Me!Kep-dKy9|0mh%zTflN@BU*WlT}Bj=|*3hrW>8M zd`?kUzG=~?lj`ZO?{+Aq2%XN^YihNVqvJpxXu6Lr5WTsSy1(wP&8-fRAcg0Ty7jlc zyuAE(-Q+hXPsmNkzP6??szc#->?Yll6W!%rPV`age`DFX=cCm{Z>6dBf4@vtoS1p^ zQ=4?&hUN3BPJM?A${d|i=b<st_gLYNhwZmtTwJ`i<mIKX#csT-;o~waTk`Mk`&T;G zs?;Xw$Cu0g%XiIo5eHQr7q1*@<&M6%$n|fPi;n$|2h6)4G;zQA`~Cj+pK%orTlFq% zY2%gtb#Km_#FKV2a+W%&Ot-bYS@vY@_IsO{Sh;p2C|_~Wx!FG1@bh;;cbUZE=jXnz z^)}17@!)Z?wP?!j(A8mPd3P-KpIf{AUY2t^-`Bb?j)zu<u71|qC2@b5?`)m=e}6#D zpk>zmPpWFb-Gwtk6%QKO|D<z9s=V2M`g|5k=ikbomN)m;*T25GIX%sPc6y)x>HhgU zQ*L#{ACqfzY-am8@A~(<<?~BlUpxE%ywLuhjh6#KLmCrqbEZV<U~A#b@Y*xsxaVZG zofU!`?`%wNH_g0sB<;+Mhc(-BZ%^wImM@ub;6}&Oi|+Dof5#~;TQcKb#pB+8^MwM> ze0qBNH@iy8^z43l`+I)2Uqf!!|Nr~fS?GG*=d<Q-kIUD8$<W-?9?|x?y}P&%G|M*2 zEcexG<@lP9uGU{JILGP;#;5d`+@Go)zDq^O)HTn#?9B_o=$5{Ji`{xZdFUiBu@|yU zIU(@>!?(BF@9&CGI>Mn+ozo{_cxdt7)nRLkcK&(Pt<N*Djr(~r-<hd9w`N>CBxRoW zM*hzX>tu(v=VxX<&PhCMae20TUcG{;ouEMD8`T5)n}0+e)L-|b^2gWf@wX4M%fH$0 z@;Ke(H`C{C)2%;PE`3VYPygmAw!g>L@X>TbKPxZLFsIN&hiOMA{rBlK$h)`a=BKBp zpI^GNvp8MaEN8}lwoUH+a>w$^G9N0*II9Sr<gOLaUevHrcWs1Hi))uiVWD=!h6UX! zPNv1reEMf871jh)z1?~}=9ygGk3{j)0+LU+FLbf^>8sf^EzUWvGiXwtH}`8-LGNEm z)32@$-!2|kaZq`!i)v;5hX)7$m0n*LTkF%)zd|)xv8&^V(%$krh3)^-#5Ug9QMlM$ zF4INzrc|p(?o6Z97?sYlO9H;ndRUa#FS!Al?7O~pUHtxgPlY$CJo4N!gTH(CEO#Zl zB~qI?Iu5*3bx4^sKYHN=iS*?&Zj@e+eZJo&__itI$L?<}9q}f0kQEm@r#ehKDkRA@ z(Lre%uawD$B$Gea#5i;A?b*3}*QFmDnnWgAd7aV;+`9YyzT2s5!`H`|rJfS$FKC+< zrt_2Gh{Hq;E>_l!OYC1R;0VnD&6syT-BtSf&5Y!}kJ~3$UrX8d=hNwz_qf-cj+p2o z6&T7QR$24mAbae$x}Q(Q#nbCHpD*lq1sV@|>@+Ph-0RDPDKUM|Eu;?hRw!NXP~HEq z?(f&@e{C1d_xM?S-uC&Oq~o>UZl>?9_#Cy^tvBc4q1HOSV-7B69Z%ck>t0Osy0z}v z#Atb!UT+qcg!6(5Sx3$vxiNq4lGmTTtz5PL|F!G5zu)-QRl!H%z4IaKUh-5Yq;5=+ zRn3;|JaI9u>ZR&*@1VrlrrFOl=XHzgfBSyU{(sGMxuD328g^$|)|v^Z1bJ54ZrPG_ z(#lDx^71lYZ`Elr+=6%Z)mERH<-MqOZ}s=GjV^aQ&Z~M!T+`m<XS~;K)ytjF=e^F{ zYofI25BrH5o|4WS%l+oQdM#}!f3)MA#bciM;*;%$mtrH+FE8_zULCWuXw|9>nMWsm zp8U&8IkfE4lap;Saz!T;^-eF@b1A|+YN?l~c-XZi0UuVRo}PAXTW+-f)n4^!FV8A# zU(GFk-MqT6vw_1!SwPw}Xp7Njoum4n&m>hNMK(Camv$^k_nTpG@Vbi7U1ybvHkV8$ zE>`uPcB4yFdrk0iKfP#?Z96}m(%yT6=jEy;r#AHo9aMTH?yob^$?nU9q^SLMwfcF7 zt-M+IIaRDqeVt&nsM<q&V$czxm&&eFzIJqI*J>O%T%X~>BY5G4+m$a<!{a_Gxh%OK zS8~xcY*mP+y!>&{4%2yEr)nbHJ6{;4vrJ>M^-$2<xn$WSBkA3DJ)$-)*&ujb>8z+? z`kE7#t?e^}1O2y!CfaHot$yISMRewJ0ioya2RxTQt=cGf`pYxLjc0oAH%U$Ac*4_o zW5vWpQ)ljHe>A-^ZKLfGeJOj$)YKghh0{r%jqFR<Pc9U^xcHLv%lS(VZ#u_sxJWQp zB~-*wrOJ~vv_;U+$wP484KeABDwEo$99xznIPtN)>ZK6R$*NuM%BCVKUDyP@j~$8d z2z0#{A?>LhxoL?z+x_bIdqb|L_Mg4%Z*TiFYDw4I&FAgD-AteV({ApX*-v6bc0I_K z*zj)h*6B<3e3F{zeatoL^|~WMj?0+zdcV$JWBt^IqhPvTtj*o2ZcnBsIiAqnb9mp3 zn%*mMWj9mhOx<)2@4a!=rs%Qr3d7C@jwd{fbtjMM|G2^Dm91@D&wm6xdV3wF9X0Z4 zQL+nhQ>~h@ZR2v)BsZz_9Ou3XCPB&0UO8z8C(QFol$L60|D%|;Wy7&aOqMP$Cm1XB zNoKBDsB-k%5n=x?FA{T{`#Midde$Wod~@phi7|_&x#(OzR~mj@<yXg@pbH!``FgL5 z>qI;VytBb=%J&^=uOn_si%2fL!EYp+pSOFKyPL%e3BeP-EZgcVEN{09*Uj8)t^eh- z`RZW5@D(@iM@sJgEERa}>*4;}Yk&JX=bosIecSMt+s!g`+ZWOO84*YIrS@N#9WN!W zzrVP$3)0+k_{9QhEw)G>5xU7UHMaP%g{hjLKx2>KjZX(RZ&QC_l)U&Ns4}eVJfL_y zMrY$0Z}XU9QAWWNMvY5EyuaN@kyVeb2#9b8FH_)T*{Bou?M%z86X$Q6-8z5UZmWxQ zd0yk5+S_iwJ^yT~vHtQWRWjD=_*!Z4Sx1bl+~+#7xG3ZcczA6*BfZ^kvq<9}XN52w zeouv+cQzC)>Q+sj7L)d`^6rkJMcqq(q|TGI{qiTZH~Pia)W=SfBixc#fL0V%f*Qd2 zck|DNu?S6SIAWxjAN|D9TW7K2lnA%S>Kl8G`GZ!jeUfWDk>u$p`K@}%uIS(2-u`!- zP^-4`jhCXVRA`iCpOQ&Pz}wr~*N2-e4NRP>YpcQL;y6oC*=>mk>!Mq)_kO?k`uRc$ z{%YU0uao=j|Lyqt;^N`$?;k{kSo$0}R;IItd+DLovp6~q+-FglR{1$|LWJAy_d=&L z{-{j5_+#aEjt+-=$^xD`FVFnz3US~2`J8pF|EU|_Ze_3kd2dok9q;W{1^;d_-A{jY zuCI%Iebs-W>$d+Kp%FLLi~juhxX)c#H0Y+?;;gHy!Zs$kX5ZPd@qMJ^w-ryS(&v^= z+sH4ye&hBh`TPG)n@}zk_h$ah4T*<aWcIV^GTj6%_lr#_{$8m%?c%%sBSup8ovDzT zX~K677a?z@sc(*+*e0HNbkbYB8~U3(CMs>K{G2B4y-h8V{{*OMsJHh^(DJ)Gi_@o{ zF~3)F_<NAE%FDxc{h%83{p*g5wUL{TX`FISw)gs0yXW<~-GA<Ts0s#uO9Y+y;cnFV z=j*Ghr&XuC^<5RR^3m-Mfx9x6MN33=A})Mye-h>5{QCO(_s<vU|Mo9?d&~6d<pbZ; za{3R&+*~|)uZgs2))S+%|K>8Y^OY=2J$HGz|Mpi`S4-E<GR=N=J@NKb&}iAOudk=S zd;Rv-*3WMPJN9gv%5}T<0PD>Z>*>?usx+@|Q>lDkc(vy<Xx#SRp3g$3Grq?rN%qbM z1p=tpI#JD{)R}tVs9evIEyvt+CK`OJ-Sgv7_uGZ-azz_mdZbJ;5^`^E+nRZK*-b%r znTNGeTQU+oL=Q#mtEud7m{)cy(=6ct!~NNtVs;kIlluL3`~6??DZM9BK0Z1cduW2w zlFy$`>u<L#es*KBzg;G1e(te_d3BId35QNodydfGH`mtA<~FPjVa>FCv7k9dr~3Q5 zxvw%EL?+&zXIs5XqW;gv<97V#?r+Hq2CW5rJ1cwL#@YG%ZcfNLR(X(B96XZs;lV+( zvNsX(x3}fqUgJC4tS~<R(vnVY!#f?Hl#bN?`ch~pZ&$O!cZR{isO@=kzt0OgYjIw9 zLd3JP?x3mOecn2YKTeKtd%PT+f%-u!Ndgb9Ucc{FaBL?Z+eVc|9a{twRk%D^CUU6O z3xHOMbgm6t+y<JUT|ApZKDtdn()MAC@S2Q^i`-7VXcdop@mgo1dr;<d{rGp2q=FJX zyIol<&3QdjZRT)qbotN`rWd*Ch@bu6lG~e7ySuZhcrPaFg~t@Ot{1*r|Nn0+xYy9{ zF=?B3@*NkW&K00#XRIQME_R*!w&mQsly!Zb?DwzF&dy#gbb43m>s>jQwL(`tS$XKh z%2^ywOqqmE?<qT8el8reXadb+2lB+dyMDgee!p(svCfu>VqF}Qw0?nFv3JYw=Q_9Z zZPkn2Rq;yW_`RyvYxR6wzMJLVN&$^`uMA$k%Vb^D)>D_gCI$v&X1csx<})+t_V#>p zr5+B|%q<&}BDdv4PQM_k9kyiG>btwk%N>{K_pVR~^oe_YVWIOK^@h>~Yj|CSJOh^s zI;tM>5L8N$*toQ{B!1B{QLT^<Uv7dHL9TD)*}VPPrKR4F_noV{a-%~v@bZLrr*8%Q z$ho`A^u6uUS%ve|6*iuk4el=2PDd-v?&?iDp)~Qpg^14`IZACVyesc{ne=NY_FngF zRxO>vp|Z%m`u*PTHL*|b>@41!rIRh?IdQ3COfwsAQKm{)=MKTn9?{cQrLUGmP50E& z67*Trd$^6)d#7KAfsn21n@6TgK28bt`{?AlWM5n1_N=R?uDb|vx^iTmX*{7U7<kO@ zi>PAio{%+jEsK|}XYT!ORg-k|)2h|$K8Zv~IsHB^U%w>e`q}FKRcUjkb9(4}es*^{ zmJ)Hp?W0DzPAU9}NxiDB865_jo(V3jelpSBM(OxBDbVof@(G*#CN8pd(Y{&MV%Gs$ zVQaH=%GRE(Syw+XS<OlR_U5Kuo{8GwD6dOt6CIS6d8oAJN38ZdsBkTA64&WlUR>;g zfhtp{+PU~g3U^&-O|qLK9=Ytk;c=PAkJVmTWnIzmZ(SR{eqOhJu_Bi@m!4}iXu+_5 z>{9-0Z_k&he>Gkk-)vI7_j<{xV_mA(Q}Xop|Jk(u^b`Jx0j7c{vOxv?+rIa6)*mst z1&*8J3LB3yFv$J&ba4zpu61m+raf3Xfj4t?{ok+CFQ?_IZgNu&owCTzgzMFYeASDd zPbQhRCF=WJv!2vcby9Wu4vw~3ZNWgL?&|k@w|6UrW*?q6AtYOMlZT;<%7o9to@eLV z?_Ym9#pmHJmr(hd4+lg1nVsCHMsmGWsBsAsj8p1z5tfvG{)9i<=jQ6kJC!ExadTD^ zeDNhtJ;{q@ilMRlF*ij8sg-+OVs>srWFFONyC3&?>nsigRhiH-;Xt0?=`%^rB9Y~u zM<%|tO_EM>?aDqo%QSfDl_H+sk&}#0@0)red5@UZrZ!tc&2`O70vo3tlRABIvHS0+ z6Rq6h?>@zBe4cJCtTZL{)Re-VkNE}Nw9a0d5OuA6li1`F=^1C*uf#7}vqtvs_Ung# z_sq=Df4R-$$HwDwvm?(~#j#9kYdB(*nU}guZBYkw3qh($9jHnLt;|<=FL*+5;~CF0 zjye->pD|Hdwq#|{*=b5v@iiY?-Nnm8J<W`t`&Z`(oW7wOvuKWgt*gRBP8ZSBvetFm z<LmyO6%^6hG5_iL{nP7f&o3}EtGm?w@9U9^<+nMf_Wum`xu5&{;Jmp;$EW?x@6EmW zYwg?`C)U-`&rPiNR!#M(-SGd-=d;^VZdQLg*>?Wz5-rg;J(pMA_}9vHZ12B*`@cEs z&&9vGzB=w}#p;qf7q@-C_w%vb@2BC>x##|D|5JOc<ceVXG23_F@BiO$)I0pv?)S9` zp;}Y7XQ|7kw{rdc>%H-Y-~5~(hos_b)_#3+>y}ka;luq#w_@4fc<JoF^=0eX`sAIp ze@>={t$EQ{c8T-&vAyg)s*C?@%m05hZsztQ*J^hhG<MUHt6p+-ZEaM{wax?i;Yl+u z|2brQ==*_B|JQC@eJd`3mFtc4_lqZ2KKD=BxqIK_QaRB2Dkp{Wolkotjcx8uE4g}R zi@*KfE7!x6rY_mCDPMhR{^r#i^Cp)>U29*}=@6$b5UTUO_5tVapZohQj!B;9*>>#f z`A_S2f8Te%&Bp5F{<_as4PSP7KG^^D_4_sVTCd-@t$pp^<7qwhd**M=ys2>Y^~>4~ z^7fh2V()GAZ#&oc=ia6Aj8(~k4}NZz+q{VVZ>$FI#mvIW{Mp|QHH94CmVNn%8}Ht` zH}WmE+$<K4?mk_0o8SK5oKH~?nYnKM5qFQcDy;o4ImTITcFNuS9rvf5k<Km_*V+1y z+5Pqr!@p|-_s+WcD`T1Zw8_i&Wrdf$oSpTDXUR|2(l;vu%Wv=d{cf_+x}HzbTc0Io zS9$vXuK4?W<+GBSqeb5iJz;-)VpBbL)uIpH?|+`otlQX-J+FSMZp@xT+t$@z<<l!m zxbs|d`8@m1)NOUuub(I>FnM|?oCj@~arX6OnKaKKPw+I~^)H(PAD69T)-R6WwBGhd zP%mm>?Z1EBWf?D>gZ|0BZ?+XYB%B@d>iCzvPqS9Xt(|ms*55YUPdAMJ-MYQrf5T+| zH4oy218pAP`PTO3?(OZfr&_LA(mUJY^1Rt**OjMtKkM=AT*h1T!*ln;ZS6dQyViaW z-Pcxgp!u<lQf2aa?LGEyZ@=HSz3Xb!jc2;|Z}?u{x;ZL6Z0mKgeYq#huSf1onIv0S z@iOFm$l71BZ~yX}-Iy-FC#C#L{h4=C2B*~QEf2WrSx4J!jM@K@+j><|@P3^@y*keg zf99HgyRe~CZ<fK^;^5;xAAdjYw}0DW9Ch>6R{82LKfA8=zMY-Ff4jT8?eq0>Lm#J9 zzg;?!^SJ)K&(kmeY2bLzZ~yN~TW`%Zxw<cz&v$8WJOfIGGw0sFYXxc~8ws7*oOCkE z=UV2n?P11}`P-hUFm-w*geUF%xOsifLFxSJUr8s0*sG85zPyz_f9~rI|F=J?mHv3- zvmWP`-|yb!m7cRZ>Sy`$N4<+q=PTWc<eh)N-F{!@^z_rU1@C5RKKl0g{QevNmX^7_ z@RA8Sb4_pl8^Oc>?-?KZb<g-vyu8td?XjQdPt%<7xOPMS^_Tn2zO9@&FYMO=+v`hZ zq!$_aN?qCXa<bfq>)IiEPh6|raWT#AcY;^Rhwb;vBEA;i+GTKV?#~rh*OhkF{<^8A zU0tL6{`1XSk!3d)T3;`o>=d!?lpp8sf8Ez(WSpmL`@S`Iu4~5KJc$QI(%NZz+)t&v zOn!B9Yiv~X`Ru6bUj{levmgI54R-ys?_b(%?|b6$c^i$|r)`m1K6k>TIB%D!A@>fo za^Gb9EpGJg_NAw*-=0wRy3IMY&vR$|#`76A8(rQA{)zDW!Wo$G?*FIj$J4vyFU4$( zDt^BC=VQxl_v@^KjqHCtG1jhsbneRie6w?3f6w*!^T@W|^6dNR@pYS<RI~m(b`Pvd znmPIW{3Awz|BqkT;p)Ir)a8(}@yYf_A@NIh@UEPlDIFSkbH8CoNvgbO-{Mu-4-d84 zE}gQ)Un;urLq6B*4ZIw;`$E?2FxJg}bfhy*b=v2E6K#K$oFB?xidy-^OZ7&N*{U_0 zOiwKFw7&e{n@jYTjES2$LUX<!F?}4{%;daAoL98CI7?>NI*ybn4pm8#b}Gwl{r481 z-;h3k&w1B{PcA;MF44>V{rY$6$|Ij1r9J<7>*Ni$FRylf{QkRg!u4XQf5-3d`}Ap< zS=NhlA=hqjq%`j`&AC?0zkH6;J@(&T%eQ^exba%wKF{>Lh33;63hgdV_OZsNmAj9g zx>ne!8YD6MRMq_l8_O=sI>&rtyI(!`Y|YEk>`R-LZ{4?JpRYt|_$tdQ`Pa_I)qVA? zt~>Pi+8WQ?{%J<fOi!!*mO6AnOt<p-xi!^G-EG46ZZ)p*k~Xf}6?^lk-}D>X!oM3{ zYinZ@Z<#8lzjyjZ|LUp<%O&>jdr|N9<mIO@-rT>(^#9&psMtLD*uCVZr)B45z4>_L z)5eSEqnBs@t`7Ow>HdFq(I0O8{SRL|?EJ3pD>+HCZppzgyR}Q*7urW!DnFghxx`Ms z=t^Z>?|gIJElsT4DkA$U&d2+Gek{(jH@{xv={{b$UsLMm&Wm{V<g@z5Kgauh_kwpZ z?^XeKPwOVG4qyMRR`Igftc9PnqcZ|J+G=$&J$Rd3O+&Z+2Q3yn{pfmp{oCpgxvCcn z_w}Cm@$oS)=h72=R})r;t$j7=CTQ6~yO8D_>+*H;Cu?nF<r3LoSsYZaap&rpVke!4 zhp(x<>7F^c_cv2Gm*C1y2PJ_H^=XbRm!$t&riX5>)VFzN^!eQG_siEDcP{gqYI7q@ zXVwfaoy*qe4}ZU(aChClBTF|w6*d2v$o#8xyL8o-uj@5=f_IeY{-3qAe~$T<3i&tu z_Ujg&zWHkD`CEmeeO{K+`0xA{u|E5M@7vF;a*b>2%5Lx2^yAf^?Qixhiw#;-R%5aM z-81%_BZs#~9WOf@<g4lu(%JXz#hp{1<V#j{7YQ6HFlf!@nrd_Te`iU1+nR}5zrVKa z{C4Nd&TmJ4Nb0SMS$=J%`t8)|CMMTpHhr7oc4YILhfCkgd>+41JU;SC(w~>J#NVua zy86wUD%n30am|@8gO0{}Jm0_XPODhiM%T_qovMN7g`U3pRXI<xdi~t`cQ3!4+x@!c z-<sOmF9)OFywcX+l=?q<Zerb>)wd$2SJq$3Sf5uvF>p!emj~+e=cVfEugac0Z%6ub zu~5z<paORCpGUR*t?_@Bs86%}`Nva7_+dSJZy<|{g1KOa$}|_PPNAS1YHK4VWu3Y= z(X~tD<6e0|Z>5Rs@--XW)%5q4JeOL0Zm#w26ua+tisepnUvf?9x7C{H+VyNh`{U{H zbuVi{dt~k(dc1CT*}pWol{Jq#)pK55S*f?e(I9$T&P%4Fb~B~TayH!Bnq9r5PuKaz zwkLl+p9l5ZZ=aZ`yf)!r)3&0gUh?`EFaG-a`uEPxu6sqNb+2vBz8><uH`hmR#{;JO z(?2yZ^L?<jINm3l4cc4h9<~41D{cFEx}Fm1#cEu;laKS+t3TfHcH8Zo2L~GM(j$E5 z+uc2Wc}r&S?|;AF|Gl#zdA<+JoVqj1^X~52R`avycKZC<H>*~!+te<9Pf}6RIIZXF zo12$GQ*qXxPAI=!Iz8@_le5g>ikp0`UhT{0Rjmr&Qu}mj_!_5HuChy>>Nnrq-28Xe zRPFF>OTDN6(r3QmT=L?=!g+dU^jU5Msk+Q7zU;haql$gwT6vr7XuCN%M^DeoY@c#h z)1D)_qe{`Y<5YTlPEjRi;MS?#>XA<$_m?^T*#5}&_%!`&|NfoF`}D$(Reh1m@b{VV z@Veq5v%Dj7%}S0Km-((|{CDfaLG$S4t7rYb?r8QyD)H8ri*Ke#3%zfyz3jbiv!wpM zXPFz89Bva!nOLtMYjDo)&ky6>TmI^52A;gJ+ovl3>gHP&r`|_@J|6je-uH^CtPZbZ za=%Y>q_2ry&$w^iChzuc+f=jM5F?rS>rZI@Q%#Cq^5NgMx4-4zE--q&r0c@Hy6Ye6 z*KFho46rz;y+t8g#La0=bHus%riae0i@eIOe00W@xJ5fUlqNpDa7p`~ao!{DvZGha z|2#gZZY##9vgyZ{;?2fq&d=Px_tv@GJ1^x~8#|Kps#1Go<Cdj(ohn@P!Fzp$zu(91 z?~}7YZBtMc^YefHMIKiNmNNZDk0i-9r!FzgH5&!JRbDObw=1%&d9koPMn`ZiXmL#4 zgpjn<e9vE7GA<rk%KFp!LdM%$TQ?UzKDN_C(HgWGLGp?J=CrdmpN@ygpAZ!4*f6*9 z*-X9l9Fn~&)cy*(ZR1w_D%`1h3AEqI*+$SxX@QIL?$X!Kn&#-o?-S{S48}}cbEB=N z_R~rAvh%jzfBY0YvHgDC?X+`qUh05$E7{8&`1||&_qU$6wq!oO^!v$V|0*d1CeJC~ zV1qP=<mQB~3i+sE@OX9D+F9Hh6QeHG&lC<ixlNPfNr#|v&W8sF_11n#&JS=An%VlZ z{C@3orBkI3kH!cT9GUjJ_(3E4u7I*vS5BtR_--M8(Pzo#z{PIoI11D4eeGOUcOICh zHX%$WIkj)&gu18)|Fs*Hf`Ze|d{(@7cX{{SORrDybUvNCy=>F%{5z6?)sN4X2dTVh za!bE`rL%dDz`5SqvVTI)H@4?({J&+t2CK7xQCvswx1+xk<b%vQrMB%~v(j``{N;N! zuVbaZeE1=<GIIAH%k}S0eU%VS?#|7=_y0)W`nrvZhu`o2yQj6}diXNl&7ZU8&w6!Z zqQB3^|0Vlx?<&tqogNo+zMFC4tgbgpb6xq?K284d>hR65O)eX!Xy|6!O*D&&+St?E z@ORhOvmv69;cH^jweS5t5L_2o-Wjp1_f^rk_BQ`5+4(Y0T-$%$y=Ivj@$tx{EzeF{ z-OF2lCic<ssn(x1giMWDZew~uFQ>-u)ZbGa`zOqkykzu~_29R+`<L9|pQku)X@HMr z;E$u#|B5EX@0l;XTj=xz)d|7p=N~EZ|G(t=SI`9iT+nz|w%q!Czq0&GRiz}32yr^+ zbQmb<eSUtv{NqFZiB3`%t*^yQO6pGWn`v}Zxyi-N-{K*QcGQ*?6HlG2?hu>gDZ+cx zY1gC9r(L4jHoMyQD8_KaEOcs(scMeMyS?q~@eL^_g{=R6xtx1?n(pp9i;FHSaFlzg ze8_`kYw7E2a<wY8=JO(q*53%ZA!VAiV}erqzk?Ombf#M<ZR}8-=ylA&S!rV6zq2+I z4m>>E{=3>;zIKbZR-o^;podl+brUL{fhO*D`zX(Hk@xiP6ZL*#x<vHwuFB8P^yaLw zS3TwF+%z$*Gj&n@Y4vA6E_bO4dIov@U)#!LDcKpZ&nkJxRm<JG<{Pcq`8a#ql?4^& zUZ^j>9UA-o%XjB0o%qe}&-Ss;f49E<>%_#Em##hU_LMIP5AV(8xNd$w?{miMzWix7 zUZ^j>dDZsU@-DHq$ITB~O745F-*a@{Je%9ft2YWd_whUR%n3R=)pTB_@@kpm`hDN5 z3ZDO||6R3F{4(eBzb{vt2X%c|BI>PFyL{edvvmf?&gq}1^3d+B)n9UHS*)^@zs}97 zRwgHx?3wznT|A>*xgK_H$d9nSywqaxpSW3@Pe{dV**rn;YW#Vdzb^e7CY`E&xb*t( z*W7V3iAVYEG!{Z4US720^0wH{R6qNAq0{xhIahxN?_D=-ysI~@<2YzbbG1!e;Zf0f z_c}S0VwbF(bj_<Ob-G?`Oq0d8Yti{z>;C?#WD$r|KIJim&vEhF{r~^zE%s36?R2)- zo_{~jMMTi-iRRh}C7+nb|9-#!?x8uUb<QQPDH;z~ZtPI~bb4ooi_}E(xYrjF)4wRi zRew0h9=xb$$@G68kINSxowT#?@0O&KQs+S%DqClWU1|~ZV3~8}PU`8hb;V9sK-2lv z8A^LIZ$E68e|PBbyWQ{qJ+`$tI6FhPCNuM>&_TZ6RYuFKN?-lh6?X2VY37{fj&(<Z z?46359HKVf+456bJM>?TJeQK-qRh<WZXad86`tvcIQA}C(qG3jUbT0sm~`atPpj9K zz1V0S{QR=prn0S$wo^TB%G6zcwtnrWk5BhDX=N@~T;zU4Xl3W!S4wB}U2L0|Y}_ZX z(JT7m)W@2ioHxo}lT(_uP~z;jv)w_f<`>Bng?;&OOY^n<;aT26!JdJ<x@#la7P-B2 z{phq`VcHUb$zC$In{KpjdHf;HW+Tth{&{kj@9Smm`z*O&V$f-0$0JiiqMuEUteb1S zWkVwWn;3WLs17#eXM5&*{3#2y(Nh1>+S3rR?`3CdUd2C^X_g-^$6Xg;6!b`8+8wJS zxI&<og-3JM363O-gaZug?|FsjaR{xS{O#6qe|i7CDo;xv9%^mVX+3t!NhxDV`y~%= z)g%d*i6MSUxgAfht&Og=RRpbakt<F4tKizG<}>3#ke70idkWu18MB-SuUA<eGD5zt z2OgO|^Efj3OH`1%=gX%x94dm|3zTM=Ea}~He@l|*D=ooTrFN4=>wDTyXnuAmaQ4z~ z@-tMvHp3`xiFBXI6Jfz;vz7?2kKcbU-hE2v5~07Ut9EN|Z1L=9VA~k8HEU{r>(|X& z;`Ubkl#1v~RjS{u{_e)(wHtXdXLmd`mwvu<)sxPOU*{Wwj;@WksI=QvCplF(ajtFY zig@L11-wGmX+Q2~|9@1wL7nT{&F8b%9BqC6>znApz&p>j+zQ{pQQWun^|jlD%eNF< z{QYk8&y}kVecSgpargg)g_^f#+t`(@Dt%KneQQ?XK3|!;_E&rPUd!K<|9nL2c*M)( zSJhKvwDxZbGuRRkIqlTOHCI#S@XjvZ-kJO>dbLEOxAwFg>7pYad;gl)*L~gfHhx9I zDa&?yyPFddf;@lTbkx$hc)&cZ-^=tEd%JC_ZGP2(?e>Y%Q!YH}Ox^K*jdSYh88^hP zm7JStcV>IcNe%lhBf*D0yWdSMp4{hi<$K@k|H-v^ZzcqQ`=lq|?>B$HW|hqCOTwq` zd;qm-zyIgyjbU+7NauJ{w$aC$cTp#YYUT_VrA~uQd;*Q&@ncibmyRNl%RBxEYI65Z z2@G<K%s*MZ#&b>R>S@axisY7jeB5vU?Qrzgtfx)Ks+?MSO?%gzS9!W6WMz=v{52<2 zVwIw&A6d6CC0DhzMZm64{p++0tt5}EERAP}OFizoHh`81&X-=f613u`bpF#*Q$O2@ zTv-{uexAF>PlwhBrr9TSo~O<6kmu>Rr!?6`B=UL3hM+Ysdd=^BIHB5FERb@|WzsjU z`JlbW%2Pa)TPJh~OinvfI@A1hnC6eeTW6VMPRiW)M5@5aLQ=YZLTG2|xthh#zOFtd z?7b+^<!eUx*1ZR+O84Kn{xR@G+g|xh4jv_8>5VF@o=;r<$o2ome$_zps68F3>)SIV z<NNFP%n!AGX_0+@=lb<~7jL{aS=ZgE`}@Ipwh}khRLydynp{a+Tm7?UneE>O)7%}! zw#foZ171$Ke&afSqzj*YjN#QjyH!0$^ST{VLl@06S+(|BUdh(wFY;pkHm#TEUnDYn zl9yHf;_m7nyN(*@T}$0$XZ+^A#50j2MjYz1@5)yf8OJ}Dh_>l?8zkVT)R8lPQ{7{6 z&DUYcODBBqUw`jVaD({y+CzTUON+SnS0q*DO+IH<elTeFvscs1p8VT?ec$oC-=Chc z>sLR$-}C9UeZiKyRnIrnhb;U1_4<7qr;`%%rR@*sWksn&%KTaJx8|q9%8AOq^>Sz9 zSzHu0vwT|-VPwH|c*3?*?3z-Vt31>+H@GNVHoF$3RC*$8g@@PCpl=6LqJ>oS-f(-~ zN;^Bt)HceaN=wP}iEyBbmghv7c=s*W<Kzlc=Bf)iJn7?)i4#z%uM>AU=JB|6QS*|0 z$IO-pu6$anb@!9`#UQ0=A#+vVPQPwpAFn*kMa19osYrjGQs$cO6hE2c@|OZ{J~kGS z;u0;A)SlEC609rU$R`-6w9zHQvaPuNO4PHCFGl>U?kl}_JkWV0NOaou4wmEH5kU{d z>`rLL2t;2hJzQ%1d%?>J!44;dc@aul?xA_J-en%X<-s@O%blF;tN*5j9A9?#_^10p zi7#b#pEG*fs=4Izy-Ddcxk(u>U3EHHF17Kz$!(VpyL8OX^fEW!(%y=;DdByptzR}= zQmu*iRM8Vr<GQ}+l`hlSU!LD?F8P=rl_MIqV{X{)x!szromq3r7QJuwY>iz~@oUM! zd&?tk-ufq3?R0G0frgCq-=}BoxZpq6^8V2o$I4`Xe!q3vt#9t5O%jV%Y-F7%p&Z?$ z@I7SnQYD?2XM)xFd_-sVs!!V}m~^b*q-*Kh&-&YM97&HaVqD^J(V4ldPj&Gh3H2iH z`eWCYrPgW(B*fo0V!hV!YZI&guf4u1bsy*LpYv?`x8G{>A~x+aHMgl3I;~;9^=dea zi-Nw;4c(-fkp(V#;7JRU>pf=I{sxLptJR*kxuRDjh((mM`)<ITWWoL0?^T^vZs?Hc z&3N(R;^Np@9tZDU-FZ2#pF^q1BShq<Qt0&cnJ&VeaZ1}a>W0**`c7}l2~ub`6jWTQ zIBkjW<WpW>Z*6(4WyyZD%p-bfML>@7-f8x8`d<`;Ngu7Z;J+AQArzXrSI4#Wic5mO zaEJP|p2k&+W7qFLFQ(`B*IRQ@<oB;{=LHqC<#Oxoe3W*--q7U8q+D0fplH3OS(MnS zb)T#bIftIQ&}L(Ha@YNWdMy@_Ned6~2MOK26rF6DaiZdNY4)r5u#Nu;uUxPzOPF}Y z-uTAzkDvN#gXT`}czwaq{FnZcpl6@2$6tGVtkLYrMNiH36WxA4sNEanV!X$(Wc@qV z*jPR1WZmamma|t@<=s#&c{1Vln!}>j+NJGoAv=Di?zQ!j-YuVY<DT-j2p7qd$*(6V zOyjV>zVwBE2FKf$!1ASDywCQ2*(Uu^ob_%szmI8M-|~pdvD?c%cfQ{<EwJuQ;?1wS zeg`c&pP2LYob6#Zo}E`uP1BrebkF7CbnsAc()@`E(>6~0c<0j}Po3b}*RSP4%Pl{w zXDM>g`Cl4R{h>i&+KIfpOh=u_?peXSAJsQ`vPd+h&edRT@dytSZnX7Pu-%v<lcHGj z@2FVy|K_h@OHMGB#k4BFZTMUM?~z9C?`OB)zipSV-^BF$-RqT;B6FAYDa~K9AZ%sG zJ>~q5x7Kxizc9V{&yUMx)~k<szU-U%xoB^B*t*T~^?z=1vuyNFu6lcXe%-e1)7EZk z=F`ei53{@W>G^%_cMA)YQ)hJCS$S3K=E0+UXGHi|CKn!AC#-tu$gK<W>+a=&2JK$W zanx~coa1kQJ0<&CZIZie;R@N}lAAlO`}ylw&M>)pHQW9pN7BYc>`|@BeIDQErA?9d z(OC86qWb)w`d2!fHqZ53bD+IZjcI=@XiQc=m_K?>^Y<g4)i?H3O}_#v)Yc20_?&c7 zOx7cKMb|88IfiSALNDLk+??LW*Ip9wPhe{5ZozHYfx?Y*6gFsYJk$9x<;$$yzY^wO zELJ&Pn0eGl`SY!*5ot^6jbtZ_)>ZxcSI4yJkblxlpZkupx;Z)y%u|@~{AiKC!!=VE z2bM*kO;3-fOIM{oZQgstXqJR0c;Udaw)rwr%^V#LN`ez2)Gpn<6yd7SFEk-S?O$)Y z?=#8g+rF1h$ay_+qT0qkvxCBZKs2R2*&TAc1GK;#v`VH*%Ef`D$d<7)b=`i~n???u zsU~Yc(|brOW)wD_ss0{gEY{eftgz8%NA$L6Hl2+<ZGlOs3prG#Rlc8>eN1UW0gK8s z&hpb`ryEqKT{Q3lyA-~}q2Y+p`@6+wBUps`8jct}%)6N<x#5VBlpAPC49H&SwBm$_ zXM3yHNp?FN0{QHY?rmM>X%TLRH9*UVK=xL3H*h?$1uZ!!KW~~W=wZPmbh>4C>h9D7 zLZ>q%RHt18dp0;9G^yt9kTmoAyPat|Oq?KQ!S<Z(JP}Efyo*7rP(b#+(q&Sb@SWp` z=;=M}j>ck)f+x<hXvuCn`XhMHo0-$jpZRC>dB5}H`wLxb>&uINRNi*`U3q(Xna53I z<C0qj>(~67d(XA3bRQ3|PCMVNeYuPOinQO~e^&k5%?{bBoc$HSUbpq{l@@WhPScZ~ zxBo-!<ZmjGwdelzDqrvXYxigS@2N{qzFp`SZLYT^biVwfdhm{S2bMBl@Ii0;YJW%V z`~UCz{`$n3;N9I5ZgZ662A}+~SdB?ZfvI}d0p-WxH#aN~d;9YAt13|Dov?xBAOGg8 XL%gZ$Ek83bFfe$!`njxgN@xNA4XFBG literal 0 HcmV?d00001 diff --git a/tools/integration-tests/README.md b/tools/integration-tests/README.md index 7fd231cc..6a93d087 100644 --- a/tools/integration-tests/README.md +++ b/tools/integration-tests/README.md @@ -1,7 +1,53 @@ # Integration tests with Docker + +Running the integration tests spins up a GoShimmer network within Docker as schematically shown in the figure above. +`N` defines the number of `peer_replicas` and can be specified when running the network. +The peers can communicate freely within the Docker network and this is exactly how the tests are run using the `tester` container. +Test can be written in regular Go style while the framework provides convenience functions to access a specific peer's web API or logs. +The visualizer, `master_peer's` dashboard and web API are reachable from the host system on the respective ports. + +The different containers (`entry_node`, `peer_master`, `peer_replica`) load separate config files that can be modified as necessary, respectively. + +## How to run +Prerequisites: +- Docker +- Docker compose + +``` +# Mac & Linux +./runTests.sh +``` +The tests produce `*.log` files for every peer in the `logs` folder after every run. + +Currently, the integration tests are configured to run on every push to GitHub with `peer_replica=5`. +The logs of every peer are stored as artifacts and can be downloaded for closer inspection once the job finishes. + +## Creating tests +Tests can be written in regular Go style. Each tested component should reside in its own test file in `tester/tests`. +`main_test` with its `TestMain` function is executed before any test in the package and initializes the integration test framework. + + +## Use as development tool +Using a standalone throwaway Docker network can be really helpful as a development tool as well. + +Reachable from the host system +- visualizer: http://localhost:9000 +- `master_peer's` dashboard: http: http://localhost:8081 +- `master_peer's` web API: http: http://localhost:8080 + +It is therefore possible to send messages to the local network via the `master_peer` and observe log messages either +via `docker logs --follow CONTAINER` or by starting the Docker network without the `-d` option, as follows. + +``` +docker-compose -f docker-compose.yml up --scale peer_replica=5 + +# 1. test manually with master_peer + +# 2. or run in separate terminal window +docker-compose -f tester/docker-compose.yml up --exit-code-from tester ``` -docker-compose up --scale peer_replica=2 -``` \ No newline at end of file +Sometimes when changing files, either in the tests or in GoShimmer, Docker does not detect the changes on a rebuild. +Then the option `--build` needs to be used with `docker-compose`. \ No newline at end of file diff --git a/tools/integration-tests/runTests.sh b/tools/integration-tests/runTests.sh index 3635cb69..33827697 100755 --- a/tools/integration-tests/runTests.sh +++ b/tools/integration-tests/runTests.sh @@ -8,7 +8,7 @@ fi REPLICAS=$1 echo "Build GoShimmer Docker network" -docker-compose -f docker-compose.yml up -d --scale peer_replica=$1 +docker-compose -f docker-compose.yml up -d --scale peer_replica=$REPLICAS if [ $? -ne 0 ]; then { echo "Failed, aborting." ; exit 1; } fi echo "Dispay containers" -- GitLab