From e655fe7bbdd743d37673714c6c55e9be6bd8cbcf Mon Sep 17 00:00:00 2001 From: Lagrang3 Date: Fri, 18 Oct 2024 11:44:07 +0100 Subject: [PATCH] askrene: add bigger test for MCF Using zlib to read big test case file. Changelog-None: askrene: add bigger test for MCF Signed-off-by: Lagrang3 --- external/Makefile | 4 + plugins/askrene/test/Makefile | 2 +- plugins/askrene/test/data/linear_mcf.gz | Bin 0 -> 91128 bytes plugins/askrene/test/run-mcf-large.c | 136 ++++++++++++++++++++++++ 4 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 plugins/askrene/test/data/linear_mcf.gz create mode 100644 plugins/askrene/test/run-mcf-large.c diff --git a/external/Makefile b/external/Makefile index e199108bf..a289032a5 100644 --- a/external/Makefile +++ b/external/Makefile @@ -53,6 +53,10 @@ else LDLIBS += -lsodium endif +ifeq ($(HAVE_ZLIB),1) +LDLIBS += -lz +endif + EXTERNAL_LDLIBS := -L${TARGET_DIR} $(patsubst lib%.a,-l%,$(notdir $(EXTERNAL_LIBS))) submodcheck: $(FORCE) diff --git a/plugins/askrene/test/Makefile b/plugins/askrene/test/Makefile index 45aa8feab..88ee0b88a 100644 --- a/plugins/askrene/test/Makefile +++ b/plugins/askrene/test/Makefile @@ -10,7 +10,7 @@ $(PLUGIN_RENEPAY_TEST_OBJS): $(PLUGIN_ASKRENE_SRC) PLUGIN_ASKRENE_TEST_COMMON_OBJS := -plugins/askrene/test/run-bfs plugins/askrene/test/run-dijkstra plugins/askrene/test/run-flow plugins/askrene/test/run-mcf: \ +plugins/askrene/test/run-bfs plugins/askrene/test/run-dijkstra plugins/askrene/test/run-flow plugins/askrene/test/run-mcf plugins/askrene/test/run-mcf-large: \ plugins/askrene/priorityqueue.o \ plugins/askrene/graph.o diff --git a/plugins/askrene/test/data/linear_mcf.gz b/plugins/askrene/test/data/linear_mcf.gz new file mode 100644 index 0000000000000000000000000000000000000000..b101fd5572176ccaab9ecacb24bf06f9a8ab508a GIT binary patch literal 91128 zcmV(&K;ge1iwFoz1v6&=18iw-Wnpq(ZDVEtOr2?#Zm9}H|K}*~5RQo5{3ljv?7*z` zR=wofqQ}n$0*HU@=lj?G&42Uf_y2$5U-;kW_us$N_nSEXjeI%n_wUV#fBWas{onYx z|7ySg{;L`P&cCj5`TO_gj^FfOdb&dU&7g~^g7I(tcBYclP~ZKxbgZB8s{9sd|N8Cj z68R6F`=wO3{acsQ@3+eQt z%gqv7=eH(ZO|`VdULE^Y~lh)2Nr4IQp2sJ!r}=7mV$9JZf_C1vHDD zzL&b-Yu;J9%Omf!wPtpw*sTwcZygME;m@2JSEz}tK2l#sBUKkFn4X|^n{OZdck$Qs zb@S&kllsc@=BSgdxjmZuJEOxBalg^j_qL8{La{?UhZo6t@%$&?M~QTtK#sobDRHV@n}KL zf1#l+eZ%pyf1AA1wDkqzw{d;s@k^vyRJBiwC+MwfEK95VHk0~}p;a&5e^@xb8L5ex zn)BcGFUPdL)NT9i_Wb@YfB%L)>(-1O^*S`O$wa0XyuMayjCW&5eXYAhK7F10VTXpQ zy1ykn_Pab6Y%LA?cdpgz6c>YS>1fJ-s~oN5yLvi<9$w@}-SWd!GamfXLi2ZQS}nJa zUmh6rZ!dRE-PJTSOGB%siO`6%SG4fI^uGv$*!qLPu-ouT|fR$C(Y0y##~LW`nyZq<~EDxR`~Rj zJNg?c2$M^nm;H#P9_)wB$9QmdXsc>oZB47qQ}=0Y-GN?im)c7I;_`3PT^jbCv8@@~ zW@hstmF-WxNC)7XPyg!lDmUDah-|4N+{n@%Eh3gTDR`!tJ9|g@o3JEP96^3 zcli>rywMExf4^3%+5b4~j}|xAukjPLg@!hWzY7H?b=Kw_`T$)8wyyrQ>Fr2@K@=qpYxOS&ITFH81~^Z}($nEFjlHL&$F z>D~~JPH)YYzIp1)rLPKHdX~#C4V(MO<#cQPbD}K$<+8Z_i`nYWUs?y^^6{)wPRH@_ zrQoiRqu=8F-rAA9mrVUO?{{gxmAL_}`tbTS9?kvdOY>)LKjtytzS6kV`5x9j|2~h_ z% z3&*R@IWMcuUV1dxrSoceZ~c7IFYm%EBbE;h?fNj=Z-ebG$IWE?a1N>@x7_W+b?XM8 zjX-;(R?t06kB^iiRzfRiXk{(u*9DLZV*CA2>n^0tGef^OFPP!elxt7ap)ZbWr~iBs z>E)>;^W##^892O<`#+v<`Hvm4d9`ZwBgC+P zf>p|*)c4UUZd#nnZ`xf)sD40RgqDIFOE!iw^orMN?Mk1l6fT}q%Qd{-kJc!=RIl4` z_a?%L$~&WL5l`PI`CYJ9SM9Joz`G<9O`AyS&=|hrPOa6X;MDAJdHl4xYqcL=f!Q#9 z%N&+F3~yJ%*V3WE9lwr;7VlQM!-+mQ+IQ`xOY3<1TFsAj`Z2><{Aq>P8O_W3_;&UA zG0@&?ZhBLlTHriBxt_5JZ*RiG&wpNjIw!r(mv3dm7viI39q&x{Tc~#Jp&taB!eMaf zy_bjG{8x|MrDZ?fDZlgz=I5Z>xcBJa9qyNfSpQq@&4RkAzx;kbFRafuV3zvuQlFMo zG%a-=K%Ye>;pcV9kkbF=%F^6U<7UjGMEj{^FYjode&98WhCW{sm#+Y|A+vEKLm>fGXox8v#Uc=@-XkD;YLbs6AioPH;>(x-3#+q*KC3CeQ_O7g-l z0C|j-IxAQ6<463bm40;NOkGQc&*7nczWasUEQ1)nLxk4(@G>91I@IeC0o>4WspEy! zujS=O#?dP8x`DE$mc?zzl{z<5Bt65+f9g)mGUra>tHZ~B$=!kHhd!*{@0L;3?KQmP zAN>NBFB``K3ibnTr>$gJ+n0*8Olw%WG_=sQA0MA;62RR>_WMPCm)>`um!Bj~x*uq< z9~S-69`;Lw#j-Q}`0W3X*G|23Zso3V{r&=`KJQn1?Ju$1?iel;>FRrEVlNBsVfaQf zCHcBVnp5KVH#Q~qyea&&e^ZW@>Tl)>*r%%;~u_BX0kl@zr*%XH|-_ZQGaVU*WSHO%CT7tztq$*ulEmsy)|Fyj;@UNE~p*& zx5?=TM4#^MOt(F!r>`xo=qo<+B(-K?Kp$GmS1|J@Fz9s>Tjtd6$4BbX(|5&reEg32 zo~*u`{*GTuT^rld-|@5yin5_bs5=P#Rz7l*a-=Ej^K0QA_(sp=&)54TCeOsB`e0J8y zFR}I0{q1Y;LcHq&DehR-CJbGvZ<(Xt@o%4caNaClQ@{Uxo|4lnFWb6}-A+p=Ej7da z`v$nb`T{#GFFfh@K$Iva)5NlnI`mPkQ{XD!_$gm~kh=d}KF5-wKms3k;Y_70%eLZv zBkMz!w(bAD1sdB%+%Lp4B9>)LJ$+7vlsmV~@nvo6xV&YWuXFq9lQhG+(H%cf()(cC zrOzAX=z@M5&@JE|j@zt7XIqH-`=s9$H6zo*p2KY)y$Nr%Q%~@{ENC74PJdITFPklW zL?>H0yA6Ht77cz9H)U>5cCsqtE+=1F(|5{cu^89V`*a#5iadxK`*KTkrF0s-?lGyKWk2l@eRmLyJe%E7% zI>TZJ?T+e%72f&v-;{m+p^G?O!|(TdFpywF_^rMzY1dRso-z4monMi9>wM780rY>V zSS%|E4#NIlw)I20WlMrl!pnY7tBu%q)j*W2qCrPJQ}6w# zE>2B4!g~SwEHIt*)XgbrW!_D}y4GaH=H(}ql&K$K-l;|nI(!v7tHgODoU|tIv;0>r z29M9YTPhl@JpZiH8diwqT~CASTQ8x|@j$k&`MS|*yUn{jH5Ar$*yNpKUgJ?0#M~A> zPOXc)`-2+@OIN$sR%%uv@nK0XHSM zxn+=mjJq(cg*n_c#$9v1+zxXzc#I5ATHS|v91MO%mlzgm4V|J~o~;-h_e&1sBAZFD{$Ozi%|G{mg(>Aw)ZGjctjqAr` zE-1wzH?6Ojcerj~vrEo<*tjKa0g?d?i!S?i+Zozs=G|s^U__~Y$E*jo9%z?Hebvdh zw_oY{yDeQhC1Rfzy3G42hj^Vlp630P4LFY>!1EFt>N7&v$;XfyYv=nI{yaOon@X_i9&nbDbZNg<*iXl=k*mg zaPw5fr(JJ6|JMB#4iRyz^V#)4+h6s}lr46cTPCJO6~pQUZB)0&L7Q}w{y2I1rR3_e zIF6Kp7qoNh z_GHBpucK|v>%Kp>P|n^(fH=CFHFLJrks@Xet^`ZUJ8%XM}W35IX|A5UjzoE{pI8|t)3_o{~B{~qvrX;9X z608MJ;dA#&6m1!nW#}n(%Z_DXba-BmPm<3PyJJDN+W9Q=n_HX6xdWOAL%wR6ZSdR+ z6abI4Jc_|j=G1v|?(!UzVdWlXT%*}F8$ z{=*ydNb5M6y;}QcR8Ah=(3ZO>bDdX=`+xgb17c*O=xLv?!BpOrc(@~7rVIx8 z?nX6eu(Q|PDGEdzl2--PjOs3W4NcM~a*dt1Rjl`w9BfcUdo|MLSuAt})lHJ0uRNyhvB#>yddrJD;?#|nw z4!diUR3YeNuBtp)fUM@qY8H4!y9NK7(jH< zEGf|-(;{>UXx!ZseO-EK&uGo+##?#Ri2Pb=x-7V5;E}iGuO_YeLe(S^>##p8^lA5( z<{8(%q}=1z@J-|yd&dM|rXigw27%|cKw`Nr)h)wql0`^NW*LkMO2*ff#!K>-njaFU zV3Spi#y63y!WFg!cyUjnL9V7+jSR1oVD~#eywvU!r%4(#$<^DiDYqAUSEdOA!xFu? zd&8ua`mu!X;_AaMlsgV!piNScLo;51mdmJ>+c*%$6m4f=Mu6olRM3 z>0e++_^q@+P5w(Q(Af=?fil}eT^z&}w-NtZIzNb^es>KdS54M5TC3lW=t)@TO%`t$ zrSAG<9f8Rb*9KL#ZjrV+YG2Lb=7*9z&q6vHTN5-%LOO}7MDl5EZ<91hpbyDc?mbHY zC9@{!%e@Cl>w^S6*_wr9iuxFN=X27|`HG3X7(pU{-s(6?jU=gy%C+ExNuFXb*oqsp zE#hG$OFIq8xaGJ$-&W@1x^pwT4gOW0=+G~Ro3#rfi80jynP`KKYJenemIBf7e&dXq zxd7{ZM;z4$uuPV(+p3H1S>$$J9#n)26wLw409S7MLLyWtk6&Di4Pcf|KR zto88}DH0tusAid08-A3DH2dSONnt$4J*1tcreCy2vz9K&INT%w3IlO97gMU~ba) z`Zjp4GMdSH9ruS6U+}wj@|Zb3ehI2 zd{tST(-P7x$_)$OFS%-l!x-(!mdPwEc5p;()aau+4kMW)fZXo*jA}4J#r--pqE#1!4Jw6fOFFjhTck%iB^lDGAx#5nC6Urpo;&4iujhUe?N7(z;9CwTVmn;E zDdty(RY4 z65BP}Y20g$0C8|1)p7*u;IKfcxn94Ut^BY9s9zym)QXm`YHV9lNDRpbK2{uQoI9)J z0)vP)fKFD;-vBmuTk(75Ae(23zE?ag?uPJ zPAPbiuC$5brxYLhC8bSp$nhcWQ74_tV|-l9)Ja275W=l(SRK8}l@>BSp7yHJcXbly z&HbrdEAB(0N;f@FDnP1jb-$SWL}-R9lL3f zwib$pf>R|YRvfn-!$d>Evq?7r7V%2mF(;2^Js~AG>hmZRmipZ6*-zt65;TaE(``qw0ue z^&Asrn{tWzhTGZI;b5n~?Qr#u#zRJF5(KO1IPW7^5^)PgeS_WKEE(_^4H-Ry23Had z_yHeyddCRF6M3oC`8|M0SEgmv5o~?!QfF4$LA@QuZS9}H7Gqpu^1z5-f2Xs7c~bPACEl$z^ct%iMWvMYxvxUWo8q)x}7?$>thD0GGRP`K{ z)uW_uuDiK+M6f^oQk`d@sLfsQmzv)CI*;3-a_CZ`qb62v$4D_Oqf=UbRbwIyi;lX1 zR=B}M=e3}^Y3~Nnc{YbSL6>x!er&Z-RZx0f{&sQI4E~AECsrqc3@kv0H}!@FM-Q-0 zQnyD5i?Y=J=#@6H-_xS!HzjbFc>=V_{54N`XVKEhsfljbrU&+?u;-1r-$k^l84Js! zqXE*8hHo$NCwPp`&rj@vcTwvn>Qf9v;vwJ*Np04ItT(J_2}MY1Ibcm!e?H#fchb?U z{Puw;?3ObKtX*pO4R8;^$s8xTiBNWM=LrG7?$ty(8QlQxFDNP23kPYblc-Zbn>$V1 zq9a-VVrK({x;=xD4~gjXiIQDFH5S0T5UR^8%=J24gWW7yX>@IXBL*(iMVl28MY`DZ zgZMJzk0QaFIpCfdmi>vUvmtpcYYMxqBJv?U?@TQ>%=1Z1wKvrhlw~9jY!bg}Ce|yM z@00lSPEb$ecJIrH&J@1h=ibJ~X2DMaLm-$Q+_po~zYdjtr^b_f{?dc3dHzVUs8e2| zDSbO!FT^DR40{aF70L`$?J>Bai<#088ON1kwjINOSF#!*?OLfFSfpyooM8U_eWU7A0^YR){ z;Von$6Y=gal;F=nBCMcR`_Olx(akuHbCcnc<*r+IqKQn2@$g1|vT zOzy~<-Ub5h<~EM8d4F^swzrJ=4*Ka;q`LXlG*91SE!tCBj+&Hh&oGnSR8t>77A}8C z)MEm7_~lgYbLZU!c>f$;t%JwI*K<6?%Y^Cm##&`HtYFL3n zCmqjOna7*V0z9CG!DYrmEyZLZRE`CdRcXiPLm7$10_VX@&d1$EmKv+%fVT@2Jh6NQ zVmd}8diUCX3V$+E^i3JG+DCrFdq`Lk6_+|_&~8Cs_+c@da??_UZLNc{rQZ_OYE~uR zbK8e?wEsn&qF7^!o3^S!VJTFh`3fL0r_StMKQ^_OuV-ULV)GGIJ74V{uRkGiHG+so$heR)1EKGhu2q#Ddg{Qj7y=Hf``Z9PSwR%FAn`f5hTvN3@l9I zFkq#%k2$v}P8^o8(YfoVGd#ffjD0?mD}-vdsv}XNsPr*(p0!#W6sfAbwif{|jZ|=A z%+_($_lZE(_Di8?_$9iV>mSIEB}#jG|5&yvheYyH10$dQJxio+3|LcL+uYi~QU#}f z=UtYBn}Ud$`d0w_{-H;wY0S2|rG2o#k==3GCc@(P{;?E7nLG&YtDgr?mwb|s-9L`S zA*QXb=oVY5=e29dq|_G!~2K)o*~%7 zP5(;p(LbIoYR1-DNHgGYgG1~edL_-_F|x6L9I7<95S8~2C9vu&Bib*S#iDQ}>e;x~ z{*{if+YD9|7o`4y#t}EdHvOhG0EqKal58q1Kqd87D52g^@b62dRlc_ho)|l>K#r2Y zDR)V^?vc>TJd&nS-Sr0ieq3tc1F^T#g!jgLbalu1)f)UrD{OtB1Pd zm)aW-d@A!^>a7l_%eC=={mCeAe_u_*_Org*kW?K8FRY_{TdJ_JW$(e&Ixp2MyzEhLr5=bj zx+pAidtemZL}EkKgB|w#=#nM-{6P8ClnFkzOZMl6J5RYDJb0CsT(LW5l;mzZ1(Gmv z!D-rNzlT*#Dw%fJ67P=P1q2)}Dm}jvrzKV0HkoREfe-J&FG!>m| zj>zEd)vs!i?2?gb%2AO4F zi$g4O!KQS4V`)5zw!Yi!^Ou9Pm?JN#^{K=}hJ4d-o6>QP@rn3gAUTw&dN`ER+L9yE z7{8ue!nXQj#*=AQWn2jMEQ_MM8S|j&3C=>rtWfKT?S>kW6iS@|1iZz{jyBm@h7tkw zcG*WBa}N}!Cx@3>8EAsK;B%XDcZW9b-ei(Tq&VoO`19MaXXzY!Vq7jNPW78WK)b<> z@Rv2a>C@P9MY#q>g=X7I^uw+X3<}4khBxm~Rv>*?)UP^$jG_-74r+4S-L8ab)#Ap{ z=q>oT7#yX8k22LB(4{_jh*LK(ee9A|>E|+7-s-qnB;5su)8ZSLtt)Mgq9p84mD6ib z+FI1$@Ifs5*J^M*uHWV&Kq9w+QQ)3F_|ocn8eZE$6f&+>D|%Rxs-AM!XP8lZ?EYF8 z=tr&ZzX|f&ypOW}@56cp<`j%ZAI50(G8z8uW}uyk++C5RD=swtFy4vAsVfE4{KX8VF7l|&A;-p+!4b*L~tL$E%dm;?ga5o;Hdb#!K z|C1{A$>UT_c9gjtL>~pyYhjlD{&o$Hv(I{(b_vjeX|S&p8#sB!v*zCDjXtp@|7~UQ z&cB@q|5fC`)pR%ZtzAlc=(v;>Red3p*q4g%4QgRAPZhMyeeu8-)j&@71v^tc+hOza zyHT7iaBf{fzDbofs%e=Cs^+>@Ws_RH65)svIXjadGq18xV)>s`jzYg zPWLCt>XJL@*R-+M>Obn$Nmj#O%E<4&x%%X#>fkDf-=#7igmwMI0FiN$& z`gVc4`$jsgF(d|QePb4?wBdbfbM=R}s<1)T_RSkW#SSRGUNTIP0g|v=#Kz3}i%RfU zqw4QtZ0pzh28F4{m%r(8tc7cRZ17w^epc>F9xsjaulu7OYfZjOj_T(iRzH_AWT~I> zrPGgRQPl}G&}C2Cq3Y&waD*Vn4EFD*OuGBQVobR<|Ln47P3k5-!Y+rt5uNgl)p27? z7xVRo&P$Z9zUNPxbvUEdan3j7LX}Zl&G?JL|4#Hfy4VjnnIQ7JNqfS4B>;!SF*3>_m5*5fXPQv_!@tIAMwaE1SCI$ zABRW;2>Bu5UTTT`EiHc%6^@^PKQ$5Uuk8)eEkE#D%HH@3%8y@{%At5xW#gz*lBVT? z9M}1k1};B*#~f98%xtUI^8+;1#s8@)QY&jr9T&FwfPDEOEft6MbCwoo(V*|#`T3?s zJD_p$vz%P{JBn|6XqA}9nZRxHv(imdd-Hhr>X#aM$2ZN=YG>Viv1H+E`2G#V?wEwc$#zVj*F;lMzN@& z;2_FoFA;F2BQzU2Atjw%l>7*)m$ho}`!PF!yk$dZ&S%7rSK|BaGJ_Y*yo4>vGD^mn zQEK`OE0|T#>Vgd5VJcWBQc4E5$X;AmGq~-kU`Jz-VQ1?pVOr3MSq|U`Q=R##bXhPC zD2;d%)&7@1suDWo4BMt@Pz%{aMyY0QIbXXncyg)oLeQK6q)WZnr%3)eftC|tU7a$@ zy+#U@XBWc_P+7*Cb(!=w(nkAhXR)uyp0?3TZ*MwVjivcq&hVpBO-}!O0uYQ!E(-+Gm(_N4|Uzu8&%T?G+4WiLM+Sgu?S2;!r>ZvW~X zB)r<4FZZB$&Hk)4vx6^%Ja&iG@#INw{za8(syaUYxSeA`P39_Y7Kn!wgin6KI=66j z@>L(RoPKq5Jm!JW5NSVhB=UMqdwWw-o?=0ADVjl_kiGQlX?tMOdNH_hkdPMoDXrm= zEA2>*FOt>X{@#2o{468}xUhO=eVl<1Dg~OXc`XNIGM`puNyK!UNYH|!MjeES0!UQy zYRSZTM8DLolRVkQl_;5UTx$9JP7FKLHiD!~Bn5Qh%dAxRNprwmGx0G1S6@}#NQcv4 zHRa+0iRqd6H&$Q;%{ zqrc%ztokxRAph1FJkIu|wtr#+{}D=SC^J*yK3%s4K=I4|cprPfg3=CH@Ovvj?Uv)2 z2c+ zpiJZJpw8>Cm)iIiB~U^RuCOY4Fv!X04=)FrGe%1|jT~GK#92NjkfrAUB%(&Fb;yA? z9@rjU(gZQ_0PNThH_+=6+fRcDGEZrCJDd|)@4i%l)A9v1NlU~af!y3D6JLD3U3~JM zq}WC!loLM+PONj=;wV)bD3oqVKPGgmATxXuoZMu^fBGe#0?mbog2h8lR1Y42FMAW! zh^m}jGtwVl1N}?RLd@nwh2~}~B*7Cd4Fl}~b*lN+bfTCJvu4_);=-=K8|QIEsB z*(~Lbo;cG?U^JGKwW~ht10?6W*iFo|)JV+wED2yLXE}dM*KwNWi?5V+Nf%i>p z)!zUXl&dWH(@y1Rv5jhR*myf_ys9RBFI-?PHL8YmEEkT@RN=HL7kKN-1;kzy(4DkY zPQ2LQIR&>XUTh_l2I#4ejovvQd@tAE!+`4tRboB1h`*%U%qFwhG9c}1kjX^cmJ1(s zo?&zox%_-0HU1`S`*AF|q(9*Fn|85=nJ`cg_h~|)fRrsPY&*8DVmzTa}gd8n>0XhyfGMtE&+s~43x>Q`#GnR*T^D};xr25Ts#kIcOj9b7vE)R-&Yx>QRFgw1IZ3!dW#31L=L*!63X4o+6DHgwg$4Zdl0W zb558tbKb68PXieRC$+Ptw|kQWn+IEOPDgviW~G(003!)gVRVrB{iRKr(DV8DKDBS zbs7~ma`-%K!72tG{<4lad>+u>O?~>;bp9a~&Vxyim<;Ut^5FeR6%upNJnxHJw5h>l z3Fd4s%=FZ?$CAVIGjOR7#rkdSEzoQr*9@?Q~7$OSKQRBmCMXhaqf#b7x z2{p6$*^Un_NitTdf@S)+Gmnl&Gp&ER)FgO%H7QZKcq&bu}67$?8YL*x&r_`X-6uYy@wGeJLA{kKhd;s_|AG zhQ0MmP4qb<-sFWZ3seRqKLY!$sVZhH>B@J>`CHhCR^j!GPK5IQ5!daJJ8-;LlJp&AY0{~&k-brX*+ z!*2KJ!x)v@G-%@y*x@vFVrb0>T$aI&q5UID#WkXo8zV~aGJ?g%Y~e|G#NTfrY@bi+ zVnYs$GU3P8J|pn8s4o0GC=c{R4b{H|bA(oIndOEz3I6QwHMQgiM85xWY zcw?!ce|f#U7T=ZcbEuaNdb}{by_}kj&YnSgx$dQ9efKM+BMVY zoW>f7gT;)FsD(7lK1OGE3gsdjzPYnzbz*8iENFx(*~G1VYQ7rA#{=gJx5dP2WL#>a zpdJa1TDios9*N0M{tS?M-z7A-eyQZWHL}FJBk|HW)kd#!r&Ze8)$70_a-@Yd>La+~ zk1U+|NRBI2whN|_&&GNrW}xbMBB~w9x@Nq-&SW`W8u@1yH!Si~hufQ@ei9@t>J zqIG1&AsSg2%#j6Ry#;%*c=qeh&ICpxuz;Q5;+F49lI&{g+0y#UgF^}@x-gol111ZX zFw(&eMX1=wu9}xbdm01l3Pn5I`CsY3T!3@!p10L`f5Y+!X9hjnD3~` zx+6@io~S;!;^W1R8kpjYY52F&j7A*u`J^8ciy+v|YNk8r$3&(>!HL*>ILf5j={)+! z#FKG~@@{A|Vk)2Sjd0Y>TBfxV)@*M*ESKd2`D!tF^(bwwVj?j69kcMqV{!(0N)g!) z$@r${DJsq8C1W9RSeL@y{Zfh4WjsvTSWgQv7RVG;Zpbf38PbyNH_k%usI;)H{4mIk zk`{`oz&obw@=jDEUi&aMPi&@l<5d`>vEFNSA+J?G4KuqTl;MOLr-mKAI#^bx_QJ7o z381d#CO6<^nYGeRR3p~9jtbeKy3MwWWBu>3u*xQSERd_r&-doEM@>GyRMqM5g?^Ph zcPvA=U<3igSU5nZ8|0y5{rhVhm9j>Ga(^tIS!xi6y()(bzOhhKsFm{kI}C+X_S!WA z9p7m~&idGkbQ8VZZ4M~qJ}b&mQmnXSAm zHs=}=HtN&uC)C)u^&-u0_)VxP)tJ5yZ2T*w%K6%}%XQh<&wJ|F6$oNT%-M>={>U?H zREfiJE?Ji z8o(CE?Rl$JpY4wKU=pFEXm4oe?PUkmpT^nyU#jEajDw_BV_6QKb&U2`!Q3?jd=0Ci zc*DYl_Ba(uZj=%7_;Vn5%Ykwjf^8m;%2%5MgjlU)*3>mnrsE(FrZ>C$9*2jisMh{Q zwN^0}-e)bDT|e`y$RYFN{=P5O(1cCN1Ql87Lo^#dJj;H0nBVi9Ge5Q-mBZPJvbl53 zuihrp(KVVVhs6C5GKqt6s+^1@#DRgz^TRtOJaZ$MUm;%R#}z|0*yrZQuTq)zKQ=$a z73!kTN^AV!=U1Su`PGkOehBL{phTN7zf!W#4-K`_8W-(JOjTy+2s5Ev7QKwBt21k! zrX!N5?m>Ywzly|i>$V!C-xKrW-p&N!k7Itw%vEm9YHzJq7pEWddwPQ@*|7p;HNf-h zXBu~?wB~qP4XM4-68B@X)zLZaRZ!(N`_*iv(3uv6DL4JHp6%aP?FFLE*-%A`!kfr! z7$Q+2d-2C@aY~A)FNl1es`maq9X^9JFfr4JM0Jb9?rCG^P`kS-3_NPghNpCOc3O?c z){(RM!J;Xc9MZG#TUJ_U6PeAAL$T0$4XzVCXEtsE>TmeIHXD14Mz`>zGaIi26%6cb zZdzkyRnU~*wgc_cZ6_*})GY8{zog`7O(pU9I)mqLC>MRA6pV`o7q`c0L7rNk*kjJ% z4R@4=>Cmhw7s>{wKZ9qasDmlc)z|?Un_*1b5Qz=l47-X{i{TJ(fxlo_jT&9wm3Hu9 zHiMH_Tw5SC<3TcJAOc~Wp6sZgHS-zl&fwyqX0~MsGw>a%?1@Ht27(9`>>z0-pef3Y zubQq{rCbaB$-E`Y?7F_=z;=H+l!K_+L;DMXJ7sJu77bTRQHJ8;6VT1@c+sbuv|>-6 z_Tzo0x*HuNic7?_1@QR6lZu<=0x}IkR2oOw?6{Fp8x76f>;SsegJYIW$p#PYcAyor zd&5>U6|6v!Ufi@}aLhkB;OsobmAJV(&k8|H*Q~x_JLos1wOJLc8J!M{atDyM&X@-Ag_002%;YDgGzWn6BL;F} z4>c_s?3c3h72;;Ni?v>Fo2S-Hlo6`DMs?DVx6QP?Q&p1KZ_^gKBnI#5nRuj7ojzZW znZ?h$Kp1wIq6B!ca3<#Xho8L^3+N5DHJZ%9@$h8*pr(KX79X^)0V>)xP;L$1v6 z_P>Eo4e^k~{h0&R9_4)K4-miV4fOZVv}j3GdOi$}Ya*pD>X+(%TTlC|8<((@RZb1v?F*Q$gJqlvb9p^Dpx2^t_8ST6)g%{*KMp zp%=ffriEUq{yIN*StnD0IEmA!J59|nu5eC-%&OqXwX?#S%!vv^>QKJJE8Me&^nCU5Ank0h$Zv zCH+!iz2#ix-e@ia`%M(e(YcT*P{oFc(*Yh-W%({=d)uYlRh7@ETqA?0;caxsj za1(KaCBTY_@*FuAk25uBpB2-AM5x>OxvX;QITwC{G{J^1OguP2NsbE(bzxjQbbg!O zsL@3oko$A<+isV#q;_r|L{k(GgpC1Dztq5$0;Z#mWe(= zBOR>%+@&0!lELvEb}4w~Mi%45(jr8Gd2^OQ5lc?egk8f9xbOL(Y! zyKtKaE$#kUU)}fD_f(tf!*i6fy*Dfiw0^l=j$FGgRa%PmVcewJ_7}gt+GEyNNb~ho zG%g3E`5-43s`b^rzdr5N1Pg!)7@0mK(M_&pTuI(=fe7U8i+#mxIPr{ zu*ylX3~y8`%NLyWm0johj8jrRZ-8Z}A|2bdah2~vs@qy-S(d4O20o|PpMmwVU9tM< zC|uUZ*-Dcb{VlsqRN7|2tgjsEtXAgS%i%K4r5tl*HLx7Y1!%L{KhB5Mo~QWL3KP5> z;6fFQcv;QvfJ6>&iK}tx@9Jb$lLKk~GPY0c#N&#$&}!ufQu}K#jE1G#LW*_2STn#w ziM;xk9sen5uz%eet(rT2jjaYwTs#+Edo}E?X$M)q%&8kS(jE*~D-_(aU9+<7gK0Hx zR7^Qu16E^8(J=R$%Neg@LnT&4Ac34Us$*^7YR{eAYP^0lVdJaWO#BcnBLjciaWL6+ zse@vE1^0zGasmaC_c?IZU<+j(2L8dFpS^A1{e6|7y zFDi$Yifp{^uJ8{C62b3^3KfqLEh8u|$jf%Xs^JhMEAW!3x_;&_1M0-XTt!)=vI27p z)tx*Xmm}4ZR_i6o5_5(1apGaUsf|;gz;PB=lr`lFc1cFUdA_0`q6Dijm;64ooLTZ}5ceRo>&u@}@JcIN73G9**nO;Qp# zV0EHtE!6~8g0r$s+QLA3b)0U|SF6783bY(v7mkJNRR4ibx7AC}yn1;vTY%+gZ{d`2 zb*^!0&`u{;FUp|t(g{4LD!m;C81ch{>% zTD-9AB2bl$v04%c9!BS1Nb-76%e#DRtR&RAQg!&MWYla8Anz*+_pxj=tYVJWw;aFY zmm*f}yo4?O)&QqJF4gc%xQ0!ZLIrUkxCV{8 zU6n>?gf&ncspsZZF8o-7Y1`SX@qQr#4?C)1$Hi;#WK-Q!!?cuY4KPq*bg$|ncI5)8 zRKtj5)&O0i+@3XAr`34gg<+JkYuWmh%30jov+o)er)CWRJ5AZU)!?uOQW|3THMp&* z=LMu{4K_wTQ>#y>lSkCz!LSCaWwuEbg(AYK;odp-fI%dUfBmr0IA`$6-~TZ(cXR|LWI30 z4n9PkRedzfk(d4HiPMeeQHdTm!yVpEW=ZPTEDwiExV}NTwrYa57so6y^qLj_V@+bI zQm%Ni7H%QnQ(p4iT@xF2265g*`3f}g4EI}g85(#g8-*-~KwXz=NKIBj+LTQg`Xxk` ze$#}wxc%z42{DnrF8tNqsaW>Lt40>Syw@s2q_xUgVJ)0yHzhXk1k0!}60=p$fyc46 z(59s&Z_v7XU{ffi~7tL%OJ?zh>Kje-Yd7`q} z7NIF^@T%S)nS(w>{mZBUe`xvCtB(%s5^!?p$Hxs;xF zT@;Y5{TGaMH_RkdsCM^8xC4B0ztq5;+?Jqg&`>9s0$!Ex zEZP$tbtkxo{oq_X?C4ru>p+5A0JS@ea96=rX^ynC<5>Xgz`v=u$*f+4U>CIzmF%!v zKn?KlSlNMzHAC@%wF56}D!4iKcJTQ`*?X6iQPcbbT-|~GR*l%IeMkA;+<|ei%58h0 z(#<_;hVj(8U-X6@pu#krzKib%+S?X%sX^mucVH1gjW-_^r+WtnFQ2TxrcpG>@nG}V zzCRXldAh?^>Z-CaXW9}a9%hDn+wOkk=Oyj;e0OhQN(`KX?~XJ>btbOdcDE8hbq3G; zZ7G@xcJ8*IthG!#u9sA9@_5?4RJqtu&~NgX-JKtvsPPzVUR|9V;ZzsMYIiSaHA*tG z*U+r(&f7rU4zG${%KB|*at;1wjU!tX96-NzuYgCpvmc1*4kUD2uExB~V)cNA*u7j= zY=@d)hIl3H4)6q~eJ#@3_H^W^R{D9lyH%Bp_vw}ej=Qsyt5U0huJJxeW)14pQR#>W z=TdbING?X9T>tp99`M`YV?_zxl9#d+a3|)0s=*nda--7x(@(Ek>m6^R3UiLY{ROQ=0E{^lqZ4xL`i#K ze4!eF^QArT^r9LL{k_LOo;!Qs+On$=W_FbDb~`$%dT_AqJ?gcy?SD^c4JE`LzDla) z;~VLCW?g$2Xrom7ecpoyji|m}hp5E1ZBfOJtz`BmxLP1#)K({6{mNz5+`;Ihz+OB?&?y92PLp`eU@p!aKB{t<=avyvN2uXvkd9? zEY|?rcAhB;G0mR%!l09sW^+%TENU;jr%hZNz#(RQyM%*k1z6ZFA9pI}_{)3pE`n8l z))U`6;$`&WxuNyn(*iD7&6=bn;=!IMa8%F_iwUM$T};HHdzJ;mo?yLU9stL7gbH{; zqOfhgtg+d9&7S3Sa?jE~?1?}a_H53*C+aFSGf+zJ1x99ED$u;|Rbj67;yJ&5xY?_f z1-501!b9p_#vQ0&W1?4STK8fJhB7_9%fUL;OyY=mujlPx+Z7%?``K)yTfdYyl|_63 zHE3Tb+hHuA{CkiUMzK$H$GsfgPMz6v<1W0MQt{oPlBnGGDo2GI6I$l2Rno$+bFXJf zvKN{K^<1cgy;xkTeUL5h#mil}vw*0370hd6i|djgoc1aci@lH!Xd)bzelJ|J@J0DW zEbecj#wflp5YPaOO5d0YLnRKZ_cqM3Uvke%Ecb=7!POVoJiGH!mOt)Y?l1TD{Zs`z zg6fU+?46Na^7*|H@2X0}*kVf}xG6X7yk|d)+HFCm(&Ry3)B;bmH;$;p^#QHBH#U75 zQ-yrl4rL*>4cXtD>o7w(Z^-q)`->s6H-JrXD+#a~M~ljRK$ zgP*?m?`IsecY!-}mvCpx``+eB!N;@EVOwITk?i-$POlNy8MAHYp~=oSo7<<&=8%LN z;Q9M`P2BdGmzNs$5VVcRgLM4oeV!}s{S0LHdC1g#0A7o7(7=80xlArDP-MKnUDuY_ z`=It6mlAGY{B$4b2dvl><@4bf#I?`+-Uo>rEfd0Ep9%rD1*tOw-A}cHVU$Lc^)^3P zpfDpS0Qadt)BB*Q6or4nO^jgjMkP(Fo%g}SM_j#Y>9IhG{Hzb4i>|tJsLOq9T*R07 zcw9Niu-LZW)_uUW!$lT{EVT34T})n5>*BlAM09jM15;EG#oqbYvA1$DTst38(v%hk zu$>QeUR=r%iq27Mn|VHB5os9dphf2^VfL{ShQ z+plSvoGjysw_7LNtU6bvuoc){jRykIsb z92qZ^>ctjZODTzt$5EWrX5hk=HZ49oGKke83oLn6Cy5(%0**xaiFm@+$Ev(hc1qW< zU@Y-rek4wuaJVbe{^^g6QI&Qa1N;PPAvIU-zE3=r!^30x3A7{Xxgi}qfjuv%TM5u5X)T*|I+X$LMsa|7^fr7P}=w&d*1yl{?izTKVo;VCpzw&Y6lzJ zrB3iUdn5?d!tH((Dc2VAr&r8`(@~6z!-*yPDXA(Y+gDANyjK9tMUxXP;7zjW#pz|l zbNX{Lb~+xYY3EemF>0(_Y)%If^4m&QB=D1b*>)+r20V$>n_N#=TH>L~peIGHuWCDT z-^n-V3XR(@iMfip0cv{^Pk&SaId~+$(zi0!j9wBa0ms2&-L*x8C(C~1WL?QlIiM3c zfGC|O4m=6CgDPm~Pxm8E~qxw)>9U!N*h@99sqsL=2szKr<4M)uP(6e zJp-r%J*?`XgyKhXG;KAbVtAbK+&~>6TU`YJ*s-8YbvKfjGv2HEjEWI-2420?$|w&_ z4s+m=NJY=!dJB)l3^--SDt3BJT&`kvA~`$*v8-w=1i5DvZs&{=lpli&HIzf#b{V>f z)r$AsJ206XAv(?1re>E1va27$=81e!KIbsZFar0da;j*2XMsV z3l!Q}Y_!Y*Qivm%-l1;3_FBB|fW)1}Q6^?K605VU5EJR3+h>)s=Pb~nnyyi^KYY{} z2dOzQZu_ivP%RrH{&u(VM&qk7`Y>fWS_T7D4a$!?^cKPEt_UoqZwyz#GBUSG5XTXljxjsgB#a6lPVGMqD zX;#mE7d}UtQ0}zHkW-Q*D91ar!oRwW1UigUbh z)q1P3Ebo5@oSP`4(QF(<-8zL2A{33Ut?F4OI?CPH-=0(Oq;uZ$8Dmpwta!Wxp3u(W zeZse>HPFxswd*>l^`G|ra`}DV&sXoIkM$Qnwtl=>1h)HdzHxp&R>S)Fm`hc{vBSri za0_EY@>3APTj*Fp{uRRabNIhoY?P=#XN0=3?(OIE&ZW%W%*{rE_}O6nhk&-XUUFu9 zysr1p$2oA>bC9U7^skarYmf)GKwl{!9N9rVZI`vBq+{8thvq)_tA)MY2cqRxUu=mo z#U;hQUmV&)wNTA}6+-4iV6WaW%lNa}{YriyabJq*#L8D-$yAHYmQ)VJ+I||3p!3rT z641)wrsFo;EIS#0@g*7?$oOe*y|;?4*&IRdrM>u542scb8QQ@t znEHOgmcBoZp0IxcHF5t5oJ`K2D5G6_XuDaR8**S@aDKu^al1_}uGCTY`@rebEoJ>! zc!F+{-I&EgAlggY?Jo%-Z>iU1Ww7J}3!zJN`~j99w@VfJE|A|`Rwe-7c)FATDy~r- zPXX3TKcLG*jC8-chu*@c7jJ+P4Qn#8Uz?^wBNp76ZpxEspqxET$M`NvPN zByZ`oO-DTc;+BwU?zuzva(-!u*!r>Q;!T-`D)i@Qx`T|k1VDsdi0JY>cC$+R)Y*U3 zCentE1D;zvjHc-PT+fdsKR0Do+l;c~M^nVCqz2xmzwp5wY|m|IAk)DN27HvU>p%fT^jl9a$sPQZ-EF{@`o9e55C@$nlfq&@D0V=s$_J^ZQBU@hXh( z4xykFkhKuYNyMewPUHQQKoV}@#^XaDT4l=;Temb-sz9;UC8ASm_E?vsceE{~jri5e17Gpu$L53WXJDB= ze@4A@5Xk&iAMe6t#MI3jFf#a1w~#0H`AZuWW_b`APlb6PmQ<>#m#k7eogdQ8BAxy- z%3sA`<*7H+Ap=Jrx0b=}1F5vw#?saiUT>Cn@n^VccW~;WyXA@+IRNe7LRtQo0p&wg zcitgKc}*R-3clPP+szJwT;4q5{r(JW{Nl&pp!G8`xR^hRD)HO$Uzk#`SifA#kLxd! z)3UN#-7%8cl%X1C2Ne$C&wJTF`z}L~sIn6%*2I$U7GCyRQ~t4M0r?#6;HDTzHBk)S zl!JU`a?4YL%)+eQdRD0M`OE?*fgLYrR*X-3p;JpfGAEakOKdxU1AeWMctRZ2@W;Y6 zF<{@9-0n0*_EyH0tfASLEhq0COPPetja!g23 z?6HnrswCXjh&;rJTotZl@q4=5*}3}S0(=LcONmAT4A_AXE-!Ob&o&IQ^Zz@9;d2bn zYARhWIZ9Qz@Jf60(w5w1_44N{ZE>WkrTjbzyV_okU$J;l-s0u7ei47;cC!ftws_{; z2JnWvaKLz38tqM@U98~u?DEw8<+g3q{%zxK9TZ{wSlV>)82^lN)NXuH8x?SGbESx% zavXN^4$&Yt!DMbq1z*_UIB!b_M`F9)GTREm{mghQmcO;a)<^%U(jIO(*cdi((eh^_ z4ZhVY_JKfDbaC(sy7~Fv2B+~!cNef z?tF>Fd7Uj#RcMq62&gZWLTbJr#_!qjAXmL*rh&8UXt%ntA-e=dyAaoh2zOWdQMa5! zXYq506u*B?-JcYCk$EsEzA1~X`d~A6Yfl_3ou@V>TK#QiTkBl*sHfb#9xx=g z*0T7tJi?#%qdVLWE)m!j9B{De?CJZFQr}ElLLWr3x0mg4EbDf;DBMmSzyaUfYREz1 zkU43J%5dp`K@{U9fGrnK=TG`sd*LaURTkKZVdTo7uf?s!dlifO;MMNdZWtS#7X{~F zH}(5~bzD$U2OE3cGW9I}_yw*@NwT*uwW2C?T+_D?vvyI0dQ)A$|37|psymsl_LWn^ zR_?)+-SHvQ3{`5Xy|KD%c0#7My{R`tiSicOM585nS zQ&MT~+Xv=A9Un~h+J~5%ulhd2d`$7-rG!5Hg_0c{5!WB_$mE5V7-BYs* zFL)VmEX!sSt(CXa)>wRM+tKb@hN>$6tePw7iB+Q$wx%_Ld@1dC5jG6M)Xeyb_e}ud)=-H2 z@)E>x>z7*ZYeq!@X~CYUk`v`v3!gqil|IHP4^$8bZ1AT(rlaw2R_%E4CPE&VcM`Sy^|lrI@6#)O|&SiL<{cO?l>y(_;+VdXkw=A zVk-f5ws_#v_F|AW!IGxCTUF)7glSeS9U&{Wol?{5nJqT8_mwO5#2W-7AO07RoTI+>mX`Rhk%`EOJt>YG2 zo!C)%v%m_zh;X6<@Idg6Y%lO>Gki;F-cv!j!yV3^TPK_#eIjse4o*s%aRjZGbf#I_ zq*l6r`@MoJwT@?D4aasHt>Y8Di9G-qt-QC<_RJdO+%=H?cs+G^bi2JLpYyZhK~H?I zcvYh2^nhb+9Wa7g$z4NfSbMjQ*oIsl%B@!vqLvk3qb2&r?@|MIXD!jl^-BfX+?L$8 zrzorknhgb;D%;y+%ksqBlHe7}wKLt;Wt(qxO>6I$dhsDXi8HP2>FdO$qpnNyn_;z}GK#+m_88cN!M zXp@gKk6`)nA=}02u`JY}lfzZHWs=fn83(nAe|J$ba#R(;HPl}{L}WKaZ{0%GW}`{f zXuHbQE;YFvY1&H}I?Fj&n{1EFVJ}`Bpr=hlg5tIzd1wn))AV9DUbr)2e2!?@>=BKT zM)BSDYcQ<~U*++>t@j|XP?GU^O(9z}ul)8``8;k5gDZalq@HbK`aFIle$i!Pzq4T@ zE)_NK!r!haZa{P|myP$t{v!wjzmffCH`;bZ3TvBJ2Z_t?)LmMK=CGe?Xxc8bZLE1{ z$D4`6DX2>AsE!JtUIx4S<`5ROF_vqam!A5lkGRX>PuqkcQX^|U4vrsbKwex0YlgOg zT6#=G|7n|7Gd){_(l$=%MLC+x&9*#eTSX-vkAHu=9QwCi2=KPCH&hinbkLn}!{NpN zyBR46|AvHEv`HGU(1u&0%ax5AMPWA6PT?V&#cAVG=cNVWWw1johD~fc7`=8;v)T>A z{@VeZvoE!51KRBJ?1&dW=D}!6O+Ube;}_7(OKY}sZU_8CQ!~?F@o*HmZ$rh}DYb7q z9GB{wK)~$~6-AlWHnqd%uU_gTI=l>&HZeVG$17Omz!10{-hS#s4qlX&QPj+;OnhWf z@#gML2?GCi@OCKvqP=-ItHvQaW~Esr)K0k)Xs6=aH3Y1lF26z!9w9_YEX@p}XpN8O z^}5tSEf_{*eU}=j6ykfZqWAzaDEk=CA0NA;TC@-Y`_E?(OkiQn?^mDkqz z_&lPln~D!dZfbAfjV-?NNFJZDPU;Oyy};9)8X3U(iB4snI0E&mU5t0w>?l4&Evm2# z)cFuNG0(gt<11l!e07AyhY303;cXpXZE9h|+26Frd$eE5u}h^^Q||IMxaYeWOiuQ8$ukM>UHXgGqS zc5znDCZd(|9{t2Mg6HyI{?ZZx4OQ6nzlz%pMMU|u39LKsfN{NdXC}DotxGjPJQ1aG zh`{iV!#N0g)6yE46jVL|Jm;F$4tmo*ezRfb7J2936j}>J6VWVeFVVi74)bY^D{5)4Z)1#cAVJ zW&1i9o!9(UWv;@}OF|pv0*zjX&=Z}QWU4HCQ>8iXb#%nGn!feb{PkT;J7QUMfd1;F z@%)Hx-!wlcjUYC+t?0Py7pH!8MmcyBe=}=H9WR5?tzV+{SDQn{$M{V~Kn7)jto^T$ zHW1rIK6ODjp5_$gT_y`15?K+QBcId3NPwM69A5nS{P2V&kE-3UAdbX2a;QprW6Cld zj>J2pT3mmeEo6p~<>Nh)10_{Cs_oGqj~MAkI+ml#aZQW_Odx9ehLqffm>hyhMH
Aza$5#!PEF_R*lD#lJiouieT*|h}m$Xr144mE$r4f)b2JUk6Qugi~Tbb`%=pf|FFboUaI47DTIR4 zm3tQqJ$Big$1cZ{v4JBrHHfS(HXh_uL+|Rilx9&a+ucs=7nd+LXSb@@WMr3r=h$Vn z7rR`g#x5Jeu!AhMSFh^L8&l)8`2HT}!>9VO=WZo->@P#oH?5_Eyh7|Y zA2phdrjjs0xul>z+|hAq*N9c>zyVik1>o!+G46uW;&-&HVHO|%g<3JT&W+T3Eh5pa1aJ)hQ3 z=fu2okJGQMOdNgmhSDuARr>6XS1$_Uctllr{r1MIqp4*!blFYaW!fA1Jc{XO+l|jt zXA_lAZkh0Ka0$JD^QXibAt+HC)pbSByrNqX3T*%MeXnLGK*z9s?|-Q z`kgHC_B?F%R*p4$131J$xL))I_LA;m)jXfCsKsrdw+gV*?PpB05Clu=4cGcg+q`BF zeR-g^z36tWrs-XHS?oq1in3vGwAnWGXn!ZFG4l9uI8pJGJk>A_s8 zy-x4?;3zRI?apa))0m8)C7Y9yOnJP(N7*f(04dU^FI^R-K%%kCxqg8!#^?hZzv zzAI8j4+Qd|F&r+QHa(zy$3X7^rdU)0IqEO?K@V1)xLmW!Z7zL1%08$E{uY!gFMn|U z_jLzQ@*V_j6ovDypYC{>c`3W$?go~fOLbfXcY(V)NVqq!((+M=^h5!a z?MBBbO@c<%?Ynvj-zCv$UuJBzsu~kvVIO?KM-2j5=0Qn3@O(mJrOJ}b0~P%m1Qv&8RxR$N{wHnc6;C{)E7F|qo@vC&pl&Oe)s zDoNl-QT{>`8xT6Mgl3vQQ@5*JT8G^yM);|M>&+Nj>jZD3V)p9QSEL;=xP1>XLC5DFD# z7X*vzz)(BB<}5rZs+{EQ%Iz4q_hoYzB^pc87g}ItH~gsfg-_g2gWya1s(^fbl_sLw z5Es7cNwfGJYXk?S4#2zOA2m>4WuMY**QvUG!uJxRi5VXzi#M=pWMz)_hMvV=x0?mW zKv1sK%rIaKRA2l~m0er*!o;5j>ysQ`{T4WO6&rObuD?6T!dblXZJyMPzfs&`51I!#aCllOa2Y^)He zEFF6n|GO&h8v8-2+3l~5Il?D#-@u+!wd2sV?`MzQEqr7$E!gjdtf`Zz$ESXhca?2B zj?@?H?PZs9p#I{X_Kiq_{1}h)yO5A4lRJhH40MDy-c>E5Q`l&99?hwyLnFJ$M8eibx*Hb-&eI52w z5t6%vdwRAXVuGo&h6^^m;wFTH9OFU}qR^%N;8Q?Vjo0ZmJrxIOFjTjXI9SM1lQ@g`_cw0!mfxS4y-Cru?3d`qsXp3SQEhi{9Ql1`yTVQlbRfsf&+sYn&{lPK z;!S7&Y9bsYC%^aRO^Zf<+jeMCQ95tVr8+l`Y`AV4mkK~4+1_I??c`nsWq_)J2mdB% z!%~&&I2KQga;MrevNT)4xU-=RSN0@YQ8pe=Di>&=vk+r+tm{fP(4T6hd)+j)1~F|9 zpjpPgDORhlwKmx}!Njw{N7)GMq1;_Ab}VTWgTvRiY+SqU zJMgJQuBk@Gu0|a4HXDK&HDa6gY}mW})(AwCm%-q~Sw9lE3!B&$W7*46@^;OB>mXz_p0U4Nb zh?*eVGLToQ;Ia#{477wAXuNE%-@r6Mb0j&witSZH85Rj-a6wd}FWwpU^RC1^#q73^ zr$D$vI|vIi5L>80?yVVEAu6fiM=S&Nsj7BFwHZiYR1Qz<8T?9_YO9ztY%wHqoMLq# zY{}qCOv%9(o*i}bcPT{I*$bVS9UEy;yL?9Eb8(iP2~k=F%FYfhWM6947TC)hWEv%< zHU|z@vX{@D?C6qId4N^S{x%Q?(^NToC&|td5j8Eu&yGE&3i|BCN1t|F1^#q{i>GIH z+`x-!1aHdzqEKbGqfU{X$Kq`pcv+T5G!1`q)yQ5JJlU;4Q0<(>SwlgU9aWVI9yHBq zTzApSY1$%6 zH3}M&2?ic+su{Z)PY3T*<@B{Q^Bu+xyV+E?T$3d@6lI4$fuUt8xNwu3$q_6nxQV9B zRyQLy(kk=$T~1r8iq}o-mP{LWGnV%FN&IYPa>vxLPFAj*1!;f>hyR&nyqpG~sfL3d zWrFb*ixZ!UndR9k^Qi%I@SL5OI^eW&;Oc2#sv|AWQ32#{n!N_(K&lx(gh_W=x!W7% zTsa3TO=$@p`raHol$2)gbfY}5C-F1IaRbzm128ik?BY1^tgiP! zv5CDyj*_wG;L)wF?7}byU{h5%vwF41mMo!|TJG#@1I3SWjnqvG$C#bw8^ibq<{&Ky zgR4LgnFD`RFz5^Gz+WX_gELE#J%2}w;&R{}mwtV)j0$R)!&@diqf^dNaF&!Cy2`eX z$F%73Ha^jdKyDm+deqqCNj0WH~Dga^fIgNsFiqIl)G% zJ3GC|`7D5PBB4=(4ojEM>{d^?O^x)$z|b$a@-m))SBCiW)XlOP%2|*0w6IUP5<$H77nR#OcK1Tez+cFF9(47Pb~Sc|0o3$gP}+mqc~Dp`83~Md@iH zo(BN)oLr~WM;kS}-PdJ1+heL))fm0z`5$$>Jl~YQWL9|T&x6owv;6mXJNZw^0QogYxrg}SpU9Caae;~NQae4 zGzIx7SWHHqs%WE#Tzo9LUl^9 zRuRSJVzE(S7B_V(Sm3er<=*wspfpkG1+&qqwo9$LXKcj#%3e4_%ZW;Oy0RW_FQa_Bu~qpYO@K813ZC*Rzq0nLpp z`6#WPg&X9z3fd??D+Xp)+r*>FZE>-Bv6sT!e*vO$1A`D7<8RcMTjVyzhmscV=O%!y z2DYuv%3UUlx@0$V1WGYCM}h{?ys&oppvleFp#Ji!S#EyxNsn|#C1jaC-?6XA%a+X; z=cOjPojkq_i3BomDY=qas`9Y~9-IG(!ZI}vxMfjuSJ%ix^Kg`?--f+N9)1C$Y%Y=q zEGhi0;tJ$=o-!HcOQtgkGbFUe@(j=F zHtd2n5BMaNo4&!6zdsFXyty0p#Wy~l8sDWRD6#Pwo_VQV0F?3Zq7fA+8ODd|U3CV= z{^Ki%*Z7#)R5@P9!;wR`%Gtrl_+HG?@d2<@e!}jsGdOYE@~>by)BQZnV#BEM@nMxe zR0$aKu$86;mRU_6J1qXJlNLW%C5;bJyxKdUlgIZEVMA{3oY+7`jSt1Q#%j315Dc)G zwTfui3847m-KGA@p|DYuV(dh*ZIkXH+2$L5yzya>GCrJl(F@X#@!?a8`SwR>gipWy zwfEp1&5NGoL4=oKXZ=T1|I0UGUv4dr(+FsJsYLH0VDO^xf#;afD%SL9_WUmLtSY#1 zKsK6x;Y*~QDLW#8sDpxVv@(Gk&3hUg>RcI(AApA9NOz-wA%X%ZF#gIhJi={_2}iYC|2=11el$M@%YsX!{Q5@@p4rC#9E z5ooREr4A>{K$>@_1Lc%+?Y28WLaMIMlM(pjQVkpRjVPF`O4`NGu!}!Y)A~=rJcl_$ zD>Z_vkJ|3Wb$IV5sRWDl>4FIPB|AeI%Ij5$raiR@O+u z$d(aSw5VwW-NVr%$PTVK!!a>ndRH&&tGPBXX9RCAHHb~mz=xmPo0jd2z`jxi9joVO zbUbiPQAYNSj>4{8YVv9r9rY&RVoxPDNgU7(=h+Feg%jRlBP&)?^NOH%Ft zDl)Rn!7s(DV&p&koeU%El!W5}b%A(iB$5~9Hm`&yY#YzubtE52X#sG5fC4n5Sgj3* zOBFS<+OvnkVfkWH#{;;kpabTrS7*yh4F7T>u=yT|mQ$VXHxtKERz|+h3&M}IL-?za zKxoyMci@M(8%aPtW)b`IkrgavBtcsEK7NxA2TWDLP6(M{@SS)r=ei?H05lQ+|8JFn zf!ny0%|XThJ}@t(7nIUkjc%ZSKg#x2?Xa854RB0jly8?|BTuCre722Iew@d6XYoLB zrQEbQ`*MTRo*}`c_#fPOR0RVtyT*l@j-oO~`C}f#jvvI0ubM;^b;r0r83^OZt++5_ z;2c_1pz;`_1lwcqIB~(R=Fq{l#=yjGslSgMebl2@8^?q=-Z}tx?-YOuU%31_it^KNOh6N2s{#~^i8YCu zu^Y;PTS9egz~h)a*kNHJH5n5VCiQzxjosm0#^kXfPERe2iD*gPP2go?@@V-@TbMQH zr3O&9u>jJKOC6sT3vtc9RQlDi%2sGBr0FVGknFM8BGt+CPOcfE6-P=PmdGg+EW=o= zQ6)KQ>~J^-QH~@xRz-0ha^vQ@4)!osSvbp@l8?EtIDr!$<3qB`Nh`5yKoQ0JV`bvW zY%F$1HK$Wml+E^sC59?zh}V#0F3cVR*Wm~wVpMkDM}1%iJQmh8YNh$uS~xvXZhBW+ z6&z(OWZi1T7)g1Am~=5Q`Wg$M>~F)ne71~@XC6_$Ky5G`m-)?Mt{P!M^Vq&vuRBk$Otj01XNUMf5r2ZsmeQiI?x<8VdZ%Ef2#I2D+4*rl6tD{%Wb z#0L?zkaCU#v|pXfN3D969^L|w(?9TokX|LzH~RzjM&$+&!f}AxEBDmfP`JWPGl=cS zahx%Yz+SKQI}3)g2;edfZYCJ0C)grA7?fpYQ_I*5j8j0|VVt6JPt<&6t6V&jDs8-6 zFE^RPF^-6uH`~IDgWylax_>qYnYD(yaqB-$*>Q~X;>C?qzEQ_{0)lG9W#lt3PE(^>97K{hqa_C781QY(&eGrxL^ z%#Sy*(rmOezq+5ykGQ{TWf&NNyn?g|%5r`vq~cNs4>P)ZxY)orZaNYwjTqT9!5%V> za*{tk?(CGDSjzu5 ziSLtJhh;Qh@RMn%rbgOW-17rQ@tgbLZnL31J(n6-htCo&D$z39*?fQ6m+Tn0O@~@- zs>1_!HrA0S$Hi4a#1GTbDpkf;{A?B9WWGodv#~D4LPJ$POLVu?%H!2n=Sfsn>OLw6 zNi&;e3L-b*aVKG5DcEZzHDWiB?JwHwWl#kzkeLl^wz3bJnAytV(3H4uGN|>{@G2~t z_5_H5sA@L$T?Xfy$!r!P>r3HPZ#opmZ)H1pi=SyXao?p9^Qjql?FP37<# zuNq!71XOVL0cbb_JFEUPE7Zmek#@i$YqB8?ae@KIz@qJ!5O`aS!h0k zi=9|S#4@8|3e4cQp+>gV*fWrvF4fpoH@>2>)z~JF*cqI$;=Xe&o$;1TfG}cSh?p~@ zuCFu76ln%PCiNSjOeS(w%GvMb3?9#7zddT;ba93Q^fKUHp9^2w>I4If7{@tf6O%D}b9P4R!ccKpNO=rh|QfV8r!`ayj z#6cL%JUfAs)nVC8%wCT6W+zacTHL&GXJ=Dai^ld$%xBf~}4t?0f>rv1y#wAQd)a^cTtS|p}4eHJPq z9+)KnQ|-wGY9?E_3*z5o=JO>!vs@R<JxG_Neue zSapku4N`k1#$QzCho5*f6V;q1A7FRDgL_iH)F!~{9RC0%&VdL*RO4p3Z>;MY+Cc62zo)jsbpaIJ|`O?ELy5C=L;V`Cu$o;3gT=&dElJhl9cFBjC0n5a8BUg%56Mn z<^+7KT%IP=ay8E@un-xvd7A8&U2aZuw3j8o9w{i`0V&*sJ`vpxNDZjak zSzni0`0$>qLSW3r15xFccdtd@4wXy%XXtmXE#x8F<^sNgMRKUloRT15jtirEJonZUvLpq?4VM*pPBfuzSw7%c{BmeKmp& z6oR;6R49M2bAu3KLVK0NHIKMiEpZo7(wE1x>dsmHv2x&^1sCmC-biFg; z?7LJ$KR6Hg+ofVJ&A{;KXa!AGj*pbX&4k3=D=~b7wJSPN_WwDLRVwrFBU96>zozRF z^#FnMfRuM9n2F3&Q2?i1Z;aUdwx5O9wcn{*Wr_LQ z;Bq8@u6$1Q^`Vtl$>Fdq>+{=Sh(w5jKh@v<)>lpn*2n%u(+)rV0rgM?2X0zl0sNQj zV-<}1d7oP!F@;p)%*yS)e=kS46))W8)(5sl?db=_Kpi~%djWgb$IlT~xpuA(H?Nu{ z@VM*4B^2CS6}>)GzM_)lus&?;$>zzpJ^;#MdVtrt&9LXL?=PVEhm@3p>#>Efb$#XT zbv=vV^_8d3<+!$DI=RlRKWyImtTJ8Szwb?8&5O_8^&xCh8wUdwqJ`dyeEK`NtztN@ zLa&MJ-aJ?1UKf`dtlHIVts!z@fVu1)Z;7h6=5izhb;PE#8k$x5&Z^SwXJ<7Wiz?AK z_SMRx!fFIwR)1k{XR8rUkJ=p*iq&|ri%PI~tKp1^w!h*#`WyECqyAb1{kUXDyT~2b z$F0A(x2u7JWB^P+v%kus2G}^~acbbC;@=AQ)sRinSwqjh8pI$PMN#yFh zg7Zmf9dO37Q#~mE7Nfl6udv!!-C38v0+hcRbcpd4T%6Uj@vN%7bUy;-3=t^TmY`zp zc;W1PMTz{E9rB5Vfl6ovQfWBws<&uLHIj?<3N}5u?Rwh@k+4jxntOYlTv0-t6}*vE z?(kGxVK5E6So5+Zd)#zqmB0#?hbLW!q#C#Oa&;Cflw%044!7ik&{=l2M%ut;c6DIK zs?rDtu?#L-s)F6_a){Tax?Y<7xkp&N0HCWA`-*}dLO0A|brd^P;8+nV%;l5E`sz58 z5i7xyV0D6as1fP;RbvwNYjvbC)U`W{)t{4#)sat%DpP8QOY=CRvco@sCmj@zNUm-b z>|A7qzbI#a-OI8;rEMP=_C2QxolE-aV5`Id=$^5y8J-=($>it;gcF4_Mo58Yf>@=I1Tj>EkYS)(XB)7R61GceIi zD-F4m64$FTx!$Z~GhE`3+v3V{<+&2S3SwcS%2&vVQnPnwmbWW}0+aeBke5;3e~(Wu)Nm3w;C)Q|DE>L3R5cd0}Iu?9!H z(i%P_*QiiiYm_&QHE@rlw32cPm?r7+9{G(+(n zuUVVXFJC(DC29%zB+P zlO0Jsj$PkTJDmC+$N-le_5Jp@(C)QMH7rioLYjFlm9`*TSkEq{@j6|rU@ps%Aw)Ic z>o?MZH^K#KO1a21*ZNzS%X?m`8H;MxV)coeXRWvvZo#*BG=6Ad+^Xt<5_Bz`D67X# zY=yOKRWI_aYG#0?TQ)aU6rw}; z)Y|Vr-ki93sott?w~@B=wvBScTvHN`t$wM2kF#YsRihwcnY95Ah=r_8WWQg{Ca{4D z9{=Vymv*&yvYHXtMm55B{|)Ae{w7AAi_omU_Aq7bmJgN;C5YB(C-atu;YozQH$G3xSlFcehXMPScmyHvF@ z9eiaStSD5a;c0sv zp`kRtuMTfpSOglj4kks64~6kM9CS(>b-_KT#+BW^$4cUU>DJ>6Cku zb>8*;AQMn~`wiLpfOQD$G=KKTYk6F1^2pkjIQ@=&f2A_pwq6z0xHxS~(ehH|;BgxQ z6{<|n`$HwEDji(h{>p>TcKlXxa}c_2*^=Ig+aKqI(k8YY+ZZ#Y@#9v<&%AQ~d8FH4 znK^E|oD&x%ZQNhEDA*sECPoA3?Xn9TY=0GxaU*+Ua`ZzNlzcLW1XWUT3;iN>Y`>DJ?LMQNzSx5VO>wAA( zL*S4TYk$~Jsu_C@+YOJn=TZ|e#csHpRqo-(xLZjY?~@-y*lxrixWvFdWVdpdvm0Eg zLi#DRpBd(Eh_RKn5gKjBqgbL4W$pikK;31>3bTz_Y5;3heNamOp3bVW2fCbYa zrZc-eJHOq)f-+DX$nOT4QZ+cOcSFainK?XccEeI$?Gf=#RoBZ!_`4h8U2}jab+?L~ zup6G@$kvZr)B+)Vd)~#v`0KB|Tr0tL^MhTf0X$$Es@5*mxLfS7<;D&JA#d057tD1> zouNCp8!D}X%e;0`ss;=LvJ5V4FQLFf|lye*Ar7GJ$_y?lf z_@*<50|CemET!Q!Jr%(;)3z=kYG=LLZP)bdR&z0lw6-mKq_TIi!10Q5Hv+A#*cY8# zNm$h$z}+4AMb?BE2a1gltoY|04wk~u{d0`+=dz>x-tO>cW?DH}ci0H+x8FZm)b3Az zxI4RMyHo?Tw7b1N#w9mFPIt$(6m@LGwtLy$?aod;E`_f(QCP+8UI5kID{#&3{uauf zco^BeqW5gW*hD!j_O^UbY1}KTH#?2omZm8YK-cb|SH!CQwr=2Rn!zwIWA}GLIUpeSgVOm<&#c#W1wiIV8r_Q1o+5``diOHilz7+g>haGRl$S&Xph3yZsYgVpIz2&M{y7(ER1S2kQjU5 zGC?eC;y!Fa=C-+BuMhCqw+7M1_V{zivj^}DjTx`;;?NU6?BY;~n^*H5XfHHjjxe+l zK&ll#i??lPHC+Sg(;oZ+-7$-F0OS(attLHp4Jlg{o5=6CUBrnB-o$$XSo|)fsLK6P z6WGU|ys_7%Fbls_ujS>)2}(p5t_D$gZNcXzo!Ftp2JyF*xutX4v()!{vJ26$f0L7= z6i#ufvuAlN-4g`@t>C$4<1mj#q6X=pz1v>lpnPmw1g5k@Jc&JVbFEyv0p1gPJ4R*` z){WWjQEzy)+Y_C<(zY+n6L1%kmf#@wWZ^I^vnHsH&I#mHHS8I3&x+P}nQp~uM**-` z`9Ro4mF1-zUu`==!n{=Y$+7^mDs6)J*cLvCI*#_SS9!DC3pXFC;-487pK9(9OkkHB zOt}+C{9fpt#p%XV=w1XIQaSHRtD-G}93{`v+P&<(Ok}UCGx+N}rwgqvEL(B17eS>- z^cP;di^)c`ycdB^$OYK2S2+~jmZvdogTrqjdSYIPj=TQ^etQ)>doPE_R^{(ajl&#n zqxO`&@F=jC-Rp`pkYg{O&ou6z?q;9JOZ7rZY+HNoOEvWJd$X6#OU16*dw6Z?Mdo&J z`n)#^oFNJw$Hu0oI>F>=+iaC8lb^!IkbkK=RI+=czEq9rd#QtMD9!dRdpqVa4RROS z|LVQ7+0|5c)`#5Ir7{v!ncMMcogY$L?p<-G_C}th+-$|{wvXApL4=8)ZJQw}?kf9$ zAl;i2OD*nvT&{e5cf4cnU2wC#LGd=V_|@Fj4rK_vX9W*ddxM!#!LW*U?{Yk()Tnt` zZ#cHi-n(3lZkaOs8`;s)-sN49C`cX)*h)PXw5=a-=_{d z*@sKCiZx3o97k1@Ur2}d)}1wdStZp1Jm$44akiQ}Lws0ivXGr&?)- zkL^<`)O}EKsBVHu+{bafR4}o}+!o_%P|aA6eE^axv2MSIu=iw74rx6W?-p}Dj41Yx z!ff8feLg%uiwfY>$3U{Y)B(_c?66Jch?}EEfP0^>JT{#V{o1@#xpO-o#>q!jh|h68 zRMp}IXHl0Lry3+uhthV{br_!W@q7@~@=;m<=X*-L^8ts2eXQM&?L1*{RoVbzdMt!f zZv%f!$KfuTI$5i_%hz61A36RyM$>*i?qiyK-nZvP^T1&6W7=%)dVAvmdp^{5N-IIj zsZhGVELghML{6^Frxi&27=yQ!3(o0a9qB3?=;Bd)hfa%JrOyjrdm7tmQyLJL)6g3! zw_{{;8scy@5&&CHtHbFu^wy#rsrcB@o7uPfk<-e%*OBD${;*DCU!Wx5KvhTfc^cOw zHM#L_a2j_uQNylJPD4$t5j5twfu|A`Uk%iT_NTGQAF)Nqlhd%S9I8R6fzvou)bRS7 zU>_a08#ABpN_!JxNssa4YupaE|?QpW!iF?pCDn_Q9`7#p78ls>A=Q|$x}R6=cY zLpzRbs-B18O()m}y4vQ&bfRJh$w(4qmSL2Ci-Rexn&UowEQS=z z1G)N<)Uc5jz>ZH8=J!NJ^FC27D~~~b3^!_!8=1+GSTkJ?l*I|(?db%2yz~6noxsFj zxt+cLbnIQnrSOt)sb(jmy!~3s-Q)Br#tSQN+O;={V6|Auh%*|CPZMYema_U z@nD~ArxTt^t=M4xbR;vR`D{HM@Oe`+Sm~V3ZV{@&#qJn7r|zcj*{AcqRNFEifk7NK z9Q#;PxdlGVUM*B1qt5l=}y zMRr_<9%J$NK3+G525JC;IOE1SjSGjU{VEI`3UK?oOPS!K}q#s_IC?8>xXHL4XOQB-}%6=)r)?CWEu``I< zc~>GK6jY;QmVSoC70OMYjxz5jciAJ(85QvR3}O#WWdrLv^$eIGV-D zRZ3J6h2zY^Ngm8WwOh@1W0-c}to#Lz^Gtjtj7uH7C!UEfEl~p>FK41$p)zm6W6_;> z@NP6QKc@>{?I*YkjimX9Z);aoJ${0oi6BIj!&4o?EhwpD=zzCplI;KQ*lC+OGt}`+ zun$Zx20v$(rQw;}T-02Jn>z&j@Hl|U9LLy&Q$UJm5*q0@7lhWlMAWYh8&T4*&^(Ku zPF`w&Z#>JLsYY6Qau&+Ip*qMV&-y#v4WU!d4ZO`+yhD{skk+#h=7cD8sAs)^W@lAo z<+E^LKqu_t%Z3grH=`2mzWo63fCF1MoCWq?HJTmMp7r;bS*ZV1I}zTWRk2{tLh`RE zski~s?s*aqHi~BfdQqB@NN1tEWjep&K|f5T*$entR#a0Eh3;{z2hG=-?*k-)@Ux!V zwX@43ANzr(ZX;r!qCg~`%^OTL7Q(-?fp4@+?b=JXCt2-u-rkbL2MrP==hzrkNp@9u zHXwdAlK#q;o2lPMkg(&35vm)tS8i^Cq8c|(OL0`!xS?ZbX5wz+a_nq78BoEAK=@eZ z1ka1h#D3vTjwE~Lq11@Sz&R4xg*Hoo+yxHhY`jNkpxuvtBGyu_?P_J?!|v>gJb!kD zL^}JQ52FpTNe%DX);E?uG`R6^aB!_h_Clw5w!`$eYoHaE@)d7mcOhoy-&Y=3FrEE; z6P@k-=9i^Y53a*^7BxZLpTlX~l-T^q53eWH4TP8H6ky`ms7~gXcc5YFI$ehDXSll?U_^~nWR5R1N{VBH!iiw*} zLYj3>8EKzWu96P%CzRCvLpderJO_D+s6J{)9X$0p?4_DOoPqtIpll4-roG1!LiI6l zgmX^$hvk7w=Jr#Vi<$?47uIvUywvh;mAHI0IjnUiACFYm!Q4;#t`oEG`}y$Y(=LU8 z=~Bmw>Z|BapMz8MpFekG5@Y<%_(z0`TW^Ek{eUCPAI+iumIJ=OkPPwzLdWa4)B&HM zt%PbwHa^skx2$caG)wwBKbIXy{JwezT6%Z0V!8J6sbm1!`T20%a|`k8`*3X7ejL@} zc44gGXO+mUUameqY?d#JHfQ~?r?`Z%H(wcHIhL+EG1FEneIS}I(_!=#qI4A=oU~s# zXa8#7{YpDxk>K|O>TUfrRF3VZRV0{ZX31gVlPQ4Z8_*;yXN+HS;1n1=m@hRnCOCCJ!1JW4F{BKhn-~{-!Jgw>mCGFVP%M zyj~O?Ulz9-&z)W_n>xyzo3eoKc1}O_H9c1|&Cfb!dV=HcHWj!-b0F1@k^jw`_9BvX zzsm9#l6WQ^KbF-f&vrcNxUu^u?LVZPZRKBFJ4}%K&vOuF)5u#XDtPKYW-syGxqh;| zWhN%Wx0aQtiCpuhY=nVHAA}StW25g`!NVsSY-NFFo&PLE zp3hkhN}gM0W4|y#tzV+XF>Nk%>!sEtcLZgHJ?SE}zSV-~-UNzq`!Muj@`Slr+rCKe zPhVbb0Jq=5hv%_nJ{mLOQ*?vX09!Nj<=%%|%PkxBHih8i5(e@A2x6#)ldw&*pxhRZ zX~yi54-L2&)NgNko!>IkK19nivtu;e9u{UZlcjim^zyhSMrfJ#&++4n7K;qBydY!aVpCNc#hI4q!uy8?);*ne z3b(ir>#G{3Uy;fXAY9Z13gP_Oh*8_me#SFI!M#~!1OBto6pWu;@ou&qq|Tqs6y3%X zafUsA-9p>omy%%bdd~_HsZR1Mju1|7w%1F94J|k8UW^zN#})t9A2uEUPj&l}E7i-! zGQiBI$Zc{M1X@8>cKP1h7FMg1Mm$yrI?z-A-2p?RGKHUgm!nO{kz1|Mvn7uynboeJ z)wYYK+t6%P7|2W6hws7!Rv4JgxqrV^K2x!Z`mvwQiS49+HhRzBXa7IEEgd_@7F-9B zNX34!Pcr5CxsQ$Y&GH+;CX=c*EyI8CvIA;m{2WvwN@}>$ITfhtU>KA?$6i!!-o^}8 z28N45h)uA5xkRBHkgMI6pG=1UPq(^7^?$18`|%DV8LmIL(Vr)jIE3cArRRDa8P0)} zjvcQ+)E-0ov_Y$B+Ng#{FRqRkVgZa)&=8W= z5Y?&Q?zgAjS8jT>my0m8S+1k$=twD=BWkLuP7-yO<$<|1ycR0I`^0LJ-2~k@es*gp z7(_+Z9Ck1kt@)~~4s9dU8h(4kW8i?k5$C}D^_uk@HP_8vI9n@cPwg3OHtaez0*8XI z$2?|kvyHWeoRJDqqg&`ETKi{z`>pwy_^ljuNo|3{&?XAgjTU_5d8yrt>Ii09l=q(- zC>M-Q3*^nB4yQ{4y+mi6NiCl1*cNpsYQghP1^u#ah;!(cUwoA9L$l2yyn_^McK1aE zPWcu%O@)E4(sTn6E5g{S^p>3Rf#q71Bb^rDeEEc5O%2K^@rrA%7D#8| zpBqREw%Olub~vAx@=d<=@~z%pG|kpAVq2Fgze}xSWTk?2!Dzi=3boG1R@)8_+d5_$ zTa^i1)a-{#z1ZHkIe@4rYt))$U~mX>wROxl=(vHNZW5>scZW`}b-)!$BL;<7;4E+b z-&Z`Bw7FMg%GPI;JAjwSVH)IX^{V_@!>Ynl{@Qv|g{w);YuB zVAl+#Z=pi2HGesD{H>S0Vw06>)ODy5~r4ogGbJ)#ssm6<` zrE%Vu3d~C`RkM}lS-vIK^lETffYKb>@~9VF$zu3N(m-$4vZOdI0q3i|WAn-OXX@94 zZd%ng;;ohljm2%7)%ZL$(z7ZJ|0}A2@DcnJ#6r2+5{G&8u@NS;L_i=GN2^wv_fTEv zDb{w4WD^vmWyMQswylIcyu-G%*BTPJKDGpIss zI@RyCT1Xb2+8>9*P_%;EiA+57HV1k2KzxDKt%4C7mZZDf@TaoAY+zf%Ft|z##0vD^ zil_CePRtFO-LL&NGW|MhmvjKtHXn4ZS-1z;(MvWP66U2QGNd-y>I39ho8=R$O|I)hRMZW0vV*8( zVyV-ng~`eV8QbR5=}jOf8t?$((k4(=)m=bd+q82>W%GzsD)0;?{EEd zFI6v%5{W5sTJGPT`>_TZQXw%h(7_!+z~aZVNML9Q1QvBn3d+ zw%9I@s$%Zm)_bC?7X-X*v| zzhcl}(dJkWnxnGIYNy=Bv{PELb_lzyUP}aZO5EFQEva(0$Y=*prdnBFedesq|M)qk zSy(`++5rN6e&YM{B_AIu#<)~RJr%^3B)4wV@v+6JdT=JkXRP^FNpPnj5mvRs7mtsp zpqjz>JU)g`E2-akd}TC({n4P2!7RoHmNV5b8t<^A68>0z@x7Zwe5i87fi%`?aO1KI z&$?!>KSsIa#)ta@8Ue@^-+OY!$F~p*qZKp3DIOmh2AW~d42L6a%GJ>wAInx18t;bq zfc~p$=X1wrkU1S6?jG^^68k%*hSFtRY7l)SjQF{A8p_0ZsqO130lK?H&p61RVxwrLdC%}U+~^fIb5R}Itwy~DPO49|cxi_4Uo zf8648OrlK>GyR*2at0iMPL@V?&0Asz6oDv(hA}w{d!nP#Jhx{7v4ex%Ja00%H_r8CXKt30R0C zic@qZd0na?e%)`M?~)T?qcm}oT+HCY9>=yC*{qUouNNw3b#8QI;VRgXyoF_iO)Wc| zX><%r#8%_79S+$EFPI`nuXwuA%j_+l@niJAW!1TXtLMdoGCCp{I!1^Uc1@;c1`e5{ zS7gI*&`r&tEj^;6Died}F`XcWqL+w1I&xr5&ESF-9V=|O@)6hz!V=illDjSak6y<6 z(GeZ1>4Q`>I==zF)!7;D`kZdj|9j`!HrFDWC=PVImwjk$lj4J&PZ6+ zx7E(aY$l&cizGrYBm$I3989Sl znSL`RQIx}jM*6}oF8ZqZoK`hNV*C$zP=Z7vb=II0?L}DPrzWS}smT+6c)Bq$hy*pF zx(iuQ4E$I0OW}c36u0ykr5L^1d4S?EO8gv-7CJ?lzfsO}qTHrkNE;43?cn$*>;l6O} zvn=mo`o>7U4}KfsDv5y1KY@4s+xB7-#-%ojl6Y2$u`o*^cUQR%3^Epy-*u^JO-ZaL zYmH^^tZH#{SzpLO_od`x(FL>E!9`ZAC*F*OmQh_F033D&_WMuiSw>_DEve%?eaAFHcee#R;lbvVAN8a%$Uu6NqoIhu0qRw5QU zW7TcGIIRlr78RO7-QloERbGQLeOjyvTd2nUgwcNK{t$_Wq-OfLZNG0wWTkKPI-u}5MovBP29@IF5d^S30)=z>NdL(hrvBqz}Q@6)SUOzjlfD%uu$>F z=7Ols+NehANw&dKs59H}#ztVTy7+ntizL-o;#DFxzeB#(8*RrZFm?sziH+Tb%7s_a zwrefr`h-1zcF(0^7PWDc7^j>8!~vasKeRk^-hNN1&fCJr`hsv1$VTIQ1HAJK8*5Q9relVEmn*u&MC z6n3hb*zm+*ygu8F5hdz(Gt3HJ#s^0(*FhgW)_2z`u`!38MNNSPAq(!sU;n zlb8Y_)<19^K0~)LqcVpdTm37Ovi@?q^AWC!El4LelYVYBVcYJQR1cZA+})F{z`Kf8@Qo7&OV+U=T6)J9w1ZE~ur zj?dm3rdj0T^q{xrVYN5*A6USC7AgE4e*3qJXHJUVcu}c%*~#|yhxqM{dpJe$7jm27 znbRFQg6g|^TYp1B*wC9X!Iv7gN9)E&GDS5*b_&=fLtK0kK-S#>Y1Qype+&jDxV?dQ z_#LODL)#QCEH61x6L(B2hX^p7J@7Is%5jZ);JsSqRyii!yc2&V>3IuTDp`*~9pUDH0R=9=P^^qj-F9INv7yTaSM>ELT*yO?y(+&@xY#9uFDa z12bYx$w2McgZnv?gWYSl*Ed@3Z&ccSd(?5+0}#KMH!i-Hloam4@%AV@SAVd^-g*C= zOHJEg+66wjymfm=1JqRxh<)$nH(D6%`)ujGER{R)IMwd3r-0ruarrLA270O1t6(SE zQSZD=r)uEA#xiv`W2s5++|iWHm7#amt&%o~@ZR|fFoQ?u-s{rYJC~6rwgR|m?++5w z%PSgV2X)yy!ecd=<7EeKb9?7qNNp}wMDT>z?G42di@M{fD!Xhax+6g7ON^+mbKY;E zbCYA(r#kF7Oz9n+3zO&Vsbj*guER?H-sOQ-#6*yfj}*@x;)LEgwfNkv8eV@>)Bh&y zt3|L0ztD|po0sZ%neCE|X~=1XQxlzd_{GS1I`JUr>xm;#rM304myfV4^SPdYWkrRr z0lI#|&P1`@(`S!3bGQ_(!%4a2>qp}LnBJzbG@alMs<8>y-EH36#S12~J!%}A zic8oBV>d1@FV*KOW;K5wxCasSt~i6eK@{$I#!m+WrtS`Mx-J>trWXrux~*qb!EcO? z6)R~D-`0ok4Pr;?7brx+ef$HS*Bu=I3K>)%wwzbF@`%-iCv0%Ix$5^(V6Z;8y=tHn zJZ87hkTH$o8Y8bhKt(XYt<@xT?7aG5Nzrl*)8UZ%z=;f9eAS*s$bBH2r?Yt6J2p%o zTxvw&nOYO`zGpamL?3VSs<5K_k_&NQpS4XhXW}ObRl#zXw3Z+kb8xgsDR!$!EDi|oq`>gPl zeR^B>K)xEC4beJLKpFb>&tyIy1e5o_atX=ZZ4x|H0sT>*7}2Qe`0K5IZ;t%inD)X) z$N0PGvz(sw1?FK~su4n@6Q)x{cve@1AnMPSwl7TkrmFf?wR{;#weqfV>si3}AO5<_WjR+8M=MOLC*8~KJ`T17*s5E2m+>K zm@CHd@+(`MppS!)f@qM`Tl=pI!Z-9?KVG$q->|-MeWNc#_Ilkd9itqe%f5|pRrbIXrtkL~aC`=JVvlp(l0VPCk@|g?JyEY<3>sFf`s5B) z+0WC&b-T$wml{B2`@w>MT%$hvDFf+#EY3tmNmctx?*~Qpy3{cMsUPm>q7sK5{S;iI zAAX)8ww8DB!vkC`D#CyY9xx{TJYOXJU^S!K(H^hOUS-bzZno!N{*kEV`oYtxDC7J3 zVLNPMh`1vClzg+FKL{k0h@JutnGx|Yf598og`l(Q(!&Tju9Tb?cH7@NN=cr|L?>ywk@InDCSh=#WUDhe%t!;eV>Mxe8@q*rRT&dd=XS$Y4P0WR&AeL3L)e?8ODJ=1xj* z;TDTXa2TIWG%~nStG{8eWrl;%YXaKq8-c5wMs2p+{Y6Go(}F$ zvp*kPb||NYF@RPsK7g_V7gV{1tM2R-AXm=Oin{~@kiB#kX&f3e?rUB43P_P1`3KXo z`PDg;DNQ4U&(1A{&w$Bs_P_17gHBOmpx@5!eN)UDeU`oK8?zfM_RC{(bDozPytdK+ zGUfU~orw-uP%*m@Ayr=Hk>RTm_Id<3**F0EcDf|P0lkxO)(qz21>)vRCl8=5-`a9mm|9b63d*ini8SF zZ+St5E=$HOeV0PUcc~SXJFu}x1GH4N_iCi`!p*_#^hckEI6o*bC3)A1@+xja3F9!#*`fL6bBEO=>D5mX|BL@mD zRao8%M+I`s!NV77Ra*3_y8vtC3sIT_wZFz@w^ca|z!Imn>&{V;Qw$XRa1a+dBPC$p&*7ZP{e1Hxc=Ps_=cC0@~>sy*LS@a!fAr(p)dPmSWL^P`?P zAvD+E(R1P!i8RCvIXQonW|h8b^JGaZNa=8cm&nQaq+DM0Ik~=y!D+kDoH(ga;_&e> zpKs@!JQ&P3Z`Yjl?$24l0dwL)ojLq!!t6XaCq~nnrCjwL?ZY4^&v~T{oLHnmhQA!z z4_v=gxf4zKN4w9$v^V~Bse{}l7mxXIsb0OT0?Xz?McS0+XJIZo5mQ5+_hm%qQ5tcm za}f+lwWAikz23ove~_zeHFFWsN=y(SMY$m4a-jxS4M2Knh#9<=ThN6tLwyYN4QbO* z`t=7W#GMAvv5VlM%RnT?S9^8^mWzjjsB%Uq2M#Tg;P^iuT^Ayqx>pHstz(X3nk}z11WI)|I(Yf6yI{8}nfNmX}(10Z6-h`!3b3 zy~$H}zC4Ah$-|gb<=A{O4SOT8GjRuS!c;G<((Lpr&pRIuQWN^?9{l0qCJKM0DpeZg3KJW2!;c(h% zMo|BZ&w|_|5?g`s;W$^+L5n*aV{?iEK{>wi(SkWL#SXj4__*P!kHd9R_{jTm9Urcq zX#@8g<0Gn+8tEWIhR|+s1Y52;sdmpx!T2_m22a}w1{$#KR=1a zXN9r~YEM>o({j}D;ig&rMHXW-YEV{@4rA9;&QSx#$GgVO_*p+bM4_rfw8$SKijcIT zsLic@eC0)d6y|JvT*HTo*_m>~AHccP;R-(*OJ`qdVTwE&62Ez=|C&0pY}r*Di2mm& z-VjVHG5?9xC3c8YU#Ue8c4Cl1q2+EH9G8+BQKS|sADRQ$yjmezSA*Y4#fDuGS2KiA z{SvQZwW11FOogD^ZA{{7@EIz15WaqyFHZ$K(Lq+jv)-MUCuKG06G-hoJFbRPmg-MV zRLhR5nvC7ER)a!IW8Bbmto9hR8%IL*5~FH(16hqAN*e7#NwZq91FTlJg4K$*VRc)b z<`s9na-I3-l@|Kn)p^&?mFmsy55hFAjw6}+ZhoCR zY(|nC#b)(CO4rqk`E)rfgGwH(|Eojup+O8BtXJn_OXb83V|D0KNn9u-SBH9Eqb;vE zg7Gnm@;+Lf|NlQ}l-KC8f@@uA+b*>RjsW{gup(T^@jBMPX00lb)l5fUr0sCgNUYa~ z+0h3PomH$`Q@&)4pt-)PGds_%!6&w0bk*sH$wU zuMdJi(D8Wlg~e%&Qur>1CSU|y(bnJ{pst_dAf}z_CLC^SINr9>aEe%tFQKsn`olHw z&Sj)9JFLN{N>f^dC||?;9!fk|RF>l^Fa*4Byt@wnlQpCF0P{W6mNgWI=UztP zX<2gB<1P0pm}#8$MzYZ3uJNC@g~3*#Vh3M{6rJ^r<)aH`lC~*LF5@Z|f~!$E9{nxUZ@5hAIOTOX=5Vv4HbR z6CLteHg@$ZroWu{N8WL*@>^aeWxEqt#T2j>8;RO6mFQZSI8|;r_`@PN(z((B6~C;Z zQYUtjSVF`N(h_T(E?JWb3q<8woD@{d-mX6fuBW%=xEBjhh*}=p=NDl+X(pqZM)S26 zUT&(|W(}nSCS41*Lweh`KCgw}2a`iHyQEP}a<~7B_}S669l+M&MNa|kH{m!ksco^2kxZ18{4CvaZTJNa0w_>Fln7^#tN|l5xc5Nv7&XpRZmkUfA zNoZi!22PATY{z4i|BZ$k|yig40{ZBV8#Om0nq_u6|SCbW@eN}8wHD4#z zjVggLqA6Y5+Duvp{;~E07px7=M~T+Tt<8y1Ep{{v%W6LQ!v%G1;0ns!z7uS;$&3~h z!Pi;ZWb`XZSrb>PmpF*?s4D)(g^k{+G!#863b4L{ ztFc;HIJ~Yf=%1dwFveSvhIwHHF9zdsEIs|BH@RUBtA*;T+Cg2j0#azk2)uh4Fvh@E z%^=Wo-Ev=*D=YDeilnuqR6Oq5+Kv@mOjs~bWD7DqqyZt)ivPSZ1}1K`vV5S3cQVq> z;D&K?RBnG=;7qgv-!kR4^OnJJqF3;>q2T;mn!g2`KpvM}PyY=kd1ylt&c};j2)7;c zu&paC;xVkWx=(3-Pzf#=F)G4MqBW6J9^C5%uUL4BcIBcqSoRN<#|8ggxJUil7~`kErxVz>y{s)52?tR&yl59Z-@CAgqXs?&*A&*O0PNM&|^m zv0VrMJH`NXYn?LWt@F4W*WtZYmE+C#V18v}{_-FHD^+DV0^T~H?=`_QUgFq)t)r4$ z2Txn|<8UC$$};LW-oZNPAk<~^(>N96W*v;cTJNGvU2-f%=y?1sho+$E^hwJ=Le0=| z7H^vUqSrworS*yG&OGAF072TT%hcgJ%k=9TcZ&639iRy7w?Cfsyplt-ZG0R5t@8f< zuz>r+)T8{4qIiE5uw{Sn$qwauKiXgMoa~QCj}*k5aT~|(u|IgDBwZvt&6o!nmKidQ zYTsYYWIKGQq=85B{+{t<3j-Gx$CGgV-yirO`ta>(%TKm@MIfr(AKSNjo{p8cKfdL3 zJ!^IezIj^*$Bb)AI(Q#Rgb#zo+s&=72Gg=;5**|9_a7&_{T1Qswn~&o^B!kI%dtPG zu2jPm=KF)3Lb(B}=KcWCcwMk4>{jt#HpYS5T|-weuVmL=QOe(c^>&a;W{BHFgWdsFClRO_S?j+pcl@A8&WyOqHou3MeVj* zIR@=khTz?be0Vp9g;fV%P2&)QVmIH}B|%8C`?C-1j%FvXGyscT2##M4$IPUhHA%a} z$g6@qUOUaP*8YNO?p_30+W`>zl@1JmyB96W?!bb{bvT>dA1+wFT6&S}i@7A#*3)4I zQ1-Uvc6ay))lCBT-rXL+lEiZ-i6i$$gUDcW)Lhz|K;~bE2aU|`z{^=uKk)9up=yts zR`UgVcWm%#roYM)CyU+rcBpIIGgS`t;&zk?%KbgT;jnxCh3ylFip=v@4rtZxm}VI& zUOKxMG4<}HZrV~z4p&9TvxhYwL!u$`TlzPZ)EDNix?_W$D>;t^SP64M>c3zTDGL`3A-V6tmfJi@3*c*t`>U| zG-O{%ICQmG;T-nlqP&!7xU(QgZad+axlMN+kM|31upPc&sDl3nCRzYXK(xP8dz%Z< zp2c*#9iEjMJ_k4$#Zg_<7h76EPdT8T-IK-F+L)$G-y?jQNm<|xV z7yqN7I(|TMow5{v;(?TFJGMY5o0IP@hs>^Qj1_zNC_2^oYkU&BaW8zt)FPIND|H`) z7CccZw`&Hr!0*NNS(!K%?!|?K0em&SM9;pBo>T6I-(@e82rCzB-d-S>SR>4nd%-Qi zEWHV@x8bg$yxsOSRV$_w-m79P?&bdsL)|sqGfN6wEN&Hl2Y1DA-%@AkaJf0XDK|l2 z?G1`TxmGgm%{elz)U1fv8;0@y(^oaA`xsgG1`?&zAZ-7udm9Hv~Q5)HuL zL5vaAHllb(kv;F=f}qM9s-D}-dv$_q{!rgsS@&Ncf*pk5Q?~!#f#ye2;vu?&7)Yvn zP;TzPMyjd~6uyJkMI&_Z${p;`YHyu4DSu?;7*5qZe}f*rQ-)7X^z7FzxEC`9Z<6tM zw!yJf{n^oH2R9P6()U{rpY5Oj>yA_EBhC1l$SzB(%BNKo5>cmMUFfI4^TiOO)RYnBw*go|HgQ=IvN8vn-JP5Xl?ySms)DZH$t%pVzvnZ2a!W`()t*l|hXd;Q zNiC>1^E@oyHnyv&;KD6-pW@Bh0J`ov9FTxpxqPDzHfSYv0`cwRARSkNgyu@6gx%-4 zyX?bmqINQ>>4Tni+ksT=m^XGGl;27#70n?+igN1$@Yvw?!D&b>n?KG@vXnEG%03)j zQvE{3zE6?C?8C=Vt(Ze$qgO<#^V;F!s2Y9Onzvn}n%*G}Fmlzfg;T5g)exe;r!(^{ zmu>}WGN4o32imFii?2us??vBmlQ4K_55HDP0emyQ z`ew#gZXEG(E0Sa^PJB>(hQ`xsWJD!YcY5;LXeKpr`-l$(fjV9MHR9tRt-((y;NpXa zP(#|U)8RA>zXwX{a(#jc~LG)(?$He1+SNuc$iX zvnP;x4jk6PAt}_LycAfVUZd_-H-vR_h~E4|`ol@d{T@>8ntkGi7gn;wm8{qgX>snW zpr}80=^N_*?@EIWFxm?nZsIewW;|~=(1N7$8VJWw=<3!V`)IIqN$N!XipI+-X>u-$ zR!E+J-Utb(u4?FV6b*#4reQOGG=Sbne2$~>v1{t1S$!VO#t+s**MMk`>MmO8T%vIt zR)^fD12@^bysZLXMMLQ-X}20z$7XhWGgVUqQ zK^AM(!))fyiH7eMYmP=V`imytf%oN=2Fk$bMMfVTE2nbLpX41{OkJ9$ls`esWkzRX zy4zlqr>OF6y^LN#^P&S@Z|aY`N_6fyN^77s!t801{H}J4DJq60PQ7hjt^S^S$7ZeE ziE1TEC&fI`W=1CtDC0l4YenZ{th8=uKy+dRX{>Q-<@T-)2WrtMk~S8ndWjOosy-IB zwt(`DHQjFc*dX7e9eym(6C*pHs0~VvKWOyee6qo%#Q z@mSNy41grX;LRQ?m(`5k2>RQj3YrHz27fuN&cUD-(jX3UJ01ryP&`YTcHfA>xfiia z*fHMcY82~GfPqw!@wQ=F{eGndpJ_O(K)X^xT^RE*M#c2a@KgTcdp^0?Pi5mh5fd{Z z<^0Ca3OyNt85?nCNmfQv0FCv`>JBbxuvm&X+NZqcLXjE60QpP|X;q z6qBzci}h9R1l1A~Pf)cCtyIji;>Rr7>zHV0wH*6z4R$?`&c!Fzf3{a#@mPZw)>n-f9un0+g&6khq_Tnkv0=(5 z5$$B`GN;7mg;mE3195C#4UKf6_=wGUn2Fn_5Yol*;%@@=9kuut%lPj|R5Ba4=de&9eR^Heh&7#qmR8`#Yj$fW?MzWjZXqB75r6Y>ZJfK2L6$4Hg!R=jAz#b|u{Xx6k|FXd1q+-hxe{oeKDpY#}wC9qF z1uCLEv?5^ErD;RLqwr-K;32qh1d43c86b!vP_js}%|4=x-4TW4jo>4vR(jOJ#D2qR z-c*C{xf<*~jmGo-j(|i!*#pRC1lV#(?W=K>T_%E)KWn|J;M}z)E9;33?~%d(RJn%K zMX}gLpiI(OCfL;otF-=g{AkxA`OfVt30uCD=I3K~%7_*Nh>C0uKB)djJgsp-L*5pX@Kd4-^8lo+gk>zz1S<2T8_LwtnD-B$87>cHb4_;Pr_(v+uTmvX)sW_Yu_Afuq{o@Cv(7$$58mB|j<{FvbV{I@= zGTF%+pC3`MA0=7&pP8`9asJ2~2jf{5V8u zsL9DbKYT5{a_EKf_x=OGQxs%%i&DXoF|O@}m9jUWPAHYi|1b%8)-E3&CsuWg}2FqG+nUR*P?)UbaV4 zmW>xqQrp#ASo@UrC1$nk0g??;21c{1NxRWy<5sEMIqJzmfTniBL+sGG=ao!*k)2-p zl>#E_G>%GATIHRNpkNUmlAG+bH(3gPc~!wIbdBEww$oRaphO)gV``?C6Ts$-wzCJ11kBKGh)l?d&ih zsp=k8wR5D(Ue2LuEg@s(vy=Uq)UrSPQ3?T=Brfk49gXe3M>gs*lcnOyD-tg+2S>Pm zrDjBLIzoY}bR0!(ixFu6R4Q01@#)Ko8W$s10(EK)BSbWFxcndVe`E5 zJ;VX4g}TryCBU0LtJ8n(b;Y70&G{6+X%|o>rXTmyYvlw39csJ&-V-3RTAyAY2N+Q9 z#OWp{$1+I+>Yp?NT~jNsT>oCv);Z?%{ZoU5>NOv(E+^k0N#k!S_GZdiv3GKEIhm3; zz~>}5q?%4nN;x_0XeOPrdQJkv)1D736VnFERSl2vMrD0fI^rp-kd-~XP0b?KNqMe% z1ZEk?$%jWxpYKiX5a1{EKV>;Oj@LPBhnt|lcm>*9zfbltFtWGZWk-zfiVYM&E?)-D z6_2;a1=4@14gq&^6YvZP&eq~(I0Llqi^&0MUR`s%gI zTLq|Qvelp(M&(=;Q8T4%n{;A)RjyLe=K_euBJ7$_`h&D!tI`n8daJSGb&UT++KX2O z>&#L*yIh6$$@M;0m_v{je$%rC z4w*WY#qg$|gr*a4CwA>tPmfD$bDTp7Eo0w8c z^QmnA-7I$TU1e0fsx-*uQ9*lBD!=Bb5GFAN+FP`A!6wFbM(UGzvbahEWGFYtN#63A zH9@hewT(|jS`kP&5U`nr4#)%xuW}Arlg0$H09I*a#kqx6)$C*z@blx>N-c znO1+Pj|D4W9`EI9F#HKUTrWat1`_81@uY&y;V<(*45d0f-(V-m>y%1uFu#s2G!Moy zMuC$>p5l;Ad`VfvRnwbUi){pR9`=4#xL1vhEh-%$g51GL=Wz4#prL5X^WvZ6L7%0z zH|p+`D$mPg$Z8tN$8v)3NJAWXMf#hFPX?!gN$dN0zv9P{8zeRUzQ^dgp<*UuJQdlr zQ5)3x`LG_6xIyfn4|}Luie4?5;p2P&%L=i{i`)G!|hxgI8&hs8Y7 ztp&vf@c_;T>{#U-d+B_TJ!m3Hz|Z5b2TE)3Kpot3>CACBWrb@VI=m*wYSD>s3N$y$8vU=56oGFiE zt*XZ4FL|0RFW(Ps>z!_U=%3RnlI*cR>b#N}H%?=_QZATd)ea2urx7HYc3Qn04OC0} z;gxw;wUwXUk>!)Rhi~0!K(16%@M0QSqv{$kej4^yjW8Tu;uKbpfd#L;x#3i2fTuiG zaWV#DT24bRos!VYomM{or*W`QFOxI+X;6hQL{4?5ab{$h{C__UGc*n2`*@`IOq%ZO zN4MO|^^STP23VzyQ;Q7|-D!A#>Df+Bo2PO3S6ZvTu@$on6-tUz)P5`oioDaG|JRX% zPA^@5uWl!5@swme%8{z;Uc^r4W+drgfIFRFe5%~Wt1|hKLtai zvbR|2TN^{Q7u9*Bey2a^%o)Iw^GX|>`xzC8_&93jxsrKC&+upcQ)T=E&M2CIGaxD5 zO7o1RkE$w$IGq7vTrC=Pa0YiC8bsxC2A;+$SAgd;05MU;=;dR7RJGl3?LX%4BYWc> zbq0|6t|qzmoBtHrJ19}OKVWBWQgL977VZw%Y21+lb*~|7!D2{Kx6E)$u(#H-upF_Zz zFJ#)81P)Q{05Wza>?ul{d~xjfstV}g4-pQI1WvtYzMWE>ZFha7UpowBV9q=fP`Czi zyyKYXOR;MoMdp++V+#GMAKUjk$o1t z+^Iwqb7uj^l{DcxItwRZRW?xctTL~k#kW_(a=5*-P@pqZ-kt@2E6t6nI`GCmIHS_A zwtG4=faW+VsahTeD4yk0jVdja5odv>Qse2P=fWnTL2!Yk$@WB36rNQ`_*0QHv~+gN zI1508(xL|G`}JA&XH?h6FNw662#HGlEFey5WWV*A=n2mEbN3QChN% zmf@_5S$THRB%ck(^0<=yq0R~csxn_I4`E~qY!ZjID*42fg6Ulj|0VcJ`!dre%04sbdo^J^dT?5V~^ z`E%@rtF#4JN=k%9w{2G=vsc3lrN!C6$JEFG^l>&{<4_~OCC>)-r8Kx@H2^{foK5U6 zNv+lJeB9m7vqx$xH!{HL2#T2041a$N36#`Yi5F7z*hQCxvr6xT$XY55Bqc;9K& z^Lr1)A&q5)Kh+;F{39RUPBXLB66dL@q``=UtE&ca4?a;~)ssaWa;(^kD|L@Q`9CPv zWLGD_k)A7!Cw0IWhhrvEcqg(FZYd2Y?n!PoN=u)^O7D2Gn1PPaeBsXU20015LFFps z<;gNgo;0*Ti4(i-c~LV?5&%tYw_Ss_SNKWvz#7c4>&vkkw5i4Jy*|soNnHAi?#6!Q z^xx9-%o=eLs76@5mbh@pIF5)Er@A_Ds zc_jJzc^*5#InTcbcqjrIwsXMws4jqob6!}XbIO(Q9G)wK+2jAl2!!Vldm^sT2rG0d z#;$6k%Ra~Sz(4abe^fbj$t-+&Nz6}R4KR=(_ZXtpg{-n_C?h6>#SCJIHibwO|N~AK_ z<3C4Y(*V%G8m*^(wUht8@~aYhF_=ASM8QIp)1gHCxO3jA9;|*JF^|XZE4#v1A?uCN zR5QCq7}`)j$LrJrbK(1ng7`CP=5{iw5Qw|qSIh%XN&5Mlr6**E?yt7`k8^wez{rhX z1HF9(eXQqCaRzVoR%Bnz|BNe{u-gi<^J|G&Gdr}e&Cx!Nb+AJG|2k3 zIxjbP*Kc75F)ekhTHGMR8z-teCx3BTMIE%qw3gP0h4%P=8)W0RRDK@8#>UgoukZv2 z`(S{gh9JPwuR*hE!G<2BJYYH9N#;K zkSqB3)=OL68PNIJXLbHe^R|8+gvw1>C@ZCUCWqs4FS=dPU#loX@3tv+`|SNX5%g|d z(T(4f>5oq@P=IOmZgU5wA_M)#uLHoi!d}kmKzBPJ%{x3ta_g-7ZFxf0U_a;EMdSb8 zAq%<<)>hj~wbAjsz74hR(sOuX36#AP;o;Uly#($lj(~Af!s@31@JmRJhSmX0}m5ody&Px51fi&`OBGp?&;D;Za9f;72(k z{DoZ|cLmrm?E9T@nZU*SG(H5yNmlO$__`DB`ApGr}#LcU7@btlQ-qo_r=#NaJO6g1I>ydGz-ltNd3RD z&eF>o8hC}l3nTQN0)X+4zs)2tvsw5bM>^FEE7;h7IC(g%>=mTbyk$Du!z_Qy34;BO zYoWlHW`6k@5~xWy+!s#hny4cWg59K3fL@dRSpr9*iDmgNqNCM;Mbsmh9uGvOzs30@ zeyey&@6IEdW>ir(=RmHu*#5rXUw{a{EH}%XF~3z>fdvcS{4K*`t~9N=UEJX)&lMY9 zx&B+Q2Ht^$Y0LlPM6gPE4&*O?i$`!9X%19n%1?CRl5ljZNS0O^%%sRt@B_YaDs0R9Lba;pW+QTF*4x=6 zu<0r~AbvaKTcZSJoUOme9|o{qv5PH$slxp@=z zY{z7{0uaI9=IPv&O-!N9;Y{5Z*CElvt}yVr-F$a%Z;r>KOTmA)(*pawSPt7;$juBh zU6sN5FO2NQO0C{Z>x3tSI?<-KF|XX5#-VH%gmU96aRs}FX$>`vWu7`i(bcI5iz+hY zMklRdl!0p(zvT(i!x;e2y>OU=TBhyy@hzA1AxQ%MR5d2ohzin zkt=0^E5cDIe__b>%?sXod@*mr;UH>g+ilQzq2OY8Q}(Q>tv6_$o5K_hcm7F41iPu; zrjuh_5OVHjnQB++GC3v_Tb((Z4G5jwolrN&$)k&l2m28sNZk&f1Crf${?Y`{-!HA) zUO&fAh@Xyd%fytb~vqL_tH+oO0gwqMc76XuLun!jXnEsyPbk%6`Cc>lApD8WWDJIXq(QAyT^yXT+E?6Q?JMru_Hpx4jpXaoK3}6r)ZeEOYLr%5)->#C*YM6{1YZqa zU^cq_UIly>8<;oNWYsJtUNi0E7IoA;*uM7F+tEIJ@HDtSYkdM-U^BjqnPGQqUs;vg z$5mM)4m`lxS5D3Cdk!A$!&1WNF`TuJIGh?x-?dc3=fP$r))k-LrE%@bD|I5>w)QXu zt-YuUtyQ?))?m0AKW%}HB!@3(?R|Ed{U#-uyP`Sb0S$J)pN+*Ku>l8ft*8!LGvG+s z=xa5yulinGF`6T;DmQ_6wgwhL%^dz?twErnfit(9|KYo=RQC%u|!@s=}yNVn!2jT#y?nt_GC8EU5*yIy*0XjtQTPlcm#Ye0>8 zx>#sibIjde>o5nOD<#0b*10r}D|sVtk4z0Dmg^=IFRj;pt-xh^?R8i~h|*SB*^;HYV631G=4k@%&qH$Sk9flKDtX`G< zRv2x4>t&m79Z)t8#rTTW+35cj99Z$rl{V`5Hn@flNvCo<{)cV64Q9aRFR9^-&;SD5 z;ax3GQehfN-U!pGVh8_#X24de5glpT3tHL+DmE2sezyiN5cQDxI@?_QT7{scyG|&o z2Ai4+S_#qy-(9UipqOj}XC?JAAs1`ICuJobVh6W@Q_516`I@oIZ5!Mp8AHY!WYn@Y zE~RahDXYJ7Xp+v zi`1*xomXiCTYM8(Z_`~FO;CutJBI~nvy{Khe!paMUt={n#kUC;%D*P1L%f;R!AJ^- zxm#(7lsJp-rY#meuC!N4wsNeB)!mkNREfg|^0pw`LOd|MwdeEM76d!(N*!fmTNQr2 zt;eO)Ua*C>IL2r))9fH^RXn4%yZ{m%AiEL0f%&&u37aU|;=`q;8%q4PimJ6OJhzyY zbu`T?L=}`tK-o!*nzjlx)K< z5!&LerLin%h1+^`U{bLRs+wrKEtIZ|3bbk~=g%um=WgzL`$`+|WZQq|qy55xw+(U> zv7;tw`~UXS4G)kcKznVM%X8b@detKkk!CcQx;86u+Z8Id?NZaW&2>!W%7nSC`=K+g zzg(0UReHA}Dl9`;W}JbyNF@|uelR5-%zyS0XRjv`cp&3<1xn4sBeXDY) zRNLnL@Ctg*MN!BS6>UN*C|+}bTb3W9$F?iRLE8@j-8MXmOc~vJi-P5~U^k5`HH>o2 z^l2(*+Ng&A==xy+AddsYl>#$Z3;r%@ZS|^YYfKC19@PULZR*RX@gN#BBZ059nYc_6 z+P)UN5vd{dsyYGSwE(E6Mj~o>X6k5xO+jg=`r6*!qkI>dy;ncw`cxZFMcV=^srv1B zSG3?`M|Sv&;1ICP&DXwgfKm;?x2t&U&h1aX*8&y1#+a+dGg`HicxJc2PoLq$Ynw2& z%^_e_cg5#$nGHT?ly%oq=%kp~e#yhtx- z2gufzI4S4n$bWZlfgo3bpeb_SzwUq!R0!a`3@d+IUqC_IACB%MFx8H&J>%CM9`vFmaK4;ZIQTsE=Z4uo163s2JHCGyaQ2lZGwBY~pl0$s z3H^5euKa5Q(358!b zt(=nB`;}(kixqTTop87BMyV-n_L_13TbslSw%aRM1xKqX50fPI55u*34tr{!k^k!;A*2@k?y`k~e>I5j#-XI^NwjoNU=2PSC<6UV5dhQJ) zk_KUuS(n;&(4IMQB;pF!TLrmN+pXG81E_Ryr@>RLjQ0R?yr+l0pf>Rq|so;pBjO}%k=>%H78dbiz4iNRH}cYjuS zDvl&Z30m2tcDYQiSg2QUj& zEnQL{h;w0WiQeYF<>8i)inJh>n#?f6eI?MWaJCJ`|~ z+=E7+2D&OOxtjH9-pVU&XaW0V*H}Qp$LbTjw4{1HCQb$#e*O1NXGaaAtonox zLM?7=l6`VSmUMiu?-Qkj3Z~z!iPDsUUp3QKRW@~UFIAq(nG3K_E_e))yKkSMpsBn$ zW=&pYh7Gp4&v!!Z6LdNS@ha_;Fm8<6_p5FlqpIL!)91tJ^ir!zG{mnHe}bgf^oC4S z#~(lBjg90s((BpIzgLAn2hYcw(t>XJyVA6JyDxtrj`GnO^i>R`eQ~OGN$v`L!DG@? z&?mR`Y+Btuw@Tc2(RaJjs_j8okG?AKOE)-gDb2Ck`{Kk*!BzuXFE{PB-dFJk_Eijr zeZ7-b`S_~Nww|p!76-M1zvSXMCU*h@mFm(>r#IsDf;#kN|2$^b-oseHo%+UYD6cee-|X8q zxpBq(D%(7-U8HO}X78e5>HGOi^m2ObCdRv6Z~huv4RVR@8<^&l1SehJSYB1GUf^9p z6Z(E|lfH=)rd~EqlD(X4)wZ9Hbc=djHg+R5(+O(VrGa(Ff&XXU?gwpB{Wmw-)%k`!ND0WKXPt>C# zt@L>D?tAdfrwYJfnfxb70f?rD?-d$OM~&Kptx>~Xqn4;UigS;04e9Y8zCk^(NR!+A ztqlJ|RXYH5bvyFX;@~BX#~Re5$V++v0M<+wfXN;>{%hHHO}^VK(jA_cM8eheC>Gdm zjipAtzLMIm=WfekPrkkLN*k}Jp5V!p25{JHhqsF?wxpggKr78SzMju#BvA`Va>&bW zU(WAJSlD_pCM9VzqgO1|JwYjH02Pd)XHg9GbYv+Kvzp#MawSR#6>Mm7ds;0+ZDODI z1SzHESYUBv60N42|9%dGOM{=^kHn~>xtMFVX9be$SwXaVVj$IArcX3kn&_TH7ges% zJCd^Yu!P!^QG*xj2|c6=4u4nedaOkhF%k>gYA^?;&3;N%E_<+cp5qIv(#-GPPlZeA zP~hE_Ic4eW4$Z2x0rOiwoLZGTAocABEWBEYtoF>U(+{ULjjE&e?KpaNHHU`2AG8~E z=2zj=r{YvF$bO&zV4Uc;`{C%I3h3H&8%LXRz>kQ$=;}i$H#)7D>c+ML*A*wX?oz}d;0HTHKIj_%N!rJ#C0Vf;KzsC zzj8M>q~XB1UAdgg$5(Ic`0%+@-Bx~K-@`7jkzU88ucF9|uR<4$49Vqo5B!xT zIyp%U$NQCJN35?5=@3cF0qVv27+=vwkFUT-(*!G{)x~u*p4z&SJvD~m zi%k+R`O!FdZk5w}JsJun8u1Bsv==;Sv?9G7%_bJ*2P8woK^)ZLf_r*2wmRiDgCNIK zwvAR6gJCyb^=-81XqfMnyIZB1S>%qEILI;ybhli9nbH2^{x}*}2_;!!H>~Yc%l?D3 zB4Z&!2IU>~a5#E}TAQnS-8G5!R&rS9FW;ZksO$qgSxf(b4TnD$d!_ z&BRX8&2?+^GK!9lB|~j)@a@AeKBe(79-T1iv<>INaGY9N?&T8s7qDYU*Y-pZv7=*2 zq9mW4(JN5OFcehlBowFmnV>UA$KRl7X=hD9@B+0Q93Dr`kZEX4&-2c>_fCf0xPeO^G@` zY5uL%dbX_j1=^!A(XlgZEcavKz|emRFrbadP_=a>>7XTbZ#WCKC6!w~n5@SpH5RBN z6?9bhv7UNiI5Yyic&}eL0c!}x`;LWrTQvrJ;JQO~DwMTmSRtsoI+K&QIH-?RsPnNn z2D%QW{;}%jH5M=V)?Dn~J674b#ws20u#Sy(9GGOR0@jRWa1V|DEfiPfVYgUnJ5Jf02nD6htXv<`7Nfp;Et%+vY$A=Mi9FAN&1rH@eOE4Z<0$ zD;Uf)wqvSaiL2AtX3YJ67lz`E=H3VrQ2-c9huc%`?q5v&sby$aX ztFBbA12-8Pn+R!m;*94o0>>&PwtS6GoNq<| zG+G)33c+EbI7v1OkEmc*BOa4QfEH$c*gQu3NAT-m98i8e5QiFGG1bdr?G7W?t#@uyD)9+K@Cc(_dTVKLY z1CqX(x*^<_lS8SJCim`c$)4!LBya9-a)M+f#g)WKGgBXlyvX2hy%tJ50_< z{`utk?gY$EN$HDFmN&piSaBq6e`HHL_;28xp4m6O+$yR8^YsA^hOuENKD~9tRF+m2-r~VeJ|< z&e5skq7ijZ@DINhtt`Kp=lRdhQ1gbHrL zV$Tl_SPd+R=rccX^OCk{A?9bdZ&mr504@yExIU%XV|ISF^-?mp@XfEtkO%@$1JkxU z9oklv4HceW1;3KMvSzYZO>d7knq#lC`4s@4-RMrGaa+qPol%kl&dmnYb*dchakHWH z?`ni_2a|{Zv?uPQpwjzC+_HI>`1&`G%c$!)~CTN(gs86PYAgG=1 z^-{b%4M?Y24C1rTR@OyI+I?y^F7|3N(Zb9ZLSZ)SOloMG52zK7{cPo0G8=zG8ua}{ zfh0D=F5aS6o9%3P4{1pvYZcR1&e@1Dp!op(y;Pxc5V*J-dw7t@nXt_6K&cNbSRSmBeUD(QSEWKB2JYv zv9wLxS7`)9sww~kn7wFJW=B!XpwO_-UR>bQv~Q}*Icatvwkjs(3#IM;X7>Kb6&OK9 z8;7ge+2dJ3FMr27n)T&~HchUka)IyhG|G~dY z3zXgL{I?m(_Iun>Y^r6`IL`hcH}ko{&d$g7-(UuWHSUFnv};0%dnjK6BJ3 zeU5U!ny9zj493b?@mG~?Hncg=dMx#fj$#gsqw3Gt<%z$nlFU{+M={t=gV0ngFvQJ) z=^AO*sO%7~mZ6-SquA%Cy>nI2U(oqtB1~)KGz9xa&ViyvxqZ}f?5}Dp$FZ6NJCsIK z)Nb>!-_5}vziF_hgqj1x#=nLpEE6|z7R+Hzlw6@SZ%y-&)CdQ&NHe5#8pyR&7iI8# zK{@AS%TaC^M>3~(9~$H^G$(3p)pq#PIg8+860Jc=4V?I#1V&Qk&e!yM6@gzY4R_l z?yk)C#w_i)KWU3& z_5{_X*V>4rtzK9whec4PFPU?}eJ*L>3=UV zN6!@;Kxw`hrgM4sQMvHOwh9R{7uY#f>Eq3=So0R~43(HxFiw-W(ISsTKtgv1d~z&3#(zfZjp8|4j_@YvYc$Ur$dxUaj&C}58 zi5f+vavj2txgEEKkfGUG;3>hV4p6Nbbz%(E!9(r&Rj@m$`Vg3dvG`36o|WoOK83-FMM*Z6&)^#@ z$w6;sKsM?H@|QBOF)$PAmVf;@4EM};v@pgeuC)BflHF6e04AnAN>w$W z51$4mjUOH|ByC`z({WCfMo??z&g#pw#?uNiBphESy!WJyQzITY0L(;BtwA+EyJV+m z>Md#(1^Aok|34*tYtcW7}{{B^nS62Kj zWj)udP)-x(I;wPt?rxg5m@Gj2Oz20a2E)H9@hZQ498|t3$&cm~eUqb#-n!)odZpvT z;o)PTw5X5DBS+I0+jRqC<0{k6Xj0f`+9#qje zTsJ^>PWyh6DLlLy30{u_rI6BW6qyHS9daSpnx}Xo=7AqeLz!>tYgcc&Flw5|mk4XG zRM!FVR0Srac^t@5i4}2Tp1)nioOLQ1X#D2kTTZSoTL%tn&Eei1dVK_RQn_A>2$82?CwD(y4S4IkQs?}ACG^BH z2HZD$wZf3D_Tn6@<~sm#@Ml?#gR9y;ShSYIjIN&;Sp&gF($y-O+G@ULAC&_qzZ%}O z>SGynw^~{ISHoVU?210L8WxXGHYBjC6>HLJcGXoo8_n}-sBAO=5t%4$a@SZ5(i_@t znB-T(7NN;>7}i&-C|au(phBjoM4 z?=BStf4I8mr*`xuS9ZfMadpBpQTa*3!Ex4~JLTfM#lTQMX=`89NN!TA|Lrloa3HHY zAhU*zscUuk*tw$yBDlb%}f#zEsv!yB|Si9A^UTBtCgxLLobe97UsAPf< zT-J}N#f8mebu1QY`(t11#2!}#0}z%&LMXT6^0N9vJgg3+UMt;qwcNkI1;iV7^?3v01T6CpVbJsbE_RvzVQH~&M5Ew$u?blrG zH3L128eUm-2j{$HP?vHYEJU3F3|+$!AXT#CJFv#{gI$9!D~+3KexSu?cIC9YjHhCd ztLhwFsn);+Q3GGxG1tI|#2TXOTBBG**C=YBWrUn+n62m5oz-%|3)iTqOKafxK_^@z z*5sm-SDM~`W&yg^Wbcx6pvGJF#8kQD+PCJPabZo^CnXh&+;R{CbqE2_lESLfPRCPV znKn&QZFrO2ON|7!fHez1v8>Ia6;l(e$wsAS{ANt3ytn%3{0ArJT(x{!jo_4kqFz#~ zv2Qf|Yd*~8?RVB%HXI^!6&Z|VK)nl954|oF&}(uZqmlV4aOhtXV~?s%d}NoSGHAAr zb-pHFf2Ao%0CPm)wB(BFdB30l_7X)x`@1G2(dzEtjk2VHRg8oMyL7u!L)Eet2ept? zXQ)*Mk7Z@nxspSLuf>^D<2op1h#)=OgprO#R~ z9PwHeFL5o93o00pHLZo+Qk^xQtk;5hT|=&2%g&_?xz}nO^t7^n952h8+2ZE4%zVcR zpx;q8c=fgH!>Fle?XU~Ox$?VT0KG4sD3IH=Dm>e*@Yf7yZzX1}O>rHq&1WsH6flb} zYk-uNz+2bm@cUiqfJIpZ!c>KcDPnE*C#4+#r?(57I@hjnr)yVS=p`7Ko72&rhW&Tk zrpVAxa5Gs27h4;Hpc)?Lq+c5fXUf%CZvO}5Ywa?)uU&31Yrk88eIKdO@H<-OpHqXj zVyq2fQIZT2%IyZ6E;GWZ#g001Z3A~0qEC_gSsA$;k~{2^wf2iTx%M+Xt)~@S+lOb> zS}^^t%^5@4`Q{&ZIIYcRmd4qO8f`v^{SHaR^lG#2Y|eJ_z8cG;5reqjsup z2O_?L&|!1|XW0t82{fo!Z<#y)PU#$jezDp8Ru&jyW%0kR1a7?~*_(f5Ibp4Q$jO!O z9ZtX=sx!Tmc0Z(CtF{OJZ!0St-jWI{-Qe)qBui_%Q1?kV{{AK!dZp!8<8QWRFN4Mq z9gl7$RQeh#Zv`Uu!<7|seO1g%iGgx$J?-DJH>dipJ8OaxVAzhDlaH*L6XSgev%ci(QVX&>QTj7d+VR2jYv#q8Vvqg>r^O>b&7Rh^S(Y<+={u^s13~VXp&Yks2Pp!JhXLT2rUo=5Oi&*$1*ULZNWe$)$HDu`60vtv!li;e$j*%MmhSz=_9t|_GBlbGQy|fNS zc7_ciWF7wQYPzVE*Qs#8tVGm!CS>dDa0g^IwiYhy9o1&{=j{|ubRD)-mD{TxMum7? za%b!moY>Qr6o8XvqBg_xzCs5jgGRo9pRa>)T7zvB7V1D!oxlD4(f{K8`mgq`C=%Or zZR1J~`zhy#yEp8w^v(M#Z})9Yma4W@X~%RU`zuQ9{Xxb>HqUf_#h|=Jq;`kDzgoEc zK|Y`nIQEWIdy8od>=)Y}pBnPSEp1CFw;3rGl>NO}l=~}s^Zh-7{{0!fZbA;K1U9Yx z;ZDesK}NOB2PbK?>eocp`vd8yw8s5%e-)W{fBf+z>E5ITa)^@c(4VT&^0mxYY)kXn zy(~bB_6LiM7U)HkvWAbjw_4|cazYnu9eH-cSl^UJY=zwj4VYJQ@MBg=F{K)JpQBu? z7Q1l+P~FLUyc>H?sAbr7cPoN}-7sFNz4`hb+@`nGaFagD^0^y^Kg6(8*=`ltRqDD% z+nvwmZe}=8mGAX}{$@8mWBrE(n89GvS0kKqUwkzAqD+Rmn7Q@#e*UlKbb8}Q9%WKi= zSg@wRUxxvg3b2Z?(zMz@t^nvfNk+wPUBF#)#iUhM6= zm!H(`@R+FXu42ocncK=YwKrDH{J;miyJM`V;6%%^|8$GH!;~y3ca48I>|F=#qg*@o z?QUR_24-N=?setej`qQVpl#iD$@{KU_K7_JsJ0D6P$KApZC6ZnGr7> z`}H2Y1S;134crd=kgB0$>K^E?7``7sMKNXk394&LH#l690B+lAKCc71^gYV8;EFzB zY_WGzfdVXT?R?6GB1?e*BxH#3XY8Fx-y( zskDto3nnqQiw1Ph0=Vpn-dWAY_#4$=bC(M6uHYo{j0c);DEk#`rX<_)H(i!EqiuU( zG8$XvcEw=OFg9S$Ju8ydwri$poBn;z@&wrP#jl)PIvM1uM=CvDkZ=9V?ZuzV@&zTa z+D?eN_r$!aR(xC7v+m=2!Qgm1DZkI{FrtzOg`zZ{uP{E4rW=#0PJ9^mf;T~RC&Zq6 z*(FTb1mjU)-fFso41TnK0ASG1>qPL}m zTvRw1MfQ3-tAnFzEDh7+UeFpbQZL|Q^HbgKv(&P=Slx1I-V4@$<(@bAUd0B1z4n4N zgxrAWMju2Es@u%AcVQCu#!ota{`=i#wvmS0qX#O!TM2GxtQWABQJqh&ZG6@&cVIQdCh z>?IrDezmf{8U(Zu8cyQ{-W4K!Z#Yv_?zCDQd-CsHky!QyWF=`4kZ*5LNUS=()_cDg zC)?0JHN9WmH_~-#g-3m%w>|5&VNu$_YrcNFfOQ)p zuX%-mB4r2k(|4Rv@kVyAd>R1SQ#Ar8Z`)f_gQ`HFTMn5?6(Lj9UGqgJh^|VEAg0)ASJ~<}lNl6>S_|Esm z%!-D$leG%wl#YVD|b1zK~U#zl_B)fEcsx31o+33-Cc@|RreeaUvw+c)vi+5rW zQA=2$w&~4OZjUz%E0wpfZJimO`qn4sO)tx-h7OjZo$w|M{hW+yOt72CBChcB1T-V|?d#Od!svJ+~J27Zw{t&CR{-wpk#^<-wzGii0xp*VhBa( z6Ca!OR6#x8_{uddKK5SvST!TN?!|`#J&R?tWqjoW9N$~>_}G4xy$K^5ABGI&+UyV? zHdc*##T%iG)bRn-q(gIsg{jxPoaip%f95ASG% zE>b%ih)*;exyF^sPch0*Q>l}aPBcC+N*iDtqLpnvtY+)V<-Q(<%PF^BA;a91>(65} zKGl*Y+T?IJ0hR0AT%*CoK+7;IM6=_)hP51wAX=fZqQSbY7R^Hzt=LmIz2CoURL}yo zW0C^_)m<)MjWg<5L{^&iFxF6eXf!U&n$qI75bbH#!_J=SccZNfE6~VY@7dajs~yp+ zFo{lc2g;WvTE#979B2PEBJEKk*`XnNMIDaf!)i(d(Gb02FoqRQ${k#60>=E?TQA?h zd-CVV86C?#9b?0f{(Oa^qo|g&XElRU`;{CVHF~jTMSpmy=+?q(U^avV`lI_GIyy*6 z+nB#_L<7d{nD#Q{(n^oF4(KMLql46x`HIpsaIomykyUvCI*V?=gxWdy@`ZJJNUauD zx@zX^2=^VjJ2l9mGPbA(=xK{Up$3aA8dRJolxEP;}`wQDiTAtOfNE5ax_ zwc_iPtehQT!)zGCF1$43_<7-|tIBWwqKy}jBL=u*HIzOp#^4a6LF}wL9sF_(V$f=y z(~3k9$sOi0!Dhw436H7Rmn;Z_N;9xA$H0D}a?KXl7^Slb1K3n>&l=1I#}R{PebnBr z1}n5GM_7M9rP*&tLCZgxfK3vQWWwwIs>B4W&GbS#=JV(OAHT_LUNcv{+n{l)L>US$xr{0mA!s zQZKx9Zc0p!!LeT0xLBMdRnUQiVqqH7Xl$*H#bJ;ZHwyh&MCG9u46w2IyKC43t4XZl z?u^A%g;uOxiUk+cQG;w!1_pWp-zzBii)N6Z@It=3&5P6D%C`9@`meZb`k$L~pe{5Khj>;_`sW+CJd8Onk6`LcOqyyW1I9#hb z>2D1k=Txc9yRS^b&K+4D2I|dlB-pJXel=|Kp2RMYMC=!HEH*$D4Z=KF&>U1QI?vd} z8WJ1D2Q_@^6~57(*uWT1RT&Q5sMi#6c!tnbxk>~9t`Ph{m_R01-m#} zBe2$_Bu~J^{mKm=7at*6M1chZW`61(tC=G3!3z}xoE$|K7g3>dA~?u*6=U=dc@{9l zxr_c9Hb+GSJF3QqLq*(yQex_K9?Dkr%ndi)=2Ec zc_oyTcQ{$hsbP&?`w@3WhZx5qP#R>wVYYr{HuN-MUsE+#cZh`DL%9RO-AG=erE(~; zA|ECq5^e+v*7wcw0bwt8tbh~|q!5;J*d zG_vnV@+U5J(PHjC59T|fq`j0FG^n=7a^8r1k$57}E2)!?!auCCla%-$N22Ce+Y1-( z$YPm|EW(G#cR{kY(es>73biBmooad56uE=B~EBN};} zqE0|BqyH*|D|cK*t0}h@NxKJ)^z+IEKAmyw``@oP@HY)310|WFBOH%F(()P52s{n? zw3=oRXgdzyVo8K5)o2n(K^&C5BrYg`;t)Vay~M7iIo`2Og#?ZBR3|2t)3PRUyuz?L zjmCiBI7RFj2Y?kda9xT6PCz3Fe>e};5|$9xiTp6@OIpN6(q4C8<@~rXb|rbj`GF@; zjR1X^U-<>(XOrudCI_kf0NlK{X zBXCT9&tjY(J1reQw`8zv$--+jk{W06{7{%Ea}h~3KU>~4oc7h)Sg(;EXl|wg zbR$1tAvCB{S$-z`V}R)G(oVf1*dpxD!%&+j2iK^+7 zKs20e1$j(Et5mGpB{mxiyOroWaW;;(5JknrGmHfxahgl2m#&e_VvJ{unf>TpcR#~YV+ z&t=+}4AaUx4RV>7G#gGk>Lvfy$H4h)MxLs}Hmae~Yv9)7WaGN81sW)}vem~t8=>`B zAAP~ImE&m|ASfvf+DL14RU^=>XTz^W1?$agTo+g+XsxqV;NEPYo>aHB_lT@_Piv9? zrHN_gCUsPzd8KI`OZFE?BF*`xDgzuxcFwY@BUFjnN%sCUv}~xxV0&@w1WEpuWCsRF zC&m(F|L<=MX6{LQg~rc8&Z#`SARQfqat~xU*~<+u@tf7?bzxH%joVxn3{SlUH^A)A z%Q|~`Y-Yy-$q;6BvVc!!hn+-iZ$K8=`S+=usadjf_|m!!JV_Eh1*CIoRZV_<+xu!F z21sTne6$uuF(OoM&3drQPRQ9&hHEemx|O}`y=mPs1LWMF9rqrk)sEkxYgK#cb47Np z06bX^{y7RIoPz^>T*-dpY5&&!GjYtVJKj7;0d8}k-2PM!-o_mNK|`FQ@S-{JD(|Z5 zt8@p^NVgGJq>W0GdTw@Ap--|orB$g z@$bsDGii`yAX5Sh(PCH#ktL8Da%F2&-pY4`-D18aIC`WY%+N zgAc$!4W?X^Dy!d8$z~}_nKWm?9Jo~Q%vRN3U$uF%q{dbA+LQsErj>u=N;=q0rGaVB zX}fk#T(9;I;($BqS+L}s==_@+uJF$}0X&gN$f2BoQdFk`{^-EftM-106@@aLGlCft-%Yq%`ih zIUmPbPPP)&K7PoPla$h?jc7To*pnDOElnTE=#i^*&Z3{ni5IK--dv+{7U4loHW<}7 zC`xk{?ZvGN9b!)QDU~xUG8eXNBs`sSm8(<=rx%t`sOGX4O24Arj&gx%4Q1m_k*h+g z=faWZT*)|wT=37TH}9UZc#yZP9!gMuQ?0F+R$tfk4r^8&lD$D(dUbq&Am%Er@?4yemAk+`CecwD!GOBpwqm}gTpSpcXkUhO*a~uYt(614kQ$@lkGbH&dEbG`XQ>S8n?FPk>Yv8-7|FuWS_y zKdoKi2=o6K?Q;8_P$&AIsuOhSXJz15T1;r~T<-WzBY0wCI14;>Zl5A0 z)+c{+O;$Tn+)2vy3Ksr7%RkwRhqXC3Cmu=m!p>b}Xld7BwYh7>CRl~sgyv)}{={rY zn!lYqZ`O>*`jAm1ei{Ea9&{;pK7>e6o$UpRQl`i=UrP~2>q~6h>NARXHUst1QqQot zrL~WAw%K%o4>lu6Tqe`1P^$P`9&9>{n$1p;D%^@=qGkX^R$51?o53+oHPC$LbLq|C zMyg_yKtdVil9ms2m|{_E(K7*^58( zUDXl;=}}#q1JnM(k`8=RX=R|Qbl<2edW2duYgZ;ah6d|{Se6PZlmFIMgI`IfCPR{-GzxZOQ)#ztewb0`)6_k8_La^I@eTX_p+JlOulLHV0g|1Rz)438q*hX z)xh_U)bXA``k%D1U_VbCDI5=i0YcZ4r_6-uxTAEJ(4wcof+~1MO@5%1&hu=#dH6?B zJKnh3sxeq?s*3kkjH}XoQ8|D~)Lm(C^ZXeXfJ`#`*{Yf8z1PZN7Q!!@ zsTuq4d=>5T?%FsEoR5p*xY8za%yEc?E7XzyeEyg%RR$k%97aKDW4)4kD$4eE^n6@Y zsEiHk5E*4!1p>@dmR9Noe$1f4Z7p=cpkIiF-xHvsqgOj9&yZZ6pYXy&?23$w$3Be z==35Fy>{n$^q!CSxmuD5SH<~W$mi4e`mZZ38~IPO-SS+~VZ=`30x2n>xse+GzHG;F zE+j2b?Wf_9tO^rF{b|Ji-704+&S^y#bDFi!{l|@nTo5m(!LOzEI?f)a`Jkfgig1lir7?O-FK;Z#c9fx<7f>>QhWKE-HoV%(lY2QLgQ*$MGjrZhH5TwVw53(KY1HuXg9g&-&m+eLBRD8vY#BTmNc- z7S^NF;V)3`>b0cPIIIK8k}9Rkzlq~5YRei=^LgO>;Xh9=8|mq=E9==sdnFG1s(dCeK< zC_@rP-ZSupYLc)Ho?%>=Did4bjB>&|20^M7e4UjRe}nPOf%s?~ zKZf)4i)U0I>NAQc<-D-4XMpx+QuPHGfSEO`Hfw&fRTcAeo>ABSW7Q>(2YBEaJZ9w@ z4RNgOWc=XoW%c!_%mRMoeR+>zgu){USCTVJC4Q!fznXHfs~_{tscOPtb*2qBDhLP3 zAxs73&UodZx<9jg*v~A#;UAHl?o*g{5dV~Bd&YTgt7rO^l1Tg>C3^FpbvQf|W2y#G z+LANN!|F^(wi(6W46b6C+RbXAV2l#Oh&UY$sAJ%YUKkw2{hr0CND>6Rssa-EEKKVf)<&6i z7I$!s#<&%U*nZE#Dj=!BAFAz_bz4O+dlo=%&GYy$v(N%bGUEFPN7txP7mc$(1gqoe z^8++@RM~K<97jndk>FQn;hmwSS-=GZZCNzzu%>4Ly<@@O1ECrqsE+o`rc? zeRS_W@awrZLq^VmQCo?&_Mma}V#RB^`CPL6mhq6^b1EJ3+0W8^Hdi<$E?|$xWP3^j zHF0)1P@Y{O)l}Da?z1_bsAR9lXYJFz(m*+PKqg8^pC!#kr?z3NJsVE7P#f#@0j}&A z_NF8o=Fi61tVW{OjO+?`Hr6Fc-tRVwS(-D9;cPBHYQ@Nyvu$0HIKfDqT~WD@!-}X% zUCmFi=1ELcPsdtI632YcVzwH1`V@3GPQ8&)Y?dcDxrfrAGCGc|ptJ>{!3km$3`zd> z1%Dnyd!3x9sBR}fT&D_xXFiUPu{D;uE}r0lwkxGyJvIrtd4$)`t# zvG+u24US`+s>9~{R=lG|6r1&lauPXF)<&sXH>28U$xoD(!5+J{4k0Vz31Wk3EC-tc zhwA0YeeA+Pj24Y0@n}84X<2K%?NNV%&0dR8{KhAW-|09mD+Ld4aex|7TKeW2=KWPS z%lx>)U04h7#ya5<9l zZ!GD%a&l2qD-ANIW0z$0vGX;^saD;Th5IBQ3ynKi+4RjtjgMAM)`uqF1xcYeJi+a= zO0w?M0E2dtt2=8mYcA8*)WkrhmRl`@Q0_|VuWB7eg_B%fOye5PgD{@N7_1Rk1$`Vk z_FrX@g5C!v+B$6gPq#8Zh0#P1xaLa1vW?PDd@QZ_a^VSKbToT5-Y2e-PdPHOu) z6&~oE7x(=fY%Y>oX-UpIs2{Ehl7bi@$8jB0WxTZZ(mFQrbI@d}?gn9U#5(9V@~}0k zfkS-|vH7 zp#MJN%eI@;ct^kTlKWt`h~J09$^3mUh|5ksO&JCF%5`$O@wei}M``FWat?h5uv{UB1_KQrfDAu7d7_&qL+kH^w}A4jM=#DT5q z!)rw2z}Wg#w9pTKMXeP(-3R^Btu>eD6QIrF9R?%#vP4Ap)Ogwah2!ru_N;@`TqdcL{|P?q4|t-R=4 z@dh^ZpY2NKd2hhUuaM21Mops;h32-fQHixen>O2ZZlSceT{q$%gT|y}0K_@!irJa|A&n)U-JeOcki*>Q&7O z#%}J<{MqUA3fRxOwXEN-LwDGIo!gwM0R!rICMwH&WH*1n{FTCO{Q3)`-r?Q9H77pL z-IrkHSs~OxD)(RK)wwNfxKm9%r$PzEWrvbLg)k&{zM)qzU$d2Kx6H&0-)(NXQb69` zL1^5j2i*0Bhuy3`J)$&8NiVQ)FPF|w~W8N9R!J*)~nhHbAEG@17Qay zbF)y03k0~d$|%);_!!f7@r*b)>lHpXXn?JijJLsgJixhX76C%97u`iC^6X7XFa*+f zDY`jI^zpNA>i5&l@85t%p%{zSE`Q^N;u%HfG+0+9C6~rWr#7r3RHm*h#^ zezOpFlM`_JmBwj8LA!pXCfdJg6x_`eq~#`6^lY5{&u5<#NY3{r*3Cs)F9!}cki2G0NfDDGx) zcZs5IvcP=DruD?XY30(Lv1x5q+3gm`iu^4ijI^5s8_gA8}XJq&cktUW^~=78NPRiG_jlwo~D)pi8*DI#dkAEVp+%v8>uu);qGV z;(%NLF&Sd9&Fg|MQfj?0OjrMWYl>886FASjcURcnoz1Ox2ku?W!BTIbi5_#IEY;eY zN}oOSPBOG%EWhb$F}P4Jb24h((qn4jdG4>qy-fUHyT`&6>K1YY*xw=u=^aX&9_4gQ zk@6B)nC~?KheQZd#&8WCa#UGt)!gwe@ZwICrXs&l~WitSLjq#*O?6olC{W3-R{3&DQr{ zqQ}^{18IOJdwP^r=)!MGnnt&R=k0P**!bM5ce_TSqKaSC2k>W4%l?apMkG}0P2oYU zUzE30;4pIYit2%PX#4{7?EVD+5%p#tLMC*DW;Z!DxcLiAg14|^W(7AQjU(&~f8P$d zd|{-x^&L|{24oGxOg``--HZktI*R=<{^M*NcmQ3&@c+k`CncS{JHg#+5Y5yguvXZTWX!r#SMv$`-*4V%O*6Q-W9X-6&UbqS7{-_L;=#xMUP_E>Ur-oGr?3zQ@JH308F zgK!E!p(m}n2|rfWo{)G6oL^Q5`@|9NrZjxB^UvF*w8Zv#z4e#7BAVwfye``W9`rniTw}+i>Z~ZbAp^3ah9JXJz z&*2lVG!39^C|D$P@Yd}!d!`cM0=iP7_iZ0UnoGIpt(%k)ci(DX1)OR|L(#DbnA?ZO zRh7r7f+jU-);g(~@p|K$-99wcDmJawXw>V$j0@Qry16&r4(G;RkWp+E+VW`?%Puv&J8=*&|nJb=GPhWLp}* zY1Oi$3bv2PH!3&2TAJ{Yw;8sk7CVGA?Sl+~wmXW?X0AO|S&paGzVbS2AKn-LvRlQ- zkyD)1Bdz#Vo1+>i&7t#JGgd^|jttlAR;uic&Y-no7HSP$X1|gdFIwZTtX9lS-3U>7 z|BbC-rTo-0o(!#V2cV#zN#h+>cjwgjbJh?7cKz0f&7?F#7gYtol^kqb*C)Ex!2hU^ zLYK6LN23Nath{O!pypQ2w=`%0TH^*l$0*5Kg`6Yc1(S>#-7r0DYus;CAvlb-hHXJh zFiOGP8j)jIHVlcab6kxpH9mx`7tXl#=ls;nlh&^kS=o*7z3tDPuyyXJOYLxGYQ18o zw+^d-dXDufb7F7(y>FdAt-3qb8g^f1TlWI0uGvjm_n%i|HIskqKmwRRL6{qXL>UdZ zo7S-!sKo(=M(Y)DsC6F&ls!2XwazDmi5g(rdPVDQ(gKAOd(9=#F*Gapkn+u$O}h08 zPv1}-GCeRr4J{%g*f_p?ufg#;Njnca}!MgN72U^&DrNxoH z!Cgk0qgXaaCRHo;GjD@K*7`yFHC%4IJ}~#T@pxw1U($0r73XiAB>^V>RQhNaUW~2EcDE7D%%;2pL5Z2j4c{1BP%RGQ>E|{BU$%pZSTdIIpw;r?gpT;5MQ1q~OA))h7G-x>Cn|zd3@a(t`VPo8|v> z#ff^Z8Pe3RG`LW-i4kc0Z1o}yjkwYv3~kagHFs=CKyx5aB|1=jo6ig~33jbCqfgrO z8A837qNY{oRn^JYB3$BaK80_aXp=P@WBS@eOGMAS9;KmEX1=kOfn{QJR$X|fRRzDE zHlLNd+09i=PdlnMhdfp7_-b(u%IP-k4#4x{{w~0Nqvv+&0hEtxo8@fXCZX&8O@48W zxcx0$t3who{F?py$R5BR+Ny(UTj&YSmAF53CHf-MRv|qam?I@QV0~N9>9sAO!|E{V zu~~Je7U6Jfi~U6sHissKPj@N!blQUDkT!_%i!b|KxP_)xN!uT+1*}(T-Aekl%6`xc zIa41Slw>QIloERl-aHU(5l>D{+ij_>r@Ls&K`XTi(oCqAI{z*{!?ET+w7JZTl+NuPE!R zvY&-eYHo6e&7f_=-q)^_P{}uNk$28kg{f_w&Xl&wnz)Svp`Bo=n@f~hv`j zeO9IBVuW>)lwJoRYf2l$cH4Z^r!qThxgQFz8TF=KC(!P;2?(Zw^-uqUY_-jGf%Pzj zQ`_Y<)OKC?8UZQ1!sBl>$9ap`ZTiGtlx2ruwQY7SWtO(QZTNrw4Kg@AZ%NoDTkvWh zrD57{fek?Ad;|}^IqgcIn6K0cdes7$siegG-J%$%T0DM{28xSZk2#77um#NAlCZd{ z!C9yFC{oTQ+*P9&|}ICx`O3FKjWpAHN`OSJ(Z-f^`m7gpZ4c%F$ZFx{~xAOo7ziF(DO z;u*In2!69KV_d0wV@eJ=d8IIDrDbuOwB+RYU8#BJ$zqCWi3U+=;dK&xfz0irN&*#9 zbFC1|%~WbzC4K8koW>aqM(mcrHfRTsdP@aLJem@!@0RGrC7F{%TG34p0Uo%ek0&a3 zdd~N>l?sY#EP`MrcNGdtuXlsY(KCe{NeeLiBLK2LF?VvDK6|={K z6?WZT?Gf3u9Zq#a5+3^P5JO052H7;L-{^Lu?`@}oYPZAIt%3s^XFFhC)l9ce$_|v8 z<*a|x;n=E0u=BE+b!(bFd+9A>gaIW%JGP0E`+uVE*r%fWHZ$6(?Wk3-D?~f6u&JuU zvb0lHo@Sms&1pfoEoF+=$ezvZU}jLmXTHaZub}wXJPU_(?O(-B>~d_pXM%2kRl8Dy zfuVn#S5+gp<#uDM&Xo@DYVHHY{r_J(b2TnXYuN!B;@R!8w}1y@%#Y;(Q&JAZyS@n|rO*OSV+ z{PqT@T}dNf(}vUa2AYL}9Bg{yl%{emD(yJtUT=6IG8&Bby#YnmxEyRk#?xLi;gHiE zL_&2B|H3X`&*@h1_2|uPYYE1 zT27p;dxyG0RobeiH+S*gx%bgbc-m%(|_|-E@ zJnyMkBt%=ioiaK;I9wBGD8w3 z@ov2*l@|_>eL%80RheK~eemAV;OlN-qU(bwh1m9O(nZ zhYFhbrVl*$l>5Eq2)I~8+2hCQXa;?N_(Aet1(LV#3Tah+x6`O{1J~X@IZr8VkE%Ox zz~~eHV=4oZ>=T|YNy*W>&lkMAo2o6;w86dx0xB&{BG6}9bo+dS4}BIL|Lxj`n+f}d zI-Fdy`{X~oHI-S-tlIo0ARx_8z9y`Qcg|U$&`!__(vBaA0gY-U+nZJA#@Q$TJXMar znZkSAXN5TJ6R14XGh1S>2(`+$GPO^(;(sL}VQW_~UsX3#n$jjQulmAgLlpua+P>bV zwcZu+C}zqZnVs`mxOkVfF3$KBCgQ#JVBE|9IN+PwzL z>W-%T3KP>;*`K@IR-4-aSkf1_t)ZR))AaQsdG}?eFXrMC&MGuaU$|Z{4B+02*O^Rz z1B$mz-SLlJ#q8Br1zYLsk65TLK0aEdWm9@zWf1Iyg{4I_nkqT?PdnfUWAGnfbNk$q z;ArR@Y~#Gr0A|qlf2f%ICLEEH%4&pr-tEg#D^#u&(0vytQQs&rmJ0gdux-btMUHQCC9;N8Vr%Yx&y5;Lc3J-4NC{3F|vF=--3-BkD4h$>HbIT z){VPUegmH^YfML&t=8eJY7q5j7v9ekIlC6AgRJZO@8yz8G3dgSSAC-pSLH;#+qb`! zi~vfkzTaJL^N~A}xY*ui(1-Pnv0QaGTAjX4H^XwFy6J)aYFw$=&$S2V=W`{Kj`aYz zGp{s#Mh`-ntC@192tE(}O1_u{iWXH!ki$K2eo(GeI6e57tC5LLy34CJ$*r4@InmUu zJ&by34VAbtZ5pM`}-4rvNM}^x?Hyn~jV~UU-4;In`e5+^DB{}qAPcWrwq#S0z0@0hJ!1d%9u5O!E#620762o|c zo`t9BiG_us`p@xnl^vf0#@amN^n+(Ovl8tt*TG6^nhgY4Pc&p2E2_Yr6=$R;?i~yo zg2A3Ry=!<42dJJEZK?kO345~o${u*d_2gE{x{Vsks5?Po-BuOz_x2=AxvJRBycd_8 zB+R}&;eciNTaEgFSL$||RdXXor3<^eS!E`R~A{O2haR^aDT8P+H^d zwWqF{o>+YQsR(1e6nXvd;;Rvduj=P*1m~He`oT1>Dgn=Jcf4BlwtP)LekZj+2UM#Z zT9?<1z(oC^aaWDuqv7FLPkX(_+q=+{>`$ z@L##+!~1AuYZ_qNlyp#1j8?9GqX~OCuMk;D2TF=z60`40j>$6`cWi3xYHs=OJ{o@` zCHAixG?Z^N0;n{#XiL**D9%;T0Zy+3ZfG=+v((^ZGaCD|8gv-z(TH528mHEx@9KA; z6&npxy`+iaWJt|+Xk-IO5_o)iLVm*=|0jx7yQkIK8iz2Rj&wNOgL19i8jZUq?z3#ppz$xdZH|x6hSeuDjCYMl(9VpRRK7PmTT}c@2Ay zN^*>X(Rn4QQmud*Qy=_yJMiS8QfMYeFB+cF*}+01H8abwu8@9(JyO%lNA%Hcby3fQ zv&4|5D=Qy-(dgVvB?bG7j2{SSdq=O+{pgPwV{{PYsgBVG4r>E7LPK~)M}3S0kNxPT z2THZe(tKl7JyGJL&lN#AkRSnb{j?ba79J_SBh#teC1@@InFFgjX zz)CzY>J2NnR0S@uD>;bP82Ak|)pd6coS?L#C>;a(yndyRO~-IVwX&dI8-^Yp)#d0k z2AV_Vb`DHql*V=xW1Px)qZ(`?lEQz8L0A)J#P@UzJODM8W#_UnUf9fGr&v~ohcp0M zk%Xy!jKcDcf%Ai;RU_>%n~cHrQ(c^0Yk(y{qP8&>0oe19swj{K{+v4Xg#`$<#&ZA36+N89rQ8$2AuL1SnJ-i=ADj!+`!qA?2>G3ML%pAKsnZKq-9Yr601&Oq5Q zq5sghCfCFveD(8ncMLWTklJcBPr9VoX&2tir6} zpQwlHw{@9WU|n(Jb2k=;!+xdX^TLNeXqX`n2Mohl@4z8< z-dcr$wqz_I7n;#-wS>k0JQmv?+0|V$RBjM{K{Y0^>&L?J{pRi>-yOUBG{*M#PvXRR zd~6W8O%nDbeHu5J86|bpIb-7{Cuwq%8FsKeSE@IDSAeIn*(=EP!F@j)^Vns081{Wt z(^gT5K-Ec`hzDciHJ%zWcKPv;d1LcIlC;q2ju*{#{L$Kt?P&2VSH4jj5->JuA)54K z+&~Z{9W>CRkdurI?Bm$hGH7Vh_^D3!-)NT-f9&#q8M};zV}r0z&kn(Id%+ffnvuB} zT{q0a|6M6@3>s0l`C%8+r8H0h!;Yx)O2xkr?*smHUe{Zt4&hJtG~%6JgKG~%V2h2i z5RZ7Dwg7TNjpes2*iVnzGst-acMgr=?HjnHs-Ri@hrMLg@$o+7@CE8Q%|M|@3%v7z zwNNvuKWzZiV)9wTUe()1^FCe}+F{k6m+Mr)g@^12pk(SzS1U=qzkbo34y!-^wUXGD z+m#&FVZgL@mp_Y|X(Z>9t#Sa=N1_Gk%Ej|=JV4iQP*&wOusibWVS^CBO?zWvvXE4- zZx%b#NKlGuxju0B>((hY(OZms;k1WTS=I8Wy65#F{t=Z65HZ7`Jk|gzP!Y8q24IJR zk&qQI6cbF2v^kient69P;4G3kQPL4+n0&rU{@Nw1Q(Cw{xiga8Ox=Xfdd49#L_D=e z7QORuJO)YAge?g)S3?-Stse&?`L1Yu+c;%u9tO!R6$CgAne83R!Rep6iE?ZlR$Z-h z&bkI}H4|8_cfK2IP`ZbkvNSSN2)P^@dz6wJXIN#5&?tjzJ zG#Y+V!#p$P#_Cq$t8N`MSiQYYaKf0@k7v-5O^?&D z4Ajfv3rwEgz=LS$o=WXS0)r1Ke4F%6`HLKRE!{CrGI|O2qOtCx-Wz--x zpT{{09XtoO(Rn4CxpaydBps-x=U^p26*HCA0Drk8aq*u}s!?}WBmO+k0Z>5whe?9x zfOkr*m{WPaIG(pRYh~tmJ7(#hG}Hj%JqKsKrfjf}d;;lY0J)vkype{bV~(>NF%`KC|t(0pR=0mv!wG@Y2!sFw?MDH!+_1f6H&3btJpG@a1yh^OJ~K# zbN~mMuJ5#cqa`i;1?NB=pxWLP2iv21UTB)8V+xEbr5!8ggw(!WsoD2uPI^|!=#}k2 zeREbQ-Z`<=h01yIrc2vO+piZhg3n1{2}unv(>XcQQn2}ZGcow8#ZDNjiOPxzoY!<( zk2NRU`5Gco-qatj^Mrnsa)ay2oE0H%P5`y4(OF=r$|f_(R7b5_VWI`I)@`WvcYSv@}|9yLb=U)!g;JHDAtN6U;W9m81Wax7KlH&nHA zl}p83U~9Ju`c+!~Ur>-xHdCIYo$P~${9L6NnMSsya#6-ldzq@0BzWFjpq11yio&@# zbV^#@*%lmLYNY;T3;zxcg-g_2r5vBjaX8dPz$h}UQ&SCNvgRrhp!vK~r+N3N(W`i79R3L_aqcrteC_Y>pe{29mwe=Pop`@GJVPNo6-kO6Z>ECgO-H zOpFb4^Z!sTZVuD&MbDMC5p{DDNLh(NJi1#KtM@dUoZ55rkhwv@sD}MJ=jQCKw4PPt zYFRA3&*^>#&<(1fY1HU6=H_DMxq~j5rjDZ^rrC+M5NR06JvZkmmdm%TO>_b#ZH~xU zI6LLrrD5*!?zj>PhG~jB7SGg-Q>1HJ(J-6TyyEnSI|}eQgMI5&ZTc6TS)Jiw(h7)v~M{1H&X(Y)Ua16|V35(uP+D&8qv{w84tpV=-GoaUH#eGp0 zN>7h9IsKiVl<@jXr=h{AG$ZJyG-R5v5m)m{4ZQwLj&3T~O(UCtb3!$|2#Kaw-AQk& zBqp8&Z&Im6w4j*=>}ps8>fM>#ewBthzp6y#M(M?;S@IC&YNXZ=rdL?eKSp@oSUWnw znHYaH)`i)2{^{su0)f_)&n{^LZ=3dg)yV7s$O$b-8><#`wKvuI9snLRGl5Oe%Bi&G z8--nkd5YD=fW~wlh!e(@0;Jj$yve!E4*t+c-@4}XZ_2f`XCBaqYGzo!a5%g!Rq?~F z=njbZB~1r)py$#K9ljl*wwd~=KPMkhDmXgEJbZtSrsUJg!Dy%&zEvOo1!}E>L7Vc> z4NEvOPN~hjE)A^yJXoYP^Pbg8tm>kWiqnx;)nFY^4xBn_x_MtZwhL?c6GRK3D{3qs zo)4^^N=rDRCxABzxNBa?0jnZZ-9~_U-eLS;Wp2OqLD4&}L{OhAb)w0vuPn05x~{y^ zU{_xsYz3+@QTMEmgTc8{LbSg=EEj5Jyp{#+P`QeZyuR|hS|2*#u3?=TmI2_)gnH^u zcsHe)6jw|HG(0evtPd^-_0ZuTT0r15x`UD#FO#4vM>k%d0TyJxsU6VuNuzIT7v~i;c|Ec7La4!`e4P<7!0QomyVlTz$sRH z;iy(CD%EA3R=<)QxV|48ml|IK38>srkEYd0dYOkUCHdgK1b-7bu_G<0;KV(3wX#U8 zR_s-){Rbvs5yq76+Nm_)kjvUIjd^q8S&p*0)f!iW)xd45-3cM(G7X<36VI>4#X;>2 ztm3PoXIF0-FZ<<6N`H%1`2n*W^&El? zcQtMY8ui991k;?C89l^u6wx7x%f{-DJlY`?_LVvS%4IMWb?dQOb){w;kqVWta}@(j z5K`F_u>6Hrmy(*Rq#dXO)ws3O2KQ8&rnG zOVNSDNU}fc>bOs(B zS1+plMO;}m=pCzr@uZLQCb?^=`h06TXJrp|^<}LdqdvXXxoAPxz_B$X@jYI{UOdV+ zL(Ce)wNyb{F4jQXsI>5_B0N~9hHgq~CHw&xb@N)I=zrJ1XXU76v=D1p9ebsQ3&bjC z&V@>fVhfz%8bB168o?Q64FHISQ(z8YZ#@484Qfpx1`Pa$>F)PVYD%WHy`mPj4 z&n!dUno@10R@9{>0AG;1 z(JQQp8B}R$FXJ^U!uFcwp}s2oX)2rWACS>FE#NR(2Bc{QbuL{K8U!WoH^GX>wj8TM zE%rARn{SpijB2~L*W&g^ZWhJLGGU<_>{tz!!FtLy_E9z$KP;~Ns}w+S#pZ|sQj_Tc zE$%vbr8?ZL+LELtTO{q;N}jjpS`W@6-OHi7<6s1iBF*W#*3%ix!!zznLIm2a)brm$9_uGT`Y zqk<+zTv!dy~~S(gCtmSl?!pna?A@gy*Q|^h4Uws2_P=%&B>gFYgN4TWv)9$ zIBR|F;J!A-=yfII5`K^f-H8JDx`QzwO=-;=$A)JlujH`iYn!rDt?W9*?sDW`8+FT2 zZTO&WL9SwJW0InrxlRDzk{jmuSerLl!?qvL+L#(u!^)(!3r%`kIW?8=4zi!(cx~U? z)y>$iZEw?3%VkXqjO?;sr?Q8Spc`GM$~F8T)(dsIHq;!-HHpC5g^OJKMXdo)e(xx+FXTR{*E$l1VuCVf%GgtB`l(;cYt}JW7N}T4@%yy8rm4yRX$-zUF&1SYtMK`WwD&Lg_ zUS4LqqZOQpR~CYFCGRIgU~fzyLJYN)#%(3{G+OkoksM6O^|vWu^Hkdtzwc#$oEiu1 zu@a>zL*146zLQy0_bV%|?;@avl16_u{#t>CeI-U#Ezx*GNdPu03v;>@VD&KdL_56_ zGla^$_&=tdV+G&3%~sC=qs&V5C-hc#xGc!^vRmnQrSLiTfKX9dMLJyv(B@JVjGyaZ z6rmY^Kn^NUUHp6B-gLw!L69OexdBTO20UvtpgUJAsSesuh2v=9pXB~ zHrmRB6Kowk6shb8a_exE)3^e%?qy`0q>4$pPWfD~Q;~kw`Onu|D-o4xXY_SAR!Djc zcZf)qeMdE_c+&t-t{$KUU&i&RT+u78!(|Y$VMko&X*CW&(C@cDl(hRw8@Iguac@P^ zvTbXyLdEch*dPA2lG29c{S}@3{_t>;w5?{^A2&+6v!~(yD$+0~>gL2v7>@lB-Fy5t z5V)=yqna_<$hN{v#bmXhmBUABe_R?E;u}MtQ{2`XO7a(4B1*vhm1pDr$`-jDJA`KR z_U{j>09EZ}AKxE{N#zgxj`mj&>HXPeuI%tOCNSA1&5?PP?EqC@8Bg|CB*yzAKpxME zy+iX{A=A+*NdTBBZ6UbH-ZeF{gBc4C_a}fq6>D^vrAsva5 zw1Z`BxBm!}wi{HH%5-qh{S;sdgYI#bb#gZ>T^b$H>QoNSxZR47Vw+ozmQk^92TWDJ zj^wjj=}dNmFkI5(pxKUbsurP1REwY{b}K;qt>YbVR}fa!!J}eZ6G?|(twIL_whdpT z0v^V@K{=q@jrY%PfC=b4zfH%_#)ZGWL{ z-RHkyn?0>v$zj`fub`8=m&#qcdnYqdK<~~2m{(ft+qe=W$@2ED%l{(-{ z;oKBzPDK55U`E{SFcRwh;8nIO0*4aqzp(p@_||!Fs(gTi?+(M2Dw~I7_lonf3#6zj zY1s2N?k!atf{xuw!?e3KqJH?_TT;yW`cbmPfDE zUAAU#!|_yi*HT(#wtH#7b_eGCudZ}HY$)UDQT70yv9Gl76WpUbUH7OUu6r=lqg*o! z>`@ffdk|niRm@|*N5Ne8;030N0P4yfC>}RhIIY~M03@(p+!YZ+Qq?sKY7Y(>8crj+ z{2tt@G?mP%jK}vLfQ*!6UeP_csxua_IXX-vnJ<3q9`BzqV4l|a?EAO}&N}T%-VsNE zr1!ACLggF@b&razz)Yl*+XF2a3x~u1E(oH=)6i(~N%ic4=*N3JCc-`HlC=k)S9RT> zhuwzM(F@MR+fKsd#(PH&2c12M96hg;_>S*cHnDBASXVCh$35)}Aklu8dt!%GmC-8g zaD(0RFJ|_Z=j))G;_uj#7geKJXf5`11Ol~bn)W@*gw0)oaucNVo@kI&ER93n6W#Dp zB4-K*wNMQJ6MMcuH+%ANL&_@G4CUIB6ONjZK2w9X>TW;cw>^PJuyovl_k8pt`!8I` z2BoKLQ#b61=Z`vR-oPe?C3Uh^jf-%Zb2rCNayWZRK;DK~hC%LKAlatN%waAa1?lNh&qy=cyRL06!r9fW1Ca%kDBPUw3T zam`*FVl{-}6OYxF8uY;=u@~QAwbFry?h3%F#6UB%OVKFNaG|}5*JCfJqqGb*$8Wqz zwQNy;qg7-Y(wlh&O`N|Mz|DWnZT|A-O4dj2{o}+ z!?G9E-k9^$S-h&#aZ$~O#!v`PwRiDrZDZ!tUd&p#`Mq-3|Mz~>VtexkRf7jb>9)tK z22(c&0h(^h0Xl%R^pQUbBfo<`AlU)LW5+x822MvRn2uN*>_bBmD#abd^;xPxywz=Q zN2P7}u67i|&JI{!n+Airc!!y4HG*Eb2QbBszaw>EFV&!r=N`cLG^~vq{|+J$Yk&?r zwF~G*LH|MVr*hN02~jwvt+$)8gkOn3H>2`VN6+U%x&t~=)|cQ0JIb!G17$ahfMRmT z+g=hU!0$?i1nqoB`UC>duhd}Nx{{YN9ZZKRALsl;f48qR{MIHOt5fB07}+oQ=tc`g z?!hN#CyGV2C&u-mRM2IHq^xg zydAAV>10{&Mv5)0Gg{a>L&nnI8v}!wnckM%LY-&J+ zw5=ZV2uF1-!ykiiIPC+m3KN)baRU6pK3v6AaOQh>@MIxkrrZadkQTJ|B&)tOvTeVL zuuJE@QoUCiwjxu1Xj3T%_(|{cqC&+{3MdOO78l(-M$~UA{{BB0TNNR_!QORWIGJQAm>1NZwbs#!A2b^OMUBdiGtt<>HMwO^ zooIF2k;>7n2w$P3iJ~=Hg@O#b%&I+z4S#GOZe!PCMAlOXeEm>m+{f0;!>X#NUZa&$ zbhPqAiNa`C=KK< zG|1a%%Hjo~2nVZGg^f-y`r9CSg_(;ggbztERD+*Q6uDIcN8!CqxEjkxp z&CcGEG0?NmD{V8H`Qv)K8xenRgFB=Rg3~=hNGRTjybbp*nl5{fZQbEgp9)dqd{o7!x}TSk#IW$aP!z3 zUp0G-lIi__@R3y7f>${Pu8`^rh-!=?^o+sEYe=25evGmY#waCp41hk$Eu>U9Y%bXb zR)ztGOKtlrJ~$hz7jI*OT|pzA{!)z>J0wP31!5F^Yz(LiH0qe|L8DEMVIV#a!T&hJ zDgQMy9eb!>(LD7r`M-`UP5;;7okMCEC1PSHP1V5jEhZcyYHvWs7LLWBmdC1A4xAj= zcq!JrM6=LeVRfByJDBKj=mVu4)W%_=Ii(FSj3Er1yEUvi=KEJq^G!3O=0EN%j`El< zLP$(#K~%}0*q9Y#FDBqI3fkc}a&Y zVt6RiDu9@5OC;jQ6_a}_*#XmkEO5;?aq*mx?7baQ7@ZPrQIL5#5$wnli+6ZkDe_gB z{>m*7R-wi@fG%H{VmY>q^3X%XGC);T9i1w0$i1^##wV*z15y~P?(*T_t5nXK)SA^X zw(wYZ)FGW}*~H8t)#4&;0Imwhlt`uF?1pn3NjYnvj&>XCIl#rjrIEFIylrA*TSfx? z6T7s8iqfV1e-}hG_M?0ZkYUvACS{KeQyz(a4K~N*yi)5`C2@}l2N+P@sE@~nE(CEA zcqldxT`eXy&Dc0*kmfyQSHRuaJREWl@3EDe)O`yw{Ny&@h0X z`&)Go*|EW7c`DdhVwdS6c2TT`T~%2T2QB;!!sxbWvhN5SlGJ!{ z8b%alPBKyEd{ z#CKmY?*|RG^}1`gwnY{&BA%)?Oj4&-%AY?HbOY_+{1K+-TPg@QRwRfX4XfM7AQEp9 zB_?iSArfS!7nKrzEgj2(E@rJlV7QBfMT#_B>BCA^de~L&;3^RZzo&7f!1gOummb66 zNFZt3q8^72q-qR;M#SM@-zB~F8fd&Ycmb+hC(2x$ij*AZy-x>^IpuED-pQ8Z^gYEWh&lPCKTm3oG3db>zQ+=2tVy z5B<5iwJUIb-T;-ju!!YX5dre!XxlX-Jg8Hev83Dp0hk~DIqG;~bV*{fs*g6`urh0I zhs{4f!{jwUJ~#P6E=Vif^f}$?%}CMp>ARI5WbVp`fIb~=mX%38niSft2FTeZzcLQw z$JI@B*Qg=rAowq>K^`%#6!2SR!zb!oDNW>@t=QVraJP9SUrO%YiB>!t$Nw$~2UpqI z?lzFEqQj&;I+eMg4owtJ8r0-Qn9W?S%02ue(m`A`ln#(C8t+SyKW`QPOgKYJ!%Z|fbTq!^bWe4MPu2kU3>=g+xJA2%agc>V*+1<0V zqpF!CL|o!**_8?4BRdA(b)^YlR|iH9s#&L(y};DjG0V{Ku2vkfQ`=e92q0A1IYToy z++@<8tQx4JjAX}zua>RK&5l8iQK3P|UV*H#*RGfyE_FJdK-kg*dFo{NMeW6{o1Ign zYT)jv25~gY4!TL*MK$-@-N0b7zrSUNRQ+FTgAil$N;)MqC3Xw~Ii6i19cWV}Z8gtP z2ikP3%upJZ5y8{+XB_;`)m|&@SdKclzQ`J`G!8H5MYj zGXC*WjhDzlgcen=V9#kbJ;aS>CkG&DH5Bn0it`>@!1JEtQAJsC@KJyKE!wUI6yE91 zcRp8^oP?}WqB-W%3}*dG_8ZiL*8i-)U=q`&lAIM_DG8I{G(75V8nl}^A7Ef4g;IoYFCx8cH;^P!7!0yAWK6Qy%b=qn|e$2RBRA7K{wH>a6d z)uv+v?I=*aVQNF1lXX@KE`jedHOq}zb4<=V|>aLoJdAM_;Q~6h80nD9OGIT8$ zo=r^>;F4U$6q@VpNJQhjBUqe6B`q%ZX%9)IB`Wt^_3vB;7j?CQQaG1sl2w;8W-iDR zl$L<06wtFe3mu+wy%UI3QiI&$4ao)YR@n(|I2RUivK{$5|DvJd+rx4+yufpTCRTrQ zzd^%zmUdNT0S)NL1uYAS^EG{7b4;r&wU`aKK|aM|F38F?m&2twt#^tmb?72;+uqhB zZ+~02|H^sAis+J?l~N*{QA)F`UOr~H+$c^+?7I>d&vX-Bie`9~w$Fa55dSwI`wOT2 zV^#G0rJ;Sq5O|R6&zT#7Oi8Pi^gbT=c&f&+W;l1TP$m1teRVcb(3J*!CN~lErrPs| z&YWzF3jJ$tGzh9Ox%H-_Fz_(A`w_B|qyb$+ZalZNSR?D{tyx_xLT=|SQiI&w#2F{F zAGsm-`!_sU18)COz<~^?1?H7ZC!4{!LQ=;-nC4OYu4If`S}UZ6eG4Sqxtm*jzoX9B z;W!grxwEQSD68vjW>>iYWtCR9F}3dRUGNsDlQmy9R1_Hy-K(50 zz8M&Km8Rn&O|yYTMX}AmgHO%b*q-qa{u$*KmkI&VX|J`{8=-PC9!4pHtx0WTBh5fj zsZN^jH`azxqZ1J%gRNL&fcZ3|;=E@(6LkiM`mF{51ZG8-Q03_}xV=cvFNv5CR~P{0 zGBI?|E1}9#t}Q^B+$)qlz0IWUcUL;-P%_J>DZ$aH+u9NH#SzOa9b}r=Onu;@oQW;9 zt6QIYlf$#52CXs31Xq9&CjSs~nfy~U-3i7v6Hh})txf~UX_u)(4VKA;fElp~B<6BS z;Aur3oNgnCrIMOpNLOa?u{$DyL$P=P9!H zJUFT<&44DE2DBrXMoq;Q@mx|0Aw8|bdE^f304U$8i>(JwFlroVtnw7vR@l->U!tK= z(!_Z^&1YfFMo}>SF!egYcY8_rNLnY@hUX$CFh0iO+ooQDp9OxO45(h9)}=Vtnafw z9~H)xCOGHw6;tE^U-hr*`9RpH+=7zvf?Flg-+W4z9PZed$IA4Xp zJs-hHXb1Bu1g$rz@c`D9642Ob#UgWF(9hGL5>%SwlpS0j$z5h|Jgxph2UZd{2(A2S zb(lL14;1B^P3|aW94bL^JN@cnf=tr$>GdpzW)!KR?vhfBa|m{_TE0N$R) zsYz9WPxdi7Op7D9lSbRwvyVCLXr{5tANx?M%Ep`fwD)#44mD~T%aEi~%e1nF(B_+8 z{!Qh)<$e#m`TVP7Tuu(Od~WFcl|+$!%3qY)IQpFiHKx{{fH)eEEiT8fFG&j?&+`}H z^K{Oz<4T<%3a9fIJF1K$-6{MVbvAdgQ%;g<(+2MIxaE!=B2{qXz;t@?VxErklNxV- z!)<7fPA@F84u^wsn``Rn6&>|-jsi*>xGxg@Xu1(=n~vNrH&xKR9D8RnD!yc=qtwxY zfHYTCgWgU@{oGa1+gUGD*6DR=zs|K_^H0aCQZ?+nc{&GE4LaGtTPyp zGb-HV9Wgv7XMo0~<&Qt5oE1EY_MTCAdmd#&IHRIp9V7bG3dp20AmmiH&45W_+27oW z(c@gH!4zs-BDt%R2IWQatd{9RTm+hH+j@%C4k@+7$k~8bnd#1kxTCha5K$z;=+o}j) zXW{nOuQcFpIqPAK&jL7*SK0tQ&qBqov;Ze@%s-~Ig`N5=Z#}BP!S^h929?_}gPaA5 zS%Wbp=2;IgepY$$9W%^nSdQ#)7Kan%PE49-;dG}ob5@@Pb%nZXxbmMrmDO2AXMYyj zX~qD-z*(ks(!${_d=`Hbak8sX|-!?{3cY_r0Zu_T&`nJQ4MQZ`G0mn>W;$!s7h^I+iRp2o6j%1OkHQ&R;ZF; z;_91^ItwZ2ht$zSex!7yi@4Y*3ZyqB-^d#XIJP6A*hsr|L==e;XD+}Ut? zOFI26ch9$;AMf=Bu&mLH*IR4#a687tv+@5`xt(vddp&RmPCWK;l~h~X27AEM^A{Sb zukQ+|ysk8`6r8AlcPH?H9#`6f}s@jWPxf96E32aZ)=(PfC zzU5252T_*NW0j?bU_{;t?$tE&7T0@;dPd860^$_1A(1_ao%~#Bpuar{5!F;KCb(DoChVD0rVuN*d~cMoW}t`mA0{YoW$@(Ggh9TE`vs~^L6d}zDCjB9D)rg%MO2%o3*N}s5A$=KUrQ- zCvj9ze|x=W(EvD}Q=yp7DeWVy`FbS}`+NHtTybZAAYJKKYTkVgpTJZN>thb~RqECm zikP8p1}*=2(HG9)JEx`{HRl*#rnC*Z>Kq)UR!E5QglV;;BHy$B`&J-#4lO@cJD5CzxAj!?YW)q#)$y zv3Ig+q_@O_8BBFIcKP#=f# +#include +#include +#include +#include +#include + +#include "../algorithm.c" + +#ifdef HAVE_ZLIB +#include + +gzFile infile; +#define BUFFER_SIZE 10000 +char buffer[BUFFER_SIZE]; + +static int myscanf(const char *fmt, ...) +{ + gzgets(infile, buffer, BUFFER_SIZE); + va_list args; + va_start(args, fmt); + int ret = vsscanf(buffer, fmt, args); + va_end(args); + return ret; +} + +#endif + +#define CHECK(arg) if(!(arg)){fprintf(stderr, "failed CHECK at line %d: %s\n", __LINE__, #arg); abort();} + +/* Read multiple testcases from a file. + * Each test case consist of: + * - one line with N and M, the number of nodes and arcs + * - for each arc a line with numbers head, tail, cap and cost, defining the + * arc's endpoints and values, + * - one line with numbers: amount and best_cost, indicating that we wish to + * send amount from node 0 to node 1 with minimum cost, the correct answer + * should contain a flow cost equal to best_cost. + * + * A feasible solution is guaranteed. + * The last test case has 0 nodes and should be ignored. */ + +static int next_bit(s64 x) +{ + int b; + for (b = 0; (1LL << b) <= x; b++) + ; + return b; +} + +static bool solve_case(const tal_t *ctx) +{ + static int c = 0; + c++; + tal_t *this_ctx = tal(ctx, tal_t); + + int N_nodes, N_arcs; + scanf("%d %d\n", &N_nodes, &N_arcs); + printf("Testcase %d\n", c); + printf("nodes %d arcs %d\n", N_nodes, N_arcs); + if (N_nodes == 0 && N_arcs == 0) + goto fail; + + const int MAX_NODES = N_nodes; + const int DUAL_BIT = next_bit(N_arcs-1); + const int MAX_ARCS = 1LL << (DUAL_BIT+1); + printf("max nodes %d max arcs %d bit %d\n", MAX_NODES, MAX_ARCS, DUAL_BIT); + + struct graph *graph = graph_new(ctx, MAX_NODES, MAX_ARCS, DUAL_BIT); + assert(graph); + + s64 *capacity = tal_arrz(ctx, s64, MAX_ARCS); + s64 *cost = tal_arrz(ctx, s64, MAX_ARCS); + + for (u32 i = 0; i < N_arcs; i++) { + u32 from, to; + scanf("%" PRIu32 " %" PRIu32 " %" PRIi64 " %" PRIi64, &from, + &to, &capacity[i], &cost[i]); + + struct arc arc = {.idx = i}; + graph_add_arc(graph, arc, node_obj(from), node_obj(to)); + + struct arc dual = arc_dual(graph, arc); + cost[dual.idx] = -cost[i]; + } + printf("Reading arcs finished\n"); + struct node src = {.idx = 0}; + struct node dst = {.idx = 1}; + + s64 amount, best_cost; + scanf("%" PRIi64 " %" PRIi64, &amount, &best_cost); + + bool result = simple_mcf(ctx, graph, src, dst, capacity, amount, cost); + assert(result); + + assert(node_balance(graph, src, capacity) == -amount); + assert(node_balance(graph, dst, capacity) == amount); + + for (u32 i = 2; i < N_nodes; i++) + assert(node_balance(graph, node_obj(i), capacity) == 0); + + const s64 total_cost = flow_cost(graph, capacity, cost); + assert(total_cost == best_cost); + + tal_free(this_ctx); + return true; + +fail: + tal_free(this_ctx); + return false; +} + +int main(int argc, char *argv[]) +{ +#ifdef HAVE_ZLIB + common_setup(argv[0]); + infile = gzopen("plugins/askrene/test/data/linear_mcf.gz", "r"); + CHECK(infile); + const tal_t *ctx = tal(NULL, tal_t); + CHECK(ctx); + + /* One test case after another. The last test case has N number of nodes + * and arcs equal to 0 and must be ignored. */ + while (solve_case(ctx)) + ; + + ctx = tal_free(ctx); + gzclose(infile); + common_shutdown(); + return 0; +#else + return 0; +#endif +} +