From 1b16921b2e5da6f0dd909ca70a3ada2777dc3f2b Mon Sep 17 00:00:00 2001 From: zR <2448370773@qq.com> Date: Mon, 16 Sep 2024 18:25:02 +0800 Subject: [PATCH] remove streamlit demo since outdate --- inference/cli_demo_quantization.py | 4 +- inference/gradio_composite_demo/app.py | 12 +- inference/gradio_web_demo.py | 64 +------- inference/streamlit_web_demo.py | 219 ------------------------- requirements.txt | 1 - resources/contribute.md | 15 +- resources/contribute_zh.md | 9 +- resources/gradio_demo.png | Bin 611143 -> 0 bytes resources/web_demo.png | Bin 4808873 -> 619538 bytes 9 files changed, 28 insertions(+), 296 deletions(-) delete mode 100644 inference/streamlit_web_demo.py delete mode 100644 resources/gradio_demo.png diff --git a/inference/cli_demo_quantization.py b/inference/cli_demo_quantization.py index ecaa840..b56c9d2 100644 --- a/inference/cli_demo_quantization.py +++ b/inference/cli_demo_quantization.py @@ -84,8 +84,8 @@ def generate_video( # Using with compile will run faster. First time infer will cost ~30min to compile. # pipe.transformer.to(memory_format=torch.channels_last) - # for FP8 should remove pipe.enable_sequential_cpu_offload() - pipe.enable_sequential_cpu_offload() + # for FP8 should remove pipe.enable_model_cpu_offload() + pipe.enable_model_cpu_offload() # This is not for FP8 and INT8 and should remove this line # pipe.enable_sequential_cpu_offload() diff --git a/inference/gradio_composite_demo/app.py b/inference/gradio_composite_demo/app.py index 07ff37f..d0d0d57 100644 --- a/inference/gradio_composite_demo/app.py +++ b/inference/gradio_composite_demo/app.py @@ -55,7 +55,7 @@ pipe_video = CogVideoXVideoToVideoPipeline.from_pretrained( pipe_image = CogVideoXImageToVideoPipeline.from_pretrained( "THUDM/CogVideoX-5b", transformer=CogVideoXTransformer3DModel.from_pretrained( - "THUDM/CogVideoX-5b-I2V", subfolder="transformers", torch_dtype=torch.bfloat16 + "THUDM/CogVideoX-5b-I2V", subfolder="transformer", torch_dtype=torch.bfloat16 ), vae=pipe.vae, scheduler=pipe.scheduler, @@ -65,10 +65,10 @@ pipe_image = CogVideoXImageToVideoPipeline.from_pretrained( ).to(device) -pipe.transformer.to(memory_format=torch.channels_last) -pipe.transformer = torch.compile(pipe.transformer, mode="max-autotune", fullgraph=True) -pipe_image.transformer.to(memory_format=torch.channels_last) -pipe_image.transformer = torch.compile(pipe_image.transformer, mode="max-autotune", fullgraph=True) +# pipe.transformer.to(memory_format=torch.channels_last) +# pipe.transformer = torch.compile(pipe.transformer, mode="max-autotune", fullgraph=True) +# pipe_image.transformer.to(memory_format=torch.channels_last) +# pipe_image.transformer = torch.compile(pipe_image.transformer, mode="max-autotune", fullgraph=True) os.makedirs("./output", exist_ok=True) os.makedirs("./gradio_tmp", exist_ok=True) @@ -241,7 +241,7 @@ def infer( generator=torch.Generator(device="cpu").manual_seed(seed), ).frames elif image_input is not None: - image_input = Image.fromarray(image_input) # Change to PIL + image_input = Image.fromarray(image_input).resize(size=(720, 480)) # Convert to PIL image = load_image(image_input) video_pt = pipe_image( image=image, diff --git a/inference/gradio_web_demo.py b/inference/gradio_web_demo.py index a00d1b8..d3a847d 100644 --- a/inference/gradio_web_demo.py +++ b/inference/gradio_web_demo.py @@ -2,6 +2,10 @@ THis is the main file for the gradio web demo. It uses the CogVideoX-2B model to generate videos gradio web demo. set environment variable OPENAI_API_KEY to use the OpenAI API to enhance the prompt. +This demo only supports the text-to-video generation model. +If you wish to use the image-to-video or video-to-video generation models, +please use the gradio_composite_demo to implement the full GUI functionality. + Usage: OpenAI_API_KEY=your_openai_api_key OpenAI_BASE_URL=https://api.openai.com/v1 python inference/gradio_web_demo.py """ @@ -18,12 +22,8 @@ from datetime import datetime, timedelta from openai import OpenAI import moviepy.editor as mp -dtype = torch.bfloat16 -device = "cuda" # Need to use cuda +pipe = CogVideoXPipeline.from_pretrained("THUDM/CogVideoX-5b", torch_dtype=torch.bfloat16).to("cuda") -pipe = CogVideoXPipeline.from_pretrained("THUDM/CogVideoX-5b", torch_dtype=dtype).to(device) -pipe.enable_model_cpu_offload() -pipe.enable_sequential_cpu_offload() pipe.vae.enable_slicing() pipe.vae.enable_tiling() @@ -47,6 +47,7 @@ Video descriptions must have the same num of words as examples below. Extra word def convert_prompt(prompt: str, retry_times: int = 3) -> str: if not os.environ.get("OPENAI_API_KEY"): return prompt + client = OpenAI() text = prompt.strip() @@ -83,7 +84,7 @@ def convert_prompt(prompt: str, retry_times: int = 3) -> str: "content": f'Create an imaginative video descriptive caption or modify an earlier caption in ENGLISH for the user input: "{text}"', }, ], - model="glm-4-0520", + model="glm-4-plus", temperature=0.01, top_p=0.7, stream=False, @@ -145,19 +146,9 @@ threading.Thread(target=delete_old_files, daemon=True).start() with gr.Blocks() as demo: gr.Markdown("""
- A detailed wooden toy ship with intricately carved masts and sails is seen gliding smoothly over a plush, blue carpet that mimics the waves of the sea. The ship's hull is painted a rich brown, with tiny windows. The carpet, soft and textured, provides a perfect backdrop, resembling an oceanic expanse. Surrounding the ship are various other toys and children's items, hinting at a playful environment. The scene captures the innocence and imagination of childhood, with the toy ship's journey symbolizing endless adventures in a whimsical, indoor setting. - |
- - - | -
- The camera follows behind a white vintage SUV with a black roof rack as it speeds up a steep dirt road surrounded by pine trees on a steep mountain slope, dust kicks up from its tires, the sunlight shines on the SUV as it speeds along the dirt road, casting a warm glow over the scene. The dirt road curves gently into the distance, with no other cars or vehicles in sight. The trees on either side of the road are redwoods, with patches of greenery scattered throughout. The car is seen from the rear following the curve with ease, making it seem as if it is on a rugged drive through the rugged terrain. The dirt road itself is surrounded by steep hills and mountains, with a clear blue sky above with wispy clouds. - |
- - - | -
- A street artist, clad in a worn-out denim jacket and a colorful bandana, stands before a vast concrete wall in the heart, holding a can of spray paint, spray-painting a colorful bird on a mottled wall. - |
- - - | -
- In the haunting backdrop of a war-torn city, where ruins and crumbled walls tell a story of devastation, a poignant close-up frames a young girl. Her face is smudged with ash, a silent testament to the chaos around her. Her eyes glistening with a mix of sorrow and resilience, capturing the raw emotion of a world that has lost its innocence to the ravages of conflict. - |
- - - | -
DKwsma2z7^YkVW@+cd}$(qFWag7icE}e!TYQ4l|oE&$us13-} zaG5V`Qy-c#&jbt29HeeSA7wt^2y%+=71Tf)+)Gwv5?`s1bv3?QarmnzTi!McWWN)@ zyHF2+b%|&*CZvg|!JT`j;0}al+7BKJlQwXxa9!@>qk=}Av~z;r>Eg<&(jF;E#27KQ zg<1~-epNIaRx#)i&qN*jr+_8S!(*som-G#S$!V_=%Jr9rDS!wm_O6jAJ$&x+$C)4u zTKSc7UuG|;Z^VXr<<|riw9Eb_Qps^K3eKBp zRvToVeE3=-?ECca{@p_?4=!}>`yOg?H6hy0X7f)V7Yy$ix#)QsO$S|hDa0NWQ)Z8U zMP&Hbg3`9Rq-=#knk80U9JePCv~-x+8fMxN_PozJ&_tGfP2BZOQ?f8#L88nbE^>lP zbKLD)A$0-Pp8K!w_`k;JhL29qPS=;bq *fNa+Tx-IN+<(QnHb41#*@xC+zoY z>GVnwFO*BpMA%1ei?;zn?R3DiZ~s*v$#rfn_t?#=F%1%9X$0+ir@41kK`xjlI&Dvi z-ql4{ry2r`r<|tc!MpRx*g!J5sO=)juDS9$g;M@?BWQoW9(3Ae1y?N5eowM`1BKWH z_wk$}TwOlwcXj9?!#|}&QTHZKuS $JFQz!70%sXw5b0qzaw2=lr=R5jni zYymcGqM!|!RXLXefO49b(n+LAV25wwLO>l%SuqKv9Wv;+-}&AE6CStoHi>MpnIVG* zo5h&}kK=gcJkW;zd@T2pH Q{$ZXSJJMighoW22R`Ggy^m(xP#0bX5K8b_*ALPZ>s)fd)amv`+dmAEasQ>z9Zp^ z=pNW={+|s-KfmnKMW1$m8P+su%roBoWy>KG@G>sxdryiXRdYad^_`qqJ0zk0+PhxU zd(Xs&mJXRM0aL6{$ f zk}V2HlGe!LEojzLj;4h6SjTdX{a4f}To_gZYP0nk%MXoBNlchnYfATP#-6vKa%4E$ zBxS;iJpBFAsq!k@I^m<=YZ+plP*iME7!yHDaZ{suIjaGCX37 T~nLA$1-ORFze5 zJ?KT} MD!8lpDN~XC z_^{3TE5|JVbfM$a*@6ma#XHhBd;~}?jlUlbRX7B0az>1abK14a8AGUomu&r>(=&l? z4AuX!fvqJ~2(yK^9iw}c{!cA{wHBy#*4B7z#m3J(HJf_nYYfKEiy&fUDX(qE3>+&A z_{_puQzO(gJH+0VXvNN _`gke>$#xD`J zfiP<9d3+vwjU>YO+ch@`xfi4WSz%~NjjLmEl{1026q@Bv)UiJ4xz02E>}n>3N5pK* z28bP|Ak5r45%+U7>K2I-)ANRq%>Y2JX) ST~7ADU?&z!Z7OiR47O-u1wunP$P7pt-3-y8??n6>ZiT&{$m-|bp5Et zLu1XR0SHz&-cR*49I45w<^iX|_r0k=)>2Urm(^UG(FRzovr^WBT$2fQkG1E9!=JZ9 z-Xol_RL@=yg)bC&;am9+Ws`-^?%a2DCA^Etp7C Lcu$OfObos)Y|D^C~`$}>^H5Ve!N(vV#g zyo=vLtZv%8{61KVz5>^-8Qb=eg?<7T2c7NYuWi<_D^m1`ujkb`fAuS7OgQfhSdYj% z+HY&vetV7SSkE`{rk}NCT%&8sPNQ@IDYMRWRPWI3Fy=dRGG;zpS `!kVJW`TCA>x_2nLX;c@9Utgzje}{d5B>GuF6b3F8RIumYH{&Kcx4NBzL$^mKLI z_>7`P*#}&Og1suy!;1F&hhJ>vrVI-k42?d)%^*Sth_xk##+5Tvk1^l7dYA8IuJ71G zJdvxlsMpe+dHtWUW~eX4{beIhdk7l4cb>8xv{{9ai*-S#k_%{oa^1ap{t^P-rRr1;G zv)_)~j|@}*K|e_Vrj#!@XC}+>52`{#x;mvFG0kTJlE<$;az0AyPkbf=QFBr_a5F_q zGgkyT0o1uUk)}oc%+o7abk4kVX#9f;y>#ATn^JS+24B$)Mc^ocPc?O ~lQcGUhJW-Q-upEev8d|k1;RdWhJ^kolT zwCgBd;-N-%gNkhU)B1I_s?-w0bO37?$%}x_ep&zxuH0$UE9G#fF>ktWYre!|n5%Rk z`g}roT};~uc%COIi7sH(K&U>akaU~0!cg|j@fEF|#WEN6sTxi&W*Zu%Pg+WT(VV*0 zHZ1%%25>Z6R{^aSajP**r{bu&0fW1IQ^I(?U~AE*T4#1yQtBa$Lo^$uhzj_8H(Q}l zH~0Y<&0H*w%hQ2!nAWU!{WhKoeeNMyfq4ou4n`ZRGP!$IU)MXZ^0Z#(mEYGZPF37z zE1;WLZ&?0on|)que=9$Er`6Ri_s=AYB7E(r-5<&8@NJ23w5phBT58) bH63D=cG{~R={wiXfpSylN{dYO)=$D$?&nTO zjA(cz-wO>ft^p#|Zax@^87D%&wCa`8JxrBL@S{DgFDnESE4CjUhsRe)q`zv>0-3_V z_U_&SK ;EP(d({5`r#LO!;;RxJ$z@2!}^+TG-=35ptIa2YH|GPFWs+E~)Fz4I)M@dw^O z&%Ahfhr5o@yeFp*iFv=~i{7gS(?B21iSli`1{tMt2C0R+tgXPxO@?-V-_P wFR8;*vh#=0HXSL)8K^K>3PiJC8)!ELw+=BFUg}$<*v3 z4!lR-2+S>lccD|4kTy9q7asUxXX$610M_+1I?2Dv8P0h!K<$rR?`}A=k{XfSX#%^T zKED`}tFjU8#GAj{v_^NRNNJx~MzPfp_I+a(6T3V{Io>m^Cvk1)i+37y&mWI<1wPG7 zwasqgW{Q>S;+QI2(U5@m$_@gK4|z1C(h}!8HEojP7KaSvo4jk8grJDn4nEmFaVgMG zSm=sG#j>wk^}%#>u6W;{Bo75I^P$wDK1~1 1o*06Rx>{A zC{+=roVb42EfDJ;y|}Y~@Ur{P5kQQ9;u_Ir34IRH5|FJ<<wb`W^&e8x2h)jBL92 z4rlLEur;jiMgN;-2PZ%08LrNv5RfN1?H{u^lt{WeStc0dw!fH!E?s8x(#kbS7E{c} zk8IvO#c5*|?U8y~ILK=O >lCEwAmh4zBxde_+< zLAGE)r2JfH0SQTeCB;A+l#|^C?>q711@V571x@mV9e$BK!MqU+tSc5POl_)kDcgji zp^%Jkymzxec*fkX08E;eUugT9*90{{uJ)Nvtk#;3p`K2&vcJCqQpP>}FyGk1NXR)N zRu`Hg`JGR~tf-dR|8bs7ffd@z|D=91t70tlP1p(Xge8oaWTF4_*?tmwI>BKJ^^#3Q ztf8wA4POms%k^9ie@(Sw%5B*jS4N+~UFK6ca*>mY9cuMZ&C)vlp;n(5Nk!-8!=*9C z*8PefF3k$}Dl8cpYfm?VSCU9P7-aP7tKXU4;X-`nbLUNDJ#p>`TA8R_UK%eEreO>3 z()ACZUWJLT6Yl@8b!9tjy$Kna{(PX;*R<*?)eGBzuT*qe5atDYN>aT$>ha#8MZ BXItzfCq@FxwEC6w^?E{=a5jx% zj-`RTb9$bI6d)zlFtM{*HwEC=#E9OXl3Fp^A6cjTIC!sEe0})lkooPYJoPYWy6d#` zyjX$in7Zjoy^ZrqKwf-VmFwu*`fCr*WpziF6wc|;)YlVCr-sEIu48{Zc=TMwVT-d# zk77&cxH lv6HnwzEYALI4(NtDbVn1omWqS=wRk3Zmgn?P~I Jae+=5=bJG{zB1XrpuKjSd1PE2KSi>qZGor)dAGug;iifMbycPQLt z$k_e;1hunX{Q}nd2cOGWjU^;{_!)*D)o|QmS7nqRGgvggJr;lXW270hzc~EvXFrdW zFCdC|UakdvIbGwd^7T70l31>*Uga(7Iz#-%D7LB!cX`zvJEYz_m$SaV1nBO?Pg4t? zpca#SSc;Ohw>lHq^2g?eMdX@>Qa#+($w^? 2Ol3G72I3SMZ3F;a(XK`7e?A*@oK$^tC0=`zxn3-*Y5 *!=VE{Bla{dG-NCWAiQ<_@A-B6d|Z&$7}=T_!`g zQ(H=wV`Z4}=o@ye;jmy)jEEA(q=YAWAvWXm0%hi=AEa<&QMtCw4^$fuEo2*nt(DP4 z8~}fyfPOOcc`P*PoT_WSX88D&y8Q*k(jeYrbY@uEw lI zb(ZhR|Ng_2Es9WYb-3s8s7npD)y5mB6kcIwn57BuQr>sZrdBMb>doCesiKzD#Rcfx zf2aMiK`gMphzFB)ty7_RclL-41%I$J!|ZapS5eDu!7JKT@y7Cva+HY;x_19hPtb3q zzy|gWFvI}t4@!L4R-k!bh_&p+xgmfux3W}mzD!vo9j|LX86X0scd%ll1F&Nux+yiT zB8z2NjOn$~>$31Qghj4J2jZb(_6Up34sQoKFvk)0y1cbIVc1SuFXb?GNh$@9c=X){ zIz188he)BE_=a>?d(YLS#>L8Jpqg)(o^`fv7eBn7vn2yXha)$|K5ZWtHJV{3E63Ne zf73C_n?Fcz?Yg_Za8od6w18`&;knJ}lC} @jrxOA+;3J59RIsrV*|gxj-`6ewVQ2?+URrD`lc@95-y;8@yv}~ z-gPSgk=I|I{zM?83& ;z}Y;*rf%wwyUzu~8)3DyS>!0&}cI$ vr?742;N2;&TJ|?4dgj%t_Z`
clSCk1U7YJo3)8L$0lavSZ-w!b=XM^MySZ$kYpK<11K9A5wO>@`zTHHC zZ(?P(&~m568+y+)2-zC~+!T~qXwckw@a1QKU5|#VFFt(-@uxYPpR`=XkU*u?uzTD_ z4}`L|c@>y(1KTU!AUaJ~9N~Qsf2XlRn`%$$Ixw~KVv&7pZ# EIK= zz;PTigTbjo_Zvacbtt;bP707kIQX;97V-*~*H)!QFTew^f*gIP%C23D5ch7H*5jHo zJ3Wc(gI^D-bTGlm6^u}Fls!pz{fRYoo=bb*cXu^QBt>QGyV9*!PUycs`ArJ zt%Mpo)$}s${je%{jzaNXFQ`$fN$YgDe5HufFl90fs)OsBGnOomJ45J%iiZ!d;?4(I zIZn33f(Sz(D^FmGkV4ms9@2ED(Lf#-#j&!co+^G$!`sNtQXQN+vSj*RE>N+!=w5|9 z -;i9%P9&3(;BKdRCXCqc{9g5gY%}_NW z($TIuF>F^kmmp?lXWnq}4SD>1>YT+{wbe>o;${#kM?CjEvq4p;Q}S6YFO#^y6K#qT z66{l&k2S8_wnNr|iFp fH?49D}BqeHzW7kqJ>-)V2=Ya8DOM;03n zIgF|Ap_|{(%#z_$+!{lqzWqI3{&UA)OooGB3dmybXO_gPS=MZJfwgs}NHEL>sU?AP z2NU+WJ|R+4oTGbjoYS#=?7Nc-jB|%aKY=z%9f#KSB{S=QX^#jup3bByK1TV!4v0jn z#09y6P~IW*!AeW5h^682t%{CD!1t)27koS&HV-74G?;hw&;N2B#SI3naA`x)Q$meh zW4yVK43AeOS3gXiWzMudNHne}Gv1%BIos_#JtQIdm1uUrf#tpK52g0!*VnOZBL9AI zT@3`K&pDjxPAxhVhI}1-&YkD-0$h!oXt9A5%(=!iBiB5M&(2DFZgXXdCtEwUP*YXo zV5FQg1pMgc-ue)HO1eX-t4k{nq>?HwUo`x11=kzR%~w>9@p&qhZ|tMdH+ii}&_(9x zLs%13*Z;ix-T(|)73ve~{5*jeOB2gb3wl!==Z*}afv`9d5zzuMU0K_$WvL{s9y`bB z-GQJ)Fe HGWBoOy`7hI<$4Yw@@AKbf(VCHxdqfjUU69bDZN$15-|!pJ~+C8SA0E zpKYkM3o$Zl=s=LE>}UZ)WIob(QfhDH!=68q Fu5n;(qaOW5|`Lq7L=&gs)G9Q0vz`5~Wt5cXiR=jO=t5xS!!m$1_*7__mB z$wl4g6`c51Le=X^a8&a%iI?IEY;rw{B_@26({7e)^EJ9IFSiDa(o(g1#^0o7D=Xvz zyK=;8rG`PV7^wr;og$0g@6Y5s@DW;i0zr>EEvrSP9*fRLc(mWc?yWVYKX4CgUsnrC zm#A+HDZ$tC0E-tf0LSLl-`|eQdjF_pmKen~uD`9uyi|m{%A|$rP51qw2`krCM57Hr z)`q1c^FX;U()-LV7`;qiKnG{oOFZ9WAIhT*)rMbXV^- z8DGxr6ZPz0W|RKz$|A%wRDo{LL#B0a$KTwQIDUL$EX Cx|dq9=sYne&( zk(=cpV6Iw#{I_U~*%vQZUhtc=&DOEsP_FjpT%FvV<3(js^Ekhy&@_pAoOyg9H<>B7 zf|6G7gdh1S8mE&ZZjOp!EwF)(A~l~)cJ%4vn|=G>ZP}_fpB4N@-1PF7DTdby!Lj*M z9mQrY;V=xk1oD0|Y;F+^+43X6xzawIKYt`7G_Gi6Z>~Z^qQw6*(jBgtfIO(+&g`iJ zfFDnz@@l4nXpeo?23IMcp#D8;KCLkM*mkRE=&EZQO&pjeeM*veiVRir2sA8uhUg}H zCt828Cd~(q9tCGQ4ZHi9qrL!w!;K)1q6Pt>6Z;KbVQ#-;xlT>umco%-S(Q^rQ|B=P zMq=kE1{%H*oGsa0TtoQ6S)o^M-nmwkG}>SpB?Mj*><1XT+9Z)4&?R!BL=&IwMhsS1 zFM-y-qO5GLe@e`Qs7p;d5ARlFgS2ub724E%V$J9KcM1tdLtm2+Ft^WtPOy?y*7_4( zoODw{FALT4QDp=vGq>XSvXF4F30l&Oo=<1GC>ZWS*sV5Q9GwnAF>{&iOX$S=ODGhR zt}iLu8~cX`t2>fdNCuT<@G0cyY7Fi=sjyT}W9H7ivlJ%2Xvo4nw2sWWW?pmgoQk_2 z8S8)*06rPjqie_P4fyZww }KphtFkIp_krU+U9)8bzgjz;lTZW6kS0lYo6;K+99Yq2 zHHuAC2{zBV*o<0TrZz0M)7nS~kTf1SCHuMywh5akvdAbuJ0m_0hu9)AwRD1aVOyU! zN{ZBM!a-?k9`CJs-fto^c3D3F&*8%(zluG4QQ6{8Y+Ev>pFg0Qs0?On*pEvag1nP% z)n*6fZ_ELY_8WXqw}-Nfi|5vvp=Zpp4R|S6U&ODO^?<(KYDBGf_Y?WnTHX33n})=k ziqiEa=dBF;GQ_GY--y%R2zs)DW==bZzTJ*K9u9|{Mu)ySi<7e0P43$D?|Df=;`TCT z9ti910Nw}t+2tE40h@#ctp9cyi;cKxu8Wo(-ynN^UJ>@pmOzy-8{ t1Kqe z7Wla7<<^Nb46OvQFug+Z(K-rSVLNeK=Z+KIRevXirf2)Q`ABI~f8xa`uXTbqU{V7Y z{0l~Wvjq7{=-3o@?3-QJAU=^5{V7w!p*yVynIwGk#r(I41shg>+dC5Vgr@t2v*v$# zhDA|N``xjb0HQ)yH=-*jdSPd)64?NIui;x#KV^4EX%n^DF_;qjAaUDPI-_HD@jd!m z_^1CemKJS)?nzEuyqg*z3}R&T*lo_Uuy*Az1X#744Q z0=!iFJ}Ij4HLmY(mG2F_aBJE09*WmnU0i3&ff7b)#y`C^VgFtxEZunyH$NVV=645U zYQm3R5c5x{>e`ZhwC9OGa0*5dn>8|q_Bzq&D-PNm`|WJGk>~MtR&H?z?;=xC_s%;F zch7tqlX!Gga%H-2yum_1IJfHfflj+mnu#!rJ^ol_ZvVf4&?WY1Q{CUaGQRj z=@!YZhyhkBqpk;MLSM#04s3_cUv}GQeXuCZr4o~cIB0?lbsz(F69|^@uI7W>xrR3D zXO5K_48$jQc3%X6ZXIFJN0>~7=|HksLv#~1k7j0D!^$;E11xKeL!4`kCr|TV<8&M+ z&(PE0riLcx~SWb!#U>Ef|4V_S7D<|E)IMzzv$l9X9;nF}#h%
}I`GMDhkX|udW_i{8-i;S<05*@FI(QBb#um7DG{Q5WTCe< zy62az=l~o~6exCebX}?wl-X_iA?d+2{m0`(@dq(Y;@%1n;A%|J)Y1e@D;A9rA3U6U z d&mO{Qcar!bDoh{0q(uDo+&ij<<45-4b(7uCg)yBWF$kx2# zwF&c}w)f^(&f#Y#P6~d8V`z_wPzpZRN;?+LPjP;IQ1^Fi=;*SZx%Q2lLjga2H)e!b zM_GvPBasY^x2_K!eG>3qHWoa0j$#UsrmE>AborihzV}HhAr`q%R*ru=6d=?GyISJB zab5GJL!=g|?6TE^73c*%d~lyy M`+Y zBH7*D0J9)C_vOdgK*Cv(ZhrIb&2=;&HM_X25i~}*9yrSG?~31af{y?vyi>VT|4%Kz z!p%_J``C&okkCZ;7S5!2G1Mbzb9ydDYQ>aTAL*Oxpl1VZY%8ukW@O1<|HV{wVsawv zSQNA^fRPBtQFA;AF1#?D&05O&lW-`q8v2E%ho?fv<@~>*t tMtlq8vX2 zNxAwDa~Tzum>=f$Yc)25`@XrKa?|hL%@sCph4oY&Rq=PzBT%v9#JgCpAF xs%^lCcGN=fkr(;0Df2bYAaV$SG{uqhSkSKj{(b{*`}yB%Z=p;MVqj^>U8DY z&pow>J^7+OPLEL|>p!nJEsG!7#jf19i(5IxT92MRv&eyS{cBUJ0F~^XES$ d`$zOrZa}euZLdDLxZcaf zcWjwSXd}Qn2)c+HR3mHEx2}~Kkv7 y@jbZ*fRBZLhQNE`AwdBB@*>ur)E>Uwx2gvEib%Qi;_%VkVx}e=IH?hd%Xvh zZnLh;kMN9lVyOjO2!~?FuEZO!g!_Cz;uytT=ft9qY_pmXuVqyNGu#O=j5a?D6O$sY zCVBdE?X%r8pAn}K{9cXg$-aj>`u-f@FI^wHi#ccN**fq}fhe;%@c=a3`LZ-)^^|H3 z4J3x=>F<_YInEPZTh8Ms*#(1ObC2{JBoD>6@}4#sZ^AmGSR4V;3&1)zw|XeUzPYFn z*stEcULE%DtC&*<6$_rcLE<+cEI> Gm6vXnuKjL>Zb!&4K9x480Sx|>5 z9Ns1Hubz>9S3NB$ia*ScYshytJ?0vDfkT~FfVQicLcM&7&rbHT{!3;ii6B;4T9i#* z^MKnnBOe)UT=kZkD0_JW<2@$C?Ed%5Wi9qdRm1hA)$AucrUL}rndR4~y->x4O$Ro5 zcwzf2@yjeQ_Bsi-9@SVN$3%p&rHCcHj+%BmL~UwEr7tRY_f;7+)s1en#LG~i`uBkR zcp>ncy0H?ODHDHVdpPGPUXgmYpiR5^1=jEJUfZj>ABjx&v+*$kGFWwwkU)0ZfVVTv z=bwNFis!{q#K#JaiAu>_1w>F=5vQt*7pQG+t`+!mc4479pDVyL|0MbRE+r{RNgA=T z=0vx2iTAyjg_Ka+qXmi05uH7(gN;caorANq?u13_e;H`0ZjYE&B=^4}YW-JDF6gl= zDCcA6ZDWZI_ELG_j`FT{K@CPW-zlfWB;V`F{})$Z70_nWbz7hmcXxM(;#P_kDee-A zTX6T{4y6<;?(Xizi@QT`C>q>?oV;J(@BHWdxyeOl=9!r-vu8bf?Tm*vZmqfz{fs6K z?c3mOc}Oa;K#ToEhxJ+i?t7K5Q@sCc%2LQAUa*YyNl65=JZ-6Txc`gcy3_m5;jh2y zg&Hbk@*$t_ct;zq9*DgCCt-N`6qq63WMarFkM3QW9KZ`0-4~8O(cc i7^xJTGX{&s*I5p^B|yo_(;qoBA3>eq^Xu(cS4I6JTdEKh3Y-DE=7848cEE zmxPoQ=sb>RZ!jPtyfF*nx=uEkACL&&a2LO@+3$DTac&>hsW-1am@qRVFQEB=W|OT1 zaVq=8S0x-er4>JD-p =xPMa`XPt83T`}0V8QwRnNcg?WN2F)m>(dMQ`fyem+-{^^jLf?4p!k*PE+r8XEKF zNyqv$ANn-2F9gfZdNa1>zbR6LffDXJe72YPcm0WRo9zHaYFz2+YxZJJ#Z2l?6EtV$ zFOD3u#i^D0jb4WyEK|S4v*DbeN%eM|SvHJk?k|o|&9%d w7VG zcFU^D8WUlPWIEIk@-@@v3CsO?;ISeQTE*M_;8n@8T7Y=|>5Xa6w70tB(z|@99%Yyw z$o&E4m;d36K+}P}4%cypj&{YCZb`lsW5=zAZb9iiwTAenmp6ky1HmkY{PSb*_Psvs zQ7$_z)ahLIccy#`_TA8)(9efl7iNu{OPXjtj-dp3{6Fs9{Z63a_~^ye>Ca-e zc(xC>N&kl)^DlSwL$3VT;FDG)$(^aeUHY^j-fz9rp~{cLaB#wtHChptkXYA8t-;d) zup3G7K>_o>tb|Yd4A)Jo6H5oTtxy^ZaQTRIENf_#50K5X4&|d11tIrKdO6bvi72&C zt=I#F%KKdQ{-v3|3ED2EUb9oNZwhE0`o3gg;6Cy$7Q$nTAzx({6-a8S!_u$5cQ I;tr+k3?;R&M>|1L_5&;4L523jjxpk3#D1RV zUe9M4+H{AES$+vE)171gE~kH40LXG>nw$1z{ZNi}+|ZH*--NZ`Y{!0u@$WFv;YDO8 z1^~yWaxOqt-_qI5Bz1@X&R^Q*8(dg^s+Lv%QlANnlmS6=ceOjeG|?5i9U1z|iH>hJ zlv&5nSRroXcwp}urhYY!^1sB5F=a&d6gz+B{@5Ly#mvFgN(8#a`u-nr;xTyJ#{QCP zr0MIS$Av;`XTb{pN!o|X5OarK(xnVBMJ`>F^K4%*cnmQ!L=Xpcy|xfLBK*t@cKfze(ta+qb)iKP#}U#XZ8`?(*$xB_z$UMqmz zm~W!x>`Nsa-%=~(h<*2ZxK4xoSqadN<5dXY<=3N&!GnxS!ba7}e} zW#GQS`Iq$ZCbZYqtz|ZUm5989JbU@#r|3_+ox4`GbtBO5&<7Dz2m3M##OeSWtT2~< znKpGj>`=lvx5&lxlEZC>){r^Sg#|Uuh%k;y#UDyu=|Tj&u2Ggas0G~*4%r)E2G~e& z{##S# Znt`A0nKQ=5JtP3a4GQEUAX!I*yiPb=39a3fjt+xb>|g)Uk_iT@bC0Y z)H10D#`Bk*G3P-_X~t7^NwHyJiyuU?0hHAT+ZG**C?k`e?RJ-k&;NE<`(z%4%Mm}g z*MH#Z;;VIB8s{NQpLAioe`wIFMU^$`5RxKJ=Xgcs{K$h+*8gv(JM{uW$Qb!v-UfTQ zOX6V~l=#qoiqft^)}Hb~L<1oU2C(1fB+OT`ICTj3A0pqIH@MjRfz8>-j^$2Trq7>v z^%X7A(^w3$9pr@KsSyfI^>FziPVE@&4oS$T)KGi&$|?Co?Cc*Y^Xympm_0AaL2kD| z0T8X+pIsKKb39U=QHK+M!jcyAZGBlFoHqjaD}nht6Hoh~2J)MaLp{3%sc-$7uE}Tk zcI9(&C#U^^g}8q<3r8zjKazf;?(?vuN%uctfm62oq&08WKP7E;Gq~nEuluSqihB-j z kDuBo+lH;kE*N5 z7V=-AH72aYl6rQa^-&PXn$`1L>|BU<+}d!;RaV$Hn^x)La@wQIH^qT25eGaR0gs#J zRaE?^PzBEAHc?Tw19%%Za~gaf@y0ujJ3O#iww!EQ>ymxlJJRRk%ia5UL;3~i;@D#m z+jW%A2iH{^O}}29ML%h{Ae@_f_c7_Nd-}H28_=dsVEBdK U)+>{wqUH*2y5j|*|*smLP zKYF?v2k>0EG|%3ZWePQ~_5GvKJzVd$0L=ZBgK45aMXQ&cmiD~0AT*1kn6OSh{_Op( zMjeW2P$4*jI*mwkx-)@`mEr=0`T>se0bcc*-!&E; >IMko8Wb-&a6`6^+m zd*k+a{(Jcd%YiYg(xtjf367(K_H+oK<(Dbus`Rl>kYX{sT(;=+;T>w(f^6|?{-Y)! zhe#nH$7Q1ZQ-VUZ%6J3EaW6*vT!H?X$|S)2ap~Y?*%v`H<>)C=d Z*qPaxY}dH9%|>2kK5_FnkutB06CI=;FflF8ZH7rk~c<&l_SV<)d4w^hU<$a z91Qas&b5yNER8I(W!kew?QPN3>dTwie|ovZRl7r?{!HAC2IPo!;*`&FXiP$LZM{tS z{;XX&T>9C|&F>73TzpTTyPH94JFf$mq=e5LbE(@eNRB$pCt_4gfr|N#16M5>ABPAU zw~P*KW}68P=R3P+p{RdZH-%<-Uf$WOj}G4x&k^JRPw4UTREVfk(g93Vy!djNu4CyF zy|Q8yPiEV#mV~ZTb$Qi2^$;JDSD$SAVaAqQt8>Dr3_!M_j;qc3xoU(%zr;VqZow;s zT~k@!0eX^KJXF4emKHgw*K6LPCqUItPE#PA41E0@J3PlPSZc8APVxR97x7_&@YbVq z?nOSDc|$N?ooyx^+;G_I;!{#m^68bcB4xqBc0m&^dj59Adfs5lPd=%|BadO;;hcch zu%s(^#BKY}a9mdHk&kpHdzq(nEXS+S;f#6PpP-f9Tk$i^cnq{ZYub~!;tLy^U1iNi zFQG~pdL>sZ91Wu3+knMVS=}M!>MB#kGID;6xB#o)u`?vExjSG$9@Wm8vMhG%F7gfY zX{Ca=ccvaFK$#%ELN)uc9*>AmuT$RV7|h uhfVmyK{}?|oC4bB5l% zPXwhkwS5x bo#Lrg8H-iN_?(%#^bA*OR7_VsDJ`E6FR_GVsR1WJxe)< z?&EEE7Ur1&idH>1YE2v4=MR-^;Bt=#LE`sM@_tiKUEV3#mC@qPjT1taU!$U9v94Q> zblug)$G^KKPE;A@1@3*16V1~G=q>Y}JkNXIJ$oH_J)vhlQOG?OU4s<7pOcnsZ<@Qi zN?aZlz#YaOISlhHuYA1SEQfmuLV|7u-r^jc2iv&Na|m{`@p5%sr~QD7 mt)>?k;-{tQ=62_kExe5y0pox={ndgY?&sS& z(+{Ff{RR=kg7;jiztQBxvcC?4fQe*1i8#9%ez3z2W}|{g60x7`ZNBsT;p5(?4T*q> z9g*shFthk-46^mmp4XdvFx7Os>zI88gn3wi0&g;vKYM6uSKiFExpjBn%+(W~QK3_8 zpZAC=cDSN;x!}YdKWz;XHs-}vDy0YfY+Cj_xnNKKM3PSA_b{mnZ)Hu91wR C!-yJT&;2cU 2B5+a%^M*QRohzd>J0^*rcmA0}s7^ef;y5 zq&a{f`#CXP@W2N!#G`y-f7lb=Y62Va^xe?&f1Ut}&b#0x1IM4sMp-CY;bZamRti9C549r0JZ?6YEKB8kM6 z#*#hjdS&dw%GktT&7FKbMmXP_eB~9tyn0Q8+qmbh_UzMloT$5i=h$vc=?)(k?uurV zdx#f*O(*p?5ud=1u6iMyjqi$1$-09<-?$U2Ajyi~_v1q^3~rMj6HhEj{ 9@qV#^lyu h}_Y z=V82mR;XY}{I93QF2^yiQ?N+y5`4h#G!ly4sT3i}iU-2_jTd-8tt|%4)l^!#pgbmp zZ~%ts2R~%=bx0Qs=>9+I^cI#Oq!F`EyFOxH?XV*GhMBfnyIpHU1(H%$p-xp*wUCuG zxIn(Zl ZpyLt0@Y_9j|#@Z&?u}hy=0W`+Urflrutp zu=IxY@#VrYB5^#!W_A1AfwFVUj(rYezk3ycQ612C1DE(-bxgnNf%2f^vhn@kAeR%G zbejM6s+3%;_``Vi)}cdyi*@^$ZG;Uk& fNcMyl`Ydr><8MmWU~ zZu&l{gbQ~?x=+;w>OWT>x3SYdzS72C^c77p`a9?w%Z_Wqj?KO9H@_%gAn3kXF6kRz z29;FOM`3;&jx9Z*x}2)M9Q}?r>2mmiqMSR<@ICaf`f7giX?JRpW9|8uDkNSMmZzR8 z-G~rt2%wrR))5*UZ;|o*Q`zy>R;i>F?*3PurO3-vxIhg!UO9;EUlAH6JNp{?PN;#y z3)|;vldOEpvBH$E9~ctVjaPq(C>IlM+YXoF$7^5x8IbSX{IB8gD*K+sdv4nX%&ots zm{;on9R1Fwazz8K69QTxn#F@Z{@tnB`1ufFucj^a wKE$?-`)xTbc5>vqXiQr|Yuy`fxzr*}YLR_)!{Jrmdd+lILCxW4H z?8RhHfno8hma?oW1BXoBy!2R76dvlc{%+>qF9sP@qt6jLjdM>*{ST9taZKeBL7rbu zJ9?A{^9p-}MgAkq|LLLQ7m=9s$2z*PxpCoI3$ko8f#JRNCWx}jTMI|hs?>BS9jsSK z@K;^`Z&wj*ol$8X?Xu3wMnE&MA(y}~IfDeIxR}zQ;#A~s4rsfqE8qt1#Q|72xH56N zUU>|$d112*CjXqS_I!)by@Gq#@SXkV5W`7O8=i|Pvq62Y!*{ZGXT)4 S6v{ 9?$8+_G@sXXK(t{M;g#|K)E@;YQ~yK&fFjyn7_ScZ?> znl3eMhNuPVEOqucUVNQ)^Du02m1^-!x;<4yYnT0Uz+5eCPrYTQ-n*(rdxX@iBy|$? zBlt{;q)CXqjKqC$k+G7{T^T8*vL|D>bUW{H*jhHlj? 7%vl23u9*CUhfVh@KfN4ar=d(HF1 z)?*73TU(9q9nDAeHf)DgcXqHh^leA#_FPyQ%+`pVyBTa_3{bRqC)mkHm41Q$QCd%Q zN9ZQl%!p?4w#-iNH*S~s7$F2~i-2|P5PX}+`2LY6f5+}vsz--$hEKP1h=(C}55;S| zb=Qk$?X|Sl!?nnl%^A7Au^3YanAy;e2I#GDGNAGUQtj#ovWzzs&Y-{~_V-na1vTIr zXD|1Ul|qGU*(|GC2K2{-p|_!yzKET-7OqL>diSO@QZ-N6FO9$n&+$Hosp8WMB={BDQN)4`_pVt!;`d9tB`ut z1Z5w}mbT@{jUk4$c^ 5_#2C)HYw)pZv$ z9{D=1)0g_K&YOJkj$GBE&hhheL<87DgyOBL29AxlXT<#LB2~=Q8<~XUAhWQ2!@@>} z!}`K8@bvTxCT=g;4%PweL0mHVCG{GYg+R^ts-uIRn73ik!xmK3`w ge YXBD%lw)FJD<`f==;*Y=U<(hZ;7wYYBONOA!cWAu6H;n zj oz)|qJjLV{md-vSI@@-|%2#wQ8E zNbm9~=`+L$gG)!{M`hxFli|4R3BGrWF7vlqrVo>4K=pVZXSaxWl2$VF9%%U{_)N~X zRXo*u#~xaBumyK3&Z*Cjrq_=|u^Cv!nApaBc#{dxzgRqx+XA75!R_>(NxL<r)p=C!R&^3`(e^)S)2dYMW2DVnZYvqA%wNd zZEuLDVT&>Drx2s+m0>Q^z~ VFO}YhUIcdiv|Y ze|8|ld3({g=V^*sDV_5&H4XJRS3eavfaj9JvW|NlZR+>AnKTAZ>!Tu*U97#jjNpI~ zrvNGgjW*RH>N&JIED#SfC)jfwW{B SN>Oa}>UWfT+e}esAPl!!O#R}M?U%xr6i?b@ zunLA=%S~H%ii%lN#0$+n_nplw=of$W+9N|?Yo6>mMfS L0&8uQ)-zIm6|k-@xx36_fI~ZPiKVE!EUX z=YYO0qFOET$4i~WY@RW&X-_f*lj9P4DwnO* _Oq?5@k_O)3atC{ww_&|u4$8oTPGcR9)llAwv@|d>J>s<|RNUjgj zfu%crjEDwPAqdcXQtq}g`z5B4&j_q36sor?d!roztb}5NZ+N%97dhWajABr@`!ZJp zahqhLkD%)6rrz5{liX@Tr2XGq01r|%@^T`3EAQM!`;g%yjx=dEXN~1JB6oqk Qs@N(%;C8cwff_u3!rF>P$_s z*_7kwG*hFu1WC`gBT^-nar%#+U3 s-+J21+~45_TVaq_V3e4!WLU-nh5Yk$|uj zD~aC5bGLd}z#`kS5j14myf$6p@6+>)q5waPF4zBb2|jBMyGGg0{i4h^#Nrt4jq( NOGw1EmN@vGeWTF71NqDZ{2_RXtcUZ z7|T@)ZhcW$=CWB*Ps|6xES1Y6{9*Lf+nPs9wf1p%5a!u?nV7ykwPjk=Z?Q}ubkV2J z(B@xTy1oPO%ck^+A} Px%@!0=^n%Usf^5E7Zqrx{4C!m5*xY^(m(Hr3ujK(z XS_ zy^;B3?sZclcjdd?k>b_fLXwaR>%Em1f$Pv6Z 7V@j#F8ZyQVBb=7)|qr%cYUwp zq?k@5 }AQke@@uxbr%+TI ~qr;d9${LJGzak6uUwR~;c57#3Im_7o z3A Z_RX?He15ZM`-y}Z-8~#GV*c*{-t@D_; zh@7|#_~!mNyI|Tki$1B|>bv6e!JZ7uKI;-RA{m)eDZ8pp;%q}evsOP`gEGWm;j?|p zsqa7@+v21sFc&DE34S$;42q_#?;0Z?`JqhVF6*;bjZ9> wvF9>-k34=QsoqPk=kl#Kc2L*l1jwlA6+-Z%T^kqo z`TlWSC9Gk2$M{^QCZ^MTxshO_*T%oF+&KVcLb;>Hqoi`Jbr;@Wtuk-p(AVM2^C}Tq z|F3Gv 9a**AwD?r|VkH03+1We}vY-nr!)} z5gDU7^vcB8=g707@I*P3pN 4M`gDp=i0^seaLtfd6*b z#4)z9kUGGlzg8T7;uK oBqeE$cV8-=o$ j=T#mR5 E;y%cOtd+M{;JYxDaa*dzFNiWvqwmo6g zx-uUmgj*!s%e;!in2->~X9sL&olTGy^y2LaIO;Mt2p29@bCN^2+o{M%Nl1%*%fGtV zc0HfQ5qW}gyjLypq?YPJ{5pNT&D%(ptV37^4g%h$65igZGy3TFR&nKaZMOJN52eiK zfK gCUmIXTCLsrF^i$~&Mk{Q zFQn{cD5vNk9=|j`pSq#t!oj*i!Y4!imTo{2GDbXGeey@>1;4^b3!BfJ4l b7Pe+ix5s~X&%>p z9pCATet%rDvt{=;O@Xrvb$4Jyi$nbu^&!$*AD+Ei_@%~Wqjt-Y8XsO7uUy}AqM=)) zfaf!*hwC-$tXwPu5$cm==n(ZP=`K%!WLZ!1S8?G|Eynu&S!f@9+F}aZ-+Jti_~TWr z;MZElWC{CNA16mfK$@i2L}1#{d~E>B+ +6A?Y%NwU{eiK)_=_yfBUQ&u zkD }85{PX5k%jgaBOg;z32lN3B z!fV(zFW;Q?k@`m5nLzwt0bG)*)uZF;b-~+=z&qOWKrUlwRQA$)aj3R?jLcl?c(orP z%qPKT>nB{c0xsxohVT)C>S2ZBi#JX 7X#~kR-B@SxQ6RiF7MEcd!%q`&2-`tHc!FU?BwO|*Pehl}q2(`3%RcJ)< zWOcyra61}*XVf)dytv*n-%+!)?JTqJu8(P}O}Yu@NkV~0IW+v8h?bMSY?>U)YElL3 z=wIcuI3fNef8^uzP_YZi>mFy W-53p4O5l4uU)rEg{fp-4hvulJ=8 zfc@1HXAGcq-gf_-^SsB$v-zB}H~`kJlZFFPTnPy|4U)l)F#UruBpP_yk8C_25Rkh( zfvQQj+^SPWj#3*(Nc>I3jeLCJ*-M6c&;z44Q$2^Cv$KaV!FGY`3I^@i?0EN=UkMw7 zmzZiYduo4#XLctQicBJ`@~}P+G@aqTrapmS4%qLOZBB_toaTC}xHIIs?Vu|2t+M@X z5gxgov445#&Wmq&(uSG=_4zrsS7pUhXgfVxJNIZ)GJ)&6#^{~a=ABaL@rI7hbY*Pk zt|N*jEau9p6WAHNGN(pr*xj4OWNZSu_$hCI2bK`6h;xs;i=eoED1?n?>*~f!esDG& zqk}!2Zy2R|VCSu3ubM0zEMTsbxM^Bx5(FCj0kb?e8GJ|fc)wL-`9uF59b+G4{Nfgj z*IbV`cb9YFTk5n$n4a=`hfp{?Y2e$A>|UdkU{y%r%1J4qWeV|Vve^eOjHBw5-^6~+ z{{#|pW>Bd16@AIsMG{o)9xw$d1V91*;UYK?hPUC9KOKp}Nqx{_AqZoI!X3z)ooyw* zh&5S?-?w#5&_Dj|xe>EJp9&&@i2)6eZ2`5STXoSgTD~tsug1x;= ?h|*84{$3ty*7h^Z75-D0zs}uT2w{jVR&U zn0IgU_F_J2o3(Zl8Ia;FZWXXpJMZhyJ(VPtfl|S-(6=l7kH16dy40D_CKq-t8;1r! zlB!}nV1Wj5|68%}L!G@WuO(qxde<*x)c$0Fe)VyyTD9&{&|d!l)#gmHtCopMUoxTB zYIWH^tbg&*tgE%Av5ysjmXn#%n7zuv8m(fUp$Pwgr!@ wj=kPca-)?QGe%5>Nd#$(dF 3~U|H zKoQnPkyWDd|C!WZSawqo541j%Xg_tYL=~n2bDXBa|98p%Gs=-}WK|R3?d7jw$)Ipg ztDOJ+yGy1z)3<7dER4GrS_w=ek_81xJq~y1X8wQAn#5a(-fse&2vi~kdH%1pV+yS6 z9t(gZeEs9F-(KKEvwDkW*=j>{|5vkfUyE9IcV?4NaS~BZs{n>?(3r`4Auljo>AyJm z-!)+(l8Q6140=voC~^Hq6aUvt7=jp|MW6?uLVcFd5T*V?qTm1DAn;e|rkSnTv0<^k za#Mvc6wekziv0)3{C}6EBg(+ye=m Hfo)UgpPWrLNzl}Z5 zwlnfOIVaV_v%Wn3-r|*WF>!_?;d3bD;+DbnSNMy+3yjxJO#jT@J5NMdJh@Y&tigXP z;p^wPGKqgGa6mVA?520h=b|hc>2j-){_o2l$6ikQJgxHD8~D| )NzA41(GA)$1?!9B%<@c1%jB*dK6tAQ~+^DeCbkCk$6c8r8nW+w6*D|Z4 z{ws@fhD!;t2C59TA}$qnAlDaaTKS0lx2DvJq*Q}%qJ-cz=X4u>tE2=AXpl{q3#|4) zlL;oB^l~P)DkL-Wj#L^;KE7u2QU{d lOrK08O;8g81)?GqrGTiVgxFZ9UouQ8DAD^%H#kUf(b-t5 z90kgkV1Zjk^T+}cY&n`lEEC#@0!9<)(i)htA9@7Y_ ?~2QiME#Oe$f;eVPC%$l2q*JdiuE1z--B4*l~46Lhhz}B?P6g{7JOq? zEbMJ6r8kWgy73 P^eH`mju>s`5%Ff9k%oq5j^y(;EnVsSGyY=9JodIg zuN3UNengqKTv*ISz-U-R>K7iB4gb-is 7tSSY6 +4Y(^w^+wkg0^ihWrbAo~Freqkq9JUr}iQxVB_wLTwIwZ(cw&TOvEBE{V+| zhnlc2rS{c~kx1pM9`#OosMP~A<-0j1lM${-rn2pDdiVoYY1J>41Emy;73!BAjN*4- z36 fa*6Yj2KxwnJ#N19rV}he;8Q#h>I9747Txzp)m( z n{4 +51a}d zWQL{7m5+GQ1WhjGyXelvX4Jc7X6Vj0b#`yx=SK)&$26MzlQU4NDy{(4s^=LiX3lif za1#4@EiUn|P6hjgIMDZ1#(hX9@M^CL^l1hMhvbgYY;J@a-xnqq6<7z$)XQ~FQ&trg z5@umD@a8cNN)>6acD`Ykd7{@8W?5A#-A4hKogr-}37|6rFl9$4HMq(Ez-c`uAW00@ zoDGuK_Z;L#TDr=4x!HH)`-pNYlyd6d5b=7F{eHXRO@ag{)o!sGP88-t!oYWoItI;) zgr)uJ2d{z~T5~#ccml{VOU~G15=>vC+!1o>s*^rec{ggm|EL%={k9luupbd?LR#l$ zyGF}B <25S&VF~_>_5i~qppFxdaivq+ljz+XZ zD;rEf@;8|%HOZ@+fY2+J`5eav9t|zqz}93?!UntfV=HHFSL8FYF6dUc;4UQW2}bnj z(v3QcC+o=qc5%I?@djYT)97Z%j$^s{okHB+^&3B>z|ixVi-SL}xTYtk)>V3>6DzTB zb!0@SB5VuiP@0oHPL6`!q^g}0d?P%dmLW!}ZvB$6m|?W@`oJ=DAmGp$v0aYWuIwYb z@N4?5gvfbCYU byrZ8 uxkqXL()5!-{s zNwyRAp#BOr9)>#b6KYg$roKVd+&1wIZK3E!QD@E9%@Y12MLSa2Jghw0q8T`}FJ!pP zwAQh0h?T6xjOIDCVGZ^r#az0{>H>68)XwD%EBK|tgZ%T>ag02te5t7opnl5!+Wcg~ zBe~f3r3wAK98oDjo)s?`9<`v#Ie~AzRG|aXf_x*KPUxy(bh365)2c#B!zcszGqbO_ zxU)C|8EQHk$r+vr?Z;?m9h;|j@cPKmiYJj@5-xq|w12B2=lqJ^dRGF6hGU$kHZ>$J z2fP5>Ns}7S66=!AvI~tJuwh#+iDcC|0W)-m)2#PEJGzuyUpkbcB2BmTG8?!)c5;2x zb5JV}x$q8d(PF6L{WSAVwNlBTJdu`3RYOb^Yv>axm1+oAp#b|k^~kS<83vJ|dPtz6 zV-)m~?j|4q(w~AG9-WxvZqlkWpkV#VyFr3TtVmAPSVpB^QkVk*ipvMjv|kf!E}^y3 z#FiUZr8@{Xx&n|zVR*RxyE7gcUz-8AO@#yk@HQwKD6g#oD&WSLwmLYQWka+Q30@gF z&TY|_*n$s1vr8$at!9QdYvC-?PKQbscmPBXf9&GlC{b(Q5AgN9)!JuF+iC!q4(3>u zai;blu4YQov|2@F0#;VU)3K=|#LA}c1pXhb+`Gnm4bm5U)0G$`GjHxBH$?Z~z1k%~ zrRuvuY{*d`9oawf9yW&7tqojfA^iEAYPDSEQ~yRY6XWB25{@$Tp~y|XWqCEpy~(g% z#?PMLA;pdzm{}=V+ewzKL0H?2mv-Y{nX-L3VO4=OYBZ&S6#+Rgcue|%L0l11UGATk z)e3%Eol+D(2Xw`1ntJMHCmpoQP$I< NmPNr7!;oEJZTr;+z9F{`+MfLwtBJR{k0oW^1v@#6@@BK#=YH?RsWxD;S( zykpK3>#4cKAfV)~Rc>ai(Ul;cXWHks$j+k4p2Q4g#J6#itjZ~h;oIr(L;=~(tiVRn z97S$^6$nZw$_2znn$Duh=H>MdV%mNz*Ub4@ =!p5T3Wb7z0(}>LQmJpfzUC-yW5GK% @>x$wtIhT)hqTNfXnHB-r9 zyT7d34Gez<4@ANJxCm)qAr;e*pX_cXX~@5p;4^d@ciWNvpyBNz>l7kqVnFmR?>qVd zOv*ung#{*-fiYJ3dks&EN1~(gclmN7KlEsAcT{F{A~MvJsrl?uzW{A$Zl<|x##N7K z@@Zq~8yn<)^2yCYy~KbNlT)RffkI?nh(H`ytwbJk#y1S65YODH?qp?>PX ?3l=;__?@!hc`|} z;CFN|rGZ6^Ol3@|xCTL+ql)Loj&p*n=nVM9YGE9gc{Ppj(piZF@LpQqECHBcv!?4j zzTJiCLmeS$#r6`e4d<~j{IPM_v2hfh`rh6k c8@v%D`g(y{*DKON tZf0#>=~^xVQ%c8PGG{M8i(PH{h~KvvAl2H|mA4mWW(4 zBPg+j+Efc@kuL+(u8?D}cHjlQ<9oHYC@O@&qKCeSp@0@xZLt-H1a5av{tY$MyC(1I zk1^Y(QNsOJ*5Te S%-i?CQ*66)P$p2h&_4XVqGz^_Vj4`9BU`KkynN- z5kRVwFjPtm-C;DLkt~++E@;*lf$8bFpj4$CMGw&l+l}F!Vp=&HDaw`I_qW7(ii-UO zjS=3Wg#cy7DAHm W-?v`l_LH=96NOwK|C zblPk{j#_T*I_pyMLE7q+>$-6-^)!+h3lTdZC5cpOp2~|e$Nm#S`@nbCA|tU<4Tch8 z;_>uh(>f7~Qn|^5lAWri&V97{P4*VPCNYD*5v}v(GUiI>iD?_(IjJ$okrc$fgPL2V z7DE({BCgNmdC9dN!C}<)`Yr8ByKI6QE&uv3{zgHgFw$;z!=KRi%+J}QQ|~o9e8Tm@ zN7;1C`<_lnRW(e_T*EGg`No~}lXC;2B YLDAx&{M+1!k;zJv5rJ)L zd9zVW3KOi_5*_d;7@1Qr4}SZ}Qq3zSnoTqlQruGZjf4vtViH`Kv~V#g;YgYMqO@r< zFDX=TY6N|C@r*Y)a4e*>uN=Tf*Z+_pnI(AHD_%KugzL(ko5*sN8Pw`!ZqIJw4`Xo< zvg~Em_+$AYrWIZ`S)x7DG}`&8PSc8E(dTU;@@pWR_P6F$SA1+C6s*k9h>oh=(}=vR zP3+(O)S4Op%>^i={Qi6BQai%rCKp&1DaIzcUG9X>@kyJi${T*Gv&m3!U+=grR|DC0 zxRQpWbFY3)4OgC_*|n~Mgr08F1(>_;w%U;K4O)weG~NFGM+p!^^`x)n10HP2Po4Lj z!+qRlDjp(9BhecvDG8uNAx)hsn-x{ELQ3-7qu-;P3Ya_Zdu kOAf^RxjRvjJFvx0M{Z*!c?*71DVT;nxMFBSlP z9kP5G+Nl21w%D=%@y%H~*r*Mn-wfRP9&I!v{?sRaRU7~6b+`8FK8hgdxcR2rWj0*v z$L+Dv-7~4!6ROe6h_>J>9*1dP7!!0baZ=N(rb_*XnH2KvD)HCyB+waB{>Hw|YYb1* zW!PeOa=ib^S=BQ^*HQaJqtUbU%Y9t@1%H6gB=PP^XJI+#ny9klW77yv2Z8 T*PNu-XVA6PQsIak6pmM@9u)?tfaS(9==^X_qpTMaQc~s5o=bZ>S z7TeC&$1LIZ95tDw+;rIv#x4>l1G*77gk+H=#Yjb3`O_5-k#Hypf$xKUe>5g*4PN?M zBu|Pov1gWs&G0VrDeoIDK9;#_MbDOddT}=33q+7 hzcJ}2CNupfmOc(ZP}pwc42e|PTwY?(bKbt`l}Npu0{wDY|njr|JJ&3n0quR z82w||w)~|1Vv_!IUh#`uh?r_ix2V>IU>oH5x&RuI2hhjK$;x7B)}_rH`%cd%S=wnt z?Xqc7la?~8Zhc#u;gtWrP{L~yqZGqcYaEqO3q3_Y6PxbL9et)P!x~_6+Lpf1(~H`& z&J?IJ-d+lqkKC^EXd&F`lhR1!MgGKLCPn1?w%{1ffLEw2OKUxZK)mtTTwg~4boc|* zfuDZhs>g H);_pTr$ zoA7GO8W&4et(8tz&;&VSSKx4ywy%|x051af1G KO zVXa=N`kZ4E%=PujheXGsg9NOZit@EO-fn8_$SdjlOu>&Wz0uo8HPT88_K9w4b?%BF zuH7`MV=1XY6WU%n6&)(BFPQ|9orq^c032!m3a2XEVZX*t9&0!;ku`fdrz4)b$O5*t zh2fqIEPu=dGb<=Z$-J@>@pKQlvJ%ak+RsZcwD(p^xISt?&j=hriO5kM1@nw2?(6t3 zA39GHBIAx)VF|gQalb+9m&=Xkb@9swABr4Ctrs7 !?{lrG@e){Qh${ss9HFcN<|bYE9%ZsyQt&y}Cm2Jp*^woHTNX9Z0X;3%^Dl(#$?V z_{sOkz@Eb47!><~0e)7?wnp8@5YKrJ@NO~KhyP8t=S} ?PgP4%nrhUe~d{)F9} zx=o|&z} wX|$&(6VzNABl&LcG7p zz+rXrKaS$zu@7=D?(m$Sd(iPvN0FOV^fcpBz4N5q5o7ce>QQSsd2rtx03nVSf04TD zV2reWf7Cy{@{~4@g0tP(Q(14WXxr1)CCzw2#a6LmZ-vJ;u-S6Gpn)>ziJ`v}Oq=qt zz?F=?^V~is>Wbx^Ez>$|p^wsG`%0`VtIYFJqzqTB2{u(!D5KW)TSZ_8U+kSu61Q(P zLBE2z5e>(Se$7I6Tkn=LRUB$453aOB!VtGN>X#>2`yVK8 zol7>iG$1M_)* 6nd!zC?|a~6alj)p#K*&}hH&uI zn`6F|QZgx=k@q1QHGe^wZwXcox#5orE|wE^Vn5k-NpJ!>HCqJ_uF~&DNgDo`_r_wj zvuX;)No(T#A9$r_68rGMx1$R`09B%ocg%(hM*9p(bs`6)eUq3(lEpQmTpbP{^VPx) z4h8i~zL!d4epg$H#iS-}WTcM8*`}qA>L9SkW|*^a+ip-|v%A;XwoVkdrBdtfFTskS zR?N7@pJ(mtEtiWpaxe6L{7{BebQBCwG-q1Xo`ke&i|Gw^Hfgmh>j=2vLQUyx3ZRoS zYXgUc;&Rone_+kl@F|_hX-z7xi|`rQpEuCvd*06sX8mRxep=bR+^Qo-X>`T}Mw^W6 z;b~MwgoOV?)jI}P@_lWfGqE+XlM~yvory8AGqG*kww+9jIkC-&trOe4`BlCDd+UDb zFWptWtGasaM|&-#1Zw-z9_auK#=s(ht`=tBYu#*dx#p|F)Z7!)N@fcLvQ5_YVxdT7 zaA|*RvWF1BSA3|%t=$F6C8ez0=$}&Cx|bA|0Gmuz4l8F~5=i7PfX*4A28qrY|D4XW zmVAPd>kupX8FKhcXXwmYq72+)2kZTO(HsZFlh|M_!wkgxR<5nNtbGW=OwWo)$B#Q| zN>-4!Tngq2B}2VgHyrqheP5t5#z87E);l7y;`h22#u!V^a1aQgy=th7!wURkI)Z&k zusQ0)qot7g3@KQ1d&;|9NK9*eoW6Y8ssLd%u6ZjR9X^=6XRFF^qOBya5Q!~^em^+K zY3lR$B1zKkwN-!n^5f#x`}pJ4l76C58Fv!(&`e)EH*fF}XboX~Ht%fv90eYbB=rBQ z0U>o?llR^j1zi^EqZqu&*IH~1zjov)?_Qj<=Lry$-fNQJhj9}xLG5$%mVvKtf!7=5 z=7+lPA%UPm=Hk;@_bXlZW5E^(+V9E*_^SKKipQzI%*#8iqDW+B(lm+;+-d&ChU@b2 z`~mI07pEiFc+JkxaisP(#t6(})%z223~1#0ARu};IC%snadsa|S~hF1`@ZHmZoMO4 zb)DAj1l~@A*0w&7K3^|CNr>JXySImszn1Vyt3d+h_i)|KH*{F#yQ2};@Ei!Q*UR4R zjbVPymE`vVV!YucdgAxpd$Gd7BiK{>$|r*(^9{IkU;FC4?P4MFUrw-2ZxekU=RI#~ z=ns_2<2_A)E)GUT6&*fk^@gIRxw8=QIIr&O&iBgd+OoMKpO5n1x&6F{CBHwNED;{g zaegqFpD#~M@cacE zAhBA6K}uMgi=JvFUwckJV{n)s#3oM|>MzgUm-I$1koc~EAUk6<_kc&UHi56hWLF!G zfc|NTkOT4Jur>!~5|zX6aAl@?^2n58iu7gDgw*=qJ}@vr&iqTA1_0B|$i~1)j9*mR z*gE)z@ZoSIk-@;LS$uCzs7u(B__=e Qr!rQez#ol<;2)K)+`96A6PP4e} A4;y0e67tVBg5>EZR*w5 zdj^Lmac 6u%( -8TObH2zMC5x|J{i8#2hX^jjg>PAkLeNjcw5*wy_;a?dx~xNOzHbp gLgZ+MSp8cD WLjs!e=qgD z7|Yw)E)WGC)Cf+(Pc08A0^e)Am!hV3dU}K24*fm|^zI4?-g@x#c&~tIxo(6`@V95a zuhTanjBh_UKQ8FsmXP1 !s8lun)CFI z;Hd qkkCvKux)hb+W?A%QQL7U<~FOia;4eB}Ew?ih9`H3&YadaZx($ zImE7CP$8*F5eJ0MUc p|jUh3>+I>oXtrtf9%`(8XgZU+tW zX2r|ZA03 0z)(v;@H%{Om zDLwoSjKNOcrn#!;wt&GPQFYfxEhj0iM=g-nD6?Ahvd=ZDHTc|o$6pp4Ue`&R(upfv zD>}ni5Es@}eLB=xR3q}6L%_25LpFI^Caot+5|3sCz7X!0=$N~6?#(wm_18Vunn3>) z7v$YnF>tz*KMT!px3W9s1yoG03T}~U#dh!)+Z`L{Y5+@_+o|xM=Y#deWnNeiuXfpL z#n~)hI^XULj~gd84t#G<80SY p}&3KBdUIu`3AB)jlD{v z(fQhl;VtGCRhWsDQ#MyT&1t;zvEF!CLC^by8o&NGB;Myk>Bl9#eg_0K 082;{Gh>l;h-B0wzFjCIgmFqcsyjT@hxuB< zVl1k y6n6RCPf=dS%GSDFN+%QS72w(o${61S|$LPt9?E=6IamD|-bL+*#_3bG5U) z9Mh(GLuuAeihT8P#<6Pq?ZOm$fAWfv zNhlslBITtz#dcA9#Z5w(A+mOw3e<6n*gR6_PalY3lG&Pmk<;MVjktdlqwz7Tu>5kj zws$wlt6fKc35UKqW}JQ=EW}}$uTU4FD8MkF>Tx$?s=@Svb Hl8WVwmz_OpZkJ4Bar*N}Jis>Kc+5FrLqDrU~8I9DwLun9eBRm3= z6OYF%zzdHJFG2_=g9(U-3MP3%5Q(*R-!T!(pY%2?^7s%VlUz3w#z!oiGeC-nKEfhG z+-N{pP*+|^)cY<@PD)Wid4w6M@V!&y=VGWW2^W)!!?uw4>@64V+)6Z`{VW?F%CU8r zyUXw_mV6x~rp~d02T6YA?+3+S+BTzCKP6@>nQ)WsVd_wO3z
_s)-*DRs%KnJV+dXQY-YW>}9`10Fd_=4*aE)S@tTl6VOyuo$;av2L{TfumD0oi! zykGViN&mPxoXIX}e-ow9xA)w)^_Evw-Tm)3!Cm{>dA$>eVe|fC>$0rtbKkEsub_bA zn^mk%%x$dkQm6mHc #4+V zw_n4j`qSt0;Gm4(G%MG#UH>^n-)vrRW6I{M8eMk1=0LyOYNecIZBBoUH_5xX_XD0& zpLUs#e+`YB$SbL(y=VumAs`}upZ&I^&adyWydk=i)*X6busW9Ktg@5jRq+wF^{ z6MpAQ0tF#umJH*=3yy{aV7pCn!xED^LSN#v#C6In{jS>}0nV)L{znjC)Xhi0B#M^6 zDbY5(|9t~(1flpQ9ibRgid=~$Gx8Q6CeND$b!7{)7#;=>1{a6~0l0SQNhPFJVbOt0 zjxS&MrW7m%+43Df0l+W-ra}!77?qCACq->}Fw4hKBc6pht|1slE~{~Kw0OzFEiiO* zFrL0SA2WhW@{^R%DN~{V>V~9uCf&%rJY;ljzeqHFg(0NI!{|~Va5P<~DIKtgKiD5< zeb6(34=CEZD@ES6-Y#diYXAJZW&Bu6Nfi~D5Wy@Jl2eL9+GY5yYQb5V)Io}@msX4k zqNHAgI3%14q9j2X5L~*zAFTwj12a|>-Ge=7|94RHugTITcPTG<$s-p8rm(zJ_NB)@ z!ZB`Py8>o;Z|OjyJR6_9KYscIy6i7*6=P$~f}<32sPcg~)0yJ=A}!n(*lVa=;s~Hw zP3A4K@>3ToLx?DOsZ)1bBhzMPBm?O{!jH}NCY{xnCh&?F1DWU2zf#4h&_3vLLEkMo z1g=x(K{I65^HPYX_-bk@cW^u#44ry$4V71f#i~@MGZd0i(pLsnvTADimF` VR zC4VO|{-IN$DmDfYgaWl ixKmTPo{k2drd+rOxIh*Hb|H!AO%ETXfC4S zH>Ibt5-&SVKNqU|>FgPxfE-EMFc1Z1#=}1UD(lG~=F*_Q4Dd1TKg8@UD-<6nff1n@ z2=`4W=5Br8gkMxfPhG(g|4Yv_1TZD6SFtFzw^$Jw_gB8ojEJF`FCoMG0EWBB jvD);wufkebe4*ljunZxE9k z+wh(m$m#gWOu+g5kjMahdZ&^x2Rd)Fhdj^kWSYV6)6%;AO;@M$99r}K|KQI%bV_m{ zR-NCh@a@p>@Y6}n*7nXN|JcC5fT7 BfF2C2~O{@MhukT*qtyYH#Z08OtNA@GnH{14mqUV3NTQJ{kJD#hcYhF*co+$O) zzUIx| }@_5At)@D8{$R zG>?0$soh+!ivy>;PcTN0Yii&}w*I!2{+3wT{K0=K1QB(nTGe(%`pnNq$0FTMyRDCQ zZgu6sZ@y6IUF$0p(a8$Dfb#hE1wJQ->iEtbq0P+P@2B$y$MrvySI;dLrd*?|z$!DMhnsLk`G}i`P3qfARhbL0 znJ0__v~sFZiC{2;U1nDn!Av1~J#{eV =YzT-f!Tyq3MqnZdB($Q&NW?9>9VgIAK zN&nj!IDz*Cj$kNZn)CnVnp{Wz8v%-+7x1$Lj G{PJ0E- z`pSYD^~pV3svMFeURXkuLn=581}6%u_|RRZBKUE}BB!8O*eYfe{d*WP5_M5Qb_LC9 zW-SF)YDR8RIXEnhaFaMPNB_(5)H=1lrjz`OR_48Fs&AgMDWf`g8A23 zu^)xZvUp^XQm{_sb5`E~yB*G%btd5wZNvmc9{sGin@D!LTj&oQKI%v$7$RiGsxZaj zX4NRS?mtLK1I5wi8|1^=gf9m~qQa>^N`DfQZ?*?lhP$JtAy|X(U3A4UowbzJ*cTz= zacdBGh(xkDM9jF5zv5nU)~*#mnNmNtoqq2-zL>+SQFr8elA@~Xso`LE8`w?dkW4x5 z8Nw1eZ8dk@J)aN_$W2vuCBPr9QxqNp8`4Rtga=AJl|U{M7l@T&BOw*2aMKElVA%p? z!H|(V+j#j+ufSU$G8J9O$Uc>Sfn#GM(3enVe`n5R4m%Q8xE1S?oxOf0&(QPbaLcMe zR$B#bJK!A-b4|p#!Sn*`*=EX0QP7llM^zP$KPjXyXok<^pvn0qqBMz7z89^jYAYW{ zDktUIkUnUmFn?_RIee9SR-O2LMTe+N?s kb}T3`l+0sB0`O!Uot?oq8Rfi`SZzHV_fyynV{C^ePyResS4TPe+93- zAb><*CQd=J22`D 4Ic@a=&Jn6UM9k^(#y6%22GdAI8S1jaVH*=)-bxz8c% zxgeE2O#+>MT)o_9-#7kw4>JfSdU*Xryqjy)A50N6cE1Ynq4V3}J&Zg3(sKs>nI~>I z2?B#TiRu2A1-Js!dt4cB+ker`euvK6nKO2CT$(z_zM|dQA8XYSpAg;{US_`B1C`ny ztjcHYEKQm8Gb+>{;&D1I5&YSi(72uB|9sr?g>Fkw-0 pmc>^}UQc^u+$cb^n1o zKje;`P{w-e `8 6@6C zq=ylH==p7~`JO7P6QPFvwDaM!U0eFR=1|~&CcE&v;*Bu>i1@fk>wJC8ZJ5OB-gCny zB-~wgVcedwoBaH{{a<;c1YU8qta}lC(|>&_{h0PWcCqtSAAdg-PiwH P${c_8?^-0bz=`hCWHzpwi|b^>qy)m{2^y+81J+@8A)T|TW+#Ol5B9Uk(0 zaoJbP)`QXEkK=t&8FZ*Z?v%6ccm%^O|8&vaNG~LoLD<-@7WyLA6qJy`77gO_%@Kak zhZM~s!DJ-B{UI&cgX z6K;Mm`TMVb2r+VVggGX)^Cj#&L;Hn;blSjl@Ek%HHD+$+Q6 g&rsOnA9_5I#daYxv!CY-Q^(y26p~~X z|MuVZrmGHLc2ydgk+c!pYmgr62Xa$^m?<{*f~2B9Ep*BPFq!Xd2-H^6cQF<{MSjAR z%$CNm*??t^L7AMxn8sjW49P^JN~L@qhc7!vdY7n`huh$edgL%-(~;|iwn8m{QUWwd zj^Gx+H&K_HLKpDBEPY=RuOM7qurv{IqS&pEG$&=ZlrM>rN^}U<9E= tdi7$D>gQAIUM>m)U5 63ukMag{9%c@2ahFe}RcHv?)S{9`>cc z9?X|p`r-!4B0Mc4Xj+CaXR7BW;KZcfmbRT~@PP7?-m`#yarn`?R?fSyjC>YNBN3E9 z6o0R;e{AHyXQm=OS%UE0g57=_ny2_bswk-a?6ZCyMigCfwAB%52i$iyz`@e{=5{*Y zb~V7wq4y?i`?_-be7@8b&2D{Qr4J0P`t-%JSJ$c4p8hqJZgNS#bX&F-2Wr)SWx+iE zq{(~foOZyoe}Duf@q?9hJ(yOPb2eU!677Zlm^Obe%$|K?@%_v}zAk|beav7K%slC$ z^;i`aDC-P(w0*K%{F9PZ>qWF=8<-NdJmdn>=^HdB7?yez;L!8I;N*+<{Zv!@_~7E@ z1+fUYJ|w6 Z_L6U>_UO&=hgIKEINy$;_jnfb`a>k`4!okK4r9uY8uwC9 z+jm*r?l>=7c F4ppQ4p2hvxc5t==YvpT(vtFP5L!)QPZXo%& z;PJk?EPI^Zvi+?7iKrLOzd76M7&804PwDWYGa}C00^s((6}G)QuQhsDCW!Tan%-TW z)NAQuqn+nx_iuu~u9pHM#gMs14-b)vtkYlC#V)1Z2=g#s9;44Q?X+X3V$K%!4t(>> zvM @Y 9;#O5!CY9e>dAy1ff7-!ha z96S0mLK)5&VaOs{eLtggV-ca19oo$E&NEe^%&1mHNi|>&@;4DPO{!* !L| zLZ%X8aF-VLk0$2&b6uHm*)V&gEk^1AY6#L$DYhbFi0#)r(R5C@pl@5|;YnO0q?vJg zLKbNM3a8QBruM8Pb 8|Gu zDaB5@7U5iYThHKR4J|%(D9DprRhK&yl9uCI$|PU-pAgGoS@Ih2rdLbs+9!T>EvT0w zCl?-hP9P`oe}qv2h(N+8-d)>^4Gi}d!IF`VSd>$$@VkdNRlwT&ufmS4s&I?iK$?=5 z=ajZYR;H>p7dl2Z+@OaHFV^c}DQbClMQnrMDFpoOM XwU6~2+ zWg0ctGszF|=kfkuK-$sR!<^w>n-&JvgjwZT8xnGVXw1da_4#-I@x#PhUA*0u#p- z0Sv7>qzpc@0=6$ F+9g^&5SWeLC~fgZ=d8&)ejiINkIhH+O NZME{F2+-=W`^Rm46|@q|ubRJK z?nY~@^_!wKvKv!VI(^m~5e--$&-^QzZ>v^)KNTtuthkesxbDLvz3etdj}q!26pUt% zYzcv=?(bghC!C5#4|q$B*9rgLPQ13pL)G~1br>`+O507VEq)et-zzW(cx1*bZ43Z@ z3_Fg|Y{$MXSEOD?mT_bJzg`Biq@5q=@AF8WPj;5=2lVDs>DD%*z()qrBLyPFXe!dE zjx2>{Qp4RS&~h$KOxae-9SjSfLo>UTi|DzLSsFL%(xZEZuW44(txL<}&2{IREBKB| zl%)f_l$?n>0dEtEm5fOgY$LH;r;sJUQd;g;d^3qvfaUOXDf#GHD9~nP6*oy%u6B+r zp #u$x*%(fMcjFtB$JS7rVjoO%0!!m{gD# A^ma+Q9%EbB&V;9%t_No+d4(O|ftC4-iUflP0(Kdb=) zHaQa*0svcNPGW{MbDO@9WD|`kQyNnqA;~loJV(pSi$KR>d34qxl?)j9Gg_+u&(Ef$ zf92s6ZMF}*^>HQWKCJjeXukc^Sm9_agY8ehYX-GtZRne8D&|2SEHM>lzpHC1PI>6D z1pk^nmpYj42JsRJPB*?m_Kt^V!qkuKRS$nnN>)<7>p zL7!V|V%EndqM-Npj6fts4x|%b&xwsrX 7M9N(UMyIX#Y!%fw?%(Z>+bQ91^z1StnosaF4>H8;GAU>^?Ap}P$|e#? zmZGJI?V}b4q3afoKM>FPSh4AU-14%Ip!+Kh^DmnO4!@_7##@T#4&Ixt7GFl0wV_uy zl;%$pK9W47U6JgV1|M-!2_%2)1Bgtmt)m})zFJP&e*-}ZPyscbgc;oOLE%suyI+{F zIrebfN?@#AWn61Q-S(--%3s#M#{0amstuRx;BjkW>??WUd#K0(hNtB`<^nuOn>u{Y z^50!szuFQULd@>R!HW%v(YPwWGwdJNpZpcegSQMbQGXDn;dmd@b3S}CH(d>StJ4_( z;BEGd7!&P(K3^qq{?0t-B=k*E^q7>c_P)#V_T=oTv97l}jApefxZ{@W+LpRe^o^$_ z{Kf^lz+{!nIht1MN5n~IV(53UO6l`SK4bX+x!CCnpv*?_-lo}f9cEGRn55;7iv0cj zTkkuwQn$?yyO;j25m((;vY`5l`<^7N^{T0zn|aC=#|`%DMw$#S$3E%rPOojx_PpME z{nnq8_t|5|)w92z?}mJU+iJsK>^l>qk+&VU?J9aN aV6hfO)f&MORUlx~6DqS(Gs*PVyIG*{LiY=cM zONY(U9;;_`#Q2JImpQwK8ioc19RlwUDQ+^!$X!lk$3vR|DupOj3={Xt6%~z@u{Hpo znY*`=-RkT2Q777 qzEXtMC@_KOQ!C&T?yiu#d#?AHj z7S#P4wbB=4J3qx5DnXH+n`=6~>BDuIo|AKsAlWs1!fvHmZ%yrH_km?r`dDu^Xmrvc zC#})#55Hb~p9PhS7{+C$7=!{-VstBplXXp9k)XVjeAXD7qAv9>{TQqUOoD55Zl3vP zdXHx6?5Kg+;_Rsh4SWigs)7LlEF!7BNW8Z+M1Y0Upz~vV@aQZ@QW0RmbhPW(@-UKx z;|%>SsTVQ6A41U#52@)W=>qaPQH_P=$k<6eLjo&4eL!A$wZM5GoXe`B>MI5j9|=`T z(kxM`gw^}H;P2d3VQ7)~pe#-%#WQtngy174ku-wQM=8on*0}xyU-Pu$3%02(n8sBu zm7KU%M1k26Xp7tWB^f*}?w;Uc$y7t17S>l3_h@JFZM9AIdWo=rijHlsIU4!_yq&S~ z>^6wC#if0ta0Rr%)FiZ5m9k8_VpRUP0ix7#OUxbwb<{l(N9M1|4MRW3AT$7CG06-u zET}LAs9nqhKTZXxu5hJ8?{O~?H!ZW5H0#Rolbg%RAv frw~ZW{Vc5S1}y$QtB= zbc&y$@x*so y{YJ>BvOP!couh7cY48WQP|ePEdkg zJE@WSUwvN(v92kJo~ekQdcty9E`P$21SWcmbRe+JI0=J`dgl|>M25BP1d6gH-eIsF zpLf(7RywwP7S){}U!@L)DYy}lxrCdxsKL%&2U%?_Gp$r&-B#f#M6!DFuJq9ZKf8NF zx;+@WuX{BbcUly$N+0$5e{I!AjWc>9Uj9AQAq0K|>D-K7CWZN|l6yb!m-TkG+Rty< znI7)%T<)bUIX!z#8=pKN-;|mpPygdqkt`*u8{6%v1!q5aVwr-p<=XeWFc|J))q3U~ z$KH7V#%Z@Ufzv6=bxn@(9Gle!&t*06lYjASje&55cNlhZ-lVrZo5!LZ^5s_6eeFWF z?Wy^4r?LADWvTNMuC{BhBI^Ike!QEjR&5Mf1jxd`ZYh>=ST0cPY^3i9WN?oH`wcsf zvNr2U@=t%ofCbq521pYq%P@V(Nb)jJ!LTsKs2Sod_zee2HenO|9f&m089`HI6pGRp za`}x<(@qt}b6POWc^rrZc|vlFM%Fr@B9Dvj1rU7{MHJ-zrZ5nBnZG%p3NYO1N1WN} zfXG~@J@DCah~ILuB#ksrN7gc{Hz 5uOD#4+l_*inbK zVV8vhPX?-F%Jzx^5-_9V4yj011X=sftfke4eJgHb3}2ge( QUA?E*TRhbNEWRe@k6TUAx3lJ$=sot zN+b2yy7eoCn7#p|H7&UO`>5=OPfX zF<1ac?1d$K+ftI7OXhFU)g-j=Xeg j&0I^>j6y!lDyl~YDLcE1c3g`cRh?GpV!z>ezBWy-Clw2 `Rdg&zWiKp(bZAGL*Fpfep}J!Y;a^I?+zRNs1&c5MCAaZ1E_8+1$xw;}vriIHo|L z;aE_GBR4WuH&&$!w_LfTo!$1&42)MCrV#4x?tgP7s&1%s|0){%rkgwaFXcpe-+qE4 z-t8^@r}cA}of582hA;}ora1yy9ne5Ttb-G7giz{&uPI~;|HkxxO^*5eePXkhL(I^I zI^(gJZTH-tu{;e~Yc!%HYTx#$xF+jiStM{G()ipY*YR1sycvAVo`UKc*R|e%|FQ)y zKPRh5hrPZW1-JA|{qlMJdm~IicmBGLHwmtDH;;|R&7FH4-$@Lh^<}fpU4VzV$2{Pb z>$RNoTb}VjyJUkq$gK9SM=C3W2RUVJ7~Ta})V zGA%ZUO?6T9UcbGPS0>Ap6yh>~=qo6Lo^7bsA9#qi~`|Ok3br^Fm-`l%OY| z?g^*uC040n#fR^v`qAV6G9Xa6M}nn8ltby*Ry(@kF+XYsmr^0 SMN?t|rD`!}1fYn&eLYOL^Q=35Qk1J$_RFZL$5R?5^g4oCy+(WT z _9dn8`~TdYjf8@u$mEDYV6!@!L@Qrp`3(<48PnR!IEna zqelaDo^4Y_GiK8=D|g1KA=3^}3ebU)!6-*)iq6l0_q36&gY>{0VcQ>?r8VmBZ$QvY zD<#gHuwExD^vJ=(CbD5(m^!}qoRFI~q|HLX4YZIeos+Zh7o5x$SLs$*3P(f)@N?iM zlith&c(- >a7W~Lnuk5gnTI%0NYN>NF)ln)+|C~L^O)>shstUt&<*D1DP>OJQ|M9t# z?l1=Bv9ZLo!3ZqECy9~5gsCp06yk);UUly|%GVp)wxrE%UE|;c17O0E>6^exjBbAY z%1d>SVz=XhpJf|QuAd>tP=-pL#kRX56`;*=u}qFV!qUrbHqqYwrL}IyNaAjtE{H_p zj*doNgk#%8G3|ImxA`eU-K0uYQHaVQ{wc*q?w^jLczlI|6eZXGa$<$_p0;FYVspYG z>v@R$g*=4*Lmr^qk27tKTz4D|-;bg*LvC7R@02Z{OSA2}|C&uK+B_lXd(%fN^rkB6 z4NdlJzP31CD0at9``&%&*mu3YGCuQr7 Kt7Zw$rb+z|eDO z7EJTU>x54?Ec5P1Id%MWGglMtbuap*oW_9Z&U;FOM>aa$sfRkkx3q!MpsvrEfAhaC zeZyt_-uVRFCRg^gB&Lj~f5%O~1-aQj+#;x5dJDWB+|Ik|_k{^GCqREb@pU~_Xe2UL zwjCqyarm5^3QneI==7U!Fcl%|Pm3$=mg%(GWJW1YEjxO>08J^ea)H^G#l9+>es@rM z&yt|)h;C0D)}ryz%fG2nNCCK=&+x5R9b1B7if{kMsT!Bv_m#HS5jE_0q70@5G=bif ztvcY@?Wq-0{fY$qO#ch8B7P~}Nl}>0?Cs%snyuEkA&GJq+W j^4T8U3>K0;!78^d`jjWCsNM*I-)M*%{{V86IMX2^qutgeh987x7 VIVGv({J$+tguXsnO&S+XEtthuO@j#Mr(m2k}yjFvixjDI6a%lp8ISL() zgv?{pY~=={K7EHSNhRrQt2 OvPu?uXxcwppzKEuQ8hgdu z0Fs{lx4n8Rv%!JJWZV)qY|(NI^}xjM6<-eJY=Dlaq^GK%qX}+wEC4PU&LpGH89xNc zWK1PBb~W%GwjeQmk^~~zKcU6In@-efaNRo2wpE0fS*Aeuw>35 C0$qmsRlGP{LCGM=gX(a4@U3R$&l8|;V3ET}nTKFZFHWyjmb0^N98Mz@hUhAz zKNTZ|I-x_zJpz$j!6JF|Rh}g%$|4O#L?%@7&_hb_cJVRe&_xZ+TK?+mL!N?J2NaQw z1jehu`~v943>B0N(!|yDoCwvBa)?qZ(u?w`Q&%Ybxn3#Qy++p_kVp|h2@cMOu>iv% zF@bPId42=MlLPpo4%^aD5qH6w!#Z3w&C3axar8vhv`%O+4ZJPj+$s`&+mH4 lN#3C1W!9~5rGVd z(*BnP$fKUp3Pu@4NHfVONHK4^!7oBo9@vCX9u*jZBzb+ar#6uZDx0PBQH__h6!)@7 z*K56f|8SA;vcMLTlDCkazW*=6;3TT}f;AeaHr+%J_VSzriVy|*b$IOJY!aQ^7EpMk zPltK>+`O9eR)_-ipDMp`vvloBu6{orP|+Kk%2~_v=p_;xt_Ix|)U3bM^ix(Mmy8R# z5YTekZUfeq`b&A;?R%%ybG>mTT{#`rz~RkmyQ8N&!8bn-ksX& EDGE{>`twO-gLe* zdw+jU|Mo+AeE)jl4%F{vyD{OqefFr|-@f(NzxCr88OZ%Vhs^lj%>ivYsCF&aqZg9r zIyvp8$7kz<#Aa6LGdJ0k`$y6bIxW6I>S2Q3xe9eQWE=567;TXT<4>E5$36j7psSXo z8F-A%CHG%t`^7>uIngl#66zG>7%EPjsCYnF`YX~*nK_8y7G|8>UnY8hHTDi0C7Y<< z9?tMLEs>LKtV|L^&c&!wkZcs*L@Fqcjnln0GxP!q#DJ(}_+Z5d2Rsx8loO$He>Cr< zy}yJ@PRpbQUf(rfb;!%dh5r4}tO_6*qcL_>H<~bNcpycZP>WVzFtWZzBiv{Y(}Lfl zUHa3i!n#)B@xe^F9k_c<@K>|T5hG6Ufl2?P&t*d4GIA2Xq?nzp&w(;~LWz+pcc)$) z=>D$A!s+B+=Y1R%-NLHpv^dQ&$1!oSH9Rl?qYZUv_Ao!ima_uR_cGGYSMP;|%zuZ% z$hYIp0lenB0G?*Oy$h}nFy_ABX1^5vs5cEr7VBqbD|HtsC=RyFBl#dZ6Fy>u?tAUx zKCuaCC2wJ%@*=1#45I(LV47BlS5IhKC#su#*THXQet0y2k*q6O_oJ-gDmkQxicgKc zoWPwZ#^`jHTd#x5cx6thSXJ&a&-k*7Q2b}|(4W?uGlt)0x; SGM9Zzif$Wi%am4bWKcP%n 6T V8f1&NZ`~Rk*b~!Uk?1Z4ef2fm5<2NwaVkep0iMA;3ox z1{FFeuC65((V^3A!3F2?9V*9&Hn?sE-J~$T1a4?G_8N71IsU8ZA`>$SHg4bpO4Dk9 zIxS|?O)8n)=z?g^yqy3wSRYI 75GxBl#$`FilsN5%O6{MM`vJzc5 zMs*TBcR1k+&e|B8(cbd`9^2_9`*7}dCWw-rfq1s1&)iuj>Q+0j8XWD&KpLWqrgMj9 zs4WsCT_7DP3E Y4WDz_%N>W-H zik&xtgExtdGl_#kShzt*I*#B$+m9Wy*zw61U1Y!e$csfv%g63ha}uf7DygQXYAUX! z?(79Aj+0e66k5d}sV7}`Hgs5N8qthNlK;=P-oi0^Fse)w=#DCzMrY>joqQdk^c9<| zQP1L=W@?xC9WrMLp=7X0C7E9=6Jt!!`nFNCe&g2q6-o5IePtP36Yc*pxRSUZmYexL z%S+hYvB=4nwyy3kU$ *GHD7*byRJaCSMLR?L zy#*Eq=D#klA$8Mim-czcoR_c9&v9Zw!B0Zdy8QOgtsk_$@4fPhA z!}dky kr0>OkI@t9IO@BX-XmEB+Pm0xr6)5fL ztb(nD(h#5eQ-!)oB4VvaiFQJUGQTS#KGlLDV5ka)mZdooqjaJqpVX5~j72dJ`b7u= zQ@%$J(?(6u@wkml6g57vW(15H-O5!MkrEsW%Lbw)ywVr;qQy`NZ`sRKZ$hAkLq(&H z5GVHH?V6*i^a;2J!okq@h_fo-2DIku$YDr!vv44#z*v_EV*@p2Q3wdj)Bz((lgo1e zs_MOnV?vd$vnG?PSWHShaAjZBhyJhIbRsh3>K<*p=&KM2rb0<(8(3CL&tt{h?oO?M z9n4Ip*ODDkL4M|E1nsmz7*$Ha^~W!BWd*55XO R;_t+w28*-vNv`=t zWPC7o5FHoOU_NaNY=kf>;!la^Kokgw*SwT35S}0!ol)GD44L_pXeuKJf}nmG){hjT zH!f6#i&G{nDqsT(9^@vNuZlRSDd{OsW=YGJEw?JqDdX-R>Y4dN0dwRG@7YO1fM;+}qtORQ12rRPL1*b@1pd>C) z7P@C#HN6O)m`Jfy37VB|VY31@YznT;&_J7