From b8bb3814815ca9b0a79e3ed344649c082f472f5d Mon Sep 17 00:00:00 2001 From: Valerio Cosentino Date: Thu, 17 May 2018 10:44:00 +0200 Subject: [PATCH] [jobs] Handle graal jobs This code allows to handle graal jobs. The identification of a graal job is done according to the category name. If it starts with `code_`, arthur will look for graal backends. --- arthur/jobs.py | 13 +++++- tests/data/graaltest.zip | Bin 0 -> 123969 bytes tests/test_jobs.py | 84 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 95 insertions(+), 2 deletions(-) create mode 100644 tests/data/graaltest.zip diff --git a/arthur/jobs.py b/arthur/jobs.py index a7f6535..250d85c 100644 --- a/arthur/jobs.py +++ b/arthur/jobs.py @@ -27,6 +27,10 @@ import pickle import rq +import graal +import graal.graal +import graal.backends + import perceval import perceval.backend import perceval.backends @@ -112,7 +116,11 @@ class PercevalJob: """ def __init__(self, job_id, task_id, backend, category, conn, qitems): try: - self._bklass = perceval.backend.find_backends(perceval.backends)[0][backend] + if category.startswith("code_"): + self._bklass = graal.graal.find_backends(graal.backends)[0][backend] + else: + self._bklass = perceval.backend.find_backends(perceval.backends)[0][backend] + except KeyError: raise NotFoundError(element=backend) @@ -232,6 +240,9 @@ def _execute(self, backend_args, archive_args): :raises AttributeError: raised when any of the required parameters is not found """ + if self.category.startswith("code_"): + return graal.graal.fetch(self._bklass, backend_args, self.category) + if not archive_args or not archive_args['fetch_from_archive']: return perceval.backend.fetch(self._bklass, backend_args, self.category, manager=self.archive_manager) diff --git a/tests/data/graaltest.zip b/tests/data/graaltest.zip new file mode 100644 index 0000000000000000000000000000000000000000..d446101741086f4c5887f293ce127adfe930ca76 GIT binary patch literal 123969 zcmbSy19WCv(stBQ$F^`X!-4((aA-`;{|Bu59pwA_`ndif7&rj<|0k6AyI>gq z3T9;NXy{;W=VWec^S?rV2>1s=ex4YU9G8}sCzGHark$i3p)IXf5tAOFk|!G(rcx0b z8y8oWlNG0yp&6wj8yTNcR3#fx1vmm2Eg~?V-30=WlLP~24F|*JeHY|In1AT}d+w0` zRZKHmTT91((D)}3{tfc?nhSjb03iA^NIM5(YCC5~Ga5&IYdb6B|BHhNC4I|PI=C0C zm#{R%Md;Le@+YOlUb1h)yM+IN9XIFKV?$8 z*vK2WAtXZC+v|K`YtNwk9nN6{_MK7jIhsYQ(nQhXzhwgt&)%4K3H^A?uGRt6k}#|e zzJw2}hy)oT{WMIH3x>@<0+7&q9O<7caIw@H3YYuMn=LpNPSPq}H2RjF!n%pPK&YNj zjlyw3j>R5rWIG@d5EL6(ta_3rYq||SzLRk>JA!?S;sE46h(A{9QP=n!BDjTl5{=c) zg0#abhA8kVzEQ2u0pfc-SS9;BzYUaxDtp#vdYiA`U>iZG`qkKxz9Jyj@)7OpVVpVS zz1e0`bP*jHt6dzZOZkBI^;ACxOSc~2sNI}%i)S}Dr$zQ}*29Y5!ITKihh|j`S zzNXl0VIqZVn*m~~$ywjinB)(KEnC6h4qNzF%}is>PPQcHK(u4b-DQV7AOhfP?E(}e zH7X1p1uN3}k@(a`2mEjvqd6^^K35BdvuV{hz%TlYN-#B&<(nAx{K-z%rokg}!z|`n z`!cV)4tTx*-XG@Dz)>;^V%epONeML(t=__;`Kq9cDU5Hk)X3&{O3$Dl5eBjpRg(b(0Px}T ze;f|qK>z?~{!KX8>A#1Bp{=#Gxf8Xuqv>A^3};1c$2mGUFOsgEXhvyXs5D}3vL#bZr5G*o!uXM>Ln3y3Y`i$I{rL6ORc_;|v4Z)66Ov`3fX~qPisc?b z)968*zegu9-?u{xZG=zzeALSw*^ev$;i4n0iLkO%UG&|@{=}}Pw7;j?&UU=-e z9mE$yCFx0Reg2HC41Y-xBMOXxpCHKyJ}q*kYX;3m`@H4gf4;xMb9^4<5H+!wbFQih|bCm&$$4U!PghXJ}w4x$SU7?#BP4W5B=GU zyp5?sxmmST{9c`#h5< zfYsa+Pjo&pi^*C_s4N=GENEGPwc%|(cVI*Unt;muMD|=Aomvz*&}0dtITOo^OH_az z_TuW9{g*-faO;kB6Z!8*uxrCAh7;0rb}JOb&QM!H7tIL?(?YxLN?}L?2{~%`!~(jK z_9dnSRuTAP7Dz~H#A2*zofAbr(byUMjGTPz1G36N zN3!dRvm~ZqxT^B~NxEE?9~ysl*28qZIs>1c(UXQv4-f*j?JJ|izcO+2RCnaF^@dO7 z)tb7g?UnYW^VP%kW_ve@z1)1aI3*I4>NdRZYJlIKjat{p2`GHGHY;dG!-KdR7rT0u zT)uAJtpl{2!$YXV#Rq3BZu27~P=Pu+liow(!}0$(Bz)h`VUj-!iT^khykm83=jf0I zveIPj#VBW0r1LIA>m>pRmOjU+-3cA-k+6Pk=%2I-`BmiQT8UkXO!5ms`1{@KB=-(ZDHOC5$%od&kkLASo#L>pq`^?cX7HkS^CLxng3zrJi-Dg23h{|PhH~ze zd#s16lc}p<0g;)52DD@AIheRf3m=)^yj9h|c(w3!b#HsIdpSC{xH{iO5mh^vMMg+F zbDi7w>PVwLj60>ptg6v8)@Cr&8lc4Ut`5CJ6d4L7Ekhe3B&%XC&1uvLshzSo;m*{t zq`~Tv3(x(Dk@6JolbN_5ime{PHu%Y~ke`0}txoPzlntZDVs}ZjY7cn!c`r2D=xGYg zJEiKGl`>X+>B^J|vaC|Kv-jZ5^IPwews2SOZ?1N9KMHpT2mtWmP=D-d#qW11{>;@r ziV=M~J1ciPeJ8`eT9PP7YsvuALkYjtg-LRh@`)fr&ZHxggbz|Cs^Q2d1e+7>0(7QFm8rOF)$vzSrHEPPqg}1B z>Vnv(w*Ja*>iVby_I6SX$a&DHm*Lju4Y|o3l${JcEiH;*eaqb^=q~0y)gqyv&cRoo z38)e!y#bux`VLMWW>~6jSFOfjKVp5VTM7u`o#GFg|JVQ)p#LV;KMe4jyXp0$#` z?JCP}^lya8bX<=EQY+$GyhLgKd1)3&*8 z?Vdl^+cL^AXf|CJ}H`~ ziG*}J_(M_3f2S&0nlY>Bvt!MzfI&u=?5$`EmcBsDEwa!psMV(am8^SV1kU`x>XPUM zmm|oHyp&V@vtB)pj%a0ZdC?p`8RJ%`Jf&VBGMPV{59Bbwnq0{G2m+?OuR(D) z5dm6UUzN#yo>O}rlLhu6u%CFMxo}L(uJi`vValZ!+`~t4B;u z`AB5HhS_ePHPlG+Z8|pgT)+%}xCfuJpaP|^pwZr-G^Ps@7US{`E=^w)SNM*_t4v~2 zxVyTRgFUrL5~EKO*?dBKd#0{-iNCu&x2BPV>DFVmnQ0r5m{H)ylJ%_1gZ<4#bh5}s zCRa%2vk2c@E-GGgB&oVbAZu@u#%5;w*{Vgnj-X%f3WxX)(yEjS4GZ|%cD>z7blJd(ubEzy5=$ir zFjHG%fPs8Rp5H;WCCNaGymDtoDEURM4-!S>XW+ea=H`9`Y+7##njhy8S#qi#HpW!uNAtL23a?njTMAFn=&n%ji7KJaT6qz4t zr`~T(4(&CN#}OkoRb|+to_kD( z^|1uYciO@{y~=#O%OmqHQ|TiXRkD3#dce zcI&M)b%u6r2X)peSa~W&N`f@HJ%PBE)PVfQ+`;Bmbp36;(Uf3A8S4nhIRIA)CDFh&xjII=-aY_HDymLU;y>r+6k|`JEk_TfmIZOq zE8qG`k|olU!DvCVpgAb{iIC3g<_%k0DILe>IwbxNOam$cbcO83 z%NYn}-nT5%0V?16^O0{dr2nxw zI^G)uqyYciLiw%r@wYaBovou2wX>a(zLW7^Ow-g8@(BKPP$1K9nFc|+evEElv~YL{ zFtbjvTU%!pKMv0)+pTH)k}vfn%>=_WL2>I7NDblD_2UY6?D*wr@}UHB%=gim!--M7 z3BwFngWJ_88Gf#UtB$G&tv@PuerB6f)7Op7cx=E(Y5amX=ZeUbaAQNu$j<5w?sX9; z>hN4TsdgfrVIH-F1h(EBK-0AFEG*_X@_RUJ~E5bw+%gH1laU!Ul-o_kHHmbJ{stXYJ=rd@mr2XU zYGANL92G@d&W%LkD}9&i#)3v&QKtQTGPGv|St*u=s)hAde`>kKZf+?R3>V!~=D<>(V zJDw&Ma^ZSxQ&zz|Th{T_r#H%3Rwjlej?+nEVX}*s0v-6Nz)WqwJl?EtFW9^3Bom9?n+w+T zE^WyV)>Z!M{1m6S>=b1BbIb>h@ww6P5gh2Vy#2$iM;&aRYe*b!KT*fyYN(0SCZ>Ty z23JuY{N{RG$>liA`yVW`CA&K9>*#yIuaY^cPuo#Ch#uHIIx$`Nd;VsfnfQoVh) zV7heh{kqLs35|~7bozFRB$G)fapyNb<4~UZq*D+h@p!jCFxF(Njno0y(JD1PyaIMN zLwL-?3>jG|0FI5`31NucCt#hvokdJT+W3v2);yXQGnFs zCzlQcQ&x}=M7`mx^k(6qVSD08{3qaNH8KT}Cb~izw`>nP-f#jB3ENS%a~T*N{%@#D zu!T`gs+CmDy23xe0gb`qcf<)2f$F@-7-{e%7^n@ySs=yU+t4B0dy*ba-mD@}c!{cY zmBAJCpB*&?k(tsCyE1(y!)e48eK`Kw7CBoqN z=J&NpLFM$T4GJy;I&fde8S6DSD^+V}E6rCtFgmw$H{wxZU=jBuHN$}18d%Cz?Z9b| zeh+^DEX0%YoyZ@2K?~|W4sh7OUpT%hBd7$5Scj^A4PxDa8pd0=Q_7+h+BGC`;8n17 z_a`7VPNlY_M&aYt5edlB(bmyz_u#y;)uVihML+GEvGo}U&IesIM1|~8s>zC{yGumCU~%u1rvY|E6k-UFazn%0YKgvFpG zW=13w)i^_2PyEK(@;RGX4bGdKy+Qn1eO0K@7I!BkX!=vtT!yn8_!r&Q9dvwGHuNB1 zWF2>`N0qr?hR33MuwaKw)ZWKjaAe5SJC7~-xRE{DF2L(ZLll;dgSR}(!W}T6^k?nq zWu4sR$vSSPjH2fVeCwwI)F^V(4BIF7x6o?ICOeW$-fSo*#>dv-l<>zlgl?ATiS(%4 zI(n@wNM6^&`Vi^zTa?OyGJ*@00M*v@w{a{ zM3PEUt!YphU+={1Na9QjE9c>6J2Qsf;fV3vo3-i!-YN!0V??7oh!dJ4w3Y&VHW}JVrEIhZJ>EcYNyC3c z-nt^NB%NUehKn-cTDoquNmY&nT0J!PJ}5Y@w}(TX^E4sO3~WonC@udiC{QP_5Os77 zcA@N)*nEoUVmCI+LST8zlG_X@A2fep6w`i|Rv=W8wnX^hA-1fVaZ6eHC6z&ea|d`( z2}X1=r>bW+M7%YfHWMeQ&YdGgI_a)%fN6hRbDBzF1UdY+b_N0phceP<`}I)RvM)E( zB^Th%SaReFw;1(Tvef4!iSTDB!K2iL=7XGl&A6pLt z=H0e`RuBJ2rErC+ye$DMoR7(ufi?eLKRxl;radud>G@+E3T5l_5)NULU$r(UX_eB= z9gS}tS!dcy+H7L+*<$pKrUz*$wkA?{>qaDdLPh+nKW0V6pD8sf8DvTnqVjjO%AwGO z>!b#v>Jz0TjFYz=8LV>1M;2n6nYd6L;Q9Ng#~83CAt6zFt2}xbb zj0jNFzO93OrYs=@P)th&X2WZ3@-UGwP8XkDGh4}D%jep3btbI+W|E$cV+9E@*L-}v z=T%ToM?p)Fn+2JA6WgMj zLdc_o(^`c5J2{6KxyNddD^lJeef$?ZaAO6e1 zz%kl$zgWtxw{P2}jY*fIH@4lx4mDUhXQ7&X1a@?dQA)*{qgO6j?VHFCXYcu1N{nri z!YI;4zE-mPK}TljsjLSG?laf;Oap7>`QfuD9IE<~CgcmLs{{TN4wJ#jo0^gfSgffr zaMc9nQYa36)Ki$r>wcNc5xcz%!FW#X@gaLdJ_E%f3RYO7`3ipm785ge>mJg%=BRIRkshb0at!uim@CY8cSoeeBra$7U@Db>O;P+ zarbK~o)!@WW4J8~_~nn5E~N|^ZXKBvQ`4LB1e4Mz**I1NA#s>;lwWiMJKBl z@&&N4A!8|xfp&XUbNhz2#HC$2G7F;3bV1)waG;*_4yCiPzH{^_XXr^DCE8D7wd7aW zEDC=lzWnCf%ti$>>D}%i^cv-LmuLygEHse<#DgwRBRRfATW;Uiwi&BKoOKi}%h?yI z{Au!y%JW|L3*L_;hk-9d?EL-;<|CE;Ey=w<{{DX>3LoE*{x!*&+nCt?m#_XW-VrhX z1ku>d(8}59A8-8sWHf_1f*-P%4oT=P(;z#%bjgLb89~b(*dBg0izRk1X)k0c!jv`P zJb0)*1u_qQY01oxJl9-}1ky5F)^?6B0_K#)+T3~2@|>l;%#O7aje(pW2^nO0IIy)e z2Pnt%a9Gkx@@fze(s7IR253nB6lm9;8#yC;Sz~fAYB>GW7d7E_mfwh5paTc)ew*(WgBU&nx}nu~wE;Tg!CNX^7E8p+3_S`S zCadE9?TokP##s8;_+$OKS#A`_^ zJB%N)4-XE&b3+xJ9SIV7miHPvw+*w-Sl-?muPdtKnqj<~sA8m|>gM+1Oz6Hw;4us# zddYVX`yuq0{jey$LIB+HTeBlLK)7d~1Y>8~s?f3))t(r~Zn5@KcasipU156vP}jGi z=vZhP5MZi?4{}?F;!j-P)%;NPALJ7Lb#mE^|3+@@yIOx=zf8&{^h`=p$FQ$RzQEx)HivJa<`po|&soL)Y*8e8oyyF@$vKufMu`{wV z7}3)k85o%`Ff!89o9MHc7#ir)F&miBF&MD?Et&tje4~w&d*TK-pn2keIaI^b^?;;k zR{%Z;7fB{uiG;-AXC`LQ8x8}$B3jVg{mF%|ykSY$1vS@hApZE}H z^;*Zo!{c#-yCaS%t9bWk=hOMa7w^2x=i9HT2llb+H}j>b+z;H`?Dq#-n9ixR--R7m ztCXIu#kf5^o_8Q#pLIGUD74pz;bAc*;uNUEpDROAAd~6@ER_%Hj(I4qB^xGHEijBr zr|lI~gc;P8HHZ_!YVW(Q1gNVotRfmN%n}A#2=^}!D_xJP20Jc#gcE43P0{Qv*MjVy+e8I6Tu=}LA z9pIab68uWgXcE&IcypyP1|T_SU7PcvPe6?XgNSh^ZA}_GfWenL@zm0INdCH(kmSQFQbH4p<)C|9E>WxXvaJ{|b9E_;7;}Hl zr0YeSSJe|t)H=2ROZjs57DD!#^G%f_oJ9l|%h%mq-p^>COPb{NHi=>C)H!u?ogetj zT4$xqnBgVa!c+B?`V-02*_lN`KNwgYfo^ddf%=|!&Yan7#UxuHs zM%ckJi`4zQ4B(C1yw~OuWtqAzBZ_&SZ|W$$F?wqY!hk!PdyfN7F!C7FeUY(k;bh_G zPCc-&FfgGK)4hnqd&e6`$LU!OL%UQOKYpQ2!xow=C87vLu`XLQ=m--_g}95(V*m2T zYo*Bb{81DgL2+;Dz#mT-h zu^T72To3L`XJ@ODJ&!guo_2vpF4|{iO=PQtY)N*ixz;ifN9f%Hzu0X(a5@}+eNp~e zeZ`STfzSGC`s8}Rc}JpX0>y;dM^q@MU^7lOrqePJ)CS0rYE&b@)y6>m2#IVDtB?kW zaTwzW+D`5dP0_kIY6gcI>oxL~)u*LI3>#2W7eM!W?ODbkQQ7*;k_qP6C&~K07VV$9 zxcPq-u~T7V3CAWV$4fIW$7;d{XgW}dC-QC1?!8rKHxxczDacZOW=oY}MuWwBWK4(N zHezRzRDkY1u+T6w`ve|;7p~jK_UHi(&TX&)L2c$67bI6LOWQC ze@t5lEukdLirT!r`Cc!$bya9A0uY&z5%cj3*RJAeIol9gvW_5&1A&wcIPdspbuhCi zz@?Bj_9uI~;68R-K3Gkl+<`tC(7adJ7x~Su#LjV`=$o;eaexF&(iV0_d$W11cs+lu$F#O^J!Pf&wYFoFjHO*&f#sBk2}OXu zJzY4AnPnWvm+NHcc6h)YW6g?T+!psxRWn_R-EX7a!X2%556$T`IP^zej7KfkTYT*> zpnMHdv|_t!4l0y;Yin2gvQ1DP6qQ$JfxZeK1#gI;khoTpS@J8nqNiE=*lDpQY|O&j zNDKLEEkux#j*IwQo7LoKBblZnowS~C)sed=Mo)Bx8nkj3`L?G3w{6KL-aK>Tpl{$$ zBDHJ6)7EWCGb1-mT(Wc?`6PD}r(6?NkA(`Y;P-)A>_qY=oZZpY>Nnp^NheC(n1OyI2I^PMoZa@U}Rpp}64Yg_M;; z1F?Ww`d}0n`$D{?^=RpYY&~W(3c+>y8Z0J7^)P&#t)jan4u1wBwh3^JLGkv;@hpKq z51@PDxO40h$3fLh`q$CfTLxZyvPJ?PUdOA}0dkbs^+gf3=)r=(8%~jsGT>qXq}P#C zgQIM;R|LTk6M{!kWMh~jZ{MXt0*wEhh*f7cZj_KOHp@`12h59z0Qv(%b}irwQQKl& zF&YQGhxSWcgR({H2eN=nyz5A|PgPK6643OG7NDw5-IG-zZ5ft__Q`}c)2&v^t z*yG|NKkI7D9)+_Z^VHpWmy9x65;SLj? zyNZ=Br^PE>cC+#Eg*DvYvzRNF-p^LU3wfRvIOU|Oi`fSL>wu3M4xWPOsfJm z>)|g*X$ty^S}y`dzx3JSQL}9H0$#on@F~t}%4LU$7jx+0KtkBWwxjOc(_dz@%a|Pw zjRYL95ddppy&}*;TVvE;@6?b+*myAe8)2_tkE)|rZL7d)r%F-|5YgsFd062#HiZR# zH(2Ju^Z|FCU}fj`SFAM=8LoD2k89H7k~cZg^N@FSb>2T}E5%R>E?vs!IMAJTZJJ$* zaGhVw$lF*L7XuQ!sd94BEQNt>E+Gnrk(|&wbP0`&x>mMRKF^}PP_UL5OigCFW zUsKVBinC)TDjINMdTLV#ZJ9Cs>$ijyuvPRJajfAtM?{$ThUy%TLB_l*Puv|j=?W{u z`4B;Y{R>mv-5*HeQE?Wth$D&VSaawheqg}lrR0-6if)?u`U#P*U7Lo@HxcM`W9TI> zh`6`}&VAwtu!O6YvoW_!)UGH2IY&je^A`SB=Wb)<@Puw*jHGce$-=`v821xbG;I%+ z9C4i>S?kT%)qr(4i7?Yrt=SVth|#hPidAjM3J%B*EY(j4?IBg36shs<654nTf>ehr zNL5Cj#6+4`7G0z$uwGGs2nBeW?JPqY1*@uN?D+Okw6)=E?mhgpg3Y~>ZnK{z?MhbI zX2___1$}A@4!Yq-)m0z8d+V!sXbTK1(T@@(7V!%L?w6Lp7?89GY!9wW;LrqeZE2YgrHGSJhZOmeU zkzY&ZxaMgh03cbhmP=(p4p0%~?~n>B9plJ7WgDoBH5XjPjoWoc1m$OrkoD5@erfz7 zRbc-Ei=u|;l;rel80VZk9NC7ZI4{LgNJL#5QhSDb$IPYXqPcs?ZNC^0$s3i5^g!wxf~ zOs~b?_eYA=ax4xnd==~l4ur68VcNR(#1~(?Q!WQB1X>C6&839`5k&pw>is@_1J=&v zF43IK+ifiWzJPw#;60q-7s7vy&slxd=J>)cGkqrDEIXJgHp7LV2SA$*;@;RIG6o4_ z-z`CCp`vY1){hNNWN)|TCudJ9LpJvImEOrNbHGg@J0~>(D zoH?ZKCZccGItCVOK^U3K?BpxLhLw0DjyqW+XO_jXpr1D>zbA~p#*I>CxvX`NSuGqrSfM?$ z;9%^Z=m)SSW_xwigwzu?uo#zKV{mPSoCz_l^|C8IsLePbrD_%yNq#xyuHg=)cLd1| zDfKzNsoJAW8YP zkQ3qfX|t-l5TWr}kU)~U&6#?&AO_(s8j|k}V`6Z&$_md<(_sqC)Y0gC4S_;aZ*au~ z@v9A6Exq>OXB%&kG}IiH@2c2zBeU#BbTxV1`ftQE-geBXx$n zfW<;m>&_SwA-+|rJDtSL!1VkAC@KaVC;)i3Dh@I#H2>Mp2u@GejkN)#2yygBz@dCz zFp`fE-uldhp?01xoI>{bMYb@of7>CE&2^*?3%7sq^bm&j<5k-&ys@Osx1|7jv?zTQ z2eyIF`-8aq-fkzLSb^#ee#*Km^7lneiYvD7KB|99H{(7S#BukZ70vwiF1MNNs;Pvw1`$pRGoOc z3$sX178XZeg_WSe0aDOXSMY=+@y>?Lmir0!or*O5Vq*`6tx7uBTnHqZ6I7$h`WQAR zAku=4)N6!=8J_SbVX*ZbqVa8yLy6P%6}Wpg^xQY;9yiDILksmy4An_!1{?|srBBZ? z8@6i@{oKZN-R6U~QUTRHcFQ=1x>#Ewy>Y|PuKIoI4I_&h=U;mXWhFP@zi{tu;+bSi zbaWF!#IE@X?A%tgv59jr-@uwteW6mNSQDv^D>RJnG}kumOhyu*KGC< zlI1_*0@fz2msP;xG2V)5ICgU*f`FS6Jo6j1J&+1G2tdQyKs&Kr(Pf8;od8*jdn~{& zWI{>76qQCth^;YQS^NP^QGQ&S%1koMB&mZ%iP%B>qty926{D)L!fqnylX;GP)XMms zV~}L45HM|iPSj03$}kp`T8l6@e=T|*XDFAim0wiwSNH4B>-ljonq-V|<<`_qtkE2D zpj(+;i5{4vM|>b?US?B?YrDBoY<5kq>7ifIp7vPN*)&@r3^A|^JfhF zGw-IjZ_v>n;2prj-PUK~4?Y#eN;}AD@##`361GGMjfPuocHtVaM69nAFZY_}B9S$C}`E}p}#^mdx zG%Q`KjF)>o51#d8P+$pOAeS0X$)J;lJ?5{?swAJP)V9gHfRI(#aspPEyh~i_gZGZ+M_2Q|>Z3CMw|&%>_m{Q*rjPoL%fQaWV61P# zZeqf2z-(+{VEo=uH8fzSXEI`7WMVL((>GzGXJ-CCo6{}mA_wn%RIL{qOwrh`t{Wui zPk`jO%#Cpq+PUd4IoO;tnTD8&>3GASd!beeh%t<7DLF>g)ps&?P~q@M+MCMS6Ia5{=b1h?3rSxdlVsPn^8{H-3WeEu9Zpu(o!61dcCq!pbvjLjEq=cuIOI1)72Z{GX0Ey_=o?Z$>#!_U_ssbIYU!$2 zu}(y*eO4qqw>a?7dQ)kpts{f0+MsE$y$rqBo9E1a(_l&44t#ICTZ;bW;rzz)E`!!P zgLZB8<{>w^S#_X4DZ-UqrI2(YD67@+qnnBVS`_BzsSaqffuj7-aP?{9`}yd1=+3q& zYlt9LJ7s9Jmv-WMOVtXq6+pWV`*19=<#DT%$z9N*N;33>aEqXIEdab*S8Xbk^R+hT zUDJ~RfcJLlc~M;5&&_sT$G-2pZCSxTH=uR1UY?l;8&Q!r9w}*~!}cxY^^&qJGLp`q z-y5p9I_;jX+$K<28SNbGPw4k;Nu;J#y6Ks%Nwym;Ii8$et}d6)FJ;@DcegKXO|~++ zM(0R-fY@{|Fdt3T23N(+gMr)_>NhAG7CtL_XVixTFjdmdW*`lAAv0mIUyZJP1Gx{m z6o>8n-y&+S8YoRF%UAr`D)DtIE6|ieQj)Qk+3j?>K2=>^IsjT^HEwZ`bWxd{1$nj< zmwIevDobl70N?dZb3dFO&5?%4^1eNX`+0uhh(Ck+p6#%X1xWM4`AI+AOQ*&5`|FoC zu-+To38%BM_J;#4VxBamu{V&byY9%+V5IL?$~vqYow|Dy1G#KXRSXpF7n+I*w+`|X zhjJWG8qBxm&g{BP1HGLrtP>j><&}vxI;dl%#V-WBQ!Aw!S}4{k@z&bRl)QeS5HfYS z>5-`hItOR1w}e|swA_JB%g`W?+p7i;14wY*o^%>bakZ^Dr}W-9*Sus8#T6o;+k7e$ zmmUs);x)*@m(E+)eX#B+Q{EK;-r51wn1;I3f)`9#T8|E+n@;z`NE$P^%K`OtsX(E z^=-=QaTt@2pIH$wYA342>9$k{kS@UWmr3|buTDT%87cu&dRK!xZ=CHvL8OjWdJ#4P zrUCP!_#BNbM!07Y7SGh8!>*x)F+h%e8^NSgcy7O)@c6ng1moZ-FP%2tf#2q>&4i<< zt9tge=Y{~Rmheq~XW0NuQu8pGVPXxoT3>3XBumK|W@V*QKfH*J84kh$%E%cVb~}t_ z%B1!7i?-km27YD5R6lVU>!6yBfs)ivF3qnQ58)L$Y-Qq~Oz2!aSL|%uF4CXX;;Ied z6Byyr2YfwY!gbkD$l~qafw0?>;)>@NqvYbPiCzaGa74=8q}0ZIYAEHatVQ zt&qSP2N!B++JcwJ1B4{_x3U<{dlx`7`YL=ZNMm?!0?62~{#fj}VRj?;K-YR@FaD}? zITnJEN@GhiJ(3Hr_GkPwY+fdj;N9?&cDp{~sFqVCKfyV~1)wqfT@8a+NKks+5yrw0 zYL)zlLgB{W&rei`Uyf*$ua;K66`rv#nz!gyn9`m+TeYMu56@ouAF@V+saYdy_iFgkO+v`vJ+#tr7M}rSpR7Uf50QbtB=R?G`M4Ja zibI0$alTRafZ@a8_=YPUm;k<@nB4wiV;eI9f_GVlTevmfQ6Z2>bR|;Rw>O)O> zI;Zt}1qpriK7O3O_VKK{tUu`K;Wq{UtVvTuFZ}9kM%rcl@XWd)k~q`~{}p%waCKXI zd^g(Ch~!|dEfiH;^J16YTaY#&w%dvEXn%aI_GTFk`65UNJ$)>Nyu?B!UwP5H>E_O< zgJs`eTXN9;Y-#**U@&-f!?GZWbYBo*J}W$>Ts(`#7w6m@q!-0}8OZ%+2w;2=d=Z!& z0v)p;@I3ig1&fb3V>Nv*4im!100Vd~B_yXJHhyVdCtGW23syQu=mMK3k0QtoWcDV+ zl1YqDjHg#&`1++*TyGq$)Xa58auW|P#J=9l*O&rvwGNTkJIBQh&gFiqSW}oMEE*2+ zfq#<2!dck-TCS>4Us^9A^4@-LB19?;TtfnrFfdP7$xr?g zvFW$gTWI6;Lc)UOF`*i`)#C9Qn^2l+*dR?Ia4>s+T&AlN88Y%9VqS3wHc%!Ah_@l;*FUUEcftXym7QqyW3GiRR1ZEDKLv*_6H=r?-Po6BFj-_Byr3L zd0qm5a05Q}S^A`yVIq$SkY=h*#;ix9r2tPN&{up|N$_-p6FvmOcMw{mue)^~XK^jA z5_)0oiD8C^L7>jDCxwk~ehe5!N!c)JxCmfC{xC&~2)N<|L<}S)l5Wr`<3)-nwQQp` zX~-`Yi=jOD>Zl9M4|m-(k-KmKaq~6j^1T9;h6)MPNNUJ_PJ*Z4qk84lL=k|H0$$3# zYQiV-(VLD*uLrHAMG%$8B;b(WSd0Otzi49`GcEmMk|4owF$xpGZQJZyVahh8$}X>W z&1X4Gyg5s)rxTaXnqZV%((b9XlRT&A5Wi-{Q)C8?`G1_9Q*dU{)^=mtwr$(CZM$RV zjqP-7+qP{x9h)8F?^ECX`KwOt>%A^^tywkq8gr~?$t6@d#dpEuAMiwMylV}pXI7N5 zizq+1`O{#4sS1}bs5{*y4gJtBu<+ODS7dL_JjyUZ}RjDWwaXTZDg5zmn1%SN;vfhLbepdZNdm(~WH>nHsx=_rVT&|QZ_X0VBc!&)m zB-2l~VV&Bu-6bd=$rNBr=RNe4(zgDUc2-6J`a4#tdz8jvb=*5J%Xiu_BxZr0s}W*v0P}P;$B7&JSLf z^^e`u6r`KK;f`+|O!I=;_2rZdtay#7j9W3)K>Y6} z4u16q50O=knTC+`-S0M&si_u1CUD7e2fw^SzdwEKbt$Ert64%Wz5e33T90D8OkZ2^ z4lRJwr?7y^OCXL&#kvplSA3WdPYE`lle|lqt@gjYo0qe61ZuF^JT&k{nrGi73t;>- zaqCuu2&zWNfO+sLf3^uF7^sci?PciD)=d%&zvp0ltEwvKN7r0j_VU?D1~|aHEv4g9 zTMIJbH5A;Z&C-@-&PuKcS4IE3SZXLkHXtvBJR>PnNhPx|BvOBXDVOnc^uhS=4a*j^ zSTLe>jZi6552k5+h}5~{nR%~4V3uOv`^&!$F85F02PJeWcdfcZWuLoLjuPQT?S#Ye~I71w7Yi21#UN!skTK zG&0W=OfgeLh7;SQE9KT)R5LO60!`FD#P6j6#Td+L4&5muyiEUWe>}n6=rTKI=DvH= zq&N|f>Bwsl36m(WJTvcM?6H?Bb|p?si|2S>xGX+;E`h-aHj^+$?NW91Y9*`x&igp9E`bm!-@Yh%<$>leo%pJz-Y=<4D*68VGQ^} zQ8pV-xOM1+m~#T8Ktq_^i|6-Q<~a529rDmqGBzltzB&M?KS~PRb|W-JXnYW9)8GY5 zK%Y7;T7jOfh=LB{@G1rO3D-%j#m70z^JS68W@->4ID}3JbMk}!H>DMiNRS+0ET3iDR%q^Q8Yxah z5!h90G_EM`sIuAes%;MRD6m>CRe^+1#Tbx^WDE*1V9X0lJuvZOFAo+1Y-^vQnko8| z|D`)RMS*2OBB#SIjfAW^sy&L)CJ}?zZ=!oKnyMnhHO(&*mT(1eV$WsW@nK@=JsJ|| zNTiA-HFrN9hQ5svcsq%O91f{vBt6_gE2cYC%3g>fc9A(q_@})D!8ytoIzRNJ?VAxf zJQd4I0cCLEtmd+|^RjlnS2T2?-re`k`Esip3^IYtX@)AY%>)N!R6ogLl`)+P@RcHj-3;$#6P)DWl$reT=#Zq-l%!$N&9JLzPCF5>-sa4L=j zf){4cL?qklidpPfsB&zuS4M^P`l>$XsnQfvssPf2L(9cnqsa9Apu;`x5*@pWGb!DR z{iMANRHku=$%yEC0LM@g>d<}D!Q+qj{rgr!689C@SfVIfzitgdPp+268@Lb}2;*8T znMgkIYf$DpI~2~{Nreo6P-!PWw`+EQXURYK2}nA&q99c5`9iQ??hr`R39|;b@dcx258E&Xk`cA}pMTf_}hwq+|qj6xJcCXf|#) zM3RAC^H!m0_9(YAE3XAo;oy&LVfl{jEfe~B>Px)9c@jVGG!msqX*u{f!*Ukuvjq!c`7q;uP{t*#}i$L}$Y4f6=IfPW96p-J@{bQOFkQdD+=H z5z*tnYvfa607uC*xDCKlWSL-M70}PWfDd6LWDxRErLV${b&umb+o}7tDTTPAl4LI@ zIh;ECGsrNp(G0Z>T4Gr+9cC=SZl4IjR=(|r?hh#_w-C*L3nC1VKtf9u&Z^Sda3!Hlgsc>rybJ7}j~-{;M{h2heX zl7Ys$A7M#eF&-A55S!MV#?9wLc*IRx%lc5d6dg2DzFbp`KIS*Jd1d`)8GCxv)_mSY1`+r|vDrI~yd^Y$(lx79!#b z>HXJ5R9L=V-At&^wg<1l75A0s8kJ;&WAG_b5tfaU#DmY`(=4n_gXW|xd``N#x*8W@ zVWkTF^s%?^eo@f-1AAt%Hl@?^BaPFWA5EFI0hdL12&0Oe>r%SWF>W$rlr~om@XkBv6R+L7=!Mbd!%AOgIhhE8~st%_w4M= zI`IF9p+qY5_WEr=Bnnugya<*cqnSz6S}!^m`uuz!>C(W86Qj=InA1f@dey&4ql_=z zhAUnZVE_ZIU^?f-db2*ca!@~pO93)-$iMCR=tb?vPrp0G6O%^p^r=~5Z611xay>UN zU1`NCgV07*rZYtQr$l?-3oVhX;vsarK_ii}Yh)G9wWYCs6=1sAWJWH+Uu-}mUr@Q4 zjj{CuTzP>kV#%VQP8TT_-6Hq99Oi)|6wgxRZ_3tNy zEqiKNb-s#*|1yOsNbFBA%j_ZjF1q)1;WiokTZbYFb6pDZ%f;;grna;unHWrF{I6;I z+G5$RgE45kDAGLWu%*tO7Lvj8_shb5tfUtG1)(k~jvqR?2d`&P>?#2cJjGJ0RY3Pb zakYzXR!hu3c3j#-ijuomS$M_xs4hqhw$^}~KelYc@KAI`79iq1juOMaGUxP4=Fw|BAR|61NHw^3xqthzU{Y@6sHWtO7m3 z1-=zAKRsXUN4|e23-ic!7L8nKRR>U=&~Q6l1*Iw8Tn&67~3@;3L#6vEPTbz zlb)=%^42gEO$VXrH7A_s+ID(nM## z*l#rIF;KoK5WSv$kjpOho;sRm?=+p*Ni`y_SRFMa!LS!eC}Wd6qkSU4U87ngEV71w zVGG{5(m}_a_~dVd(o6oE;C{~{$IULm5sM-8gH8`Lgk!J5CvL$U)m|#JJTM<*Pw68) zK0qgHG3A=L-o+4;UO?=k)7$iD@Jn;tc`4X3mLMCX-=O#j>CnW7hht-!q9xotjOsEl zu5fzmfuFsWJ>ec&>&L`d^;Q!L1e{u@iuO-K%?#a@pf{QYEJ>0ZauL(B0ge>O3$rfb zO;p7NrJ9kdUnwtyXB2*FN_oZ}wqxo+ z!c@c?57F#n+@m(iW{1v!EMRTRoygQASAkv~5*n#&g0VsT46t zCiQu^c~M+e&mQSKAmR&;wxuLdm7aoi4TIzJ=UgLMmVJ9Sh$dy7uC)(ezhldR1*&rz zmn(U2!$hB(KnoWx+Osu0ag^orXWVe2HjV z!mq&Op9r8oB%)ZD(|0lcaL^$Yoyul_Wn>b036P33rIr4@Rv<1yVEJOu+s;2sD8l&1 z>YsLpKv34y*XVV@2yS8gzftMnQ(J20W1t>dt%cnq*wg}uAW`bu+0xuzA+Jg83HbRS zLb9^a3FA;jLU4y}4D}hC{4qZbR=fwKK1G(zPvRk_kyA9Xkd;V}W#{4Fn0l7-l$D}+ zllH12Ny_Kt1w49xr$@NTSm13)iALi8x0Hk0J?4L79A<~>N575|v0 zWVhltC|#Bitvue`>`y2I#h1g398t?+_CbCWB+4Lvu7@td_UVBnt_>uvis1NV7pSg| zCaV{1C1C+Yh)Gkg3!RMrQP z5caPREZk^jr1f|y%p$fj2?gbS{zk-oF%9_-qmp{r_U-*gi~d85{wGGo!S+AS`jdeC zS4Q=3UG9I%8ViRBlQB0d3#&1U1-peg8yg2VlesbHKatJU)byWB!S#Pa+kcz&Cjr^{ zKexzX^PgM9YUo_tO_o|ftW1NpS&0A-ts;_Ok9Hrj>KUV{?>>K%88J7>`83Ak4p@}3 z_o`pt$YDKY={Ud(9ympmJoCRY83}E@lwB^kLdcXkE&mmQ?D(QkR~2};06nYlfvNun z=TrjP(V}r(RJ}-`J7!zPkKK*L=AvmvR5*1bIs-C~R=lcD95^s2leNBu&VVXsQu88fD%%4-xs92QtIf z!em|}6(8>!OU_PVpN1pXc_Obvk2b)-+e7Yh*i#O=Ar^%!7c{+S9y@}-T5YLRc+%R? z0HgUSZeksUY^rK!Nl`>%duE%pAwI(0y9SMMN&m5K#hTnwYS>UNzjjHF z*hThM535B0Gi6@(I0kIEr~d_!;X$GNpJLFY$C#)5w=Ms(HUFn#VEtc<0f^(j7Q?@F zIXRe^Ot{TB+1Slkn2gz(&5T*uj4jw${uKzb8Mg(CIg2?n%m3dd0^<0Y@C4rRyLA5t zY)`)N`Nd<|c!20ZNZc@2)UrycGq%!(MU@Yq3$~4bsS?bCs2E@p#B5t`+2-mQTlX-L zy(&b4Ft_+wEuHNe7%~zQk^eo3iP~Sz3yK8W0q;ixKkccmz2{`XCh3ZCoJntX%U*+& zoDMtfsdku_r%Ru&W@*iBnn^ykmx#Qtr_vAl0#l`9UNoTy3J)yYSr}tWPizCnR+;9~ z+A$V+i`LI{+>9p^L^)(jcIm&HtatO~8p-m=&&@pB(kaTUJYC~j@2mu{EtbsOlgNPr zbSOro91ME>e|Jw)Y_Q=|`aFJf5t0d>1ly@tNJpi;74uDmN#_}9eSkB2+G3G0!t~2q zdNF&YnQ`wbCjXm9ANF(EV>iCjNH&4Nx^|UlE|Yd1wW00*%ZFViG`Vuc@yzGylzxON zd|b>W>ZkyO^!1SvKPD|Gdt%O!8Lzp35|Q}X>~lAieGN8F`BkwRCFq4PRfBK0AMY z&xNZbBlAMVxV_TOB`{j<(iY124+b{5?2gT2o0SA`@@802Ll!xjauEhhLQ?JkzY1n_ zWZs;!@zOeMW64J^9eHNvVZ5>7mVMn+Q;iZnXk#Yj%{-{Waf`3-yjX}k3gA{#U?q3E z&%vv;ZC#fIBW{2tRikh1oqt`x6RQsiY8Z8K@sI5H+H};M-+!WgZOWFJbLcPR=D*qT zfLrQae*F6dn2S1pL&&S6P|>UPi+zJLxuEgwdo;P+iHGdDZ9{NJa5ucJrns4i*L55^ z#N}*N-apRz%JbQBH0asnm*Pmq@bt}`)8TYT2*P^Giga%D$)52~vAi~LOv<(B*`18V z<%BqFrc3_)HoahFE*jzbcp}dy7n87q`=GR3vMM!p_(zpmMPSk*7`0<@v_fKFAw`LK zT<;WI#77Sve$Dko|)jn8L4FABX^ z!Y4|J={$@{&6T}z00pdx{?i0XpRtfg&%sC85ta4 zPL!mD^L8lxr(Lu>Tj}|h%_cMsoFQJ^r3g6fC$=1aqygff!^U%0Cy*k+%c696*XzDXLrm!s?55F28#G%+!d#;38 zz}5gVw(p~cf>2F&bZ_FJ-A<;!Qh`yR^=db7_0d+UGx@S1fClTz^`2U@u0G_8F&!kO zw)Jp>c33wLcqH~5g8Ay>qgbGWjnd$Ey9w0+SR;^j$^{T>VF+*pjvgO>u6h7@c zsKd<60pRc|=^WSrKp^m$Z&cz%b~#EWMgr3xez1sDuZPG*t*3+Be5a7S3rriaf=%R6 z90+TPANbA_tYDKtu4 zX%T%S7*oYDIFJ;MdIt}}@4z^AAekk>z`nlAMR|T`_cWTB#yjb+#_Uj>%m1#rs7j=-*rs1py{%F*lQnwoyO`$?g4-$doP-3kfYjccCrpG#) zd19#{*~8`BcMl7};w)-2xv^ssVVdTA=mTvKwKvo!why3zt^SqbUJEObIz8Nw5XmqU zBFET_E#}LE8{~qwm_nQ!9`4vwR{kEztG7RTBlWSZb(P`-%{mj%-y2ws)wFSRk#S%s2W zSHJEtC4_08(uquGq(a~GcI|zqML(8z>^8q@&8e@W*z+yw2`ZWuxGSrU>>>0w6DHh`o#x630esD-Hmw+jKAagqW5%)wyM z8q?oxrYp)93*&?_5IwwlP1OLFKYx8on7!T=Lb7~w-<+wOelxf84pV)ih9S`j(Dj75 zM3tn!T9mWOuprtvOK;+vYYDYY&prK6}!N8elz-IB%q=Z5GtRcenr2uw09pdfT z1kX$-6W(X!h()itxU;~`41@x*KQos`ho67xoU7;8H5vt@N>dB{W9IDvaSIdVVBoSf zlej*K@KeqiBgtwYHS;L+SFA^!#}C24sHb44C9kYt#Qfm#-y^8nI+90RJbZ6#GHT&5 zmuiYgvK^#Bo<1=9=kqdClEM>;C+2Z~9nncsBv>xb4(fcwLx0F$M7OrUW6#ww%UKN` z8t(ko1vw=Rvg?;}*XGl1#~8zOPdZqKqaB`pCj-tG5bv|I$jh9JI+kqv`IHgKll^Du zVygq2ct3>%0DJS*VCPHWndjljh?zsd=Aaefma#<+@9k`I6cCsi`AV=_gx*Q8@MMY+ zl|jCQ-`17ARkwebekXWDQK@XmyQ_pS^lTre--x7hQ%m}>3L-KYdJ>0;gH8gQAClel+>$_2g_#Qo-?1Vti9_OFQpJdB3U^`a zny|9N9{sXX-?!llLc5DMMNTvVUX7)&mn>c>X1A}g8Lrv3Oa0aC7qgI)8vI0O%dV|F zEn82MWIw38cPQq>szqv+A<;FgH9HAn4-Y8B2J7(2cYrAS>a``qs>m?QYq3h#&C$}| z_+gmls<&#k+Sv>Rowg~A!xp7bhkNmonF^}*CfRLGOxV#)oT5P>5}Qrbb-BQ9J1j`N zrxoZ}7mor}mP?`(Dv@orm-6X+%yM_yx5$DoY2y*G&2utSWI|i+bQ>iz5}N+Ulg*f0 z1dRq(p!pH>ci{_PtFzF{4`a3h*qE`WS0tHmTE2U>@Ywr|tnG;l#SJmoNh)O!Bx2J# z&cMc;iVV1Ro;6`H?~v51d0%xzoGnnU9HLEA_D&Ip?_bOvL;u1A2s(PADP zK*y!(rbLMY(co(e@g#sI+j1tB;TRp!b(0bAZ0*AJGEljr25IXr9c#bbHVZlp3bCrdf6uwTSlJ&%zPx)5v<{?Zre20lx$>YjKqEQMv!=30Ng z74jkMh87-_NvWHJHq^noKA?+opc=OZcW!|L+1u#{F*>joxmgQNRYxl<{7sCESyObd zC+=Fh@8QOQSp}k$tmCVyCWZMsC=~vk74A$HjZ@x8*BBR}VbXwSdkjR9@ed1wgZ)TG5N9y2 zD4`VJtid{GNdocOiM4Ik&53Jz&EG{z9GKDY-1i#GUG+ze3!7QRS2K08Mg@oh{i(HS z92IX-Y`ovFVAmDJq}^!`SG>7v$3ANBfV45?VX`PIxfQ=E;S9s|4M3U~XCX5|n`XP1 z>Ccaz8f({_(FNJG;cDgq7DnV_P5|P~n;9^s(>nwF8kd2Zo)zGA4`;}e>AClsTVo4@ zeAj9LCot7=wF{w&-{ID^)cWsf8r*;{C^z! zbbehMuBI6u8PIc#aU#>52Uo+T7Yku@yk4*#Y_mWovlj%ki-H_j7cXJv5fyh5kqhm9 z*RN=MWC{l{lVb4-A{AxsJNi6V7@eJ=VT=h52bQYf_Lrbgp;=V>%Ec!#$RlzU6Dc$y zr_t@_nEaMR6Xa+n#AM%NZY$y1ew|v-gcr&%!=L zN4;anWP*Ccc zlAu4dGEtg1$&@(!)twccCG6Obu34GIkODJ~+xsc5O?xjRi#Euu!${LDv$sv9(p7PnLa1;M88H`L12GH6A=kWoB42#t4u6?RlW=U<+D~|Gl$N^ zeh5Iy?;s?GA!@%c4w@TqrARGO&GaKMleix>gZT#lg;05aXu@55`b*J_G|9jfewS>vGUtBLML%-+IXXIj}!qv^iPL}ss6NhAoIEq=$7HxlC}(#?BuQ9 zZk}PtL3pnuYr})fabXhG4rxDA<<%95p59wo4$@jAD)O?E6SS+X{dOtR z2Oa@>*EtL+v4@UyBHgrCUyl;QsD1NoubCHTj2yC?t&0}|T#&A#dp*ZaN~ z^k42ptH-OsCn3kPBg7p#$F4)q_W4))hj$sw&7B`KiLZIh(!;CQ3$CH1?T69J%%zNV zLNfT&z~c+9M_K|svXYYf@h_zPue+(DI+4*-SlaYeGxV`c-rFuijoW{rS2pXX;Xg?3 z-FZ9K6m>=tkuK!FF}8r<+(Dz%CxerWGA-w}f@^}?&(OznVfk!)`5d38L#@Wc3zM$*8x zRRx=*)_wa~{_q|_Q~zl7P&mjN*@(-LWDRf|+X4=EM*!<^Bg1vjQtB*ORkZP$Hk$2g zdT)Pc_Yl45+Lol2#5L3hpbYCH@om&nUQ!Hh?P@=5ZhLq6>!+#A<94VbuSd_!JQ(vK z>J8vy1-WN85$#Wk>ABXFaM)vseb98#F{ewKE*A~W;|nXdtnkGFx9@1N7omi-4=yCV zWK9P-oy|P;;MIelD9@@Z*i+jgu1BnNM7|8Ke1#(;U=;$RB?`?S*!Iav^ki+&T(s@l z`q8llf4K_HenntAanRm2&|8gDgECb);N5$gWWg)nSW9c`u`HrO`9J7vsMA(?vZrYH zugYBV6&Ex!cWZ200K*?sqqGcO^__+<1YTj-a8##WN16(^4T*!NuB@~mTF64TA$K6r zSQT76q(*}NxH4CztdzVYTd4!s)M^3HnO3usHL)CoQSn_m`i9PE!Jsw z3E*+2F9ij#8J{Kc%Y{Jvw)dwPKU_k@9Tc6DR`;^tVGo`S`XYBO)Z{*2UIGL0n@)DjS=FW-bhMDx&CN4O*?Wt#zX`RX2E#>oi zWD}~ZfAtJCKT7Aeg?h^s1L_&0{gA%Yh)K?Is3|d&vNp5&M{XkPR9nN9krxL5_l5#? zWQ68PcgES`U#P2PHkjC-9ZiFdyXg4F>ko&Xe| zRfMm@y@D9LNii_2q#$kdanjf{h||!x)d@*H9xazt%+Eu^f@RL+X+W}Wd)FV9wgyuZ zyN|I%gzt!pAQnecv?X(-v`!{l9i&#Wxs+yzOJ*72k}jff0CTHUoaKk~$cI0>?&R?9 zED^j!w<&ftPH#A9PiQQ|SV}5bF_cf3(3duuTV~a$uVX5jN5u=Oiw#Lpw8ilxHW!sJ z8v3oAiLZAClMon!qiHwEz^~yVICMEc(2qBvF@l^#gOuiqQW>M5xwDTHDe*_qj?ax8 z&MQN+s3qr#e@<)O_n7T~X^`CDpx|L2r;!t`zq9y9g9d|pOMcgXd~TLW z_>5tKqIlZ5w^1*d9_FzTL9&Y&8od)i2adQ$isY`k63`kA-R3NRCff-lKzlwNZ^YEC z^IS?knYo&+inzk8K7-%G_0&QoR+DDAU?Opqq;prL>onmvay+7^8Jt4$Of=fevS#K1 z7LmoivDI2dXnhKPjbzL8F7Z>rQk%A{3c%MENG|gnPdE?K9st?x zrlse8gaGaHQcJxa`{+dWzo@@h35+L|u`PoTwt-xO2qzckhv}B1ERHd{A*#T}#DCN; zwHw+g)bpx6?PUNdv#9#zam65zei`YZGLShf;7{75B+0!3u0U4Y`_JCz?fJ#GWFzrA zJv!ujqH0Z-RqAS^P2Z6!)M+_VZ|qTVwmee62$V#9jrXb?J^)eP3+ zL0}1C4@#*{#dX2szPl?*hccQfs{5kZ?3>d=)95KuNNFR?x>T0NKR<=2<{AU`6v)D7 z^h|1r@kOdyq~4J`kumyA)PZ=Kl0=A z%b5y;j{$DS>yJ_*qz*w;rMl6D<(((otPn>$?ZI5)=diLyp&ls#Cxcv5XFF?MCSJa{ zR8x>1B_iB};^hRt9k?#y@|`zp7#HBK*3RD6)>Xr`jwc?$&VA(gU)32*b({%9lZdhLYweGORf;>H zXMHKohVXESRyp;S$Z!^Oeu?dY(SM8~LmdaCKCG-!Sg-Em-=)vr?rUK!u81bVlha!R zOq8}59fc$~keatA4|J?-Dk9>2OI?=Ed9MB1HpCFyTND278wIaK_8R zTLtNp6xC1OY;WyOS$n%bsPcR#$ftJno9Y%_=N(at;aSHgEmwTlB*r}tkXD)YHmXoS zZa>d!_*TZJD=XZcbK!Z1C4NwCkcaKSjp4utb>Nxq>L9a+{4R{}w5si|Rtt@2~EkDO?T5X%^q# zsTS;EoHt}fm6tJ8lekO(WiTmvRvfMax%rrzz-Dsd^M=$y*>rOuq?-_n$mc0G{wC{N zQ&BRr26`??#?+C!i|x%gvDyKxb?<0MV0O(a0+NT1TzLn??P?o&mdE)J+|V`HJhM1@ z*1YXT$PC(4%zlBrk!xoH@!e@d6hh^jcT1<=`OHBy(NF})`G$|fX5hwqTM*p9!)eIH z2TI$HIn~BBe(@2)#m+>_2cjCt0S(Zz$K*{A!VL zz{|)&VFR+S3_itMf}N3oKXv`=Vn%4YDtjSp8z&^YYf3en{kOfpP#zO7AfoH~1=^ky zVp``o|6&Sud$k0g8u4e__uI7{L5uOSxN+pYwVr?S@6g8ndbzr?AL2y8^#Mlni?jaxiimixRINaW7pf)I>p#KM{$)Y4z6Sc*sobLY5DVk^^gI#2nem2< zpvektN0JV{LEMFW?e5SFwbJ8DOoWtY?FQBWJM`J0KN;dWp0Y*g zZI(vDrsTJH^3LSv!_OtJuBDuNp^9R&$v8O9XL+_>D(^(@|9vQ5Y#emxAuyiYmRApU zW>E#ixreyWSVSHOm5>`#yw2cT6p=^;95fgeUjcYd@q^4kCF(@VN;yzvID{V}OR8K+ zIzcb{5p!d4mj)-jYoKz}p%J`{XG_k+kf_y-NlP1^0bx^mJy{*?w~Gq#jyx=(aeLjs zU)=a?BEzVtn`hPnLAD&PNRlG#LHuvJrH^u*2Q80&EDcRePmhriP|Nh)-0PP1!>ohZ zqn1dy&2$uJ!12=}HXwL7JfbMG4vjBu$<}Fk?$;8rQ8tgXn-wN~zSAK3Y^wYdlp;mgBTipF%xp)7=gOAC}5=~x3FvaV? zN$HNsMliIqj*}SK-Vl2&!Lup^;ig~N9GK%oz@nJPlQAgx1upfv6%#A9Q_bOuTu;YpbNF%gqDtbf(ll%1d`#+rDw+->P{c!(%!a>K5@Hb zyomPqueXiVxUJ22krW%FF%ja1^6K!UWF$~c(MNZAzzvey7T7oZlWjZl3-s312`b&u zTdVDb)K+_v!~+pSlLySwGaKVe3plEC+41BIO|WzFuSpE>M@MbsCZn0B76n?ud~&P<-GqCImgP#kzmTu&lXyE6jb zg_6dhaOc;*_;^JS@t46*kYhyw`Ra?m=jmS46CjBoLySD=N$ALI;eTZ6zLtUaJpUly ze|DpIJao;$GP@%@y&enk24$Oq_B_U(?+fRT&CcKhBwIV~3sE2SL4nK<8D+-1ck`jE zMTQ6%<1#CwUg}I%BpJ0Z{1mQ0>M`0U4?(pBb4N0p0Tz%{-!-Z_3~DLd&0G@PHLadG6Tg#U^47qhWjlm z7ts(CvXXApR2xEuCb%&=gON(mnQIUiyFpi^t^{hen`ZFY5&x{r%3Hp8v)!QSPJ1bu zkSE_Jg0>FpyaCB6p4rSDhCcL$5Cl0RIu%PJLrMx?-Mz1rc_4zVh{*pC5-i=v5gniS z?oo_dS^;vInH56I1SQ$}Gg)h-#Wa1wlcVjd;d<0$)9wuH(-zQP(5vIwmd9oEhWb@a zItLkYc13EtEfw@NKVLu=mF$5>5t;xl+VOdm>?kQfL%y|iX0m=`ch7;xMZ-OU{+Z$ql`&8@z{4mT> zJp>G-Wb_uJVyASg7g7V0WK3TvI3%I-VJYdRdFuTBs1ln&=hBl`7HkwMuMs~#+f&9domngthT++fvJwMxTOwbqjgVEsrFNuKhKi>EfAq0cm^#Wa3y zxD-JUC1!^!?iD<9190J;gewQKFOC~nJ@Z|M)46ZpCtMl)y-Ai&7%O6e{W8U_wnk#F z&VhHpYx4!5<)dM#FvHDWC?u8j@kysbaP30EGMAA;cu?y7yEJ#N#Itb>&naLxgdV9E zyGkx+2y6rA{5LExcagAUI$iJjx^=ef4+lJSzZBiDdO%Pn!%!3J;jmiK;(yU4qwr~s zo7rLE)*@m2%6&N`##>M)1FomJAj~v1nwFrEg%@t;5@F>qtXsCKh>ib&Go_E9`YZ=E z(VaYTT>SE2-E>Bzn)>{DjOC2~u$Y=^2K+g29m+H7FqV)nPg_TUZj-JxU{fmR36)A5 zIQ5$;e_Tkd?sS)*anzeo>T2Y%+zCh%ptR#eeO*HD^gEUqL^yIff)}|nI3p7Rh#sS4hvL5D$mOi(Z|pzEt0#P7_ysj(2o&(OrbJb7xh>;fBrF)Lc+Hk?Egvf zp8)M=dwU=>OpwNdMratMNvMT?5-8z%ZNg>_ivoA#f=YELhbKHa4rJC_W5-xa9;!Md zDb6F-$SL0wGoibz7J7p5 zx|PDpj29#hiHOHK;!{UP;8)mFpd^31@UCxEQP4MY9*Cq22tigqwf7+Wu~H@sTp8rL ziS;7#TKKxbv)sAqjU2KlK%`m}yB0byErkn?p2n6q;0kTW?-wijZCDhtBU;<&uJ}m` zzwJdr7s<>${nt@GtX7S3^jQX7Vu)c4s_@vfUPq1CH}A_%Y+}Sgfs9TQ6~6v3*U^k> zc^7Q6<9puLrKE*`xH3Ia3s0?tw}J#m8i~(850Xnn!VFT=#~i%kt;O+a-!H?QaMN}r zt%9*10vR>7|4FQ5occUQiB?r9t6@Ps!;DU(9v-FAZ++)kCI`*HoK6AQ*AqP=B*t=a zBrMvjPwd_RmFxluu6Hzn{un(^U+9*}DMDHOpB)jLR?$?>_vHY41=4CB)I~@BpG`G9rzEJebcHcRMG-Ec&K<+4{z~Cvz=SrVcsv0)P1u~K zq>W}}2al=)jW#TT4dX^dwF?J3ZXzHKW{j;aS7ch8(m#X(P0#&^so(6!VPxR=KW4_J z8?m|1VaL_bk}Pu*kriJaMr&vi$5-#jnIqlRb00SMH6!3Yy1XLyJf0*kSK z3BDbvw~ib5k*^u&-xL^!-H~%61-$|W%_!PHuXvdLiw|Bpn@Rq+n5gjOU-hN;r5uW? zDtj4)ztkhbX&`wKvKiVvEeQ_*`o*E+7sSwq{f@rk)rasq|CBD@evuEzwkfwcSWS-G zr;ZkhVi8=^f9y`C1a4fL@C-sDjue0gAi@;NuMznx-@m&gd~Jx!$vHwKQI~3ehrI)% zqUpl9GmS~YJB|MUzKp|lC-n-NRKdUSJn@=3b5PE)iL`Pcr{FNcDQL0-xe~x?9Dimw z`jzFs)vACuhEz@;e%l}z5N97rzd8Z1c+cxM--)(hgB6JD zUXA@S1?qal3gFcNJ2?{e+9mv%4Ko)k{uPX$GeiiE)M3M7@f=M|?%3U_IRyTSGXhfxxES$7ZuQ;LDiI?b$^ujD zsF*n#K%4-TpFB}Ifa*^oc`sc_n`1tHS%aAJN!nQlODx1@C*p)3@-pRFcS=l4=QTwJ z(=qoKvq1>@ZjdS6=rv*s!@i^8k%rRqW%V%z6&C`vit@&@252tbYC?CJN_MkRbsY{! zmIWZ&A4m?}(|%n@L?vFsiwi<$l4$Ax!hPPMJfw_B0k)I++^ph&^nwY3`$-2&cO=n= z69*#VYlBY*K(cu(?#i(Rtua{bOah-*C|EpQJ%v^mkO!{bJq3gu^9d}{L~-P<_;?Ai z562~>59iMnYjQj%pO54|$Qj|8&ZXNKkB3CfpERZbj4rLpX zGMa2I;S)m#=ui_Thj8v9qmgLsG{hR2#@=PV;^1v%`$#JNq}PC!e{gTbE#Uz2_r@hh z;hClwoYKqlkV4O18xVz!J9Op^yk!qr;gLKwB>Z6*aCns?CRIWApM+tIr9H4|HiDNX z{%~~ZbdEn3=k57~A`$6@d3JFCSBJHTvsMvhxMjsTuexi8dV$F?CchbXImu0>{?nTX zCHpaj*S9x1CUw>Y0047m_y7ZgQ+fKh=5SU?6-vMof6d5aA_6JA0vGpq6U1$CLIWTQ zy+|Bp5ZRP_>KCmZ0jV(c+rE~ZtRpvEF6sL9z!w-sMNEvIo-=X^;jx@5a#Inwv56{8 zc%+hoRh^{^3xn*!|epV?*`|_)yP_|=AwTp}LIys{j)SmxgNsjf=`@U}7 z4Tndc(F%mU!!tORlO7x*=D&9F>Kvw@57XsbG>fY2X8x{e)kl4ZemBNG42>fYs~NH* zUyK+;l8zh*R8imbBhxpLSnRoD^_rjo&_I}}JHL^%7~y!aptF4_0CeAA=!7gfnXOEt z$L6jiXp}>NBU8QUH2%|;iQfuyB8kLcVz2o=lEXN&i>3o2M z$s0}y&uCuHNMC9q3ZFeRv_(RnnjIB$M16PdNxQ;0gPPWdZYL1-f%L_ZfOzM5 z5ZN@y+>tf48NJj=2Z1e+gPO%iD5>$!}Vs15feY|hfGkQ%zG zB<}}u4XGUMwWl1JToS1sa1StgJ{pWHb7pLc5YD+~!jsYZ6IxLNDQNsH}5378xs&qGcc5soyDw=iL3W z7dgl^nKRae4UQ`;CD;%T&l(%2QSsJ!5J#!JRBZ(rU_%W^ zaqX#T>E#+B4$?Rp2Bi(yjnE9TQA?eMW`J)J5^!;A0LUw*yN~agYQJdR*-wFIhmjoi z?$&1?{}SXR-|c*d0R*L0{y75ijAV)_2Tjzoc=@S69+p2J@g}*P35i*2Yd8f@rJG}WsE4+C(G`y`3q*ePf zydn_Oye8VvJ2H_3Pum@z@o*ILO#nYeI0n7RqL9b}H#MsW{2E6>f$d5vL!oifKmG-H zSp?_`mnN#ZsDdD^uSiqMrSv0hhUEg7Cd*V2=J&cIn0kMg&DMb#45E!j24s6M(z)&u zB|!CLc0kO|U6J0Eiq5Ge8&}+-`h+>UwXVOQ9@u7q5Lm@2NUkFPS!!KgPsh}=(sbLt zB3UX8b?+zBJS6(fI=(ch%Yuw*N%~yRcoXqu@0>e1g8d7hw1MaLpQu~Mr_2iIztGu# zf@lAys2k(|HR@)8^}j~l{_V@o#LCLZ#AeK4#>~oQY-DO^%FfQt#Kg|Zapu|37R}N-QR)l4cazlSU1SKZH#*oI{gwa`4w+T*eGU;!7mL zaPDRn;@unZF8({_8}x4dRdtu+GYVx##|PYik(}QZb#+z$R^4rOQ4gcOPwVG+ufL~} z8{a+lo(P_vQ*ZK`P*oqe{uWvZ_+-c)L48MLx#bB|rsm)WWbnY~O`1}`-=^Y}nJ zJO;FA^(alXjB`F_K>m7J&q;iGef`X|O`@u$;hY+~C?9M2JB#*8rX(X%>dNcp%nky^ zrLPQz4g}a~2gpv#?BEstY(D(l zJiMO%&l~I(+bgM6b9-iJ%6z(LoMup!YL^9G02e?H7Z?8*9xq&8eomgw55(8(!{o_T zaWu5^*Kj8%gE{zFI(fKyIr!P>_2t)fcyw`NCxE8_xQl;COZ!X?6?1cq$zdFMM4O&lALDziX3FeDPc?yl86~F5 zh|J%YYn;sb*MTdS2WLPleU<|*F8s6h*?{^fFZC?+>g)Vp*vzlCyxJzwt^JRJj!7z+TU9OA->-Vmfvuni9MJb7-k~)#4t=%Q z_ewhSk8X;)+Xg*d-PCW_)K%GDSM5}1XZ4dOrurtLUQBjV&95AGskjU~6gciCp16Qsn>a7_89 zPd)E=!zh|3ih6=MJ0W^FxcEA`dSvu)bn$fZdbqZ>xQFZ0_;da;a&&ZcaWf+}XRf_d zZN8(Ms~46|et+@R#nIDM`gKr6iDLHmw!9!&ot}9*x%f+`ybo0F_`Ti0S(~~D4Sm~c zW#Q)Jwq}=1`CeoJZy?Q@I;IP13&0EJqG_~+4ho7GVU-Qj$_gxn09Q1dpD&MHo#HS_ z%E{~HAi8^ZYt_O1Bd7cJc1Z{5o3>q4Skk~-My=WM{-6iI8~ z!8Y=S!-}p?4L@hs&}uDY?2Sw;Mctn^R^(qj zZ|v;tx1EZsgH_%%)nuF7EgAO?#cXP56HvBpaL-|bJ+oPty?;i9)UhpOH>{bA&`4fu zn@ly&Dm)PkKBrS`{NCZ(JoUA<=}=e_Pf0U^ish7 zY6&U_!D$WyQ;4nxc?St5m)7-X$1nu>CRYM3HaSKZBoD0yxy?a6f|{{lQ~c(8Qh+N= zq^m7^Yi#%u^H(r7pJnPYG7JI4g9;)i@b%~*H}DsxcF{}MHoGwjcKZa^J^2jgN=P$j z_y!mG^aX*7SL0EenlYYgRU_a43elHCbA5wC2dKaIY1W)F1RvASEb9-A=3^BB;7p)` ztOKI)s+4-lT2Zi`0sM7PQAK#TPPZJ3(@F;^(S50nBWy}UBNim6<6aOLtj4U@k08@f z+L8Gljl{f;d;Q_q!`@gWk=nk@y3z=ZkNJdSWl!T0%rk8#lN8t>lMHiJ+ZlQ;F=g@8 zrE5YwFO;4|<1neD|Lt5Qhr4dF6kj8yfD7X{T%-9>H# zRilol!A3HgEvX(6&0NHhw&5M9f&81PJAX{jwU2qvw0F)4)v0&L0%IGvz)nK@x3aX9 z@!2X>2q1VUnlOCSo`$N@L5$hW*^b<{Zp>$AQi6E_vMyGQ_^)?_q13nS?bLqMpla}2@% zH=J<;Gigh2fV5$B*(ItM`n5oHq)H=g0R`(4?jMLX4bNMdxQ*%Bg)35do;rcO=H;l3 z&;@IkSuO_u;T5UPJkJoi@OFB;rY%@dI1=_ASG;DwHq;eak9HD0Z%~Y;tcRM}ec=UK zDX0OnE|bD7m%s%pY>j@Y$Od?Vje&RT+X9Q{*H?MZfV(}wG1y%*`{kYilEsOEf#s!2 zYo&qzG>-j`1AvDB*a4W5s-#KdCx^VtRlWl3H>b{kf$r}VEWh1G6ax`tQti~jDroh+ z`E~T2h8b9$SHm6nXZY}n5>yhU^&V8hl9LJF@6HfZfHqb{uBm|BBNEtpQa?aMzBi4Y zNz<%C2S8NVo)0d}cVbMt@}@f-VZ;b`)|RrDKW%ufwxA6(<~0Qj+7@CRa8-0V`1NOt zT+MCxFJlgxYYoTT4HY3g5_K~XKg6Tx=ZlsMcqgse-vhU$%M;9`enC5%jul*f4z8lQ za$xho2wbOSh)rVUt{Szbg!MTHzAY%JUtn?&+F{(^6_!c@!=p z*~iU<3gqU~^YpTz+u2)`M@%-rcUw5LLwvns>m39Bjwb_*R*xF#9S}?PLcg?w?6zq}A12i(Kr-iLUFi^sk0WnsjC=Fl; z6eckCT+u|uT=vdF3r;~Kc6b;l5T6U;wV^DbrNP-!yzf1R3L3lH%~$~m_d42i_M-$~ zvlX_X=Ci%7EqHfgPO47##vN?e$^HBeXJ~Zajoc{N9^n`l!%6)jN5lIj8=b+WcSyi% zn88u>*@G3nVS8vqoZxVKW&2Lp98))s3=(%ZLV%xf?JRVT>cnoZrn2_sRUqnUZ9(nh zJnT(!MH=gDTwPv=K9f8O^9|TdZQ?D0n8KdNZ3^NDwaRfn6E~#OfzCpw+q?F8xp9e- zzZh#aZqj~m_q~7x0;6dadhB}z-3wDY`X5OTZP*JEQ%QG#)j7#-9jBS&C~Rh3oYYgR zNoxhmf=)&{Y=_8a#FR(_(}feOsC>y^@<0=Jr2#jY{;s*^I*9n_q+HbCeay+{3Lr^C zFc=>gjtx{G7E^2UuT`MMhp<}M=C)we1f8ORbdgVW+?D2JUFCC($E>iv`Y(@4U<=D1 zNeIk#q+Rv{m?8#Pn;vCe5rQ6N@@D|rf-MbVpQt7g>`ZLaacc`+dj(jS^bs_d8;AWK zs*sEfh$`{JL65O08X)rFhlugM(LNwBA`IDtL_h=nqIpm-6pjy!&9fcH!0Z1)sr)pj zzfyrWxk>oY9PMb>%80uW>cQ(o4`yEpDzjMzT5tv>&vh$p{JjJAWNb4xz%lVg$ZF?m zL8{UF(kZOz`6-gS*S`tWEE$uCRIt?!bp!G47q&CFn4suylG{!}h=hyFV0D5)r`M(hW$lIwjt`W9;=d6KNfcKYd>cSL{S3VXTXk;O1S1Y4N%tY0R>T-(j!2zcvK%i@;WiHRQzWv&PTY1oG zEt|atAy4nP!?zM-ko3*cvR8W6)2ydE2CfXK&RgFqJz_=MlCxH+odxDv!$)jpdGhH| zdK2-+xPd1pd4wlMnPK1*Rii?v7AQFZ{;#KrvJXKU@REpjZ+x|4vslKJHZ`*~J=IT{ zeyn16)&LYjLB{Hs(GB?ThG%Km4>dqe$)vmbLW^O4m?F>40#-(=`Fo6h0W#1_#C2yJ zm?BrTi_3@vf^YY)YVLAwe%f(!fZAoO2Td+VcM+cFS{Gj6S{1`}WzTZg>!iibts>!S znH*jVLB_FJ*7yx^%_(8OOmx>yJIwk=#2>ASGJ*}pPzGSzOPOMVDufSGb?enw*uXFm zbk11DT5m;CcC;6TO_R_d5A4A>*&<$p?onxKPvSCZ(r~ z#l%b{dDr!4{g8juTv?W9JaP)Mpsam3qAB%8EbE8o3@`gZ`gXbvgFmiR-#U@v@r7#- zz+4SLdI$_x5-r-E)oa2O-9CwbP>MwtBA#qWQ=|(2Zs)2TxO)LQHi-+I*PCmgvapLW zAh(ZfBPSkF-Xe8d9k#*LA7L;_CAsR*mvRa;{250B#b{aTgiDm`LTxtL`EqGj+~J~k?W|dIRl8D#2Df(D&wZff1ys2xYR8m`E?C-Q(l7{ZZQiMOfJCfM z;E`lJs1d2e)SWb#XIudqlth2o`xpX`K@@BqT~Y*wL>3Y(xP`4T-D4`ri|jWA`c`DX zf-~ooD2*VR+fFc~(h7)p-ma$6-V2V(U#=oQW>-Jk2H|QP)I$=ip5ZC9$42?UL?~V& z1g+QS7Gp_JWQ$K445t}&6B{8kh+7y|Ya250Ck7C0H5s4#UKwn)wMKu7+8*Lu2+vL9 z^Q9HhE06cs7(e7@;dE}LG&c@VjRbO-LO&69AG<2fF)C}owQ)Ypo8o-(2vojU8q~$o zHw9Rhx_^B0&j!TBOYo<{nEH2pAW9Ao-5*@Pyw1C&HShXzK#K-KBeS^#>cj$78NLAQ z2QJlJz(}g2MNjy8%Zj?-sP#>F7U2A3)7<%u zk;F;p76(gNTZ8QgzZRM!lW783=T55dd230&z%`fOXy#9sDjaYH0_f1%`b75OrRr>7 z9|)sejOPDby5hbd3T!t{G(QWwH6h_iIi*Y-%r6^t5k*(abVy;FPG{WM11AzClh=L> zs$<4^)!Yx~b|_56Z2Xb17i&tJB_z9&umV8$uy2O)bd~F~Z#vZ_dsQp1j=JQi&FIy> zYyw!dh1BmXB;tlqns8ukBZw`vloy1{R%Q}$pM_}4kXni?56^W9%BjaaqUYYij-L2C z?nJp{$(D1rT-EZFcg+X8+~;7>fsTM{O@jBZ{o<&k6T3`Ce{h&DMr%Xc7|q*jz%2b0 zD?e^jwn!N1{7!*dv#zLH2A_g047J7>cFs1S8g7!gXDSi@rpL`zXtV zvQSl@xG1HXq|fe<5F9(fG|Ea_&u}d|=7nvYsYFTXDIVQn^)L47ZS9NhCGI=8RG_^u|w}3Kx-k1pBBBhRNe57>Erv z4vFPl2>jMEby2J~ZaH%uilLM#nGWMX$ilnxH?4|j0U?F!(5{37RcK1Gp$G5Y7h~_I zJ57R==0;D(Huq+++SZS^+QPY$vRsM>M)0OE&hrdQJl2zNrM5*vdm~@=SfUV-c{>Bh z0FkEuIs#~k0xD$zF`o7{q@WEXW14qH?KqZ@h%}=NG<#%utIQo!C*H%wO5XnpITRyl z=T*dyE%N5M?R#w2e0%%1-;{R)!owY5(zpW?vOam*lzO1Q_ZRwRoF_yNCJaud6HaWs zwl~r62}wB`3kjm7dJNVF&3+M8On(kKo~i_TPE@7hi!h+Pq(UBV<~c-V()B^YvdgPM z{PLpB*}@4jPD_U$Cp%Ow#1weA+iV1}%`Ol#&2pR^PelLT@aT#6^2SD-<)#(tx?M#{ z4hPt_^wQs$$T}RBqFNTxE#G=scsZ_^g2AC`ft7R)(}-OWMC#(xGNHZoV0Y{L`x_gI zGa}hScro``A}vEpR8gQyv+&ieB~KU)k+(B@$Iev=bay`gh4(N-0+6zc`(M8(DV84C}9z-CP_T4$Qd}I_!>g~xCcIXhax^U z+X=uS3CcDU5vfOi0V|aOW248sFik{lV#u`Cacez32e`?#o^ZwZzP?`GCOOhQnWC6I z=?E|%qyCNGXxVq#-b9e4SO~m5^TUhwo@7Ef*GI}Rf zVsFG+rvMIEs(k!F{&N&TIHWuNIj|8haM{>-o0>d2d0TWf$bvKPnre_ zUrAvh<)c}*)#I`+fi1ZiUgNfwbje%nk4L<-H#LYNi)0Z_A87Mwr5-dB&C2y$ zM_c8=Dtlic5#ibNmM}=zAHgZf`_}6uH|i`iw^|C+b#cI6jv{eboqrleioMSY0b*0S zARr#AfvCudz1-oDkSLDe2WGdb2&f`?^rY(m@+7*}G_p7?1iPI3z-)^F zP?{Q%sIRaM^(kD9NFgcoZne>o2fCFb@)nojv3N=xQi-|p1gtm$Le*L(DhN{%1@@sr zWI1Nei4|um2Sn^z(hD}hT##_trtQ?+ZTOyZ!82jwG|u5lXMC^)MMOyeid1eXe8x83 z1CcdL1m&T#fxe2|J=KMf#Qa47p1{4prV*i?mWJD3COgK2LnX|A)T#1e^7QU{9Yx=^V%vRoqzMiR;|o7uvI4=I z%7iEUz$O|H-<#*1Ueqf1d2odS{KDj*=_b$~g_L;oJ2gal9#@JAQ%1h%B8!RF1JX#8 z?n+5n)!JSck`4bZC38_dv!lUXqWmzj8dEM<b@)%s^29NYukW>U~{M`_@w0LRql#f@

Ps%&x`UGSM&gHB*qwy6C#Qg%9*pg=r8DGB&ild5Q}D1qzt=YqPUCkC$aBAd;XHo% z6Xst6UQN!J^gP!27g88OA^ecQn*umL4WoS8;feX1&n%|eH_aJ>6iGN6AA=I1h97-B zK1kl1@t?bJH}v$Gk2$@>BTH>RV#U1s=Wg`5rm+~4u19&U?7_}v`J)Yw8;1oVg$`F^ zf}@6IhlXb0e&sy$9YSf&Ab4%||ZkRAV>JpAx0*B*)p%CNj zQ1_xB)SY;!?qY6$CgJJ5LL~3Xcw!S}R&roJYX-}K&GGGR$a{zwUN$!z&5Y&G!jMt# z#IZ#7;_l@XZkX{uyPPooIH(y!UWP5-BDi;AWDZPtsf`YJk48kij#m3&$Gu_dOafpRgETzqw$9X_rj5j666PC$vjyV{ynsGplVQr`90-mQ#hkgI9qCaHi^X2()Sn2m}T>Up_4550X*>I+M)!3<<_=H zLh~Xxbn-Kpyp~Yo!1L3UK=)Hdy-65wZ`Xeu&CX?NB`SrA%<+JY_}Ieum)}r<-{%Sy zqS%eZcR%psK!eTxW2rH;DZShNGq?U@aQ&YwH6!EyBTCg7@qe|{{_V?Y#L32D$j-pb z!D`0FYGi7}&S}EL&SLb>R%2sjVr5}BW@j>D_^)+;&WJI$9)Po2S9aLrsJHgKqXI$$ zs#3Nz-C#&uG&R-2B1xdS2^e*adUWB(V$-;8=9HRn9}K=BJi>Z4`<%?p%+iTXxoEbK z!$j`pb2*=`VWC)2yXE`5pVRqmBXjHAM9RfIIe$lr@a}x1<=NWU+WwK=_toD`{#}m^ zw0V4+K7GJ{eW_obwA7M$PDIt0b)r2>$yB+J-?-{ZP_$yNx?7UyM|!m)XlO-A#XIY& zeL5;iC#)0GitSZM%{V-K;+yX+6yr=tFDp?1_?LxZ-^Z()tskV)nxvo|`!LWv$>bho z(zK#b$d{3MQ;8W#7+O9v7&=-oB8)*hEOVFY=KHnSg=_eMweHdnLLH?-wZ^`y2h2~3$k5rL;3Sf!>t^Zr9bE*D1!<2M-F`#Ugo zcmaQnJ{(+LpFb+$^!FinANt%KS~)oQHn|hd)zi=E>*I|cB3%RGH+&9-GqnoSq?1$DYKb8Ts(_8-=^of6R;Irq-=)qLzCdNiOg1mUnZ@ z=k?x0T~GH8%jpH}(7C`nSUN+BnO%-V3Wt9Gv{$IRd$u5)R_Vvlij8Mx{jApghLZaD zjs!*@m1z*g*;hWU?q zKxwN~n#*hHwjsj>I&j17BAoFDhS>r3jm$riE%tu(;CARZ6`L@1XU^+4s>!1=Y0sWo zmYTNMaev-KVUsQ3_<6YYy7@Y#;9l$E>cGmyuL{hSGj~Z83Oz|%(~3hzl2=}xJMG3{ zu9hIz0w6urf&sxfj#jUt*(WJueC}2g&!c6#t(=X6U4ZSX?ovqdCO$&)MJ1KWm@`QN z8WT|~*A89ueH~)9ZyQDa+2a?L4cD>kZ3>|i1EWkujMOxxU3uX*$M1K-<5O)Fs`N548?7+B#)XV~0=}#$bKH%!K znJ~C^gOMVbUuHCP{-g@c1c^8FK};pH)u~Hw;NwJF9SGE;Z!n?Vp{xGvA?;+Bqs-oy zkk`?J!J*_*K0^aWo?vn~?wj(|)5~2)^%!-Spp76AfecojhNF>15LtN{p}NA%y* zRuaxnsYH?hP+}|voTjQ;h#SPaE_@TUXmm~;4n;?sAN{SU&`#u>iyZY)xqs8ln(|c>7)Voe}sLkiyTYR=bjCd zo45ZF7tSl}+ONn}1RGDUd;72khW6VaAduiIn8G6Fw{4*?bdc^s0eEPsQ9!+j* zcAf_X(mNb?8YZ3=*DXsR1#bg|r8L(JB|pmeGlRa;hnsMJ~0QXmyIR0-aAn z$gOt)cO3r`#R)|7EoD~+S7$SFV<_Zw|3g?^F=)-5ko0^G>FILdeaXy<2LBFu4W}dA zv0ez-TYw5_EgB?4B3QA=<(X(1YG{G}TVZiKpLmWCQKbbv~kmgh;&7njO>K{=F9fB ziNDGa_EPFv(Lv@(BKNGpty=+<@rT!Wm#VqEXr02l>o!NBn6QU0n62pEa=jajRSA|xd^JyEiohte>OxpsWFsR^if)v?-no}xn z2fE&vSBKmV0{-1ZQb(?L=AxQ)waeJ#0}+)f#j|bpEa!{$xUP0eDlv_CoCsbnzZm7%30Kq?wKyS#>fuFg6_vn{xOceEyoy{K zmT^tNY-~jNo9a5W*D zpY=QNEHcjp^jrIs8)GhpJrgk*F&Tw~%SMj>+@3d^_(o82U);I|=F!_vbGKcc{)XWl z*%cc(2zSvRkfiD8kwr`xtKSoHld08bGlw3(h@h|G<4d>ZD zeBxAHT(0B_weiCp%@j}YB}cjL@W}6LaR=dv&v27m9$OzDl$tmhJc2H29<6XEaL1_X zLhTvJC>?YY2WXa!uQFkh)*kaOoqF+WkJ+?<*RD}dYzI48#anocCh=bhlbmKE7<3Ny z8aTatr}h~+1gPE?vuLy_E2Jk|*)>xt7y`%>IiOv)2U_vb?0!hzZwIIQ6?9m4?XAVOmbT{F$TUe_t~r1;6Yp88 zIz_K_QA`fVB6Ui!!VK~uf@NOfr$x!#fqalhm?IE$-I&L9eq7~X9jthsUKn8`IPDqf z4G=R#lOzMC#)%V5J+{4<7H^G3aa-`tVJiyZ!nS*pn%wnepiLl}2TV4ej{1e5itnTs z_=%E)P2_*&hwfK=@-Se2evtuJrY|15Z0sau?t1u}9=turK0AQ6R&%tRU@W;3{RJ-4 z9JQ0vIjW2Lt7)hCo?)4gi_(&*xav8LIW-)o!!O;g;0)xbm$=ebK||d&zKho@bUr19 z0}oHfWh-x`x+s}x6uOG7$;+5VW6^Jtb$SI7Vb5-KQO+n!^jz?Cn=)n-_7+Iixy7BX z;#kovU49T4Z{j`bPRm4lulai62;?SIxqC=K22o83)_%N}k=t>=?7Q9$d*x(m>2Ym8 zGa=Y|Ofl(+@8|L%Q+QGBdinp&UMKb8H8+7>n-$q+fv9{FLH=1gxBXU zvh0vdP!yg;x4qo%EANHQJ6+?2?-pW56Eh3lrX-n(OfRI4}~w7y=mJ>Tfo-y zXjnhck&XXS&Yl9?hXYhxfmWIc*6~7f=9XfYgk1!O;<#&l|Fbt3FK*8AQLdNExROrI zJ(;j;lxM=s{XOKe=Zsxubv<$108*97mX)S{5>I02Kr8L8_cDu1Ag%Cu8Fy#*OvwQ< zXCtjsz#Caj)-kdM!wN~~3uB`a>GDl3Cr%90KXbr*X|T8cP`6#9|Ng6j_VjZa>`l_K zSAed9=>#N`E-~Qjz&>6(aqtK+<_LFbys;tuj}W%V*?KUO*>>%QZnp!G0N18vGH1s_ z8)-VPLmj!2U{_JAP{49DSw#D66TbpBv;4izznxexQUH46uoGjGH8lVQ2So@JQEi|*X-ypBHLyQ?d*ESU6Pb94!tIkfI`5s`U(@L;B?Pv13qRLx;SQzn^5+s8)kF`AC`1=Af#mx9(di!bGiyg zuTHF9k?1SprkZ6AtZ#?xs{I5eBgoTe+Zx@i?7M!HgtS+2`r(^=L*F9a{|mr zgV;1Pp2qT}HH?5{oZUGx=-TwRyArMZa=~S6SGD(`X|Sm?w~Vw7qRl4^yKR{!Qu1hJ zWv8K74R8;8xus2!LdV<~U!XolGx>A0*OYk|5*JCX2pHGG+T}j%rrRkHdKhG|lS@X= zvG`VGAeD%jDVPU((2Ie)9;$|I;9sZNh}%0{7${0ZmMi)l0?9o;Frn|^xErh9rv24S zB$l=k{S`ohr)WA9BI+#AG#>X=D1-1G=&BILF;<%OP6~suQSu>sMHe9MuFoMfg^MvG zT+hAtP7x9NwRv%ztcayE!0j#Qx|M-k9e9>?lWp0Yt}Qf%1OpxkFX2H((v=emC`PN{ zJB8S`&8;!_nDtic^mq37_DCUv>=XYrlJw5EMK}KCzG~EMHhD&Cpxa+TM0*#XbhL?z zO6*^SLM_qyd zfB+!&Zk72r#Qp!DeAxe{0vR&@8>?nzWo9sCVP!TmW@F`GHf1q2VrBg|S#8Y5%*xEc z$YK27J4Etf4IVuJb2Yz}wk44I`#qy7OO(>=V;K@`BARt@2@@1RAwkQWD3h3sEp4n5 zS@mWiu5EUQcZjc|yA^?K$j2@a z_j$bjk?K*-oHC`Fi#E&>Ib?}cF-u9<$h^&nj2cbYKzL@9bhscz7{~G{m34X1ssNdH zb}V-awr{5zmvWpkb8ZPlYpAMo z<{GFdcyM!Z^pCd!P7fz1?}dNZ*Wp{q@1OsOKmI)k;D=uaMgC46u3irR#2>mjem%U< zL!{F{T!A0(GTcUICsHF*(dWY6-0RS8me1ZkoWGZK{QZw`GMD&^c* zO~IO4?&jXz-JQK%-$g|Aba1)cU?8`{YtzLhA98}}*Jl@Y6W!fQj;Pjfo(7HeZ;VUzGS8|izn{%C9} z_o2gpW#&{37Q~v`$H&3f$$bX5gMSzQOl~4VNEL^i#2b9BPTPswJmLG@?}K%pdH-Iw zlVD$bhtU;&t8GwNv{%>4!_)OQ|IWF++TYGUekUSeV>e<&S`-y+0|Hs5Q5&o9V31Z~ zZH&r*{d2Fxg7+9rFV5OrkIws)R+Dh9z?dBw1-A;RgZI zYaQ9s3b`+0`E6T<9xjWRqCyiDmzID!^`>8>?y2L@j3F_HS;c5@z2)xtJl^?Ma`wu~`tz5kX`8 zrdCd0f4gn!PPN&piU<5As#jphS!BW^F zj$-+(K%Q`gs~}%mhA4X=Jjo{#Q|QEzA4CH}gEpC#9sL07RZNP)?jMw;h%;faoQT^Y z-tPWt8KrUUbc&ZrLi+|+Qiu0fOJpUIwMzudgzyk&!c2KL?8as4{wZOg!wrBJz5EPI zlvDPdPqc=}XqH$lgAG!QiHI014t5!1*S|TSf)U+W$*Lno-jz9+je9!i6YSU4H zgF=@oI$mGj>)56nKtZt7?R*IGzI?1IJGpsx0#M|IuB+A&5dMjWQ0ZR@9p~lzd@KC@ z`TOKlrA$=wJ(A|SbM}k-cc@{TFT`!B833$Xe>?_o$3RWV*VQh^QftvP5|ZK+#h6a` zz%B(I-M(yh;$5_8VVd)0-Qa#zytp&Z-&BmG#+Zj*8D3R7PO&k;3ZTcpYRt6@_Y!88 zwe>aV6PwYsnh?q=3PmK4iR5W?>(Yd$En8d8;{WgUK8paAhpU` z1xDfb@PVL!OEp?AcP1K?D)32MuD>1nj;2JCUv;9l2|k=c~Qfc{xxe90jN| zj@HFMW<`ADIALj?>RCua8QpcesZ&^we00R9N~S-BESDh0$Ry1cTl+((>@!HRbg7EM zH=`rk@rAg}n-V7!t{8t9>=KPh?xRmRIkO4(3&@-cf~Jo3Hcp~qAueh|fMKClzp^h^GJX%M8`mP|Zl$7g=@0`lNFVR`C{Jc|%jI?|T z6xx|&t+MIYnoC7ncw0*7={*iG-9xZNUbM>sw#O(GrbL{|wBV?+wHNGJ<5ytFG1N7M zKAt9)5X-gp(U|)*j6;&fl^5sHh2jzi?F>>6NyP-yvsmgBleTXq>xD7^3naB z(3P@G8=u0YqnxOrg3>HP`L9Tz$=s)>J{h{*_VpY8#$^p~59(E7a~Pd!)5{;SRStWQ zp;wCKs}=JsGU(BbGi)e}&nsGkDYMW)A`RBH73JZRJU(pf7)<7sVK9kYGt0}QWMp>S z;k}U$HqDVNxB81<>3h$);u4>v3*T09Ocu2ObV%pSDl|!3FRlY>O@;h8zguV!hB1ESktjP>GdfK4hS{tIx=lkz2JmB+h-(2Oym?kh)^fFm*En~bHhy2gWDHFN`)`ew`V-_ne=hlYsJj7 z1GFpQa(;1+0vC*G4}V}-cn@H$%2g|Z1{ZzzktFUXx?fP%E@s0ra*15whs*)_{O(bJ zO~pG-U}!CK;6ZKbf}z$4oC>WWnPN>0s; zlmSUO34=vO&A6&CQ4Hw{Ztw@C+`zmJ(CVON|DsFPWHN{A2aS|R5PpUU8vyUkqdxz;zty6!`PVu<8BCe2~j`?_$k1DG)%4;3W!V!7- z+%QPuPy}3A7_Y)9=c(?g`=gFmUD>xBOfqaJe*`!O7mh* zvixw1j@SSV_vuIm!IwZ{k<2(H|06G+iW+a&%etask(5A^Mi1DbpUX8AwU)zf#w3I< zRd%pkO{^TFl_4BBApBgwIBPO+>71rwcTC4fR^Dgif*dX9kfy*C!J9djEIrfUne^c6 zh1e_!F?N1%WJ}ZD8oCf|cL>iX9nQ7=tp-^;v-T!^H{H9w%jFuMIbCJ196}KK)ZmS- z@h+OM&%tEu8s;t55jD;cO9>`ZTe9i-|55kWL3J+4`#A3I8VK(08a%iMLa+lI+}+(J zxVyW%6Wm>b1`8V8{R?;H?q~Pz-Tm!GdLQlyUO#Q^SC=lAuqbGStiFjrA%wdwwJ+yDrtS#e7(i5n-P9^Blg~W zArz;0C3=(TGoX~uCsP2>jvteA*VT#9gK7fmm*+`XNBmA?Zi3TurCSYF!Xp;W-?z0i zCPsHyXV4}f?i={LUpD|dDV#I?KWHs}(@~n8T>82WRH2ia*Y=Zu@gd$`%Y+yo=qXN{ zF=cb3-Bg^^ry_GFVH{(6f-FBY+Myj}iDP9Yha3DtzYC4VN%GzUX$}~Q zGM2h#5h_Jkf5ehVogK;!{4MarC#8&AzuOC6_87G{Tx&M?^hyok)q2MsA#|iwWOb!03(t!pW+vNTO`$jjLG)1x|v4pdmX(#gK5i zjjsBR>>4#D(zXqZ@Yfi$nsYO^{~%K0-p^!c)J@Um(&K#<_7+H2`8_^cO!=0H)>Zn; z3VWuS{rJKKj?_<9(;yRI%5<_*lHFCLM|D8S6Q397pOTflcLb!NlUkN|)Q&yJEGltA z-%rm(nzEjTovcFDruPk+k2m~Bub`|57Z8V4dZm^lZL-$Cf>Ff~36UP054x#lO^fB0 z&A<}&>ur9>qB-0w67%`U-wolIRH5*el% zy}<_;!tO`$-B-inqwFsK4DZ;W6D$#$dn!?DR|Tu>u9ZfH!~OBn!~ohO1SiJt$C8B1 zo5?Q1z+7{aLAXnoybA!*+7!m?C4^+a$J$|;7iekB594nUV;_~aW!`H{_!bxbZ}kXz z|6@G@1=62KqI!%#Rt^9&kQo3p)Z=1(eX*Alz{$;|4`Aak(0i>*VCB}+<1%D1_>c7n z6iAC_&Y<-g0IOv#wDyTROwmx1@$xMS3-DjfhkY%@waig@K1b$_>U4E=q615VG4e67 zJ4iP_PR63*sD`9g`_cu;8a^T!1zNoe5*f=iV33p3?&N=7hPS!AA>E)9!ufI4N1;RD zAuoTe{i_|tXy~3A@g$*nFO4vCVSutw;`XB5nP`Wm9iH4Ng}z6oY-XDwp4O)_Oocj{ zJnT`i;2_;uilaNR`lBj}p$pzPXEPdr!GNGmN~yZLH;i&LKq8e(p?EM+>cb-q`jD^J zqq_&K=cj5ZAekk{1=VFAaIch0Sy<1|HHKc5c!w-dJTn$bIoF3vo>*-MfYymlBkD%; zP9AZzR@_jC;of0qRP)Z=7@B$^OBo$ENx&5s2~wArr|BQ^J5MG;LX6 znxK#aOcS2$I0KX3t*1M8hDYG@raNEjJK4g`$1PEWzAve_ThKO}ToXD9}0hF&_Z7Vnj3E!-XoyH#jI? zleq(R#xMB!DY)-Pk1d%AL(cXwl8?UE&W04GMe+TvIMBrqpVI^*;DWPV_MNz!TNvBt zkPIp1QO58(SSCl@if(t&NLlQOoH_gRU*HqV%ei-;BR;BmPKD>vp7UpI>J@RjgvUom zchRFPHqpC>tlm`P4{ip>&(F`+Uz6fI8SIfYF2fdoK?xS)W2N(UBnGpuf|r7oPE-0s z#k^icb5JU?eg01SLmD`v_lJ`6%a9e}T6Io^kGFJGA^Ja+4SX0_nu;j<@i@N9yu%}l zLi`9r2fg{_{-*15NsUAIx6Z8KIy)P9-nJ3_{G=$XUy|7!x1svUFf=*^L;B`2sg^qu z=D3C=DZ=I~zdpeY!gLwZ+$8$<8GL05UNldbIFvBoqOvd;_txaP(&l3jL1;KM(i3UL zvPqjV@PXkdcEAkTf*nfEQfcBiJRqK08>kIp@-9(&1oS>>|~| zu(1K**9_M50f%LDu;plEOD;i7s+>Qxs3WVBEG6?ZF=kG-uZ|v^K#GKEybUYy_{$L< zLhm=5lRPKaET1QUy+B)gn#;_{)LwsTM5Q=PKKiO7`{P_{xMA#>acEE>UBAnYN89zd zfVNKLxS_>Z?9{1<+j7v^c5?O1qP1fwpHRYmMnVL zxz@`p+yWk7AG&#S--i!^c z@O5?v-|me8Bl0{L--M0cOdVW&|G^Iz^Jghf8S&ZJbz;7ODv04c?59=Dy97CoWr%@1 zVrqqjhzik%dmpxGtb#ZPTY>JXXZ^;xuH@lV4!*5PJsAj*drW1^OeVnR5{{n~vS^`% ztvk#j{Cj#GssT-x{sPAnDZ~@dnzldbqla8^Ye>nW3H=PlR(wJcZ2UH9`rSPJ>pC2$ zcC`Y}qR}1tGz7##5D)@BHEW3IdPhL4MEV73A|`!mjr+C1$D1`ar3hj&*epk8(LK1I zi{V7PpTxo#n;hLwvAEfbK$+_1hSq&x)1s9G;>QG=q@&5Np{(E*S>z75?REP1Tpt*sD4_Q&hrJ1SO#y_mT$3Hx;BsWdzWP`Buk42FQTbl7>`LfbQmQzX5CW>l#2l609VAz6zf=<860Xb?o3UY7@7WTO=LpjP6_$On04b`|pVmkLP-Wkc)N2S69c~lS?_kl9msn3#= ze-o&|aoRZ!!CfCnhk2)qBG8%eT|;78O*4~8jDSS88;ynZ;*rvn7lx>xL;fhbCyWS@WC5z(lOSJ z2c6V)rWgYaR)gz)&ovqc6G)0-W=dzl2@PIyKtQ(Tg=B;#MYI-6mk`4E#XFo7Xo8A3 z8)bjpV`OpLx!2ix%<(}AeTmfQ%cqa5-0xv2c(+zi-2{P=rzA#^ZM0K1f^n#hys^F@ zY*e?3dXuDZbk^SvmZSY*zzgP7;?gWU%)s(Pk=5iTE~}scmaG#54AXh>KFHNfVuZNA zz_oZ?Vn&R+NYlZW61u@nKD{KdYU(%Hbu25QrT=UQ%??Zl?&&Lr5v(@l(h)9vA>S_` z{Ar9uFYhi+V)W(b3}L{2ayncjlt}q;Z7$RB$C$qEFIj<^c^Z}HI1RZ`{n08TCVbDI zY$_h$0YA2#Nqml=KjrF~wW4#!>wekbU^*c{fxOgd=dr%F!5w6WGy5DlU6lPiWs_r~ zOLAIekjF8!sDnMG(zD-{uthVbw#CLX!(!5$_lcZ-L^QB51CZlZ(&PtiQ*AUde0^Nh zl+yBnCgKYVeSms=Wr9Mgjx9I`?#il|eF%9~y=ALx&45S+*5tLc$bCUWC9>~V6oMCT zuzY!A!#x_&JO2X^mrdrS2e8QQIjDtEHjlEX6zHD;K3E4UT`{89b*O{g>L$u@_1s)T zO_8w@j@6x#$~@5tOZ9`g0hzHFxdnT{Hgt8kPCvUh>zgZ@@N)A6(-h+$O=aQ_WA*2~ zM=XyoX7pDT92pL;A3ER3u9I~b@ud`DTGm?+Pea-i3etSY{d`D87p%-QP&uYi8ElgS z6+&HTEL=ltK}#MXMxZjb>|=p9!eNat$-ZwDyUCD7JK`YD4pL~)GL8r1f_KYDa?(vG61OA--*)t_sA1VIRYy0=*tC98bc!CmQm(S?(%0ks^*^FZcWKTkjwD1wBXGGj zT&h^;v!WgN2n9TOfeAvppO8;aA-QAp%(LI;(!ijSq)`kcJRxy64!?A;hEW!Y0uE!$`16R2dkj~(@03oU zbylRBN|YftRyAt-Q^kA$Sk^&(!RJdyvB-K5)6Bya1nipRZ|Wj?L4?ffowArwZ3~3} zd*!udDClk}_Ka~l>(`BM5|jN)mT8W7%A$o$&cx5PrW$2)9dhT)Yh}u`WR5hGCt8>- zd!;6n)y%Mn6zghHCHE`mVvZhedBd!wdfEWM&rtQ9qj*jg(rIlJHrpV9WJ z#SO4rgip0XQ?zWK(#i!@eAJN7K?AqN?q>_AaIor zQ4Mfxd^&`K+c;{oE<~gr(7nFVVPBRdaIE=}ZXv;F+|<%x3=g`yeW$w6lu{e{4BsZ( zLiH99>!@vs(7uMIZ{g|x6cBST{f_~0HTa(f#IJG<^qIK1ISttiIbTn`Vgk4*jtyyZF$qdC$==D`@JHv5zu0aD3iT0V!wO_)! zS>V~>O&`azm~3`uGuRyQTbbhS#LvjsCkYzX_o|$xvn!Qxto>*}S6R}znv*7}p?0aq=omI(czlq%ftxR4zVCh0D^SAJ0NB_twwU_{m+}OS_CkEVSP;l z3q2C%^_kwzrq8$QT0goetvD_!o|Xj`Q>uE2=Mh)m-|irIl2f0UQ`S+)a36f!O}1 zP_ZK+Ueaeh&YL=sJ9aofM!WoqIWH)C`tmvb_Vqa0lOtQ0C|y26`@RS-eaDn|FKUc4 zVV`_Xud1x9`x%1z3#lr*Xh%U6PQ8MqpRI}DN#e)P6k?lbWXl6<`{0p6A7=ug#hxI= zdDMPj#!g25H1Cm&G#%^p5I3DbR88;Ff0v5UpBz_$2woh4VbOHHep`aiWkYPLJ&nB{^FbJ2f@Dl?Qw912LXlH zdlmWHpWn+y{!#AGtK1KND))6SPLB&DRBM$S4u=9VAL@WYo_c6Ge}%3WG`N6zq?A~!G-n_4aiW?_f6e) zln?SE1_uSirtOSYGjXRpT`ARi_e1D2A-WCs0ti2 zH`x7{7eyrAiQ4Z7^TwIRvN7%WD|&AT{>~ZAf6p0{;a@oGdPVDR&p)B|J7@nWH{#DZ zdzA~+2QnGF-gK@H;O5q6W!BT@GSCCC>#-TKv*`ml^tf2q-wJ_#!1-J zwy&JgQcKCIGO;lOnb??^SeX@rBPT{j=t3eFXp0O!CLiZE0P>^bJs;5UuO|M^zU!v&HH`)8T}qJ}W9E2NC2zhP&(ycSzBfhL~3b-cb0T zaM$PlA8}XvbKGC$a&rOLne9Me|8n77X>FaX?xtUn?m<$ZL^wZ-4MLS-6_+ z0QS)v6D{u!F3f{WO_@N7wn#p{A$afT_gV8*mp6U>Cj^;U|3?JTK>yU+yvpTb=ip*z z%OUO~p-GONW_fy1%p75*x-aeEeiU zcT4+n>AQ!#1goGb88Wn3>_Sbfnw=t7>G_;Vc=KR0wI9+kEJrlY8JL0t;sd6l$lNo8 zEA4W*S<6YS)8b*c24S{F^yTEp8!s*`HaSHNjK%0?i;lbahIcf%gvKRd`&hMcWwjDs zHBLh%PDcenDb6~`?mqG4slW6Sp%wa=6GD_hb(ud64gJt4Xz60DIu(1;#N4yGfBKJk zkO=((EVM$*hDeTC!=mj8(e=D)@x|DTD7`g0;) zh}A0*=@H-Hx|vWQ z`FClr83rllr9OzBZX-LRBBySvf?KFf@7>^^BDW#+$jq7y#}hb}YJk9{UpgKF_$6TX zra;pkqpo@LAdoy^u;|3su8IRHSaJ;VYZ;QvGUAblaB~?7qiBaoM<@>L$y)8&jjRY~ zQV45J>LOCly}DPlsZfuc3P;k+5~4jnUqEWPi6y*2Utr^r8UG5x8xX(SD*Qi8-EZy@ z^Iw-m`c{^PCPu&M9r!w5hP*y+-~TjkvJZbl^d?4toMe^RfMHlC>lcaF5mBNu`PO^X z=QohpcBRmR<(FNuTX0>ak^Q>ca>!0ULjZ0hH07UdNXY!lfGDXqNK_t;*}5_W@6n3! zt;d|~Am8L)`}EeY-+TOzi-ILc5D<)i?Xiia0nqtB5oLFVU~8zWs|%+0Y+QgINZ0zk zG>0qpn#mg!npFgESrjU;pBw>Ul#w_|s6&{Eg)zr|fv0rroId-)@Ez98=eWME!o-Zv zG3rW6amgwgF&YTd5j|~^#yhG4%ZvQ)?*heY)%zkOIAy+Wb6g%bcXdIsFtYM9c2dQI z!maOUc{G3wwG9>RFdOb3->y0+7DTnu00P$<^I9ZygegBVSs%t@kS74K4pnz{vQlsE zT9IR1Y8A)y$4~xf77P)}Bd(|7uBT&`5EKw#WvnF=(5}ov8(ZmoZx=n9{#ve(=Xuh} z?27J}A%~o5w6wW;&h_MdXlh_Lq7)X&dU3%tCU*4#rea6fmuQ($&fC0~^J`7M-?#Hz zo-z12E4_;tfs^yElYk{1!_Bx5`+_{N%FO=U#7pg#ryv6l|CHL|e$Rcs0-0SbT5PTI zg;G^g*uh$#Xh0=hOLHF%C?dy8t2e*KBfS`FCmpaQaw#xg{L}rJ{0c=I%`lH$U4EDl z?98Kqu0~I|ESXz{5hU?qE!bSf9Jb6bj-$3ydoQN*h(UYoQh#dZJO0`J9pozhuGxqU zbHBj_kGX?a99!_Ley~YMn|&bMkx`B3 zleWDn`Eq=`07UUk&HQb?@_l!lv~MI((oCQQ>%>*)b+=~KW;%DqG37o0B8fF3MP{cQ z7J42Q3Y*G{Jf|5D>4pWL4|UPJL=;wav5c2xGde50$>vAAvN9brN>Ek(UZ|qtgGdPu zf-ELNa|0cE2IWxg{bHiv9 z!Z3!9^ip#4(xV}&r>_g_A(>IdkK+?#V{{u}zjY(e{3{>9YeR31{rd^y4}5^Rm66^5 zxL|91Z42jL75h!%M=>GM|D;nyn9!T=2bs7J<)`sAN8=zPA#pwj*Y54%SRE8z{)p$^ z8Q|H)jl>%K0t&^-y!3U@rgtUmf}rO8*3cERlA+@_2p?!YjhePV!~Yh&SNS0S=#$_6C;Bt7#z26^5u(Jo+ z{{NJxH=QpPEu`OoeESf+KL2Wt0DF5|6FrC5U6J3^Y}13)(0ZMfng4ZWrj?{;pq`hP zq?4RoP#PQ>m1Z2HW0<0s9+Mtol#>1HI7{ETuYUj6#(p2}|JV(e*I)m2oS7I|TG{?( zQS>KW;13mo>m^2kIJtm(AM`=@sjow1RAyk5gyt*$;K>$sVh)_?#gX9>1?`d7m~ak9 zQ8sHu62H>DF*i*B)4(95FtNr;Vl79H>G33jU3D<}(Yj)5_h6&8S8c(H?;(8;jz-MX zZ${q@ZBk|M+RwMX{;oxmZS>#Y7%~I>mo<*PEx^&lj={yk{5K@CcIN&ak^%BUU%QzQ z+8!`J9U}%o`qLbJDM49Lvfvn6LdxkZWb^(2bJX`Pa^RY)i3@{MA|2x?`(wPY=DB%MbeqLZjW)&^YGxMv|``E=dsQbIY|MN zhjmZm8}SEwk_;b^wxnv>_w$v>xdsw;Wr@ERZ=wQB?YWXjEtuvch<-CC=jB;O`W*FO+?r#b^ z)0+nG&<{L6DVccO;}4|ojSoAR8$YBWembpV*8p<^osgaA1mRHsfPvKmN$(!Ux=sL* z;I(wF2=XP(L|0%M1g`|*uA+jf4Q!4ZSyXb{=)%*gLYidKXDKu}Q*4_aX`!XtA)`Sf z4duc~lcf5Cu*S$dV zV@U*KQ0Bxr)WCUmwCGvdI8_dbcFL ztkuZ1P-kJBw>kyxZ;kFev*W=O1{rVN^LWZyw*$i{aGyH8DB9k9wN?l{LKQxcF4~C>CkR&DmPM6&@MQUEsRDN zClPTaIE2TV1K$jCbaG?re9X=9w$hhjziFClJtWKX^uF6fv*Dmj!%`( z&A(Ml5T&6cg%=C-cE^K65FX9ICZoB^hlqF-+*5&k-;d@-FsgZD2(lp>7MR+oF!(46 z1B{8SiwaJ`6MRq5rNR%v5?HMPD=K@fI!dkCtbWh*X$|~?Zu&#bmoehdR@H0fKphrRwvd%Ur$FO_7~#p+3SspCj^46 zSEyLU65skc1YFF%yg;L(c8v2k`D9mc8}o|~3b|oW8`MIqo$F75uXbB7lDXJVwnq}v zxfYo4_&R^Ag9PiER#@_#?*5MPjSv_s1^;Dxv5USXvxY5O?b01^FV+|$;2MDWjj{-P zwJ}X>>Iikdp;C?03u74D$^F}288W}l7tBu(-A0B0i|@L6D_H#ZruXFX@U5W|{gc6D zq2x&AF3XS^K?C_wyKwhiAOci*6oPfQRP!OzH6!WxHD2jW=LIhjJ zznwyqMnT#)g}fSA;R`=%%t%rn$F~X>P-M9Wta|}!9S$##zW%G71Je>Mo1pc4fA#NzAt8N*drSo8SY1V#Xl2f37=f!})&MHG^LnoD6KttWEtedQm>w;&8; z7-Y14m=Rqk7J%s2zE$q2on%RR0;`8CQJC;{QeP;Rav14tu|xQF_Z|0JgPsF|_V1$WK($&dE9x=zj{j zZZ~m@FEk8}a=|E5TNka*&9M>oDGyMKKP;yc*yM&gMjMR^c`|^WT1biXKJsCLyGBw$ z4RoeHR(;TjhcxR#zJX2h{0f?{&kP3+h8VOwzr>1+ukI)jInTAZqj5TPxiFyT68DZo zR|A^)94Vu|u@q@wj}plaf?)7aLfKSOg#f0Zw`)O#%F8`eUWt0|8$CV(wn zJ3kuQd9Uh)woU&b{B{4j5oH%5Ikh-Z48|6{Bu++yYrxsAGTwG5IQ59l4t)8Ha9c0c zxiQ|eEs?ggF++mqrIr5Z!q}66(kE>*U3`(AcNo z{GsUOAo65`u@nLWZPZ0PlTMj8to)$ugb>hoNd_Dg)R8}b8v5j4q}i^IdwV_U3So9K zoWWyxW*ZP?8)4Pd75LfH{}Ho+&vJtOIaO}M?OXWDaDHfR-G#W+BIGlR7yOUj8qK~Z zS(S#q=(HyjGm0yom^FO&JP1@BZ9QEK@>=O8>L>2BkU$x`R_pLC-+)m$|D&Cb@^`;< z=VLFw(rgyE>?DUU@j{p5OU6lU-jTVIn3L|1X%G*O-F8ELhoL;E#3*TO*_wutM{OTS z^LzN2I*Cs%AJaS#@vc1fr!q`b2fvz`HqnB7*^Uy zECyr8bcgGv`}>Sy(yS8%a?k+JB}-4A6t?B!{aC_h5PS#sfk4IiFQn59ay4+QGgvh~ z223)B&yIDj-{n5xEt8!YGk`%DV#&~UkyyOIKH*+t_IQVs@d3$)!dE-AksWHLoy}Gx zOnHZymqvJcOXcv*ns1m)E(0z=hK4nG<+#0wUWCX!6+aSU0|PB+y{l03o&ultazuAB z?7wXOXiXu8L827SkN^cAF_X3>9neyXA^21P{*bnCB*LR?qF_y+;lm)KZa!jO=nHj? zdz!!sErA;#@V+~gh$rHmozNx)bxbObo#x;Kh8roKp)wzRA^mM=T2~)21;K@Oor1#9 zH_X@?AGP9!k`Ar}#-FJaZbUip#~heg9D zF3&LFHf-r`Bf*hq+ysgpJF;1cO)`=vaH3ZTarn+gii946%_5-vv+VL9$q^VmocY)4%TvoJyvlI44<0sI z929i~5s$uM@$nB2FOXkfD)UcT-ysbf`Iz8Z4Ak!;TR_u8tcGWFN;JiI_zzl5-ftRP zjG8*s;vKx!O0AK9K=;Z<6Xzz{q{0QQTjMf2#fCVtA$BDeb|N{#{5(6|&djTL`|g`W zVFVt!3(C@Y$(1)Xwcp}x!_SXp2h-vu!{lG-o@mZ5SrB*O0@y`TlmW(jF`;hM!M=2=}`U% z5`1E{yN&c}`=U;nI*zZ>>72Lpp_yPfq{I>!Kll}Pl|>6V(1hHUl*TukUt&CzbFlhw zFJTr{wS)95X3!xnG9Bsp<%uFY$4~9fV;phP?5ibm(AAev3oqQcyY>Ns#y)|v_gWD@ zV|i`^_U&-iZ?WY$w2$O*-YE~n`44YxZb4{n+=bk*qmL5W|DYpoZ_4(X5bszg7#_#< z-rH&I)2t~i2i4lr>NMpgpr*kl!e=M^;ZAJiQza513tShnKj6~QS)cfpbGx0l` zmVz4Nei)+zC44CPZiRJ8Zp~LYIpZ;*Fz0Q;VQo=%fDb}HAyK)$Ih4)7*vsT&ZD34@ z-vpS4g9S<2CX!#%`^@6e0e%{|D}win6keCu_!q;+_$5!6NStlgtBOw!}ALeDQff1@MS>=MiaYx=iDqi0emPkkV6v; z-IU0G7~g15;g&~iOKqRBf_@a$ryems?P^Hxng_JGvD}m2(y9gf9Jf2+r!OO; zSFWEbZlDI9QgHv^ZA=@u#qmSNf;YDAg1kpNztQzXey$0^KQ^C1p7C2*5z?$f#ft_u zU1R7(c8^S)(VFFsMNcjy+Tf1C$=izUMaC9!mldw$%1_F+RZa%_v)zHro25dgh}yx% z8}>*b;)vhka_AyXkvxt^Bq~XWTLtaIH{XKLXLSmxzur|-Nyj4A43}H%;n&9qpoCqN zym&#^!mbm1gz}>}4oMp$y+n+|qdJ1j_lrA|1=|OCn8_*)$XK{w6C0$c5oF0Nxox^XLYIP41UfeLL0Je~2RCp}-Z3CL zO&{N9KQgBhP7GJnduTK>Dy>1rHGAF?JV&xZq)12`@7){$MmOm3p;%Mxexoe z*(xP&R=Aw9ZL?YX4%z$c;_`QqoG}b5F}z#1a^R&2piRsjl3hG&2 zLi^{GD|c%Hi*FQ;B~Xa`zgM2lkJMa~hW#k3)!B&Pr+7dWOO?36n(7b381#hM z^pqW7s!9ocsytptBxOP6C^iM8#K2520F z=0_~us;q;iD0)Sj;^wb7L4@@-9ESNeBHxY0_30pCTm#tq8Z5VF@&r2id`?>nL&C%b zRNbI$ktdMP-&#Ola*mnL(z-;Uk*Fa_0wcC3f6Z=3bckFsp7%zsncgAVBtu7bN)*-zc zujyol=`;P=M(M>O%$w!2Mzv3#s3H}li8p4pvMe05t4O6fN;^5_Fl|LHhi}(Ql{f;P zkTu#ojO4u;Y)-FU5v^RA2wtVd5?wX1lC0e>KB{D;xSf*UM_bgu{!k{VUXm-}YWoCD zXnFD)C0ROE@bn(B+LncY3Ou8%Y8B)T0{=O%7BEjMeRqix>Gm?8bW2Fb$PXsj*Uq zYFFf!ovxKX z>K3H%l_;2MB3(>sZGbt!r0d5Fl!J}mYzE%yygS{=k@$$M{J#CHh-nAxuR1xC(s56n z-Ms?ly*XIZE`ezn9i@Gf@YaXvJmHDuFsRD{K} zfGc|R9_-U~VsvmXyIVUwDk};SOqPx7G5=t)?s#>egIuP_tvPCy0R^JJ&k89vrkg5yQRw% z7{1kNWTw)xeu0Z~^}v)*z3rU$EKYt2jOrD)?3o`!fw-yAUlQmH&B*f|c{jBiOg|Io zejV(`F~mboJC}yNj@mGkcYb8Z$0t4idZxn@-+N2o=tp6=&zZp^=ZYwBNXvndj)QN`OqHW9iQv~r5r~FLWeSOU$+KCC4$6+}ij^Qdr1HIV z-sp<`=5Bw#7~*7=hHzYr-Kwm|HXn)Bs-Y)FskrA!Z2{0PgXNJBvA-M~kFpxSCUFx_ z<5wAK)gK;z-Jt_{P*S(M;z)u4!Do-si%(IN2H9u&@V@5CXutgZ)X6PtI+O7QHOI86vzaD#a()XBsCNX|wo7q4Se&oxprX#tyv8Qj zuq}BH%UhDj`NCq$ebI*%TsU|ICt1$1-QsjIl#}rB98ZH;3<^vqq zb3L(VTVqULp0+QhWTkc}0o_TY?-?XzPI(;l-}XdU@n~Hphaw%+y-D$84C_B>(lbaa zO$_daW$4;7pB#S0Ec?Z@mDuy~dxd#dj3q@)VIq;E6#dP8X$u+UFqc0dRE|vBqWTxd zJ770DCm*0jVO{-obBu$@-(-k_c$^g*hYgfO<3>oeg=kiLS0qSxirhrV4>Xs)V1O`U zETmD+;W)M)eJ9HvGlZQAKe9#$mPmyNL-Iar_$iSn&QPzIq<&DJ!y6gGv^u_H-W|dm z*?;VO$;=Cl5Iq(+^l2=0;~1lNU(4%H@ai>s z`Hd#-3=}7QyLNVwTp_3~Ou~*psI`ruXUA5)+sRE->pUufsV<(!sTLrvI>!w$xSu}O zz`M_!AH>Dx#c|=oDa*l$$P6bOkb@i(Vs~u>q0-qUc;Elc$=FUPEx^AlBUUYlePjq>?mljjTWg*|1EjDpRa53S7+ z#+zTqZI2H%ie0)9fI5R&4;7QsR~YVd-8hs)k|Z>X(ai7^A%IsUcks2utcynlNlZl> zT-c;rt3s1I=2RLMeBNh066w^{3>~6cp8A2ulCr($x3j0da+f`F*baQ|O*p06GWO}3 zPh==!&*@SYD(oF2F~I21^>YTxzt$Oi*@Wj62ISL>sEP8G~S8It&;;2QV8dblGY_eVGE&Qa;*o zs0>H2+bcp0y4r6qN=Sl#q)Syts=+e-#sWQ7JgKI~U_W@Z6l%>hBpp`cgr)j!&Ui*F zLb|pcjm~lZ%z!aGE`rcZ%b(woom+DX-_7)@E>C+XCU_XZ?sFIs4XYRVJI;Oe^S;)- zc5Meq1%?qu#9n@1KOxCs@9YwA!{K#u8Sx_xTE}he5XQw5d+KUd?9v{+pp-+zoV2~n z8NsFY^49)e&Y#~2=L9ff-X5wj7o0X~UJK`FLS1olqE%rCx_fDW*4%hHr{VzTnU%2DR;C~)S=oc(KBcK5BMz$#Xd!POOD`R8lAdl% zoTK?wGo)1@%>0?ZH#1Q>hc&rcg@)CS^^W@~`Qt6Cf)()`=E$~OxhodEtwDa$9k9RV zd&94N*Mrm6LmlG-NgyvFX7bWgK1LC}YWO}kOJ2EoPzBr2Ma$muu0ye#ux%ty)0bT3 zTK%v-InEAaqJAV!PdC4Q_?EL2!=-{slX^?mqj;B?%S}GgwYY;-vl}#)nBn<6G1s}s zcFcSOB|{5QK>yj5*-luw$k3{sq@(D8;*9U;<$brFOsC(*l?BRAg2=Xo0m6pdc1AA+ z)t^6|>N-cWktG?Dt)NEV6EKOJoJxzFX}q49Q6w^{zM(yTa62-vN-;7TGgO~vN-T_2 z!fuNfcf@+E7_B^YU0;U5Dh@1zXYnK32XX|@rsASVvqXCgM`I`BJM`$uz>mSmat2G; z9zl;wZ%@Xa!|mknOwKT7Z;CzMu{>zle=6RCB^N3PbUM6zFk7u!Nt7O+rFt3{dPu)V z7$A2)ZHW}yK{5^cIq1e9_$2t2d)aX^@an+<0eQ=b{GKgwh)Di>?xpuN_wr9UzTdJX z7AAK3e@~P!T)Bj??}Y6uN; z!k>5*{;JcPUcYOcB5wKjtY+QoFW7&OZF1DN`@6!kS#bYOVX<+3_--bQfQ|OfP22qv zRcq^y)7h$uDETUC)Fx5E&9IVG_a}%~W_+iow(56GPB?MMOK1ak_JLU+m$YZ%w~Dpo z6VyY)xvi|E`a3nV20@bQ`adgS`0(U%WdMun<)`m=JM0*M-BhvcCx}nj)}xVQfX0#~ z>2?cSe<7%^_=KpT)!L8e`@&~;#M*Bf59qICyjADE>Gj7NBfMtb@c%$#3o8Q$bKrla zbwH#vyzd8$fSc#gjZKciEV15j2GJhvlnKqCkh0l+6lZ7Y} z%o9J8=_tP2_+Vncgw^p|fxicP_C(1m9B+#M4#_{7y&xC}2*DpfVhyy_2RZ`G8BG3~ zBm5K7k5For>tVuJeZWkZ0}bpaMiHhmfldiko1t-lDi|bd?3+D{AfTM=9B|1(!U*Y$ zahMp{UCQ*p3}w@$3E{~~T!SRfVjaz2gJjzX8=_B_mGJa&Dfj*^0t>3uc^;%1$Dnqx zO`a!l&7S@h=8Tn2YBr00D#!X1Mj(-pU%XB_yAMew=vUQJ!{Abpw`IOBZ-0NgHIG;L z!05&I@jMKU0yWE{%^z^X_j4n#&<0Hm@T-AZ<;XB3VZNci zkicX9C1{`X&1^lxuz7i2`FUgFFC4uR1`-%f-vwT>RTyywbAe(gzIpU0U(Y_X?l^SsxXPO7P%d zm4u@#FwP9Y~dIyoyedIoJfPpLn<# zlPp~|)i*4OjThUWN_Mc}C0M<>bBZj!G=Qfb7qg)zq%nh|yzmglmm|!74 zg7MX{l+%>Nbwrc}S7(FEL55Vv*}>Gt;|G=OXyl4=XdAe_K__zO#~C3Y+`wPNDlpa6 zns@a@dk!UdoV%OTg({xt%`g5gJLLcCget!Ks{-$^*_=L9Mc*=ur|W7j%%?AHkN}*r z%_Dy^50l#jBzr*2gOntNq5LOfFTH)4Qx;?+`EZzmkzHUL@JXF+YmP6p${7(=m(c&r zw!sBSxQuh-o;?K_MKL!7=Q(nIXV<#P3)kg+e5?AJZOYexVuXAyl){u4zACzJq$=sp zM7VY^KzkdG!TJRxIbu8GEjKQW3`XY*qonYT{>7fv;K~3`wUwhmyZ3(BEJm9FEdAF^ z?BkpPjG%#yxl>hwc#$Wr-$lRm$tl<+mbs86Ljd&AVlcD;6_<@trCSUSiv0jEbI9Z)wgGi~wjH_%_ zpKe)NS$UnT31itBnWiI*BWqx4*bbMcy>~Jj_Gg+v=#gUF@7*SfipuR>dNq z_$4_6)At)}C5oSP|A)2`5X1KVB#NQBiHQb&L9-RdZ0{Und-laMdw6s%wuOFXAtaSS~`}z*UN>4z& z&JH#Y#_oRRJ6~P5s|P#%KgQlMNR+VK(k$DyPT96?+qP}nHc#2MZQIr<+f`HFjp^=* zj=mH9EC0S3k(rTu?X{j2^`eGO$JeFXg?_`^<@fS@&yAFZ!NK1v%_^Zw z-hF%%kOhT6#aJ(6OKi`Q@&=oq;tz3kgJ+7_Cm#9B5(6`+D%?vW(u-=aEIDWadqa|0 zHY1&Kz08iJ%N@KZ>Z0}ENP~q59wWvqL{vH=E7l550jFy(Ht#NrAg*k@u6$m6mB0l)nE5tjvj^mI_0 z%|b&*PHuRiA3yj(NhEA=gf5HZKWFGfLsj*&&GPnFR*IyUDv!D z7nQHu2mi3sncr(m=XF=gyCfn@yC9#OLF^Za6ejYS{y^pA=F+P2`-8L<=oMmBKO)Ez zVm%T8J}uY@jI1_Dv;vi-Kx{|@aW>Z~?zGFD`18*{Xjc60-vw-2Q4wUj zL^^%43L|uT$}^#X)hs#YxDxS|B+xb!%VhN>(IV{nL+4o;GgMuG*0OwpXl4ME5Fnjl z%#$IKPoU`JOgmEfTJu>Zu#7bG!lP8}+7C$%xV0=@9O5>3EQQe2NUoN=k_H}N>0Kc$ zf$J1IjbzrT)T87D;sT49%-JBv?7-HrUFr7671ed(hC-g%Kt|qi7%K>J64S9FZd&$q z`j`UZDc1M2@@*;7&cyb>RuVgX3Wwo*wAwQ)f3mHqWA1eOe^E1tw3>JZwXh#Tjkw+K z&28H!{JMqBm(1!ieS;L!sZ$b6h=4I9fq)t^#fnN-yiKI_pOkZXB!f>Yt8L>TXvZoL zbF_eQpoLcH0hv0X{87FJfq*`7(pd*S)Dx992wGqgv8#t?6C%S;}T(` zu^a&V2t4bL0od(vMY2#i0G>6$5$028%D*gR*nk7kw>^ksz}oo$cNprq47DSyrrekA z1D&JrfEBGxCj(`zH{_&!3u`hMJSNS)Elj2%{U*CJ*=6&f5X5*a7WQJImlHt&hSYh| zOe8#%iU5L|RVZL{089>FL4C**y5hRN);zpfvrN6FozOtv$J#pb{j;PQbf-?jM5mLM zqzL(eMGzdIiPuufYzP638lzOXWr~TK!(6oC^h+HaG1{ezs78FnSc__ouNxaA`sXXz z@Z29#qC;~W?r~*f=_A18SI|uZIiR?h4h?B8%XGmWh=kSbG?K2z#(Fjsi?HYh?%U=I zU7fzXPHjO-@rTP)hkr$t)x_rD(q$@?D3^I!<@9BYoQhap=N4lkgRFuc9sIn^g$Qsh z2h+&tR#%Z4=nSUfkw8>nHbw@iDNn>0{^{=Oqg>ocf_OBH5iaGN051JzkLJ_#vOC}y z9Ud@4x8-FEO`umYiZK54BlaKMMdoFsVIpcbBYGLAdrPF&BMAf=2(@aFv?QtV*8<4B{^5Wa2c`6E|TjYkDU@sToJ@Z*vXT}i6@oWB|9~`xt0TifgxL$ zt7Y77Pg9NTiRm^U!nMUT14=2eXD7|M5>c@7VQ=ohfgDr;)I_ie@%}i_+}KufUU*>y zGcsw_dyM>pyL~P^%9Y+fYky@SxF4$nkl8SIom+yHGh8$~!IZ*)W7TM5+mL$X3aWnu zaO~V1ER$t0;*Pl7yendgQ~IsCg>_>uvUz|3+p7h9xIPZhoamrxGoGtrj3@h7o|7T^ z>Gd!b)vtjdngwaU?ji9@3QFx@>*bKxmxtMP!V$w+ex9q4i=T>HJV2aZ6>u+sxD~hO zjJfW+xI3B+Ts2wC17$NlD->MsyR>vd!`M}WEK(i~fT7Z+tK5dWT=~1x#QqOAmB&i! zdEtpmQoD@6vhht>Zcvh9+Nl^es}p#`Bci-BBU*!d~U6q0H<^wgU_v}{Tii$2i9TFqkPBB^&%465D3J@bkRrYo^WiY zO(ixKgOV5yp4Jg0z1Ikk{xt;w0mp3-DRmgNw1HWH5y^c4mAK>3LSlxLO{S>560%VB zmQgh{aDs_EG-jEdy1%ANNhsHeDqWx3SNJx=z%&~Os~pfaj(>kJCT$sednT7Qmr*qT zH0(V%@^gNm0XW9Y6iuAJNbffq98u~rh!B3Ha6$ELW2}r$vllYOzX-%&x%z!KY2cAU zSbQQ44h$JVjQ*;-v&$*YaSD1R7N=8|8=2CUhP7F_d4gcfmh!ng-X_`(jYeV}{CdrX zJJkaagSKl6%iK}}Nlw?P(nuN|S@GL-Ss2g{Q4i-fzY3X{oP#WR<;*S+dzzxZoyQL=pTOn;+QJJ`=^o-3g1R>b;Qxm3UVn5d-Q+3a> z%$z-jB1D}HJu$~@m8C!{9ogO*Bw%Gvv)0m)Tm_dju~aGUhYMPvOE`27X2$pCFu7Ww z$ia%1^;Q`_ly?k9k4ydBN2_RK`tExjHunL1yg|EHcQ8h03MS44Bp0m?>6sx3&gP-L z4*Q-toMU45+`g6%*foG=IYn-m1(HLbW;^Ia1>VjybziGuDr4nJQa~{{Td!?#uZBJGyTOA7Kbf`jBHMpZQQSPV|`w}?u-02l?_RiWOq;Wj0S58*E6CsC!J zd`b%%H&iq+EIr#UQ0r=-Ntv@&A%h9yfG{N^yOAZSTQI1&J3yn0+Ve1=9HZB}y*3Fy zOl+@A{p?d1&EWt*cxoGOWj_PtAZPTG)3pTv(U05r{WkD92ypm>4+PE*c9%07jp3J+ zbFP`)-j!v69hZ+Dp5(-BH-oIEr zTmG8(Nd%@Tywhet1{Svh(m=phiZr{BpSIo|-Ij4g2@dUMM~S7%ql`gp?ID)k;~$YTZG<+*T`mWU0p;6reGJacV>9v--6 znKqQ?$ZTz6Cm~aL8MJ%UyFOp`xCeL6hbq)M-xo;A~=2a*OlkbrWE4L>Sc z4xC}&4hAlN;wD?|)M1lFN(3JG;Wh&qJZof<{iJ(ORE-bgx=J)AZr6Ruw>A1z1=WnV z*8_NA--mO+T;u{vc4Tds7`@2dDy}!&Vxr8}!@Vaqt(-JxklcW!aopBD+DyhLa1*P^ zKn48ixgeu^cSb(t$>fGMSYZ*kJ3K5PMn`4vCQSVJf^9AOV1`te)(tv7WflKpzf!(+ zUw3YF>a_^HJu_=tgXb)zll=>Wll6Dd*glQqnR)hy5w)Ts3nLM57?&fc$lw7XVMR&o zjNwr9hrC-}^hGoxs#RH-{}_upuFFn}dg)9On6+R+0)C|Z>dp@Z zz!mk;+OuQPLJICH+r-!aW|1MJF^J!D;>@K3wv35zXBF{>riH2!qL%2*0bUj90_w2; zCQuOf><<&byY7%I+$F~+yXB>v2Ybg}B&3?X~kd)_Aml<|ob?;uLV>+SwQ zrTkcv*;UF9gKlyEH#kY!E_E(;9uy#e<`biRlWxW@5#C+%@1Y)v1EzJ0_V}jgL^Qp; zDOSa*IqQP%Gfrow3(MS4He|S>hiG2U+N>_+3n&uqREvq_CjV#8T*E5lgc-KnBYwZt+N^HsNsOH<8Az7IZM&byVmHNc(Z*y;I~u?sTaqA%-_sm7)U=6tv7~Aw)oyGg1q@g zU=2POWy1pm$$n0Q2w2{(p2Qh&I9kEw4XZ{Ptk32v3(~t^C*+U?LGc4;7)_@GT|@54 zZL5yxWK*cZge7wCZ72Koy$zq!-x51Lbi{`1vRuaCEwqR(2weClam=JF%2A=k4%-)4 zR2b)sNhVF*ykIV8muvOY>q-LfmY7~~>NG9t200H{rIJT+9 z3Y!dcQAN`_SF8oLe1i_JXciuEua~Dl83u|o{FbhqT0LzO{k3~eqd?C~IOEayo2?_2 z%E-<=tNP__LSP<_wkCHiH1_EwL9P_n)yI9xE8ja{WnI&_y1W@z!{IgLNp}U1O zm>1ca5HCSfs9zoLvIE5HpltsSj!phd;ZMGpbJh}xFM*?HJq48{3a<;H&WfRnNoZb( zEDZ%Y{QMJv&AtNGG~!ZQ`7=TMISc(R(>Otqg-J5>!wlCg#Oq@Q{xyv z9&iYykmorqGt$>UL$;y{z};2=nNB)lx4msuW4L{e6P3p*Cx9V6_g9l_eT+Pejrjn? zfG(OrQ9(<=Q@(g$BzbM@F5vHg8NyzC1HL|)nuoXtgwPeOJ2^v?4Bs@Jlx9%EJK!FY zlToF=k0_4O81h01FLTXr^gSO8;_HTAFP7O5jLv`Zz;|b>MlQ(Oh!>FC}=|>Yr`eTn=hL0sZHLFQo(dI=tL#Nl8ay?uoiH}76o z*h~t`7yG=t!xsD6Obi1M?kVwEDV!>SaGL3885fjEWRjFt?ItVk2yRQM_(5bhLY~E! z&GR!)gpLV;FNg^;45oSB-XQvFR$(~SMbr>PXkXQ{{KA?#u0=@}U0$H*xt$Xgax z>FDTw(M8nbW3!9DsE<`S37SPZaT;FA zh6d?%s{cb@_|Iwo*M0nd^OSc4|NBz&e+ua?&KA~A|Kle9e^Qk>8XvZcV^}|YatuI( zTxLp1DC&}HcsYuiWy-XcQS4>P=R>*dJDhm6W?Q6H&jvI9RjQV=%f{40Vh|AXcgV=^ z<*nxM!}?T@i#k~$ao9-p-}(&R_WAbBwpkdX9;yWQ>J;B)<*LaY!_DkA7P=svtdy*?TPd0f*LjVhFcUNH|h)l(D8|Khm^28c#B)mj9hKC}W$7 zX##nAE;QIZ^zhLXwQl!UpKgRS3b)D4q(x@%B{QT*3CQ7|wA+%lu(hNy#C|$4yBkuS z5oCup8Kc*XaNsFuCu+z*CQpSryC*Oy^xSPbX+1Qlli-EW3aV7QEqzdRCL5F}^*GFa z`&7X+4oJbSPGX5QrF!{Ll{9!hfco>@(ZN$EJo@F{71{IM-sSIgxb)P2*(sv*Kvi9G zoJbBCAygK0_7UoDP+wMIE-J-CYSyV{0yxu9A7qG zcKr+f%uX*CAJkeqK?ca&&qxzfBS)PcF|*un6V-R{wlV^B%v$y?)TJePqE`6uzTn%x zO)W4i?i3Ac6cB5p{!{9Vdg*_Fom6{z(v#EEAg+x$z|Y3PquiYm23Jn7`~>)9ObEQP z#nfPzAM~(y9|g0<{=kpL_lF6mIqG#*>IUTdQ4yFf5Rp=J8`3 ze-)G__3`iK=Hz{~_hj(!uy=5FxIck_NKpv@8`z+8TQ#rAzX_dfeC#|)Robfa4$$s@^_qCVpzD=aeq-|=BbO1 z73XHV(@ne&1@keSS|TDeuzG+MKAqBO12qZM1}udU)-yCxLaC7vn!=p?jl4}QI(}+m z809TGz@~ti2#><9V?pqV;uYb={+1XyG`s*3u@Zu;W{j9c%M+|Wp04XPN^CvHW09^? zw~u#5L^X+kSqO}Xa0R;^{MmuTgwR>TI8vuKC8NzXGJ1b}tSKd7B-*!m_9`dK_bKO6_k7W$M`+dRK? zkZPi*r(ZLuD6Uy=I)DEfFCOzsCTU3Fpkc!aTzP)DM@_n$H|2D_Bc^JxU$QYDf%_i+ z#fxS^YkFI>D$pFz<-{`Z6912Nd>$!^!!3~oZ6-j23B*${7mlfYwp4p*T}72SqY)u7 z0~lXdjf5T(l$q-lhBo+Rc-TYgrShYJ7j|C9loB?TTcRUO>C(W_qZ;DxWOp=Ton^-k zM}3$l`qejVRc_7Rhh*~aJv2jF$-~T+N^(kr9Bc9Y8wQa%ir>iJexz69$`BO<(DvNi z44t_U7nuL2>2LB9T$SW1Lljlze1jE|Qe(`JjkZ}T>=fgl%4Yit1d{2II^`}C@F_SK z!Fh-}7M)c=aH@WV`>bZB>oLxBe$kE48xXg(<%)imF;k9!vRGjy{wum7gx;%K9*>9X ztKo}9xm^uzA{*x|wq9VXRv(CMI}rIjU(5^~eXJ?X3MwiST1dmSN~GaLf9qiVP6gho z-f~~66SW9_Idof?Vt`5d?Y~u~9;{R{?8C4mV%B5)4NGmrD zXa(3rj*OmDMGlIh66W%>6-|A`T#__Ng8nLqi%hb0eh)zrsNTA2I+0H19T338K1_OA zDff6+z&fInP5Qb{b9ORKnp3wp?$$*VTj{O3w8@^Xz%m%J%!tKfC_+WK)vC%vsJC7+ zVSa$$SPHuUJlr^Q=5tzKcS}eO^Hs~=XT$3%Ges`b#td?KR{DYU4E_FuUh~{TkJ#{l zOcxurvt?ZuBxr8qt`j(8t3PMYG}o$*thQ8|g}$w^u^4h?FBVv<3^)LUGBuJ?q=R+A zC(ZDR16CZuxNuf@t@BLjprn9T$|oXeb*d{@Nq~*AlKa&MSIgeMQW1Lu-Qu zDfcB)(}q!q74W9s>^N~0mNNYI&nSiYurgSyzWm;CmGlx__=tYK*z)Nn3EMH(p-IT@ zQ_#LC5+}2Eooh4Gv{yf<{C2;8Bv&=eusA;27sv9RR<_v>DwOl3F57EIlQr<0=i8pu znbh(-$ntX+GZ$wHgw5Y;rgH(x$4f(RJp~aFjt8D=5ncyw`w}HmFX7BR&dFJvq7!bv zB@?m@^fU=u9+{c?r<#Seg%Mz+YDK8eSsiJT1uouG@8aCnndwKu2$7-m>hZuPe?%ek zA!RsK^H0P;iCu&<5&McddQG40uoB|gzRK!}d4AxOR8L?K>|_yl1>oX6-cz(VTfSh; z-oL7a~9M2lm%mk}J*eh7rV%vIkDq#soP{RqI@W1K;%Sgx~93T;;|$s>jo!d5?&lB1VZ48)hNpv1P`|TN8UNp7lT%b=iG^oYsnLHyxxIUCO_rLkOu!a!Fi;tpJ4*%`XNLtPU?bU(e_enm zaR3WH2cEo-1}D_*pwSQug%i&bON5BGLR`$64%!kP;@`E2j81?^78lyEYD%+ZJEs6B zlWkfV(#%;*ZxrhR`Y1?o;Rg%HNN|~v5hYFsxVt>UGK@tJ8~Ii_@%g;V&T5?9&gEYU z9MtO+;l<>_LugpSgZ3(gdudBwl{ONU^3jb@hvbX0u`E$121g6$ zZ`ZF2zx$fUwQDa1?gh6<8;B3fxE?KXew)Z}8-EP3>R5I8_7AA(qA;2?32d=#jEl>| zJvajf!<-gfb>9a`aP1G=;%0zue*#qt55LvOQ~-E*Nb|c#(M)d4Gr& z1*{Gd7SUPx=4p@9zrAnn13HK}c+{#oI+PhqrlnEJuI@db;&C?!H;3erOOod~r4=MR z5NE#X^l~^9H_lDt=3Jd+`YqkRgV8#Xx2BoUcZW(c$JhirawoKW@8L=BRqO1qyA*I> z0Gs5WS=QcRVsY?|_RyYfLL495!gnD^BdEK$ZXANx(u*Kfkd!>7wPfO}_q&vrvr8Ni zNx4}-=!2N-7zu;Nhpep7I3GE|_!N)(e-H!X47+4GPmI@l@-qdEv;I>sCPgG1VW_qR zN}5ODH9Nh2pvjBLiw6g2-J(BAAy;eT+O$RZvD{<4(>i|vTv?s)7`y0E;NfO!jS+fA z>xN<$7ijPcp_F}XJs-eP=ybCi;9odDS|u}fqT1jkS3<0`#xE=~Yd-ZQ!A{6qxL%Hx zj8cV+xfEBR3t}u~VgXh~-EuWD4Wmx>zGnw!(Z|~s2@~31zL6#a`>gCo*I~VOJQi&Q z+kP$k7iso)_m!3rfI%#W%p>0vf4aSgvgL8$|{)n}D4@t0zM9!!2#LmKN zjN!b_ZnJaPKa#imaK^CLV97$K<&Xuhd1WU38uaqI`F;V|C2m4=d11-Z_QrdvRw?+i z)JPVoXcI-G`{%#FF=zz%_x>;d0RI_h{?CI>B*g!2Rs5fWj)|kAo#X$_q*JWoXSX4a z@RcXWKokjtXkVaEMENMof`V1_$v;vSDNEL{X4HkgX*FFV@uvQQc^$P~Wg{KeWZ^i9 zuYWV+Wp{El#e5`z*rMOjPlTui1g?^ z*BECIif|R<#32lm9j!;YyRtI`eCCSB+d+G^{plJU$BJmUv#mc-f>eV#Bi)K9A(N(b z287MX&3PEYjJ-S8^Cg>4x@70doi}Ve2O4e)XEiGpZ8a9UF@&o#E6$5vEDM?O6Vz(( zz<#Y4ASS+^R;uT8aVc9Jho6{rtn^>umc3@67WwA)=UBSX5Ty<}sN>~MKj0XGq6z1% z@Rpwb(!-$f<2O5({rss-0`JJ>^Oik95E-NKfkYLGi+)*CeE=I=cK5~0Y{%EbLlhkK ziL6F!QsZP1-P^qHiFFl<6=#lP3w+QeOq4fEIfIjm5@!*p>4 ztIy@p1|3@L)XH`14H@#osw^gAe6~x7Yr*v;qGx1914G29j&$_lYE{gB+WcjIkY+S1 zFJc@C?z-Ds`Dz|+6zNNoP~(NLg_({^i%=s~#b zT;7HYE1eW$K2Ec5)lN0BmKUw)a}v*K#$%&mPZ*NPRz_~}lnJ)2VA9g2lX4l?vADIo zh0~3@?pcviho}@%jY^RSfaZ5(pTcT*a8c$st)4vr>x+|unHX`7(C;8^MIt>4Hk9u_ zCH>gWsw4-^PuiGCF|P~a)7Z>4+;(7ppgoHtqcRp2$TxZfLR<+VYO6<%p*NlphtsU>EV_Qv_w9-71L8ROy+>Z@Vl@*lnQvfKka%&S77cqo_{qrQ zKHNxX;#D|#n(W<>g=vxbC1ZMTP5b4{8XQS6y-3$T`;vcjrYSpZYoO z&Yqirf5HDp(wMY4Pxk-y1^(xK{y)Fz=mP((H_*V*$lSu!<%{>s! zi0(@@CF#6&E~A94o@3SWX+ud_O7bK}U{4I^_wNTxU2pxz^f=tn=@!;Gh=AV*H@J7oc$gjGoWb{o$!FHtq#ux17af)`)@ZJ9lr6&XkaX*2 zF~UlJ=Ll}Tr;rfLZS$E%=J{`H-D8X)ZSRNQrBfhO?De+4({ zYl|NaOU)Jyqk)`o=)xJgQUh2}eOC!()Vg1T@Ul`VazPFq4sQ+>M`;pbbxsZWn0iZ28EN(F^{uaW!du`t>@t zyCWm zlMti~jOPQ=;4NQpW!pOj5Qbkm9*G8F1PeZ^(PS)<`LeDA_C9>yL@VvjdT`m8W_G(F zhiA0+tOExO`0COGGE{rWJpF#DLg|R(&SO|QJ3Awrm(%Tj*D!m1BkIUe2-KDxLHIdz z;l+2NksP=KoqME^*udxWcu0V{OPf3bAL#rLgXIHm82+g;(L?px`vY3>N`{EWeP>k| z7t8N%kqSIH#2JhB{!ErY`tFupqpBb9&WifJ$_j;NRC6;l%dqELU>8LM6&IVT(P2Tz9Vt zJdoTVI?>Fg;8caFfO-mOMmXZZ3gmC$q5EmpT|_XR)V5m!a9;9^LBSOZ@gWC3oI0!9 z$ox6pO%x*Vb_AfT0f1xxNPq^s+c)n*0z76~zX-&T5`jrFC}NdFxZyOyI|aUMyDx7Z z<5xN_AX=w$A(r!7B}t8bQ(xjXduyw3d&Uy;GWrmPJx`KN`f!9!fww|=tvF%!KzpV) zU+yq}Cl)X+ZdLNw^Q$L!)^}TG?2J{EbI zp}=Q>lRF+o`b^JRz3+n2YdccEPW;BKP0Y^r-j0o^;xQst>>r;WXDvVUQr|IMo$a0t zIc)Pknri|<5(W;&a^r<4YrHFJ#9k0L>kd%ue}qqj(57QkdWq=1GYB|yxL_y&Ds_w3 zubIdQskozO>A~M(?Q6mpF5%u1r%#VyPjdI}8g9~E?9_=;$`OhHfxQ_BI#F~d^}ELA zaJgQ9@Nw2dTI8Rb%hui)J~G?My~Idli){6KL7MCAwgV&=&@V}4+CC-{tX2VNhD#WV zr#cYGAz22nJ<3+EKRnv}(J9*lt7s$$D%@G{l;47wg`ODIjJkA>Su!2YU%GRvK?vhg z;M4<$A_CyVEkC(ulS8us9LRkBc9>m&!@0TuUOKyUPMqmg#0EA+Tr?i&Gm#+pgvOtTHAYe$V$Tmgxjz5fKj9rdT z4iY40Vo%z`#A_zQNl)3QkqXKmt8$KQAm*<~8D1eW!fF9kvrMqmIDGPiwSTBvvlbAb ztuhM|FH#(*-gJ4>?=vQ0?ep4i4|=~`x`!=Z(WAeimttaFHg}3adAhK=&=Nk%2dHra zC@EFvvWR1gm#a!S1jVGCy>B05<1htE%Idsx4wYDoMBN`n@3-JshjLhh!e(f4x;zqDR&YYXOf{=7NNF{iBb0uCiHD!Xt?o*6+ z6~0?EQz-$?)K0IXZhUGzlF#;PEz$NtYf{B7&D z`Qw0AOaT@4j~!TNXwBeGiICrq<5&xPlnO${#1HQuNe^{KWeSci8!IdI-TAzp`Pkga zS-n3%vVBa|4dlC5kO9V>=CM>R8pBFLvKL=Z(F!PoCDLKD$+GBe+r?mlNf z-Ou?N9xZwvgS1QhH!e%g7t=nx-6w$$A8tm}4kt61^LTb%pB|q(sAw+%fA+83Ia@@Y zPG$9M=OKH#jID+bfePtMQ}UHlgBE}6RPlz$i<5jmsl1xaBcL5mbq+#n#|7oHg24-Y zxdjwudDWpKMVO|G@r-Vi4uEl4%XwS`xpa={)T8blm~*_}X>3R&_|)HZHDcWbs5P_t z_0Q8hS1l8MQ-(cK!mGvbJt>On$JP%mU$jZLa!azA<+d=q&ib6*`(T;8%lu#Z1iX^Q zz1RJup9R<6+uc-tgbNsQ0qj}oTk926R?sTdxJMjT;-47#gE`i2QKGYuSZ?k~I^{_! z$Q?}CL33>9Vw}4Tds0;tkI%VC02rrt{S!;ed1}=MmXjUBwW&1mO=-@J3 zLOB4iS?)Yxnn}p2^UAnN-ElE#*u}p?6&6(uM*R6r1!3K18_{kHQ3=W|GP_`L5X+~E zlH0!#JJ1&CpvY!?q;%Xtzd}o^xxCKSLMH2&py}d>l;_uV$z1X}n49X%zr=XcOV2RI zdexg>BdW&3cKD*=cSV8XQPg{$jqSp^FA}crpcZMo%Y_V0B?g|zP1aSD){~dOV`$Fk zHH<2YUPXC9m4rD;NaS)-%z_#T$Lfpg<4a_7eTkf}c8 zspf8jSbk7Msr0KF=T+7TE3MrPjI|#25Wm=RFza>L&yaKY`D23mu9A^aMc^PHU+;0^ z(EXS1t6*?Z9*K~?X7)?q=cQ%+tMHj4nfjLq5B^S30z;hkDP^0&Nrd12YtJ`OFuVeB z4(R-HX2WM>?=dj@7*OCqn=CVguH-YzBAO|*v3^!d*F-kq(M!HyPV{i-m(7q?M7ilP zCT_Yvh&e<-oT zFw=_ZbkJtYq;ifSnXL$6BjGzv$a!Z(#1blPV@fDduQ4VB3L)BD5$qWKj-Iu9eDyUw^&u0NqN*>xv8i{i>eTgI z{!VwnRdyI28~3r$6NCpELXEd>qis7)q_R^uRpYp(o})%Pi&N<(S-6UTVpM5N*x!=J zxPwqe5E8FK{62)xCL4?Or;78&5bZKrE;>C8gGES&=NOsC|aqo zny&Q*0=UH`31I-LxJ#U86nW?$3QaCR1S9uL$K<3DwF!|$o+_zL%S=bOp~8$?4dXQ| zvEdk+Fc{nxlyNX$?UlY$J%8ZG zN{r)T5V$g}izaz3iPVt4?MPrMC_>hk_=^WQarB&Xb6H3tb{?`8(eYA%xr581l~bd4 zZnt0!e0q+(zl*y5L*)%tX$CGC+6n6NID0zJu4)_(2Yy6X z*a_<13d18Ixc{88oy>6iyXv>VRJ29P;0mT>KqJ*^Qnxm>Bt{QUJBjD~(Q6pUZ4GBR zaTl~3clUw%WKpmI!Y=_;e#(jq*Gr7!%bjFu(wN*P%OF{*_nLK|zrtI}i$!e(_R^P) zb$|y_(kbt1I4N872L#kq_6eysOZL&SAqyT%ZOJiwbgHvhkVfZ7z$u!gs|C1WWizI> z64Qc<9@rNZlf_Oy&H2ny6v$$iG7~<&MfnU?tIfxoM*YJgvG_S)4He#IV+8og(#f3rIE(L{hv7l9^mve!ZBy z#*v9grG4*0h6xY84x#tZj<0b-NF|7Js=$ep$NOB`7TxCE1f}QCgol;Q#5s$!9zM>W z&j{aLfAHIl*CUlcnf06mS~NN)&O-ZEO-3*f&lPtTqr1uAEo22V! zN#`q>|6uEPc>^%kC6ggehHEnc9kB%#Nj=@Z{R{Org`6~(u6Yod5_0SpN`(+5w;w^R zH$~JSz!YW|f;1Hca!du%q4db?B8wjM6}?s`-OI>UM+?=BE5e*RlaDYoBi<&`L^t*! zU`XMb@~uAM0{t_9EaIMHE0D#40P=P1fs+LKr(J)N`x+3`pG1%B;en3LiLv8dv?sP? zaen!8)5|~Q0>yP5cQN_Z6x)dahSP*O0iJ*pp$$h)ZWhq!(ZP`+!w>jveBIcWC3kvk zJ&gi0;bPvIm!rEKLuUMG`tg0zdW(!Hl#zkoZ>UM?7^hBei1@gEj?xd<4hn%fb}Vy; z;ns5O6*pXjFt`O?t`o+5j$KAoQow&(s!tU z^&!Pjw|>Ntge33QJiGL;9W?UY7yb5cQ3#E_Sf&J0X(cLgtWUD{U}Sgn7nhkJ)JL|N z!xTE%m-cI=%Yp|pr0W@34#&2_uw%`8mzc};W7ZIDKRkJnM{Wp=>NyR47+0rd8s``#=-B9XTT@e!h#c^l)6JE z+N{yTuAB)-My(W|C7BExG#1`RBpqtC#HquNMJy>CQkH!PX=6S^=*Wcf>^lv({yuvY z%1U!o&u@wtaX*y_)ru;#1ikG{ z1hNN%5aS<2Go08AU!58O%8Bm+OrMfc=9e!nw!p6m#dy7xsbs9sIrBAuGr;iAXl zvorVmQrC+GqYsE1EB>?{^I>99nh`qvP*wV;5kV zz6vPjYz?5+_!A9A&h+Tw9!@fr98D8=5AdRJzhGYSTTd?s?|A}S?GL2L$Jxhiay$M`*S!= zP$bLsR>?q)OEvfbacBTU_~Hhc-3Rg3KL5h5qQiXRzf!e%b_LpXvXEUDchA*<;CP=@ z&i!IAN%wGxfO0UeQERLl`Ohn#0j;*(o?K#h0wQ8YeS#veUWBP z$G-<)>@vWHb_4d=um`KM4KG^{8e42Whp9%msQ%VHL=A%$S zLfh(1*>j2B5)KeUV+Q-a?F$*}sPK-on^;7gb(%%ZRLv{7U5=qKJ`(q*=AZ z1rlNx&wn1=6JYD8daj%I_izmlEBph{L}=EL&@`Q5iBF;7kbRT?@b8A1D;pSzmL-Tp*9Nj9qPCK5&phOAr|)v%R~&tBbNj9Ec75B(3#`TAvG zFm;mmxKKFSXamBlM=FF{q&WIdV6r{Waq6C=cdC`0z;KaV{$Fx?L{3|JREH)ew4l26 zJo6FOa_fAH!G+KwSkcl2t1oCc&qKBib}j{80i_&4{B3$T}Ta>Uy=b7?%xe-`g$d7AX(6waeqsN?c;#OuocA? ziQ8yX9X9XaF!2*{b+I5@VdH#)`S*%&FMKN!M8^qOo#-sR4u3YT>e-vPGS#7~tz; zu+GC`y$;R3-8$tI(fH&xC@hy9noCLu<9!#;P?{a*8&bxsc@-mU8SL}nDj2l&s5afi zhAYdR$kQ1nBiY1DpPT12ZTw#fMn)jkA6d(td*e>Q|H4dd_uzrx65(L$^&6k_fXJaJ z5-jo;z}iRH-3uF$!e~C2zYOpryX^E4iKOKdmAq!$*7LA0w8<=ZeVvfbGG>drEwIeV z1N}ejy;GDZ0ko#qwr$(CZQHipecHBd`?PJ_wrv|ZH+M3V%t|IV?|H0;s)t&8Rn^}0 z?eFIoqcr5#VTuiHrl--%T18DusxsipJiIuk0Eb=2T^ zbeLd6p-HRW;QMmn!DcrOXqyS)8#V=aV3TI@^ZwY8U`lEX<|-YgPP*EdM*^+_M#H@kKPOUEDQ zjXOVn1O4da+DQ=A-ag-gRY3_AI6z+vFW9bxN($~WnTGHpkMHT$GW59$INQofsy24Y z*x0g&BZal>E9F3xyXmAlceQJKwQZpL_h}LUP7?8lVLU;}RoNp(^Jh5xlN(&0rXl)# z;!6s$R;kF>)@a?Vf1I|acA3F(sp;s}4}(o(x|Ie7IiXKCXA6wB*fD(+3SMi)Xfvk- zs-Fi6e@xN!=H;O9yA$fwr9Db{b_7ye5t3Ja76rEk=(${%-BVqKgG##M5g6EaH1Jzv zu+qf$2;E2XUBN;roP4rr(U)>e9cqy(cuqPN2vVPzRI_(`vEhkINPStT)0&bi4p@B= zl>bAk04D->*n5p&pl+g6qO{bZ{M?7OxW|8)WZrdy{lY!?oL1V+$D@LF#Yn%zsbPJ@ z26#AH^ut{}gvN{LwQ-|8i(=flDF2&eBwDdBJ+Ceq{^dYjWY{&m8@7B0S36!1(=ZMl zV_7)r_C^t}y?_F@4yP0w|MU;&{({?9c3e+YBP|L@gI|NYAUv!m&MLH39I|Bj~r-_i76b~OD* znFB}t4@c8~925S(6r=IK@Uj2YkfrASf7Fn<{i}7F|H|e6=Ys!VOUYt47!Z6;sbhyG z?NBLbgtTaFmjw*bBS4cu{(1f zAzX@7UO}cvYsa}3&)cvtE*#H~(YUu^Zyy#cUbnuzh8MV)Fj2~hD$>zP6)_XL?HOBz z8@OJ;4a@k^_tg(6wzBy3I~76&Pei`&*6hAk2=I+QCxVzy=XJ#j;_~XEpC1$-6_YcyJ z8$?JF1;Cf)4=*iRo`SE_0i6`(up=(kLT3EJ|0^p$xc@_X6ijoq{*YN_si~1bfd1#8 zVua+CM*0paW%M^Lnp31e)s1PaxfKqMK$+s22M6XBJ^RP`pOh?SQMh-~vY-cj>w3DgET9S9X8Ecx6Xpqt8@3>x+MP}tdX<|0zC9T z57~c|+W#0<{huGW-@5<86aOnkXm06Z;cE1MjIRC{&)jRCO}kBrhTD(G&_GQo<_05s zH#oEji~2}n@)1WQeC-jtJyr-UtMP1w;#73*9YMZxo^1Oyd~Vfc^p}vrW0D|9G-CrY zBX?KV?aq$QF>;&RPhPfJG{+9C`bwRfZ%l12c`o@i!EKI@#R64;It^0Ho7w)b)n0D5sz7ZFAHtamvYeBDx8lo*Jo{gGABu zgMa#8R++9YaF#ih66oBbr5OqgONQVKQ|2 zI|KN6571HcBn-5`M-PYqhCeJV;GJxu$!9>{P$<&Jj@}nPE&v}kcxmwyPzF6c1%2O@g9Pc2{&#i$ z#v#dD^{=N^u9#>4V^6LxTyA=*)yt}BJ7;k!AUE)c+<~i3Pv}16taTza1Nrpa>A+*s`4fu>;X#wp z%K6omhgYn!8&~7_deym1I4ciVZf@65>?A;-10IY90;*`26eqhM`Wrx?!1m&8wz!BW zq7G$naV(fOXK&2Au0AffgmmzGx$qm*P&PL5`r+N;Y7fT(xS`Dwx{X_7Emtnft zo{eGe;`tPEenL0UXJt*w@~gPX%(k6+6Z0`H#(=yh-)XBN(-i^&ttOBp$ozFpK1S!! z@t0UNlZ6Xt8>K}K8e>4>$cc9nD&y0Zv`LX{FtxrLcz`bn;c(KrF8m^cD>CtGUq-j1 zK@tL$KO!$prNek1SyQ3~-)TrbKFtP>CoU>N)`JMVh&8yL06x#IfX+TlBH|Lc2^pwg zO;P_gY`z>b*h8fP8jMXAnF5k3wFfOjxJd$DZAQYQ-OvJf^+SQA0j6LjXg}NvCPNme z6L9};P>ezZVcu>Z6t@yTLi*C9ipLbKnerLJ2!_*NgeCmKve@D(&mL$Ps8`m|n!{u; z!{ky!Vw=cSRVuMScN&mkum!GcEX~+Bt`7_;di?q(t-;E$cOaIm8T;P0yt(@?*uy0-%4-Cslf03 zem~fMDLep7Y*8A{mSJ~**3nz)Mn{44nizowlMGj=JeqL9z|p&Al*I+jLE&J2-3vQ} z;uKlCVDMz*geADPz)iO1-YBH$=zq)@TZDaqiG;U}iK*aWmZQH3=z=gQ!CLSbp>*#< zAq#(|1L)M~y?!V%Se`_Jl4~h9e8u6ZDq%r3eiW)iV1?@Y{hF7KdQUXwcH-j)i(OF` zb;atiu^Tr9v~mE7{5AONR!?9mSR?zMm60)zT#SX+;p&;f zu$Y^KJE@17QOe$qk&Ww^hw5^~P^b$$@uuxPu0>HIOQ5F%UQoGWE+aA0DbH~_Gtvz0 z_pZfngvyCKTHp3}VYpUsS`esw+K)rhVTh7jS72d=utb{$8_?>+ik&x7>Q$q)`D|Ft z5*1|`Ifx{lg9)Qo0AQR*;N7!N{DvB=*Jes0`Q5#?h6^i}ApGm8PI&;UH-0*|1`3H+z+QX}+|m zKgpR#&Ax0>QCx$|H)H{_$Q77+4S{HlvR5cS3U7ks?0_*Y~@yTk&+&MNVU6A?@$P zc!n%mc%wKUMs5^Fhy{gD80<0v@OT)&Na4`XexSlFVo!dkHfKjGTc)gGWLXnp&Xn`t zAvG|9I_uvvkSet{5KpFzOU%!1%I#3j@RT}XgWyfJ9?^-&1Z|TVp1u1aP_uivj2!s6 z(Uk>&!&CkLwZd%A&%h==jo z+MnSDOR8=D{j!2BZ=S$XDrIe8Wp0rT&m2(ARmJWGftH2YCiUKGf;f~^#oLyYN}rJ@ zl`=0t7ck~R#3$2iqVRg&>j8}lujn4(d;lS525aDmEC*7RKx{&g)Y`=kDTf47WY1=b z<%+>d9A_l#F1}ai6TN^Bw8kt$-Hnt&0H{de@Y{+VPmlZV15yz{(OEuUh)ip`zQ_pH z1(O8ZG|+j;ba)sl6v!*~#Y7c)fyxk_EgGZfp~4+Lgq#=e(+`3Rkx4`he{95MRmRu% z1Ec));FwDfzG&Bx0(XLXWcX&HXk?P|@1&x2bu<0hhK3(Z@ZD=@{KP#(hg(25dl3Q@ z1o^X#AZ9y_CfAl7*O1MavreXIN8-3F-`S9=XalGgVI@lc=1hf)wvERMn&Xuk@= zsKZLx0-=UV3$y`{nJD18qqa?lE<s}H)?&4FVd?J{ouNDb%nHFl5ZKEvw92NEar50d6oaZ9&xDcU zTGpARp3D;4&^PSiY_{=VJkLxTpA5Bq zmY{Y@KWCuiR@x^%t-<>)IqfIgV$Yp3z~`*3^$@EPu{Kf=>)pX-eRi+rsEXyDen*az+PudB+i z-9^MrJ_|WRFqXJlm*9NsEE@d?B93GrJk5Ck>1&WEP^Q$8dyy~$Y}FWJ8yLc|1x5M< zN(dKnW|w@hO$I^)J&EiV{!V5DlSP&^z$X#QuUZK%yTL9iH2pW$Ffkw9!HAxE=;mbx zO`4&END9$pZGhjJ!REjEeC^*<$Qz&|5J4jsL;)&YmO+-`Wofk`8u9AHEp zjVbIc8qPAne%n-MzjIJ$_KiaCRVc8(Xv;Gl65hF_kO(C=5=9_Fg9m!*I&IFgP#J612yw&m^JcF&p60LuM%=hjc;+VpY4aYjkVt8YDq`KLyJ> zmw!@rVzsW6pwa*Z!X;_7kU{J2#Hty2N1wK!5O=}4(OM65!Ygwt%~9N@icIuKS+r88 zmCA|18`M99K_%gI9U!crRrkn=d+RV=4Y~S^XcdK{3nI|`J=%{rX=ug1sBYW5?OpYb z*T|)289IkYP>SiaEcz?T`d`Bg9Y@1UCI?%VXf>-VXjTw-o5Skzc9`|tQ0!>}OZ$Wq zEoS~)dgPi1-roD}(tH~6*9G--7c`iCjc+TqgIs^Qnv#k9tqHRq)q<}~n~u03>liJ@ z1g;h}11QC^D@08d=ihAQCDRyc*I3L)epvL}dqUULGfJzjg?70mcQ%qxy6~S*0Tl*T zl(KYUHQ4r2-*hh#g<_4WM!XleUv@u!y(|4APFab#+s4xQQ7k2~viGp~MM~9l(+V+*TQ$bp-tl)FvW&}aqb`t zNRJq|VVD@_@pK5bFh~$)N`)uhpJ-OO`7T$Dz3@9=~2My{#3rXxknYPs#!3-52}76}S!QvNms* z$D2gH_6)_vQ7aGVfK05rwdmt~tnfTIcgKzuoi7v8xZ=Lj`p~g^-cK?pdK0%URY9(f zRv~gyXIPV0#YZ2A^MWv`gzLC?c)zo7vd5U0HNbV$K1>?+pn*oX#OnE7pz?2L_{ibs zN3H=o>UfdZTIAIN9J%6tH%ROqn*nx2m4?P&#cJAopCu7fP+g~f)E$~S9ks<5@baV2bOIMeZyrFaO=XV-~c%K#;K+&=&`$aF4v{v zsTf`Js6U>%2F=E3Qm%-gQFcWf5j9DnY3r7x$;1tpd4`aUvFR|>;-?6FmUyw+Vk>tO zX+A{cFp_eoJ??f`@h!NfY!h$qLXDk=SW+7f7)43bzg$WOrluVps9dX0Egu?C9WSx-ErOjHv0!Z0Q-VX zHYEXsAS>+WVTnT3$%YhDp|N0JDMj~oz~r;HJ%CH9Qh*E^CHcpI`t`jy&h_%NEy&(A z_2LR=r}BQ=jQVI_mCeChi+nwGrZ=Dl<1dv@6(8S_$rUqhd`+N7U9A4-B5r16C6ZE| z32Jh^oK7S;uuMEQMh}Y48GzE+PoF%B4wPnb{R$2DI&pyK5n^?HT(nYw zniNG_b?XO?;~?X0_}lbNouDY@?vz45i*_F5slphNtZNT@HnbxC$=^%DmASlR)K2+v zc^a3yB7_yXBkyQ`i;^~J9yR`+Hq_$E!y@fw9|&$ zXpm#=DqLx4qUfWSQ0S$Y{x?1AD!g!=wVIDGrXgJ#e&KNr(^;rtM#PW4THlRhk(Ne4 zyIrPwCiD8v;8SI0L@#piJbK>0jvC+hli%$bx>UaB1hcaJ!3k*d%dSP=%X}N3(0df; zjRt~!7Q`R}Ycn5dUt4JQL0jaQ7y@}=)CV5se@H`s*5qslvYA^kYpc_IgE#*D~ zK;=lhn(!+eCQ?a6Ft6_JLyT{CC5Et8pkLdpin4xTXn+?W7UhIXh6npwy?tlGeA5G< zQMue7PXU>}!piLkr6qsb^@%{49D4(p$m=328<|tmf=m*tZUEzJ%|IjA)yY6mX&V2L z!lS7XC6)SMSh(sab##-GVIZ)0tsB~!)PSIm;d;qo!Oj#)Vru`(cy&58w{&&$$cBZpv zdS5fZ*uKyby)rA(60eG7gUaYSl}gCMU`Sz}lI$Ztg@Umsrlg}4JVH<4GsLaM=3;6> zKsepjdFeBLHoY8g>$wq;QTOye*~DSv*f4ig0D%7(>i*x4dqbH304V+|<6c`MdyoIZ zuy-2k+HO-l3Q**tX=%< z-=e9VnOmBUQu0-k=xsDx;#ki5`_G2Yz)R1TaYE*#3#W-`{o0=ZdAHmv9z$@d&e`LK zQiFcMJl;PYzuxdap8a~`LPyf$mh;CkOEi%@AxeYo~ zC3H@l)X@DV{T^JuQpYp_G3c-UV0bC#I!D!Qh%j^HnH8Yl9zJfvdQmDzJZAQjnl!|2 zM8pYJ{Tx@(@=r18jhKak{>H_714@0dsC&mDD(BKM0HZ4g8z0M#qm| z?Q7`P->z^!9ld?|_&U8`kyg;yp>`s*4H?EsqDTqAa-DL~UjOZwa`1BTzu^&#)RK`W zO}Y#4bLZ;h;_B+u9kQR=Ozp(Z(vyR$lOH<2yj*-;XGImo>p~Pu0=%Kk(@Ag=^tMy9 zMK>G1<60;K8{TJc-)RGC#RPYOHgKdXxc$~m0D#A-c94J>+S2x?$Z8;l_{SXsA>fZn9Rt5eodcog#;z}#e}2lpzV!Zly!-3w zM#FL+A{A#}5_%8!LL*ckNe{zG-+$U0=-uoGUQ{)ei_oZkp7Z`gwCb^wuOJqTPAWiR#j~)koVyT0RLA zA3dx}nmpfsdpL7)@@j(o<3e1xj3PrZ8M0!;C;BWC^(kW$C}DuBpLlk{L?r+KUN?Hl zetKJ4ws&;6DsD66c3ruhgWCiPp-gN}vaf_f{zQ{5rwk{R4iuY1aiZ0@sD4p|tm7wv za&>caplmjbeKV&Ft&}dOCI*TsccO5CrP+-P={vCg{q&XbWtG6gHZq!CVL2M?DGt!+G-D@P=Ceg zewNBN*nxXlS=Y?q=euseHWkzR&M#)h_r+Qvp9sVR&GfLI6k2cHo)!HFGc^PvxDJFi zZi5J0VXkbA%?cbLj(l#?@z^3IN)hM4WX8ZVS9{q;f5B_a-uYzd?{x0YhamFbXPpc+ zjXhQr-~_1x2!HPzdxO7Ij2t8?H|U9?BOzkq4;F)}Tksi~gl=DeZydqDQmd&N`A zuw>JzD*6EZB!JKtQGY+|E}-lO#p?dz1(9ufmAmT+zSl3+9i{1k&S9_g^{#Xxt`<#P zMKf}=!>pz0W9fWjweL@G881ebKGm5@<0XQ_9MdnRuG^g<0k=gkqR0PRrGxuCg z!`<@U>#erQ>Oq@!DD>Y%C{e@wRVifSDSQpN5!_+S8;R_h>)ak+et*f|p8>As42%rz zDI>+6FT}Lu!m88jcUvK{7BaXQq96v!}-UA`Dt1O5e2 zMKVprU~NV9JOLpsx@Ibe0+GExjVgh-y?)R6BSUA4IbV+K0ZH6bgF0=$-xOuo(c_#vz{&V zj4u?@=Bys=6(>F5CfDnWB5E4C!jo6|L^v@eC1yK@WjW0fW^J%Z!pw>Yp^hPQH#h`J zB}#Bype%7z7%SewC)z6IVqvAbk}1+!gKucdm~PYbhq! zrMc}sIs^Op=B8jkP@$@rrn@>#`uB&Df~!HUV9=^D|CfTaqv<{#s_Lmh)i0O6oTaC> zxTGSe?`Dh?(SZ-LhSd7_*(UfhWb>;;*UQ#;A=J1$9;iB=B9@(_SPdb)BC?!~x#f&V zWJ5oknO+)+hg`qXiNwua!OgjR(PerP5!|gJPOGgR5Y-4|=d5GpdRCF2e{1(=rCqTnb9azu)G_-{mmT`tW>yelqoRAe-yZ8m}Hq~c@AtR zQW)TKu0pubW2kiLFIQp_f(0!#rC`7+MxA;C4<|uoq`wyTICed#%74xC&Hx-^Sxp zov8`aI%{$Og+lhRAE3e*y>Xf#rKf~JA#ulAnPc(dBKK~+F?%4kj-5~D4h{xapi5Vg zX1q{s7^a*$SBVBUSO^D4+>B~kSNj~h)}ojPGI@Y|H%YrewdwG)UPOH21XLOiXG62W ztFviFpUXo)*)UFxhWvf$`js70&R4rAIOO0j|3ut<8%j6r6c*x!R6b zQ0c!wkYEZW!e4liaR?Pp!i<1wr$maag?eo*bf-vN^_00GGLC9*?(vJ;r?^7Vu!5=j z1s+v00hS_D`h`=ZA&Ig(sb2lNrGY(Zix(0$Nf;xCVj}~_BFgZA*!xoe)WCWvMA>pw zDzT)%mF)?2U46GR%mXGN`v208px+&rCPnZd!}}L=$pN_Zh$bt{)Gbh;CH7<;7lcwG znvf0w;7Nze-PtdnVWX*{TyYHoBN&^j535rNOe97%1$D5asJpIxb7@wYB2dq@_yj8s z41v}aP)~Fj+V@L;Mv!6Th|Mm%U4$E6zL=OSST={}fWK7wtVK zecbDcpo)w39{U8lOm*aoI%Nh?o8chVir?DUBt~d--~}_SEW$F3BMpA`)~7)4MdpQt zASE{9n|Og;#pM0^KhFA{g0Q*I4g)WEU^W=bmD5M6Gmvy$e# zafioEm{E1b?(id!Zof|m1;84$NvZ5aISp*Y(0UaTyAr!=A9JN8(lxR!)4X0$!N75H z#s{L;B!Nt3_ek92y?2PAwJ5!C8k8{=G>@+kwfZx_8m>k8!-9=!ldHkvIgEvOs={}TyM zu^w)$tXs-XaHBDmApluKK_ z?NLIda9~u+1eopexyu%+a$+?eL}V}bw+#RqzN>O8JzR4SrEAY+2N$Dh)8b8i<56C3 z#R$g$d?bpJ2}@R6)dx}&rH_2J-ojSbJ4~3vh z^9=b}0yjTU^ODu=aMbDV)~0><-$B7S{;TEGe9y%aw`5?g2y-mciLXt9XWEjnK8E7r zmOb^uApF>wI|uxN7Ff-IJfFZEZQ@-2R%)nwzC0e?+pd z9)0jU;btnwbWMCKHpj4+pxIO9Rxp&z$(^DTWOkw%u}NGc_6+t@ z_iu4U<5?X3u)@|g^>u5v(rY($CAZbTV>TNM#r2q8U{;~*OI$GF;w}vq+PvJv&5(~z z%UO9_#Io!n=7o4vhrwJU+<*v7m!C=}Ge8009vLx-hgXY@zK6tf;T3l6HUzM~Fr#^Tp=KiItDG#`k4u zN`FYe{%Qto$8H#F>Bbq##AVNZm2R>E=w_GGn^moanMybZ%10*RR|ei@D;}tlHnvj_+4n zYwd=s4jq0RWVlLowA#qIdmnMA^&u_*yB~WyT_}(Tu)(+@bj9o93%fGcTsPy%!oSz} z8CGBS=DEjNZ)3nv+R_3s*4`@_%2px9@m>zc_9X?c(!NR7AhoNt^OCWV`ZjOy6OfS_ zU}AeIz5z44&HK!kZWs*h=(FRjz~YvOjY43(s%w?8>4Gz-MI4TM7T{-bNrGxX7@%+3c?LQ#(C&wiQ) z$(-)CuC8utO-&D~YtN;~pm(xal3f$cXb$qw*-!oCZUajJ!M<%Nt3(;3MH+;9f zJo5Qh%L=q4mI9&CQ%l5Y^mmhlDWW$nJqlFR_qHw>v7+7&VU&UXDb(e*$CwtYphv-Y6BQTlD!5EtEU%j@m2)k828jfM_!% zqgHf9zELaMvrAPLSt)Ji8r*i=JqjsiAn)8+LzYtjgc0`)xw3fy(Mh40v_&=n|Au*a z@KOG*PY0aq?r+Wy%iBAL+w1$;*?b$%+(B*E0t_XtEO})B7-KCGO;1o=Z~*%kc>ON` z)|Vdse+fNr=4XCS7kh8lKl6%D7u$wS=-s>AJbWJa`=i~1XWwCiueY%;hi4Loc_=FS zK^u&+aC`Q}6C^okJV$wkY|v+GE+{$V=ul>^$D+ju$XVIzp zhb=ZRXv@;h?|ASAzRXSETnbL!S5`a{W(&uOa*of1WRnDSPTrrCwMP7@R7;r)@hi!C zKTUV^QwQBZNTPP1odHot?+Gw{mDVNHZG2~YH?`*@<52#cZ#I5%{DPKr3^Ve~r-@=U z&oo^%3}hzO>I+dsv%sXUbA9;eCNg~9Sy4|DAmbX6_F4PF_vNwW*Y4is=Y40^Yn%Jk z=5B&-Z`%1pO8UM)gt$Ht1q~@s?PrV2fstN|; zkq{eBDuNFOpM4T92|O2N(qR(nz$Q8Asg#>H>_%fgDe7hBpkJ`V`3tO10e zK}7L(j^mLD7?RBlxC2=oyb)|B)=m|VDssVGx70GoUGamUhV9}JU=x;=DW6mjNf*%i z$dFA~JgmFjO2~l6>LtcNXZ_(H?)=`g3pX1g$N*o$Eg%054Al|LJ^fqRNJd&RY#01% zg?H+LE=CXUDs6Yo1c(VcsV%D*9$j}vqv_2A;WkMYwa;01Qu7lS5`ay&v>gJ(2pR}F zQfU?fW0Ft|YQU>uu^pZphoMhO_=c2_Alf7VSysoS;BfKWolWc)YW_24)J=9)i`HMa z<#w>0^QIT{NjQ0L@C%`r0}}O^JQ=;jaq*ha@%e35P_OJN9zvlc?S@De5ZpNh@)Z|*&wen_a{XL8eNn@u{N9%QaF+} zH`Y+k9E#+WVxhPxP@j;KoR9Pn9IwA)WVkRuoId!vU<6DcEozEN5!6A;AB1{dz<*SI zo>a-058xRDiu>F6$EeN?Z9Y(;ytkh#uee-Ek-a`6P(9#DB<5A}R7V23TBUAo(2UVJzzMx_ z8eFBIPykf$2b3gD0n-r&!9%GpdZK(^KU1G36HcI#MnmrP40j~Gxm{hmOClh2Q)Bge z<~bo+;(Z6pUrP*1tV;}l{$ zBo-nJ+VUvZujOPE$b3$zG;oUEc)au@*7lHR7_iQU4j3nchB2X_9#Ta{^+6YyN?x>Q z4q4G2lAD1ae*7D8zVe@>j)tCW7LXnUCj^r=WovS=i#FNprmErU zz*%|nf|3}nMVle4cA9;5tB0bmvZ3GViP_aq>C0ZZC_XC#f=Fy(iw2f>kx)R1$vnQ4 z9a<-6m=r|HvS^06oMdfJ+%?)3#ffL6mNqH@)O|xt<+^?Y?h=bVW){$@H0JDhn03gN zH2#mo2KBDVMpQev6(}zempYV6^zP1BkFMYr=Z8N-y3PDp=t>(m@k7vH1B4ZC7 z6;(?R#OF)=n%4+cIkAakpq_e1@d zX6XvA~)?)AD@aFg+*ilq!?8HwE z`T==@!zTQTMpZ9~P>ZGt)W&d6VRV?YSU}SeqL!^f1Dl{AO>+k-A1hBRxaq!yV9pJ^T*kThDVMu9gP!CHr{<&S&c`v=9TpA1&ktnjlqfwf z2m0Ptgta(CL6(-qc}L9(_=ePTri+M2Oq^9UD{aGNMT=nrruT|5g48Dyh^@pRb6ze_ zDl|xwS(JGeP#owD$!wjA;Dj6I;Mz7+1cF-w+{LL?Wor|X@yle*Of7TXiY`x>%go$Z zL2iC|AH!-9>EJB+gVqB&XGY$j8Xn(bnGa zQQfA}%!JEohYtI++K~%Dgf>WSk50X$ehqE+=SJV!I2*J1*yJf00W6|h?o?H*aH(`Em;m#!h1_eN07Iisz{X>5Z`qpl1l_cKFJ)r`;)ogAE zM9e<3?biH_ykZ!%*db5r${Iqt?Ra{Vk1f}5zlBTIE2Kk+BY7OI%OU^eyzObbm3WOs zsE-7-Ruz?a?wE5$A(VfGagdz5E>Fmgksrc`Z7+x}dT2wAOxfm4K42e;Ng5#Tb6;jJ zm`JL9t)O;^2lqy--?(yFf@{l}+2sdYhJ0(3`J3!uw{J)qwDnu-TdP6q@(cIP)4iID zfSpC7)D#`BS0nv{OR(9dL8NtHQ-I_}4f{cr30-`>!`DC#&taG5{;~Ek(olpRGkA*u zf}la@B`xddvWlx(jhnUJB4n$@8Z0+7UsU*drn4rX0dl)X+-{N0KbfBXV4Gxs;TkK= zpJSp{>nE*q5*#mFMt$LWI5hvb#^2aF{~P;Jc(Q*f^@s9-2Kz@#!WNFX`dAuw-Q%kE z(LB|chPAo%-~&1xopKJrK?M7NA5pH(!z2Tls}c4G4lBPLQt0fqXB%W7>Np$5gVH2M zrRU&tYX(W^DhN3OlQd35^6CAS{HzxhVY zA~I0t>~k34a1u`20jt-?@t^0BaiAgJCAr=1&zDT^)2!6MwPdIbJ(#BP0jr~;Ay5^PXDds zs=1I`xsYKbnvCK;j9k{40mI(`SL!OI3bo5A*0F?OVcP;b{RIXipgsNGw^=fW?bW=k zSxODv8J~Oc7bhC2(Lg6M%W#GNj$;D>^79mW!M!deQ#St`GO$jdKb?!WPN6w45z)wR z@S$3;Y0II@jwoK$i!m!&Wc)*5D4LyOT9vbjN11@8{@;I>+o5 z_5n85!ai!BdW>YI;gbq$j-6sauI;n3XdA{;-mKE3B2AFsnEYM*Z}=7ZL-0WL1u=S;dO<{$_f?Rg|1HDc6(VH zvddvzJ5As22}&L8q6LrYq*G7v9L_^2K@GT+cN*h+`Ii~wl#OOGPR@C-P~Yb<0$9!1 zxrpeHI|^;0bfd)_dTh-tSo#sZ;QpNWA?EHU&JWe>*_m`BdLc?OCF?k}b?0N8>3wJ4c98AgZn1g2?8H4H8U! z0x|-~A)IjDOgPdX=euroeK|XT+E9eyul|v!Vq@17v5%G@fAU;EVYvzjXar|w#jr>- zNu}oK2<;Na5}pEa(o{@Aq8-1-8-?eSNX0fdcU;nF-016aQV#g|ch0nVfH{iKP5fGmLb${6dHRzwKX#PkOqX< zI>j)D=ZYz)c#kD$TTZ}AuFMu~tNM8%MRyMH>b&h|X%*09UMXoFA&?^>vU0u-plI0E zx0`i>*;t6Jf1gv*@(Ta~nQ%!+@~)O(SYs1OeN~|%9TEacRH0xYP zLH>Loc-EdP6iNva6vAl`U$4I_Md=_8inm53W7JU-krz-j)M>n&i@MP)HQLpADUW-Q zw+rflGzwG2Xh9*y5Qow~PxL1iN6fk~VYukbrYP&8;dM>QVqjj83y_pPIer{>P!-+c z%cKsVX`GX){HkFJ$OfNG-2@S2r9w_OBiI!gikr1$C#@Ivtx^3(yuJYq7!|Y#5e8Va zcr6C@AEf~B%Lli#1eT5%3y)Z0vAWE$DM3&*nX~dS7ZK4qbpyZIg~I$D1Y86B^ux|! zrTpAkt_CPWiLlVNR{s!-GHEu2=GaMbW4LOYxnwr*>2Se-H-JREdki`eeJkfXHkM0a zkit`8;t*k4HK3@o6#k3(#e|Mml;N7kXM`QF1-3U#=`@TxL|M3cz-=;jJ5Fqh4a_5V z8{T^}KG@>F^+EJn;wDll9VASR%I>Hm=A)J8` zn`Iq65%Y99e}o!oqm^3)S*4MSWxZP7c5r4`5tn-x1z~#@11N_|z;{m!4wKcp@13Bo zzF4v44t-|EYcb8_SfOQg_u6?y9KA6G;l*P}G5WlasSIz)vv z>drT!zwydmF@^K;KF)8!#h2>7k}MjzK&p;*2?R6H*irnzDEE*z^@M|ai;J&n9>THt z7+1voyKcGOjzFjGSp#V8a@*_a_vJhda{lUZ;lmatg~1MFwMJwdbIKaurSP-=bNSud zTec0CT&>Y|P7k#;8}U!eeD~=t{zM)? z?%LeFURC?$_InFc;ES+a@z6i!T>vi1GdjkX#-l$S)CxX&;F}oa@)e{=!w(|=aEVIL z9pWR=5Mjmlq;@syvWS5UM5tE$A4FKEFgY$-Vv5o~_tbu)-Je5p73xYeGU?^_q3wh$Y9eJ89jI_?G^NrDE+?i3MbTI)zv{7$h4DUk% zHZ|#_B|V~b_?COa4q5_ROb@;kD?1ebDbl&Tfv?#@NBKyS3G{jFa-`)w-S<#K4P?y| z7A!alRHO8Tc@M;A!8P)vyrEZCA{FkYFP+IhhSE4La6kh4i+D< zUlH}Op%nY81~r-262aaoo9KUQ?Y!fu?EgQ0GLk}yk`n2=hS!7sHB&PwiCrxO#^(l1hwHc04c_~Su$qU_zRkx?us-yCp4JbJ~5JZ*kU)KKcC`$-HN?>#y@X-+%72IN4%$=W#-kS&W(>;u&HvPR!1l*m0yU>Euxy?P)+%@pv@d@`m9!%BJvd4SiTLcYnzH0+zjz z!?Dfv6l%ABxzM-PGVFGfs5+i!(l5PAHNV^Wh_Pzwj|8L6ebBEMiST$_ZB{y%7ytEx zql=|>>*UnCIirW1Gc}E3Qleg$X&jB7oia8}EtefG$+rE!LuCkikwk0Mb`vDwIDQ5@lG!*9fWxRI{fFI{qAotXe$rX9=GZZx zJSutJh-dOoa%=Tel0{UHs2B@}t3`+@2D3U6shA~hW$)a@CG@63Ur2`uGjG@4(NN12 zZQ{oCS%%!z&N){_KZ~joI-`2&0@L2(`Zq`9hh2A2Uo_@-zwn4#oBC`M%{*5le!job~6=jIT0*%pTC`Jr(CPgH7V$xj*aiG2|@yPuppU*umIc)z=l)(Gjv%i5I! zQ^N0mCjbeyoPYeDOT~9H8%QS+J^|OKZe`Adv!9G`| zz(I5yuhO-IYPZGd7t~~3x!ifGs`%rP zM3i->=mPy6>){=vGx^=;ctQ+n*ib4xVb@}EQA!slcczc$_{R(wSBY=i7q8D40zMSU zYR`fV1h*?_Mw*L*(!B-g&TMr^go(d%cplu;|9EJUA?6eNgmJtvI%IZ)=e_x(QzWob z8o~C>i`^OR$oM1Xml~h57oRX8C6q{-*?Z>pXqNS|3dT8fCfFKvZ+SS z_#SZnspcPctPR*tx$oiOQlmtW4U zNMONQtm>?t>f!85!=L#v>AjIte8F)=`$6?aa*Qk!xg&R` z3i-E)WTa|OKFm&GEf|R85^vN_LLn-4<#d+atAajlnvY8pJi_pFKnZi|g2i8(&*%0p zSnd+j6m*vk1Epq0q~WHJQH9%slf88CXS_s-~ywr_HDP907LR)0|S zH6|dpHRgJpp&tQzZ&Z3mxS@Dw#QmE=&2|hnBlqnHTus&X3U?3J>7@lk?$#LXxBq4x z&2iO4r}`krv9WSb#xsg<4X z6uh;0@O?uFulYH|<0b@Ol?c7<38ooqf%9IGPa9kCPKNPrRC6kX=Wa4{^nw}6&D?ZN z0db>uIy1@XXTn>=n?(-PIO~3YV4+Vp5VT(QJ})LPMMSxTQkPW6h`Ub5sPGV79&v z6Y7C4L+ab*>ssbt90$=rg=g96gmQtOLFGP4y!og=6oF8%J*N?vG**y+j|hT}URP);zjD z_YtgKp30Et(4hugP;P{{o0o(ZR|g$2(V z2pSGQhUq71Uy{FmAeVH(;~G;uQ;4+Md2apK;O9a6KD~meDm6D3f7;J=w_meu_{#B{ zR~Gh#ocAf^QVuC7;B}#orOU8BDN~t~^eyP*)hk}$!D|RmYfhg51pBlTStj$re2Y0L zR?FFUulO}2p9hb@m}J^e$AJO;Tf=m$%BGndpFI4tI7x)+Tp>Eiw3@HZQeewu920s$3-*UrDpjBk%89M#d4LIS6q;m!6>!d!} zAw9UeW*3!t$R1zDPeMo)J^qM9M#pQ2M{?Mp3*{pX3CBC8Y3|Op9O7*~J|kD8oiJz0 z^mVtoT;EsnE#CWXo4dD#*=7E9Vz+hF9C&B%w#3iX_AXoUa(oKXsU}tQ(vPxSTL*(e!p;wHk*}|XNt#%U^V`f^iTe^1)%qgZrkst z)r3d#4Q-j8;0np!<5cKeE%|dt6)InjUgFiw%(^A%BTRCg)}G&SNc(I7AxXGm zud#_TlRHuIF_m8o8? zQEOCA%fld+>n!8j%5Qu>d0RL**Ta#cv*4feQxP78~z)|Gn9#jW~cdMW2?`E ze|d3FWUlthi)yJ^uYOOP_Sn0%rs5?pFWvz+Lyx7qF{l_b8V z!ChlnXBTK({@RfTN9x?tW*PBq%fz{BJmni^k5L3OwwVea?UKDcrj2B_rslM%Icn6Q zZHZyaYca>fnAA8N_=b(Snp&(pdeT!2!qxKNk{-%fpCHVXLT(wg=)oRpjkeq0S@G3r zU^>U?ENl0-GQRyw3y@m zs5-Zm@3=nN1l4v;w(lx+DS>yYKwA5Q9gerX+o`v1L4Q|P!&laCpX3@pylNCyX?zk8 ze(7QmJe9vo=kT0b@?S^i$QbYP$|=KmMd-eU#$AOc#$S&5r+Sxp#~(TnYoSatQ+z}D zs?7mm@nj{gy7^(tB&t#>)0v(RbawN^u(vy1Zc01!$%pT#m(V(*dTg%v00Zk7bN`9) zlu%fZcfqwAQqBz%w=P5rNY%yJ2xJlWe&2#sK|>Y!@4d3$ zsU79Z3l+?D8F&M&KlWE{s^h{NpoBHy34|gZv0xpiAT}~qLC^s^cNXs1jS1R ze3?=4y=EQTb&|S<>zna@9~gHc8xY*h&GOD&J$5?SBLSyFq)JZ;<-|ECBDCxhp9k?+ zH1o{}xG~kB+6#Bd=s&-y#2oX4*#KheqnN(+dnSw3K(j*94)H45cbrGJBgn31`=_!> zS%jk4&jq|o*gg%+O|NT=*-vVGPLr~o3@V~#^S;PSClLLmcZPJ3Yl4HN(pMvvI)#1q ztjW33YT{#Y2yH{eNSVn1M}%VhfzR*^QFqPbMYLl$k@<`Z$bin6=uaO`Iv8EN3$LEJee%K{uy7mK=kV}uZMfkmZNa9vlO8OM zjK=MV3bIgC9<^vJxbN{)I^9RpjC_}+iX6Pf zZ_-@CI2Do)77|I9xW9|Z&bL9EJ33EeEV;Y-F1em&SAB%tPCWlh8_9;}89lK^_IsjD z^@%E?TB^OXceESp-8-(z`e})(&ZbJXY5VZYdwZk|c6!wh4%_+VF<(=;uV6HO`c-%P z!cc|XR`+bW4*1-?9*q`rn(M?Puk!snE$s@NUSo@nrI;pcHGl+C@+M;}W*j)!syv27;u<^92 zB+?jo?N?|~AG;~>AOq$UC=zowY9!#|4eFs6$nDvC8+`WPCX2{3C`EX($}$$-*WJ@0 z^XS0yGKPuIjldV?3uA+Kreo4-#l5ZbxorP>XQIw}`US^*!pE$qC{kFH44+6qW=w4W zvNIFL#Bk4BkY3pk72)y?&l&#d8`w9b3(4(uB&a7+? z9S|w6(rat;bG=mJhL!J&a92m)-U;O$mF9~wrrkuZDWjJlM@!N(;LcC+udCun%_x7S zU+m7ON7ERjln3)P?6}J5{2;9KjAw(|m4w~pyU6(lB~PH?M&hpO)GUIalmZJ7G_*QL z8mbmwe#z6q*`QCPyK``4KA@ijDktJV*ob~;D=F!yudk89g@fK+81c)gUq|?8Q<%@v*NKV8Q7dWvI>Mp3iHCo0VNoxM3P^n$FEKP1w)^E| zbJ(N1N7JU0DP{?&3Jmz|gWLKe#MA9nZ?y|$ zk6=QByT&;SIXuhKVny%6;Rh|rjQVr#EK;d7PrOw|rsg5HoY~(gXWD$>tp%Q{&gQd4 zkqg7pB<{+eFl^^ec_!6aWFpmPMjE;@o}PQSru)HJ|I2rLlUkJbg~pEuKaUI9>i(g^ z#O1kvi2U4HpQ2+=3M}r=n%y|fGtY_~(;c3Ay^rbCf;m4e!>P9F<0so|@Qoa2T61l` zzEZO=;(@%?m3=qmlPc$|eCWL7t(n`6oc*Uv>faCy-3hr9DuqK49O7)!7M7M4ZZAvQ zc+G@a{QAFj5#T3->pUh13@Npy^Wox>ImFueI4&v~gUh$62u^%%AF#|U44}%(RFMy_ zZZUlPu~ZbxR@wEr)MaZ16Fc zw|wgZq3(-PNB3F!HRp>Zn6Y(06Ld2cT&Fri^c;738<-f_rGMkR6=vA_eV*u>Xe9oq zt!j8bH<9sP>VXrNou1r1uio;AR_mTlSX$ZUFn=isHK}cfv)1N4rP9{y#^ByF63z5+ zY28!o-|Xd%VP8({FlpPr?QUA;j(}ZnnDr`d+AxV9F)cUTmLZvo`Tp~scJ7ndeM4RcPvGN2KgQbly~ZIeE+_XeTcq#=zuPH4EN{))X5HQpdmz}k zIw;L^R)&vgrI^I$8KchjI=d!MM@v(XmKmjcNcHJ+32(a>@3RlH2%jGQ`6lGx*OIhI zQ4omoK(@w-O;oJZtdw`cg0`K#^S_6+DZg(8zEQpS8I`8|&)gA0FWFDqAZS-E1s!{0v(uLKJ10E}{7qwp=DEk7!a zx=hD&3@AnkFpedKr}FO|o=qQz6v^6+DA*-CTYYAsm`pBlG z&iNt2!rtEc@ApM77Qc?47NyX<2+5BJUTrE%3jzr&MfilQg>Y~riaIzuS%^7dZ5?cg z8x^%kWTPqvzTXG}ba+B0fX<#(S_^@%YWy;`|LFXG#Pu4(Ol1Jz*mA%q?>%4q zjQSi0&Y1co*TLS2Eb8n)z>0p_iYe9j)IudbMr+>=~doUZR z1UQ!$Xh6$_UgcPqi6>IdJO6hrmSdl+pfk`mIhX*k%e<@2wFdNGIhGQ&m16?yQl2z= z-zuJ^9m)Qm(P6RYTccxL?1Nm6HtxF#&?W%mTtZ0m30Q+bbj8~^6aMM!HZTmWl(J_D zXjD3hZNqbW zwnsT$hyb!E#=FE{X+BBoa%{0qWTNAbp@>3Tv^CP;SAJt(LK~Gv3H(|W8Ed|A=PhR2 zK})9$c7VwS7|Rk&nosa*jG~;h?Ei+;4P@EM=&&sTj7o12T&2SvXGO%5Hy)Z_Ig4u< z#AI!V0~T++;nw+kQt{fPKk5f4B(4>+#N}zdLugIMq0m1SWdVt{Xlo=IB?Bm&liqg9 z!1okEhXIpX;yVE!%XK*r2m*s7BG4!V4vQtius9fmgoYy!7$OFPhe1$qJQj+?{z#X_ znozE5)P|y(cU{#Y!fUD~B7dsR0m@&rH8>R26i!)P#IOs%bX=v{XI%~sgT`UNNEiVP zL!)63BnnMH6QRIwa6BAIK!ec)9G(FFp?a|7eJaImp!`K! zgF{hG;jl9{i6VgE84TF+Sof^UAwuC$G?9oW;ox8l3<4vead;#e4u$~p1r!N|BN6Z< z0`!OK#hOsAYt-iVs*{0pX;#dP7P|&C>1V7rz*$tC@`fte9)MZ_wp{hxx*Ry53xS6c zF%Sflh`^u_NDL8%K*QlUG@J-SqVQli0*m|aR8JpTQ#BUx$Ex>DRJGxN#jFWn%T=oZ z>)kcH3vh5S3=T@bz)(;E1VX?ONKhCI0wH0MBs>laM&L+bC=U5E!#5Cv-^W@~X3g3l z{#>=v6L+YXkdp)g@n4+GvqLh5@!*wZf_OI4C3-jKdI6a0CGg z#v&jDEDVk%!J&XBAOs8vN`w+2(EqSqzl>b7HjqD84KC7}vjrAZ7Jw~R4UJllgMuOu z5GWFlCczL$JdTJZqEIL(6a@x)b}SMO{0#xY{)c_I=zBA^I33Xg)~Hr$&njwlcJo7$x@fA~L1pl#W>M)wdB4Dp7AF$=Bh5FXx5b$6O21SCCP(X`=VSx`Gg+@XUND>@^07Ecf zI1Gcr{E2FTb!UoJ{cG2T@Kg02U{1DZYs}3k8BXCCzOp#j1az(SfGt;Dy)Fj`B@T@R zW)6511dKyrkzfoON+cnXP!y2}B~jJ~UcyH+u4~i=fP+>pBA2g)_71M88vOT6 zadE*-xvs&XsHSjeWxp4N0nDIPs?V&;A>xT(0uF}2V}GoDaCl%DfJNZoBm^8!MB>m; z1f|vgP`!cL{9bkB(3-08n4huU0B2G4{Fw^|z;pzpze@Gkx*QA|ivR=jW1wfn;h<0$ z0SYXB@WA>H48ws5z#0KTAmV<;dIPojz3LYq)>I9F{jq8_bg~C!KX@l#%QGB2ydDRQ zK%x;a6c&QRk%(Y02?k6K;V>AUKv@kEQ6w~pL;|D!yI8l6tXUh}-?N7ecy}?@4sgY) zRKV2X{_gb4mQQ`|spejjVo zu{CQ0`MVF_0B2Ek`f1NZ%I&W!t5g@Q%ON4Kz-k9*x>yXDM4*ggXc7bgK_XxT3x+sGO(|_VnJYOMtU+GxBrTb`VmCJtU_-8--Ut)NcL}pZ)XL=pXicRrF;BQ9ErJfU9 z0!#Dp_&w~;cE%~0H>qiRBEEkjqem|3Y0OC~#7;+%oo^gojB9*%ykSEw!C zq+g^|(^=jk00cL{mL^@A&&(={rMVq&M(m#uDCcu(3XE?p0ZO;tw6Ys0pIxSd?1(*M z=_KZ6Yx4uK&cU3EB7jmswx^aKbIZIWI-}Ar=9VEW2}JDA5!7CLoilEKJ|97G5vBBg z7lK#K9^j5O&_uSmwywm?6 zZAn`<3h_iFKg|XJ3_#eI-`_*;S`D$aCpg;>{}@E^*}2PX65;^l7!`0sVM*}Qd`|3M z4O%?jTg>wB=xo4mfC^B+ibKPf-b5Oe9tUPv|BN<^jGviSxZcU(|76;NO18?CTsN;h zfDFpn;d_@!k=pZ1z#p8ayx3+aS46TEvj2*j+mGOHhO{F3$espX5WX^hwT zx{*GHg3<(=+@wqbaDXkBB?tK>%Ipl$(Fu51=MPzw-exy1&nIsN5a=WC%CuvI{*vWP zwzP3t1Z|+tq4#prj2I>3GqoAk;^^~(H` zgmuJQP#!gKaNB4{N)ffiD@sMepuWu&@ZKPB!(e$^O4Ru!3U6acwEN$yJ3;;3zsm_A z1wer-+R{?esI(9Em!!Yb@9&$YB^zs0lt3+QR7;=NNb`C18`8?wwSnxQ$otj7>y*D! zKBLkWg!ScZ@EG>x9mmqsu_*_!FMiT|>NbK~DRiA<*_U=B6z?uQsAcJ+RcSsd<{Jk>v$$7sm%e+JatzGkC(TE~a|7HB9tyLRN_nsC(#I&5=TdLr2B?7A#YVZ#TW&Q@ V&~B#4F$Ml50Z(CEF53kB_J0$2IE4TJ literal 0 HcmV?d00001 diff --git a/tests/test_jobs.py b/tests/test_jobs.py index 3a1eab8..8d43248 100644 --- a/tests/test_jobs.py +++ b/tests/test_jobs.py @@ -26,6 +26,7 @@ import os.path import pickle import shutil +import subprocess import tempfile import unittest @@ -184,7 +185,7 @@ def request_callback(method, uri, headers): elif uri.startswith(REDMINE_USER_25_URL): body = user_25_body else: - raise + raise Exception http_requests.append(last_request) @@ -293,6 +294,29 @@ def test_init(self): self.assertEqual(result.offset, None) self.assertEqual(result.nresumed, 0) + job = PercevalJob('arthur-job-1234567890', 'mytask', 'cocom', 'code_complexity', + self.conn, 'items') + + self.assertEqual(job.job_id, 'arthur-job-1234567890') + self.assertEqual(job.task_id, 'mytask') + self.assertEqual(job.backend, 'cocom') + self.assertEqual(job.category, 'code_complexity') + self.assertEqual(job.conn, self.conn) + self.assertEqual(job.qitems, 'items') + self.assertEqual(job.archive_manager, None) + + result = job.result + self.assertIsInstance(job.result, JobResult) + self.assertEqual(result.job_id, 'arthur-job-1234567890') + self.assertEqual(result.task_id, 'mytask') + self.assertEqual(result.backend, 'cocom') + self.assertEqual(job.category, 'code_complexity') + self.assertEqual(result.last_uuid, None) + self.assertEqual(result.max_date, None) + self.assertEqual(result.nitems, 0) + self.assertEqual(result.offset, None) + self.assertEqual(result.nresumed, 0) + def test_backend_not_found(self): """Test if it raises an exception when a backend is not found""" @@ -346,6 +370,64 @@ def test_run(self): self.assertEqual(commits, expected) + def test_run_graal(self): + """Test run method using the Graal backend""" + + tmp_path = tempfile.mkdtemp(prefix='graal_') + tmp_repo_path = os.path.join(tmp_path, 'repos') + os.mkdir(tmp_repo_path) + + git_path = os.path.join(tmp_path, 'graaltest') + + data_path = os.path.dirname(os.path.abspath(__file__)) + data_path = os.path.join(data_path, 'data') + + repo_name = 'graaltest' + + fdout, _ = tempfile.mkstemp(dir=tmp_path) + + zip_path = os.path.join(data_path, repo_name + '.zip') + subprocess.check_call(['unzip', '-qq', zip_path, '-d', tmp_repo_path]) + + origin_path = os.path.join(tmp_repo_path, repo_name) + subprocess.check_call(['git', 'clone', '-q', '--bare', origin_path, git_path], + stderr=fdout) + + job = PercevalJob('arthur-job-1234567890', 'mytask', 'coqua', 'code_quality', + self.conn, 'items') + args = { + 'uri': 'http://example.com/', + 'git_path': os.path.join(self.dir, git_path), + 'entrypoint': "perceval" + } + archive_args = { + 'archive_path': self.tmp_path, + 'fetch_from_archive': False + } + + job.run(args, archive_args) + + self.assertIsInstance(job.archive_manager, ArchiveManager) + result = job.result + self.assertIsInstance(job.result, JobResult) + self.assertEqual(result.job_id, 'arthur-job-1234567890') + self.assertEqual(result.task_id, 'mytask') + self.assertEqual(result.backend, 'coqua') + self.assertEqual(result.category, 'code_quality') + self.assertEqual(result.last_uuid, '5873807157a089297ffddd74b50a46910eb822a0') + self.assertEqual(result.max_date, 1526909120.0) + self.assertEqual(result.nitems, 1) + self.assertEqual(result.offset, None) + self.assertEqual(result.nresumed, 0) + + commits = self.conn.lrange('items', 0, -1) + commits = [pickle.loads(c) for c in commits] + commits = [commit['data']['commit'] for commit in commits] + + expected = ['10f5a02b553a90fde36a8f151653d995faa3818e'] + + self.assertEqual(commits, expected) + def test_run_not_found_parameters(self): """Check if it fails when a required backend parameter is not found"""