From 95b7cccb11541e2c4ca9f321bfdfb3deb59cdd50 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 18 Jun 2026 18:32:27 +0000 Subject: [PATCH 1/2] Add N-HiTS-comparison traffic example under gists/timeseries/nhits Forecast the last 120 steps of an hourly traffic-volume series with NNS.ARMA (MAE ~236) -- no neural network or training loop -- framed against the N-HiTS deep-learning forecaster. Includes the script, a README in the gallery style, and the generated figure. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01MxVLKYqazC2uuAW3P3MbAm --- gists/timeseries/nhits/README.md | 66 +++++++++++++++++ gists/timeseries/nhits/nhits_traffic.py | 67 ++++++++++++++++++ .../nhits/nhits_traffic_forecast.png | Bin 0 -> 108008 bytes 3 files changed, 133 insertions(+) create mode 100644 gists/timeseries/nhits/README.md create mode 100644 gists/timeseries/nhits/nhits_traffic.py create mode 100644 gists/timeseries/nhits/nhits_traffic_forecast.png diff --git a/gists/timeseries/nhits/README.md b/gists/timeseries/nhits/README.md new file mode 100644 index 00000000..11d0be3d --- /dev/null +++ b/gists/timeseries/nhits/README.md @@ -0,0 +1,66 @@ +# N-HiTS is a neural breakthrough — NNS needs no network 🚦 + +[N-HiTS](https://arxiv.org/abs/2201.12886) (Neural Hierarchical Interpolation for +Time Series, AAAI 2023) is one of the strongest deep-learning forecasters around. +By combining **multi-rate input sampling** with **hierarchical interpolation** — +built on the N-BEATS lineage — it reports roughly **20% better long-horizon +accuracy than Transformer models at ~50× less compute**. It is, however, still a +neural network: it needs a training loop, hyperparameters, and the hardware to go +with them. + +This example forecasts the last **120 steps** of an hourly traffic-volume series +with `NNS.ARMA` — **no neural network, no training loop, no hyperparameter +search** — in a handful of lines. The seasonal periods are discovered directly +from the data by `nns_seas`. + +## Result + +![NNS traffic forecast](nhits_traffic_forecast.png) + +``` +MAE on traffic data: 236.16791666666677 +``` + +On a series that swings from ~200 to ~6,200 vehicles, NNS tracks both the sharp +rush-hour peaks and the overnight troughs with a mean absolute error around +**236** — a competitive long-horizon forecast produced in seconds, without any +of the training machinery a neural model requires. + +## Run it + +```bash +pip install ovvo-nns pandas numpy scikit-learn matplotlib +python nhits_traffic.py +``` + +Writes `nhits_traffic_forecast.png` next to the script. Data is the hourly +traffic-volume series from the +[OVVO-Financial/NNS](https://github.com/OVVO-Financial/NNS) repo. + +## How it works + +```python +seas_result = NNS.nns_seas(train_set, plot=False) +periods = seas_result.get("periods", []) + +nns_estimates = NNS.nns_arma_optim( + variable=train_set, + h=120, + seasonal_factor=periods, + obj_fn=lambda predicted, actual: np.mean(np.abs(predicted - actual)), + objective="min", + negative_values=False, +) +``` + +`nns_seas` finds the candidate seasonal periods; `nns_arma_optim` cross-validates +combinations of them and forecasts `h=120` steps ahead. The `obj_fn` is set to +MAE so the optimizer targets the same metric the benchmark reports. (`nns_arma_optim` +silently discards any periods too long to estimate, so the full `nns_seas` list can +be passed straight in.) + +--- + +N-HiTS background from Marco Peixeiro's +[*All About N-HiTS*](https://www.datasciencewithmarco.com/blog/all-about-n-hits-the-latest-breakthrough-in-time-series-forecasting) +and the [original paper](https://arxiv.org/abs/2201.12886) (Challu, Olivares, et al.). diff --git a/gists/timeseries/nhits/nhits_traffic.py b/gists/timeseries/nhits/nhits_traffic.py new file mode 100644 index 00000000..2a2ef2a8 --- /dev/null +++ b/gists/timeseries/nhits/nhits_traffic.py @@ -0,0 +1,67 @@ +"""N-HiTS is a neural breakthrough -- NNS forecasts the same traffic series with no network. + +N-HiTS (Neural Hierarchical Interpolation for Time Series, AAAI 2023) is a deep +learning model -- multi-rate input sampling plus hierarchical interpolation, built +on N-BEATS -- that reports ~20% better long-horizon accuracy than Transformer +forecasters at a fraction of the compute. It still needs a GPU-era training loop. + +This script forecasts the last 120 steps of the hourly traffic-volume series with +NNS.ARMA -- no neural network, no training loop, no hyperparameter search -- and +lands a competitive MAE in a handful of lines. Seasonal periods are discovered +directly from the data by nns_seas. + +See: https://www.datasciencewithmarco.com/blog/all-about-n-hits-the-latest-breakthrough-in-time-series-forecasting +""" + +import matplotlib + +matplotlib.use("Agg") # headless; drop this line for an interactive window +import matplotlib.pyplot as plt +import numpy as np +import pandas as pd +from sklearn.metrics import mean_absolute_error + +import nns as NNS + +# Load data +url = ( + "https://raw.githubusercontent.com/OVVO-Financial/NNS/" + "Data-and-Simulation-Routines/Datasets/traffic_data.csv" +) +df = pd.read_csv(url) + +# Columns are 'date_time' and 'traffic_volume' +y = df["traffic_volume"].values + +# Train / test split -- hold out the last 120 points +train_set = y[:-120] +test_set = y[-120:] + +# Discover seasonal periods from the training data +seas_result = NNS.nns_seas(train_set, plot=False) +periods = seas_result.get("periods", []) + +# Optimize the seasonal ARMA combination (MAE objective to match the benchmark) +nns_estimates = NNS.nns_arma_optim( + variable=train_set, + h=120, + seasonal_factor=periods, + obj_fn=lambda predicted, actual: np.mean(np.abs(predicted - actual)), + objective="min", + plot=False, + negative_values=False, +) + +# Evaluate +mae = mean_absolute_error(test_set, nns_estimates["results"]) +print(f"MAE on traffic data: {mae}") + +# Plot actual vs. forecast +plt.figure(figsize=(10, 6)) +plt.plot(test_set, label="Actual Traffic", color="black", linewidth=2) +plt.plot(nns_estimates["results"], label="NNS Forecast", color="blue", linewidth=2) +plt.legend() +plt.title("Traffic Volume Forecast (Actual Data)") +plt.tight_layout() +plt.savefig("nhits_traffic_forecast.png", dpi=120) # so the README can show the figure +plt.show() diff --git a/gists/timeseries/nhits/nhits_traffic_forecast.png b/gists/timeseries/nhits/nhits_traffic_forecast.png new file mode 100644 index 0000000000000000000000000000000000000000..2a38b98f18de720d33b2f1b37eb5f76944ce7ccb GIT binary patch literal 108008 zcmcG$byStx8aMg^(nu*G5`rMoDk&`}C4xaohl+G}Dj+B#f&vC13L?D_=`KN0k&5$IvnRxa$?w@yzJMJ21d-h(gnD2b&e4by;_3)~O@?kP2G7Q5GtEybQj$wyz7>56o zgb1DqBz%|)|0n5sNze6$!yQ)-Gw0jb6*E^yTL)KLEAtcXx1C+A9PEV!&z==L!++wg ztE;1nq>zx^|9yp^gR`YjOk=78djSqp{fczoLZzili*w=xzlV2Xq7lt;bB1eq zKckEl=oH9E+1VpjZZ+@h>AByL%`ZzgxRakdIaX7b(9<)ZX@085Yi|4R9wVn}wEV^Y zJyLF5sAR=x{`a_cnbGvWe~-#JTg~y`!^k4=(tmF${fvc&{qNx#fk*$}8>W~D`2Tx- zn<$aqf3Hump}_t3dX=vK-@o9#p9}`W(A?gfOj_!5s4CdpsPx-5{}F%Qo~16&q7i4= z!umWm7G8qiW$Yt>$wzbA_IxA^rD9W3R3spxWDaxrah{mXe}jE`X2z-Ruz2yrY9yQ7 zlNdf-4lXW2a(e!|OWnP_`uqlk6eA-e#q*^zy{nQjF))DyJ#>PQ;9S2 z_bM~tmXb2SKOtaTUTi_oSu#30suSR^ldV57V>bQSp=$S3#qw9aw!sP?sg;eL9bfc0 zrTcr^2GaITPuXcP9tjCOULKyQpEg#0+jB*2e7WTuon2jJ6PuEw(U%3IFqM*$5<5x% zFVS2Ad$v!G2`hQ84|oim6Y~fNVD;ZH;}H?j`ugRIQ}bUMnrmHkWU$(%mw(8t8(vga zCf{D0?Fljo*rl`h{J3UgX)I)0=`rI-Vb_nAmd2s|J&)kvVAGoWgntGrq+r}wH!tO{ zteZj4pCA49N|YRy@Cyki4s19hGe^PAt)TBS4Ff|c-0R_Yk+QYR6U|P4zl)biyHB;H zVu20e3}thxWv~AHxf@4!!EbA2Y5DGoO>?Y3@#-&wrQCpB^14tehxIWw&tW|H*5UoV zg?&TTe7im|W(h~k%*^brwRJ5qn{Qy*d}-#9cZHh^0sG;wy3ApCuuuN1{Pk+@u}q4% z5JZHB)7GM=r#IhTo9ixd;ieZde%vCr&z$7DOnN^^%AaR=exYT+V<>{b*b|RRdJ%)w z@J>UHjfTce2JN{I&1HLAGfum!UF6$|erq>(wq|l)2wPIJ2JARRR;=yqZkrY8FQv)t zlD5chXE_eRox{W6K8oFGNfhW`@3x36@#7C?5c;gl<`Ywmc*z+SllNC=32`T3q zSDbO1*1CA<(wB8{aq%%&%e8BBeR$aU^XDn=HRe|Bkzsm8_AJZG%gmo?X=z745yv)| z*T74h#+zt@A3QMs^D~)I()DhpNuSqbLTI9lkNMc=2nqLD#&hS+F+cHIs8~OtN{cot zV}#O3rHs#-=}@H~PLH2avNpi;KY#uVgr#D!v#~^S_^_Kq&ZkdDeb(n2mc|;V4Uid|H+bK>uOf60-? zCoGCCF2Yc=LeE-!KEcmV5t!}K32T-D>;7c*>`Y~5PH9Hx!lq4b1yN?_BiNYhf{|AC z_6I90ER1AlDKelQO-ICWar1@23IUz#ufE^09Vn%PI|id_TpX#3iishtcK5G<8{Vaq&=xodDqsa^Io5iNWYQh zUH+AimzOMHv)Sb5J7p@vfZbJ3Sc6Le`|AOeetG)G4GgN}ST^-@OMWwzLrwD>ix8LI zs==qB+2k>4F@qAj9AcU1rG$S%W@9+0cCW-`QVmNvd|XWBopPi*tig6oIaMe`PJaZB zu(1gV7?o=ICw~3<)qQoqd9CFpRhC2LrjnYbriX-k?60TVB)9cp_p}dnmMvS=tl#$z@VwWGTnnv|@eGhZdVM+24w5?;<=A!6K#8 zz1}QTrGlkMEtKEzp3Q4adGqGPW`UxjVygI{ry`ViZ@9qJ#YM->O8A>8w*8IJIvXu* zZB<=kuhd&-7=v?9N=oXZ7a45+=;`(`U4==!(kLz>q7txC#}=GN@Dw&k3apjBkqsQ~ zj1`QqZG9*}$ZcWJNOo|~uerI|<sD6j9Y22#JNHi~wZa0v?BwL6VKN5GBojJf#H*dl$LkqB8@9y2&wOZ)1?#eb0=Q(-u-4zod8X7`+9R!!o zJAD`J8irjevA^@TwaCHbG4pxaK)XwIMrH11D}P#>zJ0r>r^iUiDjmimF<=HMgi-S2%1ve$w+CA z{vx*-9cEcyMp&M)nSL1=8IEvkPRPlzk&=?4;-R3RfHSKjf<;C>ndl?vzA!k~TB&K` zw@T;i;&Rr$UxI>FnlY4;rMA$n&v7QZ=@za;?QI7LFGCjBt&&w%(i-HZ%y0~ ziVIxvA=Au`m!dZGh4urFSY^CXRSAoXRK9Ql5A|KC`Cf+z8Y1G~OLv+u7&mpeM4wfJsM#Hna%HbNsocK{X3x!wZLi5T6V zfV|A~XGFUUg9gexP68xsPt#Psc=3?4vop@3k3J6Vr_mPJSkxB*riLC7{zQEWBG61*Ur>Qe)9$cFq>_7wxh^lh`w>) z72sFA?e&Gm?mUaAmoG_SDgokIv?R(L49&C}+w_P?W27KL13~xoM}pMEf{{TZJu`Fv z`vpzqs$Zl>PMLOQXrJciKbpb+Ff2^(9xwpB^a8Rh*sf|&=v_SfUy0hJD27s=pWUC$ zZ{d``dFkgobpPj=3Jg7^&SJKcwy)66rC76!EV;)vmM?d{c#JYVFYlU!|L)eRT}~UL zlzW!p?f33|c15aK3V?{A<;p5(kF=N-?1Sr0PI={3A3t7~oXN`P#M-Wi4{$E5UnHc* zrdGR580G;#&5Um&d@v&G6VszeCBwPk1NV&!Ym4T(%$)JieZHTk;q&Lh^yzm6+9bKf zqhy=iaF^k$nwnIspfxW0XLjwT2gMk^es5>M!9|63ldyAoRuAa8pegVDPzV2%-?^1aMI5^1Evku2;aKi_F<#j4~w@40i==e;KE`-&Wtjg46!96tU4R`Fo6T<0gN_TC*s1PNis z;9RG!t0zd(VW#I^E-p2)os^JZ45t@}j@3^1pDpM{EAzb+#WmPD`L$HssE{<#Ky945wW!y|*!@muF7+ zgjMDdFsx9u=V&;TG9TdspM3amy1t=djqP)$HEin+)a%ETT^Lg7%B7$ZC@&K zUDnrUYHMp7p94hnMl(tFG!IV=)V{0w`j3A9zOz}0$_nf)RN7%zMn8LI2K4G|Hy1az z6u-((8g9+RLs;mZx;2~cBA)uGBdA>^r?pMQnLH`5=^BM4*8t3HViy%nxQMg`+kC(DWP-c4zb1?mUfkHsBg)E9C)ZNL$y{(eb_|UA4P*95V=fe>k_-ruFTm zjlW6zk0+Yr#sGbz2Bni@`0(S$bKjEW*i==Jwa4 zq1%s@PM*?Cd<+d}6y{AKFy{Gl&fv?KBP_Vh`+M(S+gmTW3DA>gWM(=|ckryt_30)m z^+a!NdGp`=cnHm6mQH57MTcA;x{rv`yo0;)0vgOIjrcI08}Cg4o(gDe+VE}L6m|ey*5z^33Ds{ zn!9^HKkoCV>w5f~*|mKWIy$;JZyDg3TL-$u`KYH)hjA^p&Y1z&ZE9{-go28?BM^8a z6M$G@O9R$EtRc7_pka#%GcjFU0C#t#ARjzT?XfCjjT$SG>u zTk8vvfaH!t=W=MDDWyGfgaG@Ho$cnm549a<(FMc3ptmQ_o%`51_U_%gsAtcD9z7yUZu|Ta_RC3-VW78qeAs&>7a+T~Fto7v;?pOQ zezz{8;+dQ>tXm=Vyvy(5(QqLpGqYsoK)2wEM?bXbo>Xk9MRRVh8nIYX;d*^23&hp{ zM|b@CRck9Ib*TJ@|NE|7lSr7+Z?DCvpvRXizJN(92byEYq-&XdGoQ$y(Dq*I-RBI< zf10}WxAt6r+Z61}>FVC6rJ=!-f0|1Ss@}NJtoE5>$Bt2Ii|%hU%8hT!n8DgmQCF`A zPPX*>^4_ba6V z2A>ubq@UjgE|cfC?as-`X$m+vTQ;usZavx&@86&5ho-NQsmsK~go+#{4~6FUx0eLr z4fhQkDmq6j+i#s40iA2v9q8of*jQ`6rRGR6)al_+Hh=21P5@TJH9?fQa<<)PZr#3} zTwZSIZ@>Mi?M9kL!Io%7kM69r<8WY|AALCCLe;)3*0(P$E0}(?crpkqPp_MA$MTU@W&X9*lzxqub_{UL>Jt|<^2Msa&)dVamYr%$O7 z6zwke622c4->s$g#~Sh=%&8A(B!GOI^1gTI^5KFxtk6mN`%L(9#BTIIX^g*)uY6MB4HbTlo+ zv2%xxaBI}pKRgnZnD_+NGz^spZq-S^JmaRffVE>7gjASU#08UX=OLZkHifD1U=^q01!17(R47QD`ACG zzKxM=jlBgnXd+h69o!3BZRq@be{+gHhU@nXlN4f82Qmz zpq~n&@KrKON_WN^*47!%lahqwWVyMOA4NpaJ-N33SWHw@6&kjOXCjCrD&E8Qh~Wly znFI(to|;Nailrb5a`g4|EM5U5ei=Za%SK7*c=TmX?7F?ZeddtR>iW0Ns_t&RDX8`N zTDrQEi`{EavI`b8eUdamNU6R@0AqvpYTw><8A?|ODqTmPDn&4bK;bm44JNJKBNr@2 z+tN| zLi@z|^nlyufU#U$DS&&_Zl`Kaq-xiXu@4`sz4Q zuQlxL8{sW7PNNr*@B-CarqH(MKG-Xq+}tOHg^w^8I^OHw=?AlDn+1v?0;pyHN6)-e z2U1ZF9};Y=3v*cy64)YWR%oWqo;@qE-tPj+DuwUPQX_~!%j?`cJfw)|qjA7e9G{qA zmy~1zvfl{zgXJ^2LB2q2kbPinW5cdW3+@L(D>}@Y7L!kz~`4coXK!k`>6+@eun63hzO2H<}%wXgib@kYDxa$POl%|`@6G(z` zamim4hQ9s?=@fiAS!hCOXld_HwWnDCY}PArPHj(`0x(A`Z26-e^o~fV+o0PJ#~C`4 zZmrFQXB!krYMlZph8z&I$3|kQ`F?`Ar3e!Z3rhr&l0X`Gaqjk`X0_J;7BE#{`HOn! zuKn+Gfm;IO6rvoNCsL3X8Yky&TfNRpkK zNq!ott)(@Ls&Bhh4Rn1hjT&&-!6WKN9{&Fa%M>}96`2_swNU4yVq+fwYCIV8!38!6 ziHM4hfZ-(pA_+Ac+fe$Xd0^)w)F#1Cs$?blZww||07xBMFEO}HpJy~J-~df2aPD=& z%a>DQtw0_R9-Eh*T5q1vb#Rv;Oo&8 z|G)BpZAa&cfVhKh2xJx(`BTm>U5Xse)PTj{deELY9o8fIzhO`j=_T9}dwmV?JYY*q z-qG>Q{rmS#&oKH*pW_JORJ{uv3C!A8uU`F3(`0+_KdX6MoYB5o3#>XpRDRzH4h+KiUuu-*pcz7G<)yyR95rIy&Y^R2UATl3bBSumpW4 z2-iRP@N^7N4TR_7iq;o~A_2ym4wicXV~s19JN>~$*gii$e+eMfFv3otM({7}cUA3$ zfJO@=Wfv3E8LaYLG6!szawAvuf74BOruwZIQv8{X{Q#UHyALR+uMB^Y=VA?U$Q&5z zq)1*#@ECmfQrNO|&W(~ymI4C=>)1U6yobFUKM?e^Uc1~Y|2}cNh0*ldYs9x+oV6g@ zTg?qHYj{NG2^OCtNK)rzegW+VOpZ#Nv-7$4>M!pD*MxeDUWEk$?xoSz*2V&z#y*?% z7ds)3(0^lu*wFb4*PqsRp*z0czkm0H>WXy#$4sJX-Ifdh7=dq_g9U_)we7Ad?^SEK zU^AFTxc#4DyQ2jG-JS$w)H+byuOQlv2Q*5`8zkY69-)Qywz85HY=Sx%&cNR4|BBNTDXgPTfO-$0rHz2sp#T?0 zFK8GBwo#o`Aab%sK#(WEpvN9_b8{;OhQ3rwF7(D@VbGcGy1&2d{UAFze*geP*ep1J z;Og*wjyTSJNN;s@^}rDyf2R2r580~o17#By;5{IH0@{f$P!jtj?{$bOe9c{l3$Pfj zz6UBq!zBizV4%U9vOosQ%cTunzKenbwRZs91GB$oym=#EX#^xz&I9&3L>U%WvFf(e z%T9nGoAGpD-OiW))hLHXg*^SX_Vy((*pEMa_;3U4ZyHwC`Cqv&|J5!PAx2X#74So$ z|N6>MT!8%|b<`QXQ$y-A=5=;hxz%GO- znJW{4DkyaCHJj|+2Smuir<+p`@fV?mefZNXPp^Nc^S|3oOu$d|<;xcu1u~iLA_q1= zJ-s=NFVs(!gPK%~$T8Az&;~%NFMO5}3C`Ge=@NRy&T_M}Cm{wi36{|-pGuMl(Ebr- z`H++Ipws#i{2Rh_Z`0FBK}5Ir%l`URZ3nhdNbB80Z?vA^$wSEoZ#($@eSGLyc$m4l zIqJXXH)b9K9Y#JY@`HjG$uKad;x**t{#ClD#Ix0J=}}T;*;U*v&;srbdW>sAfe1Ga*mZjhoj*+@ zp%yf!@m)kz!TyomSyV(48D=W>TB=iiz_eaLP^L(mRB)pC&jV?yuWd=_dt|r$1+|xPUAm5OB@jedW(JAe$oq7U(Mr*?vS_tE$_4vv5ttXUCsi@pH|HHSgpzgG?s6PL~AiCF$%Mm4m%!bkjn ztZa@&K&4U`#YPh-yzi7^pyhhd|TY+vmYHDOi`GCqrP&D9v z91NFjuue%k@^A%+Y!3P zD4_NSUv4SfxpPV<*Er(1eK8&sjLOB{fW5y-OTf~`z%=`eB-+|q1>0^Mp2vV21FP3K zjgW7sEl6HY&~-*&|0-X(au`)HFb&K=cyZR76m%$GBKrOPHOg3+f4x10f(GdG+wtyYD2-3@&(o+4wb(8~g znf%d!cow`W<^B6n=$$p7DNI;Y?yec2z#F760K3&%`%}rRP=9`WEC^xzf`S6Dq#2$9 z4M0>8l)hyru+Al1|4_#Y7(4(u<^&%fIT+l~6T8t%nvx9^6!4LE3BbH?(}wMzlgaTI z?(a?Df?@4r@VQ>do1FQTtq8ddR=<^N>PfOJuo$3$KaD&Nju3i3WQ<0ZkYf#7ojK71 z=AzcdedgEUb^<; zB5uKsmgT=Pb5YWH$Fl-A&;jz=^t&4BsYCzat>t2n;gD>2C%>mlv9%&TUMK|5)`Dy$RkHs+Wc(U(b>CbFI%D&Tzu$j*u9Ef1e1h~8RGK%O!-(C??Fk-=> z1efDr?QYfl7wMF?hK$>p1Rn02Aa?Q7hes->IP|jWVK}FEhv;+N{J6N}cV8Y$(cya< zJ=(YQ2f)L>OJ4qf1e8i6$Pj@bxa}yirK?Rhi_6XV5olEAdxmj2Bc9o*EFfU$v0~(Z z6B5-3Wf>OimF^<&&DkP8%XM^yoF8bh3N}iTtUkwdPu9;@oW8>BAbQ%NI^@4C09zV0 zUlB2}EpLg7rFZi5K%AVMF?-6u0)7`P#M;UPDUYqYB74bsXTMJQ6X~Iknrg*j2~gmJO~y*iH=495-NN`pPgb)2^;ukkTq|B*Wi^7r)4g;l~q3_t+iXehR2!=jX={kU0b2B4P z<0Qx-X4gx|_lz;^>sQY2tX#9%St6$U{tHh+%P$+(DOM|kp0UG#XQPpntmE0~Mc4>5a@FKIa&w$W7Sh={kutY)} zsl4pRd>gahl9PC2i9Ufsm6)*~o#)>xCXq_}&RV*6Ac^}SJ$-59Zqsof<`E!FNK{1n z;o_y7Qxv-A`@|Uo+YTl9;YxE}F}?Yu)$^li5f(-m9(@7CUCF^4ssRza>vy`}oYyzV ziQph)w=*FW0Gybdnu&=Ff)o(;GN1gBfFua1N{V|uw(dQ*iU4v0`d=;t7zFvzI;T_5 zroM5{3*_tZYowk1)!F%l-2losr>X%jKbR*PNs}OWEc;DQf-Jp&Bh;&s%cpzr`*%nd zFUg7N+US8YKQW3bNESXxe_dAn>qvMh$UB9k3oc+-O!UnLO&HqGTbcPRjc#JkJFMsQ z`SeR%Psqi*=CjYoKUf&IMVOX4ZfK$$B+9P!?=kvxw?S|vbQ?7%2(uOi{1il$DIUYI4n$GN6VE=KH6H-MB^j{b!Vr%>cfvlTH|GT8$kf)I=Udy z3ZYG3Va8=9xBX0L1BQ+@gv(-lxOl$PSChEYoaPF`-%#SzE(cY&sFt3BjU0#Cqp7UO*859Wub~-IzFAI#w@)&1y)P2X24yH z1Sbbtwr`nT3+%?9_A&eBoxt zB4YjwRmrurhvS_VHjs$G*<9a$HQP!M_7IiO)7@PJe=?k%!P)hdA#1JltNxkH60jrO zA{_+rwNVHzHvrTdEo=n41JTI?xP&5NAbGx1im1J5nGgcOYD6FHyt4uMKvau-TPcz? z!o+`*5OV}l_zwQg6V~Vf6)B!8?8AXwg~|hRSD(hm^UJxTq%63Mcvzf~`>`jG&gV|_ z#1GhNPjUpytGRKv3Ze*$fXv2FsQ7nFQY7$5X#n9!y9G!myIBm7A0=8f8jZo-g7qT} zDP;uSkoN`dvIQ`1Fae7J$pU4B2#SQ`31i?OVt$%oVUpGWRS$##$b7ctr~sxo+txdO3@*!)xTYl|6$h4kP;)X(Pf zW;$b@-Q#U7+ zMnO>%q^Lh;mC=`Y;D=+@)?ys*yLPRRO4XLHobR@--2QC$@wlC&(kmxii~wqVFiP}Y zRs|v_y|Y+nAMhCbXUO6?Lg_LGoP!_$xX4ZrKV#SJ`<{~k4dbwC^wa0h#~qXWOm5#! z#mR|^YIhfgDnqVG0rJR5e*Iq}$P>07QW?RLc~@S}j6IEx9(9(Un3zC9EXq0LGztv~FI}slw8KUBgBsfFWGfaSY~KLM zSEI^UnPN!@iU3cHXUzv43*^92&>`!gVovP##&}`qyg(z+nMg4I5tkFHSfRBqnV<*e zHv&3_(|Jmcw@=#ETKjNj1pcrG$|PQWZB8%>T)*V*F7`umhCeqlv|QQX9$_~=zp<-? zB{`1XdacA?^U|KCjNcjP-LMR?Kwv~oY*+K~o3Hu#75kPMh#N%WHa0vTvl@}R4Ho&! z{4B~XQdUkh7gHqR+AON4fsQ~*wP0AqBjfWYIdl;e8suHOHCrI<4xG&q(2P8aTUh@{ zWX4-Z!mU$(Ep~Xw_wQjaIAE)>53RQTVEfz1!GIA?7J4%WmE9d)7LVC;o(mUihZ<1{$CPAeuR|w3_;}ev}7dr5M zf$=@j2R45LXq#m6R^#>oEyw?Gsw%kTx0OhpzgcptYWO}WxIt`~LH}h=Q{m#w^ zRY3L5=HDgQ&Zrb2x|irVN?N|sc3A?J9-LqJq!GCdw#fxRK8Tk?ml*}^@!%{7ECfi7 zY=rJSe98xY@j?0?rg{toAkbL^L&JmQ?nCaxYOv4ot98;>Vf~DuhJs{eq;f*$6$x!H z1U$?#!HpgT`Kkb`p5da$}{kNvLk&^>0&l7ZbyfB$kq)@;< zHANy;Mux(b2=`0;9B&JwIKM!Jh5(7Q%q!;3u13k8J_b1Qu)3w!D23$)dOAp(6rk&iT8!mPy}4-^0-Vu3@M;C;{)KtV*wVRSGET_=d( zqkyuiL1Pbx`T51(Z8am&iEuwqH#!K%>)}lCP&6848&P7+$YX$ujo}}8NK3*WaBaV$ zSLQCDrly8-98mzJ>L3CRlYpXjO^v(g>;_PdKu|?2AU`XyJ)55gW&`TGSRjbM7NAf; zP~$VSpghwWd=$Y10L2Z6bexWOp>#$Ng-PM6MNm)>8j%_3v4Eo3g0UG;c#z$E#$ix; zWu}V?7{7h^5IF~jF3NX;uM)c38zR{B9!}idaiQW~Uoi{pY&ic~mIR029K*c%RsFar z9-DuYD!WlDEUsW1d0jmEYFRyNLPBn=zPZnDTdBE-`^qbDqOvnAPR6g8aR#K$pE^Q= zw=z3bmiH%iTnVDEaiF}XqT>}ASy|7)3WCy{f;Pn0mKKI56#!FGAXjPy(jy$UxNdBm zC<4gV3c^>>4dzQ<^X&2<<^*v8_%m&Na(r9`q?9>-V-Ay%7Jiz7TRk6d(_*9>35Uvo z%|SpJ?9s+9#r9OdEu>A)Fx9^cM|e0m6wbZ=UdhVg)wDd(yFXbNpldue69v91Iudb# z*3@Yuk&yUxif|ldM+gdGS?(puKYIN5IcVgL0s8u{eD@*NHT>?{bj$KY70F~Hcaj#_ zdXmq4LG5mH-1eRLasPnL@a28CKUYm6Kl|x7YxUOI(dmJ}hLlOD@&`gXN>JKH6eqz} z2M(hwD+Xd-Zuv49NU4HIqQQPbWCWo#lsrO5K_b~e0l)af_Hh3g=1VmEKzRSkEjE4z zjYNLDVcX6g*}He|R$tS-Ejhj(zgmT_cW>fRHa;KTk5hp!zSrpG)y^n#P~BLsViLEH zuftb`$`<1QB*zJ$!a46M|55&Dn|~Xzt9ykzD>w4RA6zo7rXw+!EW~CYIgfl_M0N-; z;C6^(rZxJ*e}Zq0fHE!s0%xc=!z-tjEWrJ3ipt*a^gP|p@D}fJH6Uv^`81sGG}W1B z5rfsn_gfgyKWZl_6V&bD^f5gT4d_!laSZut>g5Va=H>gaYnqBW+ll8o+DSZSyYW<` z%g+f`G`BGL^sN11H~uKKRx_%gVMIuf^{Ygny0_TrBxXR@0qqfC3OGY&wm4ivSKQ4l$n^%C>s(WmKEpaE0ZAhq zPAfmpyv&h@f4L-(pZDVxj6Eu!j^v*11gI9_yCzLlbPNpS5j_cndedZC5R^*}n+V4O zYZaF2-r5h;Zxd6oKHk`{^^y`7XR_0iig4A4t{=K*J3JrXhoAM#vb1pk>_1P)9bCI{ zBM7AZ$Bbw3$r%LeLD)OZW^mJL`%}Zs_BlwHZ2D`m&Zt8I1IUZej>Qz{_=G5g4WfTd zrF79-amgx`o4k1S>JgEd+t6f(J*tE=)((xR3y^N+eLUAUUFe=w z?fk@%t=Po*@tPAuZNhaf;B@D5ub6|U% z+A+YHUI>q5hukl(Z96fZC7m8dz;CG$kNe~(q{}gzVQu~9=B7=yqg)!zBS?3{p~yEm z)nruSc&G6fv&$W(uIuEw(M@A~P<h@0P+8=fbHPaU~s=4$A>bQ%j; zUMm_Z%^*4zkenz>a;Dn3!46Lcf@hfNLEz?}YD4NUJlhx>7bhjH33&|fl|Lg(773du zc!{X>KICS?>Dd&=9lA{d!wmC89jWloXt_jYDtg$%>(&^nBGJ}+O)o%OS4e;ogmE2O;Q2DJYicKQh--88!P_!@Q{+$YPH+*;%0sz+5&#U;BmVV?4+jZKgjYhqGeOg`a zZ40i)|lO2y7=QfN|i2 z*pn|DG3^lpZaqVDyf_KF>hZfu46cF)FZSH=x0Wr`AgbWsC0dLs-ye&#^Q&(Pm;+53 z+}CAy13nxi+pZZJ&bH=F8F_h~=j6FCINw^g8v0{0A?;|GN;J)DF{juNISYdILMMYj zIxv}$zK8-ya1eQq3QQbiB0}8C9CcvuM$3F{!8u<9pY}lTNB986K)^RDhR6UYDP72- zW|jM8G<$d~JUslEc~p*SbZ}eSb?gU&3(&=>}$7b1=hR$==$M*mPf? zr(c=Ntn4bRi6JRt&BJd_yu*`D$A`PvIL;@Wil3=WMX>di`|)*mZEZr|-GZ(MN~~|@ z1L&BUXMbiHT`{^xh$EW;Jc~WQO?>0JVcdwJQ-cbYHa@2*Co{3E*CyviNWX1TLf^l| zZdU||1bDHKCm1!3aES3Fpljhf->PBjKLjIbq#F=83rd241o;@v2MXuIS*6GD{J@Bp zj9Zoz++KvTz{>?*cmd2HC>d#YqjKQXNq7T3c+rsIgmB*m97IkL&N*J(w@T#r9541! zkL`mmDTa4fW=VBS2}usF68@mGyg^dtL5%WDK>V-`y0d4wuibctUo94~__4WMPQ#fB zgsW@sl%UGgPUJzE074iocWVI5;NL$IW|q!Q#|TtU3pk{umh25Cxc#DFq=5Jq{BT5H zp*E(nyh!rp2E=$G3<&rS?AkluUbMcqU;w8$gq&e(rTYgQ5R?D?R$i-GljIGqT(2)lZ~%-`5vcn_%@eYVCVIHzUnnrHwXjk z6q=To?xMQ4cdIoQG_9l^DPKiu4*+m#% zYilcj#5EMP3X`m-Hx0pK93CY}jrN9WMuEe|C*$xL*&Wtr7}C?L$q1j`-`X+<{Sfjr zxY|mjrgZfBBcC-`{I5iF!tp}58Q*@pdiCA%CJq#+{-_s7C3k4P zyxpdbQyj2)E%FlQVz*3sBH(uiC~^3HT(xiC9-(e|7AxoaBs~8so{plTUU*})|HSV{ zeY5u_nD#${rA}B3eUu##P_-$hO&`C{=`TJjn!4{-$lZfp}LVzP#4+Re$k>>>%_5nFC7-@5jykOgsYH{aFP?;fX#t zoUI7*N}N)f2_d0*Rg`hXeQJ85l#~za&Rn%QO0xlO_&hvk(YY@o3Th$No~D7%+JT)F zQcn{T1!s@T?wqOBzQnmuG1-$BwVkeeB3{DD{PkAO8o;FiE!8V0i1jXAil~M9BSW0)L`@6jE-^_t@dGxK8+?dyq2Ns%_W+N?gK zhu&DFUzCi6!z|0o&R%5&bR?Y}emMLB{ATL{h1I#B8dExaUQ1fqda|PSG$Uq}()T&l z<^=1p|K`lp%gYNC0Rn0&dDW~>csgDsc+a?#PC5uz11wOS=xc2)Shhn@=_#D13b_`Q z#v=Ve&`E-qSPvXQ;y2%pOZygoE+c5?vBc9UvM;12r`|RNxopIv>Ihqln%I6aLV9rO z^wVY@;8P$z>?GtzK|MU6&3SouHl>|X4aDE!zGKb%di3(iXsrZ)%Ug!@r$w2W5EXHRb;NNeJ+S7H1Q&&gubLDro z-yVkZ5RY@HWTBT+o0X-cv^GSg=)(35q&0=^4GI8#bp6yH>;DF~r>pn?Q#$!Hp5hQO zU*m%ZcQ|;}ZdwUEO`}nZKJ-krgiP~__SRDvV4xopyDrB{09cq}dWq-rlYILiG6~XB z)hDfT9L2@Pj)aFshY-hr6oFp04kzd7b>Zq|wvr65tI!H!Anms>_g{0pbv&aT%g+a&g}%yrqG?fE%sVF$(fH%&+^X2 zn!8$qDtPivc{E^u#1;{pujUoX#ed2Vt?OMdojD=BX_C^5goMMHof#F+cA6d>=GHc7 zcya!Q?e&DHWObpe^oN(;G}EY&$7`}{>6(g)i@!@r38vHY&&a!$z6U8MtMxGgKQ0Bk zz|QQ~HLEq2oSYZ&KExGiCRndkH#I%$s5-U1n!ify3u-b%+Nm(?AUy)I*kbFSl~80g zUkjA9)f+;RVB^3t+hrYOC(_C3F|>6Ey~N?eO>(1g3+(_|22 zeO1$pc+!7`#T42^fn$mbGz`!eK9J#7J{A`<_BK%JA7NoRygHqhrjd8OaR|!u-tIj( zI6eZ0hMup(n@IcaJ^44{>rBOIHNP^yD6yEPZ=15n2@>g{c$@2=r^<~VbVDg0UY5Ci zo5v>MI7KfnznJp^Z-)%ddqpB*(a~w^N3m0S?b_#vdn|e|s5d7j@pRxEEd^0(8>gIH z5=?EAtyrD;wf8@*TOtat>YC!+>uMUv!_Qo81W|Wl;o9xghSi#s%fOs?r#Vsdb<+@F z42qPVfy_Hwghs$Yc7X7-<>7uj(-+qta~*=lSopbo?R}^Gu*S)6-?JGCiK#TG3p??2 zF4mvegsAF1mntnU?{ltsVk$~^i95ZY{A<^Ke%iYyYol^;ndHK@o)YH5#-~_G|@2EBsWbt~Hy}f_9YB!>k_}AAMp$y)!d;2?+ za_B4ql~St7zpeBf_W3|59uLpgv(r4mjgbTpJg!X}zsF=cF`23R!sg=j=x&?=>|B1^ zH@>eU`ge8R*Usu?%S_CDdFCU*{49|bPd+`cyR7Kjam984uIfiYoIEu}rTFC3X*9nl zC-Wbcv0c|>J0wYON=Qg(2EVMdyau9yq>Ny|buBF-dD6vRTGLBPN(wBd39@s`SKE>w zku7-`8YL{VcY*v9*k@n%eLJY_{J*yRAvyWN>QrHOwUOv+)fR^zEf^^~j51(-YE$CHHsciXFHm`tDgCj%oujBVOUPtyd*kxV9XXNXNqDVM+4!fDYErrdz=Urq@a!t zcQ?t1i!(rYf|V)NKS458>)8haa`+n^J3D^NAVdd#N(=G@GBVQ3fuc5KA#<(o5^_Jr zK7C`@#6V9p@0tjq4{c4(CAIQYGJY|qb=#y&50rBG>8Mbf@@U^)0szoaCoZ_)QJ*=UtGvKw5#PdJv{Ljq$V-2jQJg z^32>e!9&G}90%u4cxU^Ho!)H|e{hM3`Py*PHp}8fYEE@DCjpj9#`klp)RoR>U973- zDRp zz))83=f4&&|CKD501N)QT|lSzLv^?{EQs3=6O6i5(gtn&X#`n&MXsNDpoV45TfbKj4 z!Th6~r;g9gybH*_!Y=KEuUDku`|U@P#e=AviOS(NMRvphrr>FLkL`zUZbkpd~&3Vk#u-x{(?dE!b%_+s$r1M4qN_)KQy zM#473re`!sAY_pmkWHuuCW^|dV+B99OjE(9Zl@v;t$y?nPoeL{rAta;%|*wLv!vNa z@1Yd0C!DCmR^ry-Wa%N9Plxfp;Qi}ZH*Vg12yHLE=Q@7YimOBdeJUVA&-aI~Iy-+X z&&}e;>F7V>thUw3sr6ZPp1olv^617F+9S%%MJ2S!`#0ftpRm+N_Tx<|agA%!ss26* zk7RuCg>hQMdabRy<9&9dxQtBlU^^nctuFn*)uqNKkxn}IApQZrlEmdetj3lFNopwf zg(8kc;ZJmQWbN#q1a>Y7)3v>X-yr(^4eAS%=+}mFSK2exkmMpe1G1v79TdjGt*;s^ z_1yr0GY5@`^#g&X5X+}mt6p~5J6p2#N?JrKU49dOI!anpWcg`S;#6I+Et?J_q zV!bsoez!on(^uT*))p9EJBQ0e9{oQ|y>~p-{r^9Hj=hPD$Vvl8Y1vz)DA~u!JW@v4 zdpkll5n4vbUPo5;AtDvZ-eoihQ3&DpcyYZy-``)??fT=oyw2g$G=y7Tr{8V;ZVp6df?M7+7ZuKazknwR_flu! zD@FBuO`uy72|=DI{XR4fuMaA}3*l81GjnF-KKSjAG@MMAE*1IJ)zl1U7zO>g3xa|N zN0&P@;rMaymPXmwTv3M6!4`FnCD5Jn3iVW#9*USXE)=vy)yDg(G@r4MJx4CK4Zj*# zTr^k-v`M3h%=Oi#Lj-#X)syZ7kRTmo$!PLmZ&{9Jonq>cf&pM>I zK~BhM*{RaUCp{u(WQ4N;;=jAb}9^-tphFFq;h63x1S97ayS^reK8A#35x zt+%$N(sdyeaOjU0*BX)}77gJVB5e9(Ym}X2$AR%lc%0$lG-b_BK6w$0LAe;JCJ5f% zq~w#G&g*03d7L*~2dJ+qgtDLjRh#L`nA5cuC9<*|!f)`{6WBSew?;$uM1G(C@HP_u`*NB#_6gG+YY4ef9}r@exanQ?rmm(GC1dTL`{*j5IenxmF!))V|lO!M7evMBVKX7`*C% zv;m{%Ta-&kqNlK%F(LPp>*TMO6S+~xKHenE@FVJ-?-o{6 zT+=ti7+RI&uoPg32u0!@iZS;m~}?_B!HUmqS+%lH!)_KPE~*@rH-hgA##xE7E(r0vfY z+oCFP=8TT?@dw;BkCH_vfnFv0sNEJbh?*r!MJERWReSvjz3c4F+H7bbZt@qIp-qF5 zk|i}>m7au-O5nWykBl~Ym+ju`f)s?T%WZ_YNQ~XC0W~fRjzfvq?%c)T{(cM*kn&)Z zuxrOiHJ!zIf~fa1*h{&osvW4p|2-H$V#ah(xh~%Wxv{{}qZG6S_ZfrqgA5F^^*LML z4AjY=I;(4J-$ExAsAp!zBtS+;P^)Sp!>|L>UTb?SjAUL>dYMsz`!MqrN`HKtb+K zUSk?Nj<;?9dk%?eBy{~Nw-q6gLFoha(h5aFK)S3d>`3Wilu%xBBu)H`s^F`}^C_+KLSCI-LB) zBL4fJqoMa7;~06q{=>jOGGtQ81yCm1uA6PXxXQ%>ID??Qpob(Z*1KLe@Cwwuk@eAF8INkwhTuRQHhh`zc9X7N%*n$Gd)qFMXy7j#VW7*(!ZW%#-AY#^fD%FX zQePb>@uE~!6VHnas{G8&%}!Ip85$m)MD{^17N4KX3@A9K=~2E(BcXLrw>3XEN-oA2 zp7xN0J2)Z;YMuHNJ(|^$jEr2rQJV^BvE&Q;p0#wR;V!XwZDii~1Rf_ebgD1<&!5wr zmq+q~RiZA{Jg|nXS;3C8&u=7yf1n<4pJvA)R2uwg;ieNNn*0@TzV`Q1t^n`oN4g{l zs_hg7p71EPIK%a3SvQ)zLbj#2=;(u@E442CVsLhW2Thq>j0c^CLDEcBS-kam36a2~ zwVtJ+WwYHaS3>vusxr-08#t%rR&#@AXO%Am|R__cCK|y6ai#>{> z!tJzp=#;#`+S`6+vcV7u%0>~|y!h4cA7Qg;bj%k7)uqZ3^YWxcCmrl6wuQFgu=wzS zJmb`3c+LtvL;Q{6E}k0dPK}TeRH1S8fRes0Y}^^qkj>-jtna^adCMs_=7(mfN9{kB zt&I)Y^CE@;qg{-05!AMsnWPlezoU*feYcNX0OI6s&qunVa2os4Tzyc- zW`am2^>r@-_kt89FHoW)m#i@7>nkUI@y=CfLsR8tE;RD;F}+V;^76wbFUXg<4szpKKkopb@mBLxH-T}8uN7|SZN$)oal=QN6$;Hfn12GvKoL>O`*Q) zf{8Cmc8`N;+NuVw^7~-vYyvC1qvD)549e<`qeelLHn|5zB*`-9uJYjXqt1=$1!Xr1 zP)o;XFZF4T(bMO4RDbKLT)ojp$K=ouUsp>u53DO7H+%OR27*6Z2tZ+ZhJtpE1olIR zXjeCMjo)q9_*l{VCILF8a;kE_D@K+1ubfCWsXPW~1;;aSPL4=+c;#ui|3H zRyFfU+!1qkvQ<`RAJqk1yBjms&yIun5m;}!%Xf6cz&5?6f0?cbEE_}ai?Tbpy9+vS z9rBJ`FwvRd3JI&WY!u$F+>gTWB_blm-lyE|d?e@02%VU~=}r9GL2i`l1x$#+%ak)* z6$UtH;7%kZOBSWJrxu9!ycQ0ak_EaabtfG}&Zbc1%{?(!Axx4uyae68ib}E41*1BSIG@ z7DuZAHQ}DK4cU7dG8j20o~`KUsFIk4|Eo1+a-gjZOKw}|um%sD8da#mLPMm@YPng~ zG1}mpTUki<4u3i?=Kz+R*tvd&^hpXHOQYm#x1+a&g1ykXf^X~A^wiXY0@?UlfJOn` zD^5Mpb@9@ZQ2Vv$Uh##4Ege_X&Mq`B?R5!d4bG8?)zec&CCmfb@S6h0KnD?`wwSAh zag+t;RE`~Z8-WruyHUk7jP_fWZFFLzm;QolWcRh{g{P7I$0AWTEqyO+&sNR0m^@Jv z7Cd@ULH7rOfn}upz_3kA~;P$VsM>Hy5eMB1*h-H_4%Oyso-9<1`%Ok9@deKib?G{Imwl z(Zd8`n4Vk2RlR>fuXE~+y{f7Y-6(WW6s>Ad!ghMM(7X7TnpE-s@5gK%6=pzeXr;>5MeBmQ^n^t+g|%KVe`ke;@*Wu)HQ^~B|Da|E*y zrHhG~N_n?tfJbv&t?_%NIkx&?t@?Ijz5mBc_Qs}~MNOb++x^w3yKd~7S77-@pK5CestNC?2CJys*ow8J53RlXt@$~m)X zwKbY>#8KcTnm$>sZ|&(9t3zGODmlY?h`a796OHXr6o>Hw>8bmoBz4Gr6?u} z8-8KGu_s8cnb~X^qY)VQAiLmmQDS6dYh>Zx4HF4}o#0RWciFYvC7?nIPK&DIiF}$O zx*}j_&@qm^ZZUHBZvW_%*lJ#)>GD03$%;VZBSNP9g*i+_F%IRrF1Xd`zx#k(ffC1S zJH^MtL#w=@9Rj!9JIPRO8DL=osrY}ptcn`ztGEFtKDtV65y~j{nQ+`03B2-X@{9R? zdK%UVX8>87w5f4|f(!Ieb_pE2)X)xt3vfaJz_ixFZ8NKw^r=L7D4Fl(-jP&ekgbsL z=S5lBp*dS8`zMMts0(2uEt+z$+rW2$hCk7*QW3XUK#GiwrRwI~CD9di?TK>^Dj%Md zuH1guG;_2M?we%>T7ZkY8w;$u7d|?3_ zw>0q`@L0Gpy8+;0UXQ(Q-Ur_#R!fiqC__)KK}ps7`fa-%e{^_+f$vTg1CP~w=&bQvt{x-Q7T zNO_;xu&UCZ=(9TKZWWoLY4{^}_AOmeWaOG*bb@DJA6$2^HvW4NS4>U6X$>3tq?z(VO9OYZiBV6Xi*6(Ao&6R-kit(6Z#kJ7|K4*m_gHT;lZ&OgrZ|l5WOqS@ zg6e77g>J|YMsDml&=ZGvNS4Wo61{Xvw7PuomFt-%y!hMJ}Qk$ zk&Kr7|BejVQC}4V47i@gpkr{=ZCoVegjVFJt*yP|UfGKhh=reQE8Zz2G|G=}Yl{$c z*8OC&;h~}ubYW6BFlWaI*^zM709GY!{Q#Y;C^H|_|AbEL;oB4r!ZOaas`sbCLgkw;M8oqUwuUV&{mA8LPWPiFGc+Iro>EZ#6n2NTDU+ zw%xib7sE|JNeWkhrN&| zpgi8*HIsq3myp~5BF7;gUD4j&aS8aje^02TS48O$sj*xCZBGDTSb8T=?`#fkZQAhE zY;9c%#njZm_}a>O3@gUqrMWj!1_LT4%wgB=t z^Gm^*46#F~A5S7HO3q<<(@riZ2+-p(th7ZzqOrkbns{H(>$eyL68|+Y zCl{g$v)FOKQ0~Fv;cilNUkh$k-bYmkHj~osFWgMWsjnIb^&5~E)yuD5&S?XWHiyCK z;NYN+E316aj-}R-iNV{|iRZ#EfZH6@;Jmz<4nX!wOib(;g|=@Eo0LZ`R%q~psvC7R zJ;ea;9wJK`spHg6=LSm`a4}7&M!xgqJ!~kPX4#Xro74Z!9bGcB;N~OOQnLs4>uG_- zzcX6KLF_boz!2?kczykdh)Di;x8PdyP0Hj6Tk@js-(yX0SLg?U6JZFj(cRs`Yjuo_ z=+t!ss-bC&cB{BC zWJQ^*C?O$o;F=S$CRFI{q5av+#qGEJJsT*D_S07gY*YRD^Vy4TpXol_AY?awKj9D6 zbD_pfOF0gFJ_dwtK>^!pbV^F57Tg&g5|`|u(I`@;30ELWhidPR83bhmd(ywoE70&p z#A%qAfWXJPDzQ~mmV3b=pp=7+jqJJl#Mg~Xt+{mzK|u!M$bNf>`Y6fFNPl}XpG*p+X*T3yp4SBd!-h*xD^`IhyCx5lah7)u^VsD8cgg|adpeD1 zU5!qJX*I}qZJ=!))d(?IfpMPy*(ZrK$B(vtYKfm=*hkniPnk+_Ytqb-^4M_q)4!)w*w1d;)N;BqLPF6hH;^=kuz(g(VzYZ-)waMjSsY3!Kpzo_JL@FX3WX zs>}r^DFAC0P()yeL#^XYuL=QtJbq2v!EyM=L@sP3^IT-y`uK6c%0kyQeu~57VoD#@ zYwN#SWxqdtJ`s)e{criqeOirOGebt4gtv)D>^z}x;-K&8VG(j%|NgOT=~)#SJ%BIP z5)xCp-}3Te8|)>y2qJok3!2XeA_crKkOklEpFOVgp&pc~D877XuClcj=Yl9vY$rs) zLx=i~0X@me%IXMCqMeALz%4It&yFtA5)=C(zeOoNxu$X3(I&4yOlVo_zuR^*M$gHq zU2)^;b&jpX^XJ2tYU_;ni(Z~pPDorb*3h7*t|mYQkXQV##d?co@zmMkawMXltT>F<+=K~uF z%fXU$u)b=D`W-)p2;$Yy$g9CBGBRVJmKF)w6jEmu>Gno)O_6UwrjrR>UK5yj}lPxSTIh?BUL%!-W0D)R5HHX}CxL!Hov z{3KDp?b7@2(4*AN$8NyTWu%J}Sh7W+-`GHs3uJdx6<S+xL5jS#utdAgh;ra#)?EIrm@8UwOFh3q!qC*$ACVsI z`88Ai2pQKowc!Ctmq}0|KcVN@eUYk~_kk$Kif?;+;#v|hopW|`x(h{*oV%rFor!he zi_q2ZfH^Oh`OTX*nYBh6zuLzOSzeM|4IH~s%$4_F4+!%Uj)CPGX`#!a)t-wKweETo z-k#v}&MT+yn&CwA_N_Xv4;EINBz%JInV8irRArldj1427BZdl}XzWn3+7#kI9GsofA>A-k#?eso>z+?@W`xF;jy~CL#*%99a_Cza?@u zcLKPM+`<_&SxJWy=kMCs5V-JXVr|6(+JSaR76P6tEXN%^kCV6+jK(Cn-gH)PFWk#K zmOuf?4ml&`-CxKGid#|isGCrs;w}Vx1-Pv}bU_+IyK(O5*)+N5hcs(`bC$b8Nm%?nLko-baa1+Tr?V}O-aO7m+UM{@{Z zEua7sSZPYZ}q&f(Y0HBF}oNW9ewL?ui3v?aI~PL@mz-k z&ceWO{gI<*HtO!AqO4pM^EIf7%Md0dF~nGnnEzTqLH@K_|BD?8z*qY&X+r&x4mK|9ZvGPyU|4Ri8~g zLUx)W7m(V9h5}l)q2dNY|MOzpEg?_;kJkmGqt9pqO9ko5*W4WW)?B@ zC*`n2ZkJxS>`Xjw7*^F;Mutg7C&${tH3V&>oChjPO_OzTz1=osA2UD+013>75*Eu@ zuA#?9-STBGpYESYenTF>cA_!B!3So9Obmcz-5qU&S$M~5z74{B1kj$CHIs-45FnZD zAH5-UOgrst=W>kFj2fCyJpc6vV1Deo)NH~t9lPz0$yQAx>7DuPe4EQ zu&1d>x8ZvnauUAd!`IXS*{dTJu#4WF9vbBv4@kW1ILmf2l>&@`VK2?L2x$al-hRGd zj3_K_xClx@%Z8~w0D91A;y%+uUkt?8J8Cq2>my@$i%J-_HhC- z_uU3Mul?zZGE_^MnX-np6NQh~ru5Y-Y5^uK1PZoJqq(49*cq>1pP7`>o1dqu!OBp$ z>wuj&PEBn*wvy7^Ogh?MqypFklwYYbTH9f;=sdLq&p%6=JOOou($qa_xDg3e5-#hH zP#AG>t-t9fOy&o3-R8B-?ve7GM=)o=$6x_h3{~eb z?6Boa=m%d54YF#U!xal4TQ1m;kN;@$_B#%T?Vk)Nhu5EjA7g&CiF~ zu!HYOEl_#}z0fGs)ziyRSd}xn!FnP^48D{h0Nx1)kNG6diri*5%lr|L%gzl#smqVFtg|!YZr@O9&dfwO?GYjC@*s{J4u62e>3E znhbeHNe6wy%L}jnF7uiP^;~Bl+OZ#px;Hhz%tfjEhH21jBmK-PY2$OAbum0aW(_`X zN9RPmeR6pV%TaJsn<9+r&yCQRRX`tQEq)!!Rd9q1SeDa=IRkt|fTY&z!7!eo?;Aaa z_$T{+k5f~*unjViMYrLfK<~F`zDLQlH4ldJ;7=+5l{XUL2kx%mWAO7&je@%va9E!I zy7;>X2zigWlxqUG81b5q@<4s6JWl@OG!=t%b#HgR{S*@lcnsesJ{J0|a7A7E5y-)} z*a#Gy$Fc@bGHY!SmnRKm`ad%;xN;PRiUfPQ43D|uI`X34T>IX)(Leo*=tuH@5PZcu zPh6)MC@vp|tD17CfY_SO>7QRz1g}0OJho zi=}x}6^J9<#q2o5$O-(QMkRTDzxN0thTB^5%M{@2hsc-_n+I^8`!j+l)`DJSWE@h? zt6zwXiheGD?-O3-8%pwhSsbfM^I9|}tM9s7qKbb_e0=1(Gfg-A;f?{mPp z0+k*BPpbhr_Dl9)ayPdM?I3nG@bgP8guBpaV4K zb=c@ma&2&Nyl+zd2h>&bxj85;pws;}fV{HP7Gz+v70(e@2Ilrtk(dV$9uPpiC-C#V zc@>f{1X}+V@C=(Zzm_Hoj!(ipUIptdkI#@cSJzJNKfkOW*Mp<8_McukFRGu04i61m zQb;`k2p|@vbxOxzRD#krFMZE13-{eo^?S{D!UXhau8bI!7G$Hy}an9q)D+%!qphj2m@B4Mcug8$<-y zneDl{3K-jUK|3YT zH$wp18^k08w5r@-?j-~I`NOd{JgtuW2JLw0HfWoXkOHv0R0!DH63hBal+MRgg$M@% zltO=fOYfiVZmzIp8lRJEy}{-QU|d$QXhfuoBLH0C2Dr;{k>@D>Wyja~q$~p52RwoO zS~x?&Q1wEwllAiRW`XNMZUY_T>10K)E5Cf#d9G90Q4C;4!3;9yg#+)E01dPT-3Yfp zn+3>>AhU9Y1wQ8Y`vXiJ(=RyPGUvlJOhuYP#um5UZRdLSs`>{ze*pNlJ=sPjDP6U{6B5V`D!Cqcr1cGHl^41u}dD z$4NqcvHfSJAs>8A6zrhaX8yKzfUw?hSO`KKC8Dt(guoWH9fZ?}?=KRk@ZC8l_7&jg zs1Vx#4@fU<5f{|roqvyrq9Eh3qRkSj-+xKDKH?!ELpjQJqgIpWxEUEspO=&{0i?U= zeLx)Sbu_Yl)=ONBl|X5Vp-={QGF}&xvfk~zwykl3KqN-k+!>)D1(FpFh!V%7LWzge zEZM|3Mt%Lv66ay~`;Lus2JW>2(a#+Rc4>)Bhow;u)i;!H!Abx3pX=;Sz;*?{om=cl zl4yMO{5<;M+cnRpep+%eF>uz`td=g@l+jXw0r&lOKHojpoNoo^B+i~?B`B0}!W5@- z-FF3Ny#wJFH^Kb9r3sudGuzr(Ai9rU3!q()-dD+l?ihs{=#lpgVi+UUV%;W3kG0b$ z;iz!3FBpkOgknmV7oVT8Z0&4&{P_3m=+5cT9y>|;<{;}_7BWFW_Z5U}_rN;#P#tt<-6>7V@7?s+2mfD)vPj|f2ZLZ-tw-G@C7qK)N}Bn zpBMy{G^$I<6v&;bK0dYoe?jDMyB3&DF3Au3s{9O=U{DU9q{7V)8q$nfr;ooabYd?9 zOkxTej|Wu+M`cI0(OBH$g_f}{y!O|Fn-?gt5O8)>eIxY~BxYPm@XcjGXiz#giXWnr z18lmJ!fDn^(+=^_Gw>DJIS!K@EySuowvqFSu>Vk&Mj_aDz?%wc@J-qphb9GnFwDO$ znp(3Ryrn`k{`Q)ZDh>#De7bXu`k<~uq3kB=Z%D6!%T!)o-h-v}nY~kAZTviklVd3> zEDr_}OOyS~&bVi2L9vyImqqeu8Ypl8LgTY7)X2P+`Bh4cscH{FTO^JM0Oa^QA^5!Je@3U9rR(PlCh;Oszrh&nBN-ey^^vxil{l&n=88kjfsfid*-^v-XOJ;ML} z^#y9x@CKZ$mchUs;_2F^+YzA} zw>@R@LkTTeF@O-{hY0>#KYic)wMU?aPIjEGt_Z_@K?h$4AXb3=5AB=*+R{>?7Y%`V zVG1b4ypaFQsX$HR#ap#8h>6pw_We9kA+_47Fj{zxfy$~ zIWjXlbq&)O3=$Ci`~X}fhDA+{YQd-CbCq$Z4@U@}MSQNuB8kc8)=31Yg4 zm~`ms>YfIYI1&T|PRngz7d7kj?}6Y2C*&vwt1ZL<0}0dsO6_MbG5TMjk*_Xd%1n3m z_4lt;iZ}Vic8lQ6(*ni1KDRk|e2ePb(Tl!8pl9>ZHyszVYj5>BP6G4MR*%A}ggqrZ z&@q2l{!y(Xv+!3STE)2RrpTlQGP)CPOJbU|yi`i~Cvbq>-)CeC^yFZV_^r1J^b%8l z${|r=-*zc1mV0AkJ?$KLptD5r5y`G9T{}J-V`w8xUKHzeSHTUkwGb%_KsHrB{(?ya z60@VIfRq;6=Oyy54r)669z{j-F^ZYqndA;lNLU}+{5L_g);d#!oo%t{JSbJ-7@%g7 z;v<6GR63e5>O*UN2UWon#VzNy7%E!?iv;B<$Mfyi7-b&CL(hkJ;W(yFe*1#rAOrEw zYhyi{3#xYf33g*PqdN=L7rz8FP~-MBr>taRp6g9yKhYfc!j?!f((g-Jt*Cdvx}J$_ zfA$L8#^V)XYelQAubZ(zs}`TmKesmctD>~A^FYE*_k{5O4s zp$=XyMgdmB4o^*Cd+tJD($hPIr+yUSESNGs{RMK$<`;lgT}y%P^=dCyV79)`mmmSP zCr(UTv)nTfm`J>MgST7IOT!lN<6`AFUg>nSre$wTp`7;9j41}x*NvLL z?v=FD{%XXg08=UX^g(DbdZkK<0t$+PLPrHXC^y+$zb3C#N5crd`DPjEj)CHk zC87V!f4zOJ+c?{Y3zn8at*tHyg>S+kkWov{NqK{>tv%hzH;`2sW(Z-B7LF798Jckd zh%j2Kt7t-VaHSGk)mgR%LtweF+z(;EY6iP?|4|_UgV)gd?u=&Rw_-jV0S9=mj!x4< z$N7__g1kJ08N7Glzsl9nL9oQzg;@RT4}LjO;du9{3CdmoZxIyz6O&r*+&OD3ts4kl zlQ8G)$L;R8pFBM73@5LBR#nx2Q0XOJJ#+E3 zc4Dgyg;keZ_k1huTeBo5{z8pE&Bh8u)N@Dk(H3eL!U2`uhn~2nllKL~FV)?`KW_F; z3w+Syr(rgq7h@Ti*T?$)ltk~d%uYW^oS;v;!}l~PJ4Eq#uhZiXJ9;+~A3mf9eb)q^ zRM$DfoA7Q>DQbD=U@+TVd;(O>5H(bV`YuNjg|6|aNI!WPQ}(;++-vBm>G9vP5Q2*? z68%W;xCRgnur@U{HJl2nQS(sABswxfPlD*+M2Yercj<^Ht*o+MVC4<}G(WR&G~7$C z7gi4cfOO9>Tp0lq7jIc_bzg3p^!G$5N7sX`UOp566!vhfppz&12BY-kXYPgO5 z?n{^9vnjxGf4q)urg*q~d|g&Ui66dkTa=6cFDqs-6qk}&jj7(lQsR z>5cO810bJN(u6A%LS76zPG1t5|LVi>V<#;>*Yl8$10|B4ho#bf{>x ztX>fv6i>~3sFW`t5qeez3hRD$hlu${Ow%hjCHy{~HNlD5oK`zm`qD0iz`4*t; z!YWtcSyNLx8~KAKU~mr#ZDTz$xu#E$aKg(IrdQTtdDHU$tb~l$CA}H9urN?9W%q>X z{x%!A7zUIid~+PI#11I)!!zZ#b8!2_`^g<^bC&qjrJHjA3R?JN)Q(zFoo+V8Hgev7 z4&wK0y%!*<;o9TV=;7h1Gie1RTQ#VFqC|a9hR3=3zYonS;;EIO=K60vFlY}0|FX!tqG5T z-8+AsM(?Di-JIvm^`j9|M{(A!D!|y*?L1sX`wA*leT|>1s%n~FU4bawv15F`BGtq7 z-g2m8B-yQ>4t%~R+p~Ku;SXN3%yJ3v5`yiOQhG6O&^APaGWpXlQDGYCCHeIxY|2~+ zEfa`Vfan}tYjoh3A3(NpG1|jDug|NxuNr`-s8v@AE$A)ehj;0mfLRKsdC>I17W^Rf z!>jwJCqe32Sk8-Z&ha{r8fopzV9zCux?KwvA!!()aQE+w{Ozc#)=(<^7TRNWEl!J( zJ_S-Hv*IfQI8lrvGEhinF2+2Q`fqHeFOb*1jTgIa^1sb}5tzL~uPqea;GK;m_bzo6=O z06(0=G6x!I$r5eUw~no`n$71={{w~{{rK^W4;(jSVZwOo4dmR++Hd`7PC2~1HS_lW zDpNk2$uMX3me?vFfY<%(FF00R8yx;@xR*j`Sx@UW=2xB-ao0ia<;NrT&7~)NM ztI=;?{5eibTjn(@(e|}(vlu}dt$i3Zsh_7vP0$dJ=4&*50M?(jA%?8+vFc+g-_@d0 z^1Wd3p)@H+J`@c|B#oKHv|xAoyV%Ws2J6&w`$r9_Z2jK1r(t&tkM#Lc0t1=aLXtV5 zy8NX)4-RUV-D}6)DU&^umssIB&~ClA|LZ93`E25KSx@^^Set2$lfS#EBP!>uQo=kJ z;7kw~B}St@q5mrGQKbQ1fhZMP<)4B5)#5DtOT*4XWJNwGjaA`XmQ6DRSbTuSw(pZ4 zP_c!RUM1_0EP9i2pv-c!acB%EM+A$NwM3CLQ<*cOodds&n(4$E&OA|_fnj4K4ctLZ zr@-cQwMll@Z=t(l3yPEXRxoVHN^_w9djt*-f1-xptD8Wp;SGRnT<=jue-7u?xE%gsX_I_+|E^)i`-%?!15Z7q8VtIcLy>lP=`oY&C{Us$T>vGsD#UVxp zs)h5aPIpq# zVml|7-(2#(c?58*2}^pS-;JPE00z@GT4eIka{+oP#yelo4o9$faG0FHiFIxq;9E>Z(L0$$^xQ1_TVEQN3`9ANlH=D< zweG*i=G$m(9h3YD%Ra8f`CZ;>rup1ptJ8%&@~6M%W*P1m#2369MJ`ST>rRn!XpQ_0 z5M}N{ ze|^1lp9>s!{tR?95Qzs#H7ivoK64v5m-TI@f(B?Ksj}{! zC)lGP`c9$zY;H{9kKh9bM*7thg5iqHFS-72_!e_f>^?Y-I{Yk*+vM=Dca=y8>iG+- zPcdnv%AN--0U#pS>`Li#MnIl%RY~I=gYT`*9aYco{5?~XdCY8VgiNeqwOQ6l-~i!e zPmm|*i@zvhlm3D*eg)ekjp913+>pd1zyRfC1A7E;PYZs)a+~fY^nE;F7Xlb);eD#*fB63^j|ozb9GU3oRKZ>7Gc!9>9>yqP z+fOy$Y83}kk?9oJfL*si7+wwQ9yb_>_fRk99q24BwNY%WeQs_)F!RNc8G!YxqvY?N zZBN0t^_PLrI=C53!Gv<9%4hR=+mSWWiW=C>cvC{bu*vuT7Hs{vd>@F-)QhjDpx#>z zwr{BdFuL-a`W?7b#PF3KFYASR3NE=&4&JB5!gR~GPYQY~Z(j(dvg*cSzsq|tx&kr#kcMdU(*oJJo>jk<0lZLS1{O)-3GhR-fkJ{@V)-nUk%p_4GDYfHQW>eDw!;YrC(t2{0!lC1j|CXG}FU;TQny$ce~I zJ>AZQk9W9|5Q1dtd><(00VCnFk5?rJL&7`a`Uich*YCmELPKCp`B5CdwLTd&`B28S ze!c3-Xe%#pWjIF)5*~9cncWTtAWM|!(8OzFqaEhGo&}RgGjDr$ewaJm264u#t>iV6 zWveD>(mHwoG9W;U)C)PM>EdI+Oa+STXvY6F8E2>dj~aCmcPHQ-~EuZ5EK= zd#U(u>wEjo=`XFN!v&8LfI0Z}zP|IS+lNX^;om=l-xd>Rdzv;Ddmo8OMY;tD@z4g^ zumCqnWmN~Ya}P~U<>e>u0gQj)D>8o@9Nxe?pRr%~(;P`BAg(pM zX0<1M7Zq)71!|IG1Ufl8R4D%#M3H<$-Ukwz%(OLFbR!rHU%(37*Z5J1ef6GZ z&FMF#G5qKA!4iiE@HZ6yeinv0wRW!HVrgR|(j6njhs>NeM*-3a@mXDMOA+N(PB0`x zDAeHojl^#Djs4~#OcX3A2}wvWz@RGRa(hWT2llYctzmYUXKab6dA@F&er@hN!}NvUNM4e$}YaW{fyjgLP(ODT7>6%dj>*6V^t z(>KAG*7-G~RL3Z!v!5TT)LvtCT!;q1nIo@s)AB<7<|fo@sE%J6LhImC)~4(plz z{5y`>GmYQFZ_*Qsw8OyQ+V7nmK$G>23&N1|!`8I3i2?6nfqy|85Jnt^DS4&(-8Tsw zkYaeiTRjBUT2$@&y^r5FzGje9F%V!<2Yq!WSzh7qzgMdZUR;D;M%mkUs+F!ZE(p#Y zV2nWfO2cu20px8U|#&78iq5$Fvqwi{dL?kY1G1k#BS(iCw*#|OiURV zA9^(Y?RJtE5)yxWhnfeLinl44u^}maefcFf(|qPckm(ePfEck03aT_N@wzjfI&i=} z+-Jkeu_%D;(4mNc?M)S4JbLr7+TWe6+>nK<;xWscT&fo;n`xlOhL0s(`Fa%1@%a^N z#tHHwcq>z;{p{>~fzQg?moN(h{4Vg?V0`&k1l(vw#9!2T3q%eDi)0_dWg>U zVXoPQP+giK-vYdTQ*ZRY`3mo{tzmrv;}{kiiiF^;tgXzx16Ju$zccFru%dssazaUZ zNUnkNKEolh)q|?a{Jk_vyC&OG$9P=7GOWLq2J$jgd{MQs%m02|GKlavrmCe0gpdzN zh``JOAg_BV0@F;-tFSVQ{e}unF1A;p4v&dxgV86gjm@vNaGD-VN^BsCDvkp8Ov;gC zbL~FlAp+E{3RAz3X>2J~Uv6P3hrTBkDMvjkzR^Kr4Ki3W*OeLd6v&d1_Fj2W?+Bp} zUPw}MtbvwLQGR|ir@7yk&;#%zOy|A=WfEElm=w`{K8U(ad(j+`Y?5Mm$7dJ*{xy$( z{Cym(g7)UsK04;&B}}tX^o(E#HFmHC@h$XS`x#%oyH?#~(H=X2jLROkMFo|2uXVhu zegaeR&zEY%e~6PJQ9bV#&{%M=gvIZa^X<_G2*^WX1H&x)*)Hqq1wA=8E}JN+M<$j{ z76q#;7o3w}Bo|Jzv^M@z1MX=6>#o(gq2+lJ_Fkf3St! zlL|e^#Er&b;1Yb#kB9yVGTtic6@1*(=`Z`j6$nj@Pev1}kTWt;bgVH?6J}FLdY!i% z__a%oIdSg%IWha#VVq!{?mqv{<4VedH7xCVS$y5n-`WT{xCK!HY{!l*ZZ(*Jacn^t&8} zgRB{TzlGbf@i=(0LrllY8n76`A$=k)E-5^(P`5N-dK(4hqMvC{rAv10W)TOc$>$!; z@w-r6r$cr9yn~Z-_9nB~^RhFC3>+Fak+g1SBZCAaZJSz4{s7(TXt8xVWv!>@3SK;l z{nG?g@@9!!v3#4Gf9A6N$FEfzfQ1eRlCuf+V2J-6AW3ea#R4;FWv13-u5X zc-=Yz`O(qR076BAsqccjF@a2X;b!puaWq=dMMB#c<_7ivh!?6jW# zxTnp_gb9t|>x^@Kn$5xYt~ogu&*{+8D%%ywUU8k&2O_nB!#&BJ4*_q^K92;+lL9>@C40+;ud%1we53-e7`Q)x z8tHuzY?+aKNnppn-7@oCkO0s1O4Dvv;0Mq;8uiUCLbWTo&&P5M3-c{4YT>|(ASa~q zjVFUtwg5?pAf90S2k-kR0!$dNmkQ4O8B*=G&wBVa)s3PTgWb1^+2 z3n|up6i^J-%WU;ZEbI$ViGd9e$e1*o4j#5!8%FMz?Qz{8cQE9qjTtrf`El(0`H(54 zU7gq`a-23_jK)tuOfkstgy7v_mMEcGl-n#KMXK7`YS)d#&V2nk1+l!ZHKoR1$SNHd zl>bLQ=D*JIK0VMPD$cxtTl?F)MsR^vc5l?D-MSGv%L7cN{m)jDbX5J-Y_c&CSRLMz zV>PZwxRd)|nf_)&1B0ZVYY?ks^bN91m%5vP2lDxu+M@3|*|B4Dk;zM^1O9m}F<-p& z-?#ek0T_%86u3jeqH`vc0}%hQ99!`2&+SL1_mO;nB*WII5o-RQeeb-Yq2sg3(>?VD zt~p>2-ZAs1z$xqLIRZXjwJ8mDxPZ=}k(fMi?0->v0xc-0lv(C{AT2OJe&?U{XqZ4r z-m~i59I|uPRd@gLeX*kxB>iqP1Zwuhkn7wGn=ntA!9sd=%CE0B;9-V%yy4G#_@ylY z9q0_Wxq3hArHKe1xm@Sxdh5md&c9LYks@+!!KL4qD3hiAiRdq1M!WRGHexNAiv)nU z(KA+5Z%qp!Z+<+^w<~F8X5H(_8sJicOD4FU7wRC03}9MaCH?Nkw5R$@p7wSLGk=rS zck&pxj^$U?3#{|POR=?8b|T7J+-YD&P|-8~n{G&Zl4tlKePO&#s-(e#?OKko_hi!! z<-eWv&Lh-!l9EWA=E9?cX7p}TFWc=CQCCwe--%Q=W|)Td81~xNk-?9YL~`rEm6*@F z4!|TNgH{65UXc!lqLqVY7{@@cwt|}BR&LtEaN!5iB>~e7O1lvBe&y=b;Hr2KgBxW} zY*K>nIrPwuSN}@*=c6w|qltc~E~BJ+!JiXx`B2u;X)pES3;1hsSjOezM8MCo_6J}p zFEvSVJykch*LVpdvAXs4xxg{f6lKj)UhXJaW1X-RlCRhI?an)dn(B+x1_+sBsOi>Q zR><+?SNiv0_Sa)(Mby`B>WWZP{y?!)|A=1BmmA5};i3Q`0L<$qW7;Nxd|6!sxlA(~ zU!na$a){$I{MY+cpm{vWU_Ibcg%k6FOedh60UuCVF0==1VF;G|VvdGjPseCC@?zq5 zYBxBf!To_^0l=U7+VNvU479cu6A!|&v(X@KpEuNReQoEkoA?G?J*R5Er9G@Z0ii^7 zi?#G0K9H1l^AAe})GOvF)&Rqw;l3y!okYLOro}XW*E0P+E4x1)a3QQhq^D_K?Ht5f z1#HZ6{)1ZPwbW#*>b6Xc&o+TS00L((Gx&pf{|Qa9mxs&6)14#$q)v7O-9=N~ji7#L zGdoU#P0vZcm+SBgr;EzFTt*1Y0DInb>{ zKIOhEnhwKtz!Sm1fV}*Mj8aRBA16LE1SKM(VHi% zi|P@-QS%SA6lL_1?0$m@`w^ghp?+O3N;)j6pgb%-T(bVih@KCG5@i&0-0L>QegDDF9*&4-()T8R7q-{A! zW2&`}^tFazO1c=wHU%!2DxWPV+M~gGxZIi<$;k0WsQNCYpV%>WoL@ZFCz&aJ{3}p4 z4Z3|+WNG($x`TJ9^a=y`lcC-{qUS@6pfF4u8>`pji~*1GL&ohLx*s-t*KW+dN<4`F zcw}^8<`(_~_vbO!q^+o^AT1?>D)C0H@VKR4zZ6<-5Dav_{KKsjZTc)f0xqw6O4qJ_ zd=n_s++m6e2aQ8u3_?lq`H{V{21j`ar2AQd!(OrCz|FGH5Czx{I}UT6pae0fFwq-c z6o?M*NbehnwAHy5?WuIUy7*$AJ}gYCit-1o*+8QO171PIlNgK|7o2t%$4AnPt9}Gi z@xD)rj2*Z>jBvj|plNP?3#hMESP*U>H-RW-m+qp^pZ8clFe48-iY_prKXhob;IK2S zdI>3vo=7qFdCr?*p^k^Z%=}ZI7~8GnYCHYq=ZF!O*M~uM}D)wUVCmW+kHXdlEN1TB}x^QM7Qu((-t+4 z;gr`iPtwx5#+#JxboV6)!5)c=Oo`nhv)uk{TT(l`B-%mXsnR1Zg< z@y!?`!$L?{&UJ%9JodpBl0>{PT0IRJOU*!t{1s*XPu1J})G{g)l~xe`52MUh+ILn} zmRNNB;ah>!l27gZ{R4EVE^ADudAHVPnR1dh-bgiOTs-MF#ge~+&tz;$T7{(GLteHM9)5QOOOuctJ)qfv8ejIyb?`+vZN-`od zk*sh+94jK5P{t7ro2(ScN=6(c$vVoGRYoLx?~%QJ&-1yzzu))wc-(*8_vijN@Av!l zdXDS5p3iH%HGcSl*R-I%QU=Z1qrvKbrD=i2=9B^RYPP|eQe;P)DG-*+4-TT(l7ck?ul>}Y{66g3*b0OgTd>e-005NGJXcP48w%k0w96? z8$^a6>h?R`CIQ>*vx2Re{CMlbusyO^+R1BCNRz<8ecwVclS_oOvhMeYs@8_eNx_CD zLMcX_Z?C%kP+{cJ(nl@91i$4AF69z?1Q>UXX{+e0WI97!8GCkN&ckJ{FGZ{w1F6@ODrMWl-eHWPVOad_ITKXc@QKxj)$c%C=jrWtS309Im5^{2;cc!&ChwOW9I{W{D?pS;*$ct*>z z^(zB8XzBcemhT}yqv0Rf!M?;X<1)_~dPLSy8x`q5peG`{5zJOyEWCT|_tu}!oQ?$| z>c|jGQ#fQ4wRkeES+s|drIGE*$1(#LN8mY?kW13W_tff&T%-uUTFawpA!U_yyYoyJe_?cd){VShzw3kR zl_ai96}L<^;C(Y;xNRcMtE<;aFV}EylBNCy7$L=qu+@NvJl>FM{%p##XC#W7t^BCk zM-@tQ`FU@@{Tbc4eB2yME4#I1MF=c9ylI@V>HWX{FRos=CyCma)>~2+zFl~H7%3^c zzv32L$SrC1i41%<4)zxESkNuhL-%)x5y!7&oRbYBTxGn`#>|=og`Wq8&1Xc6FpExf znt?}tK{~&E>kseN@QB=oJYKkoz4g$l; z3qRaN6*1%|e%Zkr>>PN&a>-H8vX$8$+V$_;5o_STVf%E-;zve_&w3F?tEosISHO{F zK!LiaLJ-N=2|kv3qwDt*heHG|f}iPsUbT2PFic;yX;(P~5pu7~w=NXl#e-zLeNa|b z7SD1R%g5p0jNfkc*hkU~`bkY{4*e}|Ly_?nH`31!N?mpBHgBu?eGo*4e{C4F>K^5F z%HjZn<+GO`^t7DrxSc)&K#LCMB#=Fbah-$5L8n}ZF;Yx~C^ykOuHaHsF?}JiIAVUD zw)o}A35SnvPuhIO$-lhqjVz7G^(IND;_t_YA-i>^XYx;4uY;{D>9Py#o>yW<+||M%gkA=NI0y2vYNtQspSG4S)-HjTY~%Vh!f?%Gt} z;9f^(X0iwDeaB5UVeGD{s1dHmo}zx*zlmAIAz}IQ96Kj!#^FKL$L-5G_8kQ|29yt1 z7Kssfe^Tw1jo!@$J9_w}jiwM4c-WX-Vrj7l{{~4&E4tEiY8q`+A8tHKU`kEB$AZ5# z@xz)47YqcvXSrE!egHbEo#qJj#4tZCU{AeM$8%?x=csU1UG|RP@oLy7Akg zDR}di-~{jJ>`aLGx2xBXsWy1yVg_P8PO0D$X|e&1;;CwYpAA5D;!A(F&RYnN6?eD9 z^E+Yo@$>$m$hLuPs0YrnfB%($&D0jS(XD5klAp_2-bL$srL*2#V2U*Wa)aeGZ(dYH zIceU+qWrxjo7>2TDwdhehOVw#wei2;&R%BpczHv90}pDK`fR!HVacSFAN>=?LpI=)zA`PQ^5gBX%h67yRSQc!S=jeUv0BUX zgYJV8AJ2`rvJw|9F1`x7NoulxfdU5R2NbXaMXAVZSGGR8>Df3slHoDAli}*IV^;{@ zcG5W6I^Md6y?o=HZW4bCJD@4}-o|e{kvnc4H0j}S%0QO0`QzLaKFsLKDbU7T_my4u z4JL&UgIf!x30Stpr8+o$bU&SS!zipG-Uc$iXetXn7RgI{f@d_^+7JHaDMwo!O|sY@ z1YdjMLv`lWS{-tyyuIADJinyGbdsl_P^0Rc?DR|v>!hWrL!j>MyXoAPYu14^4zZ-WW5M+= z`xVTTpxMQBNJf?%&tISTQdazcS{&vOm>Q=hVgT~SjgE+IWxCq*|?ZJZ3&QyaF?VC~T3iZ|3?#>UA6o`&Xi%LwGqDA@bxx3_NZTyVhC10NOqJYzkTG0*dqPc5V_*NxZ(Tr$>x|AZpm);w(0nCmVi3-x2d@^ zMdh=Ew0dloffbeGYaXykQj!1Zr|4vw6DU*Uz`Pfdg6-kMgFE5*KHq63zA=-&o&!upok0IgWBo6#S9Raty_kJ8rEH?fqESwV9KdYK zcc*M7XuS}6ZfyL+RN`6tUJmbP0j}7ob!+Q>7e^F9KEbU!avn&(MUe|9M{^ZIp52Os z0W)Ga`;_~7)Ali3{g)S?X+|J0zI9vaU*LUhdjtn7pUk?QkOoFO8^u9P-AE zc`BKCd`@|A(=aOSQGp<1l!?c=1f0(xK}oI2+lrTMyp?XB4RL050c?o)SJnPrR;z7t zdw`=<2WMHH!n<#W=sa4J(43mW936f;Qw(AHcs7Q+t6`|vJ%bKo1L}~(rE;qWd zaw9(0BJ}>RPeNle1OBVkdS{aAR^?Z+yu0Mg7RED9astsMRy1i*It1_Ru{9gfPAo4C z{>y;e2R+aKZNTu}#;j~To3$KM67AW9o5(?{lBA)S%_(j|L$$68_&ZuzC(s-kic2y@ z);@i6Un@1v>olP5i~W+Li;ISF(w8gC!^V4N)0+)GO9R#*iP{^eL@eB)Sgk4dylgae z;quGEcx3WZDw@K(u-!yVjlk(XTbw30vAZ&&cYA2=m#4DtGU8;%ty~%7j?{fQxwJtw z-vZAYdx5afP|3@oD={O-7jcDZ+#kW+a&m0DH0M^wHb2k0RmT6p^z8^`e+1IR|He7` zxDJ<4m8F46B92G?{4=VFG!lq)YlIo?zjR-u*PN5yrJXg&Zv4;m>S}}WtzGBL)%ueP zQ5()H@4``=BxF6`Lh5&G*CrywihHc^7R)EBYbVtCj7uru$NN81K6Qm=k9a3Ma-E*E zI?)j0=CD5v8m~X;_%}nB@S>@4W^{3<^ZfZq0$gwQ)4$KWeSAdx!v^pAa>Cgxmdj2H zyu4oQ%T)WLEK?rzo8j<6!oDw7{4Iz{*L<&=AUosJ{&+5(^ufpn`vWaHgBbOP=-gl5 z8rsg_n=Q0)1V$#fuJ^CB?T@tA>?@XYDfPF@v1ytT1cfE;TNg#1l+ID;kVS?dnMEk* z#!q6UPUJMQad&+QC|Qte{xt7={Uivk$2$F0*Ys~u*zBeu!dM+se8H#g(ONUPiBj7| zi~6xxko^o^+3qvi9^?vGR~Zq_BWAF<$VWG>e4<9_#BJY3-+w2GCieQ_fzMK-bGMT7 zDtowp>&lzsAm^stu3H{c17lXdT@OP@xvrU&4cD!>xP5m}B5ZyC+byue(%uN)DI|%a z&zoJ^iT#?*ADVG$u~ZWvoie=9iZl@wcu>#Je{DqGD_`tFGObB_RheHYH}1FL{`>b- z#r2lXdwsvMkJqY4XKK1arQu&i0!_!)VNF>PCNg4iL&nz_W14ZzV;Q+iEC@r9^Bj+w zD8?5HLs%@Of;qu?Bg#bjk)qlDxZiDKg8Jk0V8K3Faku&sT?gs}1vcf+xgL>~pEDoC z_bdT(3S%Nc8)1p@`dUj|SKPSP<6~cx{ke9nLpQ&$<8X!|NSP;8U?Kl=k^zyFS~u#D_^e|?Mg zP~z#7vczEQ)wh>is|2D4t#-$+u9c>s&BeIA8J#z~HL87qrKwg)l`L;L2WVoqMJ|lIRP7!XC#Z4;Oh% zFwUj&ql$4-#Znnk9xF~7F2@PNaEmQTB!I0!uS`Sg7oEJtiz(UX z5Nh6>PmtR0tHO^I2wNKP5uI|#xOyqGb@>YMKCjI=&)fd7Z#FljrL!z`M0Efh5ynvA4XPt0zP7dt z+|h*9hI+mX`nWO*TXJ6FqRDZ$SVWI@_|Dqky8IE$OSV&jexr(=ExQPir_5|MxlHmFO|N(yW3XMC7gr=0&s= zwN~7fpVU1gt{de!<#KKwD({6b*I9~t?lw?Lu)b-KF@P#i`NUueEz`c$O{jNO=HV)o z>RH@te=2F%NKWG@re;zqB;NIYI5@~naSEx|Q$AzyFja0yq>OSY$u#0Ls4>7$q?EFx zploNWppI+(@aeU3+m_ZZRu`qDF!+L>Tkp+|@%&YF1oVr;yA@*p=NaQ)AMXcvn9k@7 z5mbdqG0GPm?Pg+(E#VqC-^jg!Wj}k?16p$=0;J^bzjS5q)bKgeA(^Wmnmz3eF*cpM zrP41hjHY`qRvcp_(s@JXt>D&l0(iF*{qwDVOdE3Tq-6hSuE|5(B*3yQgwRPiAQKKX zJNqS5?Lx-h&G~HGxz2P2Q)TL>s`IwWW`@=QYmXQA77Jx6`!i0d(t_)%lyxK=G6@T% zZwPAaU6*pK9Utwx^nsgO@yf}gllAAyJn^h6qWvMDUPB(&8tD;_?kbg=qAUUC;IQi* zTe3H=)>b>uO9eyTt4>Z$5hFUevrYbrT#EmC)b?Ue_h=L$r?jg%$iD0hk-2i^^S7`> zYFiQ$HA3Pdn|Bxuune-bdb}u7aY^#*>G7B+yA5OIsQk&)T9Q~uW&Pa~uBN9-Zw!B(fU6t7_KFG2uYZI1L#b7n@;198mR{`$a3i zZ#4gOoPPuhW|b7?!40a+obE#!z3MeF{v&u7Q5DXEX0?nRZGvcf>DMnb+C!n#Esm*J zXhLt9E7_0?5s6=;Y&`S4yk1rc0o^m%g(jbpBir%Nhf>$?Aba{GyBtyOb3T0{bOJjwZ-|=1V{g^otK@dvNeGjIju{c-Bi@{5Vn~Lo)4aN@DS>MA~*FjIdXQ4g?<<@o=%6%_64c zN?q?Zud_J6eb^iODZ^M8`1G@vUu-Ch-Pzl1eYy;>2=Jp8m@0z>EJS2RIKCuR(cGEe z(ViPkxR(OC$EjX(s`ux*IEvc&lC*gf=v?4*6tQ4UiWARYFW)dL77{_=`PxQr4VZJb z`(&O{Ao@`ygaNXo=ZhA5f=KEj?d%&@@93M0scXt(+u>(E1~+o|%@@dIV^$q9u?eLg zUC?1h5H3N(10~7clGR`sU+Qg&z3$UQD}Qz|6ULoH!-v*QQ)URaOvuVg-0K6C%qLep zdxyxy?}|20B>@u7Ck?uE+?>*`oZ{hfx&7%7P-aOR(VKdww+}KFHl#=kU-mX~Z%mia zUuM%uX^;84@Vm_ZdRJ9e!1{T_Xioh}Z>&?gYx=dzq|9$ZQK9&PAYbufI1?);s-lAL zQ`FhbP5S79H|yG8KF5{zgxFtgrdNF{)}%tvF%za*aCm>;Q#b9U&XLm2g>7f9AXfeD z*QcxrxHg+`uP;ygYh#&>H(DU!Mw^dj`wc!`Z3Va*T$%)8tc;g=;4A2e zzo$SYC5C7asp8o6E%PwON}8Hkh%kn?bJ`xLU=|&5`{xsxyJhxfZ=**%c0x#Rlm7Ir z7YlAuLD1No9PJaIE_VmsB3cuqe_93jg`sTQy=0mgi2T=MV>&6a2_x;MV6@?2?0ah~ z+1r54wzA`8PK7?tL37vMk?@&oT@Axk46Ixd-Q5CH7cW0hf+HP(jQ<`?gV{bn3EkUv+>laFbxAgISLw+5 zW1riS$#}TX^xC==!jM=2)Z>Xp7~gvHsNhWobe5)IRe%&NqPXh)IJdF{i^aRZHG?So zu+7uCT||<2P@)G9I2B2XYP+zu+nVkU+*`MAH2-arlLu| zp!R1ys?667nR=6?6h&pV-)@Qpl>)v-5gKzLT$c-6UF^plj#-UvC$mE(a1H80dh%XQ zQC7Q*eeLf{+oBTU8G0|qM&eRf?%*~L6V{~$^7tUhjBkYxgeqFKUl-1y0416@H3drI zIy078qEFR>;N8bFdp}beAD7e@CovZcnerooh!6>$XoA<2&V9TuZ#sP&QjhB(m8`wZ z^yf!bG4+*Qiwi-^7q$cM;371$uLK=^*^lJ;{9PFBBAW1$fr3E!FqO4_>F%(+Hz>I1qFNP0(v~YYxa9rowKrP0ID z-K@$=7QB_v+ng9r=uQ{*nS&30WvrLR22ueYHn#zP8vDSD92;1DP_)44(W_Kmi2ijnjFLs%d%;j&OvhQ5B%=VscbJ z8u)N1QWHHry|&Pii)=DA$3^9si(SGCu|Fa#G_^=gW@sszc&t{>vWu$W%)aQ?xqhHg zxuvjj2>{LN^}+hlFmJQNv@=AQ;L}}c32f8{YH@^P7JU5t+etwdcXefQ;Nus0n>}bX z65-+K+F{CJY;|oy$7zOWYcRv}avi@y{(p~uay)j*SyH>huC(8#cQ3HMq=e=_66dVz z7XoN{T1vq@9Zyf}4G-2m!xJ^yOZ$eM0A$Vzx9Q7Kk$SDMEZZ(TKBaTT6J!+!qE@^T|?NQ^iX0i|#t^}y+I zhNx!BpFo)i4%qDYW)XF6;KC(F)8?cp+)F~EdjtqGGc%xpj}WqBH3U{Co2ogv&kx2< z>r56`)yv3Hp`oEe?_bg<+@iEjk`qX}k>LF;$MA3aAndEte~Vc)H5e!YvTS-QLS zWN@iTGH4_6Ww(G?angf|%ko&w{oP(`YHG6-sI56d*%6**J;hAonlb-8lV-o&zqpbh;-igNn_E(30FY_G>5uoq zS_U%BFVfq}kwzk!37YSr33AVPDg#@zu5zJnK@c_24yXjLI-xj!5u<8mn6&GIqV@~r zH6MDz&+pC32EVX6E@0w5i1X`TB0iZ5P8;;;(Yj1(qU_6JFT@^EX~SBZq{374KLhgsg6*;XAoN_m5(Mb&Yz z_Al-Icqc9O*{%2{DYN?@7XYHdOS|)AgjkPje564(7kX|Y!d0EyTs?_%3XBDkJHLw2 zRfW0RsRueX>iYZlbTJKu*#9-t3K~vK?(;_9QMpv0L^ZK*$nl;W)vdTiRksoCHV)#c z%K$be__`iUyXsKmxSAl#aT4mt$ex9J%;H*qyi?z z_px3fRjL#vzVzN}cl9sXQ`KjA=q83}B(y9x0i80o8X=xui}|X!Ea;=80KtkVZ2Vng z!d!9`G|p0wE#~+<;#WIN$QJ+S7HKjQ^y{Q$gwB3n&KetEJF@HJ2I9cF$h`M!McmP+ z%1Rx6kGpIfeO#DF`xi_-vkZK05)@v!$$)jO+0ab$8Mw2TN1j6pG&Ugu+FmN5q@Ce; zIKXeB&0VXA-DF43uYqJ@(880~S_4PDcQhd))Yx-BCK#s}+3Mh{G!2ke=2b;~gQFHTPGnn<)HIUn(fb#Eq>FVk4bVX5=SPw9+lj+cNirg&7GSumeY`_dnyl?Iw!9JLLuF!2 z08>Fq8x&F`Rlh>)iQ~11Hs9COy+xV`Km`K9`jxas&2>@}f7T_F9E@?kpCVU&lzwgT zy0j6O9YM!hw-udcbITx5MuWyufZqbVhNEC{lr9`dJMuq8qM zJd1y*<|DDH%&;Ljm_c?v)!feu{z*hoc&FCvE~yu`D9?}+g}^$-U!f)e{1!2Kbgv`X zR>UbzfmmGZh5BvN8-Z6dUYhcGl9-&MZ%7oGycmn|mbMY);}!C_AJvrwcWClX}c zx#?*$oYx8aCw%7m=j(f4)(#Aq;J=M(3;Z@bxG|wHwoiR>Fj$X7z}7oVY~Zr(m8GI` z_mzsl#j(oUUVmdOl*kx`&{ZK{cgn(I`7<^7{I{*uQ_=NZ$sTMJcZn ze2l!4>ppxR*OfkeA#~)U5Pkf05h7%g5wp+9zS*76E#HeSL9cX|tfRX}UzN=WS8x;L zU@k5k*O(AMzdfDBz0Qig1K);>!1aCGhjx9<#Bx!x-ySj8xCLd--*(}yFvl?pjK>Io@O ztD0T^Jq4uC?AYvH;fE`tN{Rcu*F#DIG@@9}BkR_mwgr}igb)NQ8fAP-sXv-Y&@<{( z>1ueiZG2uh5q13>-wB~#?M8&KOwz`oh$R7l6m;=gjeT1$qu{A5*kmu`^Bp{wZuC5n z3fv>9d*BLFI`a7?9nyqC$qE$=t=WGMrb1BYr+skW$lN?~*yEt!AfWC7Ct=6c!RQBL z5;2q_+*E*k#Sg!&Y742j7d;^3{O|N6I~M8oh(QXrt_4zG#EwKS<6gs6F#)N0P5u2} zg5u|=!!El26Lvq|R;8sN2|3+8rSQ^k|L;*iNF9hU+ltJH{!AlIe+S3Tir85rwaD=? zpje$!iY(Uh}Q=TTvM64eM`3+tkL30z-stCCAg6vGmVi}V04uYlh&@w`&lEjvcX`GQ1IQqDb&=~GeGj= zwLtTahBD@=z>CC1?M@uK$M_n>!!i4 zfc<&j;Kp~In+q3`|B!?Zd~6cY$9eL?4Se9@!nwuxW5L2RTpqTdl=5+TVMlK8#a}Zu zO;O@v!cOz-wo#yBuaX4pci7ap^RADbMrV~paRnc3TqxPz*_kBd-a|+WhMA;4e0}9T zVTTz$W&_@lj|Xuku)~}YZ#LT-r#6IlGq}3n1#wW^kFhs2I2x>Z_PW?<{n=<_t? z)lY_S^=qYr7I5onUfe+@zmcbHZ$-jp#^E(1 z=B;_0r%)9Uz61UA>C=1(i=n3DkJ?8q3K1Q(?DjB!!^*`q(Bc++_$P@vjGv$X%gMn~ zyw=USktmhbBsE2eCm#q2pcuVP72S`x1c>@QXo@!P!%F}tMEl&=q}^Ac#*e;PZ<~Gd z$}NjuQ^R8kX5^X6xU3^X@uM?eqrA<|^NOE46-{XC2_YUo+6ocPFWC^;Hf9b@C2FMamAaAm5pvnl>>G6?p@aSy5Ap>CU-gAyX0(+rV|*k zFBWm^o%QUwJ-5Poh1ctL!$%5X`K)Zch|;bTqul8tD2&5SrzKWE0nO9_Pm0jJWG(%*2UGq5wrJL--5Z5?R;3s;ysI*-*V7M9~|cM6P;^4bvEC z3g3!rQ0W}Gru`g{aeP88g$v2nOda-=3>>AKKMI5)pro4ItD3{edCe|Pt**L;eV-^R z2}ebWqd}2^2Lqu8yd5_FKyg1O`K(MkumAz8{lbuRyOmFCla0=eI&nkw7@9mmp;IX__YU>~X;o{jdSarrT znoU^vkM%4UC?^A;vreUY!xZMn4lsQdJ!rPJvqRW`}{M&cj-+M_L@+Y2+gThr4SnI+C@Q-cx4p)HZI^1qO(^GPUJ=@Q1umMHK4f zFArf(h@DAhSP8m=q??6(s?~tqK=HimH=M{d<#h#sOuaX6m)^bQQMA&I{I7Ze8Un7e zee1qyM>11#9y~4-$p*Qj_p2i+oC!+2cQ~%foBC(ihpno0;iM^0I?3V&T`2+fVX0K> z>)&kxW|C&7Eu;D7tUy?Nrlah)lw0-6<)Vb!!!Rv$=-2&tG}O7ImKm?cW|pvc(cG*F zlW;bpHU3v%j`RZL(xxHeD4%GiI4ixI=aMMqTV!Mad`_Lc=im2DBFtWpnSuLrP_Q&G z5;87^tv0^Cm3;W`^T@7}4@V`g5Z4((3^8A(nX2fkJQQ9};aHC{Og@v5+%j|8jI z&`SWj2=dbY7I9v0mi*h=BAFNEv6yhus*cq{G_BvSH$PCBn(*|S<t(y*DO1ut8A zQg;eya3avLTBntGfKQPBcHwJwhLwOu@0euWc4TQ-+?@6Xmh6`Xhr)Z3?HirVf<&As(WLXFb5W98c?hfF&D!`9=UG-G(k}z9kr5=ms9X!sA^%?PRb;X62R2>WonOEhAhR zohGTtC3X$?kIb51hbkYhQbJ(?w19SYzFXUPmJ85deR? zz$L)#Ax*AuG{Z__tYa^q{VlhW+1azXi8G;*ERuloly7$J`YG<=C7ODGg38U=NweL> zL9uX!gp@SN(@d^4u!Z`(Y$(gxCS7C`kAq|%9)Yog!2o<^*L{$x`a_6|g}Ue(rglaw z^|JAb1`jO>C??gEOh0*=!}W}L)b%eEif>jf6NTZjka6E9oQ;*8snGNuEWHQoT_0amK#>B_v)1HVPYcE@86D z)tCvuqGqV=_MiQ;mB(u9i3=7B{D>?kU6kW57F%XAG<){Ee=C&6Bl5X#nS?4c7TU@H zQdNvV7-r`%!3!J1&5|`bKF%Y{iT@vgtnT^!`^vprAbduTOpcVIKt1Il{bFirYCHVt zzTn69QHa{bch4gliPKe9S3zd?UN7TqMLGAoWV)Ey+-Tq`sEZ7KJhWc$7wqdv`S4)0*B|I=D6usO%S=i!?-MK<9pTmi-iRpx=E zC8(053kVC@uW=F=Nx#%?1K}7YFN12=zZ>ViZcq7fyihMf#XpYw8-f3j;Ew^9Qdy3^ z%hJ+DJF+*ViK+-6pXk3ilVPd3g~16?hL^jI|1<~ZJejr(vsw_SP^s;=}<`0 z`BNvxJ2-i0E57C?7)o$IaOL`Q?j7sTg-?9wRAZ$p5ow`G9~pQ-yiWGCZ@uRk$&PEj z9aU8y!b}966z~02TY1)Kv;F$RM0GwVW&tm-zCi2seyBJ-9#&yZ6L-e>5%j7bcZjXzul> zO>TEcbc`#XZvD9eImrERr848kh1ZHO6R4sWD_kNah6`jI3IT>*B6ori(JHqFgqEb5 znuooGRrf6e{8SDS1FVLOv;e}{O~2UW(tGohFXfLkjE<7^rXWqK;L|EW zDGCvgi3<7j5}ieT&{b)}R|sNprm83@_N%(e_ehc-zj7p>fJyWu%x|Hp=hE4iMRq0w~SBRVk@}ee}2@I7boa z;^=5&xqC0QG1THqFtio7HR9&v1 zDc;-+I6y7m5uM(p|ANC`>tr17CcJMO&r?whE%pP$TcZ zp4Wa>`r--o{|+NOeCfU^mAfgMv(_(5{7loN1%FpgW##U4!sF-wHq^Bp9$#bJBd+X; z*Fp8IV%jj=)NWe$1iUjCN?@-}*dR-6%LX6{8r*NvgNYsAyhu)F4tzl6nIWsk)Cngs zcEY+MErGhIy?Kc^$B6uz*ulYpr>>A71V$SpOVbwfY3=I|(cAwx^ouX{1?oIEz}ZxN z3~Wsf0aTQaS>#OVtFLbF$ITUM-qS$b0a+_kW1)S~d zh@jX`E(%Yifo#;e2Cf?%MfhpNy$xEfz}pYo9Ia6-cfIMTxfEYW1}^B3X{94SKNxxf zCvkK1*=%&*R6uo*%UZD*(czh~(x1I{D_Ar)N53T-y`_wP6CNBYzW3V#}Oz>61U zfy%Lru&@{k1u;&bKPb**R^3s<WnP&Dv!7m1#u{bO_fPDihVSCy&-2B@i2{#4kf^ zA_xt|F!mb75jxLxrMGuNhrRqEUeyN2AwI`HXGJhYiGtn?M%(`VQZD}FO3KwN1S&01 z>IZ-OxA1EtwL5?W=AQJ!N}%G9449zABX(H(j^r9;JqhkKX?qHw?LH}%3&mP!I(nlC zs5~npN>|=g^?vZ~QGDbb z9kjf`(HOWJNas7^@m$&g)~ul5!Yb`nbvFoI{pt_fG&~L#@}{!6k3amh*Vm+W51u+Z z_937)b=nI}04OI!CR;o8GoR5rsxxY&$ujDE1%)}84H=K6^T~#(?$RtSst+1N#(WOd zs(Hss&Rx*&2i+zROL7oQ6+UY8An@FOH%23Fab=?Jg$luq#R)wTOvyUs8v?G0ln9Wc70 zOkUDg`~aqFG7kFk@U_+vc#mjGr#Al5Q;xo^Z6U5hH?Gt!^2{W(Sy~m2Z8Y*Zb8e6@M^Fq9^B%lM zP%V_e?ci+7`I3Cwcw^xs8~%uA>{G4(xQL4lA__Q~VmSSpnaTU$?^k2)i>IQpLCW9` zwJFv_iK_M`tQ@^F1pR?)xyZ1L_e{WhE;uJP0TcAfR|<1&xzyn*K+K>M`o7 zY23i;iC=t&nL)n4Nzf%nx(EE~=;=v#@Lw3Zi*I`o11D-T;e2cDE85-dC5_bno;Z_- z8ltgnS3q865&r!-%~YR}a(4a0UX9l;jLGoRdidQ{iZE+s%kdHfPx{CaFol`)=r|k6 zOG}2X>vQUP6)F=buMdI-Do;t8GLM#}=()FAq9pjCB6uQP4*+qcVLe=}XE$#?JG-)rS=z!24NKE6{(@5cthy+L3sRXeeevmiS_ZL4LWE-{RLyc!;Zh__=P2~8^o$> z>k}01+0#qv^BYpFe<`4!ze&)+^?|y`3;`WxJ8m7|xPts}YH(@*jUEkBTNUf3D7#nfQw7iAN~l zESs%%(s-c@F5`qqi{!e6hlYpqhM(e>onhxvmp_+}#z~cNpYH$qw+qHrHwZ_rvz0Jp zawLGf@s~8)y^8~4qJa!qgT!$2tKnu{nCUj1; zX(#nEFg1Oy2h6hH-o$f{zdnPhr-WrZ3RwE^M%E1zX0SZc@A#v2A4op?(KWr<)ElBt zOR0g2XPRpU9=#M1&vLd7=rYSrB^q(P3W~>>pg0DliN4yrJw~b9xt3;Pj zS!T2?iFEA(VX09A_Y)G6{nC)he;r+)Wt!WGRnsPi#MAW`Ln62u$BD}9;hnh(*f>c< z?GF6g_JQ0TfId(fD3Ehvpb`S9_@zsiP+!;&VID{c;VdM8wihe0A-A64r33+uRaJb~ za|@;4!xU*g$wOl0&wvn{@kLX4T7A+=@0R}dGn)dH;4G}t9@(82jsi`4I{^qC`TlP) zb%qhUe1^Da(^{O@uIi)QdZktw+!=B1v@3aOHY0vTZxS)~%h$*p&$~WwHT5IK!G zfu;E0mePM;U$l)4pX!kKb-CykuT|V*TYetXJJPMS|3IG}D@F@NE=wPWIOONhcse-? zS#o8se3y`;o^z?oCZmv|*@bt8-#kDLjPqQa(hkAvT)R|ckC;^nBBQL`-D&@PcKHR} zs$k3@<%jxWpM-W?`^-&iHf#F}snlUtui~1cZ35Z^1SQ*TrlnOOjG*HlR{;b3UpJuN znFjSNp3fa9vnJp~7c?Iy|sA`#71-gt-hO(|c41C`Aj)UAx(cBB2aIN_}E+e3vUN^5C4Y zaX^g|3mj+V-Va~aHufp1?=dXt>+CXoC}vi@3f2F+uS}3XqyHOV)DeL(iY9VHD?Ne^ zD*WFD?dZpk;Ic|p%mxlcD+J2{?2;>;s z|NgzJtTgqvqV~)Kpz#CJM6mm&;fhbv_ScvwA$Rb4Y_Zs(HP|E5PHP3(Cc(7Kwq zuX{G-rgm4$2q{_3HHH6AN8z1gXnf!y1(F#F{GWwCkpNzMM4>8y7I)7(sQ{8iQZ>Si zCQ1GaZ&(S>vYp9gxj60?FP!u1KAw6$cr_FH)X0ja$V{NVteA&%AXDwy&4@7|wK>Ye zu$~YgLGHM-N<4itI4_9?i8pklB_sM*YJiiTH}|$qdUad-sPaScdpKlK)I~ro=6=d} zrKc!CBwn8Z{ouNvVg#iaE!k2F9E4|D>Ku<1ANZkVK>>B^H3LcFpa?oOwv>{$$n;ohIpmS{qu0fEJ>lw zE(~LQx6{+T`kg$M9dWxf3fl-n?00C0;G2;{Q{D#SaF8_A#04X30b-8_JV?>%hlAZY z5)2J}=QAX;0i2a2G1IKNy3ud_zge0E4Dz8K-Ub zg4lxHo zA!p9q2#072;0q@wr~jPWa1Keb!Uez^AVC2rdyamQ0RT5(bQgN06B_>-x}2BXf2iVv zCRkQSJ$iWqm>Tmh^oGLlgW~50V*T3_pZQrl6#E%sf4xzT|F+m$$yo;K!a;iYM!4!b zSr@Ndc>(LUbU}UhT9JzeUV=U}fwQ`M&e7E3KypfdYrn>fm6w+v=N4+ZEx}z>d^tH) zo)Z3wU;?a=D%q@C#tm2Kc;(S;g*Vy2`^5v&%Sh-G0F=s@Xy8#!Tn>Yrso7MKN?r65 zB0qc?I*%@F7&Z~+`t}>>Rq;o}d!WRs#9Iz#d^yBSUYI;-n|1>4_LxJNjW5IZ-8XCi z^fO)_3dc&rUr;3+=~n0-(zCvG;S>9%WV&|hBFEcHH8*~={I09|Jdgsth_IPiREc9c z*^Pxbg@+`e%X^MOAc(M2Pu%rVvt+j`O_}+;6UGKoB0tpmQlHJ*U^!T;;thb~=g*hL zExz=?>BuPWddVs0g}wi)H_hw%P_?N~wzy?cRh1nJGq4OHX(2L}C&uC=ipQT=6`-d@ zyngd0>7}-9T(vm*{#uHy@hU$@3;}J1nvV~h7gZj_C7HGoh%Zj?`QK1I253x^@A|(f z$Hc14T#UcR&U0YsS=p?~twr!}<9`*`vzG6k2{vD*=_{H>tWKmAR|i?QFwEzFo&fMN z0}``l2JG8lt{3W!zuVxDP6Gw0bax3WM*(oscigp`Y=eVxv5aE(2zt zgC0&yu)pRXYace7aI@W213Cpd2&pP{yQF?D7bq!EM2NUsdH7y?ehT91pKtwFLX*Va zApXryrC4#DI!{Ljn4j$lFeFS+peqZ*N(-ywUT&3`nPFs{wLg8JQ0;1vmWR<@lB$%@ zOx}t^-N3+;w9AHfKFFaUe7*L5O)XvxIUCA%F8Isb@Rvc|WJB^_eS-LOW)|a}=NY%TeE6^<;SJ0!POGUkpdid~hrLV*#A z0nk3|L%3}PL9elq8tK<`eNNP(KM*|uw=4OG#T8zjZwz#g)Ajk$jQaNDIsYuo1|#(U ze>G8>+V$sJc}f9(i(j^c_|Tkk$aB9dej9$9kOKMGKMy5R$naR}P*#Pj|6Rxa!NKRS ztYan+l4ophNdIqClC5CAIwVi-4L^?M-}kM|lKy+wdC~jWk%1GyaP6gsuZmru0r(z9 zPzm5Rfd8#}Er-6EAV`uXze!2|j3_QX+VTQ~nA}?a42RN#uK$Oqua2s6-M-#{bT>%1 zbV(y1AT27nr348HK^jzIqex4LbcvL7iAX5j2x8Dkhk!_kNcyeUbHDLBf1NY#9qhNB z6?4rw*HQ0M{EVqe5Y|R<(HA~5H_9ra@9O?@t>c*}14RIq)YRB}^b8^a7u!@t%Y(-8 zOKev2r8m?;;Np^(MoiGQNJ(!A1v5{UK35{)x^1%hMB-g+z&^(AzPzz-1FBH3Iofm- z=2>vp?&UpnosN&n(m>mJRy;dP?i46S7<0eUa3XOTgpGTvDbB`8T>$0XFy_hr1cp1FGq)xA0DalwsobDh{I8;ZG)OMjL(* zlKx(~dKFILImxR2aImS-TqH$m#jwoB#>PC2N(m9^MlasxjOs}U*{!Ty1bI4OKna99LH5oQe ztoOLOx<-B0TIr=!8FigD_y-2t(*SlZW#dbO*N`!c#u7|LJ`^K-6Y8TQ)m}S>R0|?b zO5@g&QrixkCJsN&Ux%tk;xbDsw`m?iu|@wQlkvLM;^A!(P+loxBb0%ES4ML{ixRSI z{PHqMHV$mDu_$~VS2jO8ex8U6Bb)BY8i<#kkVy{v@pJrDSz5kdEik)b4<#`OYcQ9$ z3c4>?d*s=O8sXE$>qv1hlbP2tgiBteG3IVR79aV z4SYul6mC|KJ=(6ZJVG*u^48|2;!WzSgDTWjp*W?br9^!Cb~zac#C)^$Heqg^o>A+w z0esVPY^W7lH-7LPZ7|#_4MiFX=gsV1`NbtdCoQ z(I$`_FU`h@4$yaffh2<(rwdRB(k+SHH3eG4yLanXldIJ-eg}4XaOOsFLfWagwH?VdAIUk<`cbAM4lJCDI&?;5y#Hsn9T{g|YwaHvEo23^pAT>o{CV zl0I>63OouDQbvT1GC`Y6kxXaX@pyfG+DqF8FeN$gepGP6AGIdTJ!J5zs*$UTVLI5+ zA;3zeG=oW|v2;SiIU%{$Q__2=^$p#3HT~+oHedp>x8lSitqD36k&#!g7=JzR@>AhS z(se1dIOroOGZ0rSGfV$2P|a3@6V0(zVCxvM{6;?n;sx+ul)76uIP^kapr>+0*7+)xpWgV~pu{?}a)10CLl=^thXM|L-E)(LUBY+6||@%dI*^A@lRQl|99P zd~|o0FiUC|s9}{t)!{q(<+`sp@foir8P2qB+)ArFk&3L}E+KlNA79gkPjy4ip=#Kk zx(cABFub`zNnI$Zq2(eaA$d_+s(b&|*+UrGi_~D251>rog6tgbj;>pSu^tW~1rsBM zg&lux%|6U7tIYC>jkjQpQ2%?#5HCtfh~OB@_8yDX{)Z|2ch`F0qjwHzT#+?LbNdex zN~s}bZhjN)K4eDMV7jPOkxRLIXqrHSn)Avl-dk1PauD8yqxsiOgyM!|!KtfuB*w?KDK=S0d^aZpQs46zA>RNjT5hcf^les;=}*`frIKuolb%*n=f?EptynXDnj_HV<{orbf}VV?IoFIB+|}Gz6CzF+pL_ar7a`hL?-*eYJJ-gW5Pig9 zIyq5ezwJNHl4}HYa0+hO6Jo4;*|i3LrTKuAb;#ctQfGZx&cx^thJ=B~zq6WO5ihOV zKNf#Z69Pii$23Zt!280+!#nA%@}2gE&ryjDA|LI1D>gtfP&}#m2zIxYKYlkdl!mn| z1qli6zN~n@?>2JxBskLp;VWQ-czG)=M!(={$ z>pbl$(SYlZxPMuA*Bg2`_w z45|s&UtP-9x*H;U2VCR)BgOGyIQ6pw`QUWFZ*6H@i+lSPKp8U#_Ncih^hRyAoY=|J zkqCOq*;I+C2D1{}%_+WanyQPSv=Z}L(F?pwQx$V0H$d=#BMaaTKk$=CKR^22mbw2#S$etG);!fl_pVVaq-DIrnolc*EO3`D8w_IG}sCL5PW3fE|{SE96 zXjSk{ioqDk1Eu+EEO?LU>Mw?Z>-cm414?9LeEx{V$FpkHgkEP)p?vS=C?)Gx;am>C zO!octTaTAMGvMgon`R2354+Bm4<4{i1&L6$#7b`R6x0rW&@Y$$)QmH$r7NN&Dqe-z z(7zvDLcwM^=Rxr|^<0IYzI}_e7W4Pywm^eJ9{G9?6kBEw}!S;>-fL?t7ba`Y0XO?y6Eycsrplm^3 zO#(D$hEc3EM->f;Olp{KP*Ffl>-9sd^P(y~Um)D!-#A=|` z=Th7o?2i-zGhCUxk`f(2*W4>hupI_3jP(n!0gPbV6DyweWr-Pr=O7341fWfCo}Nnj z?R(e)%e%1a%sAD}tDc!n&b+h7vm&nZ2Yvz5)830Y$x*yr*5a z5lse2khQ@I+-ur*7}}f9)R=1MyDVNSXM-TWG-eW_-*(%ZQDPe^V z6E3NH*(*Yv=OMl;D#pNd@&Bx)&TViUyW~+1R41%~idW>)XjL@PGwlR=dXnAjk&1s) zA(?g@`F&-_jgRk$WcVT&nL* zNFZjGwkrn*2aCG{qCH^s8Kv;EnHu(`@R*dLa|r|svNs%HvU;)vb)*D9JqzB zwSX-)SAH*05a!~q24OwXMz#F_-R5{T4kB;)y*cq1_|V9L@Q7X?W1h?n6QE;xEJYAd z0hX#rfVFY%8-cK87XNtc%(^P#)9qCnA(TgR^U^rz6JC>$X(V}A zvi!jKJ^`2}Q76*V+)ZNh>YEB@lqK4Mqlvb(1nstQ?&64_D2hYNpj9ASOFfXGokVC) z>}sp?y?Z_Q%6~4~KmG*L4@8>?!Xku%dUk~DmhVwMqhvcC?-5(H)6xTChw1xWT4aSg zOkVEwtu`_)b|(P(LBSKMBLB{2@R%C>IDI)^M*%~Zrpl<+^rPtTj5pRfwC9fGsWNQb!?Lrb^iPb!bj2cv95bjd9M}Pu@rAJU+Zey zqO88<*7Yrszh;?Q68!07MxY4r#D=jUX?MFQBoUh9k+XtySb!*FAvPnR!FLEbY!4oc z9}egl6w@q);R7{F=C)+ex%5)?bj|^%*qD*Lkn7DuUZcfQqRLl z99HNd6lo6^wj@<4f{BbWs zFLvH$Uw(XCtEk-a1`ApxSeZrD0icak`aAc4Q>#_b`3-We9MsS(JVWf}g!8SapKVb* zbkt+cIiiH3qBDgzKHahhVGCk`%?VzBMarkeXGe~$4@^zRQY+;=7DCU0_*WhB@?fBu zB5HajC(I^56=@BwjYp~fvNezZ>FJ{+hlMte8A|NFw+r9^2Ys-mf9UpOg8|6STr@8+ z%g`d1&CfgMf8IPpioVP%8To%4B%pd!Kc1#6p`D2uV$XoOBc=+y;K5P*=TzuaCh?g| z$kV4!QR?^EQ1GSDp%Am>3tn+73SkiI=V3L1z@bI`F6_DBN~Dy6A~Ok;24-)!ixA`3 zjS8Hz{aeJxN=UfG7?Z*1MN>0eB3YLpEjTG_a?)%t;mrSO7QyPUsqiR_*ANH}7(fFR zUq-QwjbFaI&-=M-+Av{(f$;{e5H!zBFghdnx;`#0uLBP+`ZDc9Cw>p?h0F2Z4%PCfOB96yCQ0?#pS@1*rnr zi}f$vA>?`DEo5qAk5{&AwJJH-0~#~-Oa%tKX{og@b{{4PA%yX~+xkMJf zfrn}fcwYPsYTnEG`DJzV%a=8;%9gVSpnR1Y2eWjrxT>57+vJ)BB7v_K^+0P!e2@sQ z^A-RRiACPq@zZS2;z&P%rtl8DqU-<`f<+INvtey~6Sricn~yZv0%=sX^g}bGonXjx zHQOEi?xyoy&=1}*Gnb?YbTk{8omDPelt^Q?Wn!&@s0gFMz*i+Y9IRu~&&=zwS99)t zXv|dMro#PL24cJo5~HyN5tLZ~84J2AK`&}AuO!O;ufy$h?=$kh+vI;{|DN9BPSjR} zH86iZ=bVMYs)f1lMLFF_==3LXB|)s;?@qs^1cTrX(cnW}Z$H1q>K@h(U}{B*&o+T_ z5>D;Q7p6hL1cd0T|K?{lGt5q`AhhF?p**=^hCJPyMF1Y0`{Fm1pmiskuR3}7l!IbU zqhsiGU0=NmG(&xeoKWT>bjy)sgbDE^fvBx2UiUE=D6fB}SCwSu4|P*Sx@6w(km{~Bl0tofI@kqrAcSIIt%VH@ z4QU68A`qI*_dY&rfcR0m1bhDm2b9c80e&qq@PDTR$&7;r!r3IxNeI~bM-ThR$`*S<9ABp6M`g0=&N0$y^_n!63$y;4-=@F6`>lOJ{bYwSDxfpi>Q0`&g=|Gxl*s-!bi=GSmEoqqS;DX?s?a6ss>ViCU*;A3(R1;-1aYjFqOM=aZw97tEX!w4 zT`e166Ce^Aa8{!GIFmJ`lt2?RS#9`Xj_Ws=h63|I&#ZN_h3(HAeh4sRk7ql=KbYsS zfI8Bk)sw6}1eZa9@>x50ihdoF6dlq7%qtY=MzSmrl*wuV*;H|J?zR5(DFLA70emco z>5l-?5Xb*_|E%=b$+JL;*!owZjHUa?LO;?VY>6GzeKgJrT@OrM3v{1s*SIppXTLZ* z{9@*kfTo`i=wT}A z>!pC7`@lm5RmyUUZmzd?#9~FoZIdgzz^H++^s2o4YY#9k#}uS3a$@Y~+n;Pd=vwYU zYrM6_y3TWH+@8^9zH_m?f|UT`n1TlWXe;Vo*oQ|f3R#*Nmv??_GJlNI)ZpDh{~fsX zWhYvcu3n_ccChuO`N+)(2~`gGc5uS(ytTuQA@wL4cj1L2imgClLI&v?MMgib4Jgdk zmUb|c1lb{o6v<#FVKo25uBfr`yjOw9xkY5aQ0i_3({KmhqFk))!_a6u#|XBI4wO%$ zY<)Mq@sPhWIr)XCd1Dp-jkr2iWks#;_2vHKM#Ujk5v z%czA19n59zBg|+{#0vV~6?CKg$k{T`-JtlPB#01ex$Rj69V{#Fdh2b>aVLL1HP|^m zf!QlI-4ilCG5aVX^*7+R-dj^AOISA_68)7Bf5iD!LzZ5A(?}q$Wo?nRVH64&FK>8U7yT~Cbwc7|!g`|?h`~YyL zCf^_6Ip-?_;|I++Y#bbWvs5)L-X~gC#$D%3_&!bx{q?(hMS03AT~#mY-R?2JwHy}s z+^(!R1WwP)SXN=|2V2f}eXtMp>{(WUakakf(Xa1oA7$tux|4u*Kp5V=3U4CgVk_q; zX9{Jyu_^)h!5J-4fvDrlRvZ)snTGlCrD&lr9DK41(Bj*8X za4RpyN|RMn<3cSRi-DQ4Is^#RL?ABYK*H2zL^FuYmtgc!<6wuSJJf=G!J1a};ln0_ zg*N@rm6u?KEfSjAJ(%V>d<0xRUI2Z~=T#tK7g>8-Gu{i_OQP)G5{$$DlM+n1=sJa& zxA7WvlzDlBXz%eEHrg!3J0N3LCnRuhS%YX$FN??Jrv<7Ud;E4H6(rk`3-V+?ncJzNwkb|~g}HKIJP-f+ z9VYew7Y_^v@Uj2s$+brsdmJzTWf+u97$>^fy8it;7KRX1fmmB$4c8E|O!~@vfPfmv zH(y5$HhnmW=|$871219JQ0mu};cURL21GGl$R#N47hkjS_h&$Mlf?y}*p{ZK!PFgd z-#%1`<6=$#cCv+PFY2J35u!L8jaaxC4jA@b1?-#eN)=eGmM|<5$6Bl9d`2DiZ5g4Zz&8Unyo~^wSttLRAqVz zPzw^qnVc*6qS6!lgDSV6DBP5%ZIrVAe8aS*6)LKkxqbmP6P5EscgMDmp? zho*)VMOkvtfrdcGH`ZhR_O>=}Vz1r$FL9aWq1+Gd?Z1BgvhJg56+Gn|G64mA%XzRl zLmf0!fgubkcUxL&r*XjuzF4q?c`2I4kPvZ;acp!YRf`w5@=GYXGoY^qRvsMY_%9`B z^6m#h>^Ad6idul0NA19Ur~f`2QLKNCwbXen%7rlyLtx=~>mp^=Q#`ysvvp{wTfbbD zyBD3M8h+wU-U>~|bxTqqGj1zMB6K)e@z`%-QJNmfJJ^yA5!F-YK($1%e zISN{h&83bj9M)G5&HQM2pFTGgVZrp9M)_QV)qMXy8{D0oZto8rPGu9c<|bV#yKcqI z6H~XsV2+P_<(V!*#=*vVQCpi?>PhzG9Qf@>i60#s^v_O)ra+Pc2MgvaiDWNwDtz(;LPO@dbq6bL{e zAh1T>4iGai?C=b(ou47+po5*yrijnf8>Lu{Jb!?%Vp6Og6ul*D9YlzKvmn%8hs7Ifz)w&&U6;Sh&mMYum( zaUeqLxBWb@eUfkDI{BIqh%gXM&E8x1yu~TO)Y&{ve)63TT)8`slasAu(>e(q?L)({ zB8~|`htcuJI=^D*3LB06BWyYjy4{4hfOG#8=HT%AcC%)nO3E~NRfyqU6-+r{5Gv(5 zdGQntz+Hg*E;N7#fUkn^g1irQbz~9nsa}f{u=er(vXrX5+5Ot7ru9={lTPo_+7D9L z7r|y`cHy^tBxI$v9th29;a|cz8^9bXL4lHt#IZret?hz!U7hi2s&*#W!`P!DGA!Zx z)TpaEA18oXqdOG>j;hc~ZO*BX+q->}z-gcs>54R*duaEBn>;KPA2I}0bQevyS_PFV z-rH+XLINqX>YCdRf^zEI=X>BCOZaiB)B&zf?9vzh!A$<>g!1v``?dBi9@rYy^>s-Z zo_y60_MK1t2a<)srYj1A8{yKQz*WM|vwG{P=h1gF{+}1z1h_6{3&Ob~RiM;o1+SFA zcYFtS68u1MxGfHR#MwXHGTR4WGI-;7~)S)$95JnRbY7(H@51z71V%NQ4os7Wbo>CO_MG)gO%# z{jcT&n_*DvlFxq0%OeT%b&TG$J3wsVZf8TDFDLh+t+%z56r=~B0f!o);G&d4WwH$l z6T@KFzh|d!m!9csqf9l6ti30DDHxp2qcjjHkF5@Sc*`RCQ3}n<9=6 zK{)*!*wLB@_xyG@+zRL>_MB~`m3?6J;h--$7;$lAjl*$^%w=MJ&KAQ>X-BQvlShbl zo?-W@>h6Kih0nFpF?)f7R^#eb(xAV`v$o~04eujMxDbQSG`-*Ybe?2DyIg^`#;{2L z$*SFhQt%;?Hx^vvPVBj0&G>id>(!>Ferev0?W#XuAwB}e!ZWfzF0wN`ACB_@z#SXR zX0Qe#fwv5&bIT2G{zeOL4vx#R&V_}i=AKnc_*_;$Bd8p%Wk&Lzv0|~yUpHtypHt1T z1wJ{&z%tLrb^?f(D^Bs{-OZn{pEux#%dG+V9G=huIM`3y$wF5+|7MYslgBw(iMh~; z1vWCYY^yeyI9v-0?;7F+0l_kNNeM=B__<%~1`vnA|7?0OlA{&P)&sW$ILzg1*M?!) zfZq&H>@_*uRB7RZgVGZ0UwE$WaTp$DhMnX4mL53iID$A6PhdG>0Hk}o?)Y>v2pR&g zbdnBn5Z7tl=Tkn^Miv4xNv6P+aim~)5T+$9DC)3m2M8{)&TZCqfz@YFyN!oaWr?S@ zN^~@Mb+Bfs;hRu~sxFMLMkDiHa2G**Yk%MUN?Yw!Bs;YF{`?hR+$K%%%7(d%pBO|* zaDyX-(w_m)Kvv`+iotfqj-NpX3g_~B+5!EzgnU%?thxlc9qP;gBnxE2zP-HSVr{lN z18qRzgf%Zl&Vw|b&$QIfh2cGpgxAFapx{maWm=`WRH1n>nPvSuThk4W@j?_C(youj zN~Q4=`cmLa60-g=jurFyP7h^F%ywG@lQ?22C#3`?Qh-bSJ8-M8leG)1cenx-B_tlz zgX<)+xAiO?cHz6LA6wr=rF%$ZC?SU1yYpCzj2scu&k=YCqf zXoN)!{O0qVl#SuMU{-Bx+$C&5$WLok={L~G$yKkdk!Nc5g3udK0Sv) zhQG(4&IXZOHB&!9-i;P;d;PExWiIB+8PkPP3okQ|W3l#%|Absh#x^*W(SjLUozgd0 z*#aWD1Fpor3t%z><9PN2EkuUF7Dt5kJY-kFPreD1_o@mqV1ve_Jxn38N@^!A;lt8$h+Ls#D4)8VEXe;@eJ1j~gJn9!it zj24wwZsbUK^(pSqy7LmUp^cQZ1J!=y0&+kuzj|DF_qbrVT1^Qk$)66kvlr*0g6D~E zwHjVK)kp&?!W~eusQ4npjmbo`fg*qv=ZvsiU^}wot1qQBe8ooPLDS>C%Gdco&2YE_ zB)HP#+b#`KAt@a01pW%4E!P21}fRnd+*F4D(^r zmtY@O=7aU~;3c)Go|-dn<1@I|6@VmLNxBd-G1#lbqAdJ4dqTpSG`3-@gi-KkLm_*c<7nls4Yznvt4VN-D$8 zY|Gc~x+{9b9Zgr<)*!^itgA?ddMO05L+oVgod+TI1EIL$%vMiClo~ED+&3I5S{mXt zk3U{ci9V=os;K%oHi9*nCD^S$)Yfk&(f>Fh49|^iCR7~XWmUh?cu!mc>}s3eq>?L# z5LELc8)dg+{hHO-?ntP*&np%B12YfCTu>Oyi&X`;q}slEz;#8!ichtYUUoxB-1mt3 zXCG8bz6LH%gh(YfgiGK1*LBS1GcR5Py(%n@5-`p~W)OE_+64PdG?lPnOxy~Kk#deL z=4U?(U*0n7aj7QGk$6I`F&$b>Jr8?-pck3;m>J1l!^Y;_iLXJm$-k~dZX>IoQ$$6C#)71%twW*FH{8$QnfF@hK9aE z_R17Sv;)-Zfq{Xx@|Url$xQrYs_xyAGjU+k&xC9J{d*m`KDpz&qNp8)le9bN(HjIE z9Ua$Ymc5f?8E>{?t25dFQFe5Ddpz7i-^SXS0pl+CX<|bJcJrE)Mc_oNS6~F?g_nU)=R_@be_$Vy<~Xh+b$TXqrj}m!{Bh z2EenH9|(fi`u=Zundn>#D7loaD(L|?`3l{Hkcu!@KBnL{iARon-O$UVcu#ixhC33` z)iyXT&U`wiDeETrrJaYV!q!;pI7y2=R}YhEfvZ#lOAq07>@2cw&bZ7x5TGr;XbCG+ z&I4wc7>?Y!=5tCSEWs?iqocB$an#ThfO*qM57bvzxUrXS1G0Y+k^u6V!lHD?iyIeB zKh5UEYly#oT@_rLc>j2+NN^FK^~I_0OQ`siAXbB60s|vspX9^adTE@o_;^ugzO>r+ z?&&es*N?$b%j}0CU2L)80X7AX2SkNvar5fj5W=nh-UCpboadwl2>8GSo&1xNM?$u| zkAUyim(aEw-iu7)NvgPI>e&AKUkxhzm3|!zyen6GRdSnNm9O@87tNo5o?kn+{_1S} zPzUrLD)0a(V6*gXH%7~^1YeUOK(9ZhwC<Lr#fbJ%!@MrHFkDnx}v}cJG7*w zYvi;L*-gZUJ`+^}fPfGkBeZF*Q@q`*ac0sggWyi1pD7#i?b|nTFO#zC=GnC|*MY{% zq*Gb%?}t@FK+QrF55y5O8bxv-rA&3AqdzQ0o6nN^!n7P_nPUIX$XLu2Ct z3)?}us!Xu8V}72M<@Dua*_sZrBJ|6b=9h8g%&(R^JaJ&sVn{s`_1~+w15{C1SceNz zzG(qut}bMK7@+j}%^Qi%dH&U~x%FyM0PA+w)~WI`k9PB@s!EA_4Oyv-PBj$L?s0(bAIJ z_Z_H;!0t&BE5dUGpKa-LbR>Jq)B{Cvtt9)-HqevHffqXrNW9GgBj#w9{$BI`-I%da z*@9}t3Os4WxzxbdL;-!#fU7PJq&Q}kHwY&Vx#O!@^0d_qRpy<8a2Ul03PMjTuwij_ z@gn^#q2;K}j^2n~a{|1Zx+{3#BY=(QL4JKE8O zA91tOAhrMgNkX(2vG)VyN-T9TK^odLs_01hS3pt#yGm`LTOvaV2?@N+vhjB$uwMK- zbF7n-lm9rLdeEP6Qcg@{RJrryQ~5)j(9J_ZQ@5C0Uhs*5IR=Yjl^9G1K>x%+298-P zz~kz}9?g_%W=~3w^!`_8b>OjUzr)+{hwTNXJq8l>0A)HCap7&mk`K7fM5kTe@{CZJ zGXfat_pa)OuhOqvFDwH3(c$3tV~t%#4B++-eF+j-Wiikj>E$S~0M;8GfK4}muRHt* zmzW}+Dv6J3Nl60x?hJfO#!8XubwPs_&Rg@Fwe(mNsy}Vxstauu*91I7K^f|?*!}Xo zsU^!Cb+Aq>P1SAj9qatUu!8SyMR|Fo!omu_c8Ep)><#+TKYk2yM*MI8-PvV9E}9bK zVCDF^OZVGADD17hJ_`e(YS#?^9FT4zdfR6IYNcS>!C@D7PA>3dP;%NXHr&E(pjp-rdPQ(U9KKnoM5)MH7xOWaV=FS00xX)oZ*jLa z`n1o_%(k5CiIc29hf?L(KLJny2nw8?9B>X$Yc_sUkG^kgsOjk3z2}+*cBEa$;0V#7 z{%E?iG(^g!GZiTM`eW;`3m1&lRKYgf*;#sh@!i7>N}`+ftO{_f5H-IibvOILhYXp2 zpY;G3NkBFQ`FAwx=fhcSr!Ns~Cv!IkMh&!kXIx<>s)LK1sz=F>3zV=x@IDW56-5#K z!JsAy1c2d@1Za$z#@cWF(C-)H`y!eO_zeT@J5ck@@Ay~UP3z_EvumzUX6sh-NfHws zx+(**oKeZ6cp#lKD>PDj#MAlOv@&E!y(ij5sVjT-f4< zJ-ZA(mcJ`ME%X*11e0Mcv?ZT$A3?(!0Lnt`Hr-`aVIAcW-bgE>Ue->Y&yleTYSFvwkG@<#S{9(3%n8ksS@ISs6hqF#Xxc!=F>;ADVXJ* zS0X|(#OO|oXo}f&$(hF|3X{!qL%Rh)G$|it!=V0~>uF75ZpcAMl3_;7iUYJ=y zbx`g6Rlwdtk1QGFcG;|7Ck8%wOX%nli`~oqa~z?r-vLYp`Cbz*`nU%}W3@bG>APKZNMAqc&uCUE{%hI1<8qA9B~nHRpzu-xeO{!NvpD_WkQ zvAO_TI5pXN&}gTZo7o>>LZotxo>z7IUsPd<%V z9+a#zXumOSrZGNSxgxBW)&E<@P0cGQz?e-l4|d$zBh}<$VW$0!Ep^zjRT1$ftD8iK zuK{y2U4Pf(+kNo$^aL2{8dsKYk$awx4b6e2k59wuvjrr{Jw{ebE3(dmedKf&eF7pG zN9);%0poL`K>H9a^7XER1Y@(vn3v8)Y3ykFXph*iC$V>|ReUYT@(Ot!C(I(G94~K8 zp(2XrX8$UEoN}3XCh#nqwNZxvS-QN|GpuwhbaZ^ow;u>aAnRDDZP7<4+|Sqjt3juG z8&*pesrl%v-|0?Wb|Dkuu$Gcu$<~c}jAWyig@t%Oek?fkwxR|&i8vDbUg#2$F`Z8@ zW~&XTIuWvJX0WP!tG6u3^<3aGv_|}<#tkH7L|6lhgrK;;P0Km9DtP45(b4MH;_~5v zKvMPco9X9G3E+gUqpT0kY%o+(EJj8mnA(1Vr$bi0o7@t$cW|<@YL-8~vkwKP&GY|i z(c-xx3Jx;cZ;JCbpZ1ip>~mLrfr%D7XmngGEq{RDU)e5fqtCN@4h)!;57a$dv{j*t zpH>H~+_W=4yu1>9-Q1jb&K?!~>DJ#ZzmQyxfn;NkU;8{s;+8yHc5RPv;SEG81+C?V z!*pwjM5uKF+vJkq=g80=oXm$678P{)&Q2eQ-oK0JC#aoZ4HSh z#LUA2yidK+9pPP1BCwOC^e%!MLGsFL#;%`5o=*#qE(M2ypRD>XL+9AkRj^YEl z)?2^ETK0w6HQCOMiHp66qJftI?9%m(jSk|(HEe+F@bIH8jBv#-a%a9{y+#wX)fb5c z8eDAmmHe3)U$FnY4ba)Yd-wP~v6r+XSjpTES0LxV{Q~NedXxM24m}s|8jwNj1B*^z zpFOc8FyT@ zX{)fYh|qRIN^DhbSttDs{l|DIf%NHO#X zRc#mPXqE*EiQCj0(qmo^ERPa|_>ofhc|y0w>)ZX^HRjF9y0MZ1boa;W447A%;4=?W zP|5|B^$o70owmo#aybxIY2!q{fK}&BO|VIYVS8y@z3UXH#HSulFM1%PfkNc9+<`57 zZ|5En!;?_;+21&N==Y6KkF#j(@~C9Umuy8Ld=~m z3naCJTS4q2~7MvB&DQU`;&G9dptM4y_>4pN4K?N z9s~jD<-fN;Cls$NrLgOE6xm&E+Y_(z)GENJD+=yhD8)<#>K#P5;y-#H)+8=Ukn$x_ zVVl@;iT-pes;D4CHf`v~ev0U6dDT*Hiw}z!M$1a6UX+G1B;c0$D`xM>ClVJCp(8{6 zQ+qynKa1nh4fy1kz42&TjbpzMJS;!itg~!IQuA#iv-`K-3p2LQ4qDj!zTM}GWmC@f zI;*g3+U~m+MD-6c9R7PU?Eib>&VW)11z(MO?)2~*955)ayDRK_d8h>@6e|wa>tA*& z!wD*ycXcl6TuQ&!uuP|(XInc1$K8=&?I)XL*NC0Of}2x6%`NDOgn6?b}eqg7iMhN(iVmUa7GN_%*Hf8que>=UH1gighcUUI9j-2pwVX+P+pqAOA5!?)S){bj zKkYl^I^N)Qr*D;N!A@R&=?06mtEVZ;ksZXkkXGkY@LWo2`yewLBRM3i#y0EG!{U$l zJIj6Q@Iq}-0a`;KxQI{()Tf@$LYz7BKmI)>=2PO%eA*L?u6jiT+4Q!kC668A;tM|3 zRv@Ax3@)eEB`_?ekw`NOoc`Df9~l$aQr=!2YWG~)jGdmL)5?1zy=r8@T^L9;gWS`P zH&b&7Wke8BA!5oQ3K)=Qo$f22e!nLB;MWDW#_zn#4+GZJ*i^ycaX9FA?XzK?&c4_6 zrHkd}P4ONs<-Oo7V^fU11!~H$p#7NjccIVdtSpR7?R6Wukie5DIl<3E$x4_72j|k;Mdx)5NwDUIx3MW%JW+4IbX7t_1KDyzduLyRP#pAIy&m{gFq%fGczM;HO@cK%0ZR7A z>(9>{Bw^J#NS49nO7wYv2#3A~_zXRM9MXK>8?1pHVEc*;NIC_=5$k?9QGd(gazF=& ztQ+WOuJ`4|?Vf|2a@m3( zjASH1waiW@>197kLG%QG45;M~*EY`uDBbYQ&>wCK!NC`@xN$!r<8f7!s}uis<71er zw^au13nJnY@G2j@r3{wLC~N0ryCtX3h1%ttx-$O+Q{%9(e0SJYSS3;t>=icEWtD)h z$wDBQhPciC-;NF-AqH-mV3jtRlh*xQd(|hN_?A*`@N|0~e}126bs>z@q^wtdVMi7Q zPq;#yTp%h1ThGNU77ZXgU?e@ORC8^5S9QF+S{u9Kqk4YgJA8QNwK)AX^7;?A4OJH} zM*a!orqWVkkU_D4HLE*VHVXc9k|D>;Dx36?pTmyOjuY1T-&!_Ai+IwslJ2q_M9Pt* zWyx~gQaFXAhI-zg0Dsi;w60sjx|_shRITPSNbdf|KYG~M)U*?MEkKp6$+&g>hjHb- zA3tE5#T;nMx@iK#FFh(OrxLA{LzCg$-XKH26N|t*x)i%TXnl+JiM& z6;%UxMS3hJnXWIgovvvjQ5owM_UPHE3f9&9yH{`JIGg4uWu0b3z5wPh%$S?@ceb|^ zj}YQicDC5k)Gg#*fb5?X#z8I21)rRLZ`=A->;>E8!o;0a-=S>)t+u5x9fBhZ;RpS|3 z9re88nEH+*DS7CP!d!5^;1`F06yEW6AxaR8sd$my0{zsUX(O1Yxu;WiU1v+?Qhx%$Gb*7`V{cp zEcB<62}!W7Um7Rbob=%yGt#sH^VVC#533Arry~vePI7%SF1RAM!r~e8<&N22r=qMd zgxoZHvLdrT2b|RgyMS z*05bLxvbz5@Wd^aeHNdj8qq;*t$Z?1zV89c;WU+xuBA%pqU&ckffpNXnq1F z+Y0i&A!Ad^CkUW{!T=%M8VoXR(+wEYBybs?e(`>UqbqV1AM7M|oZRrvpZ`SgMB`w_ zEdCg#a>ACT#UnZd8T;ZeJEQv?)RdRI`lJRn0tnr#>HGv=JSA8ZfFpoNC?Z?=T!k#uYpDF7bQ_F3fe)6tk!MV z=vorO=buhvvcrhaN<1R5z2F9KQhc8K2 zSC<&Eln%_)iL8(TZ!b6YifvS@)&I(^Fzhx_#S?Ipu z*1o5qz9*MV{sSo1d{XX-WG093q!b>XLV~7N`_PvDGb()5R&AQU`Z?8^FQLbU5=6UU z=|Rc=9L%Lj*8S2!BA*0c<}_d|GZWonBdE z5eWU!FH8mnEc0h$)m`!6vw(}*J|Rq3s;-%2@&XkX8Zm4^Npak-A;xi*O-JQsIul~j z_%TybGQk3<->~}wvq*4G{eT;0kbU`ork0;lGa`$h zj7nh#!j_wEvZ2YBFnn=f(Fw2s72g{@``XEHtIypEwnuVeFCglKgveYXbnD0K8*i8E zeTyouT~Y?*666*H9%4upGl4w~y}55*Z7ucJuX&vMc*4S*Q$3^z;rkp!xNF&Ip?36O z&ry)lJ>+wK7imW%Sm9=*@sllJ1fSS1nMl!=DTnDvOtA6@A{(81@gQjX@@;Tf0;CRP zv#xW$qP24WivZWlnysuyg`no(g}Gdk^s>s;4}_=V@MH3pMQk!sJD>D-x#THXLwmUH zn!5G2MQL2=(Qnl0^)It}XQuqE+7_QPVYOKQ0muZ|eOU@FJ| zBkHQ7qWq%m&>%{8r*sG+t+bR#Gjxm6odSb^5>gV13MzthOQ%Se(jcXDBS;7czBB&b zThD)VE!4U5efQpT&OZC>-LmjUD?(9m;{@cEKmHVaPJ##OFy#@#^f1|`j_Bl>60`9 z_P5o2?#=7diJHArF)(;B8IMC~$5s1_5l%6!J&+*&y+*v`;)t*7)JY2H8~a==jrbdR z9r=&$Zo~7*bxcDyHyRXotmA`sr|SCv;z1ik^WN4&t|Zm31`1aPEA0EeAIE-~0E;N- zyzRiGOf{SMQZ~uc4E&7dW8tGNu)F<;#s)sw@v&xOX>ghnfIA3UzWDUiVkqJ6YlMnQ z5mF~W!h@~osi{c;(4m!VGxu4!u!~9rv zFoFn?(Mp)XjLOX zwUj{ZqldVxtSqE|2=IAv1S^3fB|%o~(Rz8V=cK+q`S05Ps}?36JO8xF821%J0 zGFRGirQ>@ho`EJnqLzb@EKGmm;%U?s43qt<5cEF$_PTqu9TmvD4SHW;$ys@#(JCD$ zq?e(m4?cP5UEF~BeT{cmqKPUvE9y^SIzq{n1fKlx&`?-sXJ_(z=uX7uT4_;%zsOi_ zFe76X)GKTx8Terv8v>{0fKjGvs_?{S6-H=cqkSYI%Y?dcIBBpQ9or`d(F5_;Fty<& zio-AB0l5UC-^)7!lvfOlrW?=muKWYMjmz79_wpk8KhbfTUQo7@DKtP=B1NRFUg`(0 zM>UGlsB`2)xj6+bvt+j{Q>fvskP~~BC!gAnl-P9gNr+5M=*Yi4qeg z!DX3g>^J0y6n3G5qQK#@lytZGwkseB|2^@KHCTGNy`}dt(~^bQB3T%aFldGSbWqF& zG*J6CDboqzyTV97gOmn-j}pM|@7{4`+ghz^@fqp|*4IB~oj<)H4o{u-4G3_9*Q5>Z zJ`nosBYfcr1&$6Mj2l`Qb+^OV+{v$HG8YHfdlB7C#f4sLpxptDatqof6S-+0 zewndG0+&y6BFuhka_XzqtjP=}x_24RYbAh7l8v>=F(rbYKy`y=K1t{*5XwVCPbTz; z9zTvSp9S75e9BuOOoJ`LY3=*Pw;@|p7==w4_BwVpup|(pepgy5v?-Gd^SUsO?E6f? zBNmk-CPPwSV9UOos{46f7@pg*dcYD^*=5iGSo7O(ZAMh2l7I}6+Y;DIR+&qVMT*Jr z$DfD5+82Pw?8(&zyc~a-KI+NW%{S5VMOocSNjUs0eu)iwB4wk)-fx?4b}1=%zMZ>U zWApbSgo7;FY{Uhuj-U;A@Kanf>a%hE=!^As27c&sCZq8R6fZ*b5cH&{UcpEZNYA`x z*fyH;g6UDm@@E+)8$N3Jyy<)j4S15m9bE9Z;%HC@&!q?pu@BvUPb7m8_u@ z6%k)AqD0z+3kshcOl0s{#XXH`nFkGYs&olYB15AITYS|!C$C{rV5Sea-az8HoEcjK0;X&@RO#-v%gndXeKgJ48z z$qB+N5z%HBAlq60II|hxs6ql(>ON~nC z1q1#TLEBZ=yp~9gHC22>VE!Dr^jqJc96(DVac{P*-2?@vXE{To?V!$xCKXeI5;wvs zb(0Z^M;z}u3d6jUZ(xTU?@rvH&|*(d!Qm&QR&c)U3?WTIc_T)Y6!b#mcaoxBgTzg&Cec`!7%}KqDSj*QsghjV zHTpvAyTvbyPPZ_azDzO{c}oe@CC=Qgz6>K8gKwc<2)aBs|HVb5%8UQl6OBd5ZHayO z&=QIqxl6q(d8ai-X{mx6ip?KzoOiAnp%Q-s;tAYuW! z2<|KC3r&Zc0!VEFbokRT-?qRLNtb~M6Iw;{dOhqS|3>v&CHWp{wvSVY4O%hb97#yz zWikVU_usc8D8O=(M7(kGDg)tOC}LR}(1L=mBk(=%g8ZUJD4O=bZRb3{1yFG!KeUSH znu5S7=)r@_2S+C51;Zq9y{|m$)m4AMk6K$>X}E%X#7Ib1IH%EoeYaszsh^cU2M-}= zbIuF>J(qxql^s_?=o%2A&n6kVF0v|L6l5b`22h17VTBi5YdneIiUVo<4CyO9EUdK*7f@P;g zlY4&r!th$@4!t!9(AU^Bpnvvg;-{c>$E8KSoo%HT0=s9i>2?2?>x=WSK)3@-`D`uCUOMQ2bgKtT-9rd6=B!thLN z0JJ!a21?nUxNw!p>w*?vh;v1=*4-j5DKE zDTWU|Ty>@HS<)$_f4$mDM+>!{=jXc|3T6?Yss!MJEvD)$s=J89$RLeaDz?sRwQZMq zAe^jV3=9fH($7J?NT+pUEe~i8iCb_?a-O;$yBf5bv@p5%+OuU)VNwA;UIE`G?)rZf zrrrl^NVe@5MxU(yDhIEW+uO1#DiO=PG=m=TNIRWrU@mM!verQJByA!fKc=56PWXu zt|7+4P3_$w0wx`}i#fX9^CA%mfLDZzi)Rb9e5Ir02lBX>U+grR$Xc@F)gW_XJqGfCet1x3DA9_VCQ*cg9_8z_aLNQijKb<0Eo)Lg(Mptqiug!c1RjJ;4sekBaA2F@fNfzh*24h>5I}Wcj4d&E)3k9H8>6t$Nr@Jn zPV?VIX1Gy$yUl;}-urY0t9VyDl2v{^K#Y~4r-dBs~7DiCOq>c*!n{el_ zUk3q_arfdDOUkmz@??rwQ0IVq5V$aPKjedDzoh=#vCpBp<|}td2>1O(F4u?dn}IpQ zpdDy@=M6dC>zF^uls%f(USeaQLhGYWi=(fT6XCn3Ea(?%Sb|-^8P^5HUQ-hYbUen( zrU9>Xf0=l+{tI&-TL1FtWIsdUJ-&SmW*#Pk)|aco7=`jsD(jf=;QbLGUl7s9D8#s( zfJ+ix+f~QPfb=??;I@(^FP-2^RcZRrGB<{^7K(d=i-GF-o|SN#!&TOkr0^L(5DAn+ zNSu4`HP7Pk+ZyZNzU>m99`W=`Zz|u9y(m0<5O;+Ut|LBn1{x?p`a9NIr9emlcgxqt z4m}DFYRa=NegAe-XK$*l#ixt&GXZ3@7!;;<7pY#P_7NL9XD6$DEor(W(NV8*tb~C# z0H5qtrh?_WETRB=1`7*arpHn!nww|ne%L|39bM`Cu`%P1Bnvd7cpX;|-^xHHE!NPM z3D88}8UbQ-2&Hv#fo9VFKy<^S8Sp^$wvwbS|FovU!XiZ~r3~0i`+)A9JD}L2uy0F& zmPQ_qcHgxC5!*+R>Fup@>U42{wcYJi^8jH+Bk7VUomR3g3pa|JnY`Jm|4OgVX#%E2 z$e8^5MEp7m-8jsGm_{Lt5AvuAGc+Hfq^yiEF86N%Rz$o5*rHFs@iS z8d#SRCFn^oQ;+~@7H9)?gyBq1M~X>s4-zMEIsZ_P(u2s6p8O-m*AI=>CaSi~uWa8| zQwGnD@i=Yad4LSyxhX#7iqc!bD{qV8p5*Ym+&aU>SfDCH1{o z2CcXY<-FPlt~79OLJUMg_gC2ErT@SnW?CbULzk8fu4iJ9o10KPlk6qAzNh=@(nX&> zd6pJQEIBLRz+=5fav4+9p|?~*u~p;--UBDXl^1IL5$G?h1jAuA6D9110y$uOj4twN zR4|+d834FZPk<~dVw*SVs}g@hvSy5y?871NI(!jK#ePz3y6O(gK;VWBS5Eza^F6r z7O=A~NKu0%4O@pO%o?H{lNZe-kw-8reN~3Wu9^*mXt~-xefpG4oVp#W)4CAezTesa zmsL0TdQR~9vOXcMVR4x-SHrk}VuTPj3XOwU3zAo=_7OZEtF}kxD}xe)VAAI*d&LY; z&(*j(u35nUCvUYn=vms!&}N;aG*H29gA2;49@b54Q-RxP;1KiFX;ruyAJ|en z`+TbDskRFd=Jo4KFH|)n{Td=_6Rk*Ih&m`Sb0uqdKwU#8TTAXRkoD| zZfLR29p6kYA=?>7Uvx|%ZZ0A)G<>*0p`8hxKIx*b%r&JKchHiopdkUd0r}}(55z?-!_?tENj4+oTJyB8XQGM$H&y5B>L}g*>9ViWR+iP@RM#K zf49Q@6G4&>UB}l6Gtp(atHixQzCOtaIiravNT%%1?&&gsB`5Sh-zE2~YT(A@kWdDDjITq zUU4t(;c1QauN6U{8w)}okH|{OZsL*#en!H#=rYJO+5UD8qQSVr;<#CSRS$lBCz%8E z7{<3oS{j|d2hL#|ydEJd>^#Ki9ych6AME9!>?cT$k^HzI<4;FFJGAs9<%!QGir&@V z1jftc&4PV!&yG!NKG@JO0oOiMpQnZkJR;%5DGRV--*EN5xN;7z@3{XYH~X%1gZuT1 zTYqaqoEvZ=asB5t$!o;$v|v^gu3{I(8PHKfFUh#v1_vdC z`P=fms@OElubEu+8-J#|osue#fdLfTg8z0TbVFA9Zw5bHXdjiS+)gmOiI0HLc5eXl zPouaOjw9{6GV_kb*22=XP}zGx&z$4;@t%~voT`rt&CooozSWU>(s-M${%77MubJV_ zNq^0g!2qxbntA5Jh&0*BfH`$Z{AfFXOA1e~L_iME z?!?Mbv67H0qCZ`Bo?2FrtE>ABqatP6;{@be8EeRVBMiX2#@2Jah)e8iUw7a^u22)&mq%m-FjmeF{a;7Y$}`0#yNi_qXwdnX>TwlGfYe+!Vr1LpDsg?O|% zPSGd%lY2a2ygQ;%1b`O}0pdehM#P92&&ao05M%2uOmvd=++L?$^MhvkBRwriWoEa@ zGI;_IysgDHQ0c&6!M1>qkOK}Jh`00u0~7DdbsCR_{$k4PM{)M?z5tyb|MCWxlYft+ z?)#&A5A-7)GS{n}1#(m*%2qZ?LAQVyltCvF8X6kPJ#+3e+ID$zBWM^X;;0+vgd65b z^Z+LW6pNKC8UX-DtA!va?tSj9txJbR0Vt1ltt(3a#106^#l@c(;1-inXvK_Y3TF8G z>lXXZjL|zI4+Mxezstu`8G)7#iT~7W^+R+$-%(_4iYNE*yX&MCdBPdTS8RS}MAElG zGKJ$ZkgKqt8LrT~b<-PP!ZUk@k2h1B`#tm7!$Da;wSXjahZPh|5h$3B8PwXV&%ow~ z8ap2nB+Gzh%F(fW&N*KKPw{(vx?7w%;9-RTLf0Mjbt`UcAgZJU=p?hGQ%pQNJ=FyE z7O1g>8k2627b}l~?$uVC(%*-+pvR^dM{!>Tok^3hh zRY&lj_SG5;X1p=FIGZkiD$I~JE#3v7h6kD62Tl20yQ*)s9`8f=K?~vrg6EY|$iY#; z>g}KgQRZ=yO=RW0D}QuNK~ZWnHpU#gC@d^nataycI(*qfMV2rKSV^QUGaJB!J zc(fZA_BL)fk&H*QJ(|mQTF!6Pv)cbt_-*J%LkSflwcEFgmHAk;a_Z|%>N*<_hGW%* z#h|u9^CN%*|8b=K438MIscG3_teuw0P}=u~7;N5uXSq*u`+E7_fL%fPgXCY1wUH=J z!8EWXvIxPfzZBrL2RgEFR@*-uEk6fjblS*3Fe$40YJQ0pxMr$ace{2N<#c_|eM2OB zpStWWt#xP%?@wRvQ2-UXmmoxoJ5RpFuAAn>a)N=7tdhli1$7YgfEnb(%nU@HGxdLD zD%@AEz&M-GbspbCa`m+yq1@7{%!wVxvE3{14Q?5-4Eju8WK3926rcwzlA&+)8q8fb zD7)+BIOQ+UlR7TCeag;|S)Kmfp7rzBxBqtQ=PpO`96e_Qha3xu0(l}Yi-C3lr4p(6 z#N({2yoR)nvGaACPmfDWx_M(+lu594FmjAo2?(&sSU5Nm=Yk|#Ze5k+OeaX}f9>_` z;jM|~!_3uwQBmSEt!I+Qb#Km^AD)O*R8$}kB_*iFBUcRqtL5dM(3|StS2_hE?1J|d zcFN1ke;%aV^b_F3(wJjtx5`5mX_6)x^k5++B_(S;moL?OV>C8qOLA%5FDu*BzlGJ; z_2d@6qctKnFOHCq5SQgVa3rz{8E4JRMz=K$^jd z&B?UtxUwvT(~6~y-lG9K*?lV^t2!b>SWr);`sK%LG?#I&7%3K~%AgGN^ss`0@<&wA zKYJBU6IWEMTCLYY{sYW9t%T*0B6C(R7rlOMgBU&*wzTx!(kH}1D!G`cs^TNod(Xez zGBxu1u)pugarLS~X0W{jp5}|UvoBTYwY0RNqM}H;JUn!0uB!$%=HP%mcJ>!z`=#HaN*JX)+8N;Q-#Q>*$dH@cz{;-p8OPXIK>@R% zunh^eUsLrp%C40#ka6X~C>quc@SCPGqhNUDH4PWLfk&Xp#$K@rAq8Be{E;I6uovCW!4iERs zYJ_6T%iW3d&Ykaz4IS*MhX)XVYxpHo+uO*AU>bkfn3IU;vQ^S{cMa*viUmo6sXFQL zuj7mrtYSXN^5wgh1cChy2()S7p*E<;e zdgp~hh-~N7o@4>7Ttlr89Sd!3lvai=MM6!=myib!cqW_Eoz*P5WpCbO;^h2L?C0x? z+M;Vx#x7G=&n|5sBI@U5olf#&TZZ5OJ*@R_9RB`Y-^ zqhu~DXSp%ole4q;Fmb&gAthy^gIAbiXJvnn3L{alH#m5zIlZXRsMNyUJLRU)z7$e6 z=W$7`J4W8u0L{Fjr_))gj8FpM{w)Sb@s72ITx|usa@FDH;xRGVZ-|4= zo~hh>R&@=ftWqd1A?bi`v`U-`0OiXT9=V)=KiFx>cUR z&0u_+SLN_L7duGa(^Cha$(7;M4SLhUJ@GzT0N}{Tz-`a3tZ3fDZsy z{IW4JkQn;R8W{Xk-#AU31TgsB+}gR5TbaW~>FDTi_rzRUEg7*NEAWk z2*Osx#|_7L_wHTd#3v~~qVB{OK-d?nt?3F+X)+SA7S{gQJv5+>m?nJV$v->JEx0_i?wf6d`rqR80UCpmk3j5 zU7DH#MiQLwGPROnV|Y|4`!D;H9U!|iW?ia2w=5`OzXg9PgoLNkt16_1*=v28;aOSg zioo{K$5YeOe1iR()Sh?MF-t5ALe0h5gziqM#m#1QQ_0B6l2TD!jTadEH0*^7B8@Eg z!^)Ca$ZT9asxkn?o^xnu=HTV)TVB& z$Cj)2bR#g$=g%)Gk@r0sSg5sZxlV&jNO2q!TDs|-x9`#9V7Jw` zHUGxDuuQw2yQW5H%$;-e+t{uWH~xqD9Dy8i>+{EW&CT%1)ea@(@8+TxZoEI0c z<2Qtjx|=L-al6WF784mNM^b#Z_cQgG;y`iYV^&mF>S$}boBxW9iD?&7G8y1>+{{L# zrTF?R;cL$-xbYU5^Zh;73zPKv=2T5J%nX|>AV6|3Q?_u@CUE5`Zfre9WaM!9P&a~V zDqd#tRcdPF$B)+$a?b^O1$6?iSlQcgPro|*4PUWZ+^Q8ZIW;BU9H+gDQMBc3&*~^7 z6htT*UDRiW=$mC+8&Z7vzD5dZV6eYaec39%rvRe}EE5+_R^Qydf1mr$`MJjz*<<8u zQ*-mU&_9dJaJ|U^wetJUPCS}t7;rD7VcJoURIT6Mijr!hMWU25=txyL>}jXs+Hi;E z=dr}O?iPNG4=xc+foir*cx5rMIk)DCi1?Y*tJ%M_VrEMriHPKCT!#aiE{ePR^>O{{ z1Y$*7Pzo;nr`uaK|1@>-Q7S!p1C)uC{Iya_+y~8+<|4Ot*;-Em&c7B(}2R-Em6$Auuh312@@IGreE_Z zo70t@pBGcmEb%BD2PflE7*3gL=jYFgI+CRmj28+R>)TwkbmC`GveIP-tNgLG>W#;*PSHPnlNcb+P5IV9Mu+ z|7dh}{ByWL`l#L5-zpe>dJLWxO!D&baf2FKTAe`ueB_WBfV`Frzd zXEs*Aw0iQPASsW})+8wr5fMTi(H^yWsNWs@8TWf}4T{f*?oEvowYDDnwhOI{#7HOK z`?S0e*5fGr_40jBJ#mF5UV&7j4Ui*ho~k0tqMI|=h8Pa zT8x+8(SH5r`U5gJVdX%7e)WZujZ<1$8XFI9BL2Xr`}}x5tYH_|BIpXub$p57Z~HSY z(@Rrn)Yl%?mJUqZ7D#BUzI!eZA-DMET5;-g4WEavGY*4wlmy=VaahhSB8is4+WZr6 zUL}b~cQ5s$)5LEg3^u2H=2rDP0^`mC6Yt;3rO&k?sPa3kghyTL#I8LL!&%EEGW77c zhFHgIpMG_?Fq*9f38Wwq;;W)X`V~}VrRbyZa8i1Dr(bnSqltA2JGpl^-@AUUb{Y0C zp%ZqbaR1}~Ip7h(dHQP0+rPA=q)l{M**ETHhNWg^#upS6;^QYWO?WXD#azk{7L9%K ztQb-ZYC$u(kZlWY$PX)YZ~1jCrxnHe*LcJ`(5z5RVM=9*2YY$gqQOYHqhK9;!_9;V1aEFG55Gfe^a&IDMe(f)bUypID=_Q}a3=hY8^e7vZ zKj&mcNvRg9@w8K<%$qx3jj1&zHdfKcg?0E8P92MM1I4~@OhN(#Hank}*kv0rJg@i) zEMWX~+IPI#Yrweqp(GnSJLTVj7uOcQ{bk8ARJdf7@g&2%+TViMr>x&)m6sp;>K)8# zx95XB31K3&4a~Q5wK6ttrQ&Bu`#pv*D^X(EZT`g+KXum4KUKb(l8Oq~$SB{+#hj5p zG<1YrqCZ826i z_z}z74=Qu#kKede2m}QMb$p4*fu!#;`iXWO9p$8Pkxj`dDZTYK(_0KXIN-lxG$P?! z!zp0Ap~OuL*S1+hQZijdMarzp`S~H^Ygd=+1Xg2Xx)SEQN50n9th&0o6jfBtViT|7 z3VH`!rF5}TA4PU=%?;%NuV!Cd}-=D6pzA!9F=4_8*s?Ng8eKEecSNOFzqERKz}==h4~R(nB6G-Z40ubnx8DW_ zJ&0%8uv%W?#%c@+DGJNET8Im&5@8aA(;|MoKxcdV90@^zRKZIS1^2#$UXb${7PUev zAO?WBMfkmKp(EB~KKR(W|HZW%Z#0yy;Nal&ICh}(@Er38b#dC6`cqBP-;rm2Ha`^f zZls;;`$i+kXj-#WdPG4g-ZAkxH6Ag~jqE;zp@ju2;sN2iQlS=!r0t&Yrqt9_o9YG` zRBDoS{f~ECoSeFkv);2;s;iollAgy_o@_5a&9X)BXYg2dfj1=0cH_ykJKq;Q;?B8g7<@kc=&K| zVZ%Ugt|W~Xxi1jW6eRxe;W$5lO{jEHjP=fyV|Nda{2GC0sy#hD1Wkd5WU-Osl%BT& zM-OV5M9V}(CeI&_t}ZM*f``RcazyQE&RFC+t7+QcB%QgqWo)&k9Y^&*C7|xW;5k%& zgtncv-LCN1Rt9!$!Ij8FFh6W4DUc5koO!&Vye z>;MB3GY#>(#8Fh;yvxbjcMTO?yb+z-Of$eWl_if~XYu|@z+2TyXIwM1M z41RI(cThN1d;A*MPh#}+YWNO>va}CQSs{p6v0zocWUjl93ky?*K0+JLdmYn1K+Wr8 zNx096XS4s-N+&(Lqb(v9xOR$)9gBQMN3GMQr){OmjQl4@^3n~D4-Ge@1vJtDA}e_! zgH`zUEh01XIc3783%#{#Nkx3Z^XE;G=}P0AP~`ISw|B%+V{nHGO|-1Pt=e$pY3+;k z99BqRLOp*j;~yxBHX! zv2hpW8_^~g_WnLSSJ@=LI~*09fN`*leR_shMn;|!hzx|XJiwoZE?v!z-q*MF`=|Xc za|6GjbY#Upt^L{Ly-pSr^APbncJ=gN$W>Np-zCCf@bxFaWPC=VzmEQV+al4tesxYs zpB~V>4EtoO-mh5qxd1~PxP6`wy}LbRGE8FJ10`M zzrS=VLd^XKk%DeC5NRQ+>L{<%ilC(It&cP*$j88zcO+h3?kH`_zOsCyjkOm1`?e#? zjx?w7@OTHWFx(FjOrmpbIro+5+2L@VsnyZJ+nkYno2MEci6IdnLWCOCaUA8o>q0gB zcuz=@l&4!r3-Q*r>(_#Z?+y3wsQS%1Lp%jZc(-_Xc;1`i11g1C;~zLFJ%zaQNE5cV z)UB*^3G(wo82J$~D51A+q>#EsCgiR)oW+8`l zsUEWkN0V2i3>zaVe%#6$akMjl{hd1=@5;hF!CA!QVn(TIFQ#+6K3_xhO(ITg&bV>c*mlwh29)~i~S`JllFWv$Z zc~~=j`di}uM>5AvNXHN~MU_wjdUkB_4P%|$XoK5ha+-@*WU#6roRX5$x(Yl~U20ejQ`32=HK9r2Qx?~CpF&%r$eRA?) zRD~i!0>#=gz8*t5<*bh6OP}VTWVExhYqk37zRG*3_l($r>`u1UeTi>(Ejg;TVoELiE0kc>8i>LhjRAWvxn^-4Zd~!i*GUh ztt|kt39XCTGuQRCr-ZSDaixfJHAtLi!Qk z%Dmp2AT@RP%Klsv->4-v8dACf@NrC+nwnbeq2c|CIBkodJSU^;fzKC#kP{=F-c)KJ z9IN^v=y=CHDY$ib0U${7s`EWsuB;H z19ZjR`lhPQ!NMF$sFs#{eXP1KuG!*lZDqSFTg(~m)z;HZ*4&*v+?ov{Kz)pKUsCn+ zp_W6Sk!eu?pc@-yC@3h<&#O7|rwK-pY|v3u7wEv>?uuumProyoD6>`<`ZwfYgOk!~ z1YVZ6HzsOl!T+~=NC4a6m6V+O=v6#oS%Z=2p5%RLfou4eFOND4D23yu_p++Gs`&Vb zRl7`o7<<-F;qG8+I-Gz)A)YeHnlS9no>4AY?uPy~pFL!_Su~S2_x2P!{}K9`$uYHJ zY8oRQ-PrjBaG*%`2iCkvu|!huY#he*(n!Cg=Z(n3rB_J z_&B4|jk%NU2NxwCF;i=qHRl3y8x5_cbZoAqCHQWS28W732#KN-rf$^@qW>{f2>|_d zSAHx$c6LRbR`ZaW$7_LC=x=By6<8SfsLM3FV{r3{9`pNjbgGM$ZfzCN*)@^mTOX_q zxqCjVF1-LX695G5mdVAwwDu0*Tp|qa@bH(2-F|k|Pw6=i<5}t&8Uuqhobn_jl&N@f zr;^s^e8aEOMIG9}^=4dBnwcu$Zszs#5+g-pW7>+!9K$SYYpF@Dd6j=>z&|MHv)=gJ z792&y+l?Cv0Rybz7;zSP6Q!XY2r9A2+}zwOdh5V?Z>LgdZ1`!#8t~*~`^R=|f3yFb zB$ls+1$SM{(+QS^jO>)(yN?0!~g&P=v_ca8lFIPz(tX z?~sI?!VS!fu08zi?(y(P+a;({9&kG)O6C3P97RC5u}fC#;47fx< z!S-BG&Q|)?(qU=6?{>`Fw=B~FPff(oDBPAxhph><=a;@dMYU*s1{j&lT038PD)_Vo*3GKZK5A6@Zr>GIP()o&QQ$n zMI9(K$NlV1s=~kYtQwV975DS&JAcHx1^+FiWvo|EHTon}E=}VnKYNCd8*_=cBk+B2 zi_eiL0Kvz@LnJS6uz=i@LgwD(lO~yaSXt>C`|bt+ss(v@t&k;Bq*o9SYqPvDg2Ak@Z>#o1A`Wc3WRRYlwcfA8Q_K<8!7sQQ5gKNCctZd9)F=os3HPK z$P~KR)$!Tfx*EWt}JQMP^-d@y_-4!ZBK0&Q-b3Zm-MuA|dQw>d)2@z52 z9r2zoFLWzJL`BiF^#&6*yx#|jBCiTb_oH*I{tAj#U0ZtV0LjD`+;Q}qa0C(cRFTXbqd8Q$A&dK8xPS6`%B~SK@AuS@2ih*x4^HFRN-E=)Tsw z_n34&_94Bs&!I9lw(4}d-){AG(5sU0Y}x&!B)XjhE{KKQG64ue#54OK`JKAkQf{#> z5r?AYkX-%$6}F?0cjuWKd*j0sqrKV+GKtW+8PUU>zVb#ehDD=#cvoHW)_HSMAo>**}c{j40i{ z9c$~#%;A*iV1?0pzrfH3_EE34K1Y@G?pUG1t4NZb-zO(L8_!1PRr28c9lHjgjxir! zak68UO6pZm#0U+2;C!8kIzilZX7VS&jjv@W>6+~13wYcX&5i0ZH@!N&6=w~7x9c(W zCbW}17Lnol8qkJHGT#1H6<%36x~$36DnjSd5ce}snq+6b#WKnD3xdj65s7?J^xcbT zW+wYo(gdeWD?=Uot0Dt2?Sf5!NKywEH5ECI);zp=bFT}8s+T5(4|rdiqgjYn60yB{iaz%jG}@9UORi7=tTgmAyII&g4==LksoDW=n}Cy$Ya^1 zi)$z^j{$Gf`i>T5ls?=45?axh2AO4ZVf21!H^3&?}W(&bA3Hoeibz&k>F4d&t z^I2ns&rbrt!BKlO8Wvxa?>67;PThb9m^UYQh^R|w|6<3190a zI)5kO7RwJf%OF;wYlP>W(7T$ zukUXY|00im*?RxF&F`P}gWA2p;gA=>!&mVr_aR&IH5EA(?<9ETq1^sdWj;~Z+mJ;Rql)5#= zhN|*&3$u}NrU|w9*ood_6m)dFOi`x3HNe!yj=HxiXC!63@zQ z^AXvqdtcxE*;hIx0~qG#Pj?S9V_H6@uCBs{v`UAZ^QyVI9(SMRFNEvKjYQ*bLNR}> z$g;(weL^QEk)mH5o3ZdpFn>~Yh2#A?Bd?MPJ)53)Ovuhl6~IL1YN_3kd!14FeRsaw zP8SD#btTDQ5!N=lL=3oOddV{4Lo*FMz39=u9d1Xs546F9Px{hWn-i8Jl#A1@n|V8! zQ6=FrgnR;b>SG|?X{z@yFpx7$8+|9r|FpwbtpzgRVcoZG^HTr}k$x#Qs~f($8?>Lj zzn_3Jlg~+a%|>baICOn?pd%KQu913AO)ZJdFhknG__!lq4V^f|LgHh6ovyC*NsX!jxbZvBn&H!~@)n60gJz!@D?#qq@>zE^`aTzYYSCw^@Jlst>n-1Dgh$PEHOHXk2ihHF{Z4P>_bhuqJi5 zWbifA_Dw$RT^iI&nVD*3m5aW_!*4);=<`tdPG!N<{fj@9Qcl0mj~P1r+aicI8n5Y) z*VZD=vsdm(cw+m5T3Lt3y?a+fpo3J{yb2>w+Il0F49A;B55^|AbVq*gEnd5?ZG`3n zm^T!CC2Il+R0o7N6{P$ArrTBd>#+VT74t%JRz%|g8OyxO?_mu&*PXbQi9=tO6udH( zIJ%BgBRkRI8wxzA)K`Rdb}!zz5gL`K`t^lB@&u?Pn^9a`TzOXF?%j2Vm0N#x9Ik}^ zVf}le+Wzwg|97p^t8lar^46vAOqA%35IIqMCB*1bxiiatQ^;k=qJo=#^q#fa1EcAh z=O)`%7u{NTTDI=I9Gz>^)Fp>4IhwagU{zO-*_Woa*suBhaKi0R(-O{1_#=c+>0>YG zqPZWe>HOQE8pAksBJ~C1H`<1EF>-Q-XIti)iv1jty1%(LY~R?c&0ezI``u135?W0~ z&dw+;nW21k)Hul!oQzktuz-3-Cf)z$mZi+`uP?XQ1q22hcWWHJ*dvCY7m~8q4y2h> zgVfeLbXF~w%rKt-1vPWZHQUaa$yX$^C{lKnQ6^5T#7hc=2HoeaVP**3q!d#2nXv%dtgFCV zC@45(ew~pc`@_-BIw$*gOjm|9OiUfPb(5^ue(0oF%Mf?Vd|?btqHwpC^Kr*rzk|H} zwoEuyIhB=_p9@RlF)RW3jO+E{0O(xaUT^44c=%m;^u%5EB|bJ0a|r%wqG3mv~4amsvmQgTa; ztlJ`3V!fh2Qqj^z!zko89nyNA? zh$2h3hU1(5WvbVhL?0KAss7#CN-;+A86w8UdToGlMljhD8d^Ee$Hj%GtSsB^p%ih2 zy;q4>gf5Oo)}-Dx^UW=UY0ZsN426e(IN@?(1hJ%LU(=@Vsm!EeyfQKjsxM@Y{sC~YG7#i7|iBkZ6OYbsbcWwt4?2>w=VZp zhwgf6eu{rGR5|`>FebBPX);4!yfQLJU$1RTCEzMf^qE(?aqVZ9l4~ zC&vth(AR;JNv-=k|JN^H#sGR}@_KXQ(!<~Ht`BzCHb2@q6gBC`DT`;2d;|nUkA7$t z%Wo+C#zKrRHpg80KI`Xl*8B*OovWdo7aso0`RuWhp|Euuwz9+I#d!`I2H<_=gB%%p zulu%tP>@PCFk)&YE~;oNGYDZ^h1+;0_~?uj$LqY!5=FV=scB zIgN|FO4znbs&!DSw=E`mucPJSu=FZk`O)t4zl{bq?fCZ&H_(C1`wn2+D#ts+vs?E2 zY2o+!UlVluCVj8`f?8YaoL3CdA*aEw^r2mv#%pS9{Q6v3OBDx7G<+f=Tz8^Ylf6Ho z7g)%0NqsD%65xI5*5q}o@*PHAtzf-%>(*tu>#7XYl))GdJV_*chLbD7U*7mpCSYNf z2%9FETz*fA{HRLDERFkT?};b9wVE0Me2;Lu0cE8LI|qj+z+zBgV3zd61`oAziFqr; z%@b_*yz^O0JuH5tRWEnB5>sn^Cgx7fj3=RxwyN0hjkX%?=aB{$uG9QQ?6=h^7n9g! zfm$_84G3rOSvBa}te5<*nSUALTa;fx*4?wt9sl`rA6@#L>|4K9u|jl-G2uOYEw#LL znStBo#A)Y78|0HLrMV7LgtdBwqOPz1)LUIfd`D}iqQ?{|=B=ocMn@5Q5*!icE{72S zGSv$b%N~$GF6^9`aPu^8=tMRUA=Jnccf5;taeV86nc3w(e?))Ic*)su{5(G%wq3!5 z77C?=_gbRF%8|Toa${n{r!sk&zst`*X!4js=yRUprvLop$v5;~fl8+L%a_}B*#`~M z()5!bd+K+o=}igb-6^^hpVZ$Fd8HaUGlR-~lh)bt2UAIzr?QNQNhV74j&m5Aa`W_Z z{(BQ7GDPpWdbVlJ94~Vf76}1jvfhWUGoCT_>C?+zcb(qm=P#Tk2`y{MVEgcx48Vu>`Lf+#i_(D)A*#LPAO2t zdrcb~7dK{cd)iXIcC^1|qhluYWVyguKfEV7yyy&9i5FScs(<_AV9Vbt{h6}#S`|$i zd`2bC!%kcruW#SE6Y3#j7d5nRmqq2+j{o2o4@k>)c$@w zwnG3bD;uLIU7Y_;-D>+D{4-%|g=Z3=tvebpZUSf5A(>-g+HxnHzW&VBCtGwjc`_rCVNbkz#1sf^|& z-qTkt3eb(9QEgTNrp)byOvMa)h?%&OQr}0vRCk}Btn)t)ZTel>~m zOTln!*{`_bff!JQ-)b%rc6+s?3j z7ydqj$4@;#ax|%xTschWg@{fH-SQn98$-}oR#ulf@MK$G>5r^M%HSaIZn^UMwGz1# z{Hz`AmMaU#sLyAstCcvsUS%Jz-=%1>;Me!boh>J)d#{enhuKCt&%s?zj)6aV*DRB- zgQfi0YUcCn+Sf(Pchw%3E$~qm4;{a7>YGEWQ3|-eM}qF{N_D?5C;e^gXNGb^U0qdn z!N)K#m`wd6G*)hhm8mMHB-!jYIorlgtkJ8|=7mSq8X6kVPX7^qf}1?)O)QF&?3Q*TgX zLd`hkoel^ClMcd65!ZmpEBVik_OROuj2uYbg6nOk)er)~cF*b8;zh4kl4p zL^#WfeOqq3cbSij&`L_C%(*D_R8Kr>ej;NbEf^a^n|RTV(8S}&*FbO0D4*G(2We?( zpO~6=dQXW6QRXj_3_b{2_8!bKAF-ZR(ahfSV**kp28uSG`7||=r6CXRnWf!129`L? zk2!KLU=nB<8F8!^E<+loAjAX5asaV>`K^DaEx^!dFZKJOkT^W=a==@#2C+z?WB%-wWiU(`~dh# zdAIzi`#TUJgw5|sph;}Z;E1Bl*?%?@U&)XMkIfUMUx=_#M zL~C4K|8MX2-`VBI6raFOqi3WR@G5+j+OoHjC-$TP4H3=3tp30c~`+u-(<6`B>id{RWI5&MbB%3$zsJXS7KT9 zqt&LX+0UlCNQg1)4OR_o&4q?`URlh0hiXiu>-Qfb#rgy|LB|2nNJGOFNg-}d1q~*t zU4r7WF|?*9i#Zf0SBLJ{+&g4s?hi<)qoih%Map~>x7^7s=NncdsA`rMO?&eyB91ay zpHEwjn|*MH4ssr1Rqp(^MHn#pitB~d!!fQlUC*OQWn77)Lz}JM^3e$h8ZWJ39l4w= zn(LmNv1e~Ws%{Wuja}M)E&B~F!3Zk&)kGM2C7l07Y_H8D?;g-iyqHvXU;5r=DXP)y z+mi^U-gL_`%g})r6U9tHK|v;d7n6q26*XgQ{k*%k_ZYYE;%D{`F;Qt@q56@F-(P4y zq$4Nrt9i>464&njgLN9zfzPM=fVSp}5l*B~wzvzh>9^E6C&kz%o4&u!Gidh|xbx$86ludl$ z(W~xcOm>f*Z{IIWqpyF+uLm&pbh3k{Cc@tN{_I;0YhwPL_P68~#BOs=P6|xxPKM5q zv0`TBc)>N(c-`g=ZxfhmqZ=p7x{Ml!e+~ytmeCE>`_KWEo*hr#M3V-G_Y%+4GQy2+kUS zknnbDn2sE1x|}Dsq4FI~Oc(<bOFl}0ehKMSq&b++vLd4J$KGx zZ>(%lzc)3EU+znpU%@lmcUC%@iRxoqTG`j5*+mxbUTHG0TA}p4WC>cFTvPROUHh{U zsriL_q+FpuHj>p2TBla9Y=$iUNgwz9Zfpg@@_4}^F@C80(fgd>0|H1tZdZRNsISk; z9hypw~$PEe}1uK+a3Fk?g24QMTxM`Rdiy$huDx%d91(se$9sM=Sz{ z`s3WV(56bqeQY#t6IcFb$3yqLtBjmGZ!P)LojXTQV%X4F`aNc3Gb5V>FEb%A3g7o# z{-f4M57LN`_FbyOj()Tr=B)Ym-+#R!hJAO*H&*s!6%-W2BUcvM%Bwm$ijF&NdXfrx z3RckY@{@hOG>??a^Q2s#8Sgrj&rSK&vNX%ie(21&O${y5`1>>8m-QZz5{j7SU;Lm2ic3b$#aJ!X!l2tVf$}ns^;gheq&^NI@UYTaB%f7DU z?)EjTUXSCpy2d}bz{RHT1UfXELKldZQg8OswC0?=4pytuNItrHMc%#3M+z)0-F45q zf31`B&04$S^CM)bqbIL4H~%y(ndh!$f7tXP=s^@Ip!)Xqpb{ ztX<>mqh{rG2s}^}zxquSag;2&`gQ!v_-%X<2})C1IXStw?02`vseSM3QDi*)b!y@^KHA12xn-*33K!P+*!pI(K|*4pF#NCk z%0Fs^dqq|K1W1PVm0um<*aST~7IaNG^5t;iwbypXthx&a+sjwPT6H#&$&UMARmqRG z@-WY%XE(&^ful>DK(~ge%$Pp7u7d0Gv+$rC`wm>b7 zRJOE@aVDke-Y!_jH*3!FtN;A$o;Sx&BA_}#4M8tnsD_v&7xYs2p*mo4+L~q!Nt$c_ zvB$JGZ(cDidQ#wgc(q;qJQt#Q%;DO}W^csEWU?T!tFtlzpyvC6S*qR5%=qpFEdSI_ zeCjo6K@5L?dt)OD8p=KIz-Uq5zh@&#O2A?18y?{DH=tW&XjbC{mq@tp1Fs>%)KS1ds;(In6_QK;Y~w~8%tJ2 zFw1g?FvWY-g)Drx<=N%C!`jA% zIveowjb&ede^Q-UsPn11+Y%vRVO8n+$<-bRPIxbjJcPc77X)zQ^u7iL+% z{uSI=h+{WyUA)oBjQCK=^1>)+Ucc*4Kq4oxylf6N%%MG^Uc}z(@1Yc+jso3IaoFnG zub319Kx&=p*)M#N15{^H;O*NS2tx~BT%02Yg`+VdB%}hI=snF%`0rC~IVTAP5KiuH zwAib{p37<9rVRdAyqeDjFpS?@XK3E_@bsi!TFrFh#*M(1M;iO1gaYV}8Z0`jw(y^p zM-%R_7+owKasU{>!_{u>qp41_aLf#$9ZB8tfiJ^?Ur6cKR>-aA-#? z&^ucwc&17vl!_2d*2|Y2GkrMm%=k(nbZThvw$&uA=cnG@VeBekz4;dP zIR4*Tj(z#?kOjbvUriBvb_tqfnmRfm+ESYgj$mUHZ)fbcS`)X3aTKIG6v=KY{ z&vlZ>VE(zzN8sW9T>py?B)2lEO;v5&?qTTzS0GzR^^+KbJoHvrOhJoPAjJyHMCv4F%P{u`y=S9VIs* zLfi*c>D$=0ekYskuGeERzLCDSF$2sKk)Yno6kMVl(`Jf04ebP{rmJ$*b<+xIU>|GL`CTUAi_LC zLqknYz~}wX)l+D~iLy`$8U(>q6uj#@I(TtKs0aL<86@=K4z+6kz4f6FnY4)P$dUpP z)JCDQq>z-9R4}^9B{v4lyx!tYsF*Z}ZQgACDxBBkjW^z)}UbS*4EEg6PeR^#!lH zNI0`{a$e~TSP_I6`38o?=+Xj!xXQja0A_nMu`zYjpXJHQyvF>+YHo` z2}03<1C@w*ei|R|$!fEvZ&d(y&j#@%Gr5A$@NNH}Z+x?&=4PY%1XXSdg#si)MK>$LzsELqc?V2C4b-26 zDkl7w7H~AAX;}Jj?AZ-t5C_T@CxSsNhp8gSgiEMGk$il&^9c$RustfR3l)Ml=1vwTM6r>~%O9f*Oo)ZsV{QXn=BZQPmM@NU zq@B@@5j8JgddoF{BRD-g&Ye5^My5bSL4gzCXG@MnX&4f}M4*=-cWSTDI_gSFN)j#U z<`)*s;%B1*mgpc$Mx5x8pbTeOmJ6XP0#V%csQ+Mwj9IP~4VR4BWpoiB?U5fXW6`H^DE}I(U!~yGs7Tn5lpU#XPyi&?)xj&7cSSt`YJ7cC@)VckUda z-vuQKdH{w!2M>l>FIQb*n#N+V>3CvW+t^rxI3{6w2Hx)%Zuw%lJNp23G*B%amJmV; z3wLLQ1D4!N;7yvA`K!##&gLQ5BaIji6PL6@t9jBZ;_qDrZZ(8dOvh9E6Y*X@XKceU zU|?;T7PtzcQ_B>U+p-U1SABm^@Qv8mhj)Z=c7pIgw23J6o+e}6tpPQr``jBD{FoH6 zVys9$`iLk<#xi9XZb&eU7v5@p`5h2+go&0*3l4!RND5Pn5I?PKXgEx)GR|S5MH2Co z&cTBQ@xnVCZm{z5o|(GKsQ6Qawdz^`45W>-g{Ph^;k))yZ>s zpF}_WvZ{)-+x-vDNxC3Jj|S;tf1m`ccyfh~Rc z+BGF_B3DJyTdWLycD}EI2Hui{`oq-JR2?0iKKs}m`nVy1G=Fq^u%O)1(cMB%kD0V% zJ|69&$;!%i67`>i;*|w-b23+cp(YvV4Wj9=7y}Q+SNa4u!oh;xp(uE zs{|sf4q+o=Wm7nDld`gyQ7!B}k{T<2wr@9qp!&OEfq9s((kq>yqoeyYGV+>ud%`L! zE8mBA6gCUv7!(~H-9PIs>JjRkon!K7$!!^S4vk=Jr~P�*B(<`<;B*S7@?KGEs?T zY-|i;>^f!IqoRA|Q%LhsGqW&44hiM%-VnE;&Z0DmbyZN}$);*Nz_m-4X#Ek{ifDKw zb^FYSM_r?M$6mPCl2TH6XqiZqAYec52gS$&vJEA`3jlielz*5d>IatVzE%_v5ST)2 zfh;f28ce_L()H_13qK}V5cPKMc(NLps=s?|%(<|*Sn>(o*C{WF3>jo?@7=qX`_#~a z%+E}Zux3yf}PwMpa_euP=q)l4)*k4q5quyuv=foxZ`rD};-M?I@1* z^+DuOSh?;27xX>g*?C@^U~A7$o#No;9{Bt^TAqiQ$S~niIA?$IitQ@8*(i!H%3oUY z*Fz={nA5b>H@`!sJA2%tj$|S=I5M&}`F%)tcQ<`hi{}=HtQTB2vl%W0?icb|#joUA z9p_dSN@Vb-3!|b~;0WMe#ar%q(-Nl%gvuVPw80@JNmCBv%T7$q&IVUn?Y6SIZ#tRO z0J}mW!3wbt)5d5dlLBIIx%i{Yuxw!y=AW{7zA>@|bOGj*& zaBWfawYma$s^~oi8$b#~@+GrWnyj`wKQKQO=Qc%jAqqszc>_6skmUtA#V4sJXHIs^t5ZyI;j!((58YfruUW(Hc)h^r$k zUEk=a)3jFxKCV%t*~%d-%o1D~h#u@x4G7__MYbkPTl(U{w;&M)Wv_{NYgfb;7#SJo zU)(lod3Z$F$izg^LH0aCwYOtqrT(*^I#KOG)QI-A=h+Zpr0Q4P=K#NQ3knM6ciqpM zoZrr%XeHkq{&^)8(9q2wTT-q+J#Nh~U1xy)>mjEcz4RPpU3)*cE zcBVvwTj#U2aACFKw78TSIR=B%4Fua?j`|o{c^A3cZFX@xJteV02qinJ6R{z%Hwz(4 z+ianp&qkP;rlzK|s0pS1#C>QH*f03c9> z&8T21kS!N#j-4FsvKWbn=248(G04+C4iLW53AU=e| z#K0x=ha?(1KX~@cs6F2)7Rypf4M_U;UFzPxmgq30x31<8aPuq zeItyS!u&7aWRK9CHY6=KlUQM0_|;5~AD4jjIE0nQjos$=wr!`+ObS9xWVH4?Qd?io zkz-y&?nY6@C9F+gPKWD*T_`5VHU~nJhoW6&P0fB3mvbR|?L4#Jb7Z^4M0s`bwcMjd+P}`$&GmVx{Qh%|@F8yV=Sp!x s;_T0LGlz(Z{dH#vmiGUp4|J}e@jiRlxu-1ukZ>K)I;@$q*Xq)L0c Date: Thu, 18 Jun 2026 18:35:21 +0000 Subject: [PATCH 2/2] Add real N-HiTS/N-BEATS head-to-head to nhits README The datasciencewithmarco walkthrough forecasts the same Interstate 94 series with the same last-120 split and MAE metric: N-HiTS scores 266 and N-BEATS worse, and neither beats the naive seasonal baseline (249). NNS lands 236, beating all three. Document the comparison table and source it. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01MxVLKYqazC2uuAW3P3MbAm --- gists/timeseries/nhits/README.md | 33 ++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/gists/timeseries/nhits/README.md b/gists/timeseries/nhits/README.md index 11d0be3d..630473c1 100644 --- a/gists/timeseries/nhits/README.md +++ b/gists/timeseries/nhits/README.md @@ -8,10 +8,14 @@ accuracy than Transformer models at ~50× less compute**. It is, however, still neural network: it needs a training loop, hyperparameters, and the hardware to go with them. -This example forecasts the last **120 steps** of an hourly traffic-volume series -with `NNS.ARMA` — **no neural network, no training loop, no hyperparameter -search** — in a handful of lines. The seasonal periods are discovered directly -from the data by `nns_seas`. +Marco Peixeiro's walkthrough, [*All About +N-HiTS*](https://www.datasciencewithmarco.com/blog/all-about-n-hits-the-latest-breakthrough-in-time-series-forecasting), +applies N-HiTS to exactly this problem: forecast the last **120 steps** (five +days) of the hourly **Interstate 94 Westbound** traffic-volume series, scored by +MAE. This example runs the *same* dataset, the *same* `[:-120]` / `[-120:]` +split, and the *same* metric — but with `NNS.ARMA` instead of a neural network: +**no training loop, no hyperparameter search**, seasonal periods discovered +directly from the data by `nns_seas`. ## Result @@ -21,10 +25,23 @@ from the data by `nns_seas`. MAE on traffic data: 236.16791666666677 ``` -On a series that swings from ~200 to ~6,200 vehicles, NNS tracks both the sharp -rush-hour peaks and the overnight troughs with a mean absolute error around -**236** — a competitive long-horizon forecast produced in seconds, without any -of the training machinery a neural model requires. +Head-to-head on the identical series, split, and metric (deep-learning numbers +from the article): + +| Model | MAE | Beats the naive baseline? | +|-------|----:|:--:| +| **NNS.ARMA.optim** | **236** | ✅ | +| Naive seasonal (weekly, K=168) | 249 | — | +| N-HiTS | 266 | ❌ | +| N-BEATS | worse than N-HiTS | ❌ | + +The article's punchline is that **neither N-HiTS nor N-BEATS beats the simple +naive seasonal baseline** on this series ("the baseline still outperforms +N-HiTS"). NNS is the only method here that does — an MAE of **236** versus the +baseline's 249 and N-HiTS's 266 — and it gets there in seconds with none of the +training machinery a neural model needs. (In fairness, the article notes this is +a small, repetitive sample, which is partly why the baseline is so strong; the +point is that NNS clears a bar the neural models did not.) ## Run it