From e85f9d196836af1c45fb610c06c9bf07b4d29197 Mon Sep 17 00:00:00 2001 From: CaoWangrenbo Date: Sat, 11 May 2024 13:42:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E5=AE=8C=E6=88=90=20BLE=20?= =?UTF-8?q?=E5=B9=BF=E6=92=AD=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc_attachments/2024-05-11T05-02-31-706Z.png | Bin 0 -> 47952 bytes main.adoc | 40 +++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 doc_attachments/2024-05-11T05-02-31-706Z.png diff --git a/doc_attachments/2024-05-11T05-02-31-706Z.png b/doc_attachments/2024-05-11T05-02-31-706Z.png new file mode 100644 index 0000000000000000000000000000000000000000..d319346c930f4c6cc816be305e81cf88db1f5a39 GIT binary patch literal 47952 zcmeFZWmuML*EK5LeUs84-2x)r+;mGwNJ&Tw(jZ6+0#ZtMDo9Bvpn!-dDTslz(w&lf z-plpA-}8RQ_x;?z_V!rMT91fuUFSJtj4{U~PESXT2%irB(xpp8>PTgSOP8>f;s5X9 zqQk#ch<|>D|DfG9P*c2AGf2M-zrl1=&{nu~sV<4&)CLQFkLQUryL;&paX0FJXzx8L z>@Qtv`=zd|VB~MLmW!1$u5x(6l;QBrVHulSK?4m>rR1g}X(=L^)Okx^`33b z`BJ5~Z!RsXDw1-SzACZ1eAIb(V)nZ=tSi5u$8zvw-&^|X-QS;r9S1-8-EKK_kBG#h z$dmFD&@WOR85z0wGZYpP5m8iBL`u$%ly{V_f3a8n zKmR=1>$2xtHZ)|s=J`;Vt*tG(^xWM4{PWde#}__fl%zB?eHVlIa!d>i+6G!$gxm)V zO5H+)|NYOrIQzjU4?8#L{J9=CJl!t(s(<>ifxjP&%9>xusR+n~P6mz|3c5#EDNOgwn! zV7UyHyffE~|9IzUFR3l~jE|ae4{=|85c$tXaAyh@Y_OFpcK9FPHZ5W3Leeb*1L-qxG5A9x6K zDB#3#OMlaGXqW%~L8C}*9Pggp`M-I9K!*s*AqvjfV$c+wr~e!p$358ghOc^vAelWMpsOzQrA7PxEqK!B@?a7f`hrqZZ{>Y)7cw z(~aq%Th?fGRQuedX3R^+z`*Z-j~?++@e+BdVAG2iFWA)|GxrtL<5n7}=Ac)|JXRoi zSU`OJp8)65ujHO+j^)z~XXUBpN>-U)9<~4QIA!UMh1-G8d?01W1m^{NibPO|?%p1tq0QTfN@rb0sWwLPA2VrJwfPScADz zoDB6v#l<6D6HHF%`k8aGXUbldWn3y$_O#a}B)*2w;G;Da6fpCxK2WTv4B&aFrSWX# z-Rfmb8Rli9NUa|)W-5Db+awz>JNTqM453YOtDCrO|5PK5E5(HMz&5s`8kt0hNHhC3 zqC)AAUd`GjRD@f={IM@m-U$E6C{C@Bkf>;y&)69IzO=}(4u^6~g+Ntb(cLjdOuE`^ zzELr)K6!!XtSQMF>6+X{_3E)^qop4Iq?T7m&pK997`c1*-^BD%`O2TO`{&am*;t?R zInD;3n`ES<_jMFEZDSEd8@n2$6cojLd)?jLN{WgvXelXw$quv6o60LRvm4wPZ(C(~ zN1Z;ZqbhD(Yha{N-=K>aPQmg?cK9X}l}XWT#>y)xDG9}}gWqQeDNtd+&1|TLU((mY zmnuLolaL&X9??*SqhDJ8j3i6_K;u2s${GPji!A)gSU$g@3e9WN8YB9abys8>5ZliO z#VC=yv@Xe4Gr7ZNy@E36ymf}ejBde>VH+} z7k_nGI#&!LmefhY=mV_bcs{bb`64l%uaZ%Z24B`n`4UYd|?L-Tqq)_Q@*KCcjz zl=}nMrV|)tjv;SEN^d_*=Qa8A{HEXXXlY-SrHTG1Vz1XON#@|AU?(#U7FH$N*F%wc z$;dXYQf2!PrOz@P{7LJN2&k6=%#o7GIvUE#k@kF7S(n(79~F>_TKz4Y7m+RNSwCzp z)!#Gv`vH>&MBUf(@9-Vk6f&+5P9!tB%C<5~Q@W z*X?=}M4d-(#iYrG95=fE%vwp#587xwJ30K!qW+luy7vNdx+BC{_glR~osx=D3~??z zY8?5Mu^(dw5tX3t3_4*)jaZV%=Ex z$(9t=jc*N$a6^%+6SdRrL5DBhe#l;&?s8~n-D-dk8q;Yf#MyUwl6B2vsz3n)^KTVd zl@H=~bDd+JyH!iY`L~H#;5FZr@Ld_ZzG+h9BaC2VoPsi*KzsFk=cAy;7(=q5d>Jl! zG9?*VxaZc)+xhoN`4V1p!-Yy}kLVScmCtvFa6YB{9a3Fv+ec6xpwQZ}zZ; zW}I*+b>pkT(R%ar&f<_RcM%uY+5Uv}`@Z)~VSEhcBb&aXD3k5 zBmG$M0X<^0&||v8G-x)8+Ua%tkvOx62zhvgL77gjIRu8=kC!$?XTJxsUkRE^qQB-X zmk!u5sx&CIeHYIl=|dywvs9*?%|#5yB52;Y1d;mEafp#m`f&2@c$M+|_HysN_3uAJ z4u3+Q;AA*)``%b6ky{)=Z2s$er{}EViusFM;n)sv?aKS#c##XU_IPa(7B5|&@@?H8 zlHMicHefFKl_b4`+cfk<7$fRigX3zPe725r=$~Ji3;jfY;X@6j$6YeNu>H<3owQ4J zmDCr`BY*o2;dY942Cv7p6LinMo{G;@ug><}u54!q`*kQ_$7!TL$lZ+C^~hMTOQmglaDP6( zmGcbZ@|xRsQ3&M+I3zl$97M}b?o+Q@b#f&k`sA+zGCb}ZhfeXM(fPpue9sb%bd7AL zG-pa8iQuEHsrH}%(b0Vtwt9bgbKix&lp(o`*Jcg3X|LX9X9%fMC2D~7DD7Qi(K=eL zTYHcIDKK21kjkOmpDD<6+j$BuQ?D;yPOhKpHB=eMz+$3CswilTBgJahAj9Ce8)Fc8 z+Ykb-V-@;`8$YFdSN5ha&ix>7=X(>guR7}dc?2nsN z7C8>(`EW?GYdqa9IvOq2tP{WU<(c=d{tpN$B(0bWLP-fBX6f-a8BRkQui8wI@dk0< zd-@OR>lG`|%%2XsXt(K(zAWy_-2eNnpOn{igMu-Lplbm;3&DSOD#xmfs~H2A3RM&7 zC{bY)tHnl-yyHv8fc5TJtm z#xql4uQ}x^<|vK2;d0&l=BdEdZW1}y@v3yuk$|STX9Z|YoD8dN%;m$mp!p$iF9Hb{@d4Hin~vmmh0rgD-qF&#`2(} zqjTuwe64r*s4I7d5L<5H5$f<+HZb2`Do&C;+xtu_VjmkDn>={sR(|iT#Eg6?KjM#$ zgE`zLHIr%FhFM~FR2zh&vbq>$0$-mWuR=$5nyC2+H|VtZfJFA|E5A)j-Wys^gl3mU zilMN5t+RW-HQQZ%<9U_A3uyc<;S`)YTldqt6d{QW%e3N%iFox288D@y6 zGoCSp%L6qJ$APRSfE|4+x|se4-y9!O3r@B9u3`~TC10kZ%3xO~*BE&!{YW+m8@@V^ zeo>EL=c)I_*`XbM(_(%Yqs`YBHcL)E6`48(e78Au^AZN2-^reCb-R!#S+sipf(QFj zZ8Ahu^cT5`*<_mi)6`E5fg-+i{We;l@PPb^M)1~K9OaPBLIF-`X=x#$7a=DH5Hh>e z*1;)I6pKoRa;2JY4`i7_bH^Ilood(h@o7By7>(N|?A3}kwHOUYYWOUXLF&udvzCLa zofqdp&&`{l>|9I*ZC=qxi;d9N*N1vG*>uO`%QG|IS>NBEo@QDFF2hCU$c9MrvzX-5 zj2aX3S-oz7r(XZwbXn9%4|u2JIsP!ChQ74GhQgggsGh#7UjQPn?Y@AfItXvNGFG|S zy2$wb?#vrB^8A3`PXV>>umA9aRt(XCM@-BSypW<+?>JP`JDgx0c9!nW(!=+~pVU}^ zibc}&GE`l-PE_2$k>6V$jp9i8h;gtv9rpea15@ac4Ls#?a6)p2*L*KAgJc4YFsn(8 zh4W}hN{Hok8z!+&tjR^PezUIwc9#r}aX!|zAJAd(n$+ZoIvdpMmA&0_YY*HfZS&iN z$QzBL;M`$0eHa^S+HhO@!{aOOlbC9Ql%|8!|IM7Z9~Y#(A<>h6d(mdG)FS|y zpmi}uImko0X{d|6-CWw>bbL^PWKwF?h%8Of#$n-%86R*Flb+P zaLSTC6%bd_YtTcST(aQc%5|P^Ud_9H7n|+LFEfKu4dWV%>w$z1Lcjzd~cMV1fP1x_v&UmwnELuFX{Ts{Pc{62y9?q>TThep~Gl!9WlBw|9s zo~*I2F-xP$)RMxC8&|C>3KNL&7mDy8zBM1S<1K%GlMJ1H{PE@8|w(3{%w=fEo7ukgCw_ zz6LB6#`rHlQF_ey1n>deu4VQIe&eb!_>jSiTM9&IO`Mt;384iS!YI`GxzBGp#ALo` zs@O)FI9=q~F&%f-N*my5F^{QWDD{06P(@xszV-d(9$`$)pAAK+))gZUQvPKl^Ern> zS`gTf3Kim11=Y#CbC7MgSPu4ZN$(y~`t=5tsw~Jbb5XwCThn7Fw2NdkK zfZg9v<1FN~qav~jhlJk(8WB?5h`=I1!Em@t_n&R0$dn@eV%4C-4L3+0D374?S=3s! zL#)~6u9Yo)Bdwx5RW|4P z-7?@y&u=!Xnpu|P$lY5rh0AMj_$UrC$IpP2CCLmj2$P|PAz3M>;ew_+6TNhQWwjQn z#=}(lW(J>1(rlOiiv9~*00N1ZuMrawJ-2Fa>yWzF#2@iuh5J94mhuu-ROchTL$>5BUP+ z_8O$-uS{!V0)o5w>xwo|5A30HR~VM-C{TxW(Wp0EmX8^{uC%urjJ zYCi!S0-gO}?xEmqK)(_aN6@z+?N0y`K=dnWB2iEbCDiETAh|!4X=c^{pMl><05ETK z{tOT@ol}>w>U_C8AMR0g9gq~8#?a?F$cJi^+A<=5GOrf%P}vuD{>M?3G~2A+UP1e( z|I%8vXF_@j%ZfK<%t7vM6SuMYLyy`r0EF<&z);k|$x;y+>OmxBIe z6d8Wma6kQTMQSSIr#it`u^W+9TAC*RSISULIE>5I&KCa}c5wz*PE11Lmw(nu$5jw5 zqQZs5S8ZHnj)e0(14IvRkzC&e#iU;UsgO;C>^WNq-oml!l@=0GR1Jm$hF<8IFGLR6 z&t+7h2OY|9?W=+jmZfIS03;O-CZ^Bom&7IO8S_$Nvd4HyOmb7u%)c`s5Jm;^;VKWQ z&W`4j9QxBf0MZ4t%N=E&FB<}<>b>?=xCoF{z+$f7XqmQV3KZqAon3U6XswqgxzEruzyU_i)mkY2+^{3RB(03odiJ2WA`{?mpD=d*BeaV0j-SYBgJZQjg1`N(u%4NWZM;QddZrK%_& z(^vP_l}Kbn0q>9MLubg)u1BVL*~j-}?6t7dQBtOJ>9ZPeWrMyz#cxgzC;HQGTE=TG z5&?bk?EGZ2_GWVpye0fWY+RgvTa{jSvNO5JEp4+%6XpD?iZiXYL;=jT=1o;lHXxKQ zOL)#e(G>&kN5-bQxAF58gdiv#Ffnk4_<51!4e1%Qzd}h)9+3ia0}8Tz%oOzaR)58< z16l+GWe0RuR77iLxWecD>QDce#!c}Ba!Q@wKu>U6LM0wy*62ibTQ^TS&KvN9_u`jpo=@p{ypnxRwT!4Js(2PN#G6j}{>dnx#N$5nE60c36 z!0&^I2(FrgzZY{#u_p2ng@zLD^jeBz1$I_F(pm~Cyo+alT`az3u4FX>e-K*TTus?+IrbQrZn#s&)HbzEcv)wUCj56`TP*k8c6f%K8qA)fb7Z-=O6Iw{$kfzcJ2MKj8 z59A5X{NM<>exSD}d!Kdlp=L<>uIS-w<5x+Ls&veFZOtfruN0)wSj;j7I1N)5K(*5# zVn98};5Oud_w)PdYXY>m6F4;>smt?iZ+HOf0}W1D#{Zf7>qDv|ly$k&EhRuhP@FoU zH5aRhRIg@YCZfkbc9IR?&pCJHI|Q`)|*IrgH)5I~{tm4y-dr z#6iQ7Mc)%>Jz)K3Cbf)|%eU7dus9!9f#O=3>2s_XQp81~i1Z-!?bc3PF@Nc*9>$t~ z{cdze>CBzl_6#<)N2pYTwxyoR5d!?yDrA2gg~Z=cTeE+9BFxr0remg2nfb3)lGHNr zbhAeBW=2cw-#X;r)cnHva~bqfs32h`j_>%< zpjj%y0O%Z)B@~f`y09N}@Iv9Dj=f9f08l|um$BHqwUJ^RmEiaPfaMApmVE*Z!s2qr(cD9z#F6m23u#3}pp50og~^`DYZw_JbVFv| zgv054u3}M&X4lN%1M(&6z53-jaKT!$hTjm))YxlR?utG=m)0_-+#bPAW($d&Y+ zwAM$oVJqSi5{_*u>8}9&0D*NVm2(K1hswv=eGUSyh;J1YTniu?xvDBFbLGZA0%ha$ z$V-t&kvWre_)eY$SDQ4?tihF72=@R`*Y#0|pT$oMP`qX6IY z=Bbq*%^sj9?iZU3WM3<1H7hXgJ7#BCha$cRH4mtGd?;uKQ=unrlF7GWN)ifn0hJJd zUHY=F-{nxs;589w3a_{NFO8h@zvMt)Z#Yp0kdrGS_Rs{xV65>lQUeBq&*DK(F9KPr zw&U0ZXtT)ePe(u*;9^&xh!(0+vX|g1_G9DVr0VcP^8JA90g{NCW{mqk-%5C5+)x*n z;59lvSe_Ti14OS8=le@HU@nvJvLGeO!l7{+meGqkCA)X@fC%fi{vAH662A7IA0C}o z9&%{sO74SRRpbhdN~o{<@nC~pM%!af-A7uSdKL_^@^Zz?HKnXtlo{3^u zxVv%5vzwd=$vQqzKj9@DAcU}q>5o2e=A#tnw%e>Fi2k;>3VM?DEl?ui#(g{}m(Ijn z5sFGma2|=dC@Jb_HYT0N7^MEUAZ0>7L=8Y7GEn*`Fsh;gz9j{6|4uYrOB5$hNKobn zlwF0DJrS7|N%qq|_xfGcLqAhCXqEjSenIfug}en3un~kMID2WICDIX4=YY$_91PRM z532wKXA-gRJKkRfus97R368N56geQJx-$DlFa^<@d27rz5c(_K1Q0B!axiggPUX~9 z4VX44F_2;AFO+d|Irz7udJ-qw|dgh>&L2 zZ;II?r}Ig2PK@I=_-8)~3U^ODFOFBQX!0!Qmc z$EJk-dH`e=1|heghjG`Kzs9dcqXZqr%hS_SSy}lpyZV?;;C)ARxW4{0Zj{gsSSmT0 z^m~FLK!VTE7l8YWA(iuE6rYAFwLnO~Ea4oG$E_`>sNF|Uu6&^=AqM@!bRj;XptKcL z0+}wr2#7atav>|KT}1cxRZ;N=TnCH;z6}o~)3JU)BJubLqv&{Omcsig5A{lm)*U!i z5a#6%MN|>xSDmlgDVu#VU|6RWccm$A4Z8?!OBsA-)qV_wkVYfH&aD5hv@ntQuUQ2A z6uakn%)xsjYU%RZqV7bfaZENkr`r3aP*YGe1n#?hhxw@mV~m$LzeUnlAqBAqLULV#m`yzKE>fgh-Ev4?L^sRzUP z!4Ho})3U3m0th*TgM;&VT{NkNIhTtCGthb^5{90`c*lK|#_SqtxDQ0}&@P{yo|c#hX%jo&X48+&0UA$5wzK!xd-h-+-0l+@)|@sD}Y0` zuk(3gKmb9>y>NpzHZ~*F7iD<@hKLA0&NN#LG8d7@t1dc>#jcaf{bR9|OB=2BgEZR@4VAEQXL)k&|B9UkIuQRE`>$ zbWLJh{yTDzX-u)ZOa7npJDAEpg&0T8@F3VgW?+)=WY!NsF1jeIsTo#5=LJIn%{6xr zod5XX?Tl&)iotjt9&ck1dB{x;xE{3S4}dk7%`w^X>c0N`6tKDK54TSud&JC*flUaS zgdBiLEe-x&eic46@)e>m7-{LTd-uXiK z3kFzi8K|)e+yO4ge?V})0dU>(MH>92b?36*r3V;Kny|$Ibjw+V?aZz&pMq4Bz z0ePdXCWebQgxt92!^Yg&!iQ9DgA%)Kwd}7$hc8MrqApn7U*0Tq^F0G_V<0Zuh~#5^vSZ{I53!FMK`1S zS3d3zVSm3)A1o*<@b-{VxxYrj!a#_Xl~qE5hUNQ71WRjMme-+RT6%=0aT$&K!u8SNQC)6kB-nm#066mjrsz|deWtJ*z?`K~p*((n zV@w1H3Ccs(r{YZbeN`z`y_B!0gd(&tE$5ch$@XTX6@jdxHyypC*h6p`3cVa*G{rF2 zq@qgp#fV}M-A9y=_GYy>MMgyG&>~HW0xv0;?b*CIyt7eXz*qbGt1Md4V2hGVWQU(| zUsdkCl@wt`fqHD6pZ})A&mK35Z}!Mb_HNq$sv)uWh&TF`6hDp2^(@rq)c*+Ls!9^% z#wwv&-_KbpMJbz$1ro5HM5aIC2#=H3|}Z{CM~^fJ}a4C`1^>%FO)c^qUZ2 z=bJCpM~R8GHb;WuVe{9-JGL)ho<16YwqZe|>FFs{xVgjuh65cD!mw`C=ZC%hKYYIb z5EeF00Yq8fS~WiH?VS)hrOxjB=c^|sdYr2IrO{2_ zfAdEE+z-ZYV2yc9<7^P@AxzYrBoro2*lqn{pC{CA{tnIg!+~jdKo9s5hl4El^uX*0 z{Q?mKC?h<4c-1t9y$HY!{#MiMqE4T-)QPzaG&=U)b(mgTH>cvu-mVH0Z5k)6ScPlRy{&xmOPiYC<2CJ z@#k1I__QWQ)wnaqbc#mt>}+jG_lRUM&6M<(T=Y{d(js*7hbN8_AGEno9<3;h zUA8*xIY?@IcetEGPfN=^o2ADu-VvrfSwC`IM6$N~7cSnlSq|IT< zCm!^Lg0&W1tcs}Q73s-+W^H>$G^rXJ9&(a`s{vG=On##etkL5(ykl7Ru=Vxijt;i2 zAknlhPhX_Ag!(03vKJc@IwhXI&VdTZ7MZ&L4C8@BM(byQpay@ck|oB)si$#~p?jYD znU!$9KKe#gZ*h4t=1vVZK9?OQ>_B8Pgn6aQCvI4=fj5SoUAbPc<{tMeCr~H#fiTV1 zsPwfjm|5^kOPOgLKBsdMpS70zE~my{P81&zloLihU0!TQi#rh$>8?Dcue?krO-qUZ@KS1N!-GX-{*^J7!`GcPSdCxY%cCV9e*xZ;f^{O;cXo6!ZiYv%C zRY@HTu--I4j*a_@h0NCQ_)HhpJ|-&#V`o~u{JlxexHQ}vNlb5FySba(%aNlaZn5r? zq)sexRT~@y93$c?vlnYQci#O}wDQirt0GYQ)Au)}e$D5)?RHGDxR>wxQQ+e=U&eu^ znZIL@|NnA=W}g|9|5@uGjZ+>9V4BcaI-`e;fmQOi&1f}!*39$3snYO?iO*Mi?dYL0 zz+9B#ibjbhjvoPAxQ4JIRpF}%QkQJS!xUk$`^pA-9GYJQxCwY@sJC11wt7`at{5W( zoV(@T@8@AZoO;vY!tzt>5@|{0M-BTnqzk(h(dFq*`Eh;0S!>_F?xw$eEsTQr2dIcy zpgxvBqBod zHLJkK-op#_4JvIV)?{Ztiyom<{MMR34X{EZ_tNSe6hWfyu)05&J6lKQA2xwV3u^1{ zbQ7z9?RV5DXW4c|MFnWNu3uj$gqaI`KUv>`K9hSGswf58K^p-|>${JJ5%J)`zNUH@ z8Wt#pI{Z)QfKmY|m=me#0o?&4&34DUfZusR8-+z6IfF*(1`|KP?_WU+-<)dy5I7T# z<1_>;(D@B0`1_y?u97QLIXyo?4uZ8%YXf90&2%10;0Zp!mQXMk56|lwLu8{6$i~2; z7rca2+(F(VKyb}`YYCr>{3B)46$$PVKae|tEQ4|A{SmN7YyVj+#*9$ht&NvU_$%Yu zq(eH*pILClT*jQhZ@K!l+GajTEcpF3cRi1#TbFya=Q;RLru7T_|NW#szRkNE3g+)< zqRU^v&kxRy+rVsjc&cC=4zn~j;93>Dg*f}Y{?mHJ2o+EXQ-P9$gjx!bqbxrQ!_>>y z+?C%b!Y0ZdDri5}qWoZ>B*Oa!!vMNYo+_@Qke-w@S;EVf(BK5L0hAoS1%ghwMtT)! z-(zB-r$-><`K*862iZIeMt9qD?}X1m+5oXTRlFdY;aO$M*ixV~^j&cN=Zf9A0Taep zojmD3Aefd&(#a#nyg#_y1<#hYd5fnFglJmmydIk+#+#5hNbt!fTasm zq3|7$Cv3GXT*rZ_qHG~eW+t~DW3&r4sbd$BQg7P;u{J`$&=}+@5Y0i3KLkY@W%9lP z<}O;9K$No9c{E3WsJH_m2$2*7PrP5r8XF(~_)?>qwt2lhUIv(Bkca_cyI#^O`Yv5& zGjH)02ePTj$?I>uMK^0H^dAc8UfcvKzN{L3KW`EYpxg8BtAST*`1`lyS?01iD8v+h z28qia+wyt+cKeOji;pf_pA7K*)4%=!`bX5U+o76VkUuCZ_?vKyhY0S+*YDmA+4(j3 zj)}(m5P{p)$$SXIaR39rPwF!9spX=T0)2e;;1s-o+r#y*Pj_Cxya}}c0P+wwYN!Jb z0%LadFNI1mAWkKrjuZ4zln_nAq*^E+jt6pI$EKQwxUI!-ygj z2I^gpdu{@7(Ykxf+V#BG!~Oe_s)`C3c0gFx7CgIP``##s!u0g?&peX4yoCIbVK zu@exjY%}%%l*52~7DinjV-+K?BvVF!yJ9d7B53ceg2Thj-Xtb#7{P#ED+dxkMB6*dnNKfI~8ZO_?@WP)MW^of6g zn!*5BG{u9yzSa@ZcVSy9JpaznCK2)FZwN=`A7XxMH z=_M+fUZSpv)~J6v9_RmF$ECng1Q#s3-9v$LtERBw;DiodfWQY;<2p##s0ntd=Aw)A zBH2PnU^UE;U`7lECq=N5!mgb!Q61P$p|Qit!7q^J@`HEqTuSVOQVugo_1}nmkw3;= zS_&-$j|`h?LSHgVHy8ngkT*uVK`leHe9Sm!gr}( z8h5`+y`(_h7c@#PFlNK#2AT?Q&ySN^>$0g}w2{=R4 z6Lox>N8dgEW6!m>Qyy*#s=ov%+~CRJw`@ymXs_W!?GhIk>jt7415^lSl+_Db6O55*rS7?+4un&;1H6s!>4ly!w*kfH zd%)C5Tp-^fjQ3#FoHDg}B?amK`xEW=doUw`O11R;3Uq1+JDSb!O?SXe2#{kOEMZ5` zzG}ctWV!tv=Ke4>Fxq~DK{C0N{V4kl2(Tcso}uP^FscXPxb)T7Wv_2xK%&DQ{pSiW zoE1DWJkS|5S*WM$&@s*1e7NKAUNZ&egM&339ZL_nngVVPsBVs*o{)tvC9^1@f+?wh zbTB~9(g*rAY^lM6vV&s*N(xI#vcZ#n_#_z9*b4~>kzN-S6$NaD%f-103P(0 z?mr~~^MLEGP!EPJpo>FKhFuFKc&}MFX6P~A;57=V}jfhEx*!; zV>Y0~-+MCkw4=4m$64dX`qEYjMB@|Im5D6`1`hEl*xhKX15vvY8s&~yI!-G8Ii3=>m$fbf0@;uv; zw@KMFQZ9SD7!h0y-J?@IRi$|EN2luFnTD4o=>DbUgZBrE&o0$-=J+{SqPb>k zeQBG)nc5~;TocB#S&Nv0f5KFPKek!Kcnfmta49ewR@O4aco-7Rw|Sj&B<=XhS)X@J zTV(XRjLtS{fT*a~wu!lS<|yA)-K1b)dqAF}-Ay`ZyoWzrRE5~`75^}Zv2F9bT{+!b z#a_E`FL!2jw*>iqB5ib@)x;&itGv*Q(}&SFj`PT!hFvO$!(m&7Iz6kl91o#qs1mQ? z8LAmiK9WKf#WRQB=9Z3cWjm}Al08d^f93cFi-p-ml-f+>G?@5dpa+YFFQ5?vWf+?W z@2NM;atL6x3rZzwc0QCZ2jLCbG6XhKnD6kLH{xy~L15^QOk<7LmZUPfM$C7|9_2EJ z*@Hj0?(wDrSD!1u1f4;04{RBPi6=gUE|FkB354w@KqVRAmePPx1g_MRbr`L|G@%Zz z4O~Vqp<=Bm35SD5>9!e=MxC<2Y&f!UTIdjW^3h%4h_aR@PtG>|vcI#Bna_@XUYpIoWf zM5^N13hW?VUXuBiLY9uTuRd7>z9fSqY@Jx3n^k;34Bsy5;OBf;k3au7;i&7mdF__) zqHm2Vo_FUR7i^Wel8;taU%j~9Be<%3$bYR5#@>#sZH|eGQumY`#C7?)?e@m)-E%tY z?o3U3UDADRFOi7a&Fg88%Kx}%++*CRr}w@csp)#GI>NHYze?LNmgcqFdVP1o??+f% zGqWBWW08tMlN2Yr$#SNDrspf%Z#e6cT&wlL+hTKw$VF5Mbg5{ZGL%)*L zCE1lyoRM+Wg2N`|NEpz+3Mq4W3g{m&4~m-{)X_+T{{~igC!tgWEg`jp%|a+f;~3K+ zhYYHq-aJT1ftu{_;W1RiP?mnvk8~trcD;mSusxw&njdoTbVDps_5}qgX~EDr7ujC% ztrA!nrenK?7zc8Fcz z#stJa`Yln*WUPSyE~OGt@u!tv>2fM@U)ByT7hCd@)pcBvhs0DBCi;42WpZXN z4G9o0F4vDo3!i=VE3~n=cJ$;mu~{Lew8cibaxghEt&372ob?m#;g{3`QmG?pD$m>6 ztQ>4COV8DcvRe@fhF2Be88^uW)xK<<>o02IpsOdOi^gb9yMG}e=O?gkfS_FH*N>_d zS+2oN)=48J8Ouue^ao9$rUJ`)kUP7Ba(0%d)Q_~qVtlUJwMVnDf0i9LvTuiiUS5E` z^PN&7lJ&06+hWp2^T&_Mc1clg*`ZzY(4V2WNCqDX#YJ)<_)JjIuYJh66<9IMf&YRX zHyOQ6v@k~a2LNX%Z=Z((?W%^rABMfvg zc0bPYFA!XMGXRUh@hOh&{00z0#Wm=9_QGGl9S9`I4!()YL`|Y1d>QCwI%J~ilP_#A z;+{oH^P$Wk1qU$me~gS7mX1Qr!Y$7q_C|55_oa$3EYYjN%0h-T12;G(f(!`rrLKO&&9JkDfP>*Y`L7i*j=*6sT$gq-RjfvAPmNVx(-{A1gc!GuYzP0!^g=%19!9u$4wW_G&m{1_dd@3@3(!lAGX zAwTSlmQCL0Fjd#WMp}wnFDi_*bVt_+_Zcu; zPlW7v3U7!at#r@T^Vu=@g|~Z<~Q5SLZq?-h1tMx5Irr|lGM9NZyTB}{)Qc4s+*JQ z0z`TJr7tv!IcU)wEHvE-pA<23Kd$?|R-mN;qD_i%?i4OAPYr2Ixx}*nEAQIai8s}Q zQf#5jYPPdowCo?%x0s&aKDz%pg{}IA;@Mp~m!(&fLw`6oR#r`xT2zeRh2(1JAjwpO z74gMKQZQ0kFAl}}T$1izo}a2$73dwuE={iXQLNIV(#Mpktj^R+ccJCPA{fmi>x@>L zZ}rash5)vw@MOKX@mQq<4Dt3r=#-)f`%o*(GEiio;79|u&1GYH zLznx25R^7Ka0;RpjiB@_3}heblB}&pB%szT)w0FiDsl~0OxI9f2P7CdSmQ+bRTF6H z{5GwQFTf4~V%7mPawNc0Hsj&lF{=_}3Os=AJz$B@$GHs45(K1#I$-e(NMu8L2;ed# ztz2j@;4P-$Ed~1m*2(lH>iH+59x)$JT=etT9_Utg9CiA>d7Z_S{F#`wy+${8TTWwTbKUM_!Ug-RKOX}2( z`$@un$T2>pdpMK^lgcgh*V)~}=6dijHEh0=-WlcYr$=pj!9I>6;sLr@Yu0if%mkb< z;`+Y!5E~DZA4aH}eSSM2kuH*;`Nj=5fSUQm*ND-O?Hqx@ur1yk4UstStDb{|P{Z%C zI_+ay;j^!3E5vHGOFSnmy01Wg)3;Dwp;Ez>;8V<|&=y6osuY!K{^#4Co?BqkS`cc% ziIC1<09UrQxW`n&vv!eg#Vl!m+1zwh$IL2A-UQZ@Tm%Ww{!pix3bu00=V5220E%Jz$gJ8d&uKAclcC z8MOcdwHC_My!Y+7VP#?v? zC6YC;deg1o3=1D|1fF3in%m%*AtT!DAW+{xnYG^nsI=VqMnN75=wOp>1P^8gZ#;56^dpA5w{tFg6N zA#aB$>m5;p+uDV2i<3dEmQp(1YrHLitl(ba#`qf(F3>V~bhsU8dvoy`l3HItQvsbQ z7|@Hmh=|yecYGbsCQ#%Am=K5=fO<>0R(&DI8>@ECZ{6Omx2b)jsH+eOZ%qXD{mdRH z2%qfLv<;Kg%j0UBiC>i65iAwM%;C^eK_dG=;rP-Xf`wHJAy|9;B%VC4_bTQo|A#Me$_V z!wO=KghC-~9Xq#v9P{?$btqR5JW#;888ubysYo32Tt@7L+|F=Ee4Uf>Q%Q}YW6Jo<^RC_ck{G_mw@l3}`yP)i+QZxLGq)t0>z(=E zImUX6!=5Xk80e$AuoLgmSR}V_u`)Ms6xu}IWSW{RdyveNIv@j z($m-Yf=|5nRjY8#p8Y{pP~aNT#I1wX4z$B)n4dIe%qp@nU@O=UwuQijM{-l*NC0%FzUsD}Cv z)+uDRIR8%-fo#>lXcPW>dVN5iz|R~Fo;g@>5S;~ayvT%>8#@Z+09t$cO}FSN|IL?> zLWc3P-A2Hj{L5jZDaru6dbcm)tSbWmUcBDyIPqTSdn@G3?8K;T>lfb%d%~^YCuHZT z2L9HVGy7#!4Of~kC>j9JZhSd&cRcsO2iKR}UB7b>jMn`d^T>1JAw?YUr%6I^0Df9T z18wycC_$T@7kPQJDFIsIa^~Yt*L;{&K>ZT)UO*OsH+uAS!}eKB&vS-tlHT+@EY*nF z5y=|AZc2sJ@zl3=g)IFUS(M7>e%gA1EMhLqcy*`L`x;F71-VAl9#mf4N1Q?@PY|Do zZw!H^1rn&WzP36_!A(K7zz+?$aqmVz7uZ_sg0H6EZ`WT7U75W8TjUOJsf2gucJF0S znI!zTZoz2FH29nRShdM!iW*}jWVCM*oVN_fc%YRze|^ES$@yDQGlu6~0i8TPuY@Z2 z+rpcGH=?>JP|#=l0GS*n`tHQF-P@Q{XKiZOE#{*#r2>1qV*6{J7jN2zG^;_S04f7N zMZ-@xig=S{%I2?IF7~@_QHG#iJmY(zn#5^b>m5U~RyQi67K$ad~?$A zo%+E-U#_s+FZBuVvfzXf9kmA}5xQ zC+J#q`n*e%=t1(5*{?SdTute$vAj0~P+cIqq5R@UY(TB5F4Q z)P7jCFNxE=CX#mSH!$7Bz*7cvJaa`y9Q@+6nd#a2@<7j!iJp#C{zT53ZM<& zY<6$|YYvs!8&*Q)p+&36@)~2n9o;8F;Un}S_PA17JVmP4G0adf0<>S$xNYj^>t8G& zV!=Z1d!?_J8dPnVw5QJZS0@%j5_g3rThInP=Oc*q|2)pYZvr>!9TSjpb;x>iw;90X zsWfDIwF8`xHgZYlFq&KtKPT2jSxiSS!;5r^^Mm!-F?ERj7hl2h8|l)pF%v?}2U5@( z;e+{VjOIc=D>#E z3ohu()@DMXr~bdkK&3Txi*wnj9}0qnLy%y~)P3-lglfeo9#Zl~(`{ag>OlX9RZB$W z^AhoCprwnkN|OjishG92{|{GR8I|R>g-dsLOP7F1my~oj(j9^#AQB=dCEZ9Ph=53k zq=+Dml7fKJAt6c%NZ$FL^W)rm|LigL7+W`d-&%9c`P8gDYiHRlOX`r0Yl?Nu-kNEy zfhq_DP8vvq;gxDLjiJ6V{O|(05E-5aoD{PER>=qYL&R57af>zfiTU|pPM->iA{5NDr~C6%K;?- z@RYLNAiIg!&C#;EYhG2HR#LKNd|3uKJeLo~c+E?;n9f#{>uiVUO&u!v{Ilr9GBxn- z)l*+3RQ^ymNWXRK24gPCx)I*w=HJ6F!XviiP6iUiHJz!#&jLk@w6gYr^1K4CKDLD81}ijFlA!MwV`_-Tix(KJ-jP| z3+6seUkSb*zVCdWaVkd4bHV%csj~q%mwtIxGn~@95pS4#ZWhutP$KGm>?uS6UrBVv zI*bC)=}l;tTLkw4L3Ok4RD;Me@9T)bYMTtQ01rTn(p zOLOAj+tK&C;~8uSSye9p#;s8*wV)AwY;ZL`zzI&x%OpQnVA$YIi2mZ%g_=H$j3@f$ zJwL$Z?|irmld>8rZJz~{ydj~wpflgX3U;{d5Ubz<({B3tl^lb>G!t}QH{nV_(Udo= zHl438BDf}N$q$)@&l6Dx!SoDon*)BJKO6a!CSO^_qiy|Upa)$ToT16$^F#OsC-p<) zUOvEsQfXZ+t&C^&JU*S+@50G~LFEjLjp}2wv^VWBx(0KBR>rfc4LESty+A0~&gOG) zu|k^|xE##|@@Qs!+m%4ZlZ0x=tND9({hzfP9w!&Z?t=ev+2G#8Vibe)F5HFXa2eTh z+!gV=Gu8SFy~;AnL$Bxb`vcc{EBfzYf}^O+f)~r@aAPb^ z=yUNK`Zr%tGp(p|csWUVJZ4FE51@9~hYz7frUH5Kd!{~;uO!pCoUa4gt?7fC>NC6g zTi)v|2!Yea@7e)L8A9;=fU&WLdg-FOJfd;{9(l9VnWRo=C1SoKjiOn96RT(!0)w}=vHGXG|+!8H?F#0C>KyT zrLwCVG~P3t!+*a*xPGmKGE|mmfSn_PFG8LaPl!!K0UClHOJ}?%!0FcMwjN!)8`Z|% zeUaq~jY*p9#&6$)v#->md;-f}?mr&(gc2;~Ym zzCQdK>$~SWwdkNAn{)>{e#hb zA3mWQqI3n5Vam^0oC}g^^{A+%Oft+myo7)W2gkG51DBB-_JlgnAwowEcV_c@!!L-1 zd)^5hlD&-|gAD1(k(_?I#5otV-yn~$e?kf+m;Li9S>Y8lzRqwV08aqa;pf~SGq2{0 zLFV^1v(ayurNE+}W?E?;u?KE0Q118m;s2)FopH%udO(q!M;{~JChqy9wnRG+JQ~yQ znlYb14}XY$aRp|iQA&p0fG25ZhnrnKwgrg&0!pQ(+4PAucKgcN$M}MLMboXv+sIlblY+wVvcihd(B9dh52f zEbr08ZiIpPGJ{h+U&&wsWs~hI3Wfm=;R+bK|F%gK09l6k^`XB5flH<3x33TgBBU!y zjdJX)?2K2#@*3xI`zOUG5c>3K7DAH%Q}iby3zbIdHl0lSX9;mN&Gjq}luRP7qp>&I z)$p8fvuwVQzO5bjHQRCkR+1}(a03(e_Pj*o0cQcTHZPR&2MtKd+v63d+g4gnFYw=J zjft5u-gmYay8fak&87GhM$mw(P3qX`K6r#7S0JzLMu32?Oj}@`^Uz@GV5r@!xu?~K zeiHv2=2`f`kaGrw5qy!u|8gaf-~b?6;FQqX!C1f!{`aOLFf51pOpqX9Q}Yw^K8Y7y zcfR18;S&-%Wp8lAc8F9Mz8MB!X8_Hq76)dSCKxS2VE~>Cwg(n;z3)DumAKNlxmDU( zlAqkk^@(4685cmlRs2&V}*rp%}T&)S^t7TF;qti;{>j>Zh z(zl;f+zsTSw1;lZ@@5Pr5ZnhnPC60Mb1#wT(Cir5V6`aCg4cXk5pNvwM@Rq`Nu76| z5cvz|#t35d419{^OFI?wU0fQexb@`oCpqwnewJ-^lzi~#Wbu@ zc4vzOd}U55HIA$0I()*`C=u-zSFYbrXKZMq{O;XbffxyQ^Uc{$syJ@E1zM!zPS}Dv zQaz+mWwd`bL5UgCV1PyhW$7PS7#S!Nokk9!I#56~A9S$UvL}+lI$x8lNCP=1GU=4E z%s?xo0f!u5j-j77fd1ygfiB7^y40X}5Sg*j>K&j~LE{50C)LAr!(%Y`cVLX27W`AD zXg~xQkm3q#BLJA&S=|o4SH~9)4UQS1av+CtgJ+8& z(~HFbYB;}kBebB*n2*hfrch;S!Gvd23E3C8e_j4y@LKPyby*(MeJqk%$1EhKAPr&*A z)f!Xh=k`Mwp(7ZrrpM6DKV0O2k=V@l;;19$c< zKm?w@xIYh!OEeN}1&RX3TaOQ+6B%=vD0WuGlZ@LbgzF~wQ zgprj5AqL>aFgiSe(aiz9<-vmNVMAW89Sz0vd(e4-tP=v@lr5@1<+I9fqEumNc%4v2@hNhdJ)?Q`{CeD9=8qOH4pfsair;&D3 zY)ZR}p2$}Fu?Ow7RutyP=Q_5ZJLS{(EvWth?1&hD9j2i2!k1rH1LSt>KWUFyiQepB zXRVp_*Smk-?~tu!c4U79JrC$92-8`x`J+$hb}U`VN0fiN&3qRxU8&HmlCqwnr<`EL4ZUM38DzXC~G{q6gcA9Z3N z=@o!ogASrl*Lh5gLC1`U>}LPtKKGU6Sep!ER)m4yqnSrNxyD~%Qi;snyE;Dp=%nMk zit|*U`w+Pi2JO5ID1{(DYql*wxc!gp9h_XeJL-FPeLNASAd%*#;#Ify=g9|qC?k0n zKk^9|F;VW#&8|_bM2#GjxG1g-=LNPOlbdJrSV!N<636((L)4MGw%VcOtlCc$9o=Ej zap)5aP3aMwmRDv_Z$X9k27Id=@8R2TiyyT!-;5d5b~9*)rxKYvRSwXYgWzT=-Tea2 zK0VLRXsLOUQBK>x*7Z9paofnI+d!Ne)}#onT-F3=zAAvw0&R#tw&P%0H0%By^8~tB z8eQ$w>2C%9Afu}8d9$k6dEWHomPxf~mCCTBNXbyclOYmIFY%T`X?!VW+<64H?cjBG^{GqfqXlbGg{jPozfoi5C`_q_HHi2_COZL`{vWT z;vTb^zcC``kyr$%cfe*af95%pC5_%TmS}(^;Z}g~n#;)`a_H6LyJ05x3i}z-lGODb zc0F~*ggC^1KIwj~4YmgOp>osB)~j(^7|tYvA9~(S!W6&xfZ-kOGAq;7pObOi(>S>u zB_h9VvE)aWs-sJC5G8drr>uWeWo^y?Rp}HYJN?W3V6BFl`2^lNfUF8-N0M03rKf>4 zsT<4iH|Vh0)@U|Fyz#Y`+d#thHv5dCePXS0209qVPWHQ6jag{aF+P? z^b`IK0*H_OF8coN!w5XeJFz}(>vJ7Ct}tM^k@2X=$p4`RwB}#fFSoY#&wL$CqO?vi zruUHyfTQ1M!_qr7ElV7+T#?V8!^`pz$-Dh+cO<`h1QK7|*u^v7UJBJ}$Y%H`f)(la z&}7JAxw)FQRh$P+m=WRtM>G#0>%%*KY|yhjiqR_Y+8oxRviLutav0vW-|wm$2u6|m zru@klA5C)^$HJI^Nlb<3;=JA~rz1+}V|^)9d{q$e17rmbfAn z=n-FdEvG4K)R1gg26r>cM?Q{^g1T1VNdNfwR8D2}?)J5sw-Lz|AZznHT6*$|BahGk zYLTL%A^`POK?!2?`|^_PXM{(JGNN2WEw`}lCZ>A~o8X-4;p(UR74rSmc%yRcUW5k} zZa(A`0I};ze=s#lJnY`70cAusFmaSjb3@I5A^e+Wnfi3Y(8Fzn03b+)fkw z746e9BAq8Y6&mmw@l}|vyki(3W{~Kp|Fsu!s_k0!4{zTS<56Aw&fg{J_LK|%`Zej_ zq8-2xIDFNE6f~=^i+ButGmDVXsqr#AyEidJ7wQoJlF$;D)L|1dA=PA)BsW?VXQkpV zgAn3`zs=|HmJX4D!&s2aVale@95ylCxoDglLh5Lvru~50(L5pY)qu(tz#JN@Mq0w= zO&*nRQ0|Qn!>cexb8#q2z6lxC{NPZB!zF3z{w|WYNsA@s-19zy*{nqf5nrC){?ta+~KY8 zp{;Pb4as>8GB|AegBlN9yMVwli_M3uX1bZDqnYllUkbN5h&F$%wwdi(Cs=DGK@nIQ zFS6NhwafPW1R+ckn;t4`?_9@1dp)VfXHm2J@M8x)&w53-6BbZ>P4~NiNj6IK!@~!` zPfwQ#t3M=q+>#j3ZvSHcRJqE4+ZqfN)+7L#bM*L$Z=8oTVHE=fxh8hkLyD#ePX*&Y zPssTTVb4Du7C(pcKG!O$QjQ1N9OruPS(wNj(eq_yoK#wDSPsI&4)XKYy$ir9Lt*_E zI#AZ1{#=`4GZDg5VCGUQO53>|1YbMv35;Hw#P4`A^i*<>%aSwv-=_O<6b|fVuHe3} z=$v2JaZ&YCp5ETe9(9pQzhU#otd({{eT9{&-D+>AuzCVzZo@jX>e%SUtr7*J{yXn) z7B{B_boKhSa=ri7O3j*MY>JWgr#Ip8Ot%3($zMvG9%xj2?zLfTa%=u2<4x|B2+=zc zL${>je^pTZGk!%S@rEu-m`ue>HI|EQrqTF@Um}WAR#mtDD=+R1mK~~II#g3TX4$2a zhp&k<$3Z6=rdgJ3$ZG(`8T=bCjo&`IH}Q-W2pxP}+|8MKuJXpg67^I>MGmx|tso7r zH4~_0m(&JI9AVbwPSRm@0{I_gdZ8w~p61eE4bzSie$^{Uo5iWmxI=l-OstQyA50Q% zIp{H6)A^P(rRwqBb>JyLlXL)A+2wOOVOUxAkRJRGb@QYe9Que11ph)ocs;`z<9rUULlNYt!#MHqCg&1XNTP&eccV3Y-lb6nv#|AbVI!FX+QTWha|#7z!Jyd zECb(lvwqiYHnT+!9!Ve?h19V@(g9-7rZzc+A)TnSriI`@5Le;=7IF#vXIAFP0f6&oc8dp;##F%2A(UYe{r5>F__?VhrtC34>gCuYrcgbiwF+fur&Cx`s{)j$E-U!h z+F4x|XZK)s@?uTOuL)178dF`AkT3jGGu`U?_p1QfgU+|_-phxiAptEQ!LESpcObA4 zrcap9(c+_Sn-)vVyxz_CG%DCf7|W)z#w8Gk&j@%nGY5qGVs=3!&wzZKeY2Bdn$rfbA)@rp>19HuiB5 zxRAjhRo%^SGEZp?q9%}m*xoYW`po|T zZG9(G!i$xsjh!jzP=9-u&%iLu4k}t{!~Gv7{45&3;cs2eQ%I|8zu#VT5gb3&8N4%s z)&J;k_3WR84|`94CX}S)=vCyHtE0ZM?F@yCqN97=!K*JQY(FAN=Z#*FROEbNEU?Jr z@vYxDlkv+hfb|}Jfk3x6Gfr+!qbdBD=4fz#9EQgUe)>Zf3K2U@?rVjNZ?=njaCz0x zkWI47Pv46EAx-Rw|*$akvnMv(aKycbxf$rHqZPfKGwhgz6WQO ziZg9|ONp-Y(wA@#EL0wfd{K9*2U-=AZw+0*Khq`^FbNsJ@zhCaS!m$ySh|SP0i^*z zsMOi0!?y7AWHp}FeLMsW_$SM*g!z;z11h|MG$anmj1U54-cE*59Q!ndPmeVmkKIRk z=_xFi74bS{c)XG~m$A{U4d=-^zFrIk-{LMf9P|&k{iCzJ4)#iR2y;Jrn9BEiLgdcz zHV3$Hs+HDJ0PcqONx%t|dqKjdendlUInHBtNU= zuN^`;Dz|zscA7c#;<_o=Eo#qUMh9sP9P}(DgveYN#L*XNSn=*N%5%n4c~(g+j2SfL zEoKY)g0*M23k|BGyt5=|#%6y1Ea>f1mbv`U@>3ZwKjx8i%n2x_#&>P{t2$zvz^pI&R0xZ`@ENrfT`N2 z*rJ`fYqa#zJT$iT`;BWv@+L-BkqHyI3Gq7|CkZ=ORBUp}Bjl?WZA8DA@ecvM7)<9c zx2iL-__hb;jXaP=fd}faZrto*=1z?#V&)xV)h}6uKF4m-Imt){zA%bDJ_`mBb(g!G zgZim_6h%K{ZnN%O*DP}2f-&PeZi{{&P8Z@^foY{cg+e=kUu?xJa)yiZ)(faM zgdM5oNE_=G!d?Wy3s4Dps`9C!k7tqsA%NLS$AtB7I_QPqFM&UV2rVF$H7UTxo4ufK zgG5mz#6(>%&H_L9bCGk)1ba#>8KTn%$rgy2=p?<1I4N{uvsa-|%R!JDusOP^oblV9 z>DB-zf{uThv+y58@B!C-QQOC~qQ*A8G+Cu4Yi~C07!lTcY?b%?6@lb>1Ht0$Sls!zt;;4`by4;ce zZpSkO5(FdT^)@+IIjTGN1rxG4Z;)qUrGCQe*o^XdnKmkTiM!9LSn{G;b*XfCGK6no zRx?TN`sxcXtYC1WRTsgVCUpIcb`COK2r5Y6SAwvBl@;0DBJmGW9YOS)1rH#n?#tXP z#ka78?khn@+U!d|?!SXVJnv#GOKN=79L<;+?{H6;j}ItwD(?s>lg3F?tj6zv{hDR@#WPwd1>RQTmMza#BV<|SqB3(eYwT$q> zH`Ior`dm$)JrF$HW&nZl>xTtodHJxIDgBlf6p?8r==NnBi`HR{TL92?f5%j>0fYM! zvOt|b-h|aEfV~l8c4XX1HH(y#1y!n<)7vH}Ulm<6tIYKvC*882G6K2@(!3LTvcAum zMVo^?3rQKRHK{ND2N?d$q$e79%&Wv?QuJwV+ABd%&QrX}EWuvi^eQ4(!e6xm?4Dq8 z?Hl_E;?;ZcMAu}$m|oFOhQ70;I;SJ7#dw5o#jEf+!ZDsr>JWwb*WOI3kyyTe@3xMP2AmJpm3ef1~00#lwk(wn`ujSN$Qi!Zqawy#($y_nId8$fV% zWk+?bWSPrnF`o$M)PQ~xUirrWw6nXlb2}0r1G*{#t6!eVrl$cUh-|0%!aO((>z}Tw z!73Km0KjQ&Je-Xr%;c=KmeoSDdT5F=Kk z0s~@)-o^9WQU=?TzCaB?7(}QIaj_;70L88trExGW^kzs<6>I01JQZ5_*C?izc>#}@ zgvg_fQPd%L6d>q8Mb*rzXL-P=lPKIcPn)Pl&h7zvnv--lQ6xWklFk8mEfvl93`JR- zBp=pduc&>B4#QP51O_y|6GGC)c)xAItX+HiHf;4`R4z?UXYO{O!BK3@P?%VjS4}Py zRniP^C5C)JdT!!fL@A#hRqa)Q7U(_4FC>gz~>D5NF>OZYGXPk zDCxB&`9wcksem~vz7o8I-yx(K&_)@M`@!7u67u&TMFG5`MIR3|-0#wOs2a``k}liv z4!fg-wOviqZ;m-aW=RpeBaq4h+d;S=RKqdbweH+T02lf+=Y9pk72ghREoTlQWN(ck znOC6Y2beveZ9^b3yxflB-h}(0V)}B7G>#t6xz$P|LY-a#&jq0VJ`7O%kZ8a%`zu5~ zP3fm8j878b?)C=M#W)Z&NM9o3_Cl4av?BCSiO( z;eL#Z8+2TV^7+;PtSY0IWvT>18`PEfT~gc%G$4SUXxcSZ(cQpt!$?4o1* zE#UWyC!YenDkAL!5$cD4NfgB=OrlR-Zt6`^Q=i}x`aX7{ zdN4il<v49)KZcoTI5i2ins^Q`Wnk*#$ zdLrSqcLH-OKy`{i8nF}wc6?Lj{LW z?t4!j$OeBLFwDpMHi(>l$O!<;8g$A;$dq zK!Ugp-nM2OmuDbNs_RB_U14nL8K6Ud{T1tc+| zZ;vmy^x^rcu&IU08No@tf%4ktpA1_6KT@N&*1Srhowy+1-vc>A?SCR;!PfBd62!46 zLz*C*`4x7Vl|0Z>!H)5b#L*gSTRSW4&g&S^b3O$S5|lgNY(8>k&<*hG6?A|jVP^e> zfK_&#$Ue|%j(bYqExjwsV3NqON|(T+>y<-&(B0*wrcH=@dTtAh=rYjkpA7^t&E}n~RCBz*d9L3?WXPTP8 zaEa5ktM%Q)tC}q`<;V*IfROeOFg!W5p49ENE>FzPA+o9jS_V>fY?bQSw|j{xMeoq;y=DBiex48u44?*Wmz z8;KYmA@>DYi3H!ZzU^i@*NW8%fpxg3R3cN}EpRR%>?fd6i&u?@0@~gq zNL&C7Z{7uEuo@oLBYI`4$2a;V4niq&oZ8^v<2W>1{M}Cy&WHx-GNuV#)Xg}t@1%;1&SNg+ zYv5zw!b9}e1>%e=is?RS%dI$!6{x;RFVrYj6nS{p2;7uYuJlNP>eQ65$o8;lJ86xm zTjJglXqb^;uE#(WlnR}6?TjCd4%?v$`1R0c@&hy#%zPJ7%OFkaH$Xk`1Fo# ztl{w4TVT18DSXVi>Llj-5Dh<-Io3I(YgTfiDuIX!N ztnfo3v+avv0W+AkT(axsx~{UQmB6gM0J|A3j4&>>qDU3Bugm0zzE+9ff>;(vbOB#< z9{f1MH)?Qkl+;&!;swD`^%L!3OdXAaEsS5^;u|6;;)JhdDV=ipELpsz3ew<-FvU+L z4eN)Cbq#1i;PAnwAU2WKk56F8XTxU#(JO|<+X`~<3%iPzPA9elt)j0JAL~)3Vd1)R97YIc#g?Aom*r)g2@B!1T zZtMdJ1YS#9aJ516y>gy71WL?(v@O^Naf4H9jLbNa=O?~!sI#D7CY!tmz>4Y$kptXL zB6pu<`@z;0XMsdLfcv4NGEfTSWisvNw9V)*-oC=Fukr(4dl!6&&H{GCoT3z#Xo{fU& zxX^j#wiQ?`Sr6>9Nx8{T(7X+$y4dn{h!S?BA7LF3LIfC%BJ6d_T#kg@xgC=h8_?8^O*qr#Rl=2_Uz4v~DT^1rv=nP?+{)tjJLcW^`#2>U-=z)#!M%dfjAeB6amAgz} z3WJ7c-0vaf)uJ8cxRs1-ofJce4l`*8>LgA|Ptr{RpNcwpstuRUPiTW^k2nV@RGBgH zeMF^jc*`F<=|!&=e(^@u)zurP(^26JD4syG%LEIJ8)wV#onE~l3`r-kCtTThkImBd zT5pPU99^tkJo03>Zlbv^sv73nubj;a-e`F*VG#!KuPe9s(%{2Va)mWz(LBz9{f=2kBL-h2$?Wd?b+1no;HSYt~U9r`4JntdIw(b8YA zn&Bq_qvAK91Dv5Fp-<3eDp5Pe zrhVem?G(ESJVX^TAAST}l6d1Wj!cK$XztCDd#CoWj z@utTF2-lEo4gloKz$IjO7e40P_uvDZgWngR<^3{%c~$}HN95+e>N|3;Km;o)Xt?a0IAVS;GfE%qX@2;dOk4{kAYpC~yS;dVlqs{1@0lOsshz0bk zt#47?v1Wk5xoc_dp2QW*xss1o@=xUE`?IyoX0e_Ig0vR)*s`2wrAk)gGRpKL92{f> z$k=wE93{0q+r49~Ab`2{F5LS1vJS=ekSl>ykwaE@Qc@Bk423;E8}O*XCAd6WxT-sr zhUFFvcPMH1GLa@YUzRb$!Qv0Uv)4zOq0yCa|4-Q0o**Uwa4B$TXQ%my9dM^g!&*Y% zTuEOfE_LNTyAy1NvS(L#FKe}9wa(ld!xp>eCJPA3jA{WdgJn(*Fjo6Nf*35bNLUZ^ zjK>+{G@K&s?5;p5l^8oD%OReyA2bY<`MN+nV3#BE0hvPXuo6oAGpK+&t-k~g@1pe7 zs;81L1+0<|k8^{bDk6x8N5mTYW(nB?LT4%qQJy|c8fL{3$ycYj^A7hFY<+M7d@S3HqHQc*y#ZiBhhmswf)na_85Gu>k%MTnIl`F=8QG$Ew$d71qx z&6XE}=(uWsj&r;ZzMXUqXhXdpHinZGq0SpX?Gec!fJf2G*WlbsQR-VEP0Td7u_F8A zc017TJywIY92w=1gzg0ocJF|Hq}TWLV!-KnkK9fKs<|g>db9E$$_@|yCQAS8ChzX9X|)ctV~iEA=fv``HGwNvOK`YxOcQM7G{;#&Nd4~k5~y1UyD3#-qikUMxaXoV1>`A zE^!FzYsz0oc)-SQo-+nK08Im#O{;>$n@PvcK3Gx3VNC)^&DV0n7VqyLRUTsK_1=}t z96wV>!B@NF%uO!l! zq;Z4$R&0FAPQi0RK!vc-RQA9@deaYMGI&7X|K=5Y{ zIXkeLR9RtAJ|i?%$}zllRIs)!sqpexxugi40XKlrJyo5GJMa73j4(0xMesU58Z9ZH z==WAhvf|HZ+H$sE!589SjH+ItKW06)+0anbc>xQD0Jd3!w|h8LC&rgohJ}rV(U%yx z7@+%u%G(aW!f!R0!akja1swoTW_Ij8Q5up59mSr?t2Ez%I0hD@GNVn1xNC2>9-L|izFt!{09O~Y53-jEp1nafSjpT2{>T+&6y<(B!HQT2 z<2bw$nH2tKAQg>AukU2d+kmJRGZ;Am{TI3pvhKfQw2B8Y1vUi)9+z8qYB5Cmav!LnBmoEQK7j>jTbzZXH8O5u45A|tW)oAOi}W# zMO@o=6Esz?8w2_RIaB7Kt>(AkPAXsS=hYkpH$`u9J5*&QNM9OrOFUcZP?Gfaqd}cu=S}FMXo-w+f3NxwncQiCS$2ABo1c~qxhXiOtIjMP0GsDc+%w12iZ(6Gkb;a^kUe4uR zMm7V(-zqXH4)Nv8i`YOFhRnwy7~ngC~Bg731We6Caea)!w}Udpd7)Q#Tkd% zw`c#tvK3@GB|QDSpIz%5SgfqWq1#0kW{J^*f~JQ;4DhNSbxxW(w_rZ%Ov}v*U1c@I zV{|l+(l+B{FZ1~wD;TSp8mjdN&@KcehYBNXQ`0NW@#XA#%y=i~DXcADUR9=w&ix3^ z25}Q_XT0iH03tgmJYC|lR?K%z+r+kZVU(e<|I5V48Zyk%1ON~KimOSQ>&=hUySg_J zzX?NNK!{L+&nBEx!Saw)QbKaJOPEG~e$Gf_N>P0Ox-WGzu_s-o|S|1dd_K#WZ$2*I~=Q$|eCtZ=mEAQ(RQ)>15Bs6v z_SZ#0($pS zd2=mYT*h)Mw1sSEmF)A^zCa`+6M2lKo-(x96W4660MY(1Ud!zcP$WpN+2<1y##gZC zcfX(Y3!bOs2tIYvI}4!F8iv+3Ay3$a=qwAFOjH#c)LMgN$6$)sqGyNa6*9(zxt1VV z=M{8{6b5+bO#sbqyS)2>+9(2?1bir>X1S#A8c@Cr*8N!b?D(lxv6E)2?J@s~GdxoVy~&7g)ZHaSg#*9mfTa52Eka##gJh zU9%ZzoY|+}4VL8S@&RNA5GUyBjpg>(OuPI7EH-{b0pjrJUY0cO!McB#m?r|6Lk=V$ zGBY2aULm6EGNE?9neFsxmYdDr>1&I;36Q;AhlWHO?7A2*3P?NH6UAsv# z`|&P`RObc$^Fj)*_qX%{pGEg($$*c(&B`Cwiq!W}nquT&< zEptbdw0ZD!f{k0jtYB?oayWE=?hMpqP&n~ID0q^p{vMp{t(H@P7&7X{PfnIax;W&E>xa5J7#M&=k9C1$ zc?%R=>z$Hv;{)AL7ma2d_8uydKf1~6L5gFX(c=8o%0)OH|)enP%O@+E%- z`_BUT?B!1w-gMzJgjx=0(T;aW&v)fyvpv;#x}K1%V~o#L7JUG9cfEQHgYh^;RYA3a zJfTwzvmpc9cjh|Z1F=FpXG^H#hYxs6yJ@!}tq(#k{I8#UJ7oh zXk@7$>`nu@`QdZJ--{D*C!G*&SK1>(c|M0=N;Yzarhd@6`e_1-B51C1>2E!q8;?YR=wBin9FXxW!zr1; zRqMMi*TJ8->_;TKY_qE$gJ`5J_52A*%hpa%1tQvFcgl#5;N=W+ICpv2;EY29$+*5vMk0mFD8kLK^&vuG}e9d zrT;Rn*vLjH-{!UzgiN;sTDK*^Q*RwTogtkL8KxWOUq3X^u0b?HOCsAGuf6J2?-csb z$*uO3`}J$$izUr;0vyMmq$OEkjn{HRE)|TM8IZz=MX|Fw`3Re+_}{~}PQOJ@f7_5F zE8{GD9aX#(h4qu^rgZ z6Z9o>F6U3#6P64OeNSDyD%J%hHYU&VZ`WIBLoGi~jZ_l{l(@I$Xn6i3-<(yHaw`xk zNQ_%-yGS`mk@GHx{Ty*mhljF0njd4l$Gn(BS(r=Uee~3ay=5w~Eh#@ksg4*4Dlso)ih7znX_*ZMd3i zL$nK@_4xq{L_hvJ@OsK0AON?w z!@ki*gqYhR!VNY0yrg)t1Keock+bWz4Fh+ z&m&+X$?VO}9-BPf9I@ZPtHA>0E*L^V7-|QpJ;&p51F3HNy*39)HeN^oyc?xlQxn{R{&W#e4DW4)6=Ua{0Uhug$3!a3nX!(cqokwTdYn@SHE0mzMo_1~wWEe71qn^d{{8@Ym21wG!gA|Kq6N5tfGyEB zKy#N!EBu@Zu5n110u)CBJW$Pd0f&w ze;ShNuH84XwpCG6L{gXH<}|fMTrpA6sKnEQ!Geid`H`JB!r&R^3wvK%6Jw;IOx9=S z4JxF_aB}p?Gz@3AxA|6uGw52@&`+USfD=lmyV3Z(zfAe}tF-SGs^3R7sLJq{`Ut9>G?A<&Yxp@$}BG zJ7i`X?_yf{QSo2T?^nbRvL;icf5X{nB6>$I&&-}TnZoCZiCIVGSor~`j+}ym-N{ES zL$vb4ps}WrD9<~R{xxoVcKgUAiptfpsL}`Mu9Uqu71b!TXRtB!9MYmf-J@S7(>YXj z8*b!676J$!IN&O8S^OpThFc7_s<%%uI0oH~J`{y+rNiU&H4s87Oq$4r1O^AQMXxUb z{qYD3P7V8Obt>D)cIEs(J*aTG5mKk7Mv(3R9>-tR=jH2&(i&hS5DxN#l?a50@Qi{- zVFjiYm!a$isIx%D{tm%r^53rQ)4S~gtraw~^8h^jU6#4C7-0<}Y&^(W%I=mX0hxrB zu33|Zd186*UghWU-DaA?bsR_kIPT}#2dHhYx>e; zI|1*3YR3;;p3s6h$~r2)7!o0A7&i0t0!8nC&Xq4Tl+R+t;niW~sUyg?nKnI)DX92n zZz;yZDt+hMp;5ZE_oBH#2!$zTUHHeU3BgOE{iiKW*4Mlh*R09YCQI<7!!=kYx^an# zGg4Dy*Hd*U4$Bl%HAJ=3@V$eFTwwwINetDkZ|aIB%KSkdESR|4q3^=$#=Q@XS*5RG z@R77m8aO$r>f=_tGfxju8ZI>|TmG&PlC4l`@UE{|jWh3&#g)=4<(xX4G9q_3GB;ke z^3sVJQ&O8Jq5&!xg%o4Ltyq0>8%HoZTmU@)%+S~zM(GdS08gy%AE-91Th~$;7vX-9 zf`LpWil~KvP$)?gui9S%{!36l>wQk)h&>volWm3kjw0@S*`VwV0Ptjy{eeI=Ra#{5 zL6*gg0U!^ca)0sHA9lV2bP}ouI%^n%Q~yGw3$k(-G}!(S>6mp@hUg5)SdNzlIkvM+r2y`$dj0ym%!o(&~(^gbtzXV&*TJZPRTyjmm6aK77{ z+A!-*>5QtJUJzYS>Z7I?r(MvTJD;=Q7c7QJuvNjhe4q6_NYVbG#tDt4WicD!Hx;kD-;UZ-{K2^m+P za`f_ux5MbQ^lw@$u|9>~f%2SIf3&M+bJCgFkb3Lzj=fHYwVtMxk?7TXbTnTDk3PjJ z3ohJR`Is09LvuxACA4&fU&7HK2~{PRR%-aQ$gP0qThx&idL)70U;C@U^hS0#FkBR` zq$-zUSoM_LjLLj9P)jkR&_c`5KTznEsBItk(@Q$_Xae|zIDLyCd;5mM9C}#>35~1d zvs05G<$Se}q+qt9uWDSFB2pS$6Q*a-_H(ku9bX*ew?dtRsf~z` zkORLSNGK`LDdsalTo-K5CK-cKo|!@RNoF^giO86CFDE4Sq0O|02&ak=6+{vXHF*IH zsa;)NFM?HJQA%np|Lc4faqr8@fWp@jm)fnL(QIY}&vA0I^xSVQ9t~%yx3Qa=jkAp1 z)fm#IHSxqP=+;cal=po=YAR#0V((@Ao6b|zh^<-defno+7M>KVgCb7t0gWOKfiZ}S z9LD9ayjI0${kvq618Yu8U+UHRqSx@YyF#cPO>f?_9RnV-^3tOtk7OUs@*kQf0y*ZA z>R!={F_r>23zT;z2Z%Pbmc#_*(+`VrW6Gk0*Z3qvMF)6rs*A7Oc_q$L^78y~bz4DX zl$n`{3=Y?i9$PQSj@fQ{pj|wqz6vl-+Q6tQx{X62`SkLMt1GwAN)!Rd(@tppLgd^BuzPLeD8YNd*|svmQwOQQA7XoMm}$>YM1qv z2*+Sdfh#D*$;k<^SkMr$-;|MI2+?>HNJc{wMTeILJ_|E=gb~H+j~H0JHD^+~2qYc! zKOdligX>fPtmYd)%7C+72IBR@p;?D%-5o-)+B1Y`V4J1}lAT9Di>$4M2eIyt2=ZY5 zKa2dtlkk~vqMuyWHG15vdj6hp?1d^QbV&eliNQ3(KMekn;|UHiSX=@#fwBr06@mhCQj{#b;F`OL@+J*3ITt+0VCgOND&aL4*#J4iH(YqXX!W# zLxC4MOYW)c{f?+hW?8DxwvQQ+j1)!=aDcPn{YHMzGf|F0fMKVq`CxB2ZGCG5>3ZA3 z1I3PQq$IrfaUfOXgrTwJ2|Nfx^d57_?_NB4K=vK{D8C1VlvXXl8%R z0J&*^Mo;=6)eMfowg2xJKs+7H6*llHK@SS+E+W&A^;|rbgc&)D%Nad`88_eo8-c4O z4RVCyTY%LyB5Qx=-Xn7Qb%D!AZEzI8y895s1|Dz#fFc8A%(7JP6?h~+0Ga*YLP|(X zJQe9KsQH#=$3dFn(CthYer5q#v>TVA_q|~;Iwhqt=^(3G2nk~l)m>16^}o|7{_`KX znO|<|e>a>WyCHjr!VjLhy1D{>4Bl4Aaiuy=rd_ipGHZ>N*I5h_!Gf0*p4uiLuO z2k!Gndr%;#Iban7EavVDryk2w1~eN47O}w6FyR9xq7EDfOw&jNYOdtN6nfY=rbdr; zqtJjG7WI)&T49x1d&BZTHDq5TY`HICUE3;TmykGt4+~nc$DmgR^m8d@K@vH(%L41J z`52>J-O2=A)k(jy<>;S#ojLs9`yO*FMB67|lP`$d=RvguXCCSBfPFQyoaYba%!9>F zP;L8x&>(;nwbz2dpaLU&wOPFi9t#T#BpdZRavZjwP+9EDU1fog1Bigh2kclF80XNm z{Gal!JRHiu-M0!+wi1%Ei!717M5eK|SV|bX2r<^OmnHkYBzr_D%T$sz`x+A2%48di zklkx!aPB9+bI#j!{oZq(f6h679G5>_W1D&Ae(vwRd=>~7kI5t}nAcqzyE4@+nB`&T zb!sRIi#f2JP7_7Dh&A7_Y$H&IopG&*8KLDX(6%&(uXH zP+aT)z=#GIY9Z^4N1e9`f^z{d!;bjRTRdDY0Cal~?As>~bTmlJzhG%39X(@USrQ;P zgpSS~)_(<*6aZHkfd>fy&k<`Q_y@|KtJ5e_kM^}k;C&eofSC0_76&l>R0g!5AirS^ z1QT!)G4tA@8)ApP_6qM@pq7-up7rP7F|1A1Z3Q1fq-g3%8v`Ckz#8)$&35A?mOS}5 zN~9Nn(=Q)vZ^85hWSSetw6L<%yOq9sq^@nfO53+-)C~bo$8qWE@4yN81zJL!m%A>!j{|KJa2O=r1qtg^B)Y?ZME+CMnCPM=o0f0QA9%8A~r zQo)HhCmn5m&{zX~^56vY?E>uC$C=B143I+QOuc@_>A{`%*QcZT=susJ4Hfk)`9OD&Wb-05=E`=SIj)imo2Htv)l*lZ2_?aXi7 z(b%6nS>O^-B~@Gp#-ZVZjDJ{;;$JQH(kf|a(72wOx>vKdSEPi`<Tj2J?VI&icGXD|fO-(zF zuwCpqO;RUCMWeSt?D~SNY%=%dWTs&Qjrs+y-yX8ee+1HwhwKN4y&k}{K!@5m3Yjo7 zGn2*(gBK+S!SV55*vN*9WL_3mG%+!Ox0n9Ao(FZ{C=PDgmVfOZ8*#y+nWPrE(UA|R z2gbvclwd+fO--%!-ju`)mqP;a#{K&%SO1W~M#3Cd%)qTuvunf1AlAxQ@Ekd2U{LS( z6Wskr(EYp5Ei0Nr;5O^J0v$;IrxGoJop!vezWVv6|YcWlv zs%T{C$3<$9D^!wEG}}r(!o+wse|2~-?XTVSj{M7Xc>BV=B-b=>7Zz3Y+vgUAbB^9a znca5KP(oIgRR-*xZgwtfWLAHNnE99$ET5R8MHqeT4uh34N*$Kd*#QF`E+ z9QUrb^LyEJ1B|rLFL4gMN-~V;*~(0mJO_z3SFc=dQHrJ~1~<8m3@+ELzBa}9&C{SP z9j&MeydAH|wsWmr2UA+D`lu0| z5zoRJ>|*!GhzawDOXT&d^}|G5LFa=APkvPG`Ip8fgpK~vAT1_*+^_xc%pyEU&*n>_hb%dw6R>SlcUUOOH{L>-2#FZzb%%V0+x5$i& ze7B^K{e|8B&J(mDj)fQ z()wnpLJ=rB5?5jz&v|_a%3Wq_UCAb^3h=kZEo8zObBZ**acK7d9fsq#v28@2FIMz` z<6$Y<{Xg3K)EVryShr;t%|DFssN{ZCB-CD^efvbZlHo^s}3P}<{jUI!mX+AtaRf_&=`-zGkBO^lHLA=X1Bf4eQdAX~0oTqIPw}>Om&m?R# zm|@7%3z*8|TwGl9x$YM8&q%&<$KX^g#WFjoP#!#pJddV6D}xNI6fW8I!*1J-oMB!fi zesrc3%r<190EX!@7cxwQIs;KgFfloKA*jBU2*s%q(y3&KDdYfg+WJxuTj<-4s!?%&TC8 zTVdeFzr7tc7;FYwcQT&iX9-E7f(zsae? zY?9%QV5-B?R`hz>cdL`K|zSLyo(9o z|DcRi$zDS`LnwF=Rq8sklmN`RT! zfginj{ZLva_y9TPMTSpu1Mt~w`)bl8qhND4gx>PMw_fGB34sCPv!c-9hMNP~8CDU; z5=TwvACV%YyzRW-ude^2v1v^NRFfd~&Aoow2KKAo9p1lh7Nj~rR1w5T+<@BYLZ#*b zH94S<9bh{Qdd{O_+*vF~kMb&(WP|T2rL>-dg9C6aVcY^QTJm^|dC}~#Ku1FG($>Rz zXsN*vaud3@D$q1+H=8tvnzq#gFow3huZjUqgBW$)R{KUi7v5Go3O!&y4hBIUz$}ry zKZgh#c7st9*wjK79S!}6 zkQG{_%f6bt%B(kXr$PzWN?A<;lp{N)qH{O{P4Oq66ll~yn~Zp|!dRe^;Ymunp3UhC}?o!B~iJ5`3@R4h=9Pm&f~l75@LC;eC!#hbT68VOfnvlcmWEe>|OY+@Yk1!uVHui|nt?TIhE)G}m37^SdOVer>Deb%?aiVkqP#Yhi@cZ1f zHgA%s*H4x1JA*71kyZmxXs{RvA<K-(SnT@%X{qIkIpz;D67z&aG{0$xlo_YKB z@dW;{{>F#!#I#bmyCrj1nL47g*w)rYz+B_&MJv4U{D$vz=zbB? zHj!`qgF{oOxVRWLW}!H~xCd$>W|;n}mr5S{p9Kw%vwUU~engI7W2Y{%`$z)p!AC4yvVzTLLL(&Nlb-BYZ2-S3? zrKN=q@TojZgQ{S5ji{>cUePAF=vQ}}D5nj2K9-pd?jCUpy~_ILBqG+)(a`~cCL$=< zHsPcb;hN3OMkHJ?pCt* zR@=cd?B6rV#!-<4*B3HlPIuP_sfHsN-eZcGE~E6NySq+XSyZb<%;~5IqAe=bx%h01 z&(@73s_7POmF_Cx>gt-$m^#5MbgL#p?Z%B8uCA+qdU@HAoSY0%e3o~*>sPPJNqK(x z7WE(Np^|1$nOz+V+zU#g0%ca4^MROc_>|7@JA5K_4@G}*u=9fFT9 zU%vGAy22P;S4YPS%mKvw9bF7tBzfr{9dJ+2AWWoZFgC7lqALZMPK?V`FD}h?V7J-& zL>q9EE!51iUXdsi>ihTa2?+@>Kb^2F&CDDH+}JQc8fe1g#R6-5uSSkX1+c>ipJQn( zOr)>BKkgGLiF}bY_A+HJ`iJYidvAB)9h=#CczEpW><~XHZS60xNk^naOMuP_b{{fe zx{dmH%*bq0%^#)7MBKLEradaRR1KDBo^xeEoaK<3uoXWgL;aQ<*>#p0zruaJ3db5( zJ+q;Urf_1I1cR>q2};qucZfkLRy_IvUzVM3Hd@G3>m7-kARjt1Z?kK@`g3|8fEmpzDA)wdhItKOz(}cOs&hYngqW`QS4;rFP59R9hgOLq#ur|1 zzZz|A{whE7fIvoONO6y4oF`|$73Y0UL4VbX1&%Knh^SdQ1;!BpTSYgLJ9X(vzQafT z{sBo3spg0JVa)}z?Q5Aw(&e_Mb06F@jOymvvkuyN@d*h9z~%MpcvDf~37iec5?EW? zw!^c{CjF1@wk6_-R-K(x6XdOmt*@>=QBmuwDSGuxDQRyEsV{s4+Tf9iH22A*!wO{4 zvahdAFWK4(c6PILMsCfom0k4Dop6$w%bA&(DZA8&xgAT?w z*q6z|Ow#&#)Em*%d*7^K$vHPWdl!p+p`)jeZ)`1k^P(Ep$IQIEu+RaJ-s+GVMu_mv z9SGSpHkRQPZy&np7FzABAApaC;0}eI6Ee$OAwvRzGnMm=a^kxoa|cv#?l)uI zeLhJNr3O=nGiM&;v8IcyKe+OcVy!%YSJ>s^>rxhB5fMINc6Rpj=g)_S_}C|K87-a` zjvX5XW|KDn-tOJM-)x*6xf_WswM>{Ph1AJU#A};XgqmgNKGW%xCeWPFdQD?#_u40? zmOu0s>5hY8v1vU;;X7nO526V`4RC_duY4nQON^;dVqZ*bI6r_lHWGA=tgWpD&YYQO zR{*d@ovH`8h&+PXrxD=o^XWmi)`m=LxSY?uOis1?goWgFN!P7j_GZH)0$>ke{=E)! z-7i}pqdB$Dol_P=;W%Dy1x$v3aGw*gr{|J9Jv~`CHeO0dpPdDs9t~LDoFx2+m&ht* zgXtV~FZg^3Q#0xa=ct|1jza7(b3A|;b2j$XJLGjF-ErvX`TW_T?M%t_Jwm~dF_`wJ zF`@DwE~Z?ZQBl1t?q@~}gCnGdV8$*&pBZ;-QRsdh2zSrH^iia2oM8`|Pgf;7A~6-@|K3@D z=1>T&yyxNq$QXaY?4>0qkMfENf`BTQubHx*9!rTJU@h$J>>~C*JlzB^w`G_--qg|2 zNRf=F)hz16NgV6Hb{ygE0Q^4K55xcw4hH{G*|O-Y+JvKxsMgX$r$!bB=&-#&lN zD?D8q;0e6aVJLzpCnx)jJPXRp5j{%`1TGLvj13IbJy@{m2@dHQMIGxMlEnML_;%I{ zN;mcN5aT2mo2Lb^OFKL~F&8j6I5;yst*@`&f(Kky3!QbCN*4(zyJHjK;{qT+Y4^)~7`gap2#TZg0ImMz+-88dK92-l4+=v_j=0Ay zsr7AeP(9rGi|SIDooJ`p+0ITl6@Q;Dq!x;Xrt~etyTMr>K74rfDztMUzvxr>^sBtW z(lP4p`g*8E;eBWjZHnWTRXrlr-gVMTf^K*%FFzkP8CEnG$R!WbFE(>u=!SD)Ils2_ zOb7*WrTK)XkeN7aN5E9#7v#Vf-e0arA?6gj9f!>}ZMc;Ks1Gl7yHdKBHN;>Frl)x{G#>5pw2DP0dAsIxdSI-CrtfVW4pvegsKb zt)q~#+-%{H`Gmbm?8jQtG789uVPU8ZHKZ{RiXtGv`aq!xFh8giV7JjLLri6?2MG@a z2~tCu`-!-1t}o*u>A?8M!F&E2cn@Rm5V5^62@(uVk?iU>x}P3{?TG5?ci_Fk;R1&_ z{!Qgdw|YcG1XK#bsE=kQn`-D~xGNEuI1{C7ZA|ymxaniLdwx}vm-Exks8FF7}Qpe}oftnT`il^B%a?7X7@OVL%)Q4{c_au@y@Sk z)prQ({7O#X|Cc}bjPlX*zb=@(x3@O{Mt)9Dg9MFE=3kdb?K!jq&a*Q!av%>(za3(< zbA<$afBpIu8X5{J7T3Q0$Cd7a{Uw9(C)v>e#;v`6m#RXuqG^b`;6oL4Rk={f#P8n# D^9p<$ literal 0 HcmV?d00001 diff --git a/main.adoc b/main.adoc index 4d2d41d..397037b 100644 --- a/main.adoc +++ b/main.adoc @@ -669,15 +669,49 @@ image::doc_attachments/2024-05-09T04-59-40-361Z.png[IIC 读写示意] === 基于 MEMS 和 CNN 的振动筛故障检测设备蓝牙设备程序开发 +本设计中采用南京沁恒 (WCH) 公司的 RISC-V 内核的集成蓝牙主控 CH582F 进行开发。该主控开发环境主要为 MounRiver Studio,基于 risc-v-gcc 和 openocd 工具链实现代码编译、调试和下载。 + +不同于运行一般任务的单片机,因为蓝牙可能会和多个设备连接或者同时运行多个任务,为了解决多任务的调度问题,需要实现基于单片机的实时操作系统或者任务调度程序,能够以类似分时的方式实现多任务的伪并行。在沁恒的蓝牙开发组件 (BLE SDK) 中,提供了操作系统抽象层 TMOS。TMOS 是调度的核心,BLE 协议栈、profile 定义和所有应用都围绕它实现。不同于传统的操作系统,它是一个允许软件建立和执行事件的循环。TMOS 是通过时间片轮询的方式实现多任务调度运行,系统时钟来源于芯片实时时钟 (RTC)。用户通过注册任务(Task)将自定义的事件(Event)添加到 TMOS 的任务链表中,由 TMOS 进行调度运行。Event 事件标志位,为 1 则运行,为 0 则不运行。 + +在开发过程中,所有的任务都将注册到 TMOS 调度框架中。 + ==== BLE 广播模式程序设计 -==== BLE MESH 模式程序设计 (optional) +本设计中采用 BLE 广播模式进行无线状态下的数据传输。功能上要求当蓝牙主控采集到数据处理主控所反馈的被测设备状态信息后,使用 BLE 广播模式直接将相关的状态信息包含在广播包中。这一设计主要服务对象为人员巡检场景。由于蓝牙单点广播的范围较小,所以需要接收端存在于设备附近进行接受,而每个蓝牙设备的 MAC 地址不同,实际应用中,可以通过接收端设备记录搜索到的广播设备地址,实现数据收集和巡检打卡的功能。 -== 基于 MEMS 和 CNN 的振动筛故障检测设备有效性验证(及工程集成应用) +===== 广播包 PDU 内容设计 + +广播包 PDU 数据是广播模式的核心部分,在仅广播不建立连接的情况下,所有的数据只通过 PDU 负载段 (Payload) 向外传送。本设计中设备处于广播状态,且作为不可连接的信标模式 (Beacon)。该模式主要有 URI Beacons、iBeacons 和 AltBeacons 三种类型,本设计中使用类似 iBeacons 的格式进行 PDU 负载段内容的设计。自定义的数据包格式如下图所示。 + +image::doc_attachments/2024-05-11T05-02-31-706Z.png[广播数据段设计] + +其中: + +* Adv Flags 将广播数据包定义为 BLE 处于普通可发现模式和不兼容经典蓝牙。 +* 设备名称为 `{B,L,E,V,A,R}` 作为显示名称 +* 厂家 ID 作为设备版本表示,暂时保留 0xEFFF +* UUID 作为设备标志,根据设备 MAC 地址进行散列映射,基本保证不出现重复 +* 状态信息作为数据处理主控识别结果的表示,最大可表示 65535 种状态类型 +* 温湿度数据从数据处理主控采集,因为其最大可测量到小数点后两位,所以均放大 100 倍,一般使用 16 位整型广播 + +==== 程序框架设计 + +程序主要分为三个任务,由 TMOS 进行任务调度。 + +===== 数据采集任务 +该任务定时触发,主要内容是从数据处理主控获取数据。使用前述“设备间数据交换协议”,分批次从数据处理主控读取状态识别结果以及温湿度数据。 + +===== 广播数据包任务 +该任务定时或数据采集任务完成后触发。当产生数据采集任务相关事件产生后,先关闭广播,然后更新需要广播的数据包,再重启广播。定时触发时不关闭广播。 + +===== 射频校准任务 +该任务定时触发,用于定周期校准射频部分,保证蓝牙稳定工作。 + +== 基于 MEMS 和 CNN 的振动筛故障检测设备有效性验证 === 验证场景 -=== 基于 MEMS 和 CNN 的振动筛故障检测设备工况识别准确性验证 +=== 准确性验证 == 总结与展望