From c3cf2fc2a5b943de38c795452f41809566b3ba93 Mon Sep 17 00:00:00 2001 From: Allan Bowe <> Date: Mon, 22 Oct 2018 23:43:06 +0200 Subject: [PATCH] adding deployment uml diagram --- docs/dci-backend.md | 18 ++++++++++++++++-- docs/img/dci_deploymentdiagram.png | Bin 0 -> 49719 bytes 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 docs/img/dci_deploymentdiagram.png diff --git a/docs/dci-backend.md b/docs/dci-backend.md index 5810395..ed5e93b 100644 --- a/docs/dci-backend.md +++ b/docs/dci-backend.md @@ -3,11 +3,11 @@ ## Overview The backend for Data Controller consists of a set of Stored Processes, a macro library, and a database. The database can be SAS Base library if desired, however this can cause contention (eg table locks) if end users are able to connect to the datasets directly, eg via Enterprise Guide or Base SAS. -## Details +## Regular Deployment 1 - Import datacontroller.spk using SAS Management Console. The location in which this is deployed should be added to the `metadataRoot` value in the `h54s.config` file as per [frontend](dci-frontend.md#details) deployment. -2 - Create a physical staging directory. This will contain the data submitted by editors and awaiting approval. The Stored Process system account (eg `sassrv`) will need write access to this location. +2 - Create a physical staging directory. This will contain the data submitted by editors and awaiting approval. The SAS Spawned Server account (eg `sassrv`) will need write access to this location. 3 - Register a library in metadata for the control database. The libref should be `DATACTRL`. If this is not possible, then an alternative libref can be used, simply specify it in the configuration component. @@ -19,5 +19,19 @@ The backend for Data Controller consists of a set of Stored Processes, a macro l 5 - Deploy the data model. For this, simply compile and run the `mpe_build()` macro. +!!! note + Make sure the SAS Spawned Server account (eg `sassrv`) can access these tables! + The next step is to deploy the [frontend](dci-frontend.md). + +## EUC Deployment + +Optionally, a shared network drive can be configured to enable EUCs to temporarily stage CSVs for upload into the Data Controller review process. +For security, it is recommended to set permissions so that end users can write, but not read or modify. The SAS Spawned Server account (eg `sassrv`) will need read and modify access - as it will remove the files once they are loaded into the secure staging area. + +## Deployment Diagram + +An overview of how the components fit together is available below: + +![deploymentdiagram](img/dci_deploymentdiagram.png) diff --git a/docs/img/dci_deploymentdiagram.png b/docs/img/dci_deploymentdiagram.png new file mode 100644 index 0000000000000000000000000000000000000000..b9e9b4904ea948f1c887733dcf58609ac52d9147 GIT binary patch literal 49719 zcmeFY2T)Vp*FK7%_yVGI1f)0Vl7u3?_uhjP!4QfF(u))Ur6Zk~(4_Yoigcwz0!SAS zQF;@kDInlI(YO7+@BhuccjnIA|IEFNjAZAWz1LZL?Ny%joG3jVRZ?PlVmv%NQgt;Y z13WxJEFRuv@jnQF5!4l;Y~a7k_VU{Dcz8AOBxg2PfX^%s)C{!o@cg;(@SZ-y!#f3r zp04BJdELRo+q{p5C-D*wkM?m!v%VA_-X&E%EhFWhKYs$(+`M_SprGK#k015*^$QCN zAt51$hlhfKg5BNSN=iz}$;mD*E>I|Rb8~ZSY^=Pz93LN_oSgjW)2Fqywes@vJUl#Y zZEXVs1F5O0U0q$@zkjEoppcf9UR+#UU0r?q_U)xhmnbPIr>3U<_~Q>xPtTT?mb|mO+7w7UR+$9kdV-~Uf#7_QaPB`KA-RY{DHEb6wJ$%ork$$B2z?K;PKdW4f@rI0ULC;bNs$pYC%w zniJw;tRx{I$jx+<>c(b&dUBA>SY6D<#)gN7$Fpb8f`WpaoSZT{AwYB^E z`#Cr`L`6mI?d{Xj(u9PBQc_Z?tE=_&^o)#*9z1x!%*_1Z!-w45+>DG2Gcz+UFRxCn zu{uDHmuxjvmGC03FscC`h#sp!JpkRN<9;uxdxfO{gI7J(wUw_f64Ox9(3|4v>jL|O zr>-P#t%L?4IbHLIf_@)R(%6ITsl+3y)Oika;?}@gc?d4**DZA+>`4z zdc9{09mg+z%KGd)A#|luPP{BPoUpKUASHzdzr*qLo`($~!5cSVz5nfh-r?ipRWH2G z>e%upd^$CAv_OaV%Ig)l`sW{`M0j{lv}h#=u0ADuTN#Xx_sUpd3`(_oYLEAh>s|_U z`|gXiN6ih>U$br3-!6W-|8)4xN5g(>Ui*=i?DaMG%Q4N|XTxu()qhGdAIF$zTn?NU zd&qJ4C5kp+j+QM+TTEChCXTw3@pjA=+Xq$n_nB?*Geg=6`O&x4{c9Vl=y}a1JP+*J z)i$;AV>B&akKF)majJ7XI?WssML@-@4L3pR%T+t4%X5#%@h?>;KJ}bZjJW*Xa1fMN zsPUd$A+zmyY3=U%HJg$hgy7cLnAvM*aEIDKps~q`t_n8-MiWG?-uW=!($e;Bg!wBw z8o>lhbM@m|cohfu^qRk&-Ky-N=Gz{wV$x%k4|wnKxA;Sb-&lc!z#tO%oV zXefini^s1{Ro3~=#mQa7yc8~?ba)X_`9kRHj3Zt@^7G89=put|54|@HjInB{Ig9sn zD{rPVJS`wNg)eyIJxv>+esXvtm0j%l>I#hN)RNrGJFpI~I6^8pZ1_#kzA;>fBLMpR z`=SmQW$@ebw8G}lD6gW5gUcH5TC*M z3!}q+2Wj1CJqh*Kf-|L6FfPr*eEJCYP?UNgQt>NWBceZ>`{0IB6?=z3LdScr7N&EU zuF{NIe0efB?Mf}yKUc_76XmHq=Ek0e%(yj}`AL24x*FWTHfp`8j(Qz=xq8) z!2Mk_7IX+iE?eg#ekr!8ull9khy8j`)?Qwug<=KoXD1QPjBL_REo};L=}q-R9)^1w zi3717O5~OkxvR9_{lfDZPJ##L!)i-79&yZXC{Tt)gm8$ERtQFgQ$kA{4L|il&l2o1l1N+OzpsJ0SXD-Xz>h_VjCCL~qLEWCG?n);jqMH>d z8vAB8*HhP<^YbeWikt@=SJb&jQSKE_DGe&#o-7Q}O{^AP3asBZLfB1>BMnX%2r9lt z206xFO1LisoEWBBIk-_%k@V5cTLNg?v?z@wN&FRJUC;L>rI!lrR+oqFCOuDsW=Pv| z-`1@80NR4xRp2(XDTPhxd*ns@3!8S;E~zpniaO@q-AnU~_mFt1nbR%0E+j?ej( zhqfMtVBc7MdQz#E=YQ!vElq!{1R*>5mD=Yi1LZI6lFFaFyJ5`CV%cHNk2d1;AwiNF zWBC6#QwA{%h9?%ynr3tvN3rsh;kOt+AayvwU6>4z28%2qi2l|CRHlKrJR_Qd%J&!B=R{Xt89=z|6cof`&?B& z_UItaYh6deG|u4AVIp6bFEtFA6;Kfkmwy2D8+*BBlA z`@w)gx8FbJyWbwj_Q1@-?;*ado{!CgI*>Tz>t)+&=J!14J3Asz2+#|Zj2%nfK5cDy z&dgFFH@6AA2l;uVCG+XlrSUqIyRO~h@WmIdX6~~4HpF)~?A0E*S$69!`A*W@lX%49T>Kl?*9aP*iiVTrqavri0nLgDR}E}cuL9emQh#*c71;{7`^qt z4*!5+EBZpc8`0G|wVh>4a_K-Zpjs>+D<}mm^2r_dUY+*IjzjS4Cq?ZK+BGWzs zzTIX)@u$!UR>7(ELO1P!N2H4^JO#e>CfEKpa1CJ!*1(M`{xeRYJ@spR5H}9~XPiTg~2pntzR#;>HR78K>4Z`8B?}2*?Ah=uW0xFArJS=0`av0rIS3`vCcI zBP=Kis^2$TaS{|SXqanRJ2(UdTUQqo)=`-o9k9QLta{ilb3lAt$~3@_!D2u2o$ zTB;-qfVx&DL$BZ#26THRvap#2MeI$loz@QsN;4ZorNKHyp4>7J?!R{aH|hHz~9UG0w-d_$g4F`hxIBA;9H?k%f0-Be^{6fINRs z_(kxM(6v8qYRW@~!W?FADUD01C?z+6Nbs8|@e^3Ptx;rm(n1|dfqw+KCDE*-uuAM~ zpksaDO^Q2Hfd2lJfOYgTawe4Z(gT5iFP?xD`2X%@upF$E&=m8~yZic&Y}MYFX%d7$ zqf?aSDSfS8Z&g?Xx&j7ReFX_M5F!s(0*qGkM--Vl_exLHg_#x^HkIvJx^EY!^}!>3 zE*sq4JgCr0zA)QYL*SHgMQL@S9Txs6a&le03yu8cumhL-vWc)>gvG?L(>tO0qwwwdoqJvi5tO+BjL6B)FL_ms&4?9_rhMsa3nQ|An2qTM%DMvtgj3CWtpT^TGBg0o*dULM5bm@mCn=zTqd@$i2 zNHw6aRI>=QY!Hy}&Y-L6MX1Ua0<7bL+P;<22dFc3$0OgReKr$VeP* zD7Lh+P|Pq+Lf-w(c7y>Uue?(#8{r>yJPpe3s%U>3kTiYv@eUhmI{~_)RhR%p42PN- zgf1%TQ3Y~?vyW1XMQn?>pGh?^)~h5nPKO!Lblt&ijl19%8u{5|`(g5*^MwYvKMP9NW4&y(mqIJ7hqpP`^j9Op-4m>r8q}_z^kaa80;bya^!^+#uAB-}z>g}H3 zQZIGuQpHI6i*n%t$S}(Yvh!s$Z|%)++*wz?U+APomaT3`cC;asReHI7@bh)s4l`8~ zBF2(}5CjHGt^etJM=D+BBg5LhHB~ET+xU9GVQ8K^ByA~&l(xMd)Ywo^8!XIucs~e{ z8||M^tg*Sy!Z3DLEk3#G@wHge^R@QNe8oX!>knU^l?!i1o}ngw>CZV4+RsG-(;ZoGD`uk+ly`?DywYN^q|zBI4`?$8qTY2FcK_7_ zm6bojazTS5pT=KF1l@B~|LkKFZ?r5~x|me7=FGpKpE$^Do%EMBHTfnLf*jB}QXdS8 zt_^^Y`m$c_gjW(YhtM`w6MA++cETjM^T4YLx%JI5N9g_^BYdrtz2^qBxmw9J+&@WL zkXVV*!c!AC^!PPo&No;m>l(M70Y%)@7%wvbzo z?Q<)0Juz)5J^a^*Za(C>!WF-*aT02RiZ3rp6KD3&P(yo3&3w>>&8NUXF;M-58+aRT zUR-Xm?O(2q8pWTEQqk7aUPUkyO~=F>6eL`I{;pGp6}&*5m^E#!!z?`c=)852_z;?c zMW`%KR{bf}b>ygCx8Bct^ms{eYF)gx%JoFeUFKrobq^@?$M zZ@_EvCqT)423Z&-qbDgat{aatOf;gTghqXW-xY7X(0nlD+n>;{s>(G{v2CDPkf>2YK^~wk7J;= z(=R9P-H(kzb3Z+{Lz1!w4wUnw4>9io&M%XJEc%A3BJ|CUjKVpByVWcPY^lO8$JSFt zK%Qj8O3ikayDh93e&WyZ9LO38&q%@^oA-TJJeX8ZYG-q`AWIDb<(A+ay#C7L)B+V{ z1J4q&ExWuMM+zvd<0RzVi0kJO!B+jY^`_=9uo#W>!_ZxdW7NbU&X@5gBA1@1Pi!3o zBpn`ICA}Ga+U1NK*DW^K;0W8-wj~no-?2DcvZ~646Lqyp@s_R?ctEu}aa(Hu8MvP` zs>GhM^30r`LtT~gb(@aNN4}gn;~y!VIR$K-+bZ*Q=_$R_tK=zP3zFI;U)3I!BZ06v zDhF{(?W#wV)-Hy`^6`ebq^2d`GInBJ`<^6dpX6mIHlR~rfaLHDT=QY8>@>JwGf#lY zu4@{MKk15es8xo)0am9`GNc3iIGMKHwJ5HBEDdfWfou)1BjBL*COCv*o!|cdm;FDY zkix(OrR*8-diet2cIk|5_OK><)Si0^?KL>|sn6Tlbu$IXW!*iwc_AkT!E0Q#T3 zffQ*WYQYCROct?g*vg)pPzg>4a`WHchGMaoKo2SV%TfQ=hbq@h8^4)B~J+A%{LbD!<&FQt zHC&(1966Mx-K2!Bw}xcgXye!mIEm*D?oW^<&=vgS)ZK58k8u9dPqn5OSUsO7h$4FO zJ5#lW$R72iVS)WHmiglHBhk~j%Rn~8g5ETtC)ZA(%Y&_ce-`ODpH+vV{AM)rfS2}= zQFU1TEveFScd2I5W!llplZNh$rW{_4K7OURZL7dI_uDG~tuPslyB46<6IbTz;^DJ9 zli^tN+>f8?EX#;MbN(T7smL`y1MSMHP>@DO`@}>wp8%)f6CE`xj|?>vv&6?sFZkFN z5PTf9S`Z9(&2EVE`!-Z(eu3b-|%di9tz@Po4n-m+>IY}e@|iVA@jQb(1zHQO4* z0QuQVnIAfu!}IoF(k-`iixOstulA(i`v~K4tavpsMZYdg-E3eG2q-p2@}3G6?*FY4VGk&>)y)0OkiuHdfC zwjl+EUm!>>g24`y)cuafy+Hoc@mpC^d=$x%>}x11yZ~ma+bi#d4nD9Tr2h&83qla}>Yq8<`KRJF7 z5$ue3hq4NMvd9|Izpc30VHnP!r!>S_ab9!|rSFH+t;8iS{6q(5-5$k;$+@a`IMoT2L zdPDVM%_n+(x94+$`!hz@V$@Z)KA+a>1;w648T6i^EPO)Q?(!N< zziQRP62uElZHSAP_OJ$;8X4EO9vpY$HLPn7tCYRntNtU=m}zrC1!%r}=tcU9hc2U1eS`p7Llw?x;_ z08WtoP3aqh?{dP;Ykmehr!pdw%kA-@dSaUnZxQ)Nf7_!GyhtHIU$Ck-ucWr!k`OM~mXaL7wUQrT1 zRdflsb$vfB2`W+YVYPDUyD>Lvtxw+=?&qYYLSiYloEv?YYk7E%5vVcssg9Pj^bt^= z+iW9wZb}?zGqHK9Al0~3?F^tPHC2?HC-Zzt?uZ=AS>%a?s2P@<5NSa`)hCfYV3& zCJL{5t+dfKm%%FaE!V?FA{8Uqsj*^gu`%b0mz2J(r0qa#JeL8O(tYyKT`F;7iCjpW zy2w7If){L%F&N;%)#fE3LvI}!L%x!gF|a=}T>OkkAg}g?3imWR&z2bUu;~qBzcbm7 zChRSG#IAP)q@>ccdvnlikb9CyL?pa!@lB&8e8wIMm(eYR(qwNgb}up9?0lL|B(Drt zF0~NYyurvVq&p&PS@SKS75+XHn_u2sSJXTKEh7xMtYqG=)reJ?w0mFRTp8(ES?{*^RJA|36>OWrO!6gcvV}@Ea`*4{J~|mL<-9l3jGdSd_Z(Yt zH*6Ro^%DSBc{V~zT^x+^Vw#Prt#8NoF>!j%JIjyFGMqmOC7+D1hwy<1jx|U>-$%w7 zk1WI<_I4?}sI2X%oOzk)<0&izZdWK&39%^QcR#}L?bt{ectm5^oj&VJekq3hIt?^- z@XPQ4t$J*yL7L4+bLQe z*!Jm>?LcSwVcHm3Po>!XBK=BnOizdK#Q8i)($vRwSIXGppz?yxKd|ee$mY$|f!J{8 zTVH*u z)(c&43FLCeH0jRTB{aPy-J7?Z{8oB5OYSk!a#pnbb@q}$Ee6B}JE+kDq4uu#=-ro%}Ti+GEXs?=la#+5R*@RPr-T z5@c@gB}B9>qqd>047NG2^8B^9q(o84xE+XHTHCcyD!D=|H+*(mLq{9N@a1rS-y-Oq zFtF7YEHD%8N7nF(jsh7a1%W6RvjGZsP4?Ux7NWQ{?&qW%-jGc=f5GaF(Sj#onS<7sYV z2L!WH3t7 zW}7;mihs3uqqfXSrQccbSKy~-!gIfyu2Us+VuD7`#8$d%!ws2AgFQ2)^^dn<5=%R8 z6161wm>^OD((b+zlZ~+hhkWPji+k##>V_7baTZTRD|O`I6*Ra#YNWfvH}ClF&6hvs z2!QnRm)~8=qa*FhZ+5H*v(*SG>%gm;(SA?Ob>$kY!A&OlDb^exROZq|4#2I*F!f95 zF^^gg%Mdac4gvdZZc7ryTg9}^& z65$WOvS}Mksy}`4&uP}9joupn8^&2b2j?-)#@t! zKUG)SB>cKxo_p#7yUU8eVuXyv}M*=ASv?i^=PIPKbcl>TP z<9KZks0C@I0Pp>!@OwbkczEECZq2ivIR@&B`$|U-1b~Y+ zQkcqo^#ffNQ?j0QynMKKK$6Fbw)`bQI?2nrEq{J=kiyTahx|`ED5IV^ryfQO$gR?G zM5)F%(W+;gYOsxJj&TG>AlI7Jz4x?MG)@`K$MbwNi!74H-I}n~d?W_}!$n!@SB z4W4TvzxRNrMu9tI?NQnkJ|ID?1jF+nY0S`ov(iD4`^gGSl)+GSd3pO7m8Gq9ute9U z?hi`SAR^nZKg>LTEBo=oN1h(FV;(nI(KN)}Xu7hJxGS;T-7L{;iI!q9N=myS z+ut{O`u1ZiM!oP$7+EP6Vx9$MMtK@dlb|2M89#q(QRpa$UC6&B8Ol^ARP@9ueqoI> z*9!7Vs@*~mam2_wlsp7BpC-N4)|>Xtuni|8Y`9EZ%$O;IkkEm`__HTCz=l=4)MXP0sgWgE5m|~ zdo4wim?4WC59f!wqPNjQPQ|O$W^fm(CXcK0KcH|7;msqTuZ`^jNJe!|{R8I!NYg7H z2c42PTJW_q!4as8>^Om(V3VJ>dR1E1-j9M4#wqR;8_37$;U9s+{gNGPuoBRqj>Eah@u+e6c#3`f_`@06PR46qj+wb$H9e}-itx#2jK;FH zIXfj_2Co{Upl_2`Og~@CV=77!To|i;k!_bFa#(LcrxL~B6?Wz?kR5Q8SG-h4{h*Py z(WkIZ1UaBW)8XSU!C7H!=N(|QZ>A2Po*wU8S2;pDwM1o{Rz!F2s!?DCB zuq>>6siJGzHjHhU-u@maeY3rD+Z*kN6mUjn9vq+7xFF*+o$?>Lm?q3zCw_)41E|ry>p8pmqebr$!@{(b58s%`?ue~R-;+lUPKJT+xxNl z*#`*M7?xDD@^>F`wcCd3@GK2>zBEbDJ)3*Fc%L<`AjMgNNK1iay86CC1b~deB2OE|HqGcyl=_QbJuB?#Yf`Pi&|?soe5jiK@w#)vjR!H}6SI z-)h{Zs3_FYRmyUXO@(o#+b9t8V~N+iBCf-{9Y8T?UI{BM^ybQ(D~v0zp3>J2+2fSL zFSe1C9d9epz=?jiW1Vr!dR?+RtzWBQ;n*83JP#5$$Y#oBOtlkT)O4jym*%?s`$Qq1 z?wOh$kDJ{Iu6X8I?{yCslehCvH=%k|pt<#`E0zS9b;XOf6xQ%Ev zPn|V9Pgvhc$+DF7$R1J`q{MTkpOxa6mp9;BPU!og_{_=5{$`w5Al@IaDHZ*MnHL1T z<}7HZPQhHBA*o499&3f6$`9e3$iSw6bQsh@v?Yz`0)3uU+15(>;sAh%lnm$U1@V0MHqTYRXq5}PJKM`%o46{FY*i^ahr7V>6s8wnR zQ?;Z3zeg&rxCvmLx5@#qZ6*XeT!^rywGuRc?>t}I>AlT``rr)XCxsmTNG!`vQ$g5~ zAgK|qBuF=!tf9)4>rdD=PrEquO}&hZ?55+6hx;kV ziv_prPgdfgl&+iAM(`g1VmI&3o=XG*U*!XO9^QOtTQWKroYD5{%3HGps23(K@^7IM zu_|H^)V4~-*V|}}Iv0AtZptJ*c5;bvc-VyRXsy}q`4>4z#ifOjDWb9%7W94^0{~|s z@0#HtF9xKgWn>JW*YvyNNUJx(lB;uJ>lL>)d!pAiujdjiT!B2wcY)eSl4(DD74hg$ z!qJf&X7cghg0X>x+Y$*G;wp>nyx9feVusDZUTn)}MAG8k?yNeMYPO)hnVEr7%Y=j( zQJ!$tQn6ymgqgE{i$ICYWEutU3rJ%>USaMp|X-ZcXlyPLm~~ z6=J#cYl;UQ3-T%xe;b4$a`Z_toZVkK_w}mE>~nEy+QU%ZyI%6&Uu6=x`M2+!T7wSOr3KFyP4~OPOKQ?0^>jE4nA&NH-o{@qR9)uIs97@bv3~WDo^Soj$~OHD zJfE8iLrB%uD?tRKYlC}+_d(_1bG*brA|3?43Ys&XH~84#O6g6h?J`<(Q@yImWsh&g ze%4R`JWbNP+*BF4C~hDW=61EF%XQ6@Ab4FxrcIYCcB8%M6RAXT>U~y9D=J>ua1^kz+ z%}9>h#uSw7kbb4}h)BqjNeHYV^(i>t<*yzO5QnN`92S}6lx4T#)`Nx6kcY@C1^kdm zVg0~_Kzc@K(v04K&@2*bVmJMH-17~c0bsBV_W@c436Q$KSB8+rwB%cg@GcZx$eBK# zrA6K)$Kh{SU(X=jZpL;w(c2j8G%@9MSi|IhUv@LbxjZ1FezbYa)pGRnM@4r-i!`X| zVcBQ{`F&0aIlM0a9SNaZ7JT<-ZF+mMP3E35x2!+%9KQhxPB&_H|}ofYT%sMAXql@g+nlTvOwJBUpM=rI{UDxN|?#FBpFB=&%VCC3SRf; z4YmkqxCHom4R&0R`PERvZOp&>A@^`}hX3rO{A&+>w{mdp7$Ok*3a&p6L`i(0F$n|- zzF$G&-;;jQfAVLS<=3nQ`p7R?Ucm>5e>XaQ^N;Y6#sD+TOK$#OeZ4e7JNS(RsOBpd z-d{bazjqU0b6xT>q*MH_G8Cud=v03)nrfBcLsmr~A^?EU6H685Kz);kx3trAWR{)c zx~@R~=eHD~a9r_CfdN`ZK)n>tk;Ma&51t*wTBBNtOgX z6kPNh8^JYx|LTR!*e0D3`?FwlYwh;OcS}~(mlhm>NCb!i%pb2jT6bEU@n?5SG7Xxm zRt9>2IO_L0FYFlq-7LJ8Tf#Inxb4h;_nxJIJ;L-$kaih0cVzO zxeI<-r*`+cUmlMS;K20RA}e^qPdE)%UT;i(*iU}`@$M?NsBa;-%d@761wBvgkdL)s zRY0l#==zV9D*Ck|llA@fU^Y?QDSHYRvOji6T-r}K6J~aZKh$9HxylFmso0z@=1gX; z|2{!DE+9k@otHPdQbINjk<4O@Uy(&j8<>GbtPgpIVR_D?5)#Q0OV7pn&0c}&g&ABW(r?ARxVsn7nUqT{IQ+s0QE;}ltZ?Ds-3cwstHt(C zr+D>ZUI>{ultFR1Kn#=(Eq}1kFzAh=58@+nUHLp}r2dV?mome42V2MM?t=p0jm(3k zTtj`0Vza$ylw*;(L9L~a{MIP`3}|U{3l%Myxwo$XU&a_hcZg_<=E4%7=~qx5L)gim z#C;>oKGOk{4*%@4H_Tgk7&Qcoanu+@?b&9@(iZVZHe|*DVN)N`eYkO-~t)$s-1hz^AI} zF6L=7O&Tp&4MB{Su$9;2JZdjWSi{RjB9^SB7XPsVdo$A7XEx*iHuNdNrx|fNj@5mR zg6J_R4-_dL`Lx(ltDUG72io!D`}Bv%`P*HLj1^J_3(-L0b59Ej*C}0XF6EhGZEOm& z`Hw?m625BvE+JNvVuIr#GHyU+TGd_|vmG7Is`J7nf5HXUFg`lEE+u9xh<4s)tMHS_ z-4`6pqx0MDTiJHMjC@q`#y>u`IBXPd zkbHab>12F>RC+B;%3E9Ux-K{Gf!{`<;|y1ec+HcXAMTn&~Pxz{mv|8e4Ke@Ml0^nkOd3A48F-E<)rsdVjj9iX=1Ap?~a z;z$TU+%*Jzyn_PVetg3XPV4_+!nfWu##r;EPL=)A3F7rT_Ugieo}qpF$P{i?^cSl4 zby)9nrSR1V}sAh=J^oD&!cZqzOxb7~hx~9Tg6Y zKt01YnBn>eBENG=+>^hn#@3!3*@_n=a9 z_yl2kru8jdBadwZr=66G&uKF=d(S^5EuXC)A9@Zvhv2p>411m6&qwG2VJeZ@C8=I+ zy~%ZI(mKKZDFUy_id4@Q5onEjI&C2b7Is<1!>V3G&S`DBDwekmt6nmdJ%pb^&kc2Q zuO1$x%dnzN{w}kD48sTrl;%lDahaB3u95gY#35YU5vAVn>7__vib>K;q(%}_*A*82 zU~IyOdwAVA3sF=@&!AQDHrbw|wFdHubgj9$`IC>o0=$CiukD@*$1ZZr9M)Il1d%$2 z&9z8T181Yb9Im=a`e0d*0^=aXtHe#K)o<*6TFMJyC3=;dWTRi6b)~I>&CCceQ0DZ9NHR%Cr;pO53NvaiA|2S?gJ;YTR=Dv#kK6A%0SHCdOMq;nuM@4pG^Dg&pI6Uj&mV%Lll?C#l9 zKVgFKWS|euW=$Fn!;Ms@Ctlt~#&skj6BfE2wK*nkQGg!)azs!gCYbkY2p1U8C}YIL zQq6d=nJnD82HQFK{ZNVHa^vexxkA#r!U9~3ZCO}~W{cVky#jqf*;l&t4YJur4*=DSlS#!EGaE1Uj%tq*|cT&^|KK<)Dk9x4u-REYNUvDvdXD+)>z8zq8F zsh-uziCyjBc+`$dx9d32Gq6E1ZTs^GZra6DXGkU!t>x3T8Ev>9(b}~CQ;^ zhK4=s~>P-!Y zbkvCH$Kr}2wcE7yAM!6Ga&~4jG-m^FHu-+^2ey~Hs34pU_U%AkxZusBfo+{L6H47h zec~;hhQ1(@9D11RuIuiN=h*fw*=N|;qNdMEJn@6C_+SQx1Wf7Vcb3aua!yV{=bg`8 zL|tTWo5QM+z)Lp$gbk=dx0cBh;xJt;q8<~OxSxn>Mv)=`MQF4C66 zoIW^AQR>t`GV-RUvM4IC`8L|tj$rtUKcqBlD9zKNxjl`JZ*t5cq3+c6A_<6WT`yn_ z;Bo-|jGeXF-7O9IrqJns(b|Eq8k}?LNSQW+kNCu5zw-nQP|ZmF5Rl#Z*n_58U>8~W z$O1^A2d_!f?Cx4FD0?mD_9jj!o@Vncoy^>TK4Wq~HXW1?jvR$SCa#LMD0ul%eP6&IYBG4wnpuLQWLxoPw!SH! ze#t!l&T-E*0T}|hjed6^m87}t*DMRv|3?0D80itAebUJkixAlAai9(d?aBPUuTm3y zY!Z1s{3^M0@u2%S{l6_qw*Z_U!xm;iKjr==f=sq zGga1|pRFCT@4hBXKM^DZffF(@&Rf5u?>`dwk~dElsPeZDHu;=WCCpu&SK?!`_xc$l z$(ikV`Db4lS%-|P{Zs2o%!)PU_H)@R45t zDg`dn`a3WDCv*8f8482L8csdF%{`c3Xchmr$_SB+g#Sg0xFPKU=kIf)N;1DI@L%Rf z2QvwiJ3Bt~HpEFrsFJMwx7Pa02|1BROWS#L%|p~ZxTJ?5Z-8yHtubKQDHPja^=FPz zngZ)JBo&=Nxg1QE1x1UPzmIw7qDpxZ3%sz2gAIP|eFBtJ4gU82y10!s$H$Jm_&Z+} zxOc++XoPN!mGPg8k5-jlv&-Ytw$;$z(BYZf_3dKu3>BnK9TEXBEp3rIDE@z#41XrL z#`vS!7Oej63j3yqJYB+3muWOd z&A{Cl3RiYQn8XxJy)F)@yac4|r6Hp*^1q<5YoIcD76!ZJJRN0tl!Yj^($9}ADVx#z z9{;IMcD$28A~bP!2wPw`71?)q5r!T7OV0oZ3lt21o}KXih$`a;gY*V9JRBN?WUsQ} zsFO*{9wgEek8WLs4$N45n!Jk3?r&<-;0Pc96Iy~Fz}_k z4{(oKD8eh1Bk*pjfB=q6CO=KhMvP9H%$V+PkNB^PC&LB%nA=q&f4a>V4*on0 zE}5T=qQyAB!Fb-tNrEOZW0dlBriR2li{ofg45I1~sfeK-^+5A9C|UkPfrXp>*vo(7 zIT0M-@tJyuX>J}&EXw%svs=3JZ3(Bc6f7a{gYAdUo7~&;=A7jdH~UgvMn}f*uF}u6 zd>O#*w$w?U`oFgm`qAToS=m%4z?rBbKsbg~`4ggI>E2K4`FRw4!NltSu+iwk zwf>&uxdJ@raae+^R8qzo{HpGNR-q>WQy%jl(=qHhCQ%VlWh&s!iLCW!j&5^!Txo*S?R*i3<&Eh^au+ukbZhuDOxgiwF zq|d3n>fc%?ls|kt2+g8*H!NH;{GRtUx{2$X%R|tCCBk)kXYbp9^+)}{at};qDYjF* zg+c0w(R!Y~67f950%XxTlYk_GSh=4LQrdv2SE1WhRWx`t;eS zR%m%x#o(6ldkJY>(g(&l9)2ellusH(kb95Zdt}_$xhXCXE3N*5V5dl8fA46@{f?$DcC8)@s~*#dL7u_7`t(b5}sP3u3F7FFX~P zh6}A1DJY^E*u49J;hV({bSO<<_sbn`<=6W{X2Fs;vfhElfe=3?{Xk$9BlqC>`)mr<{`_kuQ8CfrrT5NCnERsnF)oV9M zSxZ03z@Il2{LsF1%rvjx8-I5IArCL~a0r&h{G&vGfoLOj)7MH(sBED9dC~p~YMW>X z!g%AbA7Ddm4);1Ec{vY5CxhS4{;$-b6?jE!lXS(tcE2ly6-+5!*O9gI3s}D^2Y+N+ ziapC(zZ|yBNZ|E9s8cJIZbmB-wi3ak2pH`)MWPPjnl&0~eNl zo6;|j7YZ=oy6|vb5a3B;Hb*_{Xw7ghRlvM&;vy98Jq29C@e9^Yn6Uxg7%`0dWyXK| z`-op5@5_~nUy({cCjKR^qa{3f!_yzl5vWn1g`nl^rUHTU-!#~9Wtot_ z%X~d;cq91ZZ3=7V_T{FLgWEsbrZmybZ zi8Up_l_4`+XbDrAcErqlnZ@U6Zn~|;9ksK3&_@}~|AV-hmxzdfbV)aS>u{;}b&uy6@A&?_fCNPtZF{yt__nE?l`+MksS6xSTO4PR|VTVL|Gw3a#=3GtO*8~{P zVi_EXmjXH4X*v%?t-zhW&flB(Y4Hf6WDCCsx zqS3pt-$g(Y+5o~-{s^HVinig-oMQL-+4_#8;c|Dejk=#Ks6@r6xuyOrlHm%3T|uZrt1&HCc(>fJ zjmG#CFK_cLSb0T1lpD6P9>!5^q-o~*Ns7!vNzW(Tas|z-djEP2BRA2&M&OalsjQi8 z*;GTr!0F6fDLr@HI_^HlMSYV`JSKwske(HGKFelP_B{L{%>~HufPp>Zp9N>72URy> zf={CH=2yNm}AC6T{UV2jCH1m>{mmKp1T^SL!^_19&%<}fvfNXV;1k;WI%z)GX}F&Xw-EIQDM z=gYFb=hi}XbzMxHb%*6qlflp7!R0n@QdJ`A1l``taw-=_yEzEzXQQrUg|qoI@JtK&DD9B;aqOiIYfN^r+9hclll3XLACEmQbz@bwkcF@8tv@c! z*y4VeWVmA1WfO>2eIM?Htt58gIT~r`eb(;3^<>jer1_iZcd_PgOa6DLDE-dsTl~6r zhR9g=m3_Y}REab@&UH4WT)JQ6%7bv`KL>!qS|ps6x!a=1z-Fp5#8Su%#@pLed&-3i zPLrfMG%5({=Tb0<6WMzI%Ng;HVKQkls0fVHmtV3F@>?Fq2l1RylWxf5wv8B45nd_? zH!-lzu4HQv2g666HIv}N*cAh5m;5_)``?Gis?n?I|M>E0;6jybaO%f825I+y`EP0K z9oLL@TRaA{^(X%7HVCEAkJJ0=QW&zcSHgylm8e5>qewsWS?5aey;m;;HE7@Nz}XBh z17|8$?Tu5es41SQsx1`l?`R+*F+&GtjLdKr0{z(_rjW?ce4TDBt>K5pdTP9AkP&DX z%pG_6@F!1nQCSqxt~t#%Zj1RCFc`14O>kL7+S0plQbfoFPO9Ix4@ioc;Hr;CgLdfl zv4ekUYFOKOxJYE&X3UqGjLU9s3eq8WY$&A@3P82KSZu#KpNC5k6-z83d^WChd?YjW zU|VN`_dSV2fmJzYlw^p&a$B)O>s0BR$$gAOYs7mMt2>1%KJn#L>x#+mUGEHjBZh}n zRtVBj2a6DP%O0Qj_uRerf1M4Dy}J~Ny;STV=y8bcOE*&9(~o6S79!Iq^~+TZlo5{n!pQTpK5j5L`PB61FNm<9*uZ;xl=J z+*=PY-HkY0zNN=ZOSV0$kX~qI-ex(AhX<@D{rE|iCLj1W#fIjmmx}FZE!c~O7sXGe zSo%4Se7HurBJFweak;l> zHf0~PA=#qDd#)N;k?^AUMflJORv_477zgtZGG~l^>fE-DJVFzkNuqhjp>Vl_(tc8= zp*3MnMp=UDjEr1U^>3uS?J~q;0i(?Zm;7My1Tw&<;m5Ax(0$9(yp_TEPkSOm3P2t2 zm|t7iB}JWlq!8m9n7b4#z!1FeS)oKUD9ms`goE-5p_rirOVz4J;XJD1l* z68*a08F8Dcb1kcOK6~wuJeQs1`gIsgym&fHUN(g5@Xqk5ki~Imt_3^)rt4^0 z!_NR7!H4Q)g?Wu|_OQ~Pt%WxTSGA`j5N--!8hiy`1@>W7IIGIVOgFG;{knBQGJQQN zt2^_FbCuGJdtL*(_2r+hy9klvR?Dfjor^-E-tVq z7$H3(0f^PXG{oChijxQ`Ec}zz1TL2vU9027Fek{`twf8l_rs_@#u;smxv?I0e_ZR*)?7E& zse8*4&v_X$gxOS)?>#U-Ztz2HAlE~E73m`^MKEf(ykGOCpR!;g=JD{Uehgi5)(f)} zO#WpHO)38QzMR#YFP&xnxs?U;`1dfn96cj^ zXSZbzL24IJ5Vw@fL!i_U$qQCkn0xwfPdhT~85k+Ri+QECA%k9iN1^@;6nnyC(KE}g z2Nv`1n?8@*qHJK)`?Z9}DB3)F7nz{%ECty}bYXP^s{j#}B(o z3O51}e8G8AK$-lVUevaTvU_+LdKBtcb5H|fGInj#>Qgr?X`hS?Ia>m~>-Saj7vZND zO?a12&+YvYL`ze`E)Rk4q&Y8pW$>@(ZSjM{$1@C?iy`zGbY$3?$Es^}cCfdS>`3On zvWP}r9#2S~%_}uyBX_ag(G45m!ApwxFOuG(?3TSbN)G>LjK}Jxo(u5m^N}kBqW_g* zVBht{tqbk5-InjmQ`GSGPayP9`KZ`$zHpe@mXgK{3io}n6XfD9k`?cz=D=mEb(TFH8jNjqDtM?DUvE7;* zEvSzNqMOBQkgNqe+wY((EC9;u!(iry5%MRbXrmY%J6+Ftvp`DNSFl|XA_M9)QS&aI zW=c&p1XefoS_viLpst$S6$zpH519CuR!@;&rlqF7FYr((VZ2&3`6>5*crISxMMC-whv z8(`23Wn}c<3?95Yrj!BEW&czep}~5W_g|oEyf;kD{?;XN{>a0pyF7TXnQ6P_2$q9S zyHm^F0}xmAPi!F;>(eCif1~!j!@l~j*9D%E-TU`r(K|Rq2mgBg?gJ&9e>0AITpAb+ z>Y!Y?dkmsbMwb7J@`x=U*gtHekv<6jua^gO$N$Cl&Fw96ihtww9n$;v^TFMrr2nQ3 ze=p(Rv}MhHk_@bN!?pEF9C7B^!1X;0{3ADr0W?Dq4!*sO0f!0M0UlS8J%p<7riq!W z&z>SE^70x{k_q09nv{U=W?INp$m7z%*V-&dppRm^Az0#=+lL*L%xquww@()fLR!A| z9rE2%^7`~#Bn(kH-@$%6m@(EIy{E*nxfVx2mGMJy_8`EI%69PJH7C+nHJSMu)%?1^ zt-L5k@Y{8bR|p)!d&~qM)gGX>v^e6@Js|8_SN-$~f^rXyE@-H&7DF5wcnc>E^9M7@ zHBXX5)IU!HQvE4Ad{7_{HD6>XUXwMM$Ov?>fB6U4m-{qeFvj1(Msr@vCg13&;ZkTA zJvUz5b?tf}i90Wf0;6CBM83@az&+SjYyTJ3`pvxun^b>kZ9owT^SWu~TJS?0b}gcn z<0b|GCiNd+FPE|c9jN|t@jmaU>oD_bG9QRK&seZQm3wogkhlkAyx7;BXC>%uT(6__a0E*{yX+Q zL3ZHw)Bik;=aImjpS|`+CWExTR3c%4H~s?i0>D20XE+uBcJD8+jhB=is5byzudj(b zXz1K+HM)G`V-|Gv;}q_7xq5YFu`b;PGNoAei7CvFk#Ckwgdc;-qvCjW!?1_s;VqP5 z;%4q_@rJCe1jWa9e&%3uf7JUp{!0X4VT_verKTO&Mc;W-`JDT(_`~&n`4ZO*`F@3O zM)r9wKl5=mU&M}Ok0}d?e?rddD{w1^L7S=4!bE%W@F38p=mC*YJtWV9@KsOGq}G5L z-ccqZ0oqruY1A3r+dA8_RzNGzK(g-1{a$Ko!75rsA zs+PvfOY9vzX+3C)7qcfsK{4{fZcg=F8e%%M@NV5)i?;LwsaO3KF5QQ&^q_3I0G@~) z-%;9B{1RCj0h6<2rs(ddfE@bwC>-gy3=21x!8Z3napdQEV_R316D4w(2wj5vSl6l8uD0`}kFWvB6{&Wzsds^v_Iut*GT4(<-OT~he5Jp&t zs-M7^y3>y#hK~ct|AHi64;n%BIgQxi{BgXAXt5I@o?eo<&_&RSn)pUUk*i423x$2F zuHC2i_r7aSH~LUw3&ovQ_j(Byc9lGi&nL<>CWjah4oHJpL((eEZ#pAK=Mj=r3qyqH zF&5mGCb?w$dd9%w#EQ%>l z;>Z3CtstYJU8|Qq11i#*X$vVR7Fv-lb4AtpGFx80;uB+%`0dK~wjo7wbvFZ>;5M@Dcx;Wed9#!JKjs!vm{tm)0` zybSI(S-<4r5gNWJT5}DfD01_==BF>wSyUq;O2{9Lc9&)k;o)CQw7r^sSweA7RW^Go zBuF1$lsArGG9=;cZUBk1kx(YH`YG*-yXR2IfR&)G_uhl+AgPzCU`b1*z|aJ*X;E|k7$n%)zWH&3V4kIw+@DhB0kSIf z2kbp?^8BX?b)^)ES-ga+X&2JwTb&5-P|Qx+?nr= z@!JN5c7PmNB0he4miFa5|7#F9mKY^{u#QOY0@D$8>@ayw;CYT%&U3RdwGamtZ$B01 zlFj!QuR8~xw$5JM5@Rbtcc`G++Uwss-b8dG3`TDj_aLlGQ^#dvx2RttN?xZ)$3Jq4 z40sCLmo81w6)R;mHiG&yL@LEtjBU2w@Xe-g!t_un`o5@oIvDOwoYjTVR`|oTX!`gm2Qjhubi^O3iW=a^X)oeU1kyMsIA)BN~g#G6Rf+gmWlS;11$+L)^y`$ zDPqFo`e!5-8k#?MtpK znQx3*m=HB%LmAvmB})%~Hfcyy^+dWXcE^;%oXbdmAbXz`(yJi_(SJNJoCiwid?*u# zYDfR_D!*&A5*2juC>~*WAD;1zk{Whgk?{B^DS+ujjdPA*`qBFmM;2K8E3+kk;T?Rn#J$-8p(ze#E4cA*H>PudxF3smI$Icsleyf-5ETy zg*C3j+ z*S?+!Q|=~&Efliw4@f>C)Iz-SL4&|U;?nX;m6v=j*4BG8bT**~&JSJ-ZchvKxiAaU za+GC-1VjYe{k~pM`%&b8(qi`Sh$Xh7ef-c%uZ?Omhj>+%r$1Md#MgP(RM8E$dq%-{MF-3~gi-^N zc3pL)8X&pkN!)GNeHk~9o&D^`$)rRk@y4&@Tz~rRCo9uK!EKfAR0D&ONKlOf4ywaB z{WI}{H^tLVk17=!*QGrr#sit}G~XOoOU|n&-LI%)_iVYv!NVqlmi8oCZ$+V1^ojb2 z^n%mVC$A7TZB#uPT6z+$(wxy_Qb-|lI^HLfn&8G>MS9}PrN)zHC7&v^cmJ$yNB8l!!MjD5Ly{zjl;@GM_ z8wzoWedcPXTEC3V=&+@H`od1}1#;V-#N_4)d%kT>X?izs_5B4`W~1xhUZC>e-%>{A z)JWn6J2e;*AGjnw(}Q+@qvCxpk{%g6=7Q6VKD#ZCd3Yz+^A^P5QDL(7MheQ-hnKQJ zYvqvOAd#%DL&3#dF- zI#HXV^7j1EFjmt(RdSR3vW&KQ{gq{vg>w>aESb;t!t~@BHTOrL9lTTOiHzFZUrm66 zE&nCxQ1O7gg-PfWKdu-0HA~Re;&$g2=Bq`FYrV)vl;l(}+<#hMpyPX`O?>)A`+*Pi zw)jZ0+~>WgjDBtWx3%}NZDY~=Ow@?tv&hY-1b>aZp3fZLhp+Sfwem87(Uw8<*OVd! z>J0B+191>2v!j2l$5#@#bOpG7OtRNN%NhKSK?mN${%g{{1ds53!wmGj3p7wN)PKyz zA0H#Hdy+^v{kAIa?Wu|5(pld5$6kGfDtZgR>AU`q8Tg`B78t)7CckON*=Gji@PP6W zNL%=$2_+iPu84lygaTdJNTle$kz%+bk$(McqW}02fkbNX2kF-YjSRxgdq|}4T@mD4;q7p z{SF2Kj>;}IsE-GjpI-EgqMCy?4JqMSg*QA&3ZpO6&ti?JWVs8-mDZlVM-)(8&YXdv zoR@6dHBow?r-NX!vszIZjiOXWV%VWRtwRuZ)mu##1Ht~~Ucjlg402nOX z8SY5$HV%M}oz3F!Mbad-Y2th_J<}y4YS=Lvmd9JJ2_22Nw0HB#LA;z_cp?tv73W#7 zAyc|F)>fPQ>dV`m0W-SG%jUH<%bWXIR<&OyKt=qHq0bqCLk<_& z&Xbp>6M;i`tI{JUUzoX@bz9a@&2I`BQ^Uh0cnEDMm2f;sV3%@1e!()$S=v0duLB@$ z?I*9SkX z2n|)zjCbEAUc(A;e}&)!sROEXNrP>V&)_W*fiBAL>#d~NV@Wy26Peqw%&IX#OMqlq z0)W0nGSEe$2|Qf~%{IW(PVf}v@6*d5oVC|UE+cPs8MqBgIMsrQyKH z|7}zD0t0^AASEQ>cg6tbap1*#HexA>n|)p71FJ@Z-B-L&B-sq0y$8gA_>o4iQZ}YY z*sc1blgrn=Jo{^T*yS?NTHPm5QNZ@TI8XfK13-5{CX?mnPW+~DOqbx%(&Gp0>!PcCC>pi|vSaK8 zvMXi>vRjwMQ_>m_2eL~5!>p=-Sp3cT&ahC5yvYG)D%45MAC!4A1Iw>xtzapQ1G$tU zgc?MJ(09r%q@7TlbRkkaKIZ#K2IAc(0{g|2kQ5ri&|ZDRL}A98mRiWsCvUx(SA*687wX$JzAf4VLM;PD6~@~}otR{JF{h(lcj zDmTu9(~*yK^>}=K1XV}(7mq*7oTy5-cWYrQYRIOL#Hlm6Hr0l ziNWearUcm$Kj4u3-yQ&J690fd4_j*QjS1|HH2};>DNOa^?@E1fe~6uIf7q!G12SN- zmK`DE`r(o4EwtA-TUz5%b&djiudg}ivOx9a<*CSUU(3sWfoU^2_nXn|24eU|BE0uh z)r`)GRoa@}A$TXUm#TwrTPPt@DfU@%l=6Ziqp@*6aC)Y#_eh$Zt;)MAvMF-<2R{Ai zbbiIUQ{5<*AU)#OGB)#!N}6ZeAJaS)!g)#k&cI~smV}HU%N^R;uP^igenZUyD(Fg& z2GNrsG6q)9nf6ZHB^AkKr@VE!?9!8f=s^~Gcv=r84Awqp88c`VEF_Cr@kSkw-ec9R zol&6`+GX-b3+z@Gp|nCU+=T(MU%1g|tbql!JDvB!w#N)Z`zC9rwLb_Bq#D&}?b!46Pq16)7M$?C#kfI&CKE2v7iJ6!(7Q zn(CoskJQ(Rd0I2Y{guyMh0ffICZGU_4P&{e^`SGw%}xddBbX_hzo#_p^J)t7h8K&A z;K3UO;u5n`6P2?_A#*&{oIjf`JJ;PnQ~)RIVae!)rkTU(<@}-MQLURlZG zx<$-HHz)GfS6`GmucQA!4gpRYO6olNH;vB|px-BMR-|aBl6d5tTuUXYX(e?GrU8 zb1dn5CY3B96j)%EZHCIry%WlK!Xs&-s(OPIY&Xv{f7&87bj`{3GX{EY4h~RO2k%T)T2v))Ho8!qmZZ4Y_EuZbU;UEK2S-aIeJ^Y;vg>U35Y{~&V2ib);i`%OcyOpWZJXLunZJje|A<@ zLK#sb@iA2TSTefr)wN=`gBTS+tBlJij+p(u@-ZE`)4Sp)oDT`>t!7x>K6Rf|%@%~I zg{#Udm|;>xNH-0unx`9xl$>SoY!!w+ zQxGRTF7^IXPOOmmt=u7oyF)%Wb?n5Uh+N;GGCAJEKok&w4wj115P~h!5bBYu8A6E@ zsT)a}l{pq4BHxR^v|N5XeqOou-pCxe(zUzT$Ndv9>JXZ2sYP!~ptBCdjqe(cM+w7U zY?c|DW7Dyg#mO{%YoDx;2aQ!;*tu|Sed{iDd$e~hB3g5Zem9^fX?rhNrwyE{y7!cf zT$)=0TQroPR*Kb67T~5A=a*a$T|Q%S)5hmpe{WKFYXrMSo!?X%D#D=he0J^ob6W0% z(ffhpuXB=4+g^h3^+j`{gUVQ8QL*7$tgH;F;aT}*Y_}+9i}Wo_)JB#~*DP3~CWXXW zufxiW4ptf(2Lv|h-v%2y7kO>YHGL9rIe#PTaJrz0>Ed;qesJSvAp^{O&8bL_3cTFM-+d}C^tpH6wGNCrd~bw zfV14W#`mgui<|oP51b}-!|pj%O~QGx3aYzB1oyK>{dqw0t*HqQHoREH$WF-|)5%tV zl2pY)GMbVii)nYc_-#1Z-IW!YcZzdn6cCZiP{i3fCUp+G%l@M@QBYhO>zuBIacqhT z9ULV)`sZ?8^*FZlX%ZH8QVIq2ijjO@yrk@RI_AtCZ(kD7$>xOn`+sZ9J4_huAg z3MOWWh98iAcu=pF&S^^@+`KlpfgXWK?D^&&QMMK$u(H4V?9Q{OX@a%RrZm>qci!e! z{FGmX7_eZSrsNPKgYG?EK7C$)W&*OaO+*k7~L^|np%TadVP<#*|{hTWw9N}7$B^wZE$c(#8 z9kS;zz{*NV{$Bkg?sanB#1UBgHuvAAg~3c5$OoFQ!NxKV4idx3rDpxx?pvh9hkNdcgCjil83iCNk**DER;|HMiHx z-^w&nbpUPqo*@%o4*+9V%I;M{)sSX8GDKn>grHq%>Bz#K&I^Oh|ml{RKfz>IleQLxCjETs?XP5|H>pUn5+-eqvj= zz$iA*K%ij>C{T^js@>X)oLNOwh&A%ddx(9Nc;pX?Hr;|uZAA0m`@isGiu6>&iNH^z z35qJ~WV9(er22q$>3JZS;(L=5`SmogNv``&&;ly5rI9^8(k~7M@W{$qhA`2pQ@!L@5*2)RcRnkVis&Y$zuETCq* zr2>>mGrjAQ)2#2s+57UJEQc!jgNd4vwvK5{>bCHwQ%EuAYQfYVX`z~!JPq%MBW8R@ z_UB%Lsx-zw4oYFuE83I2>HOP!%uH!-YP|@y{OtTNxA!s^XWCCiR@N7eYwX%Zf@dPP zb_})_Ue}1>PF}CWsZ-+c{_>*+e8z(@2*wHyQnmLq$};mB4z2w{4Lw3HIxI%91l2&- z7vkZ`T+y}u1R}zLLc3<(dH)ZMXwn`D?&j_i&W(S zXMynL9*+A|pw>&FsZEYHm=)F+YmnHE`UbBY*D(UvvcJJIbt|{$#vbeZ_Zyq?dDCh! zWrV+-=ao%hZN{&B=RX0N8V@TOxV5xWb{V`%LpbtBOpEC4mgkQwdG7bFJ40f$>vOtE zpX_y+yK-2w=*^@Q&~n=KN91{QkcJ1Oymynv2HB+v=B|%$8ZyPnH1H4@L{3K91Ek5e zGTX7Tli?i7fg=ow&XTsxlF+5N4PDL#T~kYXq(H0852B5HeCikYzT8)ehHdUOA`X@U zh`;+jUl?jH59F`inTFiKHRIVp|}$9eG_vN+L#(Ui9x=8A=SOER)es#ope3j zO{qfEHa?j<%-;ba-nZU&hq0!@n8ySsB%jQ`D+-siqZgq?r zo^b11J;HZE#2?G-poFOoQ|5YaoLlE4_+-*~oPQodThJiZfz@VtcJG>VtnU`}*JaX} zb@F($F7<V`%nCYrmlatM6xAEzk9g;nWm`oKhnH=rug$;Gtr!zBx{ z`Y!+dtxd4Sg!VJ^?OzBLedg-hMyqIJdtskzF~Mp3hW|aU$2Vw!IRJF+1~Jq^StQ&-={7 z>pTY&rtp66Vr~0CBO#Oc0|kG5_ic!EIM^zVq14T*8I(UB%rkkU7!KX3hbgA8$4m}| zX|r`W8~*Bwl$VXRNite~9v=7(QL5ukPh?h2@zwWw*ZO0zJJ6n2JXE^3c%!rp2MNpB zHuFXM$e(#+hi!3d)W|y}>?Zg4Kv_GKL4i3}ES}}UV-;&6WtH2n5MfzWDAd`-liiwP z>GO_!*~uCzW&sYo*+Ppuj;$gg1oA&{&slUDQhpK!8Rl&TG$qNc^g%tt_7?WT$W8f~ zI_I;8Y^r5kP(k{J0wfthBJ${B{pcq&=lY7m)53L~&Jn$F{lr4y!Yo-?7`u)7o7mgg zw4uhr^_tRm>!?9fiArs#%2skjZy-WHyKg9L=7p=U2xa)FZlqubWX00)`&_R$&`hl4 zkm@F{_UJ07!IuEUGQKXkF&EhJo?$?G)2>zgkoe#%xUu)FFVJ(e(3Z%i0cq}vgMw2U z(zXWB$iqYHFDs?}+

j-1RF&1f%zTzv|_c_j^IK4qOIH(^^%}|0o$C<$7FGtysRN zwMIn>y72)ECTHPuxth2=U>{)hp<3_52GZoY4l>h}2+_b_Y@0372~nUc{ez7n2J!Zs zd5|0%X4?;{arTt1MSQL5du_{)RO#)_s#|9Fq^^_&n3ZO>*%ue-YAT@HibHq*QE~pk z4mL-JnjW90CxxLZVhdh%28FdQ=6Q9)ofdJH75946XQcPb!&VjQD_pQA4|1bkAr@;!Uarc_#@Lv8&16r2%EascQ3dMjxy4D6cskNwkUUUI+p^cI&Bsc(yPn9 zi}{?=?)rGE_w?>&*K;eC9-LJqAQlzJ$)H-ewy3Z^`+P8Q^n*joIK{nmWx^P+g%qXy z5hogsyuG=V+kbG;!-+2pJiUIrC2=8X_8ZI&T={ea+A8CS>C7N@3xOTeD*#Kyd&hfIyC(&$t1P6yr*_q8b>d?LcNYo=PfZGvyJ>2c5eMM zHUnq3Q&}Y&T5h>7D-zJYYrkdF%bxzib4L}eotHal|MN$hI*)ksrYMV(QK6B9sXNfF z_2or(`7+27zwP&5bEYoG?8Pthir5@I(O?_ZAMd+xH;?>?6ogH0tDXi*Lr%>GrU`vd zVh_=q%|fZ-f7$J`lfS?l^ zm{RoUF~yq6TSWgGfj;v*V@{vGSOVU!(VY*|wgaj{-`av5L|fAz(vVNt-XI7ow1!58 znlWM@9_*;D3VIW7xy5+Jq>PWF9;%DZh=~eEk8iGZDc(8p%*MWIqzX2HFiTb=?zP96 z!50sLATUC>JhTvDz&;Y$g?UeBPh{>#J?TJu`P{_gv4 zk-O7J$jG_hXz!82;IFpC7{t%cDbDi8Q0Lk8^QL9Nv(ZC^*q=LmU+j;!?4QSVL&4=; zeDltaGg}efOOW|>g}=uvp`JF*wxo3a$fLL9-F_`@^bS$)yV4XT%jGUtE>IS9^at6K zsDhkNrLx)9KF5kRqjq^r{IT;Z-H(h!thpPJ4u!DKbkdAsTk;*AnYYVYh`ZNcoe)wv z!J42(A&zr&v6H=QE1QRH8(8P3C)>>@1d-s_K%#fjLpGtBGL)ZGAM~l(j~l^5_jmA)CMYt4Gs7m+L)<(BDRkSx0j zZD?^tk(Bn*%EtNbtd8jCY%8EKAi4L^<9Y9gb-@_rGdf=qvl-Rt9iW-g&s)t{2{Xn(@{Ls+m0}Vj6Bx zdTX(UVyIFOc~U~vh?=!Pt0zjZfmYKc@nL}Cs7R*-s=|MdiXzp$ZpPQL5tP^W$IbEa z4sf*D%JSIaAT>t4yJqMK$o2d%%gPB^xvDRVn)?It%$&kkN=608ye&~x5`xcNS>hqM z=S2hS(Dh+9%j6t{ zGB)aP;6E*9>F(FI68O(a)MbOat*K)-%1L_@Nf~NZ_aUuE-16}!+L+QiMxHS*0>9Iz zKIRTK)}fCW;7r&o!l+>U)<<%%!Z1S76O-dum1g*Uei&tD+~DaS=A&j85*dy51zfw< z*Q&|!l#KA(9Uj?3=$>GE?b&gw>|JN!t4@3vl-j%;2$8Pt_8f&|Z^(~6PeaVre}6%p z?>&otF&JJwDunFphIA{5zty39j@-oh>`yndSv19l!JbvRy+BDO? z`_o&oRpG{^9TOqGy@aHbl&6Hn0Orv~>Zj^@GMeAhvi9ZcpxO#|7oyQp-5!<@L+g+$ z9Dg$UAUjX*$6$j11G2Hh%)4G2X7tKNCd+=E-kft!?><`t8Z;P;2smk8^|J2?`;3YF zY9!PdeB(&y^Rhx~B;s&kR6tL?5L7KGwynOSw01|;tJmSA!XwwWllYqP%r(fAoI4Ef3Z$Yo1qJVz!3KI-#@<8;Tm1U>^e+nwa#|KzumCxa zAQS7d2Nx4gj821nwc(cfiO5zE^})P&5*eW8uSr)j-p-H6T6Xx$1O!;3B8;@pIrCVN z`ed@S1eBcmlGRH%Iz-ESyl=+iNxUAr2$4nrq@YAKe)7YLy8)sHRUEXCaFN~k?XY^p z;a7oJ{zdOBp$O~lZVTav!tQ}MX(D1Sw%70+)@GqszE#H~ZYCZrjfK&=E7cs9&|5N4 zP7?fKd`pkC3uvWq<}Mr5>-fcMM0S$nm>3oJ>9Rl)M(yDcVRMO2&e9I|cYE{k0ev$Q zXd!isxyuTqiL=*v#ZlB~0}#b^11mEqOAp^ z34-^ddK{H_x+J>|mMNf8iqD$6$HTvn%Otn^E$LJ}h@}thiA`Ca3)_Vphc~j~kg}pk9r;`HF z-q#*On7CcgT28zueAv|FP47twg+jquY+IgzMF6oDOM3paW7mJ;s176yb7Lb5Abnk& zXedcZ7oCWQ8OnLAif&=GH2K_d>v5h7zBtaQm}yC{jY4?WtQ|f3NL*9#X^L9B@ z&nWtF7Q*1w|RhN(@3>RYHon|B6OovL`wZW2ld=*K@;L-y28+a9uRKho z^6kJeCkk@^QS@p+WE!$tFwb>Q)zrH5^aDHhxh~CQ$Xayfo&kaXD^Z*Fc8}% zgkAKQc{S%*Wh$`z&_0cGxbY(U3+gQLjl2YIapU&l>LeSO$hQ{EZJESYGgEoK0^=uk zGdDbzB^nD2JtCNdGTeI259lunatG4UYY-{S-D%zvOGcs@<@d^eyc&)mv!cQ!zI`ov zbHwe?*?bp4DE#%i8$6m?WccaFf#K{~I-g8`X=?aE_R5QwS6k{=RcMQ}98cNY z#`b3T9%JPA+LFChjs?-MX zF3^(QN)_2>ZLty>JCt(^kl$OzS*TrGtX>Oc&Le+wROiw5>V@>cR*=LGVz^R({O(ZY z;lD3*Ft?*r#0o}h`1Q}a@+CB~TDCt?3ZY(?Fc4dJ_B|r6cs6;AA;o0Vy9Z16M~ zvEPQg3P`Q2lvJ%m2-xc0%XQZEDGj8`e}1o-3ge_#(i2CUt3gEdT$2k~<>u-tYUPKy z>#6Z7U8Batz@~Yz;zBly{!t3H3;P0d?|QPG3{7(be&1af1x|r42;Ex+9c8YrzmBQH zBRfk_4is+5c`V0|?j2nGdT8Ao?+B_aG;wU=>TM|ruT^aMo{&cA^#Xpttr_a?>oAcJ zemhZ-vxN8W`4h&;d)H%?n8g0S_P#T!$>r;pq9P)oA|R+BNGA{sRa#U8lqyX?q$fd& zAV_aP0Xc&7W(hR>WDC;mlkI#?FrfyMz7Lk5-4ctTRG}Xn!BNvLV>B&c~Ce*%-5! z7ZTzF)c^HYH?KQHK;u<-S+25RHTISlSHG`n)G9lCTP4VBJ933!sYY z53bIUGqra{ehy0XJhQx|W8j0HvSWU;U;oU;QvR#P5r)|1Nrdq^xaUnoE5B z`ljAdAS3VJgyaxC;0gHqSLBqn`cMOMp`X8*P#{CWwcmREw`>wH79{P|U(1-69 zC%a!fVnSxlW+~u^<575bG9bkCuM!TZ*Ns47uTAhnJ0GMPpi_4M$K$5)pJ zOGyk`h(*G+3T|L=#z2ybffRGdLe~}7YT3W);!oUO({(+1vB7N9!-5O1!Hj@3tb zveXLZ>8u0OO+Bf$PPl|FWT_N>82B^!Zpiga2wf{Ins`noqQOeg9QN71vZ@aH23T*) zaTI;Qv7RH>--qIeZayptjzAyR0LYMg!}la8z_Es?!26l4W@PdT-5d4$uT!#Kbl2a! zR(>0!-o1dsb9S_Xj#JqU?Fv1C`UTPHxBo2FRgD1w#a27H(Bc zvM)kvqvD!YPq!JV1?qz*I-ktU9u0%D=)Ed^*Bzz)4d;Db6m40-Yikp}#{yI#7r>kZ zz19H=va)&E3CxEFX}^I3&IrgFMMDseXv5{l%5m-6_fH>XMs;;_FgK!@S|Y1oDH=eP z?ACNf&Uzcu+I}L%_POlmTwv(^l-3O=N($VP(bEAf~ zh7!Bm&)sa?tdc8RKG8{=i^(-gf6u0LHE*vbM3m;+oScPYf53yc`iSK1sp|+DwM@u7 z1~Zo%JLZ2=(Zy;`GH&yFqKjVLwIb=RaWxgYjzz)A*)ae}8VsW2Non1C17@w3SEl0@ z)z#vytIi`=@gnb?cOY@EIG@wncGjCRLH9%XBn2;Dat=-oU*8czgHov?#5!}t+^WIX zL@ZFd#dD&|E4#)6lX;pIAITIrkfSqQ2es?VKJT7)D^ic9k^W--72OjZ*T3bwRXkyP zU10vX0BmTonU+62A*t}5KEhb36~tvI^_F=$c81FM#+h#EU9JIx)ak3uy@L(A>axJ= zH5hOFl85>Py`uQoPLz$LV#;c+3afJPyj*LeJpzTJ+Pkol#VVu3PB<4;xIvX*93o2% zd!^hFwYEoMrn3Jo1vqW=w>jw9TmwXe&Sa}DQFX(X;(QH~SIQ+mvi9b7ugc>E!j$@= z&Y05#M2Qpwe!gyua|qY3Cf=K`6FoL3cs~vE3W`X% zs_7*Yr_{*u05Z4Tfw6wd?fVoa7qO<#!3@Q`P-$yp;xgAp%um{0h`+64gh`?A$_H#q zcHt8crA;(nJ45?)w8dP$A)k0Y*WMiD96V8^P;}(t#h{N*6O5zi_4Lc{6pGei-S3Ox zmJivcc)#3w=a@BDZe`d0_f}nO!{tyaJxO3|ZYh0$(#f64H4+j}8W0f=<)1?{y!BVR z_ubzCubLFK7%SZ^(fk8&Vi8n!*$hpTh2}v|7_@ZdIR;DMl$PN3TO3 zyAdkg2Lj#;H()@MENLK(XQ-1Pf~gx2Ff|qW6nBSIcsmx73Ej(8Pegm~b+Z_-=nP{; zAK%GV6!8egW^Ttu)My}t)IYV?h?=%M%1dSca@Gy5cKUs)#?<_VH~BS{B)_JMZG}qX zYo_%)1>=G2{f{RTl;=;bD-!c5*Y^x^5JLn#GNXflZ28 zbJf`e!*rnMGG5->mPXzN?gTAtCYynSj@<1Qnh>f;f`GE}Ou~{lw)hJIGSATaFmljT z$t^zNMh;m=mm;)^rWNh!pTZQD0U(V&)V_O#BI@-t?+BN6wp~^&CqEGrZ1v4|hTh8H z>Zd@hbJIE3%lO_Hm7VlcV;{`c{KBKLS2u&{c8?*3%x{t996BL6?uOn)sTp? z7iHXvRFSf!ULaKt&L;Uj>~YWVD88qZ1f*tcOq}5yX07k3gV&cu#=h7auxl;C(C;T8 z_JzRF+1HsQp_tV5h)h?hBM9H=VaWs&QtFh*LO``KHQ=*i9~x2<;=8xBL=6!K$P7jD zz(YWYE~kU(H2wqq^54z$I=hfQeyJwJ)wdC?2gHP6qCan%LT$a?b0mi&XLErT@=RnD z-VwNj$=4NRWI%~ApMxMU8W3({`Efo zXPg)rmv6-Ha*ra3fOcB*_dScR!0oWmKh_6OVk7-bh)=iTUOU<&vR8R$MbNC8aHoB0 z0?j$u+|XRYXz)30C}ew^Mv^2@mp$l%oN&Q7R7#MtZF_*5{?j*UO{c#v|0q-f8-99e zYb$#H0@P`FhEU^sH@350zND5Fkn(z)JFSrC=(iAxO^+ zl~KUmo|840j0ZiQ_V-#R!@J5EY2icR4@A+yqR%l++7y@QNX zCJEVXIx7id7tCs*!-`#fC9Kh{g)iZuc$)4W(|*65mEwK2Www#@=-c`b*zcQK_I3#2 z+wCW3c&|VuDwLcoUuoO@t-bz4gnP3gHTp`v`e}qH3^-#c*MmlHsC~16 zN3#4sKgA%(P7k#RK+Ho6um}EMEz{ikYEB=;sy(8)T*vp7k(FQa-LH+wp!Qe1X3xbu z0ciF?(?aN(>iCc*vs6{Ke7M7n7kM14QFQZrLGz zYQX;iy-WR2t$c}cuCIETiH!qgl3DA)fQ`wS;Hf1^_jJAO2+n|!#Dq&3e2o|JYvKia`6n*Qtz z0Q+RE<>$^I&k*ov{6BAJ{BjulLk;|UMj^;^``?`gKogv#gba!PuLpYOdI^Z2CVOH2 z7o%GO3Dn^O4gRrzi;IA90O*3>j3a>V_}%<6l1$oqoox&U3OTtMRXYwQKH9Ua`Qd&m z@sk1ik8$RPf$YoaL!kgY{PP(m#)zRXz)@F1DjH8X1do9aOwldQ%K#1Yvr~}}T0{lN zUdf(}SwOOkaZ31{+h+V{75IF}kQKlQXO}&}9R!{_%*AI`h5T##-HpRbW!jd&D)@aH zo`g|P9iAHFl=eBb{SPPy7>LG7i2b%<#1FgA3ur}0Jp~TlNp5i5y0mneOs;d2xgnF= zh@tRog&6!OTE^mF&Z*fveQOuUJI4%EE&A8dnB^FbaOktjdgw6FfI9|!{fp`EV{}gJ z(46aFycqeC8E}{W1q<3L1wxLIH;7I(2d3@-K=cdPgKv5ounP^^G4~*$K>+gd3*dkb zDWP2VK!&}xDF8bB)+aGwcfX~B4Gfj=N4X&Q?efcQtCXydwCMk?!mO5G4ECy5ucZ zsG8~j7>|qYTHOHL5l~{`A$7vtCUfC^ z8wEfBQ}))=2aezcYKkENycg1Oj@RS8%a>2*>NbQ5CVXN8A43Rp9Q<&RRU!hYyWj^^8wCbnvcLYx6AcmioRnWM1k4QICCj=+XEg z%sT01=6jID7?=%0Elh=KU*F~9S>En@!#Giy!>Rmox{8(U-HH~idg+`ZvJShJrl@Yd zdy}v;Uu>*eS9s5C9diC+T6ea&_ANCVtldG`OVZ1jc&WiJA~8L&PT`XKTdYKk=UZ{q z^P8l3TBpr!Y82`q(f;|z3`un?(UE7{q@-cD0(3xYXmo>>LqEN}z>NEV~N1p+1$-emE zRcrH(E`71AJfq40qQldKBSL7-4Wb9E;cQU7mOT*XGZx7rRMhT)9hZ<2ESXHPImav z8kA_*wuUjzD*MzEXcmt2uGb*(*gXiXoYbtJg1d9QHLJVgcewDtm+P>)YGSLuJ;!{@Ql38(X%Kw3LBTCTQm)WvY4 z(s6sW8m{0GT#!s%FQn#`uBG+W$Aut}o=uz^M3I?wW_D{beb~i#7*|m(Ft`(LV$U7y_IWEWE0r^{bK-`JYFGQqc$K7D zcJr7KzMQd}TCWUYd=rDZe1_u%bXW4)G^T1~*(Yt^;?|R`W4bhoylybWLFeN38MSX4 z@ay_**n=meQdOVz4>cn$cb8ZH{%FxI|23 z(gb`Nj61hJ7D2pFYLYRQanIH$b4|;9uuHEUDhRC>i$7$P;fm7RFeJp&z6#b;FzaV^ zhNFm7YlY*CJ>rvWUOFl2AH*kA?0PEYQk z)U&Cyi?N-><+vHE-u4$q(h;+<<*$S9WTo2cz|@k3HKj^EkFSQ`Cm9XHM2c@925LFr z)wl}@*cbKdH}AK-6TT{GjSrvXFG6-0PUc$2$_pX~gU-9SOwy6)*Q8gI#8bq?)esY* zm(tX3Nl6rd&SLJ~&1i=3ql^CvyjFoaBNcu*J^|}sZH5lkqyy3n_Ysft&yCzk`=;+So!243FW#4-2RIb1 znNHZ+6+KVYHTekL+^~|!K-%0_EYXO?Gt~Ff$|V|S9V{aJg+7lIl!dAxhWDb|B_$`@ zvA8~y_!)2qO@J#l@tr>Vb6v>_qb##gj?5!&&x&G$9 z-?#MoSgb@~_bJIp2udN>z1LnDu{;q`;{@MQP25#$FRpZ`YEez#YS8fT;P-1WCa_=@ zGD~uSYR&p=T1Z%2 zPFBRzWqAK&L$m${EEb3%Ddd;!^**87mn3`-k)n~H)sk54={v!VT9sj}*5&EFM*@7G zOm}K=7i_+oSEmNx$jYBVYV%N-)Rz*6bgoUosR5jSSYcT_RwH!kN$q+HK;5g3$;G>O zW-?ATZi7@SCdN&D>|?9Ag}QhKa)GH}JsP`R}=dxWuV;&3&lhpCTWpht^uZtkm_D4OZu!sK?A zEh^=&o@kB{DEq}(VRPx>hceisl9`_eH#f#+!f@Hc1$q5|0gyl4!KQmSS_wJ7ws5Dd z#d^`V8j+W_I0%034o$lM(NFUXFEqqlVg> za9bQ{C+^kF@j18_ySGeq1{N-r9hBTdoT6Bo%6h#m|90Hh*VXG|lT2><?OdLDc{COzTT5H{H#%JE{9_6t}>StPBxR zpXrGHib>I*MYbloi)W%iOdZVr@hIW2h%D{NIoqpYXAKF958jqVAd2_=xp*}$~Q&AV-lX=$~C`$}GT@exP9zFnSAq;5^e`sCGT zB~Ml#TBu6w`E!2?u8NXPVu8qw$$icxNv7rN7O%T^@{W90exp;c7{_P(62q$s`lniNVy053!I%t1 zlFWB1bu5*(|FO~Z^Cf#g@tc!{$6*yO($YY+B1@m_I>!k?O1?*N8ot}-4w!V-1^1>D zB^zvG9ukX&%GEzGJi#SUqDZxJ9z}23ceD_O17p7EoOK{?ez?_uD5cyHh{-Y7*80+L zd4klq9E$cz(JTa0XuL4UYXKl|*qsME%+|?G+U-uymE!QQ)f!BMls8r*zA4(6y-?<_ zOa}MGGo?zG#2@_yv5#(w#^3!QN(oqblz?@739a(+|9|)|WZ)72p*H`pM}B9SmrBG3h}=iM$_|@j6nqeF<)fdDfJng1^7r|(&BWN z3|IYM{jYuHkOmL9Jc@<}wgVI8byYTUg;~17WvyM{z<(4Fu`4nnSHwgh5dAAxWg!q* rh=j11n5>xC(cHUSzjb)%1hYkW{m(nNZZ4&eMR8kM>t^u{i>Lns`K2Kr literal 0 HcmV?d00001