From 5d46493c59bebbabf86735ad7bb80377a72156d6 Mon Sep 17 00:00:00 2001 From: janscience Date: Wed, 18 Dec 2019 13:55:27 +0100 Subject: [PATCH] [likelihood] improved solution to exercise 1 --- likelihood/exercises/mlestd.m | 13 ++++++++++--- likelihood/exercises/mlestd.pdf | Bin 6556 -> 10259 bytes 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/likelihood/exercises/mlestd.m b/likelihood/exercises/mlestd.m index f28d39e..8c61e4b 100644 --- a/likelihood/exercises/mlestd.m +++ b/likelihood/exercises/mlestd.m @@ -3,10 +3,11 @@ sigma =2.0; ns = [50, 1000]; for k = 1:length(ns) n = ns(k); + fprintf('\nn=%d\n', n); % draw random numbers: x = randn(n,1)*sigma+mu; - fprintf(' mean of the data is %.2f\n', mean(x)) - fprintf('standard deviation of the data is %.2f\n', std(x)) + fprintf(' mean of the data is %.2f\n', mean(x)) + fprintf(' standard deviation of the data is %.2f\n', std(x)) % standard deviation as parameter: psigs = 1.0:0.01:3.0; @@ -17,8 +18,14 @@ for k = 1:length(ns) p = exp(-0.5*((x-mu)/psig).^2.0)/sqrt(2.0*pi)/psig; lms(:,i) = p; end - lm = prod(lms, 1); % likelihood + lm = prod(lms, 1); % likelihood loglm = sum(log(lms), 1); % log likelihood + maxlm = psigs(lm==max(lm)); + if length(maxlm) > 1 + maxlm = maxlm(1); + end + fprintf(' likelihood: standard deviation of the data is %.2f\n', maxlm) + fprintf(' log-likelihood: standard deviation of the data is %.2f\n', psigs(loglm==max(loglm))) % plot likelihood of standard deviation: subplot(2, 2, 2*k-1); diff --git a/likelihood/exercises/mlestd.pdf b/likelihood/exercises/mlestd.pdf index 5246eda4fe3eb5c26724adcbfa5c79b3454a5bc0..4732ba4cede4ae175352b52bfb0103b7d38458d7 100644 GIT binary patch literal 10259 zcmbt)byQp5wk}enXtCln#oa9wC%C&yfM7)vC{~IUw~_+ITO_y!DDIS^#a#*%_ZBPC z_J-g6opaB-=Zx{*7;pcv_nzOJYtC=YwO5jz@v-QDlz0Sqh4EO*$}1}I1OWU14_g;J zNl83D9jJ%Bj~xUGV3+d*+c`l1O4>RABM21c?BNa&5E2m<5a8k$VB_a! zAoIg7U z&Og)G)>^O2oLIXY{JaXh7P|`72LDmNKC%9NwuMuF%k%2Daq@!4@4d#xukCj~^v!Pk zJLnafKIx6`Oe0_3SV?ci6B`UgeeHa?VJBb#Q7i5Ux}K?idb`cC@+x%pH-1_FpYx?Z z>&=b9w>HCnzNZ+S;+<5#3(%syVZGs4f%SfK(HL`f?+a|ep4(v)bABvnE_F*d>hvRT z*}SJ$Vtf58Qa@`dN!#7ie*-#bobao+v(Mc1%JX*L*U9Al?UAyC&Q4o-QQ=Y-G59wgzF$HbPIFw@J)e(c@3-ir&blR|D`pRmVyD@H{^C z7i1W11obbNXIvMIwo&gVIjDiCxY{EZZk4k*-p>$NZAu4fHqPs@pqoqvuygKvNNcK+#o(s4aK0Nq5Z zb!^+{;))DtE-AWIS>7LMN4`T4zVr(oaM1*Rcq@jh%#(bK?}gb_7--tb{PmV*Wv^22 zOe;1LaeS4nl;YYigK7J~NBZ_f!`umCn|-VU)KIY#2o7Iy=nDsA%h5!5MpCI2dP?E+ zShWg|oy?icRoe=0j-HnLs1z4!E6}Q3&3+qCON+KXK{yrs7K`f0k%T#Ybwu)2qhH@3 zR`h4Tv(Gl3Sa1K@NBm}l@T74nypkgA$!H;%ojG6bJ(2*P6aa$#??%g&Z)0HTK`+>t zBn@%0CILYO6-%@q+caLNG=>uG1*i{=M72$XhP-?3`O>v7ZaQPBvLhIn`=M%w2Fe?t zA~Rm>xr5*Oj^IjoYf6Ns`>-#sUbpx4#Fy)dEpF1!t%o&=cTif6(z>RvuA#@BuP^bJ z2*-au4<5YQq8_|pYv7?-d(WOE0NBY1-%{t9{MZd|n={hkLDG_R7qj&LY2IKTAn; z#GHTQcXyjy|603L_L#}2PsFTnw=F1jsNjt}*KWTnEKZOv9bLf6nmfHHqSGM9sS5+P zeGrE$fX>sO+*s0We0}~x3cm@yU`u5#e0=B}E%I!_)m6aSy3gSF=j!floNS!Lf~}f4 z`3cqugJ4}0i`rFR9s|Nd7kh+%e{2&}uwe?cwgxqf^?CFi#9dfn-!5)E7SZ7ONOif^ z_v-UIf$;+1#I$v5hq#TIS&6mvgGB?gl4HIitoVasza$|#Bh81@8o&y?iM5(%^&JvyQ+?h|1-K#SdAIyi^HP&uU!c;eBA=q)h%_lJT+JT(eNB z)EHypC|y{aZ(@s(3$|5cFA=c!hb!L^HY{{2qxov($^v{1ohQ%#{*zm&Enr@l$qBkS zvBX1DBe~<*Dj@^DF4)g^nq1G(#Am&D#ZP*<_$6kD;#s0U^=&sx@2M--;Va4!wM75Y zi5MjbHkVTVJD{$5`1)9k*^QLfc#i6D$ohBgyPJg3GwO8tqAbCn4IJzNeZ5@0P`e=|wb(RhPl zA4BWT)0W-3XXn`fEf`90wJaJQCe zy#UYaS-gMq;Q$Yy<{XigXTcliil6c2&9;OmN5n7$++ZZ1)_9;Y1#P!@ykN--9wL_u ztC#=q(fIpArh*_2&x?R&?){&k-CxwjZrfgpUL`iKG`x@QsI!pH5|misonNI+-h zZ%UGcRZez>N_5gdNs-?l71AzRw9n-npsip3mMRG(e0`I14gdgvPjE{FjWBUr>Ynry z`#sF%;*GmYK9Jr=W;l}uz`f}*%qO+io;0%G;-h=yai%cO=%lSDB+PLqWot|kLP!Wg zO`Sy4j2&JV(+)9aztCu*nQmvT1hZ#}vz#Uq>#i&}lQBxPgi_BmNcs5+ra*cu1r+qg zPbivhERrcrv7VT`E6cCqPf;`r+d-T9G+);}L1<5QhGw8_h)&YdJjK1K>RnfV2Zr`` z%Zfrx?Ph|f(NzjUUG3#V+Hy=qe9$Ic0dXTFx){_=8W{7~iSB^7KrbsihW~J<7a8Z*k+uVQd#@_E4}ijZFmms@_hsO7;pNqkW~5v zvda4uidb}`_;z3`oF#)%B;YXv=7+xQ=0>m4=1H7_gS( zIVT`|!wqqZJS!Fn#R;Tde_6bKtwc530<4eO~WDxcXp5xItr|4|1p_srid6@EsBX+^h+Mm5lPm=Bozxz4& zO#K5AU5X25<+WKHqbguomSD630ZjE_(s_qjPjoi;9L-+yW{4fa?FD))$Zwr_gJmIV z_B%Qo=W7+B0g;iW^jNENx=bmc4UI1Fsmpo*HRnwpU;N$#cO~dDttoAm*;us%Hx}`3 z;KJU4VDJ^`HZ6bTcURILczu{Wz@+7&Q!anN#Dc<1O?}-XJ%bq7u{ zCB^9^Qm3S+D`hGsT=1#6;846T|HIN7Nph966nQL4o0XX~7c;0D#g6j0YDjFpIebV~ z2Zzhy2n(;cR)@TOjrZwxg*PUe3Ab?s9tpuW`YrPkE;yphZ+$ZWSA{UGRM0jJ-ak%F zFjE6c1uD(PY8XVHr4=($Dx<0Gc9!Y5nP%dVA#)@D4016s7S^7UMUHg|&FfoHhccU` z#TL@~2*2WXD=lIvJr(GBoDZA)Qb1EjN8v0|L_}DWqipEF;Q~PrH`YwZ`a4i_N?KO% zH&ph_lt<*KgoN^^?=$ht)ZdZ&b8`bj3^uf>j=fKWcZdDn`j9hs0>`{yyIeAXuR7J&MJ8%^CQs6fW1hPibQh*250z0^>JnnT z#a35gBcXQIdb^xl2EJy8he$udEGo>Vf=T4uY%}B4OQ@65_K@IZGxqd}Jvdwp-Lq?m zu*cOBcr@V=J;);Pd1?>$iQG9M)f8_n30l}ozgfgv!B=#4omd}XdCwZ~a@6gHmSSiZg3 z8ywB>8PU>qcc;~mPI+#+YpTGJFc`%q_EFNad8534H9!g9nfLj1vR~H#k;qI>_8&*7 zLaa8-7K}u+kgcgD|FbVrVJuhnT*#wz>GmA4CzEC;;VF;hHasrg%s%AM?x}=1$ULD- zRvh0^_7_||0KczmW~09Z!=Up!PDiRyLA*}q2|?&P(HPg61gKxpB8yKeQ4tH3{XQxO zsDKx+t`nNTsi&3Xg)VZrRJV6OIVzW{$&^nfzoi|UXWi_oR@RlCW@rYT*UwHE+$}fW z%*RyLA)W-5iZLw4GO2F7=a$ACg3 zh$ZD-#F7xPqz-c`nAEaWR8Kc*mS1N`)iT{Q-zAUEv^`$}Q5NU2jQLCu)4(r4UbRG> z#^4B{k<#lIA?!27Um&~kT!uS;qMObK(EPKOYimI2b>yK+Ki*a;uMqh71E=yfwa!;{ zV$+<({P)MC_L5NNOWxJ-Y2J4gnonU6KJh6WymPt+AK;1cI$;TGmaU%T)n#g`k(+|g!yZFRfRFyM0 zbMfCo{LjtF$P6x19d=0xg(%%dq;8u&r{KK9Q>1_p>P}%$y}fpOhecXe1ayqTwzBp;;q+gTT=6 zXi;o8n}i1eT+};?nEkRfZE{0p+xaD&e3<9^56p+>uI0fBL{rh`FL-}Kgp0>uI9&YE zSm{(gJ9MkTN7;6}>vtBIPt-+5x$=6>`U^dDC{9+|NI!C0XpXp;nFR1D!m>VMxtqlF zSFd^{XJ*MFRR{|9G8h9`URHvcd-ttVzp-qjEOTQ=Vwm^qEjZ9xHhOhh7}*HX1)j7* zf4zT6mU9}8!|+ZUIz~ejF8b-MK*WnkG{cY#G#^3avZ%m&S4pdPle@9JLOP_-*wO=n zZ;Kht_TLr~CiRUydzV*31_^(5DFBi6SO)E<$cOyIHc{RLpSB~1`njHh005A4CV3uH(OH=qBZ4fNp3|8n)KJqloyge*~1jdJ5V4=;6%6_G_}~ z4ZN5tfKP-lsNDZ4oB^A&zfxR1-hiCF? zPG;bWlyM!Zc#dzY4wHuKJp}W2aNUoHe4@w)>+)*3Y26`=7zv0)m4_5!MXd~K-F((6 zgA_a6pFw2 z=0N9WLuwSX))Yd@S(Qn-g0%bC8j6I{MDlV_8%Sz4whNw;OH2Bfa9XJh8u}Bg;zGBh z$`Vo}dxS5)zk%O3qucu_qNwa8s;{MMM$eBHjha8e1I3cr$c)S{!qgVT*iWVCSAEE} z+w{&v3+<3T7Mm)oi`w7zw%^1ljrY9u-%iz;32U6-S%UXtrA2_ltC&@c{0zq0;7cj# z)GZEHezvH4a|Q|yGq@XD)wx_4e;5gmIuy(@7SDn$;iJZ|CRF^|#Z$piWs_TS-$rXt zvwAS5^kk4MXgfs*JVJE|(SWU(Jk$(T?2q?x7BzxmI(io84}ivwdelm&()ds6!+)Xf z7~#6!Du&-M)XT;lKTlv3U&H5`Axf9wC!y3{}P@;WM6z$LA^?s@>-1FwDbutF~WT z3tgH_bFpJFd^lw$hK~O{^(YOE9E9x`a-Ku$%xGuEJccgnRsy<8zUVWeD2>Tp;>p4Q zO|FB3kSltEP5C=Hc*AdxQZ_@6O>6kPyn%_jUIxcbeYhhBD8c*9fBXi)T zM3G$Tmlh_OuEnlBrF$&AqYeJVnnwwraX=y`Znw+^R0Yj+NzWXY*qYxD!air>; z5(2!97BbjJbNacVlKF4%Y79_+74(dMn!&HCaDCr5ECeM2@?kDZCyJ4a1FcM+nD7;* zz{-QX7rJ=hwwdb4$?mJHFWN?|ODuUCp`()hdTt+HN3vPe<#W}2JAxDZh-e+N<$8>A zo9e;WpYnaWu@7Vxrq?fWigyS?N|ACF{_&TpevU6GoH|_>2$g+kxSlNZYvs@rP9s&p zTDIW{hiKU~19{v+Q4Z*5gjO z2_q|Xv(0}TY8#L%#OOgL85yTVA@I?c0Enha>;rL=4DrTIcT&!?CIbdG0e#!rS2LLG z2Ww5vYOg2z&{hM6Fty=g}Lb`;h!B&@= zRHStS?M2s6_amu7`LaBE6CmcnheD}C922d4UA&u0uMn28r^WL(dcc~#+oyOcwYsYP zUf;9m(lS{Dsw*@t?zU~UreLg}8Kn$MXdNcJY!fy%#9|jdCf0f-yoVngey1h2#l@64 z;*vbKz?ViiHE!<~J6dL)&0oTfsn(vg`JP-9W)Vzw?6Q2~^YZ%Q;u-V``qqJ|Zno~L zXO^bS_qCod#17%^f8*PU+v(Mrw-pDlM+QwVlaoIM*)$$Iw#n>F(cX;UdrP z_hj;glbZU74^w^_dW<&%woPSUXr1w)zx%!Y&aofu!C2I`ULa|@_~DPyAoRD_2PV0~ z=^K=S>B_J%8V%yN9nC+}!U>2ei|v~&Fs~hccFk~%dh`Xa67rP9G-1#P?)S2-J|`pd zLZY#+J3evSQC{7t^z9~J#nKm~w=BRKpVTC?aKHqpbg*h zy;unWC$_rF77yas>^8Y~fv$7o;~W`%SGri>2iUeA=9^Wt{K*yKdn7N(nh&rwP-YY8 z?R1o6HDAjCcG`fom`#2(X)vCTU)-_}CM$G~&>|n)C;nG#eHAU0b5dC+Dr=j&4T%`< zLiDEe=er1-U=r(oo5Yv z|EamTd&>%~2qFU_f3qwyqpt29F#|<}QHD}v!7-AUe@NXn+GFUxu7VOBJQzP$iIEVC zzsV$;a$Dkm*)6%9{9NvO^e~dv}0H>ZPI8vhrw^*HHpky4A!%X zaW+DSgpbDF!dDgD=i+-=fm2o!Opa%ES&EMQpbUv$U!sdC-*qB7T9&+Trrmw~=b^Z}{sTvl7l%i*% zkT=+kP7PSQvngc#ArwUyYv^8KS6I}&eg5I{C={Nl@)6YKQTzPQFV1BER%O2D!P%v( znr2&o%f}Cm59tc0`#x!qhq4esY$c3b7{Ard=K9o2a)~4hW`OslttRxyIAZO(mS8PX zkM#AwL0)@yb$BOcWSZ@W>Zj{A!*eq;X~ZsXR1h*yeX_wySQwG6PjC+K10LSzOMG~$9^kT`y}DQB(~-7V1_wG#Hz7K*iu^;;-(RKZU7(d z)`hSn;Cv+C+O7^S95SN|85o{7*fA+n-PL0r!(u705;o-c#Y8Yp$uj%hpjmHRhdAj+ zY{?KJ((E}`9CSar49Op=^}0;yOvA9s&frIg(iEkyfgx`oJ5Zo~qYS$Kz{JEsR}JA< z4$VO{hAD$sawS?gjqS(3hE9w&;&gEONX8eoks@ys;bY3&i6x3=#TG68kD}tp-Yutj;3#AZ9k&M~es_ z8C}AROXbQ;KLeQr*?qP{R4I{iL`qMQn3l%LdTAI?2aVZp^*H-_yJ!;274pZ_w=|*h|({$rlnjV?-e=DU5(0gc9U)NJ&3)HOtG}mM_SfAPfg!i ze5KvEQDDZ&OKs^{$_NOsuOBjlMfvL+Use>?b}GL4vD)H7aHxm z$ZJ@Rpld%*-8#0Q@=uvowc?6kN4-O+<`LUIhj(6dOR9ez);BLz5S10DZp3lt^1&TX z*G7H+ZW@_JvXOb{4$`%za$0rfT;N57uVrqYW5hgHOaDP&yg$yZ*Ok|2qU?nr>Q-?N zXp-`@XjVmgHot`ENoh*e~jHWy;BPEhL zF!Ua%3IR9b%$AqnLDMQ;3up&Y(Cd-@jQ+UcSDnv9S-`3MnZz3MviZ;o>1E6J8llB| zqLYg#?kJODgn;tUuA5!?Z$JdVHkh*UWzb{lL~jfJ^(1$MH;2k+F#PLhyD@%^8ugr-NGJv zTB9-M{14j#Y~q^KE3U&qb_)}9-PaEQ&BB{|H4naaJ^xy;`g-lU24jTlZL8EH+fta= z5M7GN{v(1xfN_<(58Ch=TJTU@`I2N8(u&%z{5tkA7kcp-p9V+e)R`@d&eQdcmGDL! z2X0I{in@B6vQ{+qL_HukLCCs_~5 z9O44vhUMNM+`ZG)hdaZc4rhl1e`e!BHWm-4b&R9a99W@g!%+)wlNyPmY9#n3k(7t0 z%H8+pP@w!9870DrT-I_`LPiC{$K^YNdSdIt1OBNmXe2w-oCl6v_7KHGdhf(<=Mo5| zoWDd!Ah8L@bGf;)mhXnc;#PO}knqpwpZgib13I{U$e2vZ;U?u{HvYt9$fOE7XXSJR zUXDT@!hMIj4mu(J$1`H}@THDJse+(X?+}HgW12+DZ0+Vn&)JC0pi4iU4r{sHs32FO zXXuBEUb(E)c;FA>L=~{#sY7Y+rtFhhA$qU0mf7b050pWE+uS}C{^bojC3R5y5PyqF z=fmc@X$1SQ@UKhRTtpSFzbDCa`oJ`ak>hwRr@%yMb^5EeciIv++#+Nu&NRyJQ_B#x zuc`-*uIr{DRx7pfI}huppFW~&AGrmL>&*a}Re#B`*OQaRe{R9)gE=8K@Cd&kbatKV zr&)f7GPXzFtxXI~;9WC;)+v&WI3=yVR}b6ds;bYd(R4As4dmo`u1IdsMxfNX(NwRe zZ0o?p6RcQ-AWBTibV)xBn;U8PY+LO)?p*rqf~S5ULMJJKeqm$+Xhn7+$(GT7RmgrvAGx2+-q&bf#Rb7 z(A^0CjhWvIaP%zy0gL<%qXa>nHyJlwre z01R+H3B7+26N#hjzvWE-q^g7pz9*#bW9$7F_xl+L+#~W}806jy;8TIPzJPc;+kx+4 zMR%0c$l2Wyz-R32F6Rz&{s-_cg@FIRg?QvWTdy8sfcgF6=>aV7RZ@Siyukgk{O^t^fW5)49*+0b@7EFbKaJG@qo&R7$K&Jv+}*?1 z{aO* zYP_C@2WsK&SLd%?rRwhB0k{|A{kH`Im`m~ti3-RA1w_RKK*B;|0^-6-0s2UJtp(>NWBh!hn>lt+gJ@=_sz5PDOP78Ilzk{5`C1d;&3O1FSC>7ue&kY)u7 zP0&@U2#8ov!3A*^mpt-8XZm-I+Ug=0?Ze&cPUs#36KA zUu2Xb@Bj+n1aCo*NT3VE4&jFaCNRVkbYQah5ElR)SX4e_2hlimh)hQC_*{q@jt~^z z^y^HgT~v59VOYZ#tGW7tmgO4P9OfrZ4;Oq^DcdGRTjfl))Sf8Te3jd;HLZze9lc)H zP<73A!&#rGxtY-Q??XRXew>}_d;$)QjksM|{rl@7>205n&wZHI*v9+i@#^pkPe-nB7iL@4ADI0S{kX8)&k&JLm@gvE0X}A2`o<*i%y(qLwMYG!lmCbiekX7fje9@kFmJ5Hp(+DU3tyicnrQ_CL#Mk5XFd>J(h%#(5CEklm8%g=J6p`$0`}N%_W;zsf1IBr`lHm{Sj-;Wdb$) zee;IbN1m@!MtMD+zO>C^`>wN%YglWnx^yx(&Hk~^wn#}zUFrJvo!}mVRsX%_#jD1a zftv~Wx698usIhKAy>eFP-V63DefGKi`lHE*s}kbw-K%8FdfWUX^8W z{nX{+3fHF}C+D72eyutC=_uK0oJP2NfwJwMvf_@zHUh|Nj$<+K%x~whMxg%qhgTb- zHJVi{)xSi37RZ-2&DGuCm0dQFcIAQ5p9JG7C3(=$U(0w4XH--^9_*^7qYIEvHL$F?{k4paj z&80PS7DWjynd3657`4Rxhm!q`hoqPImhcym0@1(7%M!!#BMJ1?;*?Rl)e(E^R1{oB zwe?%s`^}_#GLODjRy}trKw>E|v!g$@Ek09G&_+@$va^!7>T*m|R-P%}@-nk6@vcHk zV*WGjmWhvCo9BOM$4hTGAR_`kcZwf*Ue=Oudr_98qZ81QRc5ECh90v{crolE#jm8J zP?GfKNX6L9Gq}B?vl*>JEG4mLhlsE2#cH)RC%PzC%a?4~7uU>rS9@&HsU zK6Rh_)bQ!X2HsVb)6sr@MUj#l4nRShpZTVb52$@K(O-rdy|ThvH*5p?^x4r`Pt)rA z1(zmKwB4K7PS=(g?y!FvEY5Jj1;?ly8GWkldM5jFjzfcs){&0Zhm~Zv(gu}S#Ix(z z_9CNCcb2bw9Y6`P+u^awG$J5*wwYqx;~&a-@T3LGHD&~g7ezcSuDCv0DaY7hX(gNM zTe!m<<#Zyqpjo~ocgFmHz5P<({dE?G=VS7|Jnj%>+-a!p8p1E#w`NY}{PTBJ^21e! zWj1u5iSAO!mLD#joPA#PfND`L|jFV%pLx{BImvU5cH4 zBxgjJ6jL5~Ahx7)aoS^oW@v$#V@>`t_0Whc9HB>ke~pM$2Emfx4*t&i>brdO?I@^RAAHycNGJZa`?3EVf|@y?h?y`#lfzWKriDJZPIJHDgoviSv8%e0K_ ztm^xoH#65PcL}~sy)AQlm7)Gs)zN5%@+n+ze zE(7FQkq6H-hIhM1e;|V|m9GUh#Xdf{^?s$W*swF|L-*jL25*e0hr`y|nUAXojIu$g+0k27Q*Wo7CHj1u)%h)L$5;%U^ zDDQeZA^)@LnEd<3$-q-+*DIGFSk|uUT65r+Sa$ZI<>#Twlg_ zw=%+JgJcOn_dtyui4t^MPD}wns#rI&C&zW3G*_1EWDYa8T)sVQxHEO<>Ac)z z@mtLgwM?Q9n`#bWm8#pT_t2dWv}M{Pv_ijyL=0c&bM=}l9{~aV+Qrlra@%#GmD+;Z z++s)Rl}lwm{x%*jf==tYuebh8+IVHaGEB({k7f}t%vD6hgzsM<%fiQ@BOhl}%wx9oq)L$w z;dPIq#dFk7KV3O;N!s{mLv(%)4ty1yUf-j;!}&A2z9-(hH9XYNiSH}7J6dPdII+GL z9XWEYIW&Jl-!;&DdO7uYK)~Mg!K{sgy7ES+PBP?2lGcs}Z<4oN!QZ$kH%|H035j~K z9;~%A&0yPp-ZJZ_kr>9 zQU2-X6pJH2jIg<22 zdJMM?;VBm2bUch>Uzgec|fmk^%6x9zXhwKdoxsiEp} zxuc-FC(V%1D|7QsYDsro-X5KBv6MW%hg4P9a3AW-(bg%a^Trw#R8|?fO4PWwoGTSm z)5kE4yGH9n^+AZbjO3LTUA$ijw}Pq3l%*RU8*l?+enUD-`Y|6(Yy5H zOm?ZaXp850?}lGI8j9oRUy8%L)w#>dV6;-t$s>!M>sH_O*l2fKq;5-R0MzI*ZFc{X zN@>-K{vb~GkyZ@trdtL*pK*gc_l~b)p7QCr?d7w9j_F6U-HGpBJ4C15Z&EOQm(+No z^;1^}mo>yGKW6s$;4%NR;pe`-y)HAGv1zQWUip@CMd162?wBX$9LJ`xoP$1r8~OG5 zpy$TRWH8rfuHeb*)BX>h51xA0u@Tw%n*&c&>qw(ZisNnaXIIH9JYVYl1u7 zCM|v^CI7Jxl8l@=-g%BN5?zaYE7_w!JZ&-grA~8NIUq=-{iFYIoA(z*>A`)pXp!{V zR@+&rV^ge#x7kPoO?8RHZtaa^b z6E~!_CyJ2kNRiT>J6 z_%$euh@157Y*AAdRT#c-e;v9SzZjG#sa>;vtMT=z`d>o~uCw5(ic%dVvnXX{*fLs? zRi`?e^eo3C<7`U1eLwtdh>S=1XzmqH9thI(h*0%(85d)UCZ1^7W`6>|R{>Yx8?316 z;*mqQQG6QNQ?k6wNwt8GvDwu5Z|iH@g>yYCO`Mu%bzknYn$Js#@p;%PgrCR~3DFUhL9b zvI)_dC{-;@$Fyt}sld1b_@!@#?`Ee#zaLp%sM}MD2<`Fo)m;*pE2rA9MSF>-c_(1a zV-#wm?DM3T6peQrvsUt5NkWC?Iwvx!J4&o8!jjcO+2`WKU4vHi0e9YD2t5*^8jHHJ zRz#HeQVwS__8vDE`4o5h#m(o>E?sq8 z(xDz5vcC>-vc111kG`ddBV*Wg?;POuwqLWDLOGC>Q9(7FK-YHP?{SK)JFktcPS7c2 z`Wm(KJ0IrJ>!Q38ww{O#vp#{Z{j8beqI^9e&CG0oRu?pSvc}i=+ON7;3tT7W_R;f5 zEcwJ?`<0c+Uj6j3mTN^_T%VP1N{2#KEP84RYyxX?!rM~w>X*d!(gyvDU!?R;i3hEK z81FVax%wJn)(L{!Qg>?7+EVREDaS(7=xwPE-YLJeJ(F;tSr`j4m*3#N*L-kZ+g{72 z(i$uavF?yHufEY(a7I!O%dJ)Yl)?@YyPoGC=t-I4K;Oe*D7 zC6%ftuC(c`PdGkl5YP4}j6w9v=8^};B)6u?UnR+3XuXpN6)#&~I}vmsWY$woDYQ0d z`Vnmgd$%M;GW^i!uCw(4Ju_odLE1Mz(jhi|q3?x9!d_X}Aq(GF0tSOvfZ_h^qbacw z5a><~fk0P?&ZOFK1b`n3M&mGe07JkAAV5zJAMUCF6g-OyvH1X2*mA>Qh{uWI(jXq( zjJtC=G%twn2g2<-08$_UAEvVx@EyJ8Nr~Sm95^sFTFBfJ0k`L%E&L5L0QKHXmjN>j%s$$OFK2OgaznLkQLPL<9gZhbSRSA-4rm^bgVnN?R(Q%Ho84XR)BX zE5xVLVGMxA{7ts$&kX*w0s*?Yy8>u3c|nrUsD---Pg8`D%=0g52(A2%B_IetV}+j! zNE<2-60QsA1hJwaK9feB*BcbV;3Z_kR~bxp2!Iya2g8}{C|B3TL|sI)MM4+KLYOtyvI ztNJT?0F!Q^w-N7(a*eQsLYYomxscb^^%UCHFdC7rXGunoEU9qlLB;}VgfV0OYK8|u zJeq~3t*48Frf`D5Ob{Ls4m$x5gtOQ@Gl7NPJc$`R7J@-NV15ce%tFt{)g9n-IIJ)x zAHX1qNVG8;YXmU3)Nm+L}Z zhJa`ykqDwNAO>R$&oJi2viVejF`K6a%bQn(>GOk(%|p)Xgrsr8L8cFgMxwy)g6v>( zxXcJXlfwptf~morD87Xr4v#|<@p!s1mI|AXMl*26DEKi()9EG zpG3h3SQZvu0(fKwZ!LNh4dPnpS#$YJ1|$F+LpePDH}L=giO1=I3)cS&O2HocXZvBq zw*>&;k(nzTm5f+BI4xM{VNhs-F&blxCcu`#I9vGA4Zei?JC02Hf#h&0usg~B%^pCQ zL^g7n@Qoe`{5uf|6fXB)Ed5t)cXj=LTOS@S3`}Z-tE-tEhZYqMXD?^F|E1giMK955 zKh%tf;q)1XF*w|CDjb*8hzJ&(T7=;W!a=1+Cc#KPlh1<4 z^ZUk{#s4;7F@^iUj74RKSm+6i=@5e&#p3IcL4J4y$d3r7;~Bvy0xgKfFf|FnQ5l3F zVlX{82un1<5%E+!gree*5xj3sVlm0z2J_s(KPCQy3+F-b?uESx{>Tkv1n@6C{~n`1 z6C!*JSm?zF(;Yne`N;iCQvJSt_5WM68^GtFaL2%|5$+j%J2T;iLSxVb6cIWnpj1T}=BpRM>jKLX)Kx~N1qybtuQ)BO7_`r<< zyx^4Vz-7XsVgU?*!J1)FW+)WkO|b=pi~#|`B*+AZgmtF~gG~Sb7Cr_)&R78#Vjxfe z8jBF7(Qgl6g2!X=00UTn;m|m^eh@wY`#TIzfR*?g42L4XrO?mwutW@eaQ_TLq0s-q z4@*S-$2=THSjzlNi^Ki{41^KQ=*(ttV1EdUBhc9n@FNj$XbcWRB$#0BP*^)VdlOSrBHqN>7LBsQ h*rJF;^8bHEfUvmY@u^(?yfaMDI4nX($KK5W@ju3yI0OIy