From 3b9d36f2d2bf74c2d6a094c8524a5174f103afa4 Mon Sep 17 00:00:00 2001 From: Roman Mogilatov Date: Fri, 17 Jul 2015 10:01:27 +0300 Subject: [PATCH] Adding fixes for ExternalDependecy provider docs --- docs/images/external_dependency.png | Bin 40801 -> 41683 bytes docs/providers/extending.rst | 2 ++ docs/providers/external_dependency.rst | 17 +++++++++-------- docs/providers/index.rst | 1 + examples/providers/external_dependency.py | 10 ++++++---- 5 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 docs/providers/extending.rst diff --git a/docs/images/external_dependency.png b/docs/images/external_dependency.png index 317903ecbbd1265e7219e20b8473939ad8779e10..4195412e54f21eaf2866b50b2e65822abe707d70 100644 GIT binary patch literal 41683 zcmce7XH-k|2(^A_se^B-w(?E1A*2|K_Ib25Qy$Ay7sjMFz%PSvgXUn%gedBx!~YnpeGLxPgPab z>FFsC8+BEh`rHq*J1k7n?>$t%Ae53KxQ#ViTU!Tfj4tO~^lS5UYqFVT#Psy^)^`7# zo}Imn4%*w>yZ6>aF3SJLU5dE4xYH?TkeQl*y=m*@=-$zxn3u!c`bu!w*Q%f0IWdZ@ z1=`wW={x~WIUUV34> zDNs8Z^~_C8tt_eN>wp+&<)Q*ozt@2t(R&wu0TB=g7;0)NLIk*IQ6aJcPQu|H5>riY z3Xsr(f`Wj6fIthTU!_8G6S&1j{k?^6=cfnrH41Cpe%oUyr~8X5ZT1(yt(Dfpje)bH zt(}>CB0|u^2M+_Sg3tkJah}ME*s9X#^6b!Dsi)E^QmO@!MXpBf5zbNiiUye=8*33CZLnsFJx$Y`md$x%;jjTt3{??PBW5_}-qyC6cs;30Vr zU~37?pz?B{55$ZLzy;}B1wB^~=w8azKY^lqNIW1VAVs<7nqHHe=cFd~xY4`_f|lox zWn~{};0qpq(@D~S59(?D913tHFbHcH%yJE^@ z#J=c*qz&kr!lc3A<*{X?q+IJP;i@QS7-Lx(0r2ks|9_@cou8MZ?GBAL)+wCw5QFD{==CAa`yRakqf<`qrCTIxZZ3D^PP$)bW>3 zr;VkjR9R@`dzlqQa8~(cGMrC%9Jat?mGg;8q($s;C^9d{`z53whaUwT{alysdKOq+ zI%cBx$7xWB(dQheCm&Dd!wq!cSaiC3@jI_+r)e=h((C*a@iuE#go|B3wZLPhVTcqkHvMvG#kxdVt>89T z7%b{BO%eE~Y4IU8$KoA6;B0Z_1|o$w25kVJ7r{s!&0Y<9%7c}D-9Ugy5s*qSlrquH zz<*poHN#`jQEoi)7r*FKcoNdaaw4(Q)&VtCnA(Kxbi z3UigPBWLG4J>oBN8{O%60qXBON3`RnI!IBZ=CVn^Gm+=4YqsGc)>Jr-IN{ z>h48dwc81J7{j$e{w(6jLV1RSk9hw6M2P(7DF|3VAI^?c%=^Ky05^P6EDCKPwDHX+IY1l*nrV_At1iOKf4!v^Hk{ZlrwnVX znOd)I;-R?J57R)ZC^+@?Xu&5qv=oWBXFtb{bP1+DRI_CZ>mD@bWM-CDTo!?b2CU56 zxixAsaab)O=v}5+xoRrBk6Plkk1JFVhL2INPn4e;CFpYGd1g^IBr#HI88xr^h(vzIqgn9VWz z>_OjZGMn=&{FppPU&PXvN@QeW;xlVZ!7hVc1545uw~&1!e}R3s!Lw?Cvi1v+YW&3! zoskC3L#(KP4(@e^HcRg!k7UTF5zwZZE*`36GrKK+Ob#jPqJbn^d|E`n z&D}Ug#uv>Hesq=48VA9rOM5MN{+q}Hfz>ZGn`;VU*7AdPf!DaP(r;Dv)%uvJ0L^#( zgkQ;du-pY9n&G}kS^cSZhv@S@?`Je#)B`zYI$snL|(?|Jy8$e&`I7P|14?DcG7k-K&H z4;*$46nQ$8UvJYd9YGmVo{4^k_f=YS(G2cF?cN$>J;qjwaO3o{`d%}#iO~(pG9^q? z7;2oi&A3xsVT)q%BS$#RMQMVpq4UVK3G*kmMFWWB^&`bWU2dLz4JnftGTsFx(IMXp z-irj|n29>>nwkc8Hl``jbB_bZ?Y9eOGO3Ik6LnlzUXrP&MT!0n3vbtd?P>aWQ8cA7 z`lXr?PT*nbjO$$nNyYs&7HYyR;mdOH!=?O%eGpfWJa@e}d z;w^%bPrn&`FJ@EP6;hDN&O)5flF@=zvPRa0eH8R`{Ad!k$06v|?4* zYC6+_P0!te-Uc?fA^|;LYoX!E^vuAqjq$5XaoAIqsdt0EGD!6i25CiXh$Z_6idIJ) z7S^|ycFD<$+3-hAO=w%wttIPZ%C5&#`uaMW9zq#Yqg~a+$8rOEOq%Wx_am^{j`r=hj9ScJ|3K?CIljUA zG~p#5Hb}fTtdtIhTUgYT1C(axSHpPwJUZ=2=wH-D&exW#MXisstKIYU+Ho|OKdXMp zI(Jc_vSKvyGeqH~EZND@;)Ze1$C*0Jx)X{xyTDzxBUmWRg<)hYn@7*WUhvgWL%n0d zuLlY>DN&sfVKmb#cGYg0D{r~1#AseY=#UyOBb4H_!3hkQ;^f}=ooFJ@gD3m_m9`n( zFH!m+#|2*JaUMxxu295{ z5*Oqx&;<6(6j?au50CP{{34xfBSU&xqE z^S^!c_yAtV&bs*(-x=subgOBE&&Xcqg5}rjsM)aF9qUKak_gua9N1`jp_%;GLu*(( z!XWhszSLh_-P<(I07vdW(Gpr9DB$k(;xgu6m8DXJn}jfNvXaOK@0eL}U@s@_M@BAB z0vDETMPpvK<#Azqok{4FCJ?Thk+Zt)2mHpRzvne|Oet=-^S7mM<^&(&+@_Zra@V4*TME5KQrjqt9 zz&IQm;scXbVdrxWjuaGrjXh4QxQ5q>fdAPEUdgc%+G8d z$Taq&Y^Kc3XDW46Y>T7CF!J{O-kk4SEEc#<(u9J~&!T%Fc*Jd7>=NaKMctcx_$%`_ z7}~C%GsB9itcy__qn4l&tg#r4l!qjTc6RrqTIW{U`_J^J9{K@}D{~*DVm_)*hF!>K z8IN6vskVJN3G*s_YZQ>@)AXk4hp+FnZSui|0H zefOaW2rf0%$z^6()C1GF>7NkHI%Rj--SP|ymIcN#t?yn_a6(b6Fe4hPn>t0X0`3RM zY>2mp{)5z$COpK>KTPw3bc+fu>FZrKXM~ z0U`w7{3QqvtmD7mxEBW;;*NXQKMz7>;GD$3i++3n&T{KNf5w{VPzK|*$rQ-B!rtJ{ zf9C;5vx{H*@~eyfJivn8~7zTvndh!Sv<4x)f-`Jks z!x>466&L36l7yq)-TVMOizDneMOHAc1)VC^!%6)j8AJYJ(cg)waN(D#g z%h<)bv9TF&-^In?DI+Kgx;9!r;qAah<+IPsZtmWfhiA(2#oCk|eN0s%ZOrn#9v8## z=X&fkv%iUkk)Scs@Hz3k-rd(K#O3%eLgJA0x0{0#aBijy7}}g$l~Qw24mH&+>)6<; z0A_WvQ`}N#vytmO!L+%fty*89ifX6u~Irx-m7dMC?M>dTkw zs1MVDDb$B^$J-Y|VFLOK6ip558(p{lCbE`j>p+#5ajeNS)v?^7)?<6cu(yj0(Dx#Q z_G8~>dN+GmaIrtTMpdi19K9`dbP7<0IS-U?-Ddf1Ofu!74_DFDX+gxCZZk5T2X}OQ znwOZ~pRH(QRNi3SZ>Y zhQ$QsupAyu1)h7s*&*x0_f~vI^h%uJ zYrn!Lq5YaA)BYKD@`t0Dzed5n{vsrCi@ zYT-8)?3*d_kt-e97URJdK0u+p3prDc7yzlb^;ETQu77c=@DrYL!ZZ_wEMp-K;A^~Z z_oRGxyuQldrloyoM!u}RB4uXA{>! z;7T^pBV=AO%v`rmBEp#i7sLwYrUpml;r3VX7_z^y#*FPd(Fy#Fxt?-&U)OnoAd!#XTM@syY~9YW?qxm`D-6i0LO#y z&1UyZJon}2Jj!JM#nKJBgtYX?hgc*b0EYyKztHly1e4#)egs?S!LirgZjU2)EmI7)HmB2bYNq$6Jsz- zD(4|I2Mw6S?!5qjIV zFkk8s)&at&`38c^e*z#%n59plJra@-_~KqDEcn9N>Tj^0$^n@p4VxfqE;oB|A$+jV zt1yXIt82&MyG5DDYVwYD9az|m8TuYG;%CfJmkG}S-+dD^GtO1zfLqj>iZ!g~sA)xx z>0=pt^!086*i8cP0$A`gS%OZHjCclN`C&P}{7Z)VOJYJKr3q_>l4Xtpf&gc>31g=j z(WX3@=y=DWUaZYgC0AWEnG?yuDq`hOFX0@jBlp7y?`9~#0clq^~aCnk>#&=%=C9T(fM3($B>ypjDUfu!dzXgOmdwuqm z>d+{|ky)RYaBtFzN^`;k_i?FWRlNp->NtarF1RvSkLnFPdMyU=;!z(4g+^F#!`~<( z;48XX5t(on(O>NUnW|Wi1NpU4m!kpJQZX!q#LIq(dGDh7rMZpM0A4(kAyTj*rfoh( zTV5!y!pT4Rq6LxlZb2VTBh^~u0cTgV6FnVy!}G6<`IXk5IN@Awy{eklma>rtd~q*X z;cC$i0ACE)F&`0G@889*Y`wgL6V!UhiMR=-tPR^hq5Do=&2j&$I)9OdhGrsL%lI`r zndHt51t$xgYl{r#<&I)^)m2Mg*-Ic6jPIZf4S3?1Bk;2}p8)6TQ7~TO%@c%u13JD< z^Nw>UCC#Xox?V z3mAt-Q(a9vBKQ8K!5ne3;b)K_4>lR2Tzp3;C-70RCbp2njnOBE!^S`>8J)AV0fPwM z;bM<$Lz_cJBIzdMqt0~6u4{&>Xyt#r#qv{HWY>PslI&?=TP#CrK5VAuHjcpLN=?Gk zj2KZ2!r3Z9<}byFWV1^sb)MO4A@nla^9|gLtc6QD%`nPk$*x>btY(mTtA3hlmqPs= zgCTCw^F$pjOih*cOI)*wJRGi!oW)eg!cF=AC&nbLYeGkVeafX#8VU1Xn60Wd>PYr5 zM`Jq%*M(D3Eh^Y&nSkZ}c&g|Wnz-!;-|W)lzSN+s3G3^<2RM<}75b=*;|vQdcAO^+ zc=!0nm!X%{;x9Zb5J@NG&>Z8m7#@oLBKcov=;!S2K1gKvnCW!jk)Y3)-@iI5F2GnJu<%a* zbsRT~Zc#T?ZgMEtKF>B=Kne{lMp%39ZWjBI@tZskhz`OG?R~+B@|ObTlIu=%p*m z1u!g87EUmjnABH8tGO6cFj1JHnI_R8@KKW^RHURkBW}Eot3f8SYe+||Lm%@X@~?%n zUe3ErTD7d~Jj-OhBm~#|Lqt{-l3gd|kORV@h}y!mzR;57ia*T zt_pC{2Cwt?dO`ci2NF7lUwcNBMv-6_kNx+F+)679aZ0vAb6{s;Dj$87g3soD`pQYi z2nby%>jR#MBd<_2%1v2QTA2L$Kj!njj?VfZf|J!4y;fg@KK8-I>;&~_CaHb%u%tA_ zge@6$kYOkb?<*o;*g6*Hr7-&RUuZfPzIB&X-}z8`FTR_riB3Vg8eB*1%IN@369M3) zd>7YHo)&Ttt^7f6(B~P#)uRacO{v(N)Jb8%sxgvVtAJ`0k@{HlXSRZ>m_Bx7Yi8Z$ zIlP(T%GA6}nFb(cy!$pvE60|j7~MKCa;yjM;~%sQmY~Z^C6qVI%!R_u3q&l4FgQek zvZ0&$ZeVc;&A*H3S1jhj5|t~c7>?@k0WaQ{9j>QLaOKK$)OxzF>d)RF*y#7Hsag-N zl~11_4;J413s~Gg41k=@a$_^~_(CxH-Al-4(MYOZ%oiQS`Hdy-ukxRCewKe8;i#{? zH6|V+@dZr%wH5bHyW@qx>k8{40qBUPWqvZD5!c=2t?Tk|ODXNIeolmDS7*F`%%U(? zec4NU!mjgc_S_j9G$W|SYc%Sc8L;P9)6#V?EcEl95_p##zA{QjwyGG zH6)_JfK4!D1cP@$v>N1i7;_{~JfvxUyzM5>tz%E6;)~eNO}h0>opN)eON-yZnCWEf z^Tn8c&M2$(t+0RaqD5GPTk%M!#_~!#iK1CVd5?ndvO)qjd!D~`zFP|BSu$v=!S9wd zmHs-n7#_PHc;_LO9q1DO;J$zaeR*)#Wv9dxF|MHvMdo`RO1%A~X!!R>=^HWA)JLoc z=(E3<3ujyjwnmmXM~m-ysh$gaTsUr`f!=#tTcQI>SIQh7L z{Bz+Ok^RUpz&uI=6y1w6TuIfa_;k%|JJ2fAmKL9^Y(wC}2>3lT3QlCRx!_QEL9D)7S&Wfkm7>1t|L<30Y~3o`My&UIhIH&6emZ9h1ecO`Qmly=n`DD zvj>%31bZocheaU#kD-hA%M_(HgQfR<->(;~(%32;-2PKb-Xil-Z8&>aBEc{e-wY$d zsk9UzZsyB;9n~iAxJ~>bTKZ-DV?(LUm z{Q`sYTbQI0xV3pXV{AmP3NncLF1evPtYan)k9H6q1g@fvE z0lQdIJgNmdh!o;V+ZHlxEr;@}bu7nIW&PBj z)elpr?F`0)yzT>=U|dwZ`yg-WVfWWZX7eJv#;-SFQojmUOjA3jTo2ZiUD`-FtBd5) zeO#_{cCU~b>BF`8V;DfZ|1hS4?s@NLP0oVpFR0RlA{SNNSTsab?~hbLJ4ENT;25Oi zv8V!hP)*XDD=BAozYc^h!OmJ{q!N$uac_~;=Cxv;e@XnpFxFl5nh}uV0^hvTF8cce z9%J^yOClw4`pL3_)5Xx$LO+&wAvnKTe=qzB|H}1PblgZ#i#>c#mr^UDh66Zh4wk9+ zivEn}A(4lpOSwqp!E`XBUj>-6OlccaQT(G6PllmRKK!@>5S~?7jt{fhg&l4t?+4j_ z@D#mff1R3_`>ULJJuK7x`vX>Mz|&-9h&6oFw|+}o1UkfI_4GNsQuL6F6HL;~X8%|; zau)9rnp`F4FJyxVw}>dR;*K5Z9y4I|^7^1yY~ubY{);4Or^VAZ4M|^Vl2uWKlD&NC zj!I;TIyYGmM5ezBWAU?4p+B?MIxi}WIDmtg>2(=+iRgN2)X!@iX1i~+V_jec7xH2YU&JB(F8#*ZzIMpgfby_5X8}y1 z+Ttb2-FwUhtIK=d+HPZUMww5I+KP*<3Luiw&4vjT!T9EK!vE-?y|!jbb{6Yp(GnDc zC`uB%k&4g$Rt@V-?r|u7xr8#*$cO0>+d#D!DZSfz`9~9tDLW8`!OEEax3yL>$Vm(( z1#+pDkL6$JF-9`*s>H>RB9pCXiZjy4##8IfP`UX^AA~d?j|gaX zbncH9w)kxQtwys`97D&HiWG{ueJ8wmm2cpJEs24lEVz+fZ%o`Ev?a2@?u(c<(z0nF zJDMavViybz?pnb`DkVNezjUhX!W6%Bc9_%LbFad?-4-Fh5%47)=i3An$aA5Ewb$Wb zoxbI^0A2-E)MuV&TK0Pu2HIyF6pE@*{mB<&lD4=Hcn*)}fZ#6_s@Drj=K_$+ji|t6 z@@ncp2bsoTRlnoBH5eI-i|xFxKhf0LfAm2+#Zc=&_Ak@@TmMojEXIV<+al{_eOHg< zPLR!_I$nzoFW1|V8en3Na;+|(9`9hJK;h*)Llqe*xKBSCx8=6^F51d3Jcpb12H|r} zmEnS(^hPpTlff9K1#Na6&4=9ty0{Un3_@cuC^33b^BxB@EJnQ;fw_u^WwQGzqpI`2 zg~!C)o+9wQL28sCX z&u^d}=*?v|vsWA|WzfuX+oo}r7Om*kK@0|2*9+x4f4raamU?WxdV(ykoJKwr1+@bd z{`v$V6_qJat$U{O{Q6LXvfuYz3P(X{Z(soX9zHT27???_P*4#+)w2 z*_<9sqRnt+#{eEnh&U-5jeZqf+YGCifWeVfAVn>pM321w!U1y z)8Jd(LuIn^w9e?iUt+|<-|J^fn-uu%doj=#X1DsZ_0^~;@C58Hh-OGf1j{MAahdu`eQBZ?x z$btCG8#J@Nfw;5(T6Ikx*WZ|hMv5=wov8=2x&EFp({=>7VB#`QQ~yzNAYtyXc0>7c zTtZSZfjKUy_BT7YnZ z)H!^mk;=b{yS6h|Ok6NebtG7k99KjOcm&tN^Q^O}MhDstiE_w=4u^$jk8>NH{U(;I z-#3<9Rj>T@!lB_^NWOn#b_{ z%fQAmZx(V5gE`Oag|`(l`E=9G&B>odfKo_ZCB9z2avS&rk;66TYpCBq=4xFx;H!&A!X-;~tG~nnN?CPH0Myg&u zMbppM|AYvqj~g9B;o{W8dYRKgW176W!O29AxeVZ3-(Jk{)x1%38gg(E4l^TFvcr5d zW?)!R=u^t%a%8XbYvAOcda_sr_ViM!8ZJ3eZF2Et0p!zyMYI(3M6kF#K}+-Gr; zxlRv!3sdUlNoJc@zAwxh-jrl3`c9 zN+YN7vtqO_*M?Qa8=Pah|8ng%Ququn1g5d=P%Y!}b zZ^xf*etYzUNvb-Te-7_08xS(_(=`hP*F4`Ax`T%2B#%6%zqRt2 z6l7dlVJq)(;u8A8yIjdwxc~SF%fw$eKo}ms5=UM%V!n9@MU@~?5Dts)9uTi z^*RF6;~@Om?KbDjw=bYh3(Rn35|9^j47%x9zUlIU+3_CkTz4g%;Lgam>EprfGU{2N!lAO$D(fzR#$DHPxu;B*D@qXzB-;Xy}i zKt1Y}ulE`#SOp=7eq{k!Y9MvcEFX+V5du#0XF?n|F<`fu0k046@<38u{~W|d?_526 z=Vkxjn*}f;|0fxLeR&8@&@8~4E{Fh%3!eck(;VP*0OGt2CIRW%0`G2CBEk`Xv>*Jt zNY~$I1MA`-kj+CZ_N~X-J|n2q(3FK)mPDLAey#1CrT+`sZ=3s5UtehGk zt!_XcZZbT&6zwV-wX69~igvN4w||BjQ~;zBZqKn(Pl+vaN6%It%4t~e!I3a7QL#U% zp6t4(xPrWlI+{osnJ|!+Wj1X5J{Tg%A zDL}mPvFLKEXI;gcj#c3MhHn5l?-?u~mHZg0AQ~KRVQFwkQP_$)@%ZKvP}-n~m_l%@ z(<*K?`_KQ{7`{b6VF4w)@{H;i2O=8!a&n?&D8wZ&atP z*i>Hh9jsxLI$To~|FauhvMCT^ym^2|<5oKh*pe z()F(j0fIRF^p9FYBLN6S_aDLQ*~VU5q59v|?7tRPC#$oIx-n0n&>wKs?_a4B$;}Ba zAh85A5C()-IzSpe^z{gB;5aB+R4_^getJo1E$;NXl_o7Z8UaYRH z)cpRf&dG|M>ML;mI)vRnA*Uk)3wObwJlUETMbA`nG;!Q zJz9hU;Tv3~*J;&`=)O*b5|y=FOnL#-4H=72c|qYA2gzFqifeiKbZY&wmsRJ#d9$%i zlkTIIsOkMwNa^W?<(xyb!WNL&S~oFvFXH;#eaiU`-=3I{pVzYFh^g`m5~2!)<=YY) z_G$;2ao951qc|arT&Xv-R?+M6y-~Q!Wih{-NTuggxDm`IEPyRXLn&XjYJ?U!s_n>) z(a&$qziH6~nlt*uqdA|llv0Gcpv!?7ZmV1B67M2d)lx?Eq%ID+NOt_zn;kYc8jec$ zf3q|>F>UCPH2O>WEtd2E73deHm$-yIdcRAz{Ey8{TQ*T(&r6XNdYsYBZJr4gNu^=m z!Be$VdTwlZ%Yvk%$KpfbpYErU?%u4QYhrnLnOCgSBZuYLqG~the9r@d4+RlPD7Rr zY%VnGu0&E88JFXW_vUskUIpyQ>B%KD?IlRg`hDXkAu+O#3Zzmy8Lx6#`L#MLqPfph zA27sBh@iK$LQr`tR1Ou6v&2B*#5wvC^_XkkoOf6Ss^p$;YIlk*{!xM-s6Bf9n!xDo zC-N|i->l;5m)03_H|9-!b|pF;-yT@^3-y_;^ObP=i1&(v!khgO$L-^*tm)7w1N$m=#sw`|sr8wL0}PBecYm%U3~ zI(-(VoGsfym6>?xM4uhsI z4t#tS0h5Z%tuG?mdECxjKfkNyX8baNn2Imj#y4*|!Y87WVByP6^)dIHmTxZm=(z@7 zAlC{5^ZHz`|C4rPOpb-v~uQuM$Dy& zF-B6luO8|oXj9GZFTgHxb5Ya0@=bl+90i=B`Qx@YJsNROcP%^Q=DX}+n;NiTo?$&& zqFY))QqZVW&UlnNF&@ZbqO!jyFWY?;&D>Vnc9rN5=HxdGjpWtKjaT}1LE{4POG8X) z(v7wdx!d8oBJkBCqoU5t80VDM>U{M5dVu5WlR?uV4SBONsYuM{_H2hTnJB)o45vR063DA$6 zrjVBpOis|!)`An~k0Y^=ro!`h8eAKMV~0*mV3LrL*$b`g~!cb3r{_ylp)ykz|7JBV^^!mERl|h_Cs}&wWHd5jjlmha&;yya zk=n8B%B==kNQ=8RM|z;>qdIF}IUJmSwPFzw?Z1*Yw`7GJK{CioL7)aI#Y<(p96P3= z6xy7~jAGhBs33hwWjCq{0JRdZnuVSeO}7t2sAb9zc6o^WeX>kY`jQjbfk8ywL$?IG zDl1Qk_sX<0V%Cp_-fw+lvzYU{Opl)qTXh~_BpoCzt6))a_SFt`3t!7hnLf@qME8Yl zdr-7ul%iK8$b0S}wnhZHS7En{>jrlQmea1yBHkAL@XwW;ZK}7#?bqoPR?A2C9{oE1 zk>j)Bk&eyUhZ%V|rStk8GR!BnOGQ&Bl=VNKJJUp*?yI>*Eod9SNu7R_bEbx3?hoHJ zrQ2E1;>t@F91MBHX3jmvo}zh}z##=tROb;jrN1N@Qg{1s*19|pTM3Nk#ceMaPh%E9zNAoW%-SIKVFen zt5M8d*z-EOj|}*Ks}OQdXDa;748|Hv%-{H2r=|r+*uH`tk>q>)q?AIyf&)Wq(ktvm z?~gbm(FTLQmd6kFJui2c`5CfS&%O5x^v4pjp3n88nb+-r%%wgRU0VUoeer~t-}h*k z9L@B)-Mf~M_~}m8Cjun0Zg-84l>lZ%JH60KseO{QE}xkA_xpsSmyqprc=$-W%(|VgtybhLEU| zxjgP>v;6RwdIit#qwmkRj#{?5^%5Q^I8mEOX3TNuRn~Ln$*@>h_64I!;;eX%O-=a( z0l%sdVK`)*vgg{b=8s`;s!TcM_!M>Vkmu6e$W;F!_O%~G)I^=_{Sspbw;{Y>CrBz0 z$Qe)rsad`e%0xQXGY7`BM%dm`zR4mPP>%4V_u5~x==35Lffs#pswU#AS7k9ksWBh# z($U1^gr6nf(kaBV`XQ$*JS`~Hp}9VB)q4F;fh6zxY|U6)qX9e|-NJt9XCL`{gV`(q z;mY02*Q2~Vm&6kU{*wWeBrXmDcyf+;s}1=7#Hr4#vHJ)Oz{cN)=k`hSmjxYt!g+|Vd@nX zwlwmaDSJ9l)^M}R|LsL@+Ts4$zPE{V%Ncmt=j38htIF<}!erK4rlsN7?u1l;AG;+i zy&zv>Y`#yMuq6UzciXU@mB(%ej;j{Sn()kpN`?-;ot(NDc5du%Vl(RbyAZxrx2-rJ zQP7V{OIPowdy^}M7s9Hz=QgJ1heT}>CRipW)YkAB-pHM-|kS5uI8 zMxV4+OFfUA(w?GEA#q!YVK&yB+gq44=^s8=?aOmI2~|5I1Rw66d`;KoFQ6?C_vw*? zZ@$!?*3pO0s4j=HM;1#pzC{%b^eb$+L>8)&GUg?AP)N{}^&nh(pKU5jJAysGm1Pa< zqaR5EF^)KqXvoGKs> zysW}o&{9mvkBx@b!ZW74wfoB#qw~P-%PkHb&Tg}PLbX+}>xmcq74qFye<#G;*P=Z_2Nj~HmZ}wD^uCq898`D* z#NTl}lViU7oAjHGIP2bF^Ck{GwA|A_5ha?pJs#|MA^2T~Qsy?;O|6e2(s#JP&yyqs zzC!3Iz6J?yr=)q7b9`=J_I?+ep=b5#iFcg;?Y!K-=-Afy1a@VM>%B6a%IX~&KWKUi ze@I|8phA{3VQ`i8kDoj7-)Ra22N<_jZNn!lpZ>6hSd`cUAMY$Y0o3_a`X?2lGJIJf z7|->>2nTlX=f?KsR85TaHw>|;y0=jUNUTnHdDl`TQMcN)EJXB@_+XTb1A?g%A(qA7 z+9GMv(aXU@p&mZ*JNnL2$$H$1kh65s+CtXNQ`H+|j9*(MOHTNXOj1OHH&Y(L15#P(6m zp-$CLxPt+=vlnratLNF6V5p^L+gkezivj@&-};Eh#Z{8ey6xFDUT6BAKaJ~BA(Q)aBGw*BI2_bO=wGwLU^>)(5zr!8A$_) z)DL~%Qb?YF)Hto5&`pOK7%Z(8eNYEu>yJDx%u|@}?GE0#bH4F6xFfhqJH!Ak)`hoS zV#>Bi`nU>1tkp9fw+I(HFROlm)!_I1QpT24_p?{ewlou77N%K7LGRxJFV#I|R|!4T zOKM|1s;sSxMR={sy*|6GM!hdm(S&o5G7wjV>`xbCRpS}9x9;H_3rg~C>F9`-+=xmO_EUqpO~;XIPd;f0vG0~Dneu>|Y{v?Jt+)cBdt8ZL&9dn%f&=ZTU=O=G-D*U=rT=1h58sI%& z7aKAI?c=onHQile(VUrL7;9~@J!?`uP;63dMjAIxF#w4h-YMf{(Bfj)4M~t^Jzt_UlT#;u?tF>IT{uoc;UiR2r8136dq& zCq-gK*7Gk%EphrX1(2Z*+(r|eV4|PC!gA5?gY{+a^4}+P9Yzc}$jw~gyoF4#qmM*{ z%LiwUOlOFNN?rckOX!x4bBCoCP-)Fz>fXKH! z=e+kV-?;A`_eaJ^Sy?;Td+jynGv_m(N%yf@lcmo|g-tT2x^|+;WKfCKpCcS;=CJ}H zRrg9ybfr#s=P}b3*3=&dA@`4ud*B7FEwuqM;h^rCcl&-X@Uoe$wNj4TT~|+(@@CKd z{91Qv3)ZsLU3IWK!&ht^KZh(Gxc&T=Ey*pZWJ)9BUAY$|Yg2Q$@WcgMzOX4U_jS3C zNxb&~2=4b73c=`TrOZwt4W`S+zBTS0%oJ0O#1O>98}}nC`yb$gmS49|d3`VA3_ktJ z6drQ9!_MJ^fAkfo^Y!t-2t039nRF;)e4_ri3V~m*t6mR*i3_ z>Z7Q4TsrQ;Bo8!F3AN`Pg)Ibz-Uvtv*#7Xq|8n4^6CDVAjipb>(m59r5L@nV&|hnJ zij(#kxYVF)eFJ(B=&FvX61CoN(d~*g$_;mRvqL8Y)v5G1ctXtjA=U>(6hZ?>EH#OG1Rk{es9rtErvwf8~-& z)&&orB7hKR^(Uc3j;5f)gAezf)_w|oGB6pyj*=ebYV?7lW+bJhWoPT!yqn3S%*K=?0&YdHfDCO@G05R85W%V&%smdS~1L;8n#MCBE-u*#&0Y;S|dMK zsA2m1-G==fn%cv5Ic#8$Bf7_y6&IIY2K>OpAC~sXz#BOxbd$e+N!p0dV#o3clm>{r z`HUoZHi3rP?j_ImZ;j1;a0wH(6-j_ENa!K27qXQwR!9{i{T&wtZ@rc1a|vqMB4_19 z{EnBHgby|n{7J3Z7I^pefu%HpKm1{vB-cWNwJ%DPEzKnH5TZU1Mfe$;zK0~>27DQ# zHU(Lm!-;zM8;`J>E_)wD@A}5QA#Vj*=_5$ADFokfVp!k}TYkwlZ~OkV%F5LCT3G4| zPapWHWbL!nThFGj#fU4541CK@`9vTZdgPYXQwe&PLSJ>PUi1mDeQ{9N$R= zCV^8z)))oWc^6}sI8q6uWfzt5a`J4)@UkUNI7itZ=32kOVlxISdFYq?yq@oT-se2w zb6p8cteY88QVYA?5!8YP2-=-(t0Ss9lJ7U~hc3P&ONx+IU08?NV*SSiC{!OM6ur>= zAaBkyU; zb?zR3Vhx7xj{7bCVAH;+?vV8ZEB~;qoS$=@Ynk2OEesh|Q6Jh)`nZ+Ruc~erSV>gn zyPMelCZ~%ey7ol^6&#`2Wo4ejsf3uV<@zKol|sllh#IA~g!@GgcfTX$6lxz#GX=V- zBddP9@u1il$rwU^Gl=|wk427nj-)#!+aEs*Pdm7YYOV-|+DE4MY(^l)0YXXcir|a7hbX!k(a+v>faIM0i=9oc+gDd@N z?PPt-WMX)8N~!LhVI&t5o_;ij0$+(FSkK<0W=^aoBv2%-Y1R%jl)j1x@!B76Gkh9% zbI6Y0JrcSZBm5;slzk>h@8a01wI4>httSQK-^f>NI%W3&r_xV3Ac4iiY^`Oswq;VH z5;;s+u|5`SkrA(AegvV$KT88y)przEHk6Ge^S!`Y;T<;$MQh6k$*!{~k#y^dZ^;?o z0mhWeg}RW%ym8)MD=OWCnAByz%S-5ISR2mUB?3Wn_e*-Z_KFN-GONqW_2Whv_QucM z?0KHi$sH@mFGQU=j;_4Pj7khcgT(D<8hpz^cakoS>*zc(mn**}l!i2&PX6l$S_@V^ zJYg%V<`M?#jw_fqCFa5pT8Xm~ai(4@xtN0{a!RB1Qih(F^yxgi{9n(Zu(DmAXnTD7 zz|Q_;P0u#jbd|&kU~20LA8mwW-Ao&aOn8lWX~zFzZyI;lpR9H2HX-h}y~T=~b!?w- zd4G1F!s`+2aPLae_IO&<@LIuKM2?I@o_bAG;Tzk!057gp*5ja6RNz;cJHovRh-;~{ z^BuFt*KE7kij5sE&qEik_4_}YUj34?vLkKGjMw}+ztQ#WDt^e&R*n7hMMO0a6mjFR1>Vv*>q|eB5`LSNB^& zj+6Pt-^bl$AzlDxU>yl+{4Jw>O926-lJ=~62FI&Z-}h~?U&fzTqw0&}kv9pElFFFT z+mB}gXidM;cIyt7m^A^!auYFewS``#`tQrSL&Q+4IfIiQU)e70g_iE#+N-*nRlno;J2y+GQyp#jx;KW8W zv7<y>C7n2Nu@2?KH%yr1#@ggf#4YCG`P_sz_H4}d>@#`wk zginwSt3UPrnKRja$Ct0At>yPY|ED@!;T7WH52FJNPMkz19t2@yobcH=axV;vLCShd zwB36)J5uNDf9hM7lUsPS{e748J7q~+8Wr&T%>JmnHifDJaY-sBHE%unpnQK$^CKM!pNY60$cblwxNqUy^B}xOefyEKyOAAr3Gg`D1X))v=6wZS$hdU5CNhthHoaaq zwINsihdZRVr;@1pX+-yj`H zhp5xbLi}fl3!a9~%(tjuCs}l`sMq2&*^+)GEa6w%iSwS@KOKc)_q}0U_M2rVg_kEb z9#TekVwvAsm1ItD+y!p>92W!th@9fU&?jY(+6?mp4nC77NGxx^=zS@!#X8hBkHF~H%g+Un`R$8i`Y$@!umNX&Y1q8uz zli_*#)lC^yT$N!@jrQseRmvKkbMLFzd$u(Ru2}`LW09gmmV*LV=>X!rc3nfAg!U;bx7CWWD;NLfXPDA;pKO`jqJyuA0g8=GqZp18IaZT=XNchIHtn5* z#u`8gh3dx=Ra2AAw5TmnaV!H~RuX9?B$+T`xWhaQ{XP~s9&bNOneaj=ai`QA;LtxRB2jW|{JsFns{Ra2MX zl^!rMP3hbh>AGP#d;CF6?-$Ed#2sqtM9{>9_`#YQrevO^8cw*~n?~5}*-CKAXXx9g zG|u8n?+?`Uc03N$bhQZ;RY&v(!eJ_vSM9j1Q)NI{;|H!rkUKro`J+>><+Q)UEj9`7 zhi#YcRdGm`SUTzoUQ}n7Ji5GKkC&~xiTji=n@Hz9vwk@0+q9TihC!+$_hf3Hlgu!f zd7~}+iMHNVK_ApSme~pl^XlI}4*syw!X)*AH$__!X~iBXJ~c&dd|0Jf(`JG9+RC9e z6=?$qvS!4QV%&6#yN}lsMDTYgP-|JOd>$&NZX%$?K!~y~i{~yC&aFaAz+iQLS6hq) z1j{~9@`6f?U!E1Y^pgGZ2@qY%=ds|t<@l`o9br8X$iy*|Qlsz*@!?{C4i1PNi{ELkvsJlp;J9?9RpmDgv0iUo&*Dcb3(vtvbrD;y0G zXu7Kg+?1}D>K@RT#m1!cqpxPKz)}D?fU9{lsrq`!&+?z?G$^GbCweUFhC%qwGRQQ# z6q1P0o7$J}eyvg3wdKyq#3XyfI>OUleRXXygI{dep+6bHu#-$6nVtX_jh3hQOk=$T z@cgu1mZ&S&V!b>4Q#W=aw^VrqPcF91X?*GyTu!_7QgYz*+(moq#P9bVln}!o>~1{3 zZbA?oTh=KTD`m!SqU_pli|-8)>B$&ec>JtMzk@;SeutFXmS^j}t66*&_?I?LsIV1;Vq#4zjt+yLs{sOx;j%-Cm!rqV+>`hlDVV>rJT`M2f=?1F+5*(nk+xdEp~I z%-P-V+cuLa7^fg+h2oL)dAT-1PFlrdkaBK@Y8LEVD;=M+eiqBe-})#!ry#|T&75gb z4>qx_XIgH-y=O?6tqc10+x}h1C2=yyiQ!t%-e<+khS8tzuHO$Q1op-go{o3tS=*QK zs+QMximEx+-HZec2$!LY)db(wu2?7ENEgzxw#q_a`)aIqR?0>^V6b@}!<$fVjkvzE*%}OMb1jdmna!pOQ>@j)ms* z$d!F0B}GMz`HbE|Y4^R#`Z@8a-HX7s?y3(fVoX|;Y=b6vXx;{MJW1|q)XG=>#7r#+ zzKqqu$bb<7_KAGlBQNZhzelUx=XOiXEPrxh9eb^^I&kke5I-IcEFwb|yuh2^8r%4j z#t?0Q9^$8nut_i;Q$s3>BMEB!He>v5tmkrH0QJ!y=0M}u4fHKatxZ#%h>l{RV^=4P z{9x7mcX{7#T%G+T=8Yl&E1D`gL2Uqxy9k?f8fkgJW#-8m_e^CTh+bf|A!8fM!1Sm5jfNkql>>C z#4ufaAx!DPeWMHK?W;xF%JYoDKIfmk4pi=}qbG4(L10=%cg1_HWUQ^h>KCfKtF5Kf z_yi)?W4fCc^5%H)&%f0q&eoyJJN%ZKAnmg7KH=(*sEaHBL1%ZPPKT~8xxyWh&ujnU z+F!BfmQ)Z%>s;|v6Yn@`ZZ3}u@=wzDD2cqw?CY%&z*ViZ=}#2@}cy^AI|xDL2b%3c14o75vbD1-g{pU(4t|MtJ+rFjTdg;@OT zLm&+Xj0}E)_yk~$mm9qQL23H)b&Zp$j3uV!e|+^14yOM%9QnVPQ2!rC{ZHSXKbdfh zK3klZkR4ke1Q$%iwVh?-GV0hs?-S+d9lL`^(hLD4Lo~n9c zPKYHf5ht09K2e#(U~^T!xpK3R$6q(i*00H<)uqU#atzcMDY^Kp!6#m0w7_qky*dG- zZhNIWSWDii5agOrYuV5h_LP_sv1w+1rPFwRIj}hiKIq`a)AX(Io#rC)=?B%KH9~wR z&IfX1ba^Zme(-9sL%K?I(e)oRWB3$b7C}0#!=<(jsM8NR9{5^;U3Q)%PjuWc+8XB# zMaa5c^>f#Sm(6c&y(D;5=Cp`szrwNN{Hr|nKH&SHLJQ4vUKIa;!38x^;{?%^*Wb_o z$fV$svchbCBF^6wfg?iIkzNx8l{xh3c>IYLto^OHB9B^V(<$Fo0*NELh2lWhg&c`W zD~CAju>H$;%Of0PDq)}rYz@fAxlu~rbZcSW@bc#VNn1`zR69aMiyE#}(AA0W%G1B2-jn5>;&)R@}$*Wfu+_2o-b=&qL$`UQ44!xUhO-a4)lh z9Rom~=}%5~9D-1?d*WrlvxGXiL5koYSK!9U9<750xtr{$%-jDAGJqkpGP86H$&jv) z_!&Z>@1{ZmmI-g_-g#hVnz7PCB$A#bWNqr0=4rY}{R$5plG=v6_&L2%Z=rxj#SF zFf`C6-PyktT9!XA9|Kd_KEPw(dscgLYj2FYtF~n>$30KDS9vGeM5^o;pmoYOaIWnXJFp7M^iFIGM>X z7?=>Kk$zhC5C;=zO_C@z9!a*3w7rUtG%(?4$}ld9F@jdeb2Pk9Sl z@)y!K;F!);O1`%G`3Rv&BYw^ADyCKeZ}Jtp_DrpDaXCH#E@p^=*ypE|?9SQT;gwlI z3;5x^rUJ1%%4&-SW3#Fc2dA!aKnG@4L3srG28ZL=zZ4&MyFJlt4*;qO*@1<>ox(&R z=LhA6PKvg|UX(wvw`?&mxa1jrF0!o8gaZd}MC&VGdR@=wH5G++&xDISQB`-I?nz0` zXSzhyso#q z>c>I@#RDl6=EDf{VLANGd%NolGJa$0Ar-6#dGh`DQzC*FS~ZMb;lT*r(QoWFn!Bb3(4oCiYZ5X z$|OM>y7Kcq(Ak=Ac$1y-`?D`pKA;HGFV}4Z-MKGbd(p_+uiY?@=J|~j$4j@<--HDs zpW=+gwD05#=rWt5{>l<?~O zCyVdx-}>T(VHFa}#c+XOt}#O+t5vKNgW9C2isQD9<)wp&2x@QX-TLm)Yu3*jFgoF& z3I1frd1aw0&pR*h?w*~8eozFife&z=p0{x{d*4O%_5WppA{gAn^CTw=$rA+~A=ITc zg0Tqc1g=wi{3TjkEuPI0_VY0;p08s4S^IN!OtI2zRz8ShIJi-_ra&9|iZG8SqLw0P zaN=#h`=#Gca>gC~_|B8;KVnVixUS|xu$XK&d$VLAb7X=_R3quwHMxH8;NNgR(&?4m zfv(=f_a}_S!{-|gq6kkLHx~6p`b@&XZkms^&k~Ec3rA42BlXI<99U|tcaWnW8E)f1 zo+4>J|4T)_M_AT}J``Myl}EkD>0{I{ebG|Jr3lbpI2eemBI^Ay%3_Z6!i@Rz`bMIsH%rpslH>KOU89~?MD;>2Q-*_ke0 zK~B4g%*UX?c9@-eQjk~+;CH_9bRl-B!z^2{( z>Yj`@hu*6FI}+zF>2m;^`wD(tP0;mlhDHNFghnSzGWD7yYxpbcgJ%SL4%{gwT&VHeOGrE?tnLy%Tx;D zL2ZLwxn*HFSnKWqmph|v^k5S&qa0c@vF*7`asSXW1;1evvLdQwWXfimheKTM?%Am# zqM#3kkTM#(GKgY%pMpi-gLObYFrjN*YXhavQ=VS^;Usn!vX&Fs#L=ByUwK>(Y&=(T=}6K@%{9pP~NE1(VCh#lovX{^srR z+K?RAB9mr<(81O-Zl5AdfPV9l0?Mj;h@8H^|ErIIB2^sL=4e%uv!^oj(kUom$+{AXb*~9{CzUCEz0k zk}>D`!UC1a7=ztB6neBa8S-Gp8XBfTtXM+zmOptw_YG;(WB#_ONW2L>cxjz!OiP_o z6`?tXv{O9a9=#$(#&}nBV$AJR1Mbx>Zq=DV50vo-Mg8r2N?wX1wxbNqw^xUwz1+VY z$Vd%*COncq-Y~8j74zW*8LaX53J*dCQOmYS@k>Van7v(Y)_XNW;8x(Vme0Q@ z!~-3&^6162f8nZiY8LaM0u?sINXskk9+YzyC%_xO7T2F=U}So?>8WbOJCs$x{_0OI zl{EUyxW-Xdi`2fbohV?&{C%u0v*h@q-VETTVs=}!rJ}tIC#nkFNyB|%M>IiY$f&}# znZOe@9VYSR^m+A>NQaFsC&j2wo}u4goH@XFU-`&fta*Fr_nJ^4_pI&RT^|_<(ZTjx zBeBBjb{?|FQ^zF=C3LbIn(bN35@nh#^9g^M$@sibWfe!&i3Nz+8--|apNNCI3Z@5RP=LYAH>J;^LR2#GEq=2SIb{=LlHCU>1AL2O_+$kSZWhh1v3 zCAxVfs~XRe4IfTRB%;gdSkjHgc#MNaGa-kt|e_GMl)bu{kR* zKflH!W}|ebg!keOw6c&tkgvpIc(aLoV@5X zC;PCYT11#rLn+XqR4!PGdLPl}Uf`#-BcGfHNxscnnO${uMggyhrD&fM(4+jZf*nvt zTH}alTq4n<&!20K9)^>)s3jEIeTO)#U&JLlM$-7HbLF4*QdLC^k+Fo8pPwgHeKir4 zsLuB`u5AxBCgseJn<7vK&=D>fuJB{s>Evi+UA-oo2*qkay>3 zmt+((26QsHNn>B?5j9rusQLcfu9(alrRm+#{stH6z*<%#-^UNkLtb3L7X{y4G~oJv z2=<5%u$s~v=f2evNx~m|4wdxtI|J@D$A#%ZQ%}$0?+-wOrn%|^cF%2}YXc$A`C^X} z5_i;wnd$Di$(H#M#ki!2fV{fJVW`pO?#-DQmn!nkyA!#V)A@#&lQp@6eSoami$^71 zpKCE&U1{VRd~+yq*b;INE;m1~_e$IQ6;pot53DdKtoyni=gF;cIUd}Ec<8HuiTp+` zK|Qmzr@snLc4V3pGi=`5g|GCuGb9HH@c5;jg*#oRN zpq6HV2a)A4W&uylx)5+P9Q9m~ZEOdIPJ-@wdqWy>PicbRm-uQt42U}c8NQDYby5Qt zp(w$*)bVuyot(P>?@qC_3~IYl`Pu_XAa(1}S%s>ja40*AZW{~OI(e++x=6b#Hq7ts zCnDW-b+fhM_%R3w*=#Fl-)8bZ+P|K0sCX22!Z@Japx8pL=m%9DwG8ui+&DkDU$h*z2!u^XfkIBXp~t zyjUtwUr*|5UNk7%#|1ccywok)Wkm9qQO6GLl>oIaqwMZq zKYzYx87gv5s?lAK^)VA^sOlklo7DioNge=BR^|sE19A)|pkH7d-HC5M^DTRqq3xb! z76f7?=uA;pB#X1TLaJ>m^CP`aJE`Q z{)N`vv2xVX`jSJX*x;v3%{LJGF&7&fF;A)*2OH=>M)%%K5n?vE3hc)__U-+!Jm}V7 z%u$F9w995!BDgw-_0V;-)98WGKyigJDn$%ZRGTx+vljd@#1Ii^55I(dzPF*TCP6!y0w^k5>d|gBs z3;ThgV-Cp>IUzoUYCnifgBn(!a?Q(qw=zmLarhc)sZ7niJn-!P*gGgiw$)dlu$Uq~f01 zr^67>(MrS5=hqJ9>;XB7Mm)v7i%KnZ+Y1GCBbUZ-YE{kyhLoV!Ma?ya;MdYdYYp$L z^S@V^;k`T;7argN^?d`rOAt|rIevl{V$i9RZ1AiJe`%jNHs^Xe{cW%pnCk88yr_nk?~Dvos=kh~Y!M&( z^~JSD5pCLex0DPnU9>@%^tL++^12@JmtU)w)>c;>DWe7>H}!9%3!_^#8W%;|_kSTe z8h`O#_(92av0}6loi-1pVx#R3Y+Zp+;?HZZJw+5;2V+tOSMj%n21N6hpDXkD8TJ3x z#AAB~8$E9mt6fG@yRa{16Kog55WL21P~{r)I;L+owa4?uFJ;i{7rFF_5!@j6uB)EF z1n><<19iHC72!;6d&c79(oUDlYu_CH1fzw-9d-L{@L@^4O(SElw&dC533H&(6q7Wa zzTr__j2aR1J0%*`+HPIh)g8+F5CH0apvCgzx@1Z9?qJVcn8RBQpGUuwXN&!prnIU*!?jO`UK7j;iy=n-lrK1byr|`oVu7Q2 zA<@Yx@Mvw_TY1Kr2VHtj8I(g@YRHqP*!Oh;b9Lu$aSFlGDmS`>*CUsM%pP+IEfaBI8kx>BPPS^PMboMIBp3g5|dVy?5X!I zdH6kQW^!d2X?JW*ze6!su3pqw^6PFz4GE;U{pYgFirztrjBv%IUu4WqnCYJNp`r1&midMq31OOrCEbjzN74a%JgQja1fkgkD&-jlJqLbt$8>#rI~-^>YcG%^4V;*lR#%8tj~mbLy@? zL$;W*FQs28bioNr_v}@Qp!dFYz7r={jH0y9!J_motNK6ccenZ?D%a&<9$5u}M;v6i z*XV;?uu&%8O*d9_uw~n2bTWiJcP6nm4Y|D&s9cn-S^ZjLqDsnVToYlX{iP*dr7;gf zNz(cGxuNulOQMH)HF}X%&?VScQ1aYLHw_qLP0?|d-UjvGik8;0|3!IZ!NW7xE6LY& z^?HykN7WG^yF+gq2_hpoDAVtxaAPD_8%o`+#f9WWe{-nLR{^qG zGWe&6502wtgzMn7zic(#ru}}NPrE~8$5y7xu~HYaKirb}b*?Y^AYrz6cUfPlT$8B* z`c0C^E}63|#oS)Fhk5)~0D`UFBY^hgU~gd%0_V%_jk`L*+(^S5hbK-{rdE2~>2c z_4doN(?Fjb^ZHrA+vB#^@aL=BnSwcpYw-?oZ$7(^7fb1xm?s}U1$yb+DPf%1*z}C1 zka6Lo+G!kRade6p2%3_!%47aI&co%#Y*kn&U{IR8C*2)otwBkLW!Qe2U{5tYxYuX}ks+w=fnL zDn>4dwYznCt!hk!z4!3-8889VlR#gw?==Cb0k36!)2vL*s96nKhB7c!){iskthMq@ z^Z1{F^>v1blHqbUhzUWSq+W7;;E~>NdUoQkMmw@1li6gZ`Tp3-RY1}JSGziTXA4p| z_R{-_PTJ&#e$%9Ld3NkIsm7uKWyAvEmF#@2YAz0$ji&-pw27kpu|l z@uTv#4hs~OlY5wWYZ6a;nDAbMhR`e!>tGkT^vnKtTW8 zZM;*vd*VvRFMdAhru)DpXX_Am`Th+?_5b#Se+7H>+;}GI@A2cDDb&di*N~lK3?S*F z^2>8Sda9O#+&iRw1?Z;A_tCWx5Yf+#Lk92tJK!gA$b3JA1N)xoH0lW;g(LjyXl;$U z)&fM1C@27!oZ9EkJ(T`!nenY2Xy<{C+5~3h__;JRWPSu7PxCnB@3jNw^XESBKdAbV zb}M0)y36+*FiF}ybd1L7weYxe=M0eYhC$RAf$DQR@s#JTeY_{S7{hfw8b}O3S1?=( z3Hj9IlJ{-m#)tf$%E$U=zSidqN5$+I$l=WBYg!$^@+hbag7%y|12(kz z+MlX_Y z4?QMXt_N?#p1x2i+b<->Q0k>Z>qF9G7r%4Sr>kGv0He0Jzn~Tz*LP1 zC?}Wy+i)mn^2$<__7+5T7(vZES5(SpK(|!b8M;nO)e#l=l0r&#EuvB9QSrwXTM-%q z3&A%&pFEY&C1v3}2ayf0#CtYCC z7h(&NW~JZD(}xny?OYe)NPYBUoHCj%ait&7epNQ->bx@ZsxJvLY>@rFN;0w+NiHbU zpKjFQ%#g9=sIfwhbY8a8?2=$0I-Bcri7oD;=o*JsC{>NS;rCa2iX?;lVCt1dUEru{eH*N1txU;UaH4+^ ziHH^HwA(l~6TUU!ntwO(L#(2LIszMXnz6{s^Zp)Q=lsx%X#<{euLUqfJY;cM9t1cj z0W!ZXbnQ1t&PO3U3r}x~dVk$X8GBn5@O(s9LDqXC*n%bmHnuUP zA5(%1H8OBx$6YRkPiN+_TR%~ zT;Zzd?|R)6U#V68k}`Yw0N_vnR{d5mQAd_di? zKCi9beTj6Tef-wQ$_cN74=XzKvt%vGOv%^q619&A@8(?lbNOhf-@lxOfQ$N5Q2n$5 zsQMt27Tu-jBHhj)fu}4iwY`3*p%*$78q*0X2%ZvLPbX6}s8a;TmMNSGKH(%ll;`9F zYRwBX+!K_#RtpkAK5R8Mb8`1a@(KhUVX*fR4vq5=(u)fN-{2nKCgd%+84Znq^Cm_o zUR6}coGX39SH#jEhRstKPqopv6&L7PoFC7R`J!g0CZ{u^nTPcGR6N(OZ}(~4(-2() zHsuh_`L637S1CBFzx25@A>=$=C$opP>HyX8N9+qhr_4SM>=p5au;iemsMvL%jyrD= zo9Wa2HilsUrw{0#RDD;#5Ze0d!iwiouq@B8h3lK>;tLrf7gZ|+sB+k5ZyAsJ34=`# zy8WYb^}5-y>(?JSN?ZDcU*fTn+I+?172xEiXm`~FY^p621JTO$V8dF^L3oN(`hz)Z zx3A$(=idMFyUyh_auV`8j9T5aJzb6G} zMK!VEBKhgr&j`Bd{+PTyH;1Tf-G&W14ol85E zsSX2b;-T=bOp~!i8|h2o$uL&uHFYIzWP$DtF?+_Eok)0f8j7vii6I)11(Cc%4(FL6 z1WQOAkF?5J0{igo5Sf;Z5AI*3S#)Bld0Wu$hK&?XG`X5@q>yJ!=?si=S1xiFS^3nT2 zP)WM~75p!KfYblyqx>PCxj}gGWMH(lV0Y~6KXPy5EbqZoeYgMY-~VO92eeOqt!#(= zUG`8OOPyo-@6*3GZ#9<&z&F0`PxJ)ADmjE7HXV>S#t~gWkB~tf0A=8hG<`!On@y{9T3QW)=ZOy6h zCaU)s@Y2p{7ZZ7tSLUwd${XA&!`!yw9lMElf87U0-FZGRs#jAV*k7^eZS<(7t369o z*=H+*_dNmBC!G4N$B|cg`5E#pKD#iQ&Ka-#$-nfaLUKa zW!IFS#}!<3;EX=T6l%JQ1;^>r#tw7dQSqA7STWqs=qvN*{b)xIgL-*2+@<8hs!tE< z7(62zA|$yu1!TQdD5%Di_fkbjNGAdcwB^!&k)c!vG>ic;17v7Iw0$ zGC9x>ZnNc3+y`uvumvah&X-M;xrnkJT8*S+GyIG5Bj*VI#YkQVP*5{10>YMxQW*81 zlpx5iJ_88NHfn-xQ#6G^9V4hflN$s6_L;I2HF5W-y$Bo5{c4P|Tur<(7J}@%6{}MJ z_@}p}L1LD-Mvt1HfU~t!AOw<>f|_G`Z;XmwtL|$Rftgqt&fXERXQWw;tcnWMa^Em~ z4Dn&$kj!zD-^Q3Az(E0)M$4sxsee{90}B2qwV=m#faO|ocLW_z-;jv~#}<@^_-ri^ zzXqD-dBn@(q>gfoN}qH~x|_IRozaWmY*CH74jveC`XRCGDWg{1sjL*6mQS;s%{`Km zO5;vKFh91Li{FwMASoek2$a1|6f5SqBPQH$Fx3Qd41GMW~=+myXrGB1|JlVrr;0LOzdoJO$h&r}I2_-~ zS00~Fv&uT7a>Gb4gdPyIMHJ^tbODWeMLsJ{&k5fkS5CH-*DO{)6nG_xQkQaeVrUP3 z>_y`R9#9jmC@+^n?GbkXY*ir(q_hk*U57{FXSH*_+`kSTd_!&^AmFYs4kiiUs2ctH zFH7!4mPAjPQ7C7VP@axb#?NkP7F{rOb&=-WIo2_-l7haZIf%U|de-&ccjP5$%?jU5 zPnr0?peSjILUV(swQfn$v@x~9OiS($i+!+;u+CV|6)R3#^MSrc_ZOGrBuR^#chDDBM>#uBTQdM+0EGXVoRH>^IW_1;@CCwX0y4;5{-B_AxOF z@_l*TKn7pkJIphuc3W1bSo}c-guap%59bWbO6jN>N<;T@8#fM6+G$QX@3w&Yj@_-y zsp$tKwLRCnaoopCtSwvwRg4j-xbG`GC_{C5#X6C7CMtZZSDD);isI6C$$^60f*Ql{ zF^>?7h6Y<>j%iW!TDRo^*iW;_^6-`Qn_Q1%r*(f7`3sESRdM@PreGXg!(qi=KH2yf z836>v&b#`lBRqcnUN&nx3;-XArR~!F4=ee{)U@*6vs3Bwdw8m!KJsudT{so!?NcEO zlq&vjX6%oRlo`J?4zO$gpJ8(Gv%hkpED9^UBDne~Fs8c&`B#O}nvBd;;v67dv3HoQU>7$=p?G8f%y_!$$W3A6p= zr1?N{Xrm_E%KVVCn13ZoD5uW8^qAtbhVEO9VD(`P81s{~;keuRLNFZvP|fQhY8y=^*eKzpS95O;b1*{=aZX%P1>k6)!t&!v7|hwIYZ zDL@Ge_>D+SxM1?)RIHTM5$lFZ103u_YtM#m73r(kfLt>ObVJL_o{LNM-VUKXgrCnk z5r>jNkLG)oLC^%3Y;n~0K0=E*W#E0FHyr)7508P4XG}i{qb@N{iKsRvp%FPr>mF;* zaJux!t$c3SV}{;m;m4%kHK@1z6;ZRCutFtXgOW?iBZ%wlmZg{pEg3)W*6w<|m*e>f1}fQG&o< zo&q1{3yqOIqnSA5v{Z!A52m~mCF!-eJP7ae>%&FWECH4X1!E^|d$uW5n^b}==Ie>( z@nL@+s^sScMk=MPJTy@fY}-93)<@3Zm8I9jUt}>RcOX$n6o@7-hhtb1cTWERDyhXAFPZ zY$80f*#&95=D&w`|50IlEB*0VQR(DENB`9MPyo-;xKD_*rlyp~TS%^{Lpq^0tp-EC z{==jSx6(|%z%Rp1s?-E=u4OK%i&a@RX+fr{N&c1+iH}iBpDd=Y*4cV+B?)MH^?gwb zHPWdl;h30gYE-lSp2aO?T)#b!g6p$N=I!$oQM_|&O^r)gE?@CU#n_z zXPr0esJO0kvn0;8AJVT%d|w*!A6WM-%|yF>N`UL2(T}i-^>}B%`g;M#I*!G3x#M+i z(q~Hy_mNCv={*?MqsHhb+%hgmtaCjKmH4TIgn%QCyoa;CDcMAIYH;Fm3Fj&jq*w&~ z;fP1c)6Rv>hCQs#Zse{Ssqs|=FMVvWL{1&Y9q2(r}w*tisl^nU?I40jc`XxQ*| zQNz>R5nx0`&*vyX{8sOd982tLcLdP5(IDAJ9iygWqQfR0z{l`^io4FJrnYU3m4hH0 znpEQvLhqe`fFc0{BuEHI??t*K6zQlSMFB}5bX0opMT#QQ3?&?pUPU6kcaZWno_ohT z_uhBMcyEj|?#rK*?2)}ncGg;Re)C)NOJyf4v~P`=_f`@eK${VUCfThI`ytw0E8K9p zfWoIRRZPs~Q_aYG#dj81v3N5$+n5W{N5p=@b@a_Qw%%#ZT}L;Wc>LHe0=G7T+Uq_p ziVx-CBN89=Nwt3F`P{(jWTW^61JHNRP%Zuvm~d*vej}jKMnzxUGk3DKnn}xYeb1Y~ zhyi#ly~8cq++VJxHVJ~M&U!fnjxTRZ%R3GAu}UaSx~(1&Mg(JhBaLONer$~Mb@7}X z@6c`P`uGQy_NS%xPYZdEAb5@{)pui?s(6DK-hVYRZ*wC^?pWOBZLBz}b3@WRKra5; z`XqctQ>gZ!dkP2|xF&{>QbK>@4&d|_&pMvju8&~Q1RZSjDvpN9rE%!0^KFT%a>lEF zPp8Kg$fRBVGRM}Q_jV*bB1Zo`5myoTJU7Y5>4x6YdB>h3E-%4~uuMhKZ-XS5L3B+( z7~kNj_@ErVonQ6xwWXX!Rc_@(bu?eV^}YEK7)21H<e3cb#H%}C7s5pcl7x4Sp~*Zl5%Hd z2V^Nan-3rcZBmId=MSX4K^}XO+%Y&!ZZ55GMl1gK*!}J(Qq+Pf#9kcPvwp>@K2KBg zlSo0E!Al!7VAF2)H^#Ck&YFQkTo>xF&)5mjVb_!iQg+|L1Wz;FI2WJ&er7Ib#YAib zbcZ|s&FeA+VuBm7RbK(RmffUrKC6!#E1>#myC7ytEkCBf&hiXI7n>BRP3Y+FW;Ng; z1AAOe2}*$-AHuPSGEcbrk;WhLB|#Df!hq#!;w$7_P ze#??*9>t@OLt-&#;pUkPTTHy2epd)?ABPCR4botZu|rkUEYJ6r%0I!m3pHF5Y~Ho_ za@pDmgax`P2 zNu9sf-=xTQN6~FGsUnVmd_jQBu~(e$`TP7Ycm^}9my4N0(5R>H36wE;kCNm*FWU7c8l4Nn3`IFi*&SwmAD~`kh3rBN zFE1wIz-o=5`jS5BUE3>BGuX`nK0~aAVUc&?eJg3MLv+IWsxsbGW-;U-dcd;1?s>#G}mhBIr&e~DQD&EvQYvM0Q|+ zVa#ZELD?g|R$_LLcgUrMcGjAZwIW?@LUHH`=x>NYoOK^yM5t)nfMl5~-ZdoF@r_qq z)>yvxlh@vV5QYr7x%G(!T47eX>QR*meG~Lz4``YmLbNvpjQ9lefvG4T*xUj)MDr<3 z)v2r6yt-#7Z0gmRp=y%Fngab+QduZCy*n1ZPYU+sK_;S}`RZ6T@IsM40MD)-(SBDj zkvQL0!El2Lv#;6+;>qRQvhmDNL5_tlHBGy#EH(n_9R*(ycy_ib=Bq={*&R#mPq*{H zM$YIRUb9_hAO$@mpsnra_`9=72*!!|5PLn;dtR9&MUWb=*aczmRH45aqHlfU)SZj_ z4bcyiafH4? zM5~T($t{e4t)Np|$@JNNDHRO1VfyY$=w8dy2T+C!(H>bk`3N`UX2Q1@6UR8z@<7wa z)wtvrV&#UCiRw^I9TRb;sO5I+B4Lnl%4DDk8s>uk(gRk>^eAYW;b(>N|1R0k%h=bK zYItkf;(Z;h$eggWxAB~A(>rRIEtQ(8V}1-(G_~;Tr+i|@lRYkPu>F8aUN#%T=-Cro zJABQ2%RhnO?AFvHd$lZ{8=dMmN?&o zCxl0~h4LBm9SR3!M-L_e3o2?yXHQx)u+#PUGR`&AZ%YI?Xj)}=vPBp$GgZ0SoiW4F zpGO#8>iJZrrxFF2;AZ6JDiNE zx3Z#hmDUJYN!B&xW_D<(tjbh5H8=+_{qw~${-BJEM>muw47#k!%6!R6<*c0vGs3m! z$wVk2x{(?sCjwsq84-P7(c^>vF`)P-BS`TT`!+=bpf~al5ywA$;ZIi5KjY1SH!D#^ znw1F@0Z4aeRg@Ys{abJv5VXPt1HMbfr2gC`K`GiS&xVsQK*rRl`Z?bJoPesnv-dH@ zSzy(vqi)$;YGmh*Gaxr$TH$;xjJ!ZqoKDYSY^jF{On%D_WAr4>#&_{H5L*CPG?>n% z5{?8KqqW=uKq)wDWaOg2=lVn4xt#PfpOB19=hkbC;q4W}I zV?Y|Z_#0zpg?>3}2FTwVfm;QY8r)Z&IIZ}N=-Ew;80Fa6<;Xjgu8nnM4v!7LyFZuW zWOO}Zbhml{KPfji;M&-cS0S|0tdJ$V+YsRR8o)2i2_qx*_Z^l}WO{0d{kv(o&b~il z-Lq;wl$BH?dirZ3ML5baNR9$$jnve>(})mH&yKbXT=G;UO`f&zx20*G)owskmP}B_ ztS2_u$vWpkIj-0OR9XxOuiSJtae4%t?EGQJ7V40^m8%dl&cZdkU##La$HqPv-bU#`Qx&%bw(HZ?r6(0G*g}F<&snht2->t$p6g#+ov`Nd$k692>Uyyn2 zlSZUVyiehYdhb$2Iu;{k8}D~2v|I#6QVXeYj5RBC;MQ=_p-x#Wf=^g_sV|OY94>lA zZQVo9u1hZw-)w1AJ*dtUZU}o`dt+8l9B8v)f0}1#XzAhk3W$J|diY0oDO^FZAvy<7 z@&sGsj#DcrBj%-L+`&9pox=JT@af36b8Mw8t;9~0zB#2*52ON zDRW|hX&;@4;w_5U&E= z>au2A?+8T-n&>s@OG6e^^{Ls1PUhWp_R`J|pp?#-HF73jLqjv_$CB)+Z{h)o7S|~o z$C)2BD@BaVhm-*O0XP9qMm7uhP=6QvnR!dvMfBPO8c#CJZ!Z1)>Q5PebwMM_9$y-JjRtF$TvJ#D^=|>}42fAFd4AnmlVAObyL)f| zInCLvQh{PI$tRxL)_Y7PYY&TlUQ$YsmQ^sC0VpK1H38=y1IS!Z;?|2!N2M+|OIOjW zXH~VE+&!lBxqb@>lbP?z`d{@FxwsDCT|p4@NLIHt99ap#|46t1@IQ{*lmeS&x-jcJ zWaglGp4yWzQ}VU5R>%WmKZF9*mf%pm_h+>T--qt>1WL#0edPig*qZ(uljJ-wVYD`chG{NJh=^diHM@}{Q-=g6+9L*L^+<;SS_Gm_mnN9YCt;yM3PieU&)Ol^8V zVuZV}o#~{yBoDfFyYL0T>RP9jh&PVXh>btCl!Pqj>#Js=o7<7 zTp~>-b&qZtCPmLnu9lXGSx7((pD2Q&rpFsY+fM9&=eAD!8fzTYl7Vyzw$vQRK)~b7 zkaV_gMOgkkWADhUsJ%U{6iQ?Ssu^z##>FHpi^Z{I2fK@=5OXzs%wD@@%KCN?)5Mz- zqIDm~Uzu}C3}fbwqb}%j!^&92yqp}L%A#yn!9a^ipe=(B-a00cNVs80-aKz>gnRRJ z4^_|jWKdN*j{EsjDT)mSSotNS@+FCowDX zr@PmZ9fvZz%Pc;jrzKr&3*kEYDjaZIuY2fr?!ee7*s)HWIq-`HZm3NI3wg!4R zP4n(tRGqIVcGMsF(q$V*rhSpW#P9fFY(dA>-Uni=9va1OU85zSt--BYJGI5-q<|*& zZS#?RR5H64=e?~sPi3d4r1U`)mcd|!2~)_Y(^=UH7J=nqX5T3~j&4?taImi}bX!lj zvDC^?XwHY0( zhAOh|KplX-pOSb#Uzuahz^6#9z|fj#+FhDBH}*VvEdA-c8``BE7Q`)Pv1uK@^SP?i zYNFqkX~_wDNsA=RYHv3hcaxBK5~+&%L5EFl>1kxYejE&uXu@vr5u_q4@d;(9$4Cz; z8>n%mkw|&8<&VgR{rTVcbL!N&q)3%N%wL+=CYBaIyG;N|NSRezy64u(-9bZr{Y;R4 z%&;u|RF8~`Fnng;z(9`%Kn+1)j*+jADGHRI+RV^n1#D5=L$7$ljP_~?j-OrG6`{2> zzg26b!(`r(G1WbwVhUOetRk8!w&i*oyTW`^7SMtcY7mk9S-C0=JCVvyc#dC3p}R(CR^(6$BiA+wPkJ# zxcl6>zx}D~p?0AW96cKoQn!IX8BP^Og(i3>-JzZp_xUA)>L_e}+jGX0h_d#AFI^9J zRLT#H49*aN5y6vHHGO?|9IxICpMS<+PgFq%?ui6~n#-Ddlth*cwhNxxkaPwH=H1j& zRWj`bnG{C`HrQzRVt{przg5c%YL%#Oc$oys;bnAY&(XgLBjRS^lhK1&yDX7z*ojyW zcLN(frok_b&Y_Q6{<~JlQoC))l@2Dy_2(~H24Tj@nZu}K{YKqMY-UV9Y!o~?r9jcy zq{`1&rg4x<(yM|~2iaKTdx~dm4Th6xDi6;j#{PAc)DVIHJRyY1?gG~Bb6+_DD|#8& z5!Pv6jsG>}l`a5iBb)kKMXg7F_9kd?@vo`)uj=5xtEU;Ok<+)zv<|46llirjlFchW=cjAL5b~fL&7YJoZ0ZDnEe$blIM_GD(H%{;H26cxC=lD1uoqC%gR|W zK&ST$M$(pKl{%=zj&2wWKlH?b!H?pD=R|DVz)=B z3Y7ow$r|~{KDKfjP_j>ib)BH$_R-`qr}DKL}lbe#RWt~(#ZAsjF$k(s*6mM>BmY0`9Lql;bFD@?X z>+AV&pJ$ZyIj@(y-gb9)^Mdu%(jztVlg1m(ZkFARjEtCM#SI$^ja!PhFn=yCFOQCn z6yx4Kax+(m4uZj8cOH-@CnsMlxB}j42{^v#o}WHCJrVbFTHf9WtuCn_8-yjOc9$FQ z1-rodz8Pt7gu016q9k^C^ZaPa$px0NHDo)!x}5w@Zfk4H=yQyM1mn=;1mF%KrL*by z__%_C!lOrzKt_hih&q6wvWtrg;NIOk7FwhVVg}W@03#Jj7qg+|h5Jt!Wj^>kdcni~ zT1BTU9YB7M$U>`YZc^;6F+fJZ;a#AHF$loQAQtYE-PsBdAKh+zwAyraalF!~vNagE zKa+WZMQ`*tUgL^3x=(g~T%PV7ESBQm0_4Rg)n;jBM=DOWm;s*B0dC{3A+7b`S?}CL zMSUD-o^w<3ajIvoLBm~SGGb@V3sPFN%L}W8 zht2*<=#I1GIF2r6^;rl$3;=;x2e<*52aL0q)>e~x!>B@{DPAB3u~Zl zrF`Dj&OO}V|A#+)qi5mg-%PWLuMR`#pt)7!*JGj3=5w#~V{;_Yugk7wd{AErocu~g zwC}s(dqeZ7us7Y}UO55G*N$rg{6$4grJ#Z;1=Cc(b`Dz1xwKjE6B!plRKXfTuUopuBHa zB+RVm?(Z?fv+*EoXtuq4r1bXjdqmv3b0o#0jZz@tx^k@?rrNDecvx6 zbtU(DOi7LD>IX)B$EBqUm2Wn-2tk2bABi25nv+JZ&e94qsS{jyewbFjpBXXLz zcaK}lPO7ZDIe-!f?F+fF|@B|r|i5Wt_XptL{f1Ll**u&i)&Nc zjhvVM4Z3yu55iTwEmOJg+21_Z_UOYH|K_WiiFd7;NkWv7gptUCnFx8|@T?ctV%Jl0 zxc=aYG(ks$S*XOamT-BfR?*ON>fJb(ufU4gIbF-c?^B62=Y>u3775Rq7aXsZ4IH;3 zMCKf|!RuSX%?~l>&%Yvqf5jZEqdXn|Zkjq+%KmVxI#--vgh>c;oXjb17tb0N*q(eO z_)I+qd9je>#~+y_(Y6+H#1tT>voODnIo>+fL1EoY+FDM1e0;7-s>;a6xcavjdMx#C zQ#(tvR)K#m4cx!IPNOxY1TdZjGSN;=>PSymecfp05puweV_0T4> z?x!90%Dt3(Wxo%zy}a7FsSZARu)-Dkv%!ZqM~aHhw(vs^Z*T9O?^Ed1vS85G!W@=r zklUCIB2}u~b5{|uo7~b;A}wWxDeBvrAbjcecLz>DH>Yp^-GCWPzEwhiO>EuAl07BO zMl)}g)`K{Nz4!jMmAg9!dG*w&dsT_Z(P_cY&ANwdzFcsj_vdm;8?!OB`;vDCgc@%` z-r`G@?C+#6)OI_hDrdJt^h6?^5lT8|zooe4{SBwxLd6m@D*= zrAy4({K=Sc{4goSVPmz&ke+h=$EZzV+NYlz%|295htuEKSEo8r74rd?4=XZym}rfU zPQ0sH)_03nDh9T_-iNXK=fEuKDv`;^>COAGX-@quqI2hVcWK=i0` z^mJ5y&TiQkqxqt9g0(c=@;SA(6WeCm{g8tW({$l$cxMOH(5d`7gRJ@lId>I3w>#1_ zv#DMg8z=(ZZWvzs`N^_WQ~6}vp-wz|Np#t;xpsWltNXRh%jR4G4~b8!lFcVSKG%!)SD-!j8=7{3MT@?kE z>`X+f_*Y*k2bgkm0!>_xh8?tN?t+F}bS6Yht&+8#CeAowJc>wYt_W{cVbRFJ$oAJO z%8g=nUzbH5GwH7|?^Kj`7bt+Ugu(81*!%t5;7T>a9=cWMA+|n~v66K-TglDQF(yOA z%ri!}akGf6-q0YKhib@3y-tT%MV7x(Ih%Si25J|-3(?3afA$1ukf9tQj4jhDr;Jjh zu<)IOMKVykQLMOUDbk3J%}S@0aszDH2t>Y5eLi2ZY!TG^X-lm$|G=NE%)O z1HwW@Wxn3jFxXCA`{D=_ zd*m9RXWnimGp@a!A`ewKrY+)1d^mP^VGU(a`B+O@nF~ zA6E9rKze;Fyn7`%QM&+$K@fqAO1^`R=3-9K=^G6FekR|b`oKhRA`~7S zF=sE3C8xTxvQ<{}6xh#U>!JGltr^p+i}jWbCpoaEC#Rw`63rGz%X<};DQXpR6;|tz z88#DkOp2->q^TY4*U;Z997ys<6fy6ltv5)=gUX{~V0_P{Vj35JB(*^ zf;1#S`x?!3UEJLx$e3dg&op!+(<+n3#t}vMoV+}7qebU`QG-QWteV%sQ>;XSxogAaK@us`zidXvcd4i(<1lG%saK4rwyFy zVs768jKH3QXy&B1oblw<3jUYjuPV=5&^&=Z5bWRIEKXU#$Tm>X!)#WI`9Y*Wn|(T@ zW8=#eg_UNbor+XbQs~14#{8bxCB}Iju*WHzR+2wpxYS9>mgI!Xnogl!?)sHq7s)kk__-$2eC(ckm@v~%u7pg4_WL%; zbaxviK+9QxE%lY>uS60jGS;cQS13PPVZ*B^k^;i_-kMBNv%pWOb5+$I_xk2gdLGSb z1n~_PHrpXzgC92kD4l*q$*43CWAe-Ui{QFLebSZ^xZUM>G^^yH{!wi-8n!Te$~+nv zUvwtiPV*rRMc67bKoa&~j{v!iiU>VsTfWQNnDa-vx$ftdah$_m6iRt_h~9=C-Tl?{p^g3g87+v)Jb~sUD?wCA zCKT2Fptk8Mhe7@Y@r6#~fK~-FSs6777R6>SUVNpvCn}7c%S~evnhp4QHZ-2`yD)(% zi#=n0qo(-xD$>5+v!G@a)f0bPZJbbvMyA%Lf-@NGKs**9<*FvrSV9o*IsE4!p8>Yu z3I!<@NvmJo@*zTDE!eZ`^KIXaSTUY_JxLzMgu=VX*$p=qQd2;)VM|B$3Bh-MhH~>f zX3r6*B%4SK2}cxFwcp|tvtu59^`_ehvtVI^DH7K3y4ms(b zbT_PfUKv{sr|=JI=t|FxwpdYK}_<=OsirR4tP+$hE7)!cF1s(9$LwS*x?M%s%c zIjC^8Jjm#sREVz}xbGVYMvV@+U5KOdbL8p1xHH2&S@4At9?XZIv-gSEUC7zNn=p>M zsCw7&X(i!zh;JjIh-1?6UR(Rs2YX z6agf(4FK7tLy}-_1>j-kMG|OG1jjfk?#c{AlI##59dQmVfo7Iu6ou__?I^m6@Fav} zKf;yZt7FcGCTwlr7~jUphZ~s@C*us${$B89#xc{#oN_Wqy?&|5lPc`igi00ViuxmJ z;xJTBsF8~T+rXJcO@qhw6($__n##a-PO;0S(8I3OKs!i1iK9=urg{gl)SmDP)ztP@ zHtA9_Pf-hj5!vY6{#b*lL<_Z;U(+I$Ecn;`ZcNfxZpfhQ0P^RuZD(HVuXF_As8s{1 z80?;PC|)U7Hy{yFS*3~XbY@NW`2OK#xQqH=3Dwl-RO&@x_D3W8 zn3s65Q%%K6MUTv86LwOxklf07vk6}M)8%@qIpo2%8@T0_dV})5DIT(lDem=$c&jpI zOOq6_z0hpc`GqXLUpd}sSktOxTF8%76;{r~)Cf|@@gU1}Hov|fQkz3M%JOe*DY8^Z z?nk2a?bf+dACL?i7VG}zp65ReLwv)#54lQ##T-l;a>E-2Qt6(44jm9ezOeLBEKf3o zwJpktDc5%|D4DXtTT%%dm8p6IqhLt&EPWOE~80fwnG=uqB%3iqpLE93kslkc2z6$^t!^C+>?hfnb$9lzP;rJ5GMd|Y^1 z%zX9+L@}b`nBDsx(G=G`&&X3=(Mo>8W-Ps-AG z*}VX#bQSPH8Dw7N`)fp{&aY4QlD~W^3rT2DibY!=xnry9QoSF>Gu9*guL7;}%5OJL zEANeCXoHb;53F);cFj~SjeofMj`nw|zf|rwhG4BZL}q=P<;p2=Zap%_>WiwP%-wl4G!53DNo z@519HUD1ck&+a8QtvFjwxu{61TAPHWNlNd0nCflQ8cbElggUsvd8=OsG$#h<e++^4B8WS$4jR^z2&}NS2TX za}eMxo2+D6xB0a^&JIsp7rc=DkHWW-@X^bRAGtM8NdME8JyOLMcYOJIu+HO^`3|8; zjFUVR_F`vW%-7T!4vz?uxq}hs#2HqioMFbJ?f8z$bL(rL*^@A4c=9crDgAYZh|L8_ zdwf7F5&vUkzit-RCd`=p?=i+WtF9W5^xg>o3C+fb>}J;0Cz8gQf*acY;PJ~Tp}j+L z)7>8|lZ^L1RG~{XJ_V#R7huGnFvA}vK-YN#-@W?B;&0zZ5!BrIpO*fAx(p{S_;Sca z#_{q*;;nyth!Yp^kHLR)5RX%5RNEMD|E(wg|LkL&c;Rvue^%x*#>3<-%}Q}o_(+%f z9w93{s|Pj@kt)%Uu0a@=VOQn_Xq%Uqc?=Cf>+Cez23KsE-r~l#1tSs3G@`f4=&tx* z+&eOvGX{qnSU@UI^1mr@bw&=)yz|AfQqGwJYJNzX)Ajdn6sm>208uZZQhgu zelN~x%Svh#Wk{z?P*WRdY6|5fC~fd-$P?!w$;S-(D=FwHf5qFonwi&h!p6_!>}{ zEz_LAtw+dE23%s-Hff$HOR=6Xr09O(>_jQAn}ndP5J`k)6(wvR7{{q$Da~a;_ZqGv zpW#4-hm)TgrGLkScBU@C9)c}^31J*m4GR|&qer?7R3!^1%NI-hnku;$6oT;|JYgC$ zf9)*yVRiX0hCMHn&_xXt!u0h@l9$;Bh1$t^#<0lt;aZ-L>^o-9s4*q``&M@6X zZza0t#Y5}N0t4wNL{d3A%4I03QJ?m#S|^1vDd0oH&WKQW~Sm;G5hyXPvJ2A2U>_&`xtv=%^od$rBN1Ou>UsroC@ix)}(jgQEb@l;?e`}x@7#~S3I@eF0s&Mxl0 z(PLlUCXKQ|ggm&4JHI%+%B@C-!YTxnDnVdw98Y8XI|~5_71*BHpAR0oRjE1jalFdh zplm^3N}N1MhfCC;?FkeAClII65LzPYZLyz;a_qqF3kJodZIowOAK?}@twn7kL{x`v z+Wf!n#R5`-#|27nE@S~BX)yeTqojTyId~o z6r59>S4Q^B`y7gYEz*rxtjt`{*O@2ootng5&yODS__H?C@^Lhf7WDFY#%5z_ z77VRRN!uAw`kCeS!@l?&yL8tn$P$F+r>nSip*`oxx9v~RU${6b(|$03j-ntJkru-xd&*!HfiEL=AMilN~43@D4DRODo9 z-O!y&E;XxlnrXj&+Wff7`_UHGPD!Ia;e2@ zk{6beF)KlokTXQjc!ZX9Usm*OkHYvpONrZmIr_}OVEG;-r)IMYsvljz^Mn%!=1Tlk z^sv}qM#J={NGIhBT+~{^N*9778Z&h_IdPQ8?Nf9Q>v*r|nMoRGxOCLCXZJ8)WY^ks8=i~Fkz zN(E|y`TSkB7%oA1ne!ZgI(v`N@-#P?L zCSVd#@cloYipA2fH|46<&YUtpLN2=zjmWz)36m0AxG>m%O!RzeTVAZ#17hTOfPaR< zlZ<<5f=b=zgb>YB-UXdqDFusVkViELwIII9O@CEi@Yu=A%E9}z3^4Y?8WWbzV7LxV z7I+`mwvTNcG@VFF-Paci&TZG!1e>hht{Nq0Nfg?lS#c&MZ^F6v)@gk2+_apCVcxXKa4WCG}?sn~X+m zSec1C3^}%uO|k0U#SVnGGb&PH{3U)KM%SnzKDWL6yK&5Lr99chdqMYTQ2JxZ`tV0W z`lA-Zmfln?SxeO)3sn$hM6~qU-~BRKBVwl$0#o1{zlpnS@kb-*QXUW(ft&5#Ovl}c zwLN~M8WwyLbS1?M3>L8CpV+?>%7BL>CiS&M_7HDwAlaFu!NF;fRlA3#62M8HqMYB3 z3l>({-O#XwCQ=G6RC6hEO|NdwAwL=lo6I~5JrX+jK=;!=Oi-OhwoiBGc;HS{!i=Nn zQpZMKeQ+@jST56jym&vjoiGKP_qnN11MD_&~ zoWHV8%!BLRLyW($S`bU|M;`dnK>sl6^hC<-1I{QTH(Fy8pn2TN>sB7IH8Cu%C@T2Y zT?dHG7e5n490)KnL0oM|fyPGH^tFidqyir(s^0!42uVUu{daeH;o)Nhhh;K$bt!_< z-rQa7`C6P5@P;P!u6MTB$Ock>NjAdu5XhdGHWE8vqvRB~@-bCT(BX6X+XA4jQ{ARj zD!<4?A7%^F;Ikiu-yr`l=USVZ2}@&NK$fED;=;1Fu#<-Kzw|X@57lsX3Nf!ENq3)w zcS%V-JMLAPN-&V`rFtPGP@{xN03oo70a7S@FNF zVTz^}yFELmV_|>2=~KMGcX+=T9n2w9@(0XGQQ08T71#mn>sA~n7-?d=YtEuY}_ z>Q~al;J|ZQCx1IaEoWZ^+b|dNp}8bz88sch;Zt3(v6$ zG@^nUNXJox960po6L08{KRuC2M17O*W{lZtkcmTj#CfNpV3q9SMLsPSCly+B0k&G2TYJ1LkZ}hjXs*APN#2w|eZ$a8paTd!-OmJG~S6vX(SzbD` zolrP_w?zVt$^+zfC4xWT$JeQ(>f0t^{3qWX>LhqK@t2=9o=Pd^+~n7OeR+=5Jy2_P zC5}7ici;kzF;Jb}XDAoKFkEF6-UEGpr23wmon@`nvq_6Btgr?C@F_tY^Wb8iyCOpOM zlTpIV*NIIOWl)TKd>te$*Nr$2fe;=pn7(KA)7r&>2GS#eu{i<;D_0K^a@$Fe9w{)A zKJJdTB^jT%MuCO|%h5t*8=-ff0NqwD|2jk9ZxthnfY-{30`6a5o$u6-d_EyFuGHk9 zt(IQOQ}&!rc2VK@WMTMv|G{0%UbR@EzEND2@oz6%{%Rr=0l=_-zAkZHMUc*jU+Mu_ zpEWv%*4Mb%ulw9hnVWW1k4ewK^ec^#N?i$2E;+eT&I^@6?g~Q8EkK1;B_dyy(nNjJ zEZ3xhYs`!8AnrMa7|r(3RAkZPsQSo zWDt!Xrsft$%0XP5Jtn-bQ zH;LJ1^*2r05^&>}i&rIJ$mDkEQbGe2;Xz!U;8Y)G<-Hka6D$1vR{ckY^nUFe;ojA0 z;6Qn$cz96!JyJ+$d>7}SW9SntXDP-HKxS&c)R#pTng^6NYDe7y`QZ|s!QeauvG#X1 zi2i_Nu2DSsW2Hq-17tMyNsg#I_}A(m3zXtmnpZs22VETzOp%{l(dA<@E>bBo@20R; zxz8)-y0#xFvsD3XVeqYIGcW~fd;)dHM-&8D>LjB%d z7_6}Eb-H;o!C$r|;uhy96la8vF|@#02i(raofSPIca!-fK2)2d#4VxrCr7TvGRP9n z9)^&O`ilx&mX+JCWEfqq=Tv&b#a&ii6TMYiQhpB-s!Q+}h8(}_>in}q@69RdtRAdm z-;{@29cbs8w^gCAfw5;+&)5cNz4VKj)%oAHeTr-(J-V2a6!%&o&69_YP{3kigOxjI z+Gp%Vng0Vb+;9u6SXFlauam*$1^%(2>DxSfnp?EoLiETxqsFgQA*88WUixuqR%y(M zI&)5zQk$ic@{s!e1b=cU-I|_lg+E%}7XI*y9GF>=8Qxf90G5O)DH66n&M*qa_-{;F z9pt3z6ab%0$=j4DAFXVZbG(#~=ZZ|cLv%hVsTnL;sK7Blkz~;|PZ`+%<5Y$2d*om9 zR{zi~CI)QW%XsPbCmkW~@k@o{9Y13DJwiNEyi?l%`{;+|+=SVmq!F?%q$7`GY>?JF zLP#j(-<5ukAgrWDe>@r^Tm2IHEQX5Gxbkb+cQC&^<2{ZUlchObDqUqsu?Pb_nHNUN zsKgv;cp7v>fg9&gEXa7^7Z;=UA**Hw13Plnh?dGU!(9SMe_hRP9xd-a{op-?MFNO@ zUU(ObohZ*R2?Q*|5d{un_Us^Tx*4dc0$tuN2t67mF$XtG zT9MfZ3`J}`NN6@bU&{YD_5s{mWLE<>*HwI+GK`{xR2o9jdaha9+tS8uE?Q_>`sdyh zu^3k1)Ntf?L-F14mcsJe3{%=|xV+j=g0RN^6#6zR(A}D!qBP#AUk)ecIA76~fNc%u zX#Uf8VEkVPWQjcNr*3hOd>fh~p$e&&2zRNP8HZy^UMn zV>h^jgNYGN{oo=MsDQ;-%I9_+;;BkEbN$B)p9vs%ZY>B32)4;{Mu086tzEC?U};Fa z)xWrCY>=1G{iRSYT4vls8?pa%`Sz%=g1I;5oRvKJG#%Eo^Su^*BS-Mgs zNW-V!CKVH}1<=Nbh+U*T7 zUM_cS&jNZSb%#q<0E5clL_x1{fe|s0MlJo?)5@~zde7Y`&+CURh-=mm)pc^{`tru% z4x+4zMh!VqJ9wB`JE-M<7`7A~j8&oATwZXTeqD2$!Je$`@`&>c>d)c`U60?oygc4q z>2)%QcMKE#H<(zIW&S$uI2Ou>%bXVjp;}Sahp`lmnb91I5i_)dV z3z;+>c(|OAEcguzADpS5k%C+*p|na=rR6pK`k!@zNc5V7L{yaI`_TRO%uIS3X}2>h27p>?~u__zWoGMdio;Hn?xVUmt9=TlVm=! zNrw}Gx6e~wOjRz8pyeTn^DEouM};E>w;*=T)I63IXjUSkT#*xjl!&{OzVg(C!inK?XoX2D2155f8~sgfehtm2wF zVMY}X5<2YnX+D*&zz0UBwl2znh;z;pXixz|x3t#-ZEZZ|!F4BejeCOwB0U<0G$fcP z`Gy72Sxf27ULaLJx66iFU2rAf-w-ka@PmMh=y;ZK&_a;1PxiSi>O;bzIfHt1U`47^ePwQ z6m&46xOi}o!#e;HOx5EH(yHTfHVsT#aF}e~-W(im8I1TR5{?K{KO|1ri@5Hp>sVx|YdE53nE1+x?Q&MFO2s-Ul~<7{aQefhy)#Q71Lf9_4k-G9Y9aSNiu zzPrK1E_!eeYd6jy)P3~y>F!*!VKrw-++JfwPxv?d71~FI+%fC-uSxyZRv2pPPoIY z7!O@m0)j6;(oBY@8QOA)=jM-l9+~Pagfk`Z*C_o76@7vu_?)SOuA*JNn`6jza9|kK zyN9S0ly@*pS`>5#@vZN73JPZKsS+P@6)$s*6&wx0^A6P$`!i`<%m&=!gwo#hGIe(( zE}b1@Jt!Os{U_+P>l(;)naKkW5!fvUFbh53+)2c^UOl-qu{S3I*yBMMI6|&mFAqd+ zzTDitCn?*Ww^vKp{TLJLNK4 z=DK&;8gjMRanQG{dSMJuAwq6HItvK7JUAIO1lxw(-~#(}Wx@NlxJzw~OZb3eVieXT=Ope_!mgI+%|5PXjY)DFdfuo(_XzMN1ovz`MJIPz z^?H7W;9Dd2A#(|UHn?LT=VRW};Bpl-sJ}T`XvjVTRlJc$+Ku0Xg=@T&$K>P25!-A?4R1Fv0(PO_RBto;=M7K z1wUS08%%ETPw3e$(=kVaXw;;FBqUn(ml>zd=7x7ub>dCm8%#Zn+%k9&$zYyR=3p;n zit{@voZszlL9C+=_w)StTx0$CnDnvld3)o^ma;gpSLdz%Et0K)I*rR^TPr(j$t|KC zF}`+qOKJ(dw=RRP+oNwWC*ww5p$pffq40LE^Y-RFeU7V zIu~iMo+aEXaeC@lr4|?RtE?S%H3gUzO8|W=piGe*+vSS643>^$bB^lBywB(R>k2Vkqfj#n!^@% zu~Xtz*)z<<84GROx4XEtAX(IeODMRlUNzQgMbTAMxw_UN%D8r}{vd}C$}>Tk@%L&!m~~!Z;dMxPyl>c5~V* zUexvi&n*MDUMTjsRK`NK82M617GTs@KkPwLuB^09O3^bw>&i9NSX{)$hWgRLt>VG| z+gt?xG?g?9T;($n2O`cedT6~rm==F5`uEQ9g%E)w0{9c}TLd6^z|N`=lt@i9?pCd z5haf>;z;``4hns^w5hac!c6sFY?7h8D{$Bh!(sEkRCnAQ3+<|_Ko3d0vn~&m=Rtpj z`9==7i5&e}+Eg!qC{fW4wF?l|=X%uM{F_O$n!b78CHKv61-(b_1|Fo*cKnshvV z#!_@1lcoX=9>c~U*abx1tk3EpUAD07A&=8Qi@fJ`8%QOWTb`081OkwUQG$;q74NET z@_KzDmXz7uzrcm92zNBWVcPNg$75ffzWvhLHY^hK#3^H-e*x2`1mjPGjlA>q@-s(p zul20lhz#J{hk#1+s{B|l`udX|5VZA7PEYl@+aEkIH#1KsMTAFPNqGIHDlL1$XOQjF z)zl<1Z!~xljcEzKx7^>>?56_~u|1FfEYpEIUO1#OV0R_VhB+`lbp`zg!gZ!xfj1d4 zHzUofZD*;rdSK0(0#g@6bYH9b6skH?#RqJ1rg(2m_}bZ3?zOs9#!V z`kVAOjX9t9#tu{!U%|`)nE7|v{py9xWBp%g!g=mO>QiZjjLV?wFw^uH0gCz<<#0dH zP{ztmsv4}=qh$rpndb-+V#+TUk-5Do-Ww*(B*IEZ+E*mZ&&06E>6ZG|nD{#(1E27Z zB7yO@w)V;1CtUE%1*Fn)S+7zxB4@Jr5V&=)6C>>c&z%LYh)YR+ZrYm|1Tv`ZogS{& z?hH8cwI?B}kTQn)97FuD!fO86++q_io6!8@)b6U=KpNLSGKDFj zRfbPte<)t{+hPWMS>2u7#qE4H%E!0qLk@b>hNcU)B=Yds9#6|W)%+7B_OtcW;<%Yn1ZEKwvwVA7e@i@GM#(q>Vx}cN- zplztxB)YQKy6s>Zh`XM?mDJhsq*Gl=zhv8=efjoA)?#CDQkKo(KeD%9puaST>O<<; zzHfPu_<;h7pWq^(ls%*?EC40X8RhCm9=<9&3*s(|GwH;kQ;1<_N z^H(0TC7liI*S*H8hwE`T@voYw94Le|*wBg>wqSX115RuWM#w}{ zr&_5YrJ{`yky{k@maS6`C{WPjL{P*+r4os%&C403PP$(E0{W3%Gx{0*7`RF-L876r zFS*UsqGw&;k?u?3q~MfiA>Gh(t+Rz5D&D~H#F?`*m}J5|sS~$6v~OeCR(Gzs4I1`P zJc(LFCADzQ(SdEem%=)PJ(LnMHRpJ!FfR&=@#u7ZWAMmWj7=wX)e(;(OG4-B@=EdT zM9I3s^q=d+`i{PU+TYO8%%u&9-(KjRL^Y1dv4jcUV_A6C{y}dr96Gc4IOvEDz0^cE z|7__mDq!DrHp7KiOG;mu@-*`R#lM_sW9Y+b#ZHo-D)cgXVzFW!qOGzO=u)a27$ zF2sU5ZY0p&HuIa__z1xz^BmQQY46jHE@%o(j%Ps|IGS#=Ly`AHnFlEUQ8taumfw2w z_5iQg_?vxq5=o${pY?%&Lgq}E*x;Zidqu_5J{`muoTzL=R5$p~qmpkKTKEg=2}6QK z?pDy@27e0{$W>3CzQ+Kj%#BVv<+A>w=uke6p$oqG)r-&~o-oQUCYGZ0=``hxmT+qx zqH}~ST%q3@qWW}!j@y2ig7Cb_z%pxx%YwG?74brR$ADd9klxJEVGE9r2}RH7b74#P zM)^9D5iZtF!(}baDIY5rilb{iu~IvX+HLbzz3H!tV+o6;NodxG{bz?mQ9@9*IOM5& zehs!|HpU9QRYd`_V}V4IuYMU6^oP{9*z2;`811s=9bE6<3|)EVo1<*O7n@k~)41ji z8K=S%;(%Z&yIK9VYgu~Ty_3RykYWqNQ4>hfuAsZ>lTc6d1C4vu!jv1V;xH0*zQJg| zm)M9fOk_Y7Rj=IgZ&Xtc)t>bnp52e)?@vFrYk zykPQ{wYbtLAgUOsuRo=_;*C8RY}DYs)9(+8q;WUksWkM>arFXA3$Dt7=@Lq5YL&AS zwEeMloT%+xu|H}S&pUT~bqMa_C<`(L@p0_u$Nd2Ebu+A6!R(T4m_!{SZUxJHA0Of@ zTZBrzJHOl6zFHMFxNV2KCP?@%vHF%E`i2+hq-DXS@4nypZj9^c9YP1MOE#sxMe;6Y5jQwC5J6L;p&)8Ku=;ssZ=B9?rs0W@DGYj(v+_KxE1FE)_ekFd~ z{xgur%K^3C6shf|H=U%6HLrd4oG-5=uZ=bwih4xM8XJp6sc~*M47rUyqgs9uHu~kh zxBYA+qBr8zmv}R9T#w~-i>fz-cUJS7=WS997(dvuM)MB@`hF4WF|m3+4W6A(yEl6DymIH+W3g(` zr?u4|VM*=}jg?2P_BZj^d!sGEfvk}JAA$qeIz$Dt>Cw@}NL{45h94lJh_Njt!ZksT zv6Gsg@z>ncO918%#`N2(aP1ZCX1_~5#t3zg!<^R}RUq}SU1;H*>yU@68u@gRQPuRI zX6bl`{cD-w&!y^p#ud+62z_+~o-BAV4n}v}B9D}rvHaP(CdxP_-_AHX{oCK4C8Xya zR==33M}cVw7}uJ^f*(5tkzo>CcL(F=DsTQ?2^}K71=&q78!U%M~Z5rSHqdAL&j-+sU)cMSH?MK2lmT!U2VqB^l66D6lJ=stvn~c z7jCiU8|LvMl#6aW=Y?Z<1-KK=LzwPM}nrMZak&qhv-$ zwuj+Y2QGEf=xwza;TLQgD`NUKZb3_xHbSM5#dZ(9XZ&PySEyyY|LTa;CJ*^(-^=M3 zMKC`hG`%Du;#2%byd49-{1_$0Tby^R2n!4(bktqGy_7({h)Qa*FsvB#px+=?P=b)n z(uxU07@5Ssbd5_&7x-9UAo*Bj39&D_Qk=_D#pz16b!bFFC2*jW>u6oAqsCS6su9{( zaxIJTNZtKYxjvxbda(X#Fxq9gsLRs6+Qvrmg1m=Xyq>aAsLc?(XBz)u!21=C^p|Hn zHa4iU5}lxu;aq`+{txOk3~HXv;y1TD z2k-nnpcsPJ_(1+GF>yR`1=VZHydy*!_a=XcxU0v<%*UG)cl%a+*A&egRr$D|G^T^T zU9-gB>wvtz6`wZmP(P$i&*82&6>HlPN4q02ZqpmqPCXPjUldt&f28mG>Z?KQ7P=-T z<3e@=Y)#|<|XEYv}K7QDICjz9_ z8wM-U8N98}!!o*x#QnTvZOEm_q&%lT+EN5!@C7X-)Hkpb=R;W(N!uJ+>7u-ZOQEx< zd7iHe4Ob+1>(Y&`ey6jwDWHF%mh@)y?n!|EC(y1Ch;MGp+((m!(&7cNEOuFiNXLGgs{NudL&fD7Y$qo`@uyn!z@aj(&#%!nGv#Li@ zPiqy=z&ybJi?a8OYjW$>eiauM5LBvkL3)dH=_0-N4ndUOL5iW;03q}i=}IR7LazZ7 zK}zT?bQBVL4ZV79)_V3ndp~FI-+5oZ#pEuznVECUF|O-BvY7cK`bE>Dhp5C-j`c%^ zQZE}mo*j$@?B0ViH;7zlGG;#qPglHx_#Ai$O1qYn%@o*qP4LG)9uRKaRn_#1v~J1G z$)fz}&mJa7K>zuq+ooTr!W^xjWsMbCvg3z*epus1X~saw76`p)Gb7w};TKQUkvr2> za@thF(-woR9UWHhu_Gg>V%;0n6yjmQ8p=--Z6RYziK%oo_=m4jyU;@XNql9j290uE zf(;8Z?W!y{J@rQ$MUFP=JLb&q6VN%*cB8czo%wp8u~m@+Slibf`?!TgHLqv-Kfl>8 z6>KP=d7@Cq(A0|xR7Snk9mSV&nL>aDs16vP{#!rZ35=U)caZl(kxn`rCB=YMt{A)p&ZIDhl>o_edmaTC3 z7S2@thEQ&4aMF_}BMhPV1^d6CdlSK&kk!I>F~hov&IRvkdV8hGXUV_8IG~~d%6Avc z$zMlpLsGga^E1(1>O8vB9{i<-duF3?M#$CLoW?^eIES^)xSdicNC8TC7 zMiRo1jLMs*^b1OOlGByRzRxn5$66=lXH~hM0P<_yy7Tqu<8v}|gyxABPs`zF+B*fbtKmtA9F!h!2N<7wVjmsIj$mVD3M%U9N-R;es&DO? z-poev-JaZ-3?0#r=86@8r(tC%S4Qt)I0fgCPlK;XaQV6xxRVVOZ0Tt<{Kt#vX_eFN zx};Hs>98LzBgN)xdp`HYFV+JtDpGJR$EAk{wRAUDLjnXSdBb8oFu*H|dxv~|Su^{YqRxpfjg=8cEz zW^LTXUrfE(g(j_zP{&EAA&hL|rUc*+N%#E3>>1WjiZ5#`lQe9O1?0!Fxw#1#qD;*? z|2MTm>5-Npq4?@Z1P<~@2}|BY`U#hYFG@vN{d z9!q#+H;;UsVDD z-S`ISKk40+kEq}U@ehBV7wD>*gK2Ky)d+#~FIxh@FHyA&5uBvO)?C9T6U9-RsB``U zAvp)++yIoM81VblI6yAG(JT&lN|OKQ$B5DEd)qV83*qg^tGoQ?e4*G5hP9BB#vQ~5 z6qU{+hT$Z@B6DdqlO0@a4_@PAHE9is`Fcf)-xRuMhtmIO^S&otwP~?2=_bG5!S<28ifHC;kK< zEizk803|XkA=vsy8JX;(j2b$RyopZ^-sg3Hcdczu&)=mNgaFG|rM=@roS7U^-} z4aoH_VpLlJ$PVzF{rU!|8Tiskfui9%`9xEQ>0DOtk~vb7hCwT5g-Pwce?o^#7bC<>rRUWmDXOnjj;s6Z8ac?s#bMLFa|2lBo zlfi!-_Xjv`OY#H7*@1;2D*rKZ@};AC>k}bjOlC18)NXq6{vtBhNtptY*(`OvbNNhu z4JfnFB*F@fW~8B2=_l6D?3xW;Ixc&0iC9i;DTH3E2(}Tw&S47@4pkY+iCk(pu*{#a zD^~rpa?xEr=x4;sZ{_4Du$0EJfa0_FnWp}H>T;Fl?ew@Pr2Q>EiXPOT0dTphQ!%jV2ld#gCut%%hY4OPB+LHvLU)OwPFycgud6doot*R zs_X@sMe}_QQoR!WS_ULuD8|JSAc3ulFQ=Z;uhFGy?C_t`I2c=#!HbwXIbG0xbD~H_=$@-amA=k(s|3Sd z+t;Z-XahtW)AhU$;+7{Y5^^{eso$l%Qq-zXk~Q?I={YRsuPdNduT)|3QSR*=9$}Ln zD(X__??||qDOu79Lesd}VSRiL84K1kI7P|}leIC=fjP!Kj}166*q9rKZtwp!xVP+fG0`WzW9Wt7hM zAa&F>{IrU*I^8s7!_QQmG(dtGWL%~}I$Y``$DSqE@(7tEE&xcgHXR)6TUNg4ID8Jd zg&dXWq9#I)DlG?WexzX+!sDd}swjg-6Y==o1XdH@*)C{$l((~i1#ilP`tQZ7)U--9n#8fGM%!-EZV>_dB|!R^;-sh^iiun!+jn<%{f;-eoH~t;hD)jmJ_ZHlvciDB+#bhp z8!Mh=ag`O3$UG;d;o*sgG!HI%`Ijmth*6)(_N%(3p=LIjrkfoXBH6pZbsKj z7*FOrVFuQB8^lvTMn)Kj?gpBV8PB|96AwPr0JnhJK6@sPSSQ`ay;?U~d29!$d@8ZG@adhno9ruNIf^+70FX1yVGTsMLV=#O#y64IK zp!x?vj({KI&x~&Q|9J)y!GF*J|1dJ;2(?}?=2Q>?bvX~Zg&qziSH={1=awGnACCps z?lC#N@?4_n;n8}c+5PI*Q!MT;ePv}WGHFdNmEWTkpW~=;A6r<%@;J@PKiJGx>N{(4 z`2E(3Y)q38tEqbHf+(WGi7ZExio+cyEfUUrJe8voR*Bg!c%`=LepfAQByfo1oFF3N zuafLeBZ>zTIQuCUS||grzXLQCJp$c`eEeggw`L?}w4U8k9Nw9}`K67hR%B0xsHhnQ zd$f{;eme2Kio^$c``}j%+QvPI$HmO+s@$7YHn$=WgNAxd;|s(6A=<^L3=v;ZK5ec1FIlw$O z3{JM$Af4jFm#zk@?%H*&S<|x*=Ahj|o zxpk<(t6#U-a9Jc?+ZWyk{a(WFdZ{V-q%bL~w5HpImSX+XCRpgRYAdo}6r@N7^{!+| z9xLQqbI(mww)`}ZBR1tL0B3UrQi5k^@}v?M+{Ad=YO~UqoLJu?I?~J@Y+A|$92Bny zCCF^~XzIj@UsGY&s7J-Tz61`*Yo>kw;R&ec($CnaD*C@ zh+2V-Ihe4eS~*yOI8#Wz55jIcZI~?`-}8_d&;2nrS@NsfX=RPJdPcXSI;F~e+Y|*W z5=F51*b~V!mlh)!k-p*V;mZ&HoJc{mvr4L6p-9phK!Nf;&fv=g=|z-TD7tm@OD%u0 zB#)$=u#G2eOXvh#s@{KJ1t?U%H6B)i@T%;>z-!$t%)~jcT&!ye)Zv}ShoI-d5V!rc zvILCE6l$tRI5M5E3ITC#!9)1!W`&t=H`Mim8 zDyLjj%w2j~6*I`AF8@alO9_*@sbvB-YG1k`Oz(BOZSksbX^a)2GOdY1;S2f@XeGLX zNmJA-iW-Pd-nX}R*<*=_i9PSv4N-HGkQUP>6VxG+#iN`&NhcgA!>*8FvL&AjDsY(# z)fK|uy2DVx8egWjuYTqqafH5r_4WDyc1%l{wnCORG^6^XI)*pd*?3A^oE4UMQ(&*U z;>pTN!E5fpwPLT_&eC;=44m>%#nr>==Bk`P!ZXK=?a#Nun&aDF{Cy!tpS;Ais?75| z-NIbH#Zs^{%A`-=D(C~!(&dK?bdePj*0LboIAI$cUdhGwF*2+giN4Vl$XQ6hP!zlcZ_fnE26pfG*zd^?6o1?#^m9v`Z>K z{(~1nglKvT=0|G&JM|!}jWZDLsK$5$2oQ;ZCxYxD-njAKBn>GpJv@MbfeoOOC^q5= zl%M@$z$W`(tW5HkJD{CH>ddad?f~K5hw29$@zbM^Q(kB5U3JBT>ljoUtJ>3 znENV5{3nZl^+6l`{|u#V0h3qDydtmn>!ziF-E-0A*0F4GTq1g@$jsg-KD$nuaMsg z5_DEJ%3<2r(5$Bo=zyFrx6xxGN9ZbT?fKQ%y~b0Iy^GaD!6a%1{2R~i=>bq#S(jg( zHub%NvQ7}}_x0+{Q(a3#rWQn@IbZ3meE9s~KI|?eABdgDE0rOZ!7Ns*4lC!+i#wfX zmwd{yMvpiQg8+S!k7|#9AYAYJEj}cVVRMi{tbOIhf~uv3A;Lzwc~Ncqk&k6DqH2%Z zwUIfM>%j7|$Gt_Wm}mUg)}I7sB*jy1$ZEH(F;d$8B}^19l#!L|=q{?;`Ldw^FdLkv z*$EY<_#Cn$=>!MHI0Wv5s;oV~B#lP7_46m6KIh6lRpR%TkZnTgU|5i^edIb?&{Jb1 zxAf~!ryhrW8*w*OJ{ca|$EDuO`-yOt8N(e=X0BNug>=Um6VWH5q;P!5z6%)9z?gTH z#1Ck>RV%&tpO@n1rM#;q{m?U(HTa2WE`3~c_qu5R@0|AjF6eYinTm`(rrMu}+Cz)~ z6?M?>J{$OUwJ&psJbU(ej+;$q>Ev$c@KAmHM#6i+z3|}6priTQc(u^0y(E=)?KcBg znZ?wdG!%Vn!CDOoPmSoQ8{M&>>mesn#njV0DTSJ+5Z=4S7yiOtEa`qFlrh)S-;J`a zUEj9|=aW3K+vftsDgG1;St+T=40(JN8MA@3U47-nhdlSFag>UVSo#m!y!1_PDO1}k zdaw6a(Yo3;xm9m*NH3Y|dUh7G-DnJb-%>1j-bqrK^>j-U4D+l!zHb}HgX=)Rl)%Po zXucngkC}LkJ0&?oEGFXPsOw5oEq0~U9{HVL4TW#I-Ox}4BTho@&s}Mqf6SYvl->;! z?OGV_=Rbk*_9YQXwHg@=gGKW%s>h1;qf@%j+)V=8zmCvWr8 zx&{Te_na~@v@UaGLBe^1a~PI~VhACnF6PrGR)Q*_xrxU2N4r%jm$VIr%xIc=$23Si zZs^5$y>T?#Ust146_zVyZ3;32B!XJ8@H{s41~zAY6o z&&Z~D1#q?SW9UxWf!^;n_i5d_`f%HxF{&Hd%U@8j=(sWhaQcp^g)h5nRi0Zz32)UA zbycfk$Xl^&BlP;(s=CMqw`X@IL)L`7I=*p8vW%Y`-x%oM*xV2k=<~XHv&Quj7F8`k z2n5zVNyW`uN-rlVa`S8O+=@hq^tP|6Qaxj=RTbQL)%9Iw+{~EvOkhmcG z(;9DFOvOJGuP+msOx?hl1k2BcOhx7wQg%9zBt%dj6btoQD<_)(^9NYdTd$ctJ}BfV zU;y`0<^-KS?adYg_VlUon5B4FT`GzXsK4IugT z7`@)uSm%2PKzs9_7hn%gqpNvAYJVBG{$7Dna^k%TBiZtC9bq|vnmIM8f~jn)d^%+a z6UCT5LKA*X+>~gc@4)%71vpPxOs9lrekqM$3;ug5B1n#l8MNhKt(`x$(fTN<5e2N& zJd`nN;B)TUU4 z6!{ka1Kw_^Rj=Dri|Mdh8g-wp2;ylX`Ka^&>a(V~+G+jHNGe645G2LaARQ%@#s1GC z>S2JNy2%rmbnN!N=KD~S*$kg;>*C6XYyT{}rpcHYqLV)W5y3m>)1mpF;L4({w9{Zn zAEx=&CTwoR0ryu~>*LOiXqO&h{p@!eJ?NOZYsdFSd1j4`n?+whX)-bu!0Ya=B9OD8 zz9ag;NBmEY4G(AFU0tI>CJpvklN%mh{>lJF?B;OV1_= zsG`|=qV7N}ShkZNSwC{2hNb**N~iTIrZ_xvXa4!?T*e~N);R}caHr>%CRLW+Q_x}e zEJ2OovLG;qfzuwSr5S#yE*+#b=((r_^LQJEj~fpy_cVAQB;(qC_(I=*RRYJjuID=F z%cb**PJ(ATnwGopUf0le3tF8)!ZH_W zppC;YiGIUpV1AUzj;mo1Wd? zD{v1u$T?Zww6r{UF@n5*%W^M&$5|~$kDGR)?YHi?_s^8*0_YOOyjSK8z}egPiW5iT zU`}E;UqzZ+VQuCN?Oy4|gAuy@#mr18pz<~%3b_OB8=mH-2l?My5T`e&?r-WZD&-HZ zi*Ubk(_rGO&;O#-?8b?t7muC&`QB-_d#ag!y%g{?d|{1R45D~XLdz%dfG@u7IEi&U ztXuEaTC!b*J`A&7b*oQ$R;-5$f?xRU583@j!q)P~@Ye`)UuqP}1+ph`^ar1Aq$%KwV{t3*^reFs&6R>VSGjtV za1_bwROuyRaI~dAy0Eyn%j!H<zAb_%}Ewd#_K*TWtLl)p{AQnx=JWL zw(FdBmpH0r>(WZ_H92LW?oS7_g*@Kro5deA@?+Jt8N9-m@A zM(D}vtC>Wg~7eSz|kz_Q@3Wq=O8YN%NjVDECv! zl3WbhR5TCv8Y_5?)XGnWa2@g~r}}yc`O2Ah#?k89eTz*(jMO>&b-c@-=W6!`9t!UT z(NNjL36lda{I{rPP4{CtZUj*l6IJ4RZBPCxV_flgSwNWM0WY?T889p9ri1!>i5NYn zhs1k9$zii?@_QO4AfQ%uBLbzOa9vesaA=5EjV>rTqvQjJ?xId#3MO}^fM@Yo1^O9n z$F_czF9$fd_1NNa3D$Eyqc;9N?^9xf8}6m^4~PeUAHh5 z3yVide05LiLj1^l(vzfIrm+@Pxsd-pg_^<8gc%w92KQUQ=9{nbswmR9>3wD;YN^)s zR;0{$)bB?>a`i5a_Sn!>wsGHKxcoY8i$ZLFA2TnJHVd<4nm|{ujNbyQ$6DUQy?fp2 zVFo@XLD&fP2%CaMmWo8a;Gqvik*EbC>hPjMPPhWK;Bx-6{;VX}Wx2xBp%<@qn-Wvh zNY`n*U~w-r$kdfb3!d_NPiT<~JlymP98VjmcAXa<+beV#rGB9bWU@dSZ8ssV-7KX(sSb= z{xMS1?p|f?b;iJfDp%tI3kwdAG+}Ml7yq(*ca%T*D)Q*3B6KyI^N-jWq^)Z&!}l~C zA=!-v^)}jEHxs|McilFVps!x3|AZ{ovT73+nlN?fN@@4}DLsHyq`Ko`zTD0N z!a#$cRoQ6z3mefiO59!_hL&kO%_%r@QD^py6cvbNLqvH+^%WB{Zql*swnq$6i1*4X&&Z`MbO`a%HsZMq%M}Eo; zt3cgMh^ft+yz2_CshRj~vdaeB@&HX}fS2yKr1#m>2*$@DobzxAy$Kh1$L8`M?+ce0 zwUaj~Z2N^pG9hLXRO{_A+}Kn}GK7FnuDyCwCzu)OFZC|oq{pzJHI!ULT{Xq|W)hn_ zH@Pa@teO))Yyv)i6@wEYp1wXdqi1IX_+R^6W>pUwP@F4VB^z9nGOh-*zd!xpDlPrG zR?}lSwz#8qWcI{vy~bSnqPhaZ?QP&bxNeC}9YT~se)Gzzu;4e0Dhc0Zs7)vY38|uyGW|=1WRVfRt&f)!1Vl_@8f`DT$ zDSltHG@W-~JRTzi;qvv7uB`3+VP(=?J#-hhxK{lD@6X}xU+1X{rci9YAK>{)st%(2 zPK((;v|>gVUU(Me>ofOLlGde6Kn!l2ClbkYlL{NsewwU_9dn2+cF{U5Sz7UE%(*${ za5$7=;T#u7EqhnTER(4v8=#+acQa6PTBQ{)^=PCwxAdVOaUc*5{G_S4wDh73)ndCe zyj2oRvBQ+gO*gFrYEdC|mcF7|RZ~bW5W1~y|0$wEJ%@2V9YV&Zia>!<@d+s2THc7% zb`kgCEs1+@S>$9b-?A69MZeI*MFuv~MVdeL(6>MMqeUwy^|{l=IfhhTS}7efzDoc6X=e)lpS0+&YS;_L~<{KhnoG3G&)T@zNW@WW>; zQ}d_BiHZ$l&eT9=dHgSB+%BB`LX(C&ihEb0#XEuHo{AX$BqQM2G4bpoId6ZTKKCwj z%C>pIWcC?M&G|TxrAEAJ>V@ndUJd<*}?FgN^sIN*#a z2@slE^eemQ=-1o|2(vwOaST_#`7Y7e&Nk4RH$o#`6JmQeDld)5G}(BT_#`$b|1`~< zcR^N*3RFxz-{o7-L}Dt}=hj%d>+v;)JU-nFjqKkqzznL*O^PQP)pk`82`>bY?m#O##U zqqWlY5PfChe`QoHyLh&|TO-5n+Q>S&8|J@=i4U1O?X5&f5vp|V`!V=PtY=DeEhnvc zTX|Y3Hy6j!{FBxEc8MD^#;N5FI~vv!zoR{UxHm8z0OiwO{Tk&efehSxw`w$N?ry07 ze!&Fffp<2j+}!t4Dz$LqJkTfL$_IobUtfU+k%~^Nv4Q&_G53~aWH>p6(3*jYCb-Lu| zg@r$J!=i}#n1{X~8cFud4(mtwIAZ9A1)75|ffzRLe(clZKemJ^wmba6U(>AcjCJjb zgsEY<2qnD~Dv8W8#`hfAfmH#z;6UqFs=T*KGZMsOB;bjKK;Hn9imgv{(<#1(Ni?sN zMZBj}VA<={RB*sTDA`qjs=V|cbjIgQi(p{ZtUsNSnAYFvSfyZ|wFZrB?n+KYgWVOx z{J=NMbr-Eulg77q2L~Q|nezygNR4cF*Q|!vyl3Wqvf!^I_)yV`@V4 zK%s5~y?P>LmJ1eM=p)82d}XsKU?#18m>TKO>$S$s2(0urb9=PlkSjtY}UUv-lUsRLFy|(lk z=WKK;gH!s$zw$&evinknB?EXI(?Y8!KKqbUi;mZ%tGmtkS0}pI9v7aq{~Ecn+XOSAnENEN3hOUJsQ?IQ$ z<{wgaIQ?*okrzzOHZpdwdyzz+%-8u_TT45-`4}aTg!zm_F`s~2?>nb2uiS3^{bU|i z?32Bnhw^zE=beZ%)VUMumLgWbgFHgrCLw)a+Twl%|DxinxU60OnEM0^A)0*dMhEd! z(c>&hpw54jJJaZb=-9Ka(w~M8ZVoMfnNM7;LWcr!Es9S6CXLE^p#2Cg{`!$<6h1RJb8V@z6rA|j~;fQqUF}23$1W6 zOc_y1Jg!L=PVoE?9PYfz#;&obHuZ`@Gx{l^#ay>YZ0Ae0$+$#&g3RE`w2hwi^ZW(^ zIU^6dHODFdQCky@x(Ofo5}RQ}auhc8<+}_sQ1iK6(_1~sSDf?YVO8y$mFGfF_K6_7 zRdT_XVkw=;;t!a$q2nv-KRF?S-Rn}5%BH8X*xa!4db8kf69enwbX;Y$)Hj1-IvU{^ z_UHqk!j)$-#z$?oP>;(b^L4t@b5r7#^Wc!Ct93VUHydijFBVXLsBWBnU%unw{x=?t z*vp@9@vC{&!0@ltl7JcK7u8x|V*R~A&AH8k`rLOZ#tnsD4L}WcqE1OF!1Qp?=ZOHYW*83OFg*Kt5?nR8O@^O}d2V&UwdRO@Ev=SxnyK3)&%KTs?8;VW zb&b|7!!U?SWcr%R61!AO*sjhGKCB>bn3s2}L1Eu2wd#Knj#W>RC2|fjGk!k8nh&jrBG4H z?eZt=Sj57_AFJw7Q$Kl`!oBmp6~#%;i&1xDDMa~BR%+-WKqrfddz^rw($5wE zX@nSYA!(w@H57f*#*$(Dp7S3bv^)UtJj}|hpmMQCAdioLZ5$}W0e}VI#g&Kr-(E-( zAaA_`SP1VjJxn08^C4Pi#2oJcj|`qb@_N<3-T|s^H%5Sbo7V9!ynoO+Rk<@>&9dMk z{Z`?(@Dxmk);#oPdb~chSCmi*$u~7cdV}*POmYMQx{+%Q%iOoe5 z-$-MklCqbQfa}uP`Y1ZvR+qv_gKe2k4<23n<}9V~2MS2auIVk}_4iTO^XK;dFzD|c z+>f3cOf0$`gp4UzpDL4)G1vOwvmmBYLcs3M6c!HMvEIfVBWPs-SKmz+wCR*hYNq(i{Dq=-`&ZiVAEp88Gud< z$q&iHZDQBVWI&*76$kt5QI2>_a$~&A?6SR;#=G!#QT>t7je79_|Ac2+S{|>_zdutP zE3K8txIl&ghtsv=`<#^QZgpz{Nh*f3Jz?4zqH15&P5&r8KP#|o$LpzKJc198+wVn# zR^GlzFJ9I6W`(S;arKhP7MF8n%+#Ck*O6&%9nTvTH_U>> z&y=R!M*SQULVgMBrnt3T`q%B&ma~J875x3bKjKRw#_xQ|>X#wj4Wk1~*aT34VQ^wD`+fvYA(H@j^aHG*}3K+D~F?Z}n!K`d~BC zuwWYH@LNxnfTp&wbNVmKM0!Z6jHPEarP#2n0^d&y*kxx1 zNPFleTur#MVCIH45X!!tO%MmF&u2MI3Rw@Y&dc^1FJZj4_E%bc)^*7Ba`QPq?NVB+ zoy?hx?R|zXy})2EH}}wHxPAWR`UGEnA?aVigV#2wX7q0n$U0o}CEhB&;R)cMH`TBG z0@{T9{{SeocdlQtDu91)_vIE@{uh|a|I4iSkL$!qEK{!~0Ul^XHOLxfvGIy*CKH&S zlEeW3#NmuU$boSP-=_KmpE1oCKv~oao1xU;jnienKFPD$8b9_7{K&FDnS1P67+3ME z_Chl`0Mg^9=2ihB6xeTN`C%AlJ>SML;+EN-U~VZo#E%K{Ju9mU<7fv|$uZuL(xTxXITGq(sQ z_-Yz`LlpPPcBxSdyzi6xj6h&+VO{-BM*Y;z?0X$>AXTtAoWgi9l{lsGIYfLZ(xt)o zG8ldv0MWfTt9Sl%XYz9}wMLd_)mIb2;N} z^aa%(gVK|o_I4%ir|&e%;*6(UW3Ck!5&wO8Ze&7?+f%a&R-NMA!Y(LQuW~}Dgn+DP zrjniyDPH_&D92sZgq$dHp2fXKL_O52B=D1wicZVN0HbI@U8s<3`jN&#O?_g!-vN}& z!E=SG2aQ$AV|K9Lw$gQ>n1M zhVq7K@4}*inR>;Z{fZ~F_$XqW4~{GQ`$4|lZl`bxwOGuZ3R8BW*(JN3XfSjDOQ}Nj z6k0p1sBXya>Ybxg=J;M1_%;2g!c1#T|J0o_spajjezZ0ep`HMtbe%>ze)kmnM8>pe zl7hTJzbW$=B&kK$kXF#8eg2hPZJJkNNU(|wd;R+Gb*ebJk!rvln^4a}-y$_+hy zV~UFB`$Mp-TRyP7m#IrZW4wd~mgu}>xn@QciPe?S!Q&6kTp~Y|(+&gek~*#8bIRCd znRjv?@$K+}KHW`@!+cEdB%pN7cY>ap@7&>yq1;SZu3Qj&jBIMM3RXFDzw`D(<@|L2 zNc4ifvQ3-J?ZCv_{skWt>f68fe`LCQdioF(fn{6G3U=XgwAE$OxeMd?Dr*ur?8m(J zRv`Mcr2jxp&O~_VN3bc_--;e0K2n}H>Xho^rzaVQx?GcO3Q?MA%EYu>`uZIKv|{fa z|NFoX-%rnHt?I=>m8474)|+AH(dw7tiQmSNxSa%w9Bc*9LdV5#t?xj z3ErbgnbaRrGY0GOiOS4REreYqWlrX>HLB?tq@OI~u`5ut&qMzXZ~t9y3pIXN+Clw> z^quT3=M2%|G{l)$Gy$XS=NBTgkqwY2hjBajwBmaA_M0Z=#cmuPhg051Gp@nJq5)IK zd$aE07b90wHa!@8=xd}R2QDa%u`2BSE4_Q&7@!yNl7c|!skNv8n#LUw`hmT})3O62 zAPO!4EFSj%ZR(CQJ_N!f0MhfHGkbO)_TZpy{@xkjS$OCD4pphGq?`5c9D=c#|%~r8VZV(0XFF9QdwQPg0=g`qeeQ2jFn#EvEkAsI^*Y)`8Z?=+{!-+W+ZsmP=`J(p}i3N(5M#e8_yD3xe@QF?T!gvVzyQ8F&^S`q<<2$qH( zdX_D2t;jO3i>Y)@2CLruzt1iNfp9liq)nGCcO`6^i4@8h`eqt)pjwOB6GTrHZ3h&= z7T+?5uE#8EZN9X0Ywltc%74$&VS>Wc{_TCpQZQVi$WWLP9g|nq*#AzRZzpqMZVd1K z<6)Umk+8TVgcA({XY{+8VKqjM2n_cR>O5{VaS`506vdm4RWoF7k6B6naO&t*cnMm1oh)3qc zAy{>j^nosL9Yodbx{CAT{9lW-!%fYSxJhH4o_le=$a!o6rW(UJ#hQ{E6V9M;{w-+g zKKsn@LO9?rom$x?tk;UBRME}t@lbzw6;)6H{)WeXQ(sXolV-x|wG{mENcIh$6hJ8e zU$V2;U0~(^rTeAU``);??&5_Dr?N2K0!(q+bR5X1?cqL;YWubu_O;7r-6>M5{4NO1 zQ0^C}sZK-9Hj0IKttmW#1*hi4dW;wtJex0v13VXKI3whn)RFNzP+rj8Idwn64sQ9 zV6*tv3A!X?pK*S4{u5>!A;OvJZRM@62E&In6)rIYPM%X&>YvVX5}p?WC$*Lf3=*ce z!&ApTi)&X%c_6B!6P^gyG#`GxJ(@ui{wyY~QBD($PAv4Fdag*OHB=k8O4M`5Zsvuo zVOb}MRhIC?K=U%mVeR9ypdQeA9v@DtKuxQknnpzyl#njD{FnCnnD(D@Ev zmS4)N{vopL+VEAc8HvYW=7VMbnYwK^*X3;3LzXIY*J|B7D(!lz+stciJS%_f&U`Ul zF3T4|6cx-^S1-li16q8XOK3$XJatXeg6jj#B~)4&6^3a4=%>XW)w{OXr1$6gi!sW@ zpb7k8H_#>G+W)#M_%BEQ*GNy}(=S+BNzBRRuW%fR_A?=n--Q z$aItwbn%@1y@KI;WUlV{EvoYW@a?KpRLkYzne`vU%%z^Ru7 zX0ogdgSFM9H{{k7MU=EyPb|CYaBKdvXab`;%PfS$G)wW%i3ma*<7}imNxx9?rASSL z%i@ThYr|ZxlD~8OK$p$Etj-MRmTcVoG(M=my^;!^#hGt`>#6Wb=vTljuL6l}UtGo- z_Kg;0vqQEF4H81mg&WD=drw}EK*|VRJ@yws*YPh4#d`6)FVSh8VX0_a(5cpoqnj0;t3wfqjbSNua|5XOsl{>P2Nyy zN;e5|<33z@!ea54tv6T^E3@<^R*n?v4xnN9Pnf=*excEFl)izHLAO$^_?>c^9_U}j z%W5V%TS zjc-$<071TrJ4qNP2J(3@JVvG!b>;j~$)1ZMMd+7_?Naj`bl91J_sr@Q-V;gbB5}&b zOg-pfb321MJFCbI&I{f&cEJkEu)ml1tA1eEj_j0f(jQMdbKdlRRdMMr&hJ8#0#er` zr&7S$GMy9r8sCwTev;==KUjT0trHEb)-lrc?-dJ4fL2<^5Hgo$P z5MFfdcaNP|=_ya_ToxMoKC7eOgn4M>XU=v5-a(HePA-#x-_c4elk!ct za?R+CmJA8%&s>-zOAK6`{z>2F5}-2RZW0C<$`W&Fd#~OVIIRU`Rq~;ij(HMb`2~Av zpxC>CQm%pIZ=`SMq0{GFEt07Hip*#N#MQzL4^s8yxco!oDf8_rO-6SU3Y!#kxVl+5 zEZ!z|=pFBWGdo1ThN#k|1b^gISKRvLehLxCYT>AWU9r=!baa5_muw8c(0$hE!UxLE z;k9BZb?B}DWCf=+E~1HsnD8`MXvxll9Cy=Q(s>^7g4=$J_Vnmk@)rn#C)ueyu{ig}R9E1_=qxq9T$oz35# za}9h9(C}eCcz6KwA6=kN*wL6n>k$(NR4dO9bB4pU?%?xYP#PZ=OjJ7^DJTIE{kL1M zGEp1l+exQ?%UH*VT!0#@Dz=6cRIctWJ0+96i@E}$ep7+}ljZqe=JSo`U{4H^+Hd<8 zy*VkT>t}awdcWHvOt;!9Yu{*;|F^lfDb9FiHJFn0p1;2HcpY5tNoSX=dyt*DZXb!- z7qcrRM5?ZD?*B5&1xZu0+8D+EJ%?&qZ;%#bt|J|lV=9&7Psh)gQeh#zD=te;a9tZarp%ucDrdQ zn4;@k2Au1kQnJSf!@Q=TsZnAfnLIa`oj!E_^C5j|O@-UEB4`pbx^PFNpzn{xpU1Dg zN0$yaTFV(u>ezio)hw6`lQjcmh_U%D+6C{trOG_OBa5mW;rX9?Eifr{(dRjM`iMHf zR9w@pnAtswqls0kHK%xW5|2ysuXnujb4`e{YoM)`BR@5Pi_f)53o3NN-$MPD#8EzR zRXQ7Esab=8hBDZjN`&wKY3|CS+3eOmTAzNc(pK>)Mb%sttyzOkXb@A(LueI6&6F5B ztEwp?z9>>kQ8kp5im6&u#Lx;2icihN7{tuo>AB~wGu*T8x@Vnr*7+wp?@so+_kQ2K zpZ)CT_w47_%3nrXEs!ndQ(`Wm6{%LHRR~45&S&$h6QL;Fhdh}Ff$FR}XXQm`1sAJ8 zILC^Uz2`&W!@Pq{>Mc+8+h0Zjig9X&YI~b@9Vcz}z4u$`m%RPv*FR7W_fbR>?=9wm z?>B};WrVRGpGLcnM-`On6HtAdJ$H#lhv6487IaUaB!=eiq#?4S27_G46c$XInK{qlFJB&+Isn z)$T)pMSs<$jpeH9qYOB2)h+@jI_5A%;QPK#Ssg>?TaBkYn}ueWPMcjZQpKf1u1o78Ct6K0a2>>n6AHYIkpJr{GE4bL_Tqs#<}H z1Mq{p!F6OajdD%)P^irG4m8Odjv3O1`0^ig=a)xFaDj6SBmiBaIWZ7g@F~&;_g=5XwhsYvr zVKofeavjcCOF_EKoD_9OC{wK;U1i)xmbvfNm#aw&T{#Va@3-OYhyvF-Go;Q=dF8tr zD0u!wzyY48>hL61QL*78z~!KqIRkkt#7o>UDkmUy0|IS`XG zSFBv;bE&cMvpI1K*uPbP?Z}=ThZ*rSjf%{@Xe}z)Gb<@yel23Kg=}~#NA8br?VC+k z$(#O~e5hnEo+oS$N0XtHGAB=V^ALP!Ss93C2Y5E3%W(|6M7L(+?Q zNYxS5KpP{9T%8^Acg+Lg3YjEwRFUG8IlJ)l2RRhZNo!l4U3i`D#&ohWE!bOy{;kK5iB` zD6y8F^a;_-_b!wfOfaHYP|Uns`Kfoz;2l#l{3J`P^LHM~@rjUz97{~qgZF}-wG~Jt zmulFw)*{bzsPbg|F9CR2rNefCkBLy^irc`Txhfh(^2nILxXFku_q2pG+*Ef?e?Q>a zvnK5^f_$wkqvdxQ_4U#lEgWCYgfZK)xzoFvsm-ZFG_JQR6!Z|`osE+!JWKsM-t8Bl zGxesa)_$Lo+o_HxW%uxLFQI}?G?D{-eAb5AyCh1JJ&H5(zx>KqU8kGd_O;OQGjeY{ zJx<@tJTO`06jQb`v@@wIFFtN7bx^X6US~5F-D9J*m#n4`kGmZ27wHNYTyJu_w z7T+~)U(mI+04deh7id2L7|>L#Tx~BW>ZHS7bX)XCoh}55Q){}TOrm>nnLr3&XNu^6 zbk%7#knL}p1K!z|{i&0pFK_RrFYQuGqIU|b>i5EXdDvKtj)C?ti4^`(%=f?NEl^

3?zX&_;WHkWJN!#@cf_^$#r5DbW=hiO$G?LDNN{z7OWsdSd7Su^0Aex+iY>#}C zbBH|8(=a554Y5}5>uh%shd2x~!j$lRJ#!Pw`&>A||6UH$H}z!(eOG-O%B_X)kESOQ+f7f?%d4mQC4klfod9&NiDdRG( z8FXp3@{{z$()G|OEwp6uSU12&v^Gtj);~i#B$Y~dlqycwaKphKIgT7GS;gH6Xy;&> zNGij3mkx)9>LA@-Wgsg}VWSZk6|GEnl;*Y3ZxTMWITz!YfV!IMw%D&@j|x^!dFLe9 z%>!szOU-d%es=`2u&|)5XE$$E+JmfJ_dTjo7=Y)%Qs;2q3Dk`DnZ+F-obHpXx-%U@ zI!M)-rHR??r&!_co=<(_O%$nb*4>Zq1Vsqo-BqdKqGoCmEK==|;HbAHuOTAYO#w!N zA|=8-6qIy{-N8I*$x(%w=V-U5lf(!6afX2Sn9Z1*RQE=&|1;ng37enarHf7`rJJnn zylxF>E+>C4EdAtek=7)9^D_#Bp^XFMk{G&8Uu<4xWid*>qTG}|LVL<`7m$$s4{*&T zQL^tD`xUld+v;_E~9g<8maA)7sCAEr3OBWNz}V z^{{^67Pvdu;IkhDb4tBcq`eaCLb$VP*>E#}Rlw_m#@>?+UE)(Nr+7F;V=x-@ zFHBi+nce-5xjbE_C@o@JWHs?XGuk6P3^7E*E$YD!(=Rb8%xkq4K~^=EMCv?v34fnP zV*yN$-Bmk+o!sEqc?`PA@#71<3`1YhYk$kc)F;f@+Z)FXUGMqF22B=C($CggE^~?4 zT?Wo8cg>lHPGZWE!-TAm#eS!)c-v_z42Ij+HtVD(H5Kf@dN=CSNiVz1tKKZCF?H-! z7B*bw>M69rp3Y8(E5TlFiKY@7oBV|Gv7e8Re^hO{Y*@lFB5IZXr>1UUr~{IFhP2tE zok5z!g6Dqyw_xVuJ?Wd69G%UyUPk(bkP|Q4Qx006JD#|N)u?V`H2F!`Ru~+LRmRKl zcaOIa3)x<`Ci7Tpc#V}O9y+Oh%ZOaQ@x1OBkS&(Ic{ME#_s~4Px>LWH23TDN?l#0$ zWvj2|`hxkEQq-3FjV=h8CUpsto9uLM$P?Nme|mVWwy%egr~$(560-QVImI?`o0A?2 zLQ4p7gkh{Q4xhvK!Q-=E)%idG5xAe-P%dtR=d`S4lGm~J8}v9o{7d;fQj=P>+y-KZ zOfL)Z>ri)1UJDEVCMk0JK6KE@abz%@H7F_7HcJbu;&n}Xr@3iRmr z%p_zfuL<}GSJp%}-}*kR);kG*qxdPibG{T^D}Ib#_UY92I!ouFY{FYyxXS?FM(KdH zRuCdpssShW_?@B5rNB{2G~M52_L)f}HiVOIOXB_=BP8@|SVX_ItiPDGl3#~D%J2T< zISsp&LEk5tuwFR}pG`T4CAcG?zIhS|Orcm3Neq%1pzs7^?Z0 zY7BS3C)FaT^8Wjy(9y7{#%+JlsZqH7m?gvP;>S}**;iw##UYW+Qx^szJL0C$7gfBt zy2WVuFVuPRQr_Pu25#7%g)sWl?dAa3WRNzmZa@%{X_S&i727osx!|xx)94z>*595~tFN0bq1G8++6d0Po~AxqHh@qOS5aQT!#5tk33x3ZI;Va6 zcIyyy3UHNiDc}r zsA(7tVJQ8+{?0eJ$eb`J;FAx7PzvO}d3`^xGc!=6EH|gR5Akhn09SKly7vx+`skMP z3)PvR@*rcn#*hkxB|iE}-S_wF#15c@vHG$Aa^Y}eAbe`~q2@-zz$~53xYA0yd*#S0 zKrZuv^@GBfY9P0USuP^~HK}wd2N19fqyEYbchG>+;6#;q=BmGs1vU2{ot8?M5FLyo z@2Y~Wh%XBtFyTWsScmpAACfgD)n|jmy(kHK#>LWKbB75ku!3_z|JKyxPb*Xg!DpEQ zg77&lh;g7c+VgzWl{feL!-Z4wFA!hME_Oe(oaG)w1JKi#9E&ocz*Yu z8v(p2BZ=gU(A@!RgA20{ehzHDv2klY+!HNBBefqwzTS}5Siw;@v=DZ}wE-b9WP0cd zfjd+6=c>exviWiCMFkT7=t44GcIH03FIU3F)MMH&ROWy%gKF<2`H+q&L>$o_*cZsu$$t&6Uml(o|L<)OY2&_QC&5dC9R54ik~(Ce<# z`7$Dtv?wiUX0wLhQ6J0z%(qVIOiy^{Ynx0A-q^J~rqh5cWjLyx%kFY9toJ z9a)(q0yVQ02p>}|2Z|}zhYrWK3CS(o<`?G?psonr%^;J19oYMErM{2pA9m!9_HS7} zI|<+PjKD^Wg^TU+y`lf_NKHqfbIP+nwa7NCknWfhQH?*w zZvyz{M(IMc2cT~Ie>zM4+dhU@*7x>Foon3g6REEUwMqo)SO?y`9_XUs?C$~+mh%ed zl+P-toIS5-eoj&2oPx$V#WM;D8VU;VubpOpRlv*Vrn@WZ9~Xc=3!Z283#MaqwfM5r G{r>{xzLQ7* diff --git a/docs/providers/extending.rst b/docs/providers/extending.rst new file mode 100644 index 00000000..fd272267 --- /dev/null +++ b/docs/providers/extending.rst @@ -0,0 +1,2 @@ +Extending of providers +---------------------- diff --git a/docs/providers/external_dependency.rst b/docs/providers/external_dependency.rst index ebbdd800..91fd629c 100644 --- a/docs/providers/external_dependency.rst +++ b/docs/providers/external_dependency.rst @@ -20,7 +20,7 @@ because they would be able to find right place / right way for doing this in their application's architectures. At the same time, you can be sure, that your external dependency will be -satisfied by appropriate instance. +satisfied with appropriate instance. Example: @@ -32,8 +32,8 @@ Example: dependency on database connection, which can be satisfied with any DBAPI 2.0 database connection. Being a self-sufficient library, ``UserService`` doesn't hardcode any kind of database management logic. - Instead of this, ``UserService`` provides external dependency, that has to - be satisfied out of library's scope. + Instead of this, ``UserService`` has external dependency, that has to + be satisfied by cleint's code, out of library's scope. .. image:: /images/external_dependency.png @@ -58,12 +58,14 @@ Example: """Example class UserService. - UserService has dependency on DBAPI 2.0 database connection.""" + UserService has dependency on DBAPI 2.0 database connection. + """ def __init__(self, database): """Initializer. - Database dependency need to be injected via init arg.""" + Database dependency need to be injected via init arg. + """ self.database = database def init_database(self): @@ -90,14 +92,14 @@ Example: # Database and UserService providers: - database = ExternalDependency(instance_of=sqlite3.Connection) + database = ExternalDependency(instance_of=sqlite3.dbapi2.Connection) users_service_factory = Factory(UserService, KwArg('database', database)) # Out of library's scope. # # Setting database provider: - database.provided_by(Singleton(sqlite3.Connection, + database.provided_by(Singleton(sqlite3.dbapi2.Connection, KwArg('database', ':memory:'), KwArg('timeout', 30), KwArg('detect_types', True), @@ -117,4 +119,3 @@ Example: # Making some asserts: assert test_user['id'] == 1 assert test_user['name'] == 'test_user' - diff --git a/docs/providers/index.rst b/docs/providers/index.rst index 070c57c7..352d73e7 100644 --- a/docs/providers/index.rst +++ b/docs/providers/index.rst @@ -14,3 +14,4 @@ All providers are callable. They describe how particular objects are provided. callable external_dependency delegation + extending diff --git a/examples/providers/external_dependency.py b/examples/providers/external_dependency.py index c4b3ef04..796be0e3 100644 --- a/examples/providers/external_dependency.py +++ b/examples/providers/external_dependency.py @@ -17,12 +17,14 @@ class UserService(object): """Example class UserService. - UserService has dependency on DBAPI 2.0 database connection.""" + UserService has dependency on DBAPI 2.0 database connection. + """ def __init__(self, database): """Initializer. - Database dependency need to be injected via init arg.""" + Database dependency need to be injected via init arg. + """ self.database = database def init_database(self): @@ -49,14 +51,14 @@ class UserService(object): # Database and UserService providers: -database = ExternalDependency(instance_of=sqlite3.Connection) +database = ExternalDependency(instance_of=sqlite3.dbapi2.Connection) users_service_factory = Factory(UserService, KwArg('database', database)) # Out of library's scope. # # Setting database provider: -database.provided_by(Singleton(sqlite3.Connection, +database.provided_by(Singleton(sqlite3.dbapi2.Connection, KwArg('database', ':memory:'), KwArg('timeout', 30), KwArg('detect_types', True),