From 8a10f6f3ad04fb267c6410fe581ced1e43b10e2e Mon Sep 17 00:00:00 2001 From: Blaise Pascual Date: Wed, 5 Apr 2023 21:32:05 -0400 Subject: [PATCH] Fixed Json Error --- .idea/Auto-GPT.iml | 7 ++ .../inspectionProfiles/profiles_settings.xml | 6 ++ .idea/misc.xml | 4 ++ .idea/vcs.xml | 6 ++ .idea/workspace.xml | 61 ++++++++++++++++++ auto_gpt_workspace/communication_app.py | 1 + auto_gpt_workspace/fibonacci.py | 12 ++++ auto_gpt_workspace/goals.txt | 5 ++ auto_gpt_workspace/recommended_tools.txt | 5 ++ scripts/json_parser.py | 50 +++++++------- speech.mp3 | Bin 0 -> 29856 bytes 11 files changed, 135 insertions(+), 22 deletions(-) create mode 100644 .idea/Auto-GPT.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/vcs.xml create mode 100644 .idea/workspace.xml create mode 100644 auto_gpt_workspace/communication_app.py create mode 100644 auto_gpt_workspace/fibonacci.py create mode 100644 auto_gpt_workspace/goals.txt create mode 100644 auto_gpt_workspace/recommended_tools.txt create mode 100644 speech.mp3 diff --git a/.idea/Auto-GPT.iml b/.idea/Auto-GPT.iml new file mode 100644 index 000000000000..0070e873e3f5 --- /dev/null +++ b/.idea/Auto-GPT.iml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 000000000000..105ce2da2d64 --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 000000000000..6408223b98e1 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000000..35eb1ddfbbc0 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 000000000000..2fcc96b86da5 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1680742313846 + + + + + + \ No newline at end of file diff --git a/auto_gpt_workspace/communication_app.py b/auto_gpt_workspace/communication_app.py new file mode 100644 index 000000000000..75235eb41136 --- /dev/null +++ b/auto_gpt_workspace/communication_app.py @@ -0,0 +1 @@ +# This is a Python file for our proof of concept communication application. \ No newline at end of file diff --git a/auto_gpt_workspace/fibonacci.py b/auto_gpt_workspace/fibonacci.py new file mode 100644 index 000000000000..b126f4b86184 --- /dev/null +++ b/auto_gpt_workspace/fibonacci.py @@ -0,0 +1,12 @@ +def fibonacci(n, memo={}): + if n < 0: + raise ValueError('Input must be a non-negative integer') + elif n == 0: + return 0 + elif n == 1 or n == 2: + return 1 + elif n in memo: + return memo[n] + else: + memo[n] = fibonacci(n-1, memo) + fibonacci(n-2, memo) + return memo[n] \ No newline at end of file diff --git a/auto_gpt_workspace/goals.txt b/auto_gpt_workspace/goals.txt new file mode 100644 index 000000000000..69dbcd05a84f --- /dev/null +++ b/auto_gpt_workspace/goals.txt @@ -0,0 +1,5 @@ +1. Design and deploy a system that I can communicate and provide feedback to you. +2. Provide recommendations for improving our effectiveness to work as a team. +3. Generate further autonomous agents to streamline processes and accomplish all tasks that I communicate to you. +4. Design and code a working application that accomplishes all of the above, then deploy it. +5. Execute all goals in this order then terminate because the improved application has been deployed and we will continue working together on that application. \ No newline at end of file diff --git a/auto_gpt_workspace/recommended_tools.txt b/auto_gpt_workspace/recommended_tools.txt new file mode 100644 index 000000000000..996e92d10c03 --- /dev/null +++ b/auto_gpt_workspace/recommended_tools.txt @@ -0,0 +1,5 @@ +Sketch +InVision +Figma +Adobe XD +Axure \ No newline at end of file diff --git a/scripts/json_parser.py b/scripts/json_parser.py index 11ff9ed22e0a..2ca76e6a9412 100644 --- a/scripts/json_parser.py +++ b/scripts/json_parser.py @@ -3,6 +3,7 @@ from config import Config cfg = Config() + def fix_and_parse_json(json_str: str, try_to_fix_with_gpt: bool = True): json_schema = """ { @@ -23,30 +24,35 @@ def fix_and_parse_json(json_str: str, try_to_fix_with_gpt: bool = True): } """ - try: - return json.loads(json_str) - except Exception as e: - # Let's do something manually - sometimes GPT responds with something BEFORE the braces: - # "I'm sorry, I don't understand. Please try again."{"text": "I'm sorry, I don't understand. Please try again.", "confidence": 0.0} - # So let's try to find the first brace and then parse the rest of the string + def clean_input(json_str): + brace_index = json_str.index("{") + json_str = json_str[brace_index:] + last_brace_index = json_str.rindex("}") + json_str = json_str[:last_brace_index+1] + return json_str + + def attempt_parse(json_str): try: - brace_index = json_str.index("{") - json_str = json_str[brace_index:] - last_brace_index = json_str.rindex("}") - json_str = json_str[:last_brace_index+1] - return json.loads(json_str) + return json.loads(json_str) except Exception as e: - if try_to_fix_with_gpt: - print(f"Warning: Failed to parse AI output, attempting to fix.\n If you see this warning frequently, it's likely that your prompt is confusing the AI. Try changing it up slightly.") - # Now try to fix this up using the ai_functions - ai_fixed_json = fix_json(json_str, json_schema, False) - if ai_fixed_json != "failed": - return json.loads(ai_fixed_json) - else: - print(f"Failed to fix ai output, telling the AI.") # This allows the AI to react to the error message, which usually results in it correcting its ways. - return json_str - else: - raise e + return None + + cleaned_json_str = clean_input(json_str) + parsed_json = attempt_parse(cleaned_json_str) + + if parsed_json is not None: + return parsed_json + elif try_to_fix_with_gpt: + print("Warning: Failed to parse AI output, attempting to fix.") + ai_fixed_json = fix_json(cleaned_json_str, json_schema, False) + + if ai_fixed_json != "failed": + return json.loads(ai_fixed_json) + else: + print("Failed to fix ai output, telling the AI.") + return json_str + + raise ValueError("Failed to parse JSON: '{}'".format(json_str)) def fix_json(json_str: str, schema: str, debug=False) -> str: # Try to fix the JSON using gpt: diff --git a/speech.mp3 b/speech.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a83de4d221dd494d50d1465c90ad08028fa07e6a GIT binary patch literal 29856 zcmbr_F#b86a~IWcXvy7w}K*)N_R?%w9+90yU(t_ zKjAqqc*AvlxS4Zi=AL_IkQed;0MO=|7*K{9Ko8JP6a}zSFAY5dV3WN;UTUmucMizI zpiYunn@}^RP}>k(pD^TK=fJtw*Vwn5P^7YDRHlO8Oyu=`|qD#c&qL$|!9JFwHdU z@7x&@n!=7>c=TRa*c#w@@FT1hiLei4FQ3RXkv8yS2(ls{QKNR@B~=RfQW^h21?^K) zZNbWbOJ4v1vBe`k`L9)>!Hae&PRYfTZU!{jcGj4Y-+L^j1(?aRs>?)g{wO|4a$kGD zdaLrr(sTc0v9(6Zx7M?vvf4hCcc;N__4YX9B(UXif==eA^J-kQPe{JZQU@5afivo7 zx(F{g@fsW3*>)`c<`xJy&EZLL2)-3n;UIQ;mzs-HMm3lDY%2~YB!Z=vCrt=)HG)4S zpG4>CoFb@tt5L9@aN`F{(NHZvk=Tq&;q4SVK>GybF(`k65gzycQUA^scR_X8a}1gD zo{j+uELK7?w_V(Yaybq4lcj-m9`jIx@#vJPg?taWYVCLLVfm7Dn%{z!FBa(56kde< zV%9~3%aqSQ9DdjW`jjO4ff>Xf!;1M?Hg@+jAamZkTi2y8iATQw z3M4<=Q1P%hGJ<1=Oyq^@i#x=##s9sFep9zVZl|-zLOn5`Qa{sq;{GC3HGj7uk%8~S zEWs<8u&;P%pM)YBkqub4fJ3h3f3k;Y23y7=n%ra?MDj8A`#Zfl8@VV3_+J28=I(zH zC%Z#jCB4aJE{vWiwX8_cs~E!aU7QcG!HmhsjLJ7i^z(H-zwg}_!Y?eZ%t8N)-|9FV zunvdErNduV{DgH@SXyyx%OBs_@h2(KYEF~k0vt-V;_{^1mxbC=c8j|**w+`zU%z?m zD&Rh*GwY}}O8Pqv38&3?gS=(;=Q9kFeqj%e!8*+b3#_7jQi|a9SAcaLI5UlvRx*|i z^uOeWW5vuqxA%WuQ0PhTd$q}vIkoe~7&TxWdNJb^>cTueLbYmO7-5V00`<$&Hmdt zMmjxptRi!iHEQp))1sXH7eI+RIcV>80Cyk>xlg3;(flm5NnLorm1PR;6OtQKwgED! z;RM8(AN93fklbNwq^+iRaf^iYr>AMoNs+j^HQaw4(LAuNWLsJ0YtXM^*ljR444Ap#aZ(qo{;&PP(aY1+-kIBR}#;o`WDt8!@liVLKIdZST@O zx#!P`c~3!aVHzHw*V|`k=;x3tVTSgpAo#RJfFWx59M00lgR^NG$wit&sE&upYh5Ov z#u}>Nl&hM%<{0kB1}&w@jEcWA)sQ?m_w^-vs`C`A-6T5CxQkwe9v1e16L_fva0_X$ z8SXs{yEBcp$K^)RJ~QbS#0_Y~5AcKAb#{Ij8;AqM60~sMT)itW&yUA8YkYX{v8y!5 zz#I>KJ)rX0Suu7)LQ!*a*m$q=tvWlwT@?11!5-7;9DCDzK_y><&JhqV7 zZ&JvP_m#);!{;HPiqVX3ijl})Wpu^AU)a7X)7R9BNw<^DS`Bru@YF>6#1sPOWxyCC zfTmlTXF^V!#rn^^-r19J7n4iA*G*c&cH&X(_L$h?l~L{0A8mP)?E4#73wSe!W98B; zDs3wpuLEQjKf>AcyQ?4G%eu4q@#tfNU6+j~<_$st_`s-z#df zb6qnldAukV1(w0T_JI_$p!zQaPNh({B!6L&v2u|8ZdC|JK4+exu$errr-Su{tSC`1 zt4%6)?3375ja|KtMQ32S@mI~p=MA+nET(6AWQ<+m=AB&DvcT4eU`(PXr)qOzST;P5 z(LMz@`fog7-3YGnJia;oQdK3T!Q%8iA|q^@C|j|;oU0QvS6?CV**Xyl_W{QVY*JpAS$u}wKA zwq`Pr^K;`EVb{7XpT{%ezr3w~yw+y<(lzED9ESG!LDR4*z&He6_&cSY`_JI5Jyha1 zN6_)O2lDSBBFHT(|G$+kDPX2mXzc zpx^$TT5|zexfOL?5J}#W1_;{wlf0WN{6@Ij7oI<^Y{}fJIbz<*-;Jzp2A^%+d{o~I zv8s0Ks%69aH~wpp+^RMK#?sTJ$Fn3Dw=clWM~|gA)8hA6ji|3bz(Ag!oJ%-5<7dMZApsa^TyTR}#^(tVL)_^2 z9l>5Yb%42rbe{yCtGY+OW>o>RpMNZV>y8dE;nWXJtlmJ)PJb`wE6eAz z+`f@WmS`8pJOR%{CKY?;JNXNaC=$rS)UIv#i60|jUxa#&wbYf$(f%v&a6=hjRxh2? zY162Sn>3u2SD*F{e8YC{#*X;{EOiSDDc3x7$Pc5f*5b5_0q4nUBs9rkG0#dxsPsQ7 z9}b|e**5(BMg!4~JbP+{Ou)@s``R!S@(_@j*^2gqATko^fCUmb1|A{qI9zTWFSJ}) zauP`uJ{K!Lz)~b`1u71t1lwlUip>DxIm!2ZIpVyVCthFgrNAEgXg^ER;fyDT9`!&= z6q&<^e?fC1C|2|61J8-G{r*GyG2jr4aKJ7I{>AR}Dk%3Q*IQs{C4X745CG^CPo(vw zpbwHq+t;G)umY*KR}tXs%8)I3u9>L-&YbAe5dV*(vEDf=J8e(T-jz8s^jmTY*rZG> zRn{SuV^H4~?Pr3EA<=;EV_weL!*<%Rk?^L9hWc>#FJ=&;55|LXaRl8McZ(-MsJ73j zXL*+p!o3Y4Td^eC!`*>y@@_oMw1 zda!pm;QLHEX{(DVDg9eQim9*(ot2aQcP6h{@=I}aNpVIqq_gGeL_tM&N}B^T-s0!D zZ`pXp`w6rNY_WnLaTE@(1b9SzDJs^6SPx;aSL7ww(=E>Og}n7c`{AG}L^xn}2tI_0 z5qX}GA!~oQq!&*~ZSfll|1{q|h0$oe*^HS+^UzC>al1eia${cGA>TIZ9Mws(#Dq_X zEdwASBfa0c;0bqR_t)Cci;YP^4@dsw5*>db6+R0pKct5HJOj{Bu?^0RqEbrgxnSuyjw1ybF&W3) zUzbhU#A%$SuYbJwdeQTk_2u1o*?eRuO-eJAoF{Aqkb3=U;OJO`^}o+guU|ZPUy7hU z?(;Oi6Ww^UpFt)-n+^EB1jnK&rpxoH&7SA(RgvTeUEej?7EYP`DxJ(5yV*q^i~q`j z@KW1{kHq9|UB|J+v>4d3N|Cu}&CyAnOP137Ft59_ypKYC1{5a3GgBX+^gaRiXg?2h zo0<=pHc0;jwH(hC@s(xPeB38(@ieAGq%BZtqvz`3?WepZE-2}MWc93YMs7Q`O?~)Q zE}ieoZhYyde~}G6NMwV89mwa>A-A~US@n5L9y1R4g+yx|{KUilU_Co>= z=~VJlfmB`+z=ydqz=4-LbXDe3vKq09`ok!{3EZ5SjE*1CILv$(wj~y9omu#dZSwj| zOSGoQ{6h;4wRGq4WK}2oViATbN}V^S-IjlLur1-S$p|?46?icNG9aIxp~ZT@d$}Pe z{QOd&CkSy~2tLc4M*E*2;DT_#vO)UN%xI@Y>(^Cw`T&ndtAu-gf4;5-UYJRjQP&%_ zJt`*<*Vq3R8-zq`w&({op7RmBeeqO;5GM*y71DIsWT(>hJl%AF?a#ZbK&iPXv8Z)E z#Pq-Q%Mi+s1}tl(k3GUlW?|-O1f^~cW8lAvi{mt39D3XM(EiYluv`2SCDpngMlj#; zcjLPfvi0v)dFD=j(N~pxW%p!iajseN`sHn{3fx6!(u~Zri+7&)49Jsz?K4FI&Ws04 zuct>n`Q=h$9-YT-E$}GHKzOB0%=Ha+fQBoXen)NrCQAzGh(sY0wSZU*+=?at)Sa3A zOsv_B*x(rv@ZBKRhv>iI^)j`30cmr7`z&-;RK##CVH|Y(Oi*m)qTcU%dc^>KxhiN; ziyZ8E;97f&%=QqeXLlhcCO=*4xrBB9c`PIZayb5xk)5sr*}ig^nwq;16UenPbHbX3 z91<42YKKr1NmH`N3Nd$BskV*fyG<{l{b5KiD*yRz0e`_p?qHfzKI^fvQ8PC>(bBFe zgbEi~((TY{%+kr-1I&)WFyJbw!4>#BtgAlQ_QF-*aP3dR)|PHn3>7!8sZO&oU<^oy zG;OHph;sy9+_-b1{b>k(Vm@GbD&0&{?(oGoP=cS5_~&7Xr~?jp4*#`B?jRCLOao(Z zaPjZ+Tw!i5wFblYFB-iG0Yl&YuY=U8E1zoj)CV0Pgp$nngjbFJD;In?ZVyn&9a~=` zp-21Q$pm7v0m~-oDrw-Z?w1U4t{!gDX0c_pa<&+=F5Lxw`ff>cK2M;{^mUU5`Ag}% zGMXIOX`1U|Tof$FTyNx`l&R%mfQ4*flof1I;=Ygea=R@RpTvVjREz7;{uYFpB_A-W z3MVo|H^;B`Cr3zR&?53Llc&r}?741MAuO`emwtU)Io4kCofm>XhF{8V4T2Nm)RniV z3R)v^LJb7dXl#6a(|Op#PrDpqV62=}1FQDfn}Gyq|A_r5OFW?0;!_{o8+SU<90u7s zR*B!{R2$f|iPMgMKJZNgU)CJz<1}+)a3kP&(i7JiX^8y$=8R4Z(X+KN5HzMAbmk*9 zh@AMIknyqlS?XV~#m4Wi7Vz7UfAdQ<11oJ2P}T`p*1PbSHR^_pfL0CboPl|YNsSQ9 z&;JOdq|ebVv#JVAb>hI=OeZQ}*t8?X4YSc=@xx$cV$x8uG7zT7E+$MY9!;v~d3ZlQ=tBluAics}h%RRimTjZIw|nph?6C>krW%oLQ`VR%lBR z5!yFptf}DvCS?PnTg{)gHX>_1PdDj}Ks~{{-bF#Q6H#gDxbB6+pORM17tpWLo&_>5`=%sND zu{I3<0UQ&9!*!pQu93lAGs+|CSBK>``g<3|vs(CX{3j*%M{ojj#ehA%eM?eX)WC4$ zPb?X$6l83l7qpKF@dP~3L?m2@{2@IR{1o@cITP}4fw1vjffN#n(0uWnx}PQp_1R56 z3kd}egRqDK1Sx33LqdYnqR5G~(D8#Ps##tE^Q`~`*uXJ$Oo%}ajNfsl#^D~=?!cyU~!7tD1&_1@k$$46d&C}klCwmSK7O_YnsL>kFsrKO-WLNLe=? zaacTyzrdMU5e)4Uk)P2909Ta(k&2{L^u(IhTVWpgyW}*?86$r7>np+Z9|LMl2CBX@ z+85)KMPh@@@W=(ol&ST~935gn{FH1N*eMVQj!H5=1X)HUx`EIM3M|1(;)Qk#Rs^Db zLa-kRI{$&YLLOa)%d25VPT{&d?`}AVWNVkoxDV*fWvo+w`&3;Fzfj(+;H4qQt?){8 zTnrr(hq-?n8x=C=J#u#BN-@@!wPX#}!mCqD22dWxA&&}mg3FW{%z6$rm&u#P{8QR_+O!`rifc9Cy(|m1!{u%fLtSGMVDGqehpAjzV$dJhWyM zc`5^HN$YN#kp|~EnI+E_sn^=g*J(c)DtGBjvluND3OXFgaPJ|KOC}QYuIIM2>=<|u z>RNl-XuOM#{~36T?*m|T37(5HR!u0{#jB8n=u*m#)1o+Qi^Y+75Cc;3C0zu|ZgS<_ z6mpAc2DEH!tI@QRiPvHA&80HSdJ6yGewju%w%cgaH-BQXapyt)7e>(ObZ|wekM@-B7O~C0YXvn$otQ!4j&$>u>evvC)#n&xkYlJf{emYTm7vVH=c5kkv`n zRZ`h$RR|dN`tv7ztl2VZOm#njhnP_(XvY+Z)VUpfr6mDpGDiElkgC6^`eXro;0=WM zNM%Sw(4ADLJwJdzpTa>}A}mRTLLi%v3n(n(nrQo;llXp+1skY(B2U?c8qN`?ox)yk zd(J8LL_DYo!?US4;iJ{$!EwhR<59x1$I)ot6to-|4VX($SO1bYC$*BP|LNn8>2~f{ zNgojh!4RT8htERmmytNOX$vCmYTw zqKGZ`a^!u8ObDR6tLDox+IN8{U;kUbf27dm4CK6P-C?Pi`dcKXPpTfXYuDn}*B%@| zm$@MMOIqLw61j-H)St{*1p{!i^^Q^**eN}x3u`K^PIWGL{syyNj@>my!?VXUMr9dQneCz|wy@B_19{P!El5>hGXfspVv2s7Ty~we`#Y~Q-z1%EuvUa_X zwh^baXEMHZp51v!=D|>`b6Dmdz>s&?XJ+N$6mM7UMEen7tqIiog?p(-G$qM#fbg-Z z-wLw%T+%tUMDc&g;{^NTf@CPnO;M>Q@{aQ`{)}P0Vq9{1KFYJVgf;mhCr>yGm^B`a zFI}Xi*T<4p8jUYQV99I3ZSb)o3GJuSsg$7B7tjpCJL)h6yDmEdopxIR(R{>|j!?@? zRz#Z-mf|b3Z~M^wsY~i`0^_FYn%@m&scL--Kx?iqcz|?b%JpwXW!W3%kCTuEkN)eV zdgf31S@%+@xv>E4zhMHN2cy=fIh+!c#;4_lzQIH?u?F}uV~O;mfTMUaI!x`-U;)Z~ zvquwzH4{r?^@kEqcPz<#{UmQ98KmKcFIbum#j})CR-eUnUed@+f%}PAzn->1+IRt~ zXkU{lff0*7TQ=O=l$uq_5r?b{lpN95XC_7iO0mJLr za|r~HS5TEXV4~yilEoZ5S$$!1nboRj_%)JA_rca^T;PS|Z`{}YW^JFchn$fcHxn1U znSwiu)LE}htaG*9cq8!_(n+^pOX$TM{J?gs*1)zw`?O@Yso8*$f^=1aN#U&bZwnfK zNS!v;l^6+rlvRAr_TtZyXVR9qOgYnuV9-gA+lgOCd!xDf5+_|wF`mk#P^1q7Ter*D z6CtuT(wOE}Ol`Z}XH1NVWap#Wfx2j)0TPp&4;Wra&tJ|zma`XBW9KH*-Rb?nHb}*$ zqWjW54J2dxW%{^A8J2XUWN93eOI`1@d|8v|;-(|~xTKJufP)r4iQbg3@J04xHY1qw zyWzdaW;w@0mHo~rw9gK?%|!VN>CTv4*dKL(>3UvQb#)$Ew=xv!eQ&SsTnm>@+&w?U z$^1efzoR;EarfI->2%$U1j%+;bj&I7Sqq0^bsLDsT{pKr?~(Nw0qOIT?1}a@ zXrG5dg|7&(Kn?%JaIJlyC&9zHI>y zcH(Kk3^t-sSSo)up=ZP7>T(xG^`m`=+0-yJgp+8?yA=2&r9Hl7HxRX(fJCgj^wTEO z(3SuBO5~-X(gk%{`t|VDPU5%@t3TrN!-gAY@1sJr&q8)O^KXADa&h}bk2L{_f=zZr zI4GQjbca6R+cB2vIQ$PEeCn+aVcnl9J6_V^X@RUKH zZ3a~3NdPkLn^&>Fc+4hrSOaONSTQF-OxKzn>T3x zDaZ&lzKzbnGyF~-JRV#g%d@voN`s>D-7~^vi}*R84aj0T@XH4KNRgQx#(b)H|KxG} zMfW<+Jb*LJdDQ??@-h34+eyo<;`Le=|MCI)3qX~5A`kQEqnpsaI(S+z0B9x#2qoW@ zcMiw1ABv>q51!(nhknKLtZjk8KRk*4)FC7&{a+;XbIq*6PrwHv>fX22Mg4=!KtK>9 zg+E_N@vOHVN2rGuB!&3C9by(4>adAvMN{-|ePjr|gTw=Koq!nR5L6EF^+El+x3nDt zKieosn;G?;IE4iClFe+jP@?0~;c%{6nkJ0}f8?#TKcn-Vwiq)5^ya;zJaOIldiM3H z#AwGnLJ~1$(_SncYmbGFp93P}Uj_>blzySUfFyt*dZ7AKGX zbmqjId!v1R^5ARK`feRQ@{T-2Pey(AA?Aq1i!a}>%H?_ss)yrqLHtpMta)Dvfm{8$ z)Rv&C+MQccaoaEykJm*nmXl<_^4!^`FUwOqYSL2ks-fn&JZ=AY5XYvak@vs)ssP!y z>vX_6Km4@?Ww30u&2M+DXR`u$rS(aIA2nQM!g?O^^==U1u*$482kBjGa|Je??V=|v z%rDncXp=>A8whn25{si~7bK6LE}o_NLDVCPe?|EmuRLz2-xBfPJQwXB01 zQWU{m5&0p3@l<#x2sO$d?zlGsmgVLzEUHcAi28@gFjh-u(uU!vCD?Vo6CgfP` z`qk8l*HxO7fI|j_56a{<#Nw}l!Gym5`tLK!pQrjChzLR;k&SB~j~oIXZfK9G6_eXIf>UL_3Fmx6`z)YV#t$g}llu#f z2=S`s+liWjWKXWGHuIDsu#=?kiaxg5#WXB=<_ffNq=zCIW#WevnmW0Dr0gy zb$$`C3&5zcHm;21<%q%jx-N?8`Gz{QF9?cV_y7Q@cGefCOUNq;#PQDxzdar>Q-x8H z)_acs*I3abf0~*;Q784)b_mxd2sOacTj4B+FByLi9!&n?2A8G9KlOS&Te4!I+xr< z2#$_l7koAZ2lNl5cO?p(W|$gqE$NJ4cB|)#jTUudY!y^I7hvc!obUi|8F~r5O#cx& zxX^6gHQlrCu4$znhMF*u2>l!OLE7?`4b@)G{N^-z8$26M4^EQ&;LK)(v@Xn3r)rP0w(^pSV7``7>ZuY*ErJ$uT!rx6H#(wc0**M=}`j1wd z3o~_cvm(#Aoi>uilHR1c1%`66R^{`@ZQ1}to}hh4h;M2*V8TNEpdJ@QLVi=UoFmGk z@X4`yb|mG`f{V06NymKPN=Ice1~>>w_Ws{{J@QC91xFk4PlX;=p9U0#Pqc`r))SlNIfULQbzy zekwe%&kq5*X-fZaS zT5p`C`Inh;;c+(Lb_eJ?@y(*xkFTye&yw$DtbZ}Aa$ceR7;yBDY`}yO9Etq--~1)) z)vdC9c0EmHXNeuDl>&UhD;h*r?mYY+i&2KZAn74ScFFI(YDrUmap?8bCef+6j1^to z=)k6#nPpXEYX!E$Xl{Wc62XmZ@a8H-`xy|t1(a_AFC`vv7fg-kQNnS0!DaeGh~zbm za{I*@R!6L(v-!q^S>^Mpwa@o`0sR68T5}EZG-+5#7IwylRewh>ikcsK9FY%Fh}^Vo zbs}Mtj6!H4ubrGS+AoCgqkTrW%}+=S9uv_ME9?yH&K;{}1~2yW&a9f3oU;?^qeScVWaUz3!Yi{`6_$7OgmdN?&!(anU=|*88j#XW7`48G!-KwG4f#W#VRmd+%14@I3|l@|UNnE;OF#TjIV>himD~afC$Xwyb`r3r zCZtg;PRcz^a&Wg1pLf@?i(wXwWBto~)3#)L^6&~))ZR|Z;Rx&CK>KZEVyO8Mb-u{< zhCMk+;Tnv#Pnno}UaFH96{{lI>cn5ZN4v3np{?#H2D1XMCaK zwb)bfleusk?YD!LS=s=BjBseJ+GQ#=7}?v*hVZB2@F5Ihf0=a2=h5|&VLG1W^V<*g!+|u4kG_qnS}H49^#;_Nl_iGUB2$6{CBNX!+&M^MJ)2zake`1Qja|>(4a`x>#;{GGcJp1 zP?ZMu`RmB@C*-jt?O&I5EhdOCHYE2wiMJsm+pEmqzJCoZPkZ>6e~v@I98G{kYPfOx z=J)Mgj)!8&gm=4?5%byvZT`;#+l#*bc`C50srU}A8240w+C|S03d2vV=q&P z-8S&*ntlTzTU@6z%@v*frUfmO9kJI!p>dVf!*A0$Ut&*g1+ zul$*&?w%7w51C?olZb-qn?m75#jk+FyzC{`I5-py60>RAJ8LYhJ`c?rGFC(!D@M@} zpP4G-^k4y4T?vJzU>Q$jc+tQ4af572q6*!=u-sc%0Y%mGQpiyXY|Rq>Xnrw!9w88k z=#s4frvZoNmva6VkX5mk&8eVOw3s!(1V<`TCJZ+OHy?sk5}m;8xM}%lHPIJeNqkF` zU-8sJOsE3g{y)faBv9)kMtFwWJB5}GCyC&P@`a0p(JH#Aiy)YV^2uXLrNtphrXx!x z$^`S7$5(3=6s~)XIQ_T)&-Sonu4--~03MYxzDTJ?1SBSqHI{%)oOfS85~SktZ~WgS zYxBt`i@NpSDCAC;s0R%pM0S%S|FnC%M;mG4WS{EzKGPK|-} zG4c8unXHY}GI{%Jyx(z#;hLKuSsiY)&vGj5bOy ztPgs)Mp6W`YgHp13Ui-P!68EX0T5$BJm4fXATu;%oHDq6&`g7N#?O9sX|TL4PHHY< zI<%+?cFck!qculMEH6F1FHDSSL5L|meawz6W99l35?WMO1*1I!2@*thS~=0;n2%yg zFBH~MV25?1{Rjxu{2rjH$Z1stBY3wtqb{SNAjBuY&tLQZd62=3y*}}1KM7O?Tm|4M zVqqdTx())Wq;?Ri+%J6uoH9}aqX@tJWXI~cmLu`qqYne925o?wKE^kh;sP=6{`+7) z;HKK=MAiFE9EtScaM%VsCB&t^;bka9&4k79&uV%9-ftlQfT;{XJx;j^IzgyJ7?Ix_ z7pLNCS}3IYhAFPqlxL8>aK+R2weUQv%ZUBo`=pO)9pxnrL)ub5sRO2WR`T3OoAt?U zvd<;Pd+zmooytn=1V~;{!3Z$6(DB!yeV{Y|5Pa9O)9(__tqe25VqwR`mp1YyQ@`@L zlY9Sh!QtoonL>++XV~J{xaoTJu36kqlda_Stc|=&gkVT6BPB9QXwHb$-SZpmN7bq| za)jc=Q~1nXXdg*?0TTn}I02sMZJicsz412A^xetn#KK#{l&=$#W6y7jv}W_xXvg-@ z_b_-^np^kt{?%alNnk_dF&HnOxE2&mN>6#bNOgKqD?GSfQi4}hoyvmAb^RM&Esgef z$@~qPfH9na>S-uE1$-o&67sc~Rtkx%&KokTDKUo{n+%A5jR+oIW_}v3ul9QF$J#wJ z-7e{1&yZB(vXnM|*Nn8gWXm6JyV4>X_i6^5gLda5A-<2}j5YuEPmjo%ud{(eoPZ8) z>efxI_iK*V?WXARTC3@RB7NVK1B=lXg=CTa*nb0c2JlyVw7cj0hGr&y$fsG9t0_eo zdi<56bKS^x0-}ak%gW`R-$Y(?@e-9_EE4Fy_|liy`H zrso#;P}u{Z6f%Z7BAa> zSg|94y!@K!&-vL@_9B4;`q-Sgg;H*=X+iBd|Yv? zG;dR?e`oq{eR@D)+<>a@VWpc5s%9cqpr^3}t#mhMH$jbW7k%&6oAYgts3$z@)$clg zygjCToR!kdvaujgef`}jp_xI-)%8VxlP|K7ytIYe6zh_2F1l==EUt^huLz4jxpMfmg7!P1|8Zmk#4SD< z+a4LXWGc{$7;N%!q)x5oQ7OGWb73)s)xOm4iNRK_d{JA^A|+y`@Yd4%u_kz?6liVOr&PnY@MIKp}2Z6 z8^k3lGOIQ$n*P!y_Df>~tcHx64(;nfT^aKMV2kdTvb(PiuB|I_^Al~Hs%vLv zOqd=^IIZ5dToPwxl`zLum(5i?!cfWSc*j5k6F14+84ww3ei@-PjZKUi#Qyg*qJ1JV zHQH#P0w?gkEoeGuMkl>-S18I-Nr|&BI<_=QRcEf;rUf5YK|Yaz!dahq=~)R+IhP3o zUWjTeMl3+aW(P(+BrG2~Dy%#Uli;-CPU`&e1^>@#rT8iy9wXWZQ^YZ517kUX7X{ML z;sL}A1T%pWOmQFcbc~*yl9Bjc(yxE-X;he8IUp3dbusbt8wU|JCntxnx+QY>(Y>>F zt_!;qD&Ff9&3)*YetCvTvG%}o0}jPCawoJ;3<0y$0hg2k%gk1-)xuYc2*gG6m=q7! zFiek?xMPK%Us?I%6fE#RZcTyOwL9I9ONLPiEUt3xAH(}gSc*#?Bd+l>_WVX2OpFDG z%QdumZ9x{sQN7l7!USq)p9+G9%Fov+;SwtQYieZnd$!&;GM%+E+n^|~eZ06yHBxAx z%ag!a&+CM*I#?U`xHQOmbo2gw1*@-feVm4+X6AWi3V@V`aLN0t-TNl?Q3RN#Kw&sd znzm@48RCqC@>Su+YV+~)KXU9F78pq;67m)YXQZ;F$C=^kaOrhcD zg|JkccJ>^2u)7gT?!O4)Iqsf`QX!(-nt~i1=(c|Kt*ttgP5pRihfh1biUxnVzPc5g-9=~5`YlcH z;d_`;@4GMp;gLTdzJM5f$o*(M@o|}F6?Dvl(D93tPNCXoAsvo9Z^&N`(eJ;C_mw^X z&Yyl)77)hDj+-!ajEqRkk3(!`=-zaG0BFz4oewLuKpK+{(sYqT)*ru~8cIwYBasJx zg@aJx94$yR>|BHXUlKn z@<(?S?OQ;SQTulbaJU|zRj%#gDn_;2?YN)YY)UjBl7cxu;&bM=l%_hBLCR`i`JI%` z(%?d7w$E?G!LlhY5}{RyG}(RcRT7*YGq&(%@IN`D7k6TK>D;f)MSdPRR-t_dNENES zH^C3TS2MefY*sSuO6b+pIgY3oQLOTu2}s75z4U(u37=|_(Bi|zYrNP%1*?;$kGx9^ zp%k?d3|8I4(-JN0!Vp|6fkqAvreL>c306;Od%bKe|Ah8EAo!7}{G2>P4+zkQ80wP# zT(oZ=s~=(zl=OeXoE24oi9G*O6SVI#zk8mUEl?b5RjK`0(`xGr(Y%>cu)LRS@BSl4 z(%;dqT)#-Z*y9ypXlgV74z$J})Iaq{`@Uc;L>+qndcDvj3d2+`yxcwyTq?Ori`-hE zj`F`E0cJN=XJBuS9plQNrBXEKe5mMpr3Bia=RyKHFgk{L_OERC)+jtj@k*2Jy^N<%Sy7{*ozNw5UrMafs#v#dA^ zG`FyDI`Q~zYSsF#A=_Dhsjo-1Vz?L-&zaVF)>G>X(^N&svJfqx{d`EZzb{~WBt3zG z?#~55O`CLIa@6T>0S%2&l3Cr4Dq}wz7Kz+KARiC5@hYEVxls2~6I~Qs>=D*#roUP% zM06mLvkRAIovIp}y1F^upUBT|b=%H)11zy?Hqd?<1g{Sc*fmmDE6@1GK@u4f`Gzd? zIHHX4@yPF9^+*`h#7*AzW$;j4Myz9F>ocFZNxBn-fUNS1Xo*4>Fpt&rIF3DcA06p; zTEEn=R?{t^v;gys@hHd2_w9;kzX81Y*9|a=1NWFjaD3i~n!FP=^}RzPX`Ne-gV;s5 z@kAOB?Hz}Y$ZVdE%pb8bGsjdcMF6MB0nZ8$m{;|%!HDL1)akrw}ZWE4h3}no9-H24S-XE*M;bVOelCM=( zp6!KCIZT*}C`Q4l+d{rU&m|%M(V3KVcA0REhayL~lA|JjzU{nsLJ#yq$|RMt^uP5{ zH05+)IKUPs-8?j=UNvNdQp7@#)xj~@dINdagWOsXu+<+kBnGR=vE(yWzjf1Uv z)~o2-;-=p&(AC}T0Q{BisdabvH*QV!(bFpuQv*+#gWM45c0 zhU=ezv+-hpfPPCzndv1~dS1B|n;&H{BVNp-3?sR@#*?+Ge?*2IMBinX z^+>fRJ0p=ZCDKEf0BEO3RaXycp1hh*e|hC|2v`kCb=UJZ?oF$$LXLVRg@Wn8Xy2C# zeLrrY366Ia@y7lED?SyhxuwLz-y{*w#645hTC@1$@6hi>nbrLJnpxj~MpO&_dsN@; zA$#ovsegTbV>3JDivjw>RCl@tGGpacYUCSNEaT;jHbMJt5Y8X}?q^BWvj+icFl4f( z&8uO#nqM_1U*<;T{1O-sx}Y;d{+0TtB4WcQwz*3|*h1YTgwRb5_t!iFI)w66R4Y$- z`V5Ekx~g{B=Qj@2DKK?rMLwYY*AT07RDBW-$3FYRqwWDtA0Mdl65}qlZrhP?a<{7O zxmSBb5osetbwR2AR8Be~7|P0Hr*#JuXv6MUe@vY$zb5*K>X?3Ftg&;iDT0Q{N*WV@ zN9RL>{P-&j?FWH<7lHu`sQQlsB@zC3iqiDX>0c*OsmV_4J=jME-$Q4fa1u??P3s}W zCPt7$45i9#I%L{gTk$jgpQz$Q!+zG#W_>a^{}(gd6$3>ajF2UKr)Li!%uNSPDYPFC z<~&E;?<0cKE%UvLX@F1NnKo}Xtrz4-UMqopu0A(*A2bY!I6k|Nfwwke|GIJMS240~ z1*XVWZ8yKtK z)ODH{*zsvT2>CUr(Sb#oo`1rv(@?1JE?fsk9J;n z?5UNnRtpGCB0Gs@ejM!UE*5+lh!?>6R#N3>BZH1V1Trm)x*tIVSGiw{9!EY$AemWx zVFJiQd-!2k<5El`t8og8xzVWrz^ep8$7SV{Z~UIOU$1e&V-?1*YgzE>!%D_<=+x!% zE3P&k@5HF6JO_3)9<5e_>>vNm=R|`K6j6RW+&RsugWVGO;NvW$2@J-gX|bNlzziP* zfU^f05`Hex>kX300J$QlhNm0^j9)yR+?krPs+4YX-OFG9eO(X~#4}4Fcx&0Z%d($A zLHnE*YNgVHjz0}TBZ%6+0KqY{@qigi)ZcqMDWbCztfuCP$oHq@X;OcJgQQA*%3NiPbrn)s?P($1>ICvZ`?CoPYRpK7IF;pT$JGAh11{;ofBEe@ zkT%R0Xvz=#{lF?eu6FFPHt(r>8}gHA*xRoe{wWK2gHWX@c$`-O#gauNEx*>1jw$ya z(_4q|Y%>c9MhKHYp#0*+(!Hgqf4<=dMkW-h@V%{hL|$N1oe3R(1G9~Z6)?{UKms~> zR|D1Vm1EPFv>na9>X&URX%h{gT}-&y&-Tl5UBvZos6E?U;iyhkM_R>_g0Pd2dgkVm)}X#YQ`%1k^k&lgb9C&j}-0!vc0sbfn~ z!2CW>$2U9|of&bP%Ye&w3A3>aW)9qrboZF#*G>NWpQu7(U&%&)LW2DpN(9h1aOOda z7T;;w(CMlB-vWxqc7h@fzR%FUI>T94GVr@Ez(>l}d9{G3Fpyou#qg+qqMi7D>dl+K z-nd-OxZ+l3EJU?PB$a7WmVyESU)GKRtxyWMCNp0;`j3RONU3aCKegcJWPtd#yK47E zsqg}_bsX_;efo$tmLnZ7yO90gL!;@0j_B#qfa*%X8wL>r3EY#^xDJq#t9-s`MKqYN zV&-VQK7iYj5An_mo3B6Vibpj~Bs?cl66LP19&oRBC1ytz#tpfQl4-l$=?>pU zzN@dcmsW4i)zl<9e!u6TIG`x#9sc@C&BW| zPj&(h65|AwN}JI`0e6pM5*NxCe}N4u4!+|3J0AswL?Z&wzJXs&N6_!?i_Rm^-~za{ z0E-ln9#p49QVi_Wqg%oye@Gt@w?q%pS2d1q0tft|ta)z2T6QO{M|jph;&U+iPR+72 zr@}skK^vob{9N3fLjUFeoDi|U0jT>&@T&-E4}}*uo{o;6^$n(#+}i0E&ah#Z-wz!P zQRqX@BdNKnVh^4d?l=&ic4C6AMyAF95e@e?wH%7?2;IwfgdtP2zXb)XLzGS6Ofb@# zA%$6V`v^ktj-vtoIB+q3zJfYy0#oy7sR~~9WDAXBw_uL&8Y~j`KpWmoai%}JgFsc~ zGm4MxM_32ALt;=tuoZ{+BsCKT39v9GU%3}@!q)l|kJCl@o0E0_J+D$bC)$4o-b9^G zkXD3eWee}nOP5zco^Sn?YE^`y_T2=Dus34G=}XgYFE6WtvFQ1o2$Dn2WUZ+fiLlmR z)q-h#g)g*@XXomSOa|v>bk+)wAE=fyp8Fr92x{xcFL$7QCD2l08LED({zXFzpgu^M zOwml_TvQeZbq!#W(@B+AJ6>jk_d%FUL1ad}e{-MD!uPQ#h?1z_D;aAz1C$V8jP8W` zq$@1gUO47`Ky7r*-|yOTaP0BAzA*;0Z-6@An2w$wb;f1*v=iI@V~L?j(25vr;~k@# zS^o$uTTMK&QUJgoz5B)sm2lF#7#;+4w?wn{gX265`Tp2D^dRp`Qjn@JSBm1)I|d!z zSk8hdv0@oo>~l}Fk6Pc2{L3HyBc(T;p$s%XB25Az=}1GAS` zBf(_}IBsW7ee793sQz@VJw+nrg6SVl)xKYJ6L?j{#Z-P({F5|8tt=&HfwNR8KzVnKQC!ic_1WVTu52tm zBm&B=>YA(u;|J?4M_O;XuyV2ve&t!i(*RWtz>~>m zJ0>-J6q;}mXKJT3ytR;*%+j>^1S<0?bZC&z!%eed?4%KixJ(g6UCJkBI@X9bYU__5 z?7g!MFLvO`e7*Zaw`6z-56>Fy|3_W@8nr&!O#g}{!?EQFpeES)GpsegE*t~iQYIbS zRcaz;-$#eLl0d;LfjpmTDcf*@ArFQa?i70u3t+LLFKauF0BMv1ds) zzK^-r4_?EmB75mhtJjc&d|H8D7tEk&<_r=ibNx5Y{rueqoo&LHTcY>`5nXNu7_m&3-+LL_e-2B zRY@YBRp#)N41O4>XNnPX5SLNnLc#$IQ+dE7ix-;kyXljfukdg?{LjgJIsC&Bra?oG z-Xz65J2HNc5XvCh2pXUA;5SqHRc5^R_Z{)|xD-dMTb_Ya`%3wOxIxMjZj#V~p1wQA%;cpCQ>89zV) z2~eyB4dQ#$1A4zPzpH@Xoi2<*q%#t>gP9kU6B)@&3?Q00Q&*qxrlT3AR=V=sfeU9A zt`n%0fjVW&9Sq(9ST{5 z8GF}wDICa`WqeZTnD2!@7v)RlUvUJ&=48*EDFx0^C zh@SX_I?FvndIorU(2*D$loQyiz#?a?VT^+Uy$XIsDkC!Gkcq-Los*PnAojv2KAis@ z8bR7Zis=@q?5+?CJn*)2g+uiIoX%NmvY2Aq z@p~DP4}%=ucYv_fGo|=S9GO6B>1lcz^q9qy_Uf4SKV2u?t+VsuF3;iHT6WKLln(@cCBslEg@0#+rBzSOOpusxgdSe77$21 zqxg5C*|~Nv%yFE{OTXXSoqSaU>lDvO)^jJ+2@3&*|AGf~!{Mj2ohv8KS23=fPfHkn zVMY|l2ai#gW!ike81LSwBWy$s)n_-Vk2b6jsYCD|fD4X#0Qobp$p_S3#AvuQemFi| zEs%+r?m|b2G>Paohr=&*_W7?J=aD&$LhSn3qu?ZSv8!wnTi`vTVi1C9&(Ci6snI!Q$?7n_;r;1dMarCzfZXZ{Q zxMD8+3CMO5un~NH$WPH?&=A;TQ!HwrhxJ2G(JZfKY2)#abJCg>e+NSwZgDJ`pE7nd zjY*X?cf&9HR;c(bZ1SD$ zQpX8Tp3iTmpRzYFOTAU_O0P0hc$U`R(RJloO)kisXcBaQzHwJs;xRgb8N>Cz<0=6O}LvGzD$@B@kv`W;xap2nh#oa8@f8`7H6a@04XFMuf=!ieL+Q&-n z3^i#0BNzNvr@NzaS%r)Y{8nP{evO3F#^=Y@C+Tof1!kTj3fFA!4Kbgz~k&pgBAsv-t@d=!Hc61s2&xH;)0=Lq&pGv0}Zt5EjN_0;<2!Vp@Z~0-ByY z{)~HAs&Qj~FoGXW38@GNEr3(VxFg#rhXRO|rTnO3b_M9W%LYuuZr(c03VG)4`K9P( zg|f6-(q5%SF~0=e|k~$;`xO)7EqtxQ_jM4^^ofq zFZyy|eqVrQ=DCQ?c<%N8~koj32J-5XtAxOKS3ggH;_qp{Z--vkW}^Hfpt0 zVB>1|$Sjd}CRsdMtTp5}+5uQ2quR^1_mldBOAww$#)>{m&7gQQLViV3M__+&z%b=@ z)nnbc*(K(JL*v+e-}!0IE_RGqSE~NgcP^n1$#y<~pqdojM?vgKpWL`bi&rnc(}bkKZtRw{uy}G5>(ipDk^~=fsV}YkR!g51>&Q~JTz)N8p7S67{R%$ zL9=n1?TS>oIMi(>1g5??(rBjXsU4O?B4t~SSUG-;&UA|jRlY(u>*=L-FFrG~K@2=$ z6xNB~eHYZ);g|60sE$PWLl!#Z_^e2bBAWo31?=;O(K^W^8vC|91ax8tD9KXd1d~QI zEexof7}+w`t=UrcG;icJp6OjwjkL!-Z~IJfXD{$>VL0e*=dAAWh@TvhFNEfy1TBdZ z(T{JuocyRLOUU>o4Kne1z`uc;(hZn20{6ziI0l~+fcaq?5QseTuEMj@A5w_1>#6p9 zLix8cn>Pw3+M%x~SZ}Z{u|K)n-Uy$=qwx_mwBrBhMDkl;aJu~P$Im_n#1w}(0R1aL zu0%Zmz6T2$DoP|iNzQJ~K#%1t2D(5(I7Sj~ED6~)`%j%_<>bwLUiG%n&#(F!6^i5p z|CEw!Rb}@5C<+A`V1yB5KIH!6=To7yE2&zt5Zs*m_0={+4Cx=!1xNjHKrx{JDX@CH zW-c1&sjG{HnPMynW{s3`^p)vl!3>)iVEma1g+*t~boI9l#Xn(G(&|r02RAmPcwv!+ z`DKj5p{4hhHP(+{=)HZOWJ2u9)bP8{=7GrgG%MIFXE;iRHVDru{|T<=-v>FGk0agz z-|gpFI9{EL2{A4n>XaxRx*`$ay2bvglfvEF*XS&yG3@h6Xsr?c1^#8V{+(3r_v^RQ zNu8wE9Gawr?CqthZLtn=kqG?=(412hql`#{;-0n{y&p|viIW{fXY-Gu`2pUXh(Ln$$rQU#QOrcZ5@<672WXQ|)nA^H^Yn ziJj#dA^!O|10PfWeQgmHMvY?znF!BUPC2|WjoUOz0ncl9t)%n^H>r%&UJK=@kk1`$C`R;k z)f;Hk2g{%#^Vf8snG&^#_(1ij>>llsl?5Ibu~wj*kh~5Sm6j8T?;6jz@3={GHtOIz zM(rViE>7)^Fu3Rg&(^U2WT&3!+Ze!1n5ivY@&gu63pKZ){=B@Ol50sn4T<%WAmlfO z1~9fD;sals4O;&Qa7R(J(lmY8ODWu?y1Ht|G|l~9Sqwcg8tog5j$UaVvXDuD4;CiT z@z783V8svHcn+U68G41&pwg1vN6cDk=5Xg_dcZX+pjJPhi=1DqAb)3CK!Fq{s@M+UWH^raj|t`3p@c~|ge9}s^?r*RRkILuF+$wpjKOWhn; zT0`rQ`S>nXB?$N_|K^;H*2Cq0&qv7p!B-IFHXy!~Lfru0=8J4mfALf@0gz`etWLNdAZQ=Y$q91p zR)AjxYQay(&Eadcxd07*e+u_Ix~hme{`{myDy9mC4o z;ecF({-cTYsER@UnjNGx4}^KBF^8}cSLrYy3pm9EXK`5JpdaYTdWBMXtW*Ys8wm71 z;)FPU2i>{+7Qp8ZTT{)jj4haZtuy)XS7dym-r5&px&hU9?D9+qemvPYT|NkG*g;UN zGzy{05_33&9*M9U^?G{ZVrRmqh5$Pub9X*{YB}>dwflYpSYg9Co4U_^bb;WAHT(J3=3C2EWxIS}+`GwQGbBBUb~ve+(2ZunltF^)vachkYh|I$GC8GS;9Jq2AxKsn z;aF`pk;IBq(JZ5$-PWnqh2SScVhJ-4@f#67l(A8T^E5J(8f(HyCK5>|?Tiul(~kPl zg=%dxV%Z<&nF@bIBtN&UzviIlqsU547_q~MaAuj8$fq{u-kOk&z_HyHmGmsGU1Iga ziLl*uAVTo-7>GHIP%<1q1KKx&BO$+7*ENi`y%Q=xnQdeh? zhHrmHTTtV^*4ohR@fOM~=A`(FQSx_+_cE^XtZAHAPvI*gA1#7E1F+;AuvWP6mMi^J zam_hNrk*3eXgST2fQ%Gc9H93;f#0HA10RpzqN_9du1z$bcgT$&&i*bkw;d^~X*f`;aFvQze8Ps%4;MJ; zR}@HWpf&gE^TCG#YWV!)${YCMOj^@GS>1BY&v^@*X?_q;58yyMe}G%IzlsJL;_XI? zj_*1Wf~A9PnhT5ep&Xm|%H?@^L{q8ULC(~hDmBSiIBCm_v~MLLMnL@k3w4hty^d~Q zfEIZAGp3}ZLSK27$H>?r%3IA&`;&BS-h(n7-gFN6v<2vgu)xF&$zO}u!60d})Q6YB zM30HTDdP=r;;N_Cq@Ir3h}Fs1lmabjm5PvG8L~J8_$S|c6nxV6@o1C$1I~CATI&d# zY>1l<9%jvPztw}BeFpr8wH_gbOc<>Gd&zMk+EK5IgikheqeV60b(SctRD%EJy5Q{lo-mA3Aa9I&=aFgB z_d992i5DTi88qs16lh`HR+l#T3-pZ3*mT?9TH#rM&%*rcRPs3 z`vg$`kopvNOK11xg_dn@eYsw%Wchu3k%FHd->Kni`Y)Ff98IU^M&4_G4RFwczM8}7 zZ$DgeUSmJwD`*S*nCD`V(8qSNIKi+XsHLX?0#Sr5_&xs8fVAJdA+3Z_AbxqzzpU`h zJAzvgAXs-OFebgQ5^q>N9`aHZTexryrzs{f=;JAzd&8Z+tZT_V_E~|USz6Cd-mQ$F!hvtww%8POI#%Bz^5^}t{i-VT<`1qA`UwJGF$RO!6+Ox6Qg!UC56j~onm)$< zF`?}yT(H6=gZAA<{pMyuwxj%%dT@61CuN$CPd*U)WGqf2aX0-6nv^f}k4#p%Ui)ChA-(8tiMC-QOG4~y& zM~vw5u7tXvFg?N9-7H;6A@_`b!N!B<@sXADB9uk=qWs<_@oJ>KdcB6F#1T3E zSi_vCf+ic!zS9`UY%3b)L-8{!YP-VC{A{| zAAwY#CqqDqi{V^@+w{#$=iO1f&o};*-nT@5%)lMe@aJXCT2Gfnwy!X~;}2kccb0*t zs@xA`*kO>-`e-VZI8NR4{4vc6u%qfbIeK-rVEX0JCH4IISk|c{E1zQ3?7q{y*~-U` znq3tYr)I9T-Lpk`vLe8-WtLA-QodRj8NozEm4?s{4)OFtG2lPUSUv%>;5M4?hERm> zD!!L}=;qa&Lv63FdAWB4e|J}M!7|Oa9CX5| zQiK@auSwIsu3durc0-g;2$B9zd{W~f!2fKR!t_wU`gdmC%;o^0h3b#GfuLED-`RC9 zZOJjkW;v}7u%PL#i-c-UTLLqUB41EQY~u`Xz9pG2=9(`LeLW{U-P+hgj9%~sUsZ>h z@~>BfrI8=UV)YI-1|gGTxs>T4ikJTv3vKPg8S%gT?SXXr zkFo8`g1)+GZAPQfj8DLiukS$=fnATy=p(Vxx@&T{2+T(*_GH>*5y z|NE`^Hl}YsI3PoVQ4;$zX1)RW6?zcx0mleFHc7xekRO_q31f)+La3WWYW{(pzpI%U z{Y`C%2!6ABfKgxK(=?uhNAVZpO1d8(B{{Eh-nqfW-N#y3Z)R7h_TbrvUw^b;{c$0M z8_C@awYC3=Hw}$seOoVzjL*k`Q2GJ>L-iE=JYeP@vA4hc^P(jgyO)iiUOuI&D5nBi zns$0SaoeQ!9uG|+RCWZK#UejNR*a=*%qZ3UOTPWdQ+b1G$+#*);nyMBXLsS73LNb9 zXeG3quaV;?IaCI>7_q)1o%?aYjNLwfMQ}uYZnyFthDKIo5u9*sWAzD=STjRb!ZXS| z_g-IkdlI_i%#?e*c9^oh>>B$v4ouRAcNxWj)~-?@B3* z>aSM|Niiuy*wijm=o`YG2R4TfJh`wlNg1GZe*Sbw{Dm9RKf?nJK0@Y4!#4RupCx!2 z!LeV299<3L_2&+C!+&}zw3oQjv1PQKVQ)UvJFYD*iUonN>AVLz#gr*OlIp#dHazao zappE$_r0w++3lE?u%NYavE_s6P#L{Kw67@C{~p*MU-y8L&(M_W4Qwy#GDXAhBbiT6 zj97+0mN&L&?$k^{vFvU=S5Cn}5ytwDlX(W9 zvs}+3swr=5YZ6&(7Tn2bKBJSdw(f2-QkJgagefu7zfXFRP^}S|R}>`w zf}ua8Us4kOI+de<9SnY|#z2y2RYvBQ)%0`&AR5GP)H9eST&bcI5IX+cMDX<>kfbQk zOiYSsKEpTYgsJ$@a)vE!<6#5cMfd6bgHA9EN=N+lDx2VRNB*hJ7CL49)A{tBKb-1( zt@lATTaSS;vm)MJrv%g5@vI+BkT^DNe@@o>`~wcws1AZ}3B>{C_nEj9?VGjsAm2wh zGxt^{`dP1KV8<=*Y)+d5-KHN7)4mi>A26u@VKzu}zNmIr(>@EVzYMaQ!_|$(a`tA> zIS9|UHpwPHV@#r5!xt3Uzbp4Be?CU;uQ@|i-XrTb-agu@By5mGg=wIBHCEfNHokW& z&XFWbpX=uA3bGJ5s_+x>t%c^v8PAequWXHBaIL-Ldv2`P(DQW|RnxLdAb)%RZG*s2 zNP9Gl1cgLOLurc}A-@k;MG&Y@W$4MkJ@7KxJBu>vSFthLo9nwyJ|$xx3d{8>DXmlZ zwNvNh*o6OA!Q411=SY3IZW5Yp>~Ck=Le_liLhks_7lhok+r23{zIX{OFr%ZOv4?BJ zi0cvj2ogvVP=9YZWyz=2>o*G{zl_)-^);Ek^t-j|quhBfh+KVM7``hic|gAW82*r5 zPd-G>3%?+uD)xyA+5F9trdJ%r6ZEi9et*L7I*M{jaV(gnD66`u1TQ&q{(S?P2G*y5 ze_LKBoW))1uF|%(-$pZr1ku4NnzJngl`*0peG7e4S<9l#Am*J=INr3Sn2Z<>H(fGquh*7Z#M30uT!(Y$! zO)`BHfCEJWFA@ASs3l<>;6L{$%QAIr$3T9zTa){CW>FlEn_?{zEO-nW~$E z;O7ww#0Mkff4p0mnn|nrzCL3MiwGMfN-CPl_!;GW-mjIImts#QFIs<9=+?}eZq|P< zjCkVGQ6gR*|BR6Rb>S(0I1C3L6(^Fyx&9G5ue^oym>`saDRgH9ss9p4C@NsTg=f@O z@ltCa7D%H`mJ6XPz}Eu6d_^%a(4*qwcWFlmfU8l z-BZHNGBdAo)~`RCvpouIkP^vuImvW#RpalTK1ax3&tL+L1F7h?sEv;owcqFbAWwN= zvt!8;@T$HXgZ0HgNSq=#qBD0KpHUM&#FkjXJ9ItL7z*ttM*e-(ZBgW6AZO8v@91z(|fgJbesx51aCFcMW>F_asu}Je;r@6Zi6O@kEVY<6oz}1o!9XY zMkDyPP%gm#gAMMaty0IvY1QUTR^85lSD5y?nrNMOrL+bYq}LkY0TG3kt6Y0P6G zX{Y~9J*mEIf2O`;Z|5txS`%j<^Z8p*1V)N~n^m;BTaB4Ge-cA|Gk>$HyPl+(riVr0B_x$lbNjoUJt?Y!QjwPZLqdXf5BP8*|d%vj1Wm!5XBQ}Y45r#Yldc>f-f;u;=Eu zCO3(Uj37q1Y8#jx?Xzq)O6C5<0#IfBJ<%Fp9=wX?$hbKQSYR*kbPQczOl$xfIqjq6 zm01Y+TcK!F`5-aXPG^6h{NlCQWMfHw<@0tc+B&KYKp?ih@WV)-I(e(H@@8m_5xHyi zTPK6$Puaj*w>zzr>V%xyj&BZRWBo7aP)c<5h z@zs}Tnxn;dg8$(D(_LF&9{eNFWj5d!_Z!_pACf=r+5h1><}j}GuG6=XmVPKZC9N|( z;mu#!QpWCI#>oDi(_?e$N?O|?6ARB0)$z%puW@M*fxB-(JWe|{`i_M^OOdw~}Ec(}dn#hY?`<1{( z_{2H&ZN*55Q-O~_oVDs|^}Rh@aa>>2P<_$Tpv9fetAe;lg<9z4v(169xbVU3^32TS zOXtVe`&MZ>HQoq*4K$gM0;H|js{3{_eyXg07|>&p;6!C$6-0mrq^GpC@fmS-Cp^LV+659+f2TpDXi4nC6j-60ymAi9iQC}_ zeiI~X85^jt(z+FP#~4ZM${-^iN?{#=1zh=ik~T*x+-_n9T2Q204MH5vJ<>HJzt1$YXw{%0Q;hY$n`i1e6s z?F_o++KpfKdMNqAE${+t@0AI zGu9ay1>P{f54uX`uBQ~N6?dW(jKpLoM3G5E+E;Vn1P&lSS{-C@M#9NHE2Co$*KWrT zk4TjTN^(YF%O&_ei^Y=>r^I9Cj*Ic)GPiBE8ew8es8{asklV?L>f>NTTjL@lqkIhS zz7n(9c}hYl+35@yPV!>HMviYgkRF-uAmt&JoERX<3dp0gkz%$G$EyHALD~d`6VKb6 z3`+F5wOyY~R%_47Z%?Vdrg?!wCGBrhIr@2h3SXS0e(I^v@|<$CzUKi8dl+g6$?s@p zmmVJna&CQu{?EvCDJekwLm3Wj$*l^`LkZP<9@*4*1}s|-Qw&uDF4F3JM{p+SEt}}( z0ynNlact&V85lV~hD|h1%&7QMNAB$jM?fnTjdAi7``3<2Nz<7h**jq})`loxBmK{Z zB+5J!fPPSjINDH$G$pY^`WSj@UAz<*w7Jn>IA@ad(L}dl-&QV&QHfD{w#W!s$&|}> z2-UjS>p@%m9-C@;s!|B~kC@RYH$eeOo#;_1 zSy4G>Kg*Ih1d78GjEQ5O3STMovC$POW;ALzPiFZKlze=^ktb?=?&rA0q}rCT~|v~jB#V|9wF`9HW=f@Cde|bl`{dXocoXLdV_!O_%9AZKXF73zQG`s zNM#^p|KDT&>)rq47yNgA{r?glnO~2{-~SK)UmD<_`u~r9{zWbSc={jx{6iK0*C+qc z&;L~||9FwldNT=%^l$v*_a&r-E#uGkttXo9lMcEV!LPjm^vQ74UeovC%o5D(l8=LX zXGI(*zIz1VWFHfKx7b>`QH0RY$=Xv5W_4%3ej^ezee3FS(wJ4H^Ic z4?eaaIYA1VT?h(nku?g;FHI3uwHzhrAn1A&B|yn&)tmt3<#I68EMR4F%UG0K{ZmjI z@x_ve2>!kg7ZxKr$K2?~B&wY#U@|2tt!$dhAa9aIh#3F>!GE(gpumA%yOK69IYPrk2ihK_%E-MN#ZiV{%JNRE;KRA$PT%kUP z0aE6#Kn+%;(AI$k=U{Sy@@pTl6UQgxDu>I0&z4Zc!@egnGh?6Q6ucB+A^VDda{lt+ z95Vl+6edYI2eORpY#8it({E^yG;^69my|SfOy)9{LB+%^O01~W?&-zCrkx%cGk$zO z1ek9Hlxp0~2xIAXw5mxQFxRlb!k!WA7M3ztG6RvgF%>}ZQbZLSgnj~O)F{Eg{MZT1 zFaJ(OoBw(5KlxApWq$mh*Zezw{geNX_WfUy|Nl?^f9dvr^#6ZH-T#k!|F`-72b&{2 A(EtDd literal 0 HcmV?d00001