From 28ef6b121e525b1505589e98c0af1402067f2392 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 27 Feb 2025 11:41:01 +0100 Subject: [PATCH] related work: continuation of equation learning section --- Ressources.txt | 2 - thesis/chapters/relwork.tex | 6 ++- thesis/main.pdf | Bin 301655 -> 304363 bytes thesis/references.bib | 75 ++++++++++++++++++++++++++++++++---- 4 files changed, 72 insertions(+), 11 deletions(-) delete mode 100644 Ressources.txt diff --git a/Ressources.txt b/Ressources.txt deleted file mode 100644 index 4783015..0000000 --- a/Ressources.txt +++ /dev/null @@ -1,2 +0,0 @@ -https://www.markussteinberger.net/papers/DynMemory.pdf - - Shows the performance impact of dynamically allocating Memory for different allocators (including the CUDA internal which I am using. Might be a topic for "Future Work" so as in the future, one could look into another allocator to gain more performance) \ No newline at end of file diff --git a/thesis/chapters/relwork.tex b/thesis/chapters/relwork.tex index ce60583..9bb6155 100644 --- a/thesis/chapters/relwork.tex +++ b/thesis/chapters/relwork.tex @@ -6,8 +6,10 @@ The goal of this chapter is to provide an overview of equation learning to estab % Section describing what equation learning is and why it is relevant for the thesis Equation learning is a field of research that aims at understanding and discovering equations from a set of data from various fields like mathematics and physics. Data is usually much more abundant while models often are elusive. Because of this, generating equations with a computer can more easily lead to discovering equations that describe the observed data. \textcite{brunton_discovering_2016} describe an algorithm that leverages equation learning to discover equations for physical systems. A more literal interpretation of equation learning is demonstrated by \textcite{pfahler_semantic_2020}. They use machine learning to learn the form of equations. Their aim was to simplify the discovery of relevant publications by the equations they use and not by technical terms, as they may differ by the field of research. However, this kind of equation learning is not relevant for this thesis. -Symbolic regression is a subset of equation learning, that specialises more towards discovering mathematical equations. -% probably transition to symbolic regression and \textcite{werner_informed_2021}. As this seems more fitting and symblic regression probably has more publications/makes it easier to find publications. This is the section where I will also talk about how expressions look (see introduction) and the process of generating and evaluating expressions and therefore how this is a potential performance bottleneck +Symbolic regression is a subset of equation learning, that specialises more towards discovering mathematical equations. A lot of research is done in this field. \textcite{keijzer_scaled_2004} and \textcite{korns_accuracy_2011} presented ways of improving the quality of symbolic regression algorithms, making symbolic regression more feasible for problem-solving. Additionally, \textcite{jin_bayesian_2020} proposed an alternative to genetic programming (GP) for the use in symbolic regression. Their approach increased the quality of the results noticeably compared to GP alternatives. The first two approaches are more concerned with the quality of the output, while the third is also concerned with interpretability and reducing memory consumption. Heuristics like GP or neural networks as used by \textcite{werner_informed_2021} in their equation learner can help with finding good solutions faster, accelerating scientific progress. One key part of equation learning in general is the computational evaluation of the generated equations. As this is an expensive operation, improving the performance reduces computation times and in turn, helps all approaches to find solutions more quickly. +% probably a quick detour to show how a generated equation might look and why evaluating them is expensive + +% talk about cases where porting algorithms to gpus helped increase performance. This will be the transition the the below sections \section[GPGPU]{General Purpose Computation on Graphics Processing Units} diff --git a/thesis/main.pdf b/thesis/main.pdf index ae6c3d9f963082da0d1ea9fb991d4cc32c07b556..cc4c0f0918313404bc0e7bfcec12f2ce11c68d45 100644 GIT binary patch delta 41467 zcmZs?Q*_`>(El0Rb~3ST+s?$cZT@20_GDt)nAn}2m^zw z0~yi}r@nqsvNS*F@NJLeKVF5tdDt!}O@(0YeQn|z2~FbYO$ggoJ_ly5k{;+O z>(4uu@bt8^jWVp{oTD(0{~B587c0r+=5Wtm6ofE!N!_HPRY%p1paYXCL`Q>F5k#3J zclL_PXUE29D{Q6tc|TxAYt5LOvQZT~2YDA&kUltn<$agH(r!f1G zI|x+ASDg-U?gG$D+(Tgu@uo6|KYjLF5Ow1Il0ii_mS9XY+;(!yKIqq#{Rt3C zsfID@!Fb2S%)M!&2TIcEpDz?;Cuh$OsWnE1acIpbSbQ{#y6TI)YGhWI?f865Z(r6K zbP6|63Ex63RgBk(l=oX_ijSXcdGJ4`lfG&i9$H(-y((fJMFX?CuvLqnW8v}Z&3pqr!ByU|{w)(p_wN|RVsR0lbC=o^;NQ-;G z_?6}?NCPXlmM!L}<)|e#igY`%@Kev}`0H=^Jyo9=7`g$KA9HIv(ADtSTh!V;DA{as z3W`Oy8lKqhK0y8-^Q;L4UPXniQU;1Y{>T`AK_wnY%YSWRAeICnw(vgg+Yv}ohDFx4 z{rG91QE|XVtG<|d*QqMvN}TB|s9A{daI4LIwpdd6wH(>De6qQTX>3!-sUaG1M&06f z{n}S{w=8>j-%2~3B}(IeH1VvdZ7^WEydNghin7t!tO;C!>bVgfQP$H;z`qyqQ zE?H(d+j>i5XIEc9_aLsx)UC<*(orzB<~^u&K5KYau3}wV?w+?mXSCQ8D1MZm*y48f znU6tEQqvi~Iu`nD3&1Xt*FNnqPE5ABb1iUpR*TLG1e82;Xa&>!3`8nt*vBi-#2^!LG~>fyA}Hh@{X!4eY8|)PwTfS2jl4C< z%Neilr-wtx1(Tn&a(kDYbec?cRbpt@$wM}}D6|yvJ#PYUi)(t4eAQgu*-~q7#7uo- z6{Nt{r6-LdMU{ecwO@E%@q-m?y_HYz~E6J*pe{+AwzbqG2(Qo~PDLMv4v$w!4Afd-)IT>Q-sysT2#mv*yJWi4zHI0YN<0~6lo4ym7DAtobML|KHb^Gq#`R?=>3_Cw zp)|CZrFE}Lx^M3y4kKM3G2w&jdZpUi3^X#H_y(`>c{qYWc~Q+}Shq9pZ_#x{x4u7t zO<0>*-VL?_y~mT9DE{yn>Eju7hCpus840Fn3H0__tU{9+`<&UkUM85=@{XCVQy>^T z&5gS$egE-eZ=iW(Wp--0GiRdbU5^@Xx}~$3b}p1FPnWC`$w6k;V?bE}FV|Ub~-;J@-8 zQ&_~WiHPd7h{7Nr7pqL?3@}MMJA$p+zwgE^X>GM1W$VMWBfKha*vKEFeuSv=XtK~s zuF*1>Lwr@kpOicFHC4W7 zeO5R6-4b3eDd<|;AFLq3KBPwq;*`DqLm^0V0mIeFeura%2Ts2c7wB-WS+QR(g;+8= z_QRCL!8KO4&bP;j#vwJz5w8>5h7)(3nFQxKptfy=@V8~lwp_nHM~mNolUXY-?X=n4 z&>;-csQFQ~h|I^Z{YOR0Q-3D$6V5Xp^8WahwJo)bN+=5|DE-n?C5Epo@ep?rS%bt? zyzIO`0AuPs%a4d;8Q>n5Y)ONNWEWglM213Y&FV&19|?Xnqhs^Nj~~NUzbOf%+R#p= zO-_{?_*NHcY{OS6icVfuf`K?D55u5~r(ee$4{XHv%(a2@=+$}R=~ZsW$`y_m*s6L= zRQx-DzDAKWM}FJy2Y;ObGJ~W7JS0ul)^-uC5K$ zC%3dI;#AT;AiGmnceGhA{hqv>B`N!ey>OBfXcA8!#ACAi#hUS_ie&X!WHY>YV=WA) zXT_-!PZ6?;n$Zj*QB*gGoXdhMZZ!Be>nRi{%@4SK`;yy)i=L9obA!5FC~sb-e0$%# zIz8oQqg^Fwhqlcm6=JC#KTJPRLOEq8%9>zKaV}sUs6DT&iPwai@#7w{I7#~iXQO*8 zL_bDbnv;zmzvkmT{D*hSffZUo$VF4ye^Ecg;M;pxs81OKE-*3+)y>gdNIB ziJgr{aon7n#!@)%EUXRw8OGCSj_9w%T{O> zQ8-DwPZpb6od#Co2cjBMoR3#dXz?;zG5vUde<^R6%H-TkQ%`CSd#oC4#gGwJ8cMs+ z0d{wBKaBS=nt1$MllBx2wJgjmzeLqNrRML+*hQ)lZqi=iIXc<*2H2_q6k)1QL`e@5 zfC&Cc>ZaBf`rSoNyh51xcJdBlmMAwvC-{CemkFoSCSTL`*VQ16tXLjy3k6!K+vCRX zTTe5U0Y-#tIp0Ct$ zC{N)S2&;)Q6({NjWvlf-;x z&c2rLUN1Qo%q51OCBcRJxvt44Tpx8{-q6}|(&4pUih*nTV0!U~Dm`!Y`jyohZC*Yg zPj)#m!j-!rUg`14tK8%AOZSFIB0AkP`|?EvBA}d02eJ)RTvfD{3*Z)nhdXps)*$0} zc~U9@ap&GXLK>Dbs43O#&5rxUb1&3H@gEO&yFz4OKYpY%+wmc>!!gO5J6O6|k+5>H z@TBZ!(*U}iVBbFUZP0^IlL?_RXY$X+-CT6=ID&kzcSeu_py+ZzWYWnGu4a^Pubv zq)wQ`d8|_gu~34fi80yuC=$^)5TN3$6;g@POHte6s0^8sD0UBUn^5Q_(0s5}@u1ve zTBxQw@uZXwWMWocUufd0N$-@>JZD6dA^`H&-h6*CY_L2O8ElMfe7gv#cOqHLJZdn6 zE;@`UXA&A+aEleQwlu5`dbt!mV2)u6pI%M^?gxo@cuT>Fm>5-UK5!#F%5W3G|E#ow zeLqKTz+vLdBfn@`xpQc{85K!8I z!qbp&3c-)>vv#1^em}&X2c92Uu|HQ9-&}NvQ{4^z76a68OxuJ+eQO)rKjyb5sodW` zr`vfMBs*a02iopMy3~2-&x&c0!*TR-v0kRbN=>KbN0gm+vxRu-i_UB>04x5%rdO}{nSFqU{MqdaV1eD?FPk85 z(nykZlTygg-hPeu#kgqs=XV3qpx4oOcfO6^T`wiPRpOw%v6E0voXM|;pX>KHBkE%cz0eE55~;w0#@I)ehUza)^lFLeRm@6&MIl> z+HtdQB_@d(DSit=uW#K1{7e!4bn4$UnN*pO%4uZhgl^f3i6kMmCLL}B`*F!zVZ@Fi zEaQP%mT75t^P5Hj6K&^W{C*Q#Fv*|(|{ff9C{749T zz|m35^Ugx6k+f)wp@&@MqGz|xN~G0eQTU-v*#)=W8kSXjAUhpS9%mRW!y;RA{kKVG z>kryNAt7Kawi(+T%AggM?SRPn50UftFNanLi&g&i;uT}Ie^xn2ti}9#2e=}%n3^`a zQhH=&2oAf;)tozcH3!*OvKtsCtPF(}iG>xyX$v zSCZ=xV##Z+mleC&pkg6J_!Ix99#M5~WbL3(Q-}INU(2Sxm{oBW>821y7l@Y@`DBeA zNa#FA=G7r_BWnGl?=ZY>|9phCxoM$X0%noOhuA9a$vt$MG?XDs(>~?F2mHw0ymO5H zmjUnx)*fYSQ1XRWRZx`VUJhgz>ff8REpMU|J_`&-rbf(J49F&J6RXLpqLvi3a*wVk zR*l<%=6cwr^yS!4596>lT%<(+VXMQ>c>3bCg))*3lFMvq+pYypdy0Y(17kMkKg}-a zqMZ)yk~k*VD#6r2wscuXwR9W#+;GS`kxeqM@zQszwj54^_&?mZ$+whM6LCk zo%1MSh}?f0v@0ZZrlf8`7;+&z=y{e&v_F;e<+0^}Y_@{`I{Gt82D)gW;^!0LWUm24 z*!G#5b*|Ap>iIC*@B5_Y&vd4F?6%c}eSlht%Ir`oDyuU&!RkT*bVjmE;6XY=H z)vhib1TPaYW=2Bzn-orlX;<{h<3l1(?(x|!Q=cGXxj`ef^?X7!(GNGF_<$}|F^PQ) z-gtOnqaAKfB8Y@zLhvwUziE;tvC?a?NxQAXg7I1ZSJw8)`O90-Ml_aT7cx4~E}0|5 z&9CRbdmhB5)H~~`Y8kQi61+a{FO*`H&|A0d?3%z4rQIvol~ym15|}<__7ZMw$GOK5 zJpm$y@JFIu`Xn!9%qnGy5@e9A8Y0eeaMu; zq*H+Fq*I$?%WEpRA?3f)x-c1FsJJarmL6ZSNjs@m*I?ICfBHuqF)mflnn%97XT_H? zQRoIg%v(~pVAqRiQw|e**PCcl*MIIq)Oe#og^vl*LZUv2MyIGG8RN#TI(ELUu{Pzl zxw`7kOG_SV+3>ZUdUkcBRhKpkB#xzsXAx9TE6w^THx`b1LlbIZauK-jg8(?jnHn1z zp+KtCu|@pzJ*Pt6pu9(acfY&{jqr|1z9xped2q#!L;dvpz{Yx+;kp8U6ULXGG}C-r zRa$P(C9n(`aLYyPZ3MGxBchqgJZAl^_f7cg;y1Jn|%{d(_WZ{5QXXw|y|V zF>}f(KmLV$c029;KY$LD`#(B|0nW_9{=aZ8O>p5#z`H2@L_(2rOGJMF}kIj!jQiaAhDrBAirVz=i-v7n@ z`{w0GTu7!A1=GF}04Ga?*^LmLE9Kk^`!u?PE?4Z7Rz~xVLJ67k#%v)qA6AtqL*fh2 zCE6jLMt({EF>J)tcpDP(a)n7jTs(G4BR_W^zq{%Cyw=q0NB&wzCaPYbUnj@yU_LAQ zyMXgRPPbOjBW^M@W2I$q!VG6GBbaNIVMuAbJeSg)Ci+}iCsXFLZo4MOprfi1p4plt z{!@%g@h@(c`+;lbv3&CuyLiynh;=GpN#PwcYl%xmr;YW_rN^5n)D^b7^IG$RV}n|Z z;E<>InX5NGk;|)#>kRjvI!ef^)#GXFWsOP{!zyxl)5mCf6MX_wM`-cx!qg=D6fU6+ch^p^x{h(L!LvS7_bvDpTl zEJs?wN+T5t)jHJXF@kLb6Jj(lL;`UFQI==-mso+Y? z9n(Wms32S6d3PI+)_CdJ=qLG9l7jH@chYoJ$zcr*4UfTK3XuC*{$oJs^Y#igU4X#E zB;{Ni%>BB%tRnSdK3HP3DZ0HR)7d^U=ybHl+5biq+A0`cCFS;rME47T8bmBWQx7At z)9+(^bqwRlffOHB$vS2$PG*(edx$QlHW*w&@<(q6Y1COmGkJN zdw*dH$=VYAvMo^GCKgou0Ojs?UT|P7BeEImZo!_}2nrnynu)F*x?lNCSn%Za<;Yz% z8Uqh2czLap3gtWg$ zC!3m$4c?wc;72z}0b_OHu83 z)eob|#WM{&?JQ+iqwRX z)6dOUNLJKh(5&>AiO$6QrON}$i_x{cc}!T%Xy2B>01UvghnkXv#Z5|}&}^h?tNQiB z)-H{+YohqBNr|X0Wj8W{9v1yd3LdhACr%JIhFhyFXJtPMVc%$`UOsq@J09#PjH=_4 zjUjy>7P*oIdE(LwEM!98;BTFb{|qHnY^vkB3R^BuO}ceec(E3gf#doa;XH=WE_Rh$ z9;bGd;3E*zaVsVmMvL)7sqo-(MRxN+`fNT_uBJ*?h`OEts%wK)6A>P?mV$Y=*C<$^|y)@^RtSlyS`MvL~Fl`mQM zZ`D$yta#IQ0)U1UsTIAgMP|dZe!!kX!wDU*zz4YN8vEg+z&xe2XxbE7$9p~WX}!b< z9rpaxHME#9cuSLNeIDRVJ&4dy136GU7M5fOEwr?o`r-f(70ofx^NLBfS zJ_>89bbIQwnwW^G%|9bhaqhA06;yF<#RjBmE>E8t3(x7RuqhaKK)>m?2;8fMZFH>X zqb`ZN1j3=@TQ~ciVIjB5Wg5yt_;UA>&K@~yY~=9P78Yijl!{`ph>pwEw^Afku)H-^ zn@Ml)8l<__z)(Yb9!>wPDk%693*_59TAW~Y?KgSA>Wakto$!a2yP?vG3dZk)sRvSW z$*H_xV%)5`0!%zNvyej2nuOg=OGF zCKPP>W*|0bkXyYL6r!pK^=JZyk?;VtCM~K zWHhnRb$SJM&vgerv)&pWVcGi-IX72hn#I!DPZyMXVc{LG4%Wf=wQ-T|u4CJ0;o`4oa!|f^?iti8F%j}-}h}sJKzcUc& z23&N~&)r%<1AHk?`BosNq|rvx^IY|K`2TDoolq)+t&QK5F&R`bA;4$eQI%MJdn@SlA}Pm7Aa`IN_znD!}T1Nr1QW+rC>g zL6HQ>IbM$bEzrSsIK)#r*VEvQ?LN&G43Ac? zr7=eT)K>Fyr{q}RCxF%|zB&WC1!Gh%S0#mZ@d{7fr$ECT5?;gRrdO^i)am6f#e?Ls z{UcM|Lw&6iYV-k2E#BnUpeY>VG84!#iLVn&IMp2fh%@Qx*O=0G9rXg^&ALS&&?5a( z%Do6>|rn}2(BnM=gObq9YK?J97}WLWsZqn%8mDDv?#RB zBW36rt|x-;D1*N=!LmZXGyVt{4sQw_5=_{Vz@Bz`QJXnFY;5^qA9FS3TSN-MzSf<= z#;JraHqe-v0JlLkY%rxxLF4&w^sG)%Lm)9Y5u%%}dd)W>;f`%H9lcaCM(uscfGmQW-E!w$%ZfUp}>V4n0s!%7F06<^3|f-JVe zQC4q?!58b84Y!|u&hZ*obuK)#?oNXnqPXlJ1eDMZ3j3o^RSU3=hFOP-NcM#8{>;SH z=(p)S(~mm7Hfu>oUh8}`)AGCmIciZONNs6?{gPz2C9u>L>$J|tk9@2(+cVDqmeUWD z&DY^jK$`W;tu!QAKCzt~T{a`+DzVs}AnFO065(r4BW>_g13FUe@*MFX8D6QQ1y;~t z=9tT|d?pQH0344a7yS;VY~Ey6S&TgJW_rM%Hgi zt%u6)|KW0uKK#T7eXRJxj#~DmkoFI>#N}r$5ITFOR=;UXIs@6hUw&Nwk1c+G+Ty!x z@lBHmn9V_QAMn0oK8@?m&6_^zap3KDD3+FCz;tvK)Hxc!{Sctr`vw_qdUwm~LSYEP zS=5d7m>V|H(O9!&>a_UT`cU>*L6W_paJDUqMP6aA^j?WxA@-jq%OCK~kN!7yjm$h`yWj0y9^{(f20wYjNrFsz2~(Nq|$@@}JqHOZ~Y+ z-nhr)6wA~k`CuH2k{F*+0*cCs@0vv|t-B(+U`Q zzpKx->zDW@_m7x68*1Pm6s_8b@Zi+A_IvIU1AQ4@@IE#;*?5{VqR~)NpnVZjTC)j} zxc}e52Qvrj{|-KM>>csB(7tL72NF&}_goBKG$0`N+GikFh!FUoA7)tKBvkZDg3QKb z6CYN#*>ckCv|T#m$@-Cu7+d&qGb}Bnk#K4Ef=kc{AwALvtzFa!mUk+7vD`U$XCT=x zLPeA-)np1uuz$5@>(TRr9}1E|AaHxK9342wsAgzl zgYYn9viyaCZ3M9xj@;{1vBx%laCM-Z!Z4yS?5KI?4|dh6DNz6!1yU3Iv?a z{;dP<%&am(Ehpy3$T^lztvMD*T%1JfG2tKtD4g*ZOR_nc5$J+aR&L8t8$4Fta71U3 z-#9EUr5=D4WcK_P1{LUnHo}S-?N6%g8`w8#(sGi$QWQj-XzP9$N)K61xB~U{c-}Z1 zo7x3CT4gsK1)5;nU~Sno2?xGm2@bp{M#|_Ny=i}xiGktlX-bzU)~qx}*#9tLG(%ix zDk}y!9!Luw2qSc>%9^?9h$y36CHTvPc~~|%3>Xl1ge$_1^MPAZJlGILFE}MpD8rl) z?amq*ly}>j*-MX0coMs9 zLo^BwI;dP?C8F1V4cWen=q28yOUFCx7sV1am4TBs<#3|fC?Wjk#!dwUT(0)-z)dnU z94C;bdcJeIC~|*xKm3OyqNHiO&|5Hvk#cdE;z5&qd%ln-TW>~iYBXh%b8=m?PjM?h z;mM+4Q^x5i>x3sK_&`p8FmRE8UN~R(t{}kX*F_h)4f@*{N8jf&Fve04GB8Ti>%NG5 zyR zGw-#hGqqXB1JZbPsdlEHcQeY^XLFq&5C%P`T&ypp=epFheC~5hh{t@@ok>)BU1GwHn0r@i&Kn0C$fia9v# z6U!rf7_SzOas7%73RIIWcO1s#ch%*la9<;n2C^%DzTV1gmV(- zzUVbR_AQb#>NN_s^CTXFK@-@pGH{PzxM2IE>B_Hk2% zZM^<{K}m*THWfgRg`FY9IlZygQ7}D=2S*g<>0rYsh6@ENhEYm`eER$Xu6H?QXv)35 zz(Y}m%A&6&f@Z>sHDrhDr4Dicc7yUGE%S*L^5X2QTBmZzGK&iD&b`L?7$$`)zrWiP z{o+FW+WI?&Sp?x?wtsV1dC|mHZ3b^e`Ffq4Ke=u3rL1*15alM#6Jh-EIZ_#Ur#xIM zu1qOugH6$38+MXJ!6!cs<8%pCl~M(JazxjW0Ac{w;_clIc*Xv6qb~DEmOjtY!ogkL z5_`j|O_%uj)*ISBv^qUb)de#>9HY;R^*C^qRtPitK>hU5ssq0_ub5U(A{%K)Da{Q=C@SjN-qiY9BXZ&u==@p_vG)#=G1m46`qa^QdXQq;|!(pIXJWX3~ji z)@dhZxM>Kf6l@OGrb%B<_!|$Tz0DUpY9>qO{HPC_~& z5;$fnQo|k(XuaFc7XP?sQa>0*vsUVp7KAiw7XuhHuY$;)^g1D!))EefbwvMzla|!_ zY$2=n!X#4m=`PICN%h5K`5K-s^?puigW3^&nhl*Vk74&s zM{NE|~Ou%$?z| z+eZBsjCr=pm6iWWXk^rva3!V*<%3j_NHiriD6s?sgNw66dSD~d!c_h)|Cw1w=pXqr zI0&jFLvw||?%d)5B9qw;_6o9Ds{vxpw!)=p34q|k!!z+y2;;$k@%GV7gO(Y9NEB8@ zg=df@VhWqyVJka3Ih(U{ID4ysi=_W0A-T+nX%8vMXlnVDc7Ba>5gXe__W6Wm3O1IN zxyI|&zN!N*FMI^TLn%QSm>e>iGlwU<4+546RwI8w4}ydRf>?+otfsH3KuA(kR$Wo7 z2uwa;Y5kj?pC5Py+9RuMtz_9i$i>sx$w7q~paPrAI!CVi@Py~^0Xe9^sOIvyjxr7(rvLJ;GF7ECJrWQ{( zH%5(auFmEzPOWAx&F?V<;b|@K{X+w50M^Zu8`L`Jw@obm*hfuXtww(z_=f>TU~mgA z$^qENCHdh^+rn2(nxmql%L;(*Ya4ogo#_GOfa?YJe@mO1@7-n81xH7N^>6*bJAi}8 z3Y^+P&{xp=rw1|ujBf=59W4Rq5MY1)<>mp$${!gMuiMsN68clSHLU)8#6svm!nXkn zdSXt@vyjhyfq4#3pkB4Up8i)n41|`}1}M&YRHTeuL7S1sQ+T^F3 z*Ev$;`10Z-)A{zTI0eQF2tU0Zh=u_Y$mB+%Z1B`D;l<^)R#*SGLqX`HZh;!5*4gL3#yt{PpBFgFrMbxe5zrg)qOPcCsX2Lh$x#A{M}4|)+a8ope?1JotzQi(*Za54tWybcFBLAn!duI*^!Y0Vk1PovkRzvZk|H-j`kK* za9j%d&d?j@#*y%BA0<@(6oiYDzbhzrXU7{TJwfg+P)CbR6{!8tcH;O4(Fp51#0z8! z4M1TE)V|w}%)#uZ|AcM;&ouuoY|Fd@=5*zUg-#gC7Kk6P)PUFR$Oy>(>O1HL(9Gqp z!Zw7n{{$F$0NGX>0_C^lg(EMz?`Rv#r+~?Kt9MHFmx!bH^j94Bwwnc#ha=r16D;(o zV^q&)L3uU3NiDXA;$?<~V zyL`LS_xyLukkFZ>f5|iQUA3d0-WSGmnOnotN5mV$V8NDCFNJ4|3)EK$zT<_S0KwPp zO>3#ccc5cS$2WNI?c)ph+E({>QtTx|_lnStF2fc8*m%brAi90=EdvhRY1`PdhL*IG z1%xj`Tz7_A|CZMVu*&W2zn(bnkkKX3H7#wG1k&5UlO7emp6=_u5x&Sk4-1+;h__5k zkn#m%2^`tR#zx*-UDv$Z1D*>OuZ8@kzj_J2d1JTZqk-LRE_4u>2Z-!}I(pvB+lcj2 z&IlmmRSs(^RZQ)UHSebh{OK5laE)L7DS3a|*ry^C1|xzE;#486n{whV+l>+u80NWh zxXD_NT{DHcf?-Zo^at~;<^z>*ItJnFyvYK>jItgQ{WWQcK@n!i)}g(lj9D&!C(774v5-<%B=t*ei{?DJ6dX`oa_$-tJ`J|8YL zK+_i~gr?ft9yPV=x;}357_`5ZrK!krcePCFnj4GcKIaTZrU_K-EZRtZXGdTgiVL7y zAZnU(IN1Cp%7=pb>u`6pZ9y<8DH5b|JOs5Q=E09(a0jrV{1b_$2?G|6K|r!yFuOH`skx48`d8uAsVZ7 z^B+5mD$Im!l0#|#NqM#a=6U(C`8%}{&KO~&FdvLBWxsxdR-IdN7C zc+))U!i&W4>Y|4#kLt*ArEGTPu33qYa2Y@U*1n^9iw=HZgYIVe#a1`ivn8O+Mm3@% z6>^GO`W6Cf9PgO_!x#1`;+-@4Sc}ETqK;F$>u}P7f})t}(Njhs7Zaizw*Pp+Y@PU6 zT{SC3nQi+ua&@F}rAy;b-aQX`{&0L|8dCTHG8mM8*aKo%byn>c2SsS|hU!OV*n{EK z2kevKS^>C@E=$l{fPXWpYZ|cf@;KYUba{yH-@(XSa8|zb#_J+XGXn9FkE>fOX}q5# z9OQ_Jfl)rGzIuh$*h>e)MiW~m`EzR<7~Z5-)mkMhIW#9RvP3uP_hL-{4O6FHF*&9Qdi%{Od}fX-uZD!Z*VyhU%R7FINt;IXjm9x*hHNrx8gxdixo?Ky0+OA42C zju*S^Ecc!r9VKR|7oG$H`bC}v7o?K*Ucqi^eC}Zj5ud^bt8D$$5wehyn_)MQG;;0G zTUIUixvk0txtJkTefVX%v&$$9AYaTm#TJHGhnC-D_y!YywL~R9e58)MB9}HtDhI7f zqt`JuHp8MtPV>}{S%Eh45~O<)p#4FFPSGv>c&V~5!_1ng)FXDJwzdB2IO;JNH!S-@ z_V;>u2Q%6q0hCjDP@J-Q!#@f#-Jh2Wf9|@&KBloZBF6fEjR)GtDyHE0JYL>ZK7VTE zjrF|U{TOV3W>s(Y0nG_9y=L}2h#mdO?w3{(gk`f?OtELq6aef+iP;$J+~HsOmol5~ zak62s_qaVr+8X-GPPF-Sc#qK|>YLx6BX`;*w?H zs?Xg#YOuUDQ2~3sf+9rh+y1%^!nyq&>Svx}?O6K5{|vEGr7~WIwpj{F(FjAcKxS-2 zD`td*cW_2Fn=n|#`#eTJVnfA*%rSV^D&!pS+Z;9HT9m<#gHaKENb>@(t5GjG2!@kO zOEBmo4^mz3*a3CqXhNvNu}%wuQFR4Rw}%$V>Q~NwVnDz#zM+^hs=Q9aYPrWZVQfh9 zNzoqb40M!cd^euOk;7#D$M3Gj!q9sR0;ZLlb2}2Y#mG}rt^5~Nf8MOQ#%w%s$4Pd> zBu+2rCk8uw%B3q|Q4I(9$2eRc=PXvyu}nyUXLzXkAJc`7%d^`Pv!WDw9R_zLT0tgC`%gK|BNE)9hsM<4Oh_-N^vHZ?`Qu@HJC*;SLzdFh_}tV|rYdB46_~^}Q}U zZ799Al#0g;GZO=`U$#)mNiRQrdR0^2K#z!n;|f8lP%}n6U8)G&5ss*Qoci@0;iLC1 z4v?y;2-D>sI+(R_LLT6#M7?sUiI{l(YsEhO^(tWq2lm>@%Uhjr%B{$W2Ro*iP?kU9 zLYkO{(MpCMa0-qw*V$zFp8ZkXgs6MEVIls*qlQyz&CYz0omV$}l*)BMh;i1Pe`)_` zuV+CzE8<(|BcfQ8j%3fmAo)+9xOWO`ec;BF9Oc6`Ya#`X9X zUWC^7-^19XCO)Kr3e#du+>+A=#YjPcQUj~8zhKr;ukM}qPySR`l_LMA55_;*f-!IQ znCJ=}(c72$TZaa!f0Xv;@k>rEiB(Q=meLmS<55V}X+y%M&PiuGR0DdJAqggEh=9}C z`QevNV^2D7f7@Rw6FJXeb!pQiAtUV6jan-@K5zKG6G_MoH``RW*>a9Y;6i_}@c%C1 zUh@`C?h#ga zN*!H8(J__-TdLxC#^gJIE|_ylBn12+CT?}J-GSIS3=>_8OQLtEmWq&) zf<@Ie>g9`hY3-iF5WYxpctw9U5spf#BA}?uRvD*J^fArM{Ikh(v;~>%dja_Jnt5%* zLCk0+9G4(cOTq-_xah$%VpC&Q4Tw9sD{&O;&MXC~Sn|C8O3$>Y8m*|fIUF0=aQ*LF zE;1}B-FcDn;~Fs8(cI^>5wYY%ur4 zL>V;&CK5(^9;+CqCwMcFSpnRO3s_`Kh3*GO8Zf2IT5uNj76epqc<+6!H<1<}fY34D zM{~Pp=VpCb?_oHz69E5WaSwjep3XR^gu1|~4G^FPkQ>PB*FvE_EgDN2u*h&;O>f5a942P*(q*r-%XdYWW5Hgq(7 zG(gbtf}_Q%wygEc;~ji83|HDgK&Nmjcb76`z&Yv#luO;#V@HS?$}Dq)D;ZiA7MhHQ z)|sKyxxQx}FB$wZZ2HlU_$Pgf(*migd%L3AvU*^1#&BM6!cleP-m7gWq}S+{Ca^WQ z_;~1V-Gwa3y)@9!^cZwx@|T*X!m8tks^6J5{@1@Y)i;&4k6I*9bx^Ti|#-q~}eY1SU5(nEdU|GReotu(J#7V}f15pF{@f`OK}uVcu|o zIdHRC%d?R>>7h;&nW9di`5s6I8<3!7VF5i)D z*$?^fsqKsffA31Qn75}}% z%KMQY7dI`n=$s2tkaMVp**@C;P(PX$JVZ~59t{MKV5*PgFe`0{|g;2NPfACtrDZCoZVB|lzH$Yq&6^fJSDZ2up9X(CTfneq5rx0e<#b@{_;72tG|59sTSGw=g8$O zp>2YD< zPQ~^a8vcCsj>GM27Os!QMlR+_+6a8N0R2m5f11)RL!-Y2MfX(_$B#Q51TMJGM#@BF zUpL&z!HI7njZ=7IVoZz3$!TJz9HtYt&FiVMIg z4HY-KtJ{E=a17DfOXvLOHEULbF2T&YRf$L*oeuT@WGk@~gG?j?%9P43f7!)oWR_o{ zSP?In_Ry4@Mh%3i%Kc5gkEtTup7_2Gf8Lpm>;_ieI=8rBk5b>7aWTmd(GSE?#bq1T zH=@53)qJBc4>SfPXy@a6@kWvTHb%++Uiw;EM?xDC-Vc1O>q>|oBV7U2ICpCEW-i=Z zOVwn=vgj!P<3jlyZIvH}+7@`wz_5WQi#r%5tl7f0f_@ZQ#QUE8OaxLw*f52I; zR+o2udcn9fH+)psu&)bSem0G$_qpp-t)md=WKIQ9UgXK%ShIvTIX~7AQdP{x`_Ml1 z#ib$YG@qhnM2D~ZL_!i-gyC~`E}IkW>ggq!N($^;nhKn0LMe4|H>%X2o8}+=Xf2@O zQ|ZP2e_VTl2bvgE1Cj`G50Q^3f7P*Z80jpEKTA5kCtz%S*o>L4B@?aS#}bW5aOy-K zsj{>nS%s*lyDY#?^yao;dY@yu&3e$|-?ybYlQJQ4$l6uwTAt0;@xXBp8HD7B0yfKN(G{ar}(?roL7 zq0kFezeyK{krFBvTAKuzuw?Ekj~^V<%{I6%h2C>U-Hm=pJSr1+@A^Qs?-G*l z#l8?D?}Gpgdp~s39IxCH6Z5c8&$2aNvPl(#aGJ9e4VS3>Ac_mSieA+0uof4=-JPq- z`wKR)$6QX5JziD;ErM3kLG1wVuH^YV7|gNomc=o3>Tf|0{_68xf3}A@EvH&9P1X>} z55Yb=Y&b22aE9_!*NGMvGd*JO1hTYO%Se=ZyxcLZP8;kF<3zRMQ~S~&Jq<3kK#F4F zY#iZV4}8u=z?{yhBqi;fL`bn5kwA$eDKpw&(x3MbBal7K!me^)b-A{KfeE?TOVA7AWd=^D7t0&GMg=(?vr@FR&B?w-CItWebF zun|Uuc_#9mtd?u2k9P<0K>y_KNcdyNHmtNy(`Zl3{aU-Knx-r(1X>c5+|Pk#=7tar zphS)LNRZ{_->t%`=)L1=ZP)!vQ2KjwH43Etp*DY8!?0z zb;=$WDqPBuV}VG`sG-YTsEm*+twOErz5;d@%0J_mKPcS5g_%4#iUf0X(id096XV5r z_Q)Ka?w(IPe@Hl_VP?Zw6%G{~!=0{FxHpJh^UNMOSozgFA>Hby&M3I-o(R?QYNSSN zVop56uFf}8TL(c_mDsBcP*kB8Li|LSg*b)|2vc&g?C04^)X?7hQ5U6vimY`KqZ7*_ zE&;nR*V6mO(U?%1t-DxEf@U^REM2~3Fd_Sm6mI0q`*j8=u zD7iRcktm@}8I&q@Q7rpj-28o!w;MnnLm#0pt+ySTPzAeBk@P2P(Nx*T1)Wi6HlW3osuP>wN!PeNTW;}T8Dc5b0ek%h}9{a$~p3yP{_+f)X(L7)p_}DvG zC3_99dy3o`dYn%85dixL!?mu z;St|w0YH@-cQ*;ILY>YWVrW_?f4p&!Q6SGFMs0DA#i32mE^u&N-1y#u%e+*yBkB`q z%P*O@w$WZoxN~A^(us=NcR)WV&Pc)yr3npDKxUDbv6KkM3-pLz*FG0Gk$UBqfKzE+ zny^>VOu%ua9r3dhS>hvRIugEllk=H|mXng6uvANr(pE%Q!_@I1R7G^+{V#EJTQW|U2~oq&?u4pPvlmBX0ZIIu zX4$5ih_c`8^T4GSwcF5mr_wWy!x#>yj&qQ4k#G-t>u7@#y|`<4gr%k{xA-|W4Lf+k z*3CfSI3h^U1k~%*YlpsWe+HaO-=5IaDRF--Tfg5|d~Co7zgIRAA>5AT-e+_|G4!0X zAS7PlY{2Xn{y=0g51qPmiCBf$N5sH~77U-~;aw0+KqF7!AKcGt*P4+}2`+3P!wAeJ z&xl)i!WMa|cjn}4IhImvxS$grwjSt$O_8)s;X&h!EgQ-si}oM0e?QmqvU34C(!TN# z6>=B%V}mL0zqAD|M`1oIs57O#Zbf_pL8kY%eg^LiMF)fZ7#v8jQ%Kj1V56o_v=mV?av@EPZnV)Y-nMes5K3A@JgYDUd(`A|1aCQ!oQXi@8&SB|mlSQ%Tn zn)2OG%BCz*TwL@XFo9j$42K@dl=l8&R6RAqK<6u+jkMvHH39zJJ`8}$<2ZpC3?bv- z{SEs51=PyUe?x7~mBO->AZkv`7!KWd!nk)rzd;k(_6+R1Idi;o^o!QX30AXcbyxaf za~CD1gjce{@m7Om=81GUdkYFK^ih*sUy6oIBO97XF_NnhS{X*3@zu0@qp98d=rt~Z zZW$~&NKQ1OG@i6r=a_8zpoug7V@a9Kva|9foPD1SFAdw)Y)=Ee>^%!cfl|4(N!qr)Q;&DYsEL6Q9j~9_QIp>jdPl`NLrZvcb%3Va2v;EX zY^|`UP;1zkLOPIhM=@uIG$TOG1!xIXw1smdU=iHZ((R2XrKG0EMIogS zobulD6Yb&&8D|3=#AwI|otmjP(TAOWduYX%e@yd)y>88&N@zDa!xNN8y$km{MkETQ zTnVX_T6&(fQRy_j4;iwY+M2YXpLScezvh3>zKW~e>IUp4FUz;yLlew8`@Ep2;FxQ+ zyN;B(N=NrBSsu+;5u4bHt2}6y+zx+o`*}cFx%?=IC&I?M3@c9+=ZXm_BcvoqPL)WA zf9JCi0|6o3G?wSr=5O_bE&-HBa&7N_dm#1h-Sz%(WtcJk4HG=xanE>929^pfoi)Cy z#J<|hJO|hO=0{0CXGG%c`JhuiMOUL@<^A9ZZu#m%-6M65@X>hf4x=Ahf;#B*-B|V! z6564>7@~{mwF>(0akUN}8}0b1^a70Me~uK4Anl;P%S4jp95%G+k|q18W+AJSM-zq^ ziwVx_$Bm_{S1F^eOqITulXGuIHoR}bDpx}hqcqgqfs$*>dAF;f8r-V z7mFwyo~y?BI_L`ZF!q!M#61{n1p%|~TwwFWG57rqXuZbyR}4Bhs56+*UaN;E>%ayO zUv&{_#0s`pXChcOXOYNHH{zdda*c0YfVZQ)!$q(#$vHYMpUTHmj@3LO=xo6t>w>{I zy5W>3UmIbs?hJxxT7OcFMv`1Ne?5QmXRwR;nRN6erVez+MfG~m*;BF>La-cPXtJu8 zXo-GGlWu_51Pf1}(h+=-kAcBWJZXttJwJhb*K(ig7R=W2bJtU1hSAblEFKa$9TSPS zEi(QSi3OluhV%!V9U1U~awOk6ta^^hS@eoRM1O=5#yD;kpe-)5qt@Bt$ z+PNn(hKJT=@9-6qvrpi=r)?U6*^lF!0Y>TyUML&Y4_UExZ-V1j(3n=3==r~UG$>!#k{f%jKzn0O1{YQ`T4-s{ zQIKd}P?FxNwe|aLryb*giz`)eOB@<@AK)mf7wI0OWZU=gsR9HtyZtmlAdb7Po-=!kRf0HVEP+7Gnf12R-v_R*{^HXAj|B)tzm(iM4aF2fF0 zg-3m3_3Ffi)Vl6QOy)U7G%kP(6?c8N&J~dtgxX9QQF7>@k<^P*XgAK`)`>r6gBH{* z7J;g#-HOjKZ=yVie>GF(k`|C)x6qX!I=+pJT-?(Q8@R&!tO20mq zs3X6a3h6_z*b{+x=omg>E~gwn>IlLCpJ&+Scv+X)B1hK%=%fX11^>$GbvFeWNf4OI|z1Y2R&17(K*cI`B z7P{gegF|w42#OQ}Q6@6IG24e8)T8W^Y&DK;LUo3nQcs1yaITltL!B8MU}%-bD<*!O zu>%Q?_^X6i9$;m)N5>UD)^7)Y9~Xnzj?Q^h=ZyYBTMhX$wYq8Mm+|J>>+a$`r!JBH zmn{_q2)@m#q*P5bP4b7MVr;7{Zr1z~ zEJ+vh5ATh&o{=YS=fLv{_{}9#kpdPl_yG1fvgR>(GOTaXmiTp zR1lT_%g=|w09foieOh7mL&2GE>8AZy8rMT9-mamVHdc6>PqD5NDNr@j@OJGMPd7b% zuU`0Df1lwT=Niz^m2r@meRK-Q^8_>^7H66KnBi8xp;qHQR08{NT3sh&cWZfvMV zQXutx<}s3uQJv-$QATBT=JhmX`*|qZS|uwm_*%UmzN3ye%ow2rqVLXf+fZ5Ud!h^l zC69*9ZTKA_@doN)iOWIAe7N0-5+n>86^fPEe_JGb5%sPuvKrAxQEkgi8n=fk+R77a z^lrLFq^GJLpoe+Y4*ybjt5^Ox$ugd)x~D&~FQKcgv~oTUqGS`;G-8s#DibSRr}znd z)_`pFHA>aIjTL3J_Y~Fsrp}m7nzE{fG<&u9!$Xn?O1xMQADvFf^;ffZaaOV*m3cb9 ze;$~y`j7qIofvu<4Uc%D9ocAb6HYIFLSGt3rN-m1)fDzh6KYW0=m~{GjI*%`A$SX< zyjL_+EJD+sx1{ioyl8U3ix{P(njX%Ere8;sShy<}yuuV_iN2#A$5y^zUBLmAr_+Q% zpP1bU(n!WDlx~bgAVtE}U#`&%?j?Qde?rTQf|l7_6CNVLyTIs=`n8p`y`koa*+auV ze|Z`&u!ow=!^kVX{^ULR<-{)LG>cS#BF{ko2b!o;&!i2aGQauAxkB5DPS4lHBLJ=n zb+e6pQ4F$0NnN1wGkyl;L?mBY<7r#O-DToc2qf9mw9~M^2I|Fs zZ|#-g{E-|hPBV76t#%@Mv4(&eoPo{lOI8J^vI5r}>NTz5ew?yA$NBkum_B+&4Fq5O zDKm~qJGzw7zzs%^pT`bMiYYf1Y4rdK*nCQbG5?rE`X0{PXy_YT%Qt6sfBRM~{?yE| zRJ(_ge)hEkaX?5~ojCExyFlihjft7hisq7`!;Rt`PDSi7EQ6wk#N{-qcyuogQ$qvc zzzFUGG(&b|)_FunbrL~VB&CJTlk06LyeWNEP$?dRQQ~o)TEf&l;%2WLaQb5ui^j98 zwBP%jVXaq=wiL|R;vtKLY3y9B;mB=`+-BwZXrc*EKq%w-M{ypP56d=m!EO~4*? zuq_!`R<6hHb>+~W_&}blAoy%L<+~_ckIAEER90;GC#%{iqm>F2e;+m5e^J$Gp*8fo#LUw!-t+G=u&G1_)Kl@1s62U*7z7PMpC6^a{RnuJ zS+DRN?+V+P9z-c_iV+k0o>0DghNCd+jl%6j2Syj(v+wPQ_fA>yLs7ySCr^m>Y+I1;(eqV|+|HI^1(ZL(8j*ZTP5e`=Q-%M}ux@!HRfS`L@N z03d5~V@jlyo{jM`_~FmSu@~}#uKP?RVyW^-63^BHb!p;crnR3B>TAPC_)%BU&he~A zzXVwD4W4qMH8Wpk;S-#8B7MosHug+bCgA9xaxHaZ+#!El@+2Qqn5OH;nq%)pvOAr` zdfa3|jec|6e}1V7%&uMB{Vb8np3F9D=XWq%S}Vc5=)q0LEO(L*dt?ze3{i8(Kb41T zLxf4Cc(R`PSs;&I2GSPywVNtd7_g z2F`pAq3`$1v4hQ0J9fQ^`S385Fww)*o+ob%Jk;T@Mqe;`}k+B@&EJ6=Upa2wbVvNgX7CR~u}FFZzJiQ}78Wl&98H!XdwugZt~DfqNA zJ2jB#l|pKk-`K4^7%?TdSO2|ZoPYV8Gwmc0`Dt-Sb)X43B*VacShyWO&AQcdmPxT} zJIk3je5n*LBmCI8{=Q$dC$km1(h*u)+qAyker9TwBPVG<=H=yZb{ls{s;Y_2VoE;n7N7DG^2(xYqdKx4 znixE1V^p8t<(D*C6k^YOtrh!u6!aIQPMY%qH0vtrCyrBFAF{MeXyw5+NzWlF6-7>4 ze>d$B0t45C3th#wsQG><2<`SyQ6ij<{nhh@R;Be|67=SSPpoGbi=}-CwK@ra$SSdw z3YT{dEQvUGuU{&5Z58SpL<#yfHtB7!(^sbg3pm47BlqnwI`9q!+e}XD1BO0*CF`J1IR?jdt2JV$12Q!ItE~%`% z=%B6DB@n5E;hv0Qv-Zj!gs|pm)j;~apI+;uGhf1x%K>t5+*iu#Wh3|P*_+t(fg#|4M~+VER=XJPhUK+Sp_D5 zHKSsR`w!V|>tf3;?zLD31BO?X`OmitdMI?estYoW84B@oWTMUcae>Bzb0QUx< zE2NSPbG8Ou&SJ~QtiCwQ12srsG)n6*TsBM=t#%MEl(Va?C9Gr}?pAe7$zh-A>UKFV zk61Z|Y>_UUMeK7x-w^5`GCbH>ex#6zCkyTpXrf1|&_BE@qpr`05jb{-xDLh*-xaVW zqGxIOT6t7+>8P9W&0;Dmf0|olzJW2hWn4ZEx^N1L)EHjis0nzu5)60L&wfVwNUbTD zZS@>0B9(!TyoX`tg^9HLl%}9@&%#us*MWUhGw(3f`t{*5>WZffrqz9kF8jLiO9F929rv?{klu9KXG^G?$%LIwWA5WY4Fee=Zf@+V$Z~0Nc3f88e~_ zc^&K0dq_ScMOy7_s96L`IBmK;cPn0+Q0Z5xG8TSkb6 z>BZL5QAIYDe;}ugC6>xvRL8`$Q6#3hB;ZU79x2{ECZF8X;UNb66vN~uloV|?@7YCz zWA9e4!-y^pT#S@a9o0#FO7QiwZ7~+S*-hH%A}YZc9ofFk4xTK8idb$E5{uQLutD+F z6r#O5Wp8yI_3*c`JEwi>jnb;;)F4HIu2Jm>3_Pxgogcj7+3|f~}Ul)kdC8GOoVg6BLV-CoAf6R^uf* zH(rJJj6*aG6dc*PMOJ&p?+=F(1mQ$=M^oiTe?T2G>V`Lc`Cxb$xW&r>eamc;y};E* zt;L33pWc@ulKSFoLe0ke&ehRpl+0=FO2qUfny2v{8Bcr^-#A#>JV>ST$E;zRSh=}& z_?07@>#xRiII5?2#d(LzP2P}>vs(u9ol^d_tNgz{uLeTfr17I$MDnR_^ir*SAbPi; zf9MTy;#G&Fid6oNn*a-CD!*vk133*U!F+*WeK9MxM_J+=OP(MgoN7*gU#qZKk{-Hj zt8l(DY^{oDl51Si^rN=W)U`o2<3*4(4K;0d4rO+KB2_&evE<3hFSoXB5cBPp_8^uh z)38GtwFo&CyE!Mn$9vQjko!2She7$Me+N+{%8EKKi#Gy}sJ5kk?34tR9nK={f`Sd# zK+>^5BLkA;gM+*1<`|YKGY0Sad5oThev@=KLrpzLPN&G6^T)Pl7sZf|w0uXjo6lk! zv78;(VG54mi-Pzm+Q2f0|sH z6Bsx+cEG3k;t4;(x!k|km9(O>=7cdAcqeWaI0wlUa`*#d+shBnvv+~!?h4mhKS)!F z+{+0HYLoD}F+K;WPFwYiLTg}X9F@k0SGlE0sh)cK@Dw0iSV%7B)REf52=!fZ5bJWW z#@n%*G&}ZVyon5c8u3fkS*wYwf34~laE^n6Z!gVVCuMCOO}v)E7SdqKQKw9!zQ_U1qgC{?K6GJbSu>6z7VX-+t!ux%Jm4S;7@Df3kIx4#HF3 z;-eW{jWrn5|KsZsxF^z&)Kssz^$V;08aG;lb+wk$hv}7^ABLoE{9X-u>38&O<8$c* zAkfi+C+oNvO-RXR!n-w4#UGcGXoJ%s0VS6VYK8Q z*tbc)=dp^KFpo&slzR~*e`Wv%_7K*-30I?Dyg*PTcFIV5(Hf3&T^8Ip==!R<8DQ{C zbn!Osxju%(W**C{-ff3dt_rr-B|1pm1As~%AK4)CSz>nCYMQOA%j~a24N?awgq(RDk*|jGJ<56$_8L?<&)b`X)f6$ zkz6EFmNDYs$i}do>ID76ONvfVlNaZzSGl#$k;i>neyzGhfA)x>YxhDb3hQ}tqO_j` zBvzL{vD)ZsiznV`r1%Uz8a@s?JrnK?dIec!i9`(5Nw2tH=c$6C8eo`j5ocq_w3f+eW0wH09&Yhy`X^-RB76PCNEizF1%6Rs@ z+&<~$vjR$%C?zFnFLZ3QMTA1#*v{)@-<7FB=N`G+>?ViPGDmVr&`ZTfqdx-p zLMt$~gg2d{_&A_kZG0ZL}yk2 zKS{wuf9z78jTjsb-1+4Tx17RD^DB9_Ao4l#E2G!(jZqdFkRm1q)(yTK|pUimTW?yVve+XjA>b6e^?Z*e_sfSTpAQYcB7mSzU z?iht}&|o`(Ne0TZJ6-QalA)b^#dJhFP@_z63V$*W7p2>@4zAOC-kpvm%*J z%#*2erx@*I^k0$k+H1TuxWbxd?p0ZsyoO8lt4fVFLKL2A?OF?Fej9qw$D=Z_wjO9q zB=Ay8Y%m$)4;U}TkA#Uzi!M>b{!jsof0WkYWN8{a@P4^+1!k*~Hr6S}l+Rf+dhD2# z&@wGFM2LRhs~b-_8rOLcptxN^F4)0wgN^ml8U#?E=aR&+`qsmkq$R3%D+u zE**_e1C|N_HdItQJ4~F~WR)Wd#-G?)h{VDpqDAXrvq08uGG%6wlvQb#p8fk;^&u>- zi%f@)8aD&WX|wj1AD6W7Qe50e@JX3=8}!epn9s;GoR6umGF@KWXy%h4?&3mOlv*Rt zSaqm7oW-MjKYvWv?XjNt3xbIA`h^?XG z7D~jVB;WOI#^T&HA#FZt*JFjSl@(|IG?Iw0VnIOOcY=&CaILB`gHr|yf4{e0;z6g@ zPiV7djs=x{HL>n?A3Won1AP=?H$A|@=c#fiF6^8?kV)dqo5h|Q0(wxN6;2#eAxU4XssWL8QtcH<;Yx$zi zrn+Yua+Wu=)DPvTTlQP67q*L6Nj5eU$E5{|S(jzT9PbUxYBfTsj8P47Ua>ncR+X|~beA7y zEd8YCf?SY`4UT&si%_YWpJVI8%y-xIBuIuSoOfxUg?dDPf26Pr#LFNCUv^|%dAzsB zYmQ0LTV6__Sg0xcLf`{?9Iw_{vMag9S&WdGI9v8@6U-51HiC6lFB$bq3PGT;Sqo=; z9F;EwVIGdvB80S?k<#a?JyMbi#5IG33-W8OZc^3GAJgAdtzR66`P!n8B;azi^u3Zt z2b2r^^*Kjqf0zZ4%$Wz40ONk(2n=o3X(o%`t^?28WcSP(h0>F*9h@=P#joK$RY-%3 zLa#H35WO5!w?iW_Vt>?g)ZBI0?Zhh5Y*Oap76<<-HgK~nrwKt<{}f`bcqVb6PR}rp z@tH`|)kI!v1?*CB!Llz!b8AR(X1{b8XSvw?WEQ&B=vEcTDwx1HxK2JmdvB|w3*UfsrOgcfUajq$TV4CR~27#O2oQ*tY|H7 zXjy|bOv@R(i$c7)yLppYE4c>R_7R+d)V-IM=ucs^4#*#KTD{>}G>Kva90=@IE%eW& zH-r$?e`(B`I3QF~esRe`frI^pXBo;^oVQO5ou<$m8IGcjaAS#ZcG1yMJA06L6FQ=_>_Z>e_pnCX4Q}c{EXJ!b1KA9=Z=>ghi|L4 z_{vN|vw^YGL`k6+oF4gAkU)opVFEawVAo-%n=-1O)*#Z^%qQOe3v&YVl>IJ)xrD9; z2L;f;Ujk@c9&ObWYHk3{oXvq~DR#5ExXe0}&=WIKQ~Ing@<)F7i9ulnQJ7)5vnO9>#qlzKSdf%&s0Pm zE-hO)_|*Rym&Q^|Bf)QD^%xn%AZ)Z2{$$+e4WU{e(MRH16a0UfB&mMNqnj4yhC9D4fASOtiR-0WmFSwBd}F=k$e z2Jl0^7RY>YEoe~Y>dIv$}Y$s9KB z&4x-Esa#^!=NC-yvts^0pVVXq6eD9TWZsjXRyL9&Mql6hD{ZoI2%&Z*Q8M0{^Ypi_ z9F2AYHHEh~`INap(B+bw4KQM+z=r}Z&O6dTMVkOdXEMJ4jb9H#5PHLff2B^^eMbe* zAg>f~59m$!%yKctgg<}FjrCwGpHx(!7sji`UQ5R_@HPFQjKPGohum#KxMNEh@)J+d zqfCP|;m=($+Z*H5v+QQ?9XF9ZLhUU0B|pz!FRdpAm^i)rZe7baD-kw;NkH`^aqv7 z?#WkE*!d2i^h529NRD;8^_Sa873o_jit2Z7OXjwU88?XKI>Lj9L?E< zW?O{LO9gEgeVmH6-bi}Cth}OaueD16a4(&~ce&~y=cAaWGu~@U6N(9WpgApDv!ZbO z0|FFhPOFr-E&}Z-f1#2@d=;93Z4!kpE0FBI62@0d%9ILHRMO*sqLq3zFUSbRPv?^X zDO7tIdVu@1xz%AIlGj~0uQy%1Wn5wYl>1@z8G=?>=v1gZPHzIX5aqUC8IePNhU;JC zv#nHI^4u^jGYUaSB@e?37^a$k`Yi<&YK6 zGkPJ4kG!u@ak&*_pfvw4J77?ORIrJGwkj@}bmBr2J%9t=&iU7G+M_!fsm|Q894b2x zQ7UVC+B)EGfF5i&uuB+39YmMmc=>!_^C6jYwGIL-Zc^75T7a_l3gA2|PzOF91#f~m zl_(PLg%rdCfBrRC0BU#R0EEDlt1p z-0XS*mj&Qfj~{AK*8v;K*|=-_XL8Dz%9a1n6@hEH(mp_PPpQM)&o4~JA`m5v@r_eKxnmw#(B`2{+y$0MzN%ii@Ms8r@_IYhlzE9hjs8y zD%~|Kf58#-JR47Gn*C$C6rZ318aH!IxjU>?0czl7l@mufKpPE;&8Kl<`x0A8*V88S zodB_X*+WmwO%<&0d#&r>Z0Sa8F*{;al3#p~i8tfFl-n@q#r}>wC_DnBWn5RA@*7jp z{WqCxYK8`H@T;nlama>_LAU!$YhJU_mZu=C4={#1Jj_QrjuOZA%)8|TCUhW(+)1t(l19I{lEI&kI z_77f~^N}%WS`o}^^*eFX7)M+gpF_*1Aj5Db1g!OJQ3aXPS*f|L5E$}B^EyJ$B2O}W zf6lXE?q;52J2Jz9}XvzDQJtH{g14Nj@vC=g1VUE0`Bg`9fo&}X+XEx&N0j*-xjerZ9x!_Nj%lBCe>XFf zc)mcxombr`3-6AR(^=a8bxW;T-$hu`)(HCXW@y^##MFDuUKPtB1cG~DxNhI+rIqcG zR2xF=qmY97!#%WQSLQsjavnDP~!}@TeZf`DuEF%$}b)+~@{2*)*KBtXnua^Wb}C-jGMU z&X|~$5_VLK0zD8;A>m^v0Q5SA7VK1 zkuUlVUOh_vv);kiG!jshE@j%}XlZ}l(T2pLE##JZT5^r0)W&D?1RWxB=_sWr06v>)7X!jvo zv=F?9f8SdpN};w1_NgVGlDj%X7PClguGP)|f>CH8E)-SC>NMA?>?s*zWG9TE;dWJe zDz80NfP82!bowkMWc3Yw0eq-y^a33rM+##Hk~PK-o>fj)CcViriBGWrM_x3yffcSw zk@Sa&Y_}v!lL`vOg){@x?XTL-P8>s)VTdb+f1`6>Vi2+Kx&2&QaT6J8UD;Dg&#a|U(`uBfG-v>oLR#3g+#61YOP*Jc z^P9X(o$nZ6{Y_5v?N!WyDk8$aHZaKnf3X?;mT4-eo=|j&GKwkR0u4f3aNtrsscrdt zF6SU$aBw48A54tlavnGS(s80LB-BwbcCCvT6u3U#RdI;iC=Xa(NXCDS5TIE!WTK6j`PBS$XU1jK{B{cqdJDyb z15v}hVK(sexq7=Pt%l{tG`qX#GQ3$5a%k$IzFMZ?)Lrx>zHKeBx9zhEbArMy{2(0A zVy>=i&@=LC81bCE<@qvMrUH!ye?p*6>D;M}{Gvz3La3rX7_ti~NiyKQ`oGqaYzh7P zLp;dexH*r`K0DMuXI{fBt+q;Hy#fy8@{Z(^7(+a=g3Yrvp9O9f%tR`x@6H0BVe}F(L!6(PX zCwARMmS_}Jg%|~pZPKCoG+5JvL!l8Bu0@Za9N$`84)7E!P%6Sk0~}=oLNh3j^H7Sv zyu=yJS(Y2v2NYB$;78C9)7u&nhZYM4mS2I+(+3idf0IL-#U;(v!GUD;6tU{FDp-;> zcZaVn!P{Ny(s3sWM;Q3+f4{jv*2d0H_ayx_jaCn~Dk51eTZkF*{2OS$%tt8)r8RMO zF5!&#Y|eOt&5+6PEnn;6wZT6Y+@K1Me}u`rbrlbco0I)?!A+<8X2DVA8MW_S@A$<~ zHmKygGy{HL#aab_@dw;P?qzMMfRk+Nq`ocOVo)(OaZ$Q2YVoN}e}QoU_HfkhxNM}; z9OU=tzQCE3pRpkw1kA51ee8F=wB0XYmaB;)OfTC**A_7(=02Ehi1 zD_;LBwR5-^BCI+c0hEL|@xHH6G!p2pqSu6iR!z34-$I%} zxD*N-cXx`rLvgsAbN)GB?oDpimw6{|W|GOwll4s2`aP7|MJ-v;V0V*s8L||C{^2a* zS6^0a7k30HCx2MvrU1}((hLh){Gu#9in$>05_Gp*=gqO&t=LZA1RT`_Zbz?|?twy6 zjcYU67Yz^QB{G5pC#U5)LUtrEdAUUn{<0d@nD-cK(Nr)f<$GH@gm>b}61bh?bAZ^5 zse$_(=veo}(SsE$Ek(U?+FF;&cqoOQ%y+YrkKsa4k>0wI5=0ohp5lXfJ-^z#(%p}n zjNz$XGoHblLvgDCb`XIEpfa7-q5~Z6e~^e0S zgatnZe>@nRk?pn9hcatjCHLG8a#)Vg#5{%%v~ovEHZ~bIPuuu4NK~B(+}5j;j2IzG z{enUUd6pkrk(`+8MU;SWlt0XNA;-_Y(_h00eA)VWIs`#%Ib~&hAedEwpII!75b&Z9 z%Q!X}WfGN}u95#TfO0e}aVN4~5nIyrUcAscg;u7*1pHb&D@GS3vpMX3c#2~<^uV{} zZ-ile!TLr7r3ur&V)PeqWOY=NHCMiG6p+&m7E$caL87v|bj%M{AuQIV2h@?lZuhgY zcU2=};^Ku+U6fcjt;3}>^u?BYC|bEq0b!)uXJ}B z9N8xYV!tKDPiD*MFy|jT`8Bd=T-27QtDAGzN5u1A2Sz=>d%Tqp_@`I*IVvM8J68?>|Tc ze+P9CXDJbBq@4X|9y#s(z_mV~K%>Ske8z2ftu&lE7)Dka;4ikKB;f@k=F^ZXG$%!%T8+7(QelceIAc$lcsj1UdnsEN4~1W@W0vd zr6j`_uO6B96DdHQlX%w^`C50=cTp}B^m3swLQO@RthG*rrH4g`DM)|a!IP5D9%JZ9 zUlS7_GZr%zv_=Im#NYDmT4~=%#22bCNNops$?cBbk;)zPLD~)fRXqIq$S4AjFnvBr zu(><$^Xt$uI5YF{n_n;FuV`EFGKso#ssT_xyK#Ty`_(dEg%6eKr<#$UpPkW(F67R? ztO>2sNuekD%NTnafc+O*AExw6Rq^wEm3P{T?wfzpk~*dZYx}I@GNx?G20DlbiG487 zkc;M|XFoRcoIGd{$MU(+%EOTlYFSfk$FEPt8Z0uhelFv@X7A;YJF-N%=}pKG_KpwdzYwJx;N(;_FL(UVu4)QW6; zetBLd8dxH6F(f}n@CMU4KMfiT7jPYu&H(%-1CXBm^TTOL+AqL!In>#n!tGd^i`xL(|W(D zNk$Q2uPFvuTv1Wy_Yy(Fi1x_sFFxdjPm*y2b%eKbilw##2K(x0vLzs&(0rRYL%V7& z0AkL{xGol76ZYQg6k(^l>*Y~A;lnZMJ!SSvIrKkighT6?6m2K5Pb?blIRnnm(>1&+ z!bD(1*wTtYgEe(HuDE?;`Og<>N(KT|G1P@GWAL`+Oe`~wWlostCp`JjU!9FfNyh6) z672%F`;t=HH^{_y$(cZL_DlH0!7L0oNsL|d81)SlKmudhDZ1Ej)K1k)Gf8T~`qm8L-zDb-2Xsi?B2+U-)jFl}_VPeFGNs#b;3n?zjF9ZTc z9j42fS4vfIy7cJG3HahXNCG)!t)Yz7u>%H{>7+#Wh`hz5xrjlDw4+zWf)s#2VOm;Y zfukh1sB8l1$6no7@v!70X6WKar~TWJQWE~UTt@Xbg8&Ig$S{wLM}$7~e1`>EL^3*! z6GCiF`Wh61M~oGnMn82M(qx3ulMn|t}D3Y!tYU3AE`nFy#Lc}2k2t) zooMnqcTy2-ybbe4vi(GTjP`f^dA-%b#g7P2{l9G4A_#qWW>iU%za=;8(URf&cE|8yrNQv3k+1YAjRr;W)kJWYAKH(wgfPzFH&InyEGs2*V(#%O(2y1v_- zSrcbBeN_@5y9MKn3PmIF9{876VJfY~pI7}aF!p^yx}U?>b`pLrDR>yX!~o=Qr}(Qi z2_=NceQ_Q-%>y-rzbNLVt&z%dD-_S+bE~|~lEG%sHq9QkOm))D=DHirI$xZlS~0N; zhU3T=Hd%rKuV>Q^m$|XYU0E%g_PFz2LPdD{7Zf|~vkQEtNQ4t-16C;AxDt{V?C#b0 zB9IW@au8Y^xf>Hw+)~8H4dgn`9V{ffgdk1kG`f|1?w$GCOPw>$6QKQ z@JlV-XBY2_>3ZnN1m_+doQm-`5oWIz!E2(U%FsuIg?$`kXh^VFlO#U9R(nfLWq`{aGtwt|7p+_ z{f6c&cOkc?4VB9zHMi>A-R_{=JflZvvGyA%PfWr~jJN<}>v+c83w9n-HGgi{)oKEr z*RZ0|%$Yy2GqxBtZGK{Uy$bd6n$60ITXF#K;-eApjrT#NZ6 z!$D8>@DXRqX(XLykD=0CGmrF!;U4;j$PlyZkRDo2)}KgUE~lD|mArY4{tI&i?hlJ!LSs&fvBPIZRq;cdEFLaGLcBUF8A|s7Sq=WX-+6tCzny11 zDpeD{JPh+?)$cI+&+RoQ7QWI9 zkY3rgKD3b(c5gh(;bb7ToZ1#uC?0O zf-sW$Ev{rlaG$poI&q~ru}U5-#jxp%aYQ6@6U8&PJ%j3TY_<*KA@ZDPR_pR@6;^VIt! z%$9?`JKq`9USXz5Ho875@t{IXv5A#P4{u`8SxNRDzT0z5TSResgUb;6z7~wCVOK9U zwhqPP4u;3m#RHe5Bq7DfGa-9Ws+Xo>5It$vM)^*4RZd%+^99<5*z%^6;G1?Aio$iE zCJI>kHVkvqmTuK=SdO`^_sD3ie5&@V?(=K@17YC%@9pmb7?Y5q2iZ;xc1}Fw7>g_Y z&fcuA^c!&|oLrH!vTcT_HuT$J4~~ZLeKXLd!tMPX)G>G7x=G*70X&fxh3N z?Rg45N7d9ZmC^4C?8TFpZKu5@z`mCR=kRd)yji&!PjKA6ouYR`T=gb&@tkRaYD-ry zGAwlX%vZpGb_ShWSbo0!lk45S@a3vZo-m8n+{Dz*s%!3ZAZMOPC-E|VBQ}f$k4Xl> zE+|InO7>+P`}CZx`x-Pl{gzYGx1w{4+Fi^z1^sS6Zg_=@-|ow`#-=LNF>OUwq@?D~ z;?QA~NY}@>>=Z!DKH(u`_~q&359T>waI~*1>EAzQ0p}rv+qggeFJa=?g6^mMC0pxq zJVR$w=t3h9VcLI-E(O0=)~nLu_!(>pH6|J=`uLgg`O7@frd2`seL$ps%Qd?Xjd{&Z z9TcX04l~Io?-sVD?WftGtBTA;XH4scRMsfFtY`FR&1{pE_S<*~{jhvER|Jqa4cV9J zj6?`|Y1JolYb$=vsfuMHCsRBYS*c6w#z z&?P&+AX&Ac9{>U(J|yz$5cdn|nM7PGp-20Sj9eIZzTUl>!EUPn^%w!16w!vA&61t^ z*;6O1RJ^STy3S&Qt2P2f%4kZ5&YqJ=uV_z4bogD7XL%YgCsE){aX&q?6Bh=@tIxqp zGvG1S_eegzB|p2>rE3Rd1OF-<_GgXWFP~u<5gnzkg+SrNU>K*K_|Dn-`uEeTN%)KG z=neM-cSFVE55mS4%I0|t(u(Wy6#AmEcb_zzQwQ`0*{{*6y7i+e-}dLj!|9-Iv(6{3 zSB`?UEOalHbJ@2TzE|4Kmd|9Jt^w<$eU4(DQB}NhYsWh{usE|hv3rAa}KI(PcY(_9{gY*=NyVWrWEH}^jgRH0bIEL*t@qX=Y# zkeI1(bv8uqa3~0N2)rTl9~ylnMtWtg1G&G1vdob-f3OPW3PCn6=s&(Rv*l8ffN*6Q zBNtbSnSnhNFx=U}UOa}FpLq)qVp)_qs0e6D)(HK!3$K)^IOS;)DcfA9hGGO;f5RxE z3UF?X%#)dk_!j^GO7|AN` zq3-9AQHTsG?*~D%(&qvsks>N|SxDvJ;_^|mLuDriOr$39nB#r1ft~(xt(s<6X{4%wRxbPI! zE#X+w%*U*TFF$?fG%6O@&<@d{B`ghXRV3E&1@b^T7(rQ7D_YW~yuYgIdyXAqP`4_< z>AfuV<|`C=pX5;HIWTqQ!}xJ&a|xW+LMY?}CMjZ)-z3Zm%-9j9z6RgFKHd!9t}i~P zD4Ve2-&y*-xoSOsp|?yuiZeHAXSRIWdUzczc?FRa#}{qISwr6OYY}$GPen&_~A?*f5g%o`!sYkunP+J`DEs)B7>Xw76 zeQ?zY?_(cWptZv`NQA&y@ zW8#S%t{t&&5hjl{1a+)%5eajE#|Fm5hZSkv<^?EOh;^>-@sGrtNlTS*J@k5a9d$Y}9>zZ{t$-{jlb;T6IhOE$%ovVA}*NsY3 zJ!jz@ABq1qb3qaKQ5NMO9jeF@)9`3I%N6Ee2CF*|L5Gbz9?OL+cY;mxsLj?*>*{+y zr9L$Pk0=OH)JpENy~29^!X#4{tlPXT*G)NutW{EbP1|}4*G<*(?s2Oj-)UIrElzCY)wm9<&8-3wHk-+b6LYPLZ`R8csvsLg43iOD=cv5Wn-Z;J-!E)Bt&BOMh8t_*0;J0Ej2VY(cyXi8=KtEN z7h51+ZSMAS71J_jV0$-TtpL_V++%3iGV|uWbN3Zzfod60$zxmf+Y>sV+6L0uDQ9#X zyTMXR>{F0g1$k=78Yk0+oK}TdeIBM$^uY}si<{gNqWPS_T%wS6{?6ijz-H*H!*XoD zVEuE}|LVfMNutL7>cHLWpuR_zrzrNm^~B2vl1-@`%bB9>z+Wy)Ess_xlo(7IOwZYi zN|5le1e*tx+_ULKh!`MhRp5c$pfw`h=FDHuzv#**H}e_8p|#S07_oXZPCoP)xfa2f zs%`dYH)e{j4b_B+U-6qlZgiaHt`(Gn(ZsQR+t=epMDk$$Ew-DJh>2~pOBt8oB_mJf z+#`Q)CBuCcCF42Q_;ShP=4oxi=+#=@yV>Kn0RqS2q%J= zsI6zVqx~#pzau;4bDT`Eb%A7vv7F$lJ=OJmskm;R`Xgc}d-reorWcp2cIgzifOtJ4 z!m;5n2jvTpH^5Gpj?9H=tT9t0cF6b|ZSQZ2qlN`VLuLR}R06Ll=}H1EgLG)&$4{Bg zgL33-&}2N-n)mc+`|Iy|+aTG8^evr)E*%uS+y(y!y0w7t%XhrK_egLKKR7s#GhoF@aY`IzJCq$t7kJ%jGEKOq6dFkEKxb>0k4oS_l?;V}2q!n6qyP^u4G&8^2dtm>di6%E&HTA` z5UZ8*#cu|+d#jLv4FG7I9MAT-LSivGQnSM=OH*rD=dHkhGCn2LJ3VZMaTt|^@0dFP$oj-{sL^hb5_(R z4|*Pp4}OKULpg`})_uz8g}y{_^a#}@A;8on(IuHLgfn%V11O_(en@vBeKyoSjPrlS zD!S7z=xgvkz45Crp#$Sr07yOFDKxJ{_gJv(Kuxf0OS(9ZQw*iMEt+it zZ{2b8U45jhO(lO1bsZvE80#g>;pM`5bAiLa7h~B;$&Ox5xHGsiB2RJ|p4g7d>6WqR z?We%^9Ig$S7)*7;OjX6FCM1kKTleQv5WFb$i==nS{MpULZG1dDX2R!|1MqFU8vIdw zPz%0+pPYACE*vH*6%h^R1T+;9bua=9CIS_P428h!-&^TH6&Q1XG5|nA;-nlx%dz_p zQlOvNh*B%(N*RibY2m1!qX#?cZ1P^-D)>6pKV{&t|5zHkOI!q=+&ZnF-L+l z;SYbDN_&Nrqz$UC7e-wZRN@zc8qy*^);`l51y(2Xs>IEz?FRz$W&#(8R`3kQS@L(G zx-EHW`Zzde?NT}f^5?q}x2b4X6*GIR6rH?q42$~1WFlv@6d&DD4a@rLc+m1g5GDAq z3UWN5F(N&&MWDU}cm6Q=%a;YmZHl)B72rH0qWj6Gm#X#PUp5G+dcRH#>iC(lCcK%f z?@gYY;rI9L#6*MH*q-p4{@qN+Zw1lYnTtRT2V>`FRr~ePizY>vgW>Fpt3-IA0&Nhqb>AsVxMi>MW&MVWU}%4L_mmC=H~<6BAN%$yvq^5hQa` pS;*wyjPPqgq`+^@?@$Q*hu-^d=nJwrv{|Pi%W)+xW${HL*Rht(n-iZR>mgTlMY5?%q6os=BNCs?UQy z=YP?bo6zdL#6j7TNq^7+mzlbX>ns?f+pid2u0+2sUa*7*+G6B?B4FB~t%;>&p`j)v z$(CHsUmwiP$kJGGkI?wZL|p72rGLNXnKb6be3DE6DmE#Xs5Yjk=S|&2NKa3SAr|cf z^oq(hjwV(?n6qi7V6r3C{WBes#7R8dPPwbw(0NaaJG7Kq==!k$bsD+gM4KkEAe+d+ zdQASp^dLp81&knnFnU<3qp>+Bd5&wSTWJx&i=7_FEV93;*BP{zhgOh&MX52h@r(F| zw-%x1aueGodQ>BUOw)Ufy`@wCUt*5n?R-ql+KF z-z)5CkRCShjU_q-W(DS25){qrA5YnHE|5$mtr7KT1cwCr2tEBB`KL8WiybpVAF38< zSs9`xHCMI3*@HmzI9qDAYfe^|w608qH#`OxsKf(VdCA5BVo@MsGvDLBErBFeXvDvD zG&(?|VhAs_(n?NSzaqaKd4ea8UJ32(g@NGlRN3s?dT7ns)ru&Jg;NQizCg?kL#ONU zV_WIfx#Uh;H}y!aAf=~jXuXPodFRjF=>UaJgq=RXNAnB}_$HoFd+S1s$s-{iYrv-j7CN}_r0de%EurAhKIPXO<;%?@v%A6h8 z#?Bt3W?>&CCCSfx-fyF!_TOUO>>DCi5P5Vz$>E^jbv>F`5$EeobnE@OZn4!eo$8bI z#$e0NgnTNRocfvHO38nU$ZzFPGW1%T?62^=MW=Y!xz~-=W8mYcygqU}6d%=-R`9MH zrd1!)fR^?RRr$P`%p$*Mja;i_&{MM}vwzY6C;04olsv0lzHrZi+7uEUX)Cm9YJYZX zbj`gkJs+Hmii+Nd|I-Q&n}vjh#Nn4UoPYovvz(c|g{vhAD-Q>Iasd(z5UVL2zs`lx zbFBG71OBIQF)416%PtTsctix*3b|?MPvoqI%D;v09)}`ZlmBd`b1} zQ#1#KEBPi~yTZxAI{@&!zj86KPomklPWE;2TvJol5??gW1H}NJv+aQ-p0dtq+Ps?M zK}@|J++O<=GSo7!h#)oEp&OYh2;LI$rXj=UDR4V)z0ELot${h4jI9tK< z7_r$E+~b&NjJj4v)|XN#^t;)ZZ(**nSI8n=L;9N64zR+Jk2Rg@5J#|gvUNM=Jx%Hw z@$&A!2#uF6)QZE`>9HEy58kd)Ej8r7FTa40lqKgg$Qo&&CF7LQ@r4A*1(ArUNmM7{ zG{&FN>0tMV_;Jewm}>CBqXCjuVU;`F0!M>Hr zS!WP+pzv}&cALU>*h65A#Yu}tZUP0rT?CS6$ zHr$;CU2QcKD6?KJlA+}gSPIkVSbsFZ*wP)9Zm00zx^z9% z=Y9OO$1&LzHmAk`F{CcWqJ(H3BAEdVwb~s>(n@#%u$Qy;%E(i8nx3%ji0M$`bB4;3LbE2YD3Wvm8{!ZGP7ScUVLN{RHdYUd=~`~i`u!yP60d&4 zm`uHC!=Ub{N(U*dCT#A&ZXEj0Sw$EGCx;zdg+SS~pJ5w;6meFuf{Ogu#xr*h9)39r z{ifmFuY_pe--r)cI|UVof`DaD>b(mHwK@v{VUu*u9*&3}-CoIOTv|No8&aF|Eo4wZ81!w^ z%<5glP9TIBRJ5LU(6SH)w#Q^YN65z-=f9V4noSC#pU{%~%*4-}86t2d`~m6t@8jvA zgu^p{3vW%DTid=Gl~+ZN_4B28ic!A;n2`SMM55OlD4CaO>Oz5>c=9dB6cr0 z@o%U)J0I;9J>}NL6UB^;+II3lAtdkDwRbRg27`XsR=7D7{ZEOG+UO=e1sA>V zkYw*V#HtorkRMyDWuG8<%iWc%Q+30pTCbFKp*R36xw21RX00TN2_1I(S5f94B}zFD*QeZAXzF&++pYkpSE2uq$oM=;|u`{gX2?p1UgVIcPgMNfL))C1Z?1 z2Tsyka+1_mmuB9Bo&zq&(j}sp=Q4 z`t6fw#2b9~q4Zw`mfh?ryfvkL8j(xC-vh6wl}cv#OkSPqgU4GbHeQ5p#WqeQLfrBW zCMVynvVX4AlA7&LL2dA)p-hDDTuKv;5d_wSm6|(F%U+P{(o4R}LKnWVf#oma{<^Qf zA=3fGt@_02X&KgHD(Xse(v!*Ag6t(j1?Ifb4V|ggG`Q#kK3NsRW4~lN4E3KIVVzl-0KMF zVjV71#kFB5O&iCnP~iBP$FI_S`MO@QBW9o5{)c2ixsyQ&(UY5k7=TnYS%-BNg#Xy| zgoe0K#((J6YNfvPM4^Aj7<`QoL+VfLY8om1$=kJ5mh%$UX@EXM(%$*|&)1Q-4(rdx zUyn^m)#gc?HA1OX+4_YUNrefazYZfYRSp`Ayr@F|wNwi)g-Ig?z>u1Vx6gz_-J8!^*?Kg?2n$-vJ)=Ea(CJ0%&vg1H~`sa7rOjLJbh`* z#$uUTQPnVJLfIA0m!LYEU_S%ucNJrwC@#l|DVo@ia(raH?SP>0(xL`G?C3a)AA}%5DO=>_|&3K7RWZ@0gP4RrdA@1=VH$Uk^xfx%0~DU z)BdW#-*AhUkx6qiM=0ERlJd1n-fw>4v-$}CP~4wrg(d72v!P0gg==bwXOoVB|3Rus z_i8#_%l6Z(@&!O3h?(qSP%NJK7&x3w+EU?J=v~OYbgleBk8^e_H&8S|VMnF+j5nC~ zt?*1tyS|IJ+>DD*jhh&~DN_9jBC+tToMTYb7SjTk=9w|l!hR*FL8^##=efCC^pEla zq}lnYcz$YxSIJqL2U61_D4;2SJk+^qD!=c=nsrd!#2XOV`;6?8q~n*rEYO{EPo}gY z0`rzXFsIuHYU+@@m^%^x-SEu3jd!6+fuWIMpUDX*L}Ip!ghRTo7jZ1Lr_P|a>Lzma z>nGoOiMweTU{9hQrMjJlYF*C7M-*mAEQ4!9tbvBB{am#lUnD-$wS9&&vp02dbv84$ z`=81oImm_qiS2)jJT@*Cmj5O47IoI`@p;kwmNjqek{Cp9bts^N`}v-DOfF2(hqNy) z_yT9s_*%FcbP{xu53ZlpR2vRtDOTg~#)4~lFrv$@s;P>Ufj_aCW<~M&O83 zSQHYR2Rudk;l#*zC|&!IVNt?y_%$L!sHtFU`bMA%ICHg`n{Eww7@NoeY6d7JmI3V; zMP;6@cv=|ql)eSr56N{{X`JC{a;jw=o(&(eT~MkM3LISsEQb(vDi{Y){yid9t>|Y1 zt@N&&08u74UlcC74Jl)E+Ff)KT$o8!D6|mT9L^w+NvRFpU9diohUh+NoJy7mQk){b zAyvtk_zXBv)KZF_&<0;%$W$b_IS#BaX+-!3rHv!9e8-7+03Gbz-2!R50)$^s0_p>8 zAW?CpGLa>RB=k*)_zazax0!Y~4x+D4us(+`sA_S92+NNJE;kMaH2FPhWpU^dD;%z* zpq7H6pGsw63#=gFEeb<88A?MCe0H2n5!(=nYNl%t^iuQv6!|*ekf0PqNp1xE^H(8 z)$yRi#N4`kVtKi|d_sAKx?eE$RJEQ0e~yeI;>^8vGUY~v&TvSpA%BYqO5Z|aq`gQR zIb})&SWs$sg;ZGqD+HPXR5x<4=F2R|a;YlE>4xIZo6AnL9d#Cuo*KllXU=NTSAR}= zd_8>Mj&>Xsqpw7GYwq8TP3}fGdy_I6)-f#q7cxb5i{?0nQU#F_h zw=x?FU~U%8j-H+2T4kKJCuTVy{fi&A)w-wr`C6ulShZRV;0iE#QyK~w8b7uO5X+ta zT?VkyOFW&Gm-q8JH>dN2$3<3?yQ9lQKi=pM&L$4MRddpRGm$hHsg?&Pdi0q^NqZlr zu#4UwsIL-ZFjq3~iNnV6F!Rn8&a;&w6W(Ojo5xs}AFEzWo<+kAd=-^5NBuQY6Bt%Y zZZI+Tgvg0G(dE zm;{e7m-nc(>(edmrm?UGvWANg?pd6=pc474_$7$*ST#NWtjM~vnIHC^!j-5Vxh#jEQ8;tOgbwQIvPF@2+h%8v~2S2aCg|dMRW+r zD`b(;K4!_?Xs%W4_epS*{Z- zv>T2Y97dT^aszahT*du-E{XKMH*8L}oPT~VyDWCX$@1P7dnm^!Kjaxl_K$4ga=dWs zpiaBD$Ql{Q9?y9jxsUe!M6jZIH%C0DJ7Xb$SSUKWSt)SUf(AnH`9K;Yu zD=<2&+4ZaLU6T;F>U!E15EW{A=XQ)%@+QMO>DrUH@HMB+I_!2{*`o4GvX*qx#1l}K zm*ta^4Ap5p=IF+PR@Y%%{JJ8`NoTh8Ne?O>TzIEJoB90fNL&LxY_hf(W^DH0E$;t< znhoy4CjolfDN@Jf^w6{>^B6UMNL-!N;^lP6^|aOsnr@vm$Z@m0Jt*5t@k(h0s$R6p ze}y5#@&(qq@apJ)^i+4@@*$k68U%TVlr??I>Fm8kyYI-6MdAPKcH;K^IfUQAqYSFOz>S!d4NKR<^a&MLC zC;}Wjs&tX0#XF-Nyic0#FVjvR%ImyI;rrePUYDnU&5z}2!0M|rKc4?PDNUa;|G3Hh zlnzv|Y;}kBGQ@u;&gBrFxC@R}&7qR3r+JvH;F@E+N&1ApnQeW?Mk;W~&q627Ms)kM zdlPD>7QNiw-4_O)#Uy=_+AGDTvqx_}4oJ*A(xr7eZ@Cmhirani ziir`Kk<=^7hSKy;Y_~q_te3EdIx&2?uG*eWlW-qbR!=u!?R6`$e|pb=-~*;V1K`)b z4(*NA+44NU>>OKooIT?GP7Z-Ahn|+8VGLedxyNg+)Zy7Bu3+KqN`JKEpL zi?324cFwA`f&t>M)U9iZZ@?TqBjZwN#4l;4+F(!KABlKadH+sNUp=9U>9!_pryQ;` ztD4RQ?(v&)d)_wRvjqAy4Fj>GlZ*I51U%CR;l5;UJ(;oGC%-?Q;Ul{q{XS!| z0o$Jw%jfs1u$}O*o{@5C)9E8eVqGGtxF``KF6j2luj>-5e4&RzsgDnZeG>%u)}w!R zDPp?&{=v&9w*-0{{MWRc*Rm(c#n!VEcdg#XZdw(am1UCRlkCOLQRX5}2muC44e+8@ zt;C-7jv#x&$yrk(ZR)>Q-oM>Es=ky6A>4GKZxaKBgkK7esSVw6PI8M&AP6lp3(=|Q zD!{L5l3C|EPI$8?B;7dqE|E*S&+44naDKZWT()2~fD##tHCllCM&Pacsy5K&GaBl` zj1osjlitlXbumaj=0n#@Zt@{`u6^Clajwai+#u;#RA`&qirF-!d&~B8QS~*L9aBEd zVzO-*aD=@x;vI*tYdoN~X#M*j4*RLx9Rr8Kv_P&enaUQK#-pDy z<25F$Je%-_i@3W#u67q6+MUl zkGCpa+aipPzQ~CC{9?*7GS6w0PuIe3Hgh_N{n_{*5Y7`RF`=5!wO%tI7GF#x-)0&q zbE+2K>|#XX*0h?=%hyn9-|4P?*@C^$Nuk_XHsEKz(9Rf)@L5Gtx4G2prhHl9BUvbn z+GJ5ZPlyzUw@=us&4oZHjI3B0Pb_hkVP&)HG*I*t|B~v<<5 z5{+0KkobzNSH4{PrTejpOgRgQ_!7!pRmrsWh*gK1+HPpw8LSDlk>uB_*0OE~=dh~@ zA0QB#l0uuT;_X2~}H zdV+V)cN=XMCr+65O^eae)lN%$e~~l3{Ciy_kfy%tGXYe2hpxb42|Q6Txc+kCVCGzU zrrM88OBApkWfMAcGX4PFpHH>|AC!^$&}@T4rz9f!XE?1s`<5G1nRLJutb8r@2pm|X@-A+jW ziCcr-i!2jCy`nVh=LqK6KsrfjAezevY;xu7d2W$0v-F5@NX$s~))$nMq?lX%;xm|x zynne3aor^^oMN@H1W!1?;ke?z@`Q7j%_X>PFhuJne8BK<3O-O|Y~;K2C5W-l$_(+q z${8;(YcnIm8YK;(#$cjWx&2wHVnhOJg;NpmNL9Z@b}DG|NzJl_E_9~6yjCB*FqGaYeN7G9l$ zd2+n=e%gZFns=TeR6G1IG^7P65E;yKvw<;5QjTb`ks($pTVMX;qb8axMmY~ZE^Z?@LYisUFz zonq4Vao{4^sU=1dMX`UcZ*!rJjndM9NJWyOz8%d(h$XjY<1w5;m=99%Kk=qN#>Z6vIbf; z+=9UJKUe@*aX1)GT_fLp=5uQ`!;}?)tZnKDsKlR3B?$VL{4g#-;Ac4vNGvnlkGCx2 z_>{G`d~7(djE_~HRFS!AXyxWA($`~BNo(}(UVVlu=JH8&Trq#vzm90fa7(j$C@Q~9 z87{nhTwKs~4y|J0D~Iphj~o3|FIvkR9za+)rhU7_Wj!Ba;WN9}kB1x#M`VlYHG=cf z<9~n>^Gm-r0+Bg-KUVYO8oKH_{qotv$+~1mH@?!za>90mymE*pdwv^EV@nOX z27ZdtCElD*bW+IM=Wg_G555>Ktly8?BK8doijfqpY5SZMX7npAmgRStP{5WJ!n>F2 zwAo=?f!g10kr;Ttl(6Q!D*7DNz1WXq|P0@WW&QHjnNYFs?W2Xi0p zT~!Y4aUu50#doyt){@pRX&%eV95-kq1mxzgCtc`0VGsQ{@}Km5FNA0R&h9Q zMg0jVVBEaviM|ljNL;-CJKL`-h>*HGz@GGb$^@meHld^ARQlOhIbP1HL}t93@faT z(MgyktD7?T|8^d!AV}FScUEK4O+^>){-^CU@ei*^pgl3P3t7wNCuDT97Is%SQV|$n zYIjGM7*h}-9#^1rz+zD?V1ye%@nst#gVTs{=%uuz%^DWU)Tf-BVup)5(SU7e24%bw zGaAT39{dwWJ2>uz%Ae9kO2a(aQ;Oj!UrcWt476VZ3xy37g4(-~?A(lsp6nLoD;dOu zwqWp%CO`QyqFVKUF&7;B1&M@_$m|-x6aO8m3?@EBN)?oI4+7?%5-q7@ahOyM#$cPJ zpcI2SgRr69L}vRm1_lZdhfoFrCOS$kenv?i@>9?ZYc%zksx~HW=#XTelIi8Z?}0oZ zWC6BI#F^#>YD_$EnVk>JA;b})(3CVMhXiz&0F|~6f$ARu`6CW0=`q((qIy5jFU>N* znggcOFA=jV>nL3x3^B;YJH|o-#vy_qh=2hvO5==52)k_T1tUOq0w)q=!VnKyg<=$u zL_KoHu;ugv`h(0AI1`5(*8q2@kaa{kQmOFjxc2ZgLb+PC}Oy zaXkTv1hZNn3Div(SP^&-ie4muIt}YT3PXlAF?8VdaCcbFqjrpC%XKD>+52&CNQY0D z$jeg;`uK44_V(*xKmIuiug1>7}Bh_Nc7!wix1$jh!y8(yGRw zM{O7t#lxP~BjhFUvjJJ7t%PF%YxLgQS!d}?4|6nJs*;Dkcd4@3^T`g-*z133An0Fd zVk&zSjWpB}qEq-M;l`eq5^a9Xt$O`WQFDKJQPYhHUC2kCwR}jU%oo&VpI0rwqyn`! zRHOkPLB*aWB9X(hHFnu<71JOwh^p8)f}thEJs0ZluXiis4;1b6Acd8oVADv~J>xGG zSH2q-;E#mcKo}mGP4^-&a1ZS`G45j(t?BWyba#V%&uDueOZ<*YStG z4>N87pw$du1_T@U@0ZEPJ$og6hoJxJlpQ*RB4= zUx_Asj?g2S;A%#sL@U5MaRM17k75GJYFIf+3irwp&y^=Zx}ebL%3YSeuVi9A!6Ism zv2A%wFcO@Oozu!a6!cIElsMZOb5gT$ianm0f(;I5HWnb+9G0DsO|z|LkvgE@#|r-1 zjQO1h(>IIRcP4??i^h}-g9J=#X?Qk(Cta2+=L-ANz#gw%c->p z0a+?QCMLJw>{s6qt*O6!#T0adP6p$?Gq84W5%}kdBwHN10-mWHMLD7!qH^cpz}FIv zJzd-7XcQ1jmtRu2TGt3$-D2&6H}K}W(RqTTBWmxMpR9`{bX=vrJhYzWW^I0-4yE~H zC=gGx^gjJ(HnY3X)HT6JAYLbXa9??77sb@i5^>yN^u{GW;_vYK{@}ih$c`@#H$y+}*3pOO%NmYr-*I4Z{SH9U3bz(gO;hx8KfMP}v*G4x_R|i+ zn`d7PTNm5SMXK_aNJ{u$N%e+RrqqWc3)1b&L+#`dzd5uYw-WXk;`@wu5&1j+qhwxn zdS_>@_aDtADLZfLB_ZuVGHN_3S%qZ$qu{~ZTUzAgRJ`m<5^b5ESobE&t$f5WrWH7HNRhp;s#3>(ZjXpa=ebC?Py=7hoGc6FC4m5Et& zo&jw%cesvVp8gkKwxPe;F-S%2IPaEZ_@RSl^4-DYd9>u2UWxjqrw6~HP`riKUD;yx z-7qvZ_}3n^$wUE12?x4WZ3(U{yMs?NhbAzmHYW$H*!9`rds0qHSz*;Q#9ob9`o&9b zExl-3+3N^?Cm$_q>=)YMC01~x^CLcp+_mVpI<-W8s8+eLA*4&J`tmegvfp>W52TOG z*7nOo#GWFD$#+`%yyllaS2$Fz4)$Y_O^bdZ*CyF769SW z*E)7?HulNsl_d^~WUqD}TRx%!XMtU?x572Mi1Z^h?ZW{JwlkeqRK*);pHldu!58V9 zB+A59{%J?Ob`;$ey>?d})YxXZZ8O39_*QY9-Oqx2_Ci}K^VqVDcXC;VS1$dV z#{=){{adT6X85<&m#Lcw$Yl(V-Heq}9S)sVZfHELwnZakf&Rf{G%7adEd=5`pf(gK_cx&o)M@0UfAc92hri>t-9MydD@g zdn*GbShOk_H)m_RC78Vq7&rI-I*7*3#r^;50X7m=ULJ0ibW&V!ObAvsUhZU4VQQeM z#Y|0ay@fLh+GBZOb90ljO&2s&Z1)OFfCmEk>I#K~CxoP*u?;eO=PA+eO3)|IWqW(M zQoZI(>>bBtf)|^!y%MUi4RQs60^Hrz#N5Id9fXFqDwr@J?!tEB&i;oFz6%I6JU%`) z8E11bJj{tXxO)m%M<4`9m;F+}^ATY0P|E~@#Kq+=ZXLidhI(*U+60o}1)d^e|3lt^ z8ihXq=>=N}va^FV8&rRLfkcWPUkc?jJDOtU@A~k_zqLz61O@XW;lwXb*?JI+fFpM! zMNNKukeOMq{Jz2oFeOl*9#}gNS0kwa+%Y^$2Url@|46q3gb~ro4Kbkl%?DsqNAyl> z?ZdlLP%ujW-X*IjsGuB&NI=t^O@Rt%$^>c9!OH^tIYr_eK58;R=&~H%guS*9zT4Dr6cPzbZickZwTQ+txm$-wih`w=zJ#N}rCbPr=+@=s^Rf)+Q&V15y{~=aYy3 zZ7#+_Ui=!~GyTREmbbyz3;?KChLLWbTtQcZzpP_Ai-vXiH>*Xy;chIHL1eg&NTf7p zh^cXJdQ*@bYJ6S1lRH1NS9HlYzJ{8<(|P+aA>QISmVPYv`lhO>r-C5;z?b4qAfK82 zn4Cd8Il6*l`ILQng4CY*iY9>}IlbDuqYl6OuGIVbeFRj<25i%@Hv!L&(B5CqQJ{pI z`hH)t+20K71Q#dP`)5aQbrB>1C9#4h$Ue)$Hs<>;>2lh75(bhwV#(U4b~gl>sr?R{ zPNq)x&hO)IiULlwl%OEQ_{agj^WgiQxQgfEu#$|R!?~AgBY-t(v->4#?)qr%^Y2U> zeyRGhqU-Ne-8CK^E#T|4E3^~6Dy=BCk^iT`8Bo0~9s!J3|F8$)0vW>vxnpZJ|4hEB zvw9^r|0egh3GS^!Ux77(ZSsJ8UDpcQB8up#{eg_qH#tmraQ&`043LSt8w7;Lwy&?} z_u63%^%jov>jZ&*e53WUz8Wrm$AD}a;-`MurRxL`UUq|G0VJ~G8kqI#>px~bzZ<8& z=+k35ySw3LK*gW889yEP^Mhl%p8=h(^hl%=WNkjo`e^W(uU=QKS~e~N5_oldZkKbw z?aA;CI7IVkYJdjKSZ&u@;ql`6Dw%z2thv}edcH(xcy$T+oW1`@zp~?)yd)5*tp#Cf z=~c^bb^pKyZd*BD#PIv*>PTwy>xN$d^J8XqD=C-y(AXl(fZ%Ls5LYKqZ}Nt2Lm~{E$M3uqOsVE3LT*S>F|&yvcDbi z%}8~#9dXY{HPe4;$MTJ^*lV{{Yz`E)${l@6ZaDC{)PJt8ebj|SpT`gN?_QT**gCi} ze1UG$L46Vi9wUBo?gRK;s4XAsJIG+2ogZS~8bOP~JGzqRz4yJ36Km^#@eW>)qXF*B zN#PxQt9PKUHHzRX?83qJdw2Y61na}&fm^qp{Dk<7+g$;u+K%$F$wPc0K5XcneTVjX z;%2G^u%Am^n{VI3-xvqBYj*r)ugovO-lRIWR@%LSzISh0g08*;9Gbm8zOL`t|K{_!Y{zq1We5LWm#T zx*Q8+(1361*>)kUY$*slalft~1K+rxQebDj$mf8k?9YI1-^}(c$+*nmZ#x_3yW5Xb z;nr{9CF}eA>HWOPk01UE`@7v6gd_objKIl?$d(DmJbMdGnTSN6M;#Q9ot$>o3#Bit zN`Prh;a!vnVNUIp07YYjvxomzNDD^)7ZwMy7>YmbL?wK8rT4>Du_E`wu7Iiq5kU!w zL^KuaJFRT85HqQy3rB5MUIZvl(9GBT_efqv{wEkC|M4=N0??fHBN!c`A2GuVHI^7X zv(TE}(|*#h#rBb_lW+wFn8l-24M{c)uKx&+fV~f;XLcrFz z#bF*=5rxA&nTcJs!xPVH81?Q7kIMN|RM)tk9%8(gbYC?TdPs*b)$^Ua2M(7l^UJ>$ zdsKqQg%TTk?rN@d_EQF|)p5k*HSN$y8UMMF)^^&j>&Hulb*}?QqE;NLV%UZ+>&lsT z$ckD^inYclr!oUvQqrHq$sdx+V#T;bfY=iAC(j)#erSqFo|C ze==kmj|OG;=vZ7UGvuYEMSa@0$zGinQXGgu@FtTk-||#tO=Sh;eokplFy%J(*YG(M zz6)gRHhxUVk*FD>K=jG{lF}mk6wud@m7!=BoXk@nx;f+uu>4NF=dG_n#D_TFmLld< zeax=k<^2XqiuNoFd+7C41Y^AoEpkn=Xi*C^m%`elUs^2_W@IQaG2ec1)`q8aZKKVp z;WcK$#!fHkZ#1)|mVncZ95YaC=#eq-)V)S=%r08ThVX!EcP9QiH(#F?nj-!aCY@9J zV0vw}SBLFlH86`I)roWFLxy55lM+eEe=aO=%T)tplNrzG9nS>3y48AnwjY$Hmh+(+ zrsD|qcqA8c3yE}A<+b(W3;-lfXM{!?Kgt40E+yZBlE~MhEgLr66bwy&{*4>foB>}p z*)fknjquEnRqteucVGG*6G>=cP0L8FUs`=+q7&?`=%B$WX<(XU0&1O=+$~m1HUx)@ z=g9ybklp!wPHw7o7jL&4*~)5e8E6ev4R2TgTIUd}*T=G{nQizsv zV8P8QXmE1iWv{wq?-9E*{3Jj0Ixt&HzmG>Ub~3{H(?5r4p)M?{pzs#jdGP@%@I2V$ zy50jrZd8r)b89|`VbN8KgqGqWk>Md^*f@a%NyxcMEj)h?0S8(YG8zz``@2TgR%E8@jSp7 z@@oAaTo~@RZkYovdD9u~^_I5EcLxQ*)_{MKG*om0h~9$4oPG--=^r_-vWkPBSMH-9 z^5TO@4N*CloWbzF%LM>1hKQStDtKf%s1Uk(N={x@6#cPe0 zv#hGF_0JDXI>F(?gfAl1Z0LgZqwzp=kQy#g!p*I`t|l35m@naX8~4rS3QH$=B=2iY z)ACUU<>7Ur=qLlKr(yk%SX@cJ@h{M&K2rnV;Jj`a#CI`-Jwsd25JaEl7iC~f5jWtr z$3h_7W5WbqfWV{dl%`usVn9wIf?^~U0TX+8s=|lNi_IdoIVnv5;LIt!gC7(}}MB)=u zbgDC8lgZASd&ih2rrwoNX_uDScf|b%Tv`_8#NGTk?%C8)f@=#K@Nu8NIetJ^aeo%o zt!`5-x5fVPlOeEP_V!B|R1gwtta5u-c55>v4Yfx`JPjF7zOL>M4P+KFPfwcv z9yHeRT)4f>{pHl8iNuSY)qA@BRhP*o5`4%ja0V;1I5M z=@7(bu^G|qZJy!a))AIV2@R3k`&n4icIG0!p&0(s({<>8AIadN3gupFxfmdxCH%|S zL*z|JiP%wA%5S};2eH2lMu)dKcBfgVMs!A%xLepM#_F0%siCTeIT^}kxr~V2jT)IZ z`4~rp7Kfzk!vWla!3u@9RW8=tWZ*p3n8<$r-O9gVNbXVqu z2eKj>X|Djqu+YV?PGI(Qw^I{{g>m;7`0zUIGVCC}P?n)9*J zP*Q?)YKEnH!Ng&$NS!koqraBgu+B##BO``SO0!*9?Zc1*i4ojcAwr?v2e}NdotsHm zN|S*!vF7QDsxfR&yzVJ}^dORPq~k48rK+3~&lq!;=>8;$W1fMKg0nb<7(Jnz@l2bW zVS%GG1wdklKdH;0G*{s>WR>q#1=@G-bGDPB6f6uo%UdFsM|$!rg~LBc08gaNeCq6^ zj_R`CN;}3KO!F@uCTBVo_%3bH!L}XL?%D+()g&!f$1?h_DE(8BB4pGNhKYT412=Rd zBxQ*paBlrrS;E{65|YL&1&5JtQQ=5WF-^)L4L~sreZhzgw7R@?y!|GC^5WrM#RSSF zmG-E~(71rdpz#+t&28?Gy`;xo+}l~{d|m#3Ga2jesXWRGeGQJq>fB0Q3Fi>3sP&Pt zww4cuIb@6KYBJjB6c)gWx*`7A6!On2YEbPTJ|gh-0x<|6k7(6GP;jh!ws4=;j{_?b z9{`U5BUY$OEXbfrRGF0Y(VN6Ym7Y2F@oK>HBhzX?6_1WiBcY^Ccp-^SL!yHLP0>O0 z<+~g0+~KjtAhQm-bOk5T@v4Bm1(rLiCN}z2T=!sqVsgnw{!e*hrX&6NjhTlYGt{QU zq@ay=XZ<8>hw|If@Z_m|g)kXQo%!+*k=A}5D z=-Y+`e^U!Rq&u(Dcd_n&;fA+u2Ha}D+HF4$3RR{ za2{5>e8yEoh0 ztQC}RGY0XOm8k0LpY$I!0hHa8k}wwom);yd4=aOIZbDf&jX+LUJVBqLCd>mf$$!bb zWNUIC8spzl@z>E-GG| z%XNAJbCf*ca*GYwGJNYibPk~mt?j#R^(t({xqd0Hjo`UfGgPksrR!}y0jCSPSu@x- ztrU74p7yD6RgA$)h+5#EnC2n%E$8cE;5WDb#<`+|u%hAvH@!28U-PG_atBy_@sw#U z5JVs<5<1nUOV&gNf`ieI_|Nb1pu!WY`P^#!>GK>K791$yyjQSYAA~J&-5Cu1JFUph zUNdcNqPN5nGG+L~Wzt6z5TPd+aIet}hQv1-o10@f-ow&Qe7Zdgqi%2> zXg{1PZdk%0eyXoD6_5CCUILWc4vZb?tSnife;`0BtX>SXj?}x4=PiXz&+Ye~*{wt+ zjt&b{nl1j~Y+*eas~3w)cK9201%>tk6 z%QgOgSwrJB<(}V!bm*FIfK9KQDZ4k(U7V%k&iN4yowwR<3^QD)3f#IT0Tz<8Kl0KH z%^hZU_w*p8IYaKbNL=xJsO2>}lV99Y65o+t6(MxS8Vyn;uvmM&CVl}nveA*9OU79( zXal)J^E%$>(Pc_?2Rvxn@+=p0{EpRAK*#qbWSEMVE-1C}?%6hGamwGZ`69Ftps92{ z$QnyIOuYQNh7lPPl=^pdenaww!b=N=lp=;<(R6ViApOloaEYpP7eq3^j3GShDbssF zDYmdg_s)=%&6kq|(zO%mF@=f372~&}y7Tmn1es@c<97pJ1uTro{QyN@zr_=o46G+Z z3>_l z)S~=?jT6#R1$fjeakSe$BfBLr&FZ2qc)6VqMoW5tTH}ZnWZT{q=EZ;BjtwF~=e|Khk${T}Kls9*o)Q{f}#^ky)yNW}C+4 z8t_c2Wu>WA-uNSzVd~W4quXaIxv+8XeBmZo2c>@~0SJnnb&<@gZ}?)68(f!=B@O2^ z?$@e+Wq5)!59c8$HmNOj4pJ7ea8m2`Z z&0iiMh&QM4aQ%~HEmWvFLrTbtmoV#uAB^$6&LvKscak@U ztV}P90H0vwTbjnXpm_Pf7%!4YCfe<`C-x^O`FrZ6Itwy}ro{kqjp1H6vST{)ld8`@3*02Z&|$G%D*`0- zyOYOUsR$-4g%3W@jfrEChaOH+!KGendfSh>`5 z3J>;(r)ufjjvTt-v0WWmNmUkbKKS$OJtMGs-8m=`6aSBESP&T(GWE`$iV*qM=6k9w z8D+VRF_~p0Zq3BvV6jZHv5F(doaE2>)_>Xe-}`ImLNfz}xCxRfo)P}yRgvEjkCF1P zKy{M~J*v(Ap!bF?VW?*bNt~xzp$qoW&*oIhRW>#7K{HbO2IM-*X#d<*s&^5GAKPJT zYHMvPq&^JI;R&5^B1>;NFyaEb;Hq)sw8~#ljG5`tfxNag| zYARl=*6i1zwUF1d{|juobP797oj z5C>eif*xA3A9K()vU#0tOwiJ>Ql5J?1_^?Z5=opmGCKeEFQ5D8K~J!DVRo;40Fb1A zHZMir=5V@8IW};yDNGt}pZ$r;AN57yyLd2+{k}*bMpu#71qSPGh6eZ;<~l9O6X2@N z(Iy=e3-(bxaKv2>)i@(EiI$E?JG$Le7khUSJSUE+*7q&2=cug7i5FlWP8EKCB7{Rm zul}J8P_HF-6bHY-kV3xXFW{Um0~QD^jlOJ$glI9l;Bv}c?`c+kTycuLi&72oQ3^na zOc<}>K``bM}fv zYJDvEs~y$T$jER)^IC&!A&mZ&!+f4!Dw}jntfm1GzWNlGf}N-nYRx!Ey6(b^YiN9y&v+IB_sW{HWpV=xj(v<}WjqPwnk3k*qg4;l%7AHtv+x z`qZPnOFTC6ZbpYOuf^*>2Xe4w5A)wOh|I zIlxc_p)Yq_w=qaD=3ca?U<+f{1AowSil}U}tbhN1 z0C7N$zbfOCd|obXei~oT3jO<@#3p}g4EDJF=QLJ}kALt;SzP1_c5|d#p098}QKg3> zy>QDG5-7}uK7e3=udz#|S}dKMr6$jqs6!(#Wt`4q4f|5->&5!$U|;Jj_t59ar?L#0 zXs%Yn5p3?JtkLfM^8$7wa@kLRqB#`a#mKw?qY`O{j8%Xcg!D>PXAM!S8hgnZ(CXNV z^j=^SI=)*dx5~|{#tqjv!6%gJ(m4f53L92QWuMK=lrSY@z(Et zBk$!9AD$~=G(*do{TS!uQvomu?$a6it7O3{XfIm6PHQUN1QKBns5y3j-hNDKv=u|X zUF4!Qjwh)!{+{<^sye%_V$pX6Q@Xel){)GAXTew>Ay_ehflwdqxbt=W7}b6$mW0LR)noM@0IavvW3+mY_&3KX`Ld)c!te6OR0;C2&V+I_9w>zSsG`sDVrWAGKHX& ziK}kmVGrL`6QJLG^M>pzE!@RSJ~cdr1eGQ6*bP7ydFpy!1@v!@HuWNl!1yMMz1xaw zUZq&VUrp+pKQoWqwjuepySHwDm)5G0K9RP;k*YEx{kiskOtL{e#*fg3>vWIQk94^0 z9o+WZ3O;M)b^`w0qK*E(@?#@bsLJ!qg04gA{`x-JmjJ6g=(4Sy@7y&ts|wOUu0HOW z2GE&y`P2lADC8)ns+(=Ewh*Z{0 z&o=z|9Jb1TM|zOfxnCKAaGQbedtji0CeZ5b0n;_Mz_@>xLss_8sbW@AQHJFwAw$_6 zMC14pWl99J6F)-k55Q$la2ksa2$zhzn-EW`ja+Cy0YG02@N|Xv0fu>f zKLoJFU)1NFxQlttYs8MS3vo_KkVKc~6MjRe>rtw^%9UFr-bu;T&r><3gb7;%Z_fi> zkQbu~LMqe-epBYS7*9ihuQG@bzx;?-$%E!Sxf2Hm$pg~yzdH;Xa05buY?%oTJiZkF{grnkLX?cFA%Vu z9kxQ9i98LVP_#?U06!u<-h&Z9Ez3=b9aa1VJ==7Ffz({lZi8F4n7#DvN;QYWVKm;@ zuVH+Mw^xnQ2akK<<-tOaII&Nzxbk{QULN- zCf3C9&DE_e4LLZiaPs2eDFkN2M>$Xmk`g*Ejwy2?D^{xPv50kHbf*WDp zelT|^J*f|~9nqawO%f=<(co13%J&33KN@H?Z^{+AHCA~VvG^F(9gbAqX}6<#9y$bn z7Lo-XFe6azoasJMkirb3P>;9HeJ$=}wt2@VG!g(_e?`=*zMVVdP(~Z4f@80fc|Wqi z@hZCcxmB7iZ3fHs>XO7SVTgwuJ+E)tr8RPUNR^ zvpWxd4)hOuAhwG0w$R*&^Unb+!ntz!%Qe~q&;jcb|Ks*i+P(gnx&pCjDuqIx!iWCH z?A8@|ykt#m|6s_G(rP%#@lsaJ+q8fTJK?;AnhzPh*SdVt&ufhOqe$}91jBP1v0eV3 zY9FmI5WCu}o3d}$zS)>9QiNuIFP9(p4)!-k4CuxVSC02XL0q)We!Yp`&9{5-s=P*; zyvD-A8Z2BltHNn+svDf2p8C>7i0F+S_Z1_qs1wF1#?3XgJJMKAknEDtyA;i%D4*++QqEf?l9y&_K6`_aIB(31a?FMbSD z=aLP~{?oh7wNR3Yhyf80ne=+tJWh7xd0Fl>ICOm31FX%R*HMs~%F!{^|6^;NaSbym z$g|GS_GGPMbnn+3(?jM`l8xNEQ=bgZDv7@j@e9K=#8z zQp=?^bCGLDo%JB*Ew3tk8m&q+Cp8ADAxBy=x9&xMDB*X4iK%^mzvj67KocJs#j2lU z;a|?O&V%bH+P_IAI!3N7HH%d&q)BKG3&{*n+&n>Nt__^^@vx*Cn1?*lh`$W0aN*xD zch*lw{<2>LaF|i;XF$Ozqg4UEbx9FNIe-3AxgkEQHg<)pwN=^Dj#_b_uQ1;nFobON zn_#(BF+(yW-k$w`xXZUAoWf@I(}KKOBmwea5Wb7_p_x((vbG)e4$0{gQ%G^y+zS#v zBE!c0(li=uBl9He(GowW+K;ga8bcvo6qiT{8? zAIF4bmhDS_!N>LGrFp-_u#t0hW%?1c>mEkj4ahugKKW(JLXMOe>6HG>1R0$lb$FOB zkT@2J=`?kWmm%&)q0*)~^f;SWw>^!=l)+uqti-*JAf-(tlF6x})?O~UGD~1%G_E)S zZNH+n<8URjF+zx7Pa2n5`8S?iX}|KeSJzRx27GjX^+ykSJ?}gmPfRqZe$JT-Xl~~o ztQR@sn0oR6)@0Uj3J)}x|aR0L#h=&lsA8?65$sf*%Z$7&?$L_(-TKIpQqFP z+%p?+P7oQD9@iVSAM2*He{v2JRIDY35C|G+7Ug6uu~jEP+(S>)*B3SJnbI}Hewxi3 zc!?x`%FXTg*fZvaca1J~eh@)cdT{Z$xiorlrb7~_5;V6^^q#Y~j`px+;YF;G4oYL= zr{5Ud$r%GJg!w{;1g#G=WnQn>r_e?!jPc9JkPDuT4ZE;r8D<=n%k^l?DHF*No~tg0 z`;i7CEp)wN6yZL`%n4_y{EUaPrMAY3c@Z9ecM;n1elGTHOA{0{&II6iM#jF%?G-6v zbtzZ4IjrkNg9|CmN3Nc1DDt9gHnoo!a+|UW8m0=Hsx2-7qVIU#Zd_Uco3W)-_mv zeg)}w#Rqw0s@+ThfDv~(4Uep1f(I3-_g;&p)C`k@pzNNFnu%_5w<%XV~2l<^*v+aIFVSPejak+w*-A=#` zPLR&<O(#4(LT29J9Ej`m z-lO%c`ixd{lxQ07a2)M`DV$!$TFqbvq9W~k}Y#4V}tU6c-rA5^*g4kg=vNqvq&rpq%L6TchBPm9S;9tSVeqM_Y1iaKObNP(Qu zY8HnF%adzD6eSDp+|x{^J8-y`QOi4<(H<2J0*Qd9N|O+sp5-8Wt(w_!Wp^4ey*4F zI+RB`tP8MQl_x0MD2R7R*EB&ErAOfA?Sn2g2GjbwgGV$K_7{B z9~*wLB0CyTbt3YP#W;R{OH4F0uFI*OhXIH0u0xmrTG^Vc=Mj53=bdZFgfDMqDSe>1 zI3zp&5j~d};Ykqm@G}L^mVqUzcHmD8!P(n;6A|cEY*#Y1k~9pCo2C?>Ta# zqS-ciFr-FNBL9P)+(X|)tB!sZ)=tEqvk$oeQcHBRM2B+F2g z=EkQ5-pnxy?TFy_tk4FHXYrPC)8P=+!0I{7No>@v-a#LjCDdU`?Zk;nIJrj5?+27Y zL=H@`B>A~XIP#RiVOg?5#y{G+@bTJ;?Dc)ve=pg5pyybBV*G(9LXP=c7V^l#^6SsI z8=3V1O%-eVWe?Z&?|Sx$`Q*Q%i9Oo#Pxf_Gtbb;csFNsB1UpK07M`Xx$@E_Ip_?uk zdD_Gr+ZdrztAJ^ybkfy;VI;qSW5=6`Y_TIDxfD>SIt(lXc5|Nf&ScWKH*O(>rv8`{ zYXDp6vDPVnebA_3W4*B@*Nn>d_YRofij6yR(al3ANk-sNFfO4T?jE+!7-5|hu~P6= zk##mDEDb(08BCIYrC0j|RAj=K^1>uI(p@na%*S*rT+=7sJsB)KXC zOnYm|&d zzNhAccp!?qw4c|WC!LQA#yTgbPE z)*g_hgvhKKDk8KCTcoiU@h(WObB)$YGevbMNYGS}o!;A29`swsF8lN=Ujak0x}c5G zAU%Pt_l4dhQgLcmK$b7B7o(fJ-wnKf#BP)QJX@~N=;e3Ace@bte#mXe#S=I*D_R~C zJUdW$Q9v_6?mIg38hMW&{GEq4wXfAv$CTS!Kbg!6snPQF5?on81!kA`T2|8IuS`zT zwnsxb;Sv~j={Z8M1a~<&I z9(}{#nKHLwrO$S|s$mc0`NV=fcnJHP`6=w7XvBZXi06uCsHAJ%f1Yx^b*^K<10Ks^ zcZhheK2;zA1zvVglqt~Oh(J(c`(sAMO}}5A>Zh{#S%fJ(Q_C$^lQj%Dn9zcs%*fV{ zbu2fWk_J$jF=*H+9M@d!{yXS@I-ALtjIFj!ArDbuOJSHuMfG$vF9s3#>;op44e*?t z_8vfRWpS3f!7TQZaZwb{o_h_!Jmfj&C2IA4PAO?ym31~gt+RR}U5yKNB#XHmW4$Xs ze=~U*9+^%cFc9wj&!3A*7(J*^T;J!MztkU?c9B zvenRA9yP5EB|{YAF|15~$fi|WQHf54W=lVl|1-eF1Nl9(DRd;Bm14ER(RGiFc7qet zx(wXePesYqeiFYg!w&j>K-$ z>&#>p`Dm>j7qb*UJF#=sYD_#_!HKIya+JNiE@5pGF7VGIa656DJCu=mchGwkM(4f2 zlU&IQC6<=va$HlYQlrsfrn^Kx3wiL1q0VK9PQ`14QZq%;-3d_&7?xcL zkKK!vzV^lfTI;B=OZ=i)L*+(jBM~V-I!F(;j#!rg0hL}Of~0BAb}t2lz{lfNdNV!= zYyK|0VRr*nm^Hme~s>VO8IGhoC6&U$3Um9di}yghh0%zO^=S*S#;EE#!Eiis6A>= zxj?2%w_Ry*>rx99U7(q^-ZCENq;{LZjSZ;1oV<<&_WDgip5@&~jo8-Gj$#dWWf=ZM z!|TI;Pw`2ofBGb=03d+Dd&%D4%ehr-8j`->zk)^T2V`^~wQ(Nq1{2X`EJhUvuRJS+ zf4s{iBr%Lliy^0oN9b2&@CzFQC5pozdZ`Z=7#xF$1={Eo8~88xtdF%k4kl#u2t-+gRWeVAnn%X<|LN}tJffy?&lM}i^H zicsS1uNF3c=?VW`>cG%GrmsS?6swwL-1g%*LBt3vXv0Jr0qVTK;1q`DFAkplNwg_l`j#x z%7nu+_PJmQf|sVR3%GzboyNv3+T-%fPAssRZe9J$6QXg`eg)lA@wdh9ycfBDU>2Fz zXRmnXGctrZ%*gf)Al3KF%ApJXBYxS<=fMM$U=R(2iF}#;qWk+E$nVc}38B(#^v=-k zOXuc|+^3VFXxJ9!ho1=2UD+m?Ir^*}R-W4$S!l|?6%8Xi=w45lOv$mPpV$h0SI>t) zhBB6*YbTuku2X{}vybrQY%Yy|TVRlHO2{|D%YT}mRW46goH(ZC7ymb0RGetw??Gkp z%S{uuU_Rd6wloeS=?}LL2HlaG_!;!wcl0W)TvoaO!b~9tU;LvO(N!OdsdqTY6d@M` z??@VePZ>whR-<>jwi+*#rFo>;$J2S=FW~dNbn`wVAP}d6m>BFte4$%^SK=u}^3rSA zJzKxvoNu>WWRNK|Qqxg&*VpiY9Uw|+0-^)`6KnN1bdm+cd-JHW9Pkm*L|KbO_~lOG zl$56~0u+Sv#kshK#$b;FvRCnJBB7NBHJEE`TDqz36I#f8r8Y>C!$&ZKtoo=%rR6^? zmA!7i+%2F|XBX1nlq_a{I$4^dND$c4ZxIQbo%)+F9D*XuoVcbvWzBtB*hzTQGYed~ z_vwZVRNtkr|FG=Oil7l`31*Mv1?QY_rxtVQ>3l@b;`*5UyrKYsf~(loWxS8ViA^ie zlNeCYI<@Rf_x#gQ9Z?@CF3Wc;$m!bye}c?j35QcN$HoX%xf_^&V_`d8gw>3Zd3!uH zLvADsyU7Hn^03GDA(OT7h9%B$j6?S7dNi7-MQd)IsPRx!+`^K*s6z!%WX0J;FU5 zcOSsUbf%6tNM_Q|^Lzu4X#|`1I8O32f4|AX|_<$3OG-wMY{rWyy zc-k0Crt=^LnKf(Y%QA~3MX!1|CV)E>&I^g%Tex308V^-}AJBm07vSqQ+XUPtPJLdc zjUdvd9tBRqDHt3aqe~P^bcNf;1XvrOPTT~2CT;EHbuZ~6NqD7o%}w}J)Ev_+!bkfX zM4RC>78=O)%lH(#mH!4sdK${f{?if*aWUja_+=%Z1OgpZf5ouqSAfV@m`ca{Or9wN zoLVJ2vq9E>J?@2-&7U1I(DjHHPL(q+eust%#x>NhAp#y@<~O@Sim66jk)5VoWaOE9v=8! zTw50YtU5<}4JaU7NSvBrE{us=H}wn>I2JJsops5hJkTUOfhZ6x!{!h!Bu_-!Jouio zqZ5?Z#ZN8?&6EIb89NZgqld!5guqyf($6V;UjJY&;xwrkCi}`7t7+S{LJ;`9pp?=a z;tDf=SH%;#amQ}8Idu#Ru*XgI%408tlKj0f;_Izfp*#6#`{Y6JEA+5mbB+(dsx7jOx^EK&{w?BMYGV)-#vg8)QxpmU{Ia_dUmC0u#rJ;!&i@fs06v34n zd&Kn=^f}6VMJZ-U*h9yl=(KO6g^DaNF$rRSxe0}p14tG{Y`qnz+)($47)0ji0q1&} z(FK%|3KiGzVu!|`(HT}wzQb09*kj<+ZJ6ff?_}G%b46B-ix*P+u0G}8lfAgOBQ0Vo z;nWK&=6bA;ygb{W2t}L5#UIi1%!rt)@pNdLX-u#kYOPoN{PN{QxJN8C_K+-~ZU4A` zWXx!0RsqP(nOk3U)pTSsc9B-hV*O~FIBEVm!>B#bo?$`~2wjgYF+t+V0htx?mBc&C z`%17byTy~t+~26PXzt*Lo63uthk)G|@zUzh2HNk};At)mLUIr(bn~g<`_}KZ34(*Y z@28D~;7`b;t;zZCOlIFpGhQ&s1Wt{Ar8+Q1pKmR_Be;T1=Z26#X1y1PNLR0|y84wn zIif=#QqfiSL++t`A%2)QO3z`cDAQYdP)6Nts81>ZhPtvniz}8?qE!F3=lWexNvc5) z5!R(hV7%oV$29_F)TP1?*wrJ%cg4P{7|rN9^4rKbo1;%1W~;6OMuNTFTD$#!M=KS$ zza8zJUGoW!R^fW+K!aht+OZ2|Z$O2k(*zf?MzVyw1agU>giM zgbSu^H36+8|RXb zF;Hi!yM!wdH%mMsK+z7y(eO2YC|%uy)=uY+;%BWd{b#~5g;r~18xm2xeP!@h&xl&il{;Xd$x)(8j&Q5#FW-~Ohs!!aKcKC4t|ZzWdCSN|9>*wUJp z(3CiH)|PE(i@{d%t@?)-g`Oq}emo5IK^jWZSBN+nJC7kLEDR!D^EIgxxV~{+1goyQ zAMR&a^7-3a>+gRJseu$Z>P3L-n-@&O;IjH@oi zz8mAimE`~_S}%o^?1-e=H6?!p{Gh%9cA-Vk-v<=#lvz||-ha%F<(c3ox?p6v?vq<2 z5yZ9KTb?(mb(38x$Y7%@vbR-*FdcWIxndCLl)SJYyv(o}ueJz(*DRn5wZ}}TQR(SY z-2q0es=1lZLc%SzmOcdgXM~4C-!@k|Ct>;h@-=f@G%DtP|cD+L)3Xu7eJVXeZy_ zh-fzt(#Fpp^LJK%U{Zc$^kEC_$!A_cSMo|M=n7vW<8zrcHoy!rf1ORnCdat-MnP;Kf@ z(|Zhls@!~k_eWsn`UCz1Ke>-DS5i>pX`2 zyZ{IgS?sFZ@wA(>c1Rypf;YIIRh0b-9orbuHUdKwPSttsLVv9gPlY4Ks}4e ztDq6(L-+gxW?<}qO{L3X=-$O}fIosWQ zGlnimoWT4%4kCz*b~3Zq%7W9;FP-Sn2;j+w8Df22dA?=YB5OtW)3k92mhdE>NdMz6 zT+Z;MA$xX1_6g4L&thMbF(^PZ z0F+7AJb$`3eBVQ3318?ML9@4akUfEs^aDg4|B%sNeWB19yybHJgsG3b>x+o<<;OSLaGk+IEm;%`w4v2p&ma4 zP2W;&PUWq{3IlsZsU)+%pn84^HmZuUvYf5%e62zC!Ow@RLfP;*!L}p1(xDrhN~>e_ znbbpnew8u|dVZ{^L21$=bN68dzl`B1q7=qzCPhX*%6f;0jEV7o4VNA5d+Nf;EyY18 zjqO7xS^hfJEjX&%cZU)i$Nw*k5p(WY-74a3F;O3d($a*{y*JkqcbtmOQQhJF*jD=D z$Z8q`KqSy)*Ro&G8pG#@Q0BuI_LJT~eSi%FTf;=#)V)~EeJ|upj(wuPpVvuKzw0-GQR2fGW)I8oHVs z*?E2iW~kp_C$Jy_Ou2z+$@=mOcGk_%+pE7a#pAV8=+zT{ahpVE|1P^+bcr>CV*-YR z(dS1A$2gdtliwJD&*KgqeUR*10gn@lL(l6>FdkKw%=&d1+p(WTkvDF0)|x9~zi97+ z#+YtIEm2TIPV$mvSjC*5z~;{D_jgaQQ3u%WMj|MxBaYHNeZ1dV67oShf~(Kcg=u5e zygQ4rJ3tkGHVCiUg$zimiFdcaa$q9R`7Jclp3rS2a$!l<9n6PO8GQFIlFI$jse+-E zh`K36zffq>_PH_|*%azdg0->E!9`veqfi_(uN3pq_Bz;TgC*$CsFi7}pS5M0_Z8C! zs4bby{pS;Gm!t#`AV-?~(Gf4t2D&~qhxPGcKVJoZ-i{Obkw&1hpyF4~$ulsaNyXV$ zDj={}8b{G9fVQDcE=U8UecVN>ft0?V%7&dqvDMA>K0@YfT?2M4oS53W8hbT${0?hs z0>SdEg37WPy=aTp?#@r+DG&LwgM?%p2gN-9bQk&`IKi$tMnyTmva+wRJjrei-tM30 zCilUAEnFi(8Kga88Odb47ZrdddNEf0cxO(EcLt=ic+x*e3#C;CL59^rA^DI|Bk9MA zCta3hl@$iVhA%DTIG;a143Zkxctdf z#Z{@WD(MBq80Iwgc0KO(pRMO4iykHwGUtAOV$Qcpt9W^Sxi}d}vf=64vd((;eP@-F|FTv^ z!YS9AWju)_>WR7>%9d%!RA#2_+*BIvD6RW5kc@LOte3u??oL!I&dh3bbo||X$Uo18 zZNHEQ1nXdFR&>ZVprs9qyDkp+Lgz%*@>q@WDlge|wQ?@9CPhxtVj7n7K~0N)Zv6<% zz8N4wp=KRrY$wEqPxhE1h(Fk%MrQ_*ejy$^ZUrtCm$gDUly>XN-M>48ep5A_aSNyUFsgWg8|({tVt4B3STTy21+J$@mV&`)Sr<|EdaV<#&rJ8*oq#uShr7 znjfa7Srw8(Exnlsdq3H;py+pRbt_hA+4~`1s{hRi-pRK>;;3L%NMlXMGn0J77Kp+F z#*sz%@(sQvYV7`XykEwD@f~I7wjRpdlt~<4@HEb*1kL`AyYL4Y#LR6%2js@=-Y8}; zd)BBCnSdTXP5NvA#i;&DXdzUczYLIDp7~XfBYgSa_fu!bacGKBdxyc;Mc(#@F*A=* zG2r;=6?QebNP-ivGMO7ma7C~57LTwQr+4{tSx1q|Y_HTsDWWTX9v&M{>tw45P;~#- z$2`9Gaix?)er_CV4;A|{0^52$*%*f342`p57ar!6Uwb<^JJ~T2*BAO_$vy#@D(Cpn z#bcmez5fR75#`KN<&E`S2|DuQR&sc}p|@W{n;{btHJz`55+p#M-8dP^j5%G`!>t9} zUeU9N_<_LQNWhzaGH+z>>#j$+zSAdv71a4{LHDsza4&vHxiM9z-h;EI+<&i(C20|A zq-ORLMbJib9&M-wcE4;`)4V!%YKI2 zRsTX3;`Mq6;7dhgi&~Rf9Jl7Ov6$;`0I9Ua%OBov2>-2rYCdBr0j^_ilmf4%bnN_k zx~mhW7MXfHJ9=hf3?(dD!)nqRHjRYuOaVy;e}OQ{pt$eMAl?T_C&N6LzSE#S>#{|OLilH3+Q%1@Ugvrm|8 ztS)@O1;n|fZi_@JLgMW9B`zMYE8-z`_~NQOI+F?BE=j#^)+j8TauN_dlvRW%By;f& z_BtQiS3XatoPJI2qJRMt0>`sW^}*g)fkGGu{p(-cjr|D%h`d)7Y`NpfkORE zsw1+0oPtMCbivC;&S)Bn?-*6fT>hm+0OW9yQ$;}y-#xW*{!%6vrGPbX_DvPZ^U+H& zy4C$Mv8=;I3^kdBk?)=Ch%beTK-L({P?#2O7M6&F#>6?^R|*8?l?dGhW9gh#YHkLM zBl%Hc%QevEr+cGw^H(c%toCwTVHT`Gv_D<3o;{ipB332hx%6{`- z@C5^W5HqO<2eDd|kqXOUy)|J57sjQb!k+q@MhQAyLW10Y$R=UN;KmWuG98BS@+s{Q zPvV-XcI&O}L5(hTOj^$@9Ud~?4K`##%j?Xel_{ZGUivUO%GZtGTSh-qcI*?>f=p0U zX(~PUPA**eLds3DGO-H^qjp@(Q-fB2S%%b+x-L3iT)4dh)L$JT|0pBY;3f6PZX*JV zqCL4nocmZKjPc|p{`>O>BIh6*YVI4==l7Y<8X$L!o1O=tsdySnZq^Jdl3yHPzr;8M z1N@+}oBILV&lD)0G|^eja-3}CSs~{&8dX_I(f3W-_;u+*14FGw9PSzahz`h&F|Fo0VH~Q|KEgSodvH zTIo{;;ACiH%I{q;KzZj=f?nBwMph{sm0A^$HbGg9t7rb%j}27WIVUx*L3l=9Cl@#Oh(#!v+eTaguABMmv z@ZFDjbCPMM>9*!WF$V$h>cAbY9y+dGlYYF%ciX1{L?XA9R6#-91q6>GSptIW7i-qFTq1)*R!uG*~a(mPINW(NKI0G=X57%mTZ{Y7dY!` zk>!2cf&zLS>QelK9?Qmm&gxz!!pD2FVrz%b3h*Hi;7}xVHwDjtOEzp9^FqFA)bZ7( zGt1fO$)=^Q6;2-|a|{G0#Ulo_M;;jZ9P&$U4-x$SsEsu}#08{gkQ2cpdLHt?VlrV0 zJ3a*-hQyQ)$Ld{GAtT--IPdUJnp%s*vxq3;Bb3LiMmN z%4n%p@ID>7e=i?@R@w%gC+7%6hnL_zfaO#oBxZw76w<3SY{@;gCC+4_S!#9bdq+wT zgWDZ{aYTk-RT+Wrpp=J6EEXYmZd+pU$B`kzbS3lbnv0#*6le&|b?lJ!iRRU8&FIp9zR+B1!WN;X%3NR0_sFd)HcXSZq zO$z&rtQew(}dBr2Xhk|Kn(Q-xHm9N^~XRV!h*1yAi7SkG4A~}Q!1L9 ze>@lNhF%xpe~hnQerbNRQsC;tq^!+r8zRwlgSVD6n1cfBE z!xUB4d*lEiFEs(OR>(5nY}ddDR&FX`lUE#nIOeS?CZ#FT6atOD<1vi{yxgmX;K_}F z3~qB0PF#amt!o{w*up?07S|Z2OmJUV4RysVQ0p_$^1Z-P#gQ)CW9JIR$qmY|fG4UN z=QPj`Y2Wu2T`(9g4!HVQrE35~MYmbgbyGO+04k|Sw*kXur-17N>!>>V4dqWS1HroWjX zW>T!Zs$D{E^;9V=(y5}be#JNpUf=wG(+*&nbNAe12Z@?xA3|H1x^DqI5n5>x&suq3<(4XXah4i zH@6pY1a}JqGdMZ7@QVZr1D7ck0u;9nj|BPx12Q);myvt~Ck{C?3NK7$ZfA68AT%&D zmywnPDSypd*K%7&5`E`a+(&!2#L213e~Gkd>@-(3O$_-?maF;oDVOQ9IhK#&@iYjFpbEG8TPNRaSX? zo60(aZ(G@D_jL4?(+ba_avt+ys$8;_PO|b2^M8`AJU%*^DtOFGu8I=-Bws~?c_~)W zW1p0&B-5Ues!EW@NRm%ua|r>Z)2O&gDQ!>*s9v{1)z~yx>caGheT>GY(PABq=}E>t zgMYPDGQi7VdV(Ux002o_7)BMdu(4L?HyEce8lVCMtsxsXgNoRnX#P|j8ilst8Lva*L9SRQ6(wgGz?Nj4kF;v|!kREyw;1=x!5fSr`GzzdWF z9}F21l_0?~GMggVHQ7x|jJL!Q{0ERwG2kfKUppuV^_31L?kOTvA~w<1hOkor8h?fZ zaLN(6h(e0Q0boQejDV)Ft`6i#j%MIv6`6!8L{}o1wNdYV_XqI7C;TC$yhp{9iU}1% zDrzdusaR0)hqRKu2hFJCZu9+S%AAT36(4x$_j^D5P>C0ncr<-Et;GH6yLmlajHZ)) zv#-9de*Cd7%2Bh>Cn_$Q)n-k{S$|WTG~&&7ZKKz>IqXlbn;p*kdv$s@>~QhEv&klH z4w}^%)6+(qcHLp~c+qZs>0TRD`l&G@n_zM28fJZs){LJUQHR?kYL?ot(91@bmN4@M zUtV{7WoXSm2(9@Wpfxvzc6d5CU(~aGyM?%C4U*%XUNLBDqt?T>TheaA`F~{}&eLXx zX|w;d@%B+026k<8YYy4$a0`@N8pW+I{h%@HpjqbP8w}uf8(_W`jaz$v?gz>?n6L6; z*Y0{(Jf1gNjdzCK))U<3p!j#kUbi_O{*58XZH|`hvDrH0pxJfQY`D$rOGf!!OSdO- zORM>n8Ra(_;9;}SYH;jw>witNKKFfG-(+xpUQdokU;eepCtBj1^sQWP$TPM_i+^oG z=gEd(KkNHjFXI31l-Wm~`AsD<;(gaELrVMhPppcR&$_U$Ik_)$f-0l9&FXzyo}=@q zQ-3=$_gf^^xEY{kuyW}11e69lrI4_T{RCY4oNu6^=uoehf z#2QyX&$Vodw!dQ@<$ocX=8H+0+lHtyw{|})pXt6# zv$%u~Xva-vpYJn7HfYryhl?5j)63CU{^-sc-5qVvgaVhjCE#ijWF)g_ZuLZZ4=o+; zwl2c&Gz^ZKU5LbG8bEb zaQB9IT+&km5i4sX3B#*I+C+t21xy@Hvv2X@?(PnU9$s7vEmpj^>m3|Y=s}@SyvRYZ z;!qq8=a8egYoWA!<93KDoCExp!_ma1hO?Eb`nPetA*_mHbEs0yk}nOOWIXd8g5h9=uCF+ zcFObXa<`ur@5e-_(rmz=(V1p+bbI(*-%kY12RTFYOnNrz+3OwNfDVK*8Cci$4vOvH zr`#XQINJ*JVWZZ|7{1V?VMSb7($J)i06dp{iXv`bUsA)kaX~aGmOKoC8=DKKIH=@8 z78g51_bMH1<?E=3~ zQQ1(36%h?3;K<@$(r$)2zq!8YEI>$`p|T+Ng<(dHIUXfy&w+blC`lU@IA*ff9Cp@} zpiKt^rOBHhv6|MzwZ{Mw=_49dnO{A+X?H?r&=AhH#3)K(5<4WF_dp=C7yrd6x8Cj4 zgI0SYy>ttXF5d9jmD)nT?!oFl=4A6{!$c6-$kO_S(1Na%Q8J*t3!yT7T=(kP@1KHDgrlc1sV@e#O zG48f9+^TaHREL6wa{rd)EjIYoXpS=OutVT4Xp zcWZM1%{+KW#vt>aXsKzC`&d#tw|6RCNGh98Ky!#Odw_*SBkC{B9VpsPY&mGpF13C@Ku8xLk4LdO`yu0A4=St^rb6C_8 ztib8`#L#9A;?xAh!0ErM3`~z4_HO_O`D#a`AX%x4kprpldZ=0Th4F}s&^(O)X*)$< zeJNe%mbZSE+d`F&yjprx>xd#?X32m0<5~~AVXM#pTyhBX6N=)QDI9fI+n(M)I7sPd zgtn%ySwc2RTlob=fzP3rHhS&1K~}HVR(;_uZziJZr><hJdNF6H*AW4}j zqBH=g1`0ab3T_n&*|JcU*0)i{c9pCt1yep$In5l^zavurG!zgny61c}z*H0QYu^c* zXlW7KQx7|KrjiaRQ?6hUhh0B*Nkec6bTv;{usm}o>TrhS`$s(=xeQzgoA@diylpGb zII7o|4(&|-Ev+Sgf4G~Kt}e&1?#a+7AkEA1z{wE4RK8wRW8RYB>6P0a=p8W0aK5nnQzWj!F zqTfzhvr6XGCv!q4Yv&EIn%D{-stXWWn!xHwgr3`4(rHi#=(1Ob`+8*b`fy z;&WI0n5ifTBC*qA6avxdE#tcNW7XYR);LxGwfO9VOW#cB?LV_PQpn0V3Kp*5;>VkZ zvlBzawGJo{GYL^YV=VR7YPSK8ugbLaScsy>qMnzY&(bf)3OJ}E;WSAF>-G3CV7XBttJ z+KR39(z}ul5kixI?PT9PrDc(w=G~HaJRi>Xbsu@MUmtbB$RN1d!p>?kP#RexDf$D9 zil4%H$49FobDUR$YDBxKkkoraFKfmNO&5GMo>>e^c){RRY4MYBdO=me62E_eq~2!& zKAv|?JJi$o{%&;wTjAkvIT>+%z^_VLZP^XUNKfnUx<&r))U8KtPDqs2);a0*g%6^- zR?|L1;4F>;IRz2r^suI4Jaab9mbtRijjPp)@bo8FebypfXOmMv-?$C`v>gsUs8iS7 z9v=C&qpB24) z=fg}&bCvp0i$dTyi{iJHQ<)S=#{v<{77G;qe4$d06aG(6G%JP%p^93|{f58*@1vb1 zn^v>-%b>sSq&vkJ_Y4;`zX(xv;^u=lR!UAh((w>?4Gg1H$1PU_qBz{+YS5I}z&DEo zJ`dgYKsm-2^46zQLz?k%{w5O@%dq7nl(CtB!C^MiNZNZ?ZcXRL-jK!sB<=o_5keed z7Zm@|P`8UzQwufNDxw5GYL6vUGiW+ioF1KNoYexMTzR9*qQgOgi$&|kIim~(za@a0l z(-qwObNsmRE8Hi%nAhotE(QCxSglqQI1BM}{3G=yuL)1?&y@QKzkv^l7VU42*~Gs| z{U+QJKX-pv__}>``%PLZIslkCMzvu!>8>YBlZst@eCFue4$L{#hW?R-@Bq8~#|4B+ zYdEc!0mMJ(Z6TU%>tDK9`5(Nf7T+0| z!M@i#<#R~HDr2kcps;CP_B8$wU-2!og}{W$Q+4hzJ%Yk?oz~7Hx2~Mct&QR0XJ%~8 zaGRRRe$&w2_d{Zc8`KlQyC3vJ%Uo*3E2<`IX4pva?mOoBwJ}D=LDcbgGMg8+H9@2! zgbn-o%+*?zv*)Uv8%~Et(er3%q>)xWk=MC$ z5Rcc!T1#{`^E{Pv5wLkG$PH0u1^hQ5ezmq0SO&hdGJCjb1??pBIuuw9DnyN(C5QyM z_F5`H?#f#@OQ2^fMx9gvAzXz%C%9`R1jq7B!C$vql68f4sNT!TPV6YT=>x{srvQs~ zJNY6aP=J_G!hzAfY5aTM5OBfP|F9e*@IROgy|$68QJ; zx|Eo*(1tY09WS)AUQrumKtC(!aWIXG9E87P3$g76gT=Cn+NSAsY&De$h0EXHw2nV-_Rr# zmA7JUd9-7OIh1L*IQg;Fc%CR{pkoX~&+#a#%!j=)ZUOKy^YcLIorXy^`#2~pzi~sf z6$?rpa4aQoSelJn!fd#KJZ2-4#h5&FAMHO_2pdM$+^R^575oc!E& zxLj$KJ(GtcJ0U+T|E_SfB69!x`MK-eMb}M2)q^`z+q&x=tZws)5zvghX5r*2RnVJC)c*oDBD1=*G9G0UYrib#*aNX_t_ zawg|vTvvfZ8B-J6PKCaLee71$Z-kez0$!1Y-gc3@?jBTsG{+i*CaT}ArloUjovso6 z@o)Z3Qn6zZH(m@ViS_daoW~M31%XjXj0LOQENC2j7G7Y?L-; zwv5%3t?pB$hPzH$wv0(ZWrqj%IeqdjPIHLm$p(D-J;be=m zIHlfn^|RFFz)&fnXCv=xP1#XJ^y2mO@w&D`!?>%QAATW|8>a)0UkF@s=HL#G*Sf|R z>1$UwPDxUBIwVzccBSdmU++^GN@J&1BJg$hA`G_qIvWu1uc>vOtgC=bjTUH&y5-s^ zN69*x)4&IQ=_hWBQM>fdA20VN{Wq5qCSMLN_nygA+c3L$q=h@aX*TY9N$+gDnDU-? zD_|N%N?DW29NVL8Y?c1WGeNjZYP>ce%*ZXpw;}@EJnU>Kb`bTqwNU1^!XGiVS(-10 zPsNX_{80hvI%>MOOPqfl69IiHmcEAv`k>er=zgK>9}vPJXu_SSgGI%k-IJk{jNfw< zetvV`%H+rn8v7-+;6m_Bm0~a^E5hmak~B7%hY1fCx=i8{^EXnum;ymMQm(@*n3&syG(+8{Bl zbE7>Hbebm@=A=ctB;z!*t{5#K^pHYH#Fx6GqF+=&blE2#L)=37^ zCi3^9&9;KR0)*gdsYImKSm&eg1@O}i3ZQ|kB5TQ-YfR%Ps=`!!8;IdOI)+ndmz>;tFYc+B*a=n+r3G z0Yofug$!JR9R6wI3cY4F2QZ5=10Fl|y}W!q9$o5Ek89}vGsV&Cam+uK_8(4#*<4l_ zC7al+(#9DU|3aevvXaR2^Ot zo+-v4!SF*ft0kH9h4gQsT4-KZ-tO1kh<6h*f$+KezYd4~9XF!&Yr5V1o}rkce1{v< zD4+V#KXq^f1ytYO^XNXQ@Y*QhuUW!4lnCVekX;D1Fc|g>DfwD#{Y4Hd5h-DZ`4WSp z7Edh9v3csvA4^WI28iU>mKV*`Zb#vb?YxE4e;7Z788>Idl!zgf`^)pt8(PQiOYeSm zTa{Fj9irbTQte=2KPTG3#8zYiVqAAW0pepR63{OM!A^wTFmPii6oM&7E_|zoL+M^AN0E0qxrj} z86=Ts;<9|tuS$I-|JU3=CLD_~oB+A;r_Fr5wbS)2do&I6sU&L2Wp3W18rD^H^rr09 zXXzMECJ)}tkY1~oem4!8b|&)2F1{@xe{1@spF-jonqWFwGu5&yV@F(I zYVZ@|FjOnf9>0N+uduV>+BpVeqIpppHbMNaA~s5eVM%cxm+C}JkSD>oVYXGQcRx2VNVCtu z8_McJ^y=9GtK9Qhj7&{L^w|J^3WUT6={bF;Qe{oFD__7ns38;m^SO)*cGA6{ie^$t zEkA%`=3RDDgHDveOWQ6Tn10AKO`ACrPn1*CbA>WoTIiD~%`!1M3~_xUCx(h)Zg(ZzQFXNS~6w}<<`a9wsqfD?YxBd{fON1Ldi~Jia_Z0UVrL674%mL zg+S2BZdySb)tf|~wq1@a{f3R=W=V2^x4U-=VC|4gDi_|M-Te#l)%*x!O*0mQWF78Q zVy=8`rSu~IXxe8iq)O}&8aPSBtS91%K%zLZ(w{NEZ1>}vz^4FEl=BvD~u QF#r&kg9AfVPYw6K0J>`+K>z>% diff --git a/thesis/references.bib b/thesis/references.bib index 3fb3877..b38d24c 100644 --- a/thesis/references.bib +++ b/thesis/references.bib @@ -219,13 +219,6 @@ file = {PDF:C\:\\Users\\danwi\\Zotero\\storage\\GKAYMMNN\\Memarzia und Khunjush - 2015 - An In-depth Study on the Performance Impact of CUDA, OpenCL, and PTX Code.pdf:application/pdf}, } -@online{noauthor_-depth_nodate, - title = {An In-depth Study on the Performance Impact of {CUDA}, {OpenCL}, and {PTX} Code}, - url = {https://www.global-sci.org/intro/article_detail.html?journal=undefined&article_id=22555}, - urldate = {2024-12-01}, - file = {An In-depth Study on the Performance Impact of CUDA, OpenCL, and PTX Code:C\:\\Users\\danwi\\Zotero\\storage\\7CPIZPCF\\article_detail.html:text/html}, -} - @article{bastidas_fuertes_transpiler-based_2023, title = {Transpiler-Based Architecture Design Model for Back-End Layers in Software Development}, volume = {13}, @@ -331,3 +324,71 @@ Publisher: Multidisciplinary Digital Publishing Institute}, note = {Publisher: Proceedings of the National Academy of Sciences}, file = {Full Text PDF:C\:\\Users\\danwi\\Zotero\\storage\\6R643NFZ\\Brunton et al. - 2016 - Discovering governing equations from data by sparse identification of nonlinear dynamical systems.pdf:application/pdf}, } + +@article{dong_evolving_2024, + title = {Evolving Equation Learner For Symbolic Regression}, + issn = {1941-0026}, + url = {https://ieeexplore.ieee.org/abstract/document/10538006/metrics#metrics}, + doi = {10.1109/TEVC.2024.3404650}, + abstract = {Symbolic regression, a multifaceted optimization challenge involving the refinement of both structural components and coefficients, has gained significant research interest in recent years. The Equation Learner ({EQL}), a neural network designed to optimize both equation structure and coefficients through gradient-based optimization algorithms, has emerged as an important topic of concern within this field. Thus far, several variations of {EQL} have been introduced. Nevertheless, these existing {EQL} methodologies suffer from a fundamental constraint that they necessitate a predefined network structure. This limitation imposes constraints on the complexity of equations and makes them ill-suited for high-dimensional or high-order problem domains. To tackle the aforementioned shortcomings, we present a novel approach known as the evolving Equation Learner ({eEQL}). {eEQL} introduces a unique network structure characterized by automatically defined functions ({ADFs}). This new architectural design allows for dynamic adaptations of the network structure. Moreover, by engaging in self-learning and self-evolution during the search process, {eEQL} facilitates the generation of intricate, high-order, and constructive sub-functions. This enhancement can improve the accuracy and efficiency of the algorithm. To evaluate its performance, the proposed {eEQL} method has been tested across various datasets, including benchmark datasets, physics datasets, and real-world datasets. The results have demonstrated that our approach outperforms several well-known methods.}, + pages = {1--1}, + journaltitle = {{IEEE} Transactions on Evolutionary Computation}, + author = {Dong, Junlan and Zhong, Jinghui and Liu, Wei-Li and Zhang, Jun}, + urldate = {2025-02-26}, + date = {2024}, + note = {Conference Name: {IEEE} Transactions on Evolutionary Computation}, + keywords = {Optimization, Adaptation models, Complexity theory, Equation Learner, Evolutionary computation, Evolving equation learner, Mathematical models, Neural networks, Progressive Evolutionary Structure Search, Training}, + file = {IEEE Xplore Abstract Record:C\:\\Users\\danwi\\Zotero\\storage\\8PQADTZP\\metrics.html:text/html}, +} + +@incollection{korns_accuracy_2011, + location = {New York, {NY}}, + title = {Accuracy in Symbolic Regression}, + isbn = {978-1-4614-1770-5}, + url = {https://doi.org/10.1007/978-1-4614-1770-5_8}, + abstract = {This chapter asserts that, in current state-of-the-art symbolic regression engines, accuracy is poor. That is to say that state-of-the-art symbolic regression engines return a champion with good fitness; however, obtaining a champion with the correct formula is not forthcoming even in cases of only one basis function with minimally complex grammar depth. Ideally, users expect that for test problems created with no noise, using only functions in the specified grammar, with only one basis function and some minimal grammar depth, that state-of-the-art symbolic regression systems should return the exact formula (or at least an isomorph) used to create the test data. Unfortunately, this expectation cannot currently be achieved using published state-of-the-art symbolic regression techniques. Several classes of test formulas, which prove intractable, are examined and an understanding of why they are intractable is developed. Techniques in Abstract Expression Grammars are employed to render these problems tractable, including manipulation of the epigenome during the evolutionary process, together with breeding of multiple targeted epigenomes in separate population islands. Aselected set of currently intractable problems are shown to be solvable, using these techniques, and a proposal is put forward for a discipline-wide program of improving accuracy in state-of-the-art symbolic regression systems.}, + pages = {129--151}, + booktitle = {Genetic Programming Theory and Practice {IX}}, + publisher = {Springer}, + author = {Korns, Michael F.}, + editor = {Riolo, Rick and Vladislavleva, Ekaterina and Moore, Jason H.}, + urldate = {2025-02-27}, + date = {2011}, + langid = {english}, + doi = {10.1007/978-1-4614-1770-5_8}, +} + +@article{keijzer_scaled_2004, + title = {Scaled Symbolic Regression}, + volume = {5}, + issn = {1573-7632}, + url = {https://doi.org/10.1023/B:GENP.0000030195.77571.f9}, + doi = {10.1023/B:GENP.0000030195.77571.f9}, + abstract = {Performing a linear regression on the outputs of arbitrary symbolic expressions has empirically been found to provide great benefits. Here some basic theoretical results of linear regression are reviewed on their applicability for use in symbolic regression. It will be proven that the use of a scaled error measure, in which the error is calculated after scaling, is expected to perform better than its unscaled counterpart on all possible symbolic regression problems. As the method (i) does not introduce additional parameters to a symbolic regression run, (ii) is guaranteed to improve results on most symbolic regression problems (and is not worse on any other problem), and (iii) has a well-defined upper bound on the error, scaled squared error is an ideal candidate to become the standard error measure for practical applications of symbolic regression.}, + pages = {259--269}, + number = {3}, + journaltitle = {Genetic Programming and Evolvable Machines}, + shortjournal = {Genet Program Evolvable Mach}, + author = {Keijzer, Maarten}, + urldate = {2025-02-27}, + date = {2004-09-01}, + langid = {english}, + keywords = {Artificial Intelligence, genetic programming, linear regression, symbolic regression}, + file = {Full Text PDF:C\:\\Users\\danwi\\Zotero\\storage\\ZH9LAN74\\Keijzer - 2004 - Scaled Symbolic Regression.pdf:application/pdf}, +} + +@misc{jin_bayesian_2020, + title = {Bayesian Symbolic Regression}, + url = {http://arxiv.org/abs/1910.08892}, + doi = {10.48550/arXiv.1910.08892}, + abstract = {Interpretability is crucial for machine learning in many scenarios such as quantitative finance, banking, healthcare, etc. Symbolic regression ({SR}) is a classic interpretable machine learning method by bridging X and Y using mathematical expressions composed of some basic functions. However, the search space of all possible expressions grows exponentially with the length of the expression, making it infeasible for enumeration. Genetic programming ({GP}) has been traditionally and commonly used in {SR} to search for the optimal solution, but it suffers from several limitations, e.g. the difficulty in incorporating prior knowledge; overly-complicated output expression and reduced interpretability etc. To address these issues, we propose a new method to fit {SR} under a Bayesian framework. Firstly, Bayesian model can naturally incorporate prior knowledge (e.g., preference of basis functions, operators and raw features) to improve the efficiency of fitting {SR}. Secondly, to improve interpretability of expressions in {SR}, we aim to capture concise but informative signals. To this end, we assume the expected signal has an additive structure, i.e., a linear combination of several concise expressions, whose complexity is controlled by a well-designed prior distribution. In our setup, each expression is characterized by a symbolic tree, and the proposed {SR} model could be solved by sampling symbolic trees from the posterior distribution using an efficient Markov chain Monte Carlo ({MCMC}) algorithm. Finally, compared with {GP}, the proposed {BSR}(Bayesian Symbolic Regression) method saves computer memory with no need to keep an updated 'genome pool'. Numerical experiments show that, compared with {GP}, the solutions of {BSR} are closer to the ground truth and the expressions are more concise. Meanwhile we find the solution of {BSR} is robust to hyper-parameter specifications such as the number of trees.}, + number = {{arXiv}:1910.08892}, + publisher = {{arXiv}}, + author = {Jin, Ying and Fu, Weilin and Kang, Jian and Guo, Jiadong and Guo, Jian}, + urldate = {2025-02-27}, + date = {2020-01-16}, + eprinttype = {arxiv}, + eprint = {1910.08892 [stat]}, + keywords = {Statistics - Methodology}, + file = {Preprint PDF:C\:\\Users\\danwi\\Zotero\\storage\\3MP48UI3\\Jin et al. - 2020 - Bayesian Symbolic Regression.pdf:application/pdf;Snapshot:C\:\\Users\\danwi\\Zotero\\storage\\UNNZKPRJ\\1910.html:text/html}, +}