From 71af632d64d823fc62d8b96c0e5b3312fb3c9918 Mon Sep 17 00:00:00 2001 From: Zhao Zuohong <1040110848@qq.com> Date: Sat, 30 Oct 2021 23:20:58 +0800 Subject: [PATCH] first commit --- .gitignore | 3 + caller.py | 275 +++++++++++++++++++++ controller.html | 520 +++++++++++++++++++++++++++++++++++++++ demo.html | 114 +++++++++ images/homepage.png | Bin 0 -> 141276 bytes images/select-bg.png | Bin 0 -> 87971 bytes images/settings-bg.png | Bin 0 -> 99059 bytes images/settings-item.png | Bin 0 -> 5805 bytes images/settings-new.png | Bin 0 -> 24541 bytes index.html | 87 +++++++ launch_uwsgi.sh | 2 + old_controller.html | 272 ++++++++++++++++++++ old_worker.py | 106 ++++++++ package-lock.json | 21 ++ package.json | 7 + scheduler.py | 65 +++++ select.html | 54 ++++ settings.html | 156 ++++++++++++ test.http | 29 +++ worker.py | 253 +++++++++++++++++++ 20 files changed, 1964 insertions(+) create mode 100644 .gitignore create mode 100644 caller.py create mode 100644 controller.html create mode 100644 demo.html create mode 100644 images/homepage.png create mode 100644 images/select-bg.png create mode 100644 images/settings-bg.png create mode 100644 images/settings-item.png create mode 100644 images/settings-new.png create mode 100644 index.html create mode 100755 launch_uwsgi.sh create mode 100644 old_controller.html create mode 100644 old_worker.py create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 scheduler.py create mode 100644 select.html create mode 100644 settings.html create mode 100644 test.http create mode 100644 worker.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..64d17fb --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +__pycache__ +.vscode +node_modules \ No newline at end of file diff --git a/caller.py b/caller.py new file mode 100644 index 0000000..7e4e9dd --- /dev/null +++ b/caller.py @@ -0,0 +1,275 @@ +#!/usr/bin/env python3 +''' +用RESTful API控制电机运动 +''' +import subprocess +from flask import Flask +import RPi.GPIO as GPIO +from worker import * +from time import sleep + +APP = Flask(__name__) + + +@APP.route('/carousel/clockwise') +def carousel_clockwise(): + carousel.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/carousel/counter-clockwise') +def carousel_counter_clockwise(): + carousel.start(GPIO.LOW) + return 'Done' + + +@APP.route('/carousel/stop') +def carousel_stop(): + carousel.stop() + return 'Done' + + +@APP.route('/carousel/presets/clockwise-90') +def carousel_preset_clockwise_90(): + carousel.forward_degree(90) + return 'Done' + + +@APP.route('/carousel/presets/counter-clockwise-90') +def carousel_preset_counter_clockwise_90(): + carousel.backward_degree(90) + return 'Done' + + +@APP.route('/elevator/down') +def elevator_down(): + elevator.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/elevator/up') +def elevator_up(): + elevator.start(GPIO.LOW) + return 'Done' + + +@APP.route('/elevator/stop') +def elevator_stop(): + elevator.stop() + return 'Done' + + +@APP.route('/elevator/presets/down-2-7') +def elevator_preset_down_2_7(): + elevator.forward_degree(7200 * 2.7) + return 'Done' + + +@APP.route('/elevator/presets/up-2-7') +def elevator_preset_up_2_7(): + elevator.backward_degree(7200 * 2.7) + return 'Done' + + +@APP.route('/conveyor/output') +def conveyor_output(): + conveyor.start(GPIO.LOW) + return 'Done' + + +@APP.route('/conveyor/recycle') +def conveyor_recycle(): + conveyor.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/conveyor/stop') +def conveyor_stop(): + conveyor.stop() + return 'Done' + + +@APP.route('/conveyor/presets/output') +def conveyor_preset_output(): + conveyor.backward_degree(360 * 2) + return 'Done' + + +@APP.route('/conveyor/presets/recycle') +def conveyor_preset_recycle(): + conveyor.forward_degree(360 * 2) + return 'Done' + + +@APP.route('/watchdog/open') +def watchdog_open(): + watchdog.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/watchdog/close') +def watchdog_close(): + watchdog.start(GPIO.LOW) + return 'Done' + + +@APP.route('/watchdog/stop') +def watchdog_stop(): + watchdog.stop() + return 'Done' + + +@APP.route('/watchdog/presets/open') +def watchdog_preset_open(): + watchdog.backward_degree(360 * 2) + return 'Done' + + +@APP.route('/watchdog/presets/close') +def watchdog_preset_close(): + watchdog.forward_degree(360 * 2) + return 'Done' + + +@APP.route('/recycleh/moveout') +def recycleh_moveout(): + recycleh.start(GPIO.LOW) + return 'Done' + + +@APP.route('/recycleh/movein') +def recycleh_movein(): + recycleh.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/recycleh/stop') +def recycleh_stop(): + recycleh.stop() + return 'Done' + + +@APP.route('/recycleh/presets/moveout') +def recycleh_preset_moveout(): + recycleh.forward_degree(360 * 2) + return 'Done' + + +@APP.route('/recycleh/presets/movein') +def recycleh_preset_movein(): + recycleh.backward_degree(360 * 2) + return 'Done' + + +@APP.route('/recyclev/rise') +def recyclev_rise(): + recyclev.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/recyclev/fall') +def recyclev_fall(): + recyclev.start(GPIO.LOW) + return 'Done' + + +@APP.route('/recyclev/stop') +def recyclev_stop(): + recyclev.stop() + return 'Done' + + +@APP.route('/recyclev/presets/rise') +def recyclev_preset_rise(): + recyclev.backward_degree(360 * 2) + return 'Done' + + +@APP.route('/recyclev/presets/fall') +def recyclev_preset_fall(): + recyclev.forward_degree(360 * 2) + return 'Done' + + +@APP.route('/bag-pusher/push') +def bag_pusher_push(): + bag_pusher.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/bag-pusher/loose') +def bag_pusher_loose(): + bag_pusher.start(GPIO.LOW) + return 'Done' + + +@APP.route('/bag-pusher/stop') +def bag_pusher_stop(): + bag_pusher.stop() + return 'Done' + + +@APP.route('/bag-pusher/presets/push') +def bag_pusher_preset_push(): + bag_pusher.backward_degree(360) + return 'Done' + + +@APP.route('/bag-pusher/presets/loose') +def bag_pusher_preset_loose(): + bag_pusher.forward_degree(360) + return 'Done' + + +@APP.route('/scissors-pusher/close') +def scissors_pusher_close(): + scissors_pusher.start(GPIO.HIGH) + return 'Done' + + +@APP.route('/scissors-pusher/far') +def scissors_pusher_far(): + scissors_pusher.start(GPIO.LOW) + return 'Done' + + +@APP.route('/scissors-pusher/stop') +def scissors_pusher_stop(): + scissors_pusher.stop() + return 'Done' + + +@APP.route('/scissors-pusher/presets/close') +def scissors_pusher_preset_close(): + scissors_pusher.backward_degree(360) + return 'Done' + + +@APP.route('/scissors-pusher/presets/far') +def scissors_pusher_preset_far(): + scissors_pusher.forward_degree(360) + return 'Done' + + +@APP.route('/scissors/cut') +def scissors_cut(): + scissors.degree(150) + return 'Done' + + +@APP.route('/scissors/loose') +def scissors_loose(): + scissors.degree(10) + return 'Done' + + +@APP.route('/spigot/open') +def spigot_open(): + spigot.enable() + return 'Done' + + +@APP.route('/spigot/close') +def spigot_close(): + spigot.disable() + return 'Done' diff --git a/controller.html b/controller.html new file mode 100644 index 0000000..ff93317 --- /dev/null +++ b/controller.html @@ -0,0 +1,520 @@ + + +
+ + + + + + + + + + +名称 | +手动控制 | +预设 | +
---|---|---|
旋转木马 | ++ + + + | ++ + + | +
观光电梯 | ++ + + + | ++ + + | +
传送履带 | ++ + + + | ++ + + | +
看门狗 | ++ + + + | ++ + + | +
水平回收 | ++ + + + | ++ + + | +
垂直回收 | ++ + + + | ++ + + | +
推药袋 | ++ + + + | ++ + + | +
剪刀移动 | ++ + + + | ++ + + | +
剪切药袋 | ++ + + | ++ |
水箱 | ++ + + | ++ |
aZ7?ux7UKmYto2U%;3yUrO?_YemEo}n1`bRb(l50i#*2+ zEt<=Tu8Yc@FPG)DH6T1e#l?-z-!my^>7kBBWz-NlndQ0)AuK4@n>9+>YV34uXyc$X zd>v;sEb(9mXRKNp=^L{7rRt3^rS `Wm(K zx0Ut *Hc_LehzrlY3Dzvu`J|dFbp{rGt8!E@RV3@aXh4U!C~R2zQ5i z!OGWT*KvCLLlV~SQ(UJPCneqCPvv>0nq3H;-!DQQ*q51wHx~z u!VOM-|9^=BmUO;NiNtQ9t+WKdd!`7 3wteC34Xkfi>WbP(`%ui0tv0ur2!R1kbOalJ5Fm>} zxrlL y~9UF3k% zWzwPmP2@GAFv6VIgU=&f;OnBNpEo_n0Vo|M3YOw4z6a^SpVpGu!qN=AWZDNAP7msk zH5*)Wni<}k 7 z5@V_~&;iR3$WOxBx_&T8UPov_BxXLr$5700%Q8TXmGu`HaeCc8cT%3jWjBSNdSl?& zx{$zsZ)Sityo^x(omYf@elp#l7n48;=7)W-toQ^L+e7F1u|dio+jMClFI3vFKshdW zB;Cyg8fX^?tS%UHDj$BjP@z~cKPo1%=lE%<<~Gxc&VBt|Nv9ZRQL$EcN-sVXCGNSkQ1+|!JjzdOr$a~?yd znbd+m$?>MS_+Bx(h<3dm#kJ`~T;X6{yLWjIO$$=pUK0nXUQrWD)R>!cpw?}+SEZ$= zlzaEZGq4CV+O$29uOTL-1Gn eD|sS!bbf{nMFF655`ZrNq#RkVouq_)d0Fgy1v}9)))lk4;?dXe zRt54Q%#Xi4T;;++AgsJxNjOKA1)?H`$uC0b<(pvtxE(7j^3;shL4L+$a|^*;c&{Rt zwMX5BZkR(JB&)S 5i*I%npD ~qfl%v;y6oSyz LdZb}e_Kx{^m$LjjYRZy_B_;jZ>tFy92^=r%vc&_4PHg!=91Y~H z9byR}g$;$7KW3Fy0c0z4L66{JUYCGn8tcl(xQNSDB>7|Ytz#SgeG0C*H#Po{!_yG( zQ|4D{T)?(6QP#ABMXZ|Oh#f8xAf5V&8lL^VA!kdaN#GP5jM+HAf;u6-7gcLLQ=d6t zh+d&m7c*xfGwIO@1x#5%LM?9CZb&i%@8Lm95}-)&kQeZ$)6uWX;|Um`lCuP{z-%ec zsY!ayco??avrN=Xx4s{c>~w7zpnW!j6vG0W7J|Hng+SQiRJ5UTd3>j+?El~(L3-O!&0{ae-n_nG->CdVcd= zH5mL&cPkt_iZ)-}+e7e3AN!@N$VnL#9}B9zRgZ%Bmdf-|3mGrUji&)OeQWBRc>Z|P(*zF^6d$xF**rmUA;CA!}+O=pd4sh_{U*NLV-kHg*GPx^w_MM z8bSa4yQif9lMG;|mI2!o!?2n|G^{^lKdC>`dNR<9${ih)w&EY^NsiUj!jdcrIE`9< zH}$Ccu&NUcS%MO^Zjj_~=Z$I~;?Y33wx7B`WOn+!0>qVzesg>;tCE-z^xs%aBx7$% z!}7hbnQ#hrOu-~@e7SQ&2eNs)CMn4IKco+d`Qc*~PK_x3*wClX0F2ADS{Yn(8%I|a z4=VRjwI6Sm)ZeT|C=FsmH|!=~h_O?G{c4QfQiL{uBDZJIqZ$Sj-d$iFkBbnEh{LlV z5=vl0rzHC7>}&^p)+uf}0g$rI-_*qeJrp;&F6vGkE6i>8Ev|`O;9E^nzUZ7NOW7A0 zY^tDHiz#O=SHnvBFM2MTkhI`&g@(u3inn5LZP4Po%#l1krpEK9Kz ^5?)@SeF!^3W@qKVzQIIPxXyEL&FI3Ewv?+khjcM4PiQufIb*NQ8$~)qr2suL zxpD-x28lSLP3Hi^LS%FI$?Q-81rUCFm)WQ&VgFIVVQD3vteqJwfl5iH9S0q1x0}UH zugza_!q=ezkcaOwK!&zqC2o^CM8mB!VmJT~VV=&5yI=O2Sm+v$9_so-;y?x%R}Kw> zw#e$s0^{Uyln}0kv@}*_ VRjoBIEoqV3^(RCZ TyrvJIjN?0` zt4dNUk1r+)pEMjDkyHdY;X&g?X1{-Iy~{PHf;385P(c(jYV|rIUw+I{1Euq`cVi&v z=VP(Dy&naUs-AF_+qahN-M?2~qvK9tMP*m9+nQG}N=sRF-I*}WxVB9gmrji!1rw$! z(}J&&0l#QEZ%v58oDMcr#AC~*n9HiIi>9{Qlm0l(irkjS6RA!Cba_vRL3~TJpoTn- z3p?N$t8;4eo%JJr`J81 d8BG@>67pk$ zW2C1?(2E5(kk*`q^WW_B&=v8Q=H_c6g9+h*Vy=fxSn}EqBP-lCn+X^9v?G9Helo^E z-|pl4R2v-fn1I?4U^~)+;riAIx4$NLfN`r4U*|{>tNY*)beJun7&{WImmP=$ZVd+? zj!;6{RU?ef=P(OsY_&1tftEZ>Er< ?P%1ICTHP7janB*%RuDO#A#SD)O8 zr$!E(;Oo v^Mb|m|#2(0Ee-~mEq;J21Ed()1f-VO6)iVYt zd4F#V@)`zeosv6nhZfJ(kyu8YT?{Cd6}a4j_0qG70Hpy1+@R;~NqiOEGtce|o*xvT z1L_fgYsY8UDX~Vjh6?hi$4K7g;1s6vQk)kt_1N?41OgT`-~0_Wl&eP;O_$Tk7Ao;6 zd1k6CPg)y2t?%C3p2vftQ5*J^97Q9=0F%L`AS|n0HeUNXtFWVjh-9yls6#Fs3NvY< zYnS5I=2X7%^?z=wrvlLk$r&~8ygU#;-{!2EgRhx&tP){p<^w>145)SAVL3$s2yh=_ zCjei=3%!ROKWCDIQ0t;*6F%x!?^o^e5Mw&o-BK;w7bk6D@elK6y@`8=_;%87$X`w3 z1yd6RIoNSE#&%+oHOte99@>Gt#*Tc+leVrgeRCM|t__w*)`kJDG;Q%sPh+fDgm*15 zvLyF20%C1)z@zkeuPYFk@_Izhs<7E5Pa-D57r2Bpr!$Iyw;lW{6efuPE7w5IbLHv? zat_budx2VElU$!XTBAZ`wleED?JGP&kj*Euxcsx%S{52&shz?xkc*x@(-YiH80OQd zvd1aOzpjOTIAu4bwvtZVOcwF_1T5q+MlbRN$t<8YV4xp7MUN5;LM% zTGTEOVJ)TZx#>jQq!?Q7WE?TPyUe!0E_6W|{ 53{A`B( z8ijx5CGSI53-@FU$J;>)8^MR(uO#`me+Ub7knn^n^-!pKMT!P57jrkVM(kTLbc2sG z54?D>JVF9URrtdPQM3a_>OPvQw@4nRaO&kdNQJoO=D|*1KtBz@wrI6kPrQVA`HIlZ z5Ebum0AS$68peu#ZFvzRa3l^4#`CGci@nqiBhGZQb-(U=K!H!empN(0hH7f)i39CE z_gC4kexGU-i#}g3&CJ2V92LSm|2)cPirh0t$?`%i2o Mmf+m!H%Y_V9~?z;R6&RxuhLYel|cB9>ac^u za{%( d52-H@acYdb?a3bf;>1K|k`!qAnQehYFk|NX{v&tL$A2@qt z&gja6(mulJ^$x%}GpBuz4-ik^qKD?t<(f?Wc-r&+ASq`9Dagbu4$M5+q6zPQxi1HZ z{pKiSF0 N8GK(TYd4_V>~0E zn2aACl*5q+IT$?bCjbMj+LfI|ppHS*a!X%PgK<`E3$_Sg1s<=vl==^0f%?%p7yHBa zgNB6+2RTB+RakVX+Y2rRro*nWQ|k=8U3d%F5#~(=Q{0q5>9sG20Loo-@y(yXV!}xg z$}M@)Qy3Pg>}OKyywHi9wsrMcOG~5r=dE;BM9~07uzm!Ve(?h%6_$@P!LQ_1wWqPwzVPv&VEV2q&Dd1 z3}f&i5##9AxDj>@%cY4wo5|W3uK8R&b?bY5v#by8Zz(3hux`B6TbGAOQZc#_4A6x$ zr_H2wOkG37kAsM? k*k z@rCJkm;NZ1>Jj5ahvrTFN*6+-`KZ5c3!_ULJr0Yjvkkr+Wm&n4z4Qu@GH68v`(-@J zYeG!OK*~n2J-`sxyv%~(;8x!B@w)gPV})?r{Yz&*B|>KMh?xW+C9Fk>pzkgrVpsOe zWa@SxSd=rU6ih*qaatG-h;CFLD`CvX+G2Hw0=D^1Y7|J)fVh`VpsbRgH!6EZlttnZ zp9PMU91sos5)M}H<^;D&U}MELV+dk_4xPAcUJiSU`O`y5k I|Ud%qj zX?>D?K#3+(80@7*Tua!WKGUR8VGZ{5biReU`#88|*4?)e{}r{G@Mkn2DK^=wG}h+6;kxb(-&aTo^GcKuZ;FTva1{U&ZWqLc zx{UC8F)kG@U%Rg$nP4Ho*InM*uQu!scE@-q_~hS{A!N?=xP_zm4~J4GeD0irW!FSZ z1iuvXVfUIKz?ztSV3)Dxtx4_y83EYg0<#dHkvD%#?!(x7NrhTRjOWQ|N(Y;rP`G(D z5I#R)UIMbH+a;Uliv=m8bZ|V0EANAKIidz?U7<*~ROdv#gO*%6sY}KB=RX97KLa#i zaZeHKhXcNLm~h27gP@l@79y_=y&?h$Glk< =Is;TbxvvRtD>JHtl_+DRfZ#n11SGSAP7l4+RtkDhMQ9$N%3%Ng z;cMNrD7^buU$`IsBk59F3o>7$<8{>8`BncHS#RMN<<@Y2Uo*_WFmy^cNVf{ot#o$` zQX-%Tf{4V>T_S=Y-62vEQX`;%NJvOXgP?*)NTa?R&$*xbd4BIda6X=4u4}Ko)_1Kz zczTTJPB8GcjEIbE@5k(~X#@oS^n}df4{snmjWkYxq_UJ*yYaH3zTg@Q*#PXbAp7tE z_k9iXgBSHiqYMiwTq?!kaKR{O>*d%g{-%bv?xRFzV7en}t_vNONR7hw^TA(ZJ~|@j zVHlHYbuVpC!W23%#eCU7zt2?jSC@P_?Sv8s3ZtIsKg+^2D-l2PkX_O~t6Z=Tg>m## zi5I6L$PZQ3;=pEGc5HLKe3#EcvSL!?E&G*!b0Ke#y3%oaO#&h6<}YnOPv}XX{Dh?! zc=uDG{_1oF0fTN5UdA0-qh;n_ xVl;a~`zKAnK7kVWIN~{h- zH!SU +g`<^0x>l&?OEdIrK=q)df?%1{OUGY{^xqg)c z@@n=+I6R}EF7?^K=veujqzzOyzK7=mj(NQxK9GlcG+k^Q2Fjop22t=WPw1;LeFKMh z+$Q~2c^A>!?A=L!K3toNva_e(;Oa>MVLfWGyFaYwl_E9fTu!X69G*Nkt!rw&Yh$4| zKR$UU6KlqclZ+r%hQ_#NgO8FppTgry)BK+iFS3Q97LOl6odXO3uU36qM#5}6bclYg zE=w{q51XVej2WiBi^JU^Qt$nBeYb#+gR{bx62`Q565MIEXQl$(K@LqeX+Yk+p9*i> z0tO7{OXpYnYA$bMrOs3Pw ;zY zh3~Zx#Ez)3cE&@R|FR}KM0wYom17D|vubO4`uNBU+&=Iy; lsw~ucz zY|!Qme8PK=WZAJ!Aws~w&Lbh4yQhm<_G$rVheQT;0fNm=&H$VD%GXRvxH%c?Bxe`V z^Ref!WBuH-D8s?w z3qYkf>$T%{I|$ZRTI!x=zn#X1BcET$jI9bIErJ|gy=%(~eDEzgFejWB*HzM~3Tvz+ zQqdq3Fq!;Bso8~!gS(3`Unhk01KO%ep- XcPj8JIEF;tY0MhD?})Xg7`qa?>28hHm?D1sg;Ahyl$ptIQrB-EHhuW&k1 z^yA~Nl@0IJ`7ga{t{64gzMYECDl7U)*Y6tAv$#Fa_(DJ#9xm$bSO5LgQqyDaw3ya2 zEzwr7sJFJSaCXV?DiWCXcb)dRxwGg&wtQ+#Uo}I`BGX`f6gxIIm}BnI-P;5PM=7m# z>OB; 17w=8-y^aBV%YnVZ5c*bfc_z%VPr=S3l6~g8PS~K$v=WZXX7O= zd`kMqi}$WLE2L_3bXg_%2wMaOEmf_5ntv$yOftAe_-2)w152e9e+5Xm3vmPPtJo@+ z;qEs=vOrHPhk+3PhZ~_6JHU^U^s&>Z#eDgALo5u1@lKKYwWDb{T-L`Glb6odDt>8z zKpk3WH}3)wVB7{?#C_bM@l*XKD?VHhPNsG4bzL8nw=s?Py~61i`-8gAPe#)mKt8fy zEg#A-v2cXr;l*hdyb)JA%ey@|uQnA4HS*ygi9#ya8H1S!T&lzCF2Yj`Qe1=@KPm&; zV%EzkfxUOh6vR+G0SEJ}FT!Y@QJBWMwbB4ViM>4G0R|7?RDGVAOr%*FZ|UDZ89PLf zz^rL_wzPe>l~EXz(Z@Ar&mLy$z ECTv6SuZ0wCt%KEL%oVeDO)R }u*Yq=QstXd3P-(}Rn$f`Nq>DjDWUG7_2+Ov$G@}00TxW4>1YR~n7vmgu9d@~9 zPNm(7q@s@^kwF#kqYqL!qlF~co?6oT&uJr6>-6xc{y~cZ4z}-sh}b6Rv(fJr8?I*^ z$3UAfm*UxA0&Y<+FU`{vWd<@Jr?#I}XJ3wa{Wc;py{@uUY`(TjG~fS^-fJc&J{)Ny z`JJfuqbFJ~Q5eOqc5#sJT_|@A{Y4pCC?M1NAOoz6Xow~4`u$X^C$+V~Ih+#uEGkf; z@MG}Bjh4!MthAj6bgYFBhD25_v9JC&VP9!Eqv-A)uq%|H3z|kuu&Vu*Wg{$G;0rfa zE^2E{61(D;p4SncqG2*cw7{#d^q8<-tWbhhI12-;%JlGOz#L-;xZSzL4CSwJE-5Zj zjK@O4lySD`8kP&HNTm65=^Y)b5Gr&Hqv?LsM^0VRY;}AlB}fnOMvIT0dI?dEISF4Y z(ZC76`P84}{J!UQ?d-9VmUfM#ety>A7p)TdZMx^zLlR=}9@JA~ez7n%1;_zc84pTE zs)O9`0xTfne>8*&YSFY<`o3zO!t}6_W JZ?Y)N}>eyGj_R_ BA&SDi0-F~#gT0biP>T<7G#|z)3IF1LhRm_iB=sxDO9}8ckw#=GU&b#@Mk*tRk zeD>DLY2Ro)-OG~?$|tVF@b4LkP5`l47nJ9bb@kMafr-eEcsF}iZ)+Mn*1zW(YslMT zO%b9=nJi9acDIa!@AOk3L>Wzp)(EUFHX7IK{_r`wPxhiA< N z(g@Earh>~YyZob1yGlqm7uZ^v>U8%x5H((7?@I~w<-tp>7Fn#1eWQAG#+yov_icu} zz?0^P_CO^puvBb_kXZ)G%o z#NC-TKuAxTTDF5UKDd+S9~l9todJ3X(667rS;jzXiA@@B;<@;6>bJ^0>&3tB@=6>m z#-K1S+6~03gztCkYNaK0x-iP`J~n9Nz5SRrV1{i_2Yvy<8bFGi@C*mea(3($B Qe%@F&d+9@UUgvf1Ac^}7Ui1EG|6!^ zELn@{4~5X87GGO#mt=3z%c|i-%t&@$m0+RE=GsL`v(_$4h dU{*Av>(alc1G<%7|;DP)T@->7JmV$t1UKx@Z@2u%pt(y&e z=@#8 }xqdT8ju=+;C9&~<_)5G3kpt~S z_Y}FPGYCV1!nY%_ZTEXACWc=8I=-eqHccJm!igpO) %=U_C z3@mVbl~A1mH}o~gNjHoEUGwNBezgj;BGiBNi{@yf#wApFj$FGSc$G}Gn4)WjAN`t4 z->A={x9(Wj*+4 0O4TTnJ~4U zrQXd@1RSO-vwLYE>MVzLvX@+NBJeCA&)oEK>=QztR(>ZH{vYd~DR2gO7;gBHb{ccr zk9Ek_qo#QO4I6xlaPS$kk`S6G3ZHgZ_**d~P|Bs1LE@fX9}9o4`Xqt^clz+@>pqh( zs3i6y`j%4$TyRa4kOTWw=Of F7wjQ`Ec7jZ2R4k(@dv-IFAQA6JGV;`)a!(KIvfD?pj?* zdPOGfp0?Wy{lSok0kPB fj-I>IMO4hR(wFXyh(F8xk(kU-TG%GytrM| z;-Fzl0^z;zLVQ3qR~2574&_ dR8PK9jU1B%?T)zGD@}!0W{OI?I=lmZVHlR2@6t#X# z4H0rH<;&qsM>wDIYR%`WLaYnPv&ZHk0X5S-lgM+Zx!^4~83%Uoc?BEx@al)9;j+y_ zD9&cV?wvf{v`; Od*sx@C>lOI|%7696KRmN2oGvfT={Swoj_A5H z;hseyY#?g3U=rEJbsV@s^#TUvW%gOj8Q=vG@E%Sr+AAzXz&bP_J95Z#>L&;V)0H5* z0n17Qw8k}N1hT~!kzM$kVR#)lH 2)TAjCVv#sehU{&0oAI{IA5g`#{}tRhuOJYPq`dQ5$y|4BS;6oQjTI-3_ta zfp&WK3%0!qTbLc%{c6-=x%P}iBo*5*cq>IWw#vf&oF+s-aKl#NsstG|V!I%gEO 5|osbMuqu>NaP=XtnB*JSh1o*jbWyYOU`0>pze2tdHO@7$(w7g zca)A*^J8U~$~Mia_D%Y!Eu1csbnQ5^!!v4}u6GFMp)fJ!_YV@2;DX<3)mrFHM!sFp zfCw6DISBrItCb-H0fLN@S}@m4BPGnb=sQgjLQPgS9~NVPrSZ2OZo-%Q5YB?AX-s>$ z_`AH7qHoFQ4X=0eQ+23y*I;b uxM!{$0f2nSQCzd4m{?$K+|gfPf*hu2;XT(8O#i^ z* s78)wCWs-Fvw~2cKkB5@4SG#*Zh6~=LF=oToyQG|Gk-(eX80*9{7)85^ zsWAZ|Iu3T=-uCi52YgQIOo7vLn&;ZXac}McQrSFKckC}+WYE}Gs&uf0^CyBa6+&5} zaS?rtHWtq =Vk=uH2^01zGA{C_+Td4# zhHX6ZPJaKq`2Rzc?`ZLczGH}$yZT6`;OE#sO{(h8j-y}76ywYdN)kf28Clp|qxh+n zKv)P8cvxh~zytT&2+wGz4_Pt`b9X7LMBbSeX({b63Rx^adDhd7fAJmzk49NIsS%dh z>G`C?-U>3@^eK#dX3`cR3RC;E^3Vja{dt|@+Ypff_QBXae{LgpMNN6;JVB|Y6|oSg z+QN19B=&vtKqsQUHT?;#j3SyB=gj>RzpMkG=8+$(ABZVIST}{|MJ1|yIDLet;60b+ zrt5}S3j;aL5GJ}R&hT{L$f2*iskdlmC85*ONix7n_c%VTH!wI%v#c=g|M6+VM!3aG zJ$87KMEiy!>!p}7Q+;g0q*dcz9yz;!0w9t_zx4NSCj@SMYOucHJD)A )dHvt4`4@DGoiZJi3NihU-eIawTr6`le52=@YI7Kl&1 z!KM2DA(Hdhu%#ZU{_BK8cV{R;x$G>aK?FZ! v-jyRMWv$# 2B29Q2w`DByZE>azbM1 z-w-WEkmDji2deyn|55@2e-YQp= AK@YoGd(q)NP0Pn{W%Y+$yZ@BF;jTv_dEp2m(X zgrL(!hVlrjKGL<(H8;aws#iQp=I0KHFUBd~7-Xz}{K4X~m%AJRFD_Kbm;z^%u3+p# z0QYmIWI{Av>Jo?h9b|y>vgA^>4ZS)<#l!ez>ko#7{X5TfdepgkK#0=B*?wAO8zaU( zx=X{31&->>G6l~Tkp>j}w+iLu1mRxHEtI-+(!ra5CtJHc2{*BCu@%nVeW2LKdtlY{ zzOZOrsq8;2fYX4FQ6%u)rc%0It4%ew->-ijM7mh9um9UAZ`in*94_^0>i 1|zZ)yV-{lTvh zOR<^p`UEX 0utieHg=z7w?DgulB%|A5Nsumg>AP`O)88(p*B>p3zq zTuMlI Gw*P!x)?XEJtBR*qNYJ4Z Yp@*d2NkJN6tGAI4{>MN9f;;%aDZ $4v?hs|{Y}!wDxs!bfb_^9~e1L(mERGc5wAwgOiZe?z{~4QXWSbm}luA!$X{ zH-xCg3Fn7d0&MrZW`Uf@7#E?Y@DlD4c?Ksgpyj!CmiOrbI2Xn2T`RxHpS=x(B4c+| zVwnZM)w6LVm403qU_prXFOk#2r#^5hIYzopPg}YheArNddfR> PX0CqQ(eMSV+N~bMkq>=TD)GZ&6XD7czy-YuorP4$s8BwwvL_0srwY zsQl#CDg*o|Sk3BqeP73I3h+?0R0qc`Jb+hDdX;hne3{$3NfCG(HV?wr6k;matqA1= zblJb9(XF1Iv&x$3?fh>2$vw`iYxClUx*+B&0)T9j2jdHMSflCQ;^YrC(M`uG1+kjj z?$>aALmy19zt0%$+Ss4BKAx43Dv7_j;yt;Dc>aGtWk7S`LC`=cEsV+f`9}+0BkW7! zp^P|_k?RD6VeILOnI4!R!^QDy!x+l4VCG`Th(l$4=ngv8it2TIm1fD?Y!t`&v-vNn zEHU2sQe2k*s)ZLFu*N$`;Yat-qKJK~(aYEkN~$Iw|67c3I^8n%CqGJ{Q|}UXJ^A2) z8-%xcrXR|Ta?-(=X!(Jo*&jES)T?VNN(g!Kbi|{%H9v&3ZNGZS_MN2bp3Td^S1Y(T zkA#w3P>atBvF_=6Q?sZ=_pP%`ypi8WSQCON1;=FqE&(m7{_qirO6FPHc=#r-o5!f{ zT(8%w@GVK`Ao|$>2ey0_g|lazT!&b`M#j_FJS0hVmGTb(nBw22lT>Z6wUYd1@Eb9y z@DltJ*E`|fzk9fPY%MLdSKHY@zRZbzJ#$Hf2L(lgma5COjNnwZVEDkR!Yk*Bg8l1* zuG1m?Y8Ef;rh9v!iG7k(^+2rZ=!ecF8|ol{d)IU}%L02#846yoJ!0s8ZS5aw{RsYE zo&(;$lxg@&66s?~B9i;_--c7Zhw0~TYc<$g?g6X9!-A(!p|7+V_^v#`PJ-mEXwn-k zYWIc}LQbI$)7f}Eul>l?uP~>^ux}8lL2hHQJU S1VuU wq!>3%-zMwE#b}zz=3^elrNK854+nf1v{o~#ipY^#NaV68c z2eg~^DR7}YKP~g3UPPKzPcYBD0iM}U&ciR?{6ap;yKzl6#b)_4|1{!`=Pp+?bAR8R z{*?)tvDZ_tbu|({uwqW^oKXG)kO`}2@Xf5b9G{eUz%;B>3PJJkp9 _stF!nDY5&wxUDPWL~|(BXNa)*& Miqxz z6zo|YFJ;&wjWTEP$Gm)vLcjTQI=Sc)|7?RT96@UQP0rOjj{p5{tIFH+M%bqwudRQ# zP1pX8U!3{4Mw($K5)IvUsNRse==f%x(~>P5Dp{~Ud` =?gIJY4WWVDQ~j%+W_3H=xUYNe5qDTi*0;59AtP=V zlC46}reF)D)<}7#)5NbYC4=KuWmRSd*g$0sBlqy(x)iF=jCW04t5^R64rzfen`;Fu zm@x3Ld|IXED(Ri4s6}mGr(z p?yIOO5J?5 zLvnO`zDRwBZWYaj NI5kv&6mV$FJ@h_{)c;EH{a_YIp!9DEF%&?0+I1DvKN@Df7w4F&G=q)>iyK-uqvG5{( K%O>f4BR~hSeJ^q&a=B#kTAxnsOT4X9YyfA$w5VZNcaGWK6i4AXIwVH( z;+?X_$SRCdN90QKw`f*u{SH=_<^PcsE81QHs71YX%M(j{h(_w@{=Ln=$g-cei5REB z4 jV!ugP!I%Jm%-)t~C nf~-w)HNk_ok})NUM+v|LyXG)R3yE_)9FdQW4)_Q3;< zpbO?D6&?Zk{=7#1)WXvD-PW(aE=8vX)X9XTW4lwW0z05&!ac(Hnw+fOL bMb`h32NlhzY ur<9pKHTP}M+eIj(=S=hr!?&hbCKPEtr@KHYzl+h-| zz4KfH66q`(Y#Y=(jDTm{(qTTLs#?1LrFr6gP z#Y@ Q)|#vfka_*;6i0mb03kBk=_^|2uu zpVyC7d^q4oEkm^hZWpuCF-B2^7XU*T``-IY>R) 8?3Wz%E`EYp``SLY~{KpyH9=w9-M?ym{{BBtaSpjjEvb8NB)T6LMxsgcK zZRpnapzCBBtO?)(B*N Q^)aB$sve9~!y;6zO;KFO58%8aH y5H*`~QMP3I*z0b;)hKWkeJ!MLzYtQ(gM(`c4{SB`*s&Tx=CM)P zRG{!o;?8~d4k^r9O}6lH_FpD>aoiPnm$*-6(~_5{G2FFj@`xG)BwBsvW8U1*(-&KN zFTjG$VS&M2+Pgk>FhY$2TE;VSH|{9*+||Tkk%?+j^pj&jLBjDC2cda6xK$xknTcAD zW*1JspbRP8-f=^?818sil7vl|1%{ve6nhHS?p5IiugtNYE#Y(vBzL7?%0aKIEbgr# zzu}h@+PrZ1`v=R@+{_9T0c)iFr;{&$L6#!$efc@{dD?eEfg@8M$5)4)u+rbK5>(2E zBwX(eMyw{ytUv7-@@ieN{^q!X2E9-PkDnHSf?QiYpaj)RqzF6s=_v-E`qV0lr0e%O zY_FzZZhE9RgHLxC6rk?1DIab<~B2FW{Mfi%-rQ zkt!B(2G~K57z8rIhBHzC1(@VBe!wKRw>q?LC!N^>^GE#LttiyT+E{Am+=ikHZ9q@2 z_d@PV9!T*M1vQ^Dwf23$5z*Po`}mbcnX{6mllef{MR?wPMHHUbPZ!0>oT+!Rt@cYZ z41BnQ(FhAg*yYyhL}<;V6inazj;2K!VW(U9LlC??+Zle+sCe;7AXs&1B3O~9yy{F# z>J%{x^od*@_5`vo1&{kfl0fMR-C6&)9O!8J^v91ItnmzLe_qb1tnJ%x#ug^=>cXB- ze~XCfKE7~=hJ5J}Il=d1rg|@`*egRsuN=oL_m#z@ADAhEtkz}dZhqo+%jG)x($K>X zYJzI7X<0yF`CHyx&1*gou|( `kpj&&c zFAQacqAq~Lo~S_u6L#Hq?nvGFij`hMgIKjd!a0)MMhh+K%0B)weJ2^4D 95O^D@H~R~vY49CzOOmo e-M*KlP93#hBP&k28_fd6wGHly&@?U*n@{hh)q_*x+?Rnd9FuM)nufn!~;S{yo zwVuRV3c_KQ=$d_C(sis9LPlz%NZ?L+y~)}7W21gHkLfo2xS!JYduQhlbDP-vIf+Bs zENaYfQp(5pFh90<7c>w_!e#5kX;J !QTP!5g2Xx zc~=nushYiUX$S`w+qEmuwagxIfhXgH?N91DBH^1rAEka3=lgi|iz32PyCNd}jx6iG zbIw$3-IgL$AC!^hGL-#&eZQ`?LfFD4b+0Gv ThZM z)ljRdN^+;QBMh#6_gKLIAZZvyWouylBL88Nzs(nP21)%0bLnG7nk$XYEv52~bnBk) zg1mil>-Gx*ibk!iVjsK5iZFbJWHx)+QKxQ8w&9bDULKqv=afu&TI!@{%Z$Q|Z3HJl zK{fzjsIDr4IIZZi0|TcF*Ic<)Sm)K-!uL%F84AnQ3GNzT?Q;aOcEoSxItJAlhw&oK zKjbXnc~1f><=+m}$1z JZgTr|Vs^UatBgnT}0%*$`V8lMf6e0zlib*I^ z+YqE(%`DO}Cb76}^$x~u&QLZo7&HuG)xYAx&uhF7p4C{uw3j@|z2YTJJT(B=kC^cL zf8K{w-~7uat0Q5uOokd!h-Ls&%8%W)@j*@!R;fEyg@(SS?^r1l$x@+W;!yc3G3L*r zUraL*Y!mwGUVt~3bN-^nkUeMiuC<)7FyKmxdKu>Rr1^{`CtR5W?#HspQUKK-VI`JL zZz@#z8Jy}$h9&y;Kg(LlDFb^paS+c&)D>LH6MD$$qVKnNUQj11{K$A=#fYX#Wxj68 zE^C8Qpj21SLj`iXYhixuZY&g_6G!?Z9Ijm&0A7dcTw^RW3TVpb1Tc4Ng_>ibWR<|F zWg< ^C zWlaRK01WHy7rd+pdouj>9)Od3mWkD~Zrln~3?Jvf2LJrhd!GFLq+E8XdvHgW?7ipV z+;8ezW~(59b5@VB6#GROe LyMINwL@6rXSREQwH<*mt_OrkSY_HBPVs3aRU8 zQE>C6cpFTClgGnYg+m>dFE)O vIO4mcJo>z+ z;zEHVSmJv7%8w6MjfH%(6&BnMUc>v%TEiPI-ua+%dX5tjw#Xp1_x2blaqRjRAM>lY zi^f7v2 |H zZJ)|UdnA&s)a787S5^ex90eClR0qK1YwLFlRZ0&5@rSegQq)qiye~@ga4hLpw=XSC zDFKnb8*V_s6k3a`lmb%^qVw*79GBX!3>}Ul>5o;TnS~-Os2(o2_jrU|@~ZuXdOz z@Oj|#sSF+)Bk-DHk+0SWpUk}extt(P9lw)ubv&B5#R}$DOjVrSt)hV5chko*=RTIx zy=C-a)f-%tiJO7tSZ@Y!0Hx>|9Pgl&Y*QW}A$HdOL6RNd&=pR4 N)zh2i@5WC4XdKg%Zc*QIO?ogA zLXFWjdwRcKWGqp%p#w1dKvdufb6|_ZZXae5a5Iep#<2kUq@`g9hp1UaHu!LjZj%5a zQqJvNq0eU;0$DfLck&WQLIL4~M?84U#Fz*r#&{rM))|C1ZirYYMr=o!ph7@*E%$kP z?|mh7O)&~%3CK4hXqz75KxSMKj#j>3)h*%T6Yh~?9nw}ryFJH4(lLyFm)^b2{#MsM zIrNxc0Vdx7l{I}^!ZJDOm4hyIlPFw@U0U`|`xT@)BRpd!%b%6`Cxx4kJp{R*mz}nz z!MQ!GkaD{pXLKh(k?nqGd^G1QZ)O+c7jtHf$sbG#`eL1_cwq6Wp6~1tYOx_&uIv=( zeU`7MJO{6(7QQ@SMvI (X~K?z|EX6K+5k%@@7-D?u8XJGVs0^~xoX^mE v77xkN!(2s|#Q2Sd5AmL{8~2H!xn7;s>;v3IQzmxl$Zhcsmi*gyDli zpW5=zUV#};W5-9TBjB1k=QSP!bvM$D=ET@T{+Nq*%m2y0+zQx#K@D(snkVOxdw! zwv)vW<9>E13mv=9$n_LMH5l!K`v@2I=(@h8zW+rh&u53V9BUjEm;b_5UVvHGUJyFR zlNTF3g#vyKd9Wfgn&$xC>}@oEy5cj^r5)@f;1=|*S6qS&y=Z*DI9(r`=4K~j+Jgpj zA~oRu>t8S#>>ql3zppX5|J8h>QZTu)jEX4P|31GACkAWeNkOI%0auv3x+(2DY8ptq zG@B!he^{?kdgXD18yoiiaS|7Ds$KS!y=jSr0{3E>wQlA(|Kv)A@!7&_#%}jDCKxfO zK)0OHAVldYzKvqMZrc36T(W4(XNq$!*&z(Cv4Fk@05J-mBQL-p1J@mTp``&stXys@ zgv@xl$QnZa7#O?-kbs^>p{y?wT_cS40@Xgi?|G=}R`|((8 Gy&uzPF%5&vzeZjU+->Q#poZS8YBokB&acZI`b~0 zs&ELr-C@PSLU2D*Wf$zNtPRe8N=_qNt$3dkJ4v%(qwJF!w+3cd|M0xy2K{O vZMLmLyEH%4nD$zoda# zud41CV)vWbtc4Y0C$iKa1(KOTdzKn|;#G27#sAtv)M2+xEqa=#yQu+HrfM1DD>ni< zc|8W>nx}jv>jNm@6n7xJF+aZNIwcG*&NFl*8II0~E&^KnMnN3ad_ z_7E5cYALcTPw?JZEbl%H=fgRlT$PDPgGGAL^Ea0k!(p>DA#RrxKP+nT;SicKBJe3< zM+HWWlUMkPW@U2Rx#!KM4WieTBkXss+tq ncV{u+ P{NPTq4XH)xJqoya zi|g7Lf;Sg*wWmT2d2!+cRz!Uvoeqwd!+EWd9T9R57*?K*)Z!)U6J{rkoW=8(+cCk~ zm^+v)H(tVERk~kXov#zYrA+rLGf2|xQXz!rSr~MQlxK3^(pAVx$;lpFBg?h;JK%Pg z7lIF0rWkHb3fqK3&my6 jUE7&JUB4C5!1Jh zQTPKE!G>Q?-KwMxxeK}=ZE3=E&z>+>zfH!VFgkG8pSG)vMHSmD;8_El=xU*DYnoO% z*QMu**KyzrA#Z>7DYrx{`1QXt%`ytjU|e&w$9%C>aF7DGQ{+Z9mwp*+S)tp*!=fei z;s(%Yb}X|l`|fot$u)8dKad7@F2w$$84mNHhmXbXB%R~OQ4ZmSWHmdVuIU5@Q_@X# z13htP`>xqh8t(IuSy1`z&S4cnqYr^k_#yH%Fok9fIPmHp+L)*zat+R9kh_2`6G%L4 zaaGJxUMsG&8q1vu0?du|WmPM^;j($*S|dNj%NQQ%c}49r>b8FmhW6_i7juhJ9ThTt z_v}Dj+TEeAWr;~RJzX8TQyPXXKWY&`9eu7)3RI2NhFu<(d_lBZdm|IAQ8Hqmq+m|f z%y5Zi`|lj{$6a$hm~X&thCT!D1FygvR2{MKDtn)c)!eAX%}anC1y3N#fRHZYyv{U* zq6c53$9iZsqzNUgs-+*~Qp3Fjr#%t^nvv3C$)}wg`XH2$@Yh8iXq#$rS!{KjBKcjo z2{Rd%_s!I)vXy;XSs?88?~n1NJ|p?dPi9Io0&Ktv6b1oa9fDqa^wzJh&TdZqX13rO zch}+-$0x(;BytTt4tj;#QMSu_n<1wHN=y1{imIH`L6ii-PfBLm=$X?AMZ<6YdK>xI z&p^YaQVF}bj1iaoqBpy4kf&A&>dX$2qd?VFxr}L2kn1K4paHJS7z40fH<{!{_ IJL&Hgs|CRwydgq^T`I*r!6OWu>Ak90Cuv?H$?%E&- #e`=&{I3F zKsB&w$f^nvMM$z^Q!1arH?LX*LI}~9SN0=KivT@@7Ijo0If|zH+jOFt`|vSmDe|tn z{rducI!1V|g&!E77Fh`SRDvG-(c=^)tvE#;1X>-IJuKsamTbD!u+Cc&5QF#E@bC}Q zlLR$)g#sIhVVkl{N3#)+M>8H&uDsH8`|bo5Ww|W~=HL?Vlb|6HEd;F1A=|AOIu)D_ zzHnEOLP~t2YXfXWUNJFib%nF2LIiv`{DLhFFajFnnGvW%&4;7j7#Iq2V8_06C1J _qB>JA(*-=7bBIxXGVvFj0k#>57c5H%=h`;Xa&qv^4u zjcbSMV?k3_q{a7k@9X?sSEgc~xXG=}3w9$1WXrU=)w9y!#Dn&l{a{>Kppz2j{;LA; z-q)^5r!og15!=4Ps3Q|zTy=r2BzGdUv9CG~y6&f_lyd|IT1bu5|E3-@eP8gnl@9!i zM&RfgQ*faESt^8NtPdB^UVz~fYcb@WyExgDO7<*DOC9p=KEgXkeB6KAai(`(fVEAd zg`;@vEeE`72J`3rMhOi0aA#388fFU=itj^-BD^ A|>Az`qbOD03H|kY9}f z;{#O_ky1j#Z@e}%it6A11({)zDgVhy V zy61m)lxb8_jw5?*?KwHIKeqZnEg*Km5`^fpx6t3K3p8&o?MD#yJU^EZanJgDN%Aw> zbfblbqF;N8QsPuF3-8ErnZq5Vuz;RZe+t}se`y>&)Bx&Tp}xBMUlO@B_bLIC){Ha9 zr1Hk{$+&H+lh7DEk|wRJ%B^rutfR)rw$?IIM%nzY0p*QmcwQTC$i^Dq-fw%trG0xE z5bG0osveQVPd$05V5s|83tk^c&Gkc}guEC)L>$;($lce@RCX6c@jF)fz$DZuVN&^Q z0cx>b_ui2NKcHi7Odd8hlBttJ$&!?|1hDrz6C?yrJl#JDCW(F*?4*XxD#B>_TK<$` zJ!;Uf_$!py@22|u4IJ3G)xrzVNd0pgVMSJmZK~_e4EiT%biiN%U*ye5Y$)J
OxhsSP&DaIS3dOdp6-p*M5$UN5%{G!N&W9A6+r7uyR zZY7bh9PHW9ErOhn5rQZ+SM3nnF=3tiKz*NG=IYz${KB+<#UlNeZ1Fg#MdOZZ>9v~f zgSujlcuT%VEr5=(P8nD4{;A4zI`(V$>pEH`xcha;I~NDuOPB`TCR&(atRphL=nMfq zpug27OT7={)i+kUt>1h&Sb1k6Dss!KJh|lcFa%K-U!{cx0c^%AF&g)^_Ttw(0g3RS ztIl8k4k*ul)CK*)2P4RV{5r8iFdkLp@#Y qTL94D93GrGR3WrS(hBHw&+xXfN* z(La2{%b9MmHCe~W%mWv$Y);-(rRD#lLRb%XQd<6)YAU(oi-{p1bcFD56c-v)xZ7gk zor=TwmA1n$rhxX4vJxarJ0a}pNrmE!&L_`;V;G#ppAs&0S*lIPdvB81GPxlREz209 zQf@ZX0zrU?e(*-0$&G8Z#6|AWq&NK75J1Q|qw}Fw2~0E(R(M&@E*sbKQX0tp9|&2S z9A{*s8?KqsObqUfWxc*pE&&8ZcM#|^?oNDa*E`oVrvYuR_hluLVu{)SyEDLsl_PMN zH;pNuVQH<7hgXfP_y;v-5 J@ zaOVXhEKEs!`Nccdqq~w1&7Sark;8j$Kr5_D+d2B&JBs8;3`JoCX}{cjn>@U*+!#8p zCyDHRF*Y@&Nr4Ocu(9$VI|3xFS=S3eW&x0jjtK$|Y}7-H+aTq9ovF@Wd0}ngj0ZOt zK)fyW8fJRBXlX0H(%%Bs2j%DqXQ$p*LTf-0fE;P1TMB8;4EJ04PQL2hee0Mv*R89^ z@Mjrg%pd-gYlZG9dJ<>NcpKnG7Y}#u5>(e|&6?qg1Z3Y+7!NXov&^WPMjaZ%N5H?+ zP%XXcKq1X7Ndmvd*>%2DvKbrF?Y$Zo^91VfcirhqDJM>;R)k#K@r>sHlKS6r(?!Ci zU!d9q5- _#6R3_V!H-bs*NU< 8HkYWDTd);a|yOz6WrjTaDaj)R@!@*__gHgxrwg&JN|> z(JRGN(pFckCUuGncXOgNoMz1X9J}$j{JxCfA4J2llN6M!gsMBn!m=^crxL!r)F%pL zZM8!%FqbS^#(M>;5LdH}_b9D6&Wd%X<~3n<0Yt^UVG8DP@74IpT~-hlX&AZ;wE>l> z<#(5K(Z3$;+Q(bgem#tgC1c5gjxa`8 9*Ra}1Aq!D?$iq-tX_6sCnAh}t$+qUG389-=5J}ACOf*@vC71ysb za37S GwZ5h@2hq$YdVQtke+ zQWN>Vxa6n)|4NK$oETM^!^2W?+%1D*)Z$wYGxLrJDCfd_s6}BP*Bx<)?O@@P^d3#x z)_Cpw@&Xh1r~$YuTNz54>A$T~MH5f040&UW5Y+re4!Y6nfK1+fxSoi1&lf%)W2pjT zEHOoHcfz1~T^Nk&X2mb=I|AcieKwMN2pO^a*jTw1H%yr!&Q#g`x!qR|NAu7wiQ3Bm zD;MD2@pp&i$hg%3uqT~4h0q50X(1-$R8zfP{wYuxW`liycMq|@H6o{IwZNW!sRy3q zLnFKU|3#Clnc469wb1o!*`@b*Y~#VFvd1WJ6Q}0s&F=<9yb{9sqQT~>hy>-ygFdV7 z+f*#Apil&yOd@2)hR`mJ)4}I*PQii6?%#JoamTw$iyGrk-uVPCmR4vehP5AWX%4W- zpgHHml4KJh2;MvMsw Et-18Hqsj;4typezl z@7aSiju)v1@&9)zd1zhj^H?Pvw93R_Dcf<;04t>Lb}KWG1YMIjv-04l0YbDlUd2X1 zU2o>*3p`QmP}1c#u;KWiUR+C|y}|4nY0_wJ2}D)>qek?*D%8{>e^qy`SNum|Sg6Gx zP+I+!_<-0MBb#>MC o%6-y?3-nZ(4J|!<&Dc3leld&ee6Ug6+hh1aGa#_6$?z3Dwb+dB>#u} zrH3ff-k x_PMty2Lyxn*y0@8h6 zyeoniSfY%A1xVG^)mJ4nyn$J3pT9MJXQVaefM=c@2)=iEY;d|*bOSH0A*Z0+Mh)Sa zQE480)beZFS8M&fSj00zXe!VrQuad8G *qOYb;oa@X>i2h>*ATiWbqn^p`?{Xy7!)AUJi$oqzQ1=lOq zcq@>X-PHa##BBE6^TYqg)?0@~)voQsYet3`q*DY$LOP^DKpF(38-)P`q(P*lhE^IR zB_x!Np^+R~LP5GjlrE7{!uW1{_I~$%fA4o3{_Qa?*L|<^I XA#m;&CUC)xN0F7M2p2l=)BDUxMURsKnJ{U=fn-I e}OOXC`^i_T} zJ# LSYee;r# ztpZ%xE3QG!sxO&((GG7Cr!s=j8?^h3f4`<~t_3rEvLtoy #zcsVs} zfpysiiJ`v2e;r-zc2AY|@*AA7p3u`f*D3m~SkNM35^AtQ#fbOWpC~CWw2y`P*|f%7 zM;iwgTCg=6JVLwTKhaQwesBu@lGrLF15A3enz+CDBmlHf)|LMF zB97z#N|9@)Z`{O|hVEP=yv<}{0# LmUU$7UAk0Y(h4K#Mk1lYeIbY?EfD<@(vdS z4Of=2pwl+b^pFBgzpSTz1h }LOdH1Bn`D>(% zRq*+hXe5p+g5CwWmTu;Mi`GR4|LRrZ(N(8{pPYXWuXHa|h efYO{;r$y*)G|3? zsc5+84y-C<$P>`10qYG{U?fUyIUySilrX2l0`4X?QtUf&HzGU%cFDJu7o`jBH~b$` zqJH!#2#}k0p2sCG-p&Ki9!vQ!Hv3l}hyjjf{dRxq<<$7ert!sYFYtwp*0})=Ci2pZ zBBb|9 Uof#Y2oR-0d2&N%A7h54#Ncdt=8| p>a`k42V -?7)iVLQ9`#rN2Oa!B30 zJE#?Jx9*?l Y(o7|#3Usvy41>d8DZqB35O04weaU=Y zl~f8mUmOB$xgUNY+PR8?ZA1bCIK6fD&NgaVxbXtpav(~V67^61(6bN*VjEs%m}ny# zIVI|0ENulWnfCEPXYgfuYWohlx*b}$&nK|FEV&HxKN_Lm^T%B~uc|tYe|vp>lnETm zrlyT6#pyZ%@kB&~jOndz$TdN7BK}qXNf7z%&paV;?po1&DwIp8(H#Hg=c!MQhB@5L z`8=cMb4S@T_|B)k*u}nk)9zcE7w<)Q?QaTAnC)Jv9{e`ICc$ l8&OG #x)N`7R>5=STU|nt9Ayy{nob>xk2 ! zqN|A=JNuuw#0|i=s|>;gf_5nytxpufIBvhYpUS)nvJT`S_;B2ol{C@@gdr6!bW*Yp zaNGpv&ht35h?#{`>Wmy;W+?2-_aFwx-}Rmzbn0<5U)-tGInOu hALA!*Sf>2&sl$*eZvWZ0%bU|5+#7h**hWrLX})5 zFpZw>_mlw4uk<~Ww`^dEevjxCeM+ILqVUxS14Im@>8ms5@TIPVZch;Ck?B+t@_r|+ z^t<_V$6dB^6J@LpXFY$A9ACn$A2ph)3ZXaZ@)u%+20)O`J%A`CXD0LL5=cE{N@hXd zL@yZ@aSex*B>q0o3elC-WwGpJjVbmg{?!WI;=~$)>{bq}dBUai7DM%ol_sU2Ul9B@ zUh^?Y2YJsSRUtHl4j8RwzonhiP}C#hu}c0pZz1wig0-crQlj5$pwxM`7W;S>L+!wU z6{UdfY$P%X*4FLVQ{9Y!Kwl%y=J{_*6h?+7a|r0dPFCZ;f+9As;q#1`=GW#Jci=N> zm<@;eq>KhKR|^RZc^uhCOetP=T7ctks$>Ahv*=bzl=SWeWjmhx5g9H`HR1`uE+a)j zdLe~V9g5B4p@{DxK1>PtnTF0J(|GTzJ@Jc4x>NZ 69g4L>O?$cy{p*t Td c_^1Ucc;;0(N& z)wN#g@p9Qp3p>&AB8Sfej>$r|uWH7PU-l`FBHmHG6LlRek#*Sbc|yN8&4RYS(QSKp z!cujusu1!6u|HMy)>Gc=jTw$mQYsre-*&6vk5wFPAw0R&CJxG#j2!`1L MY5pH~Q~Q@m3b>-(Y0S5;{!KQ@Of)oWo8E+!Ute}=JZ}y$5LkXk(K*66nTxxY zc_oXF%i=_PV&06h?fGkb=h&@No(x!?$|wHDlmd!dLk_Fy{St`uDuQd$lqe+Jcp2`I zWkg}fPXo+8p)Jp#De5~*E#=TmY7O)m&?V;5C65_jJfqI}0@P&?f5js5=AMHeYxEKhJYC^Zv>i}M zT<*zPKVp3)I9V|lK}CsLsQ ( z6F8lYcpjlm9nA|;o?IiXHhh$h1D_G=n7~MqfAQ^)QUzdQq>2t rJ>% z3n_lni2hRAi-a?LPtV1Fl99cr+>gzUEv5831{Z?MESF)Tsk({s@pTXzB`UA>Z6x%2 zm?7y$6%YwINpjwY#s7(}{Be zP~YSeJwQ62n-ajz`0%d``N21@0no*is(KwQ zVtezEy57{>UhNqxj=*~?)opXt!+~;H$j^_a5MnX;8o29-Euyz7+MP-E&2RX};-rY< zR+GIj&UpAwk<$%siM@x$Ag<-RE}CIPcsfS{WcSPclvHb)hrc{Y{ANCWnIPfSc{mIz z`^CJy-vk(7p+IsPJ_Z$NK9Ky*EwF0;$Kd246A4tvt9=>s KNnJ>&uNpK#ofIp?*<%-6BN>ZZa&y-kMV((li zkcp>`w=J|cymo>I1%3emazJaUO1x_x5NPJxZG8;Lhavaw@Z4MkA6j!Bb8EbUH-aOt zpq7$QukKPlMd*AYK;FXFK@=>1 `bT#h1ucFM3;@vsDInLzt-M1F!U{r*Ot9M)eqp!tKc7FDJ#To |GH!uM|&L2;$J?ICYU(3KOX=k(WczKyXs-bBne=f(VS8%n`Q6~|xb zj;q$q{kIpdS;)gu4;L|&UV0{c5#&gL-9}+}dUb!)bk5S`2jGYceJc-HNN&z;mllQp zOK|)*RA^UxD#ubz?~V~Y*?_z)VX`&5vw@^ONIxzh{L^&V>yKzVB}hNsJK?}id~So_ zJ`TJ`OlS)wNwb&tWc2?i_bM)M_cM1#hX4N|h8!XNBtCm-54o ck?=g{v3EmO8u1eF!N-!tg#wAn0_VYE=O#}(`ZxhqQh(Kf0pyW%PW2$^uGsoMC zP-1|wUYRzbyXxf2pU$sON&ZbRT+66+);qI%rB_+1ZfKNr$>&Eo>B98}fVj*ViX4S6 zndpH{PXf&_Lowv5uKF+R;PTNy`=Wp03u{>=dnx;}wXc5AodateGAxsK`U_M)P#fRO z1Ubk+1ufmcA;x0Dn2F&!rGf2`-e!;gcn2TF_XL;AmUT|_jE s)HqUVV7qtPjIaBFpr`yvbZBF2zx#V>OM zQgnsEXa2GgpiCp3t=MWyX0~f%XZw;_3y>Tn&R>%#TT6DO8^C+x^56^}HrPSVn%f3~ zkZ~zq3f1RcAPB!;vbk1!(77-*ad{*e*);aYfFQzo-WCKk$hCwUeu zBeuc|KB_Odv?%Zhy^vp*i-vDg68=V2S~BY?8Oyh >&gNg$I*4B5Z603aK=!-Z>V$n7Zy1No8_C*O(2RdW&o9D&^01H+HM z(auYY%l}j{EL?`r%vZ{Yv$UM>gL;0b5W_U?KELew3UCzvtB!#qslOWpPN}1IuRKNe zkYW!}KS&Yjy?9yP7bd4Sepiu1Gx2L#tPHm ^o!? xDI7rVK6*DYjW(0FI2GV<^N@9yN$Pi9@9bL{JFE_WeK=(a=##)_VJoV&W$GLhVuNs!N_da-;BkKe)h?WqPqJ< zK<$pa$7^}x!{8b_wCc@AuYAgFf=?e)U}C} +hwm$%%81bv586 zGkRHOPuSU^P5PU0+Lh{|OLYG>I63+K#Gzm23rb5DqtL)nubsLa0{#9_aP7~0Y23I{ z@5rk@u&8W0cL_q)BZ{tqnvg4O4v2h8u^_sdN1Uh5gOrZErR;U$Hkq3zA3{MS3tg}z z2|j8FuE^r{z7SH#`3WlJs^)h$W^_Jph+RkD4!O#= @; f(=4r_qIYLE> xz@x_bJ)fve|L4_0z*K;cKpTRHtw9HQ&fYOD6hwTD?Qw_yW*p4$NWB%EC0G^^y z1WddCD3LvM94+s7LKpGK4~A0ce%&DL$^mJBhfd@>KF_jfZh 7)K58{xo*%7}>J^Ta$_e z=1S>%G0^*TE$p%N_b(QZ>`R!oCal5x3T|s)qi4>e0ZQ_F9~r;>g%)#b+2r4`H?GAr zmGLUVsNbAQEiuE5B{#e}e6_o-OT&_VBdjh=PIqV_%p8A>OwDnf@!Y_R=6c1E&9KcM z3YLT)Ncp~-H;NW4gLWs|ZQQBwm(>c%nX}e8qg^pJthD+GJ4eoh|4WYiLjn4OfR1P( z+chb;@^j5y`PF?v`CHv)lN?_UdSQ^ks(}AfcQYD|iQsoI`YjPLDf)y0{|7sdB=Bxj z$Rk%mmf3z!0i(<;Xcu__?1$EYiQMv8KlE@g&*2&)*ce+Z9d|^J+%g;M>zm2yxpmGS zAW Va0yV6!C}Zb1$MJ#y;Pav%9~p+nVA{0`TI!=N@$ zUi4+=+6K1)CF*AvcUU9xsT-M&5e)9*VKnDrQV-gk+I_V(G|kO-5Y_`ApW}UWuZ`#< z*$*norIiamfm|R{@}XGy7En<#j=2G$}k)MC6AII4O3G+5K$!C9DOcv9$TZQ_=rP zNmeDcRHl9yxr7^i(YLVkMsS-|Y{@g&Rqc}h9_o}Cg5>Dh ilSz{@YoK!Qn zRzVG&>u$mDK=554A6AUE2|1Db_@XTuLj(gEXW76N6+0vkjZ_6i*<}b-O~9cL{H0O+ z|CS?D$oTEWPs zwyy?VE!na6MF;5QL(eb31 )eeJ_DBe0!1jk1Bu9$bj_fUYz5#0z6{Q3<_y+%VUMknCN?;-qF!AN z(;ypgjyCHYlMSzo&dXT&!Ha_-fbba a9avvv!uxP0|BdVMTeGn=9`L;zDk%soG5R&RJYn5Y zty900{%^_gd@!V3$lt>ubVnke>4QH2P(DG}+rNx&Y@W@8YpL?Fnm2|-(Ha#_=7Ic| z8qJSa;OQc5SsMFGSMbKhmO)h!rJ42!K1(^_*Qz3N53*G;oLSLO)a{4mF)LEB?wT7j zFdr@itq*_;G<47{rXN^>W+`}+0bvId+^60h|8EBJy_rH_h^{v0u2_W~O9R7FB+kOi zk-N_ Q{Qcx7hR{ZQOil9AMu^?W0o-EaTaPoz2 zE3!rQ=D7l> ?u)oym{1F7WMSlyVGFV zLJ9lHq{xP%Bz ZQb! z%t(QPb)5289{9}u1xy$Qe`?#@2IqiByJh!CPqQ-de~i#(p9ZFFE-XtZUnM}~|Mfu= zxrp8ZBX`VhJsYJ&7#{Y9iY|~q%a|AMevWQ&cBt4ip&vqX(>;C2YW7s^+i37JM2(P~ z%@@2p92x6wGHmsN_ ot8GaOIr1^X47T;i3h+ zC}}_4z;Po8-8p;iM5#e-QRvuON*_UT)8#8XiYPba`XfBQ@4bk`J#N9T2cO=#Brf~d z%R?+iAQJMg97u1Zu;_c?;%JmG{|!}G#7>b;KY2zL$UFY|lL8oFi2^>)bfpKdp`7sj zZ9m`qzV@g3$M?=NUIX7H(*R !_ISM=b;DAHIqNjfE_LGeHV{lv?Nj4Sy!=!A(M z !jbF$NR;>y`00GUti-F+ge`MpZQLO);z(>*i^lf9e+yjG7ZYxT57C^ zi-(*G!er;YjL{;U8&jPRw|7JKzjR3=QTxlejte*OBT7)K#o4k48V1G+Z3N9!T>@|5 z>E6n??0ED0!K9tj2#5>0bexNsvw6sYuHJ8{M$FidmEBLpJqdx&NUIkBdn|0h4wkA7 zP4i%p$7x}cu3_1)u3zKl+#c|eO&8jD{Z%oL^FYqGP^lp)l4!58SU$0?(|OsAx#`q$ zk`Z>YU6Y8I*(HWtWMP3@XW#pp-Vky(QZ3O;WegdWYrCvAu=xjiemHwNQ^c};eP5{B zb5q>W1Z^;lQ(Te>o4<4-8E^2}P!B3 IX;^i$dhA9_p9naRm3|g9dcm zTrm_OrF< 3$u82P0oJYuKJ~yVRusiHA o8At%}-o%ZTe zvECiz8W$ 5LGm?4O4TXaUElIWk~ z-ZPsoq~XH!V~(k?85Q6GJHe)kp*1AbT0oS^Y!j5-xs=mFDrC@Y~N07c-XOXBY z)r^m>Be`g~bT`jttFAV*FPYv)jH_2{T9WrNh)6lz(5JvWEA2{BP-&L7oh0&dmBp#) zk~3u|t%f&w OdCGK|!Hh zyTVydNLII1>(#&AdPj NSd2g-poqlkmplf~DQA9UH1B)JBnu=wU8lv%2S1xE*>Pq59glX{JE zPjBn%L)L-$mfq4_YtCc5F{e1HYyN_Sn5mcwo7?U~v;icDZw@f@$NXKd0>}l^_ZjwU zy8tqbVxv?Gc_b)xmuSouR+#Q?ur9Z`)Zz5ysVmUgq=ZwWdP+Wz4;<=LLw?$0>E2#9 zO+FMePCsTz>#Y*v#r_=Op6)h;?1GlGR7&>NR45-1-Ckhq$3O~iqYNC<+Y_=9xzHw7 zUz8C7@r0C-H!l~29))ykBLsrrWVly{KO`qF0$$C{Z0b+k_`2&GM7q$8`gbxjA#4%L z?}w$de>Qv;oyf(6J!!90?AWAN@$k|4tV65~sV@^z#qg=E)BF}xj41q0_k`w6J%W}q zj%~TG^aWx@61n7K7icu82VIgYgO=ofnXtGTJ7jNZ^jC$m+e}FMj@hbflvi=0uP8WC z)9F^^7P)AYNn4>_pHFn5OA+bli2;pG6q{`^d2o4OD5-NKVup66xh%Hw&*XROcQNqv zD0BW^__w+H;f78bePPmG$2Fh}%MR)@1a&h}RGMw=2xH5xO;%R(eZ~`0YSbOXH;yjr zNw|g)OzPo~89J7Bx)zDTJr1Fe<2PXmgjb?qH{?f>LO@-DGw0p+_0V%3nF+hrt!Me$ zX`JY1I_E(XuechZ?o|4qyD%Q;+q=qv^lRSnv5~ampH0AzW2D4RPs7U(CGCfg1zP!h zyLsaRdhR!7y*mEEi7tbqQ%Sm?>)vrmeX+q))a&NPbG;E#_t%+8O1*UEK72Hm^vc3r zaW+Ohvz%DJroc+M2O)6Z-ng73AO1L9jn_Jnp}%Z&%n)lQkpgRnH@$=N+-)s+cj?R3 zehu01U81*F5VekV#@Ae~d>`(;iX%dZ*?Eg3_!3x)FqWE96A~r)>NwiG2tx;(9u2!# z1a`fPYkuQ=1tOx*Ic=$%?EN8f-;ymafa`fvPB91i&9xdTZ24xj0<8SdU+1y#m!hA} z$K =%FH)GeOp#7Vd1f$+0dLF%d`Iqk zW&j5|J9xd%6kS138vFb1{)l>LrlbgBK)~BiFTD>}Uv76R^#Q}^%dLKsA$WNy&$u=; zz9ja&nFBpOPfCcnT<+8WJ^!=Se`&GGkIMJ+)8A9(m2be$uyI6EVrjb{HXw`-v_u4T zxuizRY9dy*_jVcnLXfWS_p4LrrTU2*M{g^Nn4%ewOO|iz>+TbrojF@O)?4a*NLX_- zy-J1Uw$8smAQ~n*u!ZmSeNqPfy(`2`A&41m1m@izH-pw}aI(&iWe5dKz42!saV}R% z!}eR@#*SESZgj!Wg9p*of=+hvOa>5p6|c89xp0=0dX7`K0c7_l?7ppWxm;S&{!>KH zo6o5)EJPk?5QAG8T)BAhV&DLrK)Jneryt^e#bkT$d9hRa5J@$p7h5H+XZS^HK;O(p zl$slTN3eUH2Rle`u1my0fBx!GXcQtNY`W%07=tPLGbX#A;Q@GeS0bHAP!c*tIxwdP z8yIv&8KE42q&xCB>Y>Fan|+RmIctr2T%9xo?cugkt9iA}dVOuUV<8lGD74QGeu)DN znulxD2J8mTM<@%|^m*HdzZZ}Rd{|X5VgL B-(h>DAk8Ocf7= ztGVOoC8<#vcPpXAk>b9Ssi!8>w+n}e9m>z*{Rstv;l?sG4MHJJNYsM^Ey}1L*2(Oh z?Qvv6aoY5hI+V3GRVqaZiMnp)=~X@^iJ}Mrym6shycV!~Ti55h2eMgYM*9l=3?ZR& zz9Qy#yE+iJ##f##QSV3?HHue-@lR324B9Zr-f`W=V0C?W+>b*OhA9hn9WuQ6XkPtl z|A6oY@-=cveX&G^1Fd&mPIzp>RJ;n(+)XurXc!&6J#8A`=@Rm}Oi?Ht+VnEn84HmY zd64q{C^r{0{{Ys<)fetep`!zhI=~8Zsy~khetqEb;Vx#u76#p8XA#JNpL}^zXGz0R z&W+A6JbZmqxfo)^58^(b{$~Aa?yPGzrx<-UZ_A5t^W`K$!A7r{BNWnrkWf>r_WJ7RuRY2F~{9|OOvdoLc6>ar394N$ nqqO;s0O{Zm zb>xo2W-*3-mej;086+pFW j0_lBs#f%b%tm;`9pn+vKKE-Xw A(+9!E*X5xJekE!);vZP-t&ws@d44>pOvs=VOJ_qMBsE@5`$ zp<@z;`Z&r0GM3}dSRYS(pYT~5Af3`BsuAsU+A{!fBKl$am9)7pZ_^k!ht{o4(e<`Y zZx&;E6I+H(w~dJ&(%q0iqWl!*(oW8g2qBIB`dtMWkK{R1jdtdj)IS;qnx&c^W4B*~ zt*w|!>W>(xo_g?L%fB^9>fv!wqe3aMX7T=Iy;PNu?DyVi^8M$u#vKPnafe3Fk6i;5 z<)+>*Os6@*4A(n_^f*k;h@x&i7#2@bk3zhzP4pbXRzu6}+~B}Ipve0cC#YasfS^4x zMXyGhr^0=H8=6ghGJvj8qaMvn$FfbeO%R%YTIE2ih%(9XBOLw7XvqrMH|SJ*h`0@) zG~)aO_pO}hsGvN99G`Wi1C?M=7#jR7OA+AH-C_WVP3g9mJ+{O#Ar$zG`t+wfQH-Zv z)3b1Sy6d^1L$;JzYlmPL8xMA_hD|>-LZ5r1 7Ue^0eE7xe zG+>PJZdpa5nnamVbhG1)ZPCi*_N76k#^~N6)lhYzZ~LD44k^lp8N835mc7HH;X->3 zeeYK>2j44!&yUr7s(kJ?r9w<45TlZhzoIkVeZ;rin=-C2(FZXjoan@3uNvG-&u_z1 zBO 80VW#Ju4B$!B<{r23jw>W$Hk+nOFk-qfWva#?*J-9m!t_Qh2eizM=r4 zz+1OVfpWXyP9$0`40ONNs8RHjRhpp_Z2(VHFlw@W7MNAtcGZERd9kSycTe80@L-E+ z_e?Zv!SQ-m9Yz()L|!8MRbdGBD?Rww(WU9^X-$=HJzBGPJw2Nmb;u6C&okA(oD6RQ zG5N>IwJ-qK8@+y~ACcMS^Y7du8 uJlC^3TW3t(fy|OeQVkfH!ei& z@Ik1>ai79vn+x5qtg;*@Fx=DlS+b>c_71+0KLRu1Cug&X-lkrVk{0!aKb%UE*XdDz zClWNLj9>PoPIRJ-2_of0i*+BhXhRmrksN*K>Q^K2JqoekB2Tm;96 LtJ+8iEfys<@F$o@XguI_!7u)a9#N8Gb;|0_JV-7RbC8` zlXyq5g`Kl|+6x)ZJ%Jwh@V$;jMQg7F_`MQDIx;+eeerlZjF7!|!Pja1iZ2qi_exyK zIyWC;l!A|OxfYS@Ww}o)5n_6Nr@e-?qhM>eBmg$VQ8s}AHp$w53SLecFj@9#f)e|> ze-6XP&A)AOs^>48gP`@WPi399(1)VWjAAuIdA(OeU(|I<7|b5Dg?JvG?#OI!XCqOK zBiE3q*AR+ihhgqZUp?_y(0;+qkWqMyaAv+1Y(WB1vZwWt dLC>OS=>FClSt=Y zArdvJ3l)h~+E(0;ZMvrg;GCJN- ZF1yIPk~bD zA 4?q}8ch?$w{N56!)h -~r-N=RRrdXvFaU#TQ$!qg>VoF0q z;Fu{}SZW-bLpdWNm2PATZ9rSsDR)`@T;FNd@j15U5Q#+T>p}ge87I%dIjx77#=XSr z0-T4GTtpG|41F9@X)v0pnbta;LtRD+@MWS3=zo%WL-J#gXEmn;9KBWlP4_oW{oq(I zgms9a50zYFBE;a~wr|i`9y`3}KeaZmV@z;{83vV2F$W6rVvF&0Z4&D8e1eML;=h$s z-FuKx9DvK14rQC?`T96at<(1%y!?rnKEkX5iLx!KARcz6MrF@mz>WSXM>F)k7?pdSql9Gz>AN#l@b&%uE zo)W@MaCJoTSn1Ky9-z?VLmpx)>)p&@S#!K)5TDdk&emYKnJSa!8vb?mMaoN;oeUwd zIJ?D7ZK