From 7b6eec1d2a23a78fe9e4196c327ea5b01a13a162 Mon Sep 17 00:00:00 2001 From: _Redstone_c_ Date: Mon, 9 Aug 2021 17:12:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 15 + Config/DefaultEditor.ini | 0 Config/DefaultEngine.ini | 24 ++ Config/DefaultGame.ini | 3 + Config/DefaultInput.ini | 5 + Content/BP_RaspberryVehicleGameMode.uasset | Bin 0 -> 34395 bytes Content/Level.umap | Bin 0 -> 18780 bytes Content/Level_BuiltData.uasset | Bin 0 -> 85918 bytes Content/UMG.uasset | Bin 0 -> 323703 bytes README.md | 12 + RaspberryVehicle.py | 319 ++++++++++++++++++ RaspberryVehicle.uproject | 13 + Source/RaspberryVehicle.Target.cs | 14 + .../RaspberryVehicle.Build.cs | 31 ++ Source/RaspberryVehicle/RaspberryVehicle.cpp | 6 + Source/RaspberryVehicle/RaspberryVehicle.h | 6 + .../RaspberryVehicleGameMode.cpp | 139 ++++++++ .../RaspberryVehicleGameMode.h | 82 +++++ Source/RaspberryVehicleEditor.Target.cs | 14 + 19 files changed, 683 insertions(+) create mode 100644 .gitignore create mode 100644 Config/DefaultEditor.ini create mode 100644 Config/DefaultEngine.ini create mode 100644 Config/DefaultGame.ini create mode 100644 Config/DefaultInput.ini create mode 100644 Content/BP_RaspberryVehicleGameMode.uasset create mode 100644 Content/Level.umap create mode 100644 Content/Level_BuiltData.uasset create mode 100644 Content/UMG.uasset create mode 100644 README.md create mode 100644 RaspberryVehicle.py create mode 100644 RaspberryVehicle.uproject create mode 100644 Source/RaspberryVehicle.Target.cs create mode 100644 Source/RaspberryVehicle/RaspberryVehicle.Build.cs create mode 100644 Source/RaspberryVehicle/RaspberryVehicle.cpp create mode 100644 Source/RaspberryVehicle/RaspberryVehicle.h create mode 100644 Source/RaspberryVehicle/RaspberryVehicleGameMode.cpp create mode 100644 Source/RaspberryVehicle/RaspberryVehicleGameMode.h create mode 100644 Source/RaspberryVehicleEditor.Target.cs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93e6106 --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +Binaries +DerivedDataCache +Intermediate +Saved +Build +.vscode +.vs +*.VC.db +*.opensdf +*.opendb +*.sdf +*.sln +*.suo +*.xcodeproj +*.xcworkspace diff --git a/Config/DefaultEditor.ini b/Config/DefaultEditor.ini new file mode 100644 index 0000000..e69de29 diff --git a/Config/DefaultEngine.ini b/Config/DefaultEngine.ini new file mode 100644 index 0000000..b6d020d --- /dev/null +++ b/Config/DefaultEngine.ini @@ -0,0 +1,24 @@ + + +[/Script/EngineSettings.GameMapsSettings] +GameDefaultMap=/Game/Level.Level +EditorStartupMap=/Game/Level.Level +GlobalDefaultGameMode=/Game/BP_RaspberryVehicleGameMode.BP_RaspberryVehicleGameMode_C + +[/Script/HardwareTargeting.HardwareTargetingSettings] +TargetedHardwareClass=Desktop +AppliedTargetedHardwareClass=Desktop +DefaultGraphicsPerformance=Maximum +AppliedDefaultGraphicsPerformance=Maximum + +[/Script/Engine.Engine] ++ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/RaspberryVehicle") ++ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/RaspberryVehicle") ++ActiveClassRedirects=(OldClassName="TP_BlankGameModeBase",NewClassName="RaspberryVehicleGameModeBase") + +[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings] +bPackageDataInsideApk=True + +[/Script/Engine.RendererSettings] +r.DefaultFeature.AntiAliasing=0 + diff --git a/Config/DefaultGame.ini b/Config/DefaultGame.ini new file mode 100644 index 0000000..6667b31 --- /dev/null +++ b/Config/DefaultGame.ini @@ -0,0 +1,3 @@ + +[/Script/EngineSettings.GeneralProjectSettings] +ProjectID=ECA46B7040CB59E1C5052F9417760C22 diff --git a/Config/DefaultInput.ini b/Config/DefaultInput.ini new file mode 100644 index 0000000..655e863 --- /dev/null +++ b/Config/DefaultInput.ini @@ -0,0 +1,5 @@ + + +[/Script/Engine.InputSettings] +DefaultTouchInterface=None + diff --git a/Content/BP_RaspberryVehicleGameMode.uasset b/Content/BP_RaspberryVehicleGameMode.uasset new file mode 100644 index 0000000000000000000000000000000000000000..9dfe3e7a0736bd22d428bcd84f92b71d301385c2 GIT binary patch literal 34395 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 literal 0 HcmV?d00001 diff --git a/Content/Level.umap b/Content/Level.umap new file mode 100644 index 0000000000000000000000000000000000000000..1770f4c29d3ca5d6428b77259da853b8967915e2 GIT binary patch literal 18780 zcmeG^33wDm)|C(xxx6?7NH`S?kRWGVA<4|-fP} z2y)0Fmw*CBK@RamSueyz5k&=2QIrLDMHGmz+4riedO9=HA@cM2x&Lo{U#6P^XtloKffMeGg`G9H7&!v>F5V7o;>u%$tJf0 ztmB6{%U;Upx*_S>4h#N1Wt-3yV256)UOqf5BX!D69losCF#k^t0XA5>_+Gia()M|? zd5@@3?OJvL*y*Cm{ zeeC@b6YYKaI|d9K7?U(0@s5H0`y?dA+G1h{I&4WmLdd3OgrKxBtzZ}IIpr2YU=4B* z`p@9+6#PB$cB`Y;WJn1wZJ%)FgZ^bIw(K{i3Cxq zp8t{D3{SV;p6lpydzR=C1y$_Pr)Teelz@=oL%*~lfN8XKTC#r%4jRBdho|Z={t3rb zjr;EofL;!7q2v`=mo8|cA_*R~*FCc0aVIO1n}bNZH)A6kN;cN#5Ksy%C3`2~ODi`j$#Qij+|7ltizV;c|I= zDhOngy{aa7HS$ZdLkrr5AjlENYd%HHmL`Z~XrA*T9(96OQe{n%OUjJtjm8P5QMZ1S zdE)x6qZ>3utfB~InJ`gQv@()f`IUrooK$j$S8#eno9yvOC>V*YcxnhL*O}n)$m0^+ zqXn1fb(N6=;r2*8Cmn8=P<)q|B#9n33EyeI1q__wvP(plR3Nz=`wQWD2x&H)zH#%&FNFM#yYZuUPoHj5R z7nMSjGHl;GJh=%@a}-OeDwT@3rPRzVy{Urr(+V_GQh$8hGcw*ELBVf z2m>Kg%uxidS|BRimB^X{Z@H)&aEd&6yy&43V8Qe6_NBVXluBhSQ4u!6%ICZcz4Qa@`DcO-h1(1Q`^f z-OhUpb5S`p!7=1|@1QeOk=c;PTpC6s(sFCdjg)t`R9xbb3d*Sau1#BZklF%98E{_( z1?rT(W-pzdBX|p`v6YZfYxnO$7?UVd_LPxN+O3bFaVS?6Qv}7G;4SosIYkO+Musq! z@bkZRQ%?bOn&5S-E}=xU`M~15g`{3d<;@t$oq*&AWLJc7#_?Tvcf%X>_<(=~;Y7*n z#ks3aFMc+P&GiQ)usMiOfag9y7Jqej4pn8DCK^We&9EM?AkZchXDC{cJVKU>NvU$z zPTU;;Gi6nxF=>ab#dHSCk~Nz5NXKJ;lh8|mF1N%DKIkUyAG^MRr)TpBs!FtR%T%*`0XB1E@-5B<9&0uyJulnu7d9_BL;S0KJ{(26M81Zu<1@XeSP@uh=l2yFXeU59K9s z0Azfb9vJkrM(qOvYLV^tc>VTpV?mdqm8JU`H!@tXfMq>=y!TnQqCo`fL>* zh$A;I!>2(GC3&X?IPiE4NL-wbu@wnkFC^Vb-|cu5y*CX_*BoipQ|!fW}HO5V?u3n-G7+M}cAEx`CnqqwQa z4qw!I9o8ZgPJI~@YpRb+@CZ2#^$Rcn4Qy8>Q_r-dH5JBU(15Jw$n>1Zz_wFQpcUx_@cVI#3s8QvPs0_boM|uw6&F~0>S<)x>XFxCW(~s1 z-U6wREQ)ST^9p^DK3i{Z6D(#~G-6c?ghLjM?rhTP0%}9YoA)tidAoLa3i|7zAzH$x zTTi0Zvx>`5$(u>eWvCKUC1&83b(%2?1vcT#oKkLi-;UPL&}P(ytxF!j;HJkfETZ@Q zIe#r$c*wFKe!g}ZE9^|cH3svTnq1Mmo&Pyab_pJ70*x=IZQV~U=VXh*xc{EyemMm-j+O63RVJRxV1~i7u9^;&X`=ccXln}F|T_5A=85N_U z^6Re^Do{-Z#;n!BljaV_)w3br!@CkM7*krg^D*Yb<$x%9Y0RJLJoX|=mn|1))c7(5 zt%y9fS-OO=mcM*rwv77b%Y57*FBJ_*l%}IZGz^X~3(~YplZj~O*&4jI6=O!z-^4Km zspPf?pPEhCXo_KecfP80rlM<#&*hKwF=QEiYiBj7na9$k>X*L@3^ty_ zdQKC^p7E~i&Hx&?>ZENb>;C~X)7Y4=6G(%+IN#c6IN#c6#@2yXMIC5n*Ma7-I?$}C z1I?~F(Coep&3B-~(U+n57HEdmf#!t(8Z1Sz@%52crVb+fEVylqXYf-%qgc?CG5Beq zc|L%K+s2~|Ztgg*P&Dj%-H;~~4TsgX4&O&@G+ZCG(O_=C#%cJvYjiOA7wml{8*`eA z0AnC}|BgO^`@*$G;Z-;^yqo3?K@7}6M$h4}q_HMP{$he59rxh|aD`sZh_3CxsdXNF zJwH?*ad;>`X9D=3?eQ~siz#HLiBI6#=I7e@{Al8XXM=W%^r*MZ@P{q4tKMJkvo=0e zCO%kJEMbcwpP9@6FI@#bmrQ(+#bU+>StPLWv~Fww9m>q*_CsrqV96jm!0)Cw73z)0 zVBF6vhS+Q3!)ZhHoPS;TRKNmw{K#huTP&kH8(gNVjn8@0elP)I4CnNzY~4#&fzLS; zAJiM>0px@G!7>$F((QVGxlb-%D7}T^gM|e0iDCYecNO^jY}yYlyOIfw@t`pq&*;Sl zm+5NT&rc>kxD3zLjbNOOl?}A{zk(0)3Z=KRCO&vRm^*nKEyULwXkYi$`^$aSwx1tN zd@vqh-b8vlAFj7FZg>Ezt<}Z{VBT9I^jEZFP;xJ7uM=__ z9pk6Q{oo5rrXs;N4`m6eDr)pX4F$)G?m#5HLBiddzi-78fVV{vUgqIzIJl|9SDoH5 zy<>aE4CootzXyEw?c1|&Kl+9Av6XTdii3aLgL=Z)+`^22IG2IBBI#-HYBUImsvF2= z1R-&+9T_r^p+9;AV^&x#h}=pT5)TX;H@*k;M}3>=?17);Q|y^XEH@_(?89$9c;vN% zt%t6k(k*Uti+5LW(|M8+qDj$)HcBtXV~w&0;XJJb=>qBhgcQ(%cf4Fj5H2U*)N>3T zqT99yep--7$m0ofOxPW4%(b(SJ@bXBzi=WB9L0!g;WpuQLh$cR;A)J4J006ia2z8X zdV`*iIh@lY9LI^6RIqWW_oC%M;{sA|<3t?zFe8emq#-`GGZ^ zau|{mMQ~#Do?`aEZ4HADZTtw9vge@L2y4m+0pb}3gPlp7|)2@tPkp@K9slm-uiFE@A~2Jk~VvqL@wWFKQcLDX6j$J?mFQZd-3?C*(0CG zZ&s1AyUiSOoV;-F@qLqg{in@zERd4yt>(A>dLvtrOEsN6a{;Kqav~1o7a^8Xt(*Dd zhfn2XCC^ycbzRr!oYq~2SB?H^%e>UtcOE%aF}%-*w;cDj++KBG((e47Tjp-Q_}1=` zOO_Qayvs3H99F-5)AprR^Cllnd+(m~m)>r^>i&*DbXNnUx@`V#df~eVrIUY2Tk~P{ zs*gWcs>ZPef=&i&My!>w1tFUP(0tzL#0bN4$FoI8_R$}S!GO@8;PKzjK?$eA7{B=9 zO@OixXBydpBd&ID78%z@ri&Pp4$xor=Zt|1u(`CO8QqTA`e6TO?2Q?U_wgpuR&0!# zY6O4SW8*!FW!6VV*S3pY=NhLhj9N5p!^LCwA#H7vAl~1&1iX*;qlj4&ba^fT?@wByrBft!K`S@zfYg(7f%B2j_H`lLej^9mmS!ofBx<;DU z^*!n9aUK0H^&7A*my!16zzP3YGxTekW5|Uvf_#R&e0;U_i|Yb^d`aL9^&F&Y>TD5| zgv!O{)Q}NihP*gtH2S(%Nx!c%9)=#!uR_R6eKEo>FU&JumQXI3Pjzh`Gn%U>FW)n+ z_^iHcaCXC#pU03q{nMY|0E|a4nyfex2fm3#EHq8;fuRjDw74hSGoaw99?zh%B7iI)GmiS*~ zDqL{ve|y2hj2hxs+xQ=XUy+UfAJ8}ti)aBX=2K&6&rBjXkj`e9pjWBu08zw{JlUk; zZ#kgxG(q16I1vXnV?>fp8~nMIfr3JQ{f&RNQb}>(#>Ku zxGAv2w6w$wvc$ms2W^3}!FO7gm>5e8UeRF-UM*Wk7;%Lk%w;Y2p(~xZ=}ITgxYCKM zuXJM5E1kIES5Jfq<>Ob?`}41!$O6eDS2}V2l}>DYr4#3{iRG*h5v0oFw*{<@+r*Zp zcOgHkCo^z}6(3J1tOc3KFPJ@yh_j=&ZvVr8fidZR1}FJ!;I$yUhZ7EGgVwAM_Q&3q zm{>~;yG9D(-EA!A^s&H%8JAVTvfXGghY(hGgpi=G#hftG)&fIFb4yGIOAI%vzcLD* zx>vJ+Hif~1y3Gs{^5hpV{rH{{N|<66ucp zKh`md7)&rvSRoN!%8-G1ZUlo9`UN9AL@_{MaS#Uo`HJ2GF@)SHq3K|uR#*U&fYU~<&W3XRi!B}EL5fuIhNP$2lKnSlMYfIlO=%iCA|Xz$VHq1*le=O>IC3}c!0xdZyojLCNRvt8KhjKO`r zhOvCBewO}ouJnBPymgFL)znrRFm_`0pu|_xd!0S`L-Uw5!siRYw4h)^;`3KicfM== zXhigsvonW&4`XB63IvEX-+HsDKwuyc42KR07J5TFb?UU~)2Gk)Vbs{EKTI7xWBAM| zGe*puK5qQzsbi*&o<3p}s0ai*VYxQ6+cX6NEmhy34bBJzanPci0vRy&8=?Km$oZsq ztl1CeI`8`P#m*z`TC|-RKK^Q}Q-2)sK(EmbI?!CuP0&p6@l2_p1M~(BS~6qQpoOMZ zrY5$gLq-k#VGOGv5Gx#(q531pI~<1?a^MZjApEQqExfonTfjYBzh6jrCT})XVsv76X=G?M&;f>r5B?ym0ZfQ39iFi(28}RBLOi z1zW9cOt;!O3)(eL^kN5{?M!P1U(6qp3<(xYvof)@71%jCZO6<^v)*L0)zsG3!g}+3 z>nT?}5$W0dQEvNy4^0L)DXu3f@aGZt+y zS#Rw)&%|b?m5I5nVBsHEw|2zw#imYn_FGLCS=)p65W*%CJAq@2_7JSNsyn`|w;xhz zmc7M#!L$V*H((I|`pK9D++<=iLJ+0D$O?%#d%eK!bfp>2a~U#SzsSPHRIsY;`Ngep zaI@V4Ym3cx0*U?Xub^=30H2xm&?=;@3bkH_MJu0=!s69or{G`xiS3Ku!kPVV#=(8t5RTEm83zg05RUb~83)ZZghT(Ead4M4gtP14 zfK#o;jn;sJ#{kdC4=Mu1{fBV)n0TCU1pk81=XhN|9z2Wqc-pBhcH)EE7kvIM4j&JX zvzOnne}VNmoGP{Ypc#B3!VhBk9%U~D$MJ6Y1s}vgY3MwtKh|4i4^uWpbv@;Z>H-?x zR_(~ASM_b8Mx|Oj$TvJk`Mh;k)rVHY!8MJ2&-a%Eygy@$y7fOe-snS8Lyu_j@GLh_wUKdg zLpqHbM0E7l2ruA+k*r)*bJO}S4DnlbAY#D>^MxOLux$8)L4tg*n&lV1Q1u5lyoyT< z&hZN{QTX92!}ZkuG#s^cm;Ibg2Gs1;F2#=}NBXMf_}$Obj&-Ns=O*#d5$j=EJFFuSH0hL%47Er_+*3?lj5=ocw2e`1hUycmn({;sd;}>m?A}Hvz9|KFA0D zaku`lhtE&!=UY|F-|V<9o^iXvCmn2;t791O>U{+re`ykq;Ro}GdyD^E|H@0>ri0ex zU)C6ja?*kgLOxCqUGsAk2?Qj_spL~H`-v+0&e0FQ*B|-c;DpZiG^|409^U#0h%#0%>E)p|G<^#uYq#G44}lW7>nxm*q^J<@MVSxr5>;HH?kIT1z7oT6pw|{qilYR{yK3nIeJpJFy6Tffx_V3o2 zU&puqudV;P{x<3V-`ofPf2}LOZ~6A`=7C?wxBsuL|GWM+={N2F|4SU;_buQ4-Prhb zeEa{}`oHUMlYZ0wZ{k1`2bwt0#DOLbG;yGb15F%g;y@DznmEwJfhG<#aiECXyQN<2bwt0#DOLbG;yGb z15F%g;y@DznmEwJfhG<#aiECo?{G*QjjqW2`=m@qY1kYW%@;Wu z40S*~j2r!+=5X=4bpTutd%(2M0o>L`HMo2}S!~4TMdbr;5935kVq~a2F(|{16^IF2 zYGSB8n==*{^06q?frK#$f+w#7t`NeaJ_g6eE!@;(-uDwxZu+5xB!B!}h-JfQDxUN2J5TlJB-V0b)9IaF)>Hi5pDD02G`UgBS+qb>%NGVC!Plr3Q24r=By zD5Iusk~v(wtAru7@dDa) zYivyyg>2zjJg@lNVNPoV z@DP&~v|T@DRUg-~*p1BdK4Dv&{a(HA}r-haMDyL{dF{9(RvjF&q6LcDtUxyY#RqDD z_cavXvl(n3{l;9d@nMXJuM*w{i^toCIX?GTzuFkMdh)ucgY`gc#6>(76Ivb<=U6Pz zt+5H$b>dXv^7EKGT*vbYuWNk>W$o~|e9VYng9)*sew`fhF{`lD=hWk-ASUt)|M6OQz@KSlZDO}@#E4lVMob+soPDBK zM9HPHXj&$VmVwAw!7(}X<)~X3Yh|QxH+6>1$3k`R!~1$0s3eQ1jcKw z`LSpmlgj8Qsa#q!rqXBe@fvk#wv|W8q^z*G=wGdEzz00Q23*c}-VUyp<5;aPD%_g& zyd7wzDm`fw4c9y_#tC>)V3Uo5^P5}GT?01Q=i=pa(U5&E9^N;^ld?hsE(Lj@qi8AM zf?z&tF{O3#rxrV|2fsMsd_mp1`q;-<8o*^S+5EFL;BddJZkQ`BU+TH#F*qMsT;6wV zc~SXN>!%d>qySzax8y9h6rh8Ge1cZ4fE>$J^;JarNZliRrJkWaQqN#d8H)QJO6tDH zO)3v|=4!=aU`{YUwK<`Kp|)Y}Djl>fmwHBd(B4s=v`?fv|WybCGKS$L&3G&HMCe?nMd?a+9xWE-nKiM-tOm5qU`V`X+OU$ zQqP@h<+4bA@72X)^Be{|i{S9Fk7uM;j2G=2?M3bY*&X9Sb0U}TjHVRZq6rVazVhf@ zaIS{S+;{JjQ@-126w;fd3E$1MB*2(b$5quBJo6l?EG>sHGt$d^J*8>T`7f8!8S;BPlp@#4>3Rw0mHmvI05W1Dpv`$fV&4wti|kW&0{0 z)O_K1$KIb*dkpTMcn?*H3|h7OK@=sEg-PI?B0s^E0j?|paXJ6tJW|7{iA7a=P6u$= zeNBYZGD#RGM7T_bLWawwQm8K%LoKds53J=xDuZ}ATz(&M`uu&6&v~sc9Igy;!wESR zOvg_i(9{6}ZN}0?q_^WW&7T&QDd0YJB5;Y^Y`ZW_bm<#C*g3LK+J7hx-~U zA=sCL0I%>q2X;T<6|U!P)W-$>u;&BrRkUAESf3zP8Q{u*1F{fapdSir!l1U{hzotN zU0X|-tB=L^5fgDBUu--W6L1R8Q>-ltk1GcqIpE4edBHy50Ioc|_SxmH>kF8GTZ0KX z#5_vFP+&Y9aM^tc_90h@s|cs1?xCD0Ku-aB3eb~B{7qbp^)Ktj;o>>v4!HRIzzVE$ zhupYFz%vo>8UN*dwO97+v%J)jCTUBG0D%^-X%fd&1x zL)(0Os=as7B|lOO9Kbx64^$DL}soabHFuNL=CBS98;f)k*tQ~g+c-wZETtp}CAXB)AW{^CB@HbFeTr7u16{e8wopiD zb2&kq$ylM*69i={mQZG{Vor~*1IEA$MUYk$L0OVugU>02xP;tNMk+SSD8)u8&58vD zE#Ph>DK%UP1@V#)FA1@tNK6SrVk#yGGgno-JT9LnwylGw@&|Bb68T0sq1YfN-OXhb zio%=*Au0I=J~uS@E0d6*M}VHhTuPz1nGvL$nV1xtyQyq9h^xvkA3xiEY2CnXW87k~ zcwF`T*2ClVczm7**yr=3e$CDkQY*Qu%*w-6Zt6wJOlXo5LLxH}6ZCpVg0>>n*7J6_ zmg5ya&*4g~fLB&DCAWg-3M;9c6I!9LqU3TbN?KE2z?A~7)YO|MO{5ej1WB5>QRF%Y zh?lp^W7ft+S;5(1#qx^J2gE^33p8s$jso|=0c|6v4H9Wr0-RI$c4||!Cpvc(s6VEdAgXbygt8gLD5I1*k<6>6n zp-!z`E|>gRL*r-Q&L9rHuf)OkAP^jr$HDvXIQWhQb12-H0>TNF093PSS*#TTE97c)@PL-d=CcuI9_*-i+Q(4|p%n`ORYTdE)JIar3^{*aK|#8rEXVjo127qo=~>bTId-{Hx{c%jzZtpKFE7 z1D|)U<^ABX*_Mrsi;s(+iwkSVa|(H-&MkPZhTI^hPykb^i1nr2_xjVG5&pDSsJ9fw zGl-@=g59Kwa7URmmdy_vQ*GWkp3sr-{vyVm^@HP;oc4(GpuA!|DW6ym$~V@XW@SIT zmyd<_^0AZx^)OahtglQK;}7p0KtjA(q4tpQPTrZOLhUFOt{PYPyuiDf82E0m4|B%m zh2@neV0!QOCVlsLQT}^9XjWomQvbcQ!e<}6mxnkImyY$7Q+xdtM8r0QB*a^e;u1vC zEJB=vB<#718I9xUsz?AOCaW>Z+uMT(< z{s;UefpPwl@HlS@B?9~ji=!30;@mtro&v891jwnlFoj#-K6o#`4c^OdlWl_c@|*qO zz5Fg?35Q#oGZv4lr&^A=8Y8bf4{Rg-;sPZhAt92O-M%EszTNOzaJREOFnE(Emp{3T zINjd$7;8}?YZ%JyR(8^h(|#5!>D#dWLUlpOL^R{#$& zWBFLPwl=5Oud|QX`q%QT#-|!SV7-uEtdFsjR2n0J_s8)44c@V#z(p-AT%rRE*|`bYbms>@cU903-`_#g2k1xn00Zb`xIc4i%XSn z-hVbej6vlK>jRHV?1gvod!kxM@yqAxpr0^b<6?iw!T}Ofr zd;WqyY+QA5F~=%laoM=Ppl)m&kb9O-``}&$Ibj8^<*+wFWb*x7JfGx~0aOhyaQ+NYj|&icgXN_eh}al+~;azt&Nwrp%!xuE^r6$ zpEB4FtVj_91-OO6`mrC*OvH`Bp9S-Ret=#K)OIi4Uq9uQDt`4?Ildt#V(bGOXqOf2 zqkuit`6okM(2)VIJem{s{eKMj8UyFWUiKMGEoSgpjaRC8YsT1Ec}&P5o5vW)AK0V! z%B8q3**LJiSkJxiP9~ZYc?|SHPres$_kA8$6?Y9T=9Z1|Gj*%Mg|kWlxcL0Q%3kcl z&jXNGz~_dZ9Y0y1osrPeDE*57ei* zXh{FB?KNJLy7mySE+)?N_SIXw=KH)2eysjDKmS*4opq3Fb$c}OiWkII=NTcjhWGND z+$Ay#cS3G1CsAZ(B#4-hTEKhi8V=X@0l2#baBK+P9*ZlrhWDq|@Lt|pN-L~kud)I^ zr?rNAf;CC2?13)4mj_%LaA`9+i9*5qamv(TN7O*$h;!+SV1-PVzJ4rySC}LBB6q~sblE1+HG#Bvx)EeH)Z&nZr zO9km+A)`2N<6JRNpQkwUN2WY&_lMrrxw{EpP$_-c!rgx{>sH2jC6- ztfY~cX_i;&^#!ikutLdgfKyv&IWKY>_p*|Oy*@Hm2*Nv3-9G^;JrMLYa@3g2J9!X? z^@PM>y_j$|bE?t%G}kp)>b3jAy49{_&pjJB`%oYkywu{=>el3n&l%hDvGZ+xeH^bp z2Jd&_-t;LJytDlruRgK!2`27CmDI;XzJH2~KCp4s!Ns+_e1f5tZ@mA*d-(>WE>Ge8 zc#S>w{-$Q5E?;Z&&gZSMIC#I?uk4qh={x$DY{g&5*aqfI!?`e2n;{@LCZh?Cz=A`yMrxq)} zzOhz?2e#4vr#!AVkLMmMU=Q}wr?|WgzO9d2*PiOkDm(01px>Fz7)o#32^UWTNx!wki$66$zUAk)dh7?1U2J}=c0I4l+iSd~65zcCi%Zi~0_+F4=Hslj_vw0!pJwA#_xn@5#%z#) zOM(qDfu<-BPOmXrb;rSHwOloZ$=9{+Jm$WB{=d9#@Lq(?7oW4bwmB{}jQeRGpuUN~ zsYI^Evc$T)k|pvrMtd?^cEpcT9Na;A!~{@Y;l4C0p)~Co<|1{Ewv*CF8qWz82emz< zP~{kL;rB}t+)0lF55haao$x)PAUToJK1V2-cLFKr>I*iH_|f#i9W)&sKube?r6^=D zMUf#+6dARJqL0+iL2X}th^C~6YjcIXa!>FiypDKF{NlZdZ3o>+l zQqMg`GWzgm&a`-__2F870FPE21zsKXAbdf#9aT`Q{34_Mk5W>fqlBEVFMV`7_!L3Q zgAPkc-(3_6;X_dp-%XSxa2cs?mye5YrH27mjdzIae$$dzn;`$Lj ziGkvf@G!UiLB0gafjv@s-yUaqP}oKf-k#*BpWG!O(A_dD%yVU+j|^q$Zi-qF=pZo* z-QdE-!`rRhLv?Za@h`0#xA%BH$slhim_L3DTGjc_+pgb!sZY30P4@`=o?blsy_z_R zrefjzVFk|KSP=NxHx(~eok#WY>e*rMGk9imd!5~9P_an5Fh^J|ZN(kURD~I9vfj@Wa;HvP{an<%oV>PWi z4!H3oO&*|V63%Z<;C>kgasY4-WB$;8IM3rrN_K#v;CBdA0(AyG=>eGkOI*yintW;9 zAm7L#mQ(S7%ZfU`YR~;T_SLce$u;hM$Uk)u@`Lv^lmplY9vqZYwf8x-nEna}xr2hX zd11#Oe|&vaxHRC>2Y3N}z@-l%uM}!|#Ja%T=Y+?@GqjGVYQ~?tpeKcS=^>~yU~__f z#09Ct=fA*2e-Ib*2lm(;VjkiCOMxxw5ads_FWK_}VwS-@Ty{_;hY%P2foGM&@DBfT z@ztMGoKUnKNpW-V{jz2Z zo^|c&3akM=97BE1#uv1Ip^HA%;MU;Rv&-7}o49pit!IzLk5{J@C!GmQQMasqu{C6>TS%NVj@QWLBP}e1jZ*#~Z|) zg!l7q@b@;Hh|lE+FaV2C)r-TG+Qa^|hxhV!@cz^e{(d(r6ttvF4!^=u%PWPL+Ttmp zEImp1op}m{G9}^n*Ih|+qvL0BNx&uR?Judll$6`SGyPT>?YUJdWn~K`^V~{G-M30; z;JwOE_+5FxB_Li2#ERkuKZkIGc*T~V$89JVQagArZ|hFDZ+53VtpFRu3;te!rxgJ| zBXF(ZJ_&i2Y;`BxK+nZeMx!{v@9{fXiYb@PE}!E?gPi)G)UBa7{^l6((6;_{?0rI{=U2`O`6&w4;s%k%jdfDv_1SC5C?cKZ!eX5JHX$gW`&Y_ z0k(%dAydbtAYKyU6~oUUP~i9F2{-sTgv8YD^SBM1@3ezdBD41pdu{Nfe9dSHik}%N z_BE48JU8IJROQb>DkebB1@!DpX$gw0DIvClzyIN6?pVXW2I{NY4|VhZkLt$et*)I0 z@EXs11Mz=mJ@^gpX&PLEXHet3YIx0G`CY?@e>*PT3spiui^BJ@ZhVZN$Ne0i8_W^j zqiXVp7&Z3HisSJuZA&H};IjbDkH71u_2tZau8V>y7ub zPX*$|oYdUs8ejj<_yzV<`-jKo`l_7#4{+<+L!5efR^jsaYPkP+AMu!cTZ384tD1Ou zT&~7kZU0Gqd91o^19juMRKHd6s{XS){8d;%{jtJk0s-@X>H|T3CZ7Mv>}Sj}nA^s2 z|J}2nxA!?eo8~kjdGI&FXN_b3E;yUXrazi8(3F9u3^Zk+DFaOzXv#oS2AVR^l!5=% z8EE`pYK8CJOp`R_pos%b9BAS|69<|&(8Pfz4m5F~i39(;IZ*#6Q~cKt4Y;sx*S?v5 zmyYwc2kw31Xg^$nbD>eKCwQ#LIQ@I@*AuX>Q*~?ncg7tjJiT#$JoasD{n+tujWbST zzxR3#Q8mNpd*v(j1p-o}1!LMEYjJWC{%`F#uEjrJjafVHoAG?VYIJR{{0Hn^R?Tfx z>m>~4drlJslM-us11F*#ey*XO|47azt`kgJH%c8(FbR9SConr^&Dh$W+7-qDpYB{! z^C#x7m#Wtr+No2gO`kq}#t);$PW@r(=o!OjPMI-c=JavnM^7Cyb@cQRqXd0a%J_p4 z{Iuj60sMFExKDpoi~l)1{0!up8b$nW*5HSPQIzjN@WU^B!F2_LRqZEDJJkrkfbV1d z8vG2=2y2~@InyA@a_S#+FVX70DyNYlsIcuw$te;0D zI{O)>YWa!@Rek)g3F4>5N&L?Wwql0_?0;fVb;&jwf^MpAeVjqO+7Q*n09A|T>V9|+ zxKZ?D$r6EJID|NkR@eN`QKJ{Yp#0~lAxfmypmpODBF2#4{7DHFwJIv;GaFuIWIWp{BF%T zyK0e7Pan@8y$39Q{C4byNXc7N~LyCm_A)yc$>XD5mxf+{8*%PM;+j<&e7-Z(;k zxwe?`S;I%Tm^2R&8C**VDiby$Rv{S)Y6QNOctemKN zY+3$sn5*!51~tjJ15+5{2cUH(Gh)k!(W#Su26E#5&=*>)O{tY{uJuQzl^$N$gf|t$)#E!+}n1i$#BW=iQWXec`o|QQhi_5N9i*!zkB{`|T4;{DrL&c$@UIVHO9V@D1 zHyNx-*O-wiKyJh+#gE8?-1U{}&JQ)-Yd(LkXAZuce0U1r7o;DfmQ?D=h^mzXpCq{m zjZ)ZU$0|f&*;yys0xL?46PQU8v(ISE;HEOG(objvIG`WrD$oD%hj}%fUbT5|>(OIB zzCUC=EaT_IR!_&=iO~CvkaquAW{*s&O3%p(YbdHlyfX zW}K(J*jW>SA_|$sKE!*?ySADSdSS>Gnw)0eP&wKo33&;xQ{p~h};Tbt*`1q(VWOR~ZX+K%nD zN$dIp@?dq|W5MYu_G8CPd|GUMh+=*oc18$WelGL=iEvxxB6s5S6w^$HLys*}-)SBg zV^BPiGR_gjNs04Qh^j%U8o_NJB)Ty=%!}$&yR(N4lvZgz7tI1MJgkn-y6k&F9yw!V zkDg_tGBPbg+@FqFq*Pw9wpP9koU^jCwdkk)A7Tq1Bt4263~b%Hk?46hE9vJ%jgueG zXJ|}xC5cPU*@iuU@ndwV4p_?1Dyw7m*-%vV@A@`_3rf$X&we!=Nz}6(e5?w&B_v)$ z`Hrcr@h%s+h(_H#D=IWL9C)d8#D%~QjB7UGRhk?z0T8VkUkN9}trwKY9=7hoNyV|+ zumM7}ly^_G@BUDF`$>fbGcB;0u<}`G)w86BYJiO_gLBR7A7eJMxP7&8#cA8o2MXp` z`iGr~EBrvMw5%Ko%D9p6P{1wR_@%L&88k7>^69U;?@#c|G)nk2*K6f+*WhoIu@fQL z|0s^k?UlQVl;y{>J}fLg)5dY+iZ#DH+C6CVK5P9yP4?zyyS6zIrfl=IvU?~bQWezk zUDia>yk#u!BJiq%m#f;|r&h8)8pf=)P%4dkE)*$i6Hu-BH>zBO<9o z!Cb|Q_7lSXJfItPGtINrEx)@iw_TD}Rpl5L7-mkd{CUh8vuX|4G9?M`^wtq8s;+EG zzS#p)Ia_(m%3zh!d$U1&HN`|`+LWK%1*oqolJZ9y?2cffBC260u37V8-02xpj{Qq5M&I{d;xef7iYY%H_FWRUq~C{$rRNTW_ZNqT zKP;Tf4873#Zi?CI2dSkFWtA!U#SbavQlokq-futzme>Acd_KWo4BGnH)*9Z z^le_*!pV2XY#elNp8ZcD%X8B$vk1HAX(iE1v+SRxUOw`RUEeofr4Bv$ZvLFWl78Lc zKWiv`Z?-Og*fnu{&L3mvRewmndTpCz^61iKH)r-!Xl~tnYCJQcGDCE7Sf$=ZDf6eY z(~G3y3!W84(didORpueFmGeupmR!(QJ{4Wr(|6IW6pcG=(jMxpVh&Xu%D*J4nl-k| zLqg|BDye;F<(s>t5@~?MzaU{{sc}?KFU|09P zFM23Ty&gV2X0Xdb`$3A(al+nTvTjyHSZLb4p^5U;1Aoq2a@%Izuglv_&?*-TcU9|u zuyr#h4=U1=MOAs7i6K^f~Aa&Wz~(5$(^b$5e}`=SB~nMM_tiP3)6Y) z9Qm=^$%Int5RLug7f4o}PH}#hSE)DF{_UA-NzF(1aWKm&&U(20{pQ_o=B6EPWo2tH zw)Kjq#^D+V$49n?V9&~)4jrJcWi|5YZ-ZOz5gv4obZuK!G(kAGBpsqQ?@*d>V~oyX zTZ0qB5+{qYcU*&zhuR8Y;bYmuTf2>3T(nEkxM%yXgLxf{3QZ3dn*WB2x@PUYX4-Sl z3-V2PvSX*0;d3^dX+ucnA;Zu76!2zlagcCmS({aP7@cddr!c*1cI5@la(51pmYeo*7fsodJ|t1@PMl!uwIAZb?9{J+eWM>`SrsG%dsg3O zS&lxP()^z81~bi5=OS7vpXw=B<`KR-H*4>C(JVrE@Pxt0k;#7~-6;L-*P^56%RnJ% z-8$u}MYo#WTVXI(ICO$e;!QGg@|nJ9twZ6@uKPn;ywxoZ)5vx8SygrN(fPvC%h`I$ ziTXdBzdqv5q~airM`D9}`ANIdox!bg$CK6}t=xu025Y8u~zZODS_f-`DB9= zTXfO}Ru0TMn5w4$Vnz2m*Lg_bvyo(k)~S49smBufEZi$SA#bUBx zaN4h$HqMIFd-`C|P8zs}(AQeeT(A^e&{+^J95r6(mQY!&!#up#jJbv83{GgC+Mu^! zbgCeL2&nG;^QB1-935_LUNkH;%z0d5AF4;&e5W;2M0(1A;-tIVin@`N)(@)(?M$F4my9;>zDv}W<-)>aR+7FSo7R%0B$ zwi1>7C{GdG>lS&~ocgm(@q1&JgoPN!A61WEkefA6#cNDWX|^l1`G)&~fpC(*)a|zY zUS^GAjfsaYsF-W;H0j_6>$4wjC@m+Kq+Tr8nwR2pWR$(~=7Vl?-VEM!{P@E^JK4re zesNiI?nT0UR!ULS!aW+RQ(IiOBoBrV`&=Q_x&iqiX5>cg@_gY6dl6(VTUj|;nQNJ3 zC6VEYF;q^ZpD?)EExD|E%E4m>7c}E45`wD_9jQi7&5A`~BMnaKq#f2MKTozc7icR_ zSFT!IkObVe^$H!f{g+#$LwJil;jM;?XBu4U8M(1c)Qo|ZqnSD1%qwe?Rsd8HWcEz{ zgLoy`$-?-~Zqf|kBI&4=)cTu^ah34^%I+5>*D!plsy=8LK!G#fLjc1(xc=B|X!Re1h zU@xP3%)#SX#?6@$sDSZkVY%)G2hHMY@(__en)GH`mkFTKw)4AG^t)j`q}>FeT||$< zW17Q1o{ZO+d9{3Drw9!QmSAo6|m^xa^B{ls%6LUE`>DZ$3 zlaQ{^R*H`&ZwWHHMIKCy@Mbnawz@HQMhJu7XWi^(P}x%;tzN(!F(=Q61!dO95=s*u zYu%-pa?K9KNqaV?x7l!+IP^hqX0*W&2re`r|Hg^6nlJAQ#xT9j1(!z~EGg+K=vtnB zglV0XRFNLPZfm8|_Whi#a9~?hom{7Rs=REnu=tTMvFn15d3nU?@*+7=-nnPt+S4}$ z>8{Q6m8((&!4HK-$2H@Aj9?x*UU(b)vMgTI#pPDofH?`SW|d`ACuBMv+4_|-r~BNS z#91?eNVwrck-K}LMmIC^H_1??AsjZXwY>LEH6x3!s=O8&6I1| zQ>9h8cMsh6eY1x-v{hbNrd55rHJQ-*>@wVQyFX`lCiAPq zkT`Ak#bMntx^wra|CzzRMEpyInarxvGV4*JU0+vB6t3+2ASE&Ukm9|Y;WAkH<^Mli zmgICX`K!~{lg?hSvbeDC-tLcs=Ph%&`{$N9slhapGE{>&Duv_f*XC7!;1kv3_Qjni z!Va*SlWd%ir|^)^DQqmX?(#Y*=3iAQgwOl&_vhXp5hj%j z=ZPf~nVz>tFMi4hqji?PPFEUw>CaOp^kIzKi}x)|`asMZx7*y# zn_(P(H?=BhU~u2yA;E*rEVnxp_h8mHmW;JWVf)M>XJ#E=eB9{xkH=>opMU(P;Qzx0FmKzme4ll&Yj%P0@det-(t*DwJy>3q8n&U}eNv{S08R*FCTFpo_t)Jb zhDR{=zcBKH*`kCW%0y@Ktn*%cGa&zLA+zLzDO1{S{}m$5UQbz?&s^FuZ#{fB3fp9} zINh1-tI@t)h`*lG zB5_%$Yf<67!h0LD^im(R9AchTdM+>LiEGN_`v-RI?zm@(Mr6ct>eM1>Y3aMf@Q3AR z{Lgh+PW0`#LucBStlXgClf+Mh5@uY>IFmY7>le{F=BEnd?XxO%c4(bRjW4FEXT8aq z-h2F-k8LU=B9uk%w&bLX%AIv~3tySEs2p~ln9#HH4y`FBOlf+Og=DqQB%3^8rT=xN zhrV*ocCCET3Z@_Z{Gx7da^kcxI=T;tqt(RCOGyJddu5NGcYd$+fS9fftSpap zUUQx56+XGJb0X8S+V$%(TFsseGh<5cic&N(mu2UQ{PSAmi@s%UY|At4Hg|lx<2vxo zgSFATtJaG(ZPqZQ8N~KV(!~8$%B_PLsQQ=v*~#V^eiQ;>ulFYXw5+oJGxl6eBtE1n=M-gyy9;#AjX&KZCdhx6UA0!FIg=kz zeGDhPUq(Eq*4|kepyRBe-EZ2nSApF4Ly?*i+p#SoavmQTvgfG1XW8WC-FJI0dh%Vr z^J{7>JtUqg$F82UsiV)B?-ma27Ep0}Xa8HCAzc83Hx_uADAkcX9(`Z%e!vDhK_IL0 z+xc5Q^E&K&xPIb3+vy*Sr!%(_81u3AB2E2{wuPBn685ZRZhzD&8W7-`rQ0&^NmQ%L zU9`|9;aMG#U!6NAy>MRD#d&`|4S%k8`K{?H!F@BQq80XAGkTj`QqFn9eEjA4+2kUt z-5cYk-EF_S%d)x4WO3UU3zuBWI?8^+@D;hDu7yJ#9}znkIdUb(Qs+LYP;v1ps! z#$@L->05(b1HCOpc}&aeRHs~Hn-}uD)Rsrm`(9pkw_oPq-h)3x^?SNMxYzlmiOh#n z-|gPl=S52EV69WbA`6cai?kQOUM9=>c#LU&OP;cg_nZKV+NxH5Ps#WmZJYUp}ac?ywI5gRLO}EZ-m0Ps4 zCq>$7f6((~`hV@-Zk*m+=g5%$!CT1}Q_KfD`mAC0l@SYsw_1g2$=|g&W0dCGd;Fxb zl;pAJPT5V+Z?7pz>X=O=DTM7qbw=sj)!qI<*pHb|9J;-FRt}M{K0-6J^(ZaB4O@FH z2=P0e(BtKaK9$1`GiJhZ!xs0{ojyM8$F0eB;+MHSvP5f`+vV18r{vPtHSXzTSCFrT zFV9bXba}w}ZVw2H>ajm|Ycpzx?t)T{3EFWZ$S2+3zV$28JH~9NDk_PZ@|9)rq+Ehp+I ztP8|nmA*LKHtWOFj(RB-HczxtQ-=u{!!D6xgKekRgmlw-_C&cP#DDe!!cM8ze+{!* zOy(J-Z4;i~TX3Zv0=;j)NPEvmvR975(u~K1(QnF_GQ(2xg`iN_>{g4P^dhV7{F+d8 zB~_A^)%Rbqeq-0h-%VTno8-3u*(F(@&3=xjy1u@&IFea~RxVR!m&QfD5!xx`Wm8&J z`acoflJ*)O*-0>i?5c=U+RSY3*~9mPBuj zocC>pq{u-0FoFvXNBF0#_D%<4bdYvs<>x&ID z^+qAP+LsmlN$6A-xh`I~K^xB6t6jDQF|+f2swi6U`N3Ov(qqJP<)UvZ?e`4oZwJ3{a#6w$G8zT`O2ahFPZdgzm6y% z#^YFPV}4y!M*Hx15U(kP{9WLjyvyVb@&7H+rNX0?0Lw-1Mm?`0A2 z?nlLUsXvAXxXpQc@OebvgvS{QBSEr-9#!4>HdB2xeA5Dk_^N7r@zUfhL4-iRg_~yi zq{J2vwDX(4*0^n$FVxmJY@n4Ud?&m@CJ8Tm<<_H%=4!#}W+~0`)}Lj17AN3y%z`qa z{dOX@Ix8hv8B@xbCmRchwr;wobjn91eqG)yvEu`cNncI!s}cpdGl378s?wy=i3yvZ zjB>berWj?4W zPB=@$#>GV7p&>QQEKlk|$M(%nI<7Q)lGt;b+s|*uXO|{-Cbg(r$({SIBo8N#`F)y( z(}U)f!{#s*FUZ@X#A$F3F`OPGG&GEjd6yLPXZ6b1pI4lY|1(m#S^hkw&8w$_kCoW# znasRzJiDSes(;z4@RDb*TBo`VY4gzOoBb}4CFXCU&gCradHyx^Oquzv*sDc5QNIn7 z*LNQ}@bX!LVq7PS*S(f$8y#Vm5B%or%!NN)Ha1;;&t!wsrgN2Vk1VjaDZPGw zd)IqRb=8wOV~59B4x8^fVphr0jvlMD9%nfvXsq3H{Nc<88^7xtG@z^;AD6VAgk}tF zIgxo~xfVUodY-e5eq>S>EBsU@~mr6Q%Tb?mP#FW>L`#PR5TfA2+`+Xr;< zBa~N?N>*%qvtin|rg!$-y|X@Y{FX(@C4uHuw?yTe(wD(I$(iLxd}mLdrx`q>>RQn4 zeiMJb*YEm3iO1x=YxSh#uDtcm^h_GCePCXB!mv3PT*U*Twc~aTo-%m%;2n1b_pX&# zj`1vMnUk=^H^;gCK;^;br+Qs4&wY3(YYMxnWnHI8cxF?e(O;>f&J zN7GyQobMO)EaJ@SU3(T(XBism_?dW#CA811+g)#jFF%rUsBjl!m}9*p)cI+}$n-bu zbH<#Q?cR6CAF^QCv=hzO`u`wt)_3>yIn?9cG@a;`%J@b1r%a5_`J*VpWqCUXWrrzM z?l})fwk{ZXXw>^O-)Bqh$pLxgI+u@`JDy3|Jn}B(H#eNUmk$q|e`VIW$dZ}unANfg zm*$5V?|mKVeHnbP5FfvpW4*(?{QKaadU#CQ5HQ|g-R0_a)?Ke8xu<<^`;@e5{jAL~ zzde<@t{q)PUG;8^P-d27j9g{A)!@EH&(8O%lEeG7$$C_|vsZFuQ1z3f(DaHQZQCWi znmZ_1_@S%W(F|Lkb*4R&3XMee`ycC%@29)lw)rmM`J?$=k8E+9&jsO4@dN*hoqm?*JxI62{DhlqOz zQeOU^xAobvaTD)8ys^LRSYR)SOG@t}(#hXzX&)HV&hew*w(?%ZiQdo3^c{a~UUF!p zo<)!B^0KI-2FEqF_{C;wKKYnaJ#6-B%@jdavkODUx2}>t?|99TBzCS(dEzr%;#T-{ z>8O&i(UJwe@@Kl!w)k0y#-H>FU-E(&6Ew+n_`!0+NXOydG@Eeta9TMbOD@k5AJP>8jZ>NO$xqT>mg>(; zDjTw;s&umC?USJ&!-sxcJ@jMGp>LlI@kCYbl`VNqM35WdDs0$IsIKf=uNMDchWikeAduw=Un^zR&E&QVAN9M zS^B*x{Uq-Tskmq9MMaA%gKf)BR2CZFv?Zn%Ua&0dX?x=28K>OJ{P#OuCwec{e`3Dx zf^h3k@7|W^cV42i!9O75ahEmKXB?8ehzh5q?T^fD&G%Q`d@`X_a^`?d?w!e^8$b1U zPHbkCq%C&&-yik@#x3P>w;TF71xqcvk19L%s@k%k^q?U3P~PFQ zxyNRfgdUxDf6Cm+D`%zNy?5+gpVt-6SKrBQ!SsxA z*S8->mRkKWjPY8oe<9(GBjeC}w_%~>j>zZNwFJk_ar4Q)BzE>-?EZmABBj4V68Qj_UO`ef)w$G%6#P8nkj|~qtEW^~j`vR$^<#Xc(Qf6LBcGS%ozwTfBKqO} z`s-J!4;nJtUmdbwbl;W6C1gev7#}MLmPkC_buK;|0S^Nj`ovSRGCW#YYO&$$-dhrn z$Fp5db$WEKM<;QA&p}MactV&L^wIU|fb{TwJBhW*tixMp=6?0|>`EhH)#Jl$&5zE> z*GWHp&~k-nfmX;Cy&zA*>9og?J7XVY*>C!`gS1?-z@eX`B63ps*dP8s+TH>xuBBTS zg+S2Y1a|@fg1a{mf(8k}HMqM4Z6s&{BmqLu#wA#Ar*W6y?iSo>q~&(@-v9Z}J@=kF z-hJae#u|)ORkLQv{A$kCy{f+U_Pann)|)_0cONpO&ZiM*g~Z!p|8?&l_CLEgwUL`h z|NQ;e^!tp_3}5{uy~VSdmQzTZU(G^m%V3MLAm6K_*!icu7-ZT%8FJZFFl7sri0mIt zreCcFoW8Vu7s>vb=QVvHgwkIzE_ghgvU~U5t5U7P_dH>(mws#Gwq@LJOl&;$!Db*> zQwlw#o|-iD$pRjZEU%9nV;>nS!~D(p`K%`6M4_Hi{XSVJVR_4|XNN9g1D~agKT_OE z<${PTkIgM|Usht-@t`ioD$BHpc*V-H-5guGhJ32{5DeCBBEH#boq&V}{t~+gpt#2b zexQJ9Kv8Xp7MhJN5a%fyF!w?ztgy}k(SGBTn}_&?_Twx+UPrg0s-CeLR0!z=&lrTh-P0(Ha?A)a0~AUHCSH=pZjS%5+}<&@gqgC z`UG{a>buh#%iMk5F_D(w?^6_VqRfDv=>TWq!hp69!IcK6T^{9${26J_LR!$>5UB*+ z^!DNC{l;O{FQYYm*oeApqSstsZC|Z02n38o?f-i5jB4alhm3LOPd+l4CnqT5p+PB0 z=rV4K0r93vdEE4b=zenan?JI0d7ZL@3&XO{GPuB7+{=`Y^E(S=d=78JV zM|jSW78@>jXG-`hTJJInK0LIkyc<*M6bo?=i9z+{TWM47^Vcuke6Q#5ewBr4wOcFh zSBuQx^$*P|DM!+7$fArdCH6YnIeE5IXO&_shBI$#d%Bfw)MLxWYn+s63;wWh3Qt~> zz9&v=VjO;FO!1LT(gUcof_&@T&zDapDjqCaJ?TaFdP7>i9=_!p0&0u0`X@=SUJX-| zOAmq80o>DW^eOC7^!04YCz&{3k)-HHkKYisHET1J?hwRFtn=X+OB|^f z9=7$igh-N`A_b!`Zun8+^B!3Pfv+8(*kv{0JxWSdksErIOaToqln9n~@}n{thGuRs zQD-F?d2fz_AKNQMxt*^TdAQi#w4c#PA_}otCq5@1B<=19HvEWYtUg%5|SlD1S4% zx+yq;V$vsiX~{DzGR)+e=9}38qEAa9q^DCaFmEJ?I-B&mF3P@mwEj?tNVt41138cG z7(BN_EL6>R7R!_{)@oT-@VR?MFIp;4fR^5R3xdApQ{+X{2@m6AbL z9ZrSDT_Y!(wcMqklLP;3fRFfUP%uZQrHkOkU@H^1&o}x+iS9Ud$^uE}HzaguC&MUk zc;?W|g(BLxv=Ty%sc4IX7ov7oJS1>&(zRt-C#J}HdExsyUk6@1;yTY=;R@*5KWq|x z9kOJ(phW+H;&AOb<}UdAJqi=*TwthKXCu?IU=RKwUw_sK?_lnQU~}$Kmtg)GOVd;u zA)Zg88Rm-Gukrc?e_+dI##%o@)t#V!T!BD=eS1c>jg!9o-jrA0CEsZnAa0tJ10YGS z@#AQ`!X2$?R-5D>AaYTR5<^>a)p*C$`i1E=igvu`Z*l^FU9v}O=`<6-i<@4N!(rk=Ua}eAh5O^VK!va79I-USlZVlL+0He@wYLZQ-h2i& z04AxpP*BGtI0vkSOUCq{ypSmQF+Kx&tsy3Onp`O0+i;s#m7O+Pz5Fe&brv6&731J_ zKEZu<#CMtECs#!+A}Sr;X2jp|$6)&lw(*|hHQbzSLrZs1zt#PMRGK0dHJe{yyj+%{ znVQnw(dDy*sJ4WUIxshYnO#mTJ&e;?U#?PU-p*~)eE+1e+VYOJ;qa~k3Vz+JbHFi0 zt$~xy`0Xgil$@V-H=GFnF=V*2MtUlb?us7mrgg9?Iy-g2Dylc731i&ssSEJB^>%ys z?$I!dn#=lEUMWkWGf=^E-2`GL@tNTdzQyNXXb*HC4GaQ{uTc?iiS0^4n>hl;y{>9Z zKBh?f!|wBr;-=~gFsIo&vgRi(x;wp^2?X8+zkH;P^&0;uh`7+Uja2`kuOo==3ZzifmsO7xxPuts_*dA74LqpD;1k?tj$9*)${}2VcLhe-=bhH z_geH;oY~!M!Cc3BtfHiNn+tasPN`_)6suvU3(9y-N+3OWjh+PswU7Sl`7~wh!!SYVj|(5Qo`RF_H6O(xT@1&| zpByK|)O70#^7HoT$mdQ}Ew3>xUk$i@e{?$k90R7gB>ZYVXc>IytOke$M=yiHgk*dQCm7< z9M}WjwO_p&Q)3O_9@|+CuF`b4nKEwL89paY*o%cmzY6x5eROHi`$Ql|E8^pUDF$vx z%)y(=Z-~#M*(g@);$K#Rzr3=S?vB!Q8irQsTw0L5xZNs(vy*>g0l*B7==zIs#% zq0W(cWVa00{6s;-SKK8b(<|6Owm*=^&+-$Y#*t^arvQ4)t!}*r_lP)^%e(lzhq*W&7WYLBq*lftpF$8(%$Jt&WRP^g#qa4t@7 z`sc$Sfo>b?Tt`X`lyR&6=ID9>hLW20SRjF`T{(O zgC<&L_%jhN%Pst+$NpE;J^F=cvxR(7CQIEcLU8uT6Ep3d2u}9cEN*4oO|r+Ssh7}V zD7$~)vFMG#90kV@GrTZ#U_~LA))+nPC)MWlqX3x)7GWY$G$w~nEGyP~NuMW&f6RVe z8d~KSSovlE}}(+HOlqggM7af@@?`2MulFd4xLG0jGZEQ$!iQ z=;4lT`1_{`*-UJRv0>6sCE}KM(8yG2b1V^?7qt= ze-cYpcvXRFwKAn;Rl)<0JLnM+Q3M!TqNL;ciE|#r^$l*k!Fr0dnxpZg zB6K={kiEZBYY@AFVo#C_Wd1yv%WX22T$KHl=clV!KNbIO8onBDV(K-i$WI1zp5*|F zk9_i+gd`~1fqU~Ra0mqO0mTxN!~&Jjm-o?cHR7T}@yyxaaAl{e&97-k3QFECf#N?; z+zsWvhgI-aqfDnT6c+V*pR}&TMegm_ZTyeo3EmH2qDWS5CoOvylC2sVlz1aYb8oZtgqBrnQ{!IeBB%)xpL|R}$LG zEGYA&FO=d_sLW(`S8`bz7}q%7gElGmgxN}oApgm3%okbujr_JybOSS9(^&|qTLP69 zq(4vSmuM}9*W5kN7Dh_m%7(|My%4A06CpU%)1`8XR|yst0YV*@6`}nM(`fE&qcSvF zXz>r2Tc?lcF=d;XNkdv5-Lfl6%X1J)E8WSUDDV+}dUNy2Vx}Xlh%OqvPnxPcvM;Yc zgyMBbHhqWCaAS8en+8LqX*f<2k8wPfJR6Zlh!FpyGmKqaP8@7W0VQ4xOSCsiYGz#_ zPqtrPV9H9$x32++%fl2p+)!e z#>fjtGbApyHj<+0iL;M>d!@O=e|~W2WF-y@!+riUGPe!M#sJuW4v1mv5QfX$d8|m8aRCURZ0Gfb)U(;wFkU-IY;&~Uw{3lTgM857;VElM6 z+t76~8ZF~j6xD1L3a;-J6bHKo=l4v#Mr0N7?*UwX1LLn3(DqOuhanBUQJVz)-jumY z$0-{{1jJ{?E!zJ1ZUJLc1Cbj7PFQ;W z5PpTxAFNfR0m#`)54JcJAtXL36{lJTM@!9rACs@dwajkt|M>a&@ng41A@_t;%HW5{ zt*}Des9tZPhn*STAb00uRQukxx7}gPaakCCxt8?v{}z^ zl!`NlonX!j(k1!b!_i_ zf5`|~m?>f~HgIH_Cy@;w;>SKs5i2@-!8J)qt)B7@Fmd`@8l3Xx?c>H%)OoyHATGaB zq^OTOgFqbgB!}1?B>STo%q%Yua!zv!3=F8{TEDRC-Yl7*f_29pYy~7+16NAf9uC!& zv-Zi%)1(F*?g$cx!OTPsc-W0Lwobl#epU+%c|6!Dvu8;}-=Fq?&IrEpA2ELj()&t@ z@RYP2a0Kck7$<1Czbh)<#x*fNC)d~NrdS7rz7xE;dShfN@{zH2a$*dS9}h9c$~>9z zHF2nEmYO29%PsDv9!+wd(n~Q}Dd!X~e=%6I!ZCt_frX4vgdBytmL94`{L<78!W7|O z8tx`DJ)|DX12x2s<3V<3#-c$*!5sejm9?-7VeS2I&aKOM>5BYMl#?zbnF_?oJBz&! zwx;nK*wZSK;~L`f)qJ+4Qp1xP+nv6yWt8R^e=p$`7c&(vsT>3szZi>wE=axq$SYu1 z!#m^C@=Of9M}~y{=U0R?P`qmUh#xJvVSh%gZ+g4JXuha8NnIoD*|<*9&R#L;sv8N+ z>?Ocq|Kz=>zv`Q*J?e*xEn$BC9BRM8dTj?~#u&qc@WK?S@NfpLR`xT!><`gPPC0>V|JT=S3rUp~;x!=m=cp-<` z^PA^fEV|OEYJuCWw@zJ7>?aE)cfWJPNxlG%v=n@fG$Z!+mBQN54S2Bc9fV+ye-|4u zO!m!Nc&i`nSFOK?e|Sk{J=vHfaUtaIyk1nP13Erwytn<>+NA-@QiBRTFT4KOoLyY` zfc9wC9qQkhUtFghoD|y=fBUE){{6HReO=y>_bp`5ljwlq)ij8XXOFE z?F_2#I^t>9|2@4W{z}@Laxf@1z9*taXX7)zhqfhA4Y6yC`>%)Fm2tr0ArHf(0>KCI zJ!ucgJ~7ve4cgz0G5hXgyLb{@U|2Myu00r5w7V+}#0LjmfNRRf1K*r#R%1Ay-q7|d z4^ZCxD7uhTi#GP9l)LW8wcbA|oz&yDF7b@_m$i%^j3*iMv$>4#E6S2MnKAPy`IX-M z(020aasZ<$kyKvs=$U~If)SF)u&KKz{i?lNSEtOnVCa-z*U6m?-yM3W0&xcAy8vpM zHXNzDgFuRA@ejEj%bTap-+t81O90{Vj%K|%{_~oRkdgD&mM0&&_5-KF@W4j}c;bE= z>Kf~{$t6>@GuNf64Fc*s%jWc1H48Pi%Pw)NwcQbT76Aj)M-0@@e1DbhjQ5HWgkl*T z^FLz|5mDacnZreU(#?Kjq+Xx(aKU5RFWurZef2O;zd}%09wUC;Q0bv&=V&;xy=KAn z6mV8PV$khd%0}}X-_Sn5TGJ`0!e{lXX{%MJigELO45I8#wurK(uvB#pV|>IISBl>| z&kZzrz|*`XY$P&N-Z(r^CR(~b&a}YUeOPO_nQW4}BPHS3^JEeb<~3Qx0lx8#fg~eL z15U;ai=0~TPD0yGu~sw;9k zxrqF*SJ)Yhy9f46Yx?Exe9yE!(qp}sH&ohxqspb(yd|O_qRd(0xWFmgFs);ZgL&us zAb_nq#!%*RDO8qrNp>~8)&Akv3cyFoxajTgvz?HH!pI=;W!qls@NDM@77+L1_{BQN7OR{)jlD-Ga8}li)UxGgt)nwXeEE&G0 zl%R5ajrE)~MR;GsB=mQj>HZQ^yZ<4cO@r*0f)(TVUno)!-mCi9)WY!&WxQ1@2Y%!LX69<7>EM`c*DqKo>h& zdCuYP?SLM!?10jglU6AsaXOH#iN{{m+52jddY{ozK@t?a?*Knq!i-d=&bUcAI$N9w zwsXUT+x6qGriPY7FH7WqEHF!6Yhir~U@Uv%@8cWMb7qxxFdsSK7hbJ6rFbHyL320l zu_=1dI>dJQ;Yx7&-MMiucfmQ(DaGVHezlsvxqTfBTb@Lfrt^KbCZtL)eCNSOZc>=~ zsco6Fa=cl$_qc(CpTKo`LR^hERYH<$%{=asUUj-ZI#|`MT8jWhO{hJRPPm@pT_)F$ zub@CKpEeCw`uB^_^hMXo8x@% zo75a81C(6caC%<1_5)cEOYrw2P5OeJb~I|DLZKh%)IJEGh|OlSSo4XTQtuU4yV3zT z;gLWI$Wk6_f%r*(dc&&3hsCX0P&o)}6v*V5@>`y49gg`K^@q82!O^^46HfTc!4Wk2 zsNox_i#Nv+5`#CO7IuLCdxIa~ossXdLqwxhc$n7x8g!p&0adEO_o%8{cSv-I zGl(vu_Ap?&AxJ)1yst~}sLhr0C}uHw|4TBo4Ph>7J7?S8YC?S)f0WwBwF-GI&M&;G=PCW+cu{)MU z)bSem;v5iBZV;uuDK;ehg83WW_U{3>4H`<&P3V>S{Y2DC5;G-3-4UAa6lDPG)_w~Z ztKgXP-1>O=uxs+Np7^NEoO?cwpX?+?i1f4pz#-*D9o;!f&HuK_JeJYvUWU9Z?T4TRKE1gC6DsQ04&mCX| zR=vR^J~nBQ+;mi}j)_t<)Md*_g?f<2w(A4u*Q#XNfhD=KTvwGqhQ%ihTh76LZ(FY; zo8B9t6NU?`p6d?3U}|IdOfX1~?gaz^282$&Wt%-buWEP|a&mf!iMj%K26R4tAVfjF z5$##J!d4QNa&?62P2YSxztQCDEYy263qWXf!xOxR5e`9N^*1!uA4#7Wnkx{BL@Jy$ zWCucY#484*D+o;k!K(<_)Rx=V^!+^p{x$xp3eHbkKm zc8BSmQ0``s;v%_ zB{Q?1LaE1F5O;6ldAFEcFXuQ_geZe2@;#21%2P@)W~}kdT+Ep;?-m^A9k>DF z-LdSut?H4;#jJxhPlTxph}UiAw{kg;mlgHL-I2^FS`{4Qdl7fh zGv+kPJ$nR(#te!k+<|a}+l|?TgV@Jo4Xs#pUvK6Gm(bpio;N7qG;>dt==58aQ#K1^ zLE6ahhSheSa?!oU;Ur~YZmC!8q&gXtAHO4i6#z_oAp~R}jWfwF(pKAK29~V&>9t<~ zGJ&&LvJDHoOT9Q!_Mb=qzt}~f-gOCuU2v2 zs9!KK=XlVNtd!2qszYbtQBE6O?T%J9-ISg0&au6{PkPTU`1ROZS)w~bUokyJ-=o8Z zyh&A{qXtxtVH<0aMsl6M_1tAUkK1~;+Ai#i@V(**Tj_B(;_*0}A%E6pEwU3dV=Ctn zK%s+@Aj8&q&s6VQ7fYWd@?t>AjM%D(hgXZkHipmH^>PoWfp`ZOxP9Vf^kmA2v$0WJ z5w)Zf)V&|iFwl|lDnm+}|7e2KHbPsSKXGVpza-hS=W3T-o5t(P8GaGlIs^2Bq9Pb2 z8tpo$`VZam-3=vEjg`)RHu6yAP43PS8wccf%f>mVXkU`@RarZ*m0*r!PM3{}gN;PtO^>>? z@2)bT@(!2j&B{Rp9Qr?Z^@T6mODS}%m_m)kIV(zyQo)x-4`yRvS-Fwy$G>}Wv3%kc zlZr0`$&`KR%fyWJ^vl9ogcNS33_s6&b z1Jz6+?ap;gxTp8+2cYY5*6qO2@)yUJk+lsk%k=N-zwyKI&2CdqOD`{h+0UO5y!CiA z!R+@YZmMAQ3n2NiKF?EY>M@&@wF0G~HHH|1sbF8Y(ZilO@e<3aTk|zWiu)jo-akpcN-W73`0OD$4bSD%_I7PXio^n5q>NiK((-CpQf@ zJTg&->_bc^8t-4(zINt`7BQZhKCALH?lx0}Ce9KEI#PZr3e|TnR@=HHTw_zSyDd*$ zS5&k`!$15%A5flh>+b-TfR@89C!|}RS`(bM5bc(M#?6pUx&79_NjpuFPaMrerg_Z#aNk{O5vp0Ea+yPaZif=R+pk z7X7%kGD}OJqtf3(379ArdN|sVknp_(LqiRkO6da8w>7|{u1;sIM3>{0bJt_w9h}6y z`bVkKoRE~GbH&>+5h4Zabm+|n!S*q67MmOa^{L$s<-H9yz9RY$$kHMkfs|MgFE5~2 zvdT07*mSXaV0KL33Jl*&=n?cfv5R%M=bkQrOElpAQVZ?>9`Lme;yC&m_Q~pIH7b-- z>ZQagoyOaZ)t_nCd`10rl$}h5 z`#&8^(4tGwaDVi6tn(EG2fHFt9uRjYjL29o5mx=i15~;dZ&_Fo6Z~%*L zYw9%kY2fDBOWSpNOdp8A91qbi4Gz5t0nkas)z=GHni%`DwZ6>GG#UiTgybX#sOuBM0K{RHzu|z`YRY&bj0qLp&o|7$oAa_Yg|`-shar zTfKVcy|x~TJGv7f)8*3GWc?w72BNBV(=zrpT-VNY)ZmR-NqK9f#1kGmA4e^vEEeuF z0fF7Bs!Uf$@wFK`>u^GELp*`BR{e}srBB4rmUp$$i^>)rm!wQC>&FW>CdZwZ%p)XR zhj_glYqNQ`kWviGcdp}6r;Y?!Z8+=lB6^}M@&T)=&o?t@^z{M9cP=|kn{$_#5huJQ zqbvmrR{W1{NT}#<-ZD@cbit#kRg^kp4R)4lCR!E+FjTnigR1xnv#vNZLo@pI{ogo^ zIjNl`-)$Bxv9P;BZhY&=>-rz7R3<+^;&s7>RUax-#!%BHNswPoTM2i$f8_k_tUfBS zP%T_qsTRARB@j_- z+UCBYxl~l1Dx&31$WmJ=3BXqlm~W2`OZ|{Q*AoSj)hzebJ^)N^ z;3g??0uN_6BrlJwYEj=2z;m>cW*s?C^L=Dt%g4Kyssz@0iSu~aph~z_^jCE4z$ErD zg6~-+*Hu;i_VF?{CxB+33&!%T7}G@ZZ0)Xl4ceYNGE#`Z3<|0^|F0Vd-~2-<`Y+PJ ztpA|E{F@|@>2EGUEs`KWg5&Si6TFTNRm(RsOPZ z1LJGdEZKy?RQJ+|yoCL!q zUInPCBJNK~|GUC{SW2(>qUU1p(SZ?SVd6yVPbGzxymSyyKjlKQ5(qmqL)_1S;jVy1 z`b@ZA_@Ddhe`o)>U2BH*&M2%E?Ss8)0pg37XPCHP>l*KLg-Gw zf4c#_?p;?r?#M*`RR)G5Tmu3E$^*P^ooG)89mS5f5|l+?h^_Z<=OUYro`Q??w8shR z$brxt^Axm8WFyA@qpPZi>w{Cu>2%Enh{gYI&{rqR0gZJ_aOvG$Zr=mewLi1<-%RWO zY0jzIVBwe&LJ!U;PI};bdWpsH-$-50@T@v@2xQWT$iT&hUOXWlhv3cy>B zgYYeys31+!Yv;?3?AcS~++5$Cu01ilIV;Q(K7Pob0F_CD?lHfwL9fcqrr)SYI_?q??7#`sA7H+hH@<(2HAG||*Tj?U*B>v;njEaH! zP!Hj(czbG(hOGK64+^P9L-u-j0&cYSM}Eidq1^S4E|1!WSrKH@u40RUhe&I{8fcE& zuJMq{jpFMo{#w}OE`JMN{!6g&FZa;UjQW?x_J3(y`pa>w9bo)6LvSg!sIP@m_tTdh zEp7Qa$s;8%{^Uz38ma%)fjzta{Xfk?Xq-iZ{`4^`4_5eBk34HvuKu(i5bslpSVYdT zGWFR^;&8YP0fDYC@IA$9XPPdc649PFTIh`Im>K(G>0kXRa{4><<9|w({7)&nScF7^ z5Ba&N$kI`AYLRq9=X?{?HL1>*5SCNT-J4eK* zE6N{l)hY|~q?UQeI|f3$9Dl_D#-B_g%}=+FmyP#F?Vj-Z)?L0!O$;3E$pL5yWjXs# zZ#b73R-C@W9bY}697s-480 zEF4^|`67MfG7>_nivKeE|CABxtZ_PCNe2`9y{PraeDo{Vd43C5l|ZBh=g)s3?Vo|{ zUzxr56D*O>0&}td_~JUGFE)8_u8;oXqa3eAIF&sie+W)wU8fZ&B4Hx8LdqK>Kd{R^ zUSeUF(1;3iJR2q^wcBSW+L6~T(NgVg5{#%eT?e5ve(_&W%YDX{Zt}B5!XWCrC#%Z0 z58ihOIm;lng^peN2{?|w4_kL8)DJoBuknSNs!UPaZ8%I`-5Zuk7bnUc)BeNT@;7_S z-~UT@044ZHdZ7QD_s>1>9vYx%if#fp`I%t-dlnOlq?G#m(ok<`7^TecaDx_RyDc7t@VGC!!2d&aG;=c^*nnv%or!{o*z`dY7ng?W zEdce=%J6^euR$8t!Ci3Le#V^(i||GaD2a5SO*8~(xLQTp5S0IF1~xT^0$q|hKJZrf z9g6dZe5z;*x-9phY^$o~_bB2o>cKy`QHagd5|gi+@icbX7r1|#{a-J!+jdd<4V@NS zp?{ZEZnO!Hzn`N0{1-pl-}$|6)>Y~!Fz=%A5X3=K6j0ph{I7xZPR-wjU%}NJADFvo z(Gb1FH-Nu1nMs~Jy!3$R+<*h!5;Nk)Y&No{?p;qLzg>*O%g7o|dA`UU)4?}@J$WZ@ zBZr%!F9l0ZYqckUK~JE1Gg^(f-<26WjX7~nD%5Me*d2R+shs;KfW9Pim z2-6XBj;U4jdll8Kh!NTuKnni61oalgjWBRTftT(h=Gu&&thJCZp6NdERAjjKye&c& zBPSDNiugf=9Q!@O(N+v|eE&>CtVHCNryc{oY{KM8fVhIQuV7~Q{v}?Sg=l7hE4Cw~ zGOWvJL6#lBDxtHW^c>E1G-i%NAU(YF2-s_n?wcuL#VKTSe6|MYCxjut zHDuZ8f(vjJ!`?PGi2Qvao{{ak@Mo;zY5iLxn4;a#@EPQUCi7h| z6br#`lfvajfUuh1{A=-iwB2Y}i-P@B?sM1^*jlBy<@xrI8A5tnS&tyRE!tSc1T6<8 z!!SFIoC6WK0sW`Uf^DIsda_f8ss=%tbC2%6(BF+-qh2rrF7$Z7zT14-e#;wTm&NyJ zcgN#v$Ih51J_!?ApRWQ2%*LR|r8G2Rf1g(d0*WsbF@l%qDAwQlUHYO)iA&oD_q*3N zw$A@L3O9!nfHVLI!&P_mhM;E=;)v+QnM2NSeCsj5CUp7HOJ8U>bZ3N~|7{CtC$05o zhTT`e+lugu9Z-|#`1_d?%E!p20dLa@R=qF{8GvG!W(H-Bw!oGB6k%}8k@eWxBD^?G z0{zbZLZezyVqC%2b92P~E?pvldAki5<^m^5Xx1>m5V1ZHExveuJe-^y)uKVsyhS?% z6^HSv-Fe@e2e}G$4Vz<7T9~F^XiQ>GeFHeszqW*P2Jx2P=>+}saf>s*hYbtwq+H7; zUtT`=6d|{aHzRxuF8cpu9GAZA*Otl`O{%pCR|yB#!#8kBoG7q0n~PLdcQ~++$nA->mfHK@U0qU)JEzL~!Ms zktF9JmW!!9k@HpVZ64cT=F^j}?Y_My&^xg2&`vA2uLAE;Xs$v=^94FqP2` zEw(!ZzfG&-f;LB#T_#SBRK=R<5tV}_mjJ0-lmL*CkXZoL;y8chg4cun?(FVD@N83Q z;Zn*dJIP+W+GOxzlXJD76STFUZ2bA;NV$?grAiS@@RIuLu4nPCqm{jx5B{qiX|g4E92lNWBLmW_sMU`LROk$U87#Q;Dqz2_-|(E}7h0B`Y` zgow{Tp08}>tqDC80h#x2f8V*XujOS^0bhX~uQb3$&*F-{_8n~AN*`g<0SrSO{Kr0LpUxDA7N0C$+a|Oj+NLhzkI$*?@f)S2cz^5hVJV zTL1M68h(a9=Q&YO{&lkRzo!43?6mbtnwvRoJ87f$aIL;*SJpiW3CHc#Hn_4#!|Mw{ zO?L^mFI;SV_nMDyr7+c0{wbCw>NDi;`*=?W(2f?zH5b|`Oa&yOBU;8OM;VC2NuaEo z-M~@1QAzR3C0mf^joA3=cu>JpNGhod3%gV`gR;3oY?l&0qnf?Ef6F8(#_2=8O{vk* z!|@#J)Eaw!tqsYf4q3iPx^kfpWmB~_pfWJ-gfIDborX@UJgn3U%nSh5NhX8yXz8|G z>)}j540l^$>Z})V`TMpQI%+oh1%{l#u=iq#*fDB0&qSogvSustZB$#9h2I_7_aI*| zEpSMAq+JiNTG!VINX4`X+|e&|L^iU%$h9V0PBc^|>-qJ7PI)JrxH=3f;rCr{@Vher z*p@yScx(TqQs_%`%$b(7h(=Tyk%Pz<>u&dD$cnUpA0|ZuO z<7yczqpnN<$WknYPHp}W8b8j-^Qeo!e$>?<)+6p~~CcNB( zE2Ym=cBTTJJ~rXoHVt_5-)*JM@&#n91ap`3qvrEj_BHKi^G346Wr|*9#n0D~i2!QC zXNP7Cpv#b_!Y<(f+mMYo;j!R?t`OA%Lt|ol_d4yk!>3fs6%&kw6CqZH)RNMlm!`ie)od`xL*tu0ZX`4G3dIylFv(qzzVcz)yYfTI2Ge9 zQ{&Et?R$FVC@YeMm~(X%9djv59H=LSPO3oap5~#3xH%I&L77#90$>@I5XNnqi+ z(J;58+<^*>KNeGa_U3L}ihy)-Syv@!JkZoeN6tFs<)K|zA7fNkNmx&XZ1O1jmzY@v zv}-ZTy=o6{Dqz6!@T{cpsR{Q~XQfOGT8a0(yT*rdqQ~?~_iyTxfLtS)5%vnBzHQ?lt(%O(n-&Sax?hJ2EhP+CjFx^JwS92`+D8 z8~at?EiW?AEWh*IiQT6^*|NLtNnj8=nNc^tJ8ur@p68*v$!kaRJW6b*vFE|UH=cH* zeHwkdHx+f1;rMG z2&{bhS>@UlL5zoAH1`HfZjo$;{*4x=PlP9q2776GzvvW9JrRR96nF^lqFBN_&tOgv=P$ zYR;1`pPH0kzd!p)H-;I<+n|!;gk&K~edE$V1n8B)kVxq#5KmYedb;pVA$mUAvv*YV zvvvd?qy4Sh6l3dI7p{KmDN}va-nx~p)FXB}oFZ?gZ})(R+qd>~BYALJJ`Jw&OQ&{Q zXxV9~f32j`hZ42;-ETJ2Ep~X@FjqM;OCa5C`f`BOD#9Y|!G09*`B`7&y7q|Eo>}c2 z{gTUD#GVS9@UN|J)A1C^xa{KO*Wjmj4pMuSHFkER%y6tkTyV zF|I?+c9YXMo*TZL6FOV)AtG?~Mg{{{c}nG6^COv%AY9cR&Xe1w$!goc96mf@59R!3 z-TcDY4Do@3X568NfRD+k`Adv<=-};%E?uxnWxrSshOD>n@;3>hA`fDq>chRQ40dmw z4w+OwK9@GP&{et0_d$%vdRDe2!Oyk7f(NWUD-pHu0&1gW{zmcSH4;R1+xV#XB19AF zDGrY5lM(XiO|mdbLTTB0;l^2s4c}2Pc64LV+K|hrpBWy%fjWWA?D=vh)IAx>uMfzc zPCGxFg_QeG*L`R7(PyaD%&@Fxj+<|a2C*mZ$`y`nCYT2RVu9goaBEMLOVoP&6V-~& z98O9o8!LV>EBzNyx1y$}*i;um7r=Uic|a#q9NCVIAsTyMqWHBP6HxE-cDdmyM5y+r z<`z8v`i8%yb-5&S1T-@CLivb>A#Atfa7F=L^U3?>Z0vqdt6GB3o7!Kf$T?nPmDOw& zE=RPCay3>W4|yN~>6FrW1E|$|nmQ`kS6L)lnbZ5BPxq^8f?*oug^AC}gA*df-iv8w z{@`0qMCs-IT9D1KdU&d42CPQ&!m(U z!6x>*dyGfRib{v>Vtl%Zpt(lQ9_J0utaxUhO7h%*HScwfxS~Cik;JEu$=WuNc$Ovk$_%0f2(vnlL+v1!3 z+MG$*BXvx4eDaHOb*t12)7^Msr5wJFB-!?fHwgIkxD*`~KC2-SEI~s!;cvF-mK!qf zIf9>`PT`2Fr%3HZ23UIF_o+{?-9s6{)aNARu3|2mh}Vp1S?f+FAT00?p`djG&7TH1 zb=)ll$vAH889hQ9JdlYQ#YQdpwJTS#5cB#iF8w8YPx|Yl!9Fq`-=d3#HL!)xyMP>u z2(&k9>hizD$7k=cUQwSE(=#bthTOv$zdj*o#3S~0mV~Q1lS^O@=IC>SHg6x{x*MgA zH!!5E+NQ>=$lvfwF}U=t-5Z}hFL5#+%qOj*9dy7XW~=|GBkrE!L^!h?+2U~Ed;GHJ zkfOn81S94i(<`ofw9?|i{C-p%b8W6#pEYW>i6${T;ZCs6$?AyKNhWqWmHutfc|*-} zl9$Bg$1!QTJtanjr8#%;N$ch!(%Y4vR=USu&G8jDu+>jASvEg8SbGv4P`+guaS5(ZJ)aJ@@UV$k=j=kR=BBq%r_xBb}mcBTDN5T1V{bm_OL!Kt=`L$dAhnCz+h-5#!6 zwNms-DpMIr^v@sJ=&HRD#vrUqzC6Li7h0c3pBg76yfbH?WMQW0;NfZ%tU`O|O1{16FAINr2lz44J2F%T zTu)#dl`ZByErH_p`h9`sI|;Qz5HTqTe$IyS;(+o54~xm$s3EZ7Nby&%UC{; zQ};ZeY@o;M4TfGm!^anL+x4AsP~>jc2U=#MqZd3Kg+CsZl{^Qrd)H``Dzl#GTg2JV zd3LS2gcn1dmWQ}IlCc=o(W9#*8mY{pqN|?OqkDQ@@Tz?d#V$CfV2QuFcuu~iX#79g zy3U{`xMmHafC|!!v`_>=KtQQd0#c<2NPQ`xi735E3k2y%SA@`!B2B7D?*RfTCW6vC zp+khwl0eGkyZ8I`&fPy}cFxY6IXgS&$8(;2R>0miBaU0UgO*>JM;r++dLQm7iX5!j z<&mfoDz4TiDxV>?jHMEFTluMXhOg_1>Fd}%6@eX0@GzRhvp^+y`V& z-EI`OASU~SJzngwjD8r);KnqcS>+*zZkJa^Bmm3O?5ogDJ8)NgCHO0~a=QG=ab}D4 zwnIGDXA_0~dMBm!`pC-M-r=kEq;QR^50VcAT0|+wU7yh2CHD$G9sHI@x9>eV6!t_U zTZ~1<>@`Q`#yig62sLv*RL6=GqARYuv};r-e*ffZ`O-J7{anEXMMDD3UL)}%tH;wR z7t+oR!y98GRWn!Vs%cUCe2|Ki_b-R6bcIUQD5ECs6g;bRgo?23or+o4_9W!a&4*ZV z$G3eb;hf+}5%})dE!LH&mI|>e9Col_zM?U1#LBjy0eQ^xCHi4TU^hiuWNm*3`VW5rRSa2QGDc zeC)O_>rIwmS_aZO)iE+v_#5GgJw7Ow1^G00Bon5{g$h$(QN|lBA%Nb;+^f*Y* z6@yki>DR_eI)&e(d`#%hU1>@j3V~tMMN#UU(auhym}RYJr;-b1I)c`b3=p{W{#R`m zFWWopb1>sPIODxR)$a5${j=+iy6 zSdld6>!n$pk}Zdbz$S;Ec@nfzm40x`9OVn1%;(4cr7Q`N{L9k`#g%{;nan@nG_Cz_ z#*ke*P51CiQTw9Iyp4C7+y)0HfOW=PLp z{(A<9$JRmY+OAs}v+L=K1{9BZqZCPpH(F8m)I7RULZ3z&dMm}qJOa|aE9$3M6gc_N zW)Re9hWEJn)L(8%l|Gj&tQVZ{5%XE^!%rlvr-|NL0r3W7=Kjk?`#~oJ5D%>{(1yK7GAR|*XcIFL+P6B z6AtT%6gr$|PL9WFbS6agvH6b9<7ouSXLJ@RoUTZF8W-~mtw=Yh59F-8T5=|(G;^lB zf{k&;%;PyQU6Lb*%N&sYVsEbzhi9#&wx{fWXwNjw`vB23J)@Qf!XzRsoUfn}Jsh+F zsg*q#;2H5Y{Q9?__V=x|LPb((z1}mmYrd6R)4;fKPN%^D91)wp=Q&*myEn)+*4hB;lKd?F{ZuL3 zsCZ!HOZ+Bb(oQw!Q6?~$7kcuSOH`^Zc6a4URqI%6AW83e8u{kb=|$u=8RSE7oxMuH z^cxby9Pg9DeJDFOr3S?1#7!j6sbP6iCf3;753)Wp?O4aJw7M#;T1R_rYG2kY$|mK> z3D&mNm9y62mcy~Wv%`4(##ie5JF=v_XgRyoV5la0JL8wZhvV(9uf&R~GNyKmZznI>Edse>>LeJa+_gJk?Bh&?Db@cZ3MVP${p_eYLq z*>=mh#Z?}I90X^Fa(bO}YUXnc==Ra|uqH3K+x)2}I1fCi?`+qux>*$0>5^&M5yAS! z601Ji4Rk@(l3{;@?ZfJ$sbe;BviB`-NsL8e2?Qul_Tj_>qwM~-e>|MQg;jz-k zJa(-=hu&r1o>>bi##K5M;i4lDwS_YY?33qfs5H`PnAq920CI1@ zv_;t?QzT|}^=gabOa|$2`4wx9^Upo~p2FPs?u;oI4Y2+U>^2H7Gi+Y@To|V|p@hy` ztR}b)A1~^Y88=ol1r#50<gnmL{+5MTRp4q!Za#(y&8~ z{gj-H51FZMj5w<=g12qSYE4L;l5NfMNkh%p@CWtZMEZ^8Ze8rV92SPkPI2nEL^-J} zSs4w@A3fnj73jhf^epC*KFQ*^oAAd>b8A8)r&NI%s{^6-cO~?ap(It(K&sCmIr^5J%w4U-Q z{cgMOtUm%`ULE;`SP|vXlp@Z0zqN4kJ<|i!zh$1u#Cx;`9=eQ6(hTPdo)v+U}FLck+RKh?5^`qXn%^(E{`knaP)kPVZW&oV+!r5@qm(C|7dHzjP z<@LM#PZYDmBkv#-()!=kIL(-;GUo45uQksNSWECG&C(A_|MTbyYFk<8n~qT8>y+?v zXqOrOHW>5r4tol0@s9?r;ZBSYw$tTe(HkefX;DiX$=2)wcC2Xxh$KbGv<7j)GjuHI zb?xxhcW8A37R&pLt?1yZM;bHsXCm^+%R^fyL~VLa={6_E3fWumt2@#uSzTU-Du)SB z`q1(tf%d0FaBsO(nj022)o#@&fS0S)3*$XD2y=Sz1YjsqaeXqToxb7^j{oC#XmbLT zLD%urv7qjFnCTpWm{4eH@}roV>U%4Eq#y&m6h2D+_FedV=N8{TKlSyYObqoaUaeGz_*wF*Jk!&c^x zK-NO&G*=5%jHxDI%zb;rOS)yM?v1;{efVFid4TTTg_DD}gXibH82SyL74auN5)FH) zaTC2c;^+~t#y3mI_c(u5V}fA{@fE@F*!`S9MaI-X3jX8WoICA41iLSX@|D9 zg2AbgBXcBk(1`ch6ozcKc+_W8yi(ou0uOC^aP#eC9(T9gX3?C#r9pAogb?(@=|j17 z{dsES ze&HTR8Rg0aa)F8}gkApcsdoHwRL^=6b1(VUCu&~*mh@e>NTZ9fGYPD+p6AdG>_q`0 zQ$Vj=>+8_yp7L#QiKVWWhd{F^e@iugE0@W~hexfdEy>0;R(Q9g1M8)xK9j+KI_yxQ zuUZ2W(GjLy0XlZLF?@Fa4q z>aWI*Q%?Tj&S}rU6{4CDJ15m-!}obH^jYtbR9a+Q9K101V)4ZnGL#adsNdQ??x4r5W8c7w6`)OssvoqED3yyhcbeZ-3^ZS^gz%3;K{OHL(*4 zQvF=)^7^Von_@za@@5*D>*83(1bMV{i7b0*SJhq{&(p>K?BEhYqTQ7CKi$b5K_i@e zFq`**Vh-ry+vEjm39Q|2zhv&sU~>uNS(HLwwyNeQb>pDM&f}_o_?na>zia@GUXWcc z+O{A|cOBBbf&^?9H-844ZU(y-bWbV#SXuFE54a6LE{9K@^>jdOEX~GY^MP%bF;eRt zaW<98TT7W{Gew#>k9q8RZ&N|r!)wAb@9)C=othLzkeTxwCf2brS15bgp&`e(N1F|* zVh*d&H3s7)ix3bWLOXk{E8kgSOk({~-B9XB#WFM@rc@=|A}b+ut@c)^d0%}*HaQcN z^JY88&hGH@kVv1+*mX%br_)!3J~54qSdTSXp4#s)n^#;FKT1PynT-$%-MosomY-`2 zDe==-omsBt6PddspS~%16+CxrAeixtUEAdWA8_Y=<9F6nu{miv56B1LvB#Vg%heKD zH6Fa~gfA-Jz1IHj$V^1sHux^9k9jj8&9OY$XC+(y3XP{J?hjl1lTCFxZ~v{j5Py!M zz`kART*JN2H+i-iRSRq}+uF|Imxvsdd?jk~mqAD!fmT0`Bf|{L#I(u34`xjHR4<<6 zsG1P<9knf{yx$W{szpz4@Wx53%dT@rn<`e*0@5-{esHXYV9uGk?YeJnoNym;r3*~F zX1;imYSyMXdzm&2P1 z<{VP%qvfg?eI6GDs(QCRv-@b9Y;5Qu)4FjJ$Jx7rty96)7X^aw2I%R{2+Du9D_@?k zQmrHRqh?W{$It_j_e8fc+a2c*R<+u#p4Yq;fdioV5o@im`A$Zv*FS!l_5J}Ltp79L zAOVWr9i0^gN>jfR?{c1<0G1sT4TQ+~Gl!WYqN~DXChiROyhV&Z*ZIU6@*-O zoY$_C^^^*;*(~1vcz)^lN7|Mp+5KXlAlcz7>peo>Pa3s448@7(WD}_27Prod8WyX0 z;#e#+8;$l2z&isuA8xR^x)u_-+GgZ-(7Fw!+TUrA54q~xtI9u(= zT2Ib5xx5Hp5@eYq)wT>d>qqdM-2kut$m7G6pV1%Oj@j~Db$sm*ZZ*m6!4(EZGCe8+ zsCZmrwj*a0*nB=!WE#3fS*@}T)qAvc*5LFt(iv z=n4_u>IDl!#lo;6fr*!9z%#=Sms`RzE^g*bQy0st2eV5H+aJ`?&-j;d+qpN4yCBnr zkHZ6$*x&gpN9u4yf^?H_gu->@W{s07op-RspW2D$rVsy`5=If%xp>0NfAa}su4x;4 zlFIj3*!~72m{ccETYMp=^?PpkdFzA2=Vj_II&d-?=+c~1)9##_fTQ!r#^JcHd;jdS zWq?vzb{_k52Y0qph!5kJaP=;B7%VBXkR>^vbVWkhHp)qx^|Q%BV7<&WfPxv}Pv9bV zzRJ#d(jWeE&kE~+2&J%ckU9jw|BS4<07*jI>Zwl4x*(td<#p)C<|06 zQAExg=Xfs~?5zbI%;ARiT>4@?cUVt~@$w*j>!h_gDL+Ij&qL4RQlH~8@R2c>@y07z z;K6>3m@-HgxsT1TSLGP_nJI0ioa-E`i#;g{jL<$g!s~_PBmp5 z&zuWFXqK{K7(j)EeoAv`6 z*e!I}?)^+haHpfyyBm&+n}KXV{oxXD%M_U_{eFU3xbXmJETQ>XWfmJ?cLB^N*KcI(Q*l5j{BqxQHCA!TOfW z5F1Si`!~aYg7SX}1{4dY2+h447 zkA`1{Mlp+^4wAFBVILl)8+ab#!_|tBTgU%iNOq8ri*SfBFeC)FmHz((s1=jfu_ST= z@?Zy>a*U54;u4EYLjPlUhP7lQ`8=_==SA-+#m0XOntMRJU>WQ4-Xa{}r>Mrs-oR@Y z9b7ErQ{vf$W#7^pQY~?6>-VnJYa&s4XIdfe^V8IGl@zDYuDZRgh+ccEzvX&L{lI4-bRxY<$%PI=+NFX(t|SCfjub#j!X~##4lZ}c-Ci19iXbS`5k={W z0wRJGk={E}1*D6Df{G~q14v_OPT%^LNqWu7D>8v=!opS7u;8O^9$QQk-m7z%3Hs^ z@Uj_G|JZm|-2-d(Z`xvY%F_-V=;LhetmORn_J2AXNX{<1Olz#&Wpbu9lkUpwTD#le zVQvA(IcUGPiWQJ*?r*=g8tIqgTym-7bp0Ky+MkeN3FGfCSp&wV=Vb=eHO-iu?&_GC z>Fiu|KxS^stkw+q6WW_I&i4D>wiwKslG7%Pbrx+mY4}(CIlGa2LG!G)HX(P)tj?B> z?0~w~?o3B#OIvnqXS!pq^WH1RG;HX*UEkiBnKo(W5t&(8=Rf0i-E$q^y~egVEkc%4 z_daFZ`o8ROZ5`cN>N!(~EO~Y_-<@FRookN&{5^lwDXr;j#;sbLUVQZ0zN&P6*kK>_ z^Ou&q#^#o6d#7{l^l^WLTSq&0&ue%CqKs~ypKhC#X>Mw1YiQ}}XiYD2j@#sKtF6VY z*46`Cn&)J)UCw>mZFHfV)i!HxduKyBn|A(h?!bksQ_9Wia{k`jIw$Rcg-6JYBlqKv|!QM{_5!$yRf~YZtj@Y_H@=s?fT-^Kx(aB1oKe@E&9=8Wn>~2@MR1avH#M^`>wM#h zHJ*m>GX-_+3mSyevn^6^$v?jG7b;8kg7l)UDJ^r_oLhF^_3H@i%=+<7&M#VjIejDd zqJ18?tLvUQvo#|mY0ES_NA0%Vcu+F4abZVV5YarYts&DTZ3s%ve`v;}uX1mnbeG}N zaq~J_GqfQjO$)a=6Ken0>H-=!WstM}&j+pIT?}>}`_Ah>^Dc%s$9(VhC%lVVXVKj& z|I51=>OA>}+2=smnd7?Z+uORbW4haBIV1md(*y31#&tDycV^tYm+qf*ikEjly0axM zLvUXD@Q>5n4vx>vNzYm|F_USY+AcNbWTqUMX`P&z-Q}Eh-J!d0D(zbV%gE4#znkk@ z(_LN8PCw|_6&l+6-7U?|Q>$%04e`w7PFd8I&CEL>)7b^ePt2~dOI{_H9oAm&oY!IF znG@34S#zhfEY3JD^m*oMDDIgPGwDv}-P$=%x&v=-Z*_KCtNDGGzH*UCw@sSt4EokP z8-a>C$;olkx_xf=_G)gXaK$`l$t{bogc)Z}nlI|7rP;-e%LeQI`+J9MMZx0QX-2*C z+rEeXljdeNwahwlwDa(V58bk{TS;*$#CJ6k!#sYY?bmj3*Q9qRWU^`Gv#~APxybq5 z1sx~29qvpYnNhy|L%+8#01I_)rpvh5mySNjrSX(Z>ujNN7H*#T<}trqgPu(3o;52Y zlsM(GeRgt7P3y{x?QHMvXla|{9RKpaPjrWGgkq2P&vM+x-ODMh?OEsfi??3WMe3q# z#(Dp(v+j0#Bo{dpzB_T(yOEpvbZhHOk+7+0VUVoz$)>MeELOYCRoLO$~bgNuo-Z*OhS$Kpx1{`BX0Jv0Ty zyyUf)>gxE;06)Mf-7~YD=~>wsB6OLlE%P#Z%&S&^!_Xt(`g$=fo#`3l=B4LkoR!|} zb1^!~WI{60q|QzY*1Z5NTAyy4pYCc(w`E$L)%$#X^L6v{T*ym z&7W`^k{tTxtUmUSX}2M8H@dBPQb&4Li&)dzZ`K`(BT#Q_m-Famcl_9GYSP4p8LmHi z(a&s^ro!#OgEolGI4^16WHDaVLn=tGxOnXprolmd$+h%A}_l93cojs3Q=iAuk z2IuFi&R>_tP2Zpr6$h64l-S+E18Rps%_f71=O&i}aA2+~ecV#+_f98xD+cYh&`zAkU8=di6 zo-q>qdX-%lb|T*JO>ezBAI9`<7<8@s;KxH?4RK(^9sJ~(_dW!9%_2E-gsYrSKE3!X zw~p}_$ERlsi(dMl`Pag>o)hVMe~Zt5x6Va-OIH>r(^;eKon|;*3b`4Eu{J(?$z5)- zZn64UwP)Y>Yyi}0Y&O1jpZ1#$10&wG_(iTYe|^FC8X1(AJ!RJ1%)IoB{RTU?-g8l3 zI2ETiEnW!Nt!rQCJpA>`&&Tg1KhxaMKFf7f$FxNW~UXsvB9nvHGU^PB_jJEa|rbCENe`@eX}-XODaa(lOQscnwy zvhLpc!R0W2V`pc3r;DcSmIMFm4$WuV-7!CT>}Ic`8yf>RMva=-p7rH9L;7UTb-{zk zeY?A|EwdLn3;#R%etgzOU*@P$^?070&aQ9F|2EvvIA5;&87jW}e_Q{;9VB@s>#(a* zhOlIbGnnbjz$QPr{LP=c9W!h!ilswz8_IR6_(WnjnpxDSK zyKLI(h*z$=ogdwHIs?%Ri}R6|<-$kxWs*B=Wk-q!SK+=plnZrAm-*c9O zpar$%rBBSA$q;1X=J(`JUHzb`^ki(NU390Y%q-AP95j`91Va1V`ZsL^=Et?U z-JAUQtiPM$*&H8S_3W^HC1&J|YjR%NuK?G@;V2bB160)9pArUp(!%N6xnM19rrRtYP}-6 zeDwAirbw+R^2k*)RyRe4dPPS5`Sbav$WT*c_)QDvLFjzf&v|U%ZUfw!>g72L+irOT zp)lH`WtLI&Z>Q&-1g-ZQjLw{)UYsjbpImt5<6raL6YruMV>~}Ix~r>wR*QRD*U~1Y zcalu&(}XuRS-ki}q{?frVNqLpUdt@JBj@!ESN>0J=&c!q0c^Zzh8G5KU4R*`P92=S z{7L-#!e(dW=0*$FANv>N!z<$|KBw!HgTIR6_h-)VGtcI`9ahWyEw8|YML7Yv>B|2e z>~BC-&y>tj-L9&*r;j5=}I#2N9%o=lLvI}>CAIJ#4!AT!+m&QETA;UXpk zzS}bU5#MY^h)Q~G-y!3Cc-6V4h@msA^PKZSZcUL}olmY;hh*TB-SqW?&O>tL+|^OX zP3hYMq54>@0l*stZ?5s23)YIH34;QMmSAKZ%eh7k_=aOZY`qqCS^y4KWn3gG>_|ndX z^<85?j^rJgmWjbX?|<m2vqv3sC`O{O&^$Nl=Yy&$m0Bb;|mxanLpfMysr zoIHE|7u|8Rw7KJ0_vo`*+;N!ef^i%)`20V*<1qIF<9PL;{#U|`BDLME8HqHzO2YNy zI{KfHh7uFnMNzm?eZoK980!w2oGBd=nQ~UX=Y)IQLQFfMkn__yd%XhlgiJ)85r4nt zIJW^SuTQN13kMW|uN>*V`O)h8QjQ3dr%1C0cJ2-!H_PRVSKjHf#I2cGpyJi#TzU0B zegzWIjxJT6xwg;GHKVD$>mcWWLrz=Cm+=j!bIb=BOc_UAgD_#FX z1~#cXE0OFOsDrW1^DcI4x>-a(-6_M`^Uj$-%_a%%z~NnEPuqyOl6O76eO9`)WwC1% zKwXziEi=yg*+r+pT3#V#9Osg+U74Y?9tZCJmuJsJTFj-H&TjgLs}2DzGF5QfbFR7N zKm8E&0+*upxve*IYr7$qaS~r$=$!t8(=LYzT~9pIIkg=}&~+VzAI0QPy?l?0p;c4+ z0*S>;X_X*fr*p%lTOAL7E7`}irss4yue5Je^8qcH1%`E;V;=r%LoWZ|_V#(B=Sc%uXU4|g zd4#T;xtz1)H)kxMbrae)_Q~0Aqmxf#JSIS6H0bd|pPYp}nLN=7&L(UBZgW&~mjpDO z8JB-&Ul*K>Zn`S{wpiRoB_wHFr#B`#eTU9OlKki|3+C^k?d!Em$O za`E!NjW0RF?X}^AhtK-nNI<(Gn*D1oI2TNF(dA5f_24%Uk16f5v%X2@@t3`F8HjbY zknyaJ|9mA^BHgU<&bnRyy2}NDo|^0&vHCZD%%y}=h~;d5-F_RnD9Lsz`#HPc)48oz zgow*|H5VM@LUxUOuGB#1ho5Z@zJEE^o!?BGHm<>0{N{zOQ81IC%LfknDdQD8 z;~JHd2i<=HgHgLQDP=~o1YiXX;R6Qj)F5@kM=cDhRR=L0D-D@K{-7-cRhQRc4#>#h=I-jgzSmnic` zDf813W!{l8+m*o2+fwFdCE9sY%A{kI**ySD?Yru2d4V$OOZ4&j>D_h@K^^WdvvQ1fwC$*NbgWTja1i-Lm0^m&FRBbKAHS$FxPknl z%B*RM6qMQ8!y&%J+!$qEi&18;0RJdX6&5u8eu;J{^HPj5YnOm^m$dVAiFSS~Wv&X8 zQJkth!Y;Q5$|z3Nj$l(d0%f!vwMV~{GJ3A`LQiv@CCx){JR2h{^ZjK_y^4WRUe!x=lu3q)O-4b!J$=X zbpt@;cW**)&TGc-!`v-ots<$8Q@6-iRZe zC<*$!2;<4`(uCl!q~?dS;J9SQLyX@KXW|LTz#(kzhqK)`D+_01X&?Hqu@yMCd-VD2 zq-5Z15rFgSQ<8zh3N_=o#2Zh?w~~RgRRB)k)02U-bpUTab2m^+X3SsMJj*Yq$_M?V zJwG2bpP9^fY65V!`ff6C`Ul{=bXGEOwh6#F=j>$QY#V?x{@i5XY!`sD>iNmQ***a0 z?hBHEvqJ#R;){}jvts~G?ZwH!*~x>W_VmLaBm-yX0GtOdNe0d?0XRQ&cK}Le%wJsn z_BCk_{ib;9x~#I}*+kmLo~m6?IQw3a3>>u!3a93(WZ?9ZG5PWKpR1FBqjo{Z^VCn1 zfzv-Qo~wUWSvc%L3-f!Ay*3#*LBDtE^~t~q`n|i{kPMul-@DR{m4!oWG|cb){jZXN z6ZCt}y*U{;LBDsxEy=)9{igo)`?n?oNA;V|OTKk`GI08N`at1~z9Shps^1jOr@u`G zPXEAoZoVrSI6=R+{hnmt1pVHf?n?$v(C>Zw{$$_;{oYF+Oa@NS?>*4nye!NS^H<8R zQau{-e=Xn>vSr0=bzgH>*=V9M?bRQUSK6Ift&R{CI8)f%8TJaDEd4=cqL+ zKc3%)z*%Xn%ELic`N7xcxMz-YZiV5X-@@c)yR|Dj9^iz@&%y-YgvrkueJeknF!{MS z0XSjuv&&a1Kb|o8xg!BMVe&I!oyw0VOnzRg0G$8%?9cwf*Y`@o#v!M3y^Cj*CgA8=OonqQ?k892m~fb*$0{at-dGH`U?(D<6>z99{pp#%uo4dC9=h z^&g%7jyozDIJ*AR=-IiZY%*|gKm2@s{-R{yXgqQBssd1cw|_GkI5pBX<5Bv2dRj7Y z`Ul{wbY?Pewh6#l1-7PBL(|^TxBI2dC!3WZ>xfkHQ)E!(`y-`j7J4 zQI{nHXU72E7G9YQ9LR$FJmT4fOI4vtUYuW8JTYvZrRz*vdwkGxZ8GE0btbjjr~NV+ zIJ(aCfYXd14rj`o4t|@9G(LLj?$;& z_1?qzED*1{Pukab)k2RxAH0(c9F13<@4?Bumkb0a}9u96HK zrH^jEAG>Dn;qXx^#R+lcMBQfN4MEF890i!9X!0PyF)T?H14n4l!xz}3>=O7 zE8gDzS~74n?!SwNx2Fdr14rZjinmV(Cj&?0{))Gs3{3`(#{Ct}c_Wg6qjCSS9(_*S zJsCI}_t)_}yk|0SH14nCxp{Ola5V0}iifw)8j^uS^Vn16>(oBUz|pwB(&xH;lYygg zf7J&UPe=xi#{G3X4>TnMN8|nq=f)|?z|pwB^1+YQunKR)`HAVw`8HZU%${o8U&piG zHi2J&O6hSfunJMh4a01GH^8RuW>%mdI z^Jfi=lqQW^A})Ql^WZ4IJ%4mE&L@$-vR|1%Q~$KuC$?&d^(KS}`3DATkH=N|8T`h%4p&tX0|?|bK4KU8@*3w>}l^>|{9hbs@~ z2R=CWdFM5cR36T+eQ*?S?<4@{)(|*PK3e(l+#Ukw*2gLj=Z+9Kmp@*4ICqA?IrE9i z!})^`&fVVm{3k092VKe!z4KT1%yEW2Re3lno4`@M)Bowp!`a1W7uNO8-%bF|7$2OC zz4L!QQ`zxgf5Pm-8qZc9PMBSIBmp>KcH!I4Ren5Sb|L$G<>7?cg)?8MJe)AQFzLn0 z!wItsBVVdKoG`nv&F?D@C(JJNeYx^*!tBB)3BU=n3va$s`SFC=h09*8Je)AQ@SQ(Y z9!{8DnD|=d;e^?R>96-5jy^Z(nP{iYI~gR$L%j3s8@-3~nr~i0v-^0qjXekld-KMp zd~mq!6`^>+k9%SBtT!Z+Z`Wvrab6=#8L!4kkl#-4_I^CC`(S)5ZR&SA){wnUzjL8T zOyR@I!hu!_hoLB(%l_7TILxb|#ZXC{vu9(lch0^F_^8(u4&Ui{$~)gwj;xoH&-o1B`4r#zN8UMQ5BHtF z>pP$AJO7*SJncK5={uk0J8$-#XME=$_|E_8JO7LCoOl5Jr*H51&i~;%|C8_hIp6u_ z-Z@8Pj&?Xl7WEwY({toc&*9G_CH+v+97#Wrbcv)VC0#D*3Q0efbiJf5NvBCVThcj_ zekAEpNsmeTo}|Ymoh#`oN#{vwk#x1BpGf+tq$4B&>*tbMCC!uc3rTH~+9lm6sYB9H zlCF`|DJd)IW=X%6bc>{0B|RePHMbftE9p#0-;wlPNoPqqL(+wkE|TvOYb>dwR#cyyM>9akO`=^NxGSk-p85^pNxq9$QTkc;Gq=7k%U& z`~#2uL=yZ&9z67*)Per+5_udcce5n!lLvoM4jzHe$m2*kc!~Su!F!a0kKjS_I8qLN z<34%tCFSmvBm7AoN6NvI+$Rs7rQ8#8gm=k9ZYX!Xq#sKnk9*|7%hVySTM~Kj>7|m$ zgP+N}QqpCT$b*;f7Z}%idEgcvg;&p)#5H^jKQER<9gfr?A6_R9ex|R~f!C=AkHV|) z-YSydSIT_L%Y*l+dz>WNL&mgU@aL0~;MWJ_9_^hV>268zHrFRgx7k9*WRMH2ZO$>%=x=_73-d-qAYSQ6#PryS+UV@#AgO%nNM%MsZ0 zn=v4B4@n{qJ;69{kmIG2sE4e=yWogx_?K%PBXZ5Pj`6$RHGQN!^3Hww0*voTq92dR z5&cP@=@WUU$?*zF=SZR~NA0un5_RB_$0gAg<&YQ3T`foCh&<>_9=rnWfx{TcV@%K< z+>p;$$Y*RPNIFRp`HYEt#t1D>mP9^dBcHKC(^Djo<&P%+Li|kS|%T9=Jr#;h8y- zR+98XNsNVa?x8EzkwhN%kR`^;n2>v9x?K{oh)f|b$k9`h;A!|3oP#UsfcZCxB$0QyB>D;d|0RifoI@M#aebvE>T#bsS4pA{c-K0dLl5pz=O>crzt;Jw zoKpv#rg_(RdFT;s2U(+k*GU4_&m~ds4moNWbOQaS40z^98R~LR%Uv($;6vg4Le44o zTVEM?9{l`L67V=uhJ3AeqnCH5m&f>iC25g&O}(2WQ4g9Z{F~(*`swwr<$Rv+`W88d zu6qAgIX}vGeVd$j`>t=7bNE`zgUcf%fm`|nj#?#wGp-qDnn|JK%9lz!sckzxp zd&ix;nkMN0NmC_p?_)XsQ_?n)Hj*@1 z(%X^_l(ey=7bP7eX}Y90Bz;5D%aRV3^opcIB)ux>P)UD~beN>qB)ui+B}vap+C&n4 zdR-Fzd_fX?@TMgA<@b`H-}91gkUsHU)EYV8RMHelA4!@aX){UhN;+K9Y)OBUl$P|K zq?wZ5mo!V#UnDh4`m3ajqz@$hL(-olJtt{%Noz>@P!f3gqog$@{aw=PlKw1dRY~ti zqF-S@@}cvAEzNT>*}B&5Oh;!+Th<-tvcW2vO)5Wc(&P;R5tZYkrn>(rlTUuMm zcFCE4e{v?>C8glwDYH6TIy(80^T~yc7*4)xIr^_YPK(}yicvBa3 zWK2%e)NeF3&Y0NVIWOJn1~zhKCZ^|Qx;oOcz`Wt1aq~J_GxG#arg@zF>zpk&yWG3< zBv-L1ot>M*AF?$z)0XL!4mQ`frn|aa@eZInzr+p$#tQ5Kg67>M&8XkOjdC@mI|a09 z0tt1`b{Jp~UZoQ(irIbz=9t$(fGUmRa=KLuZSO6fPL(k|Q_P zhD?`B0Eos9(X%&Ox;k3Zi$J7%6FuhkdQ59t=mP5wsvTK7V#u%&ZcJ}nS3^3Rp48U5 z$Yt9x>DI1{%gAF|>bT=f+6;#|<^HWIDuA;eNw-Xn`M*Z)YE$oQtQfg=5uknLf4vyc z`66^jiD4(VTLMor%UZ_Lr*;DMxO%l$|Z+qtspPNpJhGs@I1}(yumw zoDzJPUfCSQ!+PGGln)QukCdR*)Z52vsYb@zA-JH;KHk0F_Ezgpla@OKzhLVqX}ehd zDjrCTDN&u~UU@X^>($!drE!Cdy<0{+S9;eaMmgn_y1!bWhvB$g-7D20 z%KAuYzgeK9gkMdMD>a5DU+WEm-I>CNaH5W(*nNesSPmb<)?RPx#mF8mMvB&t5{Pg; zxH?eIS_F&D0(rIsZw)^x4;?O{-ISP|%8Xchysz}3&V@hIrB<TcQ#dNXzsxhK5{S^;OjV^?lqJ@x@0|lc-BUw1n?O09FAw8sj+H!C4pe-NZ z(cj9W%~_{_)(U;Ra7otHR^8&1H4E3wmaCakeoL>;K0?!(!d)%0FhJR(Ty9=0A%DYF zhs(mj0;z>owq>o(4Zpi?L63T;GoVja`j34$N_ujHXpMG(q4HMjzEaInLHV=L=A^_; zGBPtsTDM~jYEacBI|+^qwRe_!>sM&Rs^w@Ki-1-M%iF+%XL^htv18O8j+X@_Z6}Ok zhv%rA5_jCRWa(KW)4Q=E5lEb3T)E;nDXsQQd97I4lsJ{z%ar&c=KKIzOtKm}oc9>J zQt$x51p4nFp?${n3%X^wYnog&%kY4Q6zc6*Rr~vOo~2s!-OXZ+S>=6qB$vLUOTV{VIeFeu z=6WD_5O)3%%&(~sT=kdCECUNtn4|hC8ryoeN%Um5$Q%D_L|4sr`E;)MN6cSR65Of` z|EMJZ!W?P6&=)OTVq32-+IPRDQG0FmJ^lqUXUDQ#ton-4*`gJgVWnh4i@`xOT$RL$ zBI`B6t+QR;K;F#^aEDl}sCScf>&X4~g>Io$jq8b+ zr~p#LpT+{5lww}}ph2$WresS{oIb1GpX2HhxGp7|icC%Wenql!}8jmGMT`3mGY% zMxE$Nu7=C`AUO_`tx_W;)k_*7cZW$DE_Sa$at6!)k*?p85?aN9r+U*r;~F3>G6w4% z;?EB#7}LIjYcro27z>v6$k+k62~SJ^j2$3%q>RbtVh6~r&C4xj2L^dPQ9W*bv+|-o zY8COm;40>l))P~W;J;hryFWM93~~yGX2s2{<)jZTJoi#Q8Z?|D`ChbvVr!qaV^bZu4-otnu~Vo5E(s2jx%Lk zbKMat75sBKrB+xu=5f&&RGreZxK&E{G7g=}!_e?pZK}2y?rMX2(G$#Ch6$zW+0!|lf&9>g#?(LVa+#Cq8_im^Pz zIFuX0V;p$O?XJ9ciB>Z4Y#Wm(y!Z83bW)BVEWF#`&c7RlTEpEd=Hx@<3KrjnWK8Bblck@YOhU9?ty3BSHl>y%%jw5GCtV9>AGD;D;` zbr80K2<1$PZ29N1d&g>1DKcDeJWT!u3AWKHLj~7FNT354CuTBMJd{y#K1%Y(N~t>e zGgQR3jE)6QV=dM@Q9oor&YLT=U3IbAF7!~;58-G%lzhKMJ(N*0IxWAejI3~0i;rC& zt0x*K4bmoTO@Vb2{*howE8BeKR*7ooxW(p1QfM&Wjc&-mhe|c0uOEyYAiN9!D zt9rIDj*Z;FheZ386URwUGV(_pe~ir9@b>W}i1(xs>)kbkGuy3sTVSTVs)%{|%p|eEfYJ6EW;Qt9_ z)quYzmQ@2@oD{2ua>pz;f;Ueh7{+c9BU$8fSyQZbRCZ=bq#rMrXbAfPh%+ER#*f+G zYs+v7Q4TA!(Vl^sBLwZmI$nF`?$Wk7lVf2fp3N~MNQuuCM~bY?87kIfkZ6LzVqb>J zA3iPC9y`xmxY4~!JRiScm|UA^KQn6hYN`isd7_AFq61_!`-?1@SrsctZNg_M(bVPO z5Pt}Z%{;+ik*GthizyRZz+y8e=W4L~9}EwY8nuGwlx&@g1FxJ&L(uA}g-?n99S2ri zJ8tbY)?MxR@SGJVx0oG2C{|BYzvR=(A9wpktaeoA8*4mUXspyeI97etF8&#EN;WFS z!KSVR70!pEcXXs=17w``b#`Yxx*cU}7`9c{%?F0e#qwbfC|M#H*Vs||c37w51ubMpI7T4v*EM z)y8=E%*R+strZPBT+YzB_43E;Y`AEeTKR9{5|l6+d5o)JQnGP14!`J1XR# z5O;0_|0oVwiN=PFkya^B>5+0iLK3;mYnf-587{M6aM~!X50(FDWAzD)#;K9GbBz~6 zGa7?=XtUS%XkUF*uaxzLh{f<1T~9H{TqWzR2c=xgRJyLhwEAt12U9V>Jorp1)A?Fo z$Ana?%+8I4QRR-oLg6~0J=}mN1I_Vd#>hE5fn;%?xwu&^U_S$PdXyU(Ny*$Q4h1*z zN?DDp7I;9e@66yjgp*pO>=ChARU3AIc=P*+e%H10l-1d+yB0)tq}Vu^mUJ8GdoT*ZT`*V$NOP}>XAR%`;SBb;p7i?B#r~mc>}PxZ2fgAr7vlinW?0Jq3G2tPdAXHnVrt z-N9=s#lbtq@&>vc3$BcbM_HJP5eBf;@rb)94?8~jaq?qOe}cX zn^L_$)@x05lwFhc&sprA8#G|2NQd3YuJkOtgNIp~A9PmfhsO?5vp0ubOJ=upVf)9& zYF{zW90O??B9ddQ7PAs;6B-Iz#tH;64})v`C#0-V=rC69q?{9C!PD^+o0SB|Vdo_$ z#%f=^>S?0mp+b#}CMA!*#=&)A-N91tq#o8CBK1!0VO==+lpfZ_ik#ZRy2GU2w|ZEY zwfNI|SQoG7^d8n_?flz4tV>Mgj97J516aO7PEzucg*coQRvX^>PLFHDUEhsWTO}N+ z#@E2h#QQ{_;-TV=n0W6Zj6D5h8&CZn%)wIcBvaD$IGLJ}5<7z2JAafLCWD_O(EhT(5xm5`^iW5Fx*=80?Q zpY`T7hogU*~$YR`!l|$D`f5h=-6BeVdXOO2omgrHXleF(oen zDX*UP?gFo#@}%`NTL+vc+WXhq1<>o(C(J#ENQ!iYa-~jOA+1 zmIr;Su_7a%hszV-MDpjly5UE$aG^3lG@O_m^Eu{eXjyzxcpaY~Mo)%$_T(c}iY_6o*$f^h%kL*l~o9`|4P2ZtRsZ z@h{tEaoqeQR=bLuVImhu2RK3(49fULsWvorsS?e^v;5nk`rRC+BBlv>;CvyMMsFaIJI zE>yOdXABqIGb=MQ59Ej4yl6Ev9CTve33E1N0QwO#BT@s+Ziodh*ynsZ_RAi%kw5Mm zW3{2z9@-}*FMlgXHViacF}?*l41L1f z550z$fwly%CUTEwZluHP_PMD{c*LrSU=m|ve2k8moLR?a6@e?_aNI|av9*~lpS4clvJtZ$IEeD?AR$>ll8^!{^f=_%o zXvr>gbPntKJjq3GOsp5}laiO7mIIGIqT#VWvVi+=w(t!)9criKrL5(Q&+KSJ+St=gpW-l6g9PNpAMV}CrLUX3%#l~^q z<@Y$>tGK@hE#!~+0k4JSm4-tCG<+}?M$|__gE5;!Gh-i!PGeP#Ud9qYH9RRK#XNV! zP6g~Mv*VP!T)JEu4w0F=pX(m(K@0gbe8g*Ed8J`(fQFC8!idt4)dlv6;JFz4$2oS~ zcz|ec6ZbNE&W%pR+MC_zDf#F@xiqW|(D3mdw2)83Czf*>4h_)o$ygXs8saONm6E-Ayj&U%4bbrE9<-28!)Lq}mRC6(7NFtpVqrvS z2wjY4jjlw8lAxoREfG1y*Fc*>MRY1YBG!<3O-f!~TrLfV1!(wO4_e5l;qzV#%M%SX zS~N@S3SLc0UilmclS(=0fUgHF(3NIno3!bi$ zYA;`kRjY7xzxV1bzcfN)y&P-wN+bLY=0D8!ng27-z?bA*aYz#ylpWi|HlPbL6(W%w z*`t(_*N4a92|tbK<*Tu3<Nl<9P@(qcagWEZ10p^>!?HemSC-@5HK=Pb2F6(W|%o(rB2B;N4iGw=@Fx z#CeE>K_jkBbcsE#M4s^7O~eanLyC|k?!ei9iUrS4BYOGgShezLM7{UCddm}ybhTot ztUJ$^zl`{P_Bn$0V_`z+g=Io|kR&{FWQy1>G(ztY|FG{%VQvOB@#y&@Qudcv@Cy6v ze=g^*J#522?hj(Mq2tD5V&o=9XFOiBR?K<^(Rlb4|CR_c5g=9sOk5HyrR0+shG%p? z1u-xWv|o(IsT)p8dIe7N3m)srOYYw2(vuJL}-;1Yj0VI-(UuO1>7Vgl~=lJOp)Z(xBbNv5~)f3(4Y_V1&JfD)!2gMmj zIL`m$)m^^12f6#dSXfZG!{*>yBTK9@;koe)A9GbCkX-a8TA6hdtQ9&Od1UP+<@`4m zyfB*4+fQTFE~FWCKlAD;&C1`EtGe93D_3oL@Yy}~Ots4sW4t?n9l7Ss0UbUcU|p|2 zJkO-9@RX;0>*~%@;(uPLXlYaWp!2bp*fAssPXQ}{93%Oxqnq7EX7>PVX{-k`mxV?t z=kr+b*7r)49_5l)?XBjO^1u61zXuaN@^!qLQv{2AIe<5cx69s6|65_z>Z^sayT#Sx z87K7N4MNaD-{eQFmE6{&dtm+5#j=xdw$xZTRz2}Jn^G-nCkI0vg=8OMoFv@$aO>YYEs5s#HOP)02J@IjR zzM0qai7t#IWMA%lNvz-S?rz=_&GVe|B!}-c%$3ybKIyl5(Vl4EhDgh6#Oj02QW#~o z)LJuEE!*>%^4weep05?F^{*De%UBm5_Ujm7xLLa-Ziry^Ewdl_qm0v!uf&4T-y11b zgE^*Ik-!VVmu2ROPl6A}6XSTg`HD4R@ z&zaUO3y)^@hn8pNWM(O>8ko5va~PxR*@-|*6aNkyz|4S|K2Oock=$ZE_sjP~6?iA?@X$TQM43!{5S(zuE>lKMl-}%aNjV#q1&`Y7yulY@7Y!b? z@r1xIJPX!|iJ2X%^p5yGaWVKFPb8mrQ;zx?m7O;-yJepja;3XX-~%%|LXPnB;RSd{ zJqEKo4PU{2u_(x~I%8~fXN(({i9cqsa3s=iRwvFO*`=!2gu<)mZR~_jij} z^|im~0HZU}h~`-~v)TYX>AlgD%x27*s@aQ*mWAeg-z;B-<5Sx_xl!y5k@|#65^p8$ ziRc#C1(Md=s;uo?U_1ax7#VcepNpvv^hp zroQFGyiLvjb}QcD5B`aM>=bLXs>87}*bh7$c!ZceHXJ_>t|2CZZeoqg?6ZgK;3(qz z_z^qDf~V1`{4wx#oqP*WK32E$uv1=yNwG`xf_Jl-ZyL{)wv?-acfdFEYu=L#p1&4r z+=^#b9M~(y`k~p)$qplCY4|~A&p7@Z)*p(1VerjfG9)}DnmCT^Zs1|VMwyC_bhlV7 z>Ikse#L3K?vGCZ(O0GxKEa6P_@;hi7l zq~yJ=acH6##7AN$3=w)(-jE^86~25SB36P_miW^wC3I95+or&{d!SIklZ$&5#59EEcb_@*`%tY}IN_1aMF z9iR7%#wzA%n!Cxoi(I3N`wQPK6wT8mKEzas?D3TVuJ{&D9DY##V>dD!g}z}v%?dEw zXrkTt6=)~svu4+c(ec;;B$}r=hR1?uBi;JVZTmjW{Qi%K)m|YU;37XBM#gGK{mT5h zqhi%9>_d7U&XjWYiZ$|GbG@@)dFI>i=6jpG_l;F9^Tjp3#*~#i zym7(i*2@)N732MuypaLP=PtG= zG*4l%TVr%AcpG`6j*IU)uhl|3pjw^iRdB}2*JX_U>$%Kro}-Wb2758?87pgDtkn>2 zw(knGc~FIQoQ7C9Qkvj-LlK_R0`F*Ld;v3`gJLEIN{odW9wqSxi1nFgwi;u>Q|*^O ziZQY3YG3Jz*^K~?U`<#zrT=&~X2yx9Ya*iP5qOKc=AGeueI}n`@$K*z7x7VjYrPn| z+PF_y_`{+y55WGKSRN5k=#6g(j*Rz(++mwdbeTxF**lPO#>IlCQe%7UU)$X`RvS^H z-mk}0{NlVR-8*33bkCY^m%GETUL?BP)u-(uyW?ZwM&*GS8&NxSr17Xsti|l_;E7pi zjpvO=h1Mm0%Pff*cb&kS5DQ+EN0s0IiLu%X#|2RYKQ1Q4YD@J>e%+>6b;J8{c%UEq zdu{bx%Pao;ecW9lxLJwI@zo;i?rh-(`)xw*)fC*F9BWj{9Ynv8ayWpPF4~eg7klrS z7bD+9S=pIKq{Y}_BIR%k@wzFo;HjjBjc01Fakr)PBd&jij@I|;nf(YBqyBrkTOlPD z)z|~|eRban5X~LV6r)HFt5?S65JP8o6_RJxACN>W5o>nLTEI5@ec92A#p3Hdao{ON z{e9N)9O$)B=&NX~dpGH0O1_L``)@|0F|cB9A6BjX#py_$uk#gL-d`7##BapHo>GgI z3#hovM^>4M9HpFtW5EmdI;h7E=}{}eu^$?%6&*X#d9&k! zRdTaR$4V#bIfh4>Z(}Wt+#8>cTITJ|e645s<(~{%| zn(yntBdj6vR6L$2nB`BO8#F8LGh)G0{?T3s`RDK+wGteAdO4)0Mm?s;9CWU{iMx=Z zGh^XKr2;)oT!C2(vTo)&%o5C=b7JCXY~E3XoS?;77lp2H0$(OFQW0%03i}$+T z2~sr^s~tOj=0dEXu-k>%0Mf4ew$P2lTHtVE{$}09tP>C?CIUCREO_9KSsL}m1l}qFuOpnA6XU_@qN+S zy!!(FK)0J`k+>pufJ{IsqyTI~Teu3IWLHvaEO>?e4r+mUJ!~ha1=?b@qf&x|GeW~T zaFM|QTuZc-on-h5XiHWH;b(XpE@%CSFBz31CD=;j4T(1rZsNP-gKL9xAel8s%HXH4 z4~f-CzGP(J75coI!;ZY8yi&^B#D0$MSncTi+TTt%Mdo|$^_)j)T#BY- zZXS&TGrwmnN4Zgr@iL;tf_2u?i1g@6xtZzPay1eIq9pt0wd{geSg`WVywkjy%~&O4 zf6U%Kqzv0*ECTUVBpWMDo>}Kz7z>_8PZ)vie{h_OVzsr3hgDOXuN0M%_=BXz(XrZA zybuq8=ZRah)`0hCydg6qt&Voqp(tcva?8n$UD{$UlxvF7nIrYV*C{1 zdf<^28)i1V?+eWFy`ebpG}4scTQi=MW3`}sg>PVdCFV->m$?KhHbfff7uMd)HK44C zo0)gFFe1KG6sN}u&u}BMV7L~!VQrXxATwZ2BXwp+8P?B4f6VURQ_F&9W(oA0eZ@w5 zV0(@IHU7ML9|KVF74fXtS!32V`65y|5YnIv{Mt4Gk_LB-?Ge;d{5WnmFd2rQy$ zbS{dw4{w51X1UCJjkYtW5EmScm6vK&**VG`Qtw`K-KcST-{%5-?*q> zU|@zdU#xkH-~+F;E%%h`e7R`pLs?DIrg>pQW=u9A(^u&RZZ zg1%txfCXla3vUHmVpcVbbwnPK3bTWaD8+YU!Bd~sjKz+m*x1jC)v89>b>E}n;Cr!Z zt3J-J&AgN^K*iA?YK6=$f@Yzmd9L(mmwxAXZ7feZLG_MbC*tH}2%&yq=j@ID&RB>pb92T~dJ%0p-!so|oRsC*1J_=>- zf>>?E!R>`!OUg4n*Es$?Qd7mp=Lw71qGf_l;`2>;GrQucWCPcqcTuddDYZ@1*Q^B* zpC@*P*2i|5XPxl!nH}S)nALJTQWF(w5cuDZ1uv|p7sslpQg8NU9p(C!U?wB5e-Nt$ z-Qm_K`rGW!GT-w|IY0F3Yox^Pan(A7`u19#+ zBi-xSPFf;$?6RPZK^}yG-j%{&&r^SyvmNH;8(8`MAfjp@qbp2b&<2`k;0NnyZ-`}? zI)mLl&>Or{&C^lhy=k7p!(-Mwg-1kL^Ara2CzCfM2Ls(^^0YNPWODL*itbZ9Q!)(G zXiHNj8n?#^7NKS#$E>lMJS+Ej>Y5iN_ssaUoN`;3+_Nri$`xwKaE++#R$e-j zYgzGFyw5$AmU1;$PvICZj)*m!g(t!uNPBMVS=Q;4nMcOuE=m|#&o6zfcXzlet--e7 z%l^``@mh^%s(Hru3ASd+n|ss**IL7HXm|~yBctvi3G9l;k3#~`D%!HKG2yk%J<1Q1 z8b}OnfDNr3hQ<7Q%$|Xbw}E6ZyV4SVyz6=Xy2K317t(X?9r9IN-9IrvmLwXzTvA!SaXQXee~abu*kXeC|e04hZ`N=hk}*Dp_0 zfF~kK>CoOtbp8ws9I7TOu0i7K?896M^w05tptLK^NvZ)W!%6X??etJF8qP;?;_bch zT*I-ZI=VF0)PgTeMLpi$d5zYGw~|Vatu9j=My_g_ zXu42R<-gLi0OgnB`o5=YWb|5fQ8KMtjl(Fy*UlBgMndd-&&Z9LHJkZmzMb-~HYU-! za$ORbF?Oqz_Uk!jO8W>s=NW^KR@e8ih0EUh9@3$HsP&D)BWgTbVm#w$If}bJ z0c`8(s0U_q!n{-J6j}>%Rm-c#NS^BE^8AdR%bqR2~BFFHor>ap*!&%|FGRSqu zdaEG$J}vLvFj8gZ&&q{=#%O0s(eh_yA$ne7<)bi~?T_KveTm_*m#`=T`+`-ks6-ad z?ah-0@n+lkv&OJk0ScfL{yF^e}W!HG5OOuQM7hXIwBGl5!0R-FA|^IjLFVs;?JL!pNI(Wv|Vwfq0;+I z*fk)ycth3cHOI%hSjMDgdW z=J|xuvx>MpSe>&PiH;vl{qn}Ptw&My6Ob@{vNUK9bv|eITm|p?eTeG&7SKaqhW9O$ z<0ts%qh`(@{RvfKz@F@tvu}TkmZPelQ1uh+o(nXNdB4yo*`pfvj$$I&8YL*Tr{2CxurfSY z^%JUog7p)0PhB)`RpSZOc!G%`ur_1%O4&EQR^tiwS?6dus`?34KOreU!R)F9y}DPG;Z8^0TMcyqQ^J`X+)HzS2RgyVw)J z=AM0Xb?GPXY*}OX!(p0xwygRLVg7@;M_C;WyZwsw*xal1o?c`@V`g?nR!kP+?dnZl z7Iar+RTh}XDECxlp}6z}_j823frTe)^%?SLS)imo<@80`1^S_uY{ixZ^Hg+I7E~7) zeh;@%ab-c*ic8Cau4#VJvY?i%DhpU@<%OzU=)GM~kE66KAYG+rqsjV6yemvC*@`X; z%;&4Jpt_*cTkm8H1(qJUZA1zsh|pnkBL^ zPsKnbwbxbo`y%9TMUI3d;eXnhS!wx0 z+M)Ru>3@cODX8jyE-nAl%+po-SN+f4+dupDs8aGbB<53-#0u4>+II(6>J9D4zP4^H zpyp`wMQx-BlCK zM}F@_cb)0T!uciayYTcyqip5lBZzIg3!*qr#>aMk>-1E;!X#Rc^R2n~eed~u`}xjj zyy#E$83W|H`VPdPCt|Q-d>S<1m+2jdNJrdN#7ci_4%k-1#?!gfL9YfakV?4fTsx}r zEOk%p>58&~Xgo6Y%d0a;!&%|lBFJ^&yBzI0xAk_ycKpKi>QzL0J8>hZJ(ayMkD)4i zU_j*}nfa=Dmx#is%3kkf&wfGC%AU1H{+WjTYGSnP#htNQsgIhkvSwoETG;4O&LQqs z)YMW^!rD*H%xtVu@<{uIww7F-!K<|;PiJEqHzH4UR!|#az5Q{c;LIfKOM;b+6c3g$ z=<2bZ{g4~PUe9+U(VF^J`7o5O7Jqi`Q7*2+zJ&th%EC~J=Z`~aUYT(yw(}C+aN#U8z#a z0v_hd$g=;fN-%*HUQxaFFLIU1e*ZjL7UKHs#QoH^M|tg(vfLl$wW}mpFGq7!Hma*k z%g!p3{eo9CA1&=wCi6WlESqvoe9txCN}_oSXF@@q>}l)v`%}gFJ$~DTt3c)W+_o># zw2Z40s`L02dmeAU38gZKZ>f?~%8SXDLTb`V&{wTA4E4LLG~%V`%)2t<(AJWIk+jck zzlBrUczk3CzFjLZY3?q4JJTc*lbuo1$G>f5PJ)!u|hUhQ3@2@7}TE_;zB zaIA4(ztuG(SDQ2)A@M7hz*LipY-e_TGwE>}9{>wh*RY!%2#b8)NJ8`;RW zf=NfrporS%(iBlW7OkBsOA(&#(P%`tzGCH0HBWJx#9ONvxL#K2`OUI7=VP2|zpbVvS1lfQO$^xTpidiT$>Id8x5f z(z8W}X;f=zylD_T!{sZgw_EvWE*Mp9VRcg2+>es+yekuB(^;NsB@=VgT-8hE&;4j! zeGDt%Dw8VRD(woLTB>`Ori3V`nwe#|wd?8H24liXC=BCog~Kp&$W^UnBjx1A(@>SBihWyTI92S9QNPCO zIiB*VVD}N)*6By3+Fu$}w(qYjC3(glUiy;9Q>{^wmn@CLXwX})vryXN&-2Z`iPBWC zK6Z6?QZZ}RQ~O_C+r>jz_SSaMy=tYcHVdEU8>uKQN7Z?LzRd&2>H+wzUUi<2OyEZ! zR>2i4_;cyb^G)PR=K?F*%qEF>KHfsmj}D*b<42p4(XmIflT}OVOuKUPeEVigE8*&c z>D)r~tU{-bmih9`^Q&)^?3SmORT~((hQ|?tG$)=wJxasXCKhhv*493U&-3HH39!;L zO8ch2@EK*#=K1kuBOha7vya}sGox_!f$Zx1y%b&S8vvtqRHf-+_iTsLC2SVh+j&|( zEy8E}HpZfwvFFbV5!=$}mestyrFZ@)!Z@n8cnaev`(8QAQQ=n4FaJ>yy`-&P_&ex~ zl~vlV7*@~7u4?@i%?GUX&L;R)`NqnEpX;rCv`?QdUG2JJT0Q&zJxiBjI!f(hG+mO` zQDNF!z3vrDN13-WRdo~*g5EzB!8}J-X-mn1eS_T>Eep!|)>qP;6-^cxZ&em5B@6NG zwSB``v@BG5Hnd{e>vHI#Yu8n}AQe_a_I5TIHrIK$1f6&`su zPh7(fOP4M^@uQdrRz34CW?j#|eY-SADeo;^j@9D2Ba*$?9n9)AiQB%J<;H;_j7&u(W){^60JlZt2Q@mEP9#gv*o)rDh#r zYar#(`-_P@?VlCEgsjpv-^yOQOWl^8o_ZC&@y}Z)fzUkG*V#D_@ z+qbqxQ=2^`R_|-Ht8z~k+V{X(?@S|3gkF`{ zza01Nv0z>~ELs+<1&Drw25-gEIEi_Jm&l=VwRy(C#1c!rKUV7$mkqlEvXms`TcG4x z?n%s^cPZ&J(dCT;>ZyJzjwPk9Y7lCvcT*lbo_5rpT6n$n4hns9;3yA8>vBr!PW@8+ z>wlM};=;bY!M>x?uE`hjZ}>_Ly(rC7m7_yXxXgMurD%Sb>-Sd1Y8d-tATEtJGeQY0 z=Zb1c>>8@2fNb?(SRAahboShq*!NLdov85C zi|cvoW}O?H`dha)Rw39YuS?4}yy0Ihx2s&1!eO2>yHnz6+v@waj3;OID1=L&xmW(T z#H#PxVl{eMc;A+>l!lIn$eWIM+tIO(<1|T1J@>aI|F>kx(|_Ab&gGilPTtAJ=F(Z+ zJLU>-e=SKnY7Ot$M+**>ldZjr!J6qEQ%<*cHo&X4u9jF^PU_OLj+{}~oz1qlIiKkb zImYS~4HWGZ9f{wm^%QnrIjQSRADQWKuV|rYuLhOXs|~bQ>&VHN_Ranl&UR#uK`<@a%0!5S6q%j?hm_I zpKhCJl7>qf7TI*rajYc8b{EK_B<&&T>yq}AG*;4HlEz5dTT-K>(UKY@)k&(Cw2!25 zlJ=FfpQNH#iym4O)U#)aMyq4j={`PT$aeX_`V3Tz8fX2|E-UZ)_!%0Bb7>(p)akpPF`-v`b3qisMDODja0&K zmmq7sr?q3-))~N--<#%8_&>t7zHx7av_5>_3MY_Q$fD-+Ai1ep2rLK9=dwe&8>^Iq zKskYYQ7)n=w|%)Xho8@{sLWNxO0bi|f23GVmy*j2ajKF7TU*M#As11^S*kkkQCWR4JEFxmTAZ%0&8`Sg|0bieRf$Q>$s?J=m~d6Nb4g}WPPMw_0gAUlSE{! zbdzO?tfxjv>$oV}x@r_zSN&3w70MM|YG<#v^0J&3EVVCHmno90r$#B^Dp?_(Rl+OD z#WF+INF`h)Yd+;7r4=K)%#iiesAZ2TS<4_Rj{qz?WR0?|r`AQdOjRYEPjmJ}82KRmp)9tSS3j3F0hOYgOIcpHG}fu}UvXl#ATPbKZR`+^&I0%He>hN`>HG z=tG2&Tj#2jgFaSU&XS8|hH{bHRjZWCr(E;0M7iqb{(Ry@YRk-WL%9`j(_$zb;FZi}X;cl*^|a@1Da!Ylm zT6J@O8S8VA?#n-x8?sh6_vZ^_Bw7EoERnUkxxZ4<`rNWa*2sOO)y@57NbBay5?Ld6 zfmb*8=aUu66ZWZlYpv#H}9bI-$mzGTUgPhBlJ1oBgrqAa&6jkUr0XR8OwzTIj+3-N(ruFXjKrmqzAfpOl5UW6lcc94{Yugz zNsA@jCFyBNw@X?m>3m5?OS)guGm`F>bb_RlB;6zFL`nBbx=+$KC7mkiWJ#w;`j(^z zBpoB^SV?mwohj)%lD;eHEJU#Zk%Nbi z9yYjP;E*xHM~1oY;MV>XSQbYROIqK>=82D9u3=1`A0-+xQLT~XpQwH zO+R@0m}zp{GQFN;9^7ZGDXXu(l9DA4fl|o*4VV9jG(SXvpT|n>v5#D%Cd@AfUwIcP z=jX4&=Qgohsj!p~m~NcNYjre*f=?)j_aM&{njRrv>)@ya36{KBgNGgnP& zEm3JjqWSr&>AAU+tCn(7OHwICNRzpnSFuPpZx?u4ZA$!Vw@Nj|<9;F4ir`Tpp@aG9 zXgKaoM(&pz*)6^f?(g09S5w7hZsn@oCe>g_evg|&9yG6-hm~A4?O<4yy}f44Ay?_3p5@~Zh+HwY~T>jtYtKvGn|y1{BiP@z>ocyLTb zs`$|mIrj$>yMp>mG~9p}$Iyf-$NDF&U#u5Qj0U1d&jr$|mbe@IY32$8RVn z6Wvjt>|uhbh)hW~OCdm0z07~faX0Ur!&kTU#LE=B%)3RgH6(G9cKE$70`9iu&)9L} zgC_`(@w27C!K-d1y`Db4(>?#6I6%|K6IeKS)t`!2GkrV(g@ad}BKl+c_zT?g&)xIO z-ScY%-t_U;yXRBa7 zk5EC_TFTU(;f_evHnr!zA|u*_xxV8Y7wl!*9?4z#1>4qA{+_9dc54?v+fG`cqyAD` zJSjaGaFhJ&CwFQtm4EyOdflO@B5ZU)Su1N6E= zO$9PHucqeaYAV`&gHSp~4?;@?1|gj7{`^=`7|{)CsX&8Y_4q{_WNZpMe{7nY8=GeM zu%bZnYie$;rlQG*6-9CMAhc9q5R*d&p+)n%qPe-QfK51H<8^3bGMDlr$1UQ|nERYC zi7O#n%86kY(4}qKCUktcCN#q|;r2EZ9L*`VY;%g}TyvUXn&T>WOCh-#G^b^4a|$3= zM>9-ww2-@{wR6pB`?fh9ey)yYnC56acS|AVn&YO6{^>6M|HifaFe1fGjlYy@YWx{F zSlW$)C%8>FnU*bS{TXv#5P)V#8s*8cfInmIvr2e>?czOc^cXW|6#W?no`#2V@cbEb zUs8DfUYLqvz}z1JmO9}0Gh8e@;gz82t*5rk%Q!A3HuAD_75y0n6}MfyzoWtWvCh`RhmWjn95!TNZQY1r!-v&2){YoC zXiV*hLAAq1Hq_TP4ClMjLGT-UKG_(LhyEonH*q1Ge_z!H_1&8OPKdMR_Eh76xt{tn z<~}by9Y7oqzS&9^VfK=L=CkkSa-jcipvVb(4J^*}E+M6<9M}6ZbXbQ1OnwYYNyGIP zk4cx@A^CgjACjt|Tp`U!a7Y8_n*4G@@@MFf7z)4WA!%>@L&{ULj9W7j98!(jSKpBQ z89Jn!y+YAL(%$-ql&9($l4c}0r2fGn`7?A#x5OHf_SQcnwJ15p(~Ja%v`uhG{tO+` zZLx-=z4Z@iRjE0R+9(;Qq!|egX3>^~7()^+sPkZYh5~1jXPC)#_= z)%3ha1U_#-{)`eDV1d--ms33c3|9lt@|OAk%9+;mk?Kg{)(z!wtJW%uTeVV-TNNo~ zaI3aaF1KpEa=BIO`MFiQonuZdWSKLs2+XM&%A5@?UDROl?a!bD^})uQX@oYI>Zxuc>IQ{QtLi74T6U zUHn2RPLbl)qqrsKf;Fchp5jvENDc_Zh#ic_5Ly}g~w z-7z>R#*beU|2TDvPd3hqKq?nECEwn1uZn2uxOd9+#xfI z!CV$Cfi7nVi$k;4-*nC6w1<*f7nYLQ>z!!&JKMeAS&vdq=GU3-S)1#C%_ zw~x!UYu)7!q>oW!uMKd@hiq-I@$x&0M0Tn;1r4PhRMiOePbGe1y<^8?5N z1T@uT%fM3vAh6QF#0t13Ra(?wxw~s6Q^>j)8U#wQ`T)0t10LXnVJipWz+je5LPB!@ znH&e0bc-CMHOxV_zhRXhZGW@53$YyJPGGC`VtFMV9IqfGXbh3YSVMc?NJD4qZHVpI zQl!I(J9LS~ZA6LRnGzDevq=*y+I&P4JZ>@tR7p)hNTw203EJd#k`+O|O@x_BP-Vvi zi87U-Dvk*fXDUHe9TOzURD!BGCPronqvpHEpttYw_}1b*OaIn6O_58MD3WM%rzzG$#7*TEv5u*A_kEu zGXM8r-sr(g;#}aQ3B%u}=;Qyl3B>v^=yNgQ5%_ku*z;#>oQI8>mw)h_ID@a*gf(nz zt|jEnhYv4VkkCXNo}XF#qp0AhJf~*p67`E0O`rYZ!0P*?70ifpFASaG@Zv35b9-H> z;2pmY?)t9!fHpMjTb3_|^xRO$UlbG_X5`^%Q$uWLW4z@lfIQxN=6@=4*b^*diY)1| zO5j}l#ul_Hjr6cIS!E{}GU3ytQRL#*Q&hvtbs5(nux(Bn)|?c8{HYCaX@8nl+AV6c zA}h6OfH4y-Bf*f)H${G|T4nS+?Sio@ij{scP)oy#lLC<6+<*s{cIK4~$YBm??RQdu zshTu38_xwn&po_|QejF?XH;I(C_#$IHZo-JVsAe_HquRqc=@7Etb z*i^!#Ts)rBN*MDr=Y=(k2l@=IF`?*zw!4!E2}l7^?=Enjw?xfiexvy6ov};GYlm!Z zO2e|95+V}=s&5`VI{c(=h5U8?DWk5aY1pTzgh=O!uWtoEF22fl3+0NGPGEP=GfwA<+OA#9{}hR5C0 zbL!U3L&MT$L~wsM)@lxp=r?C%PngnQvKM0@&ewiW{dZ3f2hEtga&JJwRU;;iwSkYb zfseO=kG6r^>$CY#1_Qahx_-;Q0exljmS2Sx7t((=O;Jd09?zyJ;zJWoo1)53OM5L% z&L6zG;hKMX)$iAbkbqnhQxp#8EqT!qLt^>_{iOMKi08Aw?KEsM7GguHU`%2W%bH0p zCbpRXsTO)12)RVV>XL>aznLeGjNu9C!jKl)n~pBgX~~k}K4TkS-qR#GcL>tX#oTafK(S?L zBLD0S7Rh57TMZW8a))`%i^%CM(@vK@&0GA|%^xsxS{SZ0uhrf07rfPr=Lg<6SbB9U zWSEQnf|ao$m23e!goJe52Ssu*F-foj?Oa&#go~&PYE^#fF@Hy+wHp@pT)VEkLjlYT z-{+w{gTv=^iA{rZ1+25vHf8qwPCQRxvj3!s`QqgBIySQGUt;aMLbtuUc;@O_(ZRrJ zR}SSIRxS8A4ReDGV^3I(rX@XA37m^x*@9N3ZOJOzqs;dj8hf4TeNMAKXvpYuHI617 z?vIRdF>Y%c>{TS-o)sp{IZewS5{0$f-K@RAtUkgV4alsf56#Elx=Z|FWZkx?{;sjvRX@m1tRintBhHD#5==^=>H`8*Rwlp}zr;C7!xjr2Y zbAy0qu1|+daQ!zLmLKwwz-SP2k?#9rCi-;971yVuVcFlOL$0{~8x6~9pKcq_+5Tp= zJL`EZHH-GoU0Ca;aW9IMJwt`*$P3qhqhVR$(?tSp+#3VZY>%gG<?~NyK z_1aurKlW+2@`v;CZ&{jH;?rTzaeX=(mQ_C8gb`H-6=_h-Z~dQx^9Gg<9t7mt9aT(6 z`nf(G4f_;*I;4~9)6p9Ak9!OExG0I7WnUT;-O|G_7D`n}P)_#eEmfISt& zbYzaJx-={+d^(zWLz?aJ^qKf{eBjY(gX6hnR+svH6a6RDKCxy<*tijv28Z}`QP6)} zpN@vPLBKQDr$Z*VJ{=9q{yrUY#r5fESoZhnkSnfFN5it(r^B}c<8wAGb||Q(CTaPQ z^~*=ES_qI`Lxt(c3)iQkVOinRMFVZz8w1j8&-i95pYAv?Tj)r}TJ{{7@ z_33Ds8*X{-_31VO;eWii^i4uyg74&`r~4V^{L>jAyDEt3$Q)O7Y1l8AnGJ4S-XK+y z*ve0(nK#U6&#ZhVKHVx;e7ew>s{dA~*356UwrqHxLzh2T8XV%&#X$dYeL5QE1_94p zpAMPe`gAlb`}=gr71yVuVcFlOL$0_!9SzHBpKb@xDG2%Q&EQM*wafm!8=j|ev=2ab z4Hc#%FI=CFhGm6M*Bxl%-WZT(d&W0g`E(szF|lED?n)OLMh0xJb}gviZ}Tf!npon~ zVb5`WIvSQ$KHdGQxr4*ym;C3P-sU~Gy5gjxQN?tmpX<}nuusvaLpr%W9Sw8CEzi9^ z-6kOXY#ya@%lRMlqwW-27&hf4S_iu-i0Q~2S9NJvR`_%@^M*9rGb^8oPv;F=xSgIv zUiYk1=nMTA?~xDuj@};hzNn?aAwFF!^dHx!qhW3k@XYn;kO{6&N5itePlsG_eL5PJ z{e3#*itE$Su&nm!jsTraPdxm3+f##T^334os#$R&?+&n6^b z&k&z34$gmnEI3lAM|Q=(G=su@Cx1QH(iZ=$l3m7jde5+pJeX}gPn3xqb$lR$S4V%pLmFZvVs7_*0%bG1R z+IiU!auI>FEMPUN_;%IKWS;-PVts?BDzACvI$DnzG)Iz(^mC_*H0)C}D@Z4Isz}4! zU{>5aRXhlU*UOdA{cx3L+PQ~Hk-hfte7g&ye3CHxzDV)$6K-c z(q^J7?~l*;Vo#x(b7t#*8Z>BLwT?LgEtQ{`75w&vFnLSR!V?nJlAL`D{E+z2lZIuL zSy^^^z5n%#^Hig?(vWkH@BQg$R52atpZ+}PZMBu98?Em-Zs6sIYgIJtQ#30`=a#@8 z`zKev=DWCg(>;|M=MvE{H<%UodMlfO@a=}HZ=z3bY&7!inPauylokWz(5xVHyiRpa zUjTK_VKgl|5q4@kMJ`c66X))XYy-hC}wnUxOkEf=S~ z7301Zr4t6{)C~+v$~~p@9wW`H^nhOCniU$BRc0l}^?hwlwbTVqJ#hQofY-i59gQlc zBmG>nLc=~qvx0PT%?b_srr?FaT&T|%+*AP{Z0x$4pZTnn2o6&;7f0;Y<1DmKo;#>_5oJRi&g zPFto+wdU;md*UPib&r)VPp9`sMHlsei43(BvMsIP|7FgIud z_9xq_DYB%;DuHvck1c3b+SW}6aSX`BILY#wPda&Pf3E4}SL>g?9cfqqDFFFX8<>Vw zK(I-o%>+|9X88+VvNp#oY-)lu`7@x~j!gVw@#&HJDaM+m`tJx|gBfk{Mk+x*_H9|- zazmNnn!y_fbuBr1j)I1jAq_$PRNlPVY6uG#ogEi^Xwb+I(Wz;)u7?q~8l{HRRsgfb zMqxHTl3cSviOM;iG!I%8VVIK?vH2ewRxY)E3pNBSO4zW-WIDB(z~*%Lf;g!$Eqpv3 zI<4hX(N}&y=PUll@s{(wkq<7`fK&)^YDcA;4}6#vADdugerAn1A?>6#0!Ui87&5I; zk#AmK)h3l}QL@iW@m=JCi#;HcDi*cb={6JCg7}ptk?Fh5EMi$bKxv`>@Q}Vk zwlwIiU0h~-c&X*rDkJ?|?1s5|%Ld#;KiG4gSR^qwk=j83rG(u1__D|WrY(-{l(qqh7NAy01hn1)@?X!@C%7So8+ z{V)10?#%G;RqEBZDl{EGq)=z1pNr8SKxOPo@dBWuWRFV6hh90W-qfT;u3FuL7%8(Q zQ^>t-C#fnXLlBuF^M7}KuJgJ*_h}j1B(VxM-KWA(i%s{*+m&UY9Ew?6YmXFm<+OXv2nyGvH&@eZ6Mc7SDo8+G*Jp{8CGo?`s zFl>Qi?A3YYuY|P^8vFE6!4}&SDkE-BOfVgp+h2vB(rSBS-Li{czPeVvVt*P&7yZof zmZk!YInFjI8kM(xs16<1K4d;HEtlSc!N!G^3ao`pJ^Hpg`tytyKHGRHe$pw^zQJ<##01lkxws|I#y=^i z3|dg)pMFvQK9JEcx(Z~h_5TrQ>$&81;-H~#0+QZ5JkqrNf;~vHJ)Uff{(LM7A^lGf z?M{)yOszN;@LiD6rj2(=z!Q$$c|Ky)4*jG8AEveHzH_;yK*1Ux6R=PDW5xu}@Z7H& z)VaeIk5NS?(l9p&xKlG<98(fpn)%X%g@!q?)?-PNWnU6HF}BQOiCZZrO`%9(S_Nb= z1nDpIebLr&o?)tKZHm9w?#p|EhS8PNldako>1GkNq}$%P6;He% za%S$vOk`qDtGREyTO4ULy?v{?Q%1@z(=htR%*=DN=E!GtsBxrcz@idGzA+T3&wL5p zog>MQNC6Tft7a_+}EG>opKZkd5ozw=C#@Ho&nJo3VbLKCGv+ePOu z1}=Zy7wNXgmu*GOj5*XDdn&vOX@@}c$EFGk-rAW%b%2#%rya%2r-h#fJ*V8b%_zSQK2sTN# znP4hs@s&$3%Iudf*(B3C9Z>@`B75eZjhqnLKsUa@q4#;~oMu*(TvLPjY#Zr!Chgv@ zDzem*Ua%?bIQg-8zj_4sKc|KLbUVN56{*^tUt<{F!6i3k0w|NY*7draX|cSNHd z&RmgPmRcGk)Ao0DV)YUApJ*^)g^Y&qJ+Za(<25KJAX1ZC}EDM%3<%JQOK} z;LwQLeP|s5PI>`TMLZQ7lX=A;_S*G_)*UwXec#ygo^H#!l1Ek*d02(eiWQTG*8Sm} z`_P((xxv~xHFYP=S=zjU;m)TGOy{kdK7SG`yruTfA5hb<2BboW-N=WV9$F*C+y~S& z>{EScjkIzfP}8s*)KPHDZBE3j^|<`d8mZ+zpr&EW6ocg=RgT=kLAoAVBdy$r)->#T z#*Ki9eit8FBdy#A)HIClC}r$piv>X2^D$iuo*#HPXmP2zb=n^6$?R~oWt*^z-RBDZ zV{h>!4%>o2+zXrY$t$p)VRJsobLGb*t8Th+^iZ4H0m*^`70SJw7(z%ua&YR7VE`Pf zs>ICi^WsFnBCiLt3l2C?o`x~q$&|3P&XZWgvSt=CMK%*483%_O7=N>e}VndC94?IA8F%`Y1pUu8-++`*O|{}$4Bi67*wXl^NaBl zJJ7J+7QOVre4g%g`MgjS`Ar^n^;dulrX*%}0r8;M?-aB=mbyLZ(?HspFz_KW+$ zH0&%X0C8#q+^_C$a8`gCLUq*x!lSwwIvX3*5!P}`Xf=qO_i97~+jl@xD==@Pm4$kV+$5+v)_wZO^hllNEb! zR~9jA501Wh{C>}X=|!8Y*vjio-Sw0Ry~ka#r(td|OzvH=-vxx-b&_B4#{I|-ONQe6o4GBt8!Y*W|iQ_o0gM%y6!qWAg2!(Rn>BIKroPx^9_)eVw1CWU)qsX& zwHnL>I^CxR^VzP*OF}1Wi zW9##~RnsJwDzW~3#IY}Fb`radYbR+~wzHGS1lLZ|une@5;`Hq8Lt44=OvAFuPSSKA zNVcnQn2tPf?IaD$YCDM&QCI9F^1`)~G%Ty^-cyHJKn_kRH^_75t}`JMTz7$nWuUuY`ald(0m}#1K%2ekJ|y#yR<2p6VOixa&~AZ9cUt)3 zx(mn`7t3mQ0quz^?gH|{br)zD-Ckz=@)N$6z?Cb2?2cPC%m5*ElZWZrogZMa`##k> zQ+tm0zZK4DXa8H__b&WufKT!v;hky+d?q)kGP`n$B*M~&5~pAUkhkxLF_HOOX#!^a z{@`VwK6Sd%uxw{Uk%`eefAfxi-o$54@ow95bXv5KhS7zYyFF)%v)gmnQ8!0c+YBZG z{Hw6o+wVsIrk!wP(z5V&huULKdj`mTtEKo^?^`TkAHA+#8EJq(WaX9V^5Zws6YYuX zqt`BotN;5~-q8cT_M0wzd9(AZH&KKHq~J@I4BA#e8kPauHCYO*BCAmy07=|!mzdk$ zsA4+OzvX$We+Lwe@g7sPpsK^X70YOt<#tV`VJw`!t(RB>H<+u>X9J*n9ZF=c1RY zrLA+f-#Ry7B+|~s++aRXY^`Xuln<)}8y8GzR=jz?LZ*?IN} z<=tGM>3|_G+ASqzvZZ1XxOLy${$k9 zedUjaW#B7+rl%G{wp%UlIsnsv-uPcQ2a>rgF^l7IFGs z`9o^Cul&)l41DF!rRPSLBfx#-59#M(*V!(^C{>@`Gy*u&6`LDKtsbDXND%jxKct_F z(dUpE`^sMu&~azhgoJ65>Hfp|uiMzMo*uuCW|JpOv+X2R#bgK>xlD53-n?_CseQA$ z*_?Os?0sV?3EZcbY)xdJB@xD-S^T4DOS}H}j^1mj+Bjn38biy@R$F+!U~`X#IA8lg z_1`@`95iF{%Dn*zSB*5x4PFs;lNF7Q42@N0xL`^Xcc}{iG3_?`d@ZQK}8k@9ZpoC+vge5D_IF13k-CVjA|@ zC^0g}Rbm>JflAy0#n~KEEd)T0lo%=HDl84lY9+=Q+W(czvFcy`oHG6IO|`9Fc_Vk?anKM~iD}qpqr}J@SBYs@ z1}d@2G`Q@4r<52e-?u4qCwuRFdwtN=lP#^b zYZE0N4-IjZn1+2eN{q~Lm6(QQpb~3MgUkMRN{NwDt`gI*tX5*&z2rV6p3im_Sq;*& z*MGC|N6~G9uyb^?9@*XH!)J37kJaY#)fJfB+I%JViYvQ(qS{Uy8##;@IBxgN%0G?o zew2`ae2{Gu6X5*a#WPpeiVg-&yK*S!uxi1_X_y;SHFLL0A`^|h&h$Q~*&j4y^tl>G zlMeT%VfnE)*pR9<+-0iG&Ms4VLY37UHxPOXm{8lN0r|F2ZFTCY%ABDFp@E5034u#T zvti^a`md>dhA!`@S$1q}pkSc*2n{P`(L`zk?&8$Uo{yQQ4B_-<R&TRB3^c{mR)}N7FTE3WO?T|zRXT>9pO%qaP^bBu{2K0ERtv$7$IRR<>9`mO7mLX9e=@Fy?B1$jf16Ex5CW!c(T19IiGDO zgN?6<(ER8R@bKq{jTKq##MZ=m0 zkIR)jU-4_>qckkr8DH8qMjDnjt@>Z?_IdTTm zu(X+3_wtksw7n{wqv-Pi&HW~w>#{SZ>GS$Xvpwa+bfo{3@Ikw#dCK{(sMk9<==13YX>bJg zygio;&db5m<_7gTqe<>F?N;dFU#Y7r*r&%Eh^F)Rtk%pm^tpZ{;*XzbShh1bG-07( zX)`$P6=a%1ITB<{NBU>XZ1!w?-SD8<70;C&o7kl!4Wlb3K0w4kB++zb@!w_wn+I=F z4u3u!@8kaOAN*0|n-9Sg+pRnF>;7XUvAjJcb>F?;?tb+uX}$O3*F9|B`zN?^??2qK zwer-puIkYpujot0Z8~e&)#Tof{!~j|bi|ODK0!Ze{vG1^EO5Im40{vpKvJ($tnAZGc! zpU=u5Q9YaYe!D9@G2lcw{dm;qSuyX0Vh8-E)$3Spf55O9LIU;~S?QSq=iHSZ8s-K8 z&)k(BWP-cWL&MT`?{|9EoQW$v$Q5^`hlZtX3gRlKnX%G?Tya-*XjoRS^ehHCC;awd zepu}|zq#cG%vv8C))yeVh6>Y>7w)PK4Ws*Z8EbsQfi~_<0BQcDjqekr5CXA$wv8{? zSDW6ROFyO?I)8)jo!`y{Ec4hh;qozgIYI)GL%hAIa9*m*w=F6*Ea|;w*8o8w{e*=y zEVGR-d&@#ndB3vL_tcv_fVKvm6htO+oNZDxDsLIph|D;IbjLZtYtc(w~OW&274Q!!8pF zh_z)z3Fl)Zq-mH)W+a>Yd%`q~Zg0}fN}A@9_&dei-(^PnZHXYJWx3NQL@FQcUS4j*vp zQrYAZG%VZM9b|(0ESQGT?GDi*%PzxiGY6XqY!2A|WdF@nVjo9CM((q9tizsAV> zYrE+Eou1yIG@~>N`jl&wXjry0O2`D)DABO2HcGU2Gk|o5MhSW08YLQ*)kbL;(CLa% zLSDE=iH2phQ5p_(I%|}~WI>UQ$yy2z9@>0(1r=ggV~WhHzr0-lyk^0V5?%V`^yepM zcYFR)>A#u3eO43yS7$5@1TKnVm<>mVV($sVA*EXNBk3O+wCRmC! z!ANYAc9PH;a=t0@W7R67=V=#=T~Vy`lYv?+oEDyT?|pnTWi`)l%&1bUcSLwxMxMA> zNvwSdF+H!dA&NgBtDD(oFczJR61%e4a)#qO-Qhe8QMuV&4ZLzr3!ZMpFGBQx>B{PwQTqu z%$ydU%1gsqE~@`XJMzT48llCjMj=mJ>?u~p2Bu*RTm<&!`xv7mjq$O)^N|yNlla(# z(D;N{W4?S%yBPU#F@{hh-w+WI9UpHD<9CXV<;QmkkK^|Y59@4<=Xr4V9IbW6yby{k zW2cAo>)TF zUt^;of*%h6KgJLj2OP(RM?nWf7~W2MN^oiZCJoC9TZH#vuAh$FI}%Bo(~SvG*y+1bzKUPz>Tj!| z-!SIy3-8aVR$5BHS4a*7n$@IX88D+T5n%nFkpS!^40GV%-fa+f)Qd=evhS1M>-{)X zGpYXmo)6xnd_%)fGDury(aRw3o3s-LwEg~AaHLR=_P)#I1;4*NGk^WG^2B{{1bO0O z$P>}-%;E`UgZsiwT6ua`Y25t3=Xv|h|N3B|s-?UAg*Xr_kCXA>$s7Qlqe(V1noHwv^@F3)giy=?s zoruihDKZ^A{kuGWt82k^0!HjsEf92i&5RHj~XMLt(gW*_=@pcID;kFV?(^*mk~(eth)g#fo-qC6@CE;-Ae28b==5 z72?%#q|Yyh6HRFf(LcXCgj&|H0&x^b$VzG8ulq_omi_BC{-GXP^;2t1X{61sFKMQQjtb0R|rK?ULoL3 z8y**Lz(vG5{65;Ws~vVh|1yV!Z$7LKNV%-~PC4_|6dINlYKKkG!F;pB)r>zG2!7%a zYl7gK`W**#aa#Q@DB|t~YlAgIx(bZ*XBntp8(RP*an+B8eS+#I)#xO0kzOj%D1~ah zUMy1Sb!v@5CseCcDw$5oD+;{z3Frr!*CfUWi}|2|jnl4y*b7_@q+wa1fjHH1MFWxk z=VQ7SJU{So(Be{a>$E-Cb21GhLW|9$-uNQ#|#TCtloIkF7w&#w7AE`#?6WT469;HeLA;S6ulaR|R2X zmiYRv&GpsTfPO97S~?YE`S>TG@QqKu!MSI=S8e&@^xf5QxtG!~(nH9QStc@g(?l|~ z)l=4H^uDjY4BB?=&)*y5-@$Yc4m&&aNX|zA>HkjuphW!69IA2Nm6qQ+9q}^_bHfhH z=iJ6E`~QgkPo@!)rx2 z6{&=By;>-cCVTqUMS1wjdL-#N_#_!^dbFATK;-S zePESp?dd;)&&(gOnTEMRhO^G34?#{LI4`RUOa-&le@V(|N7#3P6gfRB<0;p)Z-!$*W7^g&+Ou{U`X9Esw8#4 zedmkh|Bi-bYhlkI|HX^#Ofqok_h0OOYS<;YUh_?>C#qik0=Bj<9`^WVjrD|9B%R1L z$`1F-Xf%xQ%dpJ|RYf=zEA$erMy`W@N|ivbga0DAP%V*()e4nXA!MH52N?~qreXpn zO2;~FE~ucBAtKJmJVrO2v2~iXjfndcK)D~L!;F|t^58W$AnROJqG4`O3HSOiG+Tts z*<;v!J`A~+rNf6=1!HT|hw0#oSueW4uy4nvSpD)}Hs?PvvH2pJ_%DGj8s;@GBB!@Z zJ6-xTZ}D3Veg$4j#b)u zu>Nft<^~zI>=ta=y!yagq~V{rFEOtz#t`Sq>Syf3gaErv`!E$&=Sr#>-%Y*!>Thee zB~}cl3Hws0nCrvPumzBh1oHrWB<$|>VYWhpGLL7{UHo9*DZTP_o6xsVS){?1Oc45z zey$Hg!~QSqOplQz%*07t}WVL!CI|IAgpuKLZ57=M04mCAaWu%`gOTw$kS zSt0C4fVO-OPw%{af3@Gd37&eU}43k$MOggN3e9QVPi9)NQ%=!e{*Ts##fa_?={t`-N?6l z#Xp1*teklB%iz2~c~#xU(Zhn)l+Hgw@P1VR8b&$;%Q8~O>{$^A^g^LXDVE6OO08O; z6-uRYl|Utz=w%v(UZ7(3M4BGl1(-@sVbl^z0Uj!Ae?Kv zkU4t{|A!o;E6^2AtIvT!9SR&76B0bE&4ntr=Iy6WhL=Od+BNM+^e0rpQim_&?{yW0g&@j>&Sk`2A zE5eCTs}sX6E4@T4QtJh<*-<2rt8^-jLZ%bI)(@e@J)^OyWaiv6@HxLL_YCCxe$eZ( z>-|p$&;F}ItyXts4QQAf)aC#84Cre&ZfsZu5^d8TLod*qJV_^VX~ zbMN|{rarWLH4V$mdj?T$nzMsSNE2wp9oC~tKTQBZzfbBbyRiuAjxA%V?>b=%?{o!4mRws>V zMZ>bStPa7RfM9d3e9M$>-T<42z5XP2qS;*-ih%)k+F*}9Bso3c;nl#Y0}AxWePOrN zFZvOqxDvX6>*Uk01*EGWwk_=LT?O3^ZQURG^ZTQRzt=6gbmZpmqnh)P3`fF_^m7d} z4a?TToP1!(bMY@SxuYz;Y zhrugW1tbNG{H@aKm!h@PX&B)b%clDAa-~eI(5R&nomwSRDg|1dR4$jPbaI(mrjv+- z%)6uH%?VS{%yHyLL1V5s^2qw&xeGTv`M0xb-M--GIks%dLBrgj67F^6R|DZ(`-B~C z&jx&6i$7QFIr1*)Ph&wpzYdRPcrQJBeeBS=TN=^yht}^jEGzB{G{JQw6PS+lbMFf@ z%neGAbq@Py>;$24ciIW6<&(Jn*7|q)Mc%&@?0m-m6iwLikp$Ps(6Fo!_8mamu(2i7 zxjPp19#`#Q#j#!f)&XSK0Af1Q&lPqWmaT=|_1Wn<>>~*2n4N}zw`+5S<@lE_$ZF$a zTN{ceO7$BWhOL^ty#9HbtgZ#3d-QF0^ye8Ze75mY{G?N+eM7?tgUF<9hy5n-fH};; zvPm;&=Y%PZH)9OF;b<+Hv&rk6JYd3y;j>eUt-6M|y_+?rBmK?SZW{Bnd;j31um^r~ z?!TEs!?LxkW^cp13x>$1us?D|*st|39(YQ*H)z7tc2OxU_D5Pu9`WK)h`ENDhGm6e zJ_fW^E>W|9*UZblYj_=hGb9-S2j-~{gpSKcpd(ro@(>W!i%1atC~W?{-d(G(KLz~CaZ~1ztghXrNHdiK|u+= z3v-el)wf0V?iO@OrCK`VT(I)9;PW#sA<%!w7@OXJ*N2B(&v23d2qB~FD!#t%w5%q|?r8Q^6Z$T0R)5>z>i%PBvWhbJ z$BRqfBqS#IPCk0NpJC2FooN_h5Sh#@S&fFaT#;3ze<1(M`91D<1g!ivu++N&Et=7= z|ER2P#W94CQL>ukimdVu`!6_CYjp7BS(pAQn)@Vm_sAw7`fMJha?AN2^rP++TNpOw zWeg1?3?h@6C9B<`Emvd}>2G@T&kcpY&7&Ihy5!p8TS~vBVgFHC?S*3qAsw=6_l4zM z@C^K=sfo0IAfs3D6~aOzehOIduB_qs;&#;Cv1l*18?L^IKDn{c$hT*X)p}D}Ov4C+ zNP}%zb?;;D1Zc~Z7nYI!wT}~vH@-huvwT72Et2dy~jY`kzwUecw0)nseF)@10<%+CW^;Z(Yra0OQT=<9aE$!QAh{SoYRyiwvo3z?)TmDsl5vT+7$ic35C z${rVQ%W?m!;9>K;lzsEh>`Q1xl8L6^uDSS}O^Y20s;Nm@K4ks!(W@5HFv2gxF4OmT zPm#clL!uCAC2&ho3uR)xK&n=Wlp?82C6p+%5>`{hrc#-wDN)d%E1E*vLrB9uIZeS0 zi=XH{r7|=4nRZWcY1>D?l0&EF&;6Hfp-=CUE1#%zG)=*+6@rlO-VDA}U%TwzyWx2n zNBht)!Y{+NSyRMn`1Cn^Um3pfDu7Sb36&b9SguyflwyrcAQGuqO_7*NWuB(QK!dJm z3T>ka4g2IYg|<@%I~_-g87;iv1nxcMGk!Qf!Ieq*qH=wI^gpr6cg#2cq@PP;pmLbew#xEH$11&Q9oF>3y8Z>u6os!-b(d^>TPd&-;ZrT z!w7?rJ+*&7dN_Z_8Ck`uxWP(R6Cw51`mQHNZf)nc<=%s1g?xfTuz;;0#WW1N;FvLU z#KB!2`}O1MY$}o1zf24b`;W?MY3Lpd86~S%T#;4JA)AIgDZS5c?B@H|w^tu~(o*M% z1HT)H7Am*2=-Ty>--4lss_zZ)eN4j$gUF=W7G$uj4urN`kyWH$dayv`)dRnKufBG5 zO#v_OFdFtBmDLM4h7dAJR%7zIU{{0lKd)GQYe7v?uAr1EhN|WzBqWr`>K-_+aJzw` z{##k__>Ez+CNA34mxd7rv213^>L6Tov%eBuXmB`S zAPpl7B9oaVtHYozS7a6GZ!jS0<-hZzeb@bTZ_@da>KimHTgz(po}A%S9CnTt9XyE9i?@`mpG@*a}kX;`+FRXz3u z1eq`eu+7}8E5fNtsnlt8YWNLUfmW(j$kYObTr7j1x>Jf^D~dwP z{L-Yx5NV7x@S7TY#V5oXO%=RnqSQx8_uRU&hSFa`bZW+quG<3V4a{5qpIQATVS|nw z4P^XW(3(yuM~15hz0&^h_1fI4X_y-n!o3?&4gldV`~LOlS>YemOJmAUySt~G+!4dv z)!`vn0D?_Lxn)ZKG{2&AC5N56f=k-7XIF;-)Yzaw(Bsm zeOGX=w@njVY~PU*ApKK&1rCU-H&(xS)7^2STTa)}FgGYcc6=0qn+PzZ!-KK=o}vH* z*=Y}E(Y2o@4;d4zOG&ymd~L4q95hRR5Q)x}(EV_gX4<)jO66<+^wC)wMi@jUZOf{A zJ(zfC%awN&kp8`qDc?TtHA%B}z?^Gsk0ylBuxu@>+1oHD<+Nj%1z_@=7WRW>B>7G^ zJ03K=X^~z_D;zS?g#8c*26q{RhGm6eJ`A+!JN{ki#<_pJhb{Acw&?utzXRmZFeClk zWe^&ct%W^<-1YLyG5XXpL zdME0d?%2Vrbc}`(ei^3mj?aABUZ@i374S1v5}8J;*N7AnxkM@zE9LOLGx&P3Qp&7P zY66(2&^!+TQ#iHH*vr(2bY?1IeU=L@)AT!46Ck52TbF2>M8n*m5$^TZX{HGK&Yo|^ z_19frF#G|Vf{;-z%yCzKJ~?;v)2(}tb_|$(xoQ0i;+|fX!UZl76VObi^qJARQyrCV z#kX7PcJa>Bj)oBiu~25YFq5GzS6mpRzh>+8`lH^^|-x!W0J z)vMqDLm;w}!B*X+U+IZFmNNajX3KoWt{?Gl-26Ft39U#sk?SLH-t@%7ueUuls3y-0 zZmz0TS4zVOzgU*B6^vDv>J>79R3wFM+CsHXAX2Cl3Y}c3Qz{fniBKnFH>65Ur83W| z$3laySasx_`@29i%ncghUaOu0gmaxv>~v?WdiHkq`Sw;}3cIp~xjt{RuHxaBeCADl zJm$vHWp6Ci=S%Ed2uI#Z3h95cwL$ok+BJPPeV4pj z9{5#R8djGy1o_Q8d1Ne41E8%{RbuA%d2u3Ok=KLS1qU2p{LQrRboF?y{h^u*x|yd> zcJKzdtmyw3F@N~vg*z{J3 z3;x>@0$N|r-}4vbiHqgnj#B_+YHW;;4L9~M#_{9382LR65eY_qbSL&AHr&uL!dROh zYKY<|#2NYFQE~A`Ll|Z-@Z*dzhFC+qk?&)S=SM|{8F?RV0CZ3PU>{&eOFxV{wd3va z*VluWhP1xaXU61zuphXX8;tg6=f>bC4>1r!lYTd*0}PkVy(dXvH=SN|@$(#BTL%mO&w8uND`qH=_YmgzW?bnxs^1G$e+1V#;sHe#VV0PCX;AIVx?X$P-q2GsYE4FNQGJny#K_5=kPpV z(^>(~lQnOaV!>2L{@F|*88|Ux_t{E$KSE-m?~AsM^9)l>Yg7Eac3)oHOO&P#7|>|n z#d^casaM{L?2zZYQI8$K#Vn08Qz_E{GNlIJ?h;GHLY+XM#2*DzD1-{RQY=)+ggQOx z0JmH6jOk45Fbrvt8t(TkvD3Ji8!Wkd-S2fkWP08244SAu!j6YPv><~myf>IOr!9O5 zUfpZGC)Cs~yLxJI@hh=fLMzfuEc|geUp2e_$${5q1r8ouvCiDaC%4eBtg`T4Z6>^! z`D&JW^3fHw^PSc&McN(7JJKIqwf&7*UZs3Dt`=Q9Ij^~jhJA__9_bt&d0|AMiBg~K zqVpF6m%r{y!yaKrkib~gif{${Hk5LeUMErNq*|FkE?0}-n<7f7R;5;nwQ?n|0Avb` zj*pJzGrxCgs$dmckEMLDkSVg6z~;hL4*|3GAuyM-GWUG|ZhxiSn%z}jX_uY&rBjo0 zKi0vVX&K4;ui{Hq-RC zUGtm!Y`1Lrl9JW1&mGA-(%<%*H?pCV8~AVU9=Ad#8>gUQpQ7zYI;Tv#bkE=GWx$A@ zhg!wt{CXY@Bl3s+!E^}Y+^U4|;V6khB@syB10O=MUaiy%^h!0l_~7tMdHEr?$@T~0 z@&Xew&OqTnVdw`(Y{Zz~{dN}!8gwPH(w_-OnWt1~8OW2PyVqadp|N^%#j5Kn@nXHP zGq@Pt^efaNxlAk2tDHI9>+|Kw6EkAY^_uUK{_Q_fPeL%Rg zmYeV{9iwsFBy6Nq}Wfh`nmo%$Jv6lixHvv>UDhhR5-HhKF@F#(VPl!99$zvEgC3 z^2ZM|#)kJWhVerq3~_PBxZ3=V3GsYGL{CHSI9MQzh+x(XVM)*!70(ZkjEOKt!kHmH zJUYq~>u1{V#wEi@K0mOxk1;wDmL7Zao5HeVTnrEebwxzS$3qL9z}vH+!>Xijl-3v# zZ)h4GY2@=88x7Dbp2i?eVf?u8D5wYsj0ZTh8=UP9IQcm>&4_^mBp-F={lmPyTIA~xvphpdzKxUYs zO^5;si0B<2)tMg`f$P2|DdB^>ghs={aBM;-3?2xL))-@q3d4NSQT#5^J(<#`BGDbY z8bd)m;&3@Rj2T#FpkVyi0~hQACnCI0Ud||Z%JxnXHbWb2t#idM9TxZI5WC7 zgSyo%UCQ+2|3&iuB8j(+bZff%MDqVP&HvvtO^yTOSbfQQ0~Ntu$>4))T7_5(?zu{> z5WrqVy+$lhOVkpv3Osi)FM!QFoiT0}uUW(Och%WMrdj|{(3s!_{}aeLo2dwU%_|5e zA<;dJvF)2gfDaaHp1xxS*V^-glCHHUWvP?1aSJ5E94f(C8%KTAmYMa51uC6Ft&vKE z@VmAuJtlw(4V<9=~j1!Y>5M6OgxC3=xU zs+Wj$u>D#OJN2|;Exb1=G%bwlZHq7tA$M44Hwx=OB%rOft3$a|QQmKVfu>|&# z%S5nyT%i{U1u6xoq6Bu4D;Och?~kWnh-*{0wGv`zCIdOu!jFE-zhE%WCDMS)AD4|rT*1;ovjY=g}3B)?FQXyoeSKUG4d@H{uz}P9?G5xKfn$+OL%~CEBsx(3ce5YOu zYt90_K&OSffl?t72*Kf1%9u5zAfqAH4MX)UP-vG|Y{xOLu8);UqSfl)Ija!-c{vQ0 zUMkSQa=QXvNz#kNTE>TKYT-X;Z;)uE zYKcZ7mB`dOol>fk!X_!TM4?fOqzb8k>5pdG5a?w6 zfRq4Oq{dZj$GzgRn5TEDRTwDcin*0Z`oyPN*wbA4t;ACO`AoI&5ha&btGnOlI@R(8 z#?!8a*=?$Y^m2#w^POt>P`I@c;?HKPg_}INN|q!<13T#(CI+1=wr$GBqOGw)iZ>UEELIV_ToCVi=o~R6T)IHjzDPz-IJfV=EW6 zNoZ_%Onlz}*rO5^&ud1=Vq^1j#1~Lk9$Sf5;WbQL#Ky436s10a#GUY3wqyx5k&sFr zS2FSUkoYf~fn;2Yr6G{+V=|IV1dL-d$xV4b{vXUX|BOvCH@|=d0@)0tMx2*o_}LVF z{D1c9^9j8R?C=?$;;Fwp@#5AHP6aBq2=4NyhIGH^i@WwPkU_P&z4*Y_DEZ8mR`UFV zJXQ5Hm4d;<6Lbju!{cC|T$9i)#z+H$YK@%?urtc){416}A2v4k;FqjWe9b0&)Wt-e zi?SJ1ECHm3ME083fjzm)#zX`X*=sU3j0liS1oUS!DcJavrX5bnWOLEY>egXNK z!_gEDY^WF%|s9PS=0RsdpV?M4V{h7@WFiik>%qDQxnuSa7PF(eWj~`UUnKl%WnP5o*4BsjK(#K0iR{35%loL zL-q8H$2vQ$pji2awAY1&$K!V&oEeUr7L2U7(*zC&F5;wXI5s+LK$N})Hal!UoW2IO zI&46az6Q2CY(Sd61}@lX0Og38LZ?qu@s@&tW;*f%&dglXB}fHX143&74WQNTJ15lo zx`j57pY*ZShH3tqzMiUOhY##2i#eeaTv!?>y`2`Qvn&_eSpd{xAiae*R&v)v+wrmM zjQ2U>6BBRI>=Yu^n8D-+qd_*`2w{krH+}(QyuB%S0s(K|2IkCkJFmxbj<@&1r55s@ zLb-u#`ZG4h$Xqd;KZT<-TMk%Zg4t6l4woog7)qET-Uv1(nRyifz>JOIxDH1PI56`W zI9kHd4vs5uU^kzG107oQL)*ZCs`&#P7vX3N$0azf!SNRyC*ddw2U2qx4)iMigado* zDje9~XW>AiPs3r!l}(OHLB=$3gc+N_@dOTh1*tR~x8Udi2TlPV!eM~p4jdifz 这是 2021年山大未来科学营(夏季)- 人工智能与发明创造未来科学营 的作业 + +RaspberryVehicle.py - 树莓派车入口 +RaspberryVehicle.uproject - 控制端入口 + +基于树莓派的简单网络遥控车实现方案。 +支持传感器数据上传,摄像头图像实时上传,远程操作。 +网络协议基于 UDP ,车作为服务端,控制端作为客户端接入。 +客户端基于 Unreal Engine 4 ,其中控制端在 Windows 10 x64 和 安卓 平台上测试通过。 +[查看更多](https://www.myredstone.top/archives/2563) diff --git a/RaspberryVehicle.py b/RaspberryVehicle.py new file mode 100644 index 0000000..ca2a3b6 --- /dev/null +++ b/RaspberryVehicle.py @@ -0,0 +1,319 @@ +#!/usr/bin/env python3 + +import re +import cv2 +import time +import struct +import socket +import _thread +import threading +import RPi.GPIO as GPIO + +stop = False + +interval = 0.1 + +udp_addr = ("192.168.1.1", 6000) + +GPIO.setmode(GPIO.BCM) + +speedl_pin = 18 +speedr_pin = 17 + +GPIO.setup(speedl_pin, GPIO.IN) +GPIO.setup(speedr_pin, GPIO.IN) + +speed_mutex = threading.Lock() +speedl_count = 0 +speedr_count = 0 + +def speedl_callback(pin): + + global speedl_count + global speed_mutex + + speed_mutex.acquire() + speedl_count = speedl_count + 1 + speed_mutex.release() + +def speedr_callback(pin): + + global speedr_count + global speed_mutex + + speed_mutex.acquire() + speedr_count = speedr_count + 1 + speed_mutex.release() + +GPIO.add_event_detect(speedl_pin, GPIO.RISING, callback = speedl_callback) +GPIO.add_event_detect(speedr_pin, GPIO.RISING, callback = speedr_callback) + +ultrasound_tri_pin = 13 +ultrasound_ech_pin = 16 + +GPIO.setup(ultrasound_tri_pin, GPIO.OUT) +GPIO.setup(ultrasound_ech_pin, GPIO.IN) + +ultrasound_distance = 0.0 + +def ultrasound_thread(): + + global stop + + global ultrasound_tri_pin + global ultrasound_ech_pin + global ultrasound_distance + + while not stop: + + GPIO.output(ultrasound_tri_pin, True) + time.sleep(0.00001) + GPIO.output(ultrasound_tri_pin, False) + + count = 10000 + while GPIO.input(ultrasound_ech_pin) != True and count > 0: + count = count - 1 + + start = time.time() + + count = 10000 + while GPIO.input(ultrasound_ech_pin) != False and count > 0: + count = count - 1 + + finish = time.time() + + pulse_len = finish - start + ultrasound_distance = pulse_len / 0.000058 + + time.sleep(interval * 0.01) + +motor_mutex = threading.Lock() +motor_pins = [21, 26, 20, 19] +motor_pwms = [] + +GPIO.setup(motor_pins, GPIO.OUT) + +for motor_index in range(0, 4): + + motor_pwms.append(GPIO.PWM(motor_pins[motor_index], 500)) + motor_pwms[motor_index].start(0) + +motor_mode = 0 +motor_time = 0 +motor_speed = 0 + +def motor_thread(): + + global stop + + global motor_mode + global motor_time + global motor_speed + global motor_mutex + + while not stop: + + motor_mutex.acquire() + + if motor_time < time.time(): + + motor_pwms[0].ChangeDutyCycle(0) + motor_pwms[1].ChangeDutyCycle(0) + motor_pwms[2].ChangeDutyCycle(0) + motor_pwms[3].ChangeDutyCycle(0) + + elif motor_mode == 0: + + motor_pwms[0].ChangeDutyCycle(motor_speed) + motor_pwms[1].ChangeDutyCycle(0) + motor_pwms[2].ChangeDutyCycle(motor_speed) + motor_pwms[3].ChangeDutyCycle(0) + + elif motor_mode == 1: + + motor_pwms[0].ChangeDutyCycle(0) + motor_pwms[1].ChangeDutyCycle(motor_speed) + motor_pwms[2].ChangeDutyCycle(0) + motor_pwms[3].ChangeDutyCycle(motor_speed) + + elif motor_mode == 2: + + motor_pwms[0].ChangeDutyCycle(0) + motor_pwms[1].ChangeDutyCycle(motor_speed * 0.75) + motor_pwms[2].ChangeDutyCycle(motor_speed * 0.75) + motor_pwms[3].ChangeDutyCycle(0) + + elif motor_mode == 3: + + motor_pwms[0].ChangeDutyCycle(motor_speed * 0.75) + motor_pwms[1].ChangeDutyCycle(0) + motor_pwms[2].ChangeDutyCycle(0) + motor_pwms[3].ChangeDutyCycle(motor_speed * 0.75) + + elif motor_mode == 4: + + motor_pwms[0].ChangeDutyCycle(motor_speed) + motor_pwms[1].ChangeDutyCycle(motor_speed) + motor_pwms[2].ChangeDutyCycle(motor_speed) + motor_pwms[3].ChangeDutyCycle(motor_speed) + + motor_mutex.release() + + time.sleep(interval * 0.01) + + +def cap_thread(): + + global stop + + global udp_addr + + cap = cv2.VideoCapture(0) + cap.set(3, 256) + cap.set(4, 256) + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + + if cap == None: return + + while not stop: + + for chunk_index in range(0, 256): + + if chunk_index % 32 == 0: + + ret, frame = cap.read() + if ret == False: return + + chunk_bytes = struct.pack("!H", chunk_index) + frame.tobytes()[chunk_index * 768 : chunk_index * 768 + 768] + + sock.sendto(chunk_bytes, udp_addr) + + if stop: return + + cap.release() + +clp_pin = 23 +near_pin = 27 +is_pins = [22, 24, 25, 12, 5] + +GPIO.setup(clp_pin, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) +GPIO.setup(near_pin, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) +GPIO.setup(is_pins, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) + +def udp_thread(): + + global stop + + global udp_addr + + global speedl_count + global speedr_count + global speed_mutex + + global motor_mode + global motor_time + global motor_speed + global motor_mutex + + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.bind(("0.0.0.0", 6000)) + sock.setblocking(False) + + while not stop: + + try: + + (data, source) = sock.recvfrom(1024) + + if len(data) == 8: + + udp_addr = source + + order, param = struct.unpack("!ii", data) + + if order >= 0 and order < 5: + + motor_mutex.acquire() + + motor_mode = order + motor_speed = param + + if motor_speed < 0.0: + + motor_speed = 0.0 + + elif motor_speed > 100.0: + + motor_speed = 100.0 + + motor_time = time.time() + 0.13 + + motor_mutex.release() + + except socket.error: + + motor_mode = 0 + + data = bytes() + + clp_state = GPIO.input(clp_pin) == True + near_state = GPIO.input(near_pin) == True + + data = data + struct.pack("!??", clp_state, near_state) + + for is_pin in is_pins: + + is_state = GPIO.input(is_pin) == True + + data = data + struct.pack("!?", is_state) + + speed_mutex.acquire() + + data = data + struct.pack("!BB", speedl_count, speedr_count) + + speedl_count = 0 + speedr_count = 0 + + speed_mutex.release() + + data = data + struct.pack("!f", ultrasound_distance) + + sock.sendto(data, udp_addr) + + time.sleep(interval) + + sock.close() + +threads = [] + +try: + + threads.append(threading.Thread(target = ultrasound_thread, args = ())) + threads.append(threading.Thread(target = motor_thread, args = ())) + threads.append(threading.Thread(target = cap_thread, args = ())) + threads.append(threading.Thread(target = udp_thread, args = ())) + + for thread in threads: thread.start() + + while True: + + time.sleep(interval) + +except KeyboardInterrupt: + + print("\nKeyboardInterrupt") + +finally: + + stop = True + + for thread in threads: + + if thread.isAlive(): + + thread.join() + + GPIO.cleanup() + + print("Exit") diff --git a/RaspberryVehicle.uproject b/RaspberryVehicle.uproject new file mode 100644 index 0000000..a975f73 --- /dev/null +++ b/RaspberryVehicle.uproject @@ -0,0 +1,13 @@ +{ + "FileVersion": 3, + "EngineAssociation": "4.26", + "Category": "", + "Description": "", + "Modules": [ + { + "Name": "RaspberryVehicle", + "Type": "Runtime", + "LoadingPhase": "Default" + } + ] +} \ No newline at end of file diff --git a/Source/RaspberryVehicle.Target.cs b/Source/RaspberryVehicle.Target.cs new file mode 100644 index 0000000..5ac555b --- /dev/null +++ b/Source/RaspberryVehicle.Target.cs @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class RaspberryVehicleTarget : TargetRules +{ + public RaspberryVehicleTarget( TargetInfo Target) : base(Target) + { + Type = TargetType.Game; + DefaultBuildSettings = BuildSettingsVersion.V2; + ExtraModuleNames.AddRange( new string[] { "RaspberryVehicle" } ); + } +} diff --git a/Source/RaspberryVehicle/RaspberryVehicle.Build.cs b/Source/RaspberryVehicle/RaspberryVehicle.Build.cs new file mode 100644 index 0000000..e1cc39a --- /dev/null +++ b/Source/RaspberryVehicle/RaspberryVehicle.Build.cs @@ -0,0 +1,31 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; + +public class RaspberryVehicle : ModuleRules +{ + public RaspberryVehicle(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + PublicDependencyModuleNames.AddRange( + new string[] + { + "Core", + "Engine", + "InputCore" , + "CoreUObject", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "RHI", + "Sockets", + "Networking", + "RenderCore", + } + ); + } +} diff --git a/Source/RaspberryVehicle/RaspberryVehicle.cpp b/Source/RaspberryVehicle/RaspberryVehicle.cpp new file mode 100644 index 0000000..e4ea47a --- /dev/null +++ b/Source/RaspberryVehicle/RaspberryVehicle.cpp @@ -0,0 +1,6 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#include "RaspberryVehicle.h" +#include "Modules/ModuleManager.h" + +IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, RaspberryVehicle, "RaspberryVehicle" ); diff --git a/Source/RaspberryVehicle/RaspberryVehicle.h b/Source/RaspberryVehicle/RaspberryVehicle.h new file mode 100644 index 0000000..677c8e2 --- /dev/null +++ b/Source/RaspberryVehicle/RaspberryVehicle.h @@ -0,0 +1,6 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + diff --git a/Source/RaspberryVehicle/RaspberryVehicleGameMode.cpp b/Source/RaspberryVehicle/RaspberryVehicleGameMode.cpp new file mode 100644 index 0000000..8506276 --- /dev/null +++ b/Source/RaspberryVehicle/RaspberryVehicleGameMode.cpp @@ -0,0 +1,139 @@ +#include "RaspberryVehicleGameMode.h" + +#include "Sockets.h" +#include "Networking.h" +#include "Misc/Timespan.h" +#include "SocketSubsystem.h" +#include "Engine/Texture2DDynamic.h" + +ARaspberryVehicleGameMode::ARaspberryVehicleGameMode(const FObjectInitializer& ObjectInitializer) +{ + PrimaryActorTick.bCanEverTick = true; +} + +void ARaspberryVehicleGameMode::BeginPlay() +{ + Super::BeginPlay(); + + SocketSubsystem = ISocketSubsystem::Get(PLATFORM_SOCKETSUBSYSTEM); + + UDPSocket = SocketSubsystem->CreateSocket(NAME_DGram, TEXT("Raspberry Socket"), FNetworkProtocolTypes::IPv4); + + UDPBuffer.SetNumUninitialized(1024); + + CameraBuffer.Init(255, 256 * 256 * 4); + + UDPLastTime = FDateTime(0); + UDPSendTime = FDateTime(0); + + CameraTexture = UTexture2D::CreateTransient(256, 256); + void* Pixels = CameraTexture->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE); + FMemory::Memcpy(Pixels, CameraBuffer.GetData(), 256 * 256 * 4); + CameraTexture->PlatformData->Mips[0].BulkData.Unlock(); + CameraTexture->UpdateResource(); +} + +void ARaspberryVehicleGameMode::Tick(float DeltaSeconds) +{ + Super::Tick(DeltaSeconds); + + int32 BytesNum = 0; + TSharedRef Addr = SocketSubsystem->CreateInternetAddr(); + + bool bIsValid; + Addr->SetIp(TEXT("192.168.1.1"), bIsValid); + Addr->SetIp(*IP, bIsValid); + Addr->SetPort(6000); + + if ((FDateTime::Now() - UDPSendTime) > FTimespan::FromSeconds(0.1)) + { + uint8* MotorModeBuffer = (uint8*)&MotorMode; + + UDPBuffer[0] = MotorModeBuffer[3]; + UDPBuffer[1] = MotorModeBuffer[2]; + UDPBuffer[2] = MotorModeBuffer[1]; + UDPBuffer[3] = MotorModeBuffer[0]; + + uint8* MotorSpeedBuffer = (uint8*)&MotorSpeed; + + UDPBuffer[4] = MotorSpeedBuffer[3]; + UDPBuffer[5] = MotorSpeedBuffer[2]; + UDPBuffer[6] = MotorSpeedBuffer[1]; + UDPBuffer[7] = MotorSpeedBuffer[0]; + + UDPSocket->SendTo(UDPBuffer.GetData(), 8, BytesNum, *Addr); + + UDPSendTime = FDateTime::Now(); + } + + uint32 PendingDataSize; + while(UDPSocket->HasPendingData(PendingDataSize)) + { + UDPSocket->RecvFrom(UDPBuffer.GetData(), UDPBuffer.Num(), BytesNum, *Addr); + + if (BytesNum == 13) + { + UDPLastTime = FDateTime::Now(); + + bCLP = (bool)UDPBuffer[0]; + bNear = (bool)UDPBuffer[1]; + + bIS1 = (bool)UDPBuffer[2]; + bIS2 = (bool)UDPBuffer[3]; + bIS3 = (bool)UDPBuffer[4]; + bIS4 = (bool)UDPBuffer[5]; + bIS5 = (bool)UDPBuffer[6]; + + SpeedL = UDPBuffer[7] * 0.5; + SpeedR = UDPBuffer[8] * 0.5; + + uint8 DistanceBuffer[4]; + + DistanceBuffer[3] = UDPBuffer[9]; + DistanceBuffer[2] = UDPBuffer[10]; + DistanceBuffer[1] = UDPBuffer[11]; + DistanceBuffer[0] = UDPBuffer[12]; + + FMemory::Memcpy(&Distance, DistanceBuffer, sizeof Distance); + } + else if (BytesNum == 770) + { + int32 ChunkIndex; + uint8* ChunkIndexBuffer = (uint8*)&ChunkIndex; + + ChunkIndexBuffer[0] = UDPBuffer[1]; + ChunkIndexBuffer[1] = UDPBuffer[0]; + ChunkIndexBuffer[2] = 0; + ChunkIndexBuffer[3] = 0; + + uint8* Src = &UDPBuffer[2]; + + for (int32 PixelIndex = 0; PixelIndex < 256; ++PixelIndex) + { + CameraBuffer[(ChunkIndex * 256 + PixelIndex) * 4 + 0] = Src[PixelIndex * 3 + 0]; + CameraBuffer[(ChunkIndex * 256 + PixelIndex) * 4 + 1] = Src[PixelIndex * 3 + 1]; + CameraBuffer[(ChunkIndex * 256 + PixelIndex) * 4 + 2] = Src[PixelIndex * 3 + 2]; + CameraBuffer[(ChunkIndex * 256 + PixelIndex) * 4 + 3] = 255; + } + } + } + + void* Buffer = CameraBuffer.GetData(); + FRHITexture2D* RHICameraTexture = CameraTexture->Resource->GetTexture2DRHI(); + ENQUEUE_RENDER_COMMAND(RaspberryCameraUpdate)( + [RHICameraTexture, Buffer](FRHICommandListImmediate& RHICmdList) + { + uint32 Stride = 0; + void* Pixels = RHILockTexture2D(RHICameraTexture, 0, RLM_WriteOnly, Stride, false); + FMemory::Memcpy(Pixels, Buffer, 256 * 256 * 4); + RHIUnlockTexture2D(RHICameraTexture, 0, false); + } + ); +} + +void ARaspberryVehicleGameMode::EndPlay(const EEndPlayReason::Type EndPlayReason) +{ + SocketSubsystem->DestroySocket(UDPSocket); + + Super::EndPlay(EndPlayReason); +} diff --git a/Source/RaspberryVehicle/RaspberryVehicleGameMode.h b/Source/RaspberryVehicle/RaspberryVehicleGameMode.h new file mode 100644 index 0000000..ee4f5f5 --- /dev/null +++ b/Source/RaspberryVehicle/RaspberryVehicleGameMode.h @@ -0,0 +1,82 @@ +#pragma once + +#include "CoreMinimal.h" +#include "Misc/DateTime.h" +#include "GameFramework/GameModeBase.h" +#include "RaspberryVehicleGameMode.generated.h" + +class FSocket; +class UTexture2D; +class ISocketSubsystem; + +UCLASS(Blueprintable) +class ARaspberryVehicleGameMode : public AGameModeBase +{ + GENERATED_BODY() + +public: + + ARaspberryVehicleGameMode(const FObjectInitializer& ObjectInitializer); + + UPROPERTY(BlueprintReadWrite) + FString IP; + + UPROPERTY(BlueprintReadOnly) + FDateTime UDPLastTime; + + UPROPERTY(BlueprintReadOnly) + bool bCLP; + + UPROPERTY(BlueprintReadOnly) + bool bNear; + + UPROPERTY(BlueprintReadOnly) + bool bIS1; + + UPROPERTY(BlueprintReadOnly) + bool bIS2; + + UPROPERTY(BlueprintReadOnly) + bool bIS3; + + UPROPERTY(BlueprintReadOnly) + bool bIS4; + + UPROPERTY(BlueprintReadOnly) + bool bIS5; + + UPROPERTY(BlueprintReadOnly) + float SpeedL = 0.0f; + + UPROPERTY(BlueprintReadOnly) + float SpeedR = 0.0f; + + UPROPERTY(BlueprintReadOnly) + float Distance = 0.0f; + + UPROPERTY(BlueprintReadWrite) + int32 MotorMode = -1; + + UPROPERTY(BlueprintReadWrite) + int32 MotorSpeed = 100; + + UPROPERTY(BlueprintReadWrite) + UTexture2D* CameraTexture; + + ISocketSubsystem* SocketSubsystem; + + FSocket* UDPSocket; + + TArray UDPBuffer; + + TArray CameraBuffer; + + FDateTime UDPSendTime; + + //~ Begin AActor Interface. + virtual void BeginPlay() override; + virtual void Tick(float DeltaSeconds) override; + virtual void EndPlay(const EEndPlayReason::Type EndPlayReason) override; + //~ End AActor Interface. + +}; diff --git a/Source/RaspberryVehicleEditor.Target.cs b/Source/RaspberryVehicleEditor.Target.cs new file mode 100644 index 0000000..b29e2d5 --- /dev/null +++ b/Source/RaspberryVehicleEditor.Target.cs @@ -0,0 +1,14 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +using UnrealBuildTool; +using System.Collections.Generic; + +public class RaspberryVehicleEditorTarget : TargetRules +{ + public RaspberryVehicleEditorTarget( TargetInfo Target) : base(Target) + { + Type = TargetType.Editor; + DefaultBuildSettings = BuildSettingsVersion.V2; + ExtraModuleNames.AddRange( new string[] { "RaspberryVehicle" } ); + } +}