From b278694d325b2abd0772cdb64f3efdf2f774512d Mon Sep 17 00:00:00 2001 From: mattyatea Date: Sun, 4 Oct 2026 20:43:55 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3?= =?UTF-8?q?=E3=83=9C=E3=83=BC=E3=83=8A=E3=82=B9=E3=81=AE=E6=99=82=E5=88=BB?= =?UTF-8?q?=E3=81=A8=E3=83=9D=E3=82=A4=E3=83=B3=E3=83=88=E7=AF=84=E5=9B=B2?= =?UTF-8?q?=E3=82=92=E7=AE=A1=E7=90=86=E7=94=BB=E9=9D=A2=E3=81=A7=E8=A8=AD?= =?UTF-8?q?=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/screenshots/login-bonus-settings.png | Bin 0 -> 167700 bytes locales/ja-JP.yml | 9 ++ .../1791144811075-LoginBonusSettings.js | 20 +++++ .../backend/src/core/LoginBonusService.ts | 21 +++-- packages/backend/src/models/Meta.ts | 16 ++++ .../src/server/api/endpoints/admin/meta.ts | 6 ++ .../server/api/endpoints/admin/update-meta.ts | 28 ++++++ .../server/api/endpoints/admin/update-meta.ts | 59 +++++++++++++ .../test/unit/server/api/endpoints/i.ts | 75 +++++++++++++++- .../frontend/src/pages/admin/settings.vue | 43 ++++++++++ .../test/unit/admin-login-bonus.test.ts | 81 ++++++++++++++++++ packages/i18n/src/autogen/locale.ts | 34 ++++++++ packages/misskey-js/src/autogen/types.ts | 6 ++ 13 files changed, 384 insertions(+), 14 deletions(-) create mode 100644 docs/screenshots/login-bonus-settings.png create mode 100644 packages/backend/migration/1791144811075-LoginBonusSettings.js create mode 100644 packages/backend/test/unit/server/api/endpoints/admin/update-meta.ts create mode 100644 packages/frontend/test/unit/admin-login-bonus.test.ts diff --git a/docs/screenshots/login-bonus-settings.png b/docs/screenshots/login-bonus-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9e9805362871da46eeff9a4424b1d9ccb50d5a GIT binary patch literal 167700 zcmaI7WmsEH*9MwGTUy+TOL2!{MT!)6C%6=MXo|ZPcPB`23szi;w76SvFBC8Ce$w`N z-uL^?b=uNn|-~H6zU!)V204O;9Vq6GSVi_dMj#b{kf z)1Ld`?Y&nCawhVVBU|N}X$rtM6KNTl;7^ zyW=Z)?1r1c3oA?9Omq%IeX-vIpO?*lG5cPf^ePD`tJmcA@J?j(R&c07osqkWi879& z@RIDVbA0(ADCfzrCVeSpQex5yEB)EW{aeExXUZTM*|uu4OSYZ@L*JXK_DY`Lb9zvd z24umWxFL%u{1*1o&WxDUA#T!BBy7D=|}IulhAtww;>QEY`!qezoYz&>|vg#?)n)A;susm+x z3!z_#TT*_kZGR*~mXmGQX}@+6$q9S8J{78>S!qGI)qZ?qBfKwMYt;+6${!>jP8VCm zV#moFpS7*A;jzbtZR8F_Fg#-MMT73!*B%+@Ss7R=-~X8&;PjHQHUO?oWBM8ni`c%$ zD_bo{ANe-h$)Xiy713UjtgTNy79obbJ-oU8$|i({LihlC2!ua@=~8$Bo}S`@pk7;i zy~p~rM?rjQMQN#FmA%Pn0m<713qOmy?m0z)E3X@VX7*@7t5x8DeT+$_qxj0Yu#A)dbb+t8d#1lcQ>BS zcKf}K7C0~`{-wcAyW+=HiqY$XtMdk5RvISIo%JRfWdKF;<}x<6h?0s71IXP>oq# zLN{8c5G7OTeb+s6$Z8Ng{-rEqv6!80oZWU%NjQtw z(SA{mEgBuIX|%%S;btKza&LIc>tu?j=Ouj0Jq}%rjqhg1r?|N-*z~xJ-pI?JfgkWA z@Dr0YZI{naHRXivZnLN<$-+r+qW@~eHshosxvoNC*&U~Ay=(*yL->!}gtZ17&LjV5T1KFMiv*5?GM(kd?NaEAY#IP>p8T&=*&GyS_ z;>(rMUponO(~|^6=SwNp)_Wrye^|K%wD-dn5MdBVz= ztuJ%`ob!r_>!lR?aAS3y0`_RD0kc|ZQo}2m7gptnblFRKk}7O`3EU#3Q}xJU>S@iN zGx*|!@VWT!WOsbTO!GJoM2cWm&draq7h=C%O6yD=@!W+MF)i%uCMw`{C4|*hwE28-eRuA0h?|mHGnYF64aT4(&5iAMd~i6C zGW4?R_;7_r6#9>#MKj3Z^dJ7%6c$_Wk!gR``N4<5+8t3e5 zGLf~L)#Id!v}a18+&WPs1OwZVIg$0MkQn$tXF5KCEeVfb`MnQ9a-obBe7ETva{E`) zhdwQ3U-A=Q$XasgtOzMyu5?z0Rto2E7X~5bIy&!5@qX?``FHVVbvOe5+;o zLaSUI_dU~x^z}s_6Am|pz0%36phXM^%^sq!%yp$2+FjYl+}4>ofeF&M)em%v*m3=q zbwtm*Nq!&NI!dV!EON{Sl<>tH*t<|5t@Ju*F-6o6il6(gTwfpuibxyur=8hjc@m9eQh|KAvP0UX|F}A;*(_G z7+!lmF9B?tJ|#t%tmv$V8|Yg=}#=ig&z|Ewx|(8-5h zjCLlLLH3n>Ar%%($7DZcQy+?%=SxV;~pu8W#G2js;SrFqy zk1Jcekeg;hQ&0ysjjvLO8cEx^&gk5GarQPnLa`A%AGL-i3HLQajVY2Bu8tHZSnt}n zJrE>=b{)Me=%m&}<+XH^b9Dp@>`>In ze(x4|XsuDrV>?*z>7_|hrDD(|q;=|w0h`m}Rk}OKG}Q=Ko(Q~D5hyb}JLC*fw0J#M zN<#l=;d?D?!VC$72Wn%LVRB<|ICe~?$2 zf9TdD^B)-_47;jisL3sy4;H05!PPGfZ|`}j=7`gzUNmJrPfSHT z6~5;zEmgSP3!}v*%v3b=qb;~9`US<&$!yCuG2b|3UBtiNw}4sEzBqfXldtPyBMh<= z?Qyy(5}^~m{AWHTay>o0*ISMJ99RG)Qfo1>#1WI?ol>bzb*JDLn#Z9--D6sX6w&O7 zspEu9Ptw0wafE4D@CrKk1Vqo20vpprC4#?K#(}a6BCDxpm=4fEP>J1N0|e+xAU`{5 zgx2pELG0j@fNsUg0|r4Gw=|~{M~uHSA5F$tkj_`9yt7!Mwm=n>*$9ikw;eW_KTSJ$ zo`To6lx%xXofrae6XkEeRXxSAqg5-x9;^!$DYT5*H%r4NG?5g`+14Vlc1{WwmsGfq z1+Ao&O#VhM7-|M`sn4PMt}_cjasCmM z=NV&>JYMG2(W5}}!+7~q-~@_rrC_Sb&0X1O(Pat0uam;w=83T`N>bS%Ukc^nwvsLctu?n^q%M0C}_=lJbM)vTV1GFIIMrO3(Vubut)Tg=yF3xbD+A_iW70!{zI%XfaCo9{FHyW%q zFTAx71ytEt5UcLm`pj79^Au_at-JB%0ja{`?qs zSeT}MP{0I-a0>;!s?hXt8A&mH5`dRNX}|TA1UDIT#!`5M;)|oV}kWt)oHR3m!*VmTp&3 zbo65Ndbq_wv<-FojPnLWDSQA+S^w$93Y+yV`5;o!c8hH;e9-E?u6Lkj5!~-;N(nBW zBhk~)3UCzD>M3Mrj>ggSX;${X1x0zfr!}*cKo9e~GTXHxuP(qv>!E7CI>0;s$_I1z zph!aEpT^gd_q2+6Y2#-zw1u?lM8`7|vAmb&;F7J#nVu`%NWvwL^Rzv>N7h<$j?W%^ zNIUN~Cn8va*F0ZK@E@hzU~ z1~RKB5(mugx$+W@9YiB`?2&;b;bzc_=`P2Cu3Ukt+dGLB77IM`xfYYom;gJb0JrG2 zJd)!w+rq6b_tM-9mELByIx!8_UUnUmSh3DG)CqmW_(Fno>CkF9&zO{}NXS{7NkmRK z5O|G`BL~H0O}>E$>{dUbmk*n9Nnk)d2zR#vJ?JR=J+GSvg~{&hDX<)0h~fp!{qUWp zN}@LE)$|;Ub5x#;)O^k*p%T7$MUXR9Oc*$Dq5sy_*4#+dP(y97QYHOO{!7p^JcJ_H ziq{R|E-|;sZp4U^OXC(Rve^rHwV>Q+5n94t{R!?Ele3*j4JL*u!omA^>C0JmtO3g@ zcwDmbwRMW?-eRNO=HM=8+=>VH&b_G3xaO7w{gq@rJk*A_)e=AaEQ8Zw1NU$78!&-$ zpbwZiO_rIi1Kk@nV6cEUsx!ClD{WNwn%i?Fk`24zZTg15I^IC@uR+5E!Yx&`$VtL(Yrm$K zQk2;W8Z+J2WXn5GO{Dk}GwwM-k22p0>U8uq9d@tR#6@<;ueJ$ziok)WKxbT6?1v#P zG=w!E#9%M9){!yB&RzecklCE>d+-=yVHXaOh3@7C z$eO-;YufjwO&qjgUHe6JuOqv9KR6im9H<6+j9|r?DaA}LbYNAFHK4{qZcq0e`(kx` zP+9EYD|B5~5NMzVEcmqqa^Bt}J_3Qw;Kz_x}mS1VHlxl>2vT4Xo zPBKfKY!kU}Aj6BX2Fez`D%Z$^Sz&J9KWKV+0BT0xU9eI7mCiTVdq|zbAeMkJP;DgO z%*-&L<7v@){7JB6Q*MSM=v4(4XXYFC>4Ud6log}OTdlXo31XX1K@wqAJB@=Rba)9o zR&(_-u9_X>UvIHT*#x#{Auz&MLY-xUs-s0FPflB-fIc9QOGPAMkEg7ZF|^I&q}FY$ zi+x&Y2f)PTh{B}i#CCS_;k(Uc~bdMNO%lk&%IfiG;*S<}8`=+2G++98MZ$a?&O znB5MN889oYay&Y|y*Hg#6#a$M6v#cJM62Q1#y|9(dFkmAw7gtpit6p)&zHic`YPKE zFC$n#{uu6x7(}tgpos5D?MofM3F0N=&e2(+iyPlz3qFt|qCdOkdi_wY$=e=%R-XM= zDuC9kva7}J#k*XE1e~|rLsc&q8qe*rLazs_#NKV*8{!SSPu40Wf1Wj|&bXK%d28Zx zJeGe0IPuwq>t1flCUcg%*KM=rjNG+P z+-XV(Phi!! zYoU6We2$=LAN@6BeM$CchhI&^Wxl4RRKL4hepdRdHkaE)@vPi)x2(etDL6FJW`^m_1J3)A)!enZZ@7X{) zcPsb}zPEi0pIU&gcR%gwJVVg$BN&gDj+upLaCiO-LPPx7I0gCnSGTvn(?ft0$uT=W z*V(hDWS#2`iB0&&-BA%SFO!*LIL`FrGj2};D_M6&NmG|O>&rdnN?egRxp~<1fNto= zb(UED#n5V4_q33`z1T=-dVA?mAT9UMJ{pwN?Mi+||eIM&3bCkydVlPn3`!X_tf|e_J#7-6;L%oKfFYQC5qjDx zj1ei*E7Z%ZLvQ@KPu(3QS2ojaxOT&v)6LFj_PC5AZF_hKKiKg5iTWViv;T?e-^cj# z1y?S7hCE&V;=XYAri{YtM{vaz4Xz;fELmqrL#ABK_Ljr3A73_#(*s}R%Q=~xwxt6~ zBCv@-c`iXMFFJCR$U6PhgbNQGxMMI4R}_|1+fxpf_dwQ35EQed4yTBFqQqGxn)+Ht zzvz`sEhD7~g~4g9PJ+m<9s5laGJ+25ut;eamWL7CCa6}(8Fzl@Pdq9|gkRH5I*~kW z{+4y~d-1{!lVqA!dr^*`Y(`(m2O^Z2tI}ic{c$ROQe%mIfU$zU;+na%sEN9eNG-g= zz{9#%V0o7sQVV7>*q!JE1>VwpFi)tgk#aw+PE_+$ki~8Q03aA#TX97`P6Tci&Fe;s z+T`NT@8O=>nG)UrX3?G`-rCBws3cD1XS8xQJ!hNP4kbvI*W=RB&(t|_=r4Lzx6{Le zV>I0U2qaa8zUr!-2F%c(m~MT_-})zG0GyGTnm8{hwzz4ty~a+}2t$3Tf=GJFZaL&> zCqa>rb*UvTny+zMf_uXxhB0PE5NN)8C_ugw%E|3~I(X{6vUeu@gjH$pnUnuQ-ImRi z*$YA@cOLycbscT!nWxeDwdWK9-6m5aa0|tJ;CQ0`(c^p<9&fl?*QJGiu%DqNoFEXh zHwiThwFA|0e7)iNo1O#wmII-Czb44cY0>laR3DhM)pJ5;2*U@zSXMx$<$eu`Nt;fz z9z<)I_Jh*jQtm8H#mIK0L>AfMncoMW8*W+(e%6vDn6(Jk(*|cWv>6l}ZggdXg=a3k zT|+?p#fk{;V^s89o7f}9>sn~Bah*NRUC>+EX2i$p+fa{pg?zVIz(R2%`{tHF=ehW1 z+X|U>off@3m4v>VBhB_)iffv9FqEGHLCHW?7WtnQI|YxBW2f_~Re!i7Ho7S)tEg3l zjC5r%Yu#IMrL`qLg#&x9)r!^MF|EvqJ;V=$4^V5mGi%B@Hf$2BTGdjJk)!UOnj4u> zg2*;M5Lym=z+rk%jre|)0=UAS|He*?@V-u7|5LSTkJi_fA%*=khXRdKHheagB$}mm zC9`s9Xy?&uD+cSR@J8B%el##@+?6F4*Cz|jA4vQD<0){X;3tJBYzqL)=f*?cSE4fp z$x^7j(IKw@?x+jN8Mzf!PAjlUsET3F%ga7*B&5d-)^#7ot9xT7fI4tm)6 z^*d|vtm3Nl;XNTi?;qt2V!t@R%M z7v>)onDXsUtnpQ$Hhwy<#__lwq8%k#P(5e+JkTGKPxs2200#%T+iiN%e{sv7m`G~; zZG|6P_ahZcr>)hSdji;Q5(`1OC0+7X_XVc~5g&nqSk;zXX$xy`ueealKjFut4@;4-7Mq!|s}xDrz_ z5TX9p0$+t;g$>nA$-HJIW~xd!#6$|Vwse6tMr#!H$Mq)DPbBIPCJlWlyd>}QPRixn zQ?`)#yLO0d?e`~^9|5Rgj%@YCNdCX!GjL=Ms(&!U4k~-JqYSQz|1w^b8PVRuuKdt; z9d?wDt&M6re>*>^L1l$zF#{Ln21NkD`sxgSk|bEYszlkx^)3KUKT6WQ^hV&{6)qz-vpoSo zUQ>QFN}ZgXNsl{UN|R z+O59?mNNcRsRfLA{;m*j%k$gq1sFR$k6uSE4;G=^>-)J0k}uVhgd@Pad-USSVqNTv zLGf_x`RDXAzc6LVJRo7Sc-_>2{NJqsZ0GzgS~?XLinb54gTv>EuqjoX`S)8TjVUV# z3&pweCW@VN7Z^F3BpASjnZ%a!b_{Q~xPyZ=e5}mQnw<#!4McvQ*9L4RW28U%{q{ z36I_&wN8O(Rv$r^^!)pOu>k1p@;aH5wdKFFyCEyfz^fzt3SU{wBIV^Li3nv%X%hNx zB-s_vOw%g%UN!HklFlhFYCcX+S}R5I)ICK@jQOMRZjw8RN%QhK8ppAQFBqub@yHrF z@}52u!~urDj~Q%{E|EeD+?dpFANR)j9k*GnI!+T?P=-8h-Hf=TD^H<++TZg2C|8hp z!Y8%MBjE{#{ZQrSPsXT3E@=SoEt-Al*E=!cl5kOI+-VKGAN+%q2CiJ6;67mX&0 z3Bh-)+>5`3A^Nw%e>6D(G%tN<%#G0(ko-WkKmTaocbwh2DOI@QAUwb52yIk-`W{1) zhQhMv8QcI|+IdSAOk53#h>c;$tnKK;cMuH3%FMo>M#dOnj*=`VM9Cacws(3*l-)QQ+w&DHjWXYP;l|1?Sq|1t2miqUYnU{RdxRDvAjM5 zu57ESk>1V|*BmvmzkCJ1BHW5$`RPO(tZfqKhLK;wsW}Jl%m=8ITq04SLj3?|uEiS%khWd>j&ZD-0$EGQ4{%mTJ`m z&M)ixYMu@i1A7*r6HM&4k4f%95=}GIlD(Pyd;1*yb6sDg%T-HC@E|ybq#Zm36pS-i zOMGcsYe&1xS&@iEIC26#sb&wE;lc7}TdorCpXI@iKYzl@k{D6PJp(x_(+YMi_QE%~ z_p>vuDkTJgJwPbU<$Q+7IspfXEL^wgFAr7!Rx~_#&6@Zrbc>AQ1CioUM#PW`dvl;| z3D~X=#_Veg7LaJFHftDk4a4i4XOPKsX!bR}Njeq~_%J6NQ$&yu(i~sS&o=2`qH1jlFHJEUV*BOwenRbOR@4|zFM>gn~O}*IEViD z_LkE^ZLez$S~dv-vf|LqxhkYn(4V2e4ba=jxCYbfOD*ZD{M!`^UCNRjo9l_FiIoLb z${ozif$9xZ+G(TlvW0SnPIF$k4}-Tc-5>Lbrglkq?$4C><(;0r5a0mL6}0xsc}XhW z^o{3t-$Cyp!f1fV_;Q_=>Rc!(tD2DHWDc(S@@LRCZ`a@wiL5rft`)tEj}Oq<+QU+G zS5JqX^npaf<+@!jaQGgN{Tj6cCrZLib()S()cj`(g;1t1n7o+}n=o?am106QL#MYQ zO4yUXEgvm@4Ixc9j&s@?JTNsaWOK#I?6KYsm?We8csW0=Xgg^b)cq*T+OFj0q@8-ed!{5Y z+X6dE*y*D7UD3t<4HPPY=vc2i8+qKB9*pD*)fuRj18q%?WJSN4Q%HT+zp{2`%3@CAo{-}m%Q((c z7B~?pGt6T5xTPBsk(2-=s+v~T3;ryPi`^M`4kEA7)H&C*4timBmEr%xKp4{eR;;9g zy@wUnZiOAB-Qc;%lsvuUz*NaoMl`}uC(gAo{ru>9+e#mHCw-0yKNQlu@u9HEHA4T zvQWm&UBIe7eeG*zw@6L&h^faGj`LZq?;s(NwI$baS>lO|k| zwxD|&M>vo)RT7$rBFOj0Bjd!SYt=jtQGH|uX5h_Ol+?*OHrLekf3$%Ch@xDw%sC|0 z8K>rMf@Tm$HZ?OU;#VejCrNO&gpw&-7Qc5dNV!imx=o0isiyN)SAZG~S+O z1_R|O=_ynun8CYgRU2rUsF92|$SzYypQgnvJP=oPgxw2D4bTr<1Uf< zgOxz9)_cXc4RCs!N*`Kj-d61naz3Z}|HVqg|2#P%R@+AggtsR38l?^lV)kd>#GezU zwPL30g7nqd|5IQ4u_kBqYXo1AUiIW3>=+zP4r{3 znU=`WJW`E&!$c+CSU^vtH#hUCFFTTpfzfPZJJ&vNy>SMPw!$_PO?uBM0vIp1GL0|n z?w^A~hR)n_y;CrM2Ml!I3Gy&;dd8kQk0J8#M3*X9?yi0QBlh=f`K4G;9D54nuZW~6 z?|UZ`f#B9Rc71?T^HXTWW2VR{xX^(&uhIL{Lfa4#yvE{SduYci=19`!1UpJT&6R90 zu-SD@kHqQR@>#MrGu?e_zaxbPOZHKlxl)kOM-U|he8V|Q1@$BHgz*01+GX>=woj_- zoL{JXv|C#lCbrqe{dDhp5)a(K?b??^J8$+?qWS1x8}p+a@rCJ+cXkJGR$u_TGui3* zmI>xI?SEN-+pITad(vt#`RDuU`%`_+s-F|#v7-NoM4lk`hN%b7e;I;KD9G+d1UIYo zr`+>h1i)Yt_sDOO^CB?IBV4LKh|3>Q0LC`53;x=Dc)GPL>7jNGQ+WEG4e2*y&<`SQ zmpyJ78JPDw6w8c|r&XiJg+4)O#R^i`wNS`ibj=)~w387;$VLj}c@4irFha4Yw6c;8 zoA7tyBEYVLm?SIlnFIAXVzARMBl@4&(jH^pn(Q?N=*M3lW98@dn(Fg$1wHL$9@|vz zOGR&2+XX}0@clhstLnZ@S7;H=rh5sOC45{tef>;HL@{Rg_if6qQ9xJB6Ixn$c^R9! zg7~6-p|ecJ1*JfEGF&M=MBenA?FO!{4`uRt^4PGB(FnjWQ#^`D}k5 zk4(Hkl>+{M_TYCUOt-W%o-BLWdWqFzfOPOqUopW zx?dUZg1Ti%@Ok-Bx3}!SZ@m6Hx<~!Ne%t4*?h4&6f~1G|P4-iCgPPuaqr?TahIJe_ zZ=?BxsIONcuU>kvcm8co>bIW6%)(0F z+C@YQI_@d{$jn`vZ9HAEU2d~^{62AlJShUi-jOn_uoBwxn%LNHf0#ZP;AmPa$4L3> zc>!cVp87-zY;aTr4>2})1Loz{MY44~n39uJT5oSyh3efTFmTPjFt{4DBc)h)tYzTE zm(Uo-zOSd>sFgltN*JP15oV!qN;LDSjn}z1z`KwfUZE|T0`+}zVZJ(pquQKSLRp78 zc-F8Hm7fw0`t?de*4?4X#xUY>riQI6`3ydvRObaMxah|y3N~`H&`IL^H@tFo0NLya z!J9IHau0tzwU6M-V)`d=(l+}od;jU0ag8aX&#xSon|FyRNifNB1J0H7IWHQ}ZkyTO zdR16N7;3SZEM>oJW0ZUQ{`|!Ytpi6FQg9&IEaZR_>9e1_^3GbJ1ra_~hwCRmxnU2t@J*A0hpP4!F z4Li%b)YHCo_8-?Wo;YL0uU7Ww3)^jVu{Nwao!2JP$|*;~@68XYO{!Oe_SNz6EFgmx z&!3`@3DU*A%F=Cj`tD-%Eq8SD7DQ}*($Z6TWxwaymYR>?u**s_xOlsY`S?Asb##|h5x?!ln|+bd zs7jVH_erqOqN~FhOM&OOW!8J^V-}6revTLp+`v+2DqbG?S{<+=Xl@B9aGI=*yuy9u z`^Gc)xbS5lnb2BL9^C^J6DTNe0{(f1>R3-0_E|vh7JKC+?B_GW0J6{0Jyx6=ol@U} z$z3&N3UtcrC21dR_n#Y&toj@DNJO;XNNQ;b@N*HsmBOuKl4y8Z@Ybv4CI$_I2Fqb( zIA4F1-{4rqKT>a$x;kr_5G!02URc2m%Nw@7QaO9UCeu; zY@x1)IxHo>j($uHeJy1ka`--@#b^!^uzLM9_gA$`rNP%vC?0IDuk$CJb^LI!JXgEJ zZZB-Z5^m&m8<`>#TFj@K>OH?jB&(zIqq8)ps+_{*_q@$hW zYO;N$UadLXBYy9={Zxt&Z@VCX2smY2fwyeZB>#DY@eMafNaq z!xq8M(Xn(Rh5y9@R7!xuTc{_$E_=gZO`<i+KyTBPk)e!kQ^vzG{_AjeOo-)Kx??i@&LRZXLzA z1F>6Pp$&$0I;7mREet6#tseVVh8Fryy?$4`TjX|j#8W8- z`KoWVkXb(dIKiZ&7Hn|nC11!3yitHP5E>y%Dui2CIvoUlS?pc>V6vk%4aHETT0Ww`fuDYzXlS91fYBrwt#=vC@U8%D5#%8jf3!%`1yROw7V0d?z z^J#H`p87S+zf(it;MYzi&oG=cTdWSPy~(-3*?4&vNpy_BZsag%*!r{6MEsYk;fhyK zj!)pTXf*wTmPP%``(rwG5cg@%qk( z1JUXsngJQ0N-W!}6wSmW&TD#~!A-4EXO#*&6T+6YvkPzcWzHEwZ@-&)Q7p&%Kt-^gMELK`3)@xj80sH646g&shsl`!@T%58qCq3uw*O) zd=LhK8nD%d(~A%a74r(CP8-~c4;2Mvop+ZvJZsW?lsHczcPh#wt_u}hiNxadaalv; z`?E)`CD3XUpBR}&3emTL2ARj!U#J)b{x2d^_yM|Eq$Qf6J8|2Mi^g}|-&BsJVD($R zQVSu|t=HO;XY=HvMJtSPc~OpPJ{7D9lvJS#HbCxDQ4UWw@m`-A<9Y38xZ75_oi8&Z_%Hpcfo^lAL}= z>IA|81@F_d@j=EXG0C(}f+wZVvV>%B8@$zt+c6Jdac^JpExtc#PyCRm9nuQWkOaL(ul<`z}6* zg%u#errV@$nfhBWIPxI*Y4R&`+8zimW=dG_uwI?@=RL7{=kKxd0jDi_LWa25lUXS4 z@Q`1C2rr_)q5kHwy_BL8LdWBCN=s{Pc9NgSxk}9hb(vgXx{T8U^n^Iu0yhBUuu;I>!w*rkz=`(V$FfKg7HE3WOHSD zolporxu*1K>aiEOlUR8!*xl{o)DozpOu>L#I=mPhN%A8n8*fp-=QKG~GlT%$mecWV zog#C^fUKbY1_vnKdq#kF33uSbQ|b{V#gPxm{jp^Nbb_y{Vq3EHfQv%FnE(u&0~nu^H*n^wsSr^6e9O`!>#ROH~zx>}_;-=!^NIuM1=n>4@Nk1WpIf>F^{vGcz-^emd7t z_A^w&&yUt=GLkz@<~Z=qjDn3sqgS?Lt5mAnKkR542c*KB@U4@e%^Dhd8V8n0>)vod zrXZ6M`2hgW{|AF9PbT8}KLjQ`GLzn^rN!H+5u#*1Xk{5x?wVpHF?<%1XVEfIiQkY~ z((J=u@tOSO0^kTV)6Z;Hbn;lxL@JFn`9ovUBEor|Mwk_~JAe$uRSc(;@g}X4H8cJ{ zsZ6xnGP{M!!5eSQ%%xA}8y%*J?G5H0uamx_n7nnMF=l;ipz`%2H=PcZleC_Z!?D^KKnZ%Rq`wPYGXMT>ll{OZ+cQ{(h+9kpXaScu?!DcLrfIs zj_pE!Jr{&-vY0(Ixcb7pqWRJr`+g!vN|Mg5AQCpSVa;?2P7l1Ql#=v%816Ac+2kg# zAcl_%xTIAQZUjjM)GCmoD1Iw*cSNmwcYN}5y$Wo`yVmsd=@@nc$v{$nL3LZ4BME0r zez++%1Jg;3La+|b8a!4w7{qN@eicRj)=?($mQ!^&p@*E`b3Rk;*2NoGU@w%lkN4K( z?xWbI@xF9vWB0*3t9f%8LySAH&7`yGnqrhT9!w1Nzd(e-_| zKfo00dS7$#(*5Aq$dvN{M>cYCGn%>(=-3TlYZ8`4xFHPq$Zwt$bIH%MzfF zwTj!J;|6ghWmjjzjw^~&*YlV@Ce7Nfsb=e&)`*#&@TXlIEgoC-&~s+LmIYa9XFocM zE9XuZhk1RLHVu~@xVZp%nM~N=B0m#^)TR5%D-M2O2d^6txo1tOH!_~@)=3<;S&cTp zqwNNih`-1-89M7%puf9P278%y5S*9iwXN(gKJ~Hm4NKLS&*Gc$Z ztRvubU>iR~XiM(kLyi;*>(Mj5Krcm`a!pcW@5oXXeC5|g^UXnSrv*p>~b|(&`F#k_$tUJuFY|} zTo)KhZi))owZFe!zY*U>sf^mzeK;KEuX%#N3H(tI=$qmeiEcvoP|Gu8KbhKQmLeD1 zX?YnuUT9sBC0};o<(wL*-Tbl{sH>X?m9kCl$6;kTt;M@}1^^tD5o`)yU4IY!9MsL9 z86B*`!b^ge5Jsl!%YzR$XK*N}=-1i>nx`rnDa8CASdYDc;{OZQgXe_^xX9fStDk=h91ifW{mL+f6uVy* z2)v9gO|vgW#;#|U2KKwfao*+j=nn{PHMju@SU}zxqYGIqgww{gc-l>G1Yg;Vdo#4# zeNVHHQqWGCLxBaKJ;bwPeAvC7Ph+WEYPCDyxCu~jpCngb1Yshm|Pv*vhX;&JEL=9 z9=!dZvkUO3xgZbO3QX>ICse(RMJ%NpVf|ARm( ztCI_$1F5x|T45C?>LvlN$xhd62ODFwmLt?s!=KOsws-yUGZhNxIvm2GGhPd&N( zHDEjI0rA%W53+dCB2j<<@noIz_RH54EQLu%#bf~lV~DXIO#>3Z&2%`!`G2Tpd2}Te z6^i8=zx_?N4cyw|;NYB5W0B{Hi5b4n7Od`AFfMGx!SGy_H+^B2TrRWbj*?Dh$&;4?ZU@T!9vjozmkw8#f<19ii zM$IA4`Wt2NtC0Bf6+->O?0pI!UAfTfa+WEf2s(zZ1h|tj^y-Z1!{%@JALX1K$D}d* zq@-s06`WP2P2Vet3DAX=VZ!>A*~Gcu!$*3LpF3`Ow1Wtt9kr!|HE~(P-^NAr=zyYK*C14}C_$R~kCb1oiG^Hki@*;I>F-Nbl%06RF1y6k0Ax7F z%mv$t#SIh*{mgiSU0t8AmaqqY^BmknLt_Zm0)wv_DTJI>djUs@;12d0n$DUV&|d-v z(aw`2`Zt*f%Rk?bN=*oB?(Isqp3Deu_x_#{aAYaUx7qc~e;MH8|1`T(njh`idD}G7 z>YTWMW|##Wg#FXb1mL+NY?ZSM=zXS_$@z$RQ)sd?@Gqei&b3wGuER>xQ&Ci zY`TC0Il!6eCzXMRL_Mo@1wF5QEy)~`b8E(u?RsVOd#k_q0!9Vk41n2Iz~H}Fzyzj<1ynKA?A#Qo%H?eSYI*cV;dVy>5@8JWHb6m-*sS0$+ZeAFv`llmBYTgnri^9F>l$_t>WADz#Qc&?SY^k|*(lzSl-f>(~;0PVXl7%+?;PiOf zOp^J@)q$>o_GN+fXRe8N+}jIqQX2mtgb@cM<+VC-5}m}MVx{e&m=hYxZv9zQW#dOp z5Eo-^)e`0NX0R-)-Me(!vJz$$bKm3BXH5R>7)j*p9-`E7@soNBPKC7_ZR)x27(i<| z4`e;*))LwSS)zmNKK2@2Uon>0DXkU7Va?p3J*U?nei8VmhDIG6h@|4Ra+YE{6j$i6 z#Y>NuWbWX0e#KAvae#jwjD&BalR2=Ootp*wZ15fZBzN!l`rP0_%xf0SJw&#=P^I`1 zRd~{Qg2+lDN;W~)+Whc!?6T>LYXmmk;4jkp8IBL{wY{6Q z7-hr7D8VJ!M!qE9Q%6x@J(8@BQaa`|8L}K`w{D@ty;qXi4kn)%8YEeO87mARM>RaN z@F~WqS{>Fw=J@eqb^pqChF3-!V)!jWwGwjRRN@|VjYd^k2f;T$Z;(}M(zl6Naoe&;mK=Dw+fe<)!l2s*_!(B~UvGX9Ft!;9x-0g<2zXa+9zzLG_rq&m(ny*hJL% zMDB8oK6uEhIPhNaHwA|#2Jg-K=M?NH3166 z)PD!w__bj?XzQ`3jt6OCuDv8an2LoJ|IDpT&^GJ-1lB9jpf_#g;K>}w1?ylj;07Nk zXe<2`QRVK8ws2{m`p0xA;rw=jImH?ekTN?9m!7v>Bn+VN0qjJUp$`Q1g){})lAoo5 zjwWx=MYzv%IgDsW{iX4F^?1mUz|v0t4_jXu6vx_aO#;CsxI=Jv_XG>>uEE{ili=>| zHn<13;LhMK!QI`z&N=T}b?;aA`7uS!OcmWdPw%~Z?X}iku878uQx6MqnJqMv>+21T zu-tus{fjor*czL4#HCWw&lFB4r?Y|4&@adak67%zU*@*^i}cW^ zzQX<_Oi}apQgP+xrECX@ZTr`R26}rb_dw>+g!4I(BzM;uYA-s#$eoMSkT!nkXViLp zkqjS!7jyn9U&hKaE0yL#E4hKQ&nFy%>hmdaeIh;d5QoRb!?>qIb?UjP0v8hdSzmc6 zPv~2Ou-IWz4SJ?gRYwii&}H5EYmiWe=?R)(YwnJsu3R?|JHN_Y>=auX56+BE@ExCn z-9p+xwFN-{#Nd4*AYx_o6Di4{|ol^w_f4J02GKpRPXn~_Plw%EBG3-3gVyqO?3PX^(_W96b0xF#%+mO5BD-W}K4F7-R#7tUd`LdAQ3eWaNp^7+jxJ6M5y(3tQv zQY+2;g;A?P`#Yn(yFEVknN!8JwWlY$3n}PeIaL~3vEebNse9Y!AF*9M?ZuS0Yx#Sg zN)~Yl>qQ){`al1}bc5ip^ZZOr*6Qc(8N7;ziR9rM6~<`9x|g6`2Uo=*i@ zxO|7jvr2(WR1;v0jK1M8f3w8IY6Q9k+xNhNtjDg39`XVyQ<+wrD0;ygHTs+5C1}v176c_!}G~ZJKQ*Nlr2{gT!NVf3(?FM z^Dozv#82xd?tRAEEH^G@X=kcPWQzZ3_eC6@DnM6BthBq>HI%-M+Npa`G3dElpY4js zNrN8F71Uz@vOT#A((R52Jd`JSOX7Du?H@P7l8^12z|Y9oZs$c<$S?$-`)i^ydhu#{q? z*0-e;lNs18v5e|T?-xb$8CqJ%{KNElJ}CQ7Q7YL@ouZj*WpyeJC42H|alN2-@W+6e4!eTJORm zW5#5(4TUVjgZ_vjynxP+yTQKZIo-t$hToBqY-FW|5>IS2b%Q~u-D4p37$D@Gr{XZu zFeWg6rGN1B2&s1vbGS`~ycn1Mi3*`B!8k69P4eUOH+jFNQ(6q#;FI0yUZD2b?U22r@Gv}*rJ}0Rc=KS4x;#u|_IO2+aa6T8Ry+R-8&* zuk@6A`#l}=uI5P=cTDL55r&?L-|3-SELNpbk@$aveC9sM+oS?f>MGmHux!m8F2vX1+Im)57>zdqbmYV| z7?wLw88kV~4wB!M)bQO>gtAbM!#@~5^iI64^xtfMC`t8LJQ%^sAdxF&uAHYH7>yhV zh?K7AuY5ce5u&z-EsE1psLVGwT=8wap7xqr7*27qo^`a7JSI8CeXLTk-vgZ0Che*)BABwX;tm*!7!y5xDfdua0J z3ZZi77ArqFou~Hutw<8cmDFFm14mm!Z&!|^U_(pLih+1GD7VRCuAx7Svo!4a ziV71_$Y*t4OTT+}-iFjd=Xw{?Ir!sSH4D-z=(^q_Mn|PwWl`AzXIcuvj{V=?l0UtL zDWS`biby({CjgvnE@O;W-Il)_K*1mrBFlJ%dFpr3&z`G%r}Qcgo?~Dc;|ET)F&dGk_vp*`1SMKJPaf^BJfF7a4Bel(KwtAuaLXR=0l zjbQ}%(Zkx!DuFaKlQJmKuMG;w3tIw_UCc@gOadjC`Fq1?W$taPq7W4|NQ@pe8+`{9 zrKOp?Ti@b33L}13aK9-D4;RXKE)*FldUsa=>D%CoQIWfrRNZD24a_(!p=HsZfy_uA z1`}khsrF`)TbWXnLXJlrg;i7nFzfT!s{)42J>|RHJGzebJC`3+uNY*X zWELxjqh=~NLhL7&G!lfrE!9ClKkJnpa1C=f!60r~4c7nkrlrN|HByPUDN zfZ(olT)~73_&2fpYv>1r+k8!ZyD&#v7b)7-8oSd?w&%M}ZEVv>Ubzg1-N8P?0HFWV zgjufN-nf$RRXH(Hng!pBC@ws9KF;L|(*3f0pFw+5l$()>I zz1PCaFM>fuvw5@c0C#Fm+Jv1*I?>tu&EhO@ONXco64e!)#47Ht>1vx=?tZqbQM7|f z5A_>8mr+(qs$GQmeDWjL=0k*48rH1e172BsYYwTv$|80qOazk zze|shqd7FM)M;wtFD9Ni-4!OVKz`*ILo*`^jlXZZTWr$y;<7d!-_M9cfcRBVI>_VK z1p5%og*fM*>UiAj&8NKe=Su_07vGDojKmT*ckr%38qg5!EiJr};{SlMj9;D+KR@Gq zGc^1OAcG?=($qcIsSVb9%szJ%?F?w9g+uPOI-c-IhTiI>77533Z3&1}`h)9Yt z8N0w%Cnnc!etqHLY}y&e7;vug~uvLG|IX_C=wsjXD@H9VGO^?MU>owmJE zSi0hSge;GKM(Mv-abLJ!ux=t64r1b_<-jM{o_@~wB+a=Uf+m-n_|GD zcog2@(F2Zd=rE%=adI%dhZ&UquG8s4u8C8iA!fI^4C0W9W3vXx@L_DR!4OK#8UKvS zXtno~$f=Rg;Y;8lmS?sTlb8CN#4H##;tF*O3t^)ec?Y?u+S)@x8fi+*eP zFWTk(7y(Gz14XM?v}dTp#T3}+V5*vdAeVj25l-B;Aq)HIF+)+*lt3RN6B>-ng;jQS zWsfG(4dykCHW76%PEn4Xi(-d@+F|;GQiB z-m~U?{_QfR8-#E=$t$hrO4HC!;#iPFR?+w?PKa*&M4hvM0gKYVC^pfVw!OwC98^&G zS<>n7tJ0d95&C_VOirT**91lt-9wesSDAzpMj?#@2H=pcs!LhPFJ*^p5DQ; zqhk}H&Tp$2T%)RD-&(xx*&oNjE|b?((ED7zh&Vew(}TaI74tFg+-ydEh3{_8dG+-r+XPqTVfC-dX6bixNN+BO-lX@+?wzcc!xEybU$()R2sZp$i*7CM(C5ahW>zr(N zx2)V?Y}q;Z2QL0!nU~6rs=G`5M(d(rxN6)3fC7tJoWG) z0h{24pAfpv^g&Gq^YE5Z$-pMuXfbQUp)Vq zYKA1{cML^n1u9#hnDb57PE;+4Xg}DrFS7#Q9IL1j4J1mjm`;;Y?aIC!hTHAM{|UkZ zr}*;qa1-al5Y-VobG1&A6p91PNVkle94GkR~HOlz;o0F|SQv;zglz-cAe@a9|jEx9@NUS@a5mR>y*;P>GPA){7Eek0Y)pVz)6z8_TeE-GAd-K70Mu>G# zeS-2OLRrmarX1t=b^g<0gt;Qentf5J9y>hG-)F*B++k3`n znsQfl;-;UsR0j<+myxEIav-B*MCn|<$WukJ%R4gc6%e}Xy;DNYV1{9KP7SU5X7j_^ zQa<++L{@cODE1q#+YcEMrv+29H_6)ink+6WJnFDsN?#i}MAMEIa1toA6>>1q-^OnLX7zfX!2ZVFU!H@tF)?OBf>yN$Rv6kj_L1Y!T zELvlLeD!lQ1(S4m{JDPUu^A3kdJqflew0jQ!nU3uW|8yD=g+e8lCfS9S)`rzpTdRa z8*L_W;djT7UV>!hOS#jfR>L?>r94Q>pF&@t6&?Yxu;ZSKrrr10OZhwK0L zUS1=x_^|2<8`{gOo%K)*9h&UKbIxv(MU<^&65Y%q{k&+$nx4hb?Sv0E}M#0yiJ$u@K z?{<7}cF0P5{o#5W4k3JO(NyOuNd2myasBNwALSGy`A-w=<92HBvk`CuI=`bORnGl^ z2=oSrVvs`{FWisWoh%*wyA|b4HZggh5JZhQ$G-8(6TaD|hz8YE za6gJOs>owsI{`SVb1(}TVamyI*MgF`kbQki)8h)2<1pRxJY~v9gRp59wF?W2cc3$b zlH7E}*M-rz1(Hl2cOd07b<_s93t6lL;<`49MWBJ7^pp%u1s|!Lo?P>>q<1H>Q$zq9 zOS){@ZD*F_38O%X?_^rGY!)jqVU8y8V7_iw#xFC4Ehk$W@Nq^+uF~W8lhdaf*rlU8 zJd}}@NduEirDi@Mqu~aBNOo$?iLtXW$p|%YYgGd(Vt`e~)WLkby?*ib>QAX{FMHhynD$7m$z+I%wU-9*SF~LAd-b2K@=@l#Fy-T5WUbzaC~nk6H?o_gTL3xgTU#1aRAWt0Z-|tC9t5a zRyM4%;G5}IC6bkSWNeI9MYHP`rFcGS^C)l@f{vTl2qMp+4?B5MY`d%KjmfRcZg0ys z2lGeScZ3*3XbEviEM||}(&|%cwhNb&t#-(lhju!VKs9!{Hunt61bTJ*V~%*(lyGh3 z(HPh(np(_CA&{>`&pAGC{;S3eT&GzcHcWfh@g9&K0J1A0nTpAeXZ-+?c_1h_PJ-d_ z=6^{D^7N2B8Qx9M;Yg4E`G@l2KGy`B(I)Wpk{RR7_LiiU&%nsA=QyfQ@EQ`?kihNx zAhp!_raLy?%8`@(WQMTYz;G&^tFY#GgtW=Eu*>H6{P3Ikt*c*jcY6^kFweHnZ5`$K zjKyvD7oS+4=ufhEI%}J9AAa$$DI`)UwU)%qw&wDcNZ19Th-`ReUE!#>dZv5`Pr^{*0+C^*~z7v>tOuh3lV>M z5!dSgqK+%dXD!_x1Fov3NPt-R7U-uu+0MhqQ?A!CxNi2zfy5TD9e;ds$F~}up}Xi| zDWYt@biC?3dI77cg;CrsZluI^P4|B#1=1O%Xof5~YjRbA)vqNWtN~uQMx-KbV{-U! z!^$7od-mrcu1U#zzR3_)&_n)v^3nHLf~@8^4i;(oljfDi#*fI?1uoScquYbY+L0aC zp8@Ob2tmw7!$~iCQ;~PadoUA+nCO+!jl~on|-r~%@@|;<4V2TvI3tHtX zD@`0y7%2#?zV>&kcMF%P_wPF#1p$UA=dk?|h$L$a=!_I(A}Gp6q-;LIGt-mT(U-8Z z#`cmW5f&p}y~I=y?x3MCG()4;Snf6)RNk2j#W1BWK-`@FlskYELiC;SF2PMgv1B$` zX^Pd!v0Xsm{Yy66I6r~YVQ0i>_h#I@9#LQx&SvEu;NhGa(A#&l>+aE1ul3mdQOJlc z4j2Q_NyO9OITYOM94T|#Wv0(j;RF!ThZK!ML#wghqYy>En4fCPhKs6h*1{`ZX?0eF zP$+pVW9gOwdN0sL1#wWkzpnB|inqZR<)=)_hM?hIAbj;i5(q|!=fAwjqg{ZOz_TVw z#=XkZxOMq{;;Q{j;hp?xG+%wXv1~l;nrzG{+1xF}H(hqG3>f7_9*iND$U>Lfj<29- zSTNJ=uhJ`sKU^t%6%ax?EIK%naCm^D-e`P_6w2%ygEqUVL1s5tyuX{MhGr3;VjJ^zUBo zBO&juir-3*+AP$0XFQp!NTW#14_Fv=%2hq?aFF`Xs4)Zy5?e%hY_L#C!I<1u-(1S`oB*y~^I#+?C>j%FOXVb?3>MhH4+hrG; zo6ZKeFHl^)fhi#bn74lD`4jn%7s=~kBg5F>Y@lY(ng7c}&*DYVR{-7i6KB&u-SFN$ zG@rE*P0GtLX>~e)Ya7FoPPMMv`d%8gkVD}kpDu%|stea;v|4Ny0(D!BUgM2m_e2>U zIva&E(tX7hq#R#|Ix_1#E?g*4ub5Z;v#SJdr-gvd6!V!IawVP#f-dOu8Ci4NlON0# zk4RgpDr@2=_hW546yo1_=c+tQiCRCJAgxEL25f~M^X{HRh%09i;ed%H6Cc>gBTAJ? zAw1zY4oY6a3Y5y6Y~e!nzow_fb1yB{YJhkvYylJZkM9Pwl_{;49_o0~cfQ>zh~#x( zT}*We8AWIFEW0X7{Q0;A6*QU9WI4Be0r}*$@;0#G$5^yB*cymuHSFEs3d#CQ(xPL$ z7`3PU$!kGF6DJ%#ytEg;;q2lL_x_>#VNCnZd!<}kd5@H|0!irAnSsyj;OWe{_y`d4 zeJ2uiy-FVI)NjOXwOCE}zv=5}LJjY@xYQH63x2cl9`{fkd=byh;|ucb7=J*nO)|-N zeKBOQ-Lm$gJ8|Us8sl)9tbHp&CIWLbGCk;I1l}-^R$uHrj%(|1NP^LQURO`fdh?#1 zg2g9AdEAK?f&H!rKcE`2$6_HVa-4^O4M(xkRhRV29^RyidbiUJ4z+WVzg%YjOSMZ$ z6D>Nj1lV=~cmmD4Nvnth4y1l8cAW1~QG442d@di~UJ_C>>FjI4yoG;VV?_3VL^-(hqEzD4by@U0%ALt!*Il zg9K6tLn*7FAwn}MogT4w<1;TMtgn;ab9W@w8#*#RMbjA#Mdsdd)OkjeU*F5x3x7b; zxkzB&uV^gK5u^F%GtUQmA8LQ;(?8?!dHn9!Mu3Gi=4f}2zf$-^jY(tazL<^?>!thrhL2zB#IxNS<;|4dOmhh^YA2yqqG8)bh9K;u$QzZ@TTT z^|)TQ{IT;2NFq!n_5?1?UPu^YrZs6ndWUe`KOrMU4F4W|{dwuJA+FtT1Rw3BKYiS` zjC1b7awXOYe~1K_5_aCi20)3M8SlD!Y<8xkmpe0jVO24)w$!oS21HfS=)2D?KnWQ7 zoh~nr$>A55n|#Ih6)K?ANP)v3d36Y0Og)TN(;f9>T8%Y3ofa$19A)RknSDf=YAU}XOnVL0gyeVa7DZlH>g!3!d~ zpN5J(c*Z>9zJL2@w!hq;#47ZRJvE^O8m@+3-F=Xs6Ob=Yb+X@~yx#4X90#x-x;J5n zYtwpMmR3edXt2(W>I?*e^HXvJ{G8L7trnqW_%xJ>Q}k&V z5y$q+JNeCU4qy-R!!v|xMK4gc-~s+bYVw9cePhNEj|Tfe{%@&F6Z=cv<$iq2F+tf)ED+VmRrFrvzN0pKFh`K~q`#xt*n zh#dic8D?=6iM2vpoQwosmIl1pgjIdFef~r9`Ao=lLq@-@+eyFT`5a=?`z=jutxb|G>icj(-d)uzq&*O7spE+B# zp)2Pil4>I}>iGDuyP^r!{=@aws`%r^>#FQdT%cL2^DhBcV}?A4U@}A}2)=&&GdM?l zp>Dzo?(fd>#4#Hz;40$7+IpN~4)xn((}(p~OA1vt$#`m=*yyW%hlSH^4K3QV!WKIe z`f~8;)f+9KJR2= zbf(JibOF?Ezqd%oeUBt`;JayfH}gozkZ>(fe`UVY4K5HfX2>&_1j6EU4i%3v@jqvR zHQMbp!*BPZVgsG@w0NMD<`W>@*TszqKAR0ZLuqU}>mTk$XhlnzPJUijNZRgf%5PPB z_5GSB%#L?qA`FU~58L6kyXV4RCmt>xWY`w3aAzA%m$o+9xbrJ(3umN2tj6J8$rLNs zB1xEVKmP!AEsisA!eeGFKl+o)@cJe>1#-7ii+5;u7t}|WA0E=zYxO1Y2I=sMJbR5i zP%h9Ds*QeY^v8YzKinoy%ZJEN*b{KzJjcGy;Sw;y%N>!1hUWG4bzd@WWJjw4>o2CM z3wV97rON!58oxh5NlEyGs+)y=H?1y|F``PMeWs3$t~es{+)&kvN;uvMkWi`6hSsA^ z$=qNP?Dwm529nntM;9@v{0w$Amh+C>%pvu%Z>Ro51w^?>MDpeZ2e1OIy~yy!q7l?c zcdCSuP?1`^*5@OXU_tW19o{t zFj?sBj;FUrtO1V!3`^H*_RC*~>G<%5uLH1~$vy5`OoAOBx~@3exw;brjRQmZ=By(Z zeduSrKq!c|K(Gd*;YC9K^Au9~)f)mB&&G!26s_eu@#Km*(zUuf)R1mf*&5v2Pd8qn ze=$UoJDt*(jumMiM^40@Lf-(F!ZI1GnU&!#9p%aEq4yjL2?I6@1;PPvnExT_lcM3? zU%!Lc4`*+7cQzsQZ{bPkqC?}VdZexFrL{hQl1#J>UoKntx7Nl|uO9CG?VviX$;=tn|t1z_f=-@gPW!;N%6?_Rq zlnI(aW7hCKC46&syy7Q7-~31Nlb|g%2K=uHCFCd`DCYt>#5JAfWK74+c5V4<#Bo>z;jyJ-xPiP zS(7$EAGb~1csdr-AmeE7kefhUf8GP@HeYG;2MG1@0{2P((x0;bvIj>s z8_l8Uys`yjH$M1wSn3t$^8*_p(c$t7TXIF(cGM8LVZ@UJ+1i!~_T3qSJ;!@zv&?I9s+-cwdHj{u+Fd?W9*Di}u=YplaZ z@d2#opQZmv_vXJ?0Pu#hM&nFEtZ`pq0-Min8+tdBP|f9t(F6Zm;K*LUQb>fDpTJFM z1a=E*yZh}*U#k;Q?n3yn`0?;qsvNpm5HFq)j>i{ES!rY7d1n3n)DdI8^dAu zLWQ2XyJA&$h+GM`pPfCgD65{a724~}z$^a~lf}L1SZ#%;ns9zPM#(v$iM@?S zk^i(pfWu&)w^_Ymd4ZLN9dHO>VQB^idYovZiE?%!%(bI`Uk%Z_-KoJxB2435@qnv? zd$hNLC@U#L(~E7|Q}}T=`oM_fRQ)>LaAK*Y8<$KX%1MUDD|zu=P{-`JaQie2J3DIJ zIFP}b%QeAsU5r5cgm9kuYtC^a{KAL`^sv5z$i9b zK-d&2OOU*v?-wiLtjI^mme8mOcH_*TQf1bUa9=68Q%n5K|78MvC#urc8nzekZ*NMD zL+KSOPiJ>p^#p4xgI*1LK%N6BnPpN%^s=Z~e6 zf!FH#@=8B|d)2P(st|`sb-G+bwro2-6`EC1N8q7$oQ2dHuXz6Kf;#?j2qH|*BCm|{ z3jw4jJYf(9yN#|uXayz9-^c;19GIi5Q|V`e>0QLJ7gKO)-_G=|=!dBEK2d-j-Ku`V zouD^+ymE?|3mZywA8*r6gB0z{V=2d_nQK!&id~m_}f*KCT(&F9#8*$ z7no@Y=$?SyQ@h8XIwuo$WoV=lfM!ki24|3$k}2GqOO~hva!jeVjlf5DiP1tMu5&6H zbd;LehNX+YRioy2rAPiC7xjyyd0y~5Z3?XywfctcPacAPc10$uZv4n@4)5%(o})_$A%&slqsfWa0e4>d0vvS=}rlhprG}V$gzTIEIM{@kRKjBul;Vq z>_W{uo5rb6&3F#QcOG^MiN+aACAb$B)mQCKNxTMHE7|71k|E1pb}sSLk^5Oh%*L_U zO|dSm(vh>wg2uBL6sW}PUSH*WrdvQd^8gzWE~`OCB^{&gsv2-Bi#=JZmvW|}kmH|O z?{QbIpq746Hs|RFkA;OXgWi75znragYP>CsBe*3Ny)@j}u9_w?GkBV*QLHf+>5<3g zDf3O!1by`%w!aJa?D6;F>d0l~F5cf`&sDGXZ`=3u_H9poiwW|BK)kL#`N<4q_`hpH;IAGJMmhY_ zNbsq-q!2MSMIwIuc*xqEW~)qJj7+*SDev2z71nSut!-BH^u65qFU!S8{}kdYn=oGM z@@#ArpU;uY9=i#&&d$noC^~wy7(=3QR+@2A(|N-m%YvgI*(C~#D-=dlRHE8*9}wfP zDPRkgFs=d>Dil=0CN`J?5MR7$XV;vLb@a85U-=4HkD=vkCG=+M`^1uOvv}I(op<@W zUbxDb7%LjlH1LpHIbW=0!g|gZUqgD_wm(T;F7Ee;1?2>XrKpLJRTvK@%$_IH&E`$% z@F@QoR~zY5QU(`eo)8%5?k?&_(;#{&%nxz&s!bU>n1lw=w%;DLSxJa(xO*brOr6Ol z__Fb}Q*#v-!%klHbHidh960aR(N=?RqIef!bOhDIx z9Zic3=M-6`2XCk}qa+(1$*r~$m!j;T7Ee}=7mrs@E^u%@mriXsdTlQPZ*;8BiaI{3`gr)JI0a zOZabMmb3tcE-leNU4quEOc`xcwC%M^grIgji+9w?e1A;TB_gARzxLw3@WDZw4Vv-3 zbJqd^DPJMBWoO~YIja4!e~o+ue2sF<_WA#!)m{IRrjd;v;!9PFWh|*Gi1~=xi&J@n zuEI)N+N?_3Dn`o0hF>hKr*@hrh>QZs6Z^@j|#B!8P`j} z8m5sQH9;7OaEbjcI3N`t`P5zJEHK6y{yL@3Z5RP#4k@5r-BT`_I(Q-FH>QE}io;Xy zPx%SAVWcR&G7fdq7W=}Z_F6Y^PiAsDo^f=5yC>`O)sKHRrl45tqR98@mHg4UT>kU7 z1nflGF>deA=%&XVGkUVPrHMTgB@LCCm;{4j9yErfv!CY#mgXl?tiKZ5?R|7M^20N_ zy=S@IL|D&iCU=fbJ5g`q-Dvw}-NZ*oqAcz9ZZ<1~ry#TFY6pSCB|JN zE|E66nwG~}MTR5B|5EVHGB!r8kNSkrSN8T5Lvt{tTJ1#N+?n+1{}Ukb?-W`(^XmHe zw6~~I|CRna(^mYDDkK%gh4%kK8apv9p`m;Kl1L~ihE1~#qTjV8oj!G`sAVnOuA(dS zdsu)HyY-q6x-rHdAG~xLZhEht^_rf=EyN%|B3O1d!$UHMbEwkPMlbZR!tmsP3K%#7 zW{|+MqyTRG!7;^03AQ{py|M&+u)@J}$oXWJ8o{WBa?tR%saPGwXtFxfY#nwlaIPRO zOYjwp_i^tqe3b4;`32mb zrbCR>>~p4wZm`y`X+=!4UYw}gDPMBB*qL-k9)htdw&@tmWFt%NZ&knH*vcnfijSl# zPf|T9E-06868{{;J`UzLtj_ZM|6-*n_#LUlkS$jB?Ik-HR%qWtyKu|PC<;!D$4Hz_ zoj5077p<+^UJ@h=>pjC~^xE;F^v7VHoZy_eFj_@oUokD6I2)C3MpUeAAZqEZb3`Po zeL_$PHcg4EjQH|cxE&}#11WnF)Pxc_-kreegI~OBH!U;I0;$~5;Y~Bp6~iu2ad>#h zj)(L&Tem=6ut8iHeGd(V^K4O>mGqT)+X1g=Y^F;riv~%_d}NE=pcIZ|krmMp;gm5B zW!zTNCD`TWT)C0O>KBoJ@B4Ir8+p(*q9(Rr)GHslXclEmrsv`KV|}Euq843qJoYBI zR}o>)o$cZ>gMVf1stc*+qRqdoaj>W|-6R{k-BzUGH%wvn5f#qf)Q{gVO#C(0k@nA} z5AWo6-$ATGR!M+kcs&pl3`}uHMy5eK%EGQs*SR`HgZA>9#O?eigJP-*q7a?&M%}G{ zQ|5qjndKo5B$eOB7)OE>kLt>%b)sdTsf3skW^Ff+y*O07vNrHPtdjHw-kj7Q8)B2% zGH)=e_R;VON+&v88}V>V4T=uBbQP%k;0aEsU_LnTDG#ftBw^OgdWm@1VOmN~HShOy zlcG9_hVu`4ZDOxI(&#uJEVJbeUTm#cGWvKmxOU&4w^mqO`_#<1U$t9YpZJ*fW1h|> zl#EC&T-n4HcK$wmN8G~E?T$)i&92{>CSH-p%512vvRr*WB3NWMrLTvs zTZGe-++broc+!y2oIZ%N7ZbzV%-tg8V6~LvLisDo`{B18vBvquxVFu%lSs#+C)Xe9 zR`+9xAXuh1Q`_=aE6jcue2$A91)-<8NX_#wr)9ScQ?bg!uilICdwpk`)nB*SoGvaU zQ5KH_4{$lmd`nk`z?t(jMRT^D_oy0**$eVd`#uJh1b|J%?#(f$} z!3qn2VJ#Ut8R?9|?|=NxdS%|C5Qqu&A(mF{j?^jqU2**kB0r3{FlxKDp_YN_Fxs1A zE>F|jek5&GWC)T$EAsXNRbK>2r4e7fm>dS2Z%CRcDTMoy)oYd{2Y@=1wd;3t93gv( zoQ)8$Q~>YmY`WNupFz-qmucPbz31$Od02Ngo2OjeR6@I- zlg^6nfMSknRDz}fkGCf!g}M+BLnq{A_b)Wu26a}FZZ(4AXn8;?fx;(Pyk0*B&a3l! z_~H+J61Xt3jDk6yrtKwNe@gT#&KLk=F z^-kp=z55t?~m|djtlDrH3c`n@jqQzCGr6Tm=g-bH(n7*)4vgvb=v$(2Lctq}8Bj zzb!Cp7G?Bc3IRK2*BXu`fEb2>L62B_i+8ETkMjtUad&;YBx%aiLjm-A&gG>0gv36a z3qs!B{Yeayx6+93vbl}cmx!nP`e&8YJL|#R^)9vq4r6dB9ClH}*e;xZpERYKxJ{0dniS^V6hj|XhKqR@6H^SSRDx{;t zkXF5WatS&}lsG?l>}D4Q-F|bLvEVv%%I!QByI;S9aVL^F0+=Rr33iIS-tu#J@D3XZ z`0UzxC(2(skFuBl+g^|nZK#>R;=qQ+Db`wo0H60zTmKmekWPi3|dxBf3V+W0;V zw29AOhGKZpF66${V!ha&`phOr^rARuHqEf_M1RUu9N^v47n1#nP3E*(9sw_w0)K5xsPJ3$<%=|5B1`~^86b#I6M1GyhQ zy_2Tg;Hv*r`cxvws65#EOH$S)0MK?_#SH3)>%fq z1OrryY47=I9S&=zf1Trk`?9T4z8JGV)jgZi+uh$8dWw%BzBmj7EtC+8b6>R;F{GOK zkk_Y#Y%`CpQIYlrQ=%EEm0#XNHm;cR{}6@#`+TjgB&`%Tt}j+;C;AwUhCD!_1KU7& z^)c~FF+tb)B2nc#wf;B(fTvUo>;dOaJ=nbbG z7_M$YYLA~ph;eY2N~sZ|#on;W9715zntvC1Tng76ZXG3IwcATOU-@4n`raw8_kU^H zX*2?h5+}i81spv+9-^o!S54hXlrRC-4m!m+tPUs{ZQp%JPG@#ANpT~O{!qX^E!chb zVz4#8B_boOeDS=mouJEDZ&`^b0T(F`EG1%+cAbBuD`nnjtl(i4H3*D2Fk7`$KlI$F z@5$ad(jJCwN<6^DHdL-t1(N%4N6p)IKlj>qn%w*z8{9rkhk*o0vjF6J<@2raegf+F zsqtf(BAi<>F`Q*L*L#JRd{O>gBPx3(rjr%oOcUyM87G`p#wmTjXXoY5cG{bhRt{$} zUs9;{_Pk5X&W|OclXPqTw?6J#BX;TG3oBGnn7#^Z3A<~bR&T(jN9MOgrpHAm{r0zx9ODhRWsSd zIM2Xo*DJq#l@D#?#Un5{imhn;8zwf!(osC#%){SmYh*B-kzl;a4FM4WeSwx8Qps?N zc!q8uq~8GtXTn*UL6-O72<&G3^LI7KJ{2>w`cbn+>)F@4^EEb-VC>2V6UhiJ3FM^0Ji(B=Q%GTFHQltS z%kPyp81&QKuBnl>^CU^HA|6$)X1(HfAz zeyd<${&*rsck!6T(eY9n_2SC@L_xYKD|?rSypVP%`tOT#>t8cAnBPbPCIHUaE*zwy zOgKJvXd_D59rb^P3BG}ETjW%y>s6X7)<4$bZZ}=&jo!Q-v>b5150aJd} zJDy{Raw|S)OaGTaeyM^Nmz2+OT#-d6y=r5mF{-l+bpu-YsNWeA50IP`ugAayw?j1c7OY^>q-_O@wn_DENHq^ zx(_1=Jq7c-Zyu59cjAm7ULoeoPNh6Xn>Aef&eJc41;+z(-ewco!Ct5xQQ8?NrFzK& zV(iGc>w%3(Pc{{{yM}!>T!bG0ec!|e$5-xb4Nv*|l9Sin z#tV3ZO^j?LFMPuua?GDc;?iNp9&C3>MEaRn8;A0RSipaB8$b1|K(erdL9C3D7N^7K z0`c;^2%u|i&kT0*_D{_e9^KB9lBw7=Mzv}ePLtbmXOSeEf1po;AL)aa9Z4(i&-l4W z`zoRJ7CS+39|bp!`y~?YeN$P-?n9ek-d75!;aYW6Q^Hb)RIPF|>gxP9`}^UDW~}9v0J%2@w7NO8YbU9-F^Wfj?e%6mdLRM4Jh{6@ zYwD!J@(?M_M{0OGVLHB;9X5f`5avc#8fH!z(lX-NHkLDQqT%~cCYrFTDkWXSV-HpF zF;pqQ?*;|^NKVR?XwMd*-15Pk*d>30^?wo<=#l~bb@_;e+UWjIGQ-bsbty$p73mpd z%j?awjU){HdBmeG));p19<;EEm8S{0k8DqxnPfgm1SRPydWP3mTWH6sp63*A(1zV+ z{){wgXk+qPt5fA@AY)o3o;?_Ea@}v)Xf?Xw%m^fP)KpFNp}TRqzvat@uN9!^X4Fhsln6LtWRp) zrTtSS%$~L<_xe*KX0ZH!uS##3dRVCx5cZ3hiSDFa@$LYszO@TExd4&awLwm7`Plh2 z-Z+;kfx^BaHL~&f(}VZSeaAnIz*seXyu(T^s$RD&ZZys!Y|*wIWBT0D{*8k+(d(&a z07Dn5?ekz_dBm^)K2sxVfK3c;m=jxEK@M;X>RcHo2{DitL61iRR{{Qq#QnM0W|;AOUs! zZ5IIxKU{^7KTb8&d(R%8|8giCFA2~?aet5u6G2B~5o&eldZq~g_g3W9Q^fVkX1*PA z8FpQ*HHYi1vgQAF-!tRKwOzI!vOl3MxSsFmwIN*wF`=XzS|w9q%h;Qo#j-^xOjPs2 zliA-ohO1wbRmjtOH~>TQzhI?AYO1`YEc9!$pp@3#QkeO(C%%x#)KCUXcit5g|9D^7 z;Z-K~Btv|+eAk036ZVegz|q<|2AF;z0`W)x$&KTOE{h($fZJN6OSdL@^r6qEn6Fjh zOjn<5raA+}8u>HCEZR`zSD||&4yMkmo^Nt9Y_^}K*Y9oxH@|rw z;-~RS+>auqiK)Wf=bH>jdEb|N|G=5K>y<&LYXu}O>}3^c-R|8t*E{tZbxw<&s~q)G zT>bl~o2Gk^PZ-Tee3HQ+=1%(QEY_Y&{`kccAi}~rH zAitvdTDzH4g5&px^zpjfW;QZ~?F?LChE8Wy5g)qg000|aVuq7i5rT=frWV8_-CUGC zERQ`KFA5)Z2W5_*BY^^{VJ3GhZNYhye?^~{nHU#?cZJ?xLT4K&^xn!!%RlH(FV(^1 z9h?t+8z;+N1kx8%$}D*jImZHs^vA2SpMXx}DV5|Voi-qxBVObpa~6|A!#HTs$%$@> zVew5VAS~H-%t!zGD!+}-hQ93``iS9QH}vsOuh(w#LPA%_QzgQN?yTjcU!6s(PNTXHxdJ8I z2AD5$T7>V=aAR-IvbK{oXFHD0R6nl(@&xc*&M>UG$*y>JecGFyTBU}4@#sjR@$d1?W{&i+)Zm3fpHH^IftmasW#F?q4ew!VYJv?>%!_q5GfoU>%&til#$dNJXQBj$>2nX{}~BkOe&Z zl33h120R$VBg0G-99n@+!|v#Im33NodL2P1u%SZ2pJ6ROpBV`=pmIa{&(#oE|8&22LVnbc!{A# zoD4J|&a3ANIR91cR$FipVpbuVxo_*#!|C1<^+YN(F)80_aYN+jsk*>Hy(Um{sB)R= z#DY8?IZTmyQvKGA&w+5Nm)~nMd3Xky44v>;O4mgnqG_z2L00ghXa5^lv@1ilc^^iX zIh(N82Rc`KjW6T-(i*E)4irFV4Na|zyAq7A4f^%WlotWUo z2n&8X?YZlg1$(3xA06zn;mh0C^O}9*5h-bKa>?Qkh8Y_ag?bM z+g+7(3m?uOqUwaF(F`#FvZ3*ANe|DpN+}XRup>M(85vCyIwlB7x#F}CPj;wMx zZJnz(-dKHQGxTeJ;l3p>Vu_A%)1FtK<)uW#dkWQ=vpZ7uhEzACGrw1DRskRdp!!*^ zbku6GYPh=?F?0M?@r;kQlYi@?WGx?&&g(8BX?U`$Ev@Vc6rex-U$fbLW$kz&%22r0#HK)+#SM(zK z0SfKI;;}1ILLZ)Wy8gMB+=Pl(y`M^7jtS3Sz?j0IlWmb^j#nhmxUo>;n_l{9--aYn znlKf#F5S7VX`igSV)0E{8ng+*>DlY~J{f;1lc9#gnagB!__9n1Cp!g`bRvMa9>y*n z?9L$u);7C1nmw^H@l=KPYe_?V$ekDuX%Wx`6_Dt`*4V+Ge%on$w_}GB}ieKBYHou98O-EVN zgX8G(_m3^vZKpJOPv#Q``PO575dukmEps`h=oB%(@Q=^&4CIBm6JdFJ)-$W*c5~Mo zreYqaXMb~=ApEkO+(ztBo-n{H3*lWABb`GM!F!=6vH4Y4&)@-qkfHg7lkqcMjMi{L zRIv{N3>G(l&SVM~SNPH4d&i|76KiOa2^?Whj z=emopw^q%G*skMV)I|pMe3Sm5%&a85wLaA^Qm6?K>V^eQ+tfvyKA6kpWpCF_nk#oY zC1D8hWmepTHE%0gg?CKYbw^BM)f&C`Q41fU3r6){wVE4NaJ*3nDSmUZQZo8)uFr9j zjvG9*oOGU}!~^=Up=S&sR;}H)7ON%hWn)G<2Ne$rLZ+^x53k5YK zC9A5Ec_eu^Uf>L5fFH~N-VRBqJQ#v9 z23+bo=)j|3_K0w8XXz{!SY{&?MjMuUDo zz;7qsLIpjBb(#sPy${J^uHRJi5V)N+)MB z0^9e6cGJ;b#iy5`}byPMX5b?W!h_G-r1Cv zLSC?%;&|z&42J?FxQ3Bms^c=$N zk&{lv?0|o^YORC++y1uvPh~VVeF;&jcTKMDLkYL#-11dCA&xxBaObHl>XNLCJz?}k z>TT|C)bSbDv6!_(%@176(#DrXAqaNPKKk&T>)KFoJR~9G7I!O*wO30e_47ihu;qwb zEmd{mv(l*Zwo9^7Ro7u0!ttoA;hS?;M{#r-PBU72I(oV$FRFv}+3Od87JWq2kHt7! zdQ}F|IeP@wYbeQ%sfQ^R!o>nGwh;>f2f~-!l}J zk!9o3yzyKMV5E+<9AYjnVGm$Wzzxrk;v+fvZZ*@IB2CuDx0x5I>GGYA3JqOdz_ z3t6MZk|sd;bM9p*5ir8W`2Vx-5u^x4{hUi{Sr;C5!dF3isdy4x8xHIjH>>_^!_ut2 zxYsm3M%c&Z{*p^X;jU4VgvntO)of<@T$(*&5xQD~qahFQrU(&jneqIMSrlq<-%EIz zmCAsBce#2)cExib;6z!eqB=A01sX^s~YW$f&5AUe%_3v(zuX^}yRh7-* zR3@mi{2JDUdk~II!P4lYn7f&|J*)^U2Qm~a)(E%u=A!xsD$JJqV@~G&LK*uU=&z9Uhlj)s$F~meJ(cv zfY1hdRyqI!s$~SFPLq9AMsa^`Pmn21G}#1g7uqxFeqaDYfjX7*u`>mBQr8~LY~EUi zZvx`Mbz^^rgdFFNU@ToPuZIXD*q`9ZxXpj=_MYfH&l8XC!}Rc*^sgcunL{Ocm#(_q z!}d4^cHOMlZOx=o!~jpr#R{qppGOB%1H9FJY|FN=j)%<>%@6M@P_`=o<2cOxL%mwA z+Niw?#oR~*J1Mh08);b|z4y{RydduYoXw-PcJBe^&y0ybGV32+F)MA|v7re+XMcfv zz}L2&Rg05KuYUA z>Tiuq2PLnGH0@8U(Ts~rW@10!CUYtgZhU+wtR5h&`{dn$jZ+5GM|VRp)7i$uPB2Z< z@RQH9tfboV5le7!Z9As5?W-*Rw!d>5!U2W^Up`D8f3sv?a_QR|FbNKkS1MMV!kXrL zDqkb_=wO$dJsiVcE@l+|jhCF6*h40{BVm+NLV$ zmEYfq#P~8TyZ+eHQlcRfjqmpDmS@yEPcIDa?btsXZhM4%D>O{@=XpQ_8-H+iuAKsu zwP^*?R#tEkBW6G|p&j8~EEx4A7isx3-Olv-yDk*b7n)2pwUvy_OdRrR(-Y|eM8ft9 z_y#7QM;9w+^Ki%+K#>--?>J^WKe^bX%YMTnocWqLKR-^vKyzfG`ecSLRb~ zF<|~AjLD6CRAwFeD0CrPz?t{jc3uLeL4hZ_IaV2s(y-wxmaAS$IA@0+F@(!3 z0~UytN#IX(Ffj#OPt#jK^uw;%vYUl}V%LE>5ff+Xua(Nv7>8euh zeeM=oIs6y?408{nShrcA!Yl2GjFjvzW+IBaFV8csHySk#Be5)3aWrPT*zrtp+lXGC z{5KY0LUR5nGNFH3GQ-5co&P;r&n9KU4(VRs)|PO}qvo7c&Fb%g=iJw=e><58MzAzt zs2<&9!G?696q6i_V~vBEaDfpYD#9&Bp&~cka5B3vq?wUQzLNl(S5t3Qt+yh3qJQ$% zO45VF!PwQbuQgI0Q*q313E8 zQ+qS*misUlf;kSj;}3Gt4WyJg-le?{Mm00M#y~9RC^Qpd3a#@l_apL11y81F&bILH z{@vqbxNYo$OVe$-%iE?WriR?Sn=5VyyzOT8nVKN+47>N<&B4c1XC{XgN~Xm7R@T-f z*49yfMpwG^d{Q{9W2hqU#(#=-sv&NwV0DXM0EZ*b_aGo}noKzy$!M$4W8fnWJ z%pU!P;2mZlpb>7l<3=$CIZ@XlVqi{b*}4)A3V!ymFqu4My$J|j>_f25o0kDx zLfi7iS%~;iIN*KefEZni&S?({++h%Hfd1q9j0H^bwx;C{CfTAyMu!6CQdd2 zn_KACtshWK9`Z9JkA(52X6Ap3Dxa2kGd!})S>BhJuLXde8H;!xW+j)kzg5@$TwD*g z+&rJ|E_2gAT^jV1@83@&=IM!cY`aUqp)p-6!#>Ca6T3aP>%HjEpmn$>CZ&!+iS&u4 z>~Fc>`@-8l?%6rl&wq;GlskkbA;yGUHR zM%&5TRx$b^iuDEjW0@FR7~k}dH@q<{Q7 z^r{h)QoV`U8fcx|>qtdC&98^+ffLs)2zoBVV+HRw(-VlRFXF}pU#b%EW+&#oeki&- z|5RrCDcq^(5;7YT;ZEA4~N-6HMMCHQan6xvvKxHlBeF0S`v)hGg@Si}|`p zQ2;^1s5G9~A)=5jXlre5zCY*$>8x`X*U@p%ghQ`UYSlI}y0SO5%@IIfwfzZZDF+?(K)m z@5`5}Za{H zM%nuKkYAVcJ)D!tqjhngbrVE$7KA5kMMY|)M-$@If^UpE##j^cOq_%Wq6;~>pcWz` z=+~day5Fr<21r>BFI)Qm+Rn4J8V1WFz(ViIk`bQE<)LOApaf~=4s*tm6@D^!*Rg|p zv26^13XQ*0=D-!lx9xj3Y^5Gc{M*T1=}WR>;N_8Al!v_b^%wZ#_yMtu(ht%5!&Yb8 zhT)j2)Rb0V16gJt`|brZ`Rx)YN5HHo`-?_hZk*e$U_{m%fi*VE3|2^rU+%fcO^zSC z?AD3Q=FI|Mwf^9nH`*eb&4SL#5axgq$0&GR*KBtBC30iKDc;npJ>%!yLv{etp}M96MOYd2w?duI9b{w!AkKPa{D59bxjHuT0(x1j}$Mfx?2VdIj~B-Y&q# z=z|tSDIr8grG}8Nw?H+%skwe;MA78y7oEeE-MF?1`Q_sSc1q;v_BhPV&;4%l1#m3GH7yk40=1Bcb09U#wc`11wpMHGq81(A&t>#|cN4`n( z4+#&}y~rFfFtPYLq^s*c7V8YuUlm?g+d8bzypTlPZ`g50+q25y2luKye~rGHTt#AK zUHE~1e8SJLY?vp8+(GsDA7K3I^jaBjPJCjt?7JWe|nCos;H!o)IKX2AjFzH+{v0}zs;<}XQ zID}|Are8~8(v<5gm)t38aZ(2q8nF`-_*5l+u?y?9azCW`B81Db$K4(5{|>cIBZAD4 zd`$Jx4Q|@iFW(t?nBtmh7{D^i(;iFnrFr@7qTA>Fgqn&}ItFU4axveN1sG!*oJF`z ze{c-J&$ZeiuJpoVoc7N@^QX0g+P^iad8i#N+v?|6sTj=6jF=Rtp6ht8;3r{8ZG$Y| zyOT*IsOu{ET%S z%Z(AvO)ugL+L1>_C>Fk-Dx2tRF#$JgXY&^YZAr3flRE%Y(3 z%jMX#+lt>I7=D&UIHwz|3$TPCMXkPLu+x4Ks~)bD)}araAsd`!TxZp;#^O&oKfrQ@W z_Zi~Y*9q*YkrQK#Px%anSOOz_SUusrRVRFDwYen*%hAHY3eo!uTD&)P3p%&tK$7NP z;o5+`9FyR*4-qsWhaFr_Au7T|--Cg$Oz&AJjBR#3a4V{=zae?hfl6uzAqz)5Z2nxk zO>%;>jN=DJemSLd=uo%}DEjk|e5L%SfA#9HUSHTSnLi+zaOAuEUu@B}DeK@1O`Ht@ zi=E_e=#ALgsqP+k=@c6_j;g~}b=|M~jXO`}emUBUfUvO$MkX5t;{K*e%AxSKFdn8f zkfx!WI5b|xf)dwLWqMR*{roSzOVm8~Z2YVbX;@skpMCikBOcJsCQxo))jZNMqV|5- zBZAj{oYnH>r{PJ)X!F#L+R8T1{(*i-NFt)87Iyit(0U?}VA1yHvBso-`(fZUcU;Z) zOUp+MseDb3<-5|ZF-EuLhc{-=Gkv{YyJ6vp>!e9B!V7LA&yu*q5mfQx?Q$F}K=jP8?M$r%yiWhGEBgBe79^%r1bCXjD)c-)8t%R}DImzYz{ zZuZlCKKii--Xn$v$RfTCmTT<&&Ax6MbX$D~l7kjYfl|6r;co_#vF9w*bra4C>S#`t zQ{Pb1)>E=jY-nqbHB1=z%%nPpK0oB?3$KveB4zhc#@w2~!!UNikGfT~$1+ zBOiqG?{{3moF(`_lst$u*HiL(>?OpS-JjA9M=1MaF7s3vKV%tA1#R?aS#SfZrnfL^ zYVUob=aRTe!aox0OoiXYTQEL6$&my~_Xl5IGQNqCUch)QvjUN^;rw8tpE8G@JGnKbs$zy#*E{gcggCF6QLU7WJVhKz zqoR3$;CFS>yd5KuDwEjPt^kpI-lP*yIQ`UX6!H;;Iq+!>Z1+b<@@hGw>r1L$whXKBx zgu4=ztLydHk`YwK_Ae4kk_pa7z?R3S)h)vNyy;nX;Yn?lsz|850OC_Hfp^|2DTC#y zE*r#;kN{B29_*B+!OrwD`go#P*Kvtkb*!z&B%C2ql2<5oYcN^ zzB@Qcd6P*lvc*Km!M7jD)ti!BFzVzi(0EeXFDPE`w-c^_lQ8wb#)dT;OC59&a9pZC zXax_tbu8&_DQbU|@JhU!ST*KDLnG~OnfH3_h?-nQyX|vlJln+g5p`(iQ{661q)mZv z*c+ZrFw>HQtD$eQ%4D*g4eoC_I9e17*de@UHyO|VMr^VMA_OySdy^^@Af8AaK-+$% z>jZ+V43QeeTU)#FK_seJlA;W5Z;dj)niXb*-h7SJbWMd`pIi|8w083HNjJr#=jlou4>Z5 z^V5xNVXeC8hIvJp{r7!1bRBN{CK+B{V?IeG7w^4;-<>S$y!t+*pcSg66~L%7xG{~r z7mZ!6=f~TfYQQ!U2GwFxBab6zBIoiNS^xo=sorry0EqE&=R9u@3QQKxN8_ocp1& zV4C9ccq%Kb={?)AebdI9S!HVLqNqutqtL7Scb2bxWj_a$cXkF;VIuv*e5wKsG?&6x z$rnR9$FfkgE&BQDKa>TV(RopVcC#y28DkA9@N|ke>p^w2IoOR0yNbicr!Egw*S%J? zrF59#?v8W5$-7fwP_sihbQre)T*?iQ1&IH1H~$w#H2Ur6bI$051^7RT5!{n!ejdDG z?MXsri-!zV#e1Q1#ryNr(PVq)7sfqk%h+*q@L@gcNn3(D>w8#4$&9eBdReFT)Lq-E z)7F-`xQevciKC}shQFPrhoZ&WuIqnJsSE*}3#)^&$u3}3+Q*C(SOg@&zdX>3p8e;X z7|}ffBpE`oVf@A;uW?P5vMX&vvnr2jquEsNRf_1t=RKga0&{6XrvXSvFM%$Ign=r) zUmsQ4pZ_-&Ks9oPIXvbOL$GVT?Zg-SvMU&P{G2fV$E#5R1w|>J!1rpVav|kHXRKyi zLZVF>QmU**za~DD%BL_J`HUF5Y1-SRUbA_`N^0L_t_S~?Ig3y{z@CAHV^8&t zEuU@9Peqw8{;wHt@j(F6kH9x_o&Q6>iKtGJ4?x zk`v$SaE_8A2kznu_v~eQ3oOhcU@3xMjv}tre0wievfo>&y9sJs-CVw9s_EN{Ntr%s zax~cRVPtrst2{w)>VvA5`LGgy*@Z;Z7xYMpN@%{cHvKeBW{#;5N~?(lqaNjaEBbUQ zq(OBkuoO1PF1hs*ALR8vO^|08x3H|%WW(&6Si6az>}DG5#$*^c#Qu{xqPldiRrYPs zG;mY-Hu0gIdd~eRb@>yxm7&k6$d*$0zc3B|bI?x;UEHLfwGZ2doZc*Bpltb1D`>}k zsBUU!EgQ!@QoBB1;%=uv62t)BvHxv{4xB5*Cm9Ll1&xf%*J_GR8j6{sjbz&STMZGN zH4NiGIotn=;Q#XjO-HtxkIYIWUce9#Oh)nFqX4?$4WRbx|9sqj4Rpr;X-+Qy#lin+ zjnDq?*#RIr5-^1QxBaj|dKyChw|(NyBnQCPBV!oylT)$L$zj!RcK`zpzb7(Ja1k|| z@>}0(lK*`7$I|nsfe;VboUIg9^a7*vhfOvG1)4^F)@~fCSbH?GyvgpzJSKw=pfG;LjW7KGm-jTEDzd1s04i2{_MoSeP& z|GW6zU3)o9LQxOMGMD75+o#{>yZKw z2(v+^bSK(R69CYDfC@de`g%~XV$N6*R7ZZEr$H%6mNV4^$fVZ6fGWAx^%tByGoO5C zg42xpg$MF#LkLA<#KawaP$3#8Vfg<}B&HOxy&vBBTl@gRyeUp+L{YM3iexHPE^M5r zqZrKI9-4h|G|YGG#uG*UpPLiTjO!w8m+YIr`m;Xm*Pn3~%KAUmf_rv(08C1d#M*_k z>#yf&f;a(jBSbIHaRCs5>TGde%x7*^CL@e2@)e3_U*a)gJOp}e>(@gsI z`rMCgVkH($f8v&>p@=BDU>@uKxrZHiz=!(kOsVvm>ztMVez?{1EtZf|Bh0`+Z3@^R zcge3&`cw9?Gs?Ftc)?vo=MzS#Yu9!MY3j0oD;oPRNAZ!AC?|`F;#SkC$w_n05kWv^ z^a+p5=k-S)R8}@N;QE2ZF?ZbGYf%bG@$v}X>Qw~RzPgmAdf6w=a`$KQ(-4m>K##@d{GC`MFTiA8Nh|m?2e7@06DU7)>>w0~$R}E06E{_Vz z+aXZI?PvIi1(aonmH=ClO|kIWk&qK5 zSzS~Qjg^;4Gq-JXzhO=6Un>C5f;VD8oenWLNtS)=K&>0RfVMSi$cjc8+h{cBJIXBl z)^66W3XSbod24t|lH`?Az}u1Rswa}9{p;+z(=jL{EVKR9wj6ECEg;{v3ZS;9LHyq;6!%}+d6RejHmjBxy z%f&cktS`5i=m+0nk5?0-bYYc_7mwc}B z0-TL;db=;dA8x%pbMM30EpC8u(c}3IojwilOuPDdrCb3Q7;HivVM@$_T zYpDG?0?@5Ujjz0ro*^}gyQW+I^A9F!T{u_!cINKV}3xoYcv zyThmyF5CD1j(lvn^*}2H;3iZko&MQTvOZGjQlP@oRmg7);7KBwD#yXaL3U*BG)6;w ztcEBtQ?SVKs+th&>@C#lljwSE?oq}PM0dQxSOxm#sevS}()j=3Z22sls5N}wk8$S+ z;H@LJLB`w4r_t>cq>;E5IOLH%E%Dt`g=-Azk*xZG4+O2d`$#mrO_?*q_1Zq3{fAaZR^0|zm!bEDTs|@wA3~^02 z0#10J$?tf)c$sv_w%nW`ewFsm+VZ|inGl@KdiZc$xb6V0mY^?+md2?xs0gZ` zQs_4p+vT(x*mw6b_i7y&tZEZ90s;(AO@N~DsK1SphD}Q!o6AvND%6Ls^1gE%xxt;F ziyp`4a0Fzpx0U(ZZdlTSg@QqrztwX%+TrSkVe=)}DY(6#`B1M(VVlo>7KY&|n>yvf z&@8aQ;2jTD-PaXG52wTDw#>5p&5}_+eA;QO2Mg1zVGX**HtGsa3`rwIXsWjLsK|6w z_>pKCz5U_Y5$_yivwfFCt%y{ZW-8qDzQtzp0w=o?%SR2ZP05jhi}VJSGUiphauQ*= z-CN{S1uTt#unWj_vfODlhh9dr%`VYJ7rup;Eb+Tkka;n#N$0*GT?(5?{f{#Gp`a!A zQbn8V6js%)O7P|yB?bEe#wOWbpm(zwJx436<@eN>9 zZiWs9W%s)oC}+g-3|$ZzYqbpdBaX5Z6Q0^TDn&y2xr_c}owrb}3lt!npH)rE&ntXo z@y#V+hFzTVhbW75V}eUfz{(LfdFRwXz30wg2Wdv1(kKD3QUuQMSbBJFcDBK|4|e-Q zO9^9X5_LU5d6~0L&J?aF_}R!Mcp&265oD)@p99pG0PRQqw>p1z9%h_1&UA|WjoFyy zk1I1%q9SYIM9B8sSS81gKhvAv1I*GV+Fi|Mb~}y5P;K6``=+a(ClAzRr-qfR?o)?( z3~PP{>uckufz|_X#9247cd+=&F9$<)=COs2Ux!< z&)U5F5nXw_9<66cCsfrTSuexf#qdf=r-X0GE6l=U`0vYI2P_w6nPSc*sq2m6jFg0R z+f=uR>&Olw1UJX8tEfR!<*u7Vc@thYwEakoaEWp`UPoymms{oG2%~p>^MTl9pHtZ}%C-Y$Vy6p}V_ct4VL#`dh&k`KuW$|VBR2=zbHCwE=iER?0THc6 z)Kckq8d}w_jH-S)Tk~n9<1lvIpHWN)J2#YjB&A_&qvUXihoc z2h)6p-DeD(LwU(eZ;Kk3ZlUt3hqQLyqy<|TJae2ad4+Iq0`}x01T?3jLu+b<4$TZ5 zc0p5bS07ve%5_^xdcvF1>eabY0c1jgZEce`HfL*1Sm8$Ch0#j6zg_GJEtY2{JX{o0 z2ZW;@*a_43*2`H#CT4VJm03zSCs$Z%oqhrj-75VN$nN?m8mz}yteN~05g9ffo5xpo z<&N7uHa)V#@6oYT%fC{Djk&bGQyXV33idp{3;Y$F^wD+i2=Ap~{@xj04W-cL^oPhD zQcsuPu&`Dp1*&fE>Ix?GahGc%ko$6a(?8+X7tmkTv{bR|-zN*+-48Na^u~i!Le-HODqJDm4e-=bBEc_uu&q;;X#igDjkjIT|4aBn6m>Q=< zxA6N_I@2jQtnWLybH9TkXM~Kp(NMXtp35EQOv89UpeG;3N`G+uS+BX8{k@NTg53@`aceob#9P1Ujv)Av8iwq~O6lHg4(F?Z5NAoa*8dtRu6RX&kQ$zY?Q%2e2dFF zN`jpCd9!3)_+>N;PJLp`LDeQIYEjl6z^h;k#9ufOocy|#x9I`zy#`!rbONAp`GBTZ_!iXcOQzQ;jptNBp7s1VUV! z?%}a97Y=?mDcQROQ~3JlnxdD6`|&u|W719UsP6g0e>lEQuSfv8jrGd9TbuK9zlAt!bdqB}2~)$s)H9j#Xzxrt4ny`krkUaqP; zHz9I+t{0ZM{$Rd@#S}+kZ&!rELT|^!2by$&^55rpwFB>GYS#oAh41(u-IlopnyOIK zd|i2k>pzG?6L59tlyt0@=w(~8shliq*3@;>X^l@j?4jjMrTl!idEvz@k2?E@9GV48 zU%v3z!Rx0Fw({akjJI@%Svw=YI9in5W47F)UpUBB5h%gH-NdJsJF}WEOt`|Da=+4> zTYFFXx*Q2Rmi#!L2$ogRU%^SJC@th7tC4QFUOiz@V^#&tnDSO-?V@2jkX$og@$C#+ z%jl~BI#>A3w=^Y89q{R^OiniP@eK&mVE0Ke(9fxtsM9kwsLly^ z7H6+om=j>Pa1D*EH<cnq6cU~QPk-C1omOU(~Pj?9~q zkB^dP`xiv3b8~aQvgdO^???`4BE0>9X-9*ba_nwWu_UVZf|tkn`6tt9bIF^`Ybm3D zvz^+*rg7LZGBV?};f`X7`8GFqAqO(H*U%jgB7CnzC-M%563?qzmE^C|isQrm;d&KD zJ~0yoi9PQ)(5>WS-+3<`TS3#!=7+rJRR!sAHa=LSxVze_wVi<_aoWkVqI{7=QY}nJk+M=z z3!~24a21w|lx;iv{*?|z4)dbRDCpGfVAp8OnPk85Lb8QQ)ko_pwHJrxt+^g@eX--^ zb|eAd>PE%z6*TzfZ@#fg-@#y-CK!lC6Zyk-CoAX5f?i^6s)_v1VSzfYR25B1i>K)WlQJJKE zE(+Byn=G9V8HrMr2^CKEI=p}N9BIUu&eD?mD9Gq^qe4iRP%gMZ^R{9C!5$*#X_)O_ z2n2|?J6X@^|BQ=;Dsk`g+DXJmo}Yq*OAGU7?h5I9BM{6w^j_wx*8#LY+3f&;+`^`$ zQr!CE@*%^5+6%@>^B@sAIiY)<=7f!PwWaf>DvRr!79_(+ zJZ!Ovm|iH92g7Pw&gWFIj6bGYxn73q5NViD2oqZ7xbA6A)i4muc0V>}b4-|KyBbR5 zbb&#9YWEpK9di zWXSrkbXB3rx`n$xvVw-2Mjscp-I2$wtbxJwUR^B0HA!%4yd(>RreBfbz#u)}H{1>X zdFi2Cs!1Aeah_S95~jpkq-#q`;KvA0+QMx7f{1huCjwYK(2E)2We=(f}yMk9_#JXZgDMA!g4TR9!>~P%v`{;-|2M9n7}y6=YA@Z<&VgN^-ANBXSR%4g_G8CYhwI+~kjPIT>~Quj@ASecUe^fo=UGR@ZamehlC}ghrEomh1sb&XAVX$!hSE@+G=``n)4sVk? zz#jZNUSt9`rk$?gbq9-!$z4gc_Zm3n`$Hax-!oTY$0+?{*U`>aMi==3@+AkzmM?0o zVY!9uem1b9C&G-7{!Vzzfs@ZA@4@Ln$ty0UFDfUoK| zUP2Z(1L?^e8qLoXzy}q`q_Mj<(O?mZ5+}nX-;(8SQQy#p?~5~qQ%=+8l^^Ln5U|UQ zm4hj#u(TaxKg1sNX5l>Nl60}DK8-1%j^|Rz%*oEd4DS0O(s+(O>O!r)Fyel%C&?~P zu_rNLAKm*srYLyh3T>@ZCiSl zis2Rd3#z^rd)Zp;l#*QImTfDL*NF#Eg+qCTqZwUc z^%grSCZ?AtEW1yno0fMFEB{r8v70GkR@X9E(b!0%V{-hD-S}4V(#KSc7nZq=CB38w zGXuwqR{r91Wk44Oo(xI&37D#45-Q+?#8^``1`}7QU_{iB#^-M^MPwB1Fd+`i^ z1$q#H5bt5C`^xIdZ?jV?B?h2a!}pXBEQ?Cr!21M0zAXuH(mlDg`)@r+Z*>5MZMo!o zpQ!gTzY8?{2^&4{R%?uy=`y#&$p@#YUrQbogFndkY$IZ++w(d1;r(5um)j|#?8a{d zN(*hQN9=y3sugorpRt?`D9$c4u9Zhb9Na`3iQa>#I~N@O;Wizq-rCyZt1xMl5*^d1 zW^YCC{TZ0?#W2lF*goXv9ahJ;yJKD)_&p(q_hNc3>%D^0d2Tr?Yr26E=Uir!^Kk`M z8Os0)j(TSiFs++1c01j+oKtzWg3_FvW*YbM1-aLgv;xV6TfO%8lZC-TpqOrlvW}#9 zu%4!C`9|wAq~$aYzaPvAJxk46E>6X5z;q<8c=iPR^t#q;$sz)iZ1Ie5l5W-3J32}$ zzW{cbAuvr(LlxjzF^GaKg3144B;fpaB^2wlTXFWHvdY04g~u!B+qDK1nyb|TslV^O z)>6~UUL-8Y_37``AO=E|__R6>UdypGrMW=kv&H?UIvg}`m*I;VL+S(_<@?t)8}YwZ znQw6(TG~wC(gFTQ1=IN0Wz$9Tig--9XA^0zorOimyrEx92tWJG#VI>KZG0DlmgE#1 zUXECo3|7B(+%CqFwdUHFo;n)D9Wx-{rbjtx5Y= z1$-4-fTR?0>9gzYwMnVH4HTHxhJzd&PSKM~f-ZmW9|njJXO9YxV9`(@*JPQpYe6{` z$8vWe8wgr{trjj)(mIS9%{X>r@w#9 zjg78eDrnk)tdiof6DYU=23aM!`6xEQyWo;J;ZORDG|LR{Cfmv@m=cJ_N{FbUCrZUF zb<^t8+%%HI=GxBBySVORZM{A5*(Tvo?twvR6_u$UIx6|bq8S-a;Zsu&uLv~sv=*we z)RqO>LitR%a9{D_6uKR&ufWHu7A=c(DkA6=vn7FpXO5k=T{hXwj4xo2YxVxx%_4dT zA*-s2)BO&S8BNfoRcpCYNvruJ)R4q~S*6I&QV3yP1qwttf2~T{Doi7|F;OxAVoQo93Z$2@k>09myjTub??Z?7 zp0UWn>dT&X)Mek+-IHfjvbLb0z8uFuw>!YJu%)G|M{N?8jqNFLwb&^C5+(7gB2LcE z7ma*?v|GKT_x8_`-pX`1c!5&AUxrPnj`<$udHAz{9Oiz>OL90TV!%wDPMG_Y(j+=E zHxDux3GI&;BS@LIZaz2mHDW6NF7%3V)IJr?wR6xK&tN^SJE5qq;mV<3;*eLkq*1+T zpEOZ$n|g?)l)Wu5i8TDfaRCOLW&n)7?SaQB_)ecpf%{;vX6Xz6-NlH5uP#n?b2UlS zown&mTjdp2`rs1not1}rjv)Qp|{x~a_AnQF(4J>a-O(Q}RmGa!oX&>HN0)kn|R{p9622r)-`KX76 zbo$cck3;_Y=>c`xdTO#$6H{YYkaLCnRUXY5tj;P_Ub58!I@HQkTnWve$_3lb!L64m zEx?}k*xI=}z>fcFkRw3G*1I!k4y_7i;4L)0#QPR=uHC!O+UmT9ClEOL$KHgT z^OFHh$;4`z$-ni$S!wpxiq64dur|631Zm>Rt-Tl_a&h^%I zlI-O@!XWx2=Dz8iqfHWM=saFm_3tarr=Mpx~nV2f<%!1eC}|6*J#TpqQppga;y- z;}d>6V*Y)MP`Y9Q5}~%05yVOsk5Ucme64L7nm=KqzRd|xnmgqUV`b`4xnhpoKg04# z8O|YoeWrx7%9?-F6AXQhaL5mjD9Wc?N=gJNwLOHY>o#S|joVuwcF+g4n?RG%`8b%j zDP7t?2h7zNb$b!x{9g^s@(jSf=irTdk~X!Mo5~wEJVd&!;dIq)yUAo&m6n$xgSshd z%M+>FTvvx(=~8~P$R((?bO)Tpv!>Lj8ClE@P5{_tQ`60xh`J?_2lvxao3^7j?!IJ8 zdnep+^5Z)=J5*3EJ=Y?Mha|@PbSH%v?TN|7W7YzE>12w#Qh5+k#@6ox{zRy^7P#@e z>%n3&`Z~UU9EjZ>+b}+`vKmQtSe-v{$XVBkaS%*T*Q&r5n!m2pPG%_1VxQXMAGIrE z7Q8%vD70Fra@WxkQ5%sbJpTs$)FgaUh_1kW?(3s8Q6b7MH!bgzHt%Sx33}&&C@U(d zEA37*2<@Z6NrI&8y?CX9NL-*+D}k1)PH1vGltWoGwI~1i)8$^9_h$+_pnUuMbIGuq zk?1*>Mnw}^Bd@HnYl|?BQrcfDmx&*{@KjyCYAp6HEzn3Gk~sCgKWPjzF8VVu6ke%0 zZP_7~PRkOf3Bo$~UP?_=*p&j3jSZBBcRFEBy{*=-(6kU9!{CIBHFDqkvus!eDu@}_ z@R{dT!$oJS_{wL7PD>w!kHU~-%?0jg|TNTL= zh|m~vaV8P8_@p)7BQL~KSaXyd?`DO|>OU@wM@&E2`(9jSzw3s0uhf#)9kV8JgIC`B zx-qL)M-j!>Ab$0##x91&m}=*^Qsy0t1Z5!jTjyb_L_L&wKm8sU5O8y2hT-r3$PI-gbtmS{RR<&mgV|`lW=%XxpGc}Qk z7N@O@k9j~RPOPncUD3*QQZ&}zo=5a~>-nR)Yx^HS|CJ*N2*kE)7>&i9)-n%0%E!m) z$K*fquMP@gzd(0+H^~}fd@7s5dQ>-gP3?1@&3ZY37jSa%ESE3WX@f5L@`S=^M)$c4 zBxOW-3xd4&P*%1%t7Lf4p6?jm#~W>QE`SbBUaiPYn0SLvl#-OlGm+@MVhitFax9`y z*Y{)M=uIReH%S$$3hh>JeO@Ae539Ou3PE0I(n~cIC((AvFS_}Vqgh>v%KFn@(vw|# zoN7v|XiBJOD2#@hPFjQwWYIvOB`L%NhWr31dIA;SIiYeeQ0u=vJ*${t$+ZbcXaGUej%ooYO6Z)~^II~_S z;xahsH?D*gz}+j+3Qg?O9A$AoDN6_abLR2H2(|0#+2cQNM+u1~=58c?B<>HGB_gHQ zTfl7%8=o35N}`Gz|N1)dvvMKWZQPnnA2kQ#JB>>7)}z7+a6+Cn_}`q36gJLux;`~B zVHGm_!d8fV_;_?8(kJB|K{ShXX~9NnJ%f6}&d`?H)v&NTlp0$0;(|`(zUnoz3rg{q zl^(M3sc&_3AfNjTMv@qhW1c_$cso&uJ`s0|Y^KFu_V+~xaUqX4`tKd#Df@`lvoqV0 zksxO<(9yPwor1*u?2;}1r87y37TLuwwUeE8jbuX~Qg3yEqBWu`Mj<~s5;!e^S}O#P=l z?O!L1lU?{bQI4bQxyX6g$l;!*nCNQClhG?>?f<56kkpGsTlz@S!u#gt`^ZldIFPSG zXN_ynSI^(6t3LcmC{GWPTdrp!i6kUSA6GIpLi=bC(#W;jTSgk@7Tp4lSEPux=gPZ@ zUr9xTQ+^u*toH|N7v;OH+;A59{@1Y~Y!N1uFPY9$#rVCxeGIfu>$v)m5h5U!3^IQp z=ywTv>w(j13CS;3Z+Ta?<4DfH=vjuMr^fIR zAeeu&naMq5k#dG_vHDlbp{^7WL%AMo>#kq$QCh-2J3uVrn8&W6LLlry6v8EPPAzlY?NTtCIz;HmrVGbj?upm-ROaah}dU zicRMz(jB-p-#bL5f?7FP?9&Z2N@@FJjfnKNfAstlK2V*jED1?>n<{UUMiQ#DjXwBJ z55#?dbvEwr89~_v!QtX{ltnGb-Fnqbpjc_sq_eU2mBbk$)P27|lP|;wUXn0#nQ18L zp;{bl+GWM*$oqPuu)D6D(CMKG+OJ4xzjKw{k+WjdB~$3# zHT^SuzrFB+Sz}?JvH{ck(NsNmDMrb9aNkHL)2$hf#->>7WNC$QYWNRI|DHf9=CHYh zPMpj=1CnaDV82m`KookqTt$B(sI~4OXnEY*clC6@|4X^Su>AIz1n#iYXj$BDk;>OY z+>0g@8;rh@pCu*#(8uXjR`)Oo3@l-j_lcO<@=VuCX%r)pLrT+7-&(1u@RaiSOytSh zKAQ7ssC+G*eROR9cZb|oVLdX5oMYSMz52R%62wb zx0`gFc%oqtO!{H15ybt(JF2ztb%2 zhFNC4D4h5Jf9YoQcL5sVb(3PuhZ(Elo5ateu%TrjuJ&R_I%T!lqNzXUng(c>7c;Jw zh1JGMPX=J{c}>^UJzt`8J}Jq%rSV)amU3w+8qVIIsI!;Otn@X|j2rFwWbu>YLd1|l zlp&RQMIS5T!`uIOht{OgeK&kDXLr**V|;_U>C~uq0`{;qyj`>4ckq5nNv4Jilt|5TZ8Bax341G`SUBqQm>;c!Lj$K3{;3VVSb`~}Uz&CQL6hX?iX{+kMbrHz_eT8|Ol zr{WO79S(kE;P-|>fcL`rhZa>)&?YdDhVX&PaJUqO- zFshi(%Cbo>ZEZM!J;A}j=)77y`S2ER zG3(UE{-#l02tw)ca53)0$@xH}f~ZDM%XDM100mlE|q4}stag1 z8pq;!_fp$_U}dDukiOjcx&xXBqzn!I+i6~}C-z=g*E`O#e35zqL#Iy}wS;R=ezO`9 zXV8dHs2KDE#g`{pNQ{O1sEhZM1gcQf%U&J`HhLda1Z^q@g4S@v5x7L+?qhZiOdJu&uxlCaeL zB!RhhzO}V=5uk+^B2?H22%K(rQZ_dRB9CTfozktCnIZE1P;NEl)A$3jq3+W!Xh?5` zIZadt_yZx3H|DPX*crfZb_Cq_S)B6Z96N8qrOJWMhsuPKf#06uhidGjuSrZC=ZnCt z-h0~HeeCe@8KRT*q$GP$(GvllZZ@vQyY(Gz@dv{Ee5ICE-qnD)z$TE+YIq_KCJTk;cKVD8=n0G+C)h?)Ec z+b+EhV^OP?Yaf7mrh`oRbDTPKx7H2tZ4GT9st!M#vLWx^VpA~gj~caE2*<^8q-YUb;Yl4!^p24mTe;T)~3fv3B_C#|MWEryQ80aPDvD2T?~3-L}U5@;B1_% zyV&8_@aV1UDMpd9PkDAZulGE4{sSY+8)IUUUy2VDzC9JO1gA120`14uI7>KKx2}Iq zItPv~53PvEcy_ddqj)sQU4K-EUtLcp8oHoZT8{V zQ07A5wv%1|BCwhOUC~JOxKvfhF5E|?bpK;U1IIZCR4LBLNRJ``PN)$}$m;mY)q&E) z$%)17E5d7}sVxJ>Ed0`_WH7hbl1ftsfmS;i#H(u=mCuc|hBr6j2=u_9QUOJ45bIt<_ z9-kXHJDXu~$Jgp9!%O1A!x4xs|9yFre)JQh8r;)AziGJ?#f%Mfh&Z}Zu1hr;xcq%GP@XrJ z&R~&S14@>^8w`wsP{AFc&X{yrvAZYan)vI(d7F0yxt)_c17#TmTnx7Xhss%F!$m3(x|)4AnT2tsQw6mE z$-AFp!<2Vn7)$dPj~EKIvZE`2XIF18QWNBD1+A4;rP z2bI!Zc6s^oIxWvHeZDrMkC3lGIQ3rwfb(l4q=%X96p>n{h-(SUB8PGoc=$jD-hCXv zTBQJi+_FthC!O~es5(-?x^E&cJAY*HnHAt#mr%FT{GFE|c(Z;q4$0ru!4^U+QwTvD2V;bu^QLERra zj4c!#-hx@fn7q6@*cY>bDLSN_-7)Fm0Zr#ZsfjrWg1#T;XO7yMnmrqZ8&hf9rd!~a zE%wa}64K5)Zvnv#&7J`phh7UtLTToM3Lg!s1T}n!H{aDDzaps*W0+fvay<-ZFHfI5m39t~X*3i9dL?HumOws`X0Iie5J-D=0=kcbFOdVWlD` ziCjsNj%fQDxEQ!qzNrOFkj%*I0CwL}E6>9Pc1W4J3VWug|4I`#A=|^pi5^owHqYMO z+JwV088>?2(Cg5>$&nq&M%{VWGdfEXOQNSpN8dwmJj$WaHgCx4qH-XRvGrK)WDPo(4nCXz88jvHOldn`*#h6< z0Rdyu-sN)dY7n~|v?+~19ER$aS8BBQ()4|{8tKUm3Pd<8wLig@d?5&EP%1B%bHmO2 zuzb&(-5OKn%;}?udA)Le{Ae)mkLd{<=bkr05v_Tv0MbY^Ty%BQvV_&_!;*r%Px&U3 zH+M%<%2-)9S@aS8tw9>}Q8W%Tjoy2K2Cd^oy48z*_fIkk3$kZUyR-cqW6znBIdHqO znD^v-Il7@0U1P=+K}OmY3s%lu1!_N~UddvmjWayRK1u<{Y+PBeNynu^1C6{NKyAqLnW;8gW&E@!?FOZ;nggI=|Y2q zWP}Caa165XHKMDkCB1g0%$too!R%y`D8o6<3{AYJ9XJlLC+_KVeu*K95qo-RTo@>h zh|ws>rlg`Sz~pq$K4<&&#Mca`cRfjwt@`j`RmIBk+6OCT5!P8&>$ojdSDzMMlw5SS zSzd>4J=Y!21cHYQ9x7s+dkix--+|7=xbe(Vh;EjeD!~;8z)-6|SndInhvUibAO&s4 zM3e{luxswtCb8SoSR&`c@jnOG%?jb&59Os5-onnmS~{f9w=1%Z-#vy0 z!~)Nx`i>{Y^G#0tocV>w_zZG2IY!4It?W8eBSL^;^l86SSnPcU-@bH8twG=`{#^?I zFG4~B90o8MjK?f6J&~W|85ok0LIstl;#|WA7T$qPN1-4RaI#QeEO1eKzm$9!Anp~` z=yHEifHsSNK6oka(=5PvH8^F4I6NXU3G5f?6kkPrJYjP5^moVOpttAZvfgXM2RgdF z`dxmN@jE0iPG7{E69Ma;`V!u6EDqyQg~Y!sOllWpO3vPIXAV*y5*Szti#1e4<+0qZ z_Zp7E_nXmA5i!^jM8+$N+n6248Vu7r%(Pbdt&s@=QQ0DW$$=_kUp5s+)?Hez0Z7lt zXik4_byQPRv&QZgSn(3i1_BXEjV_XK6!e6G=F1_2hZJWX!3}&Re(*#VOF=Asd4`o;^E_BSGo&+;oo7;#L|*oJZ4Fs4E`K6>5gHb&&D*US(ZQ)Dv96S zwG9(O9tZ&cel?apyboGWCT>^tpiAFJg@i;dYhscuBKJQLC6M&%6(h2tD&u$8Pt1%V z`U_FtURX=IwtB`3(y?e@xemw$8Azlt6De=u&LQag_M|(x{6TDShHXAA`o%<`;|?`^ zBJI@MAyij5d)Q13x8zCtsuyz5=JRQ>nQXF=9TDI}^6C@P)r|T#06E?z^P+&NjOk5d z*W`GMrl#Mr>aQjZhK$S`s4^!vU} zBjYFW)Wne;Yhq`MqWvSLsr(FL4`&1&?XlcmfLh|Bc+&m17#$z z^b67J0h80RqN1XtU}76(a`gz4?)YF(RbuH38;f6jsl$(JfEm$VkYeft!!&xfz6mYNK) zFr8QEEm6J|?$D29#zZBtQ*GcsFkE36e8cgGSn9t*%R@#9J-JFJNel zjf~vPbgY8c>V>xcF4}PelI?--nIa%*45#ildUjblur@@5w|f^<_<{ZA)~|f`WUq>w zR9b{pONsbAd6gR_AA!s3Mv+%m(Hd}aX_Cf7&L(*6yDpd4`H_j8{Kh?n<--^%=#1&{ zTL8Gj=p%(G_Xr@F-0gaMjq^86LZh7Y`?x5%EJ_t-4$6-yL*s{alukK(R7s2Wh^ipv zvbrbn!zp$)JG;9_(YGyJyBmnAwmO85@=W*XA2od&SqoU{Fju70)^S8@nLbeRD(wwx zOn~(4V!jaG;yG^|zVSDg+gW03Eklt60Qz`rIe3qLRDqgbF=u}(C2^((qdLdWaBy&K z5{xNfBn;gM_jc!H=N9A(<+uJ1jxhyM{j;5A8k_llDA-=}kL%OEY= ze8AWz4_1zm@P%v+SzNJ=|4O;lOQ8>dnaf68A)0niyjVerr4XyjgDB+ZN(A%!>Vmn|m<#%jWZjnqF+i=27#9rx=gRv-swVw^d^=iRU!isgP89)_hKji;4iQC7wa91OPTf!TA8D zXDtkHHLT?fbM?p|l1|k+BxfREw2T}J$P}TPBTdwhaExL;;!*m#ERzY!=155T!SX(j z2$r>-ot?Ec0C{~X{sLfF#S}nnhx-i$89;f)$_@CjL-Xxb4Gau)bYy{Er{Ldo%P%P@ zsmKM0Dd+R7JZm;p4>|kOXioz`fyj zFx&J0k|=1om~WflaK>GiBn+cxr^XhGmH*;-LX-fj{72iwK*z)&lAdbhn)6T{?psTk z51irvG&dQ*U7(OQs?9Uj3pIQp#H~f0UuLlg`OlB(qWI8{!gfn-uviBj6A5>Ue!fP^ z3VFk3Z(aLU=--kGS;T;|CaVK2E7zL*kJ+CtBp*qtzYPG`{vQxT;KBcC|5rTj|KGol zFi8-@cq}d_J7&1fGil9+>%!J7c>cZ{aCa|D_YhSXFcIFhk)Lav6maTxCvj8$Y64e3 z?tg1!v~w#)x(UEoXsR)=VU^acN)yK*h5H#(YaEY zc30R)7|VFv|E*T9CN4J^H^s15ND@OFJNwXX@jwUVGoSloZs+6TzT|WFRHi1{Ft;$bw8&&< zd7~A|!lQ&2;k3&qWL;Wp)3JGy_mQ5J%es+Sx-yKGe@!66$$Zap5YH>%4pMB}xP4Vu zI7hz4mJurT0>Gq8fmUArI3!e_gGfI$66Zi5z}g3fVWV3xR*bM8VdcL}AIYovz0Pc? z>1o2iwlq7qGD`YX?P*F}YXQ|gleTWuk9CL-L@q+v?Dj^OUy%W7 z;HzqRu)inDJKY(v^r~QFb>MrF-IVN+&H(5mURurjp_i}Jq>@Q1-Tc3N9pNgGs(3Bs z-THA(JefUo2zGSTTYU=$H(Vrvi-sDG`6trV+T{x-@9ti7ExS;Nbz=QXsf3urBI$O zf91MFdsy6B%wHA0j^0Zl%hHe$)>Er7RICmrBV3t&?sUc10Hl3x#*DlVk~TGCNq_S@ zY}|vzC`-}M@HFq25;a36v#f`sl3H}M|Jj?|l0?y_6GjPQ!JC^#JrRj$JQ$1V z+Rc4gTmlh#LS3gpb3JW)dKf64W|Dq0QKpO&9lUku*QOlUX>;pgrS7tzgBC<&K57F91p(L3bs3@oeh*)f5rsxx=)WyLe}YwNxNink$ZavV%(>Hsl;aV0y3OF5)*R7uh{beoPyY5hPD_ z2bR{pVP824k8<@ht5d~qW1pRM1@|uu=5LS97o-|xtoD{CbRTG?!9l z~pfJy*+nb-C#me9AN_4#)T;ymTD+Iv;*-{+M4NLD7ug>XfmUH&el`*BsW^bX*(Q zU|RZ0m!@K{OdY)lGhU~(jw4QTI3Tx-7P9~&E8fK=djFA8ny9zSpHT1-XgN==Umz#f z)FCSFIuN3#Jlg%L)^b=zuVGX^GTO+$22}gG$(}cu>Sc#0eUlH>`0NZR4vrgb*Yi6A2)~mjS#$kbizAke>Jn%u# zvj>tOGMK@W=B{P0tbn_hGe?*kCyflr(szl?q z>+arbE%n^(#kN=hSvwa++3ssi(9(6oT`b8dFrcU=!^?(8cHC06_}^Xn7~8R zJrp+&6G|bPPt*6i4{`aJUY~&*8OBa+Vh@bn9C$wi1EvL0glA z+ne1(JMAD*qpW7DnzBk7W`RUq`whYQ(#?59!+2i$oL$Ye^4i_kkbxnx(_CnaO~4KG zD}+A@{j|$5r8E-nf})uX(_Y^1?>Ixs@fYGsj3clz?{9QerZ0tP>8Ja*W~Saw-(8xf zFoNgKVi(e_cH}=EwC#%yPx>wvdVRUA|F+r`l{VjymK$`LcqA8tEi)lH_srpnGprp{ zRJwi!Zup2i-2NmwTUUma!h8&q~oHRf(F?4M4)?O zYQ~sh*FN`m--*6jT0FOEZT70ArJ=oT^x!%bRvfxyzeL>FVV}+QV}arUJp+hn@*?E=vgz9qvq0qCz@${&QGqZD&bf_X8+M z+;1Y|vrOK7lZO65|E>-9$d99RO~DWC{ZPFfm-S97=&tVdv0ed8K=9(nwBNiP*q_7> z&RDT&Zp=@{b5k)dX`DY|4$`faAE!z{nI`4ydW$n>)a{&eXzn|;x|iNuv|7rZ6}Auv zH#htcXe^vSAm{jT0If0UP@svg{_|6>=75+*PsD2B!NLq*i|^dbS)-O(T(V1@lxFEn zxk2o~4gJ&4mq)o>G9d+7e`ECn>v&JvYjZ%o|8HJQ&SO3fDJhAwuNxpEIeJS@(wFKx z;M?XM!*G^OM~h^H6lo{!2#apn>%!GIM56Z?kz6z3KYST02^qUkQ)f%H3Z?@V3 zBX_IVrmm)f@O4zojrVre$G?@OHmRiURpifU+G@#J`o&y))A3#64O2fKJRympgBE*d zgIS68YAie#z?+*&o%n6%)jR*y1!P~*yfL!7f`G9N&#N2aUiva>mD%eDD&&pZrk61G zBYZvgy~(Ghx&&Xxe~!u3oCFWHey}(H;Arbg)waAeZp9cuvcA4OGF8{wif|oGsutX; z2C*xraX5bRU#cVO-zPn>nXZ{KAr!$*~oSLyKOi4kwn(g zAxbjT7;fbZP<#mRV7(NI_v5-ZoJ{6rZoS$x*nEFyatx>*hU-g9Z7a`;g2T~H2}+BL z`^U!mS~RVvy5mKj0O`^BH-)O%L`{bBi?dN4YP{6d~XTU zQE9Ereb@hIc*|(^c<<0Oaudh~ZCmZY5i__|GF3Yk)_B?kQjNt#0?W1?2e*JR~TPtHun4&23bD?&D^db(l5HC zFf`17z%(2n9ldzqoyB-&3BwB4$jD1%AG;k?-UCJI@qPDUaiB@aFyjQyY!+i5=;ecmf_*SekV!RHbMdnUFkgqL z5`HwOZGopbTrhzl>Q>Olsos$!dDHUJ@ihm} z_EP;}r$UOHFqXU8xi$IiRNR`)&i(Cda+ti6Ru7P3#>xo$WiIOU{071gDXl=nl+6iysNrwM^O;7;*-qsL-NA*ZfG2l@67!gNFU>0Xn{PoA)a$s3YLFh_mM>D;&@`d?bhARMPMCq9@lesH<6|$^s$5 ztVOQFY?tJKY4I{%`OahcAvN4{2`oX9&egIaevzF}avdxUWJmuwH0y?ArN1I9qCX8P z#<-nZf_^_z5l`-A22?<&40QKVBcsL|0KlJeo!1JmUuhf!uY#Ycj2BVdzK1*}b1GIU z8V>#6vn&DYwVp}_fdq*pwgw}vPe+auHD-v|lrJdlY(}TknfTj2T|3RknXUPoI4amE zKI^!1xV7_Wm)Y@2mYG<(lRJdSC zPOhR#^xi%g(D^4a=w2Y%jc2>pX;D{J z)?jp`r)H+GUs{mpv_&K&UiN=U8U!jPUff)93SZu}0?ginP_n&+>7tTkP=0r-7L~^3 zVbj`_bsgB)$iYAS{lpYZ#Q>e9$t7sU;_!lXcLtEb0b+~fhK2Jj6czZm7S`u>^BHz; z%u1*215fx1IREZsw#Vg;1LxvYMtSjU`}7D0-Ti=S%4fxofPx_}C)b+L4Z8<+zm8<$Vw^Q%>z)KA7aUv8U_pR-0F<&<5va9JafdU4%0_Zf9 zP|Lue$!z#gk-FoV(9&Uy4^RkVKxrZFAc&Hq;XFH#QWTuL=o$`ildY55K$>V{fwK84 zfP)2AaC~Wi&F>oUi9Pyok^+cegp|@EA-XyA zk^`9hehl>yBzJ}awI&n|D-N*k2gBEzY^=9I)2%d4IEDarNqja7(Sq}C@H=v#HB=0( zkui`W*$Ti_eoV}GbeVzn|Bff-;O$IeF#yiP zHqu{^qFo0EnDEqBN`O|8{3*k00KB-`eN+a1?fm$tSS-f=d+ia5%)uMAeG5DQOids6 za|Q)T=-J=&3B#J&THZ&gBA`9|ndz3Q0i43TjoK3g=n6qQljWqL9cp~v%gf9EO(cmW z1;IuqCZw>GkhXRIHxd3{rQ_o(0Hy$?cH75w+^ZGUOJ4uIf^;OZ=f>M%aV^W|5Y?A6 zPsED;@&v7&Tbim@{)YPodRi!NDHG{rfBNOtnNsJJ;$M6g2`rrTCNXY{PNqVSG#gs_ z?w_X9?H=bqjR+CWsxJk2>KV90Ul^`lA+gT)&9tz-*?}c*yguY7k7`PYV4f*K8^yJ9 zWe9mDbpElnk<5GXGTT8w@p3sK<6~cMch#NZ%HUYM9nX|*JN+uxDlyD2hNh_#+s$}C zM8#u+^xD71Cju+^t%8^ z=N8VPGE3mL*`q=>B*Ye=V;MlwwbHAHpri495IX~ z*qe3MZezbm@+Yy37E=${)k}IW?XwAvwd}!B|6?#Nuf=aYT;{gB4Zn>RyC|6ftU#xN zx313OYU`acf9kQZomb_GZ~TLm z=18NkZkL`CX&E8+y%%tl(*Av+VjSycg3mYAe>ddA>n8WB4t1uc@aKj7Q|G`W9Syt) z_ZMx)eg9}IB=`HCod%ex{wylMYh=SCbC)ExQapOw}me)2^N~#iR96VG{ zmosmjWgzF~_evzsz@}Pqn!XF@TJ|i8apCX$ml#0G333M#28Ki$9-4pogw>C{ci(xR zV%eF+xGvy*6Z49A`A<(VDyy19QA0dTu%>{~zVm6y#U|HDUZzB4GYhmvgpNzZ+>Th( zZIPM?`Nr#a=3V^J4;u-w)0~~#;S4riF)m>)y$0)6qHMMZJqvLJAY}9)QzxwV0U38_ zu^MIK`)8h54$}e8KwyKfp3yq?uH7L@@X~<|l<-z|f6G561;k1(~thc>XEkCvY z9CA>M?%H2U=3CF36vz2)pp?#+B%PgD`j21-`DrgcgAg56<&QD~$|3;esKV()5%SiHu>OrKJ1l1i?o zp($77pyrq!{;@$gxhQtGR>>rbVZqjX5lmY3tH7UghDU)VSCH-CNj^DwnbLKl+0~1F zcZjFVJ_skTfv2{ z6S2nsI9FnLeste*akrSN&}1ZQTFM%jXKC^Xat_%MKM9SK){D7eF)zb1fTJ8iNwG_k zD;+G$bm0w)BkN$JkY-2ef6dJ?b5~`|XB-ZTn4g&NlPmb1NG_f^GQ89eYqSlgei-(@ z{wnMmwm}mUsnlYPXajvs>{o-PJy1S}tx>l`Q z)?Dl38sme1aI9L1+_@IlQdY+GXv%1P=+7`2yu0^0nm#h~O%!ynjnz>$))kb-JjSGh z{ycYlxBxZB>g&3Nam@<{50^#Ig1XdiPu2^f+Rj%U4UI>`#>g2suwQy} zz(~>e{_QN^XC!|%;@fCFZ#Imy;32#6&yJQ$n|U#7&+-^wIaW@EGH_ieZ9p;vJtWyc~y?H;it)9|qG398k59Al!$%GEYY?|Rl zr10$_mRQn%zlByFhzXKjV2&co=1$vh6-pYi^B(AJ$-MmA-{0(8-#!PjIck?}BqGYS zU_rb(U9nl_*et9nzTOB#o$^mg1`P2C`)IyPtqrV9ucYi>+EFSYF{!<+&YP1%#g`B_ zCL-jTLj3KX>lLFzX+ZwQB_FzVCmvm7yxFM{X5v$@`B{M1dq( z9!V<6`d;zOsL8z8hbn)2{4H|Q0#HsccoUQ?L)z6JY7f_l1vB3<|CDSn&!(c9!S4N0 z2ce5DdS^QqiMuLL0(wE^pyu2lcC{Gekmy=6*A2FGK73E;!J?!T<_F{L!6I_Qn?Yi( z(UlL(3@$KwI}4V_s%m*Fc-!`TD+Lo-hlw~jJ~~#LiGm@rrFXJ*wnh?=SXLcA7~R@V zp7rS2ben8d#0q!mxgnEUw^Cz2hqcDYM9#6?E?p2a5po%M4Wky4H_0C~8fPO@HK(Y! z>&7{}D-Wj%i|ALHxc`tSg&ei+P4qy5EY9>Fazrbil4LV3j$gwg4F7h3zFC?Hjx3l~ z6Xn_?m0T}>uAuk!BqXT<4I{?PTAwUhO+qD*OY~X0S?$ap`o>@g`J}bNDx&QhOA}TO zp08G4WbzwmZM>y&3!3#D^4r?$YXzixCkOc1`#NGA2~DIbsz9EDpVzj+iu4M;CuJvM!boEw@&bYp1L){4UUo|4Hoib__un8{ z1hHJ!)#oEGX8rrKC6RjKbnyjWUEL7U$5ItY|0p-mXRu$1?g~nX4>2!6OwTmICR{l_ zv<6cGD=mM-F43037*r=MHZIftOf|w&J`CXfg5!T%;OT1pR4-Ug($qR~K%c9mqc4y$ z%Xz(dcOm)(+u`1P(Y%n0%jlW=&cE_dfDwTJCHsE_p~KM`;g)xc9Tdo$IbM0uO``Iw zuh9f7e(}aB<;Un0jA z5dgNsf7(-!{hvQSBK>=!09__J={}yqtYX0qlXvNJKQxuKwNu?!m-=8-wu8)Phh|UY z3}ACY|978Q^5I_R0!~Kmbc!04ms>h_(+=}%E7(b~^PTtJ>So;@2qnw9=ZdCYXAFA*w@~*XK>5=cN`P|D zO4*NRoxZ2{Q84wAMuE14!8%OHMS`4~y1u^pkpH`sb>y$u$xYrxDP}a`q?N0_OD~$w zU&1Um=6l!a(n~bCy@G*RP%!r%kPY0Q%{A4k{E&MAWb`|uJgyg_61}lcm_TfJCUB+) zfT2C3i<+n4VKe_H@$cjlQ2RRyyZHqrA$N>$nUI3w;TY!0DxLGG5o35M=%R37NglMX zD(f^>gZCJz+i=mEXTb&RAk#u)0YQ*#>BGC zI-A2&2_anLvS^;?t6STQI>)ejJ4HgF>B^1HcvV%8y1MlTXJ=@$W@XU?k_Ur`U!LV_ zbP}7FusbD&56&BJLty~e|BEPgL|s+gZPOm05l#W#Q^3H1@7nqZP??%}ju0_!UAdy2 zSWEYABCtgDtZO#_J%ZfeXy@m^d7P#{tOf(RvOf0|T(rv*$XSw{!o81F#5SC?Sn<00 z_)V>V{-<@%ErsC3!&(3CVXwyDw`mEF)Bc<2DdcMjEu2~Vd?YQIORaIrdOjh>C)Y&j zROq@0G`l!xI+2N(J-`Kc!T!1PIJMTiJ_p#JR92Im%*e^S6TfNFlglbAtZR)%n=Jsx zC1y-F06h7XR8i$Rb?D1t_I;`=s*;5hmJUOyW>ZGgTt>+jUJWl%1W6Njr+1&Zt4+pAotLvqFB$%zfh?O@S^tgLz+ph zgmaX6Tbk^+(Ie`)j?Ui-S(njkAG$UsEn#+U?`)lwL%-$%o`r=Qow25k%|5VEN%Mp8 zD-DVupd>cO5NWt@8?i#)RertC?qvcXhu{a2T>#%|^aUEia`|UkTww_qZoJOKEDn??78#YAQpV zhs>IwU)SsNOIwK&FA&44_l;&8-^b$5XlSu0VS#=xcw%lj@ie)?b%2M0BF`SuzeqnN z_I*v_)Z^^xxVlmJ9-rMv=6Br%8A3~J=lqB9cTvC_utkMhTJZIG7uDc0E6y+H?Bqw% zTaYJWGAAh5puV7gSUiZ^m!9l4`sk#3i3*n<7w8mQNjYL_a38LyXq!mdL~Y=i+}``> zACG|hfkWa+IeqT*=XKWD4GE@)$o?yaEyVM78AlA#Qs-k*O7ml>Op4TICgLjN6czf* zRjNELYo7DA`TT>?AAQaB*ON4@B@IY|#JaDmy*3A`MY_tAF>=crscQ%YF3ev1N(XrS z+3NQXJZA){#q`ehpP3r~U#7p3tQ;)Sg$9AZpIu!Y-A4e^8fu+?2KXWBgL)v6ZufAi zrNddk*1UX#Im*ksfh;yp;9Z=B+GppDFuNuba9m@t%V}H3+9OzsU+_NS8=ML-&n3M{ z3+~q6R6tc`*1T)2cd5jDYY;l7b%_E~FRevE`iaB`cI5-4JFM!Q;#5<^08@^ShB|uY z!3z4P=GH z5cWCIMsNL5R{DK)_YXy0NqvLi{6nA|L*#_4Y?FJ)@J0}q7;Y41vVmrg+&Z@et{e(v z?Uo@A(|@y?VJTKK|98$**mmY6`&kmnKx3Zw`q(Y9F`@HF^e@j3NYiE{cL^p99bNw2 zrJ>mjk>FLi9h2FwUln?h%hPNQ4~$1v%V7kH;Jh38<(SNMV&pyvwInCF<=Tf(D{GtH z#$6sdSIo#vDG7*v8As%d_g1*g@DEX9cQtg6j7R;h7G}>?k z$k=o}FQd*cMr$AoV@T|IgBZG8US)-KVA(mcoSDjslZunw=SVz4UsHu274GOhP&*&= z1I%=BgO$U^)5+HaW&q68bBFEp4Jf2YJ)7GpQJ_O@d5Bq`<+tQ@KeKyD5Q6q`^H@VD z3RoGyAH?H}Wb&zoZEm*8dAvv*a|*Ot<*JHbXdZws6NwqrfgvtlioCCMF8BnLDCn@;gcJr#+R1|PtW)Nb+g9YZ3oehKN!0lgqK zOZjUI_tAx6L@2Qam6D<0SA)j=`E3{ou+0@KC1K_a#BttB? z|0A0E5A$yrm zT)4aG?N-_jtX6=2v|>L`zX{{^iwa~xw~>X)?q-EXzZ6TrHcE~AXAgZceR6CbJANa# z_Vkj^(K|Dt>MnKdrqlyC0yahl7Nk%wq`zsS;_a!Y5KI@tJU2I;+bN}F-k93;#? zMs?NkGHO{nX+Ky>YW7UT^vLk-(*&8|#p(d2%r-qpPC$KoDgOAS*Ii`tPma7AI&9-E z%aTr}P+|$0VuEyT3$53(vM#wLg{7s%#a4Rfp;NDZ=-o+583X!fn|p`Egj_fjfBg+R zAYgutAT9Rki+rY5sBp@e(-~P{%5D}}?%|~rcsILv6oom9?&(zVC{@T` z!U!W|^<-A7$RRR49D`h>ot31cOX`7RRmH54W*~hkMv5V?wrK{gUG%}Vmy#FreMo(Z z-uE-u0NGwJm3vdcNgb0j>yNbxmXvviHu`sm$?ZlBx1btBE;#pc=k_57pvt+yTfmo=^P>sjB@q~z5B7*o~ zwS_>-MmHxT;}}rmC52?h6cYJf<>v-+adEJ)ZRP6~=H&1K!V2h8=bzx$8y&Wl8P1&I0bIJ;JxHJR?!Us=2+KQ`yAQCH$sHoVOn( zSwqnFIjFqU2&9dT9SLFZ<(GocSa9V~17?xJgXb~dwh6cSw=9F(u7C`BSy@|no&-bF z7DuP&=nh~ihwexHG8MCtX-#YTPYJQAcfD8nu7Jb&IWpXQmh?z|gLd zv*gW8Rz~P+R!1n!t>cN4CX%d&V$#*Cfud!?jJzz0Mi6`Ha)rl*nz%R+)16u$PgntL zWpkBT8|EV)H=RQ*TN?}3+x;G!C~*li?~#tJ$c!RDUn7*nTgiBI(qp{JZxNP$R+V?LLWJjnu;(L1*_;A?@LVUSx?D z5FVg5RMbdKyw1ZN`oc55FmUI99x2<`fr9bKicu*W#+JpkPru@cq|mr?jj>{a9`w0kKxn#=H#l<;l_ z^#G}9*2~;(@|~yX^H8Z+-!MAYw40f6ALq{Rs^v6ccpdYe2Qlym{pklXjSp;YdQ25( zD94^HBedp-VPnIZ7>w$lal?$Z*9)fa&fOSJkKZ%@PF&iYE+f!&JrsO>d|Jv#P?biq z&8nfEN0K2PJA|DoWnYb8BNCs2SI6Oh#cZFzea$fhv~HL!7zt1j-yY$sbv@)9qHP8{4n zo9)Ma-GZ{@`PJCelWVl13ZNg-B@Tu~Oe zmcJiF*87DcP{3Uas{Py#f$lsUE&A}PHPJU6S^i-e{n2hcc(B2H9NU?~eA1xLy{9UF zlm=&Tz|IpZlF2E$hcm4lT=5kyA*lqtqP1}BfPa~)nv4Uz@aifr?xP?T?0yLs3w60|Z{sTa8oxQOD&}-brN*3|--@$0U63fR;9j8TgBRn7 zxY3>Yhjj8~XeJvFaJ}@;wFnhizxKkuaAVnNhJs2n zCefJTZ~Xvml0b8dU@d_ z?Bu(3aLJ_~qd%0mgWQ{mFJYXZd~q0g_+BCEW;^p3b+19RRvApbvs+{!n>!PMqf2X_z*8_@#I#C&9AAj1<4-zJG_{WI5CGcVh{ ztMqDrcaD_`gG4>@LAaaw1fm5|5O3gS+d1lES{(8n{Kk`ztCp+o8$iG{>{rWKQlCvcvmM+2y0LD65qvqakGIN^+4 z&f`c)e7qNHXJ;U&}(foSTQBJs(hW;OS4nk=(_gHY?f zUXC8!vx%ar1`)q(Ivj9g&t$I(Jmf-gX16RB)BJQc8%zmadTBS7K;Yx-&^s7`)x1vB zz~znRLdQMSGoG>G?OUhJ@ZO6;FtjeqCYXWUahvp@VZ+GU9_u=7w2mEXrMBt5yf9P1 zKwHeuU|I5el_04WLj9#b)ylwxb|-`8gkk)^uB=Gv=9O)$m7Qdm&Xh&EcxCO_;)Max zw1%J;#rOEe_3dPf>u1nFakH1kY1Pc+h}@=yB7OBiQ+3u>(f7G#QaNm^#7(r zKdPUh1+w|GK^-g)48IM^8X3NA=RfFCQHyPF{#A6~=KpSG68$=!rVk++!r18DVj67}xYT5GL2msn*5~yo^RDw$%ZMZ1FSwI-# zmCwwOu5+Py`}PF_xWGeXN6MQqzfe_P=;e?h?N|(tm2b+tL7j9VIu$KA2hoLcE%eJr zq8o)v+{H>P#-8AXS~@my>wSVMq2XeSk5)>nH$Nk4xqQajxa*IZ_g^gx#;v_6+o2Ci z3XZpGM>Z1|Me01+yPCF+yd8(@`C9-;_j+9f-QDk~AG$35ho>@$X7e6ytT!bp@Q1__ zm#0{28Pr0)0F?q*8YE&_tauZ~x$)TwtzsOH1MDQd!4TKdnY54BHd}7#ulox9O7=nL1b_s*}kR>Nd z0~y#&$AoIT+M*+Vu#UtNM)#Qw=dR&1HR{F#DLSD2wyDEH-w)jVh_FQoeJi4zGX9XL z#ZH3P+bv#=#AOMHXvniP{pCp`wyq-MtuVuG5d#@ds%!0nGOfdWbR0}W!jr1@&;v93 zlBx6{&%Gsiw4oJ;-r9OpHx8ocaG7+l_A-S$N(Me_qZ;yE-?w-MF8zCL_g7zj zKG|w!=D&04l`LjEJrgAiT^bq)+`ADx+g~E9W9)M%3ER$sy?K_{Qg-<4`VJ|GFRlgV zTX3zL)$;k-kVT(BPuAMByj~O3DHH$czAdKLF6~Z*6waB zO$cuU#_?N)S>)mbgu2kT%Gy&8I=P}L%t~G~={*X-aZimD!NnM%4#nk>E&CVveB>!} zFT0Zb1`zapiyY>)QnkWH^F$x!6qwD!E2sbajgMyjmVjSvABC6c@q47d|Jn-wEdLTP zD)Jv<_zz#_+u$GVdgdd_T8qt+5%gH-`uy=&0H8uvl;{3$qJAik$U@k+;U?(HQ1yd~ z!^4!Kx?MyqrSG(YNjW_{ursl;N=7e9-+q6@=vTc=E-DUY2VCIH9RbYzlu~|b;D62{ z`u$KMb$uy9lbaG^J%1Q+4~NT>CSSD;6*ga2)||h|A>X|G`Ex>;gt_p&%{!rL(D{&N zXvMTmGZ-HS!Tc}T4LH$n`mBwq6XrAp*-&1e08v+h)|Lyy#-0n4jQ;F~LX5v{;`|p|an}8!xZCvn*9}qMhX2yz1{QNcZb;hE z%}svpt(Fk9_BD+34erIMVQHv0J#}NFv$x?V*nL%;?lk1acZrPAyz+F(s>}CEK!%TH zYvBFeMIzc!1E6F5cbs4&qfVQB!J3bOuOvKJA^u7H)mfMLp=_>iiJCz7T}&refBeIW z1DLoSG5iO0Z|H9;hs+wMPr*UVa(C3mF3&bDAG*K|7YS%b0{>N>ek&=+<*|K8E6yXj zjl1q#x=hXG)Yd1fj=xS1x}+NmH-cB&-}iA8dzTd-)z%6HjPaWRX6aqrCCb$APoN(!1_2Peh#hL1$_}Yy}d;TIlN0Bl)p`epR2pj zw$nT!!yuel3W>_h&5s+q6gL+Q^hz000b;FgDM!~Lr7IT#HqQ{Ep8W?4`=~CFxB*Ud z?7z`2P=2!wyJIUDqOGrTrEMn>xEGb=s*dL*E}T*qZ}4fp=keCpuSpWn0`BC+|NHgh znw(i@xL8l^J`Z0vz83QTn ze<$t#4}gR?VC*h?(y# zywR%5qh}KQy7v9X`$L?ns|U6Bx!mp6E1kMIK#vW)!f5`Eq`;cc;A3=2VR1oWexcce zKIr&+2-=SjYX&HKXrW!)c<|%C>+$6YPGRv9<{+-Kum`dZC`;lT3q)JW3@@c_e4$w?al2E$}N_gnc3=<1UsT+&(0 z(KU}YgP_pU6DPU;&Xc}6FTqEwCj&@VtOx)aUZ5Q%IZM%s62K&j=2McG?b6IJQ5Gxa zyZkJZqT|i<>)hdARv(1Bg8mW%fgs)!xT`tP{voQW`dm|A4d7HGcr&y0HdRTmbeNk- zO-~jm@YI5?+O^0Xhu6P!Ikj4E;e5J0``3i;TUW;Oz>eH7%+g!x@?aWb{>8(}W1pgR+^pl;`RIq zx;_{Z5&1EXDD3)>-fNSkk9$&EacpW_)y`E^2`lB10u*Wtd$RsL$sTcZaPT+-Q-Ih; zIfKV2COeIVugte&wuUjMayXkkPU0%b0z2cD%@Bd%aQ;Ao)hi_e=D4_(OuT>G%N$G7y%SM@60bIvZ-U5z1(DxsFxe zFR(g`MNQ68fgF&;_`TNq%gNEtOKXq3VNBw2M@khOiq=ikk{rGEfX%!SAQk^MZSPza*61 zwC9v#hA4C-#;|uVV2D5PYf)oWAMzH0x5MoYPDMr>l^i~~ntCX&M&GltjvUuMULyi` z`^`)Ti9fgdsm0IZAmV63Zi5(%WrS%Jp~F=a^JSa#oPOA=iB~OY^a9IT4!z zZg1ep>{KnaNy$nJjXN2I7Az%9J; z5JAv|c+GR9#jhVS#$CLaykKYhvAsNO%(W;av(XgsS_>k53lxO9vrg!U*@pN<$dO78 zJJ4uO*46f5#w}LHowq^p3}W{VJQlWBV16wdRM#rS<%A|E0*k`->`n4r~jw)dd*kqpXF;M@i-vz zwg6_~ksRYyXm#2D)y$zdauvP^kKGQ25YgFN19K?T9xFNx=XPEek#>ePo-VUJ?tYAAU zJFLKq)fWC%N{J`CQSf7U?O0wgcR+u+hY=v)!XqUVp+#4g`I#_bm2|o#8}l0E4mZ6s*|W?* z6FCX|Il&Nr zyVA#oXaDD0*(2!n^M5S3Lv6NN5~*PXkr3M&RGOxwpNca{5TXx6iBueuaVv0u4;;yi z%Py=2O3?fCeQj?h6FU8il};QRapetW3WNGvkAZ3VePYFHq0T zq2RC^$L%E6ZMl!3j0U_t7+MJ4Rn= z4#yxeh1O7!`G5*4Oq6;~X&y%f#_V>YR*Ysn95ZBBCv8KSYzI@{W};wYvC$NiBlL27 zU6~JT|B70)uLbTEKQ2dhoCAq!H&DxcfWnME9Y=E#IW^)BczoUX404sTeyPnfv*m*% zgB%!%{JSbZLK(H~ne>{FaR68)JFFB1|SFW&BoyEN`6@HPSV zu0AeH^2FFx1Ov;2v}cXyreZ8s%lZ>R-a$Csr4~@9J{WKahzuT}Wvd7e6A*c(Zf$S? z?s3ejrZVM8Mj_%(+=SUKI*ZqQ9eG1k@Xlicjti;PR^wHZYYpmZRC%{VEPVRe^-;H+%|Y^w~Tn7LY7>sOGR3t1`xZbF=%Zgx2S@cc0Z( z0b+gN!*>#%)Q!7XgdUch{w*eMzdnY|hGs4A?>wO|ot&JibTGmJ963Z&t8wX#ZT5m42`Yl2oY7!R_(C%M|=pp39c z37E7T!I{!8HZS%2^|^*(V5PkC#t&hkEiHr0ClWAOxC8GGw>%`4$b8 z>aSW}!$$!ogn(3#Kb!yI`sN(Xb>bggWKmII@uK$M)2W{Q*4&@&OYYU#$$&W5;j$&A zZ|8D2lu%xDa_D#lwunN5>YKpb`Ftf+yW)lbS(B?+rn$HP+U_*L}#cH$3sn zKj{T>!4dLoCr*$mR1NbkYbuq>;!JTGa+jXpqtRRn=HOlqFKJ1>5fySYr z%npm7wb7a;rd->x&00Y3V*aZs*VZ;wvh4siYIm4Gb%xHbi*r&lOogn?ZPN=)tL`1j zpfk=0W4}l@t7ojRj;;etS=zC*-AJP68jlyTqr6jN4^;H})TH_ugIuBmxIWR(r)1Gk zRyjcSuL~W;`fPcN@!tr17f7Em;w%c z?3u2V_IGU!hdYxIPo87jTdI~nwe6>M!bX#Fh^9(=IPgg12j5ed_>2+nfeNxz(CcvH zv%WU6cv{q?Z||?u2~#^8X^zQh&UXe|@6z?@)D*~lU<`AQD(6*t7en|*%b{E|JA;?N z!d!qVHnE#$o~x5Oa}8_Pu(tIOlvfl{qkq|0k@mw%?LaP}th*QU0&*VQ5c38(uZf%B zQVEy@%RYcB^n2oZhwldtRx#W*@~#?#FUU3DTU`$L@<&T%%aI!?=*mYd!R`nnUd@yZ ziyoP`qRox=1vDOPiDN0Ie74-#HU9Xk*+|fY!%>NcpXr0^z&r_CReV?WGH6llpT2~n ztPAndyRYa2E^n})U+c6*`A@@xivhow6^?Q9+zo)lUUbe*Q)=h)=RG!I*MOD(r}>e% zOsuvz701-$NXElPWdWv~pS@aSaw0J#^;Rlh92G1?sq7QhY9_(q_BSysyWaH_?Lev4 zXEf=c!)w%$b3oc>^}(_bO;gaga>8cjO2niG!S#^KHXm&6xnk3n_O^e4K>ozRszg1r zfE`B5^hf_B5L<>RIl*%`oP^*-@qu zH;rEo7ED3I>S0YCH8`UJ$*Lcl`42*l2S^yVbRF_!=4~I@Oi4MYhvtVwtE}Y14K1gm z^x(KorOd`AlipyAp;k|=q)U!E4k|-fu8Wc@U{zUF|7Zk=g}?m*_f)=>CgK)af`5j4 zsnCvz$_{<0rvd5kUe+gdbJpEHt-|9Tk3WQ@bl6ED^w zqIX5Xuye5c!K4rw+>aNopAmYVO7HnOw+WJ$?SC+v4DU|!RV{YkBbl2^CDKiaXXHNG zF|&VM{sb=GIm{Ki()+{W)O9nA30cC_U0#@eUoIzN?U(TKieH&GXlhR?Be3R{56>8l zWX+|%&04dq%7zZE(r(6!Z`1esy1%+c)a#--immvbeMU` zaIm!5dUi&x+!};tbgx?;SwV%G$Yd|lEDF`JeyI2zkjIS^BbDaUOZcTmPBB{lfR&_U zF@OR`Os@cC_?`wU75LM#3}0U5#+{Bj!2cFcSSDSN3R(g6qx|BRD&_HM4<9BGpH$(x ztGWGnHih2&3VCU9pqec4jytXvLQu+b^QWVA?qadGr=p+aeMa<5L6h$czW3ghHJ2o~ zoSKq>PygH~VySD;ugkXR#ULD|f3I`kf*@@c%Rxs3z#87fcfd^ZU32=dtL(xC<2Z!U zKr;{fk{y#^3^zn+iMDU=i`MPhCOfhTLM$e9hl>p|<{-ul4 zIR-2^1Uh0{DA`g)s}pMmQg%Hzhee2;B#}?9vye+j2_RZEBx+> z+_K9SejM8Jb);p_Q%Avbt)qHh$4a)QWml0U)LwZm*a>`cICz*K3$$i-(ylR#PM@m@ z(D&NzlGm*F+6D)*(>aa05#sC}cGJmgRWtsQw!y!uM-Hm1O|BLgBlKX@X*9_QDj*`! z0%H+!nGFW9r#!%m!h2#D&VO1Pd_FREstq?R^hM|{F~(KObRYZ{6<#O9fiep}5fKC#-8C2prnshd_}q8C|w`E9-~;=T;1Rtrw__iUSgnOoZt#|?vTahr{-L>B(y;%hA3F#u;quGDO6`E&an49d z@P6UqVs46Aa_!3?M5O6c^QLqbSC#Jmb}!N)1OKQ}rS-uGCF;_pdock&uaivjgw8&| z9n)qVvbC5#4&-=RwAAfSOl^s{2TK?pDj6(7SB{YEI<1|W3d(cCt6ug=OeI0%&-$yP zBy6lq0`7nEZvrYFZrfRBos~-a?Po)-Zut_4rc@+~iqf*ue5!*ECus!m!(B(S_qZ@t zCk!zD`1FnHNJRj)$r`s^vS7J|@5C4C=Y|-b)$@YZ<=R%BeGntJqB*cehm(HU`)T!s zcVUKuA+qhDl?*`ov?1G`$E|i}3>E>0pL{0am}_P3UMY$Bllv)}_TqCPU>gHF7_syj$kzS}1v93?)_7v;$*S-2&SO$^zENk7!JU$VZPl%I^JW0zubUSi z$z!9v<;up~Ku>b&B>q3@wkXCVG%;Nd;cq;~sk`jU3`A5}7fs3YcOD!4FI84}y6H z;LDC~OhqRdMM*r=-Oa#YBS4;T55-%F-K&#nYQ0OEtK}p2lrq1f{9?47O}ZJP=0L&D zD{IyAItYv&KZ?ig#C`(ZLpuLNiZlc*!R}=V1m7e{Ya6@R>_n^UtGMNC?CQ<`b6LXY z!EPnpS`r!v_U2uH7VgGNKUa_KQqcM7+%(#@y{J^8O*IrLtZck~a2tHiY_92G5FJic zR^@@V#yRG!qW!x|OfA7Jzabwlnslju*l&r=$da&k7&IrGM(7f++3Sk3hz-vwnIIQx zqBGX6J#6cAm-R}k)h8#Zb_WxXaGLp8v%YWm)Jl|4$elp2k*Fl0=Ev2r=M3z#3ymxi zTR@llZn@WVQlTv3)UYc9^zM4!*!9XyMdyPOU7kn z^U`d1+$5}vXSt#Q;t@_WThJ$2CH^b_pmj=}^Pln6x2}nBxT^g)L<}OSFWgMfJySCc zskT%_olX#eSoP%P%+B^lxe$hRO%y4;MfcpSeE2hhp({&(ViGA0sn(6?E5xq!PAnJH zU8ui=Ot5ohdFW->t*h$FHi3K|BgWzAH(PH8*iVUOv&euVISC_-k}sRB@DY}q05kyb zX3X&Jg+>DImB$0pQ{+c_9>b|ErT(2>o!)n4fTr5JuV{^c?A;sKnfoF=KA5qqpN*J8M}53#)-ubn0~%b`(h; z9le6E!__*TCgVTfXe?h;KMJr5qoc1*E+hziK+j}_dI~e554=7tmm3xZuJ?pFC}^m> z{0$kaw&#etwYt^J@!;ar)$_>;bgKNUeh=#HS;sg^Tei%kqNlIXVv4mO&|##QmC0OK zD2T$#Z&GXJf^2*!jem{cJ{ov#FGUK4$I3=i)IPV|!F9<#;L~-e&6QJn{H+m}lQE+` zS4NPt6yZE}&}oRBY^0b;_Scrd{ou(?=mqD-$w51HxPzq)G$C}pMljLxl~Q-8!lP5g zQA*lftQhnqk@@zUB+aB~qPKJ6C*z#^O?EFl95P-|{c z*Oerya6y)xYQ401Xs(Z~?25oSu|x@t?=o~XQ-}1!ta_VCKLXaXZpK|^YlNG zFB~1bX9CYiz#sE=*bKIh5Y+aWA^=_mEf2U)}rSTcz^X@S@t>*iUSu zTK)(3{YU{IY*BKuUC!Ov$RebLppey_kVeV3dAzQRvHRn(6Y7fTHTLqIa&#uJ)zuiB z@|;6e4>%`|>qapW+a0LhNAVVA!>ziI?V>PR|3Lekb0Tn+;_jZ_Pn!cTGRr zO$H2)Os8)3E7ro!NxL}aOgcW5EsAa`rN>q~R0Le^ay$yB8GWGeVsV&_9G(a|CEaLw zx*}g7J}?yS@NPDWDau(!_oawZa2{%=`X2e1=<}j{d~IpA3vn3l06_{wo0*cvaq!L? zcFC}bj(qJ?i}ZN$3^Z~~ajR&I7cXOhKh@SF*fP}aHwIOX&)EB|ipi)rTW4Tq8ip2Z z#1C5GV5U&UZKg;GPu{edwYPUxvcBq-8#;pZiw=XzQ>S3~!Log@FVo@fl1rcBr6rxh zLUXdO+RY>L4?Rzx6%k>AjrQT%Da4KEv9BV{rYqhdDV#!rH6e`2J)dbQh7eJ^rtPKX zx*<3aS{g}@rJH+iIMc~Gr%>wZda$tOKVbqdb_kTynoJK0L}NTJxK8w%K?!9xQ4
  • M)qR!+FI^%usx^<%)lR1ZhV5g} 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⋙(jD$5My9|$#BDprw? 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

    HJ;z=B1K%dw1jwowH8G7;4%G0xj#&EPcO zit8Z7{e)BW=xRQ5^>)|8M=s$HIA8~UywGE%vA&y5X=aLgSonA|GgJ6o*%)#<^`nAR zj%AptDr0q)-t1+VJYoFYeVQ~8oA-UaxxY30=Zl5A7LNNQiE}@&M04%&cQ?a2w@{VY zDd%%zZ`1-ZitX0++byDOuw(ifmlp)&W=lot8iz(qx(_w6@kC>QAa&{s@y1E9?aHkX zuawj$zXh6BbA3H~q^ZM?5B%BJe@I!qX>e(PNVI!P6+KeFE1*zQchB-4sc#r^h#U(wKblfcXQDq%46e^XFQ#|l|JXiRM6a;R~gRj8L-(v zon7_1RjJpBhPk0;eO&;@TRZ=DMTUWo77OcV=w}RW=+EOnQY6wuJ7fBYjJ370Ey3WP% zv7zq?SE$FNyFhA`YLNI6LCeCPDiweYM0gcuO}FtJ0SFP46GksVn-nDy*YjjQ6oT`i z;j|%fYVj2iW4xUJ%C)V;2_0}M1T8Bn_eSJLqS~;ZdC0dSHI47_gI+R&_{8I7$6W$M z6zEirMY33%FUJ@3X)f1?L+cE#(3uKpj78 zL`-zb$c2yJcs7ULkQ*Ddix+U0U?F3-vFK7ZMK8gPF{2SS<{onsrfq3!H~rMF3Hjcu zFB|X;muqE=Gk>Uxx0IkkEtW9!<3~KQom>%Jqt_rN+IX9Be{cWfb${PNA?tvRxbd?g z7PchwC_#UF<5d+|BB@*^HzP~)P(mffU*q#zHB4PIAF{i~&`TdtE$TK39Vw?#sxmFr zX8zdhlamEW#^;<(+~U=iD5wuK@BN~s(61M7QVI2Zwz(`#!=D!=WI_{oQSyT*q9f?7 zQiR`z_@osxl+Q1`{~cbzR5<eA9%eg>puWTQgo1yS<~& z_32D~CRK`?K^Vl^g^G-rC!#?IXv?xF9r=xpLzZ2mX%=_?!(EM*sHcPa z<}Qs8m|;&@fi6}oCr|?SUR1a5^kK@IqZ}cnbV@~=Fbfm-|P3ucPAX5SAz43Gc|vAVZKVWebhTs#)60HPS8*0$@6 zj0}CMu$)3I=1l55$F=Q_2U*d&y80tp3`(V?{yf%p2ahPXr?Iv7stl&6} z&*^&j6bDYeocWY~n6nT>pDZlr!B^eOHKWzdH`(ic1<5l5HX2u!w8k&6v8vsr`cx&` z*qc}%NIE!9ZurkeH75=!&!<_a;QS`Kk2bh|L@L^#nw6w9&#ZtUKfmiYQ8_4)ZVZ(j z*cN@q3TPdyjg1gUG}@+W>CFF5dv!C0^pC%_1#ErEQ$i`*_Bj!h5G@oJCKBzh{v>8r zO{DYnZK(Q*aQPYt{^izC(APu*aLr)veli%v!Twm(f|?_ZuU4JrROhmn-X-CBQ|!OP^p5-5a51u1bWJgV(CTcuv;Q zXHj(hoMym<*L9H1zFA#=Lkmixinrx6ceZM@dsK0K*>=MC6dktBC+qKQwt^3^HkUdu zFT&b~^Fg;vs~2WqrrI!q;i&5a1T> z9ipz_I+h1v^))Zv`88xbK+9)_MeVMACbW~&Ry_T1FQ(51XZ?CqC8Ng?+NcnxBj4B% z8dRs7&&(1eYGGlY8B^)DndKekYckGDd>T|(_=$TV5w$msJm?j)apWaXnnzP&(u#$o zI=PXr-y7ZsZ?4Y3soc3@jXDT0N4dO0Ocs_q+4=4N?bW zeLYVTuNYzl=&~{|zd%Q}vnb);&1@3Pj#uY2H%F(=q#B6hlyLNbJp4Zxa0-?V_TXsZ zkVVQ{;R1!ik{`G>%_Ik(y82s#@w*Wu38tVr2cz2oS7|O2H>6_7+vZnN zL!r;+3dZ%YqayLusowz+rJw^0olgDd*T+py8w!rW&)mjdPxrS93Cn6AMuA{? zM#KE*`h-MCkFpwXbXxuaQ+FmrA|JB$hU2E4M2t?8;h>j6H?Q2nl?7ZUhkYJnv79Cp zI`n)w^Ok!p(3v?CEhT;5uzvUBbQjFHtj`g&u%+1*ke&xAjj6nS{#q0;`cOh+nhw#P zSN6xexM@(_E&etM6GfJf!1c1Mua=3&MLgN>uFYlt$I{qw^-EeJ&vRZj9mh zDY+RL&IrPx5Z2D`@dFZyJ(aeZ0XBFto>!=J)6gemtu*6@c3d#f-&2rs(aB12-K=1u zSWW}Z=x-kME0r-4#kIG5BlX9r+|{4x1^nu$XV@CF`4Hat^1?4s>bs#W;;RNMrQuG}Yab+Xj@K__9U z6m}hn5XeSv#uEZ{pHrpr`OW@ZOH#N{s28qgdT7y*+I)(;+RgQ&UzuF&_Pi$R27%cA z^7s3!qX#F11^cic8{+*V^&$Ps)B%TcL94m#j|_=Fo)*dZy26`O z&DDAPbbx#X$T>?^7cjL{qF!b;t|#il)?y-inxj^0`*3EnuI=+&%NWYN>lxKPfdqe% zXLT!1ax#UhJekx=5$Q5UQ1mfrR(71&yG&^KQaf%z8C>z#=DefM@Z6y0XhgB{c%*m!E_chshvQee}kGcYuUI?!>J8vGGB-4)DJc1&L+%k(RDprJjr>|DU2@$KeO7_=5;@T+B_pvJ@G zE~(CJ87Ae@dTZgJO|o|lD+JZM|7m9y=?1{3NHQJZ_>=gZX1IdnCv{!|b#ChG8fowP z7Bsv0;0Sf&7Zxm${VYAiaMt4lRDNb9ZcLg$1>{FB+4L4p=U9_;FSB~zJmZ&4t`KgU z;*yD{ze&paNB~Q1?d=9eiP{d!#0#Ew(~Q{nV*69<1NuOyXE=PF98p!t{h5QD2~yAb z=O19zS^a}jZRVQ|z0nU9|I*Ls1^af;fwr}Uu~`%ugP~e4!e{C-AvAgn$%j>hEoH9w z>1U~!_yeMC=OG+%yAY)MQqDXhF*1>$JVZ7BKTBJl^3yq)Koc^2EwOFI~>$0N z;L=SEW6U{*+K=K9HBr?;HVMvqQg=H$7;I|2CAq96WTEv5`QJev$Pd_m%|O>eytk9L5FzYDUwmbf0dy zev%r8ouO~VwAFkM24!)gPtgH5gkteDj8_R-9{pJKfj>>ex_D^WQd>{;6K8i) za?Lhz%o&ZaToFal5P1{7V3@jITyBnHdpG1LwOH$0n*>bX^2%v}Yu1^`EfXzoZ`-j; z1iVhjHl+Eny6F9m+|{wXQe5dxJkeHZ$&k!s--NcV#~xp<^|+y?X`x~OaB*zCZPSg9 zbjWA0+5AGYM07_XKmRWGilH3UyuP^p8a$578Yp+qTKe-xWZ{be6~OmO0Vo%zxyic| zt_(TaZ*MLdRlnL4mNw=TXY9K;CmD8iG5{pDBJrM1R>F!2Zcz(#JCH ztBt)`IyoTg=7+1J)%$je6%mvTGD~DKi8V^LWkJIZa{|%P(Xdx88FDg4NEK9o-{uuH zVdTgJ|JZD}Wk=&_db5yWH#KiFI}c!mk=Y_ZN@8j&x`61K5^zJ*YsyX!I= z4Cbco=O1xKH7_ZYV*D6vmA;EM!9dm@z%Km_L)g!hnT z&b(uw_4SjTQ9}N!Fc@g$`Sj4V?hJ=x)nURj8{p{-Bi!=3$wkFpay#2j?iKOqxaicI z{*&WpO6JF1By>%ISM4ua`&FU`wXA4_wc0XH6+AE3_Mem4BDGkxIQEErJ#NiyY)njg z(el;@BGKZRneH-{68gp9m#H?DPtGehIE47C(0(G^fOI>;PDDNkvYkpcrDPSZ_aMm7CRVI#)JfjNp z_%%d}dw@6WgM!l92GGz3fDTUqXQe}2!Tk2$V^m?yTJxoey5zPg7z3GI5q#do55|gs zP(_?uz9RVfDyryNkw0?J)hfF+_V#c{5HFod=6D=G|MFoyYqgR}ljV+jp$-vI4oeRk z9K65pG#iv$gO4j{vrj%P+o+BYui%bD>E*&X%L`RsSsSO_?A1R#|8^z>(w^dOZ?j49 zkXjDM%r#}$VX>7UYKr6sJ4;zw{3S+3tLk*i$^mIyq4yb)Qv+-l0oiIE*2Z$$C6z~Ht(Pg6;Vtkh1yi6l=2QqfV(&zSijx%H zHK$)oikRrTXt#3mYTv!tbsg;Vo+5HxX!Nv-`nH7Hohm@=c9x&0$cRfy_DxKPAq8Y* z9xAijSkWljTn!CZt48am)o>?JN2f9@^H1uqdOrX{U<|9Hv-x^y68l2!PR}Q>tz_Nq z28M_(xx5hHXqjNN_|}|UWwxGA(rH+mrFtw_@gmaww;m2RaT7_=ZI(`SSRukhuMcf7 z_?(*rrQXt+t%xYc)dRDuyCQk^}H`kceRM4jqMI?s#%Dzkz`vFHo+P9kDGjti4 zhq7bE5qB6!i>Vh~`FC=ndB$&o-|E>Rr>mo-#~xd!saq*-(to0z@zNQe@xUvZ@*b5} zLpWZBYz3;ab68V^i+}tRenXvR5%11(uxXPSu=~9-_~bMcV(jsAz(SrBF2D~@8%Zu` z(g|*g;Xc|%{Sj5R!BBF)IM!yZJ3C57_SRu{m=$=Qdo3HW8HcXI7M$gy6hS!7sh69( zPtDv^UA(LH?$8_eOJRw*F5_+WL{~8bNlJ^m7Y(-qL z8Od2?FVrHFjeIuKp5<#MtV$dA<4(r3A|ZZnPnW`m@Lm_-jjs>!sEHjfFozWGlTz+*B5}|n$@&n4qc0Vj-Rdqs6e)Y#%W>$m6MLx`nbH+w;m1xOSLiQD= z1KjqCrT^HWw+aW;6>b!Zz-i)z*Bo!D=t&Z2|7=~;>(!~@tl}AsR$N^iso3Bs({j}O zF;Y-Q&c+^ARXyWTcHg_A8@!rLmC8>}&UC~bj-Mj_!O6-fRe(u5JxD{^G`ZlL+w%QllaZF9z2m(L_=zZz~S=E`j?bBzgiOSKIPnw)FVtrQoU)W6d zKJR@0A6=2Pi@z2}$8`acRf4iruu;`T@gm2JwVJSH7@B(!yUlvz9UQIo-`9_nAHOfH zqU58b*ROEg;j>6c&j17d)s@F1qOypur+oGP)(7U3(m7@?;YyiB9~fQ*B!pboU%z)b z$&-hOe0RMJ4~K+%eFeuh&U}cK#@t1Sp{~Q_MlVM({0y|b8dLgf3*s_b^HO&%O=SPOO9=rxR-6bj2<+2_{r2% z4h3e>gNXVw=$p`HzLoTO&aDr!m(;26#boEF2}Yf-1r%mu0#f^=pFUci)gTg99$fD_ zP$*w9VlX>80RIS7G@WEsM?3mS@^Y`c;Af^ym&$jDKF$cg{t@3l0JTssD!J)tIThCU zq%hKEh4~agsN=Yqq{_)#55zxbC=s=A9Z1A0KzbI>kh#(Gj6^A6kae{R%Ju;MB2>qjc=yHxDnXzIeW5xRah>Q4qW zzCed%VM);+wF%b~A8LTOI^Gbt;;2ec4sDb0)lkr^_u4b6J#j^eFqaDLx{u|(QoDR# z6Ik^!3>|yZGth={*Sx}vZo>DlHXmf;&P!uhRtAv9w~3>IuRJXYkn*HK9%qmdcn#tB zezISQ=-!TFpzVo|n?~xY?Qcd5lU4@f#ratzjsT`41O9%Nnr?C`~-|XcZ(@ z{7oY39>J7}&HDQ9-`k>tF_IW8r-QLAx6Yt~Mo8skrU-hE`R;Ogjvn4To_DBH_g1bO z2LD&0@|gm|RmJ3C8!?v^GSeddQ2|x9MZuM7(^gXChQ1jA@q|QX|D-lfX8&A7eMyF; z%pFIeg~fYNvJT$LpQ;M_)$vCE5fz)Jb&C6D6F>gh1-NwnNJ zkJ4S%BsbFE<4RJJX2l%bElF5ywjLg7uN&ExsUqPg3VUa2H~-{JsF#?JTkXiBq$at^ zu?-(XRWoIzKJf;(yjUB@ZzAtU4dd>!iba>t{5dsO< zr|-G1djCE{TXbj|1D3;cdqcJMu!+mZA__Hw!`LV> z=dVIq;j%_qJ1UK!>#umJN`O@-4g*=6|Kt%DIb+kyibOIJikmnAui7NsKYiqbMgQ^lJHC5B~oQq z)F|x57GBE#?1Lkkz5M{VLC3*!VYvX|9rHyl?Y=CJCJrx<3dt~jp zzPKSnr6}RVGC2-rwviMK<`iTs)4a`3i1pso2*Z_uyRb*w_ zQ<V2rt`>zGT6$!;MI z@lL=_ad&mMf9MN=uF3;&H5IitD|;AwiVht@ET^5v^O%@O+g(NAqwGeX<7`*VOI#?~pnv_dBtg z<5W`1gJnC}=Ws`ywbeJox@+1MK~+_-T#h|DQm<3YZ2;ptTu+LIzP1HOa~TF^;OGc4 zOH`6$=KgK`pWe{Dai=a!&-sNRiznm^hyGHXt z#6G2wqvwzpg4s>CQU;2G&l_iM}B~fZ9KkU8|zll1S ztnFZpaYR&w_&VG%fW=w=HB?F2j`FUqe9%I0@aFt% z-JbYY|DwLQ(c43T7EFaE|2KT&?ZwKj_@E1@RI55?>@yZ*Qeh2DfOkI6VZvt+$GOoo z&E&I4LQzNFqrmhDpzrauR`5j2a1V0Ye1k;iU#IKP|vp4BrnB&1Q&4(eFny7ye8V>pvr#_0;z$;PXHY zndonWhU2?90#)~@-~awEZi@8wqLh%DF&t_o^`*;Amfksoa@VdPFlQE<5CjX^=EL%& zG6Yx{0exzu-f;jCR@-)lAV9_unQ}T4iOd(^Kf1tMGC%o;br$~{p2Q{gfAAzCMDG8M zCkek`1-#{cbnRg|6SdKf=WSW#vVN?+BUJ*Z@#`H3;7;u!_oY$1W6e)gJ!~(G(grh+ zW*-dh8jqwT59v317!7Nm*Om*~jk6oTC-%mKAt|`VK1bLQ+k$?IY4vNva~Aj6TI2@t zeN56KYw}wP-vY9SJyQ`(Q(v&=lT!NzR`P{yI#(p2$^Lf*$Lx%R@yF;a0bbwM7rs$O zf8&AAlJnFUZ?N@`n#U{9iS+UU3l<`{^e!8`th%sRc#*vm; zn8g8PB*a~~Ytrsqf5^M)%m7VlaGy})x45~DX+OchZz@Gu-+c&_?xGFLZ zcxP}M%fY2ej8Vc51~=qNWC>f*9J|5fC->_ddDMdIHbGSeI0ew4%BNM!DKAWSCD)y!ph`PYrdjeGSFZ+vX~#=+ICFyls-Z9{>@T6TOP6e)BH=Td(r3&#a@kt z4=fse*7++E9C=P$SmoJeKWxwNQuS4YQqMr3gC0Sc5wFwA=8*Agda1e8nl+^F&J`D> zh{dI-5a*=OTKI~oFeQ-Vx=Lx&|uiL`Xtt#aPD z_Sg86F&9llFh|xVHC9lk?TOQ^LjyH2emo!;b@_5dP=tm|R zPJhgA(gD;3*!XQoAMdp%Hxcd$%$pWsrI=xm6VH<`qW{*VV>!{2N7GS}Vz@Z-fT-_% z7;&-<17;a9UGAOTi7qPma-G8`Ne*tT`<>x4TrM$!2~E5!xp#TKQ2ex4t4)I9`}o5o zXn*wahoi$Pa*L%QPw~M6C4H7|p-8_ZAn!f!3-mjVWNq#BJ0)MA$d5@5RN|CFYET6B~f*E%f!_Eog`xb(u zVaO^^!Jrv}E`WB8=$q<~#Nr!U(IQPNNMNm_uawsxaC69{nd~N2^SgA)l98&QgH@X4 z5=5FE1syTr*!zzbla+a1X{?9O9SJP%?qp;ConA$JXra5P@k#&Xbbj(Te%!7`GZirPiPq1uZ#E!2Xno zvJi=oa7RyM=X-rL;}`xS$3tLKkFIfD*A$zF~5n2 z=$-R2KY_Uzq^7f+Jw*+}NP6$>G$>Hn!k|65^hslgUghMa;*nu+K!>Rm#jz)|MW;KG z$tgT)a~wxbFSV}r7aNJ*U)^oH*Gu7kOds{@V*Mxn9y}+)US7e^4J&-aP7pXx`6qFo zo(4LcWaPvy^Oo?t9nSym&%%3IWpT+E?T7m9c=P5a-4>0(b~lZ)b+>Kc!0U_l<+?U|NQ9Yl8@@?s^XKqN%#agXYKdTq z{CT5CJau$9*vdu`A<8xd4LKT{ROpaE*wSOn09P$ebxn7y2kOc4s3sMX;D=y9O~I=Ia3vM?X}M?`-O3h?_<^B zkj0J#N;;ZE|6THXb@+a637C#gKMCeZOqv)@Yvr&x11JJHXkpXUJG#TQ9M{%oArGwT zGA{jc){vxrWdKv6Uv=MgjSQD(zaQ#|8V63ASqANa0`FoGYbNF58RizDfZ~N*X$p_# zTP|bcgG%GJ7gQBoKp3v+rQj*PN&53rm?@d|WpxTXEuj z`63S6op#l~v>yysyXSxS<$U!|-KcWw3<{dfw6IYJbiWRYF(XOB8L&i0MxPrgx(}|r zZCz!mn?(}WOXU7#{$PC;cSz`c!;&32$DeqL33th!WsMGAJ;wjL^EwTFxc479&j070 zKn~cXL#)G~-prUXF4iK;{~$xKa34vLef&~i$F;clBWb4{B&%cPc6WuAmOtCT4TG~!+|}$ z2BV}EaT%O=bX{ZDvl=Sec>MbXwr!8+cp}wIh2c7{=V;UWjBF&%zX$yjB8{=OiG*jp zfeN3n3Au`o81)$PCtau>LDe|4a6}8#j!2HnJvB7;IUd;YpIYaYR zTWl?%du^|S-zXxEE&av^l1h?&wj4|T1K@3e4M(|;^r;&k6A>zHZabvFKr89-@kwkc z=UpUr{%d+)I)A;W`}nB!RAXB?WuHPMHlJl5FKTyXdWvzv$VCLX7E582!CbGQ7^Z!A ze0Fypb;qz0N{M9rH6`7g(I)rmQ_^{F!L;i-)SwzunAmKPd!Z^FTZ`ef|7~q$Uoh@0 z$+kuBvVikSVeHNC_lfBQ=>3#YTY+H?Yov2x$G!)ZemuClvr%;%#IDBr{G+A9{?jS^ z)LhVGl5>nPkt(vq8z86LQ+&py0^2sQB(3s6w&C&GxsMe@Ya8l5{A(naxhaq zc$H+6A&~jx;~8Q_H$n?H95*z%<#0)t3%5=~yUu3ip3Aq2q+W^|-HQQ3GUBRLV_G!z zTI2$wcqNV>FvgDzB`tfv`x+*_8QCAW(Ycom?{1ph5!0+WU~x3p!yl_3R_TpV)n7F! zFT?SCkHVDVU|Jpj-=qc|V!a{f>k4*)`ebb8MbAY;-fCF}NSZoJXtaNHeoX9!+>^%- zn0$Ddm;V}5Rfg;HYnu$bxJXxeJb_OWaQkh(tGBnf7tt4mi?eq)QZ{dQH24b5G(tGT?!OeJMZth7q7>b0DpT29Jt1ZVQ| z^Nhl*i)P-)=!l%B7GnOB4O?P6)k)Y!3jxWa@z5tBBh*X%NW6n)!{jRFZ)ZltpJgmp z4V%22G5kZ!F8ya}`4$U9$=ApGYbEuwOr&9DualL^Q{zv|YLSAhgXVwd0%q?`mDMnC za&qxQ-zG8R>7UKJ9aUWQxY@(=jX>)%M9Js3E9oOx8oF6+tV)Enj@J!cw?|gf<<8Ix zr#<&`bq!KKB9vm%_!vCEW1jvYXY8G&H%hgX-DIT;F?+y)B8uPXoU(F2))`WrAs%>a z8xA|Ffa>NW{8C5-n@QH*-DX>WzR@eM`d#mn1;0_4IW|c<{mnnV7m`*wVRhi+Xq+%y zl{Ec|`PcJF=QuKYjLX?)eJCa!jrGq@p%x3d7`XWC1nhdEmdV0~7C*C6E-!BOwxuHz zoRw%Bo;w2)l5=)_m=>_M|7uTpf1dJ+%TddR;{v559g@>fpo*H+8G;T{XzE)+4XD?= zY$md`Cu>G@%tAlRqWWSrGg{d8rO~;iJX$~Ws!lQ(rR%|MqaC?Bbb$CaOq%&93Fn)v z;hf4mVamrjvEg^FHCb5#n`XLJ4#tgZ52@<6e}7`TU;715$4c~-7zT;i6e zOhg+9*4$3ugZ;9;OH+Sr@K_VA{dFHl)2=f#on3`#*VOu zf<3Z^*T2tWG`jv;Ui{G+y*nF)W4=EBR#aIh%?>dkPI?|sKa;xlP4{j%e?Z3%&2*00vnw!a($MFd`v;kgN1Q7PqF#LTcN@>(X}&Yd z>ZEF(uh>~lw1Y(i4vL+OF67IV9dxJyUDvwxI8x?A501MR*?_8p;p$UeR!Kw$p(%k4 zBf~bSqj)9796b{0ad9bnvVQBFmwaQ52ZfBPvtLx_)cM>z6St-Ta*WqYfAHVT1_#4A zrn2zMW?vHRh6RwpD98=)0dr+WwX!}MQpra7~C6!^(^-t63pSo~=ZsOHkRPl0Ws9NxuYyLW8! zD`t8`GNfz>ajE$D2w(s7U~(~~OYXjWYd5LVEEHsb<#t*UwNIK%7nM%zBir012FoBm zPMsV19fOB4Zj|#|WXXza>Brr^y^qy4h;i7!%v@wc3?9d0&UMW`2 zsSKG^U&;o1ziZqZ_jj;< zs;{c5_!LC*T9P2yR}ItNzsJJdU3^|z`5yyCb&Mg811!2u(0eJ?9Y0;2FVAbYqq=!7 z^rLo2PACv7*yYI+&)0(KZKDtNT>fpkpLc>jJpQz**AObPf`MZEZGW=9ZvAB{|7-s* zy$hkgWnBz0+xWjWPY$iV#Ksc*uyOe=!hlpI{Q1A1oviAH)@iWj-wUq#$*BKl@5l7x z|0iceQA~2l>3WnLR$J@o=7zcd`b;s{)6+9ElWO%I6Zkw4|BM-ta~I59PEF}>#$nVm zSc0mdUvx^=q{sn)af~a&zYV@41xqfXX6x((AVATZ+cMq6S5@GCcF#mRnw9!v= zclqtDT<%@o^5PmBT=|^2b@tRkN$=#lU|X>T#Qe+-%!ny=rKnjeTx-Q1o-7&n;W2HZS zm$KAg8`Ej0FgGf&dSK8v$HY3I2pG@9w*uPYlnfQO%%*j0Ko2whq&t`qAH+(k;aiPk zJ@ZLiQ+}u=&J6xY^e)EnW==}a7!wH-Ts(M)MSuUV$DXtJU1OOu^W;hs1pQ0d&Zp(( zqudZm-;+-Qy=umJZ^=jqjMf};lB6T=d(G6x_d51=X-L(br8pndviUJT#w?;Q67Nx1d-cf( zS2;RCz)QT(b5Ag_ufAjni{da~PA$SvXm~Q}JINz;2+02SXyf!jHyWH_Y1x+<-mv7B zmcKin7ZhhvXiriKq;BV$zwtKdIhGY4IC>5SThu=%=ONY6s54VGi10u(@VD~jy){U$ zHuyn(*Bb)@g5*U8v|gSkqS#IdoWt4+%i{TiEmTn zXxHmsCi6Z$aRT-z1isB%TfSgqN_9A*;=ULPnm(OhK)C*j?1zOnE{j_xm*c|d{?i3` zO|pSM-MGVDP=EVd`)%YZ(%+8z_Mp9Ao|vjHFMQMSLYaU!f!>XizKo)G`o?|zq#YSz5OyQubYARC_{NO2Rsqf%?IyGROi>v z!dgYH=UhdmvK5jJW;^h6g@azXUy+unDfeD-Up-y+P7LpOc*@#v`R~fBL5FI%%k0P2 zY;I$10Kne%7d^1HTj!!z{AzomGUx#*uv?4=Fy?a8AKh)2rN`a9r$pm#=dZC$if!@y zS+#cw>C;lt+l$?{ES``_77=7>bVgYapQrbEzP?@qBKBX`F=u#%Wg6lmc~0P5LIcgP zj=Zo}{VP&!_zy>-^o;KmvicA;LqkIo2?5Jyudm`;f70fRZ`MF%y0Fi~9`lKp?g&_f zFvswZ@@qxIe$5T_l9MFFsL>Qkgd+W7BRvLE+#kS`d1c=3891$mZoF1biTpVPmWUg% z-M1a{k}}lwG?G*)RTo5?)&*NR+U(g1Uv)Jry?yuhf*Q+M^sHAqAjsH%Gt}4{!x5}s z+q*D!ZeQnFc(gAUJ-I3|fI~IRCQ>wY^gFlQMN?Caw*QXEAfwJ365_Z;@K%7?#!6Ay z-sDnm5}KLjXG-zM>WS%-?6M%cJ6Z>&$b0xWBr6A%{+46S+ju`5}|NJ#DrLyw$)jZ_0`KO z#@~#@(Kr}}-v0IxME+`j~}Nkg)=2MP6Yb;dS2S zPs4F<=+v;EpK+`6dwULf<14t&pNIw|VKLsVdHw5j97!0let@braM0(MCBg?~)4W4= zG?Y0Pc(vTrUEe*1uE{-qZ>!(>Dt`TIMc_MCGU>!_V%g3<3qhXxOF zA^5Wth-9sYcyb3>9A61o_{8E8Eo*bU+iH$L41IU zgnPrqSyF#_g_^v4_f0;VIHGRqmzoT;SJ}}nRl--tsqNd}*!z6q94DoR!OaW3z|W)t z?qP{9Zt>FXxJF-W=sXKGcoXtM6?Ep^GJYX$%rXRuxvOS96Fhm8A&Ykv!_bvOuCsnu zdb#_E$+Eh-++Ww2nDgS@;gR<^=JhClE|;_AQO)GGi2%AvI84Y2t9bCPYjn|lY01L@ zPyV>b88oTRYz0aCYzOzQ$fJRIYw{<)EsoYZLkGsdMDdRErTm=hz3ZqTVTjtocn%Tl z4i)axGB-2JCc82yk_gEFgwmK={f8W~=OpPXNamEN z$aAmFUglmwq(9gjbEOwJXMNPkoMZLqN$AMuiD4Hilwq_^1)C8i5wXjfVq$7TBFD}% zY&_#Ds(W?%H-fi~$9=^;72mfK9tgWW&xDF`oOo?7nQic==i`v#fs^e{y`#{&rxVbm4{4^S`S35}qPm-2I03JL5&*%!} zUfHxr6hi?hTf>C>bXz!~> TDRfaPW-sST&Rup7x&@T*!hI=N!SHnZJxOsO(tkyL zoi-=h;9xf)y{pT^d%uOnr$VAIyX8Q9Bk`tb(IWbLQmn$Z2W!Ugzy|XGSlJM4QN$!z1xkpT#7|;RGDAmO`VR}Z`E+=BIgB~O4oZ(X%}*-MkYU4k_S-({>@%7n zHJaFWpU{k7^Dk^A@lEn3Wb6gYPF54oqFBu9jE)5Pf7M?16oG1F2y0 zV3$pc)>ux!{XtNeo#o3Td{$f$EKoz=`{@dMu3sTGCK{>9x$DAiEQhwI(X~qGfELiy zXStX*=ADjBTAa3lo?^KeZ3m}p&$$vX2ugPqAaMz-eN+4sLVZzUci~(zT*mK^@@Vib zKG^2*eAfoF?qF?e$R)7L*iv$$8@Vm(UX^qM>*^U#{7YmKf5*Na1k#yL#3h}S)b&m9d{cFkQ*Lk^x43Y>?oI0U z^Jakzp(K~M81!<&4PBt+;{b28d&v1xnY4Y1E0|GX zi6padN~we)ZT?$V+=;Y5S%eu0F)!jLaB>vO64_Ek%71uxhhI^VxG<_uVwQ7=<$!<> zLq8Dni5x&huvK(Y_?HH#J^T*{BvQHx3T}+*R@qrTCVVGjtx7DLE+OH|JuNn*ZNSY|*HD{MnLw?alZ=!d~T^-HCM*^-V zIq+3jjvq-6-0oQPVDYmrpY|;d147?|eWG7t#N|3`8J*3CQ!sWB>6l-z!(Al(iCr@H z1Gk-9kLM-7uR@YOP3g9V2@(@YQ%cBwEwYH8qCLmWyqwt8>*8RyK~5AnTAl36e|car z!OFs@;|e%&p`>2=?9Or@KGIgfSNChZ1R|#|4^ET4(oS0l(#|&zt+q58_5y`@E=Wt; ztab`7h0QH2R+&#jLh<`kb~jI(_>tFRgR{M}qxB}72V`>x4qlWimq4BQ$}|g`#Zs%B z;@Hl;qoI3W-zp|CFQmX%BZUPv)=U+bNE{j}Xnz_xmiN{Th*O_WvLJ^o5k9>m>texD z?iF_@cB+ppaPto>T0O(LodTUTk6j#|oL=Z6G@$Xdrcl{D-d_@hNo)tOXaj#;s@UG} zHUGSa4m!VHGvY1tiZ4{HT=MCs+qC@{wAEpYKiYZaf?TZ|m5t097~fMMZr^olJ1uOa zpRU+NM7oU)5}(NHb~qz^qk#QVV-=$^UI-8 zR-;i>>?zZ;ug+{N&rHhk!4H0$p#;!^+cT579O3D?kBjE?4KV}>>8L1M<73=XNlDc# zE1QJWh$fMD5Urqe?C051ZL8G;?dL+91&JwL=XA8p+tpLc%R8ce+rzp3)lylf?`Cpz z-Pi98-X6NZY?}CXHa3bc4o)xKmfEuv&+mAv(vJ6_4RgnGdj{ZuQI|Wl7-B2)o_5+F ztCe&ENm|INSpHZCwtn<^yODQVjis#k0@oioTwuS}Vh5e!#fNy{#P%ZW%?4Te{6X6< z5gGN`gV+b%Uhn}ePXJqDX6o%`0iRrDcpg@tLl^~F52P{T4|4#VCIES#1GEy zu{P``d-&5O-D%9QXwCYT2f2Dj3m`v`fY1Y-sN@k4i#|MXH)cS)ZegT%JdmK8gpRzv*%?6hAW6B! ziUyM&_^T;$t5am?Vdjts7gfCt8FTZ{kif;)85hc9& z0C3w2Ap`o@E`arI4!4$sf`QXK_6V3wo$E0CT}bGAj8&cSg)7zRAG+Ht8t-J1HOx2@ z#U-^$vh>xx)n1x4o*fzx``HhkZiZVI-Km=LUX$vlc-hI(Q0T>-1~Dis<`$ZVK-If% z>*v{ZKR(ZahDKb!)G8*0&c0SNupVUJhc7#axJ@m#U#3{V-mr4!I0`t7-ui5wLUDM? zE1n~UoaAA;3@1JB+?bq_-4FT>QVLqs!iwfq?zUGOH59Aj@tEosuOIg%ps0Jl2cV;a zPZ>3hwwoKsy#ser2_@L0oChAHOQ%3{;35~H3>@KgBv{iKs8;bfYqX*_&&$FL_MT2y zXX-x6AVEB-JFEUXhy) ze?rb{=-pe)$gaeng~e8;u0yl=K)wf&h3L80clUM0!SLNtifk2`j$w^7_AVpSxR^%d z>4O6uwlb4v)zTc!mS+V=E1>BoDOUYm0>>+5!NqC9SSU^BkSiBS&1aqH`fHW!VZQgb@!nNcg2!H;b&#D-@JzC*9S za3$sBmqW|4BZD8!)@-1Zz3QQ0C@iO`s>=P!ApaYmyp?us!(qrb5NRtnH#fOKhu}GP z61}RJl>b0mAGFzYKKTaSz%*q$L!3H;`Lzv?^MGS=(^iY(iMDPzOn}U5gKBj6CINI~ zbs{Hs03C5M`lxc?vKbU)N@F5a)3yNqohG=X-~_0R0rb4=je6;B;(g*I^{fGfq@SJV zeeClK3yAdt8*0I=+3$83^AR}H$l2JfPYm| za$Srt^Co%yygL6nSQ%PUxq_YEdycyzntnN1xa_R;_6Gn!Vx82QiFgPhJ1OFYW8o{z zP8zJ-*nxe5{athY9&sXaP-^usvJf8?OKXjITm%8TKbyLSNqK$KdgO|d0}Bi z?>lBj^v_R>V2^}}h={IT-9joVsVDtq-4<@I9B_h=b2#DOmsj<}8l*dUqi=rPJ%L4S z+J6nyWCl+i_cug^WHf*Af_l(9579HFc%D}TmwlgFF2!YNl)p*ao9w|v4)fcIufiM* zSlH>%Hs8-IBdK0r-OBc|gcdp0TqG@er6fALI=gOpze{(mV|XSH!XL7MuPZ(T5+CGK zUN=#l%lB`xFx{Y|fR|P*WtJ`gv>V{A$D$0qM}#W3Of^zP0F)~WXJcCal;_KP7v5NJ zX~gS#oD&VzRrIqAsfhl}#el5nsfX%DhlPcucro+2gSa<8kX0d(SF^G@m$f?XF4~Y= z6Mlp`n0gi-&iU24adoBr>hOC5ukBXhI0F+?pT#aN7-G0bu*_20)AYoXSvzI+``Q@= z*slT+9eWc)x{-X_Tpp6H+XL&gkLGE-+{j;jy@v{fwCHz4y#->pazto>a5fiuiVUUw z{e6?@o>q-%D@J~&$VP=p#A<|`3eNXmgetHugX;N7qCqQHQn?d|RF-@o70?}&h3rxn-T z*4|y`$X26Ec1Xr-Y|uO5xJ)Y;I_LmB{?0aQt8#ABufxABclF$LPxh|*DV}=Nl!wT^ zy;11qaD3&*#?H=O<6#4znBX!tk|9`{qe?MA2z5b11#I*iB4lr8M0hzzN_j#6R@H6oEIZ-hA*G3@} zR`M4;O@f9|Sb$5&|2Z(Qn^rs*xM996)UjGv5a21wH<*5qE?R?(;CTIdaNH6fVq62K3#E5-FT$V&d=)+n}a9TpQnhr0tpfS!mcxV?X7QA0Xu zkarD71%VlZhb9W~Y{O#u-IIBSZZO`?eEE67wivN(_SQTjUy~^|(JywF*s2Q~mrz!( zPwA^$y>nuAYlYFfLf!1~1hlxyU#)(LN{6x?HUL2)NV46kk;BG*e1WY^js%P+T1klY zck$7@KWQ}Q@8%do(B`xO?}3<@`1f{WkY1X6U?fyTLAiOWNLbw&@`^La#6yYuev(mn z&>qX`^C)x@*OkGtoD(c2p#Ra|dI3CP6I{K)=JGlHZmf<21*KvF`h@89U^(X3BXFC(L-p*)~)B2xgC}bOaAK>wRG~ESURVoibv;8-b?292!7LKMs+=a@#^5+?3$n}H}DxF z+D-^`(H*M3(Wu8AEF{JyD3b*`aX0p4)BaeZDuzX=;t-X2pH%zMGwJ=<8E3Lol71jz zy6K-@cS8*dji0UB8}=)DcIr%i0rdaCtSWn!h+~=smdzcs)2z zo=8v@WQ|?Ji(2%HsLy86YC2{lcfabJ)lVBr_Q?Xwi<)dZVC8?0OKcyI?I9s&PnXZ) za5h!dH#H^u@&s2&d3H)rl4GXJYh2wuBEIvr2^_cRh=YX~^+gh+O=_wTMlq|hPva*q zyp}fx(Zym|PV~ZTuHcNlg6v`&E%Z-aECXeS6||~0T>M`8$vVUYkFE+&A34~{IaUkR zDw%XxNmGs{Yw+A1k1u#u4$^Q6dnn=Fh+etMUku1EM&;hj8S*;}=SltiOd@P^KI3-h z60G{#&7lq1ps|2a%?C`J1(fcJ@3fCU%imQv@2eRk&>O%wcm4Ky`pu1p)$=thRq6mX>yY(?`!#U#9k``|*l|J%edQ zVWE$SmGw*xI$C&+l~sXd-IB#{baUL(hneRd!7=EjMZf4O8)%P%zm`7sovs@XeyBzQ z^>F^ANZ4u~m1NV`(XS?YN1Hw!Yi+b`-Z+5njAK$fD*(%^Yp>*w(6b1GR$o8Ct~{}; z(t9qVZ{fhcWBC<-itPJe8B1{g_r`-j88ccR?HTL|g%-!60EIMUc24mXLw2uTRP4k# z^B|1$7QDxyv?)rw9J--vw1v6;vJ@`dToL%g#r!IUi$f8H%;X| zua*Hu-%9M#ipBa$YyX*%u!DKpe4*YOW~3v`#U_Wir=vCh7C1R}bBUd^=$?@>+k9HE za@DDYEnCaiY5L41oWQbkY9~Z+kJ-(|$ z^wPo3YWJm{i;zB9pqKGNEco6L{QM8rPfllT zZJvl-H!@0=8l<=S6%X&5feKM>6Xn~|^=n-ffuT8mtq{ucG>(** ztNpkq+KY(2s?$?F19vY7zf;`TRlB5sStYjANPD?yS+;RkTjcz7au#QeYjmSf6MN6t zsXLoC?NCgX7=q1U<+~5PN?#jex^fT$xJ(}>W4yfl#il=^!dYpOH9h~i zZs~;F&oq9?BYX!(0TTf@N$lJeb^~n{8hOL8TaG@OV>@!($ z7x#pyX?UHzmr>Tcd(^7BoSCC8uWEJ2ng;GPVmG);*GI6nFYM9Je$o(4i(?K6_*<|4 z_rkY!-Vy$nVhQB_KG@FhD>vsa=Qg6n(cOAgGvqY0*TEk8ifK81c1k01g6;mOL;C0I zGBFPcIGN>xKp_7Y7)|pizybH05V>o7-Wq3nha)CSN<6OlNr7Y!r)Ph8_A?{|>)z*P zg79of!sUnmKKt>=O5t-ah^v){?9Y8rsx<(Z61)Jk9HthdJNZW#td@ZJRn!)+VmFNO z_lGFe!|%87m*_*}ul5TW?*WYhtF!mejWi3@oEqw*oAx{BrpCV5)PEr0lUS1cedi_3 zv>c2k)sPh;9F%I+8RVb>!eeQWLk*2J!(kTYiLLTjEd@Q!91dR3!I4ZswcR`%eo}8FqA)?0n}R zx!_+^rQYAIKtFi8>m7v3_>{i-^Zlo}O+l}fU(miox7wE&%ru)x?9Yrxa&*3yb{|5I z7`z=ZFYD#S?kzrEaZAZUZ-F#%BQ*<~G|0mB#l(0H$ zY?AwIo4B7Ew0GySfDG3x)I%lYH(uLPa=Cbl7PgBsIyCeaWhr}^U%>gGCifw!KI4cE zt@(*;6pe`w(*0|(zRq$QIyYbJHZH5Nh@7Ov^)!p4Ci^y*JQXQ!qf1|}WBVNLU&c9O z1QZ#Aa^CnPeIDYd)}+3k%BHalXb6gmGG}S%Z0^*oV}stkO8V*cozhHc5f)C@ z!Lk+2tyt*FwhntzkM2CC;pd-8DHGzBH_xJ5hCBQoOM`6`&xeXiCZNaG&S3h0m=9<& zJBNAOhX1pnc7^{;$IaBhV8I0FzGjw-vrf0bhS{zVPxv~8JUUm7Do1s(Ud5p#PVY1} z0^L2_BxT(|$z<}tvjU#3$iuH$ib+=Di8%8-I)II171M+(o4N=jL(}7qvS{-YIxM$@ zg@$d-{dq4InxqXo1`tFi`v=Z^l`JTM{ z7g>#QtX{vWPU}w6GIHx&dc%>F^{egGN@fc?V&hMqb4VKY-2Dj_IYadz_SHf+xHW&7 z`%RHR*!UKDd3Ak*FuyTeE+R2_&yc?>hb>|I!ADdEWyxLIP+6E%^uxwuCSN|chrO`@pVFp zQEbwXDCF{S+eNGd{r&qyPWUWRPtIdIJ2*NnFR5{FB7>+Ai*{B9%g2(^$N*lAhLOkn z2kNR+d;AWmrq^G{Z;2)vpP$5lyv0+?A^Ql?T}$2d8?40-wn=^bGt-3Z&-o}%d3C>^3mu5XUqH3uWzt+!!` zOcT6SR~G{bh^95N;UomMp&CB!4!QE`eW@o~=1=o7?YhZ8_iY`1#hDpUkUiB%^(G$x zOQwJGqo1%e*81mdIY$xk$alIts+I$~(`Zk|D zBuP1#-6dG>M>+j0d|JJ2q4fJQ6qE4$k(HCddvQPVpRvW6ADx^V8Mh^nnH(yXA+hd_ zm6EdhJ`{9o209_~XqhZ^AMEEQ_NS_#Q&AETVUk^yFf_zG_vA~?cM1(pQ#NAX4`*_6 zs}B+Mnw97L)=yhx0EB=SnJ_XrGIo|yIQ!j3HjzWm@|#uY=RCD~7bN$iN9{PB;d+>F z=DXi}?W{6E223d<0>wz{Xvjvwb7j#7bZcy{R-JMN=Pqa8y*oEUrhlo41k1lS*Z;Me z23t95cwJ9sVgs}9Zeg>V#4U`A?yR&Pq~2%=T606s$>swQ_m`YogkvVw(y}L_z+Y?7 zW31y+@+z?z8^2w6b&DHDdCcCr>WS)^)sX33!gT*cnNo%-bC~=)?Nnzdo)xjxhY~Yi z_3NX*0eIoFaHn8fVtu3L#ZCNbPxCSo%; z^$gLRVUIb0{;SlHw64k1GG(K=(`+-9c>eP$8la#*DuD80e%D6*G} z5qa6OuHKlcq9Yf7n#zL(;(n)uS17n}qQ=pwrQ=ni42S+!j-N@qk*klYVwxYQL|O+g z-mY`!BkT261P$aQN4fnQ!*_9NKOsh!_3EWu(k&D`e|af3cpR-ZrtpC#!mVj*KP>a# ze3|VOv|Su;ofV!!jyJmW;P=a*TTE(FJB-7UdMDN;7KB~4_w*`$Y5GFb1>C!4?DD&&GkpjVqP4r0t^DCZx!~}%!2{A)Z}D|hw?VDz{e#21QlDQN zaU40Mk3*{@FG8E3Jr$TMB^~%@AkRey~aoS2jG4zn%PKpXx2|P_DkGA*W&xf3SjU zA(~+05t5nhE#v-69W;E{Kb%iQ$b}a{{rGu5=%d0YE-qf=mawBSi&NMj@ptgfiifiC zyU-{?F;a|B%FLUOVxhl!BrSS+(+<7flk_$e8BkkEsECwIMqxlla+&({#Hehn-A@YQ z%)+l_i5&66BBuIMKXMWER77s*ljc)SK!@b6uL?HgXgS2NpgJ!%KAKnT$x11pCzsQ9 z91=*!uZ2@Z|F*0I0poGb9)1Tm28x9msgB3qVrnE5d_N@SHWz=qZS6R}EvUQM%bpB5 z`0}NHp2~Fm`YWkdv8xB7fb2_s=T?4i8 z>S2HI02NIt>0+$z6*9AJNi7n`;TmY%NlMERP_?6)fNguj!Q# zrfWNU#mZ3IJ8hihniQX0nL61Qy=+OYRJS@)^&}))#|p7;T;7>?VV&6_OmMmzugq1M z+RF)1SH)M;e2TBb$$TKVeeKgM)K3IRXqAt>AIo^UM*alz_Ev4?pcud$`;5Y2m|J_c)Y<7~=K zxe*WPh=xqHF*MnTCHx))7H#7#?)7{>(H44e@!m`>qhhdJ^7n6j0~g~KGwt;%2cg8! z>}usJxx(YI{46$TXuSb=tdC>=`0o5!_#?FJKUII`{Xnc7_dZvCESDTXbG$yTnjn3i z2s-2@yjc5MBv5nQPeB&W@=1(v_OZcq(IrL9$$4}1xc22zcn&yqu#mRozKEz&~1v$p}%$^!# zoRr-4VCu;|X_r3N>=diFWodg|IZrqqqW}2KA3%X6{NJwA+fizq2p?LHM@g?Jv1c+F zm0$TkHQveIh9n_3;Cg93T?XGr4fg%F`==2npG^EiYH)h- ziukQfw+#^)cnD7kW7dCu*#(450>v7a+uH8)hn?Noy8At%{Kb9@p(H%ayL~amRaTgg zgW+MUi%>lBl;FCA_KdM-WmstRUev^J*{^DQubiV1}3tC1{} zR9P;yqTle&nsF3|&Xiv&XYsyaq@&hU$mA2V?I?$&NCn6Solg~Zq>heS(ymV7g6!L& zlGvY99`r`5vmlmLPs*~#43*VpQK6E5cuf&_RA+;F8-@`SnFxI!zh5 zPhc=32YDjoO}PBi;g>Pnou_Fby-UVos=h%5+7b9m;m(bJrh_v1=(n>@5FG6o$>H91 zR&cu8sME+`h&UT#jqSlkQ+n82yuWxgk`>~gtw=yPD_If3jBMi9au7QtsB#<+7(=Zh z$J2O!bH^?Ulj|txUZ~FxnYAe5sdF2B^6qJO(>8;ef()ivp+qqwPj>j3Y5a&>b*tgB z#%Zkazhvbt#_oO(G=4N|40Y6+VQ@i zhvT8FuBUd4=T+a**_1d^%|8;;iQh9fbugHb(Q~gJotiR>=5dv0 zcjo8nK=zzSTd)?IyF!4=TkY@3P5oc*y8gHhjsZR|%5QwN-ua74`ROI_Y10|tMA;+J zp?i?C{I9oRd%SL$Zn9fR4tVntjCd*tgf=Ylm)__G+}*HTcw4P>$g5R!7GnGMWJvE} z>XY-+P=tu?+og?WFT;OWNN+64%qLD4k$8-EuV!54_8KyB=!@x`I3j3UGQ0zR#?Do7 zk*}ux)DR;dV#Bv~3V#?bO6!1=hRVsm#{7qFiGkRRR8EXmM=M$bnr9e_7;87%*+R#$ zSr1VxLH8q#ABRt+@k%clAAKmUwYjv>_5YJ&WlPb#LRIbL_~{sXbm|=N;mfT>+B`8I zV&0Y?w3)Rks+RjT4Jt-)xK<;rF#SX1q9p!Q;oG7Gn4~TJ7BfdjxlWBvgk9g|A}F@E&^xdUK)9ROLwO<$?S4AiwB6aBra zi2?v_ivHFJK|y(o*)$%zgg0`bPsuQ9$ic2g`480@+Na!#zxT<+DznfSZ1ES;M{!4u zVY&B$D_C!ewEX-p7kwrHj?}HuXr6mc4p6XzK!3IpxbGzpDqQ6gvD#5yI%!_{k;v>n zkmoA^F1=uh_qh}KFZXLp+LHF`E=zM^Mnw^uj*zmgpbNBw&Qf;n@Gn8r#y*d5F?hcjsA``EmM>_CrCL2kHxcexlQ$EVCm2_YNpEK#VKO zVBMWz6uy_p-_KHOm-uPk2G`vg{UHtj^nw6!P^N?uZr4)(UiK|FaP~U%3Yco>e~I*O z)q%GfdTjF&sB!Uo{JrF{Oi=GX`TKVA`wJ9PbgE-xM)}Nqg6PaS)dF??4Ltpz<0sR1?E9SwOzXSvW9x|>o`)g z_Ex+>2`lScE(__M?R?{ckfzz2$xh3O-5rjdS4OIC5+X{{2jkvzQj&`)YEB+lOc2wK{r3cFY*B*yw)tD1dUbkggGC87-P{M0*=uqOa+2fX z_4C8hb_YBw?pp6=FWdW);@2jV+4?w5CJN`{HzQZ#c4ebQ6zeMYBHAu=I)a}htEDbfdGA}4EC zq#o&q0XzJ%lQKans3O2d$C*n^(M|5h1ZL|q%7B?7b=5W{ANTgHFBWRlUeJF2?2#LSeqN?@Wv_0^ch>Pz2Jga$w3(!FtAfknpjM66P_fP%*OCv3PNQvMZS$I~ z3kWKixBWpIRIfPg@?zE#aka6JQ8LeEgFlCjAh;#HFlaO2n@XV)i2WpY3A&xTOe&ZF51rO2s`KE#lH7WwF#F0H0kR%I8?W65jC0?RWZ4)dEg zT(yMo=9&GR;ylUDny8U-1>K|boOky-msm zTzrDw@&-}Kejs&R^=|=KO6ld2P_NEx?K9Nah~J9D5a5SDXOIW+1>rzYRX_? zy-k;sjl<10ES{-Kew&AOsO|f2JnZ!#c@)vM)+Vn5KT}ly67Iyhm>O(vf86q%FX{?h z$tJN``pk?U--xs`f|Dl_)eAB3#MQfysevK&xew%)9nNU7mIm zR*fNL%Yl`n-4Z{mC`K?G=YuVfx@Th7pdMn17~tqc=qOd%fra=xVW?P8=N5-)-P#x~ zowVMQ9a%b)0?s$ILhSZKeQmX^`FVkWRR0?n;0d+UMPxNUP0ueH8j|)Z%wke@%O$1D z8y()$9#OcN)6UoB$401l`gTm`pfmN{7aQ}W2-#u)xK@*V9W1qaHZX}LH^`hlQP^xd$cOW zeP!63TsGA>fMa6b^n?{GN>%_R11AMAk(R7K@&>nQpc}|CJpAcRQDi%}K4?^Y_>1@* zuQI{#%S2VOHl+umSJ%OQG|3(1Mtm3j18^x;=qCT$K!3YzB@eeicJuT^UjKbXy*qSn zs9xc>RnH|8g}o{t)L`@1oBFR+nc5=q-owe@u!kwct+vxImQV4S4ebw>9@~e}NjdwR z^ZTq##MVKL79T9uU4;kFMrYp~T>aQquwnJ6-e=Dk7O(lvk$HH;BaJ{L@s|dF=)ilP zUZJi?%J(x0lVC_$B$PqhZGeVBospjeakfIkP9YufEwB8=^9~Jwj03Dg6Cv_l!p$3&|#M4;<(^F$}_+OVTxW)7B zU&niwDTsft5j_s}P9U{Erv@iIqR7R;QtROvTP zfu+HduTIdg(8dcLJ{l-P-I2GX!BOpb(L6(i01pheoo)sPT*;6!*JAZ0>YB8@2Y+tu zPei3Rs&*%A!EfR*J}8J?-myld;LG%VMcR?2)}_QkarGYdg|>m-|8_5tQ)oc(+q_w6 zTosQ(un%?utc;lbvnY)v$W;aY|RrLO03w+T@rvY_Gt zg@1oyT&Agm0N^R;)S9bSl6jt}AT@d9>SnsY?v|$~=P+ppe53Zt#_D!(bp2(3WzPvL zEQr9(RZ~;+i_mGwCJnXAs>xrKVT+!D(Rc2GYjv-mzYKG8oZu*S1|QF)b4Ds;5CImUJkwpz zwXgU&n$=-e?3e^>{GRkrtmLBaA5^}{zRT&XT*!E*YrAKtaTQSD)i|XlG(=olR`$>I z0SjNG32dZyq*N3Zw+vO+c#Uzu0|9;vorsV(uh&+0T4hC2X7YYIXS$BvCl!9;{)or8Nlx zUNkwz5lE7SC)=6@FKOFCqP<@cjv(0RF1M#L{izE{*o3R|ca2PEPA;Jcem0?l$$eQv zDSTfL3O7)Q5LjzsKOhov&Z(cOgh_5RH_!ZfeX z3CZyC4}kR8G9>f7G}Bci9EQEFHv>a@UM#~NhI$hK7lStk>mLkkvktfR>sfKHQ zbH<{^oDhR(9H;~(rW0P_c~nVg`}o-VD2Kj*^C+^H$fk-M46OdetQ-s=+XN$J&z2p3 zP8ByGo8%}&q2 z8`mv&BO7z!ix8G#ljKDC(U?o2t6#OX@PD?g>)4}cP;C^AOTL%wn8wjK9@x#Fon>ia zhNt2Bl#|$l7kyb)9~Ek3+7jNat`%?_`9h>V&_K?lK5)qld>%yH`i^BF-huPY$~BIk zEJHO%o6tin9Y_FAF&dQsJ_Qec3Kf>fNV5rEy2EiGws75>!4-PXfYcG6d~U4J?L^*H zT8lJs1MChX1URpqbfqu+;prv_bZoMj*qHju-;Q5hHidWtWXB}V+rs<7y}IC8=R*P~J7J|jza$0_P9 z$PgEMp^dsLo)}FXHg9e4bZ}kD16AEhq&kh5lXyS|=N<4uR6_WT3;v680jc!<`8sx) zyyD7Og#967K%q^2omB0xU@Vx-`(Lbv4cz5#QDZZz(hw5|T4PlnO_wgJ_@ZFu3+1cA+ z{~XLl!TN4}vcK zG3_vx1;*@(VgLe1fV~I9u+F3GHdw%2Yje%dDD&*~!JCTU95Jx_N?gI&M*b5ibpsk! zzEcHKQquptqB1_*o+$1KuOa~nT9J2=8~sdYQCMI)*s7qBxW?yH_TW?npYjQn4y7@X z|C9>d@n$NZ2E$NQjt`_ORAZfypWo zlJnrVdwL&m3SnSPK0U5b$Q%cFSXEtoPQ|Z!oEEESB2dp6k5n~*fi98& zf+fw;D8f!*P0D;qO#7?|@hrIy=gyhu< z%>CI&cQOc$T`=L^Q+;N*thR-E+xP;oa&#HQ1umdu@V@JOe7jSVhtCXsfR#*$ssu#I z2qGDjyrGB|96(UzaC{C*7UJ(H%n7*zXH%a-+#vj?+(7-FKLc(lB}D@si?tt?=!Enf zF*u5LUbwj%ITm)su zrqIfn^a&Sx8>~p^g^2P`2DKeCAD?cT8~$dhBZHcOMGgGcday|rh8-n!n??pD$>?!v zD6saxr5N0-fFO_BtOg_uGq6eOy4ZCO4h)i&bg2GKu@O}#WWU$;iC2&uCsoHQ@~u-* zK41sAFlDfXYZqHMhf6g30XgKlE1_y-Ipq`o<*A+`;WF&X=`BW8X$RNyV?aVFXZkM2 zQ(;D<8DNWK1#TvT7SO^kQ;<5y0!Os=qx{_Jy>6xH<*U}?&%fs}2d7g!r2%B{3mE|@ zbJ3El$!ks_;C){x3Tj;8D!vvGRLTdYx|yC>!L^bM5_e_RJI3JtmYNf?3ztyWB_H@8 zB>=sRYrok^DUT*b$o{RVhH`W|e4Gq=#~B;2nqQSl6Z~t&8<6ch3={zXgGj?Oq!p38 zJm2OCs7Z$wYcJwzekIak-`zI?R%MP}Ufc;!{Jja;9vy|W2jg)GGz+mK6kiDHy566I z-DIx=YwqT{3lKml>B@qNU%?>}9)=)?%@3SXH0%)xNc z95$gz5C)ixY``JH8Te;qP~jsT#nm1dP(L=|ACf8lZ2@;BQ zUxmaDj>@;lc`xH#myfA*cv*|iY|*vS&;zRG_vTk;ejQ{Kzq3e;2>*o)eltk!!Tq}7 zuUPIb93kJ|r=v)2JT0U6y%j;wSX6Fk^KEB!QhwIp0BolpVAWex_1)fohGSEI@oJhJ zQz4ay-s5c`^wA_#&TYT)kwlJt`64s(m2R^7o_0`^{kb|RrzuRX)kIwW<~PZ-*x$eK4%JhpfocoIu$kk4A7X ztL5K}Q%5OZZolCy#KAK@%C`?lg)pS>u&xvpRZ`R&z{HIg6mx=pV21W#5Jjy>^o*x4 z!|7_{mhE3R&;+vrbx7!9fb>15kUo>9f*~pWfoUBrtL#j+lQjeg&1{>&`Sb-|^u^Aj zvUaSxt1wrVjLRzACyR80-Rz_3*EmYN=#9pmchT-1Pi7JtO^Lsq7CIK?pYV7u3Az}n zMs-po6-S{;I;Y@by~M_tC%%*`j9j{od z{Mqmr{z2(m%EZ9wAJcqOmFzNu5$bQsOF^B&e!>+2+vnwqQ2JTL!YHKL=CzqcPAYZN zpIw}8HC8r|o| zHs{g9)7MZ)QE7tn2X~IB?+dG|8zG0<=c?V%MfzHBb0Gr=T>v1z{|`}r6!_Tg zLl2LIR^m9fhicfHQGgZF07EA2DjDQGI8Y)aHKpQ*Iv`<}k_rjMTvcXR%Z)WF%L!rU zbU+B|Rabp0J_am0IV*z)+jeR*qW_qs=0m3#At{SlhHo}_hf%8c{8dX2s`Q>1+Ta~; zCT~Q%x?!(w9XV-rA#Vho`XLxT>VnS*j{_HfzZm92@Y6rzE&i@6Ee^e^>5mZN9lBL+#+~8zv@i7i zMUNypPZKOTLH&UtYOJmzRm8<^B+t8T2)%M-NNu&B0cW6RZUf0}MJfQpFbbyV3x@_)2 z>tz>Zfy94O1!&xSdHy`jhv(D-&zq9~xgaH3{acs(l11VV$F%@#2NqVSPc_ZI zX}yrKnl*E}n`{(z;+xRY8e3aX>8L;k=V)km!nJqhuUy2yHZ5Qiz?=XC^339&FSn$I zaoer)!+UEs70+- zk4#OL;zuI~4QR0bbMEZOyVWFJk9?+F37_WuS z)Ro>OsC~2nBon-yEx{Jyk%E7`Tv--Z=p-QzfBLE+2O~`rujOo_$f{LZ#`6W@t-Pb1w3bg^C)2X$pr(<#DNO4f5v<|Aen`c zaW-R{Qn!$v0D1~aaW2>OZ`|r!;f8(8o;G%>B1{x{INPR*guyXrArXY9QM&N@vnewi zc`QsPZs!ny3Xb8v`H^$^5`2rlwOaSe2v$5p$Z|{Jh8J7mhlJ{w#_G`NXMkJV6}$~t zLoc`S$NbM;W_JhS{W~TalIJ7o2|**NE`l?RL?nZN$}JG#UmdgRX{HsO+<83}mA5T? zSeMD56*k{Z`wv=E;cAnIiJlwiW$mIqPIv=TpRwy6#v)ikmUfi-fBYC*R41{fyk5sE zLI#(Ox6%4Ia*>7G6Z@iE|2p>-_*zJg6KnQ?OJ4V>gN{8CVF9 z^yN5ab(YnF1^|*7bQBjfq6NeOP~U!OLG88=ruZ%YSWn!){QYWc_1M#js+^G3vei-o zKM4BuD^f*4qtf(I>2OmJ#|r3gb0d_YLcm23cx@LO9y_M=Wcdmq7ho`s1~|gK=!u+I zVK%D+xnF|cCeCYJx#MhdU9zF+GLdhI%T}``eR*N0)@G}S_dj*LcUTkK7dFbVVnL)R z9gcMA9R&eFIzlK?1tQXm)F3qk1?jyQsgWkqdvAjD-a|)vC$t0zgxv9nzvtfjeBb_S zl4m9}*|S%B*IMs(%zPB#@^lqNt0e?$(RSH;8UZC-tJx+FDiaBO9om}3eHY%Me%_n1 z#wg1d;ew8GsXVVCta=-iBn5v@(o#fDHp<|HB4{e?PTg>)907nR4h|Ds1b|`=^e>&u zaUuYp{ni$EMoL_Pn7XCF&N*2{UdfUT^zUp@AQ_cG3Jl2Nu_>2l+HR;s(DmoET;cjp zsC*H5YM%u7CDY1U1iM_1bq|OULP`5fWF9N`R+^F`8A`$StbAl zDdPi_4B@6QJ5Sm=X+ zdZbaxXpCdte*Dw%YTXfxB)kg|O7aR@T{uSyyf=FZa|^ae)C!qmZG61-@Ua!67Q$_B z-nPoydwD&Ors)aN(FmkXuUF%Z)`zOpjp-6Yoed`~SWS8GyA|e~NID+%s^X^H@0s0B zq%O^cNS~?-f~Um){mtj_DD_OO)G+!g6%S2IVSeO@R)BL;zXlu=x1iIp2MB!5{WTk= zVH*SmNJ71uwz(qvx3&P4)kd6>HP2Xx%j6bmy-&^b1svCgYuE2=Q#601G*Yw&SO5Ql4}`Z#+#`$9t-w+-zV#*$Z5h`R`*Z)B^5bQv9*=Nz6Ccc~Z~Jt;p`*LR#Zl6)_GQG+M1p1Xe(iEXX=!8t*xN>clcGf9aw!F_bC0e?kLU#(8~b0`~O$jg(oPzgg0)5rg-|%(+R5x!DLjO#!_`-h&~M+`%?LrAG5nmafXyQMXLi=265L zY$jh|p5JXKitli>uZg$N+qBDc<58<&Y?-K(XY(R|%{1s6Z!+S+Tb|h}j+F~@hiCCz zY~5EK3V6%Sc~=j}#6ex{YN=YfaSMVIsS%f9jPlb!xi<84%O*6u+<{nTD_ zEUJrIls%cqi*+&3ShT z`@YQrnnv3F_HDB=%?D9Wg$3KArZ*L97a1a#iRpXhVz09i-+j0%Kmo1W#Jw>0{I49s z*h$Pcg|#3rC!ci-ZirzUE)E9ur+hg0lkN3YTmPsYfcD;o0(h!rg_LV%cGy=>IX$+; ze4z!v8h4P7RzAt&CbX^rJYA9dg)pZL{ICv)s?qb)2Ea2a&j$mHVuV}Q{xhfWNYjf5 zWwJ#8#~>L`+S6uhk>tG#&S0iYW!%|*{NlvmQDJu2dYMad=>2_5wq3xI41kX&_qCt) z9iu{MkLvyrRCIfjDBc;h%N0dZthfS|pLfCk__6A$GF?a>H7y@e$s%yC@m9tNHyf`J zyNx2& zH5gEM%e`%h{B=ZGe{(-!FRXX(miom*HAQZp`1Vu@5DKwfoNdA3A?IeUPOs%=3aW*JgcC{3Arp64;i`=zUGDT8?Jy*Q1h1?k_11 zIqpP+5&`0)7W8K5!DUYWYp7!FCZ~0fY@_MmBJ8tIql(AJqO$v#IFfvu4R;XLT6|`3 z1~T}o<~LxA7+Q~OZHPQh0M56Y%9RA_`g``GGE1rDl z&XuN}3G9OhOfU)CmZ-s1$^a4V74p+>YF&zU3Tw1RLscj{$;8)>R1;74(u4P%r{!IS zF3h(?dOjDEge~!vm6j`KAWMpbT1VI|t|ql4&)3>0wXAnoN(wXa>&f?KbyV`q*B^F% zkE04sx1n_D3wE`2qZ`nb>$kJCy2S9_ttTo|i9cS!t({Qe&P{dVx67TclNAC{i}9oW z#GqBl$C#oEi9rCclc-NYi_eY$*bDG!G*-^gnsFCDj6E;tAJZ&6WSbq-`ql;nS#?`L z0JXEyzzoHNoeX7q>8T2t?$m4EIvL74$hdi=tigo&b1(JS-2@k1KF3Y9-9 z)ktPB-)UW74036FGWHXqDWmM}2H7u-i`1uWcH z1#%p&QgPXT12=V984pkd%_$zMrW~aZU1*u)7(1qXyqs0EbDkb+A9+vLu_Tl~sppKUlnyx3Ii447AS>cJ~!#Kb<{SyT$paUJn;Y`(- zIHw)_qO}f^ABOZKYj?fi4ja^wARz(#q#Xck(qU-@Og4#YEeVpv16UO~n(g34K_;JG zQzbG+oQ$GdX`;QIDS0z*3izmV@{qLjI3K^AKkwVzFdg4DVXzk=QRBUFyFzF;AtB)K zHPZe`c6yeH64eM8=B!sLA(GQGTkMJ3|Fz*@(b{4DOc;7txJ~_HvZex7yA2{NC`?lb zUuhpPb1-OHDa}>O7*<*mVC#iKoekJwrNs-TOUH$0hs&-XsT5-YE?)tbhYtiVO|A^p z7kgf+>aUy^Iw>wn;M@wziiducT@zLhyg46cGN-HV;w1e&Zj->O+^D`~-Q4Att?q2~ zxQj@uzPD714Q5FD^w{&6Cg0)1Kynu9mJiS9yTV!RoR;=+nFh()TM8lbWI%MhxL>wp zxndId#;;d}lpPIM!TDwWvys+y+&Ux4&KwO94=525rs`XkPva!cH^O_coT;#Fh`*b2 zPzZ3VmJZb~$``oV_NlYiGd$v2V2Fy|C>#TG=CN8VkM8Q<*~|lI&qkH{0IIsY9!}hw zms@|afWGE^jeeum#26VCy8C1l6d#kXPerAqq(l#KBeQ|}sFOBRJQdwjd!Qro{@1XV z14T;&)%+7&IbDODLTD>dDqW)Z$u(Z92RT0jj&1>aOi}&6Q-wVTEWQY~09R8oDxEiw z_I0bvD5~n&ttFHFTR(WoOsyIJOfrEK@pqtk1y~4*f4(@W0cxqLqG+1lUlv#WxCIoK z%TRIxg<1cNlbXH1*AfgaF_T|na0I@o0m}cQ2&Z}eF>mPd4g^Qf{^C0Tfd#>Du8lwA z|J#`O_xAx7lIJpnJRyH5$bqiJ5#}JXzn6HX`ah~>7rFfS90Z8}<*_df(4%^J{Da8% zH+jr|B?WXpHFdnw<=F&2Y4*?A zwH(In8;jA0=M9ipX&I7W3e%={r2>iavHgbHX${V`i@q|{j&3cZUa<_sQ8zBLp9H?( z&-6s*y*k*DnE_Go$>5tIC3g8QokCJajOW~K^!eh3NBao}6347k2~>Da2W92|-Se?0 zPu$QDR*Kf(eI=HQqOLrq(_P#xA&I)N7q4rLizFs8Slyy~{=f4{JiiY)Xh0{IykK4p z!FQ`lp1VRuHnMGr+AggL!7qw5HV*UAZ`e=sje2Qy<0Z1~7sYdW^=HHBU}Aj~FVQ0c zQ99F=p_FO2+3cOJIZsRM#v)DOy#oh(NhUl`>bD?!nF;|hrnb5a zw0tl*ohN_ZxGy5mp4i+fZ{^dA6jihBDg&)9U0@GgVjpB^Z8Syrm34x#HorO-NW+K# z=>u-ujH!GWUiq034&%VMeT0Grw}4;Y)%+bC#tlHr1&qMq@t+HJ`e zzxRNZ5SMp|uI%S_!iCoISp@mEcL zD*5=ia&NgoM)dWYJ?0patVjHqWjUD7asSMo69}Yuhb3`lk=9j4xt(sIa$TPKenkJ| zpZ6iEcN`#K6T2!!QCZ8(r9dxfGk@0c(?yy3V8UqN8{WhFT#Tir0-3(n=EE&V?db{{@q2=9p(7z zh^@5Hmf6~U_(%B>fy}0}PLmJ&<|IqxQEc!%KBO+yTZ`V*m@z|=j3GMW+p3CvltC+( zR#u9FG=ML2y57q^cG3otoMI{iK2TAx1X)lv2Yq7O;8%D67 zU`HC-IIuV*@l=04XVELfYjhHC%5{N@{gE}v4a^_>fMETp9rLhJdHHT00#jEcvv_as zTM%@NbS2rJVkJL^Qi3pF%Eb?0vOcT7nsZi7R#`$Yp0L!mJm zS!^7!E2tE_zdbPP7Jf2&hZnPz6!%oX4-!{ZbzGc=)So1H!xVplNf9`%xj01?NNg6Z zkMJ7AfFa>TR+%wdC+|kb*p(b}U&=#H70S$iK0G4&S0Lu8%W$+d12m>&oocsK*+R8K za@Ayith7(g>+?IE4Qm;o{P@2yqdrU7O+NO(y?&guqi)5P+v5(L*P~V>b}kOtowG$# z?ofYeaU=wKY~9N@p)uTfziu@b?b&8o7grHW97 zT?I(RPId$vOid?t;Lb(oE`6R^%ECS~>!TOYD!bYJp?28xXI_b#g%nZK^o(5uW+JcW z;(UJgtlR+V7`6Cme!yH*q)ChyHE>LS;(oRpaARk^R~%oxCn_*)6H6z4>{D{=tEoMm z?Y5oF#z5uK!S{a2rOD{oerg@;nOj<;v8{mc#p+~7;CyPoJzpxSy93oHE>cYzP1h1Y)8@iliZl2GGl}Q(9bSbXP^#!)`AQHoV z{HYB8Wm!b?A^|I3(UAvs=siu+JtSq;bjStfl?gkS8TH7{P;1-~Q+lBCKBL)iUv(i5 zxZb1Dpt2&TGF}VjvMw&N9Td4$_U>#ql)^=~{wRAe>KCXIB?(zR6UAekm7A84x)(hw zk8S6tA(Csuwmo>>XN-2Z0Alw^Ot{A4j}p&QqVT!~4a6uvQx2-5g$Z->(%f35+_B!hVu-lJx)vq8qG&Ig@@s@aBLOi)D2oR(PaFV`}6RSo`pv)`J~!q5J|{ z?Ic_0dk@bn)n2{RE4I=y|uhQt(=vY3*F|PeFe`uFUtHR z8vva!)2?*hjFn3Ea9{OP)!E7xm&6~xE<$h28Xm?7i^LL1Vvki1Fqle%f|jMpJ#&2X zPuRuJ^9x*JM!3fSuF1M=_1t~;<13CaAuEIz#>wOP^Y-FLc8Rgzz1Xu2`edBiq$WgG>f^)ri80;033Ssnc_h6P6U86Tlo#iq|M=c)KO3)($YwsTNtj>b|t>6 zD|n7Hxc|)_8eQRFW+%nrN~ijIk!*3B=D}?_D@8{+?eL-^kfNjd^XIf687(&ARAHFmx_N)A8y?KN2BB) z?w#0Mq*SB=&Kp}yM#PHA*!J6(-nyuvs7|;4>8H_z+}BEa0kUC4ao4>x!iF@DO;^-J zqWOnhU!+^OYqi?taE^FSD>E*!5!tSchKGk=TwDkXb0qZcUzv1YKa{v>uM%X6LWskn zi3FySrR3P#ZL+Ry#ed(b`4Z!}Pr_n+#4H(BPO(JjVy3xKngtsj6-_?fKW{8*)IW`^ zK-J@_PO2sUI+phIF}rnEF1$_Z?@YBhg?Y(H5u0>hy6J0Bo3z zd8Lb-u+@v}p4!_p-fsWixi?%Yu={H<#x{W|Q0pTb>He2(|D;4N47YH%!P$G441Fyy z0~Lu6Xxs{8Irp)NR@_MpAOiYhX@01-g+h`te=U#eKH86Uv|r|_m7QEn|4d4SNt>yH zac0wtK=zJ1V1%#OeWXwu0LO{-MrjjKlf=$x4IUK=y*Y1)+x<8%ktFHvyXPK~zMJv| zy-+z&NKT&nsv>WGZctpr(+c~w*-w*2v#a)4bn6H^!+FXELa^+xMk~(wSem+qAGBoE zOL!4aopsK*p-vo#=_Gs(Ab^9@6)~XFU8vfKO4Yd$9EozdXfc0V_hhti7Ca?NkDWih zL&0sTz}mN!X4B2dVVYjzeHp*~VjT(Zfd|OXdgN~(>R?+&sY4UBC`0!5G2zkKrGZ`b z&^T<*c4a_2!a&JvB3$}lzaSagsI-)Nwu4|(?X86kyJG^UeH;haT+!%9($c%21pJH^ zpvudaSDF&S+RLS{>NH}~;c$55OUy9XSnqglbr!r0QU#*q?#!$6w2yWM%_;)Wx9NPm zuw)>7DjnO_Zf_uir|+!f?r!hYRITflC}(^{)$Bw3Dh;oKynmHIzY9pJaucz&%6%R> zWaathpmoI3C0}O?O4c#PZVSHH%56y}4KQJy7xmd**ZAMsX9EUftJJ9+ui5moun??7?p~;@%u~G&n1gid zo&=Yt_}Pl0(p+ptIG&a6V0?N@rKfw|AebjdlrwZ(k>D%Y|G9|RK0j_B-iZpSJC>cK zC}88-=0i%j;osnunh_ zK}2RSG66IdPi^9REzTskiHpPHW|Jv74L?>=ZA(uM3Dzq>9l z1Kp=vJm5-T*5pB|XWFjTLrzuxzPDfU>+LFUrHipQcEEg#tvrJ>@fBrevnl+rg zOz0B~UagggGdXqdxv8KUBrpr!E7E>7 zwO50~A~UOCKV*5k;Sm0izbDQRN>q_6ZmuLzKdsP#W#vAawh^urjE;6cJw2PZ8Qx-@cK{$iMs^FvZmR}L`jv;@W&gg3 zS>Im;i(fwF%pw4rgi$*U4-B-*^8{nX8DO&Rcyps!g^*D7m_tnP{Z%L0Xy%RE@X4Bw~M@e`HSlLz)FVm@k58 zpa(t?^@&Klz9H$#1EP|Wc(=RaF8c?*)aKPt2W?j~Rn_V}cfV$^!=9)xwzd70aUW>4 z@+L>Qa}5v527Ih_?#|Ot$Ro=ktRT-G>%f`L?z}%tFf3Qy?B_>Kx~QTsmyiO*zR$P? zAGw5Zd=YnwbTGog9!P7MiF|)m6YO!Hr6Bd$``97foZDm<#ld&$8ge-VIMU^-IoMfi zHH(P97ZKZRkP87$GyUs~yN76NW}|SrFW%tU(dD*PYRnl>4axP;;VdPj`@8g2 z-X1fHGW~~i+C~|-%k(noZ*sBMhleY&hupet6GW){ji?sFW68HcuVd>XeP0yjOVcy> zChi8-sfiNe_xTz}=B3oxbMF{5E~6Zx6cdm71;~Je+ubF~YU~q~sb{ zPF9)EDoIT{FcjozZg8Dd<%^Mx19);a(JcpXR~W0;7M6Q$^OU{A?t89!!dX8Sd63gp zxz&^hf|lDT*wdYH-j`fVnCz-al9JHW0%zsJKPdzbqc`^+JMc7!_WNYHL!0MjS(HZF zvqixD#x5rX6>A+lhEIfk>||mAD(1>-QWbAKpB3``sT>&eDEK5`Y&;$nRXees8}$pz zFpypH;f{6SLCBYCNhBaK92^n0! zqsM@CH&cJHj8)2l6sfy<8|rJtBF8>5Uva!j)pO4tzgf@nRHEfo0l!>33oD0R6Z9cV z!DA~z6q!=UJruUotv7>-X^O1pnq{wXGXM1Hf2oNn;?AJ8HIVZARhBfjXP9=nbFyJL z4@?$OXR_0EWQkDL-PNyrz4>G?|5@c}hADp}5${}?-By=Pq7Gbl^FVj`x?-@9)pqP5 z!^YZ6%iaJ@mRmatxgoc6;~$JA`j+>aIQ?_Eu*BpS>C1~>laeWurWAM+-N4_WxG6Gv zQzI2KWxeUwfBt0DXWr~+#OmXVkHP?tQMQ(5CBmd%z6lV_H0fv;r#G=#9s(TN6Q_6l zJUd?9ZNhPt6gbyHte=MqB$GMUTbuGvJXS&pyJ zz6mKY$sx-&Ya70PCW1mE1W@;W_E#{_IdO%=$VViK>6F1N8>M+wX*iiI-o8QD(&U<< zu&RMq+xrN4p77FDEuwQ$In0FubuUiQc7975m=M!u6O9EEDCuyF0O5a};DA&QYS43- zM<8g2y2%XYZQU@2o}6Cc@=XrJk?&S~r>2azK}k$iLb2mFZ&sI_n>xTCpMRAIJu_{; zivhiObk<{KJwUjcm<+0-=NO?GrN&dKz+aBWCEk>*ge0EE&R$<5W;ppph}&!7)AzOO z?p0b=OiR44FT2@#>*u1G(t&E8jyb~H<=x;&0@^~q^kuue%&=ta8c+Ocp#hZDbfNm8 z8f9|DNduP*L{|#eqf`23|7REB+dtZrHS@ftyjc?mfRT=fRVso)>|K8hs*jK#WZ z!pl6zQfKJ$BI4i=ZJa+NGcjo{y79!Xi}$*ECsyN?N`HMh693qjS@V@OZvD~9IW%O=k(@znC*m$ip|#LVrff)m{Fd>;E3#Qkkj&$zX9 z?8dF-GdsjQ+tv>v?VUuh(6^=dXceb{UR9<* ztg6E+6NSAiY;MMkY0yaf3Bw|!?q_RdshQ85hmlmN&rya= zc>^s#zvR&xvdDdh_EtP;MKi2Dy=J4EwBnmO+{uAjV}-sqM~zZ63+!7zKl&gPy(U^P z#~Gd~1T$IxR&mpm!B~jj_#5v;G4}az* z&;KUUH{y3Ye}>i6Ticnp{F{bT*vh;f2SJy%=7K;76=+iB6$CD6P|0gQw8*cKd1|A4 zfHa2f;MQT>wDOrI8L26Cj{id6?0geb?fPK)$*GxT49X_K-x>ui{MT!1-1ih@A=i0r z=|(1qw(_t7P4gDstKukb{rn|XeSuc!`lJ`qF7KtMkZ|0exB6TGpc`1%xZtN6*^Spt zSPuUAQCx>Lqelv&C$*h$+K(j{>_goNLL6*!p;uN{u4986P)nQmP{Lc}EZJl^Bs+$u2B7xAbXi zrTJ(MX*}Vq&qBk;*;CV9EM@L>_Oq5%X1gy%5e3p~DI@@)=qaN~E- bbCuxhL#1$y``_GuPqUI7u#KP0n~(nw_H=<_ literal 0 HcmV?d00001 diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 3e5d82b0ee6..081e0a76e2f 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1821,6 +1821,15 @@ _serverRules: description: "新規登録前に表示する、サーバーの簡潔なルールを設定します。内容は利用規約の要約とすることを推奨します。" _serverSettings: + _loginBonus: + title: "ログインボーナス" + enabled: "ログインボーナスを有効にする" + resetTime: "付与日の切り替え時刻(日本時間)" + resetTimeDescription: "毎日この時刻以降の最初のアクセスで、1日1回ポイントを付与します。ページを開いたままの場合は再読み込みしてください。" + minPoints: "付与ポイントの下限" + maxPoints: "付与ポイントの上限" + pointsDescription: "下限から上限までの整数をランダムに付与します。同じ値にすると固定ポイントになります。" + invalidPointsRange: "ポイントは1以上の整数で、下限が上限以下になるように設定してください。" iconUrl: "アイコン画像のURL" appIconDescription: "{host}がアプリとして表示される際のアイコンを指定します。" appIconUsageExample: "例: PWAや、スマートフォンのホーム画面にブックマークとして追加された時など" diff --git a/packages/backend/migration/1791144811075-LoginBonusSettings.js b/packages/backend/migration/1791144811075-LoginBonusSettings.js new file mode 100644 index 00000000000..60d8ce0c0cd --- /dev/null +++ b/packages/backend/migration/1791144811075-LoginBonusSettings.js @@ -0,0 +1,20 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +export class LoginBonusSettings1791144811075 { + name = 'LoginBonusSettings1791144811075' + + async up(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" ADD "loginBonusResetTime" character varying(5) NOT NULL DEFAULT '00:00'`); + await queryRunner.query(`ALTER TABLE "meta" ADD "loginBonusMinPoints" integer NOT NULL DEFAULT 1`); + await queryRunner.query(`ALTER TABLE "meta" ADD "loginBonusMaxPoints" integer NOT NULL DEFAULT 5`); + } + + async down(queryRunner) { + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "loginBonusMaxPoints"`); + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "loginBonusMinPoints"`); + await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "loginBonusResetTime"`); + } +} diff --git a/packages/backend/src/core/LoginBonusService.ts b/packages/backend/src/core/LoginBonusService.ts index 1106ba4dc4c..9d0c442f886 100644 --- a/packages/backend/src/core/LoginBonusService.ts +++ b/packages/backend/src/core/LoginBonusService.ts @@ -42,8 +42,13 @@ export class LoginBonusService { * Award login bonus points to a user if they haven't received today's bonus */ async awardLoginBonus(userId: string): Promise { - const now = new Date(); - const today = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()}`; + const meta = await this.metaService.fetch(); + if (!meta.enableLoginBonus) return null; + + const [resetHour, resetMinute] = meta.loginBonusResetTime.split(':').map(Number); + // Shift the clock so the configured time in Japan starts a new bonus day. + const bonusDate = new Date(Date.now() + (9 * 60 - resetHour * 60 - resetMinute) * 60_000); + const today = `${bonusDate.getUTCFullYear()}/${bonusDate.getUTCMonth() + 1}/${bonusDate.getUTCDate()}`; const userProfile = await this.userProfilesRepository.findOne({ where: { userId }, @@ -57,26 +62,20 @@ export class LoginBonusService { return null; } - // Check if login bonus feature is enabled - const meta = await this.metaService.fetch(); - if (!meta.enableLoginBonus) { - return null; - } - // Check if user has permission to receive login bonus const policies = await this.roleService.getUserPolicies(userId); if (!policies.loginBonusGrantEnabled) { return null; } - // Award random points (1-5) - const bonusPoints = randomInt(1, 6); + const bonusPoints = randomInt(meta.loginBonusMinPoints, meta.loginBonusMaxPoints + 1); const balance = await this.db.transaction(async manager => { const claimed = await manager.createQueryBuilder() .update(MiUserProfile) .set({ lastLoginBonusDate: today }) .where('"userId" = :userId', { userId }) - .andWhere('"lastLoginBonusDate" IS DISTINCT FROM :today', { today }) + // Changing the reset time must not move the last awarded day backwards. + .andWhere('("lastLoginBonusDate" IS NULL OR "lastLoginBonusDate"::date < CAST(:today AS date))', { today }) .execute(); if (claimed.affected === 0) return null; diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index 9ae907fb186..e6f92bd70dd 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -205,6 +205,22 @@ export class MiMeta { }) public enableLoginBonus: boolean; + @Column('varchar', { + length: 5, + default: '00:00', + }) + public loginBonusResetTime: string; + + @Column('integer', { + default: 1, + }) + public loginBonusMinPoints: number; + + @Column('integer', { + default: 5, + }) + public loginBonusMaxPoints: number; + @Column('boolean', { default: false, }) diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index e24a5d3713f..3a869fab29c 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -30,6 +30,9 @@ export const meta = { nowLocalUsers: { type: 'integer', optional: false, nullable: false }, maxLocalUsers: { type: 'integer', optional: false, nullable: false }, enableLoginBonus: { type: 'boolean', optional: false, nullable: false }, + loginBonusResetTime: { type: 'string', optional: false, nullable: false }, + loginBonusMinPoints: { type: 'integer', optional: false, nullable: false }, + loginBonusMaxPoints: { type: 'integer', optional: false, nullable: false }, cacheRemoteFiles: { type: 'boolean', optional: false, nullable: false, @@ -839,6 +842,9 @@ export default class extends Endpoint { // eslint- remoteNotesCleaningMaxProcessingDurationInMinutes: instance.remoteNotesCleaningMaxProcessingDurationInMinutes, showRoleBadgesOfRemoteUsers: instance.showRoleBadgesOfRemoteUsers, enableLoginBonus: instance.enableLoginBonus, + loginBonusResetTime: instance.loginBonusResetTime, + loginBonusMinPoints: instance.loginBonusMinPoints, + loginBonusMaxPoints: instance.loginBonusMaxPoints, isManaged: envOption.managed, ...(envOption.managed ? { nowLocalUsers: await this.usersRepository.count({ where: { host: IsNull(), username: Not(In(['instance.actor', 'relay.actor', this.config.adminUserName ?? '', this.config.rootUserName ?? ''])) } }), diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 8f1d4fcf8bc..a76082253be 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -11,6 +11,7 @@ import { ModerationLogService } from '@/core/ModerationLogService.js'; import { Endpoint } from '@/server/api/endpoint-base.js'; import { MetaService } from '@/core/MetaService.js'; import { envOption } from '@/env.js'; +import { ApiError } from '@/server/api/error.js'; export const meta = { tags: ['admin'], @@ -18,12 +19,23 @@ export const meta = { requireCredential: true, requireAdmin: true, kind: 'write:admin:meta', + + errors: { + invalidLoginBonusPointsRange: { + message: 'Minimum login bonus points must not exceed maximum points.', + code: 'INVALID_LOGIN_BONUS_POINTS_RANGE', + id: '6e2ffe67-587e-41f9-887f-3355e95161e7', + }, + }, } as const; export const paramDef = { type: 'object', properties: { enableLoginBonus: { type: 'boolean' }, + loginBonusResetTime: { type: 'string', pattern: '^([01][0-9]|2[0-3]):[0-5][0-9]$' }, + loginBonusMinPoints: { type: 'integer', minimum: 1, maximum: 2147483647 }, + loginBonusMaxPoints: { type: 'integer', minimum: 1, maximum: 2147483647 }, disableRegistration: { type: 'boolean', nullable: true }, pinnedUsers: { type: 'array', nullable: true, items: { @@ -863,8 +875,24 @@ export default class extends Endpoint { // eslint- if (ps.enableLoginBonus !== undefined) { set.enableLoginBonus = ps.enableLoginBonus; } + if (ps.loginBonusResetTime !== undefined) { + set.loginBonusResetTime = ps.loginBonusResetTime; + } + if (ps.loginBonusMinPoints !== undefined) { + set.loginBonusMinPoints = ps.loginBonusMinPoints; + } + if (ps.loginBonusMaxPoints !== undefined) { + set.loginBonusMaxPoints = ps.loginBonusMaxPoints; + } const before = await this.metaService.fetch(true); + if (ps.loginBonusMinPoints !== undefined || ps.loginBonusMaxPoints !== undefined) { + const minPoints = ps.loginBonusMinPoints ?? before.loginBonusMinPoints; + const maxPoints = ps.loginBonusMaxPoints ?? before.loginBonusMaxPoints; + if (minPoints > maxPoints) { + throw new ApiError(meta.errors.invalidLoginBonusPointsRange); + } + } await this.metaService.update(set); diff --git a/packages/backend/test/unit/server/api/endpoints/admin/update-meta.ts b/packages/backend/test/unit/server/api/endpoints/admin/update-meta.ts new file mode 100644 index 00000000000..51f7c0d7a31 --- /dev/null +++ b/packages/backend/test/unit/server/api/endpoints/admin/update-meta.ts @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { beforeEach, describe, expect, test, vi } from 'vitest'; +import { mock } from 'vitest-mock-extended'; +import type { Config } from '@/config.js'; +import type { MiLocalUser } from '@/models/User.js'; +import { MiMeta } from '@/models/Meta.js'; +import { MetaService } from '@/core/MetaService.js'; +import { ModerationLogService } from '@/core/ModerationLogService.js'; +import UpdateMetaEndpoint from '@/server/api/endpoints/admin/update-meta.js'; + +describe('admin/update-meta login bonus settings', () => { + const metaService = mock(); + const moderationLogService = mock(); + const settings = Object.assign(new MiMeta(), { + enableLoginBonus: false, + loginBonusResetTime: '00:00', + loginBonusMinPoints: 1, + loginBonusMaxPoints: 5, + }); + const endpoint = new UpdateMetaEndpoint(mock(), settings, metaService, moderationLogService); + const admin = mock(); + + beforeEach(() => { + vi.clearAllMocks(); + metaService.fetch.mockResolvedValue(settings); + }); + + test('saves enablement, reset time and a fixed points amount', async () => { + const params = { enableLoginBonus: true, loginBonusResetTime: '07:30', loginBonusMinPoints: 10, loginBonusMaxPoints: 10 }; + await endpoint.exec(params, admin, null); + expect(metaService.update).toHaveBeenCalledWith(params); + }); + + test.each([ + { loginBonusMinPoints: 6 }, + { loginBonusMinPoints: 10, loginBonusMaxPoints: 9 }, + ])('rejects an inverted range, including partial updates: %j', async params => { + await expect(endpoint.exec(params, admin, null)).rejects.toMatchObject({ code: 'INVALID_LOGIN_BONUS_POINTS_RANGE' }); + expect(metaService.update).not.toHaveBeenCalled(); + }); + + test.each([ + { loginBonusResetTime: '24:00' }, + { loginBonusMinPoints: 0 }, + { loginBonusMaxPoints: 1.5 }, + ])('rejects invalid time or points: %j', async params => { + await expect(endpoint.exec(params, admin, null)).rejects.toMatchObject({ code: 'INVALID_PARAM' }); + expect(metaService.update).not.toHaveBeenCalled(); + }); + + test('keeps existing settings when changing an unrelated setting', async () => { + await endpoint.exec({ name: 'Test' }, admin, null); + expect(metaService.update).toHaveBeenCalledWith({ name: 'Test' }); + }); +}); diff --git a/packages/backend/test/unit/server/api/endpoints/i.ts b/packages/backend/test/unit/server/api/endpoints/i.ts index f90ded927e7..9b24265f971 100644 --- a/packages/backend/test/unit/server/api/endpoints/i.ts +++ b/packages/backend/test/unit/server/api/endpoints/i.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { afterAll, beforeAll, beforeEach, describe, expect, test, vi } from 'vitest'; +import { afterAll, afterEach, beforeAll, beforeEach, describe, expect, test, vi } from 'vitest'; import { mock } from 'vitest-mock-extended'; import { DataSource } from 'typeorm'; import { loadConfig } from '@/config.js'; @@ -18,6 +18,7 @@ import { DEFAULT_POLICIES, RoleService } from '@/core/RoleService.js'; import { UserEntityService } from '@/core/entities/UserEntityService.js'; import MeEndpoint from '@/server/api/endpoints/i.js'; import { LastLoginBonusDate1791103468369 } from '../../../../../migration/1791103468369-LastLoginBonusDate.js'; +import { LoginBonusSettings1791144811075 } from '../../../../../migration/1791144811075-LoginBonusSettings.js'; describe('i login bonus', () => { const config = loadConfig(); @@ -57,17 +58,25 @@ describe('i login bonus', () => { beforeEach(async () => { vi.clearAllMocks(); + vi.useFakeTimers({ toFake: ['Date'] }); + vi.setSystemTime(new Date('2026-10-04T03:00:00Z')); await users.deleteAll(); const now = new Date(); today = `${now.getFullYear()}/${now.getMonth() + 1}/${now.getDate()}`; await users.insert({ id: 'loginbonususer', username: 'alice', usernameLower: 'alice', points: 20 }); user = await users.findOneByOrFail({ id: 'loginbonususer' }) as MiLocalUser; await profiles.insert({ userId: user.id, loggedInDates: [today] }); - metaService.fetch.mockResolvedValue({ enableLoginBonus: true } as Awaited>); + metaService.fetch.mockResolvedValue({ + enableLoginBonus: true, loginBonusResetTime: '00:00', loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + } as Awaited>); roleService.getUserPolicies.mockResolvedValue({ ...DEFAULT_POLICIES }); userEntityService.pack.mockImplementation(async packedUser => ({ points: (packedUser as MiUser).points }) as never); }); + afterEach(() => { + vi.useRealTimers(); + }); + test('awards once after migration even if today is already a logged-in day', async () => { const result = await endpoint.exec({}, user, null); expect(result.points).toBeGreaterThanOrEqual(21); @@ -85,7 +94,9 @@ describe('i login bonus', () => { expect(await profiles.findOneByOrFail({ userId: user.id })).toMatchObject({ loggedInDates: [today], lastLoginBonusDate: null, }); - metaService.fetch.mockResolvedValue({ enableLoginBonus: true } as Awaited>); + metaService.fetch.mockResolvedValue({ + enableLoginBonus: true, loginBonusResetTime: '00:00', loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + } as Awaited>); expect((await endpoint.exec({}, user, null)).points).toBeGreaterThan(20); }); @@ -124,6 +135,64 @@ describe('i login bonus', () => { expect(notificationService.createNotification).toHaveBeenCalledTimes(1); }); + test.each([ + ['00:00', '2026-10-04T15:00:00Z'], + ['07:30', '2026-10-04T22:30:00Z'], + ])('starts a new bonus day at %s in Japan', async (resetTime, boundary) => { + metaService.fetch.mockResolvedValue({ + enableLoginBonus: true, loginBonusResetTime: resetTime, loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + } as Awaited>); + await profiles.update({ userId: user.id }, { lastLoginBonusDate: '2026/10/4' }); + vi.setSystemTime(new Date(Date.parse(boundary) - 1000)); + expect((await endpoint.exec({}, user, null)).points).toBe(20); + vi.setSystemTime(new Date(boundary)); + const awarded = await endpoint.exec({}, user, null); + expect(awarded.points).toBeGreaterThan(20); + expect((await profiles.findOneByOrFail({ userId: user.id })).lastLoginBonusDate).toBe('2026/10/5'); + expect((await endpoint.exec({}, user, null)).points).toBe(awarded.points); + expect(notificationService.createNotification).toHaveBeenCalledTimes(1); + }); + + test.each([[7, 9], [12, 12]])('awards the configured points range %i–%i', async (min, max) => { + metaService.fetch.mockResolvedValue({ + enableLoginBonus: true, loginBonusResetTime: '09:00', loginBonusMinPoints: min, loginBonusMaxPoints: max, + } as Awaited>); + const result = await service.awardLoginBonus(user.id); + expect(result?.points).toBeGreaterThanOrEqual(min); + expect(result?.points).toBeLessThanOrEqual(max); + expect(result?.balance).toBe(20 + result!.points); + expect(notificationService.createNotification).toHaveBeenCalledWith(user.id, 'loginBonus', { points: result!.points }); + }); + + test('does not award an older bonus day after the reset time changes', async () => { + await profiles.update({ userId: user.id }, { lastLoginBonusDate: today }); + metaService.fetch.mockResolvedValue({ + enableLoginBonus: true, loginBonusResetTime: '13:00', loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + } as Awaited>); + expect((await endpoint.exec({}, user, null)).points).toBe(20); + expect((await profiles.findOneByOrFail({ userId: user.id })).lastLoginBonusDate).toBe(today); + }); + + test('settings migration preserves enablement and supports rollback and reapplication', async () => { + const runner = db.createQueryRunner(); + const migration = new LoginBonusSettings1791144811075(); + await runner.startTransaction(); + try { + await runner.query(`INSERT INTO "meta" ("id", "enableLoginBonus") VALUES ('x', true)`); + await migration.down(runner); + await migration.up(runner); + const [settings] = await runner.query(`SELECT "enableLoginBonus", "loginBonusResetTime", "loginBonusMinPoints", "loginBonusMaxPoints" FROM "meta" WHERE "id" = 'x'`); + expect(settings).toEqual({ + enableLoginBonus: true, loginBonusResetTime: '00:00', loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + }); + await migration.down(runner); + await migration.up(runner); + } finally { + await runner.rollbackTransaction(); + await runner.release(); + } + }); + test.each([false, true])('migration preserves history and initializes the guard for enableLoginBonus=%s', async enabled => { const runner = db.createQueryRunner(); const migration = new LastLoginBonusDate1791103468369(); diff --git a/packages/frontend/src/pages/admin/settings.vue b/packages/frontend/src/pages/admin/settings.vue index b023688685e..e4c6273887e 100644 --- a/packages/frontend/src/pages/admin/settings.vue +++ b/packages/frontend/src/pages/admin/settings.vue @@ -354,6 +354,36 @@ SPDX-License-Identifier: AGPL-3.0-only + + + + + + +

    + + + @@ -512,12 +542,25 @@ const federationForm = useForm({ const loginBonusForm = useForm({ enableLoginBonus: meta.enableLoginBonus, + loginBonusResetTime: meta.loginBonusResetTime, + loginBonusMinPoints: meta.loginBonusMinPoints, + loginBonusMaxPoints: meta.loginBonusMaxPoints, }, async (state) => { await os.apiWithDialog('admin/update-meta', { enableLoginBonus: state.enableLoginBonus, + loginBonusResetTime: state.loginBonusResetTime, + loginBonusMinPoints: state.loginBonusMinPoints, + loginBonusMaxPoints: state.loginBonusMaxPoints, }); fetchInstance(true); }); + +const loginBonusPointsValid = computed(() => { + const { loginBonusMinPoints: min, loginBonusMaxPoints: max } = loginBonusForm.state; + return Number.isInteger(min) && Number.isInteger(max) && min >= 1 && max <= 2147483647 && min <= max; +}); +const loginBonusSettingsValid = computed(() => loginBonusPointsValid.value && /^([01][0-9]|2[0-3]):[0-5][0-9]$/.test(loginBonusForm.state.loginBonusResetTime)); + const proxyAccountForm = useForm({ description: proxyAccount.description, }, async (state) => { diff --git a/packages/frontend/test/unit/admin-login-bonus.test.ts b/packages/frontend/test/unit/admin-login-bonus.test.ts new file mode 100644 index 00000000000..ae776274118 --- /dev/null +++ b/packages/frontend/test/unit/admin-login-bonus.test.ts @@ -0,0 +1,81 @@ +/* + * SPDX-FileCopyrightText: syuilo and misskey-project + * SPDX-License-Identifier: AGPL-3.0-only + */ + +import { afterEach, expect, test, vi } from 'vitest'; +import { cleanup, fireEvent, render, waitFor, within } from '@testing-library/vue'; +import { defineComponent, h, Suspense } from 'vue'; +import locales from 'i18n'; +import Settings from '@/pages/admin/settings.vue'; +import { i18n, updateI18n } from '@/i18n.js'; + +const fixture = vi.hoisted(() => ({ save: vi.fn(), refresh: vi.fn() })); +vi.mock('@/os.js', () => ({ apiWithDialog: fixture.save })); +vi.mock('@/instance.js', () => ({ instance: { providesTarball: true }, fetchInstance: fixture.refresh })); +vi.mock('@/page.js', () => ({ definePage: vi.fn() })); +vi.mock('@/utility/misskey-api.js', () => ({ + misskeyApi: vi.fn(async endpoint => endpoint === 'admin/meta' ? { + enableLoginBonus: false, loginBonusResetTime: '00:00', loginBonusMinPoints: 1, loginBonusMaxPoints: 5, + pinnedUsers: [], urlPreviewSensitiveList: [], federationHosts: [], deliverSuspendedSoftware: [], + federation: 'all', + } : { description: '' }), +})); +vi.mock('@/components/MkFolder.vue', () => ({ default: { + template: '
    ', +} })); +vi.mock('@/components/MkInput.vue', () => ({ default: { + props: ['modelValue', 'type'], emits: ['update:modelValue'], + template: '', +} })); +vi.mock('@/components/MkSwitch.vue', () => ({ default: { + props: ['modelValue'], emits: ['update:modelValue'], + template: '', +} })); +vi.mock('@/components/MkButton.vue', () => ({ default: { template: '' } })); +vi.mock('@/components/MkTextarea.vue', () => ({ default: { template: '
    ' } })); +vi.mock('@/components/MkRadios.vue', () => ({ default: { template: '
    ' } })); + +afterEach(() => { + cleanup(); + vi.clearAllMocks(); +}); + +async function renderSettings() { + updateI18n(locales['ja-JP']); + const wrapper = defineComponent({ setup: () => () => h('div', [h(Suspense, null, { default: () => h(Settings) })]) }); + const passthrough = { template: '
    ' }; + const view = render(wrapper, { global: { stubs: { + PageWithHeader: passthrough, SearchIcon: passthrough, SearchLabel: passthrough, SearchText: passthrough, + SearchMarker: { inheritAttrs: false, template: '
    ' }, + }, directives: { panel: {} } } }); + const panel = await view.findByRole('group', { name: i18n.ts._serverSettings._loginBonus.title }); + return within(panel); +} + +test('shows login bonus settings and saves enablement, time and fixed points', async () => { + const panel = await renderSettings(); + const labels = i18n.ts._serverSettings._loginBonus; + expect((panel.getByLabelText(labels.resetTime, { exact: false }) as HTMLInputElement).value).toBe('00:00'); + await fireEvent.click(panel.getByRole('checkbox', { name: labels.enabled })); + await fireEvent.update(panel.getByLabelText(labels.resetTime, { exact: false }), '07:30'); + await fireEvent.update(panel.getByLabelText(labels.minPoints), '10'); + await fireEvent.update(panel.getByLabelText(labels.maxPoints), '10'); + await fireEvent.click(panel.getByRole('button', { name: new RegExp(i18n.ts.save) })); + await waitFor(() => expect(fixture.save).toHaveBeenCalledWith('admin/update-meta', { + enableLoginBonus: true, loginBonusResetTime: '07:30', loginBonusMinPoints: 10, loginBonusMaxPoints: 10, + })); + expect(fixture.refresh).toHaveBeenCalledWith(true); +}); + +test('disables saving an inverted range and restores saved values on discard', async () => { + const panel = await renderSettings(); + const labels = i18n.ts._serverSettings._loginBonus; + await fireEvent.update(panel.getByLabelText(labels.minPoints), '6'); + const save = panel.getByRole('button', { name: new RegExp(i18n.ts.save) }) as HTMLButtonElement; + expect(save.disabled).toBe(true); + expect(panel.getByText(labels.invalidPointsRange)).toBeTruthy(); + await fireEvent.click(panel.getByRole('button', { name: new RegExp(i18n.ts.discard) })); + await waitFor(() => expect((panel.getByLabelText(labels.minPoints) as HTMLInputElement).value).toBe('1')); + expect(fixture.save).not.toHaveBeenCalled(); +}); diff --git a/packages/i18n/src/autogen/locale.ts b/packages/i18n/src/autogen/locale.ts index 0f70fe675eb..4887869a441 100644 --- a/packages/i18n/src/autogen/locale.ts +++ b/packages/i18n/src/autogen/locale.ts @@ -7140,6 +7140,40 @@ export interface Locale extends ILocale { "description": string; }; "_serverSettings": { + "_loginBonus": { + /** + * ログインボーナス + */ + "title": string; + /** + * ログインボーナスを有効にする + */ + "enabled": string; + /** + * 付与日の切り替え時刻(日本時間) + */ + "resetTime": string; + /** + * 毎日この時刻以降の最初のアクセスで、1日1回ポイントを付与します。ページを開いたままの場合は再読み込みしてください。 + */ + "resetTimeDescription": string; + /** + * 付与ポイントの下限 + */ + "minPoints": string; + /** + * 付与ポイントの上限 + */ + "maxPoints": string; + /** + * 下限から上限までの整数をランダムに付与します。同じ値にすると固定ポイントになります。 + */ + "pointsDescription": string; + /** + * ポイントは1以上の整数で、下限が上限以下になるように設定してください。 + */ + "invalidPointsRange": string; + }; /** * アイコン画像のURL */ diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index 5cee098dd88..48f4f653e56 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -11259,6 +11259,9 @@ export interface operations { nowLocalUsers: number; maxLocalUsers: number; enableLoginBonus: boolean; + loginBonusResetTime: string; + loginBonusMinPoints: number; + loginBonusMaxPoints: number; cacheRemoteFiles: boolean; cacheRemoteSensitiveFiles: boolean; emailRequiredForSignup: boolean; @@ -14792,6 +14795,9 @@ export interface operations { content: { 'application/json': { enableLoginBonus?: boolean; + loginBonusResetTime?: string; + loginBonusMinPoints?: number; + loginBonusMaxPoints?: number; disableRegistration?: boolean | null; pinnedUsers?: string[] | null; hiddenTags?: string[] | null;