From bfd869053514a6bfcbc2d8dc54bdb972ac356586 Mon Sep 17 00:00:00 2001 From: Thaloria Date: Fri, 28 Jul 2023 13:13:20 +0200 Subject: [PATCH] flappy init --- flappy.py | 56 ++------------------------------- flappy/gate.jpg | Bin 62600 -> 43262 bytes flappy_pos_discovery_thread.py | 41 +++++++++++++++++------- vision.py | 3 +- 4 files changed, 34 insertions(+), 66 deletions(-) diff --git a/flappy.py b/flappy.py index 10bf000..f35a05a 100644 --- a/flappy.py +++ b/flappy.py @@ -1,12 +1,6 @@ import cv2 as cv -import numpy as np -from time import time - import pydirectinput - from game_base_class import GameBase -from pynput.keyboard import Key, Controller - from flappy_pos_discovery_thread import FlappyPosDiscovery class Flappy(GameBase): @@ -14,24 +8,10 @@ class Flappy(GameBase): def __init__(self, overlay): super().__init__(overlay) - self.keyboard = Controller() - - self.data_coordinates = np.zeros((20, 20), dtype=object) - self.observation = np.zeros((20, 20), dtype=int) - - self.colors = [1, 2, 3, 4, 5, 6, 7, 8, 9] - - self.offset_left = 610 - self.offset_down = 40 - - self.fill_data_coordinates() - self.litris_reset_board = cv.imread("control_elements/sodoku_reset_button.jpg", cv.IMREAD_COLOR) self.flappy_pos_disc = FlappyPosDiscovery() - self.move_mode = 1 - def assess_playfield_and_make_move(self): #last_letter_received = time() wait_timer = 380 @@ -42,37 +22,5 @@ class Flappy(GameBase): cv.waitKey(50) pydirectinput.mouseUp() cv.waitKey(wait_timer) - - offset = (self.flappy_pos_disc.next_gate_height + 170) - self.flappy_pos_disc.current_pet_height - if offset < -100: - #pet go down - wait_timer = 430 - elif 0 > offset > -100: - wait_timer = 405 - elif 0 < offset < 50: - wait_timer = 355 - elif offset > 50: - wait_timer = 330 - - - - ''' - if self.stone_id_thread.get_pick_up_status() == False: - if (time() - last_letter_received) >= 5: - self.field.reset_field() - self.field.cleared_rows = 1 - last_letter_received = time() - self.dig_point(1500, 980, 100) - if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused': - return - continue - if self.overlay.run_mode == 'stopped' or self.overlay.run_mode == 'paused': - return - cv.waitKey(50) - continue - - - self.stone_id_thread.set_pick_up_status(False) - ''' - - + if self.flappy_pos_disc.next_gate_height[0] is not 0: + wait_timer = wait_timer + (self.flappy_pos_disc.next_gate_height[0] + 120) - self.flappy_pos_disc.current_pet_height \ No newline at end of file diff --git a/flappy/gate.jpg b/flappy/gate.jpg index 8e8f35e3a59bdf6609ac486928f32c0bec0d6fe4..967010a001e49aff9dcd97204a2939237a1becee 100644 GIT binary patch delta 42992 zcmWh!by!p1AD*HjQi384`URu}L^`J+Eg;=Yr5PbzgDV1pfTXm5N{k*gMkC$b-OXSl z2ZQnB_wPN=bI*CsJ@@^5-Z){~M1lrR)c4w>kukXnl($6Dw%y<M4K+N}mB3WJf~5w2Fs)H&ZCrzO0_?$uLe%=T9$r?l1>>d%kO6&P5G7s@*hHuaMpO zoR0TyEKLA*HTC4@IYSP4bm~u;zls0l9C&Q!r~lnD4z4XmcjWbL-xqpIOixsU_zo=P z8jn|1VC$BpNXD&04Q50!ThddXg-!?_7g||H*%<)ExN~kxFJDbW?3o57ZgPY8^6}(9 ztu59kjkL<~nMlaa#6a-b^FtbN4m3&kG{Nk`4#%+J4OlQZ39KxRrm%Vk^pvVxgYIvB zKgM)OIC+XYEi1nVihZNQ-BXAICwiuwQ=S=)oxA|igL6Iu75wQ}nPOr5puu?CvS`m4 zB(Mk*#A_f(ukwx_#kp;{g)g^lYwMW3xCY(Ec%2Gwog}?7SG@*J&iQ1s$W}AB%Ddo^ z6(32tRs%bai=#n zx2#ohw)DN3H&eVj-sS`88fGQlb83BX^}&D~KEIXrLtLsv@keMO^mmIc-PNLo&&A|N z=2qP1KhKUwO!6+&agr1(HH%a*cIOA}FP4v}G%_`i-!Z86Ow709`H2E$7fX1a_*W5b1m>yJ3 z%CXVbJ=qXspHiBWJlWPL&m8a%W#z_?lh8{k255b?SLUM_XpoG3Z#RSl;aN_J4=7}y ze#;v<%()eegKR#wv*DXLZh%Y2qTO55xO-4}#T34Sci92E;++k*WzOWsaVn(T{Dj zG$!MP9EI=aR!2QzsN=e;$Xiqa0; zcS8QNmRr3whvBV_XstWusHm%!51HDd5YpNkQ}w7pO~v)LfoDdFKEt*)BPqy@hGc0o zDRKMi0QyX+KbqXu8gTrwL|HddXe%o)Tz}W{w5Z^L_^t2VB1-LxOvS=^rg94okrYER zJCF|%UbS2>D_rnVhr__w(@oHaam~;e$04`RYisMSz6PvtC4nCv6ZLf;9!We+Jz*s> znK4y-`&;}+XyR`IQi@UBnAS#ViI+~qjK;};(Nz~akv;xl_A!u;`aJVFx7LhE#m*hW z_P%UYn#{UpkY?xQwwO~~>5<@>t#+O5KsH0TC-_~Zx;`Ii3ozqwE90am@%UDmDP`p4 zA{{hI@-HtVROC)~)GFu}Zek!LM{Q;B{;c8oA*r9P-*+=j&bZe!v43zV0(V{|qj-dh zoA28iri42ummxranTl(Fk7U!(m36^p4xOg*@ezR8sERa@d*a)grRnyaBJxPj z142CudyPxUov)3VSoY#Ad3bT?H)*t*{}j_1WHD-Xt3KoX?Wb$EDR_TjGtzT$V2x2n z_EqhlFS5^w8tq11;y0>FwtXq7NaSSu!5&7vlb8LPVG97?%mLg8l|Z%z?p>Uk+?>3m zxdtg!r?q90oTwSm02Ly(udP26iJ84_kSW~TZLc1y*K}sLaaW>Z@)W@!E@{dgRe_o4 zWu;K33YH`{5qJje{`b2()B)AAW;HN9$=J}7veslhj{}_wNGe$28f1MxD{~n(`3WNG zcNL~t0z9@kXV?}vAt^@Ypep3*9y=4&bow4ePZPCG#Mz-z)tk6;q?BdTT+FjbFjtqGT{j2&l;g&;Hx3vvG z5?JqgDAyZcNLBEk&c8p_f|txkR5DxyJjU6u3VY9~dv$A_r;9~OEBLK23%5TgwBb@? z`d~m>fXoH{!rFpAnx*~nbuXz~w$7bE8I%<56?i6h;hR)@ zDzPiLMN=1N*K$KeGOL7&BpPYe1?Flyws?Cnfx(4SIMz>%F%oE3R z_iPiA(1pmQvv&2?8KFT(;a;H9Q`Y1j{&(tlIYzy&^j36QKFxFyRZi0Y9OPzv@kX(V z5*6vu`9|(h-sgwglNZnKiggA?2I^dcS|mK&$dWWdK~6SKCtD8(9sTIPX>#?Pw``_X zWPfW!B~I*2-6!s@jH1&!A`x-aAgDj}|3>6^JMtbqU5T+X z?T$|Sw`!P;jNfFX_gOR5+!n8$<##flH7@*k>o(;6e+?2J1;c1{$Be`BwD4udirn39DqZz8p?_*5_hEu|eb@#EGB% z8^|$T)}R^R5h0{J9x=?s=pEqCKc{?z9>mzH; z{=8yuFjerCUfbt&?9X5Qo^)Bx^AMo4`gC|1NAjXGmxqlM`bZLa8kut8j8T%q)3%a0 zrEU7?uF8b?T!R9Se>#T=sYa11@G7VIKFUbglDykJBug|WDb|NAg|vODcl*ciqcap? z;d-8EbdGHDlU0n=o&PE(8m2({fQY2W_Dn4qGM; zPD62a>mB8${?99aI{!r_?$_;pk#;+)F zau$-j58rC$_VWO9o--w9=*j6C9PtI%G!Z&4F1-C#bF-`>-}u1egXV*PlfwDNR|}+> z#3n|ZJpen99KFm8-Mj_`5hxomh_-%8{RZvK8Iu1ZU1HQeHKcWlt;k^ed|ztI$ZYGi z<{SLb6zG*tj1v9aq8h43@U&L^;q2l8Kv@pvP5#^h8ok>+SY$_JCvEK00=%<&6N)lP zUnjOL?Nj!M<#;?PXZLl-51d*=X4vznbf~KR2IL;tHJ^xg6@{Es!hWh*jDmd;CIZuy zbJd+9@Ph43D`dDr^uwBNS!9w(djI5rfy3J+e{Q@6@CMInGqQK2IV?PW=m@7 zSPgIj?dB{PApLG`oqcK2t1=s~H-QFT2!jn(hOHeTcS%-1{?nJB!AyoWSyHm#ewe?r zf6wpgr7?GQQs@OKJ&XLS|7yXEU*bH+;>zxYnGLHaQKCYSPJ`;j1?$JDfJq>OeB|aN z@5JV$mg*Yx5WpeJO&!WuID5IB$Qz5`gOkez*@^gPNs2 zc~5$lciNsfV+($~GffzKS73Gij`hV(#m*=`;8J?*WAoU5fs5;N?4ZDNU0)k?-I7qD zirDE%)xXLLipCp|48Q%NILiG^E4I_fy z4u1qZUGdRb`+#%P?M`Vde?BR{+&3d)wkG=uN4(ditZtN0;p{5NP2d`2Tz?n%F#o_6 zma<`b(bbWebF)(M7yC|Y76B`4XNnuwAchowdjU(;KR-pV-7MR{ioopPGW=U{x0yC? z!zMd>R&<{M2kRvb>Ax8B`@>dvAu_=u{hDXjpgS97(Heg44divWU(^b2lbIMbWOc2S z$Q>%G&K{tn{3q6oS`;qNiFdQfGrXBqwUJc;k#lhHrlXHO3FJ#aPEOrC)ox@MDBjS} z`Ec;+=)z#&3~0ir)~q4>8w(kl{>TBv@;9*1{Ng}Sb~Nuf@!#0YiB#{BdgnxG0i5>y|6eJ~lqRQd!DazZMJ{;)n0I%|)4&b}#8Z=w%K|vg zj`%;O3c{mr(R9s|SOsixBQw2@KBdv05FRl5mC z0<66u({QoP{^F)zmqNE^3?vudQS$N;ZI(2WC`7Y@~IMqna?CkBWA7*3rxF zV@;R}Z4P`VyTKT3yZ|y_3?R!E2uq|hQ&}b7jKHA7D zTTvROq;SZyUlE`#GTo#<_NBL`^PYCOruJK+r~*!qdJ8XCnE8! zg6C1+nc+QNFPSEjaro0bj7@8=$#;=-{e_vC0V4L`Qecxv+N~d^g?GC7lMUU0Tg@(i zw`-$kPdFoE9UW%>S;R;(og$(d843Mh#v3&)fPWs~*bKd7N7T&d3!dlyiXq~s+%&6( z6}#4qd&(C^dYQ>6gO`dHG1_5GPz3FK>vCOUbc->WBCopyL{cMi3apRFXtL0JVC-GK zZ;}RtO}K~Cyf<_gIaa!SoJJsl<_7dFk|-<$ua8V{;N|ZU`F$o?U8vtZCB=EM1Y$}T z->J#$wc4_wM2;mi**E^E+eWiV6#NNxYedNJX@;0TGJDjVc&b0F^!Oc7*FTV*OCtWPUPG+u6_PDDZ8l5@t@H{ssZS()xAkE z`J?Ef9A1b{Oa+Fe38B8Bx!%I~`<5cF#5KsK8;KU(V64l(+x-*$x#6zg^UQn&pT1B= z$siTKk~em;#9eeYGKB*6v+HH`=}E%o@UVUii{m59`^IwNujYjgG)4%IP0WnzL}o*Q zNVL`T&}2n(o>DOho1FA|^WqMV9f5VK+dny$ZNaOW=zvwn0G-9m@hAM}TFvi$?{;|e zcc;F{oK*I84arg3<>IQirS7xj)j-Ib^CuSp8JJ*G$E~|A7;gn6@8;3%knUM6hF{wa zUvrey^H6Sqns=v7lw!Acb!N89?DA9rCPa>hmn=~R@7I^cPd_vK29rBQ2BO50u4byI zp{`bX70IdVZ>?fYT($&_Di-Y(HRqez1T-FFFAQ?Gnkxd^^wzkXzdvso2EqSE9JSGu91E-EM%s$I{e7 z%U|=Y8fv{UAYf$_#Iz@@s}hB7|K_UG4KfQjsnnOS(B{#C>Q?IeY)GYx4 z^{MPQ|7R{Qw5fMqz4DuYN1l)Z$zOZiHc>igqbe4`R2s9+4T4^QvHiQ9p0mI#xVQEd z0bjMgBREkoH)Aey7T04!90diGalxF)3Zk-3C!^jGE%`owl=8L@j-Fm^ESw0XSNfXj z7U()VM*X*_kuH}jwRAL6ToUrxl((%sXw0MF%r~b$T=4Lh-xoXSXW09IynDcq#?{ob zIz6K#bjH@mXd}axtXQ0hR0KN(MF&Ol;81FF(2_tXff-k9;m?2f+g|ec_m+LOpv+?5 zj&zrgD-ptR0`ol)tx+|F8C;kjs5bDO-kgQ5iP7pdF`j!{?5rN&ym!NocJw|c%t)2? z_q!fVgRAitOTL{}%QyNj{p-G5T4!O({dHXfQnwFb*B}8F6Y5~k4U{aMxvBkx>)dO> zI}?1HAjz0MiOWJx)d>eD50&Dz7+6g=@qWhmIg;yez5FdH`(Wt;AI}HeDIv&VICZ5akmjUfu)+Z#a05YWFBi&mxX^Y@Zb_e z?1}l)Z)5vEroG*CxD+3GIMgi4Ew# z>hM40VBZbAFR)f_y$#OMIlK6FB7*-i%T0}Qu>0X;-y4f{oJo6CR0xbOnV~klTFNrY?ry)yf zY5tIQhA&XtmEdoOn)!G9e8-hY#l-d|5c%OH1+FdrfTTcwrZUX+3MI=-=p;OBsGT@T zHpi*07ynh2-rOBx%?Z#97+%EO5dQCAltJ48PVSP@^1`<9=WGj=a@t4nJ4=%Tv4*&# z)2~?f8B`c&U3Fb;Qs2+PXSNoc84u&bPY-aMXDy@+Y^Up}in3G^1obq#9gTQ&d1$78>xd0rkC+Z9bFAI~=Al)a8Yi`7Hn70gLUe8-dB;-jhMXgJ%pondLSS4vz@N#$uWSO&qc$+uI*8p8bvko4Tg>4{qk2lWOAesdQUmIAFN-9p4F1D;kU0P3u{^n5xd&sWsm!78RaCq`_#82#6V>)&^s*O+wOlq}M=DOP6owo^zA2*(j%S}&{XqF|WJjw!*-&yVGJ!MmiXXyD zvhpR%qoMns#m)@AyZ5O`W5cbG{g-~PA%#R~U4Mb@ zdKUCTnWRw$HQfTiPVDTBCO~z&;}#2i>f zPx`2aT>qx43`|T7@Y5bRg>n{MO40sUQ(f{Eal1JCS5vfn^y!?CzU$$!UBW*j^5RHw z%1UOp;L(onTl)n_`n@6Lj?X-sJTc|9H2g*oKbA)n(HuFa6NG!srwBj?2Q5}0k4)4q z;}+=eF7zGzhQ55`!aDuwwo%PzV%0LAr7jpJHS@n}rc7Two))#({r3QgAgpF4WiO@`0%w=)6fZUl5kGfGsTLdyFS> zl;lJqDNnii+Yz8(m4xdAtVwtgFxEsKKs0M&pW28bGBf6t{+zWI=NlBX$9u>|c+h}{ zE)b?!8RDEt=lB{DLmeV=sg-qIUV5%kzA^t;029NaIw6cXr%hfSj~~5Uq;mMn??=r$ zTThM`$7wbTKGShJjHKmP;yglF5GNo7?Dz)3^r>2ZYXG*wLs_ly072LX?316TDu`KQ z1uhc7aQ%C7;(N%z<))B@7sCRCY2i~ZuQMfH;WM%+&K=}gwk$m+@s|nJw%ve+B{Lvt zh3*U*k5Lm%NgnLQkFTB})IW^u_(aR(9Y=zRHU>#9U*JOgbGhU2n!$ZShrKr&vx+>{ zyrhNzryi5;z-%l(lJsiO&W36K%^U|=e_$q#q%f)Ju{3v%p>UkN{wJ7H0!4xo_&G(E8wlgqtL~l-nK45|Wm_rTwQ;XimPD zF2>Msx>h-o%1AeU%aoc}bsMHrVA8p)_5}x=|GV!m15Lr`$iw>A57X%`Ci^;yRoZ*t zioWrGRMWKJbxOejlLn(^m-i=^@oh6ba2bLQB(AAKqd@0hg^3jNiV=<5EP42q_f_p) zTFZ?SF0v7Fi$y0!=8XsrX<7}vB6vpHVBAvnILD%+pO)`V&M=VC zia8y#ciVm_b`b{YOYsw=Yxk9{&72Xc_~%V@%lB6Jdc8z8f7)Zk1#srq*T*GI+O>z3 zu&1+96v*RWld4?j2AT`5mXhzNp~a^LA3jCGI>#mP5dq=c|~ckhP!~OieJCI+2jdjX@UYiU6*15;jOWw@v+fwUVz!Qj93vTmM!wdCW7@9(Ng zN?Ft3BV}1w(rE~fa)3prh)wfo<&)^g{VDRWw$#EEDA&xn)eq^GdP~YWqZS}l`?Ix3 znTD3$qw^=TYLeyjN6mPoTdSbsuPoQ@v5PTZ^@H?mo|iL9H2mMWsxnj>NhoP0U zVv^-xf5m#K77FIn%Af3;#=irqtW|QPYd1%8-W~;VPEOQ4yF0Y1myQ&2N`xv=^RN8c zzg>ALA)K0OJ(rRB>SC(e7z!Y7CL@0?N3c1@p`b#Lp!pufpqCTRsr zPn1RKY5KWYnQJ6ul|j_2O?GAA>6zS*(FUy>e$OOby1Gw`_=NOKd@%3>k7B%x5h8TD zW99Z2a?_u+3|jdt*%yF*cCB7^RX?58$DhJoZ2ve>4xWWo#*%$XDb3Q9A9bDL@sj8X zp$57o3#1K&xpnL$B&8W*@f#2m%ns6SuXJn=ZyJ>-;v}v73p8ioga_#u zNVBhcg;D@YXyzZ801@{QZhJBVie)>syhuS%aDL1-bA8r0f(gJVzgwVn9p&L5rr zx%%D6O_+ExnZZ6P&EfZP8TqMd()C{t>`zOKulwyrKb#ttt&NquUctvpG)d&7?=>&2 zoTtrA#|jw%6u)D@EvSs!X3vh*WywW(T^MGvA7s&iTp|rtLeblJwjE;|wDYPuuY7`g zvA8ON;V#=+uSJeyP{F1_;{Ab==Sigjqi?+z;Q0662OS*G%EOF=n0QK-Q}gp?FU=cb zS%50JsF(NWgUmxQO{ZokOu(PJ=#4CqxrsfxXu&FAa|=2JQ(Eb$D?P+StbYNqjWpms zu8a7XZw~7Ab7?2>(d9N!#vll^Fx46(tLic5s`w*Ei{{J1|2mfze~6F{Z_e+$tNG`E zg{aG{Pvp1{EAHtH_HW7T*dF`KE%de1GrFZu6&l``T?3qTjg5KNyvY_pNJd_FynAXS zegN1EBMaJw{B6Q0bQRZ=V_%(F@-ao{nEckK6KAo49sJ!zJwcVVdyr`eqWp59JDIrW zo*6T6G>6w6`&hw|r!lZ5E~%V$7i({O_bmzcS^?5zy*9n~yVe0QnzyjG`RcQ?-=$^b zV$kD>VFBF?do!O&nC&;GRAZD~GoF3a5wUEDGx>ghHP^UF`x<1QH*r&D8_Ng8&b4fA z=)y-BS73=VQajr*YURE6&3I$lxA`ooa~6Ksu~LpLEvdsBmM_-1lZdE4?rhP(!L2B% z38!FCH5>T(T&%uut`UMP1rLw*y-0OI)x*;5lVETIN6U!iEmR3T1(;#w(gFrI{I>9> zmg(y?NOiV)f<11;5M}uxgE!S*(xi?gRWntipmQYLrOwq_JoUQ*yZd)PX!b3c@{N~S zya(ZP7<31kLz_%-gsEDZX%fgZHm_B1uH5e+qUdP21yisQO-WgK*^Q!?ueAPkD$X>P zQ8cRs-}bgE>C8lJyl+k2T*eMg!CqT*;624R%H2)Wg|x?VGE_ETpC5NG*Ff5t4 z1?w#S8gtB&fOgC1hvrV<;s)Hoob#K36NuvVoSwpG9mG!!GHeN-%mB#}4RN-GD!!$$ zM`ppf%^!5mvYh+tP$EHUZsNLL6_QP8;h8!2Z6n`r*&I&383}ii$f>q88}w_D_;;3~ zZ$7+k-j*9`{Pt7wuZfAHa`W8Fg%j+7w7pN!yBZ_MBZ<8X>pc|kUz19IaW@jL z>j)QlWCpKBfSD1A*&$G@;nb;;+VgbutKd-T+z>LPD#4(_f7vA9X=#+1m=kfYsdTve z?pKmkX+JHJg5k69U(DQoaIL%7p!k(%m7uueg0tFLJBG?X0lTL~l})pJb=>D?AlU?H z#|3o8JUgvCj{i+gHw}BHE|+d5-=tqk*63W}dg9MV{j%&uOq~+@HZ4Z!%nJ};)g5U;CxRy>T^{=Qpj3U6LXG0Yx2MCF zU*CdIASdaW|Erd{@0wB%wyu5=WUm6T#q2c{)D=Ha~4s|Ff_ffWVi$1WB*-fvnt*#y0XQDNH z0ukDfU{twL>ok8jN$XA+Yr8lI5(mh%;cbZTL_v{5`%k3O%c~5d(hD8uX}4jgJ64oqP9^zaKk(;YCjlQv zzb_&nVE0n;7wSx1vv9iAip+s{Kv58__V*jboF$W+9x~#Obo);mn=a@wM*x&``P+B-^k?VL;@00I-%8!0-0GnLgQq-CU7K=Qz}`)gG==M}B!WMeQZ5E7tu zN!sLSqm1QwxA?LtO=3^1ig#DsXSyHEwszED*N)iL8IqRCCn5cCwH!V@DwpDNS@<2p zw{ZHgj<=3zrtXKRdK4vG2V!N_Yq7E};JaL;a!TshiHp9So{N}qPz1t0WsUFO-7A12 zO-9%Z`Kkzte|ct;#}iHk8I>4-Pq{5}Y?hlD$PrVnG^IJI5~z@VTh*b<(8NLL@hb59 zE3Nbgoy5)*38Rz%x~ggWPF7K${9_pbv}9JoojWp6%@)tFBq6!gjPc?nJeOn0{y{@s zczagn4CKv(uWG9U6EU#O7d7z z!`%z3`BCTZC0{-OexISSxOZ_7O&99uq;B>rm(*PmbyCNKU(lZT4X0x^kwfGvtL^BH ze+G-rsY~1z1oy4iW~H#(aq`TOE5&6WxHvf<#oK-t8JrdBC=cbbKm~>|A2l{9@_+KT z?$i8tXhGG~c)#-y(SI<*u(kt65x4PrO6TNMvn_6By*LA0s1A8wo#pBJpImA%G`D%# ziN37=djLf`)+zH!u0f|1nq`DVV}3~D(9;2buWnPZAmP^Rfmwp>)CQ*vG16Ca51L&7 zG`~LXFb{egQnr26ZLaUfabj@Cw_ZGRQa95&Am2oFLNw$3a>cI+^M*&WZ!45qq+qQR zMLS&BUREi+QlDJ!*tew4wgb}LrCXH7ID3HF0S^=uV9U2$AXIyV#pQIX2a$8e;+=W3 zkZ6GP`=|(li46U=DdG0T$7F*&NYpbtnHOf$MU9)}VowBzUXIFxA;ZBDhjnjag=SOf3^jnpYKV~%M>`$8Y4%Jea1273b&vS_QA4?JYw{W zoLG3h!|m!&HYF5LMP^U>Z9w2XRXgDt9uneB6f={h@UxA*f?$jCrVM#|^#6bD|JPTIr2y6AX4 zCu`8-$wOQA>q1@J;})+F+BaCcWvV4uYt98AGua2_c8>%rHzM@o=lH?z4@ zTb*@%1^t^cE&qa2rd?}6Pt79gTcyBb9{>HUK;4jv7gpDxP#K<*s44TAC+^}_b+u+u zuLs#?>Ufna+!%tQjq{gSDda_3lm{LcP#a*18PPA>;>u+;NVKJNf`OI!h(Zl5)pr*} zOURk_{O;;yPR*Mf2Xo0jGyk>+Jg_FHr-#YCgmifzW_KAcmC$pLOm?wKkMJ57_BL-> zSYdKBBmtwDa~r{oT5|CGvl3%~qzg}n3f#*uwPU_-W4BriwU zcGKZch7*Oc(2b8N&r993_nL&?EJr`tzNnYAEUfaMRT&g1xkzZJ;b3%)jU7}yj3#6M zw#@7n>Z*K9GiKE8VMF9oe%}5o0gd$M-C3W*B^Nu`HeA&JO|fBTya&3^OB12Z9Hq~N zdapqh>XoHMGHOS#@Uiewq(Z(r2Wzl|em=&Y0yfOxM=vs4l645HUxqYN&ZVk|! zD6#u7i7x_^e{Y~8*}Gf_YU8l(qffNM9cxz#otdvMr*?AGbuc}>20cgCf9iJ2Yj&XB zyiZ4I-#?028TJ5Iie0QU%T4}kaU89k!=I0+)A%iB8(JeWaS}|EDy)5 z$D}{5-eoe$&2nuz2*4Je3a#=Tsljn2Yp{~4S3r!?Cxrm;CGDv3jsO*X5_QD%boW7$ zMe0RgkQczV<`(>uebVbZsh;^yQLVD|VApJ@%x*1)?<|>0bAkLTG##U>EX=_e{Og1U zk=0f8VALHV6zPem($rbzsC%~u({Vyw$a8WsVeHi(Iu9>%ehng)O-P3p6&)p)%eurK z0LBcTlF_QA|K>+>k}FSNkPywU9TU+NLoIKKMr-i$Ebzr0NJo7|Izos_6Z&r6+_gc^^l)P2-_=v5Axf^r+?PpTG{4z zKa_YbdhTY{<~3^WU`L5LPtM3kJsc2ASLVt>DoA$ULh)*W{Yx5;taE-h3Xxu1=Y{F;&vMv9*NQ zMO zNCU=E51mmev!w-MsBc~pGB_H~0p|*Nqp`$9sh6eoC2#-5_~%D(QL!3l_yu$Sy9Vu! zOZ~djwQI;Wr3`nS?UvZq-$QFA0wJ}6+gm&pFUcq*Iz@8eJ*bkWTbhqEEj>n6?ECvE zMH3xbC0r`0wvC4dzD?!h$9Bbk<7LHJjK|)0lRCqWiI0l4Rp?ZDT<0#J%?6({zfHK5 zh&6M6Q1U%KcT%5htrK!`VSC8P61-9mUbfnje3HqS@f`WeUtnpep|wXB-!68#l31RVdu$Xi{IrD?B1e zCrL(CTs52-+|Q&R^!LX9wb{xu3a~L7_XoTSXOYiS+(+{?>)FhTi0!TBI}a=r=%fnK z#x>_F4eg`F2iG8!JS_(A~>4QPl`7*3VLQZq_hEXFTVg?WXpPT3 zQIy1S_C#u8jt_g};=_&AEb zX;5^7c|vQpfOD?aY>SrQC4>E;P}Ks33adg4dl}}~W|!mmfH;yxf4x5D*6BtKV_H)M zRJ&ga)_$0R)<-ry?8$ssd6apqglfy^AK;c&drTg1`0h_u6j+F;igzX7jwYaUdQwA= zgR7}>fU(mdsTKf-C6vFd(k4jTTo|m|w3;Y;FcWps#=891g+(wwNTj)lU6E0gfxH{r zjCA~gwgLhF$ODwUi8`^~es8fbzQ9fU$hZ z%&}ppsSO>UeXAVvw*IykxCTLsyFHkTYgqYWX)4A}0X+1ZY?yCff69i^f!H{Eus#dZ zFF{vGUxPX%#}`A`qr7_^!?l{G-EIu#U}@b9whAK)$L230A*(XfGS=PAjHvt@nZ50j zX2Kd{^TSEluLkVJ{hTbLG9$a2TfU!Vm*S3x>&!cbKlj#%JdA^vLsXjCZU5m4NxuI6 zU@?;S1`t)`8FO`{A=~^(E+aetRsjet;USk-gMJ#M>vB@P(D~5t%;lF$yA*oFq~ovt zV)as{eNd|VexwYbgc{FcvGit(aTywWQpM}c`g4@&R)>oj8_&CTW%7l*-kjHT8Lyyx zD(m|n+bvkr&rlyuirL52|8!_RF3dqEuiBE1Bmz*b(Zr{js-8mzBJSz_h9tMnUA|Hl z^KDd4a#W0tj?^3_Yxe#daM5WvcNwz8_P>h?cR%L)YT4?0TG;3`)~VVPSv|WC@Ki<~ z3P@k^rq7*}R-&nWoIHQPQNG_)0)dbHYIe3~Ys=m&NWS^F--90{I(-vsnXzT>mCItE z3jt^YX<7VIvWO+S|>HjAcP4B#z|8HJ{{?I))c%R2YthMabb4Ux}*&%SuOG89?|1h-l1<=t@v0S{1^S#&P7SfW( zngHXsP|**HIA`@wSXmE6FqEBNct}xF+imB24{VbdPCxF*zuLbBjWpe)L!qlQaCHA_ zKIabKiq;_h1kYTkWaIyW0Ra{r&GgSUSan8Ee(F43!LIcZN~GM`1Nf9EdvIZJVDvJo zkt3w^gkcAPD`a8~hP@UjE?JqPSxo}1Ceb+AzBBOqb*tkuw6D_nNw3Z7=mS`x^r};o~yal)bO)_#CNWrTffNI6S7uzUEt!V z_u^fh7KTDQ7Hw3W(w%3e?w!8fz`~?;jLU`!6~qiQwT0_KINwMZ4pi`f*$J<^Vx&!! zo%Wsh-<6rG=FDEVVh&DM8tMon=dda;@-(_023HAV#c%I+4+xy7z@mS5&3JDiIL}#g zGM}(RC~YSO9Wwm)LYCFM}v9Bwl0Yl8!8kW#08tE!@{OVEM|Z~hiL9Nrsp?} z3~>&0XU28jnd_Pug3!J=SN#M-vH; zHv87}q@GhcsgVWCyw(|CWG-Y=c4XXS4bv+4gGmZYzc&?S(z%>Y=J#>d$bdjDCW;-#t{_-utdrv=|<< zlLXfs0}mfOUUvHj{4SXgy{Vf9KVjAwM$vTVJfnD~A+@;P$p&K_1Y0hnpx>%{&YvYk z)6~ezyKBuobmp_eoawY2t3r0* z?_KJT?j&Lc3V$|^IP(d#rFBPD!32ts^{oFLBmscxfVxAJm#RVC)E577?g+>G*~QO$ zzIr5;Y`nD8%EY-lHT-{EHa8gqFYR?FQj%=q7nyl^sV6Nh8h%!_?Z;M~u8mO^wvz>y z4M;{CkB)z+sdYihYE6c>)s6(eJ&(M1bci1+SqM4>?D*6R)x1w+1UCleSa>R{z*{St z%gpVX%Ri4S9s(55PnXZrX%q8nDDTCK<`CVRxVrsukoZsjpRwEBl`orV%#YL_yi0C* zl(11QLM3g`Q+Czz%0z~j*DM1mob{-B6iIjY&;6y+0T-?9vc@w1^`{&csM4aQQ1i$2 z*gKIi8GukCJASgtTjyV527M`*%Pw2Jq~kAAdDM8{>m~zSSk;-F&4q%p5RvWCZP~$8 zmgSNr%ID5w>ZLnU{sDOh2Gah8COC)=sY6}3tWp3}sKa=EFihZCby75+((Ovqfqn-~ zb~g8gJm^fKe8#s*4-yE0>JjVfMJ^Fz#x8gWV9E5$l^bReFd@qtVV{wPHCA#@3DMo# z^V|G({0toBTx@X-(sJayXs*{F9Pa z^))EOw<@&Y=8~O}CM9?~$R1S;#K@- zIogOY$0S<<=FY^lumzdvhq?;WjU3fvdcDNCe1UkS0fvdNqa7$aTW>A$!#Q)O@0Q2B z{r;d*lwrr!Z>PuG&d*|s&wsQH1Ol)kU;W^hC51LMk2_qxR=4|C)N7reiOe*1if6D@ zS7Z)o?^opAy}xbtJTR|qpk!Wo%THfsBVPE$D{>6`R=EbD^ zVpxbS{COv@K_9xczz%%()gqan^EVxccsu6ia#oQ|vyATnWx^JESH+dg!C!$|T_Cz| zeBJu=qB7~v-Wp$#B_#ebdbsKFTtjD6Fvf|L>Q?m*&soHYX#BrHhwN7FQ|7oY{4I>c9uBuXpPWlYX&_#Z{*{m9nahH>3POKWd!t)eK3+AXzf)ZVJL*s(`W zTSd)O6*W_PM(j;$?>$27ST#bd2*LNw`v;s~&Nuj~5UQU98Gie98Dp%Wq*#f#(v zGz0uP0V^yseVpytSLEP5V#j#vSI_m}e>fWny;E(Q85yqC?=`QJcqx~bsTZ3llZJ2d zle7nb) z#l0xqe$w1XSN=XBa8s>0WAj(DR?`QO*Knf2-Fo&UCv+@q#{E9!Z;FWN663ZtRqRiV zbeMDOplNMb$K95G;lFHCxAr4E@0?3xgB_m1`F6Enrp`qs%Hy7KzY?nMDGQ3*3x%Js z0wB%F;D+pgEC=GuKY6}ww_qJxuaeu-tT^YrNDN{($U*rF*TQHGICUwKM^mTquXx>) z`?(F(lJiu4%FU(=SJ`lP8VZPcLiM3MUyekm4|x&C(X;1KUJUq>MFs-gCodNE@y=H@ zG{|xXLvzI)tCBRDeW)y)>L#M?Dyx_Ti0^o1wElio-(Ik|=h)y{o@BogI0+9t^>Y0% z;352BTRhg*go|aB(@6GY@?WLazup(9n8zZ-G-gkOeHl@Y*e7YHHm#s0oJ7R&CDj%B z9Q%XuT7uIhKXs4kq|t=da=O~nzihv%<1>!kz76DCqusUx{n1TwTb^w>-!h9>=HnoCU*Smt*$>d1k?_F^o5uw z8$85^G^&BQDN9vsAo+piqI>}!e6tfn7{6^Z+sQ=2kOu8N()(S$4Z5dz$1qvx%3&nc z9Jej1Nxdu+Tm+X^wRHp@^qq=+mE93C9A*65{Q1mz{t~38g8T`hiS=Fc(Un5YNq~^);~3R?SN{~_Cscw$)~oF1KFjj|Y5BT+HTy%Q`U{G7*ld>E!oUOkL}q-l zIzegD+VRWSB0_$Qch*R9?vo@GhAt`6FBc@?;j|w@&DA7~ zRwY|Q^;_OKSdWN9I{(65R#yz!*|2nK6+Dp&f3mq_X+_kzP}MuQl{X>gRCfBV_omBI z6ORn#aJ_aY8y5hCyB6=9(m!L4PkhrOxb|h~0KswZi$?)(!GTccsi*&UEuC*U5VQZt zI@l0IFyTyog>p(DKf&AAx2oLb62A^UN3CnOoi^f-e|NBfL!W;NSa*ItWroT3w+>#G zTuGpV6>vgmlC~Egq?Y80y{b-!ZCWv1^|A?0G}|nP04i;b$piSE2A=~+y8pf%33`qB7*~*BV0m;g;xpPRu2SM84dhlO z481%1d;@MV+RAN02tSmjQI0x%zhaC>T#LZ(;;y0tNAuJ084JG8nW5{JP6wiR=mBNi zg>v%w?Rc@zb<%!zfe?nmB)-%s0j;P20rj6XO8rgqL_Fog_qCR`sFy0CF^?eoaKowu z)lk)FT_p00HTd(Faxl8}MmQxqaPgrI6b*f3ZmO&`{gz+w&hpe!ut51l^Bq?&F$7J^ zOzM+Xv*9&m4p_cO(L2jFh%peCsJ&E4vae)G$c{Xs9Lu7*84 z+S=LnXiOodHpplY^5C+mnv%?M)Ui<`IychyD}@#q#i>guz%MpVwS{>CG+q>IdT!w4 z#$(CWg1d-7ie0>GP!HV_{s*od-jpe8X&*_ z$kdwZbnh^i&w)~=m zmH+idxO|tX-9fBfeJl{<6_|Qvy1E(%b#>&5vljf1>^H63l;IpcvZ5jQn$SRR$K>TF za*Z6HM1#yCQ7m`sgv*P`j%VT|^JI;?3d)->cUl@D8yjrgKf#x=H2EMMY;$D&RsrJ6S)2mDJtH(jEN}pl^40j6{mT@9L zhIZCYpj-xAY)qKJ;)eVDYd8M*17vqE;^LZ&FOTTb95qYHg$Y~D!4gzXkdX7Y(J!HO zW%)=$;s|^951E`}`Hkg`y^JD|bj$B4qnqEzq zPVE$t^c3YEn4lQ>HKRG$b-<a$vTBUnR#z~o8+D7aA+(3R8jGucerKlR z$0m!BuV$EcMZASnNViF=q(NK1t4SVWF?fBMoqk|7gHOW$e%JL|-Ta2^_rzODOQ#d= zvRzBM34Fc_*S@tx0KcngnaD}yOfC^uVTXgy3)40DXVh(9P>wK;(4LNk!`ZJ%f0coO$Ft6U}k0$#TjxLgDx_S;um0R+xH!|~rT3<$u$hHKTyOOADio?PMsx6o} zIIg$c^OCychcdwxj?OY`jb6VnZAD)x#rj>{S6jZkql$cKnzwM-b~zy|&(jjTvg$qu zsB~Jsn6hms{~Evy@qI4+=Ay#N@`7{0{?L0D5R+iLZkt53D-(>1B}-T!472Q=?)1>uVGt1jOvfoIL(Hj;@Bt?VrD?Jqi~n zJC3HSuS;} zK8ZbL|Gmh2nIxl;Kl3vQ<)vEilhX|(-C43`U0B^cqg39-dm zwSyWEypdG_vibWIX#CZRuY6TYs0Z}u}%F?e?NFQbHT4gN-BU%Y1B=HosI{2s{fHC zMQq@=tn!irIRlGJf4Jy2*9!NRIdnBXY^&iGw-|frIUzQ|N^q{!?Q6CcaVRxiyutco{0_<_*?KizFFf)RL(IL{trkfbnQ7~a@EKB3dLgGDC=m3GdN0n#khbpMTgel4 zAI}w}_pn+2U_!(2&j|_eU-YKoUAwf&QN(P}4*y&hCy;zC?}BgeQTs$dG(V|L^2Ol9 z(T{60aSq9c%)&{02bNP8UmRXcwI*Q{V=n$9y9^8$B5+4UMs;z_*S(L=3`f4hw#Of) zM->ENq%}0v`MHne#(ZEezMc7>$j555jc=QSFYNn!HkU45`gJms-yw>1(7X@R3pHJQ zbom+b1X%1Y^O3LG+xcb5zrW*ZB91j8i_6X@s=IIKkD@U`yEj&Q zpGuS5X^P!s?EUq>0c$98Z+|#rXqD%Y(e_knh1LGMAJRf)yzo5NPnItizdgX@S@Z72 z=5+f1YOsI~Fd&!Hk&pMytKTMP3d=qGM99J41qiT}<0XOWBbzvG0jpBQx4hyfnM!@b zWGuSdOpQ(=bEW$mXYh)*tXmeba?w)ED zXK|6#xR~fIXioF+sSjiKEy(CByWIXhMRzj@-*y=)LrX%%)fN?-IpU{* z#;~a9F#pxf^(UDHqxuSI+RDB!4#fnR%9kpF@TAH5*EWB;o|WWqRF{#ba=VyX=*2MH5S(mDeNbuW2jl8)< zg*v~etB>dco*S&Muebb1)@g-vL56Vv2U2P_7^i0wwS3>4);V9^kXfBU4H+iUXO1Vx zMMdRk${7S*-RVXnFK9$RRJ9~+x2tB^c-h6hj%23yB`Lx9F@8N(G*{@%7n98z1y&uo z3$t^jl=nWhIx=DjMkI7vjmpI%cam9N-abP^XViy0GFUCYZ9}Ee&zhIjzY7955~T5# zC}Sj(ls{OEIK~(_!#e`d3v%3Nv1r5a!fCZ2@DIa7*9}0c%k1 zY8>1SkUU`dXKef9kV0PSR1T<+_G)zBmkZR#9s2ns&xbrDU9MG7Mip>TMiTBV^m)km z;#3;(?S;+sg?4UBQZ#jUsc-U)LIhRyWenuWb%Wsd3!+Di_vGOuGN90fQeDD8wADOh z@9q!MIZyeN>X%4=8uiK%3|6j&Y-ktwYj-PmukUdx85>JENLr830_V&mv_x&iRI^(C zwrTLJNezDx|2z3bU0e2Pq~z1fBsl@(qaDz5)+kB#b6Q9m(Dq1_wl>S7FHv3H<){?ZzQ9^)$ z;+ZGnt}F=cWkAn2f5@RZ7Cd58L$v*nY5u^QHWmYS$$cuY*1=XU)|uZR1mlFtVdjfN zM-55Hn_WQV`}Y8~Gv>I!DTS}m8}VVmHlU>EIX*VqC|>X_v5T0r_?e0|-}aUQXHkHW{aa%NK{V*Q(4 zhQi6~;>OIVQiIc#kXR{V7hs31i?(T8_?f#IwsS>WLy?9bswn@v8^W*Ax#8@t$JRg0 zpY}~ShhFRU9n%?D8=^?1epc1%rAG^BLWX=rKw5JwtG|2P=S2v}8Nb)P@XdOK1d5RJ z2Nqmu0;>;C28JZr)LcpJPRDmcjD~F42*ni*jn}A6)&Sat?PSAK@o~Npwp~wS@e0#- zIfHr}n|E&ia_-mADbjlBt4wXIWcU2>%C9lMY%>cf)lb@DayvGOW%-H@?sSGXdSoyO z+D#QrA5CtHh8hi{6a`gVas#FjD?>l`BY~6LJ?Y zJe0l7MAc-DxG!~Wy09#ZyWslpqut=xf*DNhrnXI5lF^GT`ilPVr5zB-kwCE!Iskp{ z^MqsI&IoibbE&_Olx+?0^gWR=M1^6WO<<99m`$7;Aj5A zfkABCe@VfLU}U=c?mADk?L`}H(H~>3mex)k`fFcUclcLt9lgcv7)A-5z#kdN#|G%a zd8gE6$Bt<{Msw6A3(wgdJMQ0|`UJd-d6z}=yqo5Mk!)$sPF)n0LeXulYun18K;B#J z^@>Mclr^8sHx-GYf@a{5hrvp+>?tQTHL=5YFqG|0?5qScT?rJJ?vZ+b*35%2nNLV6 zxqDUqU`#>GarLLC(K^380zY>n{hGB4x`e`Os2R}jsT$aIKsaPaQoIwadIX4C{r;FH z*(*2~s0Lf9{Zi{k@CUNV@zJ##OjOK)0?}Ji-U+pq4Ah=IrehTck6Pnqr&NzPde8MX z$DjQYCsf>H_m0bk6`l_3bankZmXp++bA3NIv)=eSz{Mc3Tq{slwOmtv zZ>H*kx!{X}oEMgJV7N*IP?wvZYAgtCrRo4bK#;@u90PV$bUSN+zgQU7RhMsA3` z__v(E5ce~V=d5S&fG76%Ek49*8*V+&c+$m6f z=IK<$moVP?=rY4c0%*ZereZT<1w&e$&t=N?^kk&)`pHE*vHrEGLA^^p)Sd{k188TY z%-hld4%Wg_0~)rkEoq%b7}Q@BRmcY2<^iVF9JOaxuExE&Ve?rk_0*$(sH&@597_$M zqz-`^Q%ffs>3n&+Wr@V~t7XopakxSYX_ptTj|sZl(@Q)C$}KuRx}6*weRk;_>&c|m z_uRKYRWmyz=t`tUNnu$z8xllr)K$P4eN9zHUKc|H@T5`D?2Rv(C-3J60ve2X0#?z@ zbCS|6aY*0Pb+crF7u`+Z3Zwf4oYUChh?~=yYETcmIgOPJW}?)fLz1kf%hS7}QEPDB z!)jk?k4ZSdJmMRWvDr5DbyqhYoB|;s zj3cVfG~3W#u0ICW==IVuHLQ^VQ5uKLn(KdfAi77W&){B@s^8McbWimtD#^@yjp5-E2qQ~X@>%=vO*yg#s( z(kKoLG+bQQSpk3h*%nQ9s}$woEhm{s#vPB#_N2az9N7zpVBf#mc9lv;&uolOM%HiXYUgWskRTG~2S(iEi{peWmK$ww z__GmuM$f-2Mk-=8B1?*uxN;t~&vlD;uayBH47PXTRX{F~!larQQQ^T~I%-5m4pYYf zPLfw0xYk1tk@oEc;0B*jvVwVi^chUaR4|`baOYSKHC`qYAxZ2S(mBv7iuGj>kCC#A zJcff^1l+#Q9d2^9@Jn|}nFqo#typ+@ar|PdINe6W3H65l*?R;X$ulES*>m&`zzgO~ zJO$xu$GDR5IjFr^-=vmbB5}VLtZG{Yros^6WpGY+q22A?PEwkI1|9HsF&&y-O);$* z?jr4p`Y|j3`;aAG3$A}8{L}rOQF6uhsWx}v@^c1`z4QCsCLew((m&PWljZNu(QKJl zUbn8zkJd1#?R2}Y+2naV6ygO`8#J;%ykDlRo2^7+6lJSp=b<3)b4Lu+o(ggrQ**l) z?^k8lcnH?zPM|RyEs^+*3k|*8tDYNZ5b#b)onwt5$Iociii5!RxR?Gn@_#WoDFDlowZM2fI2p;(z#O7!B z%q8R=f?2AvUA-qSzH5N>=6_^xXjT41#eqGZaFnJ8bGc#u-cOVn@kn)*Tx!?Kv&*-Y zyII82`JUa;l4`5+V(yKelQQbg@z!{-=e;Y2U({D9Mg+72gtTp4-K*FeNE<>n_a1n| z>@SlpK2%-0m+{shn+FH+fc-vWamZ1=`rp9dcBDMg zen-V>_9T1Z=xlam(@NtfKm{qpiSh)?0A&#Y+P;pI#N33^;X=_Tz zBI0fV`M&w9q6X4^hdycGuxrT6ojt3wtBThnWaLa>Wwzx0t+LhFbd=w!Q@E{hWF(`w z@~_6s@nWGX#4Jv*)`q-gi<2?CY7CUjCF3^fW4U?fe;oV4sFBZGAHK?QB!qF@S`d zR`EG}siij%p=`?R&amE)Z8$17ujrPQ)<2bcZUOImE__nh5nusU+cs_FS1CxzRECsE z`CbRITE-L=<5aR(V;ysekt3eEcTbmLO%pUVyrS1{B`v0BAfY#kj|0sttf;404U49l&zfV$1T9kh;k^a_yMW0Zau&WVHo@QfRS@D`(|M5 zj-?O#Dm$r1^M!gpdPD?sPn@MzYvmtbj?9-h>i+o|4{S{M?#*q_)dThViz z^T9WEF#1$ zm4T)r-L9m!sptG7G?9<(XFvJxX=f+OUpimBB@}qO1I|{|0`>Qce7FbMSLQ+g4v}#@ z33{flzxf6#=Ox`QY7XrNm5-8Zy1e@wTkx!TpyPahw(P#}y4F2}5-usf&TtN`{UbIf z?&O44PeX6TbiK%HYk_v$vu!w}m>+sACQHz?T~A#jE4Dq;-Q4EKru;2#s%cC9Y> zS7f09VD5EZe1LdS&tg{yNl||DdtKB%CMipBP=2!ai4X8W6coA}x z=U9?U=&deeKE16LC-wLz|G@RaA?9N6^Y?FyR)my~4I}q)dDzpp7NPm>`tMIcv`H$=bwXxqGD7)P|&NE5Kr9Uq3l;#Hd#f@Xb7D}b0Wh=g9WJt4@d-=Kui)V7*A+X zTNUu(Oz7h$t|MZ7{z>QnpMQec=4Ds}Onoh@G}ZohvSSIqdEZ3o-m8+?`_Pm¼o zCQ#5!|E5=ZSrF>2t=!a0*HGEwrHf}UG`(kI2Ao|nsxeV_e!W0TH;{T}W~jKUb$w)L zOogGKXQd$XpUR_NfCrK1*!ywJI%=l=$X?n=u4epS?Wg{i<~9vt8~s)4|FC$O;lbpN zRyMjvJip(f`7Cs=m|fz?cy28I+%(iJaDM`+QNt!1&OK#l>!lq|a8Fel_BF4dag7|N zhd;Nqsf)=B)Iq*~S202>I-Eb7}iM1~}ekwGm- zq}NnbB}odn7sOQH=Y&r{A)GV!1_n|rA{MqZBmL~*PUW)dly3M#-fihg{DXtRD~G4U zDnv0meF;;YCJLv$TlJG_Jyu&L=;4&Q4Yua#j9(-K7M9I-^t#O_AFjj*zou`?qZ2xRsQO8%V@H7BDC{EqQ=O&60qtNvxoll; zr|+y)G*c;u!DWSv&3bJ3qTl;V2GoRIswUT(zmM%@m@g5MM?_F6tw-i)zYzV|!3rt@ zaNZx_RnL|SH(A33b8^(!(#g3M)+_Iru3-)yTrp{?*{Ha@Ia1v2GYXWzpPSE!Ba{5)GdrrI8cr7C>?=*|$R#z>CO|?+{(Om{ae`oo{kZUkt^Jr(0 zLYxS!j=%rI{-spIrE4Yjm2b==m3*)jmlD!GZE^Q}@Er#h9X&p|86RLq8^-;ea( zubf5CQdp2Js=&SRI^<>_Q?QmHYK8ngB~nh~VBexjL&tm8Yis@5?Ll5G$i_vtNck=^nBZxoc{6 zI>N#zHGJ;q__-6Dxxi^M2?Hq!tBxEH&a6XnBNgl6$fprMed(8<;%lsP6 z>_YjcBx+6ztSD?-J_9^M^tS}2+SWcCq5Z@wOnEyue8o;D1SBr|!dBB(Be?yyjlY?! z5@>`neGafvF9ExZ#WgTysiujF9C{So$-)#asH|o5jh?`rc7I5E$^A#>uAVP&lZTNc zZ~Z;~yyQXJbg3elBR=kHj_SLQl>45#Xt%HCpNiK_G1c1cHyQ!%Gn(K(rzJ&2Ni}bu zbkN>}D(WinQ8ZKkEgg9@Jbn6d*W$|N<7#>K=`CjJA^Oy`h!5Ql^(X9-rZ=4{?)Tg- z_zAurbA46@ldRpfuuArlgDhd&d169$cVe`M5K+MRDiYUapp2Os22JE`whxIo&NK@z z^e~KEdef5r?WS2^h1ZZH(w6zn)k#2tf4G_aH#(epxENEeYQsLMv~k({$4yMLwh6=r zu;-!Ok~b|a@ohZZ4Y9r>M8WQW(S#o!po#^&F*EEWEwT*MX~=W+xS^_hH4aj9w$2ma z3<>*SN~d~Anhr=tYb61ghH6ikRwAJ;7-n->73|Wl42(%{&hLp4-yTqG$*-`OJX;r# z$nErHkYBNii%_M9RoBId@yh83%m`tIqRwNA1*TNK#QZdN-tU75uzk4?IL$PEmBD(5ZqgcA zeP48pH^0?cSj;>V$Diq8s=ClO;B^waHN|bqXY+jRxqK%-R*1kES8y3|V5DD{cv}#Q zT~+Q`Jj)$9qCKG5IDBZM{7$p|kQ&L}F_B6HB(ClOcH*#u>tk+Oc0ncn9YJ(rZRxL@ zY2tTm^|w{nwKf+TPl{Acav3#>7z)n~Std&HnWhx9wO_U@RN_Vwx$<(&``pN1o}&bA zKAY~9_BrYmJ0SQCF<0$Yc;dkxR`RHW*NB+&fi2*s&p%G)_*J`}e9d4U%=fFlm4z38 zP=5)9`uT(VLGYWf0T(BE05NhNd60nEi0oR=);Pmlo5%F zsN|E1PLNTBRo3Ifm{ujIl$M&lXA5GU@!#W4-_!i6SH@#xOKhUCGAv$;h!>pcI8+%%yusb z?nTlXdpBf8yACA0@Y5-}BXd$h`7~4;-4YHq-%EzrtrEar%_C7Pct01|NZ}Llm)@(hyRJbdN+legJlJ5Yrs zRJZA(;7ng&i230&=@eg8*+xAcAkE{>VssXg-86jT+4bpYor)|wN_2)1ao!-~{*0OW zfymD@jxB>%W>D@!ksvWQQ#9T5-Y*}L0xLzmFW>#Xo1y38rts>e9P>=p5kx<%WAk9k z(&Pa4HsL)ktb|)`Ko0IUMkdJ^e{F-bd>}DzXe2z3jwGu8vDZ_^KLim2oJEDc2D3Un znd2JHp;o0Nirl#5&jYCmiIk&_{B|Kx&H`LjqI740g|a0)7{Bky$~Y#~r5$o>mD3WN zZs7-KE(AuhM-beQ2f+5Dw^8gjxcc$aV;LsG`&atw%rJ0tdQrO*%bmz)sdLNhQDrIe z;}59juWj{l9E%Z%I8+y4)3wNl+DN&f0)8^zdC?bh%pMCFztFR)2&O~5VOaS17iyJ+ zd>}{VANBA~PvE@f1+~<*%RSJRSKrl1FRsGV^Y5gE_r-`JD!&PLdC*v4@BdVjsLfoG zgDZ%7a-bE#+I};3=FwQfSaDwBdOqB>d^xyYEHTU9?p5SIr& z93=g;Mn0g{+_p#tQ;%6g@rxB{7GyQ#Sk}PXQp!i}W23jMEP*!3nvg60iH!s~8|O!l zcO{H^z-U1jr!J7$|$V7H|&B-D1otGeCMa@^zP_D}0+xoaLzHk+n+MGPu*`myNM@XACJ zXOf8>Y!~;>Om)_ypz(Nv?W3WQCP@VPlVkONWS<+S0CZ2QVJ$j`4TF>wV}+QplW#2} zMqUJ1FKE-A!mu{7Xvm=HZqh~b-BOi5i`TAvaCDWchU2d5WD)PW~I zr1W>e=k=g95!-aO`m(x}^{-}IyZue?N9tjwBTNd+2Ie8>Th+`;HP!D}OSatYgM(s+ zQ`>idfjQX9vnJ_isJw=i@&|Lx8e|I7!Rhxhg#MRgrLbqi9{l(F4tv< zur77iKPcM9FJ>|QvR^j&dk>1(%<~~jw0UW7P?Q#$!}uc@(br`b8Pj|~qx<@JuCR?01@a%#rJpp6Fi z7+>9OlK0@zw`_+aTmZt_XJbcM}Rj;re+oJKo@g$Dyf=`lXC=>78_+22^mng94H+k@#%cA@hJ zpC1s7mVHw&@5UiApv}CzuEDe~SNK)SeB-6+$pI$Bm!iHk3*25!$(B^?-v-^MA}g=4 z7Q;|Dqs`6JKC%1E7G6s7&*w&gz^Swh&Mv<1s2gsWAfpzc0I#Z5>gZ%CL;KncYi7o1)X!A^oW0dk)0eGjBK#=ZM(AnRNNVKm zSaHX)3qxCuXWTcTA2bi7zt==^DsA{Ou!UYkbrM{IQF~Q&+zR?vw6p&Cvl2begx--8 zHd=ix*EK|UwifgF5qiLgydzu!%U{Y zW{Tl@oRVnY$S+;-Z_a!LNq(dKxMeXM4#6;Wg5%xAOYIrSQwx0K#rM7GvBclwhAVhdTBn%K?&TwTeRp9&W-iQ;r>;Nl)C){l|QVwl-NbRp3n zCidBC@@T(Fg%mfC_WMb2%oqu~@}P6gPf9d>#B!G;NvxTFPO}_ChSBatEs{%59EX=) zfcFiAd{jtqidF3CXRJ=m81WGwgd|zW#|ovF29VE9H#p4f6tLxYhn7~OysCP?F5T#7 zSo07)->CaE$uXO;dQ_%N{(IglOuGV}A=BM^9rhRXD%(A)#oeolXRlXYJ?h-Bht>ky zI_6%ZophOsX!Bw5yt`qQ?x79WjIdz}QP;W4a)gEh=p~VYA+^F>@suC9nzVq@GMJ2K z`I+67kh+t(Z-{17hJ}FZkA}Go@vc)bn!q2wu?q={#azc=g(h5wBD6vp|3+2gxFH`Q&G5)~l?|HaU=S{D=NzS+F7ue7) zV3ECQ=vf&TlVDPpgkN`i3UkTbWLc%fSk;E-%CP@2c1~a&#IA`_M8ilQBZQh2UJ>Ev zd{%OG-;=SHz|PvK_`Hg&XCmGpv}njcaSf2v1uX@_vQk4;f(l!jSOz&AI8SL6P1$E2 zaqyMU4ZIw21KoIYkO74r&$_?b$tCLBeg4?tA(nuVr?T?bXiE(*DHd)BUl317$F3Rm z^7kl*xctdIR=7}~+B<=Un|_{{KT9y{6`r_p8%chlu~L%e9+UjCGM@9Wg3o_b>>QXa zy;^L2P%-9KIvD_NzC}3@r+QA>!ijyj3c7Ys)}vS3o?XJIdcx^*37Y&na2mDqCXrV+ zOU~7d_o2dO$7xh4b6h>vVlz}mODssS*^SHwhY%0N;1fz08{g}Q2gubd1wWjumc;sK zS6g^68Vtia;EuAU?8x2aH~du31vC9$nsfzb<2FSGxqu+QETFW!>#h0 zQa#(BYtVHAH?cnWiJ^wtwB7J+=EX)=jt^VhJ zlacn#ZSivLr_%y?*B=2<9O*}AMms_mk1@B(2|iNq|CAU%quV+9b%xA?I03K-vx~RP zZB>EdTONUkJV++#_TebasUUzkMH3GTVne9{X_ZK}fPwGpJ1$5{)OEq7ZL~JA^m%h5Y56!e9hARJDwJNS;^X&kH?*E zhcp@uVR(iFZMJZ~CT;qI0g|ci*7JjkaR}vH`%hO1KlR+evWLMXLDYctU%i~p-|}HW z1*FALq9j)Q1Ak9i^UgxiovsiqB{w6RzatZPkB!CM_Q`CR z+IUWi&5`da$HZcjP?%I&S@V|2C$4X=f1TQ7^7EN=6f*R(ggEc&0Wvx+%6#?1w}Md3 zE+a`bsXwJl;FkOYqY|NP^9~5H0TAgI@p)Rcp?vnG@YOHk!_@o@7u&TH*&TK9BP=f9 z>Q~O5?1OE~z)Bis-_|{&8g-u$;Wq12|I)M~&e|pt)Q}H8oNtqsPnM_qC+p3YZ3Df> ziq-`BPvum8bpj|B_-ptoutN1$40gz|EAXch%rd{ysb%Pw?#vj}B-}}o8KkJ)!Z;th zL>uaQw?X?iMNMFL+n=*9udyEnM&T4m{U)}}RFRZP^tWU$oyR8MCtTOGo?B=sHD7aR z(Qwx2w6j0EhN<*yP@QY6H$j1xH)}x>o#F~d+O};^!$qVG0gK_r+Ss36EhP#aoowDV z_x4kxjmP*CU9eVam8yN5*A6!d#(j9cp4eV-O415U&4Z~oKDw2bL?igzlWUaoyzpWt zI|a>+q}o0?X`^bTd8Qw1=#ncD%0c3FXk86_N#lSzPs!e0p9~LCcT(7O&1DPeGOuPN zg|EkdX|L4)8h-PEK~qF~{f`$c52Ea&xSreGJ~$NrCKL6~d*Js4Vo`29=gB!rqHvpY z;Z;+>l@Dv)-a3_PAk#$BIitKc*40O-MoT|r{-Y5I!q=t%f4IN9Q0&I?H?OBAa5$m` zH@~87dL%#Bs;@n}YB4gB=CCstrH>MDoNHw9b-}@aFcRB-h^OOL*{dqSvk$>D8V_#& z?Ymwl_Y7#Wdm#q9ZRJRXmR1S;BkhTT0?tRWH?Hoc9cZj1M|_ML$Bb_iKSbIkGR;&e z!B*Bz%JjMboQhRUGE*9#)1vKX+u{!Bj+N{{xZA1x+u%4~dy9x3#JwHJ6SKL5r%=Da zya+L1Wr;o5`aiOJ?41j597j`J_N-3t=WrSE&>n}!lLi;QgeE)d4bA*B*ZXHb-J9SVSxLddv$_te>ppX_H1n;=ft9oi z%?O6ltqVqk(<$cpQzWTs2s~d^Ay^+U(p<+{09j@+`ywKHd*Ix$I}e>Qy6X)#+!%ZSaZFxOSqXZxqVOyBbS zduiP*3CLASatoIv-rep+(>HGsa5&Osp8+HV#T!M)JWA+lPsyr_{80B`lf|3X-4M8h zwekkrH_}Upe=ylM&;G8kx)Yv*?w8xm`$VJPa-wNAL`wbS#BfNgP_e)7K^ZraI@15+ zpcenh>D4{@RmN71V1{vb_&Pr+gI37=lTCfGv+jNuXyd)mD_so9F-Kut1!h9amH$F5 z-y)nZf3@;&v6n~mnKh#^&Q!UVJ1(Q|L$(S&y!D;l z?ijqmrSd^%>y*XkB7_fA$PpV8bwill-=~n*81d9eI!MoUJZ$`NjD+b2>G&{9XUDyV zjaBkDDKs@=`&*(OlGeKZWcHI3%es~HuRZ?EK*Lq_RoBQOcTII4kR!p!vzH|g6-#aj zO0;uTZnL+3tv6k*yPo)1#b(I9chH8@PZlKC@gc-=W8K>RgNuT&EEV>OG$D6c?6v-icdk!w4DpmBtvnC?apXbbO zv^a6LGaR-=yj`px0GQSKKQ`SyPn{Vr&HZsJfVu1rcizOFxvh(Ni3a8G3n3lZhe}l8 z+Ns%-rI~8Y(3cn)>d^N|Z5^~!wn2tki6=@$mA$PXNr@b5C5yT#!>unoZhMy{BIv0y zkr+AiWfK0!Opp5cZuN742uObCW-#Mx{)rv!>a$#P*e}m7XrQWf@unIbaNb=y7kcB} z;zv6kp`N$eBnNcr`A=t$4VP;fC$D^c@#1qE91O#v`eikEHD)C#ga!_xJ|S#sT)f_{38Fyrb!P=&%Tn-SK%IO7JXC`$10 z1P0m3%CU00D$B~e`&49GtGNHqj|iFLtq%+S#gtV3UtP5ZFEa)2>LS%A>u?X)9|uc{ zO`#)*G+C|I6M0q#>>cC*GCa=SowF|#y+1#2-#`jBKLgGJ;gr(_TDi&98Y+l?p6Iwj znUKkQ^r=79+BOPNlDPEa|9U zS7^xHxFd{vdvDJ7YH_C6wkSjM8;!5_N$!)8S(JII`5MB|IXVeHda;H}ie6m`lY3S_ z;Vn(y0Q%H6GJERUH!K=D@eBciQOog1$5zfP0dvj4*4A!-`sFJE@5+ECy+s1kd+?J~ zMgE&SJf3T)(w-G4`Hs=gmc@9`Q5N~H9Sg4>ub}xlS~>Md1;aB~?2ijmLQ$?+S~Ah> z8MN^&g6%S|8u|S{GU_scW~IWd#;BSo*DtGKUwq{1X^EgBNbeQvfyg#s|2X_dk^X%- zKu0tkk~nJ>EQUL7)J4ldonAeD62s4yxY~W4XMuGU7i~%JxR%k$SDfF6GWyxwfnN^Ot+yjACxcl_`#7okCId|V?W&arOWHvmce z2cahw^HDoGPt*k0S=hjfEvCl5HQ9O1o^&Z_=7EowwCs$vHpm{wRnMN>^&aqu7Fh|h zN6I`QJp|Lv`*YMx{3^8qs11pnUfoX;vc2`{lxO~RS$!k@=|T! zzK^>~GA088ReK{hUiX+@>`%xq7p6{U@D11%gjr7{Zyx_2l5xx8z`K?Urujvc;o%07 zU>N6bP(2obm-}A;eI|n0W&Z#^{{R$y$$4{cWZ;vx2a!|5;uxe!Jffr`Wc+{K1%7Gx zpZ*FFGTM(r7nK(F_QKHl}uI@ne4&i?=-zMeyl zm&B6!pQ-lW6g2o^OuS`RgYyoxb4B=*p(`5~B05|TWjuSHP*2Q0?|PB- z4LaHd-E$Dn`$E4ZX8!!1E9IRF;3Y z*N^mu46XqOIWnGqN){^$x0CyVTse+=Tkk(wq1UaYzGR+Yjog}=*Hg4vrI9XU*jocE zEAndZ{t7MQtymFpC{llnOi3T5Qh(d$#{dAghidxE*Yu?EIDOOn2Ob^AZ7Y4}>#UdQ z8QT@aZSDxD;F{)FKRADU^ya@UG_Uw5uD@VyS+6GD$DQ+kD&MyM0D_}y8g>5UyPTjs z`wG@IC|d4F!g(G!J1E@!F0@HvxP9Y3m9J&F>|Eo%F`E3#Pxvb5h;F0u?Hsi1+1(=* zMQ6o!8*c~j+4EQh^pd_z-Z zq}%xhB%Gcyn%=^dV2gPe|3Hj@FJWlEk#a9QK;=D)VDE=?}3AnJ)wHsgU zxa2bKXJ3~XIOKo&SHrrO#4TgRI;PD}UElV+WVEZmJXb043s}}Z4(fLHJ{#AkxwzEW zZb)5Q1-JlXJoK)r_31{REOj0eB&g~qDQbUEUj=nLeN)34-kkVZBg<#|-zcrkCP8hW zWy-F_U=O!7#Q1kfHXjM4)h*x4x|ZR$Hh%K(F}6-mlb zeNWLRij^uf>CJ0z!Rm^Mqh9!j##fq+la{fwBr+lU%uheov~7yPswA0V8o%!pe;BTp z_Hs5_b@s7kBZf~e%x%X%G41-*KO1;rO)0+8i~fr#;ehBXZ)@+mFXVH)EA|n@MeD8n ztW(u4t^a=jwu8lk1Gp-q>s(L#6dO^v@P?W2J{{RI$*M7y}{{V+qJi5oK6(|oZFs7X~d__BKV_W^!vzCs>w*Jl+5GR7Jt`gkO zGpI6>GBU&;>rs41)}zs6*$RMi2nYBx$*I3(OZ0!U_*S zj!bOt1+)%X&rRI)s>0LeuTuIXWtdk~@YHRqcl`eVQ`Gz$tR=Ih#kn#wkDoml*GnTn zBsu>8mdm^S)9GA~gxVV@p|*?<`(s;=)YBb;_M zm3M!ot3uNt#!n#EMR_z3_(~9XxZTgaV%&IvO|O(=`IPN76x^@wn^sUu-+d2`Kj5vm zb9f*2c6~+(U5*|(IpC`kkzbDf0Qfhf_{-t{0Eji2?B3?~DMWU$Dg(QAE^S4_n9H;z0wjJh!Q*-GxocHHrWm%h=04%o26=BZ@q8b?ejiGL>LMWwR?Wf8(4qv zE9P~i^qWV=-V^5;_ul4bC-6ADQ6TZ?~Il0PB%Ppy6W6zehkt}Wxw%BQ_SsOf^j)H{vL zozFE<{<+TD`0;jLVrc*pdnLH_^*L)Y%FOlf`{RC<5> z5zAK8%&YyZvrTLM1?^Hz#0 zW{m#;wXqxXADY*{@JD@C-Aa9>%=jl6?fF(R{{X=uyh6I9cC9O6&)$FS{HyhHJ0%wn zGknZf8K~ahC8XJaIZ{O~SU!RMuZxP-N9MnR{{Y~Lx~`{k?|FU_2zwUm`d0O~{1CDA z250`%jX@a$cmDudzd&Twjl^L*?Re+4*TEsEU7IxMBVk&}g6VL`y}AQ$D#gZ65;;I(}952AktMeR(6y#yOFW z)F+m~#dOo%!(*eh)$Qnw4l&6X`qWAeCC4%bKm^pvJu4z`3S=mlCclqTVLbD@ehY?8|Kt(<+h1i`{f7~*9wrF8(j`pi^b8ZlWSA# zTQ3wqJ`-5zh~t0lXuf2J``Kb^nvYaA_o?N=WppAkJ&$_5tNcBG2l(CMb~v6S2zv^L zN7t;hzlzXV@7}T~GOjovam9RADGFKD*^0Na0;ch<~7jY9%g7#@|Eq#%RA zmRAvz=e^M|lg4w{)-`Fyq$5*pjd1m6hN~)Dtx>J67CsZyZOya!T0;D@1OBr)#y>CC zychQK*FUzrA@H;VxJi4s=bW)%xcw{W%~Iy_!^3*MpD_kocznq~=Q#)bE8{QQAH>of zH{nz*ou_|S+ClB}j8?ccdWre|hbCbwLQuBr@@Li_7uTD@zYMf%2;F?$PT_YbJb(rd z@~(@;-W-b15pIE7Xl876CcGcvXuZ^aHu!%@d760q*O(0Osu7KSHSrTn`v-@f_-AhI zhy9UNDMp;)udDq|Zb{XIrEMc+@?Y@hIpIrWhDCpjHs(MJ8tb(Ak{IUmmuBJelis}h zO}+aS&8wmog5ph^$7AbVcZ~Hm{{Vzm(C2*lzfAuCYJFNQC-!#nY~cLS z>CD6Fz^}|t*$UPl5!q>PG>6D`d09vCoR9IZdmwk`xxt(!sX;F1s9inJiDvslDMWVV z&qW_fmQ7uB%q_nzqZ_^I-^BfX7&RF5+fsk1j0*)rRDKUZXRqGfJ@oObS+NX-hDfiX zO>*7re5FV=K1l9EajM?m67FBqCpBW(bszy%kb~UUr^%&h*Ve^6v=NXB;-fe5qkWa& z5rKfG9dYkidv3_Ts@dJh;>C`xRv}MK_ zW2?E;tYeg{N*J#P+OstcW^n@;A^p)icjKX^-RW}pYEL@lyq~l_IOLW!p?oH>({^0C zrMB(exitzap`@iJEtR~HpTA6#!R=JM{i0@-;2}$c7v zQgSO3!q&R3pRG;(y9{z#J_3JiecMOjUH6}+>H1(zHU(E;OB2Q@lIdegbpF>dUrzAq zUFz}PN~;rqRAYgUrB~MOe9QK;cpgY3vF_iuDf-c!70GaT_@E6a$}H^6P(lm(*iX zdby@+Qt7g*A^W|vS=XYfEe$Z3heCII9+|A_@@a7yfXblDeJjm0op?{?+$Jl(I0NLu{ zKYAhB%sX*jP4H{O3*&zXQ(lq}GVaprV&r_xmG3?+(c;!V3PEjklCN)qdy3#b4&T|? zTS;eZ@To@Fxa-GrUlD|@C5Dt^(f$YDW|SlK_*8#tEAKV+MbZ8+SzKwhn{2fR9LFSh z!H^990EKy!`m*?V%ce}CR@0=&Pwud;cU$q5{{VzOI$U2T?wWtzW0hV5jMle^E)&H6 z02E`@BT$x_nr2T=FysFKuU!N)0 z$+G^;X6D)Uk?V?!#X@VLZwxZvBJNBcrnR-0T1|T5;jy|y<`u_4YZFt6&EKCN`jsCp zJ6BCM?{;~WlCx3U^fYhdT{FVAvRvVO!?6DVy-;cTTRgI3rU9pTu21a^63#g|4B@t( z-6~jT{>p#0o%a&bC>SS!)1_a%%jRbn8`|0{9)0_8X>u>@z2hjy%3Df5FzN@(Uz+~_ zu=R@BcpFVURwx{9KDib8Z~I5y{{X^4`!x8dT=W`yp(pUgesKQCP{$90po9UnWM%q{ z*Rzr~qcrz0&G}qn;kEw&LsC0af8x8Tn{y5OP`7_jGuoZ-FT-|zBlw%G++0uP#c1AH zh~o}@Yj?%gBS-N)%rT5AHbyI$@HUAijpF;;q@4%aTP8o^HT2uZL*v`ES995Q&3+vY zGbOZsX50l#ee6=Y>Rvg9DG?2L+?vTl6aQ4<{{kamW;?o!~|hQa$gJlUo+U>{{Vkz4Y0(+$Oot%mDOYZNTkvI{g_~rL=CB<)*F9X>}cT`a>s~E0)R* zyR*%9o)++lhDDX_8K(+KRvd%vPnpI(@rtCUJHcpCIs}^aj_pccHsP2&amap9-Kl@x zA@CL6v7rdB+#?gg&kI}9_-5y9cQ-Lf8Qc!j{3g1K{{RTV;#&xO*=1D=f)%m4x#w9z z%{>nKI9_|EwMU!j9vBx<+veea(Sc3DtFF_$H>M|*9o*}4(SRfoRQyxnXgo7%8d~mQ zkO(K18RohF01?dkU8-}nS+I^f6YGCftwnUqxm6ijQM)}eQt;#&hMucy@RGT4slqz&Zj1&1d{3y%e1z5r9z!ZJ2#Kd>7B|o#y zr6!*!W{%O$bJGBvR=AbRB{XG&_n|6s*Gr@9=ymBM_+fdcmJM~M#$$il-AF19e_HwL z$2#7t@Xu6*Razvyhb-9jImk8cpAviy_p{jfO#W<;tWuTWIqZLxc}MLJs(qtNw$il- z7tFH(V4Y7V9YM$AUlD_An@y#;_Zh64qwhO7XuSUbq@Ao;o5&Uu$5U`EA^}A#k0w+Sxi3sETC7Y;iZq3jcYz`x_r*p_KemZ z$Hn&1!}6PWM&=!JUmkzKNOZa3wQKdtw zwZQY|k9N{Vc(2ay+qS{x{i41XS_Jb$-OC@Af4nh+Mghi6c^!Ya=uS1IDJ>+OkJKO7 zj^bTAz-gsSRJhWimB1Lo`D^_v(R?GWLE=qEY@>8`%wr9XgdhH~uPgnR?w;Sq3J3u$ zwAka61JeU#eGTJiB*s;s-aedo7@bCn1i6T~;RmZ*PPP?%yn16bb;uI0X&ZDb{b09QTgU+g>27~b9Lvc>Y=wn6k2q2c)B zvhfs5st`wo2kBmnQjIQ7sU8(sN>$xkSvUAH_lucqbr|iOe(*=RN9R~~?=-SNPC_4* zhrW2NFBIx2Cy74L=Ob-1;#lkux~zxHYIBZS-JSeQul!2|kN=Qn}1 zCGgLI;JnWk@rNe89E+Xv^X^uBsYVq2i_qHmova1;yLDhxjKm~U{qD6^Ye$KZqEFuz zz%@>NV0eGmRgYX{9&C|?Qag&<@LimqF}d;^{bUk?K<+&&>fw0C(mp0?H7h<-*!&5m zO{VyA*(YG~ZO(sM+5^_ASSQ%D_>ulyi;lHVTk%8|T3gH?a8!}v{dm)a)XNu`kP zknm5fdNgTrtxppdUNXIl7PpXH+5C{~Dt7+>y;^<~(rxdZ_k$|O)fC`^SkXk#C<|IX z9Ml^?)Xd5_kb>jZw3YfCQPt{qR-O`$DIvX$yr+qNR6o|X^v!(e(7oYPFPrk5de<4N zd_#Yd?gxq#*pdt$YiHq}t8=g23sMJ@3T@`ODkkH3o|Yb>RTOFNZFrZ)*AZEUj@Zo^ zIAAf6Tpq3QqfyfQYxZ=Fzq3(rGCzyIKb3lo--l;N3c<9NIXMHRL3!}6Pu4Bh?GX<< z9IzFPD^ZHr?VcMEQQxWM-XQS>$BQFKe$szpV<>3)=Q#%zzP<+4yi4|1Rl>kN>n=kY z+qU>Gr)d5rOTRlHxNU^@uK3^EY1aP$eE>nw5mi$dl3vLLJiWO$Rp?;&f8o`xlVn=w z4LpmMC$&*|bjU=%X%NM40p;Wa7^r-0vR{8Q zCN+E+G1`hW>Pz3K%<&Z|D^sSlN1*tX^qptKOLL?))UsWVwEVJXxF3aDZ?sD+b2P`w zjO26otB29GQ*8~l&)ve1gfWhJ9`(Cvt-b32s&+3yTgo~ljz~==VkFFsQ^!;4 z-WrJ5vouk--u|MvPl%e*i&GV#k%2piCvnYsns^m#^oL7z3lTpegH!ku;q{&U{{WLb z0i1F(-l{TCCR1{<>U`y*+gwR-e8``!c@^}|jiFs>KeFbb(|_CCz`Z{o=OWf$2l zomS@C45vLnuPptiJ{hujwWLInNGFfXj4J03(Ek8h^X-4dI?sYN)@bFD7G}zjagkjf zh5Jxl7z|px3v_T5WMPt{y?lRcaI>dV+S1i_KE38Rdh|Z6iA_rTo>$`k0EXI!g{)Ul z$Tspe+y>}s&%^B!)5iA}_EARP+TLJg!u+LsPI8KP6d52scRBzI@G$8!f_++Ja7rGo&NxA{R&SF{?k7Q zHLwbq??Nj70Kmm-he|CZYUb-yl)7rq&|ldm#7*Mw6I)y#noDsAC%4MA+xVMUz3@+f zB8nt8jF(0R4c!Si>FIyPai0Q;>E1EFyNS2G*hj$akfWc*y(8ju>7eNZ&+@I-Bmnkm z@$0YOr25`k2_a624U+n|p8$V!yl6-$=6H4lz=>T$Wb-zN0OK3#n@FC}RoAku`~qI&MB@fqb_Ir(_}dRHa=sdsqtEyTpe$014J zRd0r#B#*}@PP7o1?in!qhb{(ruJ2v=DEAh`LpIhVAE56`nw32ncEne`wm8(fNC;i) z^ahKf9$tSkaq26S_^WK*67gIxTgfMuiZ@A~4Rl@_*CN#HVq#U8jAVZmZOzQCj(WIh zQnkyLx@5P9BSzk584`tV!jP?50FKgnx<7IbGLsJbqLw^M;TC=QW)}U5d2?<#8EP}(-j<$t=707 z7W_*ZL~kv)mPND#h}WxoS1l|${{WYW^zj&(Jt;`^OYLHB5kqY9UCVDgP3E{!)C1F> zrFnnXk3J`AI$oemb2bZ*;2w)qH2(mL7aEBBLff|a7v{+OwS{$}-gu{8VmBg9$qmxF z;~1lgPH#pn$HhtY3xWea(b}P~wA6fGtqs0oD-Fm1q+bZWku#!2=1shE!{sA2?LGnU z3s&Qu)Ezc@I;L=&!OLxLzHeN_QsVbLOW-^YgB6mjfa655OUtY(iO%gc)q+q{^ ztqUn#wJVExAqxy@3Qdk&;CHIG{vBOb?iS(QBoC9@6@=vE>}?n&8?(94{52J|(!qZ` znRy`daoI;7<5c_$r9PkI2^r@OC6JiI5%P~ppTsxbMu`p7X!6|2h+N0dmcIW0m2$G* zJ&vmc(n@1hVaPq}m)??U=S|}YMWv?au3l++eWFPzRC$Oe=xd+VH0ZUBJrZ@@4(yfn z8LXx8EHlK?8S{bA8l|p$K}&nxJ{W(-BA4Z3>&;>8WgYcBC5epRx~zFm!>{-*zrzoS zS_QR-itN70aNG-x=$=_Uj|A{*-hLhUr@|i`EaRWTn*D~NXI;W1V$28P1$ig!8UFwT zr}$6tG8>Dw(&f{xm=Ye@_5gp~7!~lJ#ZTFvR{e_nNBybb-yLf32%B=jBqe{B9-r$! zrC{>t$M|l?m6q{#U7A`d@t2zYQTorX{2|nIO*x)xc@awIcVk>8z2SSUCHFLLW9Uvk z>93If2Y--HPG z-KXlL$bGPezNYw1;vF}}nxiq%qqc85U?O7J_vkD0=l%;H7{5y&sz0+j+3Pwcp|09Z=0_!(NIA~a@|u6{Jayu`9~yW% z)$cx2K>Yk0Eb#ox2-yl?xTwb;TOgS&u>{uSt};y1I?HNOwZ7@8Q5 zn-rwsqdCv@^{+m@8~3hHbk)5!I`G)uSbHV2Qoox`v#9u2soMB^!dJ00pXoOVjjVc~ zYRdSO1@4Dy7|e4>T19_gakv~;o9O;4xz%qPCObaN!2t*Ff1FpN{A{!l&1YzYqDO9p zNa{M(@^aNrt2zCno*PZ0qWQM}07CbHG*hkUQ)&C~u_2aOPw;>Wlw?M4UNvy)aMH|+ zou?ldE*D$@voya z4N@ILPl?UKZQKGT2WPQ4D7WM$byhwjbIp z8MYR)ruEqRv*LD#p=&Vxidk*LHbH;lQ}xAphJ~Qp_)78O`%*Mfwj;?WaIX>6{8OuH z1#TZumwD^{b6eUKjmWiwQJ(r)+&BRUz{lrKojyftn^yhfw?o(UE9mcRD#i zJ!^{Aygh$$s1R(f3&svk(rc&iv}@vPD~Rqs>EK}W6@{(n2g3Imwzzy}?veih*R3tw z;-->zOr>KnwT(sSbF|>#;f47kBlyEklJkGd`!09$lZ+bH9uKl>U{WxLpg7Je zXT$#h3oLI1xRHq`o!e^})r?DpKWOwu1QN@tUcvpJrWOj@PShVYb%(*az3rOsv->jR z<{Uj>2 z;46Q1SYn+^$bb-gwt25e)BG`Mb)riIyJBfDBwn35S2Xv3*}9RP6mCqY2c>177~NaV zsN561mjDdlbDDKIq^y~hA7=@B%J(|2_(ODG2cpj@Sr72!@%dIRwW;a$I-|)F0v&Pk zo&|XKi+(9;uCIGqXULsJyKiJBsB;9H~b9(kl3SQMtC$ZW3IBD{gJv;SgUlcDZwpFxtyh`)qFJZG4UhH72jeEoVIH3jP*(Eq=RV6!gr6T s=8uD(9fr%ok93?p!{CojmA9{1MwU-2F7mOq0s0!wOZoxRW6Yklj>_4M^J;EuYonlgZhhzMXo zcmb~G0E&PcL`47I|7pY|#Q)l@n>UF`NNMR-%*CcXV{#Q(Q;-3p++eIt^{mzanXaD$eJn3m|e6Tkrg5Rnkj z{sa7QV(ecUY8TS0*pIt-%;{P)1e_8f_ zvx}Bs*A2oP+$8;H7tsx0LMNuZN%Bzm)?Ec1QcI6}oXDB3|5T4v8mr-dzr+nPr8-ENz|^z^sz$jp)VF2YZ;vroV&LRN;U!121{ zKiB3pJ=QVDcQ`gdR`KrKZYe8xcv$e8052KPps%^zimBIe4F=M;osE~{ zDr>{miJ)IW9@l{EB9`IV{n;_kkQbSXBP2~j+E>3c>yi75B zf+{(s$%(Z4W0#8shn=w^RREAzQjxAF1GHK5f$V(Bz} z0wf;=u;$1*jsW?f=ba4(zAs)2-gB_bdRXr&;`>;Js7`AU92K=Aty zp2oNN} z_WaZ_4=49dq8tV`xcIvz3dq2U@Av%)brIY8o2>_)=4-p#KAS-zb5!GoyN*p&%x(RxhNOzNm+$#(7?xdO=j(z zkjQnPU$S=CFdo_CvSKqV)Gzz*)8fb7X$1}`(>&A%S9FxMi)E}xg>8FzU=9B zT~RQl*HsRv#MRQpl$B3QN(~-^vf_^XIV8Fupm_HoGub)$PUSDRXQb3l0+b&6K9!G+ z@C>~7{K1!fTUC^DoEjr|N5DzJ$(|Gbj)r%t3wxmJwm0W&Kex=g*t3l9!NOS$ zx20H*+s@oRf+}koFJDX>X|4>AiSDr_^CORbNf@R-;4*7P&m+DtHfzJh1a>%cWLz^T!mN!|o94FOE{piammnt^|I zC4`yjVxG|^?SAJho5WXkz@aQ+W_ zPlTDBb-u2CcJ0%DZQ-dI==M8kP#PF|QeZK@yJsH4NmVtAmJ+sY~ zx9z^Y0k6hzd=L=_<46MZ5!0e7hpxj1H3y#B3$VYeB)64=eJ&fJu{e?pTQS~M(4&lo z1w{DvTuW)q{@m1NlmoP!renOYuYiqRDlg+~PnfF634~`mK%-12U!O6*eR|(&zr^Y$ zvhXkdQCuM2l-;aQGV=TLt19EOlJeQFpCcl1s0l;8Jd%7~S>NbR=y1#7!*KUDTa7>V zw{p^cWO0l{HX6?_)W*fVu;%X+`Pr(_!(E`6>-el;fK@;uMUd&Od-1kI!T3xruoNZg zQGh?{Eg^W$tRFn3nCm-3 zcn`WbfQTSWdAn}ARPwqZ6v+*S3dN42TT=q=>bqLMQ}VY*98*0_bJN}jrH^^KIMZ%` z91tm)*8s{U35O@~mo!@BxgP7IMPQB&Y4{(j%NwnqhE^C9wI?BZHu+DV%NrJ+7xTQv zHWECreVR|q0QKB^Pvu7__+$EudxNF*)gnz+=x-fau2ps4UX@3229Dq3SllxZbNd`b z-{|(7in?FQx^13o&(M46Yt6HYXqP-vZ7zi?qjUUBTl@Ozo)K%C3t&1&G&HX@XbPZ_`Z zr~X~)G>}eV*Lw=_B+4Er&*ZE<0yeE9RHZ>g-*3 z7QkGTu$P;)Xt%XgzS$uo_tFHhn{1ZLqMqC>Y?>8`SkC026r-4-75zoY;1q@F{MotD z7yyc>1$~n7Y?Oh_BU$`gb^Uiu+C3cKq~edQ_FA-dVY9nA$gpdpr1~uZb+f^ zkN4XF^1h6DjP+vo;}n$c8}?_xN$%^s_}}~68XwPX2@jLGu17~htCFZF4cSPo8y}?} zWd^5eHVX6>>WZ#zN?5~Pc9VRR3_oyCFM$b9%SjE+woIjs14uX#c|BgK?5+X z>D7hP+O%|KD_WjoXIwMiT(g6Q!N%@Zd_v#{NK>p&L%}g3Zi|Bo)Zsg8`fM87uD=?k zzA9EZUK)L=0g0}?S@x)dqaoj}ug`s&!)P0bR&!{1xGm3$lyz8r>dmIwFz+bdTG_>c zai&Q3Hyq`tjM>d|Lqk_C9VJeuatsB1MD7?fwlenYn1vRXY22--i7LA->1>NI>wi8k zXr{Pb50T=UyegDG41_cYhI6#CLRYDMyHa4M!?cE{le&(~#`nkJD0LPk8NOy4KAxv) zId-jh;<0KPnzkH!gNhmBnU@v6^w~bLIfUms8gqPA7rtlmy3q;>@#O6ZmIbk=Sc!@V z&bWn64x>~5mR57+cjcS>S;tL@+)#P2d<}^5?U`>L{#?kTYs`_9DU`YgwAbcP9TiQA z-4=ZR!lOP!%w=o#-Pnh&Nx1Ig1{>~ILpQS2(+pC%uZra#KILcgHacZ%vJfuQLvY=j4?K*(C@Cn^vPq266o=F#ds8l4w;FGtecs8eP4GOaAC^_bhzkMyPc`FUZYm`p>5GFKNX zy%t2YM6Gqry2l`&M7@k-^no^pbT;39wN0mo&hzM<8HZY;fowNfm%GGl1)4guN>m`l zj@%GcCO$I$9;Pj@)ddyZ znCDd%wItwKr}9ahNO4-)yAM0|P4z&eumyRvV`*)BajC%LIM3|oYbf^(__yd@O|AJq zn>67k+7U_!02l#!_CAGSxC^T+mF<;=-3P^wgP+>PmA&#LkUlN*upc8~9Do|KqrY#Zm;>c+Iz#P{a79$WSCNQw<%H%}p&cAfO&MntU6 zb#<1=8epkEb?mQUJ16E^{?fi-V`S|(JsI1NwZ5r}^ppA743_QDwUASAm@-IS?KXgF zFg~5Uy`e6xy&=+GfV(frN?wgfa`PNny>nV=Hl5&{z)HJg4n>(6z8&8T|MhNmLHj^2 zCRx8*Ge@fJsnNF6UwMYg$$X8a>KiWum;BwrPZX@2LDeI|0q8vX6<-28*=WA&b_Z@Ybu?B`{y_25pS<9nwqvbD>CPc8+1 z_#A9D@~`3QOqZuze|d-|{$i@4KS+o%HWXXuQ+c8hqfaVXjAxtFOoUP9a6s(1;5OwQ zkmjch>rw~0`Y}Fm>nWkVeU!ze)$H`1IU%_t0ZqCHB5Zm|N{SzMGRW`{XM}95HXAMn zt|a!KJ<1aBwLo@5YtFhD-5@-xQ4;(E-a$T3hx=R0#iINk6IVUSU60VNQa%Vdgjzwr zJUZsQJ=E-cK_2Z_`fc^Y)o6 zdoGl_@X}7+S>D$4 z8t@@tLV8GTtKxZkcUpwjncC6>O4cs-!DJp7ujhQ35V+HVo;Nh-4&-=~#OG=yOmard zR2G1uPDh}VO$m=_fSP-dc}ia37 zf5mnsott(tlB*P4wAA4xk-3W!TvzrUgfAL zzwBW#ZiyWK-7@tc;_=lE9n0D=`(&5K3X2Qq-Gmq;$~qVw>XL35b`2=P*O5t^^K@LmsQy?QaW43i|?5S{@(Uwr@|1$`1sT<4c}^J(47*f_KU1kRX&k? zaJ9W6mNq~!sI0vj7xbAuv|+h{wJNdJB=buiM4`5dif^E)MkFMwy+Z7O*%X`e?r_=b z)b)#!$EdxbPtr*DN{(7IgRlQFhzxvVkp)sLkLi2wXv5f}n>?MJt(J3HT7^=fd)*J^*#%-AvjxF0$l3uZsrW6sOS zL-V@iu=M)7sToWvF7eozEvYv8JKhzh&ccaC^dtU3s$?c@Zt^3I}7n-x>x~y4o zM}22oYQ4;jFnc+Fb#5giw{wIz9lY0vQ861!7^ob6-0=kX!4-%CL2#0GaExYd;Tg!2 z#;Y2+DY0ki1wmB%hVMUI91^k)1u4DU#F2QQ9`C<9tqV#8rvSPB9+19Mv$D60po9g)39H2h|l#- zc)Za6$&H(ZwZT4Job>?j3|MA&k(X8n*$gfW+^?x&-CJzEm&gSGsI^J9SJ2~`AuQK` z&%xaS0iA}5FVPU^4JYJ>d#0be*FKRA-1U?|Sb9~hN2!BDKY?K1t``yz0X#WdG; zw9rdb@Aqsuxvlpr+iu-!8+XPECRk?mQg9Y4!M7G>3Ty9nHdl}Gq&fb08O{uahXODl zPaJ`=4Ds>SzNcha0@1?UPcn|`3=a6K#WAwi3pBpsMgu!y$b$Z~+^iWBl@nhaqLBRT zP$^vBXeZ}%da!58eK*qG$VQA&;D>%v@&09P@isK|u&;{JM?U|Khd3{|#6>%z)NoJ` zSFWw909yF08)*=$W)B5&)NtVLY<6)}^n?nC&79EsQ9j{L-*r`$;)(}>p>4!1>?WFM z&#_e#i${$}H@3AN;0||>oWJ2j7Fv(y)-=xYD)l5c^|jcSgsxV}<4?&nLrt}KvT!$s z&+@mie3#-Jf-Ip9c9vI|I$@laW6rli6Y}#GAuMGih_?t<;@Yy4vm?OLAz^^$n%w_> zUNslub`LRF&H)>%kY@w?^dI!-I>eVlxpjKZhWuc96Q6alch7cFE?skp3(=mQPD4RV z4o_EN7zxaSSp^>x|G|#=Yd&?4^voT_-|yb(CNMj_tM#4X?rT!9PdxSilB@V9-u3T< z&(08#d=1a~dRB3MfjY-TI1Y~&-k|0aTtvZY88 z&3t;p4;~5L2EHIU+VhZ0b+FIQo2&dL4;R;AM*O&)AQ_`fTEs7#6+Vi?K1thDK{6gG zvA+oB8I#jrm~EFf6S&nuqW|XZ@ky|s2}fY9;nMP^v+Uj7n839mhN98=<-~v9k>aL^y5e9jq=H zt8=_-H~Y!-+z)4uVx{?GVn0?-=Xr_P?|cau(r-Dj8}Bk+e`kG;OoY6|78h@sKYV&m z)B{HDVd@2LKXuX4KuCsp90g2t^9t!1nQJJHLNrB_X2KbJDcs)31Q<|kRW4|KBd<-D z>NyMC!c${I912Txp2_>k_{Lr!e`>nfK=W?G+06z%8o!Z_*wGA(k1*|Ip3U3ZNsGc^+KeSyqy@I_d9xjBu?eBzmEl;dPm zS&uWzW26=_O?YTk_9I@*0#r>I8$Ge5HxRaEbkC{MVLW5qBQxdi(*5%y6uL=G zr5pNNtJpaG>KYJ%8wl-8v1)rXSt`Gw@ilsK&0Bsl(z)cO=4Rs2%k#z;vJuuSOCb01JHK1FIxlzqIv%61s z{c~LQo-h8$x6Eh1XL!sy1v(ju+Y)zBvPbF#H=1fK24_%eKTYdgq1rR31?|(bXY61pV46NH9+5)@zXvLY*0IjT|@-pk7?4&j;S$My;Dw# z9Sq8a$c!bjoUdx9&MZsH=OQ-|od+K)u&~o~3_PMdW>+2A7{k#?4a97(cNR((voEUY zrt@lN)o%OmXSllpZDPWV@GMbkD&tr5NVg*;?8{?B?#HobHWGUU)Qv>lrIjXDlK_FKR@4Fp-8D}w(cXT zug@B%1|UL;Z3l@>K*%mdz257iiy24#*3Q?ghCqcr3wDF(dB(YNsJvAh@y!K60c;=UUc;8 z$P?&yeHpQ?NO?&NDhJyn+U$RU3@~ZF{b3yWHqHTLG6VZo^|uU46ev=M47a!P+-K^; z=(Ud&G8q&~i)2VwIn*hqr9Vo|vwNxqbU55i$QsNd6b_fOvRDzzdH%U>g>AquvJzzP zP+##Y0xPUHql{j(z5%dLUOprc(l|oy;REKwlbxgMMWHk%D&mFibTBw+B!AU2)=g3Z zC-q^BUzD(-W*`5~x=H`$ST%={t{-BBIUjL0?jDKt6efrZ`ytzm>80xif9tw~dxO?KEzA14p_aPvDob$Jisu9- z(>N*wSKX|8HY}_^zebr_Cjh@WcKnzBtw5|)5=X0A+i;fjw8c83#}F9Yzm>ldfa^AQctr%w9QmJ26Ucr zIY!JZbu(L+HJYf@32j^hm=3?u^hm;J2{*#9*CmJ!%eh=1M-lkad-%=IJ|4O)9sJF_ z%?oyO&iVed1&6I7prS0H>U+0B)Ea-0Yj$P|k7UE^Yo86qh?~>&=j@n= zIpsI(%)$pd&cAssb7p?c0S-qT1!{C6gYIEm)->q6ddueI49$Jaup8|iQ?s}8pbFXV*8+!~vF@T^Fk z71%9-_4JEzRiidqL66=8Tya)ovw+h>Uf&1A?C^@^QrEXtCUVz+`aXzVv!;y%MbCwb zGWCZXy~OOX;e)?Hz7WTTBs`1CDqZ8IC3rr-qVKKS0ZEfxrYdUj*HwY6A$`;(2&Xzc zaO%Ni%jWkS`o)hSTK;*4;;RLVo}n6D6zM_iEJC@p8w&p4eeHx z8qJ7NHU6K07c01Xs~s!Fa|2Q;BkspYul)5 zQdn^i$WArF)y6qU=}b^BjWzQ*{Mv9_$o0PoCFgIl`87A}$>8VPmpT!j~7?I%ehwkDK&a4%?URB{GJh>GdT;5stjl?2lIw zL=IUrD=M)mFGzBEn@RmgwV8|;W{n98P$T4{nyd|U$Z@lCP8+MS+f>h zQOU}dnlLOB^TKKQ(&K*aQS?v!J&}%U!27!BG1VzB_j>XPUF?d0mWx$a3{Ns7JIFGV z%3ml{z-1qP4X6wyIdx@UaLCRJNR(yEZOiXmeR4`7qr%t)al>$|Ty7c@Yhi8{J zjvF=Yx_i_j)Gu@1jCXxx@fdOCYWCyUV_Tl~b|c>L|HQ66Ex_zxZC=SO9P=lpzp4nv zk^^D0Q!m!uvxodbuO97XRr-GFT@x%UE|71Xo$%&px4Vb$#ota)=1Mb|T#NL7DqdH} zch1q-4344Q(!K_0zPJWBw0tdEq_Y{g#3HUVI|*eJ&@HIim;Y2$Xcrq*?D&KhZ>wIc zB76|bNeyga9S2yRq>f^xXc;^FpG)gT`zpZy_RMhff4M2gw!!i*+qW(?&08hM>+!b>lWG1emgn*nEb3b-ph@<71djCqS~TbZHV|bJD;cpkpaJ1s z^ES%|W`I?2cVk|~fo4z&Ad#S}puLA&4Fa7x7laxNoO5^;HgnL^`%X;^AL~x)yiN_| zMaN({mC})fX#RLl@KlMQ%&~<9zylNg6t0}6vge;gUjyuLF%0)EcdaV1OZfSirY5zb zc@+$u3#ZHvYo`i{*;d=%=I*O!_OKufy|Ne3iyL5>`0oAUKbFb6tZ|R zy||fQ`fdaQ6llgBem9Ve9z79D`zi8nZmxQ1C!vo^P8z8}UEo@hLQ3>|fMckt^r-+> z#c1ef`KS9qD!32TX}VW%yuh^MUCT0|1WTR<*Z3QCQ&*WBDpf$+L`C=++pbCU$<|V} zXIBA!frD<9-$Nh@yJcR*~Vti)O_Y)Y^Kil#8BTZJXY-IJa9mT(KPgqaqvilAC*?n%J2>hue zdbi*1%WywSdCAHjH!;oP`5c%Nbe2I0rB{8ZAeMf3pu5JAY^mg3j81z~m)u0W?xtgu z8WZeRoqwJ^f9G`Xb;9G3ZVjJAXFTgfDeV_Bet)Y{)eo1+zXaCHExaOq^ZP7ip3?}l zSjP7#s{V|AZXjHJUf+90w+*^2)~ISNe4v^?%)ii+=Xa7B?p>hWR0yCdHvEY`*+`!I zXc4GH-x8VWs<$N6N@a@meplP+0&Pi@Asvqek4Q<-@&OjP2GOwCMdcUEo~sP&ETI~cVrVgY|&k2 ze?gN$2o522NwNF9tr(lc5Yf@C(?#dbK-3U#dUlP-Sqgj^O0g|%m-e_VrazsSd2dbs zQjS3z-Sd^?YK{pqwdQ)R!k(}`8`ha&?9~0|i*PGQeV`s=n-{>OoRG}i)tKg~dN!!C zT9!bPpF%mxuMCU?tnR74ZXfr z*i8C^RLU~q8<&0eY*hoAJB&S+|4v+EIv&%^H`&CMGiNeHRbo-|jH%vjc&tgJbw^-0 z+_EMPBIxIg9BHAQ*ga0x5D{9qoGFNR5dY@$WAd0~^_yP)>_HNFhML$a0uGDN)4EE5 zxQUYT>~ae%=>ppu55D60pzMxnF4oiVTDN2vCKUsnD{4P$U#i#)XYBNuugr<_r*@L+ zE7H1($kTe>*{0Hf8_tlwJNM0Px_IR)#}TG5E>QbIfX;4Zq0?srQ z(l0*e>nxRwZa5?acE5i@s}Zk2=VC@)*MR)w|K3+_L)HJgN`KclKh297C6i3)e*|g( zR&wXaC!oKzcjV-Uxs*-`Uu{GQ<95(<9d+^#Di+4~Xg9a&4EJkyKjp>TX)TlVUH?bpy!)Q1Gl{1wvs8vB^2g?ZebJAd~_~j z!c~l!MZECX%wsYiGP&UBE(#i;m3A;weA{%)Ir^a#XcqEz%I$d#t$Sk`1 zFF+`Eb2Y1~pr9wf3?Wgt39P+UUjzo8@?tWJ?U;^`S`;iX%~{V#2~?S{7z&71)ijuE zBjgPbsiMKB64D#LAp7}P4O3O89hx~7r4T%0V;6cc*Y1khD#itlaohE|*8#1n4Lh)m z84#aM-(w`k22FGTqn)a5U;SoR+Y1OHrIwS{e~^f)#c7WRnvb6FrM{?aQaWkHD_G5x?ws!nj>LfIi?d8J& zp2aZt{+K+qKo`s3;IcX0B!e%4dr9w=$A}2?eS*v``WwRy4(Pwwn?4O_em2C}NRx8^ z*2TT4c%v!mLi_Sw-#_`AZVION5%*n61PHN~^E*rV!;~=23PFTDh5t)cxf5xvFPxoRnQ19d=|=Q`TFTIYOa~cxE@AWmNyjpgr;NguFtbY znSMFpAs{oXkRT9#ALF(kbr+n^Q?+slYhT3+ zXJJQ|@3Iml2D7QN|CqQ8>0xtfucpC1$?pJ{{0fJqfGOs1PFf)B6T=S1%|n8QTB_TV zoFHE@gokYN1a}F@rCr8YOv%!^6>ViNyinS2FW$NaP#^Dc_NzTm;J;KqupB|gD-u@S zeXM(1*l8Li`z=G9BcZSx9E+2MH$3YRjZ2ifPn5(6G7m1H1aDB|bXH@pmnV0Wv)(5B{v58$vbVs9K)QP_=q z6Gzj03Nt1=GrII3^mKqZ+?1{J-c*wpp4z)-xsD#44WkcJBEgI`QtdXw)k>=_f3ldzne`^)tkN$^a)tZ76TW47^H7;)JqwXZP=z$*eNnR3C3dKiI@;qTPL+Q^!Kuts0W zpJcb(#-|fLKK|>XkcW&(U8%;k3r=;PF5KuY=PsEX9PI3JL|@BRkCkFi4-F8+gbT#4 z^4-Gk{jno3i*%Qbm(1W)#um1jZ2`_Nn$)BqPfjJ+w5*)wdfjJ4N|4I=%yFNChnB&T zx-O2pFGzS>ZyP~h_IN&M*j1e9pa*N1hvUVF-UEa7ka5{p84;YB_^ke>0E0=bMn8dZ zY8%g`Qg3M!WBVmCo5qAWk2DfrE62zqP~Pej9%a!bg3Cw0t37E*7;D+>!Q_8+ZGxgy zYGQq^l6b?TgJBLy&p0TI)qmY3NaU%1dKL*IPfCCk173cpoAptU?i90+#F@eo3kWzn zb-2N*?4ow;gJEJh40dutVR{hhndpG%fs|zxE zNsrZjgMsaK<=wUva#nyjn@D%>X-G4gn}}G9}wzDvlo>jB0GBy{S-!L)sdLxbn6{RrsciDj^1u5gJ4v8 z3o;ebtShr8@F|tH?%ZhT4@NC8|MAJhVHf+R!gu=O?ozsHXE|X*oDldl%KbAHl3ZV{ zjBLw~YqFzz?`5EtN9UiL?!Oj0lTdkvHKUyjSuUB1jKSg#M6v*>K3tL89qid_^lPuH zn$;&-yEah}J%XE1BY1`!FlhO#eSi=VfK}dx9&|HLyysY`2^xxg-gE9-minwv=djJy z?umj--`)uB7vX?Bh`IdZtHvgW)hKF%)xXV6{a|t?MAk9vzV^3k03BZ35u@-PS*fn7 ziuxwWwUyfB&44-UW?HGY6zLQ7D3?88l7h7WZJ}RML1Eq;H73(@Rb7nalol(^{)TfF z?p3L8CraXEorj<2e>uz3RM*xI3hT-_6~)dt{nlP(2$;@)JKswjd_PF6eGq-QsuBhN zUg8~Ar?_5WD0wqT>|(Q6@hTy|Pqer>>p*E5&&Kzu0X`wN6Py|pYv)EQTUYZstA}pk zDuYRe=hs?CcrI+1Bq)_5{ccb{^zOQ8(?!u{fvqdhIHKcJ0#j4rw{E(mK`+g)0Lnow zk%?*SX-&Esan^Xtpwl-d8tn4pge93)jkV*MfC#$Z<-!;pl*m38w z;N2ZR7AN5Dtl{*e2ePiUBMwE z*ZfVzy;gaQmdP>9vuRvR>E;(_ZZ*lm57u?zDs!dlitfM~PA(*I!#cGIoR{C=(SER!HS}9#tT?yjkVpKW z_HVG04xIgkWQ?Q%mz11i%P*y4PFaQUZ&>^>MCv!RO{OWZz&tHxkFKU~x2(ya1ccVo zW?}iY4o=uxXCrTn3Yl%0ohTKm{`&SAKaHub!>QMorHV?Go0)JvB83lj+7~?$sm;iF z$V1dMU|MK3Ce$VMbf6QNG^YGq|IzmfnCxT_4NePeO-T;cV4R3-9Xt!#g zcQSIX%PIV7dYHQ{!0P|yhvRs<;2T<8F>f-toS>6NIG<7gMtd!$e~IRA=HoCExJjwc z>ZyZ&n{4DtP!CZfi@F9_1F219 z{i}`LZ8?OkTZz$KU_wZ?g5IX!_{3p9T8c}1YBm4&nFnViG)h*GTDqX+(vOBIwd3A^ zy2qG-)`k7CPwlcReiq2u1jHP)%acsvfWCB{56r`9O$3O5wykcxc>QIuO^zzTD*4*w z;{0^!>3bo z4R8St67tvnjaAkP7k>gns>Q}N|>1wc#v2D+cqx+K4 zWR+wtA43%tbF^nV^a)`0a`A4E*@~gum!LE)$nnHdAr5F9Qwif04v=BbLwCG_qobDQ z1i8q+x7E=T!eX34nHmfmyuUZcX(;10ZRm{|?>a?4qBqFp^RomwptekDa9p0I_8`ak zk)Aq0$5j2Zsj2ESyPRZW@pj!w6$7s&cvff=V%nrfx0OQOrMCWL-RU#oK~~^=hb4X$ zc$wDDhTC z(P^e96exqk^)-AC30&$@(oe93Cb)}5rf!o0B!?e`)@q00?_h(rPt9JkFzy*TCVDi- zT;^^zL*@v(-W`IKf5EUf zC^n>c-l65bP>YP+cNcH=Pak=X%9^;z4v&!I6HWTyo_8*_X%*V1pRW+|4}vB#<&p># zKehA00o8G)YMs7&j@(hCp@I#ekg9`WgSDF+(1B6GQ4f$ypj!xA zn%nq4nQS#&^<6xJFe3^g*-)Vji$fR5oxfVlfCcf z-X(fqb$)_nLBHJSI4!LocQrz+8cH3BEKywpreGtmFOnlTxj@;c8+6V@<9Xnua9I)> z0zT{$(x}~JTyI;i9qbuGZ`9JuKP_k+5|6-Esd}uG86){d!EZ zreJEOxjO@gFI#a-o~m3zOy;kbB_@qRX2WhyZgndWp4xeD16^m8_2ZqC=imPxb8*@K zC0s$$W45qO5p$#c;}0GPtTCU$sI5&#wPB>t)tMC6^%$G*n@~oX(K<0*mY*FQ%B?nG=wqC9TYZ8ZSHq7^ zya)y+)L9uB=YM=$6V6PVfg(|H+!iy*3tpvp+BEU~L@%9uWQ@q=MFp2*wwx7u>a){g|2bKz&v<(ky^&=L=?Z=%C#*ZnGhNbm{x&*9tPdNa+mdvX zU1Vpr@@#t`^;C2tU%}IOciXnQ%EWh$)z5Nnsy>T$(b$36vA)LeN1fs^q5i7gXZ9YW z&4R&gA({2}OIGG&wA~a;^m6)7{8>*t1VQ8#o*KzipF<^cWRSPYA!-GKP{&uXMO}As zb!=3w_U5!+K^49Gu@bd(UZ&`Kb9S3YoR-n>hJ?q0=D*4H-!wcIU>5F z%{r}4Oe8-4^Q=rymqA*rFVvcUl+~Ktx5Gv8lHyJ1`(1HyRhSxL)B>3`^f`EpGJWc9 zTE0+#t&=7Xg`zh$^M$PY)NGsz_gc(6!A+oHUquJ~m-0Tp)}FP)n6NCZ zsikLO5!)?P&6MMFB7mvao@&H#euIHVE2ZjBmwR-B99M(nyX14wVLjrp{W`#^N3qIa z9xj}wA6ie}E#Tehlhq$w_p|eSCvf#wi6TPnTQ+V8?mT%^bltn1(Vbz0O{0+jo*I_= zY*VkE6#cGv#Oa*46MFung5z`(pY{pA7D%6g6CMC%K(EwF{>e_Hu5SFd>_nbqL7Ec9 ze=CshiepMF#VS*>!9*$Koxr_X{an6 zIvF>Xq1Z8UYxCoRAFlXxnBt@r30frl!CU(Xy493AbT~s0XZ}VUddS9DRaQ$ zT*;eAiVeR}DXSXAmX-25$TNYa4Prv-zhBo4Fp27 z7$+9Txc>;(vs6tXUghXZD$h;hdAdg2i+Nfazt7Dqf@|lj_eG2{jVQD7I5Dg3wyA3;GQ!r@%A5^_pR8!v-ioOH3ytF~)PJ|=Uiy0n1iUXJUuZ>$>0s|}QCN)Dvr+7{_48+^Xj z&cT&ooF9@aq;Uc+j`1s&ama7V{)_54Kwta@)%XUt&6PM!8dZX+-o^3U>7orrvI1Qe zu#eQ^;I5Tle96^_BV#S19AQsQ_WDS!u`|WR^U7o>s0gZuMU@edT}|K8zd2#j8OQ$$ zt=jT7gTfW$;>6OJb;g_@)P1zO)esWbw}YhlT=>SgzCfz9kH)r*K=0PgO)h?#O)&!k z@$1^3^YHO)ytjm$*PLq~u1$pj9cXU5Sgq_PKSmd(xE4C{v2KB4tVFR-kI1_u!N&`; zH$(RRs^tjMl1oQk>!{j?T-Yp%|K2*w{sdzfB_$#NFw<)M!mnuNlNH`ZPsxU7&1rr! z2CVxAvY>tAhU=E4LtcN17LiEeU^^p-E4+!Vew}0Y@PovjK`q@au=4e^#rjarWyO1v z@FaV`8mopYud-P{4*EwB`ec1Ye=hj%@NKWwt$o-_*a+M8Zqk-~^Qd(^=0vCZnUdN@ zaT|C0If_&L{-Xu<;E$)h<@UrGg>T8+hi|F-OulLC8m7Vn6U~S$Eys0`#;-B!ybsW-@|%SL^3Ojq)wdWg-;C1H@*{$l+?N!6EC~`bw7F;dGg;4_(j|*z;jPVQ8>o|2|!A&3O-a_ww}ieHU$#bUfe=`8N|BpB z$V?K|SaZ5u?0g~?PI!{|kE{=ceBY3~14`bVt?oerqF2CMhTg3{y&Z?&zf>g1pCo@n zP+LHVlgK-y9qz!u?XF*Nzj-momwQxtDs&*V%Kx;0IP9aLxL6fGp{1~tV!r~753Yh* zU|Ajxx-`kB=>*;w=0~P{*xY1q-u&6~IP?MWb_(Th|9Qjn?acm%M)G-AnNQR-rXAj@y_8Lu%*io-#~N!^!p<#B0fYdQ@INy6ZGZX zsHmckN>Y8mq=2e#@5_GrdAoa);9|aQn**k>9mZ4@lhQvnV)72(r!#uLQ<)>GuRgiw zaR5!fCy2}m&D{kS0*K`l$-)lF3oD(b{t_AeDvoEhJ&T=g70FRxP@~0$iD(MR{>7v< zOK!JquE&Sxh}Erg#M^-nO_^VWKXbtIgs{fD$o53W@Q<~jO3Fj5Zr1h4OcL5w`R%^h zCWlB^tC$Dv0hoQ0CFS0`LoPOc!vwB;L(0&1pJ{nL3*@>9C3;XA1#IOkd|K=1y>P`5 zBM`-N=CghkF6Eh{_d?KlN9P~Q^Yf>_3F>E!HHEur%soV1ZZn0%bZimDK2Ey91t9O%d&yB>>nAEUzig6 zfb8*Q_p2L|ZJ(CEi@unD#2*c4Xva+{k6-$76b59VUd#<%hfHh)d!ClZd(ri0KHD+e z+b?rfxp`^gPOC7Myw3iffpccZM03bAz2~S|$5YCrF`+{+1K%m%1CZRaZ21{;5$kbQ z-l}G_rs%NgOwmnz+q=Pb6D%8%1d1x!26i_J6$j z?(#w2I&z~$r-)QBq(9iK>qb6&dt2T%DTeVC_6SXHjD=x&!*kSp)-q(+R->CBC z;X%Yw-7nb-pf3m8$v-ldt(-ay+lV!mBl8g#IVxzhePXl&cXn~1^|FL(bGX1^T>!gO z&;!v6?nI0AI55B6HOixkwp*!Y*QR5GO14d%!D>2ShBKGPCO0)AD%m+F5uttXa%dYY}9CtcI%iY|dYO}B}P zM|^L1yWp5?oU71P+Nr+pAwmR3auc5k{vt){9B!P->#8!4k*;fK*f8_;vGcG)j`9ne zBc`m4O)(pp6Y)KPl^9SDcReurpheh?rzyoWi>3SPWrXoVkF)MTM5v7Vh@yVMe3xb) z*qdQf{e1-sT$pf=1kr_IT|l}PohwCf_T9?US9NiW5L{^2n1+H#WHu7!uKuHPPVr$m zn+eCu)wWT5+=;_h^S%d{xh??lLIb|oxwJ4tNxX$R3Op|wEkI750V?UX4OD0Sn`6 zFwS=7PPbbXDXb^0mbgR{W!|av*o}+Vd@fx@`twa`Edu^hgt6M}@3ChiemYCqNnP5a z%WiHu&LVS}wLPF9@KCGjclhi4}COwB|gUs}1D9&2lc(_eM2r-K}lJFI) z^izZKjCD{Y0^dt&d98 z`YyL=Met8}bMtL~Fe$dqSU3UpvCH`!%9IVrQd!XN7|0URQGG^(u2ifQk)phS??wsF zWB#ygRINmA)TwcUq`Wf4cM&$Cyo zdJsTY8kWv0%hErxp(m{B6|YG6er><*ExP8>%AK3AFUgSb;A8a;`-D1w=sz+k7(OiF zA+oivJWxruHgybQdo8kKUX0U%a1)#=*TepcwNfq5g`G?F(awjgUnih#%$wJg$@lkC;>xL`46Px&G`@9J+ap2pNq=@(5J+g!qOuopjdH%!(m6{V`61J~p z&YX~K$cRUnO&PVCFyU-pbW+Dh8@YwNUvS-YH>HynjR=A#u`muuf2*)?k}VseyE}~r z`{?%G2{Z0BDg-~)2D?${4EIK}X`A)gWeKzoy90_x6qOq3O*~ot41MUU2ivMDrsTc` zi_%-IQT}1iDR<0I5?KbT4;wI(R~5U6-noaYm(YJDg|13;o}^c0wU^UW8>Lj~Hm?2k zDBz$q&4i4(dNO6kH&%Hc=9X_bDx)Q84~eT9tO-gw?`I%%ZoQ#?n^7yi6~LdO*QUQp z&a>PU1k})ih(=4r&lf*mW>Ia3a~&odvI;DUeh{5uGg;v3_IzwrC;dWx4%S|_Kk(qv z^G{LPLCdtMmbC|}4(#NFpqt|1AV6q)pKCw0Y;H+dkX=c9on!LJC3 z%c0uSk`yzI)H8Yg^wuIx#nHYo8JXPj-@QfU#-7ajIp4+8d?*vLrGq@?Yxl&>0C#~A zxKTfNr>E6IW`c_$e|Es6CE1n-Fs&}hoG-H9kT?6$g4(x2F3;?7Y8_|ujF2I}gFW!_ z7irK;T(1;gk{5zLjI+jSqWCE*tFGGECZHYZYGOn;Bi<8ogOyQ3FasGXt^$>5tI?U@ zz5^RVAR$=l{8i}6+h!4XYqoH+@CwjALXl+ZedTtr&757BXqgG;@r%YRv+bS#XOLTj zHy~A?ic=r2BER4NM^Fv54Zr`epI}MO%iQP zS%s&A-b7XxX4|2co!{@UX3(~mHZ{JXUxP5|~>P1xhn|aY&wAIAc znY(EyM8(^uj5T<~ZxUk1ww3?Z;jXTf{+vMh4p&zA(Q0r_ydO5vO&kw!vCiWc@ttJ9 zM&xm2LcRyu%k{Ry?`V%x-u5uQm$AE;ADT~hvT|#6rWZ&U8e7ksKn}7RN;5p^BEyolY-h}1~7Y)sPVk+ zl5%e(|2NDeo#{qEMg<^pGH$xXO12(4D8YzH%GqPnj+g9qrk>VvG12Qh= z@UD-nZEr)6FvzJ$8gZSn-9e%SV+Bv!3h+FLp(`p6j2hugMj3X$$J$2K-foQngG?Xy zXRBOJRmsdAzDG}6GR@dD(qT9OW?SDR1ANL{?iqzX?p0h2H0q1mQ?^nFE29(*J+ydw zW@^K+x;isQ`j)h z84l@UI^RO15u_MDlv55Ix<}S=F!1i`c5hO;aB@I;@>fE+GN`BAkw{T>xL1pE{m!y=Cojc>%SXg8L8m`7d1#rlRr3Q`pG6O+9pFQcz_ zL{)FiAe3?JX(+bek~*W`SVE6sFRjp7IWSjk{Sxg~TvOn8Zpk@L-hZZCR{`}x=l_n^ zKpWFGZbCvELR4-bctHvh;#q~X2I7syw@#cUt?Enp2QG$;JWVD@(jnX8S@073`} zn6@DK@clSHAl9lsm!#j4s%?I@rP$X#{wbP16BQTSr|b<~?1$O*+yU#jGm>iapYDCqTtoKP_`{yzOZ^gPg$5WlSD1y315IOtqpe-j|5YM2;gIo+~1LplW4cwC8R z%v#sxTf7Ljah1bH&cdEfw!J%Ys!u7Qs=ndILU~+S09>r`NIW!euKKn z_kkBfP@%h;6G^DHr8+1dDVDE~^Jem<*NiJ?&p5ZT4vWmN(_a=Z<3^gRdgq6nC+3r7 zDQN!l1kU(=3=2_4Yne7f8bm!~F6IMxCs*!&*C$2XbEN!0-*Xpv|3r&;yG#*UqAY21`2NJ~Y-g+=V-VDEav$`wBC-b(*dCl(XERb|)WR+xYH) z;E9kILY)q5ng^&8CGp=1cz3hlSN!zBfU;yb;yGVzS&MNB)>$kj;1_&A@t)L>x;%uEA5mWemfE!cN3qxLp9_v&w{v;E%xRfs#j^w>Z!N= zn&0?(@j@p2Ig&5$h$5G^w5<81@=FezRxng9?16*dF&S$d*+qqemTs)V21Wg86xht= z&nwQ~W!q+xYO+oiJ;R7nK6H^PdB6TgCI8|U>SeIE%Y#v8k*bXNte?NU8$)Y(zJ8$N zF_y^1ww@j^M11N%>RQZxNyf~c#q-VeCUN-6P;}nx(|e{ok(uWg99XKZ`up`^kW*K6 zm0f&u(8}9o`wcIUDZbm;b|tbl9a3Gq72j?3%SBe6Z}pzBV5WZ=Ml`DONPMoW;-IQL z!K_AhLnC=uY2)ikuy9_2zl4qZ!q$8yWJO$>klAB!DpY6GIQDx2Hf?d-?6a|ko9L^{ zmH6D4Il?*7u0PKK91~b$JE1$3i5GNz4VLDI!lF(G!apq&YUsM~d z0(|BAk6P$Ne`5w{oi4&_t&1%l10RsH%G`_=%2G`Rf&lldz-x|%h*{6K;Hjcf@KzpWwv!o8e3ABcl( zkKLtsXOcmKMk7s8(ao$Us#8(1>6L?6^2LHmh|q4;5{<$WDQ|GGQ(_<2*fD?H?VMqW zzAxBeQhGu3mNDyAlG8LoQGivZFr9!M5e|35X+;_w0=%>+C<;wF9u zoRXqChA8p;+&7>~b$(2{&u~oKqevM=nfp4+Pj6V6?%NpRk{NMdNcixl#5D94ss5uM zo1h27r!Qjx7ui(oraq4<*W*^~+8{Ubva|0COSm;&DR3LS^CdnIrTmc1Y+ z%uZ+rs#)rEalgZSk8t^1g+wyu9|rh!&+YOP{`7H-DR;X!rHx|}V*ff|lz^I7js2tm zBh*TONA$1pxz?cj%G@LvJ8zzfbU;!8s%}G{->a7g`U95s-l?Hy!OkFC-8;!H-LXoL z{ROO;!X6=0QMeiAhShjrjjcBB!YM~wuuPQ+`iH$Rz*pQ3u@v_Q50$S6l?_!fOKBtp$ijFq!_rDukJ9M8ek(;9G|10~O=4-#pik(>M2fK4?5icnieK_*SLbTb#ht)Z;TSLErej?+ z?6uR1laznjS=mA)deo^&AX+yrK@QF0TWTfS;=fY+{8;UyE8mtyZ{&df(*6|7yDL4AdQFP0X{?u{g0B zBkkTCzv^2F)u#ZM+^j0cW$!zGqW6hgcicU#r8x9Uv;%>2SryckeuYoL(yMnlPz{$x zZpPxC+9^c)aX)?n)ZCONc<|J5%gs7_Z<*Go8?Bj#@jtfUIUCZQ+RGo?L#V+Hg|;DR zjLL@f0cTy}0n%8vv(l`|T9S)Sf5?BM;~=8fsP0O7gZb_sgW}Vn0HxxSCuK8wAt7t_ zNuPQ(r^XK0Cf^QV zYOF`}#K0?tVRod7iAj{{Y;pcJ#hgU6ZLIKm{<2BAU9T$O#DO%EJ^Fd8k%E$JpXpaoeRccQ%6W%v%lVZStS|` zf7?4BFEayghw~ULdmYZ@cl|WM@F_JLRisy2Qgw}%^0)Ai-&FNLLyds*kR}Dd3k$uRPlU1kBbqYDY zrHuJ=LKcf>KOsd6PYA+s-$NGWbHVlXIsv2I$+qshP8p*VbIk}%4OjOT+i@o&)!rWz zX=SeFV+VQ^8`wC_ZM+18!+rlfRqATs?d8uuO+HfZLQ2BUT%6E@R}x+Z}d4&{Kg&9fNEPpGuxW-Ei^k_DB423gi7ik z8QiL=iO9Ds z)my756-EmPSuW5e^Z4+WhBw{0VFBO1=m1ddo{9_r#9`mG)?IoN*DyuJPYZ&S zkv7ilH&2}ctVw!aUggXJ<&Kmo40ZlO%s~s_@Ky&D4>)S>GJ>P$Z;XG9`E50=tmNTd zh$B&?9W3P}SRJCEJ)0T>tl{P7Hhe}#xCwQI+gXX8Dqn;*=6@z}Njt}~LQQOypIz4E zXKg@ISX@ttSEb!!J|m|F3^a<_XB9hSjqxk z@kev1P_?kwB>J@-wLtM<9G;=nC{CSFr^w0YZmtoJ2$F@zK#@n`mQkdJgOP9I{f6sb zkMYIy^98JMeXh*LUiZ>>iLYNbt0l87NIKH(%N^Bv1ynb{QcPw*;~`mWugnFjq*XV! zL~7?nq?P&zj3KE`oEC!;x|tZNR03&st2dQ)nL^arfSZzr!(KBB>&crBpz^`s6f4+| z<{+%$|<1=lVAeFU8UxqZH*EM=|xqPMVmS(6oRc$UIc4M69Zy-Gh~eA>tNatEZLd zp@_2ZXqF&ZVqY1G4%-f6yJWNLf8VEU2;V0_hPEz74mKiwf3^KPvtjeeM{>RJ%VMa`O9Sj+dWU@`?_uamO-K}qd$ic{#wKzX!}pD zsbm&nWYRo~f-==cZz*{gy&JVl@7-e+ZurCa86ky`Z4bb-8^24zr})^FcqnA!D$XY9XE9aD1Y9{&rE$U@mA{|rthjPH+o#(iR&4LKRhdA z9A`JHklEkS){-uFtGm3XGvGy%tN$?AY-wFYot$;?tWc+rW#3BXXKEn0ACK>Rn!TORWHw!zixJ(N?R4$Etl84D zQrjc)L`g zHut&1-}mw!9$-OpB1WQecu%5!+h}9dkoX>{inK1L@4lR;R1{G&)W|G*BSEK#lXID84{DL09!c-N%yz>&>8%4fEE>@Y1jFTb` z*xB>BW!lQwH#likVP1Y&I#^8}{|dh456r%cfb9m@QNFkV6h+@JS^UNdnKR?(YyRDI z#K!q!bR*Z$5!-stl+Rx?ysaiITXekr1bW^lP(5MU z2F#_1)+yTyYg`o;fUt#EYU_bg$K8UOS<5wM7^Zp6j1qT^9gE4tWxBl-aiKrYd&i9p z!MqmFWKTDp*mMlQRPx{l33Pnz=p10Dr`;!#k-QsLhkr7WuySrUGWzKDtI7DqjW$Zg zOF$9qpgjQjBWrMjh`CMB$HEoho$`Jk9wH|-oIlf_RwfK59Z4u-_`jR5)-B*;dzX^( z#>^rrrhGF}L!WIE3#VE?%ma>3U7+UVO>07SDV&WJxxdqEW>m5z)X27?SC+4X~64JTsB?0BAXVne; z*-k@8Iw8DAGSMU7*wd)=W5X&o4>)(Vr5%LT0w%7sK1uGs$pqM-w7ciHo*XVLD@}Di z9Vu`!&#QJ2<`*J>mLV8vrGN!XgsDruDSg-nKrc}gD&26z+(qrT$LuU8kuXR}3W8p^ zgJpmFcUSa5*o!Q4n$?U|hx9&6M=#^INd*XpTvb_l)Y6V=`dc}wQ?m+0T=bHpDpgWw**7VwOyA38M~Y#X&(np0GNsdo%qrG zsP3@wgkNDd7HJy0RSLyF_dHU19W|r?uCM)q;6VJ!8~J7e+K=9+nKg>daVc_2XbGlZ zp8}Kl6iWl|)MvZ0!E%4%ba%_lntfzMce`7Fj*3+rSCd?g&P`GKUv49gZqI<{!k%)G zl?CZ-sy;EaZsv&0wx92P$(5e5UQRuOmQqgv;Q5M+Y9WE816T_7LHQ1xeVv$eb5v3C ztCgoFXM1{B9jz;&FF9b)nmz0JI^wf*!_zsz0P&ARhPuw6T>ar|{RI-~li0+9nXN-Y zQRN`BQ)NB`qAVKn91(MEmSmh7YzbU$&h$=Y>T+_IuedEyYy=%0;VK8~69GmRWOqi-{$p%bzit5-h(kY!^X-VHCeXF6k;^-?bGia%d8>6 zU3cLM4GYZZhDn02ZoiNj7D>FFwsK-~_^B4}0!eE}6|J`&OhOgY)x(w}=;r6;27@Rs z84sE9jF?WMPVn9(yWVqDB}I+rdafMp;6eLHw8XfL@>Z7i;pYA!Q?$;_vY$5CA2Ky2 z3$*anY)8;J9ckcj1Y$0O*Xdd~mM0k_r_k9rec%F$3cecFhupnSGG_fhNY`QW!T%eD zeFNt>oJ&dY0<8m1n~79=&fYrH2km!Oyc8^RB{STqGLbzG>%{& zEQuvM)XAo-8j^@NYTCi^1vi^$-aYgmYyG>1Xu#y%7~Uw-3EfP}wd$36h;!-z(uiKLMZE zL96*q$%c(XK>5f+ldGjN;vdN#d0AY9HI}3tofrXXgV|-iCnb^bOpUm&xPBYI$`WEI zDjsvkfc_#1EZhD0UX-YaU#lnC3bUd_^pXv4JYJpr#-wcdJC@4?Kd`4!98{K__>-_0 z1er~29>4VSRaZ{dyXBt!i1Wxii*q94v)bzZzEkvt^IegJ=8X)t>f|=PT=josqRhN8 z3T%MZp@FN^wL`(`wABHJe`L9#uo5WwSYF6EY?K|G{%Ut5mjxwX*>|F-hZQp6WACaD z;XX$rNphP*_C29c7@eQ#e*DeGnwT};mG`91!w{O~wOU%r?UK+Te(PWsbwt+%!m5fg z?>$Z}I6l^=3=W(U5~yuLecqU)8x-U7(aoweK0n6B=le;%I-}N_7B@F}c^q$XFY*;< z2{NW`X^}1j4N>8l3Cz#?LmK`zGBrSKL)d)IB{E=Br+wuw@;vT+K953Nawh_7FCxvg z2=!j&m(~JN4oAGL>YeG|Je}Us7P-3z&|7I-y)x-t&cS|5sFP|-ncVyQbh)im*tj6RJ41IpeRYmMV58g9Lus%FlR60JIjzuIBn-~; zP4U+>zNjg=w})}uLan_y%=v-Hy6pE zbBFZj6dxhpd^coF`-^9sx_R0Z8jB~ys=Wwv4@EUYX1R z`hyKP4W>B7yJN)ICr$NUja_xS-}J)W{6^$8SqmAsQp|lYQ}xNTUsP?k&9rZZcO$w* zpL3$YQIt{koH6AmUWM4-U=%1W#np=kyx`=R-FC4*!Q_^~Ae;nBKAd5uBn>YSYdSM4 z+O^0L%5$tR!rBcmTRc32330>+531q28l5EyiTZJHehOM%&*Kn*T=R71p7gk3uIx!;5;J?Xv61$9QwKUprQpAZ#j?6bpUd73AqH^O&copjl&14Zr8 zu|*zl-pswG22tyXeobJo87AxY<)*>kRH|lgo>l*JTmd&jSg&YPYkuNfy9~S*nSRx) z3-K)T=vy0UqX2x?|zfX&D+;&H4#OqOX?;iteJ@o9?V~)cL_;5cv-#BZ1TKkBBRU7k zFFo3rF^j|FvWdxY`s1QPhkJN_K4|scyQh(-L-xZfT||aokAKiGe7_$X()zrlJhSta zkm|{vL(lLv07_~Hz1p=oqDcS3#b(0H9tz8Yw}YIMK{H{;(_#y?+W^!L`O1De zTEAl@?ru4>G(EFOzZ}k8!Fb~EG^2RvGItFd8Mz+32OmTqPIRHYG3pN}o;{}8GlwWn z^K>@D-GvJZbMwy%6Y{#HGuai_%iwlSR$SG=lfK6G9I`-R+#4f;PGW{LKAM{z{HBJf zq2szAWARUn>)6ZBwmq_+%n)2;4Q(}A-y2g{uUdy3L4Hq8TUjeWtA^adfdA;c9*V7Cq9&_ptJENFb)rMhTG{-lLixAdfkF367OlTd<}Uttg{8m zSYVN19|9~=M%DowQ!mvp+55}7L>V+*hR_TZ0Cu8i;cgab6{4aYvpsgbe0-cr5>|rN zFV4oZRkn{CwYIBu&5LSqQQk5eb#@ z7P)ywbx+bKHQ$crU=k54Xs|X|oCST%P-QUdG-XUscG%{_dtg0(h$N^iXFe(L2($bC zkF4Az9uGO3%<(~i%Q2RfSN9wkFP|+?Lk(U0&eu7uGpfihhESwT@Gxa6>^`;Q`x?Zg zD&`m-FirH<;x;WUx($^GHa8k4@J_*i*g&O++@->IHOmT4OlMBw1a~$C{q&1mR&xP zSgj2WW|d`1Kq|nWavdyHq90YdezD~43zG*ncb&&?`J^x_z~55wdtli%P+`gf78YIST(l5fW*!#4 zCq>!qKvr)hgICh(_0ER_*P~%-Ro^q(0GS5GZwt9z$>ZlxYKQirD~{e>Et4%Ek8AT~ zONAbd&$mu@tY#MBaaK%NnMw;M@se&&Pu`oiY=;$WNeK6n+k}wRCWXyfRT}jD0i2uG zjD{~58ZDeFVM$4m-ObHaElqDyedh2(cQcmLbw?77VuUMB$|`5L{kDM!LR*flU3EUS1uD-wRVwp7PC?z*emb{`eKoV?IP{MD{G zurBS~Bl!}PpSGUF&jN6Vb{y-gTs!%jXPfrv6SeM1CiUocj9K2Tj%y#M(*0{I>hXNsE>F z`n#FN%Uyl%#P}y%py8``d#{&mao4>z^G@hNXO`ut->8F{78AP{n4MiZ-)bc}r>%LS(~fPLM9*JCy>bR{i2SWY*>DpP=q z1q)n1vE9q;%#rWxj-T1-k1smNoFpN?$mmd7suGZH#bv?)m(j@bK<3@0LjxEFSPKmI za$$Nj_3Fz@+~?{iAL5HGPNs?(TB~c;Mp|!Y(Z*5|N}4Yo_=A4_-9NqZsyjr5k1D@) z3~;5Z#4!kFS`}Y8`6&-9k%A5cDjl1gUr^IXQd9f!anc+0%wDrH26f|g3p}Ghr{{&l zWYopec16uDKi{v*e6@!r#utAJI!I={TLk(49a-GCv?Dm)^4!KXJ79TPernr4oJmv4z(DBjM6Q3w(Lyie_ZUphXY@Lf8U#F3-Lf6GdF(i}vbZt|~St+r)= zIiw003xo^_kzVnIBle~JDnGT%0;fcj^C-vl*sFS+M+4FD$~W{IpYhFzXkN)A+-VEs?HUHC`Ftt`Hi47z(DqeTI)alU-ULEi(oe-0*8uGSt2jHlNgFpShc zb3U3 zTd;YoM7%@I-118 zpxSOhen+K^obCKm)XNLlhsl*kQA_H0z##AZ!onAq{j@*FI5Md*#w3CRN% zN3s=s8Y~Z4ZZ@C+Qj4H4F{n@gI_1m3&upFu>wDp-0(FW?zn$gK)u#Me+2kzKM|>%lWTI6N}E z%fzQkc0gl9VKY*Yc^ML&torBu?`w~hlW+@5Na|U^2pRTa-l;<2vL}l)$SYC5v{1ED zu@of>QOyP?y=b-oVg#1C19|w0n;Og4mBrQc&YPXJKw_Ta&vb)4@CSZpE0dW>wQ*Q6 zsj>H9WGTt+MWa&brW=#r)7K+Vc1C31d4t7czKXG(%Sj6^4og{4$@NFTm9=`gsXG5z zeE-Fx6+mCU&{z)E;|O!^qZ7(~sBd0L?RYLKn^tI1)*q@d9g4yl|8fkVjDngTF&ng) z&fiMIMKGLy4_T|k8X(ZoM(2aR(M2oiE3Rjd(#iM760E~grX5m62cDWq zk8~~S6{aRc_9E#7|E?gD>#~c%XdeV%4^cm>&Jq(aMYYVSXKq6M^%>`or!0^`sA~LU z6!bIKv-P_3du9b6g6ySyAS!>)#BT*<1GEE7fpwe9xz3|GT$^=+_IGD^3J z#q-#O0Y0qcJgn1Pd1d3=54s4cpwmP}qFLTK=KI*YF4{(p=sU>OMvbu3W0AUzXnqr$ zX9|n@Zr<|VEO(6Wzf=plDNv9g?s5aB@<)LJ4R(ex^p^DxzK^GH_Z1TcHQhFzxf4w7 z@QLY>fy=2?U9KbFOR~p*R`RuN4v%S`R3Ysb^o?vs9@NDR-l2}2$sY_C98uAoD6fq& zYRF!Teb5+TaimqSeLnVchzliV-6Uzu%J@NB0b@|(xDlc7xc!EA*^pMJM|n}K_*b4w zG9p_p(6P*kYUS(3#q-u@j1QB!zez`6VjsIhzFJDI_7|Urv0QLW7JOf_2TR&IIIn5! zX>_;cmwe%~KX?|ikov$*D6!T+66^CsVl_0}?OjN^)9n1ryuU4zszvgyM`V?C$>jyz z2A9G|cvzw~Z;qkTHPNBWT>t23hWla9b^e|Pv3DJbB$${D(Dx_Ua1fIMa6Rlhg7f|4 zG_3*aX-lF!({lpf==a`C@0rM-@KrO448kLTqze0yDDJoi@%@P@MGmwYvs5Mn9e`9@ z*}vrWqTKR(Blf(5G|GG>uHrQsdx^n6kuMdMmKLhZEIyP`RifOm0J_iSTG*vLYy$H! z8l(I1ojZG-wPv2c5c7z|>HIyv$oriWZpl9pi)VtQl@#(vfKUlF>&&^L=f>W2vy!k% zyfWXG++N_SGfz9V%No=16&jz$Ono;#f;0Rh`?EvZGC)r7E$4q^eu@+!;bG9Hlw;(d z|B;OckPhfG4u)0y&voRxP@Pdqxu<$Kg9+7P*mCauOWjaH$3c=3fOw57AJ`-}qoUSQ zUOLUaDLsf|;WM8;9(1(S*^noUdP?9B744O&Nr92g4x|}$+5EHg3EvHygtyBR>Ct!q zArbn7x|6DHioQ;(&&N|Fp;=i6zFdiE5iQ?!mye8s*&@mD7@Vsoyv)=l4u45%Sz(@7 z6(UV^3n*0ff|*OuvE{jYhv{9dsu3^My&Oue4u3wdqoLMdN)rTUSN`5e=dgbRg8SH@Id}_k905F-xImj z4-?PZ4qb-IyHW%L-)Yq_z4x3=-w+tLa_ss((8qfx7_#N=Bm+KqTGKmtbXIh1Dr#)0 zlVC^4Ru*xJYpwhKk@Rd(YAaj%@J>0XY49^p*ZoGtucP&pTOb3+EHOlr+~iI}Yt1zw zB|7e9;q}}AS6zwtMt2$?5hb|^!bTFI$`b5I_;abSvuNDy!sA(H_dWg#TQQ;o6m8|Y z>4vrbE9D6?;Ww$#^?kI!=kmp~k5Q%~YshWAY)#W$Qd_H|H*f7C#(n~r0Q{hcI=_$g zJOXH77v8l!a65e(Rr-EV4o;nj+5*)Pr6%CNNXIm2=>(IzyD$tqB3CwYB1VUdnA&(PE|Msif}gq~p*^IUMn^ugmGO6gLIn z?j6ZP5x$||meQSjL*l@MyYb|(G31X%G#-Q3<>2`Jk1QNzh!Q~cw`a;%_?0{~NtV1| z)@!eK<|&5luXUpD?_h{h=qMYm_}|qxVJr}PmEngCUmNn&Ied4(mzl@t-_Xg7$3Op( z_0L4!zlawmNq8tu{cuCPk`?6)aqp8L2?IYl`X;I7rZ_isiN zDHI0&uDny)TDJCjKd4F{-6R|RjC#*pc7M-2$nJ!7N}5@pFUJ;JX*n{AcEH515y3%1S)8LJF!Bf2|T`AH1PFI&NBSlGJ+DGA?Bc%I?cC{EtlA zvFwFyH%*YkhyrJGqU%adp#PQOQrtQUXHCrfrg_a-JL{*Pj`XiIzCTNuQ{DNFI1N-^ z`GfBJdX6s6@d`#(t!HJjTIz@BrX!IFyGmF&a^<6PDr!Wc=lA$n&#Yf`jh0lkfUkwF z2Unryl;d9$!=E$14_bS+jPz3^hWl=2Vz9{HkQ=Y#_d31!ov?MSPj#AxxlJM%q~a?b zk2@h7^^%D&I`&VlE2du9OvdUF@blXt^W_`i=sa_l!=+236&SAYr>tmZ7J1b64+G8>j^9K^vF5mU-Y#p# zU-^|b43D0lcuUbckoyI{4P6IadYNT0(N~oX2ZV2Xl~Q6U?ZaYnySeF9N?3mNF0qux zt8c!73q_XZI=Y)$bg%U&Hu8O3D`XcKmSeD|SQol=b*dbpw$MDd=N!JRz@Yf_$;a5M zjNdI&);gtnJ^hUW%qMw$w0>7yfxjJJb0snw_7~yQ#hN?dMj=^NLDY-rS6+XOd){A; zq!0-}l_;v%;=Fl`dB7<}x^vCQZJNqyv8~fx?ZXAjSR&SO#01tN4a0fsr!Mhqfo37> z(g-3Ms_beL)oJF^lKk1F@5bE4Ygh9ii*7l9JH=IEe;HH=5C$qQNA`tD8Yp_$1RcXa zvbQ?_AuKSQy!gM%Or9CPTkUAG5e(LIj3*RnP!3k67CA-2T!JCFTt? z!B$56DwLstt4-2vhmH8ls0p%t=vb|6y(axxL@OtCSMST4>YBQkM4Cf)ApQwFUM47> z${;uJ{nxucFE&UX;O6fp)4U|^A2#$(nFTEkFf2NNvw4JUAULFzQu?pdHD} zMEfR_E9K)~?u8rfls(H^tDD|COK$B63k#Nr9UVyfk0mo;&hzouad+tYfW|1HINFpk3S zU4_8fXbgaBmY6AfCmv89GPha_y|&&0D8d^y8m|>mQ3?x@b;sur0d=oBe5IQJ{NzV^ z-3f&OLMeNBH7I&ppF?4+-C0|K^Ro2Bk7{QC=A!VOKkAI!xC-X1xQp5e(c%GH>+PK|Q#*q1l^+qkb#Gz-t zwk+oU2Cmtir(UPsYD)#9j9CzhH6f>v3bLi+l1o=T!lR;3qE1_XxNZ*o^)M|f^|~zd zHDY6tW=v=G@v-x5R1Y8V&>nxMY_=A8QhK+s(w55qqy$lJ^(Xoy%-)TC< ziX=Se3t-RQyfB-vedyjirluYwGtWLjK3iu3ako9H>z$_o7y&(P;D%_Yv1{zfU&|XY zy59rM_P5?1NX8zNbhJMs-FYbymA^i`9t-R zMu%b(B5Mab!;a5$8X|gDd`M?}cqjP)6^Ihuryaf&RNl;oz*rAscQurLK}*D0T|IrOH8{pEkE(k;$5RE}0w3rW1>mGI3%8tA&{0?H>D<9dG@ge;%8P70)5j4~1ScK^>r5)!kUb>oI zgK@ZliP7bVlmD}0(rH1TOHRxGBYQ6mzEsZp4+oZSGx)#E03XD`nlQ^bJx8O#G5J2_ zIIKnZ+Mkzv1db^pSQQ~&s7Jk|W~X;??fG)eXvbYP(p_O8@* z&Ei6peCxl`a3{pOJbhwL6Nn9xMoq`u|1dmhDGuV8Mafvrcc>mrxjBCusD1JAWs1GA~TsAu0 z*qS}A!`7(`N@(@QU~$CX^9v@&Jf8Tpk8gh;g|JW-8{sqT>*6ri9tp1G?b7i(3K75G z(H5z42RpSL*k!psQnh3oZ=M~~td37=igT|6c%WB=I}~IqAJ6emwj)r0Eg#N%ZJA2@@o5s+YuBa6R{*N?8hSHOk)ZMv zs9)Dau`~EclcHdJwT*e-smw}$14F_RuHFLI46Xp?GexgBc+-7;IvLxHx**T66TeiS zSH8%qKG4k4dSH!Tu3h7xjv=gO(;!hM+-0QnMf~-ZV8$t;^u3h0cCS04o!pi`e|Iey z4z-fM(0)M=QdK%-@7bcm=gR0Pe=myigQdfy1fB{c6bD{6(AzK>q zL)EefoNi*J zm3vvE!KI2$Ql{Nab^;K!~3pn z#Nf);QUnU6kT2X~4BK{`6#a{Y|EPC{Z;oDl7F7J~^-&sKek3+D?W@f`m9cWQ@&ou; zZRuFd+F)@)_OB70Ud-!g{y2xdN9wD*#EtJ^)-b&Yd+?&piUX7LWsfP`_2>BN+)jg^ zht&3nUB`!`KqU{--y;sR64A?Duu%XCFk1T?0BI&KS_bVBP|mrH`UT+GWf_nvrv=b)CxDF$w1WQATmFx6{=-o=7sPY+Y}XZwzf>&)5+~qK z3gosPY{nb~MuO)o%Y~67QdJfbL#8=F?++P8B%* z^6r3b!5f)R9X|rbEV_CR5Cc@(;iIy^J)f0KZ@zc;AODdbn%PiZ zrHyV>Ar~;ft*CPE2F|)^J(XZPPbJ;OlE(QTJ;P8jZ9m!F>aiT}XkjRhdNM8buhE$zYG;aB-+9<8%Y-*bqV2bIVfWWh z50`hwKGggOvbWerPJaGJW{KCx-(L9@Wydw40Lq1m5wEM4GIaSrLEM?9)$fr)?_tsQ zB_-TJ6i=w41mcf3$BqJD#TL_ZZP!|nx{yL=sAYFtWqw$7kL&nzm5S%4AJbgIC8?U87?cX=M@!dwzXi!*!lI6vY; z()l+TgBSPK46&`>>A8NK=L1v)nLuYL<~<`NrzbCWt@Q& zg37SiXO!grbYrQxhV2VcSFA!Wjmc4b*vereKC6!9IHTObT{r!dyb_eK`OJ;UNZ__g z^~3)dK92O<6q`-Jvg9P8_Jhw;(5{YaMZFKso8$$8s^seWcDDz8iETmr>fR!0B*tvP z(Eh{lLiubmCF!g)(b{qN4g+1P+kjr<$Yf0Deui`*mNE)z{_`yLwg(Q8sd^@6Z5FJ{ zk>*vHe%&QtxGzF3U<7F#&K9-vZA&%%Ht#L#YOsre+(Ff9)>qpz`!uUu0tkcgrZDGu!64ro;c%Ih3#0#O{>&lf=>*IBq`$1lOFv+kc10mY zkV_no0s8%*FsXSI5F|~KPJ9{vk@1d)qPM94I(5PE|G^w}|BE>mBJVr+B+vWN#|8xE zp?@Jhp#>o%;XC2GPfH#OaHVyhqbDbN@N_+}P^VoNpdTUZyP{jpJ$&(Mtpi^^y0M z&79TQGKj9G8=W$@rLr^heBK*m_}0HJ81P|PHuth`#Pxenw99n#)VNs$+&lM230J{5j~zzg{j?8Ar;pAqI9XfoOb%wY?% zO&2!TRVccO5pB)g{CJilmTg3NR>JJr>cs>4%%dI%W8Fg+6!0_Ov`T;tY`PC3%Gv5*2D9)Q(uM4;-tANIvJ7 zM7~n3J>u%g-mcbTJSHUvPApF#UqrT*H$ z)Xt;1^3o0Ys^L`&{=3rtX$><_b>bjrOa1$ylTs_`qi?kEj#ZQ#rz1yh>Fc|V!E831 zTH%qZ>`e={Wa5(`E!~o`oRR8+Rr4!4=7C6Yoa}n-up8J06Ap9u{ueq-5}N8)q`65F zHWx&`vhT&rJZIcNRMECMS+E3}_^@unYD>oW3sy~_jbN8lasi$6brLF4%OOZAB&}AW> zv=oWWEBpYrJM&%i7mAKrb+tE|yp@d?(}4Cp^T#|S_WWa6nE z{ZAF1tg(kCot(ab-X+NO^5k(iP<+-IUwMe`YJPm#RP85@oWv+aaKH9h%vZt$s`K(6 z+^@)Jf@k+Ej_NfeqpP=E@Ps1H3-=N9@#opb!6vcOW-|n*7trx(8oQEGcZ&aP;gR8> zWsiveBXO#MHJM+7_0}xx5w5hsHs$}*+qHr8{@dGeHGoC2iYKo?Y9zo0*;@*9mB`uw zD;V180?l7VXB7HHHGf0@f`1Zzh^Jm)0FbOCU6v(ekH9IIj&Yw6-SwYC4SmC1NzQh|$;Vy7#ULrz{O{9YAmMzLrm}laThEdHOmo59(babO z!<#?~J(Au!=e{0{i4Ba~ol|)dJBHDZL*c*3uvF=muwBlJ#_grY=CgzXAR~y-uU_0!p$5T~@yT43}c*Ag3Lp9TsWS0|KA_ns6jHV?Us94fzgxvFj#CV6{@sa@*q@RCZwYAq}HMNEY}J zV|9w5dLjFD|I1H!`$w(&)^8iEJ8CrUz~;Ic&&BpR4H*KJM+EyqKC>A7Izx`SQac3z z=#Rz~t=~TJoM7?sem5rZqL(l;aMgm*EAcH=zp33YZf}fGCVf)w$558NPDS@(p3lkb{3}U8neSrM+zGScR_GicXv zZY*o^Ai1rEU;Sc|MS)o(WwRK4ft}}AZGyMq!>7DOrcw@(lp7I}bu2&bytit{HG!2~ z`9XzcE9HxWXEIR?%A~(>1HEJ%K~FB4)+Qz7!~Hsq_CqEheD7pfGZ(3D&${kT+tp=F z6^yVu9RAgY>nN*J&Wm8GZ8pKDg}ArxzjdlE%y{%FDQ%_HIe$Q*`Q25eiwGJSE)N63 zxWreP-J6s_#-k&=ybrs%p?c{&Me8pYW6o5z4Rvc!IoD4~;u!vtr$F{`FdKCDdHz%= z*V;+Z?@behjCj!08NHKnT1BwS>^MAWbjv}CydfA@37zS#ep?@QUz_J8>m5@+=I$kR zp7GtH?{#!C!y%$HaSm^O{$We`tbB9q?l(nOm(jW8(J$viE~|Z)*F56hLb-C~XdpE! zCA+T7KRVec#CK%*J%&q7rdB7K1b-Q^$rmC2&fcA@ncHC1i(A@lo?9`fzRt=mFlEme zb8T|+rbP=k)wux}d7J&S)JK8XoI0DBop)LJ)Zhx`cwei-BekXj>iVe9trT!JZx_(T z$-XP`F4%~3|Cb!?jUWPsK^%W7ipG!6&5AZUi!J1b3E8&w>^}qN0eV1K>kFZ4<1O%S zTJ};@rZ>Sgr)80f%W275HZdzdtr}40>6|<9-8;0!u<;Cl;F(8oI=ndHoO+^0`irZT zSIkI75SgY75)BSQf$pwni|PNO;eK*JXh|HTeeU%CkA@fh7Y$eT@BFaBFWO2?KDvm` zgng3vgaR}6f`w1(t}vDMKT2gD>)h2L>c=K3CNFgS(O35y|w{RZ{-o^O~RRrylUC% zCP=vTZ2x}j)?8hg*uqN4Sasv9W!t@;Q{-r&Beg%GO`??l$1&&$00ow#VsKDgf)71b z-Sd@lr4*>t-B|g1sRWP3*{d~d!yH}+6rvcq16e>mr9V#Pp4s&QrgNF|DT`FCeQdE+ zf`joL(PeLBUcX&a^5WX4iD#_;WJd6!Fty-p`L%(@W|JorG11EYRiuZ`TphnB`fi@0 z3{@uJ^%H9sZ`7W zU{ArXrd9vB?fiWBtw4+6(*D2-%zeM^CMd!|vReahX=~+gqS7ZHy=0LLDqq~j&tyMt zgQH&DB_tw8<+W!#w{AOi?25sj39KH0{IirtY>eOiObmct_iy8;&l2KL5s_Rr*PE`Dpc#Vn;?<5>l9feRvhN1|q#chn!c&Py|H!m3u&1Yr)GOp-g>+N=T4 zV4%Rlah%Fg&ioJGvSjrbvkd!65AWy|3+;2BmrMWEnpP zxRgWRX<&ly%caCFKK?@?%pwhT8g`cI^GmDH(jkO8^}D*U_!-pQ? zpo4VDU=BoqMU;&(q)As%iLXL?&nR#D^U?$TdTw7|H&?c|lZj*Z;NwBSEpfv*EdN)8 z-6GgLUY~jiDurCr&rW8+Th`|%wGQ3FC4o)hrSC>2^QX2cf$3tT z4qh%eX)0F`?Gc;J^>?htc%k}n&3oez1$();E>Nkp;hZX0+QER6v1tM~RQz6HO0(1T z$}Wh4J}?YudD*1ig#UC&J1LaAT&#>~e6L=6MP=AN_l-rkqyHC&mKv0AWGPQMSN_!k z@N>m^o7H^O=okZS_i>Th+FQNoFDexQNyNdvb}DRrkn`P*P3HL@GUFhQEb#%+;YS}$ zgkWmW{6h5i53lwPPkkus_^372%x-TDrOSA(P&Fts0nFcF&X9|)cI-2X)S;Go$K;1)-DWILwDQ`_`8mDhZf`C ze4Qz6RGB**=qM7qU_E)P6Qv>zWIkHduJ@-#*({=q#hNZ_e<%|)w)&o5ozf%&4B$el z{RI8dJ5?D5J5NfHxn*gfLxi)rmPN<37O=rhv-mHbyS~py(m?(%o~yM1_z;=jz9{%# zKVh=M2O;fJGdgj{$T?VuL9z8deXD4sl?MME;1VBMNieUCW=!TRNaKgB{dykS2W_w6 zEWtUMxN!L=ijY5KxwVC2B!Ise&lk;|kCS3ysUS^mY(PRU43iAdSUbEgkdcBp!`c$v zN#{K$1&>lBtD~jsf3SQn>Q>YZ9gx3$gZ!lAJ5hDjT>OQfdr3g}#rP)8ZOAm}t7$%G zB(W7}Y?DKis&y6m z5tUG2{lUw$I`Ay(wMXvyM^k6#vWC#6APysq+S+WmO!iLUNXp3TA?v@{HI;UeF5UV5 z4&e}Myk`lL(s#O_{|#~3oz};@(A9fQ`r4;0Gx&_RKSFem$r0#H=_Pur2L$v2f>)*{ zYT<4><3s_qskbvsxYF{6K)EpSbvF~%z|IGwy$Z-$=>CY2BwE&uSN@TO$Qe00`+V%R zbf4nk1M#Wl?gK24g05_}RE5$@_)fy!QeM>E3cnADAJrr0iKPt}1{=s|WODPv)R$)z zB7O3B#&Zq83uSoJOZZlxU&fNQ*#PbFyO&*3%7fr#$O&Ze_^NQ24Er(XrY*|QhWH(s z`iDt~R|M9FDefzDf4>$qI=<|M#cud5pnCeBF<%Nufnk+>cs4yv0nL`A_l7@%7Ftfq zV4d~9hdtS_Ag7E74$72257b~s_97>-IFBxZzu za*_v}JQ%l9cD4|r1`XT@tvJED6Yre5LP1Tz9y@LlU8A&Q72Yqn4wJ-()dzCd^~?OWWmb^%?jOMKj;cjCwY$R5|Y zzdVzuw7rVbLb#a%*31cPtW^nqc_;yfYjJW6YBQ1P3ahJ#+rZJZ)XWEZNZOGh^|Ae& zO#=LTvcGb_xFaje2$$|3t>8D z6LPg%DRx9B!&9(4nua3+oRs@wya5&R)eiJSu}4b>XEFdZqGH6~&vD7S5T0E_HLCr! z(hsI{sWbPkGY9^bTgZcbDd8c9j#6o@f&Rp9<`vZZf1M#KBqpy({WO)UT@vVsdV zy6LsNMvjzG@kWcfrOuqoLC*=^?WZtYT*s5k{vbKnGH@=^25|1+MF@s?1gXvtwsEb= zcLm1w{{XetE%0;6G}-?bsBQgUpqA1gI`=T}b_wY0gFWb+w)iykR0yA*3y3xx_bHQH zvPEfGp9(Et(JYPXc?#7F1Fr@p1bJqveiQ}w-_s_$gp9+iFjE0<_m$g9Il*H>YpAg* zyTgU|3Wv+Y{3GPF+|ztaFp|V`&bdZ40;ThtHBS5=1s}A-0#hPXdg_ofXa9+;XPM>* z#6%i}-reU5-}^OY*zQJ=VZlX<-GP_S6y{Fl6vv>-D(qQEzo=mZC3rVwCugkAjG#tqPbeQs@4t;sZ03UA1PVSmL zcJbSL*ytR9&|K#btW%uv;8@R*^<7JWg$LeA8HGB&s3V|__kHl_#q=BMbEj;rmBCHS z^hmW#sU49;*{xa}1oQOGYd7`f^cE7-SfoO{oV^AGh>)$qAO|UY^1+O=*{JEu>rY>M_Vtn&3Dnt+ zs526KjiXt58|AEjOd6mPGsO+or`hJhb@=mTbnRc|1g!~>ZXC%73LXd+pS>l?-8QxF zZh8t>g8n|BUG)a!>MFzl13w?;FWcp<9LCbEu)-}6~fZZ5Qcve$PJgsT_u zra<8hkm`~%Duo(TX^|HO>%O4*9B5FQ#a5g-A_k%%KrQ;{Q^%njwhYI@JsMfcb&JVm zwyiP>_l9Kbe`M_alm|e6H^(?kR8zcBY*UVM*15Xa*Cs;imwtD*3dc1g#eQV};w_#r z6-Ry}VT*gSsD%7!NQrjyazaK+kmiOg*o*2E|?pX=$)dlshXr$;&{?CES7)v`V= zrW<9I{-(PcrLg};5_ZqGC`0AWHm2`Mr(Aiw9KpL}d)MHRMBZ?ATGT%>0ho;AaDwA+%bE~u}3$~{4lxtA>NhF3rUC2 zc&Amtn)fH&yiv(Ts@V#%rwKt{Lax?$`Vq&kh|W}Q7+rWL2wC{G(Zrs0U04L)YOHm+ zlpb)jI}WdlsPIqs>?Uy!+blU{$U_d`r^B9rTpmAsaELq|Xx_`)hn(n;SlJXu%fiJM z-u?=Cdolpkf#O)Xk4Q6EZP5h{qG;K!=#3}L#4Y|RTN>@vL*mf(a%JSfJ<>LsYXgRV ze1qz;RPLQYW_SynNLGVnMOs}p%}b)I4Zg?JM>xxZq7fe;-4J|xSo%?<3E;x^KaNKY z&6FdaM5%=f_nG$}BX%?20%*rRX7uy_nxfzEr>n|f8-H5O!pI>@J-ia%rT6)n6+McP zX&VXjI9>Qe!fQNquluy-)wrsZwmOA&*AyTiiK^WhkQ{H1_3c`feC&XsyLFYs znyGp*A}>@9zeJ)AJNR}wnO=3}^MuY_+DHT0U$9mIsK|}HqecnuOr%ND23yjH`jXiOt7Hx(9XT!`Za`Q=Io}-Q?7xS?69N{_v6kD zcIXoK`(a=5usH7KBeS_XWrsPzk@mUvzElRa`=gb;0gkS6F4ui+zCYvl?V@J{;k-E8 z;>tZTA^a#cvj)y2#5Is3K%DofKTc5&-~O;u{rv9Jh(M-L^IBp7zL@Y1FR;)Zo@YVr zYoU5@t#0zZpuJ0lvp2>3+FyEXa}H1)zLHuvff3Ka^-IQ+@#7#GdHN0xPL#8fY{bX% zFp>Vq2UNSedlu;+as_&b1vQDovH3ww@UGREU4o%vn_si#)2mAgJusQgOzm`=HHbnt zL;GPhIK67lqVXgZa~D6gv>L92m{&Q*=K|=}XQ~Cm1K@a-QFw@-J$K9Bz-qa$_z99N z9hPORord9~@*FofPdO)b3*HTx@Lz#v7U^45Av&o|Ze8Y+c^qbdj3-~^Ryi^~l>yIu zCJe^CxQyRLTUuK$1?;@SDyu>=WJSX z6|tDe1B*ByLxv<5_!3_}580yw=k>cWwr$5Z{&)+Gr1RwhitA7_5LC6`T}S$nQc`XV zfBM@Scxs-%9|JEoObm+`DH{fqkiweTNq_yp9kiPG*8v~GZdwbOL{FBPEMayS7ff6! zos6B!D(&55pD=ugla+psY>l!%?Ze&~b~uLLHs6@_zqM%>)Pne^=%K)TnI|E96K`Q) zlJ0&1?7CE5ozYE&U8HobJZqXimU*I91q(xF9!qVXALO;ayKI!xb99yYIm-L2P^UfK zZsUA>6h+IE@N1!=26AXIKNluJe*~x3Czuk?Fmsj$-g2>v}m@MKF1lkNRtV>@JC(No5-Gj{lB6QF2BKR*&gTHc81g9+-As+Nd$n{gGOk5|DD~5ny@WIr(oK zhO)3&R$Q&pB!2sSy%?G8haiZv^Ga3u(VMS(()Z6w`Yjk7|JEwU>wRa}FdLPC_{KBZ z>3^F4b}a5LYu>(Uay`X#C~r^dDfqd#;?2J*pa{3t(?Z@@7CD5_ihB9XrvNvd#{N%R z;(mnMf@Rwy?%R%b%>6L`QpecK5W~1ZkuS5Ab`5ooWcu25YvIm+YoC_rL@tFh@{I;= zY`d5|slB<`LMAGvGrc9?XcdDNlU`#l`j+r#{CcK_MR}Ea`fIT#ZAaMb$)?G`4QhL5 z4{j?BWOai-mOhNg#Ze#2(-;3j09)0-ovIx3$NGKbjzau0`c|W|Tee|U<#sfC2c`Tt zHi6asCoX#3>!+?xqRyu}yhxrCE0O7&)*Ykc8(kl%k)P4dkaG!ooNPPpYuL(~QS_|j zeI~^?&c6oJ%{2I?+${yU6rB1`6Ia0)#?(ve7+kaPWoa{~Q+c5GFlE(HX_Zgb5%_U~ zk8oNoMs6SSp;Z%mD9^#MqL+&30em1Ihs_YoeUmP58=(jSC2l-y9N;LnDsuk0L=rWF zoU1UGlE8}w2lTfgsaA+fIRxn^<_z6-H}R@XA?zppdx{HycOt%fM#pHT(nN=@AlndMJtWYbu$wAqKM9CFrbJiUHxZAV3=~I?y3zVv(jTR6AYD(s@UKoy_5=H2rTj0=lp9dafGsy> zRci`m_`-*Afl@qU2f_|5d+$l(Sl}T9x3?XVAGLcL|Ku5+CNzE(R>g!Um^GQ4kcrq( z>S*_f1_%b|mznxHu|b$cq6=%fZ0^wI8hHP#BLT8-?rD_7?H*aEP~Ee60h^HU4*k|{ zRT&j|dhek9qoJAN;qDpxmZqv@V*7s0&iMCr9WAQ3QUJ95KtNcz{ z*4e#z*YGl~KX9*{8C*|z6Ud!7j^V7_Yo`U2*T7wjSTeStDjsq3UmsNRJwX;#;k$`X zFbrl{eqkI4&$9fwLz9$!%!IXJXs3++PhlzNs;4mzOb<;YeEp+dd9M$?)nFUTFRQRv zDcnAVQts!KFAyBc#0B(ZDYx6ih{bH(a~0?>M2+IfR5o=J#iP3lw*uSc#tVEm7l-5s z!Bju2tyxU10h;flT6rp?2*dPo1d)|0MN%Wm!o_p(k!$(ur!V72HO$(UN z-%eVl8wrVbW=&bHI3#{;0a8{A_CS_%-~N#?a5t!9XeZY!xkGLshMP1bD8@>LjdTTG zesUvP#gyp}Ot+|r3SGHc9&cRH;Hp#fET4tDnPCwg{*P?`HSj}cD0Nv>R~m7>9~;XZ z^$Gg9`Q>F9XdaMq3t|K+T6T-2VNcFSJbh_4oSdAWXi97 zm9SjBRqV86Z<=$W6)V5FZ6Kcz@&xr0GJ4TeveuEO0XGS{e9tCiU>ti zccJ!oPoO?OopCRir|{!{=c*E-To1ZWtAb>;&(%#Y6MSyORY{7O%5jzhy=uo?xRf#9 z*W;kmp=bIH>2Foxg%k!OLm{fIn!I`k%r5q7^=R$xQ1pDZaZ_Y_U^ny9qlO?5iN;Jm zWw*9=`Z{w<*=je5T4y1h>4k`shdj2LHEQDyH5b+8yi?RTk-@sHnQGLkX-sgf7L_3P z+WD@6rM<$h`{Boqqos7;_XS|Ky*SLW$A2iTy5f_+4kvkhcKtYqi>H7WH0NjPfo?Q9 z)D3`G_jW<^N%d0EkG`3K-Vi7P{CH?$<&WO2gZ9+}e7!<$;m*qiK78y4vZV~S)uw)~ z_;lvBr<>|f>hlxI`9ee@mtD9qowQ5QHBfEVkq2`fbGa$7XB02+&W@F>f za-~%UjUTz=ABJqzc zBDj@jzE96*E`6qh+%Udu4ulkKng_L~FJGI#Voq4J!1F40rvJ{6b(Io~C$kSM*!&S5wX_s<3wkQ$qr@%vRn;jS}!mufu_jjie0pXEQ3y!eM;E z*4^Nv+$ksiF(yLTs^d`9@?$R881QpweHEx?b(MW3csb5Iy8zb8L^PosaaBO#ND;~<>NU-x!q!43v)Y1EU3m?$y}#-$)Fm6=b?(I!a8at zXPZ-Tf%=dRh<(8EjRkU*Hg@L-E$C?S*eR zTov#iRGD>g(Y5Z=txV0KoSOghlr}+a!yg7QB^4(sSa}sE!1iAaSPe`M6ezdt{v$Jt z&-zm=^nESCD870$8*t}q)h25A_*dR=XdY}*TA?h1SnTV~K(V}sCEpA`zNEU)KaB@& zUUAIWA@p=eC3jOVTe>V!1Gw-*v)s|o;5#a<1}^mR8mrn6n@Cut=<#km>8KkRa^{Qw zk=^n#{G*RpPk2tw_OjC*DtK8G=y*Uk_osFY?VkU%j+_NqAOxF_(3x`l%q(H{N8v!0 z67u=Lo_IUad}xu1;JWP7{~$(23oH@~-6_-kZODy;7@m)qMd*D|b!AjW`Y{-E#k-G{Y<7(pNCIX1+Mrp%n)O`1M%4F3`H%d2N*q}pG(6OQMBM^y!JC=TsHv2{J) z`^Z2)kU_w0JcW+U?e|;U6>6pod_A&Qk!qMaP*wY0lZQ`MRho>w8)0cWQGdc(H>sv; zsoEEnGrp_^yerZ~K5-{>F)4@Hcjvg%a#wuH_<-huoJ8}Z2!XPXezoMl3I*!w`z@z) z5<1E^f}}Koyf_D4K0)jXf7vBc#ey!rw8J)%0Pk>fk&9>lO+IYe|1E+~Ul>3K5VWT_ zEhHdkt_z4zoemD+k zX`94CRQ(;~7c~VJatM0}=QvTe_y$;4^7~Xp?L8c0>(Pq@90Cw7kk3DJ!Drg*{u2cw z9l|9enZ4VVvQ$OGV{Ml)#GZMb;T|`ALN|kQjI2s|Fk=B81c;ZC6mteG# zrS8o(7y$~5H0HI@1r%`#85c$MH#i|noz+Iy35+8i-x_mG7@xjr#uoQ%m-5V6Gi#mI z>+RiW`=XU(x*tq8XB}Rg7wqzo;?5Nog`a!3Anzueu1fFEI&?F3N(6MtgO#E*O*DgO zqKZ51eRx-<%hbM=G!Pn`)mRojin*~B=*)#z3@f2HbjtMVC^K0D-R4}U8p~cGoN7A- zd(u`!o!|Ej-u%K<*oPM#_8rN)V-LrBoGXGkH9j3P>Y7a@ zQ+TW0{k=jk_&K#{@JF+q%l{L^k8yj=_Iz8h2JGvK1%2wvC`uDOetwTNqRFfi8fFvDLRaSKM z2}E7PSe7poBC|^i|Ed2oQU8I<3}^pegCu;Ye#ZIdxSBVc?WM0FMR!{=teD2-`GcZP z>T=vP6!hVmr~{t#wCJ}H!4s@PBz~On+;x1&f3lrgQw( zjI#q(;=?YHGpBg&8YRsJbmL${M@oq~S1is)+otm4-%m1}hZ-(s*^pKNf8nn8PL#7}jkABhOKo`8?ex`&a}u+XcPscXBNg&3 zw5$HB&-K@V=+2l?y|_jD^a^5%X{3A&%9!m?veIu+8i!lZNbLx0Z&;lh1m%iiIu9K^ zszZQa(6Sp$)-5b$P9vR%#+z9@M|U}s?jM-=BxHAb6FA7EZnBV_*RPd6F)8|6?~$mq z>jh;^F)3(M{wSAo9^pdL%gmiMnI3SfIkD&qD)aG_=-osdymh?w(}-uHF~^=Fy!&yv zNn?!okIUSzk#)-{y+hh#>^B(sU4{+pt2Pd)OTP`P6!~MmKEzH5X}SfQ?tN-B@0!u} zW&`&Ll+`75Q|j*SUPmgp#Xp(km|?Bj8fgHCJ>Bhxc(7T`m7cI1DuuCq3nF9a{McN( zFpkgyyS2k)8+F-P8*RHg_n7N^e4VpX_;y~gL{lX%UsRpK^!UKszRn&ksDu792WNlq zWw6XNrR%%tE9c``Ki8P27urU1m2V4t@Czm0josQo*SJR5^|*=(KCh5n)2v3`1T-au zUcG_p2hou83fqQZ&ty)8{I}IeIph+QYeceB_`>ghYR3528;PF|6#=uxB-cwZAc;(% z3#9m8_Mr@Y2rX(c@mtSM5e^WxtRSap!3&)Ob6>c|^d`7eZ@+I2R>m7FoV6uWfbIrL z4xAb2Rr77Emcm}nQCWi-iK5LlUbM_%W(o~2krRQ>i#FaDg9%%QpuxF3D2tW!7eQcQ zwl<*df5c(7nEY^9P81c}R~ULTnLWV3q+|oj@fdGm)BZj|nU;TNGXQ3M6tNx}rNEUR zYNzd-)AxIw!Sx@RsX-}TVM%F!FvLD{)4?j`UH{z@x+~0N7e2_51MPQOL9Rivob8id zAjp$^o0OWSW4XQ78d;+8X@yk3D?|2`uDjtIfougc6EClgTno@m?FpH%_pnE98Ic6` z|DbO)s-6~d>uV^-e~5f0k(%c_E8b8u{EuvGV?*Z8+@1~WQ(@s=nS)dE-5n)OMo$Ro z$^h}h0Y!@0UQ{j3Kvth&@aQ}+@Kub5?E%Z>$<;m*&O4en)-(R)Rx)i66G0tg&C^vE z!1lN%PSxwjsby98xyk99dbk0e;^~q#zj|TsT^=Q6F%hogvT6P%feQ|O5nL`JBY$1F zWsX+eXFuSz!J_K+@H}DVCFfurVWV+JJLp%krS<<;+j|Bz)wTb^ASx`2{y#*#q|d+yx&$$Mu#VQYx^Q@4qkQl`(#fwcF>&N7+_cgk#SYtmVo{(Sff z3Y;6ai_&x%^hh3nRv9muE-T_F-)MxMmeomgM|Jzoe`Rzy%{S;NDqy2&thjKwvIkqu zS=IJLK3458nSTc=6eQ4Z|892x_yzG6t|qQcrA@FtnMWZ^2oeTAd~&SUA763r@EE;~sKY7POHZ>#*v=_VjbNNllUOu;=qG zpQ%}n?wsT*$GRF{OV;@Q=bRd59-Iy?T9QH9d_x=a?1zeWD_+JmmJ*4^aY6h+dUnbk z_uZFc|5>IIK3I=Kp+eMdh&`ttD4ch2)?Z2k^l_X4wy0+5qUHwU8SmT+%cLqOd~UnJ zHhog3J+#O4crj#YtNr~adKOdd3yP^q^r_sCwf3t3Zl~8@OCBg5>Nsa|@q~Ob*tm&m zd9u`sYA=;zM0c8SI>f1!y;Zi?dr=?#!83Rd`W!>C6~m*xYIBcwpyH&gk3gju>3X!V zVCUy9CTqBWiQdrKIFl?^1DuLtC(9W0$N!-g{Tx@8v043IUdGR((ClmJj;plIQhKTR zi@ZKU++F?{tXaszNlA90zL z)t`3k`feSE^(e39Y9uS4-PUhyk*6kaH zNdC!k%1b1rq26l7hsie7a zAbK9mKhXqQ?JFG*Qhc$m?THj!@|Bj}B_0B6E*Uisg1hvSzP)$!chDKhi?MhWdzNHX zXV%O`s8wi6kkI{*?omydlz!HWo~T%xWY zV}G+SOn7xEm(i6wk#pu<1g5%MNamH*@(@GSljKbxc;xEaTEwH>&ERb^^%V!GOXSuM$AbncZ-) z_T&yjb3%OhG}cbx72Y+`-Is4wFH(&J6eu77fc=(yovd0ILQ{a8UdwCzrlB`qb-m>_ zI+Gr4qo+ikx~9aQf86ru&+^j936KYT8!$zcl;K7nr*xfZ1@Jr{t%M#hfX$Pj4?WoG zYk)+4ybr)Q0pKHl2#?_kBo#Wr4cMdoPdO1Z^51eIMQhlIB(l@uhQ!s8v*B*5K3^08 z;Mdt!$9t1ae65*`q$@g|L*NN`7P$~%|2KeWlQmESP~!?Y3qdxNHryJ}kf^JjNblFm zA|}h;u`2h6G6>Y(Px(*YB2V~!{2B!*01<*g*!a{UM_FiCh#=BazKUz2@d!`XlW!X` zIhRqA>*PXHK5eb{HpF&E7ZSiw0ZuC@VkLdRWuVULyV=yEkNfC@C4KLw?*d~o?pvk$ z4FFM&Y*89ob_ow=bfhKc7ndd2Nn8uR-4@rV5k+@_`}X&95rE5gyusxk z&#Yag_;su5;1+l>o*v6pR??K>pqA1*=V_Jz9#UF~n;JlY!Y(aC1Kyi%BHxJhb_G_@ z&;r~gaULEVc^|<> zY5b7yQ-o^pu&KVDyC=>KUJ$-x6;*b;nzu$X?*V&Z9Kt)9j}?M}n{Qla{sxt~`p;WM zb#z+Uwkf$hf0?z`q9mJ(6+7tYP$Uam37&E%I?(o)uxj@y34|bjbiF7tSWk{O1UJ{n z2%6GNsY>@8){#y`RjmeX)mGK(yojYz3V*d)h6j86@{iqOiI=)L7j*B0sjLeYw%)+; z-jg`_bSO|C_GBYPzoSst@gjGm8-xB3_OO3b@;D~kEu_hCs4$Yv#W2Y2!j4D!oF3WS z5u9caS}@WJ<(t4k^R$00kYzT;>rA^T6IA#Xn#w&T|6G9_i^i2Cq0Yf#WWu8+�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 NAjthc|B(Eh{a^XuoYnvU diff --git a/flappy_pos_discovery_thread.py b/flappy_pos_discovery_thread.py index b31c225..3ebd763 100644 --- a/flappy_pos_discovery_thread.py +++ b/flappy_pos_discovery_thread.py @@ -13,15 +13,15 @@ class FlappyPosDiscovery(threading.Thread): self.capture_window = WindowCapture(None, None, self.config) self.vision_stun = Vision() - self.needle_f = cv.imread("flappy/flappy.jpg") - self.mask_f = cv.imread("flappy/flappy-mask.png") + self.needle_f = self.scale_picture(cv.imread("flappy/flappy.jpg"), 50) + self.mask_f = self.scale_picture(cv.imread("flappy/flappy-mask.png"), 50) - self.needle_g = cv.imread("flappy/gate.png") - self.mask_g = cv.imread("flappy/gate-mask.png") + self.needle_g = self.scale_picture(cv.imread("flappy/gate.jpg"), 50) + self.mask_g = self.scale_picture(cv.imread("flappy/gate-mask.png"), 50) self.run_mode = 'run' self.current_pet_height = 0 - self.next_gate_height = 0 + self.next_gate_height = [0,0,0] self.offset_down = 90 @@ -29,19 +29,38 @@ class FlappyPosDiscovery(threading.Thread): def run(self): while self.run_mode == 'run': - screenshot_g = self.capture_window.get_screenshot_by_area([1600, 1200, 800, 90]) - screenshot_f = self.capture_window.get_screenshot_by_area([200, 1250, 610, 90]) - rectangles_g = self.vision_stun.find(screenshot_g, self.needle_g, 0.97, 5, True, self.mask_g) + screenshot_g = self.scale_picture(self.capture_window.get_screenshot_by_area([700, 1200, 1860, 90]), 50) + screenshot_f = self.scale_picture(self.capture_window.get_screenshot_by_area([200, 1250, 610, 90]), 50) + + #cv.imshow("screenshot_g", screenshot_g) + #cv.waitKey(150) + + rectangles_g = self.vision_stun.find(screenshot_g, self.needle_g, 0.95, 1) rectangles_f = self.vision_stun.find(screenshot_f, self.needle_f, 0.97, 1, True, self.mask_f) if len(rectangles_g) is not 0: - self.next_gate_height = rectangles_g[0][1] + rectangles_g[0][3] + self.offset_down + height = rectangles_g[0][1] + rectangles_g[0][3] + (self.offset_down /2) + if self.next_gate_height[0] is not height: + self.next_gate_height.append(height) + if len(self.next_gate_height) > 3: + self.next_gate_height.pop(0) + #pro_screen = self.vision_stun.draw_rectangles(screenshot_g, rectangles_g) + #cv.imshow("screenshot_g", pro_screen) + #cv.waitKey(150) + else: + pass if len(rectangles_f) is not 0: self.current_pet_height = rectangles_f[0][1] + rectangles_f[0][3] + self.offset_down - #print("pet_pos: ", self.current_pet_height) - #print("next gate: ", self.next_gate_height) + print("pet_pos: ", self.current_pet_height) + print("next gate: ", self.next_gate_height) + + def scale_picture(self, img, scale_percent): + width = int(img.shape[1] * scale_percent / 100) + height = int(img.shape[0] * scale_percent / 100) + return cv.resize(img, (width, height), interpolation=4) + def get_actual_pet_height(self): return self.current_pet_height diff --git a/vision.py b/vision.py index e6835c2..f19298d 100644 --- a/vision.py +++ b/vision.py @@ -158,10 +158,11 @@ class Vision: if mask is not None: result = cv.matchTemplate(haystack_img, needle_img, cv.TM_CCORR_NORMED, None, mask) - _minVal, _maxVal, minLoc, maxLoc = cv.minMaxLoc(result, None) else: result = cv.matchTemplate(haystack_img, needle_img, self.method) + _minVal, _maxVal, minLoc, maxLoc = cv.minMaxLoc(result, None) + if normalize: cv.normalize(result, result, 0, 1, cv.NORM_MINMAX, -1) # Get the all the positions from the match result that exceed our threshold