From 8674fee83968e22e2f4594fc9544021d56b0e55b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=B8=A9=E8=80=81=E5=B8=88?= <1161625498@qq.com>
Date: Thu, 5 Dec 2024 14:36:58 +0800
Subject: [PATCH] update README.md
---
README.md | 273 +++++++++++++++++-
docs/pic/readme/20241101175754.png | Bin 0 -> 17139 bytes
docs/pic/readme/20241104091910.png | Bin 0 -> 27467 bytes
docs/pic/readme/20241104092210.png | Bin 0 -> 44471 bytes
docs/pic/readme/20241104092301.png | Bin 0 -> 33138 bytes
docs/pic/readme/20241104093527.png | Bin 0 -> 11579 bytes
docs/pic/readme/20241104094245.png | Bin 0 -> 7685 bytes
docs/pic/readme/20241104095708.png | Bin 0 -> 21102 bytes
docs/pic/readme/20241202141801.png | Bin 0 -> 28907 bytes
docs/pic/readme/20241202142432.png | Bin 0 -> 48103 bytes
docs/pic/readme/3061M_buy.png | Bin 0 -> 88722 bytes
docs/pic/readme/3065H_buy.png | Bin 0 -> 52154 bytes
...346\210\252\345\233\27620241104092301.png" | Bin 0 -> 33138 bytes
.../pic/readme/\346\255\245\351\252\2441.png" | Bin 0 -> 12726 bytes
.../readme/\346\255\245\351\252\2442.5.png" | Bin 0 -> 47098 bytes
.../pic/readme/\346\255\245\351\252\2442.png" | Bin 0 -> 57818 bytes
...\255\245\351\252\2443-1733119001993-1.png" | Bin 0 -> 20736 bytes
.../pic/readme/\346\255\245\351\252\2443.png" | Bin 0 -> 20736 bytes
...\255\245\351\252\2444-1733119013197-3.png" | Bin 0 -> 41749 bytes
.../pic/readme/\346\255\245\351\252\2444.png" | Bin 0 -> 41749 bytes
20 files changed, 261 insertions(+), 12 deletions(-)
create mode 100644 docs/pic/readme/20241101175754.png
create mode 100644 docs/pic/readme/20241104091910.png
create mode 100644 docs/pic/readme/20241104092210.png
create mode 100644 docs/pic/readme/20241104092301.png
create mode 100644 docs/pic/readme/20241104093527.png
create mode 100644 docs/pic/readme/20241104094245.png
create mode 100644 docs/pic/readme/20241104095708.png
create mode 100644 docs/pic/readme/20241202141801.png
create mode 100644 docs/pic/readme/20241202142432.png
create mode 100644 docs/pic/readme/3061M_buy.png
create mode 100644 docs/pic/readme/3065H_buy.png
create mode 100644 "docs/pic/readme/QQ\346\210\252\345\233\27620241104092301.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2441.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2442.5.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2442.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2443-1733119001993-1.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2443.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2444-1733119013197-3.png"
create mode 100644 "docs/pic/readme/\346\255\245\351\252\2444.png"
diff --git a/README.md b/README.md
index e78002230..43395d4d1 100644
--- a/README.md
+++ b/README.md
@@ -14,14 +14,218 @@
| 3061MNNIKA | [购买链接](https://www.ickey.cn/detail/1003001013207474/3061MNNIKA.html#878faa99-3c91-4673-acdf-328557b0dbdb) | 3061M系列解决方案 |
| 3065HRPIRZ | [购买链接](https://www.ickey.cn/detail/1003001013207476/3065HRPIRZ.html#84b508e7-3eac-4f2b-943a-4aea2f0cc901) | 3065H系列解决方案 |
-
+
+
+  
## 支持的开发板
| 开发板名称 | 硬件资料 | 软件资料 | 购买链接 | 开发板介绍 |
| :----------------------------------------: | ------------------------------------------------------------ | :----------- | :----------------------------------------------------------- | :----------------------------------------------------------- |
-| ECBMCU201MPC | [开发板硬件原理图](https://gitee.com/HiSpark/open_mcu/tree/master/docs/hardware/3061M) | 参考示例教程 | [开发板购买链接](https://m.tb.cn/h.gMEbHlepTLs5DNB?tk=aKIe356U3bY) | Hi3061M是针对家电、工业等领域设计的高性价比MCU,使用海思自有RISC-V内核,支持150MHz主频,支持AI场景扩展;支持32KB SRAM和128KB 内置Flash,可支持客户产品功能持续迭代和算法升级;可应用于冰洗空、电动自行车、高速风机、电动工具、按摩椅等比较广泛的应用场景。 |
-| ECBMCU105H | [开发板硬件原理图](https://gitee.com/HiSpark/open_mcu/tree/master/docs/hardware/3065H) | 参考示例教程 | [开发板购买链接](https://m.tb.cn/h.gMEbHlepTLs5DNB?tk=aKIe356U3bY) | Hi3065H是基于海思自研RISC-V内核的高性能实时控制专用MCU, 具有高性能、高集成度、高可靠性、易开发的特点,同时配合海思强大的算法团队和嵌入式AI能力,使得Hi3065H上市后快速获得家电、能源、工业等行业内多个客户的认可和好评。 |
+| ECBMCU201MPC | [开发板硬件原理图](https://gitee.com/HiSpark/open_mcu/tree/master/docs/hardware/3061M) | 参考示例教程 | [开发板购买链接](https://m.tb.cn/h.gMEbHlepTLs5DNB?tk=aKIe356U3bY) | 3061M是针对家电、工业等领域设计的高性价比MCU,使用RISC-V内核,支持150MHz主频,支持AI场景扩展;支持32KB SRAM和128KB 内置Flash,可支持客户产品功能持续迭代和算法升级;可应用于冰洗空、电动自行车、高速风机、电动工具、按摩椅等比较广泛的应用场景。 |
+| ECBMCU105H | [开发板硬件原理图](https://gitee.com/HiSpark/open_mcu/tree/master/docs/hardware/3065H) | 参考示例教程 | [开发板购买链接](https://m.tb.cn/h.gMEbHlepTLs5DNB?tk=aKIe356U3bY) | 3065H是RISC-V内核的高性能实时控制专用MCU, 具有高性能、高集成度、高可靠性、易开发的特点,同时配合强大的算法团队和嵌入式AI能力,使得3065H上市后快速获得家电、能源、工业等行业内多个客户的认可和好评。 |
+## 快速上手
+
+[参考tools目录README搭建环境](https://gitee.com/HiSpark/open_mcu/tree/master/tools)
+
+## 示例教程
+
+ECBMCU201MPC、ECBMCU105H提供了以下Demo供开发参考:
+
+
一级分类 | +子分类 | +应用示例 | +|||||
+系统核心模块 | +GPIO | +GPIO管脚控制LED灯的亮灭端案例 | +GPIO对按键检测案例 | +GPIO中断功能测试案例” | +GPIO两个管脚的环回测试 | ++ | + |
WDG | +独立看门狗测试案例 | +窗口看门狗测试案例 | ++ | + | + | + | |
PMC | +PMC模块的定时唤醒案例 | ++ | + | + | + | + | |
+模拟模块 | +ACMP_DAC | +模拟比较器中断使用案例 | +模拟比较器与DAC基本使用案例 | ++ | + | + | + |
ADC | +ADC的单次采样案例 | +单次触发ADC实现连续采样案例 | ++ | + | + | + | |
PGA | +ADC采样PGA的输出电压案例 | ++ | + | + | + | + | |
+定时器/事件模块 | +GPT | +PWM波使用案例 | ++ | + | + | + | + |
APT | +高级定时器输出三相互补PWM波案例 | +使用APT对ADC进行周期采样案例 | ++ | + | + | + | |
TIMER | +定时器中断使用案例 | ++ | + | + | + | + | |
CFD | +CFD的时钟失效保护使用案例 + | + | + | + | + | + | |
CMM | +CMM时钟频率监测和频率中断的使用案例 | ++ | + | + | + | + | |
QDM | +M法测量电机实时转速使用案例 | +单电机双电阻采样的有感Foc应用案例 | ++ | + | + | + | |
CAPM | +CAPM读取电机HALL位置传感器案例 | ++ | + | + | + | + | |
+通信模块 | +UART | +中断模式下环回发送数据案例 | +Tx_DMA_Rx_INT收发数据案例 | +UART检测特定字符案例 | ++ | + | + |
IIC | +用IIC通信AT24C64使用案例 | ++ | + | + | + | + | |
SPI | +两开发板通信主机使用案例 | +两开发板通信从机使用案例 | ++ | + | + | + | |
CAN | +CAN总线使用案例 | ++ | + | + | + | + | |
+计算模块 | +CRC | +CRC16_XMODEM算法使用案例 | ++ | + | + | + | + |
v1>gBZ$t&%msh3 z9;}v|-iT=!Fo0AGYYV$c_uwi@$nf-K5*vp2Z!B~wOg=cRDqxQ(Ch+9r**p76j*6<} zGaICS_nQ{b3yIhzHqwmirHWodipGt5BHgOTB#1(b3AmK_g?pvRah*6`MVNbpVb#UJ zMzB%s-qe4jEyBJB5Z0IYcE >-A!qv5gRl^+<(Z{ z7G#Sx7nV;ThXJt5LLa&(IqqTLEuLYs8dM`er8Q~p_BuTi#mKT}Xr;tt^50fLld(vt z^fQgvD6rlF07ht~3fhBAQiV4v0^z`4ccrD{aP>X7#)T~%9zg00ExCw&fq{2JdfuVU zw&M!bU|^P8loIf*ms^^dB?f3M{C($3sX}@yG;B4lHQ=@{70{uo(6IVjdYvB4A>#ob zqtflcx=!uW)3-~N!N`g{OaSSFzps6yWyi5NuhMUq=#Hgli(Lc&@Du)fAMfw|^ndC= z@~@S$R1a{fmE>c2Q?Hi5GuWC+j{QudzZqKgj!uC4`x==fNAzpN>2ZqQ+>P?N``&sc zsdCYyJtOm%%l>^JCBdk20isPH=VtelAgNR}Pc)MCpR<^P!6yY;gQt4zWE+&xzb8>Q zl1~>~s)Ms}-+^t%t(qkPQYwGD<4M8fi_IqeS6gSfzD3RLa0wYw03F-ERdzWwW8VTw z(&GUVF){F1-5;>>8xR_@Tg%SQR trS7}A9)~@FlhC>Yk-J|JS G5Fm5~l1jg0ndTIZRs{1^MxOi?NB>xW$Mx~th z@s3YH==;(Lr9bF1!gXZ|!SHMRdW-gtTRbBj1}FhmYsjju^fxf2GI_zWQM90H`kRAz z^7xsLv1*r=To_Db&&|9Kqw$|YXkW7AF@np~lsh`X-xr&QqNeNNZaOrQ${@so Ux~s&ZAtP>n| zR h^*eb=o<9W>@1>s&=evLCEzfd4M^m3QDBw zy`qnx+x|wXwyuhZB>POK!(b<=#2j-nzWlsPgF(m8K^2A|3+;XJ@{&U60@pHH@{>(kI zgGEk_AM^+ *JxvUEyTt{B5P53XOlNaa{j4{7) zLnS!;=Oj$OchcW}ThJ;Hc*M|<4dQu;5SX>IbFmOzQ3|;!QJ-6eT3($jw>R+EA(YTT ze}v%Pn&->Y_Tt?=MCDl&_@l${1`B RW4~d3fWgY>GC207czcw!Bp>z z^A~VbiUf4Usm%KT09NmI{_hSdmsbI5to1$OR(OL{1 dCO8$1C_{08Y7`S}Shx zrJu^l>SDK+$Qzk#+Ne1rD)87@lqR7DRaG+K&tDF)8;Xtzy|IMnPpIi$l1R5G-O+JT zsU}NkaUGrUoBBJOa6)@RB0SkLntLeGQ!JZa=h_RAw+W$no*CGujzE;~f1>3X+x!&K z)$C`)K2d+@62g-q8VQNwfKgO9LcbMQD)OFxR@yCvmC!TfWOrdFZJca?3-Keiz3o)M z$?B73fu`|B9FnW9y(vWGZc`?UetYlF-pRRy)IMo@3; -W+(MXqJ>F-^r$mlCN96gZ*c$sv*_>d0w9bPmo~@whCxKE>rwcG z@l^TE-b#+k{Bn>UIB6RVNu#H@2#|M)KppE{#GRma{6Io?nJyf-d@53*Akiy2sg!&f zHofK>>pIM$5xpb{#Wg4%L#DPEpchw)_Hzq2MUl7z(bRBfW*eDk1VX)%@gNf9l-gm1 zCHX^OU8mb7P#GbmeEoJ_oA5=Fij(gNK}1%3>kbj#dXO2R%w=1ZC#|1ZF*YaC7J+4N z9(zgIgdCXW|K22^DIlOhB6cRUt{9N>>l*jAiyMWoMbz9lY@M1GTeXSH&;0P53DaG= z#+rPXhVgxfWmF7ZB_VW`hP*wyqMmJwIxWPE!C{wb8CNPoo_^EPj4}k=G>ohO<_=o^ zu_zW2u3l`s6>gCiU%RoNLppmZ=N=4bPQrt3)_Q(E6UmikoJ?d8y@JjOTqpqSsH~6V z=Iel eAE(k%afD~v=z#JSjXm_9ZBb%nCLhFq byY7*e4(TpYKuYN@NhxOtK|(+Q>29P$LXc8v5QYIM=`KkLC8fK&hGyUM ze($&U`qn=7xAt28;c>{oGtWHS_jR4u?>uiKG}RUHaj0=nP*CudmE^TiP*5pQQ0~lO zV}h?NMPA^cpfI8+%gaDKQnzRBn%sk?OYIwDn-It?JD>)1XLzF!N)utA^;!~P$|$~; z9{3@{3Tu6 &1!F7cZ#F?( Fl=$$XLI zJlW1CY{kCg0H5D4QE9tukWG0vv7_LOX8(JU$AWL1<6ZvJtb&=2!4>urZ;$V4TK>j3 zJ`(=rHXB#*;=?`H=9f-X8MCUd5to0C-MfE>Ucq4*8HG3(A4kH{oo;Cxxrdt)+N5}> z{pejX7H$xY{!`B|cA~n*>-|G-9`Zdexlx0-3!pWku??%=>}w`;45k&KcIMCeDOc|~ z-a7tybW5GMabvc06ZC8F(5t=P{1oE9$4PuH_qpDT!D-4)-)rR@|C)5#e;QX-@v7rw zcg_ +7x4?aSX; zdFOJCy{8KCb44De<*al+SkUF&CrGch<$Go{?$ HW{7Niv5&?p0!)% z%jjNYW%OC?amK2Ua(}phmN&Fry~pdH*>HAi-cq<;v?r| 8%sdQdP z{jfzgPWf5;ejTmny9~x~j-2A_T_<5|>$B}WQ6d>$>wY^mBjuik<9C{VuymuN zLndkHLU$Ceb?EaW?9^&Qi{Jd`iPJr^a=3~XuOix#NmrE4E<-pwqWjw3)&VQJ{;GUV ze%b$J7i*1wH7-2Pnjqwou#uXSp|U ZHo^!G_S14}?2gT+a=I5UoqB+jozw39s5aF5Emk`2IhNCaEZRZmj z>#nGac}0ESqD-jpOA0jcYP^ssAGP{`5TTKWMBKYdCxm3Za%vT>t*r1pc8*YlE~#KK zTCcM{$M~QzDtt*hXnOC=DPr0fCilxO>0#$mA*pPA-T2-`uDAD*P Gr|C=^0(W` YsbmssRCkwx)ccQ-E7WJ+mg!rB<9y`jejUSc#T=?CJ&R{ql zVBvGz&R@Tf7?H=YXi4s#FVOkg8B!c&8kfSE$h|}+(UBz=3WJZ$2n)B^QT}*Q`ytTQ zPxOTQcH4uE6jDo|z?Qw)QZ08kV*6l?ecu}03oAT49A<4=!^q6ctjK3bL`)o)L&*)k z*sX;}Aulh#{2&w;yySGR9fO#dSR`_-_OI_ObCLls#=QD}{~Qd*v*+Zz9<31zd?Vxq z8NXpm%9p?YMNKAXI3ZG9-wYdex_8w)Z=YBNeXn`9kEkpUA3hwamzKZt#A&%( zdJpxbRzaJBjL|-u-tuDu$n)z<1mQ6^krqnPi%NLH+t(_GKa*K=_Gqc}M+}>1l=+X& zeEFHUd(HIQVq*C7yUAwuK8Qab6HL`SJ}pe?b$!4=5=7X#*oz*8vTJEk_LLqMCw}+) zbJRu_dHFjeY>uQ)-*crt?D;fnurnLSlxFu3o4o#Gq@8NwHz!AM2Wu;}dxu}2_A_3Z zEcpGj(Mq`YX{IqzywWu)ii&jImx-A}s^>B3@^=>=o~C8L{wwji47GG3cCAl6<)S$s zqqP6Ls@`^xY9fr?LB)hq;WmHwWRfXTwWoWjR+&pu2v*kZjjQ3Q? c0{{xfNJ6`{Xm>-z=qthFxhx>}N*8IC!SCdMuz zBI0y@Xwfq`*z5&IrO~Q(iI1WS8Jw`Bzo{vgAEW*nqo!<>#&msuFiymIy82gj_Lb)T zgl|2yl3P!9FuHQeC!2?M+exfk#uen}*(!zi7MOic-ozi=h-v35*BE;H!h&6E6lCpf zc*X^>6Gi#PdwTG_S0;MxqfHiin~Uh{ocs^U6 b)mf)%*OC{(;BN{1&rDbV7E%K+Ti}sWSg;7agr6 zU&(FchOY#|yYDQ?;$oJB7)nM(Mdft3tW3sx$m?U205iya-f2BpOR5_x_45z&W6w(S zX|F>0LiT!d@0=zQUBezG4)yzt4kk)JmO{Q* a6?kxppk~uN2Vuj%Zp!qY7M2-Vj6A}pKQ#@XtoMF`y``} ACbs9^vG+5HayXEJFH( zi<2$YkN2PDzV81_LQ7l3(Qum0Y6oHeRQo{RPK(K;nzgawrRcNtd17q-uOFl8G|Yd! zc!-VvgLbD*?4gWJzTw2rTHaNcv$GTE{X}NNt8)8T`6p2yUNCuTi)B}h;1DLO>aVe} zW+yFY41RoJTFJIGG`QG1=zhysyZk$3SX(OZOR9KXW$@m}v&qWC%7Xfjb53kT9>RKU z2v%lh_DrWcC!3=mySuv=b*1&zzp&oDdv}-p*Y80(t|Dl}m!(CBf?Qczk*Di`f{b1Y zi?cXtxLC!{X{O%=IZ;uC+24h1A(5uUcMqrg8;r|4Tn~!AMpJ$i1;y3yh ztMc@77sprwvqlfYa&=w>?=9&tSJWSt(O+bQ$F+4goOyf+0 zJEJf8|(|grC=2j8mAOJeOYIIPl#}FHLmjtr(T32 zBus|4>s93wY60!1g40ZQl}Fd$sfpQ6T5Cx$P8<0WP9jfqxzie1A3kOeH>`Ug;8)9) z%*W+)lWjP~0cQ-VDNaorhK}fqUUp9vj~?o2a^B_d6zJ@>PJYAoD$0jhM#lG9$(AVz z;sVP!dG}kOJjHZpkz3EyfZw0f%bkNJj7wI2qj;lR=@&1l@-_rtN4XqbHW3jgzWjbx z{na&9%tWdD3L#-Jm6YDGp$g*-<$(xOT5+lB!D25SOqnROp4un=a=sr9*OjjgipW$c zFI8a(gk#jI-Qv6%NPRfm=|Y9m!^g^+J2KVEHr}tRAknmtQI3cuRF%(REbx66?&87z zi;kPSr?_lsrJPe~fKGzN_CDg{y7v?g$&Z5!L6!DZ3EW+?@x)hzI0I;9_K{+|#}AtX zpm@U9?h2A}Z=9UUb8~aMYaEww8r?QW9&XGw)|-<*4iV?zP^q%{lik}S5A8Blj`CI` zxGFflgZ5^ EvmwHN@pf4EUeIz;`N0%g@Wt8u*)&q6aKWdSF4ku{H=9?{Zyi^ zmJh8j>09$6^P*IUx##B#{o_Vz{gXiXcod@w3ZO%h1Yr@L7VK154cnk~ 9WF zC%JS^W8a{)e&V_{rW}NczdUAOU+K$`9hqfwr+wT(W+g`(@4a;4n_JfNEY9T)c15<6 z_dKky*N@^b1#*9dzt*mP`>f~6s(rMtG{ tiNtn8vrZiSYTH3dCjZgePawJgCGi8Fzk5>EX`_}rutQ|}n)=t#Bm)OkILCLud zAAAwCjXzlGDnyJx@oh+37Z17^lIbP9y4Qc@e0?*Rt`JI=-C}kBpvS%*E%dP*>pi{1 z`-akA9Or86R}R!M-juqKuX-kQHAG1_vwxB}=pZe3+0fRnvial{V;YzA$N-MQYu-(i z^ZT93TyG-hs2SZ8A{-*^24yw11Y(w_Fjq16-J&Ghsj7axwV^CIr>ir^6Y9y#M`L9= zLg5?)m{IU-?GW7TUfD35e!Fn=lBLiOSs7pS3n^dN*c4rzl=vqW6>(Wj*Oa{oEj|1) zcl9(e)U{@!#xcib )C6tkW7(J4_Bnn1c!Y-lU-QNVmt}*_p@r z>6AUxK!WvEdQf1Mo+4pC5mYV3`+y>jkdlkzJB~qZim@*N*8MO;(sjDhfK53Umx`UY zDN?2<17dryb4m@V>xvywFAofM+%~uNwzjD87ZsLF_%wnLITo1qIukLzZ5hGX%CGwn zzC>H?wd4(Esnz#B3|!iKMM^uG2zE=qV1jTQD()i1NTPFQE5%GiCNG}p{IcknDK>;0 zX8^~8?7n5Oar3MhcPLfN)zD8UcBAbyVt2*>Kf2=W_<)%b`q0>m9Y(ltub=QH-7YNy zDa-FF*H&MT8f-%HyHViM;cy&dP6}-D$FF~W@V~6~e=f9jh5JmG8|4j4g$|R$6YTr8 zuWD9Cb&XH-D8S8X{dj(AB14ATjuDrUIXu_w->hLPb#rD0U1<3b%9Ds|Lz5U$QSl^J zPL=P;?*>ojr826?7ll;v0bM3qWS}UY2b@^OW$U#EOGb9Y)H(&+O@+D5(~_@d5&J3? zQiYn5^B8fFva56TB+D$jhmlfo!LxBZL)Ei?!<62vbMai@rTs{&M>WMd;`Inshr>NW z2O>ifakEu^j+eHOz9H7~T$B+7di6gG>4iWbvT1)f{CgdJk2j2TX?f!$U>4Vj8Y#gs z)R4vV#F&y7P7Rc~l(M?|X-)h??m|hM30@K3i;5_!$4_5kW!0Qu;ZbH5k1pXFN_AZM zvHek;Uh=~Gu|pbn^jX=5AMGi$-9ZK-!$>>tw0 dwH6OflCg%P8WEa6h$xb!s~R~s)Fh8nM{k4 z%Pp x;lJxb;8Ydwowde>ZCLtlo4pr@pWhjvi7I`wym$Xp%$e;>Vg0*Gx z(kLQPCFV{Je7+Prj$voAQuY3`&yZ}_p@;eT`GqkIX`=Kjkad%Qfmsz@nbbhj (`$Bh4#@c+sO*8L=1@B zcHoaD-^-CJyrTxZEgx)%(6&+6@^7$W@8O{S`SXWk T46cJJi?y*f4{%P9?B6NFO&1_&9(Keg1mgN*Gt0pnf#{dW_)i3Xh#p+ zH-0Nr+0PXxF@0c6S=Tg4H!0x6n-Hw}YCqxjp8Qdi!#gI@MxXhX0Qix{vu98!Rw?Ek z2vg}CHbGO%_}3ufvDUh}c$sA}^!HuMEg8bB+JBHcu+@97kzHukBWG}jm_$>iB^A$E zsRdm_?QCT5pvM39rqc`ADfXH!2l8=(=peGz RvVThnGIFoO 5dtyN2C)&F9D~wpRUoWbKS}_ z>KcklSIlZApbd?b(>Ni*r#JiLX^C8A^(?00IA*1=NRI~`aSZE6h9-JB!q_;%gg<_M zdK_&5b6a=TQ2QeIZAf%b0+HI$(LovJy;+(y_$`1aNPUi0exF)4TGD*P=2y1D??!L; z^W$NSQ7<9}hLTV#B1xBZnU+?== Nz&V4O>K*`p3AlPUgk0;+OT>Y0g0~F5ZeT6-HU1n1ME5 z504sjEG#UqaX6a}cX)SUd? zue#ODYXT8K{%S+F=#Do>RcF}Q*$cPqCt3wO9crDA*!tfGz4f18-KnLj60`cvdO~@b zSz=?|Xvz@LtMNEO<8=$n8gPv(>;Tgdm=?cj8~Ui@R^OK?*LkqCw3EfU5*5qni;Jvx z&dTsgHf-&ILP1s=8? ~@QbizEDok0_Ic_J;FgpV&?7VcgyMV&9}ifg_jS=yUGm>Uo@y zaBt~wef^49yFxCEpa)-QnlU0G0x4o*5k_UNLJoul1$C&OSTZvBUzK^qT!J+RTX8#1 zw9wj+_Rz0!$nuKmt6}+Il5sFO-x@T^w(_R`Gh2>gtPWGx)d^9e+Fxa|So|MlvKJ$c zA@j&~I4>H9e2nuwGgp!R_otWyw3a@LikUS#Ra2~>Kwtz(-JTErXzJ>WrunM;@&2Yt zZrvfT?c@`vFRw0(PO;&`+asyloWRzJGBXQMBYqd@Kc4EvuoJ~*s)(ZGlf_`>48{(= zyNza~C|1GFL8HS9$3b=}y>j!2BBRF1Ew(;l-l3koscH>;p-k-n6=@((aOgZF9zTBm zqRPe!PYx8{JF+dH>Pb{ZNFN>c@f4a;K%V)ewFiv -HQOMB)wr8{{@z#wg<;wBKFo%sv z%2Uu#QztP`33rGcTpVP;n|F6RY)&bTk_7%RbDGykb=LZ;g6h9`@mUln7p8G6tc|Yd zxlX{)nhP_Hi(^q#v9yGFMdb*nr;8VG&<)i(zY#DcZRdK2P%vq!a!kO6<6@JfOhoK3 z^O|5|Euf4NLD+sKVn5SZ@3{Gzm*)kMKNf6+iiSr5wUo#UYBez&^F0O6sj%Ta-f>h@ z8Mzecu$gQHT&RV|QNIwl` {R}1yNT8)^5S !8b!@^T<}8n`97iYtHay)T27{qr}#`Y-Gc^o211m#*gH}eg3KL?udG# zos`-FOyLNO~-LKdqk z;#~kus1&cz;_t7jo8|_ZkQLM;DNWZ_Z&S;aM#SuQiP(_hf%Tp=c{WGkxYleA9H-h1 z_J7Q!%q%RUjW=fUko5TY_$X58xW`0ZyuoJ0F?vijj2#|g+et8S(0f!cmQzwFp^fbl z_a#9Q{i}-7N2 T;?T=OBpmgE|9?c{|65x^0_I(&+$d;RnBi*3>eu3v#lMAr zNA}ATtN87i`f-n#!i2>a^fgZd$&wa6->ng*BGyvq1d56sz}|Atqt~&8F^eP{@7|db z-1R6f@u_oOQ+JJJECcn6CBbEH_9YmDnSn;6-^%)JO7Xf>a+b8@3mQIgT=PMjg}k5B z?zD*OCudGN-k%P4U4kP&J$~Z_5!xL4#wizySJo&@$wB|O`lIf1xa;bC_D=u%>z==- zzp7+4c4jAPPEhi-AuDYhtgP}tq459~b2#HZ*HdQJ71_va_3BkNvhaK}xYrQlW~m_$ zq1UTr 8{EB|HN%uxQRH?V7~oDW`4SEnLS7SDVxf4v z_X6*J#wNI!#R))LkTU> $A2x^N z 85ouZAX1@9FtVmbg!iI> zL5jiVABts_&(mqV_~qexPAoi&_;H2jUL!)Bfb_=@Mhv}(<6>}y<*)3a(*v($?w72O z9`&2mdJZTI=RJ!ib;+WebXE%f`)Ver_eH%R?8n5+)zePzbMx|4V(BHKNR5224!W#i zvJ8BI^IG+8wq(MQVk1vLl?5Z04egz5_K;1QS=<1Ok{r58QsTrgMvA;NW5?B>pZIOL z`1!SGjvRz=f^&0OH^9)B>7HX~%KSi`!p=SZ5x!!y$?Q|dwSGqUPw>dT%DMt7BP#Z2 zx4pfcO;}iXs9xvMfh94R(UMyv_AetxGZ{d!(MnHX57&lapjkT7TUwG zyeMGzD8W}38Mv64Zx>3j|1wPe@lz`Rs{t^hZQs3HK7=$xu1o(*2L(7U*-ra_))agx z;Wn&cM8m}Uu)J)ZF}XKWuUqG~!;!C^=HzneF;h3EciKU!aqp5|Z*csYJsTdf06Ni7 z?O36%#!Q~tr);~6+NO;dnuSc{=mr#rC34uqqZgmZk(kW A^gm6N{ 3=|Y^E~zC)^K)}42hGgPEEd{A;7bThx`w>LM?pu! zjE3Te-7N7RKFkw8XlrYObV*naF_P(Q&-;EGOy)5zuJT^)CO(mzSdAcMA6Wtu{8R~s zOgDu`!BEvdvj7*~ftls5TRJBK2FAmsdr0YX2g{g+7)pQ?iV(vvF(6%BV`Gj$!RB=H z2Essyo+a32YwVez-85{h>*)Mwt#EwkkNf&iD>esmh(y3pD{TIhYtH|Yc{5$(*vW5$ zsM{)jJ~dHc^|45=Om?Q?t7 C!w+27r31T=!(Kbp>UHZOvj4sRu>r?28tm $$nTU%C8(nLLh%)sOf7LLTMuDl3KP33JTyVujnUb7$*TvDFQUdBX)b+Mp;86 z`L6=kF5V>{_Mk$>ph!+W5iLw1{HlB0l(>JYRKaoYSH1=V)Kgk9O8N6@scERX|6)f3 zzgZ`q!1x_H!By+bMiHW5fJX0TG5DQj;oz?>P>Q7_6oe^928qz|H0%d{u80(2dhO;6 z8N#&XD+(Nvktbt7R-{C8S@zx=%0*s64KDq1`PKd}Z^XwxKKhn;CpZYqzrD52Ya`y| zP>YtgDP8Xf#F&|7bxMq0!X#qEe~seXe-v;{8M-u2Ck?>qJ3Cl{LfIrGn}+H tf7IxlV^p zIJ9tt-OqS%CzCz!mBh@SB|Z=fX~CgutUgsw)j*vBY@{Bk%b{{aY8Qw-V@v=22GwNl zADA@KG!-i!u(eiNL337YqJI=9g6)5El(7P+9^@kfVrMEpl!lk}6+YW~i>nffO`kYx zK-cQfJ5sF;Qb<+~VvPQ{r%=VqJam@9hT+nl0JZKg3!$jX&ubW%qq%Pc^T|YgMJM}P z5x$;9hMpwheG2ookBxY+A82TI(Q~>prP|1pAjJZ7joEcqAWWQ%jjdoHnu8FcN|f7> z){ZKZ`?B7RUa_0#%!MAZlFKAMf( {(Hr-J UOm& `< zS!LTT0cc1Uu68L#EXtxQmLXZ;J$Vm+Q&ARRIV6sKGf;JNtD01A_PfpnePyNYR$l%q z@;8Dd3b6#`<1cYqI{yq5=3Mu^+0BDwW512z%gmYE>$zLyxhCJ0Ys6eKxD-{%hC?9Y zX0*g_h4?l22oa!Q6TUJtgSJS2T_`MRiig1-#F~`3?YwXeB7gKksl=#p#O&p0>BUBV zhWTWL)zix`20y(@F{kD5t6lfz=Y1u$tJD#(vAR$ah%Axd=14(KV3#6;FKhp2fg@NZ z5%D<^k1_;@g!BXvO2SZ|t_`H&x^9B@Wt?Rim;J tOUY5N!b zUYIKZgJcms=)Q!Mye$DGG2t*v zOvN 42J;`z+AX)ENsnX?aDkkj_GFJh*uuRkm^u$VQo zy!6!%oZ9QtDdbq~1Y}h2T84kIY-=A+vrR>p1J*!BKo)*Q`&N@0iGo >j?zAr3Fii;Zt1_hxtz8xh2`a3a&Cjhy3vkyD(ru~n$8dx>|Lcrq~7G%x9{zB-v z&9~ffeMa=S;uD`)=+&D4O}?X?SPRC0Bp~>%clftNS8+di8t9B%zM8@%=h8&{XcbT? z+M-ZwX5TgTJ%MJ-hJ|xT85sn36Ara5{a&XQeQl_wY nzy+aJffz>hgbYP(XYOt1c0H zx=eS{N@nSime uYxVrnjATVTcSBS%H!ZX zpmtd9P4Ml}Fsd;w(~3CB`yuM*s9I6)pwF>GtRyeDAG`iJM|M51$02Y{Ir)IUs*tIv z>EV13A^csyz|7>s>|r5)l4^o9Jpub!L*TgQquyEX#e~zjZjQu(fA;xbkNZ;vprut4 zaOk}O6ui?J0s-QBi5T-|;(MSl1Q;>Qj~= 5YQ6DM2t>%Ez!!4-!}y64$R2} z;CRx6gYV_#kW6U{l%MTPb=D@K3wI!Qj~j5`D!w;O`YiAku1>R{FjqwSq@T_gn0Po$ zu-ue6V~y+z9qyklA$KlKitE--T!dQ$9owC@bLiVzFDS{&LQ(0se)egWwG0si; EN1|^O|FntX)ABW?PzbYJQM$11c+}TJ*Mn*}fgyhw}oB)?L$wdPtrIB9QD}}71 zS1DOJV;|WMC=*dr4cdLUaf)JDUIM U$Ip9-RpuTIj1Tp9!u|L5BwqWg{hx ze;`RJvg&PhxVemCLP^kR@#O@(9$@YarOPq@wM?}{4h7d `zt^28%IAaZD!(AKjG!xr=Xx k4F zN|pvjN!g3nJM+X42mKR}1ej>jg+LN~E_bSb!?ajVe7Zj{mD~K`KcT$SPRoD11rmQG zG&FAwe;lW|&mx<9H*iaA#RzTC?qHNG!1Gr3a}kbUxZT`(Dz@dV{o|d#)D`XKy9j?y ze?BbzqyCIN<$%BZL+pDXqwt(=CtKk?gk8$>(A;&U6ST>~zHdve&MPRf%{Lcsk)|Ya zVl4-aJT?-QJ3|sUVu~fg4S*YN3}ppP-Va3K-nf}|9_$IeOS&9FVYF{q*xnE1yw9ZI zWLBfVJ57_U@AiMnzg~E@4N} n{E90 zp6|5>1|m3PFhVwLsQ9JW=&$vxFC887RD7?32N%Fbpx@H^@ovEP>g)g>)YV)T+O^af z%{g54P0mB1QOa*M?Mgo{G7PBF!J*nsjvtQ)#aWPU?9Nnm;W()Nd7(119!vNqv|nEZ z$L2lz0zU;gc8<*Xk9pke22#+)*b9*RfQaE)ZBN%eUtC&>HcdeS;m8OwIQz!N#vzcw zeL(qefk?`U2Sd>~u;nXvz<92zqm#sEzQkG4 RfR0aRB$$GtQ2a2%QIi<1@Li~#b& zgrrq`in9Jr@-={k0ZC5|Cz =XO~aggwAX2+rnK$^fLT zc1b><;0;)^q30hTiPEDJH S;f2p)y99uAvM~%&c4~R(v@(H_cQTy< zG_F=799B=hX;PKyJm7uPMv;}3b@=B^hGzp7YKUKqM(HXJI^&ZkHWQk^fBzP*3Rwg5 z!qG&@Z-{ue6w& xE=f}a%uEYod3%#aYto0 3 S`RtQT?$l-nGfS$J04*f=; z(Gt;|S5WDMRz*!nzDh!#hoMPqYyR%V2sJ`FucEFltHwSDA=E|>aR!_NY?)1v^g8i- zzhZvoMPNi`ih1Np3YT>;gt6#qRj8Toe!${Q4|~QjHlJne$wUE!_6(s9%%Tgb;ViP- z0li|mob;gxmdIWlMOlm2ui>_b;uNEbANrn29SE*&;wE_hH7Z{nEC gUOZZ9cchUAasz(UgPId!?II6{hO#{*ky!TxeMI^0W)i42! z(Z5t0W5D7v?K=L_`T^zzn4|->Od;Wk%&nV$~VwA|+KYjwfoX5v9Ajj{EK= zAalSEbV1Dbk8=xaRLvTEe0-bT sq(v!hL z!XGt`hmxCvoc@ulyd L^UPVZa>`f_X`(55H_ZBjJ0mV9?^u6OLn7B1x>I(QTiTTjgQ zJ|a)5t8$xszZqVv6d5+9ED_w}7Aae&?(q_WIPs)D4#e1fA5{2mk$*i_{4m@r{qtuy zw XGI-pWWTNExA@&5gD3Up4}uElR?ie2LX(F3trinox*>}E~oIk&Bc z827Sryt>TBw=?UCf!>~8c!KoGKb-~V3O4vQK*^K*gJqP&H0E4`jV@Y;(3Q3tlhPU| z9;(*1 d4?eF0TKflz{J`)ND9z=3pSMw4~ zE5{sExThx49@610W=1X1a2ECTT 4n8|9P%az_x=X8smx%Gbl9JA3su*tTIc+_E_P#|HVhw $rn!_iIG>i3#H0#BICI=>LDFPR4+`ouI%G28fi@%t_jk#xoJb=O9yNy84! zX+8K|ZF+~Q5L89Gt(r1y@qTcvLEZY}E44lOxlqL-tC`)a9w{V739f0SaIwFfdA2x9 zum{8V%>b qC8J;R3?nSsk1FWOqXB%-Fa=2FDon5r(JR^QhNIjFMNi^; %| zU)0W7V>+v x?8LN%5TT$1|iK@|$ zc)zk<`4=UkyA)3lwh$=*eq=FKWeZ>WBJNq 9(7W&L)nNQ(*mjtn77N+HH7 zL0ygS5ymOmWl@-JCXmMpRimU1-;BQ}g2OWYsy?xNrsK(3#OU8y6k`(3-ZH^${@OMf zUCdI0P1KH0mMRPf`bl*iYz17h@4M9bd>OLRF vos9vk2=AVvaH9sg#_88u+mx30TxPLRGaf^Oax_res%Eb^l!6XUW$uU$+yCNeR$Bj{q_lSVz(UaAOUSdrJ0J|QK|fXRlyMdhLR zvE*4``K|T~jTy!#-|kRXHW;+sDh~<7kw7@riVI#2(+N&n 7It)AdY>rsBAE->YV zp$_sHzEh`O!1lYnoV$e74(+`+CH`rF()i36fsbtJP1P`JlSNA(p9U=%-o5vpyO{HH zsO|jNj5?O@eOvvWf#mSgTQ}<)wEJ7dfX?nb)`C(j^Iw0R2C3!(p #? W1DOQiSwp~;c%gK`7SNkC1yt=>lnkw^m=$-|b&pvkrUGDEY+$A6&I4*{& zf{tR5@Wk+mFZ0M!!ffZ=@~E|QdO0RhJw~6@i_!pw=J=LZHJQEP3)!z0Qo*)zaD9#m z(oSoR0~pY^R!7`l(npC_cM8`m7@0X9-LSF!f1b|*k{x|q7T=&=r%m$KFfh{gnY_H4 zM>;NZ|4RJOXyMmW4Jk75!T!Y5*~TBxAga`G80(qtM Jv1 zGVvy(EKo)sA`9T1T~<$z(@s2F{8V1FVa*zSEiLKN%?^yIQu{eu$12BX^_E0U`?`($ zuE2l?DG^Np3f5b-yNRTry^jA-CAm20a{5KbTh8DieaOtb?3BhU;`JQud~xJb`!fk9 zH>#jX3ySNg+O&fVo1tMrMdT#?ZarY%4~pi`OHJFOR12g)xO &)82r}R+W!uT`1(x^nKllD{ z6H?i&WGY{k&whft^Pt)OiT>x{3aIT3qK*5HkF{0Vloasv!I-ZEyz_>tUvl`CQ)Om~ ze>=H)P~M_MY~w23bWMTQ4^i~#zuLL#P``tm#!21Hi-t;I3ImS;{?&v>>RjM$?ewi< zK~M$Haz LH4e!)wY5zCKTy^q{3t*oq&v5h5>KzZQg+pfJF`DUQ&wmrdAR#t{= zP_DJkZ`rb0r<_q`V+c@dOy`hOmr=X-$;PmvPLW;~J;=rO0m&^M>SE+`pder#RKg}E zRzGnn52*wzqteB`(8fytHomLe%hdBwx-gC8bM >$hSb99)_jDOg*>!C4F?Fp>2(+^X9T;xH)=ZnfY;6G3l*jRRBkJ~&qd2|#OQ z5fy#W7~}iv^ =5KR?yd(xPIxIQ%!n8 {-m_S=icdf+?^5n$}PHPiZHYo8@aTsE8$AI05EYhqgi!;yi4a5bX)1LJjw-j6N2 zxWrl(KTL`L V!nWWA2;xbaq^~GA2Pp{N^j~YnPeX1;-?OY5$#Z#+cwFY} z-=OX= weyC*ofVHe-C um3CvaFc}>Kqrd=U1vf`j%|L#$)6JpXt?XL*8@k#*vjB&g%`wfl*L(DR z#A-yEDwhJpU~EAa2)m|kZ{vFNOX9fP1kA%D2}1H*e3t|PYb8y@u2aQafBE6E*rD$j z#bM8F6SrrvVMcXqOtooy=;8MF!8)NW?P|~mm1JcDH;e4u!cu_F0M=+)^(b)ZtZfQG zpn~6Sx~ANZ288(mN*X2M?}*$pJRBaxh}AI0PD1$K_&agz%JfKGH7`10MKye}Pk0=c zGN`W_IDLD$G0m;-?9!w`h8G-?pYElS#Ql;38SRN)IoTRdW>Za4vb41P)ExT7uCCzc z)IYL4@FdAeCMU*W=RbdF;|PaySZ|YJ;wgwZIJMs>f9WnhRNDIVn``m)=xWO!dyAQ} zkRNup0D&OWtI+8Er-TnPZGk{oHom<`KHeH1%wHgAxB-Jd(%zD&qM)L(!uyg^$XL>N z`guHy%0{s{G%LBh#jVV@QKF$_*4XDI2w@j{z4VWsog~#-0ZFk@?b76otIw5&ySFtX zGLwI5^_>=FKcg#`8j{k!uIM>2wOj^yE~nFN{iWL4rE0fb $LF~A&x zRzQ=8_rF?VP*C5OKjRy`tXWAi7!gF-b6rbw??w7Er{&+jkNTy^4IB+hm4t@w3oM>2 zB5xeIFn+%?ke?JdG<5R~?q- dnPpk(_L4OpV5z(>mAM;%jVNE3mR!K_W_v6C*h_MbzHH3N9DKD ?{LySp->^L$cypUk2uStH#Bp`6X;|v)6y@6kx8TuC+gNN#nui+5UiK_EfcgtFBM3 zKmFrpnMy!4MP2YzJ37GuPnIrre+aAQrxxCy->PRh4h{}BE5Q<`X(#jWhoEcDw0uAV z1az3lO*5k9Lzo}{tR-OuNfn?tgL7< {odBmg{GH30l*^>Jn?HLctV2 zja#aYr*ZKf%~t|oNdwHE9;7Kn>D9tiw92BF8hG7ub=Sw&i=iHP7VB>x*?Kd>#RCnC z3)ciY8FGKOO_bc2xh=F|fT-ca%UP|;IPWgH&ZW=Be)@1*RyH b@upMKxa=b7_exYW<<%(E;aW)A;+jSL;cf1vlGIJk&~g#{ABj>>@4vwFExP@c7? zGg7y1WLPU2@1fsCJX#(nf$W)@mIA>?Wki;!gp1>b6%_`~P8s9srYp_N-3`JZ*6INU zk*7mg#1=jFu{sek)S8wYK%)PAbU)Qu1{yCZ4qUKa2GCsogZCPy@ZX88{adzkFOeg4 zT5R{hsF&P9hUXFO3 !rG;dhh*@1+Q zL~?b0Ai|Mq<^XxT4(T1q%F0I049qrqf3=@$I=ng>>;vOh)QWxMNm88<&u||Iy|5!= zR#~=WCzF8an*WWxkf1(Q)Kvw9+aGZ16ls=dfTSZZHqEvlPqMSJB0U1++*uAh?@!=h z(Th-D-}9AZiOH?Ku#>mEdxTY1H%1B|kqJ%^<^pr~5Jc;gK&8R)ZG=E+lRO){dSh>! z)Nd}+<4dA5q^^E;c62C#>y7?>8bYkO5W +7sJJh-*vDf&@rd z0-$?JqzR56 )VS;?SOUAc@i=4sbSaS zfHUWUEbvncW_ET(sEA9rwCjBdiJ1w)?F{{YW_)8yXcpeI24awaWMM^XQ$N5+m96+l zFbu_`gkk{mIU~zV;gj2JgD1RQ!D8WSvQhkKp>E;Y`h;s(ti}ape9NKp+JGm7(LpW* zHDg*UdI%cvTUv4N+weFD1U^72NKh=S{z9#vLiwK<4a>^OK}S*LSbxZ*bpIo6SGWcX z{9A=b8WMsxAIpd1+*z7a04#fzj^MaS(+cU~5(lF9UPXh0*JLPfp)&5 V7pL@=^=X0 sf)Q-Om1w6_Kk`v?VeGRJ79H13`}-;FU_AXzV%t6=mnArPk8jZpv3RA z{zc1qARed5l+`-$J85BsDU_y(E4bH?)6JaYwE%f=TwPRBpmxyl+f-?{;uubO6YxtJ z7TN@Hv$-CTai#R1g<_wKpSjcv$S~I?h+L2*jFE8SyTLX*yrrg7!bn|w3k+Ixc&$vJ z*1brff-xL$=F?<3T$^ zYIa|BrDvHhi#aV!NC@eQ`De0kxpc966xOCRN6%$XTFB#_40{93ri~e8#o2TgCyl_? zjkC)sB{IUt!RWF;dM%o$lX8V^H-Y_HHAB|SfD~3qqx1!8;P+}QV?@ye<$Wvf6k-=H z#||#J%M9EK)E);{)^ca*l~_}Bqt50%PLT}a3X0EuL+7nYyc9F0!KxBQ5b+Tps<>id zd(Rl;)9W21L1gqQU$Cp|6KFKl2YAQWBbLEkr*Z=&34v03>-jS@CtP^XSl7YDx$Zwn zqtbN;di&Mi3$DiG=*cQwVhpofDKWrnfyq;z6O)({lF_2i{nuvopW>i@ SMPQ{y|;3w74~?WYde_0IlD-Ilf8`CnCE zeMrdom4Vwe+PHsyWtx|#xB`@n4|Q !POWw^6W@jneyoFbOf|mQIT+6MW 2%ea1g%ab{v+o<(-*mXFVA-mLD8`d>eyiR->PYc5=XEnu+FQh zwC?&Dt$ZY V8p_Aj9UD*59k4Y1R6M@p=AV1Gtbj(#Wuz=!8*Zm(uNYsCpmZfUu#_O z0u4WU5g|$Z^ejDpVgCStbRg-AYwX%4AUabR9g+dQ&d#y$Rsh&Frc1g9^d`X}Kjn{G z2jw>xASCgyHWy{T#k2a-d(U9!O$Rn8LA^yvA4zWeGfQ}NezD+$XUTD%A~X!Z(jqE3 z6l!C24?Fw &r6KWSiJhT#%l+3)`JDFFcJ?BO`G^|vwjjp({DK15 zwG&KXC~+kTRw?+v C!r}y#2kV;WROK!zJQU6t?zGLwe0uPvL9z2iXZpNlQBBqWbJ0Cn|-iQDxCZbybq6 zlVRyr1mlucPnu*O7VBM41o#Fo*p6Rpww=zf#NHTd=k15Cf6K vA{XgJfj z;$!2ceZ#fA%lmI-FCSd}V{t3{c^l~xI$KOjT|EIr+lk($It`$0=C^!cROrrCZT4r4 zGXWmq1#LlLe xZPk&Y*~3jbTxRJ`V4-?XzPrjWbyyv8yPbLjPS!FY@(`K^SS z=0vi7uZt6=_thijCS%ucP^xv&Bn5&*g^I4=rWpH_a?O>IUXs&$g&SS70@~>b5tqdd zU#fF{y_6tdj`V#G#G(%w)8pL +uYdgDDjH> zz1s2U{N!6+t1hi?&WpEC^1U~VUM-wTD{nNMT4dFgFB^LLtb<@qBJ*O*++)=&&|#Z+##aEM!IJ%{X#0J#+6&i@J=#39Jw35rHTThi`)luJ6ZqC z&qe@3IbA0;T~X5dQd?lm&dQzp*u>z%-%2J7Fn{NO`D(j#&GH?*d#$i}hE^y49rU_T zY3dREcAh7zWJSk|@~`$%f1f+Ato(jXy*je&-L5i hnU9 zr>_gtwpl(ksqVI7>du+pu*z&KBH> -CXwxoWy(nC7O-ZYp;!nUVZeL0lzxYx~>r>Qdu58o|gCB#4j94 z0z))t73jLoGA~S&uKfC%zroIZ7uUi3JlPH7JQxt~EoGssw@LSDgP*xK>$z>~@0%z$ z-**LetG6>m3@Q|0`Y%fQGlIbJlbfHEOKAL!kTaiPb=YuHcl+WiHBl3kjJ=T_2PriN@9R5iP6<5DeaE0Zp}V}tuUpWU_buh 8n 9#6bpd zCucqP7;oA?o&xVoB_^U2I$zPPGc)C{hS^=9;;ez$3Ez^#S|vx^p>N&m`;tSEo0}W6 zOY4cZ5Ve{RM}m%^8x-E?z_D7pG`tK)xC;wLS?Ow8v?Ts%QXqHI<{F&^D{MWg7S6G7 zmwjMYF0<8H+uQmi!Nb!*M&RCG>GsbacF6Edt8?bVv76Zdd%EOO4vWL0*Yug79C1kB z;=}J@F8n)N1mV_rUnX8towK*%>#;FaG~tuxVqTg$hjaS=OtN^l(POiWkaQv?LMT 5GK` z5=oMr^}Q!IdWwRZNpHI`%m|OlNV`9gD`x}n(EW4F1=!)Amvyaxg!oWku0R?Y+iyQZ zBE10WufpE*>}=uMYaK+lHb|-1w6kI>DW|2dnnoVAWP)SiUQ{8OrrDjuwP6j^Biv_P zmY>ZNPwlw4EX(^Hx;6kVNd9F&VK`SS>w4H8JNPpVvRMOT$E24#qyq?Nsar4}zo5B@ zF9pqA^`(Th?U!fya;A@_-M!6yySiz;hwu7l>09Db)NCk8AX8)YxMwpz _X5@&_Xqx!{ezePCPMlG?kuKx9lD+YhZPQ$` zxBQas0|O;$+A)n#p&y}|Vs|Qb&Sc0){{-;Px<5OJ9O16|H06ziw{t#~#h5>yUfd6q zAk!I3^7=@`U5t0z -Kx#X3u{ah8 zgjaJ432)k{$^_#=o{fft+-4I0XVYfSrcV;OpKG6gmY t!#^haJ zc^AH)tcaYBrwT?85+s>hUE=1x@kO#CoJRK^4Y}j1FgJrP%;kP1$;J*^R@UN?uI4kL zM6TaJPMe6A`?1@+c_UsJnjLMHN%UYQ;2iV&uC6z=WGvFWW@?>ByW{I|RJ>3M_8aJe z+^wjWw*U0>xuZJ_-7{AZ^IMIkP}@w6*8r6AgYPa``96^3e1;In%lmr8LwDuX9|4GM z)-84R2#=)2n8cL|N7Px@ofKJXj~x;uEz8Y;9a^?j2p#&C-TA>0(Genf?T8_fo|x9x zZ>G0DYTthFRn$*5dPUl@3O}~0r#al`=(*1s2qF({YbFDxsmgP{1&(g{T`9+|$K)6{ zy6U)C`${!4toP3xZr;%~1|^(v0?biEG1mlZlzMNOj9mVtj??Ka$cmot>F}cN4wg z#dc~DRQ)KYxpa)_p;tom!sA8qlzxPFd4D$TkehK5qo@^xN3=v=5KTEyEWFv%LTA#b zrftF$6!v9sTBUpDDS2?N!K!yq{^FykYQ~G&MZzM?-M@T3ig_4L+zl5y*W)Yy=~GX- zSFc!shV=62>2|tHYf%+voQiw)zKbxcj{``Gaz=Nx3ZBHs-{wxIs> zo9M_<*az98txo&M>`IBhecy*r(J3O22QUn zfRf +1(8KP>!o{%i>_Gp&0oAgej%G0NHN~NW84gm)b z%Afh!H6;3(o_{k<^i4Bv%D3D5MIfyM8S^_5w0uTw&FOBwu)%SSupzGIxVtUD{!+l9 z%g2K(xqJy+2QKY8uIKtm^R;lF3E9za?lV(Y*xFaj8^VZVJUbWL61IwMH7Bcr9ZF`6 zJJ**cQF=&mwyNg2i?~TzxzgLq;xc}#F^^nrEKRdYD|^ypjBB-~n{8m8O)eQ_mv?yO zqjew?cPR7P9pco0;9c4{Gr@Lp({ylbQ>lJHKevfR^p^{Y_?%$%> rS(sd|0Kw(-Lu4w zjIX^rp}UYO_pw+o?*4}_8S7my 2!{XBqsdjjntMLH(u6mgxiDPZHR|fM&!78AEI;!aL9IWCI^8q !|h#DA21?Lw;Mjqw9Pm`z5^G_)M0xFX%l&H zIRA&3^WSIgrM*7XW}E}mg{oy_OIc}sbw9`58H7o;leMLk?9$Z(S?vMg6MI01_nu^2 zbLv0}3JQyfy}jQ?4d3n `mMl+qnsfs|pZ?`AqcCFv zyR4Wi^YFKnLu#pT^%O_t46|}HJlx^(zS5-hiQZU$efzx4ALjBL$m-7_VM+e?D)V*i zYIa<*#^O|4D*}WMKAzd#q#s+}m}>Y6@VEs;a-A!^7p8#S$t NvWxGcqd`4iW-hvhyleboJmqTIG5peZp)$~o0mzrwY~ zZpN|lIu09=>v1zAoI6z}#*xoY;98;KeBY4(3RMf!TH`*0koeKv0FzK8J)VHL@GJ7+ zT`Nz%T&Zobp^aNe_DEIYr=E(7glDl+eezAG3#ML+jJIv~nfJ6rj(hP=+9m*zr*Xr$ zQG@YXuaVO|J&6hjpSouG<<+*`Gv`>$z&l(E35orU5V2No9tjK!$xMX*O*F4-yncND zI4kSkmY z*5g^&S%jxE0ztlk|33nlO1}zu3@Y0K5o9;hJbrlMJE&Q`VQ>7lV0fIrPCvRueB0rP z_sn6WygsS@m;C;tNXQ*&a637qB}Y(d*bE(l>Oj(bQ2#>e>cw;l`jzhQKl@O&R) zz?XuAOukLgh5tx9rcCA!aE?lEJ|&Et2qldO-*bTAGt^(=1;29KZDyyimRy-MLf>?r zZktPL2_TWt^%sxpUIOfsiS4eG%Gc&nORc^J*=&LnuNTZ3{0{FY9NVlQnyzj?#%*dv zug|s9;UY3G2o)JgVp9{*1%A8xvy->W{hx@m7_%&tb@8EPfBpLP1duxof6f)$x1xf~ zDhOCH8FrI$v>0qrS=wzqG}F=6o-4MWMjcJt3|9W#jMUrL1j@(~DR`@|%ZW{WTb#n( ze#7owa9sa;c5PYAvL}|K^y|q`(Y;Y`W(Naua_ML8aC$XNWbbUgVQ=U8WA|eVjnIP@ zdNQ_o!op<$FRQ5bOKWCZc2bUi^kivO%a>L-5ul$g+4l0aIK1l4A+qA=AnA_`@U^om z@gP9htECG=3;VCl3$z^Cp%nODr>UZ%Xb5IA_zMNGm oOxZ>XE`?v{fPjyf=p_kwzP$~KIV zt97ShO7ZW%&!(B{yy4_j>7yHO@b 2V zKtOF()s;HUpuDQ8!Enk8OSJ>Ft3>twG@{=~<_RMS(ad-%AG|Tu;Da#o_iufp?7P)Y zS_|_)e}80_#ZNHShKFmhrn%&N4qFZhRt&@Y%E0k_o}3PRpVcxO^_}ZVH*N$O70l@v z8rnb=->9iYbKYTkzpFy q^^hyJx@!sg$Chf zceP}G5&{n2XL>FDd8TfEm>SJr-AhV><`JKo4+-TME+}TWt{~tEDt%FLhCI9Bh(kCy z5km6I8gFaDk|r;X;DXig$BZni|A!!Ts;Uz_s+*Ixy+9_1xou31zt+l{nH%TvZw;HU zHU T7$Y3+LMsq z(BwG3Y~;E7hEw4Qt U(wUJqQIph(#`ud|q(kpT#$)N0Lib^ME%AHTxpADErBYpXls!I ?gmhup}7E^Mj4L0!Zwe%ydtSrfHt+fTlIBg#BDTb7^z0jPGWR8lKJGp zeMqBmR=PZI=_BBIfcR#8A!DLACu!^WE1a;%e5K!TnW1k-Bqu6h-2RLGM_VPxV)ikn z7)rk&!hu((W8lQ*8Bo?XW)YOVCLTd8reW+uRG(ngQ5Eb4sNGaW?mr7> eanv^xZ^CQ~w!bJ!FpfU{ynI!C44Ph00g4N0JF5L|QsDn@FFA>@-4YvQ25 zO#r)Lyfp^Zkdj3-d!QBlW31J$2{LLVtL>p!<;)G18cB{O7e1S?xqyh2*bpXEPCzoh zxTHnZqR00Dq%v+Jzu~}?*8!($0KpkgK#8G;!90P{%f7k~sPJ*fV-c2;`u#kI;rvyb zmy8Sy^~*MSwG)p|j(!uIzC>srPtiSY z9V5FuI|8m${89gHPAR{yNE&d8K|d`nM&4FeuS^uwZ`7W*CVZWhoU?ab{NU|vBoZlf z@nR>aA+WxgSuQ`pqu fhiO?ovbC5g9chk%BO|$ zreRiAk>3Hgu7UiWeJ}r}55?>V8gV3ivXx0E5N)OU uuzl)OJnCk$g-lvE7 0) )9U*986|D|aXzK;y9S6Y?`O z?DNP&`Q4+l@|+s>pi5Ap`BQTxY$gp7i4ei?^4pswr?IR$%?lwQtXG=gA3N@Uf4%;% zmDq_^_^-s^;9!GILIkgD2g$b&;LAnbFYxhNvCq!W&(CQJ9)UgCY!jhu1l?H}%AjG5 z%_CvMYDbC(A&x=yBj6mmt)Wo^D0IVUW6&rNjuy@Oh};|PiUHWeG%XM=?QZaj!5Mv_0wm5HLW43Ora8WZdO+TBk+Pj2=8E2(*pE{@Zf@A2&X9N+hDHY(`brFC7 Ogu05Ra+#u8@c#g};|T-+ literal 0 HcmV?d00001 diff --git a/docs/pic/readme/20241104092210.png b/docs/pic/readme/20241104092210.png new file mode 100644 index 0000000000000000000000000000000000000000..d14b3a1feee885781dc36b278ea3d4ba677ead26 GIT binary patch literal 44471 zcmdRVWmBC^6DICXaEIXT79coDaCdiiw?l9zxVyU?91ia8uEE_MmOO9mZ`j)YG&T1< zRnyZlSIdOS%Ss|6;3I&6fg%5p5>o^NgDeIE1HXfV`J6%M4=n@(BL({*Camn9ak`G^ z{$(#$@RB>w9)1q(J82hFZa01jZkmzoH~3O`I`t`hqkM2q^Dsqu1VZ%7YJY78v~95d zp9&?hbbUpJ3?e}z{UVOiMou~Ea7i@Q7}$UDe?oly{=UhbyuNJ3MOO2}-ET7gbYf!6 zmz}>Y)va?BO1q-65*i&{Awns*a8}i*)q;nq6U`{y^D&>{??91}qTFDMkdG5r(F6W( zftXv{1`NV?b3Ae TzOxv`;;x$RiYQg;VTtVr5ai?uwnt+s=9XS%&)MH}46|X8b zIVOKl5%xP{clmg?eE_6;?0FBn&$$pJI$FKxb#9WhwZ65_?_plv; wpEBtx2YthpKz{c|Vo4{Wg&D)p#Ek@=Pbcox zd@&yb` @i53Ylb z=9_QY-iHlBr-QM*7iqnAVIdyYql+I)ioV4}zJo`e=4TfWXz1uVsM(z@_*Un{zawO+ z-M3>xw~D{b{9euPVtW%a;au5Uf{gf ZEH$;l!#l}kN) zd~f9uXttuZ+Ib7daS^ZM>GqPzhz*WVqmsd =l5i2K=Q|{V&s)4Y< zO>&Pp>tx;;DuV1~W-i<&8DeV0zFMxseAZ~{t tIP9$0(U59ce@--df`+oICk zVVK@{J!?!>fA@H%M(l08;pOkA4qvsA;}mgWw*9ZY(3sx&wOwK2I(n=({gM&&P7G@X zLS{;FnkGE6$R_N!WxPq4t8NSm5ge@F6kwLC1Sc+9v&oZ(KK#nP?I?Di%TDOlY+tNZ z1}3YgK6ktHkWa9;8mH}<&a-fgaD4n=GBs)X 6ZDD2IU2Zwdc;KOxsieE$m|{8?-~{G2JyfKxb@IeSnW%xKL81@+i&U!YlxJ z_|i1dl?y#PhkN?8Yf2c+YF&-=SjehQ${gKZ3WLJg7iKflxCg+QS+7=w->^*8whHcd z1(8PEI4~g5IaP*vZ3TsmSb0U_=pvEjJ&uc H1hEvQE;SX9I<}&J#tNA z>nQC0EtQekK2`7why?RWGc~yj?_g=9m)N%6ALo{IuSz_$8kk^78j&!V^e8K_zzdQk zTy5N4m5C}K-Zu=^? RG^eak4K3qjOLdZmRvm`94;^uv>Phi*E~~Dj zN)=$zDOyQw_)K9F*0Ios)4#X#w;|af{98-VFSMFW`=bj=k;s+TrY43wNz0r1)tWBl z!%kIcoJGCWU}vwW5-PP|mln`p_!~ZMYR5*?Kp%mmUJoHT#gSmo#SFeV&BbkSjrxNs z-n{FL;0OpwIhq@%5kWGnQ*g{jTZHFALtR=b)OLTR)rJ*V*f3_e%TbM!UJ3^!s{e z>F^fJSR7#lqgYiYku}6O@tWGj^Obb0W2L#Ax
_yB#&Mc;wyF(XUq3?UPKOF1vrppLcP zSDY_~GS!&mee1#6t8VvT_bGg(t94%y`%mV&XrC6mn~>sY->%Z&JZASif9_q(Fo>QN zR8=j&+)oy$6Ki3%8F~s>!4g?I-t9{JGSNO0Uf&Q=L~ooreVr$${&YcleK+VJk+en0y@ z4UAQ$w6G#SSe5HW8A3XR=jlD!j %M^UZCT?ua@ zaBKwR!s);fOj$_f4tLLUH=BS14bzVw;9qJbU>W0V$@pi@Z+7%-a`BMaYb`6cQ4+PC zMH?!Q!Mp61a=nVHSoJ 44 z`-hA|ZTr}6wWRsl{f(U0ui@f{NhWS;m{z-1 ?; z3&HaGl!A(-(w%0ohAhzcX$R_}VirE@^u}eTHskuMY^g@PnTst%W1Ozju?-8B8+F1p zl;gG-u)@W zA})uO!j_K`!XPdnWzPNbgr{qz~ts9dWx=n z{UfK-vD^XL+S+_)s6WpW*b427YG; sP$wn}7|_&;^MKJH9G#TW(zk?uz@(31d*R&e1^X^nhC~R9_v($fl(uyY)Kt zUBPNOXN>Aa{~l-1yVLVZq*31gwAbdfYB` -SdYN1= zy8%V+2>S7SCGRt{lb=;>x;W}3!vC3yxF;#41XTU}j#xdJup)BPupM?Q$8V&V4&; _qkp$F3%5k0_Oatm8YeHITIGFyFRz5(rO;S#W7H* zWHJLHN)Y2LhX-h3?^@bsLn~T^bVgf~8ME+X!F
>B-tu#Zv6{&frsx%$j)F%I~lLZFxZ(aWFew*jitYujw=N|{b+dZe8`HZ6z zmQrea&l_D2#Upus2MW8?-1)qbc= N vUSraG!3|;-?=4=Zfh4M2Ag`maDXYW~C+|W-d*i zQW?nSLrMo+Zl(EEq025f%JQdC0IihMe@ak@v#$)NKe+s@!iOfhL)+5kq@T}JiAi-i zYnfU1kaO$#%0(SM(9&s(12vz^t0?Gu@0aBFoyN(+a<-la{Ik?LxxfC7h?zo2=o`iE zEiAi@lcn)64>%Wr!s}#>rQn0u>n#5Pwg8K!PWzWMC7T4N@vJ736PHz(1I! Wu^=JA^Kl% gtZ`XI(RUNl%rQR1hlll*sp^J-tm*6+D lZA{g3c_bTBQFh3AgfdxBm8+X?@h zeXU9aA$}M8kNWI?{%_zr`2T3M_}u4K{H6m#{vWjtLo2JO%s;oG{cl^&PM>=5zfafv z{{ZAa`u}p&w(!mbw$7u*l+_!APg?WFXnt`P5Ap^-*ozcCo37QFLZ&A{_fSv*K^! Vp$=QKVMMF8{ta z-}-C5NED9GeYn%(S62T?TOXton<^6#xYByLvwX89LK1dpKS^rz@&i UMIz?AU-CblD=|=a z^297z(#nCE^=~{RM92{If#36E?)q?%>x;2v9dox8YP9Tb@HvRyv3~r ~p#8gt`@nGdK&2}?JobJiLh3>ffXr@2KC0-}f>GS@yR;U0vub9o$lZ^xMY_ z&DVQHNR#1WtE*u$Qo}y;!1p!?Gg)vVaXLot7Zc9Ig+hREiY94CQJp@?J@L1&o6NDt zN#QstX=xGVY63rS3g;mn1`@*zjDRU9_B@PW@{awluAM+!&|@KVJ-Z}XSuZj(F*-W> zG^Y_y2RtFa3wWKELv RT!r