From fc42f370604ab34ae6e4d2bafd3d187b7f2f9585 Mon Sep 17 00:00:00 2001 From: algol Date: Fri, 31 Jul 2026 18:09:07 +0100 Subject: [PATCH 1/3] adding the function frame for find center metric --- httomolibgpu/recon/rotation.py | 104 +++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/httomolibgpu/recon/rotation.py b/httomolibgpu/recon/rotation.py index 6cab12c0..b4917b7c 100644 --- a/httomolibgpu/recon/rotation.py +++ b/httomolibgpu/recon/rotation.py @@ -21,16 +21,25 @@ """Modules for finding the axis of rotation for 180 and 360 degrees scans""" import numpy as np +import os +import pathlib from numpy.polynomial import Polynomial from httomolibgpu import cupywrapper cp = cupywrapper.cp cupy_run = cupywrapper.cupy_run + from unittest.mock import Mock if cupy_run: from httomolibgpu.cuda_kernels import load_cuda_module + from httomolibgpu.recon.algorithm import ( + FBP3d_tomobar, + LPRec3d_tomobar, + SIRT3d_tomobar, + CGLS3d_tomobar, + ) from cupyx.scipy.ndimage import shift, gaussian_filter from ._phase_cross_correlation import phase_cross_correlation from cupyx.scipy.fftpack import get_fft_plan @@ -60,6 +69,7 @@ "find_center_vo", "find_center_360", "find_center_pc", + "find_center_metric_recon", ] @@ -863,3 +873,97 @@ def find_center_pc( ##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +def find_center_metric_recon( + data: cp.ndarray, + angles: np.ndarray, + metric_type: Literal["entropy", "tv"] = "tv", + range: int = 10, + step: Union[float, int] = 0.5, + reconstruction_method: Literal[ + "LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar" + ] = "LPRec3d_tomobar", + recon_mask_radius: Union[float, int] = 0.75, + recon_iterations: Optional[int] = None, + cor_initialisation_value: Optional[float] = None, + gaussian_filter_sigma: Optional[float] = None, + save_recon_tiff: Optional[os.PathLike] = None, +) -> np.float32: + """ + Find the rotation axis location using different metrics that are applied to the result of the reconstruction. This method iteratively + assesses the quality of the reconstruction while changing the CoR value within the provided range. This approach for the CoR finding is suitable + for limited angle (missing wedge) data, when the symmetry and consistency of the sinogram is lost. + + + Parameters + ---------- + data : cp.ndarray + 3D [angles, 1, detX] tomographic data as a CuPy array. + angles : np.ndarray + An array of angles given in radians. + metric_type : str, + Type of image quality metric to use on the reconstructed image. Available metrics are 'entropy', 'tv' (total variation). + range : int + CoR search range/radius. The search will be performed in the range: [-range:cor_initialisation_value:range] + step : float + Step for CoR value. + reconstruction_method : str, + Type of the reconstruction method to be used. Choose from: "LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar". Default 'LPRec3d_tomobar'. + recon_mask_radius: float, + The radius of the circular mask that applies to the reconstructed slice in order to crop + out some undesirable artifacts. The values outside the given diameter will be set to zero. + To implement the cropping one can use the range [0.7-1.0] or set to None (2.0) when no cropping is needed. + Selection of the mask is crucial for this algorithm to work. + recon_iterations: int, optional + Set only for iterative methods: 'SIRT3d_tomobar', 'CGLS3d_tomobar'. + cor_initialisation_value : float, optional + The initial approximation for the centre of rotation. If the value is None, use the horizontal centre of the projection/sinogram image. + gaussian_filter_sigma: float, optional + Enable gaussian filtering of the reconstructed image, recommended for noisy data. Good range of values 1.0-4.0. + save_recon_tiff: path, optional + Path to output directory for the saved reconstruction image when CoR = cor_initialisation_value. Useful for debugging. + + Returns + ------- + float32 + Rotation axis location with a subpixel precision. + """ + ### Data and parameters checks ### + methods_name = "find_center_metric_recon" + __check_if_data_correct_type( + data, accepted_type=["float32"], methods_name=methods_name + ) + __check_variable_type( + metric_type, [str], "metric_type", ["entropy", "tv"], methods_name + ) + __check_variable_type(range, [int], "range", [], methods_name) + __check_variable_type(step, [int, float], "step", [], methods_name) + __check_variable_type( + reconstruction_method, + [str], + "reconstruction_method", + ["LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar"], + methods_name, + ) + __check_variable_type( + recon_iterations, [int, type(None)], "recon_iterations", [], methods_name + ) + if recon_iterations is None and reconstruction_method in [ + "SIRT3d_tomobar", + "CGLS3d_tomobar", + ]: + recon_iterations = 15 + __check_variable_type( + gaussian_filter_sigma, + [float, type(None)], + "gaussian_filter_sigma", + [], + methods_name, + ) + __check_variable_type( + save_recon_tiff, [str, pathlib.PosixPath], "save_recon_tiff", [], methods_name + ) + + return 0.0 + ################################### From e23a65137d3496c8ec16051ada57b675610732dd Mon Sep 17 00:00:00 2001 From: algol Date: Fri, 14 Aug 2026 11:45:13 +0100 Subject: [PATCH 2/3] working method, tests and full documentation --- .../find_center_entropy_1253_smoothing3.jpg | Bin 0 -> 50977 bytes .../find_center_entropy_1263_no_smoothing.jpg | Bin 0 -> 157431 bytes docs/source/reference/api.rst | 2 +- docs/source/reference/methods.rst | 1 + .../cor_finder/find_center_metric_recon.rst | 77 ++++++ .../methods_list/cor_finder_methods.rst | 14 ++ httomolibgpu/__init__.py | 7 +- httomolibgpu/recon/rotation.py | 220 ++++++++++++++++-- tests/test_recon/test_rotation.py | 33 +++ 9 files changed, 335 insertions(+), 19 deletions(-) create mode 100755 docs/source/_static/figures/center_find/find_center_entropy_1253_smoothing3.jpg create mode 100755 docs/source/_static/figures/center_find/find_center_entropy_1263_no_smoothing.jpg create mode 100644 docs/source/reference/methods_list/cor_finder/find_center_metric_recon.rst create mode 100644 docs/source/reference/methods_list/cor_finder_methods.rst diff --git a/docs/source/_static/figures/center_find/find_center_entropy_1253_smoothing3.jpg b/docs/source/_static/figures/center_find/find_center_entropy_1253_smoothing3.jpg new file mode 100755 index 0000000000000000000000000000000000000000..f3505e32429f943b739a850b328920358e6b9ca1 GIT binary patch literal 50977 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

Ac;L-5OR2M3ac2FYb#P`HUK(lm z{@u%5Nm?R?v|#23H5WROWzvzu^7E3wQ8Z}o6Z3wzm?dV`&o4jG_b_^FYD~NU31@t# zWvgdvn8XOJIF&0|%sPo1TD6?{Ty>~L*zbN~x&7e-JXZK%e7+fMF*keM+9nbU39o>Q z9V_dxIX@KT^{Yw*x;i6S5pIxd`Dwo~I@k+CAF-g@I?|?4yZugfqS0HVx||t8Kgx`% z7rCyPZhdc9H!gW}B+*onEYF1Yv1Uo>x#UsgXCe<}UrAb&MiiP;@7^Cm?hO(yvNANO zj{xGya0ZreRMxz-C{ZF(!ckXc4`9DQQCQAXG1Sx7N)Z=oxknYbo_^@Sk5&3Nvq3GX zFNQrnt}DhH-e1jk_WQd)DDA!C+rjtgtUfFnA@O&TvUw6X%XdeN5VI0o{od8+)KNwx zOxf?S&xf?K*Vpo3jPM^A<>61`0U2fm!j*v>K0z0*_hbI=su_;r#yCtGcv7Vh4@)o% zp9^N{XPxg1BBpKIj~1(&yJo|c6U)QaRC ziRycH-H&JA1(M0ZsxyH(x>9GBTJ;5xYP8>X@6C-H&8&PPsUEV1Uj(a*c>TbXi#YYw z;B7qyK_Xfew~hfX8XKH6zj_zW)|T*O>1++5#VtQ4w$VrX+`xULQ0^fr-|PG?W}}W{ zecbTZ>Y{Y_xRHBV^Q;x>V296tn-P!(1;t`hI!G5 z{4rLpmfqm^?N(2*#5)7EH)4#ivRZ-*6NNmPY9E|^+xKWB!$s;kE=*4lXIi6DiL>MZ z2NDDaj{xeBy-w#Uy(VDA^r+5lHb~m|5nvOfpVL&zTG9IHElL8OFP8o&Edh36AM?XB z^F_C-Lj)#2sUB6tV1O>e5>a-!Ep^ z*%pe26^GCUg-5`WRb;e}o0^9Pd*@Y~sTk8$%dQ?Pv8t55;A_Wa0%_)yuY?owHKQV$ zP`_}pH`XM`=`@|>?UV&`N8ZHUX136%tyn+Xh~o{c=B5%zwgTS;Qh+ooOk(CVMWgZR z?IpAvcbw|?2kJ4?1<`qqUpvl^fP!G9$kCLi@v%ud*WpLnMy-q z_5HG3;qx(JSnGk*my_GF>`7)wia&}P2F0gF9V%1IOe0irFP2OU+AE^Ebq6LJH-5ai zGE?GV+l`7diGpxG0#>N_4HerV-FldL)B-exgfdv#w8C#T7!EaFv{sbrU>-+t(kLmn z^vN9}y{Xg>nfkEr+au)<)*D zR428+8C}>4A+i|Ojn+1zg~)vKQsP!ZA_X)b6ON{eh598o9Us~)?a|bPTsGy-39-Vjx`!o%E)SY=*DD*jF6e&jUZsX0PVGhioZ2I! zV4$ENqy2Mgk3v9;|BMEekdB*2Mu%S7npfAINEVGx`*o6yM?ozEzg%+9Q_HkWn54u|wMeWYCk?eu8W(W6rVKB9iA*zKJ6~eE z?(z()*b6C*MC_vqYQS2zZUbpFzfN9j+)L2V3VEz^v+-oag}^&ox=$k=mo(2c&ifOn zTSq3_1lKwUvII{xXAjGwe#2T6>IO}I4|xM|fTF@a-Ql}UhOT6r=0$a5?3&iUu_Kwp zjtQ;!d~^aYG-6&(Jf%*VJo+S`x7%v-E-!`Q{Y=)k1nXpnz9b%jL6pgn+QwqU5-g#- zUo;a}eHYP3A$?7jHr1d7r_X3_X&XfB^OVMwIVJG;Oik7GclVq`K!4;)cYoaY)vbZT zxBs1E(<=MEsIrQVq6W>sR;2pc09wd)?t#{fL0&kLPSv+iBa6;=>tX4?sHTZ;F?|DM zh4(MDqBm&cFrI$q>0;^Q%h5v81I6TVnw0uz!k6m7FF)Q_AHODjv1sd;k0i1tHI;b- zSqNzLKYIjRVEdprZvCE|6)9L637&{fx|7Hnqj)j&Hi+TOBKQ$7RR}aoe?Q67P=cPO z#`5VP+WCw7r2}iVfcRi*6x-(rl;U6?l8bFU^yyN>I-$C{T?Hhrt}wky9&8KsT(9_{ zrl)GPY;0i1K@&j8<%iYDuRH87(5U6}{#!x@gHns8buGq{AlYptq`%I`Gb|8YFy@?p zr#Rx?)Nehh`81F@AAE|#xBbi2I>ph)nUJm;D$d3EFNep&AHP_Hg^ zU7pI*cquvk+bZM`T8((U9unuq;r0c~Z{>#JxE|XcTg!_{rI^m?(O9E_9)$7uX6k*nlGdk>rmHh+wNX2VH+JB_hqexRe{eu z(1`E_49`(B3;4X~HXuT7eo>%!vTz$9`t<432jI;e>n-BHQXDC~3lV$qWBIM>aKVDq z969m)xdj|z!6!?C!@(~ubiM3=V_Ll~6xLtXIxzTuV34X%m(ZR}l8g{m{9NdGpm>w} ztC)pqt+eTi;yyP_^YAp5!5Y=0`CEK#ed}52aIaJr%_9Ko^M?b^+%CBWopFrQyq90@ z!XKt5(UsxzCBy?F)7dX8ZXyUSG5k=p)hi5^d_ICNh>11mtdIL_+A$sQQGTLLN$xFLvFixcN&K$(bhXU&TJu~7KZ3!S7^Rxd`C_jMEyKr)yx_V z{Gy(Z0CM*1zFN`20at45g1ZXr;7SwapZD^oOLeWQ?{A&k*ppwj(0SW$`Gm#R*`pll z2VjSYmLpZJf(7EaezSaClxu!dx3b-#Z*rKLR++3hd+FY0d1<({y3d{z8oWMhY5(Ec z!1HO|5u3O+;1?_0Hxui)cNDwcEhGtJr5UXGjc zukH*H`t}>Wk$W-L%!kz+Ktqft~$~EVUi6#G|%c4%NJL_}nN`to>#*bm~JXS1xUu z1NCXFIkQq7noIQ~K)T*)=_q(ql@tiLSeJykc> zu)~x99U`z(VhW`MTK(bfKzhbp4D-q;%PF|qQkIri5N?d&4@b>3+f8bl(H(Pyudr0^ zMv$}WJ&9$*OBuESv&0>@l~3wARN^QKbCC7#z=_lLcXU>ft6g-_Y zSk+6Ira7p2_l2&}$!!|dzSKD%t@YwEhkq$Wwlw$U&%|>ly7rcbxyn7fi0!gT0w54u!$WWrB!?iH(yg}W@7^@-1uZhI*GZ^M;Eo!~YM7BxYJnG`!%w{&>@tUc$j0t7p1$#}LdnbQyTV_R^nNG7b~x^MY48Yezf=Ib93L`inX|=5Q2m6^A?CHoE9@#UMC0#KGh z2%>(pwYanKlH(XOxVRjdzrHpx5TTNN@3?qy;xX%9EGRq{^NkrdW9=j&B|r+&7VE9} z;q${!)*Qr)+$I&CS!du%5mXW@Ft}V&W1FFp?klB(UotBuAtk!vx!`8fQDQr9F+psL zZjme6YSyV|y1c&ASPGSGgCYg%Pa^FzQSYX(!gs~IxAnV@l7SqEG|35dj!l|H?M;nJ`H?|ni7R>so=OMI7ZY~K_NROQSF(rwqTK4 z?w6kh2HRMxs@tggE*_?G?x?R{k3I20$yxX~z8jZ%Qn*v?Rx#L-_&{2l-TT>==G*Fi zOVMkO4@!PpvSfSuJHi%Tby(|=M}P-MqPsWq@ekL;nt0Jb;St1uL*ssk~-JuwUYHhJh)(vlQM0O>GRO&Z+SXZUn-)|-&=yl@jA~dL>(18 zkgI;Yde{#$Y`sXoMpEfFe!M7_2V4*C#~fzG5+7DGIdOOAkE znsx?5Qj|o;lfk`WU9DET*8|5v9kNg13*LU>mnIuYH5fg8g*$E5nI_~tr-m9S!G&7! zF?H{sO1aA8@QIB`;}G{0L6A^bGt50Vw5}ZBpVkWh3 z4(|;7vxp5Y`5uhWN3=$9LA2H~OLlWs$CYz-K54AhftoH5f-F04B`TPaXUOQq7LIH0 zmyKPFu;?(Fseqk&@H=-D-JW3e6T;aJVmwafz?9*P^9IkX_hnu|RK@w!Phf;GsTQRB zQPP#BSOswnckG1=7Pd^$M%o2UdD$+VMuWIXM}VmwNhR`RzyAlRKvusXc?zfxJf;vj zV^vO7v=_M1p*lU3<&ULNFFA?wqH8X5ATgymIr8y&(OgOFtD`ojyz~O8#m?ad!<5sr zH#CX4#T`rXJsTTPYlt~AElD6OKHQBxU+ z?`~UuLBiaYMA1^?M95qH@vaoteSb*8_|zLKt7y5?@~@5b&|zgoWtgg}6*hNM$1V-u zT*y}n@*A~C-%;Hw+t}X@%tsTD+&BT;6~CF;o;p)m z%y6!&D)TL(%KC4s;|{tg71fu@s&qNB)p1Dd%R3J8Gu>Z6jlDaSk(YOODxrogS6YyiTT-vFuKO(})(tK@4($xMP8 zJTm##S9+2Cr4uA{f5PJq2g0V$6@FZ@FbMuatK=nJf9ps77FGb({AqNuoUH*lvBEwI zrtOvTj%i2-vrurA)gLO4ozzr$-o|?r24fNb08-$YuKXWqN^9!AajLd1l(w`&DHt-i z_QLurrpoK#7j^+j3|s=eLgJ90@6Y`-Zs2EM&mpg4$RTd_*JOD8{#JON9zHqbIke|p zS#?%MIYnAl`laW!RYDcO0F7yrMKu1NH*vqO;Z*hK`ftl4?1^>HD?CyVgmMtgqsO0f zeH78)Vh3(TQ3^?W_C@kLG3UNl{Vf$)zLqw?a~UH|3r$s9X&dzpMRRcYSJBs((;pg- zg;9kS&Z;hm?Cn02IrXaD1H}Gz=>Gun3Uev1rWC@uE2`?&#`-elx13~^$BL9_PI2$f zqH~W%im4t+BE05G-mNM*o7{5m$+tG^;SE#@{ZNIj;b7^_tZoh;7|!RP+EM4p33bK5 z!q{f1#+q)eu9yK^;cPmqE|}eB1p$UyXzHx1hSC1+ZcN0*ORAzubhRwXdU^H{yY`bp ztL0anUhBd+pHxFwQq#nY)!Gw8H z6W1u@9RC2@8|$W%j#1SN#c-5b>mc643o77MG?2eh9}^sJ@y(fJX`v`I_FF__scB9e z_LT#=Rk|r2)O3w$G1$^jp>BA=w_67oI*$1$t6-JBlDavVg?OVWTSHdrq z)c8_O_a0kgj8v5qm}u&zlh&BWv@-j?qu56$f|)dCts|9Xd@0Vpi{VkoFWMw@mF%*J zsq&1QIo=NlhqQypYhz(GOySKhcPRe=Dn9nb&2Y@q*?ND=eaEoGfg+`9b>~+xD(FTmk{HIFs<29}9s$3W5iJg;OI#yf6H(QRl)9hA`YJnVRLcR#(7G zTUWI8=Z21@Hmw`yT%LVNqPH@r8t{(X>UUSdhT&PERlpTZ8@Qa2*t+dF@6Q>eoi^S|jCBsC>} z|HJ?$5C8)J0s{d700RL40|5a50003IAu$j^QDJc)fsvuH!SK=X|Jncu0RaF3KOwj} z7YIfV(msnzOpmeZ33M!Q=8SCr0HKIgeb5YjIV2@t*E3ueZVp^J{jEGZ2m z2MnA)<6+sa;Ryz4awLo9vw9dYzXL9`aa7NQ5r&1I{z0-?{R0qw`3DE+lIH6YB}Lq3 z$UG7yJJ~7}#HnX}_&qe7z(`7%-GZn<(YeJ_Q2XdWJ}uBey7XoL09k%tf@d#3N8C7R zm|bttGe#)i9Sq+ad@l%RTv4M$xgH5il5w$Pgic|ODDlGjb|p;-d67LMw^&96NAdU? zp@H^pndCS0@)xip+*?`Ea|aHdhvPlZ56>p{)7#B$4f3p!p zkIaVyS2pI6Jjswh!6tXa$k!4v;q$S^A#8g(9ue0a@v_8rUMCvkvEW7i5)70|m!Xap zP2{$W6%hR_6T}rGi3+eqyc-tV5u7+zvmKHLV2z%EUDoMAw)4A>#+xKQxL}_Lgt8Mu zO$ETh`Zu&R5KMhp8L)(##{`n-qa)3DZqH$>ST+XDw!>Qe7O_-K5t5V+DQlViZ1_mt`MGtWhFdQ!}O3QqL~u{C%|*9=3mM?@K+ zWJ!{W(u&gm0OZM0pMu;Hq2vu8qD?V{W=_YGt9=d07lu9j{tuLm%^eyq9SGSc39R3N z57rtkL|P<#bV00fzAr?C;rJ=S-TsivAgW~H_%I^J{0x5W*ziL_VoYwGk7mijV&b$@ zv9$jH(NUSngTSmETN3oaA<)qea!d;OMtUPg$wo9maE8q;R}5UB_?MmAHeZNBZ&3uK zQx?HIM-YkUFi!$DLH_^;WL<*8s#xKxMxPp%Qv%Zbv3jgH<1lNvzGAfw3b( zX|5!Pw_o=Udm0sr!SHexY{`cHlANgQkk~b(WZOi`V#lW%Wk#{1P-0_+ypIQ5G7Fj$ zE&d4%Qu;NJ-}F2iDtTaR$RLZiV_Xu?qa6^@b?ERRKZHf- z(8Otpo*9patMpXZjTwXV;D@!2)`xaQZT!RgCVyoQ%QQ15{Az`$ZYLTO8tTSFS2qQ1 zlV}1=?WwXjCMNjFu{@O-G%RpvgIqkmG<1K=@sPFnh>(#dV~b5Q;8DGBXIwJO3ya}t zz8Rz^Ork*&Ml2zwj)a3znK+R84TSV*kcNzgZH*fw5*)QQX(APzjsA$CAreNBctN2E zSAZ}cv_JGVS2wy~rc4AcEOgkf0mS=Xq7NlgLrEzf$&_Cs(Th@7g;--z#)Op`RLPD6 z`EQ0nnj1PD);LNRFq2ymO{?%W1(Bii1~oW?;xXq28b3@J<`Nr=jaU|2?P;XcHge-9O6C@_;<3mavz4?>(aY@*!~wv8Fr!Bjqk zsOb*tFKG?IRE4D$wrFRQ^l6_)xOE#6;&PF2Xgwh)X2HY#mS@qL82Ie2jc1LF!J)FB zFj|G(>2{$MOv$175!w(_k5A}9W6(EtcVmXKOA0G*{su*QH28G{gl&%w^hpc}3f}(! zM7BK;nWAYKF|SBT#*RH048l7RA|SBGhmfKz5&eXlW=k6-rZQPf(i0j{!lscJ*X+A5 z=wDI&L_0D>rjCZ96(IC6kblIGGiqph#}VfakA}??jgMSGui&wp#u(_Tqdko>H)1fW zjK*26RFR6b90{opmX(dvdv0^WDkhuyMvaGWb|j3A0VY(ukcLocSpMY(T$XLPUC6?t zv^H>CHsJWU;l4CH3WUU)rZ(1DD0n>(g*+KGMX`|7N7OubPIM=0?p9k5#DW-Wgsz1q zUkJk81t2o^&-IEtWsWuuOiBxy{{XY2EKRq-w7Z)MLH$6Yr%Wb@ z!WA)*hAnoH8RM5vgQ2~#wZ$1rcwAVyCGQE0GGP3ll2TKd{R%c-h`kzdXxa^nbY+ty zYZxiuf54K6>~KRi&x{CQQ)8BlB*y+(tL*t0Xwf6#qoHw~FCyq69U_u%WB0{x(cyt* zSgvwlu!b}@ucHVyqw5=|f`(ZxM^)hlMw%ztsm6y0ZH#}y511|%36o>Mgvhu^O`}XT ze?;tW^srtX8Q~LF$i!H6FO0qzGHh04PUVjwY>;)aY*@3hnwXZo8>~&8os9@fJV2?6 zEc$`L)H<3H-6CP^St~)8;WWzha$U0oAP`39cp||fL zBee+t9+On4_jrbdn#?zc`!gP_U^i5iGop~nqP5{c?0i078yd$t;t)x3Zieo9vXJSb z=sbf4nH4f1dKIco8ZK}oY)R7K)dcgQs=&X|ut4}4ntM+L7hMH}&6xvKpV*c7FQN_f z&-h3AXm%s?RE7$yVi;nmGEiF%7_$Bl@!l9wQ~qFK>`D(K;tzO%)Mfhs*I8n|m`)R; z;po#eQQ;6|^n&AMDcIHqN9l@|Z~chT21y1b^zJ=~)WIfMypgeUg8ia-A|BF03>9xf z6BDd;iFADlDS;W#@1ZX6RkVeX;g@28$VA?NrA*CN37e{IF}E%eu|uMSn#B}tWN)Ja zI}^T&Xew4!LZX)Io&u?(M25eSCyUXY&q>;6CCcVx1$4*f8)PBZ3DR)6Ylh5?K$ObT zw_?!a1_H{+se38oq0K@lOl!eHDkwY;0~5%Yvd-Yq4+J713wq#XXQB^^G*#t_`urJC z9SRaCmUa5Zo>(+K3aIZRn4!9{mNZlsVc>}uq_yQZ$(Gwb3qxet`^L!`nxPD-{{Vo| zA%#hpmGr8PO)}ux;fn)0G&f2zbFL96+%VbN5uyY!;K9)rQ9q{3>~A5(!#o-iErI35 zY{X!Nf*B=83k8HsWXQoS3D8c7b~g4QKeI-_dfWW+SahMq`u zFd{QVfo0S5#aJ3+TS*sm91`*As{Q78K!U z*gZRF6OJ9t;J)5h48!UY%*ankA-or2Mo4K4=uz}E@F6dyhAE(-V6bXvXgi`0rH|43 zXkL#TaKi*@LLwBBNNq&~8kj|RGh=28BMOkTY{~2CsO@ljz6&lp7{z&Qokz}n6QOCm z>}r>z^80-o3-sp3G|BMvS;GV0FPLn~6Ez>L#|)52z_ikWK7!~fpG_B|K{cdU6V3^d zlr}F$mF$ghZs^Gd{Mg%JIGFLiMQyRHY-u5FqaWDy3WZ9C+(fi!??O5f>da`CMD>At z3rLh{mDN}L0|(J%eLEWAYmDlut8cU%2D+c`85P&vFXs~*u)F0$%)&6jOJ>0t`aCvjcODMS4hFsqa2vs>Yp{a&Rva>CN5H3Lstnjz8se1nD}r&R zIHz0f4=Hb4Pi!Z`44Ys~i*G*>4b0|VI1oWsEq2G%4G-Y;S7G!_$sgIiKTin<>1c^+ zyKG95^hcnv2Xs<)5s1vyuMU$I%o8IDGMX&5D0bVq(De~WTUau`PqV>+Cb()fnsqu8 z$nfhX;ad?48K^sEgeUMeoEoR}Z%2U2Hl3%?+jv5Z_r%Q;9uP>{6Evon-V`^r7;GqP zY*@@^gZ{)<#CbC#w?9yfReflk&tou7!&-!F7>v)SWucq9M!-t-ffFcKf~L#COUI~u zp9U!1eSFNxfz`mt;1o)8tfP=ZR%lETcQ$;4Opq-pR2k&HFc6SR715``Ey7VGM(#wc zsT>k9+>F+G6OSf14C!JeA%r!4glXulQA(3_!`A`u^BRFx0ux!nNp}d{u8pN2dyZSg9#4xbn$dlNegNAJHfbE+) z*`cyFJP#tEKSF0?9;31xL`gMJ{*ETw78sWA)37r@HB#GS{Os7Fv1z9*|TWH29!x`Yi2x}VC!WGrkI*T zSq7e2)x94W5@7N{5uggnkj-=@+a85PoRMiU?q*mSK=4Hgew{b5vSiJ1GCa-alH$Z| z!x)W?9Mw%3TNmr}S-NL|)|JGxLekfCSvGvBNd$?G3qq8MiVqqn+V;9)G^zXk5!Ct} z$)N_{f>`}BdSt&$VuyiPtw9}aNNkw)XM!0G)Kr$lDT>BvUJ;i52uZ#|E=@TuS_v-=F$Ni%Uc#Xl|{8vg*$8m^~-II*EzA(|oPriX%ap$ajqGYX5e8Ra;Ey$d82$^Gk0J0%!QCNe(3Pyq8{kS;#lrm&a#g;F zPe(+EQF?e&3LwO36@H;^V2%fV zg2bWJ$vPz=)mX4wSrFIhb0yI@i9u~-V_MLyzk>ljzbSA+ldc*$z_@7rnjZsO z3|CC4)nr4xh>=V}(?94iN-wNO^gbBkq#YLKEB^pT2=+KMi_n=eg>8vQDq#w32~+e^ zKM8R1LdbGm3Cw4(8z855kr-6dCJ$$OGu@m%rcCrB2fdejwGBbX~r!yN@Ot*GpI(;OA#>~NTa2Z`V5P*lK45rghFP= zm62-N3Ut))XGyWYQw)lm2cap8ei2v`foIYxiP?Q5Gn8;-k5O&05G<{WS;KNuv~-HU z@;>6R8vQZza^5qfuv&B>M`PH>Vj8d+0Nc@tQy=2Uggq7`Vsz0oBQ(qdz5NT3W#Li& zi?Kv%K>q;YjVxVkE<7G{vA4o9d=*F~z_?;hO*h$I0!z!mmyz;@{{TVb6iMG1wX&!7 zBtHr^&qV0#O>M&Rf=Z#{kl1bPSKx-XW280s#Ukt~e29mrnlLhpGp9E?ig=#?>dP19$d{0e+&NN}|dN?99bUdAKf)W^KNFivfu*w-KCQ3iBbCtET zzBk8UdzOYAw4!s^NKpw@(_+UfJ^d^SHs+9{;OhZA!Hbts{ zugn?(N75x?w zMv(A?e?V{syYI&xk^5}gD#?kmle(dm36D^W3512qMU2`jPX<7KiXoA7gbhxGR1HqC z6M`mDId&+hI<|Y+Fk0fYqqL?4x3eh_2`^(eget5`vjpq0H>QTn^l8|(Bh4-lupW(R zCqG!NN%%dh(MPCDY*>b;9ngSjBWv(w;h-hjJG3ELy5k${Pr}59bb4(^t(_U8K+E!2 zL-`wYHzJ@-;z#q)&r0757sUVQ06rDczO{6Ugt1ScD!?F~?*W+@kxj!AXDq z1i`SMLA1skat}%uR8f&dBrXi88KuQj25C$LWsBN4N5(x^{=yi{3JfxOBZFnO;e_lA zh7)fBZkPIHSv-cL0qk|qf^3w(3N&_CSN$0qz<*mKkx2${G;~@;{{WHeUbV7|LzK(~ zNPO(VDqb#yiR>g|BWP}PYmu!j2^%(HZy`CIhD7UBp}3{VFB>)}-CQ@G7;F8FdW5^7 z_&$VOD5N}5-8MQ6?u7CiPP;$cy7p6A(F-i_7Xaz_Y!wc1QQsa{+kf}{CdjnmD9YhB z)NDyRn=>RNQzE0r4fZIIicJc2AhcWSu*OkC!hMv97ex)Rcp*=)N1^mLfT60^*vGw9 zJuWgdg@Z#^Qfm?+4R)Dqu_AE|8FFJi5gdyICdRl=qXG?1!q`O?&2U2B3tTebLJ@%G zdh|#op`pCdMBI6BdSOJ)p}J%{F~c02G=bJbS&%NSO(qxwXi>=c8g9fcR-nx`kJTQb z?O;XRj96*I!w{^W+%q-6iIFW=($O(BXc@5)n>Z?I=^m2l4x~tm7&>k-pe|oy^^ap@ zb_bI~=*`zCY&{n^m2ziY9zel==`F36K?|$;N~)xdQGbG8e4R}L%q7OkCfj}tm*l50ZL6WdL@4^>f>;*`!exDmucg@#{^oGnxOo?`F zlOhpI8Q##QEuH+nD5RMaz~-~g$RXgw#eYX@d>A!X-5Ke%Y8b?6{Tmq4r|nVDu*R}3 zP_|P5d_787`U@=Yi%JiBA{iMnM8Ck^lFA;V&JMz!TSkGOQ*6wWA6WMkD6m}1rnlo0 zv0?VYA%M&1n8q1p*xiM>5*pt|qs9l(lJ@ppCh!&i0N+jeJspm8B1wdiPp5N|hK;!G zi8*p0L6KE6?gV1MD3 zXF@#?5_GV5e0CxbiORF_o*20x?jgAhn7tcu5bn`sM~8uDA#M=N6+5HABV%NKj%y5+ z)n$XFEvkrP!zXri!0HBj{eB9+wKk@0HKA|AJr4njrKM#m7%LnaQ&P6ZVqy>d3|r^K zMsH$$TNdyHCe7fRMy+VrokDktCq>p>^oeVjU5=X@Bc)(UXIB!S!g`IS{>4^B;~;W{ z+9QCW}g6l0W1_}15yXM z4Jpu8nCnC^uk4;o{?TI?7~f9D#I8o2q>i7XQX?9I38<#P=@LY{dlPCf+JwoaUP&R& z)!4yvZm?eD*Q7ZHb8n4|=so1~VGh3n7 zg?b{9-gj)q!!7iKvDO>INQPL(tPaVBl9RLiL7=c%;*Uj#M5woNh)LM=IVSBxvicTA zICNGw4P;6+nfw%-K_oItvM89bGA_gD?~J@OVPH;1H5Wthv#w&1iBq8U4tdp7~LBQ~g zhZsJT<7n3`Tr7_Q@N3zR39?N)6PVQKbil3;?6^nVg|rv9_-gb-!I(5L z7eSI;G2B#9Iv05jHlh>5V+`2FXuhzF7`UWmjhZwyO!h;ewvf2%m;=V6RS-SnX2Z`E zOqHM+I*PZfO$w=tMJEODFBuhdIGEVr`IuTi$iQI9pU|sXRAgTmCpAyOu#|)B6GhnD zUjo(xp)UenhMdV7Ml(tJE`dDkLw2%~j2+0bb{p7Q62RU>(s&rqo1$arS&wCX1Rq5W zpQ2XTyCC!;)BO#g+Z_y0usQvV8fe(o2YMB}ZI*-36!{=>o&A)2Q|!5lLEJP4vhxPMEis~KsrPmUK0d?E#(;YgYyVIiAr zc~Y`s%8D|C`E*a{X^Myh>}})2a6Fl4dC?JJgDt4Y7c9nzP>W!+7}1S~gzU9Lr^*@h z!K(c@y@8zuJEv}Fbc9R_3}Q6R2#B;B!q=ls0p>bh2`tRU>_$vw8EELln-p}I^oOE$ zJ?f1NJhNs)AHfuP2BJt>hVbx0MU*$ZX5K{pC(UnyR9ijR?l53NMGVr9LmG&#O9=2< z!$v@?uOd#A?y5JCEF``hFNY=%^AHnU|{{RoN!?9ui08+y@Iz5FP8d%blBL*n6Jq;bWWzm~n zh2%fT{X{_^YMbFItur=E5NVN<&IN5Eh|!=LDjm#wK7-wx7;UjHMHpo6Djl_fHJ>9( z8KlT!C|~S7SFt&vCByq6B-r>KhlMg^g$iK_0$shEq>!1*CTyI4p=B~CM2C!w>`x;C z)BF&yiO~Ovhg0N!BQTe{aJpx-J+#z__`#7|Gh$(2ayA13y%9Qvg^kLEH)T~%j zC&6OlNW$l~4l67kiYbCFk+S+zU{rn$o+eMRPSL%M`p3C8M+^L-I^z)zgvCR^TKW{$ zmU||}*v2B2FJyjRFpb1=VQJc_6NOZ3FW2DS{DuW&&FLh>85J1|a34w@qMG^}4kBPq zB1M{vYGhcp#Mfe`FvWSipF9XmSsfaHooF=w047E0i|8cZM_`g_Aik)cA_~cpjj7II2`eopUgocgil5Bd} z7EEipF_MhOvH~0UB4UzR9D4yk!zO(Vwb1ckO{Hc>W-H-go(4(Gjh>7N=>Gt*@I)p; zB*JeGL+T*cpxu^QW`ioURiS}%_fnIcqb=CxDj`Z`Xsd>DX%&}5q?cD{R?UKP*xy`W zX>gYoO%SZ+Mx8n%#8+5E+!z~f+b;1h_(&v;Ib!z_|u* zMM}CFL?ujs)mDa>Du(V16-jg_(Ho_r7|f##EpoXs}lMO_`k>QRBkm6`$%St%# zE-R5LDMXoV{0+8CtKr57ztS&d*rOM~o@lh-+8rA8flCG>5kF&|G3}j?2F8&M3DLty z(6%B!M#0OuF|km9C&GR4*&z01nkh?0AVGkH*cD7sJc^c1;TCMoS%Oc|BM-9!Qb8G} zXdGW-MRH@~^thp<+$&v;BXnPR5hBha>^di8OPqVors7Hx2A4UwKm{AzDEDqMiiqT`i zoF2@gv{3UK*o_##u7P7>QA8uIM?r)jdko1=s{+enNrdSxUJU~yor;#(DrsQ<06`_2 zP!Tb7#z=B+pvJS-)MO_Nqk=GsQX6F;zR>gX1BHi)y%A0x$Bq{dJT@*9qeqA_@OM9q zN?9{wLuZsW#%C-~Bqek!QzlZ_(R>N2XiZ3M1CV{by0MKxoe1IvqKM#t13`0Pm883m$I*z80j^$1!Fw7~wjVkT(y#wXI4 zhPc`HwY4BsDshO|qO;xxO{=zC@p`HmVbr-~VCaeC)BkX9=lcRkQgI~f8+m$eVnnMMxA>&#aTr|z{nDShWLR7~q7y zj*_gQNuoMn#E_U_BrT@wS_ey6B=Cl(5R(+c>|1z0QXwd#`4wdFHk)Z+Mc03z?e!%_-j-Cb|)b?s|+CNK6*AV%z#6%nLy% z!JG><(9kU{F-|Qpwt+nk!MujC7RJwHlR}p-h^(B4fKHATq#3UR&@4mKV+I1Wnk3mN zbpq{hA%h55th*eNxI@Gr1{rKi1yc~yDO540_#u;?jGbgz;EF=}v^}n2=;k5on-}re zhJ~^SqLEND=(P4W>GvYH*sxC&5n4UasAT6x2!={o8PaDD23``9L7szs4GF|NmaoCO zn1!fhUPqqi!QG}O_A! zyfvE^2J^#Li&>%;7DD18s94cm?JotwVS$Rg^uh6Y!4OD-5!jyy$W2YSBuP;((Q5-8 ziFTOj#)wuRlC7sgA9O3&N06%<>@s9eaSX=A&X4*Hg-bJ9H3;qm9CXH}mdq3EDe~}z zF$zjzbnGcUBKg4$jxpI2M1)PA$@nR_j?)6pnqCmknDvq_%=;2mV<>85*`_5&f>L-f zqSFYsD^+Jt;P{S2$j5C?f1!Q^wpi1$aj@;wm!CM&;t<&JqSIo-C1!`7DQsEzUXahk zLkW0FZo5eza@@MqvdcoBu6<=Bguu(HsSD1`bq*lvR?r$reES8Vcxx7b5ffrCd~K@Th2 zgA$nJhw4OyH@%tv07eTUWG2x0e#D_!K9o#j2njkv8Z(SLo30N8WUI= zlOokZV}y{yBLR#V-Oz52&e&c*MG5VhEKeoOy!tCrj|w(XWQ`q&c^!)bg21#}7Y5HD zLrBVIn}RWW8}uOZCI;b-qhih%!r5=r0Uy}O{egyAp(I6!ZRl$ViI)g7Po%@s?1o?* zBV*o;#QYCrYXXLFQ^FK*HKk>JM2UQC+>Y2~+bO#mCV2R2U?ud>>k*Lq;TB}Jk4z){ z1kh*&IoDZXmfo$i|Jncu0RaF201)KX-$R5LIBC;dt81}-Rn#tQbr!VyuW2Fk(i=Ka z{bL*p!Xzq3MHhjAbv`cT{=hL8ieb!nj6*NBJ7%nQqE)^3fiz6@Z&vHjO9GQcca2I1 z4=zW}LEvldpxNT!qh5du{{a60o#sckS;uYtlJ_L)Mw!pp zOqIQcmY&$_RlOYXUW!T2DxRVzaujK#i+}<9nI!##P5rQ*ID!oMWL7fFCi-iFp@?@) z>XyJg=b!p0@ejj73|KY^^)p)46iBDTSPvD)e2_o$8EB!JZqq$Go}ViKzH<<--OT=w zAw3HM;v60tFu!1Osg{gL!x;SLe)ds2^Q$ojs-9{zZv+=@W{De%0C&iDs24tMa18zu+^*}Yug9Af^TTfoh1Df5p|g4auB_;*sGXQ zUfR0j;|_AL{?h){VQ->IFbL5Yxj*eRUlHq289(|3uBnza1A=-rir``QP4ViIZ)hOD z(Yc~aoln1j39DIK^gsy7P7tn9%6A;EvP^AUA}w3$gK^12xXW~G>c3v*YyZB@Pd&7Z8}xNA*MZItHK>b zbo0Pu>^yiaVKk)e$zB{ABu4r2?i?;ty``>wE11w$5wN9L@k~y)2r`-f0O%6^;18#2 zMlxMo@@Bw3&9;^M00YAsTZ>-pHS6x_%Z2_EN{M+-6`l*~F2o=>8p0-E4*cvHuFu&c z*>x&PR7xhy+R;c_Tc{e<3hQKrUv==VU7>#GCSMUNPOurhj+!3Rc8}b;k`*v0OM9$Q z`V;%zU|S69Dj(B>M{u#N+3(FKk)pbd3i$)aoQ%4|iqOX%wJO^g3}-a6W~P}vo;=k$ zfB(b)CJ+Gt0{{a700II60|5a5000315g{=_QDJd`k)g4{5YgfA@&DQY2mt{A0Y4D7 zdVzI`?u{zp0_IAX-h?EiH9{UQ#hW9B)a2xI)RS#;g5)A&l`paiu1;6H?5d%;^i{=C|Qm@MyhJlg{Rz8?L6ekIGhSTyxSl;pcMEZl9r z#YgRB{vx*b$S)yH(Wzv&5TxC5v0)Au;q zU~27sXDa?9&m_i@`A^h%ueDbK+iDnF=3Fqzv|Jm8SX9vF6CnIqg8iB*2s;fg*eTee zswLHt)^P=VfmgO%TbLjUu`0hBy+N>4}#PY70y%042laW2|}{F2l=6<5e0 zLAG@?JeUmT0p?Z4)C!iLIgCki23c_;<9 z5Uh&zjm;n%X2s(r&}1rY=3cCTH^Uka(E$aX0$c~sQ1qSL$}EQ;)I|+r)q?^d>=6y1 z;ew)?&Pi1kHfh!H<&`Vif45=bo1*>gAW)lEUvG)hc1!!&4^YiPzj+m~pcCT{s|nbU zuIEuH6#5X5=Oi)PUs~V3Wf{8qBPRl&_2vTAm?2v^mPO+#BU}?DnyVKs2Oy<)kv~Dc zfUJ!+^Ab2@HF5Er#cUVZDHzNOMXYGoD*3=d18oMcB`3621PQf?6?iFv@qrx3cZZ<%R#PO zL2LrK7Zi=wIpxWQy><}W6XWdqczkTqP0rsar*h2kqhu#W1uisGRB*`OFA z65Wx=BDl>xcmIQpl>gK=qazldQRRjf2L@ zDId)AbkDxV;gHpRLVVOPTt@g|dxXRR`GCZMLnI{yy~<#1Ee%#f#x*smw+mF59+4|+ zE|*f@Aw~(ELfwL1uswl(6AOIHCgKW+*b(6F0H0uTG6=PT&dd$wVEHSI<_5$DiivY6 z+^qWs%q5k%(|klzQ#W}so7i1}E&GbL93ZAkaex*ke$i_B!XdS|4yz$5oEVk3Sx|%m zaT?+n%$H907YWG|4&cb@;;1{Ac>K;;2Upy)UZ7xXvP>zFvmGV87MuduHs1-A=20+$ zohn@%8HwSSE;|UghzY7^Le)V+0Z(Z0C~yPJ;O4@Ed6Y=XR4CyKKM)#fBIz~-aLisM z2{njx<&|7HhFsZan4Qc0pyip;S@SCPHa`rwsILqNE|DhG6Ldnw?5fsPVhXkaNl27r zMJE*;LMibD-qtCnsGc<{wEksEQX1X^{ldlr>`XX@hW&tt2t)v4Ux}A2BK}zTRjgY6 zB0>d4JH)UM5D{UO%ehe&2tY(7&SJh`xBNK?QMnLlLms-QHW0FH7Rwimrt7vEqMh8e z4$%OEn5s3*x!OnM)BB37h*BdQ{KJ*=FulsVh1RZL!Pp9Bh{G5VF@!&Oshw zLtyZ@D(OVY*fm5!NLn1Hj^&IvmOrPn;iP3~T?lr7n1 z`3tliz^Rb~^DO0?c*%9GB1CFX{Kb@m4Nu7b05HoFdYJx)F~&9aRBv_MXF(^R5A`mR zw&0Dd7v^ZU^#C;+f2Hw^({{XDPc0L`I3Fi{vKbg{PMtos= zv@DisF&J0sY&w8Cg$uzj&ZSXsF4LHsZxf7TWDX_DJV3G07AYlKs}_3~Nh7;Avvx&597UsYC2~>EF|s&mGQP)(lo#A5mY{>&^i@5! zU7ZM`zoQGA2)g)mMwGmWgtG{FOUSFJij{H25Xv#OF3b;NA$Z@?As^xf1uI?pV$`vI zVNMu&fk98yKpQE3tcOtOc0{lve*G)c`-?G@9+|0+{1)wy8l@3dh>L`p5}>mC0vp2t zOPET@+1w8MmI+Ip%66A6Z1D) zXW)gRv_t`1N6}}J#f@K4X~Cf#hPD!a9*NwQAR-aNkW{^Rm2Hfbxi^Z12;+0?0BM2j z<&DFXmv()Bv=j97NK^)5w${N<&mmARVhI2n%ccI6gpE_#q7x;2XFa9%ALH3ZNOxwa^tg zXFuJ;SjpsEeGffGitZ;Nl&yut;fp|EIU-F64n$>WfV-(r_CQ^qCZI8aC?OyloG(C8 z{J{GSDZb}2f+C?=eg6QYTs+me7BcBGy)sUsQi)d_cQDfK98Tk^O_XxSp%k23{-Bx_ z>_!HIp?K9799!5|85U?0GaxhgV5ef z`{zy2jM;tlr&-7#B9cdKD#f0kWdI%7U)im!b}uB!Fne#C{#hCbIHxqcsv zLe@em$ar{ts=^q+mLH#f!330Gc@P1_G&Q73Yb*}pnFAm`nFV7jRDCa~30~YZ)I}W! z+t_upcf3P-0X{mx#d94k=01~?2!;+u!j_}6xDE=IE|2MS{J}0M>H@P{iX?)FmrOR% zenP>2D=M`YrgP_TdGumMivIuwzDaZ(TIfD=9h~Bo{mWk!0c~ygajz0{7)ov@W3Pa$l2WI_=Xmgo=OkS#(3N|kHHlJQue>g z1hUm7CTI=-sCKG6j6<7(^X+>pgGHJm;a-af0aDu7WsT-&*jar_5-ww$!YaG)iYT0~ z37h>uy`2U{b+*AnC@WZUwq5ugn{aF(ipC6LR}?);C0a+UC}10iZUcyl#Z*)KrOA(2 z+od3eg!C9KDN!}CBK?f>0abC@KgIKB5d_pDMe-V^>aMx4)%VKpvoAECcr_{5%PLle637{QvC>jRT3pOWm%yP>DEs9%= zY4{0NJUAi?Z8uS<>K-FNKPZ-IVK~0g*ALwST4CbfaF>$ATG-ehVyj(1H*6J^aRkU9 zYY-RgqUo~l>=fK(3p_;pVZ~2UhWnKsL0v^zNH;7Avc2#h;-ZmGz_qMP^BL4O3^2QL z4L~`b1`fWgIFgTL3ov1fMBv{dUACbbVZ zflzMJ_(z(}y_O3yR+YPmH{=L#2FnvTIlL?LAloh`jTj=dk}N_7lQc$EX1;D8%{WE5%H1YnKvf4R9B5Hgut_=iALL!pnM&-$ABu?J%v zfO9Dgm|t<xIuFc8 zL|s(oX*Bsb6uwcY!l5tAC`r9f4$65@IAS1rKpNTz9&iwgJTT{JV)2Q#*+7>=0^LP$ zg$39)e-{_>(HYG46V_GT%MC)xazgFoN$db*659wccCSRBr5#r53s7+^0aUgdpj#45 zCr~Fi?aGh#ok3zthAv&a34XPxbhmX}2)CvmtBX!5?4Ma=RICAC)J=7fLHZ`A=Ui|F z?rr*mw-j`qpMFO=q-6u7#nZ3uJu|)~kIFE8m2Jem+(jC8QUt9OM|gtaDh4~8A7HLV zYh^ZRiemhL94)JyQQ|NdznBE2`2{I(2!Nb3M#fe1FVLt2*r{Qr5knn$6Og}PE{v5v zDj_(*qR%0zcuMXODy&4`LgzS|Ko?{>JOlvH4Tp#h*Ef>s{^i@afWKyn!dC3mSK{`kOg0vMM4NX5)<&Py8ZUCEJk1_XAe7ZH5*P)55Gq%9{{X4Fv6pP* zCK5n23JBQ5Lx7vvDu5!4a-a%^vIsi&E}&dEgIJtN=08ufO)lpGqA_jza8U}VRC{8B z!Gsz)+)c0%JxCF&q-w5s-Nqf!2W9?wgB+6uBdxqfu-F0E9(ssEui%y{JR;>A z0yN}Ps0i2mIF!2>Xf7Zq#=D$J30p-YU({!KSOo_?%UauI+lv)VqqtMd1Ugr90T~!M68zx@l~de zoMVWrpXD}G1+txK+*-A^UrYf7nd9bA(g~MT@cOAE$OBH^i--rH-Ke)4!14LpP zYjf7kh0@P|**zJb90Aycb0Yp+O{7PFE4-S6C0M$XDKXT81!Y{hS z{vo2`2u4@y?0kZv69i{eHYb$BWO~(1TJAZnBLg8?hEXtRGlOE^^AgMB*pRj0LuVM8 zg6b6fzRRHMGp@64yv3@e`ICBHFSY)fDcP=J82C-ARt~+eV3;|AGdN1!0z6KQR4Sn8O2L!TP>%^#RHLcc&j=^CR9L{( zi<$$cbAaTdp-9jORCXlbD0$#tL#`Y!37hFKK8I523RXhMC=QkRM#;pz;U9e#0Ydt zAd87h0s}+wD~>VTz403@wWucXmK+2T*MI)E1|XvLw@5$SeqiFo8^shg`fox+w>B` z@GIZ##}b*SNB4W7Z>G)BX|?9v6rrv>O0c`};H$RAow5 zRK3F9#c9}b#$;IFRRC)o*B`TN`j$l~$_FP=&~3|eV=8N|UT5^9bI=9kDTJ9md7+6^##KSpG;IX3B^l zi891t33j{Mhy7-*en+>jK=>sA75E`!qyQjNxP%;<)><#9c2tETK*dB~!y|$We2udS z;Ie`$fF-2Ea3kb}sULuCi-#Iizqn-$m>IAfhn>I4UD5#ak6bc%w3*z|DDRA+G|`Vd{NVzIEr z$T!qjyX+!TqT*kh$N*>U8)=e|^$=x|6A%w)H5c+Q$k0>9J+o(QQ8s_`i$YnUlH2wJue>-@|! zk)4v4e9OHuE#7B#@eW~q`%If03K@zQDdahUVfcnF9!@YTK0cnL2u+s5CQCWwxDb({FMkDM(YtP1e+98HUiL#7Z$73!r5KMF@l@9;ERQ$ZJe4b z>_HwEw7@87;{$LX!U)uZU%!xOg>NuNi`)yW4JW^Rvy_!A%ZHg#7hFU*2xUv9&L!hZ zlB1udOSMyx4Lomx3M%efwZInEAI!fqKCPN;HHQ%3>Sb8bk7zZn#Mc=H6*EJ);Z-z! zNq(q7g%Z{g1rCG-Dk*b+FfYZtSaEUaHP07^=!0(M(w9p_r!|pGdX@>3vE0I#QU*7S zK^pVIR6mFo_z;5DTyPb=KyB_;BZvyae2drv$rOOca@`=X7Wv^X7Q1+uSVCGo_YT3w z5n596$7Q9|sbFs~lJVp(9C;h=qJbyI87Opwq5L4RMIFPi{fPBM?21*mU>f>C5OQ53 zFC(r=Olq>BRmQ-<+ydSEF~Oq9j239Z0lGTmB}3Qt-knP(yi7 zgTz7Ft+U;l*0CZmHgyojNo1~}P!JAV2hwRXCMsQd7q$si&q#jLng zw|O?maT0JZ1b!x};UCtER+5DN&}@epDb?i&e&H@P)@;SSxYQTbOPkBvDdA+QusA-> zfp7Yb)ceJ37r`+H?HmE4scNtXlDb9HEnu2i+^WuMFX=NjuSsZkaPmXz2-vrhj=Z~L zx>>|fI%Gs05i3?_joZN+bbW%(oz_vIu3-m~fLHP%(n!~CL@lC-gpDJA$^hUV2mZqFfh@5pq()L%d`_mBg0^H{2r(xeKYp&;gV=vItPq*+e~wUoaLmDsFBc#B#M~ zn3W+!tz)t-(Wm+#)>tlIJzzrvmCSAxtJJ)-^h$`6xFoGRONEakKFm_Y&7w5}YVC z=|&Ois_`tD2Uv*&`cV38{+N_(RTdngQxmp{?YS>GtY#11(P;MxL-PR+ZEyX4r8XW! zOG)`aL0Q}&3UU}mF$FYW)g4PfvG!PvuM7%7+`Np1MR>T%Dm4hMp*m<-EtWh(K!RA? zRAl0}Ivf80sBYS^f#`^;n?N{j;A>Fg4 z9;;3$oSJg=DX9Q#h!IU}-7@pa3!ol?Dz!4HacvKA)EiRAHh_JSm>SdM>;V=xuac2& z)B=>Fsm7b_rPJ{po2eMIX`5X^Y|2`$f8YgfMx}IEW5!B<@=Gph4r}T46N9MbRweSN zmE7TH61O9(0Q{Gbd|1cbZZsDcccxd~pF`irpI||12%wu)#HFX^IER^+9FpB#_<)qb zfi8~`!5n&vKi}uiZ%5)R1Ca0|3XjTSN8u91*NF6LF&rnnYGBe9jDDcK#y{kb z%!U)DEWZU$aDl5(+t{#<=W$S|9iPk+h-xA}P~Xf{sS0e_!qm{fJ!HFY)S$7Yc_<&p z5VG*Ro2^_WjWzoZ_c}-d{{T?-0qz=(vgKQgxk{sV7K`vfpwZc3bn=!G{{RtCkG2V_ z1&4%=6@=ff#Bdnak+?Fo%N+(7zA!U9URGOS;6>emx{MvS$pDlc`p*r^w9=bqM=mQlAQJ zuSM5nYM#Byt9JP@Vb`1g0LCix)?d%%G))gbFU~lBZRWWI(;r13dB~|2b1}qniS8)hCD47=E zJT+9TOA_u1DO_9@FNl38Vm5YJEi$K3K7PxD=2XpU9%jU0N{XM&`Hl3CXj5jGBw%wa z`8fgq0D=Y05m_u8#>-0ULs$HwfrBGs2yts-5MuLjL^Q$jc0#{MGLeJB2-qfZtv}^!hF&el*B%#SIm_uXFvhkKpCADM<2r<97hF>%B5VUF` zQjY|n-4|sh+Up=uc?8bTbD$p+6*Y-YZT|qKVs~Teyj&nFZi#*!)(wAzQF~XGIEfy` zyd{hh0{0`Y)b)E!UMEblHBCX#^Cs#&gK$Z-lY;xkmaK#4`Nn>mR9L=JWzvIQa_b#^~uLAac+ z;}jD*g6>felOtmAOg)5_Ek6i#1rn?-28CK>Lavnps5Q(h_vAc#L}$qW6lsJah~Ki2 zCZt`JOe$$l>bAcOTF34uopCIkj%8Cp)OM9^CBmV}Dn?gx1!U-#Bw7}>%Hk5ENEGb! zfHemMdwV;2iB~(FH>6sNUSVq$hfNG#h2Q0`;g8#_Hmf6MAyzm!i`S3T*<$Y{^8H|z zJcg8%>BAB#UQoeAsYv~wW`u=rs83_s!j2;u0{faBUl4c+L_ZC|{cn|J=}YX17$@%- zy{0iiQ72+2`-0T*n!k`-st{^lhh;*zWeNECMZ-Wg&e^ z*o<%^31(VY)NV^L3dPBM3woBiA0YrJNQ6fGoT*g+S8IW~)v|yZaS8+yA{7jba*my$ zlp@0MA!q@S3J>f3M95IzClAw!rG$%rOi1|b*fw_5mh!;?WCY~h+1@bcx z?s9$%2q};A8Yg8Y4@Oq~lqlU!(r7(E)tp7zSmrHz2PuNe*+&wfGr`6o?OV*W9Bj8k zwfebs4HBK*kw{@I(1?SdBD7g{q6DDU7d3S(o5PPII*hen#A?-U0Pxi8aP~FJYob&( zR}jn`Iwv9rNvLs7AB;x!c8jXZ+y4N4jX-KT5^6c}6gj83x=+EKASDJPsG7-Pu%u!1 z5UA*b72;#JTm%*?@Q=e+1Q2$Oh?s9(t%R_=9?Joy!l1lq`bABE-4VU7P6)ea z7>T$p1~5X31lByM;H^K@`SygM`|@DAdI*M$TFM`l$bx~W4KHPfa_q;Jt_oP9vyt%X$)DR-D3*8^i}) zc>uvrAT8PWiqxkpA1Le_f9MNxM!>gdnRVll4jf4P19Iz+(t{fSx3d>@hv z=d4J>P9hy>oGYJYUW@}OEC2#rR{CsX3nd}&KnSs{%j2s50K8>cZEwBqE{b>uP%R!( zbvQgal|jE&J_*0hm??!%S1h<%e{d}ksv^5MfYPEGpa$7; zz@UY+Kld+9_S7vwhf3S&3uRhbHLPh45}9nsPZJS2ET!wi?M|; za|RtrqW3HA$yf3aISz=f!BCJ^rQ3rHcNSFYYu5EH}R; zDge@)5apH&xr#%Kk-;xUdt3yn`RrO});}TB5RkNwPyki1*6t-xzlp}Vf_kKCSKyCG z6bk!3&BhKo-ymB;$2)?$SXkC!L2cTp%EKd{9;1!= z#h<3)gsRr-_BD;GRTBM<*w;IC1WY5hVXbE`#0_S`*ZPXvV3%_w(=CKNyxX7M!bJ}b zV!=fc%*}~JIBaz*6oT^&LX_p7-E}huJCqe;7#z}>kdbJ-#4L3vhFUA=mw>-vG@;~k zwlad_8MF9H)v)Q86|YfAEN={SztjH!4kDgJPwWvXfLKiaN??;kbMM&7#iyoB33RkS zqEp@2*FCn`a=xiw#pEtm@I&%a-vEy{;--p=>B|PSSZ2zKPGomXiP5Eiu=OxAl%1mt zwoTqq>I5V)cK#=3!YX`>!YDWw>r*-W8&55SBP<Cqq*%V~Oq@xDq zW&!zR(KMmeNID0mpdon=f+>v)S=4koF5Jyg;221uuHXxAELm6Glu@rp2y|=7oI0E_#$AF*bt&r(ti8uZ^Ww>mYZ3AI=k3V6m6hvIFgvcslmZ3s6VB^4oNQ>kMLw>|{mCW_11b*~@ZH@!Ddma$O zfwHJka7g-I@7On>7)o^_GF?S+SGy>IvmQ6BraGhvMFquN0X&QXSiZ(ygGogPDj`mw zD_9q!G%hwHC&=Hi6728wQnbuT!kZKauCNWTdy2}fhGUR$IG@27m_n)tWU)*;heOcU z`~LtDDXb!qHSz|Cc!ClKsY0b<4h{9Uxa2-iAkuLd?vO2(bs5`|%Fy-@1lWtn@>BzS zmK0U?aQNZq@iDli`IRn;4j*nBzbV_J{^8IG5;z>xSE2w1ePcoWC9Wx6MWOJxt)BHL z7xtDiSJ_ITUO|VO+)HX+2#)siaPdMpe1eJ&OslaDRH&LgL=_1M1TV0R9+`O#U^$k> zzV2iSJlAsZFNCo)oUqn3y_U&KtB!(#Ew~!9GljO&>{R==xUP7HE?-{YQ?%jCu*0kY zMa_lrGP#uHrtjie4?ILU6}o_WuEZYWsdHFOy@h*Gz#9P0V!9lo)-jIr+siJZD^LpY z>T=;-bugwgMu@^EN06xG;so-9*)~xXPyp-5g_sRgCDYFlKxzs=S4JW2e34R|#J4YO zV?%F5X1<3+VH2Dq)L*C^3hd89WGMDSb!X%aa-Bg+lgab_3_EtW28KNEGSb<{FcDi$ zVx!Q-nFK!KJPPP}Dk&*(X)Jz_5C}Mqu2ACTj)?B)e{!*`pTw>ehf*-uOVIxS3K7=i zhHBRldl!mEs;U~~sNNh$RD1sH zI2Ps91aAdf#7*bm%B&0}LMAfIP1eE;<{_3VI36eVC)Nlp>C`pp8&uIdi+L%Y<_nBk zaC(EoW2j$UH6Q0@L_+6eaIu1ylZd1+9LAslCU;IC1UJ}_=7(iD{lh{EbdPQ3*klxd+(1=^R6B71@<8 zFT$C12(0sS4zN(5yS`-(TFn&AHK?}0qPdF`VlaF}pvMSs@04l|5EbVl0qvJtQPf*@ zlZLd#OcG2F`Cts11ppN&Y&AvF2Uv%?_I*E*!3!b#B6a7Bdh>I zyRXA~w1_(B`u_$FeN zEK2@mEvc5XVeVS-1K8&6rAjeBP;1EYG=FLYH&?`Z6j<*N>S(kgm1Xo|z}j*sLM$cA z1D_yLwq4Ut*dk0IX~71_rJW#Qkf=@|Cj+?Ye4(jr)KLI$6sX*VEhju-{ zbnnS?1B1vbX*#HQ&BJ?T=8-a>t5M*Jsnf(zK|{#pr^0e}?}(ONlxrw?PSm?r%D1=> z9309uL`$9@-16^iEimkj)*5#+yxhcFuhdeiP%p5u*arkaypqo?K%#~!ROT4+^qmBF z6vU`6H@?p;*$Lq$m*5ePO2gQNy{ zyuunH9YkDe^%c#;R2@#3VE848*zo|V%5-?NN2&OYK_GLfI)P=e;hdU}aJpMF!~)vO zmH}AuMsp8CDcl~);uKEF#0k#1 zAUj)GeM9eSwe|f&z|sh<*rQ7z;NoeyO`f7Q42|*@jOfB00%Qem|AmX(98B^dm zA%n8^Gp#;C9!{A+6w`(tj!OuOjGmsOr#S4naQZ|V+XM((2c`nSR`kRskXx(h%q*&- zR<(BmgsPWN-?Kxa1Q>@RTn*8zx~i@NRo$1vSHw}kr%`lTov=f-b1nl$44SloE{C>1 z0MP&~4_R{g@5z_2#ajq4*t^Ic@AeQtKVnd$s?Ja?bsZ=@c@`r_ zsh2X;OJCFk-V00OQQI0oU*b7vt4rWYy8cAMjw3-jj;gfHLl&lYEE@VGr2hb@>tn=f zVB(;(FErob4d^_DvI6#TpB5}BnhHLTix#m}l_{#QdXHAR6&|rw)GUi79x#;Z=PI2t z#_62I4w#X=J;cDEiriAo5KR!^vNr+3Fx%8As~t!23u{{4t!w1s6$c~&a~%DN#K$ES zn#NSoL+rR0QD~|h+!ZiA%bC}ZVSJMSz%jV;600Xyl8wCiVBZcV4)mIZji`aA;V5IeU`m4GGIf`6 z4YuQ}D~m|L#Q>1N!DFI@Jtm^Zs8=45vI#U=3;g~|TZ#xW^&bUEKk}~%Yo__B^C47?-YO+{Pp;i!Qjs6VWp_-m%Xtq zO+aR?V_p^YsB2z|To+K?as@a&TteLUDH%!ZYu;nCLOrsMYj-V+yrtMw72x?OGkCc~ z-TZ>|UbhLBfaWs|yG5mL%(Nwm)ZjwJRpoOnO$g4*Py}%T)La?@iADf>mR-)%eI03(?go(ujq!aJT~9Hqc+W5mbE^yASFEi0ObhM(10I^ zbnG??p;C!@cx56Q>Lm<2)x18+fk`8tq&4z{Z|dd6CN*EgHMFGcf0?8B2!A!qr_x-n z(&|w?mep@8oVN6f`nZUUIF}F=DPUvFR|h(m?G`dKyw$`4wah%pc@tn9kV(<(abnkk z2q(f)Gy9fnwhW+&($sL1lw0<23LQiW$FLey`w3uA!XW6JM{k8oV7o-QXHxbX>QLp{ zLZO4qvt8U5ttK}gR2@q~l>qRyRAYo{^7Sb^gs05c9hNOr<;MjTP#P(gVQB#rg=X6B z;`YEL)|X9OG(nup3OpK=BX~rHztIK3L};M6l9~YS_ByTB+{7zSY{|{A?#bS<1~vFYj7tZxZX#$I>}Q2QDL)F9hhJjVN8$KwHkdAKJ|%3@~MkQ%LYZ=4`6;6srDHwXG54ayQk!R0nWkVaKkRF zN?(8J3$+CCSghriIOWV_93I0+0ErVq@IWVo;7W&3*U3*+_`pR$FA#<+EDTWPTyQ zjF!X8E9ke0Toj#Rqh_Eo$H{PLf4KWprerzpA0B#Qt}jMn)XRuL)}pu$?%xqKUAE#~ zyNSKzIF8%~6M`{0UlCV_v1_<;BuZV}D)M(W4=7nI&Y@crV6VMe>Q+l=x;=id!YI&< zrCv)$5wwECbHRpo80G?s=3z;&+5lBHHy=PQVAm(4568kWp&3WyJWQAm5`~CL<=Q2B zu4TDY(f180^@4wm6F^(+xe@vxi5P?16bcA3DN$@_3kD@dx7-tV@-HWqL}ccFyiHQ; zh)NahC<2Ri`-<|P5D=({bd};csHh4Te34lA?D19Pbp*D^nK#pL1Az4aOD|;Xg|h^T3XRGG04?GkXUSWj?Y2bG+pbmvg0;ehStCo{o-ptlm-!UrR;Q28$B z68cqKLD!4`Z)Q{KKted44!QhIN11BbGxC*cgSRy{$ctmBl&EQa%A@Q#xKiHdEJQ-o zThmYRF^Wd&HSFRQ8Ze@b&KW`$Sbn8m!H1XXZ8SQAhA)w*buZ6rnC+*6oJ^Hj!a*bV z%t>a&#XhD~Y}|X<5dga!cwF4rAX76%fzm5#P(6`ePs9_-VD}!K2T)Kq*+Rv-*jjpU z%i276hf*o(4nd|ADYMyt?a)G~Q*|&d^n~NRh>BZ$fxHIvCm^Tfv9=z=daaF9DlG-< zzOho5WUyQV+Aw!^4Zff_?h0LOPq_n5Vt{&$Q5ql;Q0k=%Rb9(OP$rj&_zR2#OMqSk z6Gp)}mPX{@?omxd?n^^5BAaZ%cT&Oja;w-OceC-LtrdR^ET~{Vkp5;ZXR~R;09TG7 zxN+5mF~A&5z^FwE?gUM%%q~uyLEYamt#L9Yh;lpREde{Z_>}cVQV79l>J1s@ zOEq)$4X0jG6&1YdR*`6^NgIRL{Y*0DEvaK%i?WD#R3&^PIF}L}DDFCX%0*U3U|bx3 zQ9{Cdkoy4F?u!m!| zH4-`o#ocA>fJmX_23oau5#*2YDF)wUae&*Ydclam(O81$2NnulR}o^CG>Na+Au>8D z1)JELy7-q_Yi1=;C=-@JqeG|?-V)Aoh1|Sf$r4-j09`Hu5mqkMba4XRsi+004^hEu zb{6q8B9jWL>N1vldW+5Qbux<9sgjpkywep^rz#$3O40T;s@yDCQ23wI=u2uSL{}{2 zCd(-G8{$n1*a3b*jr9i2fL9Q9xRzC4xY@%9YGzSfKbwsaI-V?LoQB@4Xt{=V3v-B` z#8{}=R|{T|rJ6IDV5gQ18N|`{0d0dz-M}f`K;ewE07sl4y+APx+a5?z$bE}cV3Cip zXd!2qDG$mV{{VswM!v%U)EZwt%;ApMHQ6nyRE@^7sJN=iAa)6njj9Tuc@z}XanbzC zRd3iX^)it5-R!nIQ#cCODSvp#BFS{ z<_G$M3vFw-^4V}V1#Nc}YLw*5#(q#TEww6TZ$CLIn|O#TDvD`{P2`vGjbipARLTbN zE$B|#mNs>iYO!TCU57ct`G$$0w&nJ&CEVqpL(vj?u(5OGbYTTRa6~h>gB(QrQD}1( zj~GhlWvSRG+$=oFk_{isQbktwkyI`9NVG*!Q4-0Rb@pES;-w%L)E+3pRQKgxSq-!u z-H8v1rV+}8AY#k9xTc#znK*DkRW5)up39n*BnD7{W63s2?@ zWhimQK_yqP2&<%l4iYtCX#B=e*l{iq#zBRW;`6wxl@h|znNx^kw0WyZT2u^*Vk)g$ z#35Q7RINDZ!ja#(LfBMYbY+fs^HWhrh#_p|Bn>Um5()zti%Ja0G|+OyAdZfvw423D zC=xhWoySsaBYhhMUstcxTUdW zO}o(<5PTAqn)HGN*xn83lqCF!_XVlk6G&X76>)TdOB(pUkr1H-2BIeE&ys>*=u4I4 zsg#k9Ua-eEqss;)Mf#~`LGD^|pV=Hcu75J^WlzM#r!WKZ0@Cs{3L^fZ(fO5JA_EB5 z!aO(;zUv~W@$y$;e^5=PuujpO~w;!-~%`5y$eIH+}fL>s21S33&Vapvr6&fpqc z)%h46!KGBGfR?Q3{^Fj;62t_3Aw@T?q6}DMEv(QQURhedQC6%X<$q!V)H;k#0s%_M zy#c9vXrpZlm90eOsr+V5t)fLO2)2rFNAYJcAus()wN)x1yo?&NxM({Z%WBIKxltFq;KaYv4=dsOJL9 zaR&RIY9OlK69h_X0)(l9iy{`r7gHYKKzkJeHg{xim`nRx2B#fDMR4;9l*kr}Gzq38 zu2ua<#}O@*5}%SIo(ahmKOnAH8+K6nh;ab1nsQ~a@~0bwiK)6ZqxKvS#j5LO#ia^)T2W_-4TrTEKZ1$eG~6cw9RSXE=8VbhMP%=eTonlw9)SA*x_H!;tMXWw{^>J;AJtK3H=Hrkp zhpk|hict9*1p~QFYzHyPGi?LOc+jA_eVb5N(LdZp!(j?#D`WO0Jelb^JVH`nc?*gx zA*|TBh-Y!Njv-zAG}y?n>F*Kgu})oFL`(y0MiXcAo!`Mbq3YU=`sX)vT}}NQ7v7n9Q=qaDDDU>w-{x?NF^}BKm)l<6=kD#RNIvdkQ4$+`kR#HLC65D|M=Oi45g_aA!>+p}MJ#t8gyCQxn*=l}^AHxy zlu;--6@{oW^O9pez`Om&9XonIvOCzKjlzsuEr+mn!2PjuMiQ<0brl?hH~qLB zk2^olC~09E$&9UIEUnjTXyW7K8IO>Z(C%C{%o(90lJ4bhgJpRioxQ(?u zLmLnq%L10A3ogr3MCLFuK_T`ss8lh02jm>VI+j+(+-JqhC2jIM1+*2lZ!*w|q$sIz z5>Y#q+iztFMfyR4)A1F+A|)Z?07N{*`s7^J3b=~hoZM!`XgURgbD``TNQ4arza;^B z9YGbgfB@&@X^IbJ>oG0uE2k`BD(w^`g+oX>N+C16hsZ28-M9sh;~g8XOu^UUUgDb$ znBY5R^)FdmEqh_$Yc47VXY~=Z>pn^5<-7evsmzn0YE}vIEQ0<-R;**86z1T-hU~HX z_vF<@M$SUJuo0Ni(T_%N1SisLvv!FtxBe1|irVTZZ@H{3Fk-^{h?X`Y?}k}IF9(^f z_Z{!J+zCfqN(#ZB2H){75UeBWc{Lq)85{s#sP9$MG%G4OTlI!f>yV~7CHjK(Ej6U( zCI=KU^Igs9svJNKX=S^bNOZ-Y5QGSa3yHV`g+xKj!IX$tGPg{OgHK{6Egi81O7V_j z@2Ei3Cq=6Ur7of$57^SZuTwi>C&S3+LcGBp9FeRM*#ZznLkRA{2^O57K>`7S+|E9G zpL@q0=l9+i@85T-ySnD8n)S_DUsbJMvwDnvUVh#L;3&x{$^qcu-~bA+7vOmdP%G;V zwE_SX6%hZgZa8=V7OZrIWgeJJ z04sxG85)WBSKl<4{3pT8{dN6MDX*xiLBqqr&Behh0PD%cBOt;hB*M){!_6(i%`3t$ z0Mmvm_}{+#!Fb-noVIaycNXE~badkYft@TM9F|TFoZcX3PHqk^PJo!Cw=>An4&qK@ z0kMWUiqrk*?4_fDg2n0d`Bk}8on;_4Pz7ICh_7{6>KG< z^;+(41lW~0-QTWyd3kYo@p3r1T61y>3k!2{@o@6+u){Ri-FzI~LEh|+ZuI{kyoR`0 zxa?HV5RrTM%|B(X+hdj~@p|HPP^j*l~h zQw!qeG8*i;%jlbKS&~ACrc<;um`zY!F0vxRG^L?-hbEXKpi03?w~)+aSI9w2y*f8@e1$@^YC&D z{;i=0adm^Omp@Q{?WVt+7m;y=fZUy2b)1~+#p(XN+5Xk03R}})kUQu#$Q=Uf_V2x? z^UvM`a&e1r!Tf@aRYcVZ47Kw4e^dRli~gEA1*jX$tk2&&LL1`pw`32c`D;CjfGq#4 zZgDy{kS7F2^uH=CZ9tCJ5ZFG2t(AY(K>x$kfrNwwxxfP4>_Ys)u=xXl1=xix1R(4J zAlQ-+7O>>C6cqTUznhblyBEk6B5e&@M=%CptLU%W4Gr^O?6Ul$=Vb%=Lmi9*b}k`y zZodDU15TL#oPW0BzlOs3e~{-X}N7yJ?beQS}R`EU9!1OH{3yaJE0C*aEO9wYZDFDF1(cM*E zOWM%D(1-@*2o|5c0HDKSEmV-Do3pfrhRUCi=s%~M#lK=Lz#RJ@tpBX@Kh`3HVL=G2 zbpn>= zADlnwPc(@Man#j@m0GY&0gwkM0#pGS02+V=zykmU*aO@F?6A@iR`VJl0N{s}^0259 z1n>d40W4vqJpcl$^MdKP18iWD8w^Pv@CqjBz$BPA|ARfUzwBwitXRM>pfIdI7MuVM zFw8&p0Dt&}>A=#J=3kz|5luLQTtRLaOiT=P3=FIncsN)u za9?0x;1J>9;u8=O5@KQ#lMoS*;1LiKJbwmYpu!u#8^FQg0-gt8-T+{5e-__A2>}rf z9tjx*fcm@wK>e!$Za3Tn6Wz=}%|w=&iM4L#U8eZmotD+Fz?@#nIl8&*`*;cQvAAev z*37{XNY|2tb^nLm40&Ufgq|8KTv8yK-aLnH+!K&AVI);F{r#qw&fPmBJK9;_qHjXm zpU<{t1l~hO9DpN5k_sLHuJB)e1gMI10o=S*wT3(2zU?~*Tj+gyf}$;vlcH`lQ!ZNa2W zT5V;+mM3nUoE|rCtlHsk?D}=ZH~56!1MpmS$$ls)P88Sfg{wyw}i$J6HG`RL=kz+PpTvMq%+Gl)y42Y_tD|sk6BRgN#uNffRTn8A5(y zh?QNI9%9B9Pi-<{AK=9JQbyq`-tNlR50&yi2m_u0fy?rix}3akXN1q$tv%l-$M5#O zKF_0kmGeF-r_Ob_DmkdgewFCW2UUN(wK6y*-nWDEw=FL(q>Tc+$Gm3KG?jOFJ}Mm- zT3ecRysvC@P7gLpX;cg^jg@K;j?WBQLmm0ts7y8E+w_J4vF6Esa7D(T*-`u%(7qLJ zfle?w+f?$ky)3smLxe!J1gTVpufB*E3!TDi(*5{A?pS8!G&4$$nnYU++NP?XU!rCSn~+N*YIt73t2_fl zws8?k59KZ;6}}OFFBqx?O>(9k;S&?PBNOLD0WR1LN^N^{M1FGgFNxUNzZg@TD@2uJ z@zZNU8GF@)X%yj=YKw7yDeB-i_3bJ^s=1Enn#CPb^&+0>=l*UL zqWO3lVQ7=6Kq`E@LWZRAj;6FjfVoK3hWU6xV~H)9sN%%EZ2tFkV5|*B9pcX~`Zp3} z;t0t@0mAQ{_w>@w!J#8;V;L6J6y84@MqIj?DMg!i5KrNbJ{7C(vfLT_29T=Ne5ubD z*&(|A@dH^dtjif~=DH`eQE96*>K(gIMn%^^3Ri})BRcVr-w6*Q3Ey$GxQOHti)meja>L2d#bwg3Ie72d4Xl8w#wOeHamahz2kQ*p zj`<;E|HNPFB5TP~Am!GTSsSaK9fVWpR#rDBL7D4{N>)^ZL+*Nidws;0l6u;%tH#ksT+?Bgqd^W@wh- za9^+b#tp7qZ|XL;m*v%fdcAU((F@<1ov~t~Dznl@iqWj|AuA=&Y_=T|)*pC-O&{y_ zdh5C#od;QFPDCJf@O|Cf3JU)Uq0W5Tjag(@F1U0GxH{a!OI^RSGuDcrQ$}*6OS|xC zgLmjxsmfG+#@#9^{AeXruscWj&`&w}jdlxB973)=%q7d!6M98`ayvfqNVq11apO6{ zb{l>p>GW)a6>C(je zY>w3&&%L;Z{lR6%z)CM>l|nF%mnqZlAddo`zwEj$bTuBvLgrjMOStR^d`6LDH5ocXIlK30-#8+q`Iw=U;Y zw48B!lV4(J$oWLsRHj@{FpIcaOFql&U zjOK*LTJ%}6lqh5EvU)((gDqI!T=TULbO`JNI8_IPmwcx*L7)a7960N0LrnIU(s5?i zj0q)1F3B?VPl;d z$WsKg(bu*p?o+WbU9UbPprGFrOMy_DF}Ky16n9A-rmMff)$K91GPn3X3~Ma7j0*J3 zrl{l<{lfZYFe!q*h&cj9=(fNZ?uni^GNB65vg-e-9CgyAT)x>Tq@H(VZZG}|JH+Rx z!Fkv4z`vI?(JE?~#8ywtg(CtOIuGi?HjvSp&yl)-xh;Ou=xtNvVQQGe?yIi+Z zH~NK?no(5jgdc#=VK;Jb@o`ZoY{HEq!i3a>iDKapXMou0%r`TQy+F~ zI&tj;Jc{q)qTH36SKhTe13Z?0+DzVjif^7Vq6Dniu*wpn5 z#ty}l$yCaYdwUo!vL88PJ7Kq`3nV)Lb3U5Ir+qAP zrPJ@LLe|#bZ8J^nsCAEFZs$lcHl5+9l^J_gZ7`_6FnisN2_Yppm+tVeZ$SuWvTNu| zKYZ+_)=U35?fiM@3ivy1UqGcgil;ep2Q?&eflSyplH3kwk>Yp$p~!;bcgN7Ot*@l= z2Wi#XnY8M~EmFR*8%4Ck@%67xO_z@Cv%={#K2tt2n$;`uL3A$wr*jtfoE$?2Zk{My zzh~AXtJ;$^qk*&1&O|kK zT6i{CM!8QCIrnH%fJs!}mJGaA{A;@o0^?2E33&)9b)Db;%3c~yzgE>HFF^h@=u`6I z6_kW&5#kI8u|lWDAJrK5JDw-Fu8T!kTquyeK})Gm%0TrP!RJ;Gqe?Br3LXl zjy1)=hHWRS8LP&O+ejBsTd*c?g#=vk&WuRae=2+Q`m{UFQ(QnIXMoV;2(&F!{936tEX#!L~7Ck-WaB$yps91&)x)S{ArVBe#QUnOthi>5{`b{d=8M9YCJRO}cpn~v^ zRGeLmJ$d(k7>1bezDR64#iwaRhU1>l@Ulq4R|wZ;XY6PanjK+bDuh~u0#trXwxuEt zQDl_emt&BazKe$0TfVU>Zhx?250NMy z&EVSo-2NtCcavnkB|o>)iHw0Sqv+ACn2G1;%HECt`n_ELWf`NY#|LH%oKBi%R3o13 zX8%a!q1v$<&WdH_>x|;$Ij*&z0x76{IaJqQC4v>*mX{>3#-kQ7V@i@TW^BKV6MY|i zJBi_fxw2n62@stdu2B}aS0>G!;fuFTr;P;Ns$>9vCc~d5;4)uhI4=@kEMBnqbR%}E zBJ#CmiS%^W`@hrH(B@LQUFg;R-u&gKJy*Bggoc^rQmgLTGEhr&yCImZMxX|q)@FrS z?0tja8HU@BWDs6Hak8V&usA@tzdk20)Hu$yQ96adepGL_ROq3z!R^oHFAn5Y_m&_Z zRhdMM4GX!qSY*(_Y#idJAUTz2(%I=S0teR_$i>;Xg*qQuS+KX+2AgY^dKdXWMU(rJZ zm#hY{qf$n`te@xE3sm%aDhKUuSufaiiWoFLX9z6a?_^UseO@u?d519G?qnp8(3v`> zFc@!f%I*wzWeGvYSKo`mP^`oc@ALaGX z1bXa1XF%VNA$101&!TaIK1y^QattY6*4y{Nbh6z^Dti%@dCz~2UN~?7 z@NkH5i14sa*a-~m2nG%w0f2~$hlGqzOUKPaKrf9$$omR~h=Gq$=I_H8I3)N%?(=U# zMJ{GGKGgm9NwQ2a7;jx#u>9wIXThT)>9Nr*8TTF5p^4$mX;vLQ-`a;%Id`?a4IX-_ zHcefQB-=Xo+Rbr15X0H@#G`@cBagA4+~>Q}A2S_MNh3ret7I0jl$J{e9a2;Ss&+lU z4Q2|QxuAx{g7r5{`(#9PF-F|iNwu{sEdhv%M$Hl`#Us_+bPW!o7r4A z&DLJrnaUCVCXMBBJKk3!(-ovuTmBa2jBumEMQ-w6gD=C56yaQI#bd3qyMjn=E`jEx zgP3~D?zqeI! zzl8i?NEF0|(1b?r(8f9EO0z>iWL_hcOqP@%^xbTuj^Yo=LnvJron4j3emX4V849PA zwh`6M+`RmeltR0%j^p}(6v^Vej?JJmJ=1(`% zR|hDAoGHWTsvN*k?u$&XUoDhmAG@2oJij!5iKzd8SotC}fG!qKCpm>K(v$5HDT6;O zF!TDgtE^&4fD@7 zs%kMy->Ba zV@6A>e;5`4C#hqoNfzTdKaUpB8!b(FVyNYRkjLON>^Qe`nSvb+(?S{Hs{$C{wm6>0*bj4)v^h{UpzkvP zDyBaO7jw<7jbdAX<@Ena*$4^+M{NoiJ99i5RTNzrv{}#>r zqHfz#L8LA=C6=LOF~fyjN#A6+PJ9+4eJW6Wt%Br!#9!-Cf4*TqYd_0-s4niy6zau8 zT|YJMPN&=bw_>*NUZNg`2lWxP5Bc4JlEbY(g{H6KE4yZHU6hXvMSZ5@>knkB=ySTp zKKM;!A(_)C-nVaX{tlu!k|8=bm_e$#y(<_7CP@JIdoVC{82H@}ROBt_{i{Df<$lZESSS#p>nB4NrTpEl_Z?#f0I?0nk`f%B}6c?Ot=Y}ttt zT_RcAvY#FR$X1P-=H&yoNw%g&kWfAgkGY9~{hPZMPod%#%~&!dPx|~7L;R8`+ix=x z%SC*tI9Bx8^_~HE6@(mPHy`M0tM=dD?<}TeU}Z}1R?O$lm}Z6@>~7T-JzlIowbQM< zIxqbxRwsw1cS%%VN^1W@%9k2gml&bNn^Cv*ZpcN}e-n=TyxefWn5jW8FZ;gdy4*+H z08}BM1{}n$1*itYzZ>Mt`K?h6XYlg9xEZI?ZbGG#kVUaoc)Nat1dWynT`J;Pku4shGE#h$FsY%Au=RD9Z4Z`|Q)xI%jD&(O@omGZT z=U=`~G|Wq+&5C!tYwhxhT1X2n*B-kNSnCq&Mf0(AJ`SUr>ZeU;stSP)PX|fjelkAS z=qE)V9vryMSm)t1bilgNI;iCE*n#7Js8#xLU@HvBhX7bE*GyM0e*GfGF_9h?PKov` z8*30HqxQ(3y(&B5gmit+o>i=24B!2YoyTMIhB`@~knChhqjT70z}!%IZdMV*-ukp! z>z8FGA;PIi1Gq&oN1@q#%UgjI;h#@%y_NV?KIT*3-CZ?AbXpPtioNyveF?L70ZD?B z(dq6;hlXVJ)?#2%Q(MYasZ-mS_oU2cSA8_Q*@sY0>_ORKBNUxvMFMF;564!Q={bGO zHFNCS@`^=nlRll;{luIrx{;lZflL$p+t_-4(^2 zJNEJQ^d(+6CO`8DJvlpgE|*P>n;U~lqN|Qx8M|bfq|3|-R#KCHGIsHpHZBJew&FUs zns|}5WQgmIvY(z|%g^Lc6UA>S)x$j3{1S`lIPin+)3;Fqe7I&yzOS0J zS2qP>5wsd}Ju1L#_I*EZ?@mjH&$lm4gK*RJ&bs!&Mu?PD+BLBqICQq{b)0EBq ztj0M0c>r+Gy9zg*>EcX83r(1O$mog7sMLJ#xiKHBbd25@&T7A))j_fMZO-KhzEVjpu9e2p>{-5D0-Q5kbajCzeN*|?I8?cLKI1Tj}#*X1EC6@g7V{)|(k1V4b!tfOjRZmru3Jo-FP&;3I*a_+|7zk^h&!t*Lw<;Z*Z>tzB z063C|q-OT+)PQz2a}m^fX6XPyuHICoIlp0NwB1LmX45a1d0Uqr)nqcxfg~80!?egRHl)i4sgT%x7Sdua7np4i zqko%BqhZ7zifby4m@K8LZ+^&yR6#`@cl?JpQWr+p4ehbrm`-XG&3Adad}G*;$k$zM zq2%JSpT=!H=69H#S>-lTMK|tsn?j1VZ_)0QT3RCGo0_asN`z3X%3KK(2pL9&zs@(C z$h%pO8)P)K?sa_L-qs@1H)*zJdh}n)^`2H!uQ3qmeg=qIbhQ$V(dVQ&sL5iZxAC8& zymbbiDu>r?tLNQR|Mr=u(A1WdTTF=!RF4e-R}Hh6kq8LVw@_ZZ5|<*&^E6KyqbRWr ztJNfDt1f(X6#Rygtof_C{f;L=d!@-Qge{+^%!m`yeENwvS$U?@l?`Jm`ZDiv4)Lk} zCT97wSLimy(+jVuCfD^^19qg8FMA(N)q~vJFu6Ve?y%zL)A@=mh6&O?i?HRIJ6-Nv z2Y%ezF+RLjB8;QX(Q>tuFmROk>Gm3#{piDBrI>z*p%A33YUG9zX=K>%^CWWyB=nk> zrQ{PnH$KExv&Q11LEBjy`4B?;sF8^+j@|EUx;R;*kF~4ZmZ7_grL1}{gX=6fg*we- zoxBx=BAvOwc2J>XZeF$Thu79%H&VXClPIMYgV43oS51*Ck~&8vT9`FUnFHLzUAWn?fh#-4>wy~4_tcL{hk0qPM2NU(om69;((fF>!>^ z_6_Sv{91RB(1%|Zg!Aa=e2ERpk7Cj>R@-AB)1b4mJ678JhWqv@n}L9? zL0Phq88!aUbfR4E+|ILPyNP7@locw5TK79rp)lQ|XLu}_>Qk6Gic?EXJpU6j8 zUuxUmgd`SJ2T_e(EG!?GW6Q&b*xH;|>%8_NJYYW=V^Q0e?ijXD<1jXmBCKs1Oh^7L z+aho}g9N#3$hb)sH?ZGmzEMcqOzvnIn`ovE#)--h>xp5Bw(#@j&aFp6%+?zd#a&yD z)`n6k(Aj>o^oWhBIo)c^P$~J2F!Ho5i|JR;*NH{*~G$cRbF*&i|H*V(2!)k|b zr_}Qd*ziF$etRV3V;4<}Yhp5*vt6cQCdV;X>E7&&w6(7%ln7IMM%0CfT zCad0t(lW=w&1Y=aaoLr9cuc2K^UzL%E-4C_*vMIua~=Bbnm`w^JOFBsz1ZD7lVr-g zLAH%3FPLnnk=${7f$5SjWSdy{SPO8Z2+Z1VK_wV%f z?r8ii*$NgnB<$>oN(l#v64Tmpj5|J39y@wI*>RBJhi+%ZbR2R}88vRc2HO8lv!}n+ z8>vgaQvC^vINT_F_>IbFctr%)t#-hVtmKcQoA1f74frd*u8C8k^Kk(J8Mhv zV!Ei?M3LslGx!M(ra^fkN0I&vKS$0(>BiS@@zN|J?D*p}u4GoAwL!G(o9=aY@JHqY zi3g)~@O73e#}z+%vBR63Fs@SyJok6Mkr%9?-dOnOMeFd;TIjE; z1U76OZ50n^lVdZyZ<|=+W{G>HN<66)fYUBD0Y_5029*1mS~Q?Yu#zpkOcVI|_u|C2 z8A1M&rX$nBfa6b{}YjmTo09&ctBtyt_2`O>< z66LL*lSB1zN`kS3dR2?qTaE&3$>T|e8~v`k6=RU%em-q9W9G{SvIIN&)?wQvadzyd zn{S9metqdKb(45TDjZ}&6KWNd-_V~>?t!+c5X<;Zb$Y4;dz%53VQPyZDZ2!hkX~OMkWWLIoiAxRIt~;H+X?OB! zO7hL1i-z+m4rYFf9irUq4?H0*bqH#66N`KXsOu@NAJEhFKzn?9Bp)6s&rDY_qYkU! zD)y8)%X92?BWgI6R$>GBbD1q{d=U4Gi&^KBf7=onJfzlnnXgyc40oEGj0^;-v@c0^ z1fk>DC6bIQ1zAU6mgrR&zP(u|JS<^lkY;$%imzDK{PgluOu$LU)2uch*i|GzHZDy~wwi7^Az~6N-8dyP9)S7SAr^JIY31=5oKYuk37Zgl=3fQ$o z1b<;voou-5GJl!qFk%#kSP4Zfl4a@^e5=+x7eGTKpX$vsKdhVGJ!F)6L@-IhOeBV! zuqg`B+`OW9TdNbCN_DLu`7)nv(=eaQIV23%c=%I_H zoQHNggg;d>o6L}u0R>xI#|bdP0ozuZVyJA=G$`w>h8;V0RCD8|8ICU{^3lUxdkFNn z4F?6o4$nx;rhl~@F+ETT*UOwC+az~a=M6pslDwxLU!y8pYCi)KC~^!++fvVWTN1|0 z&hD&sZpqE4Alb`>Ye;XV%H&c^SC**Q{_Wv%?K2Rx z=GGMdy@VIYf@{n0p2kIju8z6<#u(42$gJ6{Y_ZG2!I8nrJXx)neFi`U4X6M zYLMxawYaU#NAb}`Vlu$K^~NNO-QocDfG36n{F z6t{xk$c#y83ECnc3IB1h!>h+{z}|85?Ls zU8mr=(;DLeS`btx3mBG|zM`Hl4AuQOcJTu2TqG#BQp(!=l;YE_eN25@e8VwpR=7R) z?(P22_RwiaLVbtNaxHRNS@o^;zN65F#J6Z@;72=CX>T71D=Aw^BsrTzF_YlI(QC;U z_?df1V=ESDx8v?zJv~9|^J+XQhYM^#@d9m z&}QRB{x0YH)xvew6;yVIg~#ApjaKabk#g)~y1j}`OuzLj;#Oy**;3QIq4C-EH|z{Z z<>{Vd#iSTItM!qSOx++8dVBH(QIIKo%vx|x0ec1l#*PjPB|RFI!k{(&mFF`cbB>bU zy(>~_Gwe6-hZ;&9p|9h(D%J6DV_`qRzZ9A|097Yfq27_E^oJZO zI}IMnYu^I%Qv7t0v=N!l?!U>T1~I7YfGvh<0|QGI;T`7=O{b2T~y_ZcwQ%Jkb~%&+#7 zAN&}7l6)H@DVV(Cikn`1U(YJwD;9^#?yP--Ldk4Cl$GY|Ga!ZI=cdEX$;D-XbovSy0DvYFY@Otr|$iFl{CUsPguO0Gw)QT>7 zC1JG+5YSm@z&i5kL)1Q)^xHrn-Hzik;JDk%J4YwxOWIKHGk~VAn1Nq?ZzfB}drqQV zu1E~41+;1qu-~0Dpq?C=UTwj%#Lf8_Sv7pr(lJNjyKBC#+;6PRmWfYY1kP`EemMPx z#8`TJFiaD%qU?2=XfKQm^N#yuBIH7OYm;p_BdC8*STxkde`jFugCt?@48xeeCMfl) zhSok2jcJ%Xh>1ABAqeX8J7 zMqOQXf-5?!I|yaV;tFH2ISsyYXIP(^eB{ynG|rSv{n~`%E8a)z(61%7LcZn(olSDHbWqbegP{TrMjghN!HU{ziZhfl zEXK!H(I$nXwBYiE=_dKb)HX!h!Nx*buECH#t(^@Xts-3+Obhf3uVab8&D#^$d0I!n z{;s3LiIB>nF}|Gi$|t3vm|mW^p;Yz*^5JU7_OIhm%}S+vMINd}z2Zv(5uMwVx$MLK z!HI9sc&3zc{+D=iu*0%k?3=~ZQQ_hHQul**XF?HeaSlw*&0M7RBkiM}p9#1--p&az z(39~XamVplV}*8IknEk?C|$g+SxMNRqI$IyvTyZ0Q10lPZMwhXZwaL%=^+z8hNuXM zWhFK#%!xv6E5@S*Rt$%dBPx@tUl{_?P^2M#sC2C@PyB@1v~{p%7DA<-78$MyuOotO+npW@ikc3@1) zA*uzFkQ39C&JoJTApX1<0c;GHTmLnEG*s`mC7M`(K8eeLNd+G4v{C1*Gwn)NWpPW0 zJmkga+++5MpgRWwb*TMd+1~B@M^|Gr2`Ub_O#LMT0uteGeiF9Q%E_v`$;x{@l0|#!Y8SC1m;Sji zimu^Hw(&P)Y=T~ovO~*ac}@Q>l*nb>cUgF-+&F2K$3L65d@Jl<#lX=rTglfdB z`N%a%37_iD11j?USoC}jNOHKF{gVpldYV^D(WwNbAA0t%k80_Czknxp7on<_Z z_3X2GhqZU?ilnz48cp#;cHh_SppTe|7_ z&R1Ln#QfAAm!uf*`;^GRDxGl(!|eiYvQ_i5)Qh(-H=yh);`*b8W*&^c0?$T8x$4r= zd)L-Uwnn1N2{)ZI{5lM=Wyr>kvQ$BOeE> zW*NLkW3WUui|G`Rhg87vKm-LVcxes-_RBlAhHIi%4<9h=Z29##@!x=`@SHN(cZqDO+^5 z=ub$Yky)GB#`Z@Ac!1>_0g|&avQ#a%jdC7^2FeMUc7}`#MIKoS+FW8D*moFxY^dZ|pUQSv zP+$@FY$n5KcgI9=%WgmIM0?Y}zOJ&RHDzBm?p5c>tQ=!pl|~S=C}cYHWzBUNdQ%Vc zZTVfar^TJT*#aH>($r#R?h^guK+%3%poF8^uM0`MK4Ww`Y`OLKf)LIJc+m(5RP=SXP*TT?e$J<~ zADI@K2`9!=KOS(ElmFFd1K3>OY#{V-vepGk?^=o>;jarx!9N*4QbUnn2{fluWQXm>31qXu?>a-qm34g@(avbI$0iuc6W zDB`r-C>f$Bhq2|aUK+3WUQ4+Nb~6@$6ub*WqvWnE+z%NUrjJtzm$Gf$f_+K&iMzvctu z!rq_>qe5RmdG&}~H@;mgRt_5`&38KT_iM(blJM_gfEzf&fLtD9jTV{;q+kt!`Iz`d zwRdT8BYkPQQRI1x0wgb1D=!-@UiH=rEtn{98&x|sXpNA?f6b}$ZQMLo(I!mmcvZ!^W3`^{WuTP9m8HGWF<3#JQKX4#9w znI3ExLv2MR2S1`t{K~)>x!`a!$G-G9uh~Ky>8nlI{;gL(R@$hwrC^yUQKo{B^I~GX zFPo%DVZ0KB3eNjyNwR8C+n6Tfq8`L_*sTvEqO4DQbwQD^g+=?D6Yx~pjIlq7GJ{bR z{$A@d`fEQm=bsAWmcpXQ^RM0HHxwC0p-A@J6tWt5`j6yrp(pKR*IYyq@$T1#;t!{j}g7m2MzvWqNJz*z$L|AWUYlP2dH|0r; zk}46Ig&tKxG^YrT%HeGFIP`^mkeQt1P@0KzQgyB1v!nIT5r}JkS(^@It3n1GRfxH8A12CWqIUPIjU#Hsa_r~N{Sd0WoBVO}R#@26 zPvMlkP&nQtHV7^0Cw(=a=)2g< zU#(cn;g)OGbM;K}Rv|mrTFmijsT#qoJCm#l-&D^@m93nA0U{V<9_J*A`(y_~S2*%F zOAf5%6BcJ*IPUKuzM6fpqajMqRk8X~4^A1RDILWH+Ox&8fQm!2XFf4ZlpBA zFDh5X>o9dB9pUU5eh@ql`@mguBmRk)p(!!xCHZ}`f-DfFvSEyXpOjmUj!f{=NIK8* zU5bh4MX(7CoO>cjeu2<=Hc5NCcf=D+DQ^?+X6Alf)hU{hH*)7 zQiYXF_Mq*jwTsu&Mhg3-c`%cl{c%07#NVOjv_w$Rj%>C1I|Qs%&-tOFwx0Xz=aiU_ z0^MV1IdG)9#&|+Xui3s#Wh}9Kc4e{`iL*trKZ$`~3r309h*e0_dmF(gd1+eOgnk%7 z-!4ugSsrby;f9avvAD~254V)!eLGT=e=@~~PAP9cUqQlhqu^{|67kbVfC)tRfTj=S z`qc3ub|#yhiRj0eGt20>TffOgCdpSTrLAXxgW(0|$Q9*Dci)&Xoaw+k5o-5%)Ns~C z#Eyuqny$Uju_Kj&zSM*+$dE|>Hg%;)Gh>{+NA%KyEW|&N$1Y}m{FTSstup1~ti2Sn zj3MD1h6MB<7~v$&8?h|u+gdKFu)SyOF>L}?Aw57!cETL(b{WQ2@Tj5?^!xr+8oNl2-~cHU=3 z?)c%l|0JTwCvZ?5K2hpGX5HE36&utuKKr<10rj2TBa?{QEi~gTt2y0(w$R@+0ly#c zV-EMSexH^3;WBP;aZRk}g7@VpL1ZLB?OV1+5rd+*KA((K8CGE^Yj3yJnu? ziIZfE;7p1V$wVi_n2X9;{zN&(&Xtz(_Eo7)6gufVQ9u4M^n|qi-zryl08W7kadnvS6^0H01pt~wyi)o zZ23{DqyDy+1y}}n^BD3R1`UK!8j3-Z$W)N%L2Q5u`Z-?XjA8v6ItMiBst?zgvzD#@ z05;*_fX8bS;6+UMIaCo1R!prE8F{^)Z)(1iX|32s&;SL*0pse9P+VUj3sRpk5@XJ_ z=PC0i$TWoOIuubJB$h(xlV##fql!qx{b$Lcd}5WBi(vl%K5&EB`%(8iUsGLi!;0#A zE@AF1u;ghWU8+T4ICDzdotZ>BuoLH&=udx)}p(F5O$&-l2H>#isxR{0H!=_>jk(Y>#cjGNK2&OuCJdJYw-rX z{;TAp}h-kV_sXx9e-YEKoa<07Y20J%(c~e0X(Zh}`)%zHYyc$Ea@wmWXk_5_*;E%oq3aul z8q<>ryI{|4-DbG$+uQPY?aAJ%fl7QgmQ(5}jsp8rJ!8(^FSDY9jQ5%uN8})Q$5rwY zU-Fs4F!lP3;B2c|@U^zIz8hhI;-Z>MDcnfyrKK@O#luS&3g}R) zlOSbgUGkE=Rh5c?Q$r|D${DjvUkfg^kl;dIwQL0tQZMul5qpe`Ju3n-T%=yAjS&EM zBzjO9HE@PB7;lB}t}!M|i*>Q9JO=AKug0@DubLRysRpCQa#pY@nASXuGV+*6?VPnS zWi2me_n74%vEk%*GGhlLKr>$_$vDjnZjLZ=84Y|<`gE1w=JC_|(+}C8M_H8vDz#)Z zWp$8jY9riS_eX*>WC2|e`izE0jAc{LZvdxmOks6aOsc->1h47_?;^eo8k3AE#BKG^ zYazkk$(Zi4c?T5}wFq{i=32l5v_bi@VCZIX0ha*mm4t{qTYU_NC*cMe1O%!UH<@Y=A@I+!S5*& zO6bxL%1q^BSw7ve_358{d{EW^zQlV6qY~lH)P|$*81_QtpZGzlNiU#{QKgr}zUUNh z8jKT9D^#BgCWe=DTS4!{#z}qA64<`_TID?X50W zn!K9zBcJB&FRZQq0Qs9kCH>5H6Z3a1cW~cbylqO}7u^W<+rcMbH#7?cKN-ye!FcPT z$ng$$oquA)*aYic(5JWH#!*!FBw>ix4oKELh^7FcU0ZK4O6Ip{YD>fmvdKv(lmnI8 zc&S(Qe;zgxY`xWJnlTVZ0m9Sg4e0Vhz<^Z|8DsUV6^pv6;zPUTfrM50{d}wbHy^Gd zDpYvNflS$;HLv!@X$SNPSlXuJ-dbR?T-<0Ys8OQk@0gj$%@1ReXnc5anl0oKv_5w` z4^?CB^GGvYC2$vygKpx#ZIRV~rnpyS&IqXnl;NXDkb>VbuBEFiw9UN|UE*ISQ$V!` zDnf2UXHbBPeRMwVn6{{r*BF<%b8sJOq(b9B|kTo z&3$9Y+_lWIE|Ise!5}>queAULZAdaonjSxa@xHdznhdv(?}fjMcFQa_PO0H!A(Ye43isCloN!CF5^t;1Z9WNT=|Yu0Ps zjGUFxtG9>PiuDxncPUGS?W%{{WX2!3 zj3(3)tUumV(mAD?>bKc@eYq34uU5j%X?L$@$)T+ZCnknX6~!e!XbcnUTuhRGYP9vX zPipELbi3(^RF@ga!&VLyZ9p8?l?_Ritm2gV{4n(Z`y>86#tiUptkF5fBd@JGAg13# z>LVDfiD2I0G6HN1krU{v+S!!|FsRg^FMyHeq;Lpqh}mEghOZ3hc2SJ3NJvIwlQoYg zzzP|peW{xi8xlJbkuljFV~_HgVTM7cGXS5D<~6m26BVdnDTk>vFdI))295#KBjGwy z;V0p(@i}M(Sr65HYL*vqF)DDhKsB7wuYfU3a2VEUTP=`NZ(L@+YZ-o)zZ39hIEFXW zY1?&b4oCpkl}zQCa_YtDz3EO8Ni#vt?5aYm8Ui9;LJyi`4_cLFbBwW|>ST}A6!#Zp z%f?MB2OZmA?5fER_b<)#_lvx<(WXQ zuu+0DQF*KusK3Y4oD}@U&q%sGryU+GmR+e^Me6Px@^RY&<8gx7J_`>NTT)h+57n~LOR;%A?cjhfRY*r%?fSC*o?s%(_Ac*zcavkHzb%&H4fZC5O-<2}_? zIVLkhOsFUrZ$WZOv2N}ZvQup17*mlVzlK8LnlQ`=raM1qDrJo(W0dA4GOj>j3~EvC zXKve)B)#Kc=?{Zeg#_njEC(oJ~qf9*yniv)0hnjC{7zY#wk~WX0ILWyi?#e+<{{XXArU-*? zQb={q-LS@DwZC$eoU6%-a;i3uXz*4{$x7r>zmFZbSnu3nLNe8_l)yPP_ajq8D>Axv z;%0OOv{fO1Xx#z;7)eap*UNm(AXw=Hl8JCo>9`ur8PaQ;J6YOZl&~V#qwNd-0MsmC zsJc4B*P9(SYkE88-980#qN3}du>l_7`0hMalh}+9Q&OQA_ZLog@)nlb@&~3I0 zib%%HJ)+JV8a@=h)6xx7c9F0JGOz_#0U6KP&ZdIxMLU&;R|%tJx@SWm)DJ4M_UWbc zX)?k>C}t9;d5BPm!RVYFh>Wl4e20NIexm9>?F0YB074J|0RsXA0|o^G1p@;G00IL6 z00I#qF#{4oQ6gb+1QRksf$&n1p|Qau(G)Xc;qe6!awJ276*NTOQp-r!q@b_EXX~E6Nw~r9{y-nKMOyhB~A2LxL3t!nA}}A_>42z@IfvpVBmn< zF-jxeIk;!~;bQh~#g`CHQ`#M;CjRNg)g;L$R0)QtFhb?9P%NUHV&066Ho{@ISoI5oI& z;ylw^1`dcn1b(I&klPcw!>DoOhOj{Ttqj-bqOQ{DcCOHIa2O0XFNxg{YXOYW$EvNq z$-RfOz^ChCMgIV#C=Q0k=u=cR=87FUE4WyxHl0@_IiokyP#;wU+KOulv#GKaYO8%A zeo)YLP5XsRwz`J4b-F(~sP(4l#wfDfAZ7vqqN?@PJ5@o&w!uYXu8K(YC~4M;PL!gX zQ458b>8+Nk*?nw*5ejVz#ZFpY$c+M_`Jl`UDFele5Yg(Jhl0_W)qW&Z#XOT4w?LNX zCbew(Ebi>h!^Jf{-2qU04gogJh~6)nX?I~@A^>fZMh|1`>>uz{5_A?&{5ySgMa>=~ zQm4%oYPMdAyFo@|3)MRV8M4u)txv|l&D$`WX0%l}y{8QG(RWy_rY4`V55zBi4`l%4 z&^bV;aXu1+aEtJ)_^d2@s9l6&R&L4KMkoIO-@<-@OZ$Ef7$c3Mva`Q8YV9_XVZS9L z5(I%eC*g`aF$O-1wZ9qA>=uIN#b-~tel8?ue-}kC4#;J_lp{%7bkSz7hgB0Xs-IMT zh?+nO=9UXzL}JQrq*hgSnE`Fha@%Epnw@&C6nv`wmnSt4`v*NtK7DN94QO2160JVaAU-@XV zc6=`52v`8WQbVF(30y;&{*>Y=v~8+jkY5}}MI18;u7Y_?{L}oo9|Z4Y*ljX4$iSSZ zF%~yR5?c`z1l2%quIzWPeUrQ$dq@yr*sgpcUN0DDgzhfroXajip14#8mmu44jG4X*&f-8$B&CvkA=R%BvV-zTth7o zhWwF>G;5+Fp@hXozRDo*x0&@pjs!Wr9Oj0r8~*uiu;%XllkpntEF$WV#>o1ocQ~!X z%y^7UtmC_GGWfc^RE}O>xTZI>p<~c5FFub|plb!mhlPt9XUcQ~a*K60~m~ zt4~#G#)yrOr4i8^6l2yx0vFP&Q(wa8uE=YtR;}o&E{U<#RtQFwvJyq?v<7b$K#QGG zY;hy>TMg9xRFFcE^IU~hZL*zF&17`whLEeS$;&p2EeBOVUQM!zs>AQv{4UJdbB(CG zw$dmzTHY_s0yuptuK;q<8ID^7d*9T=bz6eV+UT{14+{!>IWv6DtM&UvBicN(1LUXy zJ3^+{O>m!Eh0E-W+VLnwc3ji2UiW_qiT?oOntVwP)RZvX=GFUjgfo2o`YSb&SaN6s zqKaN+Wd^mXIh~Z;$xMHRyA4-{x;X|mf^HO6gxPTs{{WBKVlmB-*U*D+byQQOQL7lu8s@ph)Wo&69IVq~%^;MJC;D7K@)nA5f;UIVQnufE-gdLxO5?9Mfp8k8>q5^9K#lJLZ;FT#oW*$V(plY4Z?2= z`E0OoupG=*XAY<3I5Y;+s-s7}le3ycNcZkk&Qn7H2^Ka9!JaEjO7Ui9UV&aoKRO`d z+@MS^>9$j<4$yFb1tDU0f#)m8{WG%0aNkZrI;%?k6$h#@R7`SJHB%x^g&4N?QYK{| z!t3y%qi|&A)_00fPRN9t7 z?;?f)zLrnM&R*#aZX0#?3lp?%%{+CV7NQ!R4^C|T;o%?_7Tl9vb+qU0IC#*<(_<~jOC5rDko7 z;9WFL^_8?~5TUVot#wc-9$BiPbPcOWShJWl{9p1@8AG|N*HTIitrLN5K}FF?M4R$P zBz_kOL(5GUI)n(S1MY|a0OP74SDFxS%|*h>5c{ip_Xxy#qgrxRuOhbP3CHe*dSyUW zTb&e|stfFdP@j_0Hc-@fW7SD8rNCNceicj&ln+>6MFxn>9&57TOO75UFw8d>C}d>i zpyZ&>#Y=^ivc<Y(^h};Lt75@W*7f(zHG$ck(KaX`*#S>)52-UcX6V8 zfLP-olw5d3Koc~-7-NQFOS zK&qvpg;GYUf*aKpdVq=1MCClz1Dir-6B+<*c(RK8)fo*Z+>Z}a~RrH>27FZF~6&UP!6j$r{ttozwM&ALVzitR3?<2kfr${ zTI(p*4bcLkc3X}~=kT!0MGR8N5BvCoHX%JI5Tir)^ith-GMZnG);tWS44RMK2($R0 zT{-c>-x1r~A&J^?+R*Jh-zD9Cz3YwL@c!rr<2}bh%s+6M{{U0P9v8H>sjp@uJ3|~V zm^c)2VKIcXR0veDz2QGFhPv%LF88oG=9!KIohQ*gnRW$Q{{XZq9)$~<%pgm$xe{P3 z)%dQad?vC~THdIU(P;?q{S$KttgBTPo9?H2F151K5So#)cre=PyZk^~iH~ja`;=NB zl4gyB!-Nd55I$&NvA~QOou-I3vA9?ID^#eTl8mrV*$A@T8_nptZ*<`*E=tfsH2u-g zO#cmsL`%pj47IbJ~VT?={VKv?u5+|1F zgoy@}MaWYuizozx_d=O}0Xjv+^+F6--~ES}skE=WAxc6O8?W74)GA2mjEbW7i8*S! zJ4q$u3=-Jni$j`7sLWP3X$=EL&V~`2s(L9#Ygm;goeHH;73it`*3ngJ9S{%{&sEAm zQ6Je-*M*x8uT=rm9_)r)U2F+y>4Y#)Ur*5suDh zhA5nL6sob4$ymmajLv=0)9`}4Y>stpQ*9H=tJmbLE9jWl zmtuBDm~$(`{XsGKegZQBEQU~Ic&mM-6O@G?6q0Mv~Q|wta?2-#>3$ylVJ>DC0W#)~e!*nZM75+sSqU09J`dF1jU_zX|bYE4r z>ga0gtfV08W_JiTh(<)6qv)z&^P-UA3tfHr(Qt@)G?e_#sMd%NGzzKA;L&I`SuwD) zn>P?px7B~rMlKF%$SB}bnEWSU487LM zHCRvWxQ7jcjP`J3&XSF}0oDOv%6d0}weQ6jmv< zA0)wYk5tz;$yi;V7&@7)8mu^`deiWrV9Cr}EBD!Uhh_#Lq6W$h_EwIn9ZgW*ulpT+ z7sQU;R8}mFB&hr-h@Fw&nl+{Dpm8Af_Kaq{RimTsD+?XF*-4M&d8+_xM&w++}E+MEmKu4%u?`OvTBM)2<+^+uXyT`$P6P;SO z+@dehW}p&6w=c?__V>wGg-+_oH$;23Ir4JlXyPg{`!nzf;~B*x@UaE}ZZBnaSH>_B z$1GexPF4Yw#1d$+@nMa{@GuR}C9P)P?Qizw^;9v*Mw=>BBk=A*lMuA^RuOb^(Qw;z zW~=W+42Tz8BK7E)?2da}$T3BP+)f<0V}^A`xwI~bLBY`IhJb~pZwc9~QTd2jtW+MZr903Q_W*7$p6aN5{1;(hm0}-982nh`XDIST(5txjD=WG&D zrA7HIV)neFSdGGVA7;UJCW9#9o~mDqg3Cl1gfSX_h{kD*@6*vRXYTt$Tl#MY=!j)A z9}zH|#=pJBahJFX61$8XuED}5kK=OWr%p%cojNMhny~?EF+hYgPy0ps3oVyUB7rUg z)qF!`Z(d4PV<62}#ClOUWrc}>h-3##NN6yzahg9xxmzwCH=R~yxMlk(cMCwwAbZhq zLtCL#tX3jbZl$pS5#o+xRf)Gl}k#Rnq3M~ zu?X>XHB_%uCJ&;T?Oj%oVw}{wG4+H-U3EkTmoeNxEEhNi=i=YJ&^HCa<7|=5j zIWuj#p*jO5stIh47}ZE=aHoWO_7%rLL~bT|2u%d$jdepUG*LQME`X*Wb;5h`J1!m@ zkN*G-C;O+gG40OSF^XXI`XE`^Sr?cnH-t1cA)rwb;Yd*;zGKl?w93yiL!?PXxIp1! z<2xt?*4%{_{HIVF?G6W+_w-F}Z#RZ@=S2`po(PL9xr>_s#FY-qzF&OScpE42OLUc(fBGDjS06Ui zDY>NS4iFQZa^9pVC#Z{|7ZI75q^kKqP$r`I=qOmkcRgScijrlt*)~XnmnOEGA=&J!bqB00(L|Ct{hrI5ZJEN zD+!YW3k+Q9WS_!smbxnK)mo~S-9!o)qBh-JxB ztzjJX14Plq)i@5ZG4E8^uP_1`tSd{YG}y+7$e7{x2on>r(GuxvuWBi-S6A3g&BgW! zv2Dfu{>ThBN#*X#U|TtMQ{mPabUGAT{@sA?@_=`M zCk%XU{w>_Yy(pQ8J3cln7$7tS-8&b#b6vp4Oul+2;$iq*-56pFb>+RMa8Rq+_~M%3huD`GziG)GNkR=Y0@&blZfYji5u3tg(I^+qW*o@#^D zR0M3X+G0Rh9h0-+_n5PPge)G)#}Y)j?`Ee|**)PNXMNWb;ld>DgJ{~t5hAW5@oYPbbPYC#wTObe-B>Eel${LaLD3eD3WN4?u%Vd19 z{m^K=IKL=gEqd8S2qIw{ZxFlOFy8+F1W0D#R%Bd}5vnl;RX&N@j%b!t{Sc^$vIJH( z*>JcETU6O5K1sM><-%#>d3BKN{htpb1?lsusH0~~Delf_9#dp^NCqJ6u-kVKPGfXj zS`9wxa+ZryDyKIAksw_>36?)0%7Y|$tPyr;nJpt|LEWPX&LOdud}|P3;(rf>{{R*k z5}Dp&x$#if9}0+~psm*68YvRj-!PCtM-R1*`yU1Q1}DTI-3XyHsQ1ZX_K-^%+8QRF zVM4KT_-!E#IjT}Z-&8gVejk}usX|nJs;zxj3v0Tic`DIR$2HYP>b@lrG@>&#`zGP% z?(?*^)aX<3oYsKWpAGg*76R(vPu&TD)Wjx?`3Hu&6&j5YF4E#;FBWHLRe!-vc5J&+ ziP?y#1aRNg1~tZamATqwd#cT_ijRAz$j$pK(@m8@tiY290j+8An84132L%8Lw5$P*3+w zgQa;XK4Uc7@|}s;u}&T)D2z-qOvgj?SiPsW5r$_d{+?<5pRqaJp9V-cfZZ3p?|vn7 z7o5dCqB8xK&b^U8BP-~DZnUB_(?#0w^M(gRO^R!CX1|1ZRwe^Sdx?b@jO*@GhGv-X z!u3zDsYHPzlBH>)5io@^`lC<6>9Vbr{;QUxsMngjT~_1fxo;}N_Ei+tisg1^IM!1* zVofvEHI*hk5zKY0p#{~nSf`{(0PT*5!~w~8xSgRNR0NS)b3-u#Ba-3Pv$B9FKB{y& zjo~z!Q$>gIPF$<_zRiRG08l@e#`(uY+$aqp*>Y;2G!aJnuDX9@*qPE=hiC0rZS4W4 zgqr-eU7sKLEI##|FzDhg;*{tO$l*rSUyH*CGDR*@J%kD{H0$mue$U8tAD>p``Nt zlyI4)^a}$MC@sWclg$Ec7UeRs)2Le8P=K-7G&|?&gi!6WsFy6Hn9&+Z>akg8(1!c! zobq_w)0FB0%q<(NZq15fY6;MfWgHA#BGPKdn9A|G2k3P{R?A_{ZMtb2BfiUCOGO6C zYEk7?UK4fTrzKi*O_X5@x@`_!zXrkWX|E|k(q8*-Z+}!W@isN5yRS4{2>0wR?;o?d z?UGpRKe126dpoG%Zevmrc#KRfc&qRBS)Mz*Hn$^i=ub5<#1EKifXLGhkSem~6J8(z zozQDtlsM7D=7|k~HU&X(fv%kuK%2l&(fA3ZK{gyW(Pf?x4@)V03Uw%gWH^cbkqN;J z(k%kCRPj`mkVmenGG(sGpiI=vLZ1;fTtq#;)QG1c3GH?k79&NtYdfHD7#S8vE8?{U zJT`F}+mG&!VL{J}-P9ToVp}^YH>u4eBMxbe*M@pIW-#4jbt1JRhM_hNZX1Op$r~>1 zvEJeFGxkmn;dQd}TTs?jMNgSlZ#Gx1`zLc$1a(q3@ST)Jb0)!uflze|v|>1AYcS|z zbx4-LFe*YVV~-cIm@)WE4rXFsF6sC^ptFa=irI`oy5&2kNXoYwqC`cnsuRLBgfy%u zh=t93P>!7n*JWR#)ylG)KSWy)bUQ7B z;V6hBEoGq^OEByWmv$)9bk#Y5*`nbGwd6jm_w-np*smC_h-q~I9F&S`LgC@_l;RSH7SL^3h*Q6$Z=^I5;yLJ;m?HC|t zhSkA8Gpl48ct-yKvJEviQx(_?ucWWt0N7WY)g;|qHNuW*`Yt>n-(qnR+Gv;@Wy8>w z7G{nnAS1*e3F1YVti#8^&^b7EY;NLRnW5Zq`=VOb0OwYjE7` zPbh<5bY12jV#juo-I+}v!($hi;0!DEJ0382^5m&cbJ>W&93kz3gGUjGqRKkdsyW2{ zm7!d$w)I0p$gO#0P163W1GEY`juy~aIgW73^W-{z%+wdsw9Xp zB&_T*>ykCuT$e@AHY8Xb6=p$$9IB185fnc4Kp3W;slqE3v0v6Ia~loU3nIEz1ELKA zBA|pb9J`WHE}lSjMTSHRYJmqP0N!hc#JCmRgl0*Hvgc zgbm6tV1uTJcCOUOz`;3K(_ZlMSd}B0QfdI--pQ_PJ2YOXNZ^WdP%7W*l@2kh3yr!i zH*nvY02u-is1)5C^!1oneprc$C@yh(o2R}>((J?0cb~&DwI(8dN*UQO8VLUY;t8dg zcvwBCQMk+i1If^_J1=O%b03383SCUWItA>iBL=XdE4l*G77iQe&lT>BR2p4J5pUT> zyDuw9v=!oQ>QQsDfz0To(+lB)zs&+&5p-RY4p#Sc1su^;-WO_^96)I`cH1mGJSU7t zyw)7JsloycY2cZ3Cvk3PWYboP*%vs|^SY1;AXz!BVb1LwQ+_L6sv+5CPxVjtOaop? zv&9}@o1W|w$Sk5$d(J4;xA}flx&yE5`YG`38mMni)Z~HCSHc@qIEOwZnZ&exugMN4 zR=z(9%noAM7MVv!kw`yE|(P0;zv2UJ@yz56fb9q zV|QJr6|QW&W&oK^fARP@SaCUwxRcU}hY9#^bA+BRs7%Ag?C)k5mlH=IFv}(088!6^ z*tpoBaXs$3!wnflKpUdSj+-gthk8|Js_z?8<4UHG1Zo{gTusWxS+0kC{z$k#ByJWT z$LEtC^jsag2)bamKHXEh{?g1`EJ>c|=Od^`Cun96!!xs<-NJiY4#GK`hnweQFwLX^ zqS7p?>e%J??iK1PBaG;T1DSWnIxZ z4IJFY;I8ZdTH59t^H?2~z9KuL}K}?5}QLisjITqg=WO@I*=6|G?}FqSeQ5Foi)m7RN--` zO>?+p@h$WQY^e?wZE6w8!w&Ip$y6Emd3)6oa}2_Oei6*hP}_f%plFCB+$fVdysI|} zr<%LiujUxAomQdI;!lF%oXCOubWIL(Ob9vXRN^#)%v;~(aQYcWlO_v)DvcrqkDE_a z9L=E;K8DMG=@(E*E*36D(dac(nnYA{izW{oQPO-?S-Dl$_hjNM3_(#OmKy~o9S2ge z16`P2G)+9DG#`AHL&RIH!BLkm9vXfTc*p&7Mm4@E-l*bZKfHVEnZ;>JBkmT8V~Tf9 zF_oZEUbU*?+QW2z)3LFgpAEmICS+~(S*lpgNLYD`PG|t$Wjr&4O&Tp_kBV^}iw=o$ z{gz`wv0X^rYhFpC4;zK1GP^||#un1dXl$ZCkH>KT0F)qK+A&VEnPnZf6{gS}j$YRA zUEOYuz(y1V(QNXfE*06Dx8>K|$GKZn>o!ywNoLvhP)xIMM`Hpj2Wbc9f!I-$kQje^8Pk!pCav7lAHIErljUNF9x5}Plj8@kO2%+J< z)?O)fWFs6INdzb&b6#L{S2e11Qnbp0otBp&ab`JhTO!IcEkvUt0pYEXiW?0UOcLqw z7hLL&BcZrrXzR0nsm?BNXro4n(sfppc~*8>kHU7pvNeK*GdVJHgUxnVHT~1`@Vh{R zU6rDEiKGw0eIWOFqk61dR-BG&NSGPEYhyoDH@ZI-iHsN@!^>kk45`G#E)6?GCp-*+ z#cZrpT?z2+qgtY7hh>?kE5@xW7X!4MxZ*!j*^^qqm^NKcK~%`i%0hM|o-Pp@Y?~e| zyg>Wi9l?+g$;;E4IYb^xCe*S4u_H}F#D`Bc!ZSW*PUs9KoGt$Vr4aJghS~ym#M=Y= z`XS|}UDFJTTDqthWac?!3M&yikQQu!=k^rvcZT?yp_tBcVa}QgY>RVh zpfS^W&;=(CH>z;%Vz5I%P65#dGLVfxbl2bRrS@>3cBMKAb4}O-a*sT5L_ECiX_-FuxbY-PeUUU+Rmr=c<)u1z1yUPz|rDGg#YY0+d9njO8Q;){hJ*0inXm{%Nr#Yer zmXcKfmGVa~xX%4P z%G@obt?%-KL6)9;k%Q-ByH1P$0B_DD*XW?N?3Zh=?x3_{G-x<_d*q12d$N!F zXZQId0-Gq|B-pq|%~jklCDtn|j8{sbloDejsq<4IyogM&^6=M7-58@vrS;`|sR6xB zQHwl9>+b5&#q#zP!JCBU(X`DdHm@0J$rl$;T$_({PkufNzfGC411%}|u+SnJ#?Uk? zdMnkkzhnsL)o?nk;U707VEtug)iml278_ex^2IK(yS#TXkArV}EH)D2TGH&!uBg(y zl<9a-W9G0%9y{BH{5cL0H!B1+!h=C6vfEh@X3<4Tj)|~6YE*ooR1#-I6^aco>clw2 ztbA9p18|CQiQd6i473mLvTb<%)jF^pR9X#>mqcI}M-FQ&**Kze1OwXFNr(-s1>xZX zD5t(?;sfF_9-w{{3T2Zcl~9lx>zNl>$aHnOt4|2e>V|f{T=4K?RP09Z#gGgY-DV;L zSMG#XlrBG2)}2vwPE+m>&L!mVjMh%W!!rF(u(DSWkKIwN!==EO_xMblL!P`Q6i~NN zM1N&Z({R$ls|+|~%}GR(8hU7|+^!WeJ?v9i;WSj?r_vOj5j-j=E1|bflFVr`*gMv% z9!qmH$r+Z;b81^q5VV`g(SI$))t0uVKV*MS8a@6{q@CTR>VB$~9uhWA1|_E`8+)Sd z7_6=)5DvY@ttr@eSZu>{=;9kxE2N{+M59XJ3w%216v-G`A3;r#=#vqLjM3y$I5b$SvrkVE0hZ%S%t%x1a$nOH$XW5 z0QR3mOK5jTrj$p^m+G3=xUwofOBb{_%dugtbL*H5xh8QrlUNoA@d_Q2Tqc!-&;SL( zjVRCuaz6Q@^3xZAa6OdKA|vAHm{~TR{=Tab`G|11^#19rB+|1RdkORb!UeDH5CDjs zuk0+5wOY4!dK0KkU^!df4vC&=ugHIt`_RFa4R!c;_o|i~QglQY05;hPr)4Ix z;xf%`_gJ_+dnPZ*A9b59hWC6Y=z*?c04QaRkKFU*z1Epm(yuQWq=S+eH)tPatQ0}~thhv6Pj zofw#X+2SrHU<#~!YQx@L1sY9O{Z+_Vy_v#0#?pA9+9zRRGrGhSeq&wJPKWHWnrx2i zEGp1>v_hVVqGnJYAbh;g?VY~}&~RY8@}4Ae14P!jhBb&%Uzw@}S>~@_**Iwwa5248 zDMCP*vS2fj!`2Wriu$Lt!5L;&Oh)24(m?LS`>;(e12gJ>rb>AL#%Zp|-iLjWB;_O@ z!eFDRJ4UMu$_x%Dy6+zGlnU41G;dQ{dZ;;=;M?Ekva^YrIE9=w!N+odyI3w` zpZlC7TDqG4xm5l~?j*86!X7%@U zV*V39l<01AH72N^IB<2TDfqd7t()TH7FUU(n$b2knF3JSBqQ50X28XDNFHu!&wmZi zqUyXSSX*)`cDmnG39lvcQX9oMd{T57Wfyre-DNuHZ~xq_gD_hdqdk$=kA>B!bqXp*-w{QIl{S{SWn@M^vswh zCL)*gRM$%=*euL=ETnOBRm~=9i%hgQMbws)p(m}=W+(+cQ*wc5HPQ;&pyl~2PYazg zJxYkvL32-jtFakte^V(Y*G}PXXEoeMM93LOPM@-Ks1Gy&oWDt-OqT0EAf1zi&UucS zEHKeVvYY#bHJ3VO_xscAsUX?Bs(-qBT7OVfy!lgKn-(L-7ENQ#&jujYv_PI0wb1dk z)*u{iZAMpkND>oX8!dAni1q!`@Xv{_ZO5nKI8JHe>WGY?qP6A!0R1Qpis{q)ebbC) zuSlw6fy(w<(sW&=gELq$tI#IIjStNOn=5tXiGy05LKKFPul$oqBH2rfd$M_Hou3pt ztT6r&rc$#-ZBntY9p`3WRPN7-h21`u^A1QCe9_-@dG576cTuVaET|!F9m!#KW@IgM zs_sdcICKpf*HzuQ+JaUWWn_1_r!$Pq5AweXn=cZRv7#(6U5ADw?6I11*gNYB5zfio zfjL>PxlC!Hjcl8ivf(l%LR=DQX#B<03zleD!^4l$}GJm4zK$Y~&~t*94p z5%*lOxc$OqW*#TsqO6Aw8n&jM{!4^VIwT1PMApxOI;>6JT1w($N9plm`Gb}e#W80u zEV6#-#@=tg?xQYYoAyj0)o5m%mL^Zt4)F}pulHGi?!-t3s=kw{)M%veoY74xh~hQz z2lV}uosdOiHp{k?t}$m?rcusoj+CmGP)t-o>rZxAoI(!$YMAJ~eZmBYbm}B>s)sk_ zr4-%G)P-Ermn<5ob4i6PFNg2%xfr#>r2QgDO4M8qdx;D?5v79;L?EILv|wP3e1u}*QqK%elc zM9!31g-0zaxLONx_)XC#aWkTTY$^pPfu!nbbv{G4R7Rn<=jJ{ zR%oB)AB5dW6B9_}fi#Jal6MSK-4O8c5Fs?-m@fcNq5jAZH6$H9{uB^gNb!5B&DjNR)>Ygeg zQNyx%1bpp9@irVvu7Zu9s>2wZ4{bC45qAb4G;Ugb5W~j7#AMVLwAEoxgLLLKgyK3f z46~b%OgMd+z(rk&LGvh{*V36mw->ZDrVj=%-{1TCxzr?YM0XcMp8gQOu^| zGx=qq;mFO1{G%sG8Z1!l^wmR;33u+iR_KFdx+40mY($Q#mw_9tdFq|R6&2lQJS{p+ zw^DA==&0{BOsD2FY{>|Co^N%A*x_sP*WWZJt4u&n0)P(`UDf%j8{y22!fVU|;pIG+ zZe;%e+JC8nztdi6`gsg*>?7igv3-4%&nAly@qAOdlN2@%$Tq@`luqVq1&ne z)$9=0eTvU!nilFDg#*|`=F{Kos^K0Q%FHr13~1{s9JA`=^4E}GtmuP9MHyci#EAJKMA+R4 z4sio9)o`?BZn>#s{JV!`=b~uGZgv1nkemhvd2D|%0fT}XPOq0os_&|B$vMkBiGvHY zw;L7L!)?OD&Mqb^L_@I2!NhGLy078Cf_Hg_={WDifJaExU_TZI0fuN1)UC(EDtfA; z#m+(=vYnbO;tOs{(e^^oG)E68?LD5|&LK4DnS#&ye0mJHhM)NEgQk%c(5JSpJ{qQq zw!f7idg{JQgp+Ya4iH7YNZh(+987v6S!QNcaD}bw`?1O>h+O%0Rip-4yX&JLx0jEEr zkn0M3ilbz>Oe`==12Z%fx7A>FHWG0=W+-n^yCw)c4P+SIca<%*mM&YjgleFfU;yWd zgSXXx3)!3h095|~79`QCPBW#>lI+($%7$YS!xVi}yFY2fVZn2!K3*VKcrlxd=S#t2 zX9*54YMYi!=`%j7ClnJQnW_6MLK@a`Lhb>C@mPD5<0Kaf4OH-k=?(d!91I--V=(Z; z9t}vMV06sT?5jsi5NZ}|LnkQ8=;l@sX#W7RE6ouUI;|0?=Ub@o@>5?$Co(muL8h9i zsp_XSCZbgdzUUBRq721@+WS8XvmGf8g^Ok!&}y*q+i#rxkRj#Qu#_|+loy0DlfPL* zH1O_IfuV})l`)1^OovO$M{5gwHE9x%9HAv z*AO3?0irE*hup=}q-CUT5N!iQP=p0rm&-ELe^s{s0OJa;bK3wxFb`N%;BDx*xQOz& z@cZPQBnla%bR@Z8*veQH);>f$n~4yX+?LG|j1sBV&;1G8ZE2IUmGS6@-Oa)oTD>ox^v;~F}+Y0CXj&~APW;Z zuY(U+Y#>bV_?%a1!EvJo@6%OJk zeF}5}R)E47xLOD;_=0{vXAW_EKyz%cnBqZkscI#(c-;X6Ntz;R3}udYM@q>2{nW&V zeL+HlG4Q8lzbkwF(|UD-`PDL}U>XaQ;%6-8Bq$tQM_5you!l=YPlNh*2J1Am);WTs z!bIgaSxJ^O$Z6YD{y7F_R}b@=Gc=RMDUQUC;`=}8C;jjoyt^ibypx@k6#*?y%7nTr$vklNA0WA;%-wv`9>ssM@HkbiY254$JKVHyms z6w5Pjs>~pBO|N)Ql(&Df7@e8eZ8a^-d_L-rYVCcb_MXy2H-;OAsX6Xwh;6H)w&d2>#X%3Sjgq1Xg@eiYkc zf62250?w@cq#54tG08lwDlfE+L)Vh50Aq zVjQ4;qtDHM6L0k1$bUvG?aC*@-wa=pYcBVQGO){M!W4p%;t(!J|{Sg%| zbr)SZArupJtn90!PpTZ#>2#WlG8%Z?<#pRS5r9mT}g`Yf#= zi2{g-sI*_@qHIOF3#_@B@qItC2NHrjEI$2&DGs%1RW7He$x9`i?H=f|)$i4knB%RT zJ}-N$?;UmnlK%kGy9tiS!}|E!{{TuDI9PcAy(*s(-L@;Exh$~a=lG^9yE~o0Ox)}5 z?68_~9PT-TWw;bvhuvF{IyK_K>Dl%4cMAB2K`hO2ZX(A)UeL|>*iW4_X5m>DIY7RaFDTuAT+x$q-vRn**IhX_Uvyf8MDF+XE7d$-J7*w z_nEvVID-EG)4$aVvHt+mC-i$o&K-44#>2#xIB?=MH@rE0ASf+2jI-iKTpB@wTkgoy zFx9Y_3oUo@Y+u< zWi`>2qHaGa*lvAY4o$&+FvY~l`hy4(eGQg;9?6XG-QAQGh|F9ZUdsAp6PQYFD8y%V zh|UN+teVqDKy!fokRs)qBQ#jUS@A_vyf-I`>9X3pT-Qz2+?b8U5W6Wx**(WYeANa^jM6?Z+I~& zTU|KzCZ5^;nq4mJ&bxXq(8O*AG;wx(SPlwX!ZioNfP*swFA&4FuDKD8|NV#j|jmQ}S6$e}(LT&vUD~sKepQu;z>c zV2Y9A{gH<`t#+VZsnrC6VC)ti6%Bm~#KD&gOR%h%oF%ivvKn*>BHJN4D!RLD5Ymab zxeLV9HmRM~b{{@`Iu5Ad;kD#}F2!k#$31)Gl`}1FrhWeagbRQzE%LU$rFUK9 zTK16U7wzxvvHKro?(rNyP1u6DV(^`ticIxdMVGLMW+7(6Y=$5Dfq8rYF&o8X-q(YS z!-nDAZ~E5SEkSX{bf*<6zQda5|=hO79v@4``Y_v@)Z;ALaA0%%fkTBPlZl5Xu@vUiXXw?zqdRX z$^irCWC8yGpzP*^FmVB`N)B^-{9}0 zn~r+feurgl9!nEnx~uFgQ#Ud}sD<7-aUKNDA@H7Fzhvw{?8UnPutCEv%}G0Mv1FOl z14?sPuhq{yN3GR3e`Qr3E{gCIb%A10?y(LQ<3-rAcj?pCtb=V ztYCD>0DRGz{{Y6dh2lA5)qhp0fdJ;;;pB)7t?5sDEI9D*m2imqr)F%l_>7{$z+1Fx zt(#X3`KWvrQ;X~U)%BUt!*uLPp6%IAUDhk3hD&d%E+m%<^&9=ungeo=h}m<~nD$Tx zrjyg|u$<#k?-O(>#t3|PfRI!l)2%5*#K~{PvMtS*HsyC%m@UO=@lg}qHwpSY75Y7^ z9gU9zaZG*FvUdK|{j#~jQ15ZEG1%c54lAggi;3CT{6_#93C{s#!ozDlK8d%zhrVcm z05*iX-y|Wfet&<3n>Ke3`61=%DdDh9uc~hZ;?mIwpO`u+6b?nQ0Hh4w6kEj8 zG?X3TcGRMZh^YOPfa!>HLgGHWl+n?sPIG#V0vtuO;cJD_C9r0$6gw6AY-@aw8*1`I zwZ0z|l=|gyt##{)rUnl&gw1uOF%_>Z0Xq}cP1qEqhhXwX;g>b}kq6Cs2 zZI8v44AVT- zFCPt)&V7FCiKV7KBmcIX=oiIw85%v0*G zEtsJ7_t9VeLuAf-p^MsE-gz+aY)MBI+%w^BgOaDwc&W_|@6k!W(HfD-S5cyw^+#D* zLH$Mn!LLvGC~lCN0peL)O?JN}7@w(>=*ri9Q5blD%u7J%oZcroXNV%wD2;^Q zk^^e=M*BZaR`z%NZmA%eWSK@B3v*7Xw9V#_E)gxt(`dS*WNGvN04hUsc}{WetH9df z%o<8&6prr;%EcBSO}W)~cuf!w6TzSeU||?&7Wj_ngTMo+Swv=*&391eIDtrL%3Xa? zmWO5dn{`$K;o@#@eA7S$yI1CjoJj-Z5u7)J6skEu8av;~OJ4*?IR!yY%*^BBydzoT zpn-ox3qyQ9BC_wTv_t?O8eS1_EyO0^7*`E5mYM}1ZNzAaupco*=a*XN-=ffoq@$F( zHpEh&b(z)_Fs07mi5b4jjtDn_WjyvybQv~;O~A4HD7dXc#%qV^oIpf$U55t^ycl?S zh?|m6`y0pJsJG{pePAk6L@p+h6i=0Sp*Y2P3alJkX2S-CKFbRa3;;5=YsqAmwseRk zFl7w`iL|^gvWEQ7JoOY@w%JxeSFG-h4Ul~fg$#b~aPYkQlpU0j5{8Z-*j;fn_l+A9 z^;zSqL6Q%@vL(I~e!SDM1w{CC=B7iK{WnFXl&XoBebI)1D?um<<#ag`=yw%Vc{QZl zRpX!PIwy*=T5PWmk(#I$<}9!|YB?w{GDJ8!txx@8$r37ywQ zF<(^R!X4Ibgh=#LXP$Q4qZOYt*X)glU6Y-dIOu4DOw&x(=!6N+ST+g$ z)jyd7D389&D4KYq?1XTO!pk{^v*svp>lt@MGuAd$XaTjWwO%UxX~o%H{{W3)HL=5Y za^$fv@dp!MN@=>rakK_y5e*QyM=04-=B-1dDqoVQErCvG4K`3ooz?H6?!Y!VN@f_t zF8-~zs_fmJv6wPUZfcs-i97UIxB?nPIg%sZ%jmo{=O|8`)X-BvqGa?@_9%H`91iOf zw>~EjWy66K)kQN{4M(^}q?Xgs2{BI=fiN<$w@+a1{6+jh| z4uLl_n*RVV2tPZbVrSyGKUC(&>TW=%zsfmXL1Cg52YBgaE@-Z@xL+dhb@xOVVZdy( z2E+DEH5JO)UBp^ycY+gJ1dU5- zeg4Z=NbCL6GO@r|YMny%l3;uHL?hq1Ukx({Os6&Ya@fwu*<(50B4nz9IU~O7GpnaX zF;%d*RTjBd5zQSTVY;A9EC%K;V0bx2mT8d!Wfu}NIPS8{yLm!rI%ulDWf7O6E;E-@ z=H9v{=WD-)!>ipN{z7vgGYOm`DM;Jqo0Pzk5H*%km7;;f$6ktnG;bMw>b%}Kjn*fK z|ry%SO9>RE=%|Wdq`)E}s7Y3AW8oL>^<|y%b+J zmT%2FC?x(BFJZF85@sOg{CX)Gd?7TNJ=TO~Gq{<7WP7=%Dtwg)4+De^6-jQqOG7rK zglS3fE18N;%Zjy?Fbi!E7H9;`@}n4q+JY>GQX1XsOCdsG$BDI+NG@xvpb6Qw>JyGp zUo6D9DT{fHuSJ`Ph=4_rp?~zn0qB@y7jn7ksaD!oy;L`VieB8*OIXlBH9$C5 ztkx5a1Ec)@Q76eGi~K6i^tuipmIF;uanyNsLBg$(050~Y7XVDOX=0xQ8M?KW-B7g@ z)>TD0uNG0bs?=_rS~7|#*IsM0hG68zdoyCvwb1}YBIHmM(%H&Hh#zE3&Qo!9mI4N+ zORU4v6{#1|7_k>Cyd%2o_(%0IKLIlj0gYoag3-5K)-EWAL7*skuY0b4gc)Eqvb48E z{6Ora(=ajbs;3OQF{O0TMEY9D#F;da&2bNraf#Ax#q@=rWNa!{EqicXaJqcMLeuGC%_HYB3p$6i`_thW`X z`B+tg2NQJ&wsYpwRoXD|o!!PMc2V?%3`TP>ygK-mr*gQwUxj&Ax~y4A*W?lH{h|oX z`dDuJs=NBS6`Ys`<|v#Ze4>bl8p06SI)r8l6`~_eki+odFbw#+Y!eO(SkZ*g%uE-% zFaBL+e-7MCKGyR_cTIzN^d70WIhyy*XI7Gial~~#BzU-@!A4RmGZ(6vch2iPHioBk zActbQgDulqDF!%7j6qr2sBq@h5D42eAX{B|l_QEiAfE%g*P`)k(onv$!&FO1i}8E+ zD}!6NauLelTjrEmn=x+p-3+2yCo_4Yo?7XS6B|OxcLzm zB27cR?2b@aMNM=-<}Il{p5bI;!6T4Pvz#n>YJ+i0a+u+|ICyR(9fANjxu<`9R5So> z&8f2dxL|0djSkalDPyaC5S<4s9|-v&lV6DPMY)|rq)AXkC(WvMP}aMbzKb)j9ur@B zDJO<{k;!Du4IjD=4IeoO<#uL~cv4&;w>v87<&$1%q*9bwETUq4!eEz6qC`+5i~R$N zAftrhodalW-XkjO?;q;aGTBP9>}}eNi~L4aUT7q*Z=^ zW)~Oo+h==(?9c>Db_fb()M&13YL5A|-G3~(z{7d!7Iy)x>*$EfhRrx(va>hLX#~W3 zDxO+_Fs5^Cc2SyaU&-v_k;0f~pe9s+);m^%RN@H{N{OPw3>-F*`z>7R#I{wd z)pvd(G$PAKIogr(Q0%#dBT|P5%|2BP9O1Nq{$W2a2)7E#(UjWStgV4jZ>pe?vVlXd zBpmUj4yNhk7;WJkc4foHeGD>|`>*<@fX^0xiA+?;f)@HH99gM8iwm;7xp0RbGseM2 z6IvQ5GVC->F4n4&>l*Lsx>)S7a)C1<1bq`oWp*Y}wG>j)6LE3h{6A$DeI)c*a9HVJ zoX#@j0Cs3Oi-`Fq0&4+QFKA))2uZ*iDzc@qS2wk?hS4antu%o=(nj zF`KF*vqXb-7;8{6`g@I&KxMze@X~KT zR8CL`yH3;Z=Cb#2JTvu0!w)WDs$@O5ZqUV!sk!l5&>-c*6`NH?Slwidl{9dQE++=K z#WJTm!yN+325IvhJ=I8nB!VG1!Jy`dk9Aq3!@hp%q0k+zVQ19Rx*?N=^I*8EJE{i^ zz<86|2qnbbIA)qhHzLsPE4Pa11JXW-5NP>yDQpc1QIv-11sId5jY1e_BimXUgZ6sfi)1b?!-U{`=KlaYr#YSB><9G$HG!(d?H!l24$$t^Oz!fJgdv9EIsCRw0nU@6 zhR#Ux{{Ur??(Ty|V)u)6PRjRonnYn~&Q>$~BY%d^PB?TRabMZk{j;3Sr$zinX#=!5 zo>Sl)>vEjf%G-?p0B^cLQT8Q`TB1>hL6;>b)ngm=osEuZ{?-nQnO2R#gH^!Ie&VoE$l8yfqfkTZY9wj2A|LrEm) zKFbd4=!_@7wFdk+a0yPs!^8d?1>R6@fx>f|?o>k)zwa@d zY+OzvyTWksUVP7F<@8nUFTxs(9uKnpOl(X@uMs6gMzAzTTHSDxS@A5Tl#3?^Qz@)R z%{h?XjuVt1bUUHvJFNKmoYpkEyyXZ#zs1AAjtn63a)p*%m;OjL+<}xLK-8+5YNrXu z4CvrjbBbBoFq`OpXm)&j2li*UkkaRZ&Et}I#BeSz%yj`%i~A;PvLjgWDmah?3VVfH zb3wy~4Wfu<1=?5NBts4UBpPOC=UG9o8GsTxDVoHZ@u8KO-~)Q6kyxZ6;wanu^i90F zc&FGzw}#CfQGg5rH%%SfO~%wtEzcn6fiEX)&A+){%!uM_jZhMM+MJ@@5pZ#=>byWu zaE&I*#llSvScFXjOjhHgkG}L9bQ%-7KkcXQ4gdX?A9Ys*AWz^kC z2Mx^^AvYTbyfWT4wbkp*0hb#PhQkBRFv7yXXB&sZX-6bbZ3KLioEa|7=!3IEMu=nZ zmIE>c=z}caCtwsjmwI(g2Zt?X-$dAu)3CBGX*A)_9{Hh|2HuIzt#>vl=SqyBWW^$m zis-+B!Nhm)_!0@tGVN4fqOAk2E~}!=eyWrT_OvKI%Bm+`msWNoXme6!7iKg*VzRcp zokZ%zq$55f^9k5);D;SkyANhE#{U30+ww!Anm|AkrJR7YYOQTTId)E!^(8T`Kg8jN z<;#eFC;~fO3?#qa7j&d;bx2B_x+G_2dn-2ln)mNugN&ZX1ED+PKkzl!)SY~vfrq^ZkpPH zVX+@ICE3Q%oZ-Sp-a4v{4PyM$4KvJ;b(DBRJ|GFM%ZwO_lRk*Q!Mt1)XZ|tqdzCF? zt8M-IshqB?YGZv+&e@v-A4KP61m0|k11ya`s}`ANhksOjCE_GCwoo*?L7E`vxQa%; zh@KWb!_3u4%{q&9LFB{@6NYXN>a@y?t-~AanQ0ePfgW8sBEaJ}gdWyVpfZ3aL~F8P zrSC;8tlli7$8}IP35>$a{7xlA83UR3qLbq%#8eT~O5v$Hsjgm1t&yatoTHfk0B?wN zR34XAt!z7ZDxG-$8W{2|(LuwmIqZxG@3W(4{wQ|?e{Ik_v|%hy%7DWh#ps+>ke7x0~<^>Oh0IFEHm=CNL3q}r7qx^#;g zQ-AP>27I?ih*a2L&BDQ;J`G(ROl!;~1bdhD7aW1=~wx%3*Uh>i69)uKkG{;92?!#WSLG6eW}4}Ucd zmzxDxk$JZ@R>if0WWr`VrxJ? z5QsD=M#^MeLhwBqoIg-h-gTrkZ9Y>p#y zH2(ndYY4H}z2|Vy(Xx%Sn1$;Km#|cn=(puNLN*Gb-$Zhlf}lojO0m@HfY+VVF|c14 zm`=crE;vByUUN0fP*eUWj!P1B|ugV427lp@UKyFj;+DZkEGTVQI4j}Hw z^o#o{SlVgB0b%8!axHGPFnORzua&8-nfQZX#3N4-i9)bkAU7&Gs>7+G;I?XJ^72`S z6QqO1!mxWI1Dfn-XK)9~6$HqLL*e?PMIZ|5sZL6l`zRLOZ})^h_l z**F81o*q!MT9YXFV4H+nlzcx+A(+y)nx^p^k_bTM8FmXRCoSq0R|pVHeAgQ#*XC>e z{)xe~0NXa8`}wXm!6MTtb3y8zNtiw);0C`GRyv|-!(J+sNDXlo=BJAG)0%)FPl*W4 zl=!VTD~x6~6Qa$j6)s1MdFv^$!IU*xz#x3gQ+RJPis8P5$q{xDbapH6tr@37A-38*(wNwzIo)v#Wyg8$iJgW*WW+zp|Bbu!_ zudOv+EX%XLMpvAUj%l~eItoWbPHd3M^7ljo$986N5R3vI1c*A_OB;xBUH<@ViyzuP z$mXN|X}O6E)T2h$tzG4#WZY0LG^zJQDU|OOG)2{5HKB!+Wqa-|N^XyMWb~Bs>7a?% zstwC0LUidxQye{g=$QvMAQK0R+*j(E@Lmb^QBLen4JuYgFcI+$xZh>{J+d6qh4V=U=6hveA)z)9Q;!WQ|6t zxVUl)NHSoq+m)b82soWkQLL%UFU8=o z0gcv@Yh@E{mqi+EwwosJs;SK!?2ClvSa8SPadBJ${k}^!Q^icjq78N?VKf9mLo{SHA}EPz8UkbA zB`t6fQ0o{%zg3mlnDD5Qo=5rD$r5(cfil z6|bTs!RDkKyDj-_vfq+|1anPcmN3R{ny0h?+=2$S_7fd4JU{}Sh-;q-t_~VfsfIF` zjH5*dQnozG*+fD5-EM&%t1IS;j;GlQ0OZ|hk19b;idJD>v7l1#uevN;4iOmHxVnF3 zjQN5tVis`b$wjY|lxg!vG*s8-t(BjZ#2`Fr`>S`DWeoIYZts!zRff_Dc{FI(qI~?l z-9}gteN#*1mrxJgJXGcSBbCPdA}kOWJM&q`4Gg#UPxCzQ#VNWrYs1k1)^AZgWa zWm#G{O$biWu?@;py`wu#j)~#KI*>%iy?$tA1aWP2Lk2(xoAyPA5;KG1x4Nbrh2f$O zOZp~>a0U)*CQvztg!f`{p!jn~F&UF!_f?pi`=ZJl-9t@zrw-~S#_j5XkLw)NhdGs_ zlNf)K@urR4Hv=idczijqxM2cK zkqBl)KWZ-xksp;mo2k?8hFLtdT%zGxdW6OoS1=|bs}MQaOajyRS?K=kWe_z#*>*=z zj7%S#6iuPF0Zft?iBNPZGS(DGj!2ymHsr6Dp382k-~LsB2y^DRt3PG;SnTtM2S#kV zLU?;eca>Y7qFaxK#8Erq`@|lViDQMWV=O8G9;AjGD$(=L%vq0Ov-2I!GMEI+ztHXdxa`)-DWMK;-1 z>heaCqs_WMGLPg+nvcq~t@VX+Red8xE3;y;t?t|!{K2;i9kra-BZL(|WJUL1>F#ld zG`n!Mnp$M%LOxN@1Q}N4q+CKcMgu2=x~=*8AbfA99{&K<(Kcr+4;S5LqntIB1`nD7 zaWn*8!7;(^V~Ez>J?^587VyDSt3_v)iJ6O;Hah$L)gI3k=U71I;^lQCSstmf+{}vC zP1Hf^4M3{cM_W1(OKbHgJLO9*-XI@MCs~|TH%*PuAErmify_s;W2J& z47Vu6VFiTQHx2A>XTXs6L#H?PU1P)hqXe3X(h<;CitDrE0U@}s0c)vt9atv7}^n z0T``45Sr$;l8vt_bvK1Gtx&B#im@7tArK%XGa|K$t~X{ni-ZPZa)SbOl>DQJh!jl`LO{1gAc6k?loWFT zM`Z_>zq*2Rb-FPmjY*SR%Slk^~14uRkLd_zPFcFGVFx?TC*7LfxC_4K5(}ubU zx}yhEqCB<ESw4-H>1<(AyjISgZ|zOw&Z~)Xw9; zGjmiky3{JuqIAfWQGFG)RR9D})eDDiR%ni>I5$gKc6MSMxR`EqY(mS2U>e!~0PIk6 zt!NZS2*GJ=9Qv$mC-6H6!NWIRw%Jai%Hyq(G?f(R$xsc|M+iEvhoW|BZiM~N-fF89 zTN^0*1*$j>&-xC_!L`DB`>@O~a)uhvEINWog4j^%J)7wh#$JF;t`1K;IbH<5B_A`jbC8zM;C=B5O5GJ$E!(^?`k3*JyA;DdIz zRMEGXoqdD>(vaebh;-Z;LJYc1B6PCh&zid4sl}(n?Gt8^r@N`0K>*yLlvBebT}{iP zMp;9K1WyT%f7y2}@!mm>i^N>OV=T(UaBfE4EQNDwqPb1u(Prgbv_v{Yo{9~6AENlG zOwZLB7N<2WXy3(ts!8JBXXdRz>a!o^G*$_L*K|e>80~oYki*&SmMb%8L$u=ITmH~> zN22bY2zWIFK~B)ckPr5D~ZTr_!nN(fke^cbKj*>D3luySr$4 z%ILA8akvhg*C(2-fEF5{YnEt2J+lM<0DFYlEX(6){KB4UL9A+~XPR_G%8OFyn1d>A zbd_lPE6COgwCNKSO(2U!lP1%2(ginFx7}P)ltUeZh1A4h^Mo;4L$g82S+Xy2FnF^& z{Gm*>rw*I05d)pnX&MMwL5Bl8CdGG#OGTzV=%+4H+8m%$r*nLs?`*7px{cJ&rRK*Wcws+QQK=z)6GEIl%fwk(X0K0IgMGH0GV%%cf&p5O;VS zbYjeNRkxU1O~KI~9vgCnp7g3L?Jb;E_+6WbC$q9*Hym65W9psXVVok{wc$D6l-i5R z24n!A0-)-uL}doQWXvwhg6vWoFD)V%vv!PL;{+cF8Jy+Z2Dz*bpZR}v+It(_0}ywO zI%XFh_E=17r!&i@bQ>VrNvI@QHH^sSTo}6H+B&R!JS;u{?gvKt6vj+E0W?NAdaCag zR-{K%X5AIVLJ*9=nV<2$Bj%VL{{ZIg3E56;r)wkeNvxnNZw=u)hI4c1h;fF*4r((AK4U~lf;#A( zGnKWfipIzf6d10^cau4+O}0#_W$8BO^+nuq5eMHj8C>AoJ*Ml0jx~r)0}d-*Uh0iw zCSc4p%^&z7q;0L8$#4V=Ntiysuv4VF&Ni0}!Y zi7@`N!LJkQeo3vu?6^(C+bvWKpb!2r3Gu_NQ*Xs`RvtcF!LF$IgjIHa(}9cLVPiIr zchr6pz+o*LAnfis7%8nF=M6Sp_7TeW9GJLq=Byulk-{P$65>Uc$VGQRd5xedAm-gr zD5VaoWlp1_`q@SPh;daOURYK2Pjg#bOkzaxOtXQnvWv+q69X|>UL~V#J;Hpnx|g?2DZ5{(w~iTdcM(@AgdvxvPKKWy&PCG3K*PA8MM@`zdpOQN9u_)i*Kp zY8j&qu85=|hTaelgjBcP79jY%&KKP`ES85rb18L+A_H*drk>?F^D;I2rxQSa>bxPs z?lmh}xNuRJ2@?dYRU-UNqlp>LI9a#Y;EkdZ%1q>f)-K4 z@$|+u3YpRUz=Vqgx|uQo1|5gjzZnwa)|vaSoEEYMQbZs3-xr_?lRxmmcSa`Z&zb__ zdF_ltVU@lvJ)fNJgHC+W2-(wUuH(%dN!=y6; zB(OpH$L?66%aL;f26RNW=SlbZa=^%l80?p{Po^`r^*1EPOZjxklypbS85%ptV1KcJ zLNg%q*Y}Myt2<~8G)#e0FAUb>*A+<<-M`H5oPC^(g5r`r--%AU!{St*Idh6RJQVC0YUKy;# zC^vp_O)>~7dQY6$7MScXkYWhTv9?+YBkR-74P2>~DsdPMinEpCkXUj({%{S48{&}P zOo)l-mh=6@t^`9BUB30oB&QWq?dK4Hl|UbQ-XPTC1NQI&R(dX)`TqcN(0y-4vQ^lf z(JSfW9oQWI0G;p!36mOE?>V4AlmX~qngwm0A8)p5a+Uxm9QtCibwbMe;F1@vHb1uv ztU*!}%R7Kj>>KvL&@wN(@6JUYNg6U+OyqT4em*ea&`Y?dM;^GT)>!@I?SogE>TUyj zA740fJ(^_q^P6=*gvr|=BY9z5Ia74=Ag4z*Y66u63o~AeBz~m{{T;o^)W*d z^$M~Mxe#}8AmUr~F;PvnNXI(q?}#N*r)v6sJK|n6PTs-!z@C6F%YCfFM}8katOyt> zYg(Vt?%+)eUOP{#FU|xGz7Bt$o$-ez1FaQ`SdxO-)7+!#?2y@AihO2U-`*YCy??C_N`4V8z*x~sypodAH-Y#=CymO6rO76Wp zUNC_UpFY_#Hiaio`;iin(CP7hFz_m_h<@h?+T>x|tM7c4v#$mqmnzU|eBc%muXpkyK{>KsP2yu3UA0ERgg7M9OF^T-rNsgu%hn|Cbet=<-N zt>IKTF$UP*ZTSA=qM;fDWFQruquJ9TdnQ3Wejwv41y_-%pD_K?EjG*C*kGIW#fdqI z(n$|}Ya7vEO4j&Glkz|qOU>tRHYu_tj3N+(4Rj=XYb18*DE2fxUu;8DFjnIIKe=%x zTNe5A5tkAWa;OPEIdGFV4#YotR0sS_=fi6=1Y{K-cYh8{zD-mvQ{q$hXo zWzVDz6uMU*dgP5pNKACwev#)P(Ku1cdChJup?t()jh^*P976AjqXmfB2xEzZ4V(m? z)HLxr$W&F3E|4ATcaUMiN!lTwI4WwRWSgXR#57Y*LY}ZE#z2nQu84k2-2)EH6JM+Z zkkFwCuj%uM$k+qS)*{ihU$!)oTv#KsC+-R8pZAQIm#gPA+R7&2=M)M=2Vu|aBhqmA zC)fPN27wZ-#B0QvDlI2to9`plX z++@d&Obx2MM0mwP-NScB4xadc2&ajo-LE-y0?gF*d(Wg{5tc|)g?R0;a@A4Gxi#0> zNQx57BUATzbb@JOm(#y)T#8)<1-OUX$gzh|D}HJ_xf3_iZHqXZB9Q}q2UEXu4vnvg zRHVqs!A?q0MaQo4WhR%US1cng0su@;yj;#6Lf7dYncSc$wCm50rgKS-S1XRcjJ#|J z8gTUOk_~ck5u?0&d7^d*>)ca$vV)QIiJ-c+p;wo^t2eaF(XNj^3S$%rW84h_N zzwfhxoh}8g3TC}Z-F@}S+0aqv2uO$lqwcek2##m3u2F266z}Uiyn6xh&m{{YOFCxtF~ zsOf_;OJ(RDa!Np{fPS!zCAlDBTSG>x?GVqhkL2-~yDNjh1dI?Nnt@PlAJF_*vmH1 zyFWcMVtd)O`hIhoOSGS#<}#uJh+8E&2`*0zDH4K+#iWIFx9#FCfUYlse%1wuVmT=j z+X2WleR^2hp~cls()+vgJu#&=&|KD!yybL+LUJDSF0v^uOJ|@YzWzAHiGbhe?^|SH zg2ut&=yN<~#ME=9KR)hBfaLPh#yDaTZcOWLl{hMDPVnPL{K-q(t<%@fYt|7>3Tx9s zBK@ZlgNX+p$|Cz{+t zs7`R)O1pyWR};X;hrl;x@4aD2>jlhQ%tw5T)LA!iyY)UY7j0@CT!!`-Z3}vtZ}* zj3YZZ9sdBh=UJPF8j$5krB-0>DLel zE6INKaX@l*<7QEr1zi%+3BudIHi4tTyrIAPo%;g}eF59VCIH zwmXTYhLM0+1>~A5Z zYEG{L%sU2`y!zvrA*8XdzpRkJbFcgMa066sNj`sBV;7)wkM}M@O{srOG8m|k4jI3_ za$ux{YD0SW`x$af!b4Wir{0-Y7C|S`S9|x#heVk)U>ozBpptSa#6(P9RW3Ur%8nxV zG8(k+x##R-?WMMko9dlA=K;;Q<$Uz{!~M!-jS{eV@6#bLs!NWDX~+D+Ey>$12OgcU zi4bGy&0(I3fDrTB7=a2<_i!Yh??e7&s!%KCQw`4Xi|P*?;7HscTRpnh=Nu}kRBnvu zxKCcVhu~a3*Ss#Wpo+G%_YX{hkvXZsCyhAQvilR%ZWcRn)5b1Djkty*-u?TQMmew*Ez0)#_7?0K5}V#B5XeP z_rM1K05vax87CQf3b|fM@taqvzKV{~^N{E?nhJGK`rb*Ssdz^nZ>x+=TVF4vV^1U| zE9;L)9Y~Itu^#nj-|n$Mh!sIm75BDkjJQPn{NRjRc~|4@;2wnRCH2Eo;evuMn8ew& zkox!Oh=iX`+x%gc^_F2jhCTM3-~hK(bv1@c7%3U+UY_`hmMFNL?cw>1V5Ef*RISD# z5mYz?hw(VKVoEI|{LdF&WCix)(-ROC91@=T^Wzac;Q1nN+|O$wO_Th|lt9~sQyu>R z+>|C$hy|6@`NtFV2}w7Vsw1?L2kQ#NA%G`U*C^w}`tS3JASoelo#Lygla@WZ;VA?5 zpE#lx6nU<{jAR-lI~b2_L&q76y8b-k-$j)Xzr_4^&d6aPFP(Y7HdGK&K5@f3K#2Hc z6J}(odV669o5jKOlO;{7v9HW^jDZ)k3waF+)j6rhom$a|lVYsJ~MU#mPJO4kycn?(q-o?Q4rKar;l7c@Di8P(a85r&|G!iRdX>a zsrv=tGUZX>)ox13ZN51DV+KiG?+9`&33d1Nkai$ruisqSAWts8=1@q1jY0eW05Lfa zC|;j9Hc`^Mp1AaO3N-D4z&D5c-vZ>Z$}iFJlB<#>&34W6G^f{n^~&6f0Q5mQ)9L3n zf@cQfez)c^sUd#7Olc@+qx|PJ)KbaI?Sn)ljRWUcv_dTK>Ft732j9txiU@>L%>LeSh-8Oy z;&olI0<1`nZF^ygMc+s8z#9zelF{(}V?q%h16t|zSxwe?4UEr>+n@xZXU_}vF+~n1 zg-ROYOq9t|L08%M$7&%en5ogeFp@lhAW^QYeYJ)yT^j+7%QWu zuofi_1`f1s%Up!&iBHGp9MI_SgZ?-qMTapxWcyhHwl6FA`*|dDaT<58 zyTv4#U>o%N(+xWU8F3Z%GEImJHrszLSWGfZ?ri>IhER>Tj3Vv1`pVL7o-r9(nx=;* zR_>*RWO;P;*RRegSd}ok{{Xqz-hDrh$9#!WShsxt0N;N3D@(~1E`RP?wv}Fu#uJIy zqI`bxPE)}2Z?5d~tOC5Fsn2TGc8uZ%wfe&{s>{gnfO-)t zME?K`0g{nCtFPX01{zYWKDbJqf?9+8Ghkw3C+zVZ@?J&z`uQgbhQ`?I*4Xlt@)# zzX9u(0!uFNi4JSr-baA8Xa=eys$)L7T$b18-w06Ly{`vpcUUk_c|U6fAUary>Rv=F zptD{(UTjS$mfFb03JXbX?~WwVU?h=0ykw0Y81#GONXkB5zwdk^%DaFh*X#L-Hoxi9 z1V%w{upYnMxK`W|>5&m+3_foL0#B)`ehg%hY8u<~{lJDKuC5|rU#QCQ*rfZnrn8<8 zDP&I=pCDU(;wK$YHm+u;^p6=b08PLyy2l>Q2oOT*Iz{ve!V?NYWT9;K_{dD*hE+PA zIo?lCgGQENbv5b6NG&XcJnVYw6%eH+DD&+dcZ!Mb;I8^3tLGf?oh>2z>xe9xc{hsH zomTy_=n+b1abKJRV56@eOl*x~Z@gnCs%KBT&P1$8+J5`u07Izf`odW8sXcnbM0icO$epqCWA*EoteB-uU-^pH z#KGksb%ZT7`+VZSaIQm5LxB?vQ|BHN4jO<^~oB9D%Et3)8Do;zR3`Zx@+UUAvIJJx~p3H ztfUYqQWfj$U;q;AEbd%mfn-Ny`u%XyN!c}(;L}ju#~CK!S6e=q=y!rI#5qdPsNHj3 zwUoAKaw&#DYsL?f0fCQ6cA|AAR5^EJvDn?yGMT8To>}__bRc4te0|y7$X^Qb+nT@D47jdd z6k(hPH|#n)gV(k97QPzBscP5 zG*+H%#C*6GQY4(|-|O*`iJDQwf7c0h8d1}Jk%BOffNzhz^34)6PkfQ8fs*khvT+=V z{hwS2N?H(5#sJ2~rl69Kj3C@XCu)52kw|b%Z9O}fidxXHp17FM33GNmuqaH$Hdh~K zu0aUpzTfi-g@b88PaZRUEPBk$cGt#DG%`wU=kJ`M??^cM)=_+f(``SDHp5C#Q{2g} zpwOd7m!3LKJpfC@@Mbr!b0z?RcG2JG1i}$!J$AT5NkXUD$JY!b_x@m(J3={~xloX! z-|L4E83?JE?e?-T65zq7 zkcZ#D=OuntknY!vFbvBZagDm;`GNsZeULwQ-wAMuqn})ug{|LE&t6<8IH4##*BhF} zWn{%yPdIQ%K^Gy~X!+v_j2cUB&weo%VB@C#{{V6(ji`^jWYPib!96~4MAjw2QM2JR zwVs$bI-5&d&S7T^JXfq>9N01@W36JTjTS>Qz2b2Ku4TL-ZLbfk<-XU2F?`?vQ>)nP z?`#w75J_k6+Q`W+N*7mFh%8rGQb{JtY85pPi;qxikK{bgIzr5 zGAg#1lZ<1ivCl{Ewo3BX3j3!S^Z~2a?D@t*tc5jS*v-V)X&#?>$03!Tez;JW>b$?W z0r2*O!aLVoXLz{FPxt6mY#zzTm=6BrxCf)DU<%>-lV2u?|dl&6b@O|Fr;x?eT+=#-SfZZOA&C4 zG~SQBaG}Ws>46OpX#~9AoERG*Q+CBiSI-y&X(TKayZf!-MpJIp%){R&U_RHE@1{jP z3Vqd4FIT60hJXS|-7)y_flN%5U|8!{>5OKjBOI?=!j*?;pC{|*C_{DckUk4@wSp(# zrU=^u6zD#`8OB5J^V=jS!jw9Gn3QQG9BKC z3DhL?^}`aXlq$c8&O*muReRyPU1|P%d*MB=Q4PExIK`^i5-^SWWY~~^4zqcBPB2R) z65#9Y*RBwEC8oDW&*vn87$*eC@Io1bjD;6eoLzhlNmv-Y8ehGzLxG=De|<59JV-Wu zjDcEh8!^wWEQpSu&ul3c+7kZ9=LP^wCG>KA;|ZBSL$=>J$>n455!>^Ipem(7)A5lP z!$ZEi{^5ua-du=3nDRv{qBzQw00!r#8Sd0Q`|tIYjaKW`{`@6}Kz!rK8LLzE$&s+QFIXOFYe(NGa35{2E;Rp#Xu|CIl z3ArVj@%|iQI|T$Ur(4NyP@FEH`tb4Zf>|N(`hRedNqI%jU%hf5O=F3t`G^in7ZZ+{ zjH$YzpIvv)b(Kz|8t2=-aHy*!>nDly$r~GxjKFp4g-!>hvP8GXjYoSP6oa$Ex@#70 zqHK;kZ;yr1i&iInRVt=e*6NX@W>jg}a z+dOMsC@>lbMHc@6mxORy3Ox=mnGtbZzhjpe17Y>&A}9i=H`9C-^};EFM9EjL9ORTH zA=%hr-osV{h;NfQt|_61zj88aOh$-2{G5Q^4*&P zD)q;v5Jhw_j=rBbLCKPAg-o*pFFu*T1nE|6*ZYdJ zXo}YSVf8%`MQV@pwkiY-EMI=05g3i#nxzgV<|h(l$>(oX_r%yGER{U|a-)$yyn<*JIpej&2N7>$I~$~vL$ygdm5uQDutYo29~C6FZU)j zN0?yr#)6$vr_wHexLa9Zo%=C-{A6MZ(9g5)^~CcWS$h8Uk|t!9?GfKwb;=&_IK;6% z0s7=55tQcd#dSEzw$3C1z;iGM^EM&2N--sN3hsXL0cByUIsW?KD55MbKE^1gA>a`N zXEqz#)V{bx#5e*al5wD5s*WDHE5?$>dp>cgjxq;Vf~EGv`=EMO?-9vWjsr<0?bD9; z=O0Qi3#}(3Tkq#NKtT|0J3m+uC<~MMSzzCUbFF>eP2gE>Xsu)5Ef0wM?}E9iPH0v$ z(-$YUBfN<2ViUt>-QtNw%?-idSq${&>~t^?p#&}0*Cc+h=nnm`Ouz*&1|M%O!}LE{ z(wU&^{$Ybl0zo>7j4dSwqo?rKj~MI&3MaRh69EEwT3#n%;{zz=Jd?&mw#7C~<=Li< zmUPK+sEHbmwc>KTB^6$|*;IA&GxwJfpo}z$ewi>EcFx-F_N?QB>0CH8y+XFpX;cyaVRE-bb_^?+>iry!;*CQZR30-CQ=O<$@s$L~^ zn}|^h9UOF@N06z$D+ra4D2IREP|)!vCVmW&Sqzg6<#dssqqbR11Rd-B_redVe0}cV zyVnHJZw4F|R3R!j z+H1Lvw-ZfCM+ldX-Y1aUmu-J?l(I@W-(OeT5CuarpS|&ussTGU`^(fT+#k*`1gQ-Y zVaEg)PJ4`%jX;E=9mW#0H9L3HA(?tclg#^8NW)DrWDc$zSd~6+lq?pv6*%bmMn|7#>;~3@5Tf`gblaqb|kFX;m zJJq;Me_O`Xdjj~~UR7%VJG_1Cjw+3i3k~_etfy@r*$gxsZ(e(399?$w;(y%ZCvklL z0CHuKajCrFbgE|YM+*|VZvOz><@T{ol62$OD3Zi^9c9Nj#xyywy+>B!@wVccC~L!z z6**f+PrkT-7DGued6n9Eo|$=xvpl+fz1*^xg6HN85Ls&Bc`O~JKr5VLR@emhTdSr#tkQiU7(+=hN5X_lzlk*e15UO=S12 zC;&Q(@AffNO2JOY@sePYM1cMtubhzt9@VF4<%Eb>8-OF!$A~j>SUvv!u|kcI@VfEK zo}vPG40GE!NklNDKzQPFWkGT$>3#FzpY+KmLqLyn^^i(5>PN>JHz#Eze{ zSe=tT{Ago1<&gYe#w0<#DD2m#5rtChbX!co-=+;`5on2|szL9KKu)@&QSDC_EUuE)y5T8p63=~Pffl$Xe0IdD4=EY|Fmx$^ zvP((o#}i{XP9T`xgAQCz$i!?BIh?1fQ=4 z4B0Cq^WXi#X(4Pqw~YZ0X1eDHlBJFF;&3vdnGq>I)-sS#k=p{2Qrl_okl5fN2nBZh zd}Qk*7^I^t^Lcwfz(Mc3#&7(Fd{BX;O`0Q^XZIu{%#Xd zZ#Zrgu_o2-butK7w@)({zRpRDa@un%@H%Aq(od9Ci0OF*8)IX3_wzn5!XDCHtBkIQ znUV>(^#Xht%z=|2a|uD|%M_0ydv~^9S;vB7(h<>nefriR=APUjd#B?PG&#F-{(R(g z1sgpdoD_t&;XHeWB?eKd8r1#PK}HOe+Q(M{B)uA4nwrMbz;)0$8Rbz`C$!&c*Ej=8WRM@!0n@r%)O5y|#3 z#Mx$DOn3Xd5Fr%PrW*uFlmK`s69f(>dJ@o(QemKneI zB&KA-h6t<*DSM0}5$=0xaiqgZ*~Sl!)fg`{)E-|15BDM|VG(n-{k^dyu=+z6-nab1 z%~&Yt=*P|oLICbmYkrd-+yKBYLJeQ|?U4p%^Ee^?butSHj#P-`=e|V?0aZsn*?d%+ ziTxiO_Rd`)oZqkWG;K&wD$ft=5!GNQtaW79z7TiYaiTmN3st9NA{*;}J}?~t5o6jz zBAmlvu-}hQlLWDZgtim)*EpXf1oj)efixt6Jl+;oR^Uj}13ffD$JonQpbn1ivTQ^m z35`Km&ng%sjQ#h*2xuZh_lzbo&9~?MaC#9-UuVt&r(ib@2=9qFGKz8^YZ2rqn?10; zOh=YE^j9j8+LZcz-ndNUh_Ue+b=MSXLmLZnqIEerCW#VqZ8+P4t;Hlvly%z~Gzfr! z{{XK40BmVOJy*9d;v@!T{0OM)-x1qVhH%sFKA8I|l8xVpy6LPCfQuHDA1BW>g^qJ} z>P`D6Odi6P=}ewm`J9DXe5FtQVG_@9Fa+D<5(Iz)!anH6n(DYn35J86e{yC7Zt9op zKI$$}xX2dRw_kUS0^kr#wD#T4CM#Q&uR+uKyb%yNV2ynJ-a~Ago~icUMWw9)0WD-8 zkS?6=Yi;4LykBgyx4Y$!OfAs}0;>N2F~>5WA*J}qfflk2bpGH;;2q@q`oJ#O;AJF| zzF7PDF^s6uU2#EX{B+~(;UyHc8r{dPPE!|^>b3LV6|y#*K;K`tfq_-u*C%y>GYQe- z0tQ(tdCWXGJ6w`->XGchwGE{rZhrZ~XvY^_s(k}DR4)_HfHoh5)s{r)<76TZK@mB-q~TP zLs&k3xDXH$XqRtnjo@%UuA1i&0%Au&TC7+qBFxcTMCVWp6yiPpFhbXDNe~sRBo0+B zjmAk(6s<$Y!R?YtnXeD|keFzcP$SL|kpSD6tcT%kB{d}2?AxRrPmLqoG^GG!6koA`ExX6q58i)aS6G)(Wlc~<>{?JW@Cx< z{7w;wmm!^ee3=*tfdUU+vGI={LIPx;3^}XDL8MF1Zr+#|C?%6TJ^ujAqxMn0;|nk_ zY7kNP{g4NdQYMOxViHV%HY#Vn2>QE`MzKQSAV%xKz*t$I8j^y3L5D65S1E(${En6qL{O=>8M-Z^vKR(zr(a68LGQ12- zntDghNH?_cf0F(1G0?J+1Aojw4^eT~>5Pj~^>3ky9te=X(UG|jbj~lgY}?ux*9hNR z`>eAoEwR9OLGM{O?J+VXCO0i_&UaD;(tqv{5TfV=^wjcTYL3Bg2(7;wz%Ou!h=}ob znh{FGAfopF0DEMkDVmYJJ2(B!kQLZJj%n|Ah{Aw`t$zEr>l%p*xJ#r@dH(=%WoD|5 zapk=od}OZl1gn5W`WoVKWY zpP1fGJH@7+C)XUwN>p&E0ssyj zALd#lt4@(wh{nR&W_`bT67mqF^^QB`NsmC5I#188aFCK#YBH&)z{bu$d02%daQisK z?KG6D4PaB0P`2Zx$DEZ#CJp}a?}blI^c7Jz59bFUXi@cj;{{i$W%5jGEQKWK4ql!Q z#y;u5uz273jVw#)T3Gg8cjpA2hD4Cje4mW&iS8V_Z#Gm~*qfl9q3eQrnMQ5X{^1KV z0Ho#d{9;6eK=8tYxF;gbOgsZqb))^l5)i_(z|)?+Fp#JT@fNdR%;VEc1=+i6zE?m4 zqP0&c`ss=?DxnsN_KdrSr@&eF=N`uKB5B=6Pi(ZLYo+}&QD}ksK5;em5591OmO`J) zEY^q^6V%2-tGFZmWXO3P4|xH=)YYz(<{xmAvDIa;)URf#N5Bn zz6jA0lU=nGZD^u`V)7~J1Db>jDrYNfj?!hP=moVB6T2s-H0WxR3&%7(MiRV=B&3do%uC zTvUM&Q?dKUqadc5JfMB%@zCB=wtbKLjb9@(s?Ra+>E8+J7*q>mynb<}VtQI&^BpjT zEkGwiQne9`vZq2!Oda9Ev~VZv>kdmTr0@MPB#Q`C@!Q5qZgf+qJ2{}}j$nJZV)6n` zkdG34a{b^%84w(TRQ~{Qwu9Wec-AOl%R#SaoSU*3I-Sn3*UtU0ngAl&Yw?qsMGXea z`_mw>sG^S_oa7=)hqrD20J+td5cc!ykR_GM4{kWb8-vK4f&oed&DCM7T<$#o0In2? z8-c&G{$w{2&N-`?JN~m&9=8GE35{1sd}2a6C)?|tp))0QU%lgQY|__6^!v!Kupz?U zm+0bm1(!x7^zWAwWpYPHth9N{Q0q0x9QMWu-5_>c&9nQ$D5#(vH2eLxI9sTsy?Mci zqO6{EyVDq;iZVmw-*4_v=oTa-Hu3kInaBcnZQAyFR~Z#d6?zOoU1ARz(nc!=s#(AH z1VIqJXRawHQup^~MkXV16}^lOb|f^p+@`A z{{Wl}LX`zd9r_FO#Ua%Vnpox3{fy_#5=k&rKYuvI1)>xvTv%JK&SicH+At0Np6i>l zc`gPM>#ysQ7=sG&se8xcC#w~@i~MBEUDrqUG6OKEa5w3=`>?258}%ACJn@^i$vHZQ ze1nvQ&skJiKd< ziI7PoCi=w2Ec8j_-TS#QoY34JzW4yA$xLhFK5~Rq6sNBJvePOW2_A5Qm%^`4E0YSb z1|DDMzBNgvA-NdkFpUK`H7l*Bws1bnfXU3r^ka@yEjQ^{#1P3dt}cth8`dD{Bh9lM zOj{xxjg|Jt~MB!$w9yK+a#hlw`OPw#RE4(pzVnu9Z2gK$mFzPJ^N(KKvtxE z_Nu0;@nXMHXPA6 z^V=d~G6e~hdEDc!sy>G2;{*r>B}7D1Up??Wt7yt>zZfM{h*?h!{r&FVq&}vf^Tu0x zs^HZB04KgLEP`i#TDa|i<_8?R{{SDxFbD)u1JhkPesI3hNZi)%v-95wC6MvZ)3a~J zRd1TD{rBsX2q|RB-26U$J!l7(*gZ0^3OiJA`~LvAY$4fnBd@=<6`chob~+-QL)(Dq zUzyohAeuS`xrn+wFb`>M1TLq!?|_Q8Ji~SG@rV#oPELhyjYrN*W)~53cE3JwUtMRE zzVT7%gM@Br$n;4*zLbdvM}~ADz9Ae(A>p1*jCBaZFyY53?At zHkPI#{ePU}CK$LypC=hUf{8RT3q*^4(c2hF0-oJ7M?@-gU*B8`CD1fG_lW#tlI~&9 z&6JgaRm%2ti~GFqrrlk9WK#oW>%SPtkQj;O@tYBzQ`6tJLBKx9rg3V8Kz7z{)R{GZ zeB<=OD51#bFbOJ8Dc|oHT60wxZ;*R_ zvIbFB6nT5|JedM0ENn?|_SeQui_#@QPcI*gE~~kTYsUt;!v@FzfGI1*7tq1~^Hb;ky=+t4f22Rng_*tIvt@h)lE#;0$QA|wv{OC7x9s?ugi(^{;SAadJRs@LVnGQo6{wDHofSPDQ|8y{5aUXD*@Rn|Zdq7(?NG3Pk1G>K2%K!IH|w3p6sLR*Ga+YP)3 zjFbAT7y#iCdH4IgS*V>}|2GyTDM+Ftpwl7*Fj zpJxaT1 zv4Tl)S98>U^NJD7zT3x)2g)Yz&OsO;bkNVE@#hLoW~3xVl*1FLwh6cinN8{2Yx+p+ zDK>Rc>8Rz5r~r)`LuRM_!m@%63kvVgI*fq?F!Uzl->u?iSfNi;lRO@t=XA@~HGLza z&s;__ka;Gz22iGu5)h!5+xTE!FGMZggYOI{y(SBos_BxKYZ6{oW-DFtbOWKqn(I%t z5|wNvqRmZr)7JnBFF?;k@BU77ks4>pK5=duMA$!EhA(s2eKpw?1FSBPfLuw^1whgBC&uP)zav05yoD>HKu|Im8KN z=nbs1TprwG!37d=S3rAzaT#VzQRr{mcbXIRYa8d++Z9s65)WzXTI;T{6zCwN@`66c zs#LTwI#jWK2YJF!>cKoZedhpBM3@K%ED2P4GxqxA&jSXoZ(m$ukakeD#P{^ZD%N3^ zHP73?Xd%o|rPjYDOmhsj@1Lykk~t;3x(Ac>(=7Pzo?7u<^@DP>rS&Catr`hY+VGb1iiBG9jJ-FQNy`I&h!? zliuM!9kNJJOEaSWe?76HO2|~bo;qMzR5F)Eaos#%NhztgSRNc{v}Tsh#|#B`^v49J zW2<-L6je?Xg>?nRbJ6OY<~nWb(!KEw%!PCrpVkA9;@3{I2N(fkJ1$9*{{YyK>xjQZ zB<}q6#8WV6-zHh^V9Yce!iWTN z?>1qv1X^C?+*e-tyEJk=3Zwq(2nq>QY>y-A$%@1g5_R91%Wp$^7peUi11^G`)Niw1 z_{Bi2aUR~Bc!8sc1Jt^E!>2giLvRGVU)5sDrg&8}Nuscq2!sHg0Ebhi0}c}=U6mB{ z&af>>IENp5V*z9U5=iU0P8o=_y5*jH3~&Nf%S*+oV!(sZhu?A2`eLnx=e+HHUt`%d8pZ= zsbwE`ho+q6O$d)&^Tr{RfnW!${i7{J+|p0KV;kEbfk)5XW4ans6j*TgI^rX99Nsrb z#*Vj5iT5YYODW`7J-htm`_)}%KjWNmI0#b3!5vSWqJa`aJwEe^xCyvtWA(u-i9R}n z$)QqwJ5R1&ilv~}{K2X=7<7{x9VN=u_5T3586nINbH*@&+}^wN&7vhtl06JF))OH~ z+bY-+lTf)_+*>kL6WPzEBf!#xeQh_=Imw^}IP&xDo2&?$3{S622tzVX;Cp?nEhfo{ z6VspG0(O`M1$~H5Y`DT&X!YmQc@j<#U0qGYs___rEp8O)hPHafE`>{Vx^r1XQ6|vV zqrbD;BJ&2zl8tv$%$OuB5+;WD;}HM}4V&b-j*VsGP!vXy@jmm@ECX3cIwSISzM2_@ z)>J!vtl`R~T|0NLUYRvdxi}!cD)FcZX>4X6HvIaLM9Q(h`0bDml8qeeieo%@s8E>) zKAw7Dp`aW0Ph*cWhFneNJ^nqMl@2Vbu4h$)k4XX6D}s7WKEgCwb`FB|*T*?j$->qA~#lL#`zmV10*v;x-z)3!;pmtb1zf4C(fmSHqsPunD5 z=^%IIH;^QX42h74p4~HRc1n?{2S-0R)Qhwexq108r)ZipE+dW{A<%I7MzuTb(-M`g zfu3v{{{W^#7!x)2 zHavLt;LVUWdOcIx?;TX$5m#?GDj^_f+@#aLTmS4$D_Bv(6(Z^n}PX z*Qj@y=NYR$4syiDpJ~V=y&GbvKikWwcoUl|_jtxo2|&x{B2GRrgq%!TC{D+Wl}rd; zM0!OYCNVXPG%3>)8?Jiey74^{O0=Ej<0SBapGCxXa#6GcUmBn9Y?y>{4Un)gqB7SP zX6f9$vTb59SLXiCL=xO1wO_TEtR#vAN-XV{2M2=S6Ar757*GfRK^+=uvyRslC*bU4 z`vtK|NOY**d{u?y?e1o%9HA;kIQ5q*6yPbbGsVBGTu|Y6*XMsY{XKH`4~MSt$cv04 zLt3qQx4tYwdB1g-(~}vas_#sML$)9rOZNf(}+SKQ3!*Uc0)nl1>z(m zggw*|I>vq^q7I=QUt_j%JZn*)?Z)xMlu{+ZBn1lOX8a&tKL}E$Cfp*L8n% zEfEkcB(56j;^u9@irLxw=RBXZFmY4uPx<4Pxj9>x0o(qmAHy!NKdiq{Fq#)6YBV&6ezPjWhW`^w?`Lg{o zx1|v<(m9Wu2?SPd^ijr1GG|;aeE$HZPKZPu&2jPO^Mrzn%$oz>Srah%b~r7ZAErSe za^1+jz{g&3IWC81M*Do@C6N%weA#`SGA2jBxMa~4%PUPp3_xzUx%kA8p?2}EklNNQ ztFVzYxcT+Rh+N~j%}35h5>Oevgp+)Sh6|9pC8m8MJY$AoWVo|G2BtgU@O`2@exF?A z!jQSr_x}00D#vB+QHwefiNbYjcZNYmnxu5nC}0!2qkEcBN*VE~^5`owI=MMVT7 zq@Ry$Ny8kC=ZKN?!2*JZ1HAJEesXLLK+2{@9;ErenNii!AkW*v&9W6nxr}8?u#rts zT`+*;fWrRGWs<&$so$ntBXEM^wdt1vq?=HBcEp=_4y9;)cydx>O0%Yw=kwPm05E?8 z-z0Qk9YlD&ey|&zmjEY1c$>j=myp`ePtz$OgiDBwb+(4bd)^X}5mMWMo~)^oI{Y{w zfXz5GG07gaf-nPio~hl(0n=<)qYX$|4JEJGJ@QHdK_Mys06uY&DB6L zHHOI^9e=Ejgdr*{mYU;y_Hn!zido2gB6xZaS(2U&VlaTpE6d!EF@A{XRV#Y_&+c?z z6e<|wzCu%SVt&6G!(2yON8}#Y*CG(e z2uI`={ABFXq*6V0YpC?ajN1zqB?a-+#c72~+Aq)hjW;jA={4c&j237+0RI3C0&w<+ zp8b8yIR(0)>by>{6)_`Xuaqd?zZo@<&h%Um*IgLr=VQyFAM&ubo~ zO|Ikk$sl#Wj=q=d;h_XJ^6Wl6G7$>|qB_T>{{R>OO(|(7#eQ4|Lof;FMzr_9mmtfD z5u>abH%u`oMRapo?%ppgc6sSqveK^N8xI#}c%*VtJd@-c3hT0#* zZQ+vE4KPu zfkTk&qL=qS+(1{95&Um`u)`5m6C(Fz{{TB=#znJ9PreGsYSRv*Bs=_Kj!0reMc+vD z^vHn8yfbww*XxHBpF-=#up$N&0Y}>~y9#en-ZDPZ2A_B1C~0mLc`q6=A>iKpupp8q ztF(RTh)MEITinQHtcSXI$gE^W6N~mS& z;KHdpU%z}OR;DCbQtTa`_2oHhf^f| zG6lK>*Bs#r+|eb8pIns{0U{mx^OIo;Bg@6sDM_=@dRd%dbrI1q&$cQsCzA(O_pdjE zXq{~pL~+JZptD}ByG8fO0EpxBN^}1J4muFwU^z?TqOpO1m~IJ1l^GU93|eJ%>EHX6 zxKwHnualfNNhVOqF@B#uxPc@rq;_gJitWxu0H999{{Y+q2PKMgB~IXq#A1in^{aYx z${=0E3H~uPm5S|g9-G0aHJThUOzdvQGEnqPpR z`^KM4dNL|4p{eKbtcMV#3QrU08MfrG?zDa9X0vcP3pR!~$HqeCE|D<={`YwsC#tA{ znSZ?FK*X!%@A~VFkcC9)-H5r%A3^~gR9hx~m^jExw30|Y{{X1QcdlFJ=f!JxksZP! zI;7mcdolpE&`WxCj%qLVOrnQc@tBp=y?0iAw_tWM|tUx z3k3>+Crj(?kU{}in=cb(M&6i6fMAw7F^K3149+<2{{Xnubezt*W1%Q_(|-A5X%G(( zQH*7k4oYOsw3?PCkHA*~ZOk$xH zO}g1J#zf3Yos-rYzZ_&_&^8DcapE}P$#MZfwMZD`zPh4vu}m5-)A01l$!HU?U^tV{ z8NsUC3iSqb-aC<)tb&bHR!RlSPY8XN*Cnus#wH{D}a;FA)cYg?}`k-3u?xBTwRG~ao=yYaUO_S(LJ@!G8vFX$vz*>35X(!g8u-YQH4oR zq}`LIArOtAh(lfvpBQnV8pLl~Aw9BXZxuG}?4R5QHz^gPPu*lt8#p04UZCex4{+MP z?Bg26L?d5&WV#AL8LK_6z44Zchbkf^H?LU95FrHtL*I>d^uU&FQloKQT{7nLc!p~Ke~>jkPHk5pwb#ui8!C|93%uNWYRA!Lmj*4d!h zu?ah$LyovXLjod)ACG4RXv#(tJ$Ejc8e>n|sta}dk{qunZX0|UXM}yOt$9AbS8$F=tX3VHBBNdpCf6Pv3CAC9k zE?2Rx_)#9B25&zIH;{}hUzNnhgN_*FIpWORBVP}UlSx8y1RVu))yFAAMJ&0$pMBYZ z{YIw5*4lSAYgn{LU?d4z_B+>1n082FI7_@k#xdY*KnoE)wd+2ti2@Xvk}c~G%K~Io zfs#s%%zjxLF(o2)k1*}LWv?>nTe!PR{1^ugpof1JW{m>_sHAQIw(^za?UEvq?}YU_ zxGBp#Zt{mjF%xP>ZcNxHfhw~zw~5G=3KEcZi0k?DiHXmJ#r2!S!14rRW$OO`c&);? z7pFclIX00AI-eczAQ>7;F_Rh_J!bHksF|taw?}-GUC&v1th46Gcqg_>My}nu=N**L z<&kjN5>j=Zaaj&P!cpd&oZc87RW3LAI%CI{fR9M&=hG!B(#V(j80eMb8y`%BT;tXH zb-x+JEJt4d0B6$!IcZ7-!Qviq*SDu<^2zZanz#Dr7c^qVyVt+Q8DAo}{{X+{P=Z)E z^}tOO>`Y#0lBE24{fv^JAge9?ZgRrhA~M5Xe)Pdb@Ai4^?dD9WL?X77N5pz%&2OeetPkS5((OrF1WGH{wNnDVtW-P<0q84MJ~I)V;bBjG_O>fz$z&VrXjuG zwnWv^t^|A^nlc?C36QZ3^M5#Q5h6e!z4rzzI!HGSEC?krI+2nJbsgZQe)4T0nii#Ese3Z;+`Jw3jnLoHiL z9Z?hK^N8!+#8>Hu}f0h=tN`0c)w9v6Eam01GgPA5)rsbCZGA+ z6-m4ee#HD?Fc%OUh2TsRz<4D*+uPifFH;lurf(E+fg#zP0YfKI$Ie9}v`1IAMLJHH z;3YNt$ycy_EU(Fr9I{Iq=l)Ji+3?e>nrD*!{V*k$r9S64c_B*y>G6T_L_A7&HS3Zx z<<&6(wOnAu>KP3#y(9OXYTT(w5zV>QUF6{L)_e8F8B-xmXqGzVSbBH(i4Wf~lVUhy zKPT&)8~3rcy2BX2^)W-Oo|W^{8?We52xyJ!H|dFrWH5O#w~(^GEA&d+9M(K2waiSNK;9Kk@({` zJx~?a_q;%vR%|u$sAo*GA>fn8_~WTjX|z8g-aUi3brL@&EHkzUERomiloANXH${C$ zNIn(zBcdIDWPx%_>F#WPfzC%boSXE-855B3SI2(X+Np0w3GR98ygj%8mvl$GnnS^)#pNe>nu32-GUo*Iq9;sq6?SIxO!3*-3F` z+dON=@<-}O24b2-^j6=u$c#t{<>#*aVI^@(RBr9b&u3&-k=v)7Q#0FE zgnXflp%>2$FWSwfvl7?&+on2%t5=582%@9+A= z$surY+K;^CAPKP#T@JFK0g;xAkgWtHq$cqbIj~0~c!GRe3t((v^C`fefP_-q``86v{?r?5~WSB8(JAI?DAZL%3Bs zUNDm;*&v2uQTmMC*0Fip&u9Bs9DuzJjHjf=Kv*>Q-PbDeDFks(E}6_gl-!EzCAZN? znYCAJ;j}jcE(rcc1wtV8OD{1s_{z`}Ng->WzWLJ1FajUZ@s^8gZ5>A_53Wi!i}w{p z{C9DeK@)Ye*O$47VbK&Yhj-rsTC+aYJn@pCq`8y~!RuHlYq>UEcv}8quC9`3$UT!@ zm{nro*hvQJPq%E4@s$d*Zhd~7g2|$$mT32^?|QM0&W8U07}gmkhS3k<+|~!aYQqmD z4&;7vC>H$z`xxj{fC)}cAhe+nB+K&Ge>g=zg6Jm~oS+2kJe7_9aIlhy)1!`_v8i;lSTxnuUF2B@ zV88oVqLx;MjyUU(uqG5WfAa(48DyN8cE4|BrjRKcwj+%ld}3Kdc_W$BTrLp+djgV2 zb|>M>q@mGS&o_*b6D2pjd*umZr3A}q`-Iv^gyrAI+QdYo`=jfri31Vmr9bl#=&(^FH$Ruy%X$cbtG``*vyU@rg)c%(Xw$ipkXHE@g9(IczDE5b|nf=Kv*8gn$P4NnG)Q zR8Y6Ns4Lfn294)n{SW3l|m2FygM=C#f@8)5=cK7`&#!HA?P9lh`+$MuLs&ixR6fdN8Wb&;OOO?k)& zle$MbHT}dLlxcO(?bO2U%B8V2&yKinr3~VFUG+QONYVt|sPu}?2Cy2cLoX!Br2=Mu zPxlmrY7NY{s`lpxF4su#vFV`z>0`(56c$Ob#=ou+5VEzZKE@CYCbCzccJGA2@n+r$ zV2Z?pfP_y{`08!zkXTO2+{~%S4GmhD;pG4I8_{VOjYDzclf4rEPLuXEp5@2Oui#3u!%RJM*u0qhpMZ;&gfk^STfD}jJ@ba-Q2qtIVaT16H5+u!4Zx$}W6Kj9<{bVB@rXde5 z>)Yc27^r4T^AFg;#YrZxL`=>MbY^$5o9Q>)-d!9Nq@Mo(cbiDvir`4^5`EDHl3T^F z>gpeyM`;k9LeHe0o^W)4o|FFho#l8$gvE`evPbTdcT5zn`g&jCV(FzlHNbSp!|-Ym zFs1bEh7#g9`103`MLt+hqD5QI0og5RS)E?fB$1_~qBRf=bLoxst^<;V@)v>=V zU1u@q8}AXUsjZ@i8~MaZFa)Q~=f6t9<;^NxZ`sqtJ6 zErB|gA$-nq5;jak8M0V~DjhM=Wif4lUJV&kx#bIb#nci@+#&()^ z>l|w~a!s@gK74KG5(Wemia-&}^XGX)OzTMF2pa@XUgFyJG9yw*O59V)f`l^2WbLD# zo^gnxlA_F3{CJ#zt{HPD(`Dm4o&omf4&E zIeR@jJ@^L{IE8_B+Sa?MyP(unSj+%$o)ap9&dZ9W-XeL*NL}@G z_3eg1S#)fZ_3_3Y9LtlbBueGj*hkdqXM8GA$RgU*MNd7NqL zSdpup=A;71uYdP9HF+(l%b6-Y1afj~rgdVy75?OhKKgy_izNW+huY_yk20y!JpQq0 zvgBJX89FB6SMT`qilJ&cgB*1J;)a!3gn0YCWi-MoHgG1r%vOqs4Vq`nbjFgS>yvbD zJG*hlilG;HxizaIa1e~1JQwcHCsR;`G+zhj7{YY51ZKL>`=bBCU3j@)x(1k)Vf>hIp}$s#Ojj)H45LnVQL)F^G+vU zo~BVeriMU>er(mco2lv!c0?UI-%}cxkv;@uuCnN!!f_0|2_YIQynA-Z;iy(i4R_RQ2%re1)PqlT z$7Tt#1e3lvjpX&cUP)H(agJ&1klp?W&Vqq{dBvN!6-`e}j~yWzNItGc*|QM*ALFh; z04@+*z_avWHk^(}hqJlB01)V2AoJq&=PMaFaMF?CtP}u}HcBiG{(RziQ92o^V&5+q zgENpB*}c@U&lr#(Y?wPff1WWfAv!)JR}seY5hW43-tW`4@_sAL5X0y4#1Uzt0RSB; za?aA>r}Lg;3()@nD+_8+wNVRCrg1Koch4_N_{5#6 zBbx7*j)Aj$h|;f9=jRpV?I~=*;7ehAb3y6EWu-Yi==FWD z!2)hm>$`2pv(5>LzI*+QQdkZOJ$}9+!!VaJ-)SBP_l${_=~d`1I$vLtDg;uhzdx<{ z#abC~MO-uHapqVgbw_(?-zH#G4_mq9o4<^jupXijkG=8?qg)tLtmEBa7@zq!oLpL@ zMcmycvOogI1Ii@yYra;966x4|7um^C?i2=GR8LFmf!G4zi>w(qxIkma$4z3!3XG0O z?q92%QbVz_BB$kfK;#KF&-opFun-EphHvop#b5y+x_dg4uJ{~iXb<@fb@^cC%vmq^ z@bz5Tlgq2Kk>9smLO~Xl^Wf*s7Fvr6u!QyOzlkvbq9k0WZLwwm4S<4*GvTwX<06Rz zz+|y^r1awujObWlXSn+~y^OrmR*RRvazRqvQ!B+lg&o2tbOm24b^qKj&r2SWaI}wpL}Eu=^}&2Hon<=3fJ(2Og=H7Fj$yf zy}!7qztSXu)O^lCVzLTRbnl(>hHji879Ab=?~Mv2Py?e)Kjs*)WFuv1KZbPB%uZvo z#`HEf^6JXSy`;K_^Kp~h&W4(S8-y%7N0Vvm${{USw+@57>)9-8mF2ryGJ8$2v zJ0e*#iaO7ndXTayHyfzzR&5JZOP|d6)>?aHT1rWK`r$=HmI-dAPrP=^Wyl$DrFXP? zbi%NF!V>$*_`p~~B1s`N5Cqrxou-=ef2w)IdP80Ibn6-2F(XE&UD4wLi%QTZS24UV z38B@WUije$Y!%e?anc%@%UqfXUPSr)FiQ=F?`FGiAUPQArekAo^9|zc(RjgKb>|xt z6tLTSt=??x?#;t&ubhHLwJdh@dsYrejxMBX3s>75grf;eIZLy5vT_5YKt!b6NxAjF zzbRq_`7L|LY@d)JWtiRlyk-IwwVK==UYH^5p(~;|AfHS-blV20F-LycxKjX>L>Gfr;l{d{ru#D zR)97XN%J2WsR$Ekzq6K$K#GB{?iMr3_@C}b&Il`vS&P-5G0FGCnLPkoE+a$j?9WT% zq0sRkV;PT9BQrHto?+G^f@l?>IyQR#ut*=UB#+nrWt<-5|KWujPSbP`AR^To z6nh7Jbbl~<0QfLZ=d@wYk`;biu78MChLjrD-mr)Po-2B=b(0JSa_H)6e3y<1eG3Z7 z7d^d9iH~@{>r40~Ey?De^gPI~cN2zhVq)I782KU!)?)Q*L)S>r>*VrvLsmhmL#g1zd zl@bW?mmGc3RGkXMW@%4%wPwl9TyX1|n8^VYMX2hl7FUa& zxT_)KK!}Lk<$N*)@5i6_J<10kruB{39f|h;0BDu7+%9?#> zu4>=LvC^y%MG?QtpXLF2CYjfNQ(u_K8J;54XZzn7e_=`6y61P>7u{BLNvZm1ax|ww z+|2B`z{b!+#&$NUc+CQ`y%be*P6MI=ZpMy$DEx#~NuWW!haz|bG{N&Z{ zCQC`wv;4efF|D0gWS%DsMHiYRAD*vFFlr*I(**REJ+cE=#Aq%`=f)|Zj^Xl%*6>i< zmzXP=oo&hQtbm=(KF&ViRAQ6G?5RG1CxNC&4zn!@cPGzGbB80JTt!#>#$7S@irDLW z>|(n>g@gEn!~lQ|n5u}@vLFUwsfx45k6aziqEjw8sKbdw--z~quSXi1i-LwX9)tD7 zqViH!Tt`p6GQ`XT68Gv+@#7SMtPziOOBD3CIY&hS%~{*+WI)@n;FFWR`WP=7ZHI#E zGuPF4PaDG{xsn>*&MG4c&w`> zi4gHxcZN`i6PjI<`o*I%}DZC-EcRa;;>5)TCgqS5nM;OzvfDF8h z6}LG!<0bVQZ?-7np(nfN0RR@3fj?6p+zhxK=(X>Te~~!eN<`aFsguf@qLyH(i1AyOtHHDWQEDt z5c}n+$x##8?~)-1LYNYBC40v{xey?)%2#%LV`$Jai}m+dq^zqXCoO*ZVhaE&Eg^66 zaEyT|Lpt=A9KSLnG;gF#;oNQt>3^-yp@lx8hF_Eo-%zT<3j_d`2Uo0p)MSAss_k;_ zuzlPktJss!&j3Dc!jC>PTEQS7NroQN#t0Fj<7z%T{J40PsIWn;aqo+0sDy2!#7Cwo z-1-T8pC2xJtpaKGME?Me1GWKEnTLBP#u%6?LvyFt-)xy@n6UzWba{KQhx*C_n(6i9 z23}jBjS!xO&hasdld!IhzvBGh*JU!8bvCr@o* z3`O4t}nBBKL(b2=;h+I!Ex5pVH zaSQsnEB#k?1Sm8(1E%*>doY6q?xpVjS;CF6GOSEn@&05Hf^!P=@ve7%VN8&fB_4cz zbD~O{Py2bIp+Kk(D<_%iUWd~vjA_=F$DEYdEE}nWDeWHF2^w9)w~*gVJ+ws8?glI$ z#uFF_q0FiqU_0eyNfeC6<}M5-+LiAjrH+>SBO^;l-e-fa#!J9(#Ep{i^~NITfc2hD z7zNz|Z+G#Q=2|0MalAxgjVn$!_{TLGVd!`N05V!k2v)T@IGuUIwm5llY&D}IErkfo zlRc3h`4~c(35I9&`^3aC)+*V0ZoPZpNCL?s3D@iukbz|a+kJZW@6#JKZeR=PzLWEk z3$VUk{BewpyQ+MTzEYR0m^J&PhM;=8>jNlH3eNApI2#&iPe%$R-p!1MAUI%)B3VuEw2$uz7ze;fex~X2DJW|RG`5F zzP_-t#&QrSgouI2n59uZmvfRbmR#*1Lv8*1OqaqslO1{Q*B%%F-bR?~`Hq=+pp+{h z@icsy42+^B8@}=O_N1gl_A5k5!K_ktjl!iJ#QqH6#5Wk-Xy>iuc{>3)t6qoq49IAS zO1tZvGd9h)Y7eg+G7F+qqotBrhx*D7p1-@o5IHT8+4qc$zftL1@$ZaWEWSec!m(jt zbVwK1j&dAmAss}Yqa7oyW~CQgbjGDEkuy^)^e-x|@N9!?)Q{F$DX`dRuDAWg7z#{v zb!n}Aylw(pB{-ixZaQQkG7(xAPFGY=Bg4(Au96QkdK zvPu13M?>FzyI};P2`*8;Y)PUkVy@~lRjn5yY&dP5Vd6+AA&~8K*CrQ8qgXwaO?Jmi zT2uw^J`2qZL@IOyR9t#{6I51)MjpfTW1JSxKty$xcDXbtSps|fe`JKaC?;CC4wI9CTV|lkW3ZaUr*jFW2<}Y7x&Iq?8|nXIUGhn>>W-rdmPsox>r9Kmnn5i zY2QzOOqe$ft-;dD*Y7Wsm@d}O&IuDIbtUq;O?|vrCYh5Gx;;1Mu>q1g1PB}d08#F^ z5riQ&@=^5UiiX5yqH<6Sa10upM0L|+JhnZ>xW3E06?UnoxaFBL47s+V5P^uSQqArVAJMHed078Nn;(g+=hVC%; z(b401HlT26f6N}4MbVj~+a|V+o{RPTVuVg^q4af@AWgh&9M5o%yyRb>Yj`tUkkis=FLR;4Jh*TOFH|dQGvG- zm7`Pp{{V0&Z6IsXFbQL6{W5bP=*aW>$R`9#TgZqBGeBS7at?+X**f@#)yGinY8?$oprzTdYQ-tzZyAZOF5u)_rhwdXd9%*PZI|x#81;46Tuf#V05p>yA7epavaNNTLdP@e-51}^D-i&J5N(y_d-I7! zjev(W>G6|&<0KwV-Mh|BC<>*rf$}u^@XVD`EV)u1Y-68HMM)1+PY(E*3}l))U3~Y% zIym9cFX%>B79e68iF;4xFs`1W1{)f0?O`Bq1(&SHJw9Rd9-^2CiD#<=(MCAV zDdq4Eh$}c!Sd=XK9KVcJ3SfvNYF`yx-~*JF@;W`g<~kJAsuFbP(=DK~(hnEjcmCvw zH@gj3>xb@;9TMwD!1J9;Ap=Jbs=KgCBuU#B_fATZ>>xzfuRXF9Ns7P*8AmJCbi;r% zJOFJ^C;s5zRDm#g>-X_2+jgfbPgAYrRNGyQNCv5&?m{KD1Uw~fa#dzXB;;U8r|(2u z^Mr7f_Lr^q&MaI~6L#DISb)VK0fdkoZ;cp21{lB3HRFsJ%iWUGFPWJPNDLLi?N`y) zwhtu$;A#SIPyAyXo|#jkW)8eh7(~Ff9VR^f@l++Sy}uf_&PM!;qTMmX)Y5k^Z+~ox zum#PhcOFwMNDEQFuckz%Ww|ZI`(PloR$Vv8*~1Vv6Y8h^%@qP2E1Jj&6h4o6`&hL) zqN0T>OE?m;-psy(Q-G`0f?sM5k4zOH%c>GiuYK<(Zd8VI-Z!4e;4aOfbgHva&SdtmT14bJtIXh=l7n&9`= zNrQnV+4tjl7_ileTnh2=fsUx6%|WC(4m-v(t;4OscdzpjmZ!^8?d$7VF&RN6lc|q$ z9V8J7N4s;3G*o&E!ViA4Mj0I{f&;YrI_u(R%1(`{Gv@XG0An>?fRwuX-wo;LN;AYi z?)ztc9a7p)hx6jaHc~wmT0Y)r91%VCH>Nb4fgr9 zA?p=b<_F*cyOMStDGoEnxPOD6i*ZR<2VapI(0FoC;5cSL?Gp& zdRN{;Vn~H0!#*Z=v#u06q-H-lUcUITm@=mG$ny{Uyj2rW4=BG{UYTD62H1bee{v<1 zm~t#;dP(B7fs;BAApZbe>&_98Rb?$gg>w63Oo`Pfb53hr_`sAf9G+y)j8KUJ3=W2` zto7-X3K%Vtmd}gcT}3k_P0EwJ*KCku29GtqW4;XT!1?HnL5e_6g?5gSgmY8P&ENC! zlxTQ;IOioY?LruxU_6`fBALGUp&=@2Bk!Ev(zM$@83+b|lwp3>23u8TVepvA9Eu=^ z-#B-W9FP)I<-ANm#1?dYXDh`;xgKu2SLYktfRIR?TIiT=69DCbgVVlquj!-KFD<9`_!ur5MdeR+L*)FPnBM1Wo+XV%;(1&u=lQcav+d;wd%uEY`S^N*t} zTuI%xQSEsNd4@r?=3hA% zg0x!lhitysq+AWwM>SqQ?onG1st#6d>Cdkqp$G!g!5#SHSWl8d5>oqqSP;yhAk;8; z#wlH6MJ-w zd!2G~1u@Cv(vN%w$=OMX?YL&U;0P=Z3O8p*j{54$Bq4{Ko8|k!BdEd-Q?8Nn)#lX5 zpz(i?oDYZ)ndxY!*Aw046Y9>469R3FJqjv1>j+)L|-Y*u|2CptR&V#|fxL;-F*eD!Lp zLy<6gJJaFsgV2OTrn>dMyqL^37R#$X%l`muLkUa}`klPLj5JkOl(sAC z{Nak7%k*{E&ayx>(JF}e>5`PAsk!r%T@o~X@&YFZ=5Qw(ND1|yZ;S|oR3V-G*T!gA z1O`Ii_nb)Man>?BMix+++8ka`jGb95UcDF z=pFIlNhGA_Z(yt=IYMCw5(fA7^Kdi*tP&k-o|tejrqVTB^sHr2iB9f4xBJArbexC1 zP0#$w*P0hX8~5yC0x&rV zh(n4!r?HwSHhUJ%=)bJv^ow`0^kn$P=_8E|6WMRcik2qYSa0E25IoojJUxGGbB`jp zTd3L`>zDC?4Vc5%o1xbA$^9a&R zik|DETb$b-G)(q`@!^{D0VtGOCU@tiDzKwQkn;Uxt|djmtAZi8nJ~Z&gqq&28@EF^ zVve48CXnZStklszc`u_lO zK|m>uBMu~5l&~VIZ<=t&L2Xk9J3a8^hHf{^>*M1r9Q<>-zJKOaB-~A&PA&Eivc0$?aT-ukO}?})De+;nj<7E!Yr&=wd>FFp9;a-_Bl zCDgC%;>Z$I4=JwS4ge&`bnLm`>Q0!kQW-NalX~>?j|T8813ON>a(X6E5@up$_2TfT z2uGq{9_Q(Z6aY$%7xCZQ1`3y0_r!MdIQFJD)bQyutNhA^)oGqZMaP=nBdAvxbzi@K zYmjje6S7{1b(gE*AUh3zpkM*rYt_-$(*&}T z0%?}sQOm0I+hC^4T>1sie5iuj=t>@;&tAC@iioDTUxUSaQ9M@ykl>Zr42ee)7u7+-T(QjQS8-=_~i+1rcR4A)l@yZBW7T#_2%H zrm&)Unp zt33Dhe%3H(9gPxj${Mf?iz9*~w@*9Ex)Btb=jWzNQ2P{qc;OufqM_F2vetcj; zTLG|q|(uT{@i4xk}lRc=g;kzEX5?eK2h~#qr9kva(FrS#Cn`I zf~!uBb7Mnb@O^v?B+BPzC8^`^Vgeuq(rI>TFw_w;N?QE=)=#-33KK_~Tb>_G4v?K^ zwQ+tcwnLj!FtyWD8rN>}-zE?$W2pL{OfAAtuxvt}-rbBAumg52Q}!^DB@Z6cT>0r3 zm53TQaR_5#57#0BojOt#vkns+kuIa`@8c)PoqE_D?y+Dqs&w@5Mo^awnNO$B+Qpa*0h?V9&Q1kosn#JQ zvgRdCcl*}_01!BX$DFW`J7z6jahxF#v~{np6~KkUf|ESZbA*XuqpF$QUo+PkJaWn$ z*{7y3C_`=1p1M685JgHE5(kbd^V|Ts`ej06Wc~Q*jJ7rhq>~}~?~xp-VqN-RCFy3; z2^-g@K}$kPsqz5NGnNK}7&dbZ1*vh}csYGK0bUOFvep(L*e9h|J-cAAqCk*OarEsS zu`vZ=kI3|L%Ee9CB*Eu?YXwpvh2b(YQgp1iZ{jyFy8d*|1w!R3*@kimsAq#p5LXT{ zu!(tF@6hY}$7ZWJEWn;VJuwDxsy)tQ+xMhq5mm;SFI}9w(N(d+uQ?pfh3t8g z-`fjACxPWYyYG20B|;?dNj+hl69sY>q5%zc3E#F7s9wz?{{Y|Ks4jtBDI>U#oSads zLn+@~{CZ$hq(MEU`1kXK8t@^IzK0)<`4WssOLoole-o3QTCoO+>(}1$mV_oV+Buzi zdgkz2S`ch!k9F}GB*3>lQ{I0Me6$w|?W9iJKbS9d3FhW}anr^GbQp#S9*i47seTppT3+$gN3h4R_cMUSb3hTa{c+H_*Ty4HWPX7QikD{~ifyVE*IRw@z${F)A+v}FZ zSb|4u2AGG}z7F}TCVu{Ob$Y>XSOLJ%#fq($Idm7VUB@%ue!^c=K=mW$f2hai`+W#p2<_k-Eo3w zFvu(pJFCt;~qbKhB^Mm*Au%eqf- zfCULlmYbg&>*E~L=?0$tjBsDduKsK!YGfXd$sXCTAcR)w9LM7F-3blvOVHm>e3+^} z45f#&=N3eC5+rZ^>FI%`7l|mey+^!u!5o7&E}H1?;j=J^uji8bOc@dKA)Lm*K$+<1(&0P50xz0(^lrr0IVhJKzT* z%d^tH+~N>0VwQFa>-U^g*etm_5zj86D3#{PXEiJ<_XLBXS4tJgFEmi!DvE7$GgP(sSmnq!HNd2aQD2KfHj9t5k<$VeIXLO# zboa;%AUq&2lHSACb&@Us1H9qiXsY!%=NC{$h=@tob14;481ip~Dq(1V(8M+3qXl0q zl$gKMhaiVxSYqJ6d_iD=PKrd$ALM090704EZ@d2hGBUE= zd4XSA$z?C5QeD6EB7hYE*AB-$v29Si`;-2hWmIlzi9hG(6<|b-J;UD$q$W_^o{>Gx z;s|e`G}rGY6V(oS>sTo& zrr3-x-aySAj`*KBHaap#s%pJG@Vp6o2S}zXQO_75<^fs?UDUA?ya?0}og{SD?-LrS z?h(=`fpN;9$m7gNO8LGlYO3iw=5N`@C2= zCL`LL`Z$H71Y^vJF0S7=4=E@Ete3tKeF6}VG9s_joDv4UgifUQ=8`&ORt?oHr|(7O z`S(;R(H-X(eYJ-zX=AGY0GMOJYzw$Xrfa6V4bCDMHj&nAneC3zL4|J1Vxf=Uj3G)n zA{`-*^9c&bV8sUC`l)sbb9fCmF@wBO>^Pj8dgmZ*2wDf9AW_~J$!XHuSXX4 zK^_{L=+#tY>!~duL|ess)=_{*C}%*)z>8zg2H!_G;tp~ z#h&(7xepp6&O@?E*>YEn`e0`e12Ss6r^Xvdga;s3O+9BClDSL7Fx1bcOE!d(UEqQx zIPyjI`+2iRsAQLtc-}mHQp@ZyQz^iCAjW-y9LZ;CBjW={<1m zc}!N7CKpD!=y~fF&D+WbCVcaR}kuCT79zx~xKP z$vPc)spxg@fHp!wE?!9ceKF8cvMe1dtR8SuBtaz_3wS^46wt%rS%!T6@D`w3iPIfC zxyNkv@DN|oT^V=)#BA576DLabNwkX}^@ln%p`^*#A61kLVC;mu?@kM|TDtfD05Bz{ zZ%+MdB*qUTvzP5+DXlvvK>^d#I*?Y$-kO|83uWr*_N=LbJeqvv*ziLtLlaH?t?ws7 zP;a_8_4(r~Q6qBG-I~B7x`p23znt6og0aUFTx+R{f>KsD5yqx?Fub?N2FUt)Nsl@3 zN5g$w*iA>5tyfH{1g>N&dj9}2PEH#asrbwCO2bvp^I59HD`ZS3I4XjaSE=NGm?c^O zmI>kBGE{d6O{kqt@S;tO)M}OM`NvmDO~ae`?HC9GW!)VM3sckHXGobkC=aQ?PY6`j z=%bJF@Q(%1HVK;472h=guyC^l$e_7=5XL*fVM`N-(8GrjO+dqBX_RjX7Wy@D1mnjJ>57f04RJ5 z>z{c1IFz|EvJyA9{$p}r9Yi80zqS|(@AYwA`sEfZIf3v001hk=G8G6~wfo8=OJ8#J zzQkl$ZA%6uS5!s-k^+&5ybsQ@69NQv)eP`K{`Igj%+!jrWDJ^WV~AP_+mLiE~374F5&8tD_}I^xv3 zj7k`lz0W@Rx-S7G-1&9sj^q(&y_x3ywB8{aW=S?k>NnD-5L_Z?WeZ>Pzg*A@D=r3F z*DZgU3aoUpgdY5SzD|>b6-taURz`}Y^)c3s-?0G^Q=F&V^c z+I*h4?K~i~bKXB#XoCk;uC58GM_bQ)P6w#;;~2_}1PDz}&UG$6AMQ*7L%|R8*C1qQ z#*+PDi+LmLXuX+NDOY;>#@>2kA$402J+EnaQiaf^_1$SAXIN+i@em;QsH3hUbGyl& zHw^I{V$Fzfy}|OUJ+kxVbHB6ifL%>-XZeB%EaFG*?*eCX06p=pQ!5C9`+2~CDnTNA zc-{s?F86%j&H^9>@*a229VyzZok5m2kguANsw zYYfL4ryCxn68V4HGf2E3?9pE434q9gT+My{GelZTq?6rWd+IU}+qEfQTqaqtoSN$$ zd32^Sa$HI319b0#MByD5CE-%@Tl0p($d%?`_POHqlu&Ftb=unAuNlgL zcv;;2q{5DXj4sVjLR^&T)ExuM&GhjZp^$;&m#HLId5j!nlop!%x9`pz%5fAb8kcud z-#9VX1!P4>9~i1o>fY1N;y-xCN$$uifAwPaLk~;1&qoIqj}6!a)4I{ys8`3rbt#;|&x5wuAi2WW?|rt}nJqV_d7d(;*Xj zbffxSATtdhDQb$q35ZBx%`i%Xffrs6b2gChY)@gG^BnI8Vy4m;a#xMLCG zixW^zRI@V){W3<-L`*Xg{^ba@27xei@#&LL6{Apx9~;fCvpdtCVmZXT6Eb1F*56#* zUPuY(hr&EwFf0(BZ&&zxbi<01(Ek8U_`%beCra;;_r_ZkrLe@(_&$!Y)-4SEM`+$T zGc5^6GQ{TMaJ%^D%+5{~Gb#-Mb=NKe8e-e$vFSOa8jDFt7~wlxtbyN8`?iOCco8Y(6) zxse8MK(agZoK5gp8fL(HLH_^*MF65rb%V#djOw-JCq?mf(-CxXO1($a^)))i%5fkD zCP8(kIP1m*1Rw)?ZQ;MA)r4M&=zfR1X0Z_vgq^GBr>+4C0)L|?_T?483ZGYa;MPxM zA?b2@D7%)tGc;|GKVqg_X&PsHE_AR-)}hv~^sz(FtZed2`BVl^*+`H_VvhQ}z-(N(M= ziZGb>7V334X`#2m-p}$fa?}r4q>E+47tY~2hY>&ey_koGlf*^0rxgE$1$4#mB!o4a0VfU%TK_vAt4czgXKLO`c ziBq(OjB)qQ62KvzH8tM=Wl8NlUAt?)e26Y>5r2t2GCD{Gf+l^Y@{Dvc>AM`vcXNhI zv522v%oz#{h|(CkuMF!PCPHa>Yggm82^T6z zpB3Zthy*8aXEF^QUfCXkOOl56{CVk$HpGrwk5bQL4}^V=9{xg~>jNg3=&v zHoBShqt9Vg3_YBmK;Lfp7r}xd^dF3Ym`Fx}M0yq5IM4`)aBocD$aC*k4l9M-S5aBC{f9^@pAy&+v_qARkl31M2 zSc|T5WN3!|zq66^G{S38v)%p8x*`>Yf(SkixjQ6Lbav^!dGDx+M7J^t@i&TxIH9Xf zmCiADs<%fzzsyisGbO$B>8bw4EugTFUjG0OOZJOW@s4%t^7}!tC=*iUemUd5M3X8~ z$2crVmdyP68zo-QCn4u-a}1D2&=pTSa(OuoM8eA zrWI`PBgAh!U`(7bgwZ?c75c=4I2GgHBMvZ@T-b9MH(0?Xsv+IuIWjWBgE#r}k=3Zi z#$D=OGA0{Pv)>AI#8MR{5x8c=m~t+oPO=e53|f8p+mJ3kX*IvQ!eNn{fhKA`KR7(H zL=P^-<5@{AxoeLdkGGrxRWKcIucjlJl2_WaTydB6lvV{s%to;flc$kg;T!#^hsnu}mn z`-Zv8fC@y-xS#NhFs=lVMx*U#2&M?`x$$0bY!nkzQ85Jd^x|+JS)}|2`sXPS9F7Uw zzB*)JMhmWDpH8*&K$K3lZ~XPbX(Eyih>o?*-a!PI*l44Bnfs~O0TjNfJA9Z=fB;~5 zc-}PNSu!+9*Y9lGArgX*P?V!!SW8 z1Fu{aA%UfHRqKT*L#Jm}`M``=K#lU;@#*b^yDsW@eN!zC^-7|BWr`FDK2oM<(;{sv ztK+srB=A1F{fwlyE1&N}+ae67LOAEIIQyJ@lBZ0YQa~Ve*7u0SkZ5h=1Qy3a(#IUCj+Ue7#JQYPZZ;@3W zcvIjNH-}X`eQ+Tl1&X{4%^w+Df(b|^I{9_ZK{F?bDko7)d~=M%5s6ll=DusL3uR2W zN4PgW_?gD>CyrcmsKU4?QIB_|dgQJGR5%Du-QQfbW~~>vtKr*+BPx|ENwcB}%FMGY z94DZnW2ao}DI_ecLDznm1nZD($pq;$uqX%S-2?N|q%Cg9nXdhP+`LT$CsHS*PViBI zMu7Vhemv(zmYNXj#S>icWsF@Q*KKd5&&~u4MDRPh%;G}KuxkuKyRP3DWHx6edwMxt zNM?vl?%Z$+dakv8dC77@x?(&0{9t(xVUvfg24Swa#p!r@{{Y-N%_i77qqag8+6igj zIveGY`DGM=!_$9#b6o{LT`}8Ch=Nr0J7tawluzGQm7H5G7iR;%U zAbF*CSKhf%Yg!h+S>tILu@Y+ah;iJ?2T=H!$p|2uH!&7*cU>_=;bJ1*CFW-qOuH$Y zvJV>d$-=OxY~lFm##7CK=E?cS);0wX}TOw+HofFMYhX5;k5;rK`%Jw8tP6@gT?>BkrH=A!0{VLWxhVbFrq zJG)0rl2XV)B~Kf=$P|Qdm`$p_uO?48+ETpkezzFG2b5IB`Cp06B2xv$A--AbfS@rX z?Z`G+=1ayxbx&7@`J2mlwFnba4P-ZDkWJG2UtC$J8kM`g`N)BE&v&BU*?5&W7W#gs zPA3qSNx|_oN2K8C!%WH%t$D9ptDxb@3Nx;reH@5bCa!wSal?7KSFpyOt~+zQd@50z z(JkLIh0;KkQM*8|Oq2uM#>rccH2KLxH=V~Dj(NcIn~+nuJ|m7!aP)0eWS$ZCjC3N9 zOKYaJijaDs&tga8Z+z3oX+Uq&r+v;$fkyQk3Z* z<`n>~E&KjtUsQOO1G$gh0Z&s%AA=NkB}|%+dh~aBVQHp1A=Y<2@rV(vBSriB;Bj{% zzL_JwrjH*u#6W>eOZ+gYQW*$or{5SuMIy;>t_dM0;raXTY$3BW^~e#4^wYLhVO!|< z{{V4>DWMie|ToF1(y}B}WC;&{4NzYM{w1Anz zX<9t@?SjH+OL+YM05d?heai^fR`qd=u@ZZ18Xp&`=o z=*^RTUqkzi(04oHCNv(*h7+}=9JNn7jD#9m2yqRc3~G!B8tBwXH#xh+IKM5$;?oqG z-kY9u`ePzy$tgIGPI4xcf!2g?jd+t4K%y(~Q>y%82_mV6om*6xj6r&uZR=s}(**@3 zDo8?su4l$fg}CHY_kZh$9R-90H5&U_0(@c_x|uhxYR9hsICU_34T;)MN^1Ubb<9`00oPBA)N5 znkG%3Kn`M=>n25j+AXhF{cl)+Q%$l_F)GL|1*|Ij}ca z+*I-(tWq0gsauA>rb-fQD4HPE9oUhy_6O3KvGLAI#taAn8DQGY^}%uw7HZ>N;NPWR zmLa)srySsXRC+&kfSr9roY0%j4(rhM#s^!e?G=@$E{k6^6}-|F_HtN7B@X>E0h*{i z-+TAT4w_w$c1J}vDM5|1&`Iq6v9fv+Hu>Hca8~S!)nv^LhA7J~ddeu^bW|!YrQ!;~ zU*6W?T_C%{l?b9qBKyC2%Tkj0n!dQQXb^Tf{&6A{Vn?1n`r^}L$VWH>BeSu0#xWvK zLb>y=&Oq8yK;GxSIF>OPDb${rs9RW(eZ~PP6HFJ!uNd(%CL+pt@qq(Dy{`}6`ECu7 z+ta;PQ7qZ@ckR4UmGY|T&0OID5l-tU@2`AV`$tfY=Fsq%NU5iAkMjn#G}!kJVerm1A;e2;7k6q*>~*|7 zTs+G5`bMWMbZDEZpsM{jDIla}osW2R%MzMce+Ze^IV4~eBzOg4Hor{1QYLCe)atqK z;|Qosq?;)OvRRHW6{!|tHm)r9WX8m(=#kUgzpB|7tTPc$FD*%h&0bHY03xMmS6&RDNgQE>)DP z(bxXv*Jj4jxBg`9l2*X#kLEN3e1%C_agQaX4+Nbq@QonSWDB_OuHKo=NFd8;f4j+G ziZLq(SeifPSJF#_0pG?dEpz$B9=mNbJC1xEZv^TGLwsS&hTA3nXQw%3I}c;+lmtr< zzkV_9q*$Z=U*{YGWO}EcYy4ysvH7Qd&O&VRe?K@-swpVP`F${C6^{P^z4!j)*~CCf zbwA0*P>W9w-bkf^Vn70$$JD{8plWr=uKUVzk}xklCz#`-h+NSX0vq3N`+(M=GXHbPiPsR);(2u}!o(zlszTaONO{6DA3$~aOMP-uiRW6_&0iU#AWkdhBc}eCqC`0& zb+PB;4b5UgDq9uL7)Uxmd9|aNFpww|9)Kc?`{|q1=?2RDz{OwS2FYFVW$v#0mh6)2@bQio1!C8LFa3VHD@;S7^uOkgY6$PUh^NxHwai^vWX zDkEJM%-FRF!y7`cRy{B*q{XtHDoBX?P$GaMXFR*=_N+km5~Tin{fuRx!eS)I5y$ZH zFtOUgEG5G7n3Q-EP&r9A$4d2bAP9e9C-a1o-StkTI=ABhh)e>GZ>?6N^MUCiQh?B- zWqjn?B(Sc$H|t#O6b5C<=Y;BQo zXjPq_a-R^Si!44-9XaERXe`N6YF@S9oeLGysd7*Da^!WGiKssI$0UX}TI;!3G8r>i zqHL*e=Ufy~E)D8W?-{i&hqgfwYLs)=r`_VVH)P4flXL@M63?b=B?NeU4lpYj>OS-pYD5LA-XdU&r~=C24;U)^HMv?H8X^?q^7h)It}UXHU~Nf0_8^u~wl zN)s=+SfcJkrhrR)f7}F>83LQ=XxpyXc_O6TsrH>>z|4vmUBt&t>%J9FA}je`YohhS z*m#QV2Q+;#FpPnsJZeiLc;MDiUhUO4fGAYSQj;?p=jSR!gn)mfesCF35J-;T?$pMy zVQxU1-?ay;(dYw?UE(hbPD)7RQEITEY{kZ+)`&Rhjk z*&;i~5nt^WE4aXkuP?qpL`tbOQh4L@iG(FVX9_=mIF&L`P7~9Z{{Xnx5y6zFhZcS^ zI73BZ7rOSuWP*ZxFYe=y-1Bj?+21iU_%QmeEfM%*0LoH^IS@Kdy!&xbPMb<+o-$lO z7EmEhfz(_%c`yv`ZoZrO#(W;>MW6RC@(}qCbA7!to+uk=t^49aNV=zwzW87hD+yDq z2BAn9lZwiuJexY-ra-&|Cq6Qj6E^nql^9vQpY!eGii7B05@nYoo}Y|DY^us%b&cF` zyYzNRj+x>9tB}^3_`t}CP>9|4=Y03eain4cR(j-k%cRd|9U}YU7_Nh}`NFiFPJ1`T zMI{p)pYAdtqS89^@9&c!1z>bvYssr=s7IyotbkOZcQ(@?-?#nNcp0>QI#guCldUE% z6OO=^qoj1m!jKS8J9AKV0^c6^JFKZ?ofG$_9cfNa%i8eFMaZ#X2{gatgX^sI%})c%Ax`N~06FhCJA5zig)1(?Kb-9+h^ zbH*@4nD+;bop8G2Waczmt0M@8un`SS`d4ol^Mn%e5m)8^0B|WIWFx;no}Ka<7@Xw5 z#}LLp26!_lCrRF(m@BgdY22O)^B0@@f&fQNnmhEsO~5eZxsvSA<2g||8##_nofp1H zDjT0;y;oz-Mixa% zBooQ~;`fkuVu_&E+dU)W6-201+@bLk^~F{YZ1SqBx|h+y3YogqOb-D}bG(t9asf9~ z_whIY1at&%ZCUe+Dwy6KwAV9)P9?RhVYGRv;}j7E%1wKAcJqx^F{BcN)J^Z>4eo_%vLIRE-(I;IV3;wU-<@>I zDlDbLoDOnL@?}$=`A4P+#K#892@q@$5f#jjdicD85#y8L;R!X z(vxDC|C zi+?kO&|c30zm`S!v?LJVL+<+J5InFX6Ef6O9qYbKi6GXEmVUeDh6NZMUi!cUC2T?; z9yhE69Z#6BzXTU%1hAw2Am!_l)oLN_-!^OG6cR+c1qhG#3~7y> z*^2PgYm)#jg(~DMdhz?l)jJ}tMf1;`5KU7EWI5;b*RX{$lO`io!@P$Li=E-;!fOx~ ztuc-h4qx#2O?972$3(FbM3}y|^NE>YTyZ-pan6AwC86?{7e!4;JTA8GJgjNeMSTNDF{k#W=I9)c3Ow-@Klj0s2(TV>}2xtnT^BtsliGidJx>`=5nz}OuGiO>FJZ$ zup$C<+3KG-A*vJxPNSb}oj_^4F7x55xWK-Ak)<|oUfFSkI0R`&UOMxa!3Ouex%%Xr zM2{kPXDKF~0n9om7=?A6Kh_OLr%Oq`k_@lx!sO zq!#F%>N04~OR^^G_I2%n=z_%R4TFN%wu%M2cHo&7HW) zI0l0Ti0ZP-lOFHkN1}C%w-HB|Np}8O$?la;?uGdSp>A0_;eKr_&{9?e@L0pD#PC$9TtayrPuX z8{L1ioZ@KdM1C~&#ai&4FI~L$#1h44MmeeD?PGo-KubDdU*~)RXrM_&y1(}Wj`acR z)pzv7oJegUXYtdVqlrY=p0V0^$AEcFfIG&!=I_`EI)l&n?}1{9-o_&`e18a1wQ_@^d7w_APd{lL&S zOH0(qo`Yj+{{WuZZYc}|faW8^yo})a0~GVd3L>WThmUu*5^%eRo=Lj-?TjKiOG^H= zlaoqQRYHzEyktmIrd_qu+pabeL&RMBYYLgfsTBkW>R{v|0o-@VfSTblpq(EN9XP~B zKG~EbM-#t{7Yhj^45|7aJ}`x^6Dwn9>S#&d@R52Wr@tZPC(jPSZ9v@7ZgQMmM zNu-z4;V=atCI~vEIn~T}Fxp`$Y^6Km`e0WGHziqXt6Q8Iix4X?jdc8W$r5B(iXu%P zAB|$5;v|oQ$KGH)(Q;@bF0HTk3Wyyb_Vi+3T#XWuD-)}h`nQQ8dp1^i?G9Rt(R%LA z4;@S(gn}TTYvcKer9fo0)E(ac0Ol)zRS^l@_dELJ50sFOft&m5hQX3-hXqFXCNlDd zCN`<#$Hilv@Bkk_!CidfkjP945mI-*(>Qsw6y6txXM-3QBB}>d;q6Riq9Tvl`fH4n zp-HGkcbW<5i_;c|L~|0~`jMr^*zEbQ`%p5&vQ>FG+tZz9yNwug?Z2}C5?(n6PQAzI z$r@r3#thMi&$ofr03FG_475v=2<+XEM0Rb|tTh&_$)4_uuQ-Qh!OPL3@)1H2m3 zN&-p01acAIb4z$$8a!i{Oau{~odQkbmryYR_(*MNrv%*L#WLM2f_gHZ-Zw0xzF|=) zQ4qlK`7o?J7pMfLHG2^{RNfH_h>I9ppAk;gDU?1!)|u>TXV*(IUoRLIS6L?83s*Fz zsSLB(HRUAY#!Wqvk(7?sD>umx)9`Q%k*T~%OuiqLS=NtvHs@XBeh2^y-cmpdm6r+C z@}-qa(G$B0y4VmNAuWc~sLx3mr2t-f>fFf1sGEaq!g%4JwiL<74ZQNr(<}0zWr|E_ z<6Sz7(gSYc!ZDRg;vvAD&EWnLL4}~e!JrrJ;p;EIP#XrWP7zYXQuGp&tj4V8IhY1V zKqqmc(%?w^BVEeDmiZSZzDaPvdc-54o$&Q~Ocg)*4_QFN*ls z-UIptkbDL0k4Kw#xud=R!<$ixA`%!i6Uxx9Q~ z0;rHR04-%HD8;&2*F|qDtjWrwpOXl9?xWp#?be09RTu&iE?P1pQw7&wTpq@^><<9r zY6RhH>P+93i5g6m$RaW(Ll+#8&qfsWC&ffCv3O8Dxa`#wmbLxCI@`y80t3WoeL>@U zWO&Sl{ETu{WtCc#RDiom-YMk9zNz56(JD9!PiUQ$uJbS z0jfrE{Y=~!0PJuBN2Fi>0EPF+8g;%57y4@d03Eerf<GvmspFjaX0n$NU z^6MsO!Q@ik3bgypK=A{BgLx|7`_HKm_1ribJp~`f3-_({J?{ahff!2Yn%RaSf(KEE z3q*g*-1Ww-M#3mpulkyMl)`0JkTA7)EeYdT7;+zo8V}d#c*aUh3#WMqCA*0@v?cM35heh#BH)zG`|DI!pz(;Q2D!a` z8Lvc0K`OB66`%N3Qba;f!qeo>3|58Rim6p9@KTByhrdk~MRNyZ53}R)nTnZ4K<5{3 zUHs97jVhqk2kM-*`9I~!cea$&RB4Cn0__Kigr!0KU?P!3hZq928aO6Ni*pw-8(dwtx z&m0LsfGPrgztf-clN^W!mBt7fR&{DBE`HA35QnX$u95pBUBr{nx^x0yK)(SU=z)&s2p& zbXo=wS~LD;!%VRT1=EljgTF_EIix3yb;2tV`h}XnD^OGeRHt(vkk3(65MZNVm#(}6 zw^bxq8xRTBA4f7~1pz1kv?t+;fh~NA2Kf;(FItrP<~|b(vA`db=sPjz6}vnVz~Cgh zAbk6U@+EDGCWr7G6CRfMnZZ&LWS^)#U!$*}AgGB4Tf+AppZCrJAw~W1UznMT&m{YF zun2)?16cv*s}8u-V++A~h{$2FmXN~;Yg7my&kpegWlKa|GJd^O&8cN zPNCyHmR4L$N|feKDEK%5pim$##r~<4qlpt@QlID&ZvJ^CiM4bdq*V!nzegHEVhIk9 zhUfd>1zHsu{)mbH0QlO|pKH7q@oP8tJVek-P*xBUits!=DBx&zw-kmQ`)GKG+JgcB zUaxOtz8P{=S|DXy0XXW>OtT#16<{EOotm2Yp{pmxfJFSL>Ur`49f;tikLC3Id=(pG zqB>Ymr^G(bJ{DErTo3`FKerX};}_*Y-{bYToAXf)x=dw357*}1CQ=$?D3nHDkBvGi zC`}a>fnWIbC#4qCg>hD67=Og?pZXt^Dt~Ja`FJllg9K4zOiX_f^M)OiBU2WLeSSND zgG*GbK@UtK%ts6D$q*Yw6q9h)HS~&vhU9B1pr^si+Q5oPmJ5}25D5FP&XUg)cicE!y<~Y0=v(SZU=!0hd~qI-pw}8S?H8B5Y0Jw zc7JhRL4b@us}V#mWh^a;9g2p1A5N^_^Tfwd%9aAhLC^cs#CCS4EklDFN&NK1ML-Sg zI4-8=`^&dOfLNqp{BnGI3?WF4#mf={mhO1nF-Ux)lqc%)CGm8lR)WefZ?yO;1=uiX;)t}EjHW^p5QFHB566cv+E7#L_oH>|PZ2KGpgK5R5YTVu zp)L@h*fCtb4o5tdA_&+)q{Sym)adU8L~BTX)HqE6+tqEB%(Aw`93mzGQib%*$n*b4-zWi zM9$MD0N?xsFjSv3NAZ+@)$gYO4-^+iUIg3MA>ebyoVEof4gJoY@PdN@J&BES3|Kwa z(L%#}K~WX@@A$XIzzC?p0DbzcdA=|yWFvyBfq-|Ly+A3c4TuCdRF<88d_kQzfT&#h zI@RVF%b^pcC;^pzH5u&1dPW2L1_%6%>jMLX#vrF0eEkEfE-G8iTJ9o^q&0MKJ& z2Sxe)B!ZK^ra+E;>K}pK^4gRO1Oo24nfmAE4$vIqA{DRpfBf<;s|Li@lqg@V$1U;> zM1_9_=%b;({1m{5KwCxmt3$T@^O;)0@1?zC-{QZitx{bfda^=;_rn%Ky?JZSoBsej z8sM-3x8gfl6|*XZg^89lp`^0TCezaPYIo)XcUopBP%mLhI1K#%9>_($N;P&O_|{{RpBjFH$> zH>d^Sb^H^+#aK#=24V&>w+}>wB1VMIr{^Z$T2jN(V$9syqW7s$gBvTwIaxolQLu4^ zpj2Pe=P&fY^Eo9Y8}(UHE9MuT*t_c#s4kAQ5bI8FsOqFq1jx{-z(-?M?`u6>B|2Ae7#i_NmO!u1e!nJ5hq2N z!_o_a{RzrOx(@z2_@nkY<{uTc38NWT`g8bXZwVC;pacQi7urd+A{9wm)0hw94IeP* z6iQLF!e9&#d`2=4;AAH!GWlZCs>NLs^?ywrsgk8jSS^;89cz=qVFfS>1O^5A{1CDT zDnLy}0GR&(31|NRJVN40D8`2K;m&K}Jz90KPE0lU zf^*0SB}oKSL;nDu=l(Rn3jQshe?fl#0KQQG2f(sb*Kz9O^Isy4Mwlu9;^k-bob}4W zL;}!LxxadT`v8Tci3Bgw_Pi?YXuaT)jNLQlImIC2IFdVP<1z4Kqg_)hOD}_;t1sE)) z`Stpljm2`|D50Gv`1t@p3koL3o&7n<;Xu8Baa7S(lPpbI8kPYGHWJZgp#K2#!wAVu zZd=3f=(OLSw`YJWq3{x4t$f8)9a6t{V$^v{yKRChd{}MnuLe*yzq35kw$eOOF(|u zqx6l61&xHk?1dn?=9Ghg3-qs2B-x3Qh+&AxQYXbWvKke(d~^Y}h3UY085}}_gz41R z>Drzatby2lJA^94{Saaaat%TNWvmaiL0M&QQOiMpst$@HSWS-!Q2+yn_sJnGFjT}i z+&>}TBrs}X4xECyztBakmudh?L@|O_>Gm;O4+6S?3R{P-nu8X~(?p_+RQek71RbGj z7F8OPdE$w3#YA&V{t%ewr0NkPks1eFO^$PEtw69|X(hBpNn zSyY-JQ|8|z2A~vSW@uS*LpRCVF!hi2G$j}gHSlcmGEduvcK7(U*Fr+}n*&6su&GE+ za-~$oe?kHLPtQ}9mULNh4O?eF5VnAU#3jUO0mu7`AqmzcB$T?1`A-cmPA7(e1(rC| zDpVU9JkWlGf{-tq-fE};9UhbW_2R`~0%*LSACWgt@RjH=5g>T~0GA^1@t6V%))=r{ zz=rFVdPF)1xA0D#eq;Xn8a_lIqZ2b(IDW6NPeFb{l&ml$>Du_kRDg^H6RAu5Ki@41 zzvnkx#0&ob@2J?aFkB+o0od&RzOV#IWfroZtorEKUaEeTszWFL0BvN07ZL9_39l7b zwf)lIqU2(X`0rX?;Cpfk-Y6q>BH;bz`Ue98#D;A6zgg=?@ZJ$6esQ1vss#cdzaE>F zWZcgHB<;9>T4Fld{{Yx@VQWz_R;pxi?)opem_JHtp$UO{vm_dbJ|Y1i6@Y)!&9G!F zpfM=7OMd({DF`mVo>_8k@7@6xCt#5C@h8##y3rv+sEKtI(f&04jqx?H5TW1i=iLJa zsA@n+YK2P>9-BAX!Vn`IoGun}eZ$U#Q2=0BD-YsHabO7-F^MUWKK<53O!Y)UkI6_q z%df&*zLkW!6-tFqzd!NgId4Lm699MWI5}hH+b3(`#H{^eeqeb5peZ4SUaPqNvzUsNOiWUcM%30fKH>={NT&umV7ITbwS)yWQBqZh|jH zf`YDbKR~J{7&IvjFhkDVVOob+!%0-qCe5Z+HcbMtWGydD}g=q=cB$_2Q z5J*%ywE;2~Sz7!o#K-9yX>l1qBC3jJbiRNVCnXqSV$9XJqvd$iF5`ETMV(zPZl~5j zrb2&3Sb%4gKoBya1=D)}0O-|Rw#uUr8w@ewE8wvwT9X1rt!w7@>A-k+7&@;i&$B``yp3Awh5|vb{0; zUj1~?3?P6a0=nPQJ?bx#iXi9$>INM%Dr@Z&7$KovfReNy^`uU`3JSO{bN>GT@dly; z9Rr1!Mf?8%&jPCxDk+xX5pHwCXDA@Fjs=nJ&F4JT*$VFtae)y0p)Y{(;yd6$s4ZKA z(SV^(*oRvUJCD(%FbPPqq0~wF)_wJug)&8_1$m0APBDBL832JsZUBkT{XUWgEg&j? zs|qi1*T_e)0fC6>{Wjvs=HLPVCY_k-sS0(TLZMJF;+gc_?Bh=twj}r!$vR^+9=TxK07=JP;_h>Rj16%H;0lFayi~i8{xZ!KTnpx(`#{Ul4h7;LHX&?|RRdON zQ8ShAnzT_c0C=Vq7lfE}z*Jyr1U|Pp_|6#^iKG1j)K{O6ig<|uQ!48aw?|%xu!|uG z5mX6_VqeeH@mK<5pjYjJ!s~!~7Q>4C9uqfusrSi(O2t+93YA@*!S%FAInoj~2n5fJ z)Fc4QJ-{@!j^;QXHY)6)0TPyUL4gG~4QxFX93=T+zFV zkBTA*=mjE^`YTpXyVH;;bVQ5=IDg}al(28_N*xH6oS&ZgX$jN#%m9vI@>s*7D~f~~ z&LEHb^Kvi^3aLNBkmYB68rf{5TVZe`_ptflU=We0>GlmJPmg=*uu3{q+PbkfFZ}UY z1E`4lY)V6dypi$r#=9$$(NaGHKJ(ZBz+FCz{m^b!9;MmqCA3XoNZje-$~GuW(n<@L zA82ZUR-kbM1EzGB+u~5yz*7ceer?|rl`quULG$3|ex7cXGYAN+!0E1E(5Nmo_KsFQrogDl>=bZ?y!m~e%1LZH>A1EFqF2XyMha0MTNhiRQTJ+g}{-`SfmcHcZ znN4t;Jk9cu2%q6jyZUz`BqTwiq4+lK;D0=w$EJ>ze`2HX@*E#PO;H*>{{SHL@ya%q zhG2cfLg5l8s^FT>btML^zD)gQ<2)i?xnbLyx8j^cHR z6qJxqSSX;B<3d_$O_=H;l0O6-hAHBpm>Jr&1mM^gtc3nlJwQd!)`guSUKemS;k;bX z*1O=x0cfk!LccXu>RdDegDi`+LOEvmrD-W@0t3+t-?lrl1yC6LpnHHbp-Fs;BCOdn9pp_Q;BoinB+`9!*5DDnw-U z^B+9V^Ln1=`+2`V@6nLvpSoNHSypnAJdD%fFn|;y-RON46=kL8 zEw}y}ki2HzOMtbI@-80I!+lyFdQ{9<;4? zcQ`|%q6FO<4;;bNzBnjeae!#apF)f&zE^qxT%I_fmMo==H2pwU2xS7^~c_qjDjMy zrQr4tHK>vo2|2(B5WrIqm=*jR{KR|3VOfTODbj***IlNa4@Zy=7O&((%cs)IF0FoC ze4%HstAT%B`rex#I@{m8u~qR}=fh6ERErpCi*Y0M{A^l4nk(G zcHKPPfHr7pgr0lf+Hn_@imQYJem4JrFXENo47l7p!b@dhx+SyuooudM)lPpt;_iYn z0}`|?9YuqEcKY(r!DU4HfA~$hdSDhYx?utga8(*Q@k@_j_&9D2BkO)DRf%ivbUhYlk0}% zZYTaI+s0cW#`So~2u}XEJ6H7&kbO>;tkA6i`{?po`Cg32uInkx;_h%>Lwzx_|d-EF?mBTF&NbZQM!2&J>99 z63@C7w77jDOC3LCY+NC1cBga8?QU)|Gj~ZP3hCf06l1?gzJ<&H26~*4fe9(aZYj^c zom`y6TI6~Q{l_4#{YD-UMoS?=ph)83lU2M;g9Tbv4$W?jF0aI^65PQ)=L^55xU@dx z(V3R~*j!6U_{Ne*ulVfnXTF5sLjW}S@!omVp4u7>JU(ylI(_ETH#t;#w$WfP<8_Zx zg?&@Jpr4oOukj`RfsOvI>_y(=o4ot(*wA{J`eh#N*IcV+idbFFD8S}LKN~|AsKTE# zRXVVv4T12!d3^ms?Pm;U~@SqvmH_h~Y|bZz{p5}J zf~Jz(*t{Xg4&!ER81R;6>{oj#l{S ziIdZ0UMf?Xr)Tn^|BZ(mf;{oeUP@|9N8?`9O6JHL&z|bsTf;#yghW%%@2BU#o5c8A zW@%{|qXUlUrYxVNABY{CzKXq1wBlEl+WmNb0S{-ZvbHrY1($Pg)r{cA`4ff&cxjH& zwefN_`=8lel#kr7FVUCsqM(?g`Y_g7?Fj_T+%4U^tVgr?#TKOL_kl= z`=+LYho50m4$;p0b!OZ1u;*3g)E05nVDKM;n|VxpCAPM2dXN&VdxVh^2`g8&v`*KK zcvgx2>;L}uNx;W7w?woTy^cj=xx2`yk`8sQdgy;AyKNLgP);59qrJ1WO%=Vg!CUg% z<=Ed!!t^nJZx4MgdOA3zb$bV$3>MbW+Kd;+$V8zb`fWb>lE$2#l*hg?>fUu#p?^HB z`2E^m4*;)O(U)ol>NiFI01TFiJRbj6`{+*^ar>%qj**@_J0C$dB_7qXYjFX5x|^}k zCQpNt(KQ`%Z*P}Y+o5CKPCfm44gTpES}8#MkTda-O+{cC_Tp%5q*hvlo~>U1@vujW z+xDmJ!#E!wZ9481zZM5`L?!>WpFR**x?z~lrjWPEYA^$_j-7E4hkjfaqPx~nU(C!o z@VaE^2I;=SfHYVJhzibEt`|NK;yE*LRRULFW7GBD(yDXh-=(uz2!7MC_WM5ti59fi zx7dll+xy&_Ad9yE?jK;@ZN-=YM{XWl{{u{ayR&^86wz_ZXYo3O=Sn8^_a}(FGC@TO ztrW1@MSYDfnmUP#OI;c%0^4*RS1U*F@_p?+*j4}5k^*%1>B^3T)rkA(2i*V#>6tE(MAH~@`x?6Ue5vnhdHR4!gMBHeL%XQY?3m7{u8leNJ;T|+K zYs?z0kyrGxV{8iIZuS*TR%2p?+?tX*nWOfLI2)M`=tAe$1k-b;`q($!6p;Mpf#j@N-9G<5{7xlD>osPX z&rtJ%EWuq)Mejk=6TF}Fzz7kz3H^AY`-8&XROsh}=4l9&|IrnBe1_GvW9Y@AUB@jD zyl5GI?iJli+n{AE;H0vQu#KZF)rWk8p`#1B{=81wfuWNm{3hOLMU{Wl!4VTpWC(=C zZ!ZEK`IjUX9%o{6fJUKqReWI|ojo_D?S^I5j>qVEF!K=N0^GCoW~CRzX&i2J!eYji zCF%dSuYdIby!UnIAjHe7^FO%g{iRY+BM$w<1K04zkQ3RI@kmf8tn>3p}eo1WScB2nJ z6M@Klh=_YjH|Em{?9YNKsEN&?U+=OdI*;Xi%b_oRB2!^J_bKfI6N=3d;fqLgqcdYX zo?qw>mqHFm-z&ZOSPM+cbaRke;SYC5KHsJ$;lrJTDS%r>IB|Z+k@r1x zauHTRfB%*;g;#wnYR<0OQHw07hXpqD^sAU2+;wraMdgycKK@ZcC1JlwaJMRY$klH! z`{gisjg=E+4tTld<5&dxXh{>bo+_PP?6ox4Vtyqu5ZUK$6HwZs>cg=VxRAi}gnPSG zgG_91u2ZOOp0lzaqjIvVSxw)?pbXX#d9O7P-o?>-{wKOl*8m!aerA@Izg-GhR$MCm zs*L5TpWCWTDr*k^0ZgY_y-(b~q$++rN(*8u#a7syD2_N@kS!$mav_p~=+=OYv*msT zskaa0BeQ+38B766ZQxQJdy5lKdBX&7l#Flw>B(CZm|0kwO!%RkrPG`a7SX7=8DHi8 z^8QsgXEunfB6;O^)a&6u^P8N%w)F%glR2T{eRdnh`ir&lbvp!Hl^{%$n4I}wTKXeJ z?D*_kkcKWHrTQALYG%V_3k6lYG`hU`AD}%vY88Q_v0@E!EjZg{0JDuV>ZHAG|NX*) zYtr+!sI2-&e>|d|Mr}5N;UAE!RrKk&S0AIhtXg{5A_fYHI*#Ec_YdCqn-#~iUmX+; zGm9XDOoN#cTw?zLLX@b4s>VuQ_n4J#>Kj4{8kd(6s^pVa8%{qD%D*pbygV>%6_YyyrsSwsL8%Z2HDt9BIhM?n@~OW=-)0CQ zwyN}_Tno9%YViUbww?5$9)3$S^&rckRLaOV|A6Sf;Z&V2TjA&m?hD9w>5K;Rj-GKf z@8za!NeD%0-Mp0N-~(s20^?Fv0a{io0Iec7gMaa@N^%aJpq6N{EBr2-7tGm=dRP77 z*avQ#z)oh%I&*tH>(OpCtH9CYlf;*6Ns$w$-S!XQkAS>|6K~VpKyj_FuI%G2TlCT& z1YX}}-KxP@4SYCVuhZ`jOMQh~`Ao*q$eKnJ*mXWy5ry$fL>)`l&R0KfL1t`q8Y8tG-!W&)0P?bl zeMiulu{*wE&TKCJXU!*vyJxhbbN$W}6N$fNwbCZ#s1{=Q$Ga@83|l2>RC^{ihG7e! zN)m_Eu6B<%&aemWH-~w6c?*v)&0Cx@jq27t8R};+p@RNpKE0U>Hgt%CMvq4y-PDsb z3fa$TvffeGo{p$d#{i?x`2PX9%s0YWT`<>w9(DVzjxBC@fT5w~_5(tfBLRE!`IX%u zs^Y0#^muJaZ0LU$IKwF^<8K6QIRl3M4JpaOF4kABWo%$~UM&FSJu_K`p36ImX1c`a zMG)(8d`Eqz$HUI&b3dx7n4{Bg{%AP)Elq3{Kc&6V`?P2m=NG$7K-tAis>zD)lMCZx z3@D#H{~jwGju&gvthyA3*m~PCh|y0uG(<-|ANkIVz~A*Qy~p=BD%pLI%pEj1{VL|s z%FV_L!#Ow6gcI#D+7-{UM`9u^(To%99aKJ3TsaeHzyS72^TFj?-NlKdec{kk!ptwMj|kw4zYMe}=_zcCM%|fZ4IpWr z2!MC3bETK#jBK&EJiTWfew-41CJw?E#j(BwTK6!BYiCTUswSrs;{oH?+O#5fFw}Ls zv|QRQvZN&f_5p@`bEjyvancx)B7yc=B8x9Ow9>>0#T$c}*l*2n_S36e)nKxNK8&hP z$}^&KXJ7vvLYNgI$u4XIp}&sC(AHxu@C%0gi<={p`m?FxX88Xk%_8=&d0@%S;X@zI zo%a+Wn^Xm{s-2(x(pb3Lvrq&HhBW5F;7faQ&Mm~9d-8_Gs2MYQn$!aeyRScOw!U5n zjV{F>JeRPVhorJOWio1Ads&aQ&Y(GoFoTAG3MMlhUd&REF5Iv2rzE`Zh+1Z`Q^G*D za+WUaGlB0hCyal>%U7WC;Bp05AiHs%_udgBwdP_1_l|o{Ub5aG-}C5*tX9pRf(+Vptv~I>J;uGn3Pv6Rtgm4n|C}0M( zqj4J&8&xBz4gQ?DSQI?NREv|Y`ULT;_QL*jWA$Oie1+}EWxAzT1S}d5T(}I3d*kGr zozlOP%jod!Cpkh{EH!qT>r2TY98hBxe*SCBz(}?*8`%cC%#4y1ZqimKaVAqO%jg`_ z|9U|ivQ>FWe%t+uz8m~sTT+JE=u+LI_1ly=4~n9nK!#nXh)&28u2bGoKm8MRP7pPW zEXAhdvjk|GK2w>EglTP`m7V`tZV7v$Eq-Cs4-s*UL#;7+Xb3q9-?g$-K6Cfwz7S9g z6-A&NCc6vE`!H)M$yltCTf%iExq|d5&_!Y+?tFg&_|L?olhm-;{M3?#)}s|IOuhvhTC^-rEh6RBq*H5uibH335r?60$pqqUj#8kJ}F$b2&$^e0n*I8W`FW%jDlFz3cB0wyJBaJ}VZWz>nl9-_W9cNMq$C)C8=1QcY7~q8+ z{8r}6fX5gS{Og6nyB%s_zmt5q!+q-Bi`U$d(d+)#2na5?Ebw( z{22q_3+jQLs_T*1HPUC&4qj`as>sFAmjbU0Iyv4^OOKQyIImTlYn))7y)$9x3Rd`> zT*I~8P``NnUB-G;tKr&iZG+nbhUVSx53ZSNIOq*EmkYBy#TEydI67UN$E=Eg1hb{E z&P6A}S$UNXHtF?G_1r_>fqUKQTOU!!Sg%J6hgo-w&&dar_ge6k8@NqVQxCL)^|>EHVQR+}k6U9GT%PS+qZyeX`g8nxK&NctM|ms*X%Abnp|1h?I>gkj zRKbSszDOn^oh5&=+@F(f^+>z&YW4=@EPP5Mvz+xuLZiaD>ODlWQ`A`AeuRg|p~sX1 zr+9cXWBKqM@m~8*!H)D`7AS^8pAB?+AlG#KNv4y@!)IeYixfOrf{d!ysSyL`mByQR zn06)YDbL%_c~J^_&xZUti#O~{!3!1bFU+yRRGCszc2oMo%js|qD+tX+iiER6e!!JE-qov-B<91bCn_}5tTNIb|Sjya+l2o^;;UlTQ&p=z9MG_?Q+Zy z{s@02^?A3@V`>)@<{GbzAu{T(t9aiR+dsoy4^wM*Q3_froDlMF0o&22=w5MO&;mau zBq+z&Uxt7Lx4!7(g}}9izK1zp}%5sp-6#bSZ*KVS~waCoInTw|kBQfY$=%dN? ze2|d7x#rhCwPrbjmQ*}by1os^E`Nbwgo%}>^V1Z_I@jbW4ASw zvrYx?q0z6masp)8m?#c)d?%QE!|zfQ7XJ}W%|yxEDSbEb)gG>x8kmt`PX8#r`3+m! z*4Yu6b8)SUAD;cXAgn`R;_yg|5Z{5j-IhjSbn$YPm$|{qT3o}9`~2b0Dr$_b^MCRj zt5VwPAS}(S#h>z_n~hzerb+R2$F}COT|2SUnXrD^6WLM+t_XZ~cCeHHcDM9)3z;J~ z?(@RWVpZk{dlT<(6UnA&GV~^?K6>&w0-MX@GaV{{zCs&;|A4DB8k$sn)m}U=`YMYt zmBw;YC3xtM9;)Bb;OfCb`yxN=nLVahmt8C3UZu1F;J%N1$(@}n2 zT6a8L54x04N%Ov%=K3L2u4&+(cGErHxULJ103T~j=OzLG}^rFW2e?G+hn(V!e}Xkn4 z#Y$78()Xrq&}567O^K)B)|z-ieir*cT)@lULqk5Vv*kP;W(?bs;Z6kWa=Q#&o~BFTQv8V=L3d(h@6=BXYNvbiI+5i#bYyO1DDE zvxOaZw?hh?PqeQh_**mSCM>AfRWmQRi25*1=0^z6H@@ng%XISPp4HDk|HMkP1<*y$ zo>{$I0k=}Zsf4G9%paJJm$(Hx=}i>tCt!5fibd5ck}B&~I7RK&RYY=C3R!2pl)Y;Vjv=VVwtdu}*Vq3Z$RH7C8HB^=Q1h z@S6Jyfh}o7r_7s^J+YU1XzLHty)AW^u}FtKe5P*K)m)PF*sU&{Hb$yW8(6U+c4*TK z_6(S^zzf^!C!xit+RKZ#Lh(bxcA$jOa5)dh733`Gkk~+x42bNF}iTz*3;0 z?6VnHqH>-`rYcX;L8z0o)OG0$%MTOLvGF?uCo8$RJ5P(0o(@{Pkij~`{sF6jkA!B= zKGfYhd*pp|18I`LiVL?Yy#Eh)n8N_nA^j@qU+6@&)>Bf^T|`H-{~oEUSt}CQXZZ*0 zPj>`eNflZexdbI}PC=p6(GOR@UHO%hN=Mfh!?E>orcxiU1h|IQfT#a}v{x@3sw}gL zvyZbr1?uN&I4zjcJ#}lw(bX3q=!8$y?k~}G4!GP%e`cMSt4bx)yJQe7*IKK8h-C!7oHFAw2mpOa7J~)pvbA_sV<%E@!qtg zgcW(XaLUv1`@j65&oR1937Y}F8&}dD;#g6eQl#|!;i#8Lc996f(_{z3=h*Ny2&pVN%xrz7&RI zq_^)SNXh2%(SNp;vR*ZUkL3|AV`E=_Ck~FhSb*IsIY4zHyAmk%90cjrF=(&`rZ7NX zVmW|Ip#sApzG^=JCRf<(y`+fIY1T}2t1StJ_D%|xL;_#pl8xa2Wv$PzDy1Jvcx}DQ z0;|(TRY`y$d-i=eOLIOiW@B0qJfIe<{lo7Ia&`#Vx&CO)V zTNb?(WY%AmLg1_+!aR94!_LAVxtR#nvC^L@wY?H^bg6((HcU(}xhFw4Bh@fUZa!6N zhDZq-4)FTOw@}j+V?I!=3~@iAbW0Nh9Ir-jicc1V5x z(!Cn^s+8nmu{E(STxA^0)!)np4*b>JrUUzoiH1$mXDG>ID+TB5luIUFPx9nK`z63( zC`#`vvO8e{vsS!Z)#VS~8a(8#Mxxz5r`sQWParRXG2)JX3nxf^U8M&P=|qc0P|ojj z7O@}Lo6=)%ygNJO4yDB1{Ug&58hAgLCZs-Xn%wCZ2Q7n&Ad%g1@jCrY3U?kLm^%*4 zUe8zVb6~bVv}>31Ui`(uCB!XPSx)qhHAMK@nFlRCbQYy=r)<>cG*gX-gz)PhJ?s~G zM7s4p8Y$E?*hdy+P^CT_=0E@)fB7%J*w_`)oaGI*$o2+%`GBuo0x**~fw>-%iPmS* zmfJbc%{GC;3x77SBsW>uD#F3ch*eLxX7eQG!A;I@w2qT7^C8XMKWH{mTps+UoK}R6 zhrI{K3G2fMp8p!FB5WT9#3Tnr0U#WfK$IxC4FvC}={eL=F+LbHY^bWLA}cc0QhV#G z?O4x4>{*Y`4%Z=ILuQG+W_WGF-rwU8wWkBxl3+*uk`ft8D24Kkg@wU}+X$UnkzVNA#{vp0;lU{q z_&0~+lv%~WmxD}dPpXtF0`_UFwm6;Q;UkN120 z{1tr6R#Si&g?k)WyZ+R@`V8OVU6O4mcX2C`+7&SD1?!mh440Ar0XYgzja0vW-wu4E zQ+#K?&CSTBTIf_yVN*w7Z!BUyk5iG4SyUxvzo-P)MPo(O)sv1sMG|PA;d@3{=l*UF z>T?=`qb?uOF*L8Xs_;{sI&O^sR5ict2&e?Vq~hoO`bxAI3i zMh4ou#81rge{weN+A=lz;!K{!IB6U*8OC<@mQf2lm{2L?6Xn7urYZYB|14k*j-{bo z9W2UBcPIe&NHApB_g?iT1sj>QG~w~!T5tZ*NKDQlPBNO~-IeG4aA6xs>R3)d2R;9U zm8v}+bo{D|?EEubc3;3`C&W`$!Jm5lysj1{h~x)@e4%k8!}(n8^4!f5lkSnK{rHBT z!zpMK_3d3`(O|Zu0xx?F)x-ks(#Zp)NMHUeA_fTCPTq-Eo|pIrBsJ!~g9zaBe~n+h zM%!q*Y{k8%>)@v{DRUSTc^21q_dJKb|lJyCsOa|IRZi!Il?&=hn>m<@^T1{{x86%!2Ey6|PTIK-hU)ej1iR%YB{_|Y4Cywr8tApwL~6(>RF7+#Hhj}7g);qiUFwS**ghMzs+4q7<}Q7_JaPL???N=|GqwiDpA% ze-h|ZgQK0wN_eyNcJ%^IPp3yJB!juwzP7S^SZ8>P!mtQrBvWi8e;|tUZ?OMm-4IU~ z%)=Hgfx1zf84A0QeGBc!`BuY!jg(!bEgcG!Y@gp_+j9%-vgE+vhcC4hq0+R~#+>i; z{_@X^;W>fHTHxuqxq64{W}nbmkI6@tgaa;(#4T(=y3Xss8v9G)zp*Lj`6UgT2E$ih zIUwG;5LW&=N#aM!D=2i}l zc&ZXsGa3dX1oa_Rd@}I0I46)qa*I;^WO#$6ag=!?Hmed3ri}4){|XYjNv*jfR#7Qf zrf8$O&B;{HP!A1W`SY7f)Jo5gn`vXirim=UHE4NzC?bts1~%w3WA52J`L+~3$IC1w z6dhf@VIkp$DTFG#yWDL2A_CJwJQLMRxWwP1zOJ$tRNY)ct;XM*k52-Axn>4nNJm& zE@8cVp5*yI#A!Xdxb=#74^@Rkw?@x@0PMlzOSBr)1p_lEoM#s(#dAF3*-(wEzmsg>iV^0*Rm-R-xkoa z^x_;Y`wzIs%5cYG;y}oVq+A)Zc|%=%iJtNnLKrGgx5x2&B5vg=Uw`>jpTVy=`Tv+#MI~K-9lyZRO<*nC((nRo_^rc9Q*m6BKf?YmojM5?N2Vh3%*6WR5BU!5| zJsT5}VvK8|n2^(pZLQyOmeivYt822LbBrf(JNyIm69iEoJ?8}hZWnGm!GE1v^(&9h zmVqxi;|7Yw_{%b0%Tn2{_h)T~HvNf~G|OvQQu|0_tTXJv^fM*G#QCG6Aro^Jl)O`o zo>G)JWqykQbrqzSm3-e2)v$!1=t~l1z-P}oj8J=3-pF=|P@+A38=cn406}#-FSexF z_Pt7pxkutr9?`FEt_N~DAeokOrTc#NBDt?R~Wz&44U z0CGwN2)AbLeZLeYo7z!%c<6JtEmH^lS8Hm2nU0|2Ki>#*J?<)1{Z(6J7)I-^N*Gzt zSIFjp*$L-*youFZd&5=B^!T>K_t73|8`jtYh9W9bS5rilWLgptV!WD8IBA7vsFOOp zG>%17CnBs`^y94E-UPf~|Dyp-QpBp5y1v~vrZ%*}#@RY+18~4M;x!M}^YG-DyiFl1 zNKFW`dGI&oL%yA{UFPTkUB~vlS_f15V6%A5l|LUd95Xcqfh}pN;NATFo?a@dbjT}C z^VkquvKshT7EFe1OyrS_qZ|OOYw%65UYNf>jLfG1YPrEYAQ_z@h1US{s>hBb%E>?0urc}A>^~D zhd1iIxXjyG=x>U-_u&(L6DiU*o^J$FF_>8z8~P7ZAA=*kF2>yOh}V36tVE|iYRu!l zmFfsKBc#fvJtt?79BBx44acs%A$ln!2EuZ<+PDIG>s&)ZuNTnMoA)ujKKs7UpCU@% z;+j;``}{tr;Hik2xSsWVxK`uMG{kGXT*}oq-dWw)Vz9|lH@$8@ecq^>3DI?>3G+F?NjxP@lcr+s|0$- zIdQMwldRts{is{WXP9K*8B~+`RL7O z>k>)#j@!v+);}$2a>|FYIlCD!zdzD?qc=L258!ZrQPz*T&D8t?g)x{g7^{L*R_jrO zEGUvk6riFx8;<7hdkoS?)YqJ@i1_knz6DiSa~#OzNkZI_jiNv9Qp|W97qK9x(hPQK z8d&TtOC_o4^q5j{60)W#U6!niNWDEbZYTyNBQ)(0_MN~g2^R?6#YK>qE*l{R!s@TO zjCEfU6iTv1nA}EOqvYB3-^q`S<)_uhW&q;i@0VXA<&MpC+7|Jz_rK-K zSeIztaCxzFY$rs6iE>oEKDx{krJg`?-cL`G2!J#*_;#vHSC>})vkXmA>MBqViFz8IEetI80Ti| zcDUYr;*(oFkm?lIs@k6==1#l$I9y9?bxm?ZKII(T!_W4-59p;9J@-h&kdbAI1Fea1 zDI`9pP2{mUFU8tY!9b4TqHS!zQzC6Fo9x4GIbMZqdIrraOt#)THp8;n=zj4#1wPjP zTuf7>{%uCVe*jh#p5Px&BdWe!8$J2$dNS>`VrOb3n{6YaZ|3^jv)_`SlpDxT9A9PB zw-w$~VAk-JVmeWgKN;3VvW^36OXWmNvjH&Lgk)~vI*vi4y(twHnQ5*Fp5E@Tq+pz! zIO^A~V>kNmgyO@U)_q9)iHmF7g8tl4gtR*Jlx)Ue``3iDxJ4jHT+new(`eyt1jh#| z4_KOatOLRrQUN+VL6dR4In8F3bJ>>aJm&1a^)p++Rt|{x*+s;4aeU()U#zOiOD)D0 z#>{~CD&rX}Q3AEr8CBH`sEcUEQtgIT4ElXoRNi(}5*G!L0$_M_N|g_P+ma?*+6Se- z^{3JDT4d&G@}BT{)qKRFO;-Pj_2>7qw1n!8OuFrMKAIje!8P=Su$#ao^Y^ zg8v~T>fYQy8}z!DK)u!;6dy!w_{jrNyJ;ntz;`JTOZ4KFn}MxN!+jZ){CJoS_wn=! zFfYd;G*kgZ<7n)UH?Lcb)t+!lLyg;3rjmHYOnwq4Oe}MoVsTS8O7XogrH||&e%Haq z+4nY-SB4?(U@CIRdyWiXy8lOz_K;Bc{G1knuKql(L|1GeTi4otu{Tz>9Rqt*24(kITIedl36=@>O{#7LQ#?_Cq~FliE;Bg`NaE0J(ug@ zlW*e7Iz-*GGK0_S5W1Fl_NMRM$SV34`sD{j5{udOKf{*^Bb5>k6TT8_1bPF_SRgO z)AlQ=-5J3F;0968vhg2K`r9j8dK0$w<5Hfj<*bSI-(bzH4mvuco+~I8jdOTiZZR|I zEK(`_=%c2L)N)~NHQJh~=3`nAf41cSA6Q{&7;D5tcQv%Dc!y|FSwR4Zh&U1B4j&m-G% z_h)pR%++5zab!_KH7xVawNIP#U(HKGCw-&akP=u(eeO!!*X!K_4rPWw2!Rb<94UBW#*~b5raJ^%a2b|ON)7Jzug&?6ZT&!MMaS*nCB97d|y8=PuH#(qAby?Kjianqo2Yh~ORt)u0DWJQ0*O8v*S4BfOFnux?1d3NA5vVCUT%qMt;S zJ9-x{JRG`G7hJ8+xFzcCm~uZd&yCtArP@u)v1}v`WEQX`nW=SlD|6#*7`}$XBM&L} zd%$5^O~MSuGq0Wza5XR<70vPJ0&(?z^yfsg+T}dQel1V^dh~exIkn5@{i!re8!f)G zm!*AID$vcE9Xi`pD<@XS50bfY9Qya~W^TNB`)*7uG=UEW0PDL1fu%bavZUG#jX#!*0I_2 zD+yI%X~{o--bl$wz+A!%;QLa;+Q8UgJ5#OG$C^Ve8YRl*GmbS0?e*ZXlzdBlPT_ph zg@zTsS6_wWboGmMZWRr>%1pt9E{gMJs^dWk4Jk4d=a$;jf0JTob+>P!%G9Yn9afJ_g)h$pqyyjxVQoAB>mpM1t+;O_+0CbXk2@=(o?Jj+4+3aT+&l%-m2Y9XW?BRV3{^XUDZwhYt25<80- zAsr?ekhPyN#U=?K!c1gsio&AH!=s*Yl4EItJ&O*TpCXqJbA!|9!`LDV&33QZ)ESY^ zw^x=@21%C8h_tz0)psx4Z>IXjpoD1i4a);%*)LBU_!dB=+f|An)OT1HOe0BII8k89H^dWA7J|mxXr|M(oZb92gaFo zt!r4a&a6h-bV+Va`Nt+y7bOvGK<##{(a7RN^~fcz zED2RBr`BQOE+`V*Ft?c{Bpmccr9)Lo>}6{Tl4a@d=zX5sfJump2>S>FUW?- zADH&$uLzi!_OBK3W4$e2P+ABGsv1Z#u$u7)dt->$uhR+KQeTNmIC5`A3MGnOWBhF= zr^rr;{MJ_qgk?WW^l|S^>a;(Q$znQrGtwD|pZq+4CxIgcU!qtK`hk1FZFtHs6_BIq zE+ma7q~XFY64H>Cf$pO^m$5j`SJ`NwXC?51xdQr$wV(77K zd-Y0}5&luF?@+scbGoQ3+#^cZt&?9(^Cn`R6zXex<&CN>QUzf* zyt0#QBY*g-SkFl92KudZl%#kG3xc2Vx(YfY0Q=aS57qG$L+fG3WOizW-8+W>j7=Wq zEQ~L4$9$nq1HQf}e$%I8P#u+pNUGaYL&o<;A~iS@ZLO?*HXMIaB6w$?qtgq;AEko? z>18Ap+k>PBoS6er@jA9--^T25ZfuLc*B z{$n&8A{5q$>gjxqmzLs*2eY=Y=?PHYq!_^D2<+yRm;QzniYTgLBU~>gzlK0VxYK^L zE_F-glPxhOd^)Cs(b^CK5;%XX@RbNYXd6^W)o5tg%~62I-3QqlGPhRLOBoS}LJ3(P zOOC$*V2)m!+h_CDc$;8f6lLG7Ua^UZ`xkJk9bvi8Z(R=zO&(au9X)j2`EXAxiq1Ye z16l9BUY;^7XtRBpIO6h7+RZp^^ve8q_8;%+;a#NV)=;@a=a*Z-TrbJurUG6)WgPN3 zA-&gxuF~e66wggVm_z`H#D#BCTXM`VWUMbebn33h(|&Gk-A5^K5yqt(A+2#wnku=g zH5uu1DnC+eS>aAK@P8O!#+3}ImjIh#cOQEpsZ`N7yyy0Tb>hg5`Vv~xKQ`!b&d!~@ zSn&BIm^fumVPofodJ@sNgs3_SV`oiDs|o2=?$bdjnxDgyV>mj!6elYMmT7ZfW&4sJ zMExN!TeB3E*2ETUbgoWXH>1jrir&EUHxX0k2V(az6)k?p3V$vsZ!KCwJr!f&mYYo= zONyXmG}d+kHeluERHtd_8u2SS&VPj(*DM-NI*&NKW1PK_i(j zS4oRYY-Gphv-bbdTO1c9gFSIVHBuP##a^+;_^Q%aWDG{U1)pIj!*pnG$x675 z_;kg#d-3c=?R3!5S+Rn1Rhk_)EOlsX6G9 zxWOgJOie=Q==|LmU?z-1b9JM+A6jVq{_Mw71M%XMkNhk-=2d_5Cs(xkH{@-%_*z_$ z>gs2O?MzsnrC9RukWQ-)*-fa3*$;U(4a0XT5BlXLfB?$V2~kQ%mR&vl-5cSvv*ox& zTMXldp6Y9@T84_+xa}}zgCk=As}s!J7JB$s>w%$DE5Z=pT-_4OuBQ3Ui&cDU!Cp`A zLD(oO2LZq8+N^F6PXK9)EZBK2>b$jOw|DQgbe+&r6z)gVE~7s-xZKTanjEt=X7#ka z%czyCH&r<4@B1bi%$lDx&2Kc*q+M|5;Is0VVbw?7$^;h6s(j|7_0}VA+YM+&=4um< z)Pk1=nrbtYaWAw_uk^CN8qI!|JRyJeh>3UQpl9tL(3Y1x8Ao~9H8(1kEiwQuFqtme zVLy{{xGl{Riwe=z3E0A4J9TH!7C*}VP6~LHJd$xG@bTR>@Eyyo!rbW3kGUiKY*>r& zZPLVnOY9@psFBKSz)<(qPlhJEau&*nJ!BI$XU8fd-NP}VV_;5cx;lc=;;bwM32xv9 z5+A@)*lI0Nf@?=l*fB`=x@cK^JjT|5>{^z>LZP3sVE`Rc6#Y$5~DYd?NuIy*zF(vs1`x8m3Cxor>%+rTrpR?mp%Wcyw6j7|?Rl7AI&;2Oyj=?( zXFZ?>eGqUxOkbvdA5f&WzAvDvi~ZeN@$~LsxFTXaPy)Mgl~(-B(P0R`;INDO@Tgm) zy>u)a(br*Xk-A|))mI9#V(2-)tKR+tqd4YCWAH)0wZ7dy!Dh{qPYU@l+I#V4=>9vt|9yrf4G% z!L-QEDf7MdS!I5B>-Fn;|Mj+A_hRZ5il0g?Q)S9zU=F2`Gb!`d{MF&UoXcorTXF#x9`K8=qKeag@p4 z)p5J{6mmc6ArnLFeK2q;Vjx-lB}EupRda*ms&bi*hl#O{*%a|(d#X{X2@7Fah$INhc&x-@ zwsA~VCtq$gD2bP5|AV`0Z7Xh)7=3h^DSpEinF&MB*;qVs*V7-83M7On;-lDtt)}P% zS45dj(h@`Z8PoqXkYAc>$CQ}0K;A^Ek88obXbn)Ehr+G&!%2&&jY+W><&G%!2%tFy z+Ujt|os>_Sl+q}9swS3edUsb=8kcP~XP|LT!SwJ^iWO@p>wNNDB|w?%E~WOWN{4Ar z4GyrS2>NVC1q$o+Qo2bT#~n2~di>AOdB;Qj$8r37(>d$zoW0IIXM~U>?#@|`gi-;g%r@xseP4IEId41^+Q5no9`}rxIq#|MPE4Jqw za-{26f^xBo-A7uog4 z$M@SJ76G!RQl+<{Tee*DN3*{noqrogEw6!7ORKEmWg!{LDdQ1yiGRbkJ{v$F+kh7Y zMg2~ZkC(4)M9!r0+*6NLeHPanI#l~Yv}vhN4TosrpgAL+Za)oFsAoxv32p*$eDoK4 zK#{iv(6<6=&&r9laI*}o?bNT5bGJ8$D^^e`lsPKO?JIi6{p;gTlqkp_Q5x6tSO`yB zMYd+Sg7yb&#t{Lsm8}hqtM^O;oJSg4wPbCM3P~V)9f0PeYiBF7rtoo9E#|9I24$(= z+33Z-+FGKy1}JaXRX*1_FKEf|$a zJ6&6$=Y-Qz>Z(*Y2W7v`$I`MA)P@#WtWZ4mjWZl#8kt)qS7nE?SLi{Kyl&Z?!+T?QtlIB#r&y=9I@0~6izB_# z>KA4A45*NqH{lbo&6GfT{H$k=k%QTAD8#di+acF;k4Wz+S6jzM2)5K<0g&~zpMy!6?~%rD!hiS7xa0S;ole^4>Pi# z8!e;^y^P(p3z%B~xjfXt!XjMmUHukM0MA*3LuD6gS+@_P>pcy;UTJ>%Ko)&{)h=V- zYw4+Cv5AIftz=1Z`G6dtg!nqrsS<1Q&-^E%X#3#EDE{^ZL;S|U$J?xj0jKYh>u91k z+$WSki1RR0%ZM1IPFUd@_mYy&k+v&#%~JJvweYjuC+CKiUT`S#P*?1OUsG(Hqg>#J zg}XO6&Im1jVo$uhR>_fur6*vsR^m3~_y;-3UCjQ!^@0_P0RIfm6O9|^FHRS6mqI_4 zMvrwZ-o+pBaqUVhF|U8+sfM9&^f;7gfshlNb9y`hca#sYQxf8<(fa=Z7MG(iToVCN zQn?Wq(1_5w1^9~1t4bYv;~NoAd6h!0#8!Nz5bdVKvtc>!S9a}rz5uN(Zq^4QU7n;S zLKw`qr7Kpk>!Xs29XfEKD^sC@#S{)s|9vLW{$rope}Fu?y8r24-J3(HqA((>3(jI^ z9z{ITAs-|yiE7Upgh)n2aB@%jDRQ3`*VlnW_)*c$=oAaB56E$bF|~T`x(pU&#%*Ee z5W+YhG0R$^O?hLB#rY!5wMUrD$)h`YWNIz;Wsd zoJ+F6I7}J=6~BLNF1PH`=cY2?e|g=FeVc55vZ zeD$GV0gfl!CduB8dsCLGB4L=cpv=c+6$DppM)F@yr0aR*1rJfHNC#XomOA`P2VzBH z93f#di097Wy_%U7H<#l5#-15yduD`PMY~=)INaQJ%U7D=>9M@7{v(AZBvR)r z(r5am3>-&oQ<{nXLrw%O0~mxYaU$^@*zLN#MZxSePw+Wc$|jA z^IFk0zZ>CAk0RWIM)(yhuT6^Iw}USKwv~DM3&te@lj+&;y4ImgV|x?tOy{pKZx^L; z{cFGL|8Z(lDqmyZ<({#`?ZT8*_o@?z9L0{E1 zdHF2|sWhngnqK;Zd6iPtoKTF;H;I+OvYQY{0?k@$p8!r9Wd}zB-d?XaO215>&h5D0 zaha6o1a5GdaomYKa&O7if`i4A74E-wkizQHX%T8azo}FXuDtH=Vs!sG=(iBv0AAIg zq7KWi#jozk$Eb`te#+9qD=-^q>MkN&ze_XZYZ_(}yx_NdO{GqN6XKjl&+MD!j*=U& zf790PKwswK?^n9Yl-=$f7NN@mNwkW+6t3shuTP*J{QqYc|H4bU+ zQk>Zh4N4B*7dr{J2 z%^|`Prq^FhcR$bZs~iB;D`q4t{~8Wf$28+A2I^N1m7Cdx^O*D9fg0U^e-KERxoU9k{QXPJJWcmUVXDukI(N5-^Gv zPMaW&*N5{901;CWZ5CPX+cN&qsW3+!GR47sn(LTJ>vvG&C;zNWYb8ugQq+{m&XC}1 zNJ~v4j2gO%(=o=6XWZMA-TCarm%v3a*o*1f_j^`v#(4Xu=b-si;Do;{93kkLme%_{ zQqGTeE;PeK((e!DjdtDr6=~nft&=?D%TlJ(VRDAC)BY(-asIPCNngIFiz2Xrax;}F zY0-AIuYHydn;!o1J)|Vy83X;fC}%-_=yL_J5g5~@ZnhZ{H+b(*;W=ca?eGB-=AyKt z$uO>Ap69Q;^#^$vhfVW3+$WcN5p*u_EEbo2iIy@R20Mb%IIxb&;fMzt4|tn5M5a6i z&X^dzS#eOABH+^#2leMDgDNjYdNbq)XC%1MF0X(N70>QsFgAAk+)CqXP`~S*S%mSS z!g^v_wWiY-_cJ?RU_?#i!5J-d#y7v%*_!U6=$3xcrEx23J(;|0%^6vjX^UFT|VCnw|Ccdj?52M&FGXGCJ_Iu`E`uig$qwF1ERRRPuN z_GmQ1q^tu^x9vyU{=GFkAACzGf(Ru$6Q$?s^B2uo46E$pk z*-W;qL&$SJ7w3t?j6Q_YOq~Q`yyrWwN@C-2CEEx zJ|dbP?@G8e(5+c}N&%OC56K%@76o-C|8s1Ro%>{%B5<>vnLnzO|76z11*)xjBs}Kd zGf7P)28lmj$u>>1^R^T(-yXp;Rc=}rJY>JpRqSwH00@jIQ?vqaET#`zcQ+_B)`$Z$E$ zqkpeg{{^|CQ^u(SIzLu&(v@HZ%BXXZGDk-6RYM9X){On1ah)!cgZASl_4L{IjaOTV zXjX3Ker)~DuTQMj(&O&@Z}%JOBc;U#J0O%k_PoxA69g)Z_nqmyWPq%|bhPSzS0|tD z2SFv7jB~sD0{S(zXH_i72chVlFAg0~Ebzp*KW0uKZP;t6Y+r0e(A~F|-xV_J*Hu{R^T zgRWvt%|GX#@4i`7S}4VmZrRl}RSSGQ%nmBH+tZIMeUaEYSF0)#P6?h3mnW6i zv>yk}Dg|V|y1!|X?q1LgoSTdeXX8F@ zskc(z1AO7w_sU+F$HZ6m?Clu4YoO?O{!K!FkFbCoSe~xcA#n$9MpLC!nsQb@0D6}L zOtX5iq@a_RwR(8je4eqcCfe`^rvxwZsjAkJ9oe9ZI(qPuvrrd#mcyr_oUB@4bKD`>PQBquhHBlE50-l5&K z3=Mr#2WqboMOnZ#&W5Gv`10T!xIT+>XE}k6z2!Ziuyfwpsb|hSER%?+LR31?_2v2I z)V0>6V_R>+Ma-H*zPByrAlD~m6L({_&v`eA*MUh!ns$3is-K~0kvDbvjkmiv=ChY# zN!+HW@j~3~Uj=;U3~GGialGylt^({GqpES^sQ6b2bnRzCrk`eGA=nE&JyzL7MUzW3Dz@w{r{gh!sEcV21clpco)+J{a&pFI@IzU*CNd8mIO zf9(!R)`YRkmE?P8Rpb)whkB2m%-z>xUbOdDi}t<$14h; zns68-ek7FRp3j5T>SE_uP)H^iFQK*LMm_yU3x*R@X z+4}9kSwnEVflT7QOI0!slnn!WX7*HIWtCwR2%<63LhwEeS>sDHHYcB4>U)SwVnv() zP$xE@#U2Y{7K$FD_n?^eh#!Wk=jW^E&V5!wiQZ^l;dLJPAU5%6TI*SEoa3sPSKxrV%JVw5kR#Ddb_v7`dHYE=&YCg%Hs%BW-< zT=3J~o)EGv@fidZ6Rtcrd1d$Ec`A0F{yS56k? zLG3D0xTKQYV|-2F-tv`M(P9Ly07x;tMsiFbht+uY$VC<#X?mPYw%%Se$%}*(w*O>+9YVJo>OZ2WrV+D#gf@8C=O2Z{yYjdO$`RD~7ppX+i45H-Bs(d!cgQ$OBVf zzplg^?&149_HJMwb>&{IDKFK?I&5@I|Kcb{{}+z@zUmtF@*sKDz(T{Be|j$QB3uZk zMhVmFWX8#r_wa8xSkz$$a?wo=$IscFg)yRZA~y9h0esn3{?yFKo(4)=BE;T@piVK5{vZgx{)wxH?&dZ&xPoh zT|9mlHvsxV^POv_MKv>p;_o<6t+ALTjT&NV*qJzlMK-Lp%0Bd|baRI&1j1FzH(O_D zqA~^MT?&_^NtzC?+%hZUfw%pBQCjNPJyl>W-E?x%7u;Cma@an)^G8UkoF)%YxQbFW znF(XvppMZLcI{Y^DpQyicd-_J2jN<}Wo8dQBfv}7Dwb(NpbS67 zFirO9K1<=`sxOF3ew->B2(GTaXJ6QE2$}j5kUS<_n@`zn5CTRZe;ohzz&D@oALI5T zoEB}?wsk>kzgJ%H`nquCsi^F^ir9WS4)m~y@=LC|Hqc z#kGid?YJrF!F)ef$IYrn-5kj(snMYp*QFHuetq3^wmlay;hFWZ(?e7cHG1E4WJh@- zY>YJn*3vOfzgxn6k**{5AFyk5Tzvasoe|0&H373_tgN@lGRw$suEb=#`!RhTUA6(_| zk2Obo{sUYhrE%p0)@LpC9}6ct$`<-)ES9Z~p0-yHI2_25`%tsg#&b6R0p;+Wyr|~) zM6QlW@;R>RorCq?=#0Qvy z>d^@26{T9-%2r?gd8Bp%2Es3W#}74j@-{dN`Djk5{d6{;7f>6Go*c?Q9anJnu4UhA zTeXWm7Q(4zrUF@Hj9gJuEJ7Rof~3umEpBtE}7>PGo3inB@<>Y!9 zb(>=86bK*couvHvQZNrKkT0fZW$CS1yucnHpKT}v`J=?}kjxDh0cpyg)?On>s6`7- z(;?>pHG{JPCW9B<^xf2KcKPE0j0z`#=dbDh*Dpa_kp%UVTZ*m+<-I9a2C8-b<}vQj z-{}zengQ{KtWBos(!i@}qZvh2^UEi{9I7+)UD3&<#E3?IyAFz~gl4*R-266wLGE^? zWul?5ld?HuyttL+Q7q62K5QEdH0wJZLErEB1@$kW^g*-&HrJd%O|H%omV7epjXG&k zm>tgw6{JR-UR%M_v$wv-O4j*mW!zW(wLL90X2K2VdYi)T-P=qAjo}|EJnrWH zmcuxoG=*#u=zU|NaD)`BzW4ImR*3>0W|yyhtWonnplaBxP4q&Yt8c{({q)PQ5Mfgb zN3AU9?gs@RWRq$6xsWd}_<6aw*(}iZ-4h@4QAznb0@QS$RE1*g->R7}a) z!T`fp{rmSM=2CBjPLwpCGNZ15mQe^)1}kP*w5Z4DoIkDpv2(M4*G5atR0!p*{^T!& ztR>Fg_(&eKaac3$K_uf|i<`_5`0OA30x$DmC1k)&Gvaxnq?okk~dWH8)A{ z*Ajhrw^T(Fl&vChA-jU!pB^AYAM>~257;jAJTid)RU68o(N#Z5n-2{?Qw)&&8cNqU z^Ag-Rp)2x`qi)D*x~`1#FpVC4Kh`95F?+9cY3PfPodu*vlVDjO$f4IJTkKXXI$!LC zV-;8jHNs>3EXLNH@!V~2>cq2^NckCXZ73?g!b~$-6N9iXV-VH|B_{rO?KlI8*A+Cw z5j!6ZR(`BZ+;HS{G2cZ*{^_SDQ)G;oxqowooU$r$MtV0iR9w)mLb!0Q=gWpldibVW zPiA4H0F3}rLXPEB;i1d|j4;kM9VKo&u1V2(&m0Hh5?b>^qx``gV$Vk9#ywu#S`k!u zpw15Y^iB(QKbKk)6ZfYc&ZIb^Fh-$B_8K+Q+y>!reF35WThpg@z%~ zL~FiNO1_)~N2HXqfZ^Be%LG_9DP=CBNz6*o^gm$YKVU`Ur-k;INs#&H^b(jeh230^ z%M83X8#KmGY_QL^IGy)90j`;E;dA1XgDNF>d$imuRKG$Vta{bztY)2EHfW=1B{E|i zOXxbWxV>kn5~v$vwWdPcpNCA!I&;ylqj|RP5e!vnphD$7ar1XQrhI7RNu6e=Etpu2 zA~jb_Ut!YQy#;^SPl`)1fy8G^3(_3t#)1(u^HgLJyuzXEyMjoLHJH&%(;o&=YtBkCvj!KEx!y}Eq@i5xHE55W`c=jFC)>GT5*djY7SMGYvXWFd;O|>GQl!%;k)a^_l zKCAMd@ja=Fv9%RxqprKVq#xBpm_IHkX*Xh>|IShUfn@|Ga$YD;ds~p3xn^IivNX;g zj?*^(X=e_n^PFX&VUqkSURz1shZ$Zy?Sl_w=fr(k-DY=NTa%lNY4yBbw%e#E_3R2 za_4WUwoM^Nwxd95S`R3<&ym@vIzbjQzK%}{?x^gS=CdRy?xuo*W0N?^`uUnscAWAW zwY4~QW%cl>*4&HMhI43_mLMpwI2Kz{Q|2Uo(1$^r)=mcGcs5Q|9LoeHfE;lUHn1r_ zSUExnXek7Zahv)G+>C|&9>?XC%3I}^Zr0E^iC*Bj)aj16f=ShpO_ZePT2YZs%I0{+ zyk*bam3JiJQus3%HQ-fu&7%jDAax76&&_WSLvM5M7{aed>+pOclhJzjZ9jOP$x`Jn z_Q{U1zCKJ8^>%F+*X+A`O%UVDlgd(13Ym{W3f7d!aMRr;E8Z=;@D@#3S}+S7jb_gq znOv|+!{84^6JSzx+9)%<+6HX@&&K5mP*K}RNZ~DLDoFKSNnt2GoMw+k|ZW>%;TH7}iMZ(^=9XCh%YX0i*n;mc8Be&A2@X zbSc|F-XgT5k`*kM$q3quIyG9IY?cAnXpSP8Ikje49$7`$N)p=iPooL6ar@WrPG$?rpem)wo zUrKYw$;!U53|LF6CCpc6-0j|rI9%rhz||>2l$tjuh%*I4D6!b{lE)M4&xr|*bMv`> zyN=O>g=!-zLTSIHe`E61@^-j|1y<$Z2dn`$@tUdnnZ$%Rjsd0gU9HN1yY?46EwG%C@I-M-< zU!}pnYcu;w%I@nG_B@+ulfD}=t{?TBS4rDrv4VCZwHl~>QbW=B`A8^8FP;l;eRXL~ zcR8ECY|MW*;PUmgP)Bl z>jtj`kAs@Hwqu>>b!CyU+A_{J^4Bp(iD9g?g_uLIdDcTbMYp!_P8H^ zY5yu_T6`K{o;CP=M&NAmZ6cmmUT~|;f5GtpvLR^s;>Py(IS{#A7;W`_C{S&)IKJY& zioRpy>4J6Gd2z)`4Vsab)#sL=a&Iceg)_o69tcM(=JW2#z{fYGXorPaizXF*VKn`= z+nRat@vNZ}MN;R4dk4{a%pQ4Ud?Ll28xmp1ieCvAQlw81F2DO@Us`aMoS%wrr|iCb zk{_|pVs8U?pLRo;M{Nik2xkoR_UcRL69h-a$EEh&f@FqS-5-dAt?-V!$7wTAO$6{^ zC2Zn?&b$FWI-VrH9uKIZc57AdFSZRxoqO<;97U;!lA~9oa~Ep#fer!(&|sU zq-RGCYn$Rln_Dvu)e zV76ynz6I5dj>-ux*i$A0$TXLi#(Y%fBfBX zpahvIt4pawVqyZ2^N~6GXikiIRNVWr+E$m)&mY3MvH;NuMn6B~btyuAgInN%epPNt zdr>@W8?Y9HJ1m$5<)TqMwgp`Gr7YraSy#(Dyx2y{_P{iV1&LMprzO5B(GwL-ju%Oy z^Wgi$M$y%$g4el0jS4kVVe6m6%Zc&_+~Ou^x>|5yU;3L>2@BW1OF$4sJ^%K^kjTg? z%nhuT_a7h;b%fN229pb<3OW*QVJ0~J1e!=Xmd46(2X|XsU~$S;-Qb9lIt(T>e5+C<(1!SPwF;`7uN)teAP*b`Gc00Agi6e%f90SqK@dnA})gJVMQePs=qyP1XfF zUxXm?ADW+1-@SXB5V#rlAHcPewI8`ck;yq*8@?}j>q`-5EXXXq$|y&s=Iew!h{S7z zBxTQzKVcXIwRXv+{2l9knTqytOH`cky8mSrLN!e#`n}^mAK2;Zc%3k6;mb@4W3My= z5;O)!vuu`2#4ITTNHHs@^8^o_8WSv%=_#Ts^lCVq3)?T{9rqO(vL@nakY54?VD^ff zf44f|q_ojoQW3$6tDcB-_8m|zu*f&5mU)eENWPSv2XvQ$^fk*AuM2X=0ivyAKCT_B z#c4S@Ar-9GHhPEiK|sA~(&=C448xlSTuJh-hh}rPQWVs|GozoHMV}hl%M9?X3As+K zlN_?+^G|vfDo96H<MWVJlTN{cx8f5&c9?DS%_UrZyHY#(iPOP zxL|h#h3?cA&pqqhL}3U{F#A} zRMn=+Z^u=strQEhQI_Y<2edw%%yAA%7|Rj-{qOg!AZJbSQbI-J1>ePE^50|WX5;&O zj_5c$5Vy*AuhA9z$bs==s=$r$zn`v0JgeacBN*I$hK53Jqmba#g$999Npj#ViXy-* zZ~ge|c(9GVng&Qr#6UJ`7;BOQS2~Z1v@7W&6O_ChLqVqhF4|oZ77waW)cu1vj)Qy? zid9&U3CK(Hi=KBYGS$2CA-f~88uyfUGZ=F9V(Gq`oP~BO_>6@`ZaF*=PgdMMu0nnL zz(mQN?xLEiaKq>Y7m=`Zc>NeV@o4SZ!YLgf0dJJvOy^{+Ly!dvbVO=ztp zw@&sVQmfE%7w-PO5{^&N`{Yp(3hv^UuZ<-YWzU(V2ptO^P1ujqfZ0T68$=f2!ZCb( zwBN=n|2BnD#H7GNHyP<<#59(1+~BH9d)a*3P!*K?P|YiOPg;ve>Mv&O1_uig~ z_Y$P9e9TudcZ+YYv4EE~G87l23>h`<-3TbTVx4Aga(e>CTNCP~7B!;K7=YY#EsY<2G zW|~`f(N5V*pSA9t`SUZHP=CyRI+{M2kaWzWK#bd^NYiHcx(Dg6S!*2#i}M1%4d;Mx z`N+h)Ajh1^iG}iFsoS2&`=i3vm9(Hl&GM~cZp<)VN^`7bA`wEu#cpf!8jUF+KfP6S zES|IPlBv3ZMR7T?g19F6lk4#}ZCf+*Ups7gsx^a;U1&NSw)*DoeQ`*fjb%)_tLKMO z*~?@Z6$(1ad)d~iS8pa}tSS0#30HuX?D<$hhml(fO`sYE;o!6ylAG`Z%}}w!9X0hL z$4fxt8V>+|s@D=!|Iu9Z-QJI_oH%!hsA392mpO*qh2SlW+2W+i09)MXH*Qh7l9%lL z+2EoiZVojp@)}v3V_{BWfq9M966lq`Vh=uEWr3M%b9w#xP%bCAKpCVT51d3S6b%@wWHNEBOQ~RFxjRlpA5PnS;Q8eie&j$ ziH%zAL=C$6RhB`j8MQK_2OG)Is{q-$ZYJp%Is33bZ4tI=1nU6)NJGSXK z(m>rfIdcj-2jK3@@v`A8&y3KGpm~{kcCoz$qa|T&s>+da(*-*7~qW^4ft=tll zqtoX;oi;C*=gnc8$`|s9jTD!wA;5AQL_pFAxjhBQ@#6OMGv?^)&F9FJ6H7QZpWC)p zf+}TAIMX*Oav_xXq53K_?to1y1B*5<L8d&0nk7Enj4)&=G{+hv8U=ghjfEU9Ci*$lHwfkyj~70}$#WF^(q2glpV<>;52 z2}%w4vsr&o*M>FRmpL7gky~0@koXkXY&Z?B0aFg6JbtpHilKg|@#l=%&}@j3+BGgFh7cSOU>1N2s8AQ| zclp}_DupG+CIkv*6w*9no9D*_mkcj>e_|@Ao>0EZKM|{x#sx2%3Y|C*TJ!17IV>YP zhv?Pq;0Ff6K-tTgnib-t%-rih+G43)1s5q;J;o0xuVCr0;M&tK~-=Ce9{;Nnhm1{p=rEM@<0SZ}Ie{m-_Tw9kw zKHeUg#FVqM3c=iSTz#JRzA6g&IivtZj@)ie{Gz(4EJ#a<6k>}W|inh!U;t&0@!S5TM$ENvm zl1}rS)1Y?MFpmi2D%b6NiU-c@ecso|7pThmD~GwAUF(EGA z^ON+%GIA!mfBL@5?L)DMg?QTN(J~YBXHs@;RVSxonE=8LBCn;EWPoK_iARD9TfX6& zAGYU>4|N z?#&C66(1~!av$+IdjGiN-3r&KY%Nx|1K*ijPt#8NMar$8HN73b{`%!@9u^Jea=+3utg;5}p36puvqL+;TUZCjl)3tY z2zXkhW~liR$YADBLtwMw`$Ne7OkijZl_2DoZHi7^igB-wo&&^v_zdvM30g35DsP8z zVd;SstEZ@z1Q)Eo6s-SL)ioPRtu@JxFqE*z#oa0!ar7H;c%FYj3Vp=ki8tud6$bU< zrAxLij(lnNJZu;q8_^^Q>C%2$+&&);$^rJaj~J%fIrc>g-JP6q=+{BOPrhh!J`=5e z+*oZa$U|}x9Yn_*<#}Q$@cP$%4~a`n{266}yEm-ui@BBZdsb2^_iT@*2^ZBOAQkbh zJyn% zvhy?cfAq=LGf!`kad5ADU6fdjfCu5Rt#N^*DYp%m}=)*ScBp3+*0&5B4JQ1|x| zRVl?excxd=p2|9Un)P)8VMjjjfyx06{JDv{Cwcw@vU1-K(;m_(;+l&_xT`E5LdR&= zu8dB8Ky#8}i{cTCUgWc4+rTHv(1=p>iV(qn!g+FEs5dflmJV@&N_vvqBf-aL0^GYG zYJHs-L&u(+=5$?j8^L&VSXS_XH9GoOBW?|butiJH2sD>qWS@{AD4R%VJJdXTr-v3wl@^bUGvsgWAq;$n%FFQ^i0L%d zlDUbP0QlyGbD>mCx!Cg0^tfcw%tSn#Ca8ci)e*0@q;c#o#SoESNba>6p{`W}In_`T zna?c~s#m@|s`O)xj)|?F(jPa^1>t(&N_i+mGsWyfl|Yi?*^l?!f)wQ~h}9q=uQ%fZ zjW5%|gxjQW+aOV0{CBDVPdhrFVwyv5d5l&$3x?(3s#!P|LsupR&(|TQ*f1a~Tl$az zXWPo+Uj$(Md91(X6#*x)XIBJ{{*6gEbA z#e?(D#gC=WDcp$o59ljN7%%9-laG`i7@4cW;<~k+N27z*6+&G@C6JP13TMn#o~Mlt z^OuROt2tk+MX`{)Mlpgj7u6u!K18OVRa97j_-R>I{Y%4FTCMtj7F@nnJ>LnbTynkt zGMO9}f45|WE0?J%;g@{P7Ee?xAfqkqYZXx|t{bCJDimfAxc$P%@8*QH3Z1)#zaif+ zAfp@Stm@Dq!1pHz#V+kNX|(Z#|B{s_=k)UD(Epv^N;F1Jl__M@9^_%LzL&z<4jEoO zqOb%`8s5`*^X`RrdQF?>HbL>Y&qEbqPF-3Vd0)>9%BGIO%UZ zX$FCMC8qJqCLLa1-XpTWJhN}{+?Eahe3W?NrXtrxEijasp=p(=% zQNU5U+blO6@0{AM+-&Q`LCEO5yIg@qMJU^lLl6KQ0eyP56;@@eHk^Hxd&}`bND4_& z3@Oe?Zx`{8JrDfn8FA-W?y8Qx;%b{*VmO(Y}D{9K!I@V)Zq!f@73-gy6QQX|qWp zIfa11f)8rFrUAM8ai(@cbM9`#Jsi0vMSt&u3;ISvuyE6mLvUzyUC?N$k!oQF0lt1A;e&^J&7& zAU-nEbyD55chl_N<@;4lJ}cu3uce<${IQG1_2<>eUFjhn+hX)Ag;$&dkLdXa=tOUG zMiN}Qa>Qt+O-XrtTo})jP`9gKX7{~x&9^xfAcr~u_M%fzo-C%F>$NZ`vm76ct_BdYgl$gr&TU0R~FzQ)+ z@{ZK%_vReHD-^O4qq9m#71g>$(_4zUd+#NXdfVMgC9m8lvdEZ%WCxJ6{GYEHD$sK1 z4!uI#IszMbSpd9ICxqV9)L%J{q{G_E;!u4T1yE*l@T@p}rp%pn&gUrvaoBeWh zHIMG$Cc3NqvGCu!fH&Xd6!?pTqwsfiQiGOrYfUq6^lWg?tb@QH?j-ao95rzF6UO)M;kb z2OBJ==2Mq6f~^CSJ1_!$+JR2-X(qz-m4w!kh#^lkWVn0RlIPxdVfw|W=lHU4=ce|U ziY{a!QE9Y67av+aov_ON`4+CVPUDw?MI=A*ISi#Oq%wGRG)-2Ezd|XL+um4U$?dJ}&?nA@q!vRlxbz6BcjDF)M ze|(SrI$gVmM?E-FDqA0EW&%2K;Xhz&9wjIP68~i7@}0Q)b%NSgPWb+4bwg}HviLxg z!wsJ^^t%;Rq!}HE@iYPp$K3{nqCnT9B){SLmj~mz9kMT)$6JtcFJ0abvy``n)?I%p zF!#+P8PNoR{0F>tQU5SwJr^7rSCJT#1uMjSO>Jxnc<+#$!{a0^)Ms^5FXwhF19Z4l zR>ZiXe9TZ0BtV2p$8G%j-P8{Q4rGB8u8sB*UR%=$NP4U6>@F;;yn(fJO!MKrKGnxM zhUh+agep{*=KG8;1)igX&u4R_4*~ zGBVgyAwLrLn5VV+v>mzm)QKArvl!4vht{?pniMxLSyO?P`w5fW+-q*$2c_)`n&D^&tPqaOYa8T^zE{||Z_??TDnxoFN zY*VU!7d0cwArLXD-_F0m3?P)M>M-;N=PSY~8#?hP!Lq)6J-b2Sgaj}e1_k%XYEA-F zmBchlxN?GTZ^xi$X`&bql8FLWUqY;N$!}_NHi}Z)14f0r4!WWJ1a3bM8JUtNl9twA zTb0UqC2U#O18?6<`>tn?bcrCgCn!+I88` zAC{4hX06cniMV(@2RH*I^p5{hiO~C54jvh-b|EfceI+{`{Zwj?Yb6c}g1v3oo8 zqXLr9)g3Nb$@88ZA%zD*b(|oyhA4ye;t2YE< z#tUmka~{G{f?Ncl!+h2#oj(32g9?^TiCR41MyW$>QT7xbEL|>D2R;A(O{7t=zg8Ia zYV^EIKBr^-AIZZgFs`kvFEQ9=Tfck#NGY}qr{c`8lmE{9n#M>Zmo>(I(KV@IE%WL) z3n9hS<=&H!O^G(H?%>G__Z{^s+lMYh21_|1%r03O4NITrO~~Lo*P4_rkV5#XOw=5$ zzrat4It5Ch^xw{RgJ>StDwCZiti1V3oi)O^WlOjy{Lj#NxU<1VQ9Owt5+g`L%_LUD z3PoF05@N4}n59N(gANo`Rgze-M^RLXy=T!)%&IQCI#C@)2de#0^z%Qw&->ha&pE$? z@$S0)cBYxUq@5+28{81(X(Us)%X@cWS7MNCX79?YWg%N&BoXE(Ae`KBxck@Vr}hV^ zSdYs6OXZqN(jh8t(-v{17L5WQPD0aSGm@fabsI2#3yJL&s+C_oW)$-t$><)4j9E_s zylRp1%X}hX`Z%SfxrESrdn}HHV!p(%U}V5ovo8q14BVkEiSJO4U)__s|#&5|bTn(yb`A%Jeylc1&KqU9*w zdQNV6)7R^DEa2&iyU%D*6E_Cc$H2t&u?0iH?_<^UO>hw{&+m2a5lM^{jHeygLnnt? znLWWp{e*n!Q|o+3HV~OU9}_9gPuUTKKoWJQtTMKbkEnsg(VoX=Wf+7>PModH#)L;? z@Hjcxf?CnsqY))ohx@uzP6gDS#Qi8^oZ zY<~%dD^dd7@)6bUvsXOYm_b^V{dlq)(W9b2g~|%>=IMxd5Zs+QCC3pVxl1OvnS&@P zfF?$;#SinCL!|Ywu@4C<(DQOB3@^j9ht0C?J7ZJ=S3@%OJV=qd6nWIm4yMS`t3q}K z3`)g27acWWpu_?WKgqqWXnM3mK)1rVaLB#R6)={;l~fSkK?9{^Z+2zd#+W`i?sZa^ zrQ+m&C7TOUj2^7xU>_Yjv&oU-Unk)uzSgAG^6(P7e6qJI!g?l>@iVLRtkn!qAE6!i!LEatOSUlq+RHOEKa(#`>C;tv^ zl!JXamZqDh>YaP}SX%H*A3R)D2)V9sYEZC6R&@p$d`xc9`bQJW?vuJ|+3eX7HR8mNDabqUh&O07GPX$F^@ZDk6MT7>C4JUp<%oiwuo$^focs zGMNLX(k?FWaq_72%r>?Ks19p>L!QKcK{ehT$xDkf^et*X5tLZr7IQy{G)er{HZiN& zcPXYn@?8jI+= zsTf`D?EaCmcgbVc^PHqg^*IY~sB~S6=~vmLM`PeER@23)890G#KNib(4XW%QoAuIn z#7hFc<;P!pq;P+uutvmW=kD2O0J?l?q57Vra}k$@Ul>>Cv(c)|NK>^G8UpC@SZ>Y1 z3rXpmEttdGQqb8a3XMJhxWQ#Dwl9yaRT8u*w{hS!y5#Whv3xU2iJoLW9#|!>qr;f6 z_cCNkjR<S1qmUFSc_6M#pjhuLWhm_nO5ws4W{5`J8j9`EStOW8 zHg@?75`E{Z`ECTv_;ruvX}mLb1RAHYd&0ROJ?pQgbXxm<=_TGaRbYK+Mcm_SQCAB> z%ZU}mpF!K=Ff1TMwd5aQxu?tk6=J0WFgp|JaN?~3cAOT=+PlIU5oTIrfDHeS>n;r$ zaZC(MGc)Uk5Z%;?myjx@(WGniCZFQue%0}9=>-X~`%E%lgVy5dT;mQl23D6#nYUU5 zIzsE?@I>#MkMkoLl)JzJ@B#P>^XaoIko^llU$e)yxRJxYJVb7XB17gA4D3_IhTN%5 z-g5dx6K1m-REVdTlwXOXQ`5k4_N7rHHHZb#aD%qU$zXzfunrTT?v{Kv$QV>I3kvJC zc=83$%g$A|DwYvFP3!iqK8H>?nRx}``ibiqn%R%3T9=!8hA^=@56Tai~n)!|uJ$`pKE&6r1uhKRbQKc zhsc>L4bhCIHjDUnmf6m*zQjfX0hkaf4u15gP7U@!%x%0zBnOlQ0F@0xQsfn%{PC}} zVLLB7@kNavGfI3alQ1ZZ{1P_sn!tf)jgaxBw%)nyHXs)(S|!HSuN%GTseRjmHcv6H zrlE-JzCe^uyFBZ@?GeR`kE2)K>2C-^cpP>3Ha^pJL`z(_t9VR6YV_MYJiWNZarllb^U`|k&E@6Cl~zuSmNM``2%-|3_< zPJtPD#a|idl{V_}d;i90g|C0*Me{J@FO3W10i;;6n?`^6_g}~Q9`+Yv0%VN&6q9bF z{i?dsemhSZLhVN)1Og-F1n5clgp)u%$e|gaNAJt>2tdVyIB@Wls#pSM8ji&X<#@_YQ+m6AjQihUf$yvm9bLgXRjk7QBFL zUT>69EMkg6gc^4P#R4K*q?VepVKG45V54O)NaQalsZ(uMj+3raWof?^6`4hXg>&BT zn#G*y;643K@$UIH${izPSUB+%=%Dk*8gV-Tt@cG5P!g4M3X`?K#Tfds9~3!K0bHOn zLd@teN~T0fGX>0lm|GAH6lT^7b+z_boSD-SoVb-2@B2Lg)Z9;2MndMnYtnSd4)I&2 zLYK6~^RM3?tJ8BT_bZMP9k<`e3t*Oo@gP${jW(*6s{Oi>e{6n|Ah2mBkz_ zSC;QsY&iQP)!~f3p-Aevlgbj(rS6`(NM{u5XJR zIN^&I99yvVQ5Ku{)lVJ)vx@fVdDsgc-%ok*@*pk@XfbKTxmY#Kxe438=t_CP=L^D| zH2bz^gPkTI)cbupZbF|>rT;|K{qKDF9@hnbiXFeX^1#HQ{8 zVlNMBXB1Ss@*kt%w`1~oCww%AQk3PJx3=BTo)3}MfLJN{OV7g2i)kK1@yU+CzFjEu zsVHdv=6>BlnWy8@)#mfrX@wDh$Z?EMSK&3fHveeE2wg|7`WQjkqAxQ+f+5QMZtSM2 z#V8SFd!=}EF3*-IcPJEqGH+I-h>uxO--nuiJdx=-CthAH=9fxnh zB27zpU5Bl6-#ZZ2AW8S?4?-0#Eg39sNrKpr237q1jRLDFAD2-JvE{|2<5B z-`!z}p9zk?eOb&)d|1B{^me5O+n2}MWt0b%IU$#6_`y_Q6Rk@g4@12Cxucdi9dp09 z(#&l^CH^~Fj=m`e!oX&Ap+62k)2V=hB{@mTe1}P2o&(TFO#b`EHI>}AeD*~hLlzl7 zo8zSXJ_SN`>lg|ANEVt(t4gQKu4syAJXuR%)?G}bqU*LEJ!YjeShNmvM2Q3?pPdl( z{)_dDenKB$z7`h$HD@UCGx!u8p#3r08ITuS1&Ds<#DePLEZ>7s5=$<9!~ExMbdnb( zPs`Ww%jU5`V?o-Iue^8}^ag;O9OCSjWSXvi7NVkof(%ABF%$tIzH6Nc@(_u(38E`1 zp@u(;OsiE=J&1*g?z;XKhnpnpiht+H;!7aTpeCsT;In^!S(}wgA{|UtcVez)N607( zCY3q&3U%lTiAqwuO*cWMYRQnSial$BssG`LjBEi9bGtJi=-t}|ZIz=r&t+|ntfH`h zLy7`faLjngrDySKELEswi*fp;XYNX~e&6~30V<(slEZu{vPHWVwqIKj)dODgo2GvX z&gLzcrRW2upZwZfLw~lCt_JaMUrjeT1mv%P_y4v-LI710u-C$BY}{^-;)y8d1_+Tj z{OEB%E59rxjd4-z#_<#MdJ`E2K5hJ+?8fBH8e0i7Y0E1ro%^$`)3JWX4wT_jKknj{ zz1e2YqJ;I%4Fst0#9@xboMPV{-dm_=V%)!m_mSi58Lel&{Y%%(;5;SL6nyv5SPiSt z30#OGQfc{W(2lN>8iT0n3XkAqWwZCKX!3$;f_47V6Z^b)5&}F&|1t{6{r-Xdc;OI z#dVlTH{k>MEDdEWtf9b+jtXgYXvM9Upr23PNRZ9@6tFwJjCC~BIf-Yt-mOqW(=3&~ z1~M4ev!S*RY)&@FcWwGQ+tslNu}!pV!OnK+#firHk()$Gf-@Opyd-Z~zC_Ii)q^Lx zrfr^@*!oZ37a@pSa;5{X*n)kBAQR|52i%Z@YMMl~>f|HSupWKtYqNsM-}Re{+9V(E z{!9!1YvF+F7_gIn_o%R8@xd2n;1OeKoRiIT1U+Wz(d+31q5t4S!C|WHl&80$e_L2d zjf)aEx}nj7IttDfSFW&^Q>YS{(UyVDs)i1|4-o@BfJ=Jq_I+lXGZ5XxAz*}~W}q#> zgqjU|Z{BvTZxC=3TfY2?B3f#jYj&KcCi%ZUpF*?*LY*}RK-}xE_9Bj%+H8d!nb8fA zV6ldka^K8=pL?pB8oW1<)=cvUxXE@c$oeeL0iM;%GOa|Ix#V7~$o#e}Iauct85}iLwFD z{W%EHWaR~8UdjAHZ%9jo;@BoE?3Drd@i4KwErmtjZEP&wffIGoJ8o;&K~;bgHjt`+mjCeh0*#^z*Op-_9lgWBs2qkFW1N2N@<#LHBB3B>$T3 zm+vN?#06dcbw)k7$5A%*Ho(|;13lF;2;5Cg43E8{S~O!&qqP;Xx}0k)01}K+cBnSg zUo6;AUm82wN5M~QCM=kN681&MqjYcc`#tS$b6N$Q>tGat(q>ZrW&v5#)gFF1%Jq?_ zsa!N(P)JWQZ($*7KG9F;{lKr}BSVNMu4m}eWGEWs@$`5iK$c)@mT2stnTk2dgeaQe z6~f8b>es3nP+^vZ6aQ~XfPjx)VgmmslrY1!j^xKZuW!hfD(@i82EGXItNTqnOv__wmiYGtM4Ibl$bQ|TY;8134 zg0+0Aa`o^@ZJhbISem~ae?vmSK<`RiENRVhkVLMV=fTLA$XM60HI8v>qp9SM9TXE3 zu&*@1lREQ+QQ?LB$i;9*TLSB>Bmh-njNXm=%J|)zvU^4*#N>Nqwv??-z1Z>;2#1k z-E&p;2NJKa)DbX1w&~Uhl}g(xN4dAQS%|OMJQxZcPbwrYpD09=SM_!ztd~!HSGaBo zX@^$!Grtm!Ld?QrtqJx3iI2*DL?C!%&`iWRr8e-m)U?TzzwCeC1Lxg@odtBwQ&I(- zD$or#thGjD*V5?C0ZrUQv4WgnV@n!Px45u)=yUYD-#ioaCpfsSJeIGmqfPBF2pA`G z{=#DJ;bSJcYFNW0j9Ev#R7;Ae{TA$&zXo5LI?%0^5%}_qZ(hY=f|obi5Z4ePGQpKu zGQYy-0gpdB&a-9r9}YoMzYXB)oWAIKX^!929$p>bH+SGER{+@Yln8nMqB>-q8A)(! zNHV3SdA(g357syh%^F4B&91Qxxy~3eEajKbD5lFs2fB-RGgCh;5<$=ldSBvtcdy(^8&l(|0Q~sxze|EdPM&x-_EEB00uqpMfpQN|eB=16uhf>|*A&9% zZ2DNP5mbMP;}j`ht$hp%OF*fOq1i^ZeNKRouomXlvG|W)Mw6}F5UbRea}GV9j={&u z%g;P;x5)?aii%11GuM0c4KGVMIRoNbc7GRn5Qo?raB}m08TI}KNJ$;k-f+>W&)Vl) zV1IS0r7hrf#Zuv=S!(QJkgj8fLKt3E@bQDSXS)g{-3u^2?1V^sP?(N-K?7|hzfAV( zQoD5#+&Z#KQe+@}oQ*cecN|j@7*SC?%p%kK+{$9G0}Y9iILFOK3vEOH;^_vKItKUt z2zEva7-9_u>dSndv~5O>gO0!AlK8&gX1wVOnC%{iATsqzBkLMUX#H|^prA^<4`0d2 z_7gBofS<{fYhCK67)v zOgp#?G{BWGPcVs34)DM!8igDWAb*Q*$~Ow%h=w0>;b8tqzWs|WdYRYojXIHa_9ycp z72uYD=I~t6l9wzyi`L_efe+AhJsq4>cUvCa?@^bBk`2vNnSB2M!w1GMR@;a@QsBc` zp|ZCoAe@9ih<0hwv0yu@HXXi&?%S4YTfgz?Tv&CKK$@@{2_tunjyj%%7J~^z88Mb&035uf zY;KVH)gW@4xonYo$i}{;>-Rw4>4SE}i=`G&J+yvvZfT6MzA4@PG|Bw6%8@-;Y~wiP1EFjCp{#icp)wh33I5|AxP^!Zo<~w z*IOp_WLnP6bB!5>0V1!qWN1#2)BO(<&n>itP(&3Hd>i85P=0(#y5TBPdb^=E58gt_DkP!3}3Hby825-)9in9Lb z3Sy_OoatB}e%fU!thkjui}#_cHViDfJ@ED^!&=|As9=A7=K6eRYzm2V!M03PF>65O z%2QUB-TelwqpQu;3)E^U(S`d%ZvpDFa1E`CD7Zj1}y(1{H4%*)%g` z95Q9dXQcxk;+eev061;H&J^#H0uRPuXeVCSSd-nJz<(oNqN;HIx#x?SLfc=L zyhyVW+CkZ&t?Y9l5JFBKYG2!eDcXuXd?c^I_4MZUiGd(Ca`1rboq5+64VaYFC-UdJ z+^JzKT(}Q+;3%pv#v}ue<`T_@uFjuvWZf}H>dD9N3~i*%uT1qOW&HWn=cd^SR@H|Y zN!U(9eU(-14*eObGwE)_m`XGg66K+JG^!PE(bgs1C`FbAx%tF}z-p@jILEBCIjOE; z=l!V zBx+K7wa@#Ftq}XinD&K1-ThrSOc)LxSxM6U$FiYX5iP0MF2j){vQBTnfKu4 zr`2o~A~CnT(@*csG7q*U4-s4|4^YAm@wuX=(!pE7x0yJWH6MU~r3WfEHkLvOYWOX{ zh08z8a;SgZzudJ;u}dQFgR;s!&czbT($VbUOfttpAu^xJlv$2cR^ zH)y687uM)mA$I^SCZHCuJSfA9*TT=*MNFK(3DkZQfTZ^DNm=^wE{RQO!<3&H1+O$4 z3+BNc`Gn@@RHwebfFDXACKk`*U_LkNXcUs_4c9zYKBQVqvCNw#JpXGp2=ml?vnfg) zopKLL<=_YwO9`L~)&BdfLnX^pa~?`xK_tSa*YG%@dE}c6sYaU`!-ZWqk2V9EUOls= zsq5EfhHASUDnPn_=ShlcLVX_k*EhGy^zI`_&(Uu2S-=?oj+V-%sg0qiRYEs5z!&0* zTt}%p>lR`|p#K0zV}gDs%yPkcWy4#wLkiv zjyP?kV2&B>)}QiM8$+CP`{F1SW)JeUO2-%y&8#);C8v%DYNZG1;z@>q$qRovJ_8ah zrJTxNF6I%-TtvY3VJ>F*LIqzB0yu?7=yt$jlUla=P_j|rR%D?Gh8+7Ec zLC#d@^hyII*ISYyeO;{lAE4oT)}7}_5jujw$ef6|JeqD2L_P&^7940bKhdA!sAy4v zaXGYPG*4uPAY7!{DMm3`FJ|PeiH3;bv*XYC6%XsGk^`%<4zu16t>j`+IxXn!hsqK1 z7#~Aijtge-EO?xjspp8a4Iy4;`d8JE#a>apAzeN`C*}QEi(}eA5zG1q8p;Rj-Q4|R zx78#7sp7D5OZqf_xF9{Jyj&u0Er>|27pGV$5ro?g!nvOvU%OR71TTKsDw`Jm2-An(&|+q~S>__e3a+L805o>E|q^H;JqvSc31iFV7dp3q{V?>a&C# zQxl*Pac2txKHcymiTxJWP)XEuxI!V8HMwR^4b3nCK8$${%SRg(&C)zUb+V$gdC$Lh zbkSozedXEP7sQJ!!}INU2;ZV03bxregUb3heZpILYc$?eLM1bzM&uOiGp@KMEyuoX zUC;1E9o*?+cKv!Nr%=$e+B|m6T0t64F46TFCd(hiQMVnq!p%rn_7RlGHF&IXKV z1_upXsOnaXF1Ps|cuBlZrSxea7su^iyl}hpa~~u~InQ=>*)rDr%~T#e3F)M0Qu9Xi$suqF+uTM5q8}{A+ z)v-n*0G~I&*>38A$qhm^C{E_|IXiI{{=AA-BBI~`&)XInCy-3SR_;=d^Rd92--ZN{0jmH3E4k1!#Dp5LVc37jT&Z~LY~~8}=7&~Y zDji^6B5};TA$2?u8^&v-OwIBf=VU0x_2u#1NOU|-NJM>x z%fz`h@5x$yo>oxwlCs0r%dBm|yX2gzb?2YqYQg3{i2K8&=DpvS`EzYh<)24SFV{$p z5c<&ao7ttU-5lxST6B`qi$D2&dcS@2_8KO+lyKKqWpQ; zkSe!2qRHLip^qb9!w3$def3j)C&F3Nqm+5e^pIm?5U7GI!XS08d@$^xt#g406J+1^tO&kfbOcBZ7&HjV zS+{pkpud6EAB34od+qmFDruYGauLS5Z8BMG6ot4D$EiS>X3*9U*iN31gBzmge5>1V zcT;^^;xGG$+bLjX7AYWqKA%rpP%w6g9QKk| zwd98ctttpW#$3~t3c~Bj@7#p78T4RubwM|_%#Wsgfib8EQr{At7+>noqu$_VQ=DY> zf?swKOjPZsRPhCXmy1$p0L#1W)MTkV1t@(~TcOz<1{r^iv*&z6Bc-Y!2|(~~P$ef7 zF^`f~qr+>ErXmM$V;aLv02!guXRW1c8E!9)n-{iZ);`8%C)o#%LKX%}Z5-k5me&;z zw;%cp;fdAB#ymOH>|kKdO4eOQt8wB>*0J_2CxJ=*^^EyabkLj3cVHn~8wT2yTMI+OX*D~r@%YRB?C%=7h zVCY>9JgIxmvIpGOO)LiprSY}t_Y?IoT>?j5n=Crq8`}HX`*y5RL0Pu+-&@a4X7-)v90i~9@Bxx z?&sv-fzO^Dd+25IzIea8!8f|ev$(y}r6Rv>ezzs$C2SG4ORgwqg9Z=&iI=JMH?3}y z;?)h>*~~ANHoTU+D1i%+MyC#^Z9w2ozr%#q-$^oqJw8>cwZ3`QfgK=bF$5`Dg^7y1 zfJ7kz$k?kklN1I3ShlBTEo=w*=PPNA^BT(*maj6{2Vx%}I5zcbqIscHe_@`lV+3cm zM!RYU2S;6quQ=>V4uk{_Qtd>wl0`!`g{p&?sKmd~KN7@lE2S9Cxqr;6{QM50y>lc1 z?31em8E(h>_&m<|(3U66zO*@hI%Y?P+irq(6(o-He0SHES=v%X^$LZUy$%~pXD!2% zjG~@5G;S~>sk+P~61W6IxSSi5l$KTjCTu>D{N$7VlaWty{;GtXM9iYC*a z2El5`Pcm-;bsMnBRyMAbeerG(3d(fznI#-k1t}*#4ln=NF)`mDxyeigaB{@X9+6^4 zJk+^;U0v*bDqq>c_-Db96t|F!hIBvshB({EVyA*?iKLU&l9G}0W*t8R_Qscmw$@Si%J zg_ zDYwlaKaQiyn#u(LLLOu#;wt(Edcs8tvjOd&bSME+rFJhuUHAxLEA&`a_nut48ArM4 z0}NGzTorINC0|U^k}`k0ZfS{59A7%hO{_fTcpc`sHftj`1*u~@=e^mM*EHz{1}rw) zhGDl(oJT|`XdyNECtAj~q>3O|yOX8Zi)>w6AfF$WFrj7bCzOMvduW1|nnH%3(HS9l z)#kBZ2b!cRP=*i1JaYvS;-Z7zA!Qr$2sTQ$LzHtND;FiNq!$EtAkU&ytVe zAa=fj36r}=)B%=chDR5F2>(3~TxGo9-|+kOt+|#B&-9(^px=N&eY*R)nX%rh~PML5h_TgmYX z!q7O9P(euqJzTTL_g~Iy^=3`YGQ@pAXI;eH%;yAz@%b?bvD_&x8AxV1DA>1Kwm zy+2CAEhm}S(w!aE4qEGO_63y>tl3F7m2ry?of`J2ce9dON(BaL-)UO|t^<@TUpd&H z^v3Z(`g1waw59ph))S{naHo<{Qm;Jyx~(c2nD62l7nnX^L}Q+gUTBq7s)0}o+vJ^I zEQ9B9m5GpP5;Lx_$2@(&lIKEB!63TSXieE2oi2Y({_Wk{-JFa6kp!JqL{b1mOI_{V zR6uMLb%LQoQn$uvnUEm?{6NL)j3w#aHFV)tWgaX9am6WS<)%PhPpF1I{Crwn%NtHV7ahuG!?8DicF<j1c^)U|}wh38Oy9~n;D%6}n{FW-T|Yym*yHcOSmf#7GebIC`IV(Ie> zkR#4*aUMoqIX4cc6=E9MfpQWhyK?@6VJWvVdf0Z)5J*fjs@TujVBaOBju_OS9Ph0K z{tmA77IOu9TP;QgFZs++WwX45{(}rIJFTHEhA5!K&46?%x8P0rpUuOZBx$o9JG0g| zS4|YXiyI_N@qI3KSl&#>rj>~)$Hr<)UG}F7Iqp9mQV4% zK6H!;#A?J%ZpCHQ`-$`CHpMC&S>0avfP+MyEaC=l#m$7>(#Hu&YVBe#4HHsSum=nF zC#N4#!UNCvz|~DQOtL3?CTx35daJX+0lA&p*EM82dSq z;*_qXDS&0E0U0#W%=_h@-EkB|m5SF@F=Xq@oiUn5tsf;+M+O5d@B~6^dTZt69cZc< zQodFI2@Dq#X$m@NZ}4q#6D6f9h>}7!8%sN5niYLIQ>-6M#)Nzm{`i*%ecmQ^>)KwA z6RSQr1wZhq14kh=I%j{1^WFGUd%)d?5>CC4Swqui-CXZD*0<$m)s}pRc7o3O%0gZe zhI4KFV^5ei-bfY!9lToeAgD2_&0^G#aR$tll5x2^Kqyk%tSAG_wiY7LrXN2h`D~r| zJ#S6xU*t6o#H*JRA;~SEyGX}gqE>oaT-}+F38s$Qmz2w*lDaclRiBNBX_kGKP0}-C zdyKwAv9AIAcMTv->))Hr0Ar(V9_dYQlf+1oUFu}=?u~hO)KerL$#W?XRjO7?CYV_L zNDi6U9>|@C1H2L6Re5V4TM;u}%Ly&K*M|z>Tzn*&bX^_N*otjTKYO5nz`#=LHIos= zCjStGIu_D5H9&6=O4$U=Z%22v2|ee>bt-ros=H`htCIgsM;9p7pY2CFmcc2_?4{(B zJkPb|QQ-~r3_@B|;>wY4+q;Ihe+g}R){UbMG#7ff@_0zq6EC3Ty`CxiV}6>Q4^5Tg zRq5$3*t&;G_O+fa?q3R2ScBKR{4pq(lK&`m0tWS@V}?>A*9fH z?CJfE-ABIGO>07vS-W3f51Vv|m>UZ2Nk8uCk-QGQZ2IxZht0Daih@G?I@wn))E#|i z&kU-6k0A7tA&<{_>za(K9e~nH3v~l(MaBfrV9qqQR^aLVYiJP=5Vt7m^46nb{h^^c za=jseJ1nvNGG)n`YSy2KfA}qM?Wz(( zFZr7J`hIKYyJzfeuya1rI>4eLyN3^xDtQZ9gL#Y>-?i$Q5rLI3+o-q|nx)WrSf}Kn zpp0_E*NEBM>t21lv)u*oTUqLKTh-j$%akUdadD8}Aevi&yjKuaX`G zNQ%?{0d}Io93Yk|b{v;tk?C3Gha1^9X>J_s#}|6jcQHbPdm@)#I9tPl8UlFx$Hq5B zr>`lHj+-m-e^iOrB%sEKIpF=VzF!2(CNpj9aPw9`;Td;87zyOALLPMJ?xn$DvbkHGXWVWJf*?Bi^`#9zuPgfiBpKFX5JmVCC}!qSHcg z^3G7{RnfMfj|Dj#_w|WBa51hyO$uuqL%4a{J%&JByz*T+jG_oKVG%(kc`9!sB+V)G z-d9${%xS;-1)NREPZXM# zJ_aslc}pq^*ow0o#L9%U5pH}a3atJ{nWP!bkDo#^jtw}o0`t&%YGSxL>%#*mY_)T zEv@@g+Gc2l?_sU1lXZ|Bl&}3mw}Qrb=6#>EcpCmsrGP`#c)y~t$K?^Qr5#S}AK=#V zKY(-eG7Eml$-|LzbJatxfl~OqMS`IU_Bic|M1zId7?aJN##iST>DK zirS^9D$D-oHmYxhzW;M&`R(%kI$`f-9gNf6@oQqEWbmQ&@k_By4yAe4j_kUc?_!{D z7qo8)fCZsbby=PN17gP zdPUjW<5*Jjn`&z77}G)bziTDe#o`2i9{XB-CbhkyMr9d)5$9e3r}TGIvzPk-h?bfH5Nrrb`8zfe4IUE1^U zt*PLC_&6{p{Mdiwj1yKaOs+)G#gs8d?RP2^+e_s|!Lv*OmJ%Y3T=hoCKxd}$Ktte4 z)Ir=556=;oR6CH8<*4Hd4TeV+gF*M_?20~G$R2qrRSzCj!@`++3tz7QQ!srrX$<3X zL%Dr8iJk@xah`mB)Y;OUpQ9E&R@hFmw}|En-^rhIt1}1M!voP7imk?)q7p7R#gX2f zOUidA(%|zFcXLs;Ux$a^}9|)@nF`@GBwjNJs%*-5d7BJCE2OMb3{A)|=Fm60C5`Evc;cY(XLmceyAL3@Ua*;jI! zA4t+XqQ&=>3s7&+otKy772+4x?VwymvhAjPXs}nQ^k%Z<3GMj&BbuGI21jU6uTHXI^ zZiUS;8-66D+1u?NSt#jdr1PO?f;@=`x|iXqUm`JARt~U6chYZ{?f7F9lS5;zJhzU0 z9%PP;^gV^lYHcmW*UVT_1Dkd92Ajj&O5I#!_}B1kc*_Kur1+};_8<0K)rh!OpDJB% zbFq$@R*}uu`b^DmCI9X-U*`mRV~4L486sjS6n;1XN92ega)^*aKI{clAp4~0=HhuF_pmyopc|_Uw_ShQ^GLxMY$R6n1fOt`BiNcB zZWt9?m;P4}sa^{3RLXFH%Q_!~sYO>#kV| zz*yQyj3lwjcw?K_QjtjM+j^jfa#bl`nm~#P%~}@?miV!0n6yE{U>zARY5A%1Q+@;* z=W{3&c7GJ9VE(Z}0rZf8T|{TX1jm7ld@=IXIe)~-phAZs<$CDGJ-|08qcFFfqkMX1 zP!J2JnVCBQ9q^%U%DGilGJUDh~H zwY=_J~8H9h7=Uv&Bjzmyse$6BlzAJjrS z_GLfzv1`;Vd#woT5BH|)3jTa|;VgyBVIS9ss$@1NM&0!Nm9_dws#NJ8;K2`-P3|vE zYey2DSuI&8(Qmj+9mZS?cAS<+gHCfLD<1#2UGjIHOlaVI&<>IR2hc8K{Xws3LR&8V z1906hz7a$I1DwCK^UFkZP%6-f4;#8CV)zY?kjZINF5; zv3YKweRsC!J3#v7j}!t>>z}S?LH$H4M1?FM>B0a3=&_){ur!71W9aX)-3A*mdPMo+ znu2XTRRx^J`WZI?u}6ND!WZ32!@xReP#NVuhW|Co5~D>k0*8@yw^(N#+@DJ!ZBK*C zVP`P;I>0vS%$a>pMSptyZ%B<41}J8d;?rb8>^-A(*Q8EnaeL${4b42SMw3=Qmry5r zjf}FV)IHR*Rzi9o$!>HpHgB}}SOk)#579A=ur^>Brs`Z5rI3=#toT`%F-9LaZjbS={(1h{)!+VmktY3eY5j@3&cWZ8RaA&Y=Z9e zC%L@NPiTmm@L=oQQJSgsBhpuy%qY#u({<$xNZ9VZG%QhI%nyfXmN@zA=C4@orod_$ zi=$^(gcCiu&R}gJca^6;RXdpTWY&YC=+QqRQhekxmCOg@?$OyCZ82U2{X4-b32M#R@B$iF+#mTENI)?K2hN9a? zCVYuZyvbTV{&Rh$7z`CD-t$MTTsA8=XFiK8L%_6Z_^@az6jKVh(}cw1tF{ z=6Y90{tw?3AnI%&=OBSNMk+m@!v%ic<18Z#qdqVJNsI}82JDefe&a%=>2!) zzRgmJMnHO$n6h{=K%q8hvP_A<)q~1OgjywpKv&iho@*2Y62RINaie4Y@>pEYPZ)_4 znMvoN<&XqQP?a4QCG!l5oOuWqbdU^Zza(l#3M@b9P6_5o3;+@d0uJZxS>$0r_@oI~ z1^)p13C4#&*ctnX!4>*BgH$y^uxf&>93Kfz>yj}>0M2o*zpuS)F`yJnWna}UJ3GL{ zB7r_Hgt>Q=uhkI1feQT!nsJ#3RT>J-S8QMK4I)(fE_s>+}AdDI3xK#mUrBM@UL0@0+ zx5Nno0T3Ed4-Kgm>O}D94HS8Z0swcJF6bf=y?s}ji%TRMg6A*c?2V(bHU@B(ajA%y z_=%eU(0~kX^z*o;F)z{&jDiBe=#Ff;o1xiaaR&JAA0Vd$3r37nx527B6YD5`3& zf+1r9AWQ-J`_z1D)CCa9vUFqjnh68cKUHZ+93;UP!Ih6)2Bx1i>#wvHGO`$31g1?k zVv&LhkYdHe6s<$5`5VSXr6?;!Ca|)QMkocp=qkcJ6+cZxMpYYDXJVIc4(OX2z? zBqU)9pmb3x>WU{c=tC@1up*v5NwH*5@K~Z+S1|nc67GYbpbo1auP90qg8u*p(gx=@ zx66t>1mMkT8`5_>=D4alj4)!wKahx}7%Bv?O$wj%o%z*>njJZf;%7tu0C;N#-o0+`o(9V$sTX8lr27Ny zAXvvSMQa_QPY_e3w^9U($VFIa_(h;AWRAmU67MbHFQ{D%g5(fBCf zVf;<~UZ-XSD@K^>6%LQj5%HCRNwV;!_RPR#q1LHWp_MewKgj`YN6mYrBt1O1O}Oh zwDY=XyAiGmEW9K+gq|vK#Q4MY^{5vxEFiZ<5imn63*ig|5M)9W7D59>0r(<`a=#MP z8)-a!z_b#i6;es`5$saf`vfa$1Pu;U%9AV@YOvsOLEZ6IK4c;S1gT(Ig9QE&UPyr~ zNhp{e8^=L#6ht5Gh`OF5UPlRuEe;R-DSUbZ-~f=65)Nq^(LI=IF8A%5{Pcr)yrGr5QxjJw6*EzeyYvj6K{_P9p z^!-VG(BL7{{Nk{rQ5Ae4(ASveUGX?|zRaA*^53#~P=J8Y#Yap+KLOd~(vWXqDT|~O z{kiop0o#B*2cVx{1Zfvif^$OVtYy-Ep!!a`D|0l&(PnHxMYBQ7QPOA^tMH-S3jhR| z3j(e946aQ;B4V9w13LU;l+nRRSn5$0P&>k7tl$Jro->Dw>H-5mu`wF5|BxrK-CwZuvV;?!&;!hHTH0m!*#Q&akujT2MzRYC?01pNC++%03>kstxNfMmaHv+fmo&plj&myLnIJasxSZ@K_71Q;Yp$*oED*H zosG~83c(b(jFddCGgMj)SCg6k< z`ndQi0xzJ+3H&NDwJ0!+ggY?MAPx_Me1LpkfmnhH6SS;O%#&q|iZsUuT=!(#ZY!b(y4eNO&Eei}Qc1OVfGa5*sP zp&V8KlQhkumh z6al>@6#oD|qrj_wf(H-V*6mofCzv|}F}JN34D+jCAux`FrJ59`eRowsD+g!tuhV%4 z#^E8AAPRv_sQr7kK(5W{;cV7Jx8s)sgBn2kzF(s;^g0scY5^@Zf&;{cpHP<$5B|wq z$gI=hxLpWmsQoSADC>%oKBCQW! zhyI@t(Gggx2^DUwx2K*0dKj!c0FR&4^)7>CHd39N-* z@9p|ZPn?I5Xkkgvy^%5`f3wzI5s)N)f2KBM`{2$yBoRKCv;GDvY^Ea9TN1~LB`sIy zK&i5*rzQBAmHz<8f%F9`jFOa8Z8A-&Rdd@eoWnLd5W} z2el(1qnLOZ@>Ye#7*r@q0SvUL2L8+n_t$dQ84;gF<4BXlqwcB%T7Url6uto&fY8g9 z(Wd-TrSmPATS~#=?a*ay@XLbXSNI98@~44>tc_Aa#UK;-{ch1!Y~U^rSEPOcD=@Sh z5?zeoSA0C6*v92vf;|CEAWZ=-1tA#~F^19?(yT*-767CaCT6Flg9K3mtTOXOe!Q7S zX;5u^(5q$diwR{7kygru)P*?mQ6Ve&^i-W6SaMZMi~%Rh=xj55t73BiL8USl0l;sX zg&0`~08~)GoljwbLK1_6UZdO!A5y9z6k-U_usL3IBnSyYRP+tSQFw%JLM0UrG9n;@ zkD7Ay&DpfxnikPmTcVT-A|Er+S>{HKB~VeP*%KnrGv#FnFp*dpQ4k5#lJ=?)gbK>k zFs~35&|YgJi2^9 zf#(Xj#GQR*%c38}Cq%0VKLw?)_Y@$X_Hpgs6rk~CR!~YKuReEu&XSZ}PsR$!-;gx& z@sJG!SM=})_2076MW}Jms*bJy0DhiWDh7o%BX1)TKY#Ei45SWrfEbV*bu5vRNG5^! zKl+n2*L1<6h{0&2L((yoqP+@hV71$cnwZW6fm|Z0haK^jr4_7J~hRc1c5$<9Wy^~k__5Q;R*~CKh53nAx#>a8(WV|{Nd<{#5tuwS@d_w zLX><40@bKW)#L7pYoaz$BGDtfcTkuHfGMce`uFxAhM;QM8e%G&M0JJm@F5`#EeEZ7 zxY_s{D3oR(+6riVh2#P^ghBzD2n)RPEQskULx#6zFezzGXrjr+CgIQ{i|7@KW;m?) z)CD2W%QGtg6#fT(3RhnXRe*;W2-7|i0H1{*F{7{)u%%&@AA_$7q9)amRb>zN=1wyt z06{{64{=SVFq0~3qjW^{G~0X#8ZZaJSrZ@6sK~vUlRVG_BuKVCO5_J{kN~TLgJ7O& zZJC8ZfYEAiK_v)OGt4meU{oL1sF~c#iy^3H8Lc-=(v6)&sx_9>Fe zMO+D7T6-v|f|Le0!W*OzEs}h%13^su(ir*w0A|5KQmKT*U#bXwM`FT-SVG!?_;^$a zuMH%}KxK&Nd`Pv03ry~z;I}T1F2OI0WnxW@D0f%X`r;CLkysrjc5^=ZN*^e5$YxN7z@1+M1JZP zbIUkm1^)n)p{3g5Pcf(o0?lMf9S`j?HZ_2UP)7h!l3!e*?+b>eR1kP8cf=@~!c7u^ z1)0zH(E@bF$+# z2vY{CYr~W@yda|}4H&hDJW5H`0JTs>Oo$QjvEKS45s2C?i`(IxLhu0L9d9ss`!($f z&{H!Qg+k>+qB4r0DE;H0fIv!t9$-15^&Bz_TMD;eDjid&c>Eyeq@o5cU1f2OpOf`K5fQ{R#RM}s^RI#hSy;k95~6W6{PEB#nx%jh*mF8+ zkBbTtB1{$lzeYb}t?7&4B7j6O#V@Pv39?YKXxR zX16~LZ18j!$#}!3DZ4)O^F2@-W;jR6SE2USwa(@N1-i%|hJQUgk{Tcf8lotE)1gUC zsF6q%ZHl2=1K3q6j4C7|s7zYVqgBGv94!Q(9${k$VM^)%n$g0pulkZs0Xgj6Dph(= zh=gAbk}5?83aB3fM!^ei#Z4+9P~=qr_&_ouPQmbg1fO?8nkZ=Cz!X0isBQ{%$gY?e zJ_FU66{H=_AmDn;5`hsQObY?djxFAV zsQ^Uo`6xGqeL;r+98nXMJ}+rXq{1XrZiq##2gSq6&;fdLfGo)rY4s0`ESr%nIFNcv z4(wSIBS}tzjL1TY2hb~6l#*0y3*ZD1z%;E$6TCDN!8KHZSTIgunuo?0R1%#~aF0PR z@T7y(=woBYAL-vGZ7h>@H_+Vw01FclCqRqX(>`&JB;HqFsUpqA{%O zd@)X9DMXwVbi{fj9wz`xLqG@$1Og$nRWgZ+#z7`^V>4b6fDi^?D}@U{Kk5sfI(4Ax zavrz%pd+XjFruH%gP(>hiiu>XVxbhOk@;Xh`g-_VMn@gvh*f|9g zZX=WJ1I0lfm>3UVts?7+#L^{Tss8nbmj1-bAf_$J_vc^`s_`Yd8 z09q%&Q3Pv))I3{`9R!*Bl8O40JdROTiO3Ax{KqF6UDq3GanHNw0 z0B?lxjy;p|#O4L{ylE2j1`x2Z$aeV<6A2)Qa2T1*_2^+#F6y+ByYzoXSQHGv6sbUU zlP&c}_6Xu=2-s#a)ES@vXtF6fl{GnfbHEAIg3c8Tr@WrlM3D#q_!vI+O$p}MJ{AFG zmr`q!Z1673Y6VkKCr0p@kDyOA62`R^3UlMMP7hk>YN=p{ZcgW!&4Cat&y!bb$6qgq zfwMz^y?;wB^o`sRDN`!3AKd{@6H%cMZ6q+bzOR#ofN4P7?(<3I=w+fJFq==*qTh=` zcP3B`uv9FE@Ocpg5YYkvriQM&`yYi+A{he$H6E=adNasmZLBk=$87hUG(8+yYL8O7BR0Wy}KLOF$pOVlta7QGQ%;E?z zCu_q&P?DngpL!t%x1vmcML=V3^Gm=q7Jwzh;uwHeVt@@e1N5k1l`_X_s9PsB2-PGY zcnC`Z1s#=eCzF6la0KC?W&;DVf#2u~7wrqMh+3pXRe<<8o+3(MlW;K0 zS~B8OJQWh@3Ce>aj^gxR3LJ7ts)C^oR18%-I>o?OQPEHaln&n(A2t9Z0RS-6kG=@H zI7=bKATn3;#>$T1%jX0jBNq@8Y`_ + + +.. toctree:: + :maxdepth: 2 + + cor_finder/find_center_metric_recon + + diff --git a/httomolibgpu/__init__.py b/httomolibgpu/__init__.py index e1b85cef..090973ed 100644 --- a/httomolibgpu/__init__.py +++ b/httomolibgpu/__init__.py @@ -24,4 +24,9 @@ FISTA3d_tomobar, ) -from httomolibgpu.recon.rotation import find_center_vo, find_center_360, find_center_pc +from httomolibgpu.recon.rotation import ( + find_center_vo, + find_center_360, + find_center_pc, + find_center_metric_recon, +) diff --git a/httomolibgpu/recon/rotation.py b/httomolibgpu/recon/rotation.py index b4917b7c..1c453898 100644 --- a/httomolibgpu/recon/rotation.py +++ b/httomolibgpu/recon/rotation.py @@ -23,8 +23,11 @@ import numpy as np import os import pathlib +from pathlib import Path from numpy.polynomial import Polynomial from httomolibgpu import cupywrapper +from PIL import Image +from scipy.ndimage import laplace cp = cupywrapper.cp cupy_run = cupywrapper.cupy_run @@ -875,18 +878,19 @@ def find_center_pc( ##%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +## %%%%%%%%%%%%%%%%%%%find_center_metric_recon%%%%%%%%%%%%%%%%%%%%% def find_center_metric_recon( data: cp.ndarray, angles: np.ndarray, - metric_type: Literal["entropy", "tv"] = "tv", + metric_type: Literal["entropy", "tv", "sharpness"] = "tv", range: int = 10, step: Union[float, int] = 0.5, reconstruction_method: Literal[ "LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar" ] = "LPRec3d_tomobar", - recon_mask_radius: Union[float, int] = 0.75, recon_iterations: Optional[int] = None, cor_initialisation_value: Optional[float] = None, + squared_mask_x_y_size: Optional[list] = None, gaussian_filter_sigma: Optional[float] = None, save_recon_tiff: Optional[os.PathLike] = None, ) -> np.float32: @@ -894,6 +898,7 @@ def find_center_metric_recon( Find the rotation axis location using different metrics that are applied to the result of the reconstruction. This method iteratively assesses the quality of the reconstruction while changing the CoR value within the provided range. This approach for the CoR finding is suitable for limited angle (missing wedge) data, when the symmetry and consistency of the sinogram is lost. + See more about the method and its parameters in :ref:`find_center_metric_recon_doc`. Parameters @@ -903,26 +908,26 @@ def find_center_metric_recon( angles : np.ndarray An array of angles given in radians. metric_type : str, - Type of image quality metric to use on the reconstructed image. Available metrics are 'entropy', 'tv' (total variation). + Type of image quality metric to use on the reconstructed image. Available metrics are :code:`'entropy'`, :code:`'tv'`, :code:`'sharpness'`. range : int - CoR search range/radius. The search will be performed in the range: [-range:cor_initialisation_value:range] + CoR search range/radius. The search will be performed in the range: :code:`[-range:cor_initialisation_value:range]`. step : float Step for CoR value. reconstruction_method : str, - Type of the reconstruction method to be used. Choose from: "LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar". Default 'LPRec3d_tomobar'. - recon_mask_radius: float, - The radius of the circular mask that applies to the reconstructed slice in order to crop - out some undesirable artifacts. The values outside the given diameter will be set to zero. - To implement the cropping one can use the range [0.7-1.0] or set to None (2.0) when no cropping is needed. - Selection of the mask is crucial for this algorithm to work. + Type of the reconstruction method to be used. Choose from: :code:`"LPRec3d_tomobar"`, :code:`"FBP3d_tomobar"`, :code:`"SIRT3d_tomobar"`, :code:`"CGLS3d_tomobar"`. Default :code:`'LPRec3d_tomobar'`. recon_iterations: int, optional - Set only for iterative methods: 'SIRT3d_tomobar', 'CGLS3d_tomobar'. + Set only for iterative methods: :code:`'SIRT3d_tomobar'`, :code:`'CGLS3d_tomobar'`. cor_initialisation_value : float, optional The initial approximation for the centre of rotation. If the value is None, use the horizontal centre of the projection/sinogram image. + squared_mask_x_y_size: list, optional + Apply a square mask to the reconstructed image. Selection of the mask is crucial for this algorithm to work successfully. + The mask is defined as a :code:`list` with 3 values :code:`[X, Y, size]`. The positive offsets :code:`X, Y` place the mask with respect to the left top corner of the reconstructed image and the third parameter is the size of the cropped image in percents with respect to the whole reconstructed image. + Example: :code:`squared_mask_x_y_size = [10, 20, 50]` will apply a mask that is 10 pixels away from the left top corner in the horizontal direction and 20 pixels away in the vertical direction, the mask will be 50% in size of the reconstructed image size. + The default value when :code:`squared_mask_x_y_size = None` is the mask in the center of the reconstructed image (not always the best position as many ring artifacts are present) with a size of 50% of the reconstructed image size. gaussian_filter_sigma: float, optional - Enable gaussian filtering of the reconstructed image, recommended for noisy data. Good range of values 1.0-4.0. + Enable gaussian filtering of the reconstructed image, highly recommended for noisy data. Good range of values 1.0-4.0. save_recon_tiff: path, optional - Path to output directory for the saved reconstruction image when CoR = cor_initialisation_value. Useful for debugging. + Path to output directory for the saved reconstruction image when :code:`CoR = cor_initialisation_value` and also the masked image. Useful for debugging. Returns ------- @@ -935,7 +940,7 @@ def find_center_metric_recon( data, accepted_type=["float32"], methods_name=methods_name ) __check_variable_type( - metric_type, [str], "metric_type", ["entropy", "tv"], methods_name + metric_type, [str], "metric_type", ["entropy", "tv", "sharpness"], methods_name ) __check_variable_type(range, [int], "range", [], methods_name) __check_variable_type(step, [int, float], "step", [], methods_name) @@ -953,7 +958,7 @@ def find_center_metric_recon( "SIRT3d_tomobar", "CGLS3d_tomobar", ]: - recon_iterations = 15 + recon_iterations_n = 15 __check_variable_type( gaussian_filter_sigma, [float, type(None)], @@ -962,8 +967,189 @@ def find_center_metric_recon( methods_name, ) __check_variable_type( - save_recon_tiff, [str, pathlib.PosixPath], "save_recon_tiff", [], methods_name + squared_mask_x_y_size, + [list, type(None)], + "squared_mask_x_y_size", + [], + methods_name, ) + __check_variable_type( + save_recon_tiff, + [str, pathlib.PosixPath, type(None)], + "save_recon_tiff", + [], + methods_name, + ) + ################################################################### + detectorX_size = data.shape[2] + if cor_initialisation_value is None: + center = detectorX_size // 2 + else: + center = cor_initialisation_value + + if squared_mask_x_y_size is None: + squared_mask_x_y_size = [ + detectorX_size // 2, + detectorX_size // 2, + 50, + ] # default mask is the center of the reconstructed image with a size of 50% of the reconstructed image size + + centres = np.arange(center - range, center + range + step, step) + + values = [] + + for i, center in enumerate(centres): + # ---------- RECONSTRUCTION ---------------- + if reconstruction_method == "LPRec3d_tomobar": + recon = LPRec3d_tomobar( + data, angles, center=center, detector_pad=True, recon_mask_radius=2.0 + ) + elif reconstruction_method == "FBP3d_tomobar": + recon = FBP3d_tomobar( + data, angles, center=center, detector_pad=True, recon_mask_radius=2.0 + ) + elif reconstruction_method == "SIRT3d_tomobar": + recon = SIRT3d_tomobar( + data, + angles, + center=center, + detector_pad=True, + recon_mask_radius=2.0, + iterations=recon_iterations_n, + ) + elif reconstruction_method == "CGLS3d_tomobar": + recon = CGLS3d_tomobar( + data, + angles, + center=center, + detector_pad=True, + recon_mask_radius=2.0, + iterations=recon_iterations_n, + ) + recon = recon[:, 0, :] + # ----CROPPING with the position defined by the squared mask----- + x_start, x_end, y_start, y_end = square_mask_bounds( + recon, + centre_x=squared_mask_x_y_size[0], + centre_y=squared_mask_x_y_size[1], + size_pct=squared_mask_x_y_size[2], + ) + image = recon[y_start:y_end, x_start:x_end] + + cp.nan_to_num(image, copy=False, nan=0.0, posinf=0, neginf=0) + + # ---------- SMOOTHING ----------- + image = ( + gaussian_filter(image, sigma=gaussian_filter_sigma, mode="reflect") + if gaussian_filter_sigma is not None + else image + ) + + image = cp.asnumpy(image) + + # SAVING reconstruction and masked image as TIFF + if save_recon_tiff is not None: + save_dir = Path(save_recon_tiff) + save_dir.mkdir(parents=True, exist_ok=True) + + save_path_recon = save_dir / f"reconstruction_cor_{center:.3f}.tiff" + save_path_masked = save_dir / f"masked_recon_{center:.3f}.tiff" + + Image.fromarray(to_uint16(cp.asnumpy(recon))).save(save_path_recon) + Image.fromarray(to_uint16(image)).save(save_path_masked) + + # ------- METRIC CALCULATION -------- + + if metric_type == "entropy": + metric_val = image_entropy(image) + elif metric_type == "tv": + metric_val = gradient_energy(image) + elif metric_type == "sharpness": + metric_val = sharpness_metric(image) + + values.append(metric_val) + + print( + f"{i+1}/{len(centres)} " f"center={center:.3f}, " f"value={metric_val:.6f}" + ) + + values_arr = np.asarray(values) + + best_index = np.argmin(values_arr) + + best_center = centres[best_index] + value_function_min = values_arr[best_index] - return 0.0 + return best_center ################################### + + +def image_entropy(image: np.ndarray) -> float: + """Compute the Shannon entropy of a reconstructed (cropped) 2D image.""" + + bins = ( + np.shape(image)[0] // 10 + ) # choosing the number of bins based on the image size + x = image.flatten() + # Histogram -> probability distribution + counts, _ = np.histogram(x, bins=bins) + p = counts[counts > 0] / counts.sum() + + # Shannon entropy + return float(-np.sum(p * np.log2(p))) + + +def gradient_energy(image: np.ndarray) -> float: + """Compute the gradient energy of a reconstructed (cropped) 2D image.""" + + # gradients + gx = np.zeros_like(image) + gy = np.zeros_like(image) + + gx[:-1, :] = np.diff(image, axis=0) + gy[:, :-1] = np.diff(image, axis=1) + + # gradient magnitude + return float(np.sum(np.sqrt(gx**2 + gy**2))) + + +def sharpness_metric(image: np.ndarray) -> float: + """Variance of the Laplacian; higher values indicate sharper images.""" + + lap = laplace(image) + + return float(np.var(lap)) + + +def square_mask_bounds( + image: cp.ndarray, + centre_x: float, + centre_y: float, + size_pct: float, +) -> tuple[int, int, int, int]: + height, width = image.shape[:2] + + # Square side length as percentage of image size + side = int(round(min(height, width) * size_pct / 100)) + + half_side = side // 2 + + x_start = max(0, int(round(centre_x)) - half_side) + x_end = min(width, int(round(centre_x)) + half_side) + + y_start = max(0, int(round(centre_y)) - half_side) + y_end = min(height, int(round(centre_y)) + half_side) + + return x_start, x_end, y_start, y_end + + +# Rescale each image independently to uint16 +def to_uint16(arr: np.ndarray) -> np.ndarray: + arr_min = np.nanmin(arr) + arr_max = np.nanmax(arr) + + if arr_max == arr_min: + return np.zeros_like(arr, dtype=np.uint16) + + arr = (arr - arr_min) / (arr_max - arr_min) + return np.round(arr * 65535).astype(np.uint16) diff --git a/tests/test_recon/test_rotation.py b/tests/test_recon/test_rotation.py index 273977a4..5f6377a6 100644 --- a/tests/test_recon/test_rotation.py +++ b/tests/test_recon/test_rotation.py @@ -9,6 +9,7 @@ from httomolibgpu.recon.rotation import ( _calculate_chunks, find_center_360, + find_center_metric_recon, find_center_vo, find_center_pc, ) @@ -28,6 +29,38 @@ def test_find_center_vo(data, flats, darks): assert_allclose(cor, 79.5) +@pytest.mark.parametrize( + "metric", + [ + "tv", + "entropy", + "sharpness", + ], +) +def test_find_center_metric_recon(data, host_angles, flats, darks, metric): + data_normalize = dark_flat_field_correction(cp.copy(data), flats, darks) + + # --- testing the center of rotation on tomo_standard ---# + cor = find_center_metric_recon( + data_normalize, + angles=host_angles, + metric_type=metric, + range=10, + step=0.5, + reconstruction_method="LPRec3d_tomobar", + gaussian_filter_sigma=2.0, + squared_mask_x_y_size=[20, 20, 20], + ) + + data = None + if metric == "tv": + assert_allclose(cor, 86.5) + elif metric == "entropy": + assert_allclose(cor, 72.5) + elif metric == "sharpness": + assert_allclose(cor, 87.0) + + def test_find_center_vo_ones(ensure_clean_memory): mat = cp.ones(shape=(103, 450, 230), dtype=cp.float32) cor = find_center_vo(mat) From d50e99377aa3f1e770a94a5b951a0aaccc9625cb Mon Sep 17 00:00:00 2001 From: algol Date: Fri, 14 Aug 2026 12:52:27 +0100 Subject: [PATCH 3/3] add ind into the method, test corrections and docs --- httomolibgpu/misc/blend.py | 6 +++++- httomolibgpu/misc/corr.py | 8 +++++++- httomolibgpu/misc/denoise.py | 8 +++++++- httomolibgpu/misc/morph.py | 10 +++++++++- httomolibgpu/misc/rescale.py | 6 +++++- httomolibgpu/prep/alignment.py | 6 +++++- httomolibgpu/prep/normalize.py | 8 +++++++- httomolibgpu/prep/phase.py | 8 +++++++- httomolibgpu/prep/stripe.py | 14 +++++++++++++- httomolibgpu/recon/algorithm.py | 20 +++++++++++++++++++- httomolibgpu/recon/rotation.py | 18 +++++++++++++++++- tests/test_recon/test_rotation.py | 7 ++++--- 12 files changed, 105 insertions(+), 14 deletions(-) diff --git a/httomolibgpu/misc/blend.py b/httomolibgpu/misc/blend.py index 4ab84d1f..bdfbf471 100644 --- a/httomolibgpu/misc/blend.py +++ b/httomolibgpu/misc/blend.py @@ -18,7 +18,11 @@ # Created By : Tomography Team at DLS # Created Date: 5 August 2026 # --------------------------------------------------------------------------- -"""Module for data type morphing functions""" +"""Module for data type morphing functions: + +* :mod:`httomolibgpu.misc.blend.seam_blend_stitched_data` + +""" import numpy as np from httomolibgpu import cupywrapper diff --git a/httomolibgpu/misc/corr.py b/httomolibgpu/misc/corr.py index f303e79c..85a84d23 100644 --- a/httomolibgpu/misc/corr.py +++ b/httomolibgpu/misc/corr.py @@ -18,7 +18,13 @@ # Created By : Tomography Team at DLS # Created Date: 21/October/2022 # --------------------------------------------------------------------------- -"""Module for data correction. For more detailed information see :ref:`data_correction_module`.""" +"""Module for data correction. For more detailed information see :ref:`data_correction_module`. + +* :mod:`httomolibgpu.misc.corr.median_filter` + +* :mod:`httomolibgpu.misc.corr.remove_outlier` + +""" from httomolibgpu import cupywrapper diff --git a/httomolibgpu/misc/denoise.py b/httomolibgpu/misc/denoise.py index 8e289367..dd306893 100644 --- a/httomolibgpu/misc/denoise.py +++ b/httomolibgpu/misc/denoise.py @@ -18,7 +18,13 @@ # Created By : Tomography Team at DLS # Created Date: 18/December/2024 # --------------------------------------------------------------------------- -"""Module for data denoising. For more detailed information see :ref:`data_denoising_module`.""" +"""Module for data denoising. For more detailed information see :ref:`data_denoising_module`: + +* :mod:`httomolibgpu.misc.denoise.total_variation_ROF` + +* :mod:`httomolibgpu.misc.denoise.total_variation_PD` + +""" from httomolibgpu import cupywrapper diff --git a/httomolibgpu/misc/morph.py b/httomolibgpu/misc/morph.py index e58d32d6..f9ac00cd 100644 --- a/httomolibgpu/misc/morph.py +++ b/httomolibgpu/misc/morph.py @@ -18,7 +18,15 @@ # Created By : Tomography Team at DLS # Created Date: 23 March 2023 # --------------------------------------------------------------------------- -"""Module for data type morphing functions""" +"""Module for data type morphing functions: + +* :mod:`httomolibgpu.misc.morph.sino_360_to_180` + +* :mod:`httomolibgpu.misc.morph.data_resampler` + +* :mod:`httomolibgpu.misc.morph.average_projection_frames` + +""" import numpy as np from httomolibgpu import cupywrapper diff --git a/httomolibgpu/misc/rescale.py b/httomolibgpu/misc/rescale.py index 845e31bb..2602d381 100644 --- a/httomolibgpu/misc/rescale.py +++ b/httomolibgpu/misc/rescale.py @@ -18,7 +18,11 @@ # Created By : Tomography Team at DLS # Created Date: 1 March 2024 # --------------------------------------------------------------------------- -"""Module for data rescaling. For more detailed information see :ref:`data_rescale_module`.""" +"""Module for data rescaling. For more detailed information see :ref:`data_rescale_module` : + +* :mod:`httomolibgpu.misc.rescale.rescale_to_int` + +""" import numpy as np from httomolibgpu import cupywrapper diff --git a/httomolibgpu/prep/alignment.py b/httomolibgpu/prep/alignment.py index 8f282bba..6d825cb2 100644 --- a/httomolibgpu/prep/alignment.py +++ b/httomolibgpu/prep/alignment.py @@ -18,7 +18,11 @@ # Created By : Tomography Team at DLS # Created Date: 01 November 2022 # --------------------------------------------------------------------------- -"""Modules for data correction""" +"""Modules for data correction: + +* :mod:`httomolibgpu.prep.alignment.distortion_correction_proj_discorpy` + +""" from httomolibgpu import cupywrapper diff --git a/httomolibgpu/prep/normalize.py b/httomolibgpu/prep/normalize.py index a6224946..7c7df152 100644 --- a/httomolibgpu/prep/normalize.py +++ b/httomolibgpu/prep/normalize.py @@ -18,7 +18,13 @@ # Created By : Tomography Team at DLS # Created Date: 01 November 2022 # --------------------------------------------------------------------------- -"""Modules for raw projection data normalization""" +"""Modules for flat/dark-field correction of projection data and normalisation: + +* :mod:`httomolibgpu.prep.normalize.dark_flat_field_correction` + +* :mod:`httomolibgpu.prep.normalize.minus_log` + +""" from httomolibgpu import cupywrapper import numpy as np diff --git a/httomolibgpu/prep/phase.py b/httomolibgpu/prep/phase.py index 087aea9d..962cdc99 100644 --- a/httomolibgpu/prep/phase.py +++ b/httomolibgpu/prep/phase.py @@ -18,7 +18,13 @@ # Created By : Tomography Team at DLS # Created Date: 01 November 2022 # --------------------------------------------------------------------------- -"""Modules for phase retrieval and phase-contrast enhancement. For more detailed information, see :ref:`phase_contrast_module`.""" +"""Modules for phase retrieval and phase-contrast enhancement. For more detailed information, see :ref:`phase_contrast_module`. + +* :mod:`httomolibgpu.prep.phase.paganin_filter` + +* :mod:`httomolibgpu.prep.phase.paganin_filter_savu_legacy` + +""" import numpy as np from httomolibgpu import cupywrapper diff --git a/httomolibgpu/prep/stripe.py b/httomolibgpu/prep/stripe.py index 719b4b97..2e250c6d 100644 --- a/httomolibgpu/prep/stripe.py +++ b/httomolibgpu/prep/stripe.py @@ -18,7 +18,19 @@ # Created By : Tomography Team at DLS # Created Date: 01 November 2022 # --------------------------------------------------------------------------- -"""Module for stripes removal""" +"""Module for stripes removal (ring artifacts suppression), see more in :ref:`stripes_removal_module`. + +* :mod:`httomolibgpu.prep.stripe.remove_stripe_based_sorting` + +* :mod:`httomolibgpu.prep.stripe.remove_stripe_fw` + +* :mod:`httomolibgpu.prep.stripe.remove_stripe_ti` + +* :mod:`httomolibgpu.prep.stripe.remove_all_stripe` + +* :mod:`httomolibgpu.prep.stripe.raven_filter` + +""" import numpy as np import pywt diff --git a/httomolibgpu/recon/algorithm.py b/httomolibgpu/recon/algorithm.py index 48959e85..70181219 100644 --- a/httomolibgpu/recon/algorithm.py +++ b/httomolibgpu/recon/algorithm.py @@ -18,7 +18,25 @@ # Created By : Tomography Team at DLS # Changes relative to ToMoBAR 2024.01 version # --------------------------------------------------------------------------- -"""Module for tomographic reconstruction. For more detailed information, see :ref:`image_reconstruction_module`""" +"""Module for tomographic reconstruction. For more detailed information, see :ref:`image_reconstruction_module` + +* :mod:`httomolibgpu.recon.algorithm.FBP2d_astra` + +* :mod:`httomolibgpu.recon.algorithm.FBP3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.LPRec3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.SIRT3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.CGLS3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.FISTA3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.ADMM3d_tomobar` + +* :mod:`httomolibgpu.recon.algorithm.OSEM3d_tomobar` + +""" import numpy as np from httomolibgpu import cupywrapper diff --git a/httomolibgpu/recon/rotation.py b/httomolibgpu/recon/rotation.py index 1c453898..806c724a 100644 --- a/httomolibgpu/recon/rotation.py +++ b/httomolibgpu/recon/rotation.py @@ -18,7 +18,16 @@ # Created By : Tomography Team at DLS # Created Date: 01 November 2022 # --------------------------------------------------------------------------- -"""Modules for finding the axis of rotation for 180 and 360 degrees scans""" +"""Modules for finding the axis of rotation for 180 or 360 degrees scans. + +* :mod:`httomolibgpu.recon.rotation.find_center_vo` + +* :mod:`httomolibgpu.recon.rotation.find_center_360` + +* :mod:`httomolibgpu.recon.rotation.find_center_pc` + +* :mod:`httomolibgpu.recon.rotation.find_center_metric_recon` +""" import numpy as np import os @@ -888,6 +897,7 @@ def find_center_metric_recon( reconstruction_method: Literal[ "LPRec3d_tomobar", "FBP3d_tomobar", "SIRT3d_tomobar", "CGLS3d_tomobar" ] = "LPRec3d_tomobar", + ind: Optional[int] = None, recon_iterations: Optional[int] = None, cor_initialisation_value: Optional[float] = None, squared_mask_x_y_size: Optional[list] = None, @@ -915,6 +925,8 @@ def find_center_metric_recon( Step for CoR value. reconstruction_method : str, Type of the reconstruction method to be used. Choose from: :code:`"LPRec3d_tomobar"`, :code:`"FBP3d_tomobar"`, :code:`"SIRT3d_tomobar"`, :code:`"CGLS3d_tomobar"`. Default :code:`'LPRec3d_tomobar'`. + ind : int, optional + Index of the slice to be used for estimate the CoR. If 'None' is given, the zero slice will be used. recon_iterations: int, optional Set only for iterative methods: :code:`'SIRT3d_tomobar'`, :code:`'CGLS3d_tomobar'`. cor_initialisation_value : float, optional @@ -935,6 +947,10 @@ def find_center_metric_recon( Rotation axis location with a subpixel precision. """ ### Data and parameters checks ### + if ind is None: + data = data[:, 0:1, :] + else: + data = data[:, ind : ind + 1, :] methods_name = "find_center_metric_recon" __check_if_data_correct_type( data, accepted_type=["float32"], methods_name=methods_name diff --git a/tests/test_recon/test_rotation.py b/tests/test_recon/test_rotation.py index 5f6377a6..bc1e7719 100644 --- a/tests/test_recon/test_rotation.py +++ b/tests/test_recon/test_rotation.py @@ -48,17 +48,18 @@ def test_find_center_metric_recon(data, host_angles, flats, darks, metric): range=10, step=0.5, reconstruction_method="LPRec3d_tomobar", + ind=64, gaussian_filter_sigma=2.0, squared_mask_x_y_size=[20, 20, 20], ) data = None if metric == "tv": - assert_allclose(cor, 86.5) + assert_allclose(cor, 88.0) elif metric == "entropy": - assert_allclose(cor, 72.5) + assert_allclose(cor, 81.5) elif metric == "sharpness": - assert_allclose(cor, 87.0) + assert_allclose(cor, 84.5) def test_find_center_vo_ones(ensure_clean_memory):