From a776258f8bb463758dfa05c761796d31f08fcc5a Mon Sep 17 00:00:00 2001 From: bing <2524698668@qq.com> Date: Mon, 13 May 2024 12:55:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A0=87=E7=82=B9=E6=B7=BB=E5=8A=A0,?= =?UTF-8?q?=E6=83=85=E6=84=9F=E8=AF=86=E5=88=AB,=E8=AF=B4=E8=AF=9D?= =?UTF-8?q?=E4=BA=BA=E8=AF=86=E5=88=AButils,=20=E5=B9=B6=E7=BB=99=E5=87=BA?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- examples/assets/example_recording.wav | Bin 0 -> 159788 bytes examples/audio_utils.py | 284 ++++++++++++++++++ examples/modified_funasr_demo.py | 39 +++ examples/speaker_embedding/README.md | 1 + .../speaker_embedding/example_recording.npy | Bin 0 -> 896 bytes utils/stt/emotion_utils.py | 142 +++++++++ utils/stt/modified_funasr.py | 209 +++++++++++++ utils/stt/punctuation_utils.py | 119 ++++++++ utils/stt/speaker_ver_utils.py | 86 ++++++ 9 files changed, 880 insertions(+) create mode 100644 examples/assets/example_recording.wav create mode 100644 examples/audio_utils.py create mode 100644 examples/modified_funasr_demo.py create mode 100644 examples/speaker_embedding/README.md create mode 100644 examples/speaker_embedding/example_recording.npy create mode 100644 utils/stt/emotion_utils.py create mode 100644 utils/stt/modified_funasr.py create mode 100644 utils/stt/punctuation_utils.py create mode 100644 utils/stt/speaker_ver_utils.py diff --git a/examples/assets/example_recording.wav b/examples/assets/example_recording.wav new file mode 100644 index 0000000000000000000000000000000000000000..2f166687ae76ed57871c78eec54d8c86c52f46c2 GIT binary patch literal 159788 zcmafb1(;N28}>QVJ+n!7w=`nX3aB&)2qFlGh$tZ`9TFlSk`f{%f`kf!NC~KvbhEu| z=j`tE`S1I@&cFD5-+%pkuGyVA=Zz=sC*J3MXM4TcxpU3&8mWJ~ew{{sFtMsjk|Y_| z>=*H7rX*=3mo#G7#9%ISdlp6g3HSS7Z8*l$+dqlVjr$9S6S@O)3p;oo{vHzQ% z@C;8=_H?`O3{UqgrR(WlVIIRRNlPg`;%+H_rSb|t3Ag??m*G*vf5Y^IKZpMcn!=yL zJcq|Dz0Y?X<7poM{ZzF0&wF96#K@(e!ZU^Mlyb}wp8gbmUn+yrIe1Sz506tSpVC(U z?|0$;;ohPpd3^c~XL$OvXjOVAOd;eSi=yZy1K#P-Ur{`0=TkHo&n`tsRizqI zb*X|>PKrg#VkHHmrYngU`L1$LxrOU7u565-q{J(Cl)shVm9xqp%5{7$QS4GJsg2ZD zdPZuj{_QMvk-AH-NiRw*FlrUdU;@Qi7~za^MA@orR2C{zluz+{v$9<|u3T0gDS7Z3 z4k=n{gi#vecYUdjR1H+sz~3eq^+o9==~d|ssT1aDBfTKC!pO1U#|MrRK+y$^{fn|& z*`usiHYlr=rFbn<*5F#N{G?n{+=>+=_mu`qqosk;2vCf{?oxeTy+d4y2L^Stnw)Wc*EmCbL0n5%d#MwL=s*L0u%~ zao{DcNYGja7b%X0e9h1rF;S@Gt0>4&o&XO|FnSi|$cJ>P?-H~KU{qqmie8b>d;~^y z;JpP%F@i<|o(ha;ff8boBm03>Qq3_upu9x=%R77tJk$1cz-{>ADB^SJI}K!@Rk0}W z??-=Lv=7d~AKHPiFOH~HFZSXnTJ+}?wl}rIQyC8LvoBwwP3b#4!u{~b{8ak$bSu#! zJcDS%d*Xg+AGQd$3jZyA8h$2b6m*JF!gs=Lc{l6{#ovGb7VW|_{3jJpj~O1ZR0iQY z{~kX~TllH?{J&=q)P^M&o}J_IC)}rW{L*{>9=%k4Vg7|oM62*D|L()lOJ@+z!k5E!W4!n7EhlZzf`*aIbwLEu>6SY|Mt~HD1XFn_6d)!-i9{C&(oCfPME&Z*5P}l z?Zey&&i^e{A@l#FUdTZ_<9pgnST;|O_Vm5*=%s!CJ(HqFrf@_O_DHJ9vA7%No_9<6 z{C9Tp?@xlqQi@7@i6{IWe#-Y@K1%PE(kQqs!NZQ^EWH z`BOS?xUHDEl&Yscv(3{NM-wf{AzO-9xQ&=C{6yRh_X)QN{}pY+{4mR4UO`_fv?4|k zvZOY|UC~~=7m^T9{`0qx8SjdB%t}gU7Dx+oDj`PjD$Qf~iSZ-sub+M=MhWLfrJqXQ zJuS7;_oef*W$C9<%1Ya^g^=yjzr*x~pHc^5#0WkG-CDRIMaW;|cH%c% zF^UN~7`4c^_#}FX8QFqQn2RySF;0s3#(2j#7mjpnRhmnNM-se=5ues!NS&E|MBEf3 ziMYwud|t|t(3XhAM2^Tx1rNkhm}hZEpdkES{0;YECKPT>{=@GnAwf%+C!u5UyHtbx zEcgsdqEs3}0({PUloPWQAulm1c@1YB;U_|llrMiuDWZKa3-=+9@%{6TpT%8rQEElJ z7j7-`6y`hP9$WF5kP`JNe)x{F2@I6xEn$AbJX4clJ&7zwj*ww=r`I|284t&*@}0}xv7odKbi`F8ne z(Tj4UB!vukPsp0%3O!TTrBVn>g8DDjGx-%)DbGSG+n^2p}qmf-vuX zwI4Ae>?oj0kTMWfAaF}L2w$KFH{?+GIl-~ujw{wu90)0h-#R?uGip~{f={lB1DQsL}>^sp*7HBaTQ3!ig+WuzmS6P5qgz3uFAL; zqa*~*sozrGs8_B9qi{uFEy&O8!N25~_qj4Ght(`s&(*Omjm8L)H1#5cJSD@-N z55IH3tq#3i>S!j(k2@JygK|Zh1g@W8U3yQsjn_lGONV3_K_qnzE2LC_5#1{H=@>ud zA6c;-aYb}-{TNi`EVQe|ER>K>ZDWAOoS5IH@)@pq*dPNVq{R^=j9~_U(OBz>D;n>4 zmBHsoJh7lJrNvfJ|E$JqVhzr#E-DGNrSjlWBb9)&2dF}1suIWq|I~9XsL|qiggS!* zSjh(WkHPh2YJKDp+9d-oezbFe z$|!J0Iq-+^pOPUC>19}}F+c**&{<_%R^S2TQT3OX$r6&V=mq2L^ z$g3VkjgSh!?K$PB@;xdlKjPh0<&yH3a#6X0p0~lBA61_+sGF1pRc@f;66!C%p<40> zDK?_;Hm3ZcXENLOMYzt&nL9O;QK^3Jg-kV{O0;|N6 z8PADtR$Hp#c}wut8Q06G1=WOPShu2$`ykHf!HvX`L=w_*Zc z)gdERqiDOe(5ewCNe%GH0_)8{tA~(l0qivfPn%26gY$N%hrNcXSRbjE^t#j@+{OS| zd5~@jBw>K08c5GU`#q)JQh(`fRJFWN9dBbFy>`bS_gqQD#9F*I^ev=&CI6 z!>lO+^fZ8!pNBNe(luq1GG6JbG*wzE1C&LO%5~_GQ6(7~zXo11z+oih?vx6_``3`z zFy$@fL&)Mh_=~|cvlH}s|Kv+DmQ?gL(s@2;4lJ|bqBS5KzAEpy(*+z z5u8+jj7^Y48su;n7|Vhrs-qIv8@#+LjgsDhj(bBIoxpJev^GjbXqyQAdKCw>{<72$ ztv-?_g8S*x9BF|xU;0!U3q-_9iKy{kCsoA zeUR5HN>#;yS5LG*0SPETfdZLdfff9Y-;cmY5#)JU*`Z8V`YG*jy`_8sxrCIuprjLc zECVl^g+6KU0(xNEftXkTWc>jO&f{-LsR;=T2gMVlkx~!Xa&72_KHrAlw0D#0RrKgt z1>GTo>SC8F(yF>Pg+CLD1Q=khTOA5Ve`O&xq&)o*u#b z-i367N@XB@IB@%!G#41|32rMOIuycg-FRw*G-5GEHR!7;>cd@7<^2e}tpHyu(Bpkr zNE6`M59;#4kp+J4B^3?hrB8r`X^_M`NNuIsekO2KTgrzfwQL_@-iVzH1{4@h*L^o6um z`bzp7Qkx^q!Zj0;83p~+fW=*fcUYu+3|y>--X6o}m4}7Z00IlJ8*mZz@!jxyo8kAS zDkI<{>ccjSO03dE>4hr)Ui4>Nya_CP15f&q@-AA9fwfInW&;y5;3;N94tro71xi`y zuLtV%uK^X6L1Q9%{{{c@2)dRbfvT!sd`9(ZgJ8YWAd5xN@p$NyJL&{|bJ8!G6O%U^S>X(c1-N#RKtsq1jJ?g^|Gd0QiQkN=Mjz2mE~#{LaEhCk ztYW+JIb`{c(pz~IxakfYysJ!t43+{n-y$ZR1?sb*cL($n1H1JDOOJ4mc~~;^Yy!=7 z5TDwsesT!#@FDpB7?>XoeqWP1fZ|q&U@yQD`oJrE0BX-MU4wZu*(D>^EU8#8JhVMFYdjZ zgdaSr><4damCvBl@vxi`@Ogvr8U|iRfXDY?OP}D`YnhSU*QYleth9{lT| zi(Fv&f$G!9`330xGbsX}k2DbVxdi>u2e(bWr+1+6|;{1sXP?{pYG3O_Qb~ zGJFV3jerE`onM9TZ37FafjO?!hCTgJ(Mgjqg%-^wugX;nf!a|DQn1V^tgI zr@RJ)cUE3d+N#$J%1f|@F3RglAK1rWWe7MQ4LM9gpQ+$|4!BRw*l8iSov3YCSo2**HaBw?JwS`g2IPg3T9$`M(E2eL34Z4!x5g#DN-BkSnJ@p@u$#KN~!?1@Rp}`~YmB%2ZAAyv8 zs-*Vf-9bD(igqUuPfnx9dH9h_@F&+X)&uyu#~Al9IDdjU(jjfGy;*zVs+%iN9c+Lr zeXjSo4_X$l^0>Gg$~{f)k8%yneQjQ(zbZagQSa0Oet1V*RS;E~c{jj%sTp2Pa5cs! zuC2;r+-S_fR}99C!pN+ugx6+VpK{&c0X}mfk<5Q6=6Z^&oMgnWcyRInIqPG*OTcID z^KyN858Pe_&sPxZAK)3Q4CxqywHB_bxvnO^thcaM!5RarF!X?|+lZRi(-kojDC1r+ z_jFnPV&#DADy|5{x~V*P5E&%v2yDkyqo{zerRdL9cC0GXvgqf)7~B=+N{zLh(n=qz zYTW%5^)+Dp*B1RRhPaWNmuhL2~>fxbQ)p9}vPQ_ROY zlBlMLT@CJXv$8@7i251pNTM>t>IwOe!e3SoSZiS~R*%f!luwBc>XLfpd*?qgprlxr z3Rjd_rQ&#$km%=xd{~zWuji;CUaX6S>tURYwQsK~19F`QIq=*BuME6$aHl}kCeL4p z8ZzsRtQwWzzR)~Zq-^C@?}{CEQN0(HL~<0am5>8cN=#DMtb>tmt`TSne2JPE>tZ}B z5Uv$dtCXBgm07rgz-p6CpRlP5z#Ibokf>nP}|0G93!=nBx z>V!gHL@yC;QRPJGm@u9=)gbD&82BHoh4(Vhxa)R7tuq(mza z8m486D!ZV9I;JcHo@w>8_Xt>k9#2R!>-Zc+?2gd-M9treXY&8mU3f>Mlpj&?CNjw_ zu}Lb-cqjB4mXtuVkiDp75(Tst{s=D?1Ye>G$#|NID;>5$PftI{AI{5&ORq`4>IU86 zvs_xWwi@1zAx{cc!_;|rcZ3KO=f&tn1E84_7CK_Z%?asI+M=&GLnJ&CHAEWuLmkuh zMb(|CB(L;HJjKKs9U~KMhPbg{R7%@~nHj$r8|l}X#S`K5YkBxgZ|BAx@+oYY2x28y zP|dr7Ue@pFZ2}lw?3wThZCLCw2*eZhX6Tm{66%GT;du1zB4+DBvmT#`3DOt?D%qB^ zGppb;`aU9(8lnV5mDUfOkZUn2ThjB;UdWHwTVbRk#)UP~T7}&T+>0tFEt0gec1*ct z!q;%ufRSG8L{Z)#M#U~;60sHb_N?}s(3cUW5He(B5xz>y8$Pi`E9cGzDW?8OFA*s0 zp135(I>?WHTS7a^O;nH>P02g6O=jE?kdmmjJ5@;qz^(A^lszK^y*GCQ@^F4()*+h3&=e zB7GDH1wY1rkjH!}j62FyWEo;#M|cbi?v+D+#XO7o3Z={Jf)tQXfvW)IAhLlHRbHfk z@iQOX@D!f|BUHdDxD5K5AVi0E>(!OgQS6b^H~P_^)|iPIIfuyTXc^gfLd|dnVwD!b{3sLEPVTW4LYs^r;*2M`;yQzQ zClL|e&lGtb^EjRaW#%qcVj{k3fDDmQ)6;Sfk0(mgz@5n2Xamf?g_jUn2lFZ-LikLM zMti5c>18N!Mx7E+%QoCW6g)7a<=Q3lqZOZYUWJj zfRdKcL&Q0e{jkDMYb70-m_bBv#yWCS1}|C_Em3$xjxHhqtLM~=@T|l_*ay%e8QB;E z#dvJX@uHwF;*Pe+7kh||GZJ%Egr$_nZ}BPzPe%_$-l$~}m$;Y5mSTM^c7GX#NgZ)X z%V&HSRWHVT?sCxHEqKScO8U75rnN?6bS>mVtD=pQYN0Lqe35CEKr&ok(n@Llv{7bU zT%l60ZrtN~H4#?Hl{i}n-$3s3(J}!wiHBIV$D;@L&4qp$9T-iS9dK>IjEYjBW{DI= zdHOxhMqihU_I6OrU13U6tkSqU&0Pgvq>LU|1FouJN3Q|=4)?yxtKO#q{tCaxIhmUV zF+MR7!j5bO_@_$v9bV@%QzN1n^C-7M@Fmvb%sO};gsUj-yH)@#%q$qwiCUtcd2R+c zXFf{5r2%i;a~C^=jH)7&WmX|_QnBJ>g@F}HexJalN{4a7t74zF%G`kdMAS>T=fe!h zi#F^p)}g}x@EZ9?6vGRldSId{&@;9s1> z;2ez6#1Fj=b7*o(oKRcbQKCPlMQGsHY2);AL@qsr2K$Q4V}y^Vjf?)&n((kZufPff zk;7F2`-(LJwLnQwzKqIZ4V?qLako5Cz2bqhc--Mml?nV*$5meCiW*_{H4!aRRkRYx zxuDvkw&ad~1E7Taq{6cYpzS9>?R9lO=@#BSgba(opNQe&)CeOAdoc1dPZw(~%FwG) zPH$WWHPFTwza@TiH;~amtUI};q5f$Blvg-I;hKw~PavNp<-Cd7sgbGR@|8R)w#MA`Ma}j#N6nM11fscET3g_lGd>-O?F0^U_owP6VSFBn9S8qfs^PFOEYf=48V^p6z zqXyjq5~FXTl~BJWn1!_z`Va1q^V>Si?6^C}HKGwGHnKrcK1StggOxizVMfWwPw&BO zFBUq8Qu!svKFrP2Hk2FlE?OsjUs=ev2ILWq{>)0bKQ2}nj2~R75oz>O0*g9~Bw;)w zX5d+tGI+;~l{paiN8PZoJCMcis8L_WY%PK?|da8n1!Zw8OS6IDE86$#p?ndWMRzmh6jQKimC zpLp2Xuj+2jaqME;Q%7NhqiN-Y^wJ%)Z6`?(89O|YlP+FA4WsGi{oBpVB>;mL$^*j0Lr9$Z86>_7wPz8PLE zA?enjq!lP(uEz5|JU7t=6xW9aYU0z2Xvfo3%-5=b%G#JM37+x_w0lRD(l4-rJJ2?( z86tCug)X1RxQ*0{)?XIVV%@`wHe92`V5IVpL`~@X1?*e4$1F`TBRvDxm5lJopg9{F zWByAInT(64ADHVg!)$~-wXU4fR&KNy!5e(lFBB;EvgaR`q;QDvex^vcAPSqZ8cG z-XlOq2}ZsE>p2SaFgE0Z<~UfVN2!hz3B$0z_#EU|0BTQShw~fkckYE3IRf8$3v+QT z;Y2*7zhK6v1x*!jCkxc>!>;O9j7u-fvqXuoNh9>n{b(ELy^r0)zc5MyMq%_fBdYMb ztMsGXJ!Do#WG4U-Vi%d!89OL`1bm#qj50VNHW{CJ+KhRyNA>=7OVhsa&$Vc1O`gtH_|aqeIa-dDi+u0Npn zFO<1B`!X3j<4dsLeGQ|CT)qOh_CqZ zTVa>JJLYQ!jU@wrH_(dfw7-C`4M5Fr7@az&l|Ld>wkC}mL zhFp01fRdq~(gUl_V7U#UE4NDh4K)frR(r9Qm+RR5?W><3yT4&`JL*jz_%Zi+=f(+LaIA(!fQF~_&#!x=8)!V@cyshcP}94MZE6? z88<{9dOaQfHpR&swuzC_F-8WorvU=X<0VTu822WkK^nAl0h%6!Qzg$SFX7bUGD!O( zv}pr&d5*R`EQXm6&qurguh|19eBQ;39n^CUO)$EIXzl>=p9RVr!3S#a;^~rV;GZWv zZUHg$;Mc(8an)~qhr9VW71v z&RQ&&c1h=@YtjX2A5QE{fJF}ir*%LL&vv)Q)f_$P*)9S*yTIXMg=a+$LdVR_Q-Emt zrApvqIL@xzkX&*_Tn^bS{fV=Cb#XfLE^zPycpV4ZoFy&6>7eO20W$%7M!~|khh~Rl z>O&rzy?<|&9m4RNmu z@Hk98i#Gv&z9YOqd(7MiGkGyfeaNYwdY-7ElmeT440-Z<_g-M|I%ds-|7DIJ2aJ4< zQ$%0kB;h{wWXPYejiAyTr~AH__TYrh0`(NzT-CpfLjLd~#+{B+ZA-x6Sny%QY3=<$ z>oLr72q$umtH^l_DgLIOIQbQG)c`+UNarkay%Vs!uW;&a15V&920pg~Jv?=D268wK zS?9pZa5bBx+HMSHllHkdHQEzce;4@H0PCzN zaMfG~J=()6#z2c3pyjVHcNPk`F1e8$Ehpma+Gw=Ajd3R6#8_>`rCbUf#+l={px1!X z1eTfv*?#~j&W99lz;AN24mju34qhl4*z5uOmvGkoG<2{X{;YP zR@)7Drc^qD%D(8)6lcB90w0Uf;}F_hf|PR+MY*zW54?{7C%wSO&p5Nz0jD@Wgm?V` zsGEV4y{n;*wm5f}A!SR+u*n^;y?xS2oWPrnGiD2b*k7f)kn&u_FP-!qBH?04wX4zs zS3R5{{s7o`2%WcteQ|{>Vb(^FZ*zR^gx_r-?b^~g#F@_!H>N<_8}RNctP=LXKC5BW zfjG(bEPP%!oM#-56LIgt%8QV{#6xD!!8^I6Z-M+Tpue5aU@WA>oN^LS_d00&OgaTG zH4u{R1?;Q}y&ak#x)!Pc3daDiuR$7$vQWyCYRe7eJovIr;AyXPOG*HCwqjNvG_n|I zU!|Vs`vcesVAbk`HR+%cdPSa;N=8ij8TOJ6U)B|;5a+^|4Z}0~u4mvg58zDbvp88k z7LnsJssrsnDDpv($p1shw zJ#b!(71J`D$Q*>36`Visf_wbdLQUxo{J}|3eHG}a3V&1;xmr9da;$o4`b(T4WxRa^ zPjVBMmW+tRI#V1Z&eOVwFz&ao;>kG4cMR6bjIj?SISJaT1C;YSM2EmBqb}EdeR1~i z2+m&ejCE^7v`kQH140kLf31Nge+1T|VI?Vuv_~-Bi#Wl!0p6G=*qUP8`rs-HSevMH z!Wq-K@SMNF3LjwnGN#B7>k()*P|_@3&7Zy$`;u14q)g6aDEmu4U&G7{>CZNSCP>qA!n_O zwy%S;L@6j`g5GDOT{zvk60y^d(N3cOZp^QRjeR8j1kAjT9_y5$I1_mop6f-d4sJs` z^iMTmC5<5QILz}kdOcDa0>fXRUpHhY+`}|N!mV&}nU=H~F)l*d4H^6lzP7-|*F!GR zN;P2N2z1yPQDPb}eG;hN2EDw5=oSU7WWc8X0QxQ~1C>aWCr*ZThRVQ)U&APFr6N#s zQ+h`3DVLF-0AF2^X+Hw0zd%Mm8S-rmJYRuCE+gCEw_5VyUyeb4SD?FW*uSizJPmiL z)w!_Kfxz=BjBbYQ8lVlXn#zNkpJ6%Ir8Cm+;E<<}hrouWgD0z$08cU+=VccF%?Zey z>fm{6=w>$JM|H&;dJq2Y9*}z<+PDLp)Q9)7NU89ZlX0^63t0ATtiO6d&bL6rC1ehM zh1Hi5aQF+5GFU2HiScc9N*u&6^yQ=Aqb53kB^zhyuxmtaF4==~_Lcn6DF--(g_LT<4UW86dja0EVQ1*CQX zABTsrPolsA+ zzkw%g%RLmAbQ9}^7D_?rK4SI;$fGK(;X3l#+gKCqlH!p^zX0@b$Dj%*n~2wou&Mj- zTMwa=rtoYP;d}ppFFTB0@u*CcfQt3-DnG)oWqht|l8 z-$RC!3pBn2U;P*Cb`>~FMj!6nd2#ncRdz2R6S#-bspZQ+(j933Th)IaM_w}*b4@@r z$Vcp34DIQmkIlG>@p%mNbsyfIyBXV%9n43>90cz=5Ax3h{r7>O>G=N1XBho^AbB)! z@+z|K=E$t3!Xh5R1M`dozhkx*(dG*98w)Sc5_UcVEw%%H2VmngJ0a?cDpezGcXvVmEA-OYH6a0+P z`3=z{py4^-XCYRBX~+bBM1(R*f5LK^XR=bA0*ji1?@2h6#85fJ$T|3~zzt9m3vV(R zdDcDHLxGMIjPf?T`YHG!`ndpTt&4chO7wkbHyT_vfYojeCKOM!+sP zZ4E!!2vw|yz`zpJRz5Vq z=7I77&=gln{5I{2$U>$-I@d5}H{fnKw0RviBE!4(hOhq|QurGP+K;ha=w$$Xu~-vv z55@}%OMvcw22Qwg;%To-&{zbp#cye}LoT=;*d2kmFdQqbmEb!I6t{&GokseI41Bj${U;H<9~j#P|C0q9;CgW}JjqIUnpco1QNHJq5xk%TLmBW3*`X?s z=LYCr133&v#9IcRwhg{y9*}+%G0cPLvm5IS1r{<9R`wFU#dH+k#C!pshX1YZHloLI zV1e~|yBaS$K%PIs6Z{Bd?EyN@!czFn!HGccYT)lftm<0JUFEX!S;V8>kYoVzJ_ddg z@U$%G>zp5-f^qrpi)0bhigunTb_ePo)*U<#ZB$t0wwSRx!6pvdDJ1vK$9L zzZc&h+zUzmfI3PKNO31tPc;<-a*)%Zze1i+GicJUEQ5|lf`=N2U~gge{}&=2`rHGpZU!1JAx|6t&v_2I9FEA{A9-o9!fy|C0%wDO zu@h)F6H#*=(0&$H{0$_`9g4E>AXR`)18@eBAo?wwWaIG zIg=1mHlS}etnFTfhj${YnI!SQK>iAE!Cgr1T~$FQ#{I>f&^GrKPr+*^08LxLnJ<(c z>H;q^5!7$Scj}HHXJbaheNYdqxjy3AO>kTTeWQ?lEXDV)1}gqg39|b@s1LGKQovIN zhv9K-Kn(vUWiPDYXF=bE%1p#I?yh`*ysR4he|_a<=x(Sc`YnUy?ozq|yC!(nuMnk< z;v3EVKt%`8!=1(yWj1W6rt~$w@m4`;1h2IOcG(;nZi@_RGO~b<$Qfp#CUXWgnR3e2 zP_)tj8oq_-coB5&L(a7wzUn(@zBQ1r0;}u4U^ibwdncjie((VMkehvs?~t{GCp-wb zL?Lf&2VcdUZWA!IAJ{2}mEURUk#tTfLH*$q=&=SgQUwug31Ss1eFvbyWTg%0X@ZFS z9rAPL&|RSSMaa#Ez^0Y}k-Ly#Oov8iA_MCR|MM;Qp9?frLq%Z`GO1Otqt%diTl8jT zJ`i?z2s4j@40?fU*7n*;d(;?z6EWnz@_}TNpOJ?Ek3C_F+y`_+_HE!N_Q7t)fR@>a zA=P1xb)}uaK_z4tZ^J)*1RCOy_qgQ8Kx#JP;UVa%19b5Lym@)}rI0dO%}FN1V;_aw z(xv|Lr}7keg8VA1a6&sxnzf?!NdK8{38J0FeS8Hb0PSrGCk6y}Iq&z%9B@|^sQnF*0qZq*i}lE*GeHrfcs@KB zPuPeoUx6j^JFZ>OBOW?=85O=Z*d1yIx(6d-Zv^L4fvN34)hu`d{?88surLAH$rE_9 zOA0-DTVO9n`U$vB#;SBCp8o(mFF{uImDE|@0FSmA9_l9etc2L?Mii@!&(jg_b_1#3 zKrT6mTPNUAJ^_u}5nq4Ch!Sk>3M{@h?7A5!NQ74hpk=N6JgNfYYF zO2Qae|0d}96ClBcibXZ_=?u>^3vJ!7pedMbgQSs9phmL=*EoiX9?mA;?Nyu@!0Po|GyZ(x3eG#kk)~KN03at-q z4&4r|4XqBPh5EvxCL#VF!T7(y3vjiZj8*GIAa@chj&b=oXj_EbU>GcO1*kg)AI<+j zbQe-~qQ~#(_bRk-4s(rA%3@v8LWx2~eo<)wk75Dt(lBCWc;h3`a3^?{&k(6j!nTuv zhwjK<_`TdG(9;H3_$yfVu$FNUug*#x#D#v!|g9_=)2?n70b$8Z%yAg-yz?5UjzR<{}=vM z{*XU9&_1v%a3F9spb2&gJ_=3_Nk9uQB%hHRYr1Pb)kJF-Yk$(dt4q->)Q>c1jLnT* zjT4MLj8lvwjFHBv#+}BMMxE(v(}$+-OwXHVn7=mXnv=|bo9~$SnOB*+o6DP1Ow&x! zCckl_@tmPRpRSA4WoUkvlMsze(tiB6oI4>`XnNqX|7HI)-+HglQ{B_CWN-0=BDXu) zUDa)L&vU=&p6{;W9`8QrUhg&)O)iQleo!=|_??nVB~H&!Pbbez&##_z&qVO}vagRX z!`H*#&+iE22i66ffuE0HDMt|J*U8Nw^{=!8!OIN&@A@bD28PcKMq_{QGsXCgag*_; zv7xDxX@kjS9&X-l?rKgp<(m>rGfV@)UB2-Ics*pC1K!&jwZ?#v6;3Q%SNOOfvml{BSNL(^^1}GS7u{FfV~e!KbBc!* ze^h+2_(E}P$<5*&#c{=&lC34Lc^-P6^XhzCd`^Fs|90TZV0*-R^tHUYU5Jl4dY*s#9U)#<0L~5 zLp#F;!y&^d!?VWkjei=i8>^d|niiU>nLjm;GyiT@%xf*zECrVS*7?>$)^@g=wmY`> zY(uQ;EOX4OO!3A_roqO#hCJOq?G23=UN1ZJ7IeJO*Ug(zGODC8wELBNXB7|Ku$$nN+MPI#HOLzbd~?-k&*+?1@<`GgC5VW}HYr zm)<_Te|q2aU(u1l;xtIGz-qE~JUgi8i{=x!J!TW`;x^K9j zDY{zpu(*<^syE;r<-Zu%AG{utrB~%U@_o%c?P1+qy~*&4VW{!3aj>a{xu(+xrNnaF($`|QRJJ%R*USO)b@NH{Y4cI@ATxEo z4jNx(u~>h!p0?&#KepYsO}DSHH*{n=dOOpd=UikGMqvVYI)mpLNylgu+2BQly~ zOwL%C(K%yBMxD&9nXat2vfj=*kkv2yMvf=e?e6^Btp{l+Qeo@kvHx=CSP8a$nCKlUpbEo7{7`zTD;cJqsolG%Q@`eo)k{ zcwB z!#ZtH7pL`y-tmP>+}@Vn_uaAi-rUCd?ebUWoXo0{SvT#YGBo5N}^hweaO~y}|6|yE~eUtTP=8mipIlXgZbNxA{{Nlnn?kDb=#j}fV zl)U3zfw50`&4C4>4N4oiK$bO2wH5T`4SyLbn7%Vtx6ZKLwoh>c98F#8T_;^{x*EAc z&T-BkoSDv3&TL0bN3MOFJ;AorR$%+o_LFtCwWlrGw#(YYcEDEFHr493jZ`ya-qk;eaPMd4E%N+4?#LkF=k@KSFL=B0GjE;_)?3(0w-uAieUHc&0dUJK% zJ?&I|Tg~tO9mV^KR+e0M|C(Dh+n%*Qdq~#$C(ToTOun3WFtITHa@>b;y111IFC-p} zzY_OD+}(s5Nsp7-CUsBxD7n=WefqoUFTq06GLB`vmwhz5W=_l8F$Gf!*A=uXT;!fp ze9H5tcbe}b|J*3bwDTRv@Iht%7}q zqn^WO|JMGjqr5Z5^>M@x5ltg%M?D|4D6(zT=E%y?*PnK6=FKkHm_Iphjyt>Pvb#c& zrg)HNx^J29w7*$kd8ni2N6kv@T75UeH-?vtS*8yxFIdJ|@7M=8{ElQtE$2wr*RCwr zR98FK-|%0zU3FX+oJ*Wr9JTFZZC~5w+upS{vbwB~Ee>mrrLMJ)^@8=0wX#iPU2mOe zJ7fRYS>#;dsO{+O8XWN*eBa@yrP0?TCq#FN-WOA+%qOw$l$~E@bIkSV!x4+^z3oHn zTkM-H{pE+!``Ytz_u#;yK1F>!bKJVTtyysy!Axt$xRf19-z08}kBhe?Oo%TZ*XQAr z#{~&X5^lxah?|-?Jf(BW<)jwL_ftMkH)ht(EXuOx^vRu^+co=OPMy461!D?V74&r1 zD0;tmR>=u(O@F4Zm48YgE|?T*Bq{Pcx~7Qz)eJ3-?^{+_9oE~{^R|7CPhC0A66Yo7 z1XqiQg{~g1OxJ$bQrB!(ZPy8BcgHdNBzuYNS=%P-QfoikBHJ+QX6skBCAMVS7~31x zWb3!qDYkR=v3A9F#XieX*5!A)TH_lM8|c z@r8euBo@aPZS{2YHt?PEj`wW|>ZQYSzIGNO;$&oesiuk6gSJD~3zpNi(avSA&s~k3 z6`k!}M_ehc2-nN5`>vxdXGCvTtn*DrEyp$cr}lcbO4hrU#?~R$o8~^2%GP0)8kQlJ z_bffFgRQM?QTC4Z1jkFx7LLQt9TATrwzxEr>!LHFo{6pz-6(ckY~z^9v0s)M6H`7S zny*8nk&B`r!VwBavycSRJ1wYm~%Mex3nIaL(_jx%}HvVa6ayxxOWr2 zN%-<{@WIHqZxz4MZ+MschWK;+aehtcFRZAew7Yfd^lrmpgTq+QJkEN;HpAM=^0obf z>!pbE&MzE&UEjOXoJXAN5ZCrQY|gvR)=rIM4*cR~`(xXy)^3&^mcOlU+XmVmTC~=7 z_EdO+Cia&cjp0LAx++G#7xAO(m58BH9iqBM9f(>P`C`<(sA@4SqF;+CjCGVb6Wb^z zB5IrCZToAMKapMkZkCM^{wXT3_Zpp*N z4_ZAq{J2lT^KqI7nGdeU?@5YEawqIg3Z!&R8=7%7vrJZG_QBkF1%bkTg-r`yDQsHY zy(CmPA%98Hr{0m?DeeL8KT6Je?Ea3y?x79-=KkeM9j#W^M%PBK7}}aoS~glnS}xjm zxW08h>sVm_$XV=)h&UPfO~hDdnq$9nOvD?m8}g8xxc3I^aBGPBZi~=9uSL2M6mG9M8=zdC&hv!NZJWsUx3kPOg~TDS1uu ztb~>Lcey(rTOXaix9xJpShX4-bYW{FE{&<*SrGQWrmYGp!`Uo6{-JmD@gd zX?|Q`-NO0>iG|gRhZGg$AId9oUoL*O=*7Y|?$gE9N)C8;1|9_u1%?EFk%s8n7+aZ! zo6DHzS}s|CwXL;(>3TCF)p5!Gu5(^wAi^3^Il>$<$vM{XuJdKrHRmlyiapZa+q%kP zv+lE)t$&!!rs~GmjP1-e%Wz8rWXf^YTQwyiK4w77j+nL4waSEI zAL6yQj8b++*)!$ll&e?1dil8M7hNA)vJJIN+s%4cmMOEul3hDzlJAbEd_mRB#!nIw z+r%|WK9Dv&Z9u}7M-v_$c)a4_%MZVQG$WyW;?&3AK1zH%A!%94fG64M(HR5M+)ox} z{FFDnAR6A_w0m~Z`NFzIcF$vP*OEK=)$?u_b}0F&WSIMFcWbO4wBD|;ibsJp!Plfr z?XQL*##LDB-Lmwz^|p1ek8`~4`q0(SrFH%4n&-@N6gjI$EQqM%9O>xg*y`xw*lF8i ztzp?_e$Jd^x^G%;tc_J+ym33$zP&9EEJv-g?3s?|u`;kkG>ljjIWux(Oj_)~GS$ld z7(1a{W;sWNt>xb>_fxrG*=6O9RcKqWLWM@r9qrFs%b1=qZP6bv|7g19t(X;+s>%Pb zxI@7+S>03qh#PpX;{Eu<+D{H9uDw70_U=2;cfPu}?C~3k#}j5fJp1sS_#YFk$!k)g zGd|AJXRgltE9<@7T6x_H?ibhfoG$*j(B-aHJk=ZUeO^-R?p-*pcwb46VqMAaB}=_k zJ&U}}gAUX^zLR9#w+6Q%%dpDa-?rT`*g4L1#WmlR;LLS)j$9FSJo1pMx9f!KC)W(8 z%el~T(e{@m&RiF-D(3U1R_39mX~rXl7fhd-&zg!&PfW9|A6Yk8f4Az9c^$vkLXJ6MY$Y8o- zphJ)NG1D>I+RPGf?q%s`9&TKvAFMAlHpVK#X*zB^V~8<+XKZU)Xs(IM$SDi&7MfO? zKQ||s)6Dy=6YPiW?d=b&dDc~q*-pD-vGum)E9(jCRQq=O2ez@+-z;OzsfM=tINh`Q zZ?u=?7-@VcD>%fz#e2GVsQb6Vu7w2!>+-X*OVZb*8Pjj1A4=PodNR3ua@*wMq==M* zscW8OKbe$vKW%V&QAS+Wxa_>_K+f-ZM+C7=#* z%vfyLZb&fr466+vqAGLMP|L7b7p*O?{aL$QTTeSpa}oO?&&%yJ&uBi9k4cr}bMh|v zz8ojNA-9n`%ai51(iv1ym!Q7+jMPf`BD5=bC-8S*eIUbM*B9@xc?OnzSiGYs#XZd3 zwQx#-vmhh?$;_RS*DU{j{>KH|3uYHIDXiyySY$?( zsk5%HGg0US#~4N#2{d#3dm6ai5XlkIozk*Nab$Va%#(Q>_Y%Bh}_>Yo< zo~xdar_giX+sha4{n8ihALm~Zm>irNs)btS3#hn0lA2;?ng8GRxKvNhk-wH3%O3F1 zA3IB3l#-A`*&pf@>K!~AumslyOo4~~AN&XWF9wDxA=_yF8;FqWZw_I>%Ox7 zAN}i5Ih^BP=^y34>mP#(;)>w);NjrOV9U@U?An#VzU5x*0sVoK3T3c|{I&d{rbOdG zb@K!5X>AMLDBW4zr>M%<4R0A18O|F#hT*8dJv1IP{%riiI117`WO@r#!x+;Ue~7=o?`Lm6?*Q*S z?|p9>)IL*vQ++S^TKG=+y7@QzpAB3OEDz2J&JUV{+k$t4mQZEXfjBm-U)enu@YbdONftbWOR0T{E4sDKsIp zC}dDFv76xzHNk%aUV|Noz4B=39i@_XvwTAyqj^uBuYFGLD_7IMrcKbS(43RcNiWIw zwWBo^rQA@5P#H<5=_=h0{p7C|kV1G zQJx{M$2s!hp&r5aLW89Mb|G9+T_E)9z;pg~0Vj5%`-X=5b-_=9r+tG08Q49m7_^4I z3@!@pL4~+m=rZd2Z_2lob#esGTvV5<%YF1;;?zzvXt0y!7kPsAghnHOC$-Z46uK2$ zj=ipO+85W;B{q~G)2BBUyyJ5P6sCA8!hX*i%BvxKFI@UuULC9+_)s|& zN|ha&6T#Yn&H+ieAkWZtl=X3^5|e6&)a^D;Y~w~;cI23?=`GxekL2dTftqt#yL?e`YKpWKjC*J?zWS+}B;#jnS?SZ1wb4${IhmwAAGW zB-CGrXjT~3SgvUX`4g2K>45ftp;+e%#>mZdEws~g)j~tHG1%?-Nn_Nn)1AV;{NBJW zc%6~v$#O?!iodphqxOM6!5E`F7hIwEOSW6i2mGFHhC2R7sAViwI%$V^pVfVfGXw7` z$)1;t9;K(IZ{V~1w}RKqE$kQkDW2=T0YSI#8~IOLx4tn*{>;jQ5SDq zV(2F6a&wBF(JYNxrS$Ps_fIe0U@Opi{V7F>1u6P75p_);d#mJp;5<1H%M zRn$k(M(hc8&{i*MRHV^=W;$-pCn~X<-3xA)bA$7xt;WmRlTxFi z(V_ABO6In@*-B?=vA>CO|ae=Oux16SqcU5p~XjSla|C!)JZQoFR|2cO;=uQ7QoUXg1{X_cF z_pvxV6~=N+>4CCU zTR|12-Z3B0Gd*21ooUQVU= zQ=`~rsD<({q>3NVXj7~(MVqhDQa>!In=sAo*Jl%tv;pKAK2zJNHH&`1AGlsjCnik^ zs=bMPYALlIP7vF)QfxEw6&?ty$U*9(TnyOkf9T!(0Cl+5TwIU;rFEty^F+R+4p&5F zigrYMtAAE2$cM5vX+B-09$p0X~Fu`CE;{2mVQW|WeU)*!ih?vTnnAy z4iGcNxG1>Rh=sx~cA~l^`c64d&g1?uB%muQ4&2cu@@J`+!YzVAGsKV4-Bf`2!%&g@ zCT|VR)RqYzZVNeCY#OPh7Gsw22lT}7$!K%T)9vU3#7gbAKu~Q*pGOjV0~A5~A_tTS zoQjv}e^l9b@Ri8Vp55QxPN9rNARP5A2!!FYldZ~OsY8bf@jl*T&x4j@lIX^L7y5~!e z_E8h`d|@T`j&ChArY}b(`Q|9oh;4xHp5?pH>C%2}Ki)1)hOyR*oxyc6y=E>(i$%su zJ@o5D8hMPeYIle$bUJxjnH0P)ZB~|`A%>}R7Fw=W1U6#5ev8Z}cThoGo*0HI<7)C@ z4eKjZ6;-3FP~C8Y=md$=W)d{_56q5nnm-a&_v)3IN$gK*8Tmw>p~iwXY!2>&GN=kn zDoav_RJ$}&T}4!**HGuk`cxgz?*7tdN^La_4TM>!GucM%rCgzYvgOFnilQ#W4@oCY zGT-z=B35<~?U;|`2eOQ^R@U%eM0q9=H6{$&AY4WNtbL|D^uMSHnG5>1t$3V9qH4q` z@(;?uykp*Ly_LIawl$@ui-n%~gBqFF^;l4c!JsNgb4fD{B>%$Iy{d zNuP*@g9huKsw&mBWKF<_a8J;iQlP{%!uNE>0(V(e zvo^xdv`uIw3ZW&SF&_v@-@f`r{HNMM8mm;%-@s0NFM6syR5D?NXK5t?E4hXi>hEAb zFit%QGoq{>hu!3Dayf0JnrR04gfvTg1PJ^l*zI4^ifDJ0;c88MQon$XpclwTT*Lcu z3hsy7fub&kScmG-*ARspYc=s`U^27dO1C7JqBZc{LqM(88O?_~vXdUjl%;5T8}$SI zLIvqsd=^J@d9)jT&&!mH9mFl-PBJ&Bb7&a(g%(kWCRF{^j9 zyK1t!Tv{wj(e}~F;u$za?~3jRKCwmQWq4iK9tlQF(bbXS;jf_&p^A}bk!8_JQBx!( znkP1pW{OtPBVLwn$T8{+ycy1i5!@6{032c(_{I95-smTZfq}cilw(AC9-}h#x#>bJ zVGtlb%}fEqU1OSIu29!>#eCNK)w;`8&ED45$5zZX**3-6!5$l1CGJJ+hyusrR>XQ@ zN;-B4NqTMZt#pK%XnJ8OL{i>rKa5|Q%u~KAQZw@$oH@Bd0>rHUr(i{(JKjyDu|E7YqC=n)y3)pd5qLs9x5&jxA3p=(t-Jr z;_@l^omewk15hE4d{g^LWKfTp!%R`8D^rwfDO@z3Ha#(&vsAX#u#d8Tu`aeuGLh!* z*3*t~%uPpAtJCEq1`j*#5A2xzemp+j&^tBb76P=1ji(cIkf6S(bOrey|QxL{aeeqg)f7z`15 zi;RM>fnR7GX0(oV_A(! z0gdbY$)4H1ACX3=o>1O!hT1F7gAk$DikbA&jVN00uFQ-643!J)^A_}e@s)wKv_-UA z@DFcWcWHN`zj>IGIh+Yt#t)s>*J8*;qTcdF%#AFE%z1_h!e*hGa6))uC}Cb~wc97y z|FL#6<@3|H&-^Uozm~_=HI|5}n(>IiWh`lZWbYe0D7Jsx(gOS96B4}%zQkLJuM-!? zy*8BB(t{_Ye}tUG6$vs`CFjZ8)$a#o|Ec7WJGElo0+|!jr)7${=-GhYDIWvAFdg4q-c z%tOATuw%I8Uqes6FprE?EtBkf93>rPY?&tA_|EjnS~%vn0u>VnCALW-lg=c5O-M;B zQLsqL?3C=7t7Kx337=!_$*qcRvi{}!?|rS;wSJb1UZ(4jLqkWhC#KiTwB!|aHpxGc z-`Ks;Unbl#`YBo}QYJ|F3VIE}XUY`jsIjmxkXRqJg?CDu&}8lhD-%DY9iiU?5np59 zO|RsA>kIk|`!)AuXV?7mPM@cLplbM^XfJ7i(pCMbTm_}x1kFQ!;X}q;qbN+~j10@{ z91mlL$NXt~V6JDHX{H?g<7y-}OH5BZmrykE zX+pPzzmj?tdQxOgf}i_6bkLKg9*L=3EL@+ja$1M174n1eb8s$XT-;r(*ZTEU}5EhsIRPen;u}^$8OazQuP; zc$tt7Uyl;+6%>jTD(E#8h@Qxs64)e+O^FozKvnvA^6~O#=3k5C)udAydc+Q#ot3n8OA3$2X5nv-UA1n0>ZJ1=c36 zOF9mra=R0}3Gs>R67vgAFOrdBh}naGId8f5qEkt)igH%Yb^OKp$9F%`;j#2RYC-sA z_TitKf63XK@`mPLb&heD^)7@+<*v~pA{};lmOCH2ABcO{dluQ$mRuO==1&e^#Ix9O z+%e>mHU)3`o&rnK(YL{q>bc-K>OSD^=U(eU-gVwppu2h!ZlDYzs-ivkh78<^p2LnX zv$merWu_H|=7u7M7RHcCwbhS364x(osAGZkceC5n$!xJ^*jvUeiyvB`Pz-5pX5MAp z8f#B{mOMInQIaL;I{apD6KWI2%5f1zSCMrt;2N!wS0fM|8_lb9q@GW7Wd3@4RtzQ<2@C8CjZyKqwq1ABM!no zXDYaDR-wI23*%Fm*C|_TmhY zd@N}nW&PVeF0NG4`K0*?{o`*Gn3wP}$yBg#!4t{r3gss?a7-fS28#HHtCFp8;tFf= z(CQD%pAC8YdmbY_!;7O6^0{B0Z^wR=|7FiEmcQK@aToS}^|uYK3(XAe^7r=HeU|7t zy&-Gl6RE3ehe%G?AobM_fsdt*b}ahI-`l+?|Dx*ZfXQKO~Yrku-m-LnMm-bf- z+z4sncKi&Tp!$((z{Am!MEob1ADTNJS=X4dg-J%IB{@cjO9AU>%Xrgg<1F(co5^0>;j?Gi%h>K(hgiGW zA2>_}rp7;aOyk?h#iCwOXXcoXnG`(7+3Z*RkEHyYf!p$Zsa)u~_gP*zuU@X4f8O22 zv)lKdC*&^}Y!Uu1Ji_0>gY#E;4@FLC7SvhG6}3RIK(*j*`0Pg`4Wwe?(g+c_;HvM$ z`F(w-0(V0l!=pq0gcHIk(NB>nVo$l6wwb&{KVf$=BbjM*LwW?u@?}htxuF$XT*g$R z-zb}(TN^q4c4XMP**#X-`lpq%bcWgVU(mQ^ICw|IjCdcD$SpNgb)0rIw0AJi04}nu zkO^9*5oV`pnDv-_bnF^?g0Y|8JX|i)Sz&}drX_}KrMaheUdjCFp)T?d?UCdTn}Z#F zw;?#0>NiHGi)rCR{}@+Y_g+}pwuUZ%HfeaE zjDN7#<=qx27(OC3lZz;?rRm~IvA(oWeXW0_7Sqdsd0xOApc_-!)C1<8;iYA@J=O8c z(#crOFx`0BJj%Y;5o0fDpJb|QzGy273a;^{1BT(o3g&sX;g(+3ufizqG|abkOe+mX z4OQsT zk|eg51CpSek=@bjp)tOQYojyb>J7hTsxQW~-JRo_2ddqe{BHR!XA9rg;O9`YU`_u; zUrB#HJF{z#LWH`C><+4CccbylQ zN91(kJMA@lZFEe;(ayG(D^Axl7Ph9_g2w))aeNnktno9ugEP^25->lYjC4?oqL{VslR?`d&Cqz4gWvh ze>&i0ivyvq_SDBh7+_b31C6)swm8IEB+-YDHR~hCr zm6&hbFUm^wB}n~+T0(oLeFJY;b-Y4*FRlo_70W86)&6*!bO-{b=cspa4*n(I2v3Yu zQod*gat|>~#_|ZMyOgA+60dO!b+!~6Jtvh>2WoHCLGop>w)j+hi9Z1vT1gA3J~dq{ ziB&aSU9HChKY1K5-u~JdLZhakC&W%=9XOss1Or&L4H&9p+82@5XJ{u-qP8QtCE8SK z&3xi%Hcgr&oy5nf5#|K;BQuX}Y?y0kZ=7N1%eS;n;5zV4=tK@#+d9630j9lf)_S34 zY-?^MvxrOq|Irz(i>d%(R$LzlTx4fpxNfRT!7H~%c`mOdmNRRC!+!>D>WH3-KH!z= zZ7Pr5EVSkikwuj_*+donADc;iMwFI=?Q~5@PZ+Dc1WiCtKTox1GMS!ulJqU|Ld?ds z^_x^S*;T)#Y!&N;M+P@4t);`@wD=`Il}|^C1_wpfNZ*1)q`Y!R?xUyBe<_LKt^Usb zW#S&91}MufppxKd=Cvx~2sqQk8oF68S|1tj5XssxDNS!J)HIdhKk%vSB5i_lL;j>7 z_CN9~sgYxebRvS2B^mg~F0w>^K}YCvOaO7ARA8~HQWMxT>N6G|Y`2hGsj`mt!8fmBetyMs}8jSP_ob>mT@1q4=8XhJMhrQBQu{)uI z+hPZoB5(7>h1RN8YMd~LZKrP)%i$>6pkJZ;V?rt|@1ReC)1))mDKs*m25zY@$TQS! zcDA-X(nB1pQBr-esM=Q>Os*ge+;%-bYQ`V5I{GR0o$&?LUQ49cQi#eGjtV(6xR=OA z%m~wWb8lf2eNG;uHDHjjyxDBHulJXX>Sx@FvGBW?TFhUpU9T>s;{x*ACkTNAM~PwppLgjLL{+w?O`Kc)hC1Gv{%Gz-?KI7*2E>`H2t7^ zvy<8C;6Kxd2dEW&N|?*O)HjNf)>^-azL1ZBj~=OaBi{g8RsnrPcZi#yxKYp?xue`b zyUSfO>=NpcMYL34>8k(J={w2gV-rBN^vvO_+~;yB2)fL zuBU{kYwR&Jg_%k8*B&WP(OcY$c#oQ@smd$GuD?=@>T9Kzlo(8k_EHPu@!BVu4J`<4 zR_fz}S|O!})L$y4p2T&?2Kc0s2s#BjF`L{^HDNTOJ#g?niDKj-@*!j7YEdqH68F@0 z5*w*a=(wIk)TU~nKZ$hpg4|IJDb0u_>^8axd7dhvM8$%NtSzH;6KiZs>{qkHH{i(% zGP~(YXtlafyUq!9H?7RE*%Razbm;zS&pj{Ym|7cHh!c2p;Q6Bx0BQu)|=Z(Ii;FJIFZkj02P`b|PmW#t>OnXLsZ_A8>hTwE@x*{Mc+5knl=OOe5$7C`xYd-{WR z9FwX=xk3I*_aLu<65=H=@m~B?AA#C~Td^hTtQR5u;Hdi>W$P<(hK|S&I2U%Z9h8qm z2eucPtQUcEXB*s`$|Bp-68nJIhbL$+m2-p*oIhQ-f^=KGHp!x@#AmdSn5tDGE0bgJ zGSW)-08DeDGDdcaqh*Y`(Lbq8L=7z(z7x42rihT{N0+A05=Z1h(jjR*o(bsTKw>5; zO>L$+ll9SF@^|tHc^$>#yV^kVFq0sB$#&){qDT58K;_$Mx2e`pA+P{#Ax7%IlaEj(eWrF@JE{1k zmdZZ71N2bk$d&{vKa6aS_K@OAQPRLDsM}5i1klL6= zo*-$e4xL19BBml}55`mV5#)YmF*|^&uU}NUNVMYATH?>d1k_4jtofwFQVY=7u=ptC zBK)uUdOD!M57Bl6iFI0MZ2^8uITiG&DBbQu4EwO7tA2)qq@{paxL)~^1wb5FOZ$yLEoo#f+puH zIJM)^eR3Q%8MG;J)B$n^8H7Buv4kC!0r$u{rXZ6Bf4hN9q2|DjL;^)j4Aq#f&a|QH zQqK?%_iGn%7i}VW>J;jtFTm4qf7}T284f`1LKQq+J+9sW4aQ*j^ySscYG1Xt_E3AT zN=hYlui8O#fg)vs`dF!?lmRVbd*!W?tPBNBB9_j|J(R!Xsqz~6KIjsQX?3)niX@i- zjZ;ZAQ@eyq;>S=iaaB##Cgb~h0y>OR;dS4no;h``B6q^-=`9g|eyighTjH$v@z9(OdJxUwM zlfdA%l6y--rGQ9FcB!n`JCYb45c)SXBb**tC6dy3>5w=r8W$N8dKJ7JsOC@f_3>Tz z_4L2>{pCq=HqSQ4y4-5Fezxk?I`&M*fmmmOzvEMq zswR$1+#J6o{&W12guFy1xp2XRLe~neOY)n~Dl76*G8X6W51q#?@K@=rr(f>4oQAHF z0ay5=yjA~7CmEu~u&J0~HJvHNc;DtGJKaGn*VmqlEBsrXb8>s+WMuElo}AOr=?Gkr zH=|lq1f}62^3=$j(AG#*B?#V@KNvf?6jSOVseY6UupZHQ-RBb_9iJ}693@9Fscl@GZDZgQ)kyMv8Gao?=z!VkSmsET`)tDkQR6b8iRoyhE# zH6U+@)0Vp}{qOHbf7x7gl*IX<5-dSdNT;H72YM&Hn2x90k++DRxVExFiW7H;E@`0p z4$pv@a0S_j-a_wWWTrbC<)VVcG}!!?WvQj3d603Pu#*4G<#R`Qqrqw1YaJW2EdF&u zX2R{nrHSbYTM}9)bu1Vze5dH>Vgriwj~h!`Jf@88dEJ9eMKbW4^Kt&+z;yiwEukB7 znlgr|WWn~rmM20H?l^Owh=eOS+h!I@fA}N&Ti375x9dMUW*x~v*+sJwbKW|Sdiw`| zh7;u;dJMgdiNX%BBdAf{M(>3?g=&H;_e}J#G(cXg%u=gr<Z@TaD|@rErJ2Y|g~Cq$i+s$W$6fEJdeL4w^@H zp#4lqmISxTO|Fno(ooj$n}IdVFw8bqFqJf2F+MWZFyFQOZaZr)7_%$(SOFoiN7B`# z(Mi82mrg#MY%C}j9$92i;h&CDctw8d&)M1KU0d^=KeN9iWyn6CdP%Jwc^kYeC$njW z1$8hlPXeA}X8Mi{C5HVZJ;p`{X)u6hgW~ zty~xSyS`L?3A>|)@=S4TbhOAT>DnJedGb0qG|uygJ4kn+`cZAEKhaIiDJ_it2*-r` zhqi`>hGWFPK(Q2r6o8J}9lV@KA{SCMm@ICv;i&1dxrVtFcoi3#lS~zi{f#e7=dDNV zWn%WlJ}U5EVu$2QN#hfbC0vPbl#rBg0-mH^iFK0dC8Rl`Oe?9aH{X-zTi|Y=b>jQ6 z^g_8yJUx8ngT2MdL?7-nxMQQBXwPQGBSq>H40tL!P5B>kkLA|OHf5E}YMk9RdtGMR z%+^_}a&LhOzr4R`xRksLk0-}akEu%ZZn_P%f#`~j+I6)M=wDVU%|V^CS^ENW%^=7C zV;~7A7u_SzfMWP2d7hrjo@5unI{b_31*`T9(0p^S{vRWXq8{XYY7AQeJQy{E+x!*2 z4QFLd;JY46Jkc!LL~RZ>KnlbY&?7^_7N~UlQ-i3!RCQRxcTq2C13Q-e$^Oot6Gj-i z7!ttC)4*^~7%vz#64*l{ozO5d=d!>87 z`=)D!GtN21HQW8#t-2q03j3=0=LT(&x?)x7AK1O^Q5q?VoUN3=a|sJ|pI*k)XX|p+ zg$Bl%rYzGg6KxKfikg>M+F37K+gN8?Mp*V)zFQhv{x;PXCNS%%>*Q#%4xm9>$=c*3 z)EzYQEkJ`EOI@Sf)Gu@E(4;a2p&AkA%lUe_<1+L1Q+J-^8ZSD zO5?;%(b?fHp-w?9U=5}Rx&)d8js*9IYKLcp%RmwW6`2)g!UcetDiq!x_J<8olUPR@ z0DF_!pj2@vmy`^31EwL*_AGiz#zP9g0LBLQdIEcr>A>VNZ^1xP1J)G8ePG&w95cSM`UuUyKPo++o=1%$WmFf<*1KQ=H^j5FKh*?yuDyW${0r}6R(dP@6;|!4 z-cpaKE!BUNElOv#tEPdP#D|-~+%^mMge)@^*8{C!S5S@5L+vSs>A}nbZ+c5^9{+>y z3waqp|D??ytQn!yJC(!N=~m%ewt$3DOBhrd;zbD&~C2uuiU3~UX|4jhB8 z!+~D`f1rJEZ7@I7G}16SR=h3MRFFCqm{k(?ssGD6SpqpMaIOTE`)N2CjE9|XLCDN- zvaR^e{AsQ%ca&Sqlfn?8hcHYi0ErJjxD}kpc4LCnEowTIO5T7oWJ%DfCld?wrZ@#u zV*NnPb{kG6HE@RZQvD6mN~Xbn_&xXsio!Un3oB<($%H*1p*@BKizx0-EJm%!qhxt1 zOl_uHLn-i1_8;(v#BsIxD?&kI4bxH6LDNHUUxItx5(5tIFE$>W%nR%2` ze~I0}RAxHSg{UVe1?__Tlsb^Rn1-inv(?o~QMt0%B~l_>DEQX*#XG~B<@wE1*t5j* z(zD1j*c0?z@_z6Mftvw7SUFe@=2ljY+Q}{+gSm+}(5()~V_#K>=8_l2Lmatyt zAk&_9P@mvgrO*)l5cX?WZ3-pWfT^mb)qBc$rN2^3c?UQ~4{4*AEsl^ld8>R=UM1V) zY0?~N2cWG355l;n=$7OWQbB=bMa{u9t@vZm$DN>SHhk$aV}ag#+4f zt+M(+-Xb5D2g)9)tsIgI!Sh;1JpeduvNlVL!0GD^oG=GL;#XrxWIG3={V^nG7}#H& zDr6ahCcn9;^|ZB#t+YMGVU5`kQ!18={o(k{&fE4`8k;Y}&h#N?WY060S;c&!70LxO z>wV(1-V*Op%P0k9Mf?&`LI;A0fnh$6C)qQ>9d%7~RdlJ&{>~5iNAtn)n|~}{&)?#_ z>m2S%0B6=q&tb3GKP<2yI4Sfi+#{MKRhE;KZ!jw-;C*^y&`UKU?bLg!7NaqP+3!#n z*jw0Xm;uQS8%-NbK2yk)VY&tW^?Bgc?gZ}bTLyz+x^S1T1F1Cixl3#t_7HQ69!Omz zo0Gf1JtaYA*D1(fYzt|fwe<6F^(F##oul4VpQvZmp=t}Ythz-R3Tsgtr9G?(qB2-5 zuZ1)p9tX*IsYoHG)4Q4T>=tf4KTVhki7?NN15LHf1uUZFlC_?#hpnlNv(>a7v(z@X zH;xcibAPc7*?r*oc@Jzrgi56{$w}lZ$dqfUf6!>vC3THTaK#LPeZG=jr@Onmom+NK z@ua!Ox?IlkF3z3qcDgHjzJUL~rLVewm;WwgqJ)D(!p9@$qHD!#z$__pEMTWu*hYkj zZKxvYCs$In=!2khf65l&8wdv=-RFpKU$`RF7Fr35;ZFe}-cZPJL)a<26)wTqY%+fr z5^<)oRhfG9I_e0y5Va&4>ickIJOa1Dd$mQXOL?etR_4kZq(>qt&WW zMr_d@(c$7WX{bC+>7+_(0bC1`t6l(V`GWjKJ)ti%jo7N32V7zU1VxwvuGvM#ho(Z7 zRO?{dds}mRO~_)1*v{MP+ZI^sSx%Yy!V16}w;5^(xm-bR7~7jU1bGrR>JgeiY|$&? z^U7JNpExU0G4$Tw$al=s)m;FzK-*md;OsNkInH&-bjSdmpN*|@;@@3@>IEcRD<&f6N13Fd;wSnxQVH8Q9r$;e$S%G^FSt@6^ByKSH zv~sy*zA|47X0e`-4OE`L%@yYaZUsCE{g@(5W4bt%hTej^9TM*#E3Ub|8Q;_x?UI_R zHc`(ix8)zw5a7m6OSR+}*(6Vt-^+GIQu4vEHXpF3_K?MZH^#(b~cKd=~Pd%rY-gV)5wgNb~TeKr7!4Z+p*IS2+%&3R0{439sn2d$jHLzztO2;cJyteL1YQ!4s{meq{8wkB^AaQg#z% z_J$*5EpOVv)j~a`T7m1HE^eH6DeHAct?VuN7Ecks9R8_nB-?P0VYT1F|HpUZ%97m_ zDg4tv!M#6kcTPgiiR?AmQ*+0<61}f{X#p<0A{rF~Qe9<`_Din}NNZuHJv#uf=fwie zA7S@0g{d-n6ZNs|l1hT=va>W>*`_J_Zt@tjneSl8HIy*cGHQm!hO7J|b{f-z9!rkW zYpbPT?kOi%73W4Qkw|2wXpvVaDO!EKDA|JpHgqcOU`jB}m}`JfuHZ)S?Sy7<-4^k) z1(#uxG0`~FILCAc_7_F1BW)M#iH@F*&7fxN<9K3=vyL!bF5*G`cnQuY%Y}WyBJgKVfpHyW*8@s# zA$2S&L!}E58gw_Q`_xY!$ ziZs5V4J)fc@RIv@Dk-vm^9PlH3E;FibD zkP#Fo3U`kOHJjiOXgDcXH*67B^ZVJ+bRlwqeqUW7vtmx@w!fFZVrWrxx-epG#wNnFCyQ>+2B>)uHMyMfdBo1j24b-2AP5B zTosPzo-}pq76RrJ0 zZ!9}n#4e3(8&lW*-g?!%LD)z?)M|zfIh{GI^MSiv{`{OzuAHb0Kd%cRuoF#Z&3A;E z^q-_x-zi@X_wcuLkIl=^R5EaulAV*4o;f>*ciVk0e0_r%Vgvm+8KtbOlY0dY?T6q? zd8iJ864?4Rd5VeQM+#xk zMg6p;+soKTS|?b(mhj2#)#3}42Z zj4@fIz_#Ar-zj(?x)|4>1MC*Qr6Iw1MVQD6@v5Is~DNPvZL}majFpatS z+z%R~4dCd$i01>F@*lXv6Nu>)&3zWGnF`t}#|(^10~P*@n9q(b_CD5R^IgaTBh16# zZjP|ruzhpqDun;CR)AkEXgtk=;Ps zsE+uW)H`Abrg(SceaZeK_fBpoJ2NvU%jP`o9pc{?Y#|2l6RJD&hJDEQ5;k&&=}TxN zyk7rZ#!%f3`zB>07k|5raTl8=02&K510!a~NP)Yg;U(b?n z_r}bNn^M3O|Gq%gxW+Mdds&-kt8J(3%WPF_)oe?wtIdrJjoB2kBgT<_o@RMX^V7UR zUqR1jZ#%I#S(zQhyyt3|>sY6oMsjIXIdnm35_u7zeI4Cv^5Sy#=DPCg=he+6^KQFm z2MnQE;q78u4H!+*M&AXlt`|LytWVt64oPRiql1M5eBiIZKf#zto*1WH0!Md0{y)Q6 zQzOeBi)3D6egc_hAB9zr*71?5N)`sjB2#;%$KDCh&1Op2`e19560` z^uXWElS~bSg>-%WseC?~6Y3ba0!d^J?^=JqP*!+(eOl~W|gpIgcEEwDE9IUE&ZaBcDi)tmmr9Acf!c}Oa#t;Z`vqens) z12g>9{QvmVgO#E) z`d;E0c)+f(@7Tf27TEu)oC#DUHp+{hLngBs(zc)KH_nL7{^0T}|@E{HA$Daz5pa_m7vMftM=G zFR+wym>ijwWriPYF0yN9#HqoJp04>_b8qA-IXPL&GL@`8d4%hpYni7+uz>VNGZWv) zrR+?hx#29|pY?%qV2=DH@;cbof8QJOKJu3hJ&bgeCaS#%Gi1uHr8m&!*lf-XS&N_f z>-;`pjzIB;>A`rFtcf$lfstx~GJ$oGZOTEtEg8=qGfuP>b3C=rwaz!Q#*gf8)N;H_ z8XsvF-Vj+HtsXUq24xv2xdNyQ8c026m+|d5kvYMA5w;sv3Jth}?0ohT!+`HMN=Rrl z)srd4-Qn&Exu){A%8o_$`L-ptPvA^(TF#kfn>tyNp-P0acCvgo|6#1ad5D$LoS@ma z6`rau*`;zO1{sFBrcJ>(aib(^6a1i^IX$^j>y^M*i&orSY)4za2 z9>qG?Ak!RNF5?WFjGA$Uxw^HBt%9w*bp-5$Ly%&(#rU_uZzyj(23L1B_n0nA&c@s1 z>Jd3$^}qIXbN}s*@s{&DLK)Et>J`kR8dN&fgc8tu?Y3Max;WU@chOzKRl@l^f1Puf zOLez~^W)0kjZjQvL$tqmLK>rP1r*?fzMSXkO)sNo(k8kbC{i-fB}l?q z4{7^fp(*7fWc+Ky8Z;0z4K6yuoMnHpsgP{Dm-`Or*&_NFC6f)n%iWIL0;lWlz%&l! z&hho&jOnxWiO z%vv|VlDDZnv^H=(jYJYSlWRd*$_vO^xl8OoJIGm(7}OawBy~W2IUT&52Oveg4=PBd z(A{W`F39wO5pjjCPdO=_jsxH3FL#)>5h0q zTm`$sOX3E}D%$~pEhZ0^3&}fWQmqHC8lk2E^MKUK$_T)rQpEqFJ;ev&f8tKb4PNQ_ zYICh2u&synW{`!yfM^GK>O(;fWF{6t`g>Ps$14t6xoEYk=O&m`Cfw1lga&%9@=ut%9eH25t+ zN7R+71S+XiVzb_XNCD;5P1J>SgMRWY+6H;(=OACD9^u13we^6(?$WksHMK8lNX=6_ zX{GQWJPa~%Ud^1-&fZ^l<$?h8= zwP*oc{akH`W`{hOuW;3P=!{4L9O@0Ot22;MULAhsC%ql|2lQHhp>B}m-UK+Mp>#SO z2Y7LPdNrU4H6htNlP*QgCRM67e7&J-(3#{GsxDa+W{N5lK@LO7WLY#69PST@dC-}1 z7rz2!P<8FNc2X;gi^7xsO&zV3);6oj_yUZDi{MZVC}Wik>H}pTVCIW~4Y1&1xG|*D zZ_~agQOHve;8o?|r!0f^m5DIET0y^x0*w^cASpftT1~n@H^_cygxg10NFSPtk_eed zh8(TZu)}^|U$H|vuQCb7#GzOKZoitKIs6Oz0XVLG_bAX6y z@Tn6a2kD7+7@YDm0N1;q<-;B952~jh_!9KNSadt|J-mSQq|T7sG7Z{!eu1tr0oo(G z;H|(@-v_1iT5X_C123DVpMX||F6b?}2J*f9#0k`zXipx22E@T+CeZ?QClknzL;~so zO$Ym7{-;1ADB*38ShX96pt~m(Iv!j^Bk0rEju+vP@Ofz5M=OdSsyDS~N(ptA3W`fe zLOr0q)PBRKaWQCfya#zyMadX=-?Pw%GMC85)p2!bWGD%30!`6f^f%08qkNBhUWtN)kt5CYXY|3P1~$A(rRfh;HxGy6Kn)+`#{L%3KE0SbZ8cMr5)C8 zYU6QH;Nt!Q$2K(O02cZNuBi)F%63Es&Vxo29@4M=M(v@yv?_|~9nf9Kf9L~>``XYU z5zs004icSuqYBVX@K$dKT(5|);~&I1eLG=>-@72nLI|b8*cNbkJX_nN4Ny-joSLI% zsExHutv+0l7TAu%z^c^6Sz0aqy1E-$8`AI*=P$HCNTQ;CSDUI$0p@czs8eg< zB&`vif(ybEFbZ^cZ`G|q;i7xQ`BDiitAQ9#uw8xZ%hL8#RS^U2q;B}A|6@xaR zZ^R?i51!HcI!m5|{fD1y0@r6ZjJw;=!qXSJKg{r?ltOlWDP91`zY9k27OgIxkKO8E z&}7e09ia5{07w4>($pN#0NMd&x4C+THUQ5B^+6|W*Nwm&H-wa>446kU^Qw6Zu%}r$52(wA1=exXUl#@B3?m^~Sg#+|P;7RWl0{kO%=VL+f(ARMu z+5mTfBH5!)hAVLzK5a7b20FI~=ubhp(g@~=*Z3?BYRf@AR0N)yb(M7fYFu@RbY)}tUgMSdgKP(FAni<8Y@O`eQef{vge`VVG{LZITUfHF~G zU?*~+-Df{E96~!c%qJE9zh6SkcII>B7l7!;ec)S<98ozy04+3Fef zEpUY$lqvEQ*u&ff^?Yk(4KS`O?Ce&8>h}{QJ>0~rph0CF^o(4C9qm1GJIohf=@4-I zKIR)!fUO3*4u%`fP30PKFSvbtvhYbLYak#~V3+YFv`u_7PJ_h$9+0*9oyXAG@qx*u z<`G@hu-G~p36}|$^uO?mzW%^)RgUzFK9Owdd968~hfClDt)#}O5vgLdZpaik>YL-u zaleIAb$|CWcP-CI?|FY}sCcwE@OHyhAMS-*>rHKy~P# zAE(a*Z9F-MHg7Yp3t1Ra5c)e557y{NvCyh49#9%ox;(Q}%9hkX!9Ghf`w`o3PZczm zjF&G^mMTeAU&RO2RV8?nJs&MMEb*3#qLd6SwR08?jL(C4;|i*jHnp$wj0m(4lMy}H zOX1a2hdSRnGEAnES;%IR!{5-m!rj6#(^99rdRd>6yCuCXznw3=O9OSqo76>BJMBVU zBg1;r?%-`f2etPVR_Zc#TNvm+?W}3-Y*E_BdENxB^IAMhF~*Q-@&>&#aUrL|oFS7< zOANz}V@$h())=cAei-~lt@)^VglVVI5=4jH3$3c?XB(0=J}=)MTXFsGi(d~5ZnBl| zvEVTIEnjA0L*m1_h3yV$Vfa@snJTnH1z#y!aK1FFcvf1yB=qOKtc3+<^OqFb%Jw+M z`xf)pu~Ts3_)Mp$9~;(aju3s}6IF9%&Ua;@B}YrXluRhyT(R9z=w9I4#!eM{Y*XMs zj}zM9D5gM96T9UvRTc7aR07@#4?&~EFupKQ;E!Sxgs0+WZmypVL`naf{SPLN&~4ON z`u+NwpmC-F_qT!8sY;e_mA6;j&{ftuG_}=s?HSXVkj#*XP+f#8y0qG-szv7Sfos`+ zQpuv_<+FFx_$^3^3va=!8D>bO}GrTl(u_;Bj%sqtP#08 z^81y=Ifn#_cpR-mcax=KFZ`E)-;|5=6=MBM*eB9Yq?>TUAM6SDjPpeY;(*ZkoUe_{ zf^hA7Y&*M*-HANMGf)lE5tA6Tri132+(^eVsR}(1;U}n-+TNyv5#OS2hJ7)A3PGZ_ zSH4vVi>w>{saCc62{o2!nwDsi+I+X>CFJk^KKkRkoR-wFkokst@`3uUu|RL ziqLw-0_|h{arto9v9ucBBU6I@bodhgru1{q?4Q;L?umiJQUr04Nl?aV7O9&srDQ+F zJ@qeocA%-Pw45utm%Tl${O{UKWB$Q%t)C`p$nPls)kd1`nsnNJvS^$X!n`}|b8U;P zX%)B1cUxR`x%-1>40{?|CcCYQhVT5^n5Ao|l#$Pb5}(oa)-luh)YZp(k8OuW&?WMF zsyDhGrnw<+!cxOtgk1@pWX6rBwYAlsl>LH)eTLEnQv^qvn=ct1AT*txAX= zUw+IeC@$5fcTYK3GMQ;$8mZn-&Qf2BJQ&?Ra#C<0sER?MnXZb*H(Rd#{_u5Ya{Hgb zUrG{3CF6xFJRUAcyn^Nt8BBj=gi01A{v*ebVI?8>~2unGA5&C{^IiL z-bAdq(xkQN8=HHC+RRP0E?Gyaro?;Rlr<~3k^iJ%M=?|Svm(W{gqO&C^)`dT^k3-M zi0fe|jA@F7u$wIk|=ReqT(EDh-!+4b9i~ z$0;=y`K$8Xs4iy2JS=Fd?xA`-vaxXF*W+&$5jprA@UN4%u!@N@z zt16UZWIf?T9mBBXB@VX?%bS$h{qNJ1&3|TR#ucSF21@Db)Zn~OSLm*=g0NHOEM+?) z7A@i3?t5jG^SWfu&l;9fUhuxeWz7$?Wz5DFp+CY#M;@q|#672AR~ zh9^e$iRch^Gh~(-)vcyyK;PJGVhs><{~-=CR`s}`O(BCLx{##WhYOxB;Pd7*LZhWo0#G(R*Zsh`jp!swFNq(N^Y z-xPdE_&7LG@gt=a!7?<*baDEypyNSRf`(|*=m*F*ey|uS&hs29F=y>fyOmb+?~}jr zxpykg1kxy#;c{e7<$BSpA`ga+FxcpU{7zq@cakf?^1NVq7Lt9q;8fZDvJlH?_K)&z zNOr`F@R|{&QD-CS7;y?#M8`^Nx}~7(P5!)`!NoJ2bN$c#UAazV3qwZul89$Om$(>g zG5Qrp(2r~y%w{jcDe#)umgF=g!8gL6M-8#P2U5zT02jc)25Sz?Wa2 zN2k;;iSnrV-570z;ssW~THTvGq28*F1tq09f3mQgY1ylCGK*)~%UBbYs?7`O z7_JRt!e#}-@Q(Zu2={h%ceb~+G%a0_e=YB5=@xH@P?HbEhwG+=Z;HAa_D_(`RBYO& zeu16xopDsMZL)@1mzMO(=Znrc7O|w{#JVa5o99Hgsk|mkZMK<4>+3Q3!cCvU+d6=Y z+tC!fEfb@jVB8rpA*4mforsOqRCO|H2iHw##56r#dqVII@37y)UuC|SlbrL1`t>%w zp-*i-TB~wYws~#U%5~n>5Q2{=Jn~Pp4hi?4E{RQH6R8)muO1{e_^A5jD_q59C>B8f z%h;fgz=yga8-kt=Y;hfTZg35;my|^1+)2kWyy@RErsNN{zU3(;Z}LYCubN+_JbFb~ zobDSL&h~Xv&KZ^q<)6y#mz*pbU393Th3m67grCLK45}W!GW>Dq>9CS8P0%FfzA(z) z%~Q>}*EY3$Xfa(}x8kac@ay@xcw5y)^Ve`PEGhVS@Fvqe%{FSJ(|D8Fd^9w;a#r>6HAdA`)s2t&+HgzVRuStJmu-fWOYataT9tk=QJeHN4{Uc9Zw%&Q3n@p%w%}r}VBSUWmr< zkEls14(ZMR@#R4#x{|e^=w?AmS$lV;e-7InyRIrSmY8~)EXIhSfrfgje`pi7k$dYo z=-g|qRnj2eQJ7^hxMur`1qBmohz@BQyx7>tFhgIaEF&gB^Q9WENw1RcfF75c&}sEl z-a}qjzF)c8&>><>Rk~(zt*`a&G{}z`RP$R%tbCJabB^x&=;Yd2LvjXXOvid?j(+=U&P3pNId9$um1whz|4%PQkNY zrWva;GlTJE(okVnAi^0}`Ym@uc5u#1hR)`~Oseb5a<5p9jkZI<&Iy3OW%wjL!2)nZ^ zvbaNGY|(-85iUNkMEXhWSA^;0#^FY%euHiT(AN}-6y`Fxw7XHGz!xnMqhbDSRMb+v z(1rya4INNvZ`ErxKGfP>uOud@LHC*|VZY^bTxj-#S-`yQ6O<9o%=3z>JzZ@5EQ2NEH_r;jtW z2To2aRYS&zkL8LS`%3EP%+EZTH8v|U=UAcE+Sj*T*g-_8+8L}SJXi`|76Kh9dZkvY z>Q6lpoA_=!E8EYOX6HxbPb>T5O7gbjmZH<;e{?H?0zpfHyvDxzm+HPU6o1H#^t`l3 zR$MJwn_s!`aM@{x&VN+0(eaudroF*C&51!r^bX}hW(Ac@CKK!N-;l*xL)BvXGCyca zzF1X9cgWNtbY0Y{YUQ=I)ms>Iq~64uK~WXDdiV!hSw>Rw%wN6J2c?flbLLI=&X6Ix zv$~>Sq)KS@y3wV<_l%)xEB4Jht>S!swKOvM{?~iov0v9yj;5yN_O~tccjEs;IO@A9 zROeMSP#9z%$#KX^|650L*@XP9S-mr-X5GtqR4}W2yhoJI$a?62 zD)v$1QAR9c2l+m@4%ru4u<~W)m?g#5(Y4M0N~%dWSANu%z_}~j)XKP7dkp9&b41R! z*EzsaP?}P*sXWy7*p(G%g;kNS)yy=EHYoK~wa`yS4MTZhh^R!|ko?v$IWkFZR1MXv z)%vtcwMz`EOrasq!;F#ps(7l~YJ91-t5VhAi|XshPh0)G(HY-!0=dny9%q@$)43Qb zm#L@vX>JrXCvu7Tpzf9WIuj#(aHW-%6=Y|9{agF*f9c(`PUXDIn_9NqwaPo(`@sKD z`V5(t3phpoVD>UMus?jM-{Br_t6o~Ca9bg)Yb9v;W9uGI7tv1st59pLhK}YhrpEfm zs!Q^k)Fxyix60q!KhitKDOkE!WZFVp|G6eXx5;PW9D&Nhm34GSf{hUs;Vpv0_0aN1 z^x$o-4HbppgxXcI-g3n$2eNAcF;3YM+Tfb%WQJ|VXS#smH2sL=sAbdxI14tVZpjv_ z&VUzXnwrtKHB}966TB$YTq(Bd_G(PEnCQ|_)^J6>KuEEC%;B>)=Jm^dnwFJuuOz|8 zAV&yZIm@&%{9V{Z(-i$(%}rSqN$1v;TMNczJ@~WgclzHM8PS;?vJ(rlD^hK9?WN9o z{+2-SXaQ5LZ1e$^1pLn#;vDvXx7^v;o?+Qt(Wm@Q`FBf8XKO#tDNz-DO;yt{Du^&e zn*JI`>E0+kw2{~@<+5Krza0G>ufW6g!}-XQ=SPKbq%HB89xg9c9n+mN9tsLI4ANW$ z%Eoc5Cf~@r9*Au}9D3&#_agr$@dmz(8Y(}aVm0fb)vvShw_(11qxKk3Rvt3fsVig) z@;AIcEoB1~@6|00SIqx}J_^%DxFVZHEef-ks_NgVc9S%F*8ZhDvFvW4HS?detC?#G z$5)u`aXu|>S3NT}GTBUx%nOY^Wk0N=Z>D8=K}Fh--x(wA5IQoauml^y)`p6lENV0 zDA&p>sQXAKz9IYCzt(raJHk5!+zP!U66=a*5pU>+^1+IB@faSLm- zBgnPaAC8#lF^c7iCXi+6s~AAN5nBVpy@hpfNlL-){M&g?a);$21>WM3WjW<`%WB6h z_f&67{|460KN0SOW2u(#2mHWGAcy;%3lr*qet8VY5eVi+mw?(m9bE*B*tWQygr5sE zwSLf4o5-wZzK~b3e3+bWl|~COTsq7YRe=ls1%V9qKVS&eMi<~8fwmC~owqbom+1mM zo-IMIZw@4oZs2)ez_RRJHj`b+`^Dn_@hb==FbR03B{Yb>g&rwRc~#j;c}ICgrH6LZ zW7_SygN8oF5~IwVXAYRsjQ#YqcABy`+kpuft(E%&Vx9dBLL zd}eky{~Y>24hYwTJW$`~iVZ~rv_ii}zG4o11W^E!+Ru>GW+3r31TQ7Nkei_$_9VH9 z{9iln4wz-`#(MxWcPH==gMlcP4OyDI$SIgYE(gZ^PGTgzK$ap;RK}?i6cLP(Sc}dR zU$SZbu7SVo9Zur@*A3$m^+*kL8_;v-VVCfekeb@X?3XQ+b%wUEFY;=T-OX1%(WGkC z`agz;L7&aL%=JxMjBb5(ok~@YK7%yioAFcGLoT-bRY~tMSl7y{S+X7deVcg+sZ7K$ z>HU(r#l66hy`X%U<)UqpOYa*1EP>VR zcyKb^13x*!j$r%n-^3%x19S)3P&Njx`ti_2)JEP(R!$`nFYqBm3>i&)!WD!98U;d# zDa2uD53WSm@NQ&(P-O*T1hy2|!hO&(m;}a2b0H}(96E5~FcB*SFT#3I*at`n@ZL)> z$vVrA^6f?+`wR45ClS3gubK%Iab2TADm)%hKvU>$e$t z1{In<1+6zYv<;QhiSxo+ARp2aGK(w%m(6%$ApQUwjq8ZFL^?5#dQSh8wNTsz z!mUcZU0tN=sESf;Rg7l(5LrO5$orph)SvJ3_|1?yDq<&qtNRD?5c`JrBrcE#DTKa5 zq$89#gnR3Ay5+8Rjt{m38|KhCU$`Q?NT8GthpR0Y^OHSg>l6vfm#{wd)K=Ct)nU4x z`i6#w`fH#npVLh@)HE#7uhf-l536OgC`1LW0;%Y=qk1V{biTZWW43dstFu2r8c8(( z>T9Z^4s>;r>S?l5z}FGjNFXPUs|YPq6b#DA$;&R@Q06G>R-tk<@hbd2e|exgpD4Z% zGliNkjrk!RMHVBIv1X8=i6T^ZG9C*Vq6b(O@Tm!G3{XM*NG+@}>8Bb)U-n1&1l4Fw z8_i+$Q^@a6Ri(&N!OMS{n1jX(^SPt!24KfL^!4z^`^Wf41!h5dz619MIy>(OCTWTI zik~hFk(vSt|A_CXyPI3>I$}R#feKE?ch_9cLEjCwg?JR5jz>`UndkBu%AV@U+Ge`# z;5UD!M3isk7w8xg2k&GOvs->oSy^|2OPGs)>Y-?Ir`iVTgthu$a zwWWg%5U3sIIUCWL zH>UTiZs{?79nDd7hE}KVs?MW*uoCq`mkU(`m;LeVZSF5P#5*AEiM}ui$%FZVKzGBB z3Mr6HAKDyjxfyiP$Vs18qzFm`X}s)k@`)v+^6tR;t)@})Unk1wIrv;@6LOa7&1@o;p%F+b;t@l*E`FUa z#Ph}Z(f-Hr$lI6Q!M8$^=+W9nK^nOG*9Uzuv4#!G{={yyGrYgyT!n93V1UpA`~&GQ zd#;6-Vn5L$v?Cq@OpXk2I}4P9JcUWpaNx6F^{;|`NFPhNwYB9^*&fR-PaFOyP>xh& zxI7vN`*oo$%wG&Gbzhj*{vjoyd9_N{ zmIvp~`+YLAm8%SUj@=jQF<5X)RGpBos#s+MO?5dUee^bWS#7V2GxK^CCzLlUt)1Vs zQ0M5(h6VJVrT#ImH?V}-GrMgxzB+2D3?@e{piu3+B;ZXMU(-^Tx)i-oSKJ?LR#9MB~m%jc*BO&!fS zc}u!G?IB~4gT5`!c-L=_)!oIp&Q}!6j(1FeJ zO!ssPwB>)YU;S&@$dVYbW!Vo!jOvDBy)1%x#Kc2e`2zSgQ(i;qQT9}>Rn(Oo5v$l67jLj+`*3%q zl6l3o0>6}*>XTSJvQU*}?rzvm+!Wp*!T2-Y;l`aa>_aQs6hA5b$G+7$+w!I2sJ}aP zMOKd2LSIsqRYMg;SSjT32XIf=THZ;HwYCGc>EP$A=3BsC;y;PIu+FmP&{lX&xkM2G zyuHKfDP$&O_deoQBYp7`WEC&;5>CZPX-Px6px;LU;izP>>6>B?Uc z7K=-ON%j)%Z$0)%lnG71SFlR_$@k@sazkN$Xyf*>GS6j_CE z!N1*vt6(wS9D4(#w8i2XmS^#26SmeGPh4i^*3d!tYeMd20@si|DpW)K$Og0-wvX6DC(240H^GXn*{S|c zK$MYrXZtvRE__u1@*Dg!dAu3HAWq0vq;%ewkY$go_ zpVdTcBbI>f#w=t5$fvhru91U*$>J0>d{&@gKn=|adTs~L3FYE6zRd6UW%0L&Bx1Fc z#1E0aKu_g3J`Q$0INal2VFiB(c0)5b8MIX{2M@(uWE7DI*V$pL5po)>M=ZcXq+!qx z)dO?l8}WPS2XNN(!$iD{Xb!H-5p)PMfH}(?r!P?}sUD0|reYSsN+7~M>;Tn_yh#Q# zNlXScoT!it-cw~OOFwvSAXcHBOK-mzSP!3aIppD!aix5$LNBjR55^qaUtfWj@eT2+ z-7&8I-YVQHuGpXJ`Rlz1{GBxfM!h1h5RHjVcxCjUFq*~K)!aCtHTZ6RimkXE>}){; zJ)9c^huDm`3a;U8&NA1C*+30QMA}PPz~#^& zN#F_m7tMk;(Z<*#TuDA7G_aQTXI=w$;3qwsp22WTU0DpwNiq2&Ss2|O^NR6oJ6H3H zcGl(WWZWsPcg?Yn^`AwD;ZxyiFK1?Ipa@H~i205#6|O;NXaqQPPxu#luDTk!M|)6D zln3$A+zX^R=>gW!66_218+?U#F%|j`P*L3h#y`!s-#gxO((~T$;2(*4iGYTsbU3-5 zAU{y=fxhvYT!f!S$4jetBP40}0THe#H_sVz-%k z@&=SuYA6gAE1}2HF%qQc{Ry76jtE-%je4n$wL)gl#FV&s-<#=JPA6bNySY00_GSQMU2573UQvJ z_NMOl{CH#tciUyPJ3YB#E>W4}F%~;U9;Ck!*WlimA#9O`i%wP#v?#N8p68tFhU1s> zk@p>2$X@p0o=)DK+*Jg8tjGdU5ME0;NOxG}I!Su)XD&m}ffIF<@K&&iVWj15slZDM(D9Z+l*+ra( zE9Ccz*-{)rf~#*JxW)b>LV$zRlAca^L5Z9OZNYY`7Ie;CgFR0voS5c=X4Mq>mG1#J zZN41RF3OwAh05s)Xi}u>63L>#cH_p0O@O#IjJ3GuLMQkczJoMXXvETi#oQ#(Cf*kg z@X0`CtpQhK9qtNf%$mS9zt^kr{^z~m8{)g~`RI=G{$an1#nLqK-v1LGyNR>KkHyo&2JXW+@rTe?l%#{`ZqzMx1sCCEqzdp=ZUay7GZn)0WX{oNslL=5N>4ul zZrXRM3*7^LRnX6XgVkHsl<5cRM=UcDh(i&yn%+b0BLp*Szza3~5SOH|nsqojsY&#%1?y9YcnaZ>>BtRWe!T|1b2Ktk+JfA|=0iqP1-+Cjh|R18&l3;(MT&w36xq-=?c{M6`f|cNn=O8WKlg=S1>X72;Bx*gStScNY5PO#*J1E+7NEJn_HtnH!2G$4R|myTLxkfF zcm*c7#>&t`7>8~|-it**yWxcMVgu=&qz2DyIQY4<#6v)O+WPw&!mm$(-a zJjLKqehh1A4N$e0@N2l$kR5vA{|sIAK#TT|^3Q=3Z$jW#;AG%Aq+&{0f-mA?fXd|n zBGXkM&{t=F2lfTd!ZoMjp0QnFM-~rGZBp7Gir}hmj7&o}qqQI{^#K_N&-@_R&nbcZ zx*GqAO~YnkAF)dCESmyr+h<5jNZ3MrH`W^7yC33p=`8XUkt4g|4!8*&zeYq5XNl=z zQ)tkx4ldkTKpfgEsK683Qv3ziQ)6+40Mlsjxh8?nz8&P0-%HoQudhQUNPk693WL^Y z6I}0Skwa(*Cc~!V&4_=AOTgxt1mu-Ngp=4rtik`oFT>S;j_8S-u~&!{8375pm*Ad% z4iq3Krb9n~!&?RE9Wyow9S<(+0DQKW#CAe^plH$1BG&*s%>Ua(n#IrH9xeke*+EE< zG=(ixa_pzDlx!*WCjx z#(BtUGzPjzuS447J^B?0ebrDDxq;NdFA{3vD7r|jCM-tI5+!6?ViKZ-uJlAK7LsQS z`k$Z_XJYkX_PP@i&73d^Ie>*=_mIV6BjLIDQ@ShN2lw+xxHA{P*}4(39K6h<#p%L- zVj-|GUrSX)EB}|5iv(ODO(2(08|e0ZPzv1xxjG(NpBsUHdWcjHyw?_~AuS(~A%fy|AoY%tWJpUi1eJhIJQte^vscxgQH9G-AD(K*ssp|ZFLaxs;`^{YXj ziJb+5R1`9nP|BZR9nkOMMR5R37It8Z@r!7oq(qHa zUHl)&PiWDe=u=Q{R>G%!6TbEYtZ#bcH6u2k@u#4C^$qpR0 z_To}>Hgv=cgPhtyaiQ=KG@5ykA>1yl;93a}u?CQSTOeL$-wR3LBnignfUl&zn1MzT z7=BW`%}0nhRs-*f7KoFC)zFQNi?Kp1bb8K!t5W2Ggl(`IHHCe_Q(?C_6;clkk=H_r zFj1HU-gr^)2|6GJso?HtD6SBENN3^*UKjQOAB4B)K4K772q1M4Oskd5-9yXZy)5SIc^xjRIhY#!c{&Go(DKVm&(AIQf7G@)}^bQ?|* z7Hl!5Km=|9KTk5yx%4ee&d&4okRDPgOe1_OtMZZ@hnyfflVgw_+!Fs*{~0L}FCdPf zd4cJk>U>AMH62VSs3O^_Yaq*!jz3f-}w1G5b`vXea1 zxy^VgQ;&SX8GQSMZrBz`95moJv4>%mSRn%278{IA6T9-0*muGmESM}rngnk7zHm|a z6yhJWkr)Pv9|HDW$p{Lo$Z7%Qzwqs_D4?fzkc#~Kz4^i+y0>fx^2_(kL|~{xGC5fbPPGYam|!9nk)42{KOVAX7_86hFcHpkKG6i{4msJD?2bJZ zm$E1yfRUT?EBOBf5hx&Nelm;)u0R6s2_K5a6RmI&H3J{}2e(KnCGv=Ss8;F<&zDwYJk}JEgxcIysUe(; zZV`vYS==~&g>;m7N$tdki=?n$P-8nONIOfXcxW!e&e2-tw=@rS@)3vw=5-6OI$TS( zf!GVpgcRNcn8_{{-k~vgH{6H}7EHWc`iphMM`Emah`%7*g6kj?sV08q9`XOn>d@FH zq`6241BFpYJ#0Gc%!i8q!W_Aov{mYhjDt*JuJi?-3+JHIGYw{5Yhm5Fg9zwqm%B)x>Rj~dH?Ge`oQ=4v6akYvRrC1@Oa^fUsE*swEM z4^--zXcq98B4sx1R`8-c{lip|Q|Y=qkRG-b+Q|LdbE+q)h1s^vraH4CG2FSE`KoAirsn zYKtoIHBk9>B73E_kc{gGX~b#hTck34&s1a}szqf;TWJNP8=FCvt_@Ox{Dd7qg?I@X zbXOsj(I1c<>nz1e=U~@91N7T>;!2o5&x6y06;h$CVF%U$o?2fJmn1^&vKSIk)1@_% z0={n+aAKNCL6CM_C*%q-;x=&*q=#>bz`24fl@2L@6xeW4E8UiUNsr+BpAZ*7E^Q66 z0oawis;jl-V2U=qi{*1gu=P)s{2~1bIh#COwR~4NPZuS-w2VJt6goo4t z=Wdhykm82YsP3rlqmETqsPnX**P|>Z|SkVE5Wdj})j5>F(`_ zo{CZlT2y;Rxs0BMo?<_`AG+e)?L1xFiyboCBx{OYa%MWF+ttp`zQ$5VvH(cm^YQa& z2Cx{L2nV>ETqF>bZU$QUpL^SSLf!4%>7J_WP~>0oFs-92!P)i@T}XwH+n|m8F17@A z*GcGKA;7*0>Go(hM1&<7njGPss@BW>VpPrwQJ4Yi-X$Bbe20MC6f-GfP$?Nl5AhSzT8U^S^7 zp_``PV;B(B*}OVrQfMG(9&^icqquePW!oLkX?G3#O)KHa+vAruE4gpxpn<98^qFWvT9}Wa>{UrD~Y+x3WaNPj?@h zEN(zY=8teo*a|a{+u8fY=Q5k*o&ugtTH)K03*H&bPOU;wiGHU#Y2FagAUH^Moo-33 z#6#G-<>#`JQj7nZGGnr>dAmzk$9QoF^aQ>p;z(4Mpb(f=_*uxvMR2;A$@M%#G6QdfXd!Rp{mvnVCO%*<>HNG0*#1niiwk-l7DKX6j^%r>_Sqz!?EmAMu%+VaMeOawv^zh!7zRv!^Y$AUXnN9wn$1yAE-Q;{w zXN!OU7Xp;;2GG_VBSb*Lbte*wg#$6~I`xg2q`0a|Rlfx{9SN^^6kP_sEHAZCc2;3j zx72piml(I3UIt$XiwLU`oTNI*)+tlu#OJOlw&Y&R7*|-}(bB2PSxjG5Q*-5rYT-|` z|1ox|HPH`Q=RR0a44nVIS0eZzWEvt`L@L4V1xRrgidoQWk_^nm!AwR+!xny& zhY~Yz0t<+P*;}CdC%C)0MmUc;H+Vj=Go|xbAz`Cx$_B{C$TrfWsXEXdF^mqQJHS-p zmMn)kNBMvmQ-hu?Z>J1WyL8b(HG`8w_Cfn^=a6ouw>mW~^BgWzWrk<>FZhsEoIb2* zl=m7n11Mq54D}-tqqy)A?Kw(=j~1%?23m-mytDxseY2Wot1{1Iw=EOho%!xkZ)7I9 zM9~&n1RD~)Vb{`D`oa3#^=z9g7c37ewv>-3KV*vzL}OLxGqOX<0v%!s4Vt1Gs0vYV zGLkOCUWgT3J?=I%M?K@d2vt!(*-y3)CjRlNZ>sC6IAy84gc(cyhyRP*;hV9y{R!TQ z?hei)&d#0!AH`aD3>g7aJTrX|rVS)oN!r2f@YZleI|sOr`zi$r*fT;ibPG9>z6xx; zqoAQ|0glvIv@6Vg{vjVwO5oOdm@)DS*5Ob; z=F;pg`P&N@7B(o$ah>4mf!nYO@|{Rxo=|=81Y{NLM+APludZu?eY&lhwN^z*`FQI$ z*A(t2x}CbLXr=3EYHGeu))OL;*~ERi8p~rn zv2;Ux5p+P^g{~Qin-72SAKI!pdg^W5;S;j1P}nJeEUQ&6i> zpD>C)$Gv9{1@8LY@WdO76k#OU2+oU3z(=r&Nv9;T2V~#O_$_E25Tsw?X)fFwpM1OjaOe?=3i={~P6u-%z;VE{1aL#fZbw+wdLswW+u0D_))`EIe z1Nc8md^stjchg;guJnLe%v7b1kqzNVo{HVaWcYqya_ypVS&)2>B0<$rJ4W|Hw*p9? zhYfFxS%$^BC zt?SDdmbJIEb0zxc@|978%&T2(TyFTKb*a}XztYdq=dkyD9EcAz3iJuQVcUTU6oFkw z=R+skeCi^wWKDDh!^*D99?>004F8HmgInYuSAuP~t*!mEopAJa#RmSBw0IBFNIMvd z%t;xsc%fII1a@TE&Z)pF{Nq~hld-!vL70H}fEQjBkHYQvH{ua={mdmBQ`;fsf0G(S zD6wzISZHhrMxUYGh@ngqrCrTw_GqJYg7&s1RkaK}#R}CZb*W~mc8pfioCnf#U!tk6 zz|yJWoK;cLy|8)FYx>&XyVidK(lw8!R4Wm44n^;OoWO;6%O_yG87#GU$!8jv}G0^DHrqr~y-;24rU-Pqo0~kt{*O z_VCVhO>|6l+;p~e5A^lrl0^yaM5M!9bp`PYi5JcUj(9#gbM1)ZAP_Uh_>Qw_f(>bd z&m}mZ^{I#h@QP!wUuY977XJf;@eO1V(HWk@uh6D&=3557p`*YfPNI*=<;qOu2Gu;( zVC8&yEVB|=$Vy^A-i4?}#mZJIv(?$!RBdx*58^UE(Ldf>+c~O&Ec;fWaxU;Z^c@tQ zkfRh&lus4?6sP5nX&m1swDb*hsH{&bT2x>aS1i#^y>AP<7Cb5bEh z0^Pe58HEobw-P5oL9=kH166%zJvBTBJRAI3!bE&K{T`?WX_}>)Zpx925q2a2u`MWK zSHPKHB4!{LA@Mtys!OMmrQlcGjB1fkaX0YP;`#c5Ls$wFt$)Nb!byHHII$|Rb6E-c zu_XSE_yPHgd7xY2Un~f8{#JsPn*%d+n}2JdF((QV^i!&Vl2(_>A!mYXp(mOQF8K#& zTkHb4>$Dw!~W-dxOLS=o#!cy+k7d7tyb1A`7NM(GOglucPac&1#)$n{T^jyXaW&$@F^y z?b%jbU)~J79gSFzf5`U$rq3er6#qb|FaF0#zQNws-tV47&qCjuKoM78^5PY=T&9wx z%GSsU*=-WVPolek2L#>+Q2lwaBWNVwfD(5fx@{8ib@+YgXugAg!Uuq3WIkaeR^#2V zo`_F)2EEmH{6_zJUw2=w??~VZcT=bbYWsAcvFt+jB74Pwd?Y`TkA)fbBk&k*2kIxr zpX8ehPhk#e7H;qY`0q!fH?h6=ba2$W>0mmRI!(4BHenIah?5B{7cJ5i=E!QGAWmU2 znOVS-dL3CegD>)q|M5myWWf?XJYXogR^H^H7WNWmSx+QJ`YVLPch><=aJSG5W+(rnVNC@x8aOk7%N7s3q@Lox&Qs>urH;q}SkJG6H(CuX1xEx_7{Pz$F2Fu;HP?=N$R+UmU{;m@Jf^7#i_}7^fR2>} zv&eQpj!OsLO?_a`+=HpdAyA2eu#VV7Yz<5s@8H9URKiToCZ~`C$OzCoTM<=(9sLGA zuf;?%xrkoD43?>YyuVEmsYsS>VPteJ@aq;}1>$~gOJES_1(Q9Z>!arvtVoNvb3zH4 zL2M$IlJ&@|goxcm@`RFr*&FLV;Tr24>Ciwfsv)@f<5(TPkCzKSp`qqGKM@Ex+k^o0 zw6qk?0jaBqZvu>)&ir{Ug)8RY2}xpo)D8}ulT;#omAS+GrsJu)*gzoF)j}k=mb$`}wHuJxWY{8f5z-FE+`qt0qJ&P4 zT>g|05cWWCW+Q0uHS;{Xkrm(!KaQ)#n}oIEAE^;K39F4C!q?-Mu^wm}BvtwWPK*lh z2lPRvp!>0HFe^@gsb?J=$4>(fauxJ;?!wMv7`_4Djng>z+|bLQbxo1F00XQeavYv1 ztMUGzKQAEO;Yq;o`UJDKx6tLY5qf;8^8fI+;Qg2f%E)ZcOx8%3B?qvWW&p8s38*F~ z#W0{4@u2>-k(L9IYK~Y8cf$jr2Kcsm18XW6*hF`sK{E?GgS~)>-fVci*MMTJk@`rb z(jB-f@4&445r*TDcvXBha2(eYSBUXMO=2{B_IL3BW(U3Vj&xVd6?(vRNeLa{`BPPN zh)<+$$WYL1%Ynl97dpV6h+6Truw1AoWP=aw1hf^$2pa^8&|ds0_K^;O!fApT*c9Nb zwS&KB!gbji<`PDj*!~pHfg@^?fCx_h3S=fz#C=i$(hGY7$(LAc21Wxb?jq73>4;Q8 zG(g>ZCM}XGf%^Ix*h727-=Hq~Kt~)eWlOa|0c{4lZVz-N@<(a~^V<315K$(66y(5< z8V1D36!6Q%!T(DDo|#`dF40mFu(^tX`m_Y;g>(fvlOC-DQ)~;|Uvc1o@&Y%m3EXKe zq#qDe*T8IG4>0?D@cIuUEkULoq|7o3mhl^Q)+J_ zPQ(n2Pi4>wdlF{Bui+JXkY&($KNTj72e4?YB{~V_pr6II;sv1{P)(OY&*x~71$I3P zywVc50!*kJ9gAEA^_7s4VGaB$R)B{49TII8;0>;YDS9Vl4*c}{K=Ia~XOM1)AN1-n zu@qLdjiApx1b@UwP{7v!vF$fZ7~jD4Y`{)|W*dgK1oB~1)QkK=ilBF_KD=}NAt6y8 zw3^3=4H$U~;1f#$CRJZhwU@)n)e`v)KhaBMJ2C)?g>IY>(4k3~)prEl-woum6~OQ+ z0D7DbxOMx1x;hvp?d_#*@Y*$StrUuxVna~JTS+6Ot1xjkBU)q+xQXVWSJBtNYCVHi zh55t(v2+&TQ5|0!U-x9=MhFtz-L1H5DHJJ1+frJJx0K=zEiG28xD|)u7Tnz>5aOFtb=*F_2 z+jkN>;z=7=pKt*C$vIJPv+MvZYQ|`M0Vv$$8^&H@_dsJ`W)a$;0Xch??q?2p2K7ym z-IE2$8*xrtGx=RkN7~`5#C~zPQU*482lgdS(tXYeKpm+sAFL<9)W5J-r;U-g0WeJ` zy!~I|#to@}^^1*>=n13tJ=nMH8SJnZZAQt8#omy<^0Lp_qqRTla3+A({jx3WJU0QY zr^6vP*ujhyejxh2JPR~=&|nX={t}1$nK7x6g+w$pn{YqLC=l7Hs z>|t10UJb7JO#ZdJEYE~0nKyaOo_u3uXIN2JLEZqKI3}ybI;CjeJ7yYoNF_+In!Wz! za3bkZ@UVv5Ccx*0|1NN{=Wgk^e^umY|IA4nEcXX8lJ$zBHD6@IY)+Bg8XWvmhD{j6fmKd4+xx=%b?LhT%?wpSNoAHyo ztca<>JejcMQGD(td)gf*B6Pr;9O$h8=BdL9WCz?Shbh{~2l8rzzP^Ps=CNz-bp9HI z7lg}|@;sO-SN4?sTTjY%)9x{TR3x!`Uipl1KPj$m;m zD{EOz;T!6!<=5ste5pjL$g`5miB0kF*?72fKXM6VtI(HLmcvStQ&_$cy9u6_y~moh zSx3=w!rX26whdfPvUa1B0-hpRa>?i8;DTo?bpnSjY8m0Wr%Fh4j zpVWfEs^iInWcSgl0u)Yw-DWV8cMDAPLGRzft*d2QnNd{9Ysq`F*Wi2FQinM@H=L9W zTCNi5A0uOeFOkxxuxfM^x;oC^r+Lq1ht#R$6vNSOYkseWv2u}XKiTMe_Qwq8w9tHZ z5x4rHhzGloeKsiE;hVr2H3upAC}m9{Bl!ZZ+{Db`Cr)9UjrC5;&Vqv#vc^bqjP*Ia z;jS+!{Q}-9QC3@KVw*98I-B)bPmum7nf)|o8XL*3uovVrBABR?C% z#~Xc%(ZmkEQ*!5gkg@;|yo>dl5}_jL3xvZ>=kbgs^cQ|dHW3xJg3|zary}3Y#RA2A z-<5Al$Q^I+y2KsV$wDIG$)WJhVDLYRcTXat)tAQn?=7@w-Zu+=m_=K!5!Js3cQNvz>}wcu72fcS+)^S7G>|K0G8>V=oe$u>y{zy54%zCmp5Qog^&#Ki3UduY zmYZC2m3x;E8*jnEF)*`+I9!gk2H(LHCB7=`k6w}XYGr{$&vM|S6mHrIO6Q=#eyr+K zaeWW)brx%>$hzxrp6F2YAv`e--JM?}N zokqjjf_*YrDRCN(+Cxick*DN=hSlsp-yf;Vu#2vWpIyM$Ys!zpc7xbCdlGt;(-ZiU z>wcwGtKiLL*nS@+3+$dItFhrdKNFRo5gpZXHxXzjJ)=^XWelw=+APyC82OS9g&~*W($V*YH|p&f09{OC*z8#Jbk!QZqDbWG($l z{BQ@F7zEnu(cXs0QI}}d7+nT|Tr1pGgx4AQ^jor%UBunJv~4|FX$h;o^<9A({>HnG z!D?wRY&;QlIucAnjvw)?k?3WO>=-?r`&jA%S?d()NGIc%kIfem9hJ!aJ9_{>W~XV< zFPhHxdHDX%Xlo;kqa!cO+jh;my zsOpO!zrgat@UojQ+a-Ls5mD?Gb?@N)nvAv`nqP@m?Pt&SFYw=I*mf3-%dYUgmShW) z@sl2`_&AQ&#$v_mtPWO@VGSX3I)zno@S1QmRe&Y_fIB+iB~|g2dT?uFn6EV+KL9Tp z3c?!^FUs<5A27KO1RL<`ad>WXyzn7foJIWpg*Kd~RY_zL^|9z^{N{6Vz3#9>L##WV zF`hldFTwkFsBs+U6MR9=v;+%$BoAMV-Lqsef7Wvl`xb%IZuCeRQ0roB^%k~r!!LT+ z`Z|$h2KRoCrp3zOhgi9-f2C9h*!&}MY$YdH3U|4EU%^p#SqXlNNW2n_mX#&Z{#AJ9 z3Ov9J`Zi;^8|=V+21|=qip&NAbFk_uEH@E}o3JuUOX?+T~uZZoNfS)(m;x2ej0M%aB%q=8729v=yC;M-SRC(xgJMn%v ztE_&Y*45ZxF+J3EXnhU-GLvu5(&JtYUPr?&^(ixlI$nX}Wk^m{;+ z--u}=`0NvQ48)E<63MpF2W$<3()j)lB1?PxC5~LGHPJU6pA-IKpx@3)Zx~Jk*Y`lv zm0`;yw3YxW7m^i?A(FHv3+v@)<5KKt1D|@B;~=H(L6-O6nI?d}0 zb!CAeH7xCh=l;bP2jDX`$W6r=ARF+{>qMJtSa2ro;UAme>nq51ifDS6zuwZP ziJ*6=qlYS!p8@k$G&CFQ_we^eM!+w{zNYA69hv`bn0yB9EQ3cR!b)Pb&{o)QBxu|L zMtK4jKL`dJ9{9>a|0xtJW`gKT;BFOB_&2V9KxC3*-v-3IIe5S&q4mY=haF zkpnko>_+hICAiP(&qf3b8TcwD%s;J*CZdIPL*|AM?LXqL*iUpO4fE7;786!dV$uY6uzsCeRlR4|O58 zYK|t8@QP0G{Ac)jYsSi|POV2A>APC0cAVh!#$V-76ur8$SIT{@P8uHv1WCIr-ZO zd^8A)^a96CK=N4P(ondkE*!6+zq*nPcRupJLN6M$I)GPWS{TRQU!v<6S{hHwXChrF zQCkITaoPy%af5r_!B8QT_8o{3Ipzw`qhu^=CzhG)$ILRUtAv$;!NdUC^Cj836;uZK z<6jDRG9X17SW?^MGI%cC3C2u8||#>&l?WX2f2U*k3our&Lz0S zLhjlLL{~#wW>8$4^39Y`2Uc@okGIJBhC2j1l+Z8l4BtuMtQ4OMB18Is*Oh@KThaQu z_(d$X2xWBE&OL{~W}-hY%!WxDqf5cvq4WX*V3HF=jAK|m!(U4=EvrsjV<|NlU+9ju zhtrDga9?fisK9-h#QfQC*G`c0FGxE}w2@%LkF@$Rl72)hMQF_pW}jmBQndUM7Ff<5 zXYlKPxWnx4?<^-8?}BIl1toe$Xpe#D^)TT;M!I%#m&mWH(xwsg>)N6Z;cd6LW)Y|r zeZswH`T%7o!K|0i%sHa{HkkGu9<2c%mC0;>fCZx|U5xP@B7glF1n$L72a&7^qY%eo z#EaybIgFsM0b?2TTf`XK@BWgq8Ks>F|NqD9sB8nJwFC{RM3N&&E5-v~Q}P1d%7fR0 zFV_TF4Y7S4teT9(7tqxOUXMYZ0c*FUtWlKu1@g3^{A&Iv6_3vkM}j_BYXKSmG#Ir$ z*Y@L+PN3*ZBKHxrCvwPh{$A>Dl+b`$I$^aMyxJpQHS)(iu<8YUAE+?{EarfdEPiJr z!*Vn=#vjl6`^OSb;2%5C?ln;P8oQoAvv*);!O}LQtx5f2w7n*}Xo)twlywFEPvF{f z*dh-!hQTR~X^ZGr4?~(-a9$Stc@h0@LGzC(ON{ljL(aCu>2&Hk2dnkNZY_z&jmS@% zl27dg(>xadFU^Lb>(EOvk$rVT;<=QPi2a6OhYm;)LZ0#ti?1Mdp9YZ*o{jmDp4THX z@J(oLE-}2KKl|NAFK`L5a|<^55}VF}Ar6rXE`yuP;bpCf4`o102DWsdH4C~cAO@s? z{at=8e@2G0z@OdhL$)ROOApFh3)lZhq&_&X~z=;@(8E&3?2y zhPZeOZ#;yiH}JZKMdV;33SX(j%LYb{^6hyvFq=qmh8{>&{HZbWK4Nq^g;=wfZ09Tp zXo!8yd>cZHet<2kNP8bi#VF--G<^Vu*#$#6z9Se6rzl(@G6S(JZ@OOe7Wj+ySF}cqm zBy9;whtbv$S|u{5L9{I&o#s&1Qes~}ymb!VD#j72(EDpdtZq!NYZ^A(L43%A3p-Qx zD*S&pk#IA5>j`olS#3tPL!~b5rLER+eB~u5Ik}Sd3NEiE6ME7^8Zw#p_W;|9rVwtFn&{!-oh}f zD!B3m=+eR4c>nF17@9?9spmQ|; zf9s#G3Sq3`KO)R_yy_socYv4|m8O&VMh4eA`oo4|J~i3!VLf02pips{P%;3T>d z_nrYYY2<1Sv>t(HX^2b(`0h)5`z~H^l~`=`wZPJA(cC4N_zt6W=g{C<;=@d&`2s&0 zgk)di?c%rSX^Qdx(eQ6~Sg0N`w;VAh4f!6yMQ5`Jgwkyk7%+7^A)No2A&i_-D=t(ddwBDMJurXJvvge8t=sind#E z=LD>>lh@i|Do#EiWfG znTN(t;zNaCF%-G`!}&Wvzz!t;8SHn3{VMx0T9tNJf@g=pLW})45>DWc8Er=pSh3 zI9k#j->(PWYGBdNVfaaCPmDIDGq3OxO#Ow&H-}YkA;Dl|5k02b{O$-xPbHpB0XsjC zjn{;^*i;Yem1Vpxo~!D>JVW4{A3?}vJX`}uwkMBSPF8nMmc&@CQ&tSlZph9f|L@ps z2D1H%bhG$91DXG(Rr~Su%`p6WqQ^*Bss^?cS@R-#q7cFbCBc=SBXAaFZiS?b~3b$QjKe)%|NRiAO@Tw5WLG+_iUtK$k+3|tVw)0BSPsUj1M}2}Ed?u9rv+|2?+)eM!goG` z^vCd^%O}Q@WMuPs*euiE@3>EUL^L@;)DZKz&-h$M>rHrx=!pm7Nu}fvPid74ek+gM zec_VnSn_*Vxi#MI{r_zIK5;4yPnGB!31$ z5|H5#Z1%$M`5LmB50oVO`WJ~JVm|5$_ZiS#7k}0_5`K_>36h{hL@ zONkB_&KCqHXeHr~sRYXfep&_v%2I24X=PNG*o>(<#Rezl7m=xuEkh z8re_uJBc;KXh%Ep=&4w37XMS52(8wG3FN#Hj8_kBhhngybOl^1wEVuonkI^EcWh?1^(TR#k-`UQp^H zqQzv!09J#-n|OW{QV-#Z)*x8S<(I(0x!6a{RL&qb{~Pw6gIvww4#5(S$?)F$`=M2l zDxSNd;ix=VZVz=XAzJ-_9hZWY&2Ywkw0DtKoJNnksPUFx%R%^&m^BZhXCiEP)1T%1 z0}j`d&29HfZpT{DNL>fX`uTfCgUA<$f~OH!wmY8F6?PwtkBsBMN_S!X$N`NC75Uf)|tfp0`YpZE3%zrerBQPJpOu) zwGLCp2JpWdiwQiu1doaMaRRa*fHx1o7)P*qCcTNWutbX*Hw@5H+{Y#~u|0v;jQWGh+}HQHb#v3}(%Y}Ucg9AX6K zzQ2#Si)%L`$5CoJNV_j$s|+~TgRcaklUTIbkf>Y^jbFneq95@QbZWqBALI~ykzpVu z9>z#Q;)9g-2W+&+Z;{97!woue&}$+HNP=%v#Fr-U^%8R0jsDTqVdUD8VE-}t5^J3}J& zQ0C8Mszd%i*Eo+Pf)h&6=_h}jxT@BG|TLpa0E2&j#5` z8J8G`CM)9YpU{d}=e7i|+<=wE?C}5M^EIq@5G`y3!{?CV9-bsd;){6Y^GZh-MaYrM z9mUj8!vE>SpR?R|fpQ+<#UK5-jRwm%qD8~W4kyD>KcSN^uxMi>hyZ(H1giwQKc*Es z;g!Y6vI|>Xr-Vex_Ttf5lqVwf7QXwPOz14AXowYNV}UA{jaG@MHxzZ^mp)|RmiiJ41XK? zwZOBVQJTPQT|7<(^Stuw{QRCZ@wH4PQY(cKyxm560=7#N{qwD`hcsMFtQlo`4xSB17bb{ z&tlxP9J!;DI<08U$xkb_=krrU5-|pNhEm1Yg6J_@@q!4j+!<~VtLrKweOY)~iKGr} zn?aj0kTnO(=F)nR14dCpJf7MB6!!(oeL%M8meISG5K@qdIr zs}sGm3g}$LDu68Hc|sJsP8&ZVuZe5K$ZtH?h-_3#t|L}hy7^fOy43!*iyqG)UIVGU zJGIxN9w!>T1&Z$w)x}6*3~i`LInk8jK<;NmhriM7Dr|U$>)v1kF#;dP73Gkw25&1Z z6}|Y!eEY%gK?dp*nPeH-5===pK27uIvqBqU`qB?bb#!HMR)aAd*=r9Zms=%L?{3xH2lPEQrpV_>g!4`V-nnfK}>@L>43AS;NTSrlTE4ZTr7XJe43*gd3V z9$&yw8MG*X62yFW1@I9Gib|364LEq^_Xjb)F7W#+dE#I!s)CVj(9-|F$OEvFh;*r3 z{}ju<0aXsTL*z4M{XQf#ok3X_!P8A%$zVptcd@it%r9mkg~%s_-X0LsgbxX3dcdb* zj_WO-*s-#j5~Gnn3>}Geu*uXbY6?N_TC`K-gM;z>I2c5%#5e$QAJB3!UKvAeV)h{x z+@}%=g(fgapJXN2Kf=6zTz%5wi20TfA~|Z1{N9lOXRri=RM)y|3gIyC`v=W zx6wc=Fk^NWkXM9a*Z5@ymO5C&J3q>$RT`>ABqbm!@f%@^C zjEE|ja1S|!$V=ZMk&ixIke}Cr{A?+Db7JgF$4iUV&6F5MJ4MbcdQ&A>QNAg}_Fzcq4*3|TOb2@TrNiVL2rgv`yrO9Z+S^Jh=d z-&0Bz8K0H*DbcmiU^Y5P=k*akk%J$Rt#$>AVs6w3i#^3hPGV&_m>NK9H;|7^1*eUX z%!b}C<3&&K4j(hPZMe4{I*X=GI}+YS*8A8<^z3R8K|2!Hdcmn;hDwalM$l#(ewu>} z@3}r3-Ttq?tD`M~DcNor<|yRbhuBM$mWK7jdJ`+!$psBhK*m$F{Rs(7)GJ0tBCw*0 zyepUc#OkhM+ALN>h>T9Kekyu?4zllIF@YSBy(p2`PECn?_m(RJ2E}^XdU#SD_&XXK z=|HUkgp1LMK4_^6EvZ3WnOJ2%cHe;)T|tvxB#EPaO7hc(_|_>HSge=1NehiwN-%wU zKkB2vfeJl`5a ziW-?i{B{u|V+O7>A%n>7#C)t5?+!)7f=#0RF<9hpQTT_57S-^fO8gX=SvV~cna68v zcn)-2#;Rwqo>=cHR&EK#cmmEoa*d04Qyuxls=?}LRp_KFb+|xKCRWY`X@YGF`Rfz5 zx&gQDB}bdZ+`;ekM7EKUi%eD6@GThpga_vM<8oEvYF8Mg7uae{dqm&hB^rInb;Tec z(l4pVeKPp;G1`2<-Cp{TBEJ=@90GZX=SalbZLwyc41PJtA8Ey`adTuAt7TNY7DV%>v4iRd-ILFZzXofsu(%BvKC(Z<$hzubVOcf)mSUD+XbEEjgfKQ3%E8d{%3&e{H{1%8VMs8s*fn1UA z~o zl$MB@vOC!I2EX4RvjwTkq4O4Ct{p7ZiI-Rh*Pd3^K@J1)E}2pU6NxA<)+2~@dJ>}= z<@3@n%2P%N${DNwQq#I#WQEIpjqr` zC)TkqWGv|b7!h+{)hWFio*{=95|Q9Md~$|175ZnV`eEI#sX?q46f0*kkW;I8Zj2nbFZ;vJqvc zbLUa+yw3M_tR9XIL>5;DD{6@RnUs`Cyb^0cJk;ypU5rl%HhE9YA8Dl-Ms13;pHpTp zv{)S*2xfC}M-Zje!G`Vq3=;~LM1NeY+YojVaailOmEaMHvc-71SRE>mByy?xcuz~p zFVFQ7cZwXs30Cr`*MwFD3o3XQ^NH~E`ylELntlb!#G0y#_&`(cuT5MOY%lsuBF2eq zr3E(c4(r#$PCKA?xUFr;|;W|u#DZsX@ozXpVra*^mQh!H(rF(Q?S zMoaM%vEHLTvQ?)I629{RUlJ=jAA!VV+AjLNIzO&n^X(zNJq2!a{C*^|3c*`q{mU2h zJH)tGD>NvgMIEd(jPaNuFmrP_u?nxsw4nl46xJ}KNfZB7^2hL|v@wv+L?jL3ieSEJ zM9$m^UJ>h-;%Rpsz7x+72tIOw2C;Un9HpA+jfrvOmCUa!{r|B^k>frG`Qka2|7AI% z1i^91@R@`78%pgWk5FRkBJ?6+Yyv-b5^2^kejYD^K(6f@JKHHv8B0!9ij7_ZR7IOyq@Rt}15?O{APpFLUBVbAy zTC9MTMP}NacqTL_Rz!5h58^3Z#A~rGUDPT1*WKZozI;=YvW$#aJ*A~rvGEx=NwBgG zyU5}A%J{VKpEuz25x>(xo5(Ch)+g3GSzxsf=)Pus8QMp3M$)56?gy!F^X zhfYMKlJPT=`!%#mtafMucKX6dT`0RA?Q4N{TGB@0*CHDg-tZ3Oid|aY!DJ~Q{t3C> zbr885+Z{&>kNlkclApKWx$`jgDQqTuC596F5KF%B&#U#sYBjJ~J%5e8(Dy*3?T+ol zdI3B36)`oF8a}{GdDQ9w34*1>vm;M=ZcxkpvFN`Q80d#C1oFj*S8FWR2wVE_oIK=s z=4b0o^c9aI<53WGm|2I@U~C5?sbZ#hKcC&fql=jDiSc`c7#R^+XbU)HJY)1f!2M!O zrv+Rs_Ph-T@j0~b9IZS9P6b9^g332&MQG?9wtCC|Vthvla>Vlr4QRQ*R&!XrDwq_J zNoZAgfPuHjheiDbwC+689wU+-Lch<@z$@A9ZXk)XF1 zr8l5_E#4(^*K54Rn(bor=LY*?1YtcTZ^KgsKix+oBIgvVEb?Kg+aOfD#H_cNS?NG| z;b7TD&wpYD_ZSjiM`n?~MuHQ!FAl9n!UKA6WJH=s zepjN77WjzB*s7uhEwWdJp-qg#c(6)3Ex(T5MDBQ<|Ah7`B2`CNs4G^EL$-2$Tl8k$ zXe=uZrqB;v2AW2o2{AStL8L4M0i{SFvPvWC62-`XcmjGSx;%;Ri2V{y!h2$cpqMGU z?9bpz@sDDB*#c(Yqa&fUY~o1(5n06fRDZlLq+|=P_xN85mcKv=N3r^4&?HtM`LL#n z7K#}zkwc2!oao8b=ReUSiv(x&;Xct%YV^s~51ah}UhoR&aS$ z^it%HvoXjrkU1LhH1HrK75S~3_KQrbnD)P=1o33~OvdZSurhQSeHXC?NIVlEdV~k? z`#tcKh}C)MCj{HnqL$`<25H65T7KyaWZ{CdMb0EVROB9_@2&t}uPNs}-&ycPG43x` z(}=!%GvsW=&rw)+F*aVp&na+5O*HqvELc48DX?ZkQZa`jo>n*x3!O%)e?g{rGUh*G z!3J!79JD8bCbb_yBKwnZrw^=(@iMXMNA!!!VjZ178o%UvF)#Q#GxIZv6-$X3o3Qj< z@N$ci?;^7pReX!C?2H46r%;<<8Szxq05Ybr%w0@kWM~|p#e+iOH&6U=R_xDk69hiP z+G1o?jDrd0dq+uP^ihmbgd>j_8|VR(_s1?`-l8tN*^~do*vSAqz6}z`QMOo3AA!!h zlB;}9eM8}wX8zWQ9IFo3_2P3eo-96(rFAxHOM?-`C})O0>xlK26@x~KkwWBQVm>mT zHamX6nQ~6RYW)EM$e*0M>NY=9#K0tXitWsx|Rc@fhZ!C(_UT z6ZD8x6C3$Utb7)$1;uksAF=x*eDW?HFGf*CAG|(3{3UB2mat~&FDyP6%m0iXe`o&i z80*N-@;uEUR_7k}&+GodDAX)o-*J_=ZU`PGp2dFxYyO9hFW`|WFiTUs(85a~eICzT|G;{*{;V2f|5VmU4PYIfScNy0`MRxeyLj$g z%r%N90*;cGeapJKWOf2sEsd8Nu|J7X@_5x!m{dV(D)r#A#q5LrL`s*Gtm|s%f2wID zYp;eePcLTaFC$?9wwcZf#AJ3%87!Z|{xm1$*X2(*iBDaaLYWRX^2dswV7}cUSq7(#y{Hr{qOw zrZT&EMRPi$$z9F$lk>4-kR#F&;ppI4;3#secXn|ZIW2C#XS%l;&&iL(HX-oEaJ1A2 zEJhPY-hzNPM5iX;`i#uXejB6N2fef0C>OiTPhe-E=Uxxzr|x&hb7s=-uKAqdqj#@$ zH}goITyMT)@jaLAkdII}6<;c6D#t2oDT~Yxga5C~aPC@tv2&bM9KYvWuz= z`_Dg9yq5Fiyzdlyv5ob{d7F6?IcMv0RtSZ0ZdyxD<*Tjgulkcc(!x}ulv@;K*c&NE zz6RU0WhL~ta;yB9;#cJ_s(tDSnsDtdZB^Yd-7DQk-D}Q3zNx#dE7lFwzt&GP3^UF$ z*#gFz`vl2@_XMW|p9mfvbTdF<%;sG4wK9`iXS-9pso-L6kE}8o>FI+rmuFwi9ahk; zs=uaR2OPr>z5lgaW^KAZ$+ft%xU)dm=+4J4UPv`!Z;`VYMpScivgQxOdk24fc^9rYC5R*D<=5Ld%|6%_V%`Jwm zVySGXbkDuUxz^E%6R{?_`*|jK3#2jZVs(WW_ylgc&q-VHQmFK!wA3fbjGS8VjI(GnhQay~>|FP=cB5vHx~nQybx>7H{Wtr%AJ;r!&-+9AV*OM74gEfSJ;P|jbi-wI zQahlj`JdqJp~u6UMqP{PTlR2VSh){zx64Mv#zzN*Uogk%UitzZpfQgT+#MZtE>fx+%J1ZB^|xO$F^p-7eiIon2c?w@+u$KGz&)pYl%XPbwYfDGbrJ(JA$9 z4b4sO1GCKIf=t0zLfVISig*{XGcqK)WtlaxBg;N68x|KDS3S0E)T+=`=JvWAPub!_ zStaQoKR$eM@4=P_PoCF)Q{!#R_g|;x9!?;OSxM5j~@a#(Wl|iAj!b6FofYW8|&KlBoZp>&N^P zH7#5f@+L4?JHt66HzQ?va`pG4pYFaJ_Q3S2V`9yuE6G=~Gm8stPRCnU8*gKe!Tp)L znYWLxzO;zle7nn@DiURJ-lfiEcCD>vaksqF*%z}fgdES zjd$D;-kCDH(!jaIQ*@GHEqj%B&_30SQa@Idmxj2yyEZv5I?CA}*&jM;QX4S57}g-@y=Nniue0z-d!5XFsek9yVw>$-J#DO_#6hq(7zq zq}S?SYo}`NsGcZqD^7A!mRY@9`(E!c)(spH)GlN=(-aw@$3lMy>lfZ7;zh*u$cs^> z(XV3~mC1{_7hOHFVW={&ysoq4EuNe;JFQN7PLllH)0f7#6F*)`vL&rfnx6V&Mr!u6 z{8uHx_DOb?^AGoM&VAhJuHn378)q}ym)fpads@rbvaQ*c1ts=kRq@cm-~va1qWF5r zE{oeT-#W(baX2{5K%B6*+PTX0uiN3dAT5$#RRk$3u=8ns`8nw)ubRCNA9+rA21q5G zA##r$b)Jzyosm~jRO2+jsme|2I@&DVzw8&i#SmaB4bYhT2aOFL7a|Ys68bEpO7I-B zD)5JZA31@1h+&HUoc>4sG2Kee6ltM#YSwB7Y6JBO9SOjJ~KWSQ`MPIQq_-`d8C6h~!mY%j%wU4sttXj)D>l~*?k}1Aar|GU3 zX)H(Hx^iRMeqU3Ivso1%=oSTR*CGn59Xg2x8`9K0{s6;u** z&>SA*H0K6g3UPjza1IvX4v zS|ubYNEI9x@@sIf;Qk@8A)kV(1lI{!5b`3pWw0q|QDAd(x!~mB!9fP|s=(QSJ57rX z^L2+by;M#`sv=OSQ}u>#qLg!#`RbS2S)4Ka%vj#^i*a{|;m^CXSF|%dP>x==ZwNosqyVDM51Y}>z$W9AN?~>Ie z+mds#AgQQ*(fz_O%Qx0;_RIE8j#Kub_LGk3oX)({zQ|tH7F&A9l3}fCyJ5Ll^2xHI z^s#M@>rc+yS?gIU?PagSd5U1w5p^Z)6}{Xv$>=nUFn(pMU>p!|!MN5qGce!$oB2S{ z(%`(HVIfJuDM59D4hIbmIv=<)aAi=F;F`gGg2RIQ1gV1?g+v7JHAk77nyrBw%#lI6 z%@+b*8P6E!8Ydd&>Jv2I5tCPQ!tDZ(YaxjUPrRyJLdxTCy#}U zeY7jw746*1sXDV86onjJL9d^s@5JSlK;KvF2YhMtB3T+-N-h} z)y!ve4spc0s(P{OSG==9%M*mFmhm`_#%rMGbe5Z<4OEMkZUKzQgXi z>6(`M6qDCzQ+%tOrtND?)88{*Q{Ldgq^ZVYRi5U&>9D?vF41t)G&Sh^fE}9eWwVU; zO^U#qhJChYzE)wTfL@9@+SO7c^`@Zex`E!t?u+t#&3)}^-#hk?*ScC4IXzz0c2}~i zw`GlGsQk97eaY*B5XVc;4~iDDza0ZC$(}z|qr8=+Ny-zh#@W9a}u*>_hAwJPW1i_Agw~Qak4n4>=qY zdvBb-$_{%9R9iGoyV-q9KTz4j-N~>-`O2HFsVi%zxTF~&bI@ZnYC5Uv%Ni-2-pyny zi&eE$J5~R%>u!=^wZf>m>venBN6dK2xW;zCw?cWClewpaM9R&j(~K82N^e=sXoJmt zP1?^Ah^?Gg+1$039hKX1+RiE2ub$(o4Z1nb)9RNxy|lzNT2@bWLmK05F17INlzZ(v zWOL-y(^T-9*=dC z&!7tPR`h&OG%ks^)C-9Bd{wwh*{4)qxZ8NaIV*pLa=dG2-c0o`hP%aI_&R86ls;7M z(Oq-D^VKq)cYo)z27L7X>uaOD6|hNh!LviVP4S;6i}Q3VDjc4z(nI-QtUhn3dcuJ^ zO8ExOO4)l?4P~snrfZY-ux>pgV1Ik7Yu@NCD^@U?ma3mAkCjE~|5KiFJW^WB2RRXK zpz<%W<(bj}gI#sTvQ^RAwB9~N`o;K@bG$Xy;5E&3H*}QM)z+AtDcT!~=ZTiMuBURhC9&heM6t8$KNM5#voO6G8-IcA&M$?jOY z$+j8_>^Y8ofw}H=#Z9#9jdLySq$7%#oVa|dw4b)SM_Y14Ve{6uPw;;2n&sT7{7K4n zL~#zs9^D@0ozgTfCn+md$lhqidFOij=&ox|OJ~*dRk^ka3X3L66(Ub?G?Fg(qBK9N zAGohLRKBx{-Re=Y`?j)*@tQi$Pb#%`g(t~Yjwtz?l%$>Mn;~DMyTpEgZ}pjqbDWtz z+A|{PC*9&wk8hgphWv=4x@U|pUYqK6I;tB-DcPyb+1{HJaNTv%(Lgs=xz~}Q&vym7 zuNW(O!b_JcR+s{ce{g)ETPt<5_EvRQMq8iCExvsgnJ-(@xHMF@QrXNg-@8x#t$P}0 zEV28m_j{?MtPBIPJijXsb$!t6RL!!d`kp9v+eM&ZqF;ZMKjaWSvF1AMH;Ejl3#I#Y5r5!cF$E_kaoGZ8Y}r~I=8Fa zsWqN$E2-7)V(%N>JH=zUU8*H@ zR?qY#D0ZoKyUWO$Dde1U`$0WV_M^?=J{E96@>w=X7qm{-BgcAGwr_^Aqwg>GaCf}A zjiR}GjK`up@2%tQp{gr=&R*zq+<$4))%&cA+(#t2d?X`%<=FSPuBVkp!*c>T5&h1zB6y|C4B z1?voq6Bq&5ruf0LK{Zd)Q(EH+bKFoBnl?yX-Q_&DoY&>mv=0;?-OcTvdz7kHvI?p- zo>?9%S$(oBL~_c<$Sp3TELr!9D$Uc0-TTv(J(Vwgz14F)*DK zuhi{zUGVnw?)SA-{3@08HnMN>?ve$n7kITU6}x5hQ9k8Nhi1N2o=k5jXKN-Y+?+l) zOIBC;ij!0-xLa|?Tpek(?>nW{HP?1Tnkzpe5Aa;`6nHzyK9_&Z*p8QHPf{hbvXSm* z`CM6ma-{Z|+9zMATC4t7(aLv3bwYJW*}RKld4= zo4&6VSLKD?6|A*dB>Rl9;xe)s(mBso#%|?OBVSwkHMyQn-ip2v-lm)c+=l)BhkN^R zHv3u0B)=(D^&a!olsfuqacbfLW>OnUZ#nJJz+Ra5q_3I9@k*T-?Y!?j<#lSrUTbx|EUY02R z=lz$H13r`W@iq1qdfWSYGg9=MqMqV8XA(73Sv3EuPpY44-0H2GPrCoKi`1tywYBRs zH#xt)hx(qTrtTNrdrsivh!S-(-dc6Aa*txaY8U5fjaOXsjrEN19+Dn-zHl9L?r{b= zdf9%l4&yYWCMBDS9mN^Nb&BJQ9v3|+K3v?p=tO~~uxZhvqSWFC#om%jCF@G1Qk7L> zoot`sN^oR4$9dMUw{}m?kh~>nWOWobmH()QaBk^Ybv;H3JLvc72N>dv%>wTQJvRpg zS^`bMTZ5;EMu(<`goPD_mk(*hU>9i0}E`cvw-n=SKW#3 zR89*%QB17_R)H@(49W{W2N^WKQ2n%l%)RjD5F+kANy+Zsoz~{R~OG% zPBpEdNKsT)ex;luKkD(?JC>d=jxO$Ox#KAC4&-UJFMZvmp_~x9Qy$N`SJRZ`Wq*(j zF5vvtSI)DJ@9jgJue^=Oqw{H{PxfB!QQc!ac#Gy=jZS?;zDtUBuXT3yoRTtpE9H&U zW3@vypR0e-ywZPfS`eTNtRA#1bY1w4NMBTsh>GC}k-K8zVrRv9%SD%8RsQD+t>Zt& zhnL@^>Y12+cSY)P^-2By(mkoqGZIT+EDVFZm zUAF!XudQRzk2yE9?-WY5!{kG&f;NZE3Y{C&(o|l%O7WF!B)h{`_6_xxIv$mdF8(I( zRnE8qN69eTUiWc@N88r;#u%aBtWj$?%ShQ--cQoGJG%OLUU{Fmtd6hU6J(RsS9I5m zZFvx(LRjsvCZUk`!#M^MI3nN3}*^^>#(X|(~92i)t0&WZE|&awF_%l%ehv1E6BfB zm*GslO8Q5dIhx~ohiPA6)1cPDvx1HWBp9Y^PRKH(Te7L@WJ9^2o?*tw>=s+~ykKe(f11wUbR&+)(Gi zf&-PYzGCNQ>!ZR&*^M(hWw*`$Sh%j_Py0Kcq^)O)HZ?I;3OFB_8u%eVX-wmcM6G6! zX0iITte@jW;o;mvg?&n`CEbg^w(av>(?l4a=%cm0HCft@db_5!;-NRz?Q{)sR&>&xJB^QYE%e{(6Lg=nUuw3iA8Cge#u$=x&2?VRM!j$7 z5fB=Z7NsjUwPLkOD=W9GyfuDi`F`bgl>4%LWcjnP^#i}NEdTK7wK4ts{M0n}yA3Ia z9BzH{fB>D@Fgz$IO1OyE^> zR){XVQdmUL8k0vKsdXvO%C1WfyvsRXqK@;mrFqG2tHCjaa~>D_TB!%?GW8=3dSh+< z3e`woP4{v~Uz^byYFSz`v!rK9d&^NvJ8NCX2+wUd)(j=)YsMVpw2ia9(7kxVja;ig#3us~B2wVTA*6-^3I}|5?Txd!ei* zE`iiO->}xQJ?Y51w9M9p3o{HK2dC%T|5DCXJyZ_U%LB(6mueO(e^Huz(XPF=BgNY@ zjfua!348ng&Bj;K^DWO;yq%P?HET_-lpkp^*uxz;j{fcq-oA{Zk92KtRJLhLpOg$P zX=AaMd|^3i?cwa@ZJ^kr9cAng(8~NIsA5oPU^A1_xJ~zqx{tD+B9n9H5*0U;)np5t z3APZoo>@_+FHe3^lW$lU@JGNJQ?r0arsc-dx|ga)zGj{{*IfHOi>fHI=&?1@eNx&l z(fQQV+5*)pW~fdp7ioJL8<>;AvZLC?G>$Qs z8DHkNm>1FOq9;Z+4{sV#BQhZ(B%&m|ApCepZ&QF$ReB|LZ{qH>iLytwW18WJyUa->-j{`o80bBZ-wh?EUmI{e5mfC27uSV+^lMbpqc7 zehPdMm>y8sw9DYreZy=)Gu?dk5?L8Ip1!yWtLViZDh6DlI&OQBc0v6hoyerpFBR#EvY3>A;-$&6`NGmb^Q%m zLked*USp=AtUg)a)o3>@HeU%T3LhP5jYx=C7@>^tgnu6SG;&hJ4-r2{W<+YDDn|D% z(=+B(=oQ0x*{+h2>6MZbGHd0p$m*6Bk~7w-cF%T=;w<%NieZYKiV?(5v$vD8uQjD$ zTxQec5g+@1sQ%&IhlwAae%SQsRa(=`qgnsu&M(?udeZjM(ZIV`_C$VM{+YrqpX2-J zk$V=phq_{1%iP^LqsZ(#Cm+kXw}s_BY` zinsDroC2DAU#7X`AT+bn)7&DxZ9mFVFMTHO#TgI?>Xsq)Exv61(M! zy{-FzCrH}Dp2iMN_P#1Lme*BvVc;E2-VZFja!<}L8!tR7V4weNxP=6*}vNXxAls+`~Kv9iC zS5CcrsdS@jzk4H0o8;9?HKhgKFi^eJ*~-4Xcxvvl3{T1rNe?~_`jneIIOTGB&Aija zXDoKhSnFW>RYxCJXV141J3GklD_d|1b%?KoEV`bjn!B1OT)OD%rkJn!%8+MlVfvGN z>TXc7d266O;44!v{VVlq<#9z@Ije%myEf6+5j!f^@)d!IezL~&?YH@^aAIN|*-P(3 z_dwTMd%AT|=|;;<%Moj|qp!26E7!e|vyi^>hD#AVH4`UqqnN3@uPUoqrTtgeSl>l& z*9GV=GG2e(7#Z*|U_T@8i-Lnf4~Gs4d(ElUxe-evevHsX7DXh4PYT-?8W5TsG9s*T z_@R&&rm@b$0Tbl>yOr* z#g+0VX7{lQ&dWQLolSs0$Ty z6$Yh3@g-|A25=JA&&nt2S-Q>o@rHS(*@0Ps#{v>eV@%ie`!%1bY|3Yx$j*U!idBj% zb_M@eTJAaS`qEYE?(J-bW-?WyZ&>%Q&`bPUJK7CS~e6ppISPVULx z$6m?X$+uLtUtUwOPbaT_F_q+l4^x3a^_}qNLOT3%Wj){Ip<3DAGv=N z8aWC5UhzsxpzXH3x2rd2Rqpc4^d4cINEuJE>mN^dX`infyP>XB^i_6JU(jsS-q3c| zdbItRrTnOEr7O_>sXokEape@h$hJ#?z6r7$^seS|-dJaO6M0*CFIh{@#)@Ty(nfY? zERtqOW0_Z+!l+4OceuNoySt~*nXZ;_ez8LP&^=Tl+8m;e>D?Bs1Nw-@CV} zZq+x=E+FpMw850$+{4`1Jlnj$Y`3hjjIhqPy|Digl@N0xHiz>c=LhGdxVtgmqT-^~ zIRf@#4k2nm)a$7JQG@I&O`Vv_+Wg4Tz&qdMz=U9Oz~W!$t?cRU_PBi>$sKXM^*j$; z3Lg$v4Yv%n_wR7u%+a+2<(uoB>D}Pn>iNgTxQe-(dvgcm@FeB9x(NAn z>!5|Gqb!v-DYaBl`=VDsLP=LB6Vsq|azf=(fZokyGB?=n+*@`BGmp8(^hQ5@3T##v zz7}7B%ftF^?4w+wHpK3cL5Y4`(mQlCzd(KhI8dFZb5)cMKd4 zHI;soJ4%hEzojnHsK_p4e23(w%1?#XR%`XO#@Oo?>Z|k*`fVeM=p>4{g-p3k= zDew7^wA_;u_*}e|O9V4hgl1@tZbrAK8!{@hm_5lRu$P$kbUnHt-GaVOt8{%Pjw#HX zW;pf*GYCqfUfgHy8qy?P+`s%(tf6M&EU}YmhB+H6sH?e=dAK><^wgBoOq+|FtC_2q zkDKn8j+@6=dRuNG;cvV7qAAK$!8Fdqm<9j=cqi@>2MKeyhRkWIve8igQ`@H`OC`bC zbPJJSiD3QUiokPRr#Jq;eF5(|?|e@m*Ym9GteM%Jvn#k}y9c>#uJzgHT!r0FU3J_Z z&n@p~?-;)~SSwsEY>zCFHb6&FTe2y~6pu0qtn;r_k|$I$lHAr)@pJL;vso<-SYa3EuCXDV}uqY4-_tCHHgJXxDhxURQay)sya- z=asx+Uzq?OoFB{xb_uydF_C4`M>$y;spixgYDKj1K!)ZZ%MnvhWGbGtF>EYHb2&IW zH-W9q_5#X3h8+yNz6y7pYXaR>ZQ&jNAHS6!#Lwne@im0CLLTtwdoUe3WG4*>!9o?gD4$8z8}WCdYBd+27bP49ApV zHZV(>L(D5E6$UW3=x4Nx?!?5h|FTisD|Qa9u${fe%w=*ji|G`w+l!#m&T9vDp^=%_pRutM zS(?4V++(gYTbb9)ezq>RnJd8S{1qWltcSemPGXX16^YncJcQnAr|G5XxoMc`9g;#T z3)A^HK82glE#@9`ZX_)S@cSt495RWKM$hPUZKev|kx&d@xL*dDv{eQh@S!y19 z|LnkFHKb`2f&<}hXz0enWilP9R$GyDnN#nicZ70vAvBl^p;?@#C+HRRXIiqhPv2+! z(%9~UyMvjkZPd}bX@k^crM!Am?X9J0NqPzx9FG#K+>*&4zDS>f6rPcK3*^_%)ej>P z=dC^xir{K+v)hdv+C6j}gN}l|%qFwLxJ6hYb+9@fvwvfaz2GYIi}*==f8K*9X*T|C zJ$H^P0ewq1oRa5IwYL{Ga{HN8$e1fhM5GA*!DP^GDp^0L4c7AOanKhp19s{#dg=9{ z)2sv(aD=XFR&A!rs510buhr*R@qcL#)yvRI)YYczNZz8#kov?0J@R~be_k;b!!g{6 zoXfkow)?0Qc*P!u7P341^=go8(uN*I*MvSzg*sP6a_bFfx__n1X?V|fQOhmS7U3tn z)k+|VO-8ao3UcHqy|1<%SZ+iujnghS^nbM0Lw%^^R6DCXac2FA1c!1^&(4LHLq%wA zf4LF`vD)T96}yIVQFVdK_J$UCI+Cmk(=79v9!EE(AJGAN7?X?XPjA5<6d)(ac%+K1 zhT`%R^5zy$n~ij2m}=BIQWPg%m{g_rL*bYRCGTRSPgEz@F$u9BUXgo^g?e6`BSZ9% zeh|9t<#;Ds^fJG)a;QmgSEQ*8$e3`#1@n{fFI9@Pp{66#<(_s&pF!%;+v)cBS=WtU zvu&&3$X|te4^K*X)*7Xda+*dNq!p5XM;H&O*Cdsm1Wigi>Xwm%G(`$#Us91;uXn+u zODDYFS(uO+rqu`He$E(5np3@ufAy+HGBlzBGNm&#lQ9_y6%8pDs;QyWNxcJ9qz3Yy z5{)Uk*$C`n?ltyR_VpH%6LLP0ZpHyH_>y$lO~|gB{QgFI=nRu zyrN$)WTQ0~|IWQqscn8Qd`^WaXNrMl2L4VRjwN-r5*OYM|F^Pwun-7!LI?y@D#iyb%sE?@$58 z86GW_i!$xv{~>SnrOH*~Eqjd|~Af@7;p7;PLipRJ`ghq^Zh zn99#;Q1j_5^$i`J+1Q~pQ!=#TP+xAvy&tJ8z&;mauv!g@GioY5phqyPn~`H%SL=uC z%Tjrb+fp^{K3I$|#z3_gaK80P0{9JDU4RZj&+c@9Hb6Bv(wlO)u9=YM-&LHjokgZYq_mHyVRs{eynX zwP%M=CzM!B98EB)(;b*@Y$|eOXOoWF1LHm0iN44+Ga9Jb+8|>tEigUkJEW(Yq~s;* z=oXBNTCZ+a?$NQx3*2NNXBX1}^O%6K7d?L^Xwb`Xx%JvIQY28bbs((aQfkqypp`Go zK7(&NxMir3WqO5?TVJdFMek-`BK7Q5c(p_uTfzCCMupl*38^2{#`xZwxf1MGS(L9U z_m~kp-iNv*R6{;SrIWhMDXNHSlfz1e@qlW>q+^AiHyZ0*DMqgg75E^g3;9Dkhg{dw zI$Vp`pUf0(Ahg*7ji2mdaS%73v{TzD=UI-wk2UjxWE;OR`Hky(n5o8W)@|Ap@>w52 zx-p-~CaRydS?i1*@+OTOIIW`=O^RdYq=nW>uBCp`ZsGkL*KW&?)Pcr)y02a~^jHlT zb?Eg>DScw3thSE)P;wg0_1|&ET*At}q%|Y&j5+LZeTWRlGQ-4h;sUmtK3VID9+zP^ z@Gsf0(G~33OM~UFGaK>bU)G|K?z)A|Mt!}SYO9x{l9suHtBIgb^ej zQi}zDtp85>!t1()(UWIbo#ZuU>d&Cr$jh}NYmKQ|6w`q&!}TWB^|fRd27L!YYgEzb zjT5OS`<=T+8YoF>dt*0wOH1kz<=0%!Vm!x4y;i1RCpe%@Qxl=fY@;op-)gnxi7KzO zRj-n@Q2NX2N2L-;q(7+(ly&-j)nW9eDluld9POZb!rN>CW)k`t4_OO)P;aW=pnK7F zE}dGcb*ES8tBE8u!t?x?{^hCO&v>J)pf92)oJjXo`)cj!LsVz%#9745-qjPRLfT;C z54tEBOYKmiwYxgb8!m%hrW}_JC?P!;xZj%kc(A2E6iy#vIBA-mKtDr%Zw>5kL&*ZV z74cC!m7(CZcQECd8^9?vwUqvtJmq>YOE57Ji&?vE^iX;zHIZ$=yq5dRZAlWfo!-FJ zGES*6l2vU@*JU~KNsZMODVvS2$my*`3L3ZNf29YQN!n$sqZ_Cnq;ql+`8u7%EhcZ} zR-uI|yaMTFSh)_RjNVCgDSxnQn9|x0YN}CN`%DcXhj4vVOuCe(w@@AQ-pGxm_#zxK zGUT(`5c)k7%s&{XaY&k=ZKM|Q#n{>8AGM$+P&w(}fL9Kr?^DTG-4FGb)I)Y4TbY`x zt&ke2TgW<8kn^z%cTgrM=a}*IXRz9>m77v?`VM8M&vOC&ns!BM98vYpw7{RnigU?d z)JBn_)E%x2n?i3;zDk9t8vJ4*j@>K2k4#ralbpgb{ylR8{pE6_5qfh2dvG(R5#0b< zuAx+GqbSLRr*{F^*@>9l_(J|RI%;99A~nV+rAMVtRG}LhZq=^GsEPV_;}foY z6Y7LMMWKxrbW5t3o{E&zD|$PsF8zr8tW8$`!FhC;)ME-zTcONaW0a=00!2E5vtlYu z8(w`FjeUe0!|p?7^)LUGVRSJrhCf5bYOSd(dJr>}du&{m${DjUJF%I)NFO)8s*N=# z(&3Nj_2AgwRsW!k!nE81vR)UZQsLb40%Ib(nRyGgtF*KOJ9r-bh~b4A-9t^)EkI@_ z7!lp7yj5x; z@!Sif`cx;0&?kkche!(lhu(zAsG=kfdeU{6G^n7B)_c=Km{zFevW;6hZ#YRa?3M{s zK$~a~raoPglp%YODEmVjYh)u|@D@E5*r#0g@UZNzQl+jeds()IZ_FV{*R&WtI{vAC_iGSD?i^1U~T;5VxU76fURdKqa4o8scxL7yco;=~uKykEXX0J5YoL z+yZVpH-ujVd|(4Of0=Ut&3z}%H5uX*aj!5N$WwXKPI0a{#WWFp;$U-Ob5m0?*tz27 zq2~AK8>7X~{AppSILDMg zxg3fQkx-ei7VaROmpVytQUR%woKvCHpXwtGnpA2YDNDyQ>C7m$C!UBJ%rRh%$()IQ z!NqYoxmd0g`aG6Y)>Im*>iec?riZ2~=7yFFmV1^bmMNAb>nv+C z+jLt+dn5ZBdm~3R$7;uW`(67=n{4%1MC(hdWIblBFZ^q`f*riqy)T0+~yH(Cxirfwfs@Gg=2yNpFMCTd{F6zw7-w~TXlhYOyyAZ=2A;2 zXQgh^QE8r15?ygm<$i<-w+mhij0@xmRu7dA+air3Qp6{Tz_v}$Ufz}ODiwjb)dH?o zlHutAWG&LX?;rGIi=NTt@vWk3pFz*e865?=7Q)HQ! zT2@&{*jC%;JI*-PIa)jBIyyzwia8y7Gp?w!t@97(#ki$$wPG`3K1HWRZ;YN9y*s8x z%*E)B<}0LZXuo@=ySDFeSPD$_rvEJXqfOeApL<=~vU_G1%jlo^o2$O>O89PAj#z>P z{I9%ueTRavk$K7`e=6OgrsivoJ}wnwi2BWSelQ+z+lRd!Js8KBXx3 z+0n z#|g(WN5QDyqjSeJh$$KKDmrh>_ZVkvo!A^P4Wc(iEsIj3C&uP==8u&v8s!O;b{}!I z@(l@Cym6V=zbAhGEv-U!d(R$sFl+tK-!so*0nxqVjy-y;u{9O?{d zc4%~9dT?O)jwDO*5hgSvFgq|Rm>z5t4EqcDdiu`!cLq0v`AAh@A&-HOwU92zxiMeV z8#Qi4D2-z2UCdgxBvYP5VJg^1F!#lJn5*&GDtUs8`EKMEoy_(WMw_;n zYMaUfv%V>|HKm%4nUcj4;zn_`X`3ZrZD6ZrYirG8wORkPUbPY%Wt(jK-BB=lUF<+- z*qIcc=v*5&EY2GDDYka(*4PzsbDc499_uMu3+)1qJl4J4wL863N|i5dQcnJ?=6>$k zkv%GNYeqTueSeGay~v1A(_qEG>|l1ptvrLqwX6IjJT81OGDI<}XQi&8FTVG_9l<7% z$5P2iBv8yh*!RFsLR&)zLeZgV!A@aax}c)!K*C54ytjQMn%;@L;Y!ASZG|=um4pYU z;VR79HKxjvKB$vdKoQj)9jS+u08VPKk2#4eC$ z#UAF7mW5W7oH}#d3Z)>@gxuJo+ ztG@ZcX5n5DCG=-#cDNoYw8q*JRhMoAQ@lkz(>-~8tNm|%F}^##&cOx1LMzI7B7CSy z_>i<;ajG?BBeGCls1fpzzDTxGgE0Ae2q*gxt$@--DkV*X9@+t(!Gsh|jX0p-Po)1v z4(UZy8Ox~>xM~h|KYvxUnOm9DOfjan!VZ2K*OuJ`M5h5ehx^Hwz%}Y%E@UxVk6OLf zLbfutDK^8F)4s^Q*wHZhLF^P~fdnQoGx0!DX5zYpJkCk6!(v*;42mfeW5leEeHzy& zrnzM(Jx3Z7s^%-1x#sKQxAoube!uMN)09gojlS>692WXl>tURhwuD}UpF}D|O8N$7 z70>$U>gbmPW&D->O7IWKs+c3g{0qH>y$^k{{`TJ4-le{k!Pb!q(i6G1x)zwZrfyLt zLmg`gUkb(t{|R-D^pn=gJCzK*2&RADk_4l!4j*pvi}(C#Y$9RSA*=!p{F84ZeiKg# zzk_8z&dlbVLM@?$fJq|ra@$(F!)~<+)-3ZpQyno==ngG?4s%({DeFReh9fO15H&Sw zmZQ0Sg>{;xqvfHcr**2OojJvH!F<6YV-Bvr`9I7_Rxr0VO%jF!6TXj$!?KupZ7c4x z4QVpENBlH8U z*cOOi}IX1f{J~Nhyv~Hcc6# zPSE;*2~S6-_X|6lfIO}1+Df&mI$u4Fsp@P!AJv@fqnk143DgZznDH=|n0vGv8u(ZAF}fv*r`lnTV=a0M6IBY6hqKYo&c-zRNKB#2 zKooPq7oa#2M`oZqZE19Z26`Egw?eNg+MB17nx^bwk43NoeWUcf`fLG4+PnSoAX zI4ZY?%tY`r2{_Z%V1MdF_oM$}F4F^1r(-Y}+SZV90lBjka7BMJXl;+0SFNBlR;Eb_ zk=>Ekk@M0s)P;-?OPyGDL$IavWcWC|m&U%+`3V%9Ok zmO8fJ z=0NQqLGO71uWYn_UXL}p!l&S;hU>1+)CKhV1TG4BND(3dudD#Kh#Wx9KkJ#$gbxOj zazQ_%x7Bx}D=Lh>;WzDr+E6X2=7h48*LI+y9k9-Lrrqe1S*63NXDBfn(>U zSAkh8PCv%U+?NaivfhY%r(%I)?WX@>KC(sGTI_n<_lw}%I?^AI_qqV5Q8{=-)rX4& z2Nb0&R_qbIC~}d8fcGd3cZ;>uF*s1TkP4)Ag4#Ln=aC(>MiwEMmc!Q>?0a^ zOjgr6=|bmaT%;xK!#z(2GyRsn0v4{i1$Nzk~g50z5kskV#ezJ7WY-!A8B7F6uYInw0>b^$ck2 zSG_FMJ?r5$asNnvS{DM;O z9E>Gh$xX0FjYv^Ee=jHxvcf*&9P=VEYyc@h5`mED6i1!_N6X*EMec3hSPqhP+^9^1jxv+YNVQL{(|ACXJwmuMCTwDE$ z{sX9Iw2_79JcK>!cdUd7@bPH_m49{k#r*P{{1;dEHl7?7ZZ4H@*H*v_Lu6~40Le*R0Yxdy19l-m&jQS-CIL;*MIj(0DG6=X(6YN&!kYUjt9!kGFkqKVO zHB4q~#`pZ?`uodwj>GP0#m87MJLhn>k5eCU-?kuS_$re3B&2p#Af>QFyWn(^2T#ri z{O`%|Md*azDR>wK^akKsIY6CC1g{9QGyZ4N#X z_jRvc9UN7b(FND-G}hgpWGi_`;^|KGGi{3;p0#AF4-iE)wO~(Kk zsKC^PD@aMk4t`of-F2EiOi#zo{fz7)GjQLmSc&)H+A|YLGr#h^LvYRMXe8^M^=woT zKh=IJ1?6E8#VtROm&imu4vbt6Vq2TMQS5-^Nog!>_X|OM}155m!{ptRcz^7or@XSbOC@TL}V(|*| zsizfDDJ8oiMZ;QfL2zJTkH5RWg1@Feum7XJQLtxdU3dhl?j68`ry4xjL%!e)_=A28 zG_M)7UNY9qa$LvexJ&P-B4Bd&g1=pc>wTO4fq9#Kz)Vk*;$%A9c-DgHzOAp*Z|RNE zqt(K?8%9i+E}Bbc<7}zIG-6DcvFw3fw=lVab*^AVoPsZt0lqPT?1TO(Oz&X^qrY8- z8ubobbw&u61YT^5Ycm&Wv1w)+^PIKO&)2ctwdJ#awso@AvraLO6kYs!t_D+vYNZua z+DaY5?L#+$-vjLe9|E;Q{lm>8XV7mBR*yqja7LS>y~l*_c4eNF4|v_8z(F7Ded;dg z9^_K8TIw|9aJkSqV@k*xKzNE&cd(V zxOP{tn8{lL-4_Rd_{R8=Uz?xZGag_WC; zOQGGtiGh}W#{bEmfE92ud{wHg90vmxr~ZxAK1|*(xx=%9%l*}Tn>&~zy2(hnUb~DRn4P&D+cC;l(19kEw5Bot2H&3Hd|i+#_pT`T5p58r-mMn zRkewVrf)L?I1gVM&%4L8)ZELGY*}RaVeW2@0Hf|8CJI^HdUgZzocIjp|MU92j9lx|De(o%V$az)j(62>-kHv5^^>^;oI zwGlFf#ZdE>hua8eO2iJ-(6rW+05v9WIboS^9b#*3Zwp6`BGC(?cLO6G5*>-U;`nIm zW;riT;R$z!*-RY98uf|1NLm*OhPm*e;Nn2nz^FjmK$ias_M?ZsV!oB$4<3)ZnLC&J ziYqOLRY%$v^(1q<%>Tz-Wnyy8u6B%+ziwiSpFQ#xNf~8VsWQpX6WXuj|k0H~FXf zwtLHa4bO1TJ@*TDbx$tOYrQd!^px`6^r`;6f!4v^p}yfFP(3}A z=0X)ED`s@ZoAg7N7$`z}>EqDYj^#S?U4)jR#k9s$*nGkqFsGVdL5n=g{KE7R#?uvq zp+G%ixLj-qlM_4e#9l)Ea0gYuW~hW80EO&~zUqTIPK{DC;fvr0zCA%1q^wa`=&Jf@ z99ZFMsJf0&ouK2X0=?luwifqt)Fbm?4Rwe zaGlubanZ}8k4CSLc0><~dhNJsx7gZPhndoz5II7`+sC7S~W=g<{^6QULpZ^8r zQa4QM7DIP4Uf+*O_Y|tr=~NJ0P9|xBbF(>k!Rl-}yNV-xA3hn+;sc?lm?`#$uD2~X zs8Lwg53QYSCu}NE{LS`%@M|@U^{d-vSkGEcm`9pwh#7F%ddAFyZ%kdIxpr9jP2Lxo z7(NBp9wyi)KnEt``77sp=cuaeeU({t5{i;JpXvQdHvp# zzJL910!M-aLJh)kk=v1JQa8Dq^1GS^#&IS3k)uXu3Y7p^imtCRYMODl&jvqCSS&me z;zbd&TaSdpLM350Uk{4W6~KySvp%Lavj!T3bkq@U)S^A%6?z1o^5cMRd_k9U5zpTd zRR1+mabi**75iOi=+==C=?Xr!3B$7I*=}5zJII&C&vE1W?8bd*WI6$ttpR46wcI(~XIw*Eb6vMxS6y>lCtP`<@;%}n;OXp5 z_s;Td^*;|R4r;;wLQBKma3>(RMNtb9%z3oM+0|5YpeN`7ch0NSe?UlbF_%%xyk+x( zp{oUr>KneUupc_xjly2xtS}Rkcj?gJuH#$qdHDc0m($s~z}U7!^L&8r0PVyra*aGB zf0OZ~At?*peFHKTJO3NF2Q@jKjk0e|K=O(EAAWUZRI)Y9_H3vl~60ix}@wg+3xHmuE$XLK5-3j ze|Hb|jP<_oUH3P}473s48M24(g&#ylNiL_943qDwRlk+D4u}NR2#k*=VdO?$H_{l%_!Zk9#`7Q3!r`; z7`YOz5xyHTf`fu(f>FU`fdYY>{!#v8zTbUsz4N^po<5#(o}75@YIxpxCVSJoO?_eC zaz7K87U&xE1bc;&LpQ<`Bb>BNsxLp13o6f)GwM+wLz|5&)N^u#p2@Uj3v&N(6Ywfy z#IfQ(q6r>P@1WlvAr=&G3A2S!LTjN2u;>^3C_aHd%WdJ7aBI00+(fQBxZ&6ADtHm5 zGM!K%9Kl?BdsGZ7v2)F$C!(KPNFSwnu=_!1tZne=3v)&J?))--HL&3mydU%Of56T1 zsqjVkD#VGui@NYraDZtviD~FwrsIzE1GioW^A10NjSRqSga<0p3-I)*EDeb)4lfUV z3(g9%=r>9RY6t9rt^Ou{-Pg}|2fXrU?`!XR?|)vG_l5VFHZ;?A7sBVs$2$X0nu!97kj5(o%?Mr$=Q)g$Nu!Fd*+&j+959T-X zXLzg79`|!Ip0Zw;?_a<-#k6Woz64*KkL5GqxVIM9#s+Nv3F~2huo4?!@37t3bgZ4m zK)b%uY0wfV|MxMg!X!ZxVW9SC0OwGOozBwSYA%+a$M3;YJBuHPr)>*w0UOX8s`-3E zD!f1k^M!bwyN5gAM8y`%j$pRX|ByrQe_y6wfSZy@Ev2-VzezcyCXwOcU7>rydw~Ig zG65#=(f`1of*wxsP4Tt%efQ4wUdEM~?>ptI;Xm)c=MVU+1Re(xgIj~+L+!#$WN4(8 z^iisZE}@RXs1w!7S|#kI0w(`Xlg{)TXcKcm(_D(X!42jeSmQKKwA1J?&*6N#AfACs z=MC|`xEiyE`NTKajiQAc{AjFz_Iw?zrCnTZZV%g-^ zKnpXV8SQ~pG#+}bW$4XQ==?y0UovU%MlH&gU>mS|*)OaYr`&n`=@h#Iy7^n|F1U(T z!gpN(T=6m8iaw8i;RoD?j{ukRYIoEZ3a_k`Ysjh6R>>(%i~Jk5hBt@0gj$B`ggS<5 zguKBu!HU7(g7zRLiqXxU4SotHgnEQ7h1l?);k{uO&aVQIzalpym8A#LO!+rui;}67 z22+xR3a=&3=Qfxa+(_jo+el+Nf=P)Jj32e-X;c9bt}oQy^Ke&}@+0{!{0n}ya9c@n%B|&!a!`698Inz2fv-3vFO>_*`{ioNI;DrQ6!SX{wUIhPJ+1z!{ia_4 zRzC(TNv8e|{Vfm0b}wLmUUG>(!~DaTSQq=5{m7hPD{)q?C#Jy-?toBTEXcp-qPXkq zaDI<4R`l{Kxw~LF=3q|B$9>`}@m1K;^jhjZ>CcwO48~d3Pc1Zl>c@>V)#1t!b(c|)-U0uZipCbLhvJj{S~fKUn$#OqAB|Be z%bnD=MrZmfZ6_O{{yZsHRGz4%srB>+dMUZ5ZIs$c=T$Sc5!}u(s-<=n3eb>x0BVgm zdN>oJW@;YgsS>4EA!pbaUS~w30$A<|`UNIk$S>??a!{=mqD~>VST}cCXwGdg{#IkO zMfyn2jTz&y=%IKem(~xnIz_mdOh-}@UCCrrL`~?D>`P`4G^Kv^Kjni_6%6lR%n^#! z_Q)-i4SEe`HQSQp);}vj`LO(0FTjM+v2cd_*J-Pbpo(#y*!_A(=|E(mdW*^fHmkic z2{_hvWeya@2iX?XSM9R8Ro$i!0O~S?egr?8i|Ql&3RR8nh^{-1JW_LOw>3gFWQO4C zRWhD{EBjN+HvVE5<~!*@-B7lxwTvb3j=Mv5qRME?R7FE#0NA0k^kz!YrYQf)YxU*y zd-gQ*gB()pLl-m0h+#$c6tuP+dWgzUdJkd_l73M2-KScT{OC|ilV@}frUO|A-oGAH zF)fG%*b&Yvs)$ijd!T0;PIyn(B*cLG+cF zNZDwlfa@EmHPRUpfl9cfwpqERT+lnv8%P2@8H(xJN)5Q!bS6&r6w`+|wc$!5IF}q^ z`f$!FeM zVAMR&jnBru^~5+qIp`*sOR0{^`-;96`to^D?~H{n(XTGEJrKVG)GhpZHO};GBbMBN zm(O19B(A_qeGrgZlQ9Z=KoDe45KHl;?8wq3XsRZsyM8hY;^c@;9}l} zDZy+aIq?)M2Ksy)dvp=Zk#KM^zX9f>C-CwX#(FKNwbcuN_0gd0SqYc@@zC4ffivo6ZM?o7 zNa=N~1QvH;BzS=pSQDG{Lf`|uMpbI8k;7<(*`fMifX0IlYk|p_n|eN@Ae04%;jFb- z)AT#w`;f4OezQOLzg}?J7pTPsWfTW1z5x!jm$A~HfVIz$$*rFBTIc{CunSR}9A|Rl zRKCOZKI0z5;(A2z5{HBy?v3`MSJ?f6T39_pry-P+s&6jUq4L5no#BE-jN>V7~<* zLSC%P0?6h#fXSN(DFgm*~S)qY4ISV|SpOTktA zS-5j(4G`9RzWJUN?if!?|Kz|i{}OLqPY16M=oT&@{T=BYc^7#PeL@BKzsTN@KiDI< zAXF`!9ljiS0;kNb(lWWJdQ0o0%UW(Y#hryqXM46M;{)c>9P4&J>alocI{dv}@gMj{ z{8wR)SlnE~qQK*!r>&-akiE9Oi*2`cnPrLjoT-wjfVrI|**e))z!tRbvn{btbrg53 zvR|{8fPd~OM;*t1_8#^!_JwdotzkQFzhb%1w3D2^c7eG;D!9>=mM&z>^URdaDo-Li zgC`^Xsl({N+EFXO)>kktYBeJB0yDj4&opOQqJSlN7PoOC}tFY-HPW#hwCFcK&cY!f;Vj)i7Y3Oi*DegqSY6zVHU zp_{Uc;l_T1DUBJ#u~=;ew9;=;`ApUF7ze0VWD>KB+a}a7?S$j{Ud-UzY_F~REq6^V zOh3#utkDR|R^|qt3(5z0Uq|(XroSq}YF*Eu774 zgQ#(Vrrx~4!~POk15*}!{gR;vt1DHc%fb9|m>p}qWvRveM=fAhb3@2~k$`J_X6?)h z8J@H`-(<%AAsw=JI~cRE+b){kB3{FJyezN+bdq@R1G*BR>P%J(IdJn7p>Us2_6 ziH%gzEtb*Fiq2=Ye(0C$nyq{{rK#u2&(rA>)BpIPeJlMnf6BJBCRvHVw6HAB`vPnU?j`dP=hS+r zdPZw);F~vHO~rhj8%%F$su>xLNyFjjJ9aW2wh-T&U&ei4%b?e~MRz18z_AW8hEj9E z;^)O=%|Nl8rK>HksDmo@ErU%;2Rk-(m#~pJ9 zop};clUn5%8JoiN3_3hcUzDfew+^p+Bv<`G`5yoisiIagACIe%G}Adbs#a7%`(;xb zVhP9@oqja`zB*;$mn|Q9e5{%BcSg`PHv48)HQyGguW=Ges5MMJak8bB)g+#vk+Y>{ zN0#_UWUtArmDMbJt~jN8+WM zN(HD#7V8D6IpjC?AN206gu@~+4>k4VOEbH18jLcQXv>v!`IXwAddBSJnhJMKH>?+< z7Db5!Ec){RMSK88n!{tTW7 zz6~;wcEG@EXp-@TxUj-nni%Uu>uZbGd{oHE#*^RlICY(LDzq>}NqN+KltItqW34%( z5@J(g58=*Vh;rF-Sn`Sc_%d*?Bc@4~3byf%$&@>D3;xp4jb zt#YXG>udrw#&`MKU&-g+tavr>#j+RX*B?KP|Cz(p*E=aNKU_z6t%Ext|2fYpdC0bJOVC@duOcCYcky#(c7E5(<+~ zQigw(cZd7FJI-tNO%An^r>Iw`IhYX`D2_xO@Gmgp{RWn^67LU#YOPAQGwsZaX9toOO_&$~V*Qi-V* zAIx{E@W>*I^3BPWlu*o4Udxr$_(P7@nJ?x&^*yGZws<3_T+V9XZ61u1hU-1(x71xs z^nB5-P$j@P*y-Y=J9>wc+WPPgua>neqfh$F)Pp}dX6oLx@;o};^ukfvc_XoK4tv7c z=oS_e+g6(q8tT31%HvA({PgV$)mOF~!&p_gWol$;Yk6ayXYOG-BeoGs2yuJ|_C1h? z585o{veY-SKXOX0jq~~iGhP^PDehPs)g@}YB*4=-jv&GqEe(_*iyfBTwM*xMu6 zQ;O3HkiW@>EdW?gKqX$eF5 zTt+Z+|H7qYE+#m0V;`|eZmEjAMLDlGq!aj0;skRc+bnycJz&*Mg@plZRno}Npd&3~ z)TbwMw@jOC>!QTCck!bW3n!gVC=y>Rp;|(^v!=6goX=S{J`&xm#e^uyrc4zPY}%sT4mRaFIAHJyqxiL>eJoN^CfTk zz9B2w+d6zeZe=_r4KXEqL0znFgg3-=%+wbnvoXUxnfj*KBDVt%y+d8!Gwx*svLAa( zgu7{F*ojt4tUq2)OiaAvY!_YK+>0rtN#ULT?Vje|;(A~RSB!GZm(X+A3B zn`V=Fw5g^k1>qc&)Yp$-*);mEVV&Ku>cV^#nefBlB;E|i@9p#nCocIbPEO3mwj3LKJN9* z7d2lFc@y=8PH&!d%IgbeNJaIF+AwH@bEqavGu9x(=*iIMQ~;j0o&H@PAZLXWf`>e* z*}Gl$P@`^_?8aQ)X?qbp$@yP=rTC+oa%5olgU1UJGP^7(rye^usL-=au+_qyj8XiC(W@dxNN?v>8&+Bs(sAp*dMXUard3h_@B;J&Y{j_&YrOc99vCa zsnHVc%av*Q5&bFG+tJBaKED25ENi1Tzq;8pCuVWt{v4B&&L>`oonw;pEWiKfv6SRb zqu!T#-{Qlf&(~AsjFYZ$-i|(>|8($vuwE#DePFzLm5Q*p#K&gQy2t7rF<@NOAaiJz&t(Zj$7LI1$vtL1j2~l&ffdXI+9w;UYGtsVVbAJs*1D zsgPyM7?BaoI_S9^j8dPG=6sqs)0E%TKp4j^Cr_Y45%v6-s_ww7=l?amFjqFe6D>l3 zJwR@1A$hQLK>AZ@tGzdF(+|0;a4BqWZe^+=tYpj3rKzJpy8i^$6Cw=j;f4vE*iz)g zpZs`E1v}ao7({o>x>PZ(fJb1FsDsfqS{*el~~@M9aTQ&kLX_Z0p^PA9CcUF?zx^7 zpVckvU3NonO0bENgE|TqgH+78he$JOwN_JYptUn5(m6Ppzi&#%o-x9Fgdb1;W;{^} zN+-j=g|i|(;eGIm(fQJ*ik457Gv>EqG(VduK!>5KN`~h48GV~=#19gt2?K>TVA>gY zTp!_P@wxxD!~h^t*wbejd~u_D(+6~?3k|h5&TJQmw#U7 z!_@wt-n^av+V^(Ox9M5?0*}?NjLSO7IVIs{+#!3sxS9Q6{2O`Tot*VPvz=>+ySTfK ztG?@^yP{`R_U)gI(^{vE$lzU%z1_l-w8!j2%PmJF`cCvTM;B`|VJNAlUJgG9H1&V- z)kDUKD>6y`1CzYh)PVX!c_zonmz0ut?klh-`0b_(wzH1Y_MBF`_z&i{UD^owVVH#T zODC0@dI}}c+qpYJNuzs7RG*WdqRNkFjFgPpi>Aj5ip4`h)6_5Abjs7HMX`WIeZlHOQ z(X3e&+ZVkWUJlykb6*7_1932j7SXGq_e)coXb8wwjX!?_pF-!dt`6s(M*UKi~_d`y@ zPw9qgn`-_6aU`TUqKg|0mH~F3^I&r0lyWKGCC8iv_KDX1)VxbFZ?=@R?{_v%S)Y10 zb#KaH=Vl9m7SXDnFAFnrOR_6x&&(QK?hfi-OuaBxP5H+xxlgDYG3^hf^zSH*673#j#*Eb9^=nZxB)pV1I)A4H@ z+H2Z(^yiFkT7Iw%a4d3;OS+V_CMn-}&9T*f+xC|2U)vM=cxS8RaVcw4zE1WyaxHP) zqgc(L$!#pWocl+Pl=~p}UjDSAX72BOtwOb<|HzY+$I3P;str)~%1h*OvO1a-Zi&}w zLLkNeq4)LDL9Qw#uNFs&)Wyq+e=3>mp5__rn;N(jtPt)UNsjiHhmfQ3KCut0h^z04 z@4X9%M}0WiOO21>YV_codo(riw9eK3qkX15O~sen)H zr*;pSY8N@zy+_{jI$agc;m;E>Tam~TzhRW|OJYAB7`KuYy3F7qa-u8I#%0KG--BQ9 zqOAr#zFPL?cAb5$Eoe<8#%Q^tWzx6F+fuBln^J;Fd+q<27Hjs%kNw@ni6 zj{B5*lY5OjdHX?qkv_@L&|oCi=XL!P zaJsI6J+YqLz*Uq-f6bU{+=eH2m3f7EthtT(1@p`7v<;SBmSJEjerp|QeMs!=RLdNT z)9SYNwr4q}C0SGYrUp|#O`Vs#-kxMysQxDUvHxFpVe!vJy|M8#inbS>EJ`kZzqnG# zd{;_o#52LynW%*gfyu1)r0|XKBu-XEtj*p~0@f6U4EN@vHEAPxc?i zb1~2Vx_=U&a=v{Kcb`1qb=l!eGtyQrX%FdL# zcm-NmPwU^8CPd!#t398)d$|8~*D4LW+q-MKs+G(t-cr1jXjg}4Endt5|387X#Gh{@ zc6wrTO7u$PNO)Z+Gx&LMTQDd1N@!tdY^Xu#LGWf!3JnN-6zUy{1}6ni2Wke~c)lN# z7u*l5hmWZPGdlK5tOoI7Zcx9*vv&GkGOC`d>S?~mr}sNih7WX;wCB|`$-R1w?14S1 z9Q9Mp673~o4vMw1_9mH|TI~iRq^6Rm)sV=8Pjv0|Ss+3DVYp@Z7retv=7nRX5tby| zBKtB&9cM3Rz|r6FmVLdgfSBR()&^i{er$W&{()mC)wUeYu&uiJE+{yT@DktZ(vj{N z?znqkX^H!sYeq@k;x~(?7L6{Bmt1sL_1yNPdb@icCbZ<$P)1l2T@;-ZRe@VKJTf>k zB2q7MB3w26X6PKqn=^=Y=@~j4Ivsi|bd0#re*@ivD?-B~t>xc{5;qd7+5kkMHPk}i zAhiUgYA~l#x2T(#p}U6d-)`t*cuW7XE{s=ri+aC$1S1V;HxLbTm-CvjRGI9l8$h+m z?K+t?ejVbe-ZJJ8KikoiWo&F5Or_3N`ngz#wZ<0ahn6|EBlek&??8q4&7NvsZEIpH z;*{j6b-Hc1eHIm5$2prjUb8+i^iubilY=jM8N^qmEL0S}gsu3AYQHVyN%9op6)s1sMLR|2ghQdDq2EGZ zg&Ku=17|Bh1KyFfZl^wtT6MVqqKxZ?mzEihi7CaB? zqsmZKe^Wa|Q$an3Sc`+Icc@_NL=N_H$egQNs;i;9p*^I%OvTNSy5Dq-h~V7}PR0~d z6>Px@^PA>u)0^x;%9(b8s`{~IlC`nz4_g!aS}?jRIa)gUI^JMiwZqZadEYrKsaKNO z+0wS%_=~!wJSO1qeCOIy@^?vNFe5s;rj;x%_7rs}UQn{Y{e!22ud2TiG0|td!@S>k zr~0n?2L-Q(3=z)j!IsUCN0PlcS-Ainkv;l8Qqd&R3MA|u;j^JHf~LUtzAwE=-ZtJM zZ;JnuzzZR5BpSV=%!+@@33o-+1F|y4lB?teO*>buW^C1UUhV7JuR#UvjK3mH{ULEn z$BA6-tn(5vBByt*;d?^?IpLD&D^mo-3^0q$_swq*FP~$*ZrgAF z%+b)f&iS3Qy>mC{vWxAlxW2SEaa44sC1odFNm}OIZqu7uXm-lS0(qr5C0`W3Qv6f# zj^csEU5io*TNYF(s95MKn(4Y-ddB-Nnan$U<9$bb|MPEV-iU;rg!@N+kCa5}M2AFQ zCktm)6yG zWA+m=CqyiKYhvJsYtQOTM4?_Y)Wm1LRXbiYlT77OFnBhqJ84u{&M$Q7`sMmd`T~6h zv6ut#0o2p~s{h2W#t53Q`Kmc?F3VZq$CjXFoAoVQO)AK3b+mJ?apqE!)s$pSy6wE_ zeC+I)RGjo%^0bsODb171IJD+>G=XR<{{z?gqSb}_3#SxaD9SE+z34*WoWktF*NYpv zrj(ZPzT&$|9P)I(DbOfJ+7hf3l!Cp3UBChmQQn@&1kiB42v@`V^tJLo@{P)Hvi(7PD(A{^B@k;XZBXr_ z4%{wQ$=RB6WF5`bex&WK4N*V&J~(wvz_K(Fr#8fpMVwcC{Rn*_X!P@_=~_w@SViLn z&|wc7ADh})KC`a0jj>0lAUNFlR?<(&yHegx{W7&uYU`8^$;Xm%k^;%^r9MuZRHk;? zzexp_vD(~dRbQEsjs=_Z>gH|CE6IC3e{H_DpkCp(MY~Hjx@UL}d*}IP`R4=}dt|75 zl5_LLibFm@O*nhFVYpX#Sa^NtYw{`V{=a-SA|wA7_%To+(A@ulubMB@HzM#!=t5+* z{1>^~nP9+qlnumi#W>^M9e)&4l>aGp!Oz^SSYthix?WGd`!D2|c2zx7bphRIDUmFN zV5T(HR@1$t*AnOUF&GKOV8#5xiT7&cK#R}fM=WLy{UZIpdIgl+D~7L)vrVhae_D#I zMtiZ{;;fj|Hn|QcAqP`lPjRNyNV%EPJZ)W>17$xb+c#~g^JUWj$sOqKI+A}s=SKEt z**CMB&(RZWQA}t~v!>2*> zZ|F05&k#Ag*#APX7pOSj2e$>n{x*SVV00)m{0Yw~vE$$dH_=>#pW`$ysf(oX)WmK< zuK)Ygq&g|5DwC93N>#ELniH9STpFX2LEvn_-9HgY?O^s>Z|G)RZkzz-!4~}&y7gKo z(os*lRO{FF*3HyS(GBMMl33h-$Z&XOe9?Tuvdp&4aUkiNlvwKRv>Nyt9H69BN!g!V zoct)|&9tmCr^@D)*^$!7)=le(OmoNbKF#d#wD|G)N3$L$J*}KQz3_f%@1TvU3NH9_ z2@d*|T}rMzEIJQ+mjT**C34&kgx>J)E$vsbyUWsvuy#n&VGW}}9N@F?GI^&CmR=R2+xBkiMp{DAQYOi{OX215Nu263` z)-u&Khs;+jKUsgX*&Oqnm6HdgbWE*~b|h^^nU!Ulm3cF5JiF>ODbG`erPfaylr|u> z(3xufNcD5DuIp4@xyw6c#q5ZWi0vopwtTpLAk{moH01ud^qO~dphx6jEJLj~^q{h?#x~7rwJb2r zGg$QL#BfX{f@87v3wU2iV^pt_UWylhv>TLZ0YCN z?#Q4vb?2mo$-`2sl(}2>bh%6AY~?nVv81g}Ii5T?`B-v?l-tS9q===quDvqGKg@M8 zZ_0D`qbm2+4}Q;Ro_({ZoA=Z38tH5ObjuZ68!8n{)#k(oMz;G;cr2yMTy@D0s_&lU z$@ISGUFn`yWX)G{x8%K5aIk2+>!A0SuoBPKT{5k)RJ8WCY&A_bbkg3JzElQ9-VYrL zTCk6uBR@nwjhqix3s(=V3FQ06QIuTFo)bShucY0iHez_PEmhIrhggLQji%3GoL)xWgEtsf3=RY_j0Ur>~S1*>~hR- zyx^$pSninP{5`2&%7oO4X{NN=sm_%2|;tB&8T1B}}>P2(-2or9fx&+yr~ zz2p7mf=Xz5q)qgPNawH|d>$wc90(2#pOQCA8eMIZ-!j_%3z%Q??U|MWqgH=MeI@=x z&W(H==^y=CUZgA}_H2QwuI6uMk)E0+#Muqh4%Y3|4>D@ZZ(F{wzGF+ZH?$wLRj{46 zcC!`P4%!bnR7qEoQ&MfI15?7BiK)`YP_ry2d45uR=WUzAuq56vG{oa6*_r2kYJc?m zgPl)W=IqQTDb4$)a@6#4($JJ$$+sQf+xJ+~wSPzArLBryD7cYVKeuLX&HS!KTixGz z?A}VgRo+S7t)4gB%iX6+_j`v2S46r~SLc?=YrSC0wB}n@nkwsFjV}y;;?MM!Cj!4F z=sO>U8pwK(KISM}$;|*agZ!ld(YlI5O3^IP-!g8cE<^=ep|y);j^S%fVf=47DS9E? zD%>#=i2f8ir@E?X0uuHzeI}Oh8Rug=hZ`s@8S?oPe` z%9F*<4`)eM~@$A+GhfCU&_5d+v zyRSF-s_i^4x{F*jOa0z{!MCE@rDwVu=9=~w9hdEOthI~-H0s#K@KyiEp2O~4?&qEr z0d-`Dye8J4%G-lMH{8le%u@1SM=Sec`=tfc(kU?ZGIs&@uFz1T`+Avc(4Nvm1#6yNxL51W`*)8# zP-Pr`YRhZxOP2JeckKI<#-;sRwp-fw_J4GXd)u&a^hO@E8<7P(Y9u7B53&wkFn#k$=T)g`Oe$i~o@UT3MwJ;FW4 zvzDlK1$rHlYLh)#$5L{@8uS zlkS@j_Wm@Ny5xx~w=~PQCDsZansJfIi7f9d1hkB??F zC|D3arA@USal}(MRPa=EmLHI^(v+vFD5nS3y5{CJ$U2k#cYeF#sH;`!4)2R#<$oOB z5?q1DcA+mF{JDw&Z)jbtt=4I(Vb$7uJJXXc+2@%X>(0f`Mi%>DE*-ps19k*>s#Sj8>vgtJe9`B-jnm9HKHdXk!TZT9A^@fG@t1V2AjcRIHtRznG8jm z$G?x+!1kyLh8;D&^slj_{)Q;REYo`9T+X$Q>-vL8bwRsH7tsG^%ru*?5(|oU&?8r=c*!96n58ruwE~CrS zu?4k)8cAm?w6#mUUS3`CSo&*eF5*|x)uTFyuI_Le{NcU2u_B~aVrFS$up*PW6f zr49UN!%JdjO&@*S_{3bzve9fZKGl|}J4rUqe6^9Bh+cjuml8R=PE{Y=(6VHRP>q6J zx>u@Bbk+}4xi8hWp$37hzYbQ}n`D*Pbmc*@?9a+0TXR-x1f}yeYV?$t4_IEe#w;b4 zA=V?rB>ZK%W!ypjrJic=CyY%^V?eh1$Mn?H$&jzgl9z;U1nYSB-Fn~8p-quf z5htj@mC0>&MQ=uX$R}d=RPD8m^<6;4T5TMG6u+XG7dOc7hie4K`+oC`^UU|Y5V#W> z7Hu6Hp*pHAD-bmSD9VF_>?_sCMs`nUCEYoTF=`px(r#SyLQ9h3h?ZdyT3L6f`+**OLG0~KOB zRi|}rt(hsgWoD-Rk-XZrNuME|jn?+}Dt?^vG&_)IEtr^pv7o-Ikskn!NGvi%{xJ5U z1YUdWGI&BpX{_oZSWg`^m31fK-6X1{G$+%P{I~G$fk)(*j`of8=LCYGQPFbo_cb=d z9FyL1-fFS0vwdn=V|-8dx9aEEa`|LrMA#Hk5u;UCzACR(=Ekl_ZK(<~f!vuF^kbM) zM{z>@rGA_4u&%l8tfr}YA;>Ws;}4Vv(Fj$>egZFn=&)EB)kaMh?%Ay$Xnesm%#>^F zL?x4n#%G)`zf8sYT>YnpdeCZ;sfH=jbif=nyYvU79?IW%R+9W*71qz4mj8B9>!O2s zpA^jZomK9r_v!YUUUlwGy_V`rUS>aMn5;S}>q0F`tK@gccIA#O>{7I==&*j_htxrGd|pwd#EX>$aQ7ZH1^TIKXfEJyo1iKu>BS0dkp76+;a&IKxk zk|J&8nehRdllu2f$(ANouXU#Nu(_}CjIN{RPibO$F8e3YhL6Xol;m;?a7^ zwB8gm^))v$=NOCh<8*Dnq1#UczYaW^+Uk3n1Jqai%T&?Q)mq86&sty_svD*{6`LG& z`K-m!y!-i03iszf$n8^D;yo2rOMNwyjUDY>@O&J$r&{jlHcQ9ko1xddkBi$B6@ma8 zE*k~B zxgPpFm>y~w85LO%Qm`}HF{YE;@y@DT&7ZnY@n}p#&)k~0xQSl; zDl%_S*2_bqq43Sn*P&YY$%>;tC_lzqt6kdWhONe-_$W7+u93fAja-ueud;A(JS zSdyp5�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 hx0z`%G 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 SyXjp_D%*lTERe49?*9QRi=WK^ literal 0 HcmV?d00001 diff --git a/examples/audio_utils.py b/examples/audio_utils.py new file mode 100644 index 0000000..37fac5e --- /dev/null +++ b/examples/audio_utils.py @@ -0,0 +1,284 @@ +import os +import io +import numpy as np +import pyaudio +import wave +import base64 +""" + audio utils for modified_funasr_demo.py +""" + +def decode_str2bytes(data): + # 将Base64编码的字节串解码为字节串 + if data is None: + return None + return base64.b64decode(data.encode('utf-8')) + +class BaseAudio: + def __init__(self, + filename=None, + input=False, + output=False, + CHUNK=1024, + FORMAT=pyaudio.paInt16, + CHANNELS=1, + RATE=16000, + input_device_index=None, + output_device_index=None, + **kwargs): + self.CHUNK = CHUNK + self.FORMAT = FORMAT + self.CHANNELS = CHANNELS + self.RATE = RATE + self.filename = filename + assert input!= output, "input and output cannot be the same, \ + but got input={} and output={}.".format(input, output) + print("------------------------------------------") + print(f"{'Input' if input else 'Output'} Audio Initialization: ") + print(f"CHUNK: {self.CHUNK} \nFORMAT: {self.FORMAT} \nCHANNELS: {self.CHANNELS} \nRATE: {self.RATE} \ninput_device_index: {input_device_index} \noutput_device_index: {output_device_index}") + print("------------------------------------------") + self.p = pyaudio.PyAudio() + self.stream = self.p.open(format=FORMAT, + channels=CHANNELS, + rate=RATE, + input=input, + output=output, + input_device_index=input_device_index, + output_device_index=output_device_index, + **kwargs) + + def load_audio_file(self, wav_file): + with wave.open(wav_file, 'rb') as wf: + params = wf.getparams() + frames = wf.readframes(params.nframes) + print("Audio file loaded.") + # Audio Parameters + # print("Channels:", params.nchannels) + # print("Sample width:", params.sampwidth) + # print("Frame rate:", params.framerate) + # print("Number of frames:", params.nframes) + # print("Compression type:", params.comptype) + return frames + + def check_audio_type(self, audio_data, return_type=None): + assert return_type in ['bytes', 'io', None], \ + "return_type should be 'bytes', 'io' or None." + if isinstance(audio_data, str): + if len(audio_data) > 50: + audio_data = decode_str2bytes(audio_data) + else: + assert os.path.isfile(audio_data), \ + "audio_data should be a file path or a bytes object." + wf = wave.open(audio_data, 'rb') + audio_data = wf.readframes(wf.getnframes()) + elif isinstance(audio_data, np.ndarray): + if audio_data.dtype == np.dtype('float32'): + audio_data = np.int16(audio_data * np.iinfo(np.int16).max) + audio_data = audio_data.tobytes() + elif isinstance(audio_data, bytes): + pass + else: + raise TypeError(f"audio_data must be bytes, numpy.ndarray or str, \ + but got {type(audio_data)}") + + if return_type == None: + return audio_data + return self.write_wave(None, [audio_data], return_type) + + def write_wave(self, filename, frames, return_type='io'): + """Write audio data to a file.""" + if isinstance(frames, bytes): + frames = [frames] + if not isinstance(frames, list): + raise TypeError("frames should be \ + a list of bytes or a bytes object, \ + but got {}.".format(type(frames))) + + if return_type == 'io': + if filename is None: + filename = io.BytesIO() + if self.filename: + filename = self.filename + return self.write_wave_io(filename, frames) + elif return_type == 'bytes': + return self.write_wave_bytes(frames) + + + def write_wave_io(self, filename, frames): + """ + Write audio data to a file-like object. + + Args: + filename: [string or file-like object], file path or file-like object to write + frames: list of bytes, audio data to write + """ + wf = wave.open(filename, 'wb') + + # 设置WAV文件的参数 + wf.setnchannels(self.CHANNELS) + wf.setsampwidth(self.p.get_sample_size(self.FORMAT)) + wf.setframerate(self.RATE) + wf.writeframes(b''.join(frames)) + wf.close() + if isinstance(filename, io.BytesIO): + filename.seek(0) # reset file pointer to beginning + return filename + + def write_wave_bytes(self, frames): + """Write audio data to a bytes object.""" + return b''.join(frames) +class BaseAudio: + def __init__(self, + filename=None, + input=False, + output=False, + CHUNK=1024, + FORMAT=pyaudio.paInt16, + CHANNELS=1, + RATE=16000, + input_device_index=None, + output_device_index=None, + **kwargs): + self.CHUNK = CHUNK + self.FORMAT = FORMAT + self.CHANNELS = CHANNELS + self.RATE = RATE + self.filename = filename + assert input!= output, "input and output cannot be the same, \ + but got input={} and output={}.".format(input, output) + print("------------------------------------------") + print(f"{'Input' if input else 'Output'} Audio Initialization: ") + print(f"CHUNK: {self.CHUNK} \nFORMAT: {self.FORMAT} \nCHANNELS: {self.CHANNELS} \nRATE: {self.RATE} \ninput_device_index: {input_device_index} \noutput_device_index: {output_device_index}") + print("------------------------------------------") + self.p = pyaudio.PyAudio() + self.stream = self.p.open(format=FORMAT, + channels=CHANNELS, + rate=RATE, + input=input, + output=output, + input_device_index=input_device_index, + output_device_index=output_device_index, + **kwargs) + + def load_audio_file(self, wav_file): + with wave.open(wav_file, 'rb') as wf: + params = wf.getparams() + frames = wf.readframes(params.nframes) + print("Audio file loaded.") + # Audio Parameters + # print("Channels:", params.nchannels) + # print("Sample width:", params.sampwidth) + # print("Frame rate:", params.framerate) + # print("Number of frames:", params.nframes) + # print("Compression type:", params.comptype) + return frames + + def check_audio_type(self, audio_data, return_type=None): + assert return_type in ['bytes', 'io', None], \ + "return_type should be 'bytes', 'io' or None." + if isinstance(audio_data, str): + if len(audio_data) > 50: + audio_data = decode_str2bytes(audio_data) + else: + assert os.path.isfile(audio_data), \ + "audio_data should be a file path or a bytes object." + wf = wave.open(audio_data, 'rb') + audio_data = wf.readframes(wf.getnframes()) + elif isinstance(audio_data, np.ndarray): + if audio_data.dtype == np.dtype('float32'): + audio_data = np.int16(audio_data * np.iinfo(np.int16).max) + audio_data = audio_data.tobytes() + elif isinstance(audio_data, bytes): + pass + else: + raise TypeError(f"audio_data must be bytes, numpy.ndarray or str, \ + but got {type(audio_data)}") + + if return_type == None: + return audio_data + return self.write_wave(None, [audio_data], return_type) + + def write_wave(self, filename, frames, return_type='io'): + """Write audio data to a file.""" + if isinstance(frames, bytes): + frames = [frames] + if not isinstance(frames, list): + raise TypeError("frames should be \ + a list of bytes or a bytes object, \ + but got {}.".format(type(frames))) + + if return_type == 'io': + if filename is None: + filename = io.BytesIO() + if self.filename: + filename = self.filename + return self.write_wave_io(filename, frames) + elif return_type == 'bytes': + return self.write_wave_bytes(frames) + + + def write_wave_io(self, filename, frames): + """ + Write audio data to a file-like object. + + Args: + filename: [string or file-like object], file path or file-like object to write + frames: list of bytes, audio data to write + """ + wf = wave.open(filename, 'wb') + + # 设置WAV文件的参数 + wf.setnchannels(self.CHANNELS) + wf.setsampwidth(self.p.get_sample_size(self.FORMAT)) + wf.setframerate(self.RATE) + wf.writeframes(b''.join(frames)) + wf.close() + if isinstance(filename, io.BytesIO): + filename.seek(0) # reset file pointer to beginning + return filename + + def write_wave_bytes(self, frames): + """Write audio data to a bytes object.""" + return b''.join(frames) + + +class BaseRecorder(BaseAudio): + def __init__(self, + input=True, + base_chunk_size=None, + RATE=16000, + **kwargs): + super().__init__(input=input, RATE=RATE, **kwargs) + self.base_chunk_size = base_chunk_size + if base_chunk_size is None: + self.base_chunk_size = self.CHUNK + + def record(self, + filename, + duration=5, + return_type='io', + logger=None): + if logger is not None: + logger.info("Recording started.") + else: + print("Recording started.") + frames = [] + for i in range(0, int(self.RATE / self.CHUNK * duration)): + data = self.stream.read(self.CHUNK, exception_on_overflow=False) + frames.append(data) + if logger is not None: + logger.info("Recording stopped.") + else: + print("Recording stopped.") + return self.write_wave(filename, frames, return_type) + + def record_chunk_voice(self, + return_type='bytes', + CHUNK=None, + exception_on_overflow=True, + queue=None): + data = self.stream.read(self.CHUNK if CHUNK is None else CHUNK, + exception_on_overflow=exception_on_overflow) + if return_type is not None: + return self.write_wave(None, [data], return_type) + return data diff --git a/examples/modified_funasr_demo.py b/examples/modified_funasr_demo.py new file mode 100644 index 0000000..6ce79c4 --- /dev/null +++ b/examples/modified_funasr_demo.py @@ -0,0 +1,39 @@ +import os +import sys +sys.path.append(os.path.dirname(os.path.dirname(__file__))) + +from audio_utils import BaseRecorder +from utils.stt.modified_funasr import ModifiedRecognizer + + + +def asr_file_stream(file_path=r'.\assets\example_recording.wav'): + # 读入音频文件 + rec = BaseRecorder() + data = rec.load_audio_file(file_path) + + # 创建模型 + asr = ModifiedRecognizer(use_punct=True, use_emotion=True, use_speaker_ver=True) + asr.session_signup("test") + + # 记录目标说话人 + asr.initialize_speaker(r".\assets\example_recording.wav") + + # 语音识别 + print("===============================================") + text_dict = asr.streaming_recognize("test", data, auto_det_end=True) + print(f"text_dict: {text_dict}") + + if not isinstance(text_dict, str): + print("".join(text_dict['text'])) + + # 情感识别 + print("===============================================") + emotion_dict = asr.recognize_emotion(data) + print(f"emotion_dict: {emotion_dict}") + if not isinstance(emotion_dict, str): + max_index = emotion_dict['scores'].index(max(emotion_dict['scores'])) + print("emotion: " +emotion_dict['labels'][max_index]) + + +asr_file_stream() \ No newline at end of file diff --git a/examples/speaker_embedding/README.md b/examples/speaker_embedding/README.md new file mode 100644 index 0000000..cf6570b --- /dev/null +++ b/examples/speaker_embedding/README.md @@ -0,0 +1 @@ +存储目标说话人的语音特征,如要修改路径,请修改 utils/stt/speaker_ver_utils中的DEFALUT_SAVE_PATH \ No newline at end of file diff --git a/examples/speaker_embedding/example_recording.npy b/examples/speaker_embedding/example_recording.npy new file mode 100644 index 0000000000000000000000000000000000000000..5bb6c850aa31f2af1a7db7f610b13637fd9132bb GIT binary patch literal 896 zcmbWr|5MX-9KdmqIKgmopsct7%anmPBnGu67Vp>Fn{>yQp&&J{0~dUj>$V1)p(iR~ z!loyYfQOUmrF}sR#T1AT*yr^^k0LU%LomW3NzN}*IJ-(uS@tjV{O$Ru&)$%gqxbhK z^D9>r3-%(LVwGI6+L)qH$`wYdZHvwDZlTpyEd1wd4Q9LW#O<36CBl=BOVX&6@k;ql z`TuS~f4o4!A@^WgqYi^k#!zcq5=)F~0#9-m3>&hjcup$r9vX+SJxn8gB$PLcH0ZCjR20cY7)g2E5JY9^Yh3A3NcVr4Ig&mcir!Ilu1f1)(jQf1-3i=23%qEi{CJ zBn|Y%agVrTyMsddqbXvbRE#=!2ahzza(PlRefsb+(zkBv@B2}t>=!6}zKW0B{Tjwz zUrFm_jaXk_#gAF5L0Q=bG4>fz(&>dWv#nxxYMoe8nuNB(Mbz!Ligpd|W%^DD?a;3w zOAE3E6@BPVI7yGPV#%1dpFMD;aZTbNgf%Rqvr!ksr9T^K>J(swY##4>@eynLGmP?Y zSHjl8`_MG*_IS@t;y|VnURyGk_LAu#K6NnyH=1nN-0~T??ay#$Lo=HmH*rDj&qq!b Xu=0`w*mW 0: + audio_cache = np.concatenate([audio_cache, audio_data], axis=0) + + if not is_end and audio_cache.shape[0] < self.chunk_partial_size: + self.audio_cache[session_id] = audio_cache + return text_dict + + total_chunk_num = int((len(self.audio_cache)-1)/self.chunk_partial_size) + + if is_end: + # if the audio data is the end of a sentence, \ + # we need to add one more chunk to the end to \ + # ensure the end of the sentence is recognized correctly. + auto_det_end = True + + if auto_det_end: + total_chunk_num += 1 + + # print(f"chunk_size: {self.chunk_size}, chunk_stride: {self.chunk_partial_size}, total_chunk_num: {total_chunk_num}, len: {len(self.audio_cache)}") + end_idx = None + for i in range(total_chunk_num): + if auto_det_end: + is_end = i == total_chunk_num - 1 + start_idx = i*self.chunk_partial_size + if auto_det_end: + end_idx = (i+1)*self.chunk_partial_size if i < total_chunk_num-1 else -1 + else: + end_idx = (i+1)*self.chunk_partial_size if i < total_chunk_num else -1 + # print(f"cut part: {start_idx}:{end_idx}, is_end: {is_end}, i: {i}, total_chunk_num: {total_chunk_num}") + # t_stamp = time.time() + + speech_chunk = audio_cache[start_idx:end_idx] + + # TODO: exceptions processes + try: + res = self.asr_model.generate(input=speech_chunk, cache=asr_cache, is_final=is_end, chunk_size=self.chunk_size, encoder_chunk_look_back=self.encoder_chunk_look_back, decoder_chunk_look_back=self.decoder_chunk_look_back) + except ValueError as e: + print(f"ValueError: {e}") + continue + + # 增添标点 + if self.use_punct: + text_dict['text'].append(self.puctuation_model.process(self.text_postprecess(res[0], data_id='text'), cache=text_dict)) + else: + text_dict['text'].append(self.text_postprecess(res[0], data_id='text')) + + + # print(f"each chunk time: {time.time()-t_stamp}") + + if is_end: + audio_cache = None + asr_cache = {} + else: + if end_idx: + audio_cache = self.audio_cache[end_idx:] # cut the processed part from audio_cache + text_dict['is_end'] = is_end + + if self.use_punct and is_end: + text_dict['text'].append(self.puctuation_model.process('#', cache=text_dict).replace('#', '')) + + self.audio_cache[session_id] = audio_cache + self.asr_cache[session_id] = asr_cache + # print(f"text_dict: {text_dict}") + return text_dict \ No newline at end of file diff --git a/utils/stt/punctuation_utils.py b/utils/stt/punctuation_utils.py new file mode 100644 index 0000000..9e038e0 --- /dev/null +++ b/utils/stt/punctuation_utils.py @@ -0,0 +1,119 @@ +from funasr import AutoModel +from modelscope.pipelines import pipeline +from modelscope.utils.constant import Tasks + +PUNCTUATION_MARK = [",", ".", "?", "!", ",", "。", "?", "!"] +""" +FUNASR + 模型大小: 1G + 效果: 较好 + 输入类型: 仅支持字符串不支持list, 输入list会将list视为彼此独立的字符串处理 +""" +FUNASR = { + "model_type": "funasr", + "model_path": "ct-punc", + "model_revision": "v2.0.4" +} +""" +CTTRANSFORMER + 模型大小: 275M + 效果:较差 + 输入类型: 支持字符串与list, 同时支持输入cache +""" +CTTRANSFORMER = { + "model_type": "ct-transformer", + "model_path": "iic/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727", + "model_revision": "v2.0.4" +} + +class Punctuation: + def __init__(self, + model_type="funasr", # funasr | ct-transformer + model_path="ct-punc", + device="cuda", + model_revision="v2.0.4", + **kwargs): + + self.model_type=model_type + self.initialize(model_type, model_path, device, model_revision, **kwargs) + + def initialize(self, + model_type, + model_path, + device, + model_revision, + **kwargs): + if model_type == 'funasr': + self.punc_model = AutoModel(model=model_path, device=device, model_revision=model_revision, **kwargs) + elif model_type == 'ct-transformer': + self.punc_model = pipeline(task=Tasks.punctuation, model=model_path, model_revision=model_revision, **kwargs) + else: + raise NotImplementedError(f"unsupported model type [{model_type}]. only [funasr|ct-transformer] expected.") + + def check_text_type(self, + text_data): + # funasr只支持单个str输入,不支持list输入,此处将list转化为字符串 + if self.model_type == 'funasr': + if isinstance(text_data, str): + pass + elif isinstance(text_data, list): + text_data = ''.join(text_data) + else: + raise TypeError(f"text must be str or list, but got {type(list)}") + # ct-transformer支持list输入 + # TODO 验证拆分字符串能否提高效率 + elif self.model_type == 'ct-transformer': + if isinstance(text_data, str): + text_data = [text_data] + elif isinstance(text_data, list): + pass + else: + raise TypeError(f"text must be str or list, but got {type(list)}") + else: + pass + return text_data + + def generate_cache(self, cache): + new_cache = {'pre_text': ""} + for text in cache['text']: + if text != '': + new_cache['pre_text'] = new_cache['pre_text']+text + return new_cache + + def process(self, + text, + append_period=False, + cache={}): + if text == '': + return '' + text = self.check_text_type(text) + if self.model_type == 'funasr': + result = self.punc_model.generate(text) + elif self.model_type == 'ct-transformer': + if cache != {}: + cache = self.generate_cache(cache) + result = self.punc_model(text, cache=cache) + punced_text = '' + for res in result: + punced_text += res['text'] + # 如果最后没有标点符号,手动加上。 + if append_period and not punced_text[-1] in PUNCTUATION_MARK: + punced_text += "。" + return punced_text + +if __name__ == "__main__": + inputs = "把字符串拆分为list只|适用于ct-transformer模型|在数据处理部分|已经把list转为单个字符串" + """ + 把字符串拆分为list只适用于ct-transformer模型, + 在数据处理部分,已经把list转为单个字符串 + """ + vads = inputs.split("|") + device = "cuda" + CTTRANSFORMER.update({"device": device}) + puct_model = Punctuation(**CTTRANSFORMER) + result = puct_model.process(vads) + print(result) + # FUNASR.update({"device":"cuda"}) + # puct_model = Punctuation(**FUNASR) + # result = puct_model.process(vads) + # print(result) \ No newline at end of file diff --git a/utils/stt/speaker_ver_utils.py b/utils/stt/speaker_ver_utils.py new file mode 100644 index 0000000..4372bd0 --- /dev/null +++ b/utils/stt/speaker_ver_utils.py @@ -0,0 +1,86 @@ +from modelscope.pipelines import pipeline +import numpy as np +import os + +ERES2NETV2 = { + "task": 'speaker-verification', + "model_name": 'damo/speech_eres2netv2_sv_zh-cn_16k-common', + "model_revision": 'v1.0.1', + "save_embeddings": False +} + +# 保存 embedding 的路径 +DEFALUT_SAVE_PATH = os.path.join(os.path.dirname(os.path.dirname(__name__)), "speaker_embedding") + +class speaker_verfication: + def __init__(self, + task='speaker-verification', + model_name='damo/speech_eres2netv2_sv_zh-cn_16k-common', + model_revision='v1.0.1', + device="cuda", + save_embeddings=False): + self.pipeline = pipeline( + task=task, + model=model_name, + model_revision=model_revision, + device=device) + self.save_embeddings = save_embeddings + + def wav2embeddings(self, speaker_1_wav, save_path=None): + result = self.pipeline([speaker_1_wav], output_emb=True) + speaker_1_emb = result['embs'][0] + if save_path is not None: + np.save(save_path, speaker_1_emb) + return speaker_1_emb + + def _verifaction(self, speaker_1_wav, speaker_2_wav, threshold, save_path): + if not self.save_embeddings: + result = self.pipeline([speaker_1_wav, speaker_2_wav], thr=threshold) + return result["text"] + else: + result = self.pipeline([speaker_1_wav, speaker_2_wav], thr=threshold, output_emb=True) + speaker1_emb = result["embs"][0] + speaker2_emb = result["embs"][1] + np.save(os.path.join(save_path, "speaker_1.npy"), speaker1_emb) + return result['outputs']["text"] + + def _verifaction_from_embedding(self, base_emb, speaker_2_wav, threshold): + base_emb = np.load(base_emb) + result = self.pipeline([speaker_2_wav], output_emb=True) + speaker2_emb = result["embs"][0] + similarity = np.dot(base_emb, speaker2_emb) / (np.linalg.norm(base_emb) * np.linalg.norm(speaker2_emb)) + if similarity > threshold: + return "yes" + else: + return "no" + + def verfication(self, + base_emb=None, + speaker_1_wav=None, + speaker_2_wav=None, + threshold=0.333, + save_path=None): + if base_emb is not None and speaker_1_wav is not None: + raise ValueError("Only need one of them, base_emb or speaker_1_wav") + if base_emb is not None and speaker_2_wav is not None: + return self._verifaction_from_embedding(base_emb, speaker_2_wav, threshold) + elif speaker_1_wav is not None and speaker_2_wav is not None: + return self._verifaction(speaker_1_wav, speaker_2_wav, threshold, save_path) + else: + raise NotImplementedError + +if __name__ == '__main__': + verifier = speaker_verfication(**ERES2NETV2) + + verifier = speaker_verfication(save_embeddings=False) + result = verifier.verfication(base_emb=None, speaker_1_wav=r"C:\Users\bing\Downloads\speaker1_a_cn_16k.wav", + speaker_2_wav=r"C:\Users\bing\Downloads\speaker2_a_cn_16k.wav", + threshold=0.333, + save_path=r"D:\python\irving\takway_base-main\savePath" + ) + print("---") + print(result) + print(verifier.verfication(r"D:\python\irving\takway_base-main\savePath\speaker_1.npy", + speaker_2_wav=r"C:\Users\bing\Downloads\speaker1_b_cn_16k.wav", + threshold=0.333, + )) \ No newline at end of file