From ab96cb2a5d9fd2dcb85dc3817896b53b69c073f7 Mon Sep 17 00:00:00 2001 From: qitas Date: Fri, 17 Apr 2020 16:54:06 +0800 Subject: [PATCH] fix more --- README.md | 12 ++ docs/package.png | Bin 0 -> 89000 bytes docs/sop.png | Bin 0 -> 44479 bytes tools/README.md | 53 +++++++ tools/ch55xtool.py | 338 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 403 insertions(+) create mode 100644 docs/package.png create mode 100644 docs/sop.png create mode 100644 tools/README.md create mode 100644 tools/ch55xtool.py diff --git a/README.md b/README.md index 56733f8..8c334b3 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,22 @@ [![sites](docs/CH55.png)](http://www.wch.cn/products/category/5.html) [![sites](docs/CH552.png)](http://www.wch.cn/products/CH552.html) +* 芯片封装:TSSOP20、MSOP10、QFN16、SOP16 + +[![sites](docs/sop.png)](http://www.wch.cn/products/CH554.html) +[![sites](docs/package.png)](http://www.wch.cn/products/CH554.html) + ### [资源收录](https://github.com/sochub/CH552) * [参考文档](docs/) * [参考资源](src/) +* [相关工具](tools/) + +#### [外部资源](https://github.com/sochub) + +* [OS-Q H05](https://github.com/OS-Q/H02) +* [编译器SDCC](https://github.com/sochub/sdcc) + ### [选型建议](https://github.com/sochub) diff --git a/docs/package.png b/docs/package.png new file mode 100644 index 0000000000000000000000000000000000000000..639c42982e910248b20332d170bafc67a369196d GIT binary patch literal 89000 zcmd42Wl&pR)IM4$?(XhTEVueVaE_wS@Xym|$n4SVyVAi+ksF$8rT#tRe>8n>Szurqr zYIx`$Hlb<~SV4|OcOcFq8Q#Z>DLd&q!WZe@BN-6U3HRZn%EeS(+Y!ZuiH{SIiXygZ zjm3UM!mbaCU2KG`a|CLOS*kI_#pr+u) zzK4%R>3f+`aY;#$>?FoDXgupCKJz`H{zilH{qM`1geMz85(oC`jF4iA|8F$eu@{W@ z-zYCuit4`$QH;B3@#X(sh#)yAWC}w4HyT13tjO~3b_Br2pf$cWIZ;r)|2=c(#+Dle96IKPGNo=`Z$5E7Ba+3%1y=eVa~CRE_7{B2 zN5LQv$3*}voZTh8{7~FwXS{8B{w&rvL1zT0;;&;W}!$6qOvs|Vi z+gGsFCF{hXW;Dg1GNL>LD&}L-z*gyu&XZk94AYEJOAKl?9Bj45c9Kjk*C3dN4q@X0 zUttpra`b|S^Jd{$=g?tumKpSd=U>4l0Mydpi+KOl+%;^R{4H#P zZ6Z^U1?V_4Mqw7B7LULPqkvV z>cUoNPT*xZn%?8ztaanPU5Q9JiJdK0?05LEyNk5R|E2Egm9`7PG;M1O!m`D|*(xJ_ z4bml>n0#q#3NN+;2Nc(xthyZ=43zw*ri?DjWf~7XyhXI&Y?GgrJIA#iE7_@IeKV(b zd4;nXg6+L@S>%V`cDPE{RL59uv=a2b^8YzrzdeJubGop6n~|!QMKsqlQFcJ`0u=S^ zY(jWZ=Yr2Tk9myHfiGw@DL?H*-!{k%SxN|fL+IBxH?azP$ z0SW_W^d9g@^dCa{lBg+ZU@E-5p@EZx;ELfCkX>6d#EI}h&i`$-0h<8wjj{9#a#c{C zQD2{(ayaV4_kWL;h|V4Ek{avn!qO25ZnIHWrC9!tu?{1!4;fap*P62K%j@rn(rq_@ z7f*&_cv{MKdnU^mBGpK&lE4Xqr42mx#}mZ-&G_WI$4j{9JL0bV&rKk6bFRv5>M>7Y ztQVh>Xx>gePnBEJP?%l*eav?;+IRIQ3%<7q1TilqTo&~@7!zSE3hW}6R z@KJlJXbB^_L!^I}u*)6@NHtR6GEqp3Z6zzS1o?L!DAp>RF2BH%=n)vSYSOJXtO`PC#vW^8SjBj!Lgh5>`Dp0;m_s6 zBO6%pbpeG1|59@Tv(|uNos2$)>-+i{HnYKpfgQ20|LIj>%w_F#Bw6$bDTPRB8tjLM zHuLAn7jZeP{^HzT$%jG zX%>>{THtABK3)7fmA1$#G4KJ@=1qtc%3qm3kh%yg0Z3rOPbj&kwH@G^F+wHPDZv=Amep6;ia1m1TIiyB2mFuR zY7zkh267QVW5I9y+0@8JLvvo8J%TjiC1?vToKAyax1aH=1*f`tD+>`rFT#kiKnWhS zg=m5mHVv%umdB9gD#gd0gcZ_iw~F1d6#cJKMx_8YpAIP|mzuZ#9G1(rD)HuOslSy+ zryUwh>}M4#A@YG;`rKH@&-UvlerDX++pelJV+bpSEw69l{1B|tN{!7JZmckDEqJ4- z3uNe-W3(4%olxJHAm)iI1_!(Qg+D&J#fzDXO5$E4{PSrpi8)8zp)Htgg ztkw)g&q%}dJVS_5(Pj5}bG=*oB^GzMKw(CQ=siMGRU(*wMf}gl@&?y5;P^i*>uK~i zm7AVrsN&*LQdqFi5=yvI`M>C`Tp;8v9gOiY#fZdHHHXP0A$xQ{$v{Jbthdqr?&O{s zJc#t$eE(ee=v){Y>j9U^$D%#@v*UG(M5TN`loYw~H63&A3^In2CitX3+Peng-LY4U zEchbSMz^@r&+N$Vfg`W6*;d_(*RYJlo6Uig3z}XBUQJ1U)(R-X;ke2Vp6|l z+ESi`{Dd}!x9FTvB7sN1PjCP8gH0IQJF7dHQ#k{pt-_b0U^y4SzC{~&zqx1brlVdz zje>rp?1j3Nev9Km{R`>xOR%F673*M!gq;oi1wQj2^Ag!vojZd4a>OdXiBt3P)2nD$ zKoa>cC=D~PZT*zK0D#>2l+{_bXW^T$srg6E)jrViL zr{-vg;zg9;*0zNCwnw!0I|`0xAB2a!HVuOpOkB#>p>{pxH%eEIZKZY_M9eV~IW3R0 zy6G)l(2K3pi$>&^v?h~c=>OTQ|LL029+ zNulV<)N6(i`CB`$f0v3qRYy&(mAsB zIzTcJq-4gF99v}>rzw_}M_fO$kG!G=ykTQ%{JbqxWP}&?{1-{u{IYV%JeEJ@I`@?k z=gogIeMTkLF#0ol6;+UYm4ACxw#%;ySP<=3404L(-dbB38qI#uLKhjlnl+q>y?qsM z_`Kd<5D;{Cb2`dhN#Uk58=Q_2I$Ok5+zgk_y0 zwkEBCA8&GsnbZ7rfw}+hUQ_Wk+0^*O(ajJxSfo_wljeo3fboVe8jV=<34!wHdNr z1>~TUw6mV<=>w?i4mW`Jw5O};x$Ff}a6LZ`wkB6G+8fq+%=Oe0{^#y`Q$>z{5k3Niq3!!daruigdc1tCbP2f zuIOdUI$bHELl6Q9@$3xgU=St5Adsfr3RQ)7MW!;X&em_zh6ZtK?$19&DbYII zjG8Qj{l9C@4}XJ~{w20{b70AN%{lw+lJ+`)j1s%T!R!FUexWQkX5!XyujcN@>eu`x zc<#aL@)L6F(i>z(HOOg`T4>m$$*f-i!8R5%K<3gn|Lg$;y}7sTOB2=740ik63vF{a z?veWvZ>Q(|x~v)EhiKa#)=K8Y3d%TrVmZ2I>zD_=4?m&?)0oTdJEeXf?~Rexkv^O! z9Oeq6uPN@@u`uKjDdjf+;nIjpzT0af;ROI4Hrs)XR?(I6DpyNdb*q`7=c#|{cB?39 zi#M$M53J}axDLCWi+01x(BwlQ{ue*`$?O7h{v(Lt2DJvIGsYkQu zKF&8dCnuv`?iQZmPi0p28V@%?txJ^@caJHWIit4Qy4tWgY!D|kT73sd`B*1;-%H{b z^eoIDoGzS;CmyzhJ@!nryw$WrH9N)_5n2a3z+-pYwTfgaoGR@ZD{Ej5j~fjWFvz&-R&b&iJ2bfTHG zZ_1N}+eoYUPhBoSl-_TVDoz7CwD>AtYHA3jZU~@b?xS2jn}#QR6fK>=Yh@{4YSNyJ zRfoi*m~7duBcXT!UiX8@W(Sv2!{f5d9H= zrnTz9dC)OKH~Qe;JaBL&!$SJTLR2DE1`eG`i%94BCl;%9aj%Cf$g@k{8ujV$f$!;l zg=-aV(=JZ?U^)lKC5zlAWzW*+j@~0Unx+YBv1s zi>P?pe)X4fx8m1CT=#gjaw|Ev(DYU=5`YWi07~eG4+pJC2TzXQLhb#EUM&g z{m3+JP^SboA~sM@okT)rF*E5a_$Jwal*+STyPj>+#UmK(+viaNQY*$g_V>P2O$tgC z+k#7TMcMcw#QA{T?_Mw|W=TVbEwtXTZ%*-<+*4o%xTB!I{X6rpSYbP{S`12J} zz7}3MM)X1Xy|gvVuY?r`aemy>I}fFSui30XSN2~Vm+aA(4JxQVUr_U|aJzEfv0Qrw z(s5pjfzS+i?LefaN|q)j^o>nTD|c1b77`swTwK{2#t};SNJ`CL9Ll}|U9VJKi8l`6 z{Noku4H0EWm(G5Oj!h9#%^r4yBbnTs(J;Y9ck>x7g2_gw?+pV2$nk{o`uvO-QWbwS zG}s`vd)@i#n1JM{J86u30>zk^st^#nT!nU4BQ6EmGzb#8lTgg7k;Y6d?9aM-l(iZi zpeJjma&i#}{VtUAOa?`w?I`D#wBvToL9#eXkp=j*%ExV64b(A=JlS3LCmkkRJEy}o zZCQ2OeYQKhuR9sU@UB_uV^~93N-o=u(H{flKk+G`sp`68VGZwjB9j78|8X3|csKno}U+4;KKTWQL-;k*G)9?D!yLeCj(LLxP>66Lov%@(x(F`KP(ig zzdOM0A*fE`&+d!Z?#p=K1!jo2qBS)Y;ii&k;d`Ad1BHZzn=bYQCGJqiTb{L95=gqi z_a*IQD+mnIh-=pO^va4^)-w8K5@L-es)A|G zhlMTJb!w0uIb_Kh=ahk7cGC0$dB<)%XM^lM0{ITsjHHFGG@x6v8)USOY zdsZ_gdLB>r)v6Wla&O;$wYf9*y1#09s?C2Vk0;Og9gy8zINd5p3#TUeIrce3;)N+U zuY-S0h)_?$4I+Q3VGPm|zH0lS^q#vHDh#ad2d9pyhoXK|RhhccEq_)7_Ve(x^+GjN zzIF*2g2?nWxPZb7!aCdvvCj#K;+gQv7%4 z9p;RHSd2??%k>h#XcfwdTeL#X_UvEB`2=C?dObMfwWU3ujYxIT1J5?-ecf>=1f=Qp zZ9sCaCfm{rDPND2Wq})=3s9(>k4;xy2-XhGt_xm81>RbNb?NDGKIzz|zy%M*G&N`( zxJK6t0Q2ocq8tFc`9iI@@p!QTvaKhXWY^QA(j1kK`+meiv`s)md(cTRTYjF@-fZ*p8?f0aM*<#D z&mAR-4qv2zTwUFT$tGC+-OQ|Cf=%8#m0;)Z4kE1RTA?MH)ibBZy9`$@-(lfeQu@jw zz3)ru_z8HJ04+`R0yv!4ZmP8V_BXl!Qnm8|mGS~oa298TxIO5AT+QmTRE>fZyLqGo zMSk2q`{2Px+QKEQpMxj+UVoE$d-YckZrKoW%m8$z&eD1zpv*`P@8w+_uLY3^;qF5W zb;dX4dP+tM5NXiyVVifMiLfLuk3ExI#3X_Q;m>f)R3^U2UItHm%z2E%4q zR$c{Dyd*Ag>W0Q+3!Y+2g$fGsbHiDnkP4j9MN*B?iAW78BuSbW5IS7psmWBVRWHi3 zj+f~=Efuu=M;G)ED)+${l5Wqhruk_G0fi88)yTi}dV8+1ged@|u! z*lRNa5c#Hr%drAjh`?=MpOyIA-FOaASbE+xp>aTi&jRg9?_HZ%gqjHo8^cGh^+?>< z7lI~c;MXmb(H`@y@J+I8bZu9X!#RZsk?%0Q&ThGp9p(Hs3wYTKtt-A##1uJEI73EJ zk>xR}-nmH)dEoo%F>&bTq-p1lpcH?4D3>5a+EkwHNBa|QJabh@NbN_J-eggP5`$(#+Z3c0&|d ztL?;%v^$UGQ;~Y~wuT5RoOo?uf!;E17fNMc&`}nrCHMC3&F)8zcfdzPpMm@A1CG|S zUxll_rO2iA;e^Mx;V%Ju(YW*Cf1Q*YnP2`oX zLO8&Yjh18Eks(^VxO6a>C9{wrYFWL9W?@YE+j8M}by%?^CfSu`2~XtN<3qSesjJZS z*QDmy1JQEf$E{?e3PJWOp-eU+9Z&-JQUmv$N@!n}i$eZhA#F#me6v;Da2uL?0{xt&Jcl*DAB=Zvb7Rs77%xrSNIq@!5E?*japL%RXy-F+RMT@e znF7GKR(IKDSK=KT-`vz7s8+MLH}*48$1m^?9K0pjluZxz-_;W%_rEZiXITNfpWN^f znGJ`rad+R36j>gyR%qFm9dJ{$vQJ%fL;QtocIM77)~R+T+Qk2sX`E)K!EW>i=O5!; zu-9d-#o0x5e`*%yS1@UeZ}|LADT+ghtZ+hk-X^hvK~PAA7l}ryNdN9a9=WLG><~;%VQc})?g4P*&I$fJG?c* zz*N!mwlxM}((_-+m|PkAJ6P3qkUA_=a8j=Lgt3@|egTK=F9I`>V6a@#?Xl@(MUkzN za-K-{eirwP$+2j=V&h5m(dHcZ2~)Uxewu^=NEDT`|Dp3(@Ab`x?UHr|^$eNFYw(a} zT|coEX(-CI(0BBk=AN_$MO}w`6y##`9O?m*>6%Ujp0KVhhw$jcA;31Eg{uyik*UAl z{RU(wlX~ZC&QjP+T`eA7cB+c2UVgP(d>XJYC*Np;ds3-Z)lJb=eoCj2)NOo1=Dz4J zELl=D_FR^1w6e$=XOJ1*Q1JfnA?2;WNfQO3+V6*7E>(m8xoFzPe6nBV-sRnTkIxLw zHuQ83OP{NXCZH&~Hws1KX(4s?Vr!%qDE6l3jYHW#Q3-E|rd_*C9`18dn)WeI>X@EE zmPx%ZEA@M-GzD!{Y&=xiGylq)PgJ;_1wiU$xVshI8VvvtGrh0==EBy;`rwIc97XoL zMk?T#6{ARNKU7*}s|43qyYZu<$}cYsU9PD`K%H6j>K}!5-!|+dL8IZOKg{b=BdIGE zL|2z^{l%jwQwYLO-Sv-&JcsCP@(zA`Bjw>-Vg;`k*AiZAoF4pYXbYP@?h+d0g;6UN zHL1PNFCZ}Mu?NE6B)kZj9eo@J%gb7iy3vDP zM;xjnNYgpWC#L-^=bSc0(bc>#b)@x7TG+q}*`$2!g2W-^gf_|{#UVF>7gnSsvLL9v z4(UI8rRIH|G6bke&$UnP0}cBcp*9R%pYwCRab8K@!st1}J&!fG)vXvobD}SEmFm?* zf3TFnOAyKF6BJCJ72k7Shd>RqhGI z(*ePW2}tH6!jPan+AlmK9%YtH%8`EPlvlw)YjH?`W;5$>C;0qIkyEr8374FxBa>Pg zu`g}f*jSiw-=?&#`9g#S*fOL`PcS}F5bT)av?%jEx?b0#qk`{T_&%tfeQS|;SvGmj z*Sx^h7&tT(QKL;ixDQ?P>h?`$>ClgSAnjS}v_#~}3tW{tHP3`7BZcZ;hnF60)g9N5 zu^pL>a5%a>x>UgcUKcHG#m=*$im?CCRKgrSKi%7aXGI$q7nPC*#wR@H`?<<*GC~Lm|-2g?M z;=3~*YJ-=>C=zp2g89q!Fy1h;e%cg^h*0NC;m+3w;m#>TN4#oUj7*ox4L^$t(uOq; zwIr?ukp{!I8F&xp;2^&|2P#$hWIRvw2Ag@8xY!n5^f6Q>&@8}X7m6w^w_RMLV`H@Ohf8hU!TkyLzwVH0W?q`5bZK^er7N zEt=%#i8eVQ9q08ho&`ijp0JiAR^$NPsPgIukTJ;2DMd^1CZ(zf4?mTdll8#i(Avl2 z8}-*Y63;P$;*Ky3Z%#AmAGKoSG823!zN!@lLAZbJrF3zqE#W3i-V8?x3S_scM!Y7< z9HAlxZ9|r0b~u7z2nVm<2u2TggZs^Ubh7jAKL@_+KLXqF4RwOG<0wa_r&3SVLm-Ai zgd1jk`(F?5Y`4jbri6jzkWaw_2eBF|W{GCSs0mZ*XMe*EZ**yuHofVUMtq8dV-WBQ zNFj@?_uBxPN_^5hEc6}x+ME|BJu*u)|3N7MJo9`?^$QBPo)zEJYc)q4OY9xPgR{eyhXi=A6xtR zR(gAzUSi?30?{AZKRK^+oyh0_`fOFENc6t#YZ{74jKwDrSiO*ck7)YDr(Nhq$<-}& zj+5n<(;7^>O)$Md2gNI4$tPsqx>~k(4=Tj#zmDO(46e|No97fYe9C4xJ-c#V0*76G zaI&?yK5#pzp5YVq^O`SgL`^u!Vwy?u7GbdfrBD*=?1hsj5WWM}Q0B=;u3)5+sS9Rr zq#Uu;AKn7GbwF26T0Mgz5s^t#z)xMI9f~PA0zOgPQeq1Ox<3&R2TTiiGue|zm$n0T z8B>l9ov1^3!$y|n!0&}C9M1|Beo$;kXqIzz$M9xj1nF+q{_vd+JYh65i&8H^uK_o2 z-|W1Fb2@RCzt$3=ZzdPVe*HpNsp3?+A?|&sImXwQ0MQO=;%k8ro`qgN{b>_A(R<;M zuQC{qC2fSu3?^OwXh3&!?^_ZmUjj)p?;%IcuA!79ccX#+u~tNhynt;-jmZy|no1y+ zfj47rV>Y~%ehrr(=$be~2w9zCUTVWnk zw?gzxS8T{mu)5JtTFP3Clc`V~E(PtC(v9OXPcVP(aN6w0@hSvOu3sjoh4Uf=@_Lv^t9&}5;mIwqF=f2 zB=5qEzz-d_XIitk$p-zx!|n01>hoOGdvlTeKDTWM6%4A{z6SZKk9Hjz4M_xz2o>|*FC5_7al+A9HbLg>+P+8Gapxa&cn;%u5YK0~d z$`IN&gX{S&9SVsiZZP8O^7*!N9LCJ4~{oT12~(FFVp6~wmzx+PT}{+e+{FM4r`e!efA56^mS$w6n0?t6Y?R@$+fTi@)B<6_g3 z!zzduKlM@RY?$pK@8i~(kk({02fd}{LP%-?Whz2yh2!l|`Rx)s@yp5O!tTN=YP!*p zOO*X*bLPToXbGBG^#*Y#Rc?z;XcDhVb z%tEgNPmjRDH?-Mx?8_GP=Vl4}P**bAJ;EWHW{6gtk^jYlZaOR_r84kv=?q+-&LVv9 z<21}^;+cW2sDQlZ$Qfxx{Tk*AVOXt7Mz@*w#zpNhL$#@ZyvqW+wPo>96@J>do>4=R zU`PbALE0fO>rIDwFNI`c>kCp?UxrT<@;D1@8y>LC5$e%n+!t0zTVHN?N9U1I!H}^Q=_>P>v4qE7tgIoKZkYN=mzz z#-jDT98%J$w91NKqbK(T!}`Z1O+vCJuhy)j@Eam^m|R}(`b>sI!EsdSDyLbc{}KX3 z>G)|$5ZjxRjr5hu{Tk!;mq3gB6dns_E?)1%?axSE{F^d5g*WUQd3Z2yXwXD*WC6vV z)nAr7<;DwhAXAwyovg|B%5s-v_4(8HPv0!-LZ<;UV^NKt!S93Ie z5t?G$%_?87h+w#ggXk+ys^e(gxg%@lxdlHRk zCJ@O3=If8h|5gfV+$O{JjK;vqZ))OZegQIYDG5p-2^di`GMqUv685gXDr2LQwj%Q( zbtR$e>`H4_yKC5o_cC7n#lcWvvh5SnjB)FaBxGbiW?Z*Rf9K>)%e-il@ONjqwtI>e z7`-IV@JIl?V+-gut}@~96?|4FJIn8y6cFgKT;g0j}|vqN?4+&X=A zzmsm6p&7$6_sZ@c__E!+FSsioLR+7X-?4K@Hs)cMR5l4$bA;TWcQ4J05Ck2ydyP0* zDz3AKpL(>`2~-S3_bdrHidj%!-rF&Va(?^r?Caro`1MpS@V0-=_i<)KaRB#0FY?Zk zU&@7C-Iv^Sea(+MD(FpqOlZNNqx+oWgULXyFaVZgXd(6 zO}pSD+G4!5bbUTu=8F?MQ>C&f;m88GHsmE7_ZO-hciVswS4Z7_R4_y*z@S7tytB@J zb&vG5)jYX6HcTx~18P(U!K;6&^WR`}lw3hrs1u+Y?H@W>tUz5E43}JX^tZ+&ct7xQ zw*3)n5v8o7%b;v|O;R}2)JQ9FpR>QFYx8AKgdJ%tb%qj>lX93{x(sk4d?ug4s(}R3 z_{_i;MQmzd=)r}bPE?;+LNPl1ZlvQAJ3A(JL^8MObMvH_920Zk%7lT|pfrZ#I_&vl zQz1@AnP*=WpF^A|xi0z~aXFr_4FZp#{@g3O)r88kj(7;t|YS;5>+|G}3D_aD`@%#9Y zAadnaB!z?I32s-0YxKjB^P;OdxPe6fHyNKW9o6);oT%N^jg5F7SOCDwg$!$INX`SIX690 zXNr|hFS7&^7UYS4V5OFFr)Hv9r5wm^Ar~=VC61OEzW#oI^mUmU!HX`Aoz_9bOg2;+ z^z}`8bP`EI+pP$UDeN%MP1+&nnP1>$n6r?%DVor~UgQZqYWxV`IQrPY=<*u|1Oc5spg$Y9W-whK_=?Y##05z}TC%&#R2X>x~v6N)hxqSKmWmp%B-r!*hem{;%daU{6 zVOWXnUqPnIL^gabvMrF?J6l8cxgnB`TojVUvOF>i-Z#+isvtBXQSs&ti;C-Xi&|~& zk@q>y2qlsVqynh-m>DYVrjCfm0W&SU?kgo8c&ln^&=|eli?k|bYkYWtPo*ytFJO@D zf*C*{J1*jAvZY_zN0F0m_<{cNn3q1+GT*}Ma z(y{@a{0ujiG~385o>ABHM#Bq#vsU>4Z?ApFrKFf&1X1QGnfHqw(@*g=w*hfjbMXdS z*)W?}=4Ce(p*~q(nE!*55>FEnGPbtGsyqX|sjAnMvD@3*?&5lnr&3}VC^+(rL4a)a zsG~#K>8(PRJ*v*|Ltjm|x)3PY;EZgn_B{l&*ic3NhmOq=$cT3wahkr;h$0@@j+)(tb)(Onhq5`OhV&vF^Wh^KuHgQ0Sig}n-a! zU*7ye`vT|i1nwkRq~uD&?rtJ9sN)|a+`&++Qf?^(SMNILxlH5IMb=s7KC(~6mzcCB zsfAZ@oYMV3nx=};)oOIcNHV^xn7h$gp21G<@xvKwcp%Y8MHk(mXLG*}qX^Zuu;9nP ztvs^#e-ppIbbf#JW$t|Fa`WotQ36&2&!bqF%Lp9!tS}0^g`ay!Tywy+uj)P^&7};i zb+CHjl-AIflm977u{2_GK}Q`i0OcjBhxIv_?x#+IQ}<)*>o!W>l$>Hjbin0h+_C}4 zms;@u?VvU2mlqqab;P@aSLlAH(SCAelrS!q!qLmXi-7GkDM!j&o z;E0U$sMuQexc2wM;4D~sTHhSNRGx7ts6GSZXFo~H^g&>3dv&#zL_2s%EQ-2=48LCk zu3Gz6^j{G>6<2EF9mh0ynG++RGVTqY)4=MU2Oe&)MAsN{`${B($;SA=?&N;AH0U3d zO6wEM9*WAZ*X+ZC7r=&HGSKqYXPUK0e=|4-%TahR#;0MPO% z{X|A-LAC(x@i;eR#;Xyf{kegC?y8IAMIqr`{_NO@`)O&i5Wt!DP`2+vuYMA7K>7t_ zpUXW+s$7EF%VDy=-G@T)e96+ij=$*8BvdW`Y3}$AuW3GhPWcud` zfNUo(Yg^rFU;5l8IHfxJd5b_YnO;H%$P%j<`T5z+YIs>oav84p&vbuX>I8aw)-yaK^3#wBCjR}uW#?y7nlf!LqG z*@daaX^6{_jx>%a9nesZyEL!BS4=(NX58_W1A}zATWM6Ow-Z zoDo0UsqSwI$Api+fir`hgXIgfQGbEKpSxm34Kr%UZ%B~)JF)c+AIEcRVWdG0f3z`& z8-;-Kjkqb@h#l?VF3rm=Tjkq?@F0`tDL*AQO1FUDh>lduxCBYyQ(k6V9Oq92CrJ_G zWt5sVM|>rS_pNX0Fns3IQg(&9zeeL<*6ne4qU3aErW^y@Q-0GCcG~<~=^! zFxNECw%J*G!tCa5$j}=iqc8DK1{l>GNvGu|V$K@BqZ#o*1-NoAjjAL=g;YV`e zSjcgvc%R-ZUR}I3R=}mpDHtQ!h}arNwe3iJK9baNRu>TOia~vf~Z<6#b1&LWmt0^myIFGy^?JJs#L)H3=$;D1;Cv zTb45CoDiiQS0)djV5Ebud1R+>7KHWwkq;Fct|K@*R(|opds$_u9|d$KofPuF&x(8) z=pM+k6l!NPrx8)!OH|$H`I(yfz_KH)8@T_IfRDvnO8mjlj>S%f!gTO+`jAq7PRz2F zAyZY$tt8;t$l~Mcse+$JM6uhwZ z?m-~|{%m-sTroxBE!eT43YosY2N~P1nKZ)Z(Z%0YUu2_Qm7>MQFQ6`2lEJ#*X_z`; zznRA)BdQL9=jn7ND^N4^ZJ5JrPFShoqy*JyhW0W|gZQZI~}C zY+UGwUo&<7F2Cq?YcI34VGf39)t=en7!mr!Q~xVi#ty{)OQ?q4!KN4g0W3WH{#(f4 zkepu)aw5B%l$#8)V8o&e?8sLh;X+@IS=0kPUsDVkWNud3*)bi~IzxWaN1KixG^>mc z+;U9|hY%P8rWBt(eNZV5KOzvXoMBsA>7-~~6bAe&Xev%hSTx$byK)h$aVGHj@J2@> z7{JG#ku+rqCB_ve1K@LHQ^@9uv3!Fy)ssNeV-rWMy4?29?v-CD%Ph797|Ioi*{53? z($-W~>yh=a!jOYDedG;AfSw;68gKepp^8}S4MU^p-7Feq(Fo9nQ))6pZikv zH_C^Y=N+jACEatKLOvUNp~-T&<4Hl0$>T`^((Q|Vs&@0ec~#=x1n2aJ_B0}=Dts%hC%(@M`OK0YH>}%uE`nCc8u!3 zcwYU5%pG2tc76CYf@n#nXIzxRwuz|Dg4wzd3;<@yGA&QMa#ya(0xHO=Tyd%0Zk3kz z)}j_PJ9(Ulf#XGI%Jc!iYPy<<&*BZIN%z~R32s& z8B7{;Hfpe5gh9%E4HMBhv~{{p6HH*oM#>P1SqnzvB%eHOo@hqUA z_^J&FS&*S@-;zCbutra>2HvRYP{K@F9XhN0gucnV*gX+n?7%RU&ezQ}DfGkD7?z6W z9b=uMdJ>+_9`bSuU25!M{prLoI!-rqiJcm$M1BMqy-@fHj+g5743vw$%bisYXL8Z?9`eG)EkebV za0Fd1X72TMbs=);H{!^flWO7joBKfw1-A863ZEzZ+yCogCczi!npIXxAb<92^IP1X z2F(x#Dv{q2z{64~b48Z$_eGzmd1`ulyi?g*cwb=+EaI*#hlZDmSc91>`gr*$y6t**Ly6tnP!tzqK2Q-__k6FS zkk6Ht?>@{h(VeGB&H9v(YMYEr0z0~Xk;jU4+WmgVmk@TuUi9{ZA%oM!MeI>ILikdJ z8ej?L)iIp+IHprn3AK3wV(rq~n4N8u_EByk8&UZqk9n)WQR`M;>9IC1s)t>)x|uYB zEr^qh>2=nMr1#uGs9R-!u?zk_lqfPU(Rhc$59yQ6^pP3$9~GRxY6`n@88AA0l!giF zqMSUV&ToxRe>Rjo^hom%b^wh)*OgQT7`=uMt6cm&=Mf#h#(X^m0%As-~S@k`^ z{;g>C{jsXeJOnJLeO3{nnExMX_C5r!3JKOESvOO0r$2j*xPtCh#9T87{lB<-%djZh z?r+paS{%AV0qLP(2t~pmrMo+amQ)xT29a(Cl#m8#1j(U8T1ptYyJKI2_y2yM=h*w$ z`^!Gw5ASC#X0CIcG3#8vSfZNQb`tDJ;Eij3HWdd9@yi83DpM>UuToh{w3VjrF{*sa z$szD~PPv^Il>%BiQ0ZUsFzS12L8@GR`kdoIglsO5T-XCQ>No5NC%i-_qkjtF9-=9g zxOgvgNn`g(*=p5Jyi2f@nv>~1kISoa=v2ZS4TfxkquVkuQ{`=#%CXZKY1+h!6G*Z~#Bi(uCX3;2XdGylxj`n{^;l^%kywJsBw{*0wU5H}KhmRR1In zp+6Sphe|hE-C`Ioai);h$A(3!b9H$nzIpcEQloQRe&*JyM}mvH@Sk#2UM`XNXL>eT z8aienGpodhl1rJMwn!$8Ug@1em!I=e`twJ@z|Y!x$Gd{PD`NaD@-__qok-s&yC0I6 zI>xIgDLB*-3davD&&82qk*SQ`TJJ^fELU;1R1S?jT0sT;;U3JV2W8kGpC}cZhW#kn z#2JxG(I|}?d?&3?wIShf=sbeXJb`gfTGE}ah`9%FpFzd$1r$qx+suq0$<$%JVzsZKC)JMB$d

Ik05J6xSl2;Us*Ll-js(yd8iZSVglJJ3 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�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 Omzn$Jyfb*+Px$ol_4AGg zdHnV3t*fe(*c;#k5#;p%&QerC^v#>vc%(<;53k1vPSQHAZ{DEv{%d*wcy%n9m#zojz_TMn@+iI^2xw!ntZxd*E!e*IWNW)B;z?VK@zJ2w(@M_P z1Fic*NGM8euL3> zymgSog#WZV%wGy=G5={}c|YtxX8+hToEeyk;y>+@=GU;>)8xxzJoWIuZ?a1yPC~B- zrlR2+mQi#`Ov>J+EF)D~BFkd_pHBG6FC|n%5{C)v;@G`Kh0Rg zSm3yo$OZpGvU3I_%zj)OLncSbjCJ_wc5G$+4B6_;q{!KpA6Jwc%j1uCNIEU7{<^G= zBn3R~8~Fjfif7kej;&1DhzN<3tgAigC@Y;8r(WIA@YZ{#a7&UUb1pxDL z=0@$^n2pdUH?_(WpTEyV7{?F^g|V4l%`DQ{b>(2-_1qXNid$KgGoP4jP!&``xdM+j zN^V+zd3>y=*iHbhPWDdXhy-fpkzwsZ+nXBB+p_QdBhxIVTD;$=5EPYcf|QtKoAmqD zsxgO1$P5*kvjEY02AOPmzXwGYot`9irD7=8wIv*DzEpdRP-0+U>liXtVn|RiH6AA_aO5)l>%xq;G~J_$^O`MZHJ)`!Hg3 zPQo3$B}7c8Hj;bVE5&MZTN9)2%LIE!1Uj0|H#p3)10^3KJI9Eoeqmr|o>xxFH|Z;& zJ&W}p{c=c8vmf3rPu3J6Oy#WI;xLpF0&567jGn8l$GJiWZ43rvFii_$Sgq3=EBNB zyjBd``LNu7qt<|7HM4cbw4b=Z=SBa~uC_>`J7>-HQ#MmN@B@D@S0%$dHOa9wWJ?`2 zV_^#J21e>m`iYX*RJs5DvtccYNIdMIxwM|Y0vUNDn z>DFM51-MYE*(|X_?e3q+A&bh4W3nopVjo7*xQpyWx_9XuSc??t^apFqd&7|Jv_;^R zY~>`Mo?T-a52RwsMNWDv3-QNOg(ADs^<7vXCpCZfs7KRycg(o$C)eX{B(j?)VI5(Bz^*M=E-n)`smAk=ksPd_#zB`s? zJb7%XJ~G~^ndolJM(!ecDt@>LHTrvw=*#V3cA3g#H?5R~I|E*h__%J%b+#~pY}O4z zwiEP&fA7I0=Tfs{Bz18jG?vx&LqaYUZTBQX=jkn@K2hJJcO@U}8>_({lQZFQY_q44 zKK&BwIci6#Jgf4NUfLgLAX;B|YOUKHqGlD^Okx3V`h3X?`I;{olU@_)dCx}}Ln;r0 z=uHP`xuAXWIsZgI5_=-`uaD;+f(eM^5C*D`%Ca}xq$)$clZJW?zqrQ+2K_kkgyW^@ za%R%%yn5jZkpX8mg6$+4w);Gn}I_&OX$xUBPthB}+!jbkU{sOlLMtA_oV5QMX zbdf-nJTgBpY>q?QmjVZNGng&l_JirtU#H>e&BMM&-)bpoUf!s`Ffx1m+ zOd35`9#2z&-5D!}MAD`*!r3PSeE1VkYqz?kc3hbjI7bPSpuqf+@F* zKA-AmkPS*arL1OCHKE5VQ-w_rw!_n{$s$HR_^OWBBcIikuggfmtJY2nl055|G9dSt zoG;Gi4saP9_kZ+7)FRn~8?+7bmZ5lVmX@JU2J~(A(#7VZ)fg4=b-H}Euac(|+WaIl za_0AhA$6PrnXM6ujCMxwi;ms%9UzNlR7i{RLEh-hvpSbG#LX)Amx9)qr6<%9r*m|NxtXVP#sDr=~p}j zxXa%3-45_c^)TPBRm+ZA9JdN5fXJt9m$JZ+uuGrjl~$J_@s3~LyiF4Lt}_<19g27^ z2MGIofhmkBd~>-m;a)5DDQD|hMkph2AC+4vD>z<>1)8P1#ins9&=s(VTO-?s5O6!8 zJ8|v`uibuUvfQe?-nRfmQJY-dx-pen;+*<;$t=g~EPLx;7FXZmDq(}N)N{Twcq_!u zJm>bp_~`dK)57k*2zU5S6@@dqyX5O9OoSAVp_`e5zSXNOC8(@;)|aTOsx3i@N>8%b3sizybl$&*3FEI%tn)JY*}a|&l65kfZGG%J z#NFIDo6{Of3kTeCwihbuAomQnYWJUES|r&5G9gov*{%2b9QGvv9l`q+Tvj5S{zg*+ zrFagN?i8%=hAqQPGi*TLl4zcNZ!%7lqo{j-YLn}iGwTSxN0lQSFuFfuH9*KSx`e_A z*W0~&S0*<&8f%v_nD?GSTeNvOE@$yA=4*O>WAf+-6w{dEj+NC^hkiE!ug<6C{B*+a z)bc8!-rq;}I9VQF?rx-88Hu0jAd9ir{@4r=_#}kW-M~cMKAt|3 zrMk%cqwS8B%H*F2&!gNh@B8qWPA1u1#?LHeP&U#!N9ckuc*&1x?+{j_>qcp4nUYqd zTwAftZG+ur$yuVmA?_F0l$+~;{M*y%k7(NQv7ioqj%bRVB&bt}zh^**=dM(7zZ=n+ z)(1;UM3$=*5vWk9(1_l(H!60#3cX!O{1)O#Mey0MJE|K-2ey01K+|e`+8TXUqd8S2 zO_k|(-UqH1LZ&~AbpveFgX`agBH<&IGH5_k5%v}OJy2>+8Y2HU^&(ZV_54F5ivTpQjr`lcF4G96r{@Ttp~ZCqMWHI`g@d) z_9UjR_d+1rak@#9mvq!&M*+ySc>x(pMx8EP0^pQo{3u&zs0oJ|O~L}u`D7W}!*}72 zW_HDx87Q&!cfLT5Kw~e^PleGy@UN~Pey9~_Oo7hPKDxR(y+WnH#PRyk?|q4g#N#8x zKMYDIK;t#tTg`6)QgMZ~aWypH1zY^4Orb=9F)1Cvta&aYoHd85=sjWyw!Uiwv-^}* zPEUQ^pU4?qub6R30bmcs_*e`2aq7;JPQ1v5CXcEs_CD?$6T z0!_4T>XLtZ^mMq}>NY!wb|6~t!mXmQYqayT$46og?&y@!VrO}Cc#psd+C`~Nx-w!0 z$2qN*y^Y-${F)I95vvvhDCZAR(|r)nA^j&p{6!2!#a*hkN%1gVnQ0xn$QoqdfFdkC_BmUFUE*xQT;}|ES#z1+hTqv|pb|QkRw6)D0x4S@k?rip=&ngI z>D6%whDWGw`^!Ji+1X6lbSrGlR(Sai5oT@A;s1VUbucu#MIJohut{DgUzw)BXEWvD zY4YqIlW4b@e>Bb=s*Vd}qBneO3T>=>f8M|x_wze1Ev;Gc3hsTLaugVrtqvb9UoEQ z&6q27{DmgogIy&jL+CT1H@+N;E;xL+fTfkLx)Ste{2jaVQ#=Ju4h{wmiK3Sm9+H60 zl-F}_-h^Gr-^>2E)ZI^xjCS>UeT={MuC@`v)D^P~tL8khgpQ9)O*L{pqFgUFURV~z zlYvWioAQJjB}sQ6(YWni=gCPsN6Nm?6h`?p6qqG;S_@tw;o2 zMEpOT2*ug0p<)Hm5UETD=7K*??`A%(QDD%PkqE477suDFe)u)vreS+L+CQk&B3y%y zttzk83yt9`i_S}i^uHt~0I^KC8%wkYPkMA@l&(wV!l6u-Jd6hs0Xx8$gAQfSJYnyi zBpM~}>-*^ML9hss-XW+4zK3p17;lqrI>+DgTU=QZJG`EnmE3$;!5>=vSm4*`YLj<$ zrW!R>mdS~*PJ=Ps_Mbo1LkQauYFt?e#S_AGjysN)-G3;8^E2p`$&J=Kc6JW%OhPL4 z?C<}y{$O@9!WkZ%oea6U!#vyY`(o%Cm+a?#_bXiMU~0DNy)9|S=J4rTb)ZmOl2Y#Z z#SV>ww7Lael#y7EuBOXbnhKx zU*A+kE`y4L?VR|N#alPhjuEfluz7af^kxeM&1N|3c}tCw(RMU3anCx}vh_7n!ghdB zDXKC4%FHfU3?9-$K7NC+e}DUK;Ao?o+d>dYsa?UIGmtxAViBGH53HKb#7y!75)vcl zFwv!~z0UbJ&-HpvgYZMWCbFHIklLBi%w;gJ0Bz;-!^oA$mB#J+bH#z|bl^P}M~z&O zWGp8jSHjumbx{mqIL-(DT)N(-AY9SRzq{S5(r(I;t5LGxHlQ*G!z}+ET;c0Bl-g2l zTWfZ$^`_4|@TzlnkAV=zk5Y@2m-ri;YP}>KeTz; z;OIyX9&mFn)sI=*2YHt#oPgiTT^1C7&Zk=!*<6m*TkUksiU3?=IbR%z;Y36F-43o599Dgcn9}9`?JXo! z&GX*i(Mle}YFp*iDsKCZ_QPpY{%{dWS92Q$`YWNKq!`aaS|Dq)y*L3M-_CKB0!nKC zU2`oT>`E9jNo^;LmluWVN_<&IeI4P?x)0}eza;d^VS4v{SZ~eN~N1v4Sd&@L+e2$0Pjz&7-0?D8^A*huSAKFxid`fIfX7gHzK)Gw- z%$L&jK=tm9pA1VrQ0Fk&)S+iAFqNB2n~%1#|E!}QCXoLdxRHW6cVlo_b;O%ni(_7K zkNA-oy5(xXi!Kw6uU+yM>|R}S5B|8Ej{41&twBQn6((S^>ykB|D9(AJLENH$QN*;36kf@b7DTrV zyCbIyFCERj=WsY={@rj^PXxh`k~!kE9OjsIOBpopdxtZ&G1RIR45?60(WG!^tJTV(QicydOXaLq^swzmf>&z1FZZ!o4BKa_P%*)mo4LsV z_QYgStF4+lF9+_Yjs<7A7gE*1-+?V0J8@8Y>mKZR#mwRROUKZ|5ovbZ0UedP9roub zMp5ZJpp?*#t*{$z*!{CSUl^iU{FjmOBqBbN?(@C1a`o|OE*eFb>KRJbG%q#L&Cs{td!8fBS61H$DbJ zOJuLP-Vp3qw1%&FS^N{nV68RyQDGt6y(O#3tojyS#$>H>tOk8qK(fCLVN`=)A|r-I z=`MY0_$OYr54iWsY6YJ0o-pN!WCWS`C&Apg-o`Fx>U;*`nKip21$%=Jggkf;cIKP0ncHWm6q`ii>KlO7R-4_(N=jbXtssG4Go! zr^0Ax*X{a?VyM;!O_do)e^+^WrdkqYvdIS=-lpY8n2Z)X%V!r8@?{0Am2Lm z7Z(ZMc$F=wmOH-GdQ&?9=OHaAs+Wq4-)6xDN4%r(UbOCb^Q|K&s(AanhdTLsRRUV) z-|wHwStEPtov8|fKI9+Xc$u|!E%id z8`%kw_43Fo0}W=<5aWLhwJ^y>$lLf#W%VMoZU^}qNsZ*4?ecVIWCQAxvcdwKMu>Ye z+@C78Sr6w!?lHQv$u9XYE4O>s4b!!V2Zj&Q`24noNy*cu%Qj@$1q1aM`<^zG(46;q z)?)c-(jg{cdS63MpB%H%nOmNxd{@Jb)xS-;_cff9>I(tBQ2cv(3Fp7Yf!CZEbiA8zG86b+VxY~;gH9f#LH zBpAA5XI~iRy>)X~|4~sQt6E}A6Q*b+`}dqd@PYnWkqT9-xiH3CD%eB5r$8EZHCZ%5 z);f32BH=fmKrTKTiCS-`%2EH(hDt`}K98!d*;i)S{!YxqWO**`daImxstv#8L02Z-wX*#W4!Nw(gmz|-vD2KUK4_l?Q}b)qH&X6E%H4o)tYhG$t+Bg6){ z9|@inP5S~h13-(@Qn0uo|86)(qqycAy1j5BCB4rK`a@&RtOa|^s324mgd^J^*C~qJ zJe_gr*W@Z8$)8){9Ubpo98!!fj8;#Y6-l1_;r1~e$p{Lxlq}}d&N~TbLJYcH+XDY1EZC`XW1-lbSQo{{{d_x*15wQm4>G2BNeS{dN0XwDbHPc==C&6{Tg`qQcp;WgF6kN`rFllIX&X=&RTL!# zHr=G7+!kSXjx5-<%aF82G?ZNBg{%#OQp8+Bj>E>-|d?#JJLs zRdfKve7a`<=;2f6T55uAlG*8ldyn;ehzq0Q;|uR71HK3&FJ6m0u2g-@DYe_Gu;6Gs z6Qh7A)r9S*r&P(G02x{sQ1}qFYK(hNtU2$*pxkexDx(kCtlr;jNU^SW5=`t||7A_u zdKz$iYv?t(G~Az-k;hah`jo)Ik)^hk_JU2n32k7=ApNqy{~YQk!i%M6OK8X0JW43d z%{}{fxs-t}@ei{ShpyukkJ!5n&zTZ0hIvb!ON_hTF8sL>+`$$v4So2rgFYmCDz$Z^ zC_QrqB0Z}!TIUM$(6#&=LG0~s&bH{|M?S8C%&8migq$6rKdQa)$Bvp!%QrA^6ps~? z=&4vanhSvb6w4EW8h?E~_c=uLj*Dq>f0J=*&smER*3ccdmuVsNf0#j*x9;3dx$fAe zjt;pz@>COj1bn@Z)tP9OPa8lar&;JB`*Jz)PG;+gcEL+Hz79}SVOeQqPK|f&5}bh> zP8Z_n)#A>$4o<7R+||hKI~+Hnef}PR+ffa4^W@-iB+P&KnHQc%9`JlDEFOLVb8ZR| zp}9LjDCJ_3vQFdEpGIzHV1C%vo`~7*moqV}5vX*q;4&%Pe*%)IR|)?5i?Chy%;B4G2hXJa$i3FJ|@v>Haz=A%)`JJZMr$MzmLFf#+wh zxy(ctQ*9Eqe^$O5N+%H$Qp;06=|Cha{^WLE&yY&edVVji4MT&2)$xWEFDeytw?2_L z@@J&;)`rdxWjh<#RF00>+tA9-mRje*(Z&Z}iRWV9!Y?3aM1uZVH#&QjiMKeUQu_LW z8%f~2@jkfPADJ~O;Y;qj?{3!3Ij3a&qB{F(*H-wRH)*Utz;0`zh|l@>Kxs<}f1lZu zL@b<1FuVRfC-JgnAVZZ_*u5po%wW^dn;qTXdYk8AQ{`T1N38sRisMnaL(P>&B5@ATTECi{nEx&O_w zk~qwW%`bw91pY;ON%6&p*i>2nf4f$U_3K~6`5*WUjxRfY#n}Jjgqm>a@zA{6@Gi2B zl(m_CaRMwsa$br+=bvsxfMl(+=mwSFW@M8c(Z*KAa@GmY4Bbmp98s8l;*&)DsG>z@ z{~v(vUk_E1(D+YlYcqed&t!wr-Cv;eCHAF6;vdXh!m5fm>$v}EtpL1I>DbPfc%`fjJ>s>#{(BNrSlRu$IAGa3!^+dW?YIj&5+g^d88pkn@ zea+3&f_^l-5&w|OfsV^gyMi2NzI&qEiifXXpMsDLDt5Se*zJEl27kjJ?_A4^<3PR#OK7U7mZQompw+1irLqGg~48Sj9nS=eAYBd^uNZG`ij+5xo zwa?82%Q(ca1wJIxArpc)bN4wHL}&)B$4G$lm^{hJ6>yq=-7_e zNv{ER2cV>ZHZ=vgES=;lsJ5vH=fG~`sXesv=9tNSPDyH*7j zGU&6(-_33@sJI#u1>;)#;r>!|(EEFE*~Yto7a&7+!tST`@lp1_<$Z=_|1~O1j)Xt2 zn2KG)H&c_C?4Pa@(z{yeY4N{eGzc}Ka0{Xjg%X#&YnvV_rB8*e;RxP@!x`-?V| z5}Jf?Uuy7l0sovG!L-nq;O6Z~MgGCn)Au_591?mT7PPL*27{4$YylvPa*_%!Px@aD zv3BJ)I;b}Z0#lk>loR78shW~${GLYnbQ);?eg}h&mA{c%^e0j=<}RZ|i={v|>(i;^ zw48PeHb;_xn44B%t(82TZ<7vndy`d9crL_TF(@xWBq2Ao+;~~d-Hr?B*KiHJt3#R7 zT?i=*cb|Ki0t!kO^ivrPrT=K7+C``I`NK>_0}y7<7S{n-B?e^}KI}1n=FQn`HsklV zMelxmIWS4~ysHfQK7)nIn=knOpzlcFa4 zsi#%jd-drC-TBKeZfpf-T`wam%4ffes#qwMCC`L;u^v^7EDY>VTev?ur<{sZ+wv_5 zhpkBhKSmEYw_8ENTwr}(;l(UG2KoI)H-$+u8het{J51%$$JNuumvpvc@`o3;19TwM zGq3|P0&CS2vIy0qtMF#tpPHV#s<4nBx7Om+8CiMeq&@vJm5*hgRtG(#P*~4X2$-!_ zFJ6WdtzCIWhWp8yoS&So3yLa=chR<;tyx;_;9iHXccC|0oSDFC<~nmbyNoBDmb$wq zncfEWjQCca3j9LOG>zVAzU%$F;gXG{_fciV6tf07)crz7QWNm!*G?FBy4IybtU$_Z zv{%xfip5;nvkJ+ z?NAH1%8BInc85n_W1}SKRM*3Ngyzw>4Fu!kjhM+-`$Bjt}K z6q4T!#!`hD;+&}MNQlRxcR*KU6^`9*?97u>Npx(9ebYhawB(0h3>J!y3hviD_*3X( zk7kt>!#>P_s?d=i9TE8u3sGy(o&(s_R&iF1OH3XXoy*eejvBbd-8pZnWyy zEJee%?t5wqLAZ?ntNy6G;Rfh(@!xSv&7R9+RKs+={M6=gVsWy$oNT`*b-0c;z|Ht` z<%&3jBzk*w%uXJ+*6!rHBvO}YHotq68qNIlAc%wmC}e7I#LkHa3Vu~4e6prU%1jxc zJB$Qo3mYv>4=2k~1b}l#`-(m@s-^EUY&>eOu*4l|c$m#zuQ5U$Bu=ao`uh8wdb`lC zImqvba3_&ty=OCl%XFnjd?gpXLBiBS+7$WOOR}X?pQTEYD?f5v*&5Y z%-&(d(zh&fO}9*fuU~&KE7&N_^>7_>%Xyug4OZblhpZ<+-++e}_>1H3k!{zaO}6|o zPD;WOecyVB`8NEJa#k&ss{qO@^wtRQ8|zxbEz@V0-%a$4YuQ{h(6%x>e++Lu)Jb|L zI;$bO@~`A09ytTJ#D^#($yr7hF83gZI&7{ynLailaRls_rlQ~nEQ9OhwX^-1&`U%@ zX~t7_l2!UeM`OxB9=%ruW zv__1R!L_Q-6(iC`MUnLO9AuUOG7`*GRLeQh3K^-(hT=zO$NVPpB;&G5nv5-tN?;f@ z44}Bb<&KjuB(*gPpckBdkhD$czP~U|)9o(q(#0f;)`* zN;fu2IrKl#6A|hMVGuXvenpD2#M>kDoK)1xy0ij>w;)MB2a)P5JD!}gh`uh{(^y6ex zBEQx=UrfL$PG~F~YM`)ErfZq@-|3>5o)^5DBW~tK3&oeSeUc}pC%{UpN+%*;-*lDY z6KVxu>I*xVYCY1$*MP+){h848a^Nb*GsY5-km7H65n8LxVKWvyNM~HL+f4)?Q=zmQ z@2Csj>xAO7v5|VCH>OQrm!_lg%Z^o}`Ef<#fy?kOQ4$?AzmP>O#YU^tE|9EOV(Sw* zhN|=?PrrS;=Wii^XUxH;`rB7T($F1C$|{wMMdArxE3%7~`Jj}c%_S;2rkTC4zzZAj zptkq4#2caI8rW`;<7*tH+cMQ#iC~VDmLKKHlf{gup(&a>6y!rLv7DYE^&&a=k+{_mAfNv zSpO@kC2K1yFXVCf8rYthfQly?ca_tE<-~|-)oTgdi9r`fQ}f#RSzAr2w(L7io_*!g z{*otcz4a>s_}}g2#{mg5%hhd3{&r8u+ccPvWw`U7yiJ~*h0;$d$8DD}D+2J}?e&uY z2`?<9^Q~$vJI zV`Ci=x#*tQRyVZ}(#LeXSet8fGP2EWU-{REFes-&*>fQF>Q&U?9Hy;qa_GFasu>26 zfITRKQWz93_wZBw`tpp;U=^PQn7FTkJ4yCI?%%~8I*mVdIrs+CpT9B024?{`6)kub z7DcVBXbZ?L4|T^;Hio411^r{DHtYRnrAc~Ao6P_6|H^TfAqy&Bilx)6#r0jMdD4Cj zg@egbz@@mhFk%VRhxN7os#0-aGDQ{w?19w@WF8)S8|8D{7_L`W08t0Ts~h@Y6k32= zv?Y8_ylWo5?RHJLS*!TPn4BH2bJFTWsE+TuDmZ3{YkEgT@6@u(5?)}3wu$Jm8f5(Iv z2xMrMI)e7@V*Bl+soP1$Hoq`eZ24KBoGC~i&i<6X^LJ}Cg1d!e!EMufR5co$5~9V8 zRkw4d%nnSwO~EbC&PtJ5QTv=Kf#Rcy^v z12bE(S3@x5XCDW!0E=nA@v3u2JS{W8%kM4~^}H$)Xv3yDVR#w3lE04UtTi9p{>=E% z0^XAofX&73Kum5q?&1|0bAxA1s%^Pt`a%}#XaNyWx@i3hwnup!;sE;dZ`D`%s(`RD z-WLttL{htlB$Vl9JMn=t1k;iKF8#(2gk^JR$|6v1#B)byKi6jofkGN)~o)ju5GaKjDXm}aba_dO> z9P!IJVa%CH0beU{;)vjVt+;>PZ#Kz!%sYxk^wxYxdp53!Qea8y`-|ct_NWZ^fP&y7 zWoo62o?_v+bnFV*EVfI8g*I0zOx3+yVKZY>iYhM8Wvl6Qb_z?J7o(TvDYncRiyg~Z zpMfnsCz>3{2=&>S1IR?|&_q+FrBKnjb&fLNNqVeV{X>XX-8^R#!Or*Pu-Lr0U{9NH zzzV@Spg-)HhSQ*eW+~4WaEne*TAty~T5&MSq~MPs|G1orr}1~bU9l#|VOFP{C2`qW zeqnqjjmU4Qk6d!M%^VgxGM5S3bbmSs3}0u2NC)ndxVz|n;e3>FmTm`X)+ zXXFGitM^9>{Rg@u2&2+O39kBd1_RhHmux*O7=%q{4_wiK;>hTWu zIlk}8q{;mR6(UINoZ#xjWbjezL=nCV5MRBk*=gNYT$o>&jye;F7Wk+7oTz0+FS z_y3yXhUn;Os-G$d{@Ce+UB9@5cWI=QkZeunkAhB+`tylFtqwv2G`E6Jnv5^WbXH5X zcFdWrg151;8*YhS(%3v6PKp}|Kfb^ZYi@3)Mn2I`+YV)PB4+*Bp~TMh)>=AMZufD~ z29L*}w2ec(KiXV@t%+!`zZmsJ8jRi63|}&WN?F2$OQ?Tt)4IC3Bc_3?;<8dh5^7)i zSTCRUow{CV;iDKI_bg_;ORz;|KL&l_0lx|5AqDgM#f9FO8ULP;Qzgn=asN@1;fcN;g;y;Yq4J#NfohD3X;1NN}Wz!-??BU=K2NAR>_KyMgxBOd61&v9MQ%z#Hg zlE|;Sk}&-5(U$BDm$hdXb#~U*SVV)x0uhnyPzVNcUu$HnHLvVhoY9`C7!9h)Z(z>F zHA#pbHbvEHcyW`#x_B6x*JIHHR-|+Wv&z2ogb?~f!YyG{_El=}Aw_!U&nJL>9i1zC z_93bDLqFhNGVblFhE3kMhNUhgY8q&Z_mUu9tEqT?=o9l~-QX}wu#mWo^58*cY4-h^ zu|;h9IIpK%7*RCM*1RE3nBmTiOyetUH@D6@-O`giz2*7yO|99D6rwC-5RznV>0yJ* zyO-`)Eq?zhRp~GN{e8v}5+~!!W_er}a-fO?sjs$mEWU)BB}JX-a*@fLXidHU6nFL5 z%v2l*N}Z=t08FptA$RMgZ`6?V%Qc!7p>3*qn;f8HA4UK&-irs%*DkIkU{GJ*Zb;+Q zxmbd*w8~V9oUlP3PE5|$JC++*vX3(9TC#3eGL#z+B*}|vY8&IJsF5Ed?wu!7EQw*m zydC8}{xP9oP1p55m-+0eYO7a+6UFpGJdzmx_6+`v3RauAp<+);oCX`5rTGmD0o^tw z`P-0-{q$7Z{_F@}K@iEt79h%r#$PnpB2XpYLzRgbYBf|$cYmIBu9$L4 z{oM#+O?mCWvFPO))9a7(@NWH}2)>RRL|iG6R!E{9<}6zXjHj&J9@WB8Tj{HoZB+V= z#TopbNS|AzXDU};z<_a6JVY!FnCsC(5Ix5f1;k#bJ4=0a2}(L-xfow!{04>1aS5w{Oq%_UKXwrbr<{1GziDGjX8Oksz z(a&%`{Mf8CUS=P<&1rP4eV>57G|vU_q0P1Ypj9@P@08*IcOuJIg;eVW?MsN*G4u`LO6n{+;MPY-uu^TKgKq^04^t> z2${d13&+jL!p>{HlUo2IPN{FW`z`#_?qbv*x#i^)Cr^%_#N%vqc489Y&vq@<&3}*K zhbrUl%{Y}t9x4w{j}^*;CWK7+whmj`yjkP+sj;{L5#le%R;Xu4@KUYp_sWdW+gG_l z-1n}jpeWr|6rI7agr&Vut25n^4|k>GOZc3QkQ(1IsUGJrbNFT?W={`P9%7A3i9(bxDRhX^=PbA2Bw=8_*yxV4uZQS2DlX@oK+P~Z z2QQy{)Q@Ga$w%FuwTVMI2aaa?F$v!NTBKJ14y~ zNm~2E`)aqLUUHHpbs;~!C7>2KEhw-C6~lL2AX)z!>P z-wjvO=Y7D@2x-(Rz2(gHSGkgT!ME!70}?_*?0u9≪jDb9##R?!^|?rt%~6`A;!B z?KpuTFO=*RRvPzVW%jgptIio11^!tI2H;=zxr_6>=Dam1yiJI+d(oe8SF`T7R|6{@ zuDUkS+*4+_)#3`?vGa+~s}SfAzH+O7Au#H)`|@1-Zg2n|jjBRaRGMwuHv17O#s}Lg zG83|{rYhN5MS;4tT*=+hPQ&E8jX;%hecYzf_3Gq|Gx%^5Tl=3172UsHnY8u_ibbA9 zIe+Q~PMn#2)G!7=OpPJUS#S@X7Gc|z=y|*=fKCoGj{^|TH|&YUqq95zt}6?1Tj|4$ zN!5 zrRF1_%Axp`YvZ*0P4uG)#^zW0L{UvoTh%}Q-{{yS#eF&UHZ`|SkxxKW^-4S%%n<7E zHK?r_L|*jOMp%;g z;L88Wavl&FNSxzQmMi@zekwfb1E)gl8k)m^>U41SD(31U`gg|k%YPFX##a4P4*SiZ zq+$HENc4yN#4q<`$$80FSozPev4s#(eE3;jncS4&qKY{5?`qpu_6ZqO^DwgonO*!Z z5c0o!&wq+=XNH#l1wdb0ztT|luwSOd-~W$}v~i^}==`!P%v>xO!rAN>*!@IPyG+x- zVA>M+L{_^bq$)=|`f#(sA=vnQCi)*Gv^JX=<`}dht2-BKHyD$5ss$rXo6r{D>{Z{? z!Mn%LoUJI>p9_Ji%NDN^vai&ZL;SK7w*T~HW;aW?LWNa6iDz^LQOU{m&2drMZ0Pw9fO?>f;r3 zyr#2zb!w%IjLnB9iJxD&Ba_SHWB}d8=)uZhF9-JdWF}HEhacQ(>v~L`5N4epyE=XgiD|K95sk+ulp@t&NajR~I z?7X1O(SqMtp;6SdQey{7c^S+kyimw0X1Mhvs_`w7cw!?WRbq2cRkif_XnmuF*?joF z08X??SIXju%=mEsL%svgwTI7s0^;9Uj1+f!Nhm)6;yLNpa}bO5C?@+{pFZwcCgu5v`k(Y+^#N(-4h4lbH9T;z4@IheZ4 zo)bdfYD4``h^Z6$55y#0X%M0L*Qnz%x>pC^&{g9>J;Tq5dDD%gVvWb}3<$W0&N3dr z*9{K=A4CRClC7I_2MNy5Cb!;VvmX8a5R0m|YIb?`g}jcy51sObMpTOo+P8nF?F~Js_M*8{fVV-w3J7J#Qdoy z^qOmx#-9+}N+X&XMVmsCXwX(70egODOM_adRZ}3p;S-zQ&NID4{%=Ksi^PokJECz` zPuKv@cMJpDbk&L{NqefNYXMXH7&gb9K_G?iCo9Xi1ejF-rj6J|#+LS@DrQZqoOV0w zk6Mx@EC$E~bWlfYo>RSDuq~mLVy)avJt_cH$;m`dQsY#l&ZUGy%0B`%oMQ#@#WJ*# zvP~pD&Z+eGQYp|GYTS;8D`DbHMb-7|{wA-CZJ9|JYOU1_&h60l=FOgaZ>uuq0#_F3 zWI7xCWpcUP(8Xg%UlOFzQ?4$u7OtDz{A8`X8dM-Er(O3=UQWmTDuMe<6m6n^WaqRi zKH_~)1HdW@-1D&H@H3HwtA@w3tm#Jd)iWcs4tua43EmSX9E1eVN+H79PTc4<2o?YZ z*`JY$-E}AkZa1)8Z(X>O_Xvdg8zO3%M!v7QR5xwDV)Z7Kk(FB>+PL1SFKe|-#*m64 z!5O&FM0n8&EQYhVm(EWpa7_h;08FH_14a|&E(_P2WiQe(n@cliOiQ&@)$7GksS99y z)Iu7n^WRPCuz6;=tRF(hYyRm+fL@&$S`uJShnaKs!3Oyj?BnulQXxiGy|1U|U9^h@ z78gTwtGC2RDtnPwV2-m^;MU*1)E0jAQY&<%WBsh@v1%6EGrEYiGYLqKhSSMX)_O<( zY`nE^p6zIfc*O~>3u(=tYIQC_T+;1BsG&LsaJZq0;H5a}bM;I@buHrfp=J&p{NmI? z5CL|yYH>R<%%_UX4%Fe~H{FhQpQM|_{0i8On93x~9pgk6mA-$+y9sXlKJTstJ3lGx;8P1C z@)NWd93FV`TY8m)RhKhLDtRja5vtz74ogjX@6Nk8YBkv^8VJOHbn#5=$xhi>H*nXy z`M+16R#9|5e8L?I#=sI}%Kj9U#z`lRGaO(XkEuzTHK+O z;_ePD?iL&Z#odEjOK~m5gB1%7#UWU6*WfNig1gH}UtMdjwbwcO`}XgSK^YnMAkTBp zYtD-(RJ~b8(JF@RVmO4(1_TSXzOi2VG@1N6doS|Ud(eGMTY>| z>JE!~c;j#cvi_y{EG$Tz#6hw|y_o!G&Du*Dc|AVWD6Od} z|G;CiEujmio=GmcO97*zBK#QM50%bRwKUco`Wiv1QHhJ)$jLp?ykxt*@y!)*m4hz7 zJvWd`rp)pi%{rG1K#)&SQ>thMZRK#3>qXh-9Qzvy&7*W*9NZb*-J3*nf&RIPFLmJd z@~Y1Sj5m=ETVu2eshW~x+aCS3XW`DpeZwC%QLC+|-(*L~S*jD}exrsuUP)Enf=6g| zLTl!;NgMz|hN8mU4WfD$6{pgXKkCaVva0t@m0jsA6~o>#F$EIcMSM@k=-H@sv+b8* z2UY>(CX>}_)ehG;JMzcM&R2UQnPLy-Vg^BR=2eM0FG=n17l3zRjG7Mw6Fer)_P~FB#7SH zQ~Q?j(a^C1OeJ5LR;|@HZVpEwP+6W#g)3?@@eL6L@w&ik@+>%J$wERMp%MS7%phSy z`{NTfS^Yx}(JJws13`DcHGm{5)9YJRGauzwe2{M*b$;tq)pB))@18mY>)PKGPxy}E z%VAF@>GdIdwp3C{keSVvNijV|V(H=b*BN3i>v0tjN-jOz^Eq>$X7agxeWM=IZk zyDu>vw|Nt|F4-2$*e6fW`R;6aX5Wx*FPJRt8$&_HIf`d_ArUiOGeC{YB3^%VHo;<$Yro$td)<)kh7k;>uc_PTtKC@hy!xFtkAH zP#mD$J>6d&@Kh)Qow5o){Dg)Foja;1uGA4VMFe+gjgKP^>}aM3N4iA7z@=J>9`>YK z74v(C3d~rVXrUw=_Ld?T*NM6TO5UZ1i$GPF>W_v7j0o>Yr{&hCK4_q}F$2t?q4bTp zX*7Z1XURXfT|jj5L$`cknYAt9S7&ls?5IRxP5wF6u#la7E$~@Bi72k|$QfFMu&i$A zhYioKSbe!{mbwpGxSNbgKL0PX!%hhOdtz*s94qsgSecc8j_2Uon65Gv2z^M~ZSRLw zUht>A7Y_DY-BU}R(0t8&fqWPGPmd832_AbgsViy=v%Ti~YEak9sNbLSpW}3sEY>xa z;Bm^`N0hl6T@CVgvdfQAIvH4Vh7&TscJ5TV{K$(gp_+bygt#s0OH~^(48FYZ%WKRk zKQ_xY)ww-O45C=f9w_!Da{x&8_7iEfm4YSD*Y;(u|%{6<20IUd6V%I7E#q zA-Nn%ZY+?xt=?uZ_Wt>TQg%ateq*a93YDnpyIWJN-B7$%kJhI`MNYZ)%4oVCZX?;& z1~RG+5FISb39W7>>fpS`s!9`bF}K(7ZB^)o ztS-yxREB5zr}PC-4mG(YS45av_GH>QR8i$s3GQTddu1m_396n5OxZYh9?Dd0h7S z7n^;Sbqv`;vvV0-sthmS`!v|7Uoo37&ILOXEtMPH`x|Gk57DOHD|Nkzt+2|~3WJS| zq==Yojm%_Gkj$JL!mF@FuOj{nLzJ(57wOgB0qa73AylYSMD`a$#OUq?(K4Z&How9t z9Ph~3E`4re6Ht~!L|t~zr+jZw?0f{R2QI(QnZ$G4GQKeHksWoRpB2iqDwP1UKOU?B+MkamFDAq z*4OItWUlWz?z7O-tgO&n>Ug#~SsOY|u$=#$2#i7b&`q9R1}EQ7c5;wsvLLMZlG(4? z*IX_k1o*%eM}KN=!k>>lOUY~YQ;-Fg>C@_ds-Y0^XOq!u;WwjH^ni?;BR?br{ae@h z0}oCnmN>+Fz=|LBA~|tDtX42uKuO3B_8Kh-12(Mr>@hR}_G`Nap|DIdX!G4ZEAUX6 z{xDB9G?0Dpm~(YGPxyNs(4nPYe=MBG3PHkV7#rRsGGXmJ+RMBsPpYPJP9(@#nniyp zmx>!bYu}4_fx2l8LmCPh;d~gnEi}ea5Or^p^NMZtJBMZaBSF~dhe&fMl_R2S@@%_j z$Ql}Zp17--rjpYOYbbtfLj1Tk8ow`s!a&#eIx%OU2>)`H+LlD1pRrNAPaE^nCL4zf zj3zW9htt<`l6m1u6|Qp7`8 z|1+$Z?zuLgHO5-d_05Ffnv1+xxYZja{W9yP?|ruT>Dyo`2{i&ICVrS2aRMv7b63?@ zWd#TyLhbGgLlRId489oS$ZWc|dF*asY+0kKh-_&nHa@Z;g*%w8-zWlJy-QHmu=(`p z-Hp%hL*8GA5T%8#<%*GZIGxt$Z3hRlUbq6k(2;#w)_TFAV{b>KEk|ZgEA?AT38;3( zx*GA}BBpcd=F2bQ9RP`eu_smgjJq}Yi={a^%1;|8PUy^pzLfG6U|n9Z2HMdQQlb%R zSq*$PXgb_%_rUGfAIQkV0y{Fv-Z4kO*=#DJhqfvM^%>QX5pZsR91wx- z?U0#wf}$KUu%C`~r?Ps`{MQk)kV~Mo;qs9v&K;^*Qb5eU7vu1FvOdwiG zCOTlmF>= zQzUw2Zu^XdF77H3BYNtCqRh0yQtLg&mZS?TjNqDgz9?ZzPj(&NT|TekYYHHu=)dwu z2`!YqBORK|dq6CAKk{#2W7XZ`klcoV4~_;QCDAH^!0?K)+Q8Se$0Ao`l!c*qM4`D_ zyw6C-i>F`NDRPywHVADY^=OcEbOceY;d|-25)*dm;V08-Amn1v)6mDTs}-k%DpO<0 zQxJwiXMA{l;>k-c;NtWzASgl!Lx0`nlxL?EKCg~e8pA7GP1q@)0JpW%I5gA(gfn(I z+*SEITrjf%x1x~X`gL#RH*{rzkE5ff8U<<8d|pdBpBvrmAO>QZNE74sL=$a0$?uf( zdkO2yt|IJ7V}{tP!L0HLAww3JN{t`107eX5sT0YOeLgHqLde0KZuK- zr-+ek`-DMTY`7JN*b|KT1Tica%l6et(LW~ED?VCXf#Hib)>pMzW@12IF2Ne&Gb?$j zBF;WJLeuA>s_Qb`&HAxkX1AhlOD^o^vI;k`ncnJQZ~Pb`LCc!f8PBEocQdIMTNk>p zSS+%9R;zaF&N>~opPB+FHD~24Cxp$41#tmzx@5kqT=5=~`)7&9tf+Yw_451`?66?N zy&lB+0&yrJ(T0sX{*uPSX> z7a}QH%FZ_emAcT{LHWXExsts7V7WE>G3Q_Xlf2Q=l->=Zt0OhZaX>sbcaCl$uh^Vt z`{~mADeUSGn<%UestrQbUn~lTVlI6??x&nozdA{2Kdjf7p6Nmbbn(uqqeg59yJgc; z6$!74+rU{pA8$W~8Uou>7CfuA%dxp{%h>Z}h9aWH^k-$rWU&Y@#G~Ju5Z@UplZM+hD#cE<_qPoTT8c(#G5SStSw4!vjw;|bIIVLC|S+!%GRF! zrfpXbpxSsX4d;6E9_&xKZ+BVpXJR6vM|5XrkYrSYAaQJbZ#pq6KZ zL6SL`V=h(!MlaB0Vvj%c+ViJC5Ce}8ezX!u9r^fbN3Hty(E325e{*_QT&?jNYBL+? z3_O`BBUOKgp;8ilrx0e^J6K7dA&mGgH3#j5MQPEl^@fXb*LqtD+0bL>UY2)_MujVN zy_#4|$*dMkY%~yj2t>3f7Lpqc#bbNfhi&uqtaAXo6a_9RE#Mc&n>v%R_qVx<%%LrJ zYcr-)XZBrnWoX5Xkng*l8uMz=uY0c-wYd5}n+}$M@Cn=D+%sPQx;pQWHp=|XTzhPg zmqX1Zj^i(K7u>VOZ||@xX4Jci4ww_w>^|@3zszr@Z0@!r!BISCT^P{57zkj=H;6;BK(Ac+oi;8d5aURRXh$DCveg+ui^dQAqnu6JeKG)Y zJcDABt>;4t>cre$+$$2Ql*B|o( zpB*^3GrmiU6JOaaRVQAqz0T5=bfQt0_qx#3mE6JOgFT5<1er*6>)0rZLg+0kZMgd|B>n#6m=;5{uKOSNMTnl+3`weJ-dWjW?khYKNA21XgG95P8ucQrZ$^v zgjDD>zcEcVtDTq0UmVarH$2+9bgN0s?CbIU^U~$N0bgr+JweBu zx(V-9VR%}Y=t%V?6z9u7x@!NG{T(T$yJZgfJE>I!$)Ya0;W~$LFFI{`U~&#w@@Ej4 z3<*kmxn23cO87j6TW+&lhvA1wm;{v$j5pL0HhGuipdF&z89C3D?Z-S{Gr z(SCmn?9)E|OUXponJ25X{NTCeT21a0nzC@;797rY0)$0-YuPiFl2>;KDt1@;@2y!GI;rCNV3 zNPcL3@>6FgO*lOO4G*G-w$93YLN&8dRp?#;OFmoBsq{>TeDmoWnWn&J^>}X7X`Ct% zf!}k4b`^j7En~9^h9Y%;+ zlSVU5F?Yk-$fu{)7os(}itjVSO&50vFOvf4yJC7Neerh%;7ivwfm%=__QWN(EP}Fn@Ua$NoC^DKl-H#4Vaj(4 zlCqi-8RzRrIo^x@B`zF7N1c+7w88k-)X}cq*bUFqrST+*7;K0)e>w$k@bVmPMJ->r zZB2Fzo;-(U_YKUu;y!U7p@xSFlXRtzHo`DmBRD@ND;H{WTGrq8LUee|u~hA*gnIyr z^sMe|oN_hkY2;&MygRTM-e$8Zr(^EHCugna{tKNe!tXwfGmjhjX{%-o9C>k z^Ua#dXX!8+6;!1M@Ap6CU{L;K+I+?0)Tbs^5Ah%o;XW>})Fq}Q&L`a}okLxGZ{MvT zA}Tt~)=Fwrzif@G7q%}d>WW!TkqC%7xqk4})n$m>zWM_cck}sVQHf^qrp+tHJ@V;4 z(zBbv{E;>CqK|AhPcgPM80_@Ye1foodH3Yyk@RixcN~wVCjTW)%R~1c;6>t zUY^TAvP7K=ra3Y_-#r1RW`7-It+{@uz9?tG^EVwF_j-Qb0%#U;-jg1tRQAdjz`)s8 zcsg1f{X&g#ds)a4>6~NosmxvxnGD{*qASGe{4PAn_v7_tt%IAyUq_`xY0gNRon6kF zkIi-+k*1SlaY9)s`R1wOCM<(nGW0P3f#cp%GE%%fqPRbwiN8526&Xu%5ar=~BrQpx z2|)(BO4~3qXRfSGNA#1xB`C90PS7Sxk^dbn%IV{P1rIL%7(FZR_Z1L zV5i`Ld8<`#CEqcsrw%dZ2*SrDcK7~BuQ_%OIQnUZ(+W`IB=bS$~r>LR+Ho9?M zcBy)caqDMAcx7eVel?TIN-0}c6){&c=~~Pu8*C%4nw-S0$dgV6q`bwF)`21-PZcQY zIF=t6JI4k}k`)t-YVJ4Rj^=gk5~|hMS+Nm449i>mK3e?fwhc?_!afYZuYtv4@D#6{ zc&;zEiR%9;42!&|Wi@I7Y?%Xmv9Y&qM=lDR9yRO081x^=`t0tYn;;~1%9yCoxkli@ zCZ78?5}iRbx}@HJQsys0w>37ZM(q8zGeR}ZzIVYU7mz<%tMFpYSo3vpAK}Q4d&rlV z{-kBx8x>esoh)tz%LfM1>JA!s6S(W?*o)9V?D|i0UqBxCxSbJN->{?z1fv2a;_!W_ zq>Z35IOB!H`FZZ8tiby|-+m+q4uy+NB)Q4izbW1O-zZ%`@44Oup8w*}@089xuG#Fh zzO!oMhk#@P1vLL}IE&Pz?S1{>3kH7Z1uq4B2&su>-*`gfei+qH0lZeHS8Hf;dT%>^ zx`yAvx|4oh6KtqlUHA{ql-& zU)XEu^B28+vUdTQq}Cq!-swz@zJ1%1>CTkm5LYbqRbTeM(}k(WF=P~dL-qPA{T7P+S3{a?e}0Y zr1OP3JZzb}FkEt^$NSkFX@LmXf2#{&1eDMy%^h?t6tNXU_6^*lWI$Su5AM<96US5f z1D>TaNz*rs*?05e(qEmw-8nWqmM-ucT~8NDJ5d%iijKjE zUuDYXQtH`|0CaT6nK0+Pc#p8^V#^MVPu{r_^6`u~Sbuj()Z5}GTUfoQHWJfArTXxd znY<>=$s&e%)tk$S@r-|@tHy!h2(#s3%)yJgj$_&61Csr=b*nP)APx6Vy>u~j1SzzG zw&#;9_tuVIMa?W`)efF$Bigx5r9FcLbb1UN(7uSP?MR8gE6hawDBA#SGV-hQd2hI%2?`Saar{Y(?-ig z0<`A+D>H?mb5ogN4@g~{0yka!#U9s&UBd|YsHodYp90K;Cadl7GB?+V*HT_+C^r$m z{ zQgK<5S-Aq&DkK(uqmNRv@~zwbh#Lk+f|AZ^Ih?B&zjuG1B2=cxnpT=qRIPXJ>C@;E zQ*x0%?=f=meDgnTs5*T5mgqI@s75R|k;K%;x}!G@#yq{PJ!R|wbvV$sYn-27Sv)&N z7s4!viDaPjTN!mLLRHJw1|mW4_+ls2I}_`Q`_D5vZzh$+Y7LPI6gQyb_V~_UV(-|O zwVudcjpa-=-zVHNYR8bGMIQ0YyLojwTK?Z5m^EPp+1vZ7OS5QdZ~rjxFW{9@N>qpO zC-HjmT(;xi(J{(qr_m9$T0GnmYoN!{cs4_TtZGZ0j-75VUdHKvCR=-_J*^;GyJd}1 z7InW2Y#r3oWcf;ZJ>+c^TB~Wtk8aM3qp^gr5>&=C)!WfR(Si*I2i6V>=jCW2Uv5~= z`l`orVmO1ny;GY!bDgVxf7RG`%sZx9W=?Bs7UnZDIXcy@iE1`VAJ$AcP9n=n?H}?P zpVS)#{cGeM3SLg7Rx>GW;&T@MFGmCvx93@@!@@!qrIqMI^mYQ<{Ewlua+HU5wq*-|O$zOoMu{5yDVAV>HcuoK zK*3aaAZZfu)%Qe{E?1s;Vv9eN^z5{(tU%#0lIM>0WyQ$G1`F_)R!`O5gS`74;L#2j z&uUGa&FN759NPS$h!yByy>BiSeU&xkxuf>8DTG|mY>QH8DTPu;&BxRbW-5+h0C>4)% zOk+0MGrhE5#^2A}RCLD(L8E_;!Py?Jedg8v9LqPC!r9Br>~Htin#7_-2r zdyzZ09fQzDA~z4g>albxPZLT~9ZJ;jbdL2o@B(?+BAy_mP zk3(DY*0c^HyZOzIv3w92sc^c;zQj1F zkSAqUikveYW+eA5p!+t-jd)M^fY(#Q04&k zpxX8q$uQT)ju!6+6Gt7w$Y@%=skK z)a_MN@8%CR0J>6~Qti4)-OYc7j zGD)RQE)fnBfKz~2(1?f(it8TB$Q}haXcF>PT-1$S0%9&sDOmF#W+5c!j6H3|*qgy` zg;w_5Hf^0lmQB_czq@eF7<058prqe~I{oV5!LbO={V|c*S-71sRP3MVn8!-_&pM_d z7FKc~OCd)%3~Va)`+4a>{E1`9s>X0Oo5#+4^AzXh26wjkHKVyem{2eOlPMi`?HxBj zE?$g#g&lG=B*%j765r0B`3e`Ovt?H6B`=L_|2KsmCja(d&mc+43ux^N{W0^?C2&k3 zkIFzU6IA8Qc%t2Tpv6jEY;wp<7C<*uB6S8(ceLyZ;Z0O7Tjk5FICz!+v#K=YKPF+} zxrnTYB9Xa`stik?MHd0ljx_BoitdH52uZiC2dj~AuGbG@B%5T4q+ALnNA!}MzNIbS zw8XJ@BM}I-v8}MytqDG8_x|sZPSKS^a#fnq@HJ-DxBBVgpI5|LX;qb935_g?cp$`4 zy6(QJT0DBO3}2#+9uUT#L@Dxde&)ssjc#$+cFIwV*SNB-m$^!0OP6yOxsW78&%hd@ zJJK}y1(B9p?sY6&U^gjebk*Vl`Z^s!6cLkD>TR`fHh((m*CpJR1^KezPl?u-gH5ES zv3ppMWQmXsrNwgm`eIx?v-{Ky{nG0?gx`mQ1Uc>4Sh5Ljnhc8;w{#IW%010d0(sRrah7XsEoGD@Hn zNYIwL_a+nUmw{2safc8wN8S;vR$oPc(mr0TzQ597l7{h4`m4*P_gg_x3ICJ>zR-Uy zSvJ$hW)I3>Sg8GIJAT*ZTl9pTax)D8qvWyxakPqB3^$4P28OTy;We*_C`tFm!$sk255n4!!JwU+V1Q97$ovQ`f5|B zISslU=qVHmO}?8-Qq9@ul*%l%$%)EAd2y4;k)>KN*`>*2!@0rExTS`LH9>ZqS$&e& z`04Z^u#Cx2VZV`#qi)*UY&0l+4uql(&#rk&br!?pb55sot!c2ugS3l<{ugH2z2#bL zNB_p5cimxv@#dZZmUCzSWPeLSmB35P?#cVNA)?+g+iA2pQQ)C^sPdqKC*VB-)ssg{ zdP*)Um2=2bk*ujnyv)4oPNI!W)H*SYdPTpon9B{MBW2oqmxY1EvCo#(xLsx*rWTy0 zD5?&Tjr);{cOERzm@bc&%UUTb+etd6SJ^qQD^DHfd%PbCtrG4@cO#>~D01JiS~)|Q z&qIx^9g!2D@f}WdgmIF$JAv9oh#O0@(Gt7t!XuBCZ6@!Et1GV~@Kp!36qZV5nx8S7F%^`YUe^%~V%C(Eu%=GiN2F&yj zk?CeQ+>>J8Fa>Q+Jd!;YBEF%Ma%@SDFM;u-T5PIsK0ps|uRF#BWmVAFGGqco%^*KP zbV_+U?BJSq;kGu_@qI4|VTyXk{|sopjHxr&VT*;|#&p*Uq0G$-;7dATp(d-gXWR#lQTx*W!B)WNj1-4+ zC`lr&+|()ajfqXyO|~ZzZ_y$EeR)x&+=d zxXxZYMnK8$`YdKBUDPXlZ{HRJZr(eVDzcfGapdMSU$As?jO{D36uVP~;&SDDg|UdJ z1abMJ8>_jdG>Sf@$iJp}jM5dPG*U#*f2!@Ae-)=4^j2O&yKe4_{^|DY?T5e##z5)$ z!xRN)T|X`N%W%ob&u}{n|KpVnFh;9tlfJ3;tx9dN7vxsp61!QwWT+?^6;nUO)Z+eG zERDg?!F&`4h2GU$A>p1mrisLOyPnoUTIgFR8J3Rq-J7X`I!^}*BSM_4)^Ax*FOmXR zu{|^@w`<3ST{&9epS8m|+rx5_NyCoCXOBd7^buGwzpkvUH=lihJsy#>e4*D+*Z1&# za4I(cefl{6p);*wV>D7-o!J95n@%U8`VwlyD>;LKH={keNBc2*Apu+^(xdG${-T)x zebn5F=!(Xh^F8C)&1W1*xt=$QLQ3CkzHc#7-}0$cRI*Z;SPlDhI_QPn)@maCCWIlg zCCNVAtCb5GZi;9Y?T+26MU>h1I8*1(Pl+w7-3@hC{Xc&eh5nqPQ|boT+q_3g=?XN% ze@M^s*S%lUx4Yi$$(4$nySf`%zPt9n{h!Oss1Ew8!-uH5GjJwm) zd!>HJOa9SfEY)K!Yo4o5U65Vq2R5`PtLR%A;5tt>nl8V<8#n~8F34V?O*mWyK30QnBMmU3iV$vk-m;m|*n zL9CE_6ZrBfnTblTYcT`ggwUhn5_0B1RZt^|5Br9He_i_K*K!R8k%!-Ed*0OGUZ6lY z?o?mjb~0?tU57Vj`E~bH`7hc_a+@T${wGZ=#_sB^_o^pEPfvcXLTApMAlX2hl{!yJ zTGz(+{zTf&_;iT+aMiQP^u#fww9e;HNTnjoT_S@e&!qLbOW-!KO)HJ~^?yJJ|J%*U zl-NhVFI)UQeR*{lOEL{+N^1Du?O6U_6|zfK?^rLlYu3|@z6&{KXNLVn-+LV)P5$4R%k3&4j%?52a?cYbm0fsMj>I)8#&hV1 zCy0L)PVpZ;NHEz5_2t4Fa8k{O>BgZ3@B6r}u;f*ab0G(^Ma-D&C54Y9>$fkrx!xzd zhCgX5P|IF?7~=gfPLZd~7N>Bs$RNT;yD>C1I{o5|3mmln1Sz_fNUfOjh05W| zl%eU?5gxHm0WBmlV&w<)q^t4H9JHk_z9`BEXt-6ctQR(wxb>i9lp|X5W#6@^Lfjad zt5&|a(vexm{wF_7GH=oGLpgP-=Tir1EM?RZrfu1clGUkO5wD_BaBaP362HfTMvwbY zyMq^v-cPVX76d~g(Z};mZ6xa*$mb@<3@BYEUgpT=DuA};l1k>U*-h^r?%j6>%1CP* z?DOcIQ$2mk+-5e~G4f272#N2Kc*R{vcXTZ*@`@%6i>sL8Y(g#Hb}^b3DSd6H7jXFX zAPHz+S=Qc}fh81_wo#<}Fvf1i*j>TdI4Pk&EXxOEr-GKuS8@V8;J@Nek;+bXc4zxqphMXVc$- zh<#Vtdu_fqbC?ZiDB=S^<&UWJkA0#+Kar{bYUf7S#t_v-K0kHyuMeTk6qFExZ>b zJs57u2_{R*A-NEGGDjA3t_tY1%A5hqG45c7YbquOF}hPB1XEGRJ7Y=^WSDIA2~3q zW_Z8&n+!ReDA6g3b<_hsfvk*0)%rYYqvk%j;L+eHib}xLnp3_&BWJ~-^Mywke?6*F zAfWt)X7D|&DxSVWjinlg6X*W6g$q~_O8Q!r*h#n18zpfpju4V#-mKi9{R#|T>@qa6 zRv>By5>I2j<9DJclDwzlct11W>YESmn4=8S!e_yKIcpdT(jPDqUCIBi>eov@dnR>K z*L!aNcltbsm4|c-TayQD`#CFnUk+Mf$-D9UAhx|XpmvKBoS zKc61&i|pA@WG&DZ*A73Re*OA^?>%SAZKAvvb-Iah9O`pkTk}Ff&i#p6fJHaTSO0jy zS|<}A0VOx$6-MA5qoAGTD)Ib-T__y0Qb?eTvIISjR=fQX|D-90({|sCC#vDOr!v$Y zN7wTV;%diwYBaO30ri9Ta6OBCiR{QE;qK~tCQkhNySzAJ7Wu0QAPMv}LyfPTQ$2%V zzJPu00nrtoQkJ1|XlzY}UKFRlJYEz97>|A~j}u-FNxT|&)K)!PzxaInA7Wst9S9`ok^z>~?2&&HbwX0^yeZL9WuC zzC>^H58=!{Ft-$XOFS|KKLqf zlg**S23F6vF6P~EuM-AAl$gBJ&sI(Q+;e!%mkT}=Fd~L3k3>#WMZIMKl>-u$*WRdc zPTp2>y(iQH@2#NWvo;uD3dY{#iae{GAJ(E&BB$~6L1!3z(@$eSso(v63tpNFMRDAT z|5>p#CM{h$7VpAVW!79a4TL?KM?YRs`}Vtj20`d&J)MaXh7?py8iIyC6cpA}lBkk* zlV8vA`}R^$jgxa%I#lpNdHN?fA*gqWnyHzoew=mg>vl#^N3zMk;8r{YTNl{#q7JcD z;0!hBEP!pghoco5z zK$zm|ki+5JaH1q)VPUEvbfKuVIFwtGSs^E~kxat{l;OXT27(ld6?V*d9DKY!-*enZ zTUeia!=bt+Fu^6XB6HvU4*6VCrGWp-kv}&V&GSj?p ziNa*pS|&+SS&BLQ7CDka!21kyUO5Nah+_kc$DZm||C`H4zLM7v#j+eP4Or{0@WOfo z4OA1fOt5^NSYk|y#A~2i{`Awvq6NQi6>3hch?0B41AYq2tKj1mZEOw52cw@qQjk!R z`ZBGpeFD)y#ikz&Veang9>dCM^KZ@8^ph?$j-+L`9h;-%mnBDiF4P~U|{RD&bncKnfu+s^46 zaV5P_CqC9FNqkpDsGcDO#x0_-fU(uV;2oZAHaW1m&WMW+U-beA-~2ep~2ef zJS|&{F)7Ib#Eq{!AyrW9avTGDr75zq>YiH#-=6e&T^+?0BK85*@WGsIF{_f9DfzPL zDeDm*3uS#Eq-iMF)T2zw89JEKH&>^X!~5h4sr-6R-x`Y9{{G>w^yLd2YCX;VZz25d z#PlZ6uRL?5&$-gF2oQZ*q}<5x7frdzwsE}xETXEYs``>6Ev#n_JG%xF(bdWRlZe_@ zArHy3lW%^tDZrOGnLdT=HR1^S+jqQTOB-}9TxQvN9q5&@vf@@0?oV$wKc1|4cV~@+ zFmW9~ar^;c+DoHtVN@n)fXq<#d5?OfCMkNq--?)=M5CP0I_l=iOI8@=7yIO@`7Pzr zRBj`rI^`|{&ozpry{zxc_Of;iB)5LtJ$W{-d}%;z~%IC+cKnZQF4O+_iK zzWB%Oh1c>}zWY0)a{W#G#5-t;|C!fp~z(VE{T7z*+aJJ177=_<* zV9>lGnEkj)?oOP1qeDQJr$?#Jc4w6A=GrHP95)W%LzlZI&cH+YRw&kXEfnVEuI*Vu ze)pWBP{U-(qHH|Ms6MF9mL%~j5>ep6b~SY#=F25D)c~Ix=h5N_LNoL*q>ZT`gQ#Tnh~X#3s_PO5#REJLn9T4!gwPt zHv5495yiY243T^Si%WGuD@BI%J*od#Pt#-#DV8QNm7u+-ZhH*K760qN@?>^dX)6~< z;pjqLI_uPd)&ssHpxS@sf6a*A>|)t;7P_A3%m@A(j-D+y(o|s?H#eSTNd<@NTYjc= z@aNp!(iE?XPcB?pya_X1`Iim#{A-p9YnC!nCfYE{O73GKK(?WNt6` z1q(DqPPX<}Gc}|XfIj5%2EGBybaYMdOG@W=Vu+9;jebo)$*Q#!XT=rxPOReJHZ!$; zS$_B-Fnx=b0pbx5N+2yDLYhx(vHS%=Gj({J-ozMUV{gC_*WGV^TSK8rLkue#EJp|C z?50S@a80&ul~)U~;?JcXZ!a?DrHf^xy=i8^p;P@9u7xsFtmwPfvBu#XzQt;;h3h?k zMKPCfl%)0L{x$}8JmxhRU(G~L`+IfRWB3 zqCCac^&;1o1PQM(8N}+a%;oT7uW|nrTloZM*YzTW5i1hU5+B?*wSPx^cty;h040f$qe`r{Fp)J*PjHveLm!=F}9j)xbQp_E+X$3CdfNH+AItAi4Lc-IGzQUb45*e!Nu^ zE+19$(ipPKqB*hdr5L-PmN__}uWS*z{$8>ycF+jJLHtJLgV)pY8jqGA_bSg=HSa}| zbCPk_w2e8YOn{R95Z(NT<|Yml5Di}840x}zZlUzeRWyQ@!ID7RAzv2>K+f`Ke@Jeq z5h-axi+=pK5poIL+@z_RLw=Wqyx7hnfM(rz<3@abdP5O^^vY2d1uHqf2@pY%sBcho z2{WtL%wjS)6Rxt*UW3?j;)Tc3J`xyh7N7uVKjLJ=<`_hYjKs6LFNz)tC zYo|up)pn)}vkJym?l02EOShs`2ICMIz3Yexh~RWcn^4so)-~o~_DOT`qHVY7$^tRY zyd)OWs4pMGl+zeJ&fzE&3O}gF3-*eR&4H^3>d3)*KWmXJ`F~zyTzLvpn=@j^z_MIg z@|E1z#Nypl3*;gaf-hJ}3(Q5SP?Ep}Z69G#W#=4<D>7UD)#ODXxh@O zOnViS+wtD|J9UmVwf*uvvh(YDct`kc%HTz)O{8&JWNkNZZ9LQG!h3fRss2*4wa19l zq!m{U`?`K}<%jW#Hf@;m_R~Ube1OSMtpUUr>Zlz>zHTS#en&Y3A1(F!x*zAupJ9=-!C^1uds%sMSg}e9 z+TpK$_uwcHU5r8k7%1s%P|4x_T{)yvGm?L3+nPVX7qL;icjBxwc5;q0htem3x})FY zzCuo;Wc7;w+9OdJs+c(35z_vbB3E%gcw9qyiSn;ohrsivRSsBl~=! zNcPf0HxpUQi14K&#D$s_$VuV@X7$xNd|xr{(YStCRWYrF_UFAjBIE_O zbf42uK*79(yipo4PHitoEfJyiqUvx>)2z6PxgI_ zyf438!I`m>M*i{cEMv_xF00l zRkd}>imRYAa4GjNi|XI0a#l0t*Mo0qcYQ*mOMY2)KiYjTyY}@=tjOr)NH)Ih4&`hm zMA{i5DG`?5(!P|v;+5A}>BFhad!qoSM5Zc#v>s=(S$T+_;JpRNQxY_tmlFoYBD$JG zG|0vl(DHY~KkxRbgL#gL%!bl%Mo~@ifv1eU&0}c<56%;pY%r@L8+<;|kTC3zh0_U3B-RmB@2V!_gm6c?^7hwSt0q zV@{<9VF>lowA2AHj`H57MxAHk`!_M(myqW*Z5Gc6*dJ zw*n>YlvupHRrq3QvqdPLp#!wm##VBY37@* zJZ!FFYOFI6G!jsg$S@qi3C;vZ}tTMY$wg2s=z$G2MR^%Yg(l zvvHdd4>6@`JUD2sAnSW*5N?sTnEpZgSO%NXT81*$z+XTPj{SU$`IG;uXrB2*T&jo0 zXO&a>Ds*XZNu^`mvgC>M+AmsT4E{k!du;%NwFd^vbVTU5 zpq2|<6r!Ln7MJp_b;J9FNk_R2W@U@`avCjQ_q?5*d%B$|&M#P<@||g`kcN>3)UG)IZ)2YEfq+}yF2$iB`=DVRx98V5Phb3ziaT`&ZawU zx;Af6`?X!av1H(-_5FL{e5ZcMAdzeN?m=6*D`pi0X9+o|{!izkaE4u0YZGb|+a?b? zsq{&zHYf1Kzra`j!S96q`LtJ}BvG(VDGliLv1-$^PPa&dr&)4@0c6qb*vvoL9e4@_ zW~^S|Wb|V2>t0@Dk31qGgtwY1RE}YJk$*)?Dq;kGsX~T8P^3jD(FhV&P1q_velj_`88%X1`JmE-6|@DZ0{O)k4R~*GPdl2f^Mp1B7Xr*|87dW$&cB?Mk7ut@NKv>-`Ojln{Tzi zvz#rRkSfu@J4G$>lrAxBAZ-Cpc`R*sVUc~-*bp1>&7{0R>O3+l>gg*kLhF4yeOo(@ zze|o#o?M`EIu%7PEq_J)2wA1iS>W<~F;yT(Fo{e?@Ft%pKYTHFk*`Z29Uo56j}K5v zYX5zrB*W@#g^N17Ygrw9A)X`Qo_K#1JBn-Dj<+KF87$wfBY`&c;(GtE^3&0;`9iZ) zvQ=3BoB#CQtr#CKPoVG2r0RMHG-lQFs2ZHxP&+$i-abNC-Tx4EzIb@_UgZzY+x-~+ z9FO+tq-6=#7#GQT^z=%fPy81m&d=5#GI9(naQAn&tZGZ~2LvL0cM_cD6f-b$O$qQ0bnXsgT((TSjA;IWVf;P*Wyv0ZH z>?LIHwNoZbMFdR_n$@;)K2cUNR~%6YYI5^VPCnvr>iS5)x=$K9L z^L@VlTnWWZdV(G$P*9=*Kl5vBIo=JAFF}3izH)5W6b?6YOMEvv{v5ielSFYv$x4p> zj-xXGx|$E{Q#jj)6TWbE$SYDJdD>@9q4ZjuBj!@tP%kWhk+^f7aa^I-Hy49tU|_lF}>mxSMF6LjtFky8$SqN zxZ@MlsnFK~-Ws5M7s70iebBiciD&?}Q0( zt*5Wlej7fJYUP>Ar(nkS$v;1Btaapl;7?iGSq$r(pykKMD*BC%h8kmX7}JZLyS~1s zfUfZo=%qbSj@mU0OMW5}mhf~!J)JaRlkXzFy7VW4oSfV+xpnKQhA+RUT6kdzt2O+Am({7jcyPk zr5N@-EjJ94P_MrE5BW0+kY9M9q8a7u)OfjA+!dVWl$D#V@hQ3C*fFrgsDB1|sVuN# zae}dMmpu`u{D%FuzLRWL>;X`~#b}h~YlvG%;S8NtbfOA(spTicY4*pX@2QI82(hu; zx9M32RRf*F{|Y!B`4Ual`^Kyw6Eq!TfH5{kbK00&pq|KDpYc*Miz2?$j_hRpYkR2u2A{H{-8HFvnl9M6cE& z2!doph&e32%5i5W4;Ph z>>qgo&FUuPlxCm+*Y3B~fruive6lV_39grT+3aq7Fn?imPPFh;qfeS2_mM$4{%PrINjM>CJzIY}#+I54n>BU&dj>Y>PPMn|2sqDc+ za5iHGCXN+CM6Zx6HRHO#o#u5}OAxOs-veYH08@u=D|Tc}I9I-5e`|Ossmy2L9!Xxu zJyxpSO-}nJYUUN;uqzLgtyWa#orf$XFCF@^2j}&#mZB1Nf$XxrnqTrtDgj(V37qfM z90h@oqD$YEcLDZ*;~~jT=hj6*e_qwr`P|g-+54vNpNE?wd1H}+FwFb9>iSE?jySBA zv)|B1B_P+1GrsNTO4t;Db3nv zt-QxFY}~we?&j{L3LR0Ra_^VsJ=A;-rE&8?YwPB;*1*}K;n0WR7vBVv1WTiCS$FST zYRpQjljAV7(^S$0XMo=gH~8o z02od4zNe@6<`v31CCB$2FYsums97{=;-{90Tb{VS+!%KSn9q>Mom(Fp0_;qQri`Z? zd6I0Ge|x|<%1jdPRy0y~jn||f!4qG^_lIiQ*f|_c$NAUx3%|l3VIScZ&VnIBtmf#u zIqp5Tf6x;Ly%*t|#QjdRqBGDe)sSvI;)EB+J3+J^R@9}o#i~jpZ{9X_;%4|^)*l;4 z4OYd7nZ4*3vd&k&<9y@HfgBf0DJE`twZ~WK2A<3Jl%{K!1WN`qePz7Y>fu=HmS@M> zHW;+Z(F@ncb7N=_(s7@nYFJQdgEc^;%XPYjp;Dn$R=*{bYVi-lxLtmXnMRvBI4$JK zD#1CO7{ngV2%M^&48=U~=t7k?U0!?Gcu^BcD-(cMgoRK$YhY0RuGwz$v?WqVP3SWw zs9--Vls2$m_xId>!kkLe%>@T*0_TmVhe+azE?CUB>(C^a`~!!tcW>?{<;&l$( zhwqkh3b4Q1f$z3CaagI+uF;rlA5Jk?%&qV!0aa!6C^V7OnK`IB57d>Q=6pIv0(aW9 zWUsp1emfI?l-E#|<)Kp9v`xFi4pqe?!tj~)DkM;}tu>bZ;lD>FBHkJpTh#Cp2ALfa=4X#$>!N~{QVPiYDsjs!r#n1jgD!ZU}3 z*>+5ks~v{$y|<2wE_!`U@CHs|Aw`LdQPZ(;-g8DGLUg?kS7?Jj@qqX>G2DFZ3bbIO>~i2aUNk(fK7A!>ru)??F*y~HK-c?NC6hPH)o_x*H}7~uHEHu}Qz z#4Geu6nhrZORqUpINSg__QoPFk7kecY@lH52uw%0J?Egb^v%%hv$v9}=n*y*9U?;2 zMbLP9aM>TT%flb{7f{$-WHJM41;|K;)*XZcZQ^r$z}?y2^-`vt=+83tmT}W8*?TH$ zQ9FM|l8-NFbMI?{ZtrAzmL?Rq4ZkLLeVdJTi-d|N5a8m0sH>ugM*Roh;EnSyO8?a4 zu)8^6kmGu$XEO8hCwUf974GiqOcm<(Dzu%5pQjR_D?+0@+D*lbH%4}Du(ar<+Jn4$ zjq&|a$#Qd50G9TMIS?RoebR0iUhN;RL!DYdL>(|Dx75fU7D;FWzR%i6WDeoLy}JhtBQ zn=02Yo9&QO+gRiqk!q9|;oHUMd;pSnEvT#`1wed1`xbLoHghXuUs1uJ=hpqlu)S9L zgX@mxXE1;Sj#uy=AGz))-YRuI4!RFV`|!_eyip>SbP?pO+}~e#So+ryX-++sq%v_} z0k1^hvM9o;2b*>jxR9uw}K2rQid-Pk}bd`F$05-VXq=yy5P#jPT8ET zgmqKe2>x0s{n-m!b$+#?1$M?}F=|rY4!kZG66v3Hd*<7f{MmFQ0a42N;~wdBwU3|N z>cyw%1LTTmX{V=7jOL&mdWu!jE{{vkSqwV8=LbHSyIOZ|$yt|9Vx7wKsd!6Pvf7jC zldAh%S`cWCouvMN8%0=>&cqzi&{D|K-PS6IKrBv{tu-f0<H_ZiB)vJsK-xpb_0c6NW?7&d2d@vm3xJ+|@~+dPLa z;i1J`$E+RC<2&|vKh|EDg;W;X2;D@Nd5G0u zud%H)#%67OX^G@9o@cOE!);0YacZgspPN#z8_j0yj0pO`GRKhp3t7pb2P1r>h+R`; z!x3Ui0fmj#Wi)m8nAgv+I+{f-mk*$LH4i#$pv1$R#(WQ1FIy>12;_4@bJT}@rjdwU z1&MTm;o@a+RRQU|C~_r*^ZO@UN2a?Y_2Cg~5QUnkIO#bfn$|5iF?=Se*&j#y(? ztD)MH{620>y^*`q^HyNW+0f6dDc?b!1*Fn92wiZ(GiHNU1MBK8c4wCYnldJ|hkOU~ z0wlD(yh0LukU4P|BuQ6Pj!4Pm#7j2Hu}_6}4F{qOv0z{hKd#R8**|J}(nt|KRQKie z&w!e_3LO%d&RdVPTc%;JcQ@y`enPE;BKajJ=s52XQ8IS^vn_aO`q}Z|aV|jZ#VziE zX&^{E|3KQnxe$%f6!e+u=wW|6P~ookh952|hLSH;UqJ7^ZI>oSb@owVdFld>CZ9uG zqnQ-rzyj@YX(CeyWslB!r@HdMRQG&?Uz2w6WUctrFjbzDbh8Qj=S@?xkJn^2f;N#U zJYSk$3A|ezG}bfIw4n)cW41(EIM;6iNS2u~zI3J1n~^x@g*PeEA-6_yJuV94PF+N= zgT|PvWH5Fc9`jz#wsxL}3PO|X@GOcgPN+9mfg-27sYd($rN3_-nr4b69<9e3Y6p~f zE$_3gjl{V~CX9FGHl+X{ztTIZ)U;)t@wnFyP>}O?LbZw$|)7FOB`~fb1ok`v9lZB-1?~7 z=VX4Wd%{3ppDSk;)qtkduJ#IKLYwZaYe~C#U_^tvTA8M+rh)!|WcmdcGz;7Byb(*T zN6{bbPo6R5hVSYErbp9@Ol>9eEe|?zyk?hEVDWNEjTrtg^QS0>+F%D&CqqrZ7BRop zVh%2A4HaxuXau({I$T>=5pH6(>y4N6CqFb2$q$8?eLTWZG-j!{w(OEJ89>(?aKb|# zuF{&}*lX}5nq^e9h4{bFr&V+&s%rmOD2sL*jfnky=~DAXTCMXT;hN(P3$-kr>QKl} zXezI*KCMg!XkcAKK>9st5L;U9SEidH(6OIluXvR(ajb2;={)>S=1Nn_=k%+Ur6-%! zsj1hchB=rmpX3tey`Z?zO1=7rQeP}^viFbIOL0q)p)Je6H(K>$+;@+G*M(N@mG|5Q zS{HB6YA1LFkUa%CwmQoD%)>7suPw4x@=nL-%ZC0#3@3<~^w(~5V>h>K(vDZSy$r)n zBb@f8zdLYrv->qDP7w-&MZ%qK&Ak%hf+qHEN|K6c4kEMeWm z)F5Aln$6GbiqTnzFvHv}>%VSJEmLa_$t(q=QLcoGj3Th-!FSb{-%oh(^VtR`(#lGD z?$}=yl2sI!@W{q1xvQK1*(Y;S(O#1oep-_nN86bzQ&hy2zl5f*v<5*lD2LKXvD1$2 zKSfFC34j8sErN70$EGzsb#r1hb2P{?7SDmFyT#RcWHr5A&Tl4$6S14m(J-NmN6-4C zlRg;}oBF&3=5|d*I$j!tRSJ*?JG9$LhoK})lX!n^Civ$7 zP6AV!YHy~pxZ*|$t~G=)?*NLT_nN&{At@dL1hH}MsS!(pJu{`)hSA|++K}#UDR3=k zLiij?%euNch0vJ!yGEA`#_sgWOYM$?kL2!%0OZ6*oS44tR$uImy;US;UvF22esj%T zm9n7N#A+3-2v?r{Sr>jVpT;B;TfkGpzBOc4;WQRjwbQJoBE1tK-nMC@A&ez-zTCCa zGO6wWXs4jY97hkH=gso`)Mh;n^~tBF4^y~QZNLD_E%%xEgBU8v>ZIzS(!DVXhm}^m zKV;0g8Y_&sWfKoWM_63ePm!Erf2PKT&98r=LtitqmV*QiXVKvZP~7fYh&pBg4SRPN zg%}I1FxHI^=i#puwo4;>MZ7!VizEV)8nh2AEU_IKI@}S%5lt##Z%^Y1b(mwL`fPOd z$DPctt+(Io(KfRHcmg7zfoo-E4DYmhH-9p=l*7kCUAnm(AczPx&h&h6B0>P}WE&{c z`oY9&k+fWc72TS&BknBE=Bu|UPg`_OXbcwiYJ2GUf$(HL2`9+=TqY@YJINF6rf}r0 z=Bt#;Y$qiGBauKf#}U*53IE0Hc&WQS1n)h!k&mz`IU;N~4y2CARk&1d#L)Ly7RwF* zRaB7mF|i`mj$M5gsKC7NqsQx%%hc|s2GK|}Yse#FDv6+X6mc)iuN3m^_sT*@$2gHy z>$$M2DrM;Drk3gh%}YUB-Bl8t;V|(yZt2EB3CHT!`;P`_wHCp*85a6lQLZ& zlLh^YYH0ZdLTm)Goyx-p*DSiwU)*`Fy?--wU|Y7&1i~NO(7YFSThuZzS$GqpV6Tl$ z|MS?e<@niU`*f_M-rF|AtCs=hq~iIvr}kZj)>FmOYNJo6Z=#K3^ni#@wn{&<_bmwz z-isLoVN#Hm6OfXU8i$*X5rSI3jbj0A3Mt(}R>83fhinU6t4Xi!bh9U>XpRSzy#!@{ z%QVLqIVz9NJTpPR>>uX)HogG01NpuiZ5F#1&zRRrc~!aHS=d0Y=*xyLLS=6-?UYal z;Gmuo_m0^DM&${yU7agy)~9rsPw3);s201yaAaeijzlaOAwI(J$;IA^*k6IVAa6y| zyVV{>il(~c7E5MYodqnWT?$HSY)eR1ZollW(xk{!rPFv1)>$vj*Es`GQtCdoTu-{l zkh_;VxH-5`A6ka!S&?}gH|lCD@&n7cAU{l6O02}nLpNS9!Q3P!L&ee6VbuYw6QD_6;@~+j@&56XsEKMdt%P!fFtR;~>q%DijhNt{&CJ42 z`lGL2SMTN2920fv9Xcp#7yB=1Wk4BALwsXkkx+cLpSud!#|j4SX))|gf5XDGkedw; z4<9!=r0gksaXf!+5U`p)C8hBFLDBa!F64*GAS1=O)Lwl7kA1Nl;9N?U@qPcTK|B@u za=%*n`d7H|qWik_yVW(_V;H%`{=cVom#*u8@2D4bAC_C5{Z5yL*2Jvpi) zx<4j~=V0AP=Db2yDRrK{XlX_0}5xLmum80qTg4m!zvbuS=W&5TrR_q zSDf;V>RfNsZlU3#YGF~apY%nnGkbJtl)aI6B*nhr zI}I{$aqQi|lF;r^VY_|E%ILw&!^i2p8n6vK;lP>UN^?Hy#E4< zGS|w=Z}8LJ{7BF^Aj;(MJwjWjT{+mQ>3{n{TAeQEl$hwRiYHHH`sX!R@X3PH;J`oX z{?$Ofl-NHCCij^W#P-kfeOk2}_x&H`zTfeP%7D?+n#w8m`wwJEh{}E`6V~(pFQPOX ARR910 literal 0 HcmV?d00001 diff --git a/tools/README.md b/tools/README.md new file mode 100644 index 0000000..13b7cc2 --- /dev/null +++ b/tools/README.md @@ -0,0 +1,53 @@ +ch55x-tool +------------ + +An open sourced python command line flash tool for flashing WinChipHead CH55x series 8051 USB micro controllers, including CH551, CH552, CH553, CH554, and CH559 with bootloader version 2.30 or 2.31. + +Usage +------------ +* __-f \__ Erase the whole chip, and flash the bin file to the CH55x. +* __-r__ Issue reset and run after the flashing. +* __-d__ Debug mode, if enabled, will print out all USB communications. + +Tool Setup +------------ +* Linux Distros + > Most Linux distros come with libusb, so you only need to install the pyusb packge. +```bash +python3 -mpip install pyusb +``` + +* Mac OS + > For Mac OS, you need to install both libusb and pyusb. + +```bash +# If you dont have brew installed. +# /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +brew install libusb +python3 -mpip install pyusb +``` + +* As for Windows, oh no... :( + > 1. First, you need to download the [Zadig](https://zadig.akeo.ie/) for replacing the CH375 driver from WCH to libusb. + > 2. Click the Options->List all devices, to show all devices + > 3. Find the device marked with __USB Module__, which presented driver is __CH375_balabala__ + > 4. Replace the driver with libusb-win32. + > 5. Install the pyusb package. + ``` + python -mpip install pyusb #Since for windows, they dont use python3, but you have to make sure you have the pythono3 in the PATH + ``` + > 6. If you want to use the WCH Toolchain, open the device manager, find the device marked with __libusb-win32 deives__, right clicked on it, and Uninstall the driver and delete the driver. You can also check the FAQ of Zadig [HERE](https://github.com/pbatard/libwdi/wiki/Zadig). + + FAQ + --------- + * Why I got a __Error: No backend available__ ? + > On windows, this means you dont a valid libusb device, see the guide above. For other system, you might dont have the libusb installed, follow the guide above. + + * Why it said __NO_DEV_FOUND__ ? + > Pyusb unable to fine the device with given PID&VID. Maybe you dont power on your device, or it is not in DFU mode. + + * I got a __USB_ERROR_CANNOT_DETACH_KERNEL_DRIVER__, __USB_ERROR_CANNOT_SET_CONFIG__, or __USB_ERROR_CANNOT_CLAIM_INTERFACE__ error. + > I never met with those problems on a working CH552. Checking the power, the previliage, and praying may help. + + * What if it return __Bootloader version not supported__? + > The program dont support BTVER lower than 2.30(welcome PR, but since they are too old, I dont have plan to support them). Or maybe they have a newer verison, for this situlation, it is welcome for you to open an issue. diff --git a/tools/ch55xtool.py b/tools/ch55xtool.py new file mode 100644 index 0000000..94f98bb --- /dev/null +++ b/tools/ch55xtool.py @@ -0,0 +1,338 @@ +import sys, os +import time +import array +import math +import argparse + +import usb.core +import usb.util + +#======= Some C-like static constants ======= +DFU_ID_VENDOR = 0x4348 +DFU_ID_PRODUCT = 0x55e0 + +EP_OUT_ADDR = 0x02 +EP_IN_ADDR = 0x82 + +USB_MAX_TIMEOUT = 2000 + +DETECT_CHIP_CMD_V2 = [0xa1, 0x12, 0x00, 0x52, 0x11, 0x4d, 0x43, 0x55, 0x20, 0x49, 0x53, + 0x50, 0x20, 0x26, 0x20, 0x57, 0x43, 0x48, 0x2e, 0x43, 0x4e] +END_FLASH_CMD_V2 = [0xa2, 0x01, 0x00, 0x00] +RESET_RUN_CMD_V2 = [0xa2, 0x01, 0x00, 0x01] +SEND_KEY_CMD_V20 = [0xa3, 0x30, 0x00] +SEND_KEY_CMD_V23 = [0xa3, 0x38, 0x00] + [0x00] * (0x38) +ERASE_CHIP_CMD_V2 = [0xa4, 0x01, 0x00, 0x08] +WRITE_CMD_V2 = [0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] +VERIFY_CMD_V2 = [0xa6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00] +READ_CFG_CMD_V2 = [0xa7, 0x02, 0x00, 0x1f, 0x00] + +CH55X_IC_REF = {} +CH55X_IC_REF[0x51] = {'device_name': 'CH551', 'device_flash_size': 10240, 'device_dataflash_size': 128, 'chip_id': 0x51} +CH55X_IC_REF[0x52] = {'device_name': 'CH552', 'device_flash_size': 16384, 'device_dataflash_size': 128, 'chip_id': 0x52} +CH55X_IC_REF[0x53] = {'device_name': 'CH553', 'device_flash_size': 10240, 'device_dataflash_size': 128, 'chip_id': 0x53} +CH55X_IC_REF[0x54] = {'device_name': 'CH554', 'device_flash_size': 14336, 'device_dataflash_size': 128, 'chip_id': 0x54} +CH55X_IC_REF[0x59] = {'device_name': 'CH559', 'device_flash_size': 61440, 'device_dataflash_size': 128, 'chip_id': 0x59} +#============================================= + +def __get_dfu_device(idVendor=DFU_ID_VENDOR, idProduct=DFU_ID_PRODUCT): + dev = usb.core.find(idVendor=idVendor, idProduct=idProduct) + if dev is None: + return (None, 'NO_DEV_FOUND') + try: + if dev.is_kernel_driver_active(0): + try: + dev.detach_kernel_driver(0) + except usb.core.USBError: + return (None, 'USB_ERROR_CANNOT_DETACH_KERNEL_DRIVER') + except: + pass #Windows dont need detach + + try: + dev.set_configuration() + except usb.core.USBError: + return (None, 'USB_ERROR_CANNOT_SET_CONFIG') + + try: + usb.util.claim_interface(dev, 0) + except usb.core.USBError: + return (None, 'USB_ERROR_CANNOT_CLAIM_INTERFACE') + + return (dev, '') + +def __detect_ch55x_v2(dev): + dev.write(EP_OUT_ADDR, DETECT_CHIP_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + try: + return CH55X_IC_REF[ret[4]] + except KeyError: + return None + +def __read_cfg_ch55x_v2(dev): + dev.write(EP_OUT_ADDR, READ_CFG_CMD_V2) + ret = dev.read(EP_IN_ADDR, 30, USB_MAX_TIMEOUT) + + ver_str = 'V%d.%d%d' % (ret[19], ret[20], ret[21]) + chk_sum = (ret[22] + ret[23] + ret[24] + ret[25]) % 256 + + return (ver_str, chk_sum) + +def __write_key_ch55x_v20(dev, chk_sum): + SEND_KEY_CMD_V20 = SEND_KEY_CMD_V20 + [chk_sum] * 0x30 + + dev.write(EP_OUT_ADDR, SEND_KEY_CMD_V20) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + if ret[3] == 0: + return True + else: + return None + +def __write_key_ch55x_v23(dev): + dev.write(EP_OUT_ADDR, SEND_KEY_CMD_V23) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + if ret[3] == 0: + return True + else: + return None + +def __erase_chip_ch55x_v2(dev): + dev.write(EP_OUT_ADDR, ERASE_CHIP_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + if ret[3] == 0: + return True + else: + return None + +def __write_flash_ch55x_v20(dev, chk_sum, chip_id, payload): + payload = payload + [0] * ((math.ceil(len(payload) / 56) * 56) - len(payload)) # Payload needs to be padded, 56 is a good number + file_length = len(payload) + + for index in range(file_length): + if index % 8 == 7: + payload[index] = (payload[index] ^ ((chk_sum + chip_id) % 256)) % 256 + + left_len = file_length + curr_addr = 0 + + while curr_addr < file_length: + + if left_len >= 56: + pkt_length = 56 + else: + pkt_length = left_len + + __WRITE_CMD_V2 = WRITE_CMD_V2 + __WRITE_CMD_V2[1] = pkt_length + 5 + __WRITE_CMD_V2[3] = curr_addr % 256 + __WRITE_CMD_V2[4] = (curr_addr >> 8) % 256 + __WRITE_CMD_V2[7] = left_len % 256 + __WRITE_CMD_V2 = __WRITE_CMD_V2 + payload[curr_addr:curr_addr+pkt_length] + + dev.write(EP_OUT_ADDR, __WRITE_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + + curr_addr = curr_addr + pkt_length + left_len = left_len - pkt_length + + if ret[4] != 0x00: + return None + + return file_length + +def __write_flash_ch55x_v23(dev, chk_sum, chip_id, payload): + payload = payload + [0] * ((math.ceil(len(payload) / 56) * 56) - len(payload)) # Payload needs to be padded, 56 is a good number + file_length = len(payload) + + for index in range(file_length): + if index % 8 == 7: + payload[index] = (payload[index] ^ ((chk_sum + chip_id) % 256)) % 256 + else: + payload[index] = (payload[index] ^ chk_sum) % 256 + + left_len = file_length + curr_addr = 0 + + while curr_addr < file_length: + + if left_len >= 56: + pkt_length = 56 + else: + pkt_length = left_len + + __WRITE_CMD_V2 = WRITE_CMD_V2 + __WRITE_CMD_V2[1] = pkt_length + 5 + __WRITE_CMD_V2[3] = curr_addr % 256 + __WRITE_CMD_V2[4] = (curr_addr >> 8) % 256 + __WRITE_CMD_V2[7] = left_len % 256 + __WRITE_CMD_V2 = __WRITE_CMD_V2 + payload[curr_addr:curr_addr+pkt_length] + + dev.write(EP_OUT_ADDR, __WRITE_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + + curr_addr = curr_addr + pkt_length + left_len = left_len - pkt_length + + if ret[4] != 0x00: + return None + + return file_length + +def __verify_flash_ch55x_v20(dev, chk_sum, chip_id, payload): + payload = payload + [0] * ((math.ceil(len(payload) / 56) * 56) - len(payload)) # Payload needs to be padded, 56 is a good number + file_length = len(payload) + + for index in range(file_length): + if index % 8 == 7: + payload[index] = (payload[index] ^ ((chk_sum + chip_id) % 256)) % 256 + + left_len = file_length + curr_addr = 0 + + while curr_addr < file_length: + + if left_len >= 56: + pkt_length = 56 + else: + pkt_length = left_len + + __VERIFY_CMD_V2 = VERIFY_CMD_V2 + __VERIFY_CMD_V2[1] = pkt_length + 5 + __VERIFY_CMD_V2[3] = curr_addr % 256 + __VERIFY_CMD_V2[4] = (curr_addr >> 8) % 256 + __VERIFY_CMD_V2[7] = left_len % 256 + __VERIFY_CMD_V2 = __VERIFY_CMD_V2 + payload[curr_addr:curr_addr+pkt_length] + + dev.write(EP_OUT_ADDR, __VERIFY_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + + curr_addr = curr_addr + pkt_length + left_len = left_len - pkt_length + + if ret[4] != 0x00: + return None + + return file_length + +def __verify_flash_ch55x_v23(dev, chk_sum, chip_id, payload): + payload = payload + [0] * ((math.ceil(len(payload) / 56) * 56) - len(payload)) # Payload needs to be padded, 56 is a good number + file_length = len(payload) + + for index in range(file_length): + if index % 8 == 7: + payload[index] = (payload[index] ^ ((chk_sum + chip_id) % 256)) % 256 + else: + payload[index] = (payload[index] ^ chk_sum) % 256 + + left_len = file_length + curr_addr = 0 + + while curr_addr < file_length: + + if left_len >= 56: + pkt_length = 56 + else: + pkt_length = left_len + + __VERIFY_CMD_V2 = VERIFY_CMD_V2 + __VERIFY_CMD_V2[1] = pkt_length + 5 + __VERIFY_CMD_V2[3] = curr_addr % 256 + __VERIFY_CMD_V2[4] = (curr_addr >> 8) % 256 + __VERIFY_CMD_V2[7] = left_len % 256 + __VERIFY_CMD_V2 = __VERIFY_CMD_V2 + payload[curr_addr:curr_addr+pkt_length] + + dev.write(EP_OUT_ADDR, __VERIFY_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + + curr_addr = curr_addr + pkt_length + left_len = left_len - pkt_length + + if ret[4] != 0x00: + return None + + return file_length + +def __end_flash_ch55x_v2(dev): + dev.write(EP_OUT_ADDR, END_FLASH_CMD_V2) + ret = dev.read(EP_IN_ADDR, 6, USB_MAX_TIMEOUT) + if ret[4] != 0x00: + return None + else: + return True + +def __restart_run_ch55x_v2(dev): + dev.write(EP_OUT_ADDR, RESET_RUN_CMD_V2) + +def __main(): + parser = argparse.ArgumentParser(description="USBISP Tool For WinChipHead CH55x.") + parser.add_argument('-f', '--file', type=str, default='', help="The target file to be flashed.") + parser.add_argument('-r', '--reset_after_flash', action='store_true', default=False, help="Reset after finsh flash.") + args = parser.parse_args() + + ret = __get_dfu_device() + if ret[0] is None: + sys.exit(ret[1]) + dev = ret[0] + + ret = __detect_ch55x_v2(dev) + if ret is None: + print('Unable to detect CH55x.') + print('Found %s.' % ret['device_name']) + chip_id = ret['chip_id'] + + ret = __read_cfg_ch55x_v2(dev) + chk_sum = ret[1] + + print('BTVER: %s.' % ret[0]) + + if args.file != '': + payload = list(open(args.file, 'rb').read()) + if ret[0] == 'V2.30': + ret = __write_key_ch55x_v20(dev, chk_sum) + if ret is None: + sys.exit('Failed to write key to CH55x.') + + ret = __erase_chip_ch55x_v2(dev) + if ret is None: + sys.exit('Failed to erase CH55x.') + + ret = __write_flash_ch55x_v20(dev, chk_sum, chip_id, payload) + if ret is None: + sys.exit('Failed to flash firmware of CH55x.') + + ret = __verify_flash_ch55x_v20(dev, chk_sum, chip_id, payload) + if ret is None: + sys.exit('Failed to verify firmware of CH55x.') + else: + if ret[0] == 'V2.31': + ret = __write_key_ch55x_v23(dev) + if ret is None: + sys.exit('Failed to write key to CH55x.') + + ret = __erase_chip_ch55x_v2(dev) + if ret is None: + sys.exit('Failed to erase CH55x.') + + ret = __write_flash_ch55x_v23(dev, chk_sum, chip_id, payload) + if ret is None: + sys.exit('Failed to flash firmware of CH55x.') + + ret = __verify_flash_ch55x_v23(dev, chk_sum, chip_id, payload) + if ret is None: + sys.exit('Failed to verify firmware of CH55x.') + else: + sys.exit('Bootloader version not supported.') + + ret = __end_flash_ch55x_v2(dev) + if ret is None: + sys.exit('Failed to end flash process.') + + print('Flash done.') + + if args.reset_after_flash: + __restart_run_ch55x_v2(dev) + print('Restart and run.') + + + +if __name__ == '__main__': + __main()