From 00055ea0b505f85f498c8284cb73c728921657bc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 11 Feb 2025 18:47:30 +0100 Subject: [PATCH] Merging upstream version 0.16.2. Signed-off-by: Daniel Baumann --- README.md | 7 +- doc/README_CN.md | 7 +- doc/video-outline.png | Bin 168883 -> 178810 bytes gita/__main__.py | 750 ++++++++++++++++++++++++------------------ gita/cmds.json | 1 + gita/utils.py | 13 +- setup.py | 28 +- tests/test_main.py | 614 ++++++++++++++++++++-------------- 8 files changed, 832 insertions(+), 588 deletions(-) diff --git a/README.md b/README.md index 746af4b..d1cd42e 100644 --- a/README.md +++ b/README.md @@ -70,8 +70,11 @@ The bookkeeping sub-commands are and automatically generate hierarchical groups. See the [customization section](#custom) for more details. - `gita add -b `: add bare repo(s) to `gita`. See the [customization section](#custom) for more details on setting custom worktree. - `gita add -r `: add repo(s) in recursively -- `gita clone `: clone repos in `config-file` (generated by `gita freeze`) to current directory. -- `gita clone -p `: clone repos in `config-file` to prescribed paths. +- `gita clear`: remove all groups and repos +- `gita clone `: clone repo from `URL` at current working directory +- `gita clone -C `: change to `directory` and then clone repo +- `gita clone -f `: clone repos in `config-file` (generated by `gita freeze`) to current directory. +- `gita clone -p -f `: clone repos in `config-file` to prescribed paths. - `gita context`: context sub-command - `gita context`: show current context - `gita context `: set context to `group-name`, all operations then only apply to repos in this group diff --git a/doc/README_CN.md b/doc/README_CN.md index 23a9102..fbeee09 100644 --- a/doc/README_CN.md +++ b/doc/README_CN.md @@ -57,8 +57,11 @@ - `gita add -b `: 添加bare库 [customization section](#custom) - `gita add -r `: 递归添加路径下的所有库 -- `gita clone `: 克隆`` (由`gita freeze`生成)里的库 -- `gita clone -p `: 克隆``里的库并放到指定路径 +- `gita clear`: +- `gita clone `: +- `gita clone -C `: +- `gita clone -f `: 克隆`` (由`gita freeze`生成)里的库 +- `gita clone -p -f `: 克隆``里的库并放到指定路径 - `gita context`: 情境命令 - `gita context`: 显示当前的情境 - `gita context none`: 去除情境 diff --git a/doc/video-outline.png b/doc/video-outline.png index 256be4a523d9e9bd5e92092c85100950e93d8b39..a54ea23165be7297ea55ff6924ce350b21c37e5f 100644 GIT binary patch literal 178810 zcmeFZby(Eh+BQt5fJ#ZDh$2W!w+ILbNW;+5GlX=Pg@_<64Fb|I)X=3!cQd4jNDLt@ z{jJga-p~Ht=iS`jU*BKbc??kXZcu~@p{jvNZLm*yCfRA9GANeF_;&w_fd2l9$ps04s`sgY>A6;Io7*7 z4_AXVmAEwZ5*~q5!d2^npIoecTJzbMNm)3gU*2Of4||I13t}W5q^D|k^uH2MOk;MB zB=~X_qe5PqzJq!T=Q4*mQ)HTyeh3G1<@0@w*Jk3)w|D6J)|$4gNw;=9k+OQRt<{XWLo(bK!uG{<0mMSDl<9haeJ8d@Ake7Po zPprKho>WX)X+^#!7qel}yvepu^-NfXErdXQ%lxH&*-spVpJJmgkBMFA!=5nh1#H}m ztcTiuCDFdK(kDFBYh{l=t1^DS($(H}>Bo)BuU_Rjx2F=bc7{MxjcsKfK7(?p#{Ot6 zSa%{eGk&4rh*=t3&!a9ut#&6cRI~M+wIcDiXf3C2aw7G)p4#HSh%RFbGgFiVVpTrk zq4|#C1k?4SKKV#Xh%e5Jjg%%x9!dN}lZVZ6_17aDxvyleUr0;dA|U#3wiBVV z=Zd9|o%s@*-}#f~>m8YU9nYI6vCD7D&T2H1=UzE)5hD|nd@DpIxcIASoDA9oop?;1 zImU)3QC5M+8DjS3@spdp$u{rk=7XxG7_rknmDJ2jR&SaznyeG55!$~{c!7H1{&`*T z+hN&e20h8-^?>SHs)V^Qtg4{oR8Im%4CHnGzAs^cZRKCfaDi@g#sr7mSr60fLDy;N8%<4B0T_5D8Mmek4Ch-7SROx;MeYpt(F z7$rdtC7TeVb(w4JqhwBY)6)5InT~Htzxr789Jm~cG1!^}^2f&wel!c=n5CZQ8<>(x zH}9UEon^yoZGQDhc;YymiSoKQ4AU-HV?->(ma)XPX_TvL+WdrUrp#}IOqZg-DX<^Jt- z*RCHN7&|1e#Ddic~zk|^(=v5hvC_w6<0cM9*GoVX%l&P zc3Qer`T>;hUW!0XB37?RVr-&YqV7EtTlI=U!~}#K@us2+K?*e*S{=%^nX+-I@R}?~ za3IKFb0ZsrX3N#9Usk@O?v5ghTvV58xD?0bg&ygq*FE+~+8~^1zx39u^DEDgfV$|hUfNMFzjSGyc8jBl){okD3J5@SmIa+`8*0$w4-%fmY0)D(uJX3JO zC37-zQUkt1_la1uO_Eo1ICKOgN|*L&426E#bnso`?-4Mx)pPWmBM@@tp*6oZY7;$p zC$o6oyX7=^C;0s(DV~#XUg(->vZ;8BXVRA30wcL*Gy!>Dr)V_!Eu-v5!=}UZ!+gV; z*(p|+%BA^B^%Ic1<+>$6cRalsuHUb5A-J>Hw}8KCaj(2qM$40 z36}a+$R|j9ODlm%Xts9PCS5&_)`S-<~|4SekUKXj%&t^%Q+g&(6Rlk`Znk{-ixD+@6Ji#aH2>yjEEC$^(}t zVw9qz!V<1lqV2-{9>pI10z*)XqmEdX{`$gQo`~8zdWW33`baj7j1SUVP#TK3v;&TPJIa>#RHZd#k&Z+kHQ0zxoX;^xvMf z&g<7VdFJ?flYZ{j9GSndKdwLi$=R;QcK_bo`nhk+I@^5idL|>j9?nm!O1ujEGAw?q zDx6CE1pKXM`Og?}4e*GcdEiKyPnEk&_)Ng>8{W6L9(;e+x@n8(6%9 zp7X>}3I06QJaS%Oe&$N*75*EEEQFDRksK_J&MMWu4gytTU1Ct3kxmyzE1Wd&YR z-m>_%!R6)L!2*T3P(*m_m$CLBVTb9}>f^1-EzNHM46^j(QrXTu!#LwF5(urY(u71` z^|;-rOr!`&brnK#=|@gSWyJDHeiU8wgW9a-kL;JSwD-~aT<>L5Ngj((RZ>%&i=5@> zvYSqHVpx!9r+(MO`^o)t1>w>yT9uw8Pm8Fro3mNZXS>F$>mQ~+oxaG)csIjTI@TvZ|pwN-Z_Uv)TTRq==@wm%yfQvOID@Ss*W5M_&2ZIbWl2l#}&pE zXWo_%7aK|1=;G`=o779Ty0X8jAd*xB-#eUD%hfNAjlC{%(-zcToO(S)R3$N!T6Wr_ zCMl)8$up^5yRf6$*|%>*Sf{GvqpQ0qINMN-X< ztiw}Cgr{8lHmB!zB$rU!o<_NK%U)Xpj;T!y&^>5T-FLsd`LfN$wn}w-1vrk8h`+$@ z>I!TcMqS))>{u7+yD-+fB{bzo=pfOQ;&Hr}@>$H!V`-LUnxh8p*K`uJ^*n!WJz#Ep zW7Pk<*>X$hyQ@qyemwyv+aV{NIpHtWR@A!F5+n-zH}>oE`0IDJL!G!qjg?IH-6+pL z?6kkqb%*;O^8e}&oiVQyGwwD%Xwp9#`?=oNBz^{63EA}e$#rftcN}HhGHb--E17&4 zf3&4PH=>rMMwzxQCFCD+<_wo=YBK4H-ogvVx@KpiLxth!jwP*z9f;X~dBiEd?rR`( z{xJ#z>zuG)BNY1^t~BRbOuMHlKgO|Hc>-~b8C?AHZCvb;8Nb{-xzxpt>~9&Lk}iL! zYC10>#K@AzknBD>J{H_R2$&^(-asO~Lov#rb?1Sn^~BZu2UWUi@x+bfqo=z`^i7*V zd{|^Z{m!{XUPPL;zuqtd#m5^gg#}|BuA)_g) zs0dy)&7CbR9b9Z2UG=B7jKBwkPao>LU|>+OqJJ%Ah z-zWU9um0zj|8}b0znv;9a_`?y{kO0F&r`KsES+T??ZHi5CI4r^{yO>Jzx?Y&ac=b3 z|7|Y*O!V(h!AwgMiF5yJ)g+1XmEf1aLekqlP}2ghz|7G9uq44Rwm+}nJ*G~;q#~0s z28J|-;sY5iPt3I$!U^)x!-FllD-m**>Nu2FD94F(P#PWuRO*JM8I&@uVfmxAaJM-* z;xVIRu6B2GlTSSQ{HZIksawPCiCG;z9 z_w-0CCChU-)GzWKi?|u`DRAG!xh#!=dEu|1cwE{m@nQNgz1IUVun3qh`Xz~pRW5n? z)|G#}W;HHBPa9{~{y*LwGYun1pNSy);`@ScrKhoQtQM#&eg5&tK()Z;Lb4Z%7mgY| zC(I6DI8LEu690H)^KEICrbw5gzjdS&oG9{CH0pyx~C`tfL?EqZ=35+3z)WBEB3SW)QRfU$gvAEB{}!{7*CUw-x@^EH8}bz|a00 zE&nN0|2JCxQ@a0e68|Rz@vkHvL`!Wmlof)2jrTR4?i(1?y4r>@aRy(QiNCObbj_$x z`Hg(Sb0MrqzubzZhUmLW0v{{OyO7l@Hq+Imdn?23`_nFJu*r%%PQ8+5M!#KkpOdZj zf+c3QI~N&vL<9gVFTTS3sshfB=ZgG}_i2Jfo_ryo6LqzbXCxnG;W2H-Kn-Rpq&K&` zA}Lp3^tu_LhIi2w1Dm-)h7TzHYV;PontyRM)m&}-mFly>i%8td5pnr3F{r?_-fu;F zVeDpB0jP%-&v603B)YVZ#0IMqrI{p*;=(ZXqdk;$C>3XyXd2B$SWvnF;D@3EHR*)# zv}U^mQ}W3|NLPMqA*AnUxKO`*t$HDR$C^LvLI@Ob3(P#p^QtX?tit+-VmZS`85Ps=;@z%9IZ)wC+!>+-y9CBnjHv9qq0N z`u=)KC*fVe!kTsMqA>;5fhnCSO3LS=2}0%i^nf7UJUDUv%uJtpyPv$1U+NwmM*y$jR6D8 z3tapM>yw}-09;aKwuxSRG=d#Gu?|dde&GgB(o@_LpNoAh2V7KCn*pJD4XYfX`JSHe zLR*zy0TZe$WI=o#s};|RPRPLy25+czTOH{4+?|yzawc64zDU z#a^H{oUO7R%;aCf7te z&^=X2lbp$Zl<=)rdFp{tgOPcdfZdGS_+H_6Rt{uO0)M+zf9m>aZ=yhV_r?)Bjv)vFQN^`D9UeSuTB`x$s$d-9~M}-s))gBmzcV8%o1(H6cqTVUeluj!W58 zMQp}*r`Nulv#MfL$Dntz%5f9d^1XpW&D-s}#`P1#`+f&A9v@^Tb&b7R<-=%WOI1fg zbc!HIQn9tKr$tq>-s-wLaY<4Ejeb8r;gbXqSt+O_In?H@m-kDmQ}^p_#2GkjJzJtl zpiEo_Ub^0RyiwUoWe`8Bphz^*crfd;zfre2`6YzhezL+=U5D7{R^Aa2=cR-T*8OV* zC<}86a=eMD1$d@%)mgZ&`7~qV$3y7l6^XJ*Xzz7Uynf4)cWKJ5JS^{0ikJtNSM)o{ zqg;uf&Dgk();THeW&Wo}$Tu9tdOvH;ICfWtZ#!cc97~@4T4)iB7TV+vI1E)u5f#{U zcH$}-QsO`c;WIAdT8`$|#O$tD%}uW4q%qQ3^dn|&qBwMG;x7u%4n&vZ-O7#g8@1H2 z%2%N}pPGv*C-c89oURtY*M^k21rQKUR=4%ZQB~pj7ac{MnQH~{&1+zeV8M*uHZi>l z#@Ra9J>-hg>_6VeE@yAA zSxSYSaYeUOHa(rcZ{UBpsA9hPLm6=`ejQn!v$r`X6&2ft6Q>@Xw0z0u0;E{;x}+ifxSGqnh}<$(|L+y?JkUdGtQYU`916xXs>9DlRyjzhj6 zBwuT#HmTrl{Ph{eP-vPNRqGd*c{W*T4@1G58r?Q$XXvPf+}?sG7LZ4M!e>f`2<&Qe zCJSs7OKInGEJ&TqlVvyADemo^?DYFAw5bBegkct#R=pLlDmmMg4qP?fi%-qKvogwq z@0RT_UJxkrWq}X6jcAU>@)?+-jl7bWyM91$!u0uDbB)W+-#a4rC(PfW-J9-*?Ok;@ zj}w&1dF^%X)7~gnWxKD2=O;UcNn5o;4eOOt zg|@@lG~JX}Ab40R2g-{dn@H&ddx*2L zmn?nYaoOW00S$S31ya2!V&hsHTMO;S)|M&gkbrG;of-^@x{W9!JBKOYWRUoN{%DT! zoxEndrM{Ggtrsn|$!9-X$kr!ea85R!G>82DxNv38OwFRm;icm_T}{8k?!J2$#P*vU zAa(1XC(iijneGF_*sqOJky;KRzwON_wu9SBAx+0;@w%vXHGieRXOnW`bSLeczJsh= z7_6B6xRD1*&kuSDZ77;j@bOXMs~~3{{P!q|7A|hi6Cj(sNU61m)0{KYa&FrYYlLk zJQhUE8vCqUo*o~lsaVxBx{avspB~Ive?Pn}IBCNIr?WhdM@*jUTc=oR=BVz$qdaP3 znhV=F8dkECu#N}f%c`cGm6@eh-rmG2NABmvje}5_cxS>SPs@H!`wsQ~^9#VrAV{6^ zE>H5XaJO--q)vA=>wbL;wV(g|GO}vA-pd8vy+FkY!5LF0)FokFJpo5K-r=Zwtvu25L2mg(APyD>wOug&M5CLoM^bO>*tVMcrorUl2D?_YL zBgn*m2Ih4yD`i6q;7XGv+!q*O2RB&CrYp)6*CRN1#H{=19WQBztw3x<_eM1BQAJgx zh3<2H2grqYQj8sHmTc8I%xO}2qZ@}yX`B7w;zmlQI%0zpwd<1z;PHxW!GdcKd)L5Gu;aXBA_r@LVufvYl%GFFOA%o#`LR=9{0+}PtYg_G1j$-Q- zn#&v6DoIu?!DLnMP5hB@oCZ|2k68IR7~6qWKitJKs;^9WYCUQjW%wW~(s=kzgse4a6ub@RoL`HW7 zaKkCHU^YBne9&}m54BI$%6B#0uixn_cbKWgC9R5S_BS=hwbIh`qx7`7 z8-9V=Spw?N;KtMO4b-Fq{-(w^ozJ>Vdq0);KhZJ0>~|Fxy31prMBSFxGUHIUzLpiO zs-z-V|AXk4J4mTqb!%m>EHxb|*6R1h3^b$V8scckY|6{KkHNa9c+A=sK@dbS4~lF?Q=ByNAgdgAnD#?2c+PnM6CV1*q>;=KI1y9GJCBsh(^jf+3QCF8aU!urMEyzvYrhz?>L$oNc`exD@l)yaPHtTH?AGt2-%*Dvah;4(fhR zCRzQRDtnQjCz~jrZ?m+WG26*43AjR6-|^9pB*#RoQGoP&>+G%*Yw__+0mmNL3b5`? zv;@J?@Oo?UL|O5uZYyar!v$=%^iA+Ik@0%DkApy589n_eIE7=tR^Vgq=0X<-)>lU} zom-++K*v@DyF72Z64V>+(@qMSuzAE7gd;X($L&W?f^q1un&jclCFhqtg}}VbyP)LeJ7mMM+KVvq8dWy<+4in!?H$$f>Gg5_~>^BQN>^b`B3%3ijpXN3w( zeifYhWj9%*1bFQxct8!Ys1ZGj`qmn{J|Iih+riyM2M>mHNdo7Jjj)_zA9y zYz(wxDuso{x>zn#Y0>dMc|pP;dapkbY3;E#F^EUTNUvu)lB@2%(<_9(tx0261QBoq zmM-UUP!N|))aAZ0ErLjTHSUaOr75Of&@*>_c2K#L>NDBJ0Z;BCt(V;C;dciR0CzjI zGZ)0Pj8Lw!Fu_T-$6BL^)%rw@t9#lik};J3O6311Fc0#+3<4S%BDtA24nzPhy90n> zng_qrn&=P*1F^)(u$t7&Ew$9bD%>1wGVuXY(dG1kJ@zZ{D(iaY{TsmLW~=K!C8%sE zR1dv7!}3miXe7US1Z1m1tR)HWT>^?@km@R3`Xz)SOh{;A3*pe8>2LpYF*OnmfQEPe zIuRpmItWRrqxWef%n1-EeBnjA)Vc35fM}YbRHqOSQfpDgFkM3@IUBE7 zDG)^lyhbDRLyq$C@Vj3B$EYeT0hpDdoXO&^rELuH+6Da}Ca^rk0mMoLK&mVeX{k;> z609ew4D2FP7aO>51?D?Er^L`U=wGx>=vxEJKTG(Xcf_y4VR4xh;v;pbZ~ngC}2KVcE9- zJaukzex!>6OWaZxO3hul7-zsW@No-N5OzY-Pi0%2%^VX2?N{C4Cjc-7_j0j21~a&q zkgJLFmK3*5_|3nh#yWgyb@NKRHjnSmub;;9wF{)3mU@A4io(se59ZPCZ z`vRR3lYmo1fKH3+c(KvCTELN}X)**?{9wva%D^5mN*gyyhxn!i>oZieR5v{YXuQ;{ zfCOB^oV>}D z7%6d2Uz*gM6`4Uo@>>(Y`ZsY6D4&v`?jIDu8_Qh!MB0f7QeB4>D`(uN zEMw+@K~@Z_igB{^OGPp+E2rf+IfCVPPr&gnHlwHK6W@PoStedMGF>Wk|${?n?`xC-Z zKuQ^rD&bS93(uE5Evgt&GS(f*A9owmzrDaOXxbc@-2OOhFP8GnMci`4YY-tGOuzzi z%z}^_?;tYW=z3fdz^4qsSo=$3_XV@1SAabt2i%Gw`x_wg&?G%huL(FmGgh8>OJhrp z#PYKZ^>jpV;=-HG&yHU;n*p%Jxi?;@&wtKNG7R`~z)kccpRu6+D07xJ&&Re4pM2zc~D++r3 zsS=@+U#guJ>Ni41p+d3lNK0xu;isn1viZHW^8QLSsnZIx$@5!KP^TJ?*oxS$P5W}{ zXF8~Lvx1;aGxBlwdN6$y!T`#t`REM?k3ml(LRDn7V4|$#!ib;%xCJjmlz)K}Ks&7K zO=o-Da1O&TR$7Ij>QdTh0jP%VXEMoO=^!VV2WgM67DEP(G#j~IjFOaMeKD{reQ94k z|B7a2^{7gFd3U1Jd>u^CTLHELzUs^ID*AQ+5Rbu4qzv3fwKerw8-5V?=$QM(;(YG< z&!M0BavfON2}NW&juK%Hw0=BKGiS0RlEr>^c~GPdhfBv`W*%LVkCmFY7bfX}q#yyP zn*9+?wFJo8E7mYS@6Cn-Z%&cnrFS&^ZLcoTM5V^=`E|!}Hl!~(`tQ)89kCF&i~jpw zLG#WiR)DrW(fB2H((-AgUo{1oOgaIm1)x@HY~Rjo%+&b|BfB>G$F0`@{wzV07Xi?j zdOIZF`I8UBqZ%e3Ufw4Ek2nMq=PGEPBwh16UDpe$K${~SlQ#Sa208`;_LC!M!Z~az ze@hF*a&nP}I&U%{GVZ9cUf_-f27tF~aPE!gZMhe|Ms4D22Cv_K)0-yM6k|kDU))tO z>y6R}F|P=O|FKH@saLuUx*E-T0enf~US$VDwnI0Euhs7*>KNDyIIig<(p647m1k5@ zJ6Td*D{AJOt7;3M;u3S=8o2sQ|MBUAj?kp0lv{7)KPg3|?}NgO{F!yt1?&2|H}Y5t z9Ei#(7SXr>`u>jk4<7>4y#I5J>OVf-Utg@EZTNIVK;g}QggAeFK?s133PI}3KaS>< z03f2Y+8+=9Gxz@|GcjKWHcU?qh{oi^-s(ASIZK~c|nEnTlFyV4mk5s z9xVLgW*5NkSFZv`xh!7ykE8joQC@(G&g05_Cn^K%XDc&J<8TYb$&v zdgbZ*NjqYDq_aJ+1r0vCZVfd0`Jk&!zRD($(R{#T@^8mK)eS@ud!SxLp?Q)~bn6!a z3wLG-lpZCf_gO2g1l+9^eK3TbA>d?-#w#}QX_0uWr~{hTMz9W4D4L_{j^TyM!DB(# z$KxDKQ!u6zP$c)$VB=jXVU+O3A$UbXXZ22e`yq4MB^;4E#w#O#@-J2IH8+~FPNElNbk{bvWUwX=!ES9?SXVJ zVYU0&0>lei{8@w>Zj{%Nw7u5 z##d~Z;DO4e7Zz!eGIe%#bRKy8^#$fbRCM>I1uw7?*4Z)NKe+wfjOZV*4gU zWQ`sZ2YTPMMm}sUkYT)P1LfW!oXSMSUHU;ytpsk}*WCfHB1FV!hw3Ae_i_NvL^`!I zEcJ6uxq`M1_LL6IkG>STj@#Hl!nlTF=T1f9PLOg=blk8Fy4fcLQiTy}YaM4Pw z1@Zkc9G$WeKSUgGE<1{g2>{}-4;MT10AKaUeDY`*)baLcSSyuei}Qr?k8OT= z)7u6bHbFSJQKEAoA((!AZ#!;i5=6QAS4!hUKiEkQAQX0+i&P+AO$GGEtijt2-wB@K$y_1A%~iuAFVJ1 zxaN!IP5*|<^=(uSmrGNs$T({3S8%H`hdNHq!60bg7*v;RbH0wQRbO?rd|dtJFUw=s zxw1w80ykT^w8j!0j#al|DWPL3D)a?M;0z16p*GqDl{mtm02kZ?4~aGdtpE}i90KOA z8O{4i#kLZahC-P(X?~|EGh)seocc$a@{;7SS01j)+ggT)H&kDlc)+llY;nE3_;jBW|!!2((Z8KLTw|YUrv>U$RIlU`Kq- z!NFy$%Iy4tHsDAJY(IIeR5U{hm?;Oo0T06_3GdN4pdL|4d+&Ud^>`7jpFx72z=EaU z(Mrz#5ehy9h&9d7pQ|O(#dFrdp$y7{XmhliHxi#?+t=$VO%0W-X*5ZG7rUVOIBDwp z36CE9sL{p$nyZt*?am`2{=D7u(5yZoP{rrh*X~1HdIcJqVs#*$b(I5qtzw(?=AbP^ zW*)}cKZ;7xBMlEjn+aH#K%kGoXAimo7S9O_T`$_#EXHMH#9`SGb*+A5mEc6{dS-q9 z-@2YgrNK?@a6q^8j_H|)z2Xyqjomf($!iYl$|UB%{WdfVdQ~uxv3WAB zudwYN=#$xGF|H~yykvaz>v--wHSv-kx*OFn7dMdL#phVFNVPd1DjwR(CzeO|QJr{m z@=$)nSr;lY?n`v)?{r}jqdcpj`Mbuts4ieX<~_K}juqoZ><5J_L+S?x)e6bJ2t zwrb&cmiJ|&aS1i?trshd_vt(LP$|OUk@kNrh&=6zIue@4V?82#fq%cGa^QW1*76V7-JO!twmv4CcN>et4|bl zclbGbmIW^R>2YDdLn+zu$s%_^$hugJngp2Zny$rfhw{bSI^Mv0V$b{+`8|rn54#N3 zcPJyqpId;IX~3*3nD~cZ4$TI>EGC0)X-t~(IX6h#Y&Uu8fY@c~Loj3FUeH7gY*kz0 z1qlt`7hoAhS~}`*MZ?YA^{H_mVd3ItXLbBOr9a{E-zwji#IAqTS~w^`D$R3P>t_Oq z1>`3Qz3>3>$;vbSa4n_ue#G{ddG%GnjA>8UV8+Ywp~pph#44?0?;VKfoxWTd1H!xe z9tounMO7t=Usgb9)+22REZQg^}9pLp$>xuNmu}$BE#jb#Hp9ExL670&4Sas&SIcu!)R_%P)5?w2U z+~JsW@9n%zT|u+)uIQpfNg6k4#j3Hnc04Z7ztF6$BgspyH& zx>_FLI$4aMZ#W|i3pCcrW@p7gp;MFGFiN_3?d}>hw>t*7Srb93mbxd{egL!Kz0nhl z+-ys#4UhoswNTQ1YE6@)OKG5`VtmkAL#i%b>Hi2^Ee+{52b;l_3}BXTh9!h(3A ztJ}5ee%Hh=kJ$;|YP3w9bKm77T4dn>7(>HQ9{3|H#WTq|AV4Cc9yfGRNqF%*Y1G4H zuKY<9dN%20MaG?aZ+C9$#+Snu2|3J*zJJ8G&?IxQjSm*aDoJoI%B`>trPLW!ERaJXIboExG!?lm^Z`+9*+84x2r@O+JYW(%2TTni)t!Y$+XZ-+8!LusId8U;E zKD?cxqG!zSU~k;S5%?_Bd$6pr-;G5fjWwaLe!J@f3gszvw9LXCQB?ZK1@|%WsYBlJ zCp#g{QQXaVUUR#(iPCIdO#!QdsMM0NmMc>Zbw%SEx27ClK>G6CoUSX*sk@QU?@xV5 zf7dt%lzbTnB7+{{ly`Ni`khBirYi02fuiQ1)mvO-9-W$9& z=h%;_KUhKR*eU=7@z><S**Cg#7^9+b&TS|$*FhPt%`poY zY4|L{s*C${53L|8ZgTa@g%P{CO@lnOD@Qx~j!|L~CNdQfxuh~QF18Yc)KVuL$iDeU ztC{NtkQ>6dg`NpZn=3u3D<{q0dyEPOG=4j^4Tpf=cVW!K5?wEBVAZpGz-N3$qORv(g!(Gr=4{rN^`0of+T@=``_iN@283%ZG}Vb1ICs! zGrsn+7OHE$B{=CBYUNJhqW*`ykAa4u_!$;LHRz^q=H;Yrw~6%$lIBX*DKNOjtOJ=& z&>p&nN0b3NnA|-5X_4#l;gC3>=Xr@1gjf`2l!eiY3^Dqw@g|A5ShdunAqi?j*noO~ zh`pe|F_zOrqniR(rUlZRzgJZIqf5xR5b|qP>?7CkiK2{VSZSgo-3rRGfJ5TM>2UGA zPteZp;!cCEGI>}+ffNHQc_l)YbgPZM5250hy{C|$ER8skM2QuCZIl`{FdakekOcVM zlvq!E2b<#t1KwTwNPpZ<8KJTcA8Ee36uhn(Gh4t&1;EtvFA0Ry{Y#p{if2u^Z9oVY zt*!g{Y!@_HJzL6t!A)FMJimq9_HMazI6jC-FQy*d(TIuJ-BZ;w71VaXs<=aF{F|4A zY6EawGxc1JWQovto$qsA8VJU=Y82s$KaBVd2IG=#4ofI+#YlUSCAx|qgM@u z@J5~p+$90}N}s1U?2OsfrmEM19XIwV%3Czo(;!~>-Fz!ytfcqaBGT&K z2YSD;l(*=aFl0DyM=goo|@ zqj1<>tj0rtfe^S>0zJ#1ZwHqAwR?f>Dpz0AH$i8|5t;?l`RZWSyF9XQ|S7Wmx;jGEG4HJ)5wh~>0Gm{p8AjbJDvwohmiTA8PWmLe zboL?9@W+8_NpsG+sz))34}W0qcx>}N>rRFSRyl2*2ItVpCk}f9p#V48+yM&rd0GJ; z6vT^2Vqb}q3GfF^j({FYM++{`^l66Ci;6%GHd~Ni&9i1u zE2eN~X>U3KiV2(d#@@EG>2^>FT*IS-&9uZGPi+qfs2Ba@jgMYHh~Z$`R`h3&b2$UC zInI(lY&4H>#!IQBii_;xy$TSKK=^@<>0x;TuO&eCang+(G)I1uXe2z=PW0$b`o|=G zb%%{==Szsk;m~8h;s>UJCJn3el!%gp+Y-CGprw9XZl2=4?#nXvJk-p*_^^8a)VWBU zSIg^L(rem?(dR%hvGqU(6FKt9$v-~o*J3R2i$D}L!@+Egj>%Q$^>aBr??lV8zyB6M z5vyC{6{`5X_iAJb%h#Vu@X)cYNQU%9pGf?8%OExeR7}Yp?R+9Fi7QECC+ zUxV=LrIV$k{6y!%k^yNp0${_p=4*8;Q$L%=Nif~K)*M?47DxQbA&IX(nw+lcW^YZO zC>A9O7#9X4o18l%v$YvW)iseYHvvNF=<(520NnVtGgV`*#=8}XtG}xm>Rznf%GSwWJ-f52 z*$FlmjWTS2oh6Ld40IN5GP(5dMz)KqR1K34LGy};$9H$ZZV~SVzMQ4Qxux33%p@#Y zS#3*>dzR&WqZ#5;o;9>A8z8COtstQ3W^x^nnT?mDNsv-|ur3M-`caaD5TGh)bA2Nk zR}pajXuMGxaVk0PVmj8kL-M}yI@i%3Q|0pW&xm7%O6wT;<_9NgV3p14@A&? zX$)Sq6U~LS`lG|SXIW*rk6N>zV3!xi=1eTWzj)U;)T2p;lAKg;c4uC|ifn*N$bENE z0e_z#sAS=>wx;r5F1e{MZbA%XtirkzITmXp0ckQ$AwjkBFa7m+ZAhYhVS7nVJt8Ow z8-Eh)z`&kjzbR|}XaPhlb3Vb=9auk zdurVq=O?S01(?PgO^RdN5&de7+Z0zLw26^G;B~z+I0IBuW28&LgRklcx>%zZH2f5s z5$DuMXe*ewVg)xN$Rkm}TG$m7Rd(rVw@li2Cb8ww7JE>nYZF8E9)Cd9*@a-(3({== zMj(cORYO609~akNUY_{)+-=T(xQrfE2XD02lsa_OuQb{S%MaCY8%<25$P$@0LmuP${?7+)s` zm#t!OpD+v31{*m=;H@PAuWD%;clyMzXK)Kx^Bp!Qh9#;4n9dIZ&aHtcptobp9o=Qo z^ysXK@_#;ZRcSAk({@c~hVAUPT3qG+{dC%ZG?d66H=kqvH#bLikqa;vxCG!@pml~5 zXfyp+K($#4rd2=yrl_g8_16Zd3VOw+<)I$MBf9zG#ivaVW4q5+A*SwtcgUX0Wb*&@ z$z@5T17H?eFwU2^j^*D~`H0WWvhOG*}(CY#^X+%Pyf=&_EREH5kFKcj*pe z8P&mIbqw{&`r%F^E!;?aM_;Wt`}Z!HMs@B2VRb8NME)-j{yW_7VZfBv06S({8xoUx zZ~r5NAnvL-yWsB_Yh>sH@|_BGkN^Fkg4OMEUgXJiQXWy0l@(Q`m znmVkOA*TBPc!kivB@@dA*=`WnL-1RDu+Iwd1Yxv!IlVX6;nr{O&qwb~q|{}UgZqOT z=#yxVyV>K8m(ZsL=iPU1@f0LItlj#d2DZNzuiVd%(Ru^`|8|V?NvxjGTAM+hIVCj& zY`tlmf>hY3FGJts-#+LXiKH6V7kTlLeN?kbmioMgVy8+|3_oay^Ykek~wBbv-9(95(8+ziH-vx#OuZj26k-|OxHVSqwUg0)iG57joWu{5Ui!M+<6%{R z7@S1C>26xUXY_2Y8(i%tqbt|#{xS&RM8NHuZm&A16d7dR3S$vAZN``~eNK{5{Ebt{ z>DvRJ?atfwC%?8>5yjj#Id_xer4eV6<1kafsZCjcLPPwXmak3xHFLL>1#TrW0N)Mn zq=*+lwm#^`?6g40dZ@f5;c5}Eb8i1bE&RDF@g#{^&iQ-Z3N2%7(qPe# zucoVL--7>6!`jzD8fMQAxj&XKy+krzw!S}`eK+_Z&DyxC|CYb;Z+}F#Er@@6&9WU% zm;g5fGgNNmTj2H~Rf&rg@FgGsexwgz9aA|1ywjkzM{Vq*!`c;2FdgXa2fGRTIbauS zXB~32e-mtXT=7{~1AB3VPFo{M0oy9Jocvf7UuDyF zf)<7WAD9=389Mc9lTUc6nhpU04M1HqZegxCO^zFMXjYfV4x$n*gJa?0MR? zKC<47WG08wR;sb4fOBTkOCsoPAg7?F2&rJzT~&VR2H+x>G*)?y>zNQ70{76sgdoz5 zK;G?%13dkZ)@h=R9FxH}mpD2ko5ubhVS^^#N?`RZ<=U_VF-! zBb;;eh6oV1ud2oKT#sn#=Bk@$4#LJhr1d!{uG=8`P96QB8IIL_mbH~X%2zd!HJ1y- zdM&Qz#xpi@DnQVjedn=+$HsJSL5U$Hp%!Y>r2*`#6q|dxp1JW?albIMq|kI{HFY>Z za+5prRh;MYhhQaIlfkCm++o030#J8vGr0j6PdfC_*)Wfr;R7%p=RETG-jC5Da9X$r zP^n9ZeUFf}Lkl9sug#61H@yN@$aGmC-%?Ek~un@3aKwr}GR8InkbGFQk;2pJc&vyUPf09 zmJn2XzF&U&&AVr>YWn!1gX0;0i&36{*m@|_+IJsjyurSWw*9yo9(wQHUekKayqML+ zty${H3ftl@!oEAJV6JCLgt3_oBvW0+=04aaEQsm(q3$OlX7~lz#o;Q}NreD1h+pLP zt}9#3jB9V$g7p=x@Hv7Ece+k5OskHk;F{Il{GacX6hNmK23%qRb25+IAHatorscEC zh!7|V4O z&EN?N#dj3uMzQ~6fsOxJV8hca)z`RA+!K~iE_!iTJ-ydeKm(oetlQCYia?eV!O?Q^ zNwFRjJ#Qp?`WT3a#Vo!PG*3;KG9wB49~46pE)t-?D-l!iq|N-4D8;>AHtOX!R19+Y zn}&sXZT)7wSa>wwTsjwwC5(}S?N{5<@SBr@V_ff-rA7eJB>1?rZOV}bZ-m1DNj`@7n7J3MF09ix4}UdDEFhqtMbnig(}Ul&T*9><6G#%@GUibxPWj(a|?=skNGW&}@_1RkxOiUn58 z=E|%6p0@1o34M#6tO}={mtY`wE-`eCaWMQ;j>;wP>QcZB-LQs0{g)NX_UpN?O;;ez z(ZtvlM&XqjlrcD1I1efC=Lr>f=APZAJlBxhKnk7(cJnq9yJ111eBHSUhyC; zEkTOY=f)4WYty%pjKyMqEb?xJ{dge|sow%{g?s1646$f&H~zWFil@1b^bJ9ju&^!{UR~Zs+Q)Bn< z>@G-|Xr=lVQ&*k$Sxr6Mv(Oc1fUOua$)NN(*IN9QcMVVg2s8~>G*1$A%?UF6q~mg~ zg>01%VAz*x3fzWg?G7(LAn_|gv3Y-ZvD&9+B5>DWc0L(u#jcahvgd9*=L*v(t7ktt z{_~N-v+!JNkYqBU0U+FO8_!$gL>i4Ae1Lh7-=5dGIX0d7ou*&Pg>l?GBUP?TT`anw z3P7rJ1zYCT{K}iRimkv+;*=qaaaVKMY9L+Ujd-pvZW@Bag!Q|<0P7=Cj{u3Pgq=f0Vi&?(xsV>zdp>FDcO&~Of78XFvScN4D7Pd``PY|~K6|4?&Pfp!sJR&{UBGiaTEusdgG$Y&&PyzHtocC#^lmr&} z5&8aP=!_Jje(T_>3zYw*Fa%~T-hnQCq0{G}^ku(3<7{q5c7=V;Y7N~}MTEiZmyKF3(F2+@blN1yc;RX_d)0F6k>G{lS|{r;EoOVc6ZPf}T64er4j zq)4BxxNQubWOI(rEabf$IxvVdTDnYSI^#nH1l9*uqL7Mi3$_0SzknPjneq#(H5(kmy&W;o*w;VyK|5E6-9o1 z3t03$PTZ{HjL6UJOnNmwQ2Xh@p^+K)wQLKb3lVeiE_ArLKZ_vVW!R4{&aPDhmoq8x z@w{v#*9RB#8(#%|ZYk-Ct&@O&;_%=>Gh+x2ML)U+uvA&~LKHH&(+6hE@evvU8?@MJ z^F_bC^>83)dW^mVj==Qn5L5M6(10)0lieh;xnb^D4ef>Bo*5s)6X?C)&X!;B!&a(> z1u0J>Xhq+CRw*&^!;XdSvJ4;`@xcnrL8cLV-(&Hg6ELy=(xlV6X|VosVk>Oz^(}F+ ztU~Imk_ec{Ex8LyAjE)VPJj5_|R|mO05+P^=_^ z=8Z%ncjF8J!ux{nTzKsq-nY+z?1E$UB|tbG2DL9WNzb&Np;hb|{Jt%jLdSl?lDDz! z4GtIO1WilB4cn#_(bm%;-?Nmt2D8@ODG!Y&^5PX!@8@#7!bKTYjm-`e zCJstH2skCstmz^vDZp}??+BX8Lp(rYHK`h8(&%uA#n#nEV3>2`wC2ZH#Py;tflF-m zWv96J&S&tgm@ErdNfq>1zgJY%hg5RQ>yw!Z(F^`3x#W$nEq{R1<^f=JIH1Y}@HYw( zoWE=d9t44Lk2Be8;AWk2_sEb;g7MqkM7ze!oXdjPKtuA_HuPNTi4Yu0^4=WEPQ*IM z7ISWorQ>n2|dWChaW9}Baqe~BAY<{)$a_aOgyNSzgdB@TYuLs;_?7w0-u8f$a z#gfmufF!uQv_pj5Sr^xW-t8Nfe#sq$nZ4WDl`>jw`nb8jg_s^B7ma%&2+LY;^@#r# z-)->7d>Cjp9qAaT9sw+|Iz&GGMDeG$$*sK_lOFeE%;$rd7H<^pD$Q>4+Eh*8;<9b; z?g70lFtVG5L-S{njo{^e+F!ttaVnx2H}DSWFZ0x4_wr`RSVzD3G2`=d$>-3s_wXB{ zOtc_?_NZC+GY+b9N~2|oa@w50>s!gf6)WEd(1shG90vTIzwPz=cfB$c1+S=iDgE(T`-gigaz*pn zE~eSQ|6*Dn1Z`(+x0P2VLf|<2>y~Tih;6xH;}s~uvXUPRTb^?_B_lk~>K4NZ55gjQ zbw+j@7;sCm7SQ6H=6F>biCs_cwd^ zkbG)ohgtZzetRjEXKjZo@mq0ty$Bg;Qz{eaEBG0e1-pYG$onP7ohw(mRrFmvV{MgZ zr5aaNPGho{2{&fCKk>`n(gEdi)%!}~MD2THPvz(=foCq) z(Z9YNN_T-V);R4}O($VOa732D3@Hk1AI@K8TM}xpYEQ_g43lb0H^SXJq|_KuV}G!C zvqp2LUGe75SYFdHvE1~-H4(usbkE!?9&N`JuZ!C5>|&iVsfyk;={P7&dT79VQlBdR z?YRZ2b>?D;&+e+4xpuyq7RUjofwDEP8` z>?4YjKeKCf*q)pNY)yeMyS_sm{rbrbjc?MUl~y$3S;eo!$=&9@*7%GKxLNr*LFYNF z$X<9`p7hFdO-UFo-?yV$;$86PnTwEwF}p(=u?jGJRru%96*#lW<(r?cGx&+0+|j7j zNEO{@{hZ3llV=MIpLVUt-0jNHn!VMw>YrKZuf~m4{mzPAdkw|vuEka5Hks41e&L{t+p@EjzB3n!4Yy$<(N3SY=JO~iH*WnZ||*jlUThK>ly!Iyiy2u+3CR!!4g{6TidU;Z_n*EZ0p=g zt=QXbCr>LJs4a+0So^eG={mW`^WM2-G8h-7#HsRfdJQQ8Ce>%xBCH57JMFFB)$p#B zBnOPil#j;Jed*9M>lJ8568N1b6#@tfvGkLnZT~HzB=1vXikKF$|5n>~=Tm-VTtv^} zP|?E;_M*fA1FX2FIelJjnXOB$ zqD>KXwR@e2Uy$?l>Y-czK@g$k)dl0Y**e@G2j0Z_=KB)rgWt25YmaszPUw@VC3S5i6lsN1wFNj(cOKGI*gvE)Dw%LJ6iaml zjOx|-yoqhuvJ)t$?a2hn4UZ;zG!sLjQmp&`caYYI!*5s6crQGmuWSZN|9eqln>r@3 z2+hd)`h2Rod|dimwvOKy8^i9M@qIkqIUq^1l7y)hnj|Ac}&&@3gekaP6||*cY5U0!>Rr$ zJG5#%C0)D*{TFmk2hId91ykFhOM@I=T?uTb7JX1K>OP(9_tn4n?#UL7@&Uk*96L1E zP2^vgQ%!$i;9DcC-`=GeAg^g8I+}<*zxWj!PEAcCu{Y@^Z-~NFf_5sP;aPBqvlbil z`mu-5Ltougx%)PeF0F90wxAvf-j_?>5WGAHp7`(J>E-nSSO_)wE7x0ox=6;(`YU5= zBHSUpQW{F^tC!NaM6Mp(0pPlnt{;fhi_mmskdyawnsYczmSBLGSj z1v`*xY`-%ix9JmV;I3YOR=qQq|JLNAzd@J7Ja4X{zot+ zFk4*hHzp}d>T91Z&ZNWPf6M!F729E7Jfy#fu3k;ME{mD+c&P~UXyD-Imh<_-Hki%g zaV_q1J1Q^_qFnrRT7pRbl0^y-^@L9*)+$4|cOcx)YeQZVRrMW8iha&n`MCzXhX5() zE`gToP<_;i=X0^c;Rt>B=*5x-% zD7PC`=KSOwpk*HZZ+JV!8a5Y45)b$vrt4)}B~7eLcz47YD-%{d&5+FZkKZw}O#P$F?W4`zEaasH zc9w?y$v(4I^oK~h=ed(}kgb0X<%aKQ+!|WXDVY_`kyK_JrN~)g`RciU0x@Ycs?L42 zo_w=Nv+2xJH zAnf9Ufea7)@31H2f2OfjSZvz@+-;X$G{^DO8KheGqmyquCG5d7L$7h<%Ip;g34dDPQdcfxX;b{?v0>*XU zgN1->^S4F4@UqPpFK`T><*j3JE`-bRs=fz(Bi`se%S4e_Gv$$kl!#H*Wb^mBtAn@P+ zyn8^1qc(yjggqpkk>o-##AF22?`P0_Fgoe2X#MNP1x502d&Rduw!XUQtvQfb{m1p^ zf128VD?TRZNb`#3aj@^rG!RQY01#&gXjuuo(|=o*T#O<(LeX#@Bd@6Q?#@8Qhi48J zzegmxF!8#vDF0g?4?r}%CGG@t_%96C?Ha;Xvl z8_iqo-mf&iXd?zYP#Ex0ibVZoW%!sBLPb?JG4SHUvr>!BKaY_H36c2wu2nkhY z`ejr(lDh7VWdfg+YGQVGImB9WX`et+Cc3+(S#&yd-Z(0giWE5{XAeTEp;T)df~>6vCI;0t zV7}82&a~!Gi&jIX&-i{HcFkLWM-S)zdZtJD>Cd-5#Qx*_OL^j>A>5Hn>py(^g0MR5 zM%AwT9ozr#??`et0IB0Hb3#wdhwEX>mju>YD=3AO9BQhk)mUjfwkw~Y7SzrWw_Suz5# zJ9zqdg6Dtx zt%*!~%QFPwC_d+4ootJX1CF&ilvinI{2aebSyN z2-WG{kB3*Ho*W}MOKP&O5$G==&#(mlxO0~Sg{|O=BmegoVfeA2A?!AL<~SU}cu8>8 z&XNiuWX7pE*vaQG{_tgj5|tzU=uA(B+-YGLxM$ved8@>{iP#;ivL>?Pj0nkSiU<_a zZe=On0#3i0HqhS;wTg^r=k$zj>)`x)AJVx5f;EMz2a7oRL}tPZ#h-9~6#RU!G{z}$ zxL3LdgX3X}8bRCPOMq|>-u(U?hcMyTe5!xPK_AP9g^yWTbuaKf_q_J(6yKf;DHJ%A z+WNL;G{aOYyq{O*dOIwN?<(nlgx#H)o7fNw8Fdfed9F_Zs8nQZ_Ms&gWyA4ZIJwz4u)W3t zrd`3>JPYm$xCLW@TFOH}U3=i1tsPv!KGQ6RUEs6It9_D1B}?)7ld;9fr^B(QOPO|J zx3t>oIzN^>&!xDVtpKkx`9WT?WK*pSiY=T0HNYoowS-u$|Mr@PP&A2dcK(Q znsWaAevEK*58b-I^PXYAI{NYxB2Ys|L<=m*KrAo&^G5=NYBg)*kbSF9JD@-#WS{msI{FYDDk_^mSaQ1oVJ_x~zuZghqLg{u zRG)))Z(s2ZJZ(7N8A9V28pEltwVSV7noR>5-r=&dC_~a!$v_;n6NSV}>%i{Rtu`OA z*e9d58oPV~yCIA`nyWDK8M6y};?K?bl(eEpgm!-)V{<+W)h`eq4|=72xW5e;OY351jNfsHccEgFFnpZ7sck{c&fYKv%%W zL;A+i7Amvq5BGDO?U6apf6qiD${LekZ{HMfEYWn(t{PH$J0-Luhe4% z(${_KY|h?3$4v0V_Zd$5Syb45cZnz{+_C`b9=74eCk9D!EN~;(TGG2NZosTdMO9?> z64?pDQf8VjD-5;MqsKewLrfm70G*~pm-KU$Yta`Nsg-~q`_eJD7@RZAX(c2dcUZpH zeH@XK`i3E!Z)J^$ZzUem`HW`=fseBOhCZlfcm7}+g{9Q(6Jx%MSTnhSR)_MA5 zobta?fF!oVnKT}17Td8f9C-$HY<0rY#=uxEL%jz-ITlC{Wa-!rw93pSWwgSh1+m1J z9*Bcq#uLQIjktDV7v#^j2kQ)2{rH(Op(gtodM&12C5-kvsa6W}67edbMPJ{j@LBK8 zr+5$HBvTGDZ@kaR632uocQ{0W#N!)vP1Dowk8p#W@S3Igg zl4%XE<(ki_%qKkCY1m1fe5BiUXX(RN<%2JeLXORUaubqspzI$O&1-0CP1=Zx#ozj~ z0@E+S3RJ8lO2mpT8X&=~E!O+q7CL^Ru^1qP5iN`5|vbPIH)q*@fC29_B96FS18#-$ANl zr|A*l{-1LtodNzXVIEO5{9Og)?_!=yUx*Ek^pmb#&c5`7$q!1>R`9mBIXMZ%Z46Yz zLwmE=|M8Kffdmzhxqh%4|Lncp_=BM`&!Uzn(QYymZz{3z+@EQBo^oZsDjY2K$7O>L z{yh74$j6Q2KSu$JvPabNH*wb#T1+-Ye?;HKU!R=1>aW9{?3kAXPTeEX~}`L>Uf61Z=EEKCo$#y zW0C9ys?Y?UPu#b$!4fox|NhvQm^~Pf>wyZGEt(!){w}=y?GD<;2zYr_?1IzdnaLxb zzjxWYtoE)yF_UMYg4OcTZN&y&{wx{1{0~fv zf6Zu>Yg)3?g;S8i2%xV%))2&Mtnt0Ry@DSF;C!(w_K4nP=X=_j@xIk?Alg7q1Ly#PSGC!rtv}wmsK+_ zW)H?E{?|rco6Fsnr?N{Sm6T&k$p;T;sa;VxJtjelAG1_*X!M-h_?6h9`lW3Ef1i46 z%*Fd7*7(Q@72Ixk7ho|9!|dm+vFz3xjANt?kIADs_21%SI06Xj$E!X2b*e}lZj2hf zyp@#>UDU`;=-l!qspsbV^R=y)Dr|)PRiLTL0^Rm`vcM|m*;|DjD}+^M4Uc=?SZcs8 zJ=VG(KtK00*Wk+rV-WtKaD4DI`^%j!dD5hWtJch5blUwMd!|QlnYYvpYX~5Yw0Yj_|_HNzkTf~Y>2DaAo8hrV>_Y+ zQz+(N5vqv$(ATpnhM|Zt=_CjSpO)NhONhLYd!%}MIFM`}C8l+-8dsxJ?Y#)S+rC~- zSy6Q9wb`@);%DFuZRG=ZDcnix0&YL$Hh_JP5B!~r1L*6GGxXowdy0XpU1l`bsV_Ld z)5!#%^;;jjwlDaMM@3Kzw#Kk(+yTFer}&L*4~S^MYAB)WMcm!ck{KetN-@vPduC@^ zOQYp?fiBnrc0S>8_iCbqr>JJXyen-#1mGqXEc3djQVZpv#(P72&s^xTIfOXul0?K- z%VxP%=WYv2DhJHIDp_@N2N9b6YOgE9w`7mGmyR%3v))MmdH;*lj1Nq*?!eYe(6PSu zd~pfd;2YHTrbKw1D-ws>H#4+3Y7W#qvUwgV<*KRVhg>IUu1f}y{G538epOKzu1yIeM%+&wfv-Wn zIF2`#9DsM4>&)Zz03NYZjI>K~EQ3HKwWT$Uxteh!S;Dd>GYMZseITS!sA^wTF;uPa zz+wFO;iZ%!c;X^8@B|4l@8Lw(-|BfwVzFXW|BXb%1s})O*rY359RK!B+!F_TAoJ*Q zr7gE~AB)aAP5VOFjd}lredx0*M!)OWE9V+Q|EdU~V7~-O05^V7nV%pt@fga_1qy<$ z>lWm%{IfApJSU%CjCPxUVC))w2#O8ZWU!dtvaU~+09jz*7wIo5U zgzFiC(eebyZJlVBO~mNUAV6TxUGH&u{XlH%O9sKi#$#h%Ybx7dadCJ3@wy;R6YN9a zb*e~>T7W-fLM_^Mbl(SL6^I3gVge>shYT6lis7@y2SGs zk{5dW8EZUt(Ow^VwCMe*Q+SD-j|sAD!34Yc>Y%|zH~L;CCEvx976%IbAsw%`qly%l zP8PW_dn?CoMs{2;`!%!jQk!*LPe3bVqX2C zio9fJ%#^tdUj^w-(AL|cS5D4#Sqgis&m=t#VRI&ur1HB=sFC*0(XNi8&Xt`7>_EDt za}64>q|V~7W&}J59g?y{lV=XE{gexp^u}L7%->}fK0N#sJ_VP<;FK0ReSb!Qdg^l= zkN7MRNpqv$$@+=%L-cj(fo)P0Z$5eF2^9Sa7o#O^Zc~cm{0wIyHFvB%M-PQzkyn25 z#47czrb%(>vkuiKp>*{|v)U;TkmmJEXsIel7+dC_{&@O$508CE8$za8h5YTATxU*t z#$>mS+V0lI3;lxIp2igo8n`~>!=kdpP<&7c9x(rIB;dPW1=33-3N6WDUm|&Y40V9m z@ZW-GsWw<;IMM&Q&^W_Ujun#@0hbF5VoWiS0kaAPlL;-8x6nb$LSVQ)ICLTYhyOTI z!3(r;Xj{K#8s+u%I!=~9Yb(L=zGLMKs(U3gzF=UeRVV6Px-jPFWSyx1Lyv_s+HVHs z*zcA?SflAV#z#Qftc~x-=Ikep-LH%-_ARJYC9x@kNTRD_Z3sX#8-KlA_IjyBe}21SKX~%2j@ybO zA_x(XY@DZ|3kyCrLU|!?AVgI-rGB@LmCkZSsj}L9GE>j1U}aqV?>^`lLA?T$-$`%W zxgoM@IK^BGKqO${;hmad;E>$=7=8_HQg8DT4o1p-;lja3#o@G_cBZNJbp+6@-Yox= zAW=`6FKkQ`+7rXu6R3Mr)+yHGQa1q+osOI%RDkEn48whS@UnjeG&}aG%ULo@M67hi z@`QPsv@7Hj7>cEQtFh{5Q$g1bTO0X5j+@C1nRZRQ(KkbmL~As@ zYc`+v#Vgv1OXTq!w#;b(6vIlf6;29V>ljgCOnu`nA_B>F@%ZQrt^&*w`yK^OwuYTr z5~xvTP5L}G>0GVDneD9BwJbgF+_jZqVtVmwBDrvC-qb)Y1G8o?=DNcE~ zW2p;=_wHgQY*SLG{qhCl*C-%#*Vk+Zf1JQyg3>CsnDePYP5|SHy z_1p>`V|$U4zBvV7I}cwzB-!jVhVz|ZvTx+IA~OV)PWS5@#KO{v?`BawWEYMp>+Z() zYoE<+i^>!^(KY)J2rg9}_D01fet?dsz|Biaap=P)YX2VKFq`PpUy0@knHyhR)Yol)!20|=JFC=|#&^`Qi zz$Rv#*B_#~ZN33TV_XujgS77Vil?ydbvMZQE`}YxR=wekp4k22li9Py{&F*tnzjGO zIK|DK=)c?KCzAhwEbvv1Ng06OHEmHyaY!Tw=F7@BPh#umcj4CWMc(cQzDy-^m1F%G z7U>9 z{)m%?Gn~zQUj_59OawpuTLlzD^NfSu82d6pbx2$|Q_NG_?*^`3@uBgZ35gHV(rBR) z^0T;_YLL`fl}LicS3t5IQHo)l5(5+YD?muqW~52(2Etppx$t{n%#_6s8@XpC@PvsR zN0q=;B<5iPI94>hg}9$pi`~+QGK|D_W->VCq^UWuoOZ5bURDv5g0Wa>VSlB^hSlP> z1GQT8Nz+Z>s6PS5+&#;HW+J7tI}4_6bp=;MY9j2wHbpO)NWdP7gv|HAuaU_y`F5%` zqTAHaK6A8<$&fz#dZ_(4rNw^6FtXQXp3BJ|!b59CjL@k`vQh&qNCKF{kN2;ef06zD zXf&(Em3O>XByP>_#!7oOg*~%cS$WJJ^#{RtBH0Hmp{xq}J3OsG<}T=@nsf!x?v$v} z8ZR=`>qvTOii}-oFeYHw&F3L=Frt7CBGAOtUKI%?MfX2fxO82P2ZKuI>z!j*FyqA7 z7@na$t~z;o)_2wxpBh${ZQ7k6a+ImodFyt)!SlhnA?E^QUoguDCMjo1CCN=sgN=Lu zPS)N#2f~YXQuUFvqRJP9P_5>{A}LRmiKmV+&gmtmmR;u^sRT3A0j01_Aiz26SFeNk z+A_O8Om%hTI5V1(%K*KCL2CZG7aP);f+m}r_Jlv2ORH6<26@-u!jE?!0-VmER=i9b ztJKw+Fq%5S%X!qLlI)8fs#J;M&G%RWq2o zmpe`>o`Xw|a+XcrpP-%M37enbs+>tL2>MVVdV=Tp>GXK@_mab1tkjLtY_CqSV}1++ zf~E%dLPn)B12MC+1sWjbhYwv%#CMx7M)4>AyflGUm7i5jstb)KF>QDYFo7+}$rIAQ z94?1YeKEUgiClKr3jNp=3;v)J4?7LYFM@c!)J(wTEb;ss(95(@I1BKVnbMu-Ybzwi zE{#sJ6}$P>^$cpme20SXE-#Nc^a_=6;{y7o15}qWSvQo+L~=fo^Js^cg{x~{pJ_aH zEWb2CrO|}!{r%A-tBn^L*PfzSWZmpc8if^p?}pg7J6$@e%VH;^8_}buU(jL0AYTVh zo~r2k(ibw5-3vm!m*zk5zvuQRi&%PGF(Mj&D;uEIhPb9bsE|B^B49EZnQg`JBPlY; zY4U-|5)pK5P%SyCy4C9p%Cv41Sj^=F-r#4~hhoF!Ew{W&<17))Q-x|j{|+u-v$1CO z7{&7^Ri-mX#rK=a@}N#wjQ{vafSJg1+LdjWFnL<^b1MRN(PuA&uh{Rouf%TT# zf9+<8xbi26VfU|Bp;gt$+&De+*0PJ-kENdx7Ss`qMg8`tU`~husc^L{EH?R>EBP z0Mh4(Zo+j@YEufq^MGvEE)?{O!If&O;Gd*lEw+`M!ihOiXY=57bw-74;!2hpgX>gcA1S5Q`>#_M|sy(mgNj`k}FvXf`+)SvszT z{3CD(8qQWi6bD7q3Q zLxYJ0GXg>*OD6dUtOqbL zEXDFXFx!td?n)L4(#_GW3FRKRItDdUS8ifQ6OkIrTHAHZIZuL8o^ugpC0OPx3!xtUMX1m1qj+n zRFUlWFM&fy;rwf5{KnT3=q7t|Zqkozz)0&k9=%uB6n*{0j!3Nhdwyi|K{wG; zzGx>h)FUGUEj*iU zK8E8bRcMXoU+`S$W57pqo39w0S-zfT6kXZ#*20?J;)KNAj}5r z=h!_a7$B@CYPAs=S%ZEs4HA$d*rO>IBt2j_#$`~U2ENbifQ7awlDr9Cx`aWQ*Xf+5 z_h+oXnBS(gEaT?jLe!V9eG}}NDXh=%zy4w=kg_O!I?4dQ6fVaj!B}x=6`*HTny`3b7{b>LQEe3u4E!wkv2T~@Z62^YneV* z;FQO25_`1MRY-hm1=h6HHSLD}v6aO0u=NGUu0{Q0>;D-Cc)@hW8V~n61uctKIY6*} zBu^vS~*Cyl|P7JIw{T)H(^JwrLiWElr%BR7bpSH*nn(G9BZ=!r|x zzOPfU&UsL&>a%FfKz$Vp7bpoQ{~YO5z+hzL@~&d5UbxWlv6d|7Bgw%0{z4QLuM}MW zXeLTNzicKprre=`Zhv4qtGv}0r5~hwEeiCA-KRzElF=7v%CA~(NbV7qTIQbK;Adi# zp4sYn6OnP?z;-fJ`zTnSl-*m#S4iPxzBYep?h}7CcU^SEL2JdZ=tGTkJ+HmS#D7iM zo=BcWYSinorq6tD!v0@OOA4e*f)B|b4~74}|1t4xHVih_Ks!*~Yx>~Mmt&+)f%QaC zUk+Nbkdz3TSRPNn&#bcb3JE;mKCy`)N+amHhokb%zk#IjIkaoTKZ19CK=dte$Uyh* z3<}y4cA!+|FAktLf^|!IPR&p8@U6sXsPfXnBs%IYP;HrOyhe~P#y7CS+LO?XN_C-* zJPf6X9&T~aH(e#&xe_EM?^p6KG&B5wv`4ku$WE}eTT$&08D1DyrQ%C9jNrdl_5 z!Iqt6w9+LyBT__hYqiX<+%6euIEMA!TyK|=W5NJ=U-pTG7GeUynWA;bunRl17H5Wl zCCMc0{J@=!QrWCUa4m%T0%ul$Zy97(v7no5w;w#*NAA6vJlI_-Z|~a_O zsS8zQvXzoHs4M6lZZr{anY+Dsb2_e_!o?D9ShKyZoWQSu!k|sp%01N3SIHEVyhC+Z z7^Tsc@0J?=j*4@q4BewdI9IsQwu4dB zf~tHq)}kb}86<(av~n=^$^;^Ve`M}6CZ)NtbLBjp1mB%t_;aqa|7NHnI_S|9aPhQj zRJtipil(Z()RfvywV*y{Za$e2usjM!L>FJoMzJF+h7LRd9Kl0%?mDF{us1RbmEOU1 z%@-v0<>I&u-#E|gem2`z#FU(3`$_#t{?n3BAZhZA;lR*}z#-^>+S0BEI4jHO6J4tH z^*0bAO7oSx>!QO=$>+o;OjwGNvV3`(bpBExJ|E{+wa^^B=Fz$N^Ih{r2c)*Ww(|dD z2OV{JaK6pa#ImBq$ZhxpKEv9&R_rDZOdkm;1ug(~hwbD3@Ar8?{sC z+IoOGL8)ql>lZS!CeWy7d=>8-U|m3FNPKcPaAzDzagvV4GiKQwIH@*Xr)!n)xC{YLeiz4N32uK|WN_8mD z&0o|Xg^SQ9z<{OLBV^cB-)9@<k7`PC(M2NzZVVPp$8-YtVn%_ODhV- zK5Qw)TxO*5HY`P{^j<}OcLh`H_`SM?`fl~}%tnpiESk>(=wR;v4kt|TR-P;h*6Z@8 zfXRiWC~5;)G4WpprNuwwKb4% z3u7(tGi5`{TwkBKPld<#8Ic|@-nw=XGU-!TmgKYn?kIFTpGc-P+!pSK(x)!E*}Ei^ zy7fC!cBSu~UaP(`qF`J$+qcW77Iw@m(0N@qXFHO^V=enEdxwXBu}-NAx#5q`MQD*g3@~k-M3Y z_{>5NvvfTZ24yo=Vp-L8eU9Vm!5fV;}x7W;sa{y7on zTmkF1Kq9*WP2%g00a|cAs-!t(B+)(sI^YDO+kUOZdF$7`m+^=@z8jxbp6eAN*zQ$0y8H7heAM)eX z>E6u`%YHmhHGWtv{ZdH+q=@={3QQ_~^T;Hz)nU3%jjI`~0K2+m+hWysn={lMcndDquFA7inIAjc2+z;xV<$F^GJU`{K}i6WtTbUTz8mHiORRxRj%2Q(<0dNA**?ZAEt`b)s*{#E?lU99%oXigY*Ltt@Q58c3FSl={}5c2ugdWKY31)EC9C0iEG`Fq_`p4>WNZBV3?og2IUmC{3qD$UpVcA=i; z7Td7d+h5Rd>c3gq2&gNFSA`;%rT6FcKzFA(r*g`_kpdpqcO6ekm})m=9^i~0t)k{g zJ7?`C=^>*7cwM!Er?fMN zjDErEE$I9y7e)7*vv@{;j_#*mkU#RyDTn#Z9{i7i8!tA;=cw!xU%d9-eeh8v7NKkw z{Q_>n$1C6-=%;JP9d~l&d@1Jj2ksP^eB=g+Ov~PE=KGmf8D_~TF4*H9V|+6FKX-U+m%^0y zo{7+Ddp6zQfp+Yx+uF5%v}69zj$O{Zq72in0{m;h?N4_#ICtD%!4N&LG48Rsz-n0O z%$p2ADVJZoL55NWkAB{5)|Xm^30`0X)|h!`W5o9PB}|mr+r+rGSe}y(RJ0OzTVr02 z67$_<6q#ym=;!^$%zu&g@-$rhjzM2q2D5bPOu(dMrlqL-eXXuqhR1uMyW}WLRq)BqrFhOycSzx#&^&$r5s9GjN>839`^R$2AVPBf z`(8fK#P?o-4rttRkCxF-XoPZ`8Pf=O_@Xzd>Faj38KiNz`0_tD4#x=Y$iVfUSUsSB zZsMT>?YBD=Ycx?G$u4LCi`8bHn9H#8wt(H2%izx@V3;UtN|AmwP!V$?K zf2iHHTdCt%g0ziG+&Pc^JN_d2r!3p0GybaY%~{I}!c3ArCIDp~=pnmykL7ExS?dk1aEBTeT@giw`jK69xN!-~0G zt1OwJl+P2U>RJK#RVye<_@7eza6+pZ3p$wsQKv`xqq6@!fjW-*v(7pxK$vN?Vcm&{ zf1zVB2l3=wZEJ`E>=3~FYX}*~{0-x#O2-5}i3d6(nmV%-x6~C@3X%=$YHoyH@M+ zi+Ou3^{^n`uLkOq!t1zWQKbjhCvJNj@h<4cdNU5F0)xu(lW9J@HaUgr&(l;5nT@-F z?eLcS!{LEv)77p3W|p7Rqnr;F`a&!{j4K?Jh9x>SBU9hxQP4{`ObP!vsV|X`BgNa( zyA|*wUDDbDTIUm$?~vK?a}M1LGrxr9ax>mU76DIZST#hA0Bar=W-n^Fo)gm%&&M(@ zVn${A^Qv`E!ez{dz98LkUd%+@`81MglPM~*>_oM&cu|s)PN8uk%f8&Fyy*0=QQ|wf z$aUK?yLJ+QO@Lp3%oDk0`u)?TcnoizvumreX}{utqd6Kt*%8dj+?F4xRSyuVyGv1$ zZL-J-hHszF7SnG{MBm&IRuRQ3RfXfru4$-N2+O)u>b9J_Y!ju3!-{Lyb-baUejBI2 z>sim%RuA(K5oXOM{UH__e@;fKuqWlJe54yZ_p25KwqbI$KI%VI=@KKm@;*l;R9*@# z^Ra3sJ&b>)?IlS%SCWWJo|abOyofnTJv6rr&=WfuesTxlSAyj9*|%}@LAs*Juw~HO z*86r{8o2r7Za(9NA+9Oi-^C0wWKRi$$Lkx9^Dd$TmxG17Yz%>FN~f)Pl)}Ebf+9c> zBt|YVk@`de^=UUMX9(*1Kh!R`=br9e|Il2|{b<~w-1SP9dfBf#kGZ4% zF_?})kR^pUQ~1#xnQv(G$ZpJM4}wrTLEmqLrj&egF536%3Q~Ti={qw=?0i}n1FXo) zFu~e%6Zm`2^zGiskg0jeFw`q3I1|-!@L-OIIKVyAT^LGpiq}7jjaH$rUms0hT>k#) zF06l<-J!kOgc_*HocV#T{0Xrd6!@64IV>cq_&Z$bJmlO)25_Z(Zu>2a%y<7Gd!nB! ze3A{b56_~KbN8CKRW?ka2`TfFGW{SEj?=?|xj@Ty?TD9jYRU3_QMJKm-EAY&RkWy| zK{@$its%DQALzOjg03@TmSF-`a^VPJ){C3l^fry5L4-aXT)g_SG4M1+gTrkRr6bKmbs4XI}ns>3= zh2l3BP?`kd8w|2?nf+clvzgb%9{sK=p4D+YrWtUs8F^dyHe0CRWS|38jQ=#TnSuac z9V^D8_ojw-sBUrY+Oo=-0n=06;O4=#Fex(#+=a8F>opS39wPY_dj#%2xNswcxGbH2 z(VT%1HQn1F#}K!8GAD~^^}D-kTf}b=>i z$sP&GN+DYa$xeyvz4zX$NLI*Yg|fMfkiG8bNxjGC`}zLv-#_;s_i=P|a9ytJJkQs7 zzMkXpd^{L`#3(y9v1Nfj&ldfQ`ET$RA0B|WJgzQ^K_dtyR#?PbZ%#}kNZ3UGsHOM@ zWH<~h?>L@a=g@tjZZJx(mJqVGzgx4y`K@X3Et^qEx?~~x|Qi}y!oIJrxr0}a@R5C>wVG|0NZm|R;`9+YL#`(ys348 z!nQ^5omphlrLHuzN}Wi4`Xu)yC*USiZvOHO6U`o=lHK%OGzlZ_K&Snz6ihmQkX;~T zHj>(4>>sw0&Uv(C_3Gl^NO(zlc35d+7uvP~;`!k2k;wv3Tw`Cw^uB}K3H~ji%nJPO z3SgLvLl`yHM=rKu=`qbispRro7L_ivEY3x10exQ)KCl2DQn!EBkHGnzfAW0f3w69K zQr_H9D)hGoy4KN978U6VUNrN^_fDF{X3dYpH8fTT?R!eC49uB`1UBkS0F|p@uTx>0 zRS7Jb(yihjxs2ygUh2K)Z+cN=*+ihP>s1nZ91#fASN{%K-(EC+Pj8?2tOCg>i4EEC zdD8a!_iXGZ-ghQmWm}EoTunVA2fZEULh6;qOWyg(?=Dx4(YNZwQlt0U?=?-e=(djz zP5~6O`-L;gqrq$kc<(;}SU9TJ@B>}kgO1O|&RAGzfrxV+PE0akL1y*$%N-+E^=U?^ zI1P_l-uycXX9&6qW2Y3V@5hcLfm6k6rNTbW4FX0=ttj=XFc!WR=&(JRO-p&7y#-{E zYzTM-x&;364Tf=0l3C!@zrW;rO%kAov(8w7$?iv3U#h*+vWJgxUlC4|JaQ3&{6BF& z@&lx(10xfcAif8PA_SA1l#D9kO--{`VxfL^Zp zvs`12hSumOKx_DZv;zEJB-2uSE@kG(v%l?NY%Sg#upJC^5kpS_cM_6Sxazd=7-?Mi z(M^Jv>ox5WEKJY7$2(ShsJWW2FcIn9_A!$N6h@0+0SNFhNY%h}wl& zfBx;g-9^_a)&Y;>M6V$cJXqgwl@u_;`J3Gye^-hQFJ=wXZgcY6>x0L8fz*vDco;eA zHB1oB&^M4Dqo_ezA(0k~eh7)1WB#6VhFAeNAPsNP-CL$ouXZYfhKAdNUj9#)Mn5LW z#RzxB-Ne--{apY$=sEd&4i6TAI9%GFdjlF~kl9DUQg92tY+ncH#Y=#)eFK@}u+ep} z8ZFbE35F0BF}eP8u4wS4>od>wA^|Z7IN5}YxK;zu>E?QSX_jtHb#by80&nbq^i?J+ zqyUzvkxs>b4YVk;sJ<$59oxYK1E`q7=%&8!{Dm+EK=u?kLD^c+xgi5&E2vO#sS)2P$p zTd4w%Ot|>h(eV2R4!E7Uex_lXP|*9GZcF90MckGb^qqMNK_D=|M1ODC%3-7ha0JH;i{7)aM4D=s1M3z{7d z`wb97H-$Mgq^p7T3 z`0WXFYM5pFO!8F5*3UuuuIO~JDLS*+{1!FM-@A_CR_uf3*Ik+FT!>ekXf@V&I?K!M z_ET_yuNt?X4Zmg@3P}qRos{Ln5&E-FVNdsgK`A;PcW4_#NwJabfKW19Hv=?-0rC;t zn^w%Hv0b3h9kdG!qvODU3x$N_zo)>>iBZ1V$sU2a7D7%7;3q85hV%2Sa;5|!=Ne>h zy3ui~He_-a{tWct7}8@A!fHN6|BdnRbvLIA@|AX0NMr+Tk;T&_m}Gq~+z)+lHkrDj znk4=)n4Y&{VICE;wfNJN(_XLL%e#Mj-q8d~hxzd2@im}>&Hn~$WN=9` zH^bcj*k%9gud&eglo9g%A0Yd`7V&@m;R0eDF65s0zy83#Ov~R^_8$}UuNOscAzm|1 zXx*VL`qz8^^)t_9!A#1!YyO?g`ZN0f{gsz5A=UM=_Nv-{fBS!a_zM{K9;wH7{yotD zJiz|_Ga2lcGh}MV|F1tF08=J_Z}Fd&>5nb>&uO5)0Gt0Jc8lKs?Fas4;{NLx{`DeAo82;RS~&u`=LkM@orYBwkq-huR`%=$j4C>m}q zPcVtReFn|r43OC&r2IHPSkeN2a#Op-_pjx%L-xsgk;wJ(gt{uWAqhJhC9zQLEL+9; zTu6>f-=h@{>%fzY(vpCz8P6>3WNFta9_ou8JW}#foKp^v&hZjv0nOj7R!+2>TQM&%4uU7AU=AW75+o>iMRisD5FQiz z9e=!GUA)ft{;4CYt z>%RbP%ef9u0WAv-+)rl>z0>XEhZZW)9l2&R6I}DhCwaK0q9{EbjV-v*@?WTLA1r=1 zccvhcku%4l-1sG({?VR~@9$i*%M{qA#iE-%66sNqDERVE|37)>-~In!l0La&JH<@8 zp5yX7T>3K%Fz{=e;`%&}UMJkZZ(_t*j?uelv?8Gd^6T#1rR zW4?=ts2M6={KiHiyRYUlP|T(Ga?{2E7HA^4lf}1$01I*zg4+mJigP=AKJF|H3~t|G zd2;ifJx%a?dEL7Gd_L;ugUhX6#!XkiUMh;m2GQ68ciqT%Vu=zZtLy^7~J@0J!;+FE`cTx8DwfU1e$&#&azH!#uy1!{SbuPs9{5-{W0`n9|n!SPO z8DRl21RwJ%piaVp9MOz=s)j>DG-pv>~-cUBA3uwmqv4Vyhu)iG}RL#50GIl|>b;dQFF>C*U&Q-nLWb^mxV=zy?8w<0z zx=@DgFXP%f{b6TMp~ej5<$34%Vt0L;WAY(vmfjhsZx}z+n8L_oX|x}{^fHsYB(e=I zv!~+Uj-n00cbhVY(O3>Zo^@P%@^)nGsit%1jk&W-%Uh^0uA$6EY#~+KE?k>Wna^Rv z;Cgc{-oVy}g-_!}lXL#JMFL=D)mV&>r}}=T9k3LLe#WOzYzU|~`%Gwx-D%wP0Q-ym z9eB`626@SmGxp(bWX$R69_d|6fi}i4pT(b?%hx3AZQGx~&bz>|_tNJ`jq82vw!t7# zJXq|Y7IEjd>7v)iHe1|iIYLmd$G5}^-*}z=@Nw+r^$cXO1(^(vw+}*uH_qmEV{7=+ zpo|}%zDf%nL(=+4hxI#~GbJtALymV{zWGGM72=Is1%pJ@kSj1YVg6h}9j@?TQcjtZyLf?>uXNJF-h9D%uCvtH8!zg+t($fLkG!lOh5%V>#_eqWapd%#5=t_a_i%sobJ zez=g~&-~y#G`jVH9KLamt=gzIOL={kwl%Dwfwx|Xvp8B>x*k}lZEX&Xm(F~nMsuVGon$uZY)9ai3tL|-D zRWPyaBZmf@LG(y?6(}k3DE~lyG#dDhvD5oo@T|kOCqZQDnkaNe0RtZ>Of&(h{ ztbDx}0=Lqj#r??#GKq(-Pzlf7fy|4>X&ne!RjXH@jtw|eam4QoUs6i;Ym5iMjDZzr z01@CtTU~G2n5?V7*4#1g%N0Weqa>rBUNL?X4wZ8$D9jYzgm@(wI?_bp*^PzXZWEmR z$ z^|tW$bA>yx3Msxj4%K20x0*!u;uejH5DuMd=OsB>NDY^)EUY2G?fk&@hL$-P364Ve zpH5P9EbVIc1W2j01X|{DM&V)Qf!rC){)o%j&x^1C((&KIatJ|m)jABbr*>xKTwg26 z3900I%8yTcxx5UHQ43Oq^QGcg6X;p$13{w8pf{!0$%)qnoQ=Aj!Y<#3PSc4_7jTtPyy#0c5!J^*+;UhPe5EEBL2nt zFTeuGxNH$GA2FPTwtn=i+0aPo$J)1m*SwP~7qjp_rE#TUhj^>{)9QMo7%nXXgmGW@ zK;Gk%sMH1&+zZ9@sj0ncv`(OM#bY1!q(1@i14%%1-Swt#2Z2Ia@-KIBOG7TX#ZK_g zt#<&OOosCrZz+V0AjjsMcNq`p3c2i0&%DfVK`%C$+v3FUox8KWF8*bUxp%R9?#a7* zO=7Xg*(Xf-G9AGpjm>vX)|MDT5UgE8xk}g>+H|B1DIBa56!}*;zuIFtVSBCow(lwY z0VY{uk2PSTy9lX}H_H<(f>9Ts)dYHRl0SjI&Qq2zjs54WWx}wdP0SZ>?N$Y&*YADn zsKCA*rtmTtY!J2niYgeAvh&Y7UEoY7bNZ>~nGyT!6JU!VC`Q`$-X9?y9|lr_t`F+g z3=*7*3Y5rdVR=jEG>){rYuIN431!fQak~YCQK#ejir-kCOf-wFOuCxORV%-3K7mZ= znMn4@r`CS&f796xlCy%Z_H=&SI5H2ZaBd)@#c=l;Ac+*54k#y=MH>kHgn*yW=!7E?;dqj^rI~xSTM8yS%-Vqr4QJlitz;O7!>yPjwnHP z=Wbq|U@l;em_+7~7$2$g_7XEx0=ohgT@NRwf>O<5M>$bU6?>P59I z606zNisF7fD!UM2SsiSeT_%poeaWtlZS~Ih%@D9cblOvmM+Fh7Q`We?PK_zh4FwtH#snx5uDS{|#(3`jn`|m-1cpnXjCbSwucv#FGHY`!XXI%I&hpn-^MP4xa>z zlo5|1sWH&1cyAP7!6e=T^x^UjoQQL?spk|*(xi!*Fem)bl4%! zb;+;N6(-!b-A&I^VM~YD{ZzE3sdo&N{iTlvFskft%%s+C(-J9J7ap^@Btgz3L#jsd zsWEN2dK!{+OtQuyr!YljrvN#D_oMGWy5}X+uPcQSy-Sno>G*L!VlRW9TI_@9)Ds;PCgfok5-Y}Z=cQ!0AFhOk457mH%;TUH7#l1^?eUu?Y)sGoMUfXf3J@(nVh zrA&PkMd(|+S=37lAVG~|D`)IEcjA3}X}jDVN9Kh^f9|T9*VBQc+gGxgm9w_xLF-+F z`V4pmRM=ssZGgS>5r(Ne^5kd1R&V}R#+xVHHt%!bD)9qGLF1ebF;Nppdpks(+)#V{ zXQ*Yu)`5O1tnHWWcfVq-@6b3Tz5rMUld=ot+9m3b!xvKTZ#Gj*F$4f$Al$t_>LK@o zC#Y3|kX)A!-SqXWqtCV)9n?q7eb({60qs&6q4%tYvaLes%XkdfdM_~E13aAX0X$vUX zx9i82O+LINtB$rxJl$cJyh!x(QxVEH+&@=ubYd99S?;3N1-zT$&j&rQSG^r}w`H9~ zTJ-hmQ*K82A$foI;5}y?QyMYP{?eMJu3uHbw{{K2J#6`o4LpdhGmFlVsb>w9+c=~G zC|KGa;fP8cOhNboPEU0bREkJ54N9La>aYz1K@FKxVR?8) z)l{_OI2iF~cXagj6JMxPZl)@`1O-EuuIGhw4zYFSs?Vxrt_9PFW0{u?SUaYtA3rgn zGE!j`k&O&l+lC#%vhnokB@xTYC9hiU9)Q*rp3WtGtUwZ>vWW^{;A2m zZvq_p`PRdg_6S_5jwYnsgw@Xih)J>$HOGNgiW1`^T*mr$Yg_e0l4$2Yi zL(n{==P%3b9Ue}46e+lBP*ItP?)n?3dfP;1Vfq0YU>do)n>b6iyQf1-c_{%=b>cSb zlNT8(ynQZ5qe$AZ<~|R%3~fbLgy%KmJaI$$l+WAP9V|x9f<3F$wa*u66RqH+8{iET z-oP@#1RdXT>r{}SO$w*xeP7d3gc5Yx`02-`icr_7;T}KMw(cY(GPCT51@sZPqr6}7k)L=QV6$yU@xdIZOhq4k zRJC<7vR<}aXqtkVa!1*6kzut;KPx80qDJuTTZZj~Oea#2>YB(Wmuq&wZNKMo^%_Ia zGn_BsE`TI{bi-X~6u7+EV&PD=&(`&#Vimx22Af)oiL?&MXvZf|FmdKprwj@_QuCgV z_hmnchpURaL=+`YO8Vr->yt(*V+k6YV$6)_pVko*rFwPPZF6Waq%-O#=pWbN@O*yL zX@4ylaho+ZIrCK}c+m`vEA!(#0QrCG3tex0CHB@~DECd_mr2vLKQFf4PZYRyG39hF zwfQb6PjQV6Jg4sT7dX9MB4C}VcUL-R^;i}W755xcwYjU;^RXN{Buz~@KnCsEK)ID< zgpDnSk#YQzU%;`UyHNrv&?5m&J>&chrN^uyuhteS-=6>FBhzc<&`oN54d9U6&)k#uwd8D(Wx2-pJD05$qtIW>Cua^iuP;L*IMOod@CuxL2jgy8k1!oWVx*a z^N*&lH&cZ9-x!w6hxzYZIi+d)_>9T;+B5bT4(QtVSl5&Ku%#W~hep+YA^J6K*|k1`5FDJWpfoqzvASLiO}vRnnNSfG?*bdX^q_ z@ow2;DZB!fWregIJtlG^af7vt9`Moce)*0_Bd!Kv_5jqPPu>U!3^-V|elS}f@yp!{ z452TFn5GOM2u{}$qvA=f9DSH*kX-yO%yR|lZF8eMlHu{(%Rs01OpaTw7jbAppzy$S z)^6i>oUj~;iyxZR&#*u2(+_MslnIXm+KT}DEDf0Ad4VrSqG}H4 z460r^-LzlBC_CtWFMIy-ku^Ym(8mq+PE|^01NoQ6&=_~c*`*I$FU80k1H|5r#^hKj zq+NI9Oh#qM?#{iHGZCJYK;77)zjYl{(W}u7vdfM#tBXXrGWmP_0M$$avGDhAsXu&d z&hr@bk>;zp6pgHe(C6j0^N(IlL)x>b&M{Ycay*~XNW~17t@!QaCs(|9=Ao9 zT5@*$OK3x__=(RpPXIHDKK@FOwtH6@f~h41^NdH1%rk4Tvx_;2G0&=NlpSA>`H*<_ z+wrZiga3OTkNeTrPdr!f>qPNZD~RKkiu>^j!hYb@VHxpd5ntq{0}bVj5{$6G>m@6H z^+0iNb#1i@9x8T=-@fp8n$o6+i1^e^(dVb<=-E?Igj^B`eNxpioM71~f&PF5vJ)Zl zVzkjpFIik7UrjX0RgMYc#akj{`KR*c_Rx*rB`##LM9LQlY=R2H- z{BlD!*;*^31fOM(t)jhX7f4$09zMQNyFsDV_lFC>o%BTje!@*-V(~f}+T&lR@6QV^ zRwnecHICV_e-YECIH8}0MN1=|qT%Fc)v%a|p%W6efTMu-li-lP(IulJYAf<07T@a6 zQr*(dc&b6z=MYexGq8x+g1egfqy z9Xgi-Z-%LCZsVFMr^Qq)U-oa>ArOz?wG4&yveX%z7mK(e?9GduJvF?_sjfeTUb+oI zq+!KvpE1RGOe5;nPxCh&?|=+NOlMk<(^DIN_eR&qvcxu{# z`CPxzk2q5|)jqDDKHjTNTV3US;`Dt0yk~Ts2qB?;c`f`YDqq+GLU;otT#1X!nu^uK#vz@ zJl$w+Lt>dki)4+bAf?o%8E}7H&rDgbY8W;b;Em8BP_3|9Fdz-c-&x*_KI2> z08}%7s9{)eNwx^#(~p<7?M|I%y-8XqfT@a{p71c;t(S{1hK7Cn8+?n!Vy*XA+bO&mYFw4mW4NrOTdZo_$%ZF#gRnAAxExbQ zJ-$+4f-{qV*M0x|8*3XO&`Y;z#GGR#!YL1n>*ceX%t-9*WQA2MmQC z40QaNwD%{snus%*^}k3mDX7*EA1#K&gp+e`;m2i7*yYzYPd|fwNi&w%Wl1?G$l`P` zYcuu|>XX}dl9&YsN@3nYIc@@u3Qy_?(WOjHBb%_($K42{T*S0_>N7*|WxmlBJbcHh zev+GIVER_;@dANN1>XQ*68To2`N&E6iU{hR2Cy$`77If%*?m>F9w8F|mtBAP;;boZ zs|-Ab;=%Fs_S|E0->pD88xQ>~U%>Ca_jeQR-e!mBL1CP0cnXcDL$=B+CLa#b*pjZI zJ`biPG@1&PBB3?(_oa-W3wMEojWNtBsRB97mO95?Wl68fB?l0+IyDLomq%xE3dz<) z3A~In5*5_WfE|_m8Ne1+gQC$u82E^*XsFduFv;J=Q$n<8Ir1{@w_Dja$c$8AHYVQA zHhJKQs|g%$q1(_VZVFpVtZ7o--s8+yDB2Ul?IqW{j$U40&rmA7dZ+`f{R0>~)|5+2FcdPd|%+;x5rsHvcn zhQAJJaxX4sMIWo$81>ce75(+1yoR-pg2{%Ft) zqZjLMhm2-LF;m#;^N2LN5--{vU6z+!Ic7YR%EZ@uki!rBDqzc9gREU>ZV+dN6dY(>=yt0I1wf zZPRVp9=l5yz!$@@o2^sNI&fXBx;`f2nMT%-#pIQi)cHY&uYpF_0-+)4Avz@Cvs7d8E2 zNUvRmSZ>f9xEB)quNKn&oZ+$h?uQ)t(oaAEp^|bFo4` z>Bttr@ZQVpebs)8*}KjJ2om0c3&Hzll{5u4^NtQjnXN;|nh*#kvRu|aGgAg0BlAPu zT!XActAo5R!3fA@?@t?Eyt_&wP|E3Xip$CWl)|sV>A@SP9){ReTQ6ALKObP=L*T@* zWup&9dLZSH*WxllDXPnmyaLc3X5%QE&}I@r>JQjf=;pMq=d54F5V-tn&{e!P_m<;B z+6^d-y2CB~Y@$h16)W<&O{~lq($u&1Qt}s87BAon&WeKks#e?ApjBazKuK_dq@t?j z$TnP88mb~p959Cih14qfG|K5e4av9 z{S}d9T*YA8l>X;0HF$`YVx>I7e*o#|2O}LyuJtc{ga$gpG~S>kr6~QD#c)}?6!;|L zM8~-WQoM$Myy1c!`?tsllTd zO-hj)xi6{&dHz*x^9mrIGe4f)+?}5=uze%&+;MEZNiv!d3u4of8xQRuMSZM*aavNe zXL;@|mnS%=sv?dPA=1cEZr3Xo^l|H3S^m}7`t`6!BO(s{k_NjT&!7frUgUyHP`KaR z%n-v-#af16pdVUz;~d@NS}cbz1E9BscUIT}D>tdez8b;W%*KDYJ^m z*Ge@-!|@A^NM^z-EN+ETpsUn|^#AOYhX@rjoDExhiu3mCN}o3NmTz9Bosti`DhaKu}5&iz)wYGuzoIDnmZa);4? z{J!ggrhPk1g)X(3A5a07Oa0Yi03i2*;EN&P*9P9N_Y=?M4?RDZc0Trry{(5@Dx{TG z3pCHAjndshIY18qw-~4cRPp;)|K3Z_yVdrmt&DL?9y)U%#aj>`?+>-?;@9`ZB2f_1 z-EsyX?1^t4_y#AWeH+ry!Zs(33OMyMxjw{-Gn<-QxaSO308LwLG_f-#^xUo;k0vV@ zwy(WQr1U&($@M$&LaDRccZ#Nl$Y95jH>U5&o7&H46!=uq*$QoOnbs}ZbkyXVZ4G6KpHfopDX0?=h&VLQ9cYghdM58-39~GhOD3P>CL^+~+>1MjnBKpa^aSiE+u1jg+kF&s% z@rkjK(-I&|MaJe(r#1vNo#LawBN@^h!aTU+VfTW}2*j|mvJ6j-3-?F+7A+&hNSW?F zz^LON_-JAZ5cO!82kKnpn=4RK(Wp8)KjneS(AdO(gT)!;7Z3-@;ab}g1b@l3`$&*9 z*t?tNZm9~p_~5L9t)mXT-+i9gPW3akF6b%SSs7{|4uf(Fb7QP|O#@zmR1>bxX0DOQ1gfj#;yTG^63{3HcfGAa0KeJScPr`DOo^7I^ zAXDB`of2bgI?PbDcn?*tr`r16Lw)@cj(U^_%fZp`TuuX`7|Se8)(kASVrb2>zw#x0 z&FS`Z>UvPWMGS0d+^ALr)mTMiydXYHk3$5{})iVfm%qq|p@%wqCI{ z!XLYoFC=K%lTZ;}TKCVcgo?Huzm{m95^_Omq(*mJv|4Sl+DM0iw@ob8f=v8e7bStCJ@VS09b)oa4(Z|O=_Sy0`bXi*pJTtlW(AcJb#LZRC zbX5lL)loN$ptPYKVd1b7N1&zN2@5)qs|bNilR7zDzB+OJF7fqvY`4O<#!>2V1O+VU z4u@!lDxwS2`rp}c`uSu^GnR#tN7uzQFflTQ+Kb;CPYm275&F9Ni@PmWWp(pv{auYP zl{{yfx2Qot`iRkm_uP%-Q^?TF+Dk9O%~}!!A;odX&6YS!J)k?4iJ*|T3GO7V1xSMn z2{E;VMn>{KBAY*phVfX@c<#pvgs=VN;v|W$s5&7gotqk@yk15cs~>RX3>C2ZBWGs^!kGcNSWZJmfkr4jhOeGTb|O7ELH!gT zH2HS|tsev6Sp3*Rq5m=zJed9k@1kNPR*!I{COM%d>M=5#dyd6uk|ydAkzmj0QB@YS z2#bw!>RL4_)G}wpE~U_NMCS_`ae<1<5M*;MO+SPqEn?)3oz5$~#G>m|>8OnRyP48f z65-G79Wm<#*IZEM0?-v-_k`DqPX&CzoncAS-LaH!XYI#>yPzJ)53NN)a**BVn1DQ5 zk4(8kbl6WZl^BkTp^2XACB{O{doihCXa)FyGS7dbXr$!Z6JG;$)hwZhzNHt=vHW9c zMrYiQv|P;5vQl7!-JU*yH+B>Im~1S9yoST`j3=i-<0rr|nXQnFl8J}00oPG+b%Kp^ z3AAkRXE%{C2rEPbx6HvnlHf2p&7IcHMjvlGSd9j)%qlJwoHuq*7wo3mqw;PQK_L1B z>NJB3MId2S2B}xGJ^kyX!V3mApri1PRjc&Nc$P+kY|+M%&{wO0(zKMYpJk4HYmyDW zYM2ODbnhny&ZVDLo}a*nEIhq2Et=fIfo;OpacDI&)^6!dcI)nM_4;A6vAz_IMQFn> z-gSq~%;I91ShTmqf`SgE?o8#_faNE4G4)SQgc3=HD9vwP&A+1&X5)wsncMe~4zro% zx}if)l4};wlZHN5*eLhb`R#xpi?e0w#-8GmeMj-xsqO76n!@SYap>N^3b3ttP! z+%+T;D38k68*$yFtY;DT?a5T{rr<_1mP37922R=(5`Ak6fwpr6IuT#1yCv2j)no|u z5B|W{(nu_+Mpb6FG|DuI;Ja7a1v|#6tWzL>)Ua>#PVCh8XUoJVZ#*9@i{TRt4<;h7 z9=rzC(GotU`Na=-R^`y*$jI(Cfza&(u~?_qh3;~mV#4d!>46UEZiYv*k#*&NTb_%t zHJwMA9PCmepS-HIe*3Orov@m0l;-OXN~&`$v~Go=Q#T+BmKpQ(9?jD;ucfhH!#RIA zmR2ljYV1djVgu{asCDTljx2XG1?;`;n@Ll50yVp!a`fX@CUgJ(7zLf0`c3B`{|b=f zOVTQPl1z_!=>*-*0j9PYXvnB&#nJvXxHs~w9I9VC4L6*cxZ&vPIgvPE193(RS)(@& zLFDu9OjUZfG?}p06PR-AnfUO)BArEvFxqR6-aw(@i}hvnYludkv6|9^Tg*LWmep5f zM2uvLde*0UC?$IHFwgLOI`YHlV(X1@Pki&~eIQD&|%jMrrN}AfMiiO=B-In;c#b3gBbvy;44amHp@M>qj%|1Llg3hYI5j2}BKkuy1w%tExFpntV zJ;Hd+L&r;TY%Y2e(4?2B)x;pM>(Yo;AvIFK9^Knh$a9fx2_d~DTF;x=Gb+wAqx{2B z=HsG&AzI`TAt*0>0S+wFPsyDRtiCKqkFO*(sT_lCyJkXBpQ%YRgnrkvB9XKfdycuM z_%FlgnLoD1n)+?T*KTF^7{Sal2;5@4Ww7waDcye4$C;TxTUfLooyhQHO!Lu6^(8Cy z5)17nr6GY`f93`=))(3tj!-Butbc*8YRR}Z2J3hfiZ{?3;Ft)|#^S431p{z|1hIh z0eYblq|Z8UQ<)g;e#>6E2#l~um+_;osrm$y;NIcdF*WnpU@Mur3Veg)ko<2_gDY&?&32weH zCGT)rX7AIxNbh8KT;x{W+3QA>Z`m}_rxyNq0uyn=MTEda=5V-Chr>PUqPwv>oJ+aJ zDg@XmNw>@F84d48A@y6?BZzUX%=wPOxU&lbfM!Z&M8riY`xWZU`g$M)t|Ql#RQ5)H@03OhIZ6ZbnoP>VK+zq&;*ZliJaZ^bvg9{;#PK~tPAhHh z3h`x+Q3}ulSe@zdN;6EwM=o-LS*a;evjO+CpIv(-KbL{dyUR-A7NtLqw|#i!a`gpE z*i7+z?sjw~j|`Q*_Kl1NR@>HBexK8nUE-w;ihtagqvo}UJZt?$tT+~dqxWh*i>l2R z{ki~k)L@+|hkgr>YavjaIQ0lUNBivCdC)e?_vE)R z8+5YECTSAh`2k_z7b(m{CKG$7z7^2?hp_`H>Sg4i>!$ahjd!DtakWYT8V%cab|HG$ zjCnc!-4%d(hLE)=4$7VU3Wz6@6%tJ60iVh}fPog$|8!mjudM|-D;thCW3W%YEVypG zwYPM}=C3`pI~hJZ1?MO5MIf_yFNgR|BFtiDhke(Gh`@EzO6&c^;gqf2JX=z`KT0<{5ry5B->lRfeFwAg%8VpoQ5}IbtmWuqnhcJ#e-mX)9 zekt8ip<}eU*CjQ+9$IhaGR2`Jft|*Hg4C!+~d#S+RWRvAjnwq)1B()&|(w=AmO$H9AVjFu>l|F)VOsr z7XSzu3@EYs+4-`Oif5K$V?DFBR3`f!%mu-h5!f`tJ93?1Alg zN!flFX76bts+huv@M283^hwEo@V!hS9U1`4v=9ssze?kYWKw3RaZo@hB12qh=HD*Y z&~7J;esXKdzo(9Y4ShpvW52(Gy!6V{&i+`8G^4sk;cMla+z-5h8Koa|C9p3; zR;xmvYIk7DbDl1&2#+j+yiHYsqO57`rU$XWCt~3Zy$tP&;?zC z?Jr193}ADT6%$qMMH;UWAJJtcVuVi@CpD9>D>gI*pTo02?)uUT@}Eqz?k=+$N-dhs z=NVI#(LztZ?dAFo?lH)W+3x#v<5FJzJcYR}u*gf%I;)}B`HlgW>g0>UttaYCRVFWN zbc>xfpG-Xy8Y1}~NlUOPmlgDj@uEK^t@5w4v-1qy7B@YLrL=QJg>$B?hxc(74WF2+ z(Z65RD<)lZ9kq3p73NCfdTa6g7sy}nFUCRTAqHJXHM^^(HDWowvKKPD`i7*iyWFXu zSf1UbW|X3pfQ8sKMwKzF=bg#wv2y6gz>R*k`XR|ml8Qs;ET2f`Rbp2XuX)Wl%-Gtx ztk$sQht<^<=PHWj^{8Hs_3%qEO*jP;PqXBcx_OTjcCHji@%1$p>FP0Oll zKL^t^EFeWEd#|rNdbKWAcpP05%WisY7z6(PEY9QE;v%TYETrVaLHUin^t*dvc`EsA ze9yMy>pm|HtF+aZF8iQw8Io%2!Xhv4Yw6r6x}9XuNgX$P4mEW09fo;mm+ixoEi?v1 zu(2!l?#^|91a=gsvCZAf&pYkE*d&`u?-vg{n5LMTX&XbPM0WP1BT$!__!IGi%o4Mc z-1U_0l)c=0m=LJY^zsJeFSu=yN(_CrUv%{`Pvo+F_IshQA`4{@m-5NyUd-)ulGo%@ zEwrsnv%i$snpUfCERuZ{^mb{gch^`|j^+4hjX}3@GbzX;o>1gEi`Ys$I*EY!KvB;M`-KdNwAcrLm9sSR z5^mKp_R!htcVw^!f5pB>7wbh?q}5%#Drad&`C>Yzek_-_aX^*bqd(V~C|v|nL>}qg z>AoIv)!B5%lD5Y3@=x+K>KbCorZ66MHcz9b(|J-clDp?^yQG*^1~fXWv=a-}GZk>a4Mr>+JAT2>ISO(l*;l@rJ4V z%;vy_lSw$PB6d60MdFuON_IF{Z$bUcXPK7k$G>8pmrJXf)+vA7_P!IhkJy9K`BCe? zry1-)y}SDQ=2wFuj17rS*%QOtc1dHBJ4z&H^=}VRWgIh2XK!gh6Q%bSvs6%}F}~Ni zcd3l(Q}1fz!gkE(06x~REHj}tIb*+{*2N)e$%r+uc9rFOv(=%DrT9iqRo2r^t|ULMDZ(iV^UrTf$0=}#=G%C% zy>%K0!Y%#oYwON#F-JXtJhvt=aCWPIEdi}*uBZiH%4OzPjd#$(_P*u1QYB}27R!B1 ziXMEWdlbI2z*rm?6OL1$!9m;`xOTDqwzgKrmG8M0`CLQm)*kBSy4#OIMVT)vk;_?l z-C;IaQ#VJdraupVJ!MT%tY%@_;s zE12x-pNl1PZc)L z9mm}C?dXivv8{F4xDiXc#SYKCZK0k`jt`3!z23b!%EqbIlVq)-?PcSVq?e?yY?Lx% zFK1%D$9kxi@&k|J2yURlelFoaafR$QxAnAqil*!{=dVqVHsjd|D5WbQ2NgF&F5Yhu z=b=7tde$l5eiz4vHj{G&qQB_1w9e8zniY(0pZ?yV?=3YMZShQ0Q6TH28nZU<7 z>Pn^5v(`I{bnKpc4eS=%4-r_)?F+Olx=UiAQxY>C?VX9udhk$B6ReOqo^g;|ngA{u%g&UH-YVZyl-x zML#oy-Gu{USBIhlT7eP7p=s4S0meNM7l_f$t;s_Ln zG6pw{3O<|d;CGxDQU8b=vP{40eNU`t-f|4JeQM|2SKyT{PQs4H17C03IUu zQ$EV~rZLQ2?WZ2yRx7o;g;E0oW=eo73Ko)!5>hME|j@zkfShUYK9CO#9BacuFB)KRNAS1KP z6^Pwm9_`U?$+YO|PAn7v?p*;`F#=~-VgZo}<&^b}t@!Xp&DO&4v0b%1m{&A1uW8j^ zb|J$ekmDR4ErD*S7JW04!-rddAMUj8tnpS))fHo+wE=}XK_V=cGwe)Oe&IW<>mwfF za|Xg_pKX|9hZ+Ue9Nl442Hl#)N*DWy7K8VC#n;=pBz#1r@KPP~po3e$!0Dm9ZB_Hv z(ui6232R@`Aw7VZ75|wsnB4dowO+wN60Y-Cpy7 zzgsP2D@Ap?pQW7XYnPmu6_hEjG**6HBk#z_#{M)}8JY*^Qpr4casL=HP!m6oYVtVg^fcR&Jjg zI;#BZSRjaa_dzTi-Qy^e9hgK>qT7Svk63hl)yW&P=vpd5HAZ=|vcnV1U*)~coUGYh z=6%Ojt_wlcqSXfu1ZClDOV-v|u^9dtT_i2F*nHA80%OU(yZf&BokjP(pB&929xfrJ zJwIJ8Zk=xKU3B~tItIWu(+4rTL0JsFP>x|ADM+LA(eOF^E98@k0w8=xM^UHeVHNf!$^s2YBNi(lCd(BVUf(`Z~0E^iBH9= zro%6S>qz1K+)H7Qy@>0Ee7pQO+{0}b?0#o>PWoHV^>}c+9vwXLDETxxD^DDJ+>U0v~)noI`{6vffE5~ z>*SxeKBb8QYfUEbJ@LRobp+T>R7|)q!i6{gfn2T-*gZFR@&H|h^x@=06Ck&O3>^Ik zcIAF^315fz!I+4;z&NgqwH6@5vkCLu_UEl2F1HW3AwJA%ATNl(;CO&CNVCG$JifdO z>CLohd}9uT*WdHOk`#t>86R&?IEj2ea*mH0YL$AOCq*)DUrCLmGSD5u*-3FMQIaqbo6j|Cqm+ko|S2m5pTqL;J ze5cmC{S<^|d4O$g8)zD<3c?Q8A6$Bwy>>gMGGyh&;Vg~chI!yCHm~av$;j$!wmR^5+NJm z7$xkAOClg_gnav5H;Cf~pJN@(1cu4}Z<)|^TL)ybch^6vs~8&mUNk{OFu4zI2Adx& zMtV|YU^b%2*YJ=*^Ey&z#zWD699apXW;l<~nI?d;&P9T85F)b#ii{S!5#VJqS4x)2 zLvRql#>6#DeC5KyAj5xU6tF|sZTfkTZ#aVONe1`lC)n`{?r&TJ2BNp#j1GB>SUqec zdPAVwkUG}`#^w^>6-zAQpb1pfpYuD-6>0UbTf@im_lh~S`8czi_U|P`hz(lE z#Zd5PG@k(p#Ujw>W$fWR+y+{(UO(DY_h}+)!R^GcuTP4hc8vy#xhY*}+sXuCrebIa z0Qx!gk2TQRF$fMjm(wZLn+K~C{u{jrQ@9aHxQ25uy<@OE!Y0r9sT>Y zaW$BTrdqRef1c}qy+Qi037Y@)&A;Aw!YYc2Fwo-(JlM_ur~gP>pAa1`yMN!&zhC1= zOaLb;LgL@U@YnVJ9zi^#vg3dM_P_k(c9sw}40TxB!O8LOOZ{`&;FfR-w2uDAOaJp% z(EuB-eLaCb8^S%U;^pF)=Rkpm=4d<>A zb{Tr%Ks9r&DROC`XzddERYY!F=+%|N>p!DxgfjU$Q<1ww|YtU zhnGyuge9m-d42N%5%lmf1efpSY{21G`rkK%xZ}sKDFV~K^Kj)5(v&@hOW(UR+LTZl z#h_lB)n2y!g_C|>)PvmYmr?tBC3smt#9*u(Vkvnj9bE6B#ou5M5YjPF>vson_A)TE zdI6(7X_*#E#dP>|N?}93iYh}y?U|Kh+qluKvGY&u}*$7ku;!V|@+ zy>W+PFcJfLOyM7v0O(Z(#^E`XZ>@3{i1t-9T6Z2$3o5 zm_<+ovUuk5Uhao$e9Yf7#gG%n^9UU|MY zD+hxl0l+yP*OGxcTL~~(FIN$E=)|up^r@Wr)9$=}3U0!Kv}~$OdF%6)Xi#giqR-eM zEuQD@sCb<_mo;ErvpEYTa(UD`IChsHrpOr_XP@lI1%{;)wA6@xQJ?s{1^;*pp#q&=7hW0Y+%rwiM`Glt zU=slx-#$>w(j_DYI{_h+52$}Dtfrz9TOoXuq<=a|kHGdZhD{l^hovj)%!NJucVFaz zi~b1B|Fu7_+I<}bO z^?J!rg>!;V@&fv(P#?`2k1Fz3*0ONN)NuvRwU9XgcBL>F)hVPUh)NpQ0$7pTzGwvz z#RXHHOg|OzVWic#8Dkuat~)*~4$M6Kr23(W&8$CLjtz=OO{L-}i`E5D61lURAU4D^ zZS7KM95n5jJFnj6tvDk=^Z``c8`t2ce>633OXDT2Cw_;*g*QnTvq z3fiTxnsUcF!D1*;@&r~G=#R^gUtK~m=X0$j+#wYGLnPug09V&UUGZ!wO{w0gI6bwU zelO6)1`kkO6}Es(q;{LBp0*{qT*L{ifC4x^vsv$5&waMwKM1X2kK8MqA}oXr@O-JX zX4CS$yBy_G3Z%`OIjC2BP}LZ>&ouf7y*b&!-$v~0BH>q63>J3y(B9r%B0f_$?pD4c zmmL8~<}BgN+GgWrDaYzV{SW&$ne%mr5=fRE~;ekpK$aPLG`Pk@B^D_&Psqt_q`_>h)u}4S2 zv-vbT#a*)pQq~R5>UCyO_({=i9F&?S2PsWZgFPMqCoE5;B?xAp#A0nV&ezk}s~Nt( z8)iU!nP*}O&J4?%HEb@yfs136W^^jIZqQ*t4EMH6HM>p&(RcYe*1Pmumf~P%A1rH8 z3Cr--^z{Ub2IY~}_QTJ?Am3(LS=-QDGtQ96VE!@d2U1ew1A-qIgrGm~U`#$VmFtJP zOq5DQJv+IcWd^XjB;@U)?MG9yF#W6VE@pD_oYAi6IS3a%LuQ+u;oA?U?u;)eG1oIlj{m|L}- znxa_;8kNXDk0zd+gzmkl`6kYqB53yX3c-PftX#1)= z0XWv>%AGm3e9mf8W^@VoYSwbmJbMO=h=RbtpsWhav!3)kQd1F2`-IlLV-uk=*;J)v z^ldN zjxDO<)(kKGik{lK^UHnbBT<|c0TPiJiJLoU}7Sa}9j^k$F6pyN=z?FC&L%l;#Q=dw$OdvU#>-GOE=|y0Wfo~+2)fHQAvT9KXp)I{^wnyH`eyFrH6#%K_t5(Y zoTbLM>sWCI?_d0?1y$B~%recVVt6mp72D`vaZ)vXhCQQhmnwCxu*=e?9Hq0_x69z_ zr0n$DO>!LTXw&snO!c_Eprp1Sv}`?LBYUk_%pGdC9k>UD54_ENWzDdY9A>JS`Q}NX ziF#_{=_PafyRdeu?7S~gY%>BFn&wPwF3N5?8keW8LrzynVs_RQ)u8-|#KJD~XWES%=kZc{HejR@##a{R!6 zrnkq)#fUHZ7%vn}V+K4~$qhvQ{o-M`#tZM7xti}pNeE;K8|_=ies}?7GA5%MGtK*0 zBnQ{$!L>;WLs)!Y7RB)T(s7?hi5xeJF=moN@IVx<^cOISNtc~qFRU4xJwQ2@Mq6c^ ziPX;1^Rl1sS}QMjoUNyJd<$d@^oI#Qg4WGxYjtw>d?Ug*X%ktu7`YH=l0_Bhr=-b6 zTe=8v@)aDIxh3>&`X|t^sn?**cxj76mAEkTS?Ho0qbJLt!e_bgzM*=}fmQl+WMDr& zHb}JTPperGFpMPse7A1GcZZr;xjOitD57kc$cl8pqKiDFRlyOBl&P4oDME_rdTQDS zh9O$1&Nt$nABXV97;=B<6*AUvP?esV`Gq=KYyL5diWwzgdCKNYA$>>YI4ibE z3!*}^K|#}wv3_yzz2=Jt9D zUz5=2Lv^Us7zbJ5n%2#kfi@c)sB{kCPrNMQCT z_?sKE#k61=9fY&aUKVor5KNdt<*lw|E2*SiLGDXpjL>9-@LkI8l>!iW(w;MZkSj9i z4`K0OPjR+{im&5TxJqqS#e?ounbPYgBeT!w4Z_(Pmt$JBp3I=`Wu>7wV^GX3AF5Jo zG0+-;3dG>cN}FQ^I=hs3I+a*!Exu#pBD-*JSiXK?AZJpxZTHN-r-eHR!XU6!V^V3@ zFwTzdJGy&Tr$H&IC4RH+-tz03nr4gf6B=y$YiEJ^Ye}-j(`v{hxf9}X`Vh5EaAS<4 zDwBd}l7cmI-^^tdc26t;f9KQB*P+z+Fd2)LSiM6of3=d*N`os#in^R;x8q{V`IWgg zxL!l150MYq>Z)!-nAdWo|6Klq6%!3EwlP?O&6PJ_JA~@-!G$!r_~zupEdKCUKA4<} zMiFp~e|7zRLdv0Lm$qyMXai~mJzV70R~U$MRlIR!+HK<9U4ME@92s2FPv6PA7Uk#E zJ7&C7^Hxt-@XW^NOuA>DA0y0UCMFl z>s!)p+W`Py0z2NpdAKwdMGpOayVN}!Pp4^U9G=$ZXNgn|&f$0f76$LMFJL-{U==S; z$9lqhKWQVUXl4yo{Suma^JS$9yYZM)HNfPSaNSA?K7%+I2M{_p4Vo|ii4w7~bDt@* zN$kX{vy2|q3yo~4w!Ro8X+~s!X@%LpsQA+gWQ7%|B52xtGE(lZ)7KxtfoWEbOH)V) zu9C@hc@um*b>4Q+sMebZ(oQaC)xL+Ml+93b>@Mjw2q;=9%p`4OS1p?w^0>x@#^wtQ z_AB6fX`5MzMIe_@&NhGpvxJYy06zA<4n! z?hNI69yN23fVzoI&|Y=AGy?5m>cK-=h<04(ijjOO?ZS|Q53Vc@@ruF$xpGRV1VXLW zc((;9UH4Fb7)b>n?ax5A_%RQ7SZ-)=?8z08mOKqfKxKT=m%=lDcsMduz(z77O;*Dz zXZ7e^=VvlnTHlK@R~sdGkcluEImM^gppQr5`>9Vv4q8>t&6f0AEq;{UZw|x;E1H1w zaS~iHSrl+poDJvgE+|dzlr`f4*&iWG>*zaFYr(BN(Aop= zrPb#8io#ICwk(4AAr-9e!(j~!W^?Fl)}fD~#e*U&M|$j|nNJEC5~s-vD$4%p=+;Ew zac-6v8Qt4@-PWr2^-4fhu?$B58p7+xPFLAc*n;AAUp>Cny|3on;%>h4>xPcl@8dSw zx)6E~XvAvV@QSRkOc3`q+0mrR^pq@Avs!WJ*8wQcoVUmKb6ZM*&d1%sb8L2f_vM!7POe7#e!Z$b$^|exjsjD5f zY&b9a6>j_YT^IZa=I63SR_H!2H=>h$J;3gUjDGX66ME2Zd8(5+gJb#*!BeP_F=v<9 zj7n5~dO;d8-4S=~%>oEZR;fUCanEw&%jfDf3so&>qS+0Cm*f_pB{rPxY?Gk!hR=#^ zRlkN&oBIr+&gv-Hs|nipc3qRzow=g$VD#y+Ux=}08dhYIwR!;qARf8Lu(a0c5467Iy?U}%Y z!ytjWAmQcS=c<@P&1OCWo&=g1m;U)EUqRdgK+uYdJzL%W61wN->kB;>H$q{HJo3##cD#NrT zOK9g=^%b3-Q{7|ilL24|($7ZO<^wyJU=%{CJAkI=cOS5=$3b2d$72l#WC`Fi%vee^ z7lu=lWp*#C9XQx4wPz()z@+pgY;Tw-Q+N9z8(+D!ZHOZf)3?bFpcdC3L9HL4N$P3X zEqf^^;8M=*1z3^%nUa4Wi};7*_vj437`ejQ97%6FUr#|YJP{LNf7m|d+*<}choQ06K4xeX&QF+*$ zajm^OT`|c&iiFt*#i@SgQ_XH$0bQgs`Wy%whXygw?OE_U&@~4TyL@6Vknj9g{dP}J zpuEQ5j-dGB8a$)NN4=7OR8X@^hiH1`%7R?K($+^86uC0h8V88~&=nW!3l#URpewa@Uyfpd96 z>(f^5*Hq1{6jfkRfz(@`)TdL`0A9jNbe6{2p>nQ-bg$jhU4SQpD3)Q9)ZE_R2^>o zfULKsrJ|vFCS@|gumx2y2_1Az>5EBb8(T_$XHyMzj`K*LS?&sB$}-ko$A^Ym(zRKw z@1S?M1;oq>AMdz?M+?}ecDmhn2zsKU=|Mov)`3IQ$@8SBNMfCSr{QKYjXA%9su!zVmdPVb^BL)6B z5LM>`J>j*@0UYDMMw5+bpn5-R6TR|{t0*>0IBl(3UovQHKkQ-ITh>6up*@A+T=54k zss_Z|vj;rC_#mWLfC9_`w0Z_WN6vsLzXu^1i|tMwPU#Io`#i)?jN&0Cz5|&bge^Ox0MoU5e7`%Rbm7rLySb+@G3}Pk#ges zjATZvRM20)gn2B-AeCGY=%G9PEt!x!d9CoWqfqrsu4URB&8az{ZERa8C`6ebJM)Dp zqgso(%l-4ohZhXYcxTwz)UxuREesaj!UI2iO^M){PH5NEd%a&`E3e1YK-XPWZr=Hg zdT}k5fHzaU(6F+o(22cNPVlyz=;rkU3elDc?s#`4cL8}G@T0T>j!*l=kHa-J;2R<0 zAaV{q(o2bK1pkzx^+f%z3ncU&+|RdSO@hABw7s5Er0Zly(+`@O^e4%6CU0)*k3C#| zen)c|yMUF#kMlhVFEBfc2`?O40IQb1BPOw<*{wJSkkPyMcZ+19iW|R?)`Kl!E(+Ki zmw$PiorHGBAwncoE%}k7Ym$Fa;4>Fq8E#m%>c3zbgXyu%Ti@E^TzA4&B(K@UeCSMj zh@T(qckW#o_N4TSy22kMPdvA z5cp}nx~}|vRRjxp&94{bZ+cd_caXD$R;_&eh>Lcl4Vi8-ecI>w`2PH0Wj}PY)rU@| zrC{CK_q8f4=x8={7%1wOTgZ>!7Ndc=O7?nn;+J&>)Nh1ZO)R88h5q#os!A*(+TZK$I#c2tlkBsxg!wr8w&7Us!x#_gOp_C$@TRM_6Pm#1kKU0> z{q~s#&2M9|0^d=7e&WdYX<=w0pm#F0y0>jIfZN_HidGcS`V=V4YZSD(VJ}H}U;!ad zG2e&>y59-XPc8?e9#H;1pDgel7q$2TzrS)h`HdkP8H}=PVKVa<1DqMUX0$$8kjah{ zzRlGz9+D((YM3Q^q3+)>kT*H74xNN?G~b2}HiQ#As*!V}fZo3x8(w=spKwmhkn%tO z=cNl@@ys7N_~Yk)S?2oiS^C^ve}`$wjPO8IyO+* zX!}S+3>acTg2!6M$URMH0@km8k3I`xRmyFk$(=)&+ocpf{K0<1Oau!oMm>xi*)A+7#Z5ZIRz;U0OigJ zm}J5Tlg!~dNhd|C2N(&-6Ho6mrBoRLIi1u@a`XqNdd~q1PAY&!#T^h^q<)3aKYb2} z^ddQo$uV-gxM;C8VBRGMPhKW$k;lwKX)D`tegLP2UPbs|%I zqwy9%e+%^epgPn8y@yP>j?p>J^7n_7d&fAyPCT>fa~+l$Kpy$^wa;<|3p(WA` zOI`KC5O|g#gyMXl-3`$2S!gJJ^vDD42%?3tobJj9$J{P~1j?yZU{V9-b3nn8!~{5i zPRz0j(Y2SvL8QHngJdWhBs53pXAq*GTRB5g*vTA<6+I^)G8MrSR=z8ic#^fUg8bz#3ZKB9zq{97=A3ubODnyE>7m3T&BCfd^FTi*ktPZbx*_UHiH$J;&fTyC}E?R z7&{FlRyW`sHrD#0$m6#Kv z9>DC7&9)jCN4j?Ld{S-C2_Dj>XcU2}-aKokfYM=%c?R5qQj0H`DEJ@J33Nc(L|$_B zGTyA%8FElTU2fvO=T9XAW&cW`@Uz!cXnyu%STkNTzY5X5YVR0?b4_h<+1<)9!WE{9 zpZ!Ks7W%=lQ!^-~-V`gJBr4xzNb|EhNra{=^qbfi=7(!Mdo9woez3{Lxtp8g#GcHH z5*9|qbwbCP25?<6L-a=$f9*66Q{qCW&)`}bXEM-ZH4kqI<72M*{6Lq#&#+hq!X)lH zGJcbcMbQi4*>V6)#~jpuY7e>0$WXZ54bwr(&`zb1fA9SYQ9wAHQH^R;D&~77DXrDp zbYvYn;dVs|8LcF793=-HQ+Dm8^dd4lHK<0Ey$$b*a?!j3HD)CRu+WAvR zE>oY;&_hni&f@fNP=m#t7PE<9Sx>T61QgI=Wt#FKc6<)-0}CLww;oRM%W=j=tB)cD zOT-ha03t`VtTB(o@Ir+6SjoC%dlo+3Txz`%j$*>24>v@&z8ErV^l0Q}5PY<_%R{43 zT0qr}cvk56%QU<-15YAB-QA)7_XSXA zFuCv%_FVT7wiLr)nr4Wm=fO<3f+1!sjnSJ%0fQf%4JH)Vt6wg$?{@(WVVUSL(T zO;}dpyXBqh^}VJLD9<6g3XJdk9l70YfV$WZO^w3r9JMd5T>%;Qz`Usbl^k=G(dyDr zC=HOU!)NTJcXfk;2O`)2R*d^Ziga{0wFY=(>2&tC%`43U%_7GHhDg1~^Vp&b3g4q# z!^-n z;0@S~8i1&g2MCCYuD&NXY3_zF`a*`t*+-^anC|B%FF(kG%b1x@_46Y1g|VAptl-Fr zJh&iM>q9WE?L3Grz4L<9@tC%zbJgnw@q!%k!0~AgGksy>=EE`2QlzrtU49lqVo39~ zl}wqb4N(x8A{5Tad~g)1V{ee|Gs;as`KD?EcvoD>hOUUt5l49+h_bUEh>cqS7&C`E zF(w0#DMi9v;2Z4+Xn*Bdp+p+u!a7W?>o1H@5n#n^FO1=r1Vl;xF(9Fl5MlVmUE9Cg zOX<)Te6FV@P+)vN26G?TtxDUV%7tl{WzQNI9BKt>zUfp9D?o6#4gjQhXU^Mxdj?mSW?k*k z*5&Kk^>lp$s+!@;X5uT(*&A>x;&^+s3?bT)cSWP}x`6Yb(;ahA}3Fj0BM6No`}ZqD^y5|-GGvKS~0nc#Omlfa}i9;=-NQ@q$snKY~!Q|&AeDU4~_y3t*YSI1tv z)aTiD^*_ZEJF@?S;IQbit`vSs{=H!2Ah07lD^vzI zQk1#(7$f|S8Q?x!FCtwbO%#Ojp};wL4UvdBV(4fchLnB~%p9YjLZJ*?x_E?|(is_| zD5G&d*pzfWy{&Bl*6YkBvut9l4-VlZXg_wf>|)&lSHKmuG-2&;FOcV&DSs$8twt-; zcAxPr;mvWn&xoM*@5&4$#VinoDHdr^fkgO3;%6+y@~tLNamcYJakH22HwNOQJ}7_P z`YI!&xM(T7r}rQl?WPD$h4peDs;<@vE_TB z8?}>3XV;!S@SW=4L79K({^BO{-b{F4xKcHtkm$zalHG28IW+~?S^TgNH@GQ53 z2Yu~*<>y_2Br>7iaA2H{l?-}vgDAS#%*>T8&sBcebD8#7ANBSYH*Ty2k9rOv28@U80E!68m)O@kWH^y{ zc@mTMl%MFG8|)MINxfyHs0eL`8Q*@8VTIHMk*F|YuSBtg>G8Gp*lTb#%}fPJMVLW= zsG|@fe~|q5H@sq3*o>f$}MIS7RVgjWO%HJk}bl! zhuYI5+VRV$(dEzewLQvbL2)-_ch>7IR2b6O=3Y6xGf@>yl()E-@RD!c2QGXP8`(-j}*sZ^(9)`RHI+#UAW_`(+mjLe))Y&Aw|GSxDj1E8uUTJ4NvNqzz=x=XAJweKsV4u6*96NFfb#nKhbEoX~7y~unD&kr1Mo6=w zJ}9N^ulscojKU)L!EQSgPk`_8J?V-kO*0^cZ6?9upH^IfHrSq|&c38T&5`a?VDeY~ z`W9Gt3%u_m@CIPcPfxM9)LMQ5^n3 zf?NDO5%km zl-GeY9x@%pBJWi;?D;~ai8m5kHU{J&1p{1}Z4!R2|2#sAtG@BHhxFs-6+@{R(vz>1 z-gyW^+E(-Urtmnv%Tx9D#PcUW!C#93Iu1ivdP=({(i?~H9KgTr z*}ahmDUpFx27P(4P+*>M-S7D18F(G)RxWb~UlipH595pgR+1e~QV zPrPxU)g(IF2A#GE+Wf5RGgwHzz5yBVgIQm>0dvQ#@(b|0`ay)|j>n}F!!0tmpN_vB z?&z?$%6HuTuF$fT=<&_>*dIsEebOES*ccD2Tu7}q4=q+xX67N8)M7H7zs zk#y9>T;mAocq&P%>|BWmO|9_;B*w*ya15qp@Me_mJXQi0qt|Mv?`u$@~Yghd%P9SIG06$@2Uuk0E5@@+f zAkX2m=)tHQ>k7-~OXt90L&TWIL1vf_0WhBp7C41t9>Ubzk=Q*G_#&>0e|>VHx#{}k zKQ<@d0*u55$T{@kx_vq^g^w6yGuhC^pjtZ)9BcsgnC|4#9EI4!K(H8PxXWOJ7tU*~XN;e=H+g8(i58 z$b_wPPs(B$B(QLsl@gWoVb^?#jlmAUUio|-7(PjM98Z@V`XLd>GyZ@_C<7sl zgIpw6ZCwyOZOM#kW>1v?&`uUDFAkE`tj||M(>~TNY*jZt$TChN7f6C-x^2(mnR2pp zJr-OVXQnvS|9bdKG_{jZ8hF7aDs5-#eZ?M;IL!9G1&obucnF&BbhUzf0zos~7nM}^ zLagnvy*_-8L&>5R@#!Anzj@#TCbzl(xcuh}6byu>@2VWX0`xUtmp( z=mNamvBOGj`E^jT?@4(rhqsal=VP_I@s!x0ag60G*mLnY7SgC?cGzF+<+Im3wlY)R zj-)iJ)@Pe$OgTKqet4+-2v)@ML4ico6lEZKkcHd})VPt}&l8{K*kUEEDpEYRx18WO zPt)3%$*m~?{5DmqPPnlB*eQ&Vaj`Taws$R!t@m7Q(zO7cEus+ttUwgNvqiT64}=z_ zRsjwSOD!@gH!joz8pp^Km+-x2#GAo^y(57`z6(fvu?!n< z=q$E2HZG~5EypdGJ8iiO3&@Si9w8@=yp)!=rhC3b&AIskU{7?qpQC2Xl0=$~%8eOp z!v;1L&h{A2dA1;}T)L7Wo$r3+Dlrnrj)9QU3A$=Bw*Y;vDg%xBMpEMQN^ch)D*Tm5KD*Eu zZ6is?FWcuQA1ALO!mf^m_KOGhX)S|$Y%$nX3)sZ7;*YO`48mY;6zt_!nSdRCu zJ%FfjpA&ql-z0UP2URgwogiBGZQwc{an-G>F($S_K1uPzrNRvYBZE^R;$Wv3*RM0bFI z5mMsIlp=S-5b`G6{6-{daNn9t{wD)FK@7v5h z!GVk`5VYRkp%!1y9QlN}B7F7PZG9@?hs4N10uzz#XDM}ErWl#^_VhVj)4q29$v6c| zChd^At~-_@7*p8}yvIIkk40Kta~}5GZcD)xnwP3itV+C*7N3zhN3=QpJk8j%6N?ca zsUlNlWoXJY*S{XGyq@wjCl8C7hb(ZzT9Rs8bUajf7F;T1$|c>8i0euxzSm*MSxLw{ zdEl!FuR&O#a#nX%1}f~Xu!)9yyE|WgR^9XN#VKdSnvnUYYPmwQc|P>uRo@L+;Up<7 z%@}I%WE$%aqvJfs%I?f3#70bTdWo8FDD5PkIZLex&(_pY3dhH>eynsSwy@mJ39~dE|LV!rlL#- zHvBGKO8BGlTEMRX;cc-DxM{;1qu%qAv50$t4^hh$UkR||A3c;mp5Q$Q%D60p!CIf) z>vfS>H%GY`D{%L2=$nKqtsmhi6miR}99Cjav${ZOoJK>4q-fXB(wfLq-Qap+{g-l&1f z!TLxmE{vo6cTCF_Uv#Vu)P_^l8rkp2CC47ktaP9`pllffO1V% zzEb^vI4r#8fO^-gN$}>C#8*UJa`_^}>TFpK0To$v&{imyv@J2`G_Ua_bV}?T1mp1T zehEjoVq3o?m|CA|A~nLpSz-6#%)@ds|ZD z;si4yjGpq{sPOa^lR(;j=z?C9AiqL4xT14&lxSEG)Z9*}b{CTi(0Z5;^!L_|in8@{ zE8{Fp)*oTikGX!2$jWjDE*v2szJ4Nc-uXXX zu2?K~20UgE*D0^245O?%HAia4(Tto6o$R(73m2Cz4fl!kh9Po{V2M#ere~{dH1&W zw(a<+-XPRchU8hsZ35eh?K|}DfK$z3Bsc=&2H;IYSN>YD&A?8BZNumTnQYFgOYGB! zw8pHFE+`JFf%@5;caUB@T_;4+yP)gVQ78+fsS~Vh0LxoIcf+=avU7}I8y35o$M`1~ zRQW-f-;vd87H|fuC2Z6X8#J80*a)W~3QFR#$D`|ry7==UN(=(g0ar>8frj-A zyYJ(qD-Y$%b@E$O4nsYuvKOG4sRxVcpNa4alG;Ag33bk)QQi+_E7)_IFRg#79NuiD zIBc5L00^DHAcZF^3i(eNiJu_^&$Kvqq~(CwXi}o;XdxX>YRVQCwM^eAE3wn~eR2jmdBosZQ<6St-W z6$V07`-aUJ(DuVfUxM>6vhm z|46vtGHrbpy*D>)Do#86cePd`7mSmy?WE>GpcxZPdw29RE+E>gq5}5k^PfTm5LZ#a z$KE?c#3rRRPa9Lxl$v21_ZVTLdxht%)DrFoj;r2YSI{ZHRX|5-BRqMSpDBiOxu-Ld ztAO_R#d!)a5GGqLuro|y&4W;~4=PRLLKljksQW7{cFZ%WH-eV&i z(dPJk#&k8-Jm_~u(%N`hW3hVgyKD1R)9b$YfU) z>EdKtsSHQ?EA7`~hsZ{J-XG%kV{{-M@Ra^=-HxRWucbr1GdFGAv04E2TPV5#r|m?2 zl!^EbFCHSuCybHA1BrP}a}-w%5SvF1?TRl{&!$piW+7@^#wsfg5V!?v4NT?+yS8nn z1+QIjE+Hz5FJwn~^pD|-Hd+O)JovHAzpeIQR|qr)XczYqGmwcVLR!!by#!;ad-M_Qc?5&>NTIQi`yAs0Sd=~*@gjtyLPCz2tB=e zd&{*SpdVzbl?;2hPU-^gWdWpir!B^A{8lW#?Nfx(;jy)9^6^ZnjM(i1k7Y(qQGFmQ z+om9nPiyhp(PJ;K(PWnNEIu4NHKF&LR`e$tR|h%qI)i}49Dx4#b{ld}xD+w127F7hOVJrn~8$@BDFnan6i2b%u2#^GLM_k&a9bPs+ zTb+)Q8gZEb|C7&U=|%-->+_smwNan<2116Pak}%Op9QFArLeF*FjgA#=n;I;K<An5*vxz?Y3n0t`2Ldej&=6ejmW`pO`9NTYu5d7| z>(_t%?jWr5cLM6R1IqKFwinoDl~W0{+M*is;|T#d6a2aQgXCX-8_h8UOL_r3h61p9 z7ICP87#C6RcJx)$C8-`3f`iF~uCGYV;K^gM!(fdMa2@BA#*q7pHlm$Vq9-R-VS2uq z#(jK(Is|6pY+UxuS+?A?&-@2w|6}6&jgls2ilC|8tM6}+v6${Gjs?|)7o>;1s|W^) zzyjG?D1Df8~&;5QF|9)ZK7DFoPk$ds~{Tsspmn$S}F#aX?{+EZ`;l%~-!*yi(x6Sm= zpYu8c6KcHYamzoR>L0`T4<6#5enb<>UoD4D#QYt=;KhIM5-`JY|=Vv}0V&Ix# zy!a|`8hz8xxcSrb_Q~CTZc+KR z@IStriFksH(+%AA?{t$r)m+{*ZtE0lZWT_|9AEW|J?pw`(a_XHdRzn4foGtadMaTr z@>yQ5$VOIp&Q3=q{lp+;xIsW@?4x!v^s5g$G7a|`f*%h^8O!ot*|j`niY~~{SKKPL zOUfEnGi_4n+A~-E1z04Mmb^2v(6b_f)~c*F>MIlewiv;lPp;8oVJ%O7%8kj$U`%&r z5c_}ilSZbm=rTjO^5YH1fon(law9B@?;6&>KgQPG(CzPDvT-REA*D7$m#W2fla^>k zM@Pr_#i*}8+y0s8i}2hR$L51SfBY%gxC2hrHb) z=u%(r5jU4eHHcD4Bi&a0qC+tSWud_;G9ho*cq9Kww zCuH2IrF%BX=p`|6PlP73IN40VuySGRap|AZ+uIE=aB?}qjfi15p++KLY)=jO1(o&n zpHNU!3l&CLne3d##IcQ>a`L>u$EJMwKf^D{k24x<%v)CcEGPUkqG|w>luIf^%=;o&lYGz7~F(f3~vq$ z5yffy~*A+%m3uH|8<>?NeiRbK3XSXERDFctx~^$rd+vyYDtNHB~~>Zd1L|(iImy z$CA)Mprvb!jX#Zl{V_vxk}?Hx>;Jx|o+H!Agrzbe=lua8WZ^z$PV zYQv^)H^0AtklpW+M1C1*xn`#8FXz7c;>~3;8_JP2JEP;|J9Xjh-Si*yUrtBn@8pl6 zL(UI+ns7rFhw!pTZwK(#J-1_XB)+8fCqEKV4pH1f;D^K<9ton{Q}!uV-{YHl4Go z6Mn{Uvf#?5OvGoYBpIQZ<6so^@?Fit3C;d+MTKIv(rbhQs0PAmfn+_CriT z);3KnOlA(=+skqn`5bE^r=V;kmpIS;lmw)eGjPiSvSrt*QhFkF&}$NR&RxX}_aJT; z*<-PX!3V*SU1%{W$^&rI>j2-sJ>$~RM7X&o2%yPz=nBg`E$vf)nh4LRt{!s1U7cxS zzglUAWz~d6Urnll%_cDNn8)jZ#sOCo%7$&IN!C`LxMno`bh^MM*dT}SB7qStvBQgh zPb?Tt*uADy*AUmV#M*O9p&twZ+MRPC>ZPT+&pw23z88e%0|xPnP@`t^_4O?e!_&wO>mED;5C+A4?%c(Ra-$ocz92m@frnOW>4aJE{xV_- zj)8Un*Pv^kcGJmfYsXQ>VxJeIuEZ?SMe&$Eo_R+j#(w&=Z5;LKMZ{5Yy1RS;%#Zr$ zKJ7Db=cP|5=|g-UFU&yB?hyjyuWLLum&|l`x*yjEgN3J@!Tf)@X0u0mh|Z7_k3OzG zOm2E47Y}yE^L*~RT`f7aJjil6_t9vBnWmaM$fG#5J|{(&0+0F@lq-`^-J!l^!y_I^ z*^{g*v_p2{8zM^_?Dl_Lymtw}>nLXc;Ap7arhO@iz!jR5X42~JBZO4@iaZ}n)?hB8 zJXa&_gIDG8(sUomsqF`|i6Z09?gCT}m=$Oj;X50W8H8_k7H9zv@^M6jGxxnyh|y+q zf~e^9NLKtwqz@$2n^~^c^kw6rMGgnp%rje%gA@vR8n*dKZ#>)y1@*!QP`ID28+7*v%sTMl3erWXM1+8&^jF`&0rX|E(?pe@biHx_S_mSD35>wVThBW z#5_EzwZLCZvG_$t&aGn7;Tzs**?XGJK=hw1a({1x!*+D6wzFW*+wO=yyJdv(+`14O zL=lPI;peoPsjXbXYucn~8J3~#=fY^IkB73ut(IlsVT`IxGQBDN4KCeE&ixTZw5t2e zQj?SKpqojOYk;Y!A7Lt>jAk=8SFpS_F54G44c;2Z@Bur`al63XdY&V1bH`7YDO{l-Su@_Wz0L+Gkf9e;4V9MK*rqh{ z5%~bG)huZ7vc)2*ALWj{pZaolEzR)N)L|Dm(o0${(MDDQ3F1A{D<`|3=ZSW@2XOBf zpxALg=+>=IBjV=aC9^FJ4Ua(b65wP$xi_6RJD1(0nAe!+^nj0&@C0y;WI^09U6JAM zPqGRntm_awcNCf^V1%@Ct%4kzHR*lcvPFFwk@Hyu&T4Y3`!X))-e=HmHGzif%tKwz zP1PbwjMHmDz2`gL?p}0xU^P|TqZ5J%3M|9T<9A6QxNpzxYA4!FAeLRS@Wt$00m_?5 zvTw|;EM5)Fpy53krmhI}Rq!=FZcb;CyBb{sRkpHf7P6c(emtBfPrei^#aDcmUVC~k zJ^@%EMRg%qYU3r>vj4^2cmGq}|Noa#QPLnqXlE2EBV;8JWzX!AEoB{!Q4~VaBH1I^ zj=e{ckUb9Bk$H?m9J0TUr>?r{x~|Xd`wzT-xo*|l`#7)X>-l^n$!Qb*rKy z(bo?XzHc2_{d|eWpM@J#@ja}U| zeLFsSvteGZaf&vCy3zrRyJ61*Yt2$r3BN?YY50V zR!*05+U!0+`Fma<1^4mqCG-sq#LJ9(3vPLz;Oew;z}4sFQLPSN$*B?Ev_-Oi937~L+pSdiHJ?6i{Pwi>IF#`Mc&m|Ha~9^Kw>p-{gd@&)<1 z$^CHxfbhJn=3`yJ>7)1WQ=3v3oDk+}|8i(B~bIoIUGWl)d8{r7&SJ zKP20@MfGLfn~idzbhlRm#zr2DLl5r~q&rP#I~S9v%d!L;q;5XMk{f1e>N}70qzB)! zh|dP32Uu^&UD(t{ujN3(t0k){)Lj$;t<3Av_eI-7( zoO6}CQaOLnQ@Ts~k+d|+wNDliQDWSO6uadcBc?G&gS043o^SDfd4iSZz`2&S;WQLav&EF*4#ynk;i8gW%hyE=+$&|PDs!EAV$?Jc@ed_#hNhw+ zGIPdV19hJ))SI`P>>AZn>!L;8RU0>L`M$G2zidkZC|y}V2r9NsV`Ec}(}RIdHh85i z@fIKzS(tnkV=?6j#)T+jYV9Cj)0Y{o7$faYLI&_ui~=oS0;R1^H}?j{Om?+AZQoTz z01eJ-J#-adeUy}xNq`%09aGkLd-cE=XfIi=pdK{%pvT~Zb=*_#LLYUS*SeJmGH{6T zB{=X@+^Mq!z7!hg={l>IgYw!fWHtcN@3KWYBuotF@8~IO7m{~}1F2ITWUicpZ}$|o z1I$4HAsnMy@yVKP4#}@hYw{-O;7VXl-wuj0dsLXSpVrQ^C)G|a0z<0~z??>dpZu-W z5dCqeFdSN{-Er7`(yCwT@2zG~fxH%GPmvr#Ib*|*D6scwcXE0HZl zI`v3Z`QZsKde%!Sfl&>gwUO=ji<5G8YR8wg?j<4ElXK_Tg>!~AQ+PU~a#&2}{XuM3 zRRZ(i9lnvp481n$;2#e8+BuA1ry%mUM7XK)kUY5qt>oLA1fG;AuI~te4{O<`;kzu^ z_v+$91U6Ar8K}70gS*5~((AIM0rB^$$65JzI4+iF%*@BIJF|T_BbX^31L4y~q) zZaXr5pqKBx!TYgu3l95x*joSWagHKCy>K2Q$efRn(?~HoO_dfGwH%eyzbf$QnIw}5 z$lt#pDigZxL2j!9XkN}^d*bCc2mpS{dj8In@z@@jG_oA~dn_t)(xjKy=KLnaHqHXN zCA25%S@!Xnz$%eKZ9v4d0)JW88t-E_-Cth3XirP%OX#WTc}_4(1CzSeSUF~5U&tUN zoCvBKI=r~?A`D}kI$<(XJBvFnbAqULS7&Plo5M!;ui6E6q)@4&2Szd^BOTH~4oV~K zLk=?x$?o+{_^jrxV+XMuY)f9IKtjv|Y= zqWJ)J@k6oXzzEz>0Hadpwp8Hnjlt<|5@K@RDxKPopzu(_Eo39R&j|>O-|#1u?zU%qjlv(v!hJ&&9bozbwE>(WYG@Y>gwzddUs@8vtPr_|4>cblD;TJ`)B`-@3`JYy3A zdvp-F+Fs$wmKe2~=|k@*du2|4B@geI*G*!3b~E;Cgjf-uZ4aQ&t5Hz2;VwO3_#KYO z8DgOmW$kRmWdBIocO){KXEhj=B3V)N#cli5vg2F*Q$=2`0;JClXh5%rsIJDa=$Qjh zq$LGz7i(X;b79`-Jv~C0Cr54GPaK(N{J-`)uOkn zSmESCy&Lvek5%>QY=f%j5qOD|>XsEYt1^Dk>*TXok*|->ISm&=Juv~%j)XsXU5qO@ zPT8u{WSbpT`6S1pf&x_ZN~>K>X+IXH*fO`5x$463(&e+)*SZ6U3~O0m0Pyj5kQj)C zQI1OwCPhGIGl56oLq}Ni+e_EaEw$&(wL4Zz4}2ayA4jG@wR`w9K_ap5akBz69foI( zXT!_@aL;?^i>RfobT$1J4Ai9a6Nw@;>@-wt`laTDc_t5h2U8fh^zI|ZoAxa<(gwtk zB<%S0<*1E~I~+xu5PO}w%?!Yb&IRn3dNWO4;Dj5!ky0x~%U6qVf>ZXiFM~#S{1Pp{ zh+p1eF5r}QLaiT7pO}};Gj6Bgk_0-I64y^{*I%P{go0#~q?y#vn;6!>!KE#|e9s*w z3UUUQJT#9^4?Fcrb$Oruy;&AvgM@18mOiNrK7u8fdeStN3=LKiNm+$jv34OSr3vg3 zVKfa=F4m2<$kmN~{Be0@q6D-h{q8P{v0QG-Cr-L0v;$pQAgj3ZekA z3Zi9K-C?PI2KTHJIM&`aEx_|sukd9Q_nU@GtOI%iI&Z$P&wg3ccm~gh(@v^q+W14p zdWLDt^DvTymT27GlLNjOu4}sc!4lKNcs}Z7(;kTa4~PsB4$M=|M|p&bE#C}%)cNg& z9+Jnxj7p}yXh7OZ9wvX^->SqbmNPj`iS>ShJD)c)%)OXVDajZpXRJ0e0sSKuH2j7j z^^*jl`dRsVNh%S3qq>myx8`5iY{{4&DzMF|Ub?XNo_(Txq#II%>3q3IyS1yZ*Jbo1Lqcq-1@ z=jdK1lWk?Z8^J@gH}~QuPQ2>P;uKj(xa6zdv=v|l*(UbqEj99O;!#qgsePjw1TD9Z zM+#bWa5tCqvjCVk4H}Zw7#7ld0Qz|V>1cC?>nYh75BJuohS5`L9-*?CjQ19s!$THc zY^S6o!$2QMHzceYtX#Kg=^pf7j?6qyBQt-7du!HE)LZ}p^6>&9$!{ zeqMe>?{LI?=gh;M%eW`fGALM`E4DngnBdprOJrzdsya38eDuKS?BAPRu1%ovqDfC= zYkMf_yPYK@2sp1qHiShefCAi!bX=wJ?KK7@5lx&5O0)q5_~J!nw%M&#Y zE>Kqc=Gmk?_|2$fC!;{%(862*T$J@l86{cP^tB!@Ysy33Vn`y9xvD~^>E|V|dy1_r zi+UBH2k-KLQ}6frY7ZiVf@OG|durRxUcRV6GCH_*DlZ=YBjO;DYNl>;4q8{O-SYA= z{DwS*i8-_5?akS@y9vo0&jz96+W~y%uY%bgFYyiOONB5b`;fRie&ohqrBk9>cB7tb17r6K{3yAP$zn%$w{!>X<8c2M0fb zczO=t6Bbjn#p~%}B=cP!Mz@i~wldP#jsrAzbKMMMmIB#!q`{3CYdM3oYFhfe_tuJV z#mCsrPOmlFzX`c@i0>TWS`xD1%;IXie>y_WQK&_Xu-ebP^$!>WZRbwhj2dgD#LcWpd#yP!0#r z0&`1SuTyHEr)eW>$(q6>DUjlEDMdN{`8ts$Q>4iZdfDLc8ea}nna zxk5y?{Hsthv7+mEMQ2}=NAt?nFg_UFfg9^C;U>>`ZGVrPWa>ZdPN!qMc<@ThL-!E@ z)s!t6PQ4>$a3c(M>wTPm($aNy+9B||O#AjfidvQf07!U#cQ6hRF_$*3^nHJ+Bs-H}5OH1?)lj5hdOn7%t4lExOKhR_L!IwzyXB~c*@%zEMa z()(%`E-Letb2Ixc-j~xbNiYW8n=A2W5cUlCE9a(cnTQ!&je8Bn{WP+8x{0`m$jA7d zRFSx6%!;gkg*o;+ZCX^23^sC3xgv%8lN5Aw?Hy}Yq z_YFINr}EQxNKYC%*p6Sa6F9vhwI0Z};&ese`uDd~xjWkhDPfj2b~L8=WQ1D$Vn=M zEx+QNNzc0oGDuVSio^!_<_9OV&hy5iI=D&v9 z>*>%NIk;DxTSK5J_nc-wQ1uysTvJ@6nxww_yl#YL*^RjK!1Npkz~>C(D73~>T{msr zx5c=as$V&-;?1hD4ro3122fJd9`W#p`i&&H48`bWZRx@<{H9-N=-hM!K`1VmG}>GN zaW1G|!N({k)!`N&xGv5bAP>|QuUP>>5HX1+9NCVgI<201C|w=u$8OvazK~6CBqETC z65K&cb*Ql}5dPvBGtGD2ZSiRGzB0&pk3z#twZpC5rlf>>zyU;2oQmT&$N96X*<4vp%|bn% z;c<&_aXM8%kI&Hp#Dj|$FR{UxNt~B9KkHA5O1QnGgwXa-iT^_Dabfgw(X;GNY?2W zJ6wEm2=dELkj8deicy4|%HLcQ(Nc`SD6H!0oRj&Qr7NTwe3@+vpks~nYblgK*x#WQ zxMG2wh?LV>a&IlL^H};>O^>s(^GobWo-=S0g*epEG96c(b!pZLqPG)J1z!ZUame6& zv#zwJd|kRcmE5; z*+=oQTN3%6OaL3+M$KKgP3QtBzDKvhq_GyM)x_mPHU4&KC5E}2WqBK0z8|8}U#C@3 zi&s2e0I=1o;@OwIUCzJJk1G}t;3&nk{Qp*ncBGh{= z4`}{2qlY>6aZs}Z8h!|<*?Avo09AyB$O&k^P1IDxi}b`^hpwFwYS%*m5Srb!SeA*c zAoyAKeDk}vTm}sOGnTeBgD}_#Uj00Jnlc#gqgwR(hQHRLxQV)477VqzPh1V$HFkDW z+wr{*!)%(a*g+F!$#({X{LjxEbAiTfv8|Wth~Ia@@#x5Go`bqaB*b2lv92eU-5`B- zM)yI7q%~tApRGJN&-pfI2pVgjwS8TvJKb?$uDH=<+HJzV!qB;&47?Vfg+i;zRq(?1 zFAsoQiX%@^iV>DU^?q=UrpQb60=r~nr)a9XGGz#w77DiUrydrikQ|nv+K;uWd^ty9 zCV9n~337o}upDrGcSt+@0fC%hZ0lKQ23ik^&DSX<)=wf$u9gQK+T7j}4a+@~7U>K8 zy?o0UxY4~V-u9C&C;W;C=(Roh2 z4#SMZgurS757OU5c;wKYL`oIU9S8PUGbft^db4@#YEey>1WvFvejaj|f<*CfcH>s& z`wzU|?;*b+!TP#bSKp$ou#oau%h>riV-{mls}>mDH<%K<6}})uD-?C?vyYItcF}B; zOfd;d1m>+{yEe@((}9gE#-&Rgt$vnnL*MO);gvI~8xD1Yrbmx1bUrd*A%vb@5!nJd zcY!9eTQQB)0o&0@<-C3gL% zZ}rb`=>)6)iRF8P9&s`f8Nkfo*^Iytmn`>TvoF4U!g=c0>QA1b*sTQNvoCJ zNMEoiMrP!ob5)IVkjy<6e}yD21?yS1tI%@hw18p$ZN=DEudv`0V9`^UH|l4fkE37Z zXjIHHRcY>eC03g1n`Th8#}V$I3BZw2ji)6zVk!@No-ZXpyOdaP&ujDUv>|^L%T7?E zKaS;pJMZR3GoKpuER?4Z)`vq{PLGlO#XP&!>7EL8{VN8V?yi*NtjD4M89!3NrY}J> za^A3wy=t0&R0@-s*^O{9DR zomqG{x14&vEL|>k?tSF4HT6$Q{L9CX#4Qs=PzV>TcOIsK~cVk+As!k=e1(H zJq`h0^<|ej%6b1R5w3u>Yd|Jfh2#d;8+#j`dec*$H&_3tEcenF^zRd?UTIl*HT#^y z&*aTFr#_`Td8793SdUJ<^#pZ{sWp`9!1=gs?XiZpN;vMXr#h?{7_Z~fleb67LefBl zbXLi7GIb9xZX7h%LL;BxZ*uuZ>F1VV-?EOV8LPg8^%%5pgm$I#j2|}V%G}m)6@{IL%}2f=EBfEuwzx=0GpB5 zW!FWnd(qTxO>!JMOyvoZa7-uysc%uo7l3!QU%d5Sdm`*Zq_AcO3hKRBh-^RC<@KqWP05zD%< zp*Kka;9^D;o55PTsd@z?KbR`zQQc8@uW6SopZ>CwquWFoE}xhg&QBX z8L^lVr-`6JbMiB(^<+WP;Q$~;5O#!)bhim%VlmohtK09C9GOt5zfy}osN51QXHB8h z#2L}o0T=r%VBu-iyfBL!g$Zxt>o$JlvWTTbW?^HNzNi569fr2opg=W|x>NhA7zRY{ z>Cjif!`zQ27>F?_+j8wR;ZR-Ka7jp}dk~U4D>n>AJ4FO~xs&7>*jhNQgU-pYsO)=+ zL#XE23vHAB#IJj+fj)%25I>0g8iRJ-_t_pyKO-O|LOq}Ve#EOzvh?@01m`g9orUuremY3r{nqTnszzNQMz8M;JlM*v4 z7qI(W?X5UH!>Z@U%dsU#_6dZ0Y;F|-(@&2XIadOdKOqh@wyTvQwYa!NCl0unp-Y+p zPsv|etaFl$vSwYxHCFcYvoL=R z(J1L?0Jy7s=tyo!k{Mo-5g{0VPK}H|neTEadQBHe^yTRSxioWOW;hr-r?gDw)H@YC zaPgWzudWyqOa>GwaMiO=$Q<}bA=8h9q?sgr5f~X&f+oAsF-R3*0 zvI6GV#$dN47U70IlT@1gmU+HRt(R8bC_{2?OH>5gpw`=Qic2IaQ^u3ZO_~Avkwq4KrYKaNQ1Ts zy1vTo(vgWg_?|jdFr2yZ5Y=?WShl|(^0z-#-h$4FR+XHoUrS)QZ@|1T|0dNN45{(47tA2KOYXEZGLf+tTZ42dqrfj z_%$$UI`)Oi@Mvszmf0($4ZV+3XM8pau7qSDdiU6kf7YjEQ%>Eq^ZdI7wE{Z}V62yg z+UrpQsS=l^SMxQ2m_PPuc1Fj0Nw1dZW84U zq-}|!Kta&(e=f#LS9F z{nw|oBQ^0S7mwT|h>KoS2}oU+evkPx|>+ z*T;x8^*C(re;)teK3KFEwRWpRhXnp}`~LQg|F@LCE!)4|47{lSE#?1q<^K^h{&&FF z16dk5n_7zbVvh5YU1z>+qD5D3BhupfEEuD2@%rqoagZ{}1ScArRWubrzTdVTh{o2A z%06B?No!D}!XOSW9&{fPl;isYqE z`a=f|piV}JVlhJmpcV^l+iQXZ@=f-w27NTW#T>|P(9}Mpt?Bu3nUJ=-2^F%pM7nVR zO0GctM%2hhwz%2m?ax0&KJSnm2Fr>_Mwjn>Z|7h3gZ8g$B4QR5)2og( zwCkp=EF$4X0n}BmnbD6 z6!6;eu!u!tltdcule`oRv8UK<3Bax6<#f7_^K=XSL85@y-E|UarG5qx{R1uPQ}1L=s<#i2x9~q7qqPf;V|xNMe{KvMKFjJbp+#7e%zIL(r6F} zF!N$m`m9&(i{j!@R}&L{l!0|WzQ_TfY9Xn-in<{vr?zvuRzxJ}sIiPWI|EyzY+>59 zhbVS<0+j14=EmDyYx7~+kOV61?qg_(js%AL(!)kFP>WR+Qm(i~WdAS;a_7g}Z~)H8i5%@`ro%kWT%_mHKCD zHSqYp8!fp$pi8dB*Ag1-p-c@TJ7LN7Vtgb1tDKll)F8mh(*gE!!ql3CEr9AYnm`j^ zGul*6ag%2G`1R)&as#=PkC7%DLJlb(C*|5t-#B>)=>fgykYn)Mf95@5IWacA03m~T z0VRV`X{rym@25~AUc$gZlJ0t^CRX4kh*8)uH(#>Wtvxtvr@TM04FIkFQLXN$S?(|a z#10Z@e)AVeIJNt2Ky-?;V+$05!X=uJdFMUFNi;sbxXFyTlX7Wr24tul)M7G|<{Lps zdaNt@!A=2|n47s6?CQesHC$puRGTMuqvR)Ki2|T%2ZKg9jYi@gJMLmf_NnHFvFs>@ zF`AQ*5jfnNK=O~VIIuE{oEAZ8l_mddX$mA+@m6haP57Htk)Bbk#YB zWgb1}{j*g2EggEJ1gU3eN67jVH=<=5%TtwYZ@I+E%s^_Q{EBuk_C7RF+bAy6ex{MU z!n^I-u|O4^Ah`e`E6Dsxwva$E_MDDY)$!t8=i03k+j$v?1**yocOV!n%>GZ19-0uW@A)$>YKb}SS%vU2VAVp$$RD$_ej!WLAA(|GT;<~h=gX1~~bc#+<$7ogDhFl0l?rUyC(Jg6R zV$z?}x=Cqn8txU8tPh4*Rk-r42Bnvv8-A^f+^iG%U6Qe2uDlhZ-zjjat5qu)nE=65 ztRCjU3g>52u!XE$!cgdihE?lFKEc){@M#}8{tBKrphbste+Sz)T`+myo5T!&+qydy zVx93Es+Dxva=a}Sl!o}dGeD%V(g_x`z)ux_YaCNAlH_T*+c2iRWLnn_aQ{OiTxZ6D zcr6H<{q%9yCYI5_cjk;4le&9}N`f-06K>3z$n^ZPbGrI`4dVsV@JjiQFeJ#9;Vf!# z-ror@I#Ar#QLueRPU2S01&z9qIEOG&7~pn|l(h|*YaPcz>v_}bR^s?gK`eNmAgD-n zs6lnAL!6>)erY0il{$*=?FXpxGW5er4(>Xp2^frfgMkg6y^u_m3_-#!mBA%ts-nVEKSOt?(o&wlf$bIsjeh9 z$cUT8cCcqoT{3am!ww2&>Bub`CxMu3=W4PrJNvB$KeZ$6#~F^X4c{8?6g=zcD1NX- zncJl4LrUIIP(xlc@FPZcL@zo{wi+sZSn}Ag&!aXBdc0Bb@uN#Gi(|QC2%D=k)#b#gC5hBprUq zbMN-&;fPaUC2v6)R3w4xV^7I_PZ3fycBERY)ZBn^qs1k+e^=lv6!0RR%MS*wzX*QL zr&5O!eU!INjc3%K;I@f%!+{{(<_;Dqr7yepU9!h05*0D(Q6#S|k1xN=uF^ zz_$zP2Vhgk{goeRkhU-Z(4u*Joud}H@%2~6``@NscC~`Ly~y*dyDq)(^+=hd=j;$7 zPr{x4D4&LuswyWzep5`Mm68cxc0TR`46kM7_h)iwj)8SG!q!qqbeG*2tJn+}mNXC_ zoWne#ajVBP&D)+t1_8V#K6LWgt;wwzN!6E6PO-0|M zCS*BW^LnrKn$|W$o>R#~0k(ARqXgT7V@xKF?ius}*^m%Sc83mA+VQ+HZtw%0{4ry7wLrWrJU^!rz0%jm^VD6r8<+$thKo|EtzQn6w!Bd;?;16 zv=8S9XLLyv-RHqrBpsn%ksku$-44e0*O&G-d{i`G{AaIX+c9=%RwV83T+f$YO2cYt zkh2rcyw$;YZBBpRwEP_8!Drn~uE#PtQQE&aEmkUbcQ%leEiQD6_84FuY75v*`SE(Z zEZgv|UrF{p0(nMaWo@SWH7yq)fNa{tH*Y64;Q*%X7BzuqCTpL&r08qVdgsd=nb(O_ zg1o7#U;)gq7KYLFof~OxP=S<iP8(3S{ef zPNia2HK^2*4yjnQQ6Hzdp-isdTu=#2&JbF@Gh`Ah0IP z2V#WV?dkT-3Tz{sp|?3mwWbN3(B1@yy`NvNwdEXf_3o!Mq*Vk+e*^VtU!gg5;MuW9n;CilZ2Jzo~fQFW^v=(;Y&Vb z*Qu!QeLP^atKo$AN4wuLz8}Z%X(n{lnheI*n=$hAoA*!|;Ki>BU00$oI4TQQ4i0eY z?CB#H5>5tTBTPQmD@$M5nn9pS>eJ#ezkLLTi@fG8Qnl?%U?qOss-wZ84!nwtc3vTF znf8#Tq8v!isz|yhNp2F9!QH-xyCl{3nG|P_LA}cJPPoWP54P4u2T9?sSTba-vq2Jg zl5ieAzA8I~zkhjW(UQ0T7184?vl`oS+L{E+7})EO)yEw6p$)?NxUk%(r5fF`<;UI{?V;uiH3b5gdR&r-9QXPn=BGDF4T*?tq(M|M{eK2|pHRvZ~GLgu_d4Oip%-wo8;A7XqM!M7Xv@%T^K{_qI z?JH^{g~?^nfVB^&9+dlO=UUQpo={rRj(E_LRBh`u4zdRd{p5}?nnD35%Xz!kdow#+ z5W>Ck(~AmTF3ZnN6+{!6GU=z^bszogc!BIXZd>)w2mjTF+l62i0XxSaU35LQui=6R zTu>~}_5ri68KrG|`0d{A3^G2HC@Swd4tyDfH=?{&p@<@Xj@!_H|C>F;kxobp=ryh` zrX73GuI!<%`X~+l_siOz*i*N`3^IWuT^`U)=tw!u+%XL_cGryGK|IKBH!zLv97rJ~ z_Jv9^&bw{r;Br?MJFe!|p3{S^zU;@uXhT7PM|CD7W__Ki)+ZAsZx%j39WJ6@Iu7E$ z1_auqJOw3I%Gn@3OQx(bP!tGZ%2n_WBe#@_$1h$T1s6T(BC(^MoW6Q<%xm90N6+gY zKNYCL*#TCKZ03AM`};0|af<$9{9X;A=Sru8wB(NxzAbwbf#0o~y|h zvm>4Zu}8s!%U8?#^RQ%;tL5j_XJ6?C&%CY=Pu1h?(Rx4K!Ke3bgBkQ5S`35gF)+hY zu$=^Wc_y}dE2+nh$Ut;Zc%VTQnqqbxlq^T$-P|b zw-usX$2+pjuDK?;jr8v@z*A<4l_urH@uj;(N4 zP9Be6@Au31OM5?}OdoMyRs3xD-H!)Uq0Vm*=lXD$g^K;}`sv4?D$O8N6c(>&T_D>A zH%j*AqwR))a4Y;soMLlg8ub!T~F z0at%J5dDm{HC0*-D2O$M@LL~&i**5vT)^O^PQFBeZVl(YZc(OdKUP%T{%zq!9lYV? z5Bj(q$kdwv5-G^3uUIWXWw`gXB@as=BY>=&LB;+|XOJZk<}Uo`sUY_6!Is6W z&y-99ZOAj>gbHl5@Y-fA|IeyK8u6M&3vpUd84tLM0w6ZYs6OntRSa}tvH%ZT06Y=J zt=CRGRpCky&5pCC{#X!@I>q)($9UQ|bga}IZqjiW!Ov?CL8IsDns+p6$Dq5RH?qad z5?KgfRR(0Z9Kq1+wT^htSzt^K7xg92a~M?*%kh$D=+DFwY?*jt)7p5<^SC#I(ScT( zPi)2q`s~8oj@=Z-_y^e#A|gFwwp#qxOJPSZCBIwi6l78ISaM%5EH&ES2-B^Pg;G@b zCAda|J@#^pHbshWUH34E&4ZAPcxT0n25j(FESldw0c(>sOjVGX)n6nLnn$b~=JwUj z$A{&K9oL1*R|>^DKRs|{s=L!vOsjGI*|pMfu*TKzsb{82bOJjG8WUlY##bJC*%1+k z?xbi_Wfb1&d%wrQ-Ng7dm6~qTAc*E?fx=7&I2+Q=DC;^+yCdoaKZ(i5K`iNC-GA3N zf45?4r9bZpOa4^4ZY|!1GRnnnuvQxi1f>eXq|C1zT>Z zqdl0V5JFD1yAV3Ak`_F-KG8S=#xt5wxE=AUp}l-b<)i?$d5dfqITg+koQSZdwFi2> zL+J|6Rb~?KE-9C3h4X!|pSF;8U@Tu$&NM+YmR0E^H~oWoXYjgBf4AVf_ioiJFT}fZ zq?$JB2RCTR)9ESn)*Gfb|D6aAxWe9K>N4Qi4FR`O($##MF^IBR0-9xZ+K-+mK}zTY zjd>iVXPxC?UK`wr(=Cb1SKqFtZR-z`uowluenj!qRyk5X)`qi0VkyMW(?ip<6T701 z#LXx2GK1Y9Yalfn+UJbmqoj}sIX_@#yJ=F{0(2;@)dbeB8E67X>GthMa@Rf;S6Li4lREw z>zaf!Vj|qo9@N$&F1-I})c2xnr(n&(#_hI8V}5D@$U`}HBimP$_XIWjKgWudGH9z8 zPG})t_NO9bURyE={E1B0Kvja3HzYzQSs>SgfPY#PAAlS^4=~{i?s1T3z>ShI{k6i8 zvy@`1Pqb&`&QrrM_FkxqJp7V&3%S33naAskbeP7}W_lL^e3SzRj0HwIg_KIip@Bzd zF9hCwI}1-1dl)I8_Y3q930qL==>Tl2lH&HI-5xswd`ia~BE^#-?kVgGa?Aotuj9hQ zn3gL_TIWHAB~+AmWMy3Vm}`>egMUxxzwA2{Xlpig5M8GcEtJRhHkj`0NM-V`+Tc!g zE2+xjD3NX0k=AH;EwhX-UP5ipB_q%xrx2? zQbqRo;5KdUwHPdaEHGo5@M&jhYal^t?f^bXL5Nnct}5NrYo+E5@*hp3Jz7-drj)%s zs)WXpGRQEs<-pL&Qae~yu=NP7(jZI&`ZlL~)f}#VT3-IJPXC`*0!s|czGG%TT4}7O zRi)^ipzgrAtrOtZv(G7FvneD1=J4li%j&<9nu$a|wMczM+As&tjwj=EoHmcm=^SbX z;LAMl(7p|?>kYrVAK^-3Pp|~*&t4Vg5x6-Cl*KQqF2~+Lk^&1y=m2Yx>p8JkRX0YO zwgBQ2nd5|M_|?rBU?dxBvi~cRL*UUA5&-js7ki8LbyL;9)l;3v!rEc@>K#(_ABlYb zvPsvukdjIz#kt5j{qkIOIdBWkj(HyMQEcgZUsS=Ka%)9O+&X|6Y%tDHU!iUfyzuWx zwGn7uN!uU9u0Q|6(Wl0uNMk{8WAc#BwQO$7o-U4(WvkxXfQ5+G22Y$hkPrFZTAuKW zi_v|o&8>Z}?D^8WQ#wzF$_|2dLzD2cuf`m*?gm+=cyDD|VPEiuqakyr?dI&}!)T=4 zaA!@u_7<>-Jt-xtSS7iF)aPD$bC5iyD#;1q+ui_EvYZJV5_O%k)!>Xm2e&OqSgr85 z>U}~tZ@Lz!X%!3xXkIOo_4EgrVTP@*hW2_$L~a22NdPaaUC@6AQ?F>kxh&L_Xm8Qf z@Jpj~H9y7J`V0T@Gm92|3IXaVrS1CP9o8QoTK@bSCm)+#`^q=s z`nCN@)d1Y|AU#FoVH2I3?tWe`0h`pxO_%6#+E3+%`)K>Y8i4FHa@Q2(6oN}D-lngL(KeRvFM#o)~t@9#?lQ-!hd2feK_$EZZ=*&vhnIDEm^I56|2G+&Ht{!LR zcbXhD`>snI_Qgg*_UsoTzCJ>8k^hnc0Wxq@k~Pg6lVVK140y%6BOFjAM|Sa0gPkdM zEcvYhrFV2Cxb$dKFiI2ENKZ+1oDgxi#3g%U+Nh}l7R(;r&=?Fi)!OqW8pSs;aU=WrN09viSMR9vEz2^ct5*oBe`qU&O}CA*8^IWZ}niXn_jnEM3^R= zrew!&SKVl$-Z*x7=7{5Pd?*ldLm{Vr%k+Kn8w}vK*0m*Ar1J-=EXfLtzIivLDjTFW z56WFlhOD#;iE1exGOcMh{9!{25NiRJcA?eq@*##7p8h}2+OLZB=|ebld(_Rn(ZBq- z2!RV~g>5ipYKpLG5Zl@gl{anXr+7z5iYH=T>3mDJ?8uBi=XBejO(m+8HCJ9vkrbtp z+sBcphT9pEfiHTp zFx$xzpK-_f)Fp?NEXEE`euJW0z}gfxG0()h(GDIwpse`fr}D5j5->!F0&427%;eHp z1O2sOIyeqVDYZe1-=>yLDngds5=BY)GMMbo$=0jS=kr?+oiB3+kZx^pPY6=x0mHvs zK2E1F_+PT#_mCKMaxKT{@(fDZpXwSkd)8K(n598(|cuQ`Ae_Z#JT}(rJb(a>9s;8?Axil(o(by+*CzY+GOO8F^hF z%(#w=G}((t0|~WYbr!4*v*WruZ@hHGlP0)#B)uPx=&?(iYtG-!k^2rzC|m4<$y3x0 zy$QPyP(`!8MRN*6Xhj<_z;I>n9XehP&v1jAT6oQg6a16fu+SIVRk?*#!Sh!v`H4(Bei)9% zo`i$zh{K4M?YWyeF1cyA8VBAWXVn+SY>8ym+7Fys=)|2dwQXp43wdV-XhR=1El}Uy zzON=B8StNJ$eY1>H=snV zyHnDGwVVn}7BW0K(Q0%95{Xd#s-w2?7ZT{wJcL{Q&O(ehI#W!2wBqsiU6q$F+5fx1 zv_YIynV^~VhUiP_jpUh>dw6t>j!2Xd=iq(;_GxZl@K65X(u`ui&_yC6LE0y`iPR#@S*p7?` zgEO3;dkuq{JHz$&U#;kS_`AV!oLn8sS{DF$AkIVdwRax=5Ri_YuggnBW4CU>vjWUqugvm^r$KwlffYtruW~|t z*1^SNTY;ymn}~+P zMqw(wlx$Y2(6u(QWTg6qMgRR#-klWX8ao>K!-Ls%oR&qmxDeeFZyjX2Zviuj*M3S5 zLt8I{+6%0?URq@T`3!3?v>c525g|k=C_+FFHX9W290A$lGqD3M>?{})fA{4B@(YLw z&O4Em2eRP60X?HdhC`kW?@y@%AbtUkRo%)`PL(4wnW6sFp%cAMc z6;uM+tEFjCqI;zD+Q6RQU)(S3%6C850-WSOmP%Uc(5XNw!EVTLLSYJ3RG=d^4sx@m z&9QPAwVA?~5X%D689ojEb5+o*8_0rJqSNcbv2H#Raf}>5_J4!_O@0Ue*VaAQU1K=x z9I5iJloNf@8w4TureFH;Tb@RUf}~0^oC8F^H3L+mKdaJ-QlXV~yrW@#m<5twLx+Er zDvs3_^$8{eti=B7lO0aM2UqZg%dGEZDV!)2zDdYD5~0Z;lQak2AGx@VL4Kh8$^hFN&#L34?dzvnI`TfY4v>p@ zh%|l6iGaSOrJ?x@fGSfcTTU-Sjw%4$08Lh!FVFw;?Z5{vBPS5tQZ0Tx5BRT@|LfmG zx4?@&cfXGHU#Y~em;K{AA1Z+#oEdYm&ib!K`u*RYZiG(QjtJ}jrm6h)jVn3f2bc4E zwSHIm|NWDG9Bz2I2BHv8HjRY*!!G$BUlIQL4UNl6Ci&EU^GaAhb^rR$0Tf6#2!IFC zzb~8L-_rk<@_$SDug&vglm2g4{&tvuKQlj1)c+3n`bIfShDs}>{E1{chkL=C*#gLE zY2XId3CV>y7+fB9+*gE!izEkxZ8bqh5M3OqkX*7Wy?qRr{8ErAB4+CUMFfZnKUIFz zpy_1O0C4pyq+}5U|0@!U6}bEpf)nqbi*rO{Y@w!#Up_h=eMbjv5u z6o(u?e73kltjL-Zyj+{7$|YD$EB?Y`A3WLVY;&5PcLAxjD#`L6e=Rd(fhw0ykbROm zKlb9USTzhP+b{GJ;mpU|?sSnqh`tN4yym*hijoN-OB@84i+B?X!WjsVFfj zfM<3Fyi@NNkog4-Kwd?YnvbDB}cE^>tB_~H3qm$u% z6?eDH*!|E!m&jg-v!K6mePfn~1>gt51=k&iN7CJ9({5G-dAQoWf|e$~bzAwYUtie(WoSk5<_WGj2FO((FC31{H1#F#25~Kf*y|)aA zs_njqr3?_U00RXBQ5s~xpbSvNp}Ucip;KwcRzRf@kU=GfjzK_T6q8gs6p)k>1qNh* z;lD5R&PSi;)BAqH&; zp5bGyd%VEe9YB?F=q?AWU*{zV0NM`4x!rNvM3FQp_btwjXa3y+?tldxRvYA6zGvG_ zH#wz=DMaro@1d~ZR&v56k1rpJRVHe3{9st&G?KCMO_y@&8mr+vhy0WIKxmrq%z-JK4=OS%ke|Fd86 zW6kby!0A#T>b4QxFW!C43+9~|(_vPr5BD^(mBw3h%qvr?-<75yTX?MpKD+G88=(c; z67M~7U^ZDvP7YeV833)9FZQx7#$si0rPp`*L)XaHt=bU=>%i1u(}g-CZgK^GQ>DJ! zstGuw)YCZuM1rqeRci;!FJIg*J`jP6XDvT}%25PKwq{`X<)=2oMLn*cyhC&sVx;6X zkAP4>2QXEP4EHS|qa6^~>gg2ga(>m`|M(TOk>7g0SKyq>vVh*TB*4d}evjDU04Kl! z>8~DZ_Ze3^s{BiV1USY19y>Q*k%!7W6ZZH^=eR^? z25SJPiX?aTpIo|$Ke%*D`l%pEDFcEqDihdQDw4-U1jVuofd)GR7F<9@!l=pI{R2X8 zC5&9v-f|F5cRs%^rlV>}IjurEFWU}Q&I;qgvA~6rN-`-@Uv&=D$$ptJoIVDH6_bP~ zdZfH#^1IBHC^St~1&UtH%Z(h;uVQ^LU8HqeM9BsP=Qog+qxdq#E#w-IyYCO4rbNQG z)eif-toeYDon99lzTHoEIDSuEs8!=1(t zDbQ{M^yXLJBl>^5LI71YJm*3_ko$MR&NFLE=uwy91=*#so*f%A##^%qP_pymMnOfe z1Ezo;fiNLV+!dmM3)tZ>gVswX7dl_r8_!5#ZvK+%9cvw^+AogG0}v5SF!KB3FMZJI zII|!f_q$^8D~OJHE9fCO&GjU#)OW?CgBOD^g!JP^*DiHU!pXj>j&<}Sh{DSHQT3pD z_lxa1;5dDq8@<=uvv8EJ*wtPxgO*;O%)vMGBRH9~}-F7kk!2n#*0(>bf zMjn(QsuaoNhqx{>*7(;Ymj5$B0s&OXPv4T3cbH|ZS{V#KJOOrI`-M~IYL!Pj52;+E z?*e7s?}gidkR)VW(xjVx+aBhh;^E*h080LJK~9F@6XBdEE}vFP|L&t-R_AgV||+vA>(a>+)2gM4QU^32QKb^Iq7tvnde5S zd+)e>w8-P_nRlul`o#DY&0&r&pq#UZjQ>Gn;nh$F(-OqJL24c4wd~gXO=|_(`#0J4 zA&wm)ln5TV`!_AqZQAv}Mw+3GosJM#@1gTjC@+vtke6h-3$6Pbwukzl1T!^6is7+x z0p-Zg0ojwFe62efH5jgobpiX#$v6?7b+^L^Sg24wzuyC4=lfFoQ?{G~#Hoossr71m znQ!u3K6z$+uKWua3_~HLf^T`ci+;^VgfT_o-m7EPx|TWUa4r+U;H_Yzh|pW zoO!Hci7hT?Fq;~y-CZmKb~9L$I5spNzQeQa8FUf&46P!x?I90^8y_ecTpArEFkssQ{6vHeWrf3ZW;jRy|(KyfsB!7s0Hud7R;P)nlzqK zitqwv*-VVTBb>GT>H7n~&ev*>V$lAoJiXPweo&r!$hXY*W%TlaL$;-BWw;9|Z+=&q zPbXvzf`*yz?B77Gkq4eAolRGBaV>*kMzcx|fiVYn0_mtV$c;byUIlbpr($Gv*3X09 z))Pn{Hs@^_{N0Iw6OuP8Y`H49d<>C!@n@K&iQR30RlHpHj-LmSqdS2EW{2|cn`Iil z8rxf;eTpRWDL|KO;&P8mG^2nsl$ELsC0qvN{tAKHeJEdy^*7I_rUCAOyaQIBeq_j& zoNBBctdebHBwdB5j6gZ^T9Rl5;e*luL^px4=Eg4InU=-~)s+ucZA+(lK50A0QlAQ` zTyg-o-jG0{tP_SGBfdESW81{v%3;^v?R5Wk*y3@VJfeoRjJ&9Pao^csrI{s=+E^`^@NKzm)~fY z{Y^^q=TDwCf{(ZN=_UGq-qXJ>4F4%lf{SO)$kfdI2Z{1uFG9W-ycaihGj0C!BENf^ zMC2e$nlLY9`*VSR^KUl7?uh*^oUr0QZ|t8}R~v_mr~9$x`~9zCXQA8l9aN7J_`b~haa2z&sbl@0~cHSCgTTr=07&>NCEuv zBW3gL7k~VAnt;4nryHnw?mutkINXZD*godv?!q67@mHi}7ldnHzOYl_ z2dgJR4<0m-_pR&S9`5f8k9USe|0LYM+}CLm!=r-0z%CPM|Kt(;sc%7#(jFkU%!ACr ztE@>*C7$EBpJ|9bh~I)ks&^rnrWu0Jtse|JA*jT#+}GlDWt4 z1(g1_P#CM!SItkMR^55^>onR1Y=s=1XhhA18c!M;TtVJkdFt?oSs4Jjz zR-h|XA3X^Cqe9S(wd@}_nm{4$v-K_kb32xG-%B<}BO3+e4F#w`e7RSy95PP_Dwho` zvF(^w^!oqUBR^i(eiAH}21~y0^1J6_MCu7Z9?bV>(N8%)uuIfXqAG?d?fRJ5YpzYJ zkF=g$KUE3U+!zdkPvhRbio5pqcW*ruiaMbKA}q_B1k6yvu#&mRoQXd@L!+rzOT$bD za}_#%laCw&3a@1X8E)k|u4so)auFb77co}a`G*ZPxXEXVXHu#XV)6mesx3V9>UUX* z)dt8bIjnV-X=?YvFHu8ez~?gq=B7dvzJmzPIOBSzW}0?o4!v3sg!g^*uMy7s?$w=DKw^91X^Zyl9AMDoND<+xSg#8G$i}<^P@mC=}A-9zabza+F9!5 z2DOb-za-JL6=FNnD`Yo5gC-Lu-K_SD`V2j|Fc?zLmJDt54NtY?#Bo&f!ftv~Fa-Z+1y!Qm%hX%2_$uR=>Bug|1qF$v$d6w~%b zO^29*%xSWH$%!@_%&aszVp8ENZwJ9-`ni`?TR>rq89$0CCax^;)L3j6pxe3|H4d&@!aLPkpsH_`6*Yj*5V{xAf_j zAN4TP5%T-6P?K<7|4>*i z9MDKeh(7=9gCot3Wt0|q+21~18q`pc2GIjQ5g`8>{QvF2A^@O>w%YjQ9Oeh+_Hb@AXI?dnI9U7_df+J^l{_;FM+|Z zHFFk_am8nkyPkCc0)!qg1jLgYT-lC}iE6sN-TUKE{Esk~5C>bjI<2+@{szCB85zF8 zHhi&L_*+2WHjwv${Wl)4m3=Y|MpPuvy|^iF3kr6(-gSiG*W_ESkFLF}Nls1mqrlik zJBSEskvCq+H-ZjN3((WaH{lfM1cd0pe_7uHXni%JtkC-MZic0NF%DAttXzjgMIUX! zThr&$wHR2zo>~U6$l_4dvu`tEJG*61Uq*gi9$3h%O4j0janPo2?SJ_?G+@gd@X(ip zEu(fEj`3q39^W}q1v*YUwtS1KSa=CY6z7|IKG-#~2E{2K0VNnO>bt{oRxhZdHtm|? z4mR8uZ|Kyez5V_>_E@+ATtYuue+{~XFCM{IpzwCDSLAyuFX~*+0I@#YvOUS@GqSIC z{gwjGVg)UJw>L&p(pwyhR0*=li@mCVhDj_6C~gCPPSkkAEBx0vEa54k^!dbv;(;nCe{;x`rKO*V{ZS|U48wd1tARav-3zF8< z@PGD&3~E)R7aF;TO|$t;wu2(zcJ?5viGR5{{dzt}#=ekP3EPc&H)7P{M;$Pnqp39uD&p~@r{yhmZ@(Sq6E*`fD-W08!sn)y>s|xWg2OKC; zY+lm1nx)b?)MCjQgKRAJ-Oyn5gmWC{{=N}_K_}wks47qfazQPCnm@G-`r5e%QpZ#g zdkb_6Txj;!e?!N`ha!CVu$aK|YVMCBYwH?YK?ca0p@K0n1y3(||E#smq0ObVawE;D zmuqU`VZ^TxTK>t_-)MD^8A8)6B!tr@0g|C)hqdWU#5ud|(X1@tD)+@-Hr3l72&GSi zhw?LfPgDYn(E@pY*{vW9e`N=BJMj9bMW4O(GkLZ6e?-L}$PRuZx;-(`z~$s`KY@(C z-B^c0eY0yW^r^J_paqCS4gi^8SxQsKRHF9N<%gK9ySULwJ__3GucDzn6hmJ)m#D3y zzbsVIX?BHmw@tc(na;7#kd9ajR)phg9G-k^Q2`&jAc}1dvWgB+*12sJ#px;Zl&ymdiku(rfU)eYUhOM4 zhs(f3oWtW_$tp?xOuHKXubm)D8svf8+GkoTXqY|OdJGkFwN7VA?l2LuQ?DNwHV#NC zlSfYF6+|2dunTcDYhYsGxLCVI#IR6M^v-X0YZKb7LN${=cI&=`gh!VH&4(ufmYyPt zfcazb$)>Yki-+Rvpfi#BR+lFm@+|zmVC^XljA(w6%uHM5O17O`(I=m&Fv++jLG^JT zNAHyPb{{5;xGxQNjjHKjSF_WjNxkLi1*fHRSdzbXAZfGhAMK)?^OQBxzTdxI#?>OP z0+{FL)*A%En>~yb;C+9)Wn7^i61pKi`eR22%EO@zGlBE5X|K}dP?2UL)Miij3ePp zk5&qfN;Dc)qI(6uQ)>PGEZ9$epRQwa7hY^qjb1y69f`dFqbK?{nmk4%i)Qx%Ihn6y z22U6!na|H(C$KuptVk{`G7tBjI3oehioe|dr&0a9aU|o%l$s?yC}1Xx!*V~Y)^+{@ zs-u$4ugh5FT-1t}>-m^&Ck;hbs!HO!%W zZqRciErrU-zU9mN$2VHF+{|8NZ)L8lvW3wQ^T&3RTAt0Nz>hG+now6Uy<bi)hmBv0dT-$6@n znwqTbRxaZ+QxiQ1J)d=%tg&M6vl+~f8Dk&sy9MkzeINK3uo&-VUsv#`A7cynej>p$ zD_PgUl!BRuli=dBGtH;5s-#S@bSqS-6+-QsB2qY*PxaLvZ-=qh?nps>jj(JsV$#CX z?!`Lrab8uggx8=969+^364Brn%iwkFQKv5H*h4Ol%0R*m?|+$HtJ^-m)}DNcF2s*s z4$NRo$cOFQ`+v6r0{{XU3fs0^L8qviBp!^N>VTX0-5^u-8M#{cX-zqGM8N5=IkulT z(GJALy*3VYaA3CcMj37F5V8Mo+#g6^UE;D3Q=B-OcMB<)>5!~M%BD5!z>&@J{bn^9 z(rm@sVvc1b6DsLD=NPTo-)MhDJjWoT3DDE(r&Oo&6jr^1I!R>9(-C62V%-#MDsL?B z5Yc6O@e0LX9QDg3hyuFvy{9>r@4P3H46I3gQAPHeN*bOOg8O_8_ zoHlWVY6)gZS#n23ecQ}$w8P93$D6xh5BG(gy1UZ>&DhoUCo$LHn4sl2b(x%=k$0w+ z$~*@}t4=j2y!`0NWp*BK86upjRl5sKIXk&>n%9Gv!jreu2?a~kHyG!M zrC!i(Z_qrzkZ*7o_Y4f6n_A#hoo*ha%z>&-E@BL4d-XR#07J4=tbxzzmv(u2vF z$1$QhwFbZI6!!pZr_VV6FfJu!1V(KrnozGS`_Jr7(G*37zF+BIAWg#0?n&!va7oOe#K;Mt ziN=shhncj5`Vi4>R0_>zs&GfN+F;T${4KzdiT$X2`lT_b{~eGrppZ%Fp=^rS?~FUt zaFDro*ju?x%xe;Jwo%02fJA^U&inkV|deo&rgKh%upkFWcm z*H+Vl^;HsXS$MV0Lx^#?};d!p?>;E5b5#F%^Do(UiIIjQV zCI52^Fv9b!#J>4mbN#QCyUh>rB{fcP?O%8Pn?J3F=V6Vx_q*-**WLf$#{6q}fAgpR z+nB#;cK@|r|9@@FCY=NT#9JOIu%HnW2S{^C##}#0S3EsI%k*Oyy(ol~q65eu_TYk7 z7an~1uiYMQ0%2=7SfAm~P$<8H{d~E%g<<+I5udr_)y_Qsxq5n@5P~raS6A7Xafv**d{S-S`j?B4?+ayz+=4ZR!9C>1V(1MD{ z%rcFGZL!?`4?;|JS2g*5lUtfo)y&in_@n+rFhc4Py4IZwPj%vnouBO0w3$E8+JAoc zun@9Wj#58Zj%0!Mpg1;V#p=r&KM*3f#x?I+4=qhe#%qFqTdCUz-X-|UbUM9e zb*Q9>$L=@&W)~dYxznps_Pg&fFiA-loE48Ieb2Ny3sldK?(XUEy-j~)Jv``|M z5R*p~OOH{cC3YiIl2-)dJad0l^r&vDi)MPdNt69O783Ngm{YskKsxXZbilau?;vLJ zsIKvzliKlGWoVCx=5B~%+w|DxC6ocX>At8cGghD5aB~+d z*vgGz=%b0?NmxZUa;2Vtx^N)O@a-owfA11GJ6C`73D%~wR5>sY6P zoMnG22@lwV0jPyA#QLG(CO{Upy%AAZS&@>YW_90%$;jvHgn?J@5%C@LN~|eKdDtd&Wvi|Pbk_oj+3EV6X3ODIi8~Md7Ln}?6)9Gatrd3BXE7Z&7EoQiRe$xN zT?vEVvx|Cf%crw}=-3nJzIA|?i2`5MeXU)z$*77p9YcqRTyOgPtz2u-`rTr74v5(= zCy;#wzSq$n6`L^Fnn#!}-ZOeIACY-{1%8CR&9-r-urK*O_FaH%KuBxGH`Qt#t%>We zKjfh<5Sv_h#Y(Y?6tN5I!y-LI-IwHf;o1hbe1gSwQJ#3_qgyzFCBLru%G18;IS;D*=;%8g^RmWEyi$Tf z%a`UZc+Nj|>X>A&uOo+VXzER2kiZhZbW++mV>)$FL}cDeu6$W^^zT4t+i^?ZN+`` zYgj<*_L<@xuC4o-NLEXyj+@N{aQGrP%!spx)47J-?ia-Tr1&| zlOJF%u>EFeS6byHF4@!Q#L;gMZz@wLVRRbH0C5r5yxteOzHQoLC1Iw;}J;` ziKp%-BXbngdWHyU4V1D#p9c<#EAVGH;JXf;-D#E02%#+^Cu;v5Sj_b&;Cf>BqJL1! z@m%n`2UnbPSNgepp}qOejLe%4eNMOnTu=Y4ZXz(lC!rTBroLkvEZq%H$=GF)F<70$ z5G@Axo}-6FOAu#-t+I9gmc}wzQ6xm3Nb8(W=};ar;AtXFYR%JZ=J_>y0QM;W(IxB6 zG{7VZ(G2FEY+*LI<7ywmpB9=GQ1ex+u0#uRjrl82@$m~>FPF<$=QEeOHB&rKJrD?5 zUT)2yb*m+db~C~Vf^_Hk$HC%NM}V)ODLY&Nuk-N6KhAvo65uF{1SSI9=5wZP&}6mC zBt>FyO>g|E!+eHdk`B`a1<#-G`+qa`zn9_H2)ZhO50F5!rUqfBsNesv;L=^ST83 zklYuXlawl>AbQt@{_Oqv$U^|6f=dIycnlfOcEUM3zKHfIjiuIYU4(g{P$6mtd%FP; z*J|QD%xjo?P9a|T+~i(HBblY}%I5>!jXC437czxSm#*GV90F$a_@M`C2CIBFx+{Hz0`H(Flb-gnJ$03I`B0 zJX=fk`222{UvqNL7^c;zPbT5bmS^&h=m(B0*`xCZdcB(qG6DbVF1;baR2w&RR+tu_ z>~y?1E1;oOUx{Em^>%ii^lF=3^iHm1KAE=WiDP1+5TIX4YEOw99gRY`bBr)JPFh`QQM#7p_Cci+eG@z6hTI+F73-$rFlYh?Q}VB9cyg^C}$I#bz?Yb{8b+9L@s+JsE zobO(Wj~^%t&M?cklY|bbpulbKSoVSQdLeimpTugYl^Y1X3w|GEZ|Y!D;7;)uZJmj7Ej8KAC4JHP6~Cpla}PO4n$;e1ZqFY4D#h~kql9B3 zk4I^v&}y5#%YVKou7a~S7AV+e`mrs|Vf5q!kB{v};9sjs+W zHjqBgI}OV=(Y!4e#X7-ur=N@{RhSJt21(uoVJTJ#AK5>4Mnrkwi%Y5#qXuqN?V zXt-(}48Hu4NO~Z2V1L%or8!3FuiVS%`Hb`-kw>QDA`%b(BM?t(ex1L|Gu3*sls2V6dVPb+|Kd(Zn~ zF`_3fj$sT2E2eNtoaqy~&GuTXU+vSjWUjL`lY9FIpU$Sa&)bChL$2SsIp0`EH#C;q)F;(ndv-RiAggZ+1$c^Cd;G5 zc`+_MXdA&D?d6AG@JQ_-d#=~sb7Y%h>ku5WHInx^SC>Gpo~N=2(?FVkmg*XLP)^rO zht9vOC?oj_3zm2|z2ou7?bLhWFD4Y=*Vp^k$u0S2tBx9VhSGe^qKrLrLDf;bRj}*3 zugM5@WIp1{;|U?U4!x(5x7MdNqTG4T1L&{qVQjSEtH*NJkViQGx%@zuJZLL@ChEV&_k z&@fqf_DXw|ew|A@eLnG)7i0w9v*qSi8dK#ZOAWL}mL0f}Lu391Q^flA<0juvkIe3t z`IJXJ^;lKlQ&Tdo@^IuuYzOWD*fv8 z6$vrlzs+9Qz_;bonS@sZtKJgz(~|9;_h=zid_5g=e7I_l zApW8WRSzN2(dU%A0o+9rV=-{3iNGsv$n86)4_Sn<1kvGs9+RbJbryX1%B}SWD(wTp zm}^QrWrJ`f+O1!4y&f>!7cz_Yj)cVRR5ZOgEz$0xvA_YINLAMXe^G*Xly`?cUZ28; z@}HHrze4)y^-*+=pnIOM0}dpUSq0jC_obx449(12bFXi(^3C~tVw2_<^#KRWi*zko zU%g=RHF+4O&<|#Je}Oip^jFs$-1cfck;uf*FDxl%@1G;`W?3{Wah-#1h{+NuZTK;5 z-`wKld}36{3Wt)FgbngM&>EBEeP#+-gh~P$jg*qp{>j~B)ArYLe27Kh^8 z?m(73&5EJYa>>v$XD^yNzTe9nY>?4;@ z9A8Rz&H4Bu{JW;f$Br+cEmSLSDgyngtPA;RQco&19^&;|?-0(csTnz>Zkjc$gvkJN zUb_+(R^_~wD|F3jY|5MVo&9R!zGi!rstF-GDza~vY*$pUBqg}ifg?H8q`wSQs9-`A1(ma-lG)k8bysYP> zdcX$|t;0w=xo=b%tSR9eA2f@v9-Gqkd=%eIyPBegWLyVqW~p@Ne} zeoUVarpiS-+}|BD`NkfuQ*D;k@;*GxF=X>u6;;TOX1*wCM(q1i)VFRvU}<8h`RpUk zy91%|z!l#lVip@ev=lczYnSrCGmnm8Wwe1*;2FmAk1gMv`bYl2_?%vqzo^T)s< zZ~3&n&2+G$V0a?s8s>539duL47n$0d!d1$Zq;8hHeG`G`uM^KZZVnE|MW=K-kJRcmPuFso ziAac!c6`%ZgV+DanC{d*oj6g9%e3h{6=TA7xye5KatbYxoJBptuc*PD54*%DA%Z?a zbyQdLRpR8DqKmX!9aL9FYvV;3?ER|`x-nTFTIJFvi)LCeP+XX1MZ6~Uy(Uc-c}hPW z)I9IiyV4TLb1ZXx_~n)s-1g*_4W=XS3ec zkVc2%m}nlC_tGziWyUNMJsl}oS|Z0S;GgOQc=qSq!IULt`4mnk8r&XvDoNPP5iK;k zXeK)#^twPDuP@W8<}4A>6dY+F+90Eql{k2Vy@`_IOI5*AXP^?q(U8<&e)9qr<@B_X?sm0-s3iZ3DpF2~hR+9viIfEXD3UrHjeO6ciq8VS_8aoFD zx{g#CC0Tk8Wk_N^c68ed(X;PK*cMju23xU3^Akm_;@v(6U^U0u4Go{u;>@8XCJ#8q78QWCUbqwPA~#l&Nu*^<-ZnEglbYUKyUUS({- z>jxax($o<-zJR1E)wfn&TWM{4)c<+avI8B!eBy;t-E(b!Rc#etfCt$r zT>iZ`?pS-1ulKV)NNkl@trxVX&ZFMFqRB&sBVB-UI%P|inaICm*^Nsg2UMDTp1dy- ze<^*4klGNnM|3;si zxT~`YHM>@G+zWo{55>NtenTTzPJSXuhQ;e<)SI`a8x&U0nhvZ(p;s#qV}4ANN%IC9 zcl@kND!Cp8Yw2%<8xR^64L`sOq|_UZ%pY5#hVER)QbVmyj5>k7d8>eA0?cleYI|&cypROOm+g6%NtNUaOmS0379EW163|S}XigjFc_#+7oJk&=uGk zaL(*x&|3O@v3rwomO%EDq?{U2^{&EZkS_Bs?Lzk!~8S*OOE^5 zEly1_;c~-PYGtdpN)0gAL{j}l9S>I@HqL^i`}WAru5N;TmiYCLHrJcCuo~WBfk0?x zON?XINN-Nc;VgdAffL9s^u={dS0GWXkD#nOtdAkU%)g>0i&R>;favJRtTLT}haAwe zd^RLt$IsFLRt<*QXdAOEl*Iz{z&-mK(?1<`iu4?unYaQx$IR*TbJNbLZfULvrk*bW zNZUe$&;I%1OlSS*<4QT{6SnNQ%ZqyJvCqUjwB#0MGH zZheWzAyVv=GncB#T4_yDlV>Y#8uBbZFtY1xoI&YaR^V_LJ6h8ujVOlvtmQRLoHU;P zxu!>8P0QfmiRc*=v4CBTvrM}da}JXGfde*XEiXrh!cP=dpgrs^tJPSE__qlZF5^mW zAj6qt7TbH8_h~U`wvIC|B&HzBhP(7DtokftOa<5M6_;xLy5T$~YszsFRlPPv$CWr1 zlWq9KG40qyb__-Pf<$|$Km{j6tN|oy^)NPJUm&{#g|F;Q0927D3%@5uO*hWtYB{1k z=H??h9GiPon-jDN1M0W76{w5%?@@aInSQ!kMV|I*tpYLH0A|)nyZ++`FN*gI<^r@aXEOt62+al#uEd zu2pU)o8?zwB%rGCS}7@`6{=5-4;lkCd_3vf@^Csu(HL0K(~Ckj;NxSUJ>a}ZOOIRL zrJ&moh$xe3l}UpW;8a$sV~-P`TyO^YGRBgs_sS&iIVr~~i14o$%|5tBx|P`D+l#Pl zHzIWXavXDCa%_FvbU8BSWL>1uT-j=tnnC6qB;zo8yQadAxgY1Hu0(pKEg&5Mufdq+ zpHxMlrmx7vy(20Hcn9}1eQz?QFF3GzYQNaK-fRFUTevP^Tp@X>kKnV2>Sn5EL@At#7HV~8)4z-=Zo{jT=JuG%T8vgaRD z1$m?o$W6+9(>E)9f)#;bt>~$ zIczy^SVzvV8>&pT*3s6~!0cnej;I!bF!t8`QJQjRHd!TZGdp@I2^GFsaRkViO#LVk zZM%Vq}fv@EDGP5i)t@+aG&1pOBaISXMwvXy ztM7S$vjYslvkB}=N2Vj)^v0Ez+}p3Osj+T+8(`E_P94jyA4?2VsS3dFa=R+i|IQM( z^0bs#d#EFrff^p_%vS4QamGVE(5e` z)2``HuIQlWR-~{Ig}rf_VTL3Th#3#+#{628Yt%(vQ~BV8j2!iUXUf4@SI@7hWj2G1 zh8A5513D#q7rwpj1m&J6F&s$0d4lPzWq%UeNxz{$7yq}jbJ235=~?#+ut1FS@D4dB zdxOcE{T{1b*C9W}0MR3c!TM1Zro)|^XYT*|j9iEKF<-)Ii$LzgGcfGwmHoWBCOR@? z;+hRkrl0bi+&Iqa(UNrg6 zknbHbe|3|}oBi1VJY#W511Bj;u`zN4az=G`cGFBh3PCZJU4TS`_?&e}SmO(qy{voI zr=Et4guS?PzdH$t(X3zIqQM)xhDtd_DOZqJnX(zeKuj0OiraL9a)5aM_O}^p+<^M) zE5c1MwiO>EIGxQR1aEaN|N#>^Ai%hNHvlicTE z)MR$2J#}hpmNZ=}?BYjg7gKzq`YEbSvS)U8|IFw4ZdvU8a>Teu)_wfq9Xs8+VMyt< zHI?bw1D58yZ!ubG?t@IC#CtK$_07x^qve1Ob2yTeW`nxK^0Pn$=+jHzE4tm1-^OeP z+S-!_>CBP66^DPUk_+`9Y-I#>&H&PX${{a`TS|14Ix8@$cs)o<%7pnHKq~Q!=TG>) zIiAn~<6kpS``q!3t2K+OabVNE=D<75Z(fZn=Z6o7=$f@Oj}9FwL`&x>YY&~C;qUux zZa0pr5~YP9{vML6ewhT&MFpoYgn}jiq;i`%8kXt2_LV~0#^jKE%`1|j*Eg)zLJCH= z+pwEA;!E~8w_8Q&Lrs2AQm^*a+HDf4I*TqiJfrnNJv*5k*vcI+Y{XElZh9CsMtCaj zt!473tawgn>dwIpmc)B@`&~E+@tEOd>0pfA7?3?#Vfasd7&{RrucGAkw5JgeP%jvW3vMu&8Tmj%bF{iS#-^mR^r+dQJ?~qLe$vw_JqOX zi?df~;>5IOL>kapl%YoH$A0>8&fKxkh3pef8Nl0OzZfqn)sj&^hhQ9Tj@gtxSk|{U ziay_^%J7b@5v#88_5J4EhD}h%x-3(nkB-UU~%7 zd$?7o@iUHOTyivUcZrAxqWDIGg9rU$4iQ)Y>y&E*hOlKuFN{~O8$T*x@ra87Cyvm> zt(qTU3Qy8&vOlP_h+*K%ayx*{!E*=zR7s{Mw?n`TN2}3$VHgmO95^7}6UIM$1)obx zIE7ilM?;l`bKzVTx<^p``PmuGmq!urw&&ciI6|9t9t7jCw?k@{2B(-%49ji)bqqUW zkYe{bKhTqS_z9pegKOW_-9Px6$-9ojmV=f1V z=aX9^7iJgH>6>P4*8l*oGh5MSKuumHt8-K2m=T7L9F!=RFEg*q(BHUo?LcQ= zGAP@Xx!q?+J(7iZmDgO~0;Ke)kSGV9x7%HG@1o8n91%1a56Oql&|&$= zufS^aO}xSKX6z^`*#@cW&vW=EE*SPgOhaiD!k1@zmIi&nk8s5`w1pqO!k1I#ZIlII zl$|gn+_uoKu?;Qd798~4?52-CLu#3`m}vUqm&sWHLZ2&e_-9Q{j{x1FrG51q>jCq< z^z4Yf{>YQ_nnD7V={b&sO9vvgvthw`^uzCm9+9z**PDWn0?VQb zXUWb%WgRkQN;Uir3!Gz1@m0@%5v_PL8zEueIM%!JytbPT<|f!=7`N1-B|?F!4K3P5 zS!ocOascJ98Z(XVdskMmsg&Ne1nSPym)o5Wh>kW)T!T;m`NOlv0@000%A6uR+h=@5 z{c!Yo!`pln6ON$x{o3DBV14Q~d`_}KfeWrd2P4L!gj;C|QhY2AFe)$?ah&4m>a7tV zN~GwWzCE)2bTtucrZaWJxF~%o2`WzA$AR(7?vmrC0e>hm5+1ZVLlYKz%qpNt>icIx zMO>vi);6seH$Hk?1DFkGYsYCofPjIxY;1#6FBFPde%;C&qGkH;oyc(NF30!Xpjk2O zWq*P{dX1b>rSqj*^LIgQ=uBQUpM1Jcf-5OU6N1-FL?HAo?>s~SO`2QL*oX76 zPwb(Y_GBffuMOKnw+*4LW;cs2)bjxqc{?h%+vngp?*%vB5X5rWgjsUYM+m?+a-H45 zdn$pS>A540^bl7_iO@B9>l54Dls-tA9S${6g9%6wq}cGe+Z+^YlX(=&)Bc>}vuc(U z-R}8V7G$2cOF0^qD+FW8VrtQ3E<+=6UnZ`*dEascErM37gKHQQTacLCLqhL2)QN#bfa>@}H$4fJigH2Nt{NPj9$dBxIYLoTr zy~TI-Sj0I#&TMG(Tl`4HnlnR9GAJn>o_G6AO?FiRiyQ}EWo4ZZzstt@*G8;0B@2tp zJB$0Ztr3*}y}NuUlP8EFK+ zBwHVStPvLz2!7s=KveCZ#Rdq77$)aQC75ct4Wk|U$x?lfG#nW6OXMd&-ThUs^42#W zAhRAviJcx{r7XaiM?rDIexND>@8Tlf6qM+A9GW$oqJ3+k#gb#&&YV8t=)Um15$x-R ziw8#Cpw-YupiT2F_2RAzK>wl_CAwv8_;yqu!Y_UjW3i9&3AF1;(8uS+yy@m&@4N^| z(AXImRjf!6HdzLPCjSJ34k_~6K0siQ<&cQohZWe$E)MAf+ROOG zp_|JwPqwu8w!qkhih1Le&1j~mY|9*UCM^4-+@Q)*111W}Hvm5&tukKpPvSP-?obet zhLKyWjf7~|XwF67jG|r144>f@`Ijsw%RZI-7?mvXx)p|qIGU!La5EUg+na*amI^^2 z!S2;LkbFIlg0!MZAsv$yTy#2)(;NvU^*2D0vD5CBY_n@_J(#xWaW&%MS1moH}=bS3opmf&C8 zx8<1YrzmmXpAIexM1+UgbI@6Le0TUcVOsRGhz1%Frl~7zZJEL9#MiW^q}3Ia0RGo!8bO*MIPe~=00^Q$G}rWeiHB_-~%7ymek2gn)eKrirQenGsR zQ9-a>+NC7lBJy06zF7p8nK~(Isy1%5&iwlF`Q(`#;|oKy4;;Y> zaeRKHdbq+ALct^88j{*RYRjbuzIG!eyk>nzG~7lxhB)CIR*ltLqqXtS8oF~u4}x)3 zZ||I1rdOIkEU-aW6$zJo-mRJW<=kGG2^c9;7*p5~&8l(jBiqOvR*zHRS@C1H=P|ol z4~C)csq4Ndf02c50U1+fyB&gl7Lb#C(pEcNkDLmyB5y5~X~GKA^xxq7+;KQCuvu4RYG)g8=)Tq4L7e zwgWZ8WJwkxZqzVq$FzjoV9h(4NkdBexj><@a7`7Z`bpVQMH4&;s1UrO!V$TM?uPNx z&YDhK@wh8yYSnER-3}(&YMs|KaB&>l{8@cm&v@avQh{MvG;~oR)>U?cih{YmxJwFCEKa z3fd7L-;J8C(=URBFZt(MnL-zAI%A*=>j!#_&{S6~oa7wFE0 z2{*5LDvNyW`5~*dBFTV4orhAy=KMqUxW?_C-ua?3X*$F% zvoX-u)IBKa_hEXtv24&&q^RdIxf2KPCKskoMf@hoL!hW}pZ>hLEwqo5X-&3>QX=s;=c=?&74(jE?_+eDc@rK$Gx#8nSRDvyPQyg?mlYw>U)gpCBb9A-OCUK0) zGyTItrsdKR>{MMV-CDzsYRlTPG4#U`kGO`Q?5el2GLU&ti8bAH4OkcE=kx}?)5PNcy|L+4-J^! zlkUi+Rqyk_qghqdtke-OM}h+51&u1nU&4B&yHA@Y2+Up?wmL)2SH|n>7ft$nf-a~I zQ0Z2`!Li)~7Bn}!x4H9T;1U+D@WE+hVDUUBlyo5*Df$M$AougSE3UkH|gr9T9lif8-^QKPi=P+9z{GkOf!fN=j z?X6PbNTYV`;a5thxLmGs*09Fv;JM3!Y2eJvNL{0&X3U0ds!`S=kdEWe_k3yi*4HpABPg0a zk#%S54w19~qEM#%DDbXqLHI(ld7-)X;SyKa5y_^_g(jZgVbg?F@pp9pkyT_=H&(Cq zK7iNqrqhK}?*Fm(-r-#KfB$%76K{#AWQMZI-Xk(1*()m}tL#le6d8%$k(FeRY_cMI z@9a@lh)A}+&$F(stLwf$_x=6-`}-ZgUe%XZza&kQK1RGeTeF;_x;rgyQ?}OEwrCUTCxl8;T~fHs(b-HsSZoTVLWG z^NhypfI@|#gym*$c|l!H$6(3z7tT=de*Zkj;*558aHSTFn5Xk%=)k1|;P}`9QtS1z ziUz&;zG^2BAFevOR5oG}Uw6psKN2UCJWY}Zhvsf|1{7GIOmWsm{5baN!7uzIEmu1? zAiPxwY|AEGJ@{JBl#&wQWKq#C#U1T&(_UEwY_# z0e^C~;cMkTN!Du?eN)=jdtsh7IzK7a@!}CSNt%S4NX8GukksjyOF@BtBR4Dvd$geb zk+!^Gu+P8-4d%peUtyse?HPA$(U<8-5-itTEHSCPGgM*pA`j@MX(KbG~3we)A}*McP07ooww=Rc;!=27)x(DUHOR zxT4d`OiVEYGz(BkLPWO*#}!^!WX}#@X6t6G1=vS^vp{^Pjd)*c`0M6M@~M)$t2xP) zC;*$iBoVx=#z0Q)<6vcOr>FX67L_$NL&GG6$~EX zl+eg`rHbQ4mqObY8j$$XW=@jx>S^9gawfy&=4*KqBu(sY7t@`fAh7xqM&Rzu$Hkh> zSYzZ%gIPFA29i-NOn}&lCkCA8A58Y^>iK{dFGJ8y{vN`vD~p54TM^~3!mH=+AM75P zY&~-aXLs4}e#=SXd`PE1o}*8r^qWRoUCvNyyeRh7fy?$O3ODgz}Kcv=d|TS)-gUzUxP@hQD@Y!9a9bL+sMwBL05YRwnoN3i#Q z#WY&-7!l9@F$l%LVH-IXYhi3MBlj6>PRSQH+qr%AZh&G2$Hc4b{AL98YU9!0o~G9X zRzp?8cfJ7gAwm37es?8GtM(0uAhnGutM5sZM`}vQAY}W@ia~2->lzOTnM&aeT26@a zZ3%m9+{#Z%DZtm{)gp=Ri?)A1_|$Uz(*`o;s(n-2qgWP$2PJVT2#ui{mv7FNSafAa znfjS^uOvHOWE$hKx&kVy`$?NyXS&W*zA3C6)qgisA8D!>sxLS8 zf$j-Kam%Yc^w#O2m}N`9ipwtm6d@q41>|nNIa)1 zUm|Uwa&T(3<2mm&|7mNhQo-&%YA#{PKW}C+Vtdn z(4wk95(#>;rfw51+G^e0g{-Br_lm1~$ z`&zrxSNA-osmfw@4g-m|i>rIP*S8n+ZQlgBb&rFAUcZFlLiXI*iR|@4|;2#5dB)Ekgq^X09L&qQvqaS zBhbP?vBZF$%@A*yc>NpW=%DBJwjLJV|_z%=r1Kq(3H7XE6lb zs++YW+eA@+ts$Sw`m(?GM*+hvvEsL`D@suhJ%kwLw{1e`KGtwa@8D;YO0nf6z#q0SrKc zVaqSE-{c`osBxAe(nyGDFoJp6F6#+Gnw-SKi?oPfr7OQ!iXU)sFI)$be)n)(!ut0civ@_!ABQO_vgY^}Q~1I$G^Z3mr~h z0gMr)@G97u*+GXo>oHUFp#^CQ?BZW{Aj zdwbSkzCo}Jt00u3*gfwQ1L)=4LTbIH&Y1&sIa{s&pvL?j(e)sE^q1Idi?%U@I%RY+ z4|D);v5~;H{0;DgMc}shU_P|yl4kQ&(8Yg46a9gpOF|)|Naa7=Az~V^A|CeF+ttEE z_-^c_AL~V!03{w2&DWE!qESPk&l5f_yWUqpCxOQ4KP=xrZxSy0 z2QlJXab zcVJPBfi!ko(T$;>GSo2ZE|5=eSHG%aJNNhW`Z*m~VB(OMyk%iSmXahN!DXwSx+4j% z1xz=Yk{>_r$S!?O+~=#%aQ>`%MHY`PNLqm)jWF|-v-%C;iAJ?xl^JK!G+E({R~ix* zpM^x;ki{p(tr(cH6y8Kb7wG$nSkZQ($M=POPqFSq_@FaxyCYH8%V%i&EtJ9NPaE9z zKgD67V}%V}h<^ilCHW@9)z z{e=jLKDC}nAKXv-Nq$bR7CbSh)+&5)*AEnE-SF3aqTUWCTB=|&O8)#6i9QxI@;(e5 zfLs=S^(iL92G|ENP%}3WG+96o!QmCJ|IfdjM)?E!MGF)bd|76uPtuc&0~@IHavm1* z_44adOOqR?GWA|(q!!#x%8Bi+nVi1bJ%?2@<+S^Gb6kP84EgG@;Ur7d-(Nj_?OuJ3 z0FC_xjFYtR%fI-fq>QcM%MNBG>Z< z41axF*hv=s(ws2JOSjOVJ0A&pcjfjAILNKExL}^L;Pt~j#da5MFq#uSkZDUo=QAB4 zaqFNXZDXRz?s>k(`|y@+ulF2y*)o`nk>r@(Mz^pw}naVXEzb2>?LCotcowl+?hxj_&M=VY&Okr0-3u!i{`S zDt&CwF{%<3%gH_;g^$6@7F&j>R0&r?%?$~#=z?|sNN90 z^XrRSP>T?iID=KPS`sv9RA83PT~(Er_Q%A=avBBI*m1$6o9@To8(eXE}y1`>4(Y*Xt6r*BAgq9BJD4s1*+BTN|HRdECB?hYd#8+csU_l!UiM zN0!WWmZ#^`BO50Rm)q`+*kg$(^JZlu#vc>a-LZ*E$Rqa+&R4)A@6gq42hk{Yz_|Z4 zgQxIe%+|Eg3-UidLa}0Ad2}jj;w|r*iL42~RvA945+C%lq+S zj7LrEB4GthwQC}gjd52#_ITIIe-tjDfUAx$*KJ?kHubNJDs^MeRxQ%zw?E zt0=hPhwXKW@R+Y8@73E9^z;?C3#DsCYHekYDgJQ%n7^^6+kWeZzl80QK`RkP%@l9L zb9p+9lUKuG)LOrq+W&k(a5?{jEAao1DicM|{`Jw-hsQ+h)$5xQ;Dyp77sukbpGI)P zIwsl`cOgMc@X$8Vr{w!-50@^--OcVQMvhw{$EMb(FgqLIZWyoKTMK;^<$(M5^}VIx z65BJ!5qUJ0&!GcdUs9sV5DtFmxc5AhsCkYxb>`|;-(lj@g}_tv&q46uiO z?Lfb$Ib4F6G?~jQ1pC>qt6inF#4q^BZ^e;WlTMZPF?_iyg8{|0-;?F{ z8@&kcFCO#q7immJ)HO^HYkdkj&x$kkL32uP z1J$-bOOz3WQJ#T&>#baS(SpP}=&f zD7OqN9Mgt5YD%xZ{Wr_n2yyL0tG^cc&-XS1bM-8T zYOEa0Mk&nnB;U&3s0f;>9VvV@iUd_H$nBEoR1TmruNU#j*x8-S30^Oy|SfPRiU|4OFbz8X8mB8 zb^!^?8N{rlA^CbtY-J+^Y*Rn;_aUTIOFaeW1q|EE?|_dk9cr+{YcYf&ynwoEWvBiy zK!u=$47+|9oFZ)ZGg#9TJ+lk|!(d&QzXdJTp+)757$M`=FR52-d|H z0fN&{V5F8EQ8MWp>$G$@7aSbNJhHF}I4s=+)C_?J=y(0u#>B8o7Fd zS~%}@t4?$8_)}10woXcT*II6mnt%2{PZWLg`v%fYa%TkWZ4VMaM*ql76isI565=~= z#B=-w=+Uq4Ox!PR1K?S7RzREwcnyS4S?-+p27taSUAtv>U$eUSK?I~BH703^%8eJe z!vU(L(I+n`E*7=`+|V4LRmkDd6*exAySqPpv688Tep zz;jRz$pXCWFvVkj2H&w#`-xG9&Oz$+G2GQ5z#d$mc>nXr`?dGb`X7U%3+G<5A?#8- zs>dWeyM>q85D8O_JOiP-*pu!bPe9Q_TeSTh$qI-&jBQ93EW^Rdeu5RT{5AmYdmc6B zXJV8RV&l9E+r;3tQWtlOA0KIcaLF0y3rM=xfDW?EuG*d0(5QJJBf2^}!ZH}klUVQc z`MCbDceC7&wme(fw{UB_|0_w9xTeFg*?#EvqHRlVw5gg5(eUF*!nVXOtLv?OpYlr* z2!~t~v3j3vfR_xB%Tq8q@i2FqD81EsQf6IweiF{P*`_gP_1Nw$I9}63g=7=zb*i1MoGM1$Lb2@OI!BH!yU~LW(FembZnM+A5)(I|q8j#dh~u z{6K;GLth<%oet51fXLP1gM-Ph`V^Z{KjRQ2vO0#39J6d|Sa9ZjKuI=B$X<2N3Nkmr zFWN~V{7NC=9L*OfC7X_0#)M6AUPzSN?znQ(5e zI6CU%e)HOVdDk{KV2nrjfbOaL2%H$4KX$wQstWJwpTWPid<0QhNoZW|f{ArW=lD(g z)dO0-mbH4entjTH5U$PEGdP1pXZhKBrnQKyt3WsK6%-y?&rinw09l1-@F{x5*0o1! zLAr%iJBKpApu4&0#XQ3EJn65T0FGG41SGDkJ??(Qh$6$p!$p84YBHTTxxSS3Y{J;< zGN)5M+~9NXs*fj1QJElW_Giu(K67p}<)wPPjZqno%MzvGiAk-1V8a(OI`8_|03&dD z9-|~tyT@FDnp|zEJScb<(NFvK)Mt%E>e_0v zGQAvPlGa3GluuKP&L-WQGM<#ddy071CgKcpX7U!E%L@M*>AZgZiY{z05}y)HILj+~pVX23e%#hkZ>LdM;eoS8a>Hw=GTI08_t8~m z&x{t(bzE;cWg*7tzaUq(mQX>KD1i{px$mq%Xir3KyH)k`!cZZ5jW1%yina1znjd7O}?`4`QhAi!T4yfs!3LJ6rdQk5~F?r_ZJX0XJ zlxrY}(Xl)cw=btUqSAR~De4Z70B|%m-`FSwyVq2##g_<=y1`xBR4tmKywA*2MwdwU zJxi0izmF~sb4i%elcYjecguM?wB~iiv$)m$;I-{fUn*=RNTRdt<{eXW@41$KDI>tS zp5pUp3J)HUZ!}|mnw4naz1uOr5FH2Tu~Dg?(;182)kHT6F?{2pcU>e}bvihb9wT%L z@H%0&xv76$3@7kwicIjMv2%6kDRPr%U-#EQErV-RV2Aoft{&ezT9L9P_e4O<1v;%| zxxA}<#ud6xkmFn{;lMdlBQ3^VjlD4|kSi=X+`UF^SdE6j=68U~IIRNnLgcJHqzoa) zFq}P2h~)%05eL_HFgE%G`0>pgb}WLxka`0Lt<6odahq`6Knl4T{a>P?b^9e1PPk2Y{aED)ixp?kT zy#Mg}Ov4EiWo%BQa6qG2#PL6b>y3=ECcNE ziq|v}b#})zhMwL(@}&)Aki8L-ws>rlp`*SZBcW87M91B0`gyXr%>Y3|D%Lhvc>bA0 z8Z<+HHc1{Y8pYnw@pCRMD0^c>Ahz9fD`PpCf2B$;f z>D_3_Kzw6HK{?`veN8^RNPze~fr?dTyut8{S{A`ssX*Pppdc$-^7HE-zk{Q|6Cmup zCE#0B_68_!@xm5(q*Er=<}o|m4Tz^)Sum(-yCRPvx-f9P6~)opN-8fSuLO0bV$Eiu z6q)+mkFpc^laI8x@y8lIXBaod(UNhQj^Udsyii6(;laMalf(-*h5!504Taqn4C)9EtPF@UeH-skKKCf&CrQ< zZ@*007t0PF;*i#~?c`-2f7!uXFBTz1phZ_V-qih#G^G8oVcW|&F?i|i*?^d^Z5~;T zY?HW?LKWvgTn&9UHO;lK? zAGi&%Wp%l}oi)J=aF`Lx*1J^uc06zdvM3?hAJAAhTf05on$1g4Bz#Hvud)%6udhRL zdLrqf64aLP9^O;Ilj+6d3k~-Qe5lw|PhsJ%P~IyP*@Egi@iNc4vf|XB zDBf6*P{=^RD^$=7sU^AGfKT<13!Osmu76iIKqNYChOgR-0LqE_rfUX^u*yMK_H8ll zi9j_&{FqlNsEOD3bw+_0<0N$p>h*vnjp)5;O;bK+ zoj6lOj?jvz;EjE=PYCgi<$I^yOH*YAt$(gEogp#K$i(F}POf{6OS@rvrs29BbN0k6 zl4pnl=uxp}Q^IaPXF#RzGn3WZ4ot17d7QWSLVWGZRjYlop4Wp2rZ~iJsMwjaSqj~F zihCWe^vr1HI+4odt0!jJ5{D^mQ_qZYf}e|aH1%@GbRdQUnn{|^J-KGRp3u5*SvXG! zhl(L9dJyG;CTv1ci>p>zA{Nxb6vFta@lm}k&!^{5lKNdAxWO!G!tdfb9*uPs zY5>!{*irp^W+#IiNLpp-1SYb`Uvp)jHv>TD1H2I8;}Q=x?+a#lPSYL??tJ}7M&SS; zIVI>VQSaXLTIG9w`Sufr302Jcv`nW9OMzq(=H?gi6~kuJ z7l9+P%wb(jc&1r1;#bfk2E1im&O}=G@RqjUo_`vjmwL+l^{kr75cbUQj7R<`)EV-r zx$b*sp{yrP&wO&(4!1ABttbC@v!Uo*Jr53OEuAMcWvcPhQs2}mGfx#C`nY*$o;G6; zKDId`db~;%iHRG$sE@018DmFX8o zl&mgq&XOHJ#cdbbg}N!&E2-f={#jN%Br^c#1P@NuQk$#NGNee(tD}Q&sBR9d+iuwi zn`lj(o-?^V15%v>kOC1D@t-q*BkXsYRSZ>|c>ZEGG`tu*jKH@!I&WU4hCpSq3oX&| z=AFEBWuUHmxRmVoxFj`gF+S>CQXckf*uiWgA zJ0sl9&6#Yy?)<()I^DBS&V*mr^lKN%8lg9*h72yld$jV0i|H@u(KO0@-rY0Q`CWvs z=biMM@1dNrvQ65fXcAoU@^j+iQIDi9uJiP|eDmn+4#i-ky!w(iP$L)@eY+K}Xauy7 zw7oa}9(@lSDB`_Yu5BJZ2l$D?UO8GU;X|0=)&J$}- zSO|-tR~Q9h0@EOc^gb?KgeIrvT^V;%_e);S?H}QM3O>CG#iuIQLHmGhj+ZeRv9|iW zQCz@*(fha^ku(*2%3?74-5<&7RT8MuF3q&vfLs+5b(ajE`_dlxKqypva>gq{?QrFr z@}$OflGXV_rpBlJST%4rkoHsa-uG2jh?5f;mO;?>5@PtkFu^LtEL?vUZ?e^)7^)MB z&^NZs78c!_P6;l^$V7*eidm@BQ62gq<*$z8xkIOB8ALCkDh0^q`F~K>OzkA%zConD zKpk|2rJns%Qao4ax97Z;!fjHR(iEv=>U?|APllupvbZypjwQdB>Tc)54D$GWH?H66rf+dL@J2 zI_s&UEgvXj*OTmTMI zeD4b(ryPYhI(awJ9wj>|@QsU<2j75zDf3C_lrK`vI4|ZYcnNWFX%8V~IJdN<*yHkK zRtLT90p%rsV!{Xw?=?*)LdzU73o`s1q|D`d7dO!0>4L@j`8Qn{3)<*T3!e_Bnf>EYXH8@s9GDQ7UIAkhN5t*)tQ!GAh_}u<>CBM9e zm<8Cr^*&wr{$->n-Qey!Y+@qxJQjUse2MMI4Ui4}_#tdcai{ZXR*GS!N;M`ad4R%U z90aZx9oM}E^VQH>N{@E`-e|AVQo>|>x8rc`&4V6(A17h zmkRYQS*MF$A|#y!FIwf>mkT`#O$du1FFARDa^2kHiCF&rkY*gwp0~SMVjVN%Z=>{0 zr#Hrb<)NI9e(28}khj|!@_@^tqdap|R${I_bKu{jjL-z+xnUcvMU+Ouoon$=SsXrj z>$KF!9x?B&yyDEUlb8f#IOjg!ITx@rY?(0*U z$qL_hbIN*f+wAjTw&fVL9k=M(f#*ymeo?0K%>Dg!z!f+T;MShF{ZCdPi8%v1=-Kn2 z^oglJmZ6qkS-d#Pwsd%~!nLqPGPm5Vz1w;wQxqsAT=Pq6tU+CP32x8gx^2X4O@{0^ zA2#mOtS08xAXx)F`uo8AI}A9y3ad6*%;kF zkbn1C!E^xCENur4zKJbQU9wJsfHnQQVY`}J${3`K4fNp>pXgd%e$+w$ zLIi=|XyI_etKL}whioYi0I5(XX06j|inaH9XbG#4HG_@ML)Uf1OD?@0x0BB$YzJTJ znBDCGwqJL{=Pr!7@=gUCir7b7@vD2uU%dT1YHMfry!qFZd@Y_y8muK5kXxkgh<1FT zezCI{^8Nl4g;nqlcgRz;DMpGj_X(-%p#fa+R+q3Oh&~VHWAfO|CvxP6o;?%Y; zs=sb||B&o>0#49~E=y0xV>O(zJQos(A!O zYToB9=9;c;B%|dkpuc?s(x6x04N7gFb5kPUdQm>OmE7bz6cYzZ7jAmYk$ZrERPlJ| zsf+aJY`$p3A!8T(YQ3qS)aP(2cgX&er$^C4quH#rE4jrbGxo zjhTOO+DV&BraSeS-;YFea6pJ8TFk(g+~VE4&P@dLh6?=9H-hwz0BV_IcB`gKU!~0N zRR4H=^zPR_C1>$d7G$JtG-Iq1XDb5b|u?i&B?~@ovEnpIW0I*K!e$gO~~; z{78M}9qTPXoRvBg6s2vrFG{nTF-#dvoi!obl)Omj;3LkO{%(+sG-UZOI=kNXR8p{R zrHi`o3K%{zxyvUx_bDi>{s3k5HvK!*<{ek!SH4kK(0B0PnKbADV>hs;#S!46UPfV-=}pDNtRx7;#L1 z5K3pZZ~)Fh=SM)5Z_NqLyC%`d{q41GCEnA3v$nd+H~jTsr0#m*wNl<@JvshoV%f1rY(hQnUIY4pR%*$D`f2q%o&@*kx7d;-JCyIA2-G=L0B}+2OzRc&Fon6gg2tD zD>~1`yh_;*f$>WgNXQPr4)#MN!H4W(v~RZ9v5{Q+Dwq&bYsy(!1X>ZBp0Wt&3GJ@g zu{RFaoj7*~WXRH>_b9@^9N>}4?N@9Kz=(?E&C5hi@kx7cn$JfgU|v@|f})2(x;3>` zK_jp}?2NGTZaw~E?-=boTkj7DI;-1#uO8No72QZvtWkVFtt@*CjJ@x8&&j`kk)@eE zy5S3`XdcH;SM~J@S@B47N;9F@j<{?;`X`+5QyRd%uWDU-X|nn)JE5rJTjwQHB_&rx+6~pgaJxif9?iEc{{eA{ z?>Fe&4?JxPdh2r_f8%l6@`b|#QdeHinQ2VH1_rL@y<06>xQletdH)3{^%ggOfxqO~l>VskkuwW--0Y`xEZ0Ba# z0U!@t{~2#Y>RBgqp*LR;MB9x8;^ClnJb8!U*UTAB9&u>_j|i4RQ5YTVL}r( z9Q-WX5r=`R-QD-Y})bPMc-Yo4fD zby{dvba1C57)UlWF{5UKXeQ(`E-Q)bCLmQ&IJzk{rZPNVsC58`ZM3ko`kvDT+_6(gl_0=eP%w9vjGOxJ$m6YXm=!O%>(hu$&ZBSTz-1FAT=N&GRK~At!(71o2Tswsv z@m&e=N2#V?M!;^Fa`W|h5W@{WPT$r&sBOef`C-nyQtEaHe?SIrCbArVh{m{w|49Ywj9sb2@LuIB%_th(iI@Gj>kMCUyl!NCh`IgtK2=P(egaC+tci$9!2ZRQdh6-k zyVaz9s+L!cps#JOzIeOx?tC!GnN(XqTo3U?GVGy_po5;;QSDy*cP|b)KcXf!9`XmoH)Xyqlhry|5lFM+N2y> zu*_#8o-3O$Xq9Q8g1eP-DMIW!S|dxN)j|0Ax%YQLnvrrlSMMR{IGs7a-a6TBAw*f{ zPuvfi*>eStr1jVG%&Gt0r?RK8^DKjr{XYY*=(%sL{8tZwc1fG2Uny z9CM3phP!z8p%e89a?NiYA1%!^gzbBywDNC?>BkJ`>N78{xAMtkhy>>LQ;9Nx<|^UD z>+Ag}@v}EOz-7(p=|1ReK=HtP_Ud-@-R~oo?ZB^IX{oduX<_K-g8hmyyz>3^VVG+Tobh8jvwy96L4nm0kb4Ms9A zzR3g*^1gIc8h!D6@{mICBMW{39ip2fJYTp&OLOfn5rkx-KVz$(+Ia)?e!}{!Y@FV+ zvu>qf^|qxgo8^BjS7AuKGmAbZ!bi7hr@uE)1>fi50_Jm|{FM(mi0%r?vF$S62^8C4 zWRq{bY9llxgaja>6TyAi+OQ{NH+tFZ3%8Bli)We`t)iy`@5-f*8A3O2GQfVk>jSirb<^_r7 z#~o|$J_kfkBkLNQVXKnvL~Qti(}#Ln*jBOD9zdP!jEmgv&&CvJ<~0fbNK2ArTBE6% z3NY-36D1%)ZO7|0hrtJQ%^bAI2y^e2WeA}+w-NUM(eN+Z#IE-igQYwl5-l88T|)E& zI9W$oLi$qln8YmTv}B$R25CM>XTw?AAb7y%O79-Qk#kQHLddXPKjny1tmMvJ4TM8Vv{`WcbKiL>tjaFT zh!ie@PhYH>bl$|)jmTckkd&7JALX2pCpU*WY4G37fm*IoC7TPb`{+BTVmMqsGmQy% z9jEiVr?$IGP$YFMTldhP(jzfL#BnpKDm8_`bPQ);10)3x+0o|iE$nP+N*|?f9%?a zZ-$v{md^3fM1#^+Tc9N08b-zI?ZtnOT~whL!xM}$sE#X~43Zu6NQ~2=?WzG9%7Z!^ zP_K8eoAC%GmPoij(5-C3@4#Yq7tTm8V>RSG;TKs6jJw^vj_z6}96pz@hhhh@#vn~S zK#**}&SmIF7wu6izv_`8k-Cy59oX=e{DBn0OyQN)Bf?Q`((e;JUbfx~*23JQX8?w7 zpig8xKs8E*pwrFBMkzv8{3Y1*PxPl7t7yqmTxXz2(?>TN^AlyL;p)Y0$uM4U-_CG~4M02d-p-5AOW^jD;(#}jr4NkNd15~gkM@FyPi!}eZn9i{QgPCa{MCLb`=C8=&E$9t6Ip; zjlS6h|3MeL9t$RSmudIuZ9v}*EAxx@z6&8eTGXlECZcvm7oD1k`e?hp=K(SqB`JQL zo1-N*&$t)Z5)~GYHF|s$3bH(T^t0<+ES#tgAde!K>!vDYvh{4?{a`gEv%(*7`%t!d z7O4ZQ6$+CG;N-plE?yth1BQjl4m%#pnG7ZUioZkm`PI7@3IcWW-%-tPqXK-m7K3Ab zF`rig*hRvbUEK$H>+XwTFW=lEx5(v_{zMQGhgz8SdFWOZf1U6h*>OUB2xEowmqBQe z7E!3%LglqrO69Z=shu_%Lx7WJ;#znQ!S(Di4%+0%awV!x{)PIB&t`Jf*eR=Yxo-y()*7*EY#rc)qD2$n2 zBEBrbDkFoh&63jbntyJ& zF;6mpAB#HTRus#Cny_!%7O!P`l4FPH`eNW|KH;))qHQAKdaeSDoA`Ltd1oo3XaaS) zBo~$-VX)nNUGYYNeO6C{uegcys$=#Xs1U%76Ps*okkAY$gL@|LC$jj`zA~ z_8YH4!p@87iM-s0V#-rcuv8M8@P_fcm`-WZRwbM>u0lc0f+Eh@l%0XN9^L2~C{1Xs z28k*MIjh!X;k+9rmgZ4Lfx0iqq+c!Ffj#>q^U7z1KAPPA)Wg=_<4<`|@s& zcYU{O#9OPTQa41uiKlkl*<$T@t;b6=P`PGI=_;Wnl+(OUcA+kAs**^GH1QQG>RRX{ zuD34BS`3&3<$>nw6b~%9a9AGP4yn6u#qRq!CG7Btsrc`W3J^QQ5SsN?P~_l4Uhv@9 z{Nu(K3ce>&YLILi0hCa`r43{ewbE2NHOtyn&(>8UA921f&roFSwoHMX{HrtJL$McW za%h#g1KlQGWZI_(cSSSbilirNdyL1TCD91P^Pxw!&=c4vW;`+yWlD!orcZMN*_o%AD}F+6>&5hq9OY8 z!k)aK)nK5Gdgb&E)l~vuS4Rl%y%IU3)c{C0h(4|Oj5P7hqG-_>VHK33V8#_Sh?P^E z@}TU{G;Urgqu%30)z#Ig9s{USz1H`+8YP0k_NZBiB6RV$0 zW*2dqSC;vpRC&xi7^u^L`!g^NoY3T-%YAvc;rCE1 zjEyI-OSYd+XF2|}W6UMZS0HbNX^-};kMO4%4MYgiy{?mR93@Sh^I+)^j^z4-e?gDX zD?V|OvR=hxJcdcBc@uVW{{;dp`i|^kk4=krqJ>cJjR9?P#wjnq*N)7zjJcyGVFhUb z@92*A5{Pm9SWcpoT!iH$P0o4Kpyze~^u#-nTx=KW!eXj~m^q)t2%>BNnvl3Z_w4bs z8yGKBB^ECdHPc`z2J*hAnP-!e|GqKTj-7hs)QD;#PUr+o?T@>DDaXAawQ5Rg#dE5j z;Zznc$5}7-zaHk{-zl_EHzmq3|GGhpIAvV*!>mDt>vLh%n%a}m#CzT<-hswK1gAOJ zkZL3Mb?hl2O5p*J#(bTf)d4?Y?q3eO7EET>SSS%}`;AKH+o`!h{Me%g zJMU?Tj^Fqiye&GKzav9Aa|_q-Le_~yH&iIynbgPruEh1H?tCbChZ5)JG6zKV!$%6Y z_kk8bgfo;tS8RHhYE&4`y{fOlxAoV<_{UyaZ6+Vav?U8Hzqw)9RALR?=XZp|D8CF= zQMX>L(xVwSyuN?+1S^mb_lu!ZA~(di#H4ixo{)~`t%h+I9wL5yX$}{-G2AJ$>7tCl z2(+P{|LbIj)Gw}-8|I=xzFtXI?+nQr*Rtp%2Z=I+JPDxDd2e}qQM-^#W-)Uj4DbBq zf3`LV#zGJ(okQ*Y90{aLRE`2uSU`E3#upK!Hm`xbjsu~<{0)sR=4WiWH=x3?I(>}u ztoy^hzfbI0c_8)d81fDY3Ltd1$IBf>f22|d7oek}oiExA1!CGMGD--*k^H!H6A@ZL zNEg63WMsMvom?d#Gn}LHg7t?ki~busiIM=)QuA8eo2CjW7#4d2%ft)+bhAEPf_wi> z65NfG1i{rgV2qR{e1yaf=~~{ecxH8ke-6rOa*LK7+2)9sYYW&k?ajBvj9L^~jig>Mh#JWmx2e0T&lWz-)|CrxQ~!> zp3-h3%sBrLl;CCuZyM;cIzp3R%=#PTGi?PX4Yz>XQ~K?o+|+eEZULwm!hl^rVnFM= zfqjdGV|{lVpUoMkwxLXQ`S@)p0zU%?hD{lF)bBB+H9+p6JvuE)asau9J#y2-f87I; z7zCc*Mwq1jL@3FtvmhqXf)JBxp&r%-`uB67Y48l}=G&2e7ed(>$kJ5Ok6-FfZ-<<% zcx*%e<*0*ABF+4;VYO!on{MIz^_LTnMFUOi8dPDJ5k?`Bn)*R#@-$jSxOInjTT_Dc zr000K1LnKWe|P*gLA z9^fC+0<13!CL4*Fi+fNqT?h+V9CFAGa^fOQNucZ4GSX~n4Kn5XlWTVaxsMCB<3EYRJo1v{7Ki7k=x2cgLkk52QoM=^Q)IXJwldOB z+9kBOyEgGw8!V_>*Bhmz9R2>9YFGVX7G9M6$iav*gIQ?i{Z;1=L=vrkAk0E0+4n?9 z&n#oBXz;5aRcBQ=EvNuqD7+(%PwA&L zT+aAE11Sejl}^eL%H$t{ARgWj)_?x1oc|NU6Q~GlJ3~;H5?R`Ts&x@ugd`&XByRzR zG83MW@_wk~!;=?YLFU|at_n)O(I7^;CmpbBMc3pDh3zKM;u=>|rr!(6KMXa!FUElO zK%Hzk;}5zdDvv1GtwoMNox~iv9I)g3`Q4F{=a50(rVvi16nQ zO>Szq-<1xVD0fKx8hrQdWj9Q8M49{7S>(9*m=6^(90cxp4O*)&w#&@hDFDM8;UzT= zOvGQGKEi;GY zYRBJq^ZT3s`@Q`7L<;WcgmlFIKgg=TAy)tKhkGP2eS9QMDSi+A|9U&fB0<=zD9`af z(4GI=6W_z~hRtC4_{pMwy|MpzFTXyNM8O>e^n9%OpC0kQem)%lCuZfel|az*cYH`|4&c(@6Z2VwiI3|CtpvI zzVT8P9{?*xpP_jvvMQn*X*a4o~|e4e2Q=+tpmc(Im^yhmfV@T znO8ph=qZ=v(`wjTZ;TGxrDqH_=O!xu3>t3X8Gxp4AK1u`ajYv>fyb`xZ3BFjN z`>N+I-Y8L4lQ-!X*JV%gseTug*p3fmNDw zExH-T7)wL5w=&gg%5w#Y+Tt!-2C?byhq8-lYolu10p^RDuRBb_Tr>}8ZB0U627k>1(_XY($$5Z z+a@F}36F-?kZ`UH*(~n)!8UkUM8Iq5-#{E4eof_x=V1GXM~6OBzPrO=7YZHPRrEdc za_iJ7&KIq}(6sx7yfNYvvRjT})pmXQSQy%c4N+Zz*rUoetKy z`!oE2IpPRP9wP=7eWI#A$HzYhWh@^q@*O6j5|miSc@OR=0nj%M-fyY*655O(I3WpK z+CLY^6}Urntkd=Of9q4+_8VRuuhwo-F=EqqTOpod`O5xM=@~~~raE&oz9^`FAq*aQ zPvMgUr&wsw{aT1T7E(zcxRtlSf>F9K!Rb9P+6}8mL};I)hI2)<{C5Ddix3_Ue1kmx z>W}MQs0)8Fy>q8xjzVZTr^psNO$J>;U1tVl*{>Ow1dv+AJ;-H_uJz1!eC}KSL{R!j z@+md1Pt<|iwz$40NA5Y->kp9zg7adJ6!4dr008@>HJZ5{@E5!f{1GLL<~>Q7N#TEYS)xs}NT4-!*?BHgM*ZsE&go9{Taehonk*VO5M>h1mq zz)Q3}s>%~({q=<*@Sflce@&WyePP$2*unroUzV?neo)QCPWFM<5YLF;G>N{jHV*>q zu@G!NWI>+n{;wyy1W%?xZ}3}6(QTTi5=tgrcHuLO>c( zFp%yLBm|TY0TBraNntBen^Zal31JHY3X0OwU0Xt>yGxXi*dPKT;dkD^;hgh6@9+8l zH^zI$8E4#w!QR}l?zQHc^SVB>yUY4|+KW6fVf<|MwAs>ZT7KonG~1|#ghvx+Y*=LA zH8Ul#Ydrp8#dYBbP5z2)=l3Mm##Nt?!yP+wlLGT2SczjLGg(_ax2G@WM55j>iVd9X z_C#<<1$zeGgs)~W%#s}K8=eVY38c3v$}o~d51(^cnMbD4P52|p2{!J+1aRlFjCSrE z9bC}hNA9@YDe(*PsLHaK?(L9nfCV%A@sPVmVz&)>{%<1oMshftAAHEPx%U0X;LiTZ z06p6Rr#(ZzecBW+xUcQ4!u}NSt2QOK(=TkVrBbsb?^)S@oe8>Kuh{v0_cuSbAal%Q zT7&HoBrd-0S)472oS^OY393H8aqQ)9m{s6c>!vNUGk2F5R%BpDb67I4tEKJ!CbJ~W zMzIN5oGlm6!XLkUXrgWld4SD353u@BF4(AdA{h^1BszbaR$Bs7D~9~+t@ke@VcU@S#+{K^LCGjgDokK~!Q$rI4&iZ%U1aTLYQ zOn5?9Rxpz5jy`x&(XKrUZXXU4xniGJy?eyaT6MVc{qMrW%$& z{>U+?CJ=crTJ`Gc!*e-AW%CIiZ;HMSgvvf5{D0l>^ahVr%le19m9lt>fhA{7rCqiX zcnlG=&-1ayBpBhZJ*t4WfVR_+;XbcdlE?Bn(YDqSGG~0EBab$hwK5deK?Cs-aWRw% zM}czCN(8bNR@12CjLuUmI?x3gI;S-NJoEy!o?X~Ww5Znugyqoyyr!esH>2xg93aK7 z0Lq(m#kwE=LC?5(PXt9EA50ULBV}>%0$oEry=^c*da(DG*kTPuL@Gfu!>QM6(ZS5& z>D)7`TWh0U$G>J24*#(KbJ{ismEJ5oPI|fgURUb3;tMs~ZdfRP5szfsX?KdMB;HK0 zvpIf)lSo!v{sEU^U+Cp`wR}haH;e{N0?MnLRJt270>mR}AZ2zk=|Y!+%<#@8 z2VSiKmG+ZPJps{oka&MPq%~0oInm2oFtkeDqoEGK2E&3{oGx7uQm=@1>E^G%+ivO0 zE4eSO;TJRlFTct}KBxMWCO&|H&b85Wj01 zqpo^dy|M}^;f_t2G(5}Acb#NlX^S~mA^{6eKHwzJ!M`GJso$_gQ)beMQi2uY0Ku;? zC&;HNB5N$vtvx~)Kq>R_LRQ%qZKxLXi%h;?Mbe;=XVq}IO17*ukKx4`TzJgiVVAH# zumzAu~*vRxwJ-Wo7o<^7pQ#&l4rqpTf`hj;=v5y<|d7Xk+HipB#xh zz_c~11OeF z=R0dD((p$_ua`LD(HMa>kxYT(xQ!?DA~#0MXG{PaHkH;7K?^C_Wo1?SO%SO^f=Iio zK&(a(^P#3~ruIqf98rYsAsy_|hkr)jx?AIolaA!ULr5ok9*sT+h-k4}O~N-f;P?HGnJ5ygM5_`9t#0 zn(7Cy?w0I-Fe_RTxfh5D4U|6ECW9{nh9||yqcUoi9PMonuX5pw8N4F{#XVZ_3Zyhx zy?zoO#LdBBSfE$xP*=sCB`N`3seUB<*{Hv8r0`9cRKYwGNSX9Htt5`CgFAo4$mJ5x zy@E*!zMKgIm*IaFBcHRuKCz?52@+@?ktEFY{m_wG_Gnl14a2B79Llt9jJS>bRoym< zLg(uOWw1mqI)AC3ST_Qxc`1ywbv~4r^sWgH99$ov=LnU!GRNy zdem1^yPUQc_#F32P_3dgFYAQg-@Wd&m+?K7d%enGQ;adqIak{bU z851yZh4Jibx&RUszkR2CfB_N^$Q?u?h6uQw_uac%TS_=rqrnl|@HcNysA>n z+*(a=C%simnrzWudxO(Y6(QW=Q;e;LF{%(C1qHs#7&kPrCrx&bD|uoOb5z{Hqn4D>@(GZifuv=#87T8&kfSMC(2b7*)-O z#)qGfk{nP5>@lp8%bn`S3<-zz?|}Wg{hNucAEM{dw=B6As>0{rWKaR-8dl1@bKO$E z>U3RydHD?}vd7)^maP@9OZGX_=or1;VcV$)jd<{|Ji9hu0k*$i^x zUd4}ak@(z#gu4gH1eMALEMt){?R2W1aQzmr9WRX^F{0%wmWXbY`LebFUN73EI&^>D zr-jG0<)Qeq6QVUt@e-Ks@nUO%N}Lr)U%r8iBY!@oFc_5z{}%y3o?G0LXC{Ju4OMzU zz;q3ml25pY(Rdm_pU@3940^XBA{HP_-XE|BVWX$W4?EwFM`+SLP~U#>ADw)RPY`Gt z^mS_g2e$$b+zQcQ8HB>IIGBH5B+vJ<943J!kyzTuxXLSk(+mF`T_t-9Hw#4w;w531 zKFDP9o)32FIul)Bvc6UQI15l^&Zp}6n))kv`TS0P7Ul${V1ggp`a8EAiG*K)?_o^{ z<2*R9^iLc6M@l3fIMp$Md+6^qm_sg%;v9&-E-ty0_ zhh7mLJjPFS)0Vp#iXu;n?+97-GNZz6(9jSlk!$q1$6T^9I4Ds$j3d^VI#7`I4BmCk zyp@f^R(8kG*z0EWPwLn@M!m=Dx83 zwhKpY3Xy|pqcZxUj$WNaup~%EYrbuHygP1lCtsJsG-*LxBkQt8_fUVTRSQ#zG&;C9 zUb04^ux6#~?=1}AsSsRXvci%u#P5m}k0(!w<3~4BX^B39lIc^TTu`TS=FGxbO|f|| zl3bFY18u$i*~eO*Me92&0ug)eyzI-|Stts&#`i#-$N&S}!J6u$XruT9+r{(L(sbe< zfEF?J%MET>xx z)YD`mjO{c^`|#RbxU%~@yPbEleEA_R=Fr?LWb%AS<->1RouHrHjbquzvLx+#S;;+n z3{HHN!P;YN(tP*x_Dn#l60GU5p*=SXCd;QD(Cvj;C9wHc7BY;2UEfpQ{d)4J4$Hi|WT(X1Xvs@ez+DQ7 zwOIdvumS8f)EE)PN!+u`otnx*S}$WJp{yx1v7qq*ElugG6`VhQ2U;NLQ9q=JtC$*u ziySFKp2K@@5_CQY)M$-f3tSv(K;x`L=b0+Mh>N$f++qn%v&5<{furntgkDcIjo0bX zXJ`QovC(`#_wK%qCRqI(VIqgLTbgh6e#{lt!%`&~kPGpBn!CnAMpKRKZ^vr-D)7jzOL6D+bHF&LHVOB)L^?jt2>B4@0pjej3<$+Dvv@()^tTe zuTV#&<3_ho$69Z^BYQKX-RLBBdgE7R0-Sa?`M|J6-jI@yIl2%dND+-@6NPnre-cQr z=^be&_5h1ZcMgVP=gGKtSoQAEv9i|URA(%+>+FAHKdh(PKKbswf1CXuF zKCx&&OUZqiy)jkJ*Zz;eu_iF7y{i@LCS$wF9wV*9z;FJP<+O;y4}~evQ#&wkfuDKVsKj1WOJyF&~ zcIl3QzXSwmnh_M4Gu{c@KH3`lmdl|x+EKhci8?lx-pdEb5r-}`kb02R%x&4YM0>;f zL3Ul-*1p9&uY>H$r8ufLlZK)#d|f$x@vCh0D`i3nvO0b7s zWQUkv7=xCcVO{dC^jk@Sw;gz^gFXFc1^&FubQir`orMYv2?Q3LD6SQ!L#2P=lXJi} z*5SV8EnLj}M#ppCr(IyHeL%8~;1t9g2617@Nh$%}ecX5^@0Ge2-T_L~(kIrdf*fE6 z5a8fwC4crBh9cEh#IlWtsdG2e@-6oB7S`-!%h4`e$%JKb$+EhNh}?Yns(wA2_(3v> zeQHEEcu29;RmTL<#XdhgB7|r2HfoiFZGs8pRYOuS2nj-v#ypA7`^EntL7;)d;ae2o zq@(G@F4|9vl8DGxBFX*K9kA9R!;A*Q>5*JDXU62o5Yn6H2bP96V0=zQm|uW>**4yE zx9%j0Oc?BXQ2-}>O1@tx3+Hil9?KV zK1ianZjA%3;BqNyel@MhCSEo6$)`1A8=&ySDKWz$g<~f_uIOX&bQ=NT>etE3d}(EV zNX#PiUOs*040?%fe9dpt096Y9(>KsmEacRnv|H(+T!jP?+vFtr)692yL^U9tEN#)KjU| z`5|JXC`%g6OCVDe=v#Fb_13O@!;I^CR4`qixkPcIXz!5BA`;_ae&VGH5{1ng`5=`6LatIXHD7!{b(goQ#s$JfrOEQw6HB*`gWfgvUTfO1Zfn?+ML^3Bort>-*zo=X*}y~e>Tbq? zFf!=^owG{!^mm{QF{eA;stQe*=bx#2@MZ^^5bZ5c{~~vfnP4o?C}KXe9m%;Pru{}# zqJRR%4D%=&l-bp^r>MNQn5lMBF(d;TD?ZGDDCgAbpzf@<6(#p`X3+RRL}&qe=kSXv zv3FLjWUr8P(8wabe7PxY@o_TF?j}22dIJ7^|8u-Nw#mV*s%kD~anpV3SoPo{`-=y- zSKeONuosF!h3RpC?m9M~rK#`&!Y|RpBG#$TcSs8+!E!59ysOjlPd&5!H%7?kZIV^yX&Yr)~6?usk+6<*YAeitKwZHlW63p`gUm6%?7(f z$FDEA4Lw=jiwfQ%hw>&Xvj09K7urcl zcO1%{E_pPFOTXP>2wES{g|6qkgOmDSA`_f|QDJ)aQM2KNQ1=37tG?kfQ#V?E8Cohv46F5byPl&=n^V1!GbQ=rV5TPF41%BHjldFr8K7EwcwdRG0 z#rk~Xl|?5Szk#^9waQHLfu*s*jN-xg<9^K7_OuOuD@X{)-|41>^IJZ;S#{%Q=^mt^ zb9(i&d+LCz$U@DH$)DE>3IO>?d{C$*lUg5h8I^d`3@ILnug~TlQ@s%L~5kRg`4{vt!f zJB@=0IF*~OcG8d@?^-Z9r}bpcNi0%Ao2V z^jXu!5@!Le>nbQT)2D*JL8$Z@X^1)P$KZfvrZccdtfDW6Ek-KJ=PGcAlc}mG z2`_`19Ob;&E3}6?sT)`6=?RB7qUgOuR;A?N4HymhI`6;a5K;usSz)HIO?NsCWjrP# z?$FzyV6zh8k^c_b6g1Ej-dJ{}dbUlYPNc8wmIsWKA9Bbm-m=wb4uAY!A6jU?J@YL~ z4pY5?AGrhk_@{+)2)i72b>a-Y?mjb2*_rX9mP3;B4X~~~g_(oab{-gjy-Rk?&0p%v zn8?msuC{;x`nBD3d%@C&wW+e>*3WZ_c5A*J(N`RgzdDB5`o-`bmDh|`Be?PW?LY=6 z3X`Uh@})QUX%oqi6#%smn8irBkG5=Dl@v=CH|nf{EFo#ls^q- zOr&h_nj*G#ZAv zY>mT^;X_>R^UFdrZ_eNPJwTW}mB_+eanbJ~ejY>)0@w@a(FwvhGyA2+b}tW+&O zVP;fAnevz~0TsYr7k0M0_=e-GEMSi3ZoY8UYpWIIWuPpGh<@Na@F_9y?*ODt=pfpuU=@QJ9jU0Zvd5a^8=OvqQ~X z;m}T~ERCBjr6G-k&acl{CF7YeA$LEcLdrE#WISIw4MNEX>Ce#E6?q9k^h`x+H7PeH za=T24BJ_WPFa?3_aZz|Z539eggY>l#qS}Q#G#;s3ia9uzMl+mzjyghMQ~oHCx$z6Z zjCVU?u>|R8RMZR;%pA8>_z8S+B$zyc7AnunW^B^u|CXJ+n$5Pi+jtHFIzfs^CsMd) zBSb*>RYXKutdioF!F@cXpc?tO)vZ@6PQ7E0tMX7T&2s2_zZ2&*xK(-Z6sHc98Ie(y z$oL&|n!W{)h9^})Q4^=HgPp~AOFwRPR$_IK6~wc4^LG^kVz`6e4^O?*LfGlNL@ojn zhi7(f53k!3gq#cx)E-8vX;_ro(MQC{3~vDjT~|Ka5HtT5L0P^JF>^3S=I)yRD_xG{ z0;VdQQ?KM*VN_$RkZQd9ZwqfJ6u&7cgv^({20-aqYEA_svFFaFC!9syWCS@(}s}etTogLdx>trokm0 ziyb0Cd^bS86vaZ=S8CdTp9!^F{FdF?tB+E zXxE|qJ>!f&#>44LM0o=2U#z{qIa2d)C>{URQH37DhJ!4CnDVvJ zSL5=UTbtE?wXFq9nAK-s{7V+1z}$f-RAPif5%hs#m37UZ<~T88D6xqD*hL>GdoM2K zKr5(Eu-Tk^CYN|N-AR*1pBDsQPbpM{tHZ3TJ&A8ry1VI!_JSx~3%26-u1$VsAz+Wk zBr&{*(dx>f0exwq&q;t{*9YC}8ROM&mxDN{VQm!0pAe@LWy~D@U^h zL1kaF8N`JTfdSm#j=LQIVSl=9&_fZc7PHmwJ1^Yb)$a>af4^{l*ZuaZ5=>Fr#3rE_ zM)=H{e-1LyAvG@qicZX;qbwsYN_0)&b#}r+h8kseK0>;(VaO3m1iwWDeP8T(Q{EV1gz-* zR5~I5oPu2iV%cQj_Ar=25I|08A$MA7Xk+YAmL)RLkx=`&eocgh)lg#A!YBeCv$gUhUF)DC;2DFR_IEj1vb@x@Ym+<1bpvBRJu#5SC=`f`$#*X?!Gu>YB}3M! zq{+zwbrE%n>=pS^(AcmCHGkPR=GWdf=mjid4Po%-_BVj)eTdyXX$?G+&?4gqpZCur zr>w?lt1eKFg{$4XzFSj`yq~)MVSTG$;3tEhNPDT}}Jr zKEI3r#VMT{c_*Q?l`r+hQ>0UXDOiYa_j!{)?*a_Q2IyE}sLYE+nnM=w+snlrAsgv~ z`Mx^}3f7muL6;zo#uex{cDumJqBLsaGnC1{!UGl1Vo3PKiC80e@Vp25VI*mTRmF6G zUCFR}&c%z+h?{V@b_aRjRqzbmAAGlk_dH`Rdbw&;Y{OTfoBXI!5De`;TO~(#NW#or zcqTTmbe`YQa3Tt9JfZ@~R4gFivQg)f(m5Y-6|bf$p>AR23e&jWCz7i5q7K zI?n5|4t_&Y5)iHzpu=HtLxc`i7T>RG_z2|3e|LuW?Q3dU<_(w#U}*>+``|aw{-we* zgx;T=+h26Y(Ql{n_DlIR6&j5|*q9&7GCHYMJlcjr1#28-`M@&!2n>?n*;?!|DMCQw zhqAS}$QOTBSGP*>BO4=iJM)P4@|o5?>ntL#VMA~YefOQ2~aXwe}(+p3+o(5OZs4a(Vwa}d-p%z>OVN}kEB zv*z0`WW$aiD8oW7lcT;No{WJ5ZH)2b3wPxv%aMXwTV@GOr595QP^lNLAC8NGPu7)B#zIEPXvB z@c|31UE}nu*{Bzt(7lq(aUxGb>9F-|SPGb)}BbQY=Be^cgeH-Q`=H)iZ7Zl%-Jma7^e1Tkm;zd`@Q@QYz+M;e4j1SUKXz*z5o)-g3TD$3g9c z77xRT=6I3S#>wV#KCuyz$r>J{ZNXc3za2UkV;j!$tvu`?c%_`CT43jncTbYItycfx zfbkn}!Y3DP1yuEd3@m6S0jg^upBayzswK35T%TrJVo7GzEate`*Q;{eBA%abY!b+S z{}u4k;%#W$);Ikk5ueE97qic&Hf|Yqp2-+5NVa@vkP$0yH{$x? zsE}PF6=&N~y+SHLU!oU2XQRL7X^C7~p9;KhZf^c-;!d93M|Glt`m1ejHhKHLQ>I&u zBv043fCM9uN^?x`W}v~%yv)FJb?1YnZYz%Flej~bJ@Fm})AGw}7-l#h4|W?af}XvSyICPk0a|E!@DP3ThcMDkGhvuxkzQr>{9)3;IJ916^f~s)0Kd*e z>gQ19Ig>>z5Na#0D^}+f*XH9+8rMEu-OB6HceYHi(l5!uAyBI*o{I_lB=qyL>oQ^Y zva3Cx4&3y|`}Px*Q=qVOac{y&P*d4bb|2`57FABq!ESA;LfBJ5r1qC3oe;W_%Wtx6 zv!kl2YGG!@C;4D^|IEN|XNXHJ5Nf=R?3D{Rpq~RDa&@ypp<{C705VAA7*qs8RxfOc3Xo z{MMWGG?Jn#28H%77T_t`=yhFkw|2SMkSBV7q;4kQ$j{%urhlHSUp!Gibyq!tAUB%} zN$mkttk=83C4-7k2WZ`G9&Mr^Qyie^PGd}tmlTZpM2z3z9W02nPf_S^)(1)84Bghy7Xr8cvWOOGyT#kQc^D@!Tj7q zm_ez~ntHdFW`iDRfptZ%!Cx*coA$7yWoQ4dkpdl?(s3;em? z{3!a1A+{-2C{$Fw>m>FGdN!$c19Og`R@lgo`NvitB(C4?ambuZJ7_wd`#|E(mcO0Eo#Cr0yYKia@{S8> zo`QFr%AfOx(MA;@sq7oWk28oy4nO*{nFpk^pTHt?Y@{}30fT&yTv}>3DFl8tHmte! zdNV)l4yEUJ7u&Caj7_P{IZ>dt_Z`{OOa1DDFZ^TOp@Hn>+t4L8hR;mpn_dW~QW9Mq zq#zun^(K@H$0xyFstUuEj*&fs^cGQ;5&Z{6IeR>!AFMA8OM3_VJgi< zP9B%BzuM-d7;M7H;N+ptAQ^XQ1ha6yggoBL(#Sw?IukG8-5Pjz_ zv{PQkFDbzGY%bDd&|ZDhMHu}p`By01^+)?MCre|C>oh=%_)U&E3_xfoO;MK_`uZtrr}IcAvW4W%x_Jm4R)^w|+Qo z)o`xhI2Z8otToC1PjWTGPHVq->{IsL<`BmGJiq*TJ z2_#hog^W-90IJc)tEYIrOKbxuWr>Mrtaa&XDeIjs`PJlKCrVwN?cN>0hSn{+ zIwp0~XHMz}a8T?_okTIL%-jPnTBMa>1#7kSfPyqD^q4f2ErwnOSE1C~>2I&UJIxZY zv7(OS5nhqpb-_Aj23pz}C7S|kf2p7E$uCmrbRc~N^4igQX3t?x-d+)r$(iW$A(F-@ z+wdSb?oeTlUw}@V_3}X0x_Aq;d=->JN@xE5W#dCHfNG3P$w^!E8RkjP-pOu%2eP~( z2VKNOrfIQ#p2&AeL(2oks}Kp(sr77aZT*CoBlOlJ@!p^IaPWZi0-GMlBzf&gidiBT79&(s)xS7x@e=*Lw(<>_EE{`fd_}Z}2?F-UxnsmTdPvk)UXkK@S$r{5%f4l?AuwE43`Z6;&y1ds!dhw%O1 zUVMcXvsHO0|LiJ+fC)+LGP31O@CUTR{wEH6^!!HU)O(lNp);Bsi@vI*XRq0xYo_W9 znA4xy`uiN;K%ZxlE8(jmI1pD7$SO~I!jpQ_VBvl~IZuNa;<{FT; z6+kR~71p4+TlGRCu6*UtfQI3Z>6yQtbk$EP^W%*Z#l8W!80AN!$d`H=hQY}wQ@*3c0wwT% z8_vPN;AKE*lFHs=m!J}!FB)$LvU~^RhdN-wEnP|F9UeeZ3l?BPmbY|Wd>}B z$OQHViigpf$QXKsY6r{cSh7Cf`v7wAG8`6yGn~)iiXMC=hEAx@p-2%006;PE+9HEC zPZrN?z>;$%PoY)d_1HbHr^Jv64g3B3_x9Xxv9+;QyZp7a^*Sv*J$*b<1cA#4EqgBV z*I?QHSm$YGZXJqrqkrDJy>Hw*cnYH+*Zbd}{Kw7S`8`W=6gK0~&FsCK`@bH1gtuB7 z_u^mo@?Y1ET#f)tq}@bmxBfLw{(iW-=XDptI}SsYzpj7pZ2x)S5ko{|de2jn<6l?( zALpI}_dAN4{hy!wj}J&G!>J2YpO553A_+OvM-hF+i2=gD?ty=QEpZsqJ%&?M} z9_KW%d=h@2R4EY-uSmMIdX0LN~Qn)9-HP;+?pVGFMA@8EY!xM-{m1z?k$z{F&osMChy3^uRg%1r%>?{?}dMghtY>_^*y=Ps=mh%Zi@i(W&_1-bIgo z7<1SxzgOe4+p1aGbK?obB~X%zj94HBOXm)L{#SB0mOFHG`OarFsLdGNaBlG^;*#=? zUR0NP%m$ve?eZ3}5l#MVBo=vEp;TIiz!!>N-V-lbQ~!wF{SFaf*Y&yc8O3&-t@&=m zO)-lZ?3thOwlue`z3;xciERDK)ZgeMPFUdlQ@p$0LR9!j6F=*}H!C31`=0f;sxJ-U zy}=G6!s+Woeet00mI4*-WgKoFKCYWA@{4qd1Kb_Wap%Xg{Ns0jTxkn^yvWxRk*k!U zrrhfszF$t`k1raC*Y-G*+%oXicTZ<_ceLi^Ah#caqAu=Lbo{iH1QdA11ia|gbiqVY zO~Gtv_QIEsm6_R^icl@Fc?5pyPE(eP8YO#^-H@CnKhvA{9;moAT&`>b$#3};c5X%D zzHgPc+1d9dhX37tG1!G?j(>xH$K&A4(YaAc67yy2hKW|{xpQMLB@e;Ptj6lLINe)i zPseRG?~jIXAU$%tZQjPBFL~G5*+GCrQ%iIfAMHn%AAhFT$&Y+@Mn(p^Vux+p%a8XV zcb>Dpgz_KV?YjMmUgP!WH_atJZ@cjJlO>*LrD$m(y>vH^DJiKAX|_Ud;l5I?9=MHk zMRN1z&0ZY`g`X*IKhdWzof_Anyz}M@{7A-QyNiR*vT;=T(SI^$U^pcrKSn0{Otkz1 zli!;X{YC~Aew#N<1lpr!Myz?>_;;qdL?3X2L>OLUjK0Ix#Tv)SZ`QU(Vt;F7eLoqE z__Luk`Ltg_EgCX~GHxdFo|cc}_X|-V9r>la zg&3Fps%1EZWan=QY6U;Sr1dUW%5=I>6+ruaIEJ&Y8oeBj#L@Im71gFYG-YRiY))UZ2K@5A3W z(BOByT@>D*U89pvZQ})Wc^v)Np$}RsykY~GYyUt>Ub;x9UG6>wq_<*D$_P1>byz4b1y^UNCHFRX()_Li+!Dg^9c@D+`SSmLA_~&T+|B43q_!oJrH)vz-8DsAYD?!~mkoWFt68zpnQ{x~Bt z6TT5x_faDGx4tQsG0W%~L$~4CR&5gl;Zc6p33m&n+?lJ=2Q2S z4U~=UW)QS8OqzNt`3x0&i_034EFtwUIv_U2UEyCL?{m_!*Li@<%W>r16|Af;3#lSJdWz%ZA|8Q=34)62rPV{lo z0X!3;PV7QV_q%WK+HfaH4nhn&y7jj78ZaGk;?O8DJ^POg`;Dr7bsx+>pnYJG!JE;Q zLH3N&HzB|*Uh*8w$*zoF){JNpqj2H%Rjj}l2fHhIwvCOvhoz(E0ASUh)+q% zW+mwleCYhZ@#I*)NWZ-d+lDHPp!(6aXT997;S-$>{Ejc-MfcCyn`!k_S`x%u7Z%%Q z-tR=ci&mkTk%P&_(N*V|qY1-P_-^xh-#ghHMKzEfSa2hMmXa>Bg4&eyxeRmI&qBFbTbs=ui>na%7F^1XVgQK-Pg+z21H z+Kr<oOK6JkmeiLq zS}Px#ZH7MDSF3c*7F4@QnEH=@!f_pBVy&&@?D^^8Q z-JUY3v|0OdoOF^@48@t$tZsLfU5g9X5ZAD>z?xIhG1O9SOsQ$GJ|7}y;OqOfc%jrQ z-mDtm*Ny|U9#9Xda-v)0yp2Y`rJb&z_=qa z-~leHpp3iy@spk19=dY6G+ttXYyoC3qqD+g_{RQnacOZ6>zAfgcLtYwY<1?8u(oKFb$!_Tt`ua`>a- z(lkvfjZtvQ!}1LOaA{Wf^7C6?$Px|(>f`Z&LMEiy%^Ppy(2&SeAJG4Zb!rw7i8&q< zLAfMQnI*o}PVkm@oFQy?lL+ak)kpx>wpH84_XXySyrd~>rT0udy~$DcjY(Ma+08c05Z3|~td$;lys33QKZh_zM!MAhzjeo92gQeg6=RFGI2}mMJqSDgf zRms5C(9qJ(#LC_d8deQHz_6B5vqM56qD6coODod+1kWEgef8S@wcK-F11k#_y*F0+ zhAhq&)`;gI@jLT^w-$!>dQ{F9P)j>rXMu;muiypm5g)TYr22h{y}7`{*K#kZM6GNM zsW@34vpjw%h)G37#c%t@h*wce;_vO?H-U#H_V(7itgKE>PApDOS*&c0S)cIm@UT8+ zV`XDw23IiKxmeokIWt?@QU7_!KhF^}v@@_ZwYE34vZO*hS5M!{!Cv6uLqtRW_4TKp zhR&w{-IAr<-(i6PvLgP%`h?{%>wi5P+{%yml=r2nvmsPX%+vzR8E8ZB$zwKd{@*wJ zZ-4slCjaBs*Z*-V*OUL>t^e_-|Mga7J40JhD+|!5z2JW@*xz>l^N)XTHoZf_s9zM@fuCQbcB(l z#YA2?BX6eMn!ek9an+>7MNEJ=M${6Jfl%Z}g63G^6(nnl1IY z&~BUEHQ3R=yD5fBNC=@ymm-K=pX*<)4tH~_b8@q=+TIo@8Qb67-rU@Dnyskg;!8`} zVXF8hLFQqFf-a17~++mKs|L@oQeF*;zbPY}P>mLU$VjxjO zjB$Q#L!StQ$7RS}=IJzz5)3yFhF9;INuJ*DU|2Ad6doSz>X5*AZS-{V?D3V&zXu@XJWo6=I_eaITd+Pw<Hozz|ID-xzVLXycaS9bA=7QJ z&-*w!s(ajRL~LOl!xF4t=_|Hwi*}>A$YQ~OitCDt%DWk79m*DhAd}T|p5_(C{V*Q8WoOx< zU}gBtLq*HX#asVsMd>!bCsvD?8Ye&RG-+Pqm$h%X zp~<&hlXbW~GevOF#v*;P5X`zc<1}}83AQnL62FUWRBNGXiS{UHLd?|Xy|%}pvfFMu zv5&&1LZ_YCnF<%s4%>UR(|5(uyFWVIya*mW4=gNjcQNsrJdA34H2BxW{ZH;qcnk0M zxhD4wFC(6Tr{-~fba<)qTF)=4yl%gbZwu^U+2oG$ z9v1VaUrVeOB@IVGclYp(54x zI2zBQp=kE;+E1FJ!H4Cmv5L5<1^jzN@;-a;+cXov(bA5&2)8key(?5>?PwEbjcA? zKM9CO8YE_xu%!Kp%tmD!*-9y|*&SxlAl_gPYY6JeX2wl_6-VvWI|Ode?OnWtJ#*8q zJ%z6Nn)98eIe%PAiaMcs(T9_fk`$&w7i%wC>k?rry-CI;O_#NDDZC>|FA9LO8_f_6 z$Pwyorgd_dk9ajcX_REKxfuN-%)XA>Vv^nMY%O;yR#kgfB1?K)F=7T%R2fxeF*Q0_ zZDobnKo;<&I9M|p89V&Rb4KV^?M5+dNS@EHw|`vQIK|=lL#4-^z529Tcr4Y^wvLyl zD@lFigorKKFL0b3O7irJ;MFg?BtEC&_~$Kg%dLAGQY_4^+gQ=)8Y9K=d29s#zWb1F zRJ{Nm1#SItd}-C2F8uRW%F6+o&XabRl@zDVWE3!#hQ@V&M)f#c~RGCe{LeQ9dP zFu^mEq^HL6Lr>r;VZ7_~Q-<+c52K}+;6K9npwl%rkH~(!+pO6v?#Y zY>EXM)M2pL8F@4yitCa!R*o+wCgnb@7eLOBTw>4>7AH0y#8^@8_(}U=kj&j{oH94? zn?1XjQ7$$uqsppUOQFMNW5rrZ42z2L@A|UB1xX?6oAvvBsc#8sEid-dt}5Mj8mbwZ zY6yFcX~+B&=9_O(9!O9#t5?#SIjKx%$7`DbAL%Gj-~HHZI4`8;r~hUX=xzD(q3d#j z@#fh^2`*j9q+?8{lC+*V@MrsNxz^qsG8-VMfmnUqG_Uo(nj_z0@S}9uSR7k^tgE!9 z3I4Nx2XSwoqTGQce+qIIUGQZNEsT;C5OUw|<#I%TkpN21RmpZ1j$_3V?S}HB7r<#I z#WR>oQe`R^sLaws;DuNLAE}Gpbr3?JrZHnn@j4V=yEU4=zr)(><(m5%RH7o5*fPpk zP^gd3uTg0dsW83MbT!+@yTRmkb#eT30aB&_IaGXK9!+=6{Jx3<+sW`Wj`o;a5Ap%N z93GXv56~8BmcbaG(>9b?%U)sB6NAd<7B1)eH#Q>sE~eTg)&ulq8kTU{`zcO!ul3BQ zEUFKe$1u}`?PMDcM>XbG^DS~2pr(CKd(R1RYz3Upx2glOAmv)1Gm$OP4A*rg26RSz zH;!)Ky=An;4@)4@ti=}tHRb2DU4Iq8IY#8sviHp98XL5nW*mUusR;RzBcEcHo9de1 z757ZEtYs7|pq1CzEL{g8ZZT7OB!KGAQo%=0Oz!IYlz2Cj$8$R5RLR?F$!fZabW^m zl|zM+;S}ny2>>c?^nSua)<`lqH?n>3ExA(48?rP(f3@`9&t5E+6(?u_e3 zk-)L{ypJTn4Ac@K=#ojAGve@*q0T(7tMfUvwP=Z$hX??q?$|{e{{}8`JN0~{q=^$w z=f2lPXVD$Q(5&^TF!uqp%H&&%W!)C1hU0|c)9wSXEECdnDKU8QUnH1^Wl8UI-@3;5 zV&a9d(KQ+@_Ggn~s)vOZInNp=iD8ya7mjYL8392?6|=4z6Ya!0$qv76;_~Y{P1{JS zxL;jfSbTnqthP(az-~JDvGC+0UN*W0uVgY-W8QufK=-Mg97bR7MSqW#kP;maA|Ss4 zK5BeKRVPK_Nk!khYr`9o=P1{7iW@ljo>NA)V6rk=V&5Mf;jFbNq{?;^hVh2vtO~LV zD%_nj-$D3G!)vgfe`eKJ1OU~WHsW%H{L*YYi;7-O$CLR0jVYJ~L5l0{LOTLoO|;?) zL3ir+*ML*oS?Bgn3kmUSnRcnjjeebXbYxBD~Zzr3TzC9 zh)e2KX0hY%aD{#iP`LjTA>(r_jD0xJp7I!5&m7>l@}U<(0zJMUfta9h+bk@mWvhmrFcwKW09g^16_ZG^Q7EP6dcJ3)|Q6VPY?hz^#c#aetqygML8Y&uxJ6U^u~ z>tja))^pNv%A(;y2TZFV-t6)BClm(}sKUHEbCp{*~wZxKkor^Jc1Vhp#HUI-X^olnh`FBFi>%QU=-Mqcs12GK15 zEJ@hGJd(vo3r(?Z!5A%2EeR>_B%A}W6N*K|)EQ_sQ(HCTdA>zrGwHkyU)fAFFYXFr zrC9)Y9tLb#;70@=wZw*F>*8KxW{ZeSFHK=Y>6OfQ?d92q#Zs(lAN?FiD<4W;c7{&N zam~a;s*q*ZK8zW+UyPJAT5<#MXVT+%CZ15o%vVS~&uXp_2AW>^Do>r>mNgvVUz%SKwq&5UC~9bUaTD>kbBGpDw&3Bkir4G%G;Os&|0nCv%vq zsJIuS!*AT@ceaK`vHLNT>;fk_jl;7T!Q^(i7vD5qP|}!4s3Rq&-ZDyRUZ|(4X(Rs8 zR5SpmN;>+H__iHSdDP*8ExZi-nr>x+Zi(C3Fv5~sRC?l=8@}`>MTC=J`dY{^123)-A#Ryq_kjE)vP(5b=yk2`ei)5UEWb` zH8*>CHr518u7|mL96-^(U5tbBf_+>h8_%M)+}@iK7ducEC^H&tAl`oe8n-1SjHCxa z{%A(W5MP>&r`~bjE@Z3bN0^$p>#yC8t(+vw?jT%=&8jhN$M4>^(6Z_eUG|qz%0o?e{4fJwmz&(xQi@?(5vw*Rx<#<}}r$vvn3ti`*iA0|*H# znInMLre1jN5ljK>l(bOE_7}7vj06!?sKdBhK+d68Qoko-t*WqraLDAYs~IF6GS+-2 z-+lINySVA~spa%!ll!@Ugml7t;+WJHLPyVcyspUf3|%r2BT>?~^}c2#?7%XzrRzHF zVi}*n1?>|>Db z^%BIeM?vnWWCz(vT(EZ6@3Gm5ml@7}KQj zyOblgEs0G#^dkebt1(tZy~|(>@H5olj1RPLrkgD%;B!VpL;?U<2C!27daTtsJN@rrv;m16YQOo=5XKNAQ@5+iXe2$hi z`e~sfiVcepy6Z{^p9KJuy*(lwCk~Letz4dhB7PvdPK@TSSO_~nO=pK2#!Y7 ztg1h2K5mQ0uUB;G!+u+OXBtehbm2NAr-B6b_O!QN#jr&t!OK}>B zZ3MkT>@It60E^hq|HK?n5Pn8#_O26ya64mjkQ1BIe2BYD)1>ci_>SOm5u~s2kK8m* zvz^BCV!BI0k3mwtQt@D-N5|phe2$fXOc^Pt7*Wyag|u%@R5ai@Tq-(n*(``f*C@-R zYs+MGlwCIlKz;8?m-_y@U;V=yTPGs5#0`!3*j)3hKP)@K;?q!MuL+TVc>Y}Au6eWs z?pW9>fiY@g{NI(a32DJxE7ZTyW&t-XJ(L!_ zc8rsVtLq%bUdB;FIbJy^y}ovgG@uwP#UxfM0VtX((q@W37r%8w;RVF0fa^giDi+cB zc$tC4mk^R|lK0~OL(?&0fWxP8zn=_3LQ$nuom1*;gPTU0pa#T{F*xyDz&WhE`V_7*O} zv(CPl4W2EFJ6Nmz&0l;2=3_Hlh-_g7I4oZ6Sdt0OYC@K9c(7{hN1w2m8DR+Gk0myO!Ey1%?dzFFvX zbs5=C&I$dn68G4aF7l3b@>|FjuIi?BeeGjJb}K9nOi~%eyqzt(LHkMNo7-US{^s1A zn!rky%z9tVvZ(SZYL;c~wej3Uq5972Oo;6N2Rcbl&XYn; zB*q6iwFPpsS`ZZo)}~*!!z>F_-}#YMCn<}^=iUAEsKB=N#=HXxk4VFq#?o#LEpNLh zKu12~0w+;(`>)DENj$_po4OrL{EdX?50JbQX-YN14-5N=%#Ftdoi1dZtq|5ow;AuYG2Xiw_?wwLwWLRg_;3)xb zJke_#4aE(uup(ya3oJRtmMavr{w{1jQJ$?j4ARyK06h$?>USmDgD;2DE{8!;YBgm4 zYckJM2n#hb*&Qk2&#^}V5Jwte34Fw!BBYBr+7WC~X)mbEq)Ttm2HP2E8`vL%ErVA4 zOP!IoMTL1p#l^zm_sn$5#!rJ$xKa&NY>>i?OR$-_Rn~?`>^5PP%hT$W&ZYu)pV*M7 zXuBA0j20y^Yt{^W2_-Y0bB_+w_)^JNgMagZUN6C)O~av+aToZ{Jggh0SKHLkkxN5S zw}zvQ2z=0~ZBQcy5{^=Og!~012JOA=@775_PBJ_KHb~`7LFQO`$p?*@587$ydTMbJ zO#odR+`;-9y6A^5Rp(Ri@?1)%4n@<{t43dPYm_Dqkm-kFR9kZ%zC~v>t|ld8k^+jD z=)#}L5$JXpHExj#kWV+|Q+EC|v|eA!Kmi)M;oUo?(d#*p8_WSJu?+Dxl+P>9QvhCiFrph$ z4vB5CVRuzG^M=fFUV{yhfDSD+;?pQGmA2`*L6 zB2-1I_~TF5sA#c%J9YY}-oP}vp@I`U&;Qsax2Ez3G+=~xyeqwq@nEE@3z>Pp{d>d* zFnjv1XbK;J?sX6708vw+ToNY?u=6`5Y{t@Y=D_T>K!Lg%LqKjbETZ;yO*!LmM{VPT#pcU*t4Xljv+9+#o58y(R=`< zktX#LuW_S$oQ5UO#_*?TM5SaDW}%V9VIJoJ9QLeEqe1WtYaghYG&%{UDD}4>c40D) z9TX&xM}XX#h@zDZ>J{9zDK`L&!_m4JXP`JB$t*5^oz6N?B^?}t#M?y^-&pfai{sX$ z8YsY8j3}#Cbw$%n0V-*;Zl@8##)VUG*SluLG`ml=*L`UFJ0q-+{kYvH*ffEL>AX1YgfLmeB*N9{KpFsnh~r$;m8$2!wk8t*2p zx^F9pyI?5VSdzr`4Iq1(1RO)^gP0QsCL6JpIC3-RlFC7u)QCI$T^&M!7@&Y?_BcP! zL3NY9`{W@m@41f#rt1;~Y54_5P9vBC&e$epIYfpP=ij-VQ-U>WS+IUdvTnlaD`b9?IiaKw9a zb*8TRn2pI%x`kNBT@R7h9Uu4c?X=m-MXA0b)uQ%6!`|bC{kq^?0Yf)Ogm=nzHp3f! z{4WlnI<@wu{(kwb2r*n6Dwpfwx*@)5z31ibr^pahof z&>7d9y8)o9Vgx`kkJ|LYZ+{S0u!F4t!~c`A9U|a`=X!au>_RYwgH|Udp*(dt03{n2 zMWrp6v?)tqM3o4{k;i|K`7!Lw<7lD-FhvcSdp~i{fHGqd(= zg+u2zz9ULG#M;geelVr*Il)?S_`X&?Ck+DfLyM-9cGgW}q4NZ;caPUj*@I-qvc$5j z>0C4^@~`sx_5s1$|0SF<&E|veoG1=Y8*I`HGGuf5E{qbu11?(zoynSunL4LqF)|M| zHIs-uyN#mi#Py6Ass~%~O~0}cRu=h8JHrL{K6fdU`dRgaQPQ}Z&R8oDFm8sfLxv>= zi6yCeSJr?6==+7|U9(TAcxPMr_P{$qR9!SrXZj5d63;c~BbP6tf=eKdi{)i;$7?^H zRFP4*EJh}`rwd59F|D8~W~aCc)=bMEmDT*zd~xn1^r@7#g!mS@eZ;YidT}_uM;w05 z0SmX~G`CQGy5ZywHiGlueb2o@IZqM>9s~=c~V-4J1zh!@bl1OdTeVvV?jlO+Bco zsifU_xp+%*<+iuB8D4{C$ z#S&(C2@%p|+1jE@Uc)pq3o*@wTT-bE@=yhLk?mIp$3%Xmu zo85LZ;(F%29Akj$=Iga1r+5%&(h`Z&Qi@Qv)ttv+(bx4rZZO{lz-T! zbRc_xj#$l%DtFz1VHU`9upMTrGErIU z4j)%*BhfR6zvw^9IDGhI1L#?+fqaN(WoN(*dmc$D*bRDEf|ubXJM zOO1LHmwH(ly_Xw!_rE^10Njs4UB$v8&H<`x0AZQT}Q0;L@{m!ZHqcOBh7RQfYf z#a&_67}5t-03k1v_o}ey$&Pg$j_IUTNF_RL0zp<^f`3XjLEe{r_O&V!7A?30RC;s7 zBSm7MKEBop69eI%^_{W@YumC&k7e(ws%{3B7sdT}_b%>gir;3TEy|a9(%_0rWUh0o z%xs2$1s3f=WGXbKbw1P2r7wGw3QC2u?)8Ed&*IFc((DJNAB_!2iw?rnc;?7xplj+c z5vUWdCQ5~94Pk-93?Lx#7LB_?h+0(kNR^F$A#_=1K};-Pfiy8G-gtfZ)2zEXX~NKN zK~}>@$=(g6ywWOAf1TXzprqv6liYXh@KK?H4jriqtT!$2G~%JUh)crpzOWX5JQmp8iq%B}!Ww&B6bS&^w}7(j1{lWjWZfzW5Cu8z0mZvGq$QjLoo^H zYT^k<92PN@=VwT_>_PaNTI`BO$otL@)(n8G$~o?Y5qT3xalV#Ut$n6cv27^bNId}x zxrjr>6A)fL)JPBS`|M4CYEDCBq@IyX);D!hp2c8=OPl#@-gO|K8Mm%L|bM1^-eJomf@#k3LJ68RnZ=3BhJNRL8aNJ4y=tQ3rwmrIv$6yGxkGr zvmG{ql3t&V{Y8AxPLt$hJ$~go71G!dOIE>S6td^YGJTnwkkB;+F@Bdx{xflgs2whu zz3sVG<;xK2FOARAaGbb{qfo4WFfNU(~$qi{%(Y>lm0JkL6HG@h=n!LRFM|8Li zQZ_P!S-Kf&&pKAkMKN;cBl=Nwrm^alR|n&pw{-9x^Y7J87@zge{MSs{Z{*Ru zi(`t*%bvRe;*doqq^+`59vEqZK-_+&v|g_4)|;l95!d1s-V!Sfc$~E69m)4@i5f5f z?q@sRG%}mv3hlNLq^_W22-wUQR`l%&3S;fW=l$BQ+wsqO3M)9B9jGvV(cjvsZeA3t zr(}K88zSZ7fJiS6<-l%g+^Dvc2`G(iV&n*jl~C)7)#1L&HrOo$yQ^pZ^Lz6s(1!^X zhkEh;f5EirKu2y0o4wrCDAygk@EYCWG(Zf#wkX+A|-C@NV*# zjo$}%JOwp|#&_^>Rkw*%H>I*JAr4{BP?$Y5364cxjtfp2d}~q3s_tkRlb)Pnsft!U zG804up>TXy%Z@dEm1WI5T7RfZqq*c#bo^~N-EDt&N(@GesyQTU+NZQTnc}u$Rsi8|HoS~fGO#H0}Orrl=%qVNOq3JyDr$+rc=S7-jZnACAsonk} z$M-AzyAZ@=58CF$vgA|KI$Ofi2lC?k1<#r8rBrDbmeL**fi%cX#nZLytl#T0nlKIW zjJyj!twkhd$|lQkL3`ZCWtBAcKgE@sq3l?613lTigtSq9KFeW4f!qzHw|petUu-)y zJslCv5V<_en*P~Ul=a9bP5@{xOQc@kzO_Vm>{*No=NZ=2PBeeMME2C^x%_c#@q~`~ z(Qx;EWmJnwBkxds9BBi|ZT$6Co92t`;<~*$9W$P8hx&i4UGp%>QBWF{ITZR*(mJCl zwz4DBuSi#bOW%#@^`%*1-JtwY&o;nK)pRw_0o0Tk$DGVMB(tjjMpi@^7Ctp9S*E8a zwNJQ_RioJ)dyJ-4a#r*5hN?5BU;0JJcg#WE-;?cuP|=s16;2IOL6?drkG7`VQWob= z3xQ&D9sVHN&F8mZ6TXsa4l4b<+$p@nOQXWuYM9u-aEr$kOk5x-f~t~1#nGV7$oDPz zc{{oW&D{}(LDpRN0}u4G{;-tt6vCG6<6rCtF@ zXvMXj8}fI?I+h154%!J|+JNNf)R(!p>JaEX#S%!#a>FNS6j6PaRYxn4;qT0Muxl*= zFS>=H3CfQ~g=^@VWhUc@^GE4M2;d1F;fR|@*MM*ES>AZVo8w!b282l!R9jJor4?4c$(13sV~XfVJ$+3f2BB%$R9@>Loh3zbA!7I@pJnsG|V z3CNI|i|hBgL%6-D0lYckKN>gi+-vLkN5)!sV51{1;qbX9r4vyduQ2NE?xr&ptG1kZ zF1X)1?|qA+a}8f^zqAd*%vJibL+CQnDYf_~&qOiqjj99w(Atu9<#F33r@7dIX+nzP zX;whUbRR~xg?)TCI%UOY#%MeGK(w_i^mP0~d%$)%bW~-W^d1X;E?@#g` zNF9tiD81a}j}1s}`Emx~!4|ZI!NH0HF*`!P=RZ0B%ve7ENLcWO)VKH!TagbvT3Q2+ z9-ne~GT(_%qkyv;le(|IoB@GweaRZzL$C3OqU;^bonAKlAD2;{5id6qam}d8+bIwD$=C?IRQ4_NJ?goy-?%A*FMzPbP3Gewe%b>_j8E94 z?47U1Y(xZ)IBu|P4zho^L}-C0P60JA8N;CTuI_b-62cfQ?&|eq&v_8DxWzly*f!PZ z2Vjj!CS!xW3nz_9C**Q6*1SAjFbx;S(x~kCnv}-D#JO0P8nxN9mXoyC*R=SIPtDL~ z4NlQ9N~kBR&A3>U`QZ*nK!UF!yu6p#Y#vPHKG53f0(E=Z1M8&%g(HLan-7aZFu7;cj}YZP*4X zIYMHEVBQ?T=_li@pxR50u3f~jn%JX%RBVvO0d$Nm4T~z}Q9aUTh6hhnSEs5=#xkNH zp-nqL9DXcT{KVkP2Nc$47kGJ9E2dfK8pQy%*tXZTw8ox;)K(KN*y2b-SP2Bs%>8n< za8%|w3Pe-}K=lek!z?_OuMOUTliK0uSiWhq1gCgIpzS0wKDhtst`#mwm73PH`0lYY zDr@sc`Kr5E4M@6Oq89_z?H8g@ynlS&XEiWyeJa@gsKEE3n!YJ6s8GkQ(v5hX{*6R| z{Jhy7K8i&MTf~vKoNp1ylGJux%eJ;(*m?$_+@_S~=NJMBhmSFP**c2*2!V#xW!1+u zSvk7uw+ipn0Ls+7L&S$%4;@hrt{rWi2gf}hzt?E~S&??}6|7*XZcKGCo&`8AW3S?# zfyY>dX=v2v(RA7i;_UNgF~1+}Y*c1SfU~>NH4XKF~<_ldw`dBlM&N-TVJ0~FQ2HS7C`I<{`Mt|F&5w_ZUjZ-GYL zNK`0eXCH^4(InlF#c0UHF2?=ItZ$t2tYO1E+WCPm^MK=OkAG~6^HFg+hL90Jy8zL6 zDSw8Mb*TwZblnPh+Sgf{9YqFMt+G!_xkf3OiY+SB_cituSalAY?>L2~0$S4W^qJ;9 z+iD}$t=_alz(4wC*;$sd2^YPg_BE_o#hXmd^J=2Bwv|Sww3C&$}mDRT1F9ySF`W8S`i}i zy_q7zvW(x3Du~%CJG?+eQYN{e5m2%tsV>V2<-~5_ym#c7R<`!|`QgS2{OUHbSn;ct zef9S25iF&$XrWvE1t7n+AjDZeV0A3MKlG}ASPMEEMCWfqO zxU$4}kh#H#tXm=enEvAz#FJg+9kDB}5pvGtdXVRf9b4+oRz#t!25D%P0#9=~+{qK@@X@j`wa0eN?9o~Q zFoFIlHki&3@+IE3g=VXhGuVvf`{Fh*eI#T&Z1HTtpnDC@gRuo=@NDA%&17^Z(QUr1 z%IGd-eeTz@2&^D!hiit6+wqea4s zUKLP_-=k^q-%!k|0-DUTVS43tKP|(7L(7_C(o3_d8r zVTt!VhV-&aU$X25)?U6sn-q~YV@qN8L)Q%F-wWh=XAWv$giip*H}ox%fQHBJ-*CuC z*#!8Wc&gI#*nJlKN0%V1q*$s|p^iClQ`vsGb?mRKqSn5cs&a@p zaxlK|Po!M{2S~$? zILD)w`>NhIPygAlYDYI+eCbjUd3y|3s6qZjq%8>iQ$T4SukbZo@T^lF7)wZvjOD8Z zKLN{U(9p#HkFvLbs&fCfh7D8@R6;^RT98J%q(d6%E>T+8u#rZQPC>e)yGvRL1wlb- z(;!GAs3@X@zUx6f|9i*xzURAl48|D_5AOXuzg%msIp-Q-4s!yoBeCdlrFtysG<*`} z$F~l_MxlrN#tu|{#<{yGAA?QCko9$JV85;o(r>$`o92u--5?9?p6G#%D2IbFlw;mlB!CTk+(`wmIC|=O1aRTuPMgF-DJGkyKhRFp_v1MlUUjRCk|3 z6wqiauD9z43v7Wi@UM{JHp3&0 z2SknrsI9D=y<{S$dd_!0xeX8ROlT#c@VFBm$*Em2%OSp*og&cj*0Mlm_SQe2j-M2tj|fsyw+aW}}nq za$llMOs(Xqy=-Kc5rn4#v>uJ8i~-=IYLF2l`g^h;Mexir?|{1=tn9Z$_;*|qHf+`E z2OwvJ{Ksfy=wK$1YKOu8hY{z3OU%3%{(i2oDytkMoErOOZtaUL zxO$N{Zk7B}EYn$L_@UclONn#`So zFp{b6DRRF-bxTU5utit<=7SAj-+rE~wH>oR5qtSWkP^>wWzcyiK z^K)zC!w$23kqF*}| zeiJ=0^zSd=Z4QnpgXqi^qY!OY4e`s^&mRMRr*l#;PocCbvX=WerT#D;E_F{wg2%p9 z26Jr!SecBSVe3(RH22p<-_m~5N!x#d~6Scu2_%h)`Q9h7%g3LLZ;(} z_4aG%TldySu6Ak}Z?LR%g%a^BJfuKG;Wt)sf(OKZO$Xs!x*6AZ#O7@#}Z_+3z+kk$8O_luxbKcYY#~GB9jFTF)?T3UUMec$TM5dv93o zI4#|KmS)Am$f@g|>+$UEd6uQHP;vgE=Xn~2gijaqEA<|Pf71i3Vbb#Rm}{1okquMx zw$Z=~&Np*D6B-pAI*qdwBf*e5!qGtFuTzej=!0+-)+2zbkgjdrN^%B*$=kb=cAO%g zo}a8Cw069JzRhXWz-4DDD0RIf8j2Wr8cOM3JR5ONqZLbBgjuW|IU@N(&+dgCLO2{g z8Bb6^iWO>rqIwt1EP_I>Lauf9nO&dlz1$B_!OBo-;!4yt@p!?}xESl?I`On`r=z@| z^NoJqc0eZx4YuB75l3CPD_ zOtzhB`ar6E^$n63i)o$HJQ}l5%ZWtbt}1%mzRw-yH_Fgu>l+77kM`9f8x)7yN1<*Z zvQb*op+6pRiKpeelw2ixYkH!&`)f5Ii1k(*uakKm4qnv|=IN0=|Qm_T-O%txc| z6ZslROi#S4nJy>l5vv3@e{G(-rA4f3v=D=VBZ4^{w>1NeXV40^~be@a$%Jp#8 z&0C3(Duv|jG;>lIL8=8wWUwoFR$ylQ##t-sqq7m=)c!&nkuu7R_Zml%<7CO*)(Y7- zFp8Aqd(_$O19zm`q)mYb)iC)hV!R)6qcUjg{q8>Y)MdJ}&Gv(1j!52x7*<>|)i0tq zqHo0^3L9dIf{Ki9EK*fx9d{p;Tee6{Qr5VfqF>J{wS*{&q(_vBqYi<`|3S@fPg7O0 zS3Fpz3@M0%DB+ZNu}#sQFXU$_^*K6U@!s;tNbVL*vqk~{Sb$FzAHBdkci&{&@Tp^Z zj7(1PqGR<4O}p~$J)?%b^^#3Md(@zI9!>*8u0<_@MPtLR*LF0V$favFk`SYSZ*-G9|gp~kcnt!G;rSJqWb zt-DX5DeYuPv%Il}JTuzh8{NRMBH@;MTxH&d9=)GSAb>!9Up3^5BzGTl6&6O3q)QKA zH$F0~zI6jr^fk56gO)eUV9UKgIeFoYT5|lSUvvOjMAvX`y2Htbezv&(yqj2LsO>z9 zPh0MZ#L0_5=rK`su}1K*$mz>{9__icJgVcxa;*(;w*+2?yM;86{fSD-$8+~)J?<=e zMc>8cIO9XehMax8r{U~-S-6tI$=IRulLbMUTUDzLuI6YeNT>%-e;E+}$fzFNXcT*=cp7 z%SuW;qZ#7)vOnCTh@+-44?%M+L`tHzx{}U~(?j1c-8e?cYyIfit7>JeA@_^~>9`2O z`dFH`J4G9{l(dc}_~LhG1_&8lqu1XPiVg6d;AO*JA*zpi0@=UsL~*NYpghnoz|IB@ zJnhjo4i@L1-Y0ZpS1xTH?H*-&ad|Ur} zpJJOp1c+6)56?*U6$~H-WD=H0p{sPSd}4?W3SGiJ=_P|&>t-Ch)<3D<;AX{K@?8a< zd9Gn05;=bZ(c0cCy2LY-PWLwfdx+Ub$tv~?k#3^iF9cfzvQvEwqw>`^(rX%tp}UNl zr+vU`8z5cPf@*xtwiqb(>IdKU0;nZF%h6rAL7gb)(syGzHudGrhbA9>LZwnZYCEh~ zB(#zkZ4@hr?(b_&GjReqoDY4td^Tl3!6l5KS1mJbK(p~t%zmm_j{u!u62IfjDRZUz zHFCV>?Z_G-j_aY7OHd;;5*muQ7b-9Gk#thh#zZzSomKT+F`v0oUcT73XH6Biy-F)f zDy|h7+c7nNH5!l=jhs6Ks2o+*TgUmzOImMS>TR!V-0!&O3B)~zW6s8L_~xwod|{85 zyKl;)hcf$Rek^BzInGO3a`YsF50oTrfiaN$chS7@g!5T2rYC-YsJZ-3-fTY1zW1R3f(0!WE z7mr?M-DF`K7zDx(Wd7Y6s_*a35u29)r>w0qFq8NmAK?Y0{!)e1UvzxN>}^If85!tl z?wK9#?bMhauIplowM)hyj@aa@dc1i?Oqwl&|K@Sd4^(V`H<1YIg~*>bGZ1>{YZ)94QGy>u47~D=|;=gBu3H{b7y{*=$j_vODNeK z3dRrXDe-pwidb)`@(01_6} z)J}0~2@hcg;&L?5++zcT!|gJ! zzR-Uihx^UFJPq5u zaKb>PI?WYbv06~Sr~Xn>`lVKGzG$MpL+91C1*do2y*ZyTqF;()_sZWh9@zAsGN$k? z>{{g#znd_DrRb9(*Z9E$BAe}|l-KpS{1&|8nOK%HedOoL#KlY*UT&!6T^Ye$H7+cW-+FoRaCLnwD-jT(CoA?Zx^w_N)_KObMyKjuf+0f+4CqCX-iSq zxF`OE%4SPlY7aH{(EO+yY!LZH`O|+RYis1bfUS~gXEl2rInsbmqm;in3Ipo3c z3zbgPc2Ae;tiO2U+0JtGSCE(ewkn{-a6^_GrH#ETktv7sslz0PICugrovHTZy4!2+ z?pty49O4&*S82fcNkdMQ;)r~%{shZ9x>3JkBs_J;U;F5TjW1W)H0 zlghJ4e+761qBR>d3PD2}nP5rmFN9yHaiXPi%=(47n>IG3@Avt9q1S-XIS&^W-|T$X z{;&+ZIP@nVBptb;k`hO(_S^Sngz0EVS^vjFT8vKyc6W#~V7_v)1!Bsz8AxhU33iht z_DaCa-h3o|z6y>~v5j%(_b)wi8mis!f7^PZmF|B_O4U|sZP4e``@J^cuKexk*(Hp~ zxT?;!Q(})WA2%7dt6kt~X2J3XE0`aEo;v`kD54cy2xqZNz))eYnJ)273SW&0R7oLN zu(KI0P21}5eIydCG!+p+&I-VPhrP?8?;h`Zamli&lu0KeBa`;Tf; zy5IuYB95cKX9vb>pDOcrK+B6j(3YU9b_laPbu=yH507Rl`F}A}i-h%x+z@4Yd_!=Z zE2?RFiu{y_Rt&6S6_EiWmj7Q2Sd;6T1u%u{9O@@tg1lLugyQ;-MWW_|?Y>Qj`Z$$* zZ~gXdt&>MS8V%9p|8Opfv5>$V%5@JBcNq-CW&RHOE$&sV;3@JA65}aAzBNC6raU@M zPwdDdAHQ?s|L^0u9)NQGj{Yy;{w7W509E?IG#2k&jEs6!Q*TJ7Hb~FjFL|-5k8$9+)iHP^1kWDP<-;?L>7Do;f zq=t{Yd?r6aAGzJimo|!RcusfeBH4fb-+%eFKYx5A3%(<`I0PJE;)<%$sl@r$Uq;H0 zt{yJ+bnq3#I8mMdx2OH{7{^Ya5piP_OHD?&f2H<7ozld={`M<)N5=Ou#Vl}I6{Ai$ zdHy{P|8M{5{z+sY3$c`Yz#ofMoc`v29f1GOORlHGu(ggkrN><`FHvQQwfNWHRs^Ay z_6gDRD$($-JWGZC%@IiAxi%bvbIJ` zH#c}bL{k4G7jv59UnYLn>-7)_@W!V^#TR<;k}T=?FK+dGY@3MHnzSX~YvnjMP6xjaB!pD54+Z2{mIat(4Na8BoT?ATvU6 zJcAmom5ers`!6D5Ih<$ul|7EWtIzl?zX@FW99h}!GlgA8X)LEZO95F^%20HbsJQQ~ zcJeNw^lfIzwR3$2V_+v{S-Z#(>EI6yoP+P@Q3r3nuu z2&s424eM)>632#X1Kn$>p+^MMPX|Z;mZ7WNdLu`{InoTs-&J6woVq-?{m_WG9_}n4 z6jDurnQ5zdha$!{N}SU=~5cAJ_{^TAo3XOii*d^(oy|+ofdeV-oD4vEXYM7W#)3r z5XW4pVAxwN<&l9!n7`aLBlM{Dx0e)m-KP$eo;(KzhCPI8KA2E~`szo#_E@_Pw@2@S z7m?f04JIqOpOr|t(|w=@@%q{f4}Yt`5xGu>DB^whhM!CV;~_m}6u|D9g=>Ub?hjYw z1CKxUnZW)q;=n%Tv$4aoy}uAlU?^~%x4+G}QjorFR-o8puIW2v$?hIUuJ_Su2_A@A z30Ct*s&%jpX^``3t!i1B5l#=5<0dh|I*Q}5LY@R`|4n#2?Cxk1R+#RQyN!66BeI0GOYwQy>>S~oR=>B`fge0uUKRUhf`{H=ei(Iv$ zmi_9d;X$qL>zR>&gYQ}1z(wLK?-s(%1H+ZS;WMW^|66g#dFa(I`%~6a?}e5XRb-~-kItxotDg_B ziOeZ}hZyQY@U8KdO8r(q-_e#!!l{uOSHvzpAKSQRp?AjmsuUF=8Ng~g8)KX~w^FD- zA=QVE&k8zuPU2A%5oJmXq8HODRdMXwW^KRqT{l+FaXsYPdT8S|=Ry?8)T)+yO)0}N ze%_$m$k^j9$lICAMa4m*`^PqhSsWsnZ63z%KazVXZEHb=0A{6*()K8so#nuJ#OsU}siqeUG%*Hr>j`v+}uFl)9Z<}=CF4v>@dvdyZ)wx`o%>SAh9VywAiRsKwcc?{C>3}H@o59o#K1uO7xr<6E6o%`MUB7xN-X- zxv=@NGVt_BCjBOL<{su-z|qt8U5jw=wqvi zSlM%!?+DBnKY`_sBVa?iFV$4dWQAj~naFhY+Bi6XWFOYY}?SgD!@=@C2 z^G6ly4H~=*{f^$Ef(-JAUcHZ_C5b!04WZ|F^%4>zTaY1H#O5;QX%wsjozfZ{g1-s3 z??|OE6y|7BW$Zm}=0+bZ;`Z(%s%J%hu-YDfKT10VVxTFo5iJAxxqf$XjZQb%%L&_= zUM1jYB`bbk1<*#uYT#R-?HXhDf)P|AF#nr%5vz_fO%uR! zi6bb8M4X>La4cqTJw)p5AO!NWN}mf1VfK1FuD!MI1|D5iD&Ru-JR9k7Ve7Gl`fnYOVLYgJzkjy< zVg!Tp4XEAw8f=qiBB_DHYty7{}rk zfnxS`qyd8Ew}i`OQFEpMo7In*crAS}Qt`|OTbgAmA%-oD^s`V*%7~;Ezy4l}&=HJ1 z@u$G(;F_=#58)|(*8>RTT4F9eSk2ZocIUPq&X3&LoEqE5byFqPWHwf6%J-M_FabKm ztU`=giyS%)_GEiuEJphya0>DS2)U95*`H2Z!1lA|>P<#N2eX_g;ogy}lz4<9NI}vp z4rvQ;h4#jRYTU83nD4>oa42D6B)9%pPMtSCb=OX-6DBMboko_=eXST28754%a)rd? zBR71YEa^!Y#pEA$Bn0@N zoAxCK5aRXN&)Y9=QrjP_srgmI{L|B$q&Goy+yW*YZ1l5pA)Z0s_fhPuhm?J2M?cfw zGkdUoCULaE)OKEInFnb@U@_%N{(_UV1VL{f*OYRB0gm_y)qSCF?~`lBjNHrb7;4Xu zk)rI!4*oK6Z z+KH$#9fgp6pI3}fcri);C^^sStr~d+clI&4cBv&QG<$s{k*mOJ=n=++?TMJpJ?!S~ z18h{$^5IR~0q!TGFbTSdE#9-_x)Fsvq+Z9G5wcB`*_!c+cXLH=dBSfRwbb}CN7k`a zd%v~404}>Wv7_SUQT~Lav3swDED2yR&jw#austcK31uRKhIgF_-sq3Q7y%6nO}b7?Lh$88 z30-lfpPuI!yNxj0EK#g%2K3~k6PNK&!K6zT>`D148#g}2R7Ngcwn?s#*2|s;M*q7v z^u+ayuj&J2BZp$9@{J@NS^I>-IMK47h2xb{SR2hYmu(O~RQ@(ui8X`&0XwS?p_( zDd)sbW`7tpvPFznN6I4_YM)qYEO-P-T1~%A3o0H4+1E<&UCX+UP>r;_9^GIy{n3}J zb@|-L!GnNaLhG(?O?CrSPUi{^jV?Ty+u3Yb3BEo8wFg_%M8~Q~eO&*DepugH=(BTNDRLD^U{xppfX=sR&pA(L}5|Yy0Ggq+$ zWw6Ji+{RnyQNO$!+m@g3JEVvmejPUH&J(_S5IVG!qWC5JsB9bSaU`ooS0b`%G)bcL z_|27%pk!K2O{vmK?{P@7*9Zy%xwUjfIq4CY6bA_Q${LKfBF6K#p7?yz zr`69(!Nl+L>jpa|au~P7+|=-oTqaBwbk5!_P<4pxnE*#`x=YtV_wRPNGbX?Fg&t~& zU)jc5yfh>SoZblJ{pjcYnC36MxHzlDVeR*==84DdjgczEe!ku12Jl0DcS=l?e|AVN z^dOWWFn6y7DZ|MAxKs`iZ#65~g0Cr5jw?gh+HZ2?Wc%*AnqCLj@Yw@v&xC!+XFhY@ zUsPU-8vbl!STNnI#R|CA9K{42H7&b6F4!^xx0Id1+YeM8gLrJLj;V-sABl`yIFf-{>Y}j;X z^~^S(vm`XLo-Ls(^!q^EOA zP`z8Ksp%MZQ8;mswuD>`S3<94H9LGg;M&*)x${}?$8%y zW~g~OwQ|vF9k2XDk50bUGOvUoUq`gZ2|N3FkIo)SbZ;qyD<%-ApO+ue@G!eblb@k= zE++*%QYf0_GE_Q9u3r=cxzp&BQ!lmhRl(b@lis56IymJ*8ar9#rbS#jaC(R@NEROnk*lB#Ki+UH16Z?#Q zdT{{aytIC?og~L!z(R|MGR%+jr_iE%qVW^lqwT~aHbhoka><4vu4H3lIEKK_L(AEk z8;Fi^*&dUc0*(X4_>Gx5JKcgW#Ph{&U^4uQK3X(eSbkPuh6``wtvg^xr#dcTg)qCp z$?*zMr1dXn6IN@_Un>MS` zrpL!{9v%JMQoG-w^DV+7@FF%cCj|5aP3R4sg-cXKtC^kTJQ`)I9VBv}S4qU4f$#hY z5yPD7&;?F~@s1uAW%Me!oUmCge*PNE9X-=R=rF`M`&KB@^2VE6o%nWb=5fSwszoIH zLy9{aTTBG?{1dl`nC=$R&4Z{ft*Cdp^8JCuq=2%}DqqA+Az*Mz%cpxBPPI5>TN;ef z;R=W=HVEw-x0 zIZaK~RDSjmFYt7^1r2jJKRFnnlQQ~;_KNTf>aWAL!^c<$r)NabwdCT03)SoaQ?r&nYw7sdUQCuV1$GvFh+ICvM zM5hdkTFTu4sz?3IdKHFo4iOxef#rI!BFk4fj=Elyvp&u;3uoK!%;!={5Hw--tG=;=rs%5@?c1?O>APj6*b4;A1hRj|4yTWf`Da#?U{;_DjHeI`1MW0)f{(&Bn_lXj8DVYO1N58F(eH39u?ud58fgP zyJz~zr%+F(g}~bCm9y)&oX1#n`h+|aTwP5T-xZDcB6KK(P`T?yZsMVpff9(%!W#H& z-T1zG(A^~Kd@iT8B`3`3Cv=`+xFGsTVmh<*>)oT-DeWNRwg})cP(ojr3=WxW@o<@& z&+WiJF#*Gzu7THf%x|vU)eryp(6v(M5CXMT>o4ST_oUcf?729f>xdHZd9piwx9!JE z0xONEIG*&%C9yM~JD8(UcD*nkjbqX)A|%D#t^Lqy zhWnh{l5jv32E#KTN`%YQHK_mRrUZq!zhJH+t1FUS3*w z_5RNxE^%UlAhR-_$}lL64sPptE{&>Svt!&Z?BYWNVVEj?CDqSx33r2;*;da+uY0oG z3IVT#wH$ z=lB6EaTpUX@mj0r_IvEgOcQOrv1__I)Y2VZpN{V4bq_#eKLdvBHT&_(@o`nb`G8oP zdM@(g9rA=cjP`5pmH|Ux*u|C<##wZ#j2daG5-Mesa|e@wylb_^X9uv=FgfA(()_waK$TD^01fm z^b9`h)nnOj3Qx##6ylnnl01R!YBy++W`5x^cX)X`+HY8`2(=W@m_v@j?J zm#qC!mogt7xAroWo;Jhjgp&s+(gIGM7($!PL12LNT9`w-ib!hKs3dW<gywrX~`9TXKRZ5?zjP$~e1c#-h z6_PZSVXBVx9rV6_0(Je-K6bT{5#Tu*---YE`1%Kw&0P4vAmTd7@q+bGq_8T-H1PtH zcbaE|{;5K{N0M*-E8|CsCC57^g;(Ec6|{Z1_5+-#PSH=9xX+(T7IMkoRhONDI14k{ z@zok?9x4}qg4*qa@>D?v9_<-_RYIOYuC7U{CRMwLG%xUBd@M61R6uBsdwf;cXiz8` zz19XTZK^-71Eg2895Y6bx$*#CQzifXEyZ#FcU;gmOhyoGcUu{HA?QbQ-M9~<8}f{K zSi9sFR=EJ%Op_(6Zn>+RrUipm(pms}+QVz-HiT}Q7gq+Z5Dn<+d6W^=bB(@(Zg(VP zFF4#$aLc7pv?U z{3S>GQ2Drqp$q?>ZtKl1=|q1y2JvLK8HaOx=K|_EEbLU=fCUfd4&MFyzc3hXnY7(1%vs5-gU?f?4KfyA z@Q(ilo3N-qX17FkyyM)%LFaBNCO{E=bN5ZFECQ9&1T`{z_iQA)Jqd9M>$y(R3S%CV z%Vp6zXg7nR2x~zHSxYhnKOoaz4!U(*G(I zloxKaV`m7SP}b?t0XNmU9O9t!R4gzao{Rh2p1iQ>_C)YcwS0qepWsHO$IOBw^oBF1 z;xFyaH)!m4ia0g_C3c^Jc*Fhfl|~5>eK+N1vaq+b_EO{i_-7yS|ZmzrYX?pb-E z@dC9cv0uP5MKM{_0~OjlmQ~n+L8wg7sP5CO;wv|>nOH`>Zl!%p)v?9bcX(Uhcl=w+ z#VktJL=(}BbH_1bIWBzqQN&qB(W?CsYDAks%=avmM6jZ7u?BRVHtH%#U%!6YWU!CJ)|z;0wp zHGf>7R3zZ)yz6jHmNGc#xQ8luLQ(e>C^?)wwe=IIhB*r9T)`H;-oN)N)PU6yCKsvh z!W?q!dx#eve|HJ#?Wlcc&bJKLus+dJfepr>?KMI5nj6_W!T;~QgU?`}=bbEdS^yf%7SQ)mcqr!t)meQ?9VrHT8IMw+WFc*Zu(8Tv z0h`ds#PfXe24Q8|Gn9P|VLjNX&MVIqyyWZM6I>VCY6}gb%~#Zt@0B&~?u{(i5@0uH zwN6if7*`fFJPEN%8yH7K0&vRor%sO51o!4Pi&StWjydbRAU$rl~&e+@e?K&G{~z+Pw33!f_Run(ipw-`QF9R!OjwWgg3U%=3O&rkS=k zeVj0w**TB;&zh%sU=PVtZxE}rN;0f|vrGgXuLXs{%5ggxDscV0{{0 z8gdkv>PqbZ6yBP3wKUmSxWzyBb9U~f!(26FY?M{vEoHABjSbI+oAgL?CF5m{_ey^M zgo|rL5H4QV3`#l<;bOZwno91I@vD(5*33pwbMrs_WDM!R0}anzT2!l^qCX=H$tCd6 ziKNn*WNOH1;36-8_NiIziH6ZvSj{)!)FsZ19;@UyzwmgZ+L6p+uNwl490t#LRoRf8 zvdaE=+a9GJO=qNE7YcX+@oC?nk&p23`KB`f6?H2N?Eduv5CO-TNw`#KfO&6GiXLxS znQC)bXk%YQ{HsQQ7K`vnUGPE|wlo zBOO0&!)qHNp8AF|M$RDcmhl2Yx1=& zJXk|#gU)6Z0ldL@`Q3S1me92}7Foej4to!ML^6&9&kFnBHe37AQ%EBvo?<#{#SXTB zGH5}Ciy69kE~lGo?`o0N43`m9Do^DUYNbL+%G?DCyVdhS z6nokC2_7K@H?wrUB*(5kko_@#FVPuB_vEoFkY-7b2UONU^I1VDu3r2KZ5Fd;^BKUC z80j@NGS*~_cPV$DCIpsc$5{eaoyyZYqQY~)VbY=p?Ri$v*P4DuBye@SwqE#RfrhK2 zLR!PE^Y>V=adlp@B#nBBhHcG3e2!wlDk;+ zbH-;zH+HKEBp}mXFKhi)3vbF-%zp;fOpxwLBVG>5ohg33S*{$IKyan z7Bs9F=Urp<8qK~A5+}Gch9k`k8c}(a&Rqn=WzBHJ#H3eqh}(ObgsDf#stS54$3uQP z=$yjV9j0C`&vfTyL8zN_oJbYyp#??pfA-J>j7R)A-Jq0f$R3hF+nKiuV0b;@X7yJa zp={riO3E*W%3(@Q9iK%X?z{UZ&pYLZeQq+}2PIDo$hqXvZr_GU>cO8E_fAtg`1Oz8 zYXyyM5Aab|T*8|zv&};^tPn+FD0x0%1S__AaS!zSN(fjI)}pf?Ezup&7cYZu>5fkQ zoLDlYURd)_p;vpGrJgRXouhUQlDfLduHy4E+MC<5#EBG3YWe(FO4MHI*^du0+yIh( zFLw)TIqdUT(Ff7kEI*EAGdw3d4@rCc@<$@%6c0v+NS2VIp|Or!oFGvZ4Hw@k}FJsFOC9oGd}T}rh;pB z=BrQ03ZU?8NJ_KFZ0WiH{U#LU(%etFL&bLy(%dh?FD9>prg^Et@6hg*kitg#y;*&( z^%r(Ym$zY4eG=B5al=pzAJYjqZ?4&a0r+4Gd&O364+>;U;3urcyL}t_EW5~A711;K z?X5AbB!|&?f}a9%@GcEQEj0T!)g7PLxx++>SR})=8{3`vM>**0#hl$Z?4;5PQseP! zM-hqIRor}%2xJBIO#b@~B^mFTcAWdxLRV-z)2}%KUYbFnkH&`B*`ZA@l{5m%fQGKg z)p2^5GtV3ZoK;9CWJbwA9CGlDAj=A@y9<@~=-7>DkcjGs18S-qoGBV`-W5C7M(>ec zK%FU#7Ld?NKUh^RpTIP2FDn^e4?K2ikh_TXSEePI-BWj!du5k+Zd(Uhee@WuM6!7@ zVmNQ&Dops3yh7*(zk=Jm{P_zi%d7Mv*I({hps8N2ADFI0OGAiM|htlN3Hc@Z0Hv<}~O za%Ts44^pSkk!xv`s)#<7B;Y+7#tRE^iC*d^sx^=_&HlfWCdlgr)o1ny1uen1A93yI zgEIfgljBedPYYb;w&<&)_B+r(Otz5t)R<}IDYNPQddC@qDDj`}P@?v_xt2EJ_v*eJ`6M zJ$?>0l$$kvcD|X`j;(_ z`gd4LW<^Ap1_KuAW!=D9>VqhG5o9lBypuZ&ZZWpX-FLK>wqFgF@W;!_dkK?>kX|zH}y{Z4K3MA#Qrwn z*~&F$Yo^28EfN1nID1^(8EA(H!@mt_v)^ zl~5S$gErbsa|-eTG`ZB*Jwq%n)_3XO8Tf|6v$??CyFVC~+V7sYK;>T)2$8JrSmPEc zIsoZ{eTgxAEfg9iu9c4Iuh6y!g>Ii5te*F{DkXGU2ijn#@K`a*1)aGRKoYTzIOYvw70~8zr^X7j@(LO!n`JFh+|q?fE9z@H>VIbSK9dng+f6pFNB8&_VWsr z7mnLOiTd78E{k(i;=A#jnn-%SMyJl9`6jRHID&fh)4EPuDk@Y+GK^F_bI3n7#Is8po-^7!AXFR~}~9RqHt zGvil(I<*V8kj6^hWMEknMP%ax)$7V1PtdZxUcfdqpKs{?WOWG4r?i-R<%R~&u22Mh zH@K8jL__(Kuk>WV&Q-3PeSB>06{(IZfJMgvW3F+Q@Rt={`^pal zpE#KVM5=-hA(o|mL83BBU_G;go=M5H8PQN~+0A*xryWI{XB6GRW+#4S>YVv5U=|$< zJ(m9oF`?uh&u$u&K?vvYprpk*FKjyRNqZ6~0Lz5CJ11r|KN6GR-B2Y7eyYKh-X1Kb(h+4nRe7i<6)6n?LESgV|gu`f6 zSm+tqi)&!9@Pxt*>~!d$p)IF#^ag$xfI;QX`6>|#EZgnT$__Fj zE}GA>wr{UEEUf)hzVr> z*lJ(>>Ppn}z`7JJzC_121QmX0is4^AfZd&EQXVC%=SbY0Rs;a&WX@xn*EEq_btVZ3 z@}2m@qTt;njcD%AsO|)N$rZ53h?PDgzSY$4=F}-{9X|;?O}%Q>Q*9RDg*!~Y5~%pz ztnp7c}Y7Cg}3kmdOKWon5+$DaH1VB>zx5p zsaGDq8kJ*zrZ9{9FWlZk_S|wc(m2`(nqf?eKJYw~KV@8fD|93M*(H31oVHmoJijBR zclT?ya`NU*#Z>>7#?cquNBN*}cTb$*<;~MGtrP#o7r20bj>pvk{b77?t+cb22LhLP z2qFbF8xckLWZ?VvrbU8x?jILM@sFFGY*(N@X!1+)#~Q}9P{AqHd|3Awjw!nzAS|Sc zxw>V18pjY}8xrwjwmV3dLWnR<9a;|+o`CXCP;=GXRhFG>i`oMqocbXs>lfr){t%-^ zdmC{G)5S|##vi8gJhzdSm6IlS!h`U6&BHnagF0L7r~EXt@yyRi*z{=h#6N*@$mORi zHRs}`UEAjR&84KiX2{U`gD>~+xSv_L@R2$q;03kZsb?_w{bx?$KP`Usy=7ICsDm0q z((yI2{Kcj8t&GmOMJ$%GijDkr;I*vus`4d^zWkA4Q%uRK*qCwG_S5=5yO-e+Cv4jv z+bg5=2z7?wVynJ1jly`-VyseHl(ZdPZwMA4;yhvmF?8D?9f*SxfZWEA(aZkHLi9H~ zL*j%GzJyO6AV&S&jNdD<=wI5rpuJxdGm2LFaa`4TD4Lt`FJ=KyuYxLEJt#NPVH)_} z)8=1p79lC>*_TEq+l9@NI);!=!U&l3dZWwXFHClvkW2L#J%@Z0<<*__(J#jPApCT> zedm)9>L0xQ2z4)x07!&I>8))m)mg*QlGeqqn~#52iK-~fWlJeJOF&M*CX7UGN-oEaRVWe zh}?l33I$a4{pp5(V%ehs9Yro@zI6JdO22*{T7mW5w(MmKgbMmRijJCi>o@rW{wu@i zw6|8E1ngHU;1+Dd{y>61LKTM=Ake=8&u~`Y!`*$A$E23=A!30=NaD9XPZ_iBOP#g0B(1L0p%G=T( zK&hz@;&oaG9N%6pp#RTD$I)k=H8lAJ#>_EbMbis}N?KeJHm9F7uE6+x{o~=Iz-NGT zd8w65nY4K~;!*G`gGrI;%FA>AeRSNA(Gd$QS^Np3b3+RA)C9O0_N=QhjN~hAHfOI2BBMs8{ze{(VbMM*r{A29FU^_n6x7J)U-gx5g zL07``f|<0A4UU%p{zLrtyl7)0-ENu0_TaLF$I`RHEeG(9Qe=SG0akO5@1UPLCd+&3p; z3Nqn^b4dA(@yCIX*Pku6-%H*Pmc04hcIJ9KEbV*AAMQPM1s4&PN@#@~$#Ga+_)O^q zG+XV{ALaG@7Ul+H+`*q-foc1vSKOTkkX-K>bwn|(8JtG`37`oVdxTnSJqWY{dME=$ z01rTkoY(p~IJo6feDQnQfz*A0wfFL1dqL3RNeGpoIz%UNnu%l_f6oDUd?Mtw(%z_r zv_jGxVsd6u1oO@9Gkrf1f1!723j#~mSIqcQ`hR6N;$Nsu#sU++pRvAtP>oE=L1}{SiuKmk4{JZJ) zZ$G{IVKb1yVK~4xQ>FXkWqju8#kQ1hLvS78i(1+ThMQ2*gZ{<@=E20`&D z_>hAT)5VkB{V!KVLc+uNgSN?v0n^<;20P&Y7M6{P#=! z>+SyQFVA8CRme&rFe>#7-~>z!`~Nn7|Miop}lEb^l(qzh*N0ZyHj;NFsKhM^1py4HvWjGDKjz?#C)i==}xb z8uSel@xuPg6N|ATYZ5z0=ltFsgFGz4i1PpT#t=O1JzBA3>pu{f#Q*J%ppV6xpc-J4 zhdev(dEWp1kpK2CU~vHl(8wG1!4Os0{-1J|{WV$s^Dp7&Va{nP8OH(huQ*yj1?|qC zb)bKE6hGufp4?SWAjmAfm$1}Tef8gF&qY)q7|{Z?G8XWh9e|HDhKAQwwoZ%xF&XG- zV1&Aa1Ijg=yX!0VB8v=m?I3q45b-w)L zc~ja@0}m(JZ`i%GS?{rZXjVExEyH#&xl?&#Zm(XeT*Upb4MZT-0t^ne=4_#x+6iIx z%6Nr13cZpgiW>;toRGQx9{iiAf&JF76dt)4_k{oPhV%d|Fk39FEt9~Su+LU)J128#cLsfHDR}gx zI15Z!Zb0}zP5M1wBc55!$ z3Nx8{dC89SVBEqu%V~YG7Zi|IS8*@hXo`A(nsA-X3_BGtol7AD+w8IReLq4 z7i#*FhRMK6Ra03yU@>nN?I72N@bo2wdUdEIS#;OMRa9{y6JR|sbOk$Z@1oLQC#upa zG7*Y?*tajA{xGZevmdch)!PV)xgI_CI`KNT=g$HL5OyimaocQuhb1DvI}8Pl?{bnA zU>qA}ahQuO}!x-ao<}G+FJ-3j6x)+AtU(7(+YohH*#Kr^iXVVV?-LQRu(oe{~JL z^ym2;Nl;um0gFcS>DKi|*z+%;ogU5QR?a9Ibh>#kHxQ4!Rr6Idq`dnK^&Oqk=k=5P zxO);6RNB1JYe{7!>lztF3v5xIr*-p#Tf{7R(&MgN(CK+Me8Pg7kzqzc}pX55* z4y9-5)1(QrpTlqvPk(Fw{ff91KD0QV^D7|lj*_f&$I_lx&3%Q;h))YybUG1KvXXZg zS|U*I(6FEk98Y!!YL@zrd8~xISy&s}&zw2hNjSK%?1yJG*D;kl$5T*?Hz=AfPcD_; zfw3Wc-x#xF?Dxjcq41#$zJ&Fg<}*?`7;|+(^XMei&%~Zs+R<|%=E4b7vXFz+uoKdF zF{0)k)Kbr#T1<4~YIDW>T!xN_ud<- zTTNS+-jx_J{I=^}&OP_O@`lq#!q*f|y$l}?rK^N4kz=9~e061eeqjOzA9?*Wm(OY= zYiK5e!hHddtT8Sd13H^o#l|9{#M6P_HJEQPb0SMmlOTJ3&qMta85`ys@n^eXT#Pp^ z5Hc#l&29xR`uuUY1tL(`2$eklZ!++vXYSiIzlP~}tmez|?qLo_P7@y-Qbv*~ucnSP zIUiQghohYx6zxrE0BQc#kVDIgDJfk%Cz_iJS5w^a!W+d?zw z-VlC+tv{UD%iLq#q&avxQj8o`%D`7989I=e1(9?l0Ak1 zyc1wxSE1AI;4#5s{9scLFowq9r4R{t`8(fQLXuY4HHyU$%rwORmF#TRiM@xV%EKKm zrOAd;jtLwUMq3dVIx~PrUe_-BbRa9}#w(N{7-RXFnyp&MBZ8f0%FWIU+PlBvJ?Jua zz#_iRD2-IIjtyPgBX@@UH6c7V2Bkpz!XS%pRHe?Fh6`1|V~#~SOCC^Om3#Yj1gb9? zT#qMp9(5%$z4kcFIfgVVbtwOSQ8J>Z{0@YI1>L}!@ZkZ_FK=}-IrYRiqc-=c9T3>N z4^e%GOpzJHsq7|QM2|OoJ|zolBZ!G>Q&p#O$7sUuUdA8Fn8g3$qz-OhoOTm%@bih*)UY(9JE#zR7kjx0_eCSRw76>8mQ zWl>p^d;?pKy1O)EQ%7wV#pk5e*DJNU0wn94`W1WdyhL~I>QnDVLaT`1!J@zDi(+KV z$Z)bm(gg?Al50Jg;=+Z5lyIq#1Uc2B4#>Dh-vrTYZI-snSP zjx_6HKe6za14LF=P+a`F*yU#Gtrvw?Ji+t}Dq~F*u_R*xF_xXwZ@nJb->P<8eFKDs zcVIEgZ>V0`nWB7%z!E(dKMc;r+Zue`hbG@u*Y9rwkTXVszY1`+sLB4gN6?3BhmI+M zAbT93Gwbxg3JijJ=fx5%6(=I?@+hEdMI;yF-Hmv?r>{vc3 z%ZC5U&w5Owdw9$|Sa>hX7RE*rzL7ARJ* z$I@m;%g)efc)cPxgQCL@eT%q5uTF*`owQWi& zR=BuFkD=rF^Jr=gsV^oG{+!n=l-Q8GjA*KtQZd*(&IQtaPDuZ1PpX7I720kHB+z4* zxG(dD?z|3u*6#KcT48*8x&Xz+3EY3e_Fl zO`)sZlaHeI1k->ypptYM&3b-sD*AFUO@#d?Jk!e2Fm{DCXenOewN4Dv2_j*Agatp;2VLcE;xmpd1I8prX&;*y;rqJT_8;vD*~(<3@tajJPh9 zq^T47(3gqY3(D~ztJCXsr(?3r=zN)Kj2uBXiucJe^`z;Sf(IUO-fgz_!Qlx9-QZ3j zRA*w}h@_DEs!xAQOVxFb$#SHr(f`=%!ZTbYd*3v=2>&I4rF35l3FIAK!Mb_Tg9eMz z?i1%bsJLc1RzhoBD6-fOZ3-aZ>%m+FvorXKh~NM}75!WTX5N1K!^=tQ1~|%YNl&3O zH}n84o#=@|T!puSJJ-(U$}85*C*LmaSX3Q9?-fH(bw*I~=<0VB-yE#`M#T%Hgvd~` zq$!$mp-zX{PQ;Qte(eUMhs{JEQ5j%!TEqrmFXIYDz~5tT^GV`dlzz6 z^?_+@svSgReEV%9(o6+*n!zl^O;~Lmu2X6UXD`QPlFST(ti@d~7TeH*@rUCJ41vXd z%Cp&x27%>#$Q$Ud57)b=>c{$N+zwKP*yqodU6w_p9wScGZ%umJ)2T9AgxB52#&9wx zk0hPzA2Cc^gDM9E7Ftqp&^Dt71!8C7G;xfUT(@q&ki18?$LzG06=37I_H_E91JC^fwL14m}OqlQII%5TssL0I7u3n}MMr^1K zu(8>*XTrEKK}US~4hl!pdHclaAT=)YbgmgFY-+hcnzfSl2-z*)SjMr5j(5gdq@*Q^ zC(CO+{@BJET-a!DVZ*v^E1c{6EcBL8kp?N=64@hwvWTy{ua|P}ZUUgEMq#|`nb_q6 zF7rvX$Gimu+GRtcTg;00CI>3kS5ur;Fc6TkkwK@CaNCbPk*$FCt;WuC>yNN>MnqHZ zzK-QEz@DR6CS3fWXehb(^Mf#5eeOJQ*^{53qk)@PD=vJ0qV@2jsdRb)ar2hBwB(C~ zyP{=f6ms=@wR24S)i)#Ktf$a2YL`67*zxN0yj2*g1pNvY^A~SQqudpIZX0Y{7~68l zvPg!#{Hf{wG?{v6sA9gVFYeX+058&@qpSp6Hic$fc67B&`}8M01W0rtxT5I>(^esi zV_s+q46u?)?TSfWbZwOG0vP&@AWKe+zW4~4o)0bi?e5t$VM<6Xo zatI8++LqPUZGGCrPA*#I5E=-D)hJQ#-o_F^lACp)(s)kV)o}6%@TvpxN2h?SaUgjr zMah}uT`trZB?gZ*(H$gQyjWuqO!%}gr@IBH5jdrkbF{dYBLyN%@8Z6;8meXIVpNkC!oQxi4$5!u~xC}viFJoJD(+8D{5+^y#vx7dan zr7m_Q3y--tN$~kOqZ(lQ+c#BH2StBlX@?5*xF*Yam%-ID3bMna(DqC+d(pr*bA>{# zTcR^mO!t7uA`j65N#*t5D;}N9K5xL%y~V{Pj^&{=B)&eWqGr%(FWff2Co&w*CaQM% z`8h!vaa#Ah9T!YsZp@LMsx?YK2ki&a9Z5G>_g$?Y$Z(!VJkVvi^;4SP06UE&({AX} z=x`hl)jA4Bs{u8ID4?vmMr*2`sFl}1ASJXlS^jn+ywz2YRdL&VYI#fI@(BksUQ^II z>4W9lcIm~$As5}}?m zDP@q?{ipQyqy3I6y@ zJqMxyv*}s7ru?Gy6&DheDmr)sT}38_8;#w#_~?vgz@0bbnY$9k8=y3^C7+aaxV@JC zu?A`?f>hAgMYv$+b^vbt18v&!8;j&0bmyE4v=xTF&#bxV8a|MQF=9Jps@p4XdQSV1 zQbypN+WZ7iST(quvUEKs#c0A`ukq)Y?@D4p#7mNHl01_-2-`a&m64rP1KYtXRi5f= zKs@FZnVb^pz}q{lvUnK6nxF1Z09X|#1p5HJ6{=8-W&i0@I#2yoo`H=`X(+Hhx;3(yUa616y9y*&;L-Efjrw zqQQV?PtwWj?ld&KUi=EpU$s4fnN7=pk}5|XKi6fNGCyjEv!Fm&%ky^7j| z`Ih#UbjDud{DDRQ%FIi1{PMSCI{?DUyBt^(_JxKKj~0I^UpZYWR6jSA=K=JHRO=Mt zIK-V^4dPg|p3Jd(GV%LYE`PZ*IA>Ry78EEd#aNZzMU#(=%mH<`*APw3^vcaWN+CRF zHl4l@-FPmuNJMI`kTlEdyH)=@aaa|`$&}QvU83>9bc@6gS<|Q-nJ_wM3-@dh$RJK0 zyd%bmqN)DsjZJx0S~xU9Z{NEtaYU)`%In43>GW5+J0>18v^LghNImu97kFyAbg`KB zbxd`h7E#$2n__3i-H1@6p?)IPUj;3bSpe^0)Yb|uiU;f0^o=#Egpz`TY3chN*#O9| z%dSkv_ZG--Pd?`;ho#N4SxoDx|Cu-VU4xoU?)i`sl@pge=n>s>?)gpw zWmaR68{V1f_gGH%U-ess-xB-SimfY=ZU?sZBD#xwc9N`7KbMEH_R&#!K^}eGdrkfox&xC+FHmSM-3xt(&_RRv($h=Rfny=EoOS$z_Ezi{>Gh!F{Q$X z{rRuhZKgC#DXB|_4V~2yoaV<8dtHgcX_pVCj#@mZmTg&cYu9BBI$I6{aOTV^xtJO@ z`KWgG`PgOR37!w8tf zW7LK_s)YmGa^Ylnhove~?N4C2sP}OvXzs#Fvm+=gG*O6jHNK_ktfnF+DykW`GUuH= zm@MBsF>JK!+>;ehyy{nA&vzp#7|QOb5Dq?=PfSHpt%ap3TLX0Dh>*Erv4Xs*X-nU zg%BfIp_)A-iGx&&l&9aGuYw&BUwWz9UW)tk6Y~H~BHDo%TdI}huZ_e5;p?2WudVze z9Pks~UcH$VX6JBtm4~s3hqeeeCR(^X(X6a9PQ-F zc4v5NlIGBRaYJz*5brEbs4t$y}o zyvpU}I%(|fEj=vl_K{6FABd%+147tWVQH;yKMzEoSCa}b){&*NG;K#iyNm;^RCLXY-%B;Yfcpj4y=sE2DnRon&4;PeMQRRo#p6m~wp~5MY zBrcO{Z47zMIwxI;#ymLs6l`b4O{EY07*TE7EaF=5*ZVl$r|L)_7bj;rk<0RSk(E9L z{B(8oae*>Q*=(QfzQde7kyoWog>ops_$-+e(~IAJR_w=p>h=s>d<9^mVGh_XgFcoy zp3Yt)>K-ZQ-T_u8^h0U;)dc7C<+02UyN@X~McLVQAZlLiM2Kid5wWgyM+vuw-=zxQ zR~SY)cO6~X8cQwK=P1wh^vU(bMh2)PS&v&Clx9qX@3~Hu?FHd<7rc@_@KAnndn)Vi zW*eUy1~>i%C9w0 zRKWAfwjHIUzGe5tXJ`3dzZN@ye|pH3HKShWV4f^mRH25QI3rb=Bg$nL8*us(M~xXp<>>6%DI3+H24GpXM!8 z9K}h!1$+Tiyn+ZsD%4dZBryA)AMUar*Ah+duYV3D4USkyzpz$bD1N? z(h(55_x+K!2#!R-N_d{SL1)Ys*L7h_ev(q3%eP2SS!-Nb-U_WC$GVP(B%^50*-FqE zN|9ui`HYJS7Xj`Hzy<7^P)C zw_f}3vq3a^=*pw+w;5D(A@w+8|N2H)V?_@XqV0U`EM`i4O$v0Wvb|IU5A2Wy%xXG!3AV@`2>vi2p~ zQoiKFTf^`C0&ot_spc(`pWl!C2~`or#286f-|f^drnB4(m3%PL_?kBJane|li3gZ3 z9W3L>mWTF2tu;wGc#?@^AW)P%4PUNU!!CTux4?FVyoI=ID-eBcBy;OZwii}1nS5fC zz1^f@{0+$j>WK|2#-WLducQ{fwA8t(pP!x}Nvrq55&(`dK6g*rRXngnDVyu#cvVUV zr1oV04C%?%G{>HYx#AdF(fKDUlNOV^G}_D5Y+-cK)Qiu?0c$b`goi!_oYhIyQY;-8 zA$B&^<7Hpg{sPW{n}ZbHy_TlkKvxIG(gjEz5->g@%>L`7DapZjcQ$Er!1YGj<(se7 zC)6|#q0Ga(@51nKIjx-e-$QAt@sAD1sqtS8w0TYes{ z6geE(@W=%tBM;k*X_u8-e4sMR-Gc02+YZy-^)Bp=JS3$Nd(%Ez%(#EaBvIKm9yIkd zlr9zZZ=`+%cnhF{d_CRHe0`<0*%})Y_f6!JngO;diQ&`gVuuyD376(`dseE*@v1J6 zTLi2vZ>Pec9?d{@O9zsj{5X&GJR9s+w`6w%PW~YF>-c_^%o9N=oA0CP{XO_-8Is9s zu*(2Ce_8H*vVY3l_l_5paK(d@=rrl#7yzF3U z$~(LzehVC#p+Wqd z^WJb^FDA+T;SQF|Uk!f^Z;Uoxr~FvT6x0>R4?4zNh2*Zk&(PUx8Jdt92dFNeCU68E zWc5rDv#7U$wf>8dX@9!fMeV%v9QTyj&2h!>)W|L)5 zhYCo{u`=dSNq4j9)rp-P)BLNN8+_Ks9PSrT(FT+Xr#rvPtfu(jMgmMC3e^ts#tvu! zuZ;I)?>{uZ;C7en(N*69t{E@a;+*4R@nP79@jCR#%tDSqpx+5;wE5ITS3Ja;gR@r! z!P|X7$749#M@x!QwxCKZ^LzZv$!FhE!;ak7C<3Q`q#w*yr#}Wzxn!$RUSgM&DjezD zY;Sf*QCPjXTsX$wfx!kkI0DY~k7pSyM|zWiYi|y{d&j}&(4px7Xxy4S%C)eup3p7H zVahHYG*g-^Rzk7tOcf*^xH! zGw{||vDXq@%9p>_z9VAeR{)7khs#2eN$@!mw{=;AT0!(Ya^#vNw=w);P2F`BKsA(s*WQLGYM#KSg2sATPU6$W< zuk3;EPDK6j9J{yK3-1dnhq^F~o^O*t0;@Rv-`guw6`J*?R<%7{9X|ChUIpz0G^4z==oc zLj}75|MFL1r#PFlR;3@WVzr?U&_kEuTGzVR6`0g|t!`ZWRnuvs7QYU5(f2O# zSZYXWeghOVp9>`>u@D+P_wQUa~PbhTNxQ%ny^NPI!IsW0lCR`bW(tHrIR zlrS0^65aA{~Z*+WA~TAfe=Vv*HE)!=RPXI*7{tYbCYRXw5K={l9UhrQ*8(`^-b ztjV$-TVV<9CmDr4yL-L3MxD@LLaDZsS)0Ar9Gka(BnnNa|GA66U%~3%zXeB+%}P+9+2*3 zPjt`=sWOPYScWV3o#SIeYOZ+Av*&>8B`mZ23PDo^6zq+`YktG{tlW|*H5 z;nZE|(^N5#-OCt30)M~c_lruUw4RImb4!EOPLEA&thjM6UQ@7VPRVs0Jwp1_vLs}u zKte+8Cdiz;W4>Rt4D@$4O>NWf!*4^Yd3CgzPs^IlSz0oSZds>z2e8fw%tU4yP5M=@5vIuA}&j_Nh?bH6&szI(9+llnJzWeZ+;8aO03LIL|N@e zi7n`5EfnOi>y}0g^1b>sgf~2W3qJZ6RRii=Cz3o)2ERd^va$ajSgGL%F@VI=7ytdI z(%jDGW6__&x<}U>yn1ec#MfP129k3u-YEf7z1=M3I=*p2?nT&7kg zfbRJ3fs>L?s5y~bE&d7dXJQ%YsNS%GAyTY)x}I=dG_r1?_z}Gnh0{`RM&@}|?$-%! zy5klLzlKj%d$>Umlltxz)>O}#L7e1}#3$yk-&@~RPGtPFeEPFICA!1Np z4n{p=IO|G@0KLS~tIQF_-$akYr5BmE8Vxtd3Nk`9ZfB8hy<>hg`s>)ggPqWUM?s!_ zwR4wo-F??3$B5b?95#{y`sYwU?SRNidqx4>6*KNrmcedVwlAz%xj|7l_|r2(SWnX& zhadKnG_lI5#@+tfk%!FKDWd~|J>dYJn^LAoZ;`0v)@23NZtS%1tYW{Fg^6TY0Ko%J zY&+HD{iDxMEFAnr7{(Wn_;(@GdbkJrJ5hUee}zutLJ@m*D=m#joqIvCQae@vDbW04 z5(*W_^No0fW>3(hUh88O+4`e#-)6nw;D8fNsuo#8k}*>cL@hp5G?(s1*x>3}A>=4n zPVDr+ziF={fiKs$HBVq)RMA?pEj|3y9R0F$$}!+1SjB_5^Lr}m0oxY&F!$VG3g2$O zs{4UTtm2o07YaQUXw%b$)oWXRVH}s8zn*mgIj0#k(spR3Tv4INalIvdcChcuh&=BE zJ(A$ADVbYW$*`eNgELhy*b4k`@XjQD3Pt6_<4iPD+2*Mj=VxK^a{)LwYA@%WR_>hw zTa+p86VHIdHPEA+HnAY)##)#bF1H{UMayw;5*Xcm;S0EYKU1qU9&9C1Mrs^>bXffYb~pi zFH&7Q_p+<6;Gt@k7Nio}zgC`j@1ctyR^wMtGiC=+f;%kvCqYNbR-fWHyR@2etE*l+ z3Ce^hLO@$WVd=a+w&P*5eS5OIfCBG$>trT_z%!vi-R+Uk6?8zrHKeZ0-)y-QSGEF5 zMKOS1M?)({GSgoY5CR{#gNq?>DmMa_i(^va6r)~KnxS8p7gTcwo!A^B<-!(mPz{_G zd&Cj5rrTF+$BVtmWi=s}+~9~7Z4ih71{K@$fG!9o#XstWd(mcQ2`p!)yXi?OyyCj6 z#DjRqIOSST(7g@_rxIc}pKLZwLO?@HH8}j-Uua=tN_%eNOc<94GBTsw{l#6xs3Wkr zc;Ax&6ite);;VP$2C&CgDq1hOjHXFqXI+q5s2`%4O&d=_1SCdA$}(mi%L<)o&fIGB zM`MnQV;<_P-FsWH4;3bMP%c+wp6LN-9XmvtjjV&0MD+RQ;~vUL@eaB?ukcy`HEZ@L zNER|@gP{|rD-}$pJfjfMff3j7YkfH(%Y^S$E^;JD$x~>b7!Me{hCWQ@o=ESw+JW+# zZ~z_~$E_f5bz?uL0$woixaR{!kQoD^8v_+R*V2KKY*a0e>!wM%4dq5P2pIUE}f ziwNZwgiSZx9sF_W?I|Ch9!2Ru0B`GKh&9jj!oT~ zlnD{DCOVaU_%9?UBUck=PCQW=ek*Kt9n|Y|>TiEXt3F%g1fM5VBO zPT4Vq@}vDrgS6VGbRD>Fusb3FW$B-pQApsu0RrT-h&7aYxJnVaGB(Nt#6jtoZOOkv z$gcB3kkay3dPy3|Iv2nOcDgMTUKWj&n|Mdf)nq|rt~h#b>FL64-W|;Qya$ugBf%v$ zML|pD99E`@CVl(|d!8D7XOoV=2FfWZQ7<^R!M-J$9QEcC>>C%a-0~@WP_UM{Wmb78 zO;qOs#;N)5pr@mfEOj@QZvVxoK^Pu7rxwLc?5Gu*uJp@BW3Hl$@nXpwo5_t&O`Lht zlf1ZaZ-n+>(WN_e&$zV1iIp@zlANbDJPMdAq^<)@>;%(`I41%cdMvq1%N=|}w*{Ha zDdi9P-nOOx*;+_AbrCLitFK@R?}Fs>&o&ztdaweGeOrF@T9sB9xWUAL87;rw_mouM z(Cj3~(RSY56xW%>FX>6_MVrQ2DhAjFtI)x=1+YOSpinlAS?7~lWvNujmhurAuz=vA z@7nO&^rCd^K9)zcmZ|AN9i|uLw27qS8c*ih8`VzZ!2bZTtg4!|A9tK|F_Bin*y1qm zAcBH{6DkU`0AGY6s9xy35V{Da|8VYTE1T*=iV=26PO!UGhu)%+9Jwm=JYfMV+e(WtvU> zOEv>Tf;Z9D!f)i)xyi<>-GQe~o}Jm@5Y>wB?ehsCf6|!KzWz3Hn?FS0&hWOs$s@2= zu*t+|dY?B63QA0IU3rAsR;2@pIij1Aw&AJiL|3Xzmk2nb6*~t+)5aqdhHr_qTtGAM zuR1GImeY?MvrLLC#*fAhlm)+YdZS!n>WE)@8g8}jt~w{(OeWL&flUkbxSW?0iT!|U_&@x@) z+#~hAImm$!q>Og%>aTK{ABwd5a)M*l3EdhHM1lq;ibVC0QhZ5b>|dl zR<&g*FH_H1OJB2$7DR825RFjm<9NA?N72#86*odARf&7VcQ620yOzDW7h6{rg|oJv zY?Gg7jlC^UZwBh>7}_+E(nx!@Hv?aU3(Gvq`J|CL)6@g-LN#3x<=X(U3r(R7<0+*8 zTdur0v#5+K9IgmrR6SNjITNQJHZ=*7zzY-5Sf-xEAK2LCs$o|y9I$Iy9@p#A5Waep?S;lv1)0YeRvEJrTylgfX2K8Xs?qp&28qh&}U~)qH zI{guP_szl9TLGqOKBkDYdRv1ZwtJR7*XNDtMtAFB#PSpZ%ep4v+;f?Ew-!dg?39u( zGDSy2*;nKNnae!h12@Yj63HL?Gm`|JLU*DKD*2>Ah#XhS(0~Ztw~JAaFL$V=KVHLW z5&kk*%{qs8q6W!bCFbIt4h&S!4H&;vuS}k;4O=+3jv{B1mQd9f@^D-)>NVmf!K_+S zIiy~HY(Fsp@tb#*#{tD_F|C7=$U|w3d@BMZMF6BwV{iJa&>X5CHh!$d9Do$t1^m8Z z-tqJ8WILDQMgk`Nu1J{snA$1E?}TGPab<*&V?ZD#^UlM-2TwRALL0cPZj1pAp>}U# zs~@tw(ekxj9}juqa<*TXQo3ZolseZe3SL8Dd}j6qGfMjm5v>6i_F%p3ZXb`zP+7muZFI<<#yQEtyhNS*fJ429k_Cdy2@ zrMtiV`X{BpXG#HH<;s>rZShQtPc)AoK8TUQX`F&o><;vmHg9kehe2J#Q8+**=*SYVmU8pyIif zZncvu-CO;&Ls|z8g5NhO^|e;%V~l^HJ2f(tJ(^s)Q{|i?r$MzMc;$j(lT7+R8=rbD zjV&T8-n<)J3{ngIG?h2R8ArRb@r(^JN0l|3Y9l$UEO}=)C(BPxX5=4U>}H)}*PV%e z3<+K$tptY{VBOu?oDEWM)2UbT(>Wp7=_?M5q(@Xmj zS8yz};qY#Kab@O3J?JR$TW5YV-FoV>na$<7nAzd-OD<&h%{$4u+n1Y%INQ)on?Q|; zS3$%tjvMLR%DdT|#?;R^>} zjw&KgU}edFi@b2RwVxiKTCq9PJ zCc=!23RlNjSViTUB8F(rMvD!u^84aViIK4D5Y1*>*2B*sz*isd*>0duVR!rPe;gvE2TT)Z#@(Ga1@}_sXS|= z`Tf1QfpCpn8HLFUpvoWzd7~jp`kotHuOmRPNCrg!1&GWMFBJsZoiJ3%DINNibL98t zu@nEkAUEjshW*X&Pl3%i;b~erp#BnADC$3;c1wu&@|vQflua~c%3o?CV9c$5l797N60iJkucA2kg2oRn z{P6nn;0fL_^OMEXz~gzh^(3J-U{+Ac78W7;j=F#^cY&pqM4*o7_v4v)f>F=CrT(0k zln9p_1iT4FOE?2xiSnT* z9<>8sNie2nGWNPA9T3x^k)A6k4ShWpUqno)w$W*^Jt3#sOI9zhbvv*{4rk=N>k6Ux zJ$A^?4~OX6e~#^+zCXzHbcJz!$7@A)6Axma%Vgv9USz0HI50$2opIQlX|{z`(1w(p zY=i$6a4D5X-n@e6r10-Ie+hZ>Pv-9-Z=N3Be3!jJJ`wyI5zRP**K<^)jXY81@Di6w z;0`3ibjiePtN$uH@+3@1=1&CxrI)|}&2BeZkpFF>K?a!QPL3zKp}=D6}*Go`Tl}5*Yx6hk}uk|-$tIP+c8I^M9Tk=5-AA2c17~9iwYwbO)i;D z`fIr$zdXAO&mz}5UrLDRDv(hr!dm%*e*7PQ@ydnulV=|JuIe$gupF}3*I|@@vx)!V zXBra2`4OJXA_7orcRyhK+xP!Dz5f13u{9_^&LyJ;iy_k?O)2d!)%5>(Lm(++4WG*u zbkCb#1JN9Ll`X0N`-bk&aKf~G@n!S&OZcYvH=iy3vQhf`F8=kto+Y8?6O?^#YSj2I zAN=)4!w3zZmFc7Nf4 zADSC|{+`7DppyX~D1$d-EGxrt`Tys`sW4`KGt=V#=Pdc-O=%;W5(5L-pUm$6b7CpM zTfDWoLGy2VI{$eLpRvMCj6@O!qyK+=SPbd0raC)^|Cf1+jOqsxxCzU@p!T(@*$!hzJ7p?o( zb)x}qG$y*e;SK}ChtMU!#^@@;y6j-f(C{z0XcMow#pKcnhX zr$2Wk0%^#Nd^A3Y05>nWKTnqbwXv8XeqSVa{U4q`>nNukaUuA&KU~QeJ$6nSe64Q$ zyum?u3AV>*DxDbWk+;Te|F}DalfZ46MHum^L@Y`J2R0bLxL#`N#2`Md;89U%%;=K>*kbXh zA@6_R_Es1MZzv;h{n@2ThT5?ZR3JroozUs-LZJlFVMFn{#r<3h1T1QVpi>t*oN+m< z`muH^S5qn!TC}U2*4Lg(iSM0Deca%SiI|9h{>1K zXaZxP^K5}OZhvL-MB9}I4Ku^A9gKjzkz2!z=gE*Kf0kIk_Xk8jM|v1SyIo3y9*W67 zw?ct~GAkxgw+O7^gP-3gFvsNwPWLw-w>^m_WVoS2f44ncMrPueV%9$!pFvrL&Ulb! zV8E17#*FRFi%3_AIhE)B3$M29jH@z*A~|pT*qaat6Hb2L?b2n}HQ9ZTKeV!xSo@>o zhwJKlr=s1`!QQG$sAOaqHV5*He+3%0CKfTX(RZ7Tui}ljgm;|Md46y?t?6{TcGMNP z#4iMB`mAHnJUfH(KYyUAKKr1~vC^!ZivR%;D~7hPXigAmy(H@4mjBtUs2+IZl0Mq= zZ$5@jHwGlUzwP=F>1NxuGsND;iMj3Ad!`jSbu8GVY{5nhJC~yT&2X-lntr*3m>Z>M zy_gF6GRd!HLjJY)i~`-#z5&r&kZ*6th z4PJfBhe22X$jjg#djOC>#1L=(dP2SF*LgtQ1zguC{*cH@9=!A=J%ET&=|d#7X3vpU z!OY#Id{S3_ZhYsD=Sj)xSKxh)-ES@ZevduE2X*d%fGKP&>qnb;@0%B!Cb%9|RunAk z5v~$p?b}ykuCEY?ojHq&|37}*sXyaYuruUUM2MPUFsi7(g2*Mnq$h7&JE*D<uMU*46Uk@rB+CV$djWxpaxy6UET zHpVC!5Yxr<1JJpLSQ;0| zIK%+Ja4j8u1Y!yI^Am^<*#Y$RAL`2BFEgmzp|Vv9!0D&mi;S*WX0Sa@5fY`Fd*QZx zk}WI^@A3qRh;=T{@0vE=CK(uO>wlk$Ioj+F0aVB&50b)t!m2Aqg42b z3_v%_7=#cCYb}A#cpWyzo2T}Ll&cYTKSoTdb-TfdY8IrC?H`cN`kU_)e`(HuC0vmcVOp3l%N2^Q#%L$jVJ)ElzEt8ESY_1lTxsFH%>6J3JzDFXPhSj5 zJ}rTWdo<#01x6!+c4eCnT+Qqkdp<@K{Xgp7JD%#k{{t@}C6bCVq9U8J>YU8dA|uLn zC}fX}!m(8n$sUmvA$t=CrR*FldzEp_WF4E|>(h1LU3J~v_wW11@1Nfv*Y&tA>738! zJznGadcK}7={OiR^ORg`nk&VF52igiCI~ATD#B>mAf!+ZBY})`L-U+r5_CPdv2VtS zojbaqU~D8jNib&`_Epo9^Sam*bsbw55loF;sb;h~*A%}TG@vq;@3dt4swfbpSW!w= zh`2#VV1GT6w?CEvwpL>c7F^DUmfg?&GNki--YxnDMn(;wJ|7&MW&3PGJbn2Burit7 z^@CPJefFpBcSQE9OUlU#%=%9hicnRHYl~=TBjE0d6411vRH)u-e(5~MK!-bqCD3*v zS!)(wy9VyM9wDJhK0;MGFbbQ>8{fK(^mX29Tah3Fm|ZQ zCR~!eRF$u#zj$`gS%2|;%khpA*LEF+s#m;kdk^UElj_FxY0TwPdwCK zsR~5sB*@B%U+bZ8U|1V){01Z8B;pD{bH zG+aJIr#!duaqm@ZUB5cZVcWWXd6otH^gd?2utcXrFKICTx|dDt z81Y3n%YPbIsU03SDQLQ6AK5%@3Viz5q^L4XR4U3_)pxOJ6-X#|FeOcwl5mlB4i{{l z;0S%NaO=k~CgWNWz?^t{Gru#Kxb@`hM7A|RZGI(Dh9i_~d>s91 z$cn3lYnYVrR%%~$va3bgwpIp-AH|~5JZ581{Q41UH(r@&x$RjlEkpTxw zBNMbvYDQt$v(Y@nt*Ci@!w(0$p4#)qu;e^cfBv8G1*^N%8X1LoQU!I8swXRHpWfCOn6rc0s>d_H|Ac0zqF&4VBTt#z<0r%JHL|N#Vx=+>7FY=~>>HAr-ZI!dlD_mLM8zxDH=?UJbL#>4tZ zXc@jEp$(EGSe70kM}N>`b0jPDR2JwtDZdLv9MD967zHN9iSPrRMiINTV5dR>(>#}{ zMu=~yueTXlud^2*;9xLS?TuVG6p~{~ZvHQ~8k@gNOm=2jX=I3NE^505flc=oY(Gx1+4T8V zlI&pwf*uXgq%LxA1fevhcToU8*Fjn2PWNEh5MAXu@UNZ;z9h2m&fbTpDhQd~lhjTf#Kg95l0gopy%}Qm* z$4=1zTZZ=QZ@)BN(`|UZuq`lABTv}bcC@S2-HXUA%U1HKBv0=hi9RO5;d%IEWd|^4 zE_tg7C4>2ApjsL$b0{w*TeHi21DMDv+D}VQ4y!m3@Eo0`f?>mg?>fXVu3h1ZBTV#> zXyuHtFEDoPmBkg4*$Brad1T0_sPEE(m?GCqX%Uztfr=8VY&ZOsAW*Z3J>`e@|7Rfn z!!;*Lvyysb_>M&THp!wtHTsYi(n^1hA4NuxG-UQ1yy|7@^IFuR=ZR=XR2w3j3H6FG zUfn?zc%#*OcC|w5r)|-SN+-lSPtdEEIo#s{B--E%ArF-8Y~WX;4YLF+Ju>EoYZ{>W z3wOWHzFa)Jz@Uz{r6ehV9p1>BxBWKPt510&9NC9MoaXk9T#pgcusc@p<6V$hb5u>l z*+E^^boD^aE5;C1lqep2Y;@(1ThPh|F{k`@$9p|?OI@;d66sH*VXSHrs5S&%8Ww8N z)8O8v1vEp^F~!_NV*Bas)TJbM3KdnVS~|6_mca5h;F*+(l^sy*VeirB(VRbsEbh2< z5IQ|kTzq{x4`3-VY~k!^HhH04@jJN0KxOlaKoi1Z-7^fYv|Uj5KC!Rf#WZ1r=a2DY zJPj*=q^9#~S4p%^r0z4nm4(qc=CXLhEj0LH2GWJl-Q9iW`Js-=j>U;KLts?i$igea znOj1HMr46&$lTcm{a`JQNwo5}smv!fER9|o&bXACe&(J4N>sw3YFGF%*{H;)!xHCD z{vq*V4IuZZ++C=Uar3fljLn@^6IV>$wZgkra%=b69HmIKQmM>8XXiEZ%UuC1 z1jDMwRA=zv6CN3H?Y>%yG8tkoFIqsHb7rc=%nMdwTKXEU930gs`W#b7rK-|5m8^9? z=RfX^CpTOVRi!VU>ij>x=vIo7w4FK%>jaWOhS2gtoYoeA*(7QZu0D^bsau5KokX(t z%lj|bJ~G*yh_-Q^Y$=Of#ljIsXQ>CCxYQVa0-1#Y8jl+DUv((VklSfeHemi|kMI`p z2&Lpf4v-hYdqSP$`hfF-{1qzK@9%cc14jxquM!&g*P9Z@+AydwyP?XRh)__Y#yz*r zO|5+6+uc?W=eH&+vdCe|C>>WfzP|~E5_DZ{;K^aWH-^}k;TeFrg_Qw8t`7RacpY8o zlu;q6;n&{AvbaWfk^eCqvD*vbNV01X{$)5-TVMhZ*k9T})PIHU86Jjm)PkeobDZNX zrs^&Pl%{3M=WJ5$ZOw+)5cFE6gsS zK?yb}@n)uWw@ooz!)u^7#OIi*&6>?l`_QRHN(C?$=37~-3{Su?E|IhilZt1se*bJYSAA1DZCe_W`d7iT>F$CIrJ4`ec`_^ob_xlc5-WFd`Ql+)10 zmcdENlU>q!1fld1~(btvl}u+HPF0ZlN@;!gdo^nk2IeBCS5*x{H5|wA8_S zd){Ix;imH7JL9BiV#SPYt+ut0QM}Ks^ETg)K|~g2-yLa)4;FbCH5w;DPhsvu8jtB4 zd*904ew#M=dgRwU(dXu>nc65vfYXv3=DudGKRTYBWNY#g2t)q!Q%atou3qtRdU5Ck_78>jwGN zJcvBJ$a8k-bT@u2Dd{YobKsAb)8r6j-j_EFVqa8-9l7`t8GPe^c@_+mq6CaZG6-g@ zDTRSABQe--_n6ipi3$ZIqbD%7^C)SdKSgpW#*R7#bkbT1-WI4e!#K;?w@uNh9&}Wu zFJUAbs+)l(Z<%J_MZGDAE<+*UL=n&@bnU3csBVI;xqd=D}I^>E7%7c8o97c>XL#rqZMl)*M*LZ7}dVn|AU`@LiMtUIvv;G-I zK(+?96`kb8%EO#WQpk*UVC(uDWic-7vHKQh6ytdLDIK3_lW6%i%-Rqn(T3(XoAiZx zPUXZW<4X6zss#fQ!hpl}jcwiQjjims5o*`z+lfnI*9O|$zN3ONQ2BAmuk@}k$vVC% zkD%g<5`JtrtEFQr@PXVQ4&!6M7<-$-+(f!ySpz0y@EShnby#`>ipc46eL1s5jth6e zuV&3@b;f9qg+vVmVeG@W@cZ*l4*n6iqey@yVeOFhG_;{KH#9UnDlV45Yy(A|gl8XI zm5-2UA!(oIjj=eXk)B1(8h>U8zI#E@^JF(FmLuBQQ`oeV9%wTdzg$KTcZL!Cbe zj?Xp7yjAGBWQhyIFblx9C(j&ukPsx_hkTM-Ez{hg9me8P5HB$;E&za-V4DJIhGO;i z$LPj*6rV=!2a1Hqg$-ByBEegiqwvpW@n=$FPiel2`UH}#h&uCJo(ZRu`NSiKPlSUd zSE=|-hF2jXe|CAnX0-lCPY8^r);2geEEH22_N_Tb|B4CNywM|LWX!Ti-Wl}rC0}o$ z#X+jO%rIOhfdGZdGQ)4I3$9=TjM-?rTE*Km1Q=2vafmHJ4{v3@6QBw($*QXCQ7I-Sl_zRExN=lK@5x}v? z&s;1C84tKyVAdH1p0j5B+33Pe|4())AAr$OkJy7R-Ncz*LRU4PS7lgKeP9_JDe^+$ z%F(kkT{%@poNjpIg%KQLQ4_^r=)waVSVflYMB<$Iv{+g-E>_{w@2z`QeDR z6}PVQ+@tCK($0HlR>5J>C%wD7Y0(FSKjp-$2Wspu3qoGC;5)IQg{hl~QL8E%aB484 zA6$(jZhWVzdi>{n>KarxUJRiuCduq1(!ee%BICJRFvr%CsU{i3S}P!_X@ErP5@YKo z(SP3dFf!pj+O`R$40QEO2GL-@2h#y=<9XW3>=&|uNiiNubEkVM`qg&XpR zX#W(W|NNPICEfDRPyOSgNpX@=m_JH*!O8Z=OZfA^c<_Du`Kf<=G!G?!DfeCyxpDQ6 z+0;*;Orq7d>*uHb@jL&ObtVM->DPALytDRiEr7rOoV2ib_s?(mx+7|Lp(6LnWn0qE-4}mYVFyqwCKrA*2akjE>0rABR;+4>pVJH8db{{~FPRdy=^aCB+RNpL8M8_V2g- z=YP?d!xz8HWRYD?-r>P#N%qIJ{%a?Y+wgxl?@}?4Pu8nosAG8Hqw9i3&i(W8{(gps zYVe>AQ~a-F74&#sy@~R@^v9!!9MsBN?v-IYl#$X00m8^UJi{DH1P(h5tH+yL zX|lkpG=PX$5NgkLO-(_^GW2fh{I)i%}*QzGBUwlii*`VCdR=dVX)^%6XjYigad zD>G@~yd#;dBL%A-#UV~>zkJi1I$+iH51{PE1N=7c_-s6w$qL)Ju9*U%?&9p=;Jv!t z)Jy?L@0dWv##i+#HF zV~#I1ahhpVY*$JIcU!u2`58}hSVW*cRU^Eu3z_IgdWy?HR;sCsy%E3;c(;V zad-E$%I!2Y4Sw;W1jBy+L1KMF?A(wLv}vlKVQ0i0Guy=>7UNmV+UA`y?RMXY=|97-h+arawH+#l(>{xk^dIx z4y=T)d9G_3r*cc3_i}Uf^5f6n-BZpK?<+V?q1EGN)JJ& zlPz@PlDs=~ZZkhfxn$ZW>^wkD3Rw?*AlAA{lebfSjRYYa>!=TI~CTW1tmi*Tx z{Of@$pTi4F%9;n?hXpmsBH4?$b%T7cOMaQI{Kx*oNds9-k4Gw0`bHVxiH^M^_vLf$ zd>nZ$xfKAC_YAQm;uye}6gv5_?8B&4IpC;+CP@w?=^R zBfPbEtQQWN`Cz#YoU0Q^5!-9`{xPC({6K|qOM-H_vtz1KyyxwF`zciooKwMEcqhGT zuEDj`8?PQm19p)M;hjdVfe$jz)6qrKpCwtUIfmsPon+>xD%vhIG?XU-W|RxWieZ6F z-^OId-7^xS;`Gssd@pB9hB%dIe_Ie%XIQ-VYDPyj?ttq^C4%{AKoO$#_b^>D7g0~# z$woDefI%zg!Iq7Fh&pQ(1~bOg=ga8O_LFQq5ylD#KOd$TMCI9(tEH*RXCkQ+G_ohb z9YU=V1u8a)Q3%Hj&|ZDr!?qgFu|Vjlh0&~f=Mc_-EsHoFkRrY4DJb3=PM1A5g8RP?6Jf->fYbqiUKG(%BY1 zoq>12B7-^E*8K8VcqkeiU1DEk1ujQZ%%T>U-#z$kouLN32SDFYVM1M~6x&KrnwP}hrECW>+PQR+*E z$Ec)v36b-2F$ceh8>z5idCRPH*I`l{^(X({`?L%tY*K|Zts!q`> zmKgIEQYmKKi@qj{Cf{VHo*_qo1D+5`>g8LHSpXC8wefSF3a;x^u06rCfacqip48V# zBMvxC=hXOpVbr&nGTMYv+bE!u^L;n5WBZuV?Y81PK^y^-gxwx|ZuSqL%^T_4ogF_g zWo1QBy}jQ&X-z_eaz2ILgm4`vJ`eCL!A^^YmC}a?=%2K(bNrkM?@^S^isZLXe?KMDvE+CbtgoNOH$0>*%l6 zES&83$gstWcNRYn&YBQQXmU%!S2_eqoV6+$r8DWtHxVoS*eBZPkzv=Dd{=3}_6yWK zM`0)2{$nSK!S;Qa=@NPb#^7re5MdUQKo%}WJl<~LF!SYakTeU9>9ialu(J#U4I&W& z-ok;WVkbMFMLu~2jO~$L#K+|4Jb;^0&2$rVkhcBeqPNVPXSxj)TpQxa(TX8jt!CR$ zwU8kYT2_sOO{#LJYmzUX1+kLQ>Sz(mbz~T?pyRwj(XFtu)1-y@IkV7FT^MpcH_mo` z{Inm#_g30)c8p^&FMU-7zcY?Y= zlJn|(nEd-AU3=?Y>aqMQP#MG#cqJwNNll_f;HJ~e=U*#>AC|PBq8Q(}h)#?WH&IN1 zSoGTc`-Lu{Q#Su5`PjRX$Oba^F>D~6Yk=(LEpDvBT^t2f+yKC!F5fS3K1JJw)J$63 z&GrW{q3vqF15LMll&OWzjz0sQe>KC4 zXS{-W%8f$f54sJ*kM86x8tQFoaL>q35fo8Hn9p(ImfNv@Tw(qFT$(F?FM+WH) ze-B^YBQ*eCkUdr{jzuPT=-9TFtmYTpEW3scY>Y+;jagoLdgzSjBKl^!ID2aww|)=N6*}O3#$D*}lB_v{y=b-!YI!pS)0w4>&gE+0T{K294tlM{*d7Ym_Ydb+43X1E z`D$teCq1l%pvU3RwAgp%!yrhDAx>`|%wdhh6BFMu3iC*60W^yrv0S6{eg>*{PJ93u zpH#2KEAyqhqVvzTLha5lx-)u~0Q{@ZI^Gok;l4zwQ!%(GPo^$G-J$_T5W0@oSgzO> zF~YiLX%@VJ%D{&l4ECnUt32{Lny|cBjIBQ3`ovC%(#UNiU&fex@fzUS5thxdAFck zdF-RIedZI|y1?eqYec=tkDenhL==s{H`r=_4dGIeA#}(Jmn(KnH*H9PVVv6cM7 zSAkm*RBYV$?X0*v_<#ky!1wG!s<9K!t_~9=o74wqd?xIvvo>x53jm12C$H+pN$r#i zL>Qd=yxvswJE(L4#iCU46|%dlEc2bNEF9;vKVqBs8wGz$u4r7rVSmZ0@+&3*=p;?U zySWu3OLTm0mxAaKUmEPzw}5jcT$$)`N|FmUO{=Pin(A|g*4gg2_Gz&yZ!J|I;c*=D z*v&L`N-<^{bw~pWBrT60*l4G7y+XJnAlVveH`tun%f81p}h?iAtR+^j#VRfmOD zsxH1+Hr+7;<$x?yaG!sSng;~Ma^9@%1FWvf5TMHt8U;CKa)#)#d2XfzAZkC##n!hM z#u5naQ{Hxb}_sn%enBai$Dxm8vweDp{3uvn6_sIZ4Z6 zv#49FzgN3g6(N(^N^5g=yo3SLPL>5LK{zFH(JTfvVYYg2Yny$u*wJ39h`br1$fx9m zwDOL?SaZyTz94q=tQv;Rf>f0fTQ83nS;#>oSdrucB?mk%gT*(^W_ii1z)>qdkl{N$ zZH~=x;fn?7t7>aw;xjOIY%o?d&nS;c&x2J$vaDE;9jed`C1kUMpt!dR4D2$8J7eBI zcA%XP4$QZ!JM6bM7MHueiqkIyR+9gQ7fBg|33yaEDVR1i@RNE}-RJ{BiKB@7WyTZu z{pw&6k$yF_xjH5ZiOZpxgV}o<9Hk*}_5C*-goKsUi!60&EPK4}z@zzZz_WindaB{x zZEqncQ}H6a1N~c;v*&Ae*43(b#KA-Jqg6<>Ft%i-vr04UFO2sBVo7=@k3=Bw{rj(^z2eU?wgXn8IJh3HhgX|CUfwJca8R z*G@Y6gnQ_47rH?CD3@cs&y8hygHgPhXkEv&h0pYhc^Bb;S5!JgJLvGK%hV~I?k*3n zI?^?t>j1(N$CgQFwa(vxw}MJGBgqsqf67H;^7;W zVc{aPB@VG-|DZXs>B5uE%cJfbLjaS@%%}C-+cR}~bKk+48v&)_+>wu^aqC6KE$?%C zCqJhpK|g1hSk@yu;S~|n_NzcX8{=&Km!-Oo90!Y*#;3Q?l+ zh#2A(*RrDk)fC@MQ~i{q1%x_7sKWa@pY?(+qlRddEmQAW-FF5$E@qDmpo`pClsLoj z(&##Y@#Lc`KaRX~(Y!+Rxf@`YW((w6=L?L|iA;jYF!Ar)eB;!?RZN1+o=(CoOYalr z2+lCk`tb%^fl3uCN0C$K{Cv!LO|vpW(4fBWa$n23uhs7su^A!)vW&}|&(i>pQlmSm zvP&LOiZhS*bX-Uym&VR;q%lDOq-_`C4S~jQ18g0{4I!=n z2Nlj8&oy@T2Zj-J?3vUpt$) zw`Av(4|gHG_v17MWBLDLaiMrR2PqG8v-SAa$8==r3iPN5297K}KfI_8+zGNJ3H$XL z$~p$x=Cl|`Jj!rB!ANixl`I4h;x834sQ~2tQbjp^5r9#Vp#-#0M?j~~);vxeJiBgQj;GA^m|3 zcqIqC#xsozzg0>+PeGJ#EONn78~j>H?vY4K+uIX+U%rCr@>~Pw-==e^Wk!!%V}Wt; zK!b;N5mlJqj28Y3jcGHS71Uh9`qldoMTC< zSE`QIhd%p4PI-uv28EkTT>xdA+lkhDNS9W>Bttzz4?h8!9+PCw3AgLsB%s!tGJPk)~PL9|`RU>(BGt+mdIdcXt@bJ;Wz zAd?#f97aCH=n*wX3NC9}oD=vs7L8fMpHpT!C?sJhVN11A#Wk!3fF@V`VHyoy2M%AW zpmCKeNEGuKwqU2@y^jS!m#D_P21WS~BVuD&k$RKrQVLEKX+pWuVk0!2Hmv7%cRaxB zN3OH=BR(J{XkYNB+HPzfC_@WGs3~cmT?Z}k5jYr2Xc^XdFYr!0h<9?*I+a&LH;YQ+ zll%R!D#13A72M?vhq_MKqbfiil8vp{iV~%t0EueAB9vW`(cHd?Z6Vu{AwB!-<4ny0 z*)`&fS$C(|aUCjG&0|!#(a^2np8!?+>o9a>3fdc6GIh?I43w4V=K-;!0VrxSwa*Ru z0I>Pd)CgoxAO{sUDH?W<;~xPR;0mP8C|0<+6e4yZKAxMosa~-+M5l@X*U%#{7xw|fZ?V~+P&ekIAn zd%b=`?F{@7m^^jTT9?x!V|0$0J@=yg}Q1H*jDxVPm}f+yFfXb#gp z+xq2;a6m%USY$9!!WaYt5Y8G%5=~T$cgA4Q?KhxJv9a`sNA8b&ql~V#dnnnkHLe*Z zKYZgH0JMG-84uC!e$#-1%9IM)Az_Z+%2m}SqkKJOgIACPln|}k^a2#FZ^QY!B>HK! z9b*fkZ=y~-qXx&ea$VN%53BcN>jFN!@J0-%;OQD|oOlr9y^At3kS2U?T`dR-U6klp z@8%H)RB#^bmt)2$$(=tE0)D_B`2=`gR#?G)mp?{-Cd|O#7^{tHoKx@Ql9@mc7~@AglGM0CW_FN69^4<^&o)p40EXG;3Xrza56r6Slw28Apg!jw^x^jZYaR*l0+@rQS>|#VL#@kS?(^Mm4Q_b@b zK-P?5~;d+UipTI{aEA7Ccf;XiYqg>8Tk016<@eGxHl0`PIWnQ z`;62`1aK4N$E~#7@`#D}0T@GY6qhROjsp_4{xO;L`+=iyU+@vS0=eef+R*Fo48cNz zEelYKyH_$yPxnjE4?(2p_eEoAIkSp!^0fEZA^i80u}$So@h8h%v#2uzR%Ha`O|v2A z-%RBW*o5NUKiDAmMNHyk3HpG?4~3K0f*T!S=z7YL67Y>&(w-Bzcn3&Zs*Q^hFM6Bk zU1Kb>U%6!A&~a=(gF!C-)xmBz@Ne@_it%l-ALam(*7cqutJ#v&-srPq&kFeMR&XHu z^uAU>Rjzjj&O@QhWm;TpL9lN#4n{X{o3M@Si-OaqV5AP~>ChjeE3i@gRwFyYp~!wKuTK_NxcKW^s?6r|MWJ>SyguZJx61)hJjtgYmBCIo7)Kgx`M z{j0VD)@0tQe=LpXWcFwl8Vnl`GXJ&WnY@}?UT>SFO zTSAf787V#Ms+w(;a*}9mP2B|E`FFx!jKBc}?-s#i04uLST>4349?Ew$5wZ0_6FD>? z&+mPmE_z$G$8!gtNsL;3(Ku+I84F23WFGHevSO^|qF$asZh-I)RGXiZ6WSzd zJBQpL$<_AeS>moh4bDm)YF^fbK7?1)l%^7yuATa3O4@`mA&wc`8mQw(=K0M+K_D1f z7|`=xFAjttJKb{r;d0*%%JSc_7>W@b_`kBVWBaZlNG8jjbf4xWxZ*1MPf8&f zK`Z>5r^>GDJ>Pm9w~@#yvT~_D%_9jKl^b9fz$p5Pft<_7)Zd5X#Q%zr`jQ zh(|QrEX(FDmjIxkL+E?Tq=IFeD7yt>__S0h-73(@gcgn`t~HZe;neJEbITOqK!t*w zeWQqa9H9d0monJgz(wY_p~Qo4LngT9=}`%uj@CItY!V_UN)PNaaDQ~Ut-nO%R!=D6;QTz?9t-2 z;g|SG(fWPkyBo(L0gN`HRyZ7)fJ<0ZbW`lnm)*_}9|kJtvzVJci)(%%GH%Ih*Rz0~ z62h<3L(x1ns~$VW(5RVn=aNC2-^z$MLFZE$LB?|g-Z7SdcefA^AXejk`iA%@w4FBq(U;QN!63n#_w zL+jX~^NXc`rDIuptC_(4`(;JEr0nzaM$ZuKjcC1+K5d|WLmxvz6(O<>DhqxCm@%>P z-CFMC6?&bDuDs0n=Nsy2tFteP6&Dm=&c`%J+Si5t{>ZKnC9j6wDa}VZnE1An!ZF;C zdKHZ(qRqeX74@B1U!E;O@~)i>8=g9nt2uUJlJoi*V-;p!B|b^oL-A<4on7rW9u>t3 zC@hSsJ)LRg2I@|fE~8x#iX)iV+Um#!ZRN(O3FzGrKoTAH=Z}Ucn}_H((6UB*99V{^={+_H2&39(K-&1xyITOOk-^>?6}6x4 zy75BT88%P z1VCGhZ$pl!UnTN7E8MbXJK=RgV}sWZ!Rzb^jgNxYX?{w`{q1#LA+KY%zt?neThiYISMQdmtIO+LE&xS8)eXxPlNx`g zRC7ssn=dA*%-6I^dtgXHUWU(>_(eP%W&bJkcfRHUSl9!5Bz7TGu2QE2krl_;!`M&2 z;2woheMoNjaUg<^ga`IYFYOc!+3@OtC#G>UXJD`NcNngi4%i-b-DSP{YseB12<}-h zx2Nhs3u$55R62ykt%=tTrs`IdGr@Gc0mkYasK|;4+Knr9Lx(jJHphg93?BJT25Itj zF-cDq`j8J=?(6M9EIUy~D5m`Vnl*y03w5+VR?l-P`*3N`Q+fe@K$3EP*eGZy?mFL9 zc+Psry)o*nBG{f&P_r$_Fg%k^BE0gbU`$!dGKM8}Y0TVbk9F*+v9Q7Auj1i@W)V}r z*A$V!H~Q2FsS?~|=g@?OyHHk91OIsv>HI}_N6OHp5PeJs@Zu1_dF#QMp8#osGh;(9 zP`0muYb0KNFvp&g6d=1{P67;KVng?_?b%tn1HZqNqCpxC9@U+U#H{OOgjOSbTyvAO^n?3BCSh zKn;se7v1}tY54Vixl1X-ezAuJdyR%7dmJ=c{M#S@`u!9SufQ`pOme@Hg8=1KTCDG{ zjMU$kqY`4QkI(-9%YgQ97Epo)k5mw718hVMU?Co8_g>w4Q6lvp=eZW4g-7aa$Co(4 zYNvAVeG03_CLiazlxuT0N!fpxPdkv0l6u?F$rMU9Ak4z+eH&cYJcM#c`=0Im$`7|n zqrDTT2^oyCkAE)u9|-5H3#5Awox7|l@`k_QO-PRR2K3AtOw-GaRG7IHj2N|Ec!{=0 zMu_;!Nr2^o)qely{5<0HoGGeR9*x%hOEuyUTCY|Vu-#q@c#cwQwCD% z!69+_GIYGm-$(Qv!sVJ?i??%wu;#03ts)7uMcrS_hvJC0u>hs=8fi-SV)wfE!cX4v z0&~SoXt?C3pc!vTA+FCUH!ecGlC5T3a_MZ6IF@+i;sMLS^8S#hjjRn!kX8MGg{&PF z;d&hwG*gg2o}N7{`{?iOL9W@mw1cuEz#C~Gdz9Y1cVouNEf}1;W_^WW1KpJv!(DXq z+U`zuwqFyY<8EZ^wfX3Hi?^o7xwxhyf=eUUXm+QZtE(>34h(u)7z9@xR(|lUj|)cF zM1zJID_-E`pj^yBTTf@U%31b^(4*~6U&QGf*B>eWZ7fOUV2!gUy;>cRVv_su^C2YC z7FYMM-=(FL$FUs{dcNQO_A?tBc`wsD-_jNzo3d>Q$uQu_IG@dgPIIDyCC4v zUxNT=df?@Y+ecS%q*D@c!tdyYmT4Q;_SoRQ$54)mUrhb`+;}4A=A6CswFCsw@vM5& zyoa>pIJ;fMHQv)pK{AbpnBHItRFYOd8mT}2x<31sPms94ZZqD@!o?|lH`a4d?rx`~ z8cQrJ?n;?*fqgTwyl=jdHvJ7+(p-k+y`5gLk5|YeV_*8BvvZxa)z!M1#Tx?8oP6pJ z)`tE{c}{lLklf@wXvBB$f)$Vm#ZKU zGeF=cfa%zLk6YKk*$m;;P)2IsNJN#cRiqFG;^P&NpAYR5!bw4bAmn;-t+WnbaX5p( zx{YaEjxV1@LOqD_g|-@}1SihVx-9pM;RN1eE7C^Cnz!j^dOp7}>URIF!H41@ECSMy z_kZnmCu3DWD1=&B=y z0;pR}zkPYv^z;nOM-MD1OI%`3~ivdd+GfDZ>UuaD@)iabz{ zgVQqK*4r;YSgGu~F?XfY-c=C6xS(#8YyM{EBfvr#cA^@d9-)*@3%`1=z!C%#SV1G? znL!=E|A@X~Np1t`h%PN{3S`Q2Vr>NPEtAvd<}+KdO0nT%Zk*Oon`>~)r{=gGp;sp) zFrN1oy5$kcnF>&X15UP;vqe1H=ia!Wh=mwcvo{N-Y>4nZU|Dtw&7og}dO{SG?5 zLzmFQenKPgWnq9pacE;KQgncSzc|$?kQqbKlk)o6e9uAdfyAB9L8h*M{LEo|ITR6- zjjbD^g_T61{oOWfE-M7#-kuzP{jNy;+AeJ%Ag1$b7oYBUeWP=C((y~!@ce&ER$jT- zej!TL)GEa1AP2)veyl#uBriIvM@4Fu5l2650=2u=BCEk-62m}!ZR|`zwF@&a-A%ip z4$Y#mxOp_h=?s0b>*gAw@?opm^dQ3<7R-nE`ef2&saZp+X59z<_JEL#YQMaR^>q52 zaZKH-&?&}2C1KgEjIgJ5_7c`W1W1W1=RtdA7>qWy?C{ zLI=8hqbjJE5zNM~GEa`zal{HgZq19mh;0+!_+DiLS}p6`cteYP7to;ia4eu*ZyYKJ z9~CPj`eI z%0L)=ks_b497^n)1Su|p(gUXr0Oi-XOf!pG9Q6SbXX(5r9FZiRGJSESdw)Weorx6p z-|Cow_5cBjcq&*{0Sh(|bO=oi+EQYjDt@Tm&QE>61BmJz6Tjg2(wz$9j95evBgR7G zEQIO+9% zRL^H)JEGxs?XTxyXDlp*^MxD@Co)O`z=aZHE2+HhZ6-o4?= zEnkL&P4wglPg^k8*OG1Tb$bge9_(t3Qv~Q$XD6cKiKy|(5IkC>9-gv@Yj;$#dm_M0 zr$~5nPtK}hvk)NkZYaYFXzIyj86mox9>Omd?gAGGkOzXDYZNla(Pp~#J?L(Vc~MJS z(saay5shu8`r|yR0g(9+QDg!Z|8n!(!-EO|AhvPDHgAH-!15aQ@PxL8YwKY(?c+s* zuBB725!GPlrO#@aQzs&wvWlt9QpDGf!B{i^J#HAN)EEVTifvcbQ2-)Bp~6#~QD4_K zGz=3e!}1!#M<|goc9&Uu`B>A8+Az^*`gn<6yMa@i-Xvp$6bZTh$2GoC@Gkj`Xo)U) zE-st9NuDy}d=DOF?;%cBkm5NoWAP>QKKQ!E&f?ou&2qHpT)^6iQb2;9DrffS4g3Q5;n@x}euEbCgB8*)2VO zo8kly56|T3)V1|i)WL>u0haF1EBo|;99aIOS3LgWf%yRfj%DQ7Vwm@S%3oav4ZZQ)(YNjOJ8>syNZyU!B07mzm^T>w-7$mgWWaZd*ArbEPcNW;CMRngK?fe(QtD8t?*) z%3eqD?l;m!)N4Fn(ed+3sB@5|L8mRzJ_sZ!WT7g}+nb5O^*DrS2o7u4eyCK|>QWLB579T_y#}%9g5O3P_dF1Sb(qkv8u|%p3WO{4kkg@>_A0CPm zUwRnpECw>6^jr&qJbXap@MC(v(vG=fh9R zhgp`AgD_av?ZB1Cd80U%vTYXIjzhn(tpc9Fn#r_xaf~7-GH@#TB$3>@U&Z@a`|TYI zf)h-F0%hMljjLXvCcfK1Xb?W`%rSTBCA|+dH|vfa2d-a}k-k}F5h23NKMNJP<$Vdo zBG%n_@w<&jUKNFj51MH(s?3P{(Si_Y*=f*nDu|ZdB}Wu%ATQBwcFeGI<-yJiWreyR zqOXWT=<-!DoVT5VNXC_-MJS&fS#X&^Q+*p(xp)I(3ah}^&~%U2f$BkUZ`_MsB`r-}W+w&jW?Q)& zhGM&>XNa_@WvSDcN!DxN9Sr7Tyw9}n&?w{jOvUA-X#7)JwB|XHKX3OL`>QqZDqS}I z>XZnTWCLV{ADG{z)^w!GOIrBovhu~--{s(^tM)iHO$A~D*5k@CM;W_uIonoD%zp93 z0MI6CjGmb~@4=^g{l?kWk^@UDie26(`k_GDV%BC+UX`+2tW5B)(8VlbdFuw{W;J$j z@=L)7?4aClI#r&~PtUVrFSBPqbTU14VH^+8K--0hyZlQHuRAZee45U^^-C)vOo-Oj zPPm4h7(e}#C=9Jx`1th%5ok<@N9EOI-Xg}eKBKg%&&-F5O*%d2xQ=;dZ9 zagwyx(7bvGrLD9nM!Ywo=2Os7eQCzQ#etmt7Ad6@-#yWNF#{KS%o?I$sFPk}ThhD7 z21z$N<#Ovk-3#K0yZGH?$46KEL_jP|9+Dk5fH?C`-gJAuiONKCycej+*tu4wr}JJZ zkM#rn8Mqr6h7h#zEi%r!qZq$r1*G1Pg0T@2Z5qD6Csn;RlJrC$a8 zqXKwu-nNqD|A)P|4vKpH<3~+Y6jUS>Sqwx<#2{oT5$P5wX$5H{7ElmW5EPI_5J8c0 zX{5VXK%`W2F0r| z(v;fij}dbE*4;lXm6XOn9KKxKN_l;=3c$eFz+For5#V*`&SNDcGyuFBv;a#@K7d(7 z_+DJD)kM~=c?hK|F^}t9*Al(lKZ3^9=Szd7)2tGrKNa8QK%u5v#uDz{+g!3ihryud z>^pOn(_>Pn+1$9r-mMX14+x}FkJ4#1M|*WJN!1?nkL*wE2d!CD0HeYqdR2<3a z3y#!0t}_1(H3SG znDqLMoDl2*kgggs^*WHaO(Xqy0#5_Uqsn#Q(#Mj8RA%&#zI@3-sd3FuedB}QAnJJ-NC$t; zxb196IxILs$PTjMb+}vr@NR#1R?Fh z$RxEES4Lqr0f#VGerYwZCt14BSSvv(9s+t@&p@wE*+jyZdQQNm_e^z$1@?gApX5&o zsIxt73z>Z>{V8bU~)v>Y(|4 zMPASZ9(GKh=@)Ym_}rgQ{h=O;4?qmPb`?8Z&i2y_{eTARW!U-}8jwTQpG080lLHUk z5b<`OIF+k=R%kjHA|R`Sj~QehZ={!m5YW)i4MHV+W)I+>Owc6oCTO4%z8XnV_ZK-@ znnQ_i-1JQ$r|H;ZDvs}RsoTHHrRJp3P(2w7mx40lo8-g(C6{Uf(~Truf!15E8iCDFj|I(k{bC=A<~c(nYDi)8 zd#Nj6*=~XLOP^Wxr9Xi6mCH{ZaStxosRfP_wF>ZB74{xC$Q5|hb3z-+n`DIuY@12I z&{gx7(i_F*XQ9qOeDH}bJ05`_2%^qwAZSh~r*r`X8Hrxzq0u0wQN8E^yOoTCOm|xJiJX{*FdsHDrdKAZDiTE!RhRvICUxh&7J41!2N)~|;75lK zB9`sn;;;@VkI&7!F@0d}ed(>%!|ek7OTUVTpS499XTA;lQ_$}U*;YAB+Qt_CzS~dI zRo*;3sYD4@2oa1#H7nSH zylIOwe^`Pz8COuQjdQPyhCWU^BjiD?l_Y^m*l4OlI?0h&0>6IwMKr4x4X%ad@xk|C zn-M-*oH*+#<3&lAWmWJ$Emt1;zd02j8-acI2&7}H0uNk!4Pfx&uz?&V+6x^_yI@Sh z5=C*G%ZDN_=Xrg2PJX)|Pnp>}xt@g!adNeQ4rfIihPWNXRq~68{!*Q~P@ZeG9bQ0o zkcSc0Ff=cnQ{;I)Dbmgl&osE(+&NrY)Vo76abW?_eHdanU;|}9>&L-sM5BM1zLOK$ z#U$4w`4YR~#LOE+O>7*xyq!wM zY+ZeS&rvR}ddK^(t}D->;Tiz)%(|?9;#!DbdynW6fO%!Pp!@MOkLN=KPx-EQTL$Iv zUwXG=TA#x-NpSr$H7o&p@5p1WW&_+5KR9+G)MbE;E3QaCNZkhiNO(OJFUk?@&c5w9 zd+~5>D#H_IHlUSWT+yFBU}eU`>Dv50Z~l`a=(6vh(=ys-Wv+c=`b9xVIh8{tW zuF{f2z2Ri~*GIny2mL+aR%3@P%b(Y=e1728TB+GaX??bcYS|IT6A7qMj#O{~F~DnD zJy#0Ul~X{Rmu|HB^yaBlSx>n~|I6X_O3;A^X6D;AVNo0Uu#RMPE_1*rU&-aCwESp` zebnKGG&t(O>)e?3ZR!V(3!gwoTRmPWf>HZTn`ttMRnyC4M0j`ONE_G?e>#&#p~T8<;x^G2Hua95dT_1u-$y4C_gYwXSP2Z{LB0 z2xOX58gI*HW=oT%l^vRIh~y?1mvB5LGH^rYcZ)B0+~tcVXWlQ(DKS(Gv1clF!#=M{ z^MFCY4gU9|53PZ~dEf1!uGMo1M-*W3ETgv0*aa5zw$r==Jc&U~#*wQxu(M zD5>KuYEGq-zJzJY-`fj#k?LdOqL>R`lV7Zgxtcc6$nWs_;OXz>aWFA8v4C*-(0whl zD|VTm*$NCfzIk2pxo>E0bf|MHzlOW|;jKMe=?{B+V>vIri`J^O!gZi#P(jIldg5Jg z!S-usog7Zp9#KBEr?$)C9ZwtW;DJMUU3!wxY)N9d%IA-pbTcy=ISS^mA|l*Lx305Q z`djGfMP%#eR(Db^mK+SxaB#>T+^XsEZM`Iixs{c|Q8u%1Dz`OP#=_}a*)IjA zmh70zbZZu#r0)#=mvvgO^ljhNnSx9W!wna$ST~lHl^rkCRniN8EPuAm_IzV^x5eNQ z$@8B`m6e`v8XBsDY3KRMZc0daX4YlhN(v~DS5s5dXH|(iVEf^vxvQ%Vm5_h&>9!}V zT6%hq`}_N!%+AfJ)6>%rEiMWk-5L0$s_mS?%MZiDtnE|q;F!|4r=PU!9jw>x7F4Dg3_hs<%=fA#pUJw?BcpQJ4ZSBvn({Nyl(0n z>S1|#W3`wM9H?JiEel%Ol<~T<->CSlzy3~nRjmga@`Gh-d}_T5bH2l6=}$X@9!{TJ z>VNaE2N270wn_u*o`Si*j!vicY`}vDHM6rhUk6iDxeE&lY(q>~aTr4Mm&MEbKv?j+ZD(6lQZn%X<8emw%#+g6 zQpI+yeVTJ~bG3DKzR8Q1vigvEg0NPkSr*EMZWIp z`n5kgCZ@6^$}m%1A>&9%QBhD+Qxl=)rbhAQ?VelbN)EcSe5!g(y>sX0TV;2hH}?*G z`g-Heh0-U{JF3^{_4M>40~eQdmS1;z(FK)%E134P9q8CjW9hk6_UW?xIiT+@ol*vE zsGt7#5dZSpx^?T;);8Z}V*guXaiVW~Nt@d0+85=8psi{gbQbq7(5Nz+UmqnLGJbXU zsL8{`y>a`cf?|8NsvbAze07mVjcVItImR}bM{>6~^DowYa}-)}E4zANU}cEqP8iVW z1{a>KNxFqu3D!4m+?W9iq?+wKB?ny>rsgJgCZnMoVlUah6C9BNnDlVt^Y>!=!BQw& z*S36fq`VuDK4;#0?yLhvSdpb(I;fW(uir=^12ukc@eqh*gaCBfWqgv(-5Ts5GNA+i z+Fk3yv=B%{L4k`4&xSOq5a>u4M^yn-Si!9GD^nRbVgUB}W}@9-EI8g=TCsn<&$I@5 zYk`T>H-RgZEDT2{Qp0LENiKW>5>KP1M=TJlZtiITIMPXqu^<{gusH8UrdgN5ITUx^ zhX(%g zkcO@0nGHXKqzIJ32RnV`s_dT99_*A;B0}v` z--Ua@?Nl4jl+$S5Dm5|}fe!p+eot~sv?Mos(w@eK913q~CcC@SlBhubj%L-)mYQ`| zT~p$RsVG?w7j?qnlfqN1W3sMY6iux)zY(L_ASI7ORF zJ2H)M{U$3mTXGkHU>^hm9%q5^bXxGst39diNM&78LfRDsoo*xg-wf;+WP!*Qs%!7# zmQVM<@;-fj1#zi=E%9}Z;fpi33?`xsR{QcTuMe0e8 zy>wM`l<~8f7G2z^83XZQm0KEKZtM2E*>9+3Fvuf?Zg!WH*n^pjHAn#?gKDz9)>=I| z%47cJ2^&yQK#12Sm9%J@dxr8+;zX4;9t}@l>{w_Hd4fD_1?A5WG_SKgq?ZI4m87Wh zW=o)elmp<_M5t{^hiKDoCz$=@(z#eXi8BiBH&|*H>E^VvhoyArEwW$py6p3DPF+kM zyWx|;8acGI=;Z?TuyCVU8`FeVGmZqK{0TaLV0N3~lRQq>!4D+@79m)@VOT3kXM9j;cM z4Au2pMh7mg?4$%5st9T8%1(||Fv7*++f|mKBV*rMWdhqNBBn|a9+AVva3arq1NYig z4`0dj={BDJ5S4#$Lonr4-MlrAAZMp51wSdP(+wVwWcCu9)Vzubv}Z1J+38`1<5*;I zjNt@&Do$pX(L)2O`tBWg`HVR0>9!Z41ql^1uJIW~#-7}zAxfn&1~|!Wrz@wd2N?Lh zG=Ya62P~!e%G3p5cVtN=+;BRdmYeZKa3rH=4iRy!Gwj<-HDG6AfGhE65k z$l${!kNA>fqZW+DWB2PpNoeFia?6wPTeOBeSd*)&(iBg3S&f~h>zMY#$E%%==swv+ zXnAj;lERWpBbgvI_l!CVWW8np3V)Q^uZ?SMYOPuCD1}aU(IDAvQF3s^dAWF+-p&RV zU3jYDFAOIFyhZomN-jF5VA->q6+M-t0K# z(0ABYEkRBfRPO;a(HKVYCOrx_>z8KwadpS&eL76lut4AC_f&d9t&_-@_{IE4pdpqZ zFC9o1Z=7W?G1)dZ1MJ7^u8%*iz=-X;W(b!50$a3Yq4`U?+|iscFs!GG7;n%AZUQDQ zkwi@&_k_lZZUmT~&*E<>_mZx9362lQ=v`4w;LK&fs4s)WN%xDC1!!=Fz{KME_{R(7 z#3iwX;G}X5yVbG+v266b7EOd6t<1=CUH@s6_3PU4eYf_)U_}lWu~|=7Z(~BDWP%MD z4GB}(Vhq~HmyG?=YGdy_!DoEgulKPm(wl`*MghbNa3ar)<-srLB`ILe({S2s}u^oRj`$EYsk>r?rZJu~Yp3w%+ta4!5)_Kjs4D7Fkmwx* zNdoMG#4Rx#t^wG?sJRgjAl8nSy+reuvkRIDn~uqyWbKp_matnX8*Pmz3y^@3>^6!k zW;7eanij2Us5GetPC2gS@POdWVzk<2wFcsnU+UTH3{3nQQF5(vk89KJA+l?z?*&~V z&s5&bbeYbp!iXeyyF3r>pSn)F*kx`TzBqVje*Yl|cttjiYlqbn44U~;;V?N&uF||* z^b!cImkvn|Is%e_5M#mHD<|2+v(s_*9ir8x`p1%3%m*xLo-Zszt(wv#hTTvzUH{=? zPWi0msEdYagky+FY|OS<=?>YJ&oZ}gdRfqKxbJR662K;BG$gE7g-@0Aq>YfeaBDXE zx#bzC7d6{mbQpJyH2|M0wWy+>3qN9#Y|tv_X{4tkvvfo?XAPP~cBHQl6F>5~ZD5Qw z8|?+971FhYRqmF7&3b-H33)B%XDX$b$%=M-0BhTj5T-D&CvKsxYHo?J675EaQJI~7 zyn1gB5~^?GVZ1sl{KJ%&KoI5uMg12ac_Z>Z!;!Dt#hZ@z%f9n7y5_G*yK&*Va*YsY z+dN_Ba*e#%BMs?TyLs+SOH4=B(=X@!V^E_$;d2LH#4F@wj_6n=)Y z5`ONRT4#e=B}2Dgf|WCSk#`qZsGOHpr_04ncB{jujTC;T1i@!Vy8KG0`jK~0(jV;P z?7YviW7omXQ_*|OkSg%Q;SB&R41t)ai9}sdry4nD!{!T}RRe1mIb`LE5+31^G>|l9 ztQzhT-~3Zs|8H=?*(2*cQe_mFg3aNl!os=*G~~!KIJn!2H4+DMNFYtT0iAoPyEPz> z_t7g$hrkpJ7`u9eUjcx?3{y-C6E!rg0Y^C9CH=?m;DygNQ(}5-1V48;uggc@VSn}| z#;WVUA_5e)z0j;j07*Ec+5;%`U_0cv^VT#+0g#|mx&9UrQnYj)7q@b{(v z{03{c@3LaO_IlqwctmyUu=z;z-(KP1u})6PD#%K|`@ce(O*ech-0$bV_v5oZKU!B# zf51~~>n^J*!ZS0ZtG~H^A?o_4~g+6&{C$ zOp3bwL|Cj`Ljmi16+z6k52^q%Ve#!XcNVBKg3z#Y2q@T{H*$&RObhqea><%MY|@OO^$^YApPmfr!s}>wE{yj*#FCI&)F= zl*(5?e_WRxZlmrHD>L2Cnfza%Xm(L}DTCRclqBKNac*Ev_>PH>y%-I}jeV=Cw01`? zhzAc1568`tb$9&!_s<^Gf-T$WEkdzvm({-3eY~6h@H>BTNAB!^UoqJl*>m*AZvSb5 z@qN4g^RI{gaNAv-FSNfYY|_#0OcJK~!`l7vB4r^(VBPlm!&Asp>mCR>|Ei|+5A+)Z z=3%jOKXUQR+XR1Qb92VV|Gw04^kGla@C%+aR#nAoW`FiO`ToL^;K9jx9qy1Rewpq* z_abM&bN?&N_fQsJySZPv{-?q4&up9Zn-0U0m5d*JsQ}kva$#WEb&u840qLAw|8Y$+ zUJ#u)X$z&GwV2ne#6;Q;Yqe;}O!z+@%r0$sEvM+VT)hB4ACW%|JTt6c7A1K7X^o*Z z1wI0K7oOMf0W~z^vD2W|0Q|M~KIxDDas78{-~|OHojLIcem-p#SnJ=U^J!r>_kX!< zTtH_jrDR&56D+r!J=J82O*)xVqKv;Zk$<|j^APiV6{_x_Dzh%OY;oae=P6=<*`fcq z+lQ3!u@~9x{d3@{#zmZI7l6O+xX^U{4@U)hzz4J7X&Q4scy0%)nE$_`V%O#K~ z|LGq87c{oUo`a92^VMaUgr{lFhM%L_ns>R+jrVtH@V}Px{bOe{=$`s+Jk0@5Ro3n6 zv|@&d`+=r&|8=)?@UclMLyRDB-YF+!mvRmMI%z8A%O5WW7K1T7&6i_-epB(^Cv)kv2+eVL6E$0LNKMl>_WxP>|NmP08f0?f zIWJ0}xg6>$c21uQD-)6|wg)gbI#}A3;gmn0zcA6of<`*fS*ap7&C}_Y z&z)Lm;zU=eYyJeN?;yWj0P7)%dHOm2Oi?0GbuVOJRYaEHCOKECsTU`*8&aaQ#Iz3W zHvl_7q%vO0MTs;w^(v`W~W2@N1%-s zggkJ+@<0mgCEjDr>tsDK zD;`?6W@cuX1loDxA#0YD)@zgkBS4|S{dNwg&?IJ2Ns?epnh0( zS$Kvtedu}gkL@|CU^~retCQ{uew?*P179$hTZjKMQ)vTSxmlkja6s-4&~qf&!_X^6A6~l&vZn>H5~`b+^(F)uiV4hY=&LpN38nf;Q7U!)sDy zA!Y<9xqP17P9-pVv-BEMJ&55SM7nRhdSapE#aS-K@I+~F1rT0IskVejl9q>W( z=^KE*-}9`U1df8-WWhA>op3J|orZ>t=78n6I9aF{1jPl%6Jur?nux66=N^dK3LUIV zQryQ&KA$5^-<_9LQN0IH0qrPNsw9-~{2DcPi9uBQHm9wW_r#EktypA6Vh6uj^XNCNI~#0(%EgvxewJVJAIq(vES0IHtf$P?OdQJ;Tms%PtwK~iej6~hi$F)8xMGfNi(5d+%pf)gF>6D18(6xmI?|AZLznsl(TL2F!M?qJ}w|jHZV`o+_WNUm6QCy?F8~DHR=>r4@a? zgG6BD#6lX}F2hH>vOJEX4HeDz&X{`GKYe}t=RE0quztw|$&v%vBjhe@3a|GW@=#wb z9BNcm!E#C@D9cOA9#!$Bu^JoYpxW0P6Gmxad1|teXKHOWK}?%PgtEw{(|zUeEnvM9 zSked~s23BI4qAWo#q|qjDt5I}F{7Y?g0X25JK&_I#i(eA0{pS?P8`qeIc& zij2l2%V2vDMfyJM2f?2J`-16{*vpF2Plm~@gt9Xi|9y}dCaxY)qG^_YN1zVYLN?*6Lj35o7k-x|Oh!&6&|SC6Di2B1jR zU*K3L86c%R*T9zs+#I=RB6cr`uh_RaEu0Gw=e2tETWnaR~<0U~VxylMp2%6fK z?2Gy}8Fd+kF90EJKj5~oND*H2x)*Awlmk?Xj(3}Z-t%b*x1IjjLy%~zaE>yFVhMuZA##up9O>-nlACxyLv5KDC;oIGk&lW1=stB)b|FwqxPnC?B*cM6 zUi-!SMf70?NL!}_+GXy=iNEvrE8$7+AngkK$a5BS+RsfkY)YyL27i@|DGy;*5jvD$Rj%Mpd(h@*CeF z6UIG*DSE~2<6=|{dnA`gaAf33(H1T#1*ksKu_axHvd z{dU!uNaD#wwwYfh8Q){v1E}my#dDd-Jb`5O3H1`R+}$W}xXMJ;n41Yx&4DV=ea$Po zi?`1O^^|jIz;LR5uDT)a)i(F?_SPh|VbE`Ke6ZZq_#QfGE;PO2@PMQV0Pf*Rh$jRz*i^~dVTn>XWrhRLd0P><%^fym$ zSs)8s?#wWH{y~3`38R>>o>+W-ANMEGd)B|@QS9z;L=Os#;Jr{&Vbdk*h;tcqso9Qq zWgw9d-a^{Sv~pN*qW;E$?AX@4+4>txxU1Nzr})>+yE(+;PLyjvCKU?~Fp=`(>@-x{ zg1C$DDlj|}NucA+eOg-%O2NhF6RyeAu3%b{25=Vn9=>T}h;iCr#5g}D+Tv%BF}!MZ zREld1_jog%-bOj;-D9(N=Vu@{ywsxCP3oPlf6Qg-m4T&8EZ*dwV}HPO;J92yoSO1c z4<#xx?~!~4s?*38`?^v@*vZ`%V*~pZM&(2XR$M=WK%WkBAMNCcSkw1B;YP7Eu&pmC zCUq6obv<-jz6NlQ`nyLe3l7s(8~HSu7{%~m*fM_aHSR;*g{?vYiW*S&X=nCgBMo1? zUu~bW#zpL3kO_lso*eFN_}UV2jqBUtJeKC&R$a$=iu51i%@#qAZn71G1fQ*P^Xtoic>tZbGj?dqEB~UnO_=n#jFqv zR(t&L_?9u&6<>E|oUxKtQ^RXS_gPzPxK%-2KcET8k>!wrd(~RMnO5|N$68E5qt;H7p+GO#kju`FYSCq3in}QO zN%3fr5#vyy-+Zak$#DUZge4}bO3;{^D7%}Rsg~I>s?DrmCM^}&pWI1et9lZ$L>Z;L z*wdZOxz4kG)k+#b=dDBW~K zZCUi1OBuy&fI%vKx=`hAB@Sn9?i@^ukF*`fDB{4CMCe_U`3}B=+c}FuLLqCK`_2r z4M2%8RZI2Bm}U&?7qg`(!UAz$AB;bXj)c*RmR{UN-a%<`L&rfwKCevJxr5}y5&4K>oF=}gzbVQQn?S4QSFT$s;D1CWwY6oSWM|+hE zAa;j9Np!x{N&GR3)Ps!nb=e0%FZ^&rk-_{*$#4CFJ8z(!V^X%$Onegrl&vy?H@B8+ zTp!uuCZ49|DXD$Bc6xk_G7m?2BEmz3xFg^Ks130cT@5K6y-!bksnl`CWvXx_7AjU4 zdzx1-x3AhU(Hco?EQG%D89dVaL*|I8p`9m0I-6B5Vbyh7%VdN@%f=b6PPsRc&phzn z1|Qy+DKu3Oqtc?@501UfdDc3tH9SzlJCZ2F3FwAU^ z1Uw=q*g4{Qr3G-la?X220i%vi&5_RYUIr?&aB%1lTYRqcrcaHX_VnP6Sp5tKyJM7% z;(~T#a9rf0Rn6xu89<9|&D2?QA1wt>!GD!NhG~$z6}m~(Tfwg2-_h@~$-{$Nuc3Oy zBx_{o+{ICbVywTGuI~WD5TluShI(fZ-cVlJb2QkxXi5|7>%Gb1!*R)dg;$9o16Vm| z>$fNFcjI?HDcITUn47~>wo0~i&StTW0$P7N?#7fS-`S>vRYNqiR_5zsVs22XEw|Uf zNgQxfEWl+2naF!*-&*P!7y_wQZiPK54p0@CKZ!5z2R!+P>1hTlx|~(@Rzu6>Z(j&4 zr@QMxbRi|W0g6~x;!9O&TVS3FKCQPs_FH3&HXF|8lb#O66|m#!-f?TbgX|khqELJ9 zGYSbI*GHpyYAWMv*dc19$K6SE-Skx7 z8OE7Lij;kt(EH~AZPJmw5prLFi}I%_&&wT9Y@H_G(V#teHbZ@#3V!-%C*|t8QC>(= zLyAX72{0)rdckrnfu)nP?*0>Ys%wCX1(}>aheZ6Q8z7k|JXfnR+Uknk996u7>5K{* z#-#DP_;bU?@C>a8foSdH{<;?>+=LGywN*TwoMs{^9+3&aY-|RX^J*g_qo>}_p-*7T zlzs@GR;V8QGLF4mBRJ51%8&$bB|1zdodyALH*4#05ibWh$;G>_hV13Eb^G8{okgN&bABpIx6g63Uhbww=Y9$4+BX`n_x9Rg_r zsvMadYi($q;SkRo-`bHu!`hh)8c3tl=5~((KTq$%_-@dGWkLLxE+lk;L!muuU$}5( zc4Cvx$?=pOynF!qfgX~iG(NTn#NXMTlitLV-6abn2V{1aMy7E?^o%@bfW?<X6EE{c4bv)F=Sx}B&EbS|<#Q#Y4SYo{IRzF@CsB+Tx~WV>1BN;ZM9i@ zORB)9yxO6>ZRH_KU0P|nf?Fy924@Vga(t1oz#ya5W<_h%oT~$3Vvq^@=Wj4zq#v8U za!26(y5BRrAlRLO-_8^kz-9W%V94N35a zFF-p8A=NRC;`>1kF6UzM#oA0E_4SWF67u{ZRQM{L{B#_3gP`aueDSD%swE)++)sKP z`XikCIbfn+nBWfGgbUBlZI&*j*a@;M4y~-&&q@0r1%GSjd#NEpr~^VdJ7D#ZcO5!< z2}+Wqrq3-URv^cwrJ_R> z0^uuiqwguY4=1acSO7*bbN3YTu`He{s(0Wa`ocsDv8Z61HnxO=AXV)vpFJY5eZej8 zB9fzMFb7IdC=!8Jn>IZGj96`eIF59((}}mNnH=tP8T4U0FUB@cAUzm!xe_0$utn!P zvTP(XQEfMpKDCF#`o=eqaX)(c>YLB4&meApT=p=86%obvyJzuG2)sy}IcKY=5JRp! zJ+oO|U>KVB)N8dBCf|jUi=z?kSzgN}ey1L>Ea2pCm;V$B zPz@;?K#43{FFgad&Kj_qGEWZzV4nicSRrdTqmnwi;x)k3x*aU+wtUyW9=&vFiV)+E zYYiM@Z7J6PY@4LCY9YK-o%7Nabn%dVmLOKM6b&TTH=}Xhxc%FUT3>}K)ZP!&21$nv@O z`K7^%s(n^t_Zg`a*%thKWinZwwgx&y7XZuoSlNU;INWGHCc8WnpK%!6E4>{@deu0EJ&ngj~2QAKBEz8_aq0B19{n-C9d`2Y}6dZ&7A z+#3QM{+tE)Alw^$tf{|SZ;8{QsVR)SZwIBw9QGF2MIy_;&$`Vye0e!{$b#6(oE9eQ zK5)q!WiJP04|crk4{MAL)>wbp+hjJD&bs6&g~du(V~@tWu~^31bhE96{I(RTE$Ogvmr_W)`HmuIiWim)r!?1QQe)co>D1~BoB`9iKsIcDGWMm{dIPA|+O zc?@BIiB7eou6w&G#LS<1bCK&!B?my5Rb+t!k#v?R~eO;Bxk!J`FISz#NY6S*$3)ff8Wz75L>UV6uO>= zhjU*=&}A=FFV*?r-h{l6Tp!}`jR&i&6Yn5nhFEw___-k5t9$ra?1u!7mG7M=K0bER z0FfAT+>GTBOJ0tm`v!^kQm(P|RR_b@QR?a}2!jr$B@j(F(UT|6<_EYpc~*223_dL>S~~;G2c^19 z3!i(;K+m@=62N)yuI1;ZK~77TFu2h518X1O81S4Z{~c&ggn18Ftlhn^ zF?H9eYrgnGbytH-$Iz*m{tDpl=8EeR#l6!Q;tYHR0Bn7FMp`)%L~4QAtDaUcNU01P z$(w?jY1DP6vq`)s_sRv`j&3XrSo##Rr5MJ-B#;=;v`kD49xI1TK^FU_-ADHBepJv1 zS!!y=iA>CF^2#aq?v7NWEnJ>C`z3+-(&I-cmYE})Fa+J3ttaoY@{oVN{ z=>xS}4%|Fgl-Gx7f^%Npar3G-U8Z0Jl9HR0Bj)HL5%H-}-y@#L3)Og@0kl`_Kl%%F zA7EK4#WT4f&*sV+5QZA*=otW$QB^cf-Fyi;7Y@tRR|BY!djD%wIhTA#6 zn~>_=R7tEu$8Eyan=#^#)2c596G#T;XX9fIEkipY*RFTrEiNN&GD$l-J~t$QLfu`G zNZVm3D_uM~>&HkQyT6y}DK7Sr0jM6wpnM0%9m_5$?Sllz?%X4%`WTC8EuHH);Q}MX z)bWd(b>>}<^fR>5FWGg+-&*||<&&&c8b)KqaS4!VaWEnDnr~^yNXvv)__TIM10D?TtQq>wRO zFU$Jx{7wq$&V6kd-lGVUDC6w{CxGv~V8M@GNq|$vBs-NdZuTvxiG8(nyu=rw|5o2a z%Dpo{wnX3%Jp9paBN&3`#S6&iq-LZudWe99Zdpu;M_Lj|ZESRxo*G9NL5*&F_Bz&{ zO|^NS73^%ZyKscf3^fO*phGt3^!0<5CY z1y63O0zwGNI>Y*HfC_U~b`RsWyE^M40KW&Q#Hy=0HY$N$pcgRRw+qJTvSw_cwAh^*+ zxe?12mik&&T_Mn8?!9L1Y?dMwUB;TkFnX=%IS9X3-d`m8)LR>?9wW2~cc7mC-wSu^ z6S!3qC4 zO`9crVhKQ)mTu-Y>3$zwa~t_;m7tf6cwBQaF;{VKne|?bz?3mt%6W9_PGVy^dqc_s zXgNF%zdq<=4=u<`F^;@%y0c9DQb1&ivYA&!PQ7Wj1*2g>JrJCRfY6f>sVAM2Bn#M* zl!m+RN@e76F3WK&CRK_D|o2bN>tc2)7b5GkEYzC#Jg~mso{C+@u*#jHaAZpmyZ(E*yRu799FAHF@;wD}K zx}r0CssZVetu8Ne6mMaWBc4^saQt!pH4m(t`d7d0$5IM{Zkw!!-Sw*w2v2=v4lM>S z|25^Ynh4X#8&Wv3uMC9wP*ROU3Gl0A|QwJ{ng3Ev;t*KbrsyBA z@>g_O{{ch;dCE?Emkg7?X5m+4vbW}W2n|99JQ#d&&Ht7zb9A&EPZEU;;!m z9H(@Ei}n=r6|;wNVsxArGonJ)+(CW-TIy%C;R4(-*9HMMPnW(*$o*Gq;ro9c-lTJr z@-pBi>HKW!v{<&~d5l%UZDmvTXS*)g+yE6P)PCB0;LYyWkP7YV;p6=yJohY|UhBLq zvf&B68QLmQmYn)dg)uB$#0v%2u(GdaV91BtT0*vrHlx;C~pqZ%+cBIIR06Bbi z*Ixzy!o0z5hn)StBVB9sP!%z`q$MHuxYxmSFsOL9boIIS4^F@PobwgX5_AzZLB9tGc*?iU z;SS>GwoZOQd(!0j%q{qD$u;)Tng~eu>WUiSJ+kufq>nNTQ~v24!T)j}G_*i2xl`^Wd#HQ>e2{ zonsYO&8L$lm+_ceq}Ji*YyRJFL#X=zpZh^{g6}*)6d&SGICNq0I0-vjtb{)wktk#j)L>{;$`i3%A*OuhbhZXJ7MfZ+=e@G{isG{;#L`r|jzg zEdIYA?*BK7|B9jt@84Pg|7Rooh%NswYy>V54747444Hh@vbtrVyo^PS!!nCCn2s3xF&_`N4jxviq~gW zGjoBqQ8xK9bjZG=m_hE(7yvH-$bSCndC8v=o`VnDAP{Kxm3Do#g?QZ(I(D4~!hRca z(H-wdpFU%T2;|`LEvM8UG5ibi88Wn_8=F&*nDtz4P-Wan_o@I?Q_#W3)F&J2RY5TY=yr95C+x`)Z zPcD6kauw_OW1uibwI=`EReG`QIRClua3rZ}n?b<%m@IxS0oGInKnVB}@Beb_ez(BU0QJmiP{-G~QAftv{!3!Q$9bPH|=_aHie-bLsU%9$LfGkV0+eIV{rWALVSe)S9yA&Ixyv`OI=l(H;0#9 z<>A4k7iID7^9Mr9Kvz9<*xB~5DdkkKx|Wt*1Ds3l(U4;O?;yuIaE|OPX6gZfi(r^5 zW5;nHVbs|k>;bv+o(TODiNV}D8fk@}7++wfuFNum%vvxM1BK3ld5SZQ-jBiX0qIh5 zCED}OCQ!MB09gAX60%!JTb=~1O#@`bsJh>^smTT$B<{h?pi=+s?_FhdtY7AaB#bmw zAMtt*8p1Gqf+0*r+p1GrSfDj(9GZ-H6|A3 zF=)PunlDh+A5MK77c++Q=XI97>MONSX!Y*~;`i#=kO29dPwBa5!VtHZX*mBvu0-X# zi{tSboDf%6n;0!bK(?fv_x9rB_1ADz>=?<|mOb6|&)O!(v>Ep{9T`<;jBVudXz(`4Z7U-*Fa=nft;S7ES z5ckL&Z#!o5$eBBTqVKNXv;$(osS;1K{sy?%n=}=$DJyX2mpzyk_5o`nL&~y{puuU@`iQ!q~8c6T?NMv`6yC z3t!odLjXAfcy-6tvDdO}5koq}A4ovqYBrq@`Td%JMFxf*aTO%IYUh`KIX zQqxm}4^CsF3ms$_qIJw^MJO;$T{|yNLzpVqLrYC)92Wy9hvo$31IjB9S`I@uiI5=L z<%`$~$PrUeapPes-(J=h=5A&^153d0T>$2n^jE;sY9{W+`S_th1&oQJI^WzXMcsD* z-YoW%{2R>k9ous-4KCDfvXIFVz(;t;>p=kkKBE4_FmyNd9-Vt`)PmD^t1Q-OV)P6z z`!UNO7%ICIo6-Am=-5z;vXcB8d)xveA$Bm=Txd1zme?PAtA!af7L%AZy-*1L zs3Ie=OI<-0OhU4B$H*TKl!tau(LQiqPjw%@nog3#IRFqy(@P3l1mSe1 zji7AM1J3?o7^2y0vX%D1>O&2`krJSIsEMvEJ1D!wi{ywyTkat!8QHa2-EA8EE#9LWj||%Magt0hhQh(XhPe@zsK#XjOi?xEKM6uWKjZ!`t1le) z5vToF5yut(Bb}590*7h}KX~ttgo|g?Cm9Yq@DPw)b`N%^w zJ3ZPL^2cVz$Lf&wR6i%*C>RdW8TyXrVdIA*I%hc2bt%-@goB(MR2R0*#ZZ*qBqT3Q&$+SMy*Z?vmCK1qvW)`F@l5HZciO*|^ch z@@&(803Q{!JFOc4l*X3d=cGe0UrYyU5VR|Yu6_NT!18@by3?a?yZb}2;#9i~e4C4! zM>ynnwa~~G_D5+>D%n_y9T~Sm>Mx3v>^{06!WM*=S_rO~xp^uz;T**x{!X+R0osr+ z(BvWpWennfCWu;i=@&zqbpZs0Z$QaMhQxTzH*Mg_O^s4*Z5; zPD=Y5mYNCEhTL;p(s2z^P$3Tkuq+S)mFs*NIGGUEqw~$wK*h`3Z6w?QuM6mMAgWqx zXI}Q&aX?gf)OP%jbpHE~;W|@_xSUaQxfoRPY9T;BhO6Z*Y0Aw*W`@c!j*7=H+OzXL z*Ot-(96<%67V6z&#HGIJSg4jGziOuGasVUvYilu=!i-GLB*E|hV(-7hx!(Uja6B_3 zJ0m;0WRu9=ql83eM#xBZNM)0~N0}jH3nBAmhGefOduB&O`reAP<4Op_o!cD8| ztqs8_3wYK~fL44!`nMNY2R4Kk+oe`oH*B9m+NC)rF($}ZQmv%b;5Idf$o*V8?pEKX zg5u?eFd{F5GEM{`puvxKgjlbC{p&#rVtsT*)HxSPKkvQH>=BHRn*})6d4N)=+Ikob z$tYGX4~B`}&4dY}bs_AR=PyKe({Guy#HZo?ZPDa_48CpN&)<9lbF_ly7*BwO+4GY5 zCPTfZI~}jqtTXuh?5He}_}t~ru8nav50>$<7guTeyz+s5`s5{312-|o-m{L(WG)4{WhO}TaA@zI-n)%xrXcQfP}rIS zmeeFrbT4To>JHK?K~nl1L)i-sSEP#(Q{rEf;dx&o38l`QbemUT;rZ`i{^#$!|4`pZ zd!YDJZz3+{B&n_c{Wr_f;Y9>PdDq#&vH4L}lnS-!@)r*XpfS+v;Xj&wxc78D<0`j) zWdY)Ojoflbui*XleI3xWwA4=A1w6uA7(*NpJ^v|W^sfl`z00?E9`^+w>P(OBwRAmDbm+{px^Fuca&MC zq&4TiAN0>9>-ZaVSDdyHclcjB(|-vLRLB7OicW7NFKlOCx;+xxtuwzq`=3AZUw?Fz zg>pvto53|vSCRI=;sTJ|G-^TSef>dz zs|Y+KEv@Y@Pz;3%EQ-2qvftlb)>5U=A|vM%7Uo2-$|m!UvtmDS+|CG&yT-rzuij4o z{&4cpA3a}lR)+&gS52kDx3~bBFyPLr5*rDl7o{GxAt-bY@8~jwAnx`&_pcnHM4`k-g&&H zDuA8(#nOAATigbaXzDX=-7-1tf}7KM*R&=86^aP?wY=E<2Gvm)AT8-!-r6GIQ|&1; zNy}-Jf0@Uw^@AH(UteJAgVuO7VDPVjL^-V$z|f$zf3f7d52jRQR!k(KB%s>`kgTE#|_4xNY@4|LsK2Ia?i&yFIt!H8OoCgAxvuDa6h z0Hd@E>_|C*X5>2fciNT!Q@Mytl&;^i*m?zD9Ts0q^?{&Epxay4gbrXyoP$mX#{`yv zC5dgdRP^Ye6$7H=f^dElTXa9l648mWfTRs69j@Zv_uXjV1eTTRyxL5HuO-*7?*sVi zt%-GzBZ8_&iq6ZWUYUSWRg?VgeCCq9G1|4Lr;|0@Nop}v*-Oq5|2@IVWnOizL6!W( z=QI2-X$eW%#t=E`yW&r?-^-T7Wz#)--p(`{Oo&w3eHBH{<8|p}fReJAe1Y&#R;`w6 zZUP_4_Bf)bY5w&(8FV_HgB}I&5TZc_{m8LwZ4yCZBbu|GU`{vu&7wxtSK08#m60iH z=n_`2Jza}EdL6@lEglgo`b|~-H|<L12;m4R_Z&Y#0w&G$=l_1_4e@lj~b`&~1F)6svZhGW)06Jz`{; z@r(W@y7HOk&uwVL>XGvMO}MNuy7PdL+f+W*SoKGdmDG~a>;)d4YfwwZ#fB8cxq>8- zyI!4n7X^TT@6A2hHSogwo7xM;ERbgN7s%cTZ-Csm0lz{LiO5IF9MGvCf38)iH{@h5 z&0HwPexyaxZoHak7G8?tYFO;60bYhYLhTwYw9#AUsJtB#?gmXLlO?cn7cLG-lc!9ZvHnNKJQD&u%L9rvE<#)3rJavze&64=7{0_ z6a&Y%tf?43fJWFM@Lp^-k0+N27@*ScvsS|=;erZph7r?xo)fKlN7$c}AnHrwUC_bI z28{Oe)nrzEnAft)2AtYT-h)m;2T&T%h-POjviz;yD>1JY+%5>}Mhyab&Pn~BUjiSj z0_nO^CKgDWqONx*Ylfb_P|JCzS_$fxoC{+0FbC)dZzRk4Yx>|VS~@(u{W<8S12AS0 z_b4$%$<0QLGBC2gCQknEIR2O4wOoaA%1%5!a}D5Sec=)NqfmpZgO)Quy=&YEfqIl! z07A0Y8M1whIfFGf`9NKu=-x2MpaTR?aq|h*XRE>7s8iH}9ZrKVyTKRAe!eK9_1Eg^ zU)N9MpE|G+aD>Ugp3r#9=4-Zivu9KFUG{EDD2fJ%Eut!+E zbPvM*b8j7ut}Nvkq@5DpW&5Ws!f(bv|MO-Y)k}szh0F@hBdJcX>k=?9%>fkAN7%Ee zapR>{6oiWIfnY>KXd9pyAa01=tCqD=}j*LQv>(w*_79Y-m>Zbf#5;=R426y4`rB zlMRysWe7E5IRw9G<-a{X$d#A(+Oet-KH|gy34Mw&C)F~HHe)~w?=s;}PgOuuXe4~b zZqhC@ZJ_-G`(}ACZvdeQ3E%D@)~)lXK>kJO!fO@P?diR@LgbbqZSYvh`&YN%-!Ts8 z+iH+8I;<4Z+Clq-@ctt|MIyXPHHm}U@AYI!xOJw^rg?5ZL7X5OXRll`h7klJaHDu# zP^^zQo5LUSDGzFEtEzc!SciC^VI!>LVV8MCIQhLh!l48*_k;g`{%NMq^s?CgLQGsH?fmf%4LAcsoU#C1{9>6A&xfTt*@D-~d#GlfQr$rqXYImC1RbwBuFs z{RUJ_^8N57rH0Shy33Bk0OY53(cKG!%%>W?izZztEB8J=xOYa(t%P$DMy6jc@Qj3upcf&Sd{8Mf ze6S1Xb!1wHXL$lQ@;AS3KRMxFcp*+3Hzy9IjZ68+tKj425UtU3Id_A?E7EQh6buG$KCVcTElo#P+9rq18_QAp?@dI2dS; zP_&VgGNS$cuMQ?OJbm2@6{J@L{0m7hd?D6-QIZ|73#v(-7SHZle3*vh;7juC+sYVI zEaouYnT{@aV&c-uPmdma$RIXBEG6}CMv{k8HFxmwbm@$4Q!7^h^;2XyD`pNc2^z`U zCVT_-E{I%OP2Xk%z003Vd~HtR$P#O!ZX#St7@T&>!qXwb?}LTWDouj(9#F0(o4Wtw4Yx^ z^!$;#Jg%U&8L^HX1L~DQI}{jN2-pPgJ$Y}TzVI?QZ`!;D?&erWf(^z$d<0)uZS#^| z6~4EpD^*GdeHW8Z@lVMY98jKWMtcB(!8_K%p2l0>MkJy@gvE2r4r$|aRgTKILQB1j z_rl!M_GRdtCzwTu54)byMj%*-i3sNebqR35x2A{_{8)nIlpg{WOIn*IfNa{Tg97itRkb(p(v|Oj)W?v<~ zUl&Y;x*!PJP8*#4%|T@JE+9=Wi5rUMEOov7_=dLh9u_1?Dxd z$q9&@6SD*QG$f}9N`QO9WUemQgW*5ULZ7BCsGNqHrF`HU89~%up$YTGDdwym61bq) zu=r33lptpADq%UjLhYaum!*tAYWG)df#%&05Ej%)M-oII1U~!2P(ibv3zEJ!@Apcd ztaeQjzLz=yGDzN-=YsSS3|*6KD~7a--0)1MgG15&!3-Oyh{WLbpLup($qncacvE3H zbXvgxj=w*soQXiKnN|nVNCAcFyA9v>w&4WgE?nAq1vKS}M4NmlWQrzv*(nw-z>)hZ zw%9JC2bY=s!AQfgIgN&;f}e&x6@eo2Z(pA&T&4MmDzAceWK8md@P&N}G)6lKN&!h1 zuoV5^+J^X40Flpoz(5**J|R6{KA`q$Ei_68F$Ur4uI>lv2t=AzpvrdAX1%B^jE3@} z?I(%Nwed6OO7*l(WJ?CH{0U zJN*g8k;>iXPbTtVQ0Ri_dk-CrAajuMSY%N|AVP5*xzw5rtOfu6N`R|^gAIa2aGqeu zB_8-%WzXC}4eyYcPX&(~7la-bCoW&!YdpG=n1jz;amClB5yVfD^35BNf$R}Xe$7{V z{K08f%dY;wqG{rm2|*Daa_3T+Sm@EBC}!GfwbXP%7DRlHvB@imZ^7FqaIguabH$;q zbCe7+7M^sDS>)iEm!A0Re)`YfpE(P83p3V@mA6?XH&%4K9v`2xJ=o!UZCBb#0YARS z{Z;pxQG-1X4j-7+6syiMf}-N%yKwN5DP+!YRi-T4~MV56|;K=ouOQ;|qk{d!o7BfXhnV19?gY};F; z17kB>P--{B|J!TgGy$9i`RlQ*DI|FMt%mjf3*jhjdml(O6M$;e1@a<`Pv3M> z+cv78sQcRNU^Y0 zp6EaRXbhK(dGu8AFsy@>p;#U}?8FuMM$F%3w8;OLVuHWS>XXENE*3($3@*jjEr<$l zJd-Z}Hh{nb^1^4~SKidIfpsY7P8}puG~wK3GDiQWbzmexl9Q(HnA0k-*D^3e4&8np zm~Oh?o-KI5M0mU;mi>GoSO-1IYb#GOOX568cz=I4!3&JUfxrC3ctIJD6~eZkz)7{b2WqA{vchm&~XpVmRi4;D?1cZbCvmi`7u z(~LwaO4}iU$4T+GRT;c7Hh4TX++%Afc^k$YmA-pCtzKaRr-{iR$W%vbe+PN=+Vgw%=4=f4sf_&m1RP zxDWJlBA)!?3LtMUC=K4y{+XRqByfJo(c~1Q|LN_(3p&FN5oH$Z=J~e}NzSvr^Njw- zcN6J_>=_{%yS^a!8iwbq{M$tEj|{^*7CGLyV%KQG;mPc4tAzjQ2*4>g%?w+n_2x_Y zM0U7rZsvBA{{Q#}KL|RUEWGQfgz$~a_KUjz<;VNq2UUt4cE9s^f*0~gTqGqB{->CM zgpIeblsEY0Q`SN?M>|~)_;&vz68&!!CB}jW(NMolTM7Y}{IY54Kkh+zymEL4s)tOb z=+a&&ieij^I)y(YDV}~UHb4AbZMNViPgwrUTpk~3Mj@>n5TB6Y{`IiL zG~OUZ^cFNDI6$E~W$QJ#2zG)P-#Je3g#}~E8;=g=DQ79WkddeDvT@75KV#%+_&CZ@ z3+{MGX2|F%miQ~QFfsSOoDMI0Fu7*1^)C69oQ3TXr^_m2e*oLgKGh5mYXmwM3!-YV z{tn)lWeVwlj_e1aKm9UFAZEevpxnQ;?zyVyOb`1kyLUQf<(LJ{@@Q!$EsQY&(#hv8 zIoIqX{2a)LrCqOiGRz^eDefs>0sGG@S6fS{w!}DWhU>jx1#1|Kxi66;*GzDR8Fqsi zmiEiH&$~7 zxz24+H$psSw}I30rjpMKvrK9VTG#Q2l3V;B;*J5NnY$(q#Y@rQRXcC@l^H3$0oB(9 zO70dxde7`?tcoTLKTv{g70{XP`>zuBLYEmjh1ZRg5rKsZH%l0c&0<7@c5iBCxzod| zCP%A(pVz@FW&_dRys$+@unvmB@~Nb|e{2ITT-&lIN+aK0V<_IN-BJBC?y@=`HDcLW z%gT9oI=ig@SG{TJ3fva!D%LL(9a5yd$zI$HrY_2X3$3kl z?2L(clT>Pef^CA(b?8iDDvI1`g}G?627ImSi;du5!*WLDoC^ zio5LJ&35(N-6kI2e!DGcJDpwPL&CLhJZ}#0&u2i#Z?z$7R+4&vUgH@w#7Z|#Nkw+E z9JBJHhfT9TLFd{x$g=P}`Ud_u)7#9OkGWQq59{ui(baB$9onAa958Qf z`=p6j_`OBI{Lj+yvs#ajcCIy(Ps4EcLPj6Ywg{#8^|pOsG((A&m1sgEN|s0pZ-l@E zBCNBb;uC1so(d{U9Bs-Xa*~)kcapGm`~i;_2m3+=pn74FRs4fPhR5{ssa24(EM^6LGpbgU1~^3LXwjzWWd9-1=F*(PuT+ng3wiyK_;UdJ+Kp;T}& z9|Dl!Wkk!&07Ct|4C?1?k0XaXEw2On|2{3+qfPwwkO#>5k)lE`q#25B{_y$yaH)zU zx9-^pyJRPuwHgAG=bcCO`%}XpaR4lvuq$a2hR6HNXI_VT_Lv{{_g%!O!BMHnlKtRg ziVBXGg1mYT;DvE_Ur!FlD+XOpyoaB%tMZn^Hcrz@pcr1iGRf4T0UV6fTv)u|V3ye@ zad2zg+={<4cQmELFaItSuBR-y^wuJwtkvT;V+LCf1s*4bdaOE)l}tCB%YNys*0pG` z9P83AGW2t0ly?>nl#HPejt6hKH&Um7S!OS}G_F2}2B}}ISCTj+po7Ss6Z#_NKo3W7 z9xW`8?e37RQ20kfvpdBgyM_SbP)9d6x<`Oj*LC&T@fwr6!_0_`RTm5Cd!96> zEqn62pUd1 zsSWs?^SQmu#IYP5&cvZY|qLfxnaF%P0+lrJ@ zM~@KO4nmm0m4}F`DNNMM{Np;IfvEWT#b<-2c2hAHzZ%9oXly!DF{xCw>Moce>vcV9P!Y zrowcR`xz%Kpw$b&hx2U=MY|9VaM^r~Ds7WIq2W{p!b+w*Pm>Qoc{7@iZx5!W6^V>A z^Oennm#H3uJtSqp4`^MKInJvbfR}Y>0|(po!fw<~eG%o$+J2RQt)AhfTxMOpXtn4ShVkx#Q9UNyc zKcjPDsYTYMfrSfp1fhIX-0c#z5vx3MDHtrz59{A^F@FQP(rt%6HnQDlqUG0KG1_L| zh`3ulACJy=dV|C5R@31C++^m!Z`%gZK8cHc~7z%7SE7f=7@rG{vh5I)lH(;}0k;PDBM#u%vJgB!)Vm2~a3)-US-D`LrO7-(TZm zBQ5gs)O-Lx4WFr>HKn;*|41O=S1zNMh-?sL40K1Re4=cc+fLLHBMNV@J0#ziHFlAP zD?TI%boo50;qhh31jokWsA>;H;OP-RtZv3*wkwS5-!g%d3prj$Z}m4I@61C}1n;52 zD2B6pkM2N<++nka#AJfY49UWyF_?RVdW>{ZrrJ_X#jGz`$ zK{%5F9AEBHe^p(Q+lKqfTMEu67OEwspUwEupxR|RT`@_vGwXwSFq1%kp2${ zb>)g7I`yv~&b5XkSxKLpHhrua2AjOX25r9h(PndJ+jAGm#WF&MBc!41c}kI}up}U2 zKJgN@cy;i*UgCh>`@ow}hIfqDNxyFZBNy+P#)`RGo?5mUJ5ZNI6reU~22okfp#ov6 zvVn&b^Bb%RMvx3_L*F^cE%X-7HZqApG@$p;%|E;?^O;5RvrxZsOv>`nmp3@)g#wI9 z?FsyhO3QEKu;@NccJ5bJ5GTKA>E=3fhWhpLX0pIe;_bs`v7DZUnoXtcM_ZgkhW*nC zZJHA=x?J=MKJ)otuO)!yIF}X$pXd=lYaHl&Ej39~>H6=a)$p(4^h%HRXVA-@tV4L_ zgd%gq&14}MF^=SGH_ET};&zWItGh><`Pyx0gwL^-c>wYszlAG5!)X>c(FM{z8q&ni z`>KbEowD4CG1I{4#?YcC*$R99`!hM@O->NK$S^xAdYI%2vT2>L)c1Psqk{Nq>?`tbTy)zPaTVyn}3h4T*Qq4Q7Xys2QRLk&qqEfQ?I5=s@3N$4ZS zh)Xj#(#$9kCf0`0mVFLrvq*Z}SxNzGEQM<|N2dFS9D+y4G&eItOG!+WF2pEzX+ADu zbTKZ1*GDswlE2n#D!WyLx^H!2xP*6EY3ExqcEvbuN=GBk~JH zi^qo>2}lmIs--}sumJvDbe(Gx#B|f~PDQ!LTS2K0znbp0)@7RaQ}Kg^~s zf`tz~I(vuCshh7&aSb-IHb`&=tB8|*WFixuZiy&oNX6&Ze$oGheu|?Neto0tT>h>cvqN<$0s@+b`V)ZFJ zO{s}M%x$C|zGg3WK^NjHYD*y#P230M5NX#NX&)@EkjLzublf+pycpzoJ16~JV$3N! zQeUbG@jZYy*xy=w{R7IjFa;t7;sc=>;&wQsHb)1o3I2D9&rh}Cte<#Z#_JRP3IEJG zb1a_`&UR_~veMx}9z6?I7vHRc{Es{e3g67ls1z3zRU^|_cSkbleG^?kdKK@|{uzTR zv+~HaheuoOZA**|4{IxzH|gi&iddRqw0h@t3JB3gZ+yKFI)Tb%t@=b{raZEG-UQ#N zZqjq-owumoE!Qz~^l1iq&8Z4zr5w#}@qHLh&B?`l`EEMz&7aj6_bR9g19uLYn|@q! zGmggGzKg?>q+rg(+ZA(=9Lf=RG zP-iBd?C9!s^ZjAf-QeS%X?!OLHA!u-(^QDr+1!;1yhk5T)d#Ifx2cY7eZyY%1shr0 zGoMtbQtP9^fAsd<>gfhGVIQT(>e9G}-|8Zp{7)Pw2b84&_l@uV1ULZR336PjcoJo( zjsG;fyg1?ljy`b(!p!0PSY~cOV?XeuhKPas$mk;=3~csq^IX0ZfmNm8|3*c!SrM~J zHLF#TvG5zljtYW z_%EDo6ZQh3o92t}dQo z*0E?qEU1ZPK_GN})$Rle&r@`y$nb;M;C?o|$?$X(g@hOI5x=Hk{CMrB!EAr-5{T(~ zKah@-Hg3T|EAG1=gu$%NOUi14ee1jZTd#oE1C106-h9j4nCOx_q-j2QDnUBCG68J@ z9?~;LCDaox={cM&r}NjU7gG^;L|xz8>l4*&cLep*&Ex}DW$&Bdqb~yFb(y*~NcoAz zBVx*{vhF7RwxKs&;_3F9#C@Z*UIf|FQ!Y?$%}{TCOEhj10Bse-tD?H|QxNWw=HuKl z|C$pnK0_+fqbjeyo0u1Nm2rzXSKo404&)vQgNje%ZuoWA^mdu?4Gnr_ z6|s(d!d6=SL`oXwxa6X)$IxhUhoNn#T47Ji%)FUZ28gFR6rmzhy#Wdzw+I(M z8|*=Fry21aLkssub|{fe8Hc^Dm39(39A?E^y3BFF(B>Alsr1fS}OU-a_gnIcKT zXBcHx8m4)yoHO&$)lWBPT_c)%bnu!*Ai9+ir42ocQ{KG?XtZQsOpjAQ#T`>E#2R&@ zn+{Xwk#v{PCa&28iCE-go{=+DxI!?T%haG@!3Bkba)iNLY3PfivVdm9bGxbsnq#Ik z2fhiBFrC#A@xCX4isv3t9RJGIiEc__bRro$?FUsJ41I^nu2NM8@_PUTIqo^HN9N3Y zyXu4oNYEhq?;IgKX;=*;x7{4xc+84X5r4eXN7kEntUh0K+8;os_ej@>Zs=x_7vU2b zu2UNJM-A_$ue!TbtGUdRu^CEZaxMWu6IJJ2ny zs}@|Rct2_&c!Ezo`3rnhbbf>ZYWV!$T0O2j-Ow0z&H^QDCX*t=P!%6`+=0zUn~?8O zr!q6z=AK$t(xALVutBk@9@W+VawG*_BbS>_Q?3w|=$CLB;i3x%`#pXeSG8pWZ-o}| zM|kJ@-RTDJ~KpySVnh>#yqr-xWo!+hs&>I6wKVq+dyjy0U+|^;gD<_lx z0JG{!W1#gH`|G+tUsPZZib6rV>0z)HmGa3EPW!^>uBrF*+&anFd{iIs_;4%`4WUM^ zlp*^yFLni*{+YAs*S}|Unk1v*?cR&<_GWy~I3FU2a+%5K`VNiH{wjKB@f@|0yrNK_ zEY8q$tUhCqI_bRA_v9qAPi+CzE($rEix)$^qynqcL8eRWr?}91P5HHlWYrF4{it}t zT`GysvviZ+Qqk4i(&|8!1=Fb(Tc|u|%g$EFsXR1Im}K?X2&Jw0=UcNCIg^+f$NOE1 zyV)g7+N%U z?UfHCZxk-E*uN7RxpZG(c%c4Pq#};NQu-C|u2(@+O6XC@*a25Tfm9fZ^lDr)Eer*c zO9YwJ3gNWNr+TVWNydzqh)L-=Kbg$_lc)0 zP5il1iij5R(YK!*N_Gdyu+wx)`zPS$PtWVH?x#<02$^q9!2rb}`vq zjc%O5LeF`B$Ul(#YY4>5>G9rk1T_XZqI|e9@##Lpz+`15E}wc{Mf?GOQmDiVO&XYK&QVynsPPcu%L=Sr(=CQNdN0oD%Z|0;W#@p2Bnr23TIew1g}5$01%; zuMubb9y6^XLy{csulOIG`o>7n6P#WW*?bi7=~D6SVj)h3w%Sxdm1QuTq=V+b4T~U- zo`YbJuQ0C4!(WLQ^Ps@f*QTCMxY7KP50gQ5Ye%S<=tU4d!_jvS?}Z2TAZZ=(5}K@I z&*f*yoj5W~sE21xSK5CG@$^Lv8FYy&)hUScY7M?#>O$45yVRLn#+;Fn zl{f$`f?xT$IfND+<%PI%+d4k&m%H(;cG!_;eg9iAy;WE zE*uQva&QfOrBs#}3w}w5f|OM({#z+VWVh9&C+B|th#-`90 zN_QFHv5PfnCFF|_Vl7QI@w!=UO^OPC7Edd@-|W&J?v>JE2nTRHj>|SI&iCUoP_24V z3%G0(pT1nR2Y{i&LXS_7Zjl$aeX26rzxBwwaj5dHzU&m}yTvDAjqqS`Q<7pwdhx)P zhX#}eCEPDZsxm@-91@t&ahd#K+^UVIkH?GVTPI=ryj>Fj%(7QISH)5~e;mW?KRH2F z-tx$yXcp@<`UPqiZC}-P#NL$pw3~>UN!K#|1dqngZH**xk233yIMz~EL zsMRnTOU+<97f5Om*RF4vl2ZNB;7=_O*E z^wAy-zclRR&c)7Z>n`5l{P3~#_nF--noQZ=YJu|u+4R@nh3s|rlhID`Ypu{88FakdZ^|6c?M^O5&o=9ot#PnlC7V-hE{-zd& zgnityxzVR*y(WcF5hAUlV%boeffaH&R@-H_hQu?^|A_5!vJl$^Y0s#3BRdi!z~;5# z{mG$9GHQ%Fr_&uGBiw}qdEMFBwzQH689HuQ$+~HZk4=*uf~P>-yNe&X<7wlH?|e{0 z)82gUg&SIU5flQ?2;PYlQhH;4!@xjF7>}+ebe2rx9?4rzj;v4jp%_0;T+V3QYNCvzUsG|-$>9p@nrwPsfz-ef|^$@>@yhZERs>aPpKq0b&dCR^D%l)dPJzV)+CV_Mo zU2T9Z4z13;>m46gzUsnbf|$~6_sSCKYFgd;LaMD1I74S(u6FJhCT)A*JA?PgKAVe-kyB(`5m)i%rf0; zup5q`-iZa_s&gCHVd_bfa+d$O!*aQd0-Nsa_V$~wCz%hvES+6Clg;1FIcLj~zehk8 zj?Fp2JjY**EsV*9qkn)vq^M9>mJIDrAhLQmej~&*NmK+qMv% z{y{XEnPV>um_Cs=!GDWs<7URk*iXo)13=vHfw3RGk-b(xz+*^1w4Ut{63q->9h%}E z^f#qN4KMX&Vr6p9@L!?NAK1-!RYKkt_C&`WI?C4&MB2y;nc~Yjey4)syow-<4rDXg zE)O27$H_-e*KGFAKk8$pQ#QhoejjJ?;7Y=(AV+@ISN!vLOj6aV9*5}n^6#Yim1OH5 z4tBp;5ynMU@YD`ghAdPw`UE>SK^v|UfbcM{=_~^V*qd-~&JEC5d4ozp`?ZvUS;$fv z0kjvZ9BZcn#-kdW;Wk1+OPj{i=AwhEY9{!ZH~EB9(nS2ZsxJ7^C>V^K$A>5MXvp2Z z9gx7OQ)G*oFf{qRdh#gyj|gxC#WY2+-xbIpvbouU&QPIjg#@vAJ=m3e2R)Kq02>>p zP&F@0C?W^$tZSk;;(>@jn~vM)i7IX15TP6bda;`p?^D-KaqC}uHBBT;X@7rOFjV3Y z0J14f-XpWbm3Yf0lq}OVh76+k`flEww`X?2{|2XsFUO?JHb}qRmbka#SiO&v+(b2J zFYx7s=u;!V?suhaY8;Ou!4GC|#Y^k5R@_pTwt+;g4Tr0$L8U($N+X-Jg_&otpsM1C zJGfcujKP)Xh!;Jj-Ph7n{EGG(Q)SW9{J8%6P-cvH>_AZWPuaV-*EG@i)&AY`r-QAdBn;7~cgn zte98Bq`UL2$vfx6?-m-P{cGPiEKI;zL?N{fYolhB`(VnK=!l!kZXgKRVt5*PIQpU$ zl3M0bx2t~DjEd1CQoT;uWAp>_q6D4i*T2IRV~-I)qNj`xy?~gXEA!M{=Q|r5R?P?@ z+fnsR`lQ(1wGYCPH1>G<9`FMPS2b|-6UR@a8XsK<0=w?-GYLG!cZsVAFHN10ohyLx z%?P&wm7@K*K6_aNm3D&(D`nUArC%YnOTOw5-AlRDI(f+p@wXB#M2LO7#N;e7;XoL~ z?tk&oIotVLdPa2x#2?6Y3`pMM^DVsfx#pacF){$S!Wq~mpP&bb$$ay9B?xnNjy%5D zlVj@Rc?8{fclL83sQ6%cy%9w|eEpXql~dFh-28XO7}IMk`-}c7RQ-7g)MERjBB6?V z#7bS;VIAopzlGK)kG(zwNnvMDS?K^6z>PO7q^Yn`YAgq=(-zQ?J!2Z}e3%JhMUG?U z3G*_fV|(DR*a1FH1`7Pr{Mwa=L^6f$glX41$ zyCMV(*JHMKH^lB2?E=of1F#l%J`luoq5>~H+NrpJrw_-c^@45Q&1Un!PoB;PMiFA% z^yoFi3@<0*gOQX>_6CJ=z$!{M;ZQ!onZ=#p_Ot<#7?=b5H2z#0r~;VGi2+o! zC=5giW2c(~-=LZ?8yom0oNf}t42Pc)XrsQZub>ynmM_itjNd$1h-0u!N3=KS5!esO zwECu;EttY;wMJ|k{dHe2zM23F32*$9IWV77K@=QM5!O8dN;f{6o9pI^f^J5ux9M#9m=>%>zuJaTHB&f#3e53rnw zQbC5+C&5+kBF>WDsmbbGpJv2*+7Z2Nm%5VTh%IN$LS2Y4^UKUjVSbg@^vPy)Vk6S{q2!Rol96;Jm*g_ zqy2&^XbC_HTZ@l0TjCK>$%;~S9X~`K?NyIx7x@OHEfZ8I9O#iC@3LKD732 z(=_tSLz;vV7oa@g7Lnzf(2I5}Ds~Z~8LkqMOBa8c8GB-RXChwfB;n*ZgM-sM@&+}r z+9Js;$>qgD?&XdfuG!^=IjdTV>n4~*kn+EyYTAVu%N`xa;>R^Po>Se3geI*BcNe+l zJ6z>11N_DJgQ`Ad_IKv5)It}(W^h#$SD%BEZi8}2=r%zy_&79P&i0k6CtmX$zsM)63AT5XzmJN0?s3C7Y!mtu-F1KL&C) zGJ+n?HAk2eFc}<2IqP}%0(72JCz_b>?0JTr75OJ_@D~2aXyM8Oq%upQYL^w&yI`Zx z^3OkSIFc{lh~r~R;s%}6UjMx3@J62eQO7E+P7seHA6L*#Hx7LQrfy(8 zBLmz}5;H211@i+ueIs!aVcSvTD=oSmV%LnUYJnGkb(~VT2Vj>@#KF&)=j~x|b3l&Qsj1?rhH$U?*g&XHDvW2tr?7z(Yqox*4jF{1Ltm-!Ou z6fA5(3oEoVAMo+AnlBF3ZlGP&5u)RsoWnmMf13a8J%g=OmTM#Zj5(v*+7AXNIQh!}LZ`b%cGV8L|rk4vu*@7`XI*uE^>CUJ+z8xvB)c ztmsTU#v_d4hGp5 zI|55Duq0cyuIO1w_Uw1lx4U{INZDU2eX}x;HDcKL2rM+|OyS&&*9QRC%Lbx#r|dR) zWp86O*sU3E$;fq$(4}&g{lNNMyVHZnv{YT>F{n}pH$ujPP-5R_ilIdg;l0gW0-fB} z4n1-E=;(Ws_it5iqVNs*0K(U3|LjccNosF_S{ns9gsy-YDDlYL&fTo{tmYDXLjGq)1^cV& z*yYWwNH))|Mw~)$%hBjXC#J@glY%N6llYAM5wgL~FgUc3ID)Wrm22aK2Jz+L0^Qm1 zg;R~mv;cN_^+azU=QAzeE}}L9RPmI+gu*o7UpO|Ros2Csn}%BEYw}`S<-iYZU?*OH zQZcVM*WYl5ypj<|9JJGmJjKDHa~sUz-C6U}d5halGl6tvF5pr{oF@R15(64@HQ^6{ za2DoSeG!U$j{`ZoB@K{UQUh0if61?UA$gaW zy9gu^Xq-OH*Y={XdpViJ+5kT))W#8L8{3G29i(`qyx8j$u|JEW?^Xa|l~{DPMw%mU zp*h0h-ms6WUz5fB)`k&(v439l9XjU?>Si2+#K-vPIvFYNqe&|xEe*$W&L3M;y$qK= zDdU_Rg3?-)n$T!y*dNNVFzT(Be=})y=K%^swm*L1fmXl!jg$?5495Esigr{UAbQMj zGmfE91&#A82FtnxPMjGJmyyy)6nbNmJU{{C?L2LT5|A@bmQ|Gxm}W^wpzH4f^aTND zt7=G<*p7SLTlX0N1>{G0rx;?Uxi3lXL5Lm%A6waOGu8v~kM;qCb9^Jh!T=2|N<-%;OOf6@IY82&={6D@K(SW^^T1Rd_VyTE|yyuASfH3f;juD60;)Q_OVGIT06hx&c~ zTQ39;nNif-+bYW5H^Wx;UBN_j{*P|*&$d2vYbDp|uzRy+fgSf9+ON;}OT)5?A zrP{yA#=R1RsJy)5m+JIqjiDwMU31GZEOHpBWKV+MJ>28>wX6FRVE&o~=LOn-kK>k3 zXP5X3E@?$%)P-IQ*fFG7?ryKU94ziW5(7>O=K5b(TK(w|moo4UlVy~~dp?Y~LFnJD zh~u&=IE_M)>vp4^-@C*$(JXz!rN-8~_lc1WXkJ(D+M$%VzQj(rXLhy!L?}Drn8O<^ z^Uu@ne{^TZ^uAfht4JkD~? z_UtDBmN{)*gN9cjee=Zloe}6%EO5&e*X=z$YmZ>4Dz1`y_2?~~9tNi17=Wfv@ld<9 zFkxaqy#1@linELQs+n`fapl zq1$@Qs}GH&Zq@8@8zAy;1G)}RLdw|GJxF&y@h%;mzu8EkzGYR~K9qC>UjwLy?J5lH zusCnLyd5OF??OGn843wJZ!PuwlPE$ZMHq#*ir`rx)*~S3fMBlXfTSF%HTqJo;-ysR zwzYBhQ=u*;=Kf&8O9V~^O$_`B)zXoN2&C^IBl%EwWUJr1x{~*3!pbeLHQC($*21n& zNI5+K!nTVafA6~ZyeHHWYVQE5+eNF#A*<*NM=;&Ad7s4%I`C{)pRzz3I>}3@C<3;@ z8->r)Q-Bid0A!Z=7cWOV;Lr=ZZ5qFKx`Z+C=X<>YF`h!5VS1eR2V-m|VUw5*aXD{$ z`t|hJ@d7I;rDpAVzIb{dUs^l;jf}ZPD}bn-s!u*7+$$WKMfZ`$jZG-;u7H?tZ*`Ws z>b6LZ>S3n3g$7+Qeni%Kf&q*rmxEq;CF#gedZ3wJ_E$zo@Mv|4xX@t3_urTauKR!CV z%Y4b&1V8HKkva|g#6Ho5&C&%>aTjQj{8H7V6p4%uCR+Cim~2hj0RltAP`y>!*JUpu zXtya%Rwr_H#Wi+J7czi*(h&${Hjkj;)l#nZEDd~@* zpQI~_DBsYJE17pmnR_YQZC1jt5{+oIp9-EEc|RHGj*c@V?(v0J=YWO;ZE}U^MrExZ z*HHcNCOCS^N_<;lwo(7sh1^$GkLL(DXE0o*qguX4tB#`U8TOMn@L5WT!b|D){n8=D z?ag`R@=&ORl?ndhP{u>+g-@$G(A8gCB@g&I#OS0kdy{Up6x=?jo$5U12~6B_`~r!q z8UuSz^5K7!+%yU)yHRHbIs_!Ugd_5!GAsQBBQ6w`jcm(@t#2``yfk{hJ;V4BBNdB; zN97oYR%8HcSH5KBe|E|K9ZXgw$&LceZu?n59=YSZ=n8UU9WYh4U0?Xt%7Oi58`b`) z1mN?DcgUH$uY|~s%1k7Nv@cutiCOl30_4O@^MpE8llSzdKQ*=7A9UGbnOU`&{TMY- z<#5rJ+}<3YNdG=z`&m=!fc@qh8AFa?7s}W3eM|hmWIcSC_3%>wNoB!&j$T_(7Zmk0 z%qMOf&e4QNpjX))o!Z&U2+xqeCY1wM%VlUDWO3y!CUe7J+?|E4h%AC*gR(fB1-fjT zBXGOi!WT`u2Dgi)nt#?+R(rU~WIhhqrG4AFra3Aj>Rix1#YV#LxlSxIT2ajAeh$c-H1zx>lSdaMUmNr!GNMaeK_zQzH!nR$#xUuEN8Jk{L!K)c;j!>7U&toq)6|cwZZGq5Y&vr5p~_iltkA&p(N(B74qOV_pI*Fselg{K>Y_onn#D^OXPjqXb}bd!_ytQ^v26JZeRik* z#55G-9X5K%qW5WxqNio8Q^uUc;!@9v`U|A+1koKmUi8Et*`O@r2nfIGg`%>y6B^hI zj|($13qF*79=iDuid%$}e1CmKuNYcLw2zOr96Qbijvl#QzTeV;-Thd=VMfj@oM&+l z21h$$ORUbIQ>_YPFmzmlJ4?+s20@SCtQ*aujckEZ;vHWn4o{x6$LMsjJwDp4cZrs{ zH&5*_gKEJC`<>iQGKG^fPkn7Vp?m+vb;ps@Yuj73m~p`+Z1$<|o96Nh?^c-$4=agH z@VQU&t(^9`Ttr@VCF}!uoiHLIUY04|JIFxDha|UrA7@GZajs)dNQwCio$7t*h7E=pS@=_xcVZ}tZeAUsLZ$M zs#}}fn~>Mz)>rod5eIxgO*oC}L&ce(R73f;Ea6|l4lz0hlIH@Lv0&jtQ(t-30z8)4 zJ+s_ty~|bsBs>Ts4C}#MlP^p@iCDsqURl1sh)Ls_sPam2~e|3KPa8=BI~r?AqNHvN$qDplQLuWyg);9K&?6qT9N z1R5kG=NHH^$o72#uenvV`CUHsg-I(ZA)hOBp*ci*mq(DO zzPRhE24q!g;2CCHrO6;hjqDXB`CNkjke0=Wz;p{D-vfA3UVWkuh zL^_m^5D96K1_J~HK?!LAK{};NN(l+2Q$UgK?hDS8bkjD$@v`MG_1@x*NmmX&n>>w;PqP62#ww9DM%@y z>^Ue^Ea$hq>ed`!zqTYpolze?rVzz1f|4onW8Q+|Ur?Cy2%rlIdB2)Z~NQd?hgQVmZ2cU zKehipH*5pt$)o+U6m1UV2zr1+&qs=SS41Wq`mxV$q(dfs3LU!2#I@L(6@dBtsG}+VB<(7sEQl2fs%IQEf zbU(-PWm{nUey|YR#Yb-MHBbaa{_Wv`Mj%{srml|>ph^#(YqMiM@dD)$R73&-;pAum zDlmk0@(qvifS0Vx{^raKqP78)?n5@qkhBPpSI@>d*YykM#@LURe|(on@=T#bOs zo2>DgT}%_6#z9`26!Xc;=lj|t_covfnE`2obl&ck_;fY{pg)l@f^KbL%vVfD3SR>@ zKo!VKr$)}0;R3~g71BIpOo96UcizT-u$#&pfXMnah_v6pPt9;PEwdkD^XVED#T#d6 zu-!lmEuT`UxDxcA$UwXULj5w9SJ=Y{H<#K>*fS#)H#(Wvxqrhj|6U!D$$Iw*~YE2zxgYKI7%S^=u!$ zER2em@(xNlo&ofd!fTcU>P32>3-zH>LD*1{)^A|MtG_#`OSgc0n(~k(Hfl$LSjyM% z4>ss;Be+i^VCF!cPK8sjp3rNj66q2y{DfCR^_dN!Mgk0}m+UZj0Mn5E3P)HQfd`1} zz@9SU3S8kB?r)Z+bCjs&%Ps_)mjSt3Ab zUhPl!|7%MAdBp*IF4>KY!P^eTLLefN{PYL@`v1Ca7&-VV^pqc51?c>P#*X%XF}QyR(?3U+K>Q=pR0{Z69(K0( z{~DkL9yd(TI-cWC67=uy>|g$!&PyenQlL|DF*YPBN*)P=D$mz*{EZ zMg4@x{{0jG@o&apScxd7H`kvaJM9Hm=gt4)j`)!!VZFd^st0!zmN<^`U(53EuK?CB z3p_Ht+V*hk4eu7qI`yMIgZP|Z8^5gIGk<$GBs!;yZ!sgOPSdWkY!F51g0bik4 zvMj|k1GAo98a0g1&;`LTREwm^+#xC53a1YvFm^IxPyL)HLIU?<(=Sp$acruhT4|s6 z>LOnc@ux5gG*zBadE1+t4R0dC1=&ST*RM72LcM0d~TYIbTyaWwvZU_4}5 zTlVOUzDD*9nUwf#lo5P`fy^j`Pc^I>%Ab-ou1C|ru4Zeh`}1WyiK~UaE!HdX_DQT1 z;Gc&9Rq#lCDSjXTgkzdHR>-A74*E^cnEeMvf89Y%D!HTbjpzp6<0?%-y_VSDhrK8v zJog>3*Ong<1pBg&0}B4#I8j6k4Opb&7f2!PJQ3byO^b@m7Ig!BxKY_Y#^iF3P0iQ$ zjb;KPviY`O9UZ23qBzZ4q}1%wGGVBnTo|Go7hou7z1EAr33f!Q;p!Rbz$SWx*(Ise zffN6(_bG9fanzg$;6pU!)N3Wok%3AofYt6HR?U3Fw6FO6!zGL!{h*Ozf}=dgEJ49l zk^Cq7RK@EL9!+c&|HPrXPtw;qR@nn}_V44-ogD`9PHc2}h!7e8I++8LPCNlxGprzu z+r}{OXP75)@}t+{PARaVNgHhYBmK+)q-teW$&U+3f6@?6A_woa{9XH#oI65>HG8tf zwP7_m;b*j>t}$Of4u7-p*L>o`Lssgw#r}CnJXpdWa+AVohynUZK@)t|9b7L=hC(Dz zvaCh~YM?)l9@x)(j(+?_kQopB3}y8u0v11k#NZEVXNW$h!8IRzA9!&zzk0&dNQhn-O2ALsJN0O4Q?U#<$U8_cYeWVw$P72 z!>6uw6gu53i2i%G8bH=0TpzuD`cL-`4BmZV{AKa{BTfcbC*v>*`ctBr_<*Gq>ZW3I zM#z^j``aFr_)jD>` zplWrG7o5XWB87S>nUN2E@t^fDcW4+XhB*o-<R3Z(u4c|<))qTTHy)Eh9d}0E3 za{?Rc_&oNtKkpwQE>T>jSEt*5m#avJ-eMB`{1e*uM4732?Vh^{K47qzChPSE1Tohg zmVCY4;T!(`hXzbH)@lEW5Ag1k9G4yR@fnFwesn4Q+)>XFCw4)R@}A5OwC|MxZ#g>u zd2u7Mh4UgTUQY+rE4?P9D-c5=Cm4TuJplWqB(3{pD3JguU4+UOUF}@f6=ID4IC8zH zVacPhtVUD9>)Ocu_9R5+J<`Lb-$6db7GE$OSOlfO2L<{vY2dR$T@-f{sTu>Eb{dh4 zh7HAKhc-%k9R)nuHz&t?H3+5t6mKzsAs&ZFAv!Z!9|eT`1>k?lq${LdhSGGA8Ys z(j)+oGu}<8mG6Ig!Ec6e6#%Ph_v0-fuxJ6x?Gn^dBp>lCwWnpyKju}saDdv+j5N1V z-(7^hG)ly++8Me}Ho+AvBWMm*z)Z~!QXnAeZ7JBS>`$ijPa}1H*SKYy5@-7cx&cT# zM-bTgI!i;rrA|RXr;R-%d|t8r*6jC;Hgfzc`pW4-$@ODIeS3;+mBk$3;o`#xkH5X$ zO@T|MIgS1#Z2~Xymu;x99x6VxI4WHw6qcN&NN=Rm-rLk-sGSS?xp~xBaGW@6-`T-EW z;P5Poye^RPGVD(BW=%&J=AdF}j@>pQ1@P`46?XuFb)nPHI!T(4@x8;Qr? zPL4}h+sh{#JIXbRen4)&6+k@iM=q+^D+w3g37-hQ0O8y{xfckF+s91xms9T=foM|y z$Hc92<+wM@xF&3naKC6#dpaNDGV;MW0AYU+JV!P9K_=!WSFgFo3{f3myO_WG7?LmI z^ie5&f$OIM!~W(c6q$ z5vR_oS9qn}F9Ft^sfJXZH)Rwefw&iMbdiS+T0t=bp>Ov%pZg&(yBa7{b)oRG9Q^V<)7ppGa_U9N_+W@BHom5;Q0-=!K6HmFHEx587{ z529;{Bi<8#49ilJI_DoQ0HCq}wy&&MpHfd;wDzDS{`d68hP6JKa6*x}4Fu)wPwQ^a zcW*)khv~c!pasw;!~55JI8BDwje`>+Cel*kjVc8XtF|N0Of+l&!NN6!e9u$8ruhrd zW*BduEj0UR;0N1clw6^UQ}a0h6J_5;yyrcQq1tsSG6ymM*|aLeA> z>GFrmv9fSAf3c6DV^P zTby+VZlMUUYs2*&L^=G55zitGw+~sv=KQHpmx}3@9xgd3wm}Q;gMpU$uWsFUNXV)V z6`QyORZ%20shr0!*ed9j^2XDoZ0|oKt>aqtp$%LoqV@QIH3_+O9%U%kJ%QWq zz|*t3lra)`onKr+Z3QSFlx*`GTo(GTE{z!H@bJ$*ni6|i3%QQ3^W(avY>)QxuD!GF z1l`ks*QNvOxovpifr6WN5t_$y_bJ4JB!q&lbKkz6a)Xi^H`lsa#A5?U@J-~o4Z1|3 zqnGtNj#1edg~z9cqrajSsR$%4Wj(w%6AK9OMsE^@%2a-*kr|R0(#e~N^yPSqqc^@lW3EUu9+vvum@>n;HzP7;L`|g0XXwKiy zlPvz3i&6aG+TL&2xl$Rnc>UP_fX;Ky3!8g}Y4q$o%2lARAc;3d$Z038@uqW;yvs!o z!uW|`7c7g^-XgW!-!SvQY^q zrp-HJ!AtgLSN)^22@Y4&2e4tJxV)n*l}jt6$zr^S9zp zKVs~k^GEeGj~P#E#tSsF2|VT4_MH8N`=2y?y$8ME^?eG zBp2|^7kS94+mGpL%B*h{=nxcBKet^Pkl{NR2|_Q{KED6VSxoKfE3x+ayLNqZt{BRl z>n|prQn~%en>eaBr^+#PttZY#4dwYhtqbdQ(>J8)ubg8jF}NMcieph7tN^dNb0$KW zR0yrah^gU8XXH!$IuG+=`p$Iu`<^1VUA z^wqN=V3rmPIf2JHaLp6|&75iI#kRfV1i-tqv-?*+uIpe9K9Mcafwrf__88ur;8X%3 z;w>~WY6X{P5<#-1_v_9$eqU&Md9J{H9+~J&^L?FWXcI>lvB5znGaqyzdhBw?EXD_wR*Sr$xkG)sb?{QYG^g4&Rcf>^W z$4cc$JDjbmx^->zRrm1+1ZIwMZVtoHfH1+A5>}QYC1>R~j5qLFIp^@q4(gCP(4|AS zNJXSP#aGw$XXQuYfp?5?(S-6Vb|KX`d-ve7N-^U8{7`qk>VSp-HZ^KM6sh zFL`#V*+hL%2}*ky_L;b*yBWx#f6~Ct+n>Gw5R-F1*x4R~yY}irBI24o{(M7lt6i3% zkNpDSn2GEr()$XbS9Agr`WnuF zOWD2u@qmA4X(MgXVyViDq!Yw3H_3VQ7|v5AZdlqu13>jE<9Z^gwQBz_7Bjgo-)%T^ns1#KdgA=PIL=@SOFX8oD4}$!o68kD8hUw`N8JDR1Iv;$d^N z=b#P-D*0P+NAir7hI2fik>N4adzVNOA$Z*Z6MTOP9`4kE!5T zvVeXS^iWjhKW;a5HzwU95pTND_;v4_n-)^z$v?7@lu+?t!A?GQ&P!k?w#mM4$tH3z z|1O^DPKPrzTVyOBTyOYJap`ni&iUzlg|{V!1G?QB8r>hKZE&ddec0~{?S!sv4Md?- zW{8aO zY(WUsI;Y+V?QeYln@BoP%S!N?JQ6)m>{7hm1Xd1G>nCEQSUQoF4&Z?2ulPl%JHJ+-@rmw+3?3iP>0Yy&3I`D<;8<&n)A}h3&C@e#KTG0UJXcSCTc}q~Bq_d-+>3WR|9X&^i?3rZcaA(a zsgP5z3~y8g>15*0t!^(&f>+&d^kXHH-?50DsEuzm%F%z}g*{x^qAqW>2fh*BXwTI~Z`FtIGQln*G%U0=4 z+{Hi($b`19OXb3v;F%@Wv;Rq7y8oh@r4G7}u-uMDawy}At7w0G(`yw_Xtf%& zlj_ClELvQ?%qbyM8~5m%=P6H3-#^f43kiLkf@_26if!NVR-MygLA`0>a(lUXmtHBK zXPa0?BJU)$B@@h}_d2SpwvjFjfHd#m!iF{h)d0s!6}h&gT<;}Jsv?DA;HAPAzWWHr z16Q2y1<&@TH}z|J&s?wbe4h_-_E>Ju0z*PmbR39gAnwT`zeIIC!)%3z6J1K0`o;}! z*3oaXXIRf};|*rMI6$AQ3?orbk46bK;!fGRMXCP2UNPOU{C&f{^RD~Oc|G5q_^@}b zW_N=k)Wh-c&qnswruaY3tE&p4@HTA@d^nLYMT!6E@kOJOB8=@K9*FrtRoTk}52Tz>84=C{2{m9U5q$_tEFV zCj-`}rAC)@G~)PeOkzBp=U-$5K!f*}zy>T~Tiy8h+!s*elz)2T7y_{nKU2?YeP}|7V3@7m-14i z^n@wepRaFkH@=j}NVMbrsN0TBIzY{?oz0$7=W_nG(VWDkl!PagFVEiq9}ce_eZCOh zai=vJ-Q){@O16@hpLMBUB)W3QfCIl!$M%*@iCm|hKE(T=?;cOQ2A%^4$))TQAn)%Q z3&ydThUhalU_ zfDQIjGt(Td0fp%Hi@P5<`_=2_=g$l_YM)CAkD##ikrR_xa>P^{;7)LP(OpwEOAhS; z$)EK8+7o~0U}SZxjI6+-@{ZeL0Jfc4iwf^Djd}#)IXmLGQZ#sz9-Zy0{eCg|DCte= ztpW&&$hI8$_M#x1e_CoSvc&Ir9~Y<>8L+f(1Zb@uu)~X8Pdt`5etiC2Mnj~s(DSJyuUmz6>#hYe;c6qYip>{` z*ZIenxxKn)4IZL#h-hP*ba6BRX%UwhmYVEk^}l><9}ln|jEtOtLy#idlmMX5(}nJL zFO9EM`p5tfoQRT++DO|NSnh%BX`MQycx8&m53QDBF3$CL1@eB#3UQg7#+&m_ItUt+E`h&KJ1 z`yfjf->Fpo*$8+N%T^oyvF6) zaITJ|J3j7s;9_*2Z}1IuaPm?^#u%#-f(m8vHD;gZV?Q5j#C@GVQD}cUBz{XCBS56t z6~O&JMoAB5Hr|KGzIhkO-&*AVb`Gn*^3gi3`|cxQTL2G{Tf3ViL}u)zzdj;ZRwR zbdC=T#+3MoX8-7JP1EEa0Qmx)nXy9v$d>e^u=(>ua$_*d5_jj%me^8 z1nmooWmbA$R_A@miuXRSdY~yQP(7pmfgZ(N%bW%{r_?9BCJ<2dK)F;I!{S@LjY{kb zzI1kXp;exYwAs}BRe~pERGRCjJB>iR>caG}k!JnC_l+q;rYV0_Uv2l`@iw5LNX;Bf z1XPt`x7^S!6!+YH8TCY1>mI(_iGG@JQA(__BwlmRj=U7KRqi~(AAB5Xo$!w2BOzOZ z&k6!ufR6R5A+&3NODWu%Xk~kAceS0&uk2RbEUzjS?KEhmEeU?KcpKZ+|8^T|6av}kdH!GZ6^&tSAL@BPKg-HhZyhnWlB+{=?18aeT~ z-c#BU|C%d`eHL|Jr&alN6NQAA1CZbw^5~`#mcgD=;$qhM4N7CMt@_{!=al(?uQpcsxsQ8hgx~gi$Bt4&U!}O z>0DhZEiAp0Ca`nPH%2r(`+Ux>JVziP!zuj_53ngjW^)^@+ZS3#$vctm2YX5+D6Hk~aft1}oYgRK9l?vgX(0Z6a^7bpPVaz%?r2v#R^-;IL#I4Ja>s1-Tn$qv|_cY4Z z>fb`yG8S96D#wvlnb%q{}b~VB84Jb z%=I7cko$k2Ti-McS=i2ER80?dHicjk;xF#uVX0nO30vAKvZiW+6J7++_9UklM#*^h02qfY+UY)F)A4 z%N9=@;Ml2eOO!j~yqoA6upNPDmj2liqB;q%C|t4aOXAdw0kFslcatYSfqGkOM>Q+9eE}=QFb1U z4nC&Y(0y_~J_70>r3#skI4l$_OphRbIV(uxwIZk7Uatg6Xh8{=Z{P=R0&Pv{_w-qG z+Z9rIQHT;z%T(Uy5?!zm|Er?`4;ze5-ebM@@&rIM!Lz6okuHF?q(RCc?DB6)v&s^)uTy4g~ZQ$9fMLl1txymsoS50u^ z$5++4@VP}+UvuO0$EFM?CSIZD|s0-&3Pm-+t>UB+rFjEeC6`$Uv;fuM4Rqv z{al(SG8c8ajAKF*J@vx{obx~AT^0Ofh8}cGZNUlPP=34~Z9R@8>c!c=TlSi&K?Z9Y zW}uKB+l-XMj?8uIC!a*`S}C*{ofT)}TY=>D^^Y1)?faGh4RRe|)>Dm5%>e4*^SqU# zTS)AfD1bv{lXWeW(WK0qRak3TS>|7tzBrl4tn@CZE&nV`I6aiQSB}sgDxf1?E5lR zdc%cFW$L77K{nQ8VyFZ*TQsiT|9-TaG{>T zE%f%*xEgleRJ-hB*$L46PAv$Zf0xW|#AF5~q_|r8z+T`kqStK-w840(*_3+k>=#+< z!0Pw8dTi#xTCvKnNUIhK6yBCw*9PB!5+_CMHU7~bZccNjZSPp_u3f0J8WycX@j+p_ zbH_X3x%fFhKk+;|c~6`>Tf>q`gwn^hx|rm~c(;-;c2J%Chq@n2`1xGEd|gg1Gzs53 z=*JQ3a75PJay*o_R{8dog9-xLv?GPi1Q4EJW$%Lj8i3w@Zz%{f)$aZ&kT<0&v%WDfxk z(E&vjask)pTNnEu;o|#+23e^;HO+5f(1&oWy3Qv^_@Ft~`ZJ#%5f@{Pk+qRiSaBi7 z2$M!&>D*vK;O+O&8C!v?C})XIl2f<>Bg_IUb4!CE&E6Ktg%3kxh07cj@cAGL*|+%X z!_|f+_j|gy$%#Ey?~g?G9~$2Jq;l6=bZkUI&eeFuA*Sf?5fe_H2T9&j%a#l=czkTl z7K$cLgE{K%>GGv)t^>wwLTu|3WgP7#(7@nWWD}6F6!O$>{&I+h=@OllY^~VlvB;Q4 zw$sljr!E-v!V&MXQ@s4WixLyC8b9#H4Dhw#5nGT20?0=4E;sUd(+%HjBrsl_YT8GjOVe3#H!Wc^SEe5 zx&c~V_%(%g8>`8N^F~Q}<=6X1^wh~fMmivze$^y-r?O+jCG*V++lsY0P#n$zSr8B6 z>QolS7eohWG}BK2x!WuK0D+YcF=m|57i7V3M|GegNw|Cj&JdTw6jl=;;A>$F4?FoK%O^>rN2hh!ENxNjw^)*v4?pR`;#U#pB!CEd&#cmFb)a#n3@Xs(xi*64-v;$yUu@TYztlIODG0eTEV(lgCuSTke7R2rw?aPHbauXYtB|R4`sWy zZ_M2p+Qe29)EbrH>^L;Ur@|_=?o>_2d_OE~KPH~j!Sb~!X^vmZX>mVmE^82x|J(v5 zbo&sB0pLYTr83lX z!?5fuPAf&d5*|^{&wU2gsTm9AC9@B0pYblTitY!05nOQr0tj@BTet!t)i;%?*K#9n zUa|w|VhqIaSC$C}NMgX}u{4c%`y=)6Ks})ck0S zfCVK%v6I!n(tPQ|iWto@sd>5n2@VL0?t=Y&OxyKzYLlJ%2~DKH&dkwnA9fTQ@8|% zgcNsg_Cv-A&vo6cgmJ)K=N{i3)+#T)!J-UJ*_}7!`c`+|oY6Lhj88GzxyD^fRk#&jA1RBjg?0yZ%k z0^SnR52NPa04tEC;xC3?2IcK`@O?-NujUmd)Lo2IFQDf!=FIjkQ+5VYm`umr`19Ir zY+&guOWts=rAT6e8fe1s5MUPkZO$Y4;0~n0LlfLSyNO54F{05co^z(#i>*B_ERNaC z6)6XGn+nu+ZIVO8Y9`u*8NJ4h!skLV>fau3r(`#5(?kXO>j3=j9T9e6aBA|_d!TU8 zbb?y&e(Sp>~r`sg@_}SCK(?hyJJf9;Um{;$AxUdCspXInXe$rE;G;HEbqwFiWl0tfnKtoq>XwF)s*S2 z{j=54;cMwT87jBH5iaIAJ3S(&%Un(s3;V*IW0&x$?9KVms}Gr!79m22gem%FcMKS^ zM+=tK3TEG`s}v*1E3KowT#M$QM}|KnOV5k7Cbw~`aqwQ|Tox~7?5@;-YxKug7mH31 zVqX(DN2)ypclsXcBPEMx_^q^v(X1(q|7kQ+9u5l$*epIlgv_l0xI};1Y7H0)W(8PGNOP8OAGIBUK)vZ*&2(o0<&LgZ*S2`6I1gdmtb(xyd`E;fCadne#+_x%t zw@Jd~Qd9xW394Ll_4;i@0un{VZ7y%C&zg-Crm(!QR0uQ!IV4ceRK?$B#e6nK7B!O7HBMX~t~G?u70;HGJ5s-TVT85? z>~?)PMs(OWc4=J(ePE^F5z5-F+p<-}_B*KTXmw#>UeR=Mb5aUjRr4!jDrvBcU$Ipo zd?-spM3+M`L zg^p3rTxU{sL6%s1|2a_e?PZZFSbdu;)L9ktz(_72)or`hD=%?L4_9bg&Z&QoVz9Gj z4UJ5)>#-*WJ3#CkYA?D#%bY%BVh1A9@UQm?1MBgkm5>1yh>o9E)%s2eyeq=m(ps(Y zz<9BnO@D-esYY(neJ=0jE+9O~eDh~i0R+P`7(mXl6`jqY-%d(Pq8(i~&65`*AkyK{ zH&_pC%|(-u4ts3}->8+OT>-F7BcY|X_9Q6t`6IJh|xDyo7#_0aI@=DfvAU~p98Zh0-ZfGBdI?&}W}$9ZW{i>UlBAPY4<4vDYdo7R zw(3sIz)_*Pwsb-6jH)6RX8k?Xk?3x3dZ?YlyS_fQb)9)HZ(3E=;VHn#ccbWx7WmSh zR*a$c@v>}J4sh8a?5FB+i^FS0VEq~dq5L}bWU%~LYr8wxwdzB4_<_1#M#i3KhoE9L zlpf79Y9>atTsRvs;~+0MgU=>2+i)AUaG7m(QkGaQHVyQ8u=o>Gd3@^2I>W?2O#+=1RtvVzkC@!q= z$TrT^@YEM$I3}Ne6MVHK5}%OACs{0qokP~f2I$<#e66%!&i#h}LXgK2s!)@vScuxbY?{7Pd=}!oU%Mmaia*Nf6@4Y{Gd}p!;OuZiH`02RR zCbekf$wHzN4-m?y=2cYtzWL9k*orV zqgyaLaU*wzg4u?L4hgYjZHn+#tI>%i4iyV zKiEaYp3l13^Wwpa!m4{TJ6yjVLJA~K$oEeEQ(K0Wpf z2V45o8qk+$pKx(TL>Of}z5u0dJG2U9?!_=3U5-1W&FsTq_}Aom!{jO%c{mf&C6LIo zke@C?=UcBu?O=1;Z}TwwxV@Pc!8WHHIL3@t)!wXC{bTlw3Z-`z=ts4XkVt9eou?Em zeQe^MusKJc^(etO>{h|1!l2a(KH)vVW+ADIgIwB~AXPEE-$AWwA{B?1HM z;{-776zK>J&9xkwLrE@RQV7tRP57}%;S#7qNPi1ajm%_f_*67TIh~Kq>L_0iNn1K< z*>D*o#j+wv<#S%>=7$q}05_G@p9wadQrzdDm?h4#h( zJburml)gDro;BS%`ZO~msOqq|OXu0m^zg2>Q7*S+V&jR9p(ba zot00DIdmoqmrp8H0V9=?$>X(M;LZtC)MVSPdwbAco}<)CNTOn?z7v?j?{5@+#LOX` zJzGV^AS31kNRASpA6ESV=fLJbsAAx%)~mhcb&SxSmLr?nbp1(ei&JE$=?@k zBY<~oXmM$N@Hm87qKrhrL|DjfM|J~f0Ae5$F^F&X<0&)ioz5MEU8~Ua%Rscu2OD1% zE6W?;nJzViJ!mXQxM(O|Dr~Yb0$FD5F!>{#4hsT`ox?s}B{v6PpBj*O9DOPN!_^uj zm{7c5p0jj+%^{s+M$)0+ggZvYko33+Z5mN#;XaP^^nY+x`=F#9=ZhgE`WThdcGxpHE<4GbtahR`vd&GV%#>J#Um+fBYO?x04_8|Wd5M2+&2c~pP?2M;QY zURlfin0#1}Q6xI${XYL}bMi1KNvY2Tn>(XF&DK-4%0`JO?WwRcw}z0aEHK<4 z1>s04?}6z9;y*iK5i#Xe{r0kL{<&ejer=D7DWE+8=&Yq9u4Rw90P%x96kC+!3WjWI9yb@XJ+8%uJ6Yn|r=N zx_3!1Q`-Rm__L6r;zp40x5%-7oigr@bhTT>l*VzKb8+zg$Bcu2{BeKeI$_N%mhDIIlo#YBwe*dU^y|-VPx8>mO4usqu^Hhe*8upaAT8PE7Y-&iDa*1(X1>ri;}naHK?dMJoFU4uG`u7_a8&0 zU_)aYimJR;6#-(uomj+4i-7yGU3wAA2Y1Z(IQLQT^U)O^(~&;VfE>avqU(9wh&k`y z4`M4S0>H)9oT*-x|6OeP^e?OQT$BaI(4EkE`sX=+?`?Nj9w>Rik;u+g$+)nI`up?0 zb8G)IK9Y90i;VP-;pJ@I#IloIWe_1-@YIkyEd*~9WW;DXW=#NfT|6e~n z4_}#7pwr0&K4|)7=W96s+l@4z1ylV>0d1J^9#~R#s^XjfywN|Y!C${!bVpukpA}B% z1?>zBrq`GM?RNhft`%Z7MFvsa`!C@t{@60CzYd6he(TSNrEY`U&Q}+h&O*jO#UlR4 z6#Vs_zkh2Z4R>pnA*_WiG1RK;@>=abUdBHrNR%F4w4w*o+`U-%>dCu&H2>?3*ujlh zDeLV-X?tZIWZFsnuk&XClWf)Vn6CgX;#A{#a_;wL{?8l!c|#z$`?KPfXazSEb}Q(Q zP58&%{yo~txA3VZ~ymS z|8!qO*2XorY)WL0-j-X&_}BaWog+)tMotX%vLXd;uPoJcnbzM2^uN4CSSF0f!D%>p zgGmprx{5ky_4m+5B7e>=luHNy$5x_^jUVgN>5nA8?XW z+MMVhS;7N12Y(*8lNY{LlwjBX*x%{^u4)a#%#XBPRSm=+rj%m7<3?Y1a*sNg(yICb zAaqm6LycpcgMtk&qBR!9u6+|Z98&2{AGBmF=qI~HhdF05OleM5ug=!}%1-oA!CO7Z z*isKC)n<<97ym#retBKwWJ?4f$->!%K!n<&ZuiwDyU_6w*$ssUlz5k>RU)ixL^BgIA?e^L?k=#-!LTAl{vs=*m z;@u5Cbu``2UeF`bAtkI7vcYDlwZ}#C>(pOFjKWc$O}4aOZrIWy?G|1xGIlx5lbJhw z%=?dIUeH5@bqrRuVln!URMRL|p^=#QIJJsv+h6zEI<%-_bck6FK8IvbeV}Ft9zA7O|+~la@F1;suSl z2Q;E04mKK3f3Ks5_P&RX+QKHkZwxW>PBy9`^f!mnTa1$BY{cQl?1`#d7-Ay9t7^29 zds832HhmgXrA0z?;4ZuzqhOdt$FTCJ5v(%b-WFPGtou_vH3@Ju$yeDu!cun3%3)lc zL6-Hlye~*8CC@@>p7&vjY?ghu+itx&f6${Yko&+IZT?DAMo;GU{em~= zV<`7*V$f=SZeO|cVBZ!K!;KSOfhmylB}`n!T(76h!Tj~Md?bRZXim9TB9l}y>-fyb z5O=;T%ks10fqk9M)*h9v8LL(v=ht?HeIv&)n}wc6(A+(*4=yS&F7{Zq`Q$3j_;ohV zEWqGCzXrb|w7Miq&hpdw5@jU-Yc(^Hm6%Us(l4j?Ahevm7Tc*Zy|dNdN@?>#5Tz4* z&Ve3GhHHn-7hCIIx1bgE?C)cT&l1VDw!i4lw4S_wo5){rxn3zw(f+RG!j+fLF(p4s zop3Ynuj{~8rmyG!c_j2*hOMlc*-y?wP_Kle#B?WJ0HrdwDPuFUlJO}$)y8}tFB)~Q zG8nf0w6aTI%#2*SD?EW3R{j z<}J0(C*AyQGw_jt(mTknVZ%Vm*Y0Fc{2XZUzX!@FGgal`GA%J!Y_09vBZ)-!ueM3f zd&2@>@Wf$u$7DNXs$X5{AO+S0DNLI7le;f}E^}3+n*+P((HT9MJWr_)K0No4)ub33 zMlzE*O-m`X`{ESZrWBM@b9f}GrD66InaW1^16{2u588iD&9Arm^JMt1vuNr0DYoSe zCO&4iRv1{&aT!j@=`dJ~n#O_75%8@U3RXon7mudxccQ|M4gY#e$Z9h3gwL7w>2^e* zXlKl3M4}9wKCL-4rD*lb?AUJ)Q9xma86L25;Nt!@GlCU1MGg)LPCJ+U!OhP0_;c(B6f(- zWa$GGzwv%8r5?c}$jE^sYT6Fkg=X6)#ZX@(?Qer>l`+ylUjU51OKTwOo4=S6iXDDX zziLVa&@;}hxlUdx=XLk}y&5nXN|&h$jt`d9?jc&@8K$lfJ$-UGI{7gt^174AuIbm? zwcJlGs#$%96ow7QD$5L^#xrcufRl9?KGK4eP-e*> z2t$S_8=T1SkC&Og#Ebw)s5EF(t+(@v6aOe}cg@2d6 zFU5hPz4C6z(qS~7M4K5Z2S$AyN7IiNw?hIF-(DQO{>!GGKKmY=6=s}P^>-$)IrM0` z9ch-}$fegD^4uoxGaN0=v$4W)HDXtA!w;v^w_kyf?K)(zHW_#`_aK=DCCf5x4Qwc( za6+cYE_s+4Kkr~~%^Z<-mA;+VyQ1Z*ih#QufCa$M?<(lma6mOP#l@gu4G=53p!*Z| zVuy~{ad+7e3RJWF{RjphitED4ssqX&Pf|pV(hvm&dM2aV%YKHZR8hMR2-I-SiRYC9 zx5VxS^fi(7uR(9A8P23c%dJqC?V5a;${1AK8@2ca^?}_dEr7n%2hGvC+d1Z1Y(E$M z%MN3VU6lY`WZ{vDEL!+3aORsG8Bz<)Q>rar9I2j-HdZ|;saPqFL4@x+RE@KU z93wv#LKkLlB|yH>*S?Bfxd9DMueRb7PHc{9_)MWl%2Tu7VcrfAa942V;VvvzD#t2H zA;(By#Ub~_E=DLiUx7r4;AS(e?Slq$rOoc(#Ix8%$CUxkYfIXoq;68A{B>|A#ntC) zNl0q)$r-h?V+QX6SQ7gj-XQ3abI>girO=bVx`F^1cQ#(Qpa}IMQkz`hSPA%k3&s3s zNOd45x_2%m4fkZv?PM@&S`~M(q|ElLiUTO1v@_>a;^*^}O@sQ2;b_wv+DB1b-S=^4 zr9_51yj}BS&KUo4`P{kT^iGzHF%G*|OZkIwAI-)&LH`NJMs*%o;|hm+Ov4+xeqL~0 zbUsnu8{6fp9lTvt&jRxItor1PN4;;4p8!h&ad}3oEi_rEp~PEX>7cxE@?$GbQjgU* zVXxEexPZsM$swux4x8i5sZ*T3lDEYa-bus&k5GM7=&&A+*U2PF4Liaf!E;yBOdOid z=I?SHGxZD8S)|D_+>cjRlHa!ZPV@4j4#MVd%%IyBVp!~c%tmM7aOO)=Jgq^^uMI2q zD*bgau=)IK7Ku()SlrLtESCSx-*n&%c1}W!>r-i_B75W9AOq`{;G-T_~{8fl`SRq z(Lmc)F&^sN^&%?FTo7AHHT+VXW&LnjuVY*o)G&3Z<^&U*_Er<;x?Fw$eQU8ksz8u- znH3r|j6nBOXg}^$xOk`S*9az475w6!${@vP>Q@*z^i-;^UCgfu{Ssj3c@~|{)T#9u&d+< z;IgcYe*3tL!PI*y2ve)^`Lc%IOmD$bnLg1T08|;5owg=QdKE_Jo%P_$ON<_R6QlJi z!Y|NJ)`7GeL5V@Jbz*=cx;r(BNwUnf?dO>;Z`DZmEa5ir$cv0Eg9*lr>yD%iym9$W zZt}?&q{lN_^3mtU9XBh$gR2!>^p8skPM~uaz5INWNIyDjsZ!Y}JR|VxHizd&Z%Co3 zWG^glf%|LgTJO5F;z04KPWBtL5C-Uf3AXJ3(WTsGla zz{CehacYx08I^@=y4_Y`tD4&(o({dR(32DnS|&_}{^TjS;RKQ*nEl}k8CAcR@@#t1 z7l`OKKMI66tyy`q`rfQLS}~^>Jzv(T=`2(Kx_UQ)BAPnHnAum$@7pAIS=Yh;*WPzV zHI;V%jtvFGf^<sR zlpr8*_W^vznft%*{e0KD^I?{2Oft!H&Uv1__pjaGn%|NNQ!?zN9cE~EiS1*5!XWku zZs5@jFKNnY(b}9p<$Or;v|FBg5}_hJNL2NaX9DorE&5T;Z(l!KB)i+o2q*%~7G4Xgi_PWODek%;xORnm_9Y5Zy8B|A*_8Oj)=0ki1Na^8%Jg4_}^^>()YCT3WQVlaM65# zlfUhH6hu8LmK@EiEH-)0Zf*4jc#5gsofY&F2-J2{g$Fw*C|Acb zH+^|uM8~?^!=}{rv~CPU+e6hLQ}$lA;+V^aFNI}pSIcrn-ZdpHmJKA8snHM%hjKF; zNlFgRrqbj6#a@(VZ~FFlE^b}f5|FbGtEVn4?KUB=H^V11CmT_GO1xb|Di^1q{PuNI54dSbHkjz?R~rwV+nPW3me6wl^6j`X%=LJu>ZUeA?Zb7+T!7d6zv) zAj^nB97-6%T?{5ZQa6f+*~sN7+R{nhzGKpim7bfxn_*WC2X^OoxT=1o zloF}$U$)+SGW3UH#zIfLlyd`xMBh!BjU}!5^he7BRakV_g8v)JbN5y%2T@+76w*=o zA=_nl>V9uCrWEY6Da|vXT_c_9DfKXA9dk+;?{BW)548%uK+Gr66KgS4>2AF^18zfe z=Y2|Ywj?U3JYWb+zB!m>H#NPO{H5}oFXliN{vawOc?q}>=rc(~-Bpk%=q&zRY(|Sn zFU$G7mwqwHNKV5mXc6xyf4R`)vsJ!c5t*p;2kGvgPz&mBVTpTCb-oEq;|?ts8V3xI zHlr(ZhN@i0@P=Br?17KLOb%?!)P+Wy3sLg-)p!6_-&z1eq?I?pbTiYhfOAYS z+p9J#A+;A}&%|wZohkFQH{N>S<5L@hy7;ph6cY_gVUwJ+*2c?y>iqA0?0!`RF#JlB zi?In;g_4n>=2EWOY21`v0@E$pxKysBB# zrJpU%?@N;zH8Vf{w_ntOmR;ZkIfyCaqm*hN8J)LJIYWGj$JwmgU*>DiuInxE z;g>{O)rm!^Ni!Cd;hN1GBh06vgx?;)wIWm-4!c}!Vc2MgCaCH!73GMU*4Yru_1#vw z+%MxV2&$0SethxBVfr{o(oyNHM5qn4j-V`Umk0gO zE!MI-YHiL6v)7C2@;@D`y}X_QIW*%LSDp)MG1W{D=xrQ#Lp`=xs7*flhd+vD&Xlka zJ?6SrXWz3F)_U!Xpn{fu|!>1El)&rWybQsr)O39UnYj< zk5;t+M?dF_{=ibci=PXEwb?j_KQyQ~It@(oX-T~0ZQX(kL$T&qDT{>3AHb^Zg1l?- zxy-D>*F*XW`QKwr4%TgGB8%;o7k6d-x(5$MCv9QAo-L*3C>h@qtBc&VjcFuxpH|mo zcY6EybBZQL6`hMm9!$TAO?&=DDMFM$*Lqlk;`}+)?~mEi>qpHoVQ-#q-Oa1(PrriA zJ2XulJ~Pa=m#Znxgw#I`|M=9N?1Jq`X_#MeB5=w%H%S89aCdB#@H584r>7)pR2pgRj zllx9O#5!Xu>QUvv5$H#3!7q|#(iNc)R%#L5|<_=UZ z$QC^`6=WlXaJyZCP0;U4ln$Z&OO~Op5Yf?L`!HeFX60ncwdZ+A3E=+z)1&kQn;D*+^1se ztnLkRhH`BwPjmZ6q)OIp*1dA+>$f0z5*J5SaXunCr`xpjDs^dVlW&4-Vwt#K$Lm<* zu1u{L9i+1SiVfjty$%aZb}^VK%gz{`e)y_5ICIXHTiQ@?j6@vuZ7%V8u;pP(Gz8 zHT?720cYq8_=#ny{bZ?Ft-?1KB{~SE##^n!oxpK%;Dpy zzS_-u!Y^p+$4A*fbCVmbWTa@t(xVQ6ryXKyhD@x83FhA-On~lILakiuHUqKZcuAF} zV##`xn?{q8%uqfL1hCx*o94|+6H^wke4xFR1e~^)p~`PG@qp1sp1eB$9nq#Wk7|eH zv&*S(eRK+?z9rX8LCT1s77Z4{b_Q_kNz_Jl19>g;Fgh@!YO?_uqVsIJKnOKChdPIxx-E;gy!^`P7e0gxr@0emsJ&$*f5nSqiMFZ2(tHZt+mJNGRF3sEmN2sY z)dZp07$B$TZp8E4-&{;m#TaKZtmZE^EOv4fOi9>2z%WH3@jP=0tht~&-5=rAztAo- zrP%!mIL9`s(f1az7+{)|XVwX;d71?oOd_}6jVEx=jdnYY?I#5i3zo6HZKm6KeSco@ z)QuCTe@4Z8@2T`lDx>5Kug_uDb&7qs2t(y4k2*FVJ_?LAQRyrV)xMhuOZe3zu5ogP zjF4_lmLX^;`Q6D5Eb6G7d|`DHy|2$rguvbQrl`v-t%woPMo`~DTpq=NUEyNSjg?aA zR(gq3xE=l%ow@&Oc8T+9U?14b%hDY~VKAE#xcM?(>jj9E7T#g1*AGZbdX)t|(np(^i7#Rd%xA_2o#y-HIW*aEn9J%4`DLq;iUbppgej52*!m+%YQD^2klLgo&_>oHofeW%q3J;?-t z)uBA{bov^p;ix|R06(IJ<)g<#B$i{(y6hr{S|Wr~Tg+4Fanm_PPpW$U!b0vbJ;9WR zP`F)1h1cYVo7RwQ7alQ{Qoo+UQa@cN5o9>G1p^aN>b&kDeRm)++3&!_%`2p+*p7fM|TrCi8ElDK`dBk@r_mt@4jPmPgM>3{w zfr><9*tml1s~)1#YJef~oPrQXE*<3(;dXf5rq^CY0U)CI3#AUeip7j20PiOqlA1&P z^8t55_(h8_vOv$Uo}$Xv0%Ec2x+M&FsgH6nW2qI-fg6A_O~cMI+<5M}SB;wm?OED2 z@<=Dr~&)s!x){g@%Uue<~ryRHo^OdLt^`GS^yQ#rPUek%pWShWqEd#}ml|Aq^QNqDcalFny zIUJh({RQ4$uKg~$&Y*c-fAR`MdAu53Wh~#klTleOy)jvkKvFc5J^OlVQ(oxXt90xL zQtyTY=8LtBe~28nyS$iBQ`3{xqboIMbG)=Ke(_~w8Bqfm+L3dnZkBLV@t~FAU-eN% zyF?~y1kc5H-3|&DQ0dMJ9g5Hn1WHdEXZ4jJChduu5)NA*0v|s?0oA zf8JJW<}Ag8^4A_1o_Gjlcz$BO`vh?wTYfQW5_!N_`Qh79j(VH>>%D^wAmAET<;QNo zQ6{0$z2AU~$5RvVpZ6J*RtWYVTQyPw9!no6E2}0I^B_{^VI&V~-c5{73c{5foMv1a zJ6m)3@~p1w+8Y8b84(>i%yt$`t%Pf-3CXU1X~y`y96T#-p1E=%;jnSNk7yas-`D)b z2UXdadro>-eAzuGx`VB|dt(QJg;7jlM8u)8zIh9THn|l5ao|oG?G`R;t;1{}1EDYn ze;DUeDL;h$MNXKbj`7zllzw2aiH7NaXEB(Elmzrmo*j75We`ua15t~OQJSJ?j*C`R z{efX%N>QIZqT5c4^dTN6%CbJRpXn}$$?DlT7p%0K(lA&Vk zdk^%p4Tva0^+{DODvNThYAhkhKYuiLJ|BCneLX3v%=toIGrI9!2e00XvmC<+Guc9O z#_ZI6V0@Q9S%(v^F@)tZ#wzDl9HMrH5eup^*sSt^?>LNmCF4ZPZf!%&&+8IxcDsy1 zM2E{GCMQD%12wV_tSfZDri*hht;jvZZp~F4-UVBt{UYd=5b4^cJX# z8bI&Q&~0jOyLt<`nlgSNru;Hgd$-EGhmY7T^!;8O0~5eQn+C>?!#KHWU$2DBy!YB9cEA!K6Tad@F*z$9Y&n2U1p6;q4`8rQ?(ZG`u zO%r*Bc7XVZAhY{Puo+|a6sZ1D6KkefyKzIu8xP<~D?%jJeuA(QpI!ES*_u`LbO)4e zTs!11mog2_QUg*iQ8#`w!F7HOR!|~fM=Kbm8A~o?V8KQBWIxYC-YqjzW?)GPD!VJ?kQjx)6k_7O0;VI z&B-i3TnrgC=+=xuu#?mnQp1x_B&<#wZCO+NupWDIMX+}y_j*x@s7>~ODt`mpbvKLi zen=9e@mO;blRp1B@ZUT3lW z!nUxOeNQW~=b9KI5`XziB#!z%<*Ba>d!*cIJ(gi(WXW1^n=Hb5VF5$B%b+|3=fsyx zawp9PNU^|3XzjVvrizoUjkt+nk>?*LIl?$09hGn$5PX0#bAFh@&R-N@wgLX{eX)+u zABr8Qz8gDaeYTpW)c*}w{W?^{E-aK!Wo0)2j`B^_Ua#3dpIW>;DYE_<3G-E&ow|VP zZN!8*VW<+I-M!6H9zSl2V2Lwt>=fBQMZ|43zvB38U@xLv@=J~F(9b8pMH5L3sq6x4 z=!PoiP_d2XI@K}vX*_K?XN?YXqzY&H7n!Gz-|DD>F00l{CRP%>HcdS`=e*CE^%q}N41ZkGPWF2)nfovCGs$C~%zgWD2Tj{qD6{PQ2(#HQ>$MzdZ z1;e?t-UvtAu!<9(#ntlLX52SNlf8}ze`ItHbf`y$7xxyzlITd8)GC4b*|4px&YB)Y zSoc2xa``Sqcfq~*_&dRR&GjGem^N=B0q43puK{sitQ_2E;spX`gdsj+cN^_`hh)ox z*VNZaTTT8wI8IkKTWE>oFBSZ)ude<&2xw;x3N=7q4MkOg%lyib#51<5Adf4Xqp5%) zaSSrVoO{pIg^*8|Rmm#ST}~GR;gtS@#j-7_2&kTfzo@Dg;YQ&0e!U2E0HU_Jl>G%9 z=eolsxMhsp8nEY(RolH~{@bbZzB=$M0+t66FxHy!5BUyxbFNvKJFQ0-( zN1Yhel(T<`m6VSfSgyivFt96Ii;&Zi(xG8OjiOyW#5{+tE8zB$%TM0%2LFd zPgEKQl-h#aRVeCW0S6hF7zk!pW^N>gUWsq8Zt8A5c<|*>?0P>8>ckLbUC$WjQhRQy!)q@Sf0u(z1f{F9Lr#YBl%OoXagy79QkHS^7?4lDFv;ESuyabulB2MO|gykp0b*8LDg-bAbQLV{7-1_#Dt|0pOxmx<$xb}<)>#6nthg1>M71}y!8Vd zll%4XwQ(W2-3fyyowl&*@}F}R<0Ky#Z}eTD=u?joPBTGGw5A0}!2lXJZj^uXVZ><* zb7Mr$<3np`>9^K&V(Oi5QPa74UQBsQj4dDQ&eB$!n=H$|`u?>zs?Q~>5eKx8O|Q+k z!bb64y;*gUQrotMFNlVF2K?q-pDxFNyqdxg$#*n|gTy%j&4Z91=*6tV1rod$4(%t9 zx6_B&Gr7^0z6T6uK*rB}5-_PRogWo@I7#b4-|n}-=6GbS?w&s^yh@GcR7n!!2d_K3 zJy0y1Y^~25OO!aED56WKcI{L~h4|oRGf@(h46i=oKwfPQ#$=JVpT%I*c*Nt_m1}%N z2IcDghgr%5pmeftG3Qaut+>IF7m(YsPxz&rOOE&%B$ktU{mNWB8HMB{>Z^{-qCbX4 z)AI&KKjej&;c;Bz{bF4hQ;6g}WmJmfiR$mwjYruth(=7OAqjY(`}z=zKSm|;?ruSd z_s+x463rdUyMl{-+XeXApi8@WyV^*iSkub4I%n>yg-i0|CyGcCMy*!2^1Orfp+&fPAn?_$WGg#fK1T9A;3@()}PE& z3&TYb^5_dViZ#M4S}0>A_q~5(M&7VVp8T`PGR z9!Hh47icbTtd1wqGKyM(YY2$iaJ;l?2qhmE`)Kf&)|X;hjvQsngj*+yaVFf+yzUxQ z{Re3DKL+*WW28u8_G=Q1pC)&tUOO7~l~V!}ajcZ>`IQ(v>x#akcSZ8TS-u&c3$q^H zqj{~9h}=o+vXYU&!I-}4sV#;3hyr?Q47T1fF=?eOp0%*(w5`jabC$lkQg+EJg3^H6 z#s-KUD+ckX}E(2jr zZ`9(3(&M&3eqO1)RwcoxBJ&vNvGZ~Q50au^s#}v7vtWTl7AQl;({-mgl5Ug=JL^2f zVEQ3Y$f+)q{+(glR%GA!CvvYo_bJqKJ$>WIh;==^%~mzwS*XQB;e8UTT(uHrcjV`< znhN1^GqhKjBlIXjXu`d<$xdav?-#sQTHaI{W^66z-A74VUc8Yzx>HsU{v4BNV(W6E z@gdhGxxmBlxDu&)<|=0TMfWL+gf7_23Cs)#TQM8%<1oT4M}Q5I-{+SkBVt-t@2`0p z?(>o(0(>8RoK=3mol}}w3GOgxk|<{|F)lf^Vv**xwFlz&vjcx%qqWdXxeY?NjZ_Y= zwiTtDTySbkP%)*iLS+K9>$L7_Q#t_2adrcf?g^F!!wXAU-_?`DTy7lYW1 zyCw}{+w$wzTBOF=A?sq&*_4lirROBE5rf``o`05kdW_x68_#v9eM>`@i>4dJ!f*yR{IYzTaG=kb26nI=^Sm>QWrD2x0+TJH!YD}Cj_34TXI&BYPDD<}}_vHW@80qjm1Lnx`ek?G*8WTKba=bh5zJ z*=wO55$nqZ;#)k*kg{xqCIb_8i1<-#_D(%0kf- zqX6bvb*CYlkUW?8KJ@oMD(4*$Gb@+8H6^YT<|}9N#3x)1oGz13frhUP*6KU9z5=*jggd1Tf=Ux_-z6ois zxuST)>+P2!xxVJ=%}4iD4rA#<*99sZat^c|ega;xCo2+3ovd`M={sDhUhrm-C+3s| zgP+cqc*hU)4+|cr2tN%-hH+R7gu&>|jssTu*geDHb$;n&uMitcW{f6KMHPg!R68%| zVP}LyAj(HUWECb;K75X2Zqp8S zPP06FShK8L{{lA*3swmmwQSHSFY@f@lwXD0tnQA9oPZz8`0#npM~Gj|kqHv9&`MV+ z7&>yUZHV6jp}(m3-SuU3QkYO#H8Bg|UeaEd(aB-7vV(^=NECK%HQ@PFgploS+Xz{e zA-qEV%l@SypR26QcOA)UH|vcy3zK_!tCqMEeTE!-Vyf*sb(_?*7}*J0WQ958v~q3( zRxc7f9O;)jh~Pd+{-K)mobKt?kwW>sQ6@Qc+NeHyCI5rlLWTyBW<5tOGQz=y1;7tO zY?ug{En6XaSH&two<_6lCK`rHPD#C5H`^}l{#wW!bKe#rtL=)A$FABx2d}^jJOd#l zizSR*RBfuBdgDzAtQ%WOmkZ`WU#|+fmqe^ga|&12g%F%n#Xmu7#kBGx$TvsS(Y2!ZpAA*PF|Es^Fo% zw>PIMX(Jn3C3zmEmO8SHY63)bySqJ{r1uRwv|r4q|OCYejLIMZ(>wazYeWfEOsU>2H@8Z7Bmo zcl3AclFe4#)u29d?y<*1#Ee-FIHJaY#wq4xfSOLH7eWpn!ZrJ^OE0!qzehtN7PW)2 zP}!0MV0}FJ&Y0^mvU_l-ymeool0XY@&01P{kzg8D3#r+O*^+{kWlse+wzyqYKR!8i z(&XDDDsxNMKvntT)T$wYf}-$Dfh%$$iA*BUuh$YIfB?H8QeyiYcu;agAAV#obM-C28ow z)M|=sV=VYPzSNNBw}_Nn5xQ>>K)P{DmNu;g7-yHbcP6%f?43ktP*D=PJcx3~@2g}E z^BzJ2oNG21`znMAr6x5RUPy9~%rHD?hi?Hhji3i4w?LF&Mf!QoGWE1fX9mLz8AdNR zrRw{w=~1ueWM4-lrRr_D0v>j zpDawJI|&RGlA;pKjbExRt09Szb><`xWC`fCu!AVQXJw8GM#|5jQ#WopG`7AR^5;q2==}8zX^hODKR}rDc-w`7D>C@ofVUnV=c!3#ztV1aSQT6hCliC zb;sY|Ts<6Eo{|5z_DYFW5M)Gc*}4KEFrPxeuQ;&Oj2xMA0}_oWXZ&r?$=$OU%E%rPK~>BtG|g>mJN;SAMiA{-*MJ ztp0|kbcS`iIY;Po5UD{}3$X+}5;6UaQDgo*IK4?J0u!I^n_d(R5ER81C9x)~m+OGU7sra(n2Qg3I2R!uJA}C% zFuV_|F$UHm5>Ou>>Qg)O>zM$3&iTED#`SJX2wNWsAb|ic#v;qlXQtIJ>4F&=UX~QK zhK8;%!B>nI650CtfPRXcb@mFTdw$oQ9m^1a^Kw~xu!4`TM#nyzKO)ef__I9XZB>w$ z7JV2|(zAOKWTN-|c9-lWrJ^j|d-QR1IcNl&JG6CUVni(D&wKX&_8QO~=_7K;fD(N# zGm!VZRZ`7Y*p~Nd3NC{G83Rr%@HdSr+qLA&zDLp_87UpOzUkoL>KFe5oLz(wiyA-~ zP-n)6*?xa!A6&c#Sk7qK+!XgX$cnZ53&>Ai>y8Dd5Mu^ z2xo$D>_=IFY46DJ%&AfCH6YTJ$SAnOBzET3y?;m!AD%;$Q{xoO0t8T9DywR9CL!&^ ze^>N22>f=Hl=f3eWJ8~gjM+u_^os@K>|bVr2Ey%KApdf2_2!z*B3zVM7}n|wl_L{A z8Ue$2%_9|u|NabkkV9zU8o6a=o@<5?SAxU?Izm)s9I&@yp|D4%M3N{9{;dXmICEUj zG)OGxXjpg=D8XYuu5K<6Hgf167rhplK{RNS(vtxLhx&?-=-=<(DFS}KeJ|pGK9ZHU z)?{Y|#tCSbTa5qstlwXXd{;X7==ay1Qj}na%3?EU`mbuz+Jo?Fk9Mv8aZ2Otxwt?6 z_{Sae@9#ol93US;4r@`7!68ig@4x-+Vjs)kg3t9I8XZxD@2=#}HvZ4u`CtE+k*JI2 z-uRzq*v5bVjDP*Goz3JIJ>-A<%irI<%^&%4NNUeNuH-*=r0uifA_Fp>NNy1O*O%Ho zNPhdTpO8&c{F2)L@F6?9{jax#AQB-_E@z7Wc3F|PJS>D~C?Y82#IJY$A3ypR(PQ6# zyY|StlXvtmBl~|}jQ?@9{{K?`UzX_qm8JY^YtJz5h2%qb%-SFDkK$FeE4i0$dj2o4 CB9dqT diff --git a/gita/__main__.py b/gita/__main__.py index b4057ec..2517958 100644 --- a/gita/__main__.py +++ b/gita/__main__.py @@ -1,4 +1,4 @@ -''' +""" Gita manages multiple git repos. It has two functionalities 1. display the status of multiple repos side by side @@ -12,7 +12,7 @@ Examples: For bash auto completion, download and source https://github.com/nosarthur/gita/blob/master/.gita-completion.bash -''' +""" import os import sys @@ -40,7 +40,7 @@ def _group_name(name: str, exclude_old_names=True) -> str: if name in utils.get_groups(): print(f"Cannot use group name {name} since it's already in use.") sys.exit(1) - if name in {'none', 'auto'}: + if name in {"none", "auto"}: print(f"Cannot use group name {name} since it's a reserved keyword.") sys.exit(1) return name @@ -52,31 +52,42 @@ def _path_name(name: str) -> str: """ if name: return os.path.abspath(name).rstrip(os.path.sep) - return '' + return "" def f_add(args: argparse.Namespace): repos = utils.get_repos() paths = args.paths + dry_run = args.dry_run groups = utils.get_groups() if args.recursive or args.auto_group: - paths = (p.rstrip(os.path.sep) for p in chain.from_iterable( - glob.glob(os.path.join(p, '**/'), recursive=True) - for p in args.paths)) - new_repos = utils.add_repos(repos, paths, include_bare=args.bare, - exclude_submodule=args.skip_submodule) + paths = ( + p.rstrip(os.path.sep) + for p in chain.from_iterable( + glob.glob(os.path.join(p, "**/"), recursive=True) for p in args.paths + ) + ) + new_repos = utils.add_repos( + repos, + paths, + include_bare=args.bare, + exclude_submodule=args.skip_submodule, + dry_run=dry_run, + ) + if dry_run: + return if new_repos and args.auto_group: new_groups = utils.auto_group(new_repos, args.paths) if new_groups: - print(f'Created {len(new_groups)} new group(s).') - utils.write_to_groups_file(new_groups, 'a+') + print(f"Created {len(new_groups)} new group(s).") + utils.write_to_groups_file(new_groups, "a+") if new_repos and args.group: gname = args.group - gname_repos = set(groups[gname]['repos']) + gname_repos = set(groups[gname]["repos"]) gname_repos.update(new_repos) - groups[gname]['repos'] = sorted(gname_repos) - print(f'Added {len(new_repos)} repos to the {gname} group') - utils.write_to_groups_file(groups, 'w') + groups[gname]["repos"] = sorted(gname_repos) + print(f"Added {len(new_repos)} repos to the {gname} group") + utils.write_to_groups_file(groups, "w") def f_rename(args: argparse.Namespace): @@ -85,87 +96,101 @@ def f_rename(args: argparse.Namespace): def f_flags(args: argparse.Namespace): - cmd = args.flags_cmd or 'll' + cmd = args.flags_cmd or "ll" repos = utils.get_repos() - if cmd == 'll': + if cmd == "ll": for r, prop in repos.items(): - if prop['flags']: + if prop["flags"]: print(f"{r}: {prop['flags']}") - elif cmd == 'set': + elif cmd == "set": # when in memory, flags are List[str], when on disk, they are space # delimited str - repos[args.repo]['flags'] = args.flags - utils.write_to_repo_file(repos, 'w') + repos[args.repo]["flags"] = args.flags + utils.write_to_repo_file(repos, "w") def f_color(args: argparse.Namespace): - cmd = args.color_cmd or 'll' - if cmd == 'll': # pragma: no cover + cmd = args.color_cmd or "ll" + if cmd == "ll": # pragma: no cover info.show_colors() - elif cmd == 'set': + elif cmd == "set": colors = info.get_color_encoding() colors[args.situation] = args.color - csv_config = common.get_config_fname('color.csv') - with open(csv_config, 'w', newline='') as f: + csv_config = common.get_config_fname("color.csv") + with open(csv_config, "w", newline="") as f: writer = csv.DictWriter(f, fieldnames=colors) writer.writeheader() writer.writerow(colors) - elif cmd == 'reset': - Path(common.get_config_fname('color.csv')).unlink(missing_ok=True) + elif cmd == "reset": + Path(common.get_config_fname("color.csv")).unlink(missing_ok=True) def f_info(args: argparse.Namespace): to_display = info.get_info_items() - cmd = args.info_cmd or 'll' - if cmd == 'll': - print('In use:', ','.join(to_display)) + cmd = args.info_cmd or "ll" + if cmd == "ll": + print("In use:", ",".join(to_display)) unused = sorted(list(set(info.ALL_INFO_ITEMS) - set(to_display))) if unused: - print('Unused:', ','.join(unused)) + print("Unused:", ",".join(unused)) return - if cmd == 'add' and args.info_item not in to_display: + if cmd == "add" and args.info_item not in to_display: to_display.append(args.info_item) - csv_config = common.get_config_fname('info.csv') - with open(csv_config, 'w', newline='') as f: + csv_config = common.get_config_fname("info.csv") + with open(csv_config, "w", newline="") as f: writer = csv.writer(f) writer.writerow(to_display) - elif cmd == 'rm' and args.info_item in to_display: + elif cmd == "rm" and args.info_item in to_display: to_display.remove(args.info_item) - csv_config = common.get_config_fname('info.csv') - with open(csv_config, 'w', newline='') as f: + csv_config = common.get_config_fname("info.csv") + with open(csv_config, "w", newline="") as f: writer = csv.writer(f) writer.writerow(to_display) def f_clone(args: argparse.Namespace): - path = Path.cwd() + if args.directory: + path = args.directory + else: + path = Path.cwd() + if not args.from_file: + subprocess.run(["git", "clone", args.clonee], cwd=path) + return + if args.preserve_path: utils.exec_async_tasks( - utils.run_async(repo_name, path, ['git', 'clone', url, abs_path]) - for url, repo_name, abs_path in utils.parse_clone_config(args.fname)) + utils.run_async(repo_name, path, ["git", "clone", url, abs_path]) + for url, repo_name, abs_path in utils.parse_clone_config(args.clonee) + ) else: utils.exec_async_tasks( - utils.run_async(repo_name, path, ['git', 'clone', url]) - for url, repo_name, _ in utils.parse_clone_config(args.fname)) + utils.run_async(repo_name, path, ["git", "clone", url]) + for url, repo_name, _ in utils.parse_clone_config(args.clonee) + ) def f_freeze(_): + # TODO: filter context repos = utils.get_repos() - seen = {''} + seen = {""} for name, prop in repos.items(): - path = prop['path'] - url = '' + path = prop["path"] + url = "" # FIXME: capture_output is new in 3.7. Maybe drop support for 3.6 - cp = subprocess.run(['git', 'remote', '-v'], cwd=path, - universal_newlines=True, capture_output=True) - lines = cp.stdout.split('\n') + cp = subprocess.run( + ["git", "remote", "-v"], + cwd=path, + universal_newlines=True, + capture_output=True, + ) + lines = cp.stdout.split("\n") if cp.returncode == 0 and len(lines) > 0: parts = lines[0].split() - if len(parts)>1: + if len(parts) > 1: url = parts[1] if url not in seen: seen.add(url) - print(f'{url},{name},{path}') + print(f"{url},{name},{path}") def f_ll(args: argparse.Namespace): @@ -178,19 +203,19 @@ def f_ll(args: argparse.Namespace): args.group = ctx.stem group_repos = None if args.group: # only display repos in this group - group_repos = utils.get_groups()[args.group]['repos'] + group_repos = utils.get_groups()[args.group]["repos"] repos = {k: repos[k] for k in group_repos if k in repos} if args.g: # display by group if group_repos: - print(f'{args.group}:') + print(f"{args.group}:") for line in utils.describe(repos, no_colors=args.no_colors): - print(' ', line) + print(" ", line) else: for g, prop in utils.get_groups().items(): - print(f'{g}:') - g_repos = {k: repos[k] for k in prop['repos'] if k in repos} + print(f"{g}:") + g_repos = {k: repos[k] for k in prop["repos"] if k in repos} for line in utils.describe(g_repos, no_colors=args.no_colors): - print(' ', line) + print(" ", line) else: for line in utils.describe(repos, no_colors=args.no_colors): print(line) @@ -199,69 +224,68 @@ def f_ll(args: argparse.Namespace): def f_ls(args: argparse.Namespace): repos = utils.get_repos() if args.repo: # one repo, show its path - print(repos[args.repo]['path']) + print(repos[args.repo]["path"]) else: # show names of all repos - print(' '.join(repos)) + print(" ".join(repos)) def f_group(args: argparse.Namespace): groups = utils.get_groups() - cmd = args.group_cmd or 'll' - if cmd == 'll': - if 'to_show' in args and args.to_show: + cmd = args.group_cmd or "ll" + if cmd == "ll": + if "to_show" in args and args.to_show: gname = args.to_show - print(' '.join(groups[gname]['repos'])) + print(" ".join(groups[gname]["repos"])) else: for group, prop in groups.items(): print(f"{info.Color.underline}{group}{info.Color.end}: {prop['path']}") - for r in prop['repos']: - print(' -', r) - elif cmd == 'ls': - print(' '.join(groups)) - elif cmd == 'rename': + for r in prop["repos"]: + print(" -", r) + elif cmd == "ls": + print(" ".join(groups)) + elif cmd == "rename": new_name = args.new_name gname = args.gname groups[new_name] = groups[gname] del groups[gname] - utils.write_to_groups_file(groups, 'w') + utils.write_to_groups_file(groups, "w") # change context ctx = utils.get_context() if ctx and ctx.stem == gname: utils.replace_context(ctx, new_name) - elif cmd == 'rm': + elif cmd == "rm": ctx = utils.get_context() for name in args.to_ungroup: del groups[name] if ctx and str(ctx.stem) == name: - utils.replace_context(ctx, '') - utils.write_to_groups_file(groups, 'w') - elif cmd == 'add': + utils.replace_context(ctx, "") + utils.write_to_groups_file(groups, "w") + elif cmd == "add": gname = args.gname if gname in groups: - gname_repos = set(groups[gname]['repos']) + gname_repos = set(groups[gname]["repos"]) gname_repos.update(args.to_group) - groups[gname]['repos'] = sorted(gname_repos) - if 'gpath' in args: - groups[gname]['path'] = args.gpath - utils.write_to_groups_file(groups, 'w') + groups[gname]["repos"] = sorted(gname_repos) + if "gpath" in args: + groups[gname]["path"] = args.gpath + utils.write_to_groups_file(groups, "w") else: - gpath = '' - if 'gpath' in args: + gpath = "" + if "gpath" in args: gpath = args.gpath utils.write_to_groups_file( - {gname: {'repos': sorted(args.to_group), - 'path': gpath}}, - 'a+') - elif cmd == 'rmrepo': + {gname: {"repos": sorted(args.to_group), "path": gpath}}, "a+" + ) + elif cmd == "rmrepo": gname = args.gname if gname in groups: - group = {gname: {'repos': groups[gname]['repos'], - 'path': groups[gname]['path'] - }} + group = { + gname: {"repos": groups[gname]["repos"], "path": groups[gname]["path"]} + } for repo in args.to_rm: utils.delete_repo_from_groups(repo, group) groups[gname] = group[gname] - utils.write_to_groups_file(groups, 'w') + utils.write_to_groups_file(groups, "w") def f_context(args: argparse.Namespace): @@ -271,10 +295,10 @@ def f_context(args: argparse.Namespace): if ctx: group = ctx.stem print(f"{group}: {' '.join(utils.get_groups()[group]['repos'])}") - elif (Path(common.get_config_dir()) / 'auto.context').exists(): - print('auto: none detected!') + elif (Path(common.get_config_dir()) / "auto.context").exists(): + print("auto: none detected!") else: - print('Context is not set') + print("Context is not set") else: # set context utils.replace_context(ctx, choice) @@ -283,7 +307,7 @@ def f_rm(args: argparse.Namespace): """ Unregister repo(s) from gita """ - path_file = common.get_config_fname('repos.csv') + path_file = common.get_config_fname("repos.csv") if os.path.isfile(path_file): repos = utils.get_repos() group_updated = False @@ -293,9 +317,9 @@ def f_rm(args: argparse.Namespace): up = utils.delete_repo_from_groups(repo, groups) group_updated = group_updated or up if group_updated: - utils.write_to_groups_file(groups, 'w') + utils.write_to_groups_file(groups, "w") - utils.write_to_repo_file(repos, 'w') + utils.write_to_repo_file(repos, "w") def f_git_cmd(args: argparse.Namespace): @@ -303,7 +327,7 @@ def f_git_cmd(args: argparse.Namespace): Delegate git command/alias defined in `args.cmd`. Asynchronous execution is disabled for commands in the `args.async_blacklist`. """ - if '_parsed_repos' in args: + if "_parsed_repos" in args: repos = args._parsed_repos else: repos, _ = utils.parse_repos_and_rest(args.repo) @@ -311,15 +335,15 @@ def f_git_cmd(args: argparse.Namespace): per_repo_cmds = [] for prop in repos.values(): cmds = args.cmd.copy() - if cmds[0] == 'git' and prop['flags']: - cmds[1:1] = prop['flags'] + if cmds[0] == "git" and prop["flags"]: + cmds[1:1] = prop["flags"] per_repo_cmds.append(cmds) # This async blacklist mechanism is broken if the git command name does # not match with the gita command name. if len(repos) == 1 or args.cmd[1] in args.async_blacklist: for prop, cmds in zip(repos.values(), per_repo_cmds): - path = prop['path'] + path = prop["path"] print(path) subprocess.run(cmds, cwd=path, shell=args.shell) else: # run concurrent subprocesses @@ -327,8 +351,9 @@ def f_git_cmd(args: argparse.Namespace): # Here we shut off any user input in the async execution, and re-run # the failed ones synchronously. errors = utils.exec_async_tasks( - utils.run_async(repo_name, prop['path'], cmds) - for cmds, (repo_name, prop) in zip(per_repo_cmds, repos.items())) + utils.run_async(repo_name, prop["path"], cmds) + for cmds, (repo_name, prop) in zip(per_repo_cmds, repos.items()) + ) for path in errors: if path: print(path) @@ -342,17 +367,21 @@ def f_shell(args): Delegate shell command defined in `args.man`, which may or may not contain repo names. """ - repos, cmds = utils.parse_repos_and_rest(args.man) + repos, cmds = utils.parse_repos_and_rest(args.man, args.quote_mode) if not cmds: - print('Missing commands') + print("Missing commands") sys.exit(2) - cmds = ' '.join(cmds) # join the shell command into a single string + cmds = " ".join(cmds) # join the shell command into a single string for name, prop in repos.items(): # TODO: pull this out as a function - got = subprocess.run(cmds, cwd=prop['path'], shell=True, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT) + got = subprocess.run( + cmds, + cwd=prop["path"], + shell=True, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + ) print(utils.format_output(got.stdout.decode(), name)) @@ -361,135 +390,176 @@ def f_super(args): Delegate git command/alias defined in `args.man`, which may or may not contain repo names. """ - repos, cmds = utils.parse_repos_and_rest(args.man) + repos, cmds = utils.parse_repos_and_rest(args.man, args.quote_mode) if not cmds: - print('Missing commands') + print("Missing commands") sys.exit(2) - args.cmd = ['git'] + cmds + args.cmd = ["git"] + cmds args._parsed_repos = repos args.shell = False f_git_cmd(args) -def main(argv=None): - p = argparse.ArgumentParser(prog='gita', - formatter_class=argparse.RawTextHelpFormatter, - description=__doc__) - subparsers = p.add_subparsers(title='sub-commands', - help='additional help with sub-command -h') +def f_clear(_): + utils.write_to_groups_file({}, "w") + utils.write_to_repo_file({}, "w") - version = pkg_resources.require('gita')[0].version - p.add_argument('-v', - '--version', - action='version', - version=f'%(prog)s {version}') + +def main(argv=None): + p = argparse.ArgumentParser( + prog="gita", formatter_class=argparse.RawTextHelpFormatter, description=__doc__ + ) + subparsers = p.add_subparsers( + title="sub-commands", help="additional help with sub-command -h" + ) + + version = pkg_resources.require("gita")[0].version + p.add_argument("-v", "--version", action="version", version=f"%(prog)s {version}") # bookkeeping sub-commands - p_add = subparsers.add_parser('add', description='add repo(s)', - help='add repo(s)') - p_add.add_argument('paths', nargs='+', type=_path_name, help="repo(s) to add") - p_add.add_argument('-g','--group', - choices=utils.get_groups(), - help="add repo(s) to the specified group") - p_add.add_argument('-s', '--skip-submodule', action='store_true', - help="skip submodule repo(s)") + p_add = subparsers.add_parser("add", description="add repo(s)", help="add repo(s)") + p_add.add_argument("paths", nargs="+", type=_path_name, help="repo(s) to add") + p_add.add_argument("-n", "--dry-run", action="store_true", help="dry run") + p_add.add_argument( + "-g", + "--group", + choices=utils.get_groups(), + help="add repo(s) to the specified group", + ) + p_add.add_argument( + "-s", "--skip-submodule", action="store_true", help="skip submodule repo(s)" + ) xgroup = p_add.add_mutually_exclusive_group() - xgroup.add_argument('-r', '--recursive', action='store_true', - help="recursively add repo(s) in the given path(s).") - xgroup.add_argument('-a', '--auto-group', action='store_true', - help="recursively add repo(s) in the given path(s) " - "and create hierarchical groups based on folder structure.") - xgroup.add_argument('-b', '--bare', action='store_true', - help="add bare repo(s)") + xgroup.add_argument( + "-r", + "--recursive", + action="store_true", + help="recursively add repo(s) in the given path(s).", + ) + xgroup.add_argument( + "-a", + "--auto-group", + action="store_true", + help="recursively add repo(s) in the given path(s) " + "and create hierarchical groups based on folder structure.", + ) + xgroup.add_argument("-b", "--bare", action="store_true", help="add bare repo(s)") p_add.set_defaults(func=f_add) - p_rm = subparsers.add_parser('rm', description='remove repo(s)', - help='remove repo(s)') - p_rm.add_argument('repo', - nargs='+', - choices=utils.get_repos(), - help="remove the chosen repo(s)") + p_rm = subparsers.add_parser( + "rm", description="remove repo(s)", help="remove repo(s)" + ) + p_rm.add_argument( + "repo", nargs="+", choices=utils.get_repos(), help="remove the chosen repo(s)" + ) p_rm.set_defaults(func=f_rm) - p_freeze = subparsers.add_parser('freeze', - description='print all repo information', - help='print all repo information') + p_freeze = subparsers.add_parser( + "freeze", + description="print all repo information", + help="print all repo information", + ) p_freeze.set_defaults(func=f_freeze) - p_clone = subparsers.add_parser('clone', - description='clone repos from config file', - help='clone repos from config file') - p_clone.add_argument('fname', - help='config file. Its content should be the output of `gita freeze`.') - p_clone.add_argument('-p', '--preserve-path', dest='preserve_path', action='store_true', - help="clone repo(s) in their original paths") + p_clone = subparsers.add_parser( + "clone", description="clone repos", help="clone repos" + ) + p_clone.add_argument( + "clonee", + help="A URL or a config file.", + ) + p_clone.add_argument( + "-C", + "--directory", + help="Change to DIRECTORY before doing anything.", + ) + p_clone.add_argument( + "-f", + "--from-file", + action="store_true", + help="If set, clone repos in a config file rendered from `gita freeze`", + ) + p_clone.add_argument( + "-p", + "--preserve-path", + dest="preserve_path", + action="store_true", + help="clone repo(s) in their original paths", + ) p_clone.set_defaults(func=f_clone) - p_rename = subparsers.add_parser('rename', description='rename a repo', - help='rename a repo') + p_rename = subparsers.add_parser( + "rename", description="rename a repo", help="rename a repo" + ) p_rename.add_argument( - 'repo', - nargs=1, - choices=utils.get_repos(), - help="rename the chosen repo") - p_rename.add_argument('new_name', help="new name") + "repo", nargs=1, choices=utils.get_repos(), help="rename the chosen repo" + ) + p_rename.add_argument("new_name", help="new name") p_rename.set_defaults(func=f_rename) - p_flags = subparsers.add_parser('flags', - description='Set custom git flags for repo.', - help='git flags configuration') + p_flags = subparsers.add_parser( + "flags", + description="Set custom git flags for repo.", + help="git flags configuration", + ) p_flags.set_defaults(func=f_flags) - flags_cmds = p_flags.add_subparsers(dest='flags_cmd', - help='additional help with sub-command -h') - flags_cmds.add_parser('ll', - description='display repos with custom flags') - pf_set = flags_cmds.add_parser('set', - description='Set flags for repo.') - pf_set.add_argument('repo', choices=utils.get_repos(), - help="repo name") - pf_set.add_argument('flags', - nargs=argparse.REMAINDER, - help="custom flags, use quotes") + flags_cmds = p_flags.add_subparsers( + dest="flags_cmd", help="additional help with sub-command -h" + ) + flags_cmds.add_parser("ll", description="display repos with custom flags") + pf_set = flags_cmds.add_parser("set", description="Set flags for repo.") + pf_set.add_argument("repo", choices=utils.get_repos(), help="repo name") + pf_set.add_argument( + "flags", nargs=argparse.REMAINDER, help="custom flags, use quotes" + ) - p_color = subparsers.add_parser('color', - description='display and modify branch coloring of the ll sub-command.', - help='color configuration') + p_color = subparsers.add_parser( + "color", + description="display and modify branch coloring of the ll sub-command.", + help="color configuration", + ) p_color.set_defaults(func=f_color) - color_cmds = p_color.add_subparsers(dest='color_cmd', - help='additional help with sub-command -h') - color_cmds.add_parser('ll', - description='display available colors and the current branch coloring in the ll sub-command') - color_cmds.add_parser('reset', - description='reset color scheme.') - pc_set = color_cmds.add_parser('set', - description='Set color for local/remote situation.') - pc_set.add_argument('situation', - choices=info.get_color_encoding(), - help="5 possible local/remote situations") - pc_set.add_argument('color', - choices=[c.name for c in info.Color], - help="available colors") + color_cmds = p_color.add_subparsers( + dest="color_cmd", help="additional help with sub-command -h" + ) + color_cmds.add_parser( + "ll", + description="display available colors and the current branch coloring in the ll sub-command", + ) + color_cmds.add_parser("reset", description="reset color scheme.") + pc_set = color_cmds.add_parser( + "set", description="Set color for local/remote situation." + ) + pc_set.add_argument( + "situation", + choices=info.get_color_encoding(), + help="5 possible local/remote situations", + ) + pc_set.add_argument( + "color", choices=[c.name for c in info.Color], help="available colors" + ) - p_info = subparsers.add_parser('info', - description='list, add, or remove information items of the ll sub-command.', - help='information setting') + p_info = subparsers.add_parser( + "info", + description="list, add, or remove information items of the ll sub-command.", + help="information setting", + ) p_info.set_defaults(func=f_info) - info_cmds = p_info.add_subparsers(dest='info_cmd', - help='additional help with sub-command -h') - info_cmds.add_parser('ll', - description='show used and unused information items of the ll sub-command') - info_cmds.add_parser('add', description='Enable information item.' - ).add_argument('info_item', - choices=info.ALL_INFO_ITEMS, - help="information item to add") - info_cmds.add_parser('rm', description='Disable information item.' - ).add_argument('info_item', - choices=info.ALL_INFO_ITEMS, - help="information item to delete") + info_cmds = p_info.add_subparsers( + dest="info_cmd", help="additional help with sub-command -h" + ) + info_cmds.add_parser( + "ll", description="show used and unused information items of the ll sub-command" + ) + info_cmds.add_parser("add", description="Enable information item.").add_argument( + "info_item", choices=info.ALL_INFO_ITEMS, help="information item to add" + ) + info_cmds.add_parser("rm", description="Disable information item.").add_argument( + "info_item", choices=info.ALL_INFO_ITEMS, help="information item to delete" + ) - - ll_doc = f''' status symbols: + ll_doc = f""" status symbols: +: staged changes *: unstaged changes _: untracked files/folders @@ -499,146 +569,196 @@ def main(argv=None): {info.Color.green}green{info.Color.end}: local is the same as remote {info.Color.red}red{info.Color.end}: local has diverged from remote {info.Color.purple}purple{info.Color.end}: local is ahead of remote (good for push) - {info.Color.yellow}yellow{info.Color.end}: local is behind remote (good for merge)''' - p_ll = subparsers.add_parser('ll', - help='display summary of all repos', - formatter_class=argparse.RawTextHelpFormatter, - description=ll_doc) - p_ll.add_argument('group', - nargs='?', - choices=utils.get_groups(), - help="show repos in the chosen group") - p_ll.add_argument('-C', '--no-colors', action='store_true', - help='Disable coloring on the branch names.') - p_ll.add_argument('-g', action='store_true', - help='Show repo summaries by group.') + {info.Color.yellow}yellow{info.Color.end}: local is behind remote (good for merge)""" + p_ll = subparsers.add_parser( + "ll", + help="display summary of all repos", + formatter_class=argparse.RawTextHelpFormatter, + description=ll_doc, + ) + p_ll.add_argument( + "group", + nargs="?", + choices=utils.get_groups(), + help="show repos in the chosen group", + ) + p_ll.add_argument( + "-C", + "--no-colors", + action="store_true", + help="Disable coloring on the branch names.", + ) + p_ll.add_argument("-g", action="store_true", help="Show repo summaries by group.") p_ll.set_defaults(func=f_ll) - p_context = subparsers.add_parser('context', - help='set context', - description='Set and remove context. A context is a group.' - ' When set, all operations apply only to repos in that group.') - p_context.add_argument('choice', - nargs='?', - choices=set().union(utils.get_groups(), {'none', 'auto'}), - help="Without this argument, show current context. " - "Otherwise choose a group as context, or use 'auto', " - "which sets the context/group automatically based on " - "the current working directory. " - "To remove context, use 'none'. ") + p_context = subparsers.add_parser( + "context", + help="set context", + description="Set and remove context. A context is a group." + " When set, all operations apply only to repos in that group.", + ) + p_context.add_argument( + "choice", + nargs="?", + choices=set().union(utils.get_groups(), {"none", "auto"}), + help="Without this argument, show current context. " + "Otherwise choose a group as context, or use 'auto', " + "which sets the context/group automatically based on " + "the current working directory. " + "To remove context, use 'none'. ", + ) p_context.set_defaults(func=f_context) p_ls = subparsers.add_parser( - 'ls', help='show repo(s) or repo path', - description='display names of all repos, or path of a chosen repo') - p_ls.add_argument('repo', - nargs='?', - choices=utils.get_repos(), - help="show path of the chosen repo") + "ls", + help="show repo(s) or repo path", + description="display names of all repos, or path of a chosen repo", + ) + p_ls.add_argument( + "repo", + nargs="?", + choices=utils.get_repos(), + help="show path of the chosen repo", + ) p_ls.set_defaults(func=f_ls) p_group = subparsers.add_parser( - 'group', description='list, add, or remove repo group(s)', - help='group repos') + "group", description="list, add, or remove repo group(s)", help="group repos" + ) p_group.set_defaults(func=f_group) - group_cmds = p_group.add_subparsers(dest='group_cmd', - help='additional help with sub-command -h') - pg_ll = group_cmds.add_parser('ll', description='List all groups with repos.') - pg_ll.add_argument('to_show', - nargs='?', - choices=utils.get_groups(), - help="group to show") - group_cmds.add_parser('ls', description='List all group names.') - pg_add = group_cmds.add_parser('add', description='Add repo(s) to a group.') - pg_add.add_argument('to_group', - nargs='+', - metavar='repo', - choices=utils.get_repos(), - help="repo(s) to be grouped") - pg_add.add_argument('-n', '--name', - dest='gname', - type=partial(_group_name, exclude_old_names=False), - metavar='group-name', - required=True) - pg_add.add_argument('-p', '--path', - dest='gpath', - type=_path_name, - metavar='group-path') + group_cmds = p_group.add_subparsers( + dest="group_cmd", help="additional help with sub-command -h" + ) + pg_ll = group_cmds.add_parser("ll", description="List all groups with repos.") + pg_ll.add_argument( + "to_show", nargs="?", choices=utils.get_groups(), help="group to show" + ) + group_cmds.add_parser("ls", description="List all group names.") + pg_add = group_cmds.add_parser("add", description="Add repo(s) to a group.") + pg_add.add_argument( + "to_group", + nargs="+", + metavar="repo", + choices=utils.get_repos(), + help="repo(s) to be grouped", + ) + pg_add.add_argument( + "-n", + "--name", + dest="gname", + type=partial(_group_name, exclude_old_names=False), + metavar="group-name", + required=True, + ) + pg_add.add_argument( + "-p", "--path", dest="gpath", type=_path_name, metavar="group-path" + ) - pg_rmrepo = group_cmds.add_parser('rmrepo', description='remove repo(s) from a group.') - pg_rmrepo.add_argument('to_rm', - nargs='+', - metavar='repo', - choices=utils.get_repos(), - help="repo(s) to be removed from the group") - pg_rmrepo.add_argument('-n', '--name', - dest='gname', - metavar='group-name', - required=True, - help="group name") - pg_rename = group_cmds.add_parser('rename', description='Change group name.') - pg_rename.add_argument('gname', metavar='group-name', - choices=utils.get_groups(), - help="existing group to rename") - pg_rename.add_argument('new_name', metavar='new-name', - type=_group_name, - help="new group name") - group_cmds.add_parser('rm', - description='Remove group(s).').add_argument('to_ungroup', - nargs='+', - choices=utils.get_groups(), - help="group(s) to delete") + pg_rmrepo = group_cmds.add_parser( + "rmrepo", description="remove repo(s) from a group." + ) + pg_rmrepo.add_argument( + "to_rm", + nargs="+", + metavar="repo", + choices=utils.get_repos(), + help="repo(s) to be removed from the group", + ) + pg_rmrepo.add_argument( + "-n", + "--name", + dest="gname", + metavar="group-name", + required=True, + help="group name", + ) + pg_rename = group_cmds.add_parser("rename", description="Change group name.") + pg_rename.add_argument( + "gname", + metavar="group-name", + choices=utils.get_groups(), + help="existing group to rename", + ) + pg_rename.add_argument( + "new_name", metavar="new-name", type=_group_name, help="new group name" + ) + group_cmds.add_parser("rm", description="Remove group(s).").add_argument( + "to_ungroup", nargs="+", choices=utils.get_groups(), help="group(s) to delete" + ) # superman mode p_super = subparsers.add_parser( - 'super', - help='run any git command/alias', - description='Superman mode: delegate any git command/alias in specified repo(s), group(s), or ' - 'all repo(s).\n' + "super", + help="run any git command/alias", + description="Superman mode: delegate any git command/alias in specified repo(s), group(s), or " + "all repo(s).\n" 'Examples:\n \t gita super myrepo1 commit -am "fix a bug"\n' - '\t gita super repo1 repo2 repo3 checkout new-feature') + "\t gita super repo1 repo2 repo3 checkout new-feature", + ) p_super.add_argument( - 'man', + "man", nargs=argparse.REMAINDER, help="execute arbitrary git command/alias for specified repo(s), group(s), or all repos.\n" "Example: gita super repo1 diff --name-only --staged;\n" - "gita super checkout master ") + "gita super checkout master ", + ) + p_super.add_argument( + "-q", "--quote-mode", action="store_true", help="use quote mode" + ) p_super.set_defaults(func=f_super) # shell mode p_shell = subparsers.add_parser( - 'shell', - help='run any shell command', - description='shell mode: delegate any shell command in specified repo(s), group(s), or ' - 'all repo(s).\n' - 'Examples:\n \t gita shell pwd; \n' - '\t gita shell repo1 repo2 repo3 touch xx') + "shell", + help="run any shell command", + description="shell mode: delegate any shell command in specified repo(s), group(s), or " + "all repo(s).\n" + "Examples:\n \t gita shell pwd; \n" + "\t gita shell repo1 repo2 repo3 touch xx", + ) p_shell.add_argument( - 'man', + "man", nargs=argparse.REMAINDER, help="execute arbitrary shell command for specified repo(s), group(s), or all repos.\n" "Example: gita shell myrepo1 ls\n" - "Another: gita shell git checkout master ") + "Another: gita shell git checkout master ", + ) + p_shell.add_argument( + "-q", "--quote-mode", action="store_true", help="use quote mode" + ) p_shell.set_defaults(func=f_shell) + # clear + p_clear = subparsers.add_parser( + "clear", + description="removes all groups and repositories", + help="removes all groups and repositories", + ) + p_clear.set_defaults(func=f_clear) + # sub-commands that fit boilerplate cmds = utils.get_cmds_from_files() for name, data in cmds.items(): - help = data.get('help') - cmd = data['cmd'] - if data.get('allow_all'): + help = data.get("help") + cmd = data["cmd"] + if data.get("allow_all"): choices = utils.get_choices() - nargs = '*' - help += ' for all repos or' + nargs = "*" + help += " for all repos or" else: choices = utils.get_repos().keys() | utils.get_groups().keys() - nargs = '+' - help += ' for the chosen repo(s) or group(s)' + nargs = "+" + help += " for the chosen repo(s) or group(s)" sp = subparsers.add_parser(name, description=help) - sp.add_argument('repo', nargs=nargs, choices=choices, help=help) - is_shell = bool(data.get('shell')) - sp.add_argument('-s', '--shell', default=is_shell, type=bool, - help='If set, run in shell mode') + sp.add_argument("repo", nargs=nargs, choices=choices, help=help) + is_shell = bool(data.get("shell")) + sp.add_argument( + "-s", + "--shell", + default=is_shell, + type=bool, + help="If set, run in shell mode", + ) if is_shell: cmd = [cmd] else: @@ -648,14 +768,14 @@ def main(argv=None): args = p.parse_args(argv) args.async_blacklist = { - name - for name, data in cmds.items() if data.get('disable_async') + name for name, data in cmds.items() if data.get("disable_async") } - if 'func' in args: + if "func" in args: args.func(args) else: p.print_help() # pragma: no cover -if __name__ == '__main__': + +if __name__ == "__main__": main() # pragma: no cover diff --git a/gita/cmds.json b/gita/cmds.json index 947a4dd..eadda81 100644 --- a/gita/cmds.json +++ b/gita/cmds.json @@ -47,6 +47,7 @@ }, "push":{ "cmd": "git push", + "allow_all": true, "help": "push the local updates" }, "rebase":{ diff --git a/gita/utils.py b/gita/utils.py index 8e7d9c4..5332255 100644 --- a/gita/utils.py +++ b/gita/utils.py @@ -279,6 +279,7 @@ def _make_name(path: str, repos: Dict[str, Dict[str, str]], def add_repos(repos: Dict[str, Dict[str, str]], new_paths: List[str], include_bare=False, exclude_submodule=False, + dry_run=False, ) -> Dict[str, Dict[str, str]]: """ Write new repo paths to file; return the added repos. @@ -291,6 +292,10 @@ def add_repos(repos: Dict[str, Dict[str, str]], new_paths: List[str], new_repos = {} if new_paths: print(f"Found {len(new_paths)} new repo(s).") + if dry_run: + for p in new_paths: + print(p) + return {} name_counts = Counter( os.path.basename(os.path.normpath(p)) for p in new_paths ) @@ -453,14 +458,14 @@ def get_cmds_from_files() -> Dict[str, Dict[str, str]]: return cmds -def parse_repos_and_rest(input: List[str] +def parse_repos_and_rest(input: List[str], quote_mode=False, ) -> Tuple[Dict[str, Dict[str, str]], List[str]]: """ Parse gita input arguments @return: repos and the rest (e.g., gita shell and super commands) """ - i = None + i = 0 names = [] repos = get_repos() groups = get_groups() @@ -475,6 +480,10 @@ def parse_repos_and_rest(input: List[str] i += 1 if not names and ctx: names = [ctx.stem] + if quote_mode and i + 1 != len(input): + print(input[i], 'is not a repo or group' ) + sys.exit(2) + if names: chosen = {} for k in names: diff --git a/setup.py b/setup.py index 4be31ed..97f3223 100644 --- a/setup.py +++ b/setup.py @@ -1,24 +1,24 @@ from setuptools import setup long_description = None -with open('README.md', encoding='utf-8') as f: +with open("README.md", encoding="utf-8") as f: long_description = f.read() setup( - name='gita', - packages=['gita'], - version='0.16.1', - license='MIT', - description='Manage multiple git repos with sanity', + name="gita", + packages=["gita"], + version="0.16.2", + license="MIT", + description="Manage multiple git repos with sanity", long_description=long_description, - long_description_content_type='text/markdown', - url='https://github.com/nosarthur/gita', - platforms=['linux', 'osx', 'win32'], - keywords=['git', 'manage multiple repositories', 'cui', 'command-line'], - author='Dong Zhou', - author_email='zhou.dong@gmail.com', - entry_points={'console_scripts': ['gita = gita.__main__:main']}, - python_requires='~=3.6', + long_description_content_type="text/markdown", + url="https://github.com/nosarthur/gita", + platforms=["linux", "osx", "win32"], + keywords=["git", "manage multiple repositories", "cui", "command-line"], + author="Dong Zhou", + author_email="zhou.dong@gmail.com", + entry_points={"console_scripts": ["gita = gita.__main__:main"]}, + python_requires="~=3.6", classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", diff --git a/tests/test_main.py b/tests/test_main.py index 3941ea9..e36c2d8 100644 --- a/tests/test_main.py +++ b/tests/test_main.py @@ -1,4 +1,3 @@ -import os import pytest from unittest.mock import patch from pathlib import Path @@ -7,312 +6,368 @@ import asyncio import shlex from gita import __main__ -from gita import utils, info, common +from gita import utils, info from conftest import ( - PATH_FNAME, PATH_FNAME_EMPTY, PATH_FNAME_CLASH, GROUP_FNAME, - async_mock, TEST_DIR, + PATH_FNAME, + PATH_FNAME_EMPTY, + PATH_FNAME_CLASH, + GROUP_FNAME, + async_mock, + TEST_DIR, ) -@patch('gita.utils.get_repos', return_value={'aa'}) +@patch("gita.utils.get_repos", return_value={"aa"}) def test_group_name(_): - got = __main__._group_name('xx') - assert got == 'xx' + got = __main__._group_name("xx") + assert got == "xx" with pytest.raises(SystemExit): - __main__._group_name('aa') + __main__._group_name("aa") class TestAdd: - - @pytest.mark.parametrize('input, expected', [ - (['add', '.'], ''), - ]) - @patch('gita.common.get_config_fname') + @pytest.mark.parametrize( + "input, expected", + [ + (["add", "."], ""), + ], + ) + @patch("gita.common.get_config_fname") def test_add(self, mock_path_fname, tmp_path, input, expected): def side_effect(input, _=None): - return tmp_path / f'{input}.txt' + return tmp_path / f"{input}.txt" + mock_path_fname.side_effect = side_effect utils.get_repos.cache_clear() __main__.main(input) utils.get_repos.cache_clear() got = utils.get_repos() assert len(got) == 1 - assert got['gita']['type'] == expected + assert got["gita"]["type"] == expected -@pytest.mark.parametrize('path_fname, expected', [ - (PATH_FNAME, ''), - (PATH_FNAME_CLASH, "repo2: ['--haha', '--pp']\n"), - ]) -@patch('gita.utils.is_git', return_value=True) -@patch('gita.utils.get_groups', return_value={}) -@patch('gita.common.get_config_fname') +@pytest.mark.parametrize( + "path_fname, expected", + [ + (PATH_FNAME, ""), + (PATH_FNAME_CLASH, "repo2: ['--haha', '--pp']\n"), + ], +) +@patch("gita.utils.is_git", return_value=True) +@patch("gita.utils.get_groups", return_value={}) +@patch("gita.common.get_config_fname") def test_flags(mock_path_fname, _, __, path_fname, expected, capfd): mock_path_fname.return_value = path_fname utils.get_repos.cache_clear() - __main__.main(['flags']) + __main__.main(["flags"]) out, err = capfd.readouterr() - assert err == '' + assert err == "" assert out == expected class TestLsLl: - @patch('gita.common.get_config_fname') + @patch("gita.common.get_config_fname") def test_ll(self, mock_path_fname, capfd, tmp_path): """ functional test """ # avoid modifying the local configuration def side_effect(input, _=None): - return tmp_path / f'{input}.txt' + return tmp_path / f"{input}.txt" + mock_path_fname.side_effect = side_effect utils.get_repos.cache_clear() - __main__.main(['add', '.']) + __main__.main(["add", "."]) out, err = capfd.readouterr() - assert err == '' - assert 'Found 1 new repo(s).\n' == out + assert err == "" + assert "Found 1 new repo(s).\n" == out # in production this is not needed utils.get_repos.cache_clear() - __main__.main(['ls']) + __main__.main(["ls"]) out, err = capfd.readouterr() - assert err == '' - assert 'gita\n' == out + assert err == "" + assert "gita\n" == out - __main__.main(['ll']) + __main__.main(["ll"]) out, err = capfd.readouterr() - assert err == '' - assert 'gita' in out + assert err == "" + assert "gita" in out assert info.Color.end in out # no color on branch name - __main__.main(['ll', '-C']) + __main__.main(["ll", "-C"]) out, err = capfd.readouterr() - assert err == '' - assert 'gita' in out + assert err == "" + assert "gita" in out assert info.Color.end not in out - __main__.main(['ls', 'gita']) + __main__.main(["ls", "gita"]) out, err = capfd.readouterr() - assert err == '' - assert out.strip() == utils.get_repos()['gita']['path'] + assert err == "" + assert out.strip() == utils.get_repos()["gita"]["path"] def test_ls(self, monkeypatch, capfd): - monkeypatch.setattr(utils, 'get_repos', - lambda: {'repo1': {'path': '/a/'}, 'repo2': {'path': '/b/'}}) - monkeypatch.setattr(utils, 'describe', lambda x: x) - __main__.main(['ls']) + monkeypatch.setattr( + utils, + "get_repos", + lambda: {"repo1": {"path": "/a/"}, "repo2": {"path": "/b/"}}, + ) + monkeypatch.setattr(utils, "describe", lambda x: x) + __main__.main(["ls"]) out, err = capfd.readouterr() - assert err == '' + assert err == "" assert out == "repo1 repo2\n" - __main__.main(['ls', 'repo1']) + __main__.main(["ls", "repo1"]) out, err = capfd.readouterr() - assert err == '' - assert out == '/a/\n' + assert err == "" + assert out == "/a/\n" - @pytest.mark.parametrize('path_fname, expected', [ - (PATH_FNAME, - "repo1 cmaster dsu\x1b[0m msg \nrepo2 cmaster dsu\x1b[0m msg \nxxx cmaster dsu\x1b[0m msg \n"), - (PATH_FNAME_EMPTY, ""), - (PATH_FNAME_CLASH, - "repo1 cmaster dsu\x1b[0m msg \nrepo2 cmaster dsu\x1b[0m msg \n" - ), - ]) - @patch('gita.utils.is_git', return_value=True) - @patch('gita.info.get_head', return_value="master") - @patch('gita.info._get_repo_status', return_value=("d", "s", "u", "c")) - @patch('gita.info.get_commit_msg', return_value="msg") - @patch('gita.info.get_commit_time', return_value="") - @patch('gita.common.get_config_fname') - def test_with_path_files(self, mock_path_fname, _0, _1, _2, _3, _4, path_fname, - expected, capfd): + @pytest.mark.parametrize( + "path_fname, expected", + [ + ( + PATH_FNAME, + "repo1 cmaster dsu\x1b[0m msg \nrepo2 cmaster dsu\x1b[0m msg \nxxx cmaster dsu\x1b[0m msg \n", + ), + (PATH_FNAME_EMPTY, ""), + ( + PATH_FNAME_CLASH, + "repo1 cmaster dsu\x1b[0m msg \nrepo2 cmaster dsu\x1b[0m msg \n", + ), + ], + ) + @patch("gita.utils.is_git", return_value=True) + @patch("gita.info.get_head", return_value="master") + @patch("gita.info._get_repo_status", return_value=("d", "s", "u", "c")) + @patch("gita.info.get_commit_msg", return_value="msg") + @patch("gita.info.get_commit_time", return_value="") + @patch("gita.common.get_config_fname") + def test_with_path_files( + self, mock_path_fname, _0, _1, _2, _3, _4, path_fname, expected, capfd + ): def side_effect(input, _=None): - if input == 'repos.csv': + if input == "repos.csv": return path_fname - return f'/{input}' + return f"/{input}" + mock_path_fname.side_effect = side_effect utils.get_repos.cache_clear() - __main__.main(['ll']) + __main__.main(["ll"]) out, err = capfd.readouterr() print(out) - assert err == '' + assert err == "" assert out == expected -@pytest.mark.parametrize('input, expected', [ - ({'repo1': {'path': '/a/'}, 'repo2': {'path': '/b/'}}, ''), - ]) -@patch('subprocess.run') -@patch('gita.utils.get_repos') +@pytest.mark.parametrize( + "input, expected", + [ + ({"repo1": {"path": "/a/"}, "repo2": {"path": "/b/"}}, ""), + ], +) +@patch("subprocess.run") +@patch("gita.utils.get_repos") def test_freeze(mock_repos, mock_run, input, expected, capfd): mock_repos.return_value = input - __main__.main(['freeze']) + __main__.main(["freeze"]) assert mock_run.call_count == 2 out, err = capfd.readouterr() - assert err == '' + assert err == "" assert out == expected -@patch('gita.utils.parse_clone_config', return_value=[ - ['git@github.com:user/repo.git', 'repo', '/a/repo']]) -@patch('gita.utils.run_async', new=async_mock()) -@patch('subprocess.run') -def test_clone(*_): +@patch("subprocess.run") +def test_clone_with_url(mock_run): + args = argparse.Namespace() + args.clonee = "http://abc.com/repo1" + args.preserve_path = None + args.directory = "/home/xxx" + args.from_file = False + __main__.f_clone(args) + cmds = ["git", "clone", args.clonee] + mock_run.assert_called_once_with(cmds, cwd=args.directory) + + +@patch( + "gita.utils.parse_clone_config", + return_value=[["git@github.com:user/repo.git", "repo", "/a/repo"]], +) +@patch("gita.utils.run_async", new=async_mock()) +@patch("subprocess.run") +def test_clone_with_config_file(*_): asyncio.set_event_loop(asyncio.new_event_loop()) args = argparse.Namespace() - args.fname = ['freeze_filename'] - args.preserve_path = None + args.clonee = "freeze_filename" + args.preserve_path = False + args.directory = None + args.from_file = True __main__.f_clone(args) mock_run = utils.run_async.mock assert mock_run.call_count == 1 - cmds = ['git', 'clone', 'git@github.com:user/repo.git'] - mock_run.assert_called_once_with('repo', Path.cwd(), cmds) + cmds = ["git", "clone", "git@github.com:user/repo.git"] + mock_run.assert_called_once_with("repo", Path.cwd(), cmds) -@patch('gita.utils.parse_clone_config', return_value=[ - ['git@github.com:user/repo.git', 'repo', '/a/repo']]) -@patch('gita.utils.run_async', new=async_mock()) -@patch('subprocess.run') +@patch( + "gita.utils.parse_clone_config", + return_value=[["git@github.com:user/repo.git", "repo", "/a/repo"]], +) +@patch("gita.utils.run_async", new=async_mock()) +@patch("subprocess.run") def test_clone_with_preserve_path(*_): asyncio.set_event_loop(asyncio.new_event_loop()) args = argparse.Namespace() - args.fname = ['freeze_filename'] + args.clonee = "freeze_filename" + args.directory = None + args.from_file = True args.preserve_path = True __main__.f_clone(args) mock_run = utils.run_async.mock assert mock_run.call_count == 1 - cmds = ['git', 'clone', 'git@github.com:user/repo.git', '/a/repo'] - mock_run.assert_called_once_with('repo', Path.cwd(), cmds) + cmds = ["git", "clone", "git@github.com:user/repo.git", "/a/repo"] + mock_run.assert_called_once_with("repo", Path.cwd(), cmds) -@patch('os.makedirs') -@patch('os.path.isfile', return_value=True) -@patch('gita.common.get_config_fname', return_value='some path') -@patch('gita.utils.get_repos', return_value={'repo1': {'path': '/a/', 'type': ''}, - 'repo2': {'path': '/b/', 'type': ''}}) -@patch('gita.utils.write_to_repo_file') +@patch("os.makedirs") +@patch("os.path.isfile", return_value=True) +@patch("gita.common.get_config_fname", return_value="some path") +@patch( + "gita.utils.get_repos", + return_value={ + "repo1": {"path": "/a/", "type": ""}, + "repo2": {"path": "/b/", "type": ""}, + }, +) +@patch("gita.utils.write_to_repo_file") def test_rm(mock_write, *_): args = argparse.Namespace() - args.repo = ['repo1'] + args.repo = ["repo1"] __main__.f_rm(args) - mock_write.assert_called_once_with( - {'repo2': {'path': '/b/', 'type': ''}}, 'w') + mock_write.assert_called_once_with({"repo2": {"path": "/b/", "type": ""}}, "w") def test_not_add(): # this won't write to disk because the repo is not valid - __main__.main(['add', '/home/some/repo/']) + __main__.main(["add", "/home/some/repo/"]) -@patch('gita.utils.get_repos', return_value={'repo2': {'path': '/d/efg', - 'flags': []}}) -@patch('subprocess.run') +@patch("gita.utils.get_repos", return_value={"repo2": {"path": "/d/efg", "flags": []}}) +@patch("subprocess.run") def test_fetch(mock_run, *_): asyncio.set_event_loop(asyncio.new_event_loop()) - __main__.main(['fetch']) - mock_run.assert_called_once_with(['git', 'fetch'], cwd='/d/efg', shell=False) + __main__.main(["fetch"]) + mock_run.assert_called_once_with(["git", "fetch"], cwd="/d/efg", shell=False) @patch( - 'gita.utils.get_repos', return_value={ - 'repo1': {'path': '/a/bc', 'flags': []}, - 'repo2': {'path': '/d/efg', 'flags': []} - }) -@patch('gita.utils.run_async', new=async_mock()) -@patch('subprocess.run') + "gita.utils.get_repos", + return_value={ + "repo1": {"path": "/a/bc", "flags": []}, + "repo2": {"path": "/d/efg", "flags": []}, + }, +) +@patch("gita.utils.run_async", new=async_mock()) +@patch("subprocess.run") def test_async_fetch(*_): - __main__.main(['fetch']) + __main__.main(["fetch"]) mock_run = utils.run_async.mock assert mock_run.call_count == 2 - cmds = ['git', 'fetch'] + cmds = ["git", "fetch"] # print(mock_run.call_args_list) - mock_run.assert_any_call('repo1', '/a/bc', cmds) - mock_run.assert_any_call('repo2', '/d/efg', cmds) + mock_run.assert_any_call("repo1", "/a/bc", cmds) + mock_run.assert_any_call("repo2", "/d/efg", cmds) -@pytest.mark.parametrize('input', [ - 'diff --name-only --staged', - "commit -am 'lala kaka'", -]) -@patch('gita.utils.get_repos', return_value={'repo7': {'path': 'path7', 'flags': []}}) -@patch('subprocess.run') +@pytest.mark.parametrize( + "input", + [ + "diff --name-only --staged", + "commit -am 'lala kaka'", + ], +) +@patch("gita.utils.get_repos", return_value={"repo7": {"path": "path7", "flags": []}}) +@patch("subprocess.run") def test_superman(mock_run, _, input): mock_run.reset_mock() - args = ['super', 'repo7'] + shlex.split(input) + args = ["super", "repo7"] + shlex.split(input) __main__.main(args) - expected_cmds = ['git'] + shlex.split(input) - mock_run.assert_called_once_with(expected_cmds, cwd='path7', shell=False) + expected_cmds = ["git"] + shlex.split(input) + mock_run.assert_called_once_with(expected_cmds, cwd="path7", shell=False) -@pytest.mark.parametrize('input', [ - 'diff --name-only --staged', - "commit -am 'lala kaka'", -]) -@patch('gita.utils.get_repos', return_value={'repo7': {'path': 'path7', 'flags': []}}) -@patch('subprocess.run') +@pytest.mark.parametrize( + "input", + [ + "diff --name-only --staged", + "commit -am 'lala kaka'", + ], +) +@patch("gita.utils.get_repos", return_value={"repo7": {"path": "path7", "flags": []}}) +@patch("subprocess.run") def test_shell(mock_run, _, input): mock_run.reset_mock() - args = ['shell', 'repo7', input] + args = ["shell", "repo7", input] __main__.main(args) expected_cmds = input - mock_run.assert_called_once_with(expected_cmds, cwd='path7', shell=True, stderr=-2, stdout=-1) + mock_run.assert_called_once_with( + expected_cmds, cwd="path7", shell=True, stderr=-2, stdout=-1 + ) class TestContext: - - @patch('gita.utils.get_context', return_value=None) + @patch("gita.utils.get_context", return_value=None) def test_display_no_context(self, _, capfd): - __main__.main(['context']) + __main__.main(["context"]) out, err = capfd.readouterr() - assert err == '' - assert 'Context is not set\n' == out + assert err == "" + assert "Context is not set\n" == out - @patch('gita.utils.get_context', return_value=Path('gname.context')) - @patch('gita.utils.get_groups', return_value={'gname': {'repos': ['a', 'b']}}) + @patch("gita.utils.get_context", return_value=Path("gname.context")) + @patch("gita.utils.get_groups", return_value={"gname": {"repos": ["a", "b"]}}) def test_display_context(self, _, __, capfd): - __main__.main(['context']) + __main__.main(["context"]) out, err = capfd.readouterr() - assert err == '' - assert 'gname: a b\n' == out + assert err == "" + assert "gname: a b\n" == out - @patch('gita.utils.get_context') + @patch("gita.utils.get_context") def test_reset(self, mock_ctx): - __main__.main(['context', 'none']) + __main__.main(["context", "none"]) mock_ctx.return_value.unlink.assert_called() - @patch('gita.utils.get_context', return_value=None) - @patch('gita.common.get_config_dir', return_value=TEST_DIR) - @patch('gita.utils.get_groups', return_value={'lala': ['b'], 'kaka': []}) + @patch("gita.utils.get_context", return_value=None) + @patch("gita.common.get_config_dir", return_value=TEST_DIR) + @patch("gita.utils.get_groups", return_value={"lala": ["b"], "kaka": []}) def test_set_first_time(self, *_): - ctx = TEST_DIR / 'lala.context' + ctx = TEST_DIR / "lala.context" assert not ctx.is_file() - __main__.main(['context', 'lala']) + __main__.main(["context", "lala"]) assert ctx.is_file() ctx.unlink() - @patch('gita.common.get_config_dir', return_value=TEST_DIR) - @patch('gita.utils.get_groups', return_value={'lala': ['b'], 'kaka': []}) - @patch('gita.utils.get_context') + @patch("gita.common.get_config_dir", return_value=TEST_DIR) + @patch("gita.utils.get_groups", return_value={"lala": ["b"], "kaka": []}) + @patch("gita.utils.get_context") def test_set_second_time(self, mock_ctx, *_): - __main__.main(['context', 'kaka']) + __main__.main(["context", "kaka"]) mock_ctx.return_value.rename.assert_called() class TestGroupCmd: - - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) def test_ls(self, _, capfd): args = argparse.Namespace() args.to_group = None - args.group_cmd = 'ls' + args.group_cmd = "ls" utils.get_groups.cache_clear() __main__.f_group(args) out, err = capfd.readouterr() - assert err == '' - assert 'xx yy\n' == out + assert err == "" + assert "xx yy\n" == out - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) def test_ll(self, _, capfd): args = argparse.Namespace() args.to_group = None @@ -321,175 +376,228 @@ class TestGroupCmd: utils.get_groups.cache_clear() __main__.f_group(args) out, err = capfd.readouterr() - assert err == '' - assert out == '\x1b[4mxx\x1b[0m: \n - a\n - b\n\x1b[4myy\x1b[0m: \n - a\n - c\n - d\n' + assert err == "" + assert ( + out + == "\x1b[4mxx\x1b[0m: \n - a\n - b\n\x1b[4myy\x1b[0m: \n - a\n - c\n - d\n" + ) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) def test_ll_with_group(self, _, capfd): args = argparse.Namespace() args.to_group = None args.group_cmd = None - args.to_show = 'yy' + args.to_show = "yy" utils.get_groups.cache_clear() __main__.f_group(args) out, err = capfd.readouterr() - assert err == '' - assert 'a c d\n' == out + assert err == "" + assert "a c d\n" == out - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) - @patch('gita.utils.write_to_groups_file') + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) + @patch("gita.utils.write_to_groups_file") def test_rename(self, mock_write, _): args = argparse.Namespace() - args.gname = 'xx' - args.new_name = 'zz' - args.group_cmd = 'rename' + args.gname = "xx" + args.new_name = "zz" + args.group_cmd = "rename" utils.get_groups.cache_clear() __main__.f_group(args) - expected = {'yy': {'repos': ['a', 'c', 'd'], 'path': ''}, - 'zz': {'repos': ['a', 'b'], 'path': ''}} - mock_write.assert_called_once_with(expected, 'w') + expected = { + "yy": {"repos": ["a", "c", "d"], "path": ""}, + "zz": {"repos": ["a", "b"], "path": ""}, + } + mock_write.assert_called_once_with(expected, "w") - @patch('gita.info.get_color_encoding', return_value=info.default_colors) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) + @patch("gita.info.get_color_encoding", return_value=info.default_colors) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) def test_rename_error(self, *_): utils.get_groups.cache_clear() with pytest.raises(SystemExit, match="1"): - __main__.main('group rename xx yy'.split()) + __main__.main("group rename xx yy".split()) - @pytest.mark.parametrize('input, expected', [ - ('xx', {'yy': {'repos': ['a', 'c', 'd'], 'path': ''}}), - ("xx yy", {}), - ]) - @patch('gita.utils.get_repos', return_value={'a': '', 'b': '', 'c': '', 'd': ''}) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) - @patch('gita.utils.write_to_groups_file') + @pytest.mark.parametrize( + "input, expected", + [ + ("xx", {"yy": {"repos": ["a", "c", "d"], "path": ""}}), + ("xx yy", {}), + ], + ) + @patch("gita.utils.get_repos", return_value={"a": "", "b": "", "c": "", "d": ""}) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) + @patch("gita.utils.write_to_groups_file") def test_rm(self, mock_write, _, __, input, expected): utils.get_groups.cache_clear() - args = ['group', 'rm'] + shlex.split(input) + args = ["group", "rm"] + shlex.split(input) __main__.main(args) - mock_write.assert_called_once_with(expected, 'w') + mock_write.assert_called_once_with(expected, "w") - @patch('gita.utils.get_repos', return_value={'a': '', 'b': '', 'c': '', 'd': ''}) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) - @patch('gita.utils.write_to_groups_file') + @patch("gita.utils.get_repos", return_value={"a": "", "b": "", "c": "", "d": ""}) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) + @patch("gita.utils.write_to_groups_file") def test_add(self, mock_write, *_): args = argparse.Namespace() - args.to_group = ['a', 'c'] - args.group_cmd = 'add' - args.gname = 'zz' + args.to_group = ["a", "c"] + args.group_cmd = "add" + args.gname = "zz" utils.get_groups.cache_clear() __main__.f_group(args) mock_write.assert_called_once_with( - {'zz': {'repos': ['a', 'c'], 'path': ''}}, 'a+') + {"zz": {"repos": ["a", "c"], "path": ""}}, "a+" + ) - @patch('gita.utils.get_repos', return_value={'a': '', 'b': '', 'c': '', 'd': ''}) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) - @patch('gita.utils.write_to_groups_file') + @patch("gita.utils.get_repos", return_value={"a": "", "b": "", "c": "", "d": ""}) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) + @patch("gita.utils.write_to_groups_file") def test_add_to_existing(self, mock_write, *_): args = argparse.Namespace() - args.to_group = ['a', 'c'] - args.group_cmd = 'add' - args.gname = 'xx' + args.to_group = ["a", "c"] + args.group_cmd = "add" + args.gname = "xx" utils.get_groups.cache_clear() __main__.f_group(args) mock_write.assert_called_once_with( - {'xx': {'repos': ['a', 'b', 'c'], 'path': ''}, - 'yy': {'repos': ['a', 'c', 'd'], 'path': ''}}, 'w') + { + "xx": {"repos": ["a", "b", "c"], "path": ""}, + "yy": {"repos": ["a", "c", "d"], "path": ""}, + }, + "w", + ) - @patch('gita.utils.get_repos', return_value={'a': '', 'b': '', 'c': '', 'd': ''}) - @patch('gita.common.get_config_fname', return_value=GROUP_FNAME) - @patch('gita.utils.write_to_groups_file') + @patch("gita.utils.get_repos", return_value={"a": "", "b": "", "c": "", "d": ""}) + @patch("gita.common.get_config_fname", return_value=GROUP_FNAME) + @patch("gita.utils.write_to_groups_file") def test_rm_repo(self, mock_write, *_): args = argparse.Namespace() - args.to_rm = ['a', 'c'] - args.group_cmd = 'rmrepo' - args.gname = 'xx' + args.to_rm = ["a", "c"] + args.group_cmd = "rmrepo" + args.gname = "xx" utils.get_groups.cache_clear() __main__.f_group(args) mock_write.assert_called_once_with( - {'xx': {'repos': ['b'], 'path': ''}, - 'yy': {'repos': ['a', 'c', 'd'], 'path': ''}}, 'w') + { + "xx": {"repos": ["b"], "path": ""}, + "yy": {"repos": ["a", "c", "d"], "path": ""}, + }, + "w", + ) - @patch('gita.common.get_config_fname') + @patch("gita.common.get_config_fname") def test_integration(self, mock_path_fname, tmp_path, capfd): def side_effect(input, _=None): - return tmp_path / f'{input}.csv' + return tmp_path / f"{input}.csv" + mock_path_fname.side_effect = side_effect - __main__.main('add .'.split()) + __main__.main("add .".split()) utils.get_repos.cache_clear() - __main__.main('group add gita -n test'.split()) + __main__.main("group add gita -n test".split()) utils.get_groups.cache_clear() - __main__.main('ll test'.split()) + __main__.main("ll test".split()) out, err = capfd.readouterr() - assert err == '' - assert 'gita' in out + assert err == "" + assert "gita" in out -@patch('gita.utils.is_git', return_value=True) -@patch('gita.common.get_config_fname', return_value=PATH_FNAME) -@patch('gita.utils.rename_repo') +@patch("gita.utils.is_git", return_value=True) +@patch("gita.common.get_config_fname", return_value=PATH_FNAME) +@patch("gita.utils.rename_repo") def test_rename(mock_rename, _, __): utils.get_repos.cache_clear() - args = ['rename', 'repo1', 'abc'] + args = ["rename", "repo1", "abc"] __main__.main(args) mock_rename.assert_called_once_with( - {'repo1': {'path': '/a/bcd/repo1', 'type': '', 'flags': []}, - 'xxx': {'path': '/a/b/c/repo3', 'type': '', 'flags': []}, - 'repo2': {'path': '/e/fgh/repo2', 'type': '', 'flags': []}}, - 'repo1', 'abc') + { + "repo1": {"path": "/a/bcd/repo1", "type": "", "flags": []}, + "xxx": {"path": "/a/b/c/repo3", "type": "", "flags": []}, + "repo2": {"path": "/e/fgh/repo2", "type": "", "flags": []}, + }, + "repo1", + "abc", + ) class TestInfo: - - @patch('gita.common.get_config_fname', return_value='') + @patch("gita.common.get_config_fname", return_value="") def test_ll(self, _, capfd): args = argparse.Namespace() args.info_cmd = None __main__.f_info(args) out, err = capfd.readouterr() - assert 'In use: branch,commit_msg,commit_time\nUnused: path\n' == out - assert err == '' + assert "In use: branch,commit_msg,commit_time\nUnused: path\n" == out + assert err == "" - @patch('gita.common.get_config_fname') + @patch("gita.common.get_config_fname") def test_add(self, mock_get_fname, tmpdir): args = argparse.Namespace() - args.info_cmd = 'add' - args.info_item = 'path' + args.info_cmd = "add" + args.info_item = "path" with tmpdir.as_cwd(): - csv_config = Path.cwd() / 'info.csv' + csv_config = Path.cwd() / "info.csv" mock_get_fname.return_value = csv_config __main__.f_info(args) items = info.get_info_items() - assert items == ['branch', 'commit_msg', 'commit_time', 'path'] + assert items == ["branch", "commit_msg", "commit_time", "path"] - @patch('gita.common.get_config_fname') + @patch("gita.common.get_config_fname") def test_rm(self, mock_get_fname, tmpdir): args = argparse.Namespace() - args.info_cmd = 'rm' - args.info_item = 'commit_msg' + args.info_cmd = "rm" + args.info_item = "commit_msg" with tmpdir.as_cwd(): - csv_config = Path.cwd() / 'info.csv' + csv_config = Path.cwd() / "info.csv" mock_get_fname.return_value = csv_config __main__.f_info(args) items = info.get_info_items() - assert items == ['branch', 'commit_time'] + assert items == ["branch", "commit_time"] -@patch('gita.common.get_config_fname') +@patch("gita.common.get_config_fname") def test_set_color(mock_get_fname, tmpdir): - args = argparse.Namespace() - args.color_cmd = 'set' - args.color = 'b_white' - args.situation = 'no-remote' - with tmpdir.as_cwd(): - csv_config = Path.cwd() / 'colors.csv' - mock_get_fname.return_value = csv_config - __main__.f_color(args) + args = argparse.Namespace() + args.color_cmd = "set" + args.color = "b_white" + args.situation = "no-remote" + with tmpdir.as_cwd(): + csv_config = Path.cwd() / "colors.csv" + mock_get_fname.return_value = csv_config + __main__.f_color(args) - info.get_color_encoding.cache_clear() # avoid side effect - items = info.get_color_encoding() info.get_color_encoding.cache_clear() # avoid side effect - assert items == {'no-remote': 'b_white', 'in-sync': 'green', - 'diverged': 'red', 'local-ahead': 'purple', - 'remote-ahead': 'yellow'} + items = info.get_color_encoding() + info.get_color_encoding.cache_clear() # avoid side effect + assert items == { + "no-remote": "b_white", + "in-sync": "green", + "diverged": "red", + "local-ahead": "purple", + "remote-ahead": "yellow", + } + + +@pytest.mark.parametrize( + "input, expected", + [ + ({"repo1": {"path": "/a/"}, "repo2": {"path": "/b/"}}, ""), + ], +) +@patch("gita.utils.write_to_groups_file") +@patch("gita.utils.write_to_repo_file") +@patch("gita.utils.get_repos") +def test_clear( + mock_repos, + mock_write_to_repo_file, + mock_write_to_groups_file, + input, + expected, + capfd, +): + mock_repos.return_value = input + __main__.main(["clear"]) + assert mock_write_to_repo_file.call_count == 1 + mock_write_to_repo_file.assert_called_once_with({}, "w") + assert mock_write_to_groups_file.call_count == 1 + mock_write_to_groups_file.assert_called_once_with({}, "w") + out, err = capfd.readouterr() + assert err == "" + assert out == expected