From b2314f423f11c6231b8dd3d7c645f6ec4b249b13 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 11:47:22 -0800 Subject: [PATCH 01/56] Bumping version. --- NEWS | 3 +++ config/Version.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index b9d3721..6c2a633 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +1.5.9: + * + 1.5.8: November 24, 2008 * Fixed a bug that prevented notes from being automatically saved in certain notebooks. diff --git a/config/Version.py b/config/Version.py index e8d7099..61ebe8c 100644 --- a/config/Version.py +++ b/config/Version.py @@ -1 +1 @@ -VERSION = u"1.5.8" +VERSION = u"1.5.9" From bf4bf4026e092d69b9ab0eb20d2b5b3b942cc486 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 12:32:31 -0800 Subject: [PATCH 02/56] Fixing 404 demo link in product page footer. --- view/Product_page.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/Product_page.py b/view/Product_page.py index c40a66a..ad8129a 100644 --- a/view/Product_page.py +++ b/view/Product_page.py @@ -27,7 +27,7 @@ class Product_page( Page ): Ul( Li( u"About", class_ = u"footer_category" ), Li( A( u"tour", href = u"/tour" ) ), - Li( A( u"demo", href = u"/demo" ) ), + Li( A( u"demo", href = u"/users/demo" ) ), Li( A( u"faq", href = u"/faq" ) ), Li( A( u"team", href = u"/meet_the_team" ) ), Li( A( u"user guide", href = u"/guide" ) ), From cfdd666c5f5477b3032db43a89ee75bbae1adffe Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 13:10:18 -0800 Subject: [PATCH 03/56] Fixed a Chrome/Safari bug in which ending a link didn't always work. Specifically, in a list of two elements in which each element was a link, clicking right after the first element and then pressing ctrl-L to end the link didn't work as expected. Now it does. --- NEWS | 2 +- static/js/Editor.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 6c2a633..ea7d566 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,5 @@ 1.5.9: - * + * Fixed a Chrome/Safari bug in which ending a link didn't always work. 1.5.8: November 24, 2008 * Fixed a bug that prevented notes from being automatically saved in certain diff --git a/static/js/Editor.js b/static/js/Editor.js index b2d760d..9ef625d 100644 --- a/static/js/Editor.js +++ b/static/js/Editor.js @@ -602,7 +602,9 @@ Editor.prototype.end_link = function () { // end of the link if it's not already there if ( link && WEBKIT ) { var selection = this.iframe.contentWindow.getSelection(); - selection.collapse( link, 1 ); + var sentinel = this.document.createTextNode( Editor.title_placeholder_char ); + insertSiblingNodesAfter( link, sentinel ); + selection.collapse( sentinel, 1 ); } } else if ( this.document.selection ) { // browsers such as IE // if some text is already selected, unlink it and bail From fa4c9c0cdb0962830c7d15632c4b0adf9fcdf316 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 13:13:43 -0800 Subject: [PATCH 04/56] Updating header links at the top of the Luminotes Desktop wiki page. --- view/Header.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/view/Header.py b/view/Header.py index 2944326..75fc370 100644 --- a/view/Header.py +++ b/view/Header.py @@ -18,8 +18,8 @@ class Header( Div ): Div( u"version", VERSION, u" | ", A( u"upgrade", href = u"http://luminotes.com/download?upgrade=True", target = "_new" ), u" | ", - A( u"support", href = u"http://luminotes.com/support", target = "_new" ), u" | ", - A( u"blog", href = u"http://luminotes.com/blog", target = "_new" ), + A( u"community", href = u"http://luminotes.com/community", target = "_new" ), u" | ", + A( u"blog", href = u"http://luminotes.com/blog/", target = "_new" ), class_ = u"header_links", ), class_ = u"wide_center_area", From 024f654e6190adfbc987368f3f49d94e7df4794c Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 13:21:36 -0800 Subject: [PATCH 05/56] Removing TODO that was already done. --- view/Product_page.py | 1 - 1 file changed, 1 deletion(-) diff --git a/view/Product_page.py b/view/Product_page.py index ad8129a..3bf26a6 100644 --- a/view/Product_page.py +++ b/view/Product_page.py @@ -21,7 +21,6 @@ class Product_page( Page ): Div( Div( - # TODO make into a table kinda like on the footer of change.gov? Div( Div( Ul( From b7a7699d34c90e31437f507a975b3af82d039bd8 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 13:23:38 -0800 Subject: [PATCH 06/56] Adding a message at the bottom of forum pages about logging in to post. --- view/Main_page.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/view/Main_page.py b/view/Main_page.py index 8515f24..0e98acb 100644 --- a/view/Main_page.py +++ b/view/Main_page.py @@ -230,6 +230,8 @@ class Main_page( Page ): ), ( forum_tag and user.username and user.username != u"anonymous" ) and \ P( u"To write a comment, click that large \"+\" button to the left. To publish your comment, click the save button.", class_ = u"small_text" ) or None, + ( forum_tag and ( not user.username or user.username == u"anonymous" ) ) and \ + P( u"To write a comment, please login first. No account?", A( u"Sign up", href = u"/pricing" ), u"to get a free account.", class_ = "small_text" ) or None, Page_navigation( notebook_path, len( notes ), total_notes_count, start, count, return_text = u"return to the discussion", From 6b7ad590016ae87696e6ab38da203d6be21d3672 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 14:00:01 -0800 Subject: [PATCH 07/56] Removing ribbon about beta Safari/Chrome support from screenshot. --- static/images/screenshot_small.jpg | Bin 62757 -> 0 bytes static/images/screenshot_small.png | Bin 92835 -> 81926 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 static/images/screenshot_small.jpg diff --git a/static/images/screenshot_small.jpg b/static/images/screenshot_small.jpg deleted file mode 100644 index 3cb81cb37e9961b328c29364c8084319f2a96e55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62757 zcmd?QWmsI@(jeNn21sxX!Gk5ZOGt2cX$bD_4#8c5ySp_6XxxLlHZH+w+@0Y)GxwbL zd~?5%XXgI8yPw`qb?>!m)v8*xR@r`;e_01$Nr_2{0bpQY0D7+^zPt?ua1OSkg z1<(Tk0OZ&2>-Dk(`1)6?|D)?KB>zVU{_6bF33!VP!wwS*2SWjXeG3Ek7UtzQfD8Zw zfQ9=9^8ZRO0Dy#yfQSMQhYI`Gb7d?5EG!%V765~UfQpLpdWT1VLxh1v0wBLdd54XI zi>F5L!6k79pM_gRH7TVIJWI&I`6VH>ehM;AL8)l(8rL{IM} z03pEBp4-`G@5jyl7#vVWyeQ_#y{2KrzR?`rbG*0Hy`<~oqG<8hn4nksE@5A@<=K*L z$WEWvy?gg~QonUw%VT8vK6ueOJIQy}?E>6ls=dR*b7J3jZ@Q7;<-A7F#|aTi=kD(j zN+0e&L2BB*_kd2#PD~)Rp&iAvkOa)I4aD`(i%1-Je2sd_d51YX`;V>|d=MF*SlM zR;EpPPcxdM&_cArBC^#}o6p|{tt}9&0@m}hE1QCqkwhXHB)bBy{XXiP|61L<{8hHT zY@;fb+7Lldcdy|Bd>1GRJSvJ*^iwU{toy8~J3owtErm;wiDn|)mB=r0f^~jW1lipc z#!LYHd{7+6I0F*vK$=_AMo zPHWu5TqzIg(7=xst0SJM7h9_P?P2FBBl!<8o`-UW8P_L^Jv$D-s*L=ED-QK+UEU8l z7f`P<=p`ELosFUP?=HV3619X+55I7f`n>4X4;cD01g~kgC9cInCOuvNr0d@c99O$0 z+xV|M5)V6CmKFtqm;-vKOkCWL42o&8Y{B;? z4Z~06-Whomdz@sb`+EpMg}C=zFtYbu>2CbJ+hVWr1v`k&gXUQ3aweKYX89pSVl2sG2EJn3^vY)mMX$D=-WA()3~h5XC=oloHq1 zv)Z1UhFqMaY<8$|Q$T&^E1R-MLg!)}&2)i>4&vKri-ZK7Zua{C4qM)0+d&gb+=*im zQDQW{dU|!4R(DCtvIng9pl&49=m}7z_=M+nh8J-0f|YS1$k=^p*)i|?pe{=YJ5?B( zuka^lhF?mbomW4|>H=~|=+32k+m6J!q4aMxtneZN@e)POhxNanmsI{%!ITwFgjz$4 znRGK!{JnphojJg5V*g?Z^%%xM?_@ z{3vs8vikxTXItTTjirw|m}lD(;yU~0PnH|13E^$Dvov{>0c4=15N;Ef=3$`r8SN!Ox0o_D@0AsQHIst@jlTWg3l#Xt()@fcz`} z6URylkMdF_CeCTUrVm>yv;xS%Duk)Se)#pp;!-vNZv*%&1t}5bPP%pjp47X=+Gzap zSLQXBd-Q3F8JqoD-lj`1R~%Kri_Oh#5r@v5%9FUhu|)ra@6Q)QoV1AYXJtj)6e~&8 zMQH;d+qB#jI=1s2Mf+V#=$OJ9`d3@BTh@)3GXAQR-z_Fy2dr4 z#36f!wxJuUu58PkaNhUi>mXB4s;?hyNK9zNX*~PpGm>h;AFo%|Ibfz4{iM59>ntyi zq@M{MDfgQbvr?!h>XBNd&G{YWygjTrCv6HFM9+p7JbaK1%>JYv7mKp;D*$B*y-cL} zJWK4MoDP(N)CvVrRTLP%;jUDqBnM%>a1ZJ~t^9T|?a%1B<7ruQIaZ+wyq@&@tcK9) z==W|5W1%~GQ>}y#O-nhd#YN$uBU7=A$t-RmM8442ZkoNJ$Q&X6s1aX%thk@u`>?*J z`n=t9?F@@^&X0I%p8Dv`9qoRzLyFR>jrHg{Ed3@d6% zJ+#0kaxTfPpi>}GD}jGT{K2dAL+BA7vBdz+5CzqbktRY$#A9JVB5id0?Zw6U$*Qf@ z?@8T-h_*QLJS+Ayh8Ej>afM9o`YG>_eNTTBl? zSZ662AvW)=>n);WVJ4**QuX)x`LdO{1-rwE%LcUO~iAO@D1A%RoseY&F?<=uoj=mdpG(e zDPt7$F%`aoA3*@Th&!8U!Udt(H$Q6P2l@4+Gh!req8}l94E+fWlhE0si!b|Izy%jB zB)>y(-&Aa}F5zE}cLlp@(M|Tv4tnOp$0|btb!FXxK*M74CGoO?pTvdMmQp*j@0{)W zomy{&RGgk5QdbzD>4vy|fxe%fOzGn|j=eY=$SmU|u8Lpn!q{cv%0}Pumj4hhSm>f3 zM|Y(AV5HFb4u$XpzLY%HZT+V_8Nd5ip!r`$R&fj&zf#ugAtCioyXzl+HEy5xp1wD3 z;qaYkSu0<55WKLxlHW%EvpNansp2K2O-Z{C8ryr)w3NVII2pmu4GKJ}DCr6(ZJ^4q zFxlQCIYkw70%aXf3o3x@+>uJ2Ms4#v9iw~q#fK>S1yW;Xq4>Y}eMVjYb?5iEB6F!{ z&Q)RGv%mYQ|2i<vPAGDRH$TP&8>T;MVJf^Q9 zYq4kSaR2K<-Qjy7B--YA83D8KGrEA%IXFT*lsDqdw#f+kIJw`RB#WbMnpdsWgMsl} zmEr-%ej?|hEm^T*wI734-&s8pabsLOohEuWrI+mztjDrm&+~#Op71 z%}=g_T1xXE>4b<%^P2`Q$kYfiYBWXefp58H+G74C+xhob%J-2Cxf75GM;Q5 z`adq)q=~z%Wfwqk+ZvStTLsYhDg^T9@H(X5jsiDt*P9}{r((+9#VPWN<@ikzO`8K- znuY~eJxAzy(|M<;?F4=}w*$Kqu-7^3F}TManxqP{_J*g*0tsk-ty47TXUNk~7`C2X z40ra(Ov7ul**0h{*4IGGwq{^AAuCj<`g(5U`BN+Z9>ed1OR4pl^nBsw1>oqR)}s57 zsxJoe;F&ct1hVoMUX2efZVa9Y<}OD))d}TEF%PyBiF7m~7MN<6&9-Cor5+y^g8FAU zR74LRe;PtLT=QH{)B&lKe5kvS3tMxqoXXh_*k2Xbt$a7vplLNsZ-ox2MS9!K03*uj zjW{mc=6v(#Va8pkA#2=L%;^kYaD!jBY0`}*O586kbIIeRL8fscLCd&=(V}zb1fCON zBzsPb)xZ@Wn^HW?NQ(+-s$IQaN2|dF*!@%2B1p-GYp9D9MK(B|JbkN~%ha{gnzf{Q zveHh&eb=nqv8YXlWh)_2yLo^Dmvoa^Xw!Ix=)S(VCX&exAH)!6g zlhq4+NqCvJETa zRQ989T^1}UKPGHb^9es~i(XN7coGlsAi-X(ZS@cZ%s1f@N2ea(H5QJETFDjEuVJEyRh&4h!|Fm^YF$s4+bEMQz)}aZr46;e%^3d15GLqe*tJ*Om#Q7 zRMM?BDVcF%q>UG7(fi%IDqeTBx;BqWhd5Cx>l7>MBX(%v5*%ChEn3ykfO+y~>18~m zD_r^S-bD62v4RM#vH#>S~yQGxNPDpm(t+T#XKH8;l+Gu$Ff5ReJIHS1}#M^@a_ z=m|?F802Je>SKQ|d4|#0*K9~;_1(wa^V2Y`LG67ngcpfz`wdS{^-Qxkz4{cmmAOX8 zjBHZi-^k!zHS;cU>CS^*z|)xA8MC!I?tGIx;OnT*i7nr}r!rLCTK6ypWk+X& zRTFykT&aP#uc2Y-G?r?v=15hb7H%i%6|VxnA1>qH+x{PboeDm#5O3|V~4Nl7MW=TB9f>el=fy7OW5N7bbHK<>^RM(fx z{vzY7BVp1eW0^U5q28?seBDE7a=C*Nr*niPw)-;?SbM3e=5j-yQ$kd!KCiq`c7?Cz z^yQ77(tYVD^pL0+ejB-$2phha+?qlr^4(@+!kef^UK;TL+l`i%G5O(+Y0wJZAoy;Nmc3+!J0MYSlUT@ z^P`W8^Rzi---97xUsJq{DfigoqkZJEf3ZIMCnU*_Q-jFW%u2IetS9JvdNPW4CMG980k$0>(G?JwrFLbDR9$&~y*)BZ!cq_ou?1w4maJ)l`Qo zgUt~}+#xq}_TYx!Y1zM*z1Iu)vC+CHmhLAA6LSSZ70wwP@1rlU+}V~=cQO9Pwd+Rl&FtGs{>ViH5u>Dn-sFMY))QQ_64euevZ zT3zUfSWG$R%@1e?FM!Y2#-HZBDS_yQwh{-A^QBPhD<#bt<|Uc5u&Hu*$M|X}{4jM6wv?^M8Ns#IM6VlB4g^PQ5HWmM6$!tNRTxR$)42R1 zfB?JBS4l(QcvAk?oCPZ@m5vo2hjN~JT-pG4yh{7@xu=KwY-Oh83qVEp68v5dQ+sHc z&6CJ`(?n0I$&>}TxvZQ3-9TiD)RKRnwFSZ9En}!P6JB*ile~pl$%<+DTIr){ep7Wz zeX)(ZOHfu7ts~j{ni+>=5AP+$)lPf;Ylyp1vXJQ|&@!(=S&}_|K~?r0nDq#qdr5GS z2lt&=)Etkiiv#OtNlq+KO(^OE3Jf^DE*9gBAtjZOk!y^^xQnljo9hkVoG)ln7`u$t zwn6k)vRWlkD89|ilb4*&aG8Dt_+SpFxn7kovy62sZ|^a279V$%!>Mx8lB>(d^0(&- zl##2s{=Hl<49miS0Nx7q(3_B6=2A>f&+d1us;&lK6xhl?yW`hr|LN7_NOOZ)SriRC zCa=RgyP7VRyqZ?y755;ZW~}sACg?h~GTv)ML~mNo4D&jnOG6~@qW{RJY)igOGD^1N!B?-ck!f zxcuY{aw|Z^D3T|N+LMRZ-gnMqcU4JBtMyKIlqP~|zW~e~bWHflNi3>-3G-6wMA03W zc}r;C=)v|f4_0>QcYpf`bvi9ykb~O;Rc3*JKpi(@x-#NnSfWw6UUE#WIDznD@jNA- zS;Qv&z;o2$PCDE&)KGI#j^zg2!G)y;?I{8q7r(_niMFlo&xY16WAlCUV@~6vYXoC# znJ#0^Cs8haLXS;jEtU;ELghM(%}JA2239P&b~0^Zb;ge1TpnGlLplvN63vs)d9uF?8( z3D==GHYKd4XnS4fCyBh@E;Kx0tJA-QESBcceReX!QIgUP@Ccgj}PM!txl^{Ip z8S1fRdJ)MELrgFXMxo_0GqVhq@2UhlG~j0ww|e2R&M`M^{e9{^itl;*>*066LFf1a(7CmxuWf6( z@X?em)I3Z}CU(W$%4eoA)4Hpav7t@vd@oR5n~pU zm1<1~>DJsI^`{qVWfgw^-Z+HoY2OW+L~2D+5Tj`hsOl*eMv~ows#io-YW05Z~E0QPQ=rTLGT9T)Ms$Dhb#n<4YXCvO;bOE1TZ+6n~Uy#Tgf z8}`pwn$+I=9;}Q&tSb4D68QxC4J))s39NYpx3VpYRJRM%7=gn%i?-N_I88gn(Vbqu zWfIMeKyRsrxaRrq!Y{{Xu^oMuLEoF$FP!ly=0U$tWaO`g8P+QuS9|RA8;KEq{{{|H z>xeV*1g8<(i)!YtsT++srF@(Kvx76Ao(Thz~ux@Elo6*pKB^p2&n}`?2emq)6iOO474L zgtA=FPf6-PtZ3KtYCkFRwBe_Ga>&n~Q=6ITsGmPR!YQ6ooE^4ks9tHy?JRFk)|(r7 z8tLV=M4kVN)i3_b{__K?iTk%sp+t6HznfW{uxEVtYoO8nb&g#M8xr0x#9+4e!^n1LO4y1r*uMBsM*Qr&+I zwewNEG4ZC!wCo!ii7|sgY*Tl6i41GuI`7vHrK#(p*hYw5dlC-`ji9{G-n1d+xzq3V zGi$ciDq#S7jkMhF6PzkCT-V)hxG(?IUJe%x(4Hs55em}!`ehxy0E{nUk{K_`hr%$cE)fS6)kw&S&D81Q~&xC%)i~6;kO=A<% zt)5@o&upul*JK+ayf>G2j$$&479c_-?&`jO=j*?%`E%>J_Ff@3b6o+A|DcqH&pUIz zaY!$KaiQm%n5O#dEx#AQ#rO-LZQJf|n)3c%lGq$<(0agm+9>q868wwekZ#>aP{-|k zl*S9-@BKHAtxfO9eIGAg04MI+|0eVQgf{tq-`CWH{)WNrAzkxX;{6MN{{`@{s*d@; zttqoH|As;EZ_`ff`TIKl+ot=U?`8krv2FK;RIDDSdOXiwFu{GD=1s%zI0IJ1WXb+? z9iugG7DnuTl8KWGA18?xcmAk_5(|u?mS^6=iWBl!RLIC&a!WHq}dR zWj=|i4jSbwFNkGrVE3X8wK#;d(1?=yxh^YBDlyP%_KRl>6?rnIuM$Hg-x7bNq8wP`P-Qb%FTSTN$gDy>-2u$iIfxNl%DH5UOfMe)1}yzin75oD6%&Fxb-i#QwC zigjobKN9z)D)=Wrh0lc@*)Jg8y#?P1%B08l8-_iLDgt!!HvW`TEo-w@E?b4q#|tD) zG7%PH(r{jyrZ+ljcy!c-ID>| z8}0h5@hN3*VCZ&=4r8sDN-aQq6Wcfg;Z5{p7VG3)K+Pb%q!Nyv zL&2K@)b;-8n>+(2GycBC!p(zTeHP>Ly~m}m|Z8SXAyl2 zP|$)=DUN80aZ2~;XGYtb6&^T%xk-JudB+^CKE_&AR(<=v1*>v`eL(^|DnUD1JLRcp zAFydWI)7nC?M2Hu@=@nauqDwm5{r5+-Y=OKQ8>xEf<{(a&5mO=NRhUVpcWEMiL_LKL(0U^wB?*4w1Ex+Ep03}Y(%cbQoZ#pxkSjizW=OmRSJ zc`7V9+#j@8#~Tgrz=|3HvPFxlPHCoJJH5ac4yDslafz0>TKOuul?LTfbr(Ml6{k6c zr<}1CGt2{qYw8`%1;U1F%W$E(E~{pl`?F!3ePzUMC=RYFhgg2KXdGtSftRceflbeO zgAt^PgCKgqo4Z1`!>48CQ#KSSoc-Z~hY!G=WIej=>1NWL9W)~Bx0lT`VCqRepnSvX zWeGN2yf^uEuxgq4PMIoanq0pL$|jl;t5GV6uA`o}VXRi^rMRvAlx_3@(rhtJJ9sSn zo62g|ex&0@eUMUNG+tYdSyLW3cq8qkKmdp<+(KsGc?WxGtC$W%+h^ajHZEPNpN-mH z87-`=J7ucMb)!Bi&U{C=`iA}~Nix!YXC;6&t|`mr!!opkF%VHz%>@1z^JkdBk+9Ce zT|Zq&<#N{1AU!xJ6Lz2Jy5G35*YM|^X~s%XCz5FXR8rvfCKe>=uEcLTZ>HE0KvF5_ z5;Vq6HOQG#{jAKP?%&tslt!Bx`gDRm*9e)D3-B7tt`L{kV}aTM`DyuA+dtOpqU$1VO&v5eqZ*}e7dXYZ{AU@nis&Hx|JIGrx!qRuspL9 zkim0d2N+}`@n;oRGnuNIc@L{`g?dDA0D&Fh96W9sa89C4&@QkQyKGI zk7uPz7F=5pwT%i56s+C6 z&d(xqt5U0b2#wCB(lCkjqQXeR2);C0j7O6Po}dqT-QTm1<-KfcOWFa@Gg%x3#ZG|+ z4k^-Z06-qXgTzhl>ZmHTfV`ES2Zy8hYPzY-nUmN=Ck*sj?cbEh)g7~kXn0Ixht|Xn zZa4dMS1aOLt#MaJV2gNQ=oD@|ABDfjcG|a-BRc?z^_ZL;kNS~_}0Jm(ter(sA3E#C8N`iAoT>`+Gwo^H>$kV^K0P|Ux;OqH|EVS(Lh>vmq< z8@t(M@=w|Q{{qL#+|K@qe0s3Aqu%6J<+)l{tMhy z<##(DcRwVyjZWU)-}rFQv4jqxM@ z#no%Pt@ieB@ZIcdsG@e&6LD#?@Xo`XyWzTG4K;hNiq-j9anb{msY8iASc@)6T2-~1 z9ej$*H&KU9fI@}!9w(yU`w(U-c#Ty=wHhX8(zX>Ui?!EJ!ONg_N!+i>^tc!PGK?%p@xT&}BJrs6(}?@>D>Ne(W@|Y6 zxQb^Ji2!}0gK@(vi>#liK)t-o(|A@O$YN+{ZqD9t?>E*IR-24|uML*P^8;XFQNf$k}9``)(P zb*P{r14weIVCYB^wC_9nT}17Bk{#tDt{C;zt6-OaKHne)FzIT3r8ltrZ9rECZ*CRsX+ z*zr)s$y3EE0J~<;NBUKh8Kp_I#1JJ1JFx+X@~@Soc2%lR^S_?S-0urs01J=ae}fN- zV+8)G4_7h&KUC#1OQ^T=9$v9kj8Z3-GiV3{nO(AX+9A}SE_5Sie=~;F`jTSwHMYb? zY`|}*n|eB}@hgv(9Y6HSH%BqZh0#ND_#urwC~*50c1?jB)_Zm!uh>A9LX4VQ zx_PyD&Tr+bVF=b&ErxmE2=J4EUJfjaSXfFJxm{qerfZ~`^R(XkxiJ+&*d!_eWF`MV zmToGag~fI9FA(8*<5M(t9W+g(z_;0LB;0vRvWR}uW;qav`P7P8!ZoZTD-X5?IAta{ z$DN9O1Wc8P5+!{9H#UtoX}?^@x7F$hi0j2pj#b05c0cdEgKI&XUJom^g*hhR>g3-L z9B6EYU_P`@csKy-XyWR8f;7>4n#jS$7_gi179UvZQq3%fbup?;8@C9rkVVsHHoI$9 z@UIf5Irz4NPQ3W6%`3btoSP4PR`N8NdN(z=o=be@F2Bp#TQd>@eF@(1E)U}LDV})H zi0o$|E^>Aw+KHU}A;UL=CzG3i0sNrf@{wv)hN46~5N%&IAGVC^GTi7M>S~Cx=OMRC z#>?K^?Bhw317Pva5$cGK$wl6P9g$D>i^zmz1)PGB#lqtbK7?3OPWHzXIqQ)7El+-d zANvpiY^MyXs77aJ{XDHBz4~E2#=N#baZ@YP?CPRjrmd6x;Hvc9HFKe1f`~KG4}}Cy zM(>=2pAy@*Pe`hcGYsBv*;ODp1Q!E@aYo@beTfak_FnW&_o8bC&!+cL-)cWvQTRxK z>*kmP)Rz}G5{9RT5w<(+`krymSz6|Zdek$be&0)e4UCOhG!}~``MDdRQy({>WUXW{Zeu$@g97_M18BYWTqmSJa*x56ms7EBBL?|zEPrEtV)U-!hjSNDA zm1XeAmurcL6p2Savf4HXzCRN(%r3S1#S6GP(-lp@D}^h<@TiiaiASNdqjSrga1g>T z3}y*CzUK?$jOcdpU0@-?3!=02x}A3onpN`afcsn-?9l^*qdAOWG|PX6tYE@6WH7A8 zV=&C~(dh?zIL$^WR_@xu(faU4qj&wU zl?ZoC^2Lc$P^sH_3}&vYGiQC~K5w0Tx-NRAo$;}F-TXD3XD|0Po)OPY?px@q)9`42 zHX3n}(%yZurQJ~_t>nX*E_IUX>QjL&vh)pkAta1_+cLC56tM?KQ--W(I)wa2pbm(+j{kGR@R z@w2=If!*V>y4M<8mh997Ms7#8Akwvj>X?d|CE76yK||KOVJcPL^Hi zjrY0t!}&~?U9)Lox%oZ{NiMY^3Uzp+d|LeA8*015Vd}av!z4mj34e_OqqoD@{219y z^;tXmu*};5)N@L=O0Om9_hjN%o|s9LL&r6l8_x-)Vr&l~d$36}J}hPoQF4$Mc3jUT{>s=O<39y?=)+Ptqxs>9I$MFtl( z)QTH;hAspfu?<_!pOVG2vqHvGYt3n{n;b-$dEP}$4=&KtIaRM#cV(fjyDnd%hy3SX zx(Vvf=8wJs7yi#2H{wr59dw|_>ANA-BcKqO%J`{|oo-+I-V2~2c^mfykmmb-{c*h` z%6sw!p!sQt;RV3{{84SZKauV6eFpv+s96X~eJAR>lihzS#QkYg*U5KI`usJ$KPnWi zT6?xF^8!HHMR>G4j=3N7QPjOFK6}O-L%W5nyuXTj%Bd=~eRfDc!FbPW=8Wu{?|(OWcl0|xZx=(d>gqbr zNGD#~FsIP*1jlVmdI6)p7V|KUXkT+Kh|XEn12pO^(mKjz=@pgLCacvh(6YqTn7Kyq zPd*_fyq;-{d{O?22n6rEy8^dBCpX#- zMx#Q6e#u{tj#D}7lX2Awy{8hE(PwU+t+MqBG#evXKgY_lUr%IQHcLm>#Qf52>;-7} zYjp!)$|f#}RvaCI=)+QX@v2c zU|-0w6BX{BTh(nEtPEcuihf4&%f^sRq^qT72YKLT%heHx7(*AV z(W2oOr$I%4S%;h?N(tGuCAflFQ=wZeJ*@Pyv`#QyXrtg<7VxM53o=bxM&pKyV^%Ft zw#h{UQIc8}VfOMHoBb4x2H`I+{^DmZc&-`o$8vc(Y}+ z=rWhJbLH3%!gV)EUkDkU=2|{llINd?Sb1?m-t`<|q;Klf+=2TzZ%yB)zb5vI zyd6GP?uPtIcB-z^PmM>_6khq^82!2v_Pg_NfJw%dJ5Q!fV&H|Yl^J@#%VU0257$UG~M@^w#8+ zg8)Y~r{IElQ5v);&HOz0F(+-mC~cDnTGb3ayk@ETi&OuNTLia;qx~iNv=oFh_B+8} zRvH@px!1Q0Gv*Q}cHmO=4WS>N+_$j2=a2j71NIl&N{pF;IoJy~pCW{-wYP?|L}&dW zKnrh-H4<~HqGi0V_Kukw+T1!c4ehh#T#Kyn->b%hrr)ri4KyQ3g8BC?Z6zb*5e!Dj zapN`$fn{Yx)GP6O@UckXzVo+^%;W$aHWMi*$BZGCk*_hzT<+q>$9? zsqo*mT)hA+Rl8i(h!C+z5!5bO(O5CKCMr4`z>o?x73VLODEM5q)E1s;I>L2d4PGNy zv$zr!iV`@Dj32y?W0KG9?&rJ~$ahy)(*>O&GGn?!4Cg`EoKBDzz;Kmu`XcGgSo7m+ zdF9<2x^Ftc#pwUbgv}ZtAA(nrW!P-OsUm-|0(!;J0G_q+C+m&}E1W+WYlrFL7$q4b z;1CDU9bmXABQZ5@RA8XC-=JK3T7P!i z)3Zz$2zQ_J65;F4Ysfv`KeF~8?SjPnteoT>*w8(Fbv0&{q*axGowGiclatbB=lBJb z0A4P$0b$`zIt4NQV{Z44OV*CC%iXn|5V~_<#boLf8(2J$H&u~fo#B@a zsw9EI8;y+hzpkuxZ}=C$YANh{2lnJ#TT!bZ23DX`bFU*Rl7lrZ#+J@yCIpo`zb=Q)IcgHOTKcy>^CD;a5&dOI4`b&uc_Z<%(JQ=)g6j z%@Cl5T>o)Abr}>!-NW9P-lb-?WP*r>LA<^Z7pY?BKNQ1qQ!7WZ5GmI(M>`K8mMZEQSB^jV0% zl`df$`RF-DXBw89$IM_o={tq>V|&UQ;clrb<)*)1#+0W&+ayNw^lM<#J?>0g7j9eZ z&juKan`S5QnLK|GhaJ??_05Q)j%Gy8pPhqMbDN!?c`Mq69fM?S$W&mV9n|$$M8m#q zJt^>7SpfnZch|IclB%661Up7UkCR8@hER&qJH01~O);CdvLV2Wr?LQ3Vj(L@8A=OD z(SopnV)u7Y8Hr+47 z`FAC*lCA5fWgb`TqkOrt53?HYZx~~TKcQ|;NwF`+^2a%9*_?k7{Au!rHpDyL)U0TV zWQWvfn)jqabHr_l$aG`--GLx#(z&@1`4xH+>sPGsRk7zu_IiZ5L}dfb#Q!ixqcXntK}@oSN)4EQbb49nYJ-hA9M+<$Yc zw!)pM!11f8wA97JGJ9b-SI=0$p>12_InAWu{>p#&yR{nD&u>7E)+cb^ROIRsJj@hG zU+Md|GGK|)iO0&aG`gHib%R2xQAYN9lvkUGDs|KQlZkv$-MH*4hmCj><0lD2qn2(b-|JK)#+a6ImR2@ z`@6ZrpP|r?>7J`(cDtp8O60iD{J1Ev$J|O;hp`6O9r32E#qD<(Q)fn9E>-Z2M)Z^9 z=m-_U_fu|E49yOXLBlu=Yj|`$BitDC?^C^29pshoYNW1?DOhYFDgslpzy}Mxrj@X7 z3$1~z9F$M2((R$oLsS}Df>#yJ+ceo2uP4ohJ7(q8i9Zdw$n+VrR7nn6z~ za%@5>4OU!P`|$3#>2ZN z&y#tCSvC{B>#DYt^Tv51?dRA?8NPaLYvqB^(nCm7usB7S!SA3Gg0ElVSim$PvQz=P zhB~!X9){bh`vUCu3*g|$it0H_RWr?$!7wr58m&T>eWR4F`1io;V8kP{_^lep;bStYN z?;u%0h9rxjx8vzp%M(tssWn@qb(LeLOW&()OLF|@d4=Wha2ce9dtBqkkl3ePsQyT#QUFr7ojSfqBZfp}0aXx!rFJDEuk&W|w=_RFP z14P?0jFX_L_g+3d(on}GUc1AXM5#)mx0L=*{Ygj5Nx!?5abk%(4X zGlKsL7F>Ki$nLS6%AR<&KssvqTSm_sPGc*4LViAd@7W2N6$*wF3gtdSd`;Y4Gfq^V zlBInP%-14kEKI_#({_)RKs}nOdue7N;hMWi+~ocOJ89+(bKJTAsGS?8xr0b-#>hIh zKb(O7Q65wqX~=Vt#-5!-ytTVe<8e`ly$}w(^cjm^1?;F3wzsL5VL%`#3<{Sskm=(d zwTN9giljB|QB~(b4}Y6(Zk5GK;%}ofEJ8&*f3cqX)if}DwGaOCv`1f|$Av!ohu7C# zu_rqoxZ#|1zq@5u7J0g$-rIt3#}hEpM>4vgUTh0nRi2B_mDY=%HA=2;@aC<(;`)Aq z4-P-#&WP3(7-W7QfQqT_I$R`_FCP1}?|Uqhj)Rq$+F090(bv_9NKvnE$~ctAN-q{Y zL`g70RMge#7UvliO)`cy38<1d3Tzo^`Xn@C%*Eq3nw&s}O};dH+Cpi|3!mTYR?FCy zmoSO}KdOe-j+QXq>*PR1BV@0DTIvX@k_Dl?k1BCA#4l-k^ zXs>7c*_y5}dip$8EY`kn&k=x@?L+9V`qH7E^2_&-@5l8pQjRX=bHKyj5tTl(lCz>s zh0eRY^+pQX;vNE5cO26XW6-%Bxn?I^j_3Bdr@TsRU3=lhJy1T}VgG;O?Ja}iiq>vj zJP_R7EogAJ1b24}?(QB4!JXh1+!}|*ElA_;jRcoQf;&0A_o@2!{?6G~tM2{NMRiwE zv*(&?^_=e*<9PuY;)aRe4_AHcVVU9U-npbt>5VZg1t1lTL~+|c+i zk)htngIL?XYo8jq*9xO}UPLB+*+aZj9VOmY1^n_nyZU}*Qb#{)^LfLBr z*^m>HpaM;*$Lyy-^!yToSVk zI0M8U!a|RaBeDj?_p16GFFoUWMzz1IgRrd3KlO4W3-fLjKD~q7ZY`g?Pc_W&b!E%) z92mp$?maVV?EBUk?bVAAprQM~!C^d22M7MA#Pxp&VgL8Hs%ZP6DRkK}_`fi*WZZvY z6pdoX)$OtSZv&`!kAD(BRu~~CrIf|FMLH{7Q5y>4j#Zwj^<(D@(9Mk`54wSB!RM6` zZ6m4L!I&@1VrrBxdfNq0274w3p-Ha7c z&8cc(^4#j3Z7bDcUo_rKXBx9f&pq9baW=LM{$(TwN8psv%eI<6JAO%d%^}(e8oJ&q zaaZFc>H)tK3qqo$mmqDQ%9M4s<&ZfF4L_?XkZ{nbL-BY)!T6hNTvgGW)cp&q;TL<* zkL4%LoiIBKnLM~7*}RFg@2H19!bo-Sx!7i_2{ig2|6n#73vF0`LDVhK?GGzkU60q{ z?vMhVb*$Vvj7!k7<(afvN3@tHbyNg6XbGtSzMO-wS9IA?ElXC#6*jjXj23EY8GGmb zmCx8}HQpRXd4&Zihi|fY#vu-2vknbgcM->)zZ>OZ5+&Ri{!*R-%7%e5LDq?us5yP=rFXNmV6hFl%u^ttg%3{<=mmDW9pY$Zr`men0>BM zi|6(9I|$8|(>P0!?o_T$%9ExtH_0{SbFHh`Nk)N}0jgU20Ta*Jv&X0RPvvF)s@k{3lt1Oug} zOjMp(4$;d>I;&#T-b1iUL2WRFW#D5sbV=4$bfP*1*%goPG#Z@hM7;25+I2)P)Rf@J zR#p=i_M&rU3Z|%CNwbW?H(Q(QN%Xk$d~$nM{#U+PkM1N?&Gzf(Z}fP2$v#Z zYlCkef^;qqATH?SrnV!0q)S*paNz2emeab`Z?N?F#-CRAJ)BU|x5tf?w6d(+&pOe| z4OvEw;haTFiu%EA3Kwi^Os(BAVU&qyShYx+y~sCYHV3F+ za}45}B=+>TTmQ{k!XsFB$*4|nPabZN&%$GP;=L5lqwF8(hpO?XVIjNb`$3+cLs56j zZF73lSz{aK>WG!o$fSS2l{`a=+*|klk=m8o>~%Muycx-7 zA3oKz_0n@?9jmXh$E7W^rdJa1c!&o-mT|{uxFm2VPC;d@w}}>hf$7&((1qVMh_eh@ zoLO~;62fe@)6ux&Uc@JJgKVyM-`4#)V?JzSB8N%-+{L75kVNx;*`S>_3goP9`wR1S zDEM&bcqj-Kobo83vloi58Or5Lhwx_!X60*3lSO}mVNIbh(D0+RB{~$btFLcs?MT_N zAfUj;0XRrb;S8;!=>9$;@l00Hj0n4{La=46Mbhi5$IHF4KwjsOAkz(!WJxWO*5jL z$u5G9lFK%UT*%8|++#-LsDvX~NqhDe<~SeiBHA4MGG|vCGP#dc5?!^M* z+D5*^4vE#?coz5RY(vDQ#|+&z(Nb9XUOju1{Sxr9DJxvt*7XWr)i;s0%W%9Q%aaAe z9F0@-eKi36lBIl{q+O20olLD4^CXVkcEYC!Y~&(Tw2~j{Tp*ZTOr#t|K?GIyHEA@C zq1rh`)*J^ie+Ot%Cf+S~_c=!IAVIJ&Ro*N^nLb9ZbxCeNLD>zMBHIJaE*|%^53l`G zB!GhGJfI4JddWItH|y$8!!`9u?T$4+Vhnp_p^XS6nlGlpZe8P&WsYW(Cv0cuyLlQ6JV7`ZWG`h;n|TwT5Lf5P3utBI(L-I@x{9h~Jtuu^xHPw10~X%ZMbs}1G*XIl_a<>Z=*xh- z(aV7b9E2)dxiA^}Be9(6wtfiD+CbUdSsBl=umvaGpP?@7aUS(^rS`8*bg9bxG)`uj zd4=DMo8rdVixWj26GWVPsKe|$60<0t9dukadso;SJ*+zo(I!*Aft+8UvP>Bte1hCOW*HB={SIH)-Ku6x;wzFunlDHI=Rm*> z4X+44?I+Y35@ns`)`&nVFd+2d9_;o$*#rNShb-PA=Su=wx90@H0K?7{VsNs8U)XoN zePlEo0x4QMPEaz@mv;o$E@h2)b{?NUd^^sakjDWb2)VF7LGt}+ZV4M$%Ejg|Ms|AV z0DO@Lgii9oy_^qP3EMc=TGeQa%?30ME~ZWxonP3`vK3BW7JlVNlVB5;l(S4McH5s; zzd!u5;yk#vuxz54mq9<>ud%P zi%hnW^wg;9@)%&h2I0-hx6SRqc_t|HuloTbaJ(Xdyrw+xIx(bhcLX_WA0vFNhQ%zi zotkh5n&;2~vyM{gk|Ooy%G^Az$z7NIJjoW~;&SEd=AIGCEyF3!B2UM8O?a70Ka(Mv z5uy$NL)2z*MU|rn!2p2gdCp9V-ldt@gde7;O7LhT74zIq6_*EuMQU)^0&6^bj$)XJ zLaSkvy;b-25TL(XsP{B!_0(A$ zt`f|zQG!dS6qfmZYxLR1D0g@!?=ByP!iG&Y5~2F*GgnO8s{dwEqqWN8&~n~%u}a;d zenR_eey@}G!J?kK+o!z54&PoA)}*R!5xvq7SDW|GoJSGL(b1Pq!0Z) z@6%QxuN-nyO@m}hF@>t>G|wVmwffGyJa>9vaSvS@PnE68mOVq!MlH5l6e8p5Fg zRI|LAZ0W9Ef89Az)wB%M(0Po<2;y6 zn{Z&VHC+98TK<}DE9z(YAKX80-&>t6wn?>EX4ZK|F41eZYf3c!rol&vkMe%M_nu(t z+a^w>zt2h`K?mDzhiB`SdD{Yzdvddbtg$mLC#3GMmyc}jWW9j-Hc0*8l}*X(Aji8QF2!x}4|a;)AccZ}{Qwun`8vajA~ zq%E4}DOKAj?v6mi^-I~2@0RbOcjFn0W6BK`zCK&IwkFSsPq$ol(k8#0ok;1N13}qh zsjB8;iXo&nUp@W_7O99Gh|}sO$0Xw%Jm^ZQtM8sZE#Jjov@)aaxX4Ld+T31Kz~fDk zI9vnJ9h4Y%WC|sIHO)7$JM8AG`69}fo}Bej$FmPYX0Kf=@LLB-5lQBK7tGFj*pxt& z6q+6_Xjnd)E`B!xxfyi0Detqa?DlvECc6Hm9MeNu+A=`FNbu{(LrEn(-Av-RK9)Dp znx0LU^(ogEa+}T;pQ}e7rEHbReMZ5*ygRKPBzNAZ;`lKjXzf?-6Do7_d&h2fML6wD zuDou41eH1IK{ff1uet?qOfmN?V@{Ef05r}hy(1K^_WJu^IOBmfz)65!cC99kN{Eqb zq3GDPK~|$eobl=Wayq?T<50w)S8SPs+{LnZU>_&Q(&pGJ=)pYl^)SlhTasLeUk*zhP(AHZ=N;ITb_`oxRc+uzW z+Q+2RI>DpE{Bpuj-*?M1@(y07sVh2D<3p$kq|mLHDa%gma~%4QBw=Nx%^=xT&p$cQ zTs$3$EdkhGrpAW4m$jvG8JPD%v%(fr`HXpE~LvwgC zkJ_g)?!2;Wy`4l-m!6Kp1MI#=Qb|H0rXBgN*&{Wn&uZWio+~t&Y*nNyY2Y7RwBpHH zzNuMNykwVn%Xud^BlZ{XL(ko~M+k_8HSy<>R&4h0oOsJTO#`gV@hwIQ-0?xi0K!Kdf;lzRf5CV-mpIMIsS!Nj1`-GZpkO#PeEshwcDO!Vu;k|S<`FI;W8)R zOC+AUJZ3k~z;*(*4Q3^%X63$2_FxU|rlr~)l2*j+T+d0B9z}~w%pM)pgmx@a$5=bF zjVJ`jEmD}&kePdj&5n_hv3$6Ia@@>$p%q3@&+0A;B(&Je2 zv1NEF>H2r}gnI~q127hxHb0>KfGo$5H#A&{;pFI&BYGk*>#B1>{X%HZ9Y23A0QgqY_ko-(m8?(?K&h#yf_Pad~q8MRpi9#f$nkODdL&@t-nv}2j zpNdC`kV}h*kYk5rKj+Mk{}f1(9senirq`3;N_>H>Kj-|KODv=yXqGOLA|W>qqT?Q5 zxKu2AasswjbWuKN1^yI&Xc!Q`X&LFt@^=Z^GjdC55oO-v)myq{sd)*K*Sp#NUgQy> z^_}p!x_FUA>PJ@uTDMsHll?mq%>al)u+H4j%5tmR308q|6))xjS zfkUPWugeTMp%p6N$=-*PlV+5>}C*9oB(e|G7=FgI&Cuj6}$=JyWE%$Hb^ zvBfOd*PicNdE|GpM#|t#l{vG z$|xCQf+uC^2HoB@GoYhP4+lGghWf&fZZ=CvR3e}{&p%F+I+X^789dA5zIn&y4s3ew z?BWF_nRbM~;I`5U7nF3%p1rzU7+yf0BOi2Xhbd>J-=KJekFI}V-ggznaL{64N%j$$ z^&=M{vvMYI6hlv85&}@fWb!8jY`YS*0fKB0nLpIM0fG7x#olz{Ux#jU^y4B`dJP!i z;!)sJ5LAe2L#WYgM|bp7B$K}-#_})AQEWZp(NNnNfTeG1+)vFSFDm(iUKveF zi5)yv)&~dN-sS3Noc%rXZq2sG4BNtOKgRgZl=I&}j6Vvx?~>YuD9Y#S2-10LgGM0) zkeY@h5`Gq~g%f6rtrY|NN<8{zn-BH`B+gPM*nqfA@#=7%>kBke<3z!X^AIMd4S~Am zu1_pf*qx`jv5i-Q=cKkOCkstS%>n4j4l?S|WThirG)8@9{;_!B&aCd{$oHv24*B28 zlT89rEab`AqT`Jv(ZLx+?>ZS_pky0bT3-2@PF9`Y!bLm}?%|c-=KJImVk&p;DGZj+ zx1cQw!86A@wTE(*4nY^SPt!GZGX_KTO5=~4hKIX{A3 zt{)$VANhJzHZzXD-(C8&8C4pFIzt^O%O>nWTrK0MAZ(8OeGVcoQ@r9Hl(+ps1|B{noG5Cgz{(BNTI|px65Vgh_l)d@kih?)HwGH z)njt~xD6#A`8MUh#1OwY*qzRN%+zq_9Q{JXOn~rew$8!Ko-zP}o)b&bKN76-x4Ve& z2u{1F0H*LlZ&gDWiV6PZam}XGdLuRY@fP`P{F=4D=@Q=?{@vn6B=O{ql1Hrag|D0G z74xq1nR~no^lvhi%)ex+#d-xJWaA0gusR`pv{JO|)) zyd4m9l)njLn@e&7SZL2Q0WG`66%#hziEz7*m7`h`Vb>9d!df|d0WNpaRL(Qlr)73| z-YsE2u}`s6cxu!y#lX~`FdQG=BdtL0}C$f3Q)9fr&msa3KtAQn~3OtVNi}xKvw!@Bai@^6Ql)yGT!vhT`l$} ze>^G+T;#ER$Cu|JUQn(4ms91SI#7-eU>khGcMAWtee$3Vl*u3sJCR@t(L_3mf&B~f zAuc`ED6xt5uu&XvHecRK&7Z?xRpnJkGUpiZy~Y6N<3%D~t!rPwX4S-xy%rDC4uh^( z0zkIO*v`~X^Et(hGQGQY1(aw2*y9&7&LUq)ni2!)l^?$k+bD}5tiB1eYDv`{qKnWO zD;;WSzkh?5L9GAumS!6#|5YXYY+IW9iLs}D0Ily%DlewQ*dW%an61EwOstAYnTBp0-T9wQDk>>Xo4_DK& z-N5-4(tz=Cy$F4rK;F)C&hJQkG*Xu|O@-R-;k#4B zBLi>&S*ldno1D4V>wd1{_4#8=+7|5gg!MoRxq~I`m~@vuAMzy8`rkTZWrHzt_PjUG zmzMicwu=vJXlO@`V+(mTwyUvNxUlT1D;Ga6pSI@gPBrrr%)I97D9!yLW-;p}p9{Y^ z;Mfy_bAwblGOQ+e=jE(gUQ2;T_io8+`MW5dss{9WuU2S0p9V7Rf`2${1JUn) zDI8fz3Q?~3(^QGeBDG+ev>K%vY7kCj8wCX)os6_<{YDDkJ^@`(?=C)Fy-wQE-<5G1 zl&FkY&3yeOp088f&V2rG4Nc-3+WN#=(;Nj6Ob@OR!}S4K$oJ}@2zTd&_s1w+BJQQt z2GdUX8&C$sy{=@Veu;eXJ$@%GF8$yfEp8jj57$zCx%icls87Oa*-Xe*t*o_K}G0*;nSGG_n(;G8rEy&=@*+iYGo{2s{e7S|MaizAF zDWp%eby6kag4njyxANf@GS%5Ac3duOEOG&+(c<)H*JwxO3>|y@;)#fI;!*KV6eTgB z?$K~sTj2C!R8zi4+0s*`SG8PC2(|5+iy3wVlPB22c@$;gBQG{VpHcvh;wp{O2e5H+mk-enT^nF#)aQ=riBPb}Pj^)t}M{{0u` zSMfgdfijdp{1>LQR{HSqOqns-kUO)ZhWPtJX9&i5PZue&x31U7_3-oC`USanch`vu zDJQ;7YL12%_QVC%IaV}gWwRNqA zYKkQAy5=n&n{3a!1l}E8Rd5p>%tTCZ1+R6GyfnYCi$ zuV#Am)-l*NGMSy2Hc#27F@tM06~qljmV#QARDOWGX7euts5M_R>24~^h~7Jv50%=} zz89Gp)aw)wK7+j#CvnYBfA*+etRr*ZG&M`(op$i#gS-E#%>LgP%EL1Y$1xz?{^K|u$Lo6;kXG7E13S{v(8 zETMY*KX^M=PT6WyTt6;-&M^ZqT@ObLq7g^?AB`>`nuj-=!H226RKmWHm_jN-Is`ZK_P!j>b%=xdP?nY4V}bL)T%#$BApR)ReO}hEA;^6u~JxV#^%04rLLN2XA9#9~)&9bGKm6Os!g}3ma~|X_ZoY2; zA6|z$T()U@=Lmzrhuk-s{ic6mI7>sG>GCh$cHgd_D*rh>A@^K?1<#}R=H8&@uTaWJ zIq^SPBjl2~yOf7hoM|h=9)Dg>p&vlKIF!Bn8B*&Ga8}L(OUj7$$e{j`wOxJBxXhLe zWBO&Ivs$|O!@!LQ&+PBT%6=?>bPrvk{?0dLt9j$g$JXJT7q7>)7ccPk<+333Y!V!@ z4KI6i#x<>)T6WMJkmYQt7!F({RTKRh>*^!Z*2cM`T&U-W-jyf}@1j5FpQvuKzERdh z{;MyE_VfHotm;$-OjUgZ`J?hsWL_K`-(gxX0{jQK~uC*vPgXNYGs_+9Xe}{<#2TmNrYS*RY|gCO=A9FXSDc65#R9&x<;-P&Lc*O zdf%b9R_-B$PkfJ8zt5#Ys!HPC>A)P$AqCymL#$QfTc+%6o8oMUr^K={4u`ofA429n zI)#Ws6M&r-Z|l&M$~dQj{Wnha& z|HF~ay%rjOcfvS5bvbus`5}v+o+i$Z40qT_hlh{l*?u( z(Pl<#XUFjx&i)~IcG~siIMuEl8XZyu1r~}YQPzYE2}j`sc6Evg-6>wS;KdA1#gP2~bY`?OL0{_A!P>55B8~lZd z@xeTHJ8OM$y;SJg6!||N&=B+ghr{txypdh}O}nJo>;0u@D^M0t`W$)|HG9V31$LCJ zz4j61oqAkW1`fAPLBY3Y1(5^9Q(Um-aAAY@Fer?-u%iGR7`h~w3%cK!OUj<`pxld> z=vRd|&6BNp?zO~+i`^^6Tb4)F>JX)Ad-2`g9AOk_=c|uTE-%#}C&FWkzcA1Mtk6+p zqTqI-e7C}sTO8NPa5q!}S-Y z49W~`082kXQ$|z0QytX1Q$BA}Z>1qjw=Tz7XREO0jQ=PtjE+=83QRJJ2n@MA z;{uGx@@EmhDX3#FX8{oW{I8*i(}ZaB{&;G=nYb%{6MoG96*4pamIEdD{x4Iy^@#hF z_ENssTV~TjdASAJQ$5kWD$se$%3lZpg^-8;g(=K<<$u#UD|%%OIW#>q#=1Nd9lP;Z zlqj7*N`uZZ2?S`y0-a;o43e|QTQKMNhUXT^S>kkUFeUW1%n|eZ3-jNH5{fnmN0SuB zg)Bprs7LiBW;C5cj*E&m47GylDT*=XAJ=)euB4~T1=wK=0=V=%TNv{!ulL$}gPnlW z1IAv<0yBqG9gbLvb{V-2;pNe%pyO3R(Db*>t)?4>*@e+%aPvV&08F;k$Z) zS6_y1vj1L~ZrpgkTJ!#!Z?`i6v7KW1YE4e?OreAp;hLZ|Qx;9Vw{i8Lep zj%wKiu7zqbSY}tO`zjcQ7vOC4{a4M!N9jgzmR_CidDK(i5nimrm(1bO+0#4F)d>zA z1V4hE*q*599iA&D<*UdUQ;$r_MEs=lSdGWneyAc|;#?~Z{6d?;g5X#CnxFJ`RKx6F z(5|CwOJutc&{^xD!OaU`d$Rdm!{%!DjjCvhv0?WfHcq3mePdx;3?C-8ZVJ{>xI8gh zU!>$AyfbsZ9Gcb{V;dg^%EfOo-2N(+!;R2cpi;WOu^RvYNd7sy?^9+w1uY)xA69=# z5ge+|HkffiqT8H~su{D60V-Ier_`9-5opG+wts%@5){@?TCvj_oU*9W1VF7Vt=guioe=+q=zZ9HtqJ!S^)lt~d1*Pk^v0});U6tTS zi4(S>iT!f0XDOf|X{3*PqG=`Zq#Yw48Z^-@S4EFVm7ESP;%D||Z$c|BeGN>^&$ddR zhrlp$Oln_j_TDp)x22!8s^Q>cEvOU1eck*3{LJ>%xpL!iGF_dmqIK19U*=+hfT$vr zvn)HF&nHEoJm0o>vzPH48ecrkp!o~)s(!1LVY98hWdSvI>=>75Fi>)v?3gWELbKpm}WaCAR zKFnvabvnTGqO@`Ym{g7X!`-#Y6Z<|><6#e=-M+2Da+F~|0I;hqBKt0jO|2kL68uu8i~zu=!W^W1b_Hh zEU}JWJ}C|KPHicj6>KgG?Gn&V89h(Bc6w}?c6an%YciV7R=g;-gOAXV^xzvmbu9Va zW=*Q~&-0>W56{Q^!D9GsfjuRx(smGUeh;}9FEUm7m!tlvqE%?^*r6RjcD zcR}Io5yx@Jvo`)A0)bPODdkHwv|>=%f5_RvFW7%bG>xzWh^VwD1{+yJdN^~Tw7d-< zG|Vapb?y{E1Rp}S{!9ayDLeTd!Kn~ovfz+sj)ip#%6kjS?!DJw{!6(M zeodvKBT%FCSN5}%_}@_e25r+9e&_8exGOX^{N>@&PYCJ_t(e_tL%{T?Gf_Ya8u{;B z*s=TMI2pEo)zVq%QYA4svq}?KoeCnj>9UXG4k-%+pb2))T&TA%kp=9sO|AEeN&D0t zIU4o7I%^|IVgx2rveaOkJt>zJaj2xtNoF3$ff#$VtkFXGewh^7Op)XQ*!B;2ftdfl ze0Lh2|K+=DDlkEP_}zPq9n!lC=?@_ze5Lt#|1$DATNO-H7hG!i%%9l7t2%&xu}~di z{f}G*D9HEYE>xN;k$!{11?muATupDHdbh4=?`0|<%)6h`TuwK|juyqybbB>wUUP<6 z$Zvo5CZN706F$F*brD|nhs;6mkdTSQ4U+QhnEMm$-X`DYVyzcWlUIe-I~P2F&vMwC zz{e*k(~F0vKc*n4`%W(Q^)C#UxTk$V1j|;X&fDbfdA#PIp@3WFt<^4#hOPex-{4Z= z|Htt^;@;sRthMzX{NUSqy?=M1N)Q5l-X^~0`0@Pb`Mr`Z1;wlnxHW}XJ_DV>onf4v z=m~Exl#2%JW|vX)-@K=0z0ZeF-7(yf^Dp#j;XJ?R?+|-r)nE)*7-7-f49!i~u5+dY z>Z}{#5>EGej6tkX%FI{%PreI*(ND^3^$Zzx!*xnHmXhbk2ZdX8=abK^Y$ED zXwb8e`JBPCaNS$+0Y4o*K`aFumrLjQ8jwX@S4d`WOR*Yj8omk51xi1m|J&uF{MSX< zKb*smzqE6QR_uTrWM2i~FkN4LiKmzgt{7k_I4LP_ibWq^`5~Zc5r2Mch9N+j>l1&&V)l;kd@0)0xn_H z(zp|$>wGK4oikxKcNsNa@w6kk2B`48>c|Z!?D_{qvpsnLU6fZfn9^8Nw98gI4n4%7 zaVj%gAFleHv#O*A>)?Kr;x|X*5+_IWZjhpkg&lAmoO?s+S4e4~7Mq}CdM;BNje-lV zcEDxyqkDC0$#N4am(h;iS73DE;7ogDq5UkEcl)2`{;(IiwJ=l=ez+VSRuu%9LHDf} zUcN7p!y@L~>s(GUzJ0I!&%0X%)5^-A4ubF3-7(`HYT^6$xl7>zpSRuCy^({zdBzmC zRC@Sm$t{@5S4nCw5yNR2zq1UGQ7^`NDVm%wGilB-8(Db0Fmz;VJwNUBr4}vqi_YeJ zLT~uEj1H((HvUlqrIr?GjTaiDbvnT`;^P@)i0=L8@g7vR%(HdPkovsbC=*+^v*Xnd z|1QHG5&6wA1?|7WCtZwu5aYZN!b>xP@AM0|`CD`SkNe$TI}n-AVM<<)b7$94h`U9m zblsw32YLA1bz;tafuGvzL^}BSr!4#9p}Jj7Dj~X^;L?5Tv^F$d4Mwn0sQPK@T+?!^ zk|lC18B{v7f!L@M?i#bLdF!CevAQE#RNBW%?*(f?o%}wXmJ3r^)=IET`SVZ)5xn z2pluSXzS>$v&Dz&Ge0|w{fbK(+`%4cWnOhoRo9vsEH!M0zfA_5{M;*xfL7eZiDW!T zYqy)Mx>)2lw{r~Q1ZiSwE>mP~3fDQ;$s= zy|Y${!~jsGD))T~q+|{4W!Xk(adTn|Snzf|wuaiH(rPL(#*NF^02{Ls6sR zhcgQJ{g;8H)EAk`{|JA{n zoJ^{NVdR?LA!(;J;|o%dkuIaC6Sz4MSII}$wK1T(O?lx^y1C`+d(2ssO4pw>B}b1$ zOI*QCatRIww}i+MTS4S9GLNwww~GIlKY>>S#T9RAr{X;3r`pSGOh15E<#a!kEL?g8 zZ!EIX`NZhx$$zG{eDF}bPMJG*msA!i^yKc|UtYIN zxm|)Dp&dvMu2F4`n_?!TWxm2KdspPJ%^GrB8MLH>U?e)e_J^b9s=zQ<8)4`tRoZ>1 zm#4d|Cu8iMs?`>8Y5snWJh`wK|lne5HC=vl<%E|c6*U6pH2gv>LPqr2-Qs9PR78z@rte$Js`?uFyl;;)Gi(M{I$(FibZDf6S1!y^tuH z_8`iNpjyO8^e&Ocu>fUk$6vwUW=>lXH91Mz{k3hpaM;?iD-azl8g3LtAK11TVV2Gq zUFs$9ss)YrDknt)PVi7i?p$ZDy)5b*j;7|@jIqb<@-TcppZE}>ld;i8l@6sZ!jLQd z#A(agq5Un^11ucxaWGmT_Pgres?-!VeMbrUMOu%BVTiK z8U)~PV{3U(Y-K>2?(vxeNjd!h@?OemF}Qr6v`FyNO$M5egga&O5B^dV(Hr*65FGk- zm41gBFxX_27n42dMvqi}-chQZCR3ODn=*k~BUTZ&V?RU(@nymR!=Oup;MyrKT8P{u z?=on9$HGJ0a<=NB{Y+TOkE?STR-2sE+vD~8G!EwzUdL+GCrsN$g0o)!hD8qV+;mm| zXIzL+Z*FMrQh`Yjsx*X!P})Pp^OaD~oS*gN3|zfgB594p{vlQ*YJpaPEjQd8lxMQtdprs zbsT**qk7avH|6@km#3Ld;zZ#C2}0P(T=;=!37(Q!!zZ|w&pl&!igTlt&byli2|Gm< z&67Ii9tzt~k{v>`CVLyMiaUIJqMe4Mq0Q2G$$1BYe91lXT$wl+oGDt@NAV>@FV0p> zTvJq3S#+|n@Sr5`BCJ)WxWlg=-?ngpZ#ejgGgso(D}g!CEj{~eaI{ef7*CZN>0d6D z)Ijn5wU4tbiO=TIyH&yCrM+G}7sK|vol?)r9(QNU+kk4?nL6b5c%;iYCrZ1Z)x#E4 zw#}hCuHwzs=l2zv%ad1?G!-b;+X;kUWj^b)nPYxYokga@N#=1on^b`ET+FUq*9@1F ze_jw<4o{3P4~-W`q1L&-p6_J4s3{0+XW@T`YSP1sDjtXE-Dn&dA?HV1DG)dN*9Q!n@ zO8L1xGoRtMedfF3-8U0V74{G9iWdf?Hr=S+_rePM~kzzusLb zKw^%yV@sFzefJe;3ax6ca~GLjt`2P)OdNIyP1Ld&_Ol)Jz7*?F8f1(-9`kbLO$+X1 zFDtS~j{4stoW4vIo1KaxO+}=d-)6;+W>Cl_F`j2Skjr$^U;UyUjajL5vQfTslGWT>anix;XGBv*Y&MuBhxrxp)b;V4O|22Lu}OS!o@5kEu#S zQB3&iQ9oql!9xgFPBaEDV_JZqi~WvALBEZ*HHRsXwaB*J%hV0GeE|i;N2n?0!g71* z!on{U1+eJvpmmt$xrgT<-M|5rAyY9*+UO#fK(u;3nPR%rslR)MeznPo-oQUmHY}dA zSnY>KYPU}nCYgY=C)!<;HhLG4@U-)8nO8Kpt4r#Cbmt~xwQ3H-$(*$CE402uLtDE| zjtv^eO&MFL)13%(2WsO_eREI=6~Z*_4mdWcy=op^{1to|*3&usH1w-8v!UlXUkj3x zLpMPX&(}zfxmS8~n6de&DtqV^u+KF=+Fn=tl1byxt#Mbu(#^fdt2p<^O~}5VTn2IG zM5raKW;JU@$|_lPo~C8&3~i2ORiXbrBuzKWfA(zXa0z1};##@R!$tY-Ug%=WM`E#+ z2QW+B0k%u6^eD2j;l_$atsG-cUxRSC)HuznEqvB4{aUEZuG0h6t8~vcTfCvr0<~3V zgsW*oJx_#<85+L~3H>?2oO6R_!i=%oob=|pcLDhO!99~sQQv1vvdyt6XeIv0HGz5p zO@;$=HY)=3=eE2|78UFD06vt)1yAL{h(RY{(;80JHg{jg7vdNBE5C<}!C4#Lzzv))yLZ{xLMBQ}R7Yof8utU?X{$Mk}|vtopeV&|FdnDF$?P)*Ju z)r_0*qVCk!go7UWf)4Ke_oD?HZsP0p*jr%#L? zEX$w#zezs%)^*T(oS+^p<0k(AW%%C}uL*nqHb7FPf&WSw+pTMDG^n|c(vPssyc+FP zw&S4x$Unk+tgSg;px>=@qEK*C^Xgl2v*x$KUT4;JxophpeBToufKWSyF0{qzKKnF^ z1%(0x@LzZv`J~yZYM2=4$OQR-v zJ^zKFZi1}Vill#^dE&fj(!Gh{4LJv~UT9;QIHNo2mIgKzVe1+49_-Z_xFyeG7 z8R!mCqu>f*{1Li&w=63bAA9AaZ0b;;FSU0f0Kjj|Z{&T^(t?YJ(<^FGkf|;5ulP#H zWokB)%Z;B2PfXU9qvW*DPr65S!@=xQ&*NH^{$>7|d&IW@^(3d?F5p|-AsL!|Gf$c= zT5@ix&h!^!uC9ZVZJn6{Pk#c#o*%{5>Be2$jk(AhuO}Apw|;X>e_@72Zy7$&B>RZ& zH@_2DWj5iqC=li_n8<`e_%@~&FNSjpGPslN6ZaW#Oe|er#rICS0x0swl_n$B=c>&P z12LE@PW-*@p^_YaxQZaAPT=j1kQ1N%?bXzPzjDP5mH~p&p_OrE@oI60M&&)x&p5rB zH2>FZPBR+w9TNUADZ3JEJPAcP1_3V?>?0}2*K8-R!IW_JXD5Wf61OYbC-cqiGv%$5 z4HUyVFI{ghv9Z@!-{5BU+`9J6(7c*}uV&&jM_hc157{$79PEjb%q38`RRY`hwxQef zY9mwC>ZKC}HwJv|B*t3SLGT&tib=971a7d=C9gF_35`{6D+o9RKDz`%v!PRgECf>) zo}iZ@j1V1=%gavJB%T{0lNaLf`Q`idN)_1a&H!K73s9zEQVeJp=rC^rAXC`i2xEr?7%l>V1V<{uH?|JhFQpKo0i z7}IVF8@@uL1>8+sCCj8xN~CAH(kR8l!`mCQX;P;{!RA!^u-ktBHI{#gj3QuSnTgpY zC*JGFHbS;(R^sL|=`;m6a6M!-?uB!|HnoDiKqO(7r%3M33>gjiOJ7_Zc0YpKR)Gw< zcd4a|xs*NuU;MpQDDx*oIe|Tj9ZWHRM>0rN=~Z{S;szr_W)eaUe=m9WvFm=FXUK-v zw2>3+kE*!D9HKE92D*J&3Z8rZ_%Rqr2o{&T-D+42VqBz!=<+AXRoZ#|12!g<$G{2X zjysgsC#DMsgc1>sH$_{vp#3cij2m);9d{?nSZ*m3#Ow_&rXF^;|CqGyUOv3JME?4i z2-#Q+rm?uB86iwMP3Bc*tUMYq@^uoM}JPocMK~wK|eVbw~ta22KM-ZsOsup z!tRwz9D-9pi(7Gb51QbV;_d{87I#{# zEtGzjIkU6poS8kdv%kLo!25Zg=f1AHTlInc*_+{JAR9^d9v5%)IEZQaTweFbe`s0G zUsT|4F5)=TAO7c#@qb}^k?{;sa#}qPD>f3qF<$Omu%*yCDb5n+iDE&zs6V}=hCrAq zj?2;1>#tIzdv9|vMJAD5?%|#b&VVD|6*uu)ieJR9OgLHPZKa(Lhvy!7x|+Uc&)O); zMU_ z6|-5@k8rnKVWZTT-&d@>tqceM^9un&|3fRKhwRvJj6&wC*m9!mc|u_HWx%%J#r3~N zYvr!&A1Oj9cIDU3#dUB-1>}3=zgIyRu~xZh;s&30qD|)^>fGieYVVE#FGYwbKCJ>P znyb7nDtY33E`Ga^35xp*(D0ky;IsSuJQColWO8}EXu3PI{fj}nh(mj>NY_oxE5Ab7 z!~(}}YQSfvnidu#DWT4@qNmtT^MSHJ>;)A8Tk2g9EL!fSa&_qSn;P=s2J^lJ!j|6> zmrf?d%K*i)t=oD?#G(5+C0;x}gP;3L4YU3&2t9+SIeay-{ImPeL&C1IylDKB3mo&y zDu8qYuEudsZN{aypc7bRYqX2>^vgLRFYkN>ORAo4^?x0iHU$_~ zC_YpPiLfo=&L68P+Z9wVpTu;SRK@<}YAz^9%GJoeDAQa#OE^a{`^v`uOxW+W84*34 zruazkCmqaCohOVhys*omIG#N~N4y`wHj?gMfE9uHD(BP2cLH!B{Z-!=?W&o^89B>p z@ngZpu2naMuuH_vBe10vZ8?oZGCj*vT|Bcsv`N8?4XW&|ij{6bT1b9RAYx7CGDdD6 zTy^Kw2(Gs5%YTXj6x1Z3T%UABLrrty7D-zg$n4l2Rp``uG%;YFYd^Y7OQ{0WrYT&z zOP96ZRf%gFmP1VJ4&VU9Y-z#U)|oUVSU*Dy>70hG^@$XgF{-okRyI$l4d+=7tU%L*6oUG_KmayYjkljRNtFVY4&vvY9Rp4mKdkndb!&{Q?D-uPBYand4T-XA>V;m3qOvq>l>B&PxH zYn$k-GC4Uqy==FFciG-mgD7=bYi^;h)ZzOhMB!37+R8i|_Vu}+4zb{#hIXXsx9Qd~ zta!#_PJVl6@^!%R)6eu^I2>ehI&O{N;E#_Xsw0HEV9?v(7iwHzHl?QfEs}gvcazmW z?z7bpqt^Vle*aISf@cG>mo(qCN^rD}okcZK#;vOL7W@#V1I^NiSZ77EwaWq}!ta-OsGnqZO_70aK5a1gZfu=8#19;0(izDo`k2{DQIBp@2MWZT_7 z&IRe02QJ;Q2uOFF6t3(X-`xe<$uB%S)kJ)J1FS(eZ#>HgAN86L!({jMIu!BesYa3% zg=K5;fjj?Y`&6oVC6@SJw0yd`?>`8a7kNCrk~=O?RZ22_G1oF)b%%_vSJlOyM*OY7E zBnzBv5-)EhvA9BEcAy19;LuEQ}rWBLbMKVnZsI+6T|1kP0pnm7!|3@c6)_(zzx0Ufl4 z{l(co$EvMxd~zGKv!z$%$rjFeC(@Fn!1`y{r41Z;Y1x9hY`Rv_rEN*8n|7hpQs!#W zo9}Apbpe`~8po)d1=feDcB}vh zloXaQd(T6yo)wL21s{xJq#<_&@8Dj~>Gf|r|BN(+31;k_x5BBlD6qtv*P>tn!d>FTQ4w&ecZ^$W6k}41|&Cb4vm@yz|)|ylF<;LGj zlbcN94_J}CwLYC=FW64&}QQT6u;=6R5h@DHj{`d88drwu}~XGTG4HME>sY=Um{s4DvcaN z0X0A*5xJ1@(SiQ6aOTOaC*e|yXN#D-{{jBD7p`j=ScG7N(MV~p4qU*76ouIPN;H7x z2kQjd(z`>-A5{-)oUEGX#%MDfQY~wdw8OUB_#c_oz0?R}Ul1J3n^)Faw{Q~c-q|6e zoqx^yt&{4=oWx=!(;bHSjpR8|H$P;McRRW$%ZCT#V*Wkxt~WYGa-DG)u5`o*u*IvU zeHLzi7z?8JsoXiMASYT~S{{9csT+J3T@!rJ^CgvWsrNL0@bW&wHSm$tBEfaqzP1BR zuE3_ceGDtXa-^N&o$~TWJ8VY(NJ3nkj(-g&^+49@2GkwZLQe_v3rV6lqr@qXeq-|z zT%-*1kFF?-k7dVyBncQszIzwX91cBwQ~Gd8d&6c)vr3Os5X0yt{G3V8RrQdQ!st%; zX;{`CJ11iW85s4qOBK|HizZ~d9XuOo@{npHY8O4ba~X?L*AGuV3%dsv@RD}Cwyq6) zZAI60WMW5Ib{|V|vqn=rt-^ugm$ikj&oTCN;u$d`JLjMA-s?fMFY8h}PK;CN+B&0V zM$pY@dp{*zPt$F@o~R>aS$5%B4`?Iz0S{E>Y&68JvQfu<7a z3VpHjo9%G0(Sj!Q?z7p+qwSS+2v}o>G?f>f510anS34&*y!}btuo>a;%aAAksWepA zjn|}BK}|t!QTWT6b7{%*22Wi9+%Xj1@y!>~;m5M|fu;6x`f=hRTprSXY0)XCW1kma zX&6Rn827@})H_m7Im(3arZBM4QWyfTtcftVV4xS>BL|?b2a02)p-&r0uk1B}=@kn; z+kWpSG05$kR|2tq$>4|WTtFf1e^+%(&ma=aW6f#;1E=MnEGvcu@| zQ9Mh_7h@j0eM<@+6@=l`iG6uzZCI*Zqx|}0J*C<=PH_xt6;5c2o|VlRAMMi!+ZWA` z=mb-C#P)cD^i02+w5{(OU(U^JZYif_NziA)#REDYh)m<{otypAM2y(9DGRw+F2H6V ztf@faauzy;|8wHYp#R@T!#^KP{>kPd zF6*@tdNqz3m70yooko zljm=@WgU;GxA~K{FLo?^lW^~x&>loy!3?0C=giO3QTt8z{gYARD(lV(W1)JO^@HCfS?<2|UYu|+`k-}VC zhi#X4Hr|e!;xijZinCmS-pI9Qfm04auuH>c8=r#J zHr^e>?%(Uqn}_*?**~bWygL||k5l{ds?t6A3%`6)7;JRmIokMl{q}8vqR{Qq{4C>7 z%>sg~L(hb>_W7Cq&eDzVMY9Q-7%InR4n84wT;ABP$;7klP~`s}nUF z1)cq@lH;#7Ogvz^ZDQbK-U11SIhuJ89fY90kLpOzNC&{Qv7 zkX-;~H`=YDTj~#HcFd339xWcejpCjf2QO}fRrC$y`q$QFR5(cckFxMnk8oI1d?eRX zMH5M6B?%)gdn^BQxJ~92B9s&S5peJ=7|$PA<6bOt#=G{jA77h5B!@*`d0C|jkjBSH zjrz?C?8I<@Lb7UdmdywVIbZ_s%Ia?f;wN@8hcGP!Vm*#7XWlZ;wd1Nz^bK^3A$)SV zzYYy~t?3GhP?AJA>!rF&ma8Uy->!a!`W~JnfZqy$u6w)=!N1v9Q8jl6;|#G7ZW7}w z3c_{sv}D7fgj`~*^XqXT42mo6GcxU>$k)>^WGgI}Kd`PbS&cLqpXS{c+VLmdc?%XA zFUGcQwK@Z)kvv|a#|S& zW4zGb>?BGJd0T-K7JYb|YXv+lpgv=GA9=e?2tCFrEw2xFue{EMnDEr||L&4OnQ@oQ zNCg5qTZv$4W9e;kzx<#{MyxbWUMI|Cejw^%mBv^w>yWg%+6Hi8?E?K;nD~KV2MKol z_s}u}H^UrpHp%St*A%jINH8r~2)j#`UhuS$ys5j=JruS~5$N$zZ)WLODQv-F#c|xp znSc0BkdZKydgK)aV=6&qBLguF8%$+KUb+xZy^vgJll>ztnYX>?a24I`GqB;->9{+t zTG}ukjHQE)h)=Qy^PF^HOSB%AYY+ssU@L;5`yZVW2V*!Vc5N|g$Di}u!Axc5?bWxJ zRn~${u(-R-Ge?Og#<)a>niV>Ik1S8%tJ?zIfAz;ag)5Pd!;>T%qL74Nqa4#m7f$PO zIyENI%~~y}w>G~MZ5seRGgS)0ASh~5q<~_JXN1PdOars*dpNlW6hL(|=74>Xm&*zKwe|8bAzR_`LFiD_Gr4Tw?SuKPatM z1JG2!vMt3<_n{cw<)(a{8I)khfjORkh7-T?(hOrFjrc2hcx4>JQ@5$X>GErHp?H6B zfI94}mG($hz&OlfIN z7qVS^+m78X1v2R#5zXy^9{-^sq-TB(dm+;iMXpHHN_w{CPwOO)iEVWfnbcN>(tUy5 zx?a{v0ZZKj3LgnlR`t+}nXT&3bEkydoXy)ycZ6G&}}T;LR0zaiW*mtK}G<~^Xz)DDj zt?LFn$oX$D{*it!7Ju?Dt7N|Hq4gXX`=ISgDBtL`K{JCG|L02(Ms~hOGefR<19qaG z@p?1JXsF6qZT9Dz2KsCZ4C}#QP+-tF^@xjz26{?io?>~$UzKTD$_A$teka{qPvAx> z%!nl8SJf7I)%a{|*cH^>7O+S7ymdjJ)YZ!VOqXmD>fXWADCPOu#BT{@8lnk$=8Av$ z+k7@98SntA%w_EMp*zyOM~(kY{I=pY5j<#c@!Fqwq6_#v?po-S;*n!9Q=8NIi{yOk zR%Fg0l60IRU!tq3aKz(PBG@+}VsA|+Tw|=2>{A7e?HAQJGoP?7LEm0EA56)2LQZ zh$U8m=UfiM?9o3DYwW%d3Kq@}vN;C0Yf7NIzP^}E_a}{$jGQHB-wJat-+{B<=S87t z-?dS|Ky+;qB#}|L-32l^5wq%hGkTcZ^?oT~keq@;KyrHD-TKp0cD}ss4JiGg#234#-?8@3jTBmL zHlCc5{RaNyGH8`SBG^f*WwDU|O~DdayaK#X=566^xp2iFCModCN+#~?k+~Q3Y&KCI z<(}i?ofHx~g9u@v?CKxZ%+8Pn4TNy2+QXrnGbRbI+T!V87)lI8j#^qB&N8p#fKrm2 z`Fc!rVT^;hHI5Ejz&%O?zM0)T?4I5C|M?THz{M=zbuQnwypn**7z;D z;)2baL};)p*v&Dd45H zVa6u9YHVOApP%2JhTQ0r9Mo1P-lUZR^M{U@*0pi^u$ZALd|k8B|Ie3WKfIDWc$=lm z9g>7Q=kJFvt?YXC&e2)UIIxa-UD`16uj1XxqWo?B-rDf_EAj3<$)UHaPwv(J`aHPn zQX%G=x;Ti*)Dp@jL-*lA*W2&YwcT>T12{wmVH?E3Te0Bpa*a5?pB9_&?5jwOwE>AZIt zdA8IwX8Cg6IWy}pgLSk&5h@0T-RsVa<{U};Tln{wQu!NY`)`( z9J6zp`JsIO`hTpuM$Ohg1>{%hZA*X0r%v}&ZyNpR-d10}vJv0&a`JX88)7b?d;c$c z!Ul&`gf?)nUu9nTAlPOmp;1_wzqNFbRgFWQWp^~*pgVfT+3$(H3C>Lmoag3LyG0;h zWYyBMeWcc`LkG(RoVr9jyuKr3cVRnDyCX`GJd#%Sb~VUduoQKfC6Ey6$i87^+}XxSZt zT~?wkkef^>?Kl!yhpR#`3F`MmR67%TuZjKi-syru=2mjO$v=9_4{chvvS-$cm!_wT zuZIvgo|n=SS&H!eNtyP>m7F3CUGu&Pt!wCo>~EQCHx=L3vGP1+hC~JbhIfr51>VSr z{6bwl;As<}-g-n8$j`33oAq~apnW^|QDNdtF|mWd_LT%ncBw->Ul9Df7V+pM%~_IP zu&9-)Xk2&xaMLt*p3f1R&6^sq;HwgyPiAczW?x39^*@cxa^+GK{$*MO~)5Vh8^D zVOHcMzfE1-HvP_2r|k*S*1VKqmoprMz~ zQM@<_xH9ex%WYku0G}gOd4vB$+e$rmhuK-;!QR;3g*d%6!&4^GD*D!g^gDU(tD z*U|+jeO2!!%pF++65D71KpmW^H=xXNftnxLw4et{NH5#pcR3&8P&4L^LTuCl3r5VO zG!?XRh;4VV6*niz^|u=3x1pvLWviK{gEip0+IGj!Uvqc{8|q*ipuv}8+)e}+HbyQ+ zX>7FacORz5@vL$cT3s4^kq@Q{9bJU!ytAgU_822=>qAtwEr|odeC`dW868PrHsQ7t zzQ%1aBU@JkR4Ru&{~auif`dKu`$VUIevh`BnOQxRC|vx*1wqa#T6JBDX_i4v=x?k# zg$h*d#7l^XG*6Cq<>UdU-Ixsr?vmUfCOePu&%Mz&W3R@)At6uPWRFz(H*XGKSpB~L z^g)GoKAWmB(mtQJdD_m z8p73FcQYoA?^gGBOh3<+IZCz)Ydra>R>=QSjN|6$46@Ud;dO)&i4_LCzVY{8?#`&g>$*OD z3I4bhnw@Y#pe1lEMrBoov%S1IRkQpAkM7uIWg93WJ)KF3`j#xjQ7uI+5%u z#%5dGKkM_>R&?)UWX|Be`DclJo}+JGNo8nvWDo4C`chr`jXNu46}O#Eqfa!Kjwufb ze97DWW>6V+q*s&B`Rm?CZUkHHp#WCFomF5olJw@<-`naPF!A_p4#0YkMg z@KZP`7LP_%xM^`N*Fmzyew;2~CeMJy`Q0q>t2e8M1@8~htJ(ea~b!&v+F zdd9Vi)SV{-GH_eg5DSKv?zAYFVVWpic*_cT1K7kL>W=#Hy)|j23j!PjlhexV0RwYK z9|p~K^5wz;5Jhwhe57(@OOCL^KP{cU;Iwb;^u+8Yn0w&9E%(RIR(YlmSQ7)vls;D! zvq%=7af%lG15Voh`F^+DRb`J2M_PuDMH3>rfxCkZWiLwXL0Y&Ls##pAyUzK=y{4Od z575q+AO=OvCYiDus`3ffQV$G6PUNzqIzvX}k4q`D3s(Z67a9`pYi1VyoxF1$@oH6> z%6xaR%G9y8{lqfvVdGxKWuwTNAfTal=dkknwb7C=(7yl1PD7AvK~ltiB^~8EBbd zQQmX#=!!3d8a58YLubt5%S*+_*hyoFwN0SW^{)Sc*j_GS{ZxGH<41{`z6f=drjvm( z(rzmK_>wF8aqZr5Is8{o>#68n$)a<|Ix2l`>d^25bj`7E);9AMu=z`y`f3;YY5R6f z?b2l=VW23tR;MIY9W9k#orFS8LBO*torgvH)PwJDQND%^)&;Lns-Kc?eI~e=4alo? zT3C5|oC+3*BcG==Pjb+U%hYn2p z&av3^16M?v%lM$kyeY*f5{YS8CA8W!EZ1yxh3}}C$dhZ5$dmokHPk124%S#N9RF?s zX|C|vy*-Zo=S?Rr#htI{?!#=mtO;o4P; z10VE%cQ7L(T<1}WXzbDE7>dxdndS3k4Br&>yRLIoz#=RGPu7{?-eKHtY(%== zE+g+>J79e4-;#Bdu}Ef_RL9EwVpuM%F7vrD>~(Hfk~tSOZfOT4ZRqob+{J=PhQW;C z5iBmcl~0y{azu8tGn*@lVYRmDk`0-;3|dRqNXpU&FcPYEd!LC4Le4iCmfKxSyY@Y# zyi8=Lj3^@xrZFgj7)1q~6(=dtrMN%NO>yz;e#YrfenBYTYA4L8bhofuBTv1sUNB!_ z2<)uWa{s)_;<760-F;0p%-Sc%-9@g01&J>bX~5?;z$5|WkTN^=W-CdDj|TPxowlur z%?C?*Bcey=@C(A^hXE!2bSjl60nu1E&+!ikc;EbRgwug ztI;nS0(ktzeM^4$c!B~Oyuf0OBH;Gq7~{`4Q|nqTv^=vQomYQYU}3yp6Jk2tXPI~&eY}MAX=mjE+a+rkY#LV!a0Vt{ z9L;Q0-Ru_#mT;~1#5;eiD6AYhG+cEP&uR@&*rSZe^SXsW?aE!aQxCAdcbr$ur`{P) zEPiPmlb7HiO^ZO1{VLD0|HK&zhnyJ!b7x27kDoG9O)N z3|_n!_%`3n%uC{WyrMmealZ<~VM7)#pf=<}SF3CR3 z)l7oSz>cmG8vbg_{npF1@l0yZI!fQ?m}cG&V^eJJV4x^#^hF}~L+y*>nraDnHWTl( z+OpNl0K*HC{O<_DJxs^Yb5S}dUyGp7Yov{E-W%%uu#Yqh#{t*a`e~DIRh26?TXe*+ z#k-|B7+mchGje3#=Dvub1PiqN!G)+yCZz)sKkEqL^eYfQ%WUI-fYOKlH3=@e$p%V_ zs#2R3*Q{gSlBeL{>snV4=X$!E?Arx$efq+I8H6>UoTS1qF%yLp7E%<$EFwugOV;5h z8f~ie^{g``W8hP5Od4z0aCxhiExmfDCu)bA{!;7H{s{!c+;Nf}Rgh1asY2cx_+EJE zzA!rQr&jIXfQXGhv!G+D(STShPUOfDzTt32X;RnAdyVaCO`#7!V{&Ku@0NLnHGB-< zdbVVf-#9(Aa|D4B_cMa_ zswn>==hbLlaYy0WNMCr^rVt< zLrJG`fIUQ_H(bbW3feeGy@J{JY&Us#|Ai1__dPjUo{7MTiQwI@!EtWa@8sbk-|QY( zRFjXtFYXmQ%aGizkk4G&Eb_UYaN`R3UVh^O`F{4OeYEhXr>hfadXxq<>I5dgXioTM z?LSnd>+%26LIZ?w zu0xC3J-!e+7`{rDJ&4C0ASIzrXU&!!nEh0h@8XL~azWmakXjy@x<8Y5k;usiu8Q}J zOw}yUJwr+Xs04pyrT>gr`uXHuZn<&)CDbaF)iOf!IMW>pmwD?Ebb?dfdMTbq;S#{a z_+h0W2Br$(vrM&u4?+}rC`M|VqnWr(5U3qS{h9LCt$T}V*_%fK#6QK-H^vw;6vvY1 zdph5jk5-4b*To|w_LJa}xn;^5D=SOC@29k5ov7w&OdYc%>>uaem1Z5ppM=h&8>OW* z$&kebkW*E@bSR3#)=s)k&hy2;SU>EWf7`y&MffhT`#MjRVwqj*tidHp&_s~ep9aIz z5>lacWtA+IHzjeNGkIw>0De;wA`p9&yi?GF_jY&-L2h>?Fu;A@mV!}z@G%;c|m-vI9 z*D;7Hz%Q+btcA^f)+#cmdb1NwEK?zpnCK;Y5w4UBo}0j%Byap{q`J{Q_e2n%4xQJP z>9+qyHbpY{qW5LZcJ2+)KZ)ksb$;VXC%!}7Q;NRq_?5D6{PBkJDbR{4@^0M>4R(0L z)noE?h5Jh8>!<=M4-Sj_%opvQ88^TcYc7L|}e37s-!E5Rw}*InEl*KfMwTEom~BF7vb; zYovx_Q{3f;H^N3mlZ&!zlCgTfUqo-~MZ8*UOMDfCis`c^`8_gIseFgaYM;X?ta$JD zo(D4-uYD10;m;r_d!N=j4W&{mM5s(>ln(0NNi`CM?93VC;}?i?n<&?Z=+xE*032Ru z=}R4ko3-O`K4I>N8%v)HCiAMp1-kxf;#K-TH3~NJB5iCR_neD;ArfdVI6DepPQ7iROQBSSRt5Hb1(yB*0Ux;8lYWOJMiMP=@YF^-OqC|92 z*a~JCR-r3urTMxNTf8sA};&A`;XOzI%Klac?IV z(qhhILX<}P)4=a=vrq)$o$kt4AbRw!T~)6nvS7hcFB7%4&CT%Y)uF$%8rme~6uB9t zx}z-=#`6?-UEu>@99WyZ1nk(r#9ZT#?KO2D#Ua#Zcjohn->}IR&5fo}-=r_Ezz(d-gpXyWa)sf< z9BT7P`Le8h12P_N@^WT?R5ZDfXYF-{wQLYjdPS;}wcbZHG|n;)`T1X+b(?H%(oxP^ zzX6kHb4t@Iaj|s7_%Gqoznhmh#VHu2Y)xO+(J56KPw&{Ab2b?d!F33p){1t_EB$8D z(V!k*@g7B=Nw;s0bR*~Eytj$`g1GL)lfUyV`02h~z~Zh~^1`+DvgKIfYSy_eFrOt- zj=GmXKTsW%(@%oUsod`ncC*cNc7`R&60%wEp^~&C^QvyOxGH`W%odX>Q1cb5K(~cc zE0}8!_^|=Ee3f*^X5psrLzmN)JMy<)jjmp(AAK=2NK;!|FRK_YlcEMHdqk-kr5UDJ^7zKy)BFuh_l>H~MLC)R6P_^IFX6Wf)`8Uj^^WR2c1D(5oPcl8!d z0NDjb{vH4BJkd9CV61W+b~^I`q^gDh&Yef(*xM!UZ3QCc_<@r#8Zq2dAuo3di9+;5 z!qf(4CcjVwOdhj_&r98-onp~J5Oq+Q`jw)JY!Gc7k`J`146ZRb8~q$t*tkAPfxkv> zVT%s)Kh6HG&QGuTXD+V2S;Qm+XKK+Bn3HfGJhY(wcA2t(i{d^?de4_e-a#scAV#BU zF0AQG6xHH4b2r-&Pz_c4J-3hM|21z7IZ@b!gX95+dtqEZ?Q}>LC#I5z-}hCk`uf_olUl*x z5A7a#n@dF9PIrz?C+OEnm7Xbt=cJQF@JlKY)x3)>9+Au31qcCF@vTS-9{_Xy%R z7%*kcpoRP=8xtr4k9R(-X(-UpCEwsD%{&U;M|1F6ZoAgLQ_(J_{$%S(A6-jqhEHv! zp=_PkZQG?AMJ$Ah5Du(R$NLX$wEfFM>YHZRE75<}|2v`d|6O=md-;EQX8a#XnF6c- z#giZZKlx-^q{b-^A``Oxpl*|hkwZMr{NCB6tbvNGrS})cNzB82Zowz<)i+fUXObf} z56=JI&!VD)@836ppcHrKCZOz9ziO{|-O2|m+1}_9XStZN`5KuDzbRP=T~Kkjl2a^1bzjtmjdeI-LZu6b zZ$lk3a4PL8LA_EGxjLHRzjL9gRYKN!k#ALvCGFQG?p^uA8>Oc9Rn_rezV@!69HWko z#AB_lO5DMW2c5Hl*VY-**|ajA^7Qc;OK$UijA^ky?DqUE)j@KNA4VFr0(&N!rDk4IoFZPa@ZE+-m4;@Ct)Vtu`4AA0n2ZpGUy+*UA^)y7YP@q zOG8AhW0i~?csH|Je@%M6?1WSpm*&jzSVR<>*aTCFeCdQs9vQ6#vDQtOdj#GhK$VJu z73&^|!wzLT8I5dIu87iqXtrvo7xGM9R85#$G!eo&gAJNaN2Mi3g^r^F)X_}c?GXOE zrp%uJ5`92#ppLQTq~6wx^Y(fK1&MJNg z{D)a4hSi@&SB$JAZGNMJ#`yw zCH)+pK*2@tNdFk@3o&E<{Po_c7JMbh#h?_({mqEHk6pFqEHg8Q(oF0;w=!`{j~!JY ztV=z{>(6n|X_Vx6{aiHc;aok{#vfiV&(vJ0YnL=b>UGlWQ3gp`5pnBIQ$A}^@RiPe zQjtkIwG~jWGHx{H!~-(b4X~JH@2s6hq8RPKZ=ZiCw0CCg3mx&QWyY#ePMc&G-&VKe zGwy~ZmX{P8xWAUUwu9i>R9?5S@_M=Y-wd02t&o1f?iUE!I&Iv;5@RDj!t)}>RfdGz z>X`w4nxuMS=5+pzE_i2t-S#9(LkuacWx`E1NH)*rLT>S;jUmstE=zraAoKpFk_po2 zo)oYIXh0rf7+46KtxU%o*r(Ma?xr~g6d_H06fKDQOdcLXnrsY8GKQ-)S1a)#=)zak zzFl(v$j}u^gfC`&8~F>(j6KJ2hhX zi8w7ePO9rbgx~L|^mHIPV>!b^-c9(WaU#u{_F6K=);!MmCi=x*e8^WDr6}I)r>;p= zMpwjU#T4K4k>l^bdk{5~`**Q=dXM)5hm@t6+rq4|y^D@QZLtSMsUx6qdY)@N zlrE|5-apaLoqfO?{UwXWg7-bk5JhR-MSC+Jlx1x*c+qu4f^P>|w_4u;bcBaxSZap6 ziv~_?S+Tf{TNs#VDw?^IXt(vK%6wXWWa%|p34k)&qVQT|jZnxZG(Akspx+FqP3^sy-ZUEFC%2XjaJ zBCUo;Sxe?xkL$SZz^SMrR_;Ke52L1I<{{=eFvM6y&^b0$tusoK;2QbVep%Gb46^sbw}jg4*|%=@)tYf52gjU|DB$&X}c0F?Z3*kv_6pUk)q0PjBbG_?@` zP&{|*C5px-R_Jd!rcJj<@bQ|JmP*Vwa-?e&|Gaq0UqWS6Q_SVuasck*>@0k6Z6hOl zHI-o^JtYWa?Fi_M&H2FQLJ1fCwZgV-)hg6V(vp=|NaJ3ayX_}D?a7xiO=sul zGjzbF9Iggjs(Ehm35R;Ie6aSx!DIrnK1Zyh>`n@IThH7w+<||A}-`i7m~t&JNvU`{^CT%J@pdG#`e?S87)tn& zEKKK!3aer>lN7ljqji4M)m4))rth|@c)x!@tyD}47V7P)CRVJb~EuxNPsf+(UTF4^?kxbfa=+Cy)m5u zjM1U3vGH;1G{p3C08Hn&eGMXY8iz9h`CuW?ky4xQH|DNR#gS0^r=5`1hBwaS zfy(uqN9w(K-_|MDpm<4tOvyVlI9$z__>gx0|wsH!y+ezNfU zmsG1;_|nJ@UXEM-Q?iXddw9!?gOkcnD0|0@8l#$|VViqz{XPDvp5sOesT9i`v1t~R zNgB~iWUKQY1VTBgI-a(kzO^@Bn^f8S>rPbvSApDrYoE(5&^E}ZCg5MIUa_~CoK@QD zIbkq^mpbTUMJ3tI8Bw{Wg*`xe)N0|JS6UH?ZU%V853_lfR;e1=6wtUa#cbhli+%A? z3TmkKp0Us4{vzmVDQ*iUBj9fYO8d$92`EG4CtPp`@M2F|YP8)1bdM*piwO9)yl4*JzMADI1{N1=da(P>xNDztQt{C*@vIAD z5$!pdS>|iAAI!nc^P#KLCc1!++%BsHeY{d}*zMzmD{0!WlFd_ppN`xll-KG)u@4AV z1|=%G9BDC}><&keBxK}a;!>H~X*}v;F*(IATPNDzjI?enIAj~q|D5bvpGpbQ@P4K4 zIh#0B`xJNrOL~`)J=qNVbn^1}di9Q;S~C)aQ}p$dWh9ne*o8rjXXvl6ymlgaOB~y@G$Jxr_bBAS+BSN>1|rGggC3fF(5v5 zuXWsQ;BIEkzO20lm#1Md3XcWLo+mW{WfNTx?MjnsX~zV>dI;%L;Y9G^8_S;fw+i~a zP`x~Ay2s$bs7SuLd<(wxgd_*vr@LpfwGGlY4gyd4%gIpkUatDfNh!95ufkf0M0%el zhgJg;055);bBWrV_gdxD6&%-H4)@8iay z)>y_BH5W8D8XWmW_mo60hj37by)SvC*2L1#hexNbrH!%N8RVAw#1v?_#N!`Ur*|ek z+ZNu7!L*%$F~s{4{Ai+j?;>G+{!p9|a+>_6(JxOGQft9(nmeng zHovw{qort(q6G>RDDG~>9f~DLa1UC%g+gg@*90pR*CZsk7bz6?1PRjO5TJs!Q2HOf znKkph@2vR_W{&1L+y{@YXRW>WegCe@Ho>-mpOzc7m=kE+jd5`Siv3NnyY^Wg-r40z z2fG%dH7p&KBK0KXq5M8o#(xA+!Re5YqfwDR>#a0);d%i5-$KZN)e5VjPaWTkNl;Y3y*JgoitudP^<1pihy`5(oU=j=)^|0~7_#18vk zfGsj({)N2T_xR@t;{oLJElTsO;a|)Irk)?bh^Y0hKhh9i8Qy5_#-3mdb0V-zQ6@Ek zNuDW74v$#gU0vZgXp|i_YKgX5n7i$M> z1n7HYCQWez2gkIDh{PtNR|1mD)-bN%3V?6p&5+McA z8q!49XxC>dx_$ZPoNIwx*ScZpR)4dZWf%5``?A45e&31Tmq!99z_^6RbF+;okV|JY zn}ru%)0#*QH~y4>jSpl$dWi>l8m&_So;gxy*a<;3`E=T*fF8aOew6;^u2jK#(U&nG z5E?<2@_~nU_U4X@#wU(rdO3DER{-q3vWm%$Zwqa}iPXqfHwp|$MCi-#t#w*eY1Zd; zLV~aP&NR@yhNPwze}K4XbXnR;B{ySMKH#+@1WgM>Odd<$Nz>Y@5`b_le#J)ONB)N6 zXxazxZVYjG5k=5#0@Tb`hELcSTBMloR5#EQ^9(6Mw9XeM-bE?tp3KlfV*qZD`FiD5 z5~@ZoR#@^iDm$|91nKUTb$$5Rxo}T2M7Xu66mggg$KHNv_Bb(7BqvT&;AUD9395bk zlFG2_wSK$Fp83V=PuW_tQ%ZsSHUh@&M`)S;J+e|g>Xj0Pv4WkTYn@6I<4DR!V)8uEo&QGAv~27^mB3IZ%oWfbU=N-%bPpMC zzZ?*u(Xnys1ND%YnGM??hS(9T@=V6YD>*%IJc!@&_q${9-g2v+hi#RP;lxFD z1TQ$07!W}hl@&lzsxO^hKE0NUOH!ZEgs&Kfu1nfXy&f5ycdMNpmrt%OxlL%Yi89V{ zXc$A(9jY{Q_BgOiX&V_GNMj@1CSgy0GJNpIu4|4N*=qr2#r2EOnI~Pf5TkQ+S%$+K{{X=xETxAIr zZ44>-TumsK5*1dz!&4Eg)_g|0>O3bh*bYY(GK6Cspx~8nr zgATRkS5Y1uoVr2o0S5>GUu^W4`j9S^9v{|T`1iy}I$DSp@~7R{k%#NS^l~&xg;$Zu zt**{{+fB0i$EzK$Kfw!`osFF4=R0%HNcfg9)OK1FZ|gIdEX1Cq)|kqGs48B~4x@W5 ziCaQnggi4D0^g6-@@8nQ)A6NlH_5#J#Q>5-be}+-UNueCVpR^#yFp;U#3>Y%?V@fR z@iTO1e*t%nCJhKZUytMAiRqb%vB}Kwt){4><<#|F2x1dLcY&1OM!{`(iuDIf(4>I? zp-Un!47N*JJQuA{R&{@5{=1w6Ex(W0DAU=cvc{K=x2gp&t1wcYyR?IQ8Xc<(IyH%6fK)B5?i_%y9&cIa^BTW;wtk*Tda>1)>lH@7`={^I ze8&g+Y4@+ZzL;X)!d3SS`U@#n^qA|*rr#)0MiB?y`UZP_UV^mJ!5EQd#B9Oj6r?{nRf(*Mofaqo`>2tu|46p zTV5;3iIPxD3=B5b)7m?J+}R)su9z?x8*c84@N5A&SUpiS-^$VbiiS@>4N2{;vhvlT zdJ^=s?}ZIuo37l3)U1CNjDn<=80icG0s@3`o-55OH5*AGT%q8q%;qtn^vR#P$J3|7 z`Pq8#QoR3u;78+q!6U)L?OZ|&zxGGU4wR+{duuB@FBEBTfB)9eeG!zf9A`@&{)z_=wqqDi z!Z4Bf)z8gKJFp^uKpUw+NP);25-uHBrAc+|R0+GAoK}3l_QgGBUGKF%9X)0S>!eSy ziG5fnDRVikZd;Q@PotMn;7@ux*H2SPti@Q=1jPGFC4Bqes^<@)t?Rh|`cJQZyoZ^N zGjIc2MX|t}J^-~{E~dof)SWU#bnj_%J$}o8V7y0V=<4`_AmLCY)k-?!=&WSc=l6n) zjk5Ys{w66nLsU=?rD<6ui85Fc`4JHA8c5Z90F1B}#AT#t)463L&2>%eH-b4jISZC$i;Mkl>2GP(Wq z@-xOz_KIuov8^-gp%3{@jK%fXAs{;!oizF3_(K)H&9)$5e!xNHCXthmc3Me%yq4`t z&Rq+Sm$ON2!?N}=nVlgovOV-KgR>=F>fqBh-`0)MQ%TMT>cRewn?|ys6V_rbb}dUT zdruU$<>t-4vuoHM=7gLFLsCS40uyRJ?HDD;;|V$w6uXiE_-0di&A7d1pFXf!!jq9^ zW!hfa+tT|Bb-vTc(q|3+%1TN>Fn)ez4cH?YoITeJTFpI7bC)xNzfJPmHAQlNAULch zpyQ1RH9UFNW1J=0vB-sz?QmT@TFkr=X% z=N2X1R5VosH^*@FxanGH#wCM@xK1!n1h z^3igCdqx%cN0#H{K2-6ARX^Nd4tCV6^l!U+um$Qn7m0;m{-RA58gLAEcTusD6*NSUC`_a#KAZc)`17x4DKuVSKNt|N4T^-V>0HP7O=t} z$#)cX&o=Hf7XrO8i{Gq#&r^X|^DiYuY!zMD9f*foFYhG$Hm41H%68x)R13#p8Ep=M zMd=FJyK%>7vD(K({#I~v`5cwV2ae_EJQ0OFnHGUpy-1cBUe%}UXNJDo(_ zs1f_B6ScNv*tB^HZJ^{cVIBnJazIEdk>(kmYOGtG%Gr1CE2Qvkn1*9sM0D=8QI?Qv zW8k9%__3vf>mkE!+u3ys zzA1mCuoSWgx$v@p4HvC_0D&*>0lZ1{Qgu><1rBcRE1UhCm&xN@Coc+2^lFXC#TYyI zBMIlaNu+D79sZXFCKKFH2nItnCqq#Qxu z2ZbV-?T}P~0Vv~Ea+kfU`mgi`Q3tRW%Yu}qqm4l15$`qU`=|4d;N>4@$8FyZ6%}Lh z77mZ44)SVo!y97<4>x|>HkoH-c*mC)PeE^Sc4ik&$vvp3D|JuTp+M&G%jrS?uD~~T z%I=y+RL!IG?Wz+M*1^kVchYi*D zmO(*F7I?m=9^$Z*zJV--f+eztC05?n7-Wpe^in1uh1}6SgI=QX0@!3oD4ChX_^pBLS z>T_(RC=qA=H{w%4mLQXox8cr+_m{<@{CD!JtuJ;P<6U#J3euGz-=_Y)%gReC!cS~D<@5uZ^}b#HYsgtcYri7swG^|wY1|PJ%4T7co0 z6p_VUw55QszEIgpvmbk`M1%x`F0r>Ee{m1WlzXaQ(^N$$QO1CCd!iC+@Y%|HEqCv8nbC6cw9C4G-i?`Cn2G^6a*HgAw9;b3k9H|{xQw&L3+u(2Lsis?!dd1Uu)#!rn!vu$8@1Mn1Cr-Btg(JyYq z`g)NTw-W)xNIa4K3!&QpKWp9Eg}1v568Jld>~1>SxdL~tHaB2>$n=|cvz4F!!Al(H z{NcZAO`A(6-Sj>vNL~Hjo$0MGh>9C6IIh$5{)*CD9lv6aOlUTXgTdNVRy98(L2XCr zm|!svOw5FFrC7N$*=RIlMmGeypA$`sbi@y5#EeLDx z>t#!jVNV7=IB%Iwz}Z=xqw?5Y_(cYfQ+x)!dM|9p2o~sF{*#KJ^?DUJ$SfEuu%w`7 z`zriE_>*?Lcd^+tOkh^jC%(=iI>Ljs0m=s8t*EzG_Tczb>Y7?W_L=#C!bMH0GQlU) z%q1bP=f0f9(cC=Zw5WdXH8Sw27gq)BvaO0(753oOn6Nj;7@L=owJ6`N=5F8$f!Rk) z$;z2jd7;I6-o52sG4S72vn4FiCFnHsL0Hf;(Q$LgMO{`wy^IB#7i|C|8aLA&7) zl@Udd`NKgqQ>^FZFNKG!=S_%9_E3bokYK5hA2J?0R&;-Cs}U94LhnEDdKGq}@Od=Z zGuANINA9&1iYhi`b3I2EDs0ovmbVXhb2sEs(9dw488aJxU4#V0d^-ns#3*v|+*p0O9d?^2e>vxzLS9 z<-Fp>hMstYX3md+l~R~RBGqUTt+Uh)A*&*FGfZ-8vMthAGLGNL@Q#@-L%CRY*!W_; z(V?cV%LLJS3vb&+v(diGYV8{&eL9!F7Ak6UtLBoIR!$wKT`E8?NM1;gP#oJe(hROU58O|E718F^d`Mc8!y`yorO76`;DGEJ5$A{S0-a{ts*;WYO{~fD)~h?dCP(B*GCCV zM{{N?GU@tC?_loLZc;FJm3r1$mnn(SEeYh0;6a7tptg)D`i6JEkP9RFI8;$4B&X6L z##~a-tw1_{mgeZZUA;IiV13}uEy15k$W?BX;_?8(Zq*Lv$8xNN<@Lv|*0%n-(4Q#= zzLMwEJ~^HLre6B>du!z^^JSYAnbw;K1DNKyL@CO#nd^P^Je2k~u^BSyHg(6}hXY{Q z_bS2TQ*&gg%gnWa(?jZ`A&)vHMT`grT&j}h7TiZ!T_pf-z(_f*+U_4KRZ^?f~cgQpK*sqbanlee8;d>Km@ z%T7wnM|Uo_l;QO_Yz<9x)IB;kj&Y>3E^94E!TY2(Ho;j+EF3td-=A3ru>1b{*^A!a!**C{W}ksKpjo@1Ou{LWLJ z20~8vcQtsPKDHIFRYftrNa3QDNmu@27Kzzqt`J5&MPnOW!Z(#dDQP18ju+n-%xwe} z4qoI3S=FqN__zB0gJ)5b5ISGVR)zK>yebT)gH%Twh|azI2k-HYu`j03EWoQ~lSy}Q zM#N{v!y@7dYcp7$pvLdGMQ>jm3)Q5#+u)f4;@Un7Plt|%yP-=Vo<3jPn(55)9+l^-f5pHS>k=U65M}3l z$|;Hc@mM|#j_2N|q;bMBWjgf*@oW4I5i8S)P$~XPn^l?@PiQ1re|Q+32~m%v+#&^Oru1c+izAw=)o*=?n-v9e z4-Y9hytsIt56U}jc)bh|nNL}(6D(!vU;b@+vPnWDXctF{NOcW&PsU3cyv}bRqZbY) zSDeKNvpRDmh6uVoSP_x(u0&7y>fFD@ikoXfT4jD_m50LekE{3?sckXQys<`E>Cy~! zY#R!HeFF_eygzt(T6G)A|8^L;+g(cWZQKm5lYo8$i9C7N{wVyw&?l9YX(i)9gn7k@ zCbIjW&wBT*E2G3?RaEG*36X}tlIjJLo&Wze*YiI~hXURIw^Y4-OY}3h`OU7vux)9U z^8XZRFP}Uav~wQeq}qY2nlWt8xFoAOL5L(px#aCW3(D1i9wxV7U0SkY=?JT5U7WYF zDfFtnrpOmtMvyt=hp;-+LVy(5<4(%LdHyo!W@RK25WM64kib2vJgc8>lWjzKLl)PzEDcid)iG)F6kGm62oYuX&}&D zl3&oP@^R)osJp`%TL65BHFxhFYieQBZ%r&-zH39^s!uoHWA6aIdIo5@v|YwP-6jba z{kaP|@Xxi@edx_At*BsKph8VgX`d`JFD|W?7j~7FT-WCe?x>wqiP%>k8;Ub+;G|Q~ zRV!Iwd!OhV9A8O@NL;9i?z!5p2<`f9n(BSvWGB@>cm+~38((q}%IC44G-M+@R}h6q z-)>)Dvh8MM2GJ#k0$5;Yu~w&%H2$8wXzxO_e4LvUgMBzOF~+fJ;Kn{W8#HeJ_UUq4 zK)#syJr8@~7jz?LHT9ddiGt#DrNryb;8*Wo*Lu~`oy`V9rIq^ZN8xII*_wZqioAR+ zao>m}W=X+Y!vk{AuQ^9DyBL}NrCa%;;x)ly+BhHkk!`CQv%{l_uEWS|j%~!*(I%f9 zQe9^@w&qiQa=rEO%X&5q5Ai%_S6P|X!sqw~+)-M?!fXHF)nO5hn-Evq%XDdB>(nkw z%_eDLx1i?Glr*(~1K6^#hF;A6EdwGw;#Jzy7S-{tNs7@~hUPXdriSp_=x|WXqBIwxBa8n#HeBCl?F9GPeHf?&0e4h3F^;8Ove)etA zg_4778k{nI+hFcr@< zrrctX*B;iKC1)6ROMwO^$z;RQyb^xbUX!l!or$!YOu1>=2bRr`ZnCHhFPXI5eo*29 zcFcu_5(nAn8~}<(;T+yLwxdJJE4symz`cRBh`2Hr{bg3)z(-Bu0UqxE;At8OulsO0 zB!t-Hfu!vOL$O|V+8*YEQa3`;`|pd6H* zTHh8w~nGQsb#<}zRt(l)g#YmMSlfh-)8Ymx$L*4HR1#yz9zSz*x5&Hf>b%pQr-3A(Rk zd!UDMBN#ufzBaWE1fs}HQWZ$o_Px$XJ6YuMsHpraDvPq(2CYZg`R|E7nfUdzh2F_j z!~cZ4SBxA2M(6(wciS3Op5vN9xik|9REKEM&bD43wsPw{GT)?BeM_kOpytzVuTKcV$74?VS!8S5ON2699hm>s%7B>09UWQu#j3i3mGr^>L zj+$o4Qvzkm#+1W5Lybca5M6l328g}M$)}6eT|Jln$KTST4?oFvc!hbrQXb*A>o-jg zEbx>&H;j>1Z($@ChioBlSB!MZ&kyhRZy4^a^+oQ6L%C0*x(ta{ zC;TlUfUne8*T|J$Wx_lq&Bg(YCWo&NIZkB1unOkDTJr%a$N=bf?+p1(RZ-*cKYZRY zZj4T3e!4KCWhNg7)txKc5~ob+?yLx$Fu03tmPBo>QRz~UVD*_*?fFYB;b8}jGSQ#(Dc-YsAezO>+V zTRnHVUWQhkYkM;V_od<4(_ifO))!jKi)_dlcYC|{YZu0~ZrQQGtWK}smsw1#ZgI&3 zRM&+J?>}|Mzpf}DZ>_v6xpHf_rPyZ6_`tfIkA*CGFS4Jhv6=bR~ z)0aXu1cUI{Ehng$*$t^`ZHEfTcoVs>N}ORR*_4nFyxU z>n#QBqg+9rsCqx56;P){Zx(U>D7Z^Vz=h@WxfV`@csgv;T`q%Z=I3Ty=0o=^E`wjuW`}xapQ&|=Ya!~v(|lUa^)8*N%o0jiehuMW&Nv=l=vSZN03V)y|OUIGm|nnLU!#h0rMMe0-<;f&ax=nl$P{u2*344cd_BU2Gyif+r+%w< zdE-{e^THmIq`x{klyM-P{njw$nM4oWnzg;B^e^(DorK8zRE|o=HWnRf?a4v5=+vJs zK;yINUcVnu=P5$*Xqz-{!RPNGLt;L1C@FFM8mPZ{Yb(eflU;1-G-NP7K}kay52yT_ zUnZ67O;(hc!GBz%L3$6{$VPAyq9D$C%=;~Owxoa)%g@6b7Nv(9vn?O6<0bzpBLEjc zEi^zZPH6VOiO%3;3-i=kq+8ZPUm8Otog*waq(1-<<=0}&{uOs}b``3UiMtxtKIO#D zFRDYc26Mv$901=mjZa|3^7n7_6(~BjYZBW8RuG9t`KIFnX^~{p8Ln;o$OdG*!Z)NB zn)H)^yZLR!Qt8MJ8@4cLx0R3UxRCCCQUM9QUya3tae%>|Rv}*(Z= zc%n$O3=$-|Hp&}Zxl>s2TL_k3>pj(oabyXO4z_~lysHb?%iSaaaz;3ISfz6hS_Zpu z+LTafed_PO39(pA$|J>t+7K7Yrw%aGCE!h4S+*n22zi|P?{yo(8pIr6a|3H}i zZ*r~w7y^X({^1sUT(7U!C^= z^FBYm>w4dF4#pjOuf5h>bB;0QSSRR(vJ5sBITjKU61JSIq$&~;as>SF-bRO4ZgIci zh2PMP6l5fkZV>-|tIv*tS1@g4we69R?hqn=kdYFSNZ~~c2RS7vjIp~Y!~%~l4bLQy zkZ6(QB*oR7CpM=)IIFeSpWd7t>lHXldfH3 zXK3=`@_8G-E#>5iS$i1ORMX)MY9O5}ex&#z2j2Rdiu&YPnokw{wUq9WZg?Im-zv79x@K8HsC`o7N`7@v! z;-iYM;x&;6J@E0})WD`Cu=yt66eL}Jn;Nb`#Xj+mp0g=a^ z&o?ivjV`;_b?r?=BCGe4DeftK+ep8>u7N4wS` z;O7l@dIdFgN@8Y-sx%hPoq6=i=f77h4D=#((dGRps}&jQY>fBL>eN!7hAA>NuN<9n z9=4scc85ByVyF4av=0ubg?BCeS}V?oV7ncz{4HxA)jTvNFpfbiz2W@sNDR}n<_t{C zU|;*5NRgu0L1vuSyi!KiIrrIFQ(k9a%I&LYI+7=5#{Uf@eWv(jNL_PxU`%Kx?q^Cz z97DNy(~w%quLWB|vZz4i_bqG1Dlc6Ks&%C$9q7oD^^;`h5>)GsCoH_)_F-8UNrsLq z!GHC`5*b?qHwl*1o7Oa}es`nOul#886r?k?i4uInDvgc8yTh-8ImYXs)_o9^x+5xa zkEnaTX!br=0fqESRHT>~CjI1y=Y5y>YAFK06Z{4{x>>$CDBP!rQIg5KV>Gw&{>wPv9A2?`dIj#AjBm zGWya)kXEC>Mp@3rAH$Gi?$rPG;NM1iSvih|?#P}!hl=F@lTD?o3*Lr%<#fL%=FMOxv9g+1WD|>BM zK&$Oi!5B^@ZrQZLck!=Gz7*fFx;CUT2TN{Ve?2EXt8 zUe%YbrOWw~)Z&V_B5W&{gbbut9rp8*So}6fwr*=V{BO6cRc_&16LD{oT?oy(pJL3v z1A|I}a+3r(-|KwIPh#r2p%JiMVf{$$M{P(f~`rAgIu|FmmUt1<3x z@!R>A+<{6Y!8_ z0fVOE?|IYseLXe*?49Kl6+$eNdAHS+!G_Hl(&-MZc(SGON#gfyEF9!t69c}jQ(}QE zSbp+;)g>h1lYTmclCoM1P8N4y?|x-{oD~?iBQN>M2CdYn?z^wv1WLnyY3!MWScG^H zDz1uu-rqn^mN2TP9cDBQ!PC}+W)gU)b4&zeoAh+20~D+R?(F$KOK#39J+nN^b9<`} z;+n!b(r6ct%v;BpAeU*pu#OZ}x`_KAe6Gz>t$f5B_)m z_9vS`jEGd>6FOsR>b{g|!8o2P9{sDUL{tolj_z$+bsXKIFD(%dUJu!@)uJQ*HTXn$XNVh+y z&NY-WLm3rMyoyLa)pvZmp5tO9XAw2`RVvRG2Td4-Gm({_?sA{zlzy&6R?4cZbn>m% z>L0O8i5P3FIN$Keze_q{o4ZU9iqHL<#Zlj#ywbv|4heisJlDj^kxfcRXe)syFtttfs$*+V^k3Qf4|ySL{=J}1DLrkt2+Rp&D+3SxaY!d#?3gW267l7xk&nW>;4SO{}vH4Dei~QVF_y?{>U> z_Do6CIi)DO%kz$c69;Me$#Xp4u(>_wV(o{{Le@@JlXtzl)>^E~=+4~LQiYr2KS#+% z`Zim)&lRKWc3ya8ROjMX)*fL_uQ|M~9B)V@E=kr^X6DNyE*h0^(Z=MfqDOC3&8+p{j3b*H-oRjTaXy3m5Hfxe1BnPu;&! z)=n=Q%&r{Vmm`Q|I1?2W)&1JH(P~H@M|S%LJ#Rn|2b3aZH7-aZ#MZT zctkF4hidq!=01ybSJPDI-spP%7lT4}BQl7k&Jn#;Z<4Rft=&}D`re1|GnRmp*fQts zyRJu6-drs$m+=PagJ@sI3oy_mq`l(p^p^lhiPOtuQ}|Nr8bTg8W)JT`M(#ri3`km%l^=mNzpwFcjlUg zAoAs2l`d(>eUp>!1u+-0;AQt7pM?~Y=WEK(nty8x>`=gOwgOZkZtL1JX9pYKoqB&Q zIMK@y5HejS^@+INs}~`yoRqo|Z(fUxpDtWr8*hk*5yBnpTu)%Nkt?K|X9n~rCmQd; zpXPinU@5w9mha?`kO)!Z8mBs=dlb(t-=@`1m8@@-D4X`FO}3(i0Dc|%>9!9+sH%fF zzAsyD>H4%6p0J(U%a`h%zn>0jYgUEarx z`R7p*Zj;5gYUbEZFowhtp3Sh@&h?b8h%X-u%XH!d7wiw4(5XG<-_d0lvrJcn{`nkb zIsT%hSa4fBQ=`oA2y39$iJnR1XX`2&lnBo@V`b|u1rn~{(V~! z;__Aq7WSaw?9<<38`s5Up6y(-tIVW=Rw<$DZca?h$0fGYtYOp>;Tm}hA7!W|^6t!c zJ)db`vw30gsyX>YL{`hW<;|N_%uW`?xKm1w?5HBqtBBJU2BhPihsN_?4erNwogG*d z{WY>q|C#lf3pX5b<0tOll9FbwtS^!1pdDf;dk7&HJfj0to>+f zuS5k;41zQLBrZ-LnqhZQ!Ogv`%c zR01kOTqv(i8)qC)jZCgZ^&+TKpQmS?v(IkNAd4B?NnjS%AskOKb_Og)Srat;5|74lz_07B|ChISkm3kZ&R;*{=RjTlxm;1bqfsq zY}mexJv6Mw^LqC-1a*lmrflq<#tT!84;maPGM!-$H)pDkK6Q~wJbP+qL(?kdH#DkY zU=uIiykoL`*!N(%I#g*x1BLq>n-X>}vj7uy(P&rvOJ*AZDu>>V{Yt5F8Mq%J01=~! z!M5n^SXX{2Aq*F?oUKE)x2Ml4zD(v$DO6wZ6=nZ-(*f_ zm5dBo4s?9?@$Kzj1|)BEtdf2X)+lvc&nylAZCW@0p=V~-m6wjZjVu_^QiyaKo&820hixj!S zNK<3A9kW8*+S!CiIRK@$=g%+0j7vshFUQZ%{N-j7va5uwE_!`sBn|Ikwhjy^>U$z{ z*kH=AsdPWsO-4h5k9KTH94CAD#M4eyDe@5#=69dYin=m ztds`W7v+7~yU_G;zOiRR$`mAKH~7BHe?xrwebK3@j~a714=u*Rwe_ z?`Z^Jw&+qPjz+H=Pw7zdR+^jBb_+r=A!;%+)&>h7-0+Ci_?5XK%%_w571lrP{bTdD z^_7z&2907=bibSYdxYB-VKL~0i1+?RFE882n4f4by(?!u6KiT}oQg&blev^NJG3hl zrCj1awH~NB^d0T4f2DO7A>&}aoD+43>)}33pL+$+ImV`yhd@7vyy&GF4Vkt`{>X^@ zlOj!Nt{>DxtfM*(M8og3YR;_Pg}l?dyFg;<*96{oi{Mh7kXRJ(=O z&x7mP@}be7ULV9495Gv7M`-;lVf&r-SE9!S6lw<9KVbJ(#nh<8W>8Ds^~dMBnD? zpRqBm6wmW_(jla_a+6^}LGMQQx0al0a|;SGtE;t>WX18Ur;z6Nf#Ku-QghQjQ)NTxB984qJm$1$?3UwhmM|}D_-#~<&)x`{n`&ZOb;Jo`!tCu zD&Boxw}(#s{57tpT;%C`UQu93$YLjR>fO`AtSo;_LMFJHxU=&U&br-O)|H780XR^| z<&>1(bVS_${{8#zTmVgERFs5<21x)e4f?nI{E+Lb3u9jL&hBoLLIogpN3@iMojAvuHO^FAH99#33)Rwr;6g9o95Jd;QxNQ>#Ejk%FEhBUP5Sz@U6g>5vO5(vtM`uQLE`Kqk8=mp zo`hDa4^vH|*L%2L!$}Nsz5xL|w)2w8DMFq5OI>7wPV5&aJ7&w>@yiSXM8~nlTy@EcZv(Bq(0K#IYTdBwT%mh=*h`BgZV3=F}-f=-*KOP^fFs{sjzlC zy{3k|b~>zY<&IXHX_@VO3nt7_P*4!^tkp~%nKyHa^CzW5K72w#iI*>)FcyOoOm_U|P$yu85=QcVjN;w_eq zd$$60Ib@ik<{ShjO-4i|Gx~SevQzha1$SO(YPJjR)E)SASybp`DJ8bm?ldTPcwC{y zdhOJojMcgDystkZ$<58ZHx;Iu%kbn0X>6BYE5VaDyJz0q#%*_%lb$r4A8o7+WOgxL zQ3I8L5mJW-{P@AzZOVi0^D!a<&$b=*vI}y{($${gQAd-Vi04jU_vJjjPPfuMy~27A z*+Reaa$at3Zmlv?>~N9uRWt>Pdv>dT?_VE?-bB6Wib)&YAQSbxWPI4@u%`Oy(!iUeHI%ZT;$^*h$>Cfv4t!Y8Mb#tl11qXx`uY{A(nuAc*_T>}GXJmWHC!u1Ds zR9K_yuFp3f5Mg-vp^)5i}Vj>yqE=MtQ#EdNtt3WUd^n%zy>b?b=iSCT*Mw^6(= zcT+xuo7x?&st{qJN%-G2JX#;_ShDlKOZGeAvBe|OyLZWX1O5Hce_Bt=!%l^Iv^iZH zdw%W;0Z?6Coul?qV%os+?C;+f`}_M7?C(po#!8GaTo2EIthEp8`-bRbaHZk5Pd`lKqMoEjCf?FBmE?dG#Fi7V<%RaBK>=c zP%XZSd3K*&FGW88y>J9%TdMDkI36m#7zg7gSy;g&Wen?BifY~N6HstyZ*?&4$`O3& zw;j?@FU>Zg0A@?)i1y#We6c&1T9_EV3_L{%Xjb02_K{l0g6i{IARoW}l`_re7|z8s z%%~T+L-~5ufrZm{oMS;R;O=_OPRiVy`0EZt8(UY7zQlZKB^32i0VM`84jr@m zb)*H#?I;VLZSdpNI!OTEvUcAxN9ng9qKe$>dh`14=gM-#i-}0-svUvcKMEfNcD#8# zz=k<86IZrIE$9?7US?Ki(g_Klyl|srbEZC#UM5U;q~=wn^-_`76Y& z{rmSp)%Y*79$4xs-~^xm{2NDJ)NDK__Cd$4`RA*?0^^Bde*V)f^`6ek#X;9i1nhVC zr_kJ0e^aaB=4|P5n@y?GqREoaV0gmdB3xcx{^<2DB#imv$$T``d_G$DbUj*gC$-m>?h)pWe{jijXHi&w8E zm*3e=*Ek{xolMzZZoT)S=imq%8d8JEhU7WVc6`C{Uli#fVfnuh{xr{#7`>< zadGkQ+1X{TN9NlN7uJY}LEtk!>#2^PR+Bc>x*=pdZH-pm^=>Dn=EJNe++=`!GD}Ln z6uhcTS7SZveD3*7LE+B9N+0u+D#yR-1scJ_<^UM|g9w>R9XB-KLV;aNMu)5Yi%Uyr zmKT>#-6598;l{9AAv0~)pXisCmR@#^j4H5e&o6Ik(};_6r?@Hmj86%0`?u0@8T;Q! z#8zY?8z0AtVTYy_OS5H6N4MG|(~!>xK7pE=7h^wry5hKg*pEg<^(GTr&TflGig5&( zrS#*GpHG8$S7D)DZN~`F2xx`p!?x~}HGjS9k_1}oni+_)Yr z_hdjwX7qOi;?s9@c2-y1>L}>8t|X+Q+Pb-!n$o?&J_htf8P(YWvoluu=8jAl<=jUM zYFYsS^2DCyzT$G7hY;%0Vo0!EjoL!U4mU=_VeSTs3`A$VZaiSOev;0Z>*1e0H2bkK zJT!Eg-TyeThlqq^f6O?%#C}B?ka5#;Pom59*-FXe76R+ty-hnlK7N;s+jsW*xboV{ zrC$H{@85CUZ-7CE!_G*ps}lmEcX{s;B34OK5>>w_Ry|LH%e0#m%3~t`ds6^Xluzw^ z5w$%q@HS!`2?+^t{O_qD9Hp`cZ8yhCybl%SZCW1|>#lxFV;tkUrtzRrU3I!>9yFMLmVm($X%E zioBM>1h>WVhHn)d4D3LnUrF_%uGUp{ae0b>>`$J=L1yt=Xb&%Y-E<48`q^2ZS6Khs z#Se`aRE=jn@BhB#t-IK+g>CapLIS{$(9+TpyMA39(1o7`&opuYQBXoXfi$f8@+Be< zLB=@TnN0=wSOR;|d)CwQ^StNPIa(5m-?JtF*&kB8u3ac`Flana4aJaxf`g5L@FaPuG4}X}q~;v=vCUoUVxmI%8BeetNnPj&e)3(t7$<@7(%u z9z2|<&#?KMiSl>I$lt%W`1C(mxW0H?HT_NPnNq03wySMaYSDMM4`>#nuEkmmQ`SN4 z)PvtfyPQw-Fq~=$>h+yCY$S{`4(m7M=vd{`4MZ8y(B#7?_ez~h65DBRw$p09eM5p2 zPaiJy`(mfD?{segi2OevT#?=EgT>CMV`{T||LX;q>_+*Tn5Y05)T}S%%}BmBo%fVl zD_15#-tgz9*GS(=OCxu8ZGQat5f~Www&3?2%(S0BW0sdqjf{;|9uWEZ`WCxFflP9)X!ss0|Uh}Rq?5*!^SO5 zXB#}~PUnLGlsX9LC2k2ME5ja)=vsQqOJ1kHL#&5lXlQu7P%*i+IaM76z!Vy+B*AEB zC(D&3H)m8v*)z#G@-b*b;IT+;9VcOKx)!`1?&-(zodim?WdZl1wL=bMn<@uHnmLqQk0-}1CI&`xl6*K>nykOYhkY#CQX;)UL*rP z5fM?buDiPsHa0e}u_U0a#c%uRfbuA3M?JO}`8zfi$RKw;>yXk1IEMpX7f8mb&_N^( z04{Hn1;^NAry#Os3Y7t_Z%f=%ZI=yK0L*z37U3^o`ozU$=L4Od>-`A6R zvq{UV*4D*ofim%o+WkeSE{+Z~n(&Ain%{m+u0=P|{Sz``Xvj^3B`f#tVUw;ROmKgH zKV*JbT;*&+pQgV|&Pl>1_*8ltoWsljyyzz%We~f3zT#+E+fgrC3`zN$ZaW&-(lsSx*k4&DTksr zWM1L5+*Df1-JA6EK(8WAQ5wKMtSBex6B}CA=+Cg*5$Xk(B85T7=4@gPoHl2<52zS;%w~pIGJ8)wB1-=e`3FUHvosqyey1C?p_l46Ud913bB#N z$yXU3e)|Up+NCC#H~~ITDu15Myna*+NXhH9X095bpd@8xpwcI?A&YirXp^^|J$rU* z;9?e=^pQ8v%cxib&v;;#g0$WcI;?DLS04*&Y7#a#Ee8e%;{_a9L4lzI5?f4uI_vo! z@DXI_cJm5uC~k09ShRfo`kI~+z&|h5)%`{{T1~jWq^9;wRog>u0aWFEdFejCuz;Y} z5Ga;2b!Wf%8+4TsGYKHiWzO&3CF9o}ui3wU#Q+fk!D4^)GX&rSJ|(3hWaD_=cLa@> zOPnb3w^v35UG^Cq9UUo!UB5!un_F10u(2Ir^xV-1?J|K90y%D@vGCyFfb+E2Mnntn z(vQ5nr_Q^t6ETAQ(S!8si7u~Cbf&C#og3V8y1LbhJ?k;@)QwhpX}re%uIc3cq{JDk zpHxtf-qB@g4+c13pB3EX!+Fh4O-0oMHTdn@w~%M{(?9mFIRG(`heVkJT2f}_l7Al$ zaZ&y81dVmf-I?`Bm3P+lE)tFeDoyujwodYj8jM;3@fnzy^!JY;w`_6>#70N&ZI<;# ze*NmpAcq|9tzTsJ@7G6=D~jI@GQqr)J+)&1%#yEL9SJNQUYMMs#lWRroN?Qc;)sok zifS%>(=}H6p{UWEo|pG48IS3={r;PcIR)uJ0&^=AvB_(5s(!3{QLJB9fz_5DyLSRGZ%M! zNTFVBWNd6Z|E#-&loZ<8*%@%vrP-8$-*Hdv5ppf0r5nCC++=W*`5@*Lv9uSbJjPL- zlFrUmjcU*w^ufSghHTERU5bj>fgZJv8*M;(Sy)&M=UakE@1jRWMj|!`fXu`7;b7%t z0emvD&hB^~IoQ8%jaMfs*bF?5h{;286^;=j*pL|ag#h*gttNls)6hJB_Uw~a z?Ml&xu-kD26tqUqt2kjdJ`fQBF968J#KvZ1U}#CLHm}futPP+EdDPL;(lQZ!_1iaE zzzYa8y*gdX508;mSQyq$?Z*BMb<+vZHuXsUp3TWLtC7*-se44+17=34-V|XGtUJ@F zXq|!Kv4n*5%v>doWU07D#!DSb1&sKi(*DZK#^(`JGvZN)dM|W z=tZQ%EUoUmE0PFs_x1l1`1!n$_v{aw&LaQ2O?iOM;J3 zMSP(x!0>B(U&YGlW&c0R(b;jPdk=ATumv@1rmf8YNkhW%sxB1%JJ~#E<1mIts}RH9 zWL;V5CJd4cka@<3@XNSD%6e5+7JB%~fGcj1UTqAt32>AqV`5^w`3)Oxe(V(#rllbV zG&h05I5~Bv@}v{Z2 z^jn=#%piAK1z2tXEQ(Ds^h%xFT830o^ZiXDe1vaj)1VuYEa#be+vm?%UZOr>syaI4 zyYlubD*aYbT<#ZJl|#eBpsnxmt!y~SW6T9q1vcWSi?CE(f??ioTS{KjLcwN^d zy{Pxok_<5A#Doq!mjnbcY-N7hqMZZ=9*c!nBpu696- z0DOh0h(I6Mb*u1dr_gfA6{G0KlRw930XG8W#cXP}gS(k6j;i$zMBXfB_-d{xad-+ik{0;BJr>bMo^UfIlIG!>lYOz$2iW zt^i-P8ZZH&5F+m5_wNkAO`MO%%@C3Rz;LMi2pv&dn@mbd3er@Tax(cYDnhCRl{pA7 zJZSDFz{7w8BX}z8R~JxLfs;TrL%_LRc>gtbJZN=BgIP)d)VR%u9zfNLhr|bXicvry zVQ-=RBA^vgmzt(#<C*eUdepq zk<}r?o$hyWx?JwHYuCFzhOA)>MfSRT<}I(Pfx&Z_$ZCWDQKU4v4t>>^zwIR2xAI|UTyL2`&iw94;HKRo!qoCtK zwo_Kdf$X@L8LR)SK;vNK)%&vm_tO>88#!6o+kll6lLewd9xXQMjP$-M0fi%A9v%gO zLDkgMY(TLkfHVqK0A_z7-Yi8tZ+Kv8sykgO*m*5879!*|ge!vUPyI6MO%g8}<#9cH z+ZIOE1yYd~ga8^E8btB#UkTibGhxtOvl|*x2$_|OA)tUM#0j}@tEi|TATod@C*+5ZAeud(2;u?@j@5S!Y7W3H1FQ?$R6A%tD4#IO z!#Ww|2>L`W*qv&rDs*~ao}B^OyvQ4dJpx!x9%LyfOqtNC0ptSh3`HB8N7>5BMnH$- z6q!iawZvemKty}p`k8ohq9PcICbvlk9+2QuXhjWYnZE~Z48aPjbUEbZ_1vbi5Fd>nU^v;{Qw;j5pBQVC=aq{01El($>IjyDW$$fM<3C*Ls-%6@<-ZP?hS;YU{+zg7`hmNkUjKV^k;MU&*nF{^p6;MR|0RRGRb^&bg zC|=PWA`jFsJTkIz*8{d_h-(!+y)Bx)O_)cA^`Rh`9WNSI*fpR_Tv1(k<_uW9k(wgc&>(`41L?B9)Li&Jy$43S^1_lPy{95a2fg9|&=xD#@ zxo;pKL1rMr^7E<+1?F?}ml=pifrf&jVmIzj3HUsakD#!ytg5P0jJyR96ajb8b8?0| zZj7X<=3b&mk%vk{Y630|jT~siT{S12(vaqB0FJ(F)&<;&0L@J@kqq2CJe;m~5!Cu` znnc~%a-yWP^!}86ADVk3BvQBpuszVf790fnH;(S*i%eC%rfr~ve?oSYm!bq(t9l}{)_Se5*HBqQOB5xTvId^6tX*@kG%=BQ)@1_#pv zaRH%X7cnn)O>P%pw*uyO*qNC&s33rD8Wh2Y4UsAk6NL%E76LgS)DLBr-&QOG(48m=eXJsU-h+c#br{j%!n#7M)# z!;oG2D=bFuXox4zik9PK0O9IkE2{fV_*_UFx-j6zA;Ehz^Pz60s038(GYS6 z6hsWTCa|Q$k{Aw#hYx#Z7p52X{@Fa4K>Y=pEIv?~%d-P1e_B+L#d5O;go#}N!!C0( z$()MhU5Sle(S0KBu|?NM$QzoR%pCWFPFoi5a1?2P>D7EzD@@bv0U?Oi01(i9kYl@~ z;6WogO-#)GYn6a74*{MAg%RSO+w0mLp@0C~z3IGmN3Vbl%4azy1_TlSG(tM?xNri& zR#sjf3sHqYZ3pf81#KYyL0=_9eOS<#5VR~S$0Q{ijVL7 zLN5aZ=>4yp90=#@Ierk=fg3j2@A$PF8ZVX%>DjFaMgK&t6(qc10E_ zow0{|qoS!9(6_SCaIsDQ;6Y%u{R&8e%J3*q=YJcOya3n1qeK76El3D)u=J{sL}NMh zR;Q|YKp_W}hRb2~1?VL(;ydy2@!zwu;9i&QagmX~>s$^1JRrn9=pRA?lYtP)(R#H`w(CPI(2czuZ8^JnX3@6`EFGi`Xu79YSC5P4Up87;T7G{&+W^}W zIMiC|;=ArRE*K%AWs7Kj1H*=j2Pv<7Ey%M$vJ6HA+XKNC$jGi^iFnC-(83j}T=b&S z6xZ3U&Aab;`j`%6oD^G3GBs$IQk!ry3A^Inzn{kbkOP{v*H^BgpB8tIv0G_f(+%8U z9#$ZqKtA=yrI|6cWJ()0OZ8|2G63D-DbPVc*Qft?fiUE>(|AqIUen&@kL=nCnwe{^ z&Kn}1CyY|b8|LL3q3;*KjJB~S7xk=@^;Osfo#pD^31|Ibq%6Z+%-|fd$%N=kn`woS zwe@_H?enYE7t`QZ`Q4M-Owk{uI(M$9-4V1;tz(hWBf0{yRSZ<{R65>Bl7B_bl|q6OM^*6^wfK5PDiH*Q zt@DTT`|<_$Q~FqB50oDwZ2j;l`i`9n-lHx@8pjDqf);rsOSm zk)UH`)(06C*peYd4-i8`#|wX+J~Q8BdGgPC<#P3Z{J6WX8Fiu`T>hT{Mt+;vOdnsa z&rf#oAn0+zkaOLEr1WuZU;Q1rb`9a7DcG+qx{}U1wuW?JsT{#HQwUQ+qB@)6Wp%8 zsbOgIx@`9fWP1iTWnKS^6gim386?ND`H*dn-^(>P;zg9KA%Z!o1vJXI?VqZo8_)k; zclh7NwL^OtC4&eHT7?e1D#AU58lh0>^_)eo_Na~ndj;k^vdvu{)IC6}{4O{S|r($W)QB~RiX z+H?FobS`sWRAr~djo8OlIt0h>ay;pe{cTec(;gcVE ztb5K=m68eP?jpS@xm8RTc272kMu$<|H4HR^o2_s958U+>Jhrs8vNasWOkN07kp9ub z6Zli=XFuWYwAmq!^L6Ll!P&rB*{-vY=F$_seEpBZM%B54cKu0fE4Kn;QI=-)qdZ15 zG)wHe+PwRelb^^dC>(^RtZd}!scY#(C*dVWGEGM7xr>`Wl`e>TsfWiAJGx-lc^MB5 zT*BBmP}j6{y1TE>U)E9MUZGRP4Po|b!Yf`xe7 z%~{C2;=B!)mYYnHOdaw^LXnO1?}JdiPqgJA{w4eR$=J>M7(aFRmNdv5UIqyf9fwLz z*NEFb+e=z`r=fuCyk;2Y*tkm18r<}V9Y)9`5}=xCv^Pa|my9c+V^xc!7mO3gCe!On zcWW1@(~TEkR+0ofzwUNC*go%UrWAJYo=<<~A3_-_o!3fA{wIMrnDmkJ6Rgb0cBZRO zVACHd(D7#x`UFd0V*0_XIU%|{E^)l-XGH&ru&+j*F)W^>q|{)py#TCz^MH{x`0!s< zBsI}X59TVMCyo>tz1PNktZr6)(13v%9%$4%nmSP7_T2S^s$;OxoeVs8#uCC5pEbDm z3%M8=GKG^d_iPvciImo?Or1hbW{Jgr zr-o0RZ>f~-^gT*(`$&l zrShz1ZIqJ-%Ya7bz`>K6B;=2bvNR#^l=q(!gMIv6rxUcIsKXQcjj3y_N9W!=mh9+_ zX8LMJCf}NQ!?H-{eEXSJbIlnf4~skq$SbpTjF5H{xaQ{3zQT zulE6edcL)=%i^9KB3eV*{=)eNR(-dv3Q^tO&sz^YlEQ^F2}JWb$fB1=;_m&33dACz zB1RbbN6)dgPW41C<&- zs)Ptk-Tsx2+Xi*2scXEbb0QYDyZBr2>N(=H)mtr6!AfhBLl0a-tZ;Dcs8*SXRC}D? zhkZ8vp0+)l+H|9>ViA{AF}s%xsilqiypoETPyse$UM%Oc>^nvs9sM0kANy9A>Is&r zMIIlK;Lh%tJ&gJ&ok!1pSvyNakt(U>%pmNxRF?LZ(X21Y=-;lOtlXBOkvy};!{q1o z#`JnMrWtTr=9m~i|CuLt%E%jz*gU=J;^&cX%U$8WiD?xXmRQ3fmfM4DDr}Pmr@8OG z+}v!|ySNh%U)|gYnJv!%_hiFlVE;&~fTT@Cq{5=kPDgY8B3~hQSf`*|=jh~Jfrw=R z?yE*~E31l;k<9sQoqIMCXsA*zOdbc~{cb?J&tNjU&1c`c6CUp-cRQy_eXEW-JkM~O z-K@9Uqp{a*rQV~rYl`_5SNX4vyzRNf@SMzX6^iq4-CBEUSu2IjJ3S~ahfSjC6>UG+ zIqK)h;ecS+#%Zq$ZGqth;nK&;S$eM}4AJZHSnk;51F@gfcRlF$#lnKc%KZ~!9)xa< znEgptl#4vuBNlSO{Jx}5v(zf({+6XL8>?Q-9Bqt7#m274(csSB{(coum^U%^`ohbTGF4IC z#|NXa#@H%HFlq41KAJ(^&#bemkzs80OpFcI7w^wL6-IfylH_CtQOZAHHOJqWCzTxNi0|*-{x0ZBd}8~Dp9W2pe1_c(2Hxx?_>r>fzUTT{RM^Gu+4443 z;PoJr!&J+7dN!PxdPrN&HYC60{qs%S2gKZO;Mn;6`xy{*!i)0CN@#FVL+2CZj$@`C zp8!s>_N6(T(~!Q0KUl|4dh7~C!H)M8`lz7OU&^#2`UeO>9Lyu96)Ao8eZsNOf7j8` zab8Uec)-TCkei*dUfKr+E$A69fDic4vy)oLefV+2H-kv>M{lvceu_{ar!oki<-M8s z0Tuv|@DMhrq$Em>B7G$g7cTA0vMkGZ?FUYH^>A~XhbtDW zANMJ7c;5c~#<37ANtfg>AcvH%UFP55aWRmm$vIMF@cap-DLAuq?Ry?WW63db5@GR1 zTpwIA@HACRF|S~r4-nIO$&42&eYEF3Az@fw`BO<#?eWHuTSC}Inc@4W8QWrY{tCat zJ$-)i&~@C6hgSox1qM1rM;GeHGTX28^$Wu>DyN+i(GS6{lnG9p+_JK=qc|>O2L^(E zu-&IC%gOayjO6!+i(XezKYHygvh?+(LpZhYq2s7tcJo}ZCoDMcH?YQQOb-ox2U+Kb z+u>>&vvN`n9H)3j1p_OnocZB)w4MnRu^>1&_$cbRNN%+1dCV*8es7VD{4xhy+Y$~o zw!u*YulnA;zENly3>_UE2@nLWS`^i5oNSCf52xT)zDGo~3O#`jwc)`WHL@r*RaIJE zD}uBA@KM+E!?l{699di%5nbr@uYpC*@u?{sj1b`G*L7&Q>R=O<@^s@(NL|^)&Lj}2Vi}nEvXY56JsvM&&#_C%D*1U zIr!cFA|47_BBOa41p_cyG3bYA_jJDrJMZqU?Saj}gEihA{$C@h_gOl22l@HM?0{E??yy;*-c(kHON{;7!;2Fd{%Tg#)n5W|Ro0=GJ%GXx=H-FW3h_vN;xt}R;A z>j;>rmwI~BOS%YKT2aF}>peXOe6UQA$Lcwefxm45VYz|P3f){DNM@*5*KYBp_rJYY z)&trUXv>ImDhOTe!;DJ+Y{U}xGdo1r0nsFT6RXz-VO@Q5eNj8ze$sFvjD$EY0wO2E z5`(xM!q~dwbt4F4yIgzjwQi>f5;}CU%{n6)5g7=K*gT$>&YYNl8yMACb23DzSGxW03+i@{6o5WQJ0sRxEH!bizTC>yi`b z!}*OQK<0Hl-o*R`{?u^ilursA)xKKnZ55;X3KkY@;1PNX=?12o{gze!6YSiOY)wl%`~92w>MrNah8uH!J@UZe=GwZn&Kcrot)tu zg(+eC=uY?rgk0$BbwZYjgQHZS_wj*9Zwg(#(<@Je+Z^&P1O?dh3LDPNsa;p^gJo5m zeWc>~A(&>7w7}*F9Rft}6vWcM88W!XJF|VzmBaLV2Bm?D=kh7X*a9iH$!*Y_Ax|R= zz=$7J)f)b`!!vhMe{l&3loG8F=v34DzJ|6V_>;)ILEA5xv;`M^*0*oo;1!Di_X{+) zWI(Eh!9ZKA430bEPzgvv>$J1CmkIASZRU4K*drq&&xQJ+)f_@CoB-XU5-{^177`R& z=cQ=P2du0{Ajh@~9Y-o~q`^TigX{fRNjm(U%%gvE8`88o76}6EPNRO~PLEnf7EU+w zvF&pn`yUZoaUUh`xMK|RmRKc5DGLNa%Xx5QL>d}<3vHqFu;>V{E!cJTr*}MK;n0yj zbRMl4Y@k7BH>kwF2es}IDAowWAv9N@b<7WCSTTV&2v+(48ttC*(#OVaA#)IT*#!mv z`CZ3iWb}+Cu9W! zj0K<90MBitT}GisYM{de$kWK634zezgaMJ4@k)fG%Yrft>pMyKKR3YmeD(DCEsujs z@?ehA;^`4}dMm2vZMd$xuXtJ3wjoPkDAF_S@5k}`9WRdQ&r~w)Tl#&?l>8h3o!8D) zWEeS&*9nPtU?Ok8I=~~P)5*6)+f`o5LsBGKU^BOSSjrQo$CGeStrKc368eJWlqnFZtUGFMKwT)rJr?<3{O5pK}(s7e`NEqEO7NKzBg(1ZCY0z$S5dokj zAb{jDVuXcpZ_4PkaK$o*t4#th4li;*;CS1h?3lmy`0vjlU>*$xEK%7?s5E1KvV&9Qx_ z!P;CLGtWU<)#1ICEZ> z9M_9zhB1H#Od6BLomt><-u(Tuta!}x#qyf>B<;nfUqXFK6ZN|uk)JbrU%5+1Lh1L_ zh&~bTN#y%Jg=^_5dAEKKvqqg+f<@}Bp-3`P8G0?`9M`Bz9qsNKkB+B${a13949H58 z!DA&adLcxyiS2@Jdq>Y%I~VJJmEsHq;jB~eg{@PD#Shc?^vl2YwtCFR@e@5N*8f+> z(qEmp&iz*JQSX;ar(xFuZrRw{GtvAp{R3yy%s1AkNI$1W;Ryr7_BCx;O~;HIpOEr% zhN8V}V0^H9JbsHj#J|iw%+6A?Fw07iRg12zU2vXU2X1uIc2UQaJyMzaDKQ1jYN_Tt zQ9+-pKc1h)307$QEO=(|&t?Bf?bhroGmi+@|5ddM%53cTTD)syS*X7@`vRTE?V!Fo4 zSI)D{k_&%*gFp)IQ#+OrgNxIeDHy`oQx~0SbjIDA@>>ReJ( zuE545xw&gybO@Ee@3P~cuo-1ejLP(g%MfE7b~it5z0C2RhJVO+OGBFY!-EnIda_qJ z-kBbAAzG6)wg68c1zU0$7K_aln>;F*^O!1J>`FA7_^Tax$g?%5#DHLca0Z5tq)HOfQ;75Q51VT@AaAu|>3$n4dhbcM^IdOpXlP85$Rn$eI4h{}5d^gpnIS1Uy zIoQkSu3ojVvs>dZk913OmkY^zJg2;7%S+0r53g>!t{wyRoqWUxDMOsd+iKtc+p; zJ76$0Fd(O^OF3XI;(P}G+PY}KfV1^Ooa*}Y;2`Gd)2E3$V(`5N2V-jXb9r&+e)7%l zlh-e^M#3-qdu#mg=FOX^{eeSodt2L_q9R^ruajGErqz(2djb26@ly5flf2y*KjAkq zGc!wcOy4PE7<j)ta1!cT!=$~OmSAkA&u#vj8BL}a)LEnIschj9^*(kYjVp-T1I+C8iR z0QnFc0W#1s!39opZoL9WFmM}Jz#j!v79I>4=d@lOQC3g7s5Od=j*qLt-1_NKw+Xld zkRodM!-LqkIEDN7X%L?}G&NaZOQb~Z8O+w;I{dC`A;-d`lY4G5v1MwWK zlM^@h{zI`TIIHa^Ybc6Dp)N6U`i5`x>hw>V=Tb7#&%!y(sl0SS<^Tu!h1~LTRFeP~ z56=Q{NK0^~mfi^W!a)WIP!h1&$c=$@2=x)nOna|br44Kt7r%dR3YJ!+>XQ09YId@~ zDKm@IqJTAiG^l#7rZxjs6sTUBp{GI$C}0yT6Q2U^8Vfcm7JnvyDWIPTh8b&`leqee z7m`p2aR>_w3+^LTAab>UlY>Y7`JdI6Qj;d6ZUa~dG4^@>HYXsZZ2;%c4d9jlja~%O zO9HNFcgC$$7*)gR`{0rHGhZpBn}nzbxR|?a`yF9co&2nX~;eQ{h);Z z2;dfL8yl4qNt!T0V9hlpH$+@qTo4-+(sRJGO*HG=#^8=v$)Vx}Z!*{a`eA@56f`t0 zLVJS@{sB(q8-dnj-b&{9$~lBt1eh)xO6ttBlVw*|S2llhSjK>NA`Lez7JqW%6IGbd zr-1_zxpFu&pc~B9trfG96K=Q3{ELQ5B0!6m1t3{#Yiskf8xG^mpeaBVxYSIkm6x9% zfS85!D=Y;aCu{f?C^$z!-hc~DEAaRna0+keL_n0~XLNAWslj zQJRhJ0rv)M8}j%f&Uj>1!y^UEeIfK2ot>&LPv#i`7sz0$YL=YeH=`v0k5U1Ackoey z6SK*mh!VL(Gp-I&hYPW_0E)tPJij-jwOlB3idIE~?{1S1?|0D?@32>A$J5YKF%F4D z>wrekb@p%T3`G{?IpcEyJdu;y)3Jb+#Q~DSHv!0F?PlHDIgh1es{&dwF z0>LPucavG#`p;FjZY3jc*K>CK>MRocoG?OoVEl|4ei-3LCY_ot8c#JL!~o;zFD0&g zgtSIr6WFp4TND;6cFlWF8|fJ&meZPGZ&C(O2nk()r3CjdIyJQ`^~u*{rm^3@T|kPu z_50u^WiZv9q}jp(cEuM84DQb!qUm`#_By+-yz=gnBwC#N%WWJ-yeiYoCdZ)!i|99mr?A*pwh``ZY+afo_4`HB{WY;8z!$R%eeAU!? zlB@LKYAl71dhJN3;YC3eu1L9M#zf9UPiCfn-;{o*z!p{l;%@`jBJ4~v`S@PO-b@jH znO5TC6*4E;o-eZvNFIwzOW-`W;*3r)_j2H{hP5FgDhd{sOZ~UyLr9F6@jN{}kvahH z9v77<5LQ%|FN1=)U&ilkYkM6Q3RL|K{m8{AUFZD6|Lh&xwPYX#)dedq0%&i0vSL@=t96Z{CIP+ z7UD~ypx`KXm=J?!u@&5Ir_o=guhP*WO|8f2pAj1;=N{=RG{MM=-Al7s5GfQ z3N}p;b15)DM0X>IDo8RNot-yVpMeP%mUmC;ja@j^IJ`8J3@hw0Ede4kK}~?{ z|3LdP`9Frz${dy)SbO10Nx%s}*`}DQjeuwH+2;vJvp~?W7Ey(c5?m^Xx&h=pIOOEu zL;ZCq1hcz`D6_tfj_jJ6ny&ZaG+_gi zlj?Bm;E0E_Gzx5AP@Y5e#Y{_D4#?);&7WOx7GPjg1ySVZ(x+XckB{o5P2R8l`t=yJ z3q-vF##w#H92}1b2@K@C4)Kr(nullo2k&oCDQCbIQ~;$Md@PET0Q3*|WA=kn4CG#f zXhn7#SS`>{0L3N;zE}W0^I;`|a0Mbz8BZ7}If5ql*PxL}d;xIwZvT;Oe2dxU#^F1GgB86y&R6f|~`AYwW%?WnDB@Wp^2RWplVaz>_}v^b#s! z_|4YDG%sad%f#jvDKVW{cmO`F2LU%wpdexb0IjDZy)94=(+XRXdU|Gl*k8fuBa zeP7RQ!iD)P5q~q{t{?P$-vV88O4JWmd_8XA?m*KSR6^!M@6PeOS%=;}f+BSM?R?%f zW~Pp~h5Y0^{Li>yNbkD+tkwCiLeO~)?QzyNt!wAThmFX@+6dd?ZXEyjuct9g3>2w% z_9{sJB^B9hmVO!AM?U$C1~)`6GxNu`XGRyu2hjev5H0MIjtovs{x|X&q00>8JZ^gb z^JFdhLgdlUl~@kpf87^jj+w0u_KR{j2rt3m}uv*08^3b3x9!_5_8@sTN{QU{5{iJ3F}q6*4FCUy{pw zc~D&e@%%Dpej0L%92vgf%!LvUdK%8Zr(lcsGMb0E`G^NNU1Wy86dBc)8(RF-@`J7a z_uq*p?h}ssG+J=y{WF{yrgWxw zlKULQGd8RPoK3J;!PUKed>Z1Gi-^+D8~8VwKs_I!6N(h#;LS`0Zk1 z_YLVMz!m|ID)jL~{rwFP$bdX|^kfwv?ZR<$MbwrG4kF`T@OXK`Ark^49oP;*0|kc+ z=;=&U#K<$FpnnK|Y8L;;aJ0Um6=WGGG~eI+iFj#X?gil)9f)rQ(rx}P!ysvC;86&C z-wTXhuWeG&p0B<${;R9%49lAD_zCoDaEs4tayG%)hP5BVz?P$mMuOPDK%%UrWd&9w zaMFLJMUQ65)UZcEDx;&L>`|dpJ=c0w#@k;Pr2SB70@5 zf)j*FIW!!?+}3dBeEj%PjWq|JMqHnBU|0fB9GsEzaPg7z4W96yo01PT_S?5!H)A6r z$nF;#sqoO4ffMs5T`&XxU&hs$rW6`~Y&3?Mf>viv7_Y#@H%`-msaoojBJ(*Pw_}Iq z2}Qd&x8qX6fc_x)U-+7l86Nsx**`B5=1o+vKHSheZw>LrBBPy(-2DbwRV-7Ew^e|$@&fjQ|b?HZq zVxQIr#vM%leoi+Vai2MWfH_Ll*R``}f|$jCwNf^FfN=7i9Bt5Y_x;Uul8`|rr=`YZ zrP-Iulak}f7y6r@NILf(c=&5}*D|xI5~~-HE0Z(%D-!$o$PzB|`IGlnT<(p|(Peeo z=*~MnptfFq!JKCIr&C}haekL@p{p5=b`*CfrKY$K^bq~9q4Utd+P?-Zikq7l)B~(w zmIP~FJk-EnPdA>-?;p$PI3WrH+&koW1}76JLwPVv0}vf5?i<@6D*sNMJ_&?MAsr6w zfBUb_5|IH)h|9vvUK(Ov1kaV(H(z|I?S}KnkP*&pu%6Ve6r|RG`=|y2;gg}cg}Mt_ zi7@%{*-3e<`Q_$ol`Y0N-FO%EHbcDfOEWNn=2?%_~CY%GH`L(mPyX zWx}%r=a3rIL^3XX5S7q^=Y!a4K^b-iua^syFUa##^70QibR{j|0@bgwy_fUn2^$Iy z-HXUhjA#hF2FQ#PDc2C;l>h4i3k;RuG(G1;C(Hmf0Hg&7!b(MQZD5VT3Py%tfTzRx zUPlfm{KcxOD&X6HN4`4oL-Y~E$pho%JT1QQcC`({tIPtVKFoN6hPB=u=~D~N z6fctO^H>iknB?m4nEch~8!5haMyHecjEbq&P7KfHJq~(fPg?Dn6z4ehf})V+JewZw zxPuQfe!=S`-*K|5_2`w-hK5D~s+EFPSu^h2>gTb-99_Oqymt&96JFI7Z!riUw|1Wq znmSgnsq9K4<_yutAuinTefkQOFRCNXScIPt5u2)D9pKV}{Sl<1ReL&J<))0H!iXO$ zd+SYdrnuN_5PIXF!e@!SR#1w*vi?r(3>#BH#~)F`8&M^09V$$e3!If4oCl)Ave!J1 z?%8uITDtX)M96|~Li~8W0tdFamBA!y*y|C|gpj!gRt@4PL$<0KXi}Bc)S5&zV8EcH z**mZ$3FDE+0*LKRugaDhyvvBm0MZ?i=@$}*0So&!%$RgkLqkJ@6du}XoG8u4ra3j%3HF@PSt2FsWWJQ2dM zQJJ}&$Mb+&n*4u7E&w%9_B2ZqgX|;)7ZVAL0lxm#lDjrq>6aw8>+Hvm z0kU)i2Ct*C21X4expnj9?EF9F+_-oi&0b(4-l&7FMCqx@SqZX<=v>cB==JqhwpaHtS^>C6mWXBOE#@pW?`zlR$>^liuuzk<0Ts+cBURB(gP1kGUbBqb)Q zyo{P~#hNDJzBP`4IQI*7dJUx(Nla_CU3|Z6B|+1M+q+76<;Fk6!T!W=DaZYs&ISjW z|BAm0@uykpe&l76rR|)uCE|Hq?jP~2wD7XA)38FG6ZRD^5t}6EzTF2OJX{}z-3(R} zT18W8=Lv^u=O6l3I}5Q|E^rTpUi`HuZBjl72I;B~wwwl-I=eM@s=L}1UC(bW=kX^8 z?Z+AVAss!vgXn*8PzVwe6C)BBWC@zW4T6)e6nv+ZKai9MB;o+kqLBX|G7q+~Pp)_A z#q4Pj_a`(YvoL3y1%H$UoW&401SNFLXbDu8umgiuaY_8kz&!80$V1a)4j2}tSk7fg zR$JZTX{hT{Sw5}&0rR&ZP|RUi2}UYBzi)hP_qpX>vJv!R;F(H> z9TD-?^S?Um>QiPaKD@20#HDP+Y|WI{;P&8Dl{>H1hQEk@z*O01vpFa*PERMt{%X$l_HyHpL6gDAm^JUvfnUj z7r~QIAxIc(=2@P!DZnsqUm-7J9=3YzCUWT=K9jbrtlbGNc_`cY90N*9Uoy2?GuNf2 zb1|neY=#t7BC6sX=uEUgJd?Q{k0H4ZHaDQQfOYXLoAQc4sG|D-aU5>GvCFe?FU*X! z6QNS)$Dfwy+1}>aPWS=S;8T+2&tC_)d1P%q+Y@l*Ob}pAU=!>WO(|y2g^uYfjswvcn z%g`DryQWZLwjn)IqaA zb~IFoD>IS|2VX7um*xQ!u@wM1;Q0_T>p`GFnI0(;+X3QZ18kB3CFw+%&PE}J8DfE=CAcx^bRJ|2#L@(fEi%1rx+K#L?tLZDO`yJ{4g3a0 z9MBa+x&~Ir&=)eJbaZrJzgCOVIynMH1Tqd|p@)RBp$GJ(ljtw~na@|z;37k2uW4%) zU!r!BwE$rePBrQ3Lw6Uzs>hDy@4xEbixGZw3a&L=|f18ajHtTiA z&%Qf~xmiHv|4HWtd808oi4WS_nu$j8;}sQIq7WLCp@cLkV}jbYVq%LQd0>TxFPg1@ z2G8sDyAEOum+fN`mHxsI1yO8ZDT<4i!a4`bVk)`GC@=n!w6Y@Ql3lnBArF264ciq| zJvvw)a^;UiFv|88lvPXx7jrrV)Ab{6;LM`3HjY^5xS#VjxSdiJ*lFVV^q5Thzj+Z> zNw88U)oda$HFoeFpU*~o#H|Wj!>JU8H{dR2+|q%0Egx!4Iugu|x_sh-x9%(&7iy4V z9E8byANOK}k%7wcpo8>UChp!dYp(pNrEcNAh5s3Xzdz;iJh(f0f4IH)JTI+vW%*9B zZ`{H;MV)g+ym#oRE9fy4y{dQ7w_~Q21Rg);Ui|2vuYe9#)BoO~`Y&u?nt4Ln(;sHM%DxjIb zs;WdZ5UspJq%LntOV{Pn&SR+?0giMocd1>8$nVhz2(inptA!Hg|J)97|?m%&c@YPaZJ$ zkMc3F(qo*xSRx{u2d>Sf_(`u{3X%L1Ae&Xk^WI#l|64uFI{UzEnh=0IN6 zAV9D7y1#RH&WJTg+MeuugMwtEOkW=p0 z1_AcQFA=Op_yw+&uh}x2McC=&?y4B%(!8Y9!A04;E@x2tVj;G! zk9@UME3e*K64r2up$d$uG)!?)r+E6{ADyyjT6@`@G!OsQsFb(mWmU6DRYpCkA-xN; z)^ySYmoLHQIGs5)u^tPQH(pYmwemd zih#2?wwYf8M?xBxLRK^MQa!WHYH9HJYHaHG{wsBa#?e*A&wvr zr+}F<`kSTEF?oarW0CQzHw_{UBJ3(E(&9W7?dmj}HC5dDRZle^xFzxJjuLwXGIcB; z;lw$$v6R^d6kSx8kFvKLG(OXOao2=IBQ?JaF9~&`)6c09Ln$(#8a+GmJxG)Rdo?<* zD%Zq%`RkxpM1eW?9i1q1+qRRy=5l+HlyfO3RDOO8V#F$;c=d5q1Q%^Fp_Xc_`5f;j zcL&iJRrFkfjiIEblf3V=KWQdQOVk3pd<+h+cB*;P>)>3R`~&=ii*B5A!N+$i*ZAe$ zYA&IbD24oG37?7cVQ#);`TAbdm6_?*82o4ZzW?HF%_VtNb#!!~ zg0;XKkEG%c_(b%k&J5?A3+v*>d$gPyLp9EG=5$&y1yGV^Rn1=*+Pprl6QSQGBFEKc zzIcP3nM8?1n})Dm-8bVMYRIWEHr6|eExnyb-c}uL6Nz4JB)_LQS~Bf~i>kbcqibq+ zwTX($f_#`F351-pY@w+VMQNFn}8LiZMqE;2n@^ zIL0uss>E*I5Xj@ON864wFh*_k7Ez_hYX{t+F&K-`OOPhB%9oXD3eZf6a6MV3#kh48 z9ttHcJ>)o2ngOxM*mP0`4ddF9&%Zk_OMivo5HNSd;vu1#ROzw*fHMHbD{~@A`ea-F zn#T-I1`O=@Cg$fq6c=yOJbShvoe5!L)G$Oo)D7QlZ*D80_o2mQW*-#Txxz8%h_jAxB5!bbNY%<&Czv>w5UmkK%2)&5tkO7-Uo8f z=yKs>i%QoOQZmhoqfzzbw1KUyvewEw5(*R}DWusdm#kgM(Cg(~5G60T4zDY0)%C0oEFTNc$pOCO(tCv}l*D+fAxcMtMd#{A87qcVB8lmjQ( zG%~5$_iRFAP0S-^^1Q@r&uQ|B&_=O#TvYW6#AF9wms7U6X>T2jHsG|LWq*-x+a{?h3g##i6H_&xB8I172@#f2QCUJ6nM_WozohoerIXDRCd&TI z0^S5FIE)=QjDfEAk0Xj6exmqSed^s`mdKSusB8HL1bvre4? zS6+pV+k*`QJO8-NKOzYhlobv+*w#VZE}CYZ5DWQk9e>l5(xL%kdtNT}XsSH68j>P1 zJI6tG!I2mKTEs%JOvC)jVj{#V2X`td2^fY__Sj-4v)H(q2vcHSYh}gV9;I>BBagZh zWtvsVG+eoo$;_qd^YRM8d13t1AyNWMmGW48xq6UVH7gU;mb8mP^!n*h>vkh|gYb(I z@VYoE9jF(@etgxk$q~ zK*>WQ<{@ne$v9vp-*o>#s`571`Hr@jE|2aO=k9;U_{TKn$m;`9iR=` zb7?T9uzARDL+tEtbP zNaQ;dfiJiH80mG-BeNdR+>n`Tn)lx^FHk~}yiKSoA#WwM-vB`-ZpiCXhPC|vA#q1n z*F3TqfIZ-Z*$jxX;H+;xT+W5b202?R7T!7e#Tm8IJ%!|0)L>N%Ec6zpV|MYXg1-B^-tT3lB{rwcqES$Y5S^QEHs zd=>iN{i>XE+VKSEIfE2h10HyNGdJvYqo3snXmG12pVw9nF_+vZHmHh~LCFN^Ub}6| zEvF!H$TaZQ#p@!UN;AU&x}e}eX@%M3pBB|NDRw9Oy9oq_416S}cAVwcli14QSPIw} zu&&BlTsq#UuBfEJ9rh}NDErsUX~(7Z?R%06C=s>;224d9Q_q$^i4t#sfWKYc(~2dB z;BkTrl03Fe#ArAMTkW4TIR4b?w_?`lcS~}5+rg~&A)GW*4z;0o<+T4_w?c!T8zp{K zs{SSC%pbFF1vV(!6T^T!u%AHq6Amik=(xCMz)kxN0O;Iw4sFAn=Q)?Ht;$iG8rJHfcG>Z3t=$@iI#%f029|8fE3)BkzpE= zdkK5W07lQlAL9{_1z!M_$r_(9ke!so9@;ApsGx$q+GHf6&5T z%EL`zNndhU1=$8LXY_zro~%u<{tzbokUOZgRNB* zT6VS4)@_*c>?GZr%kW1HOj#KUi**$6M^$GiqwIhAC$9=zq>o??T@DiuRg-#iPa=83 zASeG~qtjstY-93S9@ntno?8fIGnZG8uhSAA&@!OV7N=8HH&fL(7hH$8E}SM{q(;P( zC2FZn>73K1-XuFJ=I}ynaP)KPMrt*%g@Hv9-$!K)6zR}5E2G)_HjWMjXYG_|$!9me zR(e$`yXF2Sd!bl)>?IP^^x9z&R%<9Ye;~J}6MEO%4XOz?m#NS@B=3H1E4oUUG#|oP{`kSwc}U~0QEsc z2PNqiOob73>ZN&dB0sK)x`Fnn4*4)H<4kPCX}t!KJr2&wk2{0n@#hAVtJ73If4(g> z(lp57fMrdp>OXLHxrD-I*2tpV8qxf79JF`|iy+BSi_xixb8j>)u--xCZG8OUa8Xq) zr}*QLYLxv=X&S4Hbl(65?bP5!D$l)R`XOzd7}f?2-8&QJ1I6iYIkMSp3JL^T1`2Xi z`zf9Uw+^BzS$^_IHEJf6ni7wjI%mFCR8eWZ?;qc4MR+pUqZX}s4PFS`(BDj@U~gry zMH#`^CW5C;rI7%hAb+anI9PM&!1=I#N1D(1=?d*{T^J4ol?+QOIcUnpPJe_|D!hkb zu(IKsyezqwk@UWvSMu@-9v^vs-zsXkvmwGT+V`pNU;J0j426}^r_pSmLgFAuu2!o% z{NK@UqZM%0p+pcu-j{^$KOYHy+d?-|7r21Ey|uUJu}xB0)%yD%TBRk_Zwq+Zf;l92RokwspH*0|Eo_KR`5g$Z9S8 zG{ne235<0xOW}a9BV*NQQby@C*f!FWg{^)Ms_{D`q&|eFMWzWCi9$)%w6)LKzE{CS zPAKqnNgYXhhv7PCF905aqM~kW%mAoRLIMr!Vc#I^OdrxGl`OqUm?6M13l=K?r7*aQ zVQSXn0bN-m=?~whbs<1F-oe0-E?fv=ixF7|mXi`pG~f%tdUm9aspqnmH~nNHhLcH& zTD@CB?f>(p4#v*Q(K2~Z^I8z^Jr@6AC*tb^#caH)l)9*)qKH&S>p}tLN!9%MduF$D zB4P)LSMKNE!#uVQxU+NTk&kPWUx1zJkfYe=R{de_2kk+;h5cDJvN7R?Qbrku?4NjQ`})?43m=---XB0%u>L%Ry8U@l&xiSX>$-UV zoK$7ExyH-YGG1?(6Sdu=fV8R|(DAn+Fi#KwSRi$Q4~A^>M7S|3Dj{Z=V1>F92C|?5 zg9;Fp!En$C8%6rIQvNRpC=E2(2A)a~R;=TPJz#wP!K_^y06%cd)WuE0B$g9s4nS)G z_LJD{76vN%Gt@n#*QAobS@LO-LmeoUWZDrhW&St4fcg{bAPf$Y&dyGRAwsqzDEE=s z0RW6Cz*EG=#9)8|K?3%2bN!G~4o*fP7>9v_Ywn@L1jMZtg%yavMA>tR3SA?>vc&A{>_ESU0uAQ}Q)(n9 z5IRN`fT;kl{E?XJqd;Bumc?3GUEWN!jX%cJI_4tO8QK^&LADJ8)KCl;iX>JbD@q}% z(k8YvfoqlnpEyKoPC=lBp)XK@HZazNZ?b$QeJ`x3AjV@VNcrTEjn$$Zb1;{mn3^e( zUsQsK5-|)PK-Z zMi8lx@NAG@G9cIW6*GLw#bRBGPjNK|%VaJeG|1&ZKIE&Hb1vtD30mc@yq*dRmMw=W zA+;CvOs#;6SG!R;&htk4TnkrqYohRezoVS|-F|a5j4JsMF84#*<~w>pDSGv$I34de zR^Hh_cMI>0V&WF|dn}-=smX`_Mm6XQE*=XeYLVfQT=gFR3J%>QUDMVc%_4wbqcY);hBEzT8F5bG-?Z?H%e?9Af zNsf}SAy^)jkks6*ug|@v-?6*Y(RuvU)5x;FnTK-Vg5YCcIf}wICfd^I?A+`tcy-w; z@9F}J;dM95!W*am%K9XpefT72cu`Dhy~_5_hGAjv&*jM%`%lhZ)^7<23pZ_VZ+D!( zrK#AtV0BCLHaZp#^Vo_$=~OsIH~i~gAyLz-?+QJpkEix+Q}%_fF&?%n9ekNS{=#_u z{lO5OQUXiCWy2b*ejL@~Tt_(=-c2I$>?lc*eR$4p@`h{=tKx%UlK z(Z1u5t~ygHS<_Fns?u&^9lp+Imy3UYUEBY5Kjko$r;x#ql^Sz3TQNo= zG;eb8gFjm|`utklgtc$RFP<}>aDjbcW{b|skBQ3JSsFA67%Cq0Hjhst-mG4#gw0c? z4RK69onemrkm_p#>+Ke;(^q?>%VSbvip?ECeX(DVk0-XtQ2lul)Zkz-^A5Yv^zkfw!e0 z@s%t7w3z&)AjYo~ijXds$R7 zQRM?7lcikI>{3F3#T@bI;7GwQ{@6i(IxidDQq$04XJRTMEA!#OeiqD~5Pa%Klx(kY z(6OXUE1%wWzq`a!G@|VOHg8?gx7A>{R-;Hv=+!rc`{~1(ac?-gKN}H|5v!^82j047 z)0FTaDaMfMsyDBpO{GQhagI6xSFBJXzIcK*D(QXiZhzCXg{5VJFyH96nHeV5T(iAD zac_g9157g($B1*k2}N*s=;M!T$NFTWeg?c$O-LscNqHDc@$kC}Hr`7dd5-l~GPykR zmXk_udtmc^eK}dY6XBqE#>N`T;x#R!N&GKf;AP7Giq#<<|FE@fSgjs&rB89O5QqB8 z^&WANalNtv><8SBc^}Q93Gq6IEvtQ|iZO1iB40IAM||}p{fP=2P%62%4h;hY3x!0z zb%{e!S2(oj%7!hY%oS`T@XhX8uxDJRJ0DApVYTUp&{G>((|+?i2mRgIc=-OMcV=J6FDJ}PLgXM37Fe1T!O} zw^Os}!mXG4pH9XyPp=@mWX%S4LddV^a_Vu&!}&t*B7Pg19RC$+wiANg-1}!5=AU_a z?|b)C+C5N;igS76TN0(>Ei;fB6S5b8iaFh&(1G zN~F}9C@g`-KPfXX;Vwq*Dhaze_HkFta=%5x*RvG_RpFh0YWiZ@54ta$mp zVU-L#ZOr_oAdai&LL$mxZFuaT*-0QN^4+3(i>`}^dbC`~lm z$5%GZ>_zKJnJKoPziCCMqgo3eZhgJ~!FhW|4h;B6x38m0#we|xuajL}eWSuSJuS`L z(-TP;Mzsk7$7%|H1H8w_StdL=*`oWo_4S#GxpHNC=75R{3zqZPg>Sh(dBVTpmI}e~ zSyh&R{?-(KvW%dlr0nkN8=9Etg4$|C*3Zh)QfOhUu@QICC3$R2Kc$BQegq-y`j#t< zpA$C~jjY9WS%3vj4-)Nrqcci|ZNcLH(r5%QE8fw+t8Gir7a$!Yf?kb$UJ@OveFX}j z6TB`@stk#{D@kbR|p9BawPeBgXDK8T+5DdL|1C3-up9 zEU2zd{Q6aTPTUd*tnap>z#>O1|JRbf2@fxWxw5Er(YtqOU#7+wA3 z67zaW2I6A#F}c;u;uu8_Ng~2?(f#^QALdiDL=#`&SZHLcPzgAhi^EGN*uX*)jK7TnXo+46Y zpZj86dPD_QB>z3F6Qzg!>UEZzdGc}h@dTBNoY)r_&hrGDnLxDC&@|u(U zifiN(SoJ3zgWtUvDY)(X!qGoPDp33SV_TJU;`!Y8KiN3rEKYE$>xb9zMQei8kKqN#CvG z$(P3)kdgixLPQY8rr5KGvPZ`It3gq5SwFs?!3%i17(_~JrHnlP)~8Z_C(q)`-U+0B zi2wHm($g0i&vqD-lad|-f1Uhi6ZuS?P|FIHd>x5imV?N%gUG|F{jY6%dm@N3=}i9= zklRvNx!1h5<&gJ}MbJw$f>*B%9+p?TH(vR{7jm0$kfHAFx)jd%?sL341CEB-XabEU z%WYHk@}&=wPTP46vA9aKKWbTjY)1l*xb$vU_-HtC6n04vPtl{>_6ZcaqQslUSLk%#i!)odHhLskn~2o7U>hpBPpAsM@iAPeHZu1xr(HP~Dc~To z4QrN5wawM6dRX}IiH`n56SrdD^lE40FidS&@h0j589fKF-+J9ppATDkM)+$lilG4FC2NQ>1E(1{ z!IY$bM~l`^z*4W@xmqtLor$<%IPZ3(CnuW#miZ#V%KYa-#D&oDX z{=CR*_skL2o8nx55ar%scIS)z@CE!|Q6Z#_U~sL`TT+ zaF8X}gk+Z>PbYjI2;!arO}sBS>1?bCg?iB0>;G+!zj>S|XIIkNPD2{U9G1m`7!Q*I zIorc21CF;J**>)2EmuhSl*hBD$vQktCyB9o%^34EUzBo~Io#A&iE|J=(1Id*bEAXy zP0^kAnHCBxx`YmNX?X(PG|>Vj#%Mh<(Ug05DVx7q3U@_a4umGkQ_9nO(@2KQ=I~G- zsto>QYn5|fA@a>DT*x0cvZ+WBNe$76;vD!9WB!)UhvjT=q?G@3!YMa1s_Vf>t=ECI6EXG@Pk)YrA6q)48>)c#6j#BH1lmST7qn;egBbGDr&2NRCWbR~Hfld_|>n zcT2O{`(`|+BAeNxbgorrz1pyQG>>30V0PsG^E@5dq}ooy zb!;^}EvWroo~|@-T3qmk^(a`iJ1|Kt zAqwTjG36hg1@5Un;q`xyZ%)ghWmWzneG(4n+$Sy)) zG2i#@Ld-ggW(^vvyhtZGiF4cPoPNBY)-v;eM~s3k+iZyWx0aLq?{w(fL9)s$1Zcb> zy6|C~8>I1u7tO^X zD!SXJ9(W}($FKcgxsgJGg5Q4q;zA;SG7r10XlZE=vX69D$i56%3kV1_z&rbhF8^L! zv_L9TMpduRGrlCFwNE(_mop@~OK39xU9aft?Zm)L=Mi@3RrXHZ$d?Fs)w3{F*zK2l@*@(-+*zVZd0_FBCnDxme8s)SOj^^s43(M9o?Ma z^bt+*T5+^{?cSi;7>pOO4i%M^&F~_OE{z*Mn@i4)N-~`yiq~Ag0fM|tO*LQV?+M7M z-C(J;>0A^7?01I5#R0K1BEKHlHH2^8Jo4Rd+?9I%{P_V)l{7vKcTR<6WL!gptcHej zSciHhlfA-BpVxNzj<4Ce%;&r_j-FM7(x6rv`M+P+*R%^wXrK&DJ8vw;bKAG}4rNr1 zZ#RY?m2vy%url1=an3&xZ)|}wFydS%FjO*#;*3SE-&o$F6#Fv;n?L(wVWS4HP zE8NdBFY?9tjZN0NheYi!uBLv-T6;f>N&DG*Gm#sKB zB*WJA-^a(H29o2HSD(fF_4)WFj2YEEzDgsjEc~Evm&?uFY*x6mI4EP&G0kgAIjhDu zYhY&DeM+mi`ptxKmUa=eEJwubM_sq*JvPa8E1t%woic=;Td|Btyc@m`y$Q*msM^(? zKhs~dWI}$V2=_{FDZQM{u_`N@mVDRo&q{c}d%95PT~-xRIbyOQZ#{e1R+}#oY=k^C z!juJY5p%dY={^nH#_PPRmA}Qwhq*KmwZ)pVGU#opcN7%W7x$RLe?BWoZMw{(N|}2nh<=B_)xywGvW& zP0sXi?+BZs0s`>kbmF=e=fB$w9Y(_2;FfUO}&+R>yk3_H&laJ{tYHGC91?#U6uefUc7Yn~HS`_f|>%)fVyT-=f%@_}tmQ z-N>ibXVTZkYq41GZ@14zRPYlshqtA+YK(1Py*h(vfDdV@5t?}S-TWLRKP0=eMBKbQ z3-dBk=I{ECWGD(}6?Rv=ip>7h-|UN));x>Xv0Tg>`TDmCb`t1?yu7@6ByQgG)DpS5 zoS9)rSf=P*vwOHF`e^-TQ1SJ*QhB9Vi=$5M6vvi_?@c zUGPOj>l3!Q`Rgqnp5ED!tMn31c+}|o_o?J1d*?n^9Pc#JmH*88vSAe1_l2}eD8kn} zBA~yF`G#uPb1KT!VF|Q}s$7OhzO)i?o{-L8XVkfS3DNA91}cxWRkE$g`7Wjpe4*s2 zdBp9jH(C%pRf|0z=En>L2c|KI1EYj5SCzaCljQ z_8drl7nO{8mQbqDwxvPx=;NwVHbtYQ^|2Vu-z{ds>*5*aXzO_cd>5=`L+qX&bGT2D zIv(@<{aB{X>^tHi%n5^ogfgZLI2gO8!Nd>joFZK8g#KupqQ87P%H^GSH2Le@@84A4 z#LW}?rfns#j2Dm}yQXr)bI2F@ZB}mbL_)!&VfOrm9b!HMCAB&vHt`Jy8)#fqSkbW;_HaOyIjQ4dE(Ie~13Ep!qwI^rJkM@`dOL^AV z<(Bethiy-lFP_RGH#Ld!WRJzcEP8r%;Tg{`wGFJ01La}B&EWLsscai-vIPB!?RTw{eN-Tz_B zv9$@;8y&WC_6`g>CP5~B@p^<(y@fJYa>ILbopWL5G4(1hj>z5m^U^AuZZ|g+JX`o} zERG*k_LbRd!2JKwbe2(7b!!wh009AM>Fy4tLmCddt1j#Qx8sq`5f~DtUAId`tcC>)G;9Xt|0? zqJ(<>;lqBDy44Hlf&?<^lhSwT#LqW_<{$8&aXi5p%jbEY$9dv|g^N?*`VmKxsX377 zdcx>>^Yyp=8?dlaJ0s`Z&6WU_rsVg|&n8$(iOCb;oD$ll@XRV&t#q5W?S!(6!MgZx zg#D=%xT8WTRlClZBHUxa{`#NMGy{D7l1!$PQMh&=9-H%* zdv9XkvliA6;WATgmM`QoQ5KN~*(xnRBl4LmqWZ_rUM$y+$2m!DuB~gvHbnNguA*aF zohKy3CJZ|!vqX81bVf&#qX<6qAW#t*c{=$bAB3dwv3!4+!m^qu;NlDa#U9$szoCuN zbj)zqk|PutRbAUniKMEb3ckc}bQy!63lozA|={lc-V~iC(EQl1SzU zzj6j>h9PlrXyA`!64oRdnwkcyRrD_`;M{sGA}wjURuX2DO8#&o=PkJQ!4kzj9up0 z)J2!2w8hQ3OMKkVJ*R^L^Ai?_iwz-=qTc1TCl{#j=zYB79Sw9l^k7m5E%@-EG*@5@ z*yuX(Vt&E7;)DTsT_K=+!1LHKXGB4^EaA`45IoS9{siOO4DtPX`LyhFZ>#Nf`3nf? z0dI(0Nj_Hwp+b2*|HYL|Okn4ohj-39kF0Gsq0mWVFX(31c>)q3m&YU6zjt30F|%@T4E+900F`K3;czc2 zdhRMZ?^jO5A;Zv=62P2}Kr{6|K7xQYtnI#6ba8pf%F8U)M3Y|*_iaZdb z2hQZ!qb?S}N%9P^kQ^6HQoy-lVs;i2c=_}&J^?fY6tjHF2R%r5Uw`#UfzG1AG5F@@ z#$Iy(kcLDAa&~|xgCE@QU@(*Luul9$nsd`feKQ#%04P#?K(zwgG3bSYTN)^~4}Wc+ zOkJXZiOdcVuZ;17z@XsY5P1yr%zSpn20RVG`?}mS#=CYaSN@9*%B4oOb$tyUeQodC zZQrR)EE<^n{Z$Z<)KSgFDnCZg4iz32#Rsj*`-d^YDB)u&<&t$jTry*5 z5E%uCJfv{yiDxFd!eX1DGdqyeqld}G)@x=yE}>r*xrug2@gmh(M=9Wa7X9$Z!Sk=I z<--d3XS>(3hZ8vF&LiaTQQ(E_O!gs-tZ$1IMm_67z;J_w1^uH|-a~Vo?VC(t6k0;< zL7^o%vf0$~+v09gihBBrJ1vO$W_9YWTR$xUZ<{Shs0NDj<~L~+RY({hMAWV)jA$Z7 zMNR)wHEve=ZqIPGjUGo_Yh#Bx5m39@*KEu|O!{FOJ-28tCM%pjHvfykXa8MlOyR^= z?dK)QiT6+u0HDJ()zs9$aSUjK(SUk!wgz}p6ULvI+IRCepQ;_Ny@4_?y|y+%EqE&h z$S=wEOyI+-`*=nS=w4%zU!l(f)awbMh2Dv$(mfZ_kufn1t*t}grU8|I;GMn-WPH=k zWMKOA86&9fJcCqsU1@D_{bhbWV^)ONLvQb;`EG2MpUsvB1^!@a1eH>NVA=+-ee*D} zP)@`<&p)pho#ka@Sil1SSlHmDy9o@le?j{Gnj0wiZ6M+V#8xOQ_PTS2zt4UYdfxf? z(il{@^ENwXdf)AJUNzNhhtpSUoIiA3uZ}FQUU3i%u7ij@1^g?h2{w)AXsL1GHVvV`e$?DS0oS9Z9g)QhmW*?D+C(IWCji z9nU%L2a|?qgtBB$Q1oUcZcg}HG9|G;D6S6ZmC=W{FGH@5NFzP5)$wHbo(a5y(8t;| zjmJ$~t=M~&w9oX`#)j_3(q<8)I1HVWBjUNT;#itKQLY|HZHbfEg^Oh_E{>jFV;|bk4w5wpqzdl)n~H+#em;fDLq2h?wie+a{yn=0D8UN<1allnD1}P=cbxvJS+yOVc|=Y%Tgk?T%Kw zWh7b5Aind3AAy%V$q74|^IZsgtrbM%FPiIq>S$?@Sk0BWaYWlV6t)RZhm`14C^021 zc>i@vV^xEDef+16t67=?Mmiz_)4?q;_Qt@sh)ml&u7!bNegGvM6@g*7fJqxZw?xCZ zwxqNCcgF7@Mjm6Y{MM}4?Ekre$4I(sN>mjezHIXLrD*_sIb*i_gAe-$mT!k!Xf`(m z&q8fJyErIvZ~lEMqv()E2;#X_toSY_yfxU^>q`Q!*h^-1AB?($h{|SK+Y@rEogGxf zqc(L@Q1CIxkf_KII|ci+0F_jy@PoxSvjXzsM2_%p%-@L~3q43y-0_mk1{qjVANFgW=vr3Y z>A~VO7Wi7vN*jPWq zz1adxKyZPv!^2YJg3k|!wonYYP4}%SlyB3pxCLH!f5AJ})YUZ=QgoKjM)LxSAA~w2 z!LRJ?nU8aAM&=9&c5T78Go*1jX9Q7;PlbYP*`zZ)LU4@A{F8AD z)ggY9YJ+5u0V~PF95&22rSKnbvP~?`SgPE!Zp%a(y>cvm4LWGwNpP~%+Yl@}+o89` zxi|dudAPrZ4~T_GPaQ1*{Yv@oRJv(}Y{e7{Vq0iopAp4e)OEY*T7&#)*C27xVmSOV z8j5To3c}=v1f*~b+7tPtFkSeZsG3aH+o)fCGy2LUKb_?SqE*LG zqwS+q2T%V&Fq0uHnzJGgDx}Q&y29f9CqSk3mQ4Cw6-Ac7aAvPWXk1uA|1*d83^n4b z4TZelstqhvLW9Hi)Vk@&cT!Sm50!&H&52M-JoF=l?stUY^Jz9f=iduJM?)B?*U;27 z0LO^c)zy!c`+#EB-qFF%bpnn*;MT+K=wc@agY5~8B?v8$?7+bleE85QAlN%W4-6$G z)CUz{F3rZt3DxGcEbs2_O4TaBIRj|Qc=vm4(EDu?I4r>7p-L^{YxjAUrOORCeWlHd zwP|~Qzb%TvkAegDqLZ^T*nIk<`h$%!NKVa(3Oa1Tcc07vnKw9S)lCozDJxPku(Lz0 z`UuWiH{BD!v(YdQ$=C&FlH+3=pb{ha`vTVYrW;ZAPSqZ5mKm6;Pc1J?;{*fi1o*Zl zwb;R?6kHb&oPmGBWKfDW4P4pZIq=<$jv|4T7;KXfgL)B8z+V9hIM^tkpPz$kQ=-Ad z!Nd8$$VrEy^~M`65?Mw$@xlOUxYx34^NE}})fpKeVXLAFD2^PJP` zRUVmtZj|!w-#>9u*ni8lUB|H-o84wUuYKo!pP6FvE=KSirp41^f8U?{g-|13!$K(ug`lv10ya$LCIhDns_SCrX(9Ctv zd-|<*E0mL*TwTlh$4vIJQD&TwZ!{!VmJjomH3l;SRY*}b{bSqcLv^_CyzjlUz4rxc z3&$RMUqvKwBli1i&UU>jdh!naNXnW-okP;&jd3d+*L+xv+S0bpXYSuji=p&3FgyQ)%)npHcsZJ{Gc`9|8jm4X!!>#NdpbW-rVCO3p`<}-q-=oV*Pk*u>@ zkZF})5Sd!IBrHsxFl{VNASOXoHR>WZ#LVh#vZb@dFDmP`!8)rz%uzY{UhbOj^;w0R znYkf>0}a;hBV7d5oOMBBIO2WD!Xba1Bi#H>?inT+(Mijg7?m&h9CX~0>7>mRb62gV z%sx)>)U~3+0TebKgBpEbwnUzX@0afL7eY8>K?CF4IJj$)_LCx23=OS((#}QW4hCt~ z0h@^tkAYzn9U2+k&WS?KX9;$CO8NP^pI>?HK1nP*22k(r>4qF}S*_Xg^iI3#m{>4O zpIH)kUb#^fQ%yk{cJ4dccE@b{v6vb}Bir4;{jL;eubG%@m{s~%E;@T=0<-B=6xq1< z0D;nrKY|~Z6}I~$PG(gy=Si~$ldcWbcpv-{)u>{N&`YZ&)A7mT-k=rw2b=n#G?7Hg zrj5w4p=5<31e=cuXyP0wX0~3ZWjX8FzH2x?FJ<8N(#NjrG3}4NHO=S2Unqj zVHy*)+;@AMF8N4*8KoNo*QF(CON6eeU^=W2A~{>Ce4U}uSGtO>84m0=bGY z5zC01=+Yt}C`b$u_U$~!+pqNDGN@`xFC4K{O#j-eO3KkI0B>B3q9rH%5BM_5K!K#6 zui8lRYqo^t!;Vj1Iuw!V=4H4W^|uBV`gzL!(~qKKA}f-pZkNm_K_WvTUYdZd@gi*3 zA=L||y zaKPkunUmi*HLQLRh+eV+mrJjCtg!~A1ifLAxx^$WHV+N|sH5XXcS%=mz3IjwL{Lx| zL_!rQTh`|sIawr*cJ~sSBgjACXhGB)A4>$MpQ;?8E&YVz35(4h0%Kq-3bWNAjfCu? z{8>ZXTnJNCLoCK2Pmgg2#vQXDgnMi5iF zd-jtd^Nb^Xqj1i#11>3S_KqSGW^BF`dwnS*GwJIvU7KkMtmR}U3QxkMp2RU5?`D~g*zO2h zW^_<001w+X4A37vwpd;p9dI3tzTMkD%KO;%iKQvUuq?vPB>6Z`7qZRgSA+DEE?}(s zBbhQCm6EZUXjSC0VS(Cap3glGd`{b)YYeH=my`RcePP@amO~{V2K|JID`g-pcow836$6_4~f0+LHPXlWz-H2^YG3^ zq1L5Pq4(jRDQ>)@R4sae?e0b>W?H_D`|)V)iSY&07m&UKs+XV+TCkxY;C2YSy>$bF zUOgQ*J-0aHBdTMGM#O2YKP{gR-HoaB+BWrWoBQ` zvsV@gGYV<>{P%p9MF71jo#}nN7->sT#KJceUQ_mlH1CMb*4ZG+Mql3vDI_+RL&Exw zo2c`7+4Js1U|?&M)Srb+ZJ+YiHCqL48h+OPJ2|2VHvRd<1@fPE!E~z*xP5OK+tXR| z?*sy#sVAO0ye~XK?v^SXNLAa+7-DF^rMi+nZ~!)xlUmU1H#7?b#{EM(=f6RX#^Nb3 zicsfxg3NFmj4zbL25JiIZvH_*f>3`?DrreK&<-8G!@f7Bk^xl>(4-QSf6hL^=Qzf< z^Y<^jzwhd*F36w)9l8Wqd5@2ei7gcG_gxpAg(ng0?S2K|yQ1asRedzTL6tyD>gPW0 z+m8eg! zLyczmS_o!-t7}n;evR5T3smY;%w%9guOi!6Xuau|Dpb&-B*4qUS_Qr{9a~|7%>@n) zR=NvC#c#d8367Xzp1RS43{%$qLOF^uMF@gnz~CV8c9{I)qQ=P6%IFoJLMd0V!tp>o zq4tOfqDE?lN!x0nYQ;KsL}Qak8zJk~5(9G;>MU9IVpl{}Nsg@g1U%a`?u_;q7US1h zs#-V;PWhn()LlilK_*1r7gFh>R!59ViQ#G;vU+WSsyLuqs?K``Zpr#hV~i2=*+P%t zsN?y}je+FEA5`8sWRi_k;bEgPLUfe_K0!U9Yn0mQ$j~KZJbLL!#MJbx!VV9ZL2lUB zp*%wSQ)aVmV7Kacnz7nzspm5+m3c6GR}KLDaU)C}3<(c6yApywp-c+CiOmy$xxbwe ze4II4sIF#$+CYILdHnS|zHcCMJ^?h~QIHVomVsOHP)zU?wTj-Nb? z+l%%?O-o2NTiS1E8PlUUgm8e@!~m21!-9NUMWfhc%;cI?=5p(PrdXnSJ@xJTH`QqXoYxj}Uap&XP3*_Y5&^UvP zI%koKMm$k_=H#PV`yVtq{bUwyLB~pQ?)14no=8~zqoV}h>pqqJ3)~)3*A7v7=9-Bp-a$VgYcKh> zFeDy*xEMk%%+Mn>PCIQgJ49;lj_7o~McYm!eIB7AL2fme=UEOLixK4@&urUyXsx+Y z(_TM1Ive+K5D7VEa#`?S{oVe6eWqI~@kk&MF7Eec>udn7Wq1vSV5g_27({E_&{O)R z{~%QBecy8<224c2=WYZrY=f{t;sxJ9UEojP4*ae@|LYmUAx4g>6OJAMPbm~BczJP6 z1M50KykS_|B+ax#yi^1+JK{hCtdAO+mG*m-@xtE=eucxok|m)1fs3ZUJc%+E-L;7F z37(Hxg1%JImSd0Us{!c{_p7j!B-_MrWNkIE1+|TdY?9o3E;2P%NPnZ2b$h2xL3Qj1 zZVh@>9YL7&awv}mWK+v+k~Qu`M4fX?4IhhM#W{QE-Dw76W^NR`@R<@D3r{pBU#J}g z+cd?PG2}w)`g&9~`QHzmNqGE$kAZXpO$?22Sc43s zs|NMR4sTHV6FjTCfjS{KPhwTuyIZLrBH(UVz@W_zhqgv+~h*PG?2 zJ~sYA{h>A!LeAF)Z%B{Qu(ar%A^G1mGvJ1}Ikue-(lj(lr_tK7$^5KICB$npNG}&P z5#8SRpt13Ce*eq(S+lH~g`Z!Hi4z`E{_(}M1&7({YBWt=Q)tBr)I;8R-E}gCmz@NmR32)w&LDvg%@2hX30Gb9#$N%E z8eq83np?V}*vGj71aA`r*WW$;c^AFB-3gVE0Nk0c=V7Gh!GA|fTbm+f{L?hl2~vL6p|vVs8iI z8kf+1nTF1>x-EnCI3GT68%>-v+tNr%s%q8v`5XhY09_WlXkGT$OEWA~9b>Or0O! z1ein3P?>r@y89<@Ebd&3EKs4c%E3ozC266q53+Kj30Dq%P1;rbF{?#-x`md#))iB+ zcJ63}OU!@yI&>~P>T`3Nw9cnB~pFpuhmshY7kz=l``$c%f8% zgf8LsgEm0^srm@K)^8$XH^74$t`vSy-4P8;f?y6aFeq@v3I_)Vln;=nc@AV-YqtJR z-vb3J8(b*1-sc(YA5{qA*ldkoq!b4AuY=Z$2d;d49MyI3eo&v%s0nZ3(Yp8ZftBja)h2ch#->xeqyx*6k8tVAeC)t-VQwI{$IVWTW0i7e%O_2CcC9}N^8 z*pO!8DYHQs`^3ZyOz%IN_u<;BMX}7j*f0h%Rale1qQfxI4XumB31-XsNsA0$R^?5u z^#43Vj}ni-$>361U^`dti&w+O`Tn8Pu?Ri;OM{B0DDu@LJJ+YWmYjSe`$5iUWJ}}B zt6qllCJvEDle6rAdUu-bbF0yv;rHhxB-z>D>9=-A-cK34p4wKTbFpvyMW#pNU}h86 zz5bGcSzi9DpW*lbif}Ir36kMJaBy6<1j{CQmF^Ya6@}QKk)0C*xvRer&2n{+u%|<&o6|!KJ@sD${@qS$0N*?Qt->&PaSl=+547x6jNUwlmf}|T37810}KuH z$1OP{X4ZZaPza5#ZoEKKYPwHINXTuF-VLnp$9APXNe?FAq!NEIrB$G~%QY;HuDYrr zCL>3X+x^@0e(wvYXe*`ZeJ7I7LXqNVK09i|6^R)a9%>X7jj06hPeP%BSV$6$X>aVR z<;~k0|7spRxTs2Y62U)q-+_NGfXb{uLtk1-;L8+>uqo9w+8b-_i2_wy{R|$|?QABn z%pWNf5JZ^b;IpccD$qe%8G}X8=w&Nmxaa%rbuz2Tj%bQk%o?=SkuJ7&*FMO74kEB% zh&?!_&Y4)>_no{hgA;gjP4p?R&U#FP)V7dcTpYD)#kI;;s~|XOgq`0RhF6UsOEZ^` z@26{9&Z?j8tV5J=og@wd-7m3V2@aql2AsU%>$rX~6M|xQRO9KZR2IS&9aYp~Vn8{m zOE^ftcf;p(00&PPQngvK-bxhlHbR4pj9`DT8H*BBY6_PtOVsA4iWf*NVyjrtKR`Rk zCr!R+Ufp}lbzUu<{~H&XSlKJ&U7^VOWEk%_Nv2RF`TdlhPeOr#k$-^3RSr!Qjkbt^ zhPI05#=uJzwO=@5u@uH|=!KLSo7423oA-`E&;81|?zz*`f|NAAe>f__)#b#hs^!ro zpJi27wk7|B*V_EA)?Ko6sVAH#w$B&J6BHhG&_LGw)>VQe6)?u3!ELD2pv!+SYx zl5i!N7WrL|8kASV8rZf^f=}{94?ow~cdu!Bei{<4F+(v>U`YDaIk6+0*aAuPg+0zj zD-&5#m|@K2rD}T@_Vx3o;H0_RL(KE34{MWkyi#7M4UVL+_(vqNV9Qfx>{QzLz(U%g za{nXu!m>}wm~7mz%P1@t>pb2#C=G@Alcexo=$_LQWGN%|_6A`TGPuN5x%k+{W%lc% z4Vir2iMo~nYVksd0S4~1)hM!=8;L{j6p>!f6Em4)3A({(#-%N_XNB!CrfhO|AH)U{ zN#Vry(UOI;76z(7;KllK=l?$3z8y+K3Q(b1YDBXcmHFN`$*!@f%GdvGG!-)(ySO;v zRhv>8mux6*Y%yB^7bS7YO<^LUn=t~}MDaYfXxGzZq_pBtDz33qEPR+;iFD}CeZzp7 zr^l2wmLB1fHaRz^z%Gv~yB+ywBwY5G73YP+CYqxKS-jvz>~W)OkHYwGER611L}_~j z4a-!+MWpj<-uP8_RG??s_=m0-4i9g2S8!$aHhs=B;sk*pqA*A-(w1+(I+!3NcdeTi zkeeJuvYF_^qt#ax-(zA*=oU5%f4-%xq}cv`e_~|p8DEyhsLl5^UE=BXiT&*8TMd(CshcAil_Q_K%qL$bGVR#<1=TK#Emd<}ptbi3b z?RgT6S246OruMlRJR$!_xP*V;n$1aIjAQz)iH9(J@#ka_iK(94kUxI!6PkW z6UMsnmdq^VTJ^2*xg?g1PxQ>|OV*jM{c<93b+{IjPuFT7TC9&oMQXE_r$NKMiyVyD zWGQ{f>-s_m7w#~ChEkbEUlW&Xo*LW#G2!#1Y(T?=;NahVH-f=0fB(GX*guHer;9IE z82O^8ia_fxwM@BMx zYDWw7Jdh0NMh{p0RhdK>8t#KF7oU~_5+PWBC-jWhd)>yzCmOEj4$=rR@?u9EpW1d# z-5K+{qpZKuYH=IucsZj=wk(@IO}lY$&MB%UWqDL@t9ze6xADBv?pJ-Fu3a>@TT2m? zZ&@+z>X!S`Am2oG{_jW3pPQFrAK5WU3AkLFMSMkDcECZsOE;yz--OK+TW3DjI99dQ z^@?G+`Ox%_J9ys4i3P=X`#P_vZG=@R@@XjJD0*4M-Sa*vB&jN)aiaW{`o9-o=H!wj z?h{R^VQGso9-P#qk+t(F><@aOedK^qVR(NUJku`&XmP}-uC(z6sBQw~#UuxG%_}>% zU$Tu2t>P(=(57p5?Is=5SlKm_Uez&RP|zu*)_Z&VO|pds{d_QzN8JWarIa-(Ys1L9 z+w<12ND85rc_RnY;L=!w$*&8K>0XH`;+le9uh=ubw|JELK`{F-cnR}$iJ1}2lOTtw z>E1%NG6P4~!^ZAI;lc#st#J~lSE*R&_Nl1Fv^F?#vMR~g*b7aT%wdv~_2dh4@R0tk zZ+?75o^U0+`g^@%XYGOLZ&=JQ=;#jKkNa)fKW3Xh3=LYga6ML0vwX;!Je`!y68aL* zSB+6cQ|GG3IaAXkz$<8{uQcuF;|{@^GL`fx?SCxFIZGX9x8z4#0Y?~%JLQ@##cXSbll;Vnt>W)?hV~$s_ zM<@B?4n@-!(}RXhW0B!fEnvdy)Hb!p32j~q6rni`9@tVxz46>UkhhzuYRTJXkR#xa zTp`ZgM_jauw&IxBu)xUkr$An_<6p~Lv)JfhZ7$9=b+XgpTN8l`tW=;)E=#0q%#bBB zFI`Sz+_86Oa-$bPEh&r_uG!J|;K<$)iA8TEmBLwHM%kWHG=!!4YW=;zI@GXoSvSNG z?*b2>!0T93oDH|plSoQZ^pS%LWj_yc;k9nrc+)-Yxucuzh7B?HKfB{ zyV)n_ySXqhxF2(?VAsO*2NswxNLER1d?eA-*|W>WHBx z_6ZDXdwcl1>w1622TT1l$BSh54I0u=a(@;A9$qR|)b$I_(5#no zsMESSBzCXovVD?kXN>x#Lw}&=eQ7<7{;a9Bn#)A}``?m?)mk&g`mN{YOb%Hcq6+oE z&_Hc>w>abLIE%?krOYTQ8=QvjrM@sFY_$W)dj0F;qrz-HT!YC+RLSP(m+jg< zGfk-Y+I)_YktoH*1#!9ktdnxEGS>69`lgt5_eD}so>;$#tRkMVkAE6)w#aYyHH%eASQI60(SRr{Kh zXL{UGWMouWRnDK@TQ^V0k@sksk}O&!Qxkc`-nK>jep0r*v&DGb7G7~<(0lF$&~Yje zx0vG$n)mH}{WhJH3*l1!xy^!G+b<^DuqyQ~#y(X(@_8QY*V z+vb?8|3*7*y?o&)Eo&@ADG#9#Hr5oTP2;MTpi&wBOFu;R=dg`^7T;NW(7?g)O$zot z1LLS7qijQMYz+{Y!%OGR7Mg#|9uvygtch7# z!$u|MHu-n`nLHO!ndxJ3_Wvd}^I=1!AA{ALfK(;OyCm$F8a!XA9$!Qu;%KB8d6Hz8 zfcK9tZHu3Tb8&edyCpvPtI;S9VQXrv^zFU#zJTBAkPYXl!ak@N*{bJGe*br&&f}zq z9?n5^^pUQ5V|#t+W%o`332MD~lT!XchpT~qtZ{F*NPJ7`XYHZ}4*j)*X8Xgo8I?f^ z&3%_)Evk%5WMc%5&y0{D2F3E&KGt-KQfyf~YYZ`UR?M`;FubD7fig#)vFKbjr2##i zt*w46#9Mopqs4*gpJd^&v})8WV@M+hBb6;Fr^Z2(EwmD(KfjT(Dfx3zL>nQguHRym zXy{lgF<_&yEi?~CuPm2dTQ9Ak1VoQ5Mvn!&6BN}A|1@Ekgy_VS*1lKcD ztTL2me7-!yz7K!7Z1vJq+I{lo?@%29Syxn-_d zUtynpVEzEt>x|qP3XG&0f9)hw8|nf`4SSN02s zm{GZ2#yJi*4Mx{+5S z2pLxy#(@jUX(vS6IVFhEwfr=Ibn5OkYL#qJ7mCqdS}xX{XtajRX>W5(_IT`D7KU3~ z(&Bja8}~y$1$mJZJ|iZ503Cgxkj%tYtP>V>II2`QhI=NTTe4h-Jb{=b{9P4xJXstr zW8QGCB-+S`BTlDMU>R+z5;kIft?FmDF2;D3>=Pod1%O zhazL@I_v#ckH};&aD~R%%AzpsAK@)WDDq-MAAAcj6&Ou$X|-_D!}auv<`3fk%IsSn zl-B#_@G#WOnmfY{Q4GcNAvK27&RHc4&_-iyxW25ol!X`-$k?n558c32sfEy>?Am_N z;QoqoWkb2TVBDvq@tJUv>!W<0Rzbs5-lBFJCUp!Jbz5xDO&P8 z9%j8571d98T2muu&`uJf}uCH6@ zy6CK&YgD$hm5ep0ZZ8>S4gR>5hDVY~6beNQh!d(Rg5aigCZCr%O`pckX?(6x8{98X z@v;QLsfC#3SWEo)%a>ujp%jGJjKM;m@Tg&gLiuaWUD`E-`u_gLvtBb=_B*f_Mpc5; zDHL*P6)2R&lhCNrHF{V#D#hJd5Oz!zQz`jV^q-2*-7>61aa@XHFcy$X^XQ@)-XfGq zeu}qy3}p$U)qu;0;?UhCrzQ=ih@(1v8y$xxMS<}K?NaWYbi6{)Cl1vu!?-ENnZQfg zzv?MMasN~UwB+)V3CZaz^sf;pF=i%9HRx_5h3p$YNxhSTBb-*S+h1f4%nPwGriqIF zV^xW+8bRS5xV2D881^Pa`~$I3y>7KC%=;(E?Fc~j;JM@F^L>TmctdU*})}0 zmKbIvRI)-P_fbZt|NM14#kY5_onSF#DZ`cHX~;q;RYZOyseYIt!3flLKjwB?A;YHI z4r62Ib#W{^MH259&Pp}4H^`n6#;#}$+Id-#j7I|;a$V+MGzn}SCj#q=$_R!sk#0lb<7+H%ejDHbN2@A`{rPA!fOkInRyply@ zUQmC!?g!ny0&8DL!&t+3aw7s2Rr+Zxo?=4msrv$37&Ee!?*1)Y?= zxw5tPL90@GtE$>l5xn>gBRR>$xX_;vb|G8Dr#cApZ7jO6{)aDdBfBz*5nGXb?rJ21 zi1wK1?k|fCSafOQ!r}8uHE^@i%2<(9^H8vF>VmF$VjExZu7tY^?Y6OWpm5P z{q?&XSsB&5U;C(UgFeWWszg*)T2Grdk;G{%mo_ZovZz++|3%)9;#f3H^KKdZ7Pi33 z3#n6~5+jjD3^rG)imID3199-l<&44=loddcYO>Dj0JlAL*`E)S9ftcvgTyfB3!>okU$`>{So_n3zIsVx4${*l34cD z?RZ*W3Kq=wcz;aE((vA&77^}7SW;}PCPBKd92SMq{7J%bE9Nvb z^$Joa3h)u7ct)SXdqY1&OK!aQin?)6i5{#=q=>oRA@FFE^UYo=|AkZ>i&K^)1Pm=n z;59$n)Eas6-d~+;97vG8Inr3 zY_hTo2sg(T=#}d)3z*|6^4Kwkb0n(93`oRLe!H|Aq5SEFVPL##JuAhRGHE|t&I9|y zFn2$-KC+f=s0f~!t&Wg*g0OaKf1`t`DL*JqT&28#fw6j%5?v9@ibyYALWWNjQQ6|* zrEuXUBg*}4KKkXB%{yQGijvz3WWIYTzaplw?H{-h0%t_QX%Qudb%X1zftkUyqH!z*qhE{ClZw zKtP*4xTGKYcFqSE@Ez-V8+g>Wf!R2PkO&xkK~=qAn|AbPn>JX@WaejTm!qXi^!XuT z7|+4i6a<4*DYRtf==3E_3Uo2w%%W^6q_r8>;YiBxyfNbjazFFLSE806lvk6g5K4hY z&~Lxf#0G3z;Y3ss3~^PJ<0!FY@tK6$gkfS6@4W=KZq2o;87;b45#tj zW+KGJRQ|m2h5@SchmAfTAs2!C77mH#_Jq3uxOfV*!IuW8`3H3L(j#2WB1YC(bz!V( zYU;75rS8FFV?5O}5(%&o6&VDr>pVYy(M1f(oh>L+F9@jRSCwKSa{GJ7=&qHhFvT`5 zeF*AHjzc%D&*bm<)^~_mY(jERRMn;$Px5W=Yiyw0n!O}0HaZ?U35-L3@1&DbhkW9I zv7?(qxOi+}YjnUy2$vlGvJE=*s}%+V94s(kBFS5IwA)OLD;HUoQHYrd$5et$VfPPQx@6)Y4{N-!|55w;D{cli}#&`24 zAjL}-Q*0gBOANqs0!=+sf9;9@0oj!93rd0K+X+WtM0x_DsWXRry_??mAU7!BXQBxu zRQ&-Yo4IXkfXZ1HA-+QeK0nQ5w+W9`5rV;#n4B@wHZa|U=4PX#<0p2&N&N-5oVDl2 zwJ%Oin1l8=;I)65(j{SOY3X?yp=S)t#F^l+K(t(YfB#?5@pMCMU~rHdEGaA(-nVlt z-9hH*>IAk1CvQ3eO%$py zrIdDE+86j^rX^t)RY+l1>OrG+*svlZWkh7PQk5#}DAJ;Ka$u?ox`^WUv&nB|i^r%E zwTt^35-%UW`-*o-p$7VXQvT?qnx`_VM31@9@dY20Pmm{IkXvPC=f_Xfdb!{)o^g3p zFZL%dB3O`{xY*Xm_@N`#?gP zgqhBtQj*O#x-Xt!GhtfLJ-&ZNFeneKQ^U$uv+Acu0$o>Bw}#pCYi{_ zEgL%ps)UHw-j;ISXSTME2KB?ey`++^KwhdsNnsjgH@nvCY5loW=7#rvXSbTe?J$S< zd-e5hWpn97&CKHAw1)1^blOa$8k>w7B7xW8awfl9aGSC;-{V$8WitnEPFity=l4bS z68k%%EcXoH3hG+?j*wr$9!m`S06bF|(274$`Yk%|?0uW!b4&U9Cc?H0+%Leoo&?e^ z-k0h=Ni^Z$Ugo=6Ffwk?B=Wv7z<&S!QO>!;Op^&tpq6L* z_%UebF@oS+pCuRI+@PcVA1u)Ajbr}{Xoh@t<{MFq&`^3Vf5Ax$s~LBLv?CbcY059P2>;^vOQ558!43liBeIdkYkZHQ{ya z_%J&0fRt>~RoDX}Bp{Y+f3_tBUG|{G67dx4F z^(_!_Weq0@NVZ~W5cjNI!U_^yogxkAKFzDTSmltFn1;stTGq_8xw;S``%xG>+!B;i zk*i?Qe>Obn=I?Wm=~y96P)2w_m6c4T8LE%0E-S2u#P)FsMHbS*YyOcCv7F;N8~*F= zbRetcH*&WRhr5#d%WTS7yHYzl$~{4Do^rPe0}FAsev_f5X6Cn5t+NH(V4bHcpEOhuu}Mb0f><_Qf7_mu3p4~kvO#P(-_9=?A>ss zAgJMi#BHO|HU?@Vv4unj_y?k8pVTn*lZHHS4U=mjwXr_h7sS$<618&4ojIN$@gw# zC{|T=L+&lN>@db3hMGJn5;DJhdJ(-#bvykY2+1=XV$dskdis<%XTs|pyvRLVH{Cb< zvdVMw^S4l|AxMy;!H4 zag%!JOCBJ4(SNX1hjMosLujS?>?6y|p>a#ld-P5-85apoGQN-bp_duTSG5Nm%YVE* z=e!SlIZw1;_ofch8-xlHxF>(CZ9VY81G@E^_~r#PQv&vAP=>2Isw9Y<^PjlABfk0e z2HKd@bM15;)Qvz2XjEL$A{-f%Qs^=>6mIrWe6nC*7Z!#9UE}i0=>oowsL!Pr-}1M- zHcJmaXiq`tYql;fDY-pM=^2IQ%_*eZhac~49_42e0k9S7p9C@Yw+%tWoz7+yF!5!% z=$joVc_-x3`o>6XxJf}X&du_XcKdy9%`x&b(sx$Xvr>WnX(M?^TZU43f(%i})z=m5BXiAAiq_6GBW$vl}+{tWtSZyMCy0l{T|;x`loa_$9-S-b-muN*XwzVlmaER zBy^d-y(7Ws{~~O~A`7+QtysC`-*G3Lm%D05uavv|{^Jn}7r|kqrfvjwVz&i`qd&KO z_H;VautHi~jW{$WMLBFrHYy=Pkn04OqR^q3sJv2LkR8R*ZWb*O@? zq1I_*PFcng@kl0V@5iQ6U$|SJ=nU8llH{?I$6z9+Pd!}E_(OjiDiC_~TKqU|>B@r& z3@HH53*^Cm6jB6jafJ`XZyeQjWvX#OnMS$as}!In_%1~|27UzXi=b3D6w6)sdOi#; z2RW!x1Q50S!It6!XgCNh)LmQt{c-t_=lKtwyW7iMPtJPxfhCW}{A$NA0PMKqYj$7P z)ci1f{?pI|)Hs67`!VFah1P7arCRz4Ha19nFOb`V9C}cVt#i$P1p4~_9gj*6+K6N( zCPq+x_Fqqg+K2;pbYHC%0egK{7Hh}I&vaWxql{mN(efj*XP=e+GXXSWS?Fa!|DKF^WAD3V_TfTvQEJLYoVAZI7ke%pDJ=(Zw3{`~O9 zbNBx~(qDRR=K1~DeEw&%ymAP{>VO*@TGc_qlltWfIQh18UAY2FwH|-R#@{38gG~b zDave|FVo6uaFLIK#x^NEFdhDZ3S4Pa3YX#-Nvtj*Cm}eBqeNSSoJ!Gt<1BVz+{CR+ z1?4Mz?6$-`H5w&)@0ULJ4B2^Hg}~!@H&onz$Jn{0xtQU=F>pmgG0)OaL88)@1ezN# zgf1*K_P0a%h_fC8TQz%sn8EXqJmjMc#9muOX#Yhofk!$A-mRb9l^pkEjci?9@Rxll z5hcrR)?d8{^%di+b=V0x7CwqAW=$F`b(7%1C1EeRlfw+{+DXIMgPKUc-wKMgj}aEh z{GS&fBkFog!`BGsezVSkBfuvEt7GkdLoxCyV6XrGmFHlE4Bi|2Ic$Exk^KBBm?@7u z%8}jXg~Z{6UK+xn>`OBvqk!kmnliTMn%D6IliW7c^0tVSc%PmRwZ>d|#sj$06bdoc@8Ke1 z5G9I^F?|(kZ~fxIqnspu9a1Gq%M~)_kpu)~&&kuE)-Q6cmY9JL^L6*#g?!T7vzid7 z1ZJd!Vob{IZ=(9FC?|7}7n8=k;Rr{?lSs&{gd<3CK_#SXXbSE7Y4+&`P6QA&0KMab}! z?h~V2^TJ01*kYW*T?-16S%Y15O@j%a#K9dxJGlqx3PnrUsR;WdR{O%GK0O=$UXGk% z%-Cap%YpS}|6I`gVl92AhCb~h?NKvNI_?kd=lZO!kpJ{3#|8x z6p3XgFxJmcXu5HNa0^=s@hqCDX;q>P!Z)Si~Nh7ln`LSGN*0 zwWjnRxx~}^h(rpn=V)SzMPK^7hpULGN5IPy)3v7!?Hs`V$ndB#)G=py?(t+5mC^8f zlIxF4TMA#YAmo)-V7+zi->Ga{>Kd7J%Uw!j4|(mJ_qu{9;tI!&YdL#a4OHxRPtj{y z?_VQYca^?rK$j)wYQpDvo_!hQzSPvvXXBBL!1Z>o77-wA2@T9x3d*Ouji-o9h^? zPzE1+h*b`UULI|zW93#oB0Z!OU5<;9fX(Q&i*gf96{ZIYJ~Dfv^_p%z|9io~8Jb#H zZ&3NY5ZEzrYuT`f#-8YLLb;Dz;f#t5WHvO`YfWTdWjR7)>&Pk9Nd`$Z(P}R;eb%`eB6{Ew|ne#vi{( z>t9dooNoEt*!U5!m;d401-CHKM=))kA^$aF+h=d*{vqV!Qiz!sjqH&J$o>(>hB2U1 zwQUufM3S(lkn2KN}v&t47I3h(=_<8`nrVbU9BrXQfTw z(~cBqihnN{;MdM2C4xojp%qXu_!zkD?yQkhldzr=Eb}7`0Zx*&^`dw^mVJ^|p3vQt zo>~#Z&2BS^A2-j;@j^?KMcE+5HuAxy;lNEPn}z^&&i;)a-!S&~WYnJ()trkGDP7|j z$EQ+wH40WK%Y=P%R&Ky5Ii{TaJP61;#d5{GZ;00mrqIz1kJJZNkgr|;FP#^GJ7SeD zn(#(iHbO>_fG(DuE0i|3TUFaT0_AaWs*fAMHF0o8g`kXrWvhRSLv$SUTwF+j<7%e7 zc~4&-!B@{;aU37md|p>qn~uUS6n}FkS&!z+k{l}W)m&QU&m}Y6yz}u*XFIBBzF^)- zXzSGDbIMC|FA_U$CD*4BnhmiB-hBG1^G!iauqYj7w2iP%_1X=&n)S&9B^_N5RCK6B zF!$|!>4+)2x`H*WcTLk4Wc^lU4x~hc(APeHu{#iv&EP_vBMBMRl4LfzH_RTZaHE&L+5Mfw>mFpf7c8#L#wCX@5_Rs87kp0 z?JqShhk4@_G8htVyyyY+#&OZapFe$|SSy{4fs5JZt)EphxehLV-e+G_R2g5@F?aZBXZmdBk+D|)J!Ri0+ zw}2AIA<+2sPb#-HY6tsJ8(-g3d2d;>C(D1g0)phvR-%KJ;rhJ~bb;A6>P1=ZUD(;B zV2k1Qt0$`guvYFE+sOQb=D0WnhcV=Q?t>#Z=y3TM?Woa2 zj8Pn2VuNauP>XLU`wLVWtqy7`f>#ZN&rU>Ys!Ye9w2!GI##=1<(gY(0Q!1+`9;s?e zRv;o%Y;5P%pm^t1Z}TMzqyFC`g?l!AD*RxL1V?2pF*=PjGzE)=ZOQ0`9VqkX%eh4s zS3(@0d2{}avp_t_bz1$kjqT%;JQBF0y11KF8!I0lT7cJ;nE znv3WzDe40)C2t`xQS*@Me&&Vi!-2}AS)o^`y=)U?8~SF@QEi?nc#9Lh%^%v1sS^al zP*7!OSlk#4Dy}*?dK(O?Opku$Ju)-<1||a?CcS}xDm(m>4vbA<_z<;V8WxCLY}NTmYRG=Huxx4orE3Gl!uuTC%?G>UONkJeVlz;k7vWq_&3>HZ>A z-u3xEFTjH7FoOsNh9^_UGSG{Gu03dG185dI(|ohDvu{DG7vrs4fQJP2Oap}s%=7L( zW@hLYhUR`9X30t*zMRAT>T1tEVEFM8qC&6r^XRVGnN(cw+JoQ&338}h9pe1}jUiXc zXXnRH(9Z>hs;$cldQq15r>q^MFe=&--Uo~7EoUa5**4HICwEocLGZC zz)%{zpATgBEpoW?G@~JaAkgdABs#Hu-}mtQ-h!(%X}{OSbA28Wis9 z*-UY{eLdvN6jF}~zZR1MSHuAKN?c(TZ)JkQdl6AMEJlaueoQ$7_b(GxB@J!bMD{2v z>h%Tjngi-{R&7wI07FIdcVg7tRxlHSDm>g;K6w%egi6W0+PpJ;ls#FkYIn?w#f?AI zlbYP`Ig57tjeC78-h(+BIa_x_7AwSlf>$icq*jii)@Ja0(j=+puK-KBYw?U+dqwNE zGjAMHFlyKk9tOV&FNP!DlPR@#_mj&Y?sCONHUB5Vw;%j6B1cM&C9A~|d_*^@DuKi1+Gb=%L^h1txbmDwr_v6fQ=60)baBVpxn-j&Cv&Ip8_8R zDN$m~S1=%=S(`l7Koow>h?+F#<)@G0mDm-@t1A2-YF1zpMhF8#MP>aN0o1DW5jdM4 z#f=^GKyCss13X`tgK&ScJ2jOumw!G^N$qvKQp%5jh*LbWgJCX?eQ=x zW%;URmTDFjH`T6AmKkkk??$EQ50%z>y`WfzAq<%k4#!Dni08PG#u0UILvr8#z$dHh zAo-_F7ZK4-=dabT{`-s02UU1pHUG`#pXHtfna%}~T!XS-7F@rlUj3ov;{rnr2rDh~ zc{*UrTWaK${HxZQUr;|)rGC}41m-n}5)FydZs1<|48dH*1Pd2HX>*=87N8U1s{dX=0IBUla^uVn@nbQ_OvZuJ^6FQ z_BRy-9fP{+6K}8urU38>*(2v)Ezd9SYs&uAgTMk1lK@Op-%qHrb)@0V2j_v($%Q6o zG$sPHqdsZf=FYflJ_>0fpq#ZYitOKt+J1g!> zmb*FFtampQ2`QD}!_+?nVZwaXaM%QOq1e0dbat@_2AoK*jLJQl4g4=Z_?+$@DXyEi zFza9nv`4b<_YI5-ae94Ye^D&>AZ|N{U5xu9(F8{c!dav2OZ#TE$(oYV&PaV}aIbnx zF|R;rsfd%I?nm!=@gq`9TxI=RN=Giqq7OL^x6Qtdyj(2J&F-$iOfy)8tjH)nZO4bv zBGigCg^bghjo*$BG~u(k&lVWP%x4lC#V*y z7A<*kE2=Mw_p+JsLv|SP!+a+dk#NemO5TcLVn@*-h6Q8l4(rk_7`D4jL63NqGe2gU zAn)rl<^ci6yBP+50qdp*`c3BfElGYV3_K}fV-cG0>qmhOvg2&PJAIHLxC(wDpIxQF z1+_7*M8U#)bjP?c=7oTvh}_b&k_3P-RqWB2!M;0JyZPlH_&&J6PZX-pN){w`%8Mkvrt1<+a@Ibbse)!lU^)u{X$4JNy)*6W zucUbLys4ov4d}3>0PU3$v&R3%CDYofZ>)NW|9mz76KS0!Y3KeOl(h{2(fz4aLg0_I zR~w->SS`St&-Gu6y#|Scf16l5K+o_NGd_m*x-bDU9mS>9!|fLmLOG#h+0ic<{Xkb8 zqxItEF5al57V&K|qYSHb#apqIOzP_q_|)zp#iU_5#A(HFejXd#$EP{^?&&dE1;>^P zAH22`$cr8`_QW8lTV;(uki1z9K$I&gq(o(lgy2+&q8HxVxMJFsOGVLbee-b>lCqVR z1%hf}Nh9hHu{*@O%*MoU>Rr6Ia*>J1RUsWttkZi_evU||Kl%iGVgse#$j7&Go7lUh zqaWhR5m;rhurZZ!+S7dHz)!((6y-*1safkK@o=J)o;i>kJ2nn75iu0S!V2^d(upTk zaZkUSowQChE^sN&4CJHeP$?3HT74n7c@94eZo&9-8wjalan-Ga(1;jzT2zrxUqLs@n*q-plJS0ZIaV1|GpX};J;}H5^u&NUu#m8Ds26$lPX(s+ zUJ*v=;3xLOTE@;d3M*N%_wUa7t4*Z`cgef67Znw?)peV@EG{mySj+ScK;tlgz$Wbm z%g`z23>rrqgQicA=`G9k9D49g(s%C0wM}L)Fwr^@VBF+H2h|ovvp(IrBYhK=9jUPTD-U>xFHOAB;FMgP4y6KSrD5dc?}O;!1jPbDRjV4Za4_ zX{P)$|9oI6ZLD?#FQtyS0}oCNcP6`4x3p?qDE!uYg5-1}$5M|MTpGqg0{eFyxP|zx z%ZdN>TN0xYrmE)BX5ygUgsV8^MyBv{F!8}1F&IbXeE3N`Ev(f$>YG*G4Sa-w2KhC~ zmo8_I+=#Tr9r!A8f_ZV&V6hC2In3Rs?rx;KoH#ffA$~FQ8`4P1RNm{xT&NO-rwQX4 z<%2d^GCZ!fjZsqYfS01Ksbxe%HthH+&h1{jM6*u=>tYzRL{iEmg{KSf)wmMxAKv8R zKvaG6+YdYzEJpB#Yw93R{5L&dlwk_&M-!Yu-Ksc*#nTa6sm8cWRM+{18&&&Ijq~dY ze|SD6RedzKMG%74&Zpq$GAaqp3P5Iy!V5sea_+FC;1XOJFe&SaN#6AxZw8j108@1;q@nP1{Zl z^S!!pZXAM{7zXgt{agAUN^QfTMqH}|J^kLl7v^pD4V|lGZYxmDB;h+?tbpp1eWf}b zCOB%|t`Xn)Z-W{tA_tiBH#9xMo z>jjPI+W%f1ELS9UoG!#etU9Py;0rqGYBieeTf?g>!7oqzQXWWd6@>r)Lm3P(Ouv5x zg{Ygr{NWa`xVY3urON!S-gX$^9;dpEOrBr;3ii?IN{N)qa~VlRZ1;m#dKZ;zR5}ObFpks?U2?X!b}&lp?9<8*%iM-)5>Y zXCy8XZ?(5bpI|~fN%s~un&CQCybfQv!bye}eTb`;^91J$CrVRAPW>=ii^*L0AWA(- zhtYVm*fHKOoYY`E*9yHVwG;N3CgK(P%Ee5rD6l3W{vrG ziSmugDhTD+?Jn>1?2YQ~_Dv8fA~~8A`4Yj6`B^wi@B>Qe2XSQGDJuK-{cJCCSP#2R zaXLpI%5<)WVZxX~v}&hSMJ-mC!1?y*f1z0xrgMZa6vl@A&Rf&DLF2aJoq)?N8XI_H0&t(FQO)a-9RoA%MjDQ!s0 z{k;FZu(I;q6)}up)7D5_;*RYx=ZrChFWucI)~X%VEP$^4;SJmK-yXBCjXpqBxG&$+ zhw6K>xW%s^uwqe?RNM!0>4YZdIT8C&<|LUPsK(jw=IW-l6Z^}nWw2*t_8fpgz;kHY z3T!}s7Y?TIC|tiSKRn*bp@i!=(_(n-{IK}#px=E7u7p;ijSGQGsOk|Qk-N+X zvNidRL*K9|I_nh!lfHO2>u&Ppycu4w-V%jrNRODmrT0=@NJvZ)>zbeMO`!+I5)YT_@$6SO@(nwa!-%Qs_c)hhN5v=FQ zFSvBDT>_(etIklKr?50fP4jcVOs#(M&8~Clw)J8Z-;JQpM;Fq;XC)FscRT;YUuW=> zDNSD}8SVS->w0%ocHcjr(kjz=@6%YOleOPEEy8~=Hn88f{Y=oP-lp5ys54Nq+Q2z8 z_=%f!{~wpXucx*Tn`(m+zYb>}+;lne6nu-S)7byf!(c{}4+Wun_UeDgkv}&flb*3Nbk}slwVJ-`jJ3jKAyNj1^SN zrI4sV>27VXG!mjF_CnGVPM+!}u5Z6Uy1h)vCVphTlB?((=|@+AamZfX!42!>4WFhA zDiSr(xXJKh4WUp@pv@K5$E#7hncZ^FQ`4OVOXmmLnifCs=@vh(si2%T6&RkHQcmi=V5K9|l*ZC4xO_LiZxKU@ zC+FWdp%FR2@G=-X*Z@PsoPSygFY>oNy$<%rtd|{inQK4WKc(x0*U{HKcz^ZvleQ|$ z&s&+@8q^vY#DNJR%4(sr1e|2#@hPlfJUw{<*&cN}tC(nqPNMp&}r2~*4R1LA_+m?ClM?3Pl;>O7+jKqb z4vC|Mi+QEy>S<`Dr6;Q<%KAh|y^!msmOA07#3lBOGq`bB3o9qgW{a$ab2~-i z09JHEDXRW{IE99s60b5X-#K@Hpng099m3frCv3c7w5P}lernnMs#;-)mdeyi z7UuED8&jmNnd2j*GBtWHN+pVsl~I{U(TP^ys8A#9X9~aKw8p0g5jk5gdvs=V9%uzc ze77`hsH!zhw8{93m5m9}BYO8ZtmW+^ni6=_xI#-4j$nQW2fI&PCNY=7u7R#Gy)p}D zz!JwtW3opu$9)g>XD-QCojLFVWCZW6tk-@kx5_LV-%CEEC4jvY%1Do+#LLT2A^vcp zo_I_JgXgVk8yiK5W1bp_n=mGxS;+e1E-6RgQoY3k-b0J;}!E>*N}W0&$z4{u2jn6Vp?EB zP{|?j5c?QqO@y=x>DlO6A!<&ZBuGnI38IPeQlpu`XG7blbsZAo>nLLcIf)f1KR)TK zOXbOb#>$81SeAI7QC#8KBb}S~&V^ov$BHcpG&<~5_ix=2QlO1ki4iV{VDGW>E4M+= z*39oSBu?;&@aNVFqr(zdxnKmUIVC+SW`$?o$sK#l{YmKk{fNdVEp0SA-vBb>bU5Ba z{_vWiSpXL}?O%2?wo%FR3D^hR}0)Qq2IO-RN&G;OZz%IRyf zzbF)xwWSi`w=S1OX7KdzdI)R%LVd-LiI^Q{P-Lhq$lCJF4h+UMmri#|B^%?s#RN|D z!jrFCJ8r-fnIc5X;mSMduf-5K6r5?yg*5G6Nb|K1r25ZuDzmV2Ed6tI?`H|kwNH88 zTseld#EeV0=N0pQc_*z{8#T$-o}zI+^bDJhe-QId*HG*Vi*3$mpLqvoanaVknV1_p zDQRqv%41Kv=_pQ7U0-@Bg57Y@$(MMU5G{r8#8&Q-NYYFsO&m!`yjxIySq{gkh?Ubi zY181denB1i8QQyoW}n5ke=c@!Ja^j+czvDy!{z_H0H$reWfx!NueKkW&;I-ldg}o@ zHW}h9oSxZ{)`F(*)-TJfN~gWn@^W&cKmtpAcMLI!pZnbuoc$Qai>u>ch0pbF<|Z2= zEzO-w;X{C`zO))WUu90EH-oK~w&>ckD@iWU!a=9w5dCmy@#>(B>1?Qo3Cb{q;uYZ0Mlgoa&XG1S?1<&DaEt!Upi zI~f}cr_YTvGEViV6yhQ>l`=vy$7ifkj4-$4)TSs@qRPtQlK2@rozyOS0~MC~T&u7N z%YTtL={jMJU9=xgTl8PscI4)^-x}4Ueev>ZxcY)4T=R=pmYq$owwH?`F%IJ(|K<7 zq-|eZQ}QbKMNi7JL$H)!s^ z@enPnBpMY@F_Fnvh@ql-7lU5{HzvgT=;_>t(c~~kk>m$=6)f%-Hp1{37_%1-Wh-+m z@DxQ+oVRJz7rGyJcr~D1G+G{yeB&V1b_z7L2rsHsGY)uZfMG`#kgvF+#n#97Ez?EL z$Hy68xQI4jPd-(u&b;iK3c+bq&pFgTjG&|{jlB7>GH)feo?9YznuU^elZ7BL6-~ok z@AIMTu#iZXFZ?HVHEo=o^`&VxqN-8*-AtT;eGDaMMJmJgmJM0hWI6Zmn^q0hR61*s z*vi|p(kWzK?dIO8lSPxT#vw<62l^T`$_fvZ+Wpr+gH(M;7Nlu)0=kZqjk5Sh_&dsw5Eh9<}=mLo-tXPc8@& z1;n7&Mh#KGM(FwH*Ji`hpHAYg3q3$TkbY}dHnj?2k@WSCpaax;l5`Siv%k~z+w&Tf zdq~@qgyI$u85|aohkCyF>fg$~S3msr@1IMfItv`=^+CeIEpYwTYm@)LJAsNmb-x3Y z&ATT*fUx})y3E0c2Bj?U$}ZJ%w8(IW^&3#N3^0O(oUb?|@6!d?h_toR$(=d%S?W58 z1Qd~|&={%%j;T)M12F-SM`;Wi2~2DR8`?Y5#nmLhST zHc94IpMjX|yfgmYURI7(0VjYpvIW5Ry{^B11Wn$i07w1G{h>^#Iyc?+mq7O9H451i z%IClPpC<@MaVE=P0Iz7$sma%qb#Wg|IV{%u5+Tq2zxqZnCT$0Zk6wlke=ZNkj>qJ? z7R8&L%{xBbylbYOzqt`G3PvQ*%YpCt6)1-vjE4c+wIAmOb2p3MXT|(Y25Sg`2kFV9 z9$I`ia3jEs2Ko;FB;?1mOw>^-!98dQw^&QUkkeZs{oeGuuylvKDJIhpO=J8yCCUkIWuizW>JC*d zR};cd3)Hr09vH-$i6X`cPVSP)j^~KcrOT+kcaN8k@kvXTv>SsWd?uCQsee@}dTAp$ zw;vv5fQ^N0524j0{D$kVxzxx+lpjQ@MIFszZQ>coVk3gxZVe&ZZ@V{#5$X`v2h#H4 z`xuE!(v=L<=T^Q(Yb23`AqigZYoFm?Wgp3sZ@d`w*aLTMZs3nW=w5AmU0;&kmZ#qQ zuv0omIEqG7A`}$+CKyyT=_YOT`hr1#2YBLo%o^Fh3BGy?M89`nJu>^z_8h?1`hgrr ziKq+w<=F|uJumPmJ6;K=@C0ix`9*`ZYf`3jZSc=3Miv%O2RdpU7|85=8-NU5KzA_2 z(}JVl|NXQ4_vQVLZFwHv+u&N)cq#62`0hr7&#r-{{FV2@zWCktLtL<`F$3b)w9m)w zvR9)Z_t+G_a{y#X2w;B|{FjU82zu%RSFz`aaR1>a>*W3S7a2N}yB*$^dC(0aI4l88 zcCxYxD*69hflSu(o=b*~?#EgpE6fE;(yhT-W6kv}Xvb>q<)a`P0Q|mC;5sWE<%r6H%00+6+#M zN=SFs2&Ytv{YZ-ZC?p&3mhs%yNyD@l!;LwMOY6x)RmyT=3hv2J++wl~-^QwvZSlHK zOiTw*4`ij3Hc%_5thy>DG^ajH#pRM|&O(;lo)!#WY>SgpK_*OJu@WX~5pdnQqmmxQ zP-*99$tCrXX(MfdlFrC#U=r2#1;KSYZis{FoW7}{agjK$oM7JIrk-!qdmDjF^IL9cgVCXvT<+Sev%c5<@O@oJ*R*(%{AI0%dlpJUba zcUq^VFT+eGtm+N9_bUHffU3~HSEkt;&ze>$wz&`Fb5y_indJx`11I^Fv2rA^Oxy+C z+(V$s8*j%AnTl;}^eWAQghI3M@Nqe$}-ceE9}!<)95Ex!k!$lI-atuE|{m;yF4$pRF z|4MSZI4vtDXAO`OS5j43Ew?92pdVROL-Jdeb=G}1R%7RXI(O)k%MO?2AiffR5Re+a z__=EYp29$g?<*h}0(?Vh!n;=>wDE6_3-+$|zkYlrCA(t7dAl#B3|v<4Crcg}0fky$ zpX{6&JVc?`2(9uv5b{CAH$|_dd2_A{~>NtXlVp^55b6zSPAPiVj>qYbsQr{MOUuc`APO*E!Pz|pq~;rxz;>hXF*2pk(huif^|dk`?5fb}^5^Ekq~e=QZC<Mw(UkMsVWky#_+>zWQ)-GWD>*;$4`z{B*18(1u@s z9Cihu`p)kTh9A6HzWr?Fooc{}ee#MDXVVi|343(&rh*lc2))0<-M@;b-FKF$s@E$p#S-9RA?NpXlKB&9m?x%*Mm#{Nvv|iE3t)dTxV%A_BC?gX+ks4?)6nJZ$ zX6*Rn-otfSTK(ADmob#7YS`lUzfh#1<@lonje~W~eJI78Vz^P#chM#F{N*gee_X=U2diZ5nA2?>iu@nHj#q*#S={F3YYr-atloV>8|cFy4i8+4zUbrGqL zj?4a=*;G3Ms_RWnC(mR9Nk>jDN4(n-9?C>(it4)pe;JbM%@W2T^0;|E`)x=vInH!* z-$KrctPT_9#|{CiR4GN00aX<=#xh-0?}`yOKlP0=0}g7CE!S7XP4+lF^Qv<{Rpgg! zo#1e=tL=*HX`AD0=vlqd*Z7!|44DTxI@Numl%MN44EYoZE;^!$XSZ!mF1Timb9i0Y zUy!eImgc20DVs{trcye-*Ai_~DE^^$&ot0ARTxpH_k|DCm8A0DC`3(Da=hTJP%PoC z9;e)N`k_pE7At2t{JHa4_vxGA}$YsBx!^+`%=ZGH0 z{#5`mj1=LBsEb(f@F5!#l?HM2`MF+E-f$Yn@Db{$_InA{Pd{b5_H0eGYM4H}@5yeE zGC<14(R?SC3ZHD8eb6&3o?YhMB8E{^TtRjqZ?mMWSVb>JbO zS9H|Kfzv97V&cA^09cU87op*3sbk)F*1|i4ObLU$RjgF1?y{9w2hV^dPDBrb#>8EB z>U3>ViZSIuS}NL(!Od7iN-y`gudkMtkJ)p)k|*PNS3 z&u38YtJZ=jM~qKmdQ@d|&&mtZkxdq(S1T;heDK8a`5X3E8!T$1Yusf>NM zz<&ow@d}T_Dez&GQi`9z3d;MsL`+7#%NvAJo~^@cBFDTcnbHmYt34D~l)C3+)BQdz zk(x!7&Z2m<3=1L@TU6d4sCJ@wGdGDiCj6;lh3od`%fNdRp8n*?G*0*eOZR9s7D2O} zmW97qd$?4{)gzTcmdLJDkh>6-ft$9m)gv0WKQD*mB5>cT&xMh(f^L%h`KTtkzFQ3L znxymN%vw~F+C$gIG=K66k|vW27c+ZB>Co0pkkXLbQj6Yngx65x-_8cPvD!VIIl3DD zZOw=5%1YOK40O`z7K#Z)?=ac$r;5OIiEN(}?{ZcMKQf0+^t57MU!GViQxb3E#aOC9 zA~93RX}-+8Vk7%xym{+qduKDbekYe=xOJUtljsB0A#{DEJr{cR#vaNm3;kOSDaxWZK`AtFa9(s$aKV)u|y z#zZ=5alxS!rr5bpTj+Xn4ku$J$!O;KkYMfcyzJFj9=86=J3h||Dmai26S$DE6I7cV z`ZGK_*3QwiR2Wj2F)D3E>5IavJorOW{nz8vedeEr&Pg6KzHFmh)>VJ#vbe4gd{>EH zdZ6vEp=)4ZE|iF0`2aY*cZ~?QduR83{nYFZMlY`9(3m}g{j>WWoBPO7Fo8a6k(=!r zefyhx^LJ)&mP%UFacE7G+`ikP^;Bfi54 zYNAhOUm~or4i;~G*oYpLP;nlo?x!P(u(yx2t<_a3X^jO4aq<`u0+vth2;5}*8a;eo ziLzlUMGL=+>9CbX8g%lR3cv?wH=Wy42w#NZU{*`|3AyVV-)hgg&-Q`cnVv~Zo*ab{v2cG@<#4ooww9z z4!R0Wl!%fgr>*0yY!WUZ>f$=&YD%2lkK>zEva{kxzQrzUziLY5#UhW%UP?`c$)Fu6 zniv?JCY-n!Y|C8=+$n`aIM6i3#9$1E?@WcznW2+=v!wwyLg-#{o_$e*T^{bSi%bJK_N}@)W*%J?3S$ArD&n% z0}&~&o0P?UYuUi9yZI_GBDU;r_@8O76Q2CiPp9~u^2(-~!lI(coJ1i>?Ukq3Pq@pU zO_4T{9`}74-yyZ^DDWL`NHuPb;jsVyxx>-#+dca~RVj|6NVi;iv-9gTV=ld?+=nxy z)AuyW1s#jhsIX70Cj-iD7z#xi(M+RpPSY9Iyj0UDnMV)GorkdO{tvZh3G*yZgb>9x z`>==wC3v9nKCoeIM9cq%0TwL8-~?bDDClgNuv!?+x&{?*IM2Se9L~7S>^-jd4>WrG z?IUDTj-ZqPc1}o~tTL?qR#BF}RuE3Ufd0Hr(Tvj(Kx`kTCI{NIoOyyyk7HnNsRLf6 zd*b5FQ^+geVxtdfY5#f~L|LK31UNE4t~zK_4ha&o#+sm(3u;61OX)M_B>C;f1N&{fXCLzbEl#V+hhm6i$k>} zcym;UL+~SKn$-fnDhSkO0=9u-$0g*w*@PgcKo)!CED1DpEj5p`FMjtxFT-pO6kUgG z;Nf0S;Rpuk+(#eS{-l5k6v&o!^S1HH@)@E}fixq#{(XPx)4W-Qn78a&#_T?$?hn@U z%9an(?1|Q=xJJeGiD;@{I&H!*&7RnZ1u=JvG-Nx?^b!re|HPI9i1ftjF$Kce^21fN z+hPhrubgZL8rmz!8Jq)Kk~L|ZHu+feI;dZLJZGiz=8W$9tgHj% z5ybHR1<=dGkcPbbczFo$cY(426x2I!S8#!#FSg>q z9DKeCg-CiB?yWFi`wd*s7E`4fCV+Pfgfw89?uD`@;GP-+hPVfWp=^K8`yr(iGCYyo zZBK#vqabDOUxM1$8A!a{fKUn@K>Z<-H-_}==k6SZ_iJdF0$rA1@ZLMu^~VP)3xISm z&@4t^cGfyarnVvnm>T~KE}$9&9C_EwXS(E;YCV&DP_fax`#>Lwjy5NfI0pnEPU;qy0EZM-u-?0Ky z3rJ4}uRJOG72N1I{sN!$yPlpN&8thOqk!%AJ2v~vZvIOD@OY18J%V!Zm>i+z#KtG^usD^U zsD{XGTV;{CgxbW#pPX9JRREEKD)OjNv?VIh9@0`BSJPbx@kwMT>anhhGwY(zPAS1y zaE|^eMU)69{-_%AfMH*}>kTRByOB(m@qHS9iN4%{@7Y}oBwRmqnpcMoEf(S6*s{QD z?LNw(hu|;prn-f%KcB);RbN~auVN=l5O#Ln%5ff3dqLawxtyx2cSc2LAm61M~&)qnekwsUWF$n0Lgl-4g($;4Wc!|OFmcQ`pxaF7WDD_V|W z6sh%x#j#dz^F%%mxi?pI0q<&x*=&(sm`}=AFZU82Vb{t9jzq;))V?eSabp_wTy+t-Ej5`11PzG%z8JP*~}RXvfl2f1o8D=sO?5$W4XN za)lC9ALa-MBf|A=^27Xh_)|w^YylYmy64G;5qjCaZ3`U_fWonZv1&02$I}mUf`?VgURPG zkPVf!-Ju4mgEL9M#P%Irgl2sxJ|L$sSTis(TKfAl+<)*^8c5U(OiWhbIZ#nikwVTf?`X}eyzvJ69mp2qlPxIGSupoSJ8LwtSj0ylhIR zr~Ku(o+}Y?M2uc9+=puWXX{DnrNqGmIw^&ii_56eU75m~*2p;~Sf5hZrW%H*(~$Mm z)w+zMybXc?4{{>BmPQ9Pbl=qd$idd>DcHXJ(Pt#^0UmY4AnX`lUk(#5zX!7}^0L)w zZ(t{_$>+ErR_dt?=8WRyFy@(7MiUk+dTB4DtPD2fni-{TxW={iya+N8CR0z@U@4wO z8m4V15l#plOljVjVYG5tViqZR0~-k={nK?iDmYuSBe&iqwzr+@WlcVkdhHq;4;rbc zH%=gGv}X{m#iKnXx>86lCx)0XZam-X3lv*r^cIq z|2|(X^C;tA17SW^WlPUeW7pTU-{khyi*Tb}m zM+cQF98w^9o%`XNQLQS9qDF49j7X9U4j+Zvl~doFv=tNdQjjpk!*?SNhES5Wi z{u$tb7X8f{RFb`xc@K6cj-pJjjho^?+03MasKnC~UdW{Xua*x;n*aU!_VR|{5wwPZ zYx9ZwpS9k2C?N3P&)LUsWJ%X4;PijDgjcT9)AW}1(-`s@nz0dm(zC^ceRD5w;KW-;In_d8fJ+Iv!d&U;Vp7J?88tpGj${AJg#TOj&B1_DT1Kc50ixPai} z<^;$qAUOO8c*7lYIyG`Os;z^0AhtY%H8jPS4EV9JC|V05XP2k@)_;Eg0-ZV-TSjnJ z!z)=e&uD*jU{>1zDx1uCU+K{HcDr3c&lVus%77q6JNO)c;(8d=M$bZb zX(Fvr`(grRMHx4pZo^$vm!S}yAWmbVjXBj#32PKOxwtN&xUCk(t3s@}jr;obZ!Vhx z0Y{*gF>|)xC>)$9;F_g}Ye&$8RTz-mWf?_ev~*|SODWtq9=8n9vb0^0 z|03OhNdR}vIPJZZ5G5BZ0H^T8;p@cvl<97x*qiU7gzdso3rpzgTry`u7)XfUEkYEfbW#)PtfgrbL2&riGS8uxLy2mON^9VU!1F zH-dl^IspR^HFyWL$$?+~TX3mv|6fa20uAN&_kT3j5EB}boeZ)?A!Np?_t|P9l*gdB3;wc24KyoX#_5=04B;-p>kgd7*o|S0-NM zzzqB*KJIp6;$*fnJXuwMM}aw+<>sP3KHI0ry_e>YeJf^oWhHPLBOVaMil_@w|XzKTXAq$ek z&^%>mZ2TAw6KDx$lRx(fY!^>Q5$j`LtX$peyc<}`8+4_i6*&CCc7oZeFb zS&?`r4#lcg!@vae5nS8}BF7|c>)b}#pTH`FI#Otj*OUDd2H zpu;n0S+HJKRF}U@MEz8he)?CGtGu?Gm>DC{dNfg1* z-9#TNq02)noGP4>QR{{C=#Iy((&S@{nps9{B4j$)mGu2IZ=xBS#9 z)Wv7Hc=J=0JMP6dR%mKuaaz#ia<~LUdvjirYwCm8GMO+HPb*hzOOt2u8}r$kgt)FY z{DUWlsN^aOEh6aZ$T&MJMpm#qzwM03apQ{_7FpyroC>y7i&D zqH~n@zCl;BH?yft5VUA>aD)jn}^q#sR58q9U=9gOPBH@{2eVuAgKILK)^)5O%z9~;C{HYHYz1@F|L1)9k%eA1 zy@k>qR|192;gYZD(YQ9&D`%aA`?(9$r|gqEETO|O%$r4e-;PZ@)BgB3rpB7o%sLrZ z8rkXgLW*eB%*c=IYtMDf6A14T+r;Aq%k+uG+D}t#c?LaxFeG}3*>Lf$_(zglp5b#vyMi<}5{s#ZrnE;IiQ&XaYme@P2$O)e zGm+W396;ns6)hz{}hd4~%Xnm%V5CRs5aT$mtfs&GOV3R?I)>APFE>UZ z+T?P4K}_;JvHZE~{CvWHt?cJ-wVPIrP7Hf{itvgT-zt{w;u+T=IMwzgRPnu18d&f; zcqBvEn;9?p9xDvV`nq=b5pE3Us>Hy00b`xe4dybQBpE74BBSxgympJ*F*I%bfo|F&66CTG+ zbt%q6faqVVS#U#pe5D{F>?tStuA}goyeF>%P**l({-HGKTOZ zKl=M-fl1ih64^vAZVu+b)rL}ra7Jo5Ha2Zp7u6=OvtrwOo`LW&ep}T z1(^AK-Y%%Hchc8$uxw#^HiC^})?DE_T$*+$WXUw_wWMVXdlbLHer*-Qta(BeA&5&e zhE)HqIxx0>#;KhC(W9E$)>8zddegT=at00K+7oPj-3T!u#!J&ABRPNDh&yS!4tjk( zq6bsAi%Rol)!H`VPIx=JU8CAI3iC-PJsH_iwZQjHH4i*z{j#@G)i&kY!DTQPeu(6x zo)Kib%Vd8xE5n+4NtQGuN91dBkE)MwZRc-#n8u}Vr{~Q6#J~oZec-KWl7nZ~`}bU> zU1E%yDsAbwRaw!lbY4eX?H_g_mH4;eqJ2UBQ{OeGnxRNi=gguA(ZXR?2Txd{5?!6n z?h0ykapU)4jlyaq%PQI4!BE)8$cu}dYO#dhM>;zXk!Q~dR;X)M`NTSSFmkvJl}8?b zAZ{ZiczM(GSw-P{?!xZsxB=#~7kxh-sZMrt6Cg&hS8C67EjB#B@$wbl%jlTiUt(Dr zA-EzGtoOhB9r&ml41!mNmRt#{Hg^qPF>4;FU8wUekjWqJUz2L1iejxhb!17aU2#@S zMtX)aSNk%($OfWOuT6_6?>ip6y*&aG$YpNT+hfud8W<@Yc%nvtLXVDk@MI z6C8|a8r9Tg(D!I_qvxXK$Mol5b$sJLE3ZZ84R!=-%v`U%cDPhac}0(`s4+5cnh^c{ zELL8nlaqZ{N~37;uAk`2DVPuq+`d#{=?v#-hpH~f z==fi?Q+r;)>mcK*(Za!!_fn^FSdz{}${V>ieA+kOYNt?~D62Rx79UY7$)?HlC^1iP zu8%@VzJ0r}{(%@Hiua5N1EjQ8Qiwj{WsnnYXyqo|Zdh-^81A^33Y1g>G*v_cJp^gffzSMc)&|KPws_yd_;j5 zZ3s+wr*KweuetemqDlBX7$!43h5@Z>I~*BU3QfO*X62m$Ino^)gu(S(aJM9_0!G9@2c8WV!9 zE+xe}d@RhxZ1@<=Md;fZsK<%E%{3Y@pbt(qNk1LvPA-h_AnVxK*&~8i;}mEIC2Mx2h)2V;o>CiI zR1~Lo*cw?Iyp(Hr|C4q2@#`H zlyyq8XU0^M&~iQ3VQxVMu1XmWJ}og43#;-=+bE8#JkIGTK?#-JHlNxY@Fd!jn^(Z%h;u{O}_i_*zb)m3x7MU%ZQ0-d8`_ZQ+Z9owKUo?_|_HcEwz6en{@b zP1=gmLiw03ZwJ;9j~OKnZ&`X)@yQ6EfiHhJUQdMdUrmntyF3MmC>J7`5R(Qn@73V> zQ%JCj;D6AFU$rFvLg6Q{j*7$>5x$)pxP(V|K7tLsX1Y`Tgz2fl-bni73F)VMEdal4 zLo^9#E4KwIzh@yO=;7EkRL>2lWdJZ1|I8PtgB!w(dVXX(cO^GZxBGy1!#;4a80QQT zGA~d!1u}F1gx|C=WPpNMkj(-mxFBMyTo+yb zN$YY7Z@ENul)&rBneSU?l!-v!KB$y;Vc|CP$?xC^|lz8G&N ztFJprW9x4Cv9y=mp28nn?SHw?wD#5^lE7MW)9IwGEOq*I`NDBGlLuGhuf=?x!I)|< zci$tF8h=;87BSLu8#NvHJ}y|SZD34E#6}CGjY*l>FP>F;r}2t+6*F#o#gj3|z}H-N zRCn>`&VsPOF~-iAdxmG9Fx2JMWw;WBEHefNX?Ne`@9UN`c&^ZA;zMsH#zQ?VsU=jn zVS80yl|;a<7g)(In9`@4{xrMdPXC4NOCZKlKzsICEGMBt+?YZf+6=*n^eYbq$EzDW zGwX7HfB4r65u&Ve`8&_q61F6KZzJmnT^!dLIdxXdK88fUHdNCNnY?NMry~mvfDk!1 zDrISl-9}Pv(5cyqFJV)rLRKz>6L#I^dnm?;SSZ9&I`$4^az)Czs(Zb& zJW}ekw=AOzyZtg~G^34cy9|`n|KE zF;0r~`*@XoW8rxP!4xM9#OK4n5sy|jEZQ{eFdp^?i zyp<{SHsQ23Q~Elk;-D_=qpi%pGE3P2yg-$06l*WcKvDk{0g3o7G*K3;BeL#%qdklB zB6`lTbzgfBwD|)wiOmCH{yGKaC+koGHSRU&t^0slDQ%` zQZCZ$zL{zkeZ7--{|V{r!^mWP$vf+-mNgRfXTeTLdhTytI7r>@d|94r~G3DEaojQEHP85NXP zR`ifLcl!z<*dbL;)*REG7wyMVA>!^t-xMabz>nUM9F$59L-Kj#zTlVKu%kE)#JY^1#=&G%=q3kt?mWFuu zFAzF04?NQa5aK2#CjRO58iHtvb`&vzutuOBKXE343k)RUBQ}yh8onTy8@w}#NlD&N z-2s%0!j+qRgd$$k^)OOyZQLS zI59(~c(7Q3co~Bgx%BN=_+u6UkrA7HU0%M zoi;I)_#x#YGA3Nqgul3zGHh+&A>nbZgd}xC-RaS=I$qCoCOxpS%y$%%%pWTjPw73^ zp0gfSlU`krl1|68ZZ1|yKEV)?m*pqEnl7U+e&B{cO~0(?m6?5w#`BpAo-e_N1c#zG z_fFmh#8ZGY39Ue@)(jh<@UF7=e#H@aZmq_->qCPlAF#Qua9UEF{{ToYJlg>jB@5?| zE;l;^ncVqi8D{!i)u8H;>nME0b6f=#3&EsK)JKyMWY$Y=gP|abcsa%TzWXw~3J*LA z;3aF$zogFg`TD=dbgQape1o(x)u5mJq{;Hf{U|5x>qJXvM#dp?WfNFH-0W0Hnhl$s z_rhBNApa0&54)d3)k#A2fbhtr9XX+0*))I0$F6xsqY{pFHsIMw*$?S1`Z+LK*1cE6bj8K(51R@aMGZ1Vjpg1#7$I z##vC-%%9%dmJSYufI>v3BJ90oEfe1UcjLVcV>E{PoZN*AHiR{u{`GgOWdPF1wsR)7 zbGGWoj-0x=29Z=OfB&M+v6st;dRi^*yVWuPQ{wN+ny2(Gz4tB;iXFqpvU3{2QaivuDc2yH}4nXjK4(_o!kZ5ZoZTa%gC{pJUjj7czt zOe66HmC_D-}8KNSHvI#)uSLwlMfhQ5M8#=tewD>>A zOgGT1Xfs@pDv2>wRtPFNLN`)912ffTpDF>Db$E8#c=V;kby{+SKwSa>Eu zq%sXbQ7+?6U_s^ElSMXpBw4WmeHHWx9738e^u<6A1y}<)Lftm z{S_114Ik;^W*~|c`t#Fs?}Q_$asCG~MfAqtR&oJN81k2>3|!irg5k#%KHfjyR{u)< ztBr!E9tahGO@_h+SIeiXAk*mIi|r0OQl*pHj82Yqpuf;<&_3QA6ac1lG>mt2chiGa z?(L~t4zR9f!7MU`hFt)&=aH-oly2WAkJ|&^iHNpK$9PQw3I}+8!1lDZR95w`?*LGU uHKvqcq}KiUbgF~tAHf|}iG zHY}J!iKaxlmHY{iwteRc-zSlD`AzA-a zcxQt}&6YWG_r+bqNESjIjn`ud@eiTLpiJe_ZN#2~$N0}z@jp!z_k#u$9I{vc_M_^pQ8KnF^uximq`#s+0@XLFeQ=$xlL?Yhae#b$R}*Ih5(afDkMGw>$1ZV5 zEG?}Zt|%UJXB*ZcGe)uepyp+nWbano+=qM_NhxY+J3aLOD6{3@L+F)WBS2F1ZJe9m z(=}p+?6JyG8z1=>H+X$p&^<}gshkZc4iXRJgYB!PZ zH?jEMOVPBpwjN#2ChSiP{j7%kznh~$KEiF{Ll*C|B)TvHj-(2kZA=9ZZa=LBN#L5W zC8#)ep56T!=0R{8VV}rK^7qY_fW#qTE2Xj_g!~kUoKZ6pRIrG*Q^1w@hO>(|CLml+ z0TY&8{m75dZKm%%g9Fcu^S@bViT7I6)x$=ch8#*+`65voA9#$#Vq|s@^k4glBSZ)q zx=p)}KM^PC5A4%W;z-2e2RTmt-#M)aLgo`bhJNgL(}xi`7+@*&i#rp~m9!|(QK%Q6 zu?Rs2PAc$8=RaAw-evF zer+D4%%&ln!oe6upb>11{Shq}Y?RQI{~k@l;Ok$1(QNGSqCzJ47Ryj!9~Q-3#Ncmh zdwp<(w?(IW*0AA*Zl}H1lnkhZhu;a17xcB%WlaxIMKTN`a4?vc)H;79@q~O{|6R#~ zJ{n2o6ifY@Ks?nCm*LIJu#MBg>3LIoT_|RKl0ACDPFz&ta>NLN>ILl^eH7h|U~11g zC~Oq?Ccdgz9xPduO4{TCa&U~#HL{9U=}PUDBR}kkHP*CWV^6TgDCoS?OA*YJOf7Tp zKa@g@Hh@s$PAOOC+h{KLyGNM5lAdZ}@%;NPB!0CBiXtZ%zv)f(ks8mv>p$VYT8KW{ z)V>pMiGv*R)U|l=gq_JY1p`)cxKH`jgLU0$nTjPgg$&>Nv$MwZ)1iQ{8Vi1U8u0lt zviXU~t8a8Al`fn2knUraFDs4$D@0Hs6>%|iN1flAD{~n+i-#3r zXi@11BlUN!wFt;v$TVBv&7?7vFxa}+D6gXy?tgsMj{Ty%?gnZBiKF;5POTKt`q0}{s;W;&y^RnmLkh%XXa?~ zq{TBi8Gf>QXsKUx@tPSjT-S%nJt=Y3i_Rd0XAs-l?8e7*AD){W1Zp&-^Z<$3t5@T% z6AMqjzAnvosOYQFH#tZR z$8F@{z$S(^)RwUmx#E$p?H+6AzYHbT%zOGogf|x}UZK{A@Un`^1TN=F7{XjmwEi+m z`Rg}^nj=2p?R^__ZMUy@y*RN--o{{L`Y7s2h*8IIAUl`Sza0utj>J`q7$ihiWALOl z=WR5M_6<}HimLA#W`U@!MM-zfcu}#)iRao7HhS51FP(9s4bZky!P1q;(M@=@VE^X@e!TEM+C_~X8&9*(fiUx zTHlWQOT`@(qE~R0^B(fs_8|j~Nt;~+dOa5gCny6WyHIC!lMUC}ybzJkk?!Ud@nGnr z*X6DVO1iR&w*)L|J1&WHt6Z(=Yx%*cwdKExwr&(3@LhelTN}~a#jw3OWN)NQt-n9t zA&Aan&dII6lVMmAS*{%UXAhq?O#7n=UqeblwRWYNH*f|Ou^Vl9b@ti_nFcLGJc6gi zROxH8cz&f3Cwfq#%XO7(G7g@N!NWV35TVl#(R38;BtH7Fo7)V&0maON)uiKsT2KPH zKXtcWqnXfnBEj^CQa*!vZB7y;q6pL2sp@DaK{d6SQx6e{v-kHh862EA#6F(G(tEYN z?`BCM*vmVK-M*HMt=RT)S@m+-^gg<%Pbjn>A=OzD?4_~4`^U&C-aB%+qI$g7y z?JLM0%RjKr?3y1J%LN;hhwNfMJDwqY&!@27GRu}CwN=%lk(6YA(Dod-{5AX2xc5)t z=BVCHjme*KJcnuiSw*n#@WnGl5rz!D?I2;8S`m!d>)@(>e5{7tSf{)yKV-qhtcj(> z4eW`ix|}EBVFnA01_)N1di{K*qa@fY zq@;VNs1!Gnh$nbdYA(1FCPgznt4TeC8%z78PKYA~@07Rs^gcD(B&Bzg$7ljYo;Bz# zQ(!*QYeE0-2;ZnN$}K?FOUEIqyeFgTc>T?YOS5I8HX(&Q)PkKG^@mV7zThtM zY6P6Htzh{(tm#X?zc&8sjhh(X`H0u`+HYVRjU|_bd%CA3kT?}tZON;4dA&O+DC1^o(?Rb=7l_70(*Z{V^^<#>?x zcq`KkFF0ekx#}581<<2DV-P#vY=#VK^X&;ytiP)4=!b!b*Ff03!zKL?-tU}{j|qtX zAQ$Z{9)ImHAR^XfB=_GK;5q3}XBlI7G0~J+Z4~y1#by-KLjlnrNWB)6cr~D^)wBy# z)RpLhs?Yo4?>wvF^M3@W-mbn1pVyhgWEAe}X2+CNQXg12!jL;G;rvyos$sPG4ZG=U zf~mS}omV)Fz=!Izq>RV6e9OFBZ;(T1C7P9}CQ4^`Cmi==r^o!hYN*g!cAaRQ@)Lai zLG&&ZZH6~+exLdCaeCwammA|iS^N7RR~AvHq0??seulA90oVVOUlSiHvpm?LUJm)b zL6Us7{A;hM&CKIuo#sUq+EXWptE74!OLHlg@ZX*zU^q*9a(a)>hnCg*{YdjnWG~2t4>dD{fsr*%Lcmtn=dU9={bkUQ6t#m0HqO|; zjjL`WxoVUfM_LtGQ<jptSFxQ(`T82z}x!k9_voFj@ccwZB8` zw+h8WltcU47(xP18WNULQvSS!{0w@crhURMUU?pvuHJvIIQrwKD2aZ)dUj8-O?;gz z*{*I}6LkoCU$Vx|BDE5|wv_b=t+ht=Mom!d{fB{WFF{Il2yr}KkMVSV4UezmFAtw5 z1?yHTw3Y^&?Vju9&6pL@@KMu(!slN$#yw^9P?pf_Jt4%Hn%{NEMG|@BWLcXvGG;@u zl@Q13!gQxx!ewn_u}lOf(VG+>HOZ3fKn(}dPGi5tx^%ZAnS1MNz!UzBoO(x^l?}~J>LOglDpUK8$v5rkX^4VQV4S` z%Ks1dI2ScQ5M~IK@4@|tESING&1q!qY@<>l0*CZJ-#QscR7^7U1A|MHpBSsvBOr-C zu1t&sUuC0@;&ri;K-#~+#EcuxnU2Di%S|=;52j4$th>=QUcdLJ&aNRf8^_bBmAS-$ z{V=A+K9d`)kygp2N#-~HPa+ITOO>xJ#dKRAi>2#L_U5-ZL&@$Y(fj5siOm+IXoQ>y zT03R;SO%iHRLxYLbcK-GAUU9psNel={2pC~4P9}D?H_a23Mr!Y8$J?SB5YV@V2zPg zG_GwZxbyw-E)TaFp_n9xUj@_wG)nrm2pS0$fA+h&;`5J6T%m+7iqFa7KTQqc@7ig< zu!#=@sgt9XoE7Vd{>3x?h?b-*#SYWJv0hZE)ss-AGGdpsDyT7BsI+kFVWhG!PPu%W zr9L$j;nbjSdQ6VD_7%p4quZAh^_G;tV0uW+^K)qLw8NzP`e){e?DsAf`*~dyA`E=% zM?*2cc04a{_i@E(Q74a(&;>)0^y6(yzsZQREBt*c_)}8^DV;YsPfmRY1}-6T&AAK% z3JsN_>sE!QnhUdVHmH=T$e|4=sdD>=Yxf;%?Bl=OEnjpk{4o2IwBO1dgrO4E zP?*gTiQl<4WK}a6e-cSfg9$9!48yo)9N=(j)-EH>IkIa#M%v%%L~Qem7mMH+{pOR2 zhJ<4-xlzg{rSA&rP|uilnsc8*N3hH8^XQd!lt-s@TIy{~Kb)b!Ca8-ky0pE@nSgwB zNBV#fNmuB!sznt$$qC`YlPbc4Nm8LD1-t5B>`syF*e%Gpx3*l>P3+T3?wsV(x|9)} zaYQg#^cF)s-ffNl4-_gDOKVg`L?_h1`E@tM=0Qj#5@T9ZOZC43#;5s-_xE=BCefR+ zKRW8YF5JUpBAN`!J1RWubJaO^_ut2XCzGD|ir+D=z)EPckbkv%>HYyxj($JeB*?zlf)+_6rlB!I7k;i71Hvu4%#$8l3D2#^PdJG$a(H2fGesM*QBB3tY_L z_DRlH!IC##dek_E%u?NkXQ?Z}*}Wms)DKsED;pQ?u%O2NS@+19VD}o^p&<;f=ch2U zwlSOeySn|~6D}OA&%;GncJJGf?b)Vsw@xMQQg6NjxvVIacTS0XY$Y#ZAQBsBR85SdwRY*1>j#oaD_?u9@+g z7(bR=?0=C0_vucwNW)mZQ%D`j2y4lMM%O{B29ZR_?)hjX8%=rCuxI5s>vq+!@(0Ql zEM1JH35An_5Z4P%_^uBKE5|yHE;lHM51Wn$%HzvYrP|FfI*G&pok}%@Sj6-L=8UND z(dW-P=5-PhX<9Dv{?aKMVNWPH}HKk28>9eo;}(eqPNwWS<*q#ah`) zY&kZ({_&Py?I-KajTb4CvSb#ei&9HwlK1nQa}NUCNXQ3hLeZ2@e_BOb#EbC1Z&>9|l4p?Z5T^9XvpV9Y~0!tk@9dz+1mcQ}#K zO&7{xq=^rIf=u#0&%+K{8RC9Y)i`r%YR}J@TjSR6BsTB zdty;{;UT6mHj0{rO!jqs@AHaWe)YK~D?E^*{l>fw8)fR1b4Q*JPYYmi(V5AIbf=D^ zJ_)?hWZ!wYm{uTG=c3PyRG<;7X0Cg*;Tffd?z_*^27zQ3W%)cwdD9x9+Rq|=bMf(` zWq+^%%KZ52OMH5C1!*Yi3k_xrQ)a>etiumap~2?oJRd%(_eC}+8P5J2C7svrj$X@Q z_w+3+wtWJURex{TD9jyA7;SEdJ|dMyH!i<|mjDmbkT-nt2*fNdHp-2F`wa|zO<>o1 z8H4}caHJ>(^ca4wdx!Agjf6?uKW3FCE2k`Jz4%_&iY%;DW{hOv*d>9l(<7~~a|PR1 zC`iJNk7GYjpLPY6eF;-Zf-}9&xB_Ohla%x7U44Oe`!u46TJOb<*f-)P0_yMn*6@k% z4bdXZd#5*e-nsEN+F&8CCfa8|k^eBvuL91Y8BwD@*A1dru%mK?Y-Fk;L#v0FZ1 zz+uEe(rZx2_pA4#jI|Usj$*+_H6nCrqY0u=xuIm0D4U}-QHd&^k-`)0VDmJ~BCJq}rRP>{^s|9i{^ee9+z zRfUYop&Vwl{W;3rBW*Ieaq)f3k8zpeC6tLy9qT6qS$xFF!&O=AN2!cw^yPWVkLy1K zW~g2M5DqE@4U`i=y~10%D3ZE!91KQrDv5q+y>ZeMp@RPuHOxAP;S|FY6q$lgq5Y+b zXlq~?CD8AZ`SA6%l%o_)zv606icOW*FcJt)3B!)>Jku@OZJtbNf6BV2cIgG^5)3#x zkI6o*OGv^8qnjNEpHx{*xyw6SF|cxN?c*qrYyuaS6z~goCB% zmhzpbryciL^2OUKwkTr^>SE(&$r?(2eDCXF+SP?zKj?vQ2XU(QUrY4mh~>|sJ#hD6 zT7`O-l@NM%f&+3v58 zO?#8i0wk&Wm72p4N)kp6N%s#d_WsahMwF7G-Cgz>Rjpp%6TNe$E;1)JHr|R(-h`oi zrwfsv!;7<>Z5bRI&3XQn^)~!7+>oZooq7!$o6WE=cHEreM|XPEg1h#YKbg&87#b?V zzj_lgJ{vG+X?Q-v7k#Lh_e%xms$38^E_UeX54_GSR|VUQDStu2`}sJ0AfiRkX5DC} zU8#3A!^`N&meO?(G_3Vi18!yC=c9TMXUd7@UA z2|GVUG=H&2leX^H(v^%XO1R~@WQdcAx6ehX-1D5uYqI7jr?^K+JLW`GSL|~C#NJXk zj9%Lauy9q=QhxWU|IZ3@I+IpiXwQ|7W)U<4%s*3Y?cO@hS zQ&bXjb3}vMdY*{oOZLf;HPvi$_Ic@CnF%+@!=~YEjP%6qapLjVrK87^H!d}`I8r>d z{la2Q;RF5_zHBzYQok-r?+%L0aT!V?+Rb9AE8gsI$iz-PMfw&-*L+Vl6Esz~b3-O4 zz(g$?EowZF9W#ve-}t}KSu;gkM53gl;42xS~V9onx*wxh7sQIU%+qX=dz`G zgL^$(-{uxpGs)iLyK-bogj%7q_-8OViWSAN2IbhT<4N*C+Qk zS+4Y)G9uo1vuKjaCFaD?X--VGj4T$zgK36uFdt)L93B4$Iy5%DS&HU@kXa#k9GGhM z91b7h1}t^r*a9K5x*DGJKbcRL4Ey{0%@0iuyn#;V0V8IwFl2E@p8s~{bi6vPm?|C7 z-=ib-V|bqG4&hWSP2Knumv19Qc7-QUCT~k2F7l81N-hpXVE#I^H(q`1Q3;N`Bb|LU zi<)%LoEJqJQTX>~gLmCnLE?r%jBe{k5Xq)t20$Rm{n;cHLpe(am^jR_Z~t7?!A}0+ z(Hqx83w*@)6t(N>H^My@48_UG*{!8+1^p*mY;#@r9Nfj=PMVEGT0gQ&ZT-)1_sl9u zZkeKlY(j|9NMefn@R=w6(?mAcX%CG zU)8n2d=0S8MFO4jnSXgxSmemV<5GF(You?La^nu6W?K$5(@?7~8R5@(An$bhEuB6Q zPWU{A9!PmC7QB{-mD-HrVHtwsjr;mxX4M8YCL#Dz79uf|U&Hp%_hCg}k@e@7-SZvt z$4nSJw%O|c-kCRlpv<1yTh9|5^L)H~PLOq?`){!5Un9uPIekP5OPpKEWo&#C$#I@F z`uplfqbAcPcrJZXUTpP1I<=n# z7T8UHVa_{gB*dRYUT;yJ^fWUv&|>=n8wcS4#nkZEKx`ui4JfzlN4BcFvAoUwH(AK#3*; zUN9pASbH{=@X{?f^GQdEkJM%!`r^i~ExyFNYe@e1C-jE7IQjRyy&}ZyabPA}^iRs^ zSIu;-+HtQ{dsm0H>YY#B1p@WuS5NsOPsYJ^$#CXyB^N_aMe;7pbcLmL*~&h%9i}+3wt8v z2PeEU04SGU=#S$hN;|N8#>V-SboKpN6fsK08Aawk3A(5Ru~TBhozS(h`kEr6wiBnL zg;q>5#TxU9fHD?=SWfz~86`vfkj06%Hq}_o3Mt~Fj3n4-=8#$>|1h4uyc!Yc{+c>U|!v?m;!7#0{ z02*+-6jQ%EcEh6h>Ltpm@T}JsIo2iTI-*g3e9Hqy@eV;L$tB&t&f%49{9akdSG@dZ z?Jiw2rs!$&dOk>|VRLFi$BSDkd;OW!&wr+}r1kNr=t8cPeI^SR9-76Eb?J^ly%OI( zshXhtz4zC_{QHWQ$~D!GAAb+CcZ^KtDX8cVE;Ucom>pmmAN(n!5fMqJc)l4(|Cnj} z==#620M~a{2XZPZW_Oo+D}(hmi;XdtmyY>LY5BS{sbjO2UAy9M-*8mRBK{lVz=UT&1ul-t6V0;%^i1t+!FQlc<)2AKpqMyEGx^as!|n- zNgYe0v!7>ILp}EY59La>fb`&x^Q=cJ`IA-R>32`h;_MTsm*H2w#yo9bBdw;8!QzXs zd}z*v;kX#P|`m|J5*DC^Iw06Jwncjz#ln z;k6X143ur!h<;q;niS@w{hm#;grH#oL!6&6l^hMKy%onZRILdWBq7})@SWGw1o zuG`yN#Z;b9auN5_{gMhU<3Vh&y#rbAgJJ$QIWTe^Zf3Qc6w{r#604zvT8n|CuB+RUJxDFg0|! zHznYFNEA-^b{*`ZF&NSFvksjCzw>L~^@yo7Ia_TGo1XM>KgUN=wa6;WXmVIv>9q`F z1?%wTE|sN0W`&clySKM!N=gdr=f>#ubt7`mQ;G7{^WV<1vpF(Y)z#J7wO?`i`uc=V zJK@U`#T<9BpKmjtheGif3d_ssaYJjHPanO-KvJQT@<&@QHP^Y?EHyj9EP7op4OT0f zn$lxnV4Phm(c{g{&B17wX@bCmIdyMi4D0?uCM2t*WHJ~{wYjxbWwpSooFP1yFD5(X z;v!gLRZ@$)k0qWH@#eO)u7)r{JQLm3rzSae{*zn(NiWmyPJJ<$da~E;(JIa%*CY?? zI6u0Batz*m@1x9abL2vxc}rD&9s(;BX_2?uq4cWvwOTu&@K`{|&bRGYPxW8Xw4omu zr}J9yNdfFQ8tkCS$=+SXs=%B)LRm}EZQO4wBMQ*h`OAvN_aotuWUF9R(&i}OySDw z*~)a=CjP0+fQpK0#kNwRFBTz9Q_+6MJTo(6Rn8zFkaFU6;xUrO7iE^|Ro~~)aXV_m z$j)vyUu%vINXEuM)WvBJ7PsZ!${*}#Z5b;M+kC?R{(gBl4HkP@lf9{esRkSUqt`h_ zN(#A0k`V-hP97iLWEK0PwXd-gDAuO+)h5iKEU0t_A907|ICUf2KffOT#m^ZgEwTy4+=$HmRPH(Nmg0<~w${%l%Z zMfLNdAd5?0PgyA8L+(SH0C-xA7*zr zX}gY1O_g_Z6CfrghKZmM%OGIUth8AX1)^$iZ}0M8HtH+SZ$HFWvdYT&E+@;Z+LgYC zhn8TmUlFqY`t=J&E;gChiX=xSYP&ZSFE=-rl>w8rjsE6Js?O}QWrXe@XR*V9$Ple~fgP_dWM1kJ1mQpU$Gb7W&70M_1> zyjM@6vd<^L?Jz7|!ieNt{EsPwHdX4};CIoshS{I7J1${sQiLcyhSjsN{F+ZJFc`2g zmW6SUxj5LS?7ak}7#keQlc$yE*u)emznLIfIid*Zcx`lo7}r8@*6$>PZn7F?LoZjF zj7^T-@*sR(Squjo^NJm_yYl!yu~(QHU2F68YiEC*s9A5mrtc0f6VKe6{7IBAw9sJb zbftpnU6>BxhC|8?&>LQvSXQhDZnfNwR3z{r435L$fKU$@8|X;Ke6_^ zZINmp9H;Nz3e2|j{6x3bQ7Tx`8^lFcO$v{XwEZ=4umLW5`@tTn8rlz(I@MbToj7_7 z>aqbe(C9mQZxOG23z-idT>HqVk6eP;l|^Fcw#e}T^2uv%XRXp#jv>D_o()~3PL%9h zlsuya{s*E-4D^qVe{K;`io=u(dO&9aRVLb`Y$cdpi3BoVDUOc_Efcpt36{RnFzfl( z;|Y(m2H|@XkZ|_j=AY9>ujE0C1|T`G2~;a5DBqVg~Afg$EFMi_oQ zy7i|>tlxm68X)W)CZjcX=m#JhR&+yZ|3&g9`DxkFq`y;vKvjA+wyCJUpDMa)qn|!l z8BBM@wi(Sa(Lm&G+MuhioLZMKU_+t7PO@tFQZp82>92hi+mGo9N8K`$GTiX#@;`j| z8`a|TPvNEEXpSBFKKJ&SmrBhCg@kUA8R5uFBJ;neh+u>aO7uPY)vDvdkTLfs&HoM{ zD5oc{UzKdxmZ4llI%Yj&2vOGThrkjThJqO&!%Pex^>kWR*g+k=<)k&`)S>`n%T z%ve}4NY=pZU;88P(*Y^SUR?et9Fu^&_GcCbsWUd#Kvgu#8 zyJI6ASypb>5gRcS5_Rb)^k5P;huldSeT{tl3lBevOP4?w1^lR9e3#(y5QjK>db-1bMgcr4g&ALyHO zbR63WQKX7^{NrnW8aupB$y*&Y<#ujKkB`R(#Q_jVDt7j$#l_Fnlej}ajyw1Cf|?A! z1s^!wul1R5*qD8DT@*pHe#1Epj)I3>|a_ zmr#050ZhC13&ihkq~_wH8Waxsv#`-K$*2<&5&-idciY4{KR>T!D!oC3(T?CsRH&@I zE{2vQbACb6(b4h!%5pzvmZ=Jb1`Zi#=jR83MbB4Gm-q4#ao8TABEr4|;H%d!?7+&(szm6Xz5NExH}m;nr}eb^)r;KC z%v1r>RWDH98jPWNx%}r(Qn1S4FKhwLDL^<31qTRRBu|9PMo} z?a4|u?og}-^a?pWz2Zna(#{8OQ?GM*uF=HAw8 z#JN3^(gT=*Dt_SoNk^tmjVTT|bno5%-Z= z(Ab#if4?M>73nq0K1wm-uNRk;8})|ZoSn=!+R=d7gLwsyi#`85sOZS>dDx(Mxdl*P zL6L9xK%c$otpCl%0n*P_4rqw z^)pvne$vk_OHT3e@s&U-?;jk1yrW7JktGieQ{D{yxu;o`W~itls}kVC8y2K7u#c$S z3=FYL<<}K1^$n1=mx@7#j3w1ruYxd}Mad<2>7J7L&>PTWmnzMoS!ys8OLz0=O|SfO zP=>+_LW^tox6<(c^TY3Ub2hiPxjb)dr6WlQo)-rwd`8C7h2#_!jX^A<6LW1&!VTt? zic?~r6u^G?{F(Im`{SXR7!9D~V5-&LkM5Whq9dbxD~i(6NZuV{q6R6WrY~qg2s1Q1 z`~~b;1i8oyx^cK)e${i^A^?8D_aWnTkadw*#iPYVMWGE7SFXaWy3O$vkGnFKbJc-h z_iDiAle@0M!hMJFxnEfM2$Spc{Pbc0fXC-)FV|+3mX}B4HXRXH#ecbJ5GI+tl9JMc zUk5;1kP0s?bufb6MkHS>upoeB`de#`7mP)*UB6&W^X^@OmY!Q+P!N*n)6JI`naN7{ zN+ycj%1+qha<>blC*caFlxicm7Y7l#@bkk3h(68o&qGixT`4IkL@*NQc?F>pcLTC~ z<|;h$Qy}i)!80r@jOd*O{{8id+0IxZ1~nnu=RpuAU@13mcQVbU3suh^Eta24OG^nC z?DPAhC@6fq&er=D?T6pe($Q5p?y1Sk%l~b4<5tgC>;h)XqQkh|)r{5`-f;P9>xQ(W zg@%hxcr40cdrz3!IZNS()1LUmL@to+pV?lE-Or87f`QHkD0XH$o}5}U!~2ZDO*l+` z(&ep@(&%vV7)HctMs zlmL2cIv$;0`MzijVs6vkt`}(ZzADk5`0u|?U{c7~*>UDbN3J&?lyA&v>6;w>t-3r~ zNP2NHv{?y%P>7AST`w!>=nw-0&Qi$~Ev#!%{n6$tv=>(MXG~DtjfsN?>-SRSafolQ zUJ%PYntljvS85L&4{w~Wirf2v1E*V)hvEz{)kN*|`3~42EnV=OF6+LXR`-D>LfVN8k5qc2e0XrKTJr&jW-@oNeM^p1)H?z40 zF5Nvv^;^v~z~%!bQe4aoOsYP7JvCflx!H))Y4;QW7LbH0K3GR(N^Ef`)ROm8!N2h} z+g{{$S=!0PT!0rf(6ij;ar-h~)?sbdvK)KK zENmtwrorlnA!BO7aIdm&lyr1-?QH-}-+roJwQq_xA+DHR=>EQceGlTe*O&|T*VJBN zak0_fWS-?xGXWGzEbPhw;F~{v?B>jopY#m2t-d}HxGz~#dyLG?FV`JeuY};xXm@yv zfYn-b+eshE5J>~26mVxyq(;((8q{|vNg}I_`p~-9IEss7qyOVF<^^2f?#^9aK_NxZ zi5V249-}I3v_NfOB3L)PfkHR#r&*;`E9W2z$l-l{AlAR~ywo@jA_NG7Qk$NNni?+H zT7ch*^mwK{ONKx`S6@3Z)%-QQRL?uh)E3D6vji$x>htn{A&7#JHH zgH-|ECP0NlXAc%v4Nc8+zzn&Z54GK|kG;B-gDqgpWghRZcYw&<0R*Y<;Oe~l75nMm zFHvWA2New;d0AM(mC|@8fa?LK4AKUD_Ok;9fKB6#{>ZXK3NB+5_SRE4;L%0fiVkrB zPoc}S2Gls@7(bGny!RoOkg@dO8E+KKS zsfQ>|+GzjoL{8II;-?Vl9KeV}H#aw@Y>SuPo9G~#*2F}&p+L>7u2TiH-#(Cwksu;} zGce%2R1739I=vO0@Nc8U$Y|4vm$}_asLVr8JjP3uld%Zf`>Tdo|CW>V%8-qMA%{^u zZ9)flJC>l40eo&|X6ALiLaQYd0a8pPbfQimKFlpFnpX!Dm%tH}v&}xP&ij{RCw6|M zgb9wH?&Fe9S}!o;7*wn$Oe$!u_Geyotc$?(!Ra~>o3CE88Ncwf zB8=dku8|aO&J@KL6E;J{qdpmFcyRE=VggqJr~rPG!O?sj=mOOLZQuUha$C2($D3-O}_x1dkBc;?ZwW35FsX+VEpxpPbMCNGKc-9 zEJ&{ZBAjEqk(olTU8fq?c<1N+NT(#I9eR4K~K8!a~4fdb|aD7Fz-3IMz?EPVR7P(YzYZ&u;KAxwBAbOXS( z0PKL?#3(TRcEKHhs4E+jxwzOi4+kPr{lkY&VC(UF-f(P2aGIUx@=y>L;8g@EXNSzf@j0V4GlD5h;W z3KENY@`DEgvI+@{JYv)|$7ZGd#X|)pJT@-wy|uNqXWQuP6_6uLY;2~NyAuGM-vAz- z?y?-JS1|x;(E_)bv9SSf8u$VRFmjPFNr_hem6o#FJ2-4;wvk}qm@a9kF11~Q&W3jiPHFNOnZVbfH90%Fg0hPXr4h8(q}Z1`Ys$uG~gx! z`&*3t%K>Nuo!vjC@B7WKyQ2s9yjB{$N~KSE%g}2uB_fsOV|uSn@B*X&t$0AKZKACA z0>K|3nZ| zNet%&VvnKC&4L;3`%G472a?kPsCc#hwn1Qdgb<^)&11|m+_r_BJo6P(Cbtiyb7DY% z+{7;Klxv*zdBKnn?5mD{^qrsxDjSfRPLN=bZ|}HyZ)iBO%)APlt@r2GXW6>0joEO| z7-+Cyk|hzO--`2WXpFJ?VM(5M8s_Dz&Eas=WyLqmSQ0eTJvvlyM)EA&IC{;xz}2gM zZGrl#zI;zOl?^SVR=@8xvmgwL zcpmbT7q2mGciMr94mnNWRZJ$D3cFum3l)Cgx;6D8ADx6YI~mkQ4NB0UZ*(=WO@6=` zT`(C8?gkWlyt{;QPVdTPRCNh0Q&hCwic zNo#fs9~$#BW!XF({23!-Gnw-ns^bJ3mPYGpM3J;OJ_X?f=xOBsX_G%Q1#8f~d zwN$f~U-wx~$GConZt6DLQjtdmzZCA1<;bbMT>TF37l{MJo$Fk*gg??*-)sF!tF%V# z6QBYJ1rR`^_qD!fj4Z9BrY2#-qWvqdwV)6H%0?t$Pit;&&Z^f+ww8vbT> z0KPvxI~xadp;g0D|4#u2Sy|a%pz;8Z&ARPMlZ1pMS;&R0n$-cskLJM35rfi?bz!Zo z!oX%}e15vu0c}XYl6M^i^Hnm(fLMNE@&IFzDLgCt$R0qKg&*`=pEKL|qAIdm7r;Lw za2OkEKe?Ag`Hp~ckLygZ_)Gh>_~&nZl4W3-`BA^f(S2OdDDOFS4zI zHE3WXtG&G?=MI#a!?_w{F)=Y<%P}%BbpcPwW?A?LxyWyz%qR97h0l8N5D*Y5J#Ww1 zGUwX8?)e?I(Lr-{5vaRmxW4Ddm1jC;=HDz*TtJL~g53+wG!Szbz&JTMy_~;Wwrjm! z_IRl?V2EX}Yh7TLl7ojE08!sM^BWNn5ojilmBW{v1)XjQ35n!UQ{atF2kr_PI|5Yc z1vu;W!g6ocg6Eo@Sf&b83MwoAYx#?ej6AitII`O1-vqd6tN9c_bD+pxNL)2YFn|(W zpaO?PMz;Oe@UVWpxMpj6_?MGjG1(Rxm^#~?J|n@J&FKF87Udm^5<@4ozN*I}w~|GA zh>T`}8<};2@bQSM?q{20t?L$%H{0mQEqKZrB}*6;w3XHtujjnv;WP+V7HJXFj}Od3 zFT=%4F|n-2XFg$8!JHAaa1x=jeySf~xjh9M01p>e5;T6t zg)h)S!?RSsqkY(qN-kC_Yy&<#NK0ZF>Fqc9S zTV8AH&nVHm5X4u69H7LqZNe7QCuK9fZ1i7CUZ6X{v^Rkl(`Uc|^yCYrCkzh+r#jAo zC-Smc*;3&s=;*oC)v79hPe`bG@sHehsZPwCA8zb0N%_SA!*z3WTSjmG zv94S)^Bc?O=KZC+$Z!%n12{hftjikUQXojIHgr5%B~<}StlE5v-nwav5WqpDHfwxR z(ghe$RYzwCP!3cSl+LyPL(^A4Wz{xaBO+oTEeHq*NGQ@>(xHH)gp`DIcXu~P2+|-( zNJw{wh=g>9N_Q&t&w1YOce$2}<;}TI%r)1{p1t?6w*T88K!z1Y$h7?@;S3sjmj$1j z!NI``aOmsMn&beqRaM0)`1co{yNAc;FJIn4p~%j~bpZ4bY`9LHtADC6;Z{&km=mvs z2LPK+Nt!w|7cj7ekGYxUL+~SD68xIhpGAonsqQPjdf`T~VKt0+uNETy8P7BN5-+y6aBdmM*?aGf-FfhRv7mlTdrWs1n+^j5AaRq>tHf=W{%{A(@ zJQ5Amt)7PJ9!OJE5S*4&?Cc{O(?>*a8f_guLAlD9VUXkS5#KIJmv=yiQ3n9vQe@L)Y9uL zpMK8G$pJ{3MTd)x?cMjAlAZlMwDn~$=)XtC9}JB!G*I5&C_6mv?(TIp*${!3mzM~b z1Ho?xl!&S6>5$0C?LXzV^|J!E`RC|x*DM%B^jiatYivs<)kCvzds~c0hgUJa)blg* ziaQvpu(uaZFUkjKM4$F+24ks6i`V+L)J@XZE`0Q+tHHVPAv0vb?DSuBa6-VSYP1yo z2PhYiI=8j86|iP(a`IQO)}r|LG0GX7hHOwdnD}^c zL&L|h)G#R#hua504nQl(DJh?eiyy-Vw7Y8!=qKEAnE7N$@5^!ff> z23iHT@ECjdM}B^OJPzyl5c2qhgie#R%*@dc^;1(*`6VTJaO2^#Po6$ihw1?m_n$xS z(1cq|E3@ccBvy;Sl0{l$*1tVpH`%bqmv0^Q8i6pTiSt9Kcp(}Ic{U|SeW zb{ezW9A;atgn+`#Llr%J6z%Ah_&P`+1 zZ9yp^a5>$53pf%N>PJBjURt@2NW%=tM}P}6#9lj}>9J038A>Z^zm&&q<}?$p zc{NNWHkJJeC*rpA#Yobg=UAT?O+!njvo)TjdFG#z6-8rQrnIp&3r z4%soUPSXB4SbF8v@~yd{?fKO)aeb8~wIIs}|D5+^CtRyyA{S@fI^%D?bu90}?G=`n z#|HEhYDY9-3P6EjXZ;GGFRWRl;(#kC(yC8@Oj;;w&1*;jqt7yjjn_~BBI`y9rWr8C zY!AZv>a?Q`=;;TzG~l#R00a%qvP2YFKTPES%|a5nzdss;)?Z-r+`_`5g%tw}vV`F0 zUO?}+Z%ZSemEZw7Du~Oze0lKA3P^@HgoKjtaH`8E;WY8_J8Eo}5wssTgD}4Eht7A0 zaHPAt`{~ut$OwqRkix^u%M0nxA!emsy`tsiO@>5WWi>x1?g}iNGPo$Hq=jL}xPJ2< zH5HYg*Tsg;>X9pSgvqR*Y@$r8>)Ccw>plQMhhOnP{4;dRk{|$vVvSeUs z)jMu2!NW%wO3*ZyJf@V!1sJDDyD|A-Wgzau2We$xd`L$AK|#waD=Upb;o)~-UfGbY z4wEr}3GR~dCqe(I2>TA)#fAZ~ZY%kx?Z64Vb^G=b05{!wWzL4b>;HDj(sV_TtUPXx zqVmqbAfTVRoeSol#78e)i65qqUg^MvlE6_keDP&#^YjR+mKU{z70_<5DARnm`GDA z1$^+Wk&bO(!9fvsq^eL^a-6iGN9S*{Y1E+1Ju0ZoOk9xsn$d-N#fzG*A~J{KY>s;O zrT4xB$HJVwbV>#adAv7nd&`X9^~~AFx)rx8cp|wI%aBU9^0i5XcnRWbmq>un?f*%&H-g z;`gFj-|STF=MJSR6&q)7G^>@2Mcxhf{i{#GilRMTT-C7^-XoO6EAQa6s_9 zhKiG#(SF$NU1pZqc7b++K$_4~;+&K=+**?ynL~7P+*n0`S(9Y?>DE7*o`x>j#u5|P zEtPeXZ5-`DH8o1J_R`wuNQ%9`(|ViWd!|xp(Bbxv0@l{<8@pTlMDeIW10uqhq&nFe zgarMG3>jGk=^S2n{cq;0YuU6GY?w_Ze8~zA%^Dn}Dc@mtHo&^gS}U!4di&;B36IaY zN2l#n@oNo+cTKemWhq@^KQn~ey~slH6JBumenx98(pBVdL?6>4Q`r{ix!J^a1NCm{ zXSK(XFMF?#w5^A%nYzss)4sJ3^gnHN%4?-sR>7^sk9Zw(VRS=&2BSyEWUI(bj-vPT zb&R|B7VRgc9W7>i+N_?@a0rOHO>r0x?&ikzbfUOD3oXNM%{ruaQyjW$MJAu3P%BVC zvHW`>PgThi6W3h>t-Fxo3ASUraF|x5n9SB}6kAo;Cg0P{4D>O{Tnrs)+}b~Awi^%U zb%oyDuX23q^>3DGvT;jE@n`y2nmr~lyZdMA;n_1AVeh?}J|aQyU+XfHpzuRqLAkxtc%h0WO#Or=Qis7UqTzG3@vCY;znkoF_dXpS=Pa2qNE*j5 z-xf*tIlAY6v*nq(yoK+D5hKGPs@g+S;*wDto0JkVT+va-I*(QZya|^VQId|??wvUc zB@cYgca4}#UX{Y(ET7=6eQvv=4EZR=*_T968gwj6+1g}%BA?IN=JIvwA14RuaCXaL z-D(@|jnh%mQIDhJN8Ga$Cp8hTeFX9zqqX|AsCK71v_BcDoMAw2;{)np7q{^mDNJ_4 zY_*Q3l+nat8mX73XmnQIuY)wWVzIN1m930bdiDQan2Ht*{Pt57UYHp=0XY3(-{G+WJQoS}7HABY5S~o5g@NQroqNZ??1;O~ifC z?dRxeaJq1@9usT@Kd%~uWH*Y-T3)7%SO_;2IOtUz3%;wQkMH@R#5+S)`E@ba;Kqe) z(b6;%>aATImQ}Qm+l6={@5Ov{pG&)a`!C*Nq=FJOS6b@0EQhjIhd7-J%E#L2@ z9Vx1v)jDXDA*eQw&`qEHV3MJXrNbu3X`j!)2}T~LChi(RL}&0b#dHVCqh|%DOI5h> zL_KAzT8?KC$>hF0jLO<$)wMKZNaT8vFcTzD8ZE;o1R^Cy? zcyGAsxtrKITf5?OL~Vr%N~`cQv`DsP;8hSI-(|^*i$i>8VWy8gNM=K&Q&mBE zq*F>tu`wN%O0(@6_rB|zCzra!0 z-3g?`Oc;c!f|D{{(K~y;u20Ua%vLUz+L0k6kloEoHI*?~RI4-@E#dNR&fM9Aahq{P zC@J@y+hq9STeP-p>XgKHfF>$T74wpU3!kC_gGk{Y1LybWSYESt?sR#Ne&)=75hCBa z9L1M0g?b>-n!P+KbdL2-xYcDsEvKqy>kg&`<;@@7ly2D34-)JTI>ef=edxRyo*q_z z&hRF_K6FR`Ptlq!E|{SYql>cC`QN6wu|s~NDDl+77y}XMOjqTXRw<%P*&6CZN5@f# z;)}XuQ9VW{dg2?xxvC*GU1uc|dS|~LL8!Y)=tFmVq?)^|!mVkrlfT@z^H0}Wj5G#^ z?w|>E7Nn7sC^5#@CF8zp_-zCj%&6u}Dq0$`8OIoFA^f&WDze3q<-F2pjVSj{2x5Co zt_j;@;|cttu@jZf(LvL*>#cAX-e0vP%aaM46*b6^pg>N%R!R)ppA3ztPk{lIM!17) zxEf^{&t-Sk1l7VZz>BO&itGbR0qHk?`w6=jvz*VAw)o0-DolG1Z^X&!4yZrm?G2D@ zDl4bGpv12K>1P|kXm0my3aGcgAfr*dN zr1wPebTyxR?^jXss7@@HeA9gK>51P`wrUvmLE%5L>Q0*SjS4b#n{4Z4G@>(cigDZC z#P|&_J7A?ly{>(h0D+UKYOkE<#!m)qE@uj6;b`c8Q(QgP2W7;v&gLqoA7r`pcEFZt z+<}E)F>NNyve1jvKS}qr)k6L!Y7=kpJw+|e4MEjhS?wkr%r>ryw)W+P25AD_8K=6P zz2vDIRcVLTP3!zr?N6jJS#_d~)}Dtz<%ml{;^uKH2Oz-LcALA`cnj``OLu>-|1%d| zRRx3+q#y+#VQV@QZo*T_n8^8uVoUbCHr%8Y)ztv7l}?&-|FY99&#6=oY?;TvyotyXQgE!2i^GXuz(Ii;ostt9)Ol}Xe-UeX)Z=OL=sT5cCB_%+I=A=(<^BEF?tWko zaSL?ok;RRsUVCX{q@{$~`;a3t=a=&B=g+&MylTUv2bs4*MxcIBMNc$)F{;w4Du!)} zoqPwoUsrjz;Plea>BO$i(AfM2c`7l#j%WG{{M245MlsA%+JMgqeenhc4pm|@oFR=y zyi2HLfi%v{?zcJv#~W}jW+s1jbaX9mtmFwqK!Bfqi<2@Un72IRB=lC#s3LseTq8xs zG+%Ogrbf`KyvONVr_C=Y1;^Eo ze=g@3hQbJ7vkT>WtBbSmp>$$?Rd z!g-fCugfit+pkEoGruHMjomLV57HXLWm)a;eA)IU6_w-JI-37Kda;{N{#Pq81&9Hl zb7^nDBR$+{Pd~XORGKDf%o8BF*SbZBr5Wuq-uln?huP<;vR(UZQxoo)-PyIlKi(&T zN?~{3Y?)qL@}PS3om_5AE98dl5N=s5TKEEo;%EKI3;XP*5#nkX+9n6MI!!J2Ef21eNGL)qGsq z*Fni2I0W!;MHkK4NCj^0Wn%xydy&Roq3xq!5YH`tt(+3YQi7&Wo3-IHhCxTtttl=o zzrYQYM9D>&?2AB6J_aF4&ERV&*`u;bDI1?sX>}T^V2%%o;1By zRb^!rMIV{3Xj6l0(Z4!kO3LiPwL_i1Jn@Df{!N)K;l?&h^ENz*l?z&AMYDTLlaYJ( zo7by19m+F{jfJOa`GH=fzE-lzvno_^DwA=XLF=f~P8#vNwN_{ov%3fNi!Bd0=)7vO z^vx5)qA-#+d5={v2#@!eS$|JOOEpIxvq_B?J$Rokth6+mv8eI3y>4{2DwRj&g|vcj z^;UY32YL0hhgMga+eV(+^ihx4{4o7%U)(aE3;A)XUNUa(R1gqw#b3mka{E|G`nT2D$dh9?$(Dv8 zQ>~tXvG#R+X8P;yN7xJ58dNO81z{Vu32~D&Whdcj4mWVSpBfsdZws^U^J-8uxyE2W zfB5IP(Czdb6RK(rE-lC&bo`cF8{XL(!GFHzA?K~IOl>FHQj&O`?KLJO+e+_ zaesP7533!yb5b$MxPq2S>#6ilX=(D7WUs61QPb@?Yt^yw0u5gGB`rAKaC!Q-TT;2z zXk0II>b}3eQ2<0&7c4Il>DYt5EWR%*IZ;viLt$wSoJ<&LiM;WHy_;8h>(8q32=Kb=RCW$i zgd8nrdk#N1;ov2Dw_9fKZ<SA`3p>Qu^o*~@9iBu=4O9yk?z^iLC+R# z53_}(diJsLGP^$XHcH9|JdTv=lcJN27I?+aU{Esgee3H^=lFP3G0AgER^GtFaG9=G zX>xDOUN*0ouOvjs)c$rHzIjh?{>L+X&oA%7epp#jQ8WvGR@vr-W5sS zPoLh2@7r4`HAj&=)HHeJhV4NgVWG%6JPvF6D=O07?y_-p8BE#tk&&;rI`N$Aeptw# zPZA6?%i>N6xfp)Z8RFQb;0b*m=2P^}=$aT>%Q8HIA?q)-PhGqV)_47UoCh-?^ z*$7MngL@M1sfXFnk%0Z7nwq^nqfRXyl-}IzH2?GWzSHc?7d#nI zv}?kZ9>&2Zo!POesIElrIJNZYO*GW#c!9eL_|j4@{`B|=m|q$^yCwaZIya}Rpo-XA zSe*w(txLGLWoqA{24g!)n8pzgskrt5Kb2de^MkES7mb(#H4USWjf>J`jU|Vd&K_%w z0?T)gg-p*M>JRDHPAEbtZ9;mLRX#rArhcElszxnM$xV$P)aX|3J2@gFqR1LcjYEJZ z3F~)=#YRk`JD)7x8wE|lV9LU&^iQJ~3NxeC69tykUqkV(sGB!1XmV9i*TN5_YK+i6 zT6#a<-c0KyAk5MryCzuhbVDjYRU9TZBcophTD{CjH}7Wp>L|TZ4Aa? z!g`8Njw(mNGHqCo1&{1OXRyMu4fkevI(zEZyuN<|kx4bqkz`Yna@%yK1FBli3Y!g_ zbQP6VxarYi`l1hyDmi9P6m&;w_&MEcLe=fI4F@8h`Adp1yN{?r*t4*ouy^OX@Sc%S4C|FT%tdK?F+VDB_y_A&^ms3T;CzVLpW9dQxiEaVz5G+TdbI3C4++YHp#n{Jb7p>C zGTio24^{GwrqC2~)OxwKy&g-0&h}EV8;xJQsE12L+87zeUTtLixqJz9tPl~wyb9Uv zF}-bJ#-^f*`T4{h~YCO zP4{vP9*BDQZZJC2z!1ymV#iv#(XL&;i9<{*VK4JhqxKm@d3aw6>;@Y{Yln9qvLv5&;ERZ~H{QR~ zva6tPVo_G=HZ1|j;NaSkOyki#x%jkSunuwz?^05-hPK~ywENXUX4$w*;x8%T;6ajr z)`mLbq?h+5vvaKS!qHvvwgZRC=44sGTdFQ*ZX@p8&Kv%LK?jqqjWdF0+K`@N46#zi zOANuPDLA%cbuW(Ft?r|rn-jC+56&tcAan?LhlS|gj6H#7>Y-PDW}xObuZBuG`$vmdT#2c;jCt&+)3nN zzdOjSf-25bFifAAmVMo^S}0DXV_hEOBrya-KDy&66DR&hIiu#+Z`Bo;)n}86wmk{g zAYVS!mpnXd8~%kD*ujAN1H8!dMCtwsB%A5BYVqs^SYTsJYc(HiHC z=DIvTyTftc^1i1Ti*W0s3*IKXhf;;JcH#~cSEn24&cAx|N+ty~i|}lK`&U|7{Zo%c z-`rBHl;fwG&P$*{B!b=WPhMuo=@3a?WuIJ|k5eD`Z$ zKIUi7gU`w6GlZ1q0x~joY)(l*AJMMqw8tOe4INq8js*1>ICy2wty-$L8apgo_jLsQ zbAGB>a+CDlO|mEnX5yxQ)-L#(kt9k|tI_rq8!8*!mQKsIn$J;P4yRw%%~fZ6<XA@#uP@s&(lJ#qN*UJOlKf;Qyz?_XR}QvcRh!h1E=ys7M!6MISf3g5hf zIP}oB1!vR&w8-`yA;w9$<5?|U$y;=fqlxrac3rXM12iMz#rTIFPfz8fR5zrPryn1y zV)R_#BPa#;4C|+3CJ8bvO@(_OUZ(`@wrnJRO93H}vhw??f5xX86szc3s#PMXM_p0N z-()!Q3+s8h3NkXJZd*2z0DA$(YH`>EzS=e!T;!jmj|T&9s-8{=Hastw z>1`pJaK+V33tOw>#kv1V#Vz<_ejwMeLsW`psL{KY3ZLCnCl%GCGOeWro=QEf8WH+a z&*FtGx!PBcd!EwZ@ONl8?9ncnn`2lE}=Fr?Rq~BGcmG*xy7jC6r?T|>&Yc3w!h9hP%Phi7E&=g4*tm&OM8c$Gnb1&8XV{t=-(w9P0ge+C6L(SKA z8!JiVlkSe6l&h%v^>afk2GT+eQnqsCOo``>#B6_$xLRhuRE^H6qrZ_Gj#z-!^6UpO zHkxYUC*|>QA>24cI(pvL-568GgU`cyS^CRE_+O#q%*ZstU6Y}h4aq?dr~MCUYq1HS z3{PzP;~OP-Gw5Z6kMf5R#vr5Q5#>3Lytkt)NlEvvXD=G(CKKN^b*PsNyth^4VRW=A z7I4pLjDsrL?a%YJR|%d$N{_|S(9pkn{B$MLIut9_&0mhGLUDlV3dX7nr36V_Q&sVAow9%8Pm(0JaUy_1tH^e z(xJ^y>U#?qBo_fC>iX9jbDo^MCR#jd1bpA{q>TrUzxh6E_UPeU41MWw%~VYR+XId_ z0e4t%#w#C1tL&UNzQOE)B0^C8jEpxm^6D~O$Lv)Y5`>3(Aw+l4QBhGD8Ab#;#EHWc zG^kBWe1(KC8xqIbJ*b3nm7f(E&8t4c{3oQ2y7)F?f+r`1qa5_B+%ylf~ZZ54|(uDqPu1_WQ535#9ZCNB7vR>2=p<@xTd79)kA&9`Sdy2DM{SUy9>IY58|dPi1vcBNIPN>)PyY2Ht1 zpdbRD7BDrSL118Eoowq@YJj^N1@Ig|FJLjuel8gu3?!U)H}G(e2bu2E7@PZ5-)r0T z4>M_T`jsEQMV<=K^OhyE6!SB@b&Zk8phQ-YX3Ci+*R^CrmA`Av+O0cN2@)avX%SD~7m zYD7!vl+z;9S&0A~T0%V2$)kXhT)Kk0=a+2jSCZ7N*Ryq%%97(9svfK}VC#CfmN8qs z*QoWR|7YlPN+O2p@mOO^b=;_3l?iv#$*#64G%O6%8wMct5EB!#ULAY{gm)0-eyXWS z0xAZu$7RIC(10V9{pk}r%+C=zc}a;?^?`cvYY;+&{9L03A{9`8K#c}AGC zf4&sf$D8WF>i|V#CXhVfep6CW0o$Agh^R?Kl`lW`{m#nC0rjPfy*)eFzs#0%BBVjk zYJkBWC@GjthQUzuCOE$Uiyrtk!C_$=?*s_$-;Yg7l5%zB1*I>ruE82Yx2?UM$KxM6 zP!Zu0m_f5)&-)Nahrl0;egEE{F7zXxQzURiaLLJcQu}~MzUjyZgM6*76>DxHkldhv zK#+!mBOdq%z{LeE0K!=63?uvrE`Ju51L@BPz(fROP(bYnSV{Lvg9m7FG_*@@7y>HU z8D)QKOP){BCaNGkYZ?^Ih$1GjsTmDazJ^}8yW2i6O7r@`kad2RnM{rsBf~X4(L<Hve!*CO1tNh5l)97mn7BO#!<0z09V zHr>4qs3~SySy>4E5)@L)|8dvs)EVw0%(qBVp0?;mqQRk|OQ80pZ9eT}az5zi3W5_rd>k7pQ(XWMq*HeaNB1Nw|Kv$tWq|0pXJg zs3AtcWI2bJe+Pai2&WOzRS;@B`>d`S12OCG+(}b6&=?VwET~w}o}Vvb?HwE}BR9hf z%!*FIJ+hCfw|W z$e}GLXFmyHwJTk(yM3an;mj~(K3v)VF-4xK={QRlv z7syJ5H2V<$h-MCGA}evP1Q&-S$#cQR2E0-tAcXf@Z;~(A^Zs3XJv~xD9DV@@1|^{9#d0CCne?AeQmo4QF(ETYp1SYgQM!R1EtkN{|XGcf`I2+%6@BK%SWeTyvSa& z)ijmfDg63aZ}8SGM*-UaSO-v1`2o=sn2dchwRY;&mJbmIG^l3lx9jdC_K7<*yKKP3%_|YP0+uVdw^;UX0CWeHN<$Cgi;R3Euz(G@r-m?($c>CXK;-FAIp zmFKj*Ds9-MlX;1>{%c;74w2)0aWoEg2fxzXw%;za_<$k6Cz4w;4&z$qtCG+4 zKuG}1b~~V)gNnyxEjJPPZvUyjX=%av`|3fXwwJg*38*HK*oEUF^fea!E_nrop=D1X zxf=n2J0~xX4H%kfUY9Pw?rK3Sp=O=t`$6F_zf}_*jSVWZh%7opdkr*GUq3%Y=Ztah z-k*dwmcUR$l*Vww!8t~6ccB##6P}-+d-fjyO$rRc(9qG5>j0-U(6WXTa}$`s9Ip<|e3kTTmUQt5T0p)fOQLTTC9n-Rz;Bf$;?J7?PubQwft+3QK8^in8 z?6vnyzo0}EGbT@K>eO)6p`iVH(GfsA7;<6f!%-3H{yMkom13J=xjs`m=4+6^^~7AT z{WefPZkqh}?;qlbP^%f7HPQKS*|8pGov_2o<%yPzBR|z@&RzADhyPrI=L8H|-c%6l z!>8ey?09CpQ>~q~+_52xy6M-t;GpyO^pql0FLC*X@U8|)V%D;|F9jrt>18$7HW1SE z=B0bS5Ei}$HfeKP{|Ti1sHK7FS7JC~Bd37hxIDgQKX<{`@$ZhM|i6S zkzbzsqphN_jvKsXZZp|z{|K(z)cq=?jJk(w`qj<2(govAP3=@na8_`7`g~{a(3-2J zx!aWI8m9t&eQw5W-@#>(yzvdU3NgmVL46PB$N#z#_vL~>V-YMCWzq#xTm9;3+;z5- zQ>&etv~~2~Q-AK`KdJCq+0%A?o_aO=mmkh;_E}71v)f z>+efK`FZ1lM{N#pdc0U62I>ssOrX8`LmQJ8KxBrUBA4;e?SWFyh&CUIHs-%d-@b2^ zVOq}kTW_Hthhf*-5a*DbGVC((9CZb2|A@LWv|&Oh1tX3exKkaWzYY!#Z=$pyLMh3+vApA_l8BPT z7KgBkGx|O(Xo8$?jSqDe-EH5Zr_srR*xou9mrN+!q>fdVYTZwn zF2WOaya=W5TCwxSs?nh{q7c}&#-^t0tb~x-1UP5@)nz>&_z8Xl;GiKuX2&t0Xw`k6kPw_d z>NY&Bi0fjJ!GB9j3#=l(m#slla@eL*5ha!QGh5?9LSJ&9*?gUROh7>J@wr!1Usa^| zh-Ee6=Q^pZ;GWVSIBJ?(SqX&ihJqy6wY`C#jsh(NP$ghlT85dw>UQBLv+|0#_j@+7 z+2MSfNOYys6E-c-T`b$y%Hs!&jlKTB!MFyA44v93sn*rLFj#*Y#8Sxj;N?E#Cq%I#s^ml_B5cJc?k^jle&ioQy-Lp z;t%`VY}XgMP^ad|+SR1=$m%EH$&v8v4eSSVwV-xevtcB?7j(h~Er>S3uOA2VnW!^= z=e8W{PwckB;rsq$ee_O~f6^BOr3R!rpk`TFb(?bn)Y*7q1!w!B@ZqwGU+VhhvuDrL z7!nwlIpCx!Dh_ugT=r^LSAm_2_3*@fjU_b8`DAO&eQRrL?rim(Ke_)Mu<;wZo%n+u zo`6|S-Aq{D?{(JZ)Ml#G^bPoCxb8&D)Q9@@6(^B_Pib-dS_gB#zBR(Vg%ukdA9jmn zt0S)%tyRDNn2~|}qVi7Q*}7Fzi>s*Ub*MbF?!N(t9Wcz10|f!tCV-|d2`RhZwg(~< zZewG*pnDHRu+hX648X1i%wBGRuKrv6Q+N?1JPySD2TFs+6-EYz!%MA_@dJ?D93cKm z2?_VjIZ4342qZ>>peTZD=(15P;*K~^LL}WK;e@2*`2p0zfl#oc#P#~OFY1D5 zeau&cK=p@j=2C$5Br}w2p|o1nBq06_7%?>1=zs zb|p<8TsNWivj%Y$Q!oF14;3k&V>o!W!f1_=F%nK;AFM1{K(qz>CiJd|2Pm#3M(|&`;3exIBZTok6{<6!d>EPj<`+@9s^OYy)WhQbTTSJEy5fOnHS%AQi z&0?y8am5vGA0i*{rNAa7{SMkT7wBtYsldUJg3{PH-)WoN>)fWwd{P7qTkZwb&veyC?aH5di4lTHdu&aQOw%!yOR6fCFj*ti~Nmbv3mfkWR9s^pA{z&Z*uCs)SHpX%LCl0rMkWVB1xOU`@cbFn z%l*Or!Rb-dJzocSTPNIjkR+g9zy1J(xZoj-*k)I1d;og}0C_-Yr=YDZr>Gd~^aXKv z1>sI+X6E_))de|tP0)Z;2B>sM`v=Yh;ATt>q9bj^13@)?n5pb(^35V+-mfCpBO zlADE zD-XbN5DzZsf!(79dfNi-+`4;rv-}z8Iw0=Ry#cC46_VE1s`#p$q6!KmD zsWxnMAm^F8p$~}zlv{2mCYF|;^7G+kv)z!@8XBK~1_M!)AO>55nWBit4atv4V;0c>;k=*SS@D6o_$oIZzkf&xRJ?wZ?+ zyS0ac*8n@AXJ8P+7vG_r->U{dg&7Rw5Nj%M$w3ZRAHFy||1d!oS_j%!X}=&QX`lrK z*T19l@|7J#UIMq_zXl#q6{*;fT$W^pK7b(=-@NIA5OLdlJO5J+dL0cT*T$x9o&v~9 zkYO`Y#DA7K^Q6k{9IS#QbJntZ%h9cSXh^vj(1YP&MS%JsLOhAeYK3?&?~{g&qx=84)zYF{NL;$f~O&2J8X$ zy(AvHcZoKia&yZ7T z#lTS1z2P4au(;>U?Xph|u-HLYva5)J0X69J0hP|8>*(%w`oIJZ%wY45sQo}c2Flfw z&?Y?4)Iml1)#czFAZ!m<^!%M3O*Oi40nlXt`zLJLiz_RV0BwP&5iukk9F&(!7nB81 z0t^Zf*od8--5Runh>;#VgVVG5s~-@TJf7#=Q3A(Aun{dI5EVej=F?RXZ!BvAR0?0S zfYd*N;7bhOQ-1!2Gq!O}wENfCP>&Zf1?v8f9J+BuA;ffx$X>76^Dx%inZTs+b)JxH zSRHoIe=N|(E;dF7lA}O~3`mM~4FQkg1q-pUA|R84Y8eni#OxC?EhvZUz1NRip>~6y zg3%`x1}YG7@bUe@^JjH16Lh_fwc56}FfM?0 z9X9v%Mr|Xo9KsIk6oDxMOi$)ACXopJ?Fj|PwQJW9weI{mEY|PP41%B={0o@jH3Cq3 zHQadv>8rY01FVZcTnM690}w02=W(FAfZNshx*OzUAYeoq-MKRvS=mm@YCIw$Wb_~{ zef8YUh|EG&;rG=ml~lWKuBZE(?hSs3P%U848+tQ3NXpWrq!fg zgIGK{ZXcvNdy$*OZh{M?A5tj8EDpLR6AKGC0*lALL#jx-Q>RL(;{Zq>o}V88=O%Ti z_7%T5Z_~;owZKv7@NfIS?SU=x1M^!{*i$|!KVbn}8mav)ES~-RB%9sboSyqKk=142 z06HGnx^v~}c45Adl8}&adJaN>mIHn$#6A}m^67odc66tp%nc{MiA9#v*ytffsEn6@ zQ`?BvNouGbc1$7^sp%G3Nc%5cp!b6JMC@u_7ZFq=Dr>;J8^E=mA4ALJNyE7RLgP4|Rx<3)m8K(9huuY4S6hx1)(cN76?Ta#t8KXpd1-MQ zUq9St*Lo#Newa-^mKLlqsftd~DfG3uS*8g;tAFnvQEXaHmgq;`iX-bJExX@*C0r`xP#> z;0_d2wXLERW{+gSNH%|!yN70+3*-B0$eAD~vo4Gl$=JeO9$A3rdWCVZe~R*}GRN%0 z&>6@7{y*VbOw2ohm~ra3i>0*G8QbNk$bVDy390SFZ1ZfcMiLey@ORFaLa~^_hC8@{ z1|_z4gxSfbSmMHK{;Zjlf3WxY#R132$k_0dpyOd=_*8zxRDNTC@GtAF>K<)86cbaE z-`5E>@3y@1Iv2f1w)(5&>W_P}hKA%$2lB~?DIJtxu>qCw;PCtU|NG^LsXo*gDltLH zyw!=S|LKVLlF6N}E-%W^{`OTyMn+Ph{nh@mHBq)4Y#Ek)JX{4{HAB)wl?uzNvY&~G zi6Ign-iYquw3zCczucPNFShasL#kB7Ulze@L3G_*G;js)3=zok)2MWCayo#tF6g;a z36mks<+FY(&-N(K!)#T1i;eLTBZ%}8*GQ;O1QCfVRT`GBH=r>`Di8VAW%q3@0Fg$j zl#;(E3x86q&=P7^;OPiPa3X_qQli60JVrIl1OakCNZoM{Qj+5_6q}Fgu>>>FLmor(9zN9 z68jLDcv>16?C27lDX{EH!K(xP=1rv4gq@AlCS37z$ByR-UuY*KlAAma(r7AI6FTzehv+>EL{u;o-sgvKsTpthc~nUZqMWD<~F2(6y;=Yn=Ftf zVct%Ebaa%XNDs;K0V$~gSVn-p+h)onFY`Tu=_3ZQkU^utgkTpi3B)-MP92bC-iHq# z@?V}V!xS_U%JYm$WbAo(bOc*$15QLRl6!L%ArlVI&dNg82FDGu_wp`6qFvloxxKZHGhN_GnIOc8Qo8q1j8YCNH@HN zNLFk(MlmBtExx3Z~8Jrl_Qb2u z0*QsLA360G#Ni%V7;azoj>wc!F2*@N-pJ;O#;Jn$SU5|%wB4db0_fk_8GT}(y_3`O znIK?Gh!r#9(8vdf^ubI89$p#pcs)yd8m>OB3bz4>yZne}a(|0$7xfB<4a46oL(hIV4Vo%}Moo6Ifz(eS{04gZu-oeYOn0OKa#EQCR0B>1j(5MJTwqL|U`|$8^ z7rN6A%~xm5Mi7xO)_Y`m0X998Fg=8UtF?%wIC6p%7!xo}E<}%3lTTr0P<_NIoDAhky>Nq1sROX-Jy6J zJQgFTm`gX|s}O8E@`^r{za}_C%Ewc4BN-U*`9NP7mtADyL`q40dwIr(#c_y`f`zVn;bpZ@HwvZy4X5z>drl=! z`gn##h%x+xx)x}|GkFgFxloQ$>?dFEiKw0xC3o##h?6!l z<9W$g>kp3cfsn=HA;5FqBQSx*1m zh>+7b6kB$_wVXI^z{cp~Um#Z9z>ZOZUJ$$|BsaI`&*n~$ciPDDu2DC^Ch(twbti#p zbpN{;#eGPPh&gf2dn6qq=Br>1R0?B7I5?coTX6L`Usr9`g9UotKY!jIY=f9R0;Qu% zsK##P2h~3}<6;C${Q%x<0IPfLPr;%?SS?`qw%%v?{ZR2!rPkrrJ*|nkMP zzens{+cK5c^sy}^cjyD&pq7juN=U7@~ty3-sb&a(V+|8)gUNVts8X=rBYT zG2H2QBO(d=$NVXb@E<>8p17Bm`6ekI<#8&Z;ax+0!ngEWdOI$$4fk$wV3-JmwHSw^ zP;LIuzO%8mN~caLU}eAQLv;O{L;Xk>YOJ;THJo~HnqxBmvp%Uin>hI)6L;)xxLNA! z4&r=Ql}(Fm)uEaZ_&R@Mg@!V~T&^-`U#|XT> z)n&XQdTq_0`hn>SAK^PBvHJo(c{lzJV*C3x+$$#hBO*CfM=fQ7)2S=rd_%*J^PZ+w z^ec>_n?a>%G6eQw6Fk1P)TGK`7|P+8Os}7vcUh2T9dzSJ%oKNVH;ZHR8hnA0FH z3GOQFFuQ5CE<1)xy-w+Tx}<#(ya}eG^iZ@I7xRDx^0k@;-#e$@RGZo!Cu+6<8Yn38 zhFlkb|I?-c#A6ICBJJL2tXf^8vh2Xv{$KQku9uS{sn3yCX z|3WK=yymX?ysueaM~A%H`QpUu%Bf;3=cftsbm46a0ocA^^ypjSv1JCSXg=fXSMWa+ zOmWy41AjUIpqv^cksr>&pE}>&& zXJ_w_m1OU65RScfk&(S3``GI^w#;)xRz@KavSlVRO7^PE?DBixpU3a}NB{NUIOjh1 z{eE4q=XG7+9&HP9UcosP2Ml+Te~&)5uIIUuEB#k}0&ZEUX>lpF^4ki5k{{lmcUbyP zs6vl63;-Lk)HbKxw3}O7OCSUIv9og=keB~L#M(OO0A?*3gH|zU1azpwASxx%#_sp- z-Gk1cZW3U_=T0IwaVC~a0wUqcYig3`J=&5}LsmKN&JzEfws`6Uq#sVo_*2um-^4D> zElNbCH(%{u_=Kn^xCw^@nG)|s0iLdg42Q;9_+#f! z3LO|&4Ce}C0++ILaWVd!1|AYo!H1OiTNXXyVEfaf!MF2%TS3cQ}hi@x4DzQ$2{yPbmkolML|cRVYsa+TW=EhtKW(F%$ilCr)X z!eB=#{V%@tOhwm^j5jr$la@Y-jjcjQEuiwPJKMWVS*QQ?(!DD!MW9EQM7l4lDDgsx%Ycq5 zTw>GP_L}O~7ZuZaj@>*Nh-mZq7q8LIH?fHD>A7_wn25QpHrK2Wo(9)Gwo{9j8h6n| zgYV}#Ol4(Fb=S968dUrTp1*JfGi9@5 zOFlT#@je07yM@F%`*Zm7!2;ca%Mt+?;mH;;NzZD6wbKs_5p2GmNw350eb^<`?b~Aq ze1tPYG|*GDxDm|tl_-jduCBOr+)70_7^1t^v~A&K{XdVhi&PeY0uJ;U`QN)+UNt{D zc$_Q$Y%vIYuqUU$-9{wLq0bZl?uQ*W7Tv~A)qnOSU!d$>$wXF+BQ+KW-H?uB*L1jS znfB4JJ7SIXwRK{``^Qn!{$c!B^$x>QOHrX{Ct7i~PO2ZzP|=`Vlo-uJ@mt2<>sH`o z@HI`FbMR*+Z9 zOYSua=P2@o;tF~gNsu5Pd@s3#@7h+9{cFd8*t~|fcHGela1D(;Y>(t|&Tf!6&po(? zcSMQaH2T}hf=~P z?=$HU{TU{E(`uz+HB=^7rWaP??jA#K>Dh%}cIQV$JKRK~bTX1!Zc;x$xrTyBhD|R4 zo@70zI^vu>ja$iSM@P9it}oMdLQRpcu9lc#7>FpL4uto8vb}pC7oEK2kTl#6lff_K z(c})Ts5TSF#4t8{-KnbY_jQfkNaLCMaYu17AP7fr!IV?6f-t$;Akx>l!sqOTr6v{8 zM?G5@ULYkULb%m+@MI>m$(IL#KRLhkeGJe37x}$<^GK^5u;+(fg z&`OhV#fe~r*=SZ6TQzP9?@N2j4!n}8Zi8tmgc56X?H)U3glhj0UfS0vjXT?uPma{( zfD|L;p@QZ~=N=l8VZ6ryXQ)Y%umH&(7u}PZ72a-5ZUcDVN6d3WhG~KID$fFCP)#NSU~6+IoB7gc&%L5WP)srli?W=p8$O) zUH%O*58B(#jMMuv`O7*3OE-&@5P z!C&`F1lYQw(+)UG2=xmUTvZ1Z;4w$EH6{|=b~$=gX?+djlw1|rSqjp64aGIdY@Tv) z>3Ta_lZaxx)1h$`^%T!dKf)LkQmObsTH}M_@sS#8q%v3X_%*dyf3qyP%vaQL{FW65 zzL=4svS=oK-9t5x5%oJ0Hr)UckdIvX=Ut=63o&vZey{9oZ`*?hPq?6ANUO2c(aik3 zmRwQTNZ-*iXi*pH#0jMMB=i!(nbIkZS4JQ9P23cVzxd#Ex%6AMUG(4 zjIEQwG_=BWi9)#cWn(rp(Hw!W=FK}U4x4jycDX!eYQ!AB@e z2D7F-KcZB2576*R zWQpap^G&-7!tRz&V@OvFCmSA|UWvL}VY*p?B1i{Lw~at%k%(hC{p6Z3cq^iM8-$cf z2Bdgr4cx*Ex(dn&5pIr3ohOu&dQ+$p9BL$=pPZ(P4DVUe%WjCvk5+C8Xb;+39jNHct*?if>ZkBBu)?HQl}2tV$%$kXC=?Ua`I zwX7Wm0pNz%(^AUp%K;-KssQz^ZZ-!h@Bs(jp?T~nKQuT@k#vA)KCmY@g2HIZaTtMEo_+(Gdb z`3|XTw#_%!2d~hzMd~TjF`SIQr5o#^U!bts7D)c`!|vKA+;l9J)>gQlMw@|uo4*5z z5U!5iyb4!i{8MYKOh=%t7wyA+hjQCBMj$Tm{Z1$k{Y zlSeI8iLX~u17)Qt0BDu0lu7|IhHka6>zG8bfB!nw>CE-6v8ziFdM|6O+A6B5R#sT9 zB<<+zla_eo&j_)I`0wAX!NCyd?;sHx1b&MG(GJQqZnaD?_|LgO{{RspReod*ekci8vHI-A+zpAaYV-HH`g;PDRH)>J=Y=mNumU)O_X)U9 zJSS9XCngX2rtkBqKPAPoDXl&@!knR9 z>m7s1iJdm5j(yihXR1T}H`iin*wQDKZ@K4mcgm$&Envu_Yx$+^*?N2Z`+k`x*RaH= z*sbYvme5eYskylB)CZw7woz=`p{gh*#lMEyrEJ_XbSAvc zmQJ!N4{C_+d`iL{U~~oFYAzCGxwAoC)Yt}CIQjbe+9s8NNdcN(fsR|-asC7noDr4O zSNkkiT~HYeD2xFN!5ToJmVnF~@2U)-3rPQZ{KAh0T8I933HZEiZf*ouEkKZ=D0MX) zh_2b%-d-NMQwMF&AiWPv$IxZf=>N<7`AOTNNWkv}j@p&`AI@$9exG?{WF!ReCL30} z!L;Cd{gG&M$*xG=Bfg?>xB~*aG4=K7P+U8d41GS4dI0zYs9tM)c6RWViKU{e>m4$g zJsi+}k>aX|13_Pp^pSd6H+V8D?*ue4*%PVPIHh0q+hF z4IqcYN;K8OAJCfv{!*wU915JZ^ycId3pJ1;SEJk?V#+L zd*ZBIN7TRKiS)!#r77FGZhxA{CwoVKc{AaZq(^JyPkqTlh3gTATyt?+7B<2s z;Fl?_uOU}N&1(}<(x#4hP1IYmze#+UlBv+&Jt$)wEI&)4(B382O$mY|SGC!L5-X-Tgqf8~ta6ftIbXlI;q{ZpJWYj;XHAtl zQjr|bpCSuEWe&RUd%Nx{(D;a`kV&bqejd;?bt1)ceL@A0FzJ*_4PXkIeYG# zytz%pEgOWS$M~yBPWK2oD*uo;G*0L9yL5RD;_BFP(&<y;`TfyK-@p56-2I z_c!nUV=;L6oKZ~o0j=iTEd-_OlUC{VuQpFD`9rA{UeV-%g%TKBXgz`BL`+=V_o$_b zT>TO#9lFpO9_qS$DF63}V%G+2)gb-96=e3ORyYb#6BPt+S3-tUuvAM5bYJd?ht>kX zI`|8+YXN278$1B_>r+FMz@CGtaqbL&oK8TT1xU($<1s;MBCvVTJ_CXy}$7%t+!&hKIi&tSM_-x`(X_x@1*EW~Sw1I{FC@!r% znN&z0@%8i57oef1qq7C;F$jYN*2V*_s*V_PP}2c+bIjmo3>E6yD+pu{qv2S|>Hy%K z0Ynl61@UIWA)WX?nFjEbt3a~^tCp3Ee-uQ6b=mY>gttey*DT-_Ms>HS3sTU+1dB#l zE)F}AN|g>oRSl8w)h0&;#v$|N2Yw4uPSwI1)L7Bb1d^m8|Qk=)TW zPvvHFryDb_n3u|UPqAv%(X-Cd^ck;_&oNmIdCZKy{c$8)kH}7Pin^(|0>AI;dksF` zgPyX~2~kb9CVS7o@P7q;CsaqrCk9WLxO1!7OnApLSya|#MY(&4ckVmv<$O4jiT1+J z`fW|;zGK90mD$6nf-%DeRwFiUnT zlgUCQ6S)t3xYxXM!M0ORC>tD+@@}$GCvyA)R~DTEL|*~1ehttc^+)P8xd1VS^A!dz z6AA&N0Ehn;*zc|aC(;sV=m7UH+vrs_;D!Sluk`PhD5a84@c7Xz(fa}2X29qE2vj*d z^yr45!~K?rGW#mf4+1AoO*$l$><@}(z4~tlyav5DP_-67cUr*{8=^+Q4+Km&RL%nK zLC^sXxR;i}H{&HZx6LphAtxe-3>L5>Q03rTk8cb+szzhFZ&b%v+#hnxW&(*4`fbn_ zqcHT?49bHikA!#)2v!H{yn3)-hW7KIhXy(!LR?Kr$x_^*O4t~nUBGh96TB>Pylc>D zAYLWXQFIW1NL_$Rg<6Cm?h|^Kz-t8X4&=XtkW$fS$8I!ttv`)DKL+SYj-rFZ3gb!y zT6_(~UB+1`8aTPG+Ax%6EbLam%Z3s~6{Mq+G0~izWjM~9s+`JwWwxB=Eu{)<`&?OF z)Ley`D!fj2KE-6<*B#vDFF{rOR_?ia;t@1Rtfqd!ROHLrEQho(wdnq|+g% zOR#hPQ&~{@)bP+g>5m(p|BXc>*cP#XpX3%jVhA~SKHQB=OJWtK2^5ZOpdpDtDyu5$ z@&XN;2>*;6`9_gZbrv>Mk5hX1x(VZ0T+G$0hnULi%xpv#I3`F?3K|L={x;jUZ~A=N z;6v7m6AX{+&_m5cHc;TDPsL5*fxr~+Z|xXYne8V}1|LlVEbQ}FJzegMlGfH3H*PI= zZY?W!S%k7p!2LO~f`5fRbn`OErl$kJ$hm0F9pWdHkw{Fb5MSj9SF($y#Qs5h+UV#* zKntZ7ZFI(w8)cKc_>#a>x>rLPlx`Yg$?-n^;AT@Hy8-+-eRokK@Ycn(zCAc(O5@tT&Ny~^l zZy70)zq<7;NB^16EU3x-gDljw)i}>`TBVQRxrr}0=rAis*dNI-org*{B5Fwx%_6*o zHB0{ND@qA}2oI%G)mJv=Lnu)>YiR9RK27YrbxMEx*OYtCjeb&PSduYXrKt@WJucxQ zc+;tdewqlQqaScXuMCgAi~^BPLr_xP^B!B4V7e?jP9P|7@yURJ-V{lvB+PX3h;lVq zh0bE|_L?Wgs8WegOVvMtn+C^fQ`>WRTQBvuE@yEC z2E*ixA;+8J{+)TSH(ooYjvde?)O=uP8hAiRP4w;OT;mJnZ=ob4#}nVbs)Q}FzDa(Q z7Q1oPk{r*Yt>UccYH&yTxMQGgU0W@Pf#psJ-)&FRPM=bX?lkhJlS~@5bd$3-QXYG8 z4v&;0r_EFQlCEg4vjgO*?oEuE0n9zqYm^S|q^LRXncQ%Pj>t}#zm|lPl5{5J1*U9S z{`NidZoYxJn7cgH!S4Dkfx#Mc8$#wRTTpl_uKQX81Ef8TtjS zyR5=iw^jW*+pg^H)dJe;leIwb#f_eO&%YO!;^i#Nx~17L*xbQ1v^2PB z;-E;bCqR>$7I~%hdd9o(U%^ITncG)hQY3?&fZrR0h@G-YdcU3U+gq+v{zl>6cDG}w zVCYQ8X6$!k-nMJV(s*$H89zl^=|oTpP5hRtsvoIz(_TbI;_`e%qmAACT2^IBc?%-l z4Y8JE#8KEmB0KUz))G8QCsk5V^?MgxT*u3+Vzl{iRAT!(Z8~0(!7anS={6WgytIib z{9}p}O+53f0S*y~R5l!JvQwIVWm0OuQQwa{s&itTF_{T>rRw^F9}U&aFpO3HM9#tc ziL2jtBoSQ|Yl$5h1H&^;l+FbO^4BWhQ{!c?t z{}$LD%D6CO%#{~oc7jc@3`~{d!}py7o?B*aww69O`k{Z5{rcJ7-R0PSWgt2DR_JdC z_Vx4xuEneKnedu)Q_y^{Be%X8QrEv<`k@)b006JZVZz217#^1x7f%VGvL&e0beX{7 z?!Du(7b|Z%rteP?Pjs&nS%yZ1ZVr8T*k?hnzZLb{yzLy9cBr1HL+RaV$LD<1!*eBK zO+tr^PPIt~&ToBXEU9cV2cliC4+gbT3(`o4G)Yyh!Ba@DPtIFy(u#&!&zWrn-{M_J zytnG48WAqWiJLyAuW`!2j_SvCCpr>Esa-|QXR?LVymt0mq>GyQfrfcr|LC+1tS$+BWHl_md}vxm@juVG|B~V9*1hV7e6deE7XJSD z!3s4Bm6s#IVTl#%2)arEp!E6cSGs1aP@o`e?d&*!jyW)x11${@|B$JQ;|VzcB0y0N z0NFBz*9IOng7bEdP7)fyasK?igam?@IuNk8B7LB2i-a=1Cr;$|Y-6l)Ea}A8uLIx= zq^=hwEiLV^ZU$yBK&?R`8vq{zJP|mia00(Z+ff`+T3lQOxZ}aX5*)pI`{Pow$2NkN zVrYSCrkyV#_&b)w_^uno4guH+42XUGpw9i}?1wOUz~=%Bjv-C2Fa*JY^(y4I63vy_ zZU>el^@SJvU`c8V0HKggWflgJlpI2P(Hh%f93m&atZ$i3@1X^%iCI=f}Mi!#=B*u zjae0?=XPIQ`BN@T=&asa#5wYcM=K!&KI*~v?66;m*+`s~i@8dK1C{!^xR>7F+#0~G zFL-ySBdzak+&wS2O%EIY9cGt}JGkGrQyL4KN?ws`NCvx28L1d*#yXer#jqxW^6+04 z_KI{w^FF=zteV*#3=|@>FRL z5~;p6J|+X}dRmh4P129ruC8FT7nD~$k^DyjYASLvVMFIATO;zQ7XVAQEl0J5a$J2 z`@Z@5`vV5^JTNKUsJX5k{G82Szt%uOsti=!3d$!JfKajj00)qZAgWfTvn%RG>%a3I zU+soH)FG{W^#FW~5V%?BORd8Ss~JjQV}r zjkn+}eQoV~35G)yh^NU1cfV};Yejm@FBX5m>E9rC(Gv%Yv1v*lzY zs%u@ENm2`skdH8#m6nJ=3%S(b4!`vdcSP?iGq;-Q%~~{%2EVjivd(L*MIQYkY^a-b zgDGe8t|~lAHX4h2y_Jmsi3Fd0d0So4^&4&blg#na>;^WQ|d%BBNh1@^ZtuYAa7u@ zQV9#YiZf5B$Xcpy9JL2`&G#4IcGp4usj}+`WDx~{CGX)dk?h2N@JZ_cT?$APp@Tc- zKCKLEJAM9)hxUCL^w9pb&%VKoJn20VV_>M+pKr|JlmS z%ZD$90Mr-+)LhwRAHYmI0PR#=uaX5ggXQ)j$Z(P>=H&CN0>1h2VspSu3n^A{GY~)u z_8Gc*Ad^s6m#mL&ee}gJAdB!ifflR-^g3|MT`lk#eX#r$44?^rn*V{nT8}@Ij+uEq zish0OEK7g^H48j+GayCyjq41+t-p4JKC_HF3(luRMWervMvd6SrCY1~c{(nJY~pY< zV}0$-NW{y*+iLw?P0Bdykl#L2fZ|L@|5mUc#}|0gZ9DsJvfrlqpHxgV%S`tw9!Wj0 z5?FG6KkD$>J%;_Sz#U3@eP<3&RQI}Bbk+NZ8j3cvwiUwT+D1Zh40V|wv-h*UAb)8u zv?H~^t>Nn9Wf)fxT@mc=Z;6pJhafFY~aE&G*o4ZP1_o|icqR}R@WC|d4ge9D=t-BE3h%eO{Bd=4UOpcZ(@+y!7B z5C*gpH|AWU9&N(Ubi@(B83unPx2<3T)=Oi|k7*g0wOF0@6a6!KN0;|eY7M`;C(-hUtx}RRyNBHf zt;BnDdLH^vNXaCBIbNf-{*`ob1wmQ@Q;0ZeJR6@Ef}{2!Cjsq+rV9xofj@$rhky_7 zY`pkIU`djUDwRoysk@LMIif77J$9NtEn1(^M0Y8OFE7t^k1|pesia$|!am~pw9t@U z^E1fvw8oXsFR$%Lv9Az``be@C>*Dr=E4Q|!*ga5`AY770)zh0eXIig;I0JEh zkOjL$&lWJ9^~H+-5(W4x83?gifnXo-Nr4KrHQjA3Rp}#3A$8zv1_@#E+e+VOX8OTf zedV~c0?I+5hl8%{AL?f(zh#x!{DDQ!%XAamVUhyQ`x_t;6gXm0Bah6$b8e&X8H9#H zkvh~w_=V5UUBJ_27^;HO#T=o1~-j)Jvd4t`l(`wd*eTYlGj z1T$(+f~M;7i7Yf!h(C;H+COj@;8#RABjlz6#~ERySvR@Zjnk|)W2zeCI*JN2$NgUH zF;%Ehvux0B=GvqRNaV>}Y*z;%p>Jr;IUHDJGz=y^dW1|5am$8(`yy2)6 z{7-k>s-2$~Fz1w@HeaiTrI91K7bOCQ@R1SYLs`yL$z!D2#y4giOon49Me5NSQ#+hP z*DG6SlqE;aorqa6w_QbZIW0_LOErdb2pG1v_ddJai9nH~y&pXPu+D}^{=>N~x=MiL z%_0(adg4<1)V7}`pnkVgaoaV&iuzjV2-DLFhFveC(tw+p4bisjD3Dz*{wh&zj-c(lDa?kJ1 zP8>+eQ(%YTMzXSI!hwqHFq=|R!X}zaf`Egg=fIjb@TH{|?=vT71)m1K%CwJS{Q)d} zFg6V=0vP7|2oJVbRIi@YfDK=%rO@Gy%~c*5@P3QmyXOVSQq&-4$L?pa6=}6Buc{)h zxd#r^>J^{WR#<@1JjBg`1e{7?Y|bt&^!t|}?1Yyl5v*##iw>OHNm|`6`_?g?Crm=m z%nUVD0>cX^Y^Mj`fqu|#bqdyb8vL13%jQ~GO2}2#+8TuS!=y;;yvLkhx5~pt9Mtz0c6oXnWv0!5VL0XtY{%^Ha9KPXd}U-aIWo)7ip1A z;~4BM8!28-B}({xnGlbk~F`* z+SlMi(9N9m_*n_K@=6Mm+{9Dse`j4%86NK6bKOp%#ELmC=aofG9OG7YOeX)$Xo}T$ zH%`C&y6XC&#}fKYb~QGZUOtrHZ1M3`Ep6o>W^3zLNqGrr`ktOS8>YOzB>wyL7uvZJ zFR&Yzx5Qq4stZ)tXXCSND(9|rmPx6tf9lM2zV!BzwwWAx&E{;K?CYOy31%xX(YNiJ zzh2&^ZMkd}$kk@9*K+spkXsIoy|bZaJkpuK^Yw5!C+OZvMKFa2cpT6xecAt0_C=h@ zUFOS%l;u^`Io-tK#0SKXWI+>X0|v`{Am4<au*O8~)vi>fp3%c?0 z^0`-xW#d-XphGut^!k}|UCYSH|0!7l6CK+qm$3l;&|+sHVCyi7Wd4 z=*D-O>#KLd`?`)1>7ozW*)UEWgQv_1U*{=WT6^_)GYN^W&A;`)zAede|;TF&Gu7>IFqBzSzx3a$< zy9^}N4nQ)Y#0_>qE<>%Qyhb=i53d{f*3n3Npat$-=6=lP+2*AF&ATwBYNFFN+WXn# z+cP98lq?kCvof)+=GZdp4R(S?xaTX>B{RiA>6`(Z2a(b3Zc3xNdFqaeO?5l+?lSjv zl6TgDS%^wTdA=>dTN)K4d}HG%w0MPRYu46JzRcWWBp*JXIK$$-o=G+HC3S%Z3Um%t zM^0R;(bsD5x$Kk`G8a@;G^gu3OVMAfGk?{j;J64#=H;yaG&SwBN*!**xT2cgHls9( zRP==EpY=aP<>K|>p^4az7=zC*^tvBQ$`7;#r1>TP-6HW3xF^vLO(2II+#l% zyYq)cjc(@SM{*cdV{El~4RgA@h*4owlZXnVR3d>Le+UbQ8(|ss!?!(x=x*#~C8>!Q z=Y`-SB~A4zln@S07B6iqpYPA^J2wrA5S%Is!)OuAR#d4;0~WiC|C_>Zmd2<1@BlSUX} zFRJRHNapUKM%})kp~h*{)6mS_t3-D)^8vEP4=cSCsSD#jYy`rg4tYQ$wU=yMc9A^? zOu))gEX%(}>kCjDf06K=@$a|AMHX5DwV6NObyvRr{= zi$^yiSkrL+f^2}Ev44b)WxWjDrVT$|%aZC!$~eUKuMl2w-1YuSdPa-DLlGP{IyTK7 zaMN=tP{Q2BwLX74vcAZ>IG%pCk(!tB#@ZF71Ls}werq{LE1u5Gd z!tg?~(YR`2@7dQg5;ble9@6;b9RC>}n@`-1nlE57{MfgiI+Ou}hl-?i=R~WwcmH9# za9%dlk9IwkZ(X~%A=HL?@$9($6_sM!w?1(lKv~ro6N9;0C!@9XK{Po~?rvhK+pV7p z3)C6%uX;aln`aiV1V%VWa51mx>+2&}^FDiDa=}dm@@jz4lv`B9li~oPYmiQ6;`utp zCMNX)uC}i8zx>TWn1w>X{dD8})jt2WWb(+$N>ei-~}< z5axa_Ae(fH>+ok1t$7FORl31ZfFuO3+NF73TU)!}K6RaOm0^{Unz}k*{;I31$A9_f z78HP^68Jy+GGtilm6a8NyLTPtk2~`MLPK9XY8?Ff^()Q5KG`j)t+sxt*i+>JomrG;Lps9+bQfr~n{8H8oV?ACx zE;p|wG@DUO=b)4*pISIAXQToh7NGH+;-mQMrs7-uIkW8bFSxg1+(S-k{mmlj_cUG} z;h0w)nUxNdzk97^uS>Dn)%dsTlsnMQ=Qv$hNZV^VLZtP(&V)vCnz!B?l2r?p57iGW zkHeA>)Uj*!P&j=Ah6!=H2@_v+cW`KlZ2I(wDy-xg6g(A4>rFReF_%fx{Nxy8(Zy`F#EHb0nns z36to<(+3?}z`!4PFvt_MA-zc0sV;Xw0gY#A4_}`3@W_cM+;f*Ae5kGMxjn@P_>#hi zmr|X(|9~!JKX3UCY#d(CI(dYx5BdpK34y?t+X7yLsg2EJFRyeE#pR*N3L%a!b&LAE zn4sSW9F{tA7qer_LCl{&f8H>nhp^S!orCk451?=J3Br zkmikWtEV!rfh@bn4h~WG+qZNS*l$9ltEJ`Yb(Yi4AkPgG%Jk`t)A(VZIm)AvWK{pd zqC1pZj^pn1gpu&7e+!E4L-jk?qFsvz=I^`AabD$$>gT_qz+ksOdg7-W_n13qCjV@1 zHw-H|xftxB#;v5HMijHlo#+;E2s4$dshw@*d$9d(4#X#LKDS9e_?&EAK7r&2eFe*Yu<(-c4RcJGd!YHcu~ZD2=B*Q(PSxG1mdf?EEk-39|F!ClEQFMo$8hs+dHx-XKh}huQf=<40tpP1H`w+sk)XEfJezpqQ;V;##6$x3|fcTmrnR517{;vTVu@JbD zZ0R#{PodPU?TtKtPHwK9herzJC5Ap^3(5hIecb;HxKO(;3iI*L)W9m^S=8dgGy?gE#JJgwY9ER5DonF+5G$|F!m4K zyuY9T{vMzqV$EwvNB5y`Dg?Pk!GGQTw|qAcK)ZlCS%Pi=&}9iQ*j4atysJ;W&l7gQ z1A&!GAZG@mX+MpO?7y37C!O(o;Qy0OOG^tp*G|;WljxQO;&o40v_fgr+GguaLhbY2 zJ&pJDc>2}Mxev*{Ja)=xdWk8Q57!x2Y`81syzLk+aG%zyMB{~6c*;jubWavRo{mI| z8e6=C?1T}{h@XF^n999WFZA*%V-)1es$I^!bGmca~};g@N!6oDf4-)}^| z$&}xk*zp}8O=U%ob$e%)sjmwQ4n_=yHmMScxsw~wravdU-5+IlS>D2GZ$NR%6zDB) zHo_8=BG#Wut|s?IEw+`apANpUSzE(yAmLy@%SO_he6@00+pW!+)lcaIgUF~m?VrP= z@aRhXSG(=s#};6C#@tc27%?E%fwDjCYpoWYGWltNTyWf0sDTPH`B+wh#)Owvy`t9W zD}|b~{pLKAPYOxsL88uc9)dbi?srbGz5|-7k-gZ5?1)aiKF*Z^6C+$Nrr6wEdPsEj z1W^ecnC}ybYY(j9uN)fj8#P1b!3{6l(t9vy<3aO_rdbrE){k^|afr2lg0OgEJ5w( z*r~(;uXCr};npz5{F9KwliU3w(Dq2nTi05Xj3AVfQ@2>pyJ1BzLkir**=)+D;x=a9#Q|8nCre^(uV6dI&WQfsJ=#W%EX-LG^e7ZS7ogE z(lR>j)GoY)-Oc3(0|C*&54kl?BY~&)$&rqaW|aTrcy}rB@d$3j;xEyFb37hh zX6(1E(!ATzhRy*wUsxj_r7G)Q5tn`ZSS|F)XYA@vm;rBUM_iN->7GL6bH8Ry-l@M~ z+iu?JYlA{DMvZ_A$3F;$+II9nd^gX+;7=jf<+XMhE~7n@C}rch^AcD(-*!+wVZEPot4R- zb9@IJ!u8jHIEE-wR*D-wXK_IcyMa1p<*bFFa2Xf&@ZGaFS<42Dl^U)-N>~$pL z)A#BBZ(A?rT?Wha#go7CP;yLivKN#ZGOkR<7X9PxyvGVaB<&m>L7p6b?fZkFuCayZ z7r*}7WrByVNAoba$#p`vR=^l!!q=V+72~}BQ}c8UEKeNW+>)?ZE}@RoWtKsC*~f$p z$e+@FJjA+5rL>{2(%A??RxkUnghM6#9!APA4x{6S?`)w+4MJ=x$F%(`;Nys1|gv=h1F z=KYwacv|&1yX*5Jn=nO}N7CtbD}0HkOr9B%cPPiNO2=R`8yT=a4=itDyC}xZEK9!p zNmH84&|_fvNEVVtG(Vze@znd#ZxZR_-6(WKN~gH?WvwnXUQdbA?BkK{CW6~1VPVVt zjf!Ea2=1%deHK9{Z;*cr#RUCsKe3J`SJChJ`BMM~Y)?CdNf?p|hKC_sS+IKByhcr~ zh@~^g^$kN+Rn>L>i`H9RK%NfA)}ZY@JV?h50s8K0e3&GWLelFE+oeHizhhfq%(5LXjPoJ0C`uJReB|z#n zNYWmB)Ci^#km`V_eBIF@M^_4}EI>LA7+Hvk|1MnAgA*>8U^qB9oNK_C)prsKMx@d% zS9j8h{1NW6kV0^N1;doTKTW@vC)49$?JaDnag{!QCa{5k2l)6nIq+whm{fjw;@D^g z3=9PQntWzpJ7;N8X=oo51e^vRkB-E*e9yUdwdjx_uN6QjJ3BjIE&{we zd9iVHiOcA!Q`_#wW1jzh|K;~SClecy3g$w&OOmjQ&c%$oU(rZpE(6@>bW7RNyVpsB z&pAN$*d~N4+s4akaZ%a!=-C;Z&-@on*vW@~@-*+P-0sJy2(Q7=yCvG${%@4{T}7XH zr}$S57Y>u^nJsEC;g*GeeY!9IJ49Ogk-vykE3tIuwsK0w>G{Xhy~~naTaAoA$v0nR z-kZ$zZK#lT@m>?{$xF)_Y8?CFF&~jX`eRUL>+4FPORM|h|Z6{2fI<#r!#WD{R^>!%vi?-(o`mH53=6Ae*ysHv+ zwcsWuDmyx=Rr_PZ;~C=vp3jTaag9&jD>>v+4qtX<41~Qx59-3fAnnoqXIii(ftL6N z4N*)s`uo?PAB!&jBo@sl`Oup1t#wvB5gW}Ucn~msVBa*gel})xd4KHNmhUMDQy2kr z#9PkPk+;LG$~(J$q4}v|xu1eE;jNa;pGdSnUlwl2oIH0cG=SARJ^pa^9*qJ?nb+RA z9Ljc}a=X`E&9d&bJXM1A_4hY(7WquLfUC^n`$cQrmG_C0!Cex{YlF1IO_$?@n8o{x zQ$karZF3QRfnft}e5P@~8zjFu}go7Z*v)mS`ZqktOkf+ zH5-#(hB&=n!lB6p+lq0mY$I|G%^pd5%ob!*UrZ4a<^naP&679x)AUGH$_^KsNCwSG2R+BnfvFB%Q zhGpo;&bT%H{o5JG+4Y#1lspV>5eT9w{H>~Dy{s}@-DD~il(*$ht3UckkH2p>7={%V zAb{i6!`G1wWRZbJ+~nAM$=2F6RPFX*z6RW4=#r#dk|3d;m=^N8^pnDMW0#eZ8HUG;xhXZiy65@S^1|O8-+6cspiGK zm@-&X^d}X_srodldfrl&XeF~BT_@3=bRqsM8XrP-OPQ`$)0pbOt^M;!U0Uc%74rC` zIGp=M4!)eau4O5ck-TxjqNFjtNb4UWGUgas74pDnMaKJ14iAJB>!Ms{HCze|YzWbY zE%d}3FR)cJe2?J*HTO1SiorZK%sQU3h8X0hw>rn@R173 zcROBX+<41)KjV&Q&{Jz&k!DW@m-Cz$lA1?}RvGh^Qz7=(hSHfr|B;(mN+~~h=_N+G zh1LHL(LQzIdAlU%X$e#a%3|L(%b==JO$rj@JbO>~`cVN8-UCTN8w=H&i8I zaf6!VJg7ZuOpd@@os^IUQ@^~iCd$NH2eO;AZk6Z1JsQYFfRo(x%*>#pC_rm+b6a1Z z|HJEf)b>#{DVsuq(jrfH;{kP{0~$@@z2zzu@lBU|Ly9|BLz_d<$4N)=z8>t>xO;F; zxni|4{}+ZDwd;Jh?Z4C|s+0;d_7f6Ii5ocgmzXw*U{uNlvT*w0ltiK>^~9}4c*5UR z_}E04VkHxJso}onx80Vg63N#B;v5s~zhgV>iUl&319Sb`2>IC$o@tbLlH~K^xR^#g zI_$AdMNd`uzi@+-_lr~=Hj?Nj`wT|74rV1B(MZ5(Qc;6Wgp5_I>RPKrLJ@V8 z=r1@DZC~QFD|0kN6gZw_wg~#03o>6F$Vcp%Sy=JJZM((U!HqSr-yGh2>*i6fPkYIz z$uFx@)1dGuFvm3a)0ds`T79@5Jv_p#w?cTi@=UBi&WB)S@M&Y%3CYa2JvHquT!#L) z&jrF>);SxpsBFhRWZqEgPjvaSZ1OGk7=T7Us($DF0~!uxIOvPpu_&zj^5pW@;y=NW zM;T{lLEy~?Pwfw{5B{w>p=$D5SjPD^TqAb>1RgM^?vs)IlU;m%>4ke2o+X1FhnG0S zq}az@jDMD!S0>UKqQS(~-=>mYvo+;jo6y%DR#6qH&{-qVWO50S?>liY|HUi?xBY+% zTajFPtuY(GtDSQg+4!7|f4ai-|7d#4uqfNMZCe3h2ev>GY=5Hr_U2V>PWY zku&B+HnFw!Q4yjU_&F(G7+;%AjLZAr@}NiuOYh9v3c1>@w?_%bMZC(VtuVK=PYt*m z);zz~(L9gcjjz{wk8g;rK)5N8-HK$0sj6i#@J2$qqq%p$D(+vp>FDJ+!+sqed3PyQ zNJ!~Kd*WcmkIB<5LSm@2L+rvVPxr$}zwc#@)Ii@kSr9j!-ofzs?oAY1f=0olDz!E# zth!2vl6tf*v>p(P-brKHV9)r`vvA+Prz`YZOSi>C8`xnY?`r5;%TJf z7P7!h`W!?WVeG_U)(9#=4Z)j$Duf_a3jOq?e}X8`Ep_{eH8eDUHhZiyuJN4&+fz9JGC)CT_{N z?)k!=3&9lE)G}U%4t?CTadd3+0+M&X%JdD&`Cet2FXlz_#2C%ioSY=2s@RZ(K@+lJ zly+*Y(}g%}bXauaQoU~sOXux2m+d!%$?_=lcz?V${1f?`ynhx_5>edRGosWO6|p%m z$o1P6qvTb-Y%yAF3oYby**L`(J&m-3u~@VkP`kWw&~TuF=v+^rdaZqIpSwr7T*Lb7Rgbn zBlCMQTzUqbn@H`*vwj7yT+LOb8uTeIX><@ z#?gYsASHSI1?L~C69-W;X1+%viO>v*UN9%~1H^TV{Vs11D5+y2( zyyv#EXLP+k91VR7KunSFyGqusW7mY^%RNC>gqWCE7|fx-kb3Hg=Q%GbH+un0`1Ay+&+5jO-obXjlQ;P ze#4$;AYW{MK%C$DXo*D>{o_7tg*20#E{;)U5SjE~hmzj~wu3|~ zFHc6EXKd^Oq;HA3tvX!h=2rKnJS?S@Z;v(N6FyZ{=u0#WoLQE6_P>(~RoWd%qjY4| zf>v>H!N@0q-zC1#Y|vG=;jEi1h_)|fvdNHgrBn?e^-oVp{c_l-1g(p*KbKFBIo5hp zGn*5`%@N&K$r0G8OBluY(|If#&9BF%c=CMXKFv~L7?iBSO?7Bih2zkucere1G}YA1 zvY0?Kn_Tya3nia~#J{BBdW3cDv~Pz!6>LbVwC7u8}X7osElqN2dFq0Qo$z z&>D+!8I^Ze1nu-dqKYs*k{UrL_fp-*t|uYAF0jiW;$x?DUubk7tu;EsWPx9?ZceZD zs}TFke@l0eau#sujDhiVj6zx;zocM!zplHxPwMfHY4WITM(6q4WeJ>BzDTv~ zM!s>wk}#T~PYM~_)lglYX7d7pa$y_G>Y)AG#&+Z8clk1dJeS+1f-A2f31M>bk;Gl* zENcB`Uhjgv-{tv^7L{2tUHxWy!(v&98}KeJ_O0B{I;|V%IPJh2r)h`AuaVg4N2E;F znS?_vJd1X?`w_Z4vS#EXk?7-2N)KA+zthAT5!ni(YJk<1*0*->p~F?G`r$kSqlb7QzT z63D6;9&<8ljwgO?$4b2*4U05yYg`6jA$`b@M>6#D?oEc_CfZXMNFE7(_|re$&&R$p zx{CQd(%LIIt{^=vfd%?bmPkk`mWip9?Gl7Yh)$r+YU}e>sKCN#^Ld5OFQtPt!m}3S z0u{^oKS-g@$rUecD#=xTbz_#A`XF^BxS+v_8%r#5e#v*VBqCe3WMl3{1&3=_o5O~P zk!lvDRYGU+mQvI!S4(spa227pukfbmHsFNlC$fxrv?gT}E&12HZqc^R;o*CN%X^dL z%~%<^H3b*RR&LmXMq$Q_YvXR=@q7YDu18~Q1N1iDD}q6J8=(Zu&`XG143SLPJe)}G z+C@zz1oy=c$G9T$;(5$Sk{yw=Z!S)cq50;!ms^!mfp*myOKoDA;c|HW#fUq@g}_Z< z7r+``Plrnm)ZCBOAdrK(n!XzZfJ+MQ-jiY;KwV>3jfl7=Kv;i*xgtvm;PPe4Gv&B$Ll^Zguu+uvn}wws;oI`(K#h_L@uy39aE4GKHpoCkrw|B)B7 ze_obeL^vgsV`yq>n!dFB$G~4J$SAKgp5HtYarIcia&&S@z*6zVJ1^Yc;MzEzWg$dc zjm6pJ)9+;5H?hPn)1^e=TfFv-VeXQu#U{mb`*@c4;TSsD_k=uf9uSnp>eOkYjI)GQ z>T1)=N746NsaW%-eF=WNwT_9j?~Hx5@P@j08|kxUVGNzfqV>=R7d}o%M0%RbENj>g zEYTy{dciiev{Vxuq1^Rx!`Q+)bFAT#49#Ta%nWHIQq&OX@o#&ivo4S{Ke+bB$QRqM z`q=czI>HH{D>4N>#p-rosrYUyt>})Zozz#P>Z4 zo^-rllLX0v120$L`gH-n{=LK;Y&&QIu-cPfXB|KPeCBwJkBvQRkh*Jl^2WVH(9&(k z73$B6AF)6lD>MA>ExcxwqB0`1O{ejY+UG9~Z7Q#}b_h+FoVgO4^_)Fp$2vDmj*Tu( zKoq6~g#;yNu_gow!v?hb=FYnyvKWrC4D9c68FFbM_6sZjMC@qZ5n`&by6B*q;MR9K z=LnzHQiYpz1ZQ3bvH+R=3P-0_F?+BRDYHeDOo8sV-DU>LD1CbiMx`aew0D-)e4g4d zi)ZC6ME!$=+f;L&Y+Gu!!Mfcsho!Y2UhduTBj?X4Y8Fmsl-jTzGtE*H5JbSJ%SfgV z8o6Pds?ir2br#lM!F}Hu=0bT(*75)QNtgQ-S0PBHVf6a|wn_$I?O(Ix*-K z!%{l8595B8su%nxSpv&^BZMc7BU9p%zd761;!48?`v`i3QqDc(;LSe4$=m4{Mi8!n zD^K3CNO#$_sDPww%X@#-@pDl2@f@e|je3}gWkVc|AVT(rK;fFFcHll1^5H%mFjs0> zl(h?H`3trSMKe|BHIJ9i4qnBBCH+UfF1ILHVMMYDG&C?(1uyY(LkQibG(~A;pjJ&( z0;l>}vwhNJrn~4yb_H@J_ zf6Vb$I_SP4CqqRS|6YerP^M3C1GQn3pVBlm7|ws>472Cr@-F9o zIY^E-2#3q4%CpcdPmmAC=l3d=**gT=6$kGPI&!tbbNDkO&BggbvprY|`C6NUQC&-* z7S$2<#ZA&;3tN`4@uj*WmP!$w*b`Z_Z=3P?IOiCSOL^cg(UrS?(hgYIJLLx4g-^L{ zjMM!Y#gMfuru^QMzw*-q&0a{eY{t6Sprp}pdJf_WB;6N3=4i1ze&^VDmiLZ+u|*fm{9D)O zF?X58nK^@$c}^PJ_UtlVS?x^my*cZI?Bi{GjD{LdmmeB)Jk@$)z~dsvaOcBwA-AQ} zn!Cu`Pw!=%xduY7<0JGMRuKI@T@bDl~` z-7d0lWKys8KVA$!G6$}eG&cwBdVQsn4Wj;U;gGOld!R(i-rGC|+B@|0c^(OYJf5K{ z9LgO!(0EJzQUx#kX#o#=Fm5Q3gJ>7AX26w8p5LuVnCr9gefBVZZof!Y6bULQ2eLW3 zuM~q`*5}2Y^?*Ah75np0e6hbK;}6K`b&uy`JRHd;q=}qXkXK4I^CkMEMXQd?7)@gr zMjrF2!Zy6MICSdmTC~Z^1b=)jpsl`d(c-c)dmk7H#idy{>O=@5``+zDrK@ zB_2x}fgDt0Hw#t>9?+tEww`_K!QB)Hp_Ac&bi$2w-wBRnPTL8I_-;Y`Tl(wfFgs80 z-Hd$qOO86OF@9934o!>S9oNk5dskKI*AV?iB+V9@gF>ASFLTY?L8yF z6u%v;ff^+r-+3gEkq3P@TN6mHJ-n@CNgd4*@lRSJ81`BpC&T{X`AlbXg>~zkQtBGZ zq(SA|!Sp^qi;XL3+@ED7+E|5HzOuN6y5=BjgQKMY^q%{}$Kg<-Uou7!G*H2V!+T(P zS1;DHwEhr!s}Q|j|K)Y}ImB41z^;Smc zV>a~+%oY1P^V^GXRwPd9irrjj=T^ul+*+kbsTj_HWoea9Yezhz6-^TbNHS_3h+eP}%v5_s|%HjAq9aNZ1 z@sicsJC7onEU-xEuH>?`^N&fT4|i^`zt zyxY;tVK`A57yjfCJKd-+;)2yq{rYGvjONC(iA^!jGbiO3*F%DGvC!C*{^YykiogUQ zG{n6bp(|lX7vw3iDL&RQc9`C4TI%w{iu8WRkRVeyzz9a>DM>F(KmNl}W9q~u*^ue< z1-2SUIF3a432P&(-6hhI2UTJF(K1hHuHX!teA$XjsrSI~r|IZv{KmLCDom@s6K<4| z@BRF=$rJU4#=Bpp9yn|@a^Z{fRiD{iE&@8xsam{_)`#1E4+&Z9@=|)=Qn(wwV;^S7 zo=BY7$$ax4Eqem*(z>^Qx?WSzTJ-*RCcWiA6P&3l?kDCMDbcbis@88)F%s3>JL+Y< z+9#-Q)Us$7?CfV9J@!4R#HYev5?spYlCFPj$BK=`%jRzSh-OlTtgW^aD`eKrnsw+P z?sv+nFlT?{OU=rlU5UENS$QZxK7pb{dE!V!Yh#PSVV}$u8haebTG&Ni-s_zuZab)d}YKd7dkarVs1!4Cbh|Clr#P_gxDV4IQFM`rsH13H3Zc z8pp#I-*O7URsa}liJ1Q!BMUU!-ejdjw$&`6!4f(T=tiwWzg4JmI9 zKDFHu1KVRo)?J45-z#6e8x&iXzVHaBl#-4rx|2T-`F%DZ)E!8Onn!b567Ubn7CV5% zY9w>h&3Bg~9>!@SEFd&h^4ciU{6$f3@rpJa#*{j0AErWfzRz1dgj!~+Y583wOtn8m z8loKnRiA!pujp(x#V=7K%bI$TZcroYyjP``2`|+=jM(Bku7ytd)t>pS)>h z32xUm49^o&i`MPi9f-Wm$46nIPVh`)LwWKbkRK@QqL$5MZ*T)CficF-cDV`E*G3=F z2UssI1S#o1nhQl9|3;J6j(vevRQ^{9(*Hip`#r2Lq#irtHzPA2Yk8gooTN7?)+3pL{S-N;8d}tVyN0oCmPf@gSWM_<&?pLU#qJgn#$>K4uKwGv> zL*@8Xo=t0G?9z>a3>O~0T zT=U!Vj{MRe5+@zgOKB|HI9V5=5by8J>Qx-#c*UC#^UTHrB3^;y-r)IUE?N$-q^zY00^!;lCT0FNn z&ya7iwBTlaU3(bRyx6crcLd*_fN1zTjN8cFpr$P&PJWa>Ba^Z)r9s4Zybwl`q8NUf zzT^3@MHhOH;&XLkecc@ z+%rl_FhGaQ{AJl@ozI$v-W#g7v7*P`;UouC)VHJQU&kOh?3u8@+htTp^3fg(MOoa& zqC*OX$hc$P{RnBLV!mzLvW24!29@I0EbHhX5-EQ1CY0AcB)f=$4Qr*4#PhNf(ld`@ zU(4MRwNI+M$+@Z*f9&G{lV}^z`pNi0hSwnY!28(?WB8mCv~i$$jy=csY0pZ@!jYMX zV1^)1mT(+*b%s-itX2*8RqlJdy(i4cg~F0w_PWRP?|-`q%gX;)M+!~kG3t@_c0@aT zVat6?SXgE!mu1|+*=HZJg%z5q%x6ShEZKuqr08Xrb+a4C?Q;)la~07hPl!sX;fAoJ z8I98<|9AaDg_iZu*G|7ed|aaEyr*Y_#J|GLI09TMZ&Uq-Y^++9C>>@q`7xu%_#KGY z9A3@R)2qci*B))XUPW3NwcJw6cKF;4NQ1L)t-e}OF%5;G-_xG8JM*cXu$qaX#!KB0 z7SAzu-=7w58AZFZ$*(VDC#z3oV-vJuFBkViM)V^X9rEhE`(6L z#{XWyS(W2cYoBvl5A^lf!{XEloA+TwV?1g?PPFJ^i`kF!!!cCG*c!HZ9eR8^dQJ zmH(R;)ux;_d}Dj|ok!Ri?`#>hm@Ij_MDQ?tN{f`buv@PTW>DlkjN6X@xh(ql`nususu7=EFQu@*J0^nni|iNMG1DYu(erwfyeGnDvPkg zQsw-!i+O4*cq*|jS~!AL2(rd*1B_{8pw8Z$lVBuI~Q}_o~T-5 z0SZWzb$NEb7&%B}a4p{Cc6N z!6*|`!am`Vo=HWJBQg)gmNnuJUFU7G3D=ln#-LBpP>MFkEwGfw4RK$lV*7)dNo%or z$t$pCxtscW`nj}{dYu+rSWu==JVr)~Exkg(;d=>PrD~=7f?1{rVMYl4CXV~>;=6Hk-GF% zQT>d{^pAw6>C#jg`&XsOcCA382+XrC$rlRe`!TOVHkEQ>l#5pxUsKcRj1#mRWXN!f zODa!JTG%p#uH)C8KuZ{+=!=xJt6xRxj!YgGyZ?JqLYM}POqD?@P58=9E>FqoON5UO zk)@$hu;Y4Z1JiHrZQ>otq0JuSZm=ZpnYV!FFweV16p;#9(}xrpjpNJnuw9-mtE-vw z!m=z}y^~}n3yn{3>GztmtazD5N2Z+^$(|Ioe-T#uV&jp=!5;b37~FhBh*m z>xqVRC9s@F7H4cH+mgCG-_X~pnU83SJ=FK~{{(yLPx>pvY?)ZQN?ThFSG6ideX6#0 zm2jVS>)V%LVT~|-eJpkCI=?GPjp~4KU6Ejcw%E2Mz8Io(FqP_~26s(O9;* z*T#V$W$BB)=HN0IySOQ^+~~t`POw>(W4Nu>^fk}V=j`w~-4s2M;@*wd5LI;5A2vq( zZ2f|}O^8!LZsB2>0mn^cf zvVf!VP-e1ubaZs}4f)Q0Z7t?)Qhyan-W5+GMpIZd zkm9)BDwzNd0C;EhK}nB?zNnP}Qd68OP>N8A~_M z9EYXlCBvpYr6FPRlONFgGv51OL2itQBhAh?Br?cIgmS;&M&i31KH8p41anl5-knSt zI%wKdxm z((s*b-q?dve^*W)(7@-Eoi*lq&iFfN%U&&7(zBpn zT6iP>!_vi!C|7c`A*Z++X_pxFS2EQtIu0jHkx7Xv_gAmNbZBd`+Jg2*Np#8K+jf0j(J*tM-bLg0aWpkWRr z5B|!~s+@9z#1F~dpv8i83NF{Z1AjgyEt->hx%^Iibx~Ffc zOa*wFP4SnF&&I97^pM~j{2s~ScA{V`oIj5nNFy~xfOwyUfb=5Z9KL{fD*4uBsmXyP zUhmrB!kMqIEM)3<0b{@IK0NJ;brb|W zF`w3rs255}AYxDzN(9KRKT82%v=%5z5qaz4x0#eqD_4Ft zHa4x7v#J35MjvMh$_7rLR)B!Sf@*>9v4iQRTmBs-Lfwe?=l4815Yco1N(PhZ+fKqi z2oEFRa8;T1;@9l27D?Zfd+xkL~8fikc9eDYHn;j$Hji(08p zh&qH$KHw2DsG?MY3#%r4$;@J!$UvS$dx{jJjy*H!kd@rQic@XtZG+0nI0Uz{S0KHm z{1NcUsch_Mi?Dc1QAF4U7bF0p$0yY14x1qTEEg}ea(Y`RZ(5M1-h6Kx=IrKP7igEgws9{TO`OLg9pM{)Z3Ie+N)u!rkOG0thdP$x=DdFDz_{6DEBbusls`N2>U z)APOz!+6=@i!p?h4=jv0!J#w(E|NDOAd+1iXBzPD4?ySygAljL*8310EKvT6KiCBa7d4O)&?@8q z{P(-K_$LBbgHTm0d^R3KDA}CB_KF7_@cH*&^SK2D6^dtmEj!dOj`1RdrhGg+UvL7h zWf5`(!)jtg7U|;;mtmMO!PG@7K)WF}p9t~wYvT_@pmTwcxBUXJXLA5w^4;OfH#m4i z^tBKr4Iqz1fVpZENQlQLY6yVzuNE zW_5*q3GDndcW*&eZ0=MjU8G}pEZ8u20k=nmAW6|)O58eFhuz%@|Jfn{g=04|)9#q2 z7q7YXIb1gm2v~4pT+Uf3^c%cI`o~c912)(ea=C{_Q~TLzsB9+wbJ62^L4YC;FGDa# zG@aHae;VH{b@*_tP_Jqv8RlGOy#L$!*v+9fK0asXk&&5avC->9?Q^e9z4{l0Z;pT= zmv~}O5Vq&A&G%w+7*-J8hJVQUu=6#i)<)z|bG0`#d(vvqIhH^#&Uyct zt@CV_`K=611>wbnSLvI%@yXxv-$T{|6JUg}_l=nud6pJ7QD8~)z1xk1U;NB;LI|oq$wZKsN6bMZ9F{E5Pe;c>;q3IafZE5 z{|_k+;C12;`}q%%;D*)wjshXQnG^{FBt9yt?I29fUma`zIDy`zM6dD;RE{oIPyEw0 z{SI_gpCHJe{S-fY5zs_XGeIyJLCezuIIsWLO$13l#iuK=LO(|UZSgdRybsWk5E2<+ z0pA5uaK8N8Z)L3@Y;f~^STgM7?tkasu+#$&;PR!YFd`_894$Zk5adV%mTx`B$0Ygt zLiHQO1C=lUVtF+wh;vaw1r z6rscNTgYtb3R($b9lZ0qBwSKzKlyt|`c=gJs((jYALC3&UAJU5)77&kT3)X_Wy zZisI0ZpmazQeGM+A%=ZEJ=dWxpk=-5m~1^3j*b+sQK?#@+k5ySLlvgSNg=~=IRY=P z`~HNB)?s``O^gsZvN>%j)N4aeCdoeS`8U!N)4@q(w1inYapfYPDr$rNgMx?;JUV$h5Z#Ow@_mru1(o~pA z3=epvyuKDjJmYAo%s90GD{!e$S0v(|70uZmA$40UwSnm3lG4yfjpA{J{6ds)K>-=r zHs4PW1ewvi5G7qgc?48Z@u?E1^dTC$h(BmM8=}ZJU6tS$grcOXggUjTwiyi>supVX zQa2}xg`eCZBo`ozgS~cT-;yuZ(5%HGe&X_p7P9xpTlLB8zB}Tva}6Z2ynqNaCgnV1 z_sVhe<0Ob|Atb1z6cl1`j{AGn@VC%}XE-#nvxiBH=qfV0F)YM>e;=%}2-3MWBZu>M z2I^Az-$l0t&*`sgm+PLUD3UvD4ACJ6{~I_KEnT7|eWA@Bayic?mnuD38Jo0#A@Zk# zXMB8o#(rpgYPYmPqhKTSGF~8aF)K2n<&At5kiD2u*Xy2D{6}G}&FQ`j{^c#v%|B+u&+iFu>wPmY? zx@-kGvYt;T7U=X(LFudE>t!H%X$O@!TE#Sr`Mw~vJXCvjR?RYmy26m6lBK%VDUWpKPnqQIFT5mqUPyceQ^^kbsfz3I0lYiNpPJT2Ctf);J_RMcZBC#srWshCwvA30hbwPK)2jK zZ2EAXeu0pJ8376?AT}dt4!{(PaLbZWP;AcE_zNJ|qu~9c5{Rcr@yB0P>bU?L*?H9K z&LABPk!NdHUN>W=U>0G-=ExB83xstMID}mUFc(1xd@SCZaT_m#VU!Tk+>9t9o~M8j zRnCChvVit)yX$qG_uE{%Kw$>Jb`5Xm+1@shBft-U{5zb2P7OG~ic+_D z_F1!QYXReTXG22Wi4;z)PfGyaC3+F4>hG5U^I_^r-W~V$si?ZkGF?n*UG2*zU0KM) zy-c+5SjNdEX%qodcC?z1rRaocC91%(n>+qsoWz~TOpx@&^rj|neP=vc%R`82z^1rO zsqM|oT!+Z^w`2p85bq?sVJ{YkMYx(er$rUxxtXgsUby^?Asi-!(IYxz%&5uyDQ!Ut9__E`P|ve9oJ!&2ou%waj8m z`Z{XgDo-Rkp_yaCgP;eqJz>^a0-j2^JBA|KmxZ;DLS#Cv%%OsjG6*>|XgAC)RHP3t_BoYQC)oS|90;F==L{zqUyBG%Fs+(Gqt;+GOA!i?Gk|Y8ef?n4a})cf z?QX57-?2+WHv)Hb7>*ujT2Mn--}>Er$u5@J2tytM5wp)OiZP1yM@DEu8))p z`2=G+GUk#Uwf%`-YHmI(2D zlN!}Zf=$*)T?}*fwVp$b9b0nuW#gpQ@ZMr_;RS3~4|gASI2qHcPuA0f`zYvCbCxVI zEQ-|8(bUgOXXfIflH7GvzocI_N@GeNFbGbNUOscHC?#jn%kjpL^4}VEUqKI*c}aMy zpY6Kwl>$tLEIrmx(Ek1&RGwC#AF0G1(y09%;xf6~n7Hcmx54d7!*CUqzPPxGl$;rY z9EN&Z=QX2LFI>2Cti?{`vS8tje%vZ+Uyu*O-M~~NMCZqI=};})ODqkuX^=0Tp^L%L zPj%=AzXxSc*w%hwMXLMXekqwu>i2)&G)ir8=u+iazjpk*dpuKI4ER;%zXtp>qoCC7 zWrQrk+0$N>V#v08SIKF=+@BGm*Yf2rl@A0tbb|k%-@hv3j-Y>cSK9kH8Ce;YgT1cA z6c=h-Ly+`3Z)cR%NhM75yT6nGWN^(@+j8?{)-jWK>%rAr#da7A*Lh1S;%2APpNFBn1o_fZ(^4?Z#_P;|M}c& zqZNU~%b{idNdW!XFT0;Ht$c&vPNCu4b$^s2WC?6Fj|cL56h&-N+sr3 z1e(xBn*#ErB%S&@lacm6hXy>Nqw!+sZqW^Jra?Q^1|kBC{D&{(WjQWvFJ4z$`T7b( z|G{pE6=^>Cp*;U$?ltyz8kTxj8kY{)l0_yZ%jNDVqpo3E)(RqacXn&3mxm$R&vYid zHZfZ=yX55sY~TT@c;bE&E#aB_0F9N@^nb zX}5=46+9$?Plz8phCk?Zz)clc(^UpC%_c?(AebNO2cQv&sMuW*ux`PiDVb@gyX)VOblpqrhost>38{Dw^l>@auvvgrv>pM z#UeBGK?swQsy7Z}*j+Nd74?0JbMv$gycAc6_Jb7cQ1;=tKro)=YkApWO4FV_)3H&NGi)3Q!W=&gmnsPw;~ByDgmKy^=V@< zLPSdvNTcv?;V%B;Gq zT<*cZ(;>a;qV$q+fffGUUC28bp*S8<*)r69R$oR^a>`;Y&KZX*?wu#gq`b*yjtZ>* z{h|v$c~OO2&CwT_fX~P%{f?+eSS`)2^x!!!TBv(geZ?j#%{xbI2zHLGv{J}32P%if z&o-W(gi`0_DV0|CDlIF8bNdD2IO~+kS+j?KdNHaRXbC4}s*R+DBS}I$M`c;#jWucD zKVFv^eTGG_#c)X_^3PwwRBMj)GYsS+lGY_9Vx%7c_ zOA{sVN(_OH)W=xVdFmGZOym_17~I?2o82|f1oR&>vtQ*5{ig1KcV-mDaO-7c8M6-P z6DZg3l|SE|bk>;iFLgKw>7f1P5tACb?_)n!h<4)I407Wv(qiZBbS3+9G1pc!*iM-#qCPY3KWZi*5N7iaSXcGC+ zG9`7>Nc3t9zW{*IQ18o3SX*zF0L9)Vz6xW!3=|%|vCo`0z>pPs%T7NQR;w{1B^kA- z?n1m{TZ-2nn-GM2cQMlBTA@_Af(lJw@m|IL*M#Bl`m@c{gMD9-g_RxQim{cqd0MCf zK$-h>`|s6tcLug5p8`+8bzt~OxVyKpb6Vg7d8|`-VYj&)DYO%uN1X}h*PHRcWC?H# zIY0{tZZUrirtSa)Y!WCc8!o-{yFqE}bOlTVu&}Wu-%BBCX_c>QY_>;JpZIRSFkS!X zzx&ao_D;OM2Ovz&ME1q=RP#==RDc3 zgUyQKmG~x@2%i~cb|+D8Hi(PT;dNZH%HStm!f-tu3M^08Lp=}8-?Sg_ZK;HvCySZ} zF@y`ZS91M8{(9#ejE!TAwvZ)JjICvRwl~{@x!y*i+vEGDc`hRG=Y^ zG@R5}aHRJX7mQ?kaeRYbu1~IvdfbL)F1*tp>+bUN?6z9b z%qyK=4g3)1+VrxFWYbwcTWmQr=}4p&jq7yJ-SWQ@{I5rp8Y&y?gVxx%o|*7f$3*M6 zyh-Q0EqJm9yeA-GX0L+GjfNcH ziADvynghl=+@xmCsRgkQ1fM+Elu&$-D8z#5(3F zVqeHTD3tsmTzDjU502&KNt`BHu=~U~*w@>-}ZbRFpMDXRiOmHl*z&2b}?TI4N zKQJ+t245(6OB*8XZ~t)kDW|VgpM4g5&%l<`-`|fosgzj33nIO`j>pMQ1g>g`6k)h1 z)G9Ekxd86$jQPsfmN6o1!#iaU=4q&`I5quz=T4a=GEXTsc3&9L^@{Z(&Zy1D%bl@uDkyN35G1-u=hdqGKtzA zzxV@^2A#7=bd4_mibRxjWa9SNSwC*FeLcIvoA`%yZIm#XJ)MdLQfjhN-Kf1kyh#je zXPDv}-vP3+j;&zMsi+}^T{%%>myius)DTm~wBr_rCLXgS&HTG)j#C!-X&y5Vosg;d zvjqq{_6vqCc6tp0QF}FFvBt@<9X877YI*js@gSY30lOgAL>b)a-yYzHp`a2fkfcbn zqEJZ6+w_(ZTu|VK)fUwyq{d?668PVr4JX22z}-PkUSv3NC=TYqKt8Gf#=n0X^0&cj*ZO{0{tlSI zg3$mN8qk}ZC#5_8>U|0@JYM^%rtRO>z>L8QsOm+Ifd_Fmy?X#~#E2305I~CRiUW!! z1enZaLST{oX%Q?67&k{oMqo}Oz>Y&oMz-!?dPj}`+5L~|*z}fY!4Ls&JpcT$>(F5L z5YX_LzzO#M1Ej!ESQK!3+}%@L+d98ZCAxWi!+xUzzL2)N-yKV}=Ex+*?lUlp^^p-s z-tHMV`DWfWA^s0c(`%&HCSHsIH|YUiPaYpmq~6nj4Jx9H$~?x4Fa{x3_->$;e1RC+ zA%vKKo_EFaMC6ACApU?kG>Y^~P&EdmHDbij88{lY7`eRAK@Ey))hQh;T=T&aCLQS9 za}m~8#I#V~p$%Ayy(Sz?`qR5F87D<{DG&aLBF2gcue$%vRb5R_{>)h_AY^+%2s2$g zRd7dsME(c2`fh-MJ;j82RZGRPz=a@f(0(FC;qyZJ~AxmvR4$1 zrEyYegHw-lHi}s(c0eDe+8A3&`crsOfZeBVmDKJBe|XY>i&{;lMM*dfaV@8;O6aav zit3Gz3A<9vM6zfxOO5G_)8OSshyp#`JgaiY;Qa<+QV7G>=>=^pjBo!@bB=M>_fDHd zwsuA6@f4nHvg^OAoi$^C6yn0@x}L0EK%(UvC-x1i>h{z&ZzL^C@b&c#IOuV)t|k2w z!m$qd2U#Oe>544KYH(*hNH%aN(jU`>^kIbJ2U!pnr3}|M34Fc}s9~y0tMK#D&yav* zmh$o|;d(+GA_<=7#qW9%_9s|;DdW|G{_()b7{_=^6j)MAm`@lel?~N3w^i>rRqBDw3k3S6(MThZZ}Uh$51BR%=*;94JW9Ud^!k0UjX*m{6< z$08t6YA-S>_krOY;>ZP>cZAJ+3*1MHEe`!YOCmNt(I%Hgj0cISFJ8|AD)0Ztt3+r) zGi+U3b5*&zQh+N@F(y9V4eb7tt;uS@W6lzgf*>sM0aqUbhJgpG$NhMa#B}`q{m}bg zIh#PP$AXA4ApQpEZ}U7^yP5p>;70CJH}bNYCU8JG(2aPV0ftVh`F%^Q5E_^BH%zS2wNr0*Co{Cipkt!Iu5BO4msm>&4+ zNS!jNun!5Y)lsiwdPNBFR}QqQ;*ypOs??=FrAi)u55j?Yp_t=IvEdO$$&J#plYyF0vr zxCBY1usE9m9^CJ4s2)|4VUjeLr(}(uU{|Qsjf2tITdc(nl?z%RlM&8&B6WHe{N(T@ zOG0jUzzHR5nsWhJ7 zIhKP_L`EJ<)=xSSSENZFN-(iaQsw+|Ar1}(5{a_>&849y1x*U9gJ47Ljo4j*#dw(I z=M~_MIq|>hh%DNRplQFZxZ@uBFmq}T)e<@ z4dTk?2*N1)oeIS+DHTVV?>~Bq{kp6}iQHI>K-rpNL%d9JhrjWA>GbbWd&3oz< zq%uqp))6S7QDg5{b1u} zj}_${v22{cWd_5D8GBq%*u~_*o=O(p-%POMI4cRC>?AcgDc)4rgY2-(Sx z&a{*o7~({Ck=*Ps2yzNdAntWu_zXECbPQ|A24br{ z3xi+^X9wZ45N+9+@uoOKG`D;HA5GUCPxbfzOU5O1twPAPSGJ5KuD!WNnPsntjF9cx z>$)!4slMYqbttRCsVSaBuHp=-EdQMi;@p)GZPs21eMBMK_3~RX83`foQ2svy=ycnSZ#84jkzT)v5!UfB``arqZui$ETfC(*JqL)ASXxKy2>^b+=(Cx^W)VZWbRyC1G?0 zhs2MAw=7cdc3(i=OX$g~Q0>ZT^SzQ>p9xJUB6sO2*pgD-Jijc`f&r{Y=jqJjv#UA(G(rj z8`5RC#@8K!ibkqBi);)oS;(8wuC9l@j!!>4jZcw39C5`kU27RVaIKDI*HiCdV!Le2 z9(U9W4J>!2U-UIJ@k~(~@z$Do@_LNS-m}Z{SByhiaad6S4lb?*HYIv^6iKcLpb;7gETy0v}LjIHS#C8}H=KNzUNz)o^#6V4tBJB5{S$k!?|Ugf{4 z<*$X8kE06+i=a>@rj9}ET#5j@P(|tnCD;^hb;`sjZYQWPZZ2DikhrB=yWFOfwK@UlzN%%o9{rwkIaSruUl6R0#;>XnhH3( z&9$*y+S@k*YETpiVomJB>hAp(r|n-mPhGNY6P5T?;l%2!5 zE|0N0wa@*m7|$b{lUC)VBKgeCAH+QNRzSB-19*U?t> zOJ4_k$p)np$|sw{c%$V;2_}XQ|Z9%%L9J!udnh_{kPk(`f zZfB}FnF*niNte{pY@y+e?u5gr3u{_O-_$fv)k=px=IjJS9M!;)v;Ior1(2r}P|%*&vSF;i{Vh@9lq-JAQR9~ZA?ttW{yGf7c z8aF>!5=q14@dgibFNqWA{qs{qf+d-d%ypz&dkY`xNVi$?thFYz$IUr#7o0SGqn$Xh z1nrG$PrRwv4Gw7=|BUf)&M?P3ta}W%VWl&o^SP}Hr~NX@`9j=%!;xPvz&R}f&gkU) zG*Cv6Z|2ygDck3nF2|-3AH%pDLX)_IpZ$_Z`<39Ja)ZU9MAwS|`RrE9n>}Kx@-rSh zW3=*wzRy0%Kd|qqg>@j} zS4K|;JVWC9cOr-eMBqUG{iWDA_Qh|L^1sstNceF)m)_24*pT82;*r5&>yA>HwA&f@ zWp-0v8tWLHb@Si~Bd(ae2lAIXI84H%m}cyqpDz=-%yMEpo+)5#>iC2vE{maxi2bd_ zM5+@we3Owy8jKA452FhGSrn58y^g*J&?eAQ=MHt+Cy}N_Mgu4EEt#*J_8vW0lucfV z!&BXRA0vig61|`32P5fN+a?zw7&EoGDrcCBvqt*9 zAs3)5zdCqWq+ek~#DGemkTg$_y!vfCizn6M80!)j3R}XV zoO8yL=qj3Q48RAf^Kzc>{!<&r#;vP;;*p)dJN(kH?d@pLabO2Gi(j|eGB5P6?OdUTr z68d8|A*@*&W31ryDE8Ua2dc(e40vRiH|@4ioEMjQ7>v)9w624eiGFRtyLGFcNBI*=TPwRtfJ5R{A5?5p2P`Y6HnCkZPKw!y$^|>I%}p>Cp>x!CV zF46V34m3C96_u~+VqI;wH@NvVt9H{UP(J zdTNnaji%CtEgC1%?L8K1cUqm9lF7^>h0rj)vhaGIFZ>osG)xP630#|q77&#aha(vO zPDM>>%Lz3z>xc|Zes9)jpxqrL>Pflp;22Lu1^#hrJB3< z#Oc+@x-uyV;a*Ql1?(9#RiYl7NY)P! zP>e~Jm?>}Z4G2l{`IM!j4b7e3GR^%|SpV@drfEjv{f(K;{ke#^@xHrp!J%7oowIJ+ z3tMKR!4E$EqG)gGWoLN1fk<${(xN{VHsQ;8Zf-U+zZA`_JIPZ1@ysJGs+*?MPp{_$H}h`1&~9D9|VgAa6`Z*1e8KLcL@oJ|B9)N3XbU=%o?0V*#K`b1lcu+ z>f5wYngfico+hHwMU8D?yBLS)ni+XvKRBc%zLYIC>>sBnNIE9&Hh)hHZimdI zHg9~o-KB`l*x*JTC=v(lFiNU9y65!G&gj$F&X=M{uc>VD7MaL5zY~u#4bX0%j@Nq} zpGo^Bm2q>Ep*mvXMf2HJqjz>RC|WeWp8A@6-;At6d9((T!4bWAx=(tsONIsqz623C z|MRwevwTAM2CLTiBA+C~So~Gw0Kd)+ZYj0rD!eavVlrb%9KX$sZ;sF)l}~AY{!S5Q z|5B_cx5)*q4*(aBmMQ$<|1TbMtsa1Y4Rv*Gph}ZkT zP3;!Y6LxU{-} z^48k#$ES9{Rr!N6V!x-%>dS&NAqcw+$lrhV;ow=&pUMYTv%3EVYELPk6%RT2AOdgz ze}c*|s3sbe9@MJEv8yJU|Gg+Qh|9smY8p(ltDVpbhd5g`uR+*#dXa^6>bqt^a0@+v;(;d{2xsoGTD%{fz4@%^q_K zcdM~3Es{KQ=%$Mn_Bhq>e)G-(ac0CNEk0tZ{RA?Z#yT|0{g&D|gWx|(iyP$NS#{KNE>`8*+Zt zHV4hsYryH^0Q`v1DGV6ac4D%he-2pBoAN#TC0BBhEnt-<1b{o&?IbBvS7nc`4Or0hKSwrl?N+$!PTYqNC;H| zRS@s|ZWfPk#C{9{EGjR$4ceIP#m$u7vDCQFH`jYC$OX18#&?0Wm0~4!VCDvZ1Sc85 zr#>*wIJIp8W>0|A<>|$Ms{(AkBhVM%uyz)KVtXC4F3X$iNp!*6+gs%Dvxte=x>r$a zr@Lh&7Mn>u36tm0#L*sNJO^Qvc5|}t4ytFzj%Tznwkmy!MN$D-Md>}xmuMpr+|R8j zzH2W0L^UD>`QBM!BchZUPy)t|27Ef!nCG%Q64m>kS9L~LKb01Z^bXyaOSww%)eU`B z!$Hxx>dK*(L1{!tD209Wm2CP;{KS^A#?AP0Qe)q!>RzskVqx%X`Cpu;=(j}t^othg zO!r-Vn_yN^`+J6}owI>5=Nn%|%)46uWn$ z@rx>bPipSl1p7WNot_v29vaK2r&L@RlmSjc15xL@Fk+0u^J!(zVRLA2kYpvwNcSX@ zq>Z1BldP8Hd$D*AiJf-opAtit>E)jdB{-2lG1;Kqvk~zg$SS!HJXO#2%DlT0SKn+4o-p zrz@?yK?@G#lHA|lms#I9IDwkqpb^#Htf$~?wqO@@gWb4}gFGdWffsc8LaaKV9ccg$ z2>QpMeGRPsn5GQqehsw!e@Ujk023u-EaOS*KWK@q1=k7GGxo9No0L2lT0}g9wfUJ+ zK0K`(VRFhs;KXEFYAs~OTd&|MaC~=a7kY?GwW$4B zMX8d#Y?q^~8|T+Y%86I`2QvC{+W3-GXl;>vs$BTQB2E$na{4~n^!41hF_qT!ii%Q? zM}o54wv7lLO*dqFay?saw#;Uv+i&5A_=e(q-7n-luMxOPSD@4Jnv)_7uVGK%RS==q??`< zP%xMS_7B>?Ks8b!9|iO)p1x?R>&b^B4MKL{fsk<%dfyE~_jdk*Pe!`sD^;Qz=YJM3sK`e* z=T@r2>_Gi}H!w1v+w=^k;PV51&dcwg{#$z!(<}ULp!I-&^BjC6dc&OTfY3lpl$0`f zvu0}V1^h)7``~`YZ4>*O56I)5hQo#0N$#taD7MLIQ|6b}Pw6VV(;>niEb3mLRJvf^ zESJk@!I0|SGc}FgV67=PS4~4P=FwqQG?Luqd+c8jXVKW3KSZk!`em|3uC#@pNlp`5 zL1O z$=bwfyx!0lPqj^oy%=sM@A6{nYP7Rkf*7{E;o-E;l{A;qV@gX;4sc%sDVUzO8kQzeq=|OgeI0*36nVl`(B{ zdnDDlp7)P^xNU`Y8QGM157}=+;0H{om4Dmi>c`l8cX*x3%uL$<2D=upLlrfjE zqV9grBzQP56Y!|QzRMa!MdG-tKJO-heYzN3NS=@1K-rVHeRItGz9w_sb0qB=X)5uI zEYFGBXwjf(r97kMM|bP zl>$X#TTi&8_Av40^9|p!tgL*;w@!T$afbQ3T}3`hWfo(@lnUV!+46%gDk!)aI!jbh zwEpvQgJpr0<&|RNrYclD^i#u`Xx?KnU6ZDlEpWJ)O=4-bu|N3$-|?9VUlu3cw#7e; zi`XpRFyoG;1is>?(PS__k0mdhrTW*LFvaejOWDaY=QUUrW(x^td99qQ5zaSJ%*$VB4XY9uMwQ()rFW}L0D?uz7*KZlmk z9CI^#_cE9`CW%uu_@6kRznq%Rq`z5XO(cn2b0*Ov#*T6E*zxkAZ%Zkw(y)2|%m6)RWd!@&i z`dGq9hkx{kadOA2A@g5jbNB7y4HFvY%& zA(n$=qxQBmVVAF7Q*?`iv6V zfy8qBmt z#c|;(ac-VzVnon8x(O@dh_^0%mWsY_r-U(rs#PRb3pK7%IVO}=g{Eq(GHUEKeP28qhl`vM zHxTqBYnq6$Bz-yq6W7xfe>LmL0 z=l-V!AV$y#kX?DZfyGSy0m9;b3l8o+v@e}4hW}` zxNqnceU+`;Ii5Xy+idIsUE|NxBU2EK$`LSHRC4L{200m^2fS!*O7Zh&^X(!rn?z>6 z;T7S|^*`BPlShQP&)p(iCHi$ezN7Iyvqh0_Ts5<08r;0tM33U4l@B?aPJR>e!VOP; z%ySW4wmw5#f9T6VfS*Cw#-Va+FOYV30@YN@-Y+O4;>&^CIWY5nySr)<46N)s`wiaPyJw>r<--|KAoM&^2tqo2U>k;%;Fg(bemD&dU*5vLM`IxSnd zvq(rg0@e1W`Aag+{q7eFp2&*|jUL~Tmj{H(Zcp0;Rw$RH+2D%2QU{bfF2oCsVg$t5 zuEdT2s-~U_Ay>7pkw>E&^T?IT%qe+f$lTiRR8wcT$|lf*HQ;eF{uM>~wJE=@*RC(B zd!74zUTJ^02R}mxHul-e6y{Tw_fj=`*$1RlN$ZAA3#qxFURW3vVGaY4cjUY5{bOC_ zyQVp@ZU*FB}3acnf%o+>TrPA%~xmA=18lBC|7OCnSGxlPB`A zgqeTx_c4VI`><*<9bMhjYm-94#)n=cDo`f6T350{T1r^CQU$Y`-40zTPD&VhU$%s&1%C7%A0!o6vu+xIqEQ;GEW!&oDia zVN^wP9{^gM=Gs;!UGNvK31cK`2Q(aI8+wST|KI~issSAR7rn6RJ01ff}RyIsD0)&NEv~?fKmGNbo5*vQfGq4K_%;7 zj`F?)jN8cq4{X3rJDDuNXESqhZZ9LxKvWY`7<3dY`M3r3OpeHH2|{>lmUrZ@O+;D*ad+h(qDr1wVbEZ?^*YMpRW9mvIckp zgo8s38#K48w&!2H1kVUCVSvX%;MLmS`Nt1r^?`^R0>|Z#H;QvTJIF0TU$**C1QhiS zpl1!Mk1dy5MV8(skS+iAOWMHC!wp}JuZx3lx$AW|ol zp0)Tbf^e%<&yAfYh@S5z<}KmNIPnbth~rdyPEkou-34q)eRKTS=mN^PH0$1{U&;}p zX=#gAq=%~vj$^|xwB?d$mDvLB!a4+l)M}AoyUsXMNA*jcrL;t z*#i7!v-TI|Ocv_wJKNpLRoPiQ_plgwt}7izCYN9t74aJpiG2N8?&u}2C1j8^% z5N)52M|W>fB9o>XQF9Md@$F=n42#n_jMWqBvzH34h$exk+zX3 zm-TbyGN+2fzq{{!V7w9yQIJ&7itKBu3RWC3n*Nv0D1<6XffJB?-x=h?k?6Iic{aqUx#FH zz@-ZaxrL8NW>8*mtAU@9rO#lPe>1c6gy@ zF#dXkp>()Pf^jNB8>EsssikS;j!PsHXfuGhTYM~P_> z)wnR~^I(Woh2w<320POUB)Rn0R&@2EO-Tzlh_qubUSsWSCqfv%Sbfn;CdQFkso_EY zMr)PX_KDAJE1a1BFSr2bHG>m$LPV*DZmO=8o%^)yj1gC~VjYzj7g9n=BXWjY;1?}t z=7NxwS!^^7c_2dbh@_}vzLSwA zJdquRR7)9geFtJ(V()+Y z^=d?Bh0^20nIA|*GezQ{YXgK7Kxs7v=cntlfFc1W_$!d3U99I^^z$YVrWFZkL*EAN z-yrGA#Ka58DaEpMUhi~Vejxfv7IbB&qJTS6v`6&L9o-LKdPT1Pggya~UXq!eZ7a&i z67aHs7GO;4TEd6+6I$%A9?c?aKNf%7Y7M)EabSX8I~1@v?EtztJOa!1eBz7k3en}r zZ1J>M=YAYVw+fcLn1Sv(IXO=n1vk~pJCVK@i>XGqf}Hsph^}3VP|3I+;YPzdVrJ~2 zAvU(fhnjGA8<4{jA!v1*VykIab}_pX#5aiK1Zhx31VSIfduF>t{DzL0ivVpjUP3jo zX4p=e;g)3A>V`d&>I`-6pogZ*TvrE=bH%{;g(SC?qy)Y2e#(7*n>}h@2Siha1j1=5)GYG@{hevrIz`jJ z81u9iZox7*-gj}mm90X$`}21*iV`m|;RH%aFEbixwq#AdD!2QLLNusnKP$g-4Di9T zJ!n7+9dpJcvVsAw&TQ4am1Q*Fq5HwM){; zw|~k&J}{8LA&~10=@?Va4^sq3t1IFG?ED0Tm9=i{vV@-Q0_r4;w;%`*%d%i2K5BY! zBGn)Sb*s0__WqZH25$6F7Md3b7Ma}kll9qv16OWIjaxprJUBluj2#gY5J5izv3OuqU`*+SENM_+8L+OUzO8w4x;I!}@twpO`%C`YwMxhbx6bl7a56{6 zXJhPg<~=Y?fvmwg$6;nb;FWJ>cXxL)OzeD+Zn>Mg`5sJg0KPvM-}VFXYNH2TWq_^T zn;8Z3lrT^q|A*2;sU(0{`uE|-D@K=vbvf6b$ZTt~FazTeqj${LiPW5i{%Yg@7^hJX z3LBDlyO8vU8)5K~lDz7`dAx$qI6-W~Cl~xEc8Og?g86cmj&u50hoK)ksiua( zJvMw-?~MDGM0KBc!Gt=M8(zZrmuw2$_7pIh{$YBt%nVd6hn%41fWfr3b2+QunxWIKC>`QoSsN_#GC>sguMFS_a}%52;5?EesS%v2mytBV3vZ9CT9L3Z zf!?>-8?=4s_;{xSdDT}IqGJJWiYy{Ff(eGS=T`RLi*Hul@VdMOY%0spS2!74;m0j6 z5TRJ#*x04Xn}s ze|I@KI>w4YvZ^|}UTQ}tr+Ysq(otQEOrRsG@TwurO5yensmE2AZ`XyXn>)8o&xUx z&i!kDpz#4p2Lth%PG`q|0FhJs73wqudL|htAuu4Hv&8a9fx4hz+_?)p4$65oz1j}U zLYIHt0ph0~#+Q4tS3Wp`p9ENoQz4}XH1>Q3ViwRPFWj=zagItE3BR<@BD3RO=$O zXfL{XRUQ{4+HzfT(awrEHSM{PhTXn0gnQK}s0o0&J&;z}m7rs3C!eT`OZ+23ZFEsK=q*An(&!(lP_2?;N&=SZS6_0(;1K!Nr7%G{$AFnEc)`h#1L7${W$bw zobFJ0>e4&5Z`ZHfjjy(Nk>9p*Jw=S7nu2G3ga$wBC8YA=X6nIAAt)qK+R1N`PMYFIMvRRm#`wHU zEE&fTB>9Oo;@~+~XJSc-I-F6z8Pl6=j1&!5b^aW?Ya9CatVH8~V6QP@6{Sb}jFE1- z+blKBQwrmx(;X9@NEj9bNiar^Q0>Q1D|&Wi#v&T`mN!yqzxUG$sG^-+hK%wQBEJ%u z)p#MqC0a9d(r zwm-PHfmi9n&LtTji}tD0_g5XlQ6w)b9hq2Uh|l_dPno}+tRx>v)l6!#^BGqs_w^y& zL(QCvlzX2KSI%#TJQzLETPZ?)zdN)hWBx^5+a@ILagf_xF&@XVlZ_#xtE>dr7=NlW z9{%HoF?tD3jB=G2bf0%t|4yx>8fZq|zoLp~P8q9c^RZBv^fX4G)pGtO%X6!%a3oOP zb)D5}_AsCrXka&HFyybIS~a`4Xe%Cd5V6{ep||_hCmx54K#59S5;O1-CumHW;(hfb zn2QpNHtZ#Z#Vd%E)`X~8RTmMi7$nw^Ho{F}Az1PGB=LD0O z&~4wKq7K7}O>y+Dl1$lQz4-)4W5D)Xrli^O*Z`IG)|y2wnrpJ310`(ub1jI(z+FF*Y2HQ?$33W&>yZE5keAEy0)U_h+D?#ybm|7V*1;3 zp2ojmK){ag#Aw9XZ0{7Q+IdQ`N+D#sOB5u;oYr0dL$e;MWd zR?RF~FgkitOyaLx@Ayh^e5Bw?j2RVY6DmwBt%y-sH}7v4-t=)|qWU|zIn41=q1;Qw zM8c988M|tFyo z_G0VxYANVuZg=B^5z12lGs2IQwO@MV!w*G^JUCLrsNw`P`U89x?a0@ZD=qCs5gYeX>a*wSM;c>n)+l~ zNewR7+4}jh>Mk^jKO}0-dib_7burw)f1aISTPIUE72znaxX!KR)(}LI#RQLFd|ni5 zIF5$(+XMz9X;GT^rEiOr<$r7vM@r4NW>BKmcbLAuneK#%=IQu5icy zq<8xk=qX8eR#Mx!H>y|GIW6~BEu0rzB$<=`Y3rKR53&lYlM1F(atasXuk6;l6x zkgBim;eBu-fB)<1{CO9%RI*;}VDz8pIkl_NQoO@{^&zvMK(RY)#AJ)iD}O+n0HY9T+r`-Lo5n1;&#r=DMR%2 zk{TLLmrO{g`l;{bym=vs)o9ud_v&zI%v_fEi)#mLDMvv6 z*#YUDK|D!2G{?6`k{$gnyQ`bOE=Uo@$oZd-9h@z6tUg*k+irrSEs%Tk$Na0u-AVsI zer6^lQn~PBt|&+2hUH)nq^`TpP9{JA?wt)9sEyd~pu|Xo1PZ_gXA>gx2Yr!O z6f{gsP7BWWLjl$aJryG-Skys>oj1M#_;(F5)oQV9e|-xjAb*qop!sUvL6or$5CN?*7^1lyT86*)wq|zgWMJxCu3eO54J^-j0MMHS1)yTpHcF%-QZxG zyC|E=XuZsi;7}!hP9FB;q}8T&J{`AU2Emj$I45o}M$Rm|^%k(EdzHBP*3bH7Aze z{CS9xE(R42#}NBkaYngv+U3v;+p{56O{jLC$S%IBiQ`A5JkQL@#y^o7e>;Q;=LO;sxw#H`?o4rz=9Amzgq{P?h!u$B! z)Xkjt=UMZHyvJAWLDW`RexLvpn*dIr{}rdd3fX!k1E6!r72w;2IRvNKHK2_qoiVpQ z`+g5f9N7W#!bvDR2wd;`BChb$58HVsj~P_Ydml)=dnW9@8FiHpmk{=OnFReXKDHT8 z3nz-YZ+J14F*{7G=a4QmJR2U`M*NHPs68T{#+_q~gO(VnT0_pj_k7}dNn^fupvSYU zfROuvNX{22DGxr3DvxZH-B}+R8Tm0XJDZm^dO~GjY6|k$1w;4Gs?1*A2WN0|w?+RI zDq+jlijvGF4GmZoj&@K$5wKbE+}YW=u)aRkM^5+Ny^l8^=TA>h59P|z^?LcAY`@|c z5Wts~Mo&zj^z!BV0d|xr=PRHbO=+{(5&*8ol$I9xQoX!^)&8{d%1XNlf@bJ(OH*T` zfwlDrcwt6qkIxs*54g26M4$e&wEXC>(v#Hq>eb7K?L?(ISx8Cdv!r{cX9r&j%(PlT zUK7+Q(3i@o$&>bIu_a59y=^ETX(v>DnbSi{ip-uQhOKtvI%Z}s;KP+0)pXh68>@$}} z@xGe^s@ieCS%fB+KHjI4&Qsyn73D?8Xv;D5zLY}o4SgokDe+{v%hpjxM4;0oTyV+! zR6|xypP!?`grJmwnLlLa(G&kBqD@U)SH;ejoqNiGic^47XP6S`KH!_;xQRFI<3G2^ zf3~N8C!#i|X-5*NB3H{^62LjanJ6h#)e_W5UDyPe&J4VFtPIcpSUNs zjEE#tqU`|xUF)I7F3NAV->!~d(|;J<$>pB291#>4h`(Rj_D6oNQx;8`g2&6#@<+KS z39Qj1oemV9D#)3k$m1+Ltfvua7!yj1^hF^P`$?F0ZNi1~iuc77i2t$;l+Ak$Xz$N*IY$`#Snp zS5~^U)rZsuX_a40AO{kiT5AtL7%!PLY=SvGBd z|N3#H!aBjm%g*4vev<=Uh~%*7#b=$+HZ_ zaVzXn1k|lK9MUb#SU_pFPTaPh(UDKlFqwR=%>;p}i4>*pprjRIOr)n+lk?xSX5o6l zh~$qrI$}ik_uuR=i)$@7ETSJ zxk!y}Q8=UcHU3VnNj6Q9Cr%sY1w3B3EK}{E|yDL%Y|3F%Zq4o z@$lVb)#S+Mcxs?f(|j>?Tk)SJxS~6N4Jp=rKKJ(1K`O@u=7UH^T5fMa=qxr*t zpmTP2U;9*V2f4W{-}=Oj-aXGfJq-e`4;<6+kwhZv?F<@DHTIG&FP6Fad5Cb2RVx;< ze2q!vRG*lc>A`Y`vhe)|L*Fid>?DGZeV{!F*t0Zv(jXU$VX>N+T@Ph;cDAT)nhJ-K zlM^qnj$JDVIp&v=lDf2)E#t)jxOyriEadPj*|*UGeJd;0VznfEUER)=m^1-FL5LHD zfXdlhmuV`GdY>s76j(E58RF;D@%6j*q~)u2o)R) z!TGoSUTc-oxOj20t=>wK0)0LfL7LR@OS!SOsKheV(o#_LwD~$^rhoohn$9APc{Ze$ zr9NVeZ_P26;!;M`_9sTi3;ZPJmofk7T5ur&l*)y;9wUm-qjVx-t)m|O4w3ZQ-<2d2 zqGMV|YKBCXy?@ufm#DZTDTd8BZ|k!O4krb|2yF*yAK7Z$PMEDq<8VAgafp-o48;Hn z1b6oaM~-nqHtsY1wR#dJ5+HFS@%gb_&qH@ z)YPmW&AeT@Y?XbrdF6mK8d1O9SesuNv>+AU(Gc;;kM@g|^1@EoZjg;CBKQj9YEqHR zgSoB-q4SoNXSKu;HeZyjG~`S8m@E%d8Ydrd9qa!7`*-5=XB|yVa=V^H0B>1X%-_66 z6uj5Zi+lduDL>-f+qbWSj>I|D5(}%UC`;&p&If1%QRe1aGAul7DPP2Eb5h1Xu%`6N zhW?Y!Ul$Af?X0Dx_1bTn8PE|L{F^_15MICb4+~P`q6OQ}P*-56wY$4JxZOxN4lzbk zv&N(1!TwX+A+S-E`Zi?*q7J|hio^U}+TYK~ScYJGW z9v*0-Qf}zW<$-tL#PjKdcjjaeup;in`lyzV-jrdI0G2$IatT{aA2SvjHoXl8Ffe zU^+j2$^JE7tPV&X{crnFbI5GSR`siYsQfsUh|ZWR=jDykH-3HFJ{LJ2geP=6KYDcf z>hJdE=GVjBl@HITK317^c7do9z>In1d;_xe_jYy~4faQ6eIwzYm-f~Mg8-4`^YkeY z#dN;$UI)gZ3*h%wh{s1nN0SN-;@`ZR6t0Wn7=6LKo^vG#$}T%(Jmq~uZnTkZQ}0STuO;==du^9}gAz>Wed{c2w-7&x55g48W6t^<6ZhlTp3&nBwIx)rRzk-qYSXSu(hx87wO-N(#SoZFYr-{^4;DQF7*j-aLZ8DOQmj3zixV)r!o(!;_ z`@!&Y%DsDWS=rf!zLQ_Q%8I$Z6xguQ4qpd6;t#ktfqB}~Z^wHi+75P!YVWA}swH3h zMR48gO*uD>fT`S~_!$qdAF*i7njWBK_sbUjJ=Ds5F@dA^sRrQs`oeEC;gJfX*|Wx&Hw|O7npa7UtQ6RtNWP>Ov;u;PdI>A;4NRWqy^X- zp12oyJS}jBJ1{o(EO52N$`vaT4mPpY0M~G3tOYh2lYrAh9-5&0mVk4Dp#DuNFroU) zvzgh|#RXh-PPzpMNiOZm)Q;uzkgf6%T-2F=cyu`{Fmd-|w3Znl?&2 z!~(pGwi0y6r;S`Xux$cbVFhfBwgIB&*pc&FoVAmYD zfMpNx{6Szb^$FM{P2UIH5^}rY%hRV%LqbA60C!C=?`t`<$hA9SONQXqty@9$7jVXQ zQ`y@nE^cmM<9GMdue*TJ28^X7;DL>xx(v9B)1da(mouhwY^%+H6B9=o&N0{IfB9zu z^u-h4=A?(fC1VSL>3V+sznQ>mAq;DN6aYsurv431Ir)kG5BJl%lOH&(*4xGa1fH&b JF6*2UngAHtrFsAW From 0b2b0ec69edf8ce6b3130179d62a4ad8be33d666 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 14:50:53 -0800 Subject: [PATCH 08/56] Fixed a rare Chrome/Safari bug in which pressing backspace sometimes made the text cursor vanish. --- NEWS | 2 ++ static/js/Editor.js | 6 +++++- static/js/Wiki.js | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ea7d566..1abb684 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ 1.5.9: * Fixed a Chrome/Safari bug in which ending a link didn't always work. + * Fixed a rare Chrome/Safari bug in which pressing backspace sometimes made + the text cursor vanish. 1.5.8: November 24, 2008 * Fixed a bug that prevented notes from being automatically saved in certain diff --git a/static/js/Editor.js b/static/js/Editor.js index 9ef625d..4f5659f 100644 --- a/static/js/Editor.js +++ b/static/js/Editor.js @@ -329,10 +329,14 @@ Editor.prototype.key_released = function ( event ) { Editor.prototype.cleanup_html = function ( key_code ) { if ( WEBKIT ) { // if enter is pressed while in a title, end title mode, since WebKit doesn't do that for us - var ENTER = 13; + var ENTER = 13; BACKSPACE = 8; if ( key_code == ENTER && this.state_enabled( "h3" ) ) this.exec_command( "h3" ); + // if backspace is pressed, skip WebKit style scrubbing since it can cause problems + if ( key_code == BACKSPACE ) + return null; + // as of this writing, WebKit doesn't support execCommand( "styleWithCSS" ). for more info, see // https://bugs.webkit.org/show_bug.cgi?id=13490 // so to make up for this shortcoming, manually scrub WebKit style spans and other nodes, diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 9faebce..c25fd94 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -1073,6 +1073,10 @@ Wiki.prototype.key_pressed = function ( event ) { if ( code == 78 ) this.create_blank_editor( event ); } + + // prevent backspace from going back to the previous page + if ( code == 8 ) + event.stop(); } Wiki.prototype.editor_key_pressed = function ( editor, event ) { From 929d27035ac33eb203ff0d5b26eecbbc4cf06824 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 15:11:49 -0800 Subject: [PATCH 09/56] Changed the "new note" key from ctrl-N to ctrl-M so as not to conflict with the "new browser window" key used in most web browsers. --- NEWS | 2 ++ static/js/Wiki.js | 8 ++++---- view/Toolbar.py | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index 1abb684..79c4a4c 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ 1.5.9: + * Changed the "new note" key from ctrl-N to ctrl-M so as not to conflict with + the "new browser window" key used in most web browsers. * Fixed a Chrome/Safari bug in which ending a link didn't always work. * Fixed a rare Chrome/Safari bug in which pressing backspace sometimes made the text cursor vanish. diff --git a/static/js/Wiki.js b/static/js/Wiki.js index c25fd94..ad967bc 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -1069,8 +1069,8 @@ Wiki.prototype.key_pressed = function ( event ) { var code = event.key().code; if ( event.modifier().ctrl ) { - // ctrl-n: new note - if ( code == 78 ) + // ctrl-m: make a new note + if ( code == 77 ) this.create_blank_editor( event ); } @@ -1116,8 +1116,8 @@ Wiki.prototype.editor_key_pressed = function ( editor, event ) { // ctrl-l: link } else if ( code == 76 ) { this.toggle_link_button( event ); - // ctrl-n: new note - } else if ( code == 78 ) { + // ctrl-m: make a new note + } else if ( code == 77 ) { this.create_blank_editor( event ); // ctrl-h: hide note } else if ( code == 72 ) { diff --git a/view/Toolbar.py b/view/Toolbar.py index 2027b1d..f5fbd85 100644 --- a/view/Toolbar.py +++ b/view/Toolbar.py @@ -10,7 +10,7 @@ class Toolbar( Div ): P( Div( Input( type = u"image", - id = u"newNote", title = u"new %s [ctrl-N]" % ( note_word or u"note" ), + id = u"newNote", title = u"make a new %s [ctrl-M]" % ( note_word or u"note" ), src = u"/static/images/toolbar/new_note_button.png", width = u"40", height = u"40", class_ = "image_button", From 033833b00b041ae72791fcb3f4e12f875b82d8c4 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 15:42:08 -0800 Subject: [PATCH 10/56] Link pulldowns opened via mouse hovering will now disappear when the mouse is moved away. --- NEWS | 3 +++ static/js/Wiki.js | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 79c4a4c..634e16e 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,7 @@ 1.5.9: + * When you hover the mouse over a link and a link pulldown appears, that + pulldown will now automatically disappear soon after you move the mouse + away. * Changed the "new note" key from ctrl-N to ctrl-M so as not to conflict with the "new browser window" key used in most web browsers. * Fixed a Chrome/Safari bug in which ending a link didn't always work. diff --git a/static/js/Wiki.js b/static/js/Wiki.js index ad967bc..f2e8998 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -2975,11 +2975,15 @@ function Pulldown( wiki, notebook_id, pulldown_id, anchor, relative_to, ephemera if ( this.ephemeral ) { // when the mouse cursor is moved into the pulldown, it becomes non-ephemeral (in other words, - // it will no longer disappear in a few seconds) + // it will no longer disappear in a few seconds). but as soon as the mouse leaves, it becomes + // ephemeral again var self = this; connect( this.div, "onmouseover", function ( event ) { self.ephemeral = false; } ); + connect( this.div, "onmouseout", function ( event ) { + self.ephemeral = true; + } ); } } @@ -3306,10 +3310,16 @@ Link_pulldown.prototype.display_summary = function ( title, summary ) { } Link_pulldown.prototype.title_field_clicked = function ( event ) { + disconnectAll( this.div ); + this.ephemeral = false; + event.stop(); } Link_pulldown.prototype.title_field_focused = function ( event ) { + disconnectAll( this.div ); + this.ephemeral = false; + this.title_field.select(); } From 3da951b0ba0c9ad121c786244eaee3c8650e31a3 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 16:27:01 -0800 Subject: [PATCH 11/56] Fixed an Internet Explorer bug in which backspace sometimes didn't work, such as when backspacing an empty list element. --- NEWS | 2 ++ static/js/Wiki.js | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 634e16e..ac7e5d4 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,8 @@ * Fixed a Chrome/Safari bug in which ending a link didn't always work. * Fixed a rare Chrome/Safari bug in which pressing backspace sometimes made the text cursor vanish. + * Fixed an Internet Explorer bug in which backspace sometimes didn't work, + such as when backspacing an empty list element. 1.5.8: November 24, 2008 * Fixed a bug that prevented notes from being automatically saved in certain diff --git a/static/js/Wiki.js b/static/js/Wiki.js index f2e8998..81fac2b 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -1154,8 +1154,10 @@ Wiki.prototype.editor_key_pressed = function ( editor, event ) { } else if ( code == 8 && editor.document.selection ) { var range = editor.document.selection.createRange(); range.moveStart( "character", -1 ); - range.text = ""; - event.stop(); + if ( range.text != "" ) { + range.text = ""; + event.stop(); + } } } From 559001035620e15efa6beb3a61a9d850d43ca4a4 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 16:28:16 -0800 Subject: [PATCH 12/56] It's release day! --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ac7e5d4..df68dce 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -1.5.9: +1.5.9: December 3, 2008 * When you hover the mouse over a link and a link pulldown appears, that pulldown will now automatically disappear soon after you move the mouse away. From bceedf8eddb3e5e97f0238542c8673cdbfc4e076 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 3 Dec 2008 17:14:49 -0800 Subject: [PATCH 13/56] Removing code that surpressed backspaces, since it breaks backspaces on the search field too. --- static/js/Wiki.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 81fac2b..308737c 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -1073,10 +1073,6 @@ Wiki.prototype.key_pressed = function ( event ) { if ( code == 77 ) this.create_blank_editor( event ); } - - // prevent backspace from going back to the previous page - if ( code == 8 ) - event.stop(); } Wiki.prototype.editor_key_pressed = function ( editor, event ) { From b7789c653307991b0cd3e23f02291bef1f2c4d4a Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Thu, 4 Dec 2008 12:30:59 -0800 Subject: [PATCH 14/56] Fixed a bug in which certain new installations of Luminotes Desktop on Windows yielded an "uh oh" error on initial launch. This was due to duplicate notebook timestamps within the sqlite database, which meant that notebook_current included the placeholder "next ids" along with the actual notebooks. The fix was to modify the notebook_current view to filter out those placeholder ids. --- NEWS | 5 +++++ config/Version.py | 2 +- model/delta/1.5.10.sql | 3 +++ model/schema.sqlite | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 model/delta/1.5.10.sql diff --git a/NEWS b/NEWS index df68dce..4db1ec6 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,8 @@ +1.5.10: December 4, 2008 + * Fixed a bug in which certain new installations of Luminotes Desktop + on Windows yielded an "uh oh" error on initial launch. This bug did + not occur during upgrades. It only affected new installations. + 1.5.9: December 3, 2008 * When you hover the mouse over a link and a link pulldown appears, that pulldown will now automatically disappear soon after you move the mouse diff --git a/config/Version.py b/config/Version.py index 61ebe8c..0252ace 100644 --- a/config/Version.py +++ b/config/Version.py @@ -1 +1 @@ -VERSION = u"1.5.9" +VERSION = u"1.5.10" diff --git a/model/delta/1.5.10.sql b/model/delta/1.5.10.sql new file mode 100644 index 0000000..f0d2610 --- /dev/null +++ b/model/delta/1.5.10.sql @@ -0,0 +1,3 @@ +DROP VIEW notebook_current; +CREATE VIEW notebook_current AS + SELECT id, revision, name, trash_id, deleted, user_id FROM notebook WHERE (notebook.revision IN (SELECT max(sub_notebook.revision) AS max FROM notebook sub_notebook WHERE (sub_notebook.id = notebook.id))) and notebook.name is not null; diff --git a/model/schema.sqlite b/model/schema.sqlite index 110d5e2..8caae64 100644 --- a/model/schema.sqlite +++ b/model/schema.sqlite @@ -104,7 +104,7 @@ CREATE TABLE notebook ( ); CREATE VIEW notebook_current AS - SELECT id, revision, name, trash_id, deleted, user_id FROM notebook WHERE (notebook.revision IN (SELECT max(sub_notebook.revision) AS max FROM notebook sub_notebook WHERE (sub_notebook.id = notebook.id))); + SELECT id, revision, name, trash_id, deleted, user_id FROM notebook WHERE (notebook.revision IN (SELECT max(sub_notebook.revision) AS max FROM notebook sub_notebook WHERE (sub_notebook.id = notebook.id))) and notebook.name is not null; CREATE TABLE password_reset ( id text NOT NULL, From 233b80097825704ec5c6d6a20469ac48affa5719 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 5 Dec 2008 12:03:18 -0800 Subject: [PATCH 15/56] Decreased the default note text font size and bumped version. --- NEWS | 4 ++++ config/Version.py | 2 +- static/css/download.css | 1 + static/css/note.css | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 4db1ec6..181fef8 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,7 @@ +1.5.11: + * Decreased the default note text font size, so now you can see more of your + notes at once. + 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop on Windows yielded an "uh oh" error on initial launch. This bug did diff --git a/config/Version.py b/config/Version.py index 0252ace..930da27 100644 --- a/config/Version.py +++ b/config/Version.py @@ -1 +1 @@ -VERSION = u"1.5.10" +VERSION = u"1.5.11" diff --git a/static/css/download.css b/static/css/download.css index 617e8cc..7db9333 100644 --- a/static/css/download.css +++ b/static/css/download.css @@ -1,5 +1,6 @@ body { padding: 1em; + font-size: 90%; background-color: #fafafa; line-height: 140%; font-family: sans-serif; diff --git a/static/css/note.css b/static/css/note.css index e0c6ef1..28161e8 100644 --- a/static/css/note.css +++ b/static/css/note.css @@ -1,5 +1,6 @@ body { padding: 1em; + font-size: 90%; line-height: 140%; font-family: sans-serif; } From c07d315ffebca2fccc3c2ba49b76c51f017cf9f3 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 10 Dec 2008 23:21:44 -0800 Subject: [PATCH 16/56] Replaced title button with font face button. Needs more work in IE. Also added more rounded corners to several display elements. --- NEWS | 4 +- config/Desktop.py | 2 +- controller/Notebooks.py | 2 + model/Note.py | 2 + static/css/download.css | 1 + static/css/product.css | 8 +- static/css/style.css | 42 ++++++- static/images/toolbar/font_button.png | Bin 0 -> 963 bytes static/images/toolbar/font_button.xcf | Bin 0 -> 1725 bytes static/images/toolbar/font_button_down.png | Bin 0 -> 1374 bytes static/images/toolbar/font_button_down.xcf | Bin 0 -> 2576 bytes .../images/toolbar/font_button_down_hover.png | Bin 0 -> 1342 bytes .../images/toolbar/font_button_down_hover.xcf | Bin 0 -> 2550 bytes static/images/toolbar/font_button_hover.png | Bin 0 -> 954 bytes static/images/toolbar/font_button_hover.xcf | Bin 0 -> 1403 bytes static/images/toolbar/small/font_button.png | Bin 0 -> 587 bytes static/images/toolbar/small/font_button.xcf | Bin 0 -> 1465 bytes .../images/toolbar/small/font_button_down.png | Bin 0 -> 695 bytes .../images/toolbar/small/font_button_down.xcf | Bin 0 -> 1528 bytes .../toolbar/small/font_button_down_hover.png | Bin 0 -> 684 bytes .../toolbar/small/font_button_down_hover.xcf | Bin 0 -> 1525 bytes .../toolbar/small/font_button_hover.png | Bin 0 -> 582 bytes .../toolbar/small/font_button_hover.xcf | Bin 0 -> 1143 bytes static/js/Wiki.js | 118 +++++++++++++++++- view/Link_area.py | 10 -- view/Main_page.py | 16 ++- view/Toolbar.py | 10 +- 27 files changed, 178 insertions(+), 37 deletions(-) create mode 100644 static/images/toolbar/font_button.png create mode 100644 static/images/toolbar/font_button.xcf create mode 100644 static/images/toolbar/font_button_down.png create mode 100644 static/images/toolbar/font_button_down.xcf create mode 100644 static/images/toolbar/font_button_down_hover.png create mode 100644 static/images/toolbar/font_button_down_hover.xcf create mode 100644 static/images/toolbar/font_button_hover.png create mode 100644 static/images/toolbar/font_button_hover.xcf create mode 100644 static/images/toolbar/small/font_button.png create mode 100644 static/images/toolbar/small/font_button.xcf create mode 100644 static/images/toolbar/small/font_button_down.png create mode 100644 static/images/toolbar/small/font_button_down.xcf create mode 100644 static/images/toolbar/small/font_button_down_hover.png create mode 100644 static/images/toolbar/small/font_button_down_hover.xcf create mode 100644 static/images/toolbar/small/font_button_hover.png create mode 100644 static/images/toolbar/small/font_button_hover.xcf diff --git a/NEWS b/NEWS index 181fef8..c593e68 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ 1.5.11: + * Added a font selection button to the toolbar. * Decreased the default note text font size, so now you can see more of your - notes at once. + note text at once. + * Added more rounded corners to several display elements. 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop diff --git a/config/Desktop.py b/config/Desktop.py index d529edf..3e4d482 100644 --- a/config/Desktop.py +++ b/config/Desktop.py @@ -26,7 +26,7 @@ settings = { "session_filter.storage_type": "ram", "session_filter.timeout": 60 * 24 * 365, # one year "static_filter.root": os.getcwd(), - "server.log_to_screen": False, + "server.log_to_screen": True, "server.log_file": os.path.join( gettempdir(), "luminotes_error%s.log" % username_postfix ), "server.log_access_file": os.path.join( gettempdir(), "luminotes%s.log" % username_postfix ), "server.log_tracebacks": True, diff --git a/controller/Notebooks.py b/controller/Notebooks.py index 949a9f9..31908b8 100644 --- a/controller/Notebooks.py +++ b/controller/Notebooks.py @@ -741,7 +741,9 @@ class Notebooks( object ): # if the note is already in the given notebook, load it and update it if note and note.notebook_id == notebook.object_id: + print "LOADING OLD NOTE..." old_note = self.__database.load( Note, note_id, previous_revision ) + print "OLD NOTE: %s" % old_note previous_user = self.__database.load( User, note.user_id ) previous_revision = User_revision( note.revision, note.user_id, previous_user and previous_user.username or None ) diff --git a/model/Note.py b/model/Note.py index 73f32e4..28a4847 100644 --- a/model/Note.py +++ b/model/Note.py @@ -136,8 +136,10 @@ class Note( Persistent ): @staticmethod def sql_load( object_id, revision = None ): if revision: + print "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note where id = %s and revision = %s;" % ( quote( object_id ), quote( revision ) ) return "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note where id = %s and revision = %s;" % ( quote( object_id ), quote( revision ) ) + print "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note_current where id = %s;" % quote( object_id ) return "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note_current where id = %s;" % quote( object_id ) @staticmethod diff --git a/static/css/download.css b/static/css/download.css index 7db9333..9b59eaf 100644 --- a/static/css/download.css +++ b/static/css/download.css @@ -14,6 +14,7 @@ body { } .note_frame { + -moz-border-radius: 5px; text-align: left; margin: 0em; padding: 1.5em; diff --git a/static/css/product.css b/static/css/product.css index 1b7a93c..3d45509 100644 --- a/static/css/product.css +++ b/static/css/product.css @@ -40,10 +40,10 @@ background-image: url(/static/images/toolbar/strikethrough_button.png); } -#title_button_preload { +#font_button_preload { height: 0; overflow: hidden; - background-image: url(/static/images/toolbar/title_button.png); + background-image: url(/static/images/toolbar/font_button.png); } #bullet_list_button_preload { @@ -65,6 +65,8 @@ } .hook_area { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; padding-top: 1.5em; padding-bottom: 1.5em; width: 100%; @@ -156,6 +158,8 @@ } .thumbnail_area { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; background-color: #fffece; padding-bottom: 0.5em; } diff --git a/static/css/style.css b/static/css/style.css index 8c92468..1ce0224 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -107,10 +107,10 @@ h1 { background-image: url(/static/images/toolbar/strikethrough_button_hover.png); } -#title_button_hover_preload { +#font_button_hover_preload { height: 0; overflow: hidden; - background-image: url(/static/images/toolbar/title_button_hover.png); + background-image: url(/static/images/toolbar/font_button_hover.png); } #bullet_list_button_hover_preload { @@ -167,10 +167,10 @@ h1 { background-image: url(/static/images/toolbar/strikethrough_button_down_hover.png); } -#title_button_down_hover_preload { +#font_button_down_hover_preload { height: 0; overflow: hidden; - background-image: url(/static/images/toolbar/title_button_down_hover.png); + background-image: url(/static/images/toolbar/font_button_down_hover.png); } #bullet_list_button_down_hover_preload { @@ -227,10 +227,10 @@ h1 { background-image: url(/static/images/toolbar/strikethrough_button_down.png); } -#title_button_down_preload { +#font_button_down_preload { height: 0; overflow: hidden; - background-image: url(/static/images/toolbar/title_button_down.png); + background-image: url(/static/images/toolbar/font_button_down.png); } #bullet_list_button_down_preload { @@ -427,6 +427,12 @@ h1 { color: #ff6600; } +#notebook_header_links { + position: absolute; + top: 1.7em; + right: 1em; +} + #rename_form { margin: 0; } @@ -493,6 +499,9 @@ h1 { } .note_button { + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-radius: 4px; border-style: outset; border-width: 0px; background-color: #d0e0f0; @@ -511,9 +520,12 @@ h1 { #save_button { margin-left: 0.5em; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; } .note_frame { + -moz-border-radius: 5px; margin: 0em; padding: 0em; overflow: hidden; @@ -549,6 +561,7 @@ h1 { } .pulldown { + -moz-border-radius: 4px; position: absolute; font-size: 72%; text-align: left; @@ -579,16 +592,23 @@ h1 { } .pulldown_label { + -moz-user-select: none; color: #000000; text-decoration: none; } +.font_label { + font-size: 125%; +} + .pulldown_label:hover { color: #ff6600; cursor: pointer; } .message { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; padding: 0.5em; margin-bottom: 0.5em; font-weight: bold; @@ -596,12 +616,16 @@ h1 { } .message_inner { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; padding: 0.5em; line-height: 140%; background-color: #ffaa44; } .error { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; padding: 0.5em; border: 1px solid #550000; margin-bottom: 0.5em; @@ -611,6 +635,8 @@ h1 { } .error_inner { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; padding: 0.5em; line-height: 140%; color: #ffffff; @@ -618,6 +644,8 @@ h1 { } .message_button { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; margin-left: 0.5em; border-style: outset; border-width: 0px; @@ -861,6 +889,8 @@ h1 { } .hook_action_area { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; background-color: #ffff99; font-weight: bold; padding: 1em; diff --git a/static/images/toolbar/font_button.png b/static/images/toolbar/font_button.png new file mode 100644 index 0000000000000000000000000000000000000000..9372ee95986f69b2856fcc02ffd55b362c085b64 GIT binary patch literal 963 zcmV;!13dhRP)WFU8GbZ8({Xk{QrNlj4iWF>9@00SpUL_t(o!_}EvNEA^V z#(#TeOLsSIi^3uzE6vivTiz-wNQj7fNPo=Fsw#tnzvy`Olo2!+d=Inw@3kEKN(tY?e5^_j$?AD@2l{*a0Ra&O``-#cHGH zOZS-N&CDracxY(!l4Ut+z^HAep}vj{C0j_GX$QdF?_$^1^*F!xMD&|8H;Jovo0z{~ z;neQpZKb;-?gN1l-2E=h)24B;t^r9%NMA zqkloDN3D1LN)4yZT_7vBKzG1#`=Bh#D6&j2sLA)E1eJ?typ z%%>0Uh>y3hedity9Xm1Z8gJ5OaKPQqm(QP=9v4UQl2qd2<0t*NFrkWiN={8$1ZGqP z1)+S-sPYIx;h|C0DF`K-Mpcs_6uWjA5UvZjB!FH*v8&5Ka4wChS7?FtHA1ng%OG&I lgmP;C{}G~xK^pEi#BZbdCdpu;gPQ;V002ovPDHLkV1mOyyB7ce literal 0 HcmV?d00001 diff --git a/static/images/toolbar/font_button.xcf b/static/images/toolbar/font_button.xcf new file mode 100644 index 0000000000000000000000000000000000000000..4331ad9c931af415827b74bf0f0a01ae15ed1584 GIT binary patch literal 1725 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 QUW2WU=}uXQ7yJ+Y1G8e3S^xk5 literal 0 HcmV?d00001 diff --git a/static/images/toolbar/font_button_down_hover.png b/static/images/toolbar/font_button_down_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..1294bcdb766fac8a584c279f20efad3590051fd3 GIT binary patch literal 1342 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 ZZUCVdj_h^9SWo}}002ovPDHLkV1mHl_Ll$v literal 0 HcmV?d00001 diff --git a/static/images/toolbar/small/font_button.xcf b/static/images/toolbar/small/font_button.xcf new file mode 100644 index 0000000000000000000000000000000000000000..fc89f2587dea860f9078b89196fb4cf7b0c8471e GIT binary patch literal 1465 zcmcIj&ubG=5PsX58vDbps1*_6(L+cMTbe^f@YZUjpkV!hC@5?;FPo>E-LSjC#7i$; zya_6L%*lh|NxWIFiuBM5LXY(is01(8n(X?`X17f-UIYi`&G){UdGGDatSKv1UN=g- zBrU-pM`9&>2&yPp4nxzkj~F9`P|!Z;5OgBO6n7NyS766X9IF{lr6Oz}dq&QQIalbu zDDr#KFY~Kq!Ot&TyhL6#3YQh#6q@PEB5}x2(pk@MSb|I27p^A^Uplsz8_t$Y!?7Hf zXCtGzWErQ6S?oAlK@}dD$HE3^flza(Ng*^HV~RQuV;DBv zgGYKWol3bRW6%VT14n0t5a9hizTTmrL0E*Z+gV@Kea+Gv!UYv|b|y<4pPZjW6-tf` zc{`0uqsd>IEHMoKQK+s8+w1t+; z%*^iR6r8$Naf*T$8@67N2E7DSG(pL?QSo9KT#iA~el%!sZ7(Tl1)b#z`rjV<&S5&|p3!F18ba*0^5o4eh2`jenu=sTM`m^7uIV~8yGXA8IiPet zNxuP2eh|1*sVHjqnW$sx_+Bm*eMi7n)m1D@ib+OYWh`JD>IN22WYi6!T51amC^Bk` zv2B)VZU$jG+zK|E8J1ZO4~FgaOfyu&PIHr1c-1fn!X@^B449zHQ%t)VWo)e@wR_I5 G=$zj%Gg!?4 literal 0 HcmV?d00001 diff --git a/static/images/toolbar/small/font_button_down.png b/static/images/toolbar/small/font_button_down.png new file mode 100644 index 0000000000000000000000000000000000000000..eedcfbf80f8c103fbb0e0fb0c6a537e783eeadd4 GIT binary patch literal 695 zcmV;o0!aOdP)WFU8GbZ8({Xk{QrNlj4iWF>9@00J9HL_t(I%cYb}NK{c2 z$A9422?<8{RoTaL-ffYIR=zjtS)F@1=g0rv!}$wQdXgq zKnUDI2!XEq@anqq`-7=s(`*VBt$QjicigT}w%r>pjfBil7{3v~eM_^9;G{$l4UvHY8}j(FH(X&jUPC(sJ%3XB&_4K9~J( zkK<6b?I>Hwr>7=4SXoW$)tjqVxHyIf2PogW-?dIF#0V_wCnLi{95@_v2Wmn9&d|YR zKh?DjM53GBfnMF`STH;LmC<)OPB*m_w2@Nx8R~C|N-3^iX=Z%v1C>YWh#x&s=$=oC z?#Iu2i%ZP9Kp?nsoB21ow4&mYW+6n@w(YgTGQcHGO8MIB)#JcDU}D~k3wE*jo-Uxi da`%=uzX0`Is2^#A9k>7h002ovPDHLkV1gDODQ*A& literal 0 HcmV?d00001 diff --git a/static/images/toolbar/small/font_button_down.xcf b/static/images/toolbar/small/font_button_down.xcf new file mode 100644 index 0000000000000000000000000000000000000000..94b8e52389ff6b2292431cc7bdf4a8bb639e4e79 GIT binary patch literal 1528 zcmb7COH31C5dIegN_n(I#eZF(#T|^rDG}QnqDdAEYf2;sFnUF+_Qa z@+KM(dBh0PqL$KN1thf;0tf`5HxCA53`QQ?U1xr_C=m~xWM;m3&(6Pk-dMmEX?3iQ zH*f^#kj#jafEfnFL10Bz6(Pt#m~=qqWLab0VaUG%IzbO@)3j!zku%xACKyaUYvD9D zE|0y%+w$3~`5b%x!lfLHs%biJ)abc1y@k(1A5<`k6sxV+z_Gl^##yYK*2bGn)>LJR zPOmi^%oa9X(-PAA7E*bwLqigO?oyXGz*-?`#EJ_ zTA_)z!SdRC4!15c>vUGmw!0u!|LfZE>@CH6$i%n^i98mvK*s~)bKr#&ax_*v@I_5A zX91f;pa6;jhWDa{(L0z(pcOL4;#e7jB1##fKTgJ==rDYDqy*p)RsqIdI0q>PI28N) zU!g%*>$VI+%R_ENr0`!1g*0+W0OKJ;6ZrEgO7dIyidXLnyF*XCf@X10@% zhmR56>m+3QI-=Scq7sh-`jv5%6l_flr^1TC(jHhgIBbM9h3FqFsNlIrXv7<$A$NrF&z<>AL>{V4_>7c8s`H z?qJOuw>o@TN2?mBY@@Qv4t<1I4i_{PhMX=KLC6-Vs;GQW8B@7lRo~oUAFZwKa(c!U z<3Hbzj=De8bbEYLex-k7%Ij-z0ZjA@En`!Dl|R@z=~ss%+h~3}m7P@fQE4B8K7wc5 z2Tg?uuMbAxR!#Md4UI94>rGF(20YWP&4ZJ(^NM+K*3bAi7g`)MpH~CQz{cwGN{1I< zVnBF4zZy^lg53)NbvUwz=JzgQ)c}=msr1Z&N0^;ofu_R3@(PR~WSe96$1hq-}An H{RH_9ST+BP literal 0 HcmV?d00001 diff --git a/static/images/toolbar/small/font_button_down_hover.png b/static/images/toolbar/small/font_button_down_hover.png new file mode 100644 index 0000000000000000000000000000000000000000..549562cbba253ba4bb1022ae77e16c4e8f064918 GIT binary patch literal 684 zcmV;d0#p5oP)WFU8GbZ8({Xk{QrNlj4iWF>9@00Iz6L_t(I%cYb}XcIvc z$A7cCNw($#*QOG*wu*|UR!>5LB18q1QY~0dB3=rWdi3L_V4-?YJSYfWBv3?D5PI{V z)`JoR8`0JhbFifd(xeHo)i%lQj29yjY_e_N>CG_j$D8-~{{_HYSEJJc4$G7Y+Qt1M_cUk~!w0zvXxc8r?jYeJc4JA1l zZ)2c$7f)YKb8~o-(R+uNtYG? zN364D^}xlF!{k&EfZ{@#iLXVX9cuudKC+D`*Y^YP@c9&mE;xJbE!`JJNl*XyZ%y5$ zbpF{Uz+AD!vDju3S7WR1ur}U(o@+Qi0L_IDP_8(n(s_Dbi^2N>!`#szNT^Nij3~lM@HF(06=?JClTh7<+VPq&Z-B z1x?#sN&QG@mfyZ2gvvN_&A2o$qxY#vAe-PWPUUw#7$CcJ3x S&~@zq0000{wvksm+e&SRCMh!GwbXf#GOYn-N=z|J|&G7lFoIEGG{k+%5+x()(?aS0< z*ae%%>G5(IRAqSutA)!xlucKI1>B& zU!g%*>yic{%R_EV!&YBR2in!-`z9YIGLv=$K6EM0+w)u*8ynmUpWS_$nBKs!)qIJN zrWQmsw+MM@M%4I<=#>M2e&y^VdXB&HA$@+%fj;R$uHl zwAV;SOIureLi^8-+daYYsjg1x^~@|gyFBw@>iw6lr_=LGAvP4Vv^uxYJpni+BtM*8 z3h6`P-mf7;G_sH8_fr|9aulUJ{t?^B)1T&1eV$u@8Ms${O>J!*Tep0*sr7DOLw)=G zfdCs=9_Z`qeN^As9~_o+(#r7TVB-UTDUy6WFf8e%aPyF4h+ekPs#Yp*PWFU8GbZ8({Xk{QrNlj4iWF>9@00F8=L_t(I%dM18DCA)n z$3O3{-^IbfpZvQFc0(zlIVmGao5PG&QR3tvB^Nnt+MG0HZ|rT#N-1h@D9TdGBn*u| z(M%*s#-IHSHJA+hy1Z?Y-};DERk4RZe4p6CyBXs6>;~WN z1?5HQ0A!{m@uRQmWlM@~wg4$5EngRC{`7(F))K~N_vs(rz&F4^!L5w58)_}19%&KVCNtVz;)!F?R|sF(yaFb+gydr z4AlWJG8sVEH5$MCqNZb-y~D66P&X@-sciyWUPY;|vhj1E_Wct+*YegG4hsvh1iX(u zvbKAH(_u>taB=;Vmb#DR<|M}tjNHZu99=QkQ(^fmbrnJ4`Gs_S^Kx_=p{X{X&Zc67 z5SGteNMHMJAeF?(&{Q}kN>du(R^dnj0@kewyC(>^fKk9uo?7-y^^5{8VfO@|09VwD Ud%)t(EC2ui07*qoM6N<$f}mpooB#j- literal 0 HcmV?d00001 diff --git a/static/images/toolbar/small/font_button_hover.xcf b/static/images/toolbar/small/font_button_hover.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9adf123905a6fa0ae51a96a2d1a86388191d94a1 GIT binary patch literal 1143 zcmb7Czl#%55S~rE81F9LiW&mQ*z0KRrVzL`{_b|aCjg6Ip zigu>5P^`qxv$0Slje?l}z$zj(o-x_=o6T;#U@UH6-hA(yA8&SMO{>uqE!_}?RhI-g z6f5HcP({IU5Sm@PN5l%@pgqt9Xg3UN4Eywmsi$%lKox0G6RVNT0hQQQLh8nx)Wk3T4>+~uH8tI`O;JhS0@0`+ab{Wd+;0fo}HID~;L2FAFcS`XA;XPqrQDSC-DTK|& zn3MO#7={*O%=}V}VWP))?<_fJf>(f}S|J2@?+)M2e+4v4>ej?gn@640-B~X6gzp{t zKGl;nQu3$pq2CtV7axLN@6{1}_OnZL^)njzb>=nE!^e#7JSF;gjnVy2v=ST#`dK+j z&Efm45=Jq;{T$7Xw;E`3l=&fG#%CY#Wx1X~>`-~|^14DLexI99rn|JJ={HQ**|e+d z+RYp}em8UEc$Rr{Om+%)`fU{Tw@u73{biO*f8~2Xp&H`oC?*>fOA4r`_Hck=qxP6G zR09VnHmX51q(XNPgxPRA7<3C%=!g5mQNPediE($pC%h;fgdKXv223#FIcC(2GPe6j Koz(dq)%gRA!1llZ literal 0 HcmV?d00001 diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 308737c..c2a345f 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -330,7 +330,7 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri connect( "italic", "onclick", function ( event ) { self.toggle_button( event, "italic" ); } ); connect( "underline", "onclick", function ( event ) { self.toggle_button( event, "underline" ); } ); connect( "strikethrough", "onclick", function ( event ) { self.toggle_button( event, "strikethrough" ); } ); - connect( "title", "onclick", function ( event ) { self.toggle_button( event, "title" ); } ); + connect( "font", "onclick", this, "toggle_font_button" ); connect( "insertUnorderedList", "onclick", function ( event ) { self.toggle_button( event, "insertUnorderedList" ); } ); connect( "insertOrderedList", "onclick", function ( event ) { self.toggle_button( event, "insertOrderedList" ); } ); @@ -342,7 +342,7 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri this.make_image_button( "italic" ); this.make_image_button( "underline" ); this.make_image_button( "strikethrough" ); - this.make_image_button( "title" ); + this.make_image_button( "font" ); this.make_image_button( "insertUnorderedList", "bullet_list" ); this.make_image_button( "insertOrderedList", "numbered_list" ); @@ -393,6 +393,17 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri } ); } + // FIXME: don't do this (hide and show the links on hover) if this is the trash + var notebook_header_area = getElement( "notebook_header_area" ); + if ( notebook_header_area ) { + connect( notebook_header_area, "onmouseover", function ( event ) { + removeElementClass( "notebook_header_links", "invisible" ); + } ); + connect( notebook_header_area, "onmouseout", function ( event ) { + setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); + } ); + } + var delete_notebook_link = getElement( "delete_notebook_link" ); if ( delete_notebook_link ) { connect( delete_notebook_link, "onclick", function ( event ) { @@ -1332,7 +1343,7 @@ Wiki.prototype.update_toolbar = function() { this.update_button( "italic", "i", node_names ); this.update_button( "underline", "u", node_names ); this.update_button( "strikethrough", "strike", node_names ); - this.update_button( "title", "h3", node_names ); + this.update_button( "font", "font", node_names ); this.update_button( "insertUnorderedList", "ul", node_names ); this.update_button( "insertOrderedList", "ol", node_names ); @@ -1407,6 +1418,30 @@ Wiki.prototype.toggle_attach_button = function ( event ) { event.stop(); } +Wiki.prototype.toggle_font_button = function ( event ) { + if ( this.focused_editor && this.focused_editor.read_write ) { + this.focused_editor.focus(); + + // if a pulldown is already open, then just close it + var existing_div = getElement( "font_pulldown" ); + + if ( existing_div ) { + this.up_image_button( "font" ); + existing_div.pulldown.shutdown(); + existing_div.pulldown = null; + return; + } + + this.down_image_button( "font" ); + this.clear_messages(); + this.clear_pulldowns(); + + new Font_pulldown( this, this.notebook.object_id, this.invoker, event.target(), this.focused_editor ); + } + + event.stop(); +} + Wiki.prototype.hide_editor = function ( event, editor ) { this.clear_messages(); this.clear_pulldowns(); @@ -2792,7 +2827,9 @@ Wiki.prototype.start_notebook_rename = function () { "form", { "id": "rename_form" }, notebook_name_field, ok_button ); - replaceChildNodes( "notebook_header_area", rename_form ); + replaceChildNodes( "notebook_header_name", rename_form ); + disconnectAll( "notebook_header_area" ); + addElementClass( "notebook_header_links", "invisible" ); var self = this; connect( rename_form, "onsubmit", function ( event ) { @@ -2809,6 +2846,7 @@ Wiki.prototype.start_notebook_rename = function () { } Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_rename_on_click ) { + try{ if ( !new_notebook_name ) new_notebook_name = getElement( "notebook_name_field" ).value; @@ -2827,14 +2865,16 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam "span", {}, createDOM( "strong", {}, new_notebook_name ) ); - replaceChildNodes( "notebook_header_area", notebook_header_name ); + replaceChildNodes( "notebook_header_name", notebook_header_name ); + removeElementClass( "notebook_header_links", "invisible" ); } else { var notebook_header_name = createDOM( "span", { "id": "notebook_header_name", "title": "Rename this notebook." }, createDOM( "strong", {}, new_notebook_name ) ); - replaceChildNodes( "notebook_header_area", notebook_header_name ); + replaceChildNodes( "notebook_header_name", notebook_header_name ); + removeElementClass( "notebook_header_links", "invisible" ); var self = this; connect( notebook_header_name, "onclick", function ( event ) { @@ -2843,6 +2883,14 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam } ); } + var notebook_header_area = getElement( "notebook_header_area" ); + connect( notebook_header_area, "onmouseover", function ( event ) { + removeElementClass( "notebook_header_links", "invisible" ); + } ); + connect( notebook_header_area, "onmouseout", function ( event ) { + setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); + } ); + // rename the notebook link on the right side of the page var notebook_link = getElement( "notebook_" + this.notebook.object_id ); if ( notebook_link ) { @@ -2866,6 +2914,7 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam "notebook_id": this.notebook.object_id, "name": new_notebook_name } ); + }catch(e){console.log(e); } } Wiki.prototype.delete_notebook = function () { @@ -4196,6 +4245,63 @@ Suggest_pulldown.prototype.shutdown = function () { } +function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { + anchor.pulldown = this; + this.anchor = anchor; + this.editor = editor; + + Pulldown.call( this, wiki, notebook_id, "font_pulldown", anchor ); + + this.invoker = invoker; + + var fonts = [ + [ "Sans Serif", "sans-serif" ], + [ "Serif", "serif" ], + [ "Monospace", "monospace" ], + [ "Comic", "comic sans ms,sans-serif" ], + [ "Garamond", "garamond,serif" ], + [ "Georgia", "georgia,serif" ], + [ "Tahoma", "tahoma,sans-serif" ], + [ "Trebuchet", "trebuchet ms,sans-serif" ], + [ "Verdana", "verdana,sans-serif" ] + ]; + + var self = this; + for ( var i in fonts ) { + var font = fonts[ i ]; + var font_name = font[ 0 ]; + var font_family = font[ 1 ]; + + var label = createDOM( "label", { "class": "pulldown_label font_label", "style": "font-family: " + font_family + ";" }, + font_name + ); + label.font_family = font_family; + appendChildNodes( this.div, createDOM( "div", {}, label ) ); + connect( label, "onclick", function ( event ) { self.font_name_clicked( event ); } ); + } + + Pulldown.prototype.finish_init.call( this ); +} + +Font_pulldown.prototype = new function () { this.prototype = Pulldown.prototype; }; +Font_pulldown.prototype.constructor = Font_pulldown; + +Font_pulldown.prototype.font_name_clicked = function ( event ) { + var label = event.src(); + this.editor.focus(); + // FIXME: this doesn't work in IE 7 from this click handler, but it works elsewhere (like in the constructor) + this.editor.exec_command( "fontname", label.font_family ); + this.shutdown(); +} + +Font_pulldown.prototype.shutdown = function () { + Pulldown.prototype.shutdown.call( this ); + + this.anchor.pulldown = null; + disconnectAll( this ); +} + + function Note_tree( wiki, notebook_id, invoker ) { this.wiki = wiki; this.notebook_id = notebook_id; diff --git a/view/Link_area.py b/view/Link_area.py index c53387c..f7b3efa 100644 --- a/view/Link_area.py +++ b/view/Link_area.py @@ -103,16 +103,6 @@ class Link_area( Div ): class_ = u"link_area_item", ) or None, - ( notebook.owner and notebook.name != u"trash" ) and Div( - A( - u"rename", - href = u"#", - id = u"rename_notebook_link", - title = u"Change the name of this %s." % notebook_word, - ), - class_ = u"link_area_item", - ) or None, - ( notebook.owner and notebook.name != u"trash" ) and Div( A( u"delete", diff --git a/view/Main_page.py b/view/Main_page.py index 0e98acb..a2c3c5a 100644 --- a/view/Main_page.py +++ b/view/Main_page.py @@ -186,6 +186,16 @@ class Main_page( Page ): ) or None, Rounded_div( ( notebook.name == u"trash" ) and u"trash_notebook" or u"current_notebook", + parent_id and Span( + A( u"empty", href = u"/notebooks/%s" % notebook.object_id, id = u"empty_trash_link" ), + u" | ", + A( u"go back", href = u"/notebooks/%s" % parent_id ), + id = u"notebook_header_links", + ) or Span( + A( u"rename", href = u"#", id = u"rename_notebook_link", title = u"Rename this notebook." ), + id = u"notebook_header_links", + class_ = u"invisible", + ), ( notebook.name == u"Luminotes" and title == u"source code" ) and \ Strong( "%s %s" % ( notebook.name, VERSION ) ) or \ Span( @@ -193,12 +203,6 @@ class Main_page( Page ): and Strong( notebook.name ) \ or Span( Strong( notebook.name ), id = u"notebook_header_name", title = "Rename this notebook." ), ), - parent_id and Span( - u" | ", - A( u"empty trash", href = u"/notebooks/%s" % notebook.object_id, id = u"empty_trash_link" ), - u" | ", - A( u"return to notebook", href = u"/notebooks/%s" % parent_id ), - ) or None, id = u"notebook_header_area", corners = ( u"tl", u"tr", u"br" ), ), diff --git a/view/Toolbar.py b/view/Toolbar.py index f5fbd85..0b8bafd 100644 --- a/view/Toolbar.py +++ b/view/Toolbar.py @@ -62,8 +62,8 @@ class Toolbar( Div ): ) ), Div( Input( type = u"image", - id = u"title", title = u"title", - src = u"/static/images/toolbar/title_button.png", + id = u"font", title = u"font", + src = u"/static/images/toolbar/font_button.png", width = u"40", height = u"40", class_ = "image_button", ) ), @@ -94,7 +94,7 @@ class Toolbar( Div ): Span( id = "italic_button_hover_preload" ), Span( id = "underline_button_hover_preload" ), Span( id = "strikethrough_button_hover_preload" ), - Span( id = "title_button_hover_preload" ), + Span( id = "font_button_hover_preload" ), Span( id = "bullet_list_button_hover_preload" ), Span( id = "numbered_list_button_hover_preload" ), @@ -105,7 +105,7 @@ class Toolbar( Div ): Span( id = "italic_button_down_hover_preload" ), Span( id = "underline_button_down_hover_preload" ), Span( id = "strikethrough_button_down_hover_preload" ), - Span( id = "title_button_down_hover_preload" ), + Span( id = "font_button_down_hover_preload" ), Span( id = "bullet_list_button_down_hover_preload" ), Span( id = "numbered_list_button_down_hover_preload" ), @@ -116,7 +116,7 @@ class Toolbar( Div ): Span( id = "italic_button_down_preload" ), Span( id = "underline_button_down_preload" ), Span( id = "strikethrough_button_down_preload" ), - Span( id = "title_button_down_preload" ), + Span( id = "font_button_down_preload" ), Span( id = "bullet_list_button_down_preload" ), Span( id = "numbered_list_button_down_preload" ), From a55934f948999e896e545c93e568b03756866c5f Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 12 Dec 2008 23:36:29 -0800 Subject: [PATCH 17/56] Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. This was due to a floating point rounding error in Luminotes that occured when loading note revisions from a SQLite database. --- NEWS | 2 ++ controller/Database.py | 8 ++++++- controller/test/Test_database.py | 36 +++++++++++++++++++++++++++++++- model/Note.py | 2 -- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index c593e68..7b0193a 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ * Decreased the default note text font size, so now you can see more of your note text at once. * Added more rounded corners to several display elements. + * Fixed a Luminotes Desktop bug in which creating and then clicking on a new + note link sometimes caused a red error message. 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop diff --git a/controller/Database.py b/controller/Database.py index b197ec8..1519903 100644 --- a/controller/Database.py +++ b/controller/Database.py @@ -69,11 +69,17 @@ class Database( object ): from pytz import utc TIMESTAMP_PATTERN = re.compile( "^(\d\d\d\d)-(\d\d)-(\d\d) (\d\d):(\d\d):(\d\d).(\d+)(?:\+\d\d:\d\d$)?" ) + MICROSECONDS_PER_SECOND = 1000000 def convert_timestamp( value ): ( year, month, day, hours, minutes, seconds, fractional_seconds ) = \ TIMESTAMP_PATTERN.search( value ).groups( 0 ) - microseconds = int( float ( "0." + fractional_seconds ) * 1000000 ) + + # convert fractional seconds (with an arbitrary number of decimal places) to microseconds + microseconds = int( fractional_seconds ) + while microseconds > MICROSECONDS_PER_SECOND: + fractional_seconds = fractional_seconds[ : -1 ] + microseconds = int( fractional_seconds or 0 ) # ignore time zone in timestamp and assume UTC return datetime( diff --git a/controller/test/Test_database.py b/controller/test/Test_database.py index dac977f..ac51bee 100644 --- a/controller/test/Test_database.py +++ b/controller/test/Test_database.py @@ -66,6 +66,40 @@ class Test_database( object ): assert obj.revision.replace( tzinfo = utc ) == original_revision assert obj.value == basic_obj.value + def test_select_datetime( self ): + # this revision (with .504099) happens to test for a bug caused by floating point rounding errors + original_revision = "2008-01-01 01:00:42.504099+00:00" + basic_obj = Stub_object( object_id = "5", revision = original_revision, value = 1 ) + + self.database.save( basic_obj ) + obj = self.database.select_one( Stub_object, Stub_object.sql_load( basic_obj.object_id ) ) + + assert obj.object_id == basic_obj.object_id + assert str( obj.revision.replace( tzinfo = utc ) ) == original_revision + assert obj.value == basic_obj.value + + def test_select_datetime_with_many_fractional_digits( self ): + original_revision = "2008-01-01 01:00:42.5032429489284+00:00" + basic_obj = Stub_object( object_id = "5", revision = original_revision, value = 1 ) + + self.database.save( basic_obj ) + obj = self.database.select_one( Stub_object, Stub_object.sql_load( basic_obj.object_id ) ) + + assert obj.object_id == basic_obj.object_id + assert str( obj.revision.replace( tzinfo = utc ) ) == "2008-01-01 01:00:42.503242+00:00" + assert obj.value == basic_obj.value + + def test_select_datetime_with_zero_fractional_seconds( self ): + original_revision = "2008-01-01 01:00:42.0+00:00" + basic_obj = Stub_object( object_id = "5", revision = original_revision, value = 1 ) + + self.database.save( basic_obj ) + obj = self.database.select_one( Stub_object, Stub_object.sql_load( basic_obj.object_id ) ) + + assert obj.object_id == basic_obj.object_id + assert str( obj.revision.replace( tzinfo = utc ) ) == "2008-01-01 01:00:42+00:00" + assert obj.value == basic_obj.value + def test_select_one_tuple( self ): obj = self.database.select_one( tuple, Stub_object.sql_tuple() ) @@ -185,7 +219,7 @@ class Test_database( object ): self.connection.rollback() assert self.database.load( Stub_object, next_id ) == None - def test_next_id_with_explit_commit( self ): + def test_next_id_with_explicit_commit( self ): next_id = self.database.next_id( Stub_object, commit = False ) self.database.commit() assert next_id diff --git a/model/Note.py b/model/Note.py index 28a4847..73f32e4 100644 --- a/model/Note.py +++ b/model/Note.py @@ -136,10 +136,8 @@ class Note( Persistent ): @staticmethod def sql_load( object_id, revision = None ): if revision: - print "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note where id = %s and revision = %s;" % ( quote( object_id ), quote( revision ) ) return "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note where id = %s and revision = %s;" % ( quote( object_id ), quote( revision ) ) - print "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note_current where id = %s;" % quote( object_id ) return "select id, revision, title, contents, notebook_id, startup, deleted_from_id, rank, user_id from note_current where id = %s;" % quote( object_id ) @staticmethod From a8dc915852ff24ad151def5d70389090160e0608 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 12 Dec 2008 23:37:40 -0800 Subject: [PATCH 18/56] Removing debugging prints. --- controller/Notebooks.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/controller/Notebooks.py b/controller/Notebooks.py index 31908b8..949a9f9 100644 --- a/controller/Notebooks.py +++ b/controller/Notebooks.py @@ -741,9 +741,7 @@ class Notebooks( object ): # if the note is already in the given notebook, load it and update it if note and note.notebook_id == notebook.object_id: - print "LOADING OLD NOTE..." old_note = self.__database.load( Note, note_id, previous_revision ) - print "OLD NOTE: %s" % old_note previous_user = self.__database.load( User, note.user_id ) previous_revision = User_revision( note.revision, note.user_id, previous_user and previous_user.username or None ) From 070b55848d66f0f77ce9b360f698bd919a48fe3e Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 12 Dec 2008 23:49:35 -0800 Subject: [PATCH 19/56] With the new smaller note text font size, the smalll text within the note was even smaller (and too small). Now it's just a little smaller. --- static/css/note.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/css/note.css b/static/css/note.css index 28161e8..0933ce1 100644 --- a/static/css/note.css +++ b/static/css/note.css @@ -129,7 +129,7 @@ ol li { .small_text { padding-top: 0.5em; - font-size: 72%; + font-size: 90%; } .radio_label { From 799e0c12b004b4cebdf9787045751ca2f3b39c7c Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sat, 13 Dec 2008 00:19:15 -0800 Subject: [PATCH 20/56] Fixed a bug in which forum post permalinks didn't work on posts after the first ten in a particular thread. --- NEWS | 4 ++- controller/Forums.py | 6 ++++- controller/test/Test_forums.py | 48 ++++++++++++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 7b0193a..4c75467 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,11 @@ * Added a font selection button to the toolbar. * Decreased the default note text font size, so now you can see more of your note text at once. - * Added more rounded corners to several display elements. + * Added rounded corners to several display elements. * Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. + * Fixed a bug in which forum post permalinks didn't work on posts after the + first ten in a particular thread. 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop diff --git a/controller/Forums.py b/controller/Forums.py index 44652df..c9f47c5 100644 --- a/controller/Forums.py +++ b/controller/Forums.py @@ -212,7 +212,11 @@ class Forum( object ): # if a single note was requested, just return that one note if note_id: - result[ "notes" ] = [ note for note in result[ "notes" ] if note.object_id == note_id ] + note = self.__database.load( Note, note_id ) + if note: + result[ "notes" ] = [ note ] + else: + result[ "notes" ] = [] return result diff --git a/controller/test/Test_forums.py b/controller/test/Test_forums.py index 2ab4e61..041a39a 100644 --- a/controller/test/Test_forums.py +++ b/controller/test/Test_forums.py @@ -268,6 +268,54 @@ class Test_forums( Test_controller ): user = self.database.load( User, self.user.object_id ) assert user.storage_bytes == 0 + def test_general_thread_default_with_unknown_note_id( self ): + result = self.http_get( "/forums/general/%s?note_id=unknownid" % self.general_thread.object_id ) + + assert result.get( u"user" ).object_id == self.anonymous.object_id + assert len( result.get( u"notebooks" ) ) == 4 + assert result.get( u"notebooks" )[ 0 ].object_id == self.anon_notebook.object_id + assert result.get( u"login_url" ) + assert result.get( u"logout_url" ) + assert result.get( u"rate_plan" ) + assert result.get( u"notebook" ).object_id == self.general_thread.object_id + assert len( result.get( u"startup_notes" ) ) == 0 + assert result.get( u"notes" ) == [] + assert result.get( u"parent_id" ) == None + assert result.get( u"note_read_write" ) in ( None, True ) + assert result.get( u"total_notes_count" ) == 0 + + invites = result[ "invites" ] + assert len( invites ) == 0 + + user = self.database.load( User, self.user.object_id ) + assert user.storage_bytes == 0 + + def test_general_thread_default_with_note_id( self ): + self.__make_notes() + + result = self.http_get( "/forums/general/%s?note_id=%s" % ( self.general_thread.object_id, self.note.object_id ) ) + + assert result.get( u"user" ).object_id == self.anonymous.object_id + assert len( result.get( u"notebooks" ) ) == 4 + assert result.get( u"notebooks" )[ 0 ].object_id == self.anon_notebook.object_id + assert result.get( u"login_url" ) + assert result.get( u"logout_url" ) + assert result.get( u"rate_plan" ) + assert result.get( u"notebook" ).object_id == self.general_thread.object_id + assert len( result.get( u"startup_notes" ) ) == 3 + assert len( result.get( u"notes" ) ) == 1 + assert result.get( u"notes" )[ 0 ].object_id == self.note.object_id + assert result[ u"notes" ][ 0 ].title == u"foo" + assert result.get( u"parent_id" ) == None + assert result.get( u"note_read_write" ) in ( None, True ) + assert result.get( u"total_notes_count" ) == 3 + + invites = result[ "invites" ] + assert len( invites ) == 0 + + user = self.database.load( User, self.user.object_id ) + assert user.storage_bytes == 0 + def test_general_thread_default_with_login( self ): self.login() From d687d2b1c89dce26dbb54468a379b93f168e1955 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sat, 13 Dec 2008 00:32:19 -0800 Subject: [PATCH 21/56] Vertically compacted the link area on the left somewhat. "rename" hover link no longer showing up on read-only/trash notebooks. --- static/js/Wiki.js | 19 +++++++++---------- view/Link_area.py | 29 +++++++++++++---------------- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/static/js/Wiki.js b/static/js/Wiki.js index c2a345f..9f06eec 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -391,17 +391,16 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri self.start_notebook_rename(); event.stop(); } ); - } - // FIXME: don't do this (hide and show the links on hover) if this is the trash - var notebook_header_area = getElement( "notebook_header_area" ); - if ( notebook_header_area ) { - connect( notebook_header_area, "onmouseover", function ( event ) { - removeElementClass( "notebook_header_links", "invisible" ); - } ); - connect( notebook_header_area, "onmouseout", function ( event ) { - setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); - } ); + var notebook_header_area = getElement( "notebook_header_area" ); + if ( notebook_header_area ) { + connect( notebook_header_area, "onmouseover", function ( event ) { + removeElementClass( "notebook_header_links", "invisible" ); + } ); + connect( notebook_header_area, "onmouseout", function ( event ) { + setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); + } ); + } } var delete_notebook_link = getElement( "delete_notebook_link" ); diff --git a/view/Link_area.py b/view/Link_area.py index f7b3efa..e67e58a 100644 --- a/view/Link_area.py +++ b/view/Link_area.py @@ -39,7 +39,7 @@ class Link_area( Div ): ( rate_plan.get( u"notebook_sharing" ) and notebook.name == u"Luminotes blog" ) and Div( A( - u"subscribe to rss", + u"follow", href = u"%s?rss" % notebook_path, id = u"blog_rss_link", title = u"Subscribe to the RSS feed for the Luminotes blog.", @@ -52,7 +52,7 @@ class Link_area( Div ): class_ = u"link_area_item", ) or ( updates_path and rate_plan.get( u"notebook_sharing" ) and ( not forum_tag ) and Div( A( - u"subscribe to rss", + u"follow", href = updates_path, id = u"notebook_rss_link", title = u"Subscribe to the RSS feed for this %s." % notebook_word, @@ -103,15 +103,22 @@ class Link_area( Div ): class_ = u"link_area_item", ) or None, - ( notebook.owner and notebook.name != u"trash" ) and Div( - A( + Div( + notebook.trash_id and A( + u"trash", + href = u"/notebooks/%s?parent_id=%s" % ( notebook.trash_id, notebook.object_id ), + id = u"trash_link", + title = u"Look here for %ss you've deleted." % note_word, + ) or None, + ( notebook.owner and notebook.name != u"trash" and notebook.trash_id ) and u"|" or None, + ( notebook.owner and notebook.name != u"trash" ) and A( u"delete", href = u"#", id = u"delete_notebook_link", title = u"Move this %s to the trash." % notebook_word, - ), + ) or None, class_ = u"link_area_item", - ) or None, + ), ( notebook.owner and user.username and rate_plan.get( u"notebook_sharing" ) ) and Div( A( @@ -123,16 +130,6 @@ class Link_area( Div ): class_ = u"link_area_item", ) or None, - notebook.trash_id and Div( - A( - u"trash", - href = u"/notebooks/%s?parent_id=%s" % ( notebook.trash_id, notebook.object_id ), - id = u"trash_link", - title = u"Look here for %ss you've deleted." % note_word, - ), - class_ = u"link_area_item", - ) or None, - ( notebook.name == u"trash" ) and Rounded_div( u"trash_notebook", A( From 461ae4f467489c621e586fa4a2eb953ae9c66869 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sun, 14 Dec 2008 23:28:43 -0800 Subject: [PATCH 22/56] Got rid of auto-hiding notebook "rename" link, since it didn't work reliably. The link is now back in the link area on the left. --- static/js/Wiki.js | 22 ---------------------- view/Link_area.py | 23 +++++++++++++++++------ view/Main_page.py | 6 +----- 3 files changed, 18 insertions(+), 33 deletions(-) diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 9f06eec..26145e9 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -391,16 +391,6 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri self.start_notebook_rename(); event.stop(); } ); - - var notebook_header_area = getElement( "notebook_header_area" ); - if ( notebook_header_area ) { - connect( notebook_header_area, "onmouseover", function ( event ) { - removeElementClass( "notebook_header_links", "invisible" ); - } ); - connect( notebook_header_area, "onmouseout", function ( event ) { - setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); - } ); - } } var delete_notebook_link = getElement( "delete_notebook_link" ); @@ -2827,8 +2817,6 @@ Wiki.prototype.start_notebook_rename = function () { ); replaceChildNodes( "notebook_header_name", rename_form ); - disconnectAll( "notebook_header_area" ); - addElementClass( "notebook_header_links", "invisible" ); var self = this; connect( rename_form, "onsubmit", function ( event ) { @@ -2865,7 +2853,6 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam createDOM( "strong", {}, new_notebook_name ) ); replaceChildNodes( "notebook_header_name", notebook_header_name ); - removeElementClass( "notebook_header_links", "invisible" ); } else { var notebook_header_name = createDOM( "span", @@ -2873,7 +2860,6 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam createDOM( "strong", {}, new_notebook_name ) ); replaceChildNodes( "notebook_header_name", notebook_header_name ); - removeElementClass( "notebook_header_links", "invisible" ); var self = this; connect( notebook_header_name, "onclick", function ( event ) { @@ -2882,14 +2868,6 @@ Wiki.prototype.end_notebook_rename = function ( new_notebook_name, prevent_renam } ); } - var notebook_header_area = getElement( "notebook_header_area" ); - connect( notebook_header_area, "onmouseover", function ( event ) { - removeElementClass( "notebook_header_links", "invisible" ); - } ); - connect( notebook_header_area, "onmouseout", function ( event ) { - setTimeout( function () { addElementClass( "notebook_header_links", "invisible" ); }, 1000 ); - } ); - // rename the notebook link on the right side of the page var notebook_link = getElement( "notebook_" + this.notebook.object_id ); if ( notebook_link ) { diff --git a/view/Link_area.py b/view/Link_area.py index e67e58a..77b719e 100644 --- a/view/Link_area.py +++ b/view/Link_area.py @@ -87,13 +87,13 @@ class Link_area( Div ): ( notebook.read_write == Notebook.READ_WRITE ) and Span( Div( - A( + ( notebook.name != u"trash" ) and A( u"import", href = u"#", id = u"import_link", title = u"Import %ss from other software into Luminotes." % note_word, - ), - u"|", + ) or None, + ( notebook.name != u"trash" ) and u"|" or None, A( u"export", href = u"#", @@ -103,7 +103,7 @@ class Link_area( Div ): class_ = u"link_area_item", ) or None, - Div( + ( notebook.name != u"trash" ) and Div( notebook.trash_id and A( u"trash", href = u"/notebooks/%s?parent_id=%s" % ( notebook.trash_id, notebook.object_id ), @@ -118,9 +118,20 @@ class Link_area( Div ): title = u"Move this %s to the trash." % notebook_word, ) or None, class_ = u"link_area_item", - ), + ) or None, - ( notebook.owner and user.username and rate_plan.get( u"notebook_sharing" ) ) and Div( + ( notebook.owner and notebook.name != u"trash" ) and Div( + A( + u"rename", + href = u"#", + id = u"rename_notebook_link", + title = u"Change the name of this %s." % notebook_word, + ), + class_ = u"link_area_item", + ) or None, + + ( notebook.owner and notebook.name != u"trash" and + user.username and rate_plan.get( u"notebook_sharing" ) ) and Div( A( u"share", href = u"#", diff --git a/view/Main_page.py b/view/Main_page.py index a2c3c5a..89362a9 100644 --- a/view/Main_page.py +++ b/view/Main_page.py @@ -191,11 +191,7 @@ class Main_page( Page ): u" | ", A( u"go back", href = u"/notebooks/%s" % parent_id ), id = u"notebook_header_links", - ) or Span( - A( u"rename", href = u"#", id = u"rename_notebook_link", title = u"Rename this notebook." ), - id = u"notebook_header_links", - class_ = u"invisible", - ), + ) or None, ( notebook.name == u"Luminotes" and title == u"source code" ) and \ Strong( "%s %s" % ( notebook.name, VERSION ) ) or \ Span( From ef6b0133421a4a23f45776afe76b85b9aabcab1b Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Sun, 14 Dec 2008 23:35:47 -0800 Subject: [PATCH 23/56] Making link area items a little closer together to save vertical page real estate. --- static/css/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/css/style.css b/static/css/style.css index 1ce0224..4e6b21f 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -693,7 +693,7 @@ h1 { .link_area_item { font-size: 75%; - padding: 0.25em 0.25em 0.25em 0.5em; + padding: 0.15em 0.25em 0.15em 0.5em; } .note_tree_item { From f385ebaa9c049e79e003c435bc2da83710774cbc Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Mon, 15 Dec 2008 18:10:38 -0800 Subject: [PATCH 24/56] In the font pulldown, now showing the current font with a check mark. --- static/js/Editor.js | 4 ++++ static/js/Wiki.js | 30 +++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/static/js/Editor.js b/static/js/Editor.js index 4f5659f..1c7c4e0 100644 --- a/static/js/Editor.js +++ b/static/js/Editor.js @@ -285,6 +285,10 @@ Editor.prototype.insert_html = function ( html ) { } } +Editor.prototype.query_command_value = function ( command ) { + return this.document.queryCommandValue( command ); +} + // resize the editor's frame to fit the dimensions of its content Editor.prototype.resize = function () { if ( !this.document ) return; diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 26145e9..68b4f9d 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -4226,6 +4226,7 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { anchor.pulldown = this; this.anchor = anchor; this.editor = editor; + this.initial_check_mark = null; Pulldown.call( this, wiki, notebook_id, "font_pulldown", anchor ); @@ -4252,8 +4253,20 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { var label = createDOM( "label", { "class": "pulldown_label font_label", "style": "font-family: " + font_family + ";" }, font_name ); + + var check_mark_char = document.createTextNode( "\u2714" ); + if ( editor.query_command_value( "fontname" ) == font_family ) { + var check_mark = createDOM( "span", {}, check_mark_char ); + this.initial_check_mark = check_mark; + } else { + var check_mark = createDOM( "span", { "class": "invisible" }, check_mark_char ); + } + + var div = createDOM( "div", {}, check_mark, " ", label ); + label.font_family = font_family; - appendChildNodes( this.div, createDOM( "div", {}, label ) ); + label.check_mark = check_mark; + appendChildNodes( this.div, div ); connect( label, "onclick", function ( event ) { self.font_name_clicked( event ); } ); } @@ -4265,10 +4278,17 @@ Font_pulldown.prototype.constructor = Font_pulldown; Font_pulldown.prototype.font_name_clicked = function ( event ) { var label = event.src(); - this.editor.focus(); - // FIXME: this doesn't work in IE 7 from this click handler, but it works elsewhere (like in the constructor) - this.editor.exec_command( "fontname", label.font_family ); - this.shutdown(); + if ( this.initial_check_mark ) + addElementClass( this.initial_check_mark, "invisible" ); + removeElementClass( label.check_mark, "invisible" ); + + var self = this; + setTimeout( function () { + self.editor.focus(); + // FIXME: this doesn't work in IE 7 from this click handler, but it works elsewhere (like in the constructor) + self.editor.exec_command( "fontname", label.font_family ); + self.shutdown(); + }, 100 ); } Font_pulldown.prototype.shutdown = function () { From 7254dc69728d9df020c80a34609588f9ea0e1d0d Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Wed, 17 Dec 2008 12:15:08 -0800 Subject: [PATCH 25/56] Changed font selector check mark to a bullet point / circle. And font selector now works in IE. --- NEWS | 1 + static/js/Wiki.js | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/NEWS b/NEWS index 4c75467..4814b3b 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ * Decreased the default note text font size, so now you can see more of your note text at once. * Added rounded corners to several display elements. + * Improved the layout on low-resolution displays (1024x768 and below). * Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. * Fixed a bug in which forum post permalinks didn't work on posts after the diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 68b4f9d..429e4a2 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -4226,7 +4226,7 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { anchor.pulldown = this; this.anchor = anchor; this.editor = editor; - this.initial_check_mark = null; + this.initial_selected_mark = null; Pulldown.call( this, wiki, notebook_id, "font_pulldown", anchor ); @@ -4254,18 +4254,18 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { font_name ); - var check_mark_char = document.createTextNode( "\u2714" ); + var selected_mark_char = document.createTextNode( "\u25cf" ); if ( editor.query_command_value( "fontname" ) == font_family ) { - var check_mark = createDOM( "span", {}, check_mark_char ); - this.initial_check_mark = check_mark; + var selected_mark = createDOM( "span", {}, selected_mark_char ); + this.initial_selected_mark = selected_mark; } else { - var check_mark = createDOM( "span", { "class": "invisible" }, check_mark_char ); + var selected_mark = createDOM( "span", { "class": "invisible" }, selected_mark_char ); } - var div = createDOM( "div", {}, check_mark, " ", label ); + var div = createDOM( "div", {}, selected_mark, " ", label ); label.font_family = font_family; - label.check_mark = check_mark; + label.selected_mark = selected_mark; appendChildNodes( this.div, div ); connect( label, "onclick", function ( event ) { self.font_name_clicked( event ); } ); } @@ -4278,14 +4278,13 @@ Font_pulldown.prototype.constructor = Font_pulldown; Font_pulldown.prototype.font_name_clicked = function ( event ) { var label = event.src(); - if ( this.initial_check_mark ) - addElementClass( this.initial_check_mark, "invisible" ); - removeElementClass( label.check_mark, "invisible" ); + if ( this.initial_selected_mark ) + addElementClass( this.initial_selected_mark, "invisible" ); + removeElementClass( label.selected_mark, "invisible" ); var self = this; setTimeout( function () { self.editor.focus(); - // FIXME: this doesn't work in IE 7 from this click handler, but it works elsewhere (like in the constructor) self.editor.exec_command( "fontname", label.font_family ); self.shutdown(); }, 100 ); From f68d571e6860f841d67b8ed2d3a72e6d4480f996 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Mon, 22 Dec 2008 19:25:09 -0800 Subject: [PATCH 26/56] Indication of current font now works in WebKit (Safari/Chrome). --- static/js/Editor.js | 2 -- static/js/Wiki.js | 6 +++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/static/js/Editor.js b/static/js/Editor.js index 1c7c4e0..e8d60d4 100644 --- a/static/js/Editor.js +++ b/static/js/Editor.js @@ -362,8 +362,6 @@ Editor.prototype.cleanup_html = function ( key_code ) { continue; var replacement = withDocument( this.document, function () { - if ( style == undefined ) - return createDOM( "span" ); // font-size is set when ending title mode if ( style.indexOf( "font-size: " ) != -1 ) return null; diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 429e4a2..85f0ae6 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -4245,6 +4245,10 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { ]; var self = this; + var current_font_family = editor.query_command_value( "fontname" ); + if ( WEBKIT ) + current_font_family = current_font_family.replace( /'/g, "" ).replace( /-webkit-/, "" ); + for ( var i in fonts ) { var font = fonts[ i ]; var font_name = font[ 0 ]; @@ -4255,7 +4259,7 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { ); var selected_mark_char = document.createTextNode( "\u25cf" ); - if ( editor.query_command_value( "fontname" ) == font_family ) { + if ( font_family.search( current_font_family ) == 0 ) { var selected_mark = createDOM( "span", {}, selected_mark_char ); this.initial_selected_mark = selected_mark; } else { From 1f3b50704ed9425503a058bfb9d5166c00f7c3e6 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Mon, 22 Dec 2008 22:14:16 -0800 Subject: [PATCH 27/56] If a pulldown is partially off the bottom of the window, move it up until it isn't obscured any longer. --- static/js/Wiki.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 85f0ae6..13564dd 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -3083,6 +3083,13 @@ function calculate_position( node, anchor, relative_to, always_left_align ) { Pulldown.prototype.update_position = function ( always_left_align ) { var position = calculate_position( this.div, this.anchor, this.relative_to, always_left_align ); setElementPosition( this.div, position ); + + var div_height = getElementDimensions( this.div ).h; + var viewport_bottom = getViewportPosition().y + getViewportDimensions().h; + + // if the pulldown is now partially off the bottom of the window, move it up until it isn't + if ( position.y + div_height > viewport_bottom ) + new Move( this.div, { "x": position.x, "y": viewport_bottom - div_height, "mode": "absolute", "duration": 0.25 } ); } Pulldown.prototype.shutdown = function () { @@ -4259,7 +4266,7 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { ); var selected_mark_char = document.createTextNode( "\u25cf" ); - if ( font_family.search( current_font_family ) == 0 ) { + if ( current_font_family && font_family.search( current_font_family ) == 0 ) { var selected_mark = createDOM( "span", {}, selected_mark_char ); this.initial_selected_mark = selected_mark; } else { From 74db4e816417566560b298f8c63bfd084c69e45e Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Mon, 22 Dec 2008 23:26:01 -0800 Subject: [PATCH 28/56] Fixed current font indication in IE. --- NEWS | 2 ++ static/js/Wiki.js | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 4814b3b..f210a18 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,8 @@ note link sometimes caused a red error message. * Fixed a bug in which forum post permalinks didn't work on posts after the first ten in a particular thread. + * Fixed a bug in which yellow pulldowns opened towards the bottom of the page + appeared partially off the page. 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 13564dd..6deda91 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -4242,7 +4242,7 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { var fonts = [ [ "Sans Serif", "sans-serif" ], [ "Serif", "serif" ], - [ "Monospace", "monospace" ], + [ "Monospace", "courier new,monospace" ], [ "Comic", "comic sans ms,sans-serif" ], [ "Garamond", "garamond,serif" ], [ "Georgia", "georgia,serif" ], @@ -4253,8 +4253,11 @@ function Font_pulldown( wiki, notebook_id, invoker, anchor, editor ) { var self = this; var current_font_family = editor.query_command_value( "fontname" ); - if ( WEBKIT ) - current_font_family = current_font_family.replace( /'/g, "" ).replace( /-webkit-/, "" ); + if ( current_font_family ) { + current_font_family = current_font_family.toLowerCase(); + if ( WEBKIT ) + current_font_family = current_font_family.replace( /'/g, "" ).replace( /-webkit-/, "" ); + } for ( var i in fonts ) { var font = fonts[ i ]; From 8d37ad2a3fe37efcc83a0a266ef983bd4f4876b3 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Tue, 23 Dec 2008 00:27:44 -0800 Subject: [PATCH 29/56] Adding the title button back to the toolbar, since it's really essential if a note has no title. --- static/js/Wiki.js | 3 +++ view/Front_page.py | 1 + view/Toolbar.py | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 6deda91..20490cc 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -331,6 +331,7 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri connect( "underline", "onclick", function ( event ) { self.toggle_button( event, "underline" ); } ); connect( "strikethrough", "onclick", function ( event ) { self.toggle_button( event, "strikethrough" ); } ); connect( "font", "onclick", this, "toggle_font_button" ); + connect( "title", "onclick", function ( event ) { self.toggle_button( event, "title" ); } ); connect( "insertUnorderedList", "onclick", function ( event ) { self.toggle_button( event, "insertUnorderedList" ); } ); connect( "insertOrderedList", "onclick", function ( event ) { self.toggle_button( event, "insertOrderedList" ); } ); @@ -343,6 +344,7 @@ Wiki.prototype.populate = function ( startup_notes, current_notes, note_read_wri this.make_image_button( "underline" ); this.make_image_button( "strikethrough" ); this.make_image_button( "font" ); + this.make_image_button( "title" ); this.make_image_button( "insertUnorderedList", "bullet_list" ); this.make_image_button( "insertOrderedList", "numbered_list" ); @@ -1333,6 +1335,7 @@ Wiki.prototype.update_toolbar = function() { this.update_button( "underline", "u", node_names ); this.update_button( "strikethrough", "strike", node_names ); this.update_button( "font", "font", node_names ); + this.update_button( "title", "h3", node_names ); this.update_button( "insertUnorderedList", "ul", node_names ); this.update_button( "insertOrderedList", "ol", node_names ); diff --git a/view/Front_page.py b/view/Front_page.py index c3c29e2..1377a99 100644 --- a/view/Front_page.py +++ b/view/Front_page.py @@ -367,6 +367,7 @@ class Front_page( Product_page ): Span( id = u"italic_button_preload" ), Span( id = u"underline_button_preload" ), Span( id = u"strikethrough_button_preload" ), + Span( id = u"font_button_preload" ), Span( id = u"title_button_preload" ), Span( id = u"bullet_list_button_preload" ), Span( id = u"numbered_list_button_preload" ), diff --git a/view/Toolbar.py b/view/Toolbar.py index 0b8bafd..5889aa3 100644 --- a/view/Toolbar.py +++ b/view/Toolbar.py @@ -67,6 +67,13 @@ class Toolbar( Div ): width = u"40", height = u"40", class_ = "image_button", ) ), + Div( Input( + type = u"image", + id = u"title", title = u"title", + src = u"/static/images/toolbar/title_button.png", + width = u"40", height = u"40", + class_ = "image_button", + ) ), ), P( Div( Input( From 1683fb090bbe5282ac0f703d94022656dfd79657 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Tue, 23 Dec 2008 00:29:52 -0800 Subject: [PATCH 30/56] Rearranged/clarified changelog. --- NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index f210a18..7ff4dd6 100644 --- a/NEWS +++ b/NEWS @@ -6,10 +6,10 @@ * Improved the layout on low-resolution displays (1024x768 and below). * Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. + * Fixed a bug in which yellow pulldowns that were opened towards the bottom + of the page appeared partially off the page. * Fixed a bug in which forum post permalinks didn't work on posts after the first ten in a particular thread. - * Fixed a bug in which yellow pulldowns opened towards the bottom of the page - appeared partially off the page. 1.5.10: December 4, 2008 * Fixed a bug in which certain new installations of Luminotes Desktop From 712a2dee6b810ca7e6308d8e559aa0d8feed0804 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Tue, 23 Dec 2008 19:31:08 -0800 Subject: [PATCH 31/56] Dropped support for Internet Explorer version 6.0! Time to break out the champagne. --- NEWS | 1 + static/css/ie6.css | 4 ++++ static/html/supported browsers.html | 2 +- static/js/Wiki.js | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 7ff4dd6..f1e2003 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,7 @@ note text at once. * Added rounded corners to several display elements. * Improved the layout on low-resolution displays (1024x768 and below). + * Dropped support for Internet Explorer version 6.0. * Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. * Fixed a bug in which yellow pulldowns that were opened towards the bottom diff --git a/static/css/ie6.css b/static/css/ie6.css index 06d363f..27e8d76 100644 --- a/static/css/ie6.css +++ b/static/css/ie6.css @@ -71,3 +71,7 @@ margin-bottom: 0.25em; padding: 0.25em 0.25em 0 0.5em; } + +#current_notebook_wrapper { + margin-right: 1em; +} diff --git a/static/html/supported browsers.html b/static/html/supported browsers.html index bb27391..0a059bc 100644 --- a/static/html/supported browsers.html +++ b/static/html/supported browsers.html @@ -6,7 +6,7 @@ so not all browsers will work for editing your wiki. Supported browsers include:

    -
  • Internet Explorer 6+
  • +
  • Internet Explorer 7+
  • Firefox 1.5+
  • Chrome (beta Luminotes support)
  • Safari 3+ (beta Luminotes support)
  • diff --git a/static/js/Wiki.js b/static/js/Wiki.js index 20490cc..c263d64 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -54,9 +54,11 @@ function Wiki( invoker ) { if ( /Opera/.test( navigator.userAgent ) ) unsupported_agent = "Opera"; + if ( /MSIE 6\./.test( navigator.userAgent ) ) + unsupported_agent = "Internet Explorer version 6.0"; if ( unsupported_agent ) - this.display_message( "Luminotes does not currently support the " + unsupported_agent + " web browser for editing. If possible, please use Firefox or Internet Explorer instead. " + unsupported_agent + " support will be added in a future release. Sorry for the inconvenience." ); + this.display_message( "Luminotes does not currently support the " + unsupported_agent + " web browser for editing. If possible, please use a recent version of Firefox, Internet Explorer, Chrome, or Safari. Sorry for the inconvenience." ); else if ( beta_agent ) this.display_message( "Luminotes support for your web browser (" + beta_agent + ") is currently in beta. If you encounter any problems, please contact support so that they can be fixed!" ); } From d61b6f16eaa41cb0912d160e280b29ef6d108352 Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Tue, 23 Dec 2008 23:20:24 -0800 Subject: [PATCH 32/56] Backed out patch that dropped support for IE 6 (for now), since it may not actually be necessary yet. --- NEWS | 1 - static/html/supported browsers.html | 2 +- static/js/Wiki.js | 4 +--- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/NEWS b/NEWS index f1e2003..7ff4dd6 100644 --- a/NEWS +++ b/NEWS @@ -4,7 +4,6 @@ note text at once. * Added rounded corners to several display elements. * Improved the layout on low-resolution displays (1024x768 and below). - * Dropped support for Internet Explorer version 6.0. * Fixed a Luminotes Desktop bug in which creating and then clicking on a new note link sometimes caused a red error message. * Fixed a bug in which yellow pulldowns that were opened towards the bottom diff --git a/static/html/supported browsers.html b/static/html/supported browsers.html index 0a059bc..bb27391 100644 --- a/static/html/supported browsers.html +++ b/static/html/supported browsers.html @@ -6,7 +6,7 @@ so not all browsers will work for editing your wiki. Supported browsers include:

      -
    • Internet Explorer 7+
    • +
    • Internet Explorer 6+
    • Firefox 1.5+
    • Chrome (beta Luminotes support)
    • Safari 3+ (beta Luminotes support)
    • diff --git a/static/js/Wiki.js b/static/js/Wiki.js index c263d64..20490cc 100644 --- a/static/js/Wiki.js +++ b/static/js/Wiki.js @@ -54,11 +54,9 @@ function Wiki( invoker ) { if ( /Opera/.test( navigator.userAgent ) ) unsupported_agent = "Opera"; - if ( /MSIE 6\./.test( navigator.userAgent ) ) - unsupported_agent = "Internet Explorer version 6.0"; if ( unsupported_agent ) - this.display_message( "Luminotes does not currently support the " + unsupported_agent + " web browser for editing. If possible, please use a recent version of Firefox, Internet Explorer, Chrome, or Safari. Sorry for the inconvenience." ); + this.display_message( "Luminotes does not currently support the " + unsupported_agent + " web browser for editing. If possible, please use Firefox or Internet Explorer instead. " + unsupported_agent + " support will be added in a future release. Sorry for the inconvenience." ); else if ( beta_agent ) this.display_message( "Luminotes support for your web browser (" + beta_agent + ") is currently in beta. If you encounter any problems, please contact support so that they can be fixed!" ); } From 4d7b08ef325cf48737165d4adab1f5f5a4e6b1ce Mon Sep 17 00:00:00 2001 From: Dan Helfman Date: Fri, 26 Dec 2008 19:32:12 -0800 Subject: [PATCH 33/56] Fixed broken font selection in IE. Now using a button tag instead of a