From 2a48b10be3ab433af91540f98923efa0f120780d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Mon, 17 Dec 2018 22:27:26 +0400 Subject: [PATCH] :memo: Add Python type hints tutorial --- README.md | 8 +- docs/img/tutorial/python-types/image01.png | Bin 0 -> 17722 bytes docs/img/tutorial/python-types/image02.png | Bin 0 -> 47799 bytes docs/img/tutorial/python-types/image03.png | Bin 0 -> 42872 bytes docs/img/tutorial/python-types/image04.png | Bin 0 -> 18604 bytes docs/img/tutorial/python-types/image05.png | Bin 0 -> 42637 bytes docs/img/tutorial/python-types/image06.png | Bin 0 -> 29581 bytes docs/index.md | 8 +- docs/tutorial/python-types.md | 289 +++++++++++++++++- docs/tutorial/src/python-types/tutorial003.py | 3 + docs/tutorial/src/python-types/tutorial004.py | 3 + docs/tutorial/src/python-types/tutorial005.py | 2 + docs/tutorial/src/python-types/tutorial006.py | 6 + docs/tutorial/src/python-types/tutorial007.py | 5 + docs/tutorial/src/python-types/tutorial008.py | 7 + docs/tutorial/src/python-types/tutorial009.py | 7 + docs/tutorial/src/python-types/tutorial010.py | 16 + .../tutorial/src/sql-databases/tutorial001.py | 1 - 18 files changed, 345 insertions(+), 10 deletions(-) create mode 100644 docs/img/tutorial/python-types/image01.png create mode 100644 docs/img/tutorial/python-types/image02.png create mode 100644 docs/img/tutorial/python-types/image03.png create mode 100644 docs/img/tutorial/python-types/image04.png create mode 100644 docs/img/tutorial/python-types/image05.png create mode 100644 docs/img/tutorial/python-types/image06.png create mode 100644 docs/tutorial/src/python-types/tutorial003.py create mode 100644 docs/tutorial/src/python-types/tutorial004.py create mode 100644 docs/tutorial/src/python-types/tutorial005.py create mode 100644 docs/tutorial/src/python-types/tutorial006.py create mode 100644 docs/tutorial/src/python-types/tutorial007.py create mode 100644 docs/tutorial/src/python-types/tutorial008.py create mode 100644 docs/tutorial/src/python-types/tutorial009.py create mode 100644 docs/tutorial/src/python-types/tutorial010.py diff --git a/README.md b/README.md index 2be4bf731..00c51f8e2 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ --- -**Documentation**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com) +**Documentation**: https://fastapi.tiangolo.com](https://fastapi.tiangolo.com) -**Source Code**: [https://github.com/tiangolo/fastapi](https://github.com/tiangolo/fastapi) +**Source Code**: https://github.com/tiangolo/fastapi --- @@ -90,7 +90,7 @@ async def read_root(): ``` !!! note - If you don't know, check the section about [`async` and `await` in the docs](async.md). + If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs. * Run the server with: @@ -290,7 +290,7 @@ Try changing the line with: ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) -For a more complete example including more features, [see the tutorial - user guide](tutorial/intro/). +For a more complete example including more features, see the Tutorial - User Guide. **Spoiler alert**: the tutorial - user guide includes: diff --git a/docs/img/tutorial/python-types/image01.png b/docs/img/tutorial/python-types/image01.png new file mode 100644 index 0000000000000000000000000000000000000000..963dcf4d80b21620c49f00a1868c1b02301cc46c GIT binary patch literal 17722 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 literal 0 HcmV?d00001 diff --git a/docs/img/tutorial/python-types/image02.png b/docs/img/tutorial/python-types/image02.png new file mode 100644 index 0000000000000000000000000000000000000000..1477ea10f83ac866eff40c2b1dc371d035134ba8 GIT binary patch literal 47799 zcmZ_$1ymhf6Ez4o8l0d(0|X~naQEOY!QI{6U4jO8cXzko9tdv1CAd3G=XvLwf31Jb z+{L=|?c3*c_c?WT)!tQo!{uegkP+|@002Oi5EoGd0H|pIfbfBX1ot3>qOgJgpd5uH zl;PmuRyO4}z>n{pzN$GX*_t@H>N^+%N@mVZPR0&~0l(k@fEbVv5ma_tKF)O4!VtqB zA{yT7ffj-@iUWF~VbEeD-hHDBc!zZapS8H9P)nmx+q6h?TRGc2qgr@lhGjk1q^wY) z+DRR@g&dKmg-#|A3oR5z5o-u_MkFW#EeQRc>kt2Z&{}3@s;P;qFZ0tev*_*Ztsn6X zg4Q1Clc880^im#{)O6||POdU~PtV$rG+qfu%ZZWs(TH6(Onu4-Kf&bhZc&v++?x@k z+u)NY+j6cAqgzA1R3W)_yzD~3OgMi5;`d?As7R^ceJbsdXJUQoUE|v89F)G>P5sR% zq)m>N6~nLeIQUIP*WB91EdD;gX$q`yGge~10I>BKWQ4E^60@q0MvnbrTd%`Li_)niT@UF&+2 zrb9K-Q|0}y7f=fsml{`e>9fv%{on^D)*Y|g3kr}WzVw~%e>|*z{qKVWestA|uuX^9 zMmMFou;NTeK|u|!i*{Y16%paG>c@VIw$xd6uf6Q%1v0EEiRCxt#E^b3dz!)UNcxp3 zzq|YUpR5wWmOl{q@l1oqr`3~(OD>Q2c^m{oz+r+bXw`MJ``oR*HtMn(fza~tCaS{G zKaGa+JZ_TUE5^Z`vtZR?12HPj-${ z@fFr6U2dCo;c}^QH~07x$e0Jm%BzJ}97bXbt>Lx7Ihyt#@lJ)3cbDo)?z&oU7E14L zWKLHICQD}=!LUC5M;nL63r+}zmcF{xLfnR|VCYFE2ar$CbbBl+7*S-V^dn-{-Z6;{87+jK82#3GO5{U#PEv`Y$C`?H0_Hm|6(?Ne?2B8m%+a+w3lD!)UE z1}cyhuzOU20|1OJ*$Zlbczd(W%~f&Rh|5dgr)O_MnS=*d^g7yrcS#{r(k;gCV}+ml z_U`U#*aIca2TOxWw1qf(V&~%Gx+uUNUesosfD)b?$BnxwZzqJov!#bD60iL2Nn~aS z;P7=euJ|^*u~H;Q7L%u=Yw>^L zI)~|h`Ce#=eemamO8Cm|cw5DrnW5sVUn}|)66)y&hjT8kp5)BRwX+3YkWT*F>X|Vz z09?scq@n_88RB>bAj z&#v`YKu>4hgCZ9>L~Hg@R%y{m3pw)JUYgI z&@sXeg`sKHDilU#`XBre)6pRVk9TK(Qq$5W3EBsHx%OYzZ9fLIuLa2+sM)^|P&+gF zuK%!k=-xXKU(lb-sFli~9JYN)%nNneEV>KcnACivdoi&4*4BaCx;P$#grnh3@rfgU zW}TfULrh`5x>x)Z|2@{Gas#uCeHrF4FLvlubgY$zkF?Ll3fv#t+_Mjsc@=Wdv~rfe zF*Mzrn$8qzuELiN?X7*TtF~0vNvT$Iq3ANJ0!lR;}DmybrB*e7hb_{jU|0 z82`1PNPwYSEn9f!eAZ%_+jG39q~u{59qr12p!4c`+PKPo-E0`O*ILc6w9^g^qA}XE zRqjMaU?5Xd@H381z>?<*=%Wv|=Vi`=6NV*lzv6{-Cg(Ty#)*(V&wHOVE3bbj6`bd{ z()zd}Is`YqteJ!SKz@#Zw8+Td5asGHnrej%Bo2DGxt>M*d`4#-FqU6z%L)5Iq&jE; z_z6}n;{Q1Pz)ZJzlwEV!%53mF=w7(Wm0ui_{=ReYQbSqmI*}%1EN9>-;HOkmCFgAm z&Q9-UyXx)K5_-d>(UCSfb0(pcvCqkCS+=DzMM74mxd1FNAhI+EFJ9gC$4-mr z(f$HG5k;Lp(6Lm$DWlx_`)q0!jlB4-Q3fU9!#q~ON1sl@P{W!e*kU&*W$c%hoL$ z3IFtTnt^1}ZEmvX+LUP&9;M!c*s*#~cZZMUjyqY~KZkFAstQ%ge>&>s<|Wmth9d9q zw$+Y}@wa;{-$UBCd}^K3BM%P{P<)p2EzeQdD@eF)vAH8Wwq)SNi}UKl$+;h%wDivV zt1V~V#r(+p<5q-X=Pw}eqvK@O&)TQzz80~1U*j^d)Uz7%2-tCzHH8+rZXyZPdMEF7 zd?0u8ZdmS&hktUx)sIwb3Kr0wzR}WeGWRK*eDtuf$5tpfwlzi8`(hRH-O2WR+6W%# zIXqw%Mjw1~CtGc^;Rx5!Q&7!X6V$C#EEz3mG^ICz@Dp{TUHC=Qf~Bl8(w$WZDK8Pk zu!24M`NN&gG|+Q%|2%3xAN?&>8&dwq)9;9o=^1`_|ChcFtC3nEpky4~WR)D~#TlUH0x>i3qT7q;GX(HHYw7R=59>gj-=&#XR)hlcb6ppUrn;K?JAs7n z?3(2UH@MP=U=5rTzy{UjZf zt{ooUt9KV^F+cz#hY1lq)AP5)n2-mPTFnm2`0&N{HNdR zc9%USCJwFTns7MYuAic!=?&F^j-)irCvipoFOp`BTzWWOhJLgM-EOsK@*kpM25L6- z(RS?-=pY2l8gu3#58&v4U`Qv=D%Rj;w?82RQIp;ikWh?n9J31403j=HvA0^%nv;Wa z5`iugpVxZ!8K%h^<{FpdzH-DCc^zrO?&#wVo)98VAETg@F^W1fn_EL=C)R`>vi0cp zXG!4$paJif1souRD3EI)(1^KcaO?PiY{J^yq+9K0=}kJvUB^U>-Cv#{c7-8JoDi@Cp!CMlYX@yJk_#Kvy)}*G&2M0BniQb5JZTK| z#>?ArGhPpYyrf6&mJP@A~PEnP(3CBq4-v@M4M7Pko_ze}X~vzx9W7p*98q z@L(0^v-xh{@K4P<+uXK2Xa2$WV&qan?xvYr8)tiZh=UNmiV=Y=UiRE4le6@@WFZZc66dmGhx?W|NWxe&4LQ(dHHt_JEm zIeSg?d2>sy%BK|gpH26iI-KZDWMXQ0?~+Nrgg(wc#rkbIoyXwnL_>ADLy5+OAzeN@ zdW=`46Vl$lut_7bjfG`&-DxC=itW-%A-e?4<9$_X`ps{mJLHwWxGqX!p_!pt&6+Rl zo>~k0Z%8iiu0;D0Dribb)Rf0ON==Py#HxrS4`vPE)jZRjgAfDD#LJBAJTw<#RE}XP zhCWHAX+zI@!&G3i(n9zt=zN=7plTGzomCzGxx90Tfv!O(n9K6?w^bC;=uygKs?NUF zEurmflnx#O*cfiKISDHBvL_E*Y5v+OJW4~6x`dXAzo<@*N&e<>@pQUUcLwltw_TYJsYyf7hhOyMY&a$rFtO(#__pE=_jmMbM1AB@KHvJofj&_0j2mZX1XU06#F!y{H7@tc1YE9n5jkG7{WyRKfx zf&5NwHkI|&UW`Zs<=TQkR5u?cr`sr9p6&^ureZPSyE+~rkfOev-e>}u+X6TKLKu8WLDK_{uAy#sv{bMoZjjr7QS9=Em@yuaZa1oXt#;9UTadK|TC)o-k)b zP!i<&@Vkh~K4a8{?TA~9alJcJ@o0Xx;M3%jKA-oAnv3vrU}zfedamqpa?y3l`_|$7 zX2P+m<{s0*hB@YA{Fy{7en_!}To)E5T+i_Re3o`N0&gBWCSc4wBwHqa?O{pL?vTHW z{rdn@A^T)e1&i(o9#>Tiq0MMs^IcO!EYS8cbj4etDf7cyUpM6N{yfJI zf{nvw&NXZyuMvVT%4sZ7iUNP=rTeO9cAF+Z4Bc<)^vTOHDVMh67K3#1MCdeS9e0nPQT;K@izht8J1?Ws)`5IHC39I(Z5#DnHR{?p*W~AWEdOS=Z?+v&wi(|9oi_yKngF zuf+{f-|U)=i%&6iZsFwTIb77Fx!W3*S3X-NeIQKmg=yYp*LtrCn@VQVh@W)eh4l6~ z9G);zgdJq@9Uqgw{D6{w@D=@9P6AL>hUl6c1D z%4>ZHNWaE^T1C9|sfWJWQxqsIrEyEiTGx@ApUFgn$3}Zq@D#JWIy;s^=R}#sU1fA? zM*sQA68l|D44$p%G#_~TMQoSMaT#1_{KR^%leT?S)?rwSpZ*qDi-m|pucb4#)rqIr zRf<2oDz%e~VYu98Vs%*08T={~6|Io)(UQ_Woje$e)33jcrW96~d0wJij_;&*HJuF( zs|kkRb{-wQj0`%$js93!7)SK|9v53K1+CWT3si#fOhqJOF@9^M+04OE!tVCt!eDU& z*Et4K_=9QxHuaTxF(O3HvD{mV_7tL>AXRBo@6jVeQ(kXh*>eIZnnKjtkxH?TIBw0P z?fwmX!n`3&6D@}?N1YNQ$yPRlKt64|`;BshwcgP;PIOViTDQ$0YeeLW%gdOT3LDeV ziqb+mT2qD{hc^FPeVM`Or!PxUUL_WozORL9Y*qV{7lU#G2wo^gT)~jb=p%?65{ZA- zn!dfSr7%0wLbCaYnvy`z(2d_2@uAj4@F$ayx=s>ab{vCU3I9EbAetL}^hG^eU&F5P zf=}3YzTd+`d-{`;C46XOd*rnJ8ZlUlmnC}#W!s(Xk!zmb6}P!eM~ic_KhP?X-`_NU zdqID&v$Avh<@Q-xQ%A+=YQ78oAX0SNIQhjrkliu&$m~+77BXAxo!EA;JFvvdD3H?QZhG#gTD~?e zQXj_FhAjTIHl5YnC!EI|*K@@5VI&`ezij)1`b&fj%Rewr`+az|`u2P^#Sgxj;2;uh z?dD?Yj3oy)ik&}IJbSzTay&Pt;+)j@s;XHF>8v;wi^&iN&aNLR{LKCPs)tmZRB=lI+twF%r<||6v{IQ0c=aT8#TV*fH(` z-)He<*-5R9wEljCjl98Nx$+TC_udROEVMncqxt0;@}UwpKVkng3O&! z%M~0y{ksyduQp<{tf%1Ib{X~dr=D;OO4$rG?#ouoo>~ekE`2@Mk`*OSp1#+TKlMIH zFLbOQymub^d|7G{AukMK4_bJ;lfQreF2#_}{v>Ize7Ci&JiBFEHZ5W0!@!q5yFOdu zN&LPV3Wuo|@h2`PWteUatI>mT>$h?b8!E$xxZPJVKUR~M(^8q+0<%v2Vr5KH@iA79coJ-SVBnST(Atm3ef~lC2eeh$(uHEzY9dzN74z z5nkHg3PZzdF}U!)OojnMCP|Z+nS}^zAMpS|-@l^ViMvs#^i!60ccRVj?}%F+iYkt( z=t?ABT15Y>DmV>)=)%trP*qih4ZPUs4I~wd)@pM)WNpS7i-sXL{Vla4zR{V{>XiB} zpDE724bmf3t#@ZLY1Si3#&{d41l`rS7a738f@(yEw-MRTQAo&R#Q|->GOyM1_E>@< z-uLOGd301#PHw7DDtUf(cD2L(s*we2iJ6COCLIC*qzvT1xS&A>W1j4<&vK!SEjWwT@U0Vg2k3D#u^0su*Aq?x#`cpB zi<)dlur z;Ne*@RTS+wU4GB^|5&ic6^jzdJ094r`;1`ZfsSEnXc1nZpCDqqY-bOP3?)>VB+<_l z*k8DOy`{g^@u^RrZt}Si8J%!{%L&h9ScC*kO5^vmljn!5++F{D0~A0c@xcC;jB9cr zl?4wrNP`+JnTCaoO;;cp{yS#Wl%(;M`;?Vek)9R(WYIJuF`N(`#s^mE-X8~61g7}o zc?sd@JYqEPbXiA)luLRZSQX;wvb4?IPZd3klIEJ$#TB3jDb@5H6?KThUA zlqCKrrh6ho43Ph9yrmf2)rrl9`Q6`NgIYn4BmF&lqhUN`H@djACq#NIH6ulO2t*0i zR-Pz@8yaGK$}J>YiN9#yEK_($G_!e-A}x)Iz7=1L1h^BbQCgJI9#)j9A11^K?=e|p z{@xk&_j>S?ax+vTS+hXVJDSN4HORd?=Cbr|mV}pwQiuYjv1ry^-xfJ0P4rT7lcLhI zZg-sI##L-TBSFbyNU95;PSx6tX+xGs1eA{IM5RnV-ulhzgPN&;s~;;3x3q=xFbVT zc1;{j#UWR|*UM#0rQS@~G#8MqITx zHHy$GmcgfSCXZP%A|_7k*9wxLg(pJmAxXiCLPmY`8{M-{4U(qCEJapnAi*1rnoe;_ ztr5thoVJG6$|$8(JV175gsY`m&~tZ;H2d`gE(Lih5h3ymr&^uWpJWutWBr&0`oVbP ztvrrMWq2WEbRSxbOQbzNCi|oPr3o*&-hG4@HT;E@7r=uoZ_kH1RF0?9*HIGu1qt(0 z9K!yll@J-`v>Q)`AdNhfp1`okCs;YZdSjv7l!@)SRP@BWT;DGzp0(LD@p)8I(^k#D z#S!YrCZ3X5R!CF;f#ywnbIDrq0%+LD0dt&OvpFi|Re1@8#IznWB(^BnoHAQ|igbE3 zMDm`E%NFFlPx>i3Bxn+|BHpLB{oDQyh}br*Qn8C(AD`^^kTS-0Yrn#Z5z~NOS%7`o zIL3$&$L^gPwK*T%9!!%OUAvI-pn2+)K~YIaQ>S3;42Jeg1H-)NnVPg^I5&g5mLHv zn}>(WT$pQ$Ki~f<&uqz-nT~AAc+M08IitL`R2XAPU*odmrfB1!h6~AC8B+asB#%eX z3H_cgm!wZ5P5E#oorw8~>TfO}X4XQPUxaxdcKV$FKw|P_71F&(WNcWPVb~aRIM6Nw zsr5NrDO1Wo*Z?V5dKHhGgUzVmDSG^RLBZ)r#UNb653vOte`JI3em!OZb$<4uA7NNd z5Gxr42WGx1QF(&;M_A}EngYeRPRiVSVoOLu6ik?E)jz~Br9Y;le5GNn!Bv(w2hoB} zToTKJCKLAWz9&jNBa%R+^5G4Tqsp7QU$`wTt)2~EVq}1;)MFHjiNO17$x50IO%e%v zmVNfS#bg0momQ$OYL2S7ku>aNL13BAa|ssHSMQIK8+fqqlpQH#=*Cpct^t~Gk&&J0 zEI2bHrSb&4&eubO&X!<_JuBGU_mawZK&*t3^q^tX!!u+vhq(SW5)#0e#u+_^S;)Z3 zEK6k^ayzYD3P;h{CDqXPGe{$M){GIk7dBY3nq;=8NIwUb7!KTqVC{u26s=Z#?`KHn z7k#`&=Omtpa3Bp!MUEaUikd@}_yu=$o@huK3_Zv{^|e!UN?yzoi>ve3SI1J>ts6QX zsxV3Pk<-Ufr>=@lEM^32o}xQtL{SgGFsXEI8cRc@3nrSg066eaLb)?6o$_F~&|T2l z+1V*0Ej^jR85p^))8OF#vZho%0~stt33UJ*$YKb6kiOp8j(mjK{eFl9Py=Sp8bGFO z`CPy^)B9v0*c#`ie6{Ns9;UKdgaP#smI*nUB+Q+zpB8&NEOZjGTkiTh8I|0yrh7X( zMnz;4d!xEE?cI@dUKNOA?wI9JqX@fAH=Nzg;S!Q?P6z85HmAyxtoy!d48 zb!zte14Q>_4Lh4&Kpi{9!k&~Q0(6VYe_?lvDEuU>Q#6h^K5`@K-MErDd!9+Na3SY^ zfu@h*m;GiyCSL}ZAqxdKvIRom{m6?D1U=S^*LNyo$&9g+0oBhcG>LVR3U6H*qdkm~ zB#ay%X7jH|}L^}JJ z5tGq1O7Jlj-j~qqR%c@)Nq?<(P4&%IgsYd+2}5{_El)5!lPlYrmrOqpZym4yPc4Aj z(>PBpJ+q0#FZik6tgNiS7hy_SoDLs}ormPuwPjQGCE0K_PDN)98juGl!x&YE1%6Kd ztP%f~NPQHTS9P!+J1N2<9(%hg5$3XQd9I80J%}c%i|@W~Y*vVR^0UVtU8f?l6<21& zG<-1R0n(4OfF%7#%MG1r;6(`szLDMa*j2FCq9wFj&<%zX=(|)2w=F$g`=>MjGS}eJS(01 zNY4OY<*59Y&b)V={4gB+6GMqs@AjP3qr7~8EiEr6lI@5j9Pwi3wtjqEbSgyw0M|YF zoWw8TWjO+qILDKex+B(tPVwpl*y@zYqq>?3vOK)CGKKmAB}j^bay{FeO2qmTtCHem zKXm?Jt4QWe`^k%coSL60QF}U*vPi_U<9aclvIc-CA!Lp|0#eK^n#fR1rZ4i%hlDLU z`HE)B2_2U$%%~P1*;g|pbUuLi?3SPyduNc}LCHLZb9m8m#)%8M zS&6q(tXYH5+48v_3f!V_2*6URdZ9$~uN$3U{%-+lpJ#uDaFg>=cb{&{T&V`Lhhpx6 zynu-hj1#4Pph|Orl-WfQou6;$=60XO>sh7MdRc_0pdwFf+Unju4KeKXMx7N|e7A=! zPP-}=z2m4xJFhh6lCVlYf7wadvQ(!=%hj5hDkVv#vHE)=2??N`f)SK)ux;v~eutrQ zN`gjm#<}ERmC5rb9UYr*;PAnrnYfu6hP+x{qD=-alXoU+O25{MSIpx|Q1KTPPgsE( z!gH@qlM_?wst$8NRe^}m=ACO16p+eKVN{TF!_pdxx?1$apv%`AKec(j)-f0)64bR& z60ZJ==6Ty6ghJ8X<*iwrQ0ni$@~e~#Ju%ubHAO?g_#99{7cgX!00i#`p#B5X+Q z9O_J)zFr*6S@awrp#wm81U^r|il$z$G(1ujZ@MgboVYSqytSbrRglJ4J!y&}#UoZp ztU)6^i^R6ZULZ4y`A``>TqJL1$q6aUBNRSSMDW-7P^$c)^lFH?8*}xK5jecbzSJ0{ z+Cwq`kVzDZs%^F60vj;dvq2?9?8ks|Aws}lQvoCpo5E2a7hEd68p|3kV$5Xz%R)w@ zp{7f+s6VA8SIsITigof825}XIMKUq%n=UR5p((S#+TZrj=z6;+u{=D;{4a+ECdbl% zD0^{Jsc;#lq+ZPuNCj!q*NSwi%~mhOl_@3*nlzMiz97AeOVM&U(q(U2CC{qs$X%#E zvULR!4SnrLbT7s}CN$)9*ktDZ-i4d4&x5gpgM+>OmzW_azqB;GQsu`Y^)GiD^B9x* zakXb7Wd7O?uO2&)3lwE!K64)pF$*@Rq<2EVhHdsi3+-B`> zhr?viB5|dpio=6Q-mj{;MndOQ&Ax@tAE1Lp9yR3~5`X+y9ebyvozD?`8hu-RXX6yZ zwTb%6<3vTH?J2?TO&(F0r(Z@PR4VH@f#Q_!xYcWNK2YjEi4Ps7Hr-`=tk0DQNR&)- z-IIM~Dri{!0=EH~UpZ>(NG^s*S-Ti4l$`o^P_P4Y?+JtEq zB}gFYu28G^F{?--;}FQ0RhDu8f|6h2KrPnC5iChWR|tF;D*6c>gJW{H_KR>!SBRP| zp1OZnP45y9L^B^pdKU?doqZKBvr)G@9_pXva*gnh-UAWS1nWR*or{p{#xct5V^BGG(&b%}bA3 zf8qo=*7GZ5(T#hBUM^P0eF;Ia=Fc?VI~RxB%i>`;R(* zNR16@A;GYw9%pG~#dUp&|9&G-z21a%{YPqQtIb*)MW_m_ul2ot?OnRd4wL)kj#9C# zimGb0!btR<#W}~FnP|0? z3FV|!EyBZ6(;f$lsY#XDWfm*zY5RUn_D*ow+`3cw6YhNF3cBOfS4DF<1mohsK>aa^ zLpU`x4D#JZTi-EjLPTHu(F({ zZ`2?{GqG@Z>C6Q%S_%HI;4Q2vU_?*PcDkq?pvWp;fIj&rWR%7epc|F5R~D6svvlE#P12qn%Rxh*7NT_;CN{?hPOy_G zJ!ld1i9_*elrAiMdLsQ#QDgzVMu_1z)rl(4odJBV4p)K1GM>%9a*1V^_AdeazHdW2 z$M-DLFz$rHCRWP|OLUp1*{auin~#}6UAI_>HcD+0lH=@x<-X%x45BB||AfwhRy4T& z&v~IbGh?IX4sUWu7EfI)V>K@^i1;3MTB0qo7l(vym-A=MA6Hv!BVEO#n+ROC=2k94 zsqFrzxmLqretz%o=FGv#$&26IU)prN;^&(K6hniyTNl)ocLp$=&@e9TE%!$@-8w$hFTT;UU zep#KxkG^}N$9I&9wn!Itd?{|N?~;FaHxoZjb;lGH;Ns&~XR)_-e+QZwt4loGSjg%2 zco zYC2rJ?BE0UPoWI1gs=POt(M3u+V@Rw@Tqm1cZSK#SI-@fqI9WPI9;_R6?vO}J!m@b zrgX9zwtO*}_RK7;7gIjdbS5RfWyh9Ux(*hbVvXbOJF<{ZEDneLTBusX)z#23x3zAy znI4ZQ3x$_ZB~Og-5!5CAgASb+zj5^-l@zqRv=k>^(9=Wh(b@GKb9`pTVS5l+D%qz@ zo@&`0Hs)JxZ$GosN{AjPtMxH|Ho6#6JvZR08;%2BOz9&&CJYfs z(t64BjhO0fLq&|z7@&}U<5iUSjFoJ&5OdG4Hrbx$jtVF;*HxRsTUV$70tYv5FE`Z< zwEE_)&ystc%&Io-t#?8v-vxLO`7AruA~*@1n^5^PoZoylJKTwU?>EJ&)$CC5Sj_%( z@oO&QW3n()QnG}WE;$5AZyr+>Vn@{va)0Phn#Lw3MHf4)z7n2y-)X1 zol~6BS~{stFO$vRi!|#eAoPAr_56v>=JzhljCn^&n%~yewoi~#Hr;T-v+=uoYUc1& z*CxC(iCo#T;WHlrL(PCf{ik)s$jFMK`!As$Kco+XD#|Wr-QBmafSOm1Sk{hL6~#0D zu6KT;N~J&eqw$(Jo+*`6Q^o#@GUIQVOH+)8Vz>SdBMQ1 z4b83XZD!}cm{L+>U>21BHLTO)ri=tWSSbAaO1J&?;AUTFds~|YOWH(wvl+|ZDZVFK zetunIJ07?5jf3fYX&IS?%BQoJr#lI<8Om(0t-ZZbllol;cSXe+f2eohZnAEoWTE~-D3Q;>0ac6Jg`%FGUu&zoi_7hT z?%O+nhnJWC)h#PHc%ad8Au>t=FUsR;k1izr1VjKYFR$_OaT*$$=#RV}e`gPGovV@% zDi)5awcER#4i(YE3l@$-kv-3P{7p<8-yz}DSS=OfvsvlY(^1N#wYb@vZFd?DMuKqC zZ<<|suyB?M=6yUpJ(2oO*V^yK7`h`wZj=~b9y_n*RCOzL2+`1){!C7SN$E@QyRwRk zhT6lAcy0aD3i4`dZb$Q#ck5R=HG2LeBQ^ScMY5Rz+bxQv(%>x~7H8v|dYmlJDddYf zXYH|Rp()c0oO{j`NFaBuiG#j6Y~P-=SkLok>RXUBjGvamVa!u>^ON$xkBF?>HT>5T z^FN)v{ySgo&qmr)J>Q-utopjW=!-9ODx(2_DddzVtQqpR;AsU~pp?&Qxi@jXOEa1J zY&Sc@3YKou=a1Q}Sq2mI>oreHL9~AaFZ;(}vVCoX^jSQQ_V+KR#d?7n!=dQFcc@_E zoz2SC$q5Nr`}wH4-FCf$(`xb86u)k*)8Wj_45e*DKtO=c+sj=PK08=A!i1YYZML_! z2M-TVDjJ!=?K(M{s4JVnp+BB-=lghQN=i!FnYGwtoi6gJv9=Z-QIjHBHIvW#akVwU zabFP@8Lt7H4Q7*ZuO=&cdU_#!pZF-YzJQXw49}-;3l^4b>fCs^3+=6GYD;%14RtK$ zcYQyR%7T$?kBdbb^Jpk&KyC~X8$vgtq548PS_Sy{!R3AAg7gCFK_& z4-sJOnaP{Z0p5I1PtVo<6h4a2-J0tk-?x{Nl9G3*qgGaJ^-D>a3LEXNXNsk>#$!on zK{nfiGE+W~i`~Ayfg4@!%zdDtc;1~N!RG4|Ljcjy0jsM#fF9FCeEif}dvft_G%&fU z*6A@vnN4eDr^Cd=^mveu>ig>Msh|+|UCOrawx(uxZmtZ>LW5E?xNg)+D||J_OzQbx zoDL^5+rjw&p%b~uLfWUxZoR|Z#KZ)Zi0?S^$bLNK3vBWa;ZPL0G?uu&P3d$t>$COF z>f;c<=YL_IAZoOfRC@_dXQ6fFs>d8lC#dck|d7#C}d_UgiXDuddp`VF6u~l$6x=7D_@wm{=6v z+`S*-2YN8e+FDd3N`?;NIK;+uz8EKGtLxc%oMfR;E+aSh(C8=v02i>>MR3ZnZ(E1!3^v;U~B-ZcdJ- zIY^>JSL%$*m1#g_GMQc*7O=IoEmVA1vF-jou=Vn^Jvx@n(Ye7r^$=*+GM4S#Be0=%`zex1;$I{3^ur+zV3dk!e<|&umd+`CZTKD1c z@$vdSNy*8Gz{to*czF0H1qE~SLn7aP4GoRusqSGoM@)sEC$c`5=z z7|^%~xeY|}@<6AGk2I6h3L-v;l}1dd@>C$U+r{IJ7%>TF9~Mx6>x}8%j^FG4*Tza_ zR@N*^zi{GTQ{+qq~RxC4VzU8i(E8Mhi5OhSTA?gmV>`E}#itK!k*k7u$$wRBqb#q0%H;EbgA2@tcf45uk($2|V7OaC<+paC38WW!m8Qv&gD}v!lrC{O5Fit*xY_rK#z*b~n3W z56s*D0ty` z_T2n@#6V#PowKv^-RYX66Q+2fB4|fZqMB-I!@CZS4h|4K%gbCG_oSw#rWEn!Mn=#8 z1w})#r^4y)&Z_or<#cqF{O$^I!)t46=bBWQpmJ}u{%i_k|*r-?}}BTtUth=9?;HSRRV%aGI_0cZGZ7`-LV()k}hk!&;4H&`N@< z=i`vhdWupOC7TV`HRZKO;0CPU&v(1lsv|_SPgS^;89!WD3LnsX&lfba*A^KLz7O($ zEVaOEs`%sR_L9{{x0~fa`gvCr+rqVf#ZUGVh7a~v*Aod>v<)Iz7Q$c6WFB&0P3F9l zUyOPAA9H0@)#hC?fYIz%4j2YEnkzY(m=tMLX0h95b#`iNj-G=VHrV__ytasrG1unM zl#8d-oAdY5FOR*goij%_UB`vg-4a#LH`Ofj`C>6h{6BvDz(?g-w7N~!t%{71Q)@o$ zmMnDml_Qw#+qLyz;uXC+Hadz;ueAd{sq}Z*6vWHGcim4Qq&r*rL-d^6knr>WsVN*O z4|#jN>yD?C1LLAXG&D;jsKAa6Eio~%#Inb;?wGryJCK3O(j3C8fA;l# zrZHM;bAEcc`x6**`6@+!5}$ppd#l_AxhF*nC}Y;R0)UzCyuo0)h=TwnO4M?!7xiNTC&xM7 z>+S^s5=|K)2RFB|>AqIC&)Ru!YG&q%k}zUsw8$sc^qQQUp82GwV;3Rv>hb5|^8?YP ziFlLfo9y_qvF|ud-Wmj<2eX4X4`0Oylai8$rNTR1wcHC?;mb7x!>etJ$>XoLK+3s#r!{5&0{`kXVW1nehy}p&2nyfFi zIj47az7$AcAmf9!4+AOY>Usx47%2Oo;{5t^juIqU$i=}y!0Dh&Lswl{X??6R<52y% zP@am7jV_7B^GVm7bm{M?-L@nS6-+gh|kYgkTMoy%S3;~q^8t*ppr0;M^RH)Q?q5t z{%K`4=?#cYHt&Cj`cV(Zh%E{ypBFyjQqMBzOO@C^sc{h`~zW;Ef(j%8Ta!W0SyDR6fh+G zWzmTIN(cLRedq`V$5r(iN}+)!lkdamMH0UVD=buUJ)IRCyTPQ0M^^rg{MCcw@1|X< zVo5vnq~^<#Th-LGmsMhPMHF?%*Wng;IzP6_|6O8D8gB^UmJQ0Z%;Z-e3s*z9vCed z7kc&hL6nxt{fxm8BwTPs85ozW{ziRS&C8){i|y>5%lNu-DqQ3U8(B`y!fFijqdXK( z(VT`TEZ)^oY@G7vlQ=F03w10?{~%n0=CJY4b5AKkRJw!S_62|;17!{>CR zH{R&+A4~FXGZ@$hquPOif#Bdgkd1=jD=f@})%nbNi@l+^_;AXXGcalarH(sr{^pp) z#B4R{j7CuTMLu9-XYqOe1u@RLq&+=-B?uma3RBYFUP4(}*|7KndieEe``1oJC;*;sO_-V9y`8PE?;ArG+#7q{$1b}~kWSW} zFD+76|FG?j>TqYyr_(QP7x(9m1+Rgd^X73cy|MD+;r90SKD)>6C_}pj76F0V6s)Ed zky#cVLhn=v+MgEl^qr<}o``OLiOAC# z3M7BGD@L!fuqqo7PzbmJm&t0SCVQj{BK^t zQ8KQ5RV^(o67dvoHw(F@Qzq8d+M1f|zCObt$oQs{8PiGRasR(3$Db`%Te9mOc1CGb z1{Ax`yw@O8oyvjgVE;gDiZzMF#On!1bQC-myTzJZhSc`#>^~rU#t`xAXlUSlaLp+Y z;jx%4`KEN})Ykp_2oXn7& zon2FN3~QAPR0Cbt(Ms3F6pSq z$iIJeINrNyYg@<1=j;jpuO!(9dMj!R)Igr@&e)&3eBWNzJG)uOxw@&qr~(&~0cYca zV03geHu(P;N4NZgUVC%%4_KBL_@kh_R9IMevV8MBDhe6YUr$%3vUrdF{sm`U4L|+# zcacnEeLb%y8yYLZznbIsgfN%jqJ1^CuskwguufyWzPkRo<7-37azT06YY&gpa4^#u zKlSLNhm(|*<+C@A3k(kr*EF5dCnhylBe}b~uQXXBA|Yk)a;woKii(MSA20yGiU522 zCwvs{f7+H>>*ZK9!ncTj>4SbvNDYj4p#0C$PJ!Zw79N!9!hCl^c#bl~y}2x>PQLKQ z&3jt@@>{e;#=W`N_jor7W`r>wAm&>!9Ek|b-M#%l%VM4dlh5W7KjHeQ^J zzk3=CnPNA<+zK4@R-*quxM6j2)vlB+ZoMNmw0u}YqgSFm$UvG7p6$SZ&MmF1JSov~ zIaxNhveMGf01MH+89Dwx`I&XmYY(C7h3rm@AKGIIFI8v&zmvmZpL{g=W_z0 zF{Hk_=hS!yF0;{muu2pHIW)MwD%Md`Gs66>cDQ@-XM5(y53U01s?Z$aD8OP zjcf~@$m&#QQ)_+L()8=VXV1QWtq$$FdLuY7rrKw34l#USNikkPre$2wAJ5dKUZXa z;M%!!$#Z>iaAW$x_tBA&&dduSnel(}iu0 z$Z%_YqN)Dpv0T)OkC|rg;l!rmDg{doqiit=-tF$mfF(hQcyWQzYI?K ziK;ShLiM|Mei~`^gXJl&UhN<@9Ul{i`-@vf>SJWB8m|%}rNSKGn}c~8U*hM~fxU(H ztRc5)Uj9jmkb7D1U6d{C>C>l^y{@-{4&AtZ-9j|Rwm@p%K9#Hv8lEXTQ&UIWQ*eno zy1Jxqaq|1s*#_}IL2Z?J_|(D;KZEfpovVq4wCLdBjYmXQ;muBO?`3TKLYyieK&06c7+7GAMT*$%Zc(wR%&+ z&idgQTiZ6!)6xL#`2kDZvRrb1OkM;As;E*P6A;LJ*B@B-T~#G3B0Rj^_BybR$&Y$o zq<#X#Rd<<3Q<3us!Mpczd3?N=va)hMvuB5{i)Z-g6qki1@)3iuBgmP?tcp0+}36-Rig(9M|G*q~dt<|fBA_@Yjq zdJi1c_~{d=?^Y(hKY#x86-9yc6)7t}Dkry&XOflB@Qcc(nL21NlvSAfn3M7_+4}m* zAK{8se-4hB*SqeXm~$`7$(b(qTA6eAIvreHQ{GI1AC&*N0joLEgu&X1F0UtCt13t0t$!5RDgNF}0v?&q`bd=xQo;%kH6syhuAd2sd zi=!h6!QCXc_wstSVa2!a-!JOxbE?nyEHp}IXN<26@87%E)TWY#;h{fGh^Vrr76TWv zvZAt$;dy~#qAEM0+96j~%|1^yj=)>=DW=qLn=L+aFuO9meEQr& zy-XF40pay82_921ivymGMNK#9qU*9=ylCs}KiLWXL<85!SNpVUtzrXFU% zYhAgf9T?BSv%WB@<>czx^u^lFZgTYUQQ~cP_c5W#?gs)FNC?zYX=j6_B?Uu5L&=C= zZlxrtO*E?4krWga-_4C#3JD1TlaLX$pFU+7t=;fEB;J$#{5jy3?zwXULP8Y8+?>lc zXY$RT-#%3zxQ&&Aot=VW(%RZOGCDf??%mYZF@lhl?U%5hMdf!Z<%%Fn$(0KZuC9d% z3E2v~2M!+8(u|CL_;7u)aM1S36~rJl>&LX5M}cE4EG@a^xPWBnh_}Nt2r0bS9Ub$Ml1xF6`T5CVkb$=L>C;R{inz1=lkJXN|JepyOF@1$Cp()GYQ@|>^7+gg{Fp!Upj!NE`cm(k#zCU@gmkiqg z#7R_aEI-#d(>y&Ct(BF>O_h>Bd$Vk7 zJcBs{{9Bbd;xy` z}yanmrd=&nUSTgUb&(~QFy>bDqbUvN8VfT*pil++3rh}go3?&&eNy& zt<{ZRSpQsJXnGhD$lqxTo$t(5AT|*MO#1UYMJEBx-ScG^3+Kcj#qOP>?G4%&t8QwZW~et-rs# ztMc`oq@k>;sac7iq3~b4q5Xb%CReX-L*Tj`?miP!igt$d4RZVqwsL~ZO{ZIPkWBaO z-Fs^}?$onnrry6B zt`93~G~*{k>wrt|w+abhl^kaK^1VQdZNGrPmD$T=yYHSzX-SaZNGUCSteOJn%=d5K zc2kKOP;61yyFFNZV(9l$QqmUh<*~Gb=d7{k$H&H!hPH3tURLI_#5Dt*cA~$;etN(Q z8ZtHQuBem9n^M<*)<8g4Q&j~WcKbs_XlO4uF+X2<_qp_ds;?EDX$y=VXW?Dx|=JcGgXK9F#>(b8Ug z`F^O$)vqhjo=lKsn=~ou(iTOAy~4uN@k-r4f7&W3DGiyY=j1e*oL?*BLKeiMhh}Z0 zqqDEAneZJL;69j9Q9t~;py1=D@`6;v34%Bpx3&>t{oug^5(K9?DJiL2U$s?LgQ|w8 zqVJB5j#7Q!6xEA);gtSUMy;O4>a{ZIns3({g=NaACuGrgU zAPAb953A~>?OR@ny?4)P^$$Hgw~UCG7*kMPUES%^6>IxCnl)MDi^j&yxA}yrZH=f= z65`zzxgof`yc~CQsWJA5^Ut;n2!*c-jUOi_(i3`lmHYVloocu6@7jgAM#r+V1yInE zlD>w&$YXK)hS3ymtt3}tb+yIU_aV4tmA`J^rp8IYc^DfPhmw?(xE*@h#pTuDoh4~0 zC~OY}FD9p?4C4`*Jc(GAXlsu@Z?KwndO9e`efQlrmp^VNBMZ1bE^~0lsgox+>!kR{ zTm=RDKU)WF26l_@Y&1W9whJ6TwxWToket$#V^nrY-(xr7TlYOR%}P>AD)~b2`X@KlRfg|PgP?Ka8lf*AF4Yz+TwZEcf3f_;emczOSRH6|t|XJ_X>)~i;2^0ygk zA1Rz}G4XBPzKi^Eo5O`OiPzRqnf3K`Ub}W>2Q%{{^^V%2H^s%^Z9Ce|*VTrJi9g*c zPfJE%HI*h zkIFyHQiSmHG<7I4xOnj*Bre=6RAO^;(W75a&{%e@S%`^>o_#D?WZ3}bd<6GO)?Qhrv@^AjOqzm>~Tb}>=_3PuuSFJ`YE{hgr zWu4(=xD_0X2*e}hA_B_+sw#DwZNww-lZ)N?;-+8mR627uzJ7hlrO3b%+TPo%Z)gaF zZD(Oo;687AG%h|S=H~ZL4^VwDgeWIPRJKIo!%a z#iA#u>*%=kr9;vzT!otp}{&)C1s!CR>WfJ1D=*Mb{B7c9>}TQh82>K2mC z9=N*YU3z9_m9DRX94%;H9i1>ZIZNMPZXc^lU9!}Xy}8OqQm}uiaejH=ih!2T)YbB$ z^mU!D<6R`{MUIk>!^0cwE7pPeZ|Bnwq0<$ko@EIt=YzzV0^m z`5AJ+&6`W`IGE?JAZl)B+7K;4m|b4JrmdR_j10IyLQG9f)jd2G0;B0iS(nk~UPn^D zTtGJPekV?zR5bRB6y`p2hL(8yC2hrds4H*Uxa`w*ZwU`!QnEsGkw?QdK5U+!>aL`q zO1-;Btw!TaK!EG~!a}mPn@Cbp5-sigNTW)XKF985myL6rLP`J#t97xQ1Px1Q)ZM+^ zqtcvL^!8m=esbs3f|0(>Y3G;>bJy?HGt`!H(RE91(r;5@Ihk7-sJ>OC7B$q@>ftM!)&Lpt);h)Qb9zX8;_A!c8*oX#oO8TF{ zjq;s>Z%7C(IxE!p8^wm~cTc>^&DAUKQ!(J`?CNs+q5eJ+BrM>G*OY4DSBW#8lyo7hX$M|ie0IxF$=RF23sZ9*)!;v~DR z5&ipb}NmrIt!ZT$q$g&iR#Wuz1yiSzu5Ifqn{`XzgF$dNwL-{<6B?yCDZXK@C#j{?<;CN#w~*<}sF&)Nl2-ZSVQko=bx< z2M#SI3m$wX!mS8n!^Ur&0TL3DwYA!eb3?fSe}Dgo1Uc!FgrXsNvTaFO@PkP1mYymn zkr}E>JJxS;CmKGu&Fd-0b13uH-$VbcF$&)f@8dh5VRW>CRj2ns{c-Wt*?jX$w<%u- z9de$J-d|RJUN7;m$+YWV8kAQPHzHDN7hh1fHS_15D)+}eN(bI(@y7(V9Nf}xIjtuq z=HOHLd`KHthKC@26POb1_%UKuCV6^N@!q)UQ6I^Pu5Nq@xi3s~R|am&(*uyeOoQRT z3jiTSaNgP2Tz6e8b$`IlIK#vt2MYnSfB_0QPEJl?k@tMei=m^)wXR_CIjW-uL=s*R$up(M8C1qe+%n8=n*<* zW($IdQKzP+c3)q;X=0*jZXN)XAhL++=g`HM-};J1fmgM)xu^R}E@){n-jLno3;(r{ z{+amHcJ5?JuSaa*AsJgGeL163@4C%eoqnG=xU?1bT9z}C}ohD01L)DeNaBd$@|C=Z$Eu1Mk@OBAQQkG(sSSE&$|WRetIAvY*_sG!Grd; zw)^+zp1gQb|JjLU!hLg{tg`yP-p5d@=T|j-^Rer&PIc>&c(h4yYt!ke#8W*DKz!^M zPoA^^XQB6kEnF427yJ3^@1=eF_MJ^krHd|4O{Js^2)QG-p99+(UJ+6PwWtyUIql{A zZm?LR8yp-Q2M-<$IG3V%U)i( zR|mOyOP^`wDW zHa)<-ywaJSv~fXK7h`v58Qzc~7UIN`4u3pgD#Aud8MP%?LR=inm5Tm|xHy(~ivxAw zZW`A0K`=NS9hN30gf!h|?D)Iue6|Qxn^qqnk(l84G}hXHWyrkK%LufcmX_%^K@>f} z^5!cG1QU}v?jsXZ)R!-Y5UlqYGxH>h!0w9pd!GM#<*ls)14h ztu6iI#|VPR$jAU_Kp997067p*O|^kd0S7GxWb~;6lhe`)O{;>CpDMG15kqQyNHz(C z)w;RGZP}|c0de0OUp(I*F}RmTCQ5W%bZ`;R!_`GXI5|5X++o2N zb;QXi?QG%=SJ&Uaf1{u`%ZtSk-xy5QMx(m%#3&C;DLVa7aBOM{EShQ+3S9uve9tAP zvuEk~qHcbDzqL)W1U842=?J^7+=03)<^V&`GjE;Tw@;RVsY>dY(C?X~pS1|+xkx+jf;iZ;J_g^{y4ta#N?B-=rFHvCkeOua#)QqOc2ik3E8dbwoBdz5&*5<#K47%Kb9s`wklMq3k z#k+VoK^K5x(bdrjce)}%_022snpRpN59uo;s1M|%it-UP2kmNQ*A6^tF=*?k`eY$f zGPkN{b#|NoFOwByP>O$)zk+}vCmk~W=mlnHXb8jSDsKF2i%8^C<7m)4dGe&&3BD*e zSq3B+j~(l_sC$gRs1ZmjE_QdBJBFAMA#s(8n!42G;1sa7^GM@by4{^>v#P4ILVCG` z+_gk*Yvix6T@1G(cuzR3&+l-T@&9#GhWpiiKLt7C8`E?NN9{ORLMJCCu3B6FnJoN< zAvrW-mzh+Ql*~7EDxk%=bFX2!M$$q>1D9p>(0lnasj!l#X#{TTyx!GSkLvsy{Kl=~nn}Z~oZc*2!mrGLfz$u^#a8KvY@A$dvCz-be17%8a zK>@Q|!sdQqAc?3MdY55G_3gKshKAgpJ;N|}D(`mubpN3K>#IQXJBt5sokM;1YiSkR zw91H6-P!r~yMSOhqh(4;$_Sn`8t$vmu-lvLPiub;c=JZm#>U35|0EU-PeMNw4U@#< z|H|RDtSYBZUqRp|cqJrU`y|;xIG%ToI`I??yhe;@V8hgzQ|=Bc3wA@Rn<1Yd5JtVd z*RlQ7EnBUz`HXV8)lP76r0@LE4P@$K6;ZYdY4(CS0R<*S)FEZalg12!R= zPEBzWZ+%}}6ogMR7$NG`EqHVx`=10G*wNZL>>w#|?frf}zT~kjTc(p+tj)~K;E}j{ z*GHp+l7a&NNQsUdV|qeUM@OaZ*RP?fe5*ac#hICzxb<|wb@iUthbk$K#sRes&%m7$ zCuVi@FEh%~{NwfOqj;?F)X8wu6DC$xg;!%*KZF|*1c*F1^N`LF+;NV}%V3()(rRAW zwBkBYXMzMTGRV%!$pLle&ue4T1X}^Bt37*~l7;9As82y9C5YOdK-?J0*76qi_>@WB zef!#BkRPh7#+8#$L_K^syRdLnObnNJ@+3U~N6Q)Jz5AYZWc@ZMY-A#GJr=o#Zp)$$ zMMagKeqc^SNXYI@ulj`xi@%0)p`H~M6p#_5q@=&xW>VBDYRvMCj5w|8A7QW_LU=$x z0H_9(Nsx5BHrCe|KdC>{hL!@Y1S~*j+xu16@hLBCA>Bl12M6Tfugg!P3B`|aQ77@kXQCMR{6=yE)KSl!Dj;MT2M zNkiX8M}H${f%Cpp@Ts7@d%8(=cwc~IQ z&;#ms;w_wk(}NWe)n5TO@@=A~{m6_{Vm`co4`@LUQqm>pv_;}DHQi(juMxh%!ND0B zAHnrAJRJld(O}n5)*;__Bos#$1h$j_zP#N&a+1KwukT zg2ggCjFKA_Yl&H4U1Pj79uPU{yD)aKZPc^pw6&pwLG{I&=RbIGrr*^Rfs#d9lMhFD2Fhje#?%%#OFVAtb8$u4;>X@|Das0!HB_9AML0PiZ}M@80&gM6gbf0gfCg`21PB zg^JXVh<`~zoH%i!tG8E8MMc(qj*WP0BBGH<2NFwll1Dio^rI+PBCCd#<>kuCa*x@) zfgdk}AiSin-)b#>-Z|wtE8$xc3U-BB%+AJ!(UO`#4_c)Xa+peJxs=;4O;q57$?6|R zl(?uuAv)?^ycif93=Jzuv>&JOYWL*iBwR?KWC8;N^#qZq4k8VZ5xOrNuvVtfheSd! zGB#K>tt&s%zG4f92Eydh62<8Ey`TRqFT0DkzJvEN?U`(e(|7*O(7QM{=CCDrA7m$j z;Eo8^6%!U7?DH%R2|3*3z9Fw3n+%zMWF%N4dvS3Qm-W78{}aovkT{YjeeXS7z&^Kc zO6Ui4LU4d$CO2zY6#x|umS9jVo^n35R7wxK2L|pmSi*3=qwG1@Zn^5e&+tjl(e_ub zJ6usplpi>K>R^}}11iT2@lTu)HO3X*XXfgD44Mp829}r05d>eOg=lK%jwv!2u;s4vyG3{a3HV)r`K>n&qK|MRfR)I?8Kn8=Jci zF?Mw)bT;RaOYle>jRU`vt2ZJ2Jq5fzODOHuZegzCFAkF6osyINtIfvdk{PqT=6^mw ze-L2F{QUecH%~lN%7B*UX3Yy1T%DYDsGie|R6A0503{kNHT6@?&2JiNYuQYaQ~t^g zx+nKg9ZzdjaqVTMzQ_`)viq(I86uYcrAwNa8(W}+bvGx9YS#FAZH31 z7JvKlPANV=c%hPLN;D1nTuBPefxmp)JhEzQ0wKysLgAjSNt4>VRT1az+eeQvO zl_?1UUdZ@${n$kJ3Ce)O7Syyy`neyk`zoFPy;IKfO-9H;j(={?lQ46=#m4{!L)k`? z%l`d^IXUzJ?|7-45Y`5Ld=AY@aa2w_xw{u9CMH7qHTkjt?A3PF@|F`_D@7^EzV{{~ z)4d4?)cJmoB>HHaIt9<<@S#I>O^FpEZM|{y1OqFNTc-HYqsvQ6O>tJ^6Q%V71BWEt z7O65t0xkHqhd5m01V`{~8+ka>5k1ojxLVk`gY@lxn*rr zFUsJm^{!aXHPRI=)HYU)%5S}cSJg%*CeY1=uhJWn%RL2C$BrGtLITDa4RQerO1`Tl zMt1V#!6dtrFx1MwG<=nsY6(N+X#YJV&EHF&p!3_V$D@iVE$tf|uy(E_&w~Epvh_(= z*eh$VXHTCh(|M>^4UUhGGm>j*YSuS4vKt)TlafJ8OS`Ak3g8KZq-En{_MKkb%%5;T zEH;HW`aRAUS%p7rA|y$MQ%Rc24Uk|n@h3d;8j9B|%FEa5qJ`C3soL9VaK6-m{@FYz z&%XU$N;yb#3Vf&zv-z))Z9@i-o?zbnc$rSJ+A<%8i^Vw`Tj(-HOD zk;Ep2!=Ca_i0RQwfv*;Fxkm;WsIT2WWohd2NwKh7x}%<^FEQ8lR{=l&rz@TA&DKGr ze!d!M&`^#@NPt^{ss-?_p#k@T(7t^D5!aqnu)~ixKTzg@It^4Us#Td)7iVX&*d0Fw zh}G-ur3D4;AlQ`moY&E@8|0?i^lSl0NAZop-i39%FXUN z-J}b4c65XRfQ1Quem7L4z$uG!7|w$g0)iGu9kR-5f8Q0H34Fj8jg50s7e*M8U%qsD z=f9+G$rPgOy|#Q^MTH_p{f3hhzz^^$4iyy@h1d-tK0r&>d-V?(c%WUtPsn~*h9xW! z`_G@hpP6}uCT487<{;R5Hz@Wq#>XogHhudYuRC*`tE*?oNlj0jvx)luZW*2ZRb(P_nXULzIhMg&oDiBcr19wX}+^bT$IFf2tm>8J$`CE{QHkMe!akm z*{{;>de%=KCi|6r?2(&lZtX=~IG$4h<@cDwmn(F^VqV4UG3wW@UHf1nLRBg6{6qa5 z(>WCti~R%IA=4@$>*PwT4EWrpFXXT1WQ0LWKo@7er!7`Hjh+`{XNx zE{iVtY^=Nn%K!M$1~i+ZqV#|(Gb6buivq)5sbx>SE?2Zoc6WF0+LZ*LT~=BOVv2*4 zbIirvS?tS<8zUnlH}@6DY>yoGUo?35O8Y%14-R_|MaQTMV^@)UNK1-dajVVHjPfQ{o zFhx@X#UeKMs1>=eC~7&!2N}dw;5{<6Jw* z#L9}0@(DRPaEg^T@~}V1L*k2loRI==3M&6YQp=DuH%2G5<;VqDJccTl9zE*9u~w}T zr|4${c&Rr9fPZWMIs6HYX+`AHkG+kYHqL*(M(5LYOb9v(8k2WX6vo5lp<;ZHpFcS> zM_HnRAv;#hjvBi0MnVDQ-4h1+mIZLfAlW%|H*9(RHi&i{#f|1h$!Hv1z&mBNM5geR z^mMAf41JTR<5zO2_;oFcLKIaQ88+9iA7KfNm+s_Nm~3@Kd>~um_~fTs(jpN=L=C54^ZeW# zdLu4rX^{|606=0STLEdKU~cJD0X^NyHwflXWhdi#ox@b*mGF9@d(6aj(;NM%#;8?W zSC@q$cjxQh@^{$&682A?S&Q@?B-OC3{Z$je<6P9YQ`(jO7`ti#asCMnMVW|Pku=hezd=om)`)7e z79HJW@QwE)I3*fEU&pB5i;QGD=H=)(V_0${6$aXG-=JRZzI))%AvyxOp~w1a1e7~< z^{@x`@2jh;`v(`t~68zZz8yC7ljfD5*EeSn+6IzK$iBXqj7ywC#vk5XW zBBqrgO!9!MP+~DWP%AncxzN?s^_;FQd{H3uS`^U91>&xGgPw|Z3$T*tGMUS3t` zOGVTEiKjC(lw|YFY^7Ii;B;yD&QZfko*QZm}!DS-%iwJVq8`qS$WB8azl_XNW_ zdrMV8mfon`^VqJTAE;*A|9-(xN(JG61m%CFP&L)|dE{ihdRA25mRBjndEUQhFhI2{Z0}iUmvj6*wGpu?Yc#}sRO<^-XXJYa>b_V%AvyP zDhjYD?D??tHYUpRyslymDk@s)D{|gKzWm2c|5D>}m@Qbvp`kofPTV&R{LPL@B@}Bi z+-a|NEzYHws5)!u(+fn;Onm-r9xp3IRT(fz=I7a6AA6*=tIJyaaLE7UQWe?Eu3Yi> zQE%gtMGP0lgV7H9zc=rJwcU2T&XtDVWxp zaLx_(_T#FmA6i*G@AxzQP_N;tPSCgv7uS9+jUA1m~7b7$2(qcG%I)!4`^Q*qw=q#}gCu{V(_8 zHksc)qox+zG*aOlvibN}KX@g}FBO?ew7w2Y?ls(+t4;(lE z@&vuMgB6M5uxkSbU{epPdYYMi^-aCu;(~_zkf%>CBg$O8%2m9S{a;DlpXlZ~&)?qJ zX@x-*_?M`kUAN)F@)$TX#9v?QR^ixRB$e^X8o0^_xO;v|&U}Xg~Qb$JzdaX8% zzsc26_wLzVyM~^zWQWtYHc!jL1J{Dh%NX*W@!?>`^XD)X|ADk)aHt7Kn*VuZlXPX^ zgvbFt*eWJvoq_6KW*;8=-`E#I{Q>Q+Gl?Lxy_fRN5UwrJSSWFL#@o|V=I5zU<=u9DZ#LQX zt2gYyp97~<3Dy4MeUtc=$ zxWOZ$Z~=ui=*7y%FlV0Uvwj&y9a!FHgO+!*FfoNrwe@#*A31*G|G_x6IM7fsad6zO z8HVQyDK4y}MEdTDf5OAbh-T|^;6>xX_P{$;Wu6rmr+@x@n{;M(e}9?JhBraPHBb_m z^N|09R~~lyQ>TiHin`m{Tx#w-!9KuJ#rnJz7--l1@>y1v;mMOB@a4I;ba%sUw*kCA zSmqI}nu6=zB`lm%ye#}YFE=;xUHVric&)oZox9(>xi~+6CgwO3)mtbC)$c{-=V|wD zAFI7v1r7{rSD1n7sQtjx?Cgga-e&TSblbMjfBs2?zY6lV3WWsmBrk7lb!i*;MR#|1 zz+cd%V=hvcO8G}yi|L$VtmwN8|D^lz|qmNX#VqP=cnf@Krhrlx+t zJ!whKS^tnFxfiks7?PeIrVBYnhQ`K=t4lmsJ7{nMk-NISlJe;jKk$28Y%I=&B++XV zQ#6s%&;?hSIc|3wODMnN(+Aqq&r|e6I47=OR7?z&BOti+Fe@`N5D5tZ>*Co&xiagP z3x^Nq{U!gFftpC}j{md`?!8m;?3qRF#d;E?&0Q&HVnkH{Wt*CE%F9WJ=E1?~@o^@e z#OBskG9vxOi{smr_@XM7ZB73^^@9vll$X!z>Lw%_`>szTB0gN0fXYqyBCfTjRqf<@ z_`bTDgm9DLmNM+`>||wG=#SceP@PX;|NhRNo>($Y?+wYI=XWkEuKFh(&G z_lON<$*#u6J0CAYy5Al@wX@WBJ4Hkdya8#Ll7NRl`X~6~Wp=hvR#sNNnq7$(23?|X7}!K69kAX&4#t|!mp7})6&G)+A)CUu=vw6ahCWz zp8q|+oL-c)$*ge}*gdzg%bHf-5$&n<@V+)%1PmmJ8#w~gn_UenE2vgX^SZv*8LD>O zbo;Lqr-ArfW^qJ>aMZ_JUi3@5lUlJ-L6@6DXWkAz|B|Y7(Sc2jcpC-+Oojcg6yhIp zo=uD4e=>!>;mS%%vN7uGk+#X;G*h3-sBWk++|oz`KTM}vMiA^Vj_Q1;c^R<6;Y+6f z#~g+;xHFF@%`LptDv-L|j;untZ5;T&KF*4h+xzE0*?T}s?8=aY_U2~2k`A;qmQ++E zp4dyL5mPgqrzf~Qgl1Fh!r(J^D~X~vf@+c8JUl!@B`_BTtHy!0%n^?rn(VCrS8)e| zA2<)NbaqRwEM&x!=g<9Xh6ByR=qs3mpXTL}^jn=deL7Tu7wal{2)l&rs9FFGvFScu z_X3CMr|?+L(Wp7uVbA=rtz(Qs^Z^fQu8<2+OT<~@nl|R=*TD)rc%TC-vWu&+wEq`M zLIxv8KH7B0h%x5s@7iz#KWRPcm*~B0^Jz!VSnCkN1VQ}eD78wNasev|Ul{P^v+sTF3k#etz1$|g>!OH=Zq_=w{rTkR{eTDc zm3O#1zFXC7|GX!xJDASdpgR#RO++5OOT(}Y_@U5viSYqHezXP-?fvYAc|E;_(=a&RNB`>e>vs&c zqbPf;z_U|0oQOA?LoY-_>=9Uv8EHQ@c!l%+lmA=vXk0%UW}>35z*KE3H3?s9im)oA zLj_*8iRo#w6>CYfPqa`JT;HHyy>?8r`8AAVgqsu!cI+2DizPo&JK|^tlA8hW+SeI69rj@^ECD@@@t#|-{|JyaW-BG`b6pL z*HdUmOt&W|Fnq2B=>*gW*!HRZ)5@}(1OZ~V)@^BUc{_h`Wa7pp;hL~XFXGp*F65d$Ao-8EId-q^!-?#7C<|3bi_YyAQ=TDw! zqBTXl+~2>lE#q8>vOjc%Tese$ca9+b8?Q$f3~Fxj>sL^>Ow@t1K$aDy;`{=vf{&Um zAH93xTW5~($hU83=kW2VsEIhoK>lucaOx?bk0M_b9Lwxswosp1f+axJCnq~~X2(Oj zkGjh~GB)P8;r*E^U~*UHF?Z+!{s93;|Q7hY3>d2>Gs53r&{A z@@3m0FvOr1CAqRex1KrE5P3NCuXh?q5qk{01q$l9IT|&!nw7;Ugidz$%^r>4OX(l~ z90+ac=~>3?*Bt$k?!m#q-d=NabFt$*J7xY{hyCVf#*gWlpE|lQ4kXBypl!3ar{}?g zgE>YP;H;~xcu;LzR*(AYwo9ef9ZD(vbBCLSBmJ4RiT%sh5p~?N+e!U?&3783#hOd< z*OB0=7`gs1bw2cIn~SiK4<#ORPR$6(zx}1Q5orS9Y*Oy&{Z$*XtgiCESZH&5;BS9v_ zb`S%w=pzcSmmzYXnO;RKJS1d(ad8_R-8C4XF`N*(JgCkX*Y z1C%<3ez?i3SBFL?$3mn3Pu7pEyJR7^AK^mVG)7*72EV;oh4U*SevHyr!^U8wKQwG(L8sl6=v z(@9|O-ls(|^Q~vCw!Gg;O$|FCBcps$u)u}v$Kp1hB?dkB%yRRj7okHa`RUWD%wC^= zdjZ%u+zDBko3ocSG>-n%#G5YAqXGoha^(KMS`#p2OD%lT;#)VBN03(X5jh1;~@()ee_3Poih2dSpZ4JC&b4?8jRaGdrIld8N2n> zrOF+uM+eCXc%_nISWM^WKJ@_IYaz-*R=SjA&(WqhdlGD-#E~NipJ0rk4G+(_wcTBc zevkG*bdG};xPAL&{_mGoP2Rz4ayNW8#Vmc7x!kYDs*kKM?X#>|FWUhp7nBxcePtsf zBlM$U90Wpp^EtS6=VoS(p!7d_l$w?n9fKv#BZu67!gD&RQIT@_ej}|igYU*73>R#l z=?}pd<0*q^xXH1?%i-op8Q}QqOVW_%W1sTT@$r~AeL%W`*RSQE=6ncu>zdwVNh9e4 z-=)9K%>{)>mRdYN=Q1|8dr0-Yt?l`i{L$y1kcpruqi-}RHtwAX8yj0`^p9)S*2)!W zDWE29H?l#F9GdaDSTr~=@Xj(HK`dQ@GU)<2c#b7;cuLU`xbbqFjh&qtZHg=IS4q7n zj`Nz63aJDPX)rn{NmF>N{y7|7*Ppk?8gwM05FK48HX_v~SJ>ICsb(m7@zN#gH3t&H zz|atnh?$ug1g5q12_}wU7!dHm2wniuD58W6@h-H_&-Sold~!Eh=&)H-RM0`ejF#$e z-{iB(1o%IJPqMN(7OKvdJ}3C?d(uj2M5eUeUYBd5Cn)02rZ4`R$3aiphPri zKY60y_Bt~&u3^d$ojl+!wvr=c(-F`^&n8^`GC7ICL*K!crm4p`K{9IV7J(Y6wEHeW z1SD?u%Tmbn^Sp6RV;C*O<8z@IDiiVf?Fg?d+0}-==}N;trwc zwzFTz)%lRoO~<~DW{ZF`2Z*=RnN|Fk8;0p$KRjCc!)fKommr056O4sb*||kgH3UK< z%+h(f{CK8dYmtOPD52_PUCdwhiUPgt;H;E1$k}e)D3+|})GPMGZ1relYK#vp_Fn5jOi?}?PWf-wXtMQ_J9iof zyIc&xY<72FJauZ;c$$=kG9Q%l$tV|sn3<7y@#4pmA>iK*m$)+>`$LYw!onA465Fp#oep>mUA0HLJmgG^gckkY? z?^53WUvXeRKSjhtTU!oyJsq9-A)(bGbF0DwFkx->$u_sQ3mL2*I&_C=s&Mm&z!Otb z-f^h(l@`62XwzE9pb7$?n*VwjwAlj!W;kN=_?S^)Vezp6!=34QV0(u_BBnkS7R*ia z`zJ<5EBF)H!fXj&kjUtY!e}7?x67B$o0{$-Hv0vk8=-7ajC}RVN=wV$P&g%V7Ca{g zKGmD{h^4uHs5wW@VH3dPS&GvD8JXjJ8_d<{4&+!e> zOrc9MFnbE=ALV3YgR2i|VeO!`gCs_F!AlCadCbyJRC8C4dfYOjw?=y;lc^Xw3(=jK zH0iuF`yCqhP{xqcyZ^AL&U!PjvdTN~g4&I4u*C4M{rhAUChsX7KMs>R34uZ%(@SM# zJFnlkaocEgXei^^vyhtM*3SusZyZSa4eDE4&3j(i03@RM1={(`mzRBfe4qgXOrxI@ zYA17qS{l3+Kid-_zXoSkQmsK@(nx8+U^9PiL=a?5y6i7se(kdNWt93J z-vAp3T0`WVK#m7xWNh8sDM**A`(edeTv)h$N6uJV`*@OOY~0|`HTC}!9`%}L`~NkM zTH6i`8y*p1C3+FJ0Qn2XBanKiL10vY;|9fRO3)Zwq8OP6CJ#?dK=%!(V=)mC>)QBh zXavIDMRfw&R!xwl@N!7NKO*xYM~-0NE0_PA$IY8XMOhf&=KjX4B0mdl1faJF0+tiZ zJ@T+R1YI8AgocDng0_U7?hspo2{lvw9w25wn4muo+)HLw))Dc?VYX8UQ|vS!2-wi@ z15CNX0)7c&te~#o?yviaxBp=;Ei!<)mKCWAb)}3<2Ma4J*euZ)Pw3IG=E1lNBby+L z^BexKz6h*c2<)grM~A@iDtp|j8K$G-8KPuMIycZA25hdPVqf+TYRJQf>%aU0w~dBN z*dJfSkSW4X9(GVfl8Y|1`s9~q9?Mdo9$hW~7Nv%9N*M7nT(-0njlo?1&#oVY`S~HQ zk`kA#tP{8w(2KHdhp!Y1bxaaO^O zl3yURxia$Ox191zY|P9@oHl!=16eq5wQ!bIoFC1o^uqi%LBe;lk;*R`Hy$W%r;Hnw&;T?=G@)x9k-3~V*sY5l`3oBl z)93SEzNDt7R}<)MYrAY?b4;=Ul1%0WAJq~)-G>ujzCgrTKpO&jib1TC!3?w?MJs)| zh@2d^5KVCF$n-Q1D{F9%*59ED75!{})n-X{+UL)Ud%S*@kZ>qoqY$q!#%L_Go@;v1 zT?o9pqNS_*uxjW@(7t5IbFj)I5?A$G?&%`}q%H0@9Eh!4UHXlfbgP5!04gO(u4}7* zX7J5llxf=jIwQ59pj=GLU{>X#_9;`eJ}i04ogZMRwc3J-1g&FW5l?G)-+%N-a@p<( zven6xdFVwVzM$&>HtZeL-|-DfY$c7g^?YkvTTD-)IwK8)<{-)S;MC49$#0U964d!B z@?+tR<>pR66$#zhpO=$y{Fi8I z_j_(k43=Ze2;K3i*_(!uya=kybcH-?5RHVgVx+gA?$z23N`mXJ0rMEIL#q5@s}7`_4_kZXybAl&U~MhhY%*HE&9?cC|lyS~1@ z!E@-S$tTM<{Bw(o5zP@Wwt@H|6GdkpoI_uMtxz6`c5z$IN%-cT8z^Lly-kS0_t&pq zBtzC(HDCB@nlJE@&k6_BoE|;ENdXdAJ25Jfn=#%g_uj>>ma5{_3BBX)xAKa0z!%5% zsFNy^zGfz$z3InW%i~kph4#hg&#C7d`u-&aWxJB1GOH+Eo%9#si@H8zrmojzx^3Gw zxEuMmo;;bcD`#?S?C!ng-{-+dyb!#ZdkKB-DkF+p&KWkq(w3rmU=;3(U5QOmyI*YdThmM zqECBy$tE^Qh{j4SKMe~@)z#Gnk4UbFkxbZY0MQ`mRdsJeD+Ya9?Ed9W+JB=z%XHor z6dVDwoy>pZRuD%L4+I}{GWq`aI^zZz;romm6Q4R;_S=*q66LxDqlWafwCIF&ZI`RQ zy9G|GGF*OR`nG~<)Ah4H>6gQ1nWA&z3jMg_dibdy#+H)*!FMuftm~Y=-v76#dsk~knBkYilY*xVf1U|E5#!9!Eqm&uS9JivjYJl-~E-bA3dd|5ywkGZLX~-fwaJfz^b)40iS63cSYU} z7L=ICXW%;#!1iw6YUqP`H*y%2gb}guyn&ed=fed}%|}w#`R|^{&CidDjC|v@LWg>< z;~_@CEi538?56s><}=xUQ{nvg%9{3P(!fwl+v0JU zxw=_gt5qU8?t)Obfwh*sP3*QOMaehcF*i^ssu*;sbTd+242m%wkk@F~SH15yN7v%- z&MN1|80R0yf`@9vnr=4sm)I5*znDPl&NMpI(U@9&xOro(`NY|c-ob(TrlxZl_0X)? zczAN!ZPPSpZ{NAoGUnp6Bz*SsNeps@r+?O6TI_c!ApM`ZL$@Q&f&oZ8GQK$={D{qL zB__4fbNy57!#iCyn5w9&+cBQAsB!Y-($Yv`oP^JpsvUdwxHdkT!OWLxR$)Fi&N^o5 zYM|nA12H+dUHkS~G(PTzE{#+Qg^_6-UL-mmIT_2a#N)e~>Pv0@PMmbX2!r6qPds{l zIyR04ENDaJwjY!Osw*;pqu%zB_%b(&36$UtpI>6R=+eiSMyLbh5%|A^aaL<$zwn_6JM$HjTajijMto+Gyyy?`un_r zfebtl7`iB+`(g+AE)j>9zkKudDJq@=FSN1L6oKL%?oF6h#4xt4YE%KI=)(nSh~=Q8p;URA9FStf1kq?U0lD? zam$m>J_8p7-m1rlB1ZBg^BOulgTqIUHsYOKw6x6m_Ii3bUXg{pxP63lotjpH^2(L1ij3AQtV}y*r48eRp)-*~ImX z8$U2a7*8Pq{;avNR+z=%w>&T~uvjvX`YwoeBSGB8>_n{~pbAtqc=}_V zGPASdc^X10iH4PAlk8ntk<9FI8`*nh^Pcp3e(!IO_c&gEI66wV@BO{MpX)lW^E$8d z!XGfu$0_&0@X^bcPDAx0#)GS@INS;EZY>AT97j~E30yuL2A1z~8k=`vnfzl#n- zsYfnd#0>4Hf&#ZWJ^P@qlcnq-=vUfRzdnB}7b=W%!}6t-Jb}Wq1vnvn66T z!>#b+$Ahfh?PFyAWyP!0?Lzh~mUqhEq=y?;rUfUJE_T;E%*>ukF&|AKx+>MgTgytC zhU^u5A2TSB{th+H!+pFK}!MMt2#VH|+ZXev?7)=2M+SQi^dm zCTMWPA1oUJ{OdRGX$ygGNj!82Go#tGg-QN6nIyOTo&xH=whSu?n%|+Dg1gFUxbL1d zfsUV7{t1j~iqVX&j%;D71sdYyidT(OSFrGXrE_8ecKCmglvdbZicfEIr%-%c?}5y*oIOAnz=lEcy! z`K}_(WmdOwu8`+ur+ALun~t+4B<1PTx>;C@mgJjL5g`;bx>7|=a9|v1Ne?;2b()xe z1)3rl@+~;+%GJrYGgBYgns%P#JY{yJ<4s4$Y;e!&b~N)q>&a5HCegYSI z*w;!dn@XGzsQMMlJP-@B#lte#XVBAwAB04-vPggNDtWch$rDW$BD7!(=(gR#Y>SM{ zHmV&2c{S7ZFA2eBG??+VxU%b7Mey0a{mjzl<_Y<$jf+FJLT%5uNDVDp3=%{`b>1ag z-l{ruCvLPU4nz@-E_@F3V4P!ScGlqY6%?CdG+1#IqpAi!yl|uy=r|z0&+T*EK#ed^ z3(G!#8Mc5ga6cjwLngH|9gc>2%XYLi8h*m4h<0p!J`;MZm;i?dhNwsrlW8rv`01f# zcSFO~#qQJ~^qt+m$gxSa5wj%XRo$kmrTF<5@IP^g;{c<97xkAtHdCf(ws~x3c3Bu; zM=p?)mv?)`+LXkqeZ&t2L3@#+;F%h$4pW~O82rRZz?Azo3W^MMt%rTLY%!+pWi zQTBG7H%B{~*IG)cAL+B6d&6S0ddtb$}tpjuAXdc`&C+sz~ss#7&|<0QT9O}S4mJUGnd z@-AKC+yz^r94paS72?uF5rGi8!fL%~=Du8H-GI$K+Vm1_pQ?crdY`)!heah0KKx|^ z0gneuKRx+CrQ=A>T}r}~>;i@)0Y;bC+^zvnT~y-}-eeL8M)w_l2#*hcn;*81ct1hR zO>dt!>qz)IHuGGr{&L^>hjB468HNg9o~dHDz-8@M*l+?6m%lJL1k*q<8XQ|;SLfT% zoWr4-`hZZ%RjCY}#JyyCwQqf3DLD$?8xNN0;ijwTD7m^`B@-J5H!;l!RrFSBYHIB5 zvmeVt<57%eVP*)1OWIDps6J~W^DCptOq?Fb-`g^t^E!kfYVTj8f*jGflw?c#Z%z3z zS)-$7cf^yfeDr|a!&gKzR5ccMdH}yV>gotW2s%*Sr<>H7AQpv&hQjI{!}Rx8SgHcs!SH9%J5MRovSn zdk#v}E32r*J$MmhGt~N9eR`5HHsBuLGTMyIzW^`sF)_Q`F3MNFOG$D5-agiPtbV{o zKlAZ+Iv^4b&2&>jo#fH-Rd3ni-rg zX0TYA>-OzBf<_wTd{1Q}dV7y!c%bA=T5BsKC}HrV5sJtBtY|3+1OxNXu;}P&3>y z#98v-pye^&1|UNva&BRNM%z`(ovE73)l$rL-}-@GGMwk%qa%#Y_k$S(^BZ+BDn|W= zur9z@6@RN}=CvR^l~iYh zZ7V9dD6nR-{!LO$ez-mR%e=>i1%;k6z2*#~yM&0yDhK@?9Ucv-NC# zZ1`#P>E7)FXY3Heq!J{xKc9YEi`rqqK`TNoQW)zT=9a!RqdCCIrRBUdu}hA7?G1EP zvIhv5m{q$r-ta3-2?`E5TyG&V5gl~L?`85B!$T2;z4@|bBC)D!^#$d*IO%eS)}Iy~ zz7tQp$Ankq9K~$(GY(pM)lB)-mvBxyx%Bo2k5zgxI=leTwDAl zfOfOkyCh>edisT;y}CONEIh+1LLdX^fa*+AStyWrmEK;&Pr|B0Lc6I0@({Pa1Ef9J zM*wecP;+{Ex@#lkcjBoi_PO;{94Ih}*G%0;wOmee8%Bt1{@K zw&yjgJ1}UnXnZFYhpY%*wjcT(C`<9mE}i0Ma4I`^Ci;Sp5C(q>EVN{95FHzJzkcK^ zl|P<-u}#m8`&=4qEi5SLj!$pb4DGKo#hB7w>2qSr>EJ3}KD7=WSX*G025BbXo&a6d@+lJr87m`#Il4Z*%NmJ_Wq@t4YH<|XcqRb5+0t-LS z@KO%78qAG%l3daS;a`JwUB?HnfJ_Ez+%5|OMFW~NWn~+@eVO_^X1KAMlESyXNClV=gi(l zMvgTlv-3?|H!v^&S&ZHluJd;O#^Ps$nLCVmz^c<#(CyiT~YaFnwpkV z;g3UJ{#6B1^_LqKLPfXU)RT^UVWTCi~s}otfKW6k;O@6{{D2*qf{=t5>LF0G|gR6|h8rkk}e?K+VSWEQX0veo0!lP5LcJrK;{Me+OZ zUN~qlEr3uF1=VNph*=C`zqRV|i<6!I}QyEA_YznYlll-KZLXsvbDvI5( zOz*uwFX0Q0PQV7Krp9%V^2`OV)pQ(-TATu5y@)0}q|i_=7KyRIV4jt=prC*i)CsCB z9E)NfgWQ#B-{Nu%aJIpCCpA@@yH8S@K#lH863ugy_Ob2+*SmUso>(;xu}^rnG85#kvDG-?+4sXBT#;&Tde~LfVmFJ)Gi;oB6d&)?Nm3w0`F%sbQCbR@mfU%C^o(}cuVn_s9xTzTQt*h&f~uF; zl!m$za$)DrJ9{$#8Y(#!GTn(G%E$dmy|WvC4E6P2UdP14a*iJ#Ra`aPuI=*Or0|aS z)iv;Kb|GD53mKWZX4>3bH`^=iwKVx5M4sE?Tl4GXcMV58jfMX;lxDHsG}q?seYktE zB40^|CTO2IMeFP7r8kIW%Q_)~S$&IBhosu`M;;ygjhu=eJjwg_=4Q<)6O%pXega?` znqSPCZ6-cCfR@rsOM$;fo?K*0*32Rj1ojBE!Crx%-xdWe)B+wXSh@phWYk}+`IK?Z z_a7s}2ZYl?glsiiix3MTBfvo?NAV6^?9V|2y+yk>ck1C-sMv3)NKt%WJ^kiS8K?&j z=r)gch~2O#M<~s-W(O0a8n0Pu@E-mHR17O{Ni}YK2g(9ZEj(+2VWAwGn1?~$J!D~U zBnJc0U)8AsYDp{Id~H-8E?(MvsDEbv!@Tu3xr)NWa=IV$Q-jHBHpI$< zHbPdh$X(o;DGsd}`KwFTO;3;c6_vrh2vjwf#$+POP6Y)8SQ@Ut`q{Km0py>!1d&-_ zbPR1KSJ&_&8DL86EW&$Q?z}g}$f%4GOsPBy{7xlj{1m3YVKYzy}puV*q)9HGhn7`7D73tIc3K+Cb&`RfCTUDq6gpC}d8tZfaet%<9_`X{7 z=h2sXj3zdu*9hvUGuH4~ssL=AV-pfY98aWSExLZsON%Vrk_B`-AsW%fZ6BFlVu306 ze5Kop-*ZPk2({oz3YoUkKt#ZH*>ux+5jHk{Ufv0;XNJA~UJfo!O>`e&V&B`>hlfpw zcVb(>HbUq@ebcS~oKgBRq}_xx*{aQtK}`@7`;P-(aP7fF56p~KXA<3l&g^#@Zk%Xl zz<~VyJ8%gTqrqc4IW^@k(*wo}sx)krI{wx$LeaSK4Ybmnn1{hw<%4Tj*AW=VsxP=U zD==Ao^(z+_7gn}f0FlDG5*k9XFop2d(VpI~<+_v_fYsQ*3`sFmDcEB?0O1NA>0HZ$ zE71CBv#)qL@7OVd%oP-b?Hs6yPkfV&kj&q+(!vK{qNs-lgkd1h$;YP@ zS?ltnNrp9i)paX&30yturJ+GXmaBut0oBaiBo6Ac%^JW`&{4sIX{`hq&Azm&bW^@b z?a+(|%M$i+0|3J18Y_qotd6brT0p3QVS4Sugxg#0flMgy?v03mY8MO6Y`M*9i(Nt9 zdhOxLbDA|5{XjI~d7qTDlM;w?m+Q!gc|$@Qw&>Q@)WD8jJj|&2brCBy3p$|a-Eum={$Dh3JQhyq(alW*q-9bhlsrI25>wHaw?ll6c6`k-ri(0pZR;93Yfh^Ub3=7wT&c4s*g|bFlD&m@w@|12+pxD99rZmZSb~f+Uf$ z?JY2P2=k6X;9y^-v)i>GDg+*e-E}d1mhlmE9X<@K1Fanj&S>SqF`^`Q0CDm*d~aH@ zIY1O@avZ+ zN|=kvu;>k{#iCEIGtuBoPL`FFJo3j=JI)^a=c>|bztn4<^X+`MTPi-4w%ATae?Mv! zciv1vf!xRY4Z;FMk#kd(M0Ped&kYN0_9be{%BC%8m&@}oI3nQg?v92=SITYj9gO?< ziYv>?2GKqR3AR($1b`A{gHF2nW!uz+#-wg&DSgijgM=SxO13Y3!iHxOTs%;1bnZ0H z<^f?l?KIP9h`IF=KG1QfUJU$255w39VepecluFE%wy`OP_LW}1oDq(k`}fb^NL?9o zV{QQUMYkT58^#l!Q*I$t(MT7L1#CF82?d(%%r}`giW+{!F)I(-gG?7BgQ;Y*Y|TsW zk65Qu*;`MHG}T*w8K5(s_pGZk5vyALxTz7Tr>d$Fq+>xQA@~p|6kyca9Rwy1SMv_} z$cBNF5%yj`irxI4y14#IzRHxi9i0`U4>dIpUel42IAV`h51c$nyIzF4aoYcLwyh!f z6dCgWIpqJ~AaZZ6%-QssMs;p~8QZlwcD}n?ny{3}n@0A5wYrk(o4_p}$#^|Z6t|T- zdjXREZ8@t5DtZkLJ^-z_0L-p%Ct1b;a_S{ zeA#qy#(J9j7|;DPw04m>S1$A=p^6r{$=@Yj%o`*ZTUYO*6>+cRHUx|0rFJ@Cne*#nyH=4o&=`VPWcrsd}S9&O}4yg{llf8ntia#Ub@M!Zm?`o zAU!4JBD{+$c{1FpA0FsD$+Ld9Jsv+ca3;;$mr=f^EueDOdKw&(B62;9G{h%0>+GiU z{j<}lS7=Z&oxOFx2kC&q1d~HC8ccXH?$4}!SNadY1fTbLM^wFH zzij~`A8F6M=l7Fm+EH})?qbH4w{(Y>`)-~yp63aw|8w)MJ`?iW5DJg+b|)pACiLl3 z_kImob@O21)JmIPiN~7IWQ+-8_)F0G`r^EgPLh5E3k4tsWLP)qmr}!@v^pF%F(}0-Q?)R&X8%3bnO4Ka^_E#abSrSy-#nD{avDg-#-XBojC-;_-<*ggLIm7S_)Z>$#Eq#B_cX@aYhKA#@xB z0sf5=beUwhT!pl{l4a4?()4K0^WwdpegZp;QU{y)d~oamt%&C$YX@zz3Ork`CP?<% zXkyE*!>;v!5G;gVb-fX)7D6y{IUS0DwX)>@M9PaCc0{_o7$VYES}Gl_%&q=z91X{l zZ0kpD_K6G@n6R+-KsVX%F_`0E&N=#E)i>Rnj^XutM(*XFlD^n7FfXmY+)EqMtZ_P1a51m5 zpVoFF`^|8&iS2>MfP`zVKE(Xn&&UX&?Ojb{YmJp;($6;Lt-f^k>{Iy-hC&+lL2LcW znAdj8;O3?QrR;q4Or_DBF7c&?@FE+0D9Tm4VTy(!xBWryO`B@w=E!LMicxUzoqD#G zozPrBL4|g(LjZRWI?8i3vOK94V;EaXude3xU_skcYk4sr4O+^0RTz)V16sSlj8lvz zZ|)FOfbV~_!^G3BxBNMIu01-VeAmmdH6SV7f|iMCB|Sg43F|z4i8?S$N4$s8$M>$T zr7kZXG>A(I*9@<@MYb9Z)sM}Nv^3;8*~9!6R6t#90|d`E4~FG+HjNROJYCI0b?!@V zpS7a8$Z=tzvgdxyq^?l>2ptq z2?TBWA7!Y(mX)|ZomgMppGx{d2lYuDZy-^-;!q?YO_gu8#-opxIa7;JA- ziB<-y6bAnpuu*^u%)fjHx9f%GpefJgo;vsO9s$4avsm$UPZP=Fdo9xUh1o%{W+>vcW7#~~q=n>YQua1%4f>7MZ^V=0o&1l9icM}8E$Bd($kL0S~z z(o~1k7IxB}#J7=#IdF|gRg0RE9UnBgWNQn;6)WqqG+F&hQ7y|w4poH}+}~LM8;WZ% zH{oR_PB84&#Yl7WufHDM-E|0g5bb7lb@k6ZH^pe6W81EUrRV=!Pk{9XiZ<*b%*Yx$ ziWSQ1d9V!Uznj>)F`b11&cnal%9f*}^A*l5h3ez9VZ|^CP;A?}i7RskQvT3|_?3b# zDjXgf5FB5j!`{^>#pv%h9Y-n#NIgGBOc`FPqL01K&9=a=>xUu~On4lzx(-8Ox>+`$ zxO`(b6RJ9@Dyf!A|J*GW(=LA8FZ+1bn>{Jna?&oy`MBUSxq|wH>VWM>gA*!#ynMmBsU)mP1JT&N)-@CUR4_^9N zDA9WT4(~Gy#wwG#F53NQ7ZwyX?&@gTX(35AzNBZm6i=>*|MIQ<`|J6aZ|y(0p1-(D|G};PyX*PyZuQ??&wqKV|9?JuhaW4<6{4bf Vk4_Y~B)B^vSP1SGg1fs1*WfO}-QD)&{l9;AYqz#) zPu;q}oqOiY^z?K;{d5oE%8F7bi0=^r06>wE{-_E7&_n-c;HE|3r6@&~{OCuyAoVb}|RltXy4O%$-bwCJ_MO10eHJRNZ6gc-2z`bAApu z4^CxBk%ou(`tF0YGS++qPMIcFvAR!1(@aTU{$I6f#9M5=z6RANne17iKMgjoIGb-s*Pp zIKtf7wh?SS5xC>b?{Q;-feZjk0B+@x=JRuo*p-DwVk)~O4i*-nuwR=SV)g_Y5>jbd znY_Hbfb%Z0Upl%NJn6N3im_p!p_V*kNYY742tKfXU?ZWEnAKnOAp~p}#D)F}v{zhn zV69j7@cj2tJ8;4R4Nv;7m2{N;-#hqgiq?N^q#-PoBLAxm?DhX_n|U|Bf3XA0?^m0| ziK%eR=CIB`663}Ara5TEzb7IsskrWT{`T&jCiTZoDXy079~y7TKdSghjc>ZKS5pd{ zDPEVsHi|MuY53IR1uD7W&F)tNN;PO#YId(s-|MI79R%JH%vX=&1lW)MejH2D;YJG$ zUEVVt8UHmn2@zWdZ+aLS#ooy=z1?>aLH!%qRRmW|-9`FRhsV~59a6<6l(ael5d)%z8<)b;rRPKjBu(gR64IV z)W2N7HL_|>*gb{A4e(cIb3D}Bi|L^{MnA~T6vNnJW$cpRCNN+2 z2gYHD!MC$zZ9UO@-JPBsA2VPf(ndUP#RxAggd>f5<}~|Bl;$tZebGTE+vv_uAfvo_ z)Z~jxTTK4qLwXc$Q5-#qcuLY*q?#lUOZ(z=?)}{GlRG>MJAQCMI4O?8?S}~mD4F(6 zPZ&{j9UUFI#0ZL^JrCF@rUr;eB7GtR1+O7tm;&d~`!z-K0>n%r1e$!d+ZDlctxyO+ zfFhUP&I15gOp@o}fhH%*otl0J9TuXeuOUxQO=+dIs;1Lrkn6OFPc*kJ)v*Fy!e(yk zYl=9^bV|JM37U0Epz*30$a)3{0YFF~;hYpmAb# z7dRwpX)fPrUOnwe(34D<2NA%#9WPFrhylU6cQe5e6{oVyC9TS}(+qp+uG=38u>0s$uOqR1v`w-eo|f+UGLTY>rOYR&I$2~; zK*h`814KOB(sK3w-?EvL*y@2xlJ*1LzXqFzHpHoR@7ImfXZ+Q{DCGLs#2~|oGM-_PaDb`Eb=gBp$xHMxB#zSt|a`_9l zS6IHu5EVckxDXe|xp8yf5RtiPHbN_V(XogVWNU_mz)f&6uSJ}zInul8*Ks9JRnDa! zY9?vd$&!TnCP9F+yZ{MwB~*GVK>+PGb_=UW{Tq6VKAkgkj0L}5KDD}kWGLvk{JlGB zr!!H5!~6X%TX=fbz+?!@b*(?6MGtY>3sGm(q!)#MwXt8Oa)Ylw{a+;@1IH9lc^LSo+EVe*TVm{CzF z{OPWqcK0OK`Md4Z{&??rTX*!tjf1?*4s9tm1SG6kxsazVc^mjyUpx_yEG9HlAX>5_JbOtI^kb5CnB^@ed#VdT5tl!FcQ|6UUd{T z1HbN^;@3FIdUU@f{kDP#80hE}q*-M4Qq7qk`hmtyE%g+AE!*a|(nZAUb>eg+7uz~- z$gtJyJ#NHHS@x;-QXCB}cv1NCQCtVUidqt(b&Kpfq5`-jZNrw<>pj`wjM-v(xD=+7``U@Fbv;=ht`z#YC|I)xD8~bKM<&yIPNTa8MDn-1pUMv-mfJl;mP32g^9V32txo5&p zEq@Z~hwgK=AO8CrN}NbEF?M|HQv-$B^!kc$fbZIlytP+YnQHs$&ge4- zpVI35AJneH_My|ulR!A7AprPZE-3WDEy3t);V3zpfK|GzL~bhkPy8iA1D|o<#g#RX zlSn+wk%VXsm5*D?RHyZvYMzV70Nwz3E_F9~cCHUjy8p?lFXC!-6iQ zoJ4D*I$ZMNDlL44b?*b1Xv?f#OF|2;{FDkIa>%qaF3W6{A1A&XaFS?*`6;5@_ck{| z{gQ)VU^rPwYx_-DJOhXfRqP0@`t8>lVKUX}XGiw#%(bX}M}eVjh72 zoa}`>7}hNkib~rFtpUOs00ecr*c0jbNa@N+>y^!2wlw4OQ~hm0Lm0dbwWmwY58Cnh z`SQd8C4Kyxe2bSem)C#Os1yuaRJG!@7TjD-blcgV7T~DlaFNOY!=W~@I}uIi!1TF; z>n`@&Ey#jjXU`8pP^)(3+WiPSo@HUS`&NK%Ayg)+h|&?D&9K224o>c&Rda%S@s^Sv zvTK2$Fl`LdLo->&b*JyZmD!12@q``^o9pPV(Rr$3$51%Si$moGt2J+y@-S_-z77>W z>q3k_UHH?(w=QE;MJ_^94wrDWPB~p&w4CW6MLDQRJ^&{jXsG`k=$OV!ZCo(aFzq1_ zkj7Q^I(o@!ndYsGrcOO|V&VVy^(7O|9dVZSjfQ!oG`;?(p?hI~pP$CJqaBQQTpL90 zBWX0CYosbjd6hfA@^=i^lAVN3tovniv%h2TAF-_{*k9=DNqzfAP{p-dnSEe45wXF|bjtwiKF zOpBOW=ugJAZIbq*MFHH^C9&Mn_ie(e=G~!jf8BKd1s;YFmG?Zg=8K7S0d@w{8Jx8) zW^)v>UJAL$#{vvl67B?aN)@|{ZuO-@zcVO;!cZhUy@(fX;^5zZE}RCSkF42~W$RJ3 z%hE7wYuNpLg6kBeYPE0N;)`Y=;-3;)aTi+k1bG^d{<`9$02_2Qwl=})n#QzBGo{^B zMC6Rw#+%Z@>$oJ!Q!8qnS#Phs(Y7(cPb`)d)@{Isby%u-Q_J!JQ`WklzJxVIS52w7 z8bZr$M;(ySmO*ej(Sxys_L z)lkZyt}Yz(2uIwz>e9X!Q{lBZ96TU^mh^-;vR2fM^-6jBV&}CLElIC)%lt77zZ^B- zDZ#v_;gphe%H-Wdq4f>$$@s+Vk2?IXP|r_`Bay4p>Yw#+5@C@f-~jpBq+5%3`;-D- zInpocTwy>n(9`zQ`YSypz75hu^$9+JjO!$_zLXTgWv)cqcEn~)mQAtP!-UgrAuajP zSi|cnNJ~0#8~lT`oe<_b)H4*Eu0Tev%z~@Ls<+GUwlxDHnC}LZ;#5kyT#LnS?SG%) zHkN#I$is#xvVNj`P?~_6CvBIZ3h1({$@a}$)H!f+JmW7Z75T8=#ks2RMI}j>#nFsg zswOyKd5J*H#yqPf_zCc)0vt1iQdgHNhBT%oPGt{R=swGe2z$rX9dLHpu0;fpQrXo; z;*QpTf6sh+Rf5$MOYbX*N-hJ(bTI4tjlWP`_j%u|s)3;s&~I<$Sz<{kpI}1voMKCA zO>ad3SSZ+EgsdJ{kxKG}ExW4zU>Ls(4>{YXyg(wjd6189;H>qRzHYEH?g-jFUXOVD z!(%MWI#L6*xiV0a9-1p{@8rB6Sb@B->XoMV&SG>o$vZix$ZlCv!O_|e8C(F}R#Nu9 z@2L8LC{RF-h-O*+@!psvBxojHSD4zQXv3DN=>=guE?`i7h6WAW896*vY88d}!rg8g(A#&GB6;G{;0---%)MTInO!)=;P_nT8L&zq(pLn@?e zWZmiKA`V@eM^z&8aiR@bmhfFmTpU5pcl8e!*VI!eZ|8Q)KZBo4|GD}iJJ0VgIUWMU z>0?~n+z#^zP`ZyXPHt%pyK0Whz zd=~owCMEy-#!92EV}(v2#mgp`fJ_@XJ;*G0KFuXZ&4i zEp|-^>+%2kkVhTHoH7CBS}nl1bIcmgq`5@DB7PVb>sxwD$(1@M3;Qvf@bP?Z;Fl>c zp#0qGf4$oei~4i+b68iR@7}UwP8$RLg^0(mgDs|+KO~q>AZ~T>^z>%t*dudZkNUB8-jj)1 z1%zz`nf6obm8v&S*(DO>{C4kWPpiQmySHn!bLfB6=ZG5(m7~y8Y>pIu&X(z_?}adp zPo!*|W5Nz&&c71T#UoCxuvQU|dy8Jx$BrW~_5ZFhzH23$~? zLGgX(t2GuO4#SSkXJ|kcSyIoc=hkIw?VcVsKB7ULO4B0z2%7a?JQ#$qvloPCT5XDi zQi?I~2@5)@!Ma&)*N)ptjpyrv|C`Nf!@4EMZJ)2tx=64(sP3(v=bZ37%P@o>f2O!u z$(_p2ez{Qolb*)*{Vw&mub7&KGIg0e--90p>7T{?zt}LtsN`qEwyCblD3Y=U|LKU? zfoKBv>wOgliJ5-iJAZnJjS=P~6PkZS*>#Ie80r6TXM&V}IeEe&A`ls*L$I;`^|(*j z^MuXVb;4@gHz)Yz-$n03;5%Rb={k)kue@83IDHG_Qg19nqqo_?s;Q}?^!2e^Q6Jp~ zA2!*=>EQVE^mJ|U_2!l8B9pK6$7hC%dCq<0Tsccz(!6?G(;E@^dP?Z8Ig6itE#y)`iD4xpv}?-#WHqk&lB~x`bqNbM)=EUlw`%E3>TFL2FaTP@X65l z?B+ulh^3ac=^XEJ3zT&~3i`Zo&Ue(NLWA^Ujl^B-Mj36fC(0RgA0 ztydmx-gl=&JdPVZp-7b;WzgRtX?SAwbAC%6Plw9+J3DMEAS>&AQpPH|H==br6*FIJn68GQ9LeOp4JtYbiGgIVuzZ3Dx%E<`|2nfAgPY(|d z+s;?C$BCMFh4g*&xB`GrqVg+{KvRvy^`(d4!goVVK`Qdkk}gz0fZSw1r{LdUoa02{ zqxLYQzm0U>Q5TL_0SunD+a=_SAoT>dzLE2X*nm)mxaf*~{CC;9M}dfg04ka}>_|S6 z*)w+Gv2eFuPLvU5%PScS@ac$C(BrFvk`z77SSJQayPICkr9>!FO0XuO_7pCV!@>0V z@NpmxDGWj7$k(CbA(G$1#2+^_ztZa7l6+J2@xX)@x-Y?S!qMGZIMPzO9H@NH2y1>|+pe*?m?CrRkF@ zINo*x_c^^CRDn@Z`rGl1RpsSdio^@nAymwMm%ym0#ZJ5){eecxcG zBj_#CO^DW6!!D(tb0hD=!<7hAls_W!5<*&~&CwuU*)Zp`H;Khzz3=_0i8YL+8!Xc$ zO&Ze+F=;h}s1qyuv|v1&I*QZs?I9t`1nB|1E4qxO(gKy`{?;UJ0AjMpJVxsF50jN{ zo+cJfF>-ly)kT#DwABn7wkYC3Ps^7w=PqXG;4=!0DMajUTqk%Sx`btd0-7uokQ$17+I4s_}QHi<#@x9$?sabm=xcoS1~`@At+cQpE()nxDh zO1b9DX?rX@w?1V6C|(3lXtPl6yA)F{bwoLap-80pW9TWa~nRN50nmbktDjnlcnJ6nesB>a*`M!zrP z#iy3f#1gZMiIZCl+NcuZ$l>E+=%C}U{^4d~a7lFd{qF5mkGWrMl(-v1P5`l?0!3jM zPUdO_qS%*|c zoSbL7s&T?UlC@kUc^vr#!slSIrRs`9b(2ewv8FD6Bw?UqW-Nbo`D)9I@nxn)zc`JG zXYQBuXQg!}Ra=q4oq%B%QPkudT7|sA9!d!@F%6orSpc1IEid`HTBiD2X)N|`2`9&Z zD#g3`uc3@C7)YX&BaG_PBIjkE&`@=-K!Y;F-{}Z3>xzDlh+CJFFPMZvTBKu1_;~u> z;or7Puhe0;ggjh~?F(2hlb{XKr{N_il*mUCOAZFmN_Q|U&Lzl%a_JJ*<^%GjKg)>d z*e%VTLvTlpxxb6_fG($v-@y?y5G3UhsG#G1YQS0e6`4XYV&hO)&(Q-7QL>^RffX;t zr5h+7Vt_LLoln;*Wgj4=fCQZaa>?0#Jk}S44!d)+}J+C%Z-N`RLEO*n@aZ4+E z^;5plltu)aZcQ+x3{uidVTozUc%jQ}*l0dadBioFzfapZ4EZwKu6EJ%guxZa}tv`z2Oq}yUh}FA4ftU&19}{3hD;q1*5%Hs-`ZAi9C1^*g zh6=PiZ~rP`3J3g1N05v}K|Gv7o|=iFzxBq$)!v)@A=5)MMnkLtl9@SO-P^PtZ#(I8VlA?+j- zO}ygD4CBGyo)Abunu(8<{!IZsM@HN)!GiiJ7a&oBBk{Ta%_nx&)p&TcUE$4&HJEWB&${XC2wRM;ELtmD)w07}K`Od-Tf%5$i=C zZ_>dCby%)ssI-3XOLlljk-P$ASb#-2refY%Mku#p5kWaZ492Kuk5!!x$}v<-j68lg z3WH-N3wJqgA{RRqaTxfdJcQ*#JhTU?G2Jy?gjJH}TO?{GAFz<*^IbBwcr70E0G*pVqZ_<=(QD%wf}bQtTpl+}!wArrAqt%t^S4|;*|T6^#tA?I@ZTwA=+q^Y zT*HDj>7#b?81t-zS_@?B$a?A|^XF_37#X3l%_pbcqdUP*0+V$SY*wP;SEA*d%5?9g zgCNcsY~7)-<9-H=>;>vlsac}{C1fz!)HaVKtl8U`?{z9JvT_4e1(WuRZBHkQ%;;2~ zS@dCLNlRZMMzCx;27lolMLPCs1j!*HxEePEl_0bQF=JdVAeQ3vcw*D0CD|{;F00-6*Ys-I2ODRJMV4`1PXaLUm}-1LIWP zEq8eD4mx4h?^PEOXwGhcQzBj;70^cX6qsaFHy1#)!bK0O*yNRB|#==8bbVmgrrZAbdbO0NjMAbwHi^nZJofg*qX@6;bYhZp- z`F#sl{}A5KK?R&kQhjpVM*-=H*aCJ(83icyQsPiE z$Zj)#;pd-GL?(g$izH+YmTyarP<9z+&mYkzxGJrR#2_7c3hqWYuoSM+89stQL(I;K zO`l`tJBr41V$25{*(@eofgTi11lTZfbixbM`m6#3fDy=7{S(tcV}l)<3Il?70WE`; zJ1vu%|6L2_j=Cz=hWN+7v z`Jwy(?uKK`ZxwU?>4rNGS3dk||7>&f&$_V3=>BUd&c_VTh#9fFZHh32O*x<9PO{)+ ziV@mRUZH0Os_VJ44|nh zdxC%RK9)m}CXY}x)ycx>6N~rS*Wh9W1k$xInmc<65GN}|go^2$_Etw&DdckK-DI@< zz>INA*itPV)iAu#$|ZTqQK zsF>}0tK;J0A}c#=i!UTw2=!@}V=)ynFhHXbVZ^NF(01kUrpu%{>-2A>DK4&|pO3sx z!#g10U_-hlO*j7oISK5|KJ5a*`e@Qa&ND5Ni7WhItChD*`ih8vlWv?Ie^i>$X z=J;aPa_u-nSs5XdbOZqmGBq$*k)8dlsZDHq6*Ne}WhankNP*OYP^(O!H(LB1?Dq@{ zlP(S@;HQhjz9%+(f`wI?h=C98X2DCFzO-=U5h*o8t88&z_;}+M$OUO)Ct-l`gi=6(&I>29u55n3dIVc=WXgy!O&#oHiS@>nXO7p;YO6^rk->^W z%w$Oft4tm?)?;0pUd%;l!% z*M-JjeZ0&#Vn(t``T-Bkd0EnJatfZ^@RYl#8`1h-$1H}YaKKOAdc#udqQ9IWy*mLd z=bJf@$lt5qw6<<40_pyI+9s*|QSu~)i?AMtlA`_L8rJ*!S)a43D+&_Qa)aG+UnH*4 z{JF~FqO2&|8L>W45cvj;wzlQWUTdx?=<93n8LTuhtvsb`imi0MAYSbi{ebS6TE5a; zCQ?8y=*7bVA+o`0DVy0o@7)&ey;Yngx+xmGLim|zMF3U-9wB{W&LdukzqaBy2zNpE zl$Fn;#Q_ahFR-h-cYYbhY>}#$Y3OoiV`_aQaKwyFk3ez~7i&6o3o<$S@CP|(Q(U<_9!V~X}NM_eVF3!614 zGYH;|%$3Ys*T_vA^7SWzP<9RnY~CUEB;IoBQwWMVB4;;sbQmQ?Xvo2-o<~=Cj)vNM#j&BP=3hVH z(x}cz1zX`8g_h^0pu;B2XD}__!&gwY>R`vI76(#e)j$9XV#c*L?Zb6{Sr>fbChRYj z1AEz-es4sECpIwpEBT=wfSmpwFlUrQJ}mN!ES97>0xdyxxPK4F_w-$ycc@VFkT z`}uWfGr$H656d>|zqa%-JD)u^F_B`h1}D@+{ks44%*0gSTx&Xa_5}gOurpf25=;G1 z-o@puD(BmNI71T#XTGbryvoJVyt@vYslq50kpwnHU!NRNx=&dB>+WNf#v!j-5ZQCN zc8jWxsKrzkt`?1bx8D5Y{597pKK>rsV_4gh7|8w@!@C~8GP&N z=O_om0b6eZYxCw%4w;DGVm&-FwkJHfx)N?oc1nnS?^MRRvc4{HihPWqpn#~;HAq?B zUXaz*0Y}Dgx`J<|D_+c*vBX7+g3LsV^X_*qn{|!2W-ta<5h4;Vnd&wbbhK{4q+ic>K_8Mk2e)_f{y2uojedslJh zJG&l%WvcGSh*g=te?aMJNasX2nctFqu_T?Wd#r}E7x=^>BZQoyn`=*}9m>{FRPfFk zD}wEN)xk_#H{AuzWq-RG8i_JU{r|v<=j2pX(Jq1vnM@xY9U40D{CsEh_BcONtfo-7 z(&p*BGo0v(Lyz)2eBW*J#9h8H()4BPJF%dyib^0%_)-nYTO$sD!-(vOshDKDt~07q zm#amcSHOC&_%4?Vx3!>Ye=;YHi2*7M8Vy8qh?cRy|}H*)$wAR9gvcBM#f>==mO z$~p1y^i>CQH5P(?(*3Mp{d@PhWv}U{R7nr{z(A`dm>8=l!?%CnMQ>*Ngr?)pl9$)+$AcqFF%b)%{^qM?f}j>gWcT#lr$ALoi1eh;E}Jxw$Fe;W!VV z*7~Z>#fH@R!a^xbyByU-b_cf$Kkk#;+8&LLjxu-L*SI~_Sx@u19XFZuMI_lz&dA{{{uFnIQ>7QgftT;}_pIyHT3c;pwPpfBx2% zyz-~XQ_Qa}ME={4<8?pfbnVQqxara1c?idEj^<}=O2*5s_Lx5{fF*FGA)YW|m5FXA zqe2&`%=xm41*hc-bWvbeT+}}7H|-MzZ3Hb0ZkO>#is@Wqvl>pX&!HDvPz;QW)6>(P zkB7F^3kL%v{v1qI#=Wq>;NT$3ZEzZg^;8&%B4mK=ysG?@=))6up$U86mSty?1b6ee z?4S8Q-Qrt@fBgAywb$Ar>*VBQzb4;z36AEP?r^O=JxpqSwbk90<2`^UfQIdjC6xI9DnER2s&29W2+;fpA!S`4NMzpGcq#h=;@Ogkt&Od_7`j6 zfbHGgXd?dcxjDD3exu#7bpNxp_N7pF@ZI~)e(MU`wZYWVQcFWa(A(`tYwHvDy3fmm z@Z0v@9#q%gzFb-JMa%4$fuSMm*Jsb29ki+{bg$4V?XuO@H|?73$la*!x1&luXh;a) zqeQuqw6xWq??FL9b-H7>C;Ym;MdNuwm@Y){Kz=bobJ)CKbASf-StG21xm#5Q&2ZDp zGH!pkkdTo0S7ZbP6-4}QD>dfMhK6g+&U0A0Q! zhbaE)19j+JQR(&jX-om%$LntxuiA4(U*1Ps+?@*QmVfUxhU$8K@yF-?m}`mpBuYA? zSyU9~i|c>5b?ke8c)QDBq@r>mf2(I;VE$N`nu-soYiZ3>5%j;UYlF;xKx*n3wD7A4 znj{=kISsv_mn6PF25>Bd&y4r{{Yz{`r!N|iFEugb$8VMK_t~}Tao0}L`+FY{<0k)= z?DY6$!4&1h7!+tI67GB9v-LM>V0(KzBqStF5dxU@Q@+}pxVs^;Y3W+`Ct0g8m)k15 zoYQj{%izreIsC-LL|kUWm1tcv-w>vMFWdDmq@4V7j{57^q~GF2iVB=XHrPx z2%p#!_SAzVRRi_axK^is!gSz!x$hk0Kg;NK3M%ZtrXy$+MuvxhuJP}`Q$Ec25D9oA ze!XSBUw2y-gn44L{hFBn#p`0%w=exJR!yq1pRbKSSfG{naf`L4}K&&`MEU0jR-3jGHIXT^{{6W^B` zt)U?;;iqF^LR4xRE4NP@0|eZX1bY!5$%L}A6BEr_5Nm^#pDRNjsDF;+Yo+MRWi?rz zFcfZf%V&wSF!$u-eij^PhGrOBz(LeNF>EMe7;44g{o2=fa(lL4x8JP0)6RzkS_RvB zU3Yi)e6{=OkYLI=k4{?qZcYd zvt(wT-RLnK8J{hr;6Ndr3mXSVHh&7_o>B4HetT$P0-x>d0Fh$#xgq+|C02EJrUMch zx`_Ns|J(WJ9G!56R^&n6x`MxJMCCO_8^0wR5`De-ho%X$x<4rwt2Z<>XzwVKUtV2B zO{ga%Clh4XODlE+8G90+`@x7YD`;rAj)roo!M#%R?#&DlRO_ad#5+KHjJG=ONxQn< zsGSy#o6DKLg;7a`>(pADAjV@1@?hT)dVF zBWffR%k#@=6#-oRY(Z(f#y9_IkS=d%Cln8jM%K*I8+BjISWK3L8D zNa(fUrQhuNu~<|O0)TD5?O#IMEUrvU`Rmj?aZ~)|U#%E?`@0ep*ml`+9v3@X-9L#K z?Lw#Po;(1wf0e98?)~O|AsXEZ=-NnZ}A=J zJm^A8O6cI=Vyz7!fLRS#SHluMW{oVLroBS`F&SJ}Lz{eom~OL1Y6JR+vzctQ1A6>p zR7O5rBqXFjkq?Qo)g7cWI2%{s9FF^?ToVl|+nt%seSNe~Uyvy^;^MsB_8w+;5+LJ2 z?4t5~_jn0+W4@$QdtAmS;BA8xVH=MKOb%fYTEZo@m*YnwoTS~vcueMq5^%pxm1F6wic%^#y z-_&0~{eun;poZ$=${NVM)m_e>2RHAA6>r z-z#0Cl;vLK9{W;y`gitaL#V%iqiqL#hO1-YHzn7-Y>QudXPE-20Z_)|Gm z-9A(-@QW2jn^EAT+}JTbv?z;U1{~Vyd*%O66mNfFRXa2^bf3cW4{U>HdiJBcOj27H z+z96H*88LWRtSvoyfoI9@-MZZod_9A&tFJYoXOL-{F>Eluo@{a6#^6M{{a4+#opjn$!oo=8$(!^_dTnnJ^RWOnfbik0@jB(yC!A``x`&s19EaB*VosT z9gpt;GBQn5(75rC8E|ZG4&Mwre9ZU8 zGqrR6MPdZ2Ro&W!tLpSLc;`pTm{%$lH_C^YQZD99-Sjm~XOM zj)Rd>$`=!l`+sJ56$FVxJ8&rPueV~}(uI5_B_#U5@Hh%nP*89nhNRPcq*5-K$=Uhn z^D%=x7NNlUpFf++4qAS%p4vL8hu|qLmX0*{tKBhhB}KY;Ouh1E5B=U=+!>_)CuEu& zak;Vo+d?ikT=bOv=zBJ8Dv)i9xxwk)wzm>8vjEDIqlPT3H#|a@IeBE(<|Y(LM&WcH ztd?O*l`otI9q`)h>@3g4%bjn0T--)dD zt$-t}#T_#j~=30T|VuxJ>h->6W`)ZpW0A9+4b1$l-Fg8=mdX?d<=^H|4?b$qEOu7QxPfpft<||f15HM}dOtElqvV{FfDa=%|g&g837C}Q^RW$)7 z+|dA&YLBJ5;-fiC0R#jC6HddOQUmkBz5OnHX4%mFW2*7!I#i#z? z%;2FnL<4@XsEd`u!8GTFUA6mhe)be1lmFf3Df3$jN8Lb(JO9G~#mf&yrP+fzkaZ9b zS^8jU$qH;7onUw|cCP;8F~V?+&mVlEAjKxq>+4-XWgj}2oz>87r;_u_6QR91dQd?t zeAU!nu0ZwGf%YCr{pLNapEhTFjc!vLRq0cFw;YY`HQTw07z(*HNw$E7n44VI(jr?q zzt)^w)3H6Le1`zuoUl^6XFu?#Zq5ao`rnTE?_8n+3!YVQwpaNyk0&B7hR z|14&RZmw?S{NW8A+`q54dpTz4{CD4fK;|DQ6FITRY)D9lg_y2i$0gAQ}uC z-e-bL^dE__CT{`VZB{$R$iKjn$^fuO!HZQ^6AQMacPKmUPv#PEl~Ke09nujXb^v1< z2At9h6kT22@pSI_CKE6^4GP|Cw7oli>x=AD1b1iuU-5t5Kv{2`hUZM$2Nx{{@nyrm zW0kskkuc~}17GX;&CSchUN%b&d^>|dOOwRMvTxxJc6;MQv9YBB0s@B&=)}bKZH=FP zsVD93?BE+Q=~!yAN5AK!6Yl)C&cON8StsbYZcdIaMknZ599v>0&>4(El-tjn?LrKx zV1qxv7ld7HbQ?eo7sW03`_bjgO5P&qgFUN1c9iml|Kp4p{Sux)3PMH(H~aNmKu{2u zQJ2T_Qc7DDp3^7{l_-f(FDWy#-QFMpT=v@9CUApZXjB-syMgF(?v0uH+ui!zY7^_y zy`{PN&cSqeZx~u9sCYPV|BDmy|NqMgMK<_=CuQ{-?Tte)yl68rGn@5KnL9r-(9uB# zMB*MPUE(sM8np3X0T$yK54X#{1xje3|L&r;oYj#di}kr2Vz9K_1K~0#_V=~1Oa?6} z>FGwzPWf)ta>=g`8^Jq-s8V@3ox?Sbb?S9GOJOXEcRXQ!@xWm|Lk^ zPsh!T20Z_F0UKc?a~b^Z_K(+HpdUaC6)V?lbvdZ%=@Baf{`2x)f0pXmpMLYVCD8Gv zwls1Tv$W7FEoYpM&D;s4U)t~2EDR}C@Y^kMXlV^ST;cY|pjFk?fq?Ptu(T55(_EPj z$hN`*G)zoc{O*P)m;7#@W4^DM9g|<2w!Z9vr-EG%Ikw8~*1R45{zjmXDVaT_*Q$8F zo}K_$JgV-%8o6ksPAR4i@w)TH<-8h^rb;UuC%nS;$09l-!+mmHCH@Ca9`8JRHmF6q3J_82WN_c%) zZ+E5VBqa?T*;(!MCy^uhZ|gEEh#jt7WI5N$P5pH^Ra2qt4=1u)mAZb=&a*w{3XP9f z19b@W!r0i@g5I|*iXbgC0_vZSuP+p2Kd0rHSgzw{j}o`tlF!aCHi##dPBMftJsw@i zZiB^&utDaAx$~LLcCHKpYE97X*u&=;p+3#ai8WNrxD9IZStn02dU$+%t-+2T_*Gcw z?djQZrPxU>^&K%(Ge1ASKn_Hx5kJeyhzTT0Ku)kftog>PT{d60-K#!2I=b`i97MB- z5(nMEaG02wwwR+}-4I z0A_>KX|STNzlnf*(dT*S*RRO4c5cVt-!Sr|Vj`lRg~-Xb4!D=AO{KWG8wI^>{BYod zsu~&~0OzY)C7~V_6_uf#2JXxn`_;FotyyATCkj3Dy~($Gyo=5KK3? zvFnLar$7#MdfNZq_$D0lA`Fd0lLkw>>_3xhb5zISdbztszgW0_#!C8m`|+xAYmP|g zXMS=2JRJ=U3l+AKI9;NJnOT|MT_@N*Ncq%SPJmPc14c*|v4o0L3^D%~G9dw<#SC6i z*A@&-EiLXk6Y^TCv<|nEvwuG$`VSpaYiD2_OS^ z;7E|~t_UPmunD;B8JL*3R_8Bwj6A(M*zH%EHhYEdchj-KDvD@Ag8$H|vR>{_*;|9> z;+WdI&C=!cTAz6GQH~i^R-)OpPb>_2IBWH`^QWs*gf{{IyB44oB!**%1-&+VBp8?2 z#ELLrgEv8r7L!WegY9U;sTqZmLTQ|hy|g)PV`qmpe#k0~D^pLm85}Gs zvO2E;`R}?p-)th{Z)k0DDLbJnpFhG!hLuFi#W`52 zKicSCE~Vw?Z^a;gO-xHe1Td);L5G5ZYM3*9aJtsc|9Robsd;ot)$!%gb$a$_ zRJC}xq_p%Onw>X-dwqR!5biXVOA5*4!Kj=+A|m_1O%LCQ+2szWen`> zn2{jz0O@=?36Oo_3l^O}&UK`ByRI1axJ?xptkDdXa zEN=G|lEEanQPl??1_t?J_1(R_^a?{uP4ID9g5J+BQWO*!aU(l&Nj?}@9Q+&{A4_M! z@e>OXf*b@JJA1vZ9f-r`g=}UUE2X@=B*lYA-(N+L_}%Bm)}q5RP|M>vn3}5T=%mKQ z)wrJ-0z9B~0mTCFNG0>8NMCFn&~eVGI7W#D4s`* zPvA@w5^O=c#rB>3Xn&u_c1|7_7Z)coG25sLB*k3~$2qO1J_>iDF)%)WOTshGAm+-$ z9|^HB@dN$Vfy;Mr9R3WF(=itYjCJO|mi~gb<=4 zgiy&Qd!-_)?8?r{UeEjPfBw%o|MNWOoaeb;y?XiebKm!Od_LE8y~lNZxyJ%*Tr$+s zNUwM2M{uH!KGl9$X+*%; zW&(OPOtJDglcUK;Y49yh`)X9_g=1l$Z!I+GBd+|jdD_%fsjc*sSI;|I6Lx>63#Zc=1 zGAu)IA0ZF@N7e4b$lpO4f2;_i-&?)lKqGl2noiS?BL) zG09z=-fC-U$y&+$12CE>bwZhe@Ksn^qnAx#hzdz5XnTqxF6b2FBBN1>v$K{=!>54m z8kOOHl}LmsqwTFwT&To&UY#U`T2?ygTeAJ&Se^HXi|1QZ4{t^Xk1}+$&TFnc&mzdu&{*160q8|xkRLQEZ5!B(G-V1exyTlf7LN+_+PXEv~U$QR1W z?^RiD*;ZtKsf*lo@nZj4vq8K4&#sVN^{0jd-hDSu2V7xHw!`{ISUtLv(ck;l<+ zCGDKe>5i;#n+rKKQ{M{8Zw$)b`okTUy6tNF%L`DUlp>y6t~N&T>AhRe(9V1iKi)Pn zh1BlQoj3FJX?JL7DAKi&`>c6uq7iaYg8XZ^J`F zt_$Ob7=!2M=R03r=8J52&5`_$tRGa1_4-uplFl1?D72%8RFrxp`W)@3B-G{u%A+(j`K6 zDZaB29urgd^Iejtbq8{!%=+tJpGnD%=ZDE8F3z`>|M>Z{u-Hiy3YhxgMCpW4-0>7unwRNB z*LmQwrb6#l`?OmU>+p(xJW)>Ju+#|m^IAK#<&&SmPK^P?D50KeJ9PGB@K~* zroQcLOH;4YQBYJ&OG`T*+Z-ck)cgKsRio9Uj3@bzA0{Ry(1P&0c6N!AF9V&bKYol> zexYzSAv-HeRn;Tn(IXKI&Y4YvFu1U=;4Zy2JFJBo@8uCp6skB)HpM{X?kveJo;#qd z?J_6Qw33`3mR9!OL&TU*y?)9qGcJxH~QJ~}#jQz~3(eIj?;SPto>OJ7mlU$Yo_rC-=sRpr>4 zSW5Ci=GyBTp^&=a(yfc!)a1+8gII4nIjN-jG80B7oz~w*$M@x6qxxm(;7pv0ytRA~{XM1W!e^OLWWb57qs%@sk$`z1BbAT8sWnel76&zi8{C1)lwaPUAuqP(|nFKKC=S6054vMgD-yo*TsmJRzjBe}DAbII_M+}LEq zH37b`%~6waZ!tSg5_~K7ORe#}M&}>K#CUB5XkWOHo0}W1pAXd&?v16#e0UKP`%vj= zgRTn=z1Tm-j+!kcMQtB5bJ?>E{NDgyn-b^Q57XsFcW&KcxqH&xbaBz>@|7zkQLbI; z(b0@?ad9*Ig-@S$BPAl}24DH@+ti6v>51IewJv=X78cGnDnIi=vo2&G zE{)ZmJrAIMgmKKz&dw&S{4~w)Mns?Jo$CMoUGmth_oUPxpm%-!YiAYfpxN&^a7s%> zCA047kkk)qqWgS=h3}n`o16apISD%yQE|8=52vL&>z{e{dHeS5wITc3y1T<4-WY+K zg1*2MCI~WiEj>L5Dn%GL_AWVjvpO)6oZZ%T>i+$iJ^RHzja{Ooq_nfk#--+>9sAKx zKRG#hRPWt&YwJC%lJB2A8%8ch>!IczPBaucj(ohJrDZ0>G}3BR-_#V@m=PLEDShD^ zq#gAqCsr0ZC$J#EhnPDadYkOyQyLS~`6*cr@s)#Z#cv;)6@SL9)^*KT2=rIN+RpFZQi9n zZ;WXode>!UWXw62z*#c4vL3~!6Bi$E%(OT&_^iHO3HJugrURs*)Nv4w;}~35j4XJQE30 zZUQGy?qjE?r$6ET-cVPUDO~9Z{4hvpFSV?&hs?~(+$8q0b6p~aQv|^I06qQ7^z_Sm zdMYn8XWPbRSA&jUH9qFLGWQc}d1`73K8p`^rb=JsR8)d*Pjq~~{w6gw6_9G^nJWgu zfylab`!+HQp=-wLjI6Afzpsrv`B9^?lEOk#Pj|vv#$c|?`T~2sh(n${`HqgVD|+7+ zr~A{gr1*t|o|ctKA3eH9osn_zXh0kHX#Q7+W+s(zax`gbsD)Ns6=I;L=jT^YL@LeB zW<6$7opQF1Lc!K*oUTDNC@5(3kFvDUz~m%7ZQd~c@7yFBT#yyqmPkaMMW=3CkfK;LS4qptP5Cr z=8X5AJ$rPr^<$+yiV_kGn!b0T=A-*|W>NE&#D?C!d_S`DK2@kBU`NLsRowemAtr zw<#$f1j{EG1B(LX$JSDA4%gcD&^s)Qe~pOvf+7-F+pQ%|6sQjy40mM*B@2CEQQG;H zBO$x7~YYs-Rz!=Me}eN@kJz&dwO+C>gKK?VFbR`rn7^!f0e81c}Xs z9(Qz@2JC689Zu@}>NFLhrK_vN5grl}f)>^Q>}BVf0UAz)ft!BmWA}lxeIJIk(jGoM z61-Q?;RK8Qv|m5Sz3Zdeka{i=zkU0*d~37#&6_v7_X=2DzuufALnR|0)~TZ}3aFeVKd`wI5)vd?+4^UIsa#wN z$&=rSQLgt8s)^I&G)i2w;YylMc^r$c^xL?j$@Qv7=1!6$QCQ21Uv-QIm#lDZZJ$4P z7ao6=nVI?Y=?&EQMxHA#mOtjadzUJsu6OyB|N6SS`(-&fVs@PF=`P-&(97Y zR;ppZ)~VPFt?2*@i$4{cp|&=6>}ei)WvRvJcD-yy{>NS$s}BG>Iea-dx(=(Yr)Fk; z>*^XE8lv5|&t+@VtN(0UZ*M}x9JP^{sOSMvD=yjl3eVma6hJ20?I*j=3C0n&kliJr?oSoM;^KTqkG_5Vdf-M6VkEUJHlM#gnMG?Nd}=pt-)1mU zJeAf7&OGHo)|O44 zF;Lvg&c6S!dSVDQ;^>DhI+fXl1yKhfW}p)pfrL$#M9WQ5QI60Y;VvZ|}AQJmt|a)dK6zPsp7P8%qn ztby3rHL0-9m@j_$@@4G)7{M*OYhppN$q3JXqU9vBAKt?1did}GM4rx^emF`Wj-N2Q zetl-3(&+Pce`C1%@{Yr(zMV1n?6Y*GY!M-$>ozv@1(JCGLnST)gI;OFz)xSk&@wJg z-KXJ9RgGVS6cb5T3;=Y= z$jBl(!%;tXKfoQ$GnFND;HapW9p`oPI5ZqE(P{tca(+)^<2d4`pwZ%!b2v$aPCB~C z-@omSM6GI%AHDm2`(5>Y;Rq!4&hno>nAfB!irl=MZ@Vsc?SRUW(5CeBl|soH%aj2Q zY?8|pl|JQmU9Xc1NPhmz>FMb)>ts9i$J)U`*=uzh@r;Wr3S%~}_4MTAT$lOOo}Mf2 z%7>CQx zJKs>1g7n3a*nMACMTyc^x@MTkvMJ!=t<^wB?z-UxR0t z0`oJex}0iGY+ercjTeeLC`6kR_nwW!pW>sHqf%$}0b;(l>Ti->47J?p_mF#M3y z>F6dvcgDvzT@^wC^rzT&k2)hOE9!j6(gRd-v`Z)OuOFsAZz*CaA+UIqoDFT78l5`# z+9sP?mgIwxxFa$Ju8ij44_Dhwn64Qcv!9$!3lG1bsVUs&n3|nU83q~)NdS!Vc{R1b z5J^kxHCR)~{Ef%Qnc-xQSbLR`LWL?;T^-VWXPLmQQ>93mm6e`fo}asLA#JVRI1FhU z(Wt4VW$kyd{o6NhxONb0UAlBxSC@-h8fhd@{`m2HNb8GfKQc2$k>GKqfs)Cgvh2q4 zN@^Z}2>)?-)_+gi@2$7L3HL-$kgZBcP_Xsm$B#Jp@83&y(s4hIjU6;7VWRNY;Gs8C zR8>_K75&QE&!?WIqZ$j(1b0)dkY=Y&UL+H%^i*$gYn?>{s%IcK-b+-LZ`kp*$lcX$ zvo}xJmg-#125?^=K%T1@QBw=0zRK27ZGMQ+kY)$N`yl_6mpf#Z&v(Bu`%;@Q8*Ekp z;z0D+F*Q{WVf)0r4;1(W1U7#cPt(ZO*4FZA^NS<+k^5pp0V{s_^5q_NQ0V3c=wrm3 zBS((F_d@XJJHOPo2cI=MRZ7kNC_eshH`RDSKL>I#wX8}EGrz%j7O~Qo+FB0BvAc|Gv+3ex21tZE$It5^_Ojwe$6J`{R$==*p5 z?q~gIuKCrx4;~T~C8dGcW!wg5_2bw(f>yOUGm zq9%vBGzZ3Vz^y)1XQ_fuAh`{8ktCG8w(E)$F)O= z3VR$xuZZ3Y)UxL0<^ZIKnyDH*AczhP@9Ne+#Ki?oA1t(gfa3GiR9bT1v%w_>`qyrr zc!Cma*l7x}aB7MLRVyUg&d$!g^pX-DtIds3mC4C^^=85WRSos^r^(00$6cMBDVRlG z78b7bytRhmjy(D0%QhCuy53&6_zQD$kDWS2#?D0>h)LX^`}@7%ZlvFZO#HJu-@W@d z&IQ%XIb~%=D*E3?12k(x-!hBau|Rnjj)iO*9mIzffM8f+)?fmsE9w)_bW2^a%F#+( ztFv`%KKJgGt^C?Ao#X{UL;A{t8~S!@XwVT66@^X>K^f3`rjlvbE^LjCzIPwi_yUs{T9XxdMWOrqy^wFuEo=zW4a+Ot#?(dL=GdR3;WNl>y$YOHx36QO_*zkQ(aq$3u zI|8}4b7!T{tK3|gB!;JT6TufXHRB{#nhvQjnlkyzjEv{9{_gj>3dn3wd9+9qM z)txmtM{m*OqA>oez(MfeSgzxq7j$$2+TVd<6A;J;ck!aHfO-FZ$93mrDA>=xC@OAk zf~2ah-Q2K-@Ou7A)@oH0sN?PzaT zB4r>?#-{VySU9y~#~P6H^Hk~d^mH08uEc1P>B&qml%WLnh2lI)5!80nT6e?lvCwZL zB9`ZiVOSE`&VGw;WWAgW9|KOL8@4PX@}1paXe=x(T}D6UfFPvCXK9?Z`a+A3A=Xw< zxTf1xph5YUGTos8EBkP5OM*m|m9;g{YRv?K)GTSq5@(;4H%b+*NF#d%72tw$8H~2C zknl5RqTi0%jc8^Xb%5KNQsN(1$B~AnrX3`&m_)4}Wn_$_BM%D)EL%+yOpNM}h0cI+ zZEc(H=qk`Yz4#2s`RKGWclQWGY|LEdfMC22?UKTxb& zF`HMJ6rQE~`r1^FScC)yMm^~vSUKEmD=dKP9tOn1{SYci0nUT!729Z8!j;`7_&Qr2m{irveE_xQJ4?*w^N! zEB(^aoZFL#tlXMq4>zquo;MIkJHT(x^JCtHd?RO??g7&0%pm8DC8~;Vq=XOH=~Zkj z{j!s^bT85JU3n(%>$dhK;ckl#J!cLFukfXM22)>=aBLM~@bPgf6EOWXzhbcErm>A^ z`96r3Zz!H`TN>v7(+glbWea)*?#TU*Ei%&5Mn*=K(hU_GBG~G6j0ZpkEy6V^=`2J~ zim-dvEBL5<@AhpuA+b*Do;(Q#Uz*K-er7W`FZHR`wpwW0BPyaKR*rDz$*#``+MK>x zS`a&IxMWb<02GgzI(m4NdZ{gRboOzpZ)%=BYkoD_2Qox{ew*8ghc90ErKbLJla^?R z*gB|Fi3=>b?#xDKqtx-l`~0QbFVoU?L@E0vg?dxfLNGXZ^)YqTYd61Ks-R(^^E}k# zeRjudQqBe^KitM7)bA9cmh-`gLh^P7Xi!tka@!JLS~BYSq_KsPw;->e^^C4=*XL(- zu5QNjX&Hru=_rQ63ZHXXQxZ|@5X}VA>?D!gCUSvjW*_ErRov~}zbt}&pkF_J$hK_5 zFW|+NxiC@Q@#zz2b5M3hMq4w3a%av|@-yyczxAVj5OvJs$6W|epvRJs6&1+GMn?xO zX7|E2Pv9$)PdZ*(Tjpn{CI^RhSY4s9jKmRC=kaUJr^ychmH<1i^?mc&`WdOz*Vji$ zxyVJ!d;ItW?jI6c#7-Ox05)jp7tf#T8W@zq#I(yV&uvK%#V>xLyZa>4gCuL15*MoA z^G{A(Ff=SHD&iIqd4pcNJ$FK>H8nKIsi-i%!Xm#LiNB?}S)QDikFSZ9p8d_O^es#Q zxpe80i)0^CWB}!*%LR4^9w=B_Srs{s{01KKW>ZpE7d&yIzP){X2#`HDNkPb{yj9mNQGx0 zxhz_Dp@+hv`Ehn;X4AF&Fg7Z|BS&P(LAcj561>YX0t-v?^NQpMptbO+)IVe=XKzqG zlzq~NY)?;~dGNb;9Rrm<5~oht^%flf&)KT*^7->OCN;YxB=meWOifLd8>>)cIvLnP zzJWihY}E=+pg@nKuMxvPsO#1X#)I>Bi6l6}?;Cf4Y@?CoRCt`H%MWG&fEez%bVyJO zpllS#Z=RT1j?2r-tFGQ5(nIa#<;BL91d29Yl~qRVL2&UsYLoo^Tes~^Ha9niYrCJE zy1lEa2(^ZXd-Ri242NPXT3b7DV^5s|gQuXX8r3?o+wTJo&YvtA(+M>+uFA<(f&EQY zPqMSH*h@33XKhUo>pTlK$RrfWclvz*Ne>~xZ7oMuu7HG;R9sXPK z&d)i}$lBVnK%qM9<3lxv%f{;GmtIz{bZHP8V$N`S{d^ zv3a39=;(;%y_i~&vx^V`J7o`sE6H=5^G<1=vhtW1Mh2Z$JyUrc9H5z*mbUga<707E zmg2{ctEhUI*x7v?nKvroiBtxgJND;DgJ@07Ar}`Ha&}xTJk_MJmOgJvdm!%_)Qc((Nx#>KZH)W-lEr?eBpVl$6zx5B7_z zjf=QNCL}x%)ZqDn|6DB3P)huGk8~cD^v$K;2EH2dBx}`y{UDq`g3`zWnS%NwXUB%H zY8v_E6cNV znirFFFJFGZbj+m6-yYGLS{78|bxTVXyE%c3mZxWYCa0#t4oLVj z{MWDVhlM%ax^ zuT77Uw11`LqbM>0EU2n7DA6=9*b~NAt^0~>_Ex6z!DH7SI@q86?DoQB-TH-za4Z@+ z<;X!kiHM62pE(=WclIseOv05we|odg5#n2pH=&EdOfu#AVBSz0XWaW&-C~>U`Jsmx z>V9gaUVW^=<1QgrXlrXLZlk+ZL?;&&Q;urShmW+vx}mX=Rifh*AK&h(*9d>B%lsEE zB%>uPQ~sP2WzxgH!uj?-;lx1rM1EMHJ}1y z{QO)arlP{a;G93Uw$@GWt|?eX>i9)k_2zaCg#_RraojE?rEN zuJc(It$`!VK`E^31INwVBF^o1suhgr?ErYKu0A2U&`{!HD8iie{yh^LFL>n=lNtv( zIXUmsx`vzMsD6(gJ&H1DqBEyXy!voZ`m0y#zv9bJZTr@xi%jA%^6~Z4rxk-$0my1V zprz^QmV+Ps`ucX$$bt!p*m(NuV*)&dy1KeT=8g0e6QRMuRTjzHi0*@ZfK&pUJ=I^% z#{MWgd~jq$M^p35_wW2s5H$4B165U(pq9fC*#I(Wt7v|1&H+Fd-VH8#6C4wevd3iB zix)1KoQ4_&G%R?b`Gtk>m^3KSXxX;3v2ovAFYndq`G28|=(esuY%mimCLl?94ltF# z`{G?L_Jy#0x3STy_fvn-ZEMtx!2GmybbhkudFWvV)q&?BNjfVz zIZ@$aLu+ff%lt2>=mmCrN}Z<5P9OaA^=qN$hW{kHnK~W&tzXTtzP=>xEGzwmSu3#W zbE_vdUlsDF>Wr)(^inZ&C@jbi4J&7+&C5+sKPe*9KGu%uhAtFCD`d8+r>4Ofl)#Kux z<=eAsR;i!b+9oC^ze7Dk*$(a1{ipw)2^D2!DmH0Z?nuylGmPUuemue->D4nd;duK6)yywI-@2Ykc{VxOh1Gz1z~(c~w=N9K)93S(JkW zYNixE1`;x|5QH*bUfv_)A^}x5ot$*Ewe4(dLPA5sdmI6K+$8GIMGxf!#UCkYt6GwD zzJvJ<)Vad3&4V|6Uvb!h#M)x2}u+A*K{jj|t%o!MLKsrNX33}H+{qG5@%gIQ= z8qs@KpdOZ%{`53Lb=3Jg=(#~IzI&Ge5*S!J6bBz9NY6!={BW?hNQjG5K1j`Ybned0 z*qXr`aEX6!eV<^~y)xTC26}~EFLO_Odx)`Y_{%jZt$0FH;0YG6C(I8(Z^An8 zJoP9UG2Iz;bt>g;cb#k@?nFi1N{`aY7*aR<{LPfHG4c_2eBpWF+vkoJM;Rmz*_>=u z>Rs3V?UxeQY*b>3urNLzkyzS?dk8<(>C;cO3I@8m9uL=5&8}Q}{)bTq5+XQIw2LjZ zCN9j_8{YZ8hz6n3(!Hx|f;Ea}{{D7jlarFJf0*>mXZ8sTeNrTE@GP!8eD2aE(IeyS zFqHQ_E%=hg4#67B6qZ7nNc#e_Pn4^~{~fRL@Y|9$7`r^vJqS4H?44j?nS?PlJZ=^I zTxybwbCywSYAW}vh~W8a39;Qg@9z`cRZq;#y>Rp9>wUAKn6&@-WLn*|TW5yD7e3O5Xk9QDt;GnHz7iLSJCoIla|?T_gw}7r z+wgVD`B3@j0Qd}fur7D*e6+aTsCDG)$B%Y>B`apa>BujVlCtZbR7A*718tbIf){~~ z0d);`Mey*hhMl{%6oD2oE^BH^-}hlznISl8dI_Qd$C)C*)a5ROdE5Rn;%tf0!zX#R z6G`*S?V0bBjyTL)+L4U}OuSt?gjrM>pZfj%O*jESst&17j6XIL?nb?={31eWtL-=` zARRmj@Vdbqi&|>4f2-GLf*kPK{nyjd?RTkCi}h};G~`G}id*P#ACeA^Vb(ByY5d!~ zc=g<6*?#+o2w!8S2dT8Qc{E8`g52EN4tD$g)zLQOa?K6Writm6M8a-qi79w{W{jC| zvRPTSJ18foCnsU6vAKEkn7%5$b>R4p|4;rUFDGo{E+KaeT30^)b!V~bGW)RKH-kSx%J=!JPew2Eq@v%$YbikMHLoNE+ ztQ((e+KFwyE07-{S~dfk!~04Dh;d!7TUnL$dZ@*Td~URAmS}m0o8j%ft(}fY+Uk?x zwu-xVjb$mSelyfc^MqCjC7(XXqyeWHp%)MCox}RVL}aP2U%v)NSz0450GfsLm4`ZzkV=n`7G$ZwYpy+2O%ui8OP^pFc!Id3fsU>U0ib92L5wfZ~}pwn>$*b z!^O=_;zU=Z((~r#S7^Jwb>~haW9pAwv)!K{QDUey%6f6?LY;LlAlf}LN# z+S=QfJI~^J)5^ZAyGKeWsqiWh#jHDA-OrzoAt0fUbC+gg=c3C&EEyKJsshrSa8NSTn(+nqmRSn7HRz=5DQ%XqAwN2mVF z3(ufqKyeQa4u*9SLkbKuG~Rn{ZKDmWHW3|AMCY!%p`n26%d7{_GBQ@%)MW?*orY>u zpzT42f>{Lh4$JXcO)go8i;p5Xg_xQ_1)^>9to(XMPfrFSB!kvLUr-7u&z=<*pWV&a z+@EKD+|x-QK67%CML5>R%Ib=imM=9-9uPYf$N^)?cI*HeElW+kR(Wp)gh1c>W6ulD zy#XtNkQ>v_Oipc)*~C^patE#U~O)>9!e5~rF7TMZmhHF;aM@;9(02; z>~m2*cP_By8mF%-pYF@`e~{dY|A7oRP){HOJT7W!-MV=*FeIeJOXh+@>FI;ce@1CM zM*xegO-((vJWVjiM!8W=(mOqU?BxZ{nlZ?VqkoRL$HIcr`U|yA>iJkntM>Y#Arr_E zlmYqn{nF_%r^Us@g2bO3w@?FUK+30)1rH6_Z{&WAoqdo}_I{03Jy1X-9C3?_i<6T! zkdcSa9gA%a2|4de9Z&^|ydXMS8*n465MKYNw+mey_z3{~5sI)TY2ZwHtYf}t9qdljxQ^O}=NJa93yN zQhPd2_XqlkTq4{rZ$S_xr%s$eJ1Uw5WT8U6diJbf2{F}9icq6`%avA>~f(Y z$WoAwmA=LpSd+diYE)KHab$VcblKs?Od}j3=_Jc~Gu1hz6M9PZwRo-ur!Qt|%}9{( zVlETdiu+;ZyJ8sK6EV3+fje^d?xdw?SiWC(+c2w=vOjR-Tmx8wA|f3=fjynK0| z8ubH6#pqo}p2J%l%5ri}W-D-GqFg!J42;(cnQVS#6wXCW>Yh1+#NMGdK706Y343K01zYd5-Ye`zd}+LF!@G zhw`p{TMlSG6|Kb*b20XwF+5FP2O16Z^d<%e!NDG&q3JW-PEmym3rg@s$G4syIA%OQ zr_@C7QL(Nsz#SxR)Ai}wAkK48)Of&=`|#la>hY{ds?gTG)PeH8h=&ioy(R$@+VG!67e<^?4}NWN5&%b>k-lV))$dV9hg?Ig;(k z1z%9z|5t>>HkpgQpZ?8Wqh6j9a7vgI_RV6;i%M`Swxx}srY&EeJ6^U4FB@iZEX>^K z2d9rcW&izsck92c*|pQjJWQ4$i!9}|VLZUOGYc`S2ZY*%obnz|Ul$W(-!h@$^r@S0 zPdf>bvMxG6d_HMQ-#d7>v;~F2QGa7bM#hcU$*=YGJiNU7ro-Tr?lgr5dJn)28U+vb zoeik6tm^D+*YcXJ*}MFZxS?1N%)x9DG63QLV1`G(F{dvmRvc68lP9$MT)uQH?oLm~)`12~?DlnHis$=xu-B_;FE@!d9Jn6XR2F?=uKy=g+^g83N}!`5!GN z-CO^5RU{4{RwRE-Wj&NfyF2H;&o2G5au?ct*xXZXt_WKWe_TE*yydZzVCaNh9x_vW zOBtptl5cc!(tY*M7_3XPluW1# zaF_G)nB}-5A#|YGDwv9x^y+}M{YYQ2lUH}%3y9R<*`Zk@t@hC(Hmk=9ub?3skP4m> zsZ`K9w*TT@m|ZBa>y0~Rs&IWYy1H6EnVN2wA1n;0fY85Vef?$HXDu*)=qo>ITKgwU zPj0%mSdf|=q$%9>>~7@y_ge!jUK2+^d8qUpgTuU}TKXLPsFlyV4-DtaAEX{|G-UT3 z8qR^q8A%f)5N9MW1bATON8j}v9h-c24r5u2-C9N08HA8JQ-=TT%J9{|(ZZ=4AOCH0 zV~s`@B9y16C)N}A3vzbK07o={7#Xp-xa>+W6g8`V2wx96%$9EM$|Hr`q{O~DR7onPJAM=Th61@Bw`%$tew zXa1Ef=4r5=7|+X%5qI#1po$QVy$5{=;W9Ng?nm(w_n4`vf#zw(-7uy96TZ8uxUBw(jpFk` zeF1ugG9WTMoIPHFi+1W?4F!zrmp$c(t=AS0Y}>Ytot@oXS_Xg1$ZWw&3{DbKzb(9= z+1Z|`K!H@?!4!#XLi?XV>u`Bj@FysU~+;-gV4xCjb0YXn?nUqgT&&cOlvX2^%{Ijl+!A<=pujv zC7AIjo_bS#mP^Z8PUQi`S0F?0iV_-?hMXO;A@HRtG)! z{X|3FT_x7ub#- z5$Smdiy3MZ+waQ{5JqADQB(U32hh{MJ#mCAy=m~*h4G=bVpIF$O4&tdC0SSAx}tNF zk@1<%E8Sxd?a-wXEK_qh_6&KrQnk0^9Zglfq3rDd-7=fY&umsf&XMiNfzkclJ5~&z zG6wV<&AoVn03pc8|AKl2N!F3(G@5^U0R*L_HvWtq9~`8C{!CX#OU{mZ$Q?uuW>E$2 z=RQV$($YLvw=MM~EJnAm zD>fSR3=Tw|=SB^JX%VzzY%TF1ufU56iHT`nNDgoKAuh4>S6j?#5+8vJ zrPM}8hF9gGhm4kmMH-ARSFaNJ8-wv(TVi{-E^=(P5_B9oR>Ih12%{aGOO?3bZ0v%I zp1>idwauP0#r4CEm?3dnoKzskbmT$eS2VH|WXHL=xl!IK?C0qFG5zph4IaFamgMb|~e%yy_^c(!b7)6L6kYr1?3GD-HkcZ-$8 zv+V*Ym>dEO=UDh10}YV+&frn@xW~eesdn96O0HXZO3gtX`20-JoAhgj9jlA8`)HO) zG(g0iy8JQ8Y~11G)KwQb_N3NGj~8}fGb>NsJvMs2eM@fM=1g@}nukbw&|bWG$3oFx z#zx84_+H0i?fycGV5ZC2+MaZZ&9dZK3598IpUn;=U-92WiFHClwiAW6M8qWC7*80; zMH(brkjVhk2wnrj+p)VTeDB}m7gXQ)&~?(RBlp4auoHUxk7Cjyl+1j|lfJk>Hr*PL z$=x{bKKNk;phE5^;jIL%XB|2}7qH2=2SXC;%}KkLi_{wrFV}H1No*W2C`n}C)5iYX z$TDl~=ny-#x>RsG@4*9Au*B0MRfLaN)*u`g8^u2bqeeynK540xlw@)vud&bD;9!J* zC-mAp?VKRvF=6MDkLm;NW4B=7Bhh!l+Xo^^rqLkkF*>`!@DDOob&KK%*UI^Bv+U!> z7V9Z+R(QGF@ASpf5#SS`WR-l}at)|%<6}ZGc`}-~~9;v0J2h>5*z)!LW;}-H0Jbr!c?Qd+qEgm!Fhf`9pFcXNzzO4JcAj%(e z;Bjz&D6JrU(9o2lNOyC7pL021+aVHtCiqW3Uz@zwOdFuKIDEk$-y_{!vvak6#&7os znwxBGUV#ifo7M)8ng%wC7MIW`CZ^FUNtl!F`YfVd^Y#B<<&ZHrfw3KUAwDL*c(H(I&-#G+tXj7`H1;}*tL*DvM=AfLHD5^&X*9>R*sdrVP}&mACv_HqX8wN-U<6f~&EbejE?_oN>Q~c?Th-MVCe%i zI6hupc3-r{Xx-af`sutdehG%y&(9Q5n}S$kgP_pUbL4OP4K5#q3n=%ng_xVaK-0^) zhIl6$;NRu#0d1)`wFMHad!~9q7$OVO7U27BNg_Lnd?p z!TR`q3f}tyK^Zetfa9@bZEbA6_w^a-=q%Nea?o#z>qayR5wuezBKOprZ~s-g0&Mw0FvfyR6f8kMxH0(T2szr zqmOJ55f=XP`E#-ckFypkkaJvL{u+@`aKMMU8e33wiaYi^l*1RA=|g&3=%{mcabad+ zf>jxV@@7}od#;eljv{7cWXL@Tq2N1m1a}IaDwN0Nr_MB7gFO>|w*$@!(F<@%em_v`IB83m!=8OL+zx&-u?_5`b+N$Pf%~V`92%tZQjGwz;u`O9mS9zqgnB zs()*|Dg@d1#@iMH$1oyNaD!(Q`EO6YHA87X#7g*}UEsP{{QXj$QiH z%;qklz5rHCw4jEgVUOl>Rnhspj)Jh(`xS@p_ORxEYH--(x){@Bxua?St`&DySq>gK zBC>;o#&)9nG?)m#{RL4)F=QSz+Z-u2b!wX>KDz!kllFQUp#V~UcyEE9 ztf7;WIP8;n5mwlrz5l5Wpk<6RX-zb%&xju42Zfz_&ctv+_ zW+}+ElHWG@eA=&W+>Biq{rs%6M;Vj7`{SLW*(j|F+X{i6k zIg#*-q>3O@D^Nie7n4TlW&`wwiaLDim`oCHP$d47Ac>!w)zo)}u9b7W+z z5&g_a@lVd6x1X)c=L6rojZRd4(C@v~(D#;=|Jk0<+Cm=*%nOqhP-|>+k#W@<2thLo zgMVMRbm*X4Ul}nn6Mu5dl)!|*^P<8Xxv;S1nmRBzc#a@;nVPlXX>HS8x%n_RfB`}O z`Q~7N!Hv?tw;#)Z_=4Km#`*DA4c7#WTDxMd+~F&htm$@03@=*A`o84{&gkvSN8{O?_G_R3*aGJcg@nkEV!J%)!RYDD6hUnIGyl~;BoSaWmQa_;D_{7AZ>pwRoS@dta&p!{Bub%IFVi5aincpyD zIx^Y6FlK7}u=!4oa3!m%j~~_0zg1B|L{Wt_xHK(uaAgc~EFd&gKvr-s4bU=w{AGr{ z1!0HUPe|(p)}2Q4(wNNqt+P`RQxAYPG0OG^9B5S0iQn}+lfjT z5ekTiO#Zd5C&Vf0lD&VUAwJ@N4r_n$r9JJ1kmJZ5^LXxVn<2L(PY|?D4IbaozhLAq zq$d5Jx1FJ)@Od4wX{&M-%sW> ztu9TM+x7N1wn~Z9XP~t)LEPSOqsr~iXd-4e#Kqx3NretSi`!B+k`9tzDX{aHdfVwa zB4Ht7_uUzU7@pDP)}8k=d;wz@6~i_!z>J0;ockcJtDt_-g9Kgm%cIIJp^qr9er?R=m%rL1%XIa?~ zetQj>E|+6C0v-@C^6Qu9`fMH87>raN>d2x4@5@Y5*&@C*Sw*$mYpGZf1Uii0DbKc6 z0v$0akww_7o=*LIKW4aqX#V|vI5cTv@>gD-umu~@Ez+5<_5E*t_+;^|-P-5gRA?>=+KA-rHXazY>(UVUGGZQGM{uOxhrLApTi_qK^|Qr#7va<^#eF}+_APVUoev7 zxaazNkau{11z3sMpD{+1_Xu-X7pS17{zfy+gqNiIGWwIZoKR1pVE}F-!fA~KVX_v8 zhB!Es6|}#BXWNk7m;-bpqhf7`P@|;7b?8v(^3W3{A&k~6-Q>+KnQN5UoDIv=&f0bF z>gIYUh^^kV)+Hm?G4p?%QB-HBlc<_t!Fm?Yi5Fp|1|rj+R|+nD)%NUJ#blB4 z9}z07UhBC)sjmQ8$G#NE!b!-|hi|V79fPwIkTfeJ15Ox6SfV(>9|CPeI-0|`jQK`B z2O(%=_4gp7!f?#l^x}mCX4kS@21jD}{>I?pBq?@w;~(`j-QC?7T@efyZisv;8d9Cw zRAr_*bL=l%`25XYkT6n*ngn$8$*DJ~bll%1jX$(3>_3@ziipTyo4YxsR`f{O@hl7F z{?551iOo1%Ll&7$e;D4Krd%PSK5IRhwnR)NNlkL*!Ubc5bv{0-&6U=ig~@JCDJirF zn}C2s^-#XC_zi=XewT0Q5M0{b-4Hf1`mbz!RX#&4e`;`9A(Z7a*l?q*RdFPRWR20m zfV2+#!NQSi{8!$b;LFszb7v6`WBFY&pA8|uz8%lt(JrSTa$j36vt3qzHTp`fNezVg z`Q_m@*M(DjUx?W}bss18)i~{)L6FpbQAaI!0>a*>GIaCoNNih`-uk5nbjOFEJuiv&l zWLUAIKo%$f*I(s-w89BtMQ~mOE3#5ag6suOmO`47AEft6`u<7BoLFm488`%Q2JTg!Da(7!;U|3p6S=e_{G z^#=XGL`A}S3CLIbiy zMH*QH1Y`+GXmCV9Oap;NSt5$cCMY1QEP^OIErLPNumnORNPr*-WSjG>(Hd)NYUbzE zRR4Pv^M|55q1U9Ajga?B<=BiBeIti_L%%e*R%EN7qNg$mMd%3D}7j8EuSWp zwDZk*x~Aoehn+|hW4cPNs6+PkQuN5(!zNP%KBIM3m)?;}iM?v!zKrY;%FV&=jGr_L zATksv>0Z4BEuz7}jgBPA?GvFS;eKMI}8G+1n*};w7xg?YiKs_l=_wTrLy@eb&d3x$x36wbRFa!S}qP(9c(Oq ziT)ie3ih4)wRN`nte4G;CZi%_XCga^!|f;B9&eWVq=&X9?&KxL0#MXfaYkm+;Kle6!_v!eL zqr2;6BHjGS%hJy-q@@_@OUuN`)woT9p~&`g7JqeGBW4KBy=9^c+k}k`1gjp`d!?RX z!~Ei@^aGsecqj9dZOWnZW7M(}E;g1SwWvt9S+KQGyC=!G!i<{m*8K^g4RqO^KQ?T&BT>o>mdMj{Z4w{(?LYr_xTe6#N!*L$HWLtcol z$gAR0rUG4o?%4>29&hV%dh=3@v(F?t{J76g?b;94{A{OtHO?ULLSstz<>fOQJvAc` z6OUM%t?C}pZyVkB+$t?EuW;7@;r5`ThiYcGit!Y_x9N=wVT5^J$k*SOg%Mf*I`izs z!Yxar-6VM#9n9&2M1eKa-5%nUv`tWkjw!s#h=FX4IwFMjN>-;vo}zpw;#qb2y1 ze}ip|TPF5Euq~}6|A1CF-hyGRYYV?D-%)$+?UjWr{~m2+Nqvddpy9}fb#y0$GOtB+ z`f&X+wpIrRT{uwU7DHpn=N0CP8Baov9xI!CCq6ob^{bnTWm#FUm5;m+?PHIEQ};CBdxrBS|IiJAw%Q|B;O)-=OIoKCy9Trb-=*+ zGq#hAvYDcC>~Gqoj_12467R+7irhVdULSci<$*$Ws>+WPzaW)&(?g3UTFx|rik`cD zP}`$&XzC2O#CkY~tz_M?MGlq@il(+OWVU8WgpgFCv?Ou``V6=xQZ=r9{fTXAAZ?(k zI!_fGOO8_9s2kM9vMGF)>QT zq4eUbyA%myK^C=S5Gy0ys&S^Y4;bp&Bw4rfOy=hFj00z%A1vSR+c*1!pXpRANiMMw zx~3kyqaRf9^gIE=B@nFLsoV$r!nY+@2k;c2@?X*+O##3S5V#uPz_5R4Q*0f%(=4N2 z=}M6m=ynjv%MM-U?;g5*jbgGx<3sy@+Rvht$VGYjqyES;(!0WD=P2`Q2srnJG!CoB z%=9^If+p%uLwYKcj?HI=+JD~2fW>s$$_O?xcGlpr?+U9x(IGZgWyJ`S>Cr_x*Gk<5 zhZqNR6Cgwb!v|Feq@-ixp4()=xDP)J{U$Gde}nMIQ==A$(GamjZ8P z^V?sbvijxqjY-M98k(9Q@9_~7qkW)II6!hxTN_U7__p>*h+6Ofe`z>ZOgEv&A#SBa zju|NRy|xLs_xHx>5w zfUbN6du66?EPzsw9a|4nbBHv(fEIaB7bIv225bp|r*sI~)D{^=K=kvH}6nAF!*_&iy zm3*z|P&5t~>T5TX$lDil?@4>;$C{1H1{h+y&PlDu9rqx`=~QO8A_^#J&CMVPHQ@o! z+5kqls0`d4*YFQej$aB`24(@$8>Us;cIDbZDC@#1@FQpo+2Gt-8EP99J41ClkVYZ$ z2Rg-3Ov7xlRD%4^=##D97VwoIKL*g2o@6EAnIWqSd&tgrEX{koK;1P0!2&Vn%5ORNdx@&PPs)lfr5&%%lTWX-kv zjEnYunT02BeL;-pWPd^asmV4<3g^6Gjn4uZWq+pt}L406Bzh5NAHz9tbkajC|#O zRn_|vHz$fGc!OYZMBqcbdSwm43es4zeNmNH&v@Un>0r9c0F;(PS{1a7_*Ue_*9mxV zwSc`U7}Mf{W{%)f5xE2sm*AYiV2wo6J+L`LXhW9~dKZl2<=`+leT1pX@mt=7m9WO3 zITKP62hAN^H=w31*7ar`ku#I2^#dnLe}XGcz{392_hNP08us2&v%tZpbyjf^sGe_+ zz>(r$VE$o-cnL!nsELWr4i0SSf{0OETX|7NaOTOySLdY?S=ttb7*3wo8nSKKF9Wsl zveog;lm3<^&$Bfj@M9^y({qDUyWiW}I5~Y}KRb~RjvcTY0=A%*Ak&Cm^WVaH#Y&G& zf_d<~z?(#&YBw1p`HnvTtbhJH2;7z1z%Btx`NxF|MDW;1BJ;}ytXveF2oR+Ea`E-< zuNPnM{(AA{?mr*%bxOWo{6EbNGM3K<^kq<=tpqWkZ_MSh0exdG-7s zyXF7jHu%LQS@bLTxML$Ertsjw1H`<{95{Vq`(DLX-on7v;j^_qn!J&nt*ySb?)UzO zXlO6c#GvmK949xYUEa#uU8C<{H{RzKy3hLd{@SnT=f4*2)qExL)A2J_@ut?BlTUeg zdRPC1K5I23gRJKB%CcB)``sS(1xya+yILQZ{C=6}_B0D7S8eB>~N+P>BCMu}EiVuWTE(}(wp_9~PXwS-iuee@>oF(h9 zXqz+7tl1MVf^}^lm5GkY8oQ`VQ)f+C(eOK~Db7;vw7fDJ8Cb)KUrni1NK4tzu+CQK zlO|Qg>{{j0m@xZ!ncLQTTyJ@1I&9;9l#!iXYpW@nx4RhFI@xlWwCs;rGAm9kf5%8Re}6hCQ(yI?WG=iQ_suJD0nnAo^u1NaBxft;^o`shq!xK(nq-`$|gd z)A7D!6rMBH=6VSqGw5y9?AbX5>q`vIK9-x!ayD$n;64DWQ=@Of8J7?ruc4uFF(|=& z_~o9XP5JItt}U`4O8X~VJAb6F$@$DR?3)s=LRz=aqN`5x4Orr;OmG-TPu&t*wV8PW3UXi{ z`kZFs-!iM4*a&mVD@G?4(;{uXLtz}YJufYO9Pq6O2j&Ek)f)-y+M##OzNRKRsjg!Cf?^TV^;sokn?Z0Cyk5%tF@|7{FR>kaEc?qtXT6=v{(T@j zHO0!8=78~~(c}##q|wFR-g8uzJ@cEiN(6-m|En*X2hZ(4iXLjBda>h-O(e@E(B+@X zXFT7$;6L~%fK!y~&Gayawd0%NTMnmHnF39h?Xz0Ev=v%1hu1^wWtVTOx1vxMM3ME3 z)z|T~uDY7<&m3GRQ~VU5dSBR3UCK4yhg@7EpF8OXk4b|3=;UyVv^+LGMr%1&4t%Uz zSX(g}MLBYRyn=f{wtA>379QJZ6?f{!|G=qE=0%-!WJZj=!aU}E?9;XUvqmz1FcX9L z7~`PiIp4=%VJUsqmiY>G-}lgi#yt+W?l~^bfNPuQDKwS0c7Boz`S^?JSyDvngw?Ve zO>}UvUWtN(v}s@9mKgtXfF_6A{L{L!tXmuks|jLS)vQtqL(XGSHjy=g{T0az3o9f? zdpO;G*ZI7|P%sf5RM)x<{~58o?s~+56n!vF`38c4DOf_hQX@-jS+xoMa%nagmRY=T zEf@uN>-E4gN9{9$>_f3!tunJYAF)ql2I!9!YSrvNh@3gyDM!=+Rf z=tO@Qq-~+aQTgt;SgXnHy&dWo(CdSb7CjGrgM%T~OCMBKRV|c1{i=i(?@tFz)08F% zaGM!EsxtrnUIO#kxw)xo^lm*PhseH{AlW1oYMio`m6Zdb%QE~E%f*7Pb8=yd1F%n%abo-8;1ytCdK zMnNfJsjlSsjrGXejP6YmPs{ef(a(fsdz-2IIYZVF*&0HvX*w$1lVY$)|wpXTGBtC=kIN!9H9#6!X3sSL~w%5w3 z1mtXK%2HR)U*X$73F;QC>0j60R}$Zv*>#>)npQrj;25*dA16HNO#eA@+Uo9(<6gx` z|6HyWSs|qyU{Ggh!@K6emv+J9ZUBYCdqenYb4z4IYT$xz*7WAzBxN$2ZI`|2Vl)*s zHI1fG{*9F@;FRB^lC4HycX-LX55G)TD6?Idw3}bA>oSkeH?BLsV$h#~~agr|vsD>vI0mg|&VwWeR&rrtWf)((t4pnUp~Nb*HXm!WOLEwpG-9Ki&@J z_+!iVQ31h$qi4Z^(ZbP^PRF4MANI4*gg{LKY*c0tbHILan!nE&8GZPNN5}aBW1P9h zoHm2p@5P5bm<&HGg>H<&&8o$JPqmhLnfwr`vr5{_Mn8uiAbTsspM_j}6mkA>`U%~P zg2H&4i=HW7kTMKr?vIr)SOWvWTFphl&Iv=}{b!%F|-?D)uRFhdBJ*=`YrK<;NV$ zYvzv9$P$~C$kd!%QOOh`Yw%ZxlW^{=hBxYbniQ#~LnlOT#r|HCZaznZ!av z^9VG&B64-0TS5{`rGcWN3Cu!};P1mq*=v18z(#LJ>1hYU=HMZzNukd)_|9ftomE=q%UB=p*|R z`JoS(fsb*715!h4)EBEBP;1nL_Ss8YY;JGzy+3!XFrTuwKhU9q6}M zy?WP|tZR7sg3SqKcu2}S{wec!(JX68QMC<3!hl@`#bmP@(q->PWgVfZHN5TR;-|;a z?6kU7i!$y%7##ko3_Rr8mis^nO+oTIHd@;+575x&3U<5u9u92H?yVO@hCItzmVBqE z{fg3tpsCGjomKyHOygIs@tS3Y=E+C|?`+kk^UD}Mggy7S61x|tvW1(bxiRszeD7JQ za6(Q$nMV;TtUOaBRN+O~{SI#opztcYj1O_1$mpYDgR@a%y?Omq-vpP$r98-5mNurm zJMbmzifVapc`sf>NZDn7kl?X$5wy74RXtF|u562>J7#z(q0NGx7}jp|roL;a$D3ca z?As6L?dB$v=H*?-Df4de%$)3Vfy&J|3!8F-LH{7Pb9jNjUuN7su?k7PcZ&^acVL%| zeao|sFEH39Nq|~xU2@9DY+b=zkFG_M?rwE@b?3BjmSybaA>AC;zTS7LYNSu+UnqnG zTz*2i-9Enu3^l)=Nz*{V;Ry90esmz|K%^hh;9`zZz+7PEWp}r&l&5#^EjU}P3pY6@ z<+8#{i!bd^L;Cy?6_nTFV|7#}q->*DCsStWTo_&5D(^l*I{vsdV?P%$N*^&CI^DIH zd!WLQKvw@d=TVOML?k8Y0Suz>?PQD-NQvydFcY7)B(R)5s+pRr#D=|Zv`h=!Sla9F9?>~3s!!|?pZ ztmX$U5*+w|{!*d40am2$Y)t7{*O7LbEyhIl>DY=bO&>g(UuE{-9;rO>wu(d^ve?_c zp1t$w$l%*H_d5q=DzWa(&DI#xIK;&BdGB@~8J9JNLq^}l!MO8v?_@kLn~`@i4IXy% z8#|Ym>^3!9@xtV=;8QbXB6%9qhgjQM{;XqQvclh_f7&ZXi8^Om9Q{;2^SCIRP9&?3 z&?KX2(CNkJ9RB-U{_bO8g5z}4Jg))Z6Bt#u5js0Y_03xb1O(XH+M1f0!ZLsT`o;B# zPC*jiojVGt&*2n>iY|8#E1VB7qEU6}Dc3x}ihGJVvJhKZnkX&JID=m_#@)#GW%VgF z3Yjl|&;GXpGI&#w&_$R6#h}W~_9gvgTox_k(*z4H2-Ke4s;`~r8=~&PXA?`zx*%AP zs2LlUzlzh(?bqTMM`X3g9p|WxcI@}2=~ROI6p>6UFWwug+MiYGCdjaU#Mg@|-h5P$ zp7S9>L*;N3!-;SinaXal(fMce1F_Sl2}S2QEuE3eX;{|pi}7F_rTr!$p^W03!Q)ho z+*qAo`LGK$z4mP?iF8lXSaV5-Y;pe~>}91ggdVbhWZ z;LLZj&dZGhY!~_JD&hD=g;pKeMK}-{u3u+zA?yO%L_InkGThCU2h=|35AzNdjE@5G6?=NE*ia6A2woSPO6j3@e-oP zs8XWX$>P;4joxBt4CXTeu8a(9;)aiSII=%X&l?junQQUQHAoCTC=L$Run~y6a6_Pw zo$Jkv=+cY*Q|~LNt(n89VTYzhrKnx)K?cNh#u>Ftn|of+K$E#YhipmcZ=mNxL%UEc z&CSbm(XH-^WF%%YkVMo=NlCf8y9bxU>^8=52llXq67^gr>dpt!lW8%2^mX(*B)%E# zA8}cI6N00yF}O6)!zRe|Ff6WakFk2*VpKB!vsKPr-v)o(mSD3u*Qn^Q-zBpbD{=HP z4$~;<(+a(a#-)hBDon>ZG{Cu2%kMjKnvNHKZt`CJ9oXGkg{25%TIuL;U2Dvms?k)& z$xTxDSb7wDCN%$EHc`l9t#Ma4CMRT_D1TzLznuD_L&}w6U^b`2lhRYNGssgEYt)sP z8M~8DUTyr-8}m~mKI7i>jH}~C)j)5GrU)OL+*@dKPTiw@c<>@it@eW_x^8me`s9}^ z)&(SHd#P&(=Tin%9n(Kbip!eQghj`pD^V*yH_U>riQy_rl7BARieCyCLJFvI0v>19 zv7aL+(+u+=harkBlX$_*^tZu;a?4jd`EMb4UM9KL>=90A?;E44Cm>6)M1c!oG*|{B z$JXo4L2NYj6prm#Ps8H&dO`+Qt89VJq3La`GOFLX`Br>5B>v(FtVM@J=;qW>{NNql z%@?#6e_#LS#~Z7}f!l{XP~6%=E8IedRPPv#~t}V`F2# z{|*UFoQ2dJ3`#KIZ%me%7@6F3@D{$!V`H<=qT3qJ?z%P>S`ytr8Um7Z(>Wv9GH#=H^U9w?L!`HNWdPlrF{RaaE(juw7f**T?+luqcom6i^VjM&-V97@a~ z;%PqEGG%@FW0t+>l24{TOi z+V!$A1MOO8#ilkC;@CeU!w^xwyIWmbn;}r$Q)e{5m*l$lFj2YB*=7QPkcs0oJ4Cjh z?i0Lv^@?ABkMq-?uMhF4HxcFamyOEWZXB%EWoM~sO+##0J|z~j%y2k7mf&(R81k5q zwYjHfD~s2Ph}~$e&aM85?59t2KU6hd;Tr1c8P$~y{1&}Fke~X|#rI`CJw08(<>>63 zx!HygZSJ&h6s=!(Wo4z@Vr*%7nKnW^LVQFb?J*hucyDjMdX8iq=hohGX>2SJ38mD< z)j0|si)3?zA~Yvh zwCdfbS9;gpa%>7_Ncn^ z?O*SHfL#nGzH**T4QHXL2>pc_#Zf0U?s!*_p1ivK-CUkLxet5;_ z;68hlb=$wiFL?IyaO^ta&FAmG7rTH}Am%jvAaSm{(j9|GBmIVpOF2s+iaEpWc-rBS zS4y5&UjiR$nd7~v=xTqmu*=b=qDAN6pmj&+@z&<1`E+N!Ge=IBn(eR#HFc|cx%uT% zScDnmq{ehY&h4^JR#rA)xF`&t4B|dDRcX`H-3``=Sz8)W<7BhSx3VR`_~uRFWf0Y? z&C~UaBCS?k3q#&D9A-7uB&&eQF8%tSoaOMIxi&xwh(YaC_O)mM8H_ypW< zIV}cq&A9GkQdC(lcOpkZwt`W@6306`Ds>k>j@m9q^Dg@P`T?JDb8QB9DGcz+!PENokFlp5|4rj`CbaX)3^Q#2C0nuKi+!Gp~p<@V$6?;C!3nGU|LoI4K`ntPa zN3yT0ZB~Qw^70}hMaTsuqvv)zXy|itav&$4R4sQx`ykrWVx)Fjt-Jd|`}%Aw$z};x zS9hC0+cjBXwDxE+HyDDYU9^w{9Q$w4;JrgPx5d`zi;IhU82HZ#3GGxd`1q>l=H_nX zyffkeNPnJ6ktz~p*TNb`XWW5{Q}X*BT!`w$EG6xH-sv{P@w< zw)Ct4A0OWV#fg6ZJ|-dS(taOALaO#fgt+fo6SnZO^{Eeeeqm9O`}O5<^~JNnpxB(^ zVmeAn-Nw7vc5(y2*4x=>*1HQM?vSaq1*wfUH#<%g>jMR;2WFt&T?9!vQrX;0>FX)gh z1N+5ev(mjb@Eb_Mgu2D4@p$7GCnu-Hw&12}TC}&!1}4J7O<-SQqN58ZHYX=1b8~Zn z0lQvSthL{o%u_#&h=_=ZiQ%$X85tdojg3`ORHUMzk%^v5#_C*btG)&!H%sCME*zK; z6zH7Gd`c47gwAl<%F0Rr1i}=_3Tj$4-S>QU@ReOhouZ0gzrMoQUE^p{ zQd7g8J$nW%HSC+Q+Zf$*2(%ii`bVaMOt@lQ9`M{5vt1xwEtM4K7KFG@Y%}3^UHv(vr{D zs&ziGq`+xuYYQe^nCx-Me?!=d%vLH2oF{RJbvo+UC{A z4ZQY)jnvfCyu7>w%vzyc%MlTZV6oa<4xd*;gJWX%U>}&GApJTSG6}p=P;J*;{qto5 zgBnjyM>_~J9o=BfFZAlWIBqBNj}8L?R5L0L**;2nh{q2M=;FcxY%L?n-P(b?K#W$- zc)$f!TYxo0G`gLf<}gA-KGT>-;~BwEhK))`L#vI>J3m;L*U*R$2}zdAVqjos4J01x z@85Zi+6cbalsSx|M-tOTh$|~AU&42nqqLtB5si+F1QIU7fiFBl5t`va#3dv=g+3$r zq(pQ0wUF$RP>1a)7EVs3SwX7>sFBgyuXlG!N(!_qt=~5#{b8V`HLsNwg5u+^AiH<_ zd1K?^q9Qwqh=_)}_V@QuE*VkcY1mlW0^wl6A|pqEyF)N9?K%R9D=mBjaXaHW3@t8Z zl@h$g#l_Xv*Jp8F{_EGD#>SMb*@cDBQQk-(y~wq-gDpf<*Rr>_x2LyvslaAk^x>T0 zL~pOOMa`~vSy|Z`FWVLkN!RiofGO}FI-frMGM5C1gws{)Fkm zu~Exe5$JNTP?}uPglSFOZL|X&cz%Aqw2X{Jm*nkl0H)pYaDu!4jKs$o2qfkLYS9)< zt}H9-1kAya4gCl?1;nvBOtC7*OxiN;=v{VYb`=Y9~i8y=)csZQ9m*VN=P_|D1BUURxqgB}HpO?i>*h?qS8 z=1=2ka1s_)7&8^7FGG6YKLB}S$0G>f6X+mQ?LQ)!4grfwp=EuP&(J+Ui3=w-Z;vs4hlk zW{+6)dGM6&Z89>lZJ_oRVIGc%J{qua2K*p_?!6gh80F*tB@WaTN^Rz_+t zLF|wquyGJVDJmLBl%Fu!J=I&fwp^eWPA9q@toSdnP-Ub{T|8GOi@L0nA}*YbyZ7 zl^WY~bH7e;2)QkP0i6ISc4U^nqOdd0CaS8RjAa1zibZjh27R<*>tsokC)dmYF7KjlY`vfM->wMnZ?D$g*V5?EQR6W z;Y@Uv1uzg5kV^czN zEuJZt<=jsV7$U`hJeTclv>g(I4b>8Z+Vkyd0G+E{Pxs`np6#(2_Kr_J5(#*|i?FCK z)6UP!BYpbR$k>?2X-|)arVRj1+e&c<%}VPVkN|Kz*oq(DZ!6L%M%fI_0(eFcbwe<2 zfBQ4AyA0>Sr3h&sA6L2L!y3wv85!G-$nr1Us_rM9PBx#X><&s#mUY*x!Xa= z8OdC;FP?5|Kv7{~|KK2iK$>B@C19M~yu8v$+h(6Xvp8&P0GE)OnhJNhytptmGb1G> z&5%i&u`gU$#9Qf2IPat{h>nSQ=+*e%f5yt*9$E7U7=L6Xu#}ub>2_|FR={)M`U0Gt zmzJjg`SbktcD~c6+Jeeq^Qj8junt!@ZI40+0hKmswUe|ct$0AM{(QS5B`K-pq>tP5 zrlqAtU?Wpt8#j0$fzQF(+M0u3UZ-TjADF!g?7SB+V$0 zBO9JKJRKM&V3V4BunRIX*LLI1@IERk0vOS;xVv3VqVn$D{1)JpXGjRpi&?j0>Wz z0Nr$%8RF<3#tO6QUR_-s2oqfa+B36^HZxtlghKT#?uLsmxA;f7Ulc8ulK}--SXdA| zTT22wghnQ@%0kIXM`rP4kwM`3(ekCB|15rxH>3iJw0YkBZW+49zFwsIgri1cveI66G-saQVfl z-l6g?uft+%Pjs|YU0ngQMnz$6E(5Q#+4+}5ekZ^RWDX7vdXpftNBb0_!DJ(&+iWgJ zCjJEI0G}Bc8kS#Q%)bMBG3#DU^-9kPxCDR=vB~%=J~e!2a=3X80O{l7q-kks$PLDW zippW>q^q7jR33T(WWS%+ez?)j&VhuK)XmiZiA0LO3gs|KVJ9SW&m?p3l{TF`kaAGw zalbeLc#r**CvIiMfNAUo@17rSD66Vg0%QmnN2$l3NJjOGOM>2L7GY7*j4dM9U#x*@xc9W_tEZhNT$~Gp?Ve8Ckci{ykc66W)d9PUZ8nutKhVkdWuA{C5UZ;M{0I5KH3F`jyCv5Xt5VGg z_;cl!PziKtk!`3+SBM71gq=S~&1!vkxWR+WxedW|Kch9jJi|QJ$B;sv(yUB z<>cZ@c6o=rwy}XgAnNxzQ;%$Z{yNN>eu{@T#JNR$wQw9P=my*@87~Mm?v#(vhd8wV ze0ig^%xW=lai9^Tb2Uz&KkwT(pgu`*AmHd!LT!UvrIEHJREQ>khmX(cSonr^{RVvo zjXL&&C9jG{pvj2X*sy))K>Oq7tS{XTlo*uw1Ox^GTw-EkVgs(RvXZ&bCUif%h4$5u zV8s*dPf3n)YaW0{2oEaqo0!ua>ev4=2nDLB1YG-H>vVf*uj=n*yx2@V^3LXenA%_h(DqD=Ux9ddve;3HAUW zIE&f3+T2`8w=ocHRm#6u8j_&|ZY(c17f>9?sh+-~;xnB0@AE3Hmmm2w?e6UK4-D|w zuJz|@LhuHF^#nE$QSWgb8ah}}K@RjPbLQ#)GTd-y3mXjQtLf#1O0k}A5zDbZbKOU} z4J{Y5(Kd3Q0+rpq^z=w=hOxmxwZcygAcTW~LG=S2+Z==*)dv6>YY+L|&>*48Kx$$_ zOi^4?f`Nr~wOx(M*AOEINYd{aeI(=gFJP<9B2M=&>#nbS*4B*3f{#5t(8+EV$ypuM z`*7Zp`|9cn1E0b1%Z3H;P3BYMWhP@F^rWnzQKR3bB$#AjLSHfV*6nO_ruKZLrv|`H zU>g7cg;)FeODrrdntb^}N1v0gQ7Hud4^pB7aE+_0tE}w6Qb!nq06^tRU}^arwx2$I z3IeVNkehk0ilML)q~p1Zva_?b>)mC{F3n6$0h&Z^A;MoUl?RrCX zJ`kw-{d@6XeFpG%pw(r?#X!e|Xl{b7Cvj^LJTHOg&dkrR10<1c;4TYG+)7_ky{&QK zw{P#9oK7R?*8$-)jH?1mAlXf=Jv&Cgq@kjugil%v&&+&~@EAO1&O)eba`LRm!uDu$ z0zfEaOdH^jfc64T0jM7>6O(&D+TTXY*5nx%SGmW9?rx*kmCSs|csVMnPwv~!g78$<^n0D0I(f0HTFg2}hs4EZz1fh#d zdF#jDe?(POS95W2aB$7O55CbYNBhIh3Og5oR;8t-As0JMy0g~Utsu}nx9($Qa&!4# zL3)1t+N%--;a`W55on3#xczzRpRwkDoRLYd#>||5yJKeg;IEp?i8EQ+ZDdqnBPEOIBB99=)(%pA~l5*#>pxI6KCATjF>ze@wLi73(0;E>1QCf7m@ zgNldj`l9R1`1QQ{ImDIT+?nS5t%!6%b3NaM{sBnGzJ+^hwY3k*$=NI&GaFQjZU$r9 z=qGs1cd899 zk5>!!W1Y_x%|W+1t;Dk0)tT7oJ)BTrjJ|3O)7uFB75%(KF#84uni(0rwSl;2=Xz!` zus3OcUtOcs8|+=_bU8%R=8kfnFWAuXFkbiYS;V+0_ax$Tzi^b23OwU%deip>qe!E1 zfucf;Zz-rmBe&v}1OlgQ1*Y;I+I;*NYtITtEr#%?P^b+jlR=kimY<{GfO>6=BrdmA zs_#P{A&A8{Rz_+D)~o;+Y;ld4Xlc<%zuQ2MM@&7XJU!A*g?-jTB0xf}f6(&?8|SW> zFa9R>14xRcw%ZHWyEw9nI^!47qhEV=HNu`CQ|oGxU(s8 z4+*Q_v^G&&ZTPl9^mJjBx^RIAj}kAVxy@97LJ9r~du(o}B~gfpQcU8*=ToPg(UbS- z*)SMoH2zcmF{w|j26_wO6>HJ2vXCs~Pv7-N8nxw;>NGHL-HKX@d1yj`XRVm9X_xh2uHKjA7%X&{Vm&*VeMT)wi2WF*$4Jxq?A0r(rNpB=rBA_OFVR*d+@*$3I z;)!9qXGPYX;d01Tzc(zCPC!reC@*pht@l*{t;M5r8=|FEnfRF(*{BrTg@AoqH$)vo zCOEv@#QOS!>ZPb1f#Q0X`Ww5YS2^w)RW|gHa}QCQ0(-lZo&_wmBV_*oKfGAd`9q4^ zb#0Zi#ul|xg7`>W-^DhGcF=DNqpukPv)$1>3Sz}rrh(G!au8XSBf)t_nTpgqxT27E zayx@}X>oA;QFYwoeVRu4ZxvI*J)@)VREpP7-2%BThuo?vH6{;1Z`W~Y^G1%(?_{mn zlG@i=uE-3Psc3y+O`m=7%A1${mIGoW-WnO{eP#G$!h};)DJkvO<#Bf18k?q7eNDa}OH|G@ytJ7JAH=Q9c%S?56HNZE9*~$fDdo1Pi_0+T>cdj4y=5#?(%vz`Nt|$ZklDRKTQrFWxxk1TP%p|A6JOANI#uh9Ap z#{UPU(6T>eABEYx zz1vK7ybLq~xFuzW_Hw2vOwyjRXq|ta^*Uzb5j^NwqXkIU&-)xahR8sEGgu`*KzLyU;=F<&t4}Yv~LVq6pH( zH~#*QxHu)31=o*mQWo^$CFo%EU5E0I=3P9Q#~NJva%+>6I)`+88dH=4)7*w(Px5c_ zz~p;Mqf_y*v2HeiZuGq-(LhcDpQzlH|u`r#;Wz@JSe$2y@*8A|}hrY?joOwU3Mu=UW>j$YcK6_Nb z0QV`6ixZ;$pmX>39V?yu>{X7CPPLhu2yrT_$5kiNq!M$L-0fqEM*357Ep!j#U@ETk zY$9;&sbca_62jlTqa@${1Tbol#8p&Gi!j;n(F>_k<3}B)QnNalJTZK}P{=p^8M*e$ z@??7YbEFBhG27+NmI+?1FFT=;hbfX-?`dBmvMz$AT20QLqhL;+MnkeR(Ee}OGD+xM*NO`5v_1FA4@e=(XlBbp1PiL@$l}XV!IpP+;^9FD*07s*KEN)d%4M;#vJRI^h>KTfZ2x>IoVaW{-QZ$r z3H|zlo|=CzKqa4|?z;7PITra;BudZs^DUOj*vOYXxb*x9oA(Tkic?>~`v)W$OcQYS zpyTM!yVZUU(0fz{5m_)cGpTs(v1Dbdm4?dK3GBMqtDa9-f~%S~$+imVOeBmfNpOlt zE-Bq2)Rn1VKtCasG6tR2efPv9y|Gz|4Gi~>NZPUtgS|Ae-K|Nr6VKPn2cxzayj6Ea zWp?6uUs1ifQkqy~@=SL5mSF4}+P6VQs$FLRt;n$UP_T4ViwRZ9$9XtUG|a*_$xO01 zd;>J50q>qD(5_$2U(fZteMd}ABh>k$UrRZwu0xTxB!hm%ku-nj2)Eyoo-d~BR85b9 z@c>Q5XZMn++z+loVNcth6isZ3=29rXUh0%z#Ma9?R{mttN==9pB2E`lBw%_Es)|g1 zqZ<|u`#_7|g*g>}H&;QbZPbOICRLqpDtQ}aiFnKBpYbX}jso95$#qqJL{Y0k$!T8g z$f++TXS3TeDw|_Xt|wKP!7N3zen~TI?~D1&$W%>|MPQ)Y$cp}!dIs-IIufptugldQ zo#_b*-#V8$=wznr%9XQQsUv%n>hdycG=C4XEFGE=B3AYfwl_K$G_jP+#kAySiD&gU z8+P>{lH^5~a#$H7EkvRpI+@bRLzcUuRWC+klu2&YAHEl&!tZKtYYB-6&jzpmI41J@ zZm7paM-PvV3OY#9gmpe=BM=qzhgC57UurzA3JQ7Xi%UNXdm?O<6bN)`dK6FgN zI->^`Ka&$fk~>nPq_{hYj8{KvYFTEhc!aL*Sf!Il$ZzOxyN1I0%Hp0_OUMbkR%hXp z{H}8*v1^T-;nyCTH3@&{1Jma=f=|223S(Emc|PI{Wi2gtkS2)Ia_(que#OIcT4})4~np7ibkucczNGbIpfK$ zh}7>;GO|d-7gEYraC39Myr?tTv7={AZONY|$FHI8jg#%{Vm+qOe>A0jyzwWNLutNY zUcHu3Oif5Gy}w%DPh=vb-SW|+SYrIz@vl!=#iR{%2Jx!VbZLN$lc5UfIKG&FDNyv{ zur%EyiHrQ%=VDjSC#%~~uN%tD&OzH@8I-a5-QCpw_kxnvnTH4cz#24_|JbMW%0KA8|sr*F>!^Al<7Nw~WbcrR+pJxQu4d-~3f2h_JR z3d1$4Pnv!eS=23;z+#y;WlqX7V=~XqF9`y*>}IPxqpSQdaCvlhmy+hDdFmD_)<_MK zKl3e!WifP3B-yHR=ah+>2TtJ-5j}ZUtr8MuI~UL_)9>7AWiQ3eh_#0ig!P8{eS~Cu zM6@@(@f|dN^qZI(`MC(Fdf^7I$lSSehXN4)Dv*f=VFF#|mc6uOkQ=~evdE8^uMkw# zNLnK;v2LuYNF@I=8?W0Q95SU+uNbX|38L*A5mp-@Gk~B~up~=7Jn{))f~PNtOZAm&#o+Df zy&A`MFHh|h4kn$Hxh8++7o{?}uhoAk>a?{LYiKI{U~FWzFYx?lK@{x}E<7%x3_$DwQKu%5$q+GQf z=eaxhMgT{-ywrSLr>;fit?hq&bxS@oI8yZy@ndX zMe+sIM^BTHzk;Ap{{O2)_Yw0=ap6v>o{7A?ykJs22z-M)8AWJ^UZ1;gk<`{|P$h2l znW;1>VzSbM6sO4XYF;a-g#ez%t0W}ydp7apij|szwR*vN&}Bc=Xy*iTo_W)SdDm8x zOMIPA$5UB+Z>;OpGX}~w0g>Pws{4cB~Z;jh<~ zF*14wIv&9#IicZD5+?Q7QmU5{bh_L(#4P7W*X@)+1!(gMEA2dvYJ=>p5=u}?rU|?fneGsd>zID7_ z804C?W9gu@5Ic7%m+xTNuECjB3f(rwF}Xc1#u75XV;vM`VPv_aqxw-2fAFT<(^k8n zyBuCx3Ti~2KDY}~G$3i-nkoDH?7-=W#$K5Wh_2#5YIZfHcu4q@Lpx%YAWFaK=m^D+ z>as6*F5I@w_|E4q$=4-)G!qEU>n}p9s7JOsAxz5frRoclbGa{y!wS|S3Lh@f5k`en zf77h2R58QmSC&to;Dj7}=pMb3rK)2b!_Gy^DQo(|R(AGX06U{pd>m~gTWIN1W9e9h zhUGY%A`Mr!ZfhM%U3r@{{lQ$ov|5zR6Tf3gC@$;yPTWrZ3R_+y#^;oJ3l(~qgkvb~ z>?|(4aLMw}SjX60Zi?`s`ioMej#m(}{rCXCv(J1wgpMgJy~SJr0T(_hS$ULZWdcv^ z35^u93Da2^yl^a^9uKY;>O6UFZ+3za}Q%?WxyRN!-5dEIb{Vs7z?G+3u zSR!^2JUS1RU(Xeflg*f$KZ<$bi}T=dvu~vU={fLgY7Br;LZtqNpWYHFsMo0mYk z(YdvRgGCB^MVK1GbFr9fuD6~~kuE+m>|%qnd57Y=W(!}+cifUrh2|JIb#K8UdbyXm zs*cKA$^3Nv4<*fyWN3g4*D}!hGTO4^VW=B=^5aZr>#Dm$_UAO7f^NT(twm%Jfxz_R zrs0vY?nn7qSs?u0r#Tcc6&{uqQK+3^$aIWZlKq@wYgFG&D$q7@?#kLrD4(C>>TRSm zYw4fSfawuB)}nCWt9Gko#ib+1zoJ&QQpFJ-6h4crT~cpjdmem-jhotAjL1?&w2vFW z^M+J&J@Xu1x9C)U>lgbf_5uuJr_=ys-5+tr<$*e;t79($t&emOU=$;1sYwOIbI0>* z1NO`ZIt;n0t(BZOll+Gt~$Rfde`nsovAaP!8gJOorXp#HjV)?3a)MjI zG?umr_)l>*dmHF)+|&WI;Bh>t@>^7UIe~`u;LXkd1(=*vb8tBJCt$Ybjt2$BAlc3D zVU|G`r0JHsy*1!IA0(2Sj@&%PXIEI-*dOYN{1_?>r z6Zct;6EbrE@44$YS|s9K>nm1 z?<>zs57iHLhsQRHf=d`aou!_6hG~6v>);MR8gKso`=bvgXautA;Ly8i|DQh`Gqoz~ z%0QJ|Nr}xlm31Y*pdi`*S#%#0;HL?Gk$Z(Tz}pLc(a0Hg>NnCnh-Kqiv<-!ByW zCgOLr)B;&7c|4-Oo&>T!y&#V`Jp2^zua^waK-PhWn;Rt7m6eoIBK}T9RIQGi!t?SN z@BdxTj}iuH8KS(KKGAm8{?mVo_}4#-_}9mOF0TJa!sDN}{`2g=Zurl8{(1IaxA<3a z|37d2*V+I57XNL-|FVz&w#ENv2lwC3>ixUYE*>3KKuf125Uzu^B_mcEup0_po7d;9YUCO}yDfp7k=x68!dOGER8K7Ic`0B)R{!vFvP literal 0 HcmV?d00001 diff --git a/docs/img/tutorial/python-types/image05.png b/docs/img/tutorial/python-types/image05.png new file mode 100644 index 0000000000000000000000000000000000000000..d2dd08ed227212bc5b2cc0da5df91e9f9b2ba8af GIT binary patch literal 42637 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 Q+(zcXJ$b3@JI_7;7p7bSk^lez literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index 2be4bf731..00c51f8e2 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,9 +18,9 @@ --- -**Documentation**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com) +**Documentation**: https://fastapi.tiangolo.com](https://fastapi.tiangolo.com) -**Source Code**: [https://github.com/tiangolo/fastapi](https://github.com/tiangolo/fastapi) +**Source Code**: https://github.com/tiangolo/fastapi --- @@ -90,7 +90,7 @@ async def read_root(): ``` !!! note - If you don't know, check the section about [`async` and `await` in the docs](async.md). + If you don't know, check the _"In a hurry?"_ section about `async` and `await` in the docs. * Run the server with: @@ -290,7 +290,7 @@ Try changing the line with: ![editor support](https://fastapi.tiangolo.com/img/vscode-completion.png) -For a more complete example including more features, [see the tutorial - user guide](tutorial/intro/). +For a more complete example including more features, see the Tutorial - User Guide. **Spoiler alert**: the tutorial - user guide includes: diff --git a/docs/tutorial/python-types.md b/docs/tutorial/python-types.md index 684e27f7d..8938e81e7 100644 --- a/docs/tutorial/python-types.md +++ b/docs/tutorial/python-types.md @@ -1 +1,288 @@ -Coming soon... +**Python 3.6+** has support for optional "type hints". + +These **"type hints"** are a new syntax (since Python 3.6+) that allow declaring the type of a variable. + +By declaring types for your variables, editors and tools can give you better support. + +This is just a **quick tutorial / refresher** about Python type hints. It covers only the minimum necessary to use them with **FastAPI**... which is actually very little. + +**FastAPI** is all based on these type hints, they give it many advantages and benefits. + +But even if you never use **FastAPI**, you would benefit from learning a bit about them. + +!!! note + If you are a Python expert, and you already know everything about type hints, skip to the next chapter. + +## Motivation + +Let's start with a simple example: + +```Python +{!./tutorial/src/python-types/tutorial001.py!} +``` + +Calling this program outputs: + +``` +John Doe +``` + +The function does the following: + +* Takes a `fist_name` and `last_name`. +* Converts the first letter of each one to upper case with `title()`. +* Concatenates them with a space in the middle. + +```Python hl_lines="2" +{!./tutorial/src/python-types/tutorial001.py!} +``` + +### Edit it + +It's a very simple program. + +But now imagine that you were writing it from scratch. + +At some point you would have started the definition of the function, you had the parameters ready... + +But then you have to call "that method that converts the first letter to upper case". + +Was it `upper`? Was it `uppercase`? `first_uppercase`? `capitalize`? + +Then, you try with the old programer's friend, editor autocompletion. + +You type the first parameter of the function, `first_name`, then a dot (`.`) and then hit `Ctrl+Space` to trigger the completion. + +But, sadly, you get nothing useful: + + + +### Add types + +Let's modify a single line from the previous version. + +We will change exactly this fragment, the parameters of the function, from: + +```Python + first_name, last_name +``` + +to: + +```Python + first_name: str, last_name: str +``` + +That's it. + +Those are the "type hints": + +```Python hl_lines="1" +{!./tutorial/src/python-types/tutorial002.py!} +``` + +That is not the same as declaring default values like would be with: + +```Python + first_name="john", last_name="doe" +``` + +It's a different thing. + +We are using colons (`:`), not equals (`=`). + +And adding type hints normally doesn't change what happens from what would happen without them. + +But now, imagine you are again in the middle of creating that function, but with type hints. + +At the same point, you try to trigger the autocomplete with `Ctrl+Space` and you see: + + + +With that, you can scroll, seeing the options, until you find the one that "rings a bell": + + + +## More motivation + +Check this function, it already has type hints: + +```Python hl_lines="1" +{!./tutorial/src/python-types/tutorial003.py!} +``` + +Because the editor knows the types of the variables, you don't only get completion, you also get error checks: + + + +Now you know that you have to fix it, convert `age` to a string with `str(age)`: + +```Python hl_lines="2" +{!./tutorial/src/python-types/tutorial004.py!} +``` + + +## Declaring types + +You just saw the main place to declare type hints. As function parameters. + +This is also the main place you would use them with **FastAPI**. + +### Simple types + +You can declare all the standard Python types, not only `str`. + +You can use, for example: + +* `int` +* `float` +* `bool` +* `bytes` + +```Python hl_lines="1" +{!./tutorial/src/python-types/tutorial005.py!} +``` + +### Types with subtypes + +There are some data structures that can contain other values, like `dict`, `list`, `set` and `tuple`. And the internal values can have their own type too. + +To declare those types and the subtypes, you can use the standard Python module `typing`. + +It exists specifically to support these type hints. + +#### Lists + +For example, let's define a variable to be a `list` of `str`. + +From `typing`, import `List` (with a capital `L`): + +```Python hl_lines="1" +{!./tutorial/src/python-types/tutorial006.py!} +``` + +Declare the variable, with the same colon (`:`) syntax. + +As the type, put the `List`. + +As the list is a type that takes a "subtype", you put the subtype in square brackets: + +```Python hl_lines="4" +{!./tutorial/src/python-types/tutorial006.py!} +``` + +That means: "the variable `items` is a `list`, and each of the items in this list is a `str`". + +By doing that, your editor can provide support even while processing items from the list. + +Without types, that's almost impossible to achieve: + + + +Notice that the variable `item` is one of the elements in the list `items`. + +And still, the editor knows it is a `str`, and provides support for that. + +#### Tuples and Sets + +You would do the same to declare `tuple`s and `set`s: + +```Python hl_lines="1 4" +{!./tutorial/src/python-types/tutorial007.py!} +``` + +This means: + +* The variable `items_t` is a `tuple`, and each of its items is an `int`. +* The variable `items_s` is a `set`, and each of its items is of type `bytes`. + +#### Dicts + +To define a `dict`, you pass 2 subtypes, separated by commas. + +The first subtype is for the keys of the `dict`. + +The second subtype is for the values of the `dict`: + +```Python hl_lines="1 4" +{!./tutorial/src/python-types/tutorial008.py!} +``` + +This means: + +* The variable `prices` is a `dict`: + * The keys of this `dict` are of type `str` (let's say, the name of each item). + * The values of this `dict` are of type `float` (let's say, the price of each item). + + +### Classes as types + +You can also declare a class as the type of a variable. + +Let's say you have a class `Person`, with a name: + +```Python hl_lines="1 2 3" +{!./tutorial/src/python-types/tutorial009.py!} +``` + +Then you can declare a variable to be of type `Person`: + +```Python hl_lines="6" +{!./tutorial/src/python-types/tutorial009.py!} +``` + +And then, again, you get all the editor support: + + + + +## Pydantic models + +Pydantic is a Python library to perform data validation. + +You declare the "shape" of the data as classes with attributes. + +And each attribute has a type. + +Then you create an instance of that class with some values and it will validate the values, convert them to the appropriate type (if that's the case) and give you an object with all the data. + +And you get all the editor support with that resulting object. + +Taken from the official Pydantic docs: + +```Python +{!./tutorial/src/python-types/tutorial010.py!} +``` + +!!! info + To learn more about Pydantic, check its docs. + +**FastAPI** is all based on Pydantic. + +You will see a lot more of all this in practice in the next chapters. + + +## Type hints in **FastAPI** + +**FastAPI** takes advantage of these type hints to do several things. + +With **FastAPI** you declare parameters with type hints and you get: + +* **Editor support**. +* **Type checks**. + +...and **FastAPI** uses the same declarations to: + +* **Define requirements**: from request path parameters, query parameters, headers, bodies, dependencies, etc. +* **Convert data**: from the request to the required type. +* **Validate data**: coming from each request: + * Generating **automatic errors** returned to the client when the data is invalid. +* **Document** the API using OpenAPI: + * which is then used by the automatic interactive documentation user interfaces. + +This might all sound abstract. Don't worry. You'll see all this in action in the next chapters. + +The important thing is that by using standard Python types, in a single place (instead of adding more classes, decorators, etc), **FastAPI** will do a lot of the work for you. + +!!! info + If you already went through all the tutorial and came back to see more about types, a good resource is the "cheat sheet" from `mypy`. \ No newline at end of file diff --git a/docs/tutorial/src/python-types/tutorial003.py b/docs/tutorial/src/python-types/tutorial003.py new file mode 100644 index 000000000..d021d8211 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial003.py @@ -0,0 +1,3 @@ +def get_name_with_age(name: str, age: int): + name_with_age = name + " is this old: " + age + return name_with_age diff --git a/docs/tutorial/src/python-types/tutorial004.py b/docs/tutorial/src/python-types/tutorial004.py new file mode 100644 index 000000000..9400269e2 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial004.py @@ -0,0 +1,3 @@ +def get_name_with_age(name: str, age: int): + name_with_age = name + " is this old: " + str(age) + return name_with_age diff --git a/docs/tutorial/src/python-types/tutorial005.py b/docs/tutorial/src/python-types/tutorial005.py new file mode 100644 index 000000000..08ab44a94 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial005.py @@ -0,0 +1,2 @@ +def get_items(item_a: str, item_b: int, item_c: float, item_d: bool, item_e: bytes): + return item_a, item_b, item_c, item_d, item_d, item_e diff --git a/docs/tutorial/src/python-types/tutorial006.py b/docs/tutorial/src/python-types/tutorial006.py new file mode 100644 index 000000000..87394ecb0 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial006.py @@ -0,0 +1,6 @@ +from typing import List + + +def process_items(items: List[str]): + for item in items: + print(item) diff --git a/docs/tutorial/src/python-types/tutorial007.py b/docs/tutorial/src/python-types/tutorial007.py new file mode 100644 index 000000000..0b7b146e2 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial007.py @@ -0,0 +1,5 @@ +from typing import Tuple, Set + + +def process_items(items_t: Tuple[int], items_s: Set[bytes]): + return items_t, items_s diff --git a/docs/tutorial/src/python-types/tutorial008.py b/docs/tutorial/src/python-types/tutorial008.py new file mode 100644 index 000000000..9fb1043bb --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial008.py @@ -0,0 +1,7 @@ +from typing import Dict + + +def process_items(prices: Dict[str, float]): + for item_name, item_price in prices.items(): + print(item_name) + print(item_price) diff --git a/docs/tutorial/src/python-types/tutorial009.py b/docs/tutorial/src/python-types/tutorial009.py new file mode 100644 index 000000000..7d5b09cd4 --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial009.py @@ -0,0 +1,7 @@ +class Person: + def __init__(self, name: str): + self.name = name + + +def get_person_name(one_person: Person): + return one_person.name diff --git a/docs/tutorial/src/python-types/tutorial010.py b/docs/tutorial/src/python-types/tutorial010.py new file mode 100644 index 000000000..aaaecc3ca --- /dev/null +++ b/docs/tutorial/src/python-types/tutorial010.py @@ -0,0 +1,16 @@ +from datetime import datetime +from typing import List +from pydantic import BaseModel + +class User(BaseModel): + id: int + name = 'John Doe' + signup_ts: datetime = None + friends: List[int] = [] + +external_data = {'id': '123', 'signup_ts': '2017-06-01 12:22', 'friends': [1, '2', b'3']} +user = User(**external_data) +print(user) +# > User id=123 name='John Doe' signup_ts=datetime.datetime(2017, 6, 1, 12, 22) friends=[1, 2, 3] +print(user.id) +# > 123 diff --git a/docs/tutorial/src/sql-databases/tutorial001.py b/docs/tutorial/src/sql-databases/tutorial001.py index a847c5c7b..3b4336a86 100644 --- a/docs/tutorial/src/sql-databases/tutorial001.py +++ b/docs/tutorial/src/sql-databases/tutorial001.py @@ -1,5 +1,4 @@ from fastapi import FastAPI - from sqlalchemy import Boolean, Column, Integer, String, create_engine from sqlalchemy.ext.declarative import declarative_base, declared_attr from sqlalchemy.orm import scoped_session, sessionmaker