From 7f968ac1d8396c5d9dfb4fa572e0f788eba2e9ce Mon Sep 17 00:00:00 2001 From: xmanrui <841206367@qq.com> Date: Sun, 30 Aug 2026 18:16:52 +0800 Subject: [PATCH] update docs --- README.en.md | 6 +- README.md | 6 +- docs/images/wecom.jpg | Bin 0 -> 179958 bytes ...e-85-Telegram长轮询与发送连接竞争修复方案.md | 502 +++++------------- 4 files changed, 136 insertions(+), 378 deletions(-) create mode 100644 docs/images/wecom.jpg diff --git a/README.en.md b/README.en.md index 55fdc68..2e56c74 100644 --- a/README.en.md +++ b/README.en.md @@ -301,11 +301,12 @@ Without a setting, Chinese is used. Chinese is always the fallback language — ## Contact -You can reach me by email, WeChat, Xiaohongshu, or WhatsApp. +Join the WeCom community group, or reach me by email, WeChat, Xiaohongshu, or WhatsApp. + @@ -314,6 +315,9 @@ You can reach me by email, WeChat, Xiaohongshu, or WhatsApp. + diff --git a/README.md b/README.md index 7eb3669..640c366 100644 --- a/README.md +++ b/README.md @@ -304,11 +304,12 @@ IM 管理 RPC 默认仅接受回环浏览器。如果 Web profile 在受信任 ## 联系方式 -欢迎通过邮箱、微信、小红书或 WhatsApp 联系我。 +欢迎加入企业微信群,或通过邮箱、微信、小红书或 WhatsApp 联系我。
EmailWeCom Group WeChat Xiaohongshu WhatsApp longmanr307@gmail.com + dsh-im WeCom group QR code + WeChat QR code
+ @@ -317,6 +318,9 @@ IM 管理 RPC 默认仅接受回环浏览器。如果 Web profile 在受信任 + diff --git a/docs/images/wecom.jpg b/docs/images/wecom.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a303500da9db94dc6769cf3ea9f2abc21e902279 GIT binary patch literal 179958 zcmeFZ2V7IzwmuqaXc~GEAqXfa0!mY9L6IgRHb6j#Y(zu^6hw-UAP5M8CQ8qc(|iD4|A}|!`Ow` zIE2_(Z7?L%Pp)6P2X*#uFE(}#PA+aZ)D3>-LAM_^|`Uk!Y4h@ftj*-aIGqZE^U%!2)uCA?b&^Cb| zTR+Fe2IKhKu%P!p9G4I@F7}^u0RK5IHueChaR_m8?K;RUeDn<5<)(rK>$)8F45JP+T>g+5BhbjxE-!p6K z2nON0YD)l9E!UnA?5YAbUY#Mob%+5V=m25*+>)UEi&wv16IabxLnZrTDG$C9)`+N; zX>2_5-+h+t<9gQRhM#}Nc-@Wd(fna&$Aa-R#sh3UVc_nnC#@P{Zu$`?i_X<>iJmd~yN%-rIX3Y_0J<&iuo@fVDo1v&R$F=4 z#kW6ZcFtFNc>6e9Q)}nb6F57(KlkIOY}vCX5l2noFSBAFk8;CbW^?qOF=4wbDH|S# zIBFuw_2^PC-vI+I(bM8b?|xNoT8Dnv{;$ja|16NKSY>_%^)`ongyY^X(NoIvGVOi> zZ*mF+gud9_BHUuC#NwT*6V>UaRXI}~ezupj&X`;`I%6UV`=hoUA89|(1olNI{P4za ziP_3v`O5QHu=l3Ot!3yKaY=9YSHp^m2fd*lo{yKktDxZMk!pCX@=F&J(bH`ITbuDM z)Cpzp=x;{bl5%g><}vPhqZaD0Urp=w>SA#Y)Be^!cqXvJ0W4T=yr(5uGrzaQMAUZf z?}-Ga3yQg0vtW$Qc8-uW!pF6o4=Wfp8psJQDCZhoj{@*H^V5OQOZ1zT5e=m+Ay z-%{x_5qtOak2Lw`xnH%J1)EVoFayv`zQW%eN57RxTt_-Mm_RCB`F``zPZ^twH$z%{ z09sVA|E(>v7MUx0$awuF_lE(-*06K|_PyyeSceDid6p&R{n#izbRJU9_)ca3mdP_z z(Ws!C&bNNX#QO@Qhp<0t93>>%TP)ZQo>msjX_y5&R?zy}GntF<%MI|Ml*hq{B2{05 zPeYKD&vLzmCP_d!D;D;@wn0Y2WLqy&nXL>GkYQ!VcigH_4GUJh!h&V)Sj_nbhI+;i zqGl9sLXsmulG83yzyCS!ScB*p$7hj$2UNfo0Go6ac>LifYR(;Als#ME!d6Spo?$AUFQWrM<2eqcm377+Zx_We%6>+G8wVzc;PuRzvA zS42aw6-81UMtwyEv0!%*pcdPA$3O99x9n1|EtbXGPc;OFHukb$(+(LssjtdCZsp&( zJuKLDLx1Rlb!QPQVEy!w|3NV0-@%68n$=;q-#fV?j}TLTU9qoOu@fKvoEVlW?sLe4n+Ay)i(*GLO}1Szkn2F~0vx{1rx)qp7tmY?mFt+8M# z!%^w*;jz2SYeo+LQ&K6?nOkRm&Km4`I;yAWU!fi(k^eHRSN#Wwy5%>9nDe*O<0M6I zdDjyIDFWLAun}^(M!_)RFf>!g){!SvjQEsG4l)ZF9)$pc^yyVe)+D-JzqaKVesoPk z(>v-H4ZExv4&3Q|`>YeUn+!zcYl{Z^i>=;%OjRMvOeJ~v2TV73YC0$;VcR-<8oNQJ zOUMDL*^)#MB}K-0tuuIH*bm#8Gxo6ND_w^L3pVSS+Bj08R^`QarZ&FEG|1*c<%;T^ zuc7HCA(o^iGg^%f?mAVX!^K03uuy~|?eVC`KR2a!%T0c3>JYU{U>s+`!XpBuNeTCJ zDVq;a#7y1m61`onb(M#9+*|PO?%;Qf5zWvr4g9QGtiZRa3pNW+?0>FP9$4gY%c?$1;$q^77rI1BmrAfyOOcK7XeAZ}aGvkZ zJavc`!@v`9HfM$s);@_X$zGU9g!c~IRe(=D&khTX*T38R65)IVnaoja@JT_YhWx~z zv2Z{_ zDuLs}5``WTQ#+Hh>7j*=Q3|`zxXm)0Qe{ZG;{YZPANyioWf#p5Qqb_I5KHQzdxoN8 zz`0g+-|~h2_vNZ7$IFamTRuGAJYW85dRXj7PXJvT*mS4~b##nA6(sc`P*M8fotX@L zF6JR-;#db3;ZeIN@w8!JX@yh#t`p-c;lmW^99Qg;^{dr8cAe85*I6(`vHq3Lr$-D; zaj0jr5S~^pr9ckTly3`}?6$^zQcRXTO|q^l+*2gke~ z%lTNf*(az!-W*v3)$P&IaW`V};~} zBcgS-A@Z&$4u6Ff-o}M`f0B$|Ta|5qU~8zW0M#r&c9ipaSbUQ(8^fApy&&?Y^6Sm% z17E&6Cj0nK1bouWHdZ@j>Ic~Q(RCX}fe%^wWmGx~#uVD^Cq9MrH=;VOB8v?cs+qWo z!kWhYUmp%JFf14gcHF}0!k(!;vUv&4hSLMthL4q$_Qdiuw~Nv8?pN*L9Um^uLpHEr z?5`5)fE_pK^UUub-Af+9v;<*0Z)p`l`fY&P@joU=*^69$?qEiL6(;<@U_C~#V9mzG zprU<<5@iA}piZi+_t`O$yFTEB`g&#W#{$uZmM&)1N-yl{p>+zmf@&89(y1q{uc?ZX zC|XPKT!-~2DObT^hppL1&s>IWBbnaulm*MX6KDp0uG~{X!tFo$M&3*^pJ#Wi6>_o6$6ErH=6@^bzW_yPo~$GjWxgBmoj3k2A3SIAzr%7 zHsLyr5C&#L^vLG*nt9C{<0}^4=jgf~$Rpt9j}7fDbU}!CJ!SbBnZHEXbBN;fReb2v zO%E@rv|H7ji}!2f_KsJSZ)+0oJiG^g1apKC*ny3CzL99*>6!0vtwd}xJ~w89swv{* z`wrxl-}@fa4p~bKfj_(C>6)=aWV3&+I%#ApE~~E4qN-th42*sS_Taa#tH2gEH*ZH`}htLJN-ca6?}OnmIrGwyVELGvQ=g{+Ir!PBCMe*6)X zYPXUnEZHlb^h?+ZNUTq2nL0@6d00_3#Mt}BIMh>YhL&i>d)S_ooRz%&PGP>-H*|Ub z{Ipu^&8cY?%wneGj#@rn<+m>Nd=gnP`B0u|sL`oYR-$Lnz9B&0CYIwADue}VutEk< zw5B(E=z~vXn;=3eVu1S7y}|RQ|NDLG|EWJ$U=CQCL;kFn-QvHI%C1BV_AMQ7f`sMa*kV6(#Kf0b(0V@$_)?#O# zc%W$-%`8}!Qi%t2=G}WFU&RZE`}pMZ^IY-%PUdIR3RG;u3)Re#XB#Wd_H=Kcpp!J* zbcI^kP6}VK8m?FTo%r*%Jb>_WtqaErH?1WG!dU0p$eMtjPC&fI?vVb zF@Ujw#g4#Zh5_$C+EgPhWh2j_`JYcW^Zo3QTjN+R{Q1sXdp zIO`6)tc|WHHJiJr<@LR2=F&ql9#QDrAbT+Kns0TT^p@|d9_wgVo>~8MbWN||7`hfi zr;dV-K#_E)U7wU<>y1jCJT*?-=yhX@{emC~sfZmW)|m%=3N_CCj&?~ri<%}floHh$ zcUZ8uB`Jo2z`_NpYy+8Y5bXFY`z`f)m90*1vAAS*RTZajP0xxzeO1t>J2t~@X)6f( z?+9$(#RMR)vH4~a_zIQ2$$+?91SE{x75-G8110(XvZc zNm|9=+(7l5B@4z$psJ=OpsqZvxAEe9>*Nfi+0}konn7=9_F%PpPj0rIYr|7^Yz@#t zNAQwbKAXj;^^6mY@6gm4h1gfr;o8uMmECUOV3dJv&#j27ZoAxI+j$MIy@=>nXvaJN zdpZU{3GO%!_iZ=dvtT7bDzq0V-o80g&vSw7kK{Mmbfk>#-mB9e8+I5z&3dSJYsm!j z1QVhJM?)b?y$>QR#u>DU-eEc*C{r#v(Em-28 zkB=1mJv_hV{u`#^D@TNL#5WUu2(%Z$AdFKl0rKq**}^tA?6~#Ip};E6>8YWw3193Q zAT;oqaRxA^>lbCNsp0%i zoSk`|>PpfJJriHMF>5B>P}qU@QjgMAZ^N>oV%6i@>~`#acjqR5vGo3kxvr$R7ZfuG z=6)6|>Nqp~JOj5KUd=eAjs-T(QBjMIbSET6UT!6xNRASH>(>N#x?_uj*f-SLl$pRY7Oc~A7WF{7 zq!J(fe$uWpzmwTovam7NLvsW~JV;L&yCovj44bzlSH2LRcc|Z2HMCGA`6EqVUFx&7 zujk`NXm$93ow^w%u0_|7JPsD?^O&?H7&CE(yMe4OaMHD$(tGfew6{i` z!oJtww+}mqr=}nxJKP&=1yOO1KsPP4e?$4njM<$4KV|sv{F5!dxdevL8pxZaja+iX zj`FwA%7Y#^Uf=eqhHJY`c;|uBqs^c7>uEJF9v2?1Gtx-I<`ZN$i3p3p1$Z?rB>4Hg8P=dMdK1{lp0kwG-=*? zpz2q*y0ir5p2P-eQputWeGfx6b{QGPg7Ml}IrfGVWv*>qnsQ!Ik8!{5dh=V{T%Gmy z5J|v~By)v;rYzqZ+PwXygExNWvz>3Uz9x|ps8X8@t*5Nm6D^fr_tJHTi2-LT@x zOF>f;Snw9a$tlZli9P-Im5{*y8~Y!@L!^fWF*b^<<;ZvC}&YxwAyDF;V_qe0OZ zm&YBFLPoMCEy_x{P%f*^aV2u7|DBHRvlvvJq9Y6T`ZbCKr8U3YV8MtG^X+Ey5x(2R zA5STOGr4;}HWrL_9^3L7xh{~28>VA36HP~CpUYh{e$oUT=ejS5N zA&CWJ`}TbI@VKI@ej%7YaY?B!_{zgehoE%e851$NKT6;JDbGRq>8zjd3O4$?5{uhs z{{XuTrM9`B%XE%aF8cUe_WbA4{n=ptjD4RWK5&;Lb^%JSeYLspn-k{^?t1^e^kP@! ze>Mn{lzs9~pke>Bz5Msr|5+FO{}f#PkM{FVn-TnNhVUOgHVtb3<4UrB_zqAO@xSWY zKdMo3ugZNl&_eNT{+#h_XCXD zetSxWy8QuplD)g#dB>n!9GOV1At97LwlEcNwRuvcG|IR<~`m{mSv#4%&|GKo$^Y;9*#PXw-l za5v=4v^ApBZ%-Y`3f@K=c8JQTS}Urb^9-E$fK1iQ@v7POrfWN|*tbCjRGifem9wmt zbuOJ_!7kxsS+MVpdA;y;lYdbDWP*5n5OK?TU z;V8x{fU@0EGzkf)taPpbdk_p!^=Vr5bb?@L8QGfS`}1!Pwbb+U-duUO z@{8PQxgO3Jn<&cJ6+j)%5KX0NF{>C}be#|msOL7GSRux4Qh6TsGVpoWd}w#V8M1XVR1BWt&=W^Mpgi7TiMe=bERnEaz(JO&Y^Y3wGDZ8H zcU4**dz^NaXN~N5E4AB4*|1MR?aO2s3efTR6+Mnv&f z77Si*awmJiL3M51X=I{3?-ccuK;I*(`5QL7vr^`qf=1fO5GxbUtf_Zl!MJuZ?=nQ_ zzXZ;cn7GIdgm_~P(&TN1#V?Vn{wjsqZb7gsQ&prbe_uF<7M^mU=ZA^Qvf04=Vob+p3`uPqJf!?Xt@GzV#q+ zuIJy){Nwb?YK)FWJ$^6si}m+Vj1e^1$*9!_>PYNp(>45-YwyCwRu~_n2omQj=x@Ew z5R?nQgc;p2zZgkIjnFSpLq9)wHR3FDySw9{gJQS;^(3y<=c8T8lhrFbr}f=AHcsGi zD`QndV{{O45(x4P@J=$3|Hf`UYt+>W3Vo=N+jzM>4OEB$%%GJ-r6R$ddRWjn`*&wb z@=(MIG{v4E1a)IK>Kf`EDD;H|bEy~tMFSrmai>Pdk9DXHhdj}Fe)C+Z+9k>Kp^%`0 z?**b)9O#`iKcJj`05gP!SEwgo%bD}h^%f*+VSClj$pxeKrZ%0X@n2qFoiXK-)nR*_ zoE#<>3uE}QVE4%w=-2x7L!iDzZ-?r~9zk>Z`;!Z_o{m1oPQZuAv?C)D-qagpe+`z! zY12vzuj%x*bEQ|9J6l}7EqUJNtc3xrq^k$moxl)Jn~r9PNrQYv5Op4j;>2G;Zkq%@ zjp-ym4KWFQrCPN7s5C~LzZ$zgW~SkZOjVpvqV|4CNw+naA(TlA*TFVBgdBpjCJf*r zqZ4GM0Hsjk1^pw_@Lr@9ekkQfv5c43vOs3Pa!cGruJLfp#rem!SRyo!lruQ!X~$F6 zkyB#Sm1guv0K}o}TnRBQ?sf^v0-V7)-diJyB1&UBn_X|8NYo(~tOjQ!Z+Jze=6v&* z{r23yq3rSIrO4Bm@W#VXKT@IDfQsaPSpjw*YWu`NGF#Hj1m+gbQTK%Vhw57MU%laE zB)66m?OBm3lpNYuEvX&IU}}Y!)PjR#!jckG zgwFq&j39&(Hn6D4xk?5UW59zjeQ5p?t$RQ>q~NC1>Ig6G^iz7$Dk~y^Tgx3s+t_XhGExO3@6_O%l2V#{quA$WmtxWe8BI!`eah zmYL&YZC-8C>>X$4j`fS{v%{K>xHQTA%yUxC;khw`jrz=chKgU&r4sG@D?E(TXoQ6y z$;sNPI?5t1MPBiamPR(uRNx@V-pRV7N=b1nhU!GnCB#gI&o;$1FN&>dF6ckr<| zUhi|QQ`$+V(=)zg~lZ%Uo&UUQ2%__*?h=8rVG6J{Jo zvBv>>Hd{+1?L$sNcL-sqGI4Xvm$QR%!y$J_C^+X}rA4lx*H{smFu~)<+&wB3Hae$w zOf=ICMjxOZgE9%8cwirvvD1pYA_#U9kPMS7%x5h8R^@>Ig2BE;%UmFw|MoL^f=EhC zPJO*+w8h}@@F49}7cf9(wBn-KR1Ek1W*!xi0Yz4(lbc$lHee8%7)myG$e+}@ICGcaor zmykWwSERrzmQp}bx!4k`_-Nmo$S1I+ft4Mw_296ZO z!hvNn3iMNV3`|e6dyM(#+gcPqDT@xU5WDcSMMA)?t)7j35Yq9v9j3_=OJW|>9;c*p z7aB+O#fpIei{~C+{ARV|>WV}k<0eyVWeyazyJ4HtvE?19bW?B$s=S2s{3S|C&dIM0 z+(FmZHO$5CC|AoX{NS&>1SKnO`>2V?F0xfE8)+sbe0@z+>pf_M>`G-w@Pm9m$R&U> zb}^o^Mno*>Q81gNmClmLMpR=o86LG~pja;amX3#HU5p#&cp|aT=;MhO8mYEjESL$B zw^2V3K|@1}!XZ$T77b+k?>Cg8pqm<$E)33u8>|NDY@O85$YQ}nswNBcN;w)Zy3hz0 zkY(x-`UYg&J#1B8WJO?+e}YiMd?dqe|K6y^1ExtM@0)f?oTs03yFX#`%S93lS%5jr ze5PG8t_ku)y3thuPx}X_217jP1|ANWq#$4OSiSPxrrw}??8mQ|7>#f)DZzT-GbOFK z@o{jw7SuUfh#A%FKK2qy)ILNJaLOd4p>+DU`1vh$u4~<}!t_}L1l)4H9b?86H;xr${Ucm}`Jl6|sbUHitz2lReO`p%@Sm_{s zV+DCbrfXG z(p1+fsC2AsoEf{J;F+x4cEITSQT@k8G7=2o0gz9HhywN@7O^iegRH;B#6z>Et#UxLMB|_}djm0S)aQ7k(!`JbD(xxnT3(QxJ|>O{KXNMt_UO96$lHAx`GIP=9}wj(;b;~OCW&s zz^R?qphtQYL(b`UD?6r9MOR&#JvK2faY&7rC>3?!AfEV$K)HcfqEgIgn~+GuU9ru- z$Yq3@oge3aSlV;nUe8+86^J^Np!~epg`TV$fF|lVg5Y$S6T!cG6VLV%~sFn|cQFs}PPP zM%|kSrDfMxux-`%@jtl3P{vnFdUioB-U^zXZEQUZ9RuhBA0h1Ow$MDf7TAx1qda@= zHp()ySul4NOw6#FxFR~%&=FnmA+P6}w}OSU_#Tye79t4gIE{zTz8-yv=qdpYnSp%q zbU$zcSDo5Ph(K2=b$aOAka{>rt)UW%dCGE{J565Om`86(H7m&QX!ZP+jfGFaJq#Hc zI`*ffp;#kF`AIA7>LYaWdgHcXZCs2;?)Pfy)v7}scNAO#_9nP3ipVplrsLsJKW@Gd zMnL(~t1FCL1T7Cr@49t@8P6NWL4+#{_5>ROWwOeea9f^@FSjF_aFnxnKuv-nu0*sB z2L-XsDlQLNX&E~yh6x^294(A$)lh|F=942_e0FaX;g(Od$$Iz~HG27*#`ap_MSCx+%Dp3;}2r*ncO8Rut)=matL`i!Vr<1{Hee!=b}o#CsWE zpC&gg4!m1I=U^-IS_uLS2j)}5T_IZ3SE(|~$t8f2&A^7Vhk~83v3Ab=)@>a(d<}TG z!}MK2o^fbQ`jireSOD$70P1R*I-)fbNVUc%nNoYAU*bMK>^>hOG@7L}cffMzTS9TERXZWJQ7f=`fzIFNFdTJy!tmZ2W^u$p z^fR6I!PbQZlbu$QKT5}Utc>{3oFVDuV|tL3(*#*SnzrYQViiE5pp3t0qXj*5bu#Cw za=kqLJ$-^)cV2IF0v$-acN^_Ft;+rGx5BVSNXmIEpt!Pxr<&2c03|vUr8Fy|uH6TD zz7qJ0)Yg}dV_WXLx$5=W{)c$)ShmG0V}*+vPjj!V-AsA(_QREuPv~(8kOvAX;M*8d z%qND5A&vl4M$GjKS`<)eHRSoSff5INKnb4*KB$WIuUdlM~Dxl=z$d(&r@+WG-dU0&V`)13ilt6kH=*a zQ#T)rcUK5VlZidc%SA}p4cFl?bSzj{49 z=^UVG4czt5`Hq1i^2kiGjL4F1&TSn{3;!99s@3E4%#1PA!TWwQOA35BAnw<@Jj7F+ zu%oWDC5n0{eq06Q^JBsI5v0ZlCS*H!kr6By=|&*VhK|L(avF!UE{ou(D7^SCg%@*M zI;5yO#fA$@>?-+Tf=hr*Fi{)LJowdri)qA#fq?^19;f*`ayw*RPbV-GMX1XqVK~TPG==)mZZdP~d3{O%SEq>Uy(ic|c^rUu*H$M< zMFoE7GOv$#9<94)wa%nmaczRJTNtSP_*q^8wPt$; zG+kT~Kw%!X8Hp!81vwsc21DN9ex~kxEV;tM&bFZ{DNx7vaC^fOF3S%=$!nqq&hGl~ zltUfltA@UL^=DAXwE?V=5`f)i4B-T;!Qy&&@r2_jSAv{lW=)+$j+!Ock^Nm%jwWPLZjvW0?K*_duD{DMs1*^ z1HDy-o*GwK$j6UK@fG~YEN$wZA8L#*NyQTj3FS%*k(Fu0;%Ffw5R!Ogh~xmng@nH+ zD>LX%*J}Jyy!5F?P^IfJ^ZAAD`o`nt1p&h2MpF7=nBACGWaS}-@V;Si`!;4K%EKq# zP#$o}Wyqu%HC6$)$4VlT*Yiv2nYu!Lo`}(|j-{Q4yz1r4c_+e+b#7yc(}b~XkXM~< z#ZU$evN6pWdjOZBz-VjWp`#NT4mhbQC0HkJdsBuQomLewFP-&0x-aJ;moJjy-MI*j zkrNH{QS>_TGI-)E@Bm=xS$NG*!%MGOR*0I~UeP}{aD7*#Vxn91p+56&#iSqC*0`@b z%-)bpW$uWkaX?_hGRsBFA#ZUe!8<@jz4IQYY$tf^2^%f1lLZ?q2YG)MFLTyXuB57W zB!~x|BcY-hmiZsG2FrS7dDMNxcWabd9yTY;7PviSKXx~%I-v~(=+1+DH|cQ96oK7P z7>WhVnAut-(%+vW9%%DJr5LA5YZDgVY8S}YY4v8UPO!arA$wSx{)~PJ+l*qtT-5>P z=*U}0#7{2j4Z|nrs-1dJX7iq+fa{Mec5j z0N5yn9oSOB;)(~c$hu8dy|HXat*CPH*vis@-MFW(ZNHOkB)xrKB12BYzjsEWh-5q< z&yYp*uhDM@2I+jG?53X&*X=VX()_6Os(&~FzN9BmdyAQCM7O0&Qnxz?Z_xu1;FFAWf?;7t6lKr z&!)F?DD}rdE5|RV;cF!<7~4O|P@#(Ub>@0(zA1%r^90kB zRh4e7_djy4&IWMQj=h8O0e!mh*Vc=M>Ine0rGZ|RlMNjTKz*% zC>m{d4*aBBG{JUUH!^u-U)AtS`KYP)36<#J!#;=RQPFrLmbgZb=R&!6qaqzh^=@=U zjK(lSH8Y2@=l05>{>L1TP_x-^zqpxdMfOgHY$g3-ph6o)1+but2m08AFI=Dy#zU;h z?=zG9M$+#0^Gl}fR4LB9p=+_?J4^u@lALv&t-5*2yB@`2|z!%mWH#LYX{ z&>N+Y_INzfv`{GJi-jqc%E2@|DUP%$Xgm&hpSqIK!dA3M$U&L;PQ;i>hpcAZprMMV z*R-W$pcY-HTGpo4B7dTpmbVt5`6+IuprAkvONMu$kzt+34p*HI(ZwDdl;q9uQ1 zrL?OUq|lIv1;T&Sk(7L)E_9WDL!O)jc1)?-eE`3ES7% zN#Mga4-+UCusq07>@>0|UXO$h+t>@;>RyWd8*=Y;?=wzLnEq93gNgSt96>koIqxPb zh_Y=#Hif$$Gl|`a^@h;lvmxwNwBW=-#x4Lmt%rlmVvAYm-o*LyRZ;!@b5crvACvY? z23?=uPu9M&|6>~%0`>Hrw;j0Mfte2jRW&Bvo!OwIM4#@XKf zCWq`Q+UC6a*}@+o>IoiwK({-O;|`*Edp(FW@AEZ(sK}Yfi^{-JOcDUa&81EHZs_JW z8V$e^bOo~M90}50j8-Z2S|GX&MS0?3hxPU(2#z_8Bjm@vTaXDpI}oGzp z3AD`!#+j>CTXRXw%$uIHr$fh+&C8}cMA;adkN~ss zt4~m4IIuYtxfOhE(+4m}0M9Tfs2pqT!2tg=sG1kWL0kLjpK`H*mKwxBn-nu*YP%PluF?hy z0@fs^M4N;ASQc(Eb*T21V2{KzetloB$5H_b8ZRyj^JvebDURq-{IuB;6h?5?0;TjL zV2>db6yA&Oz$gvu&+J|IS(5g&uBZ==toRH`QX%HxPVdox)3=GfMsmoX5ldDR0#LAx zfLt~WV)V0z@TQmpY!JJV-M$n1vF;88$YmR~AzJ~#c31S6F-;f}iu*TY`O1Ma(3QViiH1#e1Re z;wX^`JD@Ft&V(v-h)+#TMCKFc=WrrEZAQ2w6^vDd{Y^mPjE)B>I z5ujcSxH0b3L@}pSRQJoj7yED);%42fPr$Ztpg;k{;MhaT34Z3VfyONxjV>8vG+~<| zA$X_*hpRzeZ3^N7GacoQ0u+7j`xl8gP$N5I)QampDRynuhb;WHi*gI)wTs$odBW}6 zjFcVyj!Ybdg<262fa)egMx;1!?RZ}ZL@#stmX-DUXy3W2Z8->tk!N&hEBoFga(fv? zjzvB+mven|m1FY?9)|V6{ctiS5tuEgjU6d?%;3yeTG;OB!_#7nMQEB_^>;z?;sf|0 zuOgB#PN1D(MuKu777;BD&JS+pOnxIE{JqR9>Qd=D9nIslUj%wJy0VKk3)C32!vY8t zN8DH)$kzwmLXP>aas`mbEk;u~94XP!s9MgMTEA%#8nbT3u%ujCw1qeDn~GG za;oj|EfKR$ho>{MLP#{Fxd>l_4#sPcXq8FDNrH31pL!^PC60_~8 zSyyRZa@3Ri7lbd4bf&+(M&UL|ls9^OyHGe@pp*`cG$I;BoK|RthK#(%f&uROPApja z;5IvuAJSVm*TUFCT;T$aa`fGb_j+2kU#^oALy&qg(f*`sU|gx@!GrG}T8Q`(mmWu( z%7tOJ96k=~luj7bKdN{fb>6>hI!aaRo&G_C;qZ-kCAzJ}*w<4pzbnRsl!}@Otv0%U`eHX8Jls;k=7|!j zV8I@wItvZVP)$>_C%)P4SWM~izEoC|B6X$O?z_-TxVXZ*I0(n)L%`x^Jdc2K^FDww zyoC@KfUiur=U)_HN0Dg5FUsuMJT+XbHG5#c!p%T($mO?6`3i?Wv_qUlL^7TjgM2H& z5JAz@q2woS)U0X8P;$uvN~CDr>sY8Yw31%ait^B(yM%3bouc15vXdH1LJ{LIkQRim z0BZBoPoWQ13`q+1L5K>fofl71HdLt{kf*CCE5;_u4E`uc3@C;4tyTc4_Tj`X zV!vS5?<#X>9%Vv8UG2-VPuHY62$ z0PI=_l+!EH_CNx8vSKWnp}6(w-lGaTp5cMY;sMSxW~*aQMZ+SJk9_!GNFZT}5yFpgZqf8wTJ z|C~*^{-Fmp|KnaXuLGmoWp`52D-KO5QMsbhI5#bPM8_h@MkOkg$N9b-da~>r2Cvzf zqQY>8lH6-!wskJDg<02bZ>E&9yS%G>b~(ODai>NiLhhk~GJCtIO{ku2f90(dE2VSQ zwHMT6dB>*QZti@2yWXqfg+>Nn#?b{MapgBlp6#FrWpX3x8ChM_V@N``s1xFKrlvYY zrYt*`$+mLuClZo~h10S@5;*>;3D79me z_pN35=C=GV>Su+tqO;Ui4;^|tS8?@k`^4p2kx_`|!URNj(b%@5S;DFbV-la0E!e8u zZ)+e9cZ$Z7t$6(t7TMm6rY)s?dQ@kv=Y!PwIKT5@=vVfQpQYGhGXIZ6^gdN-hrW8V z+~(rIJGNE$vf4NcuON5bZqfI_8nua%cOs0$uNDkB3?<|{UA*vZtg^C=<}JJ|>24P& z85c&}ncsO>`$`z!zM8>`SA&knoK8&;cGrHU{o=M}E8l)RQu9%6a@ciOxrc+Y@5nM7 ztvfE(&d2z78|Zey1U6GQRRqq2-(1ss1Sel*pB0nIoh{D1o?3Niua*W>loo&2R`z9V zVi=!_#%71J=z#V(ivK%C@on{&4bjKzONN$}B2N4Ex*yEc!(9tM)q7(f7~p3l{4b{D z*ZF?C{kjG+7aPPpXeeXNXlj#9)WGP0rz^Y zd17=27>2a!QXX5ycNQ^E#hxzj`vs{k)iWiQOO+-jELl?XK>h@3BJ^k?^R;zL9UU31 ztMa|JrZ?#f{jw_8{R{ffc#f{At!U~+O}=y)t6zZ%Ug$~?7BdEsm>y^G!A1z2HycZn z_dE-rDx4}CSiemP(KQ?O$%&dV4w!cozdah|RKtR$q(z;$YlOUjZGD5i-m`TwwY`S{ zLxbi;>cFm^c5EC{9P37qaAtS|xrIQhU0>tA?_(!-e6GB4`PtIT@Lu`VQ{49BQimsk zv>!u{XG%a}#4QM=w|{~jTAdYkg| z%hhFep-XEz7erEK=9PxRwD3Nt`x(2Lb*QUOD3BLRM*$gg17>e)ss=&*K>Ue!D$Jxj zvwhvNPZQM+-qb8`-?lo#&LbR2O&D{eJsJ$Lrj&O$a{}emW1Sx;sHMsrs08_KLrryc z%7AHgV*iEd$z%_)qseh);@5rlk2vcQ0A=@hLtz3qXb550@aveK10#TI8)1h&)`hGd zH?|o)t5bcYYhr)1K&fE2pT@Yiq+Ic28-`JS8SKpvWDV%TN`M2`~A>|nmH zqux#>`59D|k&V+{k4(fvfILu#+f+(lM77Zoy0qR+jhG?uuNaM42J z`(X|rUVppMA*>W>mR9AF^R!&^08ghJOvRW6#Yy2wm`_+ZgNx!$

8?M~|LDJ<3fK&^5YI9rGE*!H}9(b(~hKEC?L$Jk+?K$}##u zVDlVTrC@xQ!=byJ_3Ik4r#zr<-H=FV)MVIE#xd=9o?FsSZ>6g@OF*oi;zCl}!u4C- zBFfd3h`58E_p1euY?oWAlTG6;qDZ$QDJDJlf^kb?RO1fAZIlWO8>OaZSRd}EuY1oo z?ZSzD^+NASmZ6L4r*clilQE-sPH4!4Dh)v5Jf8UslmJ|v0sm?4ucoy#(?j&==70h%0?^C$nA+`_?UnbvQKZIWTF}Yrdcf1ZCyBkK#C7>F zeTX)IrjkpMie6Hn^8r01!%QeJg5pmq@xn^(z-7a|RQK=`obkHNDHLqyH*QFH*IcYd`Q^QV zqfd6JW@tKp$_lv!yrV-rTr+Q@YKR4}V3-y_7VYz&c^9hFbX2w*zGlb6+sy2n|7Jl| zq7?z@+1TcNs4KWgd^t9*c+pTf#Q80yGrC^;_2{F4ab|`dwrWx^I4j6gI-}e06ig8o znh7OC`gf!*Sx`#B-PdsJ3=hicg$;}A__z9Za-~&hJddl>XK_ESjK7D!GhHvlLb3AF zIf^CC5O55j-kGkBD_T$AH+tcyw2phj)4lTifm_`wu931ckJuCnzT6^6i~!pgPEl?b zxhdUO7?4%fJ3X}YjF`A+R=GQUm$E&7nEmN|1v#O1OaMcVnRF{ug_aN8gev9vg{bi% zK@hiQXXin|la_MtrRs7&93mf4jJuccVSl)JZDfM)@}4VfO{SFemeS9I zqkapr92EW9lQbM>2*UlKWBLJeHY?|Efs+be@hyq^9|gSP_CVY$GZxxpqvt-7!%!iQ zAuz>y^Jo0f>6#td8ddg~n_>J=#f;R#`-RW8Kf+P$1g=$1g1f_bK8CldX*;b3m z_Pq6o;E~FO9X_f&EB)$xcpSIXg_}mQea-$*#M_!~GBn>HI_-SOjfv`f@O_YFlD{>+!RaQCtNx0r@V zz^=AoMp)*m$R19OMl$D_w!A2f%O7MrZA?$BA%Oi?(hI=PXmLY+Y_nCpNM4sa;788s z3-PY%vZ(D{2~beE`(yJrL2VB1*uHzC$q8 zV_!B7-dYL(xARdj)j4Q0e~%!#7VnbxFZ9HY&Eb>9jctNvL%3~&l?jZUNAstqCd>p5 zfS>4d&+YhL|6lCAXIN8hw=Nn4MT$nGNsS1Kh=5W=qy#}lM2zKC1eB;CMFdnpKp>MM zy+lMoQ3(nNiV&5iv`7~Vy`!Y5)JQ@JQ<6;2!~1>j+Ur~8?0v3luf5kg*ZQGA2y@QN z=b2;NV~l&;;|a3qbox8gHQOBYi}H?P5{(##_53Q&J=$;P)CG?Lpx#F!8uq$Z^+@GpyZhjG9VB+>Uo~3P|!njRIr3@w*W;iJZ?mv!apP~+*ptVk$vNI9IENIpEA|zMPqZ?+#9yylXVWjZ)sZgB|JX zJ{6B>o>Tv<7GV}`^`II5GNV*<+L(z+^$w();)aazoK=({vdcb@NpHf1?W>e9{B?Jo z_NQm-!mCZx?)l~mqOq5fX3!JR>&k|32}XWAJ8A!WL`8q+lC%H8YbhUCppzp-UzxYm1-Oa8l#)KR?SaTh#w-#vOHS z&$oG`kz7Q|Fiw3tr8h*OgDN*^tv5-S;zj{%bRy&dxV^zeHa_}11~xfNzrVkt>Tpk^ zYVL|RZ_@Q`FZHZEZgE+bR$;jcJ-wWKb%#ZPyTQwVtx6_h)>v$LL6Wu5#!prdHojt? zXe-!7x*Pl9t8Q|n$}NpTn-A8j&ZtxqC&`g~2QOyFN>9Y3XMSYLG~C;+vM#FQMEQ<0 z@6r#v-tK=OBz3=}u-f<2Qp1$(X3~Y16v=$)My{jau6m+$5pme5qp?n{LilHM{^Vlm zmxDHoQTs(=pozyCi{x@F?HL6FEUdU7!@ZlZ62>3x2|P#W=p9mYTUoSUABtOutloxjd_sv&dZ%+%=P;cPO~PI@1J|u-$QIDW2PX&!wIW zx1wJJd?=4k2Sn5SlY@N8+%#YWqdpUQ@GELgvL#yaudoer-C-wl?Lgl&)5bmWp1a8{ z!#7l=n6zsav*In_%`0Iw0vc(hDkBQ;$cYCQ@-U^u>qZ|pyJCEE&5H_rhfO9h3NtL-?z2egC0jT&mD;rOzC+(5XPNljP^ z^|DyqSz`y1^Hvkm4~C}Ke7>&UlA>8S z4Hv&exX*lRq?Y4|y%||8HPrsf@OG1iVEDa8>cRFS-!8NFqJ-}N$PZR3>U%bhFZ19X zHm=bQi|j9XfUIWm4iLJ2qsojMW)dKF4|QEJ-;Nw?z$kf4FD#chyJ`4?fo$0h4>1wX z)%u1h86vdEY;AC~_-M-cW4}@Q1{W!i7otdJ|fa-B6nDu3L&hgu8tT|Js zds%ALM_;$faJjFayg6=pu0#lxmi;3FumNc$z(>_vVlR@#VG_3h2FF_|{HCYO?(4ON z)&@wjI84l~yJius>|%A+f_p1Q+Wz)^(_PHk8?E)wARwMgU!)gbCUjHSC)T*0EFUma z(8;OjiraW~(S+`fB2@TtvKpXAe&?Tlq2_w8d!;-fq50 z4?p}l-@M%|(Rv^057(~VuTUms)Q-_S0GR_IFESmN zS^5CWfNgw`EmzCN*Iym|GUBDW5$RkXUSwZWrIdfBK&nw`MIJLmG|f^qkf%v_?_w@^ zT_@p1DHE+H!`e11jA~?&z1gXhVwcq(?y(0F+HgA}jEhkI?b={5Xo)~Xrj4PZ$IQ6P z!82PE!XVKYi=Fsj539Z~`)B4&Pe$7;zZkEVd6VWCMRTvgA!6sjy}Jw+*dO_Te~FK< zSjj&EFYbE8ShH!EYwz>{yLz%T-aUJXK`Vh-_nlW9)fX!!!W;Ei`MllU7V9|Zch*d; zT$sr8iysEW_u+oy$0N5bv zO!EVC&g|OneaWK=o%_G+Tq$`k!+KMEDm^>+o#rcY0&rp=N^l?!Wpb?rQD&Rjp$v~m zME%RC=kZJF_{keKF=o6?wcd_7{WJa!f zKr22qc>$;7T6(u*T$@ge$x>qz`AXhK@yt&!wiwh9X!{0^1Hg9(wa_sliin@!NYFd# zaZ!*gbP;p2-$Lsx{FNc0W89d9Pb^uJ{;cMvc?E-9zM*uh+5_RBV=mqt(3r9l+{fdB zY*0`Z{>VE*XjWapo{8goa769cWs3QkNv9^dLo0pLny;`(x+VuTR<5+v%%UONoWhA* zumn-Q=%qpzG3;Vr-Wr!4aHs|mfD}osg0u25(ELdj2pRCZkzp+0v%{DD6enEt@xw(7 zzs9-zi3^_wgXPciG~`d;{kHzlj-cJ64i*s(U40JD{bl5}o&yB6f%4VG+b`?5y{)Z! zRFSuHQ$~>M;7XBn(BVAi$KBdjr-!rv2q19gt^kqGB|W*YLu~g-+JU|o11(Mu&Yqd5 ztl!rt*%V`O-0s$6>+K15Ke!>84)jNrNj1LIvXw->Jo&iuc$j85hsRqh;kaq&JM22m za^+I1tK%!JLPHXg1IS;zB|bXy4w7FKIG)cox~*{Z+n%&rHm^htg^d2W%EEu-_y1`X z96!0iKE<0^>tzcST6<^@o^HFc$vGkFc3P&{M)!ALZg?09{qiXc+bMX3_3VJR zkFlg*5P-)mE6!|`XSYP=cxC-8_ot5s8U(1e3>H^4>+5fw+xRf^{rT?^LXuY-fwgp| zxX-{^4vifVs#1LvPs|AK2psnm$1%36?4G~LKKV35$4EZ$+unfgcaeF2{HnKZZC4U0 zY#jlQpzX{Mo+%W}pV|qujP>2;p=q1qN(?5v_ly+7^W? z3m+~ATllOXgRmXxhgO(r($LXWfsgw0^Y}-)1FHvT{7$WuyFRu1PONV+ueo8tBnNE) z{LFF9{AkGEIup(K?dV z+Nszy5_dvPrAQkQ(+0{_j)Gf|yApL}n164;FTfhslb^Iu>wnz+Q}U&=t^fDJWDAsQ zh3o~(7H5UaZV|zlX6oPoy>0eQ#8I zFKnzWYS&;<=PhU9-70!Xy1?fT`y=AAoE}=iyWgmhekR=`)?$M*>^A82kqvkkeHre( zhBGEDzmk35+}2Y1;n8tFvTUpD6u!da9XT1Zp5jd%qA>7{q*WEUd9Zxb9u_shZ_V_v z&9`yq(yY!H_^CaVy5pd(pe~yaD6XHdG8QtP*%n~k_Fk&c4?7H#8D2(^{H}zZp*|KG zC)PZAxPF~P{CVY_%JS-ua&Dn9f(WcPR*WzNqIYd*1u}qFod0~H8QBIyj8KY#L~N88 zqqFB|RnO?`!6zpV<{lj0ENS%()PFCSwIXYBYKRQ^MtlNgL)b-TLBH9BrPw6;5UV6_ zmG>G9uBTsHD01;wWQN&qlvKIKw{QL2B9L3S+*gCvi^IC&hDICA(X_?*jf$Bq!~}!M zP`)+eRIKawaq2d5nvkTD*evE@<)_sTh6w6}cLa05AUPjqDtHE+*D{3GINd2_cQg~l z+7F-FLyBXZJoxjNsPjGb6m^%qYOZ7A^mpdKNP9hl`j(Ew9z{4iuD{_82@9K_Etm!{{gr0Y)AN>Y-%*$AvEOKSLa}?eJ483)sw#J)akQM9jy|K`#7$wfTgt7S!Y|vsX;37FjibWbf~Fs{@wTuIyAcsr zps6S|AQ;EyJH`|=Qoz+{NX3)0FbdXBTgdRHIU$LfcV3;T1mVR?1|cbPjt2nJG_@FS2JGj85P$gb*ZO$iiiSy)*?^1G4h z++ja`p+Syb#oA3y$I`x1ZVnHygp4X#dpSYPS1x5xSIz(8E3pUmYDhmd`dH5TJfgRl zcs69K;85%dr}q2b|s>=15y};NS~d zx8Gx{v`g2YUyRWgmfL8uIVr=|I3)t(NN5EOS8>?On7FFeCcJns?r8Vrd6N9(9&th4 z>4z>#wkwqGC0~ZFH_?2>-xW!^itxXJt*{C3qjCw&c<#<%koDMidY~L>#J`4;K@#*g zY7n%OLR=#OUBlyCULW zIV2_~0@)or!X1Wvu9k%Ds(Jf{{pgd6v}a89k#%;pa%*1up3ViDiqXl^Stu4Dy93qv z1MT_Xd;|ddaurD+I9tU5?BA5VCr%a6Bc_%guRF0JPSh#a_n7bg;dd znXFQF`&?u9lNOyZiR0qEQ<-mGr4To8L$Y!Qh4T| z$rc;*QW z9Lf#h5T}2m7zs_gvbT5Yf>5%2!#>i*yO}$W$gn>vM{1xJ_ny(4PGFC4`D~Zc7hjMe zOqt%z8ZR%ybt&SQwZTEt_TC%a=bWs+m#{zlA=JLw=m$m~dl3g~W0MG5;OMh3ZrPW0 zhZ)eTzq&KRB`h=P<#&6$xI}fsqY7^EWifw5zDWnTI*q>u*3+A2f_LA8kFn+ODx<+f zL<&3P7%;xzWA)WFgRy(&XP?-~_eY=0%DCMs)VKZC$lK3X0d!$KSO-h26ZgbO>6vNz zGoT@-vnGMO)pCwLa(3f)-zUGGk*vNGvA0oq-Ie_h$bi|)mz6jw$eE^G^05XvG{@4~88LOfHIfqGal8)}>fwH#btTIIh`Y?$;W4)K znQ5&WD}u62Q%2kj&PPUL?jE#} zGrI#<8GfKkW6kyzf5aPJ?3MkJC-pFK9`q`c>PZPunf$Z_2e_$vP#Lo*XV|+p^cmLb zn#MD{oyYlPVmnNG9Y*CP&zjSihUh+xGV5g@zhS( zsmFnd>$&{%iQg7bWf;}_FoBe6Uf+3?(2Ob9Y+mkmZEYbAd2qi8UKg8rXvPK-S52r& z^abM9I*xaQLPf)$v1yWW?=sx=)}Jedo>OO^UB2Pa01eqO@$tV=J|EG;-ptot*Ih7h z2yL|?Iwot&qwDT>a6uv-$7-rJA86Zq0(Elpp}B1RFStKhwj7R496>9%n%gS4Rikj8 zflkRb@0}Oy8Uf_AUe|TO+dhrhT-=rGDn&%=w|N<)_P;bMv42S;DNCLTKocig-GR>K1|bQ@*TF=hUfbUs{Ty~~ib zfwSF@k+N5-cG{MeEOdPJdC{o;aHq-?otlVc+kBP)v=!0VFm2v$_!;oQ$rQAa2gfG1 zPVH-*ZlHMx*SzP<`ym~b`u$c)*SnM*M`fc0DeNauf;?8z%pBXY!En6h)RIwYaH`J6 z9p!dCiuW^gnjS?i3N1fA&4Az-er>T4BMF$VnDrAM72fnvJc%35yxV;IkDBY;pKnpg z$&uOKS%SOJB|!9~vNCztaeNuR!CaH;TiMCC9JtV}b7{o6@~yRBpiXJrzT1`-!OkK( z-`6vDs{&&t!WU#A#$lji3iudrhE2qeZa=d?PIR+kYs}-UNqJsiN?(nZ$h+KIk%Llk z+ZvT4U3T(T1IuPXp^-7-*o%-P-yFn)zEgfTubgfR>w;G?=^4ag+ovI!rSF4W{BGI* zkT(dQD?22e@+M~uY1o?^3HI|C@&UVoZ_V4wKL|XKdv&pN<0+0kw2CNKsq?Yuv+_16 zw=|hY-Fl~#JtpwpAL-TDVOK65FAwU^uwws6cMo&U4_4f;eY=sCfp6f37Y%vWUhnu2@?18t@-S^N z2i*=>CP+Qyb-^?^!OCl(1wn$XL@(@N1?uQEub-TOAfqX&o!`@T&LJdphvW-er4@ym z1ro&GELfASH@)oAG+_YcR<4Gx^3D*35K+*Fzeb);AQm}KWCh(^(9*qFcbhwWaBYw& zQ*iEb25R+tRL18U9xQ2|2%!(Vp>BsacD;oXSPDCS5CG=3y`#cj^s`Dfjy^A}_9`D< z_aLVI$AMdH6aR%A^z$M*sH}&m*JI11exr)+aO9E1@*)y@iZW7wq#JNd0Sx#Cs)bbm z!9^JnT7RQ3z|oP#th-bR@DeUKLXYze!ciZQtwm zmH4$(=pmz;GT4ZSO|av*8wWrX*=ncIVYzm}<-_ z&xztTI2Vn?CmTye>^dmxpkCOnJ>fU}u@%ccswWm4ZJWe3fj86qnsVG=S+MW&?=yKcIRzQMi5BKb=vGrrl2yIV7I$u_tSjt);16Yn>M<5-INC~llvZT9QreXQ&7AQ{kJ+ot>a?dM*t}mIb+g$z8w^g%awXqiJmW}N9Kle5**2yoX zoEi(nP%^`OnBk#+uos)nF@Fpchxs$l2YRo~6s}3PmGMou-?)8mNZYBaqY>DHMRQY# z_(k4<;6^S5&IkBUerkfdv0y;RXL@qc>Kg9 zZltIIQ=Unrc$hoaQ(r-;W%#wh1IMzI0{hDIpf66QK96$J{J*u!{B+pH*G37;1~!8z zmqr4eSLg6C*MjXD9Q3CMTl(GPU3PM^^WN6<{d}vDVWPD@!zb+<^QuN^X*J3V?%*oH z7zSmqWQ;3S(N)(-8)Ls7@86<<)+yS!Mz$Y^*8fyw!CcH!Fli${0D;;ae0fKTh2m5u zo^3}QQ5^T8O4q4qm9if#jIfAJRc78u>iO#}zt*p-wmB6q{88f`?@OW4To7Nz6!em@ z=eSesd;myF?CH4px($BVdV*PxwNCTR=k@)@+fHWdG+q~yOqqKusup2!`$7* z!qGtw?ml3wSeZ;6c^A%i@&nb!h2vN5rXD=`q2Vn1iQ^&Er^&P^XQgZT5BmPj%li+e zbpBVMZEjQq+PA1Z|9t%Cx^3jWmPf@l22KIqFY4U6A?w)(OxU8)F?Pa~Xfg zX)6k~HfmWr_tsX?jmNwG-wD(r!u{Y@qt@Pe;LyE%p#K|`yuZ%*pPicb&sXBV{P+J! zM<)Iy`uzW!um6eX+WudYr~3~X(fwb+r2l2<{;PleZ%h3@dSU*OaQ-{D*sl z|F+cs!Jzxe-;e)a$x^={ss#7!hePSk9UFpUeKM}^RM3PhwP{3I5Qe_Tza+-+PlnUI zXQUdo^!#*Ep!B>mjjTr$QG&HkC?*hN3ubV`Rgk67sYE0lz`)~NWYYyfBxU>}i0|tG z36^6hv}ClOa1Brs5941N3nVM3@J>9kg$O4kaaa9DJb1qW^L>rT<}KG|O%L2h^_ z;T?5ee*~g6LvR+Bu|;oC35j*~<8L4XCZQ!J_Ya3LJ^sFCo-ow;5mafS!Id&RK|0|c z<(%J=f)9m#fx-uE^eM;i4=EgJ`RO&kQP%&vuI~dx`=K|u0VFOPZ2vm9_ZQHz3jvnU z^aw8;W*%i@>QjzuCw<=2$O>9v`glw4*W_EG#i(%HpPgIFeT=dWj{N}wVO-|PKHuD^ z(bXS6ZYM_M99{WbyPj_i(oDvJD8Alv`zKRCIX*_mw|L}oC+^0F_u;FD&Qj_-hI6?D zK@KAuA4QTiB(0b5Z2SVbA9ntD{EFCnWsgMEyrOnv4Oonont~WUnxRb*3ohkmv1?=V z&+km+wlgLg8#hiCi1k-dqVVMuaM3oCK~=`@sL4*o2|&6(Fnei@?)B@jyL_I1zO`Eu z9PiTq;_-0NAl>CKUC#kIHIfyq$I0E#+5G*5_vX)a_f1U?B#&4tN7kDi6@A+Em&}oi zGZ1a;7i3U8Qf{Cn_?O|HC$RU?x0Q1_Wqq1kryr%F%)KS*mwO#%29p?TYrW~Xm4t4B zd~cxL#0tkD=TQ?c=gzP@Lacd*Z2oD%b5OdZM4o#2m46;C&VxfVlg)ezKmD=pM!>2! z#h?&YJ^OuqL3MvQRZ%nKP{dJj4v;yq^ z&Pf^B!ts43n?dqc2u*tSKs>@B83S+A<4ccUfdCg!Oc>0D1{Ju39CWD0T6@iVq*2*M zP>9bbh=w`ALH-;MdPh^Zfdl*d{i}gR!}j-FhZcXeUQQNxw^Qij6gKY67@}C+fQMzM z;OPj3Hzr5#zlsIVhG$0clrqbTDp7lL9SJ;&5`o4Dk@)Qj4RF_ z&DSN8k=|_S((0Is&wf{Ld>9A&(NdMO{|ZSI@*)8~W!cKI0qQEk)(O>3l{Xo-0V64c z{MDkWOrx)zV9zt^^gxm`5tLcbd|Wt*+r{|T>Zo9>9+z;%m(J5FFmR0 zpv|y|yq!p=Vsl4aoh0A8Gt4I3OZ?+i@26)o1FWuWh!Vxn9ijD*A9avQ7mX)1kk(T? zacIv)PQ~Vms<)=MmevX7pwB(2NurZkQ#{qM3mg=i+=w0)ZCvVq@=nUj<4SY;jdSY^ z=4GdH#8QLi$iD=a=E1(s z@zL+9?lcD_r?m*p=b){g)EMsr_alSQV4>b$Tx0r#&{HS>rndS*ML*~3?RJ~<&7m$2 zo_Q@bCp%@|4V7)K8CO-HU->W@8nt!BjjiNNiZ7^JicWv!2?sxIZNMnZ^h;Fp{4DhJ z+4~+}%dL7Spj%>&cHtk!A#2YIqN;;a!H!&IhsZ!php{gm1d`V&us)uhgYK%*o=ZnI zf%j0xUCV*hz73QZF&t_1G_b4IDr7`5lfPAX-ZzmCQt9#cpmXG<4J?T5MxopA_ciiX zLY=MNzzA;!WMY&+2{;8{u`z?%NUSNIub{U~5|!G4)Z^!OF4HL5poR$SfpKy>4o-;U ziUa%qzyGovYK%ZD#U?_-=vK~3QtbSU)UeWnshGr-dv4FRf)Cs|tSwJpObx&%sIGm* zsf_#KxV?P!zL$Gmnw*#~e*Qnr5d9~eV*L-JJ`esiPE+VRzG6_6i|52+=fy4|o3TLt zL~nVn;md^%Bo04m0<&9Y`@479J~@B)>fD&zUk-oFNsyvcYc@3v*6zT1YkjW}JgB*7rZ0Q3^ZT~O!U>nS(-@f=lc#Vsom)(Q zbm3xZH@A)P=KA#02y8rVc&>HXYQ_>dcdiC!|FW9GMd&J_eDG6Q0D)q~qM2tqzl(Scew6nDw;kOxNE@?~J%d zehJa;;@L;=fa$AR-p5*|{m3~^9-G{?Nh!@oy`oR@2;rP*77AIW>OMnEI6&<~2FDQO zSH{oCZRL9hs3#x3lADSm_Yh(I%BHFxWS%wuT+)fY0?-PZc%Wy6L%Zm(7!tUEXK8{f z0bno65BTL@3`&Bk8Jv{Y_`=(%CexwoW9YU!*C%(#%g$r@>oJH}5N`|e4!@3nlF>0V z(z1t85LE2hHF9a^(BV(VH8QWIzqRpCL?Q0Wvtvv+DVcm359XRj1qo!=L_MXm+pp$* zTdAPzFb<5*1cSV85|BjXQ=jx1dHqCn`Pj_l>HJ3N%uz=v0A_ijVWT;&ogfDgEYq3T z_emsfTvEy&^+|WOQ5VR&o_iZjRIx1e)vmo}^fqmpBT3`tLG_sn?^pgX( zwEmEV^za$)MLn51%@mE~wnnW}G-Nk<91!KZ!0pNtq+)$>$xAj(WFlhp`eoncvZtj{ z+6iuWP-J~43nVSwAb2Ba%^9E>vxMoSBoexA(}eM!(IkSd;Z!i_Ub{a0!SYLl#}65y zxlF#wTZTPk&+dp*?6yR!n=Ry+oOniatnEo*P6Zi0XL5QNxf;{BH@evQ`e}S z)P71a254@AC7~7YW$^Z|%i%c17uTW`r7c#o~p_ED9x?cumPo z0{HC^3UFce4@wzO9L$_{WorY%MmCEeg>(7KmN51ome)X1fDpT$;&@!VX*a>IFeTkXI@b(~W*jN4KJc}?4XLBtzcE+tb^g*GU z$4PzY#iY=f5g?3WVB<_gET4&0nY7RvsM|at_0zemX}s3& zZ(6!)^Q(+jD|2m@B1#(u+J#Y{;hyGUh%c+h3``*=_+5zAQ~IQyqPtq$>`lAq7=CyS z0gr%=iOb|^3J(_sad54a4R&I^VfN2!7ux1DtZP_PFq(Ay~ zb>)$DQ`bbgGwSDt>z1+5&9GyP&jyIN6yyDQ&dOeIxgz5`X&d*DDu;?ATYEm zlFGL4NUWkZ>&2m^&rI#PF!Vt#=z^@{z3}fU9TP4(ykMw)J#>yb9L;nu;FvNho6L8O zIM&pJ{7AJ)TQNh6j@dXbBLp~$V3YI&4>W^-uk!mt`K9ko6Y5Sy+h0q!OlU84iKy-; zxBz2ghNUGzFGmn9|j2+1B0MnEr_qA#M4B;)>Wz5$r)+r*5qc!8tt!rtwxGFdbRb)!VG?S z+?o1JJr>ro=iV>m+uwhZZePkXgiIx$3R(*)fdu43q!F{u>@1e$Lp$gjX6^sIqT=!0 z4X8%fE5Sb~<$6QqpGZP{E%o(wo}IUG1ns$K+9F@E8dyMeI4wWSs;A`BYcGdQo~{PA zAJ^VpilLDuM}mzTGE`+tf1^&E_kGzM$yYC!uvEOu2YHYBG0beBDjKt(4Pv`Ab@Id} z$^!^CVbhd4Fe>YVR z`o}*cE$(H|jQ>j^nL$1~XGHywzfTFMs15(pi*yK61mRs+plV#4audJ8c3O4UYj}7y@$u zUrKZLvX68T;X9ghWLL7XAlgK5D@>ZWB%(QIG#&5{Gxz=!fcYy=@%OLC!G!uU;-WoD z;}N!__-a)F|E4c?sv4aCK(*Gtng{D`$1r%-N!~AW>c{ziO8xw!j1_7RBI|(zEttvJ zg|E>3wio~6XVrI=rklqt%F2>D!@a!Ie)?8`Z2YZ;zYmW6_cF$4EkOnJZP3gWeB=x= z;{^8}xK#oG^3ecyj0XzJkrC|dW!0S^46t+HXz>n1Z3GTc5LW`t??KVEdD()97VHJT zm|$?{lmJ1hO9J1x2J#1Q$MEliwosl_z>HvBnb1_(G5ju=jEFA)!19HCfD%fFWRU@j z^{;vjr=C{Ul)b6C!g*i2S81#8#5V2kWH=lsHjE)eY&{Th2bfUGhHpVe#K3`VNVE>V zWI6~ibI{K`$r%*-0#I2cEtvu12GQI|{QVgA5(VDeAy9>)v21-DvMItM|4E$_kiP&h zw_X<-pW}l}Oyq5dBg?{~uwLXys9f`=QY#fzr!i5d*_ClUj%QPsO@|36w*Wo zj~77tMa%HN;WsM%17|>x(D)m5pcVz$1pxK2<*CK8W0Z2=g793VLv?%a{Lru#z58r# zpjmYD4OxGRT+Q0wsPzOTZwrys$=ynSyb6}{`s1!u=&e1Sq8x9YBQk(5>rdw$3~oHq zjqHXKm4eITr1q=k)c@gg0t}79vb~I3u!&Tuc}R(ffftYVizx0X+p=`+J31?*Etd%b zkcGmqKVVWZe;+igZC!~B)Okk=y?XHNy)edqxUL^OVwT{RDfm%nnb-HQ()o5h3tcZ9 zf0>j=?H>%vX!{~sn1dceBjOOx8R>RW0`CXS)m;I&lx(%~vNBG}r&HWc{JK|#EhyQg zmGnJZ3kB-ei3|gn7@w$5tSIRBywe<;k_4!uittf zyW_UJ$j@U_mY64Lg8KP_<2DT_uYcmx2>+r0-&=?E#H0WUr!R5UIJB0qR?-=KvM5Hwro`b=Q))znx3PZp7Y3T#AW!SdbO|UmEqN`vUCcVX`vVr!qX;n1NwB1 zZXI@fDJj_Fq+Lg;^YGzR+KSc3|3DqF0iz?**si9q11@Ak#;&vs&9}qaN1l!Ef`+ON zD_&=f?z>>NM03UFp8?e%A<{ zRVb!6Yi1y4E=AD%I|=2#vcV}Qs*&z0c|>B%p9!NiV5!C7)@BQ1L5yLzfAjFyX2Dcd zf@ZeWkg2JA-B*|B2^TeYjNsq7*gikHY@Ouuwf#ao~?_8zS3;jo>)Ihs6V<+12I=!Fr%Y17u&_!7jUD zp~JV~0K9^4t~1~elV$={>~$B&y0eoP+N(GCptA3g>+v8ws24n)pBa{JmKqH6<49h8 znsag!@z|B;yP_k67Ri%wh}c`O#R{qfQP}h09$a$^lb!`fBNK8S@pwgLnk&9+7vbEO zhm!6Ttc4aB<+cb()oq&0HiL$Z_s35fZ#f}x8W*!$HHl@Z1hKtDThIx=Q8Ikt;?b~u zoc8<|wwSE62U8j0Id+lBi{z0+*bfl{_gf?aK<`j`^=DB;PUmSg_pQd};+#N~fv@ln z6bF9|q`QHS>Zhcm!3Sm;b9nXCN)XSNp(Vmj^>5#v+gq~ldjI0Zla}=;^kedr1!WVK zmP27*)@fx`a(<&u!+r8CU)7JCJ+kmqu6uSk$W3REwIK)n2~3qz=RSaWOlTy7Y6W_E z%$<+EZmu>oHr^aJO1L|TX9s4olsFW60V|!JqW+E~y^yk{pK0?ZMD2CepoG{T9+*er z6X5be9y8jr1bYrgd>MAxFF9-13)h`9<&_nWY{gG=-kb}>+zlYHPj$e?QGT#iTuX{E zqny;7qG|0cp>=*%@7$v=r7tf>MQ>n4U?so+FibfP$Od)5TDS&i4QQy=tqpe#VZ4_M z*44XLRB}TK9^k4gdn?lS6LgVg06#CumGibD-P!A59*Dc2;6YGl^kV;w{(kO&ght~1 z56{j=;8cLp4A7n1n!E9#M?P=}mLS(|xf0q1{ye0W|7f{PGJO)Wq`wEbt^Et!+~{`f zx5+S&b-GXpwpv=JDB~<)9IAiVi0HNy|3;nBrOb=-^~hhB0}td-``=#zh`H;cjDr+s zhMNY<^YntZh8+;(5VlNY%XEHjcxR+@>iDZ)DP6%LKO#(TXn&u9!yWkRix6VcG7SIA z{T3l&CxQEIra^zX-$GB2Tc$7I*@wtW7J9+}9RA(?lEFv~0Y*L&e2TyM-^Wkt0N9M{ z1FArjakvKkclR6Gh-aV1!dv{37kF54*pA!AzW%syQeI-^qdfWJa<>ogo?9H57n*+* zf@8IU>|+R+6x1{VLeKTyeHv-%RzK_iSmAh&hT4G-T_;l8Ps-_T_A`nrp$vWh9lT% ziH_+Q8i^;O2Y_B6lk`%LpCum!O|PST8h8b&6aNUy{?*U_lu$+84)~3-C~ui0%}Txb zjVhS|5J_=5ZvqMTPU*vbQ@{Efb(Z=YWo1;X7vElBRV#DM`F_m5(_f96f=@oeB32+B zI}rFA)%pD8zj&cAbj6qH%$%j}ZoRz=`6V`Qs|Epo(fWTz$S^D50oAbxF-rc)%O>0roq>g=)+qaxlyFjAmD;(-m>b zLcSHj?gGjk;s}Ouz=q#${2R4o*eRMOsF*_t9b+~le%P^TBygpS5cY512893ZH%E_I zN((A@2*G)dJgJVXK>?5!wI(TUh6#et*>)ML&*VY?_B@14WeaU8m7X%3xq>EG2s6mB!DI-^`LJNfDwk4k4gDU=Wu?l16}CsNWs{WZzsk zEx8PpOVIjBE!~3WXB6Ds9F!ccPMbQ60mB}xj%bb{IEO|mtVsfnh&(`nHGt&v3|OV8 zi-Z;@kLgk}e{UJbs4uoSFnBosp^oD2JI^G_e=$Ypa?piEk%Gc6L!PVjW;f~#%N?Yo2$Z2$;dgS_yux0g_caIq_PS) z+K6}{JM^8)F2U0p=jY>9aY^c_K+vnMPl55qo;dsFr#9CHk#GeU&w`nVcs0+;lcX4? z$Klzq^Xt+cD@l8VUo<4EXRfKiLfm_>sHKC<2YpzBq7$^o}fc$zedxa8XsI?6#MiiHCdq`lhAZ z{%5noyG~;y%#^T=)VMvGk-mEC8TRUjqPoT`E&UZ&ei2$|_KS>6L^%P4Ws419XGb8K zd@Iz+;V#_?X;%PLICyWCbS}tz7l|yB& zdIfftJ;*yw;@6d%)L5&gT;WX4TsvIfWYQjPfN#g~%|3DkAkr)4kdd`nlp>IYrm*eK z27!FH^w>#3k}g5J{%Xjx)Al|BvPx;ZLqMp|@R6Bf!bzw}3iO9#K{RRt?zS@#)Ejdl zT098bTBr$Bwj~hlk>iJRtWWpV*j)(hFYovB9U6fv=vRPeZbopgTAf1f>7E#Y&pp+9WrPnO-Z9ygo+irWj!v zs{vla&fnMrMj8G1lZL?RfQ{^!xMoT!#6Hr>iEEyTcOu0voM1e%(yP2Qu*GrL_MC0s zxGN|}dh0CQf7IE4^B92B8yZo;$o1(LK=M+GZ(GIz27V+csPR~7`A*%TGdoVaS#hwn zyY5Yn*fOnN`_~%qXSLwZ_JTG@QXCl7NldO2W!tck!h$f6ZO)!)A*NcWam?>l#^~f%RP^f&yCr;@me{&%V8*iy?)8%P;xnl1 zeLyxf6KJj2l2hx{;aUc6SmH3}@}8e5Dv3kGUe_$UWUl)Rxe^)R{^tvUefd|9fHoT} z{%65+iYF<;#fbfs#KtpMRnqT`btR`iO}~C&&iS+O4-ni=4gAbsW;oSfhG?;MAcBp0 z1?TP?2tcRo@rZHln(y&@{j=LvVerib>Q;4SAobtD+W^%c#QIXDkY2*-E+b%1AGFBJ z1?`#ky6Ua_ym|9kV&hr{T4;b>SPFPAlMs%%H>OHWI_ z-+}Q9JG$!o|93!2ojn!kw?qeECFkD*q=XaTM$o9Ui6E)+Y78WgI;R#cP_zJyWc&Tv ze;i1s7C^vV^Ir+-=6DUn%26ozT1RHEHCuV%V~a5kPa?LbSj{WP%1%;VeqHDk zkn0rgnslVhQw3U1vx*DE!OJArdnPs*J7?-eS~^}PBj;uD;q zaXSjY(mF0=%u*V{3bA1g0I2E1(L;A->U6&18BwlpjDU1!ZrHI5cwB0_=Sv+pcHvWne|-O1bu1s8)e|q>SDrM0l?JbU`?c6g8w;G<wok01Y%{3S@`-JHLvc} z4JS_qXm{a@4rKo{$5n#VXfeG7e1 z9F@2=Z^vI`#eeH-9#rM!h54CEU+B}jV0$glcoh<=RA42|lgc1uh zg>n3BToaL}w15_u=!OSEPz5uVS8z~K|F($Y^Ggk{xr8BSbsLu^j^E7iR^*Z&7l`V zKq$+8a1x&3ZHE_WKclzVgfg&_Uj~QGl5S}PzGG5$=b)L*;C<&IO?2Gh!sr z15Z#HUZGASECkpRm*60VUNc^9bjs-yvZ+@sYia51&kwO?D{xQk35TI3HB8xnKxQ07 zWlmHkz8sjlj={KQFo_Ks^soVPJl@4gJf4p4?5u6m<(k7sW9n5ZIz-Nk+AszCV6j(Ul*3@kG=M(}63b00(VOWBmZM4p~2itnB%DN-4$R@a<6rWjAf9 z7EfUqdD zgm~BaC)rR;ojIJ4h9&%RqiztZ-iS z9dxRgaQ0m;ny&=xhlnFw3jVKwOPN$DJrr6=ripzd=+orB~XMcjblBc<5%<5;l`5jj35j7+qOPsydFhU z`D3?5U9`UgL1Z)_K5(01uxD4Az@}^zw%OV-gJa%nnbG({ zusd8jU^RypFsUbqr9}s&Ar}!&z%IEe-^Bjg2l|_-SFiXFJeBXM4L0UWrz2~Kf*hj%CY4=vCv z=Da_RY2H_IKlp+}`i+Pq7EkL8z?#`Z^|p`?Iv!#l#l&W>=47@~q+Gm$kc|g_`sf;o zy4{lXU2VRf@EWQo0ACS9l?VSnrIw8Wb!)x_=i#2fx=ec4c@3hPI?SZFHPCERb9yi;*-d(C>8L0O(_=5*4qwsW^{}+| z&f)3M+tFLfwq+-HUN$VUlbc%e`T(?YMafao??k?e4R3$g8Nnmyf-^=YOr2Aa|K!pd zM$*CIvBPh6zCCbJ!!1;JIn*@I;b2#BaLOIL>DaD(FUef&W4n#r;Q0ta93sTMYJ`b+sIsvt(@JpPr zsya4-Wb~unz>>LB;(!wqLsr1n^o*h_ufL2FluJvqPHvFwYAD1Z zre`UD6DlLb5#`GdFn};NC^f%YGmuoL1ZPbh>Xn<{`nD|H+f}$0(gPT^-VrDi>o5_0 z?dEW3+&~i^SV#g}$x}cKbL9CFKKAgzxSbpwvc}svxf4=XcF!ww$&DG{vDu6DTA1SK z>@YX1{4;}#5oBRKp(KI^SY$nKtaLe5Vf1tH{>L4g@P?n<9M+AQXd3Zm3>=3%DNPFkTaAH<#L}{cyH*w0W#mUHBe%nx0>k_mqNg zEfRxs7xjTDtY39BYVU>>tZgdDLZm=btZpRis>iI+wC#-;5lvSP3+sBdRU>!Nvn16B z9gJnOfwD@}WmF!dh8j7)*`M8Fc6sQ*)#fYDYpQG~wZ!Bp9tuxT?k?5@-_CoEGM&+@ z3UO|4*F9#-RpIq$d!;7mVx1h38&r$J&JW)eltfgU2n;!tw$k}Yr`a3hh1$BQ`o=;} zCWHmtXb{i;RKn zOy}=5ZExZk4SnhYtFjSo?eaEtDQM~0J`@U%W2f_))Qm3qDN?5)>BaR;pmMr!d3xd?$UF1_UO2j_w zhS$*WKEAS8QV;vnlKJy_KWAb_v&dE*C6S5=e18k^jeB0$8*ij{Rs`|kXK^+h$723c zcZ8~#uRw4;Xzl;-pMh(y^pw{>(GkN#5=Z$jLE-lJTm2Cfm3n`%s;pfxV&uHTv@q_VqmrqQ@!}##jN%AL96=6=T3%ZO5my&?F zx(SSCjyEuxk2s`W<19%A@#hQU$4S7+3;z{CDmz1*0#HTenUwAyq)S&T-}IPsd@YW>Q`G|4jEv9AKws&_|OMk-^i2L4%FV`inGr!N&@0_y(l6mGR+!1W#=VjXy5P z4~+>-z0i#!J*oqGn|Jv@u!&~*Ef04;t2kFn!o7=<3xuIx{H98#7UEkM&zxPNd*qb4 z_qp;S_mDYKHQW2wh@VJL!6uErf&{rt&kWR!bivdm3J9x|UJzQD%7!tbpB_;C(3}l- zJm}t~g*W&8R8P7u9ZGvVBfi|F8 z=;hXUDdh2}$um;z;+P&w)_kcc1~^a%2cxEFY^FRCh`=kaVr}$d@x_q1t^-3Rnd@Gb zKPCK_ZtbM=$sDozJmD1yv(!wygHNwk=9xT>0~x=>**ohldv?o@AbBJ_jYH=Lfr_za zH*x5mK(mV;MN{sdO!tqscG@(Q{3Rr==I9am&L2rX4UC83Molrr10r|WIo6mJ)j<$6 zq{5$u!h~0?)OCS@*`Ln;bzq5O;@VW|?0WejrKDvB&5q^sc5Kjk1 zfKb30gelb=>IT&R`6Hc+j%zDRPpv6vJ~yR9#}vZg9v@2>#1pA(T?Z8ApYC-$Kale# z^R~PDp$nFE(gg&FL(qjiLlq)-+P5O&JlZ_*s^(z*6%My=c70X(-Z`bs5}K1S1#ssw z&XOYHQ3hMt0ZoPWm7Cew0qctzoK{Y{9=4U~VG<-4apNS^(g{;)0d3z3q<|4i)1m4z z)eiWezC-Kqo8E@kkj!9kGLc(MD$E`N<1DL!9^jLziyy7+vsoZm;pOAdv)+5hn(9p# zJ)pGjEI~Y1Sy(D51+mT9pvo!BHI{fez2#k6_ynfh@D{5ZbqTr8+c%3& z=aQmHg1N*Y0EqUB5pM`OX)=L%5r3Oe!h=+e{bLEF7{^0D6BO{{L;ntz|A~ot6GzXqcF283`z(W)d9z;``b`&L$wYod{ z2b5+hOh*~>8<^ZS$e1nzFc-6gK@gprFD1GSQ&rjtnlrMAGPgkK_TI56e0<>fny1%C zf=XURZJbUQ0~CnAN(|ym9%2hW-5Y_(Pp5_QzdE=|35gXC(@JIm`a)CrOit42rt)({m>7muk~kFPKIQh zaC)Ydohn~NVpYJM%TprPNu0O@_-MG{B*5Zpw*dZeKAqmD$vdLWf&?^A}Ew_2(F{TfjQWo$=7^p!JA%+bk z#B(%C6!|2Nw~fJ^IgV%itV4e0JZ?D{-Eqd2a1`Fc*AT7kP`PnZwi_)Re&Hc5UHN{vNegi#+UCYE;BvPTzhg?Mb8*n zxQa<&a)CQRmrM>3MHkU`6&IOhF4CNVIs0J{?WMf9B?n6{_UJP`apDHabt0Er$9~tP zIi$`b%Aj|=*Y5B4eD>jV)UQ|%+0@o7WH(8^poTGzy1Jgal~P#~mbKOFw&m1caK~1# zzM#Tr;esid^Sgx!{L~cdef&LMg-!WC_BvnK^r2M4?0d!H=xR@lPMh5uifN(ycq8}| zFaH`oIsW8f`ns0=%eo@0F8-f`718)`2*1vD8so%<@z;6h8<@ zZfoG-#cCfg^ow zKhO*g((YS8=>D5PjUdVo{O1Ztn(2Q|twaCQz!xF_izJ_gl8iq%zf^tdDSp;n51rIl z>y2lS0GXbjp>|c_ zy~}Z-KU>FO_0&cX)?sFE4b>U$Q&UWyHUay5j_5~90qtM$JTC`yoyeX_Ea7wFxq?*> z&aA&pyTAR_yM^v$M$yqzuJWDd!Cfr7FSGckQk?7W&pU;Bd#gv3Vgce?X93wXRwN1p zY78j~9qbbwpiFZ8qiOo6Rk&$|jbVD#XQv#ugAaYRH(oFo%8PX?z&(^mvY6Z)juthH z>ypx`QEw(fW}_FC*_sVq?X`=quG#-TsVTQ0pW;Vhz;HQePrGQ8f(PB!pTSIW2 zdWUykQK29zZA<0hNXC06x5X4)N*c-&$&0Dz?XJ4^9Ij6ePuC=_@%=uT$eKG8GzdRN1(Uz?>jon8*bh}AH!T^Cbk zi#)(Z!GfKDHeMZ6p9_1mGa#KFSIRbPf4-4J`z4%Y++lJd4CDtRLp+fyt+i7Dozu<4 zQFfRZR(ck*eQJCIF7I3IXgn(NfB;v1CU`PIPK|)X z4oL4^6y8-_D(W$S7wi2J5oisB!drv$vc)Enbec{lnoUam5Hg9+-oNVL7KJ6u*&btK zuni&U!#cw3{Y(W0gBFL@%TK%&Eu-%LMzatr@arn!?A3Z6(_fPVFPxLH|K)IP{#p6L z{gFObBl~wGt!mdxr{!c*E;cH&FSyj|U7nk>a8mY+Pm!&{KCh8w z#NAGjGXiRmERy;}4Hmq}BM*-}(5pA?(YgWVRmTrdR{_m5U#c}X%$3TEUEU*yIWpp#5ZM3Kg{Gzy# z=VCkFRDtrR;J-pkCvJHB5)VvtF_oCyeg=%Kg7D=m)daGQTX4%?p@;DRn`O|T|ris$mHEpN0P|2@8`pa6xxKeKXl~A|+UT<1%*{-0F9S6q4&4w1QQnmo zrw&&0o!kU_HFPYl1}}-IyNR6|)WJ=82?07s17*v-PuH@sM!k5kOnwh*&3CfSL$8i} z_e!f5ii`D2J8wwlikAzvRwrWy$4ghg-+Exe#K!X1-d?Q~Tj3|hFI}M>+=U!G+XFNM ztPxWc6eTc^;?>#%ibGz$?)nZIWK5r}k?7v!!~P!&gXtZl4K1bbK)Y45UEM%np2 zZGY4-qOVJiTDyt-Xlx$jo!3CNS-JvL(=&yO{^YuS@~y|e}1{}VuFwgKlVdyc$t(#2Vc7=Y zPC(7%GHH?j-}%^j@f-*uZeYjWr<9!g58UFvS48|Xboh^d{+H{CZxyElB0&b{wupDo znh2w$5?|188K6s4nT5=Mo$|KTTM~YUi=eBrhw8Wlg}zRu`jVp>HBR|XV+G3uUIBMY>LL?g<@cqn-R_=%v2$EEg-VTusE>v2uDojwf}EE24I7{6peGV8=LoU zmrwzwl+Et09!j&;BxsozzEcYv&0BafkfD}kv;e;Yx8r{$9X>{4&+ArwC9rS`-X9wb=xJCSw)F{zImM73E*q?(e?^t^Ao# zg*TbCxy%%o0d1+dNX30Xk@WGv>1xTeCw2?rw&Nq9DxT<1M3)ps@_V}Fqle8l1zI~i zaaodFFLmjZYtEU0S{yB+b-AFT$||m+E=Ff0<@}qu2gcu9Id&(Zge)=#Vd&cfDKM^rkc3eCIu+pPH_jI|VoLYDb_W1Gq2v?VLwuIYs zz7G*y=>jl$sa6xdJRI-zUUWPz@w>F-H=~XLo;;K=^g!U$RhY^(*~9YDb_(2vtT^U{ zQxKma&0wYGKe*TOAcO9tqUsXGR9#iT3Yx#I!Tfxa|VxMaoZaI7mI(dM@>3dN1o^?HMHR zeayF1zEQd7t_O+?rP}`?q5g2_yRJ^=u!yW~kJIJm+qrpF*xoNHO)F_cp85#QQVxY*s z@(1^ZGGknN;A!7Nbw3ax3ioB|Q2bfNWbYH2R_e_m{A{;cZN|?qOm74>KDfusb1lq~ zOJL1$*h41w5`Z(P!-nkzQRnwhPyj5e4MeU_~o2F{)IDxmkXmK$IXTJXz((! za_MU&&D~qR$tR9vuMgeu;}vHCKYU>Pj$yN_yorEO6$-s;8stu5 z(~#SN@$gmTzbcYaZ=9uwji>r&!VdXhT05M?#)xd7*kG;B3&=e$s!Gvb+NAZ$C)4`k z98x`DXkBJM%@CFCl1SSZt?TrmT>Nbu7Hs|TgO$gqv1mKOS^{;ZHjB}=u1zjmBpC$( zfsdLU6a1uA*C)aKfw7qx0?PNmCqeVJi&EzaqWbydRo}u83u0TtNfDE;BhlZT?`w|! z0BrUe`^Yq49t%<+YcO@hvgaPutT<>!K9>|x$Et3c@)%4|+ly=KX5`{b5F(`32&fez zECAK7ld17Y9@N%a6L?c*BZ`z1Z=1H^m5G-7_E{PQy+>^KiEqHdc|xNivB>lT9$i-V z0T7yj9IF1bUuRoRw;~kc$5ZnbZkdWJz|mg9u@Dq;OXy(B)HQ{%0+;gCL>;-*0RM-_ z*N`>~HQwppesq+zLGQHj#8)OAijJVmT3zy#c+9k2RBf{i{lR}RY5%H}|47ZVF1Rf8 z!0mWK3}RRI^Qfy7DTU7WszXgVGg$^1HVi`!iY3gZnm_D3(AnmE#)2JaA^FB8y$Tlh z!DZADUdj&zh_=#NFkOLvIsQ^n`}>&Ev|zn4cG9yoSH0+E2{<_JP!MXB1}pIt=3p>n z#L@!flC@=EHYM|5LY041weQ21i(!6ei)7YW{H~4Z*bX8$4W5Y;ksZeaEf!^7Xr+rD zRi-7-EZ6vhT3smR^ZLq&)r&JK(y;>0b<6Sl(iagbEqDr0qb%e!qH4up45JRAw<@Mh z%L8?tO5*l3*)$P_H-MMvW|OjaSKX2SY~|5qA=dX5>0u2>J}24QB$)5O`_TDL|8e}n z+quQd$Lyd92QRrx=6Xpcze zM3GJr>&Kbgqs8*Im096dzFCyo`BIZ0DySj~N9xBcFgYgb3Ve1Ddw@7m&tZ1=G{@KP>CEMX*Ag4&mMTa%Q=LQ*E3VY3Wn(KBGwn1 ziW3Hj{&j%#)o02zi)NC~Y>PoiL@bTrri%XVcb{p4(wu37A`Yt2|IcfKvg9NX@Z-b; zALV9i*)ChC#ArS|+Owum3x7h~Cdd}+gwB8n0Vg3CuW_QiE-~h7CS`Ko$>y)pYd%3e z-}GgGqx($7INzKoam5QM?(TtxP=>QTHSf`Nxo|RP++$ZXZA*u1*W# ze))q-raj+nOSld#xe6rlJbNrUV>O)l_TO=Y8cfxWlgL{i2KciMGoOA1m$?T}^FoC0 zjGtDe078)S7a#wB|0+up;AUXWSgOd;RCMXB%3PPO)G}j9h_k(WlTF3>;w;_`>zC}v z-5ILn!Tx19Y3Z3Zc>fRaHnOy@m?_E(K4z3!(XQ7TyEKln#I{X$TX5*1fwFBu$#NcTW6k1xEilOvRI*9bYo@JpbYY z5TWkQdY{!{v%E#Qyywd7cv#0PNt5Qa)I$QQffP!9PWk*>_Sz<^+Q(P5{8w1DI{91> z?f>4<55<{DCvz8djvi0LF=KEvQ!&Jj(N9X%#g^!uTvTI(E6MNK_5S$Ix(8KLW%|M~ z(m8~s1q3gq1`Bx2;W?Y)RUYsdsPF^16>9?q6i$9BA}rHp{MHpdm!#XQKS9h7O-~(2Xoa#^JUhWSZ+N~D|9`ASbu{_`?X| zDukOy;2#VE-^sGTY_^CmUxjba|DtW?gReypBg zT!n5JX5Qq75k-Wx7gHX<7V`aIUWkEdYHhk-8R=@>IFN!x;IOX1Voe5c_)c}H#YU_e zhRS4c_OIYshlH~TVf!5O-Xgtc)Iwe7Vd`8%Q|0@ zF~Z{h!70!dq9ej_en<|_RK+D+i9+x-GtRhltaK6l0uigDYl?~Rdj{z47bj@SFiDzI zdH8o|_wi8}!ze9Mb2hXSxZes4e$xBx+SJt?+NkV?y2k;ZxTf-~TX7X3D=z-@WT1OX zHMe_J6ngEp6Iq4ydEAiR{vo2eF+w|V)}tdET2Cx1lg`>DC#&>eo4lQqt$NUSj*2@W zuRr~~=9-?3Mwbuzx5_aK z_Y0Hm{x#IK_uw>luSmD?9(>wanlGhyW$`n&{Wl_I)XLPh`V*t53k@~X$~}G88942) za+DZ*T%2y0Inlk8=*+$gI>%DUL06-HdObTzo0TiG;E+H1lah8}_lUEW;0 zex_LB1fna(0qUtfM~o@Rex2dbFsJC{KFf}_IvJ0lj9;4uPynt`)icXp;t0!bgEqZ5 zUOM~j+o+zZvnAW+TywYqnm6MJOPk0o%m9BCb(MNtK&UWPLRaXo4JSCp4m-}k{M%#DbHaR5x^2+mWz%zTQ+_nM4KIK2RPx zWUEZNN#c9BpsSE*Cifmw>pVSXdNSfrGcn)f*qtGHM@JfOA2vjL+&Z=q?#dg&&)eNZ zwsQFx>QterlVtDs?)Q&#NuRT`aN%Aeb%gb0rT`GkZM#1UhESih(JafOr0!2>T#mfD zwod!xsH$wZA>8LZxRbsBXd)vd8EB!05gsR>uGZVg=^3Q?EA*FUOrQ{k%Y;krm99EY z13AY{O1w__1!S^YiCpps0kw|i;VWG(!;HELeNwrN*4vU;HY;?^=lU0$ z)2!yCvCX8$NrPc<;d_8^r%N7NYx9+e3R+$tE)IH9LYfLAOXj8BJu`|Gh?YO4gl%d0 zsq(B>*t&6>RK|ku26siR0&pKPkrF!11f=Se{P`sJR`I-ZL1cV#Zs&n4=(ao9D)f%* zv(FA8Z19vGGgRs`_j!O3Z(1A3G_JVE* z9##%`tIeIJfRo0+;}y(!JZOA?)9$2CD^r-T?sX`@F||0bU~7?HldeBFF@DD1nt{Ky z5N{^HO##ZfUz7;nu?GK25GWwxc}7^&zn?VkfAdMJq>GF8^f|XZ3*P*Ox(_Sek(Aq0Oh7*O#hMZ5lB> zO2ALD{)+E*C;cpsWIhfbc=&G(GyjpZ{qO$%Uuxcgm??RPaQjETuM?g^b8@JQ1xQ2* z>D<%flZ~Do@3WpPJD~M+L3gu9zbv9o;Jg3O^bBG%s_!3f1psyF<_O_U(9~eFl*AlX z)e5#J)G8w4`SfZF8dN^>@N>TVwC{+oeO9KfRa7ePGC(?iG{YHLOXMHNZXVL%jn4&DgqTOCoC&>d{4ld z*!YFjGTiRma2}}!_NT!T-y9!k0~}vRepI)BBvX+#SEJjwPC5Z6*)K_Ca(kHH(}bOp zM^tmsYOy&VpO|aTneP*xULH1Z_^0v3yhCS3e4@dyzy^t$qm%>Wo-%_@`no=Wc~>M57zeExon2Dt+?n$h>8{i#j}7fEWq6 z@$3Xrbn4o4`1QP0bnDRiM{DxtjN)x!&M-q500;*rJ`>s#yLZL$?aOF#f`e8!-=1Aq zls=4m64xw#Zwx#D_aVafB(=dXx>uQf7h9_k#evoa7^7xV9N;>9Xt8UB^+g@b8{wwt zsJ&1n_Yae~{U(J5Cw2OH5y3~Yx zMIE}4jVX=^bU)lIRcpj_Dc_V6i`erHdPckz%Z3B=mX(2}cqUec{|3`)GxQ|cv{h)B zM`?q#(~{ygyT_0HNLJ=oLr;foV03eY`}iaAd%8;_a(N;mJBx+D46xqG$|csqt8z`zvRBcA^7*< zOwnoB1#YGC7`TEwmssQkKEcPJWyH*7{??!+$)$9IV|HeaD~7ek&yYUAUKDTYG7}t2 zPrZKvm%L5QuHdxYm=TEMe!KZ$JnO#9UWL``(DVxQPM2g}nT=En z)wj#Z@Z90-w)|FC8I||)yQ4pxYQ0DM_6Ii_Xah{m%lXX42%^c15>72VAf^=6wuP$S zmD(19b-Ol==;*$^RUYz1zgniJ<`d&3k$WA8tC8DYn8loe-GvT6i+bS~}%39dnFa==xcqmpsP zujy*r)>1ZJy#3VlA6#7too7pEZ><_Zmy=lZNaE|qw?$r*Y`Yf!dULO3t8#~O4S%eC z^yI~Z*bN&Flax%w27vx#c*o#vRT`;+T!kWV7tK(_$~OK8mL%3kWscWpU^*4ByGq+G zUBwcj>6HoCk>_Tcf=wf>^oJdG3q$21hy@Jr`7;D;6defKqlt93{FeF&zj~9vqZv+) zY8QU(4%Jf?dz2Fe+C=fZIBQU1a|oE z_SWfHK5!N5>g9!TqQwYnKPH8Jr@!)#C!Pw5OE<`YIRtoJR&Wq4@)T*1gD8u0x|nDZ zl)Kl#+6_RLodOX}fY^f@;jRh5gjGzK-xW4XH#9!NUCUCt7O{NF8&Ol-uP-;b;EHV_ zjkp7cK`?s+^!`1{80;e9-WG&Rk11Zt2;lu#6CqAZS!w z5u|g%K;awBfYRu6&k9-LpYSEn2qzd7wZc-$u|0j*@Waa1r&`zN>fDi>oYncRT3sxn zeKXJ%=rQw+5>CytD_Isiui#tDN8*af4>-h|$=?MJVkL2K2#o1s{^JK-%xD|^)|E$^ z4qxz3b&puOZ`XzmKU=>N^NC`8KanyGo{vt6BY$HRQB_Q`$>!a29%LLVD3n_tT(y1b z;yIEj!g{O`8p4zo9}vECd=T{VVDjtgB6MKX6jSr>ExO!a@oTuDm#B8xKE1{JOW&q>Tv}n~C*)DIEgAO^G9KN~iYYpQ znvS<$Uf6aa64XPT!)f=4)Keahf}n;_c!X z8?tp=w)u*2=EH~$l8sy=R`McDe~%-&6%jfL>Ub7J?->`Pk z&MVeXX%+6rhdBd3B@v+avc1tpn-a<^O6r3AtVVmg<4{@h{;0FnLDC75?flTogCzkx zGF~H~;kDfp&qo5|38e}{bFnRrUY`EWIGU%zYVpHRVYuDzFTc7b6 zBmG6-hpOEBH6ottBi!h8z>nP>ZgTI4bG0rV!h6Uz#(zP$_lV<8C1?KNA}VHtbxKOD z5!Q}U6&k$EuS%0eFu!4Q^J9Kzk$=z`GWq1&+wQw>s8o~6nV0JZy~D7GA_P^Pkl281 zsmUs!b)qlW7(8-+{SGaZ)b09C@mj zXoZW&v#)*CQ%Q`<<>K|R)?Zx>iMAVfF6QE097<@V<3b0%Wctc!dp1#BVkcH~cR?4v z|7>-|A+~Hm3cdHWt6U%mXU_nW-q*~V<)qjQi!W=}ZdA5Qin6P&A)TdFLopFPk_jbg ztS)?e9`8l+GcOdWD9o!1R&U2!ZB4MaS{Px;Q$f_H8F3S1PhFDbM3~K^Ke$`|n1In2 zim6OAK^A*1&8Vv1Ud42u?Dn6?gBn|%)|rHwcwSWdZzo?aUMFqd^&^3}PX>3-8V{L% zKZhwX_?p5A$t`Pp=oVaFUl2ybqi2RShD~;?er*|}eJ4nd|CpIrORm5c>b(Dmv6x*U z11GTpi4MYgb@P@hylZnxjVrzV1wnAzQ@8LGOU4U?n@;C@Fxmz%rRWFV103m+O}YE4{f!^xR?%A*bH{M68 z_OGJj!3JrBJSV<1jhnU)F1#q2fKyxMzhe_FwKuoAr)?wbehW9$K)(a9{OdoP0sm+I z{4X>E$~dKk>5sI*co}BezE+wX#Y))kZemi)i8Wb#_4~w<^tFyJsuFO&ON{ws@M)2! z!0boa%ty)F?iJT&9d{QFBU<%3eWy3cf{NNfXgHotH4tEr%;^SHBmTD{%Bv}IXil&D zU;$c$*eY?m5cf za>@w?C#2m4b>$3|0gD}x?mh1HL&HavtW+8oZg_Dm0oR?+Xk!a$^})*u?%}zl=;w?D zCo4h&c!}G8CQaw8Jd|4Y?N$OdU%X1tz7o`*0`HSoM96r1I7D$*S^0k1ljJU$FICo# z)gXB{lFNUzQDyi$*FODRqZzZZB~rM^x-}8DA@J*`QrpOw;t=0(8+uvfN?o4%!GQ3t z#jU)?S!bt(@%)HY3XXHGADWY-+A?8I+l;V&HgwFqkV5`-_bWR_EmC~hzm|4w*n#_< zKZ07OVhT;jGp{yJ>;wN%-dA;fvG&n7zV$sH8LiI74yd0XkCzeioa{5JvA~3|yD^uM zFCp%0T9mQD_vVuGQu;fdD%o;F7`$~A8Tx{`=uH;Mmih60>gn~2yCaNYy6}j*3rsBU zx4L0i*1ml~ik(PrFD_BEnpV4_YpW!~dbXBctijy8k2cKyoR^K`;fD6FoK3eh4m}^r z)Jp06CYwC3_Zdzd@>$M_eFy2)L5Y|FD#Z`0Bx#HH1)8-7#pXW^8d+5Idt0*H_T2;C zzLF*%Kyk90Y7o|@(p8bosKz9uGUiM1*UW%NA~$1852oIl1d4rtCcDVvcvweK2o>m@ zs6_0mJCe^R*I$a&IJ|FOWnvh;Tl$O2Je-TZU7fnv{zYV$ekKNk(_N;77cmBr+mv+_ zzGjC8>Tfr!Y`+3GH>MFmbP7mg$$l}B{j#IC-`+4OYWdF??WHOCQsq9hFPyxL2WKa5 zL3u7!-TJlOr0|jkJ0F{LN?g zy3UdMxZ76AYNl>>Dpb&espd&ynEoS4*kaVM3nmk-xZ}qEnzJNku&`Ij>~eGJt*kJx z@`;%8TM^tHYo~Q+4n>;FycEnjitNjr-D zKFL>W9#xO$j&3p@H^OF5G?^mZB| zio@hk<1(LR1@10hK0<~Z?uFHG4K1Q=Q7&(9CJbX&v* zlfRp9Sah?a@452fkJ5$#6Y66g6-0C+StyNWc6$+|duceq!BC4ag{}*kIH(ymA9WGy z*Z4lE<_p3F&xi*~9mXVxChqv+T2qZ-lQmv04%t$&J?X&K`Y1#U z=9^-3*Ux+pz@V}%dYI2C&(ObBZlKAROMKk7?&jF|JC#*hfj@st7HvzI-&5*f4xpvN z82fU&PQ0!t^1=YrzTJS$uk%8ffUDq-RG7xu;Oj}{opbpb$yt5ZZmtbz54km4%`&KD z=kW)-!UVO4y=h-adBNkgXTn58%F+P6Uq5e^7oPkQ{wXzm`1pO*uyUp%O#{`?EaJOV zgv&c5vsBaFugbnTIq@-h8`;!da);<29=7|={#Keax?VWUD>~@yjrue?E(vl!mUNTo zIRqz};mT!8@zhNv;r3-jr4q{r9XswUraRQn2r<{^A6GPJvEMJb1GTDiPNWUc7NB#u z>;d*I&bbR0c!`dFH<%?~8?IG%q|cnox11n@sfcafr@8Sp%TrZ)Z_T~$=-+5&9OfT9 z5Y=#hahL~-UPu({y%OnQ9}q2bLNsAciE@|IJ%^pe*A%k~T-9FVcG>J1AZ6~GDL-SC zPoH{w0j>`(IN=%KaW<%B*gM3wQf;&9n!EM#BXNU39Lf{0YI;%jhe$rc3yQY3^MA^` z^@<_9w6R9@-L^GF6EC7MrR8u6u>_L1+;kuoATc2J=Lf|zOwE-;Z!SOI`}&RB{fRvi z9w~~>545@cEPzwg@}$|UCh@de$MSTIgZD=IWiP_u7HD2XM1JVr?`<7BiLX~(7{!an zci<#$lE0YTKGOGd!Y9yP4PMztmamzRJ3*WSlXBS37ZendrdY&f-81Uj=<-`)O=IB^ zu$*4vE%i2f;&c4cqVRKF`m3AvBKHilYN~LM0i1t)uC3Y!ugVH zY$NK$#Ya+Ay5b8+>L(I?{mmPfZSRP(J7sl-l$l|Q?%}`dn*HfaHz&4Tu4pm2(4u9W zvT6t8p!A}C* z&B*vjgpX2D#?l}2>nZLH`uHb{tfPJ4A<05bchp@fq-UazQP;+GX?{pmAsy_iIvTai zEKA8Fbk}NI_3;)O9Leeo@wi6&tTF24>9peBw$@(>)>lOzdZy~-_W(j?abbF1?Xjtq zCYUbza^1L55TvF_J{X$>w!1A_h)AOI8EoTjW(5h|UZS4sbo5Z;s^>@ER=ChtzW$i> zR%@Kmy{8OBD&ZcyuR-8QT0S?VkY+p${xNFU>xVOh>#gXlcC97;^Lm#=Jy?t*SCxM|%YLS%(Um-dL6|j|m|!*%LzKei4YW_hRY=xX+c%ECOZ;K)+<5+bSHk|r_5N~Z zuGtIbd>rx4y}%g?g-R5LKo_e_cKL&IJbEAhsfLMKMq^Oe^7C7rNYm?Pf?LW_e)5&Y zDcKTdS|l_@5CchVUO?xGtosS`V6O#T;!}bucK2U9;2q%LobY2wn*5pL-COtEHONfI zOeb9MXtZea2)5XRBj5vxI4C|xYN{4%H~0tp!D_HukGw0mxgJ)wv-`FooBqBD+{oi| zSPf9O`@ZCEsvDf*-quh3GQuNoc4_`=z}|)LQC=5qLnvt$YxBppHUtjczjonB!}y!P zXxv&#vhAlA&)zZ<4;58}pOcg)l%`J9Me96^bQ2i4|DQcDj1#sGb(7bEttcvvZR%PeYY!8Xm zx;n1$06rd2M(KQ7vjMJY0UFJ_v&qZpP3%VY_8^mM`wWg48{^87xG7{bS#o`_z!W9< z!0GMp{=q%Yc6q`W#&c~Axk$A1EWCJ8dI;*wH z+V?&_C>2v(DvA76oYF#di+pr_0gxt14r$}H;cL3;*!Dc5C`@6iV8o~Rc>aN|xtrOn zjx2lWyHJ!`(RwMLJ%Vl@?{QLmZQ8|>ZWx$8B`GKZ#FBD8cdAZEumrqfaMe}56x_A5 zNM>d*up;opW#6GYr!=Xac!CiL2OxgV{@p)K^n0SdmGgpS->eu|xzINF&?b8if#T!7 z>7=4hYI$!qK9WwFZXF*JNiBqO^mk}Pl7cbshi~-vOFM92)bY|_T;a+atoW0dG#kc- zOok4|h_+%i{=${?ZcbUCReMcYyMMdiRTFnJskBpL@y*MKtA|LHq5~(qIFh-@yN<8~ z>?)I+I@pb=Py}DQ>@0_@LjYaKqFo}A%umj=7lZM#rA1edJhhDhotmPvE zF#e-+2lUWcJA44gM{KjN!WI=nOM=au8{hx{lnwBpX#esP>#2T3V19fe>!Xtt~4&G)F zd7JS^W%;E%*Q06*Kau?9$T0+6**cgk+Do-9K+o{mBu8`Qx9SV_P;%c~b2vOi`Wgg^ z7>CazK{*X%KMSvnOi4kmDY`zrdN+~p>Y{4c299CghIOC-jzb(sg$`nMM0iXRPrY!M zKiO^Y_|W@i6P3!v2Uo0WC`xen?`#m84aWny5fxkz?&0%ZqtH<}e)6r% zxO6*H1K|qDvzSFim!!0+qoEQ(?uMXFtoE#G9A0}*nmqF0>tUO9iKnF*!|4&k7tmKk ze{EV8l&aGK<=1z(D(m*Xi`{g!<3~V!%_7tL0dwLF%HNL6q>F8seyLKFXEjx&n&{yy z_6bjF%+M;|CX<%TAXoP_wPB~XR__`=N!o!M1Gzp@9h}?UG*QX+L>~s6zg*or{CbDSjg2qF#E-yA8dtZ;s#O(&8le@NVYtx~| zeAInIVAq_=gw;4{^&^nL`t%2PlE~KO5eA+3?`>9!{hGhE?z}c-vb){&cF5#{)*7N< z4*l;T+FKBG4H(eN3{BYIm5L;E>5@o!I_jK@{KfdyU)8i*bduOxWWafACMEeTwh&;+ z0wU{TP)dnSWn2HvGaYRGvS0f4%j@bBIvHxP)}iZ=3LUBq2kck5(cxyKDL;5b$hPgwz@2~FkA)y147>nQAd8p$z*AttAXhoz~7#Ch~%)3z(WZ9_+=1olEg!4_H4v zo_qW<6>E#$VfwyHxo52do=DRtYiZA`KTF$cV5GXUHw?>$dx$(AF+}E+)=%Njtv8*E2J*pN z>_}@Vv`WD0Ggg}TZy>hkUUTq)?z{DpYfQ+SOCcv~XAM*$@&#*x1CKvH>i5P&^eDPM z%;O3b@`_QTv=1bC8$&39R2IABu5QjJXUaC}X4$<7-%7iHupR|2K#jXrR|x#|D8;13aR-J5{B!MO+_Gqo}#iJ`2gAJl!3THPT&kFQD z#W-JM{SBbQ+R`QC;y}?wa8TT8gqrZ5YR!w>p6(225C+}At8L4@U zc#6SUM4KOJ?vmtVi?VP1I>iruS;v^R_W)VC(?1fc;R2KevFt?(E!ki3kS-1*9;Ua~ z!Mqc}x-M=#(H~I=_?AAf=w!N9?u|I3pf5RBzlMFAoRQK5wma%H6@&*KQxM@(e$}lf z19QEcmfW4Jw=;Y)jJv9+j;;fc)wsXkNGL3*y}ZHc6mz0spoPgDb{-HNq4@1pLtdYf zBM#-_Xb)+%oWdgUT;nQ4hib_q#@Hw{F%~hNa zH)f}74D2&LtpIV-@EX!#+V}rP-J8clx&QyeBczf>A-kz4N~MLAFf9j_Q&UPRF_p@e zRERR>vLr=_ilQ2Yqq0o)NXA&(M0R7DF;iJ5GnH{MGgrTt^ZkClkNZBK`*VNqfA2p| zbIgO8>v~`B_iKH=o=>vCf!sYVTGlr9iymunr^kw4ma?oM?8kRmMh7F2hUz=!rLhHv zknrF&M;Y9*QZSU|?bE67&G#efd~| zlx|H(aKC_XuMp^ydy#Xr!Y0XW*!;3>9xvUkUwg=YY{lm0iV1Z~5{co{S}%t_q*vpy z2uH^G-#BgT1Ea8E>Ocw|M}$ZdGZl+!9; z_&b2o_$*&^Md{eJ+B*W@Z3Yh${ZpyP58bQ2OmY}|L8VNPV}&}*jCGWseRy_*G^Is8 z*8Fj9B<}Pyw|p$C^y@wi{x*4s&hKk{Ok+~Bhmv-k3QIY3vS#fTwaaDW(HZekTHh=n zqiu>8e`!|uR?5eV;R!Ga70}mp5{%c8aUMUsMTt{aBi<=xpT9twgbJxU018F1u$QS4 zcQi6EgZf@iw{3#qHUanug|_9k5TM6NN-t$z-^oR*2;+RQ_+58IHdyj z?S`W4&Lr1fBG#sULe$L|;TTbfi$BurtMq2<)UeZhg;#l{BFOW? zbEzL0r3$s$jO*;##pEKd#fNQ2&WQI|>uV0m4wFA*Npuvw;fdix&>k$tL=x-s8@HO# ztu~P*(ach7BMA00)TiDp`z~0WD!W!@D=U|7xK?nrDmzoOj?E8 z^l$XuE_eS;NU%6lsM$8;^fcPo?>};M>mu_CVTZl7B}{*3OsgIK$Iti^&W{pj$i8hr zI(0pLHIAR8{EFx-Zd03Nb*ai(HJ4ku6L=z!zr z!duGTz2%)kEBGycn9~;sC#AQNX*1F;B29sts9T!M@X&R2Q5;aO50O3oI%>S9%WJoO zShJ4op~~e{Hle_YIj&5YE7^+<4>S@S=FKg9-FEMY`)D+Fg~9o3GPPC737bLEte;72 z6jmbdx4AR zV^TYTAC=v$2y>x#6zWXktkugZ+H+SQ?sn}zMSD&E)_^Ic0Wo75#Tu|4Bgh`CTyxu{ zs!LZ>a8oKG*l*!0snv`^I}nZHnN+i9k8CRMh`Bg;O;sI!T^&A2aL&o3Ia!xj*L*@8Hc zgET=nFvF)VOUQ@3xi&UINZT%_mtMPzDB2@#6;V*Uc%?U^z^92x4mU5EX4LS#G;_ZN zZ;>!p2wrz0l#49JjUJf! z;Cl592Qc`bFt?e=G`(^mwT3*aavrtO94Uwj_m6od(WfNO_48ca^Psk?e`Eal&GfUR z@|7O41GC`)TxM_{{%LO>R=k7c;2Skl*V{pDV!w2+B6MdBD0MPTu3t6#XrarwO_HyD z{cgb}Tj+8IyUdU*!!!(s4a6Jd*b2KV+(*d3gd{nzwW#oAg~q!r-|z9s1q6vot0+Kv zjjGR4zbJGk+*b0M>gdO}0b_!DxP-Aw@I zBn~Ye(-4xY@G)0y24lu1aMMZ^)=N~jHbsQ0%JdNLQC*;+N&Z2#Rsuu>M1Dhc^jIP% zlKmseHykKZYhXwR>c2(nAO8YI)GLGazN{>c$(ShLyqh#_+lZ4Nt!O#(mI6Kq;GxjDbZq)F1Gj z{*5EN4<(j|m^;K8uOoTGSMixR zkQfUVYg5#urBuxZ0gacJVD&9Q?T1Uo{yoZ5F|CPswVy_?3;f_&rsBQ?DIAdVuY-@^ zdXLXDlEn`U)<_iwlCQ0X>Bf8h`K`H$iid88J1*Q2_Rz1T6ek-7eZfzZ!@#9NzV&zx z14VdS1CvQ@KK%4jTuysMn&74G*^+HfB0Mv=A6R_bl{8DKO159lwSwI>O zSEtILM`b;&HS-g_#Scuf`o0b(pFQWFcLbT~JfBzsbz&tuxGafIravOs&z@ROi)M)Q z+3+CJ$u%}O09K3Mq4UcF{NTayv?ofiTI5(vFQBig$2V{ zN7K}1vKm12Y~XaO!MHh)UCkX99Gv;5wI(o$n4cAMuGn5yJGG;vt%G8$M;+pvt@M>X zVYoG+OVy(*H=*%$1TE@1k4=@!%iE3?$7~4zUZDG-yH>qxkPD23FZCSHc|GAsh5^?>}juB z#Om#<-fU^IZujFEN|d8SbJ1bp!J{aHH?F|$^_u4MjxO7q<#x%=#;J;Z^BAd)JS)g}e~e?x+H0bwHB)E$EiN8{V?}@?56E-%TKs|$MyXxg zn5oOD7Umth>w|}n%uf09oXfL|CkHH++G4QQLNtJzO3*}una5JRv?$fi zo_htjb;GySQ>MMSgnC*Sp`bL}Czb0IU&LN8eEIVYPU@kuAFZ+_fOd~0#{%AHAwlp~ z`I(iOHc_exLa-|#5;-Uh{TjqAl|H9v>+iaN>);VSmD5=y(K%E}Or^|?A84qp(_&l? z&^*z$roVdl!dRIRGjvHDse=(kp0hRUM(zWha6?W6xo1+M(nRZ`4MgaXBukS3H`}v* z8^HpPns3GC(&MKVnh_;H{6Dy!V-o`3a$H_Hx z7A~t<#xWq*74n5Vvp0uFHm~tn>Y10f{G7o7qu%eN6RIjeLi-aaFR;B%T%z=*Ru-1{ zZkt}P31B5f3O8s))HZA7&A)Mvuf9l`AcYeN){C&udg_RlL|fRO%GF)9<>Q)=%-)-B z3uf>65~wCw>aCzv*G>4@H={K}ZiORJ2I46#9gMNdWth)4LY^b}P%Ee1bhv0VLrLfJ z-3xa6ZCAmxtB_pVgf3|slMx0sz;;lUxN%~-i}%_dT>dd82)D)HSGQ}Fn1C=L#yNv@ zA$12)28VP#tDyW<>ALss_cyN!S(mQsJyi8#!M5knB_WBbr69p}Q*X00okHT$Sw!x) zsFOVV528CR1!bK{E0?7ydV>ZH#``RVDt?!?zC@tt% zG|(}Nv@|$Sl08)cW<8Af)r6ppjGgn9$~ko~V4y~lv9pdWGI$5^q!kV!8Bf}|J{kt+ z`@cyl&a)H$l{90xbv#25BH7ozr>d--Uc~Jt?*U7HUIJqkBL8t4s0E zR|Rr)&M;WGg;CgRIu_{|^?(0)XV>Dv({B_yk`iX5doEcub}(&J9W?%v2GGCWcltu+ z!vm4ao{4QL4JaO+6lY;4FK5%^6^yp!G{+KOtsrs0uYJPJWP|+QqZP9P7Xw zYzMR*BG^HXC+K7dJNbz41<2m<6=l6mVpu)k$pd{SvjI{vGsku3MLWo4Wiqg9#!Q6s zl{mFazCjvfJ~NzN3?&dYB&rhSI~+0}|0L+AXa`#7`y%L5%h%)8(>bLj1K;8OmZFmpW8LN8Zn$c;-FXi~B}7?ad5vLwCVgPy!1PS%Cwi_Ni52#&#dj1)FVjD4dfFAcjY ze>O-F1?L_f|M)}J&2MAEWRTiua3|tA0sZ_##3{RY*uCOKd2p1|6rcsw4Ey~t?N^ZN z99TVQ(M4X(s`kCbm|tmuS`%&%=1AO6(uWG)y2Tu5bzfxr=~Zu;ZoLg6?Z+90RhPb0#~c&CmyF zv8f(sWz!6!F(^rLUStsk2gorESe7w;m<-Xi;Pj;AVc^W&shk7Do(4zS=f4$h6$Z%? zH8;_GctjRh8$s(AqK2{AYD+#-?7jag((=jZU+zupJx?A``%1`%>KFr45~5b({ir?H zX{=lLUVB{EQ|m?3K##mI|DpY6Ihn8brmo}nNTA*q@s{{SB2kANGy?hW1OfSxG}EvX zZH1`uX$GiPDEmK6pbkwtG%M5+1&+R5uOxE$SoHwOD z0GNAYOzF9R5%16U9r%rF_(F3kyI03zw5#(2c$+Z-j%yGHGa>=}Q(euZ6U%7JH%070Sbo3(R2p1TIMg&2V z>-_VBHJ8ErF;2bC9J0PULzekBVdf)llX{SE6-%k%ro=ginKdj*NG^L_7V=yxF5_`K zHwv3~Zzire7$H6pqz!?Z@lm4SFn($SUKi>AZdc+kA}V=O~wp5!Mw zW6p2Fr+89!^Q3l%gyVcgU!NCE>x17C2eukHiiL%7c6(sxFo*G_TXG&5IS#APY>dW8 zbBJHKmX1J-XAS{B3YWh3%slDZV>df*EXzti*-B8Q7i?TU(KjIA{PaSVq&r|MGs7*OZp z`va@ZXjkL90?bDwW$#{v+D%%A zZhPe0bNx(NvXd~ZG3NNyxc7A9j3z5)cR?;6c|^dFknJDYo^OB1&UgTzNLB>k#X9~Bsg{TA7#vUe-SGWEDq-Ri zD40M6V@!=dz4-MLG~2dBsD8cJJ9t$4?X{B9%ZX8OhpaS@T(CiAsY%}<%q_^5+8G7& zu7oqN)$4G%GR7Cd$ZWb zhs{qmXFNM_eW01sDM)>xJ6+r}-LzD?7ja|=yfk1s{)#JMIzC=HJ9I4#1Xr=Ssqok| z<38!a^>0p>7$)_E#YsAUHoJqNsVBYtX^(=Fnd&7G-YNI7OA zga7rv|37Gi&Va?}@5rp3*c=G>R;2ZEH{8d^G!2>p=VU%~kbRe&d$C8t)mz<^ZHpt`X3t8{Y}_d9ZUUKjfM! zso#^9gBIkh#SBXZr)@l*p=rIG+IqD?j>nad{mV&7ipUJC7MDDgO)GcvjiOpnS=(IIKtFOyp|T!q{6rW^jRGm<{x z`3*Em#1f@z^CyV+0szr(f*K4$5kbU8`EEid5lwipP$*xLn6!UKd49yCC)P+^gD}g8 zMf3)`9vq&%me8BklJnY1cpJqFbpz9)+WZTTqikz4 zO(ml{p4{E(QMG_Zf;RItYBd4mKGEf%VpS&IALPUfWa4iuJdS4DRs8f%JxSLLwBF)y ze^7tQY2<*$X8M<8Olea3jNyUTL4dzm1$D1us|C31s2)AqW0mt$DQPUhfUDe!K-$!Eeyb6~6LS5K_^>vGPc8+ ztWQqab>#_OWGj1N)#fi+xL>p=MBp1GSvX$RzrH}I7a^Rp{OjxQVevP0Us5CI&?|`N z2|#I81rkieG2Q?pl%Q7Gx+yYkw_LejkIVfJt1rG-*{eFZDx1YfWOw_D%A^@nC|@OPU)gG0Wz5e$%5}W)u;^0##fjiv{=EYcszj*BoB^z3)h>zd;I4^05_8Vv8?o zNKJlT_pE2QyxZff(+;zGo`Uqfm?-Li8}*dTm%f5&hxi59Cz_hi_fN3{8DZxZ^-u9m zEW7Ep|6}@^>gZ{UXq<#r1b4g}##%O&KlNIZ?p52cq5N8>L4$%}IAf1=DS8kp9l!#? zs5ZvW+Wx#IYuMtPvCgI54?{01X=Cx9UQeS@nBpLhtQw>)QtJqapW_|4SUr1wy>Uz+ zt17fe=GRYZJE8EUL212}`tV?@^@d^cJcb9kd$hJvxig^0nWi{8{YO$t@cOX!ogS!%EyMLcolTA*2&@##GelF ze07J#K2KU@4ZC2DPHV<=JTuu*oH~26#)#L|a5U`nm&a`~Q_IDB5T-nllK?7i)U82T zT;E#44dU63;x~@pi;dzc_TO~Ye$`VKA`7QJ2`>B;25H($-&*3LpgSTPkd25H6=pQ} zD>Xbo&73W8oanQfOHbV}mVrD=9k#}^m&YT?_#OzK^Z z-qTz7?c3(OVy)Yp3EVMLhS-^yOvPW#GQ>~ zJi=)wqK1r`c&#Hrt$%zrL#*p}3=y2~{``%jbdEsFEQUi+WCiJ0FV@4iw#9^OYFxvg z)Oi%W&e#*OFqjMKu~xV%6>=_6GXg-|0y#mvMi%TNhbeII%wXgD{$bDUgHvA@ZY)aFDg77>R3OAY zQ;>HusU<3SvXv|F&r$s&J33Nw@AMp(>GYoO^o>|cK+Vjtxl$p%KCpj7hpE-^Uh;=; ze~!}Mrj@L(4r{yWZnD3nADo} zQ=j&2n7uxFYETpf7UKkX5@3l^;o04=Hbt}cb!ZSSed7}#_Pc{#eGhvBpX#z+nm*K~X;d*<}d)Z*K^-o@r z$LLvW9=&_@#&f&PsTy2Z+}@x`ejWVEpRlJ+Lyi90Rb2FS%Om&hHfy0No1Qs+ zV)g~~u!cQS%Te+>wnTkU^cO1TG@(W&(UL6#q-cxG*js@=&y|$ETJ>U99!^z8yj(1c zFd;PNq%aDS>yKD30lL#K=B$>Yb3%asZEKNM*9D!KaC40ZhX>0Vu8O?_s#yAs>A+fA zOp?~aNtRDxjjZ!X?xKPFD!0=gNByMN5}`6Lx`$5i7(LNFHT^5m2hYi@J)$QA<;hoh z{*PjjL(Fw)>xLn)NMRR(T9%D?0kx5+DIp3=na4IgE2l>l8+{*>^c~)}bL26+ zc(cS`FxY_1@+fZ*(XX2w8PBnlUiq?j^l^6YiO!+GSnG9^P3VQUl~%%#$BCzjhCRz! zc%I9GEsaz~@UMMrtx7}6Dl}|hxj-SVSjk{-+9I2L0Cm5Ex+u$?ZzHxE4ZNA<0R$ud z&Nsgh4Gy@RF23B6e7Uq^IM92;JJp!G{^!Dt(LCu5hIc&cAX%D2QOxvWYnnahq&gok z@ZB(Qy`GmfRfn90;RZ=dFJ-adOX*W>mOi|ztGH3$Q276sar@`kI5J19MemvAu=2MJ;%0PLyzt+Qog4y&QCu+?3Z@>@oZa#SIcrgcZ3qxTLU7B`I7MxX&8?# zZ>pnd43(F)nWdII_BB3YG<)C0*oRIKLNK=wInnGwbzmjoDh<}+!+|Np#pS5ByZFr1 zeIJ8C+%x82Zb*85h|xTmw=jQtRO}0Xq)g-_(Tbw@L@q?TM6HSdC3^IPbbs&Y;#{uE z!rk-Yr`(J9!=tVVaDJb|8tkW55nqlsSOHb%SQ+;fJ>Ye&X6{;jmm|HWR-AuT)zHC^ zXK-G#i_HNfNI;Dh>PZWN+__0vXWZPmf#8_t;tuW4uHsg{05h|L=s~zeQw0S-)ggki zC4#)@riVZNBb?84Jkc1w4g@&tHT4ZnO#iDF@&ESfFk^`!&A}P`8vyF{N(+Q`j2A$f zn$wGP20|?=*4v)D@p&`dM)mNwlmG1|{^c(I^$H?#YVIVc<=!Gr^dY}i<^1Dky{gi! z%K;8m1fJ8=JK_8J66pEduKo{7wzK~GeL1(V6v=664#Me(RTRacJT5-QoS@?0o)p2Z|pO}Iwh~5huA}uw=2hq~Kt+|xlmy=2^mtSv-mCKNq z)s@Fl*$C4J;Y4UT!Kg5|xU+VRd3}dP6l=cS`)ix^Pbx5|#^3?M6Aeh2mOQ{i0}lWJRY#MSslW zic=Nt*a9eRhu@&~AhRLw?UpPT6pHQ&tt0Wv)x7ArB!up1*{22)Y!FDA@Y@UnQrkmo|MhSGwvdW9sO(=PF z)cp3Vckdrw-aOs;l_b&TgAG@bzOpt0aU_W%hY(FH0*}b5a~GL>=bt%}WUQ`uu{evxX(iU3L&)6an27RYL%P zjNbsB<+cZnJQ-jZS&T1AJ^3x^?ulD#d7*xB#nY3WDVQVp83+X&@IA>q5}=U>NHyeW zTG4oPF<;?Ohvd!9J#D@bH5R<|`F`Yf8))Lpg|kHlW-<$?8~$ji)~2f;^Q4_lH21Z% zK9W{dZ~XmzTqsf5S`%SDEhpBDYj&YUl*2C*aAtSS~Z@ zH+{1~ab35#|G3wKnR9VbUtqH=L%pe73W?IAhhbs^U>YH9B)9WfKS9> zt0cS8cCbk3XG?G4&U*8dj@-5RmkY@KuRINGepJ1~xhEofa1t0eM>it&gh1})M1-@! zX(S#R5TeCkEW`b=_lwDeYm##1e_htftmC{Y{nT=%C*fU_7lT8g2>ObSqL~?;0-Zvt^8LR{iiaxg>tR`_|-e z{4vZ7@dEB8IK$>Oa8y>DrtYPq%>~o^0I*-Ss!XG!hA+6j^ZyB@3!Gi zqI_Y@F`-?z|GnUgFM1UgmZsR+;s#Y^4EfvPY-V`Sip=>6Tt;lG#J-h-EE-+pdS7Gr z-M%i)1RauUPAsJEN>J-?6zbPeE%Jpnm1)?DmSqJeW&9#{Q<}K+&+9I2+_Mdske`bW z!79FR)de(-2U}foA(eZbcAl~~*Pe0$*?7sfK|#kodRh^i3rAhf2r5sU2V~U=#*M?) z8;aYtj}%1r?;3C)IPf9<%{V!dC~zR4D<}D4j!91|H!Ffd5IY8y?rZtQ*67=Q=8VrX zpIvTpC$}~15tm|0`=oFhy%;Q_C_&f}A#COS^@bZ`Z>7~?Zy$1)V^LjyNpUUiOB`7K zg$E*KSxMj&XB^}I*Z=76fYLuoqV4tsVelgXLWHB!s3i4 zDj7*8=vs)(>_k22cCjCt%48`0#(5&ZhI!f|v#PYPh`~yDHaB#(b&EY4OeWQMxK7xb>tR=K*i+jOHJ}Q!FgG8to9=77y@5AiK>d|BibtV zuHlTw00HyOiN^IEy~UXm9Dm}*FDK~8uqzE>mz`K2xtKmSB|d@%*U;psRzXoUo7A;z z8fd;5$EPlS5RX7jUHxDy`8(Sd(OQt6_52&3)WS$4K>I?X$`Far*qQJaJ<1_#V{O

=O~A9f0c$5HS#A|5!mT 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 U@r=-dxuil0XsH?V>0>^B0itt)1ONa4 literal 0 HcmV?d00001 diff --git a/docs/方案/Issue-85-Telegram长轮询与发送连接竞争修复方案.md b/docs/方案/Issue-85-Telegram长轮询与发送连接竞争修复方案.md index 24c81bb..9a519cf 100644 --- a/docs/方案/Issue-85-Telegram长轮询与发送连接竞争修复方案.md +++ b/docs/方案/Issue-85-Telegram长轮询与发送连接竞争修复方案.md @@ -1,81 +1,68 @@ -# Issue #85:Telegram 长轮询与发送连接竞争修复方案 +# Issue #85:Telegram 长轮询阻塞发送最小修复方案 -日期:2026-08-30。代码基线:v4.0.1 / `92ec91b`。状态:待实施。 +日期:2026-08-30。代码基线:v4.1.0 / `e08c3e9`。状态:待实施。 -需求来源:[Issue #85](https://github.com/xmanrui/dsh-im/issues/85)。本文记录风险分析后的最终实施方案和验收要求;其中列出的测试均为待补测试,不能视为已经通过。 +需求来源:[Issue #85](https://github.com/xmanrui/dsh-im/issues/85)。本文只定义关闭该 Issue 所需的最小改动;列出的测试均为待补测试。 -## 1. 结论 +## 1. 决策 -本问题不通过增大发送超时、关闭 keep-alive 或重试最终消息解决。最终方案是: +为每个 Telegram Runtime 创建一个私有、代理感知、最多 4 条同源连接的 Undici dispatcher,并让该 Bot 的长轮询和全部 Telegram HTTP 请求使用它。 -- 每个 Telegram Runtime 创建一个私有、代理感知的 Undici dispatcher。 -- 同一 Bot 的长轮询、普通消息、富消息、草稿、文件上传和文件下载共用该 dispatcher。 -- 每个 Telegram Bot 对同一来源最多使用 4 条连接;一条长轮询最多占用其中一条,至少保留三条并发发送能力。 -- `fetch`、dispatcher 和 `FormData` 使用同一个固定版本的 `undici` 实现。 -- Runtime 明确拥有并释放 dispatcher,不修改进程全局 dispatcher。 -- 不增加发送重试,不修改现有超时和 `CHANNEL_DELIVERY_UNCERTAIN` 语义。 +同时满足: -这个方案只增加一个 Telegram 专用 HTTP 工厂、一个 Runtime 生命周期资源和一个 `FormData` 注入点,不引入通用 Transport 框架、双连接池或用户配置项。 +- `fetch`、dispatcher 和 `FormData` 来自同一个固定版本的 `undici`。 +- Runtime 在正常停止和启动失败时释放 dispatcher。 +- 不修改进程全局 dispatcher。 +- 不增加发送重试。 +- 不修改现有超时和 `CHANNEL_DELIVERY_UNCERTAIN` 语义。 -## 2. 根因边界 +本次不重构生命周期、不建设通用 Transport 框架、不顺带处理其他 hardening 项目。 -### 2.1 已确认的错误链路 +## 2. 原因 -当前 Telegram Runtime 只创建一个 `TelegramApi`,长轮询和所有出站调用都通过它使用默认全局 `fetch`: +当前错误链路是: -1. Runtime 启动 `getUpdates(timeout: 25)` 长轮询。 -2. 收到消息后,`bridge.accept()` 以异步方式继续处理,poller 会立即进入下一次长轮询。 -3. 发送消息、草稿、正在输入状态、文件上传等操作因此会与下一次长轮询并发。 -4. 如果宿主进程的全局 dispatcher、代理或连接路径把这些请求串行化,发送调用会排在长轮询后面。 -5. 普通发送默认 15 秒超时,而长轮询可持续 25 秒,发送先发生超时。 -6. Telegram API 将超时标记为 `deliveryOutcome = unknown`,共享错误链最终转换为 `CHANNEL_DELIVERY_UNCERTAIN`。 +1. `TelegramRuntime` 使用默认全局 `fetch` 创建 `TelegramApi`。 +2. `getUpdates(timeout: 25)` 与消息发送、草稿更新和文件请求并发。 +3. 报告环境的全局 dispatcher、代理或连接路径把同源请求串行化。 +4. 发送请求排在长轮询后,先触发 15 秒超时。 +5. Telegram API 将超时标记为 `telegram-timeout` 和 `deliveryOutcome = unknown`。 +6. 上层正确转换为 `CHANNEL_DELIVERY_UNCERTAIN`。 -因此,`CHANNEL_DELIVERY_UNCERTAIN` 是发送结果确实无法确认时的正确下游表现,不应通过改错误分类掩盖。 +Issue 中“Node 默认 Undici 只有一条连接”不是普遍成立的默认行为。独立 Agent 能恢复发送,只能证明问题位于实际 HTTP 传输路径。修复目标是让 Telegram 不再依赖进程全局传输状态。 -### 2.2 Issue 中不能直接当成根因的部分 +## 3. 范围 -“Node 默认 Undici 只有一条 HTTP/1.1 连接”并不是正常默认配置。Undici 默认 Agent 会为同一来源使用 Pool,并可在已有连接繁忙时建立新连接。独立 Agent 能改善报告环境中的表现,说明问题位于 HTTP 传输路径,但不能单独证明默认连接池固定为一条连接。 +本次包含: -更准确的工程根因是: +- Telegram Bot API 长轮询和出站请求。 +- Telegram 文件上传和平台文件下载。 +- 每个 Runtime 私有的 dispatcher。 +- `HTTP_PROXY`、`HTTPS_PROXY`、`NO_PROXY` 及对应小写变量。 +- `TelegramApi` 的 `FormData` 注入点。 +- 正常停止和启动失败时的资源释放。 +- 核心回归、真实 multipart、基本资源所有权和发布包测试。 -> dsh-im 明知 Telegram 长轮询与出站请求会并发,却让两类请求共同依赖进程中可变、不可控的全局 HTTP 传输策略。 +本次不包含: -实际触发因素可能是宿主安装过自定义全局 dispatcher、代理连接池受限、连接器异常,或特定网络路径发生串行化。修复目标不是猜测报告环境的唯一配置,而是让 Telegram 的并发能力不再依赖该全局状态。 +- `start()` / `stop()` generation 或状态机重构。 +- poll 崩溃后的新清理框架;继续由现有 supervisor 重连并调用 `stop()`。 +- `inspectTelegramToken()` 的网络策略调整。 +- Token、代理凭据和嵌套错误的通用脱敏框架。 +- 双连接池、请求优先级或可配置连接数。 +- 其他 IM 渠道改造。 -## 3. 范围与非目标 +## 4. 最小实现 -| 项目 | 决定 | -| --- | --- | -| 修复范围 | Telegram Bot API、Telegram 文件上传和平台文件下载 | -| dispatcher 作用域 | 每个 Telegram Runtime / Bot 一个私有实例 | -| 同源连接数 | 固定 4 条,不新增用户设置 | -| 代理 | 支持 `HTTP_PROXY`、`HTTPS_PROXY`、`NO_PROXY` 及对应小写变量 | -| 全局 dispatcher | 不读取、不替换、不修改 | -| 发送超时 | 保持现有默认值 | -| 长轮询超时 | 保持现有 25 秒及现有超时余量 | -| 发送重试 | 不新增,防止消息重复 | -| 错误分类 | 保持现有 uncertain 语义 | -| 双连接池 | 不做;一个 4 连接池已经能隔离全局状态并满足并发 | -| 通用 Transport 抽象 | 不做;只增加 Telegram 专用工厂函数 | -| UI 和配置迁移 | 不涉及 | +### 4.1 依赖 -## 4. HTTP 实现 +增加精确运行时依赖 `undici: 7.29.0`。该版本满足项目 Node `>=22.19` 的运行条件。 -### 4.1 固定同一份 Undici 实现 +`undici` 必须作为 Host bundle 的外置运行时依赖,避免源码环境可用但发布包无法解析,或被 esbuild 打入 bundle 后产生另一份实现。 -增加精确版本运行时依赖 `undici@7.29.0`。该版本要求 Node `>=20.18.1`,低于项目当前的 Node `>=22.19` 下限。 +### 4.2 Telegram HTTP 工厂 -不能采用以下组合: - -```js -globalThis.fetch(url, { dispatcher: npmUndiciAgent }); -``` - -也不能把全局 `FormData` 直接交给 `undici.fetch()`。Undici 明确要求 `fetch` 与 `FormData` 来自同一个实现;混用不同版本或不同实现创建的 Web API 对象可能抛错,文件上传是最容易受影响的路径。 - -### 4.2 新增 Telegram 专用工厂 - -新增 `src/channels/telegram/telegram-http.mjs`,只提供一个小型工厂函数: +新增 `src/channels/telegram/telegram-http.mjs`: ```js import { @@ -84,12 +71,9 @@ import { fetch as undiciFetch, } from 'undici'; -const TELEGRAM_HTTP_CONNECTIONS = 4; - export function createTelegramHttpTransport() { - const dispatcher = new EnvHttpProxyAgent({ - connections: TELEGRAM_HTTP_CONNECTIONS, - }); + const dispatcher = new EnvHttpProxyAgent({ connections: 4 }); + let destroyed = false; return { fetchImpl: (url, options = {}) => undiciFetch(url, { @@ -97,371 +81,137 @@ export function createTelegramHttpTransport() { dispatcher, }), FormDataImpl: UndiciFormData, - destroy: () => dispatcher.destroy(), + async destroy() { + if (destroyed) return; + destroyed = true; + await dispatcher.destroy(); + }, }; } ``` 约束: -- `dispatcher` 必须在展开 `options` 后写入,调用方不能意外覆盖 Runtime 所拥有的 dispatcher。 +- 使用 `EnvHttpProxyAgent`,不使用会绕过标准代理变量的裸 `Agent`。 +- `dispatcher` 写在 `...options` 后,调用方不能覆盖它。 - 不调用 `setGlobalDispatcher()`。 -- 不设置 `keepAliveTimeout` 或 `keepAliveMaxTimeout`;Issue 建议中的 `30`、`60` 在 Undici 中是毫秒,不是秒,而且本问题不需要靠调整它们解决。 -- transport 不记录请求 URL;Telegram Token 位于 URL path 中。 -- `destroy()` 由资源所有者调用,transport 本身不实现重试或超时。 +- 不调整 keep-alive 参数,不记录包含 Bot Token 的请求 URL。 -### 4.3 为什么使用 EnvHttpProxyAgent +### 4.3 TelegramApi -裸 `Agent` 会绕过宿主通过标准代理环境变量表达的网络策略。`EnvHttpProxyAgent` 会读取: +构造函数增加 `FormDataImpl = globalThis.FormData`,保存为私有字段;文件上传从 `new FormData()` 改为 `new this.#FormDataImpl()`。 -- `HTTP_PROXY` / `http_proxy` -- `HTTPS_PROXY` / `https_proxy` -- `NO_PROXY` / `no_proxy` +Runtime 注入配套的 `undici.fetch + undici.FormData`。其他直接构造 `TelegramApi` 的调用继续默认使用全局 `fetch + FormData`,保持兼容。 -没有代理变量时直接连接;存在代理变量时复用 Undici 已有代理机制,不在项目内自行解析代理地址或实现 CONNECT。 +不修改请求 payload、超时、redirect、文件限制和错误映射。 -任意通过代码安装的全局 dispatcher、拦截器或自定义 connector 不会自动继承。这是有意的隔离边界,否则会重新引入 Issue #85 的全局耦合。特殊嵌入环境通过现有 `createApi`、`fetchImpl` 以及新增的 `createHttpTransport` 注入点覆盖,不新增用户界面配置。 +### 4.4 TelegramRuntime -## 5. TelegramApi 调整 +增加 `#createHttpTransport` 和 `#httpTransport`: -修改 `src/channels/telegram/telegram-api.mjs`: +- 构造函数默认 `createHttpTransport = createTelegramHttpTransport`。 +- `#start()` 在 `createApi` 前创建并登记 transport。 +- `createHttpTransport` 和 `createApi` 必须位于启动错误处理范围内。 +- `createApi` 接收 `fetchImpl` 和 `FormDataImpl`。 -1. 构造函数增加 `FormDataImpl = globalThis.FormData`。 -2. 校验 `FormDataImpl` 可构造并保存为私有字段。 -3. `#sendArtifact()` 使用注入的实现创建 multipart body。 -4. 直接构造 `new TelegramApi({ token })` 时仍使用全局 `fetch + FormData`,保持已有调用兼容。 -5. Runtime 注入时使用 `undici.fetch + undici.FormData`,保证实现匹配。 +`stop()` 只增加以下清理: -示意: +1. 捕获并清空当前 `#httpTransport`。 +2. 沿用现有 abort 及 poll/bridge 有界等待。 +3. 调用捕获 transport 的幂等 `destroy()`。 +4. 销毁失败只记录固定 warning,不让 `stop()` 抛错或覆盖原始启动错误。 -```js -constructor({ - token, - fetchImpl = fetch, - FormDataImpl = FormData, - baseUrl = DEFAULT_BASE_URL, - fileUploadTimeoutMs = DEFAULT_FILE_UPLOAD_TIMEOUT_MS, -}) { - // 现有校验保持不变 - this.#fetch = fetchImpl; - this.#FormDataImpl = FormDataImpl; -} +本次不改变现有 `start()` / `stop()` 状态机;既有启动取消竞态留给后续 hardening。 -async #sendArtifact(/* ... */) { - const payload = new this.#FormDataImpl(); - // 沿用现有 append 和错误映射 -} -``` +### 4.5 保持不变 -不改变请求 payload、超时、redirect 策略、文件大小处理和 provider 错误映射。 +- 普通发送默认 15 秒超时。 +- `getUpdates` 为 25 秒长轮询并保留现有 10 秒余量。 +- 文件上传默认 120 秒超时。 +- timeout 继续映射为 `telegram-timeout + deliveryOutcome: unknown`。 +- 上层继续产生 `CHANNEL_DELIVERY_UNCERTAIN`。 +- 最终消息、编辑和文件上传均不自动重试。 -## 6. TelegramRuntime 调整 +## 5. 文件改动 -### 6.1 创建和注入 - -修改 `src/channels/telegram/telegram-runtime.mjs`: - -- 增加 `#createHttpTransport` 和 `#httpTransport`。 -- 构造函数默认 `createHttpTransport = createTelegramHttpTransport`,作为生命周期测试和特殊嵌入环境的最小注入点。 -- `#start()` 在 Harness 就绪后创建 transport,并复用现有 `createApi`: - -```js -const transport = this.#createHttpTransport(); -this.#httpTransport = transport; - -const api = this.#createApi({ - token: this.#token, - fetchImpl: transport.fetchImpl, - FormDataImpl: transport.FormDataImpl, -}); -this.#api = api; -``` - -transport 必须在调用 `createApi` 前登记到 Runtime;这样 `createApi` 或随后任意启动步骤抛错时,统一的 `stop()` 都能释放它。 - -### 6.2 正常停止顺序 - -`stop()` 按以下顺序执行: - -1. 捕获当前 `pollTask`、bridge 和 transport。 -2. 立即把 `#httpTransport` 清空,防止重复销毁或旧周期销毁新周期资源。 -3. abort 当前 Runtime 的 `AbortController`。 -4. 清空 `#abortController`、`#pollTask`、`#api`、`#bridge`。 -5. 沿用现有有界等待,等待 poll 和 bridge 退出。 -6. 调用捕获的 `transport.destroy()`。 -7. transport 清理失败只记录脱敏 warning,不覆盖原始启动或运行错误,也不让 `stop()` 失败。 -8. 最后进入 `idle`。 - -这里使用 `destroy()` 而不是 `close()`:停止 Runtime 本身就是取消语义,`close()` 可能继续等待尚未返回的 25 秒长轮询。先 abort、再有界等待、最后 destroy,可以保留现有清理窗口,又不会让停止过程无限挂起。 - -### 6.3 启动失败和竞态 - -以下路径全部复用同一清理逻辑: - -- `getMe` 失败。 -- Token 身份不匹配。 -- Webhook 已配置。 -- 命令菜单以外的启动步骤失败。 -- transport 或 `createApi` 创建失败。 -- 启动过程中外部调用 `stop()`。 -- 重连时先停止旧 Runtime,再创建新 transport。 - -异步回调必须捕获本次启动使用的 controller 和 transport,并在操作字段前比较身份。旧 poll 或旧清理任务不能销毁重启后新建的 transport。 - -### 6.4 poll 意外终止 - -非主动 abort 导致 poll 退出时: - -1. 立即把状态标记为 `failed`,保留原始错误。 -2. 停止接受新的发送测试。 -3. 给已开始的 bridge 工作保留现有有界清理窗口。 -4. 随后 abort 本启动周期并销毁它拥有的 transport。 -5. 清理过程不能把 `failed` 状态覆盖成 `idle`;后续由现有连接 supervisor 触发重建。 - -这部分可提取一个 Runtime 私有清理函数复用,但不新增公共生命周期抽象。 - -## 7. Token 检查的一致性 - -`inspectTelegramToken()` 是接入机器人前的 `getMe` 调用。如果 Runtime 使用环境代理,而 Token 检查仍使用另一套全局网络策略,可能出现检查和运行行为不一致。 - -调整规则: - -- 调用者显式传入 `fetchImpl` 时继续使用它,函数不拥有也不释放该 fetch 的资源。 -- 未传入 `fetchImpl` 时,临时创建 `createTelegramHttpTransport()`。 -- 使用其 `fetchImpl` 和 `FormDataImpl` 创建一次性 `TelegramApi`。 -- 无论成功或失败,都在 `finally` 中销毁临时 transport。 -- 不能把 Bot Token 或完整请求 URL写入错误和日志。 - -Token 检查不与已运行 Bot 共享 dispatcher,避免短生命周期检查错误地关闭 Runtime 连接。 - -## 8. 依赖、构建和文档改动 - -| 文件 | 计划改动 | +| 文件 | 改动 | | --- | --- | -| `package.json` | 增加精确运行时依赖 `undici: 7.29.0` | -| `package-lock.json` | 更新锁文件 | -| `src/channels/telegram/telegram-http.mjs` | 新增 Telegram 专用 transport 工厂 | -| `src/channels/telegram/telegram-api.mjs` | 增加匹配的 `FormDataImpl` 注入和一次性 Token 检查 transport | -| `src/channels/telegram/telegram-runtime.mjs` | 创建、持有并释放私有 transport | -| `plugin-src/host/build.mjs` | 把 `undici` 加入 `externalRuntimePackages`,不打入 Host bundle | -| `scripts/verify-package.mjs` | 校验 `undici` 为精确直接依赖,并验证 bundle 外置约束 | -| `THIRD_PARTY_NOTICES.md` | 增加 Undici 许可信息 | -| `README.md`、`README.en.md` | 简述 Telegram 私有连接池及标准代理变量支持 | -| `CHANGELOG.md` | 记录 Issue #85 修复、网络策略边界和无自动重试 | -| `lib/index.js` | 通过现有构建命令重新生成,不手工编辑 | +| `package.json`、`package-lock.json` | 增加并锁定 `undici@7.29.0` | +| `src/channels/telegram/telegram-http.mjs` | 新增私有 transport 工厂 | +| `src/channels/telegram/telegram-api.mjs` | 注入匹配的 `FormDataImpl` | +| `src/channels/telegram/telegram-runtime.mjs` | 创建、注入和释放 transport | +| `plugin-src/host/build.mjs` | 外置 `undici` | +| `scripts/verify-package.mjs` | 校验直接依赖和 bundle 外置 | +| `test/channels/telegram/telegram-http.test.mjs` | 核心传输回归 | +| `test/channels/telegram/telegram.test.mjs` | API 和 Runtime 最小测试 | +| `THIRD_PARTY_NOTICES.md`、`CHANGELOG.md` | 许可证和修复记录 | +| `lib/index.js` | 通过现有构建命令生成 | -## 9. 自动化测试方案 +## 6. 最小测试集 -新增 `test/channels/telegram/telegram-http.test.mjs`,并在现有 `test/channels/telegram/telegram.test.mjs` 补充 API 和 Runtime 测试。所有网络测试只使用本地 server,不访问真实 Telegram。 +### 6.1 长轮询不阻塞发送 -### 9.1 核心回归:长轮询不能阻塞发送 +使用本地 server 和真实 transport:保持 `/getUpdates` 不返回,再调用 `sendChatAction`,断言发送在释放长轮询前已经完成。使用事件顺序断言,不设置严格耗时阈值。 -测试步骤: +测试须隔离大小写两套代理环境变量,避免 CI 环境代理污染本地请求。 -1. 启动本地 HTTP Server。 -2. 构造使用真实 Telegram transport 的 `TelegramApi`,把 `baseUrl` 指向本地 server。 -3. server 收到 `/getUpdates` 后记录事件并保持响应未完成。 -4. 确认长轮询已经开始后调用 `sendChatAction`。 -5. server 立即响应发送请求。 -6. 断言 `sendChatAction` 在释放 `/getUpdates` 前已经完成。 -7. 最后释放长轮询并清理 server 和 transport。 +### 6.2 不依赖全局 dispatcher -断言依据是 Promise 和服务端事件的先后顺序,不使用“必须在 500ms 内完成”之类容易抖动的性能阈值;只保留一个较宽的失败截止时间防止测试挂死。 +在独立子进程中把全局 dispatcher 限制为一条连接并占住它,断言 Telegram 私有 transport 的请求仍能完成。 -### 9.2 连接容量 +### 6.3 真实 multipart -同时阻塞: +通过真实 `undici.fetch` 向本地 server 执行一次 `sendDocument`,验证 multipart boundary、`chat_id`、文件名、媒体类型和二进制内容。其他 payload 继续由现有 fake fetch 测试覆盖。 -- 1 个 `getUpdates`。 -- 3 个短 API 请求。 +### 6.4 基本资源所有权 -断言四个请求都已经到达 server,再统一释放。这证明长轮询占用一条连接时仍有三条独立发送连接。 +通过 fake transport 覆盖四种情况: -不要求第 5 个请求必须排队,避免测试绑定 Undici 不必要的内部调度细节。 +- 正常 `start → stop` 只销毁一次。 +- 连续两次 `stop()` 不重复销毁。 +- `getMe` 失败会销毁并保留原始错误。 +- `createApi` 抛错仍会销毁。 -### 9.3 全局 dispatcher 隔离 +不在本次增加启动取消、重启代际和 poll 崩溃竞态矩阵。 -在独立子进程中: +### 6.5 现有语义与发布包 -1. 把全局 dispatcher 设置为 `connections: 1`。 -2. 通过全局 fetch 发起一个不会立即返回的请求,占住全局连接。 -3. 创建 Telegram 私有 transport。 -4. 断言 Telegram 请求仍然到达并完成。 - -该测试必须使用子进程,不能在主测试进程中修改全局 dispatcher 后依赖恢复,以免并行测试互相污染。 - -### 9.4 代理与 NO_PROXY - -使用独立子进程、本地目标 server 和本地 HTTP 代理: - -- 设置 `HTTP_PROXY` 后,请求必须经过代理。 -- 设置 `NO_PROXY` 匹配目标地址后,请求必须直连。 -- transport 销毁后代理侧连接最终关闭。 -- 测试环境变量不泄漏到其他测试。 - -不在测试中实现企业 TLS 中间人或连接池;只验证项目选择的标准代理语义。 - -### 9.5 真实 multipart 上传 - -不能只保留 fake fetch 对 `FormData` 字段的检查。新增通过真实 `undici.fetch` 发往本地 server 的集成测试: - -- `sendDocument` 的 `Content-Type` 含合法 multipart boundary。 -- 正确包含 `chat_id`、`message_thread_id` 和 `reply_parameters`。 -- 文件名、媒体类型和二进制内容正确。 -- `sendPhoto` 覆盖相同路径。 -- 请求能够完成,不出现跨实现 `FormData` 错误。 - -现有注入 fake fetch 的单元测试继续保留,用于检查 API payload;新测试只补真实序列化和传输风险。 - -### 9.6 Runtime 生命周期 - -通过 `createHttpTransport` 注入带计数器的 fake transport,覆盖: - -| 场景 | 必须断言 | -| --- | --- | -| 正常 `start → stop` | transport 只销毁一次 | -| 连续两次 `stop()` | 不重复销毁、不抛错 | -| `getMe` 失败 | 已创建 transport 被销毁 | -| Bot 身份不匹配 | transport 被销毁,原错误保留 | -| Webhook 已配置 | transport 被销毁,原错误保留 | -| `createApi` 抛错 | transport 仍被销毁 | -| 启动期间调用 `stop()` | 启动被取消,无未处理 rejection | -| `start → stop → start` | 旧 transport 在新周期前销毁,两者互不影响 | -| poll 非主动失败 | 状态保持 `failed`,对应 transport 最终销毁 | -| 两个 Runtime 并存 | 停止其中一个不会销毁另一个的 transport | - -测试不能通过读取活跃句柄数量推测资源是否释放;应直接验证注入资源的所有权和调用次数。 - -### 9.7 Token 检查生命周期 - -- 默认路径成功时销毁一次临时 transport。 -- `getMe` 失败时仍销毁一次。 -- 显式传入 `fetchImpl` 时不创建默认 transport。 -- Token 检查和 Runtime 使用独立资源,关闭前者不影响后者。 - -### 9.8 错误语义和重复投递 - -保留并加强现有超时测试: - -- transport timeout 继续映射为 `telegram-timeout`。 -- `deliveryOutcome` 继续为 `unknown`。 -- 上层继续得到 `CHANNEL_DELIVERY_UNCERTAIN`。 -- 一次发送只调用一次 fetch。 -- 不自动重试 `sendMessage`、`sendRichMessage`、`editMessageText` 或文件上传。 -- 不改变现有 15 秒发送超时和 120 秒文件上传超时。 - -### 9.9 Token 泄漏 - -分别模拟: - -- 连接失败。 -- 代理失败。 -- poll 失败。 -- 文件上传失败。 -- dispatcher 销毁失败。 - -检查 error message、stack、cause 的安全格式和 logger 参数序列化结果,均不能包含完整 Bot Token 或 `/bot/...` URL。 - -### 9.10 发布包和 Node 版本 - -至少执行: +复用现有测试确认 uncertain 错误语义和“不发送 fallback 副本、不重试”保持不变,然后执行: ```text -Node 22.19:npm run check -Node 24:npm run check +npm run check npm pack -在空临时目录安装生成的 tarball -导入发布包 lib/index.js +在空临时目录安装 tarball +导入 lib/index.js 通过发布包执行一次本地 Telegram transport 请求 ``` -发布包 smoke test 用于发现: +## 7. 验收标准 -- `undici` 未声明为运行时依赖。 -- `undici` 被错误打入 Host bundle。 -- lockfile 与清单版本不一致。 -- 生成文件没有更新。 -- 源码环境能运行、干净安装后却无法解析依赖。 +满足以下条件即可关闭 Issue #85: -## 10. 风险与闭环 +- `/getUpdates` 未返回时,短 Telegram API 请求仍能先完成。 +- Telegram transport 不受受限全局 dispatcher 影响。 +- `sendDocument` 通过真实 multipart 成功。 +- 正常停止、重复停止和启动失败不会重复销毁或遗留 transport。 +- 标准代理变量仍由 Undici 官方代理实现处理。 +- 现有 timeout、unknown delivery 和 `CHANNEL_DELIVERY_UNCERTAIN` 语义不变。 +- 没有新增最终消息或文件上传重试。 +- 完整构建、测试和干净发布包安装通过。 -| 风险 | 等级 | 方案内处理 | 验证方式 | -| --- | --- | --- | --- | -| 私有 Agent 绕过代理 | 高 | 使用 `EnvHttpProxyAgent` | 代理与 `NO_PROXY` 子进程测试 | -| 不继承自定义全局 dispatcher | 中 | 明确隔离边界,保留注入点,不偷偷回退全局 | 自定义 transport 注入测试和文档 | -| Node 内置 fetch 与 npm Agent 不兼容 | 高 | fetch、dispatcher、FormData 全部来自同一固定依赖 | Node 22/24 与真实 multipart 测试 | -| 固定 4 连接仍可能排队 | 中 | 一条 poll + 三条发送;不无限开连接 | 一加三并发屏障测试 | -| 多 Bot 增加 socket 上限 | 低 | 每 Bot 固定最多 4 条且按需建立 | 双 Runtime 所有权测试 | -| 启动失败泄漏 dispatcher | 中 | 创建后立即登记,所有失败统一清理 | 各启动失败测试 | -| stop/start 销毁错代资源 | 中 | 捕获本周期资源并做身份比较 | 启停竞态和重启测试 | -| destroy 导致在途发送 uncertain | 中 | 先 abort 和有界等待;只在停止或运行周期失败时 destroy | 停止期间在途请求测试 | -| 自动重试产生重复消息 | 高 | 本期明确不增加重试 | fetch 调用次数断言 | -| Token 出现在 Undici 诊断中 | 高 | 不记录 URL,增加日志脱敏验收 | 多错误路径 Token 泄漏测试 | -| 修改全局 dispatcher 的测试污染套件 | 中 | 使用独立子进程 | 并行运行完整测试套件 | -| 外部代理本身只允许单路并发 | 残余 | 应用无法绕过外部基础设施限制,保持明确超时和诊断 | 文档说明;不承诺代码内解决 | +## 8. 后续加固 -## 11. 明确不采用的替代方案 +以下内容单独建 issue,不阻塞 #85: -### 11.1 只增加测试、不调整设计 +- Runtime 生命周期串行化或 generation 机制。 +- Telegram Token、代理凭据和 transport error 统一脱敏。 +- `inspectTelegramToken()` 使用同一网络策略。 +- poll 崩溃后的即时资源回收。 +- 多聊天、大文件和短消息混合负载评估。 -测试只能暴露问题,不能消除代理绕过、跨 Undici 实现混用和生命周期泄漏,因此不足以作为最终方案。 - -### 11.2 增大发送超时 - -只会延迟失败;如果请求仍排在长轮询后面,无法保证任何固定值足够,还会让用户更晚看到错误。 - -### 11.3 自动重试最终发送 - -超时发生在请求结果未知的阶段,Telegram 可能已经收到消息。盲目重试会产生重复消息或重复文件。 - -### 11.4 `Connection: close` - -会牺牲所有请求的连接复用,增加 TLS 建连成本,不能表达清晰的资源所有权,也不能可靠继承代理策略。 - -### 11.5 等待 bridge 完成后再继续 poll - -会破坏当前交互能力:Harness 等待用户回答时,Telegram 必须继续拉取下一条 update 才能收到答案。 - -### 11.6 poll 和 send 分成两套连接池 - -会增加两份代理配置、生命周期和测试面。一个 4 连接的私有 dispatcher 已经保证长轮询不会独占所有连接,没有必要增加第二套资源。 - -### 11.7 修改全局 dispatcher - -会影响其他 IM 渠道、更新检查和宿主自身网络调用,并可能覆盖宿主已有代理或安全策略,风险明显大于局部修复。 - -## 12. 实施顺序 - -1. 增加并外置固定版本的 `undici` 依赖,更新清单、锁文件、校验器和第三方声明。 -2. 新增 Telegram HTTP 工厂及其直接并发、代理和全局隔离测试。 -3. 为 `TelegramApi` 增加匹配的 `FormDataImpl`,补真实 multipart 测试。 -4. 在 Runtime 中接入 transport 所有权和正常停止清理,补启动失败和重启测试。 -5. 处理 poll 非主动失败的有界清理和代际竞态测试。 -6. 让默认 Token 检查使用一次性同策略 transport,补成功和失败清理测试。 -7. 运行 Telegram 现有测试,确认错误分类和交互轮询行为没有变化。 -8. 更新中英文文档和 changelog,通过 Node 22.19、Node 24、`npm run check` 与发布包 smoke test。 - -## 13. 验收标准 - -以下条件全部满足才能认为 Issue #85 已彻底修复: - -- `getUpdates` 被无限期阻塞时,短 Telegram API 请求仍能在释放 poll 前完成。 -- 一条 poll 与三条并发发送可以同时到达服务端。 -- 即使全局 dispatcher 被限制为一条连接,Telegram 私有 transport 仍可正常请求。 -- 标准代理和 `NO_PROXY` 行为正确。 -- 文档、图片上传使用真实 multipart 成功,不存在混用 `FormData`。 -- 正常停止、启动失败、重连和 poll 崩溃均不泄漏或误销毁 transport。 -- 现有 Harness 交互场景继续在原 Turn 未结束时拉取回答 update。 -- 现有 timeout、unknown delivery 和 `CHANNEL_DELIVERY_UNCERTAIN` 语义保持不变。 -- 没有新增最终消息重试或重复投递。 -- 任何日志和错误中都没有完整 Telegram Token。 -- Node 22.19、Node 24、完整测试、构建校验和干净发布包安装全部通过。 - -## 14. 参考资料 +## 9. 参考资料 - [Issue #85](https://github.com/xmanrui/dsh-im/issues/85) -- [Undici Agent](https://github.com/nodejs/undici/blob/main/docs/docs/api/Agent.md) - [Undici EnvHttpProxyAgent v7.29.0](https://github.com/nodejs/undici/blob/v7.29.0/docs/docs/api/EnvHttpProxyAgent.md) - [Undici Fetch v7.29.0](https://github.com/nodejs/undici/blob/v7.29.0/docs/docs/api/Fetch.md) -- [Undici v7.29.0 package.json](https://github.com/nodejs/undici/blob/v7.29.0/package.json) - [Node.js fetch 自定义 dispatcher](https://nodejs.org/dist/latest/docs/api/globals.html#custom-dispatcher)

邮箱企业微信群 微信 小红书 WhatsApp longmanr307@gmail.com + dsh-im 企业微信群二维码 + 微信二维码