From 8daf9772619d6c5b4a1e51d4d63d2c897d8ebeee Mon Sep 17 00:00:00 2001 From: xxl <505279206@qq.com> Date: Fri, 10 Jan 2025 15:07:36 +0800 Subject: [PATCH] first commit --- README.md | 143 +- ViT-B-32.pt | 3 + data/figures/framework.jpeg | Bin 0 -> 405985 bytes data/figures/inputids.png | Bin 0 -> 335114 bytes data/figures/samples.png | 3 + data/figures/title.png | 3 + data/figures/training.jpeg | Bin 0 -> 352683 bytes data/omni2-demo.mp4 | 3 + lit_model.pth | 3 + model_config.yaml | 43 + small.pt | 3 + tokenizer.json | 303111 +++++++++++++++++++++++++++++++++ tokenizer_config.json | 40 + 13 files changed, 303353 insertions(+), 2 deletions(-) create mode 100644 ViT-B-32.pt create mode 100644 data/figures/framework.jpeg create mode 100644 data/figures/inputids.png create mode 100644 data/figures/samples.png create mode 100644 data/figures/title.png create mode 100644 data/figures/training.jpeg create mode 100644 data/omni2-demo.mp4 create mode 100644 lit_model.pth create mode 100644 model_config.yaml create mode 100644 small.pt create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json diff --git a/README.md b/README.md index 954b9ef..c73f805 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,142 @@ -# mini-omni2 +--- +license: mit +pipeline_tag: any-to-any +library_name: mini-omni2 +--- -mini-omni2 \ No newline at end of file +# Mini-Omni2 + + + + +
+🤗 Hugging Face | 📖 Github +| 📑 Technical report +
+ +Mini-Omni2 is an **omni-interactive** model. It can **understand image, audio and text inputs and has end-to-end voice conversations with users**. Featuring **real-time voice output**, **omni-capable multimodal understanding** and flexible interaction **ability with interruption mechanism while speaking**. + ++ +
+ + +## Updates + +- **2024.10:** Release the model, technical report, inference and chat demo code. + +## Features +✅ **Multimodal interaction**: with the ability to understand images, speech and text, just like GPT-4o. + +✅ **Real-time speech-to-speech** conversational capabilities. No extra ASR or TTS models required, just like [Mini-Omni](https://github.com/gpt-omni/mini-omni). + + + + + + +## Demo + +NOTE: need to unmute first. + +https://github.com/user-attachments/assets/ad97ca7f-f8b4-40c3-a7e8-fa54b4edf155 + + +## ToDo +- [ ] update interruption mechanism + + +## Install + +Create a new conda environment and install the required packages: + +```sh +conda create -n omni python=3.10 +conda activate omni + +git clone https://github.com/gpt-omni/mini-omni2.git +cd mini-omni2 +pip install -r requirements.txt +``` + +## Quick start + +**Interactive demo** + +- start server + +NOTE: you need to start the server before running the streamlit or gradio demo with API_URL set to the server address. + +```sh +sudo apt-get install ffmpeg +conda activate omni +cd mini-omni2 +python3 server.py --ip '0.0.0.0' --port 60808 +``` + + +- run streamlit demo + +NOTE: you need to run streamlit **locally** with PyAudio installed. + +```sh +pip install PyAudio==0.2.14 +API_URL=http://0.0.0.0:60808/chat streamlit run webui/omni_streamlit.py +``` + + +**Local test** + +```sh +conda activate omni +cd mini-omni2 +# test run the preset audio samples and questions +python inference_vision.py +``` + +## Mini-Omni2 Overview + +**1. Multimodal Modeling**: +We use multiple sequences as the input and output of the model. In the input part, we will concatenate image, audio and text features to perform a series of comprehensive tasks, as shown in the following figures. In the output part, we use text-guided delayed parallel output to generate real-time speech responses. ++ +
+ +**2. Multi-stage Training**: +We propose an efficient alignment training method and conduct encoder adaptation, modal alignment, and multimodal fine-tuning respectively in the three-stage training. ++ +
+ + + +## FAQ + +**1. Does the model support other languages?** + +No, the model is only trained on English. However, as we use whisper as the audio encoder, the model can understand other languages which is supported by whisper (like chinese), but the output is only in English. + +**2. Error: can not run streamlit in local browser, with remote streamlit server** + +You need start streamlit **locally** with PyAudio installed. + + +## Acknowledgements + +- [Qwen2](https://github.com/QwenLM/Qwen2/) as the LLM backbone. +- [litGPT](https://github.com/Lightning-AI/litgpt/) for training and inference. +- [whisper](https://github.com/openai/whisper/) for audio encoding. +- [clip](https://github.com/openai/CLIP) for image encoding. +- [snac](https://github.com/hubertsiuzdak/snac/) for audio decoding. +- [CosyVoice](https://github.com/FunAudioLLM/CosyVoice) for generating synthetic speech. +- [OpenOrca](https://huggingface.co/datasets/Open-Orca/OpenOrca) and [MOSS](https://github.com/OpenMOSS/MOSS/tree/main) for alignment. + +1 zdk-TTHh@0qq|*OMqIg>nr1Kc^fVl zkDqR6g^3mICIMzSAKHMeoK!bW8xT=;X)KKut@P{_Ib~_baa7+F+_5(#_Mm2`PVOY$ zmg0c33;qjwuy_1YzR*yLUT6iiegl!f%uD=H4j*LFtJE^ b7>PwQ$Fml&xc1ZPD6$Q-ODzMxp`kyHJKK-alYJF zgA=5-onFAGLZ+np*(jR@rp9Nxnt{KiKcVX*A3y6IJ3`>HH(<}M+BA)oVuLAnzl7uS z=A;(Dr}8D2^M~`E_>+Dq12cbQ7yhyA68Ip~qX<{YXQbxMu?DX^brGr#Y=|S$#>NRy z&w0_8u==g?JV&M!OhJmhDb?QQ1PWaR;EEPCr$gUKJ9gtH*_YM^Ni8-|K6_B7PMF_X z;2lHunYim?P|=m6%0uya`6%p-loIepf4c5Y1iz3ZSdBoZ^2VSnStI3q)j@SGSrRv! zSqGC9Km+4DoGj*o1zutNIid7NB2_gM*`GFPhjA~Tl-o$uA#pcosh-TP@jH8W&@9#Q zSn{Uh{qK`nR8lgaks4*S!J?3CGi|0Oe4VH^>ivQKLp iGvP|(XgRTS?m{K z39QmDqC4#NvSkU$;KD;mO4~S$fk~p{eo&s+cAYZRyt#KmP-|}uIpR0@-HmiExmI)L zpqGWT&;9q?6N*P`e#;Bm^MgXfI=budXx$GM&XUWkl&vI($QG$KnR&qQWZDw>6QPhY z)0}-5zLWAmV7;X-qn;3lngKr!NF^Fy@$)YI&=+t(E($(b5rdI6n*oV7k3K06;c!JF z{l^MthwtW7pNR+PH751FB8gnE@P%=!N?fcbpl^`{YtszxYey?h>P}fYWps;uR^~_L z2hX-tb;=P(&{1dvp~OUOj-LRn=L}C0Wu#y0pmUwO?h;x)q6!jIY0&Ai9F5QYd23Gr zRzuGxkv@#7$;j=OH^`GvG2sbFupUkJi`{vpelhxl1f) R^`R6ydp zmL61Mi%aa#fdvtto}E+y=E_RcL1)RTvPn~o(gXqmDBQuu5{IGioV5cAF2Pr0&V#r7 zEn!_6jDjnKVsTRp_}i4?_{TRny9+jba~;197yX~nt{Ty)j3lJtlTA9K6xbe~L?{C) zXPHpjC5jybPjV`cG<0&u-yCiV y90Sw19dH}(_-Yl9BjmFU zeik30RD$&&(-E%HnxDrHk}{35M~88 yW&xSi~WADCy3T?KNOptiX>o|S)f zwoDYbFJv>e_Oz2vnmt~(R~hw+Fe%U_-)$)RdFpk 3r3ekKQvqi kLj&njfDXW_^1QNmVM)lJ~ZEM5-`tCN^%5Ry#dQySxvpBPrxo6_aCV*;PNYp}D?T zaK0fvj#B@^usi-M+(h547?E|3go-0aI@139Z5){QUN3XnPQY9t+jnWYCPcBs65)#f zde%vfs2PNvkYEHjT_Z6f;b(nMl*Uo0J^n^clfUyA&0m4uf4xD^5NA7vQkE^dm%c}o zQ_X0T(XHM~UE4^i$S*Gn7xO^0GK-`aQfywnU7{! x{lX1#jYG1(SrE``Lo#52P?GvWeejyAiy_b;a&Nu>}p2FRT{i=NetL? z^|)fi*1zD&xP^t%rJ=J#=uRbPD^(coU)bNkoce7t~nP!Xh(h)?oR~2`jj9$IcgJm^HVzGd+A0C zQy&GD nwV|Md#d)$wC2tnRdPtcht_3dj`3WWQZe GG=wzSCmGPGM5$#5&HGkCWuI-QG?B$xZS`Nz&iG3Vj2~xj? z{PvNd$bqV;WxiVFU&RW_`>!1^UGmzm*FnAAXeFP%eG5i&s -j_uc)2=fmfPFNGqn&9gT%fd5_d@G9^z{|ZR>>yte5ZSV81cYhzn(QV(~yaF-x z|3iv<-QtsY{y%PO+nU2Io)@8_7H8VmPJZq{W27I|a9#UQbhav0q6WeK&@rDF1HNLH z)xiv7*HE&k3_FCVBaR-{s^=i86ODmNXEA^Lo(i{XXDY5-L=#J?v89uQC6A|&l)8 M}3-d|UxXMzbkjn{xd-yB=#iC*7mo!&yjC zs4giD(X<_ti4EVpM3d>6)XAZ`**Xw+CN_pgV6x7O{k-aCKl{ Z)be08 zA{Z%3%YU^WC`+lMRa409P*DSMBpdng`yr!kwaZ&>eajpy1Ac2uCl4%rhX%h=tVCN1 zj;QB`2?*r9^739`>=T?bwoi2~1`BR1xSQSKgaa-erWQ%VBeF*HX=4SSq)a5tr94Mx z|J}6o?qgCX`DROXRB7DU{Wdi;a=}!Y^$SW(vMTxzXF(`>1=h*JR+AxZ7U4Bo#}8 zVdFk{uG30tW3nIt3lY_Y@c(W(`Tj^>Yr_AmLp@i9Weq_hK;6pRbH2@T5y~W`Jc!oE zaI)~5Zn0*~5~m^=cNda44AK~{kZG3qoj4h2JET<+%h6w3M_U-=3v!YFh1S`@nW1H8 z7sw7SA06qU;iLX-TYtVxURb)eDK(t0nO2gkQb}rk%h%+WhYAD;xQ_BD?5@nh<1Y5O z8$|JBsCYp-RJQexU z9#K>vUl5K4L=0ouMWSQhKMp=p&Cbpkz}HK;ZmSsc2tuX9Pw3H`t9Gk3dkO*OYjC+~ z4+0sK#@0K_-dcb?iKx#j3<#Sa(ZAYMX3E=1hH}?@b e2aFT^>*}_Zlekc{q@T+cDB1Lurb!9FD$1Z?JZ_(H)(5 zHJOZr0rIvAb@zJZ5(C+T-ZHQC)yaU;Uim!NgNc8~2qA O82cO9@BQ9G;%5|^n{-e{M!fh?(3v`XMPJ@JahX3=YvkNyz9?HjaUH* yNSjb z1D^>@b|wQ?6u=~4_AgEf$_z%Y0f-b|M88N>cdDyatu3|2<3(>q0$XcFXMFx9xEQuh z#PDkK?=|am#g$kyEfDct-sO|K2Q~e}-z*iLV;f4L_NM4yWwj+TVtPdu1nhg^G^sU0 z_{E!npnN7PdkxHt1~4mX3qU8XOjz${SFzZ*K#bz ol0oM@ck7TmqJYNgq=91auDR9*vr+|G z!Pw41Kt1?cdLBb33xe-@J7VK{-P~pZJ0+9$_#fI)@I*kX3C3l0o&|hLg=Lz`3*^a$ zJOyG&KMvCUX vF;2?BG&{102Os$+JC@7HV1EBL45IHT02tjeiVT9dh_ZY(!c% z(-lvzCkXvxN~vzgfQq@T(4q@>H*{(_T{#iO_Wmi{?=sTrPQ~S>GzRSiCXEYv425wB zeNUn>;M=k%hrqjtE492M0YY7gUGH )OVp+#e4`<1Bs?Lx0}B3e7)Xp@lNE3-m$;F)_d{-UJqaJ zkDZ=hgMxtbAB*3*5=lE(44M8>ZJWu-_D ssY` zOzmIX?fKV0b%Std!~cjR|7SF3gfen $q*?D$^n%W#8y8L5TTN)=k&? z2R-z=yWPF6?c(Jd_4N xkFUYH=`YJ`pR >ebacObc$K@Ayv`<@6T@EAvD13 xX~nzr*{_taf_RukwG@zEHs$nv$#iu`eR(hyfxcu8Ag(r$ zgh|eFV_PX1+i07YDFA3fYbREE&>(qo!4n|kF*rDsfFmM04O6~Nsm}9aYVl=TV-YKu z7szjD*KTNQWT9lp+-GRTc@WC4jsH<$veHU}U&5X8DaQs!J?5r}Bgfi7P}Z!0UgHgC znqU`KCJ4h`YluuSF`HkNt~CbL?N*2-zhx(X7cqnxE*qsT!)LfNV&*`X>W0_QEvV7g zv`lf9sL3Ep2rem~JlO@hjZ*O4equ%7+BgaABVeebdce1tjZnGpDolO<7HJcHZRa~s zQW5pSboTbUEbBu3vx$}U2A&Wi7&}j0a{>NnBZClUZyl1LQm06f`R&4wGC{GSQUxOd zh9c_jp5!X4M2P+naAIhRjSV2My&lYD!9uhE2#=~G6@IKT1AnDl?q8R5pjslzRXGe) zuLL$X&g36(R+VDJPx5({emA(>f_0DRsHKn#VMS%(8@^q5OQ@eEj42bT{^!ZtGbPLs zEy|_0c=WogKag$mDp288hzp#_-@@BQk#?hIPyL2!SK*kr9Usk?ps^EE2T26t32@6E z(;?3uVgDL$pfDwgeX> 3i7MGzMj}v Lp pj8bzoe%&ZFzy`N4dld1+c=*8mN7m{Aaf9$6tC{<;i9;5Z*4gUlJ5~gTEd5n z4zVx12h(e`#yA>oH`H36yHIujw98gJ?)h !N0e}?odfT`kS@OB%2v4JjQ1bN<5}E{`YX@aI DL1rPfwVc`OzFNCN)VPcexg1GDeN4@97i4_;T|JA2m>pDW zq1f7##N|qtrMs*LQ!Lq^O7C1G#E@1cmmf&g`3|0p8@H*72ibXfF}!}S@l^6kUow?C zXhV)3kBVF-YNZG=lLf+7e+7pK#n5z#^uUQE+`IW>4Z_Bt3~CjGz$R9BU?#|(X#Aav zA1IECM-?}&^NZiT^B3yEFV7RFiLJH$oJ*U&iJ&zRUymO{ w~d$S%-r@=h( zP6ch|4>XA-7xlWCu9il14<*oB0Z|N+YVq8tIUETDadZt-vWa`!YNI?29#ss5d=yQk zx0OK&mA7V^r($#H>Wo-F`0IB ?Pr50EtDTDm+dAjIP>T6ky#BZX|fJBvi zL%4G3r7FeNsyPvP(hzL6`=;C^+DSKp2ty}N#)fTfnCjIm`5zK+Bj=mY+>O62G;jzS z+#iHTzkD9h6#?|E@{1nG ;h-lXL(M89NFf6f6bXO6JFt{mo^cC3e^ zEIn &9;=58SpEB46DUk}1*B@SLHgcUjrND8U^RGDj+ ?&&bXW(Oe()7C$HU~yR-IsOt|8w??;z-EJl@0 znPc Q6HfS0oNR*sGs{g1%Tgx@oygdgh8-b02>YXyLK(jOrL&%qCGO z%GeYe)Of`uH7;bfWc;Aq(n3!1Aj28d%LDZW)vyG!5LRfqWR{#iCMMrF$P{Z4ERK00 z*_rh-Rwd+llM}>K^sgB>w~Ce4c&j?Mx}Bcx4#lyY(*#m6x(IZi8L4-kf!VzPai?bQ z >YxF)ir`x%2y|zX z^3lk6ilBPJzyv#7I!;q-ohy6Zelu=5Z-|QirYta$8?2U_EmrR7=43Rle&E)`PpK!8 znMa|T;?6#Zsjg=tKU8ET%Zr*#U%&QJqTm+c)2yWB `TidOAZ^!xu2 z)57$S9%}rY@Sth=p|eG!b@4jAIWfgVSTzRkGh|~{%9>f=_c*w$s?)Ty+@@epU!zXx zy(NX$>?oydN18vo9jY>v7)hF3!DCyM+^k z5@gMYNmWeB6B#)qMb zUQ>LA-Z+)wIYN(PFqxFhM4G*N>|v;tt-r;PmHKQ^d8zsmbIW~r*#5YOw)M@DNm=VV zWrBK%uUli93`-LG vc$|S5C`3sA0=L*Nlci8;7Aa-TUu+*e3kfq@{m006P5Pki<^%+_~28G?YyT6 zG(9VtdPOE`4+7V8++*p44q35`HvaYkqqXHeoOvw>rANzz8(9)lI$CkkMOOC1DyY@c z0uaK!bqgN*q8C fI_l8@sb~%PmZV_j+S>3|ct4f7dcq>-m0w#6 z%bDE-E%tYh`!hoYOWluV*|
&lmLa?D&o6)P8~_g jn>rlRcK zQVKkW5H}gmDU_uy$C>&Tf^kQofiQyM>#qcFG*-cmsMelGi*svArJZ>nLs;z%+huxK zW?Y+Ecu0Ce7O9U@g7{sz69`5-onQUJLhzl0rI8kT-5MoW0WEo3eKu8W`^WUS#TMZp zt S#a8M#==SvvZX&H;M_k4obWx*mD_JSZDYE@g;#v aUHIR~CVtzkCi3u)Q6t?7;dY1Pj~@}&iK`V^+z?>oHhgLVsy^zEZy z4hEdS0STL}VH67FQUVyV=YqA}3R`YeX0XdzLchX_aYdDzJ+5oQh`Og?bt{YA 92`OVrzGUd$ zzj~@|TOGdD7GQe0Xd8YYtQN3wJ&&gypdlI+o`>?B$+0 saEVgm%!t#&jjbLP@4=+qx$Rcv(!vq z1i8nF6DUWcp6B_G1C7Mf(!-PR)8#Z@!3|*|$KmfurlHZ&3{<|V>I#YUBw1CgTS3fA zgdE5H_eE}$zRwWokw9^OtP_i6jA;IYs_NjaGqDGFkQ3wlYYEgMWqglwlxWY?$tt&V zC;r2?_AX-SdER2*k5-ttQAY1=yjvSJGWKC1 #V26+Gb@f)SA{9`*c}CA{{XO;Zj%dA~eyY98 zAi(#h6qVK(2N`6b+2Fmk-uJf(`PUOMji#o7>gk62Q8+d(#QCPwNo7{ZKQqxSfn(}& z^L`u!Sx*5Cp8?@zAF3p&UJ`RmG&ESfLka-Fh5La~C7*@U0cW=qQL}%SwAn&UtrHl= zH@AxxxqLje2r-$$sA1XzZ%{Lp6|5(a #RT(x% zTsg-3N+fbw>E@2vy>}vwoeteyh_jde06t`OZMZMkorO-l)!yr)`it+M@aunL?=8dQ zY?5q2$+j$6V2hcVnVFfHnVA_Zi mDcDH9{@ASak{Zr5L zR=$-~k&%%Z5$9lh^Krh4u*eC0h_;SIoI5PfF~FR%G|{%l7fbmR$XyGL-0EB``EAkI z%$I0*ee-jTb7gD&(ojFK8-?rS+7?@*=nRDL`i438^Jzv%)7To53S|^h $8@ z!~lXW7k*@+o#L=;+>WYe6FF!W*J`gWS1CXoraJ5EwG<_hKiXXFosLb&8nocYW1W%` zWr*Yt_441B%2MGVlR${m#CHv+qC@ausrl%rHcnGnC4z5YpWtll`k$qVN*Ar7pb>5C zkQ=OXTeC}Rts=}VKfarp=^6Z>EfH&a%Czz7<+Mf)g#NH0^}3=#QdRGGsRrI$nauTj zpBS;1aCvTFHKtU=Uq#w>J_avP%Z+_xPmMF&`nJs`;|}8 >#0ruU~bx^(0kBLvwwfT-jXLA<)pwf6yilrtRa19wu#!?1JTF; zK3MnbR@Un9UM(btGySk4V=prx2`m =1hn*G~f&p9V~|?Z$5`k#J+86^9_7 z0;MH3tRIpT%qK_|_R2tMKR8v$0 ;kB)oq#9FmxQ~rk;lx@Lb^@uSFJ{p z6PbwDdHPp*ZKW-O#>WN&y7tALm*H%wO4e|=*s7JMAD-qzrjxe&4QQB-)%r0D7Ls_b zux%WyWsKC5b$7PSS<(AOA>Y(+FFmxHS}0ns=Ooi>*+|v6?Jz@${Hoiu2|fgZL2Dt@ zv}_qy)@?7eN+lg5AHAHEA0x7)ZRp0Y @7*v6_ZO}S&NNSN>V)(iPI zNtRd6#flE440}(&Aa?dTs4;t1E6C;5Rjhp;8_ yB7H^glA^@xGk zu>_IwwloTZAm+re7JR4t5W1e|Gd>(RFJjjmTv&!p6BM%na1mo^sZKn-c}_Yt;3)LCgi)&S(kZ>guZwc zN^}Y54yBgH`o*LG!nl&AJNeHSpjuWs&0SA!`00}Tv(ZwuUPVO$p=uro64!hT5055- z;a;Kbq?XDNV?;UC;0)1>`RY;$*k+sBym7hJb`&3>(sa}Oq9&=duadL6C?Jh-M`i{x z;9By7xI2P3@ ?*e @Y%VRuS>8ezkE{kV_*_?ij|+r9>ky z({r!N>D45)XJm8D0qOI|W)I-iuYb@;`slnnHPzY-1MS$VcP=oP$6GyN;_43z7>-=a zn2WtT-Qp3m4J^ 6#rR|lFqya6FHgKhfe)E#j@LcR=`P_335yy z0ul-@RH|_tgB6MrMjz|P*GiDEk89SgYh7RU{3S<0qkBi8B|Cvkik%oAiQU{flfz{i zjWF|l bOZ6Vq-zLcff+5r zCVz3Z|AKv9?$>qnbb%i7^!9p!R$S!$`*V&9Pvx`D%JTZGM)ZroGidAUz~WC3d2h#! zJTgsi&WgVv7l*w%e+8z=OmT1nxhR3eusruGCs+U `wOJUgO-o%Rw8XTA`@$|xw`yq&bt}enk)40@W??>CAfv|vLPC63517}XtUJn zwP2)lV|2Zk;o$EE3C5Eq46f?A<=~74T_4ZiiJ{LB3YR0p>xH4Kuf?@ARyC>>&Z_vc z0ZD9jPRTNmiA3e_-kTYgsp`rTA8VyvcxQU9dW{8qZ7_WBWkl#1bvNtpFUF6n{{lsC z&5#mbE)`q6GmT-V(XCizb%&1l;(IIQyxyOl0(Zn}qr`rSYU?~5@=#NIIb-FTtO=?J z*Hn;i^@dT5Uf85z)$7E>K3!F~W?Ap(G}oZPvD8M+)O?!J|JfKuKYn}hLox$uOgj^O zK47SK4!nN%>fnt_*G@77vs^oZjx;t${0z(=HSo}qVPY@U0FICm1%J}J>`k@><+xli zlXVQ$qzUetqp3o)2wjwoJnKMp1#8er2wP-XBpZ6Qb63}@Ci~;;9zJVq_gWSlIRyFe zajG5?jat&)Kohn6POgNk_HY9K_&^CI!1A;oUo@YvFc!Hkq7HS?ic;bmlSN!EQRlW~ za|vV>>%G4dJ0jTd7l1ZaT-~xaPHH?eL%yd}{#@Xi;v6yk7}9K|M1^#pld4s3{TTOF znFSq=e4_P=!;+OY_VgvyM;pfm4(2&K;nX_i!#hvY`BIU=GLOYfDkSFB9b zSKCL7a;!JZb8NEb&krnVG^X@Y WLgD++e(^qAehs&=atI~(A9cPKVF6Q^!tzO$N zz%NE$8uIBU4uJtPf9>ehPmu1bx5S3~1)$4J%G&og-qkpNpKdIlr}bM5wnp184{AVr z19%*EUKyh~6j!mF_&=|N{yx;dj68FNcCe*=U;n^-4iUaFpI3w_a6*3qW@t4TCo3!~ zD)O^f1}p{X&M+LF^4!V|6y|4B y^BTlTiW}9jxB;*oatK4UiE7UGnC&Gj{2mr3y8vy{mUZ+PuJ3QwLWNwBY= T19@PrjtL#R$POHcsqM1d*@~Z zq)@5)IDj3<*&k6B&}c4fo)gEisNNH)StQpluY;+jVI%H|V5%3MMb!5=%gj2|SD)L~ zf3#;VAoFbyfSiWXRQ{2ecN0ysbVPF&ECyLvhgC=?y&A^z6SOoPEnXF3SxnU Wvm6zM;_lrS$9IUi0Pz9~Ey<}!|92*n9#~Wq zDH_dAS)>9b3m2Vr!Q^d2aaC%acyJW3Ex7&nT7+gK6r6n#a9xAp9Ubw!tiof wHv!t@~bI7hOm eOxCVCWyh_WCSng%BRIP|_qqDXuW;az~GxLin^0KY#0*mTO8JzNN0 zh#(YzaI494&8AM4Ab?UUfgzh!&~j6fz%ax}J}6JD6F0(OI<4;^4@D6VAUi7SOU@{H zkJMx9pD-ms+7m)q6JACB#_C;`vG9-+* R9%n?j7w`iBb82 zf*fkE%#qW|*C@86!{AtI-=s-!r`t*CYRd$ M_#oTGOVJx&2DxZ81J!q-2mWNTH&4{HC))cLnEY2wjnqIrOTrJu5MSBr! z4{t|PGx%|<@n++lar*$V!OCx{?pu@E^RTDt!74XBx1V2SF>s1Sj=VNAxK=Ez 9KqnbK41 z{ M*Ep$qKxWh+3ZSbPH%t43PQshNMKc zj6XiUM-(TUlQB~vOeP($2A7br3@(xmm?5kpagjZ!JL8Rhf6yzBY*9j{mtW9zIl8=s zfy}{ck9km nV^as zq?2BGq2iiC j&Kluy^(kQMAgj8c# zBXp%O4k;|~l2gE%H*gN7%x1K%%vwSN$oXV`T;HPCv_VlHph2 9?5yNMOT*uq=8H*{?S@MCYH=wkFeyd5jEcL}^yCZjSc$&%R8n1&iEq`=D-bG- zh5};-1s#$z95@4U4bon-f`jkz@i}YO>MY9B&2JGX uG~Wn_>WfKf-7|M;`ua5&X-3{(A)NKQp5CPX?1oL;n?VaM~6Jp%<}WR$02!963Je zi>KbhnjZLvXgn_o>-u#)QaEKreE|dtI; h`|lq!+WsSCdGCx~=rol-I6+V`X---_biyJIvD z(-^uE43BAqSdzf_z67xx;hmM-I@5TNI Gs@o*oVX zEoC0Ot69!#k@E)Hxe*o<>{0?C`U{S9w*!suxIC7aP6X++cCBB_CpeuKZ#gf{EgBqO zRJKgC23CklRxKU`ti14=CuMKeDojdhM>JWyaY{K#u(B+fJOJ}pfhBI`lP96finrm@ zI`t}?<-1==(5kxSIE>@@jaZU7wn?vC8o>5hc7*S5{532+W;mY+VRsTN@Vz3U*i@ zMKA+?^u1SZ&8|>+q!yi^NfRY3CEF2GUqg&8V>eTH3K2MR_z*#>6kGPFv(tb-tcnD} z?_PykJV*(sBTjPtNar?izi%e6TpIDHn}(e+U*zDZNk2$vK2OOgLdGdXObXat>G_DK z`2nEDx4Q%K4#=AOh!oN1Y2y%5qA=V2u|8AznR+g7lp}GTd0oFpZy7v>bBf3?M!9m7 zypB-5RLE#{d^dQlt37}9i$R$Vl14p-^b~U%T2C55pGJhZiNyDX`OPEtCnpVbay#wx z)ifF{Rm)45r^(9pgE}jwTc|~id7${3J|6ys!SMGR5_(hHwWlp~q&rjd_0@hTElY}6 zADHuUyeu8#z_QmB-MYE%CKn)#f;Z5ro=knEG(k93xD!x%3p_vEM$Dt&9as6Q9bXFi z0(evW3G(A7$d1I$PmrG=s_lwzif?q@Gwm{OWImcYs2wx2CQqF>Lo&NEuV3B-+hu^K z+zK(>BWKA3xbjyzRRTdzDf^%lxO>-^nRxwf#rTz5Vw3Q%L0jjk!u+2Frr2CX|b@ zZ|oHiOZlaGVX-%Qw?gV3(d{%*)QPt-EbVQ}(RO>-m2(DOV0yIjFH{iky!sIdOnNZ& zay!1SP9Mk90h}QiX^&g=rR#>T1dQYBuB;@?rQ#*&_~`7Ytz3w^QN_KSiw;e%jx=KR z`!M a~@}iL%@?Ru9yGW94)}xiD4FPISUeFAQLg zNKEY0Xv)kyDky|YfG*)TpMkwMD>CudtiMa*FIxJ)qgAW#{aIrjJg{G+xaphlH&PI8 z8kb&rlfD2vJz0`l7S;0)>Koa+x#rpqlf`Q}15~WF<43D$>illfe5Rs@)$ig9CkffQ z^lOJ;iE+&VRPt_ugwjcsnmve^xszXGgDG1yyVB_VE5FUd2Iwv)G>xicaqCdZ_hwM% z%iznQiE^MOuzO6$l!}Ez^y^AW|Im+NiRC~w%c%^LhEp|$R_ cO}B`=9pMPQNp#6Y;gKpd4@`4d KbfKAQ#6WB?Ghf|R zEssN|`_bqSrIYua{n>HvNseSw($WP+6>;bu8eif2{70eHG(q@8+V((*aG0S>?=@HN z&JN*9Wn4EAq5;;!ok!>d!?~Q&8VTcj;jA)rXD}hi!xdEns$ zvcu=82%;(#17`W<(aZ0hEWE0WyMKJ! @h{GQB9zgYM1vQsN2p^;_LnG;7m5 z=RF!MY7Ly@xc&qoy056=At#?W`s%YS<#Po36J!sVUj)3~1O_Po%iJR6{R9cveWkHE z2Vz?Yr>wsFEr6H=0tk4)4%}!uj+h;6H*hX$6y7@CPMcD6rU2!O8PWf)iTLAXq#puZ z!cVJ@i6=h>Gi^^D%e`*@^i7#WgpY3WTb$0@rE$;_&jbDX&2Z-Z2(vBlKGuQrKJ?$3 zM)fD7@1OICRufbuyoGl@0-Qxl$?X>`vJ<(+V2`UqpJfErpCI7k2YBM!8O`V1j~YAM z*ZUc-F%PNdwQr(05^VR+h}QVnFU>l4z2iJxQyG02!9g9=iLX@*Q5TNo-w+GRTPE6- zA6Z`>?nJh1+NU3Jy(stB|5UxlZ*??7$p5Xa?M0lB_Gg(L- g>ng%|E<2gfo>@ZbzdlcpfD 7ulS`PkZgwiX6fGZn9&KB=59#VC-iM!-*vG+lKaiLO>p3??*ElAt^oE2mtznEWV$ zYBzTafrFMKTWp#{*Or=g36n0y>7KEgP0UVMC9*I?CZ|lkNRvq8#!RmlePfi266=hE zlsDi xiW{aVv{1VLolK@2gwH6u_~k>Z|=u!`v`0ES0Rzw zm~1lK+79~@Y4*FA`2^!`y^r>fClS3XTOLPg*~ILg_>VGdAt9OEo&&&y@uWy0&Mgx_ zpX%>2^na1ViuS*W@B057;rOqV`BH>{M8D&v6ux#;3RC-b$vL(U?@=GdPw&Fr7=|OK z!MtvI+@P?T?gTvJpn4Y-om`3x> cAIEollo695dsf&_pt8G%T`4h6U6fZaZz*B_SQsLnQLTV04z&dE{mUCb zzf`Gl{9hbcf1VED>Lu4vX=y7se}N u`trpGZOTOYZ+-tS#=}AaL~|j zH-bt-p #mBP^1sk{+byATB zs}UN6G{B(yt!oocxadYT Buj-8{Y#ToI;HAQ%33}G$m2=l0X;w!QRaG~OB z?0`b6{I$K+P@`@&c;2rZb=}*!Va0B}lGhnNHcYEPK1_oSbF3;NxOp`yuc<7#cS5tA zTf}Y?JPkl4gc9BO*F$A6wh(L0$niMM^5gpfn^^D|8K)Lywyl~zlgKFS^p1t}nRA=) z&v$Ps&K2GqO{)`w=`*K1BkqZ}Upe`FhfFAnK`3yW$zZkhiJON~7&v2FA{BL-))TU#vlUJ$dI-!^vtV3E0 zr$FYn@$U044yYL|DD^E!`_CC*WXO}E^sh2#hI3wfgEci<)MVaKYqlWSLMqrr*p z3B+!Lj{~HJ0Q+Y $@%k}w@ahJyseCvH6fdp1{p2t8kujD4`+H-2k`XqN z$A-pWcQEUqJ{#7j2pQ&kxG%hAKOV~VapX$M0w`>5-}X12*3s8ffgqelQb8NVKA1m2 zQva2oksZHIbltWybue?qGvj yzpc9Q0lJz*G4;s&MAo#t!xda`j8-n%ymW z^MZUv$I1(i# lR19|2E&)&G$o7EXUwy#FkrN%gSj>1@5ufPuqM{WwYff@5- zJ#nCe&f&t#CcOXrhQQR(b=_zxl@|t0l%@b9q+R)9SW3VC=!>AHOyaq=*Q4R9U zdx{hEgVO@$K?0Mw4h~ec@dBC-9tyF5!*NIfE6YKd&(e72kfc|PJPu!QuR85W5K0~! zyCX?E7mQNmzWN1!MAik<`>Ko7O}o|&1Ei+8t=9=SFYz~~V(MCqIVO`qTcX4E^yNpt zRKQjH6u{GJeE1Hcr1nmfiE0=tQ4D`_2E1ONQ@vZZ4*BK{57sMv_Nxbr`P^q7wcF*- z7Ke-YdWn!dw#>lm-01z?nnd~-TA}GXO-p$=+V7T@@*8uV0v4q6fbcqMq6Xx)-oDS| zN<|zycDHLq$vMixy87T{RdjSfx*;8#VnTfafc@eAxO;0+ JjN}B{(baDJKNOsb_P>gOk@j%vmoCLOHej5bz07aYlJTolsAxbc z%s*%P9eY}MTY8XN@_;Ek?7u7y@%$z&ZojSzElV;Poipz*WtU}-RVPK2FGw=mnb#(S zz?OblFh#$0)TuI$%ctpqyP>~fZ=gEA=R%1m(q}9!?&Vj>FZfl$XXm;Be_L 12%6IcA14NiVUawh~WYY;WRX zEqTCi0GrWN)`uq&!jD80Uxh?YW7Fr%d=r{VPJ}P1!QMF t>5rQL|2xOQo2hA5tIOb{bNtuQeGyjE5mLqYn}6ayFJ0;9&g>5Gb!mdvHrfQqXi z7uJB+NTN*3?79rM_de =sETk3&A2 zN6o)7sqs92(??eSzl{8^2t3m3caiuy4!j<_daFJ(6gY|WI067??^Q0m94G(<%#N!o z3+l-DlZJ*wSFmyuz8zhg8) 2Pa;9EEJgajHnG zrID0`hQ@|6Tu8Zc{whYonc>M2Ni%Z aXwDl5xT*qFWaFl!s;53ixX zT=hA@Eh<=lLvR;YPQ9TiCn&PIq}Xf(6tD;rinzWJ(jLh7?-xf>cvbsBaw~;AbWDhu znN>$91g)8W%;Q83EG;iAprS5MF;-Vq*X9zv*ANg;f2WXTWnsmi<}Y=65R8Y<=nrHf zA&ON6!GPQ@`^wz&xf=B|QEWW%Ao>L!2tOF+PF5VO!|WL*U?9dmT=6coUgNY5aLgvd z1TQPxg&qwVkW{*zj9M>@D(h2bm=;A!EjJYP4^@oH>tFT7XvKf__VmBiUi-g17)8@1 zPqdomu*l$yeJacG1-rJ#mBLz~X`0QGkjSJ=B1m|0TPSf9GDo*~jBh)qqL^CYHln%a zff4U~7eFcTX}MyKwRIp-ptn4IyY|iOHP^8OcHO`s2R5x2A`M@9eTPLNR(2m-U}?oQ z@gj#q=rp|yeZwnjS_-Wh{ZyD8eiXt^qw49`pK-SL)>#y35nIrLf2s@-6rh7fB|VJ& zl##VR&erP?5=B{KPzRF}y-OaTexg4Ly3wDU8*Hfel?aPoZ=%q>DN0d
LZOFhPSv(W@g;L=mbo561sNf>ujl)&zCXxEOIMU7zt z9eqgpYY_Opg0!PE7aN$CLudd6K-CADV_j{rxA` z`pdjR4Y^O3E%BQRJXkI{AUg-^9@S~jwH`STQ7)mZ)5}*uZ$q{xNz*81gRAb@k)vj6 zKX4}Rz>7h*4_}FVfQG#-&@sAAB=70v8mLRA{O)Q;%aU3%pV+JPQHFIN2b|l-g4D!Z zgZ>lJv03SUBEdPj7bmc^$PHME?Y$2yW|aDe=8cl}-)ti9|41|9|AkFdOlIimkYY#e zHGn=5ePOI0Xk41LC?rG|UV}bn;D&Z+STt&BD;RDo5=a;uG`%-*m{2JqW??C7k<)}L z>`(p~*4KKZF8?0U8q+;2;RW9t(Ko~3QJ|?MaG;+4 TI_Spap8KUhriKg zsQ1!wxQG8WioTt-SU9r4k7D^iU;sq@Fp}!C<@WLp9aMpu!pG{^BfV=7IszU1t6<&U za&fN8F3BkT;H28K8RtL($oXk80YrN*D-+rG9~R1EuYzqqk%n?rej57F)d?`){LRe! z{UB4<3DXVYF94Sa!H2AGjb@ zmX8)fd}z&NWab#i8_SQ~nH+N#2Q$N19Tmq*>ph@_<|89$B7M3Tl5_4sK}_2QtvK~A z$UvF2a`g~uISmpiShce%0k~=?)y&Fg0l`a_o@(50sgNWz6$?(w6|+g~ZcY78$g`IX z6F(_H8`Z5Vem=KRvGPz_3>-0%5s-A|Xkm0=rYexDU@5O$Td2ZhHjvH?HjiPp6rZBf z?~H`#Cn@5hi1VV*{pDXqxc%WX=<_V`6D0AvG=M@o^JB#k@-XmL0C0T9^Nm8!{2Cnf z;=I^XrfG8m?eL4BCV2)!&w~!!6o}V;(D})|=F_92%jrGat=mA+kF^r+93-M%IkuUV>)t|cOk6er z`S)u)Q&?VJCj&Ar8$ksHtH;#dJ0=n`)UVh#!?Qf$-1xWM8Cp+Vhw;TesGdT{0S*#* zqV8Ba-X<3!H_sipZnqU>6A}*twU0zHne6IrE(iDd%0(}Fmnh|kzxIqGMT_jf$?Gw* z3upT5EoSd&<)$OtLnc=7@j9;{(L2iB$UL(j2hM%-x0ajorZR$5){|f0Ub)W?v2Ffi zn^NK%;IOU3cj@Nv%!c*Koo538J*;5O-}S@#7@QfR2Qw03PQ!Htrv@iURCjhtc_|Gb z4b381`9S(~wY%C*^OW2k71cs5u$)81Vzl}KE^(uq@v7rZ&+=${;Z|D6dEJ%#*E2vu zdvLFUPVF6 vk8TdT BLY`&( z8cczG?i=4cL0#~#H8DWx$CLCx(1M*reGvs^__d%{BN%ii+vxPYmc0y&JdI{yoXy;f zohMw&>Spt18(;+{8|&E`DC1+x-hTr#Op7-s5(MOt$41~@g)vrroaz|q5NV^YliB_f z+-6&DVnt=Dx|E8B@u}H(&iO{lYUs?YK+~V hfXoA4)PK;#I_^s~l-gED#TRf#R(bwI#3RMN(eDQ!PQB8zCjBNZw z9UJ{^|2+{LJ!if?$;dwz6N>Y!+50`84?Z$2Pa^3)8X1X~QD#@-ncR-GzX}xD?t0Ez zvU no^Lz_tFHuOw@rsWsCSu!Mc4cPP?Rf7phD5`GWoN{{aLf1 z^Q91sX^G =!KStZ~+Yy7O *3kmPRLgU>w09223 zMYf1GI<|~;bhksJ-1QFvqdUcC3KAT9N;D0lHd|%MT2&!h0nB`Sf@K++x|A=bUQx%c zG(i}xC5>%PB@N28cn9TmgA4TVWJD7xbi3mOE13 U9jB9P_K8jL`^Wyvs5P7)#}COTHV;lFPq{c4Xflfg z4`G*y(VSv#(VmvB>F0o`K9dL@8tVOrkxP#yt*J}jRhli0cCDB-?lW(B=R{*~p?v!D zqF<6|{+a?q9>$4V+7f@!pJKo!j6L-D1z{-hWQWezF$`VGFj{1`RJ=;t6qrF=wnn`( zvyqo4;isU#y(}%uXhLbtTi7k=&bUpZyQz)if@FtW5M;5SBw|$-A+%@ {LY_9Zie&yM+4lOb!#CL>T?y1Yo;$O+aD9iN{ISL9UKq?jbx&CTd=sww)><6I^` za?#U(0lb{?>V7R#3ak2|-}sBB#bl;>0jxLEVY`sa{%gmSXCulyL-vd6vS)SXSUO9Q z=AdWWeZjPdWjkH6-#oh8uk}35vie V#p~Bq%)A }Q~L- q~zd%V7D-PmqQunYiQRNpDK4b~Ty3@zj}eLvHQo>BF3Q9n{gT;|R`Q zyX|G3#`iFv|A@4nc?Sffx$<&gr|FAm7$JLEtRo2^7t6osvN#B(T??~eGTdgTh44b- z%?!&heXQ@Gt+ZcGqqG0OS-;!XWMNReC-7U3M%LZE7@bG9(UQ3A3g(J>aU$GpVzeHA zg4o<-lKg*bBB$NsM}vNwkKY8KOd*&D{bn7%<@#;?kXxqQMChTa{?UjhmEA@jP(ikz zU-gSM^GDc|+%u4P@q;-dRtcdc<#FE))tPc2?85bGNO(o*FlGvlP7JfNBR&_AGfBQ# z1Xsy%F)Uz3NB#gtSv{WY6F2W%hc`U<3|Hve@F34h7~Aa8F$$MBSrP&(TFfp29FIeq zq{C}t+F~PzluEE`rbJ%z2xLiBGt=5|eq|*HuMvHYc}5kt0cP&Z;O@lIPU-c^Mb}O0 zBkF=oio4sHtL~H3OSmP;7?;C+p7axT!{hlIJTQtYBl~I1mFA)V(X&C}H6;BV=RGH_ z7x9}gGs0d*hDQb}cbpFa#;0o;&DTR20iZ9A3z%}Jvr~23dZDu^P5NkE@QlFz;n(Va zt)S@{XatqL0a3^OJBAF7-8MS9)8wvJW$uU_A^t)4xV~t--2Vjm 37I-MOT^0c=PM;_s_-M|2Cqivi)yAK_Kl!Mx1ySl51rUxR$5Jsu#SG znmCXwPdMq)IaZk|9}`<9BAltxJ7tx3P7O&v$l
CVM@)qOV?nw1O+nVNPsUG>O`0p!|Gg*f2f>6x5BQYLj)5Mx+2JoUe><@T zxZ$$7UVkBalfcoK0DD8+ib^>0sbVMrBU8P-ChyF#4o%k1Y>rEz_AAXlX^7`SQIi(0 z_D+jwyxHC_;LPDpFnw%&(|yc=@Uv38vzUc2O8r#cL<+%DXZDFLgcO1pHXINP= kENB?pJCvlm81iWO-l9+Aq!4U3dzuXyb8&zV~Z|Q%^ZlNzL$Fz!+%kb z!Dek)6*(mgyOh#*H&A#`(7IY$k00S?PwXIn$ ~U;#SIWa z>8KKlWv9>`dAQTuk*k S~MZol$6fV=pC${&)#|!+?u1htOVh`A zxgFLv<2@zXfjB*lp4pvp4nzYf=X9d+R(j-b&+xItKywS&l;rvxLj;NTK?ZsIVdMyx zRJs&mO*PvJ#yW(*2(KVl9`RT{LspT9b!T4{nKn+6k`L=DUf<{Mqvrg3dpG?B7x^u_ zbsZE@SQ6{;-m(=1$@=jjFMogIANR;8RGH+LH-4F9Npl}ai*^l-tH#Tjwnvp+$S1c1 z@=DgULurLo9F~UA`4{i5ozz~Ssn(!@fB!lsJin}3^TFl0Z4|crtdB@5CmPdZ2AJ1S zuy!Vb>`37utvoRqGe;>+!x|>}bnl$bAyMPrp!MRv6_s_IZcyUWGDURAE?w;NtRgmg z@RmHb|2{p8;XIz_GX6^Q%IE1j-2gx*Y8|yheqeVZVjaGn`X@;C`|Gx??GB#) FZ(H3?L6D;lI@Z2594qbATN(pN(s@Iv?}YnP%a_?GK{ zN#>x%cjHaCUgms{phYSw$6978yurZzx OGgmOJ01v2?5` zYJ}EM9@Rc$1vo8$Xh?lLichPuEgRM&4Ta__VM9egOR`Etuw9GaRI%$t=aNbww4|;d zvEug|`)H}!ieTQIBt}eDf($VzR^|sr2nJ^fC{DfJv8})P{)o5`l_KtT#j4>h>ltb( zGDalkfpzEm5Z2E#6tTX?hI4%W?v33x^D0W_aZiJYJpbhpld6rBTZoxpFE+z75_t`P zgP#g_Ehb~o{(}e3b>NY% T zkdeD8+iq<}9?8mT#q}Fct@-B*23PPnvwHFO>XS*m6$K=?!eLIz%n}Gu_Ej~LmnUMn zm#6%86!f{x$o2;}tq%FF$f|G{0e2jy?=Mlpec~`WM(zGX`YK;+^PkvQwsnOKahbJ` zw`WRqP f(99B|;3|YS=pVg^R=WD}0!9lvOj5C#Lm^ zWUeOf!r?%V3VOA^q~pWFGmyf8#^RF&!@)%w3Nh@$!67gJKlg#)*BXU8rDhQY&HL#O zoPx_}D2A&>Q>{XY22iOIk`gU<_6Ewwv?(!qj{KB<*qCX!TBbk3$)#jsR)<&)`5Mbg zM_I%GBemevHcHiOREL+!hDN={2B3nY@*WH6UGLh~duVHezp|*&?hAoe2cT& IOJXxMTt*|DC0An_-*JLY^J`QoBra&g7Le5dK&dYc(LZ%uK zBmYi?1htXpAxvo%Lj)J1xx@gPBAOM=i$`xqtslnC(T|tc6yBXG8Q; 9@z zI$TSMFp>dfC!E6vQ1!X;2ETrB+o2SxFkLjU1m){SRGR_$dlJ=@g=uDj2s}e0AMcv1 z!^~XsJP;e =9N3n~RU)1QVt8M$YGBNrzM56AzsthdU$^}nh z43tpp110dK!!)o_bx@VKM86S=M2LydipsTMuf4s)ERP1I0vqF=hjT9KX>PM^Q8Hyt zWzou0ufu_=0g0DEEAYFsseQ)i zVns_HfGTlMKH?W~-7YnMk3V4b!&O1j8hz`efPfQ=Iy04+Djfng!Pf!-(J-DyA|X1K zT`bBlA%$Xh93e)zl_J&QW96AM#Zu30POd_Rp4>rL8r~NEcywMM8%Jfi5+MLL0iXBd zzL2xB){^>4YO;3!_}<3Rs !rrxJ#1CPjh3(_MUGBR{XkX96X6I)269$kKzVN9 z33NU4(Q*0xwR(tZvtodXj(BFUKNz!ou6B-YB3ANZILSASP*%OcN6?UDVB%WkXCWlq z=Vr-tD6H3#Puax2yW{I)NK>kKPk8FH)j^0X&pgl8JtT2=YiwnsgXbOj0Izl zl(!U5Vipu*%xw!A$c^DToEqdu!A_Kx?S70MbYs}RCkS;t#H4H4JQX0tsyj^rt8GIT zg8CuXP(ORXlxSHRyAInHxNlzkooiQDzId(LDyEc=`9a4It9R*jb)%Vav0RNtMc!g8 z$mT9|+J@ElX;}7)258}|?dt&TrcAO|gqN;ddLz-1tQZLyYwqDN<1KiK8X>HhKI3*I zqcf-wqAVp|l9?YYubM7|KV4`SOohkN>@kVzoln>fIX)Zp7uo^)+K{OdCDe3b?QD6( zAr*Ke2tc8ckKo#lxKl_k!c>~RZo>DN4^x7)+TA5~bKEFa zZ87of`}cNo2uKaxcBNdJK7Aew*@VDGWchrkWj#;GA5&)`e~$o As_-Z~ z0fO;~gg~tm!=o7{;qdTcN@An`V#;`}C1cl9t!BxhYeG&v=(t!=q3{TWnz~KnxVAql zKlDWR7)-n=-FM@hwi_)-ZsVYa+|8MFIeFWdJHk*!Qh{m!KG QQ2P_Bz{ZGBZg*h z6c4HqQ+=}7owsUGR1= %1fo{ODt zvS^=?!ag>gP&JZ^+SP)o_Lh!66-Qn~O9xd$hp a;$$Ks+3x1O1cG^!#XEjycVF;~ zL*&w iLNLk2bXycX`Nta-w;JuB)sDesZnC8&}}6H;NgX2g1vF9etGdRnnx>R%xu zP>9FNqE{|y{34AfLPxus*!iL~pqbE0WQC1AKK=mZ$G@WZN|f(lebT`6Nkwxi RhACR+SDw=CvxIz-pRpON&>X)DRokkd?#~ky= z?5z5njr!_yR1Tg1&e{pnbF2B}R&{B|iuGnnPAB+d#cz-!%X(s^1@>X%=W)EJ%z2#^ z6;$L~wmhHaUi`}Gy#V7H63}zNq`t8@OqMt~Dcq8s0-*#!kmTA~m|}DzQ|LHRl~EP^ z$QT6S0IH_~EmyotwIV1}C3*XV`hGFSi1_$h&aCvT+tsps$r!T1*uhj-R#H*lTY9GV zv^OEEQvd~DGHF^9SoN;}-CkM #O+Q>?eov{siF8WuP$NbV$A!53gb<1Rt#?As3cwNk`EF_l* z01GIUp{lOaV6I3cXy$T_ju!Bk;<2AtVNC)ELF-w{j`DYrK{*XW!lvqqo9e6TEkcW! z8RypRG+txKl!-hvb*RogP>-BC=;!K6_c}sx9^~Fi%BLFdk7`dbd|5prU1J+SoS~Mz z-_DKehPM;zHn};bk6ASW8{5xv?1?Z4kB=@JAkOMnXyhry8SUyj4jP3lbOXF^UWHyG zZTDfE8M;~xs(zSnhdpe6!_U7viY`C4=)S*iNuLYAfc#D%KbvpHtiCjV$^~ZL=k8dv zWRaZ)clcWKz-8TP+>}7aIZM8jssz|YbW#NI-*=7ca@OpxoCE ?Ux^cB^U{Xc;L7xcA4t5AsR30lnr<`B*UB9S53xnm( z#t-?7*dD5)$sssAn7MH0xs;A#od+K8;^Gda` <2KA&2cWal~=1i1!N+NnS) zmG3b%ufn|Mch`9t73y|{{IFt~;}dJw0GbV~>(suh$6X~)0o5IgM(oc~8=(v8b%z(` zZ&{WVcWTn@+Yk8l$mI;nUmnJ{c~%2`_|tA!jBvL0{eA3JUMcLv<(tYKDSycs{Db2J z=m|XP(kwV~kopNS>~qWWHqXU(%i?oA@e`zN{lx{b ^LVVuu z@jeFEPCQ}UtV)>DSy1=O!57MF~gH($#Uo5fDGv9S5+H$-=s*)O`lWLtf07n!s7H znD;<-g3zPe4bahS(0IxM8_G|y=W#`5rCEVy6^pNqyVYDQIVMwCeK|cf($pcC$0QP% zLY(~cOd}_7g-}!%dGF}Vn-n;{P933B=2`AHt3#!@2n4s>V4KC!VTy4x&6+X`q)$|x z;U_WWOTdY56A1<&5R+58aK=gH6SHaYfmEAGm=RYJ3CGZZ*zvC|T}L!JS;S?)tz*V~ zoR0|ZL@O%mktu+`S%i5;7tNCjs40yXM#sX7Ej3QW?=fWECv4!V|Jq<|GK7Cib-7)t z5hgU#w#uLlc?Zc}R;lUVpKx?F18?Q0oH yBGJ`UZXTH$FmS4;CLnFWLdaaVci7-k;{~P(=M2)^)QQAxXsB-xx$y# zoKCv(gNZ4#iP_~`j(%DyF%UdwU`XG3+U>()A4TllJXoS0?=>1#D7SbnWOL2;6-`P+ zF{I{ZViO}s6cXrU%#EgaOy_0XBY+=mR}vBs{=2@<;3O$N%b}M8w>K<~sn1}S8Z^?1 zd~;KKXCwE^@fjH`!JLJnIbyY<2)=3o zYDWB|b)X1X6FPN633d~ZRH mOhh+aru}iXTf>bkGw|vdf0PFUv`d z`qohFC?Gb8*QTd$){X?+W>uKej!zntW%i3zLtHxEdXjUtGi!?LV@GF%REh5oL=USy zUGmA8a3Bua=UQ9RSXrG>MmA{2A=?hk|2WA%**JiT#VrkH7?K!Ve7BD%R|pkg(77ae zkp6?@D&Ba%&ong$e8m~o?L0vJZl~?syqLMIfXVh!RoO&nE(svS6k()okU|7XU-^A^ z^;^iHk-^8(U}$lhmeAYxJ*m{h<%d-QYC8G@phY()59yXo*58*J;8UH-$Ks{*%AYnK z&C0=q*1#1%Rg`vjKa;teMF^v5<=V6Ce~6&8gr*w7TFcN<$@nm+fv%o9B-_;2WgZ75 z9RpAQSw8m~M2-l$>jTTeb?8bUUK_g+=$fSE!dFPz$gbT|a0Vz^2nfglYX`8o|AVWy z42q-c!nJ__!QI_qaCZ`12KQkY++lEs5Q4kACb&C;LxMX58-_s=+(}5V1jzGos?J+= z>ig4G-BtaoyZ7F`*S)T5l8}F|*WsftCbAS|AbXc6NvDO4@8k UpV;E^V JtNv10Gd(+cm3#2aI5Q87=c%!ySqOYGR3=q`GcI2gf2#Ro(4&6 z`C7bDw(OckCQl|cRkjs_7h*id0uiK{Em}2zSa*<1Mss1waa*UhSTP`f@5X`zxt0g; z%G2rkFW|5goSJfG1gUXYj})x1+LrW;6})_zC($0Gwn65!<@#T~R-&!!q(Jj{f@BMX zyNps6;u>@)FtZ(NZ8Alwe5L+mPgMLqy7oF=fqFLdRSAA6NC6aNagNdq Om@e z**vd;cFSaDNnG%%=8N#Cwje1=(^_YGnHga_2~bgGe dAO37_a)?wzR0eoJ4c-uw0vx5bji zL2i$sHsfx~nX5q|AfUC2zqQ1c7osyn))ZOEKzIjojhQ0tJm#o*x}}Z=JAbCgi*2{F zl=7km%$T%`&>@^iW}@Y$Lzq)!LT%gu*<2R3U-mE^uR2dsrImZk6(;LIMIOHi4&+;- zMR-Isn|DUpCR+pq6bd>Adb-BT=0132r@u@6MV8#cubYM{56AjIQiHX*vs|k;NH{vE z@7nsyYo@-vuh5!fD%U(|h)f@sq{z@3cDI^_OAw1NGQsA-2X6f8c7`x}@swC}B8p7a ztSq?K-E~&@=#_@r5;N4s6)m)(FNODv`k&@9dBXDL+-O~*EAJ$zryg+4gvB*da_c>l z@zWckWob}|dc1#GRl2YO=&p#ibnv-IQ(pBGzlO+Z8=&KoB)6{$@CEex_e==6yE#rg zJXa-SpcZtIQz)*I@Dk-X-pn~`sQFyrZpkhYp^dvC?_qy}gFR 3yw%= pH6uzh8)obCtn>N z@E$f$VG3NicL _Y5wo5LT5nlP*cDbShR2)sr3XGAwcu<|}|v%lNpANC+NX1{#}s9)HmE z56!C_X&-!$YbKL@Axtl^Ra@`V3O1IO>^YWFD++DFdxuCy*6?AK&C=g7{l@(Wzty&m z-G3`)c3ufQ2ILQJE~Bzi1BjiC>dvP0l`VKp3ml1>J*)yw6(@sZ2nXDHbr^k`Eq5Dj z#O2IWk6(ut9?ACR#PQe1I)*h)!V)s`xlNnaWoiFIsSV{0%gIXXrNC?AI`?11d?D;I z%zSjP-@j6c;`vL33=g6F55+zFzGHr{Kl}s5TYs^S%cW3kpaCrTn&E#4i2sWl $Y{E6i &J-ma-$-*aMYP1o@$T5nrWMawKrMn9e55>4aFWz?vG2$ z)%6TTV;3z@^+IWppLLL{W!hn}kwh^?rFU8*%Q<*O;OY2+4 N>X(B9`3WKH@l(7X_aOR_)U)1oaN zpw`@*`0$r)oJv?8PIjS%Ii#*-@2ML4=Q4AD-}$RlAGQYk(gk%_Pq5fKvRcY9%CXju zRQDHY#gLp-UVufC<5)ua&>NbQ<<{e%-$D{4>F;cWO? Ana{dPw(_LD;A@GKZY!aBABern81mL zdFtjQ)!EJRq;%^yLHp #3Lf94z*9aJS7{)|^wXkV~o0 zRVid7$biQhn{_w^8R|$hYY$ya(8n^vnz~)yNvRCTSXl+6?ko~-uHd`g{y@tgv^;_M zcde{e
c6vERQ8h)9`gRt25)s$90?Yk%Eu)23Ofc^|K+&s7XR(e}kMhD*yr$Wd!d zqy|@bvi*p#g!0XYk4(h4YpBu3q(xN42@qS8?pN{p8?4TTYh*P#N3QJzI+pKi(t sTwn$RT^;5i 4k_O& ztOD&?zHY$4M@wY<<)6>E^v#`o-2v^aT9$SFa;q`=LUuYN^2;A?8Yp%RoAEZK`X#IB zg O%Gl~0#R=0gH&zdHU9wTe&dfeCP7KreX$2_*qjg_rTPvetN#x5~ zcr&2q+LmbUl;}--eR7Etal`w_piv>nwZaCJU6hG`BU6mDtu{edC&u`Li2eni#E>)U zNadhQJ^Hot{ot`<-<4*FZ~13YgPC2|_vXRG!}qVuZGUz1t*rF jh*Dgm+8m8vX zl>O$Ue8pk1jG>;Rp*w8ah4m(dczG(7`o6Ax(6x!f!k_VvOfJOzYv3V=Y3rg0A|J%n zQ6j)x c{%dM`hPZ=Wd4cy0!?&3-MREFixFrL)jYZhD2?1m4e%Vf5SDR9N% zKw*QoJOMUh!%_rIC&dYRDYDEtUN 7fqsWY)(8gYY`h%eo1t#VAx_1b)->v8bY(P@v_kDB>3 zHBlVhd>uCt|JV>YE6exha=va|SiBhHbS?c1bD_~W>b`vv3%_=>XS;|;qcVtknFg?G zM}OdiRc)-zEP$cG_JdF8=PRKGtp&_#GA)81?$hj=tXIP6f-&;s4TSncWT}ShJ9v3| zEp(c-dG3ZPe-Fo73woNeioglgc2ff?*(G|ZUiz-4pzn}_ri`7+YtO(|sMj6bwBCOe zO293w+5o$C+v&o~PxCiwto}ZAt5mPaTMf#VT{pgISp8N?m;zoQ7+#iT&o4J)P)V=I zzpUG&9;(zyRlTo!BWrEtqdv>O+;7UiuLZl*cpAK7@iAQpOwr!9BYX(Al zw@ALPai#FGff2#cB3US^^_hS7$v;;gD8j&(nt)Oam(sG0a8=$>(2mCyGbl$gZZ8-V zXJw0094Xj}Bm87Ezn8>t_hbC1H)-*Co_7zY=hRN_P#kgHD81Yh7K3jZ{cWP;9^U6p zqQUcubp*d?)Lgfu8KSyfXKo8GJ22zNhjIGBlaA>b96*j06>%f7$&%c@s @1@?18
4bQ4<3c%MnS`!RTI<3q_`#^}p;+mgAh=fC K26! znMdY{YXA=#Bo0+$p^UjOJJQ)3_IBAqWx8YTO-jHL@d4kcV1z^NbD8gZun?C!PE{3C zY;{yO9~$YL PO+HG3Hzi}g9Y5M2_-8L}SP8#?kf=gas 5!XM z7xT?(;#AM{wDqDmxgE8#pI*kf<#cwg>~b(kV~MSIK??UwPjSC?Wv~Z1`;50qEdwYx zdTT2M(+#22k>Txv>M=8JkLF<1w)*tOAUlreB#p5uG{6y<;?3$ITQTd+M&4l29eXDp zfCS6ndV_i2Fz%?Rm9LrQfJ4wT96L&rc$oCk5&H3OI0vIm&VSDAzu=#1>UX|XD2)e+ zY1_3>W}e-n@UFHv^>ZFSb*=sQ8+{3MHXG5l5@^jO&&kFy4#FyLsE>oBi zqUEA7>UpZ81d0uQeo$xByW@G}Vfqinhxgdb==0Fan&Xu9#d=(H?8vzL67>3aCh(Wz zsNicp-7&lRlG62@u<6^}UR3?2C1)-F9b;BYFj;jo*p@?;&24K9m4@xO(MXsipX^ja zOko{WCE4bm`_F`m&Vk~0Ys6W-i$-z<)GS0hU(UKL-=$Y6DMH`nFWbk;7T$rE=Tz zO+qB;^d@v^ lnl!EKFS=BtYTzlomiFUD28%FJX4$za3*{(uzZ+ z1N#2&TMnDHJ?HVxp8N*~pF$>5bM3tP;x*rc@+`pBw)L1gQe5=*mBSX7vVHJY8O6J| zR#H4-AjZR5UBr{-guw23Kew+uRAg=ZQu4j@^!uF6+-+&$RbsL)wdX_{9g>LtOb1&G z!zED5#-1LgwT*^G4 5>wODp2K1VFb$EROvW4Mc$O z0OP+jS_#IB1Z9(c=I=W14t-%B-@=-!>#-3-{iKzjMRCSs`!Y4y`O=fnst^`0NNQo% zgf{@Ncbe0~^zVKtj+g3YyG~`sV*l^>*;Vb|9i|^tnY}LZ4%8`c**~GgW>}e?kbPhw z<{*F%Uhbc}Xit4LbuZZi@Vm^@G73wOd>>SgIhYWX0%Xu%+P 5F6&%wXEuSpZWoXw^3_#aFUy3d_6Gynt z1+_ripe23xOlE4ui*E`hQTEEX=m hTYtxxKuyMiJR-ag{z}bPHV4UHQj-a zKY@@G?SVt^DZdcAoEvUoHB60z_!I9ir{GOBUQxc8U9T Kfelh7kF2_4f413&Et)=9sb~UHZIvLZ`O~B z-7Qndv#(ufYr0W#Yst*a9T>E0bRUYrdWWRCh1 uaMdGv zd(jjZj9@-%s@VlB%HuR;z$i_&%n9oe+P?!)$- M^SkNDlrMLuU+s;q7+a=~>GUgS8 zf5!i?sOESaw*;qho_U#6AJk6E{{9xjXSwt5YkVZ3NvA$cg^kS#a~&PIH%m4h3aI$o z-Cw{+Hrp0p6*pa#A1bI^wImVW81d@WR>lG1WsyaBbl1%!N&>4a>Z%iCBCR!+8=M(z z=J~Z2GPmjolNVg>JiE5HwZ+FqY_v74k(e$Hv~S7)n;O4@r-<4$@zXspvQ<*W!IC?l zab_AG!~x`1tvp2hI(OUjxya`J(f0${A@g3X7x9@R6C;sYk>(;aPqw^j86rcfNw!+L zwBi=&M@eL#k|(jfoLz oq%)en*)r%BOGbwCTqQcmcJOm`qNk?y*#kkG^j3 zOXtsgClw!V*W4xHtSv4p9_Px%uUBC3)?5C$#qK_1B2iBwfu2aZ4J3EX_~`T3Xoi4I zUeH|Il_JjdO`b<==?G`=K0xZ~d``pCh=qHD(%mqc5b%pr(AAK*{a3*cX2m@+HXy#! zd!r{?O5E{OlOyDqL~KBgP&c*L-B?jZNB=eVl*+|Z3=+_7<|Dg7{6#2U21qMWA{1y@ zcD)Zc++~{>v9QZU6pgI(RpxLgC-ax7f6v+A%Q7&T9J^N#)BtxWAIoP%l+gB_$$tHE zgx(g`fbv^_nH)cX9ew~GZ|Qv2LTp$#BTNZQR(@WdnbJ0QgXg 7_;9UUMNtQX z!Dw|>n|L_rV@MHyaL(2hb6ThAsIQ|uNvu!Dq5$^nk~2yzsT<1xRu6vR4Ox$q;?-8> zRP|McxqC*iDE|os-S@$^93n{iwj>D=GANl!$oH7gow3l3LKng3hLGLN7;WeXYS0;D z%^YVX{;Fx?N>6Jr<3JTtrHHP{x+he5ADExvb8m(Zr<$m%T9Q`6XZFtit6Jkrft`sR zjgcq#;S)E!B*|a9&H0ZyJ9%@x$vttP1v woPbRq6Pa6B_os$1xjm_n| z8!Er0on*>H%+=j-BhRG}{!r~{HiBRbQrw8ExE^7Ad9ofebv*3DA`hoea|0+s7v{tc zDm`~@ANjI{>@lFjWE1Z{61~Pf45Z+&E7?Y{K=o^~d_?8P1A#tlv(>LHcw8nZoR$CO zcMuHXZ>+bNtZnM~Hy9(_Pe^Hm=q;oDxF7#0FRH^yAcHD$KP3hmTYdFjrXh>^pRnkY z)O|kJiyy;$bp}WrEn{26Qj0ZW$lCa$tA?ge-+pH45f(GP^Vx=(6V9$|M5{>U!zR@y zsDFO5Yp_4m)i>NREuh8rlUQ&{)66%DPwG|M;i_a!wP<0nAyH79a-H}bH&XDG=@LE7 zmp+>hcZ57gS~o@97XfHy{F797qTh&o?M-u(h_#v6?u~0yX5=cUyQTXlsVqpSzSjdQ zJ=q%-&(KI3&(=<>N|O0vV~H*tIniKMecdX!^Mb*tN)g;8Qp{rLLOjv7 8ktgd;-JA%*C9V%*Q3up1S@1&3ur~$PY3<7k;A*p%{ofl#O5Y zNR$L_B90?7WFE`U(?up~lk# JWZAzDG(?CHmylN-7Vf;zKH1Pey z<=-y-@?C)A-Se#H_mU!RkHD0E8iY=L<2PO6bz1N?A34FGO}ocW{}*3K7-of8!U5kg z-MoVyfT&3Ik>I^=s!U4366uQG7L9RXih8 E=#J7E7o3`SMTKH_M8au~F7F)M=Ari6_LL4%FPj0xn zPYxybBq8l8SUrVX ~SBJd%PUYVHv5=T91!3jyMLD(xILiZakHnq@)U!pe(Oi0(v z&ND-q_Ghb1c#&ny+p93kPB=PB9h=~^yxafFHS@OT;~+e-HSzyF+n4oyB(=I%dArth zeE60)JecR1>uuS4+Yp0lynpiI@kOrazm2pi3}3m!%8yhd2kzYfs%-njI`=4%i8Hvz zM6{OQfW#6K*|Pu4eUTwQJJjs_bJ_J(^#ps+vwKP#QsNWb>wnML7AK>rj&AU#UUISu zNe=?|?GYT)dUY13WH>X9G6xOWfz670?`PLYv>C$Wgys^38BI@s83u cBx!3l?mbIxA#=BDw}MQJEp{eem?F#8BNZz{9|Mq z>qZ$gOa9TjT$%h}Utakuk`(M%5G(hd@aQQnL6Fz>m#%0tHnf?`kQO$OW?`AfI2hhe z!Oku>p9gRdp^HWmzuA}ONhHik3T~*3C9D~;3ZCuLJd)-JzD;C!>AUMgnQ)X!ADi$6 zib++c2dk0 r|_Dh#?XK+h;wc1@V^KWz=>4cqD^3zp{Bp<$hjsn>M*L( zh}F8;1yb7omEUB{OKEIgRh=H4y4$m$nn+@B8hw&K)e(IxCY!_=ry$N0ddAklP+g?= zfo%02Op4o&)yXM+0FNwO&?4lV@y9ttb+9IMrT6gHe@F5}Rp3wB+ A^SAie$C}VPv4{lt2iO;JN7&}!aX|&yI4C9>BY_;MG;9@7 z)TIinmx)Y~KuK0l%kQl65hSot9fia+G|@=_F+k(s)Tod|UM5!o^8F@`V3?P#>lkON ztL0Y)O*aNRt9%Y{%_(u0nOhOxpmG-^K|i989_^UVgU&*JfwFUl l!qp`vR+Tx}w1$Bpq|NB{S|?ZKGw8)j$(-ot PDM5MZo$<@wY&y! FRn0o|*Vr(=3aSe0v3MC0u`|nA$nHr|<^Rzdo5};^ABymbh5vc@ z52fSnedJ(j*sq#@!b6&+FVYPoOvztK*N^*@XP~Fv>;65{@ozWs?*j)QfyWQq;h*J> z{zLh&p1SrQ%JKfcx&Kgha8l`X0?h%Zfkm6+ZkTVwf3@$0*C7ovLjSF?`dvWGN* N&aTg#z-g zb?Z08=MAju>-+YP?^M~EL;SyXq^iNYkc4o EcY=-XN_Zj&n2HDA447dsB+3ryq3MWxB+Mrb3wXJbX_{qZ^O4_0r(j&d8I@=+4|{ zDUn!)*7GPxjie@<3@Z1;Pe(o}Qf1e-yc6@nha04CrO3KKKiideQ?|g9B+(t& ;G zZ#8~mnKd1>wXfbG;$ZX5!b6 u>6Qcd(O`?b2agv5AoQo?W! -lwk!*)BC{ zrZv5lnh71vBoWDW;j%6T4#GttKtp*VC1{f8E5-OZ0}6DF>Tca_V XnKWf04c>8XE$fRlR`7Wrbf(^#^n^&N15|UHBq^?y6SaHMXZeOnm3Mr z=2>cmr=7Wi_4%igVCjcFIi0?Lo%|cz+10Yzv(0c*2S1R0d)b@eRTA4J*0JaO%bpNu zn{HBP!@`#0N_L;2U+3l!=h|kXrbYjVLE$?gC+F+Vvse^F{fEx?)OkEUIUTWtU)h8` z7;1kOHW_;bEc_XLc~>{p?zEna$_(O@hYM|}Ok)M@0&Gkf+a=e2afqf$N=c33Ww7)D z**Nf4^Jovp!mr_B&Z8ln^Q}acK%b(!@To0oABKSZsl354frJF-8SEuqGn`bVC6%c> ziGEc)B?@-YvJt<3shT#Q^Cee(o{KGN+mOvU-eZ6!<9l%$&3gb#q!nb*wqB{jJV0=4 z_K9Q2<5c`M7v7ZOQ(u2+KLmqOgst7#bs|8!HvVJ!HDd|YzdH{kTC6CGMt{ZN`)1ES zzSd0alwkHpqGfiSMX2rqR`A?K9rGRLeKR$y z^q%vw)a*zo ^kfHh +OxUZIXotuXUoZIen+%zR* z|2$poZP-zp_dPbf;7qJ3>dy6|Ge&*nYm|(Yh-djJCXC)bR~YuIl7KFaMHuO!p<&y@ zN+&L)Ve5s?dDDRnE+?sbL*vd+?N;6NebA~ qha5YPRq`egOLBg#;P_`S7}6`0 zmgNqg%;-s42K_Den58S=OPOF^pxW-ex6+qQb^OD$=u6ELZDVPtmudU+H8vWh zNvCcB8EwlwC3Xe+h;9UFHA3=ge16w!x{;7eYd_{bSSU-fb82D@xHxg*(2~(3bj3yi zQk7ick%3e?WByH9`qK(uog Ko%_@XYEh=E% ztu~52LBDJKRTJlM$iLLLKb-zUQODV2fl2(d{9KXt_#$6kM(dhtp$~ZeC;rg!? _%D@@aZd>Y||bD2vvyKy_Db(wr!*}U>H zcO+?sZX&x8k0I+=PKpupyD3a7Z22S;gVwSACHB+!C>rAX2YA4$_n)^KC0w>Dp+1p^ znqv5{jct(nh7yr>Ga})tk(-)VDOfjP>D8f}Y|XC>{K7jP1d%yM|MG)jBvtM`ALhLd z MsLcpzXL`T~j@xEB{&9ql zT_8?Bvk0@xK`jtOdE&vmF;MU9t{lC)>InyxlxLYN#hhGAtiSDsj7EIG 9=GPE_kf7D?wXKK={rHKh-#P)1)=Y@AKIm1a 2*2ilsC;6PWlS`ii%Eg<)2(HZQ0KFwhZhRt2~1MIX;Y?RzdI>Y=X(LpbH zrC>>~y-VZm62G;R*yWg6XG8WdZH`&xFK}iSb%`P_Z8FuINO@qa^E ;~2iP8>A74;~j3&G{X~-QjYTJc%CODOSMW)JfyIVXeKc9klcp zxK-|UHm*6(rml3rqSyAM)mcBz%xf{~wHnM^YjBOfw-7gCas70%i*>0nwN`Wpo9j&P zq|H}p^C1wXO2o*22)B=ilDyRT*0(JTTc~#v4tryArpHD0jf8N^FG4DNaSKgF3X99_ zWy*2C=Hmo1MIzJW8aj0?Hxt=p#z!A5Vf*evsma6QW($G6TI-2g7UC#+qDxx7*k1hV z1)*%9{HT#h35=Ba<(f`Dc|X9H^U@~T#6NZ)!2NO)i2yT(@nRlQdg4xl!WFp~zl+lP zP5(vGZ+kZ;$SN;Z7jlUrp0uXfe&@0w;uKfRS3*ljU6OUH0QMHAfIfZoZz>*g?uoJj zYEkO}$?ZULhdw!X(a!_1>pVEuHWmR`snG72e+Zi}o;hk-S$jCOU#7=O9Q*YJ%_hBr zldl^mtNI5849RH z2~-EjTY*T1I2zk0pEY*(_vyJMJ=_zR{fZyjdNoP9S8FUZ6C)}u#SZ~1Vb~K {lju OnqThnXgq415bkQsJkSx^5=YYU`>V2_3A%uPk#9yhzqe~qn0sk6UWr* z=ub1v`xq@7eRSU!X(-zc%b%ZN`2!buji3*k1l7f{kASRE=RwsP `q@c4ywJY)LEF-W(2v%9a5{LA#NUTlj|q9iY|!2wc)Z9@O1fXqgGsuf1aLHniz? zr)ibjcKO^|nUo4rUguEYHr&M>9ZO+Y3Cgmt%miT8k*W^G7D6X_oxD!G`b&2h${)2v z+#1dl*D6<80d1%b3w9gO@;P^$$1zrv%To7Ui`Z+l=d?`OUH7Ks`u9c9_zHq77dPLi zeQ7oUT_4az%4)aiBx#>gDieOnH0?4s%}!TqL_2_js6-fU$j|mj zZ{ca-?rFF}_UCy=ALDNCbf5!4gXOnUldbmYbAJBR*9=YiWlZJj{6~d6WD4v=79aFg zJ_yDk7IHn-6tAF^qdReXt}@b^1FJh5pA#f#+)H4f4hvW8H4uJS4!D-6j>X~qNi3xZ zDb}T@PyJP^zu3k0%jymLt*%3M?iqMyi^nj2MQ=5(El!3^#v4?>DGZ&-a0m!R1dsB? z3iW~$Bz6<1m!Iy&Tk(ShaCDpsBuM1;%B@w$4oP3{IXNj$74`sgY4*O+D;~;#mFotZ zG8Z^tpMY%{2X1L%Jq?)I*M)2ECa^GdrVLBjdXkt`Y_9Lj-V>~A6%i$V@7+I_Pt&Uc zmAqzF;89K3P%LBh4fLQhd%!zjXBW2HBBp?uG~G1Cxom{vU4FA2FGng_^lbc4>K_y) z7r0u@@klK%t^p`?7OrhNV&M%>X{<> Cc_IWJ7@?hHn@DOq(-;)tJ%+qV3%*V+iuF4-q9~uLaZHFs^gAi^%WUvGy+iyS zJ`j-A`EC4Tdp{^MMP3Kz(2YvjH*+|_Cq{z!C|OJiXtGwd`y3Fp?A?U<;j+sR*2(80 z&a(Qotm&YR>kLE1!rl1;i`03P6d>ytTzqr(v1eW7mxfMzRiSYe7g(x#=h%HH5X6mP zVc5F0ogNeUg_K(z9cRz+&x4NB9lH?aeCT^GX0nX3jR|8+X8A~U%lxe`W 4UIUtmd)w#S&rP)CyqHO0?~DvaN)2%@p@)o-z=YsuRToQ>@URy zw(JSX07YYs1r&T{1xyMT4s=#t8zT2m&5@u;51Ih4Hp;^7v3LM~;$#V3R9*0ihn31A zS%R|l21>4PSidCp!uf^gN@Mk8nDFP)mWI54=sH4|-@5;CTvoJNF7>>Qfo)fNq$Nnc zB#Y%!nJZ4-vmwYt;sf6ag~o}>D$qLoXx0oASiLl?<$g3beaUthwMXke1O68MYZ)YT z3@dhhe0wPn+f(E%%Ll3T+BuIIHFbykquKkx`dy2{nk(IMTX9@X`gO)5+%Z-amdqQ3 z=leDGx=Z)3pTI?^;(R*ocCudfp_yfDvsB_-z9c_o%V=Xh2uz(@F@6=xM-54c;kU9Q?gIsT@!BB*e{;>XU2`f2!t&47${Cn|zu@Zv9RZ z9mSaT(6`DQa(F)$rW$TAi5I3O7va@n3z2{Y67_=~9~ZdxlE_t)f{Ky?q2}GRHs$z1 zOSLS8ecKjNZ4NLP_%EQ%buHaL_hIrZ?y}oq^M{LR&)MC8KUtn)byD0d(MkKfN0Q~H z2~YKSEx3HVfl|Qov;DYjtN*BCxk1(3)$RASXT=Sxi}sSR$)74vKJd+hSh!x7=_7BA zmG={|Ij(78sLg*U)LTxEt&1myrHvOAPmrH!SHS;Jsytpy*