V(q
zEGMvL;jyK^(-X6zusg}UjiHb4Yd6*F@sIK$cjQ5+syy1g@N6cs1MQYNAsq&wHUVL5feG=NJEe%`_D2k*DDSF9&3D@)RT`#XM94Q30EC
zX!VtJ6rC23X$m@&1!3^e?qw$a=`*ohX1-E<@0AZ31PU7aj7;d)!J
znDW)r(ne&4u%ASd85Wf)?k^+I1wBFItbvhGhs}wrm$?9zSs<
zmqwzmsNP151c!GqQ1t#c{fhq9{ajO`3Ml9WL?7AsN^OkG944)fBafvQu_i}Td>uw%ioP&9O^lO%{J
zfG89lrK5e*#&sx1N5P=2eiTGi8)rpQ|G0|tJKQL#a!Hamwjd1Ex=Gp9ct^^?)Qb&7
z$R{1Z>&V0bZO%j_KII-f5{Z@(W6Q3NUaGij#9}k0OC@c7j^FIBxMsLEIeQe|0yzMQ
zDKUY-Y&QWgC>R+GPQJe?9!zX#!=M7|5V)txF7EpY)#UYoYtt~(8fPv;$nW6^J=!Vb
z%4LlLC=iG-3{#e{hs~p)1Z{0_&N3Z?sf~>d8#=y~-MP98-w%2ctwNqXx^w=cPQ~}lpGkk
z$G{u=&j>!^sJDbf%#21x!W*xB7=9t3@Fd494KV3Y>&a_Vq>^W`S#<_j(K%9iVnRlWRDv9k+tKm}
zdW)XcVUHwa|Ecb18Y^3SxA*18Zflj?ph=FpV-vL(dd{-<&PNgfB~tL
zyLYY!fUu-;N;%Q;FI9wyA}mkMl~LlQ;{kIS_o%A#N1?WV+NrIRIG;yGj!T;eQPHjS
zg44pVgM?nMHYef=8HVQ%`<^zP5CmnC70HsMh8KC_R4y{s1#%dwC;=Jb+c@gU+dSRJL)TC0au|W!ha=t}xam^jc^O>Bf@DitIB7ESHtMTxu-d
z4=&6ag)=S&QnBWOVlGw!#k71&e3s-*0SdDbrmQhPK^iZPr00TlB$)wzMU*boLD8jZ
z@l?soQmW~8thr=rcT?t}Er2S{+`%yJzPUiXX;p?OWgpkPwWmKnm0<@0DnOcO>02$>
zNQyA=BCzC;0RzF7=sP035c-jPQ2olU4}e3Zc{dQS?eYh4y;J9PKfH8&B_D_g491b}
zi)v>Ky-K+xe;QN0iNO_TDik9XzpJcYJl<8U{rx6s7
z9K&3BIj>pLCSA}oipBy$CPIbHXdBWBtI#X-3LFHbhcgfY&1Kr;H7tkpLeA{b5Lh@L
z?P@WRqE8UZ;I2Nd2>F&;9^LmYK6?-L~&|
zDgwb%vI_r;!=qamC$=P7pL{1MvA*7W*@$hsVTq^Jew
z5a#ok|17&+p%zF^SD*yqyTt0KUVnV8Rfro^G*7
z(9vyI@vGhoE#+y9lUZ^#hu=mOuaU5$NYx_xNSBT!TMmvImobaJsr?z%!1sOIiT7S$>+XRYe+(dkp!0@1
zkZgNXIs!lYhm`AlO2D92TfD#=-&*Sd!c0fQEAiL>o;i%&s*a;(_U|#jUtv&Kj7iC1
z4=}WLX`XH?AwXjrB1y2{Ea>-c8jJoA3i#R-o`z^$2j3;_`6QC$%$t#oitM~BIX`ZKu
zC=fV3^(`(I`E?)0<*IVBvOghohA
zA=+ApCF`ms4R?91{)h#EAzlF<189N_O{R_HX#!Q&mS#H>ibE5s3S#jIEu*Caj`sI>
zy_or~MO+N~v*(d7M~4D!?`e&3ffz%I<~&O@PEh5wLyAhFMU`zH8714(*U|{`Pjx!_
z^qo>P&TM9P|H<~~oIc%aZ;w(vRny)&Uf<>0P^qOCTpZ|XHZ7W|x^f>q9q1>le)9vW
zBQ4R{-8i7l=g4I^hr3O_pVA2aNpzTn`GW8}Rm4~pe8=f8U8I}PwiQz{C=vlpA85%PGMn%J~lO!&fJvB
z%Ln_7a^E`gKX0(~dj1wUc_Pu-?*8wqyUO>R#^(~lJ3?7}imxWyZe*4(tU1LNO&y(b
zN`adQmO6dCthHn@-lK0m5$tzP39U|MkhXiOT|2N=xs?Id*s_#{P1^Xg`|><08>^)T
z7wvl7lL7X3J?tm1sl#uFt@{IK-iN(HHo^zcygVPu*%w{-?6%pHLEosMW7+--xx7VX
zJFf9^DKFW#3A0yVXq;z81^mihDb#!M3_%ojO&^vv=M><3d&lPnOt!bA&{0OOb~?^j|vmtrtQfo6+kE-
zr@e41?1AG$xQX=RV3m^!Cd`1zj(7X9<{T>ir~%B8o`@Sc$ByWdpruMM5WEc5e35r
zHdDt#iHADl*yGCupqZBnfMjxk9au_^IJLT73Si0A1#2O+An`s?b2k@w6sGa{@K|y%-kcxNr!pwZwlegmX9aPufqAXj@g~M=I!e
zYANiyGxlgjOd}ORWhnVIV4N{i!NhaI8*`D`KvIiLjDnObbOy|t!cnc`T+TfEmI`wb
zLz5?2;Zb44iFLrnfE9tA8(}os%z?81_%oq5edLfv>mxT}iR?(QJ1knTQ%d+WqI&eJ
zi*n9;4a0a|^{n-ehJz5ETR4CwI6$e2uRv*QDDGIKa7c1XXW(Gy4M+4-HqTST(XjP}
z5k${}BoBC9!H9{lDR)>HJMVgF>n6X_V=2)_7fH+sNEM)jxAybmYXMz3-FP7J3+S$=
z;%NXAB74XB{^52(Vz7403f>EHjSre70xX)r%c3<2S$hiycQ7*
zBmv1Zs2?U3WmE$ik5G*mM&Vh&Q=|o+(7CgIWG{x>vx04!hJh)H#p}Q75bE4|ul58j
z5auVDt4!MJJivMxZSBSWd3<<1cALq)l&QUn_UmQfcrDOWDq8U5Is-}*zeVzAhfeS9
zTZ!a6mvo6oAi^p!j*&A(ZEnIz>LeDlT)LgB8SAG@n!yeGbseU672?MexCDJ8hoGdE
zolfgA<{|Yw>(X2ce{MOvE2x^KREb-5k*sk|siwn9HfC%kj8&5fgrBik!+S84=FHDW
zGCkoXfiS)`RAb=oQv)AIaEXf%e|nj|LUQehMnok;7e*(1uXzjo=o3AcKj{k0O#>Z~
z8?@GBk=lLWNizA29oX$UG8kbTEI}jn)8H`)?CQKD_ngP=*M;Z%^K`huH;~mjNas56
z#fQcK)PG^^^O=fXUdZ6l!PVmge?tNJaXe{juxnaKP^4+e5fr{bUuGn*I5j
zZY_BjZHFsOstM)PqI-97>!n67YJ=&P**}+p!MFM5_0s=Sk58hJ-HL2tpHXv#$o=}=
zZ20gou9tICb@ck)eAj*9q}t@rRva^*Svr1fVDeB7W=>rVjLAgfe|x+iOVC&yD6zn7
zDIe3gTHeDyHMux>E-1M@JAu>7U09Lk#J$;gv&;290F-XKuJ&tp*y#3hk8RJ+ZNRIS
zxA&vnvpdk3Hg_B9#dp#su3?aY`;fIl9{GDB#+G0-C?^-nL_*o`=^YEd%YWmr`sm|T
zZ}dFmmzIZh=y5BNW<$h8X>(hULt5QXsHu_D2L$BGuV#wPCn{4%Vn6}KUb
z?7O4qz?yGrYQ-_ZOIn;FKLKqW73m&XxM(GpXkjgf9+yQp&Y0T|
zpPn%RV!H{jzLlCgm_*ihoyUXN<4^-;3!GKjU{@TO;fU|3AK*uZO$!H*mJOtp-Dl4p
z%nUcAJVLn3kEjmg2wh189}$;GcrTs)aq-GilPZ|?z*WBBXpwA+oc*iC;g=H|WknDz
zPJ9EbGZq{XwGMF^rMM8_m-c0CGxIh^?i>-?D`oDuMy14`iNFHtV<6#dQNoqy{!?Xk
ze~b6}kSN;x5D6EUIdcYFez1%h+6g{rc2pP0FmcUnb`R8{L279buj^KudnmOoN~#Yv@0>oc3wAFJZ4ZOUFcf1FK(E27Iaas=tpuA0
zX;Gmc(@2kXztv;_SiZJfx=ut03vN{&L%lLc>+G3v
znUR%B0uo#WWTJeX$3!wqR7Eo$O6*T`6{Sw!bMFhtbIy2}j`r2Y=-z0ZYxzC@S7wQr`-z
zSPXO#Un}rvZE2Lxk=e%onfE8gS+ui5BC;#%E7!)8$=reGyTBg5TrJ!`OIH>k=UgY9*q-gjcKSRX%<~&`Y
z9CI(q(P2VkFjB&ZEJn#ztpm?8Hpu5y1opI^x7^}O0VtjVeM`ucu-
zR!tqTxm)*O1aA)$v|qeA5fhOS(k(m%?%FK=9(l4^bJidCpsJfYsfUKBYX82NxVY&d
zFaOr&)N0r)tmi;ZmJl)z7Lo^*IZ+c
zQOK&8V@;ap`wFY$wWr_?`
zs#F9v!%sS2C`Y>^h7vGx!H(I!p>1MfJ*zj;LHN#Gg_6+BnXS*^r$#K*Q6eS4D=a^6
z7nwRcTW}FHqoF?Kc^Gq@l!D?V4~7<%mQP-r>xP+_ND0>y*eHk;$pBRnNL9*S)J^E&xpOM_fFQrcb#~EH1faYa
zCTFr0rYjlt4$xtd9BWsFjSZQF{r%gT^h4_6w;Q<94y$b66CZt8K^-h*QoHu0C
z_h+h$;}Bgi7LQv?1)(__ArrIVK7dmF;MT9!&%HZMUt=9~1Xyms>X)LAY%1_!vQRvj
z50Q#Na-`zcv_AsLznXZuRIFcmuCz^sl>w6~+NfhYCWVOy6KqK$W8?$oHk8*`3WWg|
zG3ws;#tPFgg^#{*laj$e#-2!cm)RQeEbZs3MNq0~Idyu4u{$!Cn^vh%IV6UDP`h@mQcA+UK6$O?AOr99Sq>v(T#4(GM>7iy|d;I=}0Byn0{v6;e;;hgH5C^%k
zm@`nJ+SAC7U~Jl9R@7BrG2I%j5AOX$iHtA|ulC1r6xV>n9kZZvQMs1zz`NFuf4Frt
zeJ1~8_ppDUI}nSLJDT$;QV?7eIrNMbw)2QJifek1GjTYDEPWT09+}$`9KPy7r~FpM
z)~T|A>!Fe|?ya7WMsxwyKkTb+wS8ODYxcu#RR;R`B!1c!(hcd*I7cFW0#XY}a3850
zwLLpz$XE&wT9^5Nk@uwAYrFI#kv`b2!TcRa#at95wMlA4sC6?7O-<3^3|A~Y%xF}1
zJ+t^5Shutk69bl-1mK5;@RCItTE#KMjVCCwGEC3MANvOy8jYLypsF_QxmJamRfa>c
zr_uu$3$%q}qtYT>EFrT}-S*o&0Ngc&3X)7MYhiLL$o9q&&4Y@(hW&^Gv$RIC3U&8*
z4I`1gUvJI|6t~4YdnxQ?kO}p$uW&(0!}-4TG&t!>fiO{XuPL=~5;bwkMFV~yS(gr#
z!kxR{CPPrvTgXsd7q+Dpt4BLIJ$nQ^D|TeYT&FbSMTp21uTvAnC#x5Syr$O>-~PpOTaVMz
zRUki3yJC4uszEWl7yGQSzNd8jq2e5Z_K;INt(7nf1kNUv
zR!i&`limA-nWI;3>bU|&&gjGQui>>8qB_KicZ^v0E-Yax)P}UXt5IrdrtBiQ9Al`T
zzeA#7h1Wm%X}twh%J*Et7Sm*%*OvJryQK0w7t}9Uvx;%G-Jsb!~{4%zVl&
zKJ~+Ejbdxv^vXnax2DSwE9-e!@=Hit50Z7gia~$2Z7J7Xemd!a5xl2#?XSOx3c|LG8FJH!qoL3=){E3R!;8vI&vKa1gkXIfxmI|)
z{}%I@cFO2;<&ZzvOkpiiZ*~A2H;?z*my$J)Ei$F1$`Zgq*U~1M<Itlgxe
zlpsAW{(6(mbmqLw?=*fqn4KMLbbn5+PVfDhp4>6q&0k*90>38Pbyzotrl
zAdpXD46wmqftbbh#y_O_bTR@~4G=z-jjK`0x16=z$T2&>kw+()V?D{FSoL7;
z3vJckSV-~l_0%?|s?h0j4$&0-NbQ$eX@_phps_;;1jBZV#^^;Gd7-+B3VOgf4Av~N
z?)@@(iw?Yzs-&cZRFP$+JkO#B)te~bMbBxHBTN%9jkN=B8{Z%OTHHXY@sP3
zRA3N8VEz0k)BHx&(yzBQ3_J(D_LxHcJz{cpiVx}X{uA@bEV!l&6_rKjDVz{<>BD(X
zJSC_{P1|10tPy6KOsAe(Y_8I0gO(HLN#%@O`})AJ;EA$L+Yse^)Yp)@(0Xi;o>H%_
zs!=)dc-KPZBWuw+4-zOvgwjrIDY3R%wm6HOuLG+qwRifrgB{v4e9Sca;h~&o^ob&Z
zC6>8caqfis=-iLN4Bw#WR
zvFgkAN{$N$z%zAo%U0&;2)sD&^U1obxYo|GUr0$bMmE=WWj@Y>OlYrEo?>5UUNpEC
zSWY=n26LPRuTGg}UIrbc5gxn7xV^&n>`<9}i{aVpWjObn$*UG=gnYpsZ7^v-D0@nU
zNv%8@uwn)}(MTp|#w2viXv%F_O>YEhjBv?Hd9ImY!falEq64^JVe)8
zk+>S7=mQz33q6^ad*Hb+m}g=N%mcD!&=g3Y`w0}o+uu%
z(WE1!V@o~(hc)#v&vcb`NqRP{mX+G5+cbj(gSu;+>>7|Q=`ptGF&(?+%u*lYxZOJm
zLX&e5$zmnCs@6^VQ;o6-mXR2w34G$a$HXjd0uETu(Y0e&N
zkKr^D_>gJDvmdEESzHwSL3hOEctS}!V
zUR@e59_ZafUj}*QU-$4z7@^rB@2taCUM}Wc_n6%RQ^=2E(3vabRaNluzOtq`8;R;#
zoxlAhl(w$RqwM^i&Ha)7|H$UzPS#fM*}Oshy%#Zv`reCR(AN&ONSd#l0rPQb2%uv?
z>UM$g(9V{<561au7$t6E(wt-k(k!608i7q7oMvrVbRmSD|IX?Y*Q=sCj-pIlSueUJ
zza5W`7Y}Wsv}k%26#OLb-u$9GEZC@t10Ah8Vc
zopw6z?~W%wMT)IFulDilw{lbaBmh&ZR4=I4wqh8CAg%-}@>nYoN4PP#W#Ou&u}Kf3_WmnD<%y=P-$fhn(c0G6!FNI
z4)EGCXo=dbfjEHyW*DQIXaW38DqwrW&$zzYy-XtY!18SR
z9JK|&^`?6uu#i1ARwWGp-PRaljZiallH&2*J!H-a+@yZZ9EKP+NP!x>S;gyq#ca`+
z9O0a**n?Q4r{v~k#wxW?RLa0xNidNO4;ynwgEy~!-e>D?1n%FAZ+CbM_lH$dbvpJ_
zRo<)0_e%MTy#EAuAW^qYq@WLjlD93n`>oU4NZt|OCH26vC&+%NTP-uH2(bCggvZQ{
z>C5>L`06Hw`N!Z0h*WookOB;Emy)V^yih!w%a`XH%Eci;7u_F}
ztuN-cGeH_Myt43w5Xm>FdIdgc(^Yb$SD?zDROE1#xn~!*RNPzY2vOGMRpy5z9$QSR
zZlRt#vP`T~{p}CLVrx4}y#|Uh)k{bM2$QB_?VSMV(qd6Yh<*=m6OWlgVdga
zP6Po6O%mnyi)zg1j0TQ}H95TXQSWSdc$)3WU5++xWS_h{y0pSvgXRToOuWlv=UmyC
z&S_riyNSvI+TyJjb0Qq)Y8U-?+xkb(j4Ui7W%&^j>`U&D@PpwAn#aK77yYaD*Ud4qZxu?59=~$!V
zsywkn4!u*C)|Kc=3#LV~v<0*V>l;u-&CpSkRburzphey9&>)iW*UknyOawYZ+P1?g
z#-1yIS>)I^7CiwPpkSU}hGQ}N%+EJqD^a>|y#&FRX^)GO3>-+n`<1`fbbi87U=i75
zKp5B}%rGgC2(VD^(9**CXg|PS1wQ>y0g)aiWZD44j3LijHVYD^SWx&olEp4TjMnr$
zbO#tTXNGcr0+k{u;hopUg0bAk=Fp77jRmbt0`fh<7%;izdU>cZw40^VVj=CMPmrN8JA*O*y%`;XnzFjqE!c#vvD&y@QN(ZO0&A?38PVv2N*B)VtSTl0BVTA22uk>t~{gaXiQua$_OhLkL4(HYLA0f3ZW4UTmPg|9y%DwBWlc3NMaNvZ8awf?Lnz_+a*RL_*
zIrN4>H{)gEfKo&!l%C;3rn`&T3I#w%w)A-Mh;bzW52n-LR6pv#`Gl+2;dx0-(Jf-Y
zmKIcwteG0v-AzO4&dMV{5ph3)NPBk(doSP);3_q80&(^(z}m~jyRD6ig?1ZsO7z_r
ze`3?Egxy3LJMq7`BLsF8hwPK
zILO8I6_jpf{V=M_!`|a(?`a%$a|Dk=TV6)j7Q%+B{zqn3?Fp{qcBNv-3jN725f-tB-1Gp`~Kj
zUMlc%#u{4b?N$9^=PukY!d}IhDKqE{!Ghp&+x@(>1M-6xO|I@L88^HmC{o$ab)wS7
z^BW8zP*X^WjY;%uDU^!BN@(gRdZ?++7D9h4p@5ae2?$GrO5Uwu`mS`_z)R)vlg!ru
zGNUeBq|D)OEsV7Whk*%qMmuUHDt8bY=A|WVbM*^f6rw+wVD6D`90xTJOZJ0oaAqJ0~`rlNx5nX
za?aTLrBFMYMkg!yT~D8r2S>z7ER-yRz#p5Ucm>OO%)QJ2MI=gxIS_)4n!;2!_qHp2
z+0U5~?~Nl0>kAi1H1|1SVWHMZD1}wcUaFbH6incUz?1X-iha3gmG@)YsgWMpt-#K8
zbY8x=)ejq4D?j$}e7~S&L#yH*8KsM3ihrjU`(o#DF2ZEnHsBuhMYa2X>K)MzG1#Pc
zv8?a!5-k6H_lp02TB1L9ug*^9R*rP84*GWQHBN`hs?Dk>g4dGjhj^m-0W#cM>Co8E
z{Jvo3P<-OGW1(fiVA4=)1sT02(E!pkY_j4bF}sU=#0s;DpL6Qk
z#oI@u6|$N2v`t(lQ&O0?B(On<1)W<&=LY7BbZNJ-_DQvpls$!(Qq_udjju8a3l$mt
zX2ZggwU$VPdX6#c1670vxfPh+C
zQi4Q9k8xB{1eNb*zI^I?Jzlsv8`3Z0Icl$Mg4>E%_)O1z_NbG^ETXL?ib6za`P_0h
zCiEcJ-$^A|@ALKeLN{+6x9o1{tH99ww6gD7^Wx;a-sPzrOphC>QoaLh1(3EVS094u
zTC;i-x5pmmXtQ3Dq#3Q5epJ|gHBBV!!FO$GMMx2-`858DWOUioP$?!Yk^S0%;LTD+
zj^orrok|&;lhjDYI5Y9GHu*eH5Wu^sOjx{gIGs#>dqLJjNUnZAf1>Va^DTKLQ5si?D}p~cCmEBy5zXJ}Yf_h%PP-Ph;lWpD0d
zoR9jSJej$_Pn@r;&P`yru0%u1Vx{JYvpGpsclu%qC9S^2fFWPmxH{QR#n~5~Q*lsi
zeeC}zq<)I&`Yz!2HAw@5Nhamc?Q+a2wwD_)aFWKn7E37^GefuuzkAI(MAKtBV!acd
z*!1%4_?{$ry_sRHGjp$Eq<8uoXjY)#?{50d
z;zwE0JDYr|(bg4XPz?AiE?>SFr+>I4UzDU4xvbTxL8x>@bZY
zVM}>*$7m9rvN|>gZR@)Zb+9t0wVZkgH+mOfHTpUz2lmi|XQ5KXI6>(g`eA9Iq!seh
zmx~J&DiXT(sc%a3`Nl__{(2^f8u6w(g~nG_bDYe%l%JNcAo{{E1u01N`WGh`rc>Je
zkR7Rn)7if}YWJn}VPZx}*E4+_W6(l)+jGN4@C!r+;s{L!xj~5o8Oi+a3!N^lHgV8}
z5Jk;f!fxW*zY+1!_KnAzII60Y!^~a0Bw!jLnbL9e@~peaKmvi5AQ#geRyW9&;AP5I
zhq|Wv2a=Dx?dxAVt@QOfWSaNGnD5a4Uo(%1`MV~#h2w;(rtSL)%;%}9-YG_g}L)SZZkz7oc$e@x+KoS}@%G4kzCGY{EjTU(l#cM!aWT*ME
zKLRqBQ|@%yBNa518;Gi0CsUX<9}l=3$qK$8_k%iG%a_XB(F+|;F25hd@H%)6-KomM
zV&?8UIBfyM%2J!M%@jxut7*0HTj^6mbB2eTY_0YdbP7-xD+*YDPh*>TLh*e+ju!R6
zTd-h3`3`5^%4;u0A|}^{N2+yxTZQmlJ$tulK&x@Y2q;=+kp
zT9B$I9?8KA^@u+80>G(PR)PEqLL)e^g4YpL$Hz4p5%%l6ZEG1|oSz8{#(>@;;&9Iqtz+8tk$Nn)(|uw~3$)L&d1l1EGoN8>l$>78C~pZq>?8Vpcy7Et>G#T6oH
zJMJjuU1JBa*F7(lftgY$u)eXtOh0qYs6#4AUSL2YNsVS)5n6-wzFnLrTY3B>Ssm|M
zRirG2g7DQ$*&q=HJ~nHm6dB~JM*T@n#YYX?lYHbjIeqbOuu)1GDR~CjGPTL$v51xP
zO__p-Ln)Pnd{^8|(h}AnGPF7ZwBh5*+t-8^r{&w{TLL0lZ5ONrQZzFeDSXQ?pgBY}
zfPVBnQqke60xRn{#4?y-`LI&Jo}pnrTJZ{da!8P}^2$e8(V&P4J}&ij&JZv~pm6+r&|0G5v5ZMZ*VJ!hSx2jTlwGuF6(O0k#hyIl91_!%
zJmZt&6b>fS7YAim_v_p1bd9<%h&pXpulItQCVAxOYR#;@o)b+z{Aa^*qR5>xJxJzW
zkd2Ad!~w{ipw|VVcKB_KeCkxVNys)4pyk;P1gZG(6TPj|ISK;|PsWD&P0<1vc^`Bq
za|g`uAM>LkCF<;X<8JacU9)&~_%Ex(9CIoOjW@~aOWL
zR!iH6MGVy9Zks>XOA=EyE=-WaXlmg2c8%Lvqd#wqpYRS5C}?HcLwO<}NaOmG%gm?w
zZ`EB`02Nv6GbI{p2F|D&1WuZAk
zlLeF@fRdxEyOu!^5fV6+xUm~!c;mhKI$IH#u63M^@7$iZ0AO#86yMv*h+4m0=%Uy*
zRTjl`uCIK58}omI=G>;tvGW=b3YuQq2;Eizca7kux)Y$!tUN8^gda$Ec#W+$23R>nd4lq}oUNkY
z9y2D~F;@=5=d}*V(&AicpFlXo#_1#2_=Y6>wFNj9Yumc`GQk7htinI57MYlC3Z;XM
zlabpuK`)guNs?PIhC35dHFv$2uHX|Jb^t_>ZORU$n~qd$zA^Z97Mg
z@Y<VbqQi)r9a0YOl@&{APH%uzr@PYFgWB
zo;;75+2%RWN>oKA?MqLedX&f4W`+XD7AbxzcqgzRQh70t%DPs5cI(95h!`2I*>vvI
z0Hv}5t%X4JzDRl}BO5?vZ39CdP*aQWFTLr4bV*v>*<}&F4w-Z&)qWYKO_rUS96HYA
zL2>a}!qOM#%Af04`&EtiB
zHkn>V2v^3c?|iZm`@osr2co2nvdvEUQ8v;~jKF+s3x~bIM#c2;YX=>kBFE;0*
zw~bA6i&A(zf>9i9yL<05dU#XN1JYrH*Q|>^zsEfr@P-|whD8XWth8!9PdDsLJ>a^?
zqEB_=n)q3BaLD+S1{Mt22KP1?A8+7gYoHRv6_-FU%y-`+Dj(IXjh@+~SWY1Q*2a=a
zyHNuQ?lvfB?0hfg#tltv>~8F!(Qi3iuy7&KPBctW*QzEPYYdhQ_za(0yjJsA;|uLQ
zrEKvnIk~DEoG_$vP9{N;MZ5C&=>*+)546exN(#R
z`8;@z+kdPN9lHZ0#%Arb6jMxSr>Xv<{4I&A%|M@PG(F~RT{pqpKe3l0+GgSQ5Rg%{_!73~m-G?zs6RiGt$7ubdt!xNFJ8fcrjV$}QRkk*06
ziv%{@ftAzR0mUDH!R;$RnAHa)M$^RZqfixdx0Swb#_yKdjM+;|RFXTRl@>q+Z_v5O
z(ZrsTdM%PbFqj2dPCucI+Yf}zXQo`1jCo_&FEe`7ciNxz48H5wd~nm47K2n?{Ze;j
zVc%`PkTBU)A!XDudtX-&r7xW^qdJ!hY?*@_yfVsXZ%WZQwh;p0eqUGXImN^b*D1sY
zWji+ygFbc~qhG*GZz`Q`MmY)F@-fcRIAMJs!>0L|6oxpnu)$rtOpC4=PBGrHP2EMp
z%sYarF{&hyJt(Fn>0oqaNc=#?2uY(5~ZY+C;Hl<7<@A_o*L9L!0
zohe!*73`&O9BxnR8zcnhqqRiTCZTz0VO0{H*KTZp8q#?AoVJ~N9fPd?PP05XCBacL
zOjGtH9t_rDL{OnJAaT~s*cZNZ6xa&kr6PCgR9rh~`6_{3j921%nopdni2CtFqU2c$
zA;~BBGXcgQ;>i>kX6<#4`@ee-GS}9yMXl2y6s%#e10NTu_Z<^Cs9JjW-eJYe#v8xO-!D>7qDVxMIga+EY#(~X1@5&F_C{m!->_^edTa$!x>*0nCQ
zH%?9*qGmxiyq|VuW*|srjKLWfDl%eB$Fkiao(lHxZf$?)Q-W$o%x*lY)Cq>^lR{ps
z;LU&vb6u;HjW=|=!9#IkWmmavLGH?y$7L|;0MsDSU#%6G~4!a^OCvniE){X_R>
zT95~h9_e^b3u^yJzhnOIY2jyX5HNIl_j41nH8PfZw|4tIJt$B7Y(RCMQVv=m(jX>E
zc-B*aR3s>#bJ|Vc6F>|GYDr+nww+xlG@c&CTSkgbiybkc2xOAk=;qZ)R*Ju{M`#Kl
zG~C=wu+=g3eJ;R!_hPVm%G-#gYHkij%?tFJ66qbl8RQ@LwfuAoamKVV3x0I~8(pVb
zrEZn00X+3Ctr85I3To8cg}pD2*eBShOKU<(+ZR&OJRyzeq0RamsA~J|
z_{Bt3*1X<}oh@n-bJbO~e*)e6r#FZ8?$@)##YNM>Fa@fc*)4sxA{BMh-5H-xX3#`*
z1Mp`WdEVF^)<8!`4~_d#^?ED4O-I-lyy1rI84;`~B})9|taa}s-}~4!`hs^OhSOLP
z=u$4gyySzH)AuQd(n2K>4rIr=}7;QF+}3jByh>9XjLYz&g9
zB8?m0kH*!j@xW5*d#n;ek6WK@I6rVt_FxDn911j1?6PoRbAv?2k`sG+LaWEIWa9Bv
zLMKT-!sx$i+kvj8Ma-iJj=@p~!wHNTxk9xb^vG;m?6;bgeaW79)z?#PL}iH-)+A>`
zoq+l3V`n&xA&Q(?xY^Q+Kjxo7pMz*Qf^4#CM(O73e6+nY3zo#da7jiq)R@G{hEB*$rzZUYH-}sVsaY$oenowqtZFt+5iki!Z(Ma5gqbi}
zc50=!!u$|{{%|jbsnL&X?WUJvRv32sbioU8w00)U=tza0j+$;|UFJw5h
zkTvhAlegSuxTiSyG)*3cXQ!Xyo=`f(Am2mdL`$Htqa#lmr8+-HaA?
zca6aAgnNCNeaB599iIzg)XC6Z7K>TD*ByG63Q>J$z>}lh-(?rcs?1X
zD=6PQ8ajM7so*6mDLObyw`X+DNSQ3u<&ryCiE(4pufzdLwXcOTa~>S2Y)Kf2@RFtN
z0-kQwb&s}h(5I=4o-=g#PLlM=qHyQHo$6B2<#N^PgiptjQ$PLk)5rlCyNpf*ah9)8
zC;pBhug;#*LMOBcY34@thn;d9z4rwcAHl@q_Ec<)hopENog8kG4#q3vsH*kT
z&!d-7Mm}gjKeq%ZTmG28!wP?}N5W4;#m6WN?wTC3P4B9292_1*I!a^mAaRp2fv?D5
z+I4`^8n%&*8-e_0LfLff+s_2Bgna}X>>G$Glivg&X2LpA@vxM_a`mC<8mH7ot6*eO
z(a~*CtCP8i(a3?csXCU2Jv)%^hQN;X!62m_w`uae8w@3iq^n`F(t*x2TXgZU&>qPZ
z_YH&vFvTXPE5|$D=-eQ-aK|CU#Cj2w2>G(y^>Dt|*34`kkUT?Y2)L@{Gykz8(iB4}5AWyH`^0o?x6tddx2jB70xp
zwrCGO?v$5=f&%#+KIuL@h9B2
zT&u7M_kF_~C|wNyl#PQXB7L9ki^R7;k4s8`>?)g(Y+HX7Zn?aV%2?L&2B1
z`_pYuu+ff@?dS;4L=#sgP$v9f5%94?#0QxtIid0ExCn}G#Du}9FNSvaO(QoYNYR8C
zbUR{%Un>vMs)m=TLxtvsL)EaRdpUh88(&{eh^NEHa}sm}v1mv|PPgjm#|#CGB|`z=B$h+3)dT5xbc
zZyla*YaNe;3R0{qk!G(D%9C-lJD_q&r%F)+n`3yn_$&}pv1>-E7NZACN8ji9z2xp9
zbr|x8iPS1p#gyqaZR;{k1|En{D|M{%V1f#3Pzvfn+!IdvYRTOzJ}8oOqtyU?ER=R`
z!e@oC4k(fmv2NE9cEQthj5E4VaZC5lF)Jt>Bk@Ntuz6n#I8}g}x&^h{;yD5UIOd?A
zhPN(o4{V=v!hZ2-0^DI$7K=hH_~k^?ZnbB3s}7DW4y!*}QO8lZe$51k`lXaw}BR9Q)%egbFh5oM|qSMotCz2k%YJ5Gg|iZbEy{vp+7Ql2@@?e&sKxjkLOT3~#`_738wP2(~y8`?C>n>`K3+6%6
z6rmAdx7Zl4%U97|b@Q-WBgVI%=@lQ_EC!q{UH${~bD43**5Oo~^K7SFZ
zWihuQ4MVdoPrbjzZvG;o2FAy!;rPO3>DYu(rwJHD$=AbcTE3i{kUzJMya;}#7sjH^nHRBBU>39G(|M+)$uXG_TG
z5Dsddr5|fMkF6if8DdEh?2_7tPV|UX`%7cRZq^3%oy6cHEzZVvca~;UpZ)wc9n5{K
zA@a)uftP!Rdcn6zKwn
z&_A~&QS?QQZ||Lo%fI@DfIxh}|J_jfeQ)wt)cgGW^6!S>@AlGil7Gke)7tlc5C8z`
zeOli=C;o%c?=OH~=D5F`xBfJy`xW^BGcfR}S^!h9EeVE<}
zkN<}G-S_o(jGrEPzx!+beJMOJzhnH>PyM%J-tRC!&A5Jds`}~u@+8Fd#?+g0rZ1pSheK6i327gzh7KA>VLxdx6RF;NWY7N{&XMt75P5$82<_BUu%3XZ2!diU2x#1oanE}
z_Zfe0iT~>->3;R${v|H@C(!RRx<98Henq}dKlh(Nf8Fu_rdIGL@bA-kKSz9jMZV99
zz&`;08ueMC+D?cI~C{e
zz*-9b?|}c8Zu}?k?C-U#x&Yyj%Uy<+A
wZ2e!6|FLWJ=R5rVVf6Rg3+(Wp-r;YXSvg72_wz3R0JQf<=le5R_n)u+AKEMW#sB~S
literal 0
HcmV?d00001
diff --git a/tools/rst-optimizer/test-sample.rst b/tools/rst-optimizer/test-sample.rst
new file mode 100644
index 0000000000..1a2508c06c
--- /dev/null
+++ b/tools/rst-optimizer/test-sample.rst
@@ -0,0 +1,28 @@
+测试文档
+========
+
+这是一个测试文档。它有一些问题需要优化。
+
+功能介绍
+--------
+
+这个函数很有用。它可以做很多事情。但是描述不够清楚。
+
+.. code-block:: python
+
+ def test_function():
+ # 这是一个测试函数
+ pass
+
+参考链接
+--------
+
+参考 :ref:`other-section` 了解更多。
+
+.. note::
+ 这是一个注意事项。
+
+结论
+----
+
+总之,这个文档需要优化。
\ No newline at end of file
diff --git a/tools/rst-optimizer/tsconfig.json b/tools/rst-optimizer/tsconfig.json
new file mode 100644
index 0000000000..4fa57348c4
--- /dev/null
+++ b/tools/rst-optimizer/tsconfig.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "ES2020",
+ "outDir": "out",
+ "lib": [
+ "ES2020"
+ ],
+ "sourceMap": true,
+ "strict": true,
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true
+ },
+ "include": [
+ "src/**/*",
+ "test/**/*"
+ ],
+ "exclude": [
+ "node_modules",
+ ".vscode-test"
+ ]
+}
--
Gitee