From 9deb8a323889fbacc679fc8d3b4c3a39cc07a92e Mon Sep 17 00:00:00 2001 From: "Claudio Maggioni (maggicl)" Date: Fri, 27 Nov 2020 23:19:51 +0100 Subject: [PATCH] mp5: done 1-4.1 --- .../code_template.asv | 41 +++ .../code_template.m | 56 +++- mp5/img_my.tex | 257 ++++++++++++++++++ mp5/img_rcg-1.png | Bin 0 -> 58872 bytes mp5/img_rcg.tex | 26 ++ mp5/res_log.tex | 257 ++++++++++++++++++ 6 files changed, 635 insertions(+), 2 deletions(-) create mode 100644 mp5/Project_5_Maggioni_Claudio/code_template.asv create mode 100644 mp5/img_my.tex create mode 100644 mp5/img_rcg-1.png create mode 100644 mp5/img_rcg.tex create mode 100644 mp5/res_log.tex diff --git a/mp5/Project_5_Maggioni_Claudio/code_template.asv b/mp5/Project_5_Maggioni_Claudio/code_template.asv new file mode 100644 index 0000000..3c7199f --- /dev/null +++ b/mp5/Project_5_Maggioni_Claudio/code_template.asv @@ -0,0 +1,41 @@ +close all; +clear; clc; + +%% Load Default Img Data +load('blur_data/B.mat'); +B=double(B); +load('blur_data/A.mat'); +A=double(A); +ciao = A; + +% Show Image +figure +im_l=min(min(B)); +im_u=max(max(B)); +imshow(B,[im_l,im_u]) +title('Blured Image') + +% Vectorize the image (row by row) +b=B'; +b=b(:); + +%IL = ichol(A, struct('type', 'nofill', 'diagcomp', 0)); +y = IL \ b; +x0 = IL' \ y; + +[x, rvec] = myCG(A, b, diag(IL), 200, 1e-6); +semilogy(rvec); + +[X2,flag,~,~,rvec2] = pcg(A, b, 1e-6, 200); + + + +%% Validate Test values +load('test_data/A_test.mat'); +load('test_data/x_test_exact.mat'); +load('test_data/b_test.mat'); + +%res=||x^*-A^{-1}b|| +res=x_test_exact-inv(A_test)*b_test; +norm(res); +%(Now do it with your CG and Matlab's PCG routine!!!) diff --git a/mp5/Project_5_Maggioni_Claudio/code_template.m b/mp5/Project_5_Maggioni_Claudio/code_template.m index 3a0edb7..1ceabd1 100644 --- a/mp5/Project_5_Maggioni_Claudio/code_template.m +++ b/mp5/Project_5_Maggioni_Claudio/code_template.m @@ -1,9 +1,13 @@ close all; clear; clc; +addpath /Users/maggicl/Git/matlab2tikz/src/; %% Load Default Img Data load('blur_data/B.mat'); B=double(B); +load('blur_data/A.mat'); +A=double(A); +ciao = A; % Show Image figure @@ -16,6 +20,54 @@ title('Blured Image') b=B'; b=b(:); +AT = A * A'; +bt = A' * b; + +IL = ichol(AT, struct('type', 'nofill', 'diagcomp', 0.01)); +y = IL \ b; +x0 = IL' \ y; + +[x, rvec] = myCG(AT, bt, x0, 200, 1e-6); +[x2, ~, ~, ~, rvec2] = pcg(AT, bt, 1e-6, 200, IL, IL'); + +figure; +semilogy(rvec); +hold on; +semilogy(rvec2); +hold off; +title('Residual norms over iteration (y is log)') +matlab2tikz('showInfo', false, '../res_log.tex'); + + +X = zeros(250, 250); +for i = 0:249 + for j = 1:250 + X(i + 1, j) = x(i * 250 + j); + end +end + +figure; +im_l=min(min(X)); +im_u=max(max(X)); +imshow(X,[im_l,im_u]) +title('Sharp Image (myCG)') +matlab2tikz('showInfo', false, '../img_my.tex'); + + +X2 = zeros(250, 250); +for i = 0:249 + for j = 1:250 + X2(i + 1, j) = x2(i * 250 + j); + end +end + +figure; +im_l=min(min(X2)); +im_u=max(max(X2)); +imshow(X2,[im_l,im_u]) +title('Sharp Image (rcg)') +matlab2tikz('showInfo', false, '../img_rcg.tex'); + %% Validate Test values @@ -24,6 +76,6 @@ load('test_data/x_test_exact.mat'); load('test_data/b_test.mat'); %res=||x^*-A^{-1}b|| -res=x_test_exact-inv(A_test)*b_test -norm(res) +res=x_test_exact-inv(A_test)*b_test; +norm(res); %(Now do it with your CG and Matlab's PCG routine!!!) diff --git a/mp5/img_my.tex b/mp5/img_my.tex new file mode 100644 index 0000000..7d15c02 --- /dev/null +++ b/mp5/img_my.tex @@ -0,0 +1,257 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=4.521in, +height=3.566in, +at={(0.758in,0.481in)}, +scale only axis, +xmin=0, +xmax=250, +ymode=log, +ymin=1e-06, +ymax=118.544185368288, +yminorticks=true, +axis background/.style={fill=white}, +title style={font=\bfseries}, +title={Sharp Image (myCG)} +] +\addplot [color=mycolor1, forget plot] + table[row sep=crcr]{% +1 11.1886780605947\\ +2 37.688016651504\\ +3 20.5612191459901\\ +4 10.1126098486914\\ +5 6.60295496425051\\ +6 4.03660691189902\\ +7 2.83696084221764\\ +8 2.02776259797851\\ +9 1.55623996384361\\ +10 1.26373343652138\\ +11 0.968080560648255\\ +12 0.808014633949812\\ +13 0.666010141343337\\ +14 0.547935882226161\\ +15 0.455778233603678\\ +16 0.379140935249178\\ +17 0.325385471261729\\ +18 0.27468130551472\\ +19 0.241318492631058\\ +20 0.203089896725741\\ +21 0.186402910640978\\ +22 0.164285195168731\\ +23 0.161498606695505\\ +24 0.13554465057248\\ +25 0.108256329622331\\ +26 0.096685060868788\\ +27 0.0901032819163635\\ +28 0.0846560423043152\\ +29 0.0720452421305809\\ +30 0.0638081561682231\\ +31 0.0586938472203618\\ +32 0.0524931123015411\\ +33 0.0500311324114693\\ +34 0.0441377829780386\\ +35 0.0430660141184194\\ +36 0.0399007401033348\\ +37 0.0357338939687774\\ +38 0.0334582949737502\\ +39 0.0301143079798452\\ +40 0.0277450095617363\\ +41 0.0246457162237748\\ +42 0.0226451015644127\\ +43 0.0214585559097522\\ +44 0.0197750620834928\\ +45 0.0184656387170807\\ +46 0.01424126114094\\ +47 0.014925314691824\\ +48 0.0138939777471367\\ +49 0.0124854196790047\\ +50 0.0121443393806818\\ +51 0.0111248201462271\\ +52 0.0117048407914948\\ +53 0.0113323279545552\\ +54 0.0106729739632728\\ +55 0.00944425804326873\\ +56 0.00871066933482761\\ +57 0.00881210600673333\\ +58 0.00795156096327054\\ +59 0.00726613636631538\\ +60 0.00700470814378812\\ +61 0.00621935380743637\\ +62 0.00580029695866593\\ +63 0.00557779006381989\\ +64 0.00510498070037545\\ +65 0.0047009622833176\\ +66 0.00438789538442034\\ +67 0.00435585711109691\\ +68 0.00396640165581629\\ +69 0.00393477324085466\\ +70 0.00371617606606877\\ +71 0.00327886320159879\\ +72 0.00312237367539779\\ +73 0.00299349690875735\\ +74 0.00284074963413765\\ +75 0.00287860679448775\\ +76 0.0027731320103853\\ +77 0.00263952084059243\\ +78 0.00233720240014001\\ +79 0.00212697729708345\\ +80 0.00199788688851914\\ +81 0.00191003161317315\\ +82 0.00189242158319258\\ +83 0.00174836410231261\\ +84 0.0016140985772839\\ +85 0.00153318949743614\\ +86 0.00147245713810495\\ +87 0.00150762346036416\\ +88 0.00141698818640003\\ +89 0.00132612374554337\\ +90 0.0012294024439175\\ +91 0.00124357808130644\\ +92 0.00117351874267278\\ +93 0.00118805545766119\\ +94 0.00114318803197479\\ +95 0.00110915873689051\\ +96 0.00101959224657441\\ +97 0.00102415265668903\\ +98 0.000975302119471475\\ +99 0.000987996366258813\\ +100 0.00095742632740931\\ +101 0.000934265103971271\\ +102 0.000867894211150555\\ +103 0.000857812123034294\\ +104 0.000756099336226914\\ +105 0.000691162784782045\\ +106 0.000695473018163751\\ +107 0.000633925014757231\\ +108 0.000590287819831721\\ +109 0.000535337664369594\\ +110 0.000538252780320825\\ +111 0.000525826256051619\\ +112 0.000497879429315293\\ +113 0.000454616010876659\\ +114 0.000458838481347935\\ +115 0.000424839125494755\\ +116 0.000394335524998984\\ +117 0.000385945051019674\\ +118 0.000369692359961463\\ +119 0.000344267565220491\\ +120 0.000327893992619588\\ +121 0.000325828293258797\\ +122 0.000289237146884203\\ +123 0.000285070703523818\\ +124 0.000254192839215692\\ +125 0.000243444971741076\\ +126 0.000232080954193898\\ +127 0.000232619238643129\\ +128 0.000221784687572175\\ +129 0.000220230466851297\\ +130 0.000211029395043088\\ +131 0.000193736708718616\\ +132 0.000173392267570507\\ +133 0.000177242279228775\\ +134 0.000176692274847942\\ +135 0.000163578052215373\\ +136 0.000154604812916662\\ +137 0.000144545518887022\\ +138 0.00014456301163485\\ +139 0.000142459358743701\\ +140 0.0001308824450235\\ +141 0.000115457857714896\\ +142 0.00011695471803412\\ +143 0.000113103879953932\\ +144 0.000105257482462195\\ +145 0.000106888699118678\\ +146 0.000102374869876372\\ +147 9.76413644339824e-05\\ +148 8.4851357550636e-05\\ +149 7.68259382254786e-05\\ +150 7.45049326964518e-05\\ +151 7.30876640535304e-05\\ +152 7.5125116902824e-05\\ +153 7.84305708028061e-05\\ +154 8.45501238033231e-05\\ +155 8.17331778157062e-05\\ +156 7.55108766404751e-05\\ +157 7.48398655259728e-05\\ +158 7.14089505651308e-05\\ +159 6.99224620714426e-05\\ +160 7.04197347847714e-05\\ +161 6.53525683701177e-05\\ +162 6.08288863097357e-05\\ +163 5.89421929587584e-05\\ +164 5.72484731968775e-05\\ +165 5.18959286578684e-05\\ +166 5.16052819357681e-05\\ +167 5.18373975156787e-05\\ +168 5.1438260693119e-05\\ +169 4.74780120078228e-05\\ +170 4.76692285194498e-05\\ +171 4.63049226435535e-05\\ +172 4.3021574259984e-05\\ +173 4.34691080338747e-05\\ +174 4.07308380659776e-05\\ +175 3.92273577862465e-05\\ +176 3.78686988818524e-05\\ +177 3.75780813333193e-05\\ +178 3.89427911494855e-05\\ +179 3.55021611298483e-05\\ +180 3.21423511450592e-05\\ +181 3.1976175682275e-05\\ +182 3.15208931332488e-05\\ +183 3.02809343645595e-05\\ +184 2.93752192595988e-05\\ +185 2.83798341644248e-05\\ +186 2.84874468500327e-05\\ +187 2.6372748821241e-05\\ +188 2.83572106563901e-05\\ +189 2.73404573666424e-05\\ +190 2.64050982491902e-05\\ +191 2.68346097335579e-05\\ +192 2.66791537496404e-05\\ +193 2.44823861206895e-05\\ +194 2.44167662294569e-05\\ +195 2.42329915293711e-05\\ +196 2.57959950015393e-05\\ +197 2.5330918832603e-05\\ +198 2.43122483048608e-05\\ +199 2.29066675778814e-05\\ +200 2.28422313595056e-05\\ +201 2.2009103500163e-05\\ +}; +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +1 118.544185368288\\ +2 0.687337944312083\\ +3 0.0352052378196977\\ +4 0.0177116530504275\\ +5 0.00921115423330148\\ +6 0.00742079353381528\\ +7 0.00435978025623298\\ +8 0.00269077966124769\\ +9 0.00326151218772164\\ +10 0.00207394458931424\\ +11 0.00295893040643868\\ +12 0.00133204038205353\\ +13 0.00183522720801244\\ +14 0.00145996981575274\\ +15 0.000990797743084482\\ +16 0.00126621063572918\\ +17 0.000551496956428083\\ +18 0.000515017395303755\\ +19 0.000232316315215174\\ +20 0.000223232804362511\\ +21 0.000208790455128303\\ +22 0.000151172313680646\\ +23 0.000161588020568097\\ +24 0.000122705865740307\\ +25 0.000118687703674217\\ +26 0.000113287133295243\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/mp5/img_rcg-1.png b/mp5/img_rcg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a5b68fd034fe14d7176384d3bb14ace09fe28204 GIT binary patch literal 58872 zcmV)aK&roqP) zC#*jxuRkfWKq|CAE4M)`xW+^;YUB?M?vLBLgq(A=to8AM@H*NNbE>S?MO@RNKEiZPVq=j@<>qg zNK*7jQ}swx_D5FtM_2bpS@=g<`A1v&M_u|xUi(I1`$l2>MPmF#Wc@^C{X=K{Lumd& zYW_iM{y=U1KW_g%aQ{4U|2uR4IduOxcK$YZ{xy01GkX0peEcze{4js}FM#?lg8D9l z`7VU`E{6CnhxaXr_AQF_EsOLmjPosy@+^<>ERgUkk?$&#?kSY*D3$Cdm+L2(>L!`# zCYtCao9HE+=OmuyB%kFYpyeZ>)ef`N3$xM)w9y8&&jhy40=LWox5@yx$pE>>0J_Ejy2Jvz z!UVg)2E4xsy}b>+yb!*+6u!6@zqT5{wH?5-Ai=RC!LKF4t|!8*DZ{EO!>BC8rY^*# zFU6xV#i26BpEJjuHOHGa$eB3EmO06kJIRtg%8)?HjY7(cMazju%Z5wKgig$XQOti- z%zRhOdRokPUd?o2&2nVTZ)eSHYt3nH&1Q1VWOmG9dCXpY%v*uXS%l11h|5!p%TbTZ zPLs+@mdZ$)$wr;YL!rn(q{u#}$2+UXIj+Vxvc@&F#WT3XF}uVszQZlT!z{(ZD#*bp z%fTqlz$ehZC)2+t*1jj%z9`$hDBip&;k+v2yesCrE$F*0>bfxOx-##&HSxMP^SU|p zx;yu}J^8vm`@25;ygvTDJ^sEt{=hr_!8-oJIsU{r{>3-`$2I=QH2%sn{mU}_%`yGX zG5pXl`_eD_(=PheF8S6i`PeM@*(>+kD)-$g_TDM>;3)OsDD~qf_2nk@<|g&%CH3hf z_3I<`>>~Bj7%&|SF1XjkX;b#>ea?NJd*9_FW6^|I@Av-R zU-{M&F;2V1<8|6?cCXED?&#<+JN=!Jf#HGvzKG2vsjVo;E33d%WAPXa7K6oA;c&QW zVog1T!eX<;9GOJGa{w3 zhsA2Mn$3m|gU;x-+nrvw)9tjGT(fr{K6?J@#rzaujVigarAeh$HYyq$m8}|O zV`F1ev#MFuq-ur-DP=O5Ql)HaQmd6pl|muY=vx%>M)-Q8N~sn}6f%XPQ7#or`Ft*) zO{3vRbZ)cG>IrmpcX_Q&r_1a2`@=zx$Kh}~oIaP^A8E|KP2S)^8@q_yZw-FyL``T(Fid zhu`fEclQkq4-fQpI@l6;!H{$r|M{sT{g5SIPnL$ZE*o0rDn=R4j((Hp&_$@D6|=5=vwem>75`lSqVO zsSrTPVbs@=aF{xlq*ZTrKyy59r`=(9+ih;Q)8#^{h9Pyi+#Zj|>9F=KKX~!-?RRhP zkBKU(Np&=O1Cz;uDdKQhT#kUp<8rus_(a6#ibMi7bc|Z?hm;tn-|G+f18%q5x>gx|!G@^#Gyu5-^6s8JSjV4rKtE;e81R{x4Ph+sTJRwZ4SR|H$LWu|t3Kl>h z74swl0h30nB@=NtGOw}KXmR^O0T^qC$LDc*T^^s$16^{#s6*>v)&U2Xx1K(K{rc_m zJKkCho?H*Dp)(mQE|<;Vvbj(=Q^XVTctA(cEs>O8^L1)cLX0cmaR&T;kI(IMS$!U- zr?b1KZ(wk+w?C*?OUT7}IfbRA=xXRV9*C|QTZw~-ucy&q8F_;D2aVJM2!rxPH56(Cm(Ae--uWWAyip=kC>!MfYK1~2k*Z{knl_DE zrGTMVH7c9bZH;OLtOd|tqoPR#tfv5`)3mBun$#*_KXprsQqkNDNP#a4#R|E)sR@Qf z#BHF^ne_yQLT9o00$n{l(XME;x4Wyax2r4C9gKtk?LIrOo!8|D5KP>E{OaBJ?_TZn zGjYUPD4oq_A!NknbA-@%mQci(fC%yVGL?Yz#U~jF>1i=`n-x~jWktBdWOoLF-O)%i z+7k_jJjNz|T}5tgUSVZ*C7u98hpEI=Afk;&Grq0zj$+=uQkeh7i6O8GRM7 z9CQ)JAIMB3mdSy>psCPhDc~AtR;ExZMRFl95Q24qkj3T0hznsgxd3}Uhe@p`5o&Qb z48E45(sXn<{lSpWhhW|B^TB{SJT|M{;dVG2W}DGwHkmv(H=ewB@#gijIRhR`!jowv z3LXS3k9!Y|;%{P8RPl$eqhpOP5k@%vpqkKg6+x!rbGCvaRZ0HHhD8FCw% zd8Crua|H$H>PiC88>XtNx)NQDtEr_n&|pnr)~fh{ zrIsqx@O`;b3PS*sArS~c2UM+1h%idzjlgjt5JoAY_fnANLfnNrulU~~8& z=nOU+a4rPr0ne^%8Fw6qgj^@cf@43i@1Lo6i^O>W)I;FatrSu~o(@&p%gK zR)MXo#^LdmSh!(8abGcY1M$}EJM7SQl0F(#qN6-&QZG^<55y#5QK0l{G?pxCwpfAaBEd*75DY~+ zL!qG8;q`(h0nOR$cB|cDHJc2f#Rtz`zxw{o-Ze3fNTk-%z{#;Vz;!G(AC?>rPTAZn zD)=~Ye_CcrVp3XajN1iIgOu(C$?yicdwRP&yCNa@B`#a5w7w)ar>LwPQ%%5BgR85q zLRaBo*2(n^KqFkf7<`CGDn@*bT#ndOsk9Mv4A>j_U7%`mnLr^%fDDfk!>EB8O5k&N z5U3oW02B@sLMRmrc%VB%SO5WFlh5TcS&Vuzp|-l3K;|ipR+ldr>Ff-K{eHL)g#r#x zbZ|BQr*OO3V(riyC$=8HdiD0ZSDWF6N@7i21C36j0o#GXvxOo!Af>WJSo}$Pa%yr~ zN@7ZSMvPHwu)AE~3}FpGDTBdq7@i!oKIkyD@Q9`7zRfEs0eY*#lvkor6%{~u1OlnH z0hE&s-Uy%x4gs`MB8EdpSQJzlkxyVN38=eJgbbX3$7h2kfWk6aJn&awreWlv-S7t1 zgT>^qIb0Y@0Sq~l&89bi4P(_*p;2XJXd#(~)+3gOi#cb{{ z7(4Xs8t;wWXRltref{vZ7Ur|2jt0t3V>0P3dRl8Tc&JLs+vK$BtYZ>aB1Lo-v5Lg`KDM1o=>H2X@huS^fP1gQ?)7*805+4^ zVjREs?Dgv(e)<0XC=&y?q(Q+P9yl7F2xM5UY7!P7j!RC9-5;Nrnv#9sP>jz9p&*Em zW-!>*(>u`D)7=^Lc|(zKz|t%rm*$?$FGr!OtC7@J4L39vPpF{+eX==_gP?1mS_o1B z;4t9tJ-r-)h?EE3T;9~AlFRvEe&Df)f94C}AVAN+!SE&TCqoI+CV`J(4g^TdKo%07 zPykMZ)c}SLTSFJC+AVgk&l?PPhC`hYIJ}TKg5bElE--k0FQgd@WKM(Dv#|I4&3E5_ z|6<*S#@A6BsC38z;OMwKfj}&47r@fuRnBI-zu^ytjW~XrQkv zxCfDw@OVrv2TU|loigd z4Oy56q$E=bQHSH=QWHSf(lXN1k}?m(1VTYy0O}8QMxp})g9Cm2fOar;;jq`-A|jRL zoG&h_sDP-B$K$K2Dl0KCMo>B(8Cr;iBIMA4>qH_XfXNj|K1V#Nyb*jW)TUH`HAV6R zox|cF4}!6WnFo-7^A*eG@4*5N7jzd{MxFr4`p|nW1ejWK9g##~@a5`uvlECe6o!&L zfKGp>4@w4SDbb9-yY<-1Q_z5Ds+cYA{k)nMftpmrXj?m~r9Q1;ungxI8v z^yJKp%=Fas0|#ONK?t>lLS50`e)!kh12hVzzBA-CH4BMlIeGbIm8dEN>($t5GzNo# z&`PC2@B?|{b9i7!fIbn%;tQd0Fl&f;fVoE~9rO)RD`0Fm0xnP+w3E$ZfSpFB0_0C2 z2loeHM{*D!A_hDO;tnBYvgkAlrJhWrFgbE{o6(Lm*dGM@?gIwV`!0(3(w``7nfC{Va_3`LuAEP;z^Wx2J{dpp34J! zf|M@ca)HP|!-X=TK&k-iu5JVd1aX6uDiea6=1E0D_`U!Mk6a;Qa})~1%`1^uuWC{v zmRBM~L{FwrLA*nD8o0Fj+Io&u-EK5H-O!BgE>NG&5ZJ9yIO1~q{eJil!|4aDv)h5? z^%w8I{Nb0Me){3@6uTS`DT~450E`q$c78SlmV}h_^sIx~8QEDG=_#o(;0V1wSi(S8 zH#{#atk>=F!T^K=&JHyfTXgz(ZgCkJjY6X;D^Vy^1$;!Pp->uV$kq>&$7X;aBTUNT zAbC(B<_S26uNO-M2qdHeB;@dfEJg#1Mq?notgoZi!w*UkBP`_bxNrk$gOP;ye8^Y~ zU}YwQR!1h+5QrcuBpOew(ijXztHo+{xXm`uU>nFeyt#Y<59pi8WHOqy?YdTVlYjBS zi|>B?`Ipxlb`*+$CDt}jnH+(Heg5FSgoOCm*aL?T9z2+tl9Cb|n;H}Di~wx}B0bRV zZXi3vEc!#RxB-`;iGwRXbt=E0q6&*aW2&k#D0C(Gcs!X*VKJFZI7SZGCGa6oA0p*Q zMnPbXcoYaT@QDbSVX0ieL0F!{XkY?+!IH69FwXE0NW4J40wD*0!{f_=|G_8#=L0R% z>Zz1EY8|Pjfh&-=Xbono)8PPRcf0(E{{&(KUHAJyM7U4i#c>I#Jswd?G3 zceL>FMW@f4FF{qJp>i}DkA^#7JVG56EE1gohX@rRrVd;S(rGAEgm_Xgc48nf@%t?o zgbqO9I7}FJo`6APKpds9AyL5tAq4OsPx67=fcz2u2aNEzG&YaHqJoLXRpV>uLRD*< z9@=iP*t}r3k+LDOy`OOay3J}a>a;qoUf-^5*SO}P?LYkd%iEnmRRs=9B-gVg{E{Py z`{VW}CZ!)Z{K?_0^t5!KdC2SFiy;to_4juL+<+v9%Nywm2LfS8ZZ@R!Qzr@vOHr8j zk`8@`-VBx4h9caxB-M8BS z04^6IYIgANCPNz(ZqRlZ+S>;=_TK#X(=R{0oR^gou@nkJNGteVd}4Aul%A1&=ty=} zdTK^ud@_XAP$=a0NBRc(LLP_7VlvzOU7cZnu&cAvYi*U*7U!JID=w}ChQ|>r!NFHy zkez^<_j>_6o`B2e!Ym`gE|wz5l_G{jig;K7vIzsoht+6S>n%E?v$MB%WN7fhwV9hY zuJxIkIaEpm2&CY>>?)Ad2TK6v2(j}35jFz=Uq`~@DNMdnqt)qjdXvTC1Rv{mS)l0- z$k-mc)oQmPMpm!Wzkf(;oBjIz=kK8H@AmpBBp`Vny)Yv#et%M2VoK(L1BZ_sI*^ta zmyn#8nj8c8al1o(y-}~-(AwPEZuEqMFanT|yw+whsqpm4oPtsmR9%TGhf%LU6G-IR z8gd=v3pOB~!$4F^D3nVOeF9@9k_tHxYQXFWLDQs-TCL9FG;2+Po5Mn8=>cVgH8ub*RHc)-F@-)$N&8AzrUPS)N^=chk?-& z;u8~-GPAR?z|N#5#wDf#(Iv)!p^5el4)lf{28}|c);l{RkYqZ$qhY^UBP14{IGbBk zf~vsa5g&)V;fOUfCJhlJ77Qv-8=oh7Z^r<$BEUQkCLJ+2Ky(HeK!>@dSz~tid%HvZ z{o@xeUz!{m7#N+JxH_{qx4JazXVf6R10VuEPKX#;fIAQ5gGQlIs1#xqv6d-sYSWtx z$hjA@6_m~4a@YX*5ZTNiYJhcPheo5-v}&~NT8*Y%?O1#S;{Mlv{P3uU&8qwqs68Pm zF)cMKJ3A{SBQ-HTB_lmGH7PzR20~lk@JN3c;N2*atBvkRw5tnDZFg6vMI$5S9Y22V zTtQh`B?i$oNO0BFL~;W#G!yg}`VF)OCJZPJ@w4D!;lKp~sZy<0N`%d}wl|YD1pa(qS?h^m?OK*RIvJwrMnNtvYx=eD~?QpMLuL-+$UP zU_OnH+y7BgeCmM%*$1=JQ_~Xmr)FlSBqhZ`*F%x+zTu&6uT8IjAl+(pLwtqequpVz ztxbf>{pQ=#`6U&lrR9|vkhqFUBEA~54e{_C78lv%=d%SOF3>z;>O=xCClbBhrdM$p z(xz6mPOodzI&9Vs6X<4FPfz#wWZ%g6g^|lwZ`_<+m|M8Bw6@&GBT(RpfG5}tu8d3X^S`waAQ%e^#w(8AhV+Y(!5KfWPP9_t4jC=uftsM&2wdq6ol!Z^sfHFk-ko+NzJY! za$0Tf&YrGlG|~kMXKj}da*uy=rsRAnFdV9)0#$*a9!IFHZD7(EbQTL}9>NG)Amjtb zi^O~$Tij)^d5mpB9-9p#+@z2-Hkl22yV2^l`ucl%hk7G@6O$K4uHLwD^TyoV!qURh z+Sas&SO;=Xha61jA}3AQG)SD3S`vYP0gTavDvb^dn*sFA*kLd`LEWro7;e4Z08r4i zw`<$rtqppvY18U7t1m0Xnei!U zF?~bhV7W1WzurlH6C0P9l$e}$;NXD+ z2eXqC;}f#7Qj_9RQj@Z?V?6$@zKF*RWL|QrgeKM7eBp3s7qUC)Gq>`vd0&0`?Wwcp ziwX+PmzI{5msX%5vE%XNIvNF0CGg}-79>Ls7 zGXU(JUbEld*V8>XcKybcOUSfOU7ea;SiC(qw=^h1R}l$hY6GC0jDVelCsv`#P~|1% zXcAkjXw~W4T3diH;SO4CG{FkDsarI9EjYMVb(^MH*{o5uK>2Mg&8=;o#b@vS{@3sN zQvTeR+&4kt`#3rU^CdEWY#s|V4i&jL)IbO+bHhR1IqS4++ zBpmjbG$Qi3ufBlN3yO_@jk~NBW(k6wvsku#KaDo-h9&_i=j$&{oXsmPEP5W#a8OYp#U>cDzz0C~P73fWGG`6?v z5ORm2A;Po)?DZC-ZQ)A0>DKM#<>i%?JFBZ(JGV6zKqNRkkz7|xsRg%;Bj7RRXkxucV=&tt7K_zv2H0zw zo7Am3tIcR=N1P0TeXUm04!t&*pm<WQi88EF|A=?QU}2eJ=j zCc)?*`Hur1{6D{r86NHrd-Tfs{I9;ut>!eDJl*{R0C^aAm$5}aJn_{R-<-=WEJ346 zv8YPOaDaI%kyJyetFNck1IyFEZS%p*a~TR9sji+*rxK}*1`bcckt)PerCgoL6VuZ^{``~pU;W!RG0|?n*WAP?`}*itrz;sUy(ioU6c-MMLrxPU zw-bN)^EYSnN=wSi%2B12$U6uySUiycGfAmuF&Om?OeUb6&*l$Hs%z`(YLH=|vBY$4 zBah$lT%)fN1>}Lz|3LM)yS574W*vJpwT#NE^-!z zE073S20yi-fkdo>kcpgZ5JAtIlnSZZ*sg6=>6AK`(`5GtqL(ku&df~Tyg9wNyt=%$ zwzjdlzP_@%c6(`c_r*^?eE&R9UP^#TC)E*1^)xDhK%#M#Hed;e(w+W*Q`asRaCs7C zhZ&|HvWvxG)|tTWm>lK~Gt9lw>U6ohZcBA~0!VjCQu@J+1EA^gX{p&qKF&%=Oi4ZP z$3G_R|IP13{+OzN8(c`)2icwYN73hiz zm~~{ghDe6WsZ>gR157pqayEm<=UBv)Iy@E$nal=Sy@=0e3gqDL6l!UcOsQA38TAH} zGu%6T@!HhP?Cix`b2AG|i?es`%-_Cw?Z(2^vlp*kzy9$*|MyR-Q~6~VjIB2S03ZNK zL_t(&Om!s+gTqw=t72;I#K}{q z&f$fvc3)RdZ%CDwE4Cns$pT;_4Y6o0_>Ybz}D0+~W1Q z+Y9qE(=#`g_ntp}@%rhDmoMJ^^51t#j~AgZz$q0NKzv0NsZONQL+M_>+u^ddD_OYG z;tGmT)o!(zz`^K{kq2jE)*Arx9VVOA<+BU_v@ancDHhp<%uLNpO-hVQJ@`phLNYko zPrf~QWdC8j#u<(2bQ>G%i@!N}=H$s79Ix5p=>&!co{RXM9Zl@2Ge^HTo||7>T3QWu zuA;mGg@yz}s;QyWB1WFUVKUhq28+X$NSP$K)z*W>p)v#v7Pp?oY7hveN~Hw3o}@*i zR_ZO5a97v(%*89Wu1zn_Ub%UDdUAN`=K7NtPaZsa`1JYXXD?p<_|p%a$IqMx&y0e_ zMxl#K@U;S!&g5`AJr1kOs%sKdpF44?j4B20LwuYOl4=`JoX!B27CtpweO}Gk`28RK zCLt~<6+&u8YD#QELgu0D%TU8_4>^_H>YPWkMvI7*nRr+@!o^o zhmRgS-P?Wi^6ihmd@ud#Om1;eIYg$iveFV<9apI}dpu5LL(Z&I^Q%vM_Stbfw^7q! zG8+sgqaNfPX}AHX-hk}inX&2nKl<=D@$sPMnQ0Kv_a&!-swF0-r62gi*MB_xA7xUr z$>NT2Ta@IylezgtdFP6Wf>v{&ySKl806-sd>XkhF`Qs-~=jER-LXsOAgU4b}l~p)o zC!R{B*V7u<$k{wFb3z^&M<9R^r;(X_K8q)yfyEVwRgDs@PTi_%YSO{2BjEK#`zK~D zOwC-owRAJoIllDh)%PzR-F>k4WbfglN3UKyc>el_pZ>NA!#-` zygrxL>+?E{Z8FlyBL_aOXb?9WtY+};MypPTL|0e?z`M!r^YV`D|0p3LE-^X#z<~o< z2h-x>va&N$5>k?X_m@w<_~x@emP(EGjt+Z_T7b(x`t>&_PM!MpTxGqq)#M3+gOBz^ zeYSQv6O;e-U%ow?f4=y9QAtHP8eLXaQCR`514lx3&gxmn_7a=L5;JNDSmbhxI&uxW z0Y_qjC8=#-3-|)LQYw-)$uwYR+dA58CU?NsJ25sqJsI)%t}Z`#@L>1u`ts`9((2mA z&fVR;&3jvqU%!|>|Hosea&pg}IhS`XuY^DsHt9`p>j0;w6)~~L(qq#rdWhJ<| z_b1pv(IK5fZfA-_Bq9zEicTeS1PwF_y&hl7;q&A?rbOK$*R-~R_0$?IMzhJ|_l{m3 zzch2n;+t4}@L=!p-JN^)b~o=o+`WHy`~JO0&tE)$`?v3Z41Rn3Ozzp-!t(`%rPWjc z03H;}i|o&s+ZB}DL;DkdUs%gl>5XRaG00Z5M%!*Q0@|%MpP?u*>CeASPfX1^ke;5I znU zYvn9-{;_Y)~%|r8AIvj!SXkTw{Z&#IbRXPn!I+YF{ zo+A_pSq&sCnNeF)Ph-Jy5aAO#lOvOhWlAM*oF0A^M1QTi#botIBG-mJ9metXM-LzD ztlrys_+P?npx7!QY)jH7FVlCPdtIP`XiP>ae+-HhfzA zNBj20XB$C6<-l&`m4y}HY*55198f%-POWdCBm2dimiiiU zEu*d$TT=^DPGPc`bapKpxu`~_YHw_kH@CEEo12wQDi9&(a8RijTw0i4+g#av{BV6? zZFP2KapU3o%Ifmw%GSmnbp7GeC(mF1^tY?UfBDnb$4;CrB{0<*6WCLm(}LJmQBBU_ z_;!OW2>9m3<)XU`BdeYyw7Y`Q;b>p9rzafsSetouXODe#;#@9} zdo>zUQB{eBva29cK{!RW=D@yll`YV4urdvBUq_>|m~0W3CsHY8ipI89eQRrn)(E++ zv9+aL1I_bmTzBrR-dtI_`*8j7-o35WM;rH-xAz{rdHU$_!)Fg3zI^rW&AWH+e)#Uc z|9ee%?97S0!YZ2BXb*%VU4fuK6!zGfm=%A{PEJlt`@DoDQW@;l4!cQf0=I))Gv1Vw z5T6{E5|?r?`_O?;4js%)J$&R~VoF-_#~&a5g?I#;=;1? z`Df4Mmorr+N3c8G-5u@jjJQoo4zcj)pO2r-DJw#imSbSx!C@jh(qQN4G&&0+D~+dS zRFlxSIvO36jY=gzmZj6g3WZSAq}F$6THBkN6wT^pwL+z7ZIZ}T{-xE0wcB&6v&+ki z^ULeY>x&C(cOT!m|McPg?FaXE@7{a-WN+{3qunPj|7-gA$N%y5iF^V_)oS+x&pB;2 zr$H+q7yd3eZr?}yvyY?bjqQ44yP;XF)mu8uHoK`Rec%41_|$~7gQ+P=AEzg!XBzu!t)|7G?Qln;p|Cp!d|XLUQAuI`xwC~Rj>_l^AiJ^1#h7kuD;Jx8 z?DMZ-P0A|DORCTn#bw}VszAt)OI4U07O;FsiLF2b@lojwHAGT9g-l^EX%dN0p;EW& z+99lVG_|%gs+9^!vx+MscD&+htiVM4rj;hk4pv+q-FiKK&UlpT3TD|fhd$7h&g@o zTw%fa!oq@_obzagT<7paBB5ZUGZ^xiTG;r!V_zIQn_pB?US3*(0%KVYVH$_Ul56TH z4FGbI?3%Ew0!zSCYbmugBywF%EtM_cHE^5cqIQE$BGxGlYPCkv$mgpB9IQR|_9gxKJWV9mv}>Exnl^*g;ch*cNlyIjXyz}SJpF4XFMU!_p{Xp?ukXa*M zQ!^W1c=U^tXTVmLLv*PqtAzN1Mrf{%Qb(oIsI`Q^bVCW6h$m2qbtE#GTn8DRE8ubY zd_}XVRU&Ivw5Xe!1TqdBg^kHoJ(K0GW ztkSfol&$S%yOjiR-yfTto_R1WJu^KWlpKO;Vj8Gi(!S&`8Zr z(xSqGf|Amr+`N1YQ*Cerx}socy1Jr1Qxk`n^Yz!K&YmeMDJd<5;DW7&S;rygT5DmZ z>uPYcr3*MTh5(FDpn!#^B6}Acflw$_wd({T$ zFRjc@OfIag?5y0`UfaHR_u*!aDV)#lU00W zyA_1({pC{Nt{Y0f$VyI3ii?en&HO5_#x}9IdEIOt4wxkWu|GZ`IVmOMz>)Nfg9i~a zcOWe>EBjDZ>b?&SW7Jl&wppR~2ZG^n5NW2p>!y_L9qkIKxVcS9VT!1Prs3}4JF7P@ zOia!#tX+(b0OseHx7Y7%FRyK`?%dzm-oCT4x&35s>)ykihfnYBzIgil^}E0Q{8v@R z@d}n21j*?_E(x}~4D$NoKc*%nrzGr;``{z`)(<~DzO%gjhD@(aAF3WM1xGFpzOQ8`c zEE2&{wg^!F*y}bp830vf#@=_)00vU9yyYhu>Z3f zjm6NRX>)XTcl-T5zc=U)#8jLw1d_`sI-h^;Ts2+U?g$0@x}sf?zK~nj#I4Tx%a`AL zd+v08QCVdv231}H@32)wB92;1BB9HIuSVO*r34UqJb}cdGk8=Ujl~x>Nn4uLf(C`W zSt*clC>U{fU*F`-k*m{#m#Wm_08qmi-@ngv$1)5abbOPw1e3xN!cj5-Ky8NI3Pm=0`7p{ANB#w zouu_n7q&b{N=H;XA29#$zm(Z0r15TTJd;B zEs21szPdNsibvrpur*aRj0PIq=w!ZBu42ihbyS5`E)xjFB(l15V03C~v@;3>f3dgk z!ljGXZq47hwYoU7bbIZ_+RCjPb6cCcTU+;c?rp8zTU+0PHQ3wUdHC@0tH1wzGv@?F zpffw|_Mq4A^SWBZ#GJ!%N&8~=mCrtXeXZ-xtG~Vb<>&8ydi&4+Z~K#d8F8s8DPUky z($g|NP6IN`$~cska`3EJ>o93rO`V}o$QN=40{)OU5>s#r#H}E=yf7!{ESfB8GkXKQ zJ;(`muiMuK9Pk;H#=`&@8<&`BER9R^Sx~Lk5!(r>mwWLz+{d*A(Ga39^nzB*G;x;89SMRJW zUA;1QYiVnFae3?h^4iYo{Lw{Gc##C3J%OQ#5DoXPUi1cQ=uWMkeudlDCFX*wV`MA?xAN}T= zbGfDH>T1Yr=&I_fG8~Rbu47Oe=xE)Gl?cDQ7$_f4q19DWSY)nD+9(uB8C-RXk}s0- zsCBi53uBX$69c`y<5Lse6IXBCx_a@#t*xb%nfV(FOAB|d+}hr|yYb-e`qIXeo$b5# z@9jL^d;a?QiziR_o;-W`-H-qIf?6&!*nPo3Po%3mVAo2BIT^A0e&+zNhemh4fA{vy z%QtVI?Y{Wy|NbZCSD@nQ*_mkvQlawX{h0?29XW6??NC{Z*Jd^tT!Dzs@9_tG$OUuW z&Y1i&ImN}L1;xchMfoVIL}PIWdZRtPJ^ewKxrJGk^TiiOPvqtoBRhnZ=nBNdP|4Q;sE)2!&W?J)JM1@_5u*j#Q(dFcrLdJk9Lw9vd4Ddwe4ox+0fu zOb(4sPS0GqF*`dyGd(#wK01ASb9H5Y9-RI4Xu9}r%Ui+@w%kjvip zCqdIwl9G;cZC;~ZXLEZ4$P0$xSdau9j5%LeP+C$^UQ||6T8N@a+AY4W?!MkWfPBEJ z;ee6->e#8Ag5q)@cT^>E!Vyov;jsjAZ4I{K((9`(S_v9lJsy=yqEqNXKAX#B(inW1 zRMDsuH&oZ^`@6&aUErO1hukAqE?=4GAGvz#+VsV1Q`57vW1*47g&Xs0%d6LKu57H% z!T*K%yPG$c7Vm6sZLe+Z+<&(h#n3Fo=N|sFasAEqrT$ybU%!6# zaBpj2W$VH7H$VRK@7Vt<7VP>bV0hy9$H9l`=?4-%*ng->=W!UdmViIt^?SU*fFDY? zdc85lB}K)hkXy@3iVKmho86Hf=z6p#>bJMEv3cKqef&&eX%VWj402m_75G>zjz}QY zQfknIjmMXoDCNkjf+{OW9OQ*ITmiM7$8QkIrAn!cTFh`eZDUcr!!vlr<>(*3GBGqc zHF@#s+?6Ynlb0t4BNyjyU%PaDY2o(Lou#EaYx8$DH)i?_JdZ*1=DZ13zn zc`@Irwp$%`huNTS;Zz*MPrlll8ywnt@#@vHC%fA#D;wKSp1=M1A3s(6-*Jg4=|_O% zlH>R7OU}&9PXG14#GR2_9TtPm6AB=goq69o8kfo8jsd+Y1-DXJURGRKNfx(Rz2V*- z81kS#nh(myb9adLig;NsNm*yP2rK+omNvx~ErFWtPc zxO!({b#-NBX?rv3zOlBtwzj>#dUtDmb!B~X=i!sLH?=_VHcN-TRYsxsAHUt0zBIM{ z{KezP_a1Dot*&qGK6(B2r@y~B{j1o7q@)9fG7kXElQSX0B>mgJ{GMiVIy%6l27SmW z99Piqfg9L_m})c-bS0*$8dX*Xx~>He-`m#@wMRpac0RG->u*k;%_%HJS5~6Yz;&4N z3OoT{Lxyl(tp4$CC$piZs1!x0rBsv1rL`OiozEA`6p+-PqI`UjOmg^33$Y!)K45Jc7q;tnchRc>MhBcR&B*{%=1@M6@j{ zGb1T6J~=bvKxXW(63bd#E}OyR3q#kz%Xr*=kIUn7x?C~m&*zl_=8KCUwU^fknhe%J zXQZzmc&^i?;nw6H{pwpNy|}!x0-#ZhDlNrSR^o63EVk;5?%l0+J{?zHio_aBIjW9M zqt8eQ9!ZVsy|uFgkHN zcGfol7#o{gJCDHpz545wgpU%^lH+5OGBe}jAi)k78!c)alD^Fj=A zzJKj|3 zx_T~8FJ2$?hObRcj$gbzbLsNfC^-oAn1p~2z7 zZm&*E$US!KBytJ@Q&E9|z>0<%F;zqo5sxb=o_lfGp%T}ji8w3?jfOCXCowo&N-bS1 zWRjabCP#<4-Q?{McLYOSk?sqZ2KsxVqvHcJm&R?rOH&svOiWy!o*14T9lkYvePMc_ zdvtVm@j7I?Yd3GtZ*1PVb?5f{!s5d0{4Hqvu-0V1u>Jhr`qKRMr6Tm?Ww1+xAXj=Lm-vHv5x8ozzq_}$e|TtUbhO{67ZdZ3eRHa?G{2-0g+>~V0Odd$zbY@U zLjGO}0biL%*n2z~)=24Ca5*F*wuV?kr8aPC$y}+FLsr-jo(C=}$@Qh+@khpRlzf4w^%(aISFfI7AUTU*mWuVYec zcp?Fl&}cQ-Y(`a!wVh{loBYvGCk$Hf!qu74u1TAtZ*ppEaB_NbV0fhG;^oPu<@uQl zRSib@hqs&xjt2L?wkj9loCx^;Zw`ES4a=5&5RF>|aA4%x zl;3C@x;EB#;X?QDc>f4^r!g=$7e*#7U%ECmF>~|Q^wiw->oc=ghR3I-u8d#1G&M0W zcwu~IX>AVpZfWDe{oQp?y!CZN)7FuVz4_bg5B9*;{q<(z2XV=%aVe>Z2?+_wS(#bs zpXReVkSlPUz7UvqFtGvTwQ)W-@;Vo{Cx(g#cV1apRS90Dp4(*cb`6e?jZchB4EA`m z!kU6(U!TY+$SHdqkUI*AKsanSliv+d;aptqm`}u z+Yj!-obT-3-`QKbIJfoi@w0c||I_yCeTm@UGP5&c6OuDNK9H9B4b|YXS@c$KFdRf) z2^|U`f7vGB@%wx*^$=R~$|}n8i;Kb5RYP(!dBS}|BcQe37C(aZV78R9& z(?y|5N-H3|RaRG3m7b1#cYD&WZBg??EJ`&N1DubpXEoGQuq;iJ$*5LptPF<1VeYWG zS{s{f-oW@+S9iOvcXE8l6C4{Eyf78*8XF#jnAkfoGI42abZUBZ?8?>a(^tpGC#Oau zBfaC36TST&d*H^(!sx*D`PCJ~)!&)By}Gutc4ujAYkOno$x2_>=*-H_&Wq=-D*yGv z{RwfYNku(^8I*bRLV=;PeNA z-N>#~z=Qm~rNH~wMLONSm@=f@#RaeeCFOXkxZNJ=9vvAS8y-bU7vb_xetqgZVt63i zLe+@lEk{*>wJSZ<``yj4{?359qe)U%M=8!FSJ$!VL=>+>uTnIt+)cGG=avqW)nIJ5 z1)T~{z-Y9M4EJ_+BY*BE)ISvMjD~}q(f)y+uqQe=I5sggJ3TRRY4pN{-jOR)mxho{ zGH>td_RPf9xuuQG&7IYSTT4res~cM@ccAzUFtHDBgk6r_X>Zrh~b3oV8JvcJZ)zv#RFx2A;jYNV2y#t|0x7{8Y zxd1pD1aos?czk@MKQelCY}oI&_TF5*F>&qY!s^b0t(En~>(}R(?yN%ZSJu|n@9sX> z-Hh5j{WlEK?wgytM?Z>9&&o(kMdE5kV&cK0xpafgqHTBjkk=-Ad?7$Pl5 zXRhqs7#s19*xS`QMIEN9pqxy^mB~!4O|2@mQB7gBw6{1M+V*CL!=$r!dh{*5o!*|V z$jC@EI@I46@&+gSx(0^2tlntP=+Mx_WY19V^vuPPfwA%afxfAUsLOX{YiV-o+Wh9d zy@z+Vm*$pM78cjnw|8L3cOlU|c<|_g)iZFz#dBSleck`zNBiSafBSJN64}!dGe0|7 z)9SLD^hSRu+}YXbMJC-3^X~EaTmc_YeK01k=v=}1!u-7a!h#}9gQU$K=6)3ev@9OY?k8)6;&jtoNa7wX=Ew1 zTuQyDy}emuP_(rxH43-G)27mSq5-SP?H%lM2i=}X*zXBK+`3h_s$SK5)!k!s|LESIg<*IM3&Z;MT5Ha^_u6Y&^!m}+!=r`q z)&0ZsAKu+u96vvJe)!_~%geL#tMivvH&=kf|9GO(&25b|56-OY{!7Jwx4Y+nC*jd{ z4mbi9L41_dBv(uOBuWtBW}_8q&!*D@PB*3-1zZk&}Vk#YEbtap^V1cFQvw?tNQW9t%Uq9R0G-StblJWJ~ z*@e~FnXSe3>FL=SE8x3RQ!7Tj#(enpXmkJR)ek>?`2e8&{N)V*^0)8a{`m3ZJK*X+ z|NQGOKQ9eiw{^YXzgYbEOYmKg*$7xiXC%^*gv8wsD-s*k!!o%Ztopc7X9TjvWC73y zlDh%8z0o{sLt(RN6grniNuzUfTKW{m$t56P=9cD{XAQ$0#mS+;u}Mkvul0Mh3<%v= zfcSA(DN&i9-W;54%&HAqasOaleL+5(*6{W6c9*oOw4!lvSUMyZN&D+s`&HVJo-QcZ zG&0TVsKzoRm6;}HS1h9n%amc>YMNSHnVOgzpPHI9PE1&rEyi(`eEs@tXJ!BV>dnp7 z#qrU>%Tut}H#cwIz5fC+xDW4s{q5&p59DJ@Bg0FRYT3qr&cbbxct+p_?X3F(rF+^H;-#{hB1xS1jLKMq_#=RfS5UxN~5vZ1u;|cJNDVFg^YyEPr;9TdeP8d0up%=nrC!oq*U`}? ztuJY88tUqmi+g09rA<<$Le|%#8`tYVmQ_!Hbl%@n-_TUitTG#C$H&IUXAI`Kd82j4 zJieeGn=@%ms^R%(7yGl%o}YgC;pX({>5~_SCoiuqFF=xi5Axl+Hy=KI{QcM8KB*1U zBbv$nqWbY4{wwD@dpO3Kg!jO?-X{|z!lvdyNmp;bps%T}vtvLfYj2gvEf!55)R>@S zKp|}rNd!58l4XP34Swq=}!*67Kxld-uC{5ICYE#t}vG1T5Y)zD=b7ey25A zzs5IoaHBIBAi1j1m_~v3k11_HcBfHj8EG^Im&dOW45*EB(+i8s3kyrL`k~gGq!2$4 z>=ZhKl1@#A>NcUPKN+<2_@JCW-@iWFT{28*%_{XscUE>~Yh7b|!$2dix~6YH+|||H z+gQ@k+uPOC(V>wIsk*q_f+8k(ewBR%J@T<3PL@~#w987VX9s@C4&uKv!h!HULiL61UNB^*{6R6Xn*u~b}NQ;|nWVyhOW#}&o7 z*;Q2ylauC&-m3m~gSe{BD@Z*mnm<2VncX}CV)XU(`)k15&dy$6z5Vd<^ADdsfBg9V z3(zW%Qu{nJ-j^31OXZYlKK$#iq2Ch_I1&MChjw&wCz4&_S``Y}@W|N2xK;nPSDhK^ zJz`X8wc1gwUOPIb9F^N7B*mwvQ_|CcOLH^pIwT6i-1OY?>f-Fmlu_1F5EtMZ8Wl?e zYffPR^#%wX2gE!rH6n=h>!+(XFZQRWMn?Md!-Ewi<;4Y+oweM`Dq(kTdt+C9Sy5Yu zu(PAJs%ucDkd)Sd5HHT*rlusjN2|xpW>HmpLw!j?7`>#df*Bj^;eS8f?;mm%6Gt-& z)XqVr~5Oi zre5**P%giquC$>(qp-HKw^PvB)l^c`-YyWdG&T%ML?dE;69{!yIx{K2_r7OBpV~0k z(U`;L#rUOgA9#7(clJaeQTFzKNq%;$md)&6zXb{X=*7wP<=M%L!^4*^uV3H1eRXsB z=H1N???3(c^YwI3ZfapzG6vz8*fKmc*grI8wvK@% z2mBSgCDB+2zY~Kx0lXu5RAGegh=S`}c3Z{QA?0t}HD+E-o=4ot{0keEj1-QBg<- zJb{P@%Z?{vF!ru|iCiM-Q<*JR5bI-O(C!of7===)8P$DlZviz=wV^U05zfuX_(+1dHUC5ZDAh_>HATQaZC-+uhz*Ppk# zm~qjODXB?msk!wdyT>12mfb}l&`v}g0grVckx@ukQ0<6JGAK1qOjyh&J+vz~W-%J{ z>QN zNOW<*!LYP0#qfYsYncYN8=!3p2+5&x`mr&MYE%nt!h=t!poGn0(2}SeEJjaSE{(Tk(Xl5idf zTG(H1-TmHMyV{;@x;}flyLWJO^z8WL*^{S-&t5!z_TuQ}$;*q2tCQCsUrlkN;(&aJ zib%_;7mh4GJ^OjW{uTm(#9*-wFcb_&a3dlSK9vKqq26Jr3Jz+K3&a|rGXUJipysPu z$lKLQolb63TvE)>VsqH6to;1SPN~K?3z!_VO|vpgg2LwGDQQ#WlRnmTqAc zli~X~K04-sv!|<1KChM)?h&4vl^INlMDRlIIlyR3Pg+XMSMM&KJ$-g|eF>R*a&-wE zJl?#1_x8=3H*deZ9}|kIxt#RG6h>~xhBdG?Hd&eZ{7jJE*-S3Kq(!V8o19x(Sb&0k z)-3NVObhW3k4;IXgAAX+q;WVb$VuoKELLiC;LN{Yy?uGTYVNEa7|{1tvWklvy9BLW z^`*5?M;c*ESab!mlucnyqjl%lp`$qD7F?Lk1@9$7n zW*X~PUY;HAZ0|omIypQ!J~}=;K0ZA)B}sP8jW^zRHs!d zY_hrhEM68rBZJP#E@_e|b=H}=Y3K}Man>Xkm81j(ghj=qqyrWM0RgmE0eCzcn4T2W z@YfI5m&d1OO~t^lP{PkFYw8zv3fgi?>)YD^W38#|?(gpDlGf6DE7Bg5Jm?t@@Q!4x z6DqKwg8vAMbg77W$d0<_fXj-3=Pc{1`*z=*A8l`MJ$?S{==rl32mAZaPfnr61|ZM9 zzgnsbiZ3kd>FE*nDJJLU7ni1HHs0^J-NvGEL{}#~0fagn>*7Yn;bPi`WwL(l1XKZM zo`MPzEQT@t*FLP;ukE2nfqK(v6*l}#4z$-sVKCYJ{JJig);cpYH^00vzcOo-35$|~ z0g;6=JdMhvvw&L7U{a|Rz-uy+!YJ>4dUf>b#dE!}!`xn&Q&KJz_Ow=U^6Tr`+FPnC zi%MF{>Vy(iJ+&^<)iHn-go9y7co-IuSwsy+l02&Tu8Bc+P%w{VkD8Ui^1g$c*U$Gh zSGRVaK6$#e`(%4(7sUL@>G{jE>-QU_gh*~0pIP5)7&lMO&P>cKE$zHN5Bv^}#NbFy zju;#kXjVrj3=HkU7b}LOQq!cxJPsCp(mZaq8h~Omj2bLZNs3wxHEGiT)7j8gG@A*O z2|F{lzFnd+PR}jQFM-#Len?Q17VaMr4_!h5qLu+kSBSyWSs4s=N_6=C-_PD1zuUGf znnvURX*zlZ-R<10%BsftvZjWDMqyKKI;E_qHo@QJv0s80-pSt8{f;dvq&nP_gm5ll zCG(QMaZLDce%!h#VS#M#_|@sw+S2;Q_U_jD=GyxD_VzxYGlwUqXD{15Lx}ML9-mXv zZ!lXXr>7_8)}MYk3HcrYM`F=fj3btegQL*|5*CB;ual1q4#>?`%Y@kkoE~abX4DzJ z9yV$rHm@6lu1TtgZE_3pvofLUvzff?;^yuV{p7;(%IfOU;>xs1-dm9p8WbL%LP-P4 zjRC|R2c&rhjmgW-;xZ|bjlcbJ^X0^{vNah=&IzV zQ&|z7UXk&^4<8U8MkDNy4_OQ+7Z(?HYFJqo30E2R54^dlmJ;RVo2yqBdz&EAcb`4m z+1*=Tdwza?d3ttzbGcu3msFG)&?U;P&F?oG7dF?{Hug^5?B{yRddsN@elxi~*Mc)AO$T3T6Onw?r$n_D}0diea=-lmo7;YE%pNQf5Y6z7!5 z1}xLlGt19ki|}^#b{Gs2172jZBN~aqfDgjMoF1`6IASze$1PAZYzWki7PDncZ-ByF zrvoBUqf$#{a+{pIY^d>lItb*9?AjKwZUWk>SYBCJ9XBYtD-yu(9TQ7UgN~W0%=FX@ zkPjJ9hnj2-gBn%-e`wra?9H~8fvPlDr>sCD|2%)Q-Zuhe7&L* z9uUbe7_Hdhj=d8l$O%RE^m0Q!WWZ2^u}EGot90V!<@L$Yv%}r3-Oc@--IeM2?Y*__ z;NUp3Z~<9em+s@;Lk~7Beko=?Vp`GDalx-C2j(@c@$zwV3GnsyA*81g^D0~AS(K6W>+_5Am(O)-r9e*_u|>X;d7wi zj+gp5$)V*9Om?B9wV`)(vY5uqVY16FQSI~h5APW?iG69!wE|WX9OV0i5^5Jyt{8ycxW&)&X3KbcNH6#cdlOm z;`(%BV|8O=>&e>I-rCmI!OpYOS2yQ3KYY46n5d>E29|N7g6sR*dNj-9l}-*g3>u5V zW691guFmcrB$NXQ1M<7;eR^|eQ;kSHJwG>RnVOuMn3x52TP(okjTXxk2zdRd3M!@< z)s5JsbHR&~NvEbICnXlO4ropD({pok%X1q`R#kUpqOW&AL|A$p1-<;emjWkp@6)<@ftqs+A*~M+58h&+8S>%2H2Tpzuqmu$3fJh{I z2Sh#caYCSxwm1YFZI5{Hz&AcHrJ+)#Sl^ym+ud89n3`Ih1Hy4}VQGG9CUe!M~ zJq7LlSgm^V6aY7~MGw(=>m*bLuT$wqp(cfLo4oQ;=;C=Mk4>jAD@Ahs^QcYpux!>5}Unqpd{7nws3DiaOqHSHV^faORu z-qXpEeBaC6+sP3H9Xb(QeUe*yI;t9nN2lf%=Ei4crl4s8GgDI*(>Or)$!PL>04ODWu?D)bz{`{xUuMLGIwRNRcbv60?YN1%z(N;obFoGW^Ja)p`&Kz)+EZr8??)lguC+on zvTCUfhYvMCX8}%=nv`1D)H^&jHMOt~gzM^zVMJ7x8X6QF8B0q|r2!7hWoLjdG)7it zZeD3|L0(o?BIm>3fB$2O&B`k(D5@ySscLM2ivJrb9@ya=gS}8NI2wzHh;a*zM3chr zU}D>IBZBd_V0UiaN>*pa)U3;z77teUo*q5fnjhDj<`&ksrbms7druC|E>145uWqj1 zzIk_ZeLU4hk8`oJBgMFt4h>sti8urT>b2wS?BeF>M#du$4rn3@jq_%=^|jTD6r;nc zF*A@Z69CUGMyR2_dCCmn-2xolFg9j}My3GM8C({JNoP=58Pp_dVVzJuHU;2qb#-BF zN)K?I66O~c8BI-0OJ^|YJRXfkV`Z?o{5)=PSz!)8hm!W>KmPW0U_001BWNklHs^75amvjl-v#3s#eHbbe!hT4|bC-hO)c^8EDX)#c5rA3pr>{@wYCEHlab76R$( z!O*Cu3sES0dl(#pbt1dEyL#f`b`CHk8A%|ARSLW7n@6;x!wQvrbQCBz3)Cgo0C@kD z)o22^22E1XkBLrFkWVIhEP`mhP&W4q7rNH6kd0KxPFZ;20-@ zCmQP#=I`zs7K6J_tl`{-BkUZ$@ilj6ik@#w&k0p4^J~YuduvO8aqsLIv=i$qFODu= z-MoMG;nSzjAAbGgkKcd&d~B^|M*_O$84#kHUaujNu>@yexRLO z8J&Hida=h*&yphD-TCKi;E(ec@toxOt>FV4>{E-&A_`uG-P`S%ACP0SDn+wbmr zIaO$9nn@%i41*y$x{%zxJ)GgNdoUb{WDobs?-R8(3>Ym2rBXgHBvA~@)#|VFO~6V6 zztL)ZDMJLWhkjOA9Lt6Pn&?dbn?3L~ME* z^XpJE4jZt!3?{2XnOjs^R8mrzpTk@De^(1iN~$XO#f{B%qV|dcMw~YagMd9?V-VQK zWG6?oi!02kqq;GG1=hCY#Y1>)YSec&dF|W_yZq8xnq$GvdxYXK#*aq3-t4)eYzQoQLR=ED@QbPrCOzsYt=xqSfQ@^Wzx@3BZ@;{Ms?1Kf zkGO3|3Qn9^>r@mF?;~=hTs{Id zwuBnv8jX;{k3thP6eFr(8y=sZ%?07hqNGshc};_wacEO=b!BmFWlAHip@oM;$0yMl z95$QB%;0c1Y;G2xUs_R^R|*Z+sH`Z++Wc#0MR|6ept`fAzKO+(b#e5LM%mdRslE^0 zF`mw7vNOiZ4{M*4=;!a_D&l#eC|EY{i0+1cII<$;$A4i5+& z8G{UIl8HM+s)?y_0B0s>5|{>>VI-4DWy1r*5O+0Zwh*mci*Ow>N;#z7@V0dyev>nUkW-v4PeCRqKr>rrrsPb#G?DC>Q;dOsq zQF&)~ON*ejD%qPv_Tom~wTHoiX-*i=a6G{YgATnB;cm{Ru zN>cH7va7SJt1Fr8?&|D_CqQ@EFezQK{x*qe78;84b!G%$Z93hkLLnO(lnlwFBWh@4 zPOXrupUy@&3T2WqFQI=m=-#FM`v zd|>xbkAlDX4xY&xZsQKjjag>5p6x%~7^Pe~^vB}BL%gN;O*lZ4+!YS^Q0fz_t zeSLFhec7rJmrgUMu>1hNhMf$jyW6+=TKGO2V(3iWJ~ z4k-bR)hN|A90rri%%C#T>1pxl+-8Z|G_kY@p8WR0qII~dh!q|X9-ov%%V4nSSzx_6 zJZ2`3pPOG>R#jbISyWRY&Q9x8S3@@dn#$_){V^#%-`(Xzy2248cMn?p1FS8I{9TaG zov3hvBNcn^F1)Zjz8U!UxKY3K>|p0$bAEqgQm3*)d#Cf0Aos1VZLaJeo?e|@onPF% zdiVO>k3aqX|jhj9~A9Fi;PfxC;Vled=(5kp4f9T9L6Pt+%99@K#_ zH$ej(td?oZ1T+uIJf>0%$p?qT5=q}+|3H8LpmbzpL@C$WFo7On&{FACN@@a)(l>TPiza1HDLW!CEGi`tI(=c}0K&`6q;YxKg$0#`WmOfGMO7tgdBwoSD2V*# zn(F3I!~?p^x3^eylpPWk$cTOH>;Ol*+QmA46BYe!*h3`YE^RnDdwXVjZE<3Bd4K=O z!S?PGMT2laskThbE-r1XudIRRzH@L0ZAl)VpS^wk_S5IzK7M+Cpv{kTg4^38Tmp@Y z+1?L`eqKaZ7cUPY8cW8J2@bfxlCJKyR;Au-F`4xigVAi7HjPhOpxHQMT7_ajCXtB6 zQt^O9+}|yh^vi}+Hau1agPNWKf|;6}&Z`$n^_Kai&9#lKrCF1_r-Ts|5*3$}m`Y`F z**u8yLTNsyxTw6cyu7Tmc5zA(M|c>N*HqC|S5TEn^iD{*dkb3>_AQ3!;Y}uBY;BQf z66Ue(?UdlVv0iT92PzAb=XR}Y`^%$>se>1X2gghK{*?TJ#!iXc407E1*7DrK^2Xlt zv&-|N=f@{kuU^0Y@cF~r^UV>aI|hFD-o5)?ip@$-SCHP_-5&&b63}QYnuta?Cbjf* zHg&22bJ3d&Ca6lx0tpri$aT;_Ah{fBHat8uIPkSQQg=^}*oMVSPp8u}U z*kE1Q+}Z@c!<0eQTgHeBj*Lr4OicgUM3v2AFxd=VZc#~9RYh@Gf$o>OSlF$54*B|h zAul7t)hUAR|LyGn(Sv`4I)tE{v33|I1j)-Eg^dis`a67w?Q4vc?M|)jznoVomk&=) z&a9jmCO17fEuK-(qMlma-CbE+TAbV3e|dKN;`#FzFJHa7`QhW6ljV`JFfzvO_FdaY zu3b+${7`NW99`TVK6J%lFnBy33HM-ihy{&(V-~$0kanXHpf_}`4!qx>RBHf*Q>)~| z!^4UpsK0b?Z*P}CXj72Q=R%w&o0~z+$Z3}9#-}&8wl_9+R_4b?2g@^}g2Q7HQYjfc zJ~tcMj?83ma`KAGt1HUus%zEH%RSxTsF0qOO;J>Etn>Z20^D6^iYVkZ7VhHjjrRe# zgTy;g0-S<_TzqUX#i~@{lexY9tIKiC_=}^1i}hI-8%DpIcf~RMOJdu9gR2zqj)d zv?XvKMMgUXCqDiLkr2d*``(@uK=2|4c;Haq!oPEhOSwt}p^9)0l@< zYL!}H2C`;&SSaomwYPNJ6tS~enS2VL#ib`P+4X%Y{rKMM>gvk=;>v_hQo#!gkBp(l zGg#SKtO7QRM&qSHYMon^U)rtJ3S{a>_rnq1?X8r!xX11fGa^W^NDd~Z2!n8aj3UCL zlE|ogj!2|CBNE~Ak7SvoVP(g%bb59%rC;6qa!{Yw+#{5Bm5dtYf+`w=78H?Eqq8hb z%`QJVe{pqobn@hQ&sasFrSpqwI>TYPZE8G@`cen?SAphlV*$89$cyjsK+v_LO zv-@v$ve_jCMcJi%_fmOYHY2|(J1dJ{)~B&r$7lA=Pi|hFo*rx)n=8s|3TU(}W_W_% zqX$?F*^BjLkROJ0_w{_}LPn#AL=Uo~b3m~`+|;HpPeR+xdbtsrki9aYd6a3%vB~^4DR}A|Yb$H(8*9tcdRaXqC@?HK zK9$L2adF8G$B+8(jOFs4>7%o&#@36Fgpo!z}63nVO$g1nrZ+`aAx`2> z45&>D3(El8*0cq#)J&4oJSGZ~x=YD$%SVMGee+!@tWvjv4%Q5yX(Uz+pi6wp&>qG z7d(N0BRCQXNCZBhwWq12sYf=VGfu8Qzr1<-=K86G;Rlo%!O@ZI;_CL;6OF#-?31vq zDM;`n2e^5;Vo-Q2iR6SpQ+o&6Tg78v@f;*~r4BL~ME&TPX%rgzr_`!|?RvoArBbnU zP}1MmBd|$GOG~9vQ{&?kBSM0ym7PPQlhcc98=HXB7#00Bv{2vB*x2O6lr#YUfc?;D z)P$H~(~DQ_gCiqqowA$n^f(rM=T=m4*yEzegvjXF4!8e-e`xRH#zflM-MJlJ$tHdS z!`t2aKVp>`ro-{o?dR7g2m7Z6zx&=eEYxWPW{38o2Ey;!-hEsnYHn!h>K%~lm!4j} zd-Hm)_8}IIKzKjGBcP33@O)r*9Lb@JYG$abv#*;g9)ZH533!YxKC8d0S)c%E9U5P% z)~Hl!C6I0^rADoVhCx9RRt{vGd<0kyxJ_?&m#E!_&En9~8R^vYW= z2l%$RU{Uwg(n146W0O)+zwfh5JS*PY zE7a4Sh{oU@Nsa_uaO3b`*Pvls4_$77Dknxka@T8g&@E2wsOIa~a!9p|NFhqoE$Z%t zOs7D-E7KCwk|HC51Cz?TWMk9o>#Lg^JFAPPk)BFcXkd7JN;1?Qp32OiGg4CH;!-xx z&U+gra=9+IbRaqa#mdHwqA%|cvch%?#_7v}8k`mJ|B^4ZmHgNtu!WPNo>Q){ny2x#~(fBvTSKoIQh zyz5G4+JfM4j3XX_f!%X)eLQPrq&@Tsa&c=Eln*p8L6ohYFbiSd`y&oa7u-6$S}RRv9`Xo zv$|$g^;B^}{UhR1sgPy`gpWm|rX@#vj?7thv_n#vvUI2xMX*IDGw^pG2Y8@SVWr_& zsYn>y7LC3Y&vdlA3qukeU?>L%=O9s*`1R!6&hF{!m+zkPXcRvJ%E5yh>YwT!6%cy< z`s$!Gpqi3joLAM*DUw;YU;X+o&*+aFL!5BI0o;}0WFiuY!XV&|4xa8lGqafqp?(3b zWF(FV-DO03X7`B&T_Ej3RU-htqP}QhptkA{mnQOU3=YJ)+k3wx;^V z9vcpoo<^l6CnqIE1O_IRw#!UY>l<5JJG-lk6YB0-USx1YOlmrfo5|v2a#^%YR-%_( z^WfuwA9hDg&4G`dY;6IOJKK5(6M|f@Nj1@})O&C&l7P79mFEJDVIVocfxCalWoIl{ zRmSzh%hU50<(YMbv{*NX2N|Wl{;~e<$}c~>y;jBM6tnURi>lkYHPcUi`15ydQeJo{ zEk4P$eMw4nMZrPT!(jJ(-QB0w^24Ho{hdfiJf2L%U=V&a;_lWy^%zt>pi@ALtQZ;5 zfXt>)sugM_bd?!uwkzqA^z?KKS{v&dT6^Rc8zuuPi>4+~62km^Q;Iv~hPe&ECU>?r zmZr5mHN5zc$hfo&Ixi=am&xW8WIuGm!jlZ$tEd0_KXmu)Y>_bg$B95dc?Wwujt=5h zMz^wWBY=>^!f>G|G}Zx4gxlS9unq2r8lE$(?H^yCo*&laRyDWQm!~?NzyBztw+f=;;sdKT=X+D3EeSjV=3p1<>So-m^i7EJ z!{cy{IH7hAqa-~wI(te$MkR4L>)V4V4km(qclx88!Xd@#U@Eo$amdt+i>rxSp2~9hXF7adY$Y3v#m)f?OP9 zq6(xt=H37L|K@#yU2Wm8paNRZeUv+RTXGP;z^ARk-3y0vM%fd{c#wy1&KS7uJ=fl% z%A3iBgX7n)UO%ZWX{m4S7WXzXDeO|fDGf)jKK=e~dSIloskNfIty3h?t=#ug*?KeE&_vgNR7~ zu-x{?!j^cPCkk=f4uwQGLia0e?|yeHOO&+yT)*=4>h;wQpHWi-==PAfwBzQh(G|Nf*pyH-L9~h z7#DXG0*N3I5%}Q3-tP7;rCy^P)k0gaGNnpsF+!^k;{5CM3`xI4(kB#l3)|ZSQsdOZ z22_}4Q&3pQ&16#&6XRmSg6Z|W>WR4}@GrYhpKQ$-2AjBXF-hr6US?ilaaLd6ZO62> znc;5nz>412(FN_6pO>EKk?`m?97%s1lH?JV-Oe4z4o?rihlHcC7y=rJ#bWI3zJD;x zYB`@;cyjgr!*NkYMSHubQ!+dxmv!|t<(8z^^)^*(y85M`4H%_&D7C-l1NYKDR!#`Rw}r%e>^$W`VG;cVJis&_*e2 zYA9&yZ*1uvRjNm%?d2^!o$YO1QuE$l|Ld1ci$dH}TUuJliik|6BnCRUpm3!7ac<6{ zCuUw~8X15-9OsHd`xf=}3VPIL0OC+7pjM+A27wL%nhJ0kxm-FR1&}5bb$1FRx`~zT zgJ;LbC&$l^Y&cwyd^4!P<3s%)B~|t*EsM(=8@o^TpYAS$Rp&*8#3j?&{M`IpezvrC zST!gYr}?@CrMsbESO;XXv`JK580(0*AMKTy;6qESX%TgK!bn&+76X8oKtS8w`G*Ky zPW#Tp_V&@+%fbkLO}nsba9FO;s)vS@1Crh@fa7w#$*NP0_S6ZwyE@xi`>aoX`d@#( zSTHI3Iz(-4HJl7aMtY=+GmJoV4t658Z%r3JjsXuG19SC2!UG!mh0XnA#?es~Ag#b^ zkm*zqbyFzhO2sfV_N=F;7bG}=)V#R;?8Wiv@zKfgi$fb$Mh25gNsf;S3-EG}EAJVx z%q@du2e$7m8l~;Lh|oAHg_WI~&CljGs4a`C7PgOvFD(>fM|y;IC32f9N|+va1S!-r zsFLmDgM&jO z3i+62Vq(HPJu2wv>=LxLHuYKdKK%P%Pxj|5DrtX5V{J)MUJg6P!xc^>xdggmo43YG zy(67*j##u4366?x>ld~Uj6o$~z}tbva$vLqSPxCg7#xyG`}_O51cK%c^}^nZqm!4% zCr5`z$HzxDsd3SXiBXZEVFBLG_{aSA0qw;6^5)j=?%vMasHBk_6&wrFTo#|7nU$5@ zrmD@#3nY1EggD}C0iQ}{a(&#AW0Ch@j$XmA;FgBkgs7M_%54-Jpt-%hBMyze^G(tK zy?S+R_u1u-t*)tAxh2glA{jtkvste<=`_YMekWao4^15 zVrxpRkV)Da>#GWK`Rr&Hl0BM0eu%TLTAC_#k8;G}?jeXsdn~0z(AqW#jdRojFjGin zGH4W*Y-Cs}9S{#l2ca=`E7St8FxT-w2q#}t{-#{fh;ZRXYF(n20E&(O}cO3BK zlzcx-YG>`k&{C5RRNVpfZzVVq9O15mjV#Ohv$KmoO)gQ);_8NWiCC^P7{?dJr`NU@ z=N6YY*A{2z=BFprl7XQfVS7h=xADp6|M_okp6<>8-8Bs8N>g2FF6EJjBgxYJD{_f5efp+cSC3NTi z-IY4K(J&g@7DGWoBma zvMU-(YxEYeO2Q9t_Hrkt$0t=~r^HsK!*AU~;{0;6Q=@{|jbcsmBmW0(4rq)63`cG5aGJ7dx)dc^~R#@dFeM%mK! zpZ|KjwK#2%iGi;+)>W70raZvIaAYT6^qungWucp=J%M0PAfn*GwW8K$F(l6ceFgkw zWCVOs%7+1U9T*Vz_Dgz1!p@F%<Dh!-4|tySfBr zwMq?BtB~oto9iHTIDvGI|WF*cW@@4P$}(QE$wo{7(`_>(3%6_P^*Ur0iF-YB;uZ~E>WjIpa8k%;`-{< z#n~AM^~00nlXIKI#FUuu(9po(Kpz*k$ov-R*wi94iD-9keaa|p=Ej6Z#HBEEoB9Vj zyW2X-DL7m}sJq8~clXG|h+JAtAIk|(1mYBq!uy6samz{n<92YDAnO4ZheaacfWC8; z`L*kNM`ynkeB&HJ&n>U4YY-8+lK=o907*naROslJ$yK99>+HhP=K9LU`r7*P%F68I zsB%~~(A&}0+}b9Yy#A-Z{qSUZ+-z3$1JfJpYszUJ?noCW&p@;tXUQ@akAtHySP~jW z$`WoE)8;UA%f_ z6O#}h85$B56yX2J)g?T)eb_L!3@qPzvbQ>I7;5AughwY(xMfu(`IRk|rL?%9$oPl% zJ)Au$G$%?;S1~mjO~hbPFeHwEjrGHa!SBH1n?CaBj0?dp6lKd;(&+dwTRUjn0o=QyuTLb_n~cz&j0Q+G)d+C+5s=!U z(^cT|fV(z#S$2=1mUd^C;PdS4^!)1P%^RC!N^)dWXiP|0@T2=)F=Zl^brG1pv$wUs zF*hn}W5nIly$Gu(?gWa(s1jb$NAqe(~}gtoZ8> zA3nUZ2?`Gg3JCD?yzlK!CWPg*NVHSq3md=@_tqzMLoKYR(5Uzn9w#%qptLkHoXRMT zNz8rh&E-8td1ZAlXdVG1m>m%sXHG!*8VT#-ttWC>G8z} z`YjB?DVkqYUensr)Gq4llWKM2Q}c^Ut4pg33#-#p<}sP5uNMGtb9HN5w`%>Dzx{qN zHLceT_ja|m)z#JJ1v#P-7=(Y|o$n%NH8LT}7Do0!BXN{=fv8t!HH-qG23A}pm&t}z zlA)pgLGeJpxVN{vrKPreY7e;j`Pum~wCLyW-o62*-`Ir5MF)q5hCT9m zgu$b*p?I7df=H`M>Y2%c0kI0Z%M|A~?Y+GDQ+EgHOz@1!DrstL7IyaZNrqKp8q@6D z^6KW=*81|+^3tS1J}Bt{X{n=8Ad(u^zx>C)U(79-3|iH2Z%=1yeNM0ohD>w}4u{(Y zE>BB!5AAH79^kQVh5fzV^37Gf2@rU#MgdYWAaKw~J4yeLY+#^Y)YjT**f|2Ib_p%{ z`Nh?%A3lEi^yTwA8{e=nV0oP1BX2hnKD3}mVVIj+Sz1_K+FP5^N(J;#|42p+pP9wU zYH022O7{tD$oDDY5(yCj4_vD1a+1-WE?7?|92Q2f#U(hx$yhw2g_j~WW!<&6N0NK0 zxXP=GFRvfn!g`ZELs>c1tsR|$zFx6Rt{XK?E-tUEuB@%jt8zr1?$=BF>8K7IJ`+QvV?FE}J5D$vKn z8HWnZ?;6(6%`DB&udeQ{PwAu`tYH5@ZYw*TSF0Wyq9Jh)YsccVxHt#@j375=UkA4o zLvVL?BO>9pI2g+3Q83;$g0JZbdL&m7@7}wWD9L85Gew2XTRQTGMbUnl)c5!)iYh`9s(#{C- z^{4k{vq$vp^;KRD5Ayr+v(r!{TyiSkr=_|%smjmM+sVlhX8#=w6Tps-Ku4qrmKQSM zoEFkI{{ZW0=LxPaf7005-+~3ZItDN^OKRKN8#_9|vIBi-vKUNDQ**Pk3r4d+H`LM9 z4kUYXS#6_WWb*vi|M+dns#eMd`Z@${4S6vxcTspRufWKAcgfw;A~pZ+T_Vwr#P8{E zmq3TgMvYpj(GF{r!*Z#7PzEBsudl0H)X~wbSUo(4E=Hf7UYx#u`{BpWzy0{>e z#-JnPDLFn(91%A+1CA#;WA4CiIpQ9au{}tUrL`L`YQ7DmeE*mK79uVx(7$@WNBq|I zd%Iv)cYg{uzoxpbuC1%1dw57D*Xq^Uaf^9;+@#TKWPKg&&20_kl?CPHE#k4=&;R+m zRWUr=-z{owsV!p#IDC(=Cwck!e)o^)n#pci&TU%^0`{=HPt-D~gH~LsQ~~a)0Mva@ zJ|qPxuDhqJN6^wLu<6?q>{lkO&-ADwK zU#?)pytupu;%{|xdDbXv%ZLaJilkK5m6et^*T-Vhsv}bple|OHVydYT#k8TC0M=dT z0yP3=hxZ7Hrg|2)mPHkrD;;peySBHhI`af?e*cj47XoX#t&Z-zz%3=9p( zm1?cgYP48qr^Y8IC-e%bsI$36*xpoM-_k9&?*9D${O^6Jjf_g%)7@Uf@xx%qE{`4t zhoNkpYnFyI)o`eNWK`QgpGao`i*8nrYP3p)8svGo67a&oL5a9m+||*k+B&|vKEH+v zRG^UqpTB(m@$;82|361>9o2Ta?vHZU{jGC;d(Ylyrh${qw%x$!gP<)j*y+&-;c#51+yw!^G_T+S=On>$lhDr!AtgXy1T@ z3Q=cOSwnlOS9Cf%t2;O(na}P_b4#xXHtXs6;ir%oZ?@+*aGGCqarS_|EWRWHaSG+; zUe(u{TXXsRa24vT8z8#82%o6TqWYHZ?ryn4sWsaT!$ZJbPXoBSaCvNGz^poVuA^U} z&{d|2r&mfX7438K?5NAC(P0(eA)8hc$ z$03t$H4NGZMh1t?kTg;oG|GO-(9*AuA3yl@8HoJl_M6@9ckf>A18&>idF_&z78f2K z62S51P*8BcGJ$z|c42k>`t^-ltJkLOqT2QIH7rN)IbWH2=in_$or`L#tvUk57)DZzvM5BJ0-2Em4#SWcTW#@RDKpeBB$(J zM;FBGYMsffca98=PEL=GPn`z}++k7IH3-yNt=XXN=~a#1eEj==-Zl*kJ9LV^zLr7? z9D^oNym$fLXm@1T)TKdV0_OBtf1$;uGhY}7X`gfs4h%Rg15TS`aKP#?o6UNoS|L_n z-U5X7@RuhK9>3V$f48#@hB?Um?*86em*ljB7--Rx2kqC0su5Wx=NFc)gOb0!K0jp< zm8Vv;x0PfUlr(jpi{|-emel8jb13}!O15WsyHCZ%Xttb6q{EOQn6oH9AGEt$ctePX zn>*~AGnR$9)#bH&n-wTmS2)TYSCGMr%&lzd7DyyAsluSMm;ufkC@TBNjA+q+_sDvbUcf2aQ5|JLf0Vc?eh6Fpa}%7``+$ zHZnZ%$Eu=j(C)B1MjQ^S(Vzl0UE*B*{xKl7Ujd)Lez*G;BptfnWq)sf|E)_#b{f?G zBZ$Z2(rKwJYUlJk&{(V2H}7mNOxa{Lg-Nl|$$3R3^?eO7exdn!JrxnGQ$_X!KQgZ^ zC3mHVppQL^<+8%ju1K;M4VJ6oc%sla&%bzYtbc#&hr6o`IFgR@1>8qEZs~7;p4GlV=Nq3vW3Uww27%!7e-2D0J)5i}V z{PuEtcYhbixSgHty@UP3gS~ARpx{G7LPLDmEH;^z&?L8vT)Mijyt=l2^ZLTHMOq*4 z7ZRV6Q&?P4n;a4oo=~994}`f3&*2k&ys9#ahAfDt?5~l$P&U@}n{Pb)x&1bbyC(|v zmwzvvoB!dbM-NKBI(_PtI~EP|$Sw#-$uF&KYVGI|h-7k|#bgB;0`_$ns@D;lP2bxn z6lHq_W~C$)HFoHhe!VtsGa6NLQD0l2nMr9ik$*i;3_2$V@ z=qhcC)oB6W47e7P$z(Pd%{skGER;>&zW)eF*vF5bzX8Pd4#d6(ARg5F_Kr(bQcQGY zbaZflKc5#+Ahe8MT7V9AUcY|p#_A=TtSlxdDk-g?w7RY>D?K_YEhaC<>vWzxg!Wje#i3UE7SWy+8QC8p7 zB@~F|QnlJ>vpa@|2B3R24zcy+R(LLgYR;z6g>hCZ*1jqt>iqK4j!vef2uxtj6N^G3F2VLLv z?gYfS{04iDmf0{M@x`E32z_Z!J&Sl;tr2 zQORjVMb#b6xxu7}?0^vFsZdF3aCB@iyCpld(bibmfBG8=taQEt^XIQU>of7E!eVoZ zDtpS>d!@fz!JR#W=K12`7%Zi-K03C%rlnIP?vsjSN`={K18>tlI65#kabXg2URI5) zudiP&7q#{o&)@p>*4)&n-K3JsdK1wYJQ_u$u#$rP{g4FssqCdurO@weuEu6HjREo> z85tTL7<2$+0OrMPw3|(4vqh_viXE%>AN}^*lgCfrYy&nwc(=WCa0IG-e`kAV+r=+9 zC@d%dD1E`j|~EbJuk1Op|Of^+AlrC8_DWQ#Bh>) zQsb&q%WEsuO?vKMsfg6+3GToDDLRJ9_suG)H!lkEi|Vd?N&ni@6+>iU@pyN9ZDmwk zMO{lrZ(onFS0YpW(L&sAg%(Lhq3NaZVXNJu>6a*scGV55YZVevJrje* zAdq-6Cow35N1`H6M_n8hw}hfv5aTHqX=nw^;kgMD>tWA%bv zQI!xBnV6cBUs@^GG0%F(`*OW{E3uwlp}fTMbH(i$5xQ1e0TM?H6*scnD82}<^7{H# z(|3dEB`xMXof`&+B4FthG9HF6t%^;osBP`+>247SMRJW%Z-QFO4h@ftPFxro1>VCp zU^S^V*6G{lN56aY@TZN-!%m$>(kD#8;(%&G;~AV3uSgD=jXKSBP7BV3`*zr@R_plC z$iN8jEkMv%?WO@6)ce_D1UM>}i51gZ4uW$ocuDOvyF@9$9SjooMYlpbbg>u zN=|BXd4RH5*%`qK3@u8hdhyP9gev|UZ)lb>q(w)1QLN{ zQoW+-{&Xr8dxoSuFKviQmOvREhjzF_i!6f{tIc8u0B3UmEvHl~Bm(ut+Yf&I<-yaJ zZx432-@JPBdV3cj-0>cWeSgO#GA2AUI4nBcpW_pm)uA1jo|#`>US3+each0~(tx}w zDKs)JB{#ccxVIvN9voUI&gW2YSXMwVFE%`~vMjo+QK-!1=VinvQm`x!rsJ}Ge(e`S zQcjBVSFS4tfg({TJRXyX!4@kmzyOFo2SXtfh(vNAHzJuE?#pKr;RNBLp&_+OH)yepUKkr69UUH- z7=~aTjBy*F4YL*47oAFOTmI?Equ-vr-rhR`5C=5u?jGRuUg?jtQ(l47uIf>PGGydd>Cd1K4EX#+8g}J7b7A2R~G&Fbj z_DKX%g+i~=YK&Tq32GMaun&z5n2iHgyK`**$?k)t?_NH>w>)Jr=~RkV>K~1zkz@`d zIGpLvViQrW$cBsJx|9};)n*$Ra{yQeb^sdbR&6-(Ti8-7MGS+);2enuMEknC_BSYi&>BNG1|a2#6{uZna&w^{68?HTzo6 zHy$_~0}s;038bUoZn4GHX+?GQ9o>CGiA1ha=?p-$YV<~f#cl&=Hw>xJ!J(1!%P$Xp zTe$t^<CKIf@b!T<1AAf{uE-m*`*lXE4PeCB&=9omdFYS! z)X-rEz-)SrTqF?|WtNM;?nZ{^!K;6DT>_EUm`p9N>Sj|xHH-k^oE^$QI4_4f4(PO4SfCNC{6EG)0DZ{5Ci{jw8;9vB+YsL#)SKNDUpzyD!+0B}nMf=5{pUh;HWDBnIU17+KXaW{b z#WMp!aAv?~jjN!u)w$zF%MfpW`2y+N>D_Nnc)p#M~W_ z^$}ThTyRjPzA8PxMx9QB@tSHW47M+W?(1EYlam`4<(pE+A;*>VOJdy$8*4AWdiiR5 zEw4PQ>Q>EHa8FcXEQ)|Jl_ zlMV2(NvnqXs!xxY^$ufmx8AM|!IMc;8ih<{hV!CRBIEg7KFZTGWzN#nZn9bp&S_{v z@F-C44y%3G?i_GfZDxbPYy^H?D4x9a@Y&ApAt>-2AY=}KmH|mWfl~hdXbVSeu^0YLm}W~rcVe3b~Z3IHZdTpyso)R z*xT7Fl=dq$TD3xFXp2uQEN|-QY;SL=sXtd$URK}HD=vx2t|`cBR_V*!+}%)E=*%{b zNA&jzjwE5ckpJP+6>A)MI!`RVpH zDD(s1THfuvgCYk*{SS!$;KF9Gyg0soTyIWLbk;f5(B$RC_4ON@TU%Q zA|62s#-XrS8iO6>1A~Po#AFAiSGINZ$wdO8Os+LRxwf0z3JQ{AQ!{c4E9;62a?-ML zYnwZo%SuYS`}&MlLl7K~qtXai63Lh66&n&2%fLsnJ>Wj(LAf3wV7g$x0_CLz~!^!)PCm&pJ1R{gQ@#At> z!HKC2GUxc^g_X7S&CRXbTMN_H{<6qUXLeL#wME(DM-5_PkxU;}5GkBX>NHel+9F9;^4wwMjth!Ej`56)4iACnfnn#69gv#M2CN>m zz^Yd(`a6^}KRw?$IynZz90)i_$AQ4#e>gchJOrihLLuToMbbHRc36CNh0roGb!BaR zWBtaR8`l>uIXl$@h5YciVrz3{MYNYsH5Ubk5z?8yaR~cZ3O*#awkj&cn~_=E(rd8E zo3#hFyh`cXIv++Rl8A5wj6gzr5@<{>o*&ko>+hcs7?N62TYav%y|Y^+5{ngDozddZ zDMg(fU43nxLh0btwe|IDTi@QDkZH^gy(-Dw(*uFS!`u)Q3KA0*;~N=-r-uf^JVoX2bUR_$*Si5m!Yh&TsoJE_*=7l8o8;eWRy?xUJ40nWkNE(lm z>@{q!pmXCwN?TLogTqn;D(ygf-_tv(jhc;1v1c%FJcWXWd7=me1f0QSaD6GRbYK5i zZeT)ANmWB*Q)^piPhYoKsny#|8nvXmt);V1*wdo}NHu8I*#?zTqs^>p#=F5hJh2`y zR}X@hCn6%66Bj^d^21OFV%-IsV;HD7Xmcbq|Lh!aLT9!eCX)fMo7tpONP60|OOJPs zPYw@{4)%{AfP>nAzK49<&bxQp?_7LXJQf)29Hwt{Mt-H*d2wcGeRB)iMs#~+=9;rM z)F&vSd90zhIhD?6ZNd(H^x#41-gbmp5)~-q^gowS2)YEDPiFlkK9ciq>!fSyyrj3n!HZ;o~C8uN0+7lN%~H zteVyqVSDc2c}<(@iEUu+xqw2T04k=^Xu!G6B0+~j`ki3&KW6A`^fyudr&8^MNjqkRWFFIt!;aqOzKxuwM0g38k z%sxYQ^&ZqBxc~ql07*naRLx-_=`o`9Mn-pMdjp@#mg*{6N-9Lsp3#?+mmbXG2_Rk~ ziNYYbk*Nd%-3I^(lS3nsgZyKI=mC+brKOcMwN1@kUE+SFN^LOcHCmlaE|W{T1qZYLsTH=clVCBT`+V8jXYAig@pWx=H8b~ZKP~bw6dIX=p;1{BB$bM%k(dlBbpDi0;(3RL5d&kBa`LJx zE9#oMyZhxTjoJi+jmn_XY848(UM7|)&4%%bNvG1H4rFn0C?cN1!1%JDgW9;V_@LBq zKFdFu$wF5zPmGKV*hWXE$A>4NdCdz@pSB@rxee$XtzIV)wzR5m@BjWUfavc}j=p^Q z{ORMzw|nn^b3Hx)^!{PTg-E872m~e;pHN<$(-l6#vGV*kE1lb1@detiEjaOJ3iiBmM<&qY1iMXwOcK7F(=?DUWj3WWVL7^cT z;4S~5LunkYFOJFb4j^#CV=^;JODbv`x&;!c2AZ+ZsMTgI5S}LcfMepq)P?a24hytb z&T0l(m-M!_$nPF}`PawKK(>DP^6_^7a8TRdqdfreM~4URTu2~CfZH)%Y2{_b&0?Kx zcm}!!Yh&~7`og6lMMa{Ye_CI2QF=HpJvxFy@PsD>qkO1zi?*V!xnaD%z9AwuqemEC zUS83D=WpAs2ojdeB#}VsnKVxtgFq(|Q8WgP!}GzBSag3nGt@6WHMg*|y1q*&?pLYR zI<3xRv04EwJBBY_o?V%{I(1=k$ZofVAVL@zG#*P}`1ttH7(@cCHa<8tHYzA4#*0SC zU%GmJ(liQnDI1?0nH(D%g9g0Q4hcG_C4pMp)7GrGcl6~SzkdPB?c~$RhmXg{I}pkr zyaznLyZzSXwA(jm3<~YZOv=ektLl(w9p`6&oLgJJxqj`ut-m7C$2YF3wlLZ!I4d~_ z?|BB9>3f#M#EY6!%Ug<--POgJ(LOCbwTiUFGQo2h9EZl@(P#{UK&9ebsT4E;r70QLw(=L~d+iMqy=rORu1}PbBY`K}V{=Ahp>qT$!7nnH(8)m~`fLcMq1k zo2$DUf<$Da@nla=d_f35F~Zv`lux60q+UBeJ!lx3m>e1y9CQpjor4yq6Bz#it6s0u zsWl2gXH%`}-rmR0A3gw&dUygd4fy;BQa1qV-o1JC!Uc}Q;t2qkxan0DISu_9>-g-_ z`s($~wVPW@mj|S!F}&c!;?lA>Zg60(KZSyh=#`*j+< z%{(wLd1dCp`Pqe~nZ>26bJM_-@(Rdt&$nd7}uzoBog;$#tmKhfm7|jdedKN67 zpB``wOaf{f9vm4S7#wws3=a)C95xHIwyaR~3tJkU&p!P9AHRcw2bn(l@ZsY}Fvx+J zIoyF1{Yw{j7!uG21rv~%otIW6P@9J57NK24Yrweyzg`)|4T{Sz&h+N6nT=j}HU^Qz zhf_(BofU}$qVGAep}D;`y?UV9(i@ys&=DR3=z@+zkx?urg9v9bLB$f?F*u4BjR8h0 zk;W!-BH2hhJs>`%pt`NAPb^l-br!Q@VC>S;wM#RzGoa)bXGV+z3g0sfFBAcT#^ISv zDuPYK5m?nJfob6(VUb?JzHTXNm&S)|!_!maqYj7N;dBl=96-jK9cHawV^FCSqTYt4 z@fYv^{!c*VAm9(j@4;hdZ|CjyyS;aB-@bnNz{TAIMMNM7cwTr)W@fEGWgeYffbO7L z+u8tGmsdvm_{U~7`4Iumw((IcGBS({C&Pne9c6eXBcZalu}j-f(I>Z+7UUG8z4=%y zi2<}6mcjPIz}YMe4#z|wF~BB}sCW{c>P@8u`XEq9ns0P!L49jiPoGkuHki#O=g92U zOY`$HSLPP4U36Nk%~UtmAH9|Fc!n1aL&D*Ryqf5s)S%#qP;PL5XX?tu$uaZb=-A|l z!)69rZqR0T0ySeZXmv`hQYjO3*0)`L^ZB3ue1CFqaCGny!2I#ayWO{McV4}D`TXgx z-_5w-&}b|Qfku%6lXHsO#0ty!)y1{t)wSz4Hm_e9RFsD@eS*pg@K`c7xFiJ05}yKYXFH`1}D#7xwbTS;qukVai>*RM|Y!Qi3~E8N@Dup zh-e~-8dj4SmJk#a73Ciu z-~ayMX#eU>dz@NZkdk3gvYXMifPl42dtV$*XrLnmg=^=W=W7Sr`nK zgvH_r6n3x=7S8rU;|Vk}hJ*(n27^tZaF`?-@bf&@5V?=EQkDxp3JjDGH!wF3Iwx6i=TlUycul?MI`daYXl)0c&|k zRv@RYzagqCzgs_Q*NmMXs6-%%L^6{>=7dCY(P+LemPF#R2tIU~2QqN7uwH(JMlAe)`JGCnpnV$*AtIZPsr!R4@dJa!4bE_A~7hKr`s7%Rz!MQcC*wneqnxPWpVBL`r6#2r6ZSL z{^)X8r5xdkj}5_bXmlP52VQZy$e=Riqy>@^mAziM?OBpZQ)9mN!bk$Z4M1;LugC~5 zm^+JwAz}y=43>ZZpDoji&S0`|c<=B?zJEksL2-3cXRk!qCzOd*2Ft`4Fd{QouguI& z4?2d7r8F#t%%D-I6fB!XM&kgz^D9!K(_(@n;`#g_X4U4%P%d~+@v$6lZ$6dCKw+@3>i%=~s-P%3Ju5%3 zcOpH>d0rGm%bLB=hB<>old!Ci80J||9|kCR0u6`5AwXdD$vLBni0Nu>9{_W2X?~Zmx(FsI4ol0S`$XK8WIf0c~G1+lpap_@! zA)L;YQF~KOQ*jOW{MvgudVBl&B`Sl-YBU;jDrJ9fcUyhW`tI+4`>?xzuzLW7zq9k| z{;hd)F%#i|K)@+JJQq5fOUI!RZZM`_L}*Hv(lS1CZE1CFb$N6B+L*pmzkksug`JlK zLwdv}@fd*tcuo|WK)_eZ8{3^_0YpS_UHNc-N^p@BN>J}3gQKH^(8=SGsjDluetGhI z`}rMn8XHHa5~&m-3QNWFgG;lcQxjuCQzIjT*uuq8Z9_v_ePvyJLvz!)=7#px_Fj>+ zU!hU~n3D*)+v^429(?)?A=^Gk`ToxK>!&|0jkE=0U@$n56%-ZZ!s2jQWauCTkr(P8 zUDvN0y0oygvb?miwlX_zoPMUHN3&^tjI%KJkZeD?H zo9+F(WTLH6bW6Ez~dE$2Mb^_KJbg?`rRDYN)TNDy%FkDJ*Yl zXl!U|tZi;?uCGyk`|fD}?TbCA+>f{4Jh^vcs5=_vhNRPd!s6n?Q(UU^V#0ixcodFC zCL-~{6+PyOnYsCeh530PWmlC2A)M&Kfyl4j-OsrDMiV%$NNiFekH_KsB~(|R9F%dc zby&p@%Z;k6D5+1an_TYjDZNDf8b|O8LAb*rykP`5&`e-}W8t1Kh^8rcJd75aP}9t#8_xA&(hQRpkw7Mq>IB_AO-<*j%km0x|L8Db}py3#i6=LV51*qZ|SAO_qVL)6F z6yJEQ#KRNj4nw2DO5(mo;G?VK{1W{Cf-KVX#rs7CYht4-^Yijso2#p;g)>R9{OWcz znGzU`N1-D5ke$KcnP7xq@H85e&huf?vCN2!vZj{q-tJz3P%PCb)hazeC*U+KR{QYz z+11-W{d)iLlV`79y?gWe&Hl$%gJGT?ZYZC~wA`S$sIbtefKXrm!6~!CV9;oE8o5*= z5_EJl)|8hQ=Vxc-W@lvO*VGgzhu5sU-rIijcK>i64D^@JzP)sg0>^vt{P}_5u`%&U zi7t{pL0@f7Vpw1>i-f_4lnCt?X6NS?m*-YCmM#v-O5z%1cStZ#I1J$lBiAQ=<>ndG z7aLH=b9Kj;h}1196)Jyj&AHO*7l0f)JT=Tt=e^(%BuKQA#8k2@QY&Pu9ll_&55dFNW2 z(^`hxWlh<7A)Mc!p^^A>w5MkrA44LL(P#?QpMb~VNn|!VoI@oL!c&Us&b0tm7l>Mg zQl&;`RI4>wr5+6RkqgT!Ti@RM@w=aXeelbZmrvikdH3$!hi6ifCk+#w$q5MX502#X zsZke)luE1J2oOT8P{`$SiKw%^y{W#mtT-j9uvyq$lf*CEdcC`|eQ|$?54a@i8t+xn8H~Zz;=3i(n%00mWkb`Pun}Yx66sYl{~gy_%J-b8&7+ z6vEy08(Mu|cUeY~KGTsNv})=UQ8vx#^i%4R$IgQee z%DhN#tY=`U#C~yUVR>O`d3j_0qET`GUTSU}4esgb26IJn_%WsJwP67fG`@eFFa?1t zZKbijNg)N{>1};-rCMXl`8s+j7*R6BVvvz=bcip3LLrfG1O|hKA>x_dfG(l|n?xj4 zoNH|9>+NalRx6Y$yQzdnBc;`R3K-uB+%$s`x% z9Ybb$(Lw_JSg`C1PKDWNv74+0lS!-BDir;4k+8e7qp_*JsHRILs!2;9d31OTQhu_( z{pR^bH^&_xkd~Pk7ag6IRg|5P5R>JivW^ap4-aYu=h6b%#Mm0y=*-&22GDXFn+uoB zWBb;NGA*oMZ& zFV4=dT)*}0_dopnGr;&)FW>9{&-LNs@4x@!KQH<4lKH;e(3F@k9K54?zlz@ZlE~#3l=LVnbJd5vAx`Nl2|4jX_}1kzAl;7&sz@$zxH;B=0be zZ+1x>0mg}{ZEI<7t8SD_#X6Znqu0x{8ok9lFf=uNVeaa+rRDXt8+X6|{>NW`e)`+9 z*KdIsJO1!Njbj18;P`uoF<{M?bxMn5*D!eQL$@S$&hBxL%wCSYM zbB)T1vKFVm&m}$_jX@^ySS$h^g{Cn4sB9{p9^lU}sn21#^I{viI-0Bcq)L^-0uYzn?%w_J$*(V7zutaxa&Y|V^FL3z(L^LNz?Tz9#tAQJ zbT-?V$!s>7)Sz(m8k0gMmq`G8bai(~C6b=zfuD|mNq_(Q;r{cxljp+eVL3VJ3F)c1 zK=l{qq@|Q(yRcGQ#rom7@o8gs3Yr*HA{m~Y-Pqh*U%9uraM3n0-W1J0dzJ$8z`*F< zcyBrij-nJM(s{0MVjlTxT1u%8I>0x?Kf5ue+0Z9a2#m!|9K8{?Q2iC)ghX#D15Ncn z5$Pdx8V-)<`TAFPSNeIdV@lep8oKq;evmuhxzr|=(FQU&>Kwmt@!Exj<@M#IJ2&or z`~A~jpMuf;`sCo~ZA7`k51nIzPt0=qB=D&ASFL7Du{`Ctc(XN;>FJ8~^u)oU*(e~!Jdpl1VWcD!%p*JM3?Vimjn4{> z2=Xt@XlbfBr&nFHwqb%d!p5zC@_>0n`Z8HqiaP>F^`mjfo>(p;ys@(`(t{b5Q&A<9 zYNY*YnI6!Z%A_!wO;*#0V`%cyl?$`8OG^v4Zru9u-h=NSK79P@1+)p`Gb6jOD9hzPu;DfG>AAUir>utJ!6}uG%r4$o-`rTey|#48X}{T; znsMqZ)&q+srURc&BVjOMT|w|rjN2){BC=ads82pGq$q|Pl-iM9*wZS#dZpCkuhmti zxj&yh>l*08U?VARFtk?$jmg9VX_M5_eJ<9W5RzTjA(AL%K#c&;s@0h_dV|qo9~~H; zn7%Rv$aQhy#>TDh?mhVN;p3+-U+nJg9)JA&`JaE2oO0(dP#jmkVUtvEwb{*9i`fd| z21sF0sa0y3P~0c%>XFM0I@@=zKc9fmPxjvZU`XM|CT1mPlx7yyHdJL~W@Hr>SLC_; zUw?)rbPip;dey0@#r*}HF0fymUs+ndzIC%9vb)+=*Kimi~6vEf%tOo)E$KXTz z!rXXd_tUO^sU+_ZL~LF_L2*%tUtMCovb2A4sFeP{m>tgV-Oipl6~tt6+)-!YSW*NL zk8?xedD%7fl|kRY19EGc1mGbS_kieuBoQlB2A$3V4BXJz==9Wu%U70{udiJH{>~5g zetPim#q$^2yN3twKip$|g@U`I{}g0b3XFEW)nqYijY^qRE|bZmP{H>Kx?7uDWVVUR zD?h(D0kpn%xcy?OJt8wz7Kb*7eyjWBGI^~O4G-{iN5Mi0gOl*yafvByEfu~g z5v4kVZb-=BVR*wE-{W8~R3wwf$52stG9!>cBH;m{=T^7WCL-~%B~5Mp5|Lc55o>iS zqtRis+6D)l!yxeKt3XIEt}JhE-no76!B3A~04;xTaP#HXzpF7lF7QkQ11{rrq;iI@OJn2PoF-%KYo3GtSmMmFE=^6q`acO zt|%iuHKU}oq%hy*t26N6&XLuHrON{io~QBIiouzM&Gq%`t9Q1p&rTT2i^XhL3;}^> z5eXhhGzNnp6zUn@@O@#fWHc^3C7sOS#--Gh=Z2?*rWr@Ab_X31jvlx_cgFRMX9OWU z%$?|g!O{G%SR$E7O)0M{D$YU^BJ-Quq(YHcsgwdWqE;K!W{cgS1D1Vw;{4?0%U2g> z*H>5XeD}+DzdU;M+w+~BgZJ-0p8WmuzkZ^5B4CJbN{4M?o5MO{vD?fhrCzO4sdX}y zTq5c0X>aQ?E!?>O=;_W=2tQRYh%Cc5+f~epyj&L7vNBJQ2M5 z0pQgxJIaw~2sw(OnZ>Qmwd<>Qw>IXc%st&A4EUVUEGm}dfkF`oNJgKU^%r6o!Oa^( zV#66&b~wK{rz|BbDKuAZmn$zNdXV6j-*o@s?ukpLhDD+1I1+~Ci$r436mC&@Zc$S% ziWHyI(4!PcBr2`kppnZ}MzzsovKp;c$LQGf#D%M~^Rw3%*Y14(&eyWDEGk3+|HO=^=ttx;;hxDg53d%HW-Ge13e_UzT((ceJU z4|jir$xACJE32!m$xlm8DJU+_&o0Y%IfcOaR@*PkEL<|xlFs5XrGslHpDP-pdP%BAtN~aA=QEeJA-8(uW2QBvJg%!U@C}c2Ul`!jwp_61A#k z$X?GneOCWnqNlqXC7B%Pi)91L#^exD2nr>%Ft@C&I~Pq(E@~Djdi#|+wbTH0v^A=X zX0u&yw>XDJrpGVO&&|!QEv{|ex&Qs6Cm{5lH#^7gKOg=5Z(sgv4e#pa;n4?7o6~L` zwm?_EtBhK$My!@f`-OtGo{sK`Uv}QUe*R+j1qoUri7O6PM>%1zd*Yy-TjuF7YQ%KMP z1euCsa>9%2+Pd0{u(b5j2BA!>kORA>l`EAhty%%QBShS12Bm8?gV4t(FI=3Ny#j61 zz4;@M@lT$;*a5oi=;O)npTGR$IP1@@r%?)%-fnkT1}r9v#i-Lji}NZOu-}4CVQc@5 zcb`u7-@MvA`SSaxlkErN&FQI`X*q?(wT+DpMd^vDSrug^1^LC9E*@AcwZt;Jvc53c z!9Y;5)f0>Bw{LB2-T3a->fEHk*or^{2};Dm(Rer>3p*Qc=&7N(BXJZqmx@7PC@eJ7 zC%~_}n?q-24`|I(g-P~I`7Qa(I>H0!eIAFy=20+Y3c<&V6O`Z4DeUj7rtq_?IwUHE z!C!Ee%GE8TJ1r+3?g@7%2M|z57>wivN`gu%kVNz1 z%QZ5`h@qq_dFWDUZR}YD(+8L}29|;+Q7~9g^x@?ltzE4h>4<>z;%1<`peZRCbO(=A zDU$;suLfSkGB7qWF)=-Ler{=gb>sF;s5kH97r?de9Bdz*eE9s&Tkik+-@Vjwy>rlL z0&2!=)G0J75O%+?U(nm#($Q>xa`exS$9wz7N1u-mw|~9bU6hxT8ke0@UfWQc1?oMo zsH(WIATK-0<*#SX64I3C=hx7j(Zt3gk>1vKggk_d=3&m2IQmxeh@1fR0+i47Dqt)WH4~~saPMyDe6*#yX zH*bIY^Zm!qp1i*jAS+SbpqmzL`G&+bV=m> zQnf~-H>wmW;9@j7olavi*{qK7;fbl~^H&xYR@XP~-2Lh2U!VN;Zs*<3-r?Ti`%l0B z{y*LS{^uBj(qbPm>21L9YK2vXQjjiyZo;|eT7JnU0PVVGAIdiLqvBv=9V^BmX|Ist}L7% zu?SUR1gr-R35SzNu!uPDr(axRFbaoY5m_)e4#V(9vtsyI7|N^JplDKvN>bR7)pO0KbOcCm)SK;& zv7w2{>B&jx#M$O|H-CV-9=&<{ZhPl&_Yjc#$Nw|)^`A2I3X^5Xs*BAAfg`n2@BNbFHJoN^d3}LnaY%0pTeXoq`Ur zq%jDeUQj0xX{2&F;A4|orBP}`3V_o(o6h8LjyuODrzR#BWwg3hKSDOQ^W9ef0V5+wG$-??3H6x+Lvr zY%VLwPb(^|sw&D$NK7xN$j{HpPD;#^2HvlzIayv?*4v!= z7h2RQ4E^8SebC+&F&Wu`NCF*;Ci{ma*0lC^^a)Do_>9~pkxf(o5ym-C$>G1gF9Y<$tO0HQ3^e&7!U7IGJ}m{rWex4An)AxjMDZV zX`f71$_gy2mdK@AmDvc~hsA8rs7=t(FQe9GFxv+w1}|Q`aPi{&?6vC~w{QRY5GdI< zFG0pX9De@v;r;Qy{@dWzVK6zJHk-*|1Ug8kHtCI8jak+&7KwYr>iK8;CvTp=d;jJA z$Jckvot<@cRb|6)|EmHEv*%cMOqc`9Y&p1r%}tb z3boFlQRvksi+$Ju-DW;@_0r7T;?~yp-~IB-FVBAi&h235X#eQ&@YCNmsEr04kg|KY9A*=+n{Bvn5qaOI1}#L1s!xX>Me2VpeHMenEP6 zPDV~zR=Ue6*jYD5g=2bgZc3d=r9^|!XMuTHTe-cpdTnT6NW%6eVR3NaLD=!pBrFQa z^JY=eP|4#XFc=KelOKbPEAixZbye5&b!D-_TXco-zW%2P-b_I3EG(8nMqvotpyZ;e zrVeqJpe=+NUEVB`$joYk$z)cUq5U6bIke*o=y{{XIbxfb8Xq6KdhzmAKsDe0_`@$h zzIgon-NEs@lLO#FKfm88XtHY58na11V6+)67Ntq62hL3@74=JmdZl(~>D%i+zdQM~ zclg`o{>J*!vVyeq^vc5Yu;8rx^8CWgxZL!t?5x6A7dQcahEQN00h-28;m?ZcuwI>6 z1I}&vTcGAf%#&hHJPVHUM6yFuSZD+ii3?^i(P%2&hl&VfGVsW-03wlF9{Jahp(aT~ zT`HGbD=<_FrKhn>D$_C@qU>y(Ly?30s0b7em>8Z9 z7fa;QeZ25gA1^m#ey}^7l#$DHr_f@~N#e1j(E727<%H8jDi+0|;P6-=fzkBf=*qh0 z_U^uxu2fP~PMa9KO+7HG7N^+)6uefi)M@l;nN@4B+DB|7(53rRljkoj++4Z+?YBSv z`1HxM*E`2MM@I)od%qw5eM>mlTT$82*d`MxfELzTOnQ^i0;G}Nq_LazTB&*T{?V6D zd)v2c9Sse6K*j<^lNcVIQkGwom7bW8lbxNBm+bB0i9^A$`GXhcu3oS-g>mECEmy8x z2Re4`=GNN$d9_K$k7r`hXgnTE!6J!N9GlK(li4980*%cjAA@h{GW9Xiju;Q+p?X_pZheMrN5vu2HDXTC>$Y=x|yrCM)nE zM)1pSG~0%!ho&YbCMPdnoLySKx$*7yKiz-y`t`fr10du-0T=p@&;PY+H8f>r735Vk zH+PE_S}kzyMzhnX(^?(2A*u$+JK>A$}0KVML_pQ|m%NzEwENsNq1|Nl$6uD>>~ zEz83^%8~wsBl?bCa3*59WNC??Ld>+txm3?X}K#_S&W#gCR|+RGZDZ)MPQ;=WqY{ zAKxOA?SoSnCq0%Ba!g*wxl4;n*RCzEuPx1-19~Vbo{fdWkXSqp4nrVG%wQId5GBP2 zz!3xl$~Qa$#`LG>)mwt2ut#Arm1MLfKcYnc6`F$dgETJW_K&58OZ2&g1tpc06$U(A zo@GDL(roX5I+-CN>uB!)RLtS9+Z|o5ZV!+oLxbLafOO~2U%Gf{ac$?u-G6@n_{sB^ zuU_r%9~`_ne1A4q8YNc7CTWd1g~e4hb&V}8Z5_^TchBfaZ&zE3y?6Q5r{8~lac87D z$C8#1C({~b(UD?(ra48Ym8tbP2DK_Sl<4!dzppPcu4#N}dHz(XkSQ$a9s@+~+Um9K z&E-pzJ+)<0nZO^8BvUb1BnHa}#fQ@|M2?USReA)k<&c$VfH|i!qyY zWij94$uKkui$}qHQE(<#pvWvME2%hEUl@rI=_-I^X=`@_nDg{^_qttfkEhK6_PV{N z)797S?HwK&J$VuuOE!CTc42w**6j!PA3pnK|JA{}!}srg`}pb4YifZ|DC7zglVniD2Ae)P zNyH)f{MR>M`5{7EFD|Vtp01B4MCG@iy|A!yZ4H`}J2y6PyhxUi6ad4rP)H04jgO?F zB1l*oJCaGjA_9~;<*fx!yF3);e>E#v?kH17q2M#B6-6^M>A6joQ1 z6qnVgkaR^>LtBfp&E5rt+z&o`yE{E?&JL%u4J-l=kf1|@L!+n0$0w#QU75YQxOQvz z{{0`GzS#Ta^;;17$B&=>_(3U*Q;PZgXi-dpQZ7@aKn^O^&90HDvEj}(r+xa#$3Omf zd-H5lwmLChDAT1XB7|yFcA73lo05`dvglJ{!YM?bfBgM#M~-srQ%lQ>=US8mQLb}z zc41*e8~Z9J(LZR07$q+1tQ!@9gU7?(FusJ3wIr zi{1ep%evh?y?p~iBcqd(Q!}%3b91XZH}5`p^z^6afXu#o_u=s4r!Vib1&M08EI|?n z;^#&1qoc)%vb6l;K*{!vO$>SGUw--X^Rug61uAiPxLB=~i=(7zSvsvor%`Innfg?v zh(pBt!2G}Z+Lv>DVqtaVyvIZmWI0dGTwR2wnr*JlPxUAY&GI;3GzpG|2Ozi+Bp5}2 zLz6>7LPOXDe>{;0Xq!Krl9XCr>grLdGt#St{%|-z1bh%49S{)Y9|R}Tqm$AKN=i%0 zD@vpN@iJRobDN_L;xpadU0vOvFnL^E?VX*@HmJS1+ui5x8yFZGIt{ez^vtEXg=<^8 zcfWi1^yzb;-VWX#zB~N<>E9ipYEYV$3VDJ^5EjZ|Fqsrec$}%E+OxQ`IDGo%>(9Tv z|9+w&H8zwSAxVmjiIwWJGL*`cloSxUS*MXlGH6tv0KX%MKz7xs*^R~X{RTp$we95O z9CU4NeQWLNbgQ^n6B+JLLLWu=`qTJW5`qu`hqF0UI)h3iV(~#lu(pYQBzxa|aBXozgWcKU07A3F0TfqPI}qGX zXb0F^fPjZ=$+|t>z5zfaPmca|Z+2mQYvT@}vrnJDc=>Ao_5R`EZ&&$J4K#HzSt%Fu zLl{InIuIU&=g9LfKKy=beER;uuZJ%-daUu`WGXKAd*6eSQZ%` z9?D>WADTl63JBt`5mY>qqAHzes%n&LtmP6oib4#;5-21z(jUM9U!0tgUsh6Cdpwhl zW+YeITcNiNt}eH$r^nsjH{=}#HLic42YQJDWGf&k!>3N28lOCOe){6&`Q@$Mo!#%C zbE?<-?>`(Ke*V|*fByO3uPsWWB|9rKT@U$u$AmM;ICKC4C+hp|=jXdq^UvOXeE;Nf zt%@HW8ZAzUjT9xDbF&R9r94rgv1FQb^2iV-nd}phC>4w3@^jNVbyQI9hsw$u3j}+xLwY0Riw}E5>NCQCE4c52E1H_99 zNYD08z-~NUJ^kQ0H42pL)Xe3@mF3NwyI`|Fd+~bj&HllM!!MtI`_d%QnKH9&R&$z8 zksyf-rl7Hb{zu|wpT7C!%E_JA?|*%DqeIH4vAEHa7+yqtYC(Y}DN!nw$WyZl%$oQ} zE|W<0Nzp6is`;hj$-8fBE03ST!^cJS)SPs#3^B{7?!W9^faLd9?RrX6C!S*RSr4 zXrWf!C{a{6Hz74E#|(a<`1p90r7$;58y6E5%%J)6f6l%#o`2XCLQD&2cwgHS?n-6mBWk_q}03f zwALsb5rKk%sQr(^aad-wRFPF$SzcbmIU2|_l{GX%j-mk7Iz8>(P{VP*2PA*c1N5t_ zy%Ty7D30!4ayaOBkZ?9}BeR~8no-?;t#>|6ejV^?Uzq(UVpIn^!8Z;6Gx$QMWToZk=mMVP>RLk7@5+PU2I8FBqT(# z*c_i2l{(E*>K?tic71cKU6p9FkI!6PSzBM&-Q8N5&M{SK!x0z)8iNIxhQzTcNIDLV zp!0}WvN#-0_ag`yK|~P=FO&oec?x+;ha`Z2N8nKYu)u&Lcp@X3r_x%>s%y<`Uqq;? zu)O|+!|C(@gmb!_posUh_xFNq4?sTdZbz4+v&-Y{azQSzBi@nIV;3hcP0uVWZExMU z_webXm#_9-?R|WI`0n!`du1^yeR@d_kYxs?DpA6ZjH1zkCEYtOpFMeS@4?DQPB;Ng zWkvDB1hL5m3xK%j7>OiFVJXZpYE$B(L+HFFw`#4G#3WJtG6d16~k6 z)cECf^$rhtdq;;(PfT5!nY(;-;p+Cz-R~bgfqbOi9{lUm=TE=?`}cD(Nm^5WPG(Me zs@|xROQbSktVH9wx&L6&DHERPc! zLG{7#<$3vq_5E{K<}Z&lDB{eG!xKwafp**3*_fZsHdbrUK}a+KONKK5Go|2zP;hi) zjGT<-NaIl$RG=`Hj}MN=hO%W`i#H|gh&((9uy(}JBj5hx8#EK@bI{77v0n#<%2G3I zxMHidw)74v!%CVB^wq^D@gjXBJmi##{ADYtzWY;>!BQ z>W%HSg-Zp}G8N!5Xd;e^<`6JgCZB*n!UeocHkPMRMh2qb(eVK7vZF~gxX4;mxd z*WCra?Evh~?H=|Hj+{PwW^!_N?#k-&#*N$ezk3YP8o+7ZfB1Cx)DWGbw;0VlE#{wn`KH6uBnXKjfCmvyLt}~27&HbQ&9N|H zQCfqBiALhhB!7C`F(R2RO|Kfa5lJlcQ4}^1Qt4P4g@*GD2*UH_X&E_rrM1V79cyiY z>`B`Gzm9?UJ#H6R_mDkFFZ3U@5g?Z5aeD`cPL7^FGci6jH@~{Fv9$}GN<){)_TRld z{P6bI<|u{6m}bt(GMO_>dYvi5lAdNbF?VC@j4eJv8p9KcMBpPSEk8G1Efx#HLPXk( z{KEW9lU@o+Qe zj4aKZUs_dLS66?$p{emibF00%-OFw=wSOEJ>4Uuw-XsS`BF?s|^}0UF?Qz;v}MI zalAA(mKT+vx7spPv0N@EBvP4~TU1#?yq|_FJHZW4@As|f8R=sOH^yp z4A$(te2XT;Vh2Cm}M)iEXp#;_@QhD zi$Nv(U?}+Dn0RGj-`w)jc~?bhX07M!94Ky^*Kcls(76$SBchr3Kr|(cPNQL!p@7o{ ztAznDia}LUj`;?jSf=|1&Xr~`INHK|e!7kl=#R(v2L>Prq{!$*h1P5>EUzdpD+6l1 zv9-DOSk19opi~^rwi9iguFiH>cSncI1HF0ifTz#x>~?}LdpaRi;~s%*38tqn&d#rF z+}geS&j&vMM!Wy|&HIDHUu?WMnM$Y6$jz~3X6F_Z=H(X@4609vC^i(-zRI&Z-#@r@sohp+AHA@=xw*4> z_xAScbRmPoWn$3;0)|2hrP4zfyhJPp!GQb(h&H9FJw6~Xrlf-Y4Klt+5+KT{$%zp& z1JOh*98V&#BE(9qrM#xRs;sIWWE=puqXlwY1B<%f(*a~#uh-i2^^uhFELa*B&f zD=RB28mo)TN((cxGBb>3!1DBJK;63QI zG0FDuiC$U(#ln^+AT^<>T z#OLUkZ51pSD>F}o{yI!iPYDociedsOXgCUwL*uZVxMX8iL1B4GNm*rGZGA&i^YNyp z{Vu$W|x?JAAes4cCc+A`1>+S6aOtyDmaByfCve>(1fRu>>ZXh{RH;bRvVz!SE7&gW{VxK{!%jI<34{78ts*w7{TE}-JNy1hL;g9C#D z{k?-;??}(k(7<5N$lxF}if(*jdS-Uv^3wYD_Vqh=9zJ>e^5yH-2k-Vje7cn&kSTN; zbB-miyt1mgvaF=2q{x<&ol{(12}q1uooY1b6QX&%C_Y%#Hc($m^UUfvZZMh7A`>Z0 zp%0ouCNii|wKtwV|M{nf>s7f;17la#psNMjn=2zHR8%yMfu>=oY&wm?4vnPXG-N+r z1q+E}muoqSwjx*{#;7JnAVmDsaGKDVno&&n`bZ$093H3CWM$b3@}SjNS=-QD*HB;E z)Z7Z9hI+E>jxML8qsP_Zb^%ED_Vf+*Kx57Tt`GH|guF2ahlkIcIXyByH9b2!H@mpD z28Dj_het0UYs_~C??1eFFkbC6(0`$EqqyN(yp{3d?I7s%>VC)@VvqDy0c= zF=9ci!ctjRUz?w$N#wJL7!oy@#u3SU;AkwFN{p(#^W)3Z6`11T%SYF%f7E50+~T#gVv$@eGNA#tz}w^M2h4WlOpXb($}t8}JRQ#L4C)s6MXDoP4UD$47dnyPZrw8`3Jd0dQCA(cdn73R{W6OEO* z`gk4<@Ng!D6)sWAeNcD;iAIblx%>F(vmfto9nWnUonBnq+}haM*Y<^*p59^az`*Gu=t_|1y)5tkP?eQ!;Y%3rd^Yp*t0omCg1} zdtIqnm!?jF8Xh!il~gKEwN`nK z!pw%=u?vgqYpWpo^<#1#73=3u3_Hrea=5fGdPo$Np-St3rav(9q`vXIkQx)hQi6nI z;9(*zEeNd;pjGiYs!$ZGkf&tl=H=!W78Tai*48)GR8&+|*VG?xZvM-t!Qngs$W7A; zCqVwTPDdAXH0gm3YCw5+ySkx2y(4G5Lqo%(V`JkNE&}noy1sMc&fWVzK7Ri5vzL2^ zYc`82B}JK%Y|`acH?%g?*3{P20Q%ohS*TSi#JupxsKg|tGESn<7gRUYRTpRkBq|;T h$1*}=lzOx2{{T1Xk^?00mc{@8002ovPDHLkV1fZ=DA)i1 literal 0 HcmV?d00001 diff --git a/mp5/img_rcg.tex b/mp5/img_rcg.tex new file mode 100644 index 0000000..85b5ede --- /dev/null +++ b/mp5/img_rcg.tex @@ -0,0 +1,26 @@ +% This file was created by matlab2tikz. +% +\begin{tikzpicture} + +\begin{axis}[% +width=2.604in, +height=2.604in, +at={(0.962in,0.66in)}, +scale only axis, +point meta min=-0.0235938830592846, +point meta max=0.993939917509565, +axis on top, +xmin=0.5, +xmax=250.5, +tick align=outside, +y dir=reverse, +ymin=0.5, +ymax=250.5, +axis line style={draw=none}, +ticks=none, +title style={font=\bfseries}, +title={Sharp Image (rcg)} +] +\addplot [forget plot] graphics [xmin=0.5, xmax=250.5, ymin=0.5, ymax=250.5] {img_rcg-1.png}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file diff --git a/mp5/res_log.tex b/mp5/res_log.tex new file mode 100644 index 0000000..b46fa1b --- /dev/null +++ b/mp5/res_log.tex @@ -0,0 +1,257 @@ +% This file was created by matlab2tikz. +% +\definecolor{mycolor1}{rgb}{0.00000,0.44700,0.74100}% +\definecolor{mycolor2}{rgb}{0.85000,0.32500,0.09800}% +% +\begin{tikzpicture} + +\begin{axis}[% +width=4.521in, +height=3.566in, +at={(0.758in,0.481in)}, +scale only axis, +xmin=0, +xmax=250, +ymode=log, +ymin=1e-06, +ymax=118.544185368288, +yminorticks=true, +axis background/.style={fill=white}, +title style={font=\bfseries}, +title={Residual norms over iteration (y is log)} +] +\addplot [color=mycolor1, forget plot] + table[row sep=crcr]{% +1 11.1886780605947\\ +2 37.688016651504\\ +3 20.5612191459901\\ +4 10.1126098486914\\ +5 6.60295496425051\\ +6 4.03660691189902\\ +7 2.83696084221764\\ +8 2.02776259797851\\ +9 1.55623996384361\\ +10 1.26373343652138\\ +11 0.968080560648255\\ +12 0.808014633949812\\ +13 0.666010141343337\\ +14 0.547935882226161\\ +15 0.455778233603678\\ +16 0.379140935249178\\ +17 0.325385471261729\\ +18 0.27468130551472\\ +19 0.241318492631058\\ +20 0.203089896725741\\ +21 0.186402910640978\\ +22 0.164285195168731\\ +23 0.161498606695505\\ +24 0.13554465057248\\ +25 0.108256329622331\\ +26 0.096685060868788\\ +27 0.0901032819163635\\ +28 0.0846560423043152\\ +29 0.0720452421305809\\ +30 0.0638081561682231\\ +31 0.0586938472203618\\ +32 0.0524931123015411\\ +33 0.0500311324114693\\ +34 0.0441377829780386\\ +35 0.0430660141184194\\ +36 0.0399007401033348\\ +37 0.0357338939687774\\ +38 0.0334582949737502\\ +39 0.0301143079798452\\ +40 0.0277450095617363\\ +41 0.0246457162237748\\ +42 0.0226451015644127\\ +43 0.0214585559097522\\ +44 0.0197750620834928\\ +45 0.0184656387170807\\ +46 0.01424126114094\\ +47 0.014925314691824\\ +48 0.0138939777471367\\ +49 0.0124854196790047\\ +50 0.0121443393806818\\ +51 0.0111248201462271\\ +52 0.0117048407914948\\ +53 0.0113323279545552\\ +54 0.0106729739632728\\ +55 0.00944425804326873\\ +56 0.00871066933482761\\ +57 0.00881210600673333\\ +58 0.00795156096327054\\ +59 0.00726613636631538\\ +60 0.00700470814378812\\ +61 0.00621935380743637\\ +62 0.00580029695866593\\ +63 0.00557779006381989\\ +64 0.00510498070037545\\ +65 0.0047009622833176\\ +66 0.00438789538442034\\ +67 0.00435585711109691\\ +68 0.00396640165581629\\ +69 0.00393477324085466\\ +70 0.00371617606606877\\ +71 0.00327886320159879\\ +72 0.00312237367539779\\ +73 0.00299349690875735\\ +74 0.00284074963413765\\ +75 0.00287860679448775\\ +76 0.0027731320103853\\ +77 0.00263952084059243\\ +78 0.00233720240014001\\ +79 0.00212697729708345\\ +80 0.00199788688851914\\ +81 0.00191003161317315\\ +82 0.00189242158319258\\ +83 0.00174836410231261\\ +84 0.0016140985772839\\ +85 0.00153318949743614\\ +86 0.00147245713810495\\ +87 0.00150762346036416\\ +88 0.00141698818640003\\ +89 0.00132612374554337\\ +90 0.0012294024439175\\ +91 0.00124357808130644\\ +92 0.00117351874267278\\ +93 0.00118805545766119\\ +94 0.00114318803197479\\ +95 0.00110915873689051\\ +96 0.00101959224657441\\ +97 0.00102415265668903\\ +98 0.000975302119471475\\ +99 0.000987996366258813\\ +100 0.00095742632740931\\ +101 0.000934265103971271\\ +102 0.000867894211150555\\ +103 0.000857812123034294\\ +104 0.000756099336226914\\ +105 0.000691162784782045\\ +106 0.000695473018163751\\ +107 0.000633925014757231\\ +108 0.000590287819831721\\ +109 0.000535337664369594\\ +110 0.000538252780320825\\ +111 0.000525826256051619\\ +112 0.000497879429315293\\ +113 0.000454616010876659\\ +114 0.000458838481347935\\ +115 0.000424839125494755\\ +116 0.000394335524998984\\ +117 0.000385945051019674\\ +118 0.000369692359961463\\ +119 0.000344267565220491\\ +120 0.000327893992619588\\ +121 0.000325828293258797\\ +122 0.000289237146884203\\ +123 0.000285070703523818\\ +124 0.000254192839215692\\ +125 0.000243444971741076\\ +126 0.000232080954193898\\ +127 0.000232619238643129\\ +128 0.000221784687572175\\ +129 0.000220230466851297\\ +130 0.000211029395043088\\ +131 0.000193736708718616\\ +132 0.000173392267570507\\ +133 0.000177242279228775\\ +134 0.000176692274847942\\ +135 0.000163578052215373\\ +136 0.000154604812916662\\ +137 0.000144545518887022\\ +138 0.00014456301163485\\ +139 0.000142459358743701\\ +140 0.0001308824450235\\ +141 0.000115457857714896\\ +142 0.00011695471803412\\ +143 0.000113103879953932\\ +144 0.000105257482462195\\ +145 0.000106888699118678\\ +146 0.000102374869876372\\ +147 9.76413644339824e-05\\ +148 8.4851357550636e-05\\ +149 7.68259382254786e-05\\ +150 7.45049326964518e-05\\ +151 7.30876640535304e-05\\ +152 7.5125116902824e-05\\ +153 7.84305708028061e-05\\ +154 8.45501238033231e-05\\ +155 8.17331778157062e-05\\ +156 7.55108766404751e-05\\ +157 7.48398655259728e-05\\ +158 7.14089505651308e-05\\ +159 6.99224620714426e-05\\ +160 7.04197347847714e-05\\ +161 6.53525683701177e-05\\ +162 6.08288863097357e-05\\ +163 5.89421929587584e-05\\ +164 5.72484731968775e-05\\ +165 5.18959286578684e-05\\ +166 5.16052819357681e-05\\ +167 5.18373975156787e-05\\ +168 5.1438260693119e-05\\ +169 4.74780120078228e-05\\ +170 4.76692285194498e-05\\ +171 4.63049226435535e-05\\ +172 4.3021574259984e-05\\ +173 4.34691080338747e-05\\ +174 4.07308380659776e-05\\ +175 3.92273577862465e-05\\ +176 3.78686988818524e-05\\ +177 3.75780813333193e-05\\ +178 3.89427911494855e-05\\ +179 3.55021611298483e-05\\ +180 3.21423511450592e-05\\ +181 3.1976175682275e-05\\ +182 3.15208931332488e-05\\ +183 3.02809343645595e-05\\ +184 2.93752192595988e-05\\ +185 2.83798341644248e-05\\ +186 2.84874468500327e-05\\ +187 2.6372748821241e-05\\ +188 2.83572106563901e-05\\ +189 2.73404573666424e-05\\ +190 2.64050982491902e-05\\ +191 2.68346097335579e-05\\ +192 2.66791537496404e-05\\ +193 2.44823861206895e-05\\ +194 2.44167662294569e-05\\ +195 2.42329915293711e-05\\ +196 2.57959950015393e-05\\ +197 2.5330918832603e-05\\ +198 2.43122483048608e-05\\ +199 2.29066675778814e-05\\ +200 2.28422313595056e-05\\ +201 2.2009103500163e-05\\ +}; +\addplot [color=mycolor2, forget plot] + table[row sep=crcr]{% +1 118.544185368288\\ +2 0.687337944312083\\ +3 0.0352052378196977\\ +4 0.0177116530504275\\ +5 0.00921115423330148\\ +6 0.00742079353381528\\ +7 0.00435978025623298\\ +8 0.00269077966124769\\ +9 0.00326151218772164\\ +10 0.00207394458931424\\ +11 0.00295893040643868\\ +12 0.00133204038205353\\ +13 0.00183522720801244\\ +14 0.00145996981575274\\ +15 0.000990797743084482\\ +16 0.00126621063572918\\ +17 0.000551496956428083\\ +18 0.000515017395303755\\ +19 0.000232316315215174\\ +20 0.000223232804362511\\ +21 0.000208790455128303\\ +22 0.000151172313680646\\ +23 0.000161588020568097\\ +24 0.000122705865740307\\ +25 0.000118687703674217\\ +26 0.000113287133295243\\ +}; +\end{axis} +\end{tikzpicture}% \ No newline at end of file