From 633429411d8309ecc1aa01cf4ca911ab59d11ebe Mon Sep 17 00:00:00 2001 From: dannyrb Date: Fri, 10 May 2019 15:20:15 -0400 Subject: [PATCH 01/14] Note regarding different repositories --- docs/latest/contributing.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/latest/contributing.md b/docs/latest/contributing.md index 122a310ac..0402cca4b 100644 --- a/docs/latest/contributing.md +++ b/docs/latest/contributing.md @@ -4,6 +4,14 @@ Fork the repository, make your change and submit a pull request. +- The OHIF Viewer consists of code from three different repositories. Make sure + your change is modifying the appropriate one: + - `ohif-core`: Business Logic + - `react-viewerbase`: Reusable React Component Library + - `Viewers`: The glue, PWA, and primary extension point +- At a minimum, you may want to read the following documentation: + - h + ## Any guidance on submitting changes? While we do appreciate code contributions, triaging and integrating contributed @@ -35,14 +43,14 @@ Replacing the number 237 in the link below with your pull request number should let you test it as well and you can use this link for discussions on github without requiring reviewers to download and build your branch. -``` +```bash https://deploy-preview-237--ohif.netlify.com/viewer/?url=https://s3.eu-central-1.amazonaws.com/ohif-viewer/sampleDICOM.json ``` If you have made a documentation change, a link like this will let you preview the gitbook generated by the pull request: -``` +```bash https://deploy-preview-237--ohif.netlify.com/contributing.html ``` From f3bae8bb8ff98dec49084825fb0cb2007da7bc12 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 11:31:08 -0400 Subject: [PATCH 02/14] Scope of project image --- docs/latest/assets/img/scope-of-project.png | Bin 0 -> 61023 bytes img/designs/scope-of-project.fig | Bin 0 -> 147335 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/latest/assets/img/scope-of-project.png create mode 100644 img/designs/scope-of-project.fig diff --git a/docs/latest/assets/img/scope-of-project.png b/docs/latest/assets/img/scope-of-project.png new file mode 100644 index 0000000000000000000000000000000000000000..6daac8bee38c1b6c394890b228bcf80a7ebaa57b GIT binary patch literal 61023 zcmdqIWmKC{w>1hyTZ$Je#S4_;P@s5mFD(>zcP}m}?(R^acquNy-L1G=a3{Eg5OPD` zbI$#~G0qtG|NW5>Nb)>mKYOn|*P3 scFB4EBrHFOZOsu;pYWRgjRL%^_YGnCOU4 zTAaxh5pT~OWwl(8kgy1!UdTupKS>cEBD<)_h$B^uy*WVqgK8nBB!+}k9gFo~gocE4 zawR7z_RRzNxDBK3?Yt)lay; z`?XzLU$+G8t!>fIx~`CmNMhBpz?IX{k`T)9+~tUVhOe{CBYm`n$5{|G5dutGRz)1|=cCu=&rOhmrpO ze>;B$nt~VM16$6=3tyYQLux$rO250g4ew_1DY&@Q{+q4#+$sjOfepIQ9UBAqpP$0s z>WBV)kt8FP@Jmo!xlY52rwKevP1~aj`u4o1r{_Y)-~l^5BO^umafQ)rB&B?6cF_!Y z)~nE=*m0=>58E>XCPn2m!Iv(7o@k9+w*lpBL^qDiTW{d~TiHK_-K8JFr;m|QG10>v z5Yb0XUfTugrjPWl#K*_uL$cT(D^}c3-O{tNcvSJk#)JCCYC(G~Eb{`@ znu>GfI*dp24soLQQynQC52f(8@FS`Ro2P-w`idJV{Rx?z#D|8TgP0Q& z6P+O!J5juNrC*aIIAmCvzh}k7;AjDzlZ71NfxEdIo&G4!ThV;~d0Jd^G#a&@X=Tw9 ztOJFM$c{6uOFv7?cQwM2^`CEAf8V(Ly}N6yZUk&@<;308yFrdRAf*{N{coQJ@bT4L z!Fy6t(zxPmKb5%(J>~|7mLAR0;-Vtcig(iA_iAxi=JWIOr&=uIg)Rm|O;4fTJ14>p zSpTLO_l1oLkr2H5(s`&s9k3rCOUfBREsaN{bCmu`T=|diqnoYmsAjq7RW7cAjCZKd zo*+C~{VARca1hIQIW_^LS%e)=Pj&n;0Jk53Wo=y9@b$_DE9yQ{ky9jsE9^b@H$rzh zyHILE|8p4_v1=~J6xiF|lCbH<$xuGVU0q!jl+DV2iThWcr=Ovo@d-lGkU5Zlu z2rgavv;$S#zi1|UqLo}{`|ZkUwfi)!xQw^;t6)dEwuB`Q!!IZ>%cc3PdCrNl0FyJI2rn)JgjU;B}^7oS$NwH2f4tA@y!xAf>s~T;9svl9o z?x-w*PaFCW^MwtULsWF^P{pYTo3F3$#fFTCZP~1>vIQZ1QeY9ayc0fCgBdyTJs4~c zxf>8+a5(i;So4Fj{wE#~0I?fQV&Kztrw%yIr%IihQ{U3bQjjGP=k%NJi#Ya)#kOag zo}PAw$6yrZ=8E|}%*2|Rn@j&2F!X7_M$XRSes{N`afoOif#C|pU6iX|0Ke_ED5j=H zs-S+<6<=Cj-l-5gO+mr984)}^#(x5s8If0WrurT`vl`J3*W-RyCPlO~WwT2~7)=yhMLD&pF;`d|zuJ=uQImv|zDZ_!dLTN_jV*@H#xJ@kcg^giJ zJ-(>wM?3An$1y>0-s}?smJq%x8~RxbB1s6vrAWwu49XPd=hIDSXEBp<&c6ccPdtdP z$;3P8u>NoXwcX0G{MY*7A|8t$jSWxK??OiU%c;*k&845QaW@NdXrVxuuCd^uZ^=pi z(xwZ$LAyA(Iq^TCLWu|!m*H&pwG?-duZ+lfcuwM2%xAJUZ$_PK2j^8Nq^swSbmxv$ zR%8O|OTp~8qE}%Kz?dPz7RuuPjMeCAtjIKwQE+i#X{~~N+qL>7B^y5EUMv(iq~R!I z#|QH4BdGV)EdNSs0c~5}Sk+Y(2GYXbUQZ-cj!-Y>Gt7lDN|Po zz^Do6gjUibL=xQWwk=rs%?22Nfwg_MR=tJn37JjZX#p+M>onLW7BT2&1mV@heJY!* zHj&wx+8N=|OKzyGRpkY>YGq_*n$dK(@TC({Q|BzgqUstNhHjv4q#$cS2cU7}7&X2g z8?$q}$h_F)Fl)`MwJ%6`dFNnNnatp5*`Y%Mv4AWuaj5uN450TKO0So^49_?FE{@<2 zd_EGB>ROgh6TY$Dg>tdB=597{12y}b!K2ka+a&otH|3D}0!S>MhLoMZvvE#dD`CB*jy&C9QZEa_7rXUA{}srRbw`yzQvW^Psk4Af{iJ_=(1C1 zxi0-oR;aU17C9xC7~1|<+w@YZQ%%iW)riId|V_ z_io7aev8|sAR2JF$9d7a`I{0x#1zv_nFKs*eOO zbUGkX_u7QwvJ~6`0=F4RD$&Y?)(82Y4eB;e;DuYkL-DP!1z}de6kFdE&P?m z9D%$mY=gFCFWZ|?jd*}jWn{No zg+da6DPorw{A*RNAL5*@GiIGfSQ~~ndP27!g0Y?w%A?0)@ZL^>L;2$b9Tg``G=NmB zy8oB8F(LtxPKx{=3COievz)0+PKw|2B8Ww+=3B}&EBD;OuOCsyEVB@msB3{7NOFz& z)&upR3#4Yp{NrEO%%@xceW^#DusSZn3M;+e0k?o->eTm|_lTHlm|4dLqz4LGN_8l` z?u_^y&wdv`|(Tih_DkJ z(S_lwzZ44dfwIG=lKeF8@9(!=a^S6X^}wf9TiPy6)la~B4BHlcEQITOd3kLQCo_|c z@brYh^d})ZucgXgRcX`3og*^dKfDM^tEIl5AAR&E^ov0G#g zNssmW#%s6oR&RAx`a2cBv*goGXRBQI&8$Fol z9i7f;!zSrfeuMzySB_*C+~^fK_6TMVZuQ#-$m&=qSHfw?WsR4U54I6Q7^O1VGO0Og zi6w7n#}&OWGD&(NFNWpZq#*tEH?wj3NW`Kj%ax=1Qx&j_bwo9UKxX;|kYDHw^Gp4= zF5)w;uiu45S`yYzce>Ixkg!DYxc~M%h4&FQpmUnDBnF8#wa4~R@idwG96rXik-Srm@9SC(7vIGZ<`W+6CNo^it zBkC25w=7jg6d0s$-h9aVTd0t#I9pPxQ90bX{zEPWaI(ZR4OuTC>5<>9h9K32?oY5PW1C_5wIhFszPM={GY{oV6Mn_t|T)jq-Jgj8f?Jn4e!x0NaVA<~49 zR?~9=ttR8b^XTmCjFe<%4S5IU%AuX`F_)7JV1RJU{Slj1v*cX40b{PkNVR59#@F#I zJVcs8Wng5C$~i|Qkex>i%E7a8^d?ldG)o+vqLC3Prf0f(h?IY6&+lm1(Rw*XS)#H3 zLVS2Ejs1rV%qok*Fm-Dw#3ST)2>pB(wKY$EST!nNugc{pYJAkrVJ*>@ba|Ezo;UJ= z_2=`P&wO~Zoss1}xR=d7qUJc=@s~1Vt(lN};C47+T4H*S+Su4}XYGz&MOA-kpdUwD z>UM7i7V=!_E>O&bZw>4KHT08@M9+{HYg|j8N*yJA&ug_U9at;?l9Lt@G>A&Tr&SxE zC-UODWUN?;Y3@knOX;=mtz9ag-$iq^Hpp$6*yXg04?!!;%oa#y0OuqCnsK4aDBX_$ z5gyS&W4jLAmd1#-!Jawpym^u)L@ml|49#<(@9=^|Sj84wxh{q+IIrKJ!15xGbB<41 zA&EJI>C?qZp}jv5Tv8>obK+vWm-|Br1w{EJ241$m@Wg4 z<{8Tl+v!`?r(O|=V-A^iu)oEn5_l_m86TUmGUn*;of%&`+;V=0&N4!q-O`WdG=H$6 zoVc^;bPei5rvbayo+b)PN=B5o^da>RSlHrU*!gZZ-TD}Uc$|4;h=M0?o}XIUWXoE| zzywSv04=hWp*YyY>kWW=RjpZ2jx21Cit%Q3cGYZYt1+^9p{-l6xLQhPd#d?Vu4hn1 z%jGz=cCHC_vuxHP`n}$Ch~NNx@KhoL(WKu19=2mgVHSH5xaqf!%&1;~n(9;JCUCgX zE90+hbDG~qo!0-W3cY0WghkIs%{H%b1wCP3jmISIV!Lk({-2Ti``*lJl>qKT;!zdG{KXI?s(GdS`vf(>AQ)heLsjX`;VTD zYk`X_a+V@-wO0HhgH<;8voOco6?uYB+m(7PyvYNI#4Br8y_eOnv+53t2V7lt7`{KC z{Uka#k)+I-<_y)_%g~5`%1*dBD;X&bqqAk2 z$i%#6t}PmtV4O1aDQ{zGz#$Jazth5SrG8>vfv@)=4Kt8N^w(=|tB`cpB}xtgu@Z zBjGX5@aOGjn{U-ZJ>0-V)#OjBr{P}0gH5jw7Y{)_R($Cu#XzOsq6c+acKYYSH3@QW zGJPAofuxS(42P1OlOt}ih%aYe*+oUg+fWd^z4rmd@=WljG(cxiH^BKEL1_PwUtNwL z`}LnTESo}o1xJN@#&pWJFG|=_iJD%GxHd`EYnPw4ShNVWK}(u1{$U4lz^fcE0fo z4OVePXTRH*oks3`AGQEK?U(2@m_#frEQ%Es zKM#fzGLD+Jw6rLJRfHUWt#;O!UCf!p%B_g9d&KIloEQ8KVPC6!oHj^QE4_~%_bL^= zzPibp?pZG!KG4y6*tz4Uz*xafY+pSC}$+?YIKC zWhF7R>Q+4=_2bu+1-h~-Y?L%7(FW4HHJzR`N9Yt5n_6A=sru;ge&?HLbiWkQ22%`hFK`!II7u{In zL+4uq(bB(N-<8Q}b@o-v;?KUvp2yxk3_9uo!R9-XO$K6yi=s0N3W?M(gkd1f&}l$9 zb=OO=j0I)sTr!15`E_SGEW=v|m4&4|UXzxXh3i%iYuHRRT9}RS+;+T~&J?|G*?p6+ zO^)m@z{QN5>M(`!<@96I$Zr8HbS#AK88_^_-iZu3&=F0>pjxov5=7w9&-i{|TBlTt z9;alv4%=6~LGQ-?PR+Wlc8ZJLOou_jmUg<1>r8_(PXikSx#M-@Of&4D2mN1~XG(GCkDrw?qo{J=E9{vuJKcR)yW(8P z!RK|ee3Wy@-=;q4sN4MnU=($wg_m?`=8?ZPZdYp_dKKV5aEt4A=gaTt*zxe#aW9-m zR6w&xnM~SoQw*>cphY0x>_GL_fa$oPx9MIW?ob2~^Y&rq>^Ix52%4?JGGmlv-Gq~o z8jFYfOx;IO$6=X)z2hO_;f%_UI+G7%3l0S$C>j&iywAwtDSQOLlv=49Z~k)YEed+3 zpmsqAAleD5D|ikBa#(r&!6dZ#OK)NYai>DZAj-I#299<@by<}iN&9CJW%wa)e&y_6 z6hcZ7Y3Y!^LSe^%d*ya&X7!2$L^V%_PzT|676A45m=wgsdV0WNZACfl|3%QI``Z2y zvidqf(2tVa2)h&BrQ(F@r|xQmBSPIYQ_h4g@$wK~wg}eRjEPASpVE zU8!z>`&c+AC$o=&;$(NTY2AQ>DaVuwTN+9BKd8Nx=?QR=gEFk;Lo?2o_Clgnf&L&Q5>`0GEsH=OB)M3{RoJ zN~uU6$keZrRk^^{d#4idYs_80;`XB`=7ny%Z4(pmR`cJP*NEc3tTU&%xL8I&K=AL( z+MK=0Ko?&l-2w3?IDH&V4pD)e{Ie@*);G9SJX(bRzEidyH(uYwT6)gOzuzZDC~-D zF9RT{469{R^Ye^3(1*Q39<71AB?P{>gt&3ANt^O{qiKbzR!TYRG@s0C(F(8*t1e$} zlG%NGNw=C+^02S7tCKKiVtU>w;Xh<>0_WorpvA66zodNJIb+mN;10l>w7R;vx!cQ| zG*xsmn!`na9=4Iuaixm#$|^1B`;NrZayB`v-X$Acr(%3)9s1T9c zb(kcP%P_=iO0WozzjwEP22D6U8DqWHcw5@*X>!p<5?K-}S7WItRP{z+h3j79dIV7k z?OYU&)HD~*e@_X;q2LPeygr;QdLkrIaUlTGh)&&hA1z{becL7QYKw-njEqwD=ep+v zb0w|wL$_7VZv;HPq*Q7eNh2Y+*EbBjIrg@@yfTEGW8Zqfz|Dn)GWw5fe*JX(0J(I& z*p_nvV7~VwuqKW0$}0ZKWT`bVXuI@#yRe?}gEq6eqU!!{`(7u{?9@WE?>UZH$bXgo zUT{;ve#`w`o?W$*Lya3c7kbknj9~MOQ z>E;}j!epW5=Yl$Fj%s^h{y;+v-+tgTL>9=P{xdSRC-QZs?X7jz;0YR*NgE(TzHjKO z5$pHFYDI!u4W5{i4Fy8Nw0olHgbSW=kq^p;k{SvpBxa0iXb%y3tuvw5GJ|hE&N8$Ebze!a4#cJ76y^U!(@!oaqrAWVr&>sL*9G1iY$r}$k#dRAGWlzlf}xd z!RY5rDOR^uI(xY&&71D}`@d7zv=HcB2>knP@I`F|iHZLhaBO0DetYu|W1*cXuxuGF zS}->Wtbli7Y$N;!)2S0|Ejpy9YA%%104erIz71Qcx`w zeb``UmMVWL>TA%OYnfY}rk!H3#Y7S(=`x^wqI^acnpx0Xv)dUK0W9~6yjSc-7#<(X#=_z@0x@?hs zQ5{<{#6%drGBfp)|Jx3_4=Pw>Nt?p;AxpzPzVPvJsnSjnc%9H=jWidQrz`&?z&!u` z@qq+ErE3lldX5PdRMXlo3G1z;^@|k4z8i?qt!U!#EJ>%VyWmGhHMV)ZOY%`|z@G)2ns={w3aASk}m_P)0WQdVEFiq^*duq^TeZ6C!F-LLMRL_iH;V4)CY zjuM(wcVyA3W z`iZ<8FcSP-f%zG-XTCk1lOhMNga{ERU{`ig*&R$3_P>~lvV&59#)a>HlQq*JN`DF# z{klQZ?(Q}tErT47T77v(>2Sqfn%pse8U{JKN!t|s_eX11O`;5I3L!Oax1M(U8FDC% zZmZ2vbv1aajiP_=pg~>lb0(Lnd|yf0s+-o!WfZrl;=T-r>OWgKLYNns!zOw*|8&{h zB6ft$JsfbtM=+JuIj4-@2B1y~?jC^M|igcAP$w(?-Q+fj$@Z>YKbCxJr0}NGus(fla8}N8~8Ee0XD zm}BjeC3$4MCS5gc39Y4=S|BibXmoOlMW^0Q!4&npA@EQC*L>i?ruC#W$E`~+tE#$w z^ZU#WNW(=D;7uTW)1dQp3Ri;Bcj(GuEkodQ>yMpJYQ$$A2}GS8z{F@@h|!H&E&P$g zk}YCS-$Q-PZ;w@L8#ld6#ReK__PQuPB(H{bp}tz6hv39^C2}cbPbl15th_A_=B3_` zH?Ak_oioQWJ|d+4{as@Fthed+-tRv9pV)O<4RuAeeHD1hX3v1q0zKL<_o;*8yij1b z)pRn^$y%qrgEFfK`6AyWk~+gF=jF(@|ML+ZI|@`EAKv)l*Xrku_-o;}{mm!zE}8?v zTR2v4ow)qoxmG1O@&_#&3&~S6!pGijrAArCGQOAn=bIHRvUWFCPQ~3qv~th)DZy9Vis)vW9h#fvo)e!iHr;=Xq_CzY zGAa*Gn#lBCDyx~4bv0PO4S7D<<%eiJ;qKyk3Q^n{iMtN?UF^>4?b;>ua4`wk49r(c zfuP5M9&-Ff8qcysd{_(mbT6BR@4iGyBAH@v5drgid`VMUn~v@( zW7@b68_$;-;gGl6%!(sIBfc48qFb3H7Jp+5BArPvegn1Y3`Cm3&Ik=?$;C(C*v^kUx#ffep%-tuDDTgrQt^JTd|ZObHl+@VEv#6YimaGmL&J?N#dYdv6fD zqV?v!)cI^etm!gF&}_O$$-i4*(03x6>P8^vB*>1AJ57|Vm1?v9-55d$(WhaHD*+^& zOpV~p04Aw&rC8=Ncx)cx7m32ZYJ<|g*{FpgOgpVKrF${o`#pfZeaGeJgU*R)fS3=| zp~LPyMIMT{h&d`!k$lBc_tHxZG+`};L*ubDlJf#^`?y6`)ir{7i5xYTpt=TB_4Dhr z8#mRZeHvg;rJX}G)-b>Ogh^v+Kj}vv5?^F0jM`|wE`l*1+5xQuFb~8~BrB2g$ziGd z`NPpSoNWOEu3&PbS{aMJ|JG++DKfM;GJQK*)*)wP6S)+1B49kP@VZrqhdB6uM3Zvw zMnC)UB}NuFqjJ`V*QRwPS=(W+!P9l z?0;r65Df?g0-TFk3Aa@qQ$(oX*v9#C-D(wmz!s0^&TQ&m*>Y6Zz3gos?y5!I^+jmK z%2#S&8UE}vcfZ*yCfj1z*Ci&vDz55_z~IEmAgDHc8z=iyFU z79p-1Y$(j=0+^B(u`yBRT9x=T_Nc%wUl5i!PoT)-b~s^C0ly?Q7%lNmkjIY8&*#yl z!}i`6HP@tf67^O8v^uDfg!UWrA}m#nd~YpnO_V!Y7JJAP!!gj7E7;I+9NLB3!H$6g zP6fd=IxK1eKD=GdC)k>Qyi!)W2-HUO;Ef_57Ub$qkFZfi?Dg5*TlF zs9Iq>%RWgV+9Y0pF*@Mv@WSwLtIz108=t3FCTU?Xn<%m8Fi!xWqlvvhmpbv5 zLa=_&H8_gFMUvN0uD_QeyM$aYs19UbYV1b@Ua-aja6g3^ZwvM zrY#riaVrO=wJ-7qA5rJ1pY=XoM6zdmlfV_e`r_r!7*B%E(sWik^)4*gd zOv`2(sBixbZPjw?SvQumo#7X7>k-?3n_vVF?OrPll7L>`c05y<84y`TWH; z{`J`Uvv5TX)<;=3=|B=zebcF7aZMYeI_-cb8-Uwle7Fk*V|%RSG^Hyycjkdw%*x=q zM-6UXT=7gn5zbHl@^zwK$W*&X(=OF=ETToKA5c2p@gsiNBH2N09}GS($CFTb_ccqc z0-|-oLfAzFN^rRF3r+T(O+f1QTIRTLR>=sr!J(8hR}sVTUe!m@o@`p zmAiwzSBSO}LccUD_ePS;3FI0VIt41K5mne}$RgIl?E@ZX%Z=*CjIA2dZy$>F%^u|% zF4@6rYf?pYcee)6<^v>+N`1SBT!fyj$aLifA0q2f*?+Z)Gr0CyY=C4^WKD=IUl^m% z%C@8~wle;Eox5=s^t8j^=49C+d%@QEAKSxKuAYFLJ837;Dc* z(yxk7WWCgFvt|Q-YqyiwEYXUs{c_GyGOm?|Nu^(-!B!6Q{}98PfDHw317j+H#yj#& zM-?qLe-2+Eyk8HY=Rn2--;KL-lgBp8w-eX+U1x)Djax*PcE)-(BUJ!WHS$0C{zMwH z6p1j%k@R~Q@_#37{lB#&4fS$uGviR|G@~@}OoddobnlOwabH{sI90>2#C3WptZea@ zP@miIyjx`B3dNyJ+F@2FrTF@l6?2BU$=DqAliN<^z*{unBkE~~fH#z3yz z*GVdzQrQkW(jg-7c0*=hl7bXh``|HS8;6-~gxn2`-HF{w8BN7nEOX{udmzgv{^zM? zAAP3^rC6?Aw%@%K2#J?k@Bx4MNlE&T$hkh1mYx+Kk}g@mK7~cUD`OCMCe}m9roGA3 zI(er}|Eh*8dh`s1a0n-U#@};=K9zZn?pM z?_4l~Fr*x$H&N_~F=<7QYg*Bim`dHnR!*+4nFsMFts*^S8_WiqL zH!d~QBOr#;R_k-CVzlGow%oxvwjuWYuP-J~G=}R4%V7Jm7l>p~PPTp08!&_7c!u`; z$j#l|-8!3mKW?d=or7kDriwEimflhOSVKk^H;KNffOL}4WNR}{1D<5b4WcQdNaizMS)e5z2aO7Oct8$2Q0K zlA#~o)-=^pkQG9dd7Gap)nK|Qp=L$xqST^g`epD+lj==d$GGOK4QG8A0_LzWmpUGg zI#L+3J!p9jfLOAG&hIKrcj%*uH=Nq*0-N-XLtVB7@iJ|3l_3(h*>(@c?Hau*z{`_j#2uMwKH@Ini{msi!4U>4sTf3HO-%Wc<2xw%40h_kxst= z@7mLKPRzAv=eBTt^Xvhcl?R<*HIf1*=+<%wsqSEbdno~3PWvogA_9GL)- z)Y;vu16616idJIb+vMhn5=}&(WP!ksqm8T4x?Tp8{(Hg9=2X)LAQVLYmR59J}EFj*iTA;O64!osVcl}1nDP23nbx^HYMOxo=Pbzf+KIA>w z8hRfmc1z@~{{^o|wy|@}HAmZXH>%8Q1C9S6wsV-my&x9(_7mVc6bgd2^M6h>pUVlA z#Qe`gHojx~De7>c^;xTex{-R_-3`(4JQSZVvmNEo*59Y3duB+$?H|Dh`d;f$Ey9Rk z4oU1nH=231pWPbyRy^___8b6$JI08t@wTh-VYqV8Wn4IwhicOcc7MIgUL+MsT=X?4wjcjapNzI9kIm{N)6@$2urCuT)o(z+2uDUL+huLuq z5@}nES)wi`_)3(|{WRABoF_-dxa6yT)C`+m^GxH+2S$?=Kk%eXw5V4(qQ!mqnaWGp zr2&+O&~hT1<8Par zmKP`t&oU66k8fhF;9Ok%167Y7qAkt&WGU=i25w<+XHjE+BB07iAhHVB)G;wn_lm_6 zufcRl_JE!={H?Q@uZV)+&FR$J%00KoycGX*p75l6z0Ob2j^}JUpF83b;I;0h=hE-O z%k!HCw~b-p)gA;V%(7hzxX8{HLy09tQ1%N4c>_+xE5r%~pYncxG5Y-mq z_bHT6JlEPg(C!xe`HQ!&LUs6J5Qo#)cO3^(Qq`~O391q4ptIs74wq{GrC(=R9Ujxq zZ?aBH6NGvh?cgJk?R%p|mv?)-Xre2@5$x|xz_L=G+=AzXE!K$W6!@kaA2Wr6gFBq* z@F?ka>L)F7KbgZrgn8mER#NH0I%44|azs?aV&a*GrP%4zm)Oq}Wu9+LHz##dt{uaa zSH+Or)$#7kbZHwGKmB5t;-qNW>QweF(Nlf#qH(XVtg1`-q)U1JrZ3~5<)?5|$~m8j zEX#VOX~T1Gy{I3!7lo=$2)oroTm~HO(!IvA3h)gl0vK_l8y?8CHtZ3a*K9ahHMvqwtGAx76h9M}>A}V^xxZngsh}C&$Lu5I-X)6GK>PhEa;;?QTDSuiNKjEy6B! zo{X~y6gx~CUQ`ort}i{rS$MOUgR%w7ayVvY5X%C=2>C9jC`n!Ep46WRft+P(K zD1E^=8rYf)9J*+cTp>eoBd@!t1#Ckisd@k&ai2KyBFq|{4L{;ZSnr#juVH_i97}aZ z^lr(^z)CoM4^?xxHX*T(`?1f0T{-<@_Qtak5sgQ$HPCxW{@zUkZ6tR6&O2ea!;3B! zW_L?KNu=yl;=1rNUu9yPA@8i;Moj10uT7>_R~h*b#|1uT3o*&WQpAhGYeg?D_+(X0 zy4}fdCn|kTY-(&5xk}IwdjF!Bg^|2tv6^iNX?-~`4VTmN{>mz`rKy@GORcvab>Aj2 zM%F+l#eh5Aj_)n3<=XeYl6kQ06F$YbKEv~_7Pk}aCXe&HraOFHf9EO;T*?oAJHF)i zisYy^>mHLgh{F%N!r674uNvJ?^$Gc7Zt<2dA20>nv(5ae$jOp@PdgmuPHWz)BA6D_ zOU*x2es>#RZsWuQ$!JpGsUWB@zu$4%cQ;ph^ZVP3{uF5gR5m^*DV+w}L>dFjt+ib; zzQKZ0$rWz<`1o@nai7#KbmH`AGH}$DW7H6F^ubXZ70{CxnD^Z?!Zq@;Q z(x6l*p;;auOGcOOm2+-uWH+_S4<^QE3vUAR7dA5QS|^^iyEJ`zwoF~b7B`~7ax3GX zsg&;i?M;Z&i|*I?y%Q+^(hc*|fg6;^?;zh>`aifuXSD2+x{8orB$f+YPANvXH*a)* zRq+}$d&p(`nm1@!SQ+G0({6Q3fBt&sRal=2O#I<1aC&)gCGJG|DbB4jKYzNwDPn$t zP!M6Xqu@;$+;x*|hcjl&{tYyH4W=H%%6P8i6Ln#(f#8aF)i^IL}$UhgiRwK?$#*mLTn2AiA#7|{xw?B z7tNVC35JilRSeqN+YkL=+t)7x*XWYu)PHq~?odd*8QLEV^VtEx1hZVU%1s;1t57N< zXubn=2F)M4d0f?0~mMU6zh{k&`9A=swXi|K-cjWio*|bGJUQHnkoySyAb+u0p4}wQpxSynrjN z^Q-2vEH0=&5Y0QJj}<3xH@n>9QD6 z$YICy?A4>0=x9NY%za9J0mX~U4>&I*1R3yKn+)4zNuDDqoF~vLsC0!F1s!cCdA|RQ zof?e4{w!hkErcX%VY5&n3Vs{k6RKnwG$bs*YyOP!EJ!a*YDr%`>I~fM9O^)VCTXXOk&OIfWfXzh%!vM?O`*r-w>ta(Imd|glyoN}I zyp``C?QU{fb8K?C^>$zP8zXm%ylnZ4#okIikB+`G)&k~o<@{$ps?WS=f8#UNkC zu&YoI>ndX*qY}i(rduu>X14D`?H9j`BhGEV(}^R3iSI5cx4b1sswISwzHt_-tn#C9 zV$;T|x~L+=sea6Oib>d(;4p^9>cjzs4>i3*1x%N>0-YP7RZ*Z06%`87$5?NsjmkYl z9<@ex?RZxlDaE#ae}1405Mcg$ zL-<18Zs!S+aludxvljQ2I;K;MCha%b$4OlH8lSe3Jm_L)YHvJH(A3>MRt{hDojxU9 zGsKTr&=MZuFcb@MaB`^VTcCXsj|iGF2VgiR{ko%gHP1!&3~ByQcknQ*<76&YMptD= z7w1*~HLdX+WnftzI_bCbKk_Wet)6l7sg5x!$u@n_vWQvgK_k9spBSq!;@lyje{(V7 zTvw~w+mLs}K@mgjXWc>xqCaWBrV>m3Xr2hwequ6Cu#64A^Bs18)_d%m%h^gl9vl6c zcDqQ|5?myKnhXjNs+ba;FQ&irm;91^k|B(%V;wnHH*8!X82~u2GL!2VaTJ30abk5< zujrKknDZ=HdZ~q)Pj>Zx(cfB8i?42-()Yfyd-#UoAqWwl zsd0j4zY<4RNs~f5Lx}-j2_p<60>R_CdqeAGNrF_s8S3vgwz58oT4$Q|L_<|77L8^f8&61*Cn_s+TGZ9=hz(T{hY~7wD>lqxXPQIk8$Wl;klo_Azn!B% z`-^$(GCG4CSa;w-C%3|gQK8S{Bv9hB9FkU7Usn|K|0VYk>ddI;BSW7I*g9xd5B#C> zG5LA_7X_|AUtrtCmE`{6&;4fhTdPf%TUA7jGf;;tMo|A#@MTEF$BS~0O#(lw;MN6*)3>7u?k4nN2TK)3?G@3s& z*2oB}Dd=M_Pmo*E1Z#+c-({wGPQ?*Mjo&uGuzgXS%8yCY;tm5$8`O;fi!#Gb%=pE{ zSt~GOBeEemspsrMUVvmpe%Y$4lb@Hj*NzyR6y&`};nLBK`A$BZ4#XQJvCshYk2*o6 zkoTerjyxapCpRsE{P}=gc@}Nhe&^uGRpb$_O~fJD#i903qD1O)pI>z+7q#@Zwzo=P zbQ5L+!PeLy+vC1d+mUW4Z&v0J2f%p+u83zU(r&+A&Sc=tF*uSF_&g9?q@TT@Sk3JT z^~Jh1L!3+q75z4!m3*0qa5b?oRW$Q9%#Bb;@K^$Wplb`fxun+Jpsew}1=rl^9@Xp3 z<6_={9#24HHstkHY&>+B_x6oUyrUmTd*t5N%XVYS{OX~KmfXdvlf*O5fBs7G>io4v z0qsY7GjN>HDT*~vx@r?~w#c^4H`8{Z@oU9B-ET)^PBrQ_)1?li>tp`PJY9jn-QY># zDF!~_W%^?8*Jhh@1@H*7kC_?rq`RB7Kr$W4C!0I#^TA?z%ItOzj;xJn_pE)JBlKtnwqTc*w{TVq$d9kargDxeu*A%->ayC}6Z$2<@0t}$+`uD}WDn=Z48)d|sL6o*!S|4Vzo?TL>xdxm`9XOuN={OY1 zhnF_8p&b)eP#HCqT=wY$Y{JtS5BP2_8 z`4){K2&%|MQMQ-^5jdT{wL#N_d2m-v;YkEVra93M+J7Sg z#mY(4;RU_-zHPUmEt;e$D6o(m;O1KpOGsybPj3`msXNLm&^vk*5+Xf4x#rOmU9(eP z&S0z)$VWiGKpu>U0z%E;_+gw);!fw6)b=!a8v)4fcwsiav1WLcRo3}!6{@4{t2NsT zBo7T(*YW*5NGsnyF|obJs{_F10a;&di~gfcX1N-;oW>$f>kn$DcsXd9=_*u@k=V31 zgABv88NQK;-zHCZlTKfwv;*Qnvwx7Z-Afo7Ftpr}rCx|A(%(ev9h+!@X&S z9wem)1VkDM>5>vqy1To(q(K@51f->NhVBlL&LJhGQ#yS%e!kCjemK|p2WIwOd+)X0 zb-(UOfglKfq>US`4(c-r9mZj1dY=ri#LuwINnDX>DB+@!$Pzh?hrMSaz-UM}2X}@w zhrUgwAA?_ff416waU^(5y6^d_{zu1l+ry}?i~V)_eSg*8LO@_T-AiRnfeX6ZA03Lp zcR{JQtaCU06kMOV7W`7XGD_S2;34ws>B6su=3*39c}m^e*vJ|b&pL*`A`!kz(d=zT zDA#|__d6iA8dY+e%kTS1W>i?wb%1QG3pF^pQ^@|7BnHzq()z7fS%OB#?=ZG<`>W>) zBZKdy8E-WRBuY`WVvOn0pfsi~4;4W=AwfFD@sxrVkHjYWxUb}K_xVu#`S0uG5g-1H zeB&D`+^>}HBkFqPdq0iA@4rq3{MwFE|7rPCi!pvK zZ@p~KIO zdknEgOe!*+m2xn{xFPvEO5!mG#9;chBP&h+*Q23U3Fi%Z!ndNbn z4Udxi3j%%T=3iTGP8P^BM29s810x8JKkwTBdD`ZW2|9q>LI2uCUeAd=CQVGr3|r9i zC?iA2UFAKcAk&oURH2aI(Wn2vg11QMUIygePfA}@Oc(Jo+X$TA(|Y^G;gta@-{Jd* z*@kxW(2C4?Re5=Rh^TNGC_-73t zEIVvi;Idulrcs&oGm2|_&*(>jQ&26+UA`7rZnilb@urB@k+fO_hl&qw9>nqFOV@FB z`J*L=8+!jH;{Ui-et%ySU;s4vEMH0I8T4jfcfhJ1?mlKKC~7?b%LW9`+JVI{!z0}v z@-Kv0CSF-V?DRTp6gwik=WxsCewgc9ZN)f~Ac<+L(IaDY zWPv02dg1S(>u)-&`LX}2M|nnP%y-?%4nz!77fVyv7C#sPtxzD7H$%(|7;?G^goe56 z1d*yJSESgpDmpX_@Jtt7Q-Af(EKBkp&B#aUTtye7J3 z3}!8M`N$6v`jXWsE``_ikD-{y*!Ye>Af~7FWvw(QhSC1ezCTY$NXX7b+tZUCb7WN* ziBCBK5$_pDS`CJ+iF^Ikv=$kU((AaNFzrC|6DFR!xcxl*2_vM!Yh)bm$X(tC9>Zjr zb~+osflBw#ONQV>@(wR^#+Rm{c4f?%feGQ`v%_?CDETE!U6~rN=O%L={*m;oizK6l z33M{?>8{>;(@gxHmlQ$2Y6&3hEG^(%y~*elTcx4L{zhGUtQ+N%T7(&j67$3xbCGp0>Q zX;_~CNk5QKf^j8?*R`csStgx2loGK!EL&v|zPC{=NZK6(yOI$+-X)p7ikQYJ`{R-K zhH2ZzP>@a0p6V%1SB!UIq?W2_zprk74>#58$?58Ah9r*^=m)hE`=7=1 zoUcR32;}5FFA*6;r5Cz07XYL&$|j>gd14%>dwH%FnM$& zyfvTPrrhNiic4Dr&KP&2-{E&Mxp`#kly`MfJS-b?8mv(^PS@iQ@5h^MMGtVJRQ@R~ zGS0VeXEpX)&$hMCGOoY}P|`7lu^&?(M3}~eE|N+}y?588=<4y!o;R_x`(%p;3%d9s zE;cMe4zpl(8;BvqPw!)>njm=G;n5nTivsCRFK4=-XyXir7x%UPNR zFVyq25-XEnC+zNL%#RYKjf}9)JK(=R$!=lMG|H~;(x{~vnJn<<65ygWyz%_|{`T(9 zJXy3W6ZvuKjf2@rYH9`t8^dgPbv=1)71T7+q~2RCJf)3kq-QAK_j>DGVDLiZPh$L& zCJz9oOi`HrpT+4T3!c3+49 zH0B@Gj(xK$LplHA#?#11jF?^DppDu%NCI8$5qhBxM)pg^Zm0gc?KUm@Y8sU-G&0 zq|mdY+YqIEN@d5yCoH}xp`RRR{$4}J)J=~clUfdx37|BR_q5;9LM@hl22uKfX&u@H z?BiG8U4L8&*ru#Do|1k}NyRz4AKuUKeI!wUomnb7Kg`=Kz;5sy=5a;&_E;&x&eu-~ z*Au`#+-bi1NkaK|pe^YHex?Pa7f)C+_efnT3M8`jscWoL>?>@R2Kgl95t)j-RwYP` z9mIo7SgFE%a7dii^Q@7ZZ!C3~@?TzWrHQlI(2t^LXnR+OKih7^*HqICos8s;pX}6ss>-<)Fc?JZnSOFa(|$${eKesB3DP>!rGh40Z+LW z#|Ou=F`T&h&GwW9K>GXCZ+=ZvYRnnFh~;kX}B3YvhP_X)}j7kbwG~~U3kcSp}JRh6h%FdhwDF|_*(_bozQBW5HTLP zyh^UM8Tg{we<|d92g&2_d=`65c*NvH5|q;+;KY+Skzb%KEiI$6i*PE&`G(snswao_ zkHPmOAYE3t_F^0zn{`44d_Ui?<0;Wsj>%RHnk?0g?BD%|K=bUv$O zaF(ixG3NI4@eY%d^EoJJe^J9W222u!7w37vB|OilkkO%4MLU*3et~Jf4i+;3bU#(H9(p9`Ik9Iu()|N3=hb_@WQ#;GyH zzy|MpEUpFFu@$;5QZpeO76w4MC|&Ot-!G@{Pd(D}i;L&R6{_8yng84PNwuQX=OnmA zZ+E_H+bd0@&YCXLBTJAI+cfBTw|COw!12f%)2+16!@{FP;V%9Ihn_#|sar=t4w3d| zr%IZjM(xdEb$yv)b3=VWGIH{m;(qVRR|#+81&pauX3~q%YPG(Ijcc1m;s>}uZJySj zZIu}Z>=p?Z57RUfHfZ&N!4%5Aq1{(MB^bX*XhVB`e(rfdxrz$I4XrNh4GGift1axC z`qV9O20)MF>azC(m5IUUg3K)krq1#VdNlDPdYD#2|x9CP&aMR`zBK3 z*b8ThHwqFB8rKN#Jp*^rdoCl&eb0t;BZt5B+6`G+s_8D(8Q)C+=c@gp71>6=AvVBj6 zh-PdmG&nPVinoa=K`N?3dh0A6i`B(5yXkl$95YYuM_=2vi(*@upx%%2nzlQpahyG@ ziLo1c9RISPJrz`}Qi6(he82GHw7>jhzgjiwyI;}J>eJN`ly15cryW6Y{-o0`C&Wydq>Fp1m`?Y=Ml@CccZu0m| zn=WBTb-5cIgk0{56yQBYuD@Z3hfEJUmOQ{r>3Wq_&7OXMumfea$^mv-^MDp zCB_un#Etbsic=*cEJJYBrLtm0QLMH$9NUv<%P+2%Mk$Y-V~$Q|UcKSF&S<}2w0-Vi zQuz}1S@#>pSG|YmxVl;!7P|rPWWrf58qn<{fN4O#RX@-6I+6OD^H9EwZq(jzuqoPW&JYx7G;ajURUxcm29(OH^s-jMRaed-Ey|)}FsUHNT zhSr*ULcHQ3?^qh*KSVI}Tn3GW{MP!gxGUh1&Uoi)EIW<1E!Gfk?(ssfvwmD!)OOrM ze_9>wh?Onf=G~Y-DVY?W=JSiMwOyWt4*b8nA4D!%#?Q(gzwBw4g^Y#dnwOV(J7Yi! zLiWL^8mkU#!L|h2LbXt=TU5Okr@KzW!zvDHd#B9q3uINLj?Z|FmpmJh!H0A$vTekE zkbD-e{4FKhfDr{&QYCa>sJeN;oiB#w&$n|ALdlY13-{@B`x^NN_o_`;Ly)(svq}g5Q`sO z>i2^@mKJi$psvf{+MYNvOf^{fU95|E*GLyp(~-#e+{w*>X&0<{AkTsQsJXr+yg7eP zWLsqwT*T^kM*j}fazt`@d75?+Bq92dvs-5@%s*rro%7BWr73vl@tm(Pw22;H0<*{C zuM3b6E=ZBL_PdbXach9DSh| zgaU>Zp7r>ZyK37IQGBt#P+~6fuTfIo*0FS>e&u)gEou>Wu}%tdS&~gz?Bod>qkgHD zuklW6-_ot23J;r%LoEi{AN%GcpeI>50^wph}Ob!DZ%A+k5u*%iD+cut3=+6!8wosMx`mg52CMn&SFMMz@5le)8K5 zjTV(Moh*$--Mqm|jbgImfJ=e7>!?N|ud#7U8r^l+feGV4B3kfFq_p(jKCnm9Z>&jBh0_sG%3tc86 z3~sZP;E7gz(IlYrp$X&7rTD)d_itPr za8CZCt*%9)+cYc{X0JBtv>DwOu&h@N=(~seuHJ)~C`d6+z*xCuc#~uZII!49@iRG7 z5r*0x_n60ACFo-ho@fT76o!ZLQbmnGg`yUCoM1_?HncTQwf41Yu~jdZLOrS`Dx^Hi zp+Ca!Q}v6o3%X)4%(&-wVPVe?&$XNm`ZNx^w|hODLOOY!RiS+)IzdMC?2MN;cu0IQ zZ>Kl5lJ_-q7~GgFEoMQ3*06^5xi+Iy3cuSi%lUClZ|WAVGrUN%^JiYZ@Zxf zikn8!O{6;&`KD;h6+bG{>AkG@Fj-amu*{X0P^!4PRM*_>9>uW8F+7qyJ!@19?H!|h zTz`D37(Rz3Qm>KS9-c~7{{(44#jYYY57LK_)Npfc{rx|viy=l0clrkedHTzMVvK$@ zFykNSE*G&U4Kflcdkdm>K&VPVXQbcHksGSQ=jOAPTNS24#&v&5v>iZpI zd(pli5S;pKa3v0JC=^rYmRI4Q)UlDqhanM0%MHqaFe18}!0V4CY@X?W>?Q8`;R zBhptfjr6?9#hemGElU`=m!ooZHv%qYyhNyf)LH) z;8I7c!ei+Tn^y-xT+vb3gGrs+BsP(7RHns@MlO}HZ7@8M%V36u6Lk62|D|cJ*m|M~ z%jjuu4$gf^{ezRWSr@{Pj4O}mqYC$!U-$xj&^P~;8TrvP%o{^jfxad?OFM+bi81J9 zgRz5+#1`=u?1^9dt`k6fk%073z$W@ABntuKI)SeYp@yt%rjFE=)WeF3KbE+Px|IlD2Xeg}M-i32C<`oE`02x#!PF^(Me!aAhc;u-<`c)&-e% zgLPQd<9lH1sb!~rpZ5^p85&dNGb@;J)B|x5E)OH@gePeemXkEf4`M$gXl%`;?ln%A zQPl<9gUZlY;Kt^oJ)IXZ?s~R-TjFZ31;LQBP(E}k7*5Mh1kUG;?~PJwhzalV21qnw zdK`+>FSp29X*(q-UVvCjLsrl+B{xe`_(>XP*v`bUep?m%d3!x3M2v@|!0nAO)!=Y&U`Xlazy<0Y(KDT_h4)*-==wlyTB(F5n#s zjzaT=Re4kW@{b2=+;MKg+==|OKSjXeMF!-i%VgciPVq(tTX~TVrxa0yC z$pBf%t)p^`p*~mqg;t#Z9_;(;9-p}?9W*z=Id+4x92mSN9@V~f^Yy}x<-{2Nd6Rnn zs@5sLo^#L!jsPR(tQ2{jQ{zC<0FF}tl-iE2^n0AZ2k~saow;+r^|KvL8^Pfr^UUG8 z2fujrG3J!rW1=eO_VHN}+y~+LZ5h#sfU72H(%=A@%lZpG3ip6uk)qfvQ3WeoLxMNd zjdACmR@7Awf)gvj{)$Z<^mi?j8(|1&(4@tH3Gt4VoI~r6LFO-~Dp9$o<9SFfFTfXz z(-DtQS2A}yhZgAZ$}jZ#jjS=hILVLk0)NCxvHbp$y3goMTt~041`wo1Juh)G)^?Gw z0aXQKV`G!9uwQ$HBZ_kWl{PWx5oP^>uIkVHK>qoZPLjMl!h7$yygjutoBJ~MM$4fJ z{V(_O*IO;qGzUZf-v=8QfBG(2gDivZ1HWG2E*d2 z>fn`dhba+*hmqB@rViAL#op5$o?v%p5qI6jSs2CP%+*wT|GCiOism{>nnHi{!k;b#ZsQdb>mkPaqCTZkXFG zV0Tx!GZv9^EJgjxjoNsiXnX0=;OS+G_SI)T;wfLLd03o2X52Ft!d|XgUfHpPT}7kI zUFl4_mJU$VvOWYHm}1>NUKqo(NM59#@#9L}^_x(=k+oj+?Y&aoX_C2ni7X|uzmZPB zD8|WxfdI^@6c@+W;p&Fr?3#iId$a|T!XQeueH`v!j}y9u8@|GrT+Z_ND*@~nc>S0z z+xRHe)`cL?8J}h|Get)m-h-w??uO%;10GXLTf+p zkQOyOQLb7#or~{~0>`Ks$c5P*R*QXq^(@Rc21)oR)K@_QWPI!}Q;a`e$Ik7eH#r*l zUjM44G+69lw3FOGKUisGW9MbBz^b=&G`woCg|jgcy8nfCIdO$UU7LQbo;9{-?A1H9 zMj9D4rmto!b|^jsM4ig?dq%D_AKC;Tt~F%sUpu`&-1EH6T--((h~gEftty#bLZY}{ zHhO>tlqYN`x!v_;SgKH@kK#H|f;uD0Odz{dr;E(>p>F`(-_)pLEbuE`OVgohd_-3; zTx33w8(F28qzsCogqzV(tOz`on$P>XIajq?QOVJ+4^1eU89C?|wtDf`FM0#TLp&r< zOteUwrI(meucaIB`uIIiV{du)x7jTb7)0>6=xK~VD?C&$^|H4=ZL&<})PnP%jU8%3T$B)$>KAqk~;rxj9 z*?m>*?MfMOH~+GH z8~2?3x^1Hi;66bj1Q5R83Y-Cg9hdEmma=1VCgel;ejw;FMxApGtk&mx$0jX0+_zczxYNc=n-@V8mSf#|tx?o?( zC$#zBf@Itzn|Hbcu*D8a&`UU3$@4&?k%6mE=q$D3x>rGi5B|UJ9=2U6*a$UTL(r~m z)`tVR(XUEXwghcxzcb8vvY&-%TUJV8=pzPW1a>EkQ4 z`<2hmbv-`{T5UXfaDR`A^U4txVWzU-CI^ozfcp~0oC9g#gev?83LIjud#zF!MwC=5 zkC7KWrgn^}3-0TIT8N|+>#WB+Ch|o-qHcI*u%FSHlw$Z2DLali& zrdhC&X(MWxT_pN&pi&InYXX}Fi#k0F45_DUFDu)1grQnDge5LM2XI(PD^OT)ZSG2(D(7PBZnGNw`l}C zoulm@KdmE7sj+PTm?KBZJIvd|9pvK7$4Ozd+Ac>OYL<&T&xpgr!_dTI=eg{jUyLOz zK3S*aojiCUc%ke8^4D23p+m|F@(+#6iQuPqF8uVBf>P+m%5pphjacZP2NvDDP7<_S9G)NY?ZG|2y$_dbdy=VV$D1e zvGXTyL7uhW@_m2e?VhEzo4$1Jg}{f0At!A4{U++re!XUnkBZ1{0qsr|mbYC+XdLT) zI7UBM>*io1bES3B;5j^KN=aYdGb#4!=ql>WxX2K@yRF28@hOyTkGqAYtD-}N;g!RAZIlXH$& z9s+_#E!zhW570GLL~5yP&muP*D=8+f_2)|7WAz0j;O>6~__uO>VRcbcO@5e~#>6xH zdC1@5-z#8Q@4&1Pqa@(W?j21F$+q8;MaF!vn=Y02ZiXUEL~N%8jzVPk$IL~xSq~Z# zj-3fzT9dEsZXRb{4>cDz7YtzAui?&CA2lk^B%c*G){T{sksL^7YS(qoRH_;ivMC`OB=|Ba=Kz>X0vB#9h_g7bxqJnp+wULf@#WPD9__W$O(|# zCq%N$OjUZ-QHTz88q<=S?hJxM!oX)DaAG9} z|JT!mpdXGB!Q*a@!zeJ0poE?tPo`a3IiwMMd&}O5JocS$iP@CL6VzqJ{eBf$nE2Sv zF&$wb;{#1BMJ6rk=Td)4Jl=sygiSbfpIlf}EUkckuU@{?bhoIE6k#x#*v^7_pn7D_ zwemqE?c0`b(jU(DUdK{FE{0mw4W2w-UZJu){t&I0HPQOU!zc`mKIvqAD^9Le!~^%q zwQ{f_)Heb0L1L=fr~Y4wAWdnIzB{oq8}xn8vx>fKqq^C3IUNMh;aaJ3F?osxR~;6k zvF=GheY8Bj#2$&x(=5w05x5@Q6FF;)fQTqC5^7Vyctf*Q=kjcXbt3X;Q9tak}zv&Dfj3xfnYQ%kRmDB|Z z{&zyABB6X-;hkaMNvAK67gbho*S5MCLRnYrOE3uPyfyNZXvh1OepeH8#9ZxLInVip@8WM)Y&->;L&398%m7&S< zf+i_|;hztKDHGEI`TS;(K0oUZ$1h;6hR%05LmWtWL`0J|JmH}5$bLh2ye=1zX?YQx zC(85p7qkz|+zT2u<(dj;_!4%NxO&NO!;gyL5fKGcR<^cZT8>(EH2|U!+Tb?tRVtfI!Ex z_L9pKIS6-%kNM?imDKd~&m;z31{Ri<=4V?Y)h2!KtO3&sM-vD6v0F{96yIBh^ZM-u z(7eH3G6^&udUMq7e)aes0EC)9nE(}hHB7=2{d-vC+z(kwO{jQTht5t*Q7Weuw!}G1fM_k~*J)LdZ+(vb9F$sO?Hb8^GiB zZaBXtlAms?N;MAy93q?~B|~7XqJXUkKxs}By6$|hEergUEJ!(z4EP(_-$Br@zg)d6 zEWO~#RBm-DpeC^I%MzlC<_C4QUw|{RET__Z_B>oLUy{nJ_UxRDU6m2s0M%CnXC@YD#;7 zf3=d423P{gNvh7Dpw93+4q(WYj2KMTKJC=iSy%Wti6DUzOu|Ox03jWQyZP3?>~97M zgenCklMx@~7~6~};(UG9z`{S9Tg>o#J(XQ(pkMlT%18s5u>dD0Bqbr(XcWo0?NysbK&+H8O;`^z;!nKqcQcV5_U3sz;y_0NivhOSOj>$QHvz z_W&sgqIs?pin_>(fV|He%E>ZnJnzrVS9kcKf_`-OgW}J@>)u8RVV}2viG=w~se1oF zGa*TW1k*p0r?-HQQZ3*)af{dgZF9XZ+66!_KiP2*nBc!CP@Mo5g?1u z0^KkHBW)KI>-X6r^xsXtS6go|Slio=SXYFDW(PCB+P2-8Soknl*Zr!^DF>V)%(_&| z|6Tkb4ojE#@1C_OY-Ox$i%9L-AfE~JA!Lf=uTwsGAIwJFKG4$ z4jio?%Lr1DHj6s%WeeT_79fKtE)N%Qc~eu*a9|>F@`94zN6TWP zMy2Xs*%NR-N;)0i#WV*->TIPG7SVgFG!$9TSc8tX3d1ilno0)s5QDsTPQ+JqmUp9v zFZ!#<&RmSq*_!j-*l0H~6-3cd(X3)l0)S+{3U-6Wmlps|890dek@*YNUoLjV)GtQt z6C`atA4yT?Ott!^v)1?lfnrp57T?)~*#{ zzjmusW4~G_1&gRF{oBIGmskZl7WwyE1o>Yj`Hukum9G5EA$9W!hLzP`lMqsQqM5KL z2O+gioi^hh=`+ujM}K$A|J{#N)o038lvG z=8qcK5T;?IDfZQ5J}aJu7HFD}|N6xSh;aZ@p)&Wc@c&&^E>dHv2|I#@Be1pl)$QJj zmj(@eWgh~d!2kfe&duH3(hMmrI;W53=WkE_1K38F#F-8q>PiqY`rgm~t&BmCsC#ZD z8F=!f0QaY2MVJ*R?E?)>Jf)~b@5Tb4wDm6=T2sx$bKUjK9J24L(=lvy65m7pFU08M z>$n*yUz)bLv3Ocey>=IEHiK59$)StOb2JMiXQqZ9mC_xyESjFALQbn)8`qx*&P>{> zP=L??kYXXR${!IY0wqKh`_37}@2_6!wtI{SoKcxngE21(*k-N-R{WDfl4hE5H1=nn z7!A)!DH44C4Zz6Gd~YfNlo(o7+9?@oTmCKnAFe++ocprabgn^m5J=z;7WsdtLu9Hm&#tbq?{4zaQas zeY)Y_m}bL8isLSk`}Os_+RNEc9m8fnIUCA$Q6se|F?%+JdV+2G44YgEyuti_*GeP072kk+29WHD|PqYLx zH6@f2m<5@z3Ug<+PTvcbvDAaBJ}weAx-iUZms;^v+9k1mKY4dQUbf@5v&yuhRm9&Z zx{k?(g$oJg{~p~|<`aR1IhM+=Sou$ehK)*W=g0=5V=F|H&2SVvyzzzL$)g}e61%$s zk$C=PDI~$Uy))#;Oqu3G$LsaQL32Ml1q(mp<<)3=tvg_HkcGN&4ej5;z90clIz2$A zb`X>3BZ{A{u|n)kwt)N3{Hgu@{nr}sx3Di87W{7^_hEqFhei?#cY<`8C8O(UaD6$+#t40foKdu2*HvsnN)mwq0zPLky(Q82JQc_UU*|F|{Q zR0;*gfD8B0OHhqU!a;gH!mDFF-bXZg6S;r?)|NAGq2@AerJYtP zAavZL3;7fNoC>vu@4qW|#l0`=I4@u~Zwkm^;h)+`OlORcF4w~p)Ks%%jUt3r7RTNE zl^Z^*IL_)Ndv?S|7GvEZBj_H{br-JHEkS+tZ1;TlZm!$O+ZYJ5fX)|MC^r%zut!b{ zDmRsN_4bCw#Ke$#;wyMnO#$J=;76Rlrmsg{6was3_i}$r1s@cp$qXm`+)8Y7bVueh z(SEUL|Dw!aK|oM2))y-dalNsHd5t~p%D%#Wa(*K1P1bceushrk-)W=)hD7~^(!0C6 zoaCA58C;cAPHCS+G<_(t<^x(gpPkGg{TqJULTU8tyyyYqI76Fjpa)(i2EbfZRZUI% z?_XlEhQ3Crv%n29>dQYqyyGYc{`pZP!O72S-fGX7puhM@_yUdDei1lw8Hs2)lcVYPcz}Jp@b4dQI_-y>? zsk8P1{HroH!&gyf@ooWoKU{;Hp$d=N>Vkqk!t(izc+xek#K#ZJg1g#uQ^Ng)ai#9bWhLKB!+&oI5u})f-&OUC4|2c{ zn?LS-)vO%)Fbp`z{UK69pNUpSHU;zj?qR4pS@7+Blj~&ia7ir29l-flq`b026d6%Y ze(w5dZ@0dTYtmPVtZ1RY@`P9JO+`LjJUp4l7A^}ozyQH4FqHjt@Z}$L(jEfwKx%lg zMIdbnJn5+&2c0*xgPb`8~ z^hBFp7>RWS?>={fY^!jVn|EYEFdoE3{UjwRi;YRgvhcy4r}uX_xnq(%2|HPbxgGVq zOiZ@Bt8323dXnVkDwK4_lplX`Ez;unKEbJKaCw6Uy`E(!Z;_4I{yWa|S^Unvtqi~W zj=q1s5iiOHI7Sjl?BTZ{C?Km@W$~99OKFhc-BqHdPVBEg1-&kyr zAC^b|VDhlGhX17t#o<+|u&$}~)qi*XR!iFjg_Tz9=`3hNg1mXdkpONToc1!^*mzt~ zP$ok`G1bBp$YI)xVXv)Ytux!-Y>#;P9^*LB&4=?#a}}heJI{<)5d^f(;yqtwW(~er zFA!;9Q`IECGnQQ3^Su|GpJk|_q{P^zn))tV%kOq#WFri+6AHB2YyWQ+RCWS*eJy}P z^jPfr;^JcP$w=VmOj*AQC0`|x;^h2HTJ^J*pomurhiWcC1w(BoS3&z)$FZq(6>zfQ zodVVgSn4a=AxcStn9it!=raK8bVgFic7jOV%$rnQ&xkqS8{^1->1lthW1=lzR z&j+E?xBY%*NH;yA_ma&438*2bpQLY_^U2Zl#2FYEW9od4?~VsMJJq!huxvN}7-I}8 zRP6GzS6pp{v6>;*<4-cEI5Cnp-<{BgHhwLc%rxJvu-vg`w=IdJYgC3ko3&4JhQEt@ zo=k6x{qJAB36j30n-303NS%o@gVUW71H}&Z_C5nxM$&zER?OZeq-|{evbq=gA@>%jXZ%CpiJtcU6B^ zA5Y^y>gg;lTf{A$U*T0ih-f0~udIPWwO)dinH^-^;%y*cR&@Ue5+-l^8#KJd5R1P_lXg8UYw4 zLSW?K>2!FSdWclG%X4}vs@UDQSWD;VyVkVcO!39eJZHm(s?oh7%K&e^=PgV5r7-OT2IPjm%T#N#hFsj0h}>iU32ro2&;`K@q5}a5Zm`M6ZyLSB}-_=4Mjkw5}23 zzu1BhNO6GBG=Ua$`dMi$#uhtZ!RaFuwee1be%N$3r=$1pV4xT*w8i{Hkuc&^<@Jfd zeowJh!=hKo)#HAurC(M{OS8F~n_9p0K+Kz?qa)s%rlO)k)%K0AZ2IrEvX3|)x2*7} zU9aU#pZD@eH`3HHGFG8w#betBEWN%96a>}l{wHDJTi zQOQ8s`_C}yyvX3F5NIzh?)^rd^ZAMKmuJw5wq>nsPGkP^p9SEg-51C1eM2V%)MOM~ zh%q=kd$f~JPUFNZP7ibS_PT(F;n0AtW1Ez+qAV3nggXsCccD&PPo!Ro>Bgl>q|LQl z$Ni){m)l|byrZpr^k8#PidW`4^wfyDW-yZf57Qd184qm>^8Ts2Nx5g0mWpzJ&%()u zKuAx4MFOggU|2mlF>mdcpu0+7_vtOUrdc=ZcX}q9=(_U-4LhQ~=PC9d zHI||QGniDERzpLBr5)n@n{{#ep|kmqi5h!@m9M!L{NJV*HWys|$t1k$>y5~z@#RJ0%6?#CwALFlGrEPRAXKr$fxiwcd7?E`MV zCeR;rxnqAnyQRhez`u78g}|n?BP~t)c{V8@8-SJj)wY?vj_R2-=kVOnqBr1dbG`gK z&wfAic84&@Q+?nE5)$z)a4Z8ks;qP8I+kaGwtr@AyL2+^fFH)(wgn$(v1Z9 zN7pS++_Sp(M_4H}HOQ zGKkbL)-geufYaX$5e$5kh*3@tG@*n8Ebm-Ce30w0Go@W+8`}$&6^+1{n-|lAii8&8 zFFOA{wp(hQWhy8=R7du}VCGy>*U{BcT~y@8ISKJtR&deEJv{uKXX~XU@F62X-0$-7 zaheKoN&Sf>90y}cvtfVfD)$6=2c$WpK<=q{1K?aJpZax6*Cs9iQ)SZaMVjM0p}IB4 zJTJGp!R0Fqd<+U+Q&>b0Bx;(b9>f9t-dzMkx zsk|FTICJKP)M(Kgs0IMrc>FG}_znzksLZYRvw>`J%H4-4IR6xVw9&?3@AQ=O?6G%n11Q)w0f}Ka($8?OAa?o^jm#T^)#ltG*Mq4cS3_;$ zE844X;K`bHDc@H_wfulZ)JS_W*>jC)6C5m$a%s%|=~!rZXJ0G|U+i*=rzJ>fI6`c> z+B_O|uYsf$h?Hr$|t z_j3mDi9Uu3a-k5H=&0%fKz$3itB8#t?Q z^k{t;~4F~o9T=w&07^~Kt{SeWXF}cTLu|2X@ z9|!efm+gH;%9;ER2|5-&o=U}-ReXt`SiOIyJ_yrGJ_=XQt8pr58Ih-x#oP@5er#sH zet%qaclt}1cYjF`X9U;d-3YK`8< z<%=hU>m+`6-Bumk;EPV4Lnx15DdeF04^%>yHV~aJ)8@xaX)qz5B%Jc?L#6ZZrO+Y| zO7T8c`NG~MQZ8<^aDD7plmf!u7!FjFlC~d5Q`xoy({#B$OVx7`VSgiUd~FLDJ_L5t zEyOm1CndwU63zo9=Q!X=Z9=^0`uOC@Kd5q!#gJDVB z@jpN5A2b)#vzqxYCif7}zp>2J&n#5Jsm^qB_XK#y5kx|*+{EkBs;I#FOXs{#Vh)cI z*VM{>_!)^GW#8M1y>8Xdir(`UI@Z~qN{3f$=<0>!I~+6QyK zt;V#q!`fe1?5c;w-4;j+nJz*jA%QB&SZ`QOLWhNw%?Ecyq=8Nj$6E$0v-Uu+-34Q7 zgrKZ^jia-DDv!oo4vlC9#}4Wn_3fW?#*RY;q^G*2C!>~Gwy@a_hHOvMFZeTsvT@Vl z?CzxQM6Fse<_ww|@qXUdYY{bD^WEH_I&MkXGN=YTT2De<3P!nHCH@UMY%5JzXI2L7 zx2+9=hOhQ>T6KYl)|>5HtWfGh{Kab*@ffut^3oHU(EU-V+zt_>p1!xoPxOCPHPJzb z9JX~|cil3@$GIBxdCzhTa2w-&1M=4eZ4^d+ zqkmj*pb_u9kb20nHwr=rcYtSK3doNd*mBL@{RQOyJqltDvrjy(l(cwHT<&d&ebx{$V zVxzM&@RU3v8qFa7L#%vN2R0rK3A+LJ0PZq^`~y(3Drjq4Hf)dq^oDj@#`;#F!zCB z&;Dl7#49_Akxw#j(kiQI`Mc46`Tvo077S6fT^E*a8M86T{-yx8vFlgBkXdOb^nnoS2WTocuHw%Y@(K;U<^ZVnkBKCl1Z zZ9?|Qh=rQBjXnTzhm2o|h)VC8ALF;Qz6*Vf`|c$gKoKLLATQsltfD%y6&ewnBYz~K z4CIqfPfvfSn4Y2MRXO(X?yaQLcNnFORkCh6DTpRMvp%5s$+C#Auf^pO0 z9**{K^PSvsk zwBZB_${N7!vs@J|aHgc9EOhUAD)Epu^2;#zJ78BuMTRrhha?mO<95#jDdl;t1>w7AU4R7E>kQ&tI_mWZDQFc^oG59jPwxlvVo62>`*QCd zqJei~U64y*{U=r$6@8Y=$r9wng6KWp{d2Y2l$C?!%$r0-N~#)RGJ z{T7WG)x*fIwdOTr!kdb^RJ~dp*pHQ{C>OIF!H2;{um;U^w(?6yt#9v*2h>9X1Zk@S zB_OTNMgf<%njh&**-sV(6@UJC)UAkRI!AM28*EO+urzHRxzwicthQ{&krs<8ck*eL zEO(^RMubMi1rQ`(7CVq_PGSf{*rb8l{ki@Vb~ce#U*U>x8h2J9@pB4AyY<_6g8!FQ zUG_<5+5@aXk50PnciOSA8lnDM>>v=8K%DpOXO7Fvv=b{q)*u37OagnpD1K`Uu7Qf* zn^FI0z|oEK@S4u38kZlH$;tEI>cw8C2rkoKV)O~Qzu@!B`3JNKYifYJJL{;LCbOo* zA?#ZJJJ-wRnznLwjbCU6(mYjFRoqD=1;hW8#rMaD1^zw7cD|I5H!>>!ez|Yb>? zkV%20jO_`#uN42Nj{#Es-6D%b_m{m(70$>mSB>F_h_G{Wh(dkWvylMZ7CE+WdpX1c z^;E}jFpnuX(>*FRtY7G(#}&j)&1O8b#KFawriY^rv~UgM+pOj*{%zrR@l8oSoM355 zpwGchsho-92uZZ|x8Vwdc#@lFh<}_xX2)wY_dg}EVD^#P_rt`nD3hHZG-BTBhUw{r zHLPF_@UdMKTK03Kb{Ud>0nm$190{?*vZUN@p+*)xW$*FY2+#w<=~6~|rdH=IAK`9y z^a=6tAI3&)iw`d$XyuuoL@e5MQR+>$rl4#{P7oB*8a(|B6@!ZbnOyQ6!R;7t&TC|F z1uOCtX}@LS3F^FO9oqS;?C;-|i*AXU_l!DcYcK<{- zRM-xkE33drgaTo;0IlhB_5bg4c7wdb69;^JQkS=o8xmGgrk>F8N3s&vQhBURMyi7 zINtEkkTXNOY3*l|%G%`TE>Ggya9}f@2FNT+OXQA23`+#&?7_D0WdJEkWp|U(?U`Ek zTTU`=lW&e2_t;AIA@oXh->NJAoRD(PaB3bUT`oH#dYOE6tO=O=B*kx(A)p6L|naeb-TkCgF*72Sd;lu@xLia z#pdtYqB^V<7x^1MY!WE40Qg*Z=Vz9TkBA`%Lj}j%-@P-5QVNGs%K0E%V^MxQPN?AG zQswb7fiu=rSzj2XAE@Hy=`3L48@ABfl&_cV;i;VorU0eWP#3QM9{HXhbILP6awJa! z+Op_ckTEvGquG@nWu-9j9|o(UT#FRX8&NA-g~Sd}$7-Wf>srB`orB$*SKDTvPU_Qr zc}hhr@N&bzlm-1r)u&ziSYJu`Yr4Zi??5}LljC^E*vMpGO-865;#x}T&T+Hs1#%P; zRBlXEdl~?Fdd+4xO14RMOU!>Huq&7R!DeBXZP=lGgZ+}_UbE0$PQ&Z|cqU8G?{!?^)hlmiyH6EgAOhCHze+`eCS@grxz3h*;DRRVZ=A zsnbNa!uaE=ILQ8HnW~B+cX4+1*r=8Tn6-%|!N)JBElHLHa2sx9;&TQ{-iKjdHLs?` zu~%ngWN5znNkvJia?Xe>VKICSot!q)>7i7MyZyW(5q^Y2!ffo(Y$~RY{|-xWQ9W^e zs16h5n#u!d`;cs<=E;9GAmwY0!%k7GDoQrNJKb9x0-Tzd2`rpX9YVJDbR;F!612+n zj=cEUL?L7=vlhHR7qFcHy62Y*krK{^h!f-#H3tBB?MVbX;my*O5v^)GKx>{81J=bNT%vAVEg`l1{?n3ock!AJEP{<#}VPp4^s-iJjQ>KLS#XoE6B^NblsG5hx|7Y=-Z)!E}<>q#<$LEPzYkM#1C)JQ~d{|G7)u5)sLu(Ga84Et2{{ znk)dfV)jolbAKLV>;bn2vY|O<0PDTwpBlgIt=$8fzTBVb|ktM5*pro^#L9yrPNZw7+7K+8eJ}6hjIVB z!N?3jW47q0V>aL3iVp{g0yG4Zt62xLF0|%vt2rkGm#0csMz*EiR7! zIV}Eo-z&m%jobyj74=+VCh(DB+_Ylxy*p^W>K63`o(F}x#mCbO?wpck5-<1k_e#hK zd5?;RL(eT(3iQtbxWF3CTrL8`C3ul@HZiC}`^*D0!p4OZXmn3C)AQ~i+oP`ll)ZBY zi4$zn+oWv+UfH1s*?J@|94vPi=M9_jAhe|lItF^iH%_qeo7&{YMz5hiv)|gTkIDzu zP*+qik7S~y^lMZ~FZ?~#(c1=CDb7S#zgDJbKGgPKc`TT*hyyzyT!e2~wd#qwK#vHA zv-(sno!7|16L_HmDLm{LxIRM;=8yh`liwR}kB{KN@tA-KzW*aQ8P{K^I`ZJ{;9Kea zi1^8qCKqL4uWR12ATfiy)aIRbum0q$p#)iYN-jxlEcDOpjTjHJOzX zZ`=syMak1f=>wOzBm{YoJ=t~C2wh^q!B-gr0ZsF?a%5N6BOV!o|Jle#TyP2^^Ws}z z(|u5x!pJqU_2{niSQ_T~vNWV$W}z~%-eH64QPyLDr0YEMvn=*tJi)Sd=X>lGb#l}x z5yfDsorjml=$?_|=Q+E1fVH1LOR2+H;TDXe8oIq&s$G|_i4%k^E41Jtkc&j-dpWNi zc9&z>un30KrNhHZQ z+e9e{!z0m~UcWOiU_G^caDs=_0-KdHgaA9TRG!d&pu_&)*vI=Cu+wtlIONps;C^<}bVU z1q@8Tk}0`ROZN@Xl0|dd$&Q>KwUz#T8@(6Z8uRGeuZGellE(y$^RyjoXG(izs6UNWmsfQmCpbY8iFj zsjGE<7RUr46r^^U^cCQO3$l5;Nc%@pdKds*w;ZRLUb8T0|LYEL5`(Unr4_|2c*gBdH#_3WpVf`g&*oraJ$on#NDu3 zAVXEheHjpno57d%^Q#HFwn{L$SpUxUj78NQL{ywwzC$`@h^owTR<5$naE|qLBERCfPtffw30<#(0f^?H5$uHQKg z!t%CNy2L?OJX@ExQ{@KXhRxPT}l3RpS^Uz@iLY#^W~f2Zw! z6q@Cr59HBhnlY_kjz?{SY{UYH#-Y~~&#*SBkNApJSm&tCU+>)#Htss74 z>RmU+m(ZO?T!3Dc3xx@A1y=qR+91nLULF^+B^adUZwt%dlpy2#2t(W7dSi7!K99EY zk9@zYk`(I#F3VyMP6)`UWNwyci3^Z3c+KC0{ZMxkv*S|EYngo>fCEJ&zaOv(H;VR) zm0m#;b`mB9Nb6(O9B*0C@Em2$u!Bp(RQ?1OKk-gR*QMfH#C8xf7~;LTj?6c#vj~#j zC}+K%eXVsEA--zmOnrc`Fn86Ow)}UQS=8`F>hT0fM80M1#Y63Jo6jE461T!`QGV$8 zQCK*qpDVy!uksDw^I20MsHX?=%km*m!i2W^TN*NA=$QTdPR3kOv#P)OL{^;`8Z{iH zts~pi{(`7F&A8~S=4BthOat~w+7bmLd?&7wug0~IpQ&6S&m3njx- zIDf7FigBQMy|1>yr4mO)u2juUt$nZv+>l{1m85-2QhuH((yZG`i#|}m_B&l!^FRBZ z>I{8v=Jhti`4kMnq@%ri-1%-@6-Iump;JZK31CFAe@l6YEl+z(}<6VBM zh;=$3vbb=m!|dP;7ynwsOrD?y-aa4iO95rq z*^Ekl@%v#!t{KB!CX+G`+v%tgUcrHg5Cow*JM#dfR5caj2-NIo+b)cOT{`_@Ohl zu#rZIxCCf6l~x!wkDxl1Jt#C!zZ@6Pu`$!zu)N|e_t>*4X(Hw5YBH#1peYrsbInBD z=ROgBs=^_961NQp#v=z#{hl*Y|8RJt$!UIu3Q%k>k@k08C&_UlbH;~s5OBFt%HVIs z-?_cAbiv!abup$aiRnCjN?m|Z8X1=-k>pha(j46ieT&t1o9~YA4F)rh!B_EFEaLLl z&5G}Z{_D`wP_Zy!p5&bp&*|vqVFu5k$^cZ3)w(YrwWM(ywK6h1c(`!*BJ5yJs+WEN zudOkxuH_>t+MZoCIC(3p_|!$;EbQ8N1ILBNb`6=+R_lZ@XAYKCn42@d zPj7LeTCeI5W=IH8pa^b~9zYi|Veb2KpZMioinG_EV_GVv#(92w!|#d-32UNhHOA#2QDxVfVnTuK=fq+cuzi zu5A%$$}2EX_p#rot#sZ2F0zG!>kCd;7IzL`;G2%FbAOFrpYKsNI6JJ&7C&%a_7^s~ z?T^Q9AO}(bqgSQ+3$)rL^yTGSQu~>8#~8uXo0ZO|l~N!5zt3=lK${K^Q9Glg4?vPP zMfMcg^_~bl>|4U}s1+bCeT6*Az!B+a;EFr=V^b+0&rza!zNP=ixu4X%u>Zfm0aN<+ zQ*xsrC{1#<=Gk$&P4%I7?x-@AJugOi=~g0=yd^XR%SdQDUHo;MiYDix5`P089ZUnB z63Oz6E0i9nM6`Y4?-v(G=$Ysj>b3q&C-E9c$>TcenKAiSvr#&Ue*Qzkk_A zIP}gTcYiW$7Aj$LDpcP}m>?j=2=M`3IqT%+FcpLBi)Qb5i^-a#6vS7zLk~ zku3?*M0k+54D(E$+b111m>*?vUX=Dz^pN8lQdY!juDw8f)FAVdOdm$+xQ`*@797lF z1>!{a8OkweUslt7$Dqat+_^q8-g5e$IMTZ*3sEp3N`4k_Au#+0Q|X~w+nd-5D>NwE z`X>Cxo`yA~Twq%a7rgQxPY+$L6*yCPUfA|1os7p?oHO2%3-jjG5fU7WNgyonWstlA z4H(yyi4>FkT~P80KULLC=)L=_PWm?Cux@>1Xsyft$P zp)Qbg?7isyY_Y`d*sEJ=-&L+#d(RiIz}A5|?0}4uE0~VeSkk?Ot_y;NU@(?c2*@G9 z^{__fBG>TQv(RV=DD((;!Cvp+FmF6_%gIW_MDJARiY6^pw zW6;lBkGAjLkj9(KKlyVSYUg`Su{U}TuVBO&fZD0RF^D`QZ0e;dO7(5Grb>)yK%OO0 z2;hI~nDPb=W~6WDmqQ_07m3q#h9S#NU*-X`f(Hsocc*w`PVR_$9;e=o9t*&;y7yk8PmsqQ3lPPB=Te|=3<)4jqvy8{N(vy4+_c^qcmGzvF>?qx!|PeN z4%HoXB!`n2t_h#((Y4qk-k|c!@$DgmkTv3F107$Y^yb+TZaLup_<_}-yaJ}65b!M7EoG(uZe9rB z*2iD;FU!r0mUi;W@I5AcW*}hTSHvtQZyb#*ZwlY|WBepI+Yq+h1L* zQb~QE&mhe=^smQ&bqP*at^4IjhO_Y&P9NKg`l@0|1Up!;dK*%}Fe5KPYO+Gp_tL*l zVxR9TxXATSqbB5R9VydM_8qu~5Bhr`i$eS^LgbH<@yyY1J9LYTbO z8a6p_fC__lzzN+9ifB8PVso1EXa@1wTa5@aL7M-bA)uObB~93_fX(LU2z`T~Vi1t^ z?*x^|5Zjs!Z@^5j2)38T&7r}VW!|`|qWE)T@@Wg<*Q;9f*hM<|H+pBDg-#hK<4>T$0-T(x?#j8? zl@Ap#YyNlbB-N@6{pm)tDD!qjQ{}YhPhGxtdI~Tj)LQc{S@|_E4?bLsE1i-zg(uT) zD|&;DS$`$8_9rSy24F}IlK@`gGHExh*7w6{8NPwtH^G}4E3Yulz`g_=m;`bE;na2o zU~E3Xoa#v>gQ+l?D`FfNMwRM=fKsOGOl>V8MDrH`M1lC(f4oN%$$@**3a3lOSU`T+ zI3ZrW4AC!3m3sm1z^Dwwyun}Dr#R7hZPza&MvT@R(B-sDa&(CoPu3|}d0&$D9ApZ5 zzK=iIK~BKa+)`7~5WkW7)8mSBK^@bteCQAaVZr7Aa82Qpa-O(#@}fGQrC6jxE&Q~_g8ocH&f0R5TxgS z2iv#Zq;k`mzz3yNFK>4b)UQKe$P2|LVI>UrIr7>Lb>{)cA8 z%!rAyPJy=h97VuUgZjUF^$n1^Y0TX!_)J|^ZTd~(l4~sP_JD^jXt&7`5bg5GaGr?r z2nT`z*Q+r&6Ev=&+wa!>-NDY8|9%fMY*y%h$3TswjpU5vGSYsRBR#93tw(z+Q+^OO zNB*}D)RtP6Y+Emep(76?p~}aD&V`p_!q}%7dnOD6Dg_SQxt!U-M>R`bc&NJ2XedOX z@PBU-btH{G?%MRM`%?)n+qbpvqv;G2<8{b270I?QE~0KcbMo?fv}Y!_{6eJ$ZBZIf zE~3xe;4%V%lILp!y&)g|V6vwGa6GpVU`+|mu2bFZBf~8{*%lb4GqZm0&zmXODzv5i{koI@|#G~6PLHxs>RVMUBHrn8h zQTbTS(FLFp^nWI|7cg`gMsNA(6FJOYg;J2`O;xaJG-nB5YH$u!Z@$FCqaeeh!KyZK z+RV#MBD6S^6%lv9sS9Cf$Vc>yy))r7CkcOVI5R(nwunFeF0mZMabOsPKKOGs7I4@M zG8V*x3@gf!^$8u6N>n?fE)@a~oVb40;^R~X#9vS{A~nqEa<*JM>Fzggpv_0@>IKUh zan63J!?w!$r*6I8dvEfe^H2CyCh13D68i4>WGevs-^%nz?XR$W1O8Q9+G^_FkeIup ze0Z`$rF%&Zr>p!*$BFdeAD)&RU0aiQhi=N#4HivZi=SF_dx}O8pB-eLid-rTxqzJb zGK%N5&>%?oU6AE-SON5d^=n*CePjRw$(o9BgBJ-!#bnS|zvSEDmZ?IBAm8ANevOFM zigXF`ka#*&D>mj_eW6uRjMx;o#tSxy=ip-73tcrizvJH*UWMv4>+j9UT%@H*H?dXf!lZOQ*~wo1hwyKU;0c$KYj)-Q6>^3(|IzwZy{;)b zQ&Fv)IT^XH?!%uh!BEB6a!KJ&qOe565Mbu1$qzCGDPTJPsEn^xow>?)r{`Lm^@6f` z_LnqxaE^Q4xdaJ<20)Y5?u_098#?ME@9O5tqEaW}vwtG1zqKZTShKLeSIF$#gpg>6 z3FfNtFlZTMPpniJ>el48ugX|aUzT$sRC!8m;XtDQW9}0rVkL>tO+#VDzw0l!>_W8r zV!A&Rq^b7opkXC%^6omaje*v~rmynbY(e=&Jt**vx)s5p^tiJRT#u_KijmG&&fWf~ z@5;=C0Yn1P^HSe7mHSX#`-@m{SKj26JsJLj)3O6XS4CUN>lK~%xnEF5G_WjO>SKKd z)h0dDiGgEZ}NRyemDPJX7h(bbxbH;wGI2`Q3d%t!-DHL+(5WJzP|wkaMQ#!#NL$ zwhw`2`g0wJ1H2lVL|rz-49Gp>B;H}>RSCm1iY#fs%Lj}eV6-NZd+|J8Ak4+)+n4s8 zA7c&ab<8H~Q4sw7{9tP^Py;}b$J%kCNfu6hcgH=|947_lV6_yTzrY5M0Uu}(A>O6_*L3Ny%#)Geg=W;>5aPM6 ztB7$g8cgWI4PXjJP~9q7!60;9^jRlolvVqT^j{LgP}#CyzI-`!u$by&QeFp`cFfGO z`2__>ATZ!Gh{K{0VQgi=obej!Ok~xN9Wols zxMQd6(6we&TTlRO%d=8Y_M~;Kj!%#e8%T)`m72(#jmg^yNoc7vS0)q z4XW{rj`J{X)Z|z4NBo)(n_d8f29>@?&9M9p8~JBvb^$`jUi{8r0)c0;nW> z;)^BRoR!J-_;MWQH2K*164qd{Huj1`A+@1LB`8@%o^| zyQI?^qrVM`o0|<<0I~5}%hg`)*6*az=k^3C_D^gGG~GDQCpQ`@roH%a$^N1MFu`g7 zmWwO2j!#WDzy_rABF+g|_kD%;a3%lR1(gi z`~m{Q>+NTA?mQoIpUHt$wCO|*;?OAC70dfjv(cqC> zjV0ky(l)_ZRpm6I&KeWJ$**i2kCq4FuqKzC0VzqJF5)O)1Hb}^zNe-%njL4D-JH_C zfB)u-)I*7nb&$PDS?jd%fHMG9p|jHzDp7!4jl*Y~KsB#VnJ<$5xIrYD>$8qL8qsl&Tgo1kC<|VZV26-$8-1-0_V6DP_i~7A@0&sml z5dCEBZm;e5u<0D{@4!bylSy?i`v()hTl!B^!fpf5kP5aHAD+I<5! z+4KfOvu5AI(>Jim!SqBC6jD{}}xYQSfJU{}jg@R&YTB5MT9; zHLupCSB_BxT$kh;y$3!2IFAdiHtb!vujYm$))qweI18v>!#G}Sq9bP?(Ih4u~@v{!`u}bO8y90ig(ov1_ml1|sTwHWD6gDaU`r_%9_CU#c zqyFFT=iH}XLl(^sa6e_zZ@ysw3|0hX8~5{~=XHXy)R4ncZU3X}CJQP}DXt-w1`C-O zxolDnz^CVukEi~e-EmdaJRs!IHjc{MQ${5VMsB4Bxa*)b2M33NHMBW$AbN!1X06fW zS;%)3aP>glzpjp!216}iQ=kyF z30M$mK@&sU!4X7FK7d!a2>?&DJ&q{3UaAOh6U#oK;)3UZMm;AS>kgR>2eyn=9CHVh|@2|Dj z_>tJ$J=TM4$8REr3C5ltqY?M*BUUo#3=GBEj=|Q)Wkc6`9k!^f}uAuJZVJ*0~{TMwg`L9{$H#?n)#tjL)46R@& zGP_WGPP@Z?JG84NSzv0&n4ELBIZoC~`;Ok%S$J>3-!MCE0m!sfU&FswX_#7|Lr!9{`Q(MA=DHzyBpE_`|o-jb)@E!V5u!yZTx%M3ydBUgx@%sg~v zm&&YUf}U!NvA}%^-QCj7fZgJcPY=PIfxCfrcT|-V>?8fLOUfui2o=tv)xFoB498gc z1llBfM;DUEB+M`YEVRH+5`Trr+RZS_j$U85RJn>P{d>p@PL%tC!8WUK*#(o~p9Ja= zLn*1OYqnZY0?@9({G(ew*-lIH3&ERKGw<676$jQ`6uqhuXs|AbFq*qlgqekF3^R)K z>tTie#b)ATmv}qmG1xnN4#mu5s)DnBsV@wq$sPJGl#j<*=lL0|0`6C`%>liw4fuo}MYa%@=B@@Cr0zn-_Y0hA(y= zbfMPTg$~gGnkQuXG>IRx6_~6CuLCbz*0EwdUx_N$H?LnvuPji`U@Gb$NVO{)hj&L) ztgYQWe(G5Cr^B}Yyw@$yAL*AaYHZrXr}dwS_JlCO66IbvT_v%nytnzsb$EK3tjuiH zSMMrr`G>N7L++s#T(NV})O;c3irqHv6fkNuR{I*L`XIcS2I53G^OQf_-WrT{ZEqEM z=dd%t_&N&3LF#(DPa2-mR99@yD zM8G#XRNrk^>ofBqimxsN1kt4d%_#hldPPYwQytJmzqYd#L04454C5z$d~myhf+6ty z_IwVkzTG$l^wI^k=@MuIUDIJ#0{~6r6=GmfrRFX_mM72!>{{j6w?$hi19U<`(0U0L zSmN&9@@CLoOTa^Xx(O*sryN_Hbu;A!bv?Wh?DRe*q2sd&fZ4 zJY1kV!{pkvoO>OQ4>*V;r}llZ?jKm?kMwdejp&Tz$0$zZHnU{i*=`y_Cm(%+w)eZ;x+wuv%tIeGvE6wWh8$O zF%G;NE8>JDCcR*r0|f(acL7NCk{>;vBh zGSd)qQ2T|PGvI=tSpS=uH!Zu71zrpZ?9H_W?1!0btG&PS^2+jiPeI17U$u%pEBX1g zDl03es(t|=V@1ocY7|x%sejyWQhz$?n=LP|{A|z{%1BGPLM%{aD69YZxRrk3^DFL* z@*$p~0(ko%NPg&IW40LUwzKSUu!Nanwb36F5_ZYYU9%t%EPJ`$U%Oo79Sl;i&HMK4 zN7|X0nJ=ovV?c-`erzwwpcFAppKyHsn9lEJSE?{hjg$9=vH;*}f0w1)jI?Ynm4`fm zMe$5&M#R~E71O-^E&dtxxv>LHOQk6aHM_#=)&<+2L>m$KbjiT_GyG`$C+|id=&`|& zb>0`abj52pHA1vmB`(t@$o(+>28TH}NQe1aTgw0rX{gkB$88VJ^bg0(pyvLlB+!wT=@rGGqobqXwopdqO`l80QC14o!@%ZtztWyb&LW@u z^PnZpwvPtYLp;eE6B_$zH%X681U!8tjcI__bsvO%8NR+=>$zGlHtm6Br{xN-g)A8D z{Q1b1#D`~RdLiM_*Ua!&O_VCnc5Qy%vFzkM5hhB)z8kv4$&_9DjWNT{6ARac|8z|u z@n5;vgg6qmwTlA^_Gk08z!Wn_iS7c*-(Z-Bj3{{h)4wPCb->Z8)8$q10=^M%HCip>U`Z#U4N69K83pMXub|H#oHAsKiaDsY{6lUgNF!5DISY@2 z-qD>F467jJDRly7VP9+&Q^oeGKhmlUGi&`P=*>WGf^iakljrg>J8g`dNr})=4(wL-8>1arwxbo6%y<_|B(x;s` zR|oU1+vJ*0x0N;jima!FLb%O1Tb!_%Z01LcY6^btrZa6&{!ndrvHnRgCCOUGt@7DM z8=PbKv@{VoFZKyAaE;DOYkxX;N5?l&PsAV#v=k~Wgo2{pg@yktkt11(oBJ^%!c(NK zl9h62iH%9CU;Y)(gh*i$Rn8s*F}PQ0gw4uuXWZR+oCP&NHLE!G@8x&Ka$}t2%}kEt zru#CwzW8Tlow>%}9xS=y#|N+!T+S%FibDFY^tE-7pYMTGogrRKLk=#jxx}K-4CBY~&q-*o&4VEY>2qI8km>HB`|^V!m*P{9c}4PE1%bx^j>Abg@ee)! zrYdl>Qje(F5)DC%IBATYr~bF!xoAk)?3dnDqY4-Gv@52?x}*;u-VGkvJqpcCGb}YU zgt#Xh8W0aqOL|t+(Vz-CO7XWmf9{DO{x#)u)qYJmichyY2{>SDpYGy!HWOKuM*6+* zunm*NA4hRRO!dL%h?A3~XQ4SItzgp8_ZnUP|NP|rN)?Y)#k4J;^22uxToV|b*J}g5 zl_vOBsxk@|vATmg21cH^c;wO~OGNubUy1hEE4a>s65x|0YV&iE!Ke)xasiZ#k42+|N;JhLdY= zUKgU%$nm}u14vjN|0?VpMdPPl)1TH%^dkqyZCKneBMD7-clr`ZE9pHEi%<;2HBxR9 z>L#ZBj4jpe{Co25x#fZovvA;`OYY)WNcY(Hl39FcpKpxO0S?v!#<^8P#^X@P% z6h)9;n-&#clGw>ocZ(y|Qgd431P_;oYi3{Zk@6|~p*_#OF3@^V7$|9>k%Y?HeRTVD zcc1BaCs?ch`!!p$$2Jo1FN@i$dSI7&v zX>(y*i3VwzW2vO4P4Gwz84}U|fVr!6eURkoJqFdBou2uQ)t+w)FX1#MDS~cb;?3Sm zR4hA^j9ZGEce31FHCHxtqvsF7YChUcmhH3{54~rJG%8UGw@)=_f&)7@ieW+$tiSy} zVZ5Z~8I-2PpSS9~&Fte_l=u^TBsz{J)YC%8F?ef}9nhd%IN(A*>q0cPvF|Jef))zs zeQ&av7TqLKE&6r6a>_Fgy8Y%coozz#Qh8Ee6)!6V5lhSSfmtOwGjRKfJ1bJjP6<5v zaC>3JCoKG0P4cR)&l=2Hxbh(Gz0kV;3SeLn{x5Sm_kw6~nLON>jvhw8PWe$Fk^#De zX}6%Rfd$4^A_{agL7*gW*-$cQf9i11{$ptdYWGYc3(*aGk!2N2OZ3ou*75MuEwF8dmEVj7!2NZ+*4F>{GKYo+t+;=p*y;KP9L!_&@JR!lo% zy}uF>C?WT0#aVnrmx?rGycAWeTx)A*+U<&>VPiz` z_}D5ek10ix7D$A2ahY%VG7pp|bj&1bR5u^$i4+#(5hgIMcS4pvW; z9rNDXT=da&^SixLlqp^0`=@|zJ?)5-qqn9g$7WTPo?`tqI{GWg_!**SZEt3;CLQYU z;~nhFaj_=8vtTu>D&oyU->w`bPxFjQ}G zNSo(0rH?3nd^v|PuB1eIPnQFDj;?LlAUocPQ@ksANC|B{A(s$5~MrV zmyjJnR;5#i_R6FrNm}+tvTP$fRFhu0a zJB8^;@wP^WjD}8w4gBkT9Yg=Hp_`R?xHICRzef8UN<^w1LDCwHgA_}JWp8Ds zL^8s~_MODOYW+j|p^H-@4;H~fCuxH?>V|w}kJY~>T0ziQU^0NzJ}gWbfhQRivMBZb zQotxMl5)=@q*AQYjocPNyI~kiMHf(sg2ZmFwxt=TD)gyDM+}!cDyHYA55`ept#WME z%k5eaG9+&eps2X6QI069)@yXnV|nO|-bW8+C}I}30V_B}N(iq5wK zy;d)?`RApLcWj6tqF*Vl+iBm=JsPi5qj-Xjg`hwK0HW|qy{6a_+ft9n@J}<>LRkg2 zaSkxm3B{b>9eKLhFk^1uS&#purM-A~SF$Tp`RYhg_aTy2kA1IX65793)mx0$Cq6#+ z_g(B|H($UkVG3LF8WnnF4nm-2YT>j--C;pq;Jm{*fM;r24HHp6V|Qwb(ODwy^)?H` zKy&p(qkrH=TGFBG;?E2w_VK;6?DgZ_hBdVY&)*Bbz&e*S5YMBzRfR2hl9<>my#{W`{8DQ+xSM{yNXw)*_ z=-3+STuXWF?w9L{Z)ti>_oBt)tYlNVA>np2_$)cr8K;y5FEUz3>dKqp>R(LCs5)~Qjq zL=AUEqZ9Ki18Pm-oO_$RI2RWFa@sRCkx4%%G{>@tS@(iraA%8UcNb-JqdsNJZ*_fr zOXri8>;13)-unKE{4VOH%FN6h+oVc~-^78{S@3moMX}@fDK0Lagzbi)KJvK+Q-EPU zxO@UN=tu|WOt)EUf6@3TcQs2x=J`)p{xP_|ycIO%=~x>db{^V}YE=hyz?p>3rVky) zdvw>-h_8$Gm1Q_v;b<>f^N=!Vm!AsjwS{--tQyK-&A)qA2g57;TLVNGbuKL&_xPUkb5Q*tMc>t0~W2=Gh+|rb-#e_K$SS*AyiOwkV~k-~DL;!iSrr zC&{I+YTvb4QgHCz8;YM^U-jK|!Kv*OqiDJ@W`FN&H*&nrnxIjVZWn$IA_3S)-icc0 zs74G^10-qZ_{GtAo;6A9sU*3%d5fmuvd#XgzzpVtrUlS;S)xrG_-lW(WpLMhj|eg>Tu?add;ByJV?=s*JoCW9$?v6J$+X~-Yauy7KR%nq`s zR7N)6aw*v^+owXPzwLL8+ts>=a#2|6BCoi)bivT5qFdx1dAVN_^;$5na_r>M zb5qDiB?QKKin(IqgIzwi+cY2Zl%Qw#TO#ecvccX7+|`dCuLl0BcCeoN#eopI<`+A4Lp) z8VRcCY%`xxK;9_4M$!JP^c6j`W{z!$nU|43NN2yNp;^0yhNRd@RhSx$^Z5Co>5ITQQNR0Nb#l%h*SlF z^dh|~qI3}mMXE>@2#6q^pi&h=5di@KrI*klbVBb^O(+3E?-+UuQwbUXInl49Nw&5O&vS%sh8^U5xg7 zO_M$lTL!kd2b@YT<|{oCX2AccWD>d3?0%+NxiRN(m(p_M^kvu@W&~@s_ZZ-sDE;a` zNk3jYISphzuXE-TfB7SqF4BGG)ZYd#Doa>$o*@%d=&l8*Nj+|4(#vEKf~g^~FKP?! zIBDJEE}UC6=EW2i7qGh*3-#!gqs=!w{iYg~{QpLo*ZEC)%7GhHAM7>j=HwftE&F02 zH^#?h?3I?v`3I;X69}u_%3s}zQ zTiZ+5iSOASejqP`zFaF=>$p>6lZ()(X+^Tol)A3!9%JdYZtX^Sol)vLRtYr_Syf^7 zW`;yyHuZ~d%>y}T#?@;d4{#6CX7v5(GYB_Ei|LuUBBH|jls$sn-8n@JWahenJM+4kaoPqa+UYHUNTku3hf^>+Zxh2Ws)6z zlZf*_T9WVpN3vFX+{f{<;OwuKos#L2h9*c2=#;f6&ZdwmzIH_YR}*-i%|6+z99;?; zk{_{Et$y>BYh*{Cln^6`6P?Js8}xIU;?B#aiTk6v#B~YaIo{VU*R%0|$Ze!bXsRyC zrT*H2B7Vii#eIQLv&y_cXtPXA%$b|d7Z#7txR<=8+_=3?VTgpgo7FloFeDN))yTo5 zj-cI#o80T(H=>-kEN>`_6)>+>lgSHj<(WU;USOeY=H)MRSCG&$b;6&R>;^f#|1eBd zXtdg|Gj4ZM>;X`o>iHj4IPH2{XC2Y$kbB(tdHRQ@)nnfy*EELZ=7;eKs!a)0mV}q< zAo$RFvqe?)cZJk=!3jQcSugqf9Rl~Yy3W>@Xl!?jt^3L6PR{v_Xw+w8sSS;464u1J z#T`Y@PX6e5c9v2Lce447zeB~f8)D|>F#RbH9Qo*eqY7n}t_(RVqyeN#} zu)3oUAWK4a{Px)55qWJ0OJfd?6z;~FVKnFKCnYp9D>p3x zlz#l~(LKb@f7ssM4j>^mAQ+zD;9z@Z#8bl{M@RMZ2V}mAF+bL~z6Ab%0o?_t_FW#m z?NzHo=VDmQE<`U^n&vOZORzaa>*WW1)y{8Y#1 zM@A<33c!&Cn#R~Suy$dw(2k>IU0offA^DUe8iEFL@)uq&{0e0l71cAQv2>-ob{SjO zcDD`1&;~`dc9Izv$DUnW4}Gil?h}#xqhVD(?{}#gR)2~=+(0f$nZ}-d4p4qz-fK#F z1(oQ#wBBOVSN`mylK8y9oQ<<_e{^)p39THolM1RMW~4mHu&#XI^XnGOL>u!SvG7a0sMw>BH=)D6#O_gUeT+sx z$y2|ZSktOfL6@<~5kAZrf&uhI^MDX@BL1YTM2O{{_S{ae9rxZEFKdk{`+WU&Nl0w| z^^wRRChKi=kipZqAEkVvV!K1&_(=StvzvuoBv<=%Z>i)T#!I2r(`IF<%$uB!+{9~j z3=*qk-C&mjSfwaF^dtxEj3M7O}kF67?`GC2}9 zxH$qW29x&z_}|lEMH(Vn715+pxDx)e3m4qX^b4f9e@qGdD)qwmzD!0bHuIN_N4jIW z#!wHzpY^wh8PLwt;q3|7ZPebs%ki;M^tyoxeV21uijF#N@>`U2w=FbY@Ea;}&NNdo zz=G8B@xOO6pZY{Q0T%>7s;b&n*6E`pIle1eH2>Eow``*JNf6kBkFq$GJZ||;oSOHJ z>gC3zJ>l9bkwpoHeyJb&2sd|b(9`1cXrQp>6-DUkY7G?_h{M3&U@VceA)!weo7m*N zwDol~G$a_f`3pDxIjZ{fFu`C3;zSyW=?}H`t4~#WOhK!BZR3{yI?=33=KLUDGyN`a zi~e8*NlC+UxXX{ORT2s#`JlTf*M39m_dZo&UxsdxJ8=gGatd`+G3egD+o_$Gr}NY@ zwFxL9q{`Wq`SL$FPd>s%@Pn~jeD60w;l=H3aqrDyaSR$k!)(&X)w&N5*lPGnvy}yN zYWZ)Xiy5Rj1^!`(9VK!p7fc1lZ;yw>R+I4$VgdM|xRjh}{(Yux7UL4jxB-_gGF{cF z*1vl8t26~Oucu2xeII$NA_Kq0{5JMAr;nB)ZTC z^w2=vpqB|`mV)BB@=0fKR_WOQs0V2(&;;loP>(=AgpD8V;j!PvULJ_|VrFKJBQN!{ z5X$o_zHxOBM#(Zzttvgk%N}H2QL7i%2D^n;+?fmJ0Z7GxG9Q90Or#Duvdq5|vjq|g z4(RrE05?{GSR0LR;LVUIZi}mf2W{^G@0|}kQvt=1a+9P#^Q6m!WaTGj(n?v|)FGtt z4@4ZstL^4l850Gy_04@sN>?lQSHg%XUFMdX@hvl>GbkY-oSysiT$-9a>JN-ORPv=1 z`}tfA5ZoerS=@5--SLcfYLw%IqUhw`xqVXD3l}F%zl5!*?7Xp@+WG+KV|e0T3FKH6 zrU65tQ38KTSIb?@Kc;C*C2OSb7UrE{CY`V1Ym%IaTJ(OT#SY< zocc&Wn~!~*f)l2wE0fxw16KmblzZ+8v+i8Ui${E+5p82#5;7t_X(K&1<0XeaZPYJ3fC!J#(gp_=cYaZXdEZ=$fySV({2>V10p z_!STjdwG{=pMG=Ezo~FexijU7k7x;iX@q{Cb3{jQ2yML0MY>F zz&7r{(>s+^p(En+Ln5&d(N5b(T&_a6_lo&Urv2z<)Ji~WAraOi=fhCa7U(W%J|;x& z@_x~uWJJICjIVx*eM7cvWx1#JOkri#nC*wWlvJJQ_XLqRr%_s>DaVw_Amm-yf zv*Py&QyxO{>8>m~A}ZJi72qUI(!rCUolO4W7Ll>`r?BmhmK61*5gUnUqs6N*JCbH6 zg_YG6JJZqGQ{Ho%!;a54Txfa^KyUgxd6L)p;{t%XDU*3`6lc>pHN{w1!M zCH*H4pgrmkDmFRp-ONXfV-I-vW)x?5w1OikhLia(t&xLYN_etF=gZb&28-?_R-81> z**{e3?lUgwmR+fk)sW!Pw1jMNbf>4K3N2e~nvmH{3qCr}8+%hpMZ~L}dChIm{3@Mke$fXi9@w__#|K{(pl{@xd}-BzD{241EotZM^V zN+GdMkIrWR?3MU7d5_BoOWGkjKvQ%;43eW6OxX|xNt~VL7WtO-gKjcjX}=+vv@}}# zFTUn=Q5raQ6xw%Wi4asbu~B?|^0pD3XjJI}><$}+WXdw4^iq+V2a<@7-@|&0eko?8 zNiWDHIVL6xnQ7zi{!o?^SvZ^XtM=)x+djg;j?D$mrs~A`0f3lf?{vU(=oL=5U-tsv zJSu+vWard@)Yd+c5b{!g&v|x+fCyBdOD(uJbF#;dM0B*xB!j%VI9%&$tZJj(}J{{H4-Gr+~OpLIN(RUvA%hMp;2w zFz7VrF`%F-ZLhr5!I2$_zs+ntJylCAoA?31Bfti#Ui(fUgkut&b6wA`q#)~EV8kL= z5!&2Wzd)byK1bwqPYjB=?W$fe+VIQx4DX#N$ms_m1a4ne&bglMTh-gM7bWKc%p$ZZ zJ@4iyly&g6hlyr(HaHOTomwY4S#4sgS*(214?(^vVIw=dpEpZoMi=7|n}9?<0k`Wi zQ-Sgf0prQo^-`+x0WrPkSk%+`#;q<7jJZN#V!^Zs-US*R=LOO(gzXF(l$;wawbtH` zI@?+a92#soGoXN_iK-~!y2qX3V!_drSO%;`9`FOFhPSYe;8z{oYG&XhIksmKdA{Xq zl0+r7UL1P2{{V&M$UB=MkiElk-VoK8CX6YtMfU7vG8i$0BR)|1!5Ox0%AA>!RN*7! zZlk$xV?BPFDdA&`LscV>5!O#3KF-FnMY$?$KvX>i}RuSZ11aCVflsxG90(dW~i6Q|u>X)lF z4t6=ilZmk+7icz@+$X>ygX^u8gW{G^42dtq#nKXtpNmWWb2o~Bxm5oO)S$?)WKBru zdME+|Zl+N|g8(6YRXA*m_%C{>Uvu#msT%jg8ZVVAz#F2exE3n;nYCLud%5Q7>=Rt| z8Sm<{fvzPZ!K%X*AHX%TYh}L0SzWe|iAz<#8+~N1bd}@0S3TZM=<%NOt=vzs>Y~Ym zz2j7{zVOSFAG^k-o~HWlr^)!5KI+*9y%dASAcDn01DGP)r}4@C{TT}HQAI@5J#!NP zyX$yngW^44{)91psmtkR4a-*3vxM8pUZw#L!|)rg?5mRQZ})zJ->)Hl&zKr3sJQL& zkYH)x&rX;nUzY#8KHx-)x<=2ky6VfJMYwKcBF80=n2N_Nr(+syJzrbCqaDxEA&>K( zp0p|a=LNk?8>Ub(QrMqtRK3WPm=BcdFj^%@ed8aID9}di&3~_d2v11)uhiWCT>BsQ zOGW+0|2hZvvagG}#(>TGrFsB>c$~29KZe}7S+8j@NjRKSGRAN*e!+7%`+7NGQRfeAUMwDYt8I5Pt9Ma zr1aCqtH?zEYA20^Kw2#~E@e1bvJ!@Xr=wdI9ZzM;1h zLu#g{`J^GoT?l_0hl*Uy%OPxf?5*JBit;84jXK<;m@N$YKHDsmH?Q(t2Md0>KZ{}E z?P{+5>7ZG?t(8?|6@uH=gG+`fiH-PH)J#LMVe^=LxP@6`c|mQI_F#Yc{u|%3 zPFmb_zZ<{n^a#IOQ-PM3t81dY+g85xQ9``I?ECMryX&DBZQTLglx%w|7i<;9(mcJk z=3(6{1F{PHqxl2BMb7IbB|DcGai;UEXHwbRaS{F1BeDSaH+!-)kV-~5faCAnc?l zd$|?-xFelB*f$h#9zvV>6HAZG@WEP6Hka4E-WopnQIOjV1%mNm>H%9!$6Cf_%L*8+ zC(NhoSXn-Y(!uZJ_?ntNj`L}#)i0mFPS0kq8hDovmfK9o{$K;KO1c5YP)Cn}1}f!? zkwu;nDAq!8k43rMEG5A7>*BK|HRX5Oqfcqi2c?VStu96^zPc2$;zvJg_zt;oNDEE1 z2KlanPFsR83SySBM@6%+7Jp^vs6zJ{@Vwm-c1*0t$LWpS8G%kMjm`d6;Qbpzj?Bz*114Cc z>DhaP+mlM12{>7g%?RO#nuIi6+DQAL){8e8LFkzk!@dhu$(CIN#N^H`T6Shx%KLhPut5Rs;%vo8SU}$yrU|U~J8qcc=eg`GpEXZJK-KNtN}A zH&Y@P?u2*2K5!IUK0P~PVMNa~R{k~y2Vef4m0S}1!9V;u?@bCOHCwD(n`;omI zW0h0nLGJkH@q_rIbsd(g4aO=8(?-k;2*LMli&vu`Sh zQSE;Jy$nmZ&alvplzR}gckp3Njq8qgSCP2ehKApL31L~cZkmH`k(_0ZD<8w=w{JVl zjP68k?5g_BV%$c_j4G|%w#ePK@{m4HFR?YxG*|t*iZrw2sII3Sbnx)E(?67z^@Ex! z9i8x;PHiscl;@{Q^Spj`dr_b(+81|x_;7454%x^##E~Wl3p@n>8f`AA?2R!0(S8C( z3tshDS;V%lG75@e_Yls<{1WNLxU}E3kUrv z#gEFei?FnOCB_7|h~eD=UyooK;t<W>J}z1obiR`*)w(^3)=s)Zcp#Cj#@c6(H9JLQ zGw&Kj;{R^NUC5j2v~?e753)$}Tpf&lH!ct^b>w1R^#8jdMt>7ywgB+RE}5HN?wWBi zFgS6W24KD6Nfu@)utOr$7?ZAc$~TI%o;*+Agugi1VH?n6z~Xi{I&Bu^MjL{A z#g6bz7k?+deFeuGyB`(KPONJ2=JF3(@7HHHw)?xuOG*0M*notH>4~k}=_Ie6qiU%@ zsCJgfLOihT_l)eXe<{Z_i5<^W54yx3KvPR#gZ*P7(R~H|2{!ZBgBohAOq>_eU7O^@ zd54-6oEC5{a}Cga*!JE^pasFRt38;&j)_DWf&ZAL(t|!fMN%8g9?w@Bgl^hdnSncT z4MnjNL?a4zg5nda5d&t1IHaHJaMVQ|$CNN(xfM_w!N)nFN7Q6PF&6{ux<9K8qtxIS z-N1v|UC|p6v)I5ZrApW>IyvYli@%-EU}LkLLu$Z5-f>S?dS5w>7w$qP^Mb-gj2!3P zSiU3P5P;vRs=?BW>uFa#Qe`{B{3wLO+p?ne4X=)m{ZuZ-p#e4A^vjH-5xCMuIbq}u zK2KB3hk6zxfIQ&v25Ud+m_jPc2wpA541Pk5l7Fvw3PGC{VD_L9e;iv^s|-_PuTdFaaEPu9o=QIY5+O85y|ul=0A2ZRX&0c2RoUn< zbK5vzKwTpWG{dz)W7oHM3$Kf3OCJhm`%U|+d57lTq^Wb;jh?jQ`8>T!Zi)m`3!X-^ z$ZL^v?wBFB5hWCQl%j8j8M=;N!DGCc*>Sk~oT6`373F!oOKPEy0 zzAWo41Y1?gB^sJDR8-4#*s-je!5llJ_`Z69o`kSB61Rh6C5g8uMAleMXn6`2qOc0$_mG#XOt!D8Vy_WJQV2>$ z{C?8*U<3!_9^gUMA z;_!zByrn%@pT+Z)N9+eB(jcwbx;%oz{y!#>%z8}u#mAWnVY_#Qakd|OYJL{-@K?$! z=#f)PF3i%jGaZZ(&xiASn`!-`pKDqBp@G=pN)X&)!f^5tx5+soX}(~hkg~$$3e)gGU$FxYZ?W@YmNm0Q_VxBVikJV=vC}nxPuGV(s&UHB&{534= zUIKT{y46f=v18(|a`*RJ@QVh{kHiTM=8=3jyuW+T75)PY%{1}tF2gG*--++ZB*(NX z92h&WnyEq$?_N8K$+-F!l#>!`+VX7w7so6g_A2qPjZ+Cw3GO?7aAVo0000t6953UI%|U?SylH|(&@)M_rZdQh=_=&IJ+VOB2q~z zNzEjwY*nRuW?eT_CzVd^B&k?c>6u;;5%GnHh=_=ah=_=ah^UBf#V3Et^SHMj-MzvW z=ELNk$36GnbI&>VoKrm;glQU_g#Otk6yn-##~w~R-*kNe|AtQ6nzVZ6uxoh$%CTp; zCDt~Kf-@~ZhT zN@2@)@mz?I=5z{22b61>?TIraHbKCVYx}sO9LBS7vW=%SI~h6s zdtDN81(q7Nt@fnMch$G<;+C#?eY=H->)yRV)4?0PVGm)kAz^Pem*ILgfKv(a*vRy} ziQfZp-5%SEJ0Kg7ZPUGD;abLE-1lw1gBorXcG4WXNUFD-zLP^ceY@N9X->lfUDIe+ z&1gIAE*+AmXmB5H!R?#($P%26KOq@-!k+22bLeW@?sP2I;uBo6?zZ}4kM()IH%8nI z&-BN+l5f%~FnFXt9@s<2vwd9R(NPesGrr7S&*|G_3uuxy+~$P0iigip_)GdQaulc= zZv(ZFvNq^0m_a8_CfYAY4*psFQaL;?o?4VKYW=CAU;M27Hxaqql zjg7lbev5RnUYtZP#Oo|r!t}n?@vDk+mERb*#~y@cn<8B?`!GzhXo_=dzB8&$Z92a1 z49M@}Z5p<=Ng5|`Ic=+BLLeY!*YUvqY~r`>S!j@KMh3hrwA9Fiqd;J2-J!RmKB8c- z13xVr)zLTv`;L=Alq4uUw=EsZBn`mVAO={&u1}`b4$=j?kkNujiTs6WNOCjfGNWM^ zskcW~mo#~ZKgOutA?JFyiIeQS_0?Jqr~o#tO-yLSk=>^CrAG8Dt=@ic7H_j|63vv5 z3npA_u*5tHvMfy2Y})pSj0(aKg(FF~w9R5SOrsaVl5S`pq>_9Cve=53oh?HzRHp$= zyPl(*+_%gD?H`PRuNGckcx#6(is`;J7&)#+5b0VWVWmcI2~sLH8{r_ zObz@@DMoLQTn!X7!4!#7Be$<(Cr#`-^c2@^+-Oh|vF{8gV1L9W%npc|`1Zhps6zX2 zAjg{6{BqKm2{oA2!`BXFG64cOc?Cn1J2Zf61gVk7X%*)MeiE$HsMx?u`8D?^5FQ|? zsW(rwZ4d70kPg!^ReXbcvnCza8BA1^sFhGUOw>y_4hTCXOdb&$qp{bk2-__%TGn2H zVp01ABA0Z4*;hr(zBT`f>7=~{uvC0*x@f{uYn3%gN4YI!#+SQhz61(!>Glvb(= zeXNYrG9ND^S>#K~s9fR`R**uLsr(5N>DIVuw=8&yeT>3b+fz1LR&HH%aoccmorrBy}X@CT1H) z)Eh=-u1VXz8?tj&W}v^)cTnPMo!i6A6Pr%ANQ0IDJHVUR=t zOxdo&B${@jlWoGmPi4;nQU#mdAnEkmx|}jDPW3jy6wIPBcLdL=q>0grI|+-%5rQi?EoiU+^M4?hzP7$eK)I;w`~9KwX9Wm0(D!F-XA z+9=5%X}y=X1qlu3H7Z#+{}98~WauBagw$7LpiK^f%?6bujd>EU@LIDN{x_P-_*h7J ze3pf&s7cNMgi(WXZ-MX{Zxrrt7GweO?!xUwO9t5RNAoyYiMwJqBBgJ{9u52jIN2I^z7hLTweYzq4w5(vl#gFYkpP3M z^9xs!h-;fdYa$cZ!&Urz)WTXG@@vr0uDpTPHUKTP;dX^#+z-#hb3)Dm+mF^^FT`V` zUa5{Do`dNkpjeos=-)X+Igi~&sRlW{a~dX)riFfhdiWbDYfH-AJWR-3Pzw}NOIRco z?~*$w%d^cQ74MdfSzaxr;yqIC@+3&MF`R<&?aj+uekk|n!E$*FX$>AF70=0orV=cS z-8^!+LOzIQ83s-RY4`AsmgOVX5i-+hNH(=QkCHTN>BGUgJ8+3*xY5Ne3!^cOSF2z> zOOsU|@he8jc|`*r#GBrFXVEj+aV&N&u`2@q))%NQwds2>xipWS^aY zo-a_W7OP{9VW@`$mwKOsCmGHTnW#g1@zlR|S9uM4V zNqj1PNy@qoU^`3n;p7bW;K$zf7$2QuV55h5De=BG@fxm~7uwyf=SwUl*1%JixEG~k zO$uk=$ostOmYzR=;1KG2I44zZw#UmTU8r?&w|?x0!Kz>E4i_=bFQU2@U{@4f9xX?g z`8*9XxXoG;%%UxZqIwZ#cFJLt$_UYsZ zGib}NmOO-md`V@?HJ<3|fJB`?F8f+XlegTWUPW~gVbp0WAC_>%$~ZSk2nVxgpuK1w zfkVI@=Rxix5JA!AAP(sFkT<$lbR{5X)Cs1(j2pGmdhL^s?nvYVSt81U0%7{^s9 zzYD4?P%UjP!vG$-pwL%sXdc>KlX4GHbPT0;WR8kN0;<-GJiypXxAQsVk6_GE-W7O* zfLt?AHJ%r>^z;Nhfb%|42M|&XG{R4VNdn|-GYqWwegM5O<%&3U){q`bu?rlXIGKjr z_W_T(p8|SM?d7nmgbBm$Ooo=FGH$bfWZt7rSkVrE=s||{l#l`TxD5y!xpUOk+m*-Z ze=2rFUAYn@11V!wWNw^nv8kY-UF~{%8`W!gquB34@WK2@Eh2MKI$f@DKs6qeTH<@? z#+7G+TMepbr>#JBFtOj^+@WMwb)#z*bZ)7MRfo#Mq0bUKs@Ks_!4&0{Vkw7w6^*I^ z)F{oU1hMiIXjl~qD9kBBvnq<3;Q}lS8&3u_s+~TyCIxp9k9rn3LC=N{8BS-yWXNwP zx~VVCWSXxTBxrHw`h+qW8IsyGXhhI@NL(H8YWN`mUd}ZpfM1ikLcw1@I03!>(1yNK zG$5+rfRS(7l>s-cEVcq&UG z1~Z`U*qZ(JdI2%HSp*bojp+g&?#2ZqGq+aYw?My%zl>^!x-2QX`y&^z%x>XKJ5|8~ zI3KMbn5k1N@8pVo>;jURyO2bc4d?MP%q+c9O7;>xW|9pS5}YK#W`RaR8Q~M>P|SEc z$Lb<d$|e-*(k^&|KJmTxH_CJ$1Ilt(&keR&yXmSG0L z77~EzecsQvmSJXb7J2KtR5`v}yy7xEPZ_19PXezH-&O*d;psI04Dd?v${b*#n--1z zSBY;gASQd+B|Z7qh*w>L<_Ugwp$-39@f{bC%skHYcbmt>tM!;khgtOl%@g7~s~BcG zIzIos;nm_b=W)z>_f)N2QS5hJ#4`Imh^tE~C{uANUt2&-eug!bGkkX$W|ki>l`+qX z*A)syv}w*1c;69lujeq4Pr_`_pB1-E6ob-aRjM`yhdf*L}>X@qn<#&s3;uwAyX3 zEOWd^mRR7-(>0>u1YcJ+KAvqG?sod&?|N0(T4%Pl}%_qrD|O^5N{6Fo}Wm zzA~xWV|}Oi`Adk}+K#~<<}cnNorzy8lc@(f2gS}W>02(uFH>p;NBFFi@0VF#m0}u4 zwf(QijV=&9%mj172MR*-f_wg|jL=#@2`aPrpp3aM0Z+46bPj$^wGrAOx1RY{KP0iO z5@3eu$D4jQhufvtQ$dL^#n^q2==AphF6|L8f506&(!-xg z@rMjn?e3rDi}jj5Eteq`p2`QG6@R2O>FB1G=xo3li2&FDnN>FU6n3 zo~tqP^OD0deJoF*+E!KiU*PHDIb=bwDvm_@bN^ zI4)lPN=HXRxhybPAyXyFFhj8P^D#LCI;zMJ6oq*C?p``MC)JyFlR==PTlG zi)f+xOdplv%W89ZrTRrFzQU2C^eMV6{=RJP(JF+r0&Mgj%A5mCxU@(8W0_KNhJTU} z=^(Qq7>XBe;=qJ|DfMUaRPJ9dx49zNf!+O^3{;`~B`N-0UU<6tmFD=4_$qv^sdRll zDaC(KXguFO`%5=-)TIIX4@&YnS zL-i|ax@lFXt{uC_&Z$=Lm!WsDBK>>?+i&{R(D>hrkJ0fk{Orp88F|r=Wgb8@hlhi- zkb+~#D{1BADVV;57DV-sDcHTd=E2Oci`DSc+Ys_$Y)o;-XQ-3~?--=0&=SkP?A@ex z477>Lr!~ON_*2R{?*Y+Ai262HPzoL+p%V^A5o_5JYmD|D|hP?4|1Oa};Gi zE&tiio5ewT$=~n1Rb1I%q=hZ)h^sWr@An#koxDSKofjSjXUjO40pdnl(Lw|p{i>8V z{|}+T0RZg%1yo(n(l3fG9D*hg+(~c??k>UI-GaM2gaEQwH`T+84o6ci!VBnvh zUmyqw4v@@Sgbx64cnDbo9X&gIMPma;0~;VQD8L_bu>JtR>^A^F`rqin0}y^uMghF{ z0RUQ20cZdWZ(u*>D~bic2H=3=0`LI%AOrwH01@CLfEWY>0P6YY@qd26UjG5g3<4kl zkop1u;h2?zWO9R8nMfaojJK)?gQ!wysf5D8TJ8v%Jm5P@0-A{_RABcMRU z3l#tY21LrE{zkxn2mlTM0uDq#fBubtL%IXJBmp20Kt#UdZv+C;4FGrmfItEfma)GP zNFcRVK>!F85Lvza8-aR#=IoVge*ibg-w5;{uAzYlI?~?=%qumo-_H<#{2O`m=NT9v z@k8K>$7=fNvlGUl4#F2*4i% z@ErsY00Kw{0b~QU-w(8K5Jd1-i$ek$E;xjcjgGm&znR*10KoJ+zzghuuy|~s1F2-XZ`gA%fGsvhjb=@PWLk z|Dpr5Q}KUz0*(jrI^HWuq*vxZ@ZDc&3K;7c0;T((2nW>8Z*o9QY5zlx>XmOGmDheK zkiV&;f&F5b1pp2QVQdcc_Jk1MOoSivgKmugczH0>iJv7)G0L=g14R1hU0dO9#v`Bzv zLjNilEYMaWKmd^-fG7|^GzcID1P}`Xhywvhf0Ym$E?nr&gV)YKb>1T>{v!h1tBe-%JNcXz72O$;M(%3{ zx~Rw6;70%40RO)wBf|e&M$lg}^1rUPN(Q?4at1aI1~!!V`~s4c_y%@*)cB;l7S47? z#ukS7c1AjO_#cjG;Op4h8ra#A{iney|Chl6y+ixA zg#iGx|Gr-1|4-IykiXXJ|Le>2|E6^7UU~ngF}Ay8Sl-_GdwV3q(wA|3<)HmtdOT!6xSI-w4FN zmS8_X(TBeg$lpsa$U7iH`{{243Wxwse^b-p`x}A&i<*Zv^KL2RJ}W zG>82g!Trm67wG>+@c!r;9Ej8i{*B=Oi#K0@pvK<_!5`j0fymLfzY)SesnRPow4%Qe zqJJeszJTn1)6R!K9Do54@2S6$kAG(Fb(~KRe6( zCjB!GE)cn;`Wqp89S8cCy?K4-`5PhsFVFHyllvQ?_%A>8BGUdFq5LmD^^&*#8=?9` z?Ugsvf72WFAKvhQh)T%c2+iv=KzZu)h)J zKh_Hd>fee4{Wrq$XSNA}h|a&wDeEgW^H)jzTSw9UM%eyH3JOGovHwQc|L}$jq z|0SjX02~s6*T%-u@jr88S^%6VP)?8Mmlr=cK)lDx%ggI$|N9r+e;3jV0Py-tNC3(I zW)egRpauB=`kDs;z(8=pJ^^{42Qa+e`ti>s0C|G=#gpLwj3<#$5OhzFU-_BoD_Mgl` z{#RD{?bVF`Y%ak6@6Ia!V)-?f{12wV|KSvvDt-mTKmSSk;% z=m#i-_|H@k4iXChi3vgi`VW!6Q$=7-4MGYG>f&AhnJT^}He|psEGhEusiOO@rH34d z1X}%js_5~mB;Z2!4M5oX@2TQHRe^7S`HlZf6@OO+d;wi}|DG!TQx)(92>(Z__)k^9 z7htdSpQ+;Ss(>#bA>`jv#eYJbFQBL5-&4ikp$;ANA07TzLijsPA_b;NNMU~?@PD*J z0o2epGg`5Qt0lOnt(?4Cq_BPf3oc4Q#JE%`U{{$Jzx0(8{>JyrZCUG@cV zTKs3K_?j-ijzg64pQ+;OIIqY?&%dXNzY!uJl6n50sp9{yg2ubwLF3EcL4)r9NYDVT z2qOQxLBr$!DM17Ix0p76i%I`~L`-0p+5b9XqWlt5_+N48KdLJJiINH4Y#;F9JXGNl zJ#G`|fYP0L+$GSxe)b1=8U9}lMl_)Rkp7Q&MEh^?=>0GDKL5queDjc*r|Yzkc?$$eR8CZutK6U*Q||7hfX(#n-=^hJR(el==5J3veFNnCtF- z1Iqs4QPA%G1In+T{mU!^;DL)Efamq+e_|;A69(x({~6*xc%=U~^`ZY_Q}i!3|5JTd zm+U@Yq>kV`==dL9F~N?3P733S1$O-U8Q9MG|CCV%(0_*b4@MdPjZutWjEcSH9U`yB zY>Q8UFJWM(qpxG9^PkxU%WFJ_^N3wc^)N%A^lzq&^DsxCeEsaVkDB#=ch2!YvJ3tX zkHAw0;4<9urzFM8^dEV~Ti{<{M)1!q|CL4j&Ip)*njcm8&n%*~^>qW|0|1x(&w|tI zGdMt`==eXgh}VrD2r#nIeg4ma(`yXJeT|dR|CvR+Zbn|?1`+*x!RgmC|38VXn7`aW{Qry_ z2<@-Ax6Y^leO2GRZARtwv;T6b*nhjhf4jl|vTlI&%MB#{&$t2Ij~5qAe`cT?n7Uy3 zGrxZJFF*eN-)`{VZt%aT8$hxK0DS?_TFM3BiQ)nUcrpCd0KC2p0?6b1tHHz#gfh5Z z8(;vy>aPaC3&0HkkODjK-vS$$+`q0~&s@JdycW3tt5Dnko(^D#*AwuO0xm!+u+u9A zI1WAr@R3&bKaJOMTA%-n{D&zZd#}uR)dTMaWc_M@0a|;0HGa_n3;{a;=fI8?uHV<^ zKOOi;+zy{BEu0Kc_5J?2yI{Ml%%L!;b0d^1pSp)zF_fiEmV1UX9`E>;Y z@U;Kw0P@^=`YO>Q@b+P@Uss+GAoX7zcCW+0{%QcJ!UG#0fV{E-uUkNlyuJV%KER=3 zeqDi7OMZ9ov;eP#uN|Yn#srWnpccH|0EzM30Xv#rk(uA({gL-o%Rt_|j$X&n`_%vd zIDtQNuN`PWzB+*)5P(1FuhudASHmmwbz%pBw{!zPGyswL*N%eUME+0(w1WYM0QCQw zTOdW?tpG0$fL90bs{hJP<{xdF|4}~x=TFBg_i(T3R|PhHaQ?oca{cb`G6CLo1iS{n zb})1OvXEcu$a+;_`(F*7x>qd&8(w3;50${%R$e=@fgg^6odLhDK)!W;cK~>RcdWg3 z-~v0QxPD!M?1KJMu-B_G|5E*{8XJKf`>!3>oWCuc68H%C>$Ge9o@JikKhq9q_%rQ5 zf`G@@M^1qqo4^lez-z-RbzlSV^eXRbLmEi%{#9ojpnn>#p7>jfuT$m%Y=yku9QCUK z@X7&R>t8#7_WWwOzXV46M+H8wQne)j9yY4LEhc zwG2os|F=cI68r5h%76Uj6Yyv9^^P}OzqIn}8u+SnU<2^=58_4q=hod<7gqYM#6MaE zEP=eLn4jx)K?VKQ;DG`*c%uJmwC;2LhW^z6K)%v`Z43ZaA@jP%zS7nNHUfbip1-cZ z4*%aBUNOIv1^T=3>W{zd;8olD|F|FVpZR!Q@D^VuXc$Q7E9dVkL2otwQFwl`Qh)p|;vc_D{o{A9146&feS&FjsM>6W{$+=`tX^gNaF~^S z=P-HhghMKI$T_$1ffoQ28vnol`M>2KaK%>e>MvY{$}Kb{N1tem z*CxN{5r2~{I*a|}-o7SnA=d8w;_{`fvB*ua93Fl{Xh4@#RU006r5xwW9I{oG4o;d12w zH&tUXgdF##;2pr}Gskhg0zbWMdySedH8UXrBJ)rV5)Z)Jf=WAJQfyXLek}UDW9deM z;$#{fS0NS93fsF-G`hL2z?>BRIQf0k>8D7w_p1_CKWO7H=p1ZM-3+>n8&ew}LqG!- z)mW)nuM=-zE9m$URo>N)T7$fM%LCj&tm7kTR&J*pmJW2oz+2Bc)y#eX;UP(M?uQ>B zMi+6`42C=E{G$9GnRZ`r z(cox>Ps^1>Y+TY2!U7@SdwEP%uBU3?)z|NRVKxe=!a!D$zWaE6{2}LxC)J|WxnAIa z(hLre(e4vmpd063%kAoIHB!`5`8Bu`Y&-?AM$10M+3?5D3nYN=8H~Ab1+`1)^o)TD z$|%2t;RPilIA|fEQRX7%o%`s{1P-81vg&_)f6*CVTBn}eh4iYOchuVD60?ugYjecL ze&7HLOpEqzJG}(<;J3##b!WO5Ktkz3;K2se@h(s2Qg$-eA~94TUP0T59J$xTpXi3W zGALg~#2@VfRqTB%3knKHnL`HHO^RPAW%&v;FOBIA{*vs}-|MYy|723^$eFP5quLu# zFNFCok)M=;;t6mlyUkvO0^x@FwnfbSz9-Cp0I-{`z&A8)k3-r18%u*xj;)Js^Paav z0rhfl>(*+r$wIePWe=i-eHFIVAGAAu@i8&j)?Jxl1tkEGo|5xHlU87Cj;u21*g(+WAvMkrO!J?e2tJ zdoT%3o8RjV_$uJzSREZv*+l`=Bp^KCXJwy!2nPuMdOnlR#-8VaEysApD*b9`jBI zweQ!;AVP?=PF3<&EfBbcgQx#Bzevy}01zIlh1kU3OEi*<*Z;yGkBL>`w7bc55(H6} zXX)j!oQ_E#091qU^zp&qd^9qWx-Ut*2@M}`y3DYq#$l|TgK{+_?$oUR9k?oqY2R%Z z94oAO&BUq!KrFQj{C};dUQqxLuc$Z1f0kBt;DD>};#a>%w0egRu#zQ!2l?f6Ua&|2 z@J8=^+~4c4Bq%sQl054Vr&b`KUS7P62U-2V16a-C!~8uy z2vAUHConnA--9HBLj#iKKmQ&de-+5we+&8FLjJdq|1IQy3;Ewd{h=<_!ke`cyL+Up5{gxR-3mOS7>QqOq}`xCxs@_oA38FKU^88+)kG$tlvyDBLQ<-L3(NE z-{ZWa-~ogyTiX25JQ|RR|HliPMa;wwWZ1g|1sWp)BhyCzaMWxsDvdfsLWhjZGMbUS zz+j+xzJwCfnaGRh>#GQGk`B;zzC11k5vDYUG->P=H7MJ;tf)V3KR3Nv!}H^|j4^^* z=s-9yyKj37G=E7oS!8f*h;9^vz9Z()@C+`D&K1NGE5r5TM1G6Tx} zaxUF>^7cW43m(+NVTo2`EY(LGI5rD#ep?yI-t+NnUIsYRxy$d+tQ{PAjf@7|*zc}cx$e;f$~45So1CpnrZpKN)#29J?;qHz5u4$#;FfW{_;`BfKxHHJsW z;t=PBFy@Dp_r)r2L@Wt#lle#koZ1(rjBn5aAHx&Yo@VN+39uC~l+j!f5W;;SU zhXnfkuJ)*{sr=-#`=BqI{4_qdi?-$9K?NbuE7X8qv2w(}hxA<~y{KHI%JppohDU!GOOTtzJCj&cFgo6?y2;y zv{-gApb+ZVMwbjIq$tRVKion8d^j^Gw3~Q(2?1q`lYSb<{ruay`{ZUiN0a8ues*j9 z7OUCFY&`jXy;7Wr8YX!UGprB5u}*;#_jM*`5*kDpr0MuwPb=?7pDLNyM64+{6YoX|%z zI*T3n%sRVST3v{V1gO>3CHUpd`Y6!ZD$5~3DZzlF=mg*cp>Kn5W#5{876Our6ig@l z*u?Tr=>iEcNC$8U&Gdojl_G)m)M1nD`Oi&K({(Ws08-mxIb7xsfii;Ea>!?3`R$#@ zQ_X}lkP$1s?s?>Y6*lm-DOKXYyAI0(>DgaD&l#%WHDhS_gaC7_jhov&0{!$8-*ICqC_oy#Ra1K5m0w!;@^+6V`Qel7YD zUhk`yRcf53A@Sb##R(siKa|ukpa48C168l29cL zFQ-Y1U;r7d^X@B^HicvA1_4%{WN(;J1z!uZWZD5&*M8ww8&2DAJI#>+0&@ii$4O_J z6(474`Lv_0C_{nrcM7li|0^WD*|EjX$ zuX=keN5bP-HhO(}(dz)(!jQx?Rq7r4r!@$5nD1}Hr(Ri;gjUvVS}|ixDd4Ym)TLi? zQ2_OlWO$hutUzVLsuS%j*!x#8m>lHbInb}54(m9B%bKp<1 zSZC4T;2>kLqHn+IpFg||RQ!|pw<)kthn)&Kd{xr| zEMV*oyWYL((hgKH$f)>WWV5pA0BJZoE z+3gaa2fmLT)e(^e;Iq*+EJl{u1VSLhCPsT}lEzm}aw-)?tFK^50 zmHoLH<5Oi^isxa~fA*nJKo%9aBzO-o-36T>#$Aq*{g9_;#b(Ns=-oH&+$1T3)}KoC zG6+GL&*c1(m1?Lmt%yvgAfgfQfwIv+MM8%{KE@<5si=%B0%Z=bdQ*Cq?jaG2ABzb- zsh;10e(gh%>Npy31=&jqf8+F#*5El%L1>Vnw7SRP@uN0|Y1_On{mHpfJ}Eq?21%l=Vk&2a@R@5LXKfE6*&0$+R3U@1LT{w;_S=pv$RS0^7YYJ8>k-S_D2 z(NO%EhJJWn4dwe8Z0bB^(~#YH6*!IVJi`PJll z5P<0p+Xr25ZCH*}LbCI0?U{)ADpcqI^|5>U7vb~CoKrHF~m0gmof_E%VWGmhWbrYSIE6z2uG=aL)05o z$Qi$ncUuY^p}(|rTtXXkt1|*7J;j_?LOeix7O_6Nwaip&0M3_>`zSUhcbrfcQXEs> znG*%t&JY;8j~DNkYL6lISX+>Yh#Efe)|9%Ceps2|DO=zNjGDiWU_Rlv5-8Q|u!Rx( z&EmKjbW$B6xHmm{vhn1HH;?0cZT$4(`SYd9<@pD8dYVUE&XKYr=q+gUF+HVx`ET6Zp{SB46>mjE3TTg(- z=wV6FzoV*s`S`x6B5{lT9i0}vkV~y*1jJjbcV(Mi?-5=e=DQl6Kb+Tn$rb#}kDmZk ze`MViX#>@-(<+Hs)o|S+3PEuuN@yo??Y?WPSyg3Ej>}xCFiGy!z3Mr1Pz_QZz^L!7 z{t}G$>oHps1vNdv1r;)#E!)qJih`{%UQbzG%6RBRVpN&D-ed^=S(D#cRW&TDPns=N z>k8q2B7t(f=3^rK(r`DRa+bsJ(>C|w1Vfjn_A zRuJg}yL~L=-V2&yDK7Xsnh~Q@GQ~aZ&>xg}EZ;MH8(frt&233oE$Tz?&I1Q3`8^t} zV@T@;*#yESM`vG)>17`y8;D+~K7+qyfCW{o5dPWgE{2(;hZG`bk!9UK_8S-8mI-Aj za4hBS)`()SBScE_`Xq~A(-e!jFkj@$qYKQ{ z-ff6ee|i&-a`FCchc|-|x8eaXYUC|4mF5@PkZ6G~0#nCY8Qp{ulv_KcFOtj9orKyL zcdnENKM_C!P=I@_EGFkJeC^P#vUi2}qxPV&QoF@|tb!H>Tjkc+k-xKEdK8lJ|Gyol^MHbjgPxzdqsm#Ta`l)n(O~M? zxN9lD`Ti@Ti11R7v*bfFS7mvU2xE$uPujZ%0g$|8&1;cSzT!W<6z25#cFdGn+n}$5CX3m4z;$5tVNdda$ly!H6b{^jFdat4#P& z=jX6$i_!KrHMMAaIpRl35z7^pRUYXY<6b~9bqM1NU6T@|4Ux$lSk}q)ds03hj zF4gNHNc>8}=8bZB)3UOmg(|~^wvA$|dw#>zdw}Hgu_IjUD--qEUJ(&{gryRV&rKe@ zrJgk~Kn|eXm2x~@vtwpZp}}~RsQdA7hyxdw3PDecY&CE|^5aw8g$(&?{#pt=Sk3nx zx*EBu)71;r8kn84foMhqDq;ATuqX_uB|9w;qBW&3MtM(@*QD}m4$>|KkbqBhgDl?f zszL0x;Xa80SMlxA&thi7XCqW)uS&c<;n;kg13M^h6rwos>Omr#1=D=q0!w@_FQ?>3 z+j7|tEy96Wx%V3-A}*@E)KU(LftJ_8S7V+Y3D09+jGt$R>{n#)xT_P+dMv1@%wrRd z!+t=?9!$k4))28GEbBgh1{-F!XpN9aeJGDEh^Tdc+mimNz1JGp%cQ5Od5qh=WF3~KkAxgs86@?$B5SMsW3qzj0X{nP7gb7d8(%gS10S0QWD zK~CqMoW{v?OiDSSgAr%^6$VBvaD5{pQHM1VeEF%4YI$%K<$sY@lvIF6ak|O94J$RgJ!ln?GbBdcMV@7)~3|UEbH@l^#m?9 z;cmpf$RAJiN9X#6sZQZV`G^Cl{CLOw3)eIK2c`oCFJrfrb0T2$2E*StFqpIagQ@$Y zQ(288S8|3hF*|H3%Vn5Oiesp{s>(fftW}z`MH3U7Ea^D|Qa%xA5r^y&Z1{f>d1;4x zaGhpqSwxd7|g!hV#j*n^HO6f9{~})@K$f|CssO(&(&}Tr9%05>_7Kzif)aX z%JVSIxk`(ckQWlhmLwZ@)1h%VrdJYn|s;1tb4>kxJ zbWNMo6bhN4orOmGy-F8N_gQXgCy z?&e`(d3U+jWZ?8N2whj5rtaL>M?I4EthwISCZ~U0t6sO=*i2_?mTHuaa+Jk;JsuKs zKFFSZ-hKZ@reate40d8`9`=5~nf^@{K1uZoKTubjBbK-^BrDW0iSygTC_T;Xw{!Ha z1BS!9R3z|&fyQbs?>wCEJ~`i>d@R4v-nlP^-%p{|Vk=Ekx3VdXzcwyzJ?6JRk8>2= z3SbVkBVV1yS8UNTl%Qf+)5n7!-)>?&?@SWrWFhwRZ2mG<^zxn9lA9XqiFq`vYPXZd z^J(hVhXx^H%%_60aLyH2Ig!F$#F`M1q{(%^u@$r#BWu!qBalpPoma%`ahB_TzJ32D zcMc~_KA57ve8FsS6xW;?=fV&^*2C^a z^8t;&5^GE>v__pvnakZpN1TK)_wn-0L}?mnELt3%ZQ_#7yz>O?=1K|WyQYk-t}G>x z%MUk6+$UjsqH)g|&uvqJbnelPmW$JcEZp^$VP@P&Pa={&nMpKQq)N$CJ9sz9 zQy*R)COw?*m&W6nte=BZ&yPmnBby=iJ{7MxWCLqMhRak@TAV7__SzXOw=K_m-sdzs z*H>m~ifJ#-8Oo`yEk))s3r|JnS5Gu3eOqnYp=PkC62H}|1YD&~N zF3^rB*B?|~8a*~1GK8qLi&`E>(lqf~9_BxfG+R-9#9k!f=dw4UQMu>Mj#gx<`rvq5 zqcy@%ce2vmJNT(?ed~#{iQ93lNKAfPJ0K@upkd1{P7aXX$JSp8)xZS36wY?IfQ{Rh23No@sF9Y|pss zR(AioWmqIV@lKE3`*l66M^au(v}F3GT=&zdfzvT@SZWOXl?I#7;!2@}TbWAA#0Vz@ zxl)5sEyXOT3ad<};w6;z2GMXwXbTG8KO5}JgG~+RB6o9vq<+KxxP)}i;K_Fd zlMHQee`}Acn9ES=;dJJ~mAbU{>L`KO(cLyWnTu>?LQmI1F)*3CA`WM;Bw#&$wq8b} zH+jOc`*FX60*%T%B~|=I>K=eU9o4cd_R_&D9Iz}E*prnKf0=p^Wf@yve^N~H$i2uR zE9C6-F~h#e?jbjLAc}FJz`!%V;bAZ>ZASRA6{S=}s(#*cbqL6o`0mzxLo=f&9sPR6 z!hUl)RATN5S&W~M<4o+!!MzUMP={8Pc`>8(yrR14&505F$lgU)g=?Q9m(u0{J3z$0 zUR$|6my6(!JV(FA@`6Tto6Z-s?d*Qe6%4Anxn*@ulcb1cAr@OvZ;l(ygxVvl(q*eNX9YnE)DYu@)H>s9ch{z;?JxJ9FKp_PNl4sj zWF%X?C16$M9bHEOD;`@P#p(WO_uW0$g$`EI5?QZN~bYqCYJ! z1dq(oEN4F(J^W04w7-%XrbcP1L>Up0vT{kAA7b$MT)p(tI#m9XI#0^`&JejDW>UDmjth1fJ z8fY1H(4=z1#Y923jq`k?PS_=Ies?)-DYjXU?F z0bq14s)eby9w+4_e?_Llge3WfxuL5t;#0s7WU&%i@FDu+C~Q`;0J+ zZdaQJcgq%RVk$;TDanWP^PqXHVJ+JzYQX9GW~sz!dpX_M^8Hydu3NT%L+#;@B2N7i zr)?gNAiWjg<`YYQjh(X=&pEsqAMa3@(~XCldXH$+zI_{KL!X9c&=QKdFT6*4%^q$nclzjPLRC?)-kwCsz-9HC$cF%IKqx%ii7pITfxxfXOn;#5m!_G zy1Y%P$s2)x3Wn5{Nti~kHStW zZs2PcriDkDj*4R{hdYStVuXVLTA)nKeRnx? zcVJ4cKOK)vHh6LEnxpjoYD{9OW=XP37)xJEq-jZpZfV0^wG`WZBNV43ZGN`4L8!j~ z^Qdi9Ru`Q)qlxVx9!u+`1xMDoaicY_=_r|HBr7}6-uWbfnTkxMj<$JhAONH1lFYap ztv4~4|r8@Ha2)viE(HR+Pc6vF4J%SI`U| z5Y1?gj$A$6qb^i?+E=pTIPDyxA@)U_&(a{KF>y&*)agnOf-P23$7yEQZR~-SSpKZi ztl4_G|2_wg249Bv(TsiEaDdL@1-IBJ+V#a@7Wa^NTIRNrdr)ELGU9;yQ~JaT{nN*n z{(c+RB6xTw-GoZyWhH71(w!m7-OG(gOpfQhsdsfRTOFU^t+F>hQ`S0pEqT-XeQJ@+ zYxZb)z8xpHyHLxvZXDOasVX{Mta40iJo`52eoa6I>gAOBs5Z}^X3J&nR+7x#l>1av zaeeAQzb9g^2HezCHOr=IsP6X}8B^VbVn%=5895}o$k|?K3s}I>I$7JZt)^+zB0e!M z2)^rFkqwP)VN3Ob6x$gg56>srsy&VpK_PvBUV-!m_d)!3Yh-g&nDqd!u|>8keg{v(ZBx&X2Oj`o3e=)A4dTS7qZ;3yRsM z<=oAIxe3@q+$js;n8^h!EC+=JC3QRQ@pI=-dt4lPb|vZzg}H;N;Ur)#b(Zu^;?Ldl zqR!ST2?q-d7X3vAwY!_CbdI9U;^@;I_DOpp=5smZ&IW=BkM8Ea2MdHaF(PS_bw z@0^#}p)y=~v`e@VQfa!QxYG(%LpF_EW^sjCMZDFAr7@hJgdT@k*>m^3)&0q*v|voK zbZOY|7GSdrE4!m2+ zwRgKK?88lRY~s zpD;qi_CW(?H;TamzZl|i)bp6DELY>z)Feu5`9ATSXO`xrV(;{my*209zB0wNE6lxt zD6eGT6PH)xp*;KO=tjnq=GQ=>hbGj3TMyO*72Tsk#O&m{yAtDulx;`*#8NP?61F=> z`^<3eU&SUKaLPGN%OZMaszm2eOUCo+nMnVtjm;AR;-uGi)RA^EL5PSZ1T}G8haS%G z&dB;P@96-mn|KBkVfRJm8t$OaH~=dZvng&kPaW1BSa*_AG&s8I+C zjYTUJff^g-wY9Trd2Sj%GIYL*sUXAi)nwzUK?s*|tCRtrbVt1A#78BGwVceQBdjCn zF+_U)`hDqP!IkRwLd}(x;k&CiJ*G)VKl>c<3eeo^2K&twtg#Mw(j;bf0!hM*roOn3 zAKmoSR3>oIc-9v2B4C?`!@GtK1X7)uS9owv=RMUo4=m5S+7dqq4PQ{E7!V@_&{8pVZ?e0KAJ zAO@U?)y*+hI$h~lIP$@8Uia~A%Qk;Kx!r5~MF^Y*{uV=aZj*|sg+f6n4&Vl2rGkve zr59KUy1p^9I$;=_@yX47x(F`>)7^8$vP<^4VhX_RVab`|0 z5$Gp1EqZJgEpbtyzB(uLU=@efsD76NENfGnYh~Y?Yj{T9yM#(3;*1V1{KPAIn1M?^ zGpHM~^N7wuw|cH)?k=-2R65(=EG6P|zaHeWIlct7zDVq=-kOehO!a(;f4nQsyk324 zz9amgf+&=hv>-g3CWAClmV58Viqm%xF(WF_lX!BN#UH#+s(D{>E7!eUkK0%HQ41$r z(0^dcdPYk_ZFi2G^c2sUoM zzS3=42A|v6MyhUek`JSl2wSKIHlR6^$34|!Cy%q-Xuv`5i9O5Guj$2YJvvn;WPUDk zrET2hfu(pWU|R#0>fk`@DOHQ3A&&F$B9C`Y2C=FH%yIAYS2j!o21`YA4ZrFa%j(UW z1K^4NRrOxLE%p}mnnpw;%N^oz3iZpgFJS`xr*A?)41@R>AIM@`!0Q91J$LR z7#w3gZ=wh~)SCNQwBmq+!*^37bsVRpSm&yzxo~BV(qZZTC0yM`Rc8`vuzF#9giUob z)03MJHjUdTO+Pu-m_|aXGA&h(lv#@@Z{md2s81MdQHx6z`$FN(QN;TL%Q?oZo z%W^vX2!j+Fp`nUe;ZQhayPa|09+!jN!isaP8QFcW&p20`yD>vq!)W|aM@GrLU^No_ zVwQw^GNSPg;ADM1BbL$fH2-;KLthvyza_cZen(QNbi{1V!XpgjZs_YiWJnx~_0@bn%dEUIO@^a(l;SoD27uZmV! zI9xsnjZMXEQLHt1aEBc~ni=B4>uTHEnSqa^Cw8{I%FD*4^1Na!u+7~bSW(2b#reD+ z6zkzMBt1jJV%#@yv?4;}GOKrBIlFa?CRW-gf4AW%)MHmSEs=2f^cE9ke}Q0WIiTgL zfZ*D|lX)S`0prQu1z453rYKu#e*8>x^>SFhmikz3Pku5>Fn3MGe8j)@Wt>OA@~TU3 ze06=W@6G`aoAb_rVefs_Lo;*taoE&Y`Om?bqckQ0sZ{q;aZF626W$s(hcfj~HByu+ zcD132yYF}H*$V`%Ri6%uYWd=RbeG~u zWiG71VkzW(AXXOTXRvTGd~B4Il2H2erX+F4gXDSM0E|5~d1=N& z#sA>FuJY;RnKPYvR>LQz%ea7R?(aKUDd;VBn%pxg>Nf!%*08gxZ$7;sgQ>5;Ht!!c zTeIKQL>u;tuwFl%$BrC5P2r!9v!1cmRc#jHP*~n(Jv`ml2i@0QoAnXRx6GujNL9+| z2uIz!aRurL2rt+smhwhU&kbcg(Pua>WG0zcYY4H^9fYNPj?%0fSEB5(9miAA;#f%$ z@!u*NJc_bVcINjVaIWO(ag7niaJE06Sr0~!Uz5q7Ul|PNIzGoZ9(%gF79+Y&x?xil z+A)=%Cs}ziRa`QgFvfVYX>iBMy)KjJWGHHBa1%o44SwiTJSemjw`GSviraG-i;tt| zm550;b3}V~*~;opmSUhltt+}|)!ehLV;rw8n%7%7l1K3uTQI+vt`XhuYswT^pqLN! zz%idNem(^`zLs+vnjMXA{@{< z5Y?h+G?99Ja%U%R%zRM=wk#PJmSVPO%Te%9U~%rK`ejDPQ3~7$@f7hI+j0I|u5rWF z`)ca60F{&Ta$7^#TK5)qBKMR+wl3Fs=TUdzR%JG2LAB@1_aP;gB4*1w$BMj_21X5! z!(hP54LjnD>$&7z^YRMJn(I>767tWp+tSH@os!tnkh{zkb04MkJnR@O^lYl2& zdqfipalE|Zp%2R(Z1cMjNjQNk~p>$E)$AKY=T)|8fZta~P)IGojKWZ@Zj>Mt;E zENk30uZYTD@*bjevfLKLJl!Sg4tnY;{hxsqlB$|I$&m?Rzhl?CvV)_=XD91LDXZ7& z`b^utR$Oe|GeT{NeiFpWob=kgHMx7}i&UvYbA>_@Ve+XA`{MFT`NPxt%?S2)*CZ;p zYp=p6WeM{Nj?=&gy-t|-j(5Ci^(wcEAWC8f&lMksc{fXZs?Ns)d)=!-6&U+`WZa-M z6pDuUFts1YF7yIK#NY>_Ugg$FI^=lTJyz8YR_Wf@EEOC}v6_oD0S4KT3gH@6CF{O^ zo4Y-J*UWq0S~IbjC2On6^rGpc^Uas}wQVfN!!oFL>jvJVaGTmnUdg2Rle>?!M|byH zVMkFr%eE_6$}`Tuy{UVP(gVE{=boPWOSMrP15?9`LW{|QwW}8%PEpr^h^O(2&5mTi zwvx0lR^MAP0N{=I>$?C3QHN~OB)L+r zR4cL{Uz(k2CK+oFW()3UR#d5g^+x@6T3}$2LS3md%{3!)xPes~$V`D?K4!CU#5Loj zjY3nz)L*%&>9CPPAwk0_B4+3O5GB0n^oE-#%QLn&xlsxHuc6f7FKOm?1F5LTjI+;E0; zX<)&{nlkS`*j$m-nNsjSsIF&?Xw9y z*yz9gF_#()mQFI1yG$N)vQ$Bl<4tqPlhYFDe={TVwy93I%1+OBvEHes@n=bf{guX3 zOF{LVMMY(FI455s+RgT5dT~p;$6ar8UJuA9SP_C<`OD{~r7xO5nl%EzdI<4KldF<= zODdzbldX9jCtc!l%cbtP@CVB#!y0qEqwCA_3wp7E4^;YxAd!tMeS0EuJ`q}6ve;KF zfcYaG$t!kKNEsg8(OTvcV2cF?@s(du3pWB*T z58L|KRI863vy%!AHTN)QUCt&$LSt`}k0*j0>OA&yv&HWx$AQKl_(`Z6)j&kmWQT_B zfXn$r%zumfWNE_%+slzzv47f~@%m;l%AMG(kAh<0$jf@E#Az9l&NyFJW7&0ELQGVV z+Rkw=8)BtvrS>xP`%Pbqc@yMKUl|k`tD|bOzyg7k|C+|ns{Z9R`*akVV>IKiC0N7j z=pe~G;~P;a$1$H8`;^Op(lC6kt7(}LKgg+`;!33wt|g?SReUzOwFNBl*Q3DiO6(2K zgteEId<`Vcp^az~+&Jb$IG-dCMepNNxLTIxM5N4iq)y1v;+N!d!umONlx3M0mX*%e zNFAkG$%FoZpu}-_78q?&PdtHNU(F7`A8AkCwCGp`ct^W z``~@+z&1*Mg4}r~LcKkM$Wtokg=9YEit5(AqC^(kfn|nDrtQ&N=BtRwY5pT2)m-~} z$js6?qDb7gPi<3kB2dxeCyk-u1!2rW7hpVKrcL!f^%d$k8Y(B7-(ZV5Gf3g+Ttwj= z(X*j`W{6t08Kv8u8c~M24Rg&}%1hb~2v3I8vpLK?N>*Qdn@UEQGyGBE zMs)66SekK%TI|QIo}?`!=gdP+Sxc?@iBF4Hv3!lhoOcJLI&9a^B2N`rj=Tk&>ed7A zVL6>+6qx4pBrNBYC`=vXT^&HJ3!<*)@z_}gnoTk`tPflPHWmCYwJ{kdAfsaC51|a- zL))4REJNJ2I8&dtE}d<0T(v^%%T8=c%JQL_YiGKT%#YW-An~)jt7}0 zWhWvom>E?kGvJHe8zpUJ&9~?>Nay97#_9oUShaiiVs=~CCL@yglIA(a9S?@{BZFxS zv~rL)LuCUKHas&=^+g4JxYC9T-l}u8g+fe+T(~n__-v;!nqP3|X*N23-niz@Wu8|x zCwpdP^l^Q*n3p3mbyRG4u0rigZ?ZFwvlg7Io{)YzKBzrbA;DdwFm1OftK_XlotgDM zOzk*3ipnsEXDIS_-x63^8m+;fdWI-6P$1!4!=p5f#(_FG)Em2BI&+2kj{9-i-kqZV*ZN@Ccy5huSM=%Q83`oZ!nu(Hop>-@e~@Q2#l$1S^ew9$JS8An}Bfi2U>Iqja7MgIIY+MfJvq zW@ni&VeE<5SCwGQG|KsYf5+%6PvFntq2F%{eRruH&I1GDZ&kg2|EdM>dLI0)-j7jK z7vFm~WI~Ryrl^3h#%Q^Iz;6yIKn|W6!3^D0Ea*#wYHZyhfJ&fnNBvDaJqUa-j`&FH zioGVG;TP*$`mBHGN&@N5!SRiP_$|^p z6%PQ(Ql~oXH+e(|Xn@-+DGCh8pWjM?1n5+YKl(lTDnAG)0FUX7Am9HNh7EV&gRBXd za`REK;lsrHN0NL9z8_W^vPxdTRT ziIQD4tX7D=p;r`oXMX|(`|1TdKway(QD00$MKkSjQmFN`Uk750!3+kNe>@-z^Rc{-;18IBVTBMLLI=)9AXM4U^) zg}Ca$2i@i#NxMwx(fZbEEq=k|c`)s<@8u>9sxcdEg(DTtb+PM#yYZ!8m;U7=$of~@ zr1pIbZ*SgKdkr-8+aX5{`=L_Ki$VHgZ{t}=)6W(@Rm^fj?ze0HmXv{yE6@bhhW)fm zes6be!A~W>A+28{lSmzUtlgopMD9;KZ$cLc3N5yF>KkUE%QzR>3evMhNm)9LAIIgq zM}2&Fd06R)s9Db1E)vt2NhwxBD|uW;Yq`Fz7p3l{1bu`f-zurQ(YrY&WeoHL2Ytgf z<;#cbvA!qOCd~CH6Q6h<7Js^)ZPb6sH@yc-A=c0OQKtev;hQl!b^U$qedej~T7-F6 zdm4jO&3R7`$?EmO3T#kN(CIx^>A=vzrY{nIotyRg-Hztwjtq``d72JXj18WK>)zCh zI`kP=%Dg%k6!%jY7ubpG%EJ%o(fd-#4^hz@;Ya%pK+Qd!tHdRIbN5h|c9u_(xs$d; zStjL>v46{yL#BzSq+$P_l16D2sGX^by7fdcnx@?_O}DdCV@{B`FYw-{uEHu6wP8nX zH!0xXr5+g9o?UUh)GV6cpWijc3Z&w1Hpa3D5%gD6aUala%o}2rqA#KKVpgTdETF~E zl)X(9wUZ9DS`Fw)Jx!f4`D~^3H93mLT~V#aH$lJ)M?P?gj+OKI0$*D`*T%&K8Qbkv z$9xmTUUqB`hFnZk>RnVcRf6?`nGbiKl-W#Iov-l%YSOt8$EFRd(>*dbh@>QU6^s`N zB96#>A6hP^=A1-oHgYot%(BKtxcF*S zs*|vN@d-@{X%jW^qmT70k1|e~r|HGU=h^ubCJScs-}TUNMn^}HqD4Qhbg`>dn|ZS@ zJNnnOhjmMlbdeTFcM6K)?L}J?R{-ryG~YCbS?ZY*I({@isnx%+ris~VtYdKzo05{! z&dAQDz29XkS-&AeQkj&9+>-k=+gPvVpdHV+OZRO~PEO?vSm?#Wi7Qg`*^nhq#aOg| zS{z!5)B5NSsFxiYx3vM9qQcFu;sohoKJ*5~ zdJYcLwvrx?Px81uBHe38B*Br@j1t&UtReSU@0>X7M?B5E{uWWGq%QGkhGy< z_>|0+*{&u)JBd@s?Zi(!SD+fnQ)~+q3zyGTK76bsOR2HJQsAqrk88>%f`kGsW7o_(K+6aiv&BU zUp(Ic9QG%p2MlTtd>ju78tEECyx&gZ;~KLkGF<&Exh0xL;cpcBnvwT#;@Qd_`0n%v zzdvpxd2F~p5%ycEU@Vwtl zP|7;l3xQ0BSL7#V|bqjD|_DNJty!rf4dAUCirXGw|Te_hXIcStz)HB6BOQ7sp|0M9qZ}l5v!g$YR zNLD{3IV_-qD1slU)gKwZQ$*kIotla%V`ZHC_H6;#258cIjAVdApSWCTjP;CU(6K86 zMW0{lu3xZ{dQVjMJdjONG_en+%q~ebi(5 zUEpK^Du|M`&X6D4*pDxpgAbG}*XXijp|`ZLepa_0u~sDo#)@Yj3j_Xs#>qg*}T z+&7|ijbuRQh-V+BQ#$ti=t1BF$6qc+4jP+i^Fc(^zwAVinAuQ|Wdgm$Cbtq?aevg5 zpLc&JjK`kGvTN*wBYZ0)b<*(UUS@EC3a`}g-Q(%*ZPpREbXtHUa$-?s-v|OV9ya*b z5+a(w^M%Z?%)CK(PzPz$hRrcy#O03wi-~~Fh4=mlobyq;WT9Yf)!~`4ThetUP3qmy zmv2C50t@b2(CqO}sK*LR_Ec%u^GXO{wXKr1ZVH>Ww$-!`Vv9Yd0!|c5*wD22`N(_8 z<|5HDLJKjxKSP5T@0y-auT@O23d=;CN(KhtM1Ryr#9^}wLTbN(Iot^2gbB^`$MQT| zW3~_v<+XwHnM93h)=RuZf)2^JRgrf|dCMQ=(H%@+m07-hzRvtO@3G-(@%3n-#<76x zO&jPS)Dry(tx7LkApiII&^$NPbi=otJouD>=TDj_!ZMt@R867|(k|-tt_y^-;lF7M08WRHjaA=DdG%v_kH@;Pa*q`s;Ma)>`a*_ZV*A|N&CCBe2&dSPk%0jZZ9Y(?01&9BPPbcr zyfckD|FMbj@kl(=j4c-LYu$Gth4j>(8R_Mxg9KhO(Kix|HnM@f*n(tU`iIdt@`DI{ zaoCSB*Syq=|NPQk&PBVv=6|vROU-d?xG#tIR4a3dV)!n&L(Cx)4$J0qYT|sPxmc)) zR!bT^bsOhwK!#f{OW-*OF<94Ox~?5xGt1=x-}gqz&aMY)zl)I;9;L0A{4u#?5n_Z= zGyMJ^+;tqHshhKvRDn3XdINrW_X(vp(BOhHQBfc(LGQwCfm1xf7LFq?uzPc|(gLM^ zCc}L#<@RX2a+4bAbgl3DE*1xF>uEl4OMu@P$-Ks%v;s|d-eqEX23FiPo1QeV{Yv6y z$&vfkgChYLz15Und-QVTe}%4W(Q+%DAXG(kocM05Fs^+HoES|6s z_Oj;cRPivcWf~qXy5L>alG@mfW*R4ODLnUK7_)JZ)@XO#NpZAz$M+bGmsD&h<$)HF zrm0Z}kHJ3+vnpL zox9YBg7Ow$De;gOP-yh2D$tvShDW-WB^kS$R(qSg!ET5^IY(4NdUu->+#q%8l4>~iTdBo;bQDo7sMrHy zZRR@LhJ{+rrI+_}Q8DL5YlPfEgu$B!8_TZ88>E3=d)EC31wjb$@t6-JeBVWI2DXQi z*7_+*ROJMHa3|7TS4`s>NSJ7>%0)7BNCc~o0)iCOpGonr`3zCmp#n&DoAUDWjZc^M zlG6mU+2Ce*G1{Ld<)lKO*PanQHo4C(rTDm3JPegm?2?9v!8MRP=(cPYqR{7z)Jn`M zw7AHYtQX$Jt&}#2#0Xabb(S@cCtN}u7`bJQ@-cI)frFit{}3&1=jD@Eg^Dm2Cnvm; zmV1a&cEc^1%lOpZ=3NYdr#c4P+y`cuxhxuE9FciRb7)c5V(#AR5cwGi?$t0MZkNU! z*1-LzUL7cdQ79?yr^|4_nXN~bl;>mAas|nfwo)buPDq-1iwzdtSN%-4tC28GrIK@E zW19UMf)zhF98?{Hrg5w==ghALzeYoPa5+5q9IuUU8W@lN{9ha`^ z$xDMXND^94zJ?pOpEK!y+Y3LCN!v>sjMGm&3@9X`jy#stkv{IbPpY=P%ovB(Ld#ekM_-RY!y6sDiUW{jLac zsLR*@9c`G6S)Z(d;n||1nt5Lzp^#Y=D`G{Iid&e`8zOQ2+dNb?vP+!Dgq`d?LhT>8rJ_f@T2jVFtgr6JjzH)eQ@La zCIc^H9y^A{1S=Dm*ZBiIW~(RcM6l_`VL6k=#It)%4{FP2nSO+01DfDDUy70A>Sq}L z&%CF3$ao>Capu>>HQ1*vl42!D1^?)sUP)eAqyP zCqK6O-Z_HM4^@r#cnby0FHCFvlz&j6!de|r)!bR}eQ^lE2Q!vE_J<)7Q8TYviN)Se zV;J|SWQAAP$Ei1zkspykA&9W(2U0jm25UK#gTQ;(?fD^3Zd{ltAXSk5fdn~P!n0sm zGbM^sq-H_rVSOImpBuq)vigS4P+o20+#2OQ8t=p7VLC%R*ZpqW6JUKQk-T-c?`9xr zG&EJUI5xDZkS-ZLG8OwXRJH~NdQ`j}@sbe3L~JN<^3R2R8_`@c_YWDhMqPo+xLjj{ zz$7nvL>Nvq0t?9vMZGTN!>B(OC_g{{yh(7Xl{Gl73=M+WDp{;x&7X~~DghyYm~19B{=VB;V7_j^uZWFd?X&?{q-e4>t8Sw> z8Ozlj^`O~zcVTRtsKbpz2j*8Or#2EhGcg&%dwRg^qoboE#ddHM(7oV-!r2EdPZK9N zlu4O%o-rR`z_oxr*9u%s^Wty#9A9^d8M+%i!ZOimoHvU@D?#TS!w#(Mq%dRr{s>E; zt43N*ts^|1r(k%8(i^KWP-TyWh5VI~GR9N)79-{Z2a2Akdr_?d$18c}p%g?2o~2Hi zy6=Go$L@3cRq;|nQu4eaFE3^4BOZ_>Z7%+Ef?YlF!!A)6h=ut#A61-LkFg0%5ZTJ? zSYb{QHF?*J{sUpI_SWhnCfX{34u^)wSY}f59MXQo(uR|I|Cag#sL(E8tf0`wb-HY| zU#-8{E$iCdOKmt-*@^#-nn^Md<0_)jO3F+&H#tn1EmA!L8QK*4R@f7JIZrPOjjh8B zJ}~1{WzyAh!%#*Cy}Q^Ds_LsYLEH;G!M9Nm7poUubPS9s1?Nzan?n(?M%nLZda`IA z`Xog?q#MTbGOs`Wpb(i`nrF{@nxR6_xfEGPK@~g;Y%W_4&>BH_13`tev9JnR)3X%oT2SqwZJ& z-|)>!;;@qfNTZWSK)g_c9!}f=Lc%?jMjP5kOfKUvkx)$~%R(6Y>D*Z7kR!kVumEbGBPfU$-?YpNfkHTTi#$$*WMJkGgaUxx15)& z9vU%9e#3p2b5W(?F>kOR>tXSOX+$~qA}2^~%+7ipvV1}2E!5)Rotg9nj^bGAH%_nH zmo4lHWTFQLWTJ!po*w-irF~_eXLxxep{SnO66526%VDUohsUyu{8u!WQfh~Bs@(Z* zVan*O{=4t%gcT9Ty`U&UYUk3D$wbsZ$z_~fb!=2$Ro!&lF;)7^w|Ktb zf}Fm^5l835ne~)@O}j=?>v1ldzbcVSrvyvVVj) zGgpSPKj}GMBH-aD27}7X1g~&e&8fL~iUbL9z(M2=Qqya&E*XvKw@3fz7Npkb;Q1g^F@KQZKW~ zTV`?-Wzpl{=zjaOf|Qe*ARB9(SHe8;RuCzD33EMG&BA9WiMiAV9*X&SFO{>HNb${g zC9-N4Q8wD8&%&xl)d7X@DopyF7$nx0H-XG1t_H6BnWW2m9OQ$l&G0+v$Mpv#Ff;a^ zLP3xKj_Y1M&G!hRcZjfO?%!EXI3qZ?m#X_k5OaK-vgWwP4PbkUE=3d%%Y04av6GGz zlrH<~t#fTdGxP=4x0sWCFw?M~SP43_5UP_b>oKa$7jg;%u{rm?&81%2vE>EZ$%t+} zMMoY*=jgb;tC!9RA^K$+V>tdZkjEduGD+t(zV?qYm7g3pI1A#fy<=XIM%d5KO~tgv zzE$BK#dW=eX(2zElgk`CEe?|96!*4iL;xUiW?vVB0F$lB~@tM3B_$E>B< z2nMREk!sv%(}OYsijv^k$Lg}rVv@?P9g3Gr4zQ)WK?_P)-Mm9I!_P!(-*MPlOPa1# zXX|WpOUO^>O}gOq+4`8M|RGAd6^4;uOvisx3L@Af#pDOD=3q7aolin z_B2KTNae8GZ5!yYGrPQpUrXnD+LJ;9XK7iTnUmt!#^YRT`oiiWYp|-F1(HAA#Yr+J z(idi`#eGf^Le^K~8xqnSMv*xKWbaTY)HumU@zQxD!zrxULR(9?fdG3lAt5Ra9K?0H z3Ky_!Kh?0>criQyTxWI`>ul%Qs*s>6_tF)eC5EG7Ep_?1C$hZLhMsE-N+pt9#$K!s z!#Ygo6@xP--@DV%2+Po6F6}UX_2~y;Y1xDtijs1J#ui58SH8@OO1KpCKHrndO&d^r zi=RBcAEhvKW>bAwML_cEZos&E$y4L9MJl?rMM^Fyb?YX`l-g@%jpuSWD(veOWUr`U zefPf1aOAF@d<15+pOcE0hX6s=J{>Y#xP*{1S_qYaC-|FS;_bq>k=P}s&CZy&aoh+c z#`_2%8OQ5}GBOXccx(bOv7ed^Q=Pl5zqLx}RP{tjd7#^{9@V^Q(jZ!IzWIhGl8E+Z zPfRWsbv7E-b?o>9ZS}{A*QI40&WGjRwT(hp#-st5E-qMXymu$3Cf)%%O82x&6|HxenyDxq#H`eu_!hik~kZeh|`E(e~Y zoUntqTV&vk>X^UNvir_bV+IW$30%3)yKv-|Lw^`9*Z!SzoZJr+YZbXJP1I;AeGAFo zGtdR@w-^GG8JzXi$kK8=#$%!_Ud@k;B2>cq=zGVCm?mRjqn3``O6%N|L2_=4%*&2!b--y%C^7GwOxywQ-`o8Z9p`e^94!-oe)%uW61% zWF213*HaKIL`pVPkmHz`*uI-L8xV440%m^q3EZJabe7q&XGd>n0_(4s+&MjIM1ux+ z*z)}GTyJp+RuwgZXc|umXKSPy@Y{oe=h40pT7iZ@cmYFoR`RnMcb0yalL!Ue5F0=Yux;ld-DD#*6FL ztvIb8h3Am6%wtiK(7;gZH96KzMWhkk9mCxF_)SLD-A6f6Qme~i?Voo67Ha3seBf17 zBHq3?#JYai>n0Ul&P25DyFY%!Z$aDgPf_QRMiAXRZz1@GWCKR_a+?X9$9g3Qnr)IhK z-d*PwG1zDRW$j7n4Z-yRrrYxIlGRp>QZdj&_&sfHZB6&hlEclg%Ijlz>&cE{They( zL!z(SuRqvlnyL9yv767Lysn25_6Mng1T<%_T7-gGQa1!QrWVf2(@bgd z7!J}+kgpIZoMY)QZG{IW<8je$$Ugd5n~gA*u}1m}WGiA1k(F)LX3>TlWduEb!7Sz? za-O4xYq`0(tbuR#dcCcrp%AcVNdUMLRrWW>8dg_RN{$&HV}wFetyYOyouXn(tEmo? z567}~8bziK%zl(-**Q=!8@oz34|T+HVA+%t5|KAA%>$P}HqFqCudcfI*z!80H!8sR z9{afJ%`Z(3Z!D9(D^lF)orNV%t}$sFnU)orSN%54OfS)SJgqC*>T`efhs{iJEPpCi zYx4k8VPKu&S`TF_H!d?zTi{`t_h_ZXGYoL{R)fCAas^~Y(>A4~p8{5`&fllsQv2@B zQ8^(zjz(hV<~z_yZsTAuk>Z#ls-y}+k`kPz^|(w@jUF46Z2oMG=^KOs`QaB#fRUDk z%k63hEyE@rXWszN6M?A3Tv-t^4eou^0Baf-=p>>w2?O$gNE}QtS%^eJHSKo_66zK* z2M;^zD}O&HRX(L!~{)l8EbFuC*6&}Z=tb0`mJ2Z8;YIhi zbN8e4ZWE&0Ds}Vkm!tep>FU&S>@!)nhkXn#svWg9U%|+WL8R(Qr{+2g#*pyE$wG*; z*-NtQ=3;}+&9Gmiz?hhaN)2^jhKn0&m(1k-+nE{!lb7eGq&8ovV#{}}!0hHVgGdMN z?K1?V*mPKGjlA~uqezKTj1MF-sG7p(C>}pszB8}pL^bQHcnwvW7XwdJ!ZJp2CRjo; zz|*piuzya=RF;K$55{(VV$uB1TcAOO>~pxRUifJ_IDmzNW!FGtU=uy1#w1SX4M)Hj;5a&bwqk zqk#qW|byRmUTOZ7Y-<`|k6nFR)QTBc}7 zF?K-~mI3!$ndXso-!6AtwC*A0Ilw!BTWB<;cwro7GNa?P+wp;R+4-u%{*bpn`;}4q9L54#kJ9mHlJGeRd`(#kS+T*R#Nc9(!(Db34i?Ng{!c ziD|2#{BxKp?#^Phcr@BgZ(wlk5$)QHpv>g+9+?NKAo_KRkIlDRGCEC35@O=j?Ia6` z9_z}QnaN#|?d-;*pxDgZyJ$l%1>Wcn*0iHHlq#u0$5wY6+pf1ckISi$)?P5XOz1U^M6% zKP3`FvAlX~9y3!V0(mBs^s$#;CVIZ_c4_MMoX=4b89&u!JHhbY)RZD5hoowc0E-IE+?mJk(Gs9E>N(7fEvP?VQ3_g#tTzwARTGR*o46`JE zDrc1_J!B#|6%QE{u7cTeXIOQQx@*6;&1h8z4=XRvF*z>xF(ql((MZ(lrC|5J^4e@~ zu>o^j5y=m{4w0IoK1OxJ*dXo56Pnmr+%QWbz16;Qv74P$9}&3Erw^{|m(m8d(xpkA z3L|F}N>Dc6)FnOcLuNNxVo&b&c0@ zj`-gi9C0?h-d~3JU>2ZO;yKLM+f#^3ir+f~X+a+ij2b{7NZ%hsPLZ?D;pZy8zx+Xq z0o#95j$u3-{tY48_@M0LfM0Sg-TFClP677gm#Z5+o$qBEp9yIGh1%8tS!QZp^t9#kXhLEnfR_JZf@4X`$os|aZA zS=dOg(%CQpCQTu>=*?H>oj3fj4;>L5Yo$-IL%VLqTwxr~~gM~o*P#mDZT`4o zF2j7@@jYy*KiYfafns4|o@=^9W#(8wei$3q7O77X!P^%RGaNUc|9rmnELONAvR_HH zki&sh4$Rmsi&kxk-O`X(JlnxMtv0UB=qu9Sh3t7SS@q;wUhCjq^xO7>7%i(@QL6MNL?NPkOxBDdUgG zTK=HF5N*t_sHlG%0=X!R(gI4Ybz?Z3?CrSh43(yK`?Kxva8Zh_YhCL8ot=#JT(i5U zmNCPz=SB$gmj-RIoFvU`%A~N$nAW@5bs(N#uvJmrL<6r1eB;N}EaYnVNDO^&m|U@e(WN=`l;RLU~6 zwtlPWcGlI)T`nRSw>QKedNBbwZL#l*BfaBcAr*k;*R}g_p1XXOYB9<#8$dYFj`8}= z+3q_K^|~7$yhnWVolTWF8|)*|J?bRw7>>74RjxP3dl9mGo@jviIMd9^bk%%KE_sWV z#+>ts(hqKAXqg`Zv*g*h3}0Vc!!LwRw{^LmGi++$RjK-9-tf*^Ix~CR(i;h{d>(z~ z#UZ%}%5rV3LlExASr{%`KST2G$Hbslldl$SM?jXB={ZXpj^`&HaNQq6Vh^YrLb`1R z>?w+cGRN(f0vF7vnbjTZ6iSsai>Gax6istuM6*@%CxmYJ}9e{O+y(+)@Z3>FRZ2&S!Be#6$+xN}cA!J;6oh_AUJV?-XYLUa4Ilwh| zJd|=inK21+Dm8?QtL*6(T~|j3L^6%bm*Om49rx?r-qphX93~iXykQLSTc~U%ho0-B zswLNJ%KDN8D-g_~FBM~ERhU%w9X5l^N$_X~i9@f!X(y;ZA>uRZy7wA^9+Qe2-}9 zO7E*X+w_%?*ovD45j3tw59An$f}yUk);Ky#ZWiqkS{?C|38>z521yjmc;3;|cm!v8 z)Tc=>ZX^WJl}bA?=6e9WaSK&qk)Rauk*FiX7pWu|p@dA4yXn+}UK~=6d%V{iyRuQlb2c#@-p!3zs~@M5>m-NM0!TZ` zdQO5J($@hWI42H`Ykf3Z-5sTAb>^&wQKq!E44gKSPaK+&)$Zxo(S2Su5P1P5%~_xB z<}6`5xnlIjONnU__RG(?jud;*9&ffg!%}nH(L*XKLqt_pT3PZK*y$xS$ikqA?1_(R z1SjHXw)|)!>D%WZ-+Hv#PFxZnQJ^h<$+orSsj1rJvb8}Fmy+tZoV>)O{|?EllbV#I zCMQgC8;~TC#C+#Ld3ofx?008d3v+W1#%#4*ZVwwA7Gi4danYM3tx{r#-iJ%cvuwUl z)3)1dl$%QT`R4wh^uc2ow58pBOc2dENdy@&`xXXo(VC-}-y$kmO3X9%67HK%KOad3 zJTM9@AMb`Djhat+*3d$XcG~50(}0FCzpReRB$u)KN9Vc}5Y>lXTz#uD)ffpVX4zw0&qD4L zwnp!jaQC`D^#|;=*-%CuDBM?HPrcA__WeM~Ck@L#tlfqBUNkV!@O@`LEKEV7kQI5S zQncxl?Ke~DgNZDd@(!UC5jC^jJ!TAGC2sr}?h!v@g{HF7JmP9?RVl?^-7>M}V~_lb zP!5qH`Zw>stm!ZYUUS?|wy5UgoFx*eRBYDg>jmUnh3{iFcZb8At_A#DGIq>1uDtBw z2>qKG!JrQD>UPrSM^M~2q&?fDJXWpcG5HKii(F@AFi?Pcn7vr{qDMgeqS9U@vTB@YYx9bB@Vz96!8!SO`QBk>$hx1q0lanYOqh*Ce zCOwJdpCZEE%Euy9vQFyg_pRd2>W-II6DG=Ml7Q{#m-CfFX+$Q9Mm0+fq3_L^)UYA8 zJf3%=y&R5MSe@T>PfkuI{Lr-~+hGZDqn_zUdsAgo$B{I$HJr-gY%{T@q?u6vSWtK= zM%ti|4C*e0EuT4s!-c6=RJiXMX}&uI2yTx#O;f_>D}AgLtu36rfFJ#1C`Y!L2e#9 zEaxaKVYPPioVL=i9@F8^j3$=d50q;zVr*>ACZ8dV24(wT=*#gInr3Zl@l0Gv^LC*PSoM&V8=t__kwFW(+&@K0M5!Fd-ffvp?51NF>FB!$SR*?ced$@^|UFJ3F&7 zGjJp)FhOBN*8AKCmAcvA086N4?ru&_#`n$~u^YA^ohSlgZ`NF2c5nh9NnsGf?VNmdzHG*AwlhFRMx!t8HWRPDogo zec&ZORMw8ma3s~Y!f=GASkqq-+0zCD1s3AOoyZM3geD<0IJk9kG8#>VikiB8E}=qN z<@(86Z2f_nv5w1ZY!3ZHNU)k(UkII8spRn~$Wixs580<11 z)v(d^aoJ<6mD}!AzMr$bi17BC{wcYf01+)Ny^-{< zR_#k*-!7@;k<7JI-tmHuf2n*&lvS)&?eaEixN{;`sspH#)gxl7`$;lO1AI1OE9_o& zgv~b)=;WwBIOsq-w&;RGL)va{S;Qrz+JJ|2!BXO_&J80MicYC)?xF{IW}G|aSLy-X zl?Y)L{bqf8LWbPqLe`SA!(G04~G>|-z9ki6CYdqw=RZEG9yeG zllYpN)_Z)m&LIePe4HNl#cvG~;jwt{Kx$#!Km@E&}Z|LbQ$FiV*jPdtN=ioSGB`1lyAS7M{HL`F( zl}zE7Tc$R;ARdvCkd$x^HE{s;rLn@_meb)9AE`oh1Kvw}cA7^9U?V5iI?S#!|FqY) zt1OfN)tG^=>o-%e6qYPN*zYwh4Pi=>(DU+p<1195h+OAIB?k=|HT+>dYuv555RYCY zK}V2!JwK_k7+T5qa+Mi}E!TXZ+Vn=VW5G%5Hj3NZ(&HjYx=^u6&DrU|@}Szh%y=T_ z`lvC+P!8Swy;!y+M#*Ltp8O@p{-sE8BKfEhqmHgydqc?gk?K%f_IYbr@(=rUW4F~P zLy3E`RO+4RePTZ74uY|T^|vT`^HZ4_Rh|l*7LSy z`xudMx@>X#?Jj9@iy*`9tkvrY-O^xp7zCP)OO`V38@Jwou?d?B6=1jp z?v%eW!_y1)g+PVE2lkfq zQ)C7;R#U_q7YxAFIaB<8@LM;}6c3A4Cm}g*7{~ptEo+Z;9BQ1Kmd%|}&W@noFYC{%R z2$-BY-wF@xdS;#nJiXCUJ#h=FFjp@!%GX?-*i_{G-YV2_z}0#|66Hp$y**hXvy(Rp zOQY(PVw$L9s@hDhEUzo00LSd8D3j-U6Vskha=VVCRq1%L*v9YQoHDY7NncSB1v@Z6 zRQ#o4)Tqj4%B0H9!otGl_;7A$p~j5W9eC6>+&LD*WLZ#iTT*wNI7j2TMbU6@jk>KZZ0gm7)Ko6lvu1ai#siHLHd*qRM2)5Han(3YodN_CUEPA`)SJegqZ5xE z_64k~`phKKvOT9#I}2lD{fE09yd%^=3wFgA%XT~gAA~?+Cvj`OPOuAJw*s8%5gFz= z12qTkz79+Ly-?(yu#R>&SEzX1!KVIQFt2jl&SrVaDsIH})u6|tGq3zK389TH*-QN_ zF$<&}cId&wJ4i~cTSP#Kmrx;SxGB#M%5+s0gdXN6l35upaH5`)y-|OI&F1h69XB*h zr?o?0?z^ZJ4%h2o*TW;nbKvfgj)~3X%gEhMOUl63wr!pI#Iz~2PW5bo)D-WJF(^bF zw~NiaiEPJET$~QW9$(#`7utwu0+du#F*_qE$Pd>?uGS0NL)|oc4iga`s|mf(8Esk} zTWfSE!&OQb1XQtW-l1|!VE?Q?fG;_GhtRw<`PKHJ z8DUEI(`_aK7SW+yu;|=n&d|WbL=tM7HL74?)h3(dgsY|0j{|?Xr;$EzDw?gJ zVyUN25>Kn6tC2r!Mr(V;_cH?nGPd%E59eYabCn*KTPTsd@vz{=)LRFZy! zE8&9n9IP(i?A@Hv`JqUU>-HhW$sOV~8g8EHi1SWc=jMl1I$QN2W;(V4J$Opk17RD1 zWnn5MrlhWvk4)ol{od;81QEll`(m9RZ}b;!F?`J=nNy6q9=P;LJ_+z4VfLLOJE{)TdwTK&X>$$4GOHUFB>y^v_EA^aYDQtuRN=r_=8;w z_pMJWe8;<{KW36Koz&5FLI+MHgqYaD&8@)vXopvKr#IH#8^)ZL-G(Hn0_Db4&B2e+jYmaYYpaC<~ET9){aBqP%c1Gq)_r5!rV1HWVvBv$#!6;36a zRPD=Cya(3RK0#?;w_DVt1iMH$i5t<1w)^7Qv4>e4t+6&YCJgK}qFh}1zn$sbg*KaS z>|2=Paj+2C;M_g;A>O_7b!PE+tgT^uyY3}3;e*Hte$u=KS&C>~n9-GeRRfx->xWRf zoY&F54!UXM+PDfi-te932i&m|hqXa$d6D+q}&yBRdoYOo*G~Pa5SXmrnPhv>`eW1a?xIO?O z3s{xY(Xk$DNMZl<38ccd0+%8LM2>Z76oS<-QqR;Zp;sizZ$3_u&EcM$l*-)Scj*NX zvi{a++7G`**^kQ5(o3S^1SEG4S<@H8=-tN}%-RGHh6S{=Ufvwt&@xoN>6=MjMh!aw zeAVI{BgVu~tF|`M0!7QwVosUT83-ZSA5;OKwJ+M+yuZFhV#ACSiwZydJ}OVyGo_m% zCH+~3&7)oi80Qyop;{;^8!Hc4sUk6c=3@m8>3HzVIhMKDFaj|ZgzF0ROnx4L5SyT!W%_bN9 zs_G3l5l9$-&7Tz`JdK8;jbgRt0@Asb$HSv!jg^b%_vAx8n4#C`ZF% zBR%0|p{5}rsa*G(3?L(EBANQh8`vm~`n=x_)M-aH;cJ|neh^#6PjtDU$T4Ud~XgIHaogNvD2d9#lmqubqyk?026{yB6{ zA8Xu0t)6f4vU(msL5JiyJCmdd{_z`yz(AYQPu1G9On}?w5~%SSyY-b)V!coMNCQC` zv|QobyOM=>L$MT#U*uK|gEWj_9^p7jmQ5KkH7}#(!3|7Xqp%yh{E<Fv6549fN!}(ns&$VHn=7B|`N_2(N)2YwK^V{_YZEMa*Z_sXmf# z;^HQ>l=(MZqJjoc;r9fcaiA0^iyOLjSh2f62ug<|oGQmJu&=PMRzG|nHW@%Y#g1nF zNlnu+z8-nqgjrsZgtCxTQHq7ZWGr#`DIs0Lj8CI>9|28j)jM=sV@CbRy%`6MZMB&F zF{9)rk*9F$3d({!C}Q%ow+xL@#twMyhTJfb#T(onS~T`;4yy_`jrWk%71g2nmJmhL z6DJfAzU`+NwYP6!NqZ27bPKjp7MyA3Zzf}25&LC$4MTH_e=n37wPsYGv6Wo@8X)vAjiwhGH134Ybp^94ta{YKZAT28P`p_*1_$SBFAann`ec>_b0LVT#uGa zhbLuW$TWiA^>12pGmeUcgy&C0*4hy{PE`oE4B*6*qd5HZml>VG47J7L0yyidOMcE+ z*%$Rsgza>&LM^|ni-kWlwD?RXS$=hWWHE#A+Ma2K6sE2Pkf+_jv21K;FjH0H(b`zP z?Dr(mEOVk+ozl-834RHU>QN}Th0!2E9E}^v9=DdJUY_o7%^a%kxgpGV@GKS(J-SIv z9J=o33{JPIyAuWX6&v<(VXh>4{{{Kp!gy3h8r*ka;8U3Y;pbjB%1j$_qWLnmgw%6# z#Qkm@3P3lz%c#hjR0CGoPNriG}&%3B++Jy9>!%qQl?dD8B zdvfcra%Qu%%*Q@}6j*^Tx@=NerMaVG-b$(!Zczzz8HOS(d$YKqfAKu1(Y{ymoKkKQ zab0Lv&6qM-{Svx7-}D6-2&1g_Xc;i6)>z=zYD;?G2RV_n_OVK?2+HQOtb|M4B)(D!A<~0+W-d4ibb78SMn56mUUlr-u-16hW>6 ze!^V7Ef!KTDf{vOUVHKsNmQ=U9`3u=1vw|!AZ#=t4b94_PQk(-Acd6VHp`oFPWo%^ ztwszO2GlNZS`Z}W4fvw2s2Asr_?}O7iW7Fz{Xo*M$Hk;sT~PcSPNv6YbWk`N*<~|6 zs@7iNX_gnGuHujyd0W|no+vxl+@88D<~rsqS*Unn@qWD`-UX+| zz=SVztOYA+KF~lfQb{e&0G;v;!wdseT-tEf_bH?0?Ln2jSY1^%qSPN0yY$06KDkS$WUoc26p zM?HT1g2_&I)-&V_SYn7@jZ>?BByoaA{xDaJqD6&j&D&uKE2gebaHSs6$kRD2R}~aB zmyg7G)BP#m&r>$u9${TryCCEzkPl zdrWvaRI0Q;%URlO#gA}4G*X2jQQFC(^RDrE`mp2RHkWf@Shd(-F|Y*aF?=I?{z2Uz zFK!rB*MZ2!14U3gh8jzPjob1@paqR%|mN47ndKtRRz>G2|2IrHas@_u-# z5wNO#19ik!39>?eE*pF;4&`gsD200^?dtY<-Z5duVTnx^IZ0Y+SBFPWLMiW)csjqf zgUvh1xPdZ3xd2Y}x1d6ZxZfJv2w^fm5$vhZe?4W3z(EYfF%E5`$g#x|&5siJLY)-v z6WNx;YD@gG2ul;naB#&}F-KXYT5OX!mRDDzR>+JwOTJRX#_2rd%ds#tbzlL@-O{X1NJ8AVZPLI)qA8d*=jsbr5o?Za zdy20(Gwv$6nQ;apEO|_tgZQZ;=524P0VrFq4|iU&w;#~ge*=?Sv0jm30+B0efZ8~4e0 zKNVUzY~1s<^r#}H%5)`%cyWu6>lJp)ae zs;D6${mJaCpWSCDt$%YmmC^NaX!ikA&HZF2`TjkA@T1jZo*wjBJJsN0s7q4-ftKsA z#zA_xpuIpj`uY#LtK@#yRN}Y10ddPt8wYxNdT0`1VOodv)NH&bPdRMcO3k4`TNL)t zUpJ};1c~C1Kl?Z;Dxs#XBHKmKu%v-_u`6_*MnT?+ykWJAqxpsdG`OF7J&jsl$t`Jy z4Hh0RvBvB?@b5%K=FU`YB%h1t@EIXl3Xl^JFfu>sr&E~P*qI;g&^><7ua97;f>J6R zPR_;;5LKGEw@En`Syv}}nT#CS;-K?SDJAdap@xClVl?&ecwT&be7sRg4&KSiYIF%r z*THxyW_Q$Zk~v66MO#hTIC*_3v+<#KAHw&h@aA~w^|!X95_PDd-U=gfDY$5)>4!j? zPtIk<=I=a>G7%-ss0SUW84&XO|A?jO5?Sm#+db3_Yu&edkMfkTJE5CF&d~Zf_x0O@ zg(ka;(V@GUIn`IAM}lssel=ILHs`jIM)Vd!ZtI)YO?T7`X`at_Xnfd`@$|9>SM@H+ ziP1joerlZLVpGhoUl5~9b3N`UyUA!;4xOL_fv3eruP^opk2TWg>Oa`GGtjYl+_x{c zGtie}ws|yahpS;%guA>{S%p|}etR}m zjfDOKVLd*Qi+<;F5y|{i**eMLgH-yyE4r3s63jaBVY#N{^_z{ap|lNK~vnogOz3iDdot8JBh8{ni4a#2O(^nxDNYb zH~wpKlo_&z;i2%zlM%d7d8266{cwMs%UIqHU6N{U>Of^eFUeb8oy;w0QO-E5lIgwS zrgGbz;UOi{Db;*s)tbXR#ljAym&XBGMn?GC!M@E=cqa{v{&Nb%@yv~}7>K@fHk`B) z%I~-bb{zF|+^j&gW1KzgO~wFM`hl&+BA@emmkGKQi4RH=1_?Hr*>VPcWA9qXQpnS8 zx8z9%vc!e?ZGh)ss&t%y zKJNB#f0fIX6vb4m_`FcWymfWRBHRy^B3DqDNrwYJb;VJI!?R6oPv&r(*jC23sgy%OQpcuJPnU%lxuH}Vl}$n9 zS|70?Ofit*7B870C#R7F3BcgR->r@&Igk3p+?`e zgefL=_YE{Y2rCf}$m~7tf0j&kQHXOZ+4i{%r(#Rx;quALS4&tDkVsuBMs<6cJ827| zS=;#dwARG5+WNl#g2cXcoHZw!#9L=aVCKT^$#mjOB4ZaujuFo;G%-Lp+eeJ1>9%`( z^wh&`1qP39AHgjji5(4Ut-5%jQKQR%ZE1Bfh9FGKSvmzTOsmc;DfuSzhT>#82cNZ| z2w$~@O{1TPoYb;51`ZP6l(666L8rmlnN6EbFkZOip@*y=P z!IwF#5oG1z`38XI3ej})jcxY;gr#e`;HtD4SdO;Txlpul1`sx3ko^%bl&UpBT|??nnnX86i_pF?!gNOzlNswgy{D3Ms4NZav4wd zM^s{b{3TaVXyYwtX{E2ita2BHb_iXgQ*;L7)pCFzPxJ0HeUThdM9~zD!fpPWchlQ@ z!3PS)m{Cd;O0~2RG?mi0cwdc_zpbU`&!F^$jL)sW!kg^OC z3h&ICD2*ffWZVrl4N0YNQ_Gmc(4n|!jJ9bEF0#Ehzo}>AKY*xKT!awEh1{Ll<5(qu z+X4$bR|GJlx3ZFp=a|8a&zLe=o^U2Nyy<{=oP;E&z2ldmOL3zv?33q$fy!pW=H)f4 z>R$V-y|-(iN^^qJi952v>eYhX=$I;+O`u2n(^e{t>*xuC{u2RFD>N-A1`nX6La|VB zez>oq$2)^m^7BRBp&Myfbaan%^tnx<_w-#-x@Y``l%*;Wn3prRl|EZW#DpZ*&Sp(U z(goMR7IdDXNm=8!q|@;f9=VD5(AVF|=l#r^zMRKzuVNz!+QJTnZ$oY2_t}v9!jw#if}hxg0Iua^&Z zQ9%}|p8F|EzN%)|W3m>rkUZue16CC;JTCGqQWa8^YKXHX)3SWpyLXdA;Ud*bLFZZV zu&^lDZr`&#novQCA5qp*ozP=(U*)IyfjuC$Zwfpd^yFvuzWMb=XW2J^2k6%I!ZIwL z%Xx=a8rt5VW29|6bOFS0(YcRSs??No?69$BmA-koZlnvOpdt~e6F#X^I=}pdU0CS; zbP6IOB3k1LYzD+?MpS!EBShslSi|Auv)GiC+tj4h#KKZv=4B_GRM%(L6V9*M+1c-_ zl4(JM0Yu>%;K|8gt_~;O6s3)Ctf+z8(bH}$OMu16=F)ISeiW{?6MdGK?_345W|`^C zrD)+PMSd#syQ5aX&Allrg)@PG*rp8wp4|S=YQT1^ru$WpFvw$#~qbk6|mi4r(VDlG^V%~d=ONR{f)!*>k7&Ny`&vez%t)xI=CtpbDS z>XBn;$Karf<&=1pqK{A$NR^8OtRpjp$!8uE-1V*Kx9AMukZUgA&(#;ggsFN?RJL%S zMEMO!-;2?5aUsO1yTGX1wP}*Zh%SejyBVxz$7y{HylF;WW@%5b*cyXe=4|IB0_?-z z&^zC65 zVnqOKw%s7@evOnemqSE#)*oAndS0tvBPaoV?^^ zY2$ey8ZSYylHWuINxN(RT0+Q{rct&v*DZqp7l&#cPaN9%y%=@f=60Nx$K8qDR1>+_ zIB(4L;atUW!|>3Ti8k&T`zA{P5waL(vh~oFpaOaF40*~B?H?ssK&E6T+H4uo zF7h->>raG~_Xv<2N-xqVF?;7(Z;T%i?#=wQIOFI+gLym&ylnke2&Ar~dl*Qiu87Gz z8W6Z0!zx)k*R&pvWgd1OFgXisWiyD)z{Vb`gsIW^g8O$=dP&yPsT)q))9i6}wB8W7 zY001GxEZV~c^)B!ZrTvnWreo1Ll|O`i!vN!MW*<6S14Vasyy zZ!yDZ_qQaP^A)Z;?4d|vB}hS`L1dKMZ|)$Vv_-xzeqAu3Vhyc;1_ViXWplLZf@$yd zMi3RhTwJ7iG94`GFY$&12OmPtz}rdEkwP;GiYgy-&dTA$)HIg6YrV(uo#CYj72Qb> zhfJeyx}Psxrq9^hlURPze5@}yER#;#&&vxon`9- zk|2Y>!#~=2%XWZGxH4z3=j{*bJ84U~e*2}(ncZu>ES{xOk8BP*nkpoZg6b)zNVMq0 zDsF6m8dK7&UJx;KoW;KQA+K|eold>PX6;dfv`z-!frOp!n=@lq>NK#Flv+?J$M6kl zxvUr*xU=a3MrC#NOH^Z>xy{KBo5{&L(c#MtQQvH1P^{mU7IkC}v0F&8P?wkv2Mp8M z5S~0Ryoa*iS#lgPTd6i*exI?=gjw}k?5ne=+N-Zp%#<;&R@HQ#urHi4shT!oG97YR z$}ChMzseTM1kbp-V5>ZP0&!WMv=*mG+i10URQL)dDZgw{RdR5|Bhw>+rqtgw*w2l5 z8{KbT-&p^-{hJi?t-_p;jazaKl zchZ!a8#xXuOgkSJVt=9itsX|$wMM!F?nneeT!vgqzc53cIxe`7G+%AqRLnT;O8TQ% z7q3RW<;uB1oCeblDCHU+VAXvrJLiBJhQqR|k&d8K7WO0slyV9yWUFz5Qh_|CAL|60 z%Jagq<%gp*1%-wcl8&&hsORk2a6f3^a6R@3nGX9tL9SrR9=w3TIO08oUkSckYkXnVRk$~Q*>68G131hZem2?_?#6&5>xj=@cyOZ(sd?;$Ju^bCu-vWPV zM<;5Q%mdEI7G1v_`Gq#den+Jo%~pP>+1}{t4uQ?;wjwH@^iz5^u<}is{{Gw<%@YGI zW}q18=aK9}vHm!p-=b)KK2O8uB|x11(eZXv^NNJM*x~7Z!5#-wB|qBngMaL{uUXcB z>rZt$#VE#zOdT~Pea!dwS41!ZuJ^#5a*bamLn<^fBjcDs6!Flr^g;o<)I6?@G`U~7 zCM(Ut=dEbnltiVGCPS%yUFeLq=<@C;!4V(LM%7!CufK-Z1cVnz* z5#s!uqLApjpBVu*vudIg9Glc(sI}4QC4mJy;yT= zqqixGOgeQUu^Qw7tBeEl+k{0)R?Bii#1y%B>bj-!M@HwM(9vn%FS<2vLn_!Hrz=(1 zK1J$zMeH3(iBtjo4|f6<A+R5zK*-8iOhigD(?pJ6?4Gc8kM)|Ep;Q63aD5u@xr4 zOJj`ZGZ`hap9;DkrRO=8$(@B!L+?E-%ow-UY*V0G@4w{w@Mg+qsdtUPCan=w(Gww9v$r!=5pH0>GXcwh<<xSw0%R-Rg?I2;kLBtBff!N|@$>##}P1n2AfwEeTYLU%W+>s@L<|3o7N1; zXtViq+DhLaE;NihOd?F_1v0?G!k+FImX@r=7Mxav&TbHvyo?_Ax>ma* zJ}LW=*=7E+r{uVU3=sHEwnW~UuJ=)@KEElN5a`fuH0T%>~; zL}_xfP2pyAKnFTK8GT2UQ)4I>UvS1Y%&DHAPO*1(KS?hKwJO&1k0OzB@bF#(7xFYB z+WOSR??4wFXMEZ&J0KF;Pjk`7kR?Wa;beQ%1uic|HrBTz??;AfqhUy=WUr*H!u*4VyK{uHn8{{3Wvn$dzg@1&C zkC$uSFs0>&c^wWuRzh7-oZ*KY2Ir|u4sC)96PGuJBrAJ7Z5N-;^{E)m(QJd`31VsU^L<>mzrVt?cp74~PvH2^oF-&qEKiM%+>A32 zI=nt2Z3;TNpOc+BP9v#&9%)(5rXyJzKH|s@O}YybM&sR|tNZi?spf0SYNcDbxX>FAhTEKGFI?S4wfQ@jtdz0gYKH%Azsp@*t! zY>a+6S-Cq-MYe3wD48}nwyNW(Fn_q#YZzfa=}o;Do}fWIHx5|L=lYP3vXQ%4v6+q( zSGFKa+&UYnmob1Uq1gSc_}Y%j5KLI=Y4*n2?0E@TXfz#3W~Kkc`iV;ko1CVhUl?wH zpI>bF^mHy^ZmzFp*~QfEWVs1eBPO6NN%*&} zY{5Lm0&;A3>ym0QL%V4sJEj5yVx~e4k<@`}yN%@0oD;W~hXny@e=Y1Adr5uQW@)1} z$MvM4FTF!X>$~oW`@yQk3Mt%=Pb)2rV*pG*v%f|x6G==%JLh*fZ+M-ZYGujeb|h0d zSgRfyFP2jiljTK%hqok|bx#TCBKR3@VcB7!=8>7k4BLh&=fY`Fv~6_X5fc-093pYs z&wPFTHbek&kIwZW+#n4lPo^dmS{f%C0x;jC4ff0=@}hAM4GZZ29?hFAH_q8A-j?qG zw~uTmvH9jTTTT+y46^nI!^YwV`+0-k{ES%Pg?M)2#ZTQIcE_yUCe1{QeW`wsjo$BZ_4oVOZW0{QQNrdqQ#M)qZ%s6kE1=-gj_+^SyJ< zn>L~S#01Iicyx}9{0xnOi3uuhT}RE8+1{d?znQYZWrr@ZLB+S2jADsQot)%9Zv&BN zF~Ba|Q|&rq!QyggWVir~>eFgN`-~`4n85jBkhxmeJm?-CplLXqT#M6MHY;cuH`)}< zmfgJ|mva`G$ljMQy<$6N)>|ZYK4H?!!F@LlcBPpxI@F3#{z-wgkEUIHX7a~)c&Y9E zd0aF2%Z%kqwIfA|W?@?iP(h?(HD`NlZ4?m8d_g}5(9>Gg-1W)~2ENdQjihhyj5t$p zjzt_T{+y8NOti^--tE}!%hNCoM<0!fF$J9MqDEm^)}QIu$rmUVPK|yX8Q2+)>FMq! zfBL3dfKZ@L%`8x8aQI_$h;;&dNGO;zTth zVgm26=VjIbzl+dp;V0N67h{)SMqNaN3@OUOz@+tCNH$Kl_aK%K>&FXvnR?!Y67vS8 zIs)kg7$ppCz29=;Bqrx_Ddfy4Q3H#G@jM?@)aC0dYgrCWww1=r0`C$Mtd*dx+wOKo z^6ARmQunEvo6t1uj<@2pm{enT>PvceE;w)9ahe+5+*Kiv*MHdl04`1~o53jZ$)$Z) zkaJY$aoF<~(JSeB+qTX=h*fYIe{NQ22ic!*XzuGgYx<~Xp z+wt_6s;jH(Q!P%!!ojspx^gM3YD`w^-GNPFHh0-7I4E(o)z!^dmU3On+E2G=c)E_F zX+CY2ub6rhvWU8~Ve(M~qTWI<$2H|Qm;i5WifL)~zvrog7g&6uOqjrho= z_Hi2}4>mYKuMzRr>U18jXc3Os?x{e+I__*vj|larRZ(K<8B(>V=}wK3&-=k<96O-96KMT@}S_xtx5FG(>8rk(ijE;(B{H$DHbNzgI(I z_yu9{eC!8iUeEGP^AHK1r`z6D&B|+)_@_?}78X`aU4DM?-Q8Vtx7Y)fyi9X~lTPyJ zs&*GzFvupzAuVUGT;h+44iRpKX(3B9r${Sj9RX~F{@wFzG4lB{j&qy6AmI(8t~Q-$ zr_gsET)u<|p0lS#%Q#qUOe{=yBY~mtr7X$m(%D#2&sgmU$Sv=sH@|JV2-FeE#21b& z*?NA4$QAEe2$coEq`CuAqt9Fq^5aQTuVANYS;Pcu>#M*BEiP zUy06I4vyG#^%&4{F@c8bcG|X891=3VJ-@GCI7i9gzGBLlR5xT&Wn*Z(_j&mu<06d9 zr9qiebq@t%&Qd2a+K8VB0V;&a!^Qwj(PhowFF?sXq@XQuAWlRI3d1i9>WTNxOlhHq zTU9E2Ux01x1EVZ1i;1LhN%_IT*gCtA1YsS3NRSiTMZArh7MzSgO;zHRL= z$o^YvZXdULAW6tLdkh5q_l~BDl`J}m1*zVUWohfOqLNVS%Acc=tdyHuxt}peOV|o*s|H}@eNM)pS8QqIMKu6rAz@4Ufte+ z!gWd?fPnqLbw3tXu(d_&QstrnKjrY2?mWHmr#&b&mu$gQfwlKH1^2RD&N*}|3Qg3z znjd;TdTl0I(&r(pCen=&?INJd*L)d+=RQZY`=p;P$RZwe)0K1hexfvjYZ3J2lex2`SqkNEv0SS*;3j{Q*m7ZAZ+{6Y(?%Jwxv;2TcOnbyhIHjt}O@nx%a3nU1H=`-deiJCd1+G53l{F#G(i3yrFv&y~3 zF!X`KdN7$joHQJjJr>R3Bv1Ymkf&g7x;9^dY#Djzq?$2*`w}x#v^#s)6+n+(4ow#& z{EqR~8W%Sh#YM_#H0kcd^Lb})?xsa6rfvV8&D`QRRgE@W6vA7$s=nA`m-9!-Vy$!L zfZDsVeoxU32$zn@s*pjIwa*$MUt1d8BT-kL;AEO^a#RNm>OBOzVkpr*U#6ttTeXim zX7qYk8n19%v$i!~r-wVDe|*D7Vnf(tc^?{yG@A70s{p@=+}*~dS=2OS zkNrF+;bDdM*qVRK`JC4$^;D7XsnIUy&h0jv_;8b>TE(hzO%#&!4hxuNWQbTAIxlZs zn|@CK{SBCNi*cW(Uhw zDazq}st;DYE2ouYTk1fm9v=&*=diyaBQH(MoL|S1C)LcAUCKSbHcl+%q#t#c=0%bD zUOmy3aQ_2X#Pq>k&~dq*;_;PP&1(=Lr2O_h8Cr+iN);y)<*wQ1E?2Q4#wdOLjs9$m z%2hgB;k9y33Bi8R`9>L0Y+A)ze(Xoh%>uB`hB>)0-tEcI!S9=!&G9x<_U3cy@XpdF zl4>l*`}YIuEx>j*pMbuHH?HM*Rd|WVeZy*B47pvTIITG4U1|#pE8p6rHJ?u)>*z56 z9MWBz5>DN~CQ`JE(A>g8#vntNL6YvN>E7H$iiyK)InC$0Uet|;wN3FGiKRz?#2D1Q zL_OBZIgtQP9$JLzB(m&oEeLUKUz^O66+%Y^4J3ImA5<(iG?@Qm_}5X#One(v-U0Kf z$#&@6DU&){d7Zq|YyI@`H>3k`V#8!xQ`quq`aMU*q#9r!QIYN7MS6ICF7_*L+3a^7 z`rbjDgK6PJRWwyCHCM&F?Xd`h9ObDUI%tm(t?Fpj}Za^^%k< zSLO#nnWHP@xgJ)Hd1dS9%F1|!-NkNX9BhXBWCni)#P-=jL&D+|f<41c@j#$NAPXWW zo@LaaK>Uy`+!ut1@L|EWMp;MmTe{0@x=b(9ybXp$EA@j`;oKo2f*+;O7}lYYy-JSJDn z77>>l+DOk97|NNZIEK%nNOoK9`qJbbSu~n#ViXk>jcoP!-SN})t?^L$aSVLu6qGvS zM8CQII891UlvlDogR{^Fi`2kb$(ooZ)kj0leNIL{v6-Ay_=+3-k70wYvr@UHj4p@SaYoy|XrzrEDa$EoxsGYB zp-kLoFc}~i(3L^8?Oh6Z&si3Z7C-O=BTP878%Jx}b?Mz$@H!2Ff~H^Qo$kK%_N9{~ z(0m?+Q3JVFW%u^Mm78RgY;5GXbgxndZ7N_myLZkvvog2J5~sy)oc$3_lh+M@Ha_~< zr^5qdE9av>Y2-i9dcYjxz8Bt<>|7x;y8r%jLaYJmz4pbA1J+tH!ku~qRr%J& zUVA=ajhX|OlAw@8AKA9nU4$MU`_8Zoz!LFPR6ERDs>|Sv(E!yWV8j%-&Bu*CDJ0-3 zS~abF$Fx6>3ri1p-!J-22wmt6^)=JkS4fNGwQ{_S*?Vs&E@C&opA>uT%GFXuv#cDz z1Aj*s)zb}sPUQ_lT1;9-4mJ`M|I1p7*>)Dgt^v{15^cQ^n2~I~m3!2xN-CIL1vF_3 zrIOM9mIuem+neXqnDYBEPxSO9voJrFAEm*vD3Az}8;DP%GQu{(5kAEjU`KIzqA#1oZ zRUf-piv*atk573V8-2gg*ha;cL6&D4;O0CvL0*r)Cz={|b`Oi0><|v*;BpjnRX6Ua z)RS|H=ZF!J%kNA+q>GIDEyNF1j33*n$)vI}vvPq1&8o%QvRo(iV3; zb~qZLTJRwIZ?z%tR?9AFrD;F&8j?y~rW!e6GIcKG~Yl80t^er%<| z;=0ze273Tb#9mgKF<1$6MsRM2caWXSmLZo{N1pDonT?HXK)*F~I@)(us@h%SHK+~< zG};9280E(a=fJ#@IRCDCub+lBkU~W_`bs5xs2mh*4ey!sKktOEv6Q5;Em-H`eD9c8 zW4gcF2Zjz7-!X9%L67fR==Y~kyrb>vqCAstd;q74->lH9AMsDgpxsuKkYCsqB480G zd45L9XvBP4cUf@WYp2cNfxpn{P+3I^W#yB4)8UG~e*kwU=y8u7U81s0wMHBt?Ej)^ zRSU()%slgPpgR+G*J*wA9b)-s=g7zOp0jZSE;umv+l^K15kGiaH5b*`x7{%z?;GCv zrP{1Md`pVBY3xU`CpLf_srBdMcHvvy(hkE=YT9bUj-?yxvxHg~P+EAxwMppg_vO6Tr?X`cM*#$@tO=hq6Ezql5mz zAewe7EBKvG0Bdl#JhY3nmky~k{6&>il$AY4g3!&4T&v5xE4-e}*XQ(%OL}65NVMO8UFP(zMs-r1_dX`FLHNAN%RO@o z>(%^0>5iJt?3)fGs_1=_jD|ho2)rLy`wt$lOVTUCXpGXS1BY zuQdf#R8&4kgoQukOGU`-apsQ1I+@(96G_9-e&$~09Tc*61tiMsx0!oNmrS|8uveGE z!_wG-LAVDvs%~un>k{4I{)wB?*6UkQG=;$jrTtW)SBzKUs@!d zE7~z~tVP|usr=3CH|*l~L6;FJy~cpNkJFr;j&&J-L~!|;BfPG?7V@aA?Y1n}trG>C znsX=7+Yz?eMO*vXG!oI601@>~7pLR#@+ToitiGFP-z~bPtEUwyOV3^Y%_)=3&5OzX z*xzPHV4j*2=iTp&Vs`f_nEO{1rwe0z!3V*$~ zJiYdrz1G$I8J^Z#{V@tToa7d6#z!)IP*Ik;O;5u&=Kkpnl5B`?Niw4eKl0pKAFC{O zK$25ywoj0QSqUTbWEc#Ie#tL<7#nHI$!at-q>VChQv+4gbc{QB=aBa?JKcb~;`hU#)+pg8rwR?C=LpvO zE{ksuDmu&VhUf39y^5n?2QMdVMM<}gTSP`9CMI@!&SS!mU?t)4A;#Jzej;A^ke$*L z%$J{$dB^aJ$N13Jvl26$6q#O!pU{DC>o<1uEi%Ewb_f)uX67VXhKU?BfYO)DhZ4Lk z@4(RP2`3PV4hWx7xA_5x)Pyy-pEvqM6(QD`--d;KbCzr4H~U4yRL;sHNGPzQxVmWx zXKbg&lym4p+NI4eX!pnhGj_+b#TK{ph@!rH*KfQ`QVs@xWk!6WA&$l~;`?)>Ufs|3 z2+!|^-0B#y9-PBZYGY8(?beM^_0!eW)sqIc^z`)PqRrCi?X6SGHI^%iJ!_pw?sp(=B+V?6{8)*=)%rXd6AY3Sh$PKlnp`pPa3tWgBUBE>2P zcr=(!wnbY^{`DFQT;g}^|1udfeUgAT~ z7gIkYu*|L1|1ox5{z`;0Slzi)4!FH$x7-_BvYLG(7RGViOLWqBH=LxgN^sc< zYWTDptBfe-F>TFUqV)`xAbsEReAV&;i`nAyXzEiQzPiYVx5(n%Nsq*;#K2k(0{vN7 zra`-bOAZ4u`l*DScr7vdMNnpDheTt%Ulz?1HjM^yN+pB!om z>I;6hr!gIu__L2vdpk~hgj{_r)-DbPs<$9J!uJ^6)VX2wlGr1+^;l?WopKn&1X{!l z544i2jtA3J^)8Gaf`pQkY|XW|$>HY0Kg`o{QS%yH#6)W8mPVgcut*bR_Jq45+eNI& zkH*LQQLk?kQ-_KrfVJD(x{?UdA~zVC7BUTW2t(F;5xsVa3?CL`Ph@Q^#Tfn#`j5u17#PEN+b<@dmT>B2s6G=E5S7zALw{W=1nA0Bzu#rkw1ENSv{`eMs|N zap}z@Yz~Bygp9Pno!i@7wBBmDd+&ao+CxKGm-scJtuN;3%4BpG^)|rp9yKo1Bbn^h zNXE3kr`l+;`IJz5LFIA*6KFv;|Qk<4E1g>JG zb0JpoU24Fwrc>hXE-feJUHrN@ZPwTt^Z{*7al_N)y!_WJx9}v zi}Nuo^oAd(u*gv*(M}B2ida$iU1kB^M>P)P#}K4|HO(t}X)zLoTb25_@4C5mwhp z<8$rtkm?CS_a7xASAg;cWm=ckR_{ffUb1i&9f)iTu8X#Gj!lrPi7bBL==|6v##WD~ z;~~x-KeY9Gf#`Bmcz4ht zWP7J#uYXX_fw_=eBPBGwB9{=aEcK%`ri0_V->zx?;Xxvqnw6XC6gZs9DRyxID^DG> z5O-UbKIt4E^e!Elw#|!rmAwx_+Nt3z2RG@%xA)?7MQ3~638&yC?eu4c^C`8|O(kCD zVc(K8@rftC80&YUIG#rlR%A?#g>BM6la;2{P?sQee6U56`t;5vbOIt!IW{hf=6$OZ z%o$FbpdvUOzpsbOZJ?8r!L#dmr&H@5WlLy~|Lu4Bb7Oj$$@W@79a+P1n(^wcxs(x> zRJbslXWgem;<*lT$uBu8LdTD2mBICqTPq^E(KNoH5zM=SS;tzY>#+x_F|lzc<3mX` zM(%pW!s2oOTaRMm&|;IcpF4Hbn0%kVGNDk5b$RSL)MA~99}0moeFlTr`s_pWBpdOL zIwa;YD#N-tpOPD&yryO_tHTz0Cc&X8H+QnGyRH;HPK7hBP(=5>3<6co_X0thGB- zd6>bGAwS3AmC{%-aPRTqqRD+i*RvubghcK?BIL%6-GP3AFAqUq(U@2kmq zhp`6^22tG;GfC1;wxZoAZaA`_dsCuL<~Z6t{7NpE(W;h#mXT3H zOw5r~mLlHznLs?c@K7H8+d`LagjB8qWS%^^Z|KG<8pdL;{nF?K$NQ7|l6_J$b8`p^ z3JR>uygFVC(#;sE1_rkA{u^|BCIOs}1n{ZUq5KwYAN~1IkcbI1gj3pTlvzb{rP8u$ zmP1!2r++XybYr5MY8QEf{Qya3cX^Hw-kTlUxa^{NGIpI7K_`K`P$;ZQ<8)u|9NA~y zyiQgjry&;@-olZ=k&xfs+1q`5REkwpqtFXtj0XW>i$r&^%L+q5wz1h!H_w*IeUwBwwJ5?h+}e69L3i*y1sb9QV%^a z?97|wEJyPe6M99IE|TIgOTE^(+An#vV4tLSwzt2$v9*0+AiNJJve-CZD7tNqPR`ky9+1qj4n&zG3A>QkBjm_{#5m_QBg~jParRiABX(i;1>KlCR zkAX={NX_x}6@2esy*X5~oTb{7({40zDz`T(pHIMbRVpSHkarV&t(^>~f&(+k11Ilc zar}Zm^R$Os$S3aejb;H;Yr``xrk8?whxEcmD7V zwXDbky}3C#lTFgtP^pK8O6{|jHXu=mSb{KE4?RGOT3t0sH${R|(FXG&y=A4;z!_fq zfW~3H%eXyOIJF-t^Uf`!TEhe@fB1B{VuYjN@idIX>7!LLCIl}PVSzBObQpFn?!5=2 zU9#%tLzPz^YNaY8H=Jp)OVe`R%)yjN)%DSd+fJO@isy9rR0IfoCl71r1(-Ff0PoK+ z5Cp&7$#|_E()=-Y6ffw)0M05m2;zbZG7x4P1!lA+VkV}=OkNt88y-eA3DtNlX}>p+ zL1(kRaP?_A$xxk1xSPIr3F|#&zYJ0tvz0yMy7LlWk_#GWR&2=~#AtXEanxEFLlQ;k zxzv{SoWeUBSc-ktE|!###rgU9(>{o43m;|{95SpHY?})B$Er7K7eY78*i&n^-YTT1 zTTsA#E!c5hKoMNvlBq%xT%c*Z9A~<#l{K+T^G476PP)yvQ%z_`lyxs{bjXAwF1F!Z~9b zLW~^Z2^H%G95C8mZ-zyWK>}-o>=fw?1r6i8hkPBV`?Lqt#cY{gQLN-c|}yb9P{I z`C@auB3a#rh$c>qW#Y{w;xIi5*j1;Tl!E7BkH?`4il9PV9_HJ%@1X_!->k^bu zp-prqN@Y+Kl4PV2Re7meZ}U%PFhhi%g0!B;Ei2t#+&K%n;`npL5cs{@1<+#}BUX$(L+_^Pq3_lBOb4}x3ja(=SDTynwBE?IFWbG3vY z0gLRMFl;`_65}Slf&Y`VvFJHA&AB=WT%aWSosPf{tZKe05;TfF1^>dP!N!`m3NcU+ zlQ@O%{c`D3VTrOaLnRSK9GpOutoe8lC~6#^x~bKh)~!@|E#hV%4V4JNTK$G;t?_jg zAK~VfAo>H9V(l*P%fyUed1BAAehvhp-Oi4RM)kx3&(K}lMChgI@X7}zJp6tJRi4_S zQ{ReYf+ss525!vbEdlqb)=jvPloD%am%qDN?^J~*cg zK81JPiwP_51I|8OZ`mbL7&QIhCOL5D4#nma+!55l!r9@do}vCwn~@^an>7grheZYk z!Ko|G=x;sw6}IqQb)rOaM=m8CTJU5I9bY>S0m6G&?#oo{%d)(sAl;2DQ~+i$>co-a zAXl?cy>Wamu7;rSLET=KnUl(zU5U}?-ay%V99Yh|Q4lRP4zkQXOMXKXYjJz^ZA7}< zwag`>HyByhH){|Ws;kD*P~%#WSz>GEu<-AnNm>plvRn$YX5FIJ0(eQv;j+=DVP0v|Q zt|YX1V#|oGQ^PQ7T~NhFN*7;6JIelz^l=dirA-Q0?9uO;$WX##2iDkM;tHYK-$AzA zhaV5}&P5|m)Z;CJnWyW6>_LRFG_BU1&c*CubXzotRr&nDV(83kQer0+!rRqxqT7?< zkh7ZSEc!rxRBC9=WJy`B?1UbqXS%BkV@Fs#WwQqd150X%!8vUCEXFvcHI*V~5 zisX771rD2w@8s>5sSUk4#`A`+)psi~(qO@uINwRQO|olq%EiC#S<_KIp}+q*<`cc; zafXKpG@f8stQao}&<1S7_L+^#GI20&zkqg>jz}ReJ2NXYOqbWUcxWMQ5F|&K2a=~@ zqk<&G8RqTg)d1`3ApRV{we|et4&lb_9C~~8;-24(P|lzgrHdO-IettVb|h=S2ABA? z4?+%HB(8;+IEza%E>ku}$2y}`9$d790h0nc&KG`v>qugn_mVa{#xv5H`FZhiWT85( zB05vg89U(CB}|BDVX+cmoF*Mhf!_tWWwi*O=HADUN(1k4Mq-C}HV~*S*oKq<=)+5_efc{A~ZZ8#p_dpnO*T zSRgU+7IT*YyO&rh^BWkNR*~rha>d^JmBJr|(E|+JE!su7z^d_&kgE`j zS4@!Ld)1Y*ffTef#?sxaPqhxaHN zwL0xbENJm3=}?=e_XHDhP^VL zrs17dKRnBUcrKOwFk1|*eOHjqFwb~EdpL*VjgnI-$DW_$+57sqy}2;ApUH4h7Sw4< zB)4Md4>Qv8GY8Q#%6bHoD<{YcfV#Myrn_Z{PJNn{U;4d;65&spBS34wUzCn z93{$ot-dg89To%C0I&{O@>qv62n3Jv;CS4I@BA)HEY^>->Irc=r|i%i2)^Eda+mmT zI6{dv&mEWRKJy~kQLvJ8dN|dti^anX-@c<64!gwe*%PM?)l*ulWf$@{wo=^_<<31Z zMiK<;Kl|+Ce^w8P*@~dXu&!|%N~+;rMOJAHuH%{-xMz*6-kGqvh%cf}rnUGvHUPCl zo0bP`4ZoxkCfW<5cY&=LN+9lcYUlUaW~ov z$sZmZTy$R@+{2QSqpuw;D>W>IFdgXh<8qPCyyV%I_xU6WYDgI*kubNaKb842!L>gy zt{M8H-W2W|8zuwp!Qf+sR7V=kaU>*4 zp^cwB564JSot`56@tXA)aF$HlmV?&CjS)=|-`wNG{=oX8ay5t4U={9q~7k8C0}*oG4aKf81i4|PXI z7Y~!?g^_P`zNL=$pVJi=l}H!PeQ25RX&yXFt~zNKqbLnvTb2d5#p7suVAt z_wRN_T9LM3eU}XV?IJgA>(XVZEm!K?UC(EK>Nz^fiTc4cfYNa@SV3*c_y+|xNxR0X z9q=9|40928F0PFc3A-|7i&`rxDeVn0FQ+>$JNsL#)MqO~woA8>7XD~)OAWl^h#?_{ zCSewrkSaum`C@2j?dIUa5*Z-~=6CDvs&h?|1VbAJ^%c_s5Qg9i%p*cWy=2>w_+J>e7f`)zQHv7iTCpM3tJ6 z#%Zk0o|yJN4!bY-h|1&*oyM{akr^m+6bh-wVuYUaO8GO(4iu@kc%(ExqIvQHjV2MZ zx+8+w`-Eb{hsc_kgd|^{TCPr=7;&f8IWBT zlQF!PHN5c)t!Fw$EcgOOOa^v#v7n%!%Ca(^E!eh_K=)Q9{w`bWavw?IyD|TSd5#Ia`$_W4B0a(uEu(GjggLlC82}o14*fJCkPPmXG(P6Ka;tB5Df@49v{J!lAg?O$bXF)U8NA zdKhK$NnKcW?MzL@aK=^h0>DG)>gC&?(_#2z`afk z8+p79YuRR%lwT<6Mqs>aJ}IH08Np?DFzc{ix)huBi#}ms;%Ai3#d87-bQi-*R*aoC z^0i@dQ&m)-F}?qYAZ#%m((yCK=j?SpXqz6U3~<^`<5Owe_rxyyDN6Gu%6GmP=0~=L zx?bjy$H1K1uuerK=7~!q-3CH!wmmA1chHfn=`&Ww_3B|8XM3ktN>rUom~1l@omTL; ztlV9grrlrWwrsd))>b!jHE0wne5D<{li93REpDIg?jAhf-;W>?4x>)<+>Dr_bV3N~ zmiE70emSH+@VvhpNwc_XRuW}J?zgN`4?g&RwfEOiRW@(@FuK{4v`R}_w3Kvi*nmoR z3DO`a-3?OGBHbX}-3`(uUD5*5-F5CQpwIW5^R9QTv(6u9o%LhMGaqNJx#pVuTr>B~ zV~sNbOBPEG{#%NU4h9T)k!L=lNDg8|ZC#?|v1u!8yieZ}$5r@fDGwo;{et~Fq}w@q z^E?G%3VZ^{-dTz{G}8;B_YP8jcr-JT&v-ecggmd|9q3w%FM{1v4)x9bJ-#E_yen1v zYQ%CjX=D_4a$GGVFc3qvCoyGconH_;Cz#?nYujOLL9p|N&R7sBufqyMqU%*i+0s(h zVPN2dU|9@9c=yc3#>SaWFyC3*ODSG!#C@qO+TnnQn^3A&&cNIu9D$6 z1brZ7sdPSPGd3=la$_PablLNHesKmry_oRSn)mg}vLbybM|AF5_h*dF)zf;i=5;Km z!0eSP5o_JIy<8z<-vnEe9k!6BRWEqC%op3UEEcIhD0EmvUa^2z`V%#HuREUh&(>OZ z*Eye;s6#ZHP}bHZMUu7L`THgKHYBe;A*se>yCaT>yEF8K^pOD zjf+jnrz5i*b-mPTuRoJmvBTOys?NOj3mEnNWe9`p=~l`wme2}1l~sDhEba%Cl5yi) z0Qa#~ZIxqtk91f&51)ISMDbH1M}=zV-@j^RxM~*b=eazqmoh+=V87EuB*k-e(yLvRNwNPUMf4$c&L@e5CUf)JA9K5A7!>VGSamd>^V;@I z7b?8wd%D668eAz9!SwvUUaFrvAB^wPXHR-gVH~c!>Eb66ZgV$p4tYJUk;Wg8(&E_s zbo9sD&Yz*~9%SQD&fy&s>Mn65RD0BWsyID#OdY@1s-en0gxI7Onl>-=$oy#V{F+=Z zvH5o=M{<z-pyt_}^>PoPH5eg4spMUTZ|57iK_O*T&f>>{439FT-S{OVDiae}NCfaz=Fy=A zlBF+IwSTqeMI?Trd^q(>BZo@2Pw7pW-qK)cW zXncGyvV+BC>w?4KzRjIX#?`AoWX$r&B;}p$hr?JlUYl1fJe?m( zJVl57vu#GRgOg`m3LkvWNjDK6%R=p6Gzd?P81L1_sV;fJ8yxy94a_g@1R;sMc~!Oi zjHK#9<16+?xikk$#yF4Qet|1n+3DnmgbPNCPkfRq69WrPJDVS{{1kA6+@UhRg?1vN8%3;-a4gi%W8v;Dz^|<`Gl|kI#5Sm{(M6Mq(m65Np_@ zJ;-S|%dwiz1HO?OOT5tJaJjIn`1tYn8poV_U;~vBF>y_KeY$id=I@iNdFZ5Lv3;}+H%od7Q^?CMj(hXzdavtY7uZGlT}Iz(L2cWM)X4+C38kBeuO>>Tlh#*`vQ{& zmBCxnzUUZ9WAAfI3cKiMr7>v^Zu2DfR-BT7+_SxW6D6z>QHIf8^6Au>&|m&q6|_nP znJ@PW-SNp#8up~FP%d}LE+05wNnLq9Dtn|}Z{ekHp#PrKVE2$|!$&8yoULNm2Wh$V z$J=*r-)2};38kkku^sm4M;98;q>;8=ISxV0&pB{sFIb+N)@*sa@-qiNSI}twEa>!8 z&eLCmY-k2^DbV2vP_`F#H z3|}jidQ(i2*b$(ffeA)Wh%F`DXj^_|Cu>hb=5apCv#@E3Vh${V^P-~(y*x;9>-V$@ zi|v?eES{oiL0Yuep1)N5hL0BWTVh^`T4~sD>ADr`^1k!0r)0?uC;R*v_!>?!>LEqd zwc@}!KQ#O+m5T;N#NeA+`rvoZGsY$##QfPtS&KM_pki7jny%kk?m|Us-$d<$HHK95 zYJt5f!K50TmT-G{kwm8sF!RPYOiR7;l_5^!72pvMi?|MRLHuRv@AySff=ZM(Z%_KD zv4Xg*;Jt{fla({6&;^ml8j!Vq2?@+0FpA@Fx!lhjaZCnWx6oeqB1ai}Mcjnd#*R6k z0yC%RMR#{#+i-u=b3*zJK6ds6sLwp909~U#ss7+W{@907^}Ot42%C2t-fmokmd=##BS$u6 zQ;s?lM{7@{zOKAm)eY|xNyzoCXcWuOkBg2?GccGfaImj@jGrONQYeu$BCFSnrc*iQ zsl}6^(Ic9kdk}?7@|$XtkTs6Q{`gU_RQFI$j@4c>B2C>s=5$nCD$z>+(2-8CN>6Y4 z`oJ@MS*_GJOrHhYg9S(C>_QefOnxEs+Kl@?VU^PR#pg5S2^cgh_lRVu+pIUOKrcu!zOUdBbV zRQubp1XY^EEiw`YlLg>CnlLIGB`wg`CaijISLGA+pmTt7@xDZVscDZ_q4J44^8V+I z$ml{Q$zsgTQeGD{oiDfyME2tLn<0@audU`Dqet>a^6efW(p(&BgkH}${-S&FpxpVD z#tB&6{zNPL`m#Z43v@J+{E9?K$OK1IS*7gJuZ5V8J)135OFO%sHFML%^L)KCq4b!7 zGU)9PVS>??@%KN9PJX{B8yQ-q)|$l*_^MjvGtWmrxh0_0X&=LE{EjAF%VUZGGXPqF ztUzVub20!!K)k>HzOb9wOqpHt^DE-(``&Z`!HgMNgq%S`5KOw_Mm;CDWOiie$koV5 zB)`L3EyfeMW8;9R-Zj2H+V%cllPo`M_EKF3CObYp4W=eL#_ma1D`_SSd*?cLhVczw zBXxN+!f4zK<@pv|_dNVoFT3HT#+6vidHeNvOr37H z0~{`ct*iw3@vU^EacnP*qzLJm5>K{p%>oWagv@(`kWOz>7eWzzj@))89{Lup`k;0s zndWGU8b;Mkv3-5VUyXh*x6GT|Sl@0|;i+l#K_kCz3G5mG2Vz-d!0F%bak>BwsH&@J1|w4n$@t6 zAX{e=bxBbu)K3NO|>Kk>_A3X zOx>Vv6JHmNZ+d#@##YYv&5=~7NA2>Tc>6vQvL&X8=OghbBBHaVyX0DKwVjE+>sngHhS7R*l4G=`t65+G1_EV0vxb)nC5(87>d4I2&7iBfebT zeaGZ=if47p=KUF5!&Ke4BzC_UcS0&Qp^k&IHgAAFB1QQW!w}r@kp%j%J_!UcaiH!p5`a*}NFWCowG9REd2R_@2W4^KX2j~nB%w&;+I zJ>Kw~=cXV%M30-W=K~qk7kJOiYP1$YRN3raRc544df0h*^;d66YnXEJKRLsi z+O9t@5NFz4kp$hQRB({=N!*!2R5WYfvvrSBg(!{n2?X{>`j{1|8viVOcr^d&BzuU@;ME2Gx z3KwXe2tLL{UNA9#q@Mw-^+Gz zcwe(toBB$;xw3T5t8Dl+(b#)r7uf5CH+A8aEFRvAJd!R47RGEbyku|z$Q6Vvr}cO& z9v4uYi=Vn{X1qOiUk^G?Y*|7BUw7~r9bF5_l&%X6J(K9D%-0~GYtXA#B(y!!d{eqQ zzi1$C{;-W9&~x=F*UYNghlZ|;mR>_;RmL?$;^L#7wT2G1J7!P%vF=kTu>bj!u5_MU zGp=)LEdN2f)K>-2ABb$j?YsiC)wJnJsq+F42~8@xxjhG)xuecEh=j1Z>{sfJuZ9*D z7M{w5cgY1U;uMAI}NWzUviRfYtgkxz~G3djiql*29(`RDrOiTh; z{1=6f#7q;Teyq_OEI$q?{rbZ&W~ZbXZZr3NAaQ(xZAWTrd~HT&f=#wEyR)FjY%7!h zwiC?oU{AokQ$)VJeF~!z!=jc-%la!rX zV4BnxH3FC4oYBjD(QIsO?Y;iM>8!flJ~*iG2Sxz87=K5)SM*^=r3bULv{1TK%0M-# z?aV?>L7m`AU;MgBkY1bGfHYy@s{E`SDo@)y%OGoOw5Fle!h%Gpc;RIj^&3*TI261{ z*S<*cr?4ybK?X`~Z(P-CJ;fTt(Ha6mT}Y%BDCSqq9h3(L>|d*`ZsSX(hr7fFg+0e$ z=ymHn80_bHE`G-OuG+%U-Lr)MMIH4Ff{sI%#7Uz-Ep;6Vg<-lg#O$nWM4`IQN{nLj z%!B;>OqFGZGpi-O!wHYa8D5CG=z9q)F^M&xi23}yk3W|`h5F84&(Jaq0p~9cjpmgP zsWFkw04tFk%*}#^79Wgi1<)>qUbzfK{eH=d{Q^5+*LuwJ!>85NgTe%)`N~&-y^rgt z-=zn)XmMnW4gD_ew3AF(WR&pkWmQYI#<(6dtPAHlrY@e_dCPID*o@$yrVG@Sv@_lIR`~$E=L?+ zFKZf8)8KFNdW~rD6Y*EUVqZIv*r}a~rMz2~UadTzC$7MMXJ{COrMCQ3i=rWw`qI1- zeHP7Gl4#`!_&Oi;>&I%8nXUs#;^JHv2Q~>|{|Phi`SS$BhQxpsmcc-OWS-qOzU*ni zi>*$YQG)^4i_HPGN0T{ggFW=(`v`e%l6?tIh47;V`MeP%$itkl7m>C0^2#gy>g>% zV0fM)=3zTdKhLvmj;Np(yRSY$*zKXagA0Vg_ML@WQeU6aJJYzSw|!+Oa(B`>TLn|JKUl%P6_eHFDf)yCFXWekjbSy*b&j6+Zb+mz*v=Ui*s+pAwGRUQS5$JP2kn<;Hxk7C$0P` zSgx}^t3~aJNuiXIRt2xNcU~&q50V47${WeGGB-sj%EkqSdQO?D5xWqp^;l_6)zfcfWvtbfw!Zmlb;LE= z!K=;2Y^w2#y~KNa_QYiE##v8ZG*fVd4lWY#S!^YthnZ*|6w0Twh(8R1QZXV-NUjUL zx_2y$lssAM{Z#cUX^)umQjUfU|J=M?Sah^XOk(V|TJQ{?Vym@8{OiIEXDi2%{M4FV zT^im%zn9>U&gs&COcBkuZ@#i$7&3gN4iBk?yJwG~$vD!=xSaQ5mR=r1Gf6MWR9fAY z2ZKdo>9N<#XRAULdJ)y^i(7p}_d2Y43K9>v4bcxU$Xkb!8eQxj=}AtA6J-tADNmM9 zVM&EPxNmR|t$A5IRu|7#yuiCiGHr16erqqr+KYBIc>>uw8KuoAV}~zII6kvR*(Jwj z7YWLP6!lNb&`ZdkjbkZ!b2klGB55TZ1eC}+VDtqQKZ_d@RaU0L5zSv;PMYax zRT7djWbS?a###pp$ECt#I&7}U_2$|;fj!3D35B(`8!rx}V^XgWqP!@6orZ#ea_LSbaq8@F&n-owoEleno67-)5OV?=$mX->V;cXe$Iv20~@ofghio*6>5Gps=2Ok z+TXsdiCLw=s*l3l1tY%LlYWCn1>V1Kqg}e!fT{C{AfY=&NbM)_cBbVQDhm=L*0%=- zK7bp>T~RI86Y~B7c5}W_86H_3{?sW5Z#no!t3Uo^i$jNWJBL^T)^~I7 zi7(d8`ISM?kRQ##ynC;Qe7|WpE-tic=s!$ZXr@Bn(@H^L-^$2!YS(1q(^R*s|Jtq> zl1=_ID5p6e`ts$_!At(jl7pxGdxnc|9(eTpj5@lh^_Mav&8R-!14ieCMgH-3KM_4r zChKhaQQERT=&i7XP|!-kl(`y)WJ|=Cg|z@ycWBf>{}3jP9Y)5na-@o ze3TYik&HxXbYygoj)cn41{IK2d*BULLwx#khPss$6@M>p5?QS;zi7@{QJzr3ZXb(X z&KECyXYK&KTsTfA_4#A#Fw6a+?$5YGo&_zs1p0c~-vpN|yv(8wSCJ)$pa%U}Z0m>Y z@05I0;2X~6$W};nzVoJ<_)k3WpQlUHk9+1S!g+6t99`a*c%{F?T=F+6=w+P%R+&Ua ze)%X)8>)Av@r4Xce40}ik&P4*lKO?Jvfo4%^}+9f6xhp0hqF!tdE&*__{?oyX%~$H zWH?-Qfr)?a+VebWL|HW7uIYJBbiZ-D-y7m>d@-KtxI67{gu=CR$_SR6BCVJroP@vd z;X7@Kr0iZA=`epJbALF6%E(hj9;>-fQcD@j*GM2|0QXO8Rg@8vdOxPqsru=RcJE# zZm0;7%Rz+6O!b>IZQtdUl@Y#7wu$n`I)u7hLF`o|Og5b221?%vZpOVVypy|T+|K)y zohY@&XK^j&ThleRtCNQxjL^{E?|r_%ujuXP_=k~E_eR67EY_AnH1IAQ5{W0HEV5|kX-SY z74$sk>NPSJ?=!0qyZv|?7k7^j3A=J4{(15~aA3kchopaGrvnGvc6_qlAJ>Lkdu?#6(^fvtVhcBPM_y^qvcvYBN_RlT$t2z!nI(*~q7!L4X$BS@|o-Rpu9RJsE-)fr!?ekIVftEdm4?PbQX*Q!NEXqxS`MufgT0 zUep*k=-8qtl@32`tYddt;Nvn&rqmU6k4m~v2U^@bUj0ab>aYk`5LF@v`zA`7L~(GL z%5l)zL%3;G*{sCv2ejC%ynR!;4N$S<5_0XL_q0Cgwe}0WdUS6`pO_83ng@3IaA#f1 zyTspaM|Kk@ol9u@b*uG4bWrCZ4*?aWUtv47g_))PuPVu3cordxb`LNUc{}>0(T6Gd zPdi82NgY3OKFMD2d3vZemWL!GkCBoj;_{i^sMqui_L$|dS6LG7@LI1v@80EPSz7GU zcJ0pQtj9MQ6?p+`bX=mxhEZ-FWcjipJU&%P)mpY0drZblembgdM8}YzR698?BBwbs zJ(dB@s24BVf-Q}Ie@_cHBjPIOFg!($r!z~vFu%&R(-WqYlq509`M?`bN=iWzUqKxg zPP+Izsdo;UgSp4drV6tdt+KP9v2qa0$w`x&B%#)z(_FLA0fQt%htzoSSIDAPU?MiB z@(i)eFV1(rJheQrPCTyATOrS>QM#V>`+g$-Y~iK$3rS}DBijhRK$Y~p7@_e8fh0df zm@|1kFN%7iw(^e|y2kG~;bA>~LW)&0SfCkyM!gu=BUAM)zU1QLPRV!QA(U>^cZM7R zvA-s};@Y}_1A4QsdrucX?o$j!U8IO0GY84qk4NOZsoSE z5veT8m$gs1zn>kfMSZ~_nVVc-n&ueu?xR}xK9W=E6f>6+#Sj|D)gxlU8%X^Tc42>^ zD`6#lQI{=EhoI(1=vFXV3%PbFGS+bt2;Q~Qfh&E}p3{ODYxhJvh-^(J3~RX|gh@KL zUX9)-!Ek(U>ZLSQniDlyhai|9RjP^j$vZsMs0;HZ_;kMpIZqj!Y(zqCXR-n54}tv0 z)yjOU-l_{bKh@%(EXq^Vfs$w$QeR9Yz=rPZp!n|yzkH)-oPn=yUH2xZYG zrc~dUD$eSFw(s`vN=B%64mnbxzB=3tQtkiJ%|-pRoTJ#BaiD}+Nsfy|ANF+T3-Vju zwbPLnHmkv|C$#pOjN;X!r|Vif1_U(^+gx}twR!{&8@WYfTYU$f`ocT-ToS6lxB49y z1~BVkqI%!MMdg1-ms~IU{a1=n{;tBeI{6FjMsiM)5=7+~E!jP5jJFQ`pI4eVG$)wez`v92@if?nw#tyC!m5R1&@Sa%PQUV<~+@NUx-@@saXM z+fm!KSz7!gy}jwtcqe~PB2h}Tf38S=DNY_&jSZUE*cXr}93A+iKqiOG9I5M>!J~l1iKR(*#+E`z^N`8WGDlm3#x%TfQsoa_ zEqL$9`}_y#mBqXMo%D-uT3QcM;dG)p6?kMHA$Il)!57+K(bAV=Ad{4#v!c9sB1&XT zWE9NsMlncifGlO=5frw(bv=Da+)YY`wer1-Sbu2Icr5wX{J2buyX42NmUMxNWO!my zFJD?Ll(Ey8W(tBKh}zE%-@sb&mBMPDW=J&ZD_o}x+t%IU#)*D z$F4nS`xaY|6&#rGvh~gCuE0Uhi5|yAboyYAZuvkR$$(ulWSz4|lU zIKjKvJ%Uz52E#-6)8ghgtDk7Os1wx*CQBE>W&3mWB$GYXH0AOMjNN~}%Rf$ei9Xq$ z(JG%q&+(#P{d-ZnDm+m83Hf@Kz;Su{wh)FOo;QMf(#&aAiMeKU)imX&6-^~g0|i1M zr}_;TBt*oqq=^_LnM`S$ykThXmi1RMWwXqRtki#_XS`=8>ZKQV`0<*I+aW+S?JGi# zH|dJhy9V?4i-^-~LY4zc$+#r#qVZ5XI5i*3#kRol4@QL({+JgAt?h%Z!1g= zQ^WNV`&U*ER)?mwoTJNCa|U~f*il%-v8)d2kLwDIlel8_2~CZS15IXXJDc2Vn5Ezi z*cQ++Yu$@~Ph*wdv#WhXi8J=$kd2{i5Uc|t8Lc%*#%3er()^}v5l1}uwMEnIDSD*& zA!@H#C9~w90ddeP0@}y(7IF00-apJvp0#(E8rk(q69h~Rcv|Rk$?+_L8S>lPR{^H= z;e4S6oa6Xd`!Eh3w3V&EKMNY>9sE6o6J-)y(~^%&2hY}$sB&=fV@Fa_QgpPdzuJ&( z3Q2Sg?w(#nE;(uf~VEYLg%>UUj<_n$`X zV?a={Bz6+|DT3t+l%5LX7oXOFUGIxrcGJIXL5kP^(y8#%7b; z-Un=&m;rsK+R`8HsqGi3a5A5)uFNOQ9#x{lqc-=%1LtW6)1Amf*W~Cm_F;kdGQ#(Y zX7!g60?oBum|d$imL-B0%@jGrO*b$_;L|Obn~++Zt+Ggs;8}aXeM>g3yMZP}+Y-#b zLy1;6P}w-l4Uyr3U+RC2l;9;Sb9!^?GhZ_r~Sp;J-qPjXf1AC-VPg%VA-7QrZe?QUC^mzP)C z)AnGpsD$Bqg3Qg$yq_x#JBbNS+jYlyX4`Tz`)f3O^Dx7?p`mjTi$*8N}hfwDzqJarVB?kN@EO z%wc}YOJ(-9<@@RBD0{s<@wUR_NU^;4r?OcidzUln9pdkWrjv;>XD>Hr?Vaom4UJ5+ zv{IOvWDeEXHK)T+z4Xl;97c9)mut4`9e;HUq}bAU*Wm>4qgNzG4wu^M5HJVX9~dPi zGKW%Yh3Oj@jPQ{XJe$EsB2J$$Vl%YY^I~IT&zyK~W$xGd5Z52^6E`cXu)n{*)i7_i zgTnals`7dftrZKg&d^IX??}Bl7Ll=L4#J`7R}flWOc}B-85%9$7u4;}H%}SS<@EUp zV}U&%VxS1T*xBS5|AtUts%a+DTH3aY?NQfAP6_tQm#qE!+PLyG;Ym&J4Gps{<|ayr zE{#kYXy!5xlD=GvJBVD;@FDT%w2gU72Hf+V6V>~KhldwHNk%?j_F?RI9{X(SG5x#L zvO{aVT;=w6^shMkP5{qrYXZ!g1-o}Pej4fXYswvpQukFtdXds7&^^ zdG&1g6FBerCo7UE%`Hxovr7_l1I)dUG=DSFefoeIL`N#aOZp(M_BU_c*&6M^g@#LX zzDA8muc8>n^t_z4gM;d&XgF$km!96ZW+tRWF-OMQF?MUFD#bx(AB~oUoB!2*i6sl~ z%ankz!NG^d#>O@(lLYTn`m0f_r9|o|Y2R^eo7-uyNaxGP4D9XonUhh=9t=&1K4uO3 zom`$dmaiUbWx@FYZR^~{VXO@LVm;D`;b5!cF`vnAA6dB2y@@fXe`1i!ZZ>Qra zh(H3J_fhdTot$>9MXlFc?n77v{f>^ub+)Un=ZCJ6v2WiFXO9_TTE2M|WaTJoSlrBk z>xZa!LP0^vXz%qh;-00F?bggHeR<=TCk}?RIkbk)@&ep@(|^i~Xy?B`Q7SloQ@O~2 zhVirI)sYYXUdWW|;l=)nYJK9AGm9yMX~Rg@5^eZaoU7@^d+!Z8h)6NMe=E6Y6xHa& z99`+9-N$zj?7qw%flZ%2aUKb-NiTze#PZ}JtiFYX2Px*w)Kd*d{MQVn#kIMZFL@mn zJRhaE{Fr{1pq&iC4h{9g_eLzT)7H^ZA7~pqc*^MHIKE$jui_n_p14=3G~wO3{!TAY z%(Tk`B|U?mnP21jD%j;fFlXZXn$I}(gW2PKpz_%5QVAQ5k{ThJ4Y{dVA)*X8nkIpL#jdDE)QcY%AA56VP8$kWcGH@?(Z zXZrl{;yG=#Z}o~oa|1L z>k{DfCS&gM9yejlTwah}?-HUrr0QiV6s+u9TH;L)OefAA%bpq!w#_H)F4i#{o)WcB z8Intm*<{%k+PP%Q<`eh`%sQ+~I4mtij+hbSy&T76*ftyAU1iqMF`b~z;iR%o^H|S* zhjXM9y=9~=%0=QGJWYZT;2Biwrn>SjJy3^XP<2x=BXVQt%^7)o?LKwaNN&dGYQl9& zji5yl{(al)E!+CDk%D*5^HZ}fnKK{p-gbAt+H2J=lFgzc;dD3{#SZ4bIy-GAeY>Z| z&OEy?qQ@(nko+hU_Uyp6;b^3RtGcL2g(|$e=oNjbYM$Efb1&Gx4#2*4Bv+^si4cHY zUu{lJ)Q=eG*YxR~a=K$@1qKOs+`-G!E#bb((pooxHYhOeP9wm{86KD7D*TKhJh~W9 zTQj5^U8VY+e>zU~+t$6+HxUw(x_pbeY?6aU3~%%`7OT?|tlHloXmvml@37zS)ReX= zqvt?3AvJL^^k=Z^#bRXrwa)DInIrzJuoUWk{M(X}60r=)#CjDvJa+iv%1ajCCcf_& zBakI^_Os}Q{g(yT8V&p0Qn>|r5|u$i&8So^g$NdwIy!^BOU)UijvHME2c?If{9MpN z?M27DMTjvUak98Ly&)okuM_x{Owwt)FyC^|?Ne6paima89sg?P8Kbssw9abG_j(p+UHC8}pu z=XYUq`OP~oVE5re4%tKJ#mQgoNbTN5uz%(t*KXoRl~P>qgp%|J?M_b_NZu)J(JpcF zx-izunagF&GUV1SUh}Kpv#F?kVFoG~7uZ>uix3Nc)sU>+yY=&_>o1%_D7w_|yumKI7OjTroP`KrJ#v~0>h*05vWVnD8+r{v(^WxqT%I@6fEHF3t8 zk5=8%dC>Mby>JK-g8Nx3GrLpm!P}0@g;?DtX;POo?Kg)B1U`;pALE`8*S%m-)Ej!Z& zdo#2bA2dBhWwVd;{M7j4ai-d-QgjT$ED0p#@JMw~;+(`>>Y8RXGr&9e9>v36u%gA(< zWqY0F>R0a5A5fE{@4h&;GDLK{KkIDA^78VlnY(`u4y0^#g?GE88wR_-UxH5+pD;)% zo{;+}ygXxh#PD-%TIpxqaqX|_iRbK7vDRp|QkAbpufD&SKFjQmX;3K1p+9y&yvkIY zp;22F%_TM1+~7+@omP-)Q!>!?yOWjr5xAX$Ge zB@CWV)>w&#*z=yCa(PRDFC|&r7i7xiUPtNoZj?r0^WAYA-YUpqQYUjHW;q`|m>9FV z=rrV~5O80POw>(vJMAdHwLWR4o8h_w*0yTb^RuyOU}q_Dyw=TdK5Nb8dYpf~u+@3| zeHQXS=iZf_`e0oJ!)beWk?wem;dw>!B7yH_Z0aKGt|0knhL$z;C1H4Pp>yoB^PaMw z^R#4#i6IBHT4X6CbUV1hzR&Spx2(PxsEwLzuNyi)yZ2jHL*!FV*Snc+zv4z&1;ynw zjmefFhq`YaeziMTufjSgdy+V!w1#9Z%?Ggb1(fRry0GtqALJVr=klZUs9tVUy@Vw9 zmmX$S`Gn4UrJ|v2o$N01DQoGM6&G{u9_M&ZW2Kansofvu@W!ZkmvElgRB6BO&28~3 z({=HL-{rJ>Yeeat4gbY_@K1njuhNRTf&VsxHGT;*wwQ*Ka9MnR(br#t7h%PI%zZIm zkGEwx?_X&*#JMFv^6saL>(|YvOH8`f+Z3F77b(Tj@AH={Kdw>sMcT{gzG%1_=5GkI zPdN1`r7JGaQMWU);D4~>NSajmE+&$mwws66f3P6YhAFgbpRPTICgRwk4)2p(#*pE> z+^^OjsdAXhGFxyx2|M$b6t%vM2~-c92tMzSH$i699_eaqSb!oComCv$t_eu<56l_h zO*`Mc)i@S&UwlM+G3inq%vPpTdX}vB-QQ({w0bR*W)7uc%GTr@YwN)aI#LVQMttUDRSpDi`xsm;S=TdST*drayKm z!C^nq_;y6HYnM5YO<^$})me9zZPVjnw_}~j^5jeU{+hh#Bk|??rK&2U&BCs$t{6|I zY)GR~3Esy4ECG4h;%P0*hn+0;#rwSdr4qCxhmi5mBIK|zHFCwp9!u$-i=x7Q36bzG z?t2p4cr9dQ7?Qu@I3K^(g32#7HDU9@-#^%BN$NqM50k;t2n#toS3vW}oRxS*Dh0~V zD>#kasxT2kX%FsnPzE=LaOqp+`!;5b(|jN5-KILtmv9IMSPXBGS&uw^ZtnV!8{| z%uRVuk{nk$Db=@=ecFbfnDEbQH<%H+$W+j&B`gstrmEJ_eZbWlO)%6GW`E@tGf7@X z3Fqfet<3PkkJO~=Bw9{JUnRlzrMQ@*^4dDCicEw`$jT+5e8swfw7tyr7ldH9OCHDo zG6JU4hM3L+2!Wa=G@AO{q?_t35$((0Mf6*y#GJ*45;i>LK^bj@&pxx`e#|v>^(4VZ zRx?TsHcz7#cy19`l)`;pXFBoNiQni-_nKSwp14|dYfAH%(+$`=yzQMw+qz1}Z6 zr3B|l!V|r>wyIAato$V7y{@Hw=g^7U-A&(MkFAuRf6-_Av$fx;t*YPIWXG25!!sML z5H@`u|CHPn2SQT*m`+RAa%%N?rIaqohCo{)C zyF#9ttPUmSAL^jV9m}blOg(ck?$WF3-mUedEspLvJwFr9@j<3i1rB2>GZM?pnO|Q7 z@=hgQh8;hHz}dNLdaB5-s=YfI!_!yiX$Ur?iP-C6ZdqKmdkt=)VerG7dE)-6N5)kC zi>&Qc;pXFxgJak0H+%?iAAclEq+TfV>b-5_Qzg+g2{YEziIy<*Q6Y&)ER^wK+bO~N zy>ix8jiq)^wX&f3D6im6q@3grYPO$Bp?ovuho%h2&Z2KqiV5)x+6&%UBI=8W`pjxNuQJ(gH@<7W>mqV%ubKNMH8Hx#G~;UV=u946gY2>*Xd*DoSdHc9jP5dM(`# zS+n-W;c=4iV-1AWtQH=lAQ1nc^W&j)xMYZ)FB5V56?xu+-qoKfLXaeDBh=;outb2o z(Oc6kqq2~R{3Iayg_lE^4;-aF_E{>1Tsiinm&5q}JHqbY@B(PZN?*>TDi*8b=@V*s z7)|-+qHM!Se@w`2L}8w$j(b{TTDa6d;V|#1WFPrZ=x*G>+B1|W(VuWRJx~!D>0eC6 zX0gJis#i5Y?I)=cv2I`CZ+#i~ZEUK;vF`92)#%vcl~ad|p$X-;DsN7xpH59)b?9J7 zUvM8ad|Qt^-T5NqUN`S>vV|RSuI3v`sxNUl++Te5lEPJ^>(@5EOqb+r9>ym$_~Fh_ zN@t}!hK>{Rd!7zKIijW>B*wpy_1<$2zm%GNot%=;)Da=qHe{gu#Ph|J7NIP{i=Of* zZIlQ0JpsGZdG$Xpz2uHI7 z@o>vyeUx{}ep`9{u+~3y%ZG)rtLnJHHPc(R4Z|lxD$(WR(pFtNx#_v%QRH>{o7@fK zZng^n!l_HVcD$sE`SvnPgp6L5FRl()v#vB3orC@9Ah;45`u+K5D`a86=WAs36s>$5 zdw8sogCFu?-sgs&v}qK2gz6#sUH4o7pMd4mhx23Olh)B{tkcI*{Nh?tyz7(92rq!M zz|W8_o(-q_-Im)P4kzv}_6`D7VrMT9F-e6w&ZPQw$F&#bBD9?X-+q!1WfV93F!=G& zg!tzsB1*|hpOT)|cP|2XYe!9L7Bx-;WliOd1j3&VlU&3vZjT^Q6Te!&Hor*K`uk7(?{9fivPb7*8Iy$p3$QzoV+N&)o zs-KzoeNYj&)%Np3d*lA^#Ag$d)0p|RVp+4g9uwbb3u+g7$4BSfQ1Z>BXLLQPOSPsJ zB?l5VUrwU!mt!$GhGqQD!_cjnzx2BI{s&Z_EU5*V$m)cTfL>oY=vB+^@I%STqwgeV z25+Yh($U@p`-`VQN%)f6S)7cp9C&Q{t_tHBr$l3Nlnu{R}>MV0BZeCMU!!?@wI6= zoob#XU1FHkFSsuLdk+G(YGyC#M{6&tBd=rGHH}?-(D^yu^!8R$CORHfRzS#}chL4;lGmm2L z#r*zk_DYjj-WL^JzPyl{LuE>pQ_D5LD3_W?L{E-;xwkp2T=oL}gNKi|_Bj^5p!HPz zas3$Y^+bO)a%AN6u0Ou|zrji(+DU3wE*_RvX zxAk|Cr~K_nz#qjsQbeNex)yZef+aioX{l^|>}PL>gad-oh4Y+?&PHY1+hYces*Qa0 znl+-*&8GU1nX|+9%*kXw{adAcceaC?Tj?+iP8VpHyf)5s?>My}}Sz zklW25H^mk9AgV8szklP0At(Ea3C~sKHTv6$zK_b0wdRTSM%+$Ts|Buy>$A0>+}M5R z)U4vN9Fx@SUEaZ9E{NXJ+S-VPR#QVABQcZ&QKOvj8In!x>BppdybF}IIq*1Sc{3{O zn(ue?gVJ9d`4Eo+F7La(gcD@qAmP&&;PHaW3?J7b49cad(>1c8^|9&t07?FPNGDkY zCi6_5)$<}m2oMqOx(MR4Nid^{*JHpUPF}fw6x?% zwqtij^t$f-kpllkOA8UnPRH@#`WP)dt}(P>JHn~!MD8Pn@ln|5if#A1nM)2ij;$<- z-mha@uc};G*A?vxQ|&L?4&Sf%eN(Qp-6nPMC0}m}AC%DKTb4*}ai|gp+G25C}MNBy27Mo5u2wx8c0mgk`R{evBX{RWnzjbiq`)3#AGSSlgVoc6KI}+wVccu70wq|8xF%Q14s9dSjqxqHC8v+cv zV=*6oAnLjTpS?C*q0=%FTNgraW>lXZIs84`*`VitoU=i!I71CjokG#-oGD{`ItezrNMRfcu8v* zt_yRx>$k3YeSXgv@8!@CKYcgPnPMAzBtvE5 zZVp>|O|3K`tzjTWl&-)h!qk-_VjIj`z~ z*^u8AVf+$f-TM@Wzh&5WqL`sPkAnMcdsmSIQ+yt@s*65dYGi<27Kl+`8}=#J;?q~s z!=6l^OrBvZ|Cm8zyw~a=VRQVp&*sZaL4opRRA2eT0fG^%7S5PNQTJ8pYwerjIrlAX z_Z6*@J8HHMs~b+5j$IE5AbNbH)B5$InDC*!Q~6S1Joz9m0cL51PAUV!p=z$JzC3Q) zV4ky`u7!n#j57t>tKjxN*V6^Gt=7nQ2d0wk6{RaH_!r#MxzW1s~nMZO9092|Ck}v9Uj}NAi`i@fJWj zt~hb0S1>8P>~1*wS)sq8&lf#u$g|*^aS}x0_=C6b!0oMa)bVylb4tQ|TeqJy8Fv(| zF+1(zn>aK7(X7gfhv)D_*)HRDQNgADq0N|wn21+g-*_if@Qp>*ed1B}LbzrWQq@f# zjkllSM}1@^p#B_ek|XLQzN`A+_=@=9)@-FZZiC%h4^k1o?Zh{;tK}}QCbK4`JnCD0 zenl%2ZBruYeP+`cIbS&{Ov`iHAn~tf88itn+;9msP(0Wcp05}k9UHqa%{SJm8u5yf zSF3T^6yvvFHn^@sL8Zh$ul~juJmX!>C>5*hh@DIXtkI440|?$njUrNgfJSE>E-j@2 zKm3;^QqDRyCiI-IB@m3Q1rdZG2sQ$9Thmk5dmaEeK*qn<_RIV3(I-O`Q^)(Wcu#15AMS~;CPKt zm}|Sz7hiC-bKZYpAYs;g8sYB4%qXp|={F(Hl5dVkh51MT6S{v>s&(1gIBjs<>bbt+co;|EL|{eW`B5~Q ztsL{0?<@gT+lb7`Y>^Ot6&da%MmWFA#feAa$uBZjLv!<8Q#Cx-W>YozFb$Y(1kc@h z7#ODC)}3!A^6i(H+H%F0Y1()uVIz?)>llWcgsGFp7MLSbS^Y%HWZWqXI7{c*{Ic~$ zDvo2fv7P@4+115rb;rO!f91-oWV5I#ROgS<2kwXOGR_A#r;e}ICkzsuCpmp)F;G1G z<59fyik!ktgw#nJh~j=7Yv-Wy46~m0tNw8b+#UkS_KL|PXI>joR z%1bLA;Tr7w8PcQYvys%DE50Bd@s?k}_e@1`0ogNjZSv@uKhP@pa2I(Q2OPAvR}ShE zlY@G~ia2^MIdpz+?PY#$EKk$27tGkrd*Q!33%AVI`6Nq6&}vmgE^iRY5)@Xn<<HPcCG>}wxYDN}M+bv#gwW3A{4L?T5jTnP49~ z+DRpLxkGHYnV0`2{}J?~8g|a2uOmPAdw9|C0GCN-B*Nc?tzDU~L>*&Qd38V1&Gukg z^`!hX;jlZR?U-_TjRy=C47h}oJobzDsorJksZvQ1l{FvdqNC)#<-CvQ++`Ma&C><$ zjEv+M9uiR*#^DJ%f}CuVFEOm0b6#-A26qlKDY!jBNqfS0iEtl1drKfW;H`K%CN+N{ zkd&6rc9JBikZ{R;pIT};l$ikOLAus`?H?$Ir7L#t4G!s2Fm=kStDSJkhRKenII<@r z-XRES9w3&jTS$;=*OoUv+kWflv8hr z3E(9aq_ux&`7ufB8(D{~%f7|y>ag^1MWh;(rU4I0fhaGt3FQgye@rNrkkcE-IFEK2 zM0whXVx!826w4@lP58Z;IVjj+T$M8-qc8o74v`Zzq_yKUC3r|IY3zqJ5@}Sc?izvB zd!>vFWA(`&c^*nV*e9idJxI~nbDm5CL5sQxi-AkVgiF~tO}?8-6R#P7v7(N!Ls}cw zi$px>!-Yf~CRfgu{LxrhWOlncjB?A6i~}A+E+9h^vpc$iTGvD&?tUCj((5-__r&?( z5WI$;^94i*cp7G=%%p#5;aQjAzkK$J@l!VT_C2-j9RIL6PfUvo@jUu49e6>r!G{_F z0ai~K>kwk}rP)3!6FwE0S^Jpauojj0PF82DikB(4D$Cinzeq9dH+i>URrbE>Le7(? zb@#*>+|xm=Arm0%E^GTyrAbI*!WSZOEGH%vMhs-)p$|y7va;_G(qloS^Fc3mC){*i zy+2eeXZvdV24X5O4sQ4GUsZflhA^eIk;9uM1a!9Sz3<@R)B}l2VA=XVfBw&(|MTbn zPyV>mfUmL6<4q?hR?`kZz|R|DNuhi}%}?b&;e4efUtyp=LIq+m-npIso#gJ%?jt3;SzzYS8OQW;SDjyKmk~*qeYJGtK`Lz!XD%}HyC|hTD|-!INZwN3;e~Ce zyd$}gP`|gw*(F26g~i)!e5~|6k4Mr<>edSO<|^~ExU%#l;_+AglZxsY&Z*Ri>V=w3 zql;x&NH3GZI4uq8-}qUiomfyvM!lv?bYjNHBNJ(T-ug>cec3SHbudtB+4hQh4|-tx zgjbf$0c)P7h_ z?28`htH1W`SAQgXlv<3?tZi;Sm~C=Vu#IPOy}F24d?4?ECtb4q?%Fi_+f_nC*nG>Y zA4&~-tT9&2sg=h#Sbo0>n8WuZyC=hmI`&sb<2Sf+EEOA0FI~>MH8hfr`IR3bhNoW} zH~BNnM#0NR9DtT3bSML61h@i4LXAFrSZxo!@XXH1PGNWvq_RO|N@=H!A=$0}El!;z z3)Lko^EsPe9Kq+atBZ@0Qr*sl-+3)v6KHsJ%6iv|NJ_o}ozlRG)WwsmuIt_W`ty9p z-=9|T9~phgFL8B;xHZq4wat3Ro9(kbt2R&fvL@e(^ku7_HtFi`XP-rxX}7&z1P6^Wdq-4+fVjf~@SWYGxc%nGYXm z4Pzn-Kj5Za2OA^jir-7S0Qs)rjMdz}*aN7laT=e;&?PZKm?P~KTHZz9GzSk| zS2eB%8hl)e{Y=Zda^X$Guc$#sOHYz%ySMX`+tSz20(raASPJuhdBlzr!Fe)VZl zpPn@n#A>jW8=m?j+U_MQE9*hdwf$GdQ``yPtcP!wU#}*Jy=ok+TDC*LQO?fJ?jk-3 zGKhG@;ugbcyBtn0Z13L?&M>oEV6|jW;HQ(ZNGR<=_z{HTmKNHF{%ZDe#$#E{?_kj< z4GAMjf0l6_>h+$>6O~~_sln;%-adK>T_U${Nw1K2*cvg-2&c!mxA@CpO(Y!o`s_6- zu@~yqzbfOzFi;`AG1k***;B^(s4ny6Q>!uk!XsPdKMs(VK?47j3|xL*3-KV5c0}Y@b z7krLLP3gi%++tqZjylP{$K)c-JvfkSNdERsJ2XBfHdcbL7(Q^?UWK4_PZILIpn`TP zasLumm$s1v?Yhw}LRGxKVMnbL4Vg(y??uvb-{l34y16m=ljTFM{WBG-MGW@VqEM=5 zHc3U?rtAjA+@{D8SA}w}`Mh{ZMewG2dbzFJjF!;fWz9+(zR7ydtp}fZhL-LQ5@#Fhq;vUt{2k5J-sMM$ydrq*Y`uVNyHDwXt=lQC zx@B*f)zk|OMsxV?gt2vr*94ML9d8J^MJ%$HCs1r$`^h8}e&pw6m3o!n0brCKDDjo3D9kD*)ybh@j_?MKL~$C($|v@w=q?g4flQ;@E?J&M9%3C z!OPZ)#|w0={V$wdQ7~*Gy0{>{@!S;xO3mC!s{&^E)q6(OmuT18osu??LheLVg7{1; zn|*JgWR@kQOa*9Yk1ZXLEqq*!#})^0J*i@B6I@%8SJp3aiWwhJ|U1M?CR z5=<7W2rQCa917dA)CR~n+{s(pr|ux_^mPO=fy2fA>VwO)gUANVnJRfjxV5z^C9D^U zsJ7TL54cWVD)l6}UM@6D^u@=4+YGDZA))lNhxl}tb$mmOg&(Af&%+}l+lz;>>R*v~ z3@=0~z)a{#q^-8#e;1TZbMT$P)i^)0f1T6!CL+|=#sIew(HR)!BC)^+c7*VM0P&iBwfFCwq^5k^KvnFu}m zNfWs_;oL%*JEJHk4p%``xa5DT;X*DDD$a`}rlsyTOXkjm{8UU2G3kCvZEEg&h6hCx ztHSu|;u>}PA9Ak;nv?~$*VkXp`p7kMyomHujWkiofRxg*e_1(~v!!sO>Q5s*o1fFk z$^`+FSl?OcIq(HtGMM*_U!FfTp_5+2_N#_6jpm!QkJWB(tm5Op_>E13mvNi6OWKSX zfN?sNJGSCR)Yb}I&%2Xi#7Hb5y-`dlskOycSWjqDR??*!-0H6s^jQsjdL;M6-r&+@ zMM&Xm+BCKtusIgTXS{?n%0B)@=e5ol#dpxME%&N@Zg-b^*)4|Kc9}c?$`a;B!HgN2&kcJ#sIl51wDpL827RDD7%Z1j-! zoU+k>c}914b!mU=y_(Z1lt->%nc^J?rcPS^$+7++bx5u@)b(g6QLZHu=_tH_+n1ro zx3EOAAF{D0uS^kMY}33cG{>y2PYxL%TmIxDPA66;S+u`Jt;E^Q$i^Rl1Af7yBe zt@#Fv^0K&1k|^S9o95s07*?{u>NP>Q<3bV5b6m>GYf*5bl5h4CgD=9`f=FV&#Gj$% z>a?oafMd6udfwFivDDT5J!|CI)J20x`&YW@5l3;5R~Sq6qe;P#FqR=n?)a^9ynPOB zZT<8Bm+-p3eu9cAZrXGrIw zhKS?itg0DM7OsL&#yGOZ@_UMSOs!4(WG{XqchB@2MQ~-i4O**5TQ0_hqpli2K$0;Q z4|z}Gx1+O3mL;EXtDt(8BIEEaIsil0!@19S4h!WB5RVQi{wK(dnAx^C#4 zgW3Sr7Uz~Plu_y55dYB3!pHCF@2VP>K^*=G%&W{-vV-CYEYTn;`tkVq_~Gg4UM^}} zEvdBJ`1=_SrZo?yIxh!-m9DBHo{>ANJ3r_u&er0^vg{Kv-iv$6*+X9<>AFT7he52C zTRq)setV?&VkE2(Uur`NNgj97vtTmi;!rxCRkvsHADA&7QXWpAtU=(Zv3qote5PNfTab1> zvGaWPk?V3G*fq+U&RQPCYP;35ZzX*C8Lh*4*1=7Z`>@n=L-+aXOSm_#`PSe7`L1yk z>2KAtRegpkH5N82n~lS>`+Jw1V!n6{hzxZdHFUJvQpC8B-YTupb)f@Jp3@Wa#Z_c1 zUh(W~W?U?X!gxI?oMLger`XmUh#}a?;)+VyW8BoPrCsCGl=1tT)IDitFPtt&Py2mJ z{L+w!rArJn*d@%Xl=j0|_P63+4W%>X*#G=Vtso#(R!eg4OfE6rY<&7HU!sw-WH&c; zq%X6Lb*dvN9U?p;f5eM(H@w<7UOLt}w;0EkTzu#6Ru0&@*NhP@^UWS>m6d%?t zL|DTm%NcA4Z$N#ZUS2rt24{2>7kv#l9+5kRPhSP4z9PMnYEEaeis7*pRp^j=u`Q%5 zliqMRiQ+kA)3GF*#|~_Ny7a&GK!zU|~>wB5DSdCVz!MTAl7s5i7}eg20!Gc7&zHM@>LehlXY{lTp_F&`qzVXTkmb` z(w9Z9H#8UeHRR=WRWDFc(SEy|&f-sR<_$=_bJ|VYCh0xqW^}7IUk=7q*TS-xv0sVR z3g0D}K!$gBOEK7BfSftjrHCAre3|a}sN_sDW>B3QdbZJZaLf~+ro7QABPR!KIGxQ{ zT@04Uh!bYG+Ds#~agOTThX-fEwyGk278sBGHawKnt_VlkZLAe@_v=xpG|V|SbHHh05HfovxXyDrY+9!iKUgijYCUC$Un|vk zDP!UWV*Nlu&4P<@G0MK3A}7V$YlYi1iOoOwV9P4sd{8Djcg#15!%)t3n9IeO#@JkS z^bKbXv&~Ap8;ah}3}djMOV+1PV25R_>sQ+^T*mC2yliSu#v&zOXA}(8>1%?l7jt=2 zhu*WSbzi$scBi{h>Aw-h(Ln2Mf2pfzumAM4&J&eEs( z^=phqbvg(%H+W3LLoUSKv-+G~MF3Py3y5+8RK*;TsQ>7GzzejxO^g={|3x}n3tHH(RkTc)#qBDuwukpbzQri_U%Gi%=%#RH!{Ah8;M5b0c z&x(z5S*uAB0LXd$c(vN0DhY{&+KzG~-(F9no!E? zka+Uf#L~6u?Yv1QHMlghi0NICG)c^dV3LtgY8wl39>tzeQtnoI-lTU1hq~VJ#D_Vd zSFb(dIg*S%tVcN|zaVqn8`$lYjz*GCf0q4@IB{b>h6U2+B3dyyScf!sBtihVrf#PRqUgyA_#VnGjq5fVIlbE zexw!lJmJ|S#hU^3ql%g638z)Pt?8e7HLWfZrb*mmotZtT8@-&a-#!G+bRw3HOJ*}= zv-wCIDdIb2atW5;=g;2T94~5-G4K^!*|p0|Ntw3G^ApVWTY9-zauSTQ*t$O(MK07; z*iXYP#)HW4a$=E3X zc}!`%``BK2Sy{fo7-%0YK!*^zo~{Trq^MTWUH2kHA&AnSY;eI7QgDo45=awRV9+Lj z1RuO6{(|%?*A|`VD^oOu zpi5VdeSYwC5D90ktsKKe8Ln%4-+tzL&I48IZLH#3xsuC(m;Gw*6jZAC*GH3C)Q>m# z?S2$IEE~llnT%SoVeeiCn*WD6K~WrI7#+{fb<5{b4TvwfIHL5Ep)@cR{T9$Y(I?$2 z`*;)Th(<({U44|AROQWI(n@KKle%*Ci zA1!!ln#hhMEsbXW89kgDvdhMxv1^VFbw1i7OuRVD%8*3$X}MaPoUCgV7Dg6DMYC16 zYQ^2=-9MjAjAccuK|b0(?n~r%E&Y}~vsYXUwYIkArmx;53T#2}~S?>{6_4kDfHl$eO28l3t!&TwGO}yCMC?-d;ySZ>c=_=_?cElhL=7 z28c;pRmU^N*OwaCtfQM2_O#jAF*G!^Sm8?Y8(BH|Gv;laE4g9_RGA=dTZ-eWGFcC^ z>2!%$S?$aKI8o{IZ#0R?sD3nw=u|TPxP-6c#JpGo)v`sy!xa#&MKT$7zR%Wuz@PeT z*hAziDk>VS`qFBgF@myl`?!b`J@MQu9ebN_EcijX7!sA8$v!8}8aT<$?{S~>xJ3{Y z0cQ&_oWVOe=t)v`c23W$NVpNFIWrA8F|l{TDk?emGDA{C@*MYj*)#MJllYFS`bnIQ zCJcO(6clYDl;m09r4?{-14qirxclR{tS_%GmnK%K)*l#9`NIWm>+GN`%?tLc1+GlL6X(~{ z_a|#i8FW}FH^R`Re;W*R8MI1MCfI2Ycj3#N#(_}#?YgKl3NOVt81L&olCC9TPNE2m ztvo!%Pe@c#l5>oDDQ_qlq_XPVC!DO_m?% zi|!rL7t!Jn--yP0zjyWs;f3*@T^D^MQK;K5ddwh0DLPo}JG zZQtA9o8*fowuqA^*_#5F6o2ToQ`%1&y?Y4LbBV_5E%C7l0Ak; zCiIxYm?}_OyF%HdNCkMowO7*76sSnq@=0uCPMt3cvbQu8Z~Yf*-V zgNHg)w2-Dy&@~NBmjq;fBKfGSysX&04TU>dd>OQqY&^&XEMw**H0s`5jH|(^!|XD) zwv_hHb@D0-5-DSSPs{q1iZ-f67?-h6JpX(4=l7w8y^HT2HZSCN zN@Idr6I)QFK}z=ah-mbKQ$x`Gt-8o*{0JVErBFC83vaIc;u<@)ZF+29m*6Fa&zoY%^|ro#Y5DDHtz`NM+?4= zv+4TiFr1eyQm6~Fw`z@zaSxY#wOjK(qG+(R=>VzhSyxu^w$Kyav!9w&*wWRKIehAR z%<|R>68)@78ka@QHf!0vfDas3#%*J*Zi*pS`2q*k@zcA8b}~!{C+GU3nS_KRETxM@ zTZb68VlcrdU$bhI>f5((6y)2apM(;iYgRsMf+T%-ba<%sU|8&30mEa9?H6ck5hO^rF>zx zr=O8cx)pfd2F`xjCI?>U#HJKy5%9C7O1Lita|2F-;2`p+x)5^>KKTSgS~7TfPd#CX zf`a0q8tY=06pn%xM0WaA!Xy$cp<<#8@hZW7zuYJp@|FW<&-0*=at_VTJ15%y?k<2+ zJ*1|hprEdzqC#h>T0yGYO)x_zTtkJ9EK<2?y61RmqCN9oE2sTYbO;Ym{q%@uqvG&Is z;8V|tSJIF;t2CDh???2e3C?x`L*b;A)Ert-g_H3V6jasnYbheL*;ZCo*!99?77`q{ zX7Etm;{_8SRCBw)cJ0!|)v;h~YG7z$qDbp}Im1fbAjg<}79o6_=cv)fO%#DK0J39Y zVki)YAyD~LviQmU@BI|-g%~V^wHi?oE`IHwqG+~oVFp*2v|n1;9v4{uCi=OIz7i!6ArZ>{{w5_uacQX^5w2Nya_Ri^K z-8)lcczIjf_K5hY1ad!Q9Fg3%Hj$%GamCnO+Qk87NG7aby;ufp-JrF>mE$xo!Ci3j zAp9%$$KWQA7xeK^%sqX7ljAuz=EhdI=R{9(LC?7wx>kfiOl%K{^)`>Vgt^%AxxcSB zO7m3K-*n#;`Bym9pt6fOw}t+GLe$yQKh-l{SA10MRE3f$#TrJ@JVrQ zZxBeveYacY85rBJ-A&ED3U#6+eMPnU^~{vv3M~Iq3pZ&oad+$jd3ms?qMfQ6^qrRq zA!CAI=R2z>7FSyU+Q;`fYlQK5a-rygcG^P6P(qr-D$M7Mz*1jhO$8GDi3NDy;T07_ zgr;@Eh&f6_^IImWuG7}38ZCR$Q2-PAx4pxKLkzb+*M~nyU!%7xy~liTH5$*&V9q5? zNxQ=F_OYR*uuI-d0MM@N!~^IPl=C$h)gRxt$3R+5G|=Fjr_5HaMHZI zXS?vIKb)9g!A+-ru2Q{YHwGlW_Y<*Wdw*cQ$Pc5EbD7`Tv0yJ1M=wmmqxjzc*2eKIcdvt%OFBrU}@LO<@ad=$7Xd*Q3L z<$dM)3!Ta7_Z%}w@b0!6r|0X}qC#3vn%`Xsxyqp-MWwn+0+g5k80xKQoFzZR5}9sj zGQDlPD&$u6cFbDoKH8X2es_ND0=vDvJ>`78^s!0xuKvC|6PH$qqBy~q(Qb=5E#t|S zC)0X_)5A37p2SED^hUwLrAj%>%^uHj)#hCkH*_g$oyf7zne@+j_#X=gZ8AiCUte4+ z_LKeK6Nd9W#<5Xz4heqYN3)iL!2q|XumQ14!Etaw-4R|oS!W}{m)3Tzk`Es~?Nh^{ zCi&@F<6n0*RPozxhV#?V(A2{ndwOlXovlsWTr6^Q_kAb*#9j1Au+=`8TIvntz0yp+ zv7)g!5<>cux25f?rfR$ouemOJ*Hli+_Ac{EQK}f|rs&=y*<9X#8jCU$a>)BlX@SQg z_=U<@!l{m9&C1L%-V0|H5a4PMYQ7?oexHiXSi~Ip&StlcwTx9`Ny=t0EL1tbGQXx9 zyoEsE>-jtclD1zHF3tG>Dd%Vk?#G(_#@d@_2h1FyBcUJXUN2Rr>OIx87_?14;3n7@ z-=`c8|1mTzvHilHy{(|As_GQ@dUM_W@@uvMVm3}C6Q?z&9@Q}T7~vVH5I$mku$%tM zSXi%BPx~yUdXlU9WI^oruTV*?k9w_-vhF3HD0d=sb>1^!FXo2JAR!1s+W+jl_E{L= zu_OWuWdQDwE1Txmbuqja#;uuRM7g2NnjHV5ty!_Da+5Sos%i#wq>!1J`W5_!nqO0R z=+FDoc21)}e!VGQL0t%w2Ks7O?%ioYjf(ICV?hmOxo1jYN{nJj1dalvc?${5Z+?C- z>^ItA{F+pw?Sx6!HLmx`?CXOT9E+>IueH@DatpsiyBb4wqP4vrb-NVSNIg0Adufq6 zQDE-;1nX>%m`#yVw-=*$Zk$l&+(~#1uB#RNpfSOQ# z!M0F&CS0k191e;&Dn%g`^S%7tuOKxnbSo^)9q$pWpf=@?SUyny8T$_d_y}`5RiXFN z1B$Q{7!)9#*<{F}rxk^Tg(tFh~1S|uJbc>Pa>-Q$JeSHZqJT<^l|Rv05l8qHU&&@*AQ7|Psu;5L zlg#h-xbP!iWT0LBe49P-ZM7mP1ujeLEQW)+BE5{!+p`V9TwL6pD~GbLJ4!xeD(!lB z;igU12OuP1myeOGgWt$c>dcn*p#L(r%r`?T9>sQAE zQGq6L`4vj8JDEdL2VOpYUxO)>NlP)S}Yeo_^Jbuh+&*J_xk;=`&8%qQ;_lZ zcWHnD??rg))`^Y_^JYMp6e0IMHdp981Bc$rCQf4BjVWme(sf%{>4^u0KzP4kWZJ%p z31URnx7%wtpLxP%b#h-PZ2&_@mA>KE*O8v7pPMGK3T0kj9++_R=ka)&CCE{-vC18YJgFvj>4sD6LO<4$6Y71lR{5av^^!gWQ95^q*){K{ zzE73Ki@nt@JmFXUF_OG^<0aKfPeuYYOsx4POyj(iqhAmDL^X&T`-`0EDe^TW0$*t| z%hTI_j+U4Wa8o3;1rSbIw6;d($*PIIgp=ZDlVQIzld9XQc}($S!;t$IX;e%JVtuFGRy&>AZtsyiX)cx7l_+HAB8+)K6Z zFRq09d>ID19t@k%ddMxW7ZeiU5cNwczG)jIR4#!HEqMwt4itHX(T%7)eQD!(0(DQ4m*3n{-&4d#Dhk%dCQG$ve(`?CdHXVKd=y)^cC*0 z2l*jafA@6-L!5ou0!X{L;M{41y^GhY+#dzLa9?dyo=5nh=s#rBuf^(9O5D06(Ad=X zt|}qBi^f8@x$yAd=;7Y)J?1pMw4U~_)N?T+uVP~EN4nQhc)raclQn%eH8LWx(5K45 zqr=Xa-^$v-)fp*V81@MiOZN2Kr^%B_u!VsT_Yhefc;o?3MXlRHb8uqMDl1 z`=0S4Zd5eXpwIf2R`di$J@21#bI9{ix_uqNVZ{05dw?&^^f3%1&7_xV=Tzjz9Mwmo zo!jyH8x~;#TIFk`OwTn9^rQvbb1q*pI8k9qnm*~*9z&H=_tw4P(Y<~da0q#Sh4b3J zH}|Aoj8OWs!}onfbI7jC140@(w*}^>@J1h7DoI?=TF4~xGjl&?Q!&gcsVSCMWF~1I z3rD`IK2QRV`n+_usGH!*Hd2E3W?Zi?=k?Ok@;Zv%sw-72F6{STlc#2rIFWRLhAVWI zrB^}OS*!Oprz-dt-5#pE{#o(-ihjk%&$?6`OeJusW9jp`RU9F#L!3S`R#emv#ond~ z>2s*tI{CPC@?81S{@HlYu$gkX6W7bocDU@c=OT5*V4Q{4#ruS!NI3P-rA5FwFb~HX zqX6S*+0xnqyPsI&Mk1 z#)RU!o&97@oH{PmYZ9Z{cQnaub{B_EQ){P2ObqM1XFl7-hBIEQ|$PqwASJbZSjPsNByMS5RYmx>$W z{y>U*lf_a3h1qP*t?0xrrNNB`Uy!NW?aXY|C(T6R(9bP9KYxZx>u064YY!d-gN(2C z+(WNBJKM-;k~4`WJID4Zb}f45`8GUMSfO6mO;lI7#f3)K;dgLXBxaIXAhBQcSW6(0 zB5+L6JRwdD;efi^GZsHlqVIZ4b*+)$nlM`Mwp|bbJ*&Wgo)v`s$w|8g{2Ej7#XY{h z65^Vf`Y^C&IylpMeJol81%yh-Vy6s`Nd@?MOu#PhJ@q%4Cvt9rZ|8_<={HQ2YX(N9 zMueG@9<>FiTsJ3P^KjD=WS5th+n!P;hAE8`I6;6aj2PaeZ(7nf>Z)4ICqXf@+rR3bPf=SyiM0%BLEWkS`HK5n{+M|;14FBIS5 z{hk-nrxgz}rz1fRvvaebNY(fdI-Wcj3;tRGrGR^$PfejsWx|H9P%lp)YU|a(t&dyw z{_X447a0#o5}zxPKXM@4e~C%;6YV@%cPu41l7Znu_jK<8eML=OakkNvib3M#Oe(h2 z&j^sTKEG<=ugHB)PA-}g0T51tYl7sku zawnMYC~Y75vGaz{;2|cn97$-;dbB3hJKNkY{02$jOj7>(3E9bLc=7{C^5*PipY8i= z_e*&t9bMN7Fb+I+_dN{}`_of&`Fm%x6C;LT;0W^v!pF4v`JZ2UzZ;Qs`6b8YLRAQ# zpP^-@`!dMBA2(Us_?Q9tA=R>%A$vK=-2>+d@5f(*n^ak0Pj&x&cX#)PuIx+cpI!LF zrR5_zip#8QTb=MplAMRbBZpA$4a4>K`}JpM9}4y;@!-5d`Yt`8#QGX=&V`b^kQ1PX)@Y0XTMikLA zLdd2~!KnK$Lz3|r>`iwZMLk>Q%OOeza48w+WK7BFBrwyJN zn=;TP4zS}Z42$Ao3T0M2XzkhgCOU5F&HUxjp%Y#$?M{u;Gcb;Z&I0;d1(i2tW!61@ zr*rUFjI5Y~(E-U{IN^6!_RPJFObmnG`aH~Ya>9HLFUl6Xcv^&s zsDpxO!q$(FRJ}GTdz@;URZ(Wn>a`9}c=BdItaVAM;95;;wN|H&v0dL8XHXsudnRn#esfr0TNQqAqf&hSE)Eqm3Q-ae9=YYV_ZZjKqn z8-*IrLw;bRBkHgDR+8%zVlkIK9(Ft%F~hNZ^-{+%dc5}tKYe&= zyo812za&a2yyj6-7q$S&P;Pu5%LdN$+z42Wa2%~Q9o;@*Ndlj4IFcI07n8e) zIdCB-?r_q7F>E7;PkGu=V*(dh$*+YM5&ulOisG%rz>$KA~M5xk>A*IOv)zGs$=)}_kzAm#gn+juog(m7_?wn@RZ-1HLm18D%tt7{zeFcPO9!Qb`JwbmJqm{pm#! zn-<&P%h3B#sNC~|LT-Y*%03SXQKNsJ@^o}I(}TPmfR*%$aky%#LT2e}TB`AkII^R| zZ)`eho};JF34jFBUj^M zX>WiO+=cN#QCySt%pVD!Rsl@crmcevkAwQ8AwR^F9S2p8ikMmMli$Q#-okbaI;DN` zTQKDPYi0=NE=7f3!{Zrjw_=N+a5zL(LK+QbNawn=qMKk{6nslpWKfswRYs!hX;(N! zl43-J>@I^VA$;cGYeneK539&x65eZ@t7v5vrS`1fzK~)fv+B|gmy&m@5@7l?H)&cc z53L2gAt-ut@2QB@%E|6x-4H|VoOC1EZ%hR6G+#r*)b{@2fqfmXv$HcV@RPi-w_tza z`{3|%j#Cu8d$Oz+`uAM&d zFJp4+x%ZP$Kbx>W%fC!s$1?swP)rG$R6yf;kpt!^u~rV}y)h);Z z`vQuSh&wsPH8#_suW@8gr|pxv?Tzv4E3=6v>dBrG5KkCG<~nN zb~fa(Ad-4E`7eyZKm!9@(=ufAMnCjEk%EdZWC-0Vd#GMI66#Qh$+ zxknk^yZsA@s8m7?{@7k^{Q#UaB`!+yQ~TIfKIADpe0;*=5o?EQk2EXBhliONH7jI9 ziUrP!=2Zd2HT03oiuX67?vKSekM8dYo}Qj=f1E7MqQsqhMzfA1-Q`)NV~~@5=BPe| zihekQqky**aqTT<5a*~5*D&93Jr%hc7AmEsku19TvuX%W+R%fN{!IFUZOqDTP4_J~ znf&)48-2)Uk1T6_XqK`X8K-83_+idSNm~Ww%%@ls_waSM5;Fk-zEFO*0ER$$zumfH zJSH79OjFbCA=BF3KB%X^Rvg3>j|5gwqd#R=@yi4-#cxkXj*H}(Z9(lkDCH# zhJ1`uIR%%~x@}uCTd!vAbskWtS$txBAbt`z?RIu?nCM8u&@gAg!^Vv7vOi;5^x~e) z)6^xg$YF}2perXlfsaa3%x?RqfmA4p{aV&oHM4d^d0UC1u}f?e9}?9}iybK)G-8Bv z(Q2-W5Gol#otuT=v$jB@_bnnVzK>qLdeuHVt6q7s^-&zfD6)=`Lg9Bn|GTTuJwLyR zizdk!3+8E?b^P&nq%Pwqo@(?mr$QV0$e(mK%?8VLHD6nq);Mf}B2e$=p0yfYDncT* z<4a#q)KKV;+C`Mne?WO3GWH~Csw5+XPo?N*&wBz)udIRs+g@(d2FG}>E=tNgzBP2O zSA|__@6-0G=xY`R8x-Zk68k6{DhaBb`nZpI1i|ZTF^`60~xq z$v#^(Own#~flx?>6@!{&7F!wM_0Y0t|7CuycGWj3sC(0Vi?@uelr4WuR1M1*e4m4x z7pmFPK*-Y$tTb81`y9o_-ADLZPm~nG3BkK#X;h#G3zdc+qos!MK2Fs+hL_YlV+f~7 z+JLlifzaU~aO^xTaWkl21>Ntd?J2Y-u40XsnHC#Bsj>6uJ zVNDziil3U$<{PfBt2rus8!b7|7CCP1qOMVHJeKdzJV4Rz7QbXN{c{v-0PFny}mE$MwJ)dZP4UmfypGNT5_V(`4!GX8JW)9bbC+$NU z6PBwRC4FpgWtNfi)J@k#blcyA-_X5VsJy!i;J|=VVf*%V8ZP74=ze=#$u17K(-G4#SscwoTvU;Y;f6H2k)fo%@?+>A3I*S zG#E5}V7Qh+^Z78qX}R+A^-7#GrsITWCJDDKff4EPwZGFc_;CZlmKYv;aTh7l*XSwH z#zEX_D^JGI<3|CEVwu+NCEBv_Kd;}FwmMSX@3{bHb`ixF1R z1>XLp$NBJmh6yj`*W9!g8p(vGa(Z8jJnT%8#yd@r67$3U? zO$d`{QGaA4e&}28zfbn!8rgWJ)>mCo&N&Va70Y@muVUz6KcfU$*KN`S`1%$91UXhp zSe{L$OlPUk8N!jHQ`<83?(1UZAxq_%@NKs`-JZMwsH*#^n zh~&ro<>&CY1gLMJcCIcLov%s_huRj2r18ZY+;|yB5kXY6ZptW8MfOslgb|+3K5Xu$ znRJfWu+YsV!pSFEWhCE6bEf7kQ(L&a+wOPsDvmZ*+UkZ_va92U+xH6PI_ZxJQOCLW z1f3*AuB6ArsO}H*!zI;2hWY{Zg}6z%T-4rGNk?7*c`M(9U(@O6lLT!1(0lq;oMl(n zmZ{Ho@4L-t+ZOI;oyWUZdnWTyaL~-|08{$Za^EWolu|u!2THw#5v|?G$JW;J#1r>E zbG`t7-V;FUM7u8=&CiYgdWMgohB^Rgu{~IaX~LX5cPc?dX8;Fz!DT1P<)mJ39S^Sn z-WrY$n^Ka+R{g1cLe%KJ$3tcs#P7Syji)v=lv5Fq!#bqftGe(JaZ2_!$LBLkzK3AS zh!$D%$(%jP`33rE^sH?e+f^q??4f9YdOIo#9Q_gto4%y9&hr^6(o>?-o*`$|*5byO zdyOxc?-6!9-4|D+Fmb_6wCa_P*Za|W_38c(9&5~6MepcD$1)o(`kE!A|t{{Xs8)X>0Z!G@*3{_!Y!yjTQgLF z&s2J6pXRjajS*f3^(M~E&g6(nOmx-V3!~1VkcuuY<992L85Z0eFV+(ib$i(Kv>=}h z4YG?*&x|Wq_QdE}bE=k!$2}?F_)_gj&||^Ks%iTktcPQQ##?J^VF9dtwa*$ev%r4b zFHZRa8Q3Y^hV`j}neWx$_&v)^0`IS`Qb}h`yZGLq?`%GePrhyXN%19@ zeHfMgAclt45-`4eFVw65vo&V2@R1;$0D*n-LD;uW3V3-11>9JuFYMa8Tl-^Xc`i4> z4nvoN$mIJ8F=Wh1F<8V~AB+q;L*ZC0hBK{A>ra=5b3wyik!phnU7rvSng4V1_-b!s zUk0M3#h$(Q9A5rOD6KrH5L1~p$(CmKGJ8m^v?6Bso+$pAc&{mG`jVLusdV+-yV|FUw3jHE(9^uL40|V8%M@_K zd!IltNH{H8nk#0wIB7xFOA1OPPFGbc-mr_{e&`Bvz!!)BImw9~S3=->z_Uyd*aN3! z%Lfo*p-kk=M!r1n%cf2 zPp&zVM7z6{ZCb#}U4^US3MeY~wF+0)g4)_k9)*3kE)a5Sw*E;K@;OhKAi;5Ka-35>EIH}g|7qwr zlP_@i2cl9=DJ)abe;l1GJ%cID1QKhOwsHFu%3$NIs{bh%B&ti>CtbKOGCC@&koNc< z1J5yW-O*YOofn33=R@h&-xc4rF`MorebId3Dato!^?jqO(j^QJ_?Y!Pwl^MZG&TC$ zLFS3~g8sf0A&vZxH`5ulZ+eqo438~k>^fU!U35e*@B6tm*D2%vgwnq90@(7tAVkPce0;Miz!<9_ z)J^ync}02VNJ8T4^Vr!R$lDG56i0x}j=X%>O9(D5t{exBwh{TVtZ@RHVlWAJvUs&y zGx_tF-UsH2YHlP{5E8=cCtj~M(zmuG_s$%$va=&Z3hIM#8XgFsxh)vItbYq<^n;`Q z4Bq{yt7udb_pqCf7rt$;WFAw9n0o9e-f;Iy(&K9T9FDkrC!zDl5gWs;# z>^fAsZjpqjXhkROaERWhUM+O(CUTZ?qSOL z8R%ttAuwcB?&RFvTQO+AlF&~|3VdPtVkxbxawKGZpF*bx`wQ1lnuv2fd1lnkr!3_e z%EZJhA9xI^<#B{-0rc3hoidKtv?7H;p8O^dn+8ig~Se=AKGgDa#<$*Ng6JOZfX_~k(C<$dP)ObxF z)fRUkDo90sn3G;)$s;WcSh@1+0C!kHHU?KVro@FmOmY}+xY;-va-Z6m=Uu_r(E4Gy z>(2bw>lGYnn+?yPPu-}?sM5ycJkOe`0`^Wj$oi56FLT}K{I#?m z`=_{3Kd8sYC0bYTMM@JgH1=)>Wxq7hQeumRx5`aSv!;3=ZRc}%c*q3%a!|ScVC_?R z$Q#;36e{%$g~WVj!tCno>XkLx0@eJllL5psCKWZEY1tDMI>)j5%f=Xn^K7UejGN5H zu@BC9-z8!ZqE9(GI&w$2o^_g9Bcm@Nh}*&Kka>K0N{T3VdUD}ifQ3ScAq>aXw6y=V zAHP$T>bbton?gjlnDo&56GZe>5-j^kTYzYvCHE3!Re0c@x3`C3 zP5C$q{h%#ueog|3DtARZj&Y#YWGG!iKa2*Gsva{OUD~do&bP;o zM_(xU6CIxLxz>if$CuX%O-A^0eY&S|p(HWWZ{}NehxTtHif%c5m$y zD|*yt2?n2gPkm>Fkrgb1o^j+p0_}etTh|F_|LTikNrfrWCw>3TgIW#-3e}eie7?yK z^Ps!ydfs1~ni4&Po%D?Kh9mns-{t7O8RJO$(YCdvJeFbyG1m1a4*^(y*Om(Qc&Z+D zerV(&z;zzT{`z_c%Jp+Z_(LC;e;9*v=LYiw>B{Xj)*K1%?Cji)s*S;Jr9yOXzsYY@ zMwSWLY&EE8u|I_*RJ4|eMt;mSoNt+aMEmdy#S2WzzbxTgZ-bOsUmw)h*BA7HyMixk zoeO@rmt6}J7mEt`JkSlETBJse@f1QF^o7us!ilP_io5LSMId&>Ksu`z&{XUhwn zO3?@Sx>Np8fsau7iDpz6{%-2)VPpz7Aydl?Y60V;kI%t4Z+)_}A_!>kVE3a9s0gJm zYC5DZ;f7baZ3n+#@jsg^bPuw!`eC#Y;&>p_<$toBY(hu514WQGeDh{Dtdr7sxLLI( z--}mOc^{!!OKN=EbpPx!ubcn$S3r40gemDz=BpHuz`a@LG4(0<`6NmlbjMnEH_9Jl z$Pnv;g9EFBqXVn0_did?;uqi$ag&OQLU?QBYy?#*S1hqhM#}c?k)^CZJJB}O4hmaZ zQQn#+mqPI?O?v$JZ8Bbo6k2j_BUJ|v9OIr%*Az8~Y9Ln4gcSMd2M+`)%GmphwhZki ztDvMLzJ;65{4JD{f1dK?E+NBedeWEYw8}W_sb2HGxmb@PX%zID|B{;eo*aJk6rA)$ zJ+Pg85j#;elkje`-afYKq6v92GeWEKIoV4Hb@kQzH-?6G&7LUn^RP?PNY3sM^84sW zyTH1Rw9Crqa1phyZh|jXZ8H>D@tqL|6pqThiywgw>I6OW!>(-In=!BXywI$ud`Uji zy3U5fm1)G&5wN*$K_U%FEaH8-R+12u?c)+sK%_r!Y(l?*3VYLGLW1h{@EB?ibESVR zFU4XH;0QC_Ja?rlF|boo1k*=d-ZWSk_KtyJnO_Th>R5z(sFP_Q8YIwjlL@opJ9F zRPN{SVJQxS<4;Uc-k~XUZCyzoQ?(lN+kR>6c|#;4qW@ZEv(=t0H~>cw{BppegMjm+ z&=F#JRXaC)cDfAXeU>G$`iSSlXhhlWr7)v`-+&1RrK}&-H0yMm+20*Nac! zat^a4gMx24`L&Ztit3cQnE3lSd$X;5#UumRc8K3mDiQa`-5axc+qs^G>=>IvGHaEZY( z9WWJBI0i&FS_6OoJ8eP2u8^VODmo92)i%S-t|^_lHCHq3OKZw_&wCd^-1JhAE%@?JBjJItA1!;6R*39zTo#eE4F2SB=d(WS%k50!nAH*+-_ z`r^3fReP=-92{nxZ08raOUyA_J4Ct=81!9&Pk9!*XxRX#4<83t*mCU~xN=N9!Rg7! z2!>WZs~OS4hu06%zW;tjO3^19=x0^dDi&xY_w7;m+{=a#D}H;HCGQ9!1`f8#yeyAs zckUPNACL|M4&Q&4i`O2G|4jbM^s$w^e4TFOGlEqeSvS?p2$^1)*HScxmK$!^oz)NJ zBEyY315>|p(e@X8UkO*>ZE9>5z`)N7>cfn{3?oz$ADA2RYjpIVQMq8iBoKAlygb{m z!fZAD`Z=wqGzk$AQ8@CQ%K#gJ`QHAX_Ctl^oU|%`OWwI8WDr|V8sjmVw_pLi<8_N8 zaBx^zS;>)0C9142QrNwOS~b08=HlXV@*^1R!Xpx8TowU@^b{lFW6BF>G3k1`b z%^tpw@?H({iIY5fBoZ5v96@Iv9K`Y%7Y8&V;Dbf%w;OhU(ILt?>F*!1ts6Dbsq+jGUTtJT5%owA|&w^tH?u9Sz;EXm=MlCf}!d z-b@({IJ{QJTJ+B+TwhzH2qH2RC-$x1Ei?Vm5t2gizEHsI+WnFuQ~tZoXX0;%uj5YA zzcxwZg>aPQdZDMiZDTG=7fLSf$f&l&jN)M; zPl3m~9^A82RaJEo<5#|Tg4{7ZTNx=5=m*N4ZV|!W>g>h0wpZ~O(H0gEe|Z1=N$$Js zKwN5>pNPrYv~HZIy>AG`9^1}Y&!ujaB6~mkz+cSv^|xbn|8t|K-^9XDXdb_-9T_Fg z-)t0{xhIh{ShM{i6-trRR;p&cs+WU{&zd9p?xh&ApSbq~I#nvth;M zK_feY_bi)K-fd96OyR$Gl0AOC-QPk!jG;+{%X~d(w75w?I)E1xr%CJiq+D)^`8l2B znwBxApJv3=uhKx9fTh#~@$e#WvYIWkck|&M9|tDQM>_=Q?milRy#z8AiEe@6MidiJ zq}2q?rX2_exe5N*HTIDRA*T~&0^t(cH1%ACSGUf)q3*6x*GHGg&P5=ufy0jyP z_X2~0{BiC(A#|upag?)UY7ZP;Lc#*UccTP6WOPTV4J)q+Bhp8+BFJ+jjaBMTj&SPq zb?>VIv7}&l_}@!{i{HG;ieO zLU+OUv&BA}>8?%l5J!dJwb1!&s*0f3Wn!9e?xEChOxQn0OD5pO6YTf;)UL4{&7nQ` zS;VAS2P#zHt4HzD#*>`)iCHD1YEjU@t3gFHWDgL!(7k+Lc&3q7lHt!~eYSntPP<;fYSuCF8rU79fgmnDQuP9kj>jF*(wocs%y+O1>2rSI z3vK(iTH5XWg&V&GQ85@pT*m zJ+WTy=y*O{Ogz;v|3++S{Oq;Axd2YC6AODcYU2VH20S{}ur?x9SV;hhmf=0$%YipN zD1_1$Mv@@Zez=Hvw`SXoQDD!dOD^>5?E~qbTC9Xg((GSr^}y1ZALeVezcb0dQc@aw zMdqSBFg>+S#`keNU9O))M^8m%Vm|k+531qg{`pH}c(2pbS8Lwr6KMO-D)!9bz|cTK z<6rL(p`37Gx#^lh+!nuHH^AY-hatFqZF&ao&BWkG8OFzeM0hJ zcLAEWS1hIh)pyR1KaCN3o8Y{G!&{`aXKsRym}Gp!`}FZ3zhnOn>1Z%cBq5=6hGca0 zs%^vhG9cZ zT+Vx^>vk_z=RpnwTI|PS>NM6Yf+&{TO2%g z13Lx@L3UrPJb_NYp$6DZ8fHX$Jk*_QbcatTI6#v|M3ko&3JQlioFBvz`%e<(MqG zOlCMR#blsTUTXj;%Hx)@mXA@a3_>Rj2ykyg_@Ks2OUCf@iZ{k> zA>AbOf!6`6cY>)~j!DP;h3aen{c91lcWR9Yj|};n1kK&F=V;Ofzsl+(BFK^B>c4$U zWNl*|0}c;}XU3p1mtcATH7}{k+)Mi|?I-D;%-xZ)L0(qyX|1~Nx$sNzV-80CMc|lr z&Y0d&w07^f0c)bx_^rC(o6h;-!NE3cDL(tv34^$zqxn~)otUQkQ`?m~?Q&9loY@%_ zN(DK2!bm6Z_QJwGk}=GB3VPOuk7bqsbuHS-Kd6(0ni^v|VE>Pz1D2mZKc?+r;3R#w ze^`TDv4KK55J#em?T8K)4#4I4M4K?rPwMpLXlv?~HS7xlFzJ>1G6$J0UVZwk9fG${ zSAX9KIbFzYVGQ^LK)EihDB^ns?s}>J*q&%q*1&-K)WhYG@QTdla+SH;Lcb;=)ydxD zt@@0-yo~B%3sZC9*2f&(`r#8l*Z0d9R7*4WUdx5n)RrF1b!H?~FL?T5SCrb89baCK zD7{;ha=NY{{TvPT4V8IELCC$!9O(EcnvcOmsHGMvj%Jjt6LP?^5F<}4mX^8K>BjuR z8Ju)t`8}$)Rd}J}5q2Lu!F@>S?m*&o9G`kgTgOF$Te1-3g9!&I2!t^Ky9=Pj2Oo~U zMqb>wf0&?~O}hPRBVl=BJjAKVhy+znFPwn{0z33%9!?k{O{?8wgqJ7(l`@%~%(B;F z+73c>Zb2?-6`SGa<9Yrm`Ahruv182CWUYT>{dqAuRiCsZ=s6nFI|_u1f(nM1hw=i& ztoV+*W*%^r#U#>Bfxa*4K=Lv&Zyb*|lDBzJ$Q2Y7m?A{mq`kW`nAXXzjt-7unsr50 ztWy0>Q7-*BaggOL#Vmhvg%Rk)^(ULfhkB_iqnMkO*i(R(2+KTcbrfX{l(-Q;xjfpe z`I>E0@+Ek~t;qu(bygS>Xh;yaNtAQgag~ufTc1oNnuCX0hUg)H1zOra<$1;PqJD|Y zl_imX$9cT|0h1_XDHLwWGky7fP6|3-9aJ9H*q_BN~}3T~SaR;;@e?>tf0qekhFH+zKZ; zX1F`pN&#hMVJTI!n17xVlGDH0XWC^1L1fL77-}(2HY5&De^9#%rMUaOznt#l+x_XE+1C2l77pl<5AjDaIH?$PphQNn}Ao(yBbXUkO z=WbnPW>j?dn9~_GJbpsBfoJ<9HUT)r+*tjE7)n=Kf%2wb#&wIw7~mvxpiWzw!KfpX*+M{8`(S2lq)8QZ8T39@+H}`Ree{Xn_i6h zrOKoG2%+rD{xkJ_5t}45rUC+d``^q44LX?#EFj6G6Nj&nh9|8*$f^2>BHSFX&b2uX zR$I%THX)amq^(k($&Iu z6XY#kmvIGI>+3unp;vo7x!h}&l;NX@K_=N6%%ja`{?3IoJUk)>KJZ@Ve2YkFg5y!u z2OMEjVLUqp>#|J0!3}yUj<1oCV;74)Wc7aEX{ui+-XJPh$HsQq zPc{cfN9F7l6=%nr)BEDtZlXwxJxqo4EurMG=ua~xiy!H=;yn@j3|ch8?yu=C!CNq8 z#7Q;#9z!r1;8ej;nc>M4?1${#Dcu}&s%wm+APCi4ycUKF_wx@?Ni6+=22tT`?{aGf z!G|*tCjGLeqJ<>C>zQEm5%o!?SFVc@Rm#(L;~F1=((dhN{aVe?0VzD{?D*{X;!-oK zQ@RQAV|#sT{fE^w?Afd;#|GMm7!52RXLrpX+lLOXd_Fbpw$rVJNLsDDp^P7P+&moH zL^*>exza3rI=63o;#A)^Q(xa#zqMr|Wt-8^KXy#zx?n$B+b@3#I3)y7PA$qJ^v3U@ z&;2P3U9eQ@ie+ka0?>%Xee)ko!IfcuqPSXYh;}V{^=1rZPKR1Bgl4$%4G!gC?*ay@ zcLjWf?VK!UuXwW!r52@{4kDF{E9}%iO@|Ht7@CHb`4|~%aF~7enf0Q`B-yQMTw%UyT0Dc|uLYo5i*uo!JLWc#3=~ZnB8VKi`v{HWeqNL|OH&T}d8M zsUSPQaV`i|cTu;(9$w+82vL8yol-@(Z@HM6o2`pNvO^5oalb?!w?L?G(PXw5eqAo_ z4!^HrXSm~WN+J>`4=3XCq7ObG<&nsP;FizQ_XyN_&lMG8;3))2t!%B^J51hbkcG3d z%PBeYdinWj_W>W4Dfxtu}Xe$Uj_*ES|AjrYsFXinZKunNnt9I42#;D@AFs-3*R z`BBQh0eqva8Y{$?MO)(Yp$g zD&T$eeX-+Yf)wp=Sk@4mewC1r;4|xDIe#5GII;85dtvq@Gs{q$<~amK1r3|xEi}5n zzxGJV-rn9IMdIG$qrigMR*Ghur>S;V*A=$(c`^tB#EBCs3!)Ek9#|Z>qmbfssxQ9f zIsHU@!Lx?ElkWmABlT@=@yW@jU%wtRAt4+RK!rSXU&@xettqSHEzp&XRlfGp(>JKj zsJx#pa8J*63)$n5LLw>B-WhQfEy_ zr|*bt1_H0GmXX73{bj{ONtRrOM~+hdp?JQcLWUH)&dVu(h%!>dH@*ENI#l&ZbHDPZ z81x!FwdIqSFFy=RgwgSrZEsu6vD97X=U)?YesP?+!Kfb`t zpP!$fj-*d?#SuOn9r;ZDI{zS^(~>QUAo1R#z%5_BcV9{xsnGODsf4*9@7nvjZB#UW zoytGsK4GE#YPh$Srk9(*w$dn%`&u`YOsTx`>w5ETq(K&lx4^|GhBDP+)Bwp?xQRdxOm?oTmTf^JFm9<#CX=vV`ew1d{&(`3U zmzT9dySaEWnV=#?unym5__{nO9?8nc_n!5LzsIi(wCerVOUvg9YAUDJD-%O2$IRXi z%uoe3cpj)M(ksrl$;5kyJ=z_XyQJLaAGI$!=4+Vc!kN5_rIW(I<~s(4_N$}*D+Ryb z$$s*l-Mi@IO{CF#QeYO1-r7zBuVDQC{rj=u;m*|%-lyzqGM9GmJPOHB!xYGa784tk zloILa=zb=iv%JD`NzH}c-<55CK1N$Z&}2MwPg>r`!1Gv-Vx~=xtGlSEs16yEgk$nO z%hA|}vVlWQ-fTpH@qoo&WQ1{!ixd)$s%XuO=~=0&4bK)1HE1FH)izvu!;c7L+mneT zo2kV0qXL^5tFWF2eB=1o<~lYy8W9nxR1bXo91Q0{dJTrQ%X=6;h4K-~??rk$)2lg? z`!aX()NZnSbc&f^LHmxs*pQL$XxLKk_sOhCnS2k)(B15}Aj>LS`zBe{M1*^%kDk2@_N2sk zM#Jzj)U(qVn|V0G#@*P`tfHm+W9vG4xSGBmElPx6iUQp8mkA8eH*R)ym%m34=uT~X zzJWy3XwiRuuFc4QAFi?%h;QDe6JFlT+3(?&;KeaF z2{?|mQQT;-d*js=!AmuRl*to#J14(LaioQz+n*FmNxL?A5Rtg#b42quG36Cp7C59K z!f>FpCocn(Wk3)WUzQ7bAk6AOf2xQBl2&|z!LI;>G|VlZaS=gb;jdeyV4+_Rqc)ID z@A=@4-2ch`|9N(I*Zx7Cf&iw>sQ>=MarAJY+aE9p^h5AJ02>OvN%#wZpK>@59LUX_ z59FrD2L`#h0ss*JAU{43NDT%C0l>x&B%R#?O>+L5B+cglKmY)Q8UXsR?85vvGD+&U zz>SIj#)2fGTL9VM10^BAl9qw89s;0o?luM#%6B8q0RfbO zc6e{JyV3I96$kna59`@*K;bu-W(GhEmSu|<)YuDC=mdZjzCYm{68}wvCNWS)cs`IO z4G`h>8c@Um)FSpz2$axx69Jk5lrq62&Vl?iKr0{uQY1jc90rj8KL4Lk6AspbK>Gjy z{tuXY0Hlrrd5K^VO@OJ-ZnOg-5Mg=~;r0rUB!(G8&IcmL<^K~xkZ&U(Cx8vYfaGsj zr9J?E0jdj10U~-}5kG*x09Jz5fP_LIVh#={AsL9c2Ur;ZYjRAW1T(%rA&B!f0@MWb zJZyZ^0qy8Eb~92M@WF}#fkt4WMmOE|NBf_CY`KX5jRRpj5b>w~!M6j0gYP!N_@<^1FW5M0gBiki z*SR23SV!9dap%CehBW+XEx?AYI}ms`t>o{9yeH315@?3^R^}!+v%0F0%lK#z+6Lx~K|X(4H0y2|%eq}E zK_P!uY{2lwKLF?j*a`tN9JW|J1}Y7V{Ui(^A_=Il+W}xB5JH*()i40cfsHj7fXz(U zym<_pQLwz3Ks*0}&3%}iFzs$!AW$&he+&SAfI-OuwAd5a@B#oR9vCLT9E1U&slNXK zAkZQoZ0Z1NfSKy1%=ae*+5r3qK$>n-AVAy0N^FGnY9nmPdjdp${f~M8fb?MP@c5Q! z=I-4B5G#<1&VK{`YvF&}iuIP=$YHDeGrk*ell1t%0Qd=oQ6}gMkW&y=eHaLV^&9Y8 z1dHh8y&3axxBccu!gmuv$9F5i&3BUp77E@)^zhtBkn`MTDXh8CQCM@U6czz11t#&Q zSXh=DJ3tM8jPe5dB^1_V0D$!H{aM(^L9l^%1%OBVe@fD1fJN8>94Z7Xioo)#DFM_D zk_Jo>K3MCz0e}%`1z8~F&mevVwBIJ*4Rxl&dIkWEUtqMWDpx{u78HDUG;yI zxiJGv2uwZbLp_jU4FHjPV6Fk-Ox=x%ppU$FHiPT{`yu;4A|Gu1WW5ETg}a{844_&But9T^1giSu0g>D-mH@}N{h{J_ zHw+JBk3W*n*|;6m+9?qnI2f( zAak$?*eD&orT)fS>i>UrP;QL8u@;p4r_+I+bVG(^sJ^WOXydLjE`W**SYwL=GOG1} zJ-o0G5QzqKs=xph5F>jBkYNB=r`=FsUH0n_0D%C<3bYAmaif4yR2|5T9SDW$z<<<& z8o2?$ctmT#pGAz&^u#SR_=080L$-IdG)%@u&K%x%-Hgz}Q z4y?mqKpD0U7vHcejJj^To#(f7JMw34-c%ff#dp^dur>im=*H~^0O$p5ssrIJOjh~U zy9vA{F}JE)R)dv?!*^4#TPuuMDsMY4=(h7<75?M%yyS!JI&QQ#R`A^wck9r?d{8XD zTT+8{FHixuH?ZN6%J*l|g53YOOF(`e064)m8GxS8u!tevKVt=y16Y_0i}2+AL*9SF z@3#?dz)Ar+;DvP&{GXcr=~J(}0b6pr6M$_1&TqXl(63w58(<^2?hk;!0l*M&%L7Db zVafoX&kYz@FlBDA=>Qw2eYj&IM)uS=YLNNJZY88ve1)`p!DCTk95KWC)Xhjj%G{ z_cQRz3p3_3@4w~z-@48ZGmre%t@?C3L?IQoW47auCj$NhZq~5l|A3ptqWccq7N)(;Jwif0=A*I#erJ>^d%ZVx`ME(KmfoA^GShCksIvX z;6C7O;KNd200{=9dH;bV9N3%#fF{iOiUPK(FZge~Ax$p+JGHRNh20j=n15G5%e2&{lxwYQZ>q@MEi)(% zwm*WU#NCkzHQztb_{ZS_00g!b0qWU^2aDJRDuK#>rxsSgN4}c^U<7+pfIi=!0^9&E z|4#vbz#qNI{{eprfN?6U08sc{0YK~jDd0veXdYGx*vbqEfsK^F+ocxfBSgb`QVZsU z*227BfW~h(Zf=0f271H`^WlKnMe)GAI+)A?=HSyVuH2#Ww#V>e(I1sVma{}g5>Y_78M|IrTNhczNl9^jJR7yto$RG0%g2iv{D z+y^&8pgElRV7sx~N&tTDZLL5M@SlCh|Lf09T!$d&|1$07X95n+2a6C|-r~cL;F3lN zO@Fe_cN^B3T^ zLU{{v6L@zH7y4%fxs4G(xD^q&%_4BCLjd7cslaU^0=K0KfbR^vGrSSjW(3gxf`;1z zzJGxK|E_Hap#OJm6A0s9a$uT3vVo>2znw3zz4D(EDsn8Kr^0|9yM(Qgu$AEFt!q(u zyZ8Zz7dPwn>stxns1X>hyf=FY0@(6m#`|YS`)6a20b9rcaI*;n05E?3Z0$igY|b{`ZtWWjZnySsQ@0Tpx3d~%Au#0rm<)mG_)~`?zMD$Hj@xc)2U}2Jo*k@U z7=Xa`rYC=nD*?4LH)jg4a^{}i?)qU7uwDNj3E1BLPZk(^w({MsUa7h74f+n}Ys={|l?;5c&Us z|L*T^b9KPR#r}T)%%6}0N|}3jE8kei_Yd4CcmEIglLY$C^AFq<_mKY|fE_1%{j+zG zzO4^r7UnI%1_|x097OcL;LpaB`9AiG41Mq(UaJ&U_1EvJ1A12CwyCHD9JO7NojevF4 zFlHY>^h*fl5LF$_vkyI6#^5D_NDDmvB-(W-1qI!7>xEtgjwQt z=&DC)<7c9FC{45!@Bo4Ly?$hJd>z+Mz=m5&{TUaP80>CMAIkP&+hQ zM_-^%v>nPdZ7P6p7}gG*RJ0fH#O#2ky4wrLsCGcRdCUaBcLsvsQYd|DkuMwg!Hj7= zP>lzT5U^2J547Sr1Of(@qf!<|IdH_uiiK^xP64O zde|?*3s>}pNBB?bZ$rM@1U~RS0xN`3L>q!Y?kNCKZ#99yw=4V!VUd3l{u>DsfLlo z9xSb$4*jD|_Dwnzrlp7cChSALP3YfBgTl&%g)lqpy;WG;KhQ9`_~LFY?i6=-iWP4u z?p~l!e1XN?-HTHkTAbouoT9~{XmMwOW%;&!&-*{;{<}RF`|$iiG8xItB$G*EhR)sJ zv%M#zhTatyM6((#{jov%qlYx!$28fGm_e)Q7zi8Wke1H--s*;(#OL646Bt@x?}eP} zodPiSSz)ug0KqTkniMdT%z+>zE5Bd*jP#kEUA49vUL}0jffDNW6l)y%dnyI+yoZ7@^1nkX~ zl5Rla9(h71KBCR&e{G~hSX%M>5Okmax6O6u#&$lqi}wtpc0aD4zan#7_u(P_&Chy7;dS8br%E^!w|t|AG0ggSf9yE|UjW zp-t!p0~|f~dBd5Pg#;&M|Izf>R>^}t)&BPPe_&FavYbPI8~u9zUu;BIWA+se-URmi zN5W%x^ePZE6!{-Ejc)bVaf!xX`u?kuLt4HL1hX$fsHXv4Y7dwI`%cldm$VaS;s14A zGvnk+&md)YFZI7tAt3Y=lC9g%{eQb2nR!x(-1)WrA9j`$9nPWWb&~&a&posKIc^$h zpx{4_<2*oj6@b_h*Z(z=LW|e{(po6~hwpV+Wai64hd#)EjXa|@I`BmqpKt#|MzEq{ zy8ZS3e?XowbR0_H-9j=>)KQTaxpF?yyN}%j$oxMNLiqh5@Cnh83h))u^01P4CKyDm zPzI>u?D^G!PP5Dr7^Vmd{rW=+{W&fay_e3s%}oF77gR%)zOP1U+bMm>kdj;QIi>re zIdN!3+uYILk_LFn{F*7&_8y-p)tns`cP3cft!4*^$t{t6w)34$#|X3EYUn~oDQH3O z!__YQ>S|6qj-!V-&ixe;#*woz1lNhzG%flxEuu8Q78Tl-FzJtP!v1lfPwufx+tAR{oa#1qQYL|2z1gNwGUbg(Hmm|FaJ;nsUcwVR>_#N0mLiRU-tK3AiHh96S z8kM#T-$aig@duiuHBH#+Sz{oL(o1c*_e*Ou_k|sarx~YsZk#+o>P`;iAZruyde?IV zSN>Xzixcf&1|}7m<-BOwo`yMgD2F{lhnb$gv<5vQyHr6LemeE^EN~3>z+OIZ7wwwA z?-I%9h50>#MBJtrQqbUyG9rH+>>VH|oeSYX`H%c&k{Mzu_*|1FMG)a39=UwM+n9o1 z-qi>o!$pr{KrHd8~J4w87#$ymON1kPrJB=(&|cGHvc( zPX=L#Pnzbv8&zO-kbbH~=2KIbNhzCzSLXEvaiqrA_f3EoK&KG=gw z^b-9PE~ll4-i$Y)aM$~tNAuSStsX=xQGyqVsfF2dfXSEf8PwwZ&t$S#X z@F_YuUhbP?R4XRFcxrJI7Irg;6M-K1-UPiw6o8gpLcD_aUYlML?x}&NbBh|As)&?` zw|krZeg?d(E+pY_H#QQudCvC<89X9EyJ;`Myg zD+QsqwBj77l2RhwL!DWQ^2Q=22nRQVg#RN91A%bi0$79rlJ4>1r4hE_H`oUX#~7N85Rc?8l50Jezqz0F4sDMG*2r!Muz(lkQO`?F}vy zkOHjTb)wLF=g@45k>jmiMcegKv(O-%@23*Uw5nSneBD%vHZ$H8G@CiI>uoV|!~4sQ zj~v1piT8Zz0KJ(CSNh3fzixRGxu@xoQX(Iy3KSC~s%zi>zCd3;Yc z4V3}GmkMJN<$Qt#2k=^VDz~)PDPxKVU!NTO>{#p40D4-O)DP0AKW>lvHwLUF(lvfaI6d?w54Z*0k8kclFv`!Ao6ViK$tv)_(Ks19l*2DER5g?X^DZ1yfAM) zu;{Oh@We@pqL_^Uu`WYsY7EgNfGMe+2o-U(dSU`MnXyoWe~=a^SyG?G)d5iddx7g= zt7L#4I z>>nSzeikCfeVZZ%blYi$@KzCF1ZoY>7hEk%H%EaO4_@L*|NN^V##tndImJW=eH7qw z9GOzUFG#!O^%fz`ORs#AIT^fv-8rbh0G-0M_yB78Y?=Py7sx$Q7!w7uSHy^$p@+EB z6vBT&alZ_%F1#k@kS6sJm0qD+M(N?&rYu-cmKJmg7r3^i|A*85_9n*s*FPkHs!x8w zRBYEs{Iu8T*|i8(v)CSC7Oe>XSiZoRH_cTohqy`OL(M{bN~X!oNqs=Zns}lc!kn5w z{ST!#Q94>+g?=!Nhij}qfr`KG-@R;xuKT7xULCcSLo6#F7_j|P>zw1agEat|#7{xt3f zX~A~q!f6@if1HXJqrs@`>A0iD*`bIFkDvYs3~VSWDmWMaAL*LX?rxEl`&|_RTEU#C z7#j`u`Hp{w#@M{Dog{=P(+}-pI)7slx#vp(a=9s|=5n7o#XCx{EO4~k>v96vQ# zlT)4ppJy&p!pnWOPy^G!00Sx{I}x%1YZOViqX4pBV4(vz&U)=cFbk{`rTy(FrN>+l z_l(v69Mt`GAc}%rk3e;11bCx^M(ToHPBM-R#Kzc3v~ai|=&>Vb036td{;x|gYwW<8 zzVxR5UzdSYy!#SK#)ZlPeR@0z69IWf16@;phcD>O2D07FU=X0o2a!mCsJ#8NSWiiW z4kEDd^4m1(vultJM9+>|p)JtL8S8p!N(CX5pr;Og)iFL9PIQnYivv-4WmJ%0ia%O9 zN|N`%BTd26Co+oy!ce_n;4Sk{P2{`BU>-5)Vp?;|@5uww6(3xX@!ek|Y)oTm;PDBf z`XnbXXA0mUo%n{a0lWC{6vmtYyWh`4a6^DJvj*r;vzRg4L}w`)Y{1JFgvR4bG-wh+ zFR@v*9M%SG2kopH16_F9OuEMu&lK}3OXWq7P?#s}FM+O`za}%6G%Ozwnv8?!FKogP zc&&Nf^Px|Ymeo8Ri8Le&dS zB>=Vp;l~*u+Y<@$|G=8=0i_pOP7$+3v4!}@pV+$b` zxhg6|Kw0-ZOuT2$i#IT3{gCkhqZ<=}ix>qHai0=kzU7bq?ij7>h*ArLdHM#)(I0MC zeLv%IK#<)v0J+;4bS#SiJVtm1#b$AyKCqR9Q{k&NqS+Ok7Zl-6c?D&dJwtn<#KF5A zfNjnu9pI#gkxb8N3Mg2;2$1vF{e_oiBkOVk46L{RkT8^^MDmJ#Gjwr5cng4jFHz>c zXZ?#-kG8r19b^dKZ2L{FzKkMg;HQZb8x;K}fZ!023_tW4_3Qm-tWCe38jQU>#Kz^0 zHfCXCbUenK@h-ESW6Z!e?z$*9BS98tR)M>om$G=XIA)gSl-}h4v7XjN^YdvpkHENM zZ!Q!u0)Sw53IYXkny+RIec*e(67B+4Yk<~=HcRRGfM_I~;AaUIN_5TRzfMmULhJqu z!_1PO%8!L0CI!$sPe$!xk06NC1O{S9qx^!Zqw4KsMiqW51Jq<|N`%*|0_2rTAIKiu ze}@1dnh|8*<$y%KaAv+?C=I-QkJ$Kt6hTr+ih@^~59FA8gKlO?Y>!dyNA!>W`miBj zXFZDD4I>2`zbrbl&$l7^&Z75{~xZeEl@QMBPZqWddMV8^Q%E zAQ8!`OrT)np+tAW$6XVbY+<${pe9efBRnr2Ag>>Mi(1+Gf(hU`OdPyW2pC+4i^MKK zNxC~7p|Ns-39}R(Et23&p5!nE{p$rmE`xhJ(m&xEnbi<94q_C{hg%377=i*>P68@q z*sud-O`KR|Mx>Db0rKQ+DnR2x5cJP2$HnfcB?f3bO-Iyf1H!B{KFC;`ApEPe(d}xa*8sLya7n+&zh<(r82nP;h<*JcT0vV-lNJOZY2dq{fGp1%&UEh}ciQ zFM5V-7#F5z-Um*c!JTR-Q|qpSId-<5md51JCOgqBYbMl=6UXMAcGVYN>1&a(Ichd*)gN~wGS?jI4% zEH4a957@j5eu5G(I2F=(`Xw2K~Gkk;ANrz(UX^0IAJQ8 z0LPB_7YN450O7CO_Q>xvF1 zX1P^I6|Qb2^jRfE@~A~3yZa!5Dtd2uBeisD1=xo_#USblLTGi)xzG#^W$T%jRtfw- ziqMR2G9aT*1^BC`qYqaP2WO8_?d_Fcb7})>zc8(>=}>leKH|2YWBGQX`BtF#$|&LZ z=AhxW3x!PtxD~^Ao=@U@M&P@mL{i5!3=rJbw!Hxu_2zr5cIH8UH`bSZ$U9l#o$SS1 z-EFCA0|9PTX%tsXh_`dq7tF^WNXG+BHt)zF96@W{_r6mtS5g3Nyg+Nj zZ4aLH^<5!yzc4-D2MzUb1ooVYc1IX*vbJ?nx!;ulQP#aOhR?3nLIbFF&!51C zf&O>R0MC4iTdKq7d#9k4=c^UO%uhn3E#~i=doSOw-A-(@pp3TQk9#>|PCIXqtP-Kg zZV1=KDh!_oAyt6-gZO!LQkU4(bZSI?9W$0TT2oj_!t;y-Qc;6o)EOTDfGACMMQn^0 z7ytkOTUkk78vsB^g#W03sPK{!6geySA9NQbeK!CAlko2k0g#<}rcQj5J8E9#R1`{!a?wx69-IJve$+$P8fNvw3~*!ha}Oyuk%gO+DWGQpc;KHZ zeaMmKWZ_x_Ow#bL*ko=53;4fNL(%d2xv`2FR0IE3W;93q+m;2Lkmhew<^PMObJ0BJ zxgx#_Q~^+)KWAqdQD!jcz3apmhtk4A88`-`YH3Z4pUKoei!uhBD|T~n1uSWd{vM1e z9etYRlDs37PX>`g8MJJ`3~jsqk1UVsizq9QleHZ1kA@@Ux+)nAkQ#S7qfZf6mv^vCUKG=U+S4(G#4(k2!xC#v-;SpAYDII&mK1 zsOz4`#6Z1aNYh3{Lq)aP9o5m+HRaL}zYqNfnvjP0OL4Ir74#zHGMIFgWo>QEUtik| zNWHrUy}!B~)$P#kx=iCL#o&Ttug!y?ZGPH$N44aBBcT2EEqzEx2)(MBGDcR#(0566 zd{Z_q14fSA9`wrb~0lb92u3BA3&#Vws7d%vT#xnMB7Do z^L$U!4cA>9Ox6{7wzO0eOFGqgvjexXzOJu)^ey(guOdmZCL0Q~j0z>*G+`F!G-;W{ zUACh(FDhWdjn{Eg;&WrnNcfU=;EN1gf}4h?O9)|tp=+VJ5sid|#AQ>!bESBLlcA<- zxx62!D3xBmO;*8g=uoF>r>3Rbn1s`aB_%G6mz8h)_&Fc<`Af(1Q}=KG6X<{pF%_-- zm_kh7D<<)o^suR>rl$IUXGze`PsN=UDX5sXv6D)^{F_IV;Q=)X$;)mT+>o zsn+;C%fZo{FJD8=#|#ioMwq~5<<8GxswCUIC8qA19P0FuA^t?(t72*injAr6wi*sM zKXgLIIoWFoqLhs={-~YDZy31Jm~A`BZ+5>8Q>WSHffZ^yeyi|cSwhY7{Lg!-?+IQT z8}C0!ymyqK-g@~UQKkn-9kFBY$FAR)W~Fhr@@2n$5BYFUQ14ZFG+4kY9?6u&K+&h)agqS zeDTfA&B;(q_${GaO5lu!;yowoWnDKe?K^a?9k~b`WoOemznwdOjl-j(Qm0d+`)Oxr zI9WK4=-sMs9hcTS|d@(!!ug?lsD{u$V6#xIKr{s?hHVE$uUe#&9? zi~DOSe--t7NeiH)BnKj%z7KgA7jjB}xwpkpobLPRqBrc1gk1~Yx$gS0RJcE7N+1@2o(WS~~ zt`k@SC+uZDu#(d};1{>PAop}WA8nGOa4sD{JHF;9viyV7=j}TuC;OW*d{l~rJMk%} z95%TSxq7qSVCZ({$SAkUZ(lF4Zf*PNLkGcY?(9FH>OOj>=f+(-+PcR-iz8lLzGbQ; zaN-8~aixyO^=zR>JGc|<){C{q@UiMI;s^OkA?3f?(kkJ5n@h?LOoLChw1aplFwo29 z`33pCX{BGA20)K(3z{uny>vhFw#jK0ahh3NVRrkh9PNjjPG5bHKvh%*DdqB$@jU)T z`Ftn2`u+tPAoh z+wazxZR^e3M=%l93h^#pCwEM*x)~dPCdGKZ%$gd#wavdl{Ngd0>$0D;S4mf)s-@PQ zo8K_jO%>1kLMen$ecn2jfG0L<9QOg_->6&>S@DdAMGPq)j3&} zAVIB$uX^nrzW&j|*pizq6C>SN?!j))Q)VhLO{kE&9b0CSfq_BCNK^zV)+BCUf)u~_ z4w!6&+u)X2wXUns(uS!)Bm#Js4CNH?+(2miEzJOV={0FZdfU*>Dk)!#?Kg-E&_=jQm`@-Sq@GG5tX*OA<6S1!vI26CQs2}^KE|LrCU0+~@OZWuj`MW^VBTiqZK6 z1V`m?;fqCPjlFSg6f5_4JH|&r&&Xuq5 zIm?fTA63rKeW9JsZiv+Hg}G8YD*IR_;l9N|KSn#+3}c_HDUGFeuY_48&h)4rxCw>K zo5HNKgq-u9dGHye9{HR{D%;3w04eWMb?x8Y#a@QW7kYq5-v%9D{^XQYwKF;xf9DNe z&gueg+)UK2KC}lwLv^&T`5tf69&qe+__k`T0nHHYIdSURzCF zYm+`IOmo?HWJ*|rDg!eo;=y)#c~42sGQ{Z9Zkh>_i2Hc~T);uTU$zI(12#@q+xpe; z_8%X=R8+7!w_^%C#t$y?WD6G6wIzrQ4^x5PNq*uaWK>AqU5;TZi^~MC3Z1s>D3+*3 z1|0bt$-=x3HcyJbeW=_nXP?J`WIS8HEoK?}WB0lW>}_hnw#dOtX0Ww!>PSUt=V#F(O}Vf1^Do zg>OK`%jTAjg8qgG<#G6Z_%SkX`KJt<5qJVj1PJI(4T^?z(Ppf*dL zz8S~sEyK2XZq#zw^EA#`C8=D>jxPtt+z9(wzMZ(d6P{woa!YU9M|;YwA6KIop*}+I zgR%XUCijl2&VGF%_yUEdjXJm2a4eDGC%Es9ido*}$C?qm8E_w9?H`Kc^@ zh=o|T%;93q&KchuOLloJ5lgUW?wtcxR{XT#H;P?Od=^@ia{K9`1u;q-5cHp}i{`bd zX16MA;c~b`5|8($lYVFbEAT%4_+cp@M(H9TcQfO|{`Osxylf*L#l9K`hXt8}0C?<2nxI8Vc zVnaUHPa6pXiKwx6uOu0`o`oPp0u-%6vnl*NU&O>;kJW4VYveusvgyV~ zJajO9s^tH^q#A>c-~Xeyv}u0hWoE{#3Q-}-^_Q$jSI!t!WbnbT%bnX%?)&?@I{yjG zf~wl@D(THFkN$_BjXy8xo2R<|fKK5|mAZ|j%)A8~af;r2|1}5R#uid(XfN~VC?{f) z=EU>=sy1nU^MgJ?R1uWXUhn`_MINEXK%5s%{`s~N#&lBLPw)7-A0#0?SD~)`_RX6H zAqV`h-mBbZ)mGa5z=?GEUV6oNrAEK3;|EB-(q}>oJKoG6>%aM#Lx*Qd-@ttiMGOgN z>dN}H0`+O$9*t?eRTL@eYD5?N&uL9Tc1b*dKLJ@+TnE?gLw>7Fv(wt)#D=lD3&ZQ7 zND;F>bE+9v&o+K9(YP{!eX+LdnKzyGRl~?X=1`r2@zy6N)v2GZza=~s)+sl*?y9uZ ziWciA2|N5C#RA0@VhC^Wiwl`ZaT2Wl|?i#Vy~_Ef~LPGg)ueJs;NXfQ0%L zQ6#*&-kLmSKQl3FctSk-mx{uOZBtG0%c!j3@7+0c^c0+L-vyjYw0Yl%+JCAP_D?sx zZ!(4JIFWDh|KHyS95iMxjNotz|7ucpkqRWq6f_1#sptuhCB6MFK699usJtiai-p=`W zEIe|cMz}6Zr&90fvhd&~lbW_V4)~1deoJ`-b;sQGMq;Tnu^WBuF*Q4b-sj&*C{&l$ znD3kuGp<8zob|oW3#mu;VK=5bM;mq*_c}@P^r{A+Jsa|2u%T7AEFz0470xhbQ3DRe z>RAlyj3y4DXDQoNHh>ig!o%Xx!;X@Ix4W{kyf;LOOo_hYm$h?HP@I`mws$*R@K1NC`BrNJwc;SAgBprx9CKkm**V*mj7I7 zWyR!R656f;zfCS$U!W4#xcbv%ZKdbi_!gI5S<|XAuzh=gNxfBtTXp^oDS>{u@bIT{ zF2iP3&$IQ<675FmkGfsgjBTJR8y+lrwD_yX(=Nl0em`SY9lItJEjbKYmDJlG=N@Um zyGMn`JL-s-auCU9kw#(Z^49}r#lO=-&jk*=wTvZpm_x5${axej)Hs83j#t_jG5h}6 zBfMzeji(AGuBlC-nmsx)#S2gaE z{IKa>@mA4JmDJrw@_U%3>c)&kx4u+B^fF~P>{^{#&&ew`n&y#8>Q^nfGt2{w@Ub!? z*%AcPL|-lpkJS(Nnr7i^icq5k%gVVvT{^xBWO{M9uZizRx55ke+eqc{&Y&?vKd6U6 zN2_Rq-qMCtVtcvk+k|5j;xRm2Qs8THvCpU>&Ao$jQq$C?E)_ek@%Ehgru|goYam?u z4M&}y=H_#p17i5xnnv8FB$)p?Y=-<9xMjj>hzNV)se?>CNPB@AkGRPx|Hb1C(?eRjf@p%{T*vRz0iUzV`KF z4OuSyzPit3rL=cd6f7ABqIBDx3CN^>Tu)!h8oxId^Sal*CK+-dyLa?`un*v>Y4fg$ zjGbe`BSF&NO5T8SL^p+&t90h-Tws0sR;Z<(FUqJP4r|q*TW$SROf8m4VH0UlBPYe> zM|JUCv?@p*+az)t_QLH(o=8~$K^yg)2l}+})JckSGl30iAUc!xV&Yt|$Cpq4gT*-0 z5x-SfP`vpyKgmwS`?wC6?B^kL$>DTSx2d?5r9au`_8Hc5M3tsLFa)F}Y^R*CODfnV0<8b-IAC*sx+&pvd=Le_7+2_UWM8IbfcMy-N z_jQx8C`4M6iTDkDR_@l90=dSwiSD|TX#&jadyD2L-u*|;NtTKUDy8s{4Jz#63^p0@ zm~`?~7I4d4@3x4e{|#Cc8yLxpC=-**X!~j__H|fP05$e-&4)IVz9-i@zTwX+f{UgD zsj6G#aluPiA+El^IqVW|xlLYgMiZimi%hOKwSYpJRS{V+fxr&9z6(4~=nU zI8A-Tq}UNr3++k0$J~1p$EU?35?h0@G-8&Wl?Be4dzz~^-gN7c;Wr-=l1TjFGEbG@w)?mzQvrd)6)oZUgDLpvFpPsdE4b-)n)GNsuTqNBvTs6K%cz2+T6SAK?;f7 z3Cx)Kbd=>u1%kM*?2vkv%%%t=Q+tMQxD0+n-?akP?=>eqF`SMvHBVRCO-~^M%q0ux zWp{9Qq{8@3^_us5{jNjtBP1&SoDw~M`JoZIDh6w(0Kt?L-jYoUcVmQY#YN62F%gm| zabn%!qUbz`PRLI|%v^eSuG)^!Hd0KVd+K~ow$V18yE^W`XN3Kk=rq!jkY3!;bPmIv z5$1e~Z&V1ElW?bZ+PWP-_e4HWF%)CHMP3%<2>K8M{q5_|deorWLN`DX%-!JE8kt7h z_)4BU&e~hJQF5mm>*9z7h=wB@VcvsY2@iH1UQMsxOx}5q$rg+JER%$qaee>8#3kK) zw!Foq9{u9*H6E#U>h;$y@j^WN!hxiV-TvONV$vkhUC{es%KS1(QtT^-a_2}e_w?%O z4zjWnyDF9?Q?CRhYs!zwKLL+c<4_8=Ew$5-|5Q!NZ6Exa_AqH0l>F)LWaDUjHexqH z3Z^)Swll4S_ZpD4H5ygNoo;m#%f3T4 zQ?-ec{^p`rv+CvDc+vi9_D5x}$Ud%^OpC*vx_;XwUA|_A$I<)0YZW6gfN@OsS^AAV z+qnMcNCA%hnH2>fv)b?bdA=RfkROVYbZ0(`?N+m2)KKmUbtmUPKIJ%fui^d>TVudF zq5pXB&Y0M@Lq|?iYRCnFO^$_OrW)72PSLRLDa?C_Xl-te-OXTM_{6?+N~I;ec^2R* z{=U{=w_#u#lQqVxSwL`r)HJyxCSj6Ke|6EpEE{7kpo{R_|$a4mSRtjt9&X<0BKfWIhBdvgDWi_ zzQG?GZ8P}lpn%oU|9-4~ZKMdF4~B9@>g`5Y=#yCpNm>%r-;-dL958*iCLv*RMAMLp zxu1GfRS>izNM0exY|BdPHp!mKh-*y$SvMvDSq3FvDB$Bd54Pp2z$kQunDkeuh}$Xo z&=RSk?&rtuv6`0k!;Gpk%SKCTPsHCk??8}#0{#5%jkiS48#iw_9_k3!vNX}Tt?W9eLOvZaHHe%9=m_k`WTqI`bTxo_@* zDQ65lRF=g|4>P!oT9s;lxqt@4&@usS(vV)*rX}@Njb#Fr*sG1MD?@)&Sz;sX4UX&S z!>n;L*D<$3AFZN(GglGWz*<|k{fV2>)hw-xy!ux};BD~YJ?FFE?W%s#V9XAreVsM# zluq)*#+yIs0lqBwo{yrh;ci(ky#j0s!UZ45!5`+)@Ro6@$@xWt>>Z0jSNF@b-+Q*t z9es*2=DrfF-@bZ?{8N1&NqP3LZ5aH<5T3o4`MKlu$Uv>to0Um7*9nisk++7;-qa{j zVe?T+Kk!Kol@$ECX1qTZ&b`Baw5Sk`H}dMgafSZ+bQPrPk-1jq3d7~cqAPGI-?)hC zcDJdzZ;PShXZsVczYziBdIiZPEhpugQn=ge^9z|mw-mG(Ha@K(bPO?R?Y!#l7Mq<( zmyILT>z(D6mAr`3fXI9fm1@LRRRiLtKc7cPT_XnVTQD&rqdr>H%dYfT=_nnzI11Pj zheTF^eQ$phhM+w?mQ-Z==D9^v9xdVdFn#)yIzQT;%?Z?)}{(?r}x{d~c2htnR&f`$b5Z@tb@fZ|^ZuTI%q(?ctrd zk(4aVA6aQkeOUr8K8Ov%q7T*BGihGHufvGk~WKc6l|Zj zuO1I05q~6-m-iK0z-5;G%idohQoF`yel0Dp%<^g(;7%a&PCvH1QS8`ML$E2^E%_w7 zT!c04Bgmd?(2U!5)0TVKxiA|Q5kW0@l~GkIj32czHNpS77$)2S>p_EG9~0=CHA3Sb z<$Kzx*ac1F8lB(*RgC9%OZT1M=W;7y#6hk9^o0w3sK0ek02V<{Qe;)?Z6e3_H6`tz zVc>edCD*nm4(BVxP^%v*s3Y)wI2w8ztdvL$j9LEJ5t={yJxOs3y{@R>P-MhFBW!p^ zgF`NOMpf&080J{aRP`-b8Qf%xdkyV^SWRw5Zy#kT@@^K;Jfz zd5eD8t01RlD+yXs!?-tTc3NSo;xgDh@?L{Aw~VN9`G0$daTW9q@97h^Wpjv&*||?pY znQn2uSpLdp3`o$3Hm)mgvV|)XNi@TRCx0B$!%{X!3 zJ{}hE_9<#aUN--8o*H8HZ(9Ar-&F6iq=7%{B0}XhmNa>Tizd)t<=*Ken@UPL+E=aN zvFQMN8_>H^kqAAksI1XkPw2=O#B1vKI_ z(hj}VVdv5*z1KSSTL_Q0XLrhd;LaVdSbjFG4j2BJ#=y3Z(*e+L!@Eb%x6WO5mSC{l z>Zf;?bkzzUUfD~g27O7HS?iEmcxPac-Fc5q`_}&NroNUIx3bfE$C3lhVO7T&OdjJ;+TM2x(bVzH3HA;ToUXD4ymT@Ju+?Qlo%I%j&73IoRDo0IS5eaR8nB8 zaLtzQb`~XemWn=MWtI2Yr%1eVYZ*rT($@BR-DQkpMigPB*QSpbtN6H_3ke}GJO~uM z7`TD>mPFmvINhqzm4OfeU(c!Wjj)gWjI5(>tx;BmqD~4v^72A@y)1;gu|rdDC;sVN z-|_qH3;lpUjFQ8}LOH#h-@@^CUt7eHjDQB$uwDHXTim-u8aM`tseP}tHe`QSR@J4$ zm(cK-W__?iP)Jsgshb!cNe2^cqT_{yWGr_}h-G1uD*s%PD15Wh4|bKGakbyRGpeRL zh_8VW3@8d}RSylg4I_3qD*0CNlayo7izoBg>Ht~s?Si8K#qNB3;?-#@kS;V?!D%q~ zMx zEVF7XYx@xVV;V+C;qhEzZ=D_*ai-BlE#UZDAU=OwS&Jk`g7~GS^T(N9$w_3~@*id| z2A{_aiSEcoJh>TvA4ap)UXx!L43*5JF^z``D74aMVyoT0b|QO=jT#Udv5@&&zyKXF z#CDx@mVt@B#gZK_uZn#AZ%T!c$F2^jhLov&=<_X#jFKIQE)HMg>IG&P3aY*&=!fjCexlhiOZ zR3{fi(6v{D%VkH*Dc*XX651DWL-D3%TVLw!hTQVEzPoB%XUT;N$&>IM1)j-p9Hdi6AgpB4PTJfIg& z7QF&LB>HapKh2!7S|0KpT}o?~Hqnzy0KZOLQt22{`j)Sk&y~-HzI?^rpIX|yj5p`J z@W-L%RrGe^38+hO!#Svz+&ssXJEO;(~VYOb9Z;~u3TDhOw5 zS2VHU+$xT$iP1J;){1#*mR)-9IGRq5t9cGW~!qNS~ClOPDq|zku{lt>2_->hm5Y(dKd3{S- zZ22kdU+)ttGBhuttAUmcqvXho;n}u9N1+ZlCkWTyIl|W!jre>_$!Bx)tAe;wY;Grf zZO$r#xce<^2C$;g_=>HNUgQQ3v_*W4T_W=E&y2Ibtyai5_a95=pr2Gs7}+nv|8vh1 zV@YjuSv)a0^ZSp8t;E^R<<3Q>z=u^Zt*}%h{UmyvC44W7ej#FCD+;4xXs0mkQ=8&6 zw*W$-s_Q9ZZN7yu>=zTeVjr0IXH<~FeO6kjYO70IqCjPI#I3RoRg`je)Z9mdtna z$aNOO`{LKR$+TJ3xM~i5>O4VKs>YDD@=_w$kZ4k$$@9U4(NeWYJXw@X|8w8mI*=xF~yx$16CAwE1~BSH&g zS>QPcUXH~7&^SGJrNvLn*3sL>IXFFhiGr;mp*v% zjwX>2Gi8UF<=~!Njoc;1GR@rl^1)oX6Gb%K1 zrZrG*NhDXH+*y4KB%?TbTbiDx1yUiP0bc{@+8X>eel8Kd>e2gxP3 zaf-~TdkGkF54UffC+(UfZ`9{ zuT}yM-{vQicAba8Iwu{`N$13|nwe2Q=j3eHa}0w|+xCAmFl8?VK)0#y@(Yn(4qH%; z34ifNJ!ifo&s_}1ehGDmuh}2uz1_~t?k>o`Ddhr>1o&$whURC8qdoaaCfw!vx*CS% zWSpgdg>i|~eK?mbgU-UX&!0X?ibEuI#AeSp?>j^H$0jC3{zy;oT;H`_O^R(#>0a}B zpWj6gzh6qX?GqP3NIpr~Fo&!i@jyP#bUA~&o^DqZGo^&pTR9FkUixp0xXqoVoasF) zbn%7K70&uGizg57>lxXK+qeSjnQDHM?Pr}IeS>zcKA-t+JVNgV1n#$R1AcW2+K_9Z zYSm5Kn@X1Tk$u@a}%*A(CQhN7UM6S{}U7=2E$v}36VFAd)nVo51{z3RQt=jb>r z!Z7A@&}JvhwqLYgx^kHn`jSaXcMKeAM=O$kHQr_Lg3%})Tk||@?^;YLyynqGOIfSRqYq7nCz76%MuyYFu z=cg_Ysp+ZBv!5GUZ^np%rz{OQNc(L=hpiQ-T47&gca0zB zT}XlsR~wmwyt`;Cc|Nh*1a<6-%|()S5jG88fj?2GT_QHWKC*l{X_`Mf`lY0B11SJ0 zUuQg_G#l@+Jmp=0*b~mp9odQ44)n%rz)^ery4QKsYuIb-u5wrJ+K>M?v$$dnQ$aw2 zfBtfd?A?AZ@2%DeBm0ULPWSpd=@ccMZ4Ju_vIkGI`Wbm`K7DdhqtVcp8hq+aDh@pR z#Wvy%rUnYvR=pq|vIxf47==g)T??XmnXlhv#uC?edIb0>jTq>>@=MOI3)WLJ3jCw7 z*s$TPoNlY^&xFLgKPsKPC#6X{z$fciT~1zsXWtzs>b0c7#@wKaCg7x9vhvE0YXlvy zJ7Z7K?#41x8HQU+oVx;4sxcLK-$)T92(EW!2-i*qMAdub1!BH+kg)G8vmh;7?+{k$ z54w>3_}(T~wCa_BD=KaI3$1dAlFu*qYdng{%H8*Bkhb(}YhG~G?Mk|bSLgQzX1#~v z{fc;LaAaW5Q7en6+JxDR-jw1JKDl9RN3*}$$d4YPtVdwdP2K!+!<`?SWv)m#?}NX6 z$&(;-((f)8Hydksh63eDQm0||Op%%W0elFmdJee(l3`ejfZ=b`ZZz0x^}_BBqyy{a_eSgtGig z-PwiXBN-K&csz;RJ3iII=$7yK@0-=cxKQa|Mb~2w&jvBGBbOb-4e!$em%`7GXNgxX z?~bs<=j!{qvH5HBwq4w+$is8qZ6DsW`{@^bu3adYxmwikredpT3Ju8jufy0Mm$diz zPIUXzZCBW*)~^=kxr`QS$@u&+ZhH30IzTdEo2Q(3Rv~4-b^|Ry&RcRzBz%K8zc?-Q zzVlc9Nh2&XJl=sSBya2;Ix8p2lP`Z;!WpVlMnpD_BA-;nNHqLhfPiLyWRwcPmLh&i zn{{EYo@mY<<4{vTL6P!#NNKK6(wJ6S`Y3tpc;QjbkjjBNf&a_fDt${=)}^Rg^2+Vk zwiCO#BjuLw*aBQX4jr6}soN5&F>1~3xYK1Zj6FqpR@{_(CnQ8F(o!pAt^_d+HNRJ0 zVhNq^X-CXQT*;ahg|cF((8luuz9hBGE~fo%hiOM^ zhX(;S#xVT!fXHB=BR9|D`Gv+Qw2%+kjgN+Fhx4QW>2JJ;tV$6X9Wl~TWsnW(QLqOL z@Lz7jGvFHqV*kW@g0SdM=a?&&k$&2TX$BSk{A5Q7d9CVAw%yC0$U5NtQiLZmF#-S9 zNytXh4m;G#;m86?ZAZC0lz9Z)Ks%ew-CcHFGMF$ChUXw(&dnO`!0%aw30=s8G(dF< z+<8unDItq9Gq3(m`1yr|#;hzQ6Iqdkcu2SGY|x~=53t@ggs4T1<4jZV-zOi1`4Qh3 z7KGWEs|Z+z*{R2Uph?&AHy4KuSZeF)avd$!WE>t&7Z6&@%W!{ZidfcOzam%6lcF1r zr%cP}fY@X?sv>2DhxW;#(|?T33KO)SIrgQ>ZcCVwCDaqx5#)apHVibJAUV1)kB#f< zk`!^>iR`!}mSRLgLh=txXi5yc07idvY_A4qQ3!uE6%|$gQS>^-nwN+A2fticL^=&x z4HB_uI-d;=bQ0?}`%fKM=SQU?4c_;vrjAAhJu>CeHcA5^p^RnUcHiIJ9V5>r)aUP+ zw9IPdM!?Jo$g0znV+uS=_6I*55fv7h0cV))dJbNeJ`Fdd2EA_HRbuWC9!-Omq-Do6 zCCn!a!=npssiwmFQ~4Q4Xt+OKvvFQ7MTjh--)y?Bv)f3^39pF+*2SA&pd7P-l| z>Rd@w!lMm6=?^+mPDzofyKk&SHj*2_bN?O3=1Ec>&;|8n0_C3Anot(2OZ&& zZ50y~gjE~+escsJjzoip^tcgtG8%rgcuh5H zFp=$C?Z@p+E$kxA*$s7tr|I8~4T(l3>}``xiLe_qDuqYTQ6mWIX9BXAVw-{zCI!p1 z>xeDgr|BXiXGW(CWb{&y1w=Gk)Y@_Q>oKs2rq$V7ilN6#4TkAlrl$f4B}n3GM=Z^L z;tVar?w)^2Ge%D(+O6vU9zFO!t$k%wn?c(q?poZfXmNKh*5K~$?iyT5aVYNYZlzGX zNC{q?BE{X^_UXIl{dV{N{>@2pCi6^Y?zt~hhhv#exD6Q!9+fXX=`Yi^wR!O3#=GT7 z(X=$#?Ewf{&Z5*P)rnYyqsn)JdD$ny%po1NQ<%ngB z1RJ}n%+eM>~DXtbj# z1|yjM_{R-&SZ@UP(=`2O?BSH3r$JixA|vRWDVjT`CUlpFe_M~bCaF4{gkkS|z%<2< zVeA70Gjnr10Cf`RtHj#E(0yn@>vzW{T(+I65Jto#`&#-bT>+rgUffuRp9+_;$bCLSn>Rezerdlo;dU>9_E_lX?FVBBuS4SvVs(pvVqm(&uZ z0&ef*nGBF{OG5Rp4RbYGQ?0R=(II^u<>kX--Z{sKWkWK~ZB@0k$B6<)#tKM#T85e| zvKSOeA>ANw-59S!#lFP=AV>j8)XW`kyG_`V!O>$;uZT^tIl8X|?6dCHaI5j)WQ9mG zek$%?`A8!KDs@hwwq`d6ILJy_Sy?4Nei%-8dykE#&?^Fq!2vo%!UB(IXZ0TG9n(26 zPE5UzP*Asl>rXtl!)wNMclbTuc9O4DwNbKbO~;h^Y*-pT+u?Fbgs}!`Ua{NXvA7dA zZ5H`*v$(9|7cvk~khlk)batQKKf+uWEACzSt1Euh9SqKO2y*Hq5Z-ps(B8_azv{+k z{41r*l`3I8rb_hnYG&TQ(s*HYh8YlY+^L!m;7x$|&1{Mg0cR=O(kL(r9zm8muH*`8ez$_k{RHewjS}wzNn}C#IzU(*!(;rrKK6Pm-fDP7T8Jq@gDshTr}WE)45S zk4}y;A9*W1H(O8o^e9M4(YXg|q%6b#>uEB9INJw6TIv+kRbHoyRACcnbJMPpX{~H2 z5vT-@5`x4s{Akv#p$>x@jBDGdm(JE+w=mQsk_JcIc>)vk?%N}#4;NvWk2mQ~iyJFv zS}4F!RVCPU3q2FJLPmcn)GK2ud3oILs(xVo&ft~E$HUXv_??d=Is3-8#3HIZvs%(@ zyo5=NsA0bi9_53b9GhgEIhC9ZljmHj_NXnNs|1$TyBJ_+LP>JqvF{+8MJ=j!@lfBv z4?-~Q6s7^mZCBS<-;F&Nx3S&{K2_9KkNb}Y^0a2Y3?PnOe|z=36$wo5^5n@}I5Zw* zp8Tj6F&c{#0jynBtK?d%TGG*LIP|c0bo_N&9`VN;u?Q}g7Evp7mtk!b=YO~a$TYJu zjWl!f@3nu%ikQ3ott=Cq)&8@vQ1vU7Q(}vVlrUC|jd^Lpe_UlR({T%QU84;2U+?M+ zIm>Gm?I6)kgtLerWI5gW{jMu068FX@F+D~y6BxKSGqm$WzO-1#TZvEpNQv#JVp4DZ zf_5wNl=pwD*H?{60`%wNH7l+L-chl+}##^yHsO5`Qf zPE?CzC+6eJtwx{3U8cO@f`)ZePoy*b&EnC#1RQNLjgQCMxEW6(RYWPkpjMx%Id5iLIWVO?Gok6!8X(bQ-~w?_CuBxDJ!Oiogo> z2WPtqJFImHXr_pZH^j>k8YVDBO>H)74wyoTH=O5X7Uz-d^$CKa=gD`!r4*Z;l)BD7J;gh4AaH7((Ky2^WSa+JO`oS>}{46?z+54$K+%)U%3 zl&_FiK=cQn)8GqYgms}rU^&_0p^!>hM+P7~*}lO8J#B2aQ7Eh|>J|m2;RS1M%J|`j z>T^?~&;f`U7sdF=#xisrPPHYEJCR#p0#Jy)H_^=^5T7o(6?Wc%?cu zvmv&3X%fhK%XWWFGUP_ADNXvNB~NBg#l*4|Bs>48W*er4AmdT420)gj2!TRp@K}`F znqyWu47z)H;LaXwS z%xyW^uB@-qpNyqFfL%sXbTZaw+8S`>fmdfK(f2f=EGMv`lZiRBtg4DyxH#$H!$}D? z02d7n@7!Kr(Qn@gx^4)4rX!Bb!aIxdhg|JcRP zbI@>~9-k2!nJDw0iOu!Ba2)goy)3-|%HGH^w!5Ud)PBxsbSYp*aR^>dMTRc3MUUO^ zR+?qi&+%&XujGCLU zNCk!=>pm5oDrGxK{9S6ZERd0NKwR2EnG;G+K5{SgN1%3%Iv&j`Kee^V=Gayzf7J}8bPx$g`}||7m!=yrp~s;&nE(pe z;`~{`VWA2AKU`&XY53q4xlisfY~^dKUwyed7FzmuruSP2z}(#2kFo%2|6FlJhH>Y=52FL zYos73VU-Q0RMDC6b#?e-geu`yc-TRr4m)c)#op_?6j^&m=cnW%zqCyV z?+6hKV)17*-q#c!Hz}xVp}%Kwb?!=x!hStp-8X+I9G2uXCqvXD9>p&)aLI!0hp&=M z2#G>fZC>;g;7bm~KP#oJs1hIY&Ezn^ap3T<+;Ohu#Hb;ONwL71 zPv2uZ{cOR6pT)W3#;_NQ-?Plr_U9s4+84g_u!d;ggBC^2LlOy`vdU+ZV>i#vxsQM8f2ec_TZXoO559wPk9*uY&ui5HrY~>3N zB(MwQq9X`|g~Zr|KgU}&F=5=fHwGZr%9f|new%m@<=JeTI_@Fe4`;>24`7uvW!6mU z@E+!56anwXddtwDU9QgSDi*Z01-lED?wcaP{C%LA9J}4i0~CpqzI{pQa)k5B%u~_q z2BI1(EU=!|%}+9G&k-h-dBJ6BmUxu%_Yxe~7Yy7hY#yYV@=}T$lG7nl)mLeM^Gy(9 zkYm6c?FVuF>%STWjNzi!0t_l5zDN?|NHxtdFPL|s#9;-+Sm*a$3pHI%5ZgqjbVcj^&~Ig`VDXxU+b5ni#+R5PRTy1 zF&jEJyw+Uvd04c2mNA$AF=*T53^GbBbAXW^=idoNP3g zg$kDHr(BcomoRikW0WxVw*H;Y_G4|L@9cdT(lI$vwL7Rx|^V0_{7G7L-=OlGd-73q48&IuqdG9|Jsf zrJ>)3zXeUrd?G^p?SSsrQ(5UlU5G^W8dp1!9&BtrIzua9EXDgoD#0Gg6#YUZV9J#< zrZ71_XQo;9TP`pjsan8k$RUkJ3|sZ@&AnmO9wceg;lQgu@FHQu+t#xmjioC2YwK6! zu!k-OMaDU(UE2P={%rmS(N%g}>CMZMwBi>LZWx8>HHuNC@X;N+VMVUSMkgaJ_Q+us zi6mjK<=a&#+ax1f9mbSPthOw48rZn$&9&au;TM1mY7CBx{$d|@lyjE8fP`ygFD_qM zVFgRfD3EE><4Sr^uAHCDqU@MdUDvf7br?S%-?ni?xgyLX&z{`nr=`k$`R!rlfu|8l zGR60G1bYckQ?#_RUD4IprbbVUS5-MJ!zUV~1yEoNMHtcFZT2gXJfjNCCXX%kOhKvJ zsE{AIbz{2!Rw4zKhX-LrhuBS?Bvb{F!oWY4M_7eiF5$tC;<(k{0olhLT=@MH`2}FD zvR`LEr7_T<*9W_NuPnDB$1LAMUYvHtGPtNx`ESTqoPM^?Q1?BGFYL?I;#nUc@P?>h@Q1&8~cptRxF(SHoHQO-eH7cY?c$@zU zW0O8+ApLq}6m;h(+g0S4H7S_={LNRF`LtXTk0Eyk~F%~uAK5mk^D(I93Rb>-?e2~_FCKuuSD=J zL&LV%A))=wxW13aLJN?U#;~3CuuRNw{EOYYsup8Y zL7*{~kp{VSd!MzR&fRC%K^7jo3o;3m?oMXXv<}8_QhJq}EDS z@^dZz-ETW&;#5NX=l3mnjvUsNZJb6pni=V(Nd}_~QmA>E;D5vCHgy{ADv15*Ac^yo zeEuWxLGdr6q~!E7`i;AdRH<6dre2ED3LymbOB8V=GM4$TP)DOrVUxRV@6nb62$0mn z#dQwD?rh-rt9kw+OQM^1t?TMgg__fp)QkfOpZ`99z3bKMFb?>aqvUa{Q{g7-h40!? zYH%;3C`|L-=S}lgkk{^bD2#IQSz)G5dh*4(COYtp74XkSAj0y&iV{mVg|et>>e$S#__<48C9XrCV@DrpnR8l+|tjB9kmtDinmD7{r1^fJmm;s7e z`NNfKVX0Vu=x5<5G9L6|4WPB1@(aW!TNIc2yDL0#u&2OsRyT4~j;pVA%yQ;V6tAyXjZJEn=u7338HQyCe76XvP5j%j&^K+|-7MUYd+5$JAAp^*A9L{5S)q zyQG!*elrJ02F{-hmzGZjZ8DZaB7gM94|{8C6I)X##(ZpWI9W{OT%fEz%r}yaJs7q4 zTQQz5;VKMDm}}H*X!}trU6|Ociin^DkkcE5a3q7D&5XW>wIS zSFq7?k&eSdm+Z`7<4#C81)`hx15gEs(6oB#z#v{4(aGxR86D~4i$1U%PhLooWZ*t# zd>wX!i{N!sXj34^Bt?YA)!J(9j~J3RhZ(Hk7nIVrzVxu+i3vuf$!}T1JsXggz2Q60 zgA*P>P}$7vF}7ETqgR1~{u%b7xzcN3nH9;glz}-|!GPwGMOnTyGuua}yeXmB zWZss*+vlr}^QDhM;?NgC`U}WTw-6x&iyFRHqq7NCv?D9z;iiT(0Zn6eU z3DwDPC{y6VBDIuQ5LWh~xKgL_tFs6{Q}*eK<|0Z`=bSr+n||wsGFF&8Z*VC@p@EZO z9OjH=l&}EtFWceb$m}0 zH8N`tWXS7~kGwCmLTzdy3MTSNEjcf+ow6tlr4cx%)gL#jLrGb-LfOJw4L}T_4}U&% z7RKozpc&ZMC=kB6#usq?8;-et`#-qpPyN`E(o#*QZ?6dd`g{Li!}rO!)bES>G_c7F zqMbLz?P{&uE8Gnu;PeRfvTcc*VZ&t&4S#f9?~bb(k`a3p#WEmmLx%;)F`hld(o9k$ z4d?rSj4uCXTQ&iYYcyO^S`}x+0u__8P^q{A=$@9l3naUVGvZJ(eS-gt$C@K@eRDIK zL?gSMT7S<-L`ZlJ8&DGg7b~k0Yq?^1GPd0t@-hQ-mhoBim{X#W6B)(TKF4bMu#Z`; zD?G?z5enM`aFdNCeZ{G58(Xgl;2-%OO> zd6Mba^iax{GFrmKv}bH(fTj1rwh9fBVa;C7AxABKy^17~tLTgJ%)0y>?M7Q>N%#*H zeLC$~z}!IF-(=7FE%~c9MBLoGSom^e;B>9aOYQ7qOn;UnyNYsYpFG(<(_%&l*HPYR ze^?Jr-{@I^i1583LyD;3p$}0iB97YAjHQtd8YbpmZ44)#=wDe{ahuxzjf%==g2;N| zKC33Ocj+LilJ1*o-GX4R3K4k1cNxdf_;3-rnzG;as~k8 z*usb565AvtBC{bjw7@sux|rf7^gRov#rG%47LXuVkfFm&vY!xjrQO*Z_CB~qzkN+; zW)^8&Cn9pOWoL`SdG7abANA#su&14mY+dqnu6AMm^Yh4Oe znO`3pO0D{9# zD0KEnb<9E?iRpJ@=WkApC&O+z+q^bZ_mY4?8l5op7~BZIuiJuersJ{jZyI&%lV+t6 zM?%^%qOC|(Rt$1MhEM6NslZ#YeJK<;--@S-7rSl8Vty=GepTzZ|LfTVesbqb%77xG z7Xc4&uJEt$FsMT-T4^{+ed^f2I*fGuL*~CED_A^U z6ACw}1i)5*nGxv3V{M_416zVhr3&cy?efu4`*@g;Rh4dT&`(v3JsK#KIX5G+8fV%_ z08&7z(#Xl5PFXq>z>$mwb;T}M%Kk5@&d&B=CUmAkVsRmO02)2aLhM6|69^7%0^m8n zc5GQh0p2!#dmfICmQj$4M>R?Q_QNVW0k`|lXxEmfd;h^*;l==Gnuo>CgV<%;ec^(H+{|M^2!kJ(Pv$SgFnhYE*BE4ak|VFKahxR^b?ydH11O-x zGhZh^1=_dyJfvzvGLWJ0dtvT@C{R<&Q0`G+1ewS)jlzydw^|(lYLAzG=*Lrt<;`)r zOf2ACI}S!EaQp|S6eY%wTEv)u&RIy50Ji=y`L~1X%f~0&br{Nf#l5Lv_NYs{EBMYtv3d!X7$) zbE9JvGmIec8lnknY_*D7N6{ujt z*|>QDcZ&{^jp*-1!DfJGmGXNHDy*!O5Fu&8CsV=Eb? zgx`o355Pr~ix(pQU>(;Ak9P?Efz8v;>ZZ}pE=0u0Pgfhwm65TLk}ly{+yZRzVq^g( zXx-_?t`Xje6v95@d25d?^;~nStJD%Ej-)rZQF{nu?)_AYN(&JyajxL5k6)j=AWeaL zgJS--vCO(n(!|7^nOCWG5PO)xZzhBcpG(Yw#WUD-sHA;FaHjfPtHKGmD9w49xv|tw zBW|kTISbrRtElWw(RT!2aGq(jzH~$3)D5T_UQ~ z-yRt{`))9dzv+2Xsfz6O;>kGoAu42K^cK2Loa+|}{|~afDVJmbm6`h^cq9^QK`_o* z$-bIYz)dIcc_S?FrIdtsf+z!tDo36eDXa#gn;^6e4r6TcDr-pq zw!7bZ1dqAkgieW(X1XXycTb(uB^g@C;yRIsScJ{gR)5q3VadC>GhgEHL zyf`5{dA`Q#pJt49Lx|)lL|1vA*y4vIb;Y63tplhxVe^qO0|*|c&P})r&qKCE0ZYs{i>~pa-8n>iUrLo)j}=kc$}NfkipB zJoER{H!cS6+_Otb3--@;3Rgkl^|QYcVl9b6ho8h(#W=^BKXhTfFMg@GO|qrq;pfMF zG6>)-)|hv|`^O-Vk+5Dt3qZR@g10(E`(mSy)+Q**C3DH0x z#eFa0GbMyFZbLkyBKnJ`ydrC6MW#W0Xz*4=S+8p_be<=ZT(G;QdoruJSU83x2>$)B zyx{m!-VLb~j`V}jP1j^Km7H9(3Uzf1Rdqg>s0*^Y$o4yJ8tz2gcgAhlZ`y zcRQ-A`{7_Vq7)ou8)njB)Y2*g#uR`u@?XT>NK+rry5b7b=1S)`Paitp=)b_4IXh3s zvn$OPTN#4y`TKmXVT6Xu8A0ZTVxKbBL@v#HdP!(3GwG-o(&i8qEE!xd+Q9sq{dax1 zS8~}-CDf+y6eUz&X{apOpBn9y;#aalFW4?wlgqoq2Y1k`7F2 zRXE~PrLW_6m+O61G0Ms8{ImK|Td1!@L|>mHRXZMf7U(1$DXTx4+){^uC%X;1b+-CH z#&8z)OsjO|%DBZ<(#y@cc$E{M8J--Xt9lzwE211Knju!7kbsuECwE?hd7S$%vt zKj?W7F8G$ptC1cRdomq6i!#B^8FIG!7cZEdFBy1^S~gm#$^T=fF@$4F z{dA)UmcUiVg=KH{&OM0QtQPD&q8#Hzqm*XiSS(7#>KNR^KRl`{HBS!D$C2rCHQ=Ff z6}3}BeH&tTrumKAAKu3;p)&EDtWZ4hEV&7xlIFpF=YM<;I5K5UP79XLWoHF+52;LG zlRvSjnRvG(@YpZ-v4pJWcGGNU#^TK>eeIy%9WhCtjZAxJT~jU+U`QPTm}0S^6BBdS z#q1eXuvrV=jaspDGhs!M(GlnSGEZjUpjYg4GcL?hV`B#H!X7ZkYZ6@$TH>XmFvmJ3 zl+KEE+Ni~F(XnVKlLPPhJ+1#7?uthiBuDFzoLHl z<6ZNv*kcOecWi`i$>N5k27U_`w{SSPa6LqVcyoPyfu0_qp-!6*Z$BQ@B_Mjs$rwc} zZFk%}h=|WL&7-n>5;F1=ON2BE?BUSIfBNUb*LW>@{y|F}PxT?YCItiUZ6_JX&-6DCj z5#eX3!j1%c1)3i%$0+q2WOgmtr%^$$Vu;;zigr8h6^T$tXz?+V$W%q93sj_6Lf&hP zSAPW1(a?YW{TTDdq)YEHM~0Ks@<<(>z}qRIROG~FtT>!qo^{sZBl`bMPPn7p0$6;r zFg)lwJqefC7$b$dMX*gWD$sPCJSi6>`x~|W!la2j3ZR9fMo$-d?FeXm!VFIrD+sY7Z?Kv8p>dsdNyUhM2+W;}I@{5dGL|A+pL1qm!kq5g8MO?C((74*d40VC& zx8v$CzP&1*TAjM#xe7M2b1H#-rpLSRqx%&Bt#6q1nSbcp(cjw6n>|(%xmj9Owsi~l z>sxk;Gm$)t2G#}BOd>$p%XVzyge4)+&#N8oYiI05rH;3rWx0-;YwlLo(ZW?~u7N_riRm!oC>KS`-eOnHI!lr( zq0zpONwad`=Hwv~iT^hHBA#-J6k~BdBM|{cir#VefEvIp3aiiJ47SW!_d(cBoJQDo znXiH641dBUwwOg&ZgG65X_5ZX0^Ol9`qJ{k1HHcp_5HVvH{ zLP~)Q>q&HY^;k!D*m2Px?OwoOWsEXV#G(hs_7IgTD) z6uZnN5hM7-7OqwCp86z--zo+g>`O+-S{C-V+Rsp4$<}Whkn3}Dn&bx zrDidf7OBk6JBM6glXUex4Yl|bL(2zKbMr8vH5Z2_HFbO##6p=<#4_$YTf#XokZUSq zsHWYy8by{baKwF3U4N0ee=j~?t52WW|Eq(901XDV852*p@g^ay){$^FWUbps!2L1y z&h!0rTAQQ$a=197 z>B+r~&>D+-et;;(%}xM?|1rl>o2UH{fx5)Mo*w#%c}N^lN}?_GkVk20t7aOjV>&>B zHMR@SqkueOqh#%u?-ufN2@8c<=j?0jDaw;VED(0Rabw?Q?uUpC(z7<1@w*$;4hr#q zWh|7`#no+th*jx|W!Tzwj@nYD$=QH}07{n2BzxHhv~Fz!-%{`7VpXxLV_pjCmH!eI zA`83vn!0SNT?~EDz`67~p<6?=D%7LO1fxGFy!sxS7}>woAquqOg}$R4gg~ZPV>zU-$7Plb=;fU&^+U-}q z@8Q3&MivfczC?1Wnug(+BXj(7@K1s7YwWf&y*MzfYHsgG4+(PbQ9xI9@6%`U0l!CcH^S%LPi;}{8-Q8oHDaL|x znHiInSv$ktiaElG{&uHqo~vyBP$#{mlDf&|R0(40tmQYB%l(HP*N)w=TOl`iL)dMlBopl2B(=%$t* zhWIMxA3Bu{4y9$h{pj_VS=Y2_Vap#&&b~kdTe5(zpPaFBeG8j0Yw92%>DVY6+k3RG z%gpcc$^#x!1v@U)U_k5K!@Ci9-6jwDJmpYph3MD<1v6tgrA0Jr>b8BFe@1_0xeH$tsIx$@rvckv4ZyB3XlOE* zFT=_)ri7^xGw$Z2P<_S%)G)IqVw|_Q;$hg&-9hns-F&FV?mUv3#$bo`mQ`);68Uv1o%PmkqqIBV{ zW5hcVBxTkKfE_M9fHYn!8!Xf)BD z@0pW+Oy2$KS@i_P=Mg8OZaUl*2shUU&^1OrGIcnC4~V546;mPhm8te@j!D`^e8#)n zOAce~u^zxP;Jg#@)CxRt_WsnNBiydkeO0bK%B+%zHjrTfxF3u@55v-z=H&1TQ6`)m z;{tzG1t4hR-NR#o(l5+BVVa%Y$!-r7zehSTNx*|4GcL1%E(CV?aXZF4KauU_T>2+* zw}H2O_46f3+So5z^d<|V+<)m1Bsi2f5W|Grw1fb!9uMWjNOAm!^tS~W-S!&Qf1w!B zJ0T$U$$av}F)iM)sq?{+lld}YTPOBUrKW^C!$2MQFRR1B&hFoL{WrP;g2*XzuKPTj zE4$NsA(|PNm~sC}><37T+3w%l*(pW{#eJS1(lJK~f_x;cxa`w-e~CRm(l(9shoTQ) z;ZPR8LrG{oiMwpF-<3ChYgoPdtt+saG%dsG*M2JF5D^B9N_e+w(IpHYDrz2LSRcP*IHm-j-Kzh zG9-QI(azVxKVA68T|mIIwxQViUWxE?j?il#-IAX z|KSOVkE&R=8tyqUz%i!;aH7eg7XAxRObe_u>u}-GCfptE1 zX0Znn<%j2(C(%Ym(fJLP_w_HiRbzCXeCr5sVdo6F>3T`Xcb9B1K7GE|RI1n(y(0^1`txR(|8ib>(MCUs{;lWE z_U*Ck!}2!Ux_6_HwtFGbkOPp+06hcI5<6%~An53G??n#tZ_l~VgK=2n)&{@>gC0`! zZP}Fx%QkPlA;t7|`5yh(`*@{}qYJK!O9Cf|1_bOOo9?WQ%I3Dx{hZ}%gyZAk@8q9$ zMZ}{?q`2juVA=K-J+^DXjl&l&)>^LrdesLqtUY40P1P2RE1F0mr1e^5R?{?Zep-RT+h ze9AL_I?ry!K_{+ef*&}%fHB-}Ze(A}g%juSVPzNe@rFlp#+9|FL}-@`B28wEc(rVV zFRauo6i?Ei?1iz-Q}vf0a=9cbtn|q|j+^iM&gs1=BW?@!J4EG<6T~p-pOV9yfZ4K{ zdzCx;nfr^cV24W+mv`PZobEUnR0BT6j>)egoKxu8@pDX&O9g(0$sdypd-f}UIXoGyiiKjcTThy^{x3cI>;mw5e z6h7NqY0oOvQ?By%nmT5W% zE}4n(=X-_jfb$o30*FK|JDrVboxl4g@r8KaqCK4Cd+7~DIU6&!_XISGDV39K2fe6w z=Hk!N_B`z3UAAd6-wYodm_Ly3$sT-7cwS}dxS@@Cz6IuLTl>u~{W!2&TlAva(``02 z^J;hx@WS`H_tOI=zO`|E>l3g$B?N621Uzl3D~(kqCv>|5Awe8Z>@;2gc+QO(j<_-D zGnDB!kw|FUo^ekuMdzY*qB4_i>9>(>E zfH!H?_NmD79++C(^yjQo*<{UY@5S0TnfYmTu+jkGImT0Nl>d*0U^1o8l);PSLBo|3 zkV~40!h~M4ryr-n$~hA@AET76KSkkyo>`E}ij|Q1CHAIdfz0EDMx%ON;FxS0AiDxt zTRkZ41?>48Pu`MlJ*0qL*`WdkGRN6(i2nTu94&m*xgYFnSIecBAKL4H-OmcMEaWqC zg4_8U_$edcP%HsRu4zWZp^O*m_FD{>CAz;3B1@fo+xP}df)G3O-wJ8%-lbo+VIpRP zL&pGC_@BU}U1@^klZhBr^0bNS^wO(Ztu#{z0?;h^PhJur`S|}6pLFpC+mYrkE(LQZ R2;@jX$$wOmu9Gwg{a?2%N}>P& literal 0 HcmV?d00001 From ae33915991c6ce2e07520b1e8cdd4b596e244f99 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 11:31:51 -0400 Subject: [PATCH 03/14] Helpful image and breakdown of "what is covered" by the viewer/project --- docs/latest/essentials/scope-of-project.md | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/docs/latest/essentials/scope-of-project.md b/docs/latest/essentials/scope-of-project.md index 82280156a..ebd584c67 100644 --- a/docs/latest/essentials/scope-of-project.md +++ b/docs/latest/essentials/scope-of-project.md @@ -1 +1,66 @@ # Scope of Project + +The OHIF Viewer is a web based medical imaging viewer. This allows it to be used +on almost any device, anywhere. The OHIF Viewer is what is commonly reffered to +as a ["Dumb Client"][simplicable] + +> A dumb client is software that fully depends on a connection to a server or +> cloud service for its functionality. Without a network connection, the +> software offers nothing useful. - [simplicable.com][simplicable] + +While the Viewer persists some data, it's scope is limited to caching things +like user preferences and previous query paramaters. Because of this, the Viewer +has been built to be highly configurable to work with almost any web accessible +data source. + +![scope-of-project diagram](./../assets/img/scope-of-project.png) + +To be more specific, the OHIF Viewer is a collection of HTML, JS, and CSS files. +These can be delivered to your end users however you would like: + +- From the local networok +- From a remote web server +- From a CDN (content delivery network) +- From a service-worker's cache +- etc. + +These "static asset" files are referred to collectively as a "Progressive Web +Application" (PWA), and have the same capabilities and limitations that all PWAs +have. + +All studies, series, images, imageframes, metadata, and the images themselves +must come from an external source. There are many, many ways to provide this +information, the OHIF Viewer's scope **DOES NOT** encompass providing _any_ +data; only the configuration necessary to interface with one or more of these +many data sources. The OHIF Viewer's scope **DOES** include configuration and +support for services that are protected with OpenID-Connect. + +In an effort to aide our users and contributors, we attempt to provide several +[deployment and hosting recipes](./../deployment/index.md) as potential starting +points. These are not meant to be rock solid, production ready, solutions; like +most recipes, they should be augmented to best fit you and your organization's +taste, preferences, etc. + +## FAQ + +_Am I able to cache studies for offline viewing?_ + +Not currently. A web page's offline cache capabilities are limited and somewhat +volatile (mostly imposed at the browser vendor level). For more robust offline +caching, you may want to consider a server on the local network, or packaging +the OHIF Viewer as a desktop application. + +_Does the OHIF Viewer work with the local filesystem?_ + +It is possible to accomplish this through extensions; however, for an user +experience that accomodates a large number of studies, you would likely need to +package the OHIF Viewer as an [Electron app][electron]. + + + + +[simplicable]: https://simplicable.com/new/dumb-client +[electron]: https://electronjs.org/ + From 56624fdc6c13d48881b3f076ff6c8b8a60f220a3 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 11:39:52 -0400 Subject: [PATCH 04/14] Note about adding own recipes --- docs/latest/deployment/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/latest/deployment/index.md b/docs/latest/deployment/index.md index 8d5c19b16..324a27c44 100644 --- a/docs/latest/deployment/index.md +++ b/docs/latest/deployment/index.md @@ -182,6 +182,7 @@ to secure access to your Image Archive as well. We've included a few recipes for common deployment scenarios. There are many, many possible configurations, so please don't feel limited to these setups. +Please feel free to suggest or contribute your own recipes. - Script Include - [Embedding the Viewer](deployment/recipes/embedded-viewer.md) From 19dc9b6d99b7c181807848d7f756dd4cb811b1c1 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 11:52:11 -0400 Subject: [PATCH 05/14] nginx-image-archive diagram --- .../assets/designs/nginx-image-archive.fig | Bin 0 -> 46029 bytes .../latest/assets}/designs/scope-of-project.fig | Bin docs/latest/assets/img/nginx-image-archive.png | Bin 0 -> 27211 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/latest/assets/designs/nginx-image-archive.fig rename {img => docs/latest/assets}/designs/scope-of-project.fig (100%) create mode 100644 docs/latest/assets/img/nginx-image-archive.png diff --git a/docs/latest/assets/designs/nginx-image-archive.fig b/docs/latest/assets/designs/nginx-image-archive.fig new file mode 100644 index 0000000000000000000000000000000000000000..625066aa96cae24e1f4ccd53bc7dd75ebaeddd72 GIT binary patch literal 46029 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 literal 0 HcmV?d00001 diff --git a/img/designs/scope-of-project.fig b/docs/latest/assets/designs/scope-of-project.fig similarity index 100% rename from img/designs/scope-of-project.fig rename to docs/latest/assets/designs/scope-of-project.fig diff --git a/docs/latest/assets/img/nginx-image-archive.png b/docs/latest/assets/img/nginx-image-archive.png new file mode 100644 index 0000000000000000000000000000000000000000..bd75479652afb4e8f49cb7ac2de12cb98b664e02 GIT binary patch literal 27211 zcmdSBcT`hP*e<#e0SzD)igfH0L6IgPO`3vqLN6lH2}qY3Pyy)(A}S>mX`y#X1QY}W zq<2E-5C{YeEkFpI?eF)Ub-#7*`R+P*t$WwG=MTc#lRdL%X3xCO`#$e8iPF_pXM}J- z003Zo{76L~08R-305x!i7A#q+y5$7^JNx31sTTmyU;6t;1$<7w3>H#(>8n2k%6hq0 z!Hd%lN?J+)P?_mtD)@Z`z6i(o$9Ro44l;b@^BT2$8VS&Ln;1bq_H1VZg+Uwu>Po-LcXIj67`k} z>>Hk$8UW5*{@bzBaTTWk;FX#QSgv%f1OP&_E*JrTV*eR%(0q<>SODO>cndfgXE^?s z-yY0phubG!+FQJnw%#E1*%gzS>$@{_DPnMylVUCI>8OByHh-R6+KqQrfhkY}i+_ik zeVhNwgZli5rp9N*uqlu6^O?uN#p^mDBnI?uy_zW$nnDEx#8>F6eQ2!cKE}`W_@*OF z{v0pVwi22{4qUI50g8R1_IXdfRrr=uc5~xSr`#jD_ifhk$~SidfSkIC05vk0(wa~= zUTJ$h#dC|PyMFRQ`z0#HgbPMp-|5{6wM_Lq_ui*c5M0%_tdGaRI?7-j{Hcfj0WPgd z)W8mdO&)`|Yc5j1tZvl9iJwe1v0YK6jA$}C9knFHtNX5;=8$1bcN`8FC3uMW)K%(7dek}N|??;Iz@K(Q$ zOyC3nk2fsL*a4jc3<-`Z#oFG|POnf$V4Nc3&x3oMpy#Fj_-MA1FzPw`k+N4l@^?2- z)>Gv6+>3p|%8%c$yjL-NRH<%E@T}Jut!HY}1Xcu&ZwONtr0d)9>wI214Xm)YXs{O+ zuiEnKI54a^{Igi!hi$7d-Fsi)rH*j^kAjmIow~{gMLgpj`Ict?{jQkyvGMQ)B;%4D zelc6pk?$miN>PV+$LZ6@6GVp!yl8ttkgb4m)xpahDFyDrfy0z2uU;-kxEJPrv7PVZ zKi-|8?r;JZr~DfP3$Um>a#ol-x~kH*m5L1K#ky{~$vB>gVXaT|H7yOMXzof@eK1u7 z67Rf8x%VZ-+Bzt(T<&DqDiA%V__(Yf*M+=(viLDP#~mRkl~w!kkW}o6mBXcr_TP-- zex8~kHQrmUFk%Vi01_46uy}W0DpsgF3GBQ{-!`ih>^f2}@{CFjC{&C!RjU8S0`-2F zBP7{;pl8x?8u-Q30zs`O7h+c7&C{;g{(EsZsR2WtzlEz~pI!aB3s^tjvU00xRgX~! zp#yYHz~(#2aftC5VV9cof0s)WX-BW05I&2ejU6#1!stDh@54@Lcf!vb`+Id6i z9+J&*ZqvpzN_`U*%wRXec8G9T!*U~;DrWY7>ymruBQFD4N9TA}Gq_mqo)*;W29M;E%K`Vair{{A21j4j^t`}E;T zsBoZ1YW5MhEwJ|}-kk7uMQXsCu{!M3?ne2!Nd%m%jDbdUPhD#ii`cE-JZU>HQpjnh z0zB2FbVKDGkA5B}GzTKG^lj=0((|WQ;#Y(KKEF39-@g%mgpjM7Prh5OUQQ{nAzw+` z&PZ5a2tKU`{9?f>Qa$#iFmO(dm8IYRDKAzx>FjbiK6kAnw|%3c@mo`y{P@;m^w{X= zPHhnzQ!RZj&-2$h1Y0^L-fBk7ISjqK1m**laFS%~_p@A!%av_d9b=@9;gMNJO5Z8P zIK-iu>M_3ii6Oq&8@0aED`7^L2!1C&Z1>!12-_~7WyQbRs-3G4NRAlycQ{vLK(|-f zNEbhGxRQQMAvD(Asw6bz>eLDhh{npvP1cDxGViSM*37`%*vdx$sRA=jR1_m5=q$k)WbdvFOiHoh`PDYb4kaP6DU-ME|?oI4TU zUdA|F@1CL+Eic5~`l(>IUOrg6(y~V#25SwepV=2(+28T{x}WaMDfy+`e84ZzklVDe ztZh`K<3fR`K=bjZE0Vs$ik$annK9^-kB!x8tnZeNfw47swRk?59xEY1G&-hE2kqt&wFOsnxlP!~}Rq*+|0Wej7}Jc|5B5aK`EW%0}^={nL&LPdQ@(0EhT z$~8>QLLwR-LMhr)XbK6LY$qAZp2JLShCFA)nAJmbPp}FKcOc^2^nsh|h*o3PkVMGC zF|D%N=EmUkU9D=1rWWivd8S@x@>N?+H-5djkH>{_=sUF+$3()w;G{5gQ0Nh{=AGnb z{(#>1)vtuU+!wpG@cm!G<+x@_t(OJxc#tf=zi$+{vYN4RoQE43SLl`QqupEk+83wy z>)WpTbai9p3km5%u4B=|21X9Wr&OV?E3^^7Te0(79lZ!NT6{?y? zj1W_OOE@NNPQ%5iLP0Mz*JcE}EI&-w1EYq^6V!KZzT`Ye%hE8rZUB3FlDz3}>dmnF zDjM#lXg=F-E@YACd;Ro+i*AUl&gTEeeg#7 zWsPM*1hp^jHKzA4*H43 z=Y;0c9*h$&m2oPk#4ah!z)rS)Yi}=!!Rkek5wRr%Hi`9uaiU`f#@}(z(F- zrTk&&2k6o`sk2}pgxqj`c8?QAwy7a7Wlp)B%oJ-CEnqK0bqw3|_*dB^#*t6gWxc1S zF+u&uAqPfeQX%J0gOmc$>a&UOKrtI}y`+pdI>IsBrN(#~gP7baWh`aMMipv4`JvR& zf6?d8Dv=ByzwARyUq2Tp5n$AE&KdLK~&<48>X ztZ~m=>MH`Op6zs!?T87UsE3BDF$QW5TjuqrL~-Ee^jfEzX9Vi*Olo7zKk*N*ysRyq zKKY*gn+&~S{}RT0Ip?)ge2YdMj826t3wz{pe$XLs<y@ZiGH62Y z8&wEX^=Kb-tLW-Ub^EZ5O&&O8;O+OgVo^+^C-_jxrqrGqOUhmfThH4ACcXMF+FB!~ z2W>tF-#C3DOM+^Ply9htnTD)I+eq&1P?cd+;Y-cOb0Jc)ZA_B85h^U7PF_4Ns+8>`c!>LFVIb^I!%MCz~gqRPGMblALm6M_^xR1&g6_(xrATg zQ99_nr-d!S&(Y-|S|=Gx5ynT=(A{NJXQ@~%v&y-z8={2jPWd>fL&*M-TRmZ{+0Y#b zO)e~9Hbs^3N-V=qM!a&=+;t-f5~_PTY$3DlZ{EK8>4(e2StWn@Bn`g^LkIWi`N0Q2 zD%JfF!i~S3jK?4=k0uoyKYOp$aqy$~Cyi{ClSW}OmkFfS!s7he%297?f}i3^JPQza z&`&%hiX&oL`m8Cu3nkWwJuD|g{7%!zGrthHva<$JYmA}3`RH}E3`5dLwNB%=j^pw+ zPJ;yOp?U7Qi&VVtk82wy%olkAJ?beV*V4c*d|TOl$(xze*)giv`w3-}OYPOaiYVl9 zYf5URULpJB+&AVeacWH}^-BM)z*y&myCU`R;DIH;F6v-W7-dE{^B@p2X)5L38_`hbi5? z<&QZHRjMQB!*EGnE`yT!8*;gjUTKHSbeQ)N&Fdjr7QGdAxueC9n&n5RtgB`V&z}=I zCmxJhh}S6VUZ9Dzj+yp)qxa~MRGNB%g{aL7=jDX<@}onCNbfU(Ibo%p6-3TS z$sUvQai1ET2NQ=&vM$sHV`W5FSMC?I?*$$ljIb-1lf3R1?^ZXifBPI;UEUijsQj7m zey6-|qXr%jpdQ)92J9I9rWL&CLpf^mlh;7M39;Q_t7DZ)^Y*PxJGUmWDeHW4^jkY{ zei(E<-jTi;OR-+LlUi^QCY1$2a};5PeK{qk5h?y+vsrOCt4uvS|#FP^`TxbJUi< z{)lU?xF3(%n>VjMPwlxgTKlzac-WGei4AYousI`%QHNFg4}0bK7_`T8%#OxH=_rLz zUQ_l?j=FD-^(;8Gk4y}NjMOgHL!nEln;X^5Azuc3CF^^S^hobfL*g{1V#N=7{+RMW zT|m3dD)noE8@}W3WPHdl?6crx9Rsh!8XXc(wY5ASt^~2leR1{`}c?(XY`G*BeYTZ&PxTRIn+#UN- zwA&S6rRR(gO@0|dwuy9s?S@KyAwBFzsqK0_9QIMPh+WaW?PJQRfWT`?G;+D&gr)}X zWI1m0P$nRNQ&5N|rwnnjRZ7B&L$eCRmsi}~IdS=+)QaxPc6osKFN5lkGlIX^v^GbF zSB+;d4nRNVyb)wpHo-k_jn2PdLIZX460jrrCgow4Eh7;6?LV^Yed0b{0aHS@h8#PM)=qUN2( zVXHub1e+1FAg&LAnAA=<&|RnxJR){jehvKdgN{+ro>H67TGJw0$^myl`R zmTg|(;7_6KviTl)46M~OS{1j;HRwn@cV1Ls{Is`8n&Z{!+6&3#=tm+2NvVx>*k*Y1 z$nfyjGJ1m4u@$i+8CObKsa>7!;Em)VF;;A>Jt%M7n;aIkpM>Z4O*R);N%`Q1YvRy# z{*>J@ED48zH(^AY;28+FhNIs*@`uun3dFHBT<-atZQ@AoV&zKHUO6&qdZsy{S3!Go z6}SazE94EYMbb`wu%#-jVIrnDDo?-5$ zf;Fsw6ie4!cJ%vbZ6R9|vtO}DDuylW$meuDK00`LH%_7NsS}^#t(Pv-L68jj=vMK@C1dB<&&| z2U#Bn=T>-LP2R_S*bw{Ek+vZ=;6lMAJt**2NPCh1r>t4KlRn1F_HG*BvT=irk?`Bc z2La*x*wg)9ziA(;Mx}1pTy9xO=t8eTXg_Qm$rhixj*jv4&o~JRs*fpf zes8szpp}xecjQPnh2hOB5{V`6V?Sx(NVFF%_rAJAYKk zf7!1*-r^1bJ*sFE*6^| zJ9K>(R6O7-0bs-2a}I@t12KNYeOgpC@=?B0Cb2{OV@*NOLUGweADW`HRzC@rXx`Az z1hGE|0~FsZ?^=n>h-DKp<%l6^?kBJ9mcycue8cazr*tjeuw=#Y+Ge}4NH`Kj+2p_O zo2pn<>1q4kYOCK~^IOct&(Dm}oheTgGYvZPD1=t#PU)#Nht2(>md?KRX1A6%XN}H; zG^gyHD>(~Pv<$E09ggW8US z?19kda=3!9TXa06H}S0rn#4JML}bgd^--Jk*FQNx&h}eg#Een-i1dD?WB?4Mga$Mc zDo*_@R5Hj#SloRg&iarsn?r&4<2t*^QS23o{NsjwzF{!(^LZe{${Ska4v#%B8Gk~4 zWaP|jF~7MwBjrEij-#u?zuawD^fHPM(Uy^CEZkkIbmaalyYaOZo7BO^^jLtFd}c|M$rPVX0~zaf9EZVM4+ z{kycK2=eU?+=^Q^S6KRit+CpkaqS_ zTh*s^W!|vt1V9AfBtLknnY=>NWp*HI=Og1AD;*nEYEjD9izsS<@3x^)|JuQXAP{<2 z&-8zTWX^v_#jSbsnZpl%VQs@jC-{Us<3~2Dcp63pD4Hl)9qkk-_*nD$FTUdmXP{xh zE)qL<>p^@3C&2Go3Ev$Mc$SAr5O(a@+r+GSl7Bn91ISwb`xTlX>9>vIFiBEc@(aQF zt*=?1p#Euf+FPpP3%#JUqJxAODzzHAiK%nl|lfhviS{ONJrd= z0&A`?*wE0V3RIjo1b~LZLbt5fbmuT$LNisnE>f8G1mE#8?m)&lN13m^dn!`w51z)x zaRr56xqVHIv9=NyTh(1I)0eM}?g#izvs^N=@?WJU_fiym!f584rN0ft^C~#k7Gye{ zNqg1(`(!8W4J&ZN_=1hyDk-zF!04MZu%#2Wq&dI{XymPTlpOuB4$;=7f;gJ)oQx~a z1dak(hFvlxB>@4Yk8@YygmOu%-Gfk*I|60XEU8-oD>`cHbQ5!%b$F(&YDfoL2 zEc$+|ym2B6@Yhu_3YCA`X`i!D$nAQj{{iX!A?#uE-JBH)J>HY8CJ0$K|DgGBzA!pxAsX#~ zrDRgXXWNnR&vKC1A!c1g=0B)BVj&O054DU({wO`Q_nv{5<72*E!j9Q?LShB48WdPF zH}?G+_9cpN`fRRH5V6x8#*YSJsd4doh`dFfy<*UXd>e$`=0i z^L6|tt$uy#OhGT@dzdm|+PGYAR~6%sgJZTgbRr@UCz(hH@FuJaGN`}%Ba+1@``53! zGQ|Dx*U!&9?qX)GnVEx?mqxY3o_d9PKN zC;FA4sor>$F({A7Q~uljn#zK(WZUQ+Vte|K%y)0>WN*Rg;^_I;p-k8C(*lNLZ>N>9 zq6U|SJ}_-4tj8~8a^;)5@P^!u<^@Xr*eA8j*g0-2kepuS>cmA@T2LPJ@09aZ%;ZC>XLBBGOf<|vpgJ_&IF$npmF{PJ;N$a5$Z>Q;fT zg%ywDi>*g|S4lEP42Ds9in@RL_na%*{00h%$8!oNQ*s5);pOrx5@wDYlj2wMWq0I} zFC0(g)AxO}y`Kc|!eeE4vCJ)!ZsYGhzv7y)U*@GmU^?;>w2h!OSQgmY*PqlGdvjx! z1J8Vb&=>uThBh^q)AKi-C*6YXmLRWxW>0p5n#f62!tCPh_=G)F|uSW#WU%ntUBdI`L@=q(V! zT<qdzhVZO z#?OMc%@Vb-3WrVT)YAaKe9k5>RcLr5t~*>%(6*P|PBzzhKmogb?ZX&dC?IN2qnLUZ z{HPT5VgE;-pdWEm8=%Xv%325p#9-auj&s!tltVU#yxdxgBsQbd|CGk=vzTpK|GDO8 z&B7||map17IIzwtr%=twSUjz6d#NisI_u9Lgjf)5cvjm=)7^#WZ>3Z8z%NkgakJ)p z+QUdA%Q$OGQ=55uDXVvqhWohWv9nz%_P@M$Aw79nUOUF`MQBT7i@Q%bc6sFsSx^I8 zkzmau)iYwkH0Ah*@|@a@ePeD1ZUx3dBB#Sc_f^j-f9XE8!tn%I0RWH~AET~Nl-KZ5 zR`c@EfQ$fABxp4OKE!i4U7fL^ldU#3qt~XIa;da-zT9=4P1S&HXvsJu6_uEkX&m}; ziER_TNn!a|J73JRE!2V}jvg<>6t4z*A5F9vrHhmlB6|&B##+5}+^M}12ggXGBKqgAft@}Z^>_Kf!Gy9Q*q6hq`yoIkz7M8A?RK zBT(P7d(~4)U)GQ3Czv%GE8bT1V+VFv!36$nG3SIxe*vvg*iyXvameTfpF|1zqUCK= zxky}*^lvxQkx}7AfsZRb#~K|u3%dIQQ#mGP~D->Ia%jMK!1Em+-Xuc!XXOs z4TZivmkkMjy+0BU7lz#F>^Qg4N5K!sWiJ?J#Uz+^GOHa)-%w@%_?piM*?pH7mhSz% z3uW}7JJ>amS>IHg<2*LD3YZCJ36Jj;d0&WIzy#fd&~rQ`V^=JqdlKsPvI3X#n5Ky2 zKc@hGM%wWYVH7<-EiVNM^P;I&NN z2@nH37F_Rz3!jM1Y4rTn6@b%5=f2Egl4(KIaK8OGsolEJ^Bu!&iIIb~u0PdpYeF+# zB@14m|e6etcf7OA83V^(> z(5E%Lp|>Et+EVS6c_Eo=kz*#+9uj;7e^vkK1&L`?@J*&MszG_565@mc(P`u}Z0Hkt z)BiWhSp^fo|M-xL*~t3=@(=&Z-!-Ef6>u_+4QptpGpEu~zzz+u4rq+GCMDY}MHlya zL0M2?Kvu>7VI+5NIzNZ9@8gAMdN6=#^Q+Rmg2e1vefvHO$CM{2*L$WPYwKv^T^~dv z%u4wT&aHJUCX2i{3$*?Gm~t=MM{oG6Gh<4o?lp3F9r2p;+gcsDd}OQ89hMO8Wc{Io z!|h%*%=6-p-oB+b0mWkw1a2PXxFbUypQ!tBK8CV1?Q|HUmli3v*@U}BCt6_lA0sm4 z#Y#Qt0saSqLUt;1^B`ai=SnDun;6HHj9wV+CQ|RM*thO~LDGqeDsmHA-8{`bd$RbTgS#E4Rp%A6rWdpx&GwS5oX8yyirYmV}E zD!`14j!u5_-bd`A+>IhK8PXu?Bl|uylH9dzJn zUTv>cfWf|8i1Y2dk?M`IENd2PI6k+0D4V>t`Sd?uWIaF3V88z&D7& zcu9E*6{V%js!@ixQUoeLQQE2ig;<_8IVNC`KfXI=?Vc?dW<524nb7ME9(id)dzY@=bbczQ)BMpP(=>E5x8HtLUS3q<$1v4u}26+ayL zW#vQn_to?73ByZ8Ln1XwBh(Cv9m)kK4N$6>S6xb)i(cf=X{v3Nix(3&NuY8+LW%`>cZ$se*0VStOHBIzp{9 zlg)>#uTZ)uv9AWz69g z3;7bfoKp?M@5EgGd2Z)fNVvJqT;5nj3IS7Jk4ALwUacZ#gMw9W#H+_g`clMMeb*bj z)kzFO+2uKOfTH^gF!rxO&tNO_4s^FFlDI0AK}}KCP7=XGfNuQ5?ywyI=pOuEM6G6> z1tMZutRQI;KB$%&L}LyLU_s3VD2e^Q5yM8~H_)4PAbssOL;^b$@t+j5LI;pKMn*=$ zMgpf)FPM*5{oCw=lG~Q38Y~4|u%J$uzfpJ65wtP?b+V##u{sPetov}S12z$H)4Xx} zlKG7HFAgRy38104e8b_=8tvrHAxD~Y(`dl87D(tT(}}Nr8$nLRwSV=ZD0M39`hwgO z1Zyc4<|V>4z4nmahDK3oY8&rsz7>*8^@}(BgRHT8wJ@E$Pj+5CzrV?+2mV!5g}3Qv zCRP8k1ap&?b);XS{sx`RMhy5I6Y9=|W_SD{t0Ivz)RlJH{TPRdD*Z?ClmpsC6yw zY(8*IiLW@t=U%t2@C=A{!DcG|#|@U-HsB47*=s5PX=4ACCZ`1HeO>BKtw;A=^#Fi3 zSKdpa7H#Z$K1&cbE`jNvGs^rh@&AX3CXFWksS?v_hF>GmEJChxE#Vt3Fjy%FIk*08 ze0{u8sg$t6@qG;(Kd^Bhb~)CJ&_%xiq>(dEI@KC8cc%Rfnn6k^5Q9NQNj*TYYy zomN~J~k=m$k+mx7)x+9Ct9~m2G)N!l$klVq?e^XHCOeQLn+0ewCCOeHY z{JpxoR6Cw-x7v2o}E?BKV!>=CdlwT{%V%D%S^`8x+ zo5Uid+%u^%X-DKwj<$VCSU=A5_rjy4+0NDb1fHAd>2uSNz$2sif37r0Be>mSrl(=y zS@@1_J(iosI_}dB25RT3oE#YIItC4W4X-#)!NqI)0>Un*BrUps%Q zitR62Q+I<`Rx0l*v3y9&+4wxc#vo*3vWm3RBPGWB+Yg7oXApu2Laa&O>g0AmqS6f8 zh?e?9SV0`mI#OO(JsvG`2kQMifHJ!x5uDrcSs&xle0ZDr!>9zWTm8uoy_8!`ptz}f zz3{MF3b|L3uqWp7(9%5BJoyS7?93|d!+t}k4eDOkk1saVmbUEfPZo?MH@s|B@zvgB z=46yN*p8>ATxVHUT6?W;gFN=@$)fFoi)A=}uV0`Rl5@6KYi==Wtz+WLB-Mt0MsYjp zXP+sRO8L<7Jaf9?>f;S_OaZ3;cXSH^v$1WPgNv*QloJHa!H+=`79VOosFJkqHGKQ4 z=UIH$IzC6G%hH%&)(n&EiNk!cPB)n8bj>roBLN# z&A*ZBW!-8GFr&=}vrSgg_{D}NF?+&dwwpy2xr)_Q!dwR;wRW7J2@wSxQ%&ysrmu_3 zru;@e5#n>3@)1}v-WUCHB2W+N5|e%Jg3-YZrZqzMGp*NPQ7`eP+W_-F~o2~hx&!8rC4S!+*H{M zX;xjfT7iLon-{fvUQ2%k`C(r%fA(5PP^{q1i<_SM=Z6EGFfa4evNbHt3SFOAs#S=S zBiR-6@-(@AHeWQ`awnpB9k?8b^K5;!7DX)sFDrsgCaapa|9p9oUC9e!<8a9p1=CQU ztJ338jWrqNIWKo5DCW&-VGnKfYv6G)4MTN#uM%n34&69un4#wLmX46?ll4fU)xA=@ zq2H@3U2LFvR5N?4L%(%4?1rpFX4AvO_;T8HO>Y(fzQx?Rk$~HlpBNVf-t(6f3awN| zuo|!GE#+1Vbd@exAoZ!P`rp2Fk!&pW=~bfOl}SGr8v8`y0JKDU$<&lQR|8RweJ`UF z&6pAen%8S_oEJ}N;)c)kaapG!b*~q>s2GGTh&_FnRmMjH_|OnsWH)+Ip+6A|J$;8&LLOVH4tk(V3Y*IuS1+q9M9E@EXcQUOfuCBQF@up1#o)HJLu8tMtPacLiu zKZ;&M8Wnc8GTmqF>DGIy_i>ORV}DX`!VzEjP|cICqQxxeNfg3IoRsr!!=u?+;MPS^mIi?RXtwTkmTYn{_>eU;h)Bbh_ zHc910^?}wi?m%?W%sy7NJIawRE}#i)d)i#jaNi=JXQTX=zF;02X4X=rF; z6lAOogYGI@DnXcu6LJ}iY6dA1DJH3x{xCnoTXb@Sd8oafn;v?x^9@cl&)FQ>|-^r9pnG?q4(GQ6Yv0 z{68BGgXzUW?+qF5YP199faSyR8&Zu$Hc&+YLq4I!COvsj?$0iw`;j-#BtfkhvW6>Q ziD;u^l|5l%0Jh>PUL~2d>HTC0Wmz4KG*gXYP1u(x%+d{IG+ZP~5dZ z+;lt&5~K&=6m?ymViBafsi#UQ9`eh=}kdb;NNx z04*xIqV;b-85xfVBJ=XYaW#&Uyzr^jO@?mGVsm}0)pE_#0H(Ugs zrFm+_6Oek)xpjnP(csjQIv=Wi!O*NBhFOiurjx8S3VnTvZGTO$QSu&&4cc?EXMHxBIBXlI8;xt+gB4IPYlvt7WyNI4#-3R+^J|C&Gpn-!IZ#~YLoaPw$ad8b z)?TW>1#{nml*mq1Ng2`V&R;z za?s|Q?9_c0C@u4CH+Z%v)TZAzAc%+#obt_yIB1)Z9kW+uiEPu`wHv^ov06WrY^B^n z_KevR^g2AomI}}s(bFA6ED1O(@fN7mU>vsJ1H`|9mU`a?QZ#QQEi-vrKm5^VwkTiI zR_=>0LU-1rp)rGm?(mqk4)nsGj`Gcsy!^1PAyT_Ims61JBI2Tc*V$tJe z9GyABI3?dhnK*XsVF)NXdj2Jx?EU!7G>_qPZ>=@!<)(Lg!&+DH_&>um-rLn_Ickz* zlO)h@X`nU6vSc<{PmCuaW4+s$$6%h(^a>uDIb`JWlUTP^)axqlNaWSb=0lIEE@5)1 zsBalD_$7o{N&!7^1nGcqOqR!sO-pJjC=%wiv11cG)5(m8c z#xcB{IhB_nw=;;)a|(Mce$XczzDS>rpLH8~&y_b@ z9vWghm+p)A{zMeVUkjOr$PKC2`x>lTAlzK#`t}>jTx8bWkc(eMkJzMmMa6sF`7(p*i=U&~h`yBO~hkQ+u!%t_u{$cwA@^(`MnEjX4Yx_XAG;qV=) z*ZZKBvK)oQB2^QYw7sy_@^@F)X6qIVLkr8D;c`VjJ&`gQ*!OE5S)Sml;G=7zGUR(C z83DN+5*uDPxYYytCmj@%_uk^RYFM#ORjh^Likba*Wy%(ya zvfw6O_A^26-9AoK7(d!D!g`-;VKC16Gxa<(cem4 z_;VD9bb(m1X>eL@b#=wEi!lHXNuHROXLJF8t@9%bb<4%H8mSo-0DCuENKeiaP0T0>jSL(@n9i1qsfug4%ycZM}pp*2fn*XBDA|DQ*fJQ-#^#f=h{8ek)XWrM5QB( zq!;=Jt8r}M!vj${w%GLd2}H`Ok)7ot^oqQ;I$mtL$jVTrYRX?04*G_aUWQLMa77kK z80}2Q+6uTsZ)vaKFDiQcWMfZLfH$ENxFGu zgK~&f;(e&u@QuLaJ&Cg~1D%4PI6c;0yK>_34syR2^s6%hIdR4Dt#QJDav7E$JbExg(uk-NapYOLdOt-(Ai#|HBiyDM6vIe@KacrVZqi zDxL|0?+20>m;YbX_%F_In}K6fR#rxHCib+)al-J!MRoQ)9AKW!=`dlf?mB73bMz3bEOSlI8?{{PI?{D@)2GeMQrDkwJ6lY zI5h{{X|_C)^TOuWqj4jIx<$%O>O=*IuwU7enofplUf*N`d;8~{nXKm5Lz7T0-%|4-~9AwBbG&h!x#|J|#%1;o1w$HWB7`aZVieN{HyAVoX@WGCvFbRU2VV4^C* zK26T%BlO;1TIk^$H{?t2)Q8cim(xMpJ;P7OH+lv2{}3$|Le^tm#kBYC_zH27I78A<=frx+ts~UN1{6n^KB&xh| zkm;|i>7x6Mxaj`-v^Rb|DfZ6y8+DaLuF|ABLiP}a`eR6zSV*O0vQusNa zHvay7!APrIHx8Zhu_lqG{bwYF^!9Q`^!@O21m&T$j#&1EQ&D>b_!w(++omR_@YTF> z41(rM4 zD6@~;fn8oO>77D^H^vc;>T7ucB*LM$cFG^Z;g(Z9@5H3`gLzxnv`J>e?Nh^^} z%|}$BEucKk#PTf2Y0^H_cx9q%MdhFRa?|K z6mQty-wl9-mdvN#;Hv=m!;=zBO`C%J(d63~>E5*6c}eP5W@;#J8hq$TC20Mxo%HPV zYJr^RIYr+u3liO+J?Faxx$S+Hik}8-DE)#7@ctA?bflg)0TWL#EmSL2Pi#%rj}-0# zzoc5g*wk2d`Oel6e_P&JZ;!_m21*+ji-|KFo;otU0|g^f@Ra;>qf)aaw?eKSg~Rw= zZqZ5SG8-e_&?8W17y6+19`NgyAQ&L~T(bxy)J9~wxVhCe29nGw!6Z^kW4*CgPuvDA zaA3GqaSwzb<;^cyEgw_1@(`8}3a0|rO6!~_r5F^K{zbWeV2S?@L=ZeYG0I{1;kN0s z1s*H+Gng-^Fv-%Ub{fpcfjPDi?bS$WXJVes5^>(gVt zJNKVHDdC*mYYga6YJqgoQoB+u#%Aer=~yWAE?eB60^`}ra2LOcs)Wz3`UJ&5VhnEb zw}-OVbl>Z-VazpzEGE=b9gLK;&j_|bfc2T+HwRgN zsJV>T7dWr+C#tT$jC%oCA-9az=iuk-=)&&h>9KnClq69}mzIj*?dsf35|6a~S{jpj z!q@~VUm3LI6_(P@iS&ZXhZ%!LdD6}a5;X`>NwI)(A@y^fGtJ+&vxG7I9%`mRX<#lQ zx4)*qlJqW==wR9$|0J#%+)uZ})HPtcaI0cIy>>nGMP?fnU*C z`VR~yPqokcDQJ_wwSNMgJ+!KOy}abwD;xV;Ied4sbk@fB&)2vaa0k!aLYAe^H(8Hu zCi9o1PmM|CLO^HWgkP7d>QIT2)34`}n_Dh_+DRcHC?vLci~oUu?h|%XLQ5y3j>MN! z-C6@{H&y49mGW*tv_Qk1#?3tjG7p_J7YF>E;D>mU-(Rwt&u7@}r6+Y5jVTC`&sB8= zG6!Imk{})4^Hpo%N3N0eP&3vRB=gpLQ|l(HOqNuj%)IB^;vXtUQdDe|6Ud2KFqXSP zCZ9q^pRyUc1=>{0VZS!-27@l@RIH!`h&>-BQ&DNG&FEXZX3ZI|;+TZIayEqJ%Cd6t z363Wmh)dyebf2-wjip;nFe{!OqIu2X$-%}Tke^6u}|N*wNvd^&L& zWnT8tLYQP9h~DI&tFEfN!6JThB*S?{?q9ZMzS{>pC6rH9bFVR^A`O|oXirkHyt(%I zoO!lWY!p&}_@gFAL(|Xc`<*ULFcHHY4xB&Z)8@z!X}`I@+T!6g`RY|Z6WeE6g2scw z8tw3nfZ2X|<_hr`fydMyreDuxfKI5QBAB%zjH(Wu z73%Ot;<4=Fyi4(0aczg2hU@ldyY-?xO$k*F*+ zLOLUnX(2-PC84Z?#+D}QWE3;@tp!DvM3$0WW1F$d2qil)*0BvqvSnl)yZe|rpZk2S z`@Zh$y8n6pc>2?864P&v-*LRZ@6YFV^%8IP{A=mS%_7!1NHKlmeT&;%T33q?wgP{q z*T;SRT!)77BUdlyN5i2h^BHmWLb}E+2AWr8^@p3HKAu~D8H?tK*K5i$NVo9EHo-(s z@PnG2eLCZ*ZzZbMFhU!bLr$qdh+!B0?%^qo@ni;La46V->;GDRArk#e3|!g2SESU? z(t!Os=P2p!xC3BYJk40Z?*^{;1HlO)&jBl8Q^`2mGuvq>G zb`V!e?&>OD_2E>wU&mX!RaDhyM)Qmkk>JS4K$3jziM!En3)Ad2EuzltENvph@HN@B z?ANZ9z%GBT_CS=TT$U^$?C?HR`qN7GTFMJGUU4?%>kQMZa77aV?Fy4^fM+Zl) z&YHR_+7^)eXEG113Twx`VSpQ6@mEHv0pTe(c0JCKu-g)f7IHra zeSRUfz52X+{L?xuSn0D`!fyR_C*RIH=MCRIzaw(S1|gvj$LBt3RW)Y}f*H|5)zt7D zcnhVy$pY9DO#hQj35mQpk!v5d$vuYT7jF&HNTpyRD^PCs;knnl#a_i;1k3Ee0o-QV zqHv|+W%BdIP)iIf;aTd&_+anAmnm4Vs`xdUpx-xQdB2A%o#F7DK& z!rk;oGh%nHfHfC8TpkoXk5GU*zM?Af(}eCv_!KjxX<1vz66@SxNh{xyl^u(IPkBAi&sJ!E2a&BJ{o zr7cd+4u4dHQ-VIt2bf2GY~6E}DR59tTOTu37X+2ATBj(&ROdwsb+6+>qtbl}-W}*! z&t5poep?m>VspW{?uNqjc?*XDX$Q&;j%tEN=A6Bc`}fBF>L zqfZ5_em*-~d}!$>YehF+zOgCwh_|?4_VRsI6Y&$v4?|D-*+(G7B}1cTg9}-R};>=^befIqw1ixE99cq!m(|u}NREe+|(m zL%DrFvBSZt=k!fN^@|A3do%rhi(542+Y{V)X)P@j?#hsPc{CRg|yoF-p@^ z)g&|PP>m;$7YpEzmNdYUhBlyu_cI#8>pWlK3Nz7s~&26-w=mkq$OYup;EoE3_yGJZouz$8wxT^S;Yp_qXZa+V8 z+fw;^chW&yN|DIMw{uSt<}SzdvT(N<;HQ%2kC#}L{6Wv-F;Kqb9y{lXrNE?`Cd&o? zfao%ZT|#S7ZsX31EU+fgJs1@^BU=6ZIcXv_)oxqF#w{tJAhpgsZu>XB`gMX-sqALx zinFqe-xr)V$0A(&n`Qn>XXw8`GgAPgUY@fVr7DHjGcs_6{6b1`mr(tsRr*yeZ!6XEbrh>%}hRg<6z@E0i;P*a`Zr3r0 ze~Nwn=*LW>KWnO2c7)*F;KRR1Xz%H!2**s5vV=+zZVtXT2AAK31L~%}Nh{jQe(l5% zhU^IbGasM{hUUB(U|9?vnLVIl`#IvFjw>z~eC$<5!Qo`)*Jx11w*Afdv$?q|Z}ysW zl)$FfF3GoRzpSop*N{~^7t@jkvW{BiTzZ{AC>niS$dr1^B)uOfPu1ncMGfT|X?9jU zw!h@CWOLaM+0XLJ6Q_FDT2+65>zHLqot*(g*BXIF^^e*JLr^#SFA(K~M$3Tq!Z-g; zxB9;u5G6L`CCbXmfbdrb7D%h5!n&|BAR3*Cl}SRM_@`Bfrb~?F4B{4T&nL?7s=p{0 z-FRByDt{+}EfN|u0yZ5b;D5ly$3Nop@i7Gl(qUj=wzoF=drawC6iiOvXC^5^)`^M& zJA0*$^JpOW{Iupn(8=M~H)a*XF|=0)RCdKm0UUniBKI?gU9y@5{KnrXV3u{rB!~&| z&Lf_(JalkQ61)RWj*gC=fq+`Eruu z2vHYQRxX`Gu+l5-V&fwCWruomj9tK0-ajmsKfUy010q3O@dX8T!{-Dj zqZh|(BVbSwLezFfp$&(#kVegd;qTX-a751FmJXH=Tv1`-r^xBf3O9UzdQ1^ zDJgTxG~axD)NE^oBDZTUuh6(Yx4IkP>tC~5vP9@X%A3-mN@(2w5!jkFBHltfyguO@ z;S;dl6L~0Yj#+h1#c$&00YtQPwonYDV9AwQ1G0@kg)P<$=dGOgQ_r8LLrhwAd5^yf zZF{+MI7URbo7(1@v3LsTvs(RHRv$GMW;)fIa<(@2P6*aOx_cqfiP0>f5Wk<}0tqQueNBPJ!6FI}@o2u=)7+{MviB8eLW7Yl^BT zUs}jtd8=hgIR=3^8(^0i>y~*~Trx;$dyMolfn1mu1ZY+}9z*f=U&O>V=Kab})1qu=xbhP$@3h$2+?`(LLiRqi`De{REj z)14{E=vF(V_2B}(ISzVPNNGEPmqLRdf^)7>DZ|uDiw4iR33qY)npPqcjS=pQDvS+m zr)q^1`S^sIXPZ8+(|ngd%MM?^8tM6QWgk+H!2|*fzA65-H|5M<;RmiQwCo1M2`TU$-lnGMsGH?- z)EJHDu|xCHAliO~33ZQ{o=sJJw(GhS%o%)yQd%t(e$l@DD9xNG9!*$ryrR8r8Kato z$4A2WxZD2=uu44+(lsA@+F#y<$6?0RcsNWD$nJBwQZ#4>XfaG zN)eYSmvqF!Pu(95>5bM_7dCTQt&QhalGYjE%IaEhXkbM0`dwkeCkA5O9zIGn%C&-F zWARK8V_LF%uZ2dEB9+WeCVoK36NKE$#4O>T{ubM%Ke?oU}e0A8VRiD z#Z&Csl$?vNl`&g+CCZ^4JGKlzcz<(u;5VRx%1jdX@$GcGM4awq{nH~ktA@QKiP(CF zgHB0>jp6HPAsdda9WQeO216cA0uA*_%%I-kaMrLW#aGlx*{1*<04)`lhSsK^I4pD^ zpJuGRgo4)Fgtun@O8|$66kNdAfSY5B?j=^SvfLw^W;Kt$2JYw(8wdt+y#t#mMFDGr zP#fhuEe_A@)-b3?Z3OYrHl#e!zHS{KYxy#v({335qqA-DvTyO85tR1RN4*p0lOERk zxpO!7le@7NN0_(>a)>2y@JPtuC|HjDmu+8NO6#B-psUwI=UW|z6DLqE+Mv7-7*gr} zf@Mw6wV~@1p+h^y9i_^C_Aip*J)QXDa?SHolgVuK+pEB+yM1Z(SoUP|qL}o&lWf0c zCuiiSI`Wpi%{@eKb??7`dcq1=K3+9Ce2|c6F}m_4M|h#N4CUsuUDZ83RqW!arU7dj ze6f?^cjg)HaPc}Nsz<37Kv2GYrIhpv3!zuokLOFK^*e-_H%kK|m{jLv`nqWT>9eh8 zs9V?_rKfeRE&l#exujk*S`<@*aGp?aC(Em@E;FHrr73g~2<~mVaQO>UL+tZD*z1v> zChFpaBiz+!BW@*b6GS>GbH228u`guK%orzL>f7eGQyJkXay_jvupfdQi{&D`HaxN98d6M(=n_}pnDRlr>&Dbm+kfuSm{>B{{3iJp=)upUi#@>; z+$S`8LfNlB@(@w7ZwSspgC$v=QMV)^Mw%-=c#d=o{B$=CnTI)a4N=h7V;5|UT>+nJ z4dyL~NQWKcFzSO!R9g33Me1^&H_1utEib=@w~oxc0#(SEX;?%W*u7OiIs=S2X}@>H z3tK%rmPuq>``mWJvnd|!&vzmc5H+{-4<`c#0~-suLtYsj$5uP~6lNcu6GbRY{;AkySBbH8;VvNhf~h_wi1Lp_ zkRAn?wjvfkl&s6th13&_x%cFXAG!pb;aV5h@+3t6ppEn0l~|kW$ste&8Xmtn(+eq2 z6Z5v4e848?=s9Ln#iEjcE98!?`}Z&a>t938bns5R`@JTZsqLkSeg3vm~k*HJ^fE(&`o-8TA|;w-Z8Jz zK7>)F<~;V8${YAGhHppWcw(Os58Ly_E~;24t$*AN!{)q3c{q<^+9-d_Kx zy>HZUWW@7*lDFQnpLV|g-pDZ8|C>AV$9D&rtm^fXVW7Grwe9QNfYkogvI97^2YWdb1gj%eSxcbH!NXY|PDwn~m zMp7f5P?!#PE9>NcGZMXgANRHVyiZ`kfbS<`4ij^x4+%UBRxxLAvFw*r5Kk}F9L~o# z7~4?BF6qpm9XZT4pSk@Zj?h4xn#greZ*`{w30wMhc~b>tjweW~f+e*-Of6Zl+B=2g z7^w*jmF;!O2tnJen8PSs#EV6N$@t`q5SiTo;?Y#%CCu?zSl6oWNCW3^dDk3WQm<1Z zlDCR3S{xL_E&wSyx+=uLp(!((hM5Rx3s!QNr;U<5@3{OZi`@g>q5D)S(*Le{6H9Zp z2BG?*&z{HvwFsQLhU&}NFFFSj8PX%$0uKfVEzat@9njle?upBqP|o;3Jb^{+v zK9y&+)?4A6+;Gpxa|>_u|O4Cl=)PN$KIMEQNI7mnB*T_`6z z5ZZgEL{NU#L9VrNJMe68du4EXxu;XC zMwuo5U0j4Db$vlP7o7$8MKoMwA5Yf-&K7Bq9@gRs%3O8f$bmYuB)eM6w7R@)n$n1{ zp4iP0sFF)RfA5nqzY(bTJp`?No};UgrY6fGR2va_E$(SmI;|HTK78q0mv6m;R8AM! z7l>6{H6QzsyQ_;}WGKGK5PKapc^k(rR7r9;31NruwLz08bA4Hdm3J%oA~0K#HrEie zly?DsLp!i7(DzxnKF_W9HN|Xp5l8I1DWYLJ1ANzeZqch#O__=vt6dA>4-Xh8>V|{E zYH{x4)RP&*_?0|XX@Q-%9mn2VBCba=niR1)`H|3%TLgKjzJby0AK3@DjF<&n2e{o# zYz;hhL`%}C(RY4!6^(9fdhj98P~}p}8cpNDsZrc!G?!3H8j`fr&se`>6qTn_e75PP zw!FOn8EG{T0I+lKhO$6#KBkEf7CQGZj04k;GHKC1y}P?O|1~9^pGyGidY!H$if(Mo zNOj#8W&2819NOGEyr-zL2+C}t<9HW(><+cc;hwnW)9m(3IOlhB6kZSEho4#@S2bo& z6E-dPhODcXgXRQV?ikH8keg3$=#VmRK->D!$w)l0dv|e{Iya3rW#xXjGWbpHk<+T& z7WzWhJI-nX(daAX`VjhN z=Vrr7GE~=XmZzptW2j-Ax2t!8KfBPbVg_zVJ%}L~^BI&Err(FP6p5sNOipJkAAElt zTX6?^>NRZNq}qf&@02-wapJx-uLi|w@s(*29D9}dw&LeH!=P&(g9m186WV3>1`9fu zO4P@}{B#8p0G-bqT0tt8%IC2@$gbL8g-dCToERu8K*FU3OgZjdJTYAaGCEYEVegYU zY>dkv-q^C~^-_?b)#~m%*&SAu{26^Sf7K)%xdkSE_`312Eqa>eQ5VumplO_s)Q0sx zq^xqeXAM1{Xr9pRFm10;mP}wBadz@!Nr-+oGrkq|@(0w&5x#^@{o6q|*q@}Du64Qc zWeD!8+g_|xPYrceK#17T*6W3W5M1AJbCu!}77i|P!=wi=RLuf7UoaO(`)3(ZtxhLm z$-{;WmvJqEu^rOzAnMaQSgM0;rBf@dq2m+hajG*iFPMT6tb8_Mc)r^!_AdPBXC)&Z zXEb+>bOeIgb-~*u)FQJZg%Ann$&6+S??<*stLMl9#{e&XsOWH#a$rE!)}m7k?#kjN zg_V-2+_pH874~C9@usQ9QVZ#`Dctt-qZT^1*a8eN>~TI{_@vt4o;L9W^479g?^G;x z=Ts?HZ#zBEY;XP37qYq2`jUpkV}Q6=2biWWt&rdEy3qnDd`S=0JnPiJ->V>B6@Ht* zfx)S&#GQbLn;*ch94%o=H8YHV()iXTlEo6t?z+3!ebI^ZI|qPK8~+cO;`gl?OdPW})vSG(-mR;R6h$ zszavHvf;dvZZ>>p%}E&_(#g(3bXWu)#eoK8P}i@df_^CAPt-;&83Mx%057nAq(>8* zUu`T;(ZuN8QA4L&o9c-VK*P~2YSRM1uoDC#zxjUgINR1{Rq$0hPzCA6hwtZ{Zwcc} zA``)JEIMGjgo!(xXuY~;l_jy!YiA-VB;%+3H1zr9hdOr0x@)6Av`MdOr$LL^zzgIy zZL1kUfz%6F;WGgRnbmDThVFn!wI1a(&Lre7?g~zP*I85Veb)j`s0ln1Bu{k2M$NCi zzo2f{Y&QZ?&00F^hl-c<@vUHNuBD$Jt>Pn!)qc}a)rDwD&`l*yF6Quc0X(+f>kE!? zS}x*`s)gJxnd+KGA8<$r6SV?A|H?s#eel9 zYFQ&D=m?quWH(G1tMRV_7hAV8_~W^^(xYEt1k49u`P{AA0wX;Dcy&;}a-+1_!i)F6 z)`J!?7~nioASH}&PMKf{HY)FgpFU}-Mvt@u!2%7JPY0dSuid${|uPA9#^S;MD4ycA* zfCI+dsOWi?2STSdD2?F(ycq#k#X^cVvp#(G24PM--ru?E~ z+95CHKFn<=IT5TzH-;zwdm#QF)A33Q{vpZZp68`@DLUuKV~Li5Z0R)ZKV0!rf)uV~_l=p{FB%hmS8~|4Y!!^wt K8hEu^5B~!R$UBPw literal 0 HcmV?d00001 From 69564569dcf9973f22904e4d96321fc99cd2ec19 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 11:58:43 -0400 Subject: [PATCH 06/14] High level summary --- .../deployment/recipes/nginx--image-archive.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index 0027e8aa7..0f0a431b1 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -1 +1,17 @@ # Nginx + Image Archive + +> DISCLAIMER! We make no claims or guarantees of this approach's security. If in +> doubt, enlist the help of an expert and conduct proper audits. + +At a certain point, you may want others to have access to your instance of the +OHIF Viewer and its medical imaging data. This post covers one of many potential +setups that accomplish that. Please note, noticably absent is user account +control. + +Do not use this recipe to host sensitive medical data on the open web. Depending +on your company's policies, this may be an appropriate setup on an internal +network when protected with a server's basic authentication. For a more robust +setup, check out our [user account control recpie](./user-account-control.md) +that builds on the lessons learned here. + +## Overview From ee31127b08b24a8a16a146d4de1360693483f158 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 12:58:59 -0400 Subject: [PATCH 07/14] Explaining web requests, cors, and diagram of flow --- .../recipes/nginx--image-archive.md | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index 0f0a431b1..e9856b57b 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -15,3 +15,56 @@ setup, check out our [user account control recpie](./user-account-control.md) that builds on the lessons learned here. ## Overview + +Our two biggest hurdles when hosting our image archive and web client are: + +- Risks related to exposing our PACS to the netowrk +- Cross-Origin Resource Sharing (CORS) requests + +### Handling Web Requests + +We mittigate our first issue by allowing [Nginx][nginx] to handle incoming web +requests. Nginx is open source software for web serving, reverse proxying, +caching, and more. It's designed for maximum performance and stability -- +allowing us to more reliably serve content than Orthanc's built-in server can. + +More specifically, we accomplish this by using a +[`reverse proxy`](https://en.wikipedia.org/wiki/Reverse_proxy) to retrieve +resources from our image archive (Orthanc), and when accessing its web admin. + +> A reverse proxy is a type of proxy server that retrieves resources on behalf +> of a client from one or more servers. These resources are then returned to the +> client, appearing as if they originated from the proxy server itself. + +### CORS Issues + +Cross-Origin Resource Sharing (CORS) is a mechanism that uses HTTP headers to +tell a browser which web applications have permission to access selected +resources from a server at a different origin (domain, protocol, port). IE. By +default, a Web App located at `http://my-website.com` can't access resources +hosted at `http://not-my-website.com` + +We can solve this one of two ways: + +1. Have our Image Archive located at the same domain as our Web App +2. Add appropriate `Access-Control-Allow-*` HTTP headers + +This solution uses the first approach, but you can see an example of the second +in the `docker-compose` bundled with this project for local development: +[HERE](#) + +You can read more about CORS in this Medium article: [Understanding +CORS][understanding-cors] + +### Diagram + +This setup allows us to create a setup similar to the one pictured below: + +{% include "./../_nginx-image-archive-diagram.md" %} + +- All web requests are routed through `nginx` on our `OpenResty` image +- `/pacs` is a reverse proxy for `orthanc`'s `DICOM Web` endpoints +- `/pacs-admin` is a reverse proxy for `orthanc`'s Web Admin +- All static resources for OHIF Viewer are served up by `nginx` when a matching + route for that resource is requested + From 2d2df3a9de3e5feb8a5fe35177699af89557d4db Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 12:59:20 -0400 Subject: [PATCH 08/14] Provide diagram as a partial --- docs/latest/deployment/_nginx-image-archive-diagram.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 docs/latest/deployment/_nginx-image-archive-diagram.md diff --git a/docs/latest/deployment/_nginx-image-archive-diagram.md b/docs/latest/deployment/_nginx-image-archive-diagram.md new file mode 100644 index 000000000..780e4f766 --- /dev/null +++ b/docs/latest/deployment/_nginx-image-archive-diagram.md @@ -0,0 +1,4 @@ +
+ request flow example +
simplified request flow diagram
+
From 2333eb294d3d2d93234d493c8fc9c03ec0065086 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:01:38 -0400 Subject: [PATCH 09/14] Requirements --- docs/latest/deployment/recipes/nginx--image-archive.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index e9856b57b..ddd330265 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -68,3 +68,13 @@ This setup allows us to create a setup similar to the one pictured below: - All static resources for OHIF Viewer are served up by `nginx` when a matching route for that resource is requested +## Getting Started + +### Requirements + +- Docker + - [Docker for Mac](https://docs.docker.com/docker-for-mac/) + - [Docker for Windows](https://docs.docker.com/docker-for-windows/) + +_Not sure if you have `docker` installed already? Try running `docker --version` +in command prompt or terminal_ From e45dcc9f33ac5b0ef61bc0bddbc72aba2631a4d4 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:02:16 -0400 Subject: [PATCH 10/14] Setup and troubleshooting --- .../recipes/nginx--image-archive.md | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index ddd330265..bac8c6a27 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -78,3 +78,37 @@ This setup allows us to create a setup similar to the one pictured below: _Not sure if you have `docker` installed already? Try running `docker --version` in command prompt or terminal_ + +### Setup + +_Spin Things Up_ + +- Navigate to `/docker/OpenResty-Orthanc` in your shell +- Run `docker-compose up` + +_Upload Your First Study_ + +- Navigate to `http://127.0.0.1/pacs-admin` +- From the top right, select "Upload" +- Click "Select files to upload..." (DICOM) +- Click "Start the upload" +- Navigate back to `http://127.0.0.1/` to view your studies in the Study List + +### Troubleshooting + +_Exit code 137_ + +This means Docker ran out of memory. Open Docker Desktop, go to the `advanced` +tab, and increase the amount of Memory available. + +_Cannot create container for service X_ + +Use this one with caution: `docker system prune` + +_X is already running_ + +Stop running all containers: + +- Win: `docker ps -a -q | ForEach { docker stop $_ }` +- Linux: `docker stop $(docker ps -a -q)` + From 1eb930239deb897998cf42a25171ccd510d14a1e Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:02:41 -0400 Subject: [PATCH 11/14] Configuration --- .../recipes/nginx--image-archive.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index bac8c6a27..c5e49e843 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -112,3 +112,39 @@ Stop running all containers: - Win: `docker ps -a -q | ForEach { docker stop $_ }` - Linux: `docker stop $(docker ps -a -q)` +### Configuration + +After verifying that everything runs with default configuration values, you will +likely want to update: + +- The domain: `http://127.0.0.1` + +#### OHIF Viewer + +The OHIF Viewer's configuration is imported from a static `.js` file and made +available globally at `window.config`. The configuration we use is set to a +specific file when we build the viewer, and determined by the env variable: +`REACT_APP_CONFIG`. You can see where we set its value in the `dockerfile` for +this solution: + +`ENV REACT_APP_CONFIG=config/docker_openresty-orthanc.js` + +You can find the configuration we're using here: +`/public/config/docker_openresty-orthanc.js` + +To rebuild the `webapp` image created by our `dockerfile` after updating the +Viewer's configuration, you can run: + +- `docker-compose build` OR +- `docker-compose up --build` + +#### Other + +All other files are found in: `/docker/OpenResty-Orthanc/` + +| Service | Configuration | Docs | +| ----------------- | ---------------------------------------------- | ------------------------------------------- | +| OHIF Viewer | [dockerfile][dockerfile] / [config.js][config] | You're reading them now! | +| OpenResty (Nginx) | [`/nginx.conf`][config-nginx] | [lua-resty-openidc][lua-resty-openidc-docs] | +| Orthanc | [`/orthanc.json`][config-orthanc] | [Here][orthanc-docs] | + From 9f0004659efef1661d860d46232778e4d571d1a6 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:03:06 -0400 Subject: [PATCH 12/14] Next steps --- .../recipes/nginx--image-archive.md | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) diff --git a/docs/latest/deployment/recipes/nginx--image-archive.md b/docs/latest/deployment/recipes/nginx--image-archive.md index c5e49e843..6a3da8b0a 100644 --- a/docs/latest/deployment/recipes/nginx--image-archive.md +++ b/docs/latest/deployment/recipes/nginx--image-archive.md @@ -148,3 +148,98 @@ All other files are found in: `/docker/OpenResty-Orthanc/` | OpenResty (Nginx) | [`/nginx.conf`][config-nginx] | [lua-resty-openidc][lua-resty-openidc-docs] | | Orthanc | [`/orthanc.json`][config-orthanc] | [Here][orthanc-docs] | +## Next Steps + +### Deploying to Production + +While these configuration and docker-compose files model an environment suitable +for production, they are not easy to deploy "as is". You can either: + +- Manually recreate this environment and deploy built application files **OR** +- Deploy to a cloud kubernetes provider like + [Digital Ocean](https://www.digitalocean.com/products/kubernetes/) **OR** + - [See a full list of cloud providers here](https://landscape.cncf.io/category=cloud&format=card-mode&grouping=category) +- Find and follow your preferred provider's guide on setting up + [swarms and stacks](https://docs.docker.com/get-started/) + +### Adding SSL + +Adding SSL registration and renewal for your domain with Let's Encrypt that +terminates at Nginx is an incredibly important step toward securing your data. +Here are some resources, specific to this setup, that may be helpful: + +- [lua-resty-auto-ssl](https://github.com/GUI/lua-resty-auto-ssl) +- [Let's Encrypt + Nginx](https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/) + +While we terminate SSL at Nginx, it may be worth using self signed certificates +for communication between services. + +- [SSL Termination for TCP Upstream Servers](https://docs.nginx.com/nginx/admin-guide/security-controls/terminating-ssl-tcp/) + +### Use PostgresSQL w/ Orthanc + +Orthanc can handle a large amount of data and requests, but if you find that +requests start to slow as you add more and more studies, you may want to +configure your Orthanc instance to use PostgresSQL. Instructions on how to do +that can be found in the +[`Orthanc Server Book`](http://book.orthanc-server.com/users/docker.html), under +"PostgreSQL and Orthanc inside Docker" + +### Improving This Guide + +Here are some improvements this guide would benefit from, and that we would be +more than happy to accept Pull Requests for: + +- SSL Support +- Complete configuration with `.env` file (or something similar) +- Any security issues +- One-click deploy to a cloud provider + +## Resources + +### Misc. Helpful Commands + +_Check if `nginx.conf` is valid:_ + +```bash +docker run --rm -t -a stdout --name my-openresty -v $PWD/config/:/usr/local/openresty/nginx/conf/:ro openresty/openresty:alpine-fat openresty -c /usr/local/openresty/nginx/conf/nginx.conf -t +``` + +_Interact w/ running container:_ + +`docker exec -it CONTAINER_NAME bash` + +_List running containers:_ + +`docker ps` + +### Referenced Articles + +For more documentation on the software we've chosen to use, you may find the +following resources helpful: + +- [Orthanc for Docker](http://book.orthanc-server.com/users/docker.html) +- [OpenResty Guide](http://www.staticshin.com/programming/definitely-an-open-resty-guide/) +- [Lua Ngx API](https://openresty-reference.readthedocs.io/en/latest/Lua_Nginx_API/) + +For a different take on this setup, check out the repository one of our +community members put together: + +- [mjstealey/ohif-orthanc-dimse-docker](https://github.com/mjstealey/ohif-orthanc-dimse-docker) + + + + + +[nginx]: https://www.nginx.com/resources/glossary/nginx/ +[understanding-cors]: https://medium.com/@baphemot/understanding-cors-18ad6b478e2b +[orthanc-docs]: http://book.orthanc-server.com/users/configuration.html#configuration +[lua-resty-openidc-docs]: https://github.com/zmartzone/lua-resty-openidc + +[config]: # +[dockerfile]: # +[config-nginx]: # +[config-orthanc]: # + From d10710ec51605c4a4803001defb3eabcaef6b1a5 Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:14:08 -0400 Subject: [PATCH 13/14] Copy-pasta and trim --- docker/OpenResty-Orthanc/.dockerignore | 16 +++ docker/OpenResty-Orthanc/.env | 5 + docker/OpenResty-Orthanc/config/nginx.conf | 135 ++++++++++++++++++ docker/OpenResty-Orthanc/config/orthanc.json | 89 ++++++++++++ docker/OpenResty-Orthanc/docker-compose.yml | 45 ++++++ docker/OpenResty-Orthanc/dockerfile | 65 +++++++++ .../volumes/orthanc-db/.gitignore | 2 + public/config/docker_openresty-orthanc.js | 26 ++++ 8 files changed, 383 insertions(+) create mode 100644 docker/OpenResty-Orthanc/.dockerignore create mode 100644 docker/OpenResty-Orthanc/.env create mode 100644 docker/OpenResty-Orthanc/config/nginx.conf create mode 100644 docker/OpenResty-Orthanc/config/orthanc.json create mode 100644 docker/OpenResty-Orthanc/docker-compose.yml create mode 100644 docker/OpenResty-Orthanc/dockerfile create mode 100644 docker/OpenResty-Orthanc/volumes/orthanc-db/.gitignore create mode 100644 public/config/docker_openresty-orthanc.js diff --git a/docker/OpenResty-Orthanc/.dockerignore b/docker/OpenResty-Orthanc/.dockerignore new file mode 100644 index 000000000..67f1b2e98 --- /dev/null +++ b/docker/OpenResty-Orthanc/.dockerignore @@ -0,0 +1,16 @@ +# Output +dist/ + +# Dependencies +node_modules/ + +# Root +README.md +Dockerfile + +# Misc. Config +.git +.DS_Store +.gitignore +.vscode +.circleci diff --git a/docker/OpenResty-Orthanc/.env b/docker/OpenResty-Orthanc/.env new file mode 100644 index 000000000..6989ff3fc --- /dev/null +++ b/docker/OpenResty-Orthanc/.env @@ -0,0 +1,5 @@ +# Docker ENV and ARG Variables +# ---------------------------- +# https://vsupalov.com/docker-arg-env-variable-guide/ +# +# diff --git a/docker/OpenResty-Orthanc/config/nginx.conf b/docker/OpenResty-Orthanc/config/nginx.conf new file mode 100644 index 000000000..777e49703 --- /dev/null +++ b/docker/OpenResty-Orthanc/config/nginx.conf @@ -0,0 +1,135 @@ +worker_processes 2; +error_log /var/logs/nginx/mydomain.error.log; +pid /var/run/nginx.pid; +include /usr/share/nginx/modules/*.conf; # See /usr/share/doc/nginx/README.dynamic. + +events { + worker_connections 1024; ## Default: 1024 + use epoll; # http://nginx.org/en/docs/events.html + multi_accept on; # http://nginx.org/en/docs/ngx_core_module.html#multi_accept +} + +# Core Modules Docs: +# http://nginx.org/en/docs/http/ngx_http_core_module.html +http { + include '/usr/local/openresty/nginx/conf/mime.types'; + default_type application/octet-stream; + + keepalive_timeout 65; + keepalive_requests 100000; + tcp_nopush on; + tcp_nodelay on; + + # lua_ settings + # + lua_package_path '/usr/local/openresty/lualib/?.lua;;'; + lua_shared_dict discovery 1m; # cache for discovery metadata documents + lua_shared_dict jwks 1m; # cache for JWKs + # lua_ssl_trusted_certificate /etc/ssl/certs/ca-certificates.crt; + + variables_hash_max_size 2048; + server_names_hash_bucket_size 128; + server_tokens off; + + resolver 8.8.8.8 valid=30s ipv6=off; + resolver_timeout 11s; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + # Nginx `listener` block + server { + listen [::]:80 default_server; + listen 80; + # listen 443 ssl; + access_log /var/logs/nginx/mydomain.access.log; + + # Domain to protect + server_name 127.0.0.1 localhost; # mydomain.com; + proxy_intercept_errors off; + # ssl_certificate /etc/letsencrypt/live/mydomain.co.uk/fullchain.pem; + # ssl_certificate_key /etc/letsencrypt/live/mydomain.co.uk/privkey.pem; + gzip on; + gzip_types text/css application/javascript application/json image/svg+xml; + gzip_comp_level 9; + etag on; + + # https://github.com/bungle/lua-resty-session/issues/15 + set $session_check_ssi off; + lua_code_cache off; + set $session_secret Eeko7aeb6iu5Wohch9Loo1aitha0ahd1; + set $session_storage cookie; + + server_tokens off; # Hides server version num + + # Reverse Proxy for `orthanc` admin + # + location /pacs-admin/ { + + proxy_http_version 1.1; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + proxy_pass http://orthanc:8042/; + } + + # Reverse Proxy for `orthanc` APIs (including DICOMWeb) + # + location /pacs/ { + + proxy_http_version 1.1; + + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + expires 0; + add_header Cache-Control private; + + proxy_pass http://orthanc:8042/; + + # By default, this endpoint is protected by CORS (cross-origin-resource-sharing) + # You can add headers to allow other domains to request this resource. + # See the "Updating CORS Settings" example below + } + + # Do not cache sw.js, required for offline-first updates. + location /sw.js { + add_header Cache-Control "no-cache"; + proxy_cache_bypass $http_pragma; + proxy_cache_revalidate on; + expires off; + access_log off; + } + + # Single Page App + # Try files, fallback to index.html + # + location / { + alias /var/www/html/; + index index.html; + try_files $uri $uri/ /index.html; + add_header Cache-Control "no-store, no-cache, must-revalidate"; + } + + # EXAMPLE: Redirect server error pages to the static page /40x.html + # + # error_page 404 /404.html; + # location = /40x.html { + # } + + # EXAMPLE: Redirect server error pages to the static page /50x.html + # + # error_page 500 502 503 504 /50x.html; + # location = /50x.html { + # } + } +} diff --git a/docker/OpenResty-Orthanc/config/orthanc.json b/docker/OpenResty-Orthanc/config/orthanc.json new file mode 100644 index 000000000..2e10723c0 --- /dev/null +++ b/docker/OpenResty-Orthanc/config/orthanc.json @@ -0,0 +1,89 @@ +{ + "Name": "Orthanc inside Docker", + "StorageDirectory": "/var/lib/orthanc/db", + "IndexDirectory": "/var/lib/orthanc/db", + "StorageCompression": false, + "MaximumStorageSize": 0, + "MaximumPatientCount": 0, + "LuaScripts": [], + "Plugins": ["/usr/share/orthanc/plugins", "/usr/local/share/orthanc/plugins"], + "ConcurrentJobs": 2, + "HttpServerEnabled": true, + "HttpPort": 8042, + "HttpDescribeErrors": true, + "HttpCompressionEnabled": true, + "DicomServerEnabled": true, + "DicomAet": "ORTHANC", + "DicomCheckCalledAet": false, + "DicomPort": 4242, + "DefaultEncoding": "Latin1", + "DeflatedTransferSyntaxAccepted": true, + "JpegTransferSyntaxAccepted": true, + "Jpeg2000TransferSyntaxAccepted": true, + "JpegLosslessTransferSyntaxAccepted": true, + "JpipTransferSyntaxAccepted": true, + "Mpeg2TransferSyntaxAccepted": true, + "RleTransferSyntaxAccepted": true, + "UnknownSopClassAccepted": false, + "DicomScpTimeout": 30, + + "RemoteAccessAllowed": true, + "SslEnabled": false, + "SslCertificate": "certificate.pem", + "AuthenticationEnabled": false, + "RegisteredUsers": { + "test": "test" + }, + "DicomModalities": {}, + "DicomModalitiesInDatabase": false, + "DicomAlwaysAllowEcho": true, + "DicomAlwaysAllowStore": true, + "DicomCheckModalityHost": false, + "DicomScuTimeout": 10, + "OrthancPeers": {}, + "OrthancPeersInDatabase": false, + "HttpProxy": "", + + "HttpVerbose": true, + + "HttpTimeout": 10, + "HttpsVerifyPeers": true, + "HttpsCACertificates": "", + "UserMetadata": {}, + "UserContentType": {}, + "StableAge": 60, + "StrictAetComparison": false, + "StoreMD5ForAttachments": true, + "LimitFindResults": 0, + "LimitFindInstances": 0, + "LimitJobs": 10, + "LogExportedResources": false, + "KeepAlive": true, + "TcpNoDelay": true, + "HttpThreadsCount": 50, + "StoreDicom": true, + "DicomAssociationCloseDelay": 5, + "QueryRetrieveSize": 10, + "CaseSensitivePN": false, + "LoadPrivateDictionary": true, + "Dictionary": {}, + "SynchronousCMove": true, + "JobsHistorySize": 10, + "SaveJobs": true, + "OverwriteInstances": false, + "MediaArchiveSize": 1, + "StorageAccessOnFind": "Always", + "MetricsEnabled": true, + + "DicomWeb": { + "Enable": true, + "Root": "/dicom-web/", + "EnableWado": true, + "WadoRoot": "/wado", + "Host": "127.0.0.1", + "Ssl": false, + "StowMaxInstances": 10, + "StowMaxSize": 10, + "QidoCaseSensitive": false + } +} diff --git a/docker/OpenResty-Orthanc/docker-compose.yml b/docker/OpenResty-Orthanc/docker-compose.yml new file mode 100644 index 000000000..0b6487c8a --- /dev/null +++ b/docker/OpenResty-Orthanc/docker-compose.yml @@ -0,0 +1,45 @@ +# Reference: +# - https://docs.docker.com/compose/compose-file +# - https://eclipsesource.com/blogs/2018/01/11/authenticating-reverse-proxy-with-keycloak/ + +version: '3.5' + +services: + # Exposed server that's handling incoming web requests + # Underlying image: openresty/openresty:alpine-fat + ohif_viewer: + build: + # Project root + context: ./../../ + # Relative to context + dockerfile: ./docker/OpenResty-Orthanc/dockerfile + image: webapp:latest + container_name: webapp + volumes: + # Nginx config + - ./config/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro + # Logs + - ./logs/nginx:/var/logs/nginx + # Let's Encrypt + # - letsencrypt_certificates:/etc/letsencrypt + # - letsencrypt_challenges:/var/www/letsencrypt + ports: + - '443:443' # SSL + - '80:80' # Web + depends_on: + - orthanc + restart: on-failure + + # LINK: https://hub.docker.com/r/jodogne/orthanc-plugins/ + # TODO: Update to use Postgres + # https://github.com/mrts/docker-postgresql-multiple-databases + orthanc: + image: jodogne/orthanc-plugins:1.5.6 + hostname: orthanc + container_name: orthanc + volumes: + # Config + - ./config/orthanc.json:/etc/orthanc/orthanc.json:ro + # Persist data + - ./volumes/orthanc-db/:/var/lib/orthanc/db/ + restart: unless-stopped diff --git a/docker/OpenResty-Orthanc/dockerfile b/docker/OpenResty-Orthanc/dockerfile new file mode 100644 index 000000000..6b96885cf --- /dev/null +++ b/docker/OpenResty-Orthanc/dockerfile @@ -0,0 +1,65 @@ +# docker-compose +# -------------- +# This dockerfile is used by the `docker-compose.yml` adjacent file. When +# running `docker-compose build`, this dockerfile helps build the "webapp" image. +# All paths are relative to the `context`, which is the project root directory. +# +# docker build +# -------------- +# If you would like to use this dockerfile to build and tag an image, make sure +# you set the context to the project's root directory: +# https://docs.docker.com/engine/reference/commandline/build/ +# +# +# SUMMARY +# -------------- +# This dockerfile has two stages: +# +# 1. Building the React application for production +# 2. Setting up our Nginx (OpenResty*) image w/ step one's output +# +# * OpenResty is functionally identical to Nginx with the addition of Lua out of +# the box. + + +# Stage 1: Build the application +FROM node:11.2.0-slim as builder + +RUN mkdir /usr/src/app +WORKDIR /usr/src/app + +ENV REACT_APP_CONFIG=config/docker_openresty-orthanc.js +ENV PATH /usr/src/app/node_modules/.bin:$PATH + +COPY package.json /usr/src/app/package.json +COPY yarn.lock /usr/src/app/yarn.lock + +ADD . /usr/src/app/ +RUN yarn install +RUN yarn run build:web + +# Stage 2: Bundle the built application into a Docker container +# which runs openresty (nginx) using Alpine Linux +# LINK: https://hub.docker.com/r/openresty/openresty +FROM openresty/openresty:1.15.8.1rc1-0-alpine-fat + +RUN mkdir /var/log/nginx +RUN apk add --no-cache openssl +RUN apk add --no-cache openssl-dev +RUN apk add --no-cache git +RUN apk add --no-cache gcc +# !!! +RUN luarocks install lua-resty-openidc + +# +RUN luarocks install lua-resty-jwt +RUN luarocks install lua-resty-session +RUN luarocks install lua-resty-http +# !!! +RUN luarocks install lua-resty-openidc +RUN luarocks install luacrypto + +# Copy build output to image +COPY --from=builder /usr/src/app/build /var/www/html + +ENTRYPOINT ["/usr/local/openresty/nginx/sbin/nginx", "-g", "daemon off;"] diff --git a/docker/OpenResty-Orthanc/volumes/orthanc-db/.gitignore b/docker/OpenResty-Orthanc/volumes/orthanc-db/.gitignore new file mode 100644 index 000000000..d6b7ef32c --- /dev/null +++ b/docker/OpenResty-Orthanc/volumes/orthanc-db/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/public/config/docker_openresty-orthanc.js b/public/config/docker_openresty-orthanc.js new file mode 100644 index 000000000..65ed5297f --- /dev/null +++ b/public/config/docker_openresty-orthanc.js @@ -0,0 +1,26 @@ +window.config = { + routerBasename: '/', + relativeWebWorkerScriptsPath: '', + servers: { + // This is an array, but we'll only use the first entry for now + dicomWeb: [ + { + name: 'Orthanc', + wadoUriRoot: 'http://127.0.0.1/pacs/wado', + qidoRoot: 'http://127.0.0.1/pacs/dicom-web', + wadoRoot: 'http://127.0.0.1/pacs/dicom-web', + qidoSupportsIncludeField: false, + imageRendering: 'wadors', + thumbnailRendering: 'wadors', + // REQUIRED TAG: + // https://github.com/OHIF/ohif-core/blob/59e1e04b92be24aee5d4402445cb3dcedb746995/src/studies/retrieveStudyMetadata.js#L54 + // TODO: Remove tag after https://github.com/OHIF/ohif-core/pull/19 is merged and we bump version + requestOptions: { + // undefined to use JWT + Bearer auth + // auth: 'orthanc:orthanc', + requestFromBrowser: true, + }, + }, + ], + }, +} From b6d9b9aefc70fe529e1ede1ca88cbe7697db488b Mon Sep 17 00:00:00 2001 From: dannyrb Date: Mon, 13 May 2019 13:47:42 -0400 Subject: [PATCH 14/14] Tidying up contribution docs --- docs/latest/contributing.md | 11 ++++------- docs/latest/frequently-asked-questions.md | 18 ++++++++---------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/docs/latest/contributing.md b/docs/latest/contributing.md index 0402cca4b..f0bd63732 100644 --- a/docs/latest/contributing.md +++ b/docs/latest/contributing.md @@ -10,7 +10,8 @@ Fork the repository, make your change and submit a pull request. - `react-viewerbase`: Reusable React Component Library - `Viewers`: The glue, PWA, and primary extension point - At a minimum, you may want to read the following documentation: - - h + - [Essentials: Getting Started](./essentials/getting-started.md) + - [Advanced: Architecture](./advanced/architecture.md) ## Any guidance on submitting changes? @@ -18,12 +19,8 @@ While we do appreciate code contributions, triaging and integrating contributed code changes can be very time consuming. Please consider the following tips when working on your pull requests: -- Functionality is appropriate for the repository. Consider posting on the forum - if you are not sure. -- Code quality is acceptable. We don't have coding standards defined, but make - sure it passes ESLint and looks like the rest of the code in the repository. -- Quality of design is acceptable. This is a bit subjective so you should - consider posting on the forum for specific guidance. +- Functionality is appropriate for the repository. Consider creating a GitHub + issue to discuss your suggested changes. - The scope of the pull request is not too large. Please consider separate pull requests for each feature as big pull requests are very time consuming to understand. diff --git a/docs/latest/frequently-asked-questions.md b/docs/latest/frequently-asked-questions.md index 4e6734faf..eec5c1a3f 100644 --- a/docs/latest/frequently-asked-questions.md +++ b/docs/latest/frequently-asked-questions.md @@ -4,16 +4,14 @@ We accept and triage bug reports through Github primarily. -1. [Create a Github account](https://github.com/join) -2. Search the current [Issue List](https://github.com/OHIF/Viewers/issues) to - ensure you are not creating a duplicate issue. - -If your issue already exists, post a comment to show us that this issue also -affects you. - -3. If no prior issue exists, - [Create a New Issue](https://github.com/OHIF/Viewers/issues/new) on the - repository. +- [Create a Github account](https://github.com/join) +- Search the current [Issue List](https://github.com/OHIF/Viewers/issues) to + ensure you are not creating a duplicate issue. + - If your issue already exists, post a comment to show us that this issue also + affects you. +- If no prior issue exists, + [Create a New Issue](https://github.com/OHIF/Viewers/issues/new) on the + repository. Some tips for filing a new issue: