From 95ca5bab821b12e2cd1da8437bc087b34b764d15 Mon Sep 17 00:00:00 2001 From: Annie_wang Date: Fri, 10 Feb 2023 17:07:36 +0800 Subject: [PATCH] update docs Signed-off-by: Annie_wang --- en/device-dev/kernel/figures/futex-design.jpg | Bin 830374 -> 80040 bytes .../kernel/kernel-small-basic-atomic.md | 244 +++------- .../kernel/kernel-small-basic-softtimer.md | 186 ++++---- .../kernel/kernel-small-basic-time.md | 105 ++--- .../kernel/kernel-small-basic-trans-mutex.md | 18 +- .../kernel-small-basic-trans-user-mutex.md | 69 +-- .../kernel-small-basic-trans-user-signal.md | 128 +++-- .../kernel/kernel-small-bundles-ipc.md | 95 ++-- .../kernel/kernel-small-bundles-linking.md | 87 ++-- .../kernel/kernel-small-bundles-share.md | 32 +- .../kernel-small-debug-shell-cmd-cpup.md | 63 +-- .../kernel-small-debug-shell-cmd-date.md | 101 ++-- .../kernel-small-debug-shell-cmd-dmesg.md | 143 ++---- .../kernel-small-debug-shell-cmd-exec.md | 52 +- .../kernel-small-debug-shell-cmd-free.md | 159 ++----- .../kernel-small-debug-shell-cmd-help.md | 30 +- .../kernel-small-debug-shell-cmd-hwi.md | 257 +++++----- .../kernel-small-debug-shell-cmd-kill.md | 220 ++++----- .../kernel-small-debug-shell-cmd-log.md | 73 ++- .../kernel-small-debug-shell-cmd-memcheck.md | 36 +- .../kernel-small-debug-shell-cmd-oom.md | 151 ++---- .../kernel-small-debug-shell-cmd-pmm.md | 95 ++-- .../kernel-small-debug-shell-cmd-reboot.md | 23 +- .../kernel-small-debug-shell-cmd-reset.md | 25 +- .../kernel-small-debug-shell-cmd-sem.md | 144 ++---- .../kernel-small-debug-shell-cmd-stack.md | 67 +-- .../kernel/kernel-small-debug-shell-cmd-su.md | 64 +-- .../kernel-small-debug-shell-cmd-swtmr.md | 121 ++--- .../kernel-small-debug-shell-cmd-sysinfo.md | 93 ++-- .../kernel-small-debug-shell-cmd-task.md | 140 ++---- .../kernel-small-debug-shell-cmd-top.md | 168 ++----- .../kernel-small-debug-shell-cmd-uname.md | 107 ++--- .../kernel-small-debug-shell-cmd-vmm.md | 185 ++------ .../kernel-small-debug-shell-cmd-watch.md | 117 ++--- .../kernel-small-debug-shell-file-cat.md | 55 +-- .../kernel-small-debug-shell-file-cd.md | 62 ++- .../kernel-small-debug-shell-file-chgrp.md | 63 +-- .../kernel-small-debug-shell-file-chmod.md | 76 ++- .../kernel-small-debug-shell-file-chown.md | 69 ++- .../kernel-small-debug-shell-file-cp.md | 113 ++--- .../kernel-small-debug-shell-file-du.md | 116 ++--- .../kernel-small-debug-shell-file-format.md | 91 ++-- .../kernel-small-debug-shell-file-ls.md | 365 ++++---------- .../kernel-small-debug-shell-file-lsfd.md | 21 +- .../kernel-small-debug-shell-file-mkdir.md | 114 ++--- .../kernel-small-debug-shell-file-mount.md | 114 ++--- .../kernel-small-debug-shell-file-mv.md | 130 ++--- .../kernel-small-debug-shell-file-partinfo.md | 48 +- .../kernel-small-debug-shell-file-pwd.md | 25 +- .../kernel-small-debug-shell-file-rm.md | 103 ++-- .../kernel-small-debug-shell-file-rmdir.md | 100 ++-- .../kernel-small-debug-shell-file-statfs.md | 44 +- .../kernel-small-debug-shell-file-sync.md | 29 +- .../kernel-small-debug-shell-file-touch.md | 78 ++- .../kernel-small-debug-shell-file-umount.md | 105 ++--- .../kernel-small-debug-shell-file-write.md | 75 ++- .../kernel-small-debug-shell-magickey.md | 32 +- .../kernel-small-debug-shell-net-arp.md | 133 ++---- .../kernel-small-debug-shell-net-dhclient.md | 90 ++-- .../kernel-small-debug-shell-net-ifconfig.md | 444 ++++++------------ .../kernel-small-debug-shell-net-ipdebug.md | 18 +- .../kernel-small-debug-shell-net-netstat.md | 88 ++-- .../kernel-small-debug-shell-net-ntpdate.md | 50 +- .../kernel-small-debug-shell-net-ping.md | 134 ++---- .../kernel-small-debug-shell-net-ping6.md | 202 ++++---- .../kernel-small-debug-shell-net-telnet.md | 61 +-- .../kernel-small-debug-shell-net-tftp.md | 115 ++--- 67 files changed, 2539 insertions(+), 4422 deletions(-) diff --git a/en/device-dev/kernel/figures/futex-design.jpg b/en/device-dev/kernel/figures/futex-design.jpg index f6c83d6434f3c68d1baecbf42db9a3df21568b49..a7ab34d091c5d6bd1a983d1aedbf9ea7a5617feb 100644 GIT binary patch literal 80040 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 literal 830374 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¬%;Pe1;cnDg9fH*@ zfKLg+XK%CM72_V5yMi~@H-tP_WW?Trl;i=0VcHy4saSfTVj3S1aW-hP@}&crkGUng z{em;Ree=%iaQdL?KKS)M^6dgJ)fwXj&P#oM;|Un}{K;22_aS5x6SD$|lVh4CES_f@ z6b_qms%5udvmVx}5Bc^>8H3gGcRF*}vygW_- z?;EEjDALR~>S$BI`~f&zwXtvpa3E1Elomoy4OrMDa^Q5z%B+$;L#?<3Mc-ZMlZQEo ziPf*Eo{@4mDSL@9WJplnHWXnq3YMG8k<77%%*wCB^E{_LZVY&*^Ytij%&KqGkR7s9 z41Fq-4={2#!Y?kUnqf-lhjvqt-odxmfa|a$IXYDjp5DKz09bOs|3Iwf?bSOi>{Wp+ z0{Em&f#hzOBcnaU6XZ7U)(1SJEG45lIwN>VAm z?R&rT-Tv2rVg-0NS2%C9O_d+%Cn?X{luJXc5pUtDuH>Yxb31?jeb>` zgr4f+?OFOFGc|Kb`P!~s4Bz@@bPX)GfRWQBbR<|_qRh25l}&n(OE&JPUFLzA0vjH6 zr(JJNkc%5K9$h^R>GF6~e0f(<^U{>~;oKN&3kRLyxslZ2$q6c7RqP;iSs11hCI_Kt zBrw8UswEv=!ohT?5@H-~{tf1q4B#5Mb;e6%F?j`OA*3Q?I)v|MX<|Fk-Tls|1pW0k zpvE&dz@RW57%VMx%ii{-Ew*~8?$69!NxjtJz2;EUJNv$LrXU zWYdziS~EB1Ps%H-S+4?cVw#ZFf$7Vx0An#9UkKEHS_f>ly3XkAThLZbk!g#CaY2@* zd1krQZ6wRUSJ}1sQ=9OsqkpM+#Wk7vt+tqt_Jdjdq98#7jY^Jb_h2I#)FFYq7cf^$ zWhy-8jdxx9^alQfIfCRuC)fq-du7fz)2wI&yW1Ye3jnZB)n@Ph-;no{zO5`N<#QnA z;kXi%|Kivag$08XN}vJxrjv3sMPUslh&EAJy`J{FK4v@u8URWZ1gHl>fe*ev&=sq0fgkc?{S*jm)Ea;-FL!pW$$+s% zyA@5{jcG3{$cl9fa`Ts7;I7GuO5Q=YNj89GP{#-^`ak-ZvZJ*WS4M z3QettXS39sWEDJvW$ga+ZaULbY^U1jH3dn%IAoc$_gJWtOT?W4fmf>XaLYzw9er38 zr0TQ4%)WuRo5=IfEV&DCMWSTkeAt(+%{&U0Z#N)?UU4JDzD(;Ggy? z(+EwJNMivEg@`Sbfhc)Kr9(32DcSHSq&HhnU{}go)NUC*NEA}h1&x^2S-?MLr&usR zBw!H|&Bc5+5w}3^_ey*lnp}AUm(j3I?V^?-OS&eu4ta5}^LnbFGg?$bHhp@eLz+bt zkWIQUYIv@F(A@*w9*v3!dldjHKsE_`wBP-l1A-pw0Wbl zSd2h?S{yu$wFEU0!wK(X4#Rtq_w`=$5_w+hWhAg?nHgBjNaV?_D?ddWr{4Em%gO3_ z9dMTMsJP;K2>ycN4}5t(2!@BF5N%1=P_L}N?z-0+u>NQ~SMq$>vMZtUk4ie8HJ-^r z6Sq_{-b9%2$vU0GAyO^W^+37CnLCWw9c`gb4o->te;>aOUQ}RYB7ep}a2t6I%&`Up z#EEr5{6N=ZJ%`GO!>S4urk|`P=30d8ir9opzX<7od0~1!$VV#V=UPeF9I<8?&wv!? z>hQRYxls0=cktsx(zR=q&G)R)U~U2ZqwafMoj;cOvA3*Eyu04hbX>;d4BahRvD+NAJiHG(ZId#J*^h7f%e z9Y(?$iL*kQbzb#2=Lx=5CPtm|Ax$)4+;LAUUw(I)SoQt z_D*De3-GPLF0i5zM$M?0p|lY5QKnioqsyTB6oIxFx>)TU(ck7HmQH2v?6O>soivI` z6fXp&6ruqr@z5K|+8vk`he7Ar9090P&Zud@L94?-ak7<)_#X*P7sLV-Sm=3v?~ zMS+708ZLqf0RmFI?fPJGeCX%O`c7gYkZt{5F$6zr1PAe=>3Wt{4hybyeL>NQ&Pz9H>X?%Rg(wYB=P!#&g-kc&Q2 z3hq7^j0)mNMORvLn*rc#NL4l{Nxq?Q00v<*z6gEhs?1mK1OGzf{G6)hl z1|)zz_tA7QvzO*fZSfR+9$<&05y-~=UXvfSaH{Ra(&_&056&jT5+e;>?ff>a!Me=3 z_CpuHxl_?=^*SdgSdOEDY^VR z7>Jl6r?XnLQOS%8Hqi~~*?3EzdRw33U|hAARwvj`33UhLyA8{(Mc>7jR{ge6PZ+Rf zTN@mSX)4ddqI(eH38Bkyvl!F;>$Z7&__QsUfCb^WQUsuB#cAJ=OMGCEI+E`x{Wh^Rz{M?GtX z432`25PJG~WOIa`IO1{oAd-<^;lVe8w6x(Q}k?2k$^UL zY64NKG)4238&^b2=u>H{Hu5)#4`p8zYH)%=OsyWZ7*MnZjAyhBnY4ZKsX_D-bNg8R z5I|)Hk_74UdSzVcYr6cJl8u|=AX_Ajvh;vsaoe`qb<8CG2akOO%BhWK~R@Zda>~QOthP2}k;P1>{)~*1z-af2 z2pKm@1+I0pvTYzTng-&oNDg|Ls>f=tjCma1-yBQP}5TjbPG;&J~!ULUcglrxn1SJk(^t5RFk_1#3p>!;9b z^a}p;fiGV0=m0Xp9#1v`MVu=jWWAqhLe9FAU|MJQ~fA!V9Dbk6* zI&`=Se316#z!iD>#5bXgi718*3=6(<^c)2i{OL!?$G)eJ_xZb0dSUZGuHq9&&>q5e ze^tqwzm~zEepzlIRj7zlln#;w|Jw`yw=su*uTPX?sZ4?2v_d|x!kQXMn<%ig@Jjt& z|Aqki?9@*g%6>)}%XpD8D;K-kO;s!#Au0XVcz>w;=QhMYjm&?_ntX?qB*K@rjJXOV zb_x_A_us=sLEgk|gZvOD3>>^f)q%RFJAodlZ8MP((ig)Mjmp^fl!@n(=HUMahxLc~ z|GO5zkL&zB62AXk$MIj;_#fu~FNUUnb^|}m|9^>h<@_-J|6R?^kNf_Am%I6IZT>%0 zQ^hn5RJf^~Y1U8G`~Xr)4V?KW2Kwg9$SJvl6SMMWTF>$1>1EvwC?7u?F?7i{g~}cfSRc-uG#Fo>xJ*Cn^fL?@}&9B#1*f;FHdZflYVT6i$OM6W4 zB)S~HyLd~Hwy!ET(kS8-_y~K#3hn{_&P?S|@uLBDY>>iv>8k}mW+k!Emr+`&gg!A< z3}fq0g1XiE6sJ4YZTMV;-0`bQmWMKff;?qfepPvQH066g@PECSaa%n6K^x>$k+=0k z?48|z;KuyqOww1CO*g^5Am#;L(`;uxsla_z{=?-Nx0#8G06%>I?CD;3w|?M&r~1x$ z-+gpnP-+~VR}Z7d#6mnm^~Z?)d8B`g*ne=1ao#xLvv}WFNRHCFo8=)$#gI2LMZ|f+ zR%5k7rE)gtQ&vr^b{3POy;NG5t_UoTXe~Q)>^Nss>EhHn`r36{C)o^5b!ulCW(BN0 zJfVtI#ITmRc{$|vdHIEwNAb?h1aJx-vca_E3_WIF4hfk z9}`RIL!h`iZM8CLbU%3!-VB!%aumB+&xPF-bu!s%oD0Xa4SJbX1lfqNwJ4v_`auxg zJ}fiY(lWNeIc!($qZlbbE`zGCv9K|BzrVG?<|gH2h(}~SrHlqbCAs)KQVbh=-VsjL z2e18$Z?y?u0QwsF!1k{fj;iq>^pu2v2OFo_pUK5mj}Kk>s=!7qiRNhF+S0x`p^z9OcXNv!0+3`n?nX`Nmp?P#PY!4gkzFZ*KUi(tJyP)A_5) z#+v|L7Hhr$7_8MFLtN9oa~?3g5eiV(YAL{9u+by62GEFwLx~ugm?@!QYfnhOs*s}u zC#{u}PYCh(kD|V++-%Hl@dD5EozuSe;Kt3-UsXO>#6w6A55^`4KZfgnjq;D-`mbJH z-$_J%H&PfMwsvkS4YJ`mv<$5(Eil|B$hkW&h4~_B&VS+~0BP-dmFy+!dZ61aCw}|GGSG$pHuUqyrLNPqXuIpKs4U9Y z`S8ch)~idGlikRd|NXIMAoYI_oaQNhM0EeR!TFCE_{Xl{yVmo^KI_NM^v6EyKe*4z z`Y~evYQ(&47bA4DN8t1VmlKu~Wy3Gt1!HJVjmb@|2h zJp(5h;m&QBai^`1A3M33U*A{Z5#PBe(rrr6%zgHeb?<)V{_;XL_a@IQFV$uL^JUI4 zytchXkN2$%&2>@xO;V(FBF0^;ej?ldMRD-W#i~sgk;m^WbgwlVQkU|?59cM>*3nfH zU#y;+kbGUkvaasp!o+7t>7ra){?1U7eX?l1EVVxZQ(yYsN%+G15cxkFg$WW3oB+Cb zued2=;UO5?3Yv#P>9j8CP&#Mz#s1XwVNw%12||<{?1_)aNO@N z{>;Cv5gAQjEkBRa6e}<_l%sH9`gips&2`c!mRctk+ON4Q-TSoQbkea_-rWzKU9M|S z4zQNWG!g?W~9w!HJJ?>%3pe(<_FZCE`TC} zttUJnE|*p`j_Gi4_4s_|66HC7M`q9XNSOusD8ijc7ok!J5I`?(xXzk~hD#uQ$bX>H zl}EoIuiO?LdJnUgnQ@}TEn`AMM*hy$>N%2($x_cQmSJCj1>>}W=N|Mf7mboh@tFvE zNMVZep|Y@H6PdQWQ`T4y8#AXV)5zA?$(OcfV#0+q;yG+#D2Hi^x=1+2`_W)mxC8U< z_oTbFazcaD1r6`_mZb1p_xMXUH0B5nI1ziEP|_h3^x*4M0Gv+b0ahPHlWgt9B7GZLFN#FP-ToaLT3T2jE7ryb7Cw z%%sAAK3|0uO0Q=TWht>CM12O;y%lp3({=qSX>pj9#BSC^?=LM@pa*^M`cDC8*Op}s zoId63d++1f!i>GD1&@e5h-PxrLt7 zN4_McCb89qtTZ+DcdlOe5FjoaGgW0vle5K17R#1aKaLW=zi5sWJ8E)X6geo~f_A9c zs4I9S)Il$fFQkvxQ7W2wPbvL#$AZjz<#gpOOUm32wN?m;4;p37A`W{{W_(PGuH`_I zd^-;@E#5LHptG~FA9)QO}5sGrX2vZG6DOnIHI?)OxsR)1=M`>$^tb(P5g^{oa~ zaU7N6v)r%XYV`X9zyXp4F-lotWUqtM-1BC1uV4UUx2y0HQHpJZkiL#6rDWjQ( z6ej4iMq_O>(4;OAN)#HKkym~cOzVnygJy_QW@3(MQZB3>gd3xG053f?#&%vmZDw<* z-B*=lOg}#$Z2(Q#Ui`AN%dxdAWzIQhpXEPVS9W=Nx_9?J3kwgX`vy*yro9{R8y*(_ ze7@2x`$)3Y(<#9Z=PmGEvTN$--f*X9&YN31@w$P&i3WL}#xv7iN6F*Ts?x{tN6RbA z9!F;yCWgm(E{$YlNUoc>Ek3$$YWLs6Hu7iYk-zx)M=v^JGP#v(&1wgD=Unc1=_~WYC|gz{t~hTJePv-*AfyedbL^(y1rOt%7ozst zPU)PBSWHs^h-mn&9u3*ktoVu0yBI)XyCha;9fsNzXYmGN`OfTqz@58anS*O$XFAEo z$|TGuo4Hn2ctv97w7In1=+46q^J76rtzG=WO731SuN=GUYGB2G>5EcyN=_-fEC1PWn@{YfwYY2_%W4^G<#f|_Eq zUy|CGq#>cDR6E@Qov@kN{TUv-E~2h^h~~C;Z4Jh2Ix&0EYub)3Yz3m=kxhaeo@7oz z&xmd?=j43UM#J1I+J;7@Y9Ddqq8b&vxpo%B^@2pdQHYp#4$~I3SDa=wk$;kPR)t(Q zP`%)dvTym-0@}yht4=*LW{aCl>s<}(g>fXoa-WmlS@z+fWplr*d*gQ{_QwthN7m5mLC)gv>QXEo0OfObawu#uKOV zq;X`^He36G0b>IM&l1Da85Q*t4sm18jDqXWZp**rH-6SDJ(Qj|c=qV+Y&S>dR-l`;pnV;(@g5hwB6 zjIo&1u>NMy^@MPE^y%&cXCE{Oo!SbSyZg;N>|cs%+jFODXgJcZOFkd;u1Iz;3>dEy zCK5Hs>rm~@Xg1;^p@Gi7i^Q4LyOm(~G^4qm7G1jrbTtzuGZGcr``c|dJOIrAjH2HhhU|94i<;xc9db+|KngorRU9V}z zHNmR9s>9+@#)Bz90Hjn`h4od%^?g`_5H+P^+7|Ltvf6yW+~YdjsIW%$C3@#i$|-Xg z%f==9V)M`}o@?z^>qWeJfq4`;9}+*4mp`s}>|}IGL!+W1bH!!7!)#~8&#Nw31Q2I=~6)H>0$;v}vFXZPGQav;c(^Q1uT17>OUmMA#-is)s1DZj| zk3p-$m$eR=(_I`9-;|*c!z4<5vH#h^^pAk?oQ+zg;A-Ov8|E}*ZGqwt)36otmkOfz zURrITlmt)*pI!Dkd@mX-at`xoEA?pdege(1)z5VnH%$&A@(hv^1@7oGzJYl`f6|Um z5yvG)9u6$`IR|Y728%wNtys$HKD#Zi0O(Sb`f|Ujr0Cgb*QHG`EoGh25>G0x z`Q-dHy_~oZC)4uI(#1AZ{VU3X+@3EF8rF?(PtG5G3*BtQ^fhp`DsMm`FoDsO*8t5d z8`%NPW?T`)MoY;i&Ip?iYmPM=GD;fH8sF&O0B9gGSHEO#m?Yc#B2Plo!&af`BI$I- zxHB3nW*abi_dY7CZnexCHH>?aJ-^lvAA`I(f-O8@IbkSYVaIA`>9)OV8KtFAW>jm+ z)@rK1+yA~28GfG-VraL;73pY~S=gTp6E}G|DQ68Z+-|2ukR1;nO=|yD&32yRF#fx6 z4sHfu5d>bdfGs~Md*2An5Hi?KG8&gUop}QFk)$ND=C)&V?m68>+jhzbya+=5c;D(4 zdiCP_ytOwZ;m%Im${)S7nvq@7;a&PTDU0af`sH_sI}dsr#737>m8lfa4U2Q6TCNk; zFI8Vq=2MQ*0IR~0_E9r^`DJAu!154#M%-l1Nu7D(43qxYMnVitZHzL<|GKrBfB3x* z`;2X6*etxGQ6XC-q+KsRZW5PI_#K12iWst!CxZW&Y> zewcLGasKY=;!1m+?X8YWF6PZYdFOgq*kRo{I(kPB>;9s(eKNed7T_kh{;=qZP=mQQ zA2n$ZBD+XEQ9EVZ&PSZd9!%SrA+z2lvrHrB=XyH%-1}&g(H#Az^TC5qPaC<~u$AVT zckea~8vf=JIncLa_pguz4GDga=@`l{puLJ+-{gHG4O#X0%JiRQu8pSbNgtrni+#p5 zkD_*Ug+fUN$!uSwUj)aOWlS0a{r|?(DiB~`waGuZt&J1*)=rmEF8EZXLF)DrI}>;1 zaV3Dih&qMnlGG>E$lXk9^fsbS6woEJVDas{m;=g_(dzNlRINbwq;_|9? zou$_0J1y%pe^70AM&w~froh9_>KC73u{@HE=v#aCHGxDgnX4%{BCekKZW0b8k63oXJbcUwrGU)uX*^TnDv5uTemVHaVs%)odGGZNNVX>A3 zJwN?G=r)7BwY7T79pQqNscAdQya7k->pK+-kFWZ4=*FfuswyKJ4MV32 zSV8~>u}l?z2=M{s^oD$Vn!y|^KI_DpR_b@>&!I{YF9*Xa1FVhYfPTq}6!2v{iqH#z7U*ggqQ z7-`llwK(vqNw=n^dJolhVRE z>>bz!+1hWM79j1$-2@#qrOfdQOLafZIh2EKZ^ayqGw$twP4y1XeN96H6*T8${KY3h zczBh?8F{+Dw)WQaUn?YCn6W)bZyiJ}K(=BSr6P^u*o07E)fwUPi|8k&sw{lh%Vlf# zpy}eiXc0x5kpR@-uHX7KJwJlLKl=tWJ3kP(dGP49Yrp=M>Mtl34d%Eh_r7877fuWp%(qvmCw0dehYq`uMAqh^b4i$&fw9#~K z-@KQj1uP!7c4irRMxq(G4_RU+9@cP{x#Y$kO5snuDB|=uojylwp$&~FeDJ4GSt0vg z08~O8UW!orn`(dc_6#6Jv$dEj`pq0R`|n;7Z#7KZ*8T|)@i}^jF#0Mv31i^r46#9oH+R}~2{p0$XfHC0xhX5h)l+6iP$go(DH*^De|>u8PB#?r^7 zvU_d5Ew;{u?n3`m3#Y)~APjgJ?km7zPV4cIFG8;=R$-n>Hj^kJ5*UD6wqDjed`U*^ zmp|q(`uSdFK%fq8FgOY$q%e=RHh^ZjcG1E@Ukq?w28E@RXQxHZj%llH#5JT!0^-`ci@uOB4PC$ zRfdN|pC{Bop+@5=vc}la6kXK1!AqxO2&})EjC`Jf@}fabtb{-qOgk`cbDEPiFcI2R zBhR?k{fZiRCeYS}YuYf-_=TiA2Z?$Bqn&;ur+bThIr?5^A+k;`ONslcVn8{P(gRBx z>ovXF`YZU#MQy*xD(Y!bnVPcLgfT-;lb>aw<>}eI!axCE`P|?%JBaS>qmv)xKXsS= z{6HlQTaBI+NuvNkxG}Z}J(I;13u8f^%T`lNi8Y>%DDUwLV@1*_9}J)vrbSk-ipp&N zH1kv+pBXBL*Xf^c{ToDJ|EA6ZO5A^-=iBtlWZ+->0F@ndNU9)xRhdH>^YrK%Qz(`J z6`KdFCZZgyhw1Q`C*#yP^0~hYtMubKKh$0St~K!AMD_Jw^qIY{c9sa$8KyhZJ!Pr! zn4Q>6tC!-}$#gF8ubg#l`Xul70R{z4*?0Hv+AqDqm^wQBoQ;9$2weiChyeAjC*m@^ z8vEvg&f|aR>34eY-zAEr7yC2;&4rnp#ba|@l1S639$ysW5>>pyl7D&gPYDgMCD|0P z>jP$7Y0Os@f2tL??l;LAa+P9j&Q=sF8CZ; zkBKN(&fKGH7$Glz9RSZYtG>0pC;OR|U@UX3&rI;sQ7l;Wh9d|b7nV^l-Te#?-b4xp zq5Bl_Jmpr-=r;}&(7&%F# zd|?bx!%{rwHzDRA8;`an99cN;dBb46pgdLe>QBKYHy$2*g9MHQgPGFL#b*p6M}WRw z9q{SX)RdW4+e(G+fktF~T5RLIsAXY|^C{CT*>PIUD}VikukN@EaXBtdz=OVtLtgSy ze_VqLl(!+#9pY@;z$tlph)VK%@=sw zcfbM7Uku2L0*EDWOc@E4U%|C0JsZ9)%r(llpK(IZ0IXL~ee*r5U}nW&>k6XZUI6q5 zygQgu6*B;%JuL_19-&?!G13*3=QcpG8cS;A3kAXQ%V~XTXTtq0IYbK2Zsu=SuPSsi z?@TZc&M5dabK&-hEn+G*kDxI9AnC?VC@Ua8Lfo<2ngYxeg%GJ|;OA``4^;V=nI{># z$s5gm53YX^s0hDvj`AD?lQqgKWZ>|*c|fp&(j%0=P^OY<7c*Uy@%V~fXAyO_2im)< zrHr6G=&t**tq@<$YR+6Qn|}TlO5;iMY3}|uzV+bI-G?TYUA;WOGHz>nn+a2RY%Sq{ zu$MaABZI}M!z;jy?o>XiB{S#A>{Bn|dYC(yUq4m{z7BDSU$t{_yQMQ-9)QLMs~_ks z8W|nlSGUDHz2L)mqF&aWLA|hvo!QfBzUA2x{8R+X3M3IAqR+}5T!H;ExHa=jz_?C#$pv+<% z$CU@yFs+n#N1ZZA4Ma_!y`{-i!-2JPHf5KW$gEw$7ZAp#{0&ZS3JP|oQGzi=FTI;8 z-;R`?d=WD2D=$l>RbJbyyg_1GAz>2Zj6?Gq|5#;mouE75e0*w4Ub109%g>vuiPa#+ z-wbOo!nojrgAg@2eMOu^q`oZeg?nPf(uCv3N}ugNHk>QdPYzlpt4JJ+KUA^3KVnP0 z*DBfcGKr?w$E!^d_Xol%x=2g;^~IF;FlGcP=3<+b1>g9yDuHZ|u73r-K$bF;FZ1TX zrB>t7A^C)1BUi8>2qDs$DEtJT9Tf7r{o8zpP;m{hp@_NV(dD^grui9*x$Zevyt7{c zC6(e{Y#i9C60imj0I>Q+;=>dkshcekHV|f_)<9MHw^e1(^pEbU^=334PDqtF)U9Va z<_|!#LMgH1`mP3{vGKiJRAC{e46Rp8#nyM0Hfu9~0i^Rn z!4!Vl&uJ!goSsad0rqOY@~w#vaw;6h3QtS#jHO z^Tk(owrC&ddQ;p&r(B|-Yc%kk9&%7iFP?`~d{uE7K75XV+PL8Rrh+$t4zl2YjAg70 z_Otmv5*XkQYI_Apc2c7#74VRng27<%0o0;b?3IX&Y)x@_X=Tb*_lM_De4&ed%hAT1 z{pc0LaOtAz9_di~*&}N+=-+TdGik1q5D|Kh!CQ*owz&u;gs^?N)6ml0>7=l6B}Tni0(?sHjs0nDEe`NT$TRq@Lo6$>FzmnZ0v zQsn?1R#{5-h(vgv^%Lt48nPFTY+*#MtDXO`PY2x~)2~mnx)X5vo6M-Uh-N%UoWq*J z+*(s=WA?@-BBz3bX4M<()pms{KHAz^4I7Hz$7(g0xzwM?DN(M5xFkqa&MpFA8n!4k zlIaK>#YMIz*%*IWgzl@OU8IzxCRY38pka-DGi9gQIsSxxwd&P((VHJ^*eUpY_kgs! z8h4pnkp_0eEhl=oZ|ItRC1^z9T0vpr4@{nxD+>K^u zL5BiZtB~AC=B8jdoq+c4C;?T_Qjo+yW5ch#O%Ig!E-xt4fU|KcAeK?Y9ukXF(4Seh ztPY|IS%-1j(V*{zqCu!LY;V-8xZS6OQ-W;S&S@hpLxp=wn@yM zo`h6S4bPF=P3rP+1LU! zNhIwFeu5LxTqH|GYoNrX83|(z<#AO=b7JX@+C^w{U7A_z@nR%1C6DHJmX)geys2;- zX-O=9t?_)>5}VxUQp(u9TZGSb$}(Fug$EO)wxS-etQh+8P3Sf7DxPPT9W9da3&@(- z&*&AqdM|AxyX!pc(_{lUOWSj3lQGAPSsW2*=4*l9X42HaTLEc>*XFMlIF#%uQR1L^ z5+q)^BFbngwMPTkhe|1kwd`02!NCTKI&KC2n!%#7uPQ1)o=T{OtLJXzk zRQrC$EWla?6BQFeR{=?Q)BM2Q=<$iJy3=euKv#UKQ$bDN6-4vwm=4QK_acHXEUoLk z+riR2+zb@$h88QBOtV&&39A_@rSUuuJC^2ySXdWZFC!$B(lnU+(V#P-b{&ZySrjy^ zu&*0s^WFrUWo7&11iJW3#T=c+L+1Hnvp~-lpYryjD)?sj7!kFu!e?z()?yZ5bW~Yg zpr!$Jr}X>AV3Re-UAGfD?^4~ae@yeo>^G+=uvrH zR@~Nmg_Lq)ccLga0X_aW0;=% zfw0q`2lVw?oDC~_uKq(40@R&Y&BV`Dv2m24$9Ow&0z@==`AWksd8!4K|nIv zJR5D4aN?{ZDQEBL^erxquHFkElZ-%z zm)O%T#m;f}wu8kZZ>!54H&R+7|8*9>1CJ9dgKsmgbFFBz0^N7Q*-x$b)n~8A-|HDD zC)nL>4hoy>wZF-($~oxd{9g}jE7p(k>sz7gInUt>pp)gEh2Q!EosJ6SMK-dNtqd4G zdyZ1xj4pqVX~QBQ%{C}MEOQuYRBZa#m7gW-<4RH{Gx|4w*5(T}$V>e9xhJK>Vi97; z!aYt$;fLiNp=K6)+DN-cmEk-=A?LPmC6DDBi*A#Fgl;fC3#{2A@s%hU6sv`@5W7!I9#Wf6knzj(V z=C4@DY6CCpsI+HL&NJ}3!(10)s^B5d`t|a}W-Fvj-)uj3YWx!8mFSuNsu@F}8HY)+ zl?CI8{pnj;tsF(N-~qig{#IYWzEkxD^uiqeB!|XZ2H%kqCQ`Y=-bQ>@kMd?U_;%`h z0GOb1aaA-A(U3Sa&@WO{`veNHFeL{y@eh&_`q@dq=x8zYN3rdy_sx;>LoM7 zI@4SeF`tu=cc}8Quf%CX1~h7j6CiY#0ElNRremix?_EGcWx0~^x|sb*u-uV;5uc7U zCbn?4Z0({6R+6WzYny4&c-$=ARq?aS_8?;w!hj2|25idmVldC3sk`SKs{wEpzJO;1 zN+&RIAaWJn4VMu41aztE(0Y?-)_QE^<4TmGSdL9a*UKE7*o}Sqr5&|IY$NJ~MAaE< z%b?imLpiSp_Knxhhf5!|8tzTdbk}e>d7I{6*;JJNGZ14>AM3BfS0Zq-tz8yc#r0b9 zl1UR&XLs}RJ{X%IwM76^%oDszKVj`LU_dUr`^xiUWyZw;wU|$TybC|G@sI6w=dADj zCt=%v7h(@z@b7HR;Jo?w_j{;JO#X{N&L8LfO%i@T#{Zwe$+aqI@K==;&H%bM^n@Zx zgC+pQ^S+e|{9k;bqQL*^Fv90Z-TJue5@i_~E`{)0eX}@H`9B}LMUcw>*H3)ul~fEz zD3)O}^eIRc{LPxZ7s*Oq%kQFDvMh1qxg+Ot!d6{ka9QIEmnr@E>^!lG@oJr#{2DMtKZg~BaBXe z{J6ZNBJI;>iH4JhUteHi`VH^Mz8T(oTAeIgiyd_QZk7B#bpO8EVHHjy4$23PkSJ3) zh1Evn3wt3@@`ob);ieWQNQH}|*>OEtFVNxYHMT$F3#+gF6t=}Thq`in6Rjbs0y9tp z{(7?VmifY3Wf>&Ozb;U|x}42dc(^eGmDz>H2kRVdGn^!ifI#P$aqgK%2QDB4w|-fL3e8}V>2~cs6J}gMT{^%b{v}{GxTr@dvl>g zW|duc6Uv@F;~=5+s|v_yhgf5C9K>Lb`;`U9$x8?1RU>zqD}cB(z?rdLotM++yh2U3 zBU=^Sx}KRU>@vz5{&+v)@NIR}D5fyNhS!4mfsYad`I3lNhMlHt{YC^9dqth?-(W0| zcLCQsCzM~oS~H$Guk?{il~U)N2J1Su0!)e*MU+6%AUB;f8A=V7S-6(Q)2nrBNVXzQinw8M3DPF4*qHyEYpya0Pe{H{^u-7VEv*tR8$}SE$BM_qJ;taF+kx`24b38Wxq7mM1N&C@cTQwh{A_-n!c{OSemsbf#@@+53x%j>^ijDqmG76g0#YGs;l7 zfKr7KEV?s-X}6K^AljBHWufgE@pfZ1sLR7T8uDSQ4zLLAJ3ehVcARvu?b&jE-L!3m zu{;XmlgsDC+dLpISLTBkG1omMeyrjBF7V9^%ty&6*jbbpw__V4ZqN}a5cN9-vb42*g!skY!R^W&G|H5U$zp~K{0Iq11 z%K}hfBOr(~j>K*&E?3@yk5H!!8o>2$q7Rm(OMHh~#HbW=kld}w+%o^vAgsDL!n^UT z&gUjWs@RbkoOP_dY+m*1z(8fV>k}ffkMzYp71JpJt$^PsxjRGAq>aR>5VwYixEfgl zVRwar|Da6O4Me0drOM3VQOYFN%d~AD7F5f2g*)Cx=nd%_%P;s@Hpj0u26{f!}RvAn9PeL{pKB}mws>p2pG~;-|@!Qw?-U%d2()uKQNBrJJGLGy^ z-hVVHZT;a(ZcDZu30=9J@{B#~4{{h6za=doe@a{`TZ>F2CJKv#J{8&VJF7(SIrpv$ zw@}aU@KY^Seg4Kk%i@Bq8zJiSwUc@&qNXjIkb=@vIwi<(dB@_3%b@lHvL1jB3^@)| zwn}id)L;(g26P*m=V2$%L7(iwFxGsOuh=LAI_u;G=-D>L+4nzZ5@Xy+F_?*%GLvEV zF499H_|O_kF}T)YrJ*PD@YnMASPnm@e+Su3`;af$p3UY}VzV8Vv^n1yDB3b}d#lr` z;{7i!HO}|bc)BEc^PT0Zo^QUl-vCG&=P$0dhu>qP=Z6#YQ zCY`sn6BTUXSM=##_N2SL#QgL62ClEj`B1x{Bh+c0S%FEy+av8m4{kq><_Vsyd#Xb0 zqz{)UH1Ov%WS8)KB^%($T(Pw!KqF&d#I>#3IeQumzpQo^N$2`K4V`tVpEwoGcgSpW zN1Ee?f;eMF>!qvA_i4Ir=?GMfVzS$6DNXl!mU!!qvFBjLgPgIv_tzuSvb} zypr|;=`y6OE53Htey96x9Vcq~WxE@B29imb2@Sb82t`9fTVD ziPa<_7zUJ|^_4?0mdz#(6>Y>k=L&P{;)ntKX+T_0V4H!ha)NCpgQJ!MvqNv7n}r!%FR))HDI z^N^%w_A|5A`bwtPnn#E-=~{L{=B3*o?_IWpJB@TEVb?HSa9NNP5nU(FVs1+V&G=FS zRy(cK=;{gE#axypfPKQ#7&b@4b2M!9|!v%TE0b?7BY^9(;CVazZ;u*%~R zvHmpBB-0gBwFme8(b+t;l7=nach-Kapo3qYn=9P=83&Mu1L5M*D zEQ3!)^!QX*51+~~kvk&qlWi9w5Kt)Y%R)-TaCE6q1ARwP;hntongQ`CYUG6<*H+SE z#b{U-Uz|>zDPWv3T`mpvlXkiM5B9!1u8AyN8ygh?B_f-GkXBGcKw1S+1mcFYB1T0; zKu9aC2ock^&_oF-6(KBQT5Y8TAtC}ILKF#6mIMgP*oq)q1cYpEY^F*fl%!IA$2;He zcklhC=iWPanYl9`f8de|Rj1B*&wJkWc>M*B8V?eVA79|R+5S*sm(!3Om<{_tc{>4hHo|q+z~1%W&~xQ0 z7_pk$+@s2<;tfsf&?kt|wl?=!VJB`q8{bk1x>?*EVfn{EUWe_G#Ns^qgAl|j6{1q7 zozFPf(_Gke`?J=ry?ggoL|@70gzEKn?+fhh4h+gU_;X-S{m(&l38~BX-Aps|S-D(q z#g@lKdp@zj)LQ_n!wYW&$tEJ|$AQIw;ZB@Hl7ZM*9Z0t%#DQ)T3OgE_8h05tg|M%I zw!aF6Lx*yqa7`|5@-|V>^j0w(;w!$w;XOW0Xiu^KbODgudI6a{FB#p=TmveiClDH_ zugt|4n1N@lgr2WK--5vUP=gSQI87=r|H2C?Es(&GZ-;@AF>NE-LQ`)B@!tUS0lZNW z*MG6#UC3%Az1Ejp+qDWZ9xe;Au(TENf#QiGn4xPMR`sxwt6Xk|cV!cwV?Me2-vyrQ zw@PgHMhGfRcB<@`R>2wYTwoj4>i_Y$+QvQ)z`FCeOjkRc@KkehTetI4xiawTmsN;$n6f)_7Tdo#p=YGDsY4;(h(|{td7L=$7`Bz>PLo?mjH#=V`i)?5LfONp+hcK? zRdJr(pq=Hrplfp!yDBx^>{n2a0-q6}w!yoF{FWM!zFop?AS7|h4#y)8q?Y5gvA}TxFCYxZBPhr;Z|L6_14_*B;2(Me|uEYooQyhY9yXB{2LfiI~dWAP_2#dAPHT> ziH~N_V*bXNr98?Y%ZD77w#dyI306ZojU+SXf@K${8V2PHJOB>2RP$B?W62Q2Ta} z^g2J=M$iFrbm7Ea`z>&DSMKrXNLeMt5S#a~vi<1cm`ffj#FP$CgTBWr0*@I6^-03T zF^)8I$M*d%Pp0pJ{79wj;Re9#xI&XHn9F=hnzj(x2Ku~aze{Hl;iFb7k)IwZIEK9g z{EDtZ?i1QcIoU8cc+h_pOc@-%7#?`a-F*9*TZ>pMz`ZtbYI=HpcsXao^Zzx(#l(8E z|0sp^73>W3ALGSdM_l(W33ey{ZTz3&IG>!i|K526zN`WC+D=&Rt@#z$1Z2P@ZIA0U zP$2Q|Usy+ko_qc0hT#7xiJpn;nZYr*ZUQ&~HsO679=VCE&+tLmXPhBZK-(L71k!Wn z&ZJs7asm-{Jj02a`-gIY6B2W_EUJA@?2j(`xp#TZRogEGy$G@V1F2mgAfV~ML#hJ$ zH;NI4J}$vqNpndDDc!m9f<`Cf#lH#`0T36;Inch5pCg~=Ow|XDKy}w}m3MxG+vcLe z?t!a61x5w(R9T++M;#m-`bUa~BdyPAe_DwGyF#Y|T`V70o2kHwbv6dnI~Hq3^LxLo zK-ma?3(OmO+WmoyE%cm$o%d{Vh6Dys2u#_aG~r%J9v>R;=g6+X>*&gS+y*7A}h7zE{ecY6$>x zMaQ8r3r>|0>VO?{ik`H=!E-)cyDnSj!R+$~7f@wswmzpfeY4!EIagczOi0c;;#**r z=qYi+K1~tGu&0d?x+QfJ=~%1~TSO`)*OG_P*Xp6y*f+dR<~O}3*ToBWr%-tVQ_uhQ zTLHE~4NMolCeIV<^~UwuBjXMfGQ<_p;zp7KmQ<7?LV7*>dGADnjaXq0A` z?;2x=ANJ3<&(~-#xj~SPe<{DzSAP>uJWQGo9V4+xv$qbrCc{OtCXq5;?pGVlzuX|^ zd?|=dIBET>;*A~W7iK!c4jfF|NYYfmL;4iAL6;*zipb`Y#vl;DwG@2a`>C|)Z0XAv zn5_^E$lHG?F{D4(6vo&>{`1TiNmRkC$>nX|2x}6cWW7G>cEb7Av577R+aV5 zAjR;6Yoc?o>$8ye_MvRQw zY@nZ+WnUk7Mex9tHHR=Cec<0pYFi~R))YX}Ys7nmkt~IWz1(TU3wYO-Xp3URVk1km z3K#{n#ES9x)iwDxpnK`!yuA2F$KN#pbmDbQ<9+fUGK6n*Slt22oj$}cS zJ2|1&G>rkLOb4Hv1+q3*%b@xYK*%YXup}KJV9VWrtUFSbz{322gc7BK9qgwizOs2j7Dh#rh?!2?0rp5aLdeDz(F z<^~C_AL3vB)y5Zo z07?Rc##;x}>mXUOnDmM2jd{KPAL&ouZ%0u%55@6#)mhcmSy@%9%CFvQh@?^@ zjeiL04XQ~sHdVo!3XQ)J&AEHr%lz)~n|Br_Xld#GZ|Pq8@9Kh@ywBec{`sFJH z;iMk=+s*x?+)vK^qzwE~1}62;$a=o7%reE zwAsJW$`fU&O_&`3l7@7y%)(zFcJ~7fRHoQWr2mYJYjC7%x%Q$rMa4sb30JQb1UBlw z3<=(-H|v@G$ks`;>;DEI&_9D9Jvq0NbNk;T1AkQ{^}lG*gz-?X1UConyq);r}!$NPNo-GYMsR9-N0c*U3FYGAO zxJ0Mz(p0UL_RfuTj$9?5i2ZhC_ zS%$$QMWEza#3_pbJW?dgSW^gElgmj{gkeG}RG=gSfKl2`4ePVkF+$>AK&LC<$f{2S zUHw3^1pS1$cTsCmx_CSzI6p0~554SD-JahuX797=+>;YVPO5-^?*B6R)Sw21)U^S^ z@02}CRRPLZ&%;|t^JvTk3?@1+7X@7^Xs#>)r6L>aCdi4!_*}+%SX`$x7ZFpiFsaf2 zrG-3ftBRCYTW?81PweU(iC&$d@N0X|b$-Zv@mVXk?Dw0GC~rX-wazVoBs1xnz&8v97 zOi@-@QNDTh%dKquT$I*MN~1qEp9}H;PGAP>aS@5f8ZMNwU#!IE5cIJbfRFB3r=rW< zMeT{YDlA(XlsyKDrjV7vkj%0_N3NWXswR3qu1BL~-09Q|LL!3@E+ftvT$SyF94lB{ zBsXp!Cdp>wJW?3ofZ2(p*AUMLoKTtc4}$qv1ma(-Ok~=iLRe){6#I^$i+JycLz3?> z*1_NVmtWrB6XGREalL73d$7FT0uy?HB5XJT(cXbx0d&*EIXviGMN`rkVH#ar zbJU%hg9g?1FYmbP7)7&s=V>7>;ITF!Zxi1JuNz1XcNY8gdRadS|Kau&Roq{d8hGbF zi|XWaC+A{P2L4$F7*pW4_^wQl#ppf_)dK9Uv718a-92BLoPO`Z?kVG%zryqp-@Jxt zxc_%uq~TZ0wa^eC=j4v2aX(zw+$A01q!CLY%+g-Hp4m!z&{UH}Riy*{uT;gOsVAhu zvsRXE4F8fLPd83I@j-u~%;TWGqkYZ9UcNl@K@J)d(uw)57;rn(-Vk}S*`qb3(Y{cw z=>$zi7a=L1GkUruO@baFQQ3I3^At^!|63i*L>t#T0|QK=m9Tyt5r9z4lM&8a0a&&) z&u@+pr#V+UN%PN0g@))INkfP=OsOYW?i(~uU|$e?%~;*G5XJ(%MQK0w4-QK9S9JL8 ztZ2(&ZO!h9ee#6Z452nO%mn0;Jk&qo?b$Zy8a2o&)qdk?&1~e%EThFU?a=rGh<}4% z3aXT4t=xk!Q{}?1js#N9F6>|~qT7l9a(rLVHpG*Ew;^)YXvM92=qcGqu?_#i`y-xP zK4vlRO}; zbQ&nh!br6lX73oQrm2I}M#B0Al8Y2Fbvkty|qma^l>f5W7xiq9Og46}@Ot15>ZnAu4jMH!LWOz7ye(e|<*Y zP|UlMry1$1zRP)RhRp?s@EU+qQMvfDmgFH<2?fLaME9L0Ri2CCH}Uc%kv1nI4~nDG zNd7530me3$f|_mzy|h{3w#1)a_h5-${po31&?PX!ITpCSEo`Kk3Z|kEe<9&>8@VjV ztSSH)eX2_^WkfdzjjfaDm$9dZ(3`xwJeM<{3uk$*7+6VNW#xb<6Gwd_SCXH*TihAw zNxqM);zk=3o+uC<%}B_7IXD|S1)2?s=<1cKKyd$Z#tDF~%z@)XJu{j0Qkh)l(Tes#2cpZyV-Ozb#Q{a)gH-hE`nY!S$1N z$re1!w#nMD^}erjMD6!KNCtXyP}|zMC*h9I{>audZ)hF;#c7tHS zCE4?ky&vv6r&(-mFIGki=b-6<70U;3BFtwwkNDNQ;d#z(Ke6-s`+es-V&y{+Om7;_ zD;ku{UWA&cXX8C23!I3#B&yU6B*RgT0o`Zw^U>z%PX{k~%bP=fYY#*`ni4R_+u;+d za*AG1&^j7{vMe(^dU0XiK)R`aSC`}p2mXQ5!1)5~wgZv^^Y#G=o8#HiD8{Ftx^P${ zG^@%^@#GUPDav;tWX|w~1!;)4Tv?BX$m9GscDRtgVwiT^t+JH{0JMEH|9RD(LyFiX zzrJJIS5#Eu!@@A7F5V<871lvB7zP@S4QdS+$YRcncC<$kbWu_ed@QY?F>uQ=8gDIf z=%oH&g^G8Z98-kGhjawK-7AhR8X5`OQ&}Obdid~X?T<=a7qod!8`7KuXevd4`Grzq zyjxQ$J`an2?wnc8R0DW*$F*Bps}9|vGaF?&RpKg>!Xp{as%32RfiA;ek45_g6Zd&8 zcwQV9)J$1ldXGq@btzK>ZjaCdaC;NSaKv3#!AUVf&FW4mQ;lSAMHU{~yU=8XOKa4? zm>q!A%5rV+w1zL7DMT}OrSy%A#<}_-%hC*T7_HrTa$o1Il7Dg$wqQ1J*s!ZQ5^o^E zyJ;_i_Q23-<{~t+zDL2>$dNG%Wfnw&2w}-Qb7c}^`r3vG35#KSykKzRY7RmZSuI2; zi2@rR=k!3QlrpDji#c3*qO&;psHyRJp9Ji|B+UlMzDR;>rSTTzf$Wg(-OM&M>*o9r%0L%%7zmN;8r{jTEK znL~HhMWucJSt~Mdu);&rn5D_dTOU?5;F>Nh7T68`9ew&AYN>LS58nQ>XhD zIc@gf`10<7K&$wh0p!Anp7PunJHy_9aMh~zzWq;MIs8yRe99kQ3D)_E=A!2^s1~46 zNpm=QLg_=wy>wPvuZ*0=Tv$c~Xz`JA9D{t}#%qXv;|dCK-V1tdRMgc*k&HbuE59Y0 z(DU}bS|`!dF=%6V%q>prglaW zYXo*^&Iwsj^$L3{=|b>@tAIO!O+!o zd>)dfdHu7_Xec;a!0~ZbhBp)8J<4Q?2}4)yh#6^$BC7!364_PYfc7G!8p=#;5qvf% zwR*<@Zt*-SYvVS6$xfNSAB}HN-IEOUSh1s}Yb`2$^|w`3AS>vnUUhf(;m`cvNU%A8 z0{SuBg6p1Cn=@8xu3`G7>4j*i{ys(k@<48KfupkEB!AYL8=d9ZNHV40Q8ZtQt<7K8 zb+tz)!Qt5ZusGYgjLqxM{O>kOizl={&^e3n7aYU~4!{`m!u{N$`GQ_hnpnikx&-U=9e>=Q3i@_!y*R6H@X> zb`qcU4lvw|QR7xfYSR1X-|IXeZb=g?K+X3pew1FXA{3;#d2C%1n)q?VDdKq@pICZ- z$UOGQ{h@I)!|;inZQ^~|Lp!hPe|t3Q;}NGr4+UAT)h=awyLxXuy7K13g55FU44xC^ zZ6R>V8=%K~!K}wX-5#2oz^t@Ey(wZ2W&$WoXS)L%XDXz5h`GQ*-%b~fIhAssQ(rlY zwE4Ni`)JG1fc7wW=8!y&=+l1p#-pkZ+87z29!2g83|IZ^6CLMK7ucKYy8;*j7g5kb ztrN|x!L`x$Xqcor3Jj=Ccu&Pxc3wAuCZXpIq$;-fEM*7@m@}N0{;XzTOX?gZy#H61SCTrFYXmz(J3dYE#9b?_mK~oCW0}5roEuNkFJ`Ovc%xq%@ zL$#TlaACIcQKlZc*8J^w`_yylVa6_F#*)}vu}=n=i55Np&Qrqq<5 zIyBaF9$!MY-R=9MrJqdjAo|2i^F0k`Uxb9SO>-RU)Ax39x;U8S0vT;4uzaU((mZ7B zv}HM)Ar6N4Q$Xfx+vcniA4tN*kXGc(;}IjrqGu>pUG|CCx$LXVli#0XJ9d-b7GU#I z0ge`$33f9A6nK5M0nAUL@ewC3I*@XNkOwtvac>`sPB{+Dx@i@}<7T53_fl z*}ti@**PWW){iyBRwrzZ64widFXMWT)E+2Hbs1d*wc3m>oH-A|k`v(4dn(US+U=hi*lP~viXG60|Q z-xFy5i(pJs*P z&%70U{64?l4UpaUX#J6T`A>rido)b36vE~gs%O)MssV8F@4_fBTSS@}g0{$8YFdow z6cDBflSMkZJSh$f>10|2QYXC6mvIR1`iUv;$Lj^Q9fCQ);Verq7LCm!SEOR zauaH=h+A7T(Z!O-S*R{(1fK5n4Uj&z291Q@C`6&^&@E_8L1xh?50Ruej;+i;lB$@Y zK+Yk>(pG_GL&1|6#I|-F(Fk||=b?|kP}HR~jXDJoLD{3=P2%T%)_S`{IR3pvJ#M1G zcj$aN3)NmBefUMf=BU0S0#^|P?G6D?om}x*%YpQQrAmR7m<8y40*=|8Vqt{jT)!(^ zQ0I7xm`0p>G!*t`l|6YBMLH`n0!*m(a&jFpm1)$PSP&LoLZ5<>q@3RK`C?Iz;N`%Gqh|{)l&zl{vync6aYz zfYRhdEjklLZMS6Bo42q=mSI0s7!=*1|APM5vKKKazjpIT#Z6124P9gUMMe9{25xJk zOwE0;iiAXAISaFlMOdoMnmqRa1y`Tpib@cfbJ~e|$N+E`z4Kgszr0$LUM4YTxRkcK zkmdrUX91C)q1;^t|HLBoVk_^YR=d4<(_g#ygZ!Dw>0K}WH84rf20+gl8h{c658%&) z8a>_zTg(!~gQngEY?#U(qAUzEwN}lA^Q%kHkFr|yWDN3Ki%iIh9Frt5XCcDcV*l+z zbgg>R3;N-f4IRe-GwnOKpRU}b2Q``TFAjdBdw&a)&+zn%m%gptfu`?(n>zo=le2PF zPXYXKLARRJN9Zwf|KS#d@6~o!hI|K)pXC9>EM1IpNB4d4_Z?MJ?xHI^yc+|LRPcHH zu4obgeNx-wZe?|OZ|bHtcR$5}1IO>Kp4Nh%Ex>gTeb(~&sQLm;Bq~sY%{jVMJhoQt z!7zro!(v!p3Jt%N25+o4=bvS2VMH_>_N(nFNL^Moq%?^LF+u&M)n+vUs}6VHxZHt2 zgNrBS`pwoG9z5(iR#r{e++N}`Z`tAdZDm7YDbI*+(iKF^$`DLdJ$yxyh>>8UTBuAs z;-?@ON9@fA$;!n@Xoz5D=>^q?iN?lupG&l4H$KbV_x4al89(1r+XrrmuUeOp_PXk7 zOiV>k%fWG|-L(NqC@q@Cqs^$3uZ+B(9 z4?3y1Fx=-uNS~IS@ipFBDa@9T&vq-rE=$w2sy{3}Hk`PE#N%xy)A8Ru#heV90pV|>H z%AU=<4({tAn8yILd+}F=0PkxJc!%?N8&2#T7JkR>wyvKzd>M|Bt*VSQY)czw(IOe% zaHaHBdB%^ALyLm-sdB1$g+p~0=EeEpa?bu@6`efesm+TC$C@#*s z_&nb3>-b$_E zF5_8#_1oa!+U5xHdc;9x`f=lp!CmV$kzjpRK+;mmeLiMF-G;c69(X=d_$g?K{ra#@ ziok(x+bGcOWH>@nYKv7`NPq7Jx9iFn@Op-Q13lSiiUKIXsDFUi`4__=U(*8jn4ec_ zLDmwO;g4ORp|&xa%aR_DX5K|U7mc5@0>0nHP!UHp`WKxUCyE>S2J#%va$L5ZX9{UH5lGEn@D$<(LuNn0J~2{m5=l#7J7o2ByY0n&PpBv2V9rMLn#``hFP-WWDi6B-y+N80 zUujBu>xAp?1Pa1}2X2?bT!sH8fw!~KMNM_e`Phzjh8-YgL2w~LY78+Dz=@nY5$XNJ zwkp>{@+ba}Dj$j&`e1*m*m5V6Cx}J8rw81a2HlPr$!WS7UTk^cx;sd?0Dt-q!r4{U z2o0b0N^{54o1o4J5)TkpnzU%sIB8zKcGWVI^__Cs@8bJ^vfmjQzr ztMU%TMYXy3LCCj3VQhkXd2sU5!#YN z?7A*P({pxQt)++yU9o#Up&%s#iz$+Tj!`sRH z&Kgo%c?t%CGG~7R8_k~-%0ZWIzJ{>(X)aa;%SlEr7z6|mH@GU6%Y`$WrG36lsiVys z{Q$v%vxE?l9#$VNE2gQ<>dl#%g+m#elg29wSS~|B)PT*I?(w53r}h4eWEYdae{*sU zCuQirCIhIptOd(+{X)F+0NATvC?AKspxS*!%85UB>9)3V;;%66o{^=RH0XQFwTe)@ ztp^$|RIhr$d|n#iKk<}992QImu)ApY;`?{ri2+Odm_J&ilb}G_BLdkh?y^w}^&4?o z=bNsCkRQIy@NVc3Cy}Bjn2VXh zhuQF3>9~lijV(nX*${ms%4sUY4bEptg}U!lNQ1GiX(li|3|2@VZmp7?wvBg68CO!*uLqYgdmxWoA zdcYUczzG6O>=`;NcM|wm2eSqr{!Ep;;PgnS_-}Y`Ctj<9M(kVGO5WW(?HQ@b`K%Sn z>E5U+zxRB!1>g`LN9~dKVo_-sZbdQylu-VSd?xYYlX({sZVzP~dXtk|+&FHwb3nZJ zd7pjhew#br-X(Q^R2gYfq3_iivcKjUNb{3H&|JEgU%b(zzB+wv~u(Gk3l?l`iH_PYGcu@ciI7Z3fwECC7(HIs9I0gCGuB9#pjpe`f@ zaI?k?XDQg0)XSO0v5jux8ZL_lGGYC5Wvmgw!mg1~i#TtJV4tIue_?#z!|KYE{<$NH zYX`j6k9QhR`M|EByzo)kX|5`djZwNqs%?NLSZ65kY>@YDlqF-;N&uC0eZ~2`RJZPi z+vw#@t;H_AXz{c@N%z6Zj>Q-HxK8FKn=2l!h$S^Z@xmFnJ8JERh9OU6VInp#VrGpM zjt&)v$;KNXZNM<^bk>EMWra)jv@LTX>CuHgUCtJtMyq$VweM=ruef*B$3h(x`{Zzn zeC{iXH(2K;nOQ9v=##rD*k+PK2)Q^&`T?<;P2RkP)|%>`Hg0wBxG6L>og%!sq!;SHvqz|lN=8E>OZ zfezCW-6W#8Fp~|!+QAavjDH|7&jj=-=yevupax7VP zGTPUMA_*FpxLls=QJzeTJ5GaJFfU86Q;w?;Jk@^q(nUIoi@^rFT4O=#29-15qk50`2x}qc<+e1K*kg; zs5P;Pm;%l6)MGemN+H=2G!u!J>%=onzZ8>TD_chVZ$fom3Sp9!bvwgWW~r|ZtEXs3 zu?Yjj9{lUhQ4L8=4(^OQUPHoKI!ByT zCp6ik9^~y^Wt20d>1A&yu&h;9Q7R~{NVL!N zsSH2(u>4`lnw*O^Uf)gOBJt9KT4j$>jayS4mko#=tgypqxP1D9^gx)vnx^Gd%vylZ8cT%)INfhj1mfDut&SzQ*K@kQBU35!S2?97lkQ*kmms}uC^EAf- zD&gw<`;OOps=2IVj96I~Gjfh(PbT?Z`p$UY*dyG$`wuR?K14mTHTLDiv8)r{P3&n- zxYC&J$ba#wJ&boYNY_C%L-3pG$IV^J$k%6xKR^GqTq|?c`8_>Lv_EnH)y%hm>Lb0L zFnciD9*F@_M3sAIm3IlHf3TQ;0;+*?N^MDqH! zt*22n1zf1k@mBaHY6hn}($Ntriw>)*Ry*bu3puZP>ynjGJEl+!FyLvPJq(OsPyiK9 zvF6XSRkpt7r|T&0vVF25x7HV?)l5JyBO=2U2yR|aN}iNzwh?J_dZc! z-v%3YlV9%Mq4P6ls^JKxF`ID$OEy0I3AkNQEkS#|Gk+%v*q6?@uLN}jqWt&rlkZEM zY}y!(`QbnL_3z)`xBun-;O3d>D_f4cxBd3P$J&+qe-E@ThuY-Ny4X-vYGASdWDQKnL6 zG1kY(NJ&C{VJM{sk~^Jd_#LpkEABT(xM!KVbkMM2f=v6xwQKyR6@Bk|-d{U#ySM2i z^+d$SpoK4knsw>D!*>97zh1-tWskoK>Xw<^M8F+y_*ZfnCL;oq5rIh=_%F!7pL6;D z_R)YpyR3gkUk1le%b9j{gzlc=8?o{^fX57ybRO;p9G?T*H3^8JN^XlXCozAjgyM z@b@pr|AsF5ps|$^;-e^ORwQ&hbove9Y{4Ri6S@&*HJGiSJYIaoDV{ll&Q(C?G2Llb zf8F5~b~|VYDkIj1yR04k>GICHU%%W{#xhuPA}u%2VeXveC}UEg!ejq@=C{y zAK*{5zZ4L6MWbmHNc{U3))ArSe}!TFEvIDi*?&86oSggr0d{jejl5e=%f4H&f`07{M%A!TFnQE?yVQn)i}tegP?3#<$A6eRrix+Q)sV zLA;cWG>0=5R>1(j<{+qi3V_;tNZ%2#ZR~FGXRT}(tvJvS%UEy=lp6Vwq`&s43iIEc zB4Wl=)$A@_HFd{>wx~Gb77dpa*5|#uljpnn%~}tVZ+n!Ql;jsI88jO|v5^`UMxDub z^55p-<%G^C9|(?Rm_( zUmwv)0Eiv?f>7G-U~{VFi5+6AH+T;HF_cTd*m+~Ri3AGE;{HpV%0PgM(VlMcs^=Gb}_WV2vJ@GG~C;q1wX!8D( z@G}1a8PLX>gi;0PoF~8}1AP{+NZsR7+w)3Z^UB)KS{5zC9>6v|m7cils6&-c0ZNto z*U!M_l}PBPKJICEDPGpTzpQPnsBknh%V%@v-LHig`h%KR;C(i{^zqBTkM4ki647a$ z9Z?!0Zjhr%afu7TpZK(u36n|i_F!+njxmed4pEx5A% zgM;_`%r}L-ZA$-eG54F#S{ooVg3w)nUm!}ua7!*|Vf(m#9kH2TM?qJLa9z-zFXxI# zso6xdUH!vQ;CNk2lIKj6ee+1a9h#;lMR?Bb2H0kp z$-6r^XZ=*Z-=YiY`9rR*V%n^`MlXN6x8B-&>WZgQZ;N|a2IysGdpa=u&@at3p_)>r z9m5z+N3=oPRJ{Z=o{2!8LETEkOh!9jyVgpV~*DK=H4nH zYb?%xLkDQx11zQdcN5t;`N1d4{rTT)ouZEOg4S|iYC&Vmc}W=on-d1kKHP(`AI(De za?7`kl(fKL3EOiSI^IB;!w8Gc4-c_Tk@&QiFm@^&g9632_uIc)tgpX?meK!gPALC^ z^IGbJH8^l_9ig;W*=weHguVu=Sg#Q>=U_)Qg`c&KD9@Ah08j)~RoLmi0B(_Unh43l z*-Rqc&kt6P#K0>>A;b=btF*-w<@m#ISaCV%3IEQhSyoD)_Q+$-%|?D5&P8@#->ZIf zmNE$7xp?aN%q|L_06Hqq%z1dOD7S&p#8E; zQ&KFY%tejr1Gir(913jAEE)XJgC;KFri;2V4)tZd&U#&UL+9fdm~~L{eD)5rk5o>< z%ye))ZM8EaR&(PmdQrU=vqT}ae*{ODNerah$|x*nq5)K=tqx*X0fY#jA>XiCEB#g% zOQAa3Zo6Mly zL@WIscDkt5KGozpmDsi1%pc&fR6hXnPe5(B*c^M6SaX)?fhvKy<_nhPTU4n&PCrpk z)E#qTWt*Uf6hdQ+@(_j+qx*sy1cu10mJ21$lq8}Fb3wQm|N23DmD8&DoBcuS3w-lm z07TKvR4%`<>ol=7+5`;%Hyrw6N`;f)Z#mtx%?RmSlrNzXzz2w%Ed2stT8-1RA+en% zA^+u(o+#IBd$d4dxk|s+F=#g&cG_=e>&V--vTFw`#0;{WtpD!E{(-+Hvw;aL0DDY9?P4$!vZ@f>coz$U$5?4qMzFW6gfEY?tA$PY-Y&-@IVz)eh>=TWINE0o=o3Wv$d z({H}?mXldMA!*3U9dLTRCCR7jU}tfNhka0-j=J&cPz{OqcDU0jPfAP@EW3wN)tfP^ zvMzTc#9u~CbNQ^Lh4w$GgN)qm3<_kN`KWf2m8r0uv0lcW-80a`yTH2{Q4u|Cw#xs0 z-QoaiqjgfNk6zGJ66_11ONb-)fhc|HisNJJ!Jh!M&>wJ8q>_mEJjU^^C`XdCph=k~ zoWt0o$P6a#=sd;?ayln5EVHD_$w`ha@K z`Bs*2-d(ePXXO0Vx-B>1u6Sr#*@+1MjOe^S=nMv%V7H;#`xI><4Vud^MhKWOQT0hv zB#fY?X7EQAL>_kqU0E!7dXpq2#2&CQND>0`Mg;edBik^CPKKB5>9Vx2ri|fh4d9&De5PdA|=1#^UyS> zcq4gOqD#v($xw&|YX^r?3Y#Uiu*T5np|xzi!Jbng)mJO?Uk(OZ<&1-dT_^Q?h69*P zi1}DDo%B87?6}p}0`w$I5lv*L=MDBR?I4v^d2xq47bBjP3XVCQv+v=ilpYI!Y%6I1 zShh1We#)eU=f3-_)f2kq`O&*&nfCVILf0jzyR~Ax3F;nF*=T;P+6n6`C=J3h{foMU z5%f{Z(0YmvZjCm{@+*suL;`+^#W#AE6%^5(0-if5N3RO+mkJ`?2IWC3Pli!{Jg_pT zen1WO+Eg)GRI~;BeNB@raKUyX-bvVjyG?3c#w>6g=`?!Uc8&pLN^X5jxnwFvl9T5Q zO}u$j^s+yq=gp%+cmH&L&xPFR6LHWu1UA6ABmtOsNm>3i zg|A+ddZQN#A(Fl5>Fl|PZPG~SBYU0XDxVv4b%T|upp|DrrILpsL&j{xE30VJxa*G* z%OB5Q^&RoK5;L(@uUwJBR8e<2#Q|*RrL()Y;)8O!o={(ajieP&Y zpC-%lilUi>Pw-hTvA?<`K3H`sgr662>R8TC-<4Iga}QoC&cpJ-ksk!QY)C!102fMg z8efTpYq(6u2;w~E;v$u*flavE`HE!)@W(yRhoh9b zX=^vcd-FT9EyyAz`ZXJyvr_e5BY;Ac$;7$PVFJ38)kt~~TjOb=xdo8g#QrE5{^*Z3 z6uc8GKoZ%oP^wIEAtc4@z&ub9toDlZ+xwgmDgzzVEskAjC+@fuoV$A|ayxZXDX$dl zLabkdJ7PN!oeM6NeYP7q z-CcpvWbh8329F5Yj9^7%s5guQM|4JYe`y!BAw1BZRppdV^<2=!3#Qh) zJ-d=Ska3uuN1^nCF6!E8l@Abw1nv|9bli8^>J5;5A+Tkz*Gn`-(5ox&NU9$=rM5UP zy>{!^or$LgI<^IurT1S9o4Q&gH7ZU-5Fa*Y2X9Stc=UQl{*~2-_I=uu6%ac3>_pbS zCAa;~+4W|SU)@JBc|hYz?K6$v-J>(C^p|qgSm9xlh|Z^`;cjUi+2Lo>R{LF;e*M6V z_RM3^wreC;?H@z3A|}8wYSmEzQ1JRqn!CbJzwHDo5(IPc)1)$6e4*_K=m37Ut2!b@ zu-)RbR?cGZ-((LO&YD@xp98hNbp*c`k^Wh0lQ)367wyIDKWp6}jOYSjs$_Klz{ktQ z&G|BlMhiMZ#x{|Ao_yB2o_DI#_{Se48r_vn*p?w^bhTA)GU?rks{kCw#RmigtpB26 ztyxXO&s|H$ZN`KX^9hmloY6H;AjCWmG?E*>68_GFgYMyC)c>>AI${rq2N@cvN&#e_ zT?o%>{&iPiKWzg;oO4Q|G0-WOlPBiC7NTijH@r*wKtUrU3DD>iO%4e$BvGC4AAbSn z#Gkw{H}K|#e?3#$y~k}e20u!$&4tkDrjt&X3$0E#0XPsiXcC79=5Eba((kN;fALOl zTVRZ|US9D9+m`=XYvY-bhnI2I8X9iBTR5@MJ^gp)miVV{Y~OV|_i`e5hb`A2IT>i3 zoEp_jpyfAS2lq6*L(v#ofocEKHD~|H3tt)9z4NgM8nt;UL~M(}(4?`)fS%2H25y?v z>4Yb-7ybV1djHNlkKI}FN+z6`bC`l&?gFFx!Q=mXfx3dQG2>VTjU{k|YTbo2rv!?D z`xNySlrJaNx4dXl-9+Q0B)xE`lsK|4nq)+8X@sT%6z3LwGqdUA>%7%#YJI(G zpXnVtep@VGwB*s7Pf^l5v(?Ki3v^c7c|FskCM}k}Hd#`5+qd?y?}lS~bN+&@Q1q__ zuP*NY`!$|a8k0%`9Q(hoC;zsm&^TES<*Y}92>`>5tRJy_5T6T}hH_DkD5Gro%Z&zw zH-;wS1Vy(ZmT!zPsqWa>KQR8&xSi$G*)KPjCS)vmH8V9eBtT7s9^b;BK&oS$slu^9 z`r-Re;Q*hhPNFOHUrAEOoK#tXmSYqG(=w z;j$xjJI`}A`?H&~kA1*IX7PIdb?{cl~qMPdG3l+6#S*Ux%6R zO4u6Sxa)kL$!M_gPKra^j{k||pZ{4jUG)nZAftfrUM)WrSsN&>vOO7^k6t2u#h8vN z5vOg>c^*FNpJO}2@+fqcOe~@qqo*AAk_q(qja@eFB%ZH^msniTa)PGUw^7(%^qQDJ z`ml#YRjOB$^`W7~_*0Y7d8YbPk_$5BC-hcd_jRb8c8(PG}1&aM(CSJ5GHVbVVL zs1CbbMQ$mxZ(bk#v2geKg&hLOvndpQ@Y@fc;*PGe%0H0S&{{+>ik}z_Z>xK~`g&c* zJNLuWmqjn#mEgLjE5i8G^#gW~SHJ%~Jkt;4?YJVmELu3S@@MZeRN9w-m4keS>Z9?jh|YU8zI&|PPGaBsftoV`VcLg z4-NMNm`0^0fXI8j``#K;`ze_nb+2DwR<={FlE2B_n;+v4ZMXF*X-VC0SGIX<%bcF4 z+x|4dlP+JddVAKIMb2*x{hqFT=}EH7OKFlWrype=nm;XK_lJGbJB=>i%qw5)5-wkG zT`~WV-nBSq*;1o(vRyZi&D!8I2+$n_tJUB92NKZ#UQq5|UFW)^Y=m6P(Q_U#^FyvY zt2C#xLqJgyM24H<-NO;>dbj?no@IRbs`fIjK3!Xc+aiwG&qu80i+P!k9HXv94wv;U zp7`*7-`8iZpR!~$BY=L>TiI=dKXa<5OaRN3H|^9X1H!Cd4?jG*%yG|E^WDf;(T0RQ z8;ZY`mR|2&zFQXjynd-?S3YIyFL#!j9GbDaa7mrt4*o?>=<<2YJ;@CRESJa+xX&_Q z!QCRx(+yp@zsM=t)@$#L!8<=ZUAjAs6uD*l4+ZnKfAgjaz;*sV>LG{Tj&6l*)e=19p(GH4GyiVMH*K??zWHxFh z=8b5J%#Y( z-M!Y+wnu61uAI1h>+MXhO?NhDdFw9Ovf-!W>0MBL1t~g}_bbnQ&%ZowkAIy53RjMTOzLmUmn3u_V;V@)LEJw` z&}Ft*aj1G0)V&9M0o30NzHc4USRc{;bVCylNxNEJ#NxUi)d3)1f6vnhJFY2W1R*-o zPD!d0W35b?l)VV`ij($jrkJ7n4HN=R9LR&kwJkG;PIyP&Ld)?FPxlR7omr7qo%{4- zkV98{ECI6wrIAaPXdVgQcMHevebx%=(cs)V4!Q=aW!fT2Z1%VcX~nE>J-Itr?rDau zRrpk{4lCo+8OvdbijA&8j2e6HUsB0?OjFmxVF|pEAL(;8S3Y8GztmIL|9%3nkev4X z9u#GG0V=(j5(8-X5q1jH2$e6zuTwvHg9~m#l&NHH zwGkNuLCAoj43R2?P>@P_x4-+G5BHot_kYg4zdrZF|9n6npJ1`swf9=9za#(0Q zLC&Ekz@;j6P#;}n9!KmV-U7kpW-w2S5`IA)q&pPuXR5^=+$8jl5-W z>q*5EErO^SwC|n0Y5GL0mA1@*c%vTDTApNrxV8l?PEhgV{brTi^TpoF@5{>{^jv{L z&ha3Sfo$humWpDH7^XWArB%vPncpc!RPRCC958PrKpND6Tgq%s+7|c$^}zCKTk%9( zttq;{P#C7z5E2&kT<_xz*4BMtB6$9wV-^M-?=k&DGNrt(An1IDNx!N*F^*UYMkGYE z)u~?E17=_eSiBz_miVgv*aY-M(t=x?GUNB!t+~t@FJG~9Xt&z(-A;$qb}KCYHUsBc zDN_SoDLoGUHlnVy-}K**9%8n5Pg{ z{19c~*p;*nyUyvj1E1X}-CJ`{Oqj%n+CB3vWiRsyxoO7FjVb68__`()mPxXa2a2CM7X+>ySnElqAE)%&;D1EG-P@Y71E!_E_kcNB~ z{(7a|B}ZDnYk0J@?HCCsy)s!eQW1dF2X6k_I$nr7jJzDM>T zC636+cJHpKXBVgAzbmcz#VvmKD3xzcecA;^8$&=X280iF#>5)dAoYpMEgO@fhaz|$ zlO>PGwTCEiK<0x(MT1yqL*>O9VXKNA`y@c_^^{duR-=Z+#dHoMxN(kk-;})6Pcwtd z>0>}Gt{3BjOs6yA9y3x6_sxQK@DahIFo`UDFX;awH3AB&Uzn8kGU|2e6ZZI5g^l@Q z|22XUSLg;9z35%%VTeq*4w>D1bn0~hZO|I4CV_#2HpYyUL$Q;~Mf3%OjBuAd-DOI8 zccc_zsha$`%?_w;KluVViiGSTWBSAS0R>dr;LeT$7+f;-Plw-Wn;Bl=J6NB>G@N*u zRpsSzqM15aC9I+a)|?OX7i5Xu!dBL8^Kcu>Scz&xO+)t~;S&h4BdJ1lD}hz^Bx9Sw zgzOb_VIhK}^53Qe-(y-st=&YLZ~p5%npEAKuf=4c8A%tUg#izl9*#6;EDX*1sWaWA zibh)Qlb79+IdW%|*Ykq(=}5M(g-3XfZ>oAUr_Wc@C=UE-u|J99X6wxv0Yd}*)iT(e zUf12X>u6qHzDvw{%HL+%{;+(*k<83TnraA)uZ)wWJc2P-Xpd-dwz)8F>2eXEE@g9B9xy}Zr> zjE*$87#h8YrBmOU<14N;RDL^6!UPzhv@N3b)X(fi?Z)TJEE&PBC7zL09YJt-?W#^w zt+SUd>6biDU4Q8kX{WWp>@2VXeDeExGVmKR%U*c;XZ#TNQyj5y8n~)&o)cWZz692v zq&be&y4|FD#TfWJj2TSenk}-Q@zYqV%#dLN@wKFSXuq$$n4&{vY#eKbms)utvIZ9m zX^AL}d@GfD-KcpiBX_k%w#F zlPzZTx$>e|YOD?mvxhQO=0#NJAuZFFgrttOGfIS%nCVbi&0Z}fcY~oNnjY7!^aC!_ zXf$4fWHcrz9lM zEt`$(rS`|SC$;mW=fKZ@^+^C`v|~<5;p>vZ=bu=yaP75NOo>>M_f_HUNhTB2KLEqW z`Br@<+rmp`o~Xva8*+r|QYiWO$*cNU9%=j|GDEHGva$`x3#)R)j>*WZUY16W)pD_c zZ0vPB{cu-V+lp`V+Ll!B;%!b`Z=YehHV%4|50QuE2;U=EDPjfkckl#}qft@gXMV{u= zk&GM36V*F_$=%8W-%;TEx$6iR=JH>Go;-|&q*)6vc122up3V>j3H-^L%)estLl~r) zr9gi7Gytd?^I5BQZlg~AD1v31E`bp}kHp9RLBIbfyYx?|-|y9eSyO+=W$U57CJflo zlVs@wZZ2(@4qoXbne_)-dYQEzyj_a?k-;a18)5f5T{f?cJbh2>`SBTt_=&-lEq+O! z&K8yQ`eerL|F7BAzkuGM5{8BZY~Xs8>+m?J!#QUxr>R7gjUzL7!gj7~33V)9k+iFt=POB&Z{##D#f4BYkf714YoCpeRc=$4^v{ufAgk`{&MB}Q_B5otp zSFsP%MxbW+DJ90rQAAyX!D3b#>N?jVG;VaaY#RJAZtvSEm1{skAK5yXliT-NF>0vG zDj;{?Rpv|eJe!2?Xh}r*xA!V0ba5+$+SC?Zy9;wdNez5@9E-%XM-pz}ibIeRO&uK= z@mPj&w$GeWG79j|7au4Qh z7yXl4n%5hc*7g_$g}FE&b`iSI)hTlhG61h@pfXsp8MS;N&?XD3zA99x*T{U>QFE;c zH<&AB`V8Yni+6&OCp}XYJ?o3Rs)ObWqOBHXjv_DV&=N3I7s&CWJygSdlO0u>bhe^) z*E3|hK@CWe#in_)r$CTo57jLu`?O*D(YP8c9gtTr-N5DRd-YLz36qQ1d`dmE0H2Rk zcwpCzLHXJzSdHwP5GByC(eWkpkfP@Zx1LabyEV}Gd&b6(`+NMYtcTbuT5`txIU{`g zp1>@#V!HfDJJ_n_B;+t1GjoyFcR&{>Kn%TyEc^{F1Hc~?V zE96bWHrtJh#0h4v~Dgm9;cZ zoW5R5HnyE-W2;~)6`$h0l4fmA7L z%+0QZ1V@+N?>_~FnH*L`7YLC3ATZn2AmzqesmRVkb*FJlBt>Mo^{JmD;?hKzRift$ zcc_yefild*V%lO3j7CzBH0X#HAw4_Wgbp4sqoVy1<3>agNuD7f|@?v4OOjeyAz z-X>R2o71VHloo2=jMx}o={96jB3@-mx<0rTkTG1#c+oHV4G9|f#Q%3*sr$|jgG*qx*4Dup_RgXUd zm2KwW?vdrWR!Zm>QBy^@jTVC}T$+@L$&RBRV{z@vqD5uTO!L#}C%S6YG4kOaaZjn+ zfM&;#2WlK=N0KZD&-ItzV=cs2$?scvBh)&N zO&AUBv(X=`00sR_+o1&IPZ}ZL<76};QaR&JkdP8hT@kc;Izd8O*7vjFgh{@Vaj|WX zzBD@Hwi{*6RAxl9k~CO9Ky_v|imX38TL={dZlOm~i{Xe`g*q_3e$Jz0sO>w9E@ns8 zF6(2g=xj+n6a%XKz*-X`OR1`STP}aZyc5$p&YOCD{AtF=h7=cnYxY1XFcZqzP~8@? zaCD;2>vJuM_!IP%qC~-JtQEZ$dqj?&LyECw^yQ3Z>s_L#lWXC(#7?FP)dV_8( z?VMt(;C84^I-R3e;^ug+LPOI(U0Z`tehuzMAyl{5W(PyR1w!0lY}5H9R2K|rl~4}C zz`P-Djhch`<}s(s!_GRoP)a+-2@<{@b3{O$?NPUWnvy^Vqt&y_(d3ecl+esS_$2AY z$VYqR4eh&0HdvL^6;m5B?h9=s73a+S8rZ5Yy^Lzq`R|i5Q$#IM9z%enx{YMY>Q^w- ztV~7y>Dy1x1GnWe{5v}L!%s2{G-Rk$9hK@biL-;ppQD!%g0kVd1@1f~Z` zW|6V|7-c9ZLpMN7S;e^aBDI{$u?rpc-Nv-V93SImSPB9kN6*K2uQ5vvjxT*qH&u)E zcQc8vZxR9b}L79Up~h2O!Muh z;NHdmUp;s>Jy1!5`~_9<{fOAI>IAT#cM$T{_8hn^Y_P!lWn~+!ckx91|q^h z4B&*voeid=K_A$~Gk7Xx99*RHBZ$LS1t(4vtwIB=x(1SM{sq)_dItos=Y3VsGc}fN z1O(;WTQB|gK#+pFE&W@d&R+xC{J#{N&nn_^7@KH%Zby`2x*xD;`Aifv?gjc$jG4w; z^J6y^{G+V;TWR&*`DM_AgALMmLtBW}38}|dh3?xj50_GxI82c^R56qwPZNyS08pzd zt>#kZ5u!#|dgv@PO>a;8SeF0H_o#g_2mISC z2|h;w$=c=6m_E^^Hr4uuU;RjwSpCeL0WrrP32I*z&YaXIO7EM6 zDytqj@Z#^>(0_Th!3)^ecy<{RoK|lQ**a+K1XGP0#{FKN4Zq)mq{#16$0NZ7JcBsb zWaxZVxIOFy78wU>Zv*!I(FVVFxCfXdV?yE;{g0gSwi(fX1>^DGKjZ&RPTGT-je8&$ z%g`)v)W6&6-K8bgXrO}gv5;lV$mBaL((TAZ=pam0!|8~3xc<|w*S~X3mE!4ACKj*5 zIep`)Z%+^3vGLZ}<3`=-#s6N*%YWkNM=-$r-xg0#Qu!5xy~j0hYV0IamFvpo zM&oy`>dS9FV}DhkToR#W@cZmH(70Ozb&hr;B6d^Jyhs0XY5vZ?4PKKyCuU7R&lIAy zQk6=EqX`A6Q=>f$^mi9bb9L>rV4(y3m#7cuV!q|UAAqzt=gnrFW`4~ z|I@#iSqO(X$dLf1%X^WCENK)-emzZ_VT!#3y+Je3<0;ECi~H)^F3+OSPaS3 zKal1+g$XHQ(#+uMuL{Mi>`}i-<<7yx(csjj>Br}Km02Xq# zlU(&^|10to0MFEaIp{E)|S#+JNlo3kU-E)yg8Ov>3Rdj8@=SJSZ z1;VnjWRfd5tw@U?^6xmU|NYE=z6JO{*;D3s$VcL6n(Q1H@(b0O0IQV=3k#fP!u587rPX? z@EQpF>N`a9Dauy`&a+DxUod&pn=CaHapk6s--5^Qy3}w$S=Q}_g~M>~YhqES%mqIv z|BWzWu8?z>oa~hhJ=Ob=p}m+>s8IF^zbZ6dg759%IXp+ro9IhuN3C=3h|>%# z(cnz}7QY|e^{P&}Z8hHk*>w~4WF#;e&;25;`l|56cpTudf)<4J95vNDn0nWcb*{|C z*>|dPJm}2ky=5+o267Y)wc;u-yJgEt=JG+01(0}5Cr|l9TuzBR!xpts?0eIO0 z`UE&$e=4p=EP%dDbIX{DfETWV>QsZ^d5j$=yWn#*enUsPaedLivBURS?c~zZ^`ZT8 zoj0FH&nzKn=tiyEF!_ggr{{q?S9;qI&)25ndj|lewC}4zmTk{h1ymRIg^AE0;NY zSXmantFzkD@cN)$d-V?Qtln1P#0_G57s<8eS$B3#MeIjPd5M{YN2Y{PlD&)~OQPPV zK54;McuJMP!|A}MEMp##=`htRG4~?;Nc)tvVsmBWL?b(vylg|a347_Fz)#cZ{vuSP z*<(xG!2@(tt$QE+H(G8s*7`#u!Ghnv5VoT+0v>UF#2*XaIVI1zeR%%*NM``+rTyMl zuP#p3lvPdl{{j5})9?S$OZKb6HqvsUle~u50M&I?s)RH5p9FY;@XjE!5X)$I|$Rn6vBzdv8ZzzjH^r=aVN-D$3&H?%q(}0FGRc*TKj6 zZRdC!-kJIi@_3HrW`(xx(%{6D(p*laAFn*M#-j?@N!Q>1GscoMJn|5#^MQq&3{$XC zGnlvZ2oI)FRc8S4jg=YeR;*st()&yEwwhHHuM(?fg038#aPK{0tJZZHIM#n_sjhmD zgD_*`9U1U=eU(gbrn`MbsnZsJ3AX#=072jZ%kMsih?3{e+rq&=Q&Z%37yxAZYzKXy zKz-2x+27(A|2q2V?w(AjXU}e7m(2h!BNCpz1D#(y$Gk?^;$Yj)zRLo}h`D?c-$%$A z$kOet&~$2ZhQwCYSwU?QmXyg{F%_w*Jh|4G=%KExCW|Ljv6aH+m>gQ|`nOh!{#ou= z#nG~EoB|HiprN{;QL`<&)Yto#j9Qj)Caj>h*>L@{bGL_2i0+KW;>Up)1q_-0phT?z zTf+STXfoep^kZg2i(b-Ky)3HC<{RBV{&=sk@1bp1I_)-O)ZWBFDEuEcC?9ErG7Frg z3#=9ra#ZCexh(iPXvIX1Okt~*lA_4UHriNpowGBv%w|0{zcignMfX3?9j%}QArnm= zYE@mfP3cLcdzBA{RxuW@UK_hhdjNh)#UiVSh0$LX_Qw^1?mu>{P6(eFOT1qkbegmJ zsQn=CR;6ViJRIy4wfN@1uDw;h8{c^cJ+2&VL&#+C{U!;RK1HrYl>pOt9e&Y9u*&3a z_+qR$hZ%zDBEdt+*D`5?nr}gKt*t=%M72de#-4q0t#NL_9du>At6kjGfJWmbUzfR} zdkboE`o@;^jx8JEXXKnwe>lJKO3F;~n06yOhJ-2wpx&9)qAKT#@DB&I+%t+c&SguN~9-gP05?o^Wmb_?L52o(y5HmlSStptS#Q~`@Ei| zo_xPNI`!m+^8xMl&W^H^d-9DuZ2jqlgxi|34DCmZnOaWbHa_)6;7q~A?l`|35cJg~+#y6%V zZU-Id4Ixo!d4*9NFVV}jT^Eu+xefL!Mh)*eyEVFjENo+|GdMuh`ZN8e%~~`ihPg*P z5HcYZVFgCh@JgD+t(yFI;fSX+__UF!q4V%(>4hCtD%;ODST29P;umRt{}!|0O98`` z6*(1VQsZ6={M9SJHRZw6H4?f3sXP8ZZO7iQ@iiZ0bfOD-LdI8q5eb@rSCFbqw`k*`70Fp$5P z-p}et0-$06Ah2F-2klRdWj1X$pt&{>fjIpV;4pT-x-F%Tnmmz=SM}3odnF$dy4K8k zwn`F*pAJ`;fntIW0drG;&@2%DC83Ez3IKrh;FrPkLggv&^f?wUNunkuz5{Iy3o#H% zoS%^yL!*DlxdxptzA8MsY%IU?J6rCC)YSpYa64KVZ00_2*}Cmkuz@H@4UO*q&v==? zG~oZ*sQ)!1wu8EZ34tZZz6qB~;!q9ZDJ0oL-B&M|v}%BQbwJL#plv0|x`{lg+XVGG z1HQLVUpb?}R`uwQ-}Zu>O6tExERC0g?L95vXNhOV@1XmH-V#SKti#moE(PsxJ=P-X z;YjjCy+u+pEF!5eUiCPte{3YH`K^zyom#&2xQToLFEGlW3@`a2rTv=-u-7zW|}aip7H+ht9?fA z&zf&uvg5Zs3cMK}2uv!Vx@ABe-yQ_x2PXJ*(B)o!sX2FJ_Gt5p+@xKm6LvZ8lX
    4CiUZ&9lf>UEr-%jirxB?14zcIV;C`2{3X7m{HZG@4#}SK; z0FJ%|aOhTy-nXrJ`Q^+6n0B9DfIsT1g4O0PgT-B$mS zwcYsIG4UE6yo}Jp_oTTcyija16rB*Ih|S}wo#%cE31zf3I&KZwabn{GUa?uGQG9%O zIbUhzpEcQeJ840ys>UV$mi_Mox)^qf;}1_#4!P{oS9@I3E%O-k{$#Cs#9i^n|B0@l z-=Xn#nIrQTtPUjm97g6yH*HLD7c`+kZa^%i$PW1oEK|?0 z*xfD4Dj)OUTwJm3?lz+%H}CtJt9M+vlJR(?Z={mUGXum{$&J4vwEmkJ{_pCi|8V+= zs=(X@l(o4;A4z(eggBDrK3vQ|4Mgt$&L{tv@A1#sV8zzIlD&F3{FOp>8dPm0(g9>C zP60f?$mcaSW)=9|du{SK2EdMvmzM#j_abOMlt{s~*L_vkTrCGieq2em6OgLga1wXA zoI43z&$Vpw2Xl6rKpqY>HuCf2Ytt{|2>^K3K%2GuAoK(1jS9YUfGcx>BjL%PYuA7@ zNsNdjx0{;#Jcieqkb0|#rO5NQQ*LY(tVJq!Uod3f$!S;bluD7-oW~<8`WiN-miH9O z_V4ZK5x;!6tpE43Kem+b&{X4_!lGER5P{~vGldUej6Jvtc$MFBi&s1abS(F&%*Nw- z^#(dI4gB~E_AGnkHFa1U7#$GHM?|v*1&d(eb8@Lhogh+B&XycQ#zbb(XqM3EP8M?q zV%O3ZYom^+-^m%HE~#DSXVDCbBphr}+vG?u&&Sl!)b!5}X>`vu8Y!-klBRll!$1E7 zA%h0MwMYZ8*cwTb8e`ES7~8UxgGM{aA6x`*kghrAq5cf(Lql4ID6yR)wYCQGHK~VA zR7;a96wkamKl#^M<4&9*O$Dm9Nxt6-zZ3~)Z)NH!z%I-qA?_fUKCw@l40Nj~5SxwW zV!B6S(*k{8Zr=0CZ=_0O=RRS#!_Q=HtQGz<^5dO zR|UU#dfgFhm=vp=%NVBceQnl{S{y17>!R0W7Y8y?Re~IMxE2V5kl*zA#^=IL`CZWa z(mw~Zc+pf4(hkB?0pv1$V(U{X5vDd9_w9DPY8})B4cuNZK&0au+SpB0bl=js>9-~R zP3DJ3L!VolWur29$0?8X#|Jh%Jb0?>Zq1yZb4{sB-&GwwnF(glLISa;H~Ckp3Q#z) zPoWi!-0yJ>%w42%BV#*i1BZ&?W_bWHGNg3lvqNeM+3yas|cGDpORT7 zJQMm2^J6)Yyn6CA9qp=;Zj-nK4If^~#uzbIbyV|w*;Njf?9isfpxHk`7sMM?vU}(f zRJQljw?dI(bBUYG{=}-KWe8QM(L^FKJPfk!4U4M1G8qoX)9Ref7p*<#W2&OAt=W8f zbnL^sZRaj6W>1a+D{{3uShj%y`d(kn1{_kwSA}Nw0)}F}KoQp);@Q)S3r2PiZf(+m#^ua;+QKyvRrUR2w^M#W9MWoKpJ86!LE zHT@M^)sj9B#`ledj?@giVH)my>BQX`@YoNHa5zFT69UYM zXo4@O?_sa8*-7-0kwV;G>~@?NIHAaD7nHfQNGRfXPX99ZzNW%H2B{uiK1G?I9CaYc zWFt?vJMjDcDUUvBS~q2vUt-V!@)2eU5H|{DUM1xqAM42dE~l_?lq*sb^GA79CBhJJ zGKaBzA#{ViG=8GDsMut* zgbNTm_S^xD7og&EjD%-%hsTJeEcr87m;zTsk1L7JAX=aZdmDgnH!yvaQ$J{cER7R6 zjP-NX2O0aCu2c*z!xA3$n)akz%sNmR^`*gMOV8Sqzr8k(2z)+S&-46f5hzl$aAKFn z4);7xF)a+_nY#y;NIYGG{JK&(ZYmlF>B+C+67(j{=e$ZSPx0sU%#nJeX#iwLv5{k> zUg!R1NP#e69t53Ojrq}{)!jDQOmECyTu2wqG(l1P+{~L>%iMRIK;CfAeJm(ACICs@wx&=h3LB0#hkD!j!^v-vwZVg8PevD zZO%y+Q~gfs?-rz$7NT~^(vaNlPJeTq=D^uay!`0Lck>*d1(BxfBd0_IzIgt zw`eQVA&c=Uv_U_`3-NHvZ_~z2ORFoo3a4X?I$xN_#punnK{&;YSI z2l)Kc^4!3DNw6Ivh_Tw|CEM=CsFG+V32xPHDf=)`k-)O{JLY%(WYCFf?MIG}u+Vzf zoYx*T6OEg32l01?$t6PnEuTjYmK5c6X1_bdGu_W+*jhVvSI*`aId!KjR$4OJU2r$c z@mWV)iIbk*=PJwm4c${$m~G>LZ1aE+dv;&2G)A68_M}7)u8VT6YE&7GJfcReF`nb-r-g>6cTfrtd)*OycR)CS}OB= z`B1nicZHv;b5;@Q#wE-~&~R4FALO?=(d>c!-O>ug*3eHlU3MBgxDG}xQEpVbU6uX7 zuxlYbWslpQ$){q$2SBg+p)vZk5VJz%^w%xsxIRhyecAyOZse*SjMs)^a9!l#MW)_^ zJ%;7!kFoRiOnHDazCa!cp9ieFpp1>Hr--=YAJ7!XE>n6Wc?C>k-w2_^2U_bNd)97L zmab^mQ%w`^GSPi}Qasn(;&SJwXos%h&hsT*yq_zp+;<%Aq_>vID`d);){DURqB%rJutMOXd3e+oyW{#{*?b2bOzA@cFBT zY*#BK+J8Zi^b;=+W+$2Ma<{F$YV*diJTt|%ivDo)Ea%X5(WZ{;k6+z){U!E&EG6iN z!~p*qkC#TA*}X)s;E4d&@Fo^YNYRiFbc4DIXn<+;!8U7)JBF|i$PVdkv?8t=C>>ML zK{sucmIcagKl4ofC`*nhe5kVx>0r1t9{q#A#lz41SZxM)f9AMWBskl#CG}L%+gWct+>3ypXow-FaqU}5Em#aLlXmz_y=IjBElI4O;^^1l)D^SR1=d1lVS{ zxot_^Wqm0bP*Z2yZkTJvXNcD&g6{IzOJrl%mf7Dfb@tVT<-68X2I7uAZ!t{G(b%{A z(DJ+Yx8&YG*I&{dG~VIcXK9xH$1f-D8=ic#%xP0;SC*Pqp?2x#G)MRR?CylA2y6^( z5JBTSBvfqP!i~2vc!Ge+`bZnKF5Gj7zH-!(uWf19As&25_h0-nD9^7lvcYX6WMljp zL!F63Xg_Sh-DMe zV24aC=}Js$kCh(hot+~G@L&ky=IF-*O=cuFe^MG8gOt%FFq=F z{mhwzfnm*Jbrb6l&}y#FO=^L>$+J#oqpzDie#D-mHcIxX>Rnc*NVt`CE=Jnjb$6N3 zRG3>6v8@(eSMIeXwXH#}Ii3{CD3RLXn$|KchMka(uRPi&O=sJdlGVr;RJ0gXjUk*H zoQj(?b!bWLYK-fF`3tEF?RL4NzPcxnnK=AHoYuTh{hR9&KfOwJ4RLd~KUhdVvwG+L zZNqt+M)XUbhM7Br^XyhTP*lf7hE+rCEB6eD?rT-g)^7hbwI#Ie>Ay26$GX z*k9`)6l>uvQS>Ze?zy!xj}sk8?x%=NxlN0V>u1G1#w%!MbNbhsb2|vh#SK`bHk;mY7)yWi zds|eiaenqCL$Q6HZF^ka{(wW8Wt(?xHW&+((TBMuC0ml$xuj-!q?@mn72iFbwdvKH z9$H8LCrOrzos@#`#N_bWA8~7h(nOE4(eJ4CMJB}L$WpQmo-`avLC(!+@vcN+e)ejbs-z*<6k(8H(wR(im^D^ z9_H~hm$$6%@UjNCzehdVpUv8m z4DtteVDrKP$#A>slRUBa!HY=FReMRR+Qs9t0C$f8)q+rZUEe=Kb!?}8bA}Nb9nLag z9xKJ{a%gvaQwOV58q;agK>1zf@<*?3yYCTM8|+5TC8Jo2Yln#}f7@l9dm_+Y#qvq# z#R7V@%Oker1bw2m8^X+G#8MY|iexPqY-HT;3@X9~f4AxM7tzDv^0sEdl2MIA3g=5w zUyEm=SSv6cV)czhh8g*fUvl0pF|4mV=Q5KnTg`d}O2(kG)V=^=%6J)4RIfx{$XtUM z-4+E_-C8AjhHk7aPMgrc+MFgkOjF!YZtUl2w(8i9g+q2-WiHH_*pwFJ<*#R)yKMK$B=OUp;75{f&@ArDwZH2+veg`EJK6&o2 zrNLavt!hs6Qo-A4 zV@g8kCPdmA=s?z_rJ6Tt<#p7LiAZ$`O9%Q!Q*B$~N@;y}enMShgOqo;R(IkKdLJXJ zO|yF$*Y>BlQ`#u=fUT*4kV`WXx`;-(MOp)0AYsmg8EW{LRvCN^_L<=44@o)b{!Yma zqj7Q1c(sa%dSgyM;`P1_2UAzlZjV-er|ZxKM(>F`+;)k7}MPvcmc^6P_Ex!do{&Xb!y;%nrx%TS#$ zL|5t6sBaLO16Iyc+#*?yfLW1|)hBSM??jXYWpc4MXe8 zU59*%>sbd1*P{thxMyL@`t*(gM#R+i@D<6G+us*_%99=ZCBZ~1@lKrUv%!fr2k8}; z^FhMLXL{CkN}W7y4#wEl*_(SAIj1fY~?X&5vWNOis9M4JP9C%&yCfQ=bqbWbvY4g6a)xC?9bnY;v9(DeP0zE zVsOCY*4-gZUSd~x%Wre9Lvv|Z2HdU=H#3z)xj)-Lqh!SEP6UK`!u%N?}2p)d(%AnA;;N$i;Z+GjhAdj>0 zZFabh3YhZ4##J@GDy)<>kmM`WTA~X?2e%#fd-KL)%1J!2ajG--%E7+r;%Ev9_S zvp&CZPAv6*47>Ag6ZgxobP&*~;-|1YM4wnVBJ*G#2c(N`3&=li#5^c{IA|mUG~#Mw z8H>=OUrk~DHDN_`(CsV+yCH>tr6f1rWq0?q`^qCS?e}E=jxqy@&Cs7^l^Obk6YM$B zH;-6ajLb;le#tjp)jPmeb^+w3~VtgU-u)J{S6z!vRT0<1MCiC7ZjC-Z%bZHgTq-lp8iv;W^nxEWyDj zEI(s@N&{R0@`9xm5)BlVhO_G|c;js<*K)Bo)S($(sfQGJtSiPo&rPwkp;cq94L(SB#&hD49|AsbSJ&?YhhY@WnW_7m|ZwK!$GQ{2|qFvM+| z_%&k_swlCj)#fp6!DL(GIF{B}$eVCbN}As?mm)RFd(7D9++j?g;!3m(EGM40I~sEN z693OuT(eaJVXq10Q+N_C2Feh69TW>oC$8Km{+t&h0|Nk{eAwy^vJ*(c%I!V`QGhMho!9nCp~x} z9=wXAacCPExs*^(!3^POSah1{C9k&f7FR*NSz<-WRk6FV(71jI8xXQpG5z|P$_d;M zgdA+^Z6lPLWP6A= ztc@sWV5C2!(act0wMoeu)%GHIxeu&Drp;hV58F`JmU`CwF6O>Gim(Zb6dei8qlm)X z>YTrTFx8Aw-p_YE5mrPU=WbCM(;!rKgH+jRCh*85Q_nx#`2L#FlXb7t?tO93l|UbQdL$3u=D$3hWV_hKY1gi+D}Y|@fCXv+N=Q)MjQa~i zdrfDV1{w*tlb83^hYZS3sC7~X1UZ=wQMRg#Wj1_1O80WI3PZvz_F zOc;?GSSnG1pAlZ9NuGZvD806V3KxkHcEiNtmS29N7tnZz9SxhhVx^Vp*Ul6&(vB)+ ze@dBbktRXu`nXP#j6x&U%5z{Zb}vY)cYUNR0JYfrLeZf{SO4li%R>@w5t|rUjW$c# z-H!cg*2k?j7Ez)rcKB}JKF^mn)avAUMRws;`VN}%-a|%5ePu=dFTdE2T$wZQ7<3+e zbI?~@y!_~qSii}`v9TW_s-C);XTs@oy2ILv(o%4gabRMbpf%N(MG1XbEg1%wA>zl&1yi=a%fZan^HVjhZS(~tgW3hc43$IZ|gKO7k!ys*1 zL#^UlCfU=vHc5bA08a*${q>+r6#Iu!L1{{zfZqa4<7J`4YW#?}aEJ7yJcngXK{q!1 z+##k7P!HQIK{-(@5{Mq49Jl@!-9aB$T`cWnw?tj6kK}a2X<945%C$mgsg zTn{VbobVmgsld=o?BdI5l@(ZUV+N^1RMK85hy{w+!q2#a8ZUb51rv%I=60y(^SSmZ zcejRscZ^I3v(Oc`;Hm~9YJ)_dSp1!ADT@a>O*ByEF;*Vxtllj9nYjvcM90J}kxc!} zPy64yGQ5YNC|p+rtM-nBoHBDUKMZD%2fDi7y;N2Th~c~Cm-JHNr=P>OxVK1JtVP71 zWW+=Jm^48iXGIs$)$zqhv?NbRjTbBp0=dVw4K_+$R(eB*p$#^cXiLOYqM^jKv%!pw z+ySI@ck6X$q{SPS6QW$#a)YCU$S@_8}*^!cp=MupzVi*9FKId(j)@Lk5#O$k}%f45ImH!4wR%PcvV#n)!v%dpO>qQnm zNdbWQFuku5v?lrmlMh+4m$7()lKr=Rb--DPJDMnKgf(lI+6Snoi{KbuO2yL}qC(77 z_Mp&&f*6aN6Tw%5A>&A7B8(0E% ziDHWYGvg79n~;yvU*-4Hj%Q}I$ynWErHy{yKF+iaRt>QO?s7f@T)p4$V_*-i0g-z`U$pd?{3dQJ z?nII|B1O^29g*OMZkWLl9_U6P+f&?CtIynvMJhk6DtXeuTHOozFx-P;mOjkI0_uq6 zXhQr2`q@sVTi))(;uVp*j-_6#*5s(crc*bo$15g2&v?C7(oFJnR^Dp;)2RLUgXEIv zqyY(DJ1N`pk13>e-!s8V=7Y?2L^*3tU9dRP-(?|QYn8XDSP;$Te?)0?b+(YlIXM(3T_ z-SOwsG0p3ny)%2?of?3nas6CIXu~phig%{lE?I7+PiLU;Zra@s6ZYkU+{~&F!_u+= zf#;p&&Zd6m3m?_njIW5j6_@|i^>rBC%j+Fb40XLA!1UY+W4^aEP5wJ;0jrs{Ne;MD zA96fZ!Bk~A^906zz$iJ4?LaM?A!Q@n{(OcCBF)O~8{_FL?FqaZL<_SCrHzcQtGzl@ zmOMOsKuyzEiRDDR0r8o+WF<02EP5#0#(G8mek*GO;E|EzZ8unJv0{<`u@>@jf7}}l zIE56kxnRa?`b)I!cKRq5q4Qp@kN z<`;L9eSjRAtY)*0xuX(`D=e@`=7=AW!tL@SRwM~03ZtipmsXftWCQhr^(P!yYMBQH4^iW7mSg5ES2E_y!KddZZiNsfL;lcWrho}*b><%R*yMDKa-Ci zm*1`4c6n%#q4+@mNuJeeR71)n_j0RFSaT)7@6$*)al?{O77_2!wZB| zeL{?5sx9+eX*wiS{SJp#sm?vKrOos4r@5N@7E$-|P9B1{_N4TwQgd(Owl9*jNl+)}|gqR{G#Ow}YOk;K-Q^ri2kmKwUcEnUpAtr~R z7&AHVQpq@FCgz}&Q!`VH4|C{wcR#;pt$VHe`>gd_>-W9a?~mvCqiIFVeBOuadR^D` zx?UIZNpnNXh@)rCYdi=gR-^tbZhhj8n+ub;rPj>NpX|4$Y*OZt+qN|!9K)j zp2r}_UXaDXeJfAPe~(k3e^XSjA~dz+Mx2*>fi#U=*{JI_v(7Kim9?0wka>4l@tPHQ6yrf7l=|> zDRinD)Y85@2Tn}75DvUK@+q6%s_kD}7-;a?;p9N%my0yZQlIRD);Bv=Q7Ws@96xC; zw8ZNgAK@tAaaSobb*+W^&L9`s@qyC8&F6BftI5VoBVaLCfh8a^099_~N%3U8*mEK> z6Ch4rV^{}%9qndJym7~C8(IQ$A7R%p7OO5Yg4VQy1lr=^VQbIcmYt3`{#_CMr}OYx zqKjZ=rrJn!k}Wq=n7W(%(PL8g&#faHtZ(-k?{eD`URvaCc=P1p;{kVX`W<)Q`ZHF3 zMf4GT0Dc-+|I-?W5USIh!kSFkHqr zqy3w_>d*fAw?9WM>2-j__c`Ud9neDYDDfkArYM;RZ28ve>OTYDCUpZb@v@A1{}=!FymobLD5# zL8f-SiTJ&}QNe^IhG|Z?z=s@^+KWx!7;pgBkLrItFiO{J$N7#8n__4VyDRMg5om+vkRkW7w|C*iqYi1=+(6!84(6 zV|Lj;)wA1lM0P&^#!26XraJbQWop0Pzct`g#_4O$VZfDJ0_ZSJd4K?RvEGg1h!O|! z^O7Ua#z%Fq)-tzZ0pcfziEfO;hDx96uga6`6Pl$kSo-o45~FgRdhh7oK}j;b;(g$> z{YVN?^FBoCj*GXL5l; zZW1>?Y%Ev7)uRdMcB*FN1@`&#tJotw`IX&s($O5m?<_u8R`GEbWZX0h0=^afiUMbK zEV?o8Ic$|2HNr5)OF-P4G+F-01&B7CMr;ryb~+og87E8|GbG5zkb!r>5$NJ(lidB* zqE)8?O9pN_E=5F1>80+2(&!4>HTH?9-29LkFOs_*mX0acJeQIg&X&?ES(n98$J3aM z3Y%Em_*`jpHjBRqbh5UE$+uX5kFg~7u9mqI4Hb`L`qJ`@R@73vjCKtmLa7|o1V{vI zxM=;_YDeqP!Y}+jeL|Q3B-YH9{aP89ohFkWB2wvvA^nlt$!mgxmTH^k`u;;bPF0=I zAzhHHSEP|~26MV-4ymJ~IjcpSCmb$3Q%<32j4a1KGwvfcV)@EU!WfWn<7M7EP_eNx_DDF%rZ)oVR~y=x(VM*?y{ zkeTdPV0Q^INDe}}8w{^y1c@!$VU6W~lI(~FM&z1~e?jo$;=ByHXe}h_F;ZtAZK7k5 zYdPe0FCi}lWvdm`VVIkTiz??PrETJrdGEh^=wxNoA)gcXwhYc+S?6fYyW?&tj%{70BoWCc%^Ti z3|!4oZwLf&l_-HFnU+NU3%Hrz^Y)V4aNkuTPtEqG_eg*%UD2=yk+=03C`Yb2yy}3R zS+3Bh1$KG%qOBl<(ociVQXof|G6ezcge%P!lM%}%7H>*V3{-^-e)9Q7{<*c|kcQf+^_Ax~oXjJ63^$>A&)D-MLyzUhOa(N16^fK~hqP+bDBbwV=X+;^3S zhgc2ZLg)cD?VngH288yG zE~VX{4Gjc3^2rpH8#?QLk6y~U=lG^M=HADbQzw%%zj*~ z?(6WfsIHM&EPm9Wi{Pb} zBywJpTnn#UVqD0Ua>p^a9xP zv=qcf(LBIU;<6@T`q(;U50W_$E$g)isxtq*@mXy{(MESm;dzky1u^7y5wx{WUe5h7 zJ)v$!0xq*(Z1QPJY2}irwUAEZ~IRhA5s->6TK>d8JLPTyO zID<6Y?|@^b%GU$C$j>Hi2V#kjVC#tohnS9prVg~Oqn5ZJgyPXO;0Qm**I3nyl6Y5_ zM%1@e1V!T5m>8a(*U1Y80zCqRZTtyVzMx>*N%?KkX254DX(& zcv>a@3t$-7*V>den9PX>eC#qpm=ue1OWy2D+62@b4$1J!3R#$oAG zD~s_ge|j2Ymg^QNW&R8{`VooEVa<|(PncHJlEeEnLJS?cK*8U671WOYY1+e0?&-Xp zP&AHMDR&%v*|fo`a00LO*^ah)SJ+W~o#?Q&_Gi4UPkwxTz#{nDi5!*T_>Zy zPNpfu1sU2%vV03%c9d{|JAvp%b1l5YcAZ|=hHRdK%o11H2mqWAo@R^EzTce83mJ6O z262LN^IP~DYm80~Egc>@PzpQCY#cBeo1lE_P->J)7H3b06P0T;A1eo_Kv|QT!dq)i zNrbH>9;uNVGoXU2(J!jy7bRI$<%BET(@kKH21#S_0@kW=NT}HHG`+8W#709qpz&$i za{Fcrh1!2*I@d%H=^`I`P%vFTqI`Q=FfLj&$_)-0GadEoT|42a={k4hz)*> zk9&sVB&tAIxBoE@u*B*(mepS|fp*f_qIEdeffHiD)U&(~rExr2n&kT|${fQS04qa9 zvK2UoVPuZF(5`*#7wIj?vy9Nf@0n8<`*taJi1jE$oktPUE6u>V5F-SX z7yicW1~rI+)-i3){4P$4EcD{8sm}Y-@8hRa5xAceZv#Z(* zs>-zs&`b@{8=R!mP`ThjYjmXQ?3C;%@i(zsl2++eeQukxZ9hQofy1j%FDORV5-LUC z=FqwI4F`YDx#Z_@njY#x<@nw?egFNl{DD*7%;IT70VP8BUC75N%MnXCpUFUn_mfzW6)!sN_cMvP~r-L#Z=!?am3zh<K!K{-@mFX_+Wh5^fjD<5qrfxnHq;RX&lK#HP&@SVPf#R z|2lopB+A9Od%9-{xPion2!0kz3~aZGf%FZeD!@0A23hrPNwiRjKj@Ua+RW;v{;40( zJhVX7?7{!Mc>xKueXr7CI*`@=^zrFtN9AsDb!%f)<+PDbW33WU;?5zV0~BH2>_yhCiULiML5F39bNFIDAA$oY%`YP8we%hJ#Pts1f zx0av3-8k1mbb61hVDb4P$Pz#2DWORh#O1R;PCgqNkmNld21q)DwZ^9Pob)mfOm#F6 z^0HVBd1-VkeBHE>di@YXuW~BCs9qpanNH?DZ+5*MXBrR2gkD}2OCST4=z-wh8W=-@g0_8E zqM@Vv@?`aimO_cm-DxN5YR`$nJnK)xU+J?2pprTe4!XR9 z&9>dGZi|X3j*t#VdEsL(m7&|Pm+;0NmsY+SuIpLx)@yUX_I&ez5Ob}>;>xC z*@cIUS#rHZ=}kou0vE3?44eBX3nvXD^gtSM4lW4mJ}j~OlYy7ug|S_|PGOx-pkGc6 zF@8Do077(*?-;bkIQmr+`aJrH2kuAYee!<7{z9*h0uxJ|Gi(eGX)au(Ngjg>yNlGz zQUy{Hc*p`VTQA#BjD1_fa2Ka^kK02z6$Dm?ZeYf;2bA0=V6{_HVcPR7O>_tc$DkY< zwxO+@x)yeGTWvmjS#5 zG}cToT04Zh82K^b6iCqBXv~y2Ohi8UlHA)VAs8TApsS_40Gk^{y8ZB60gVOhCYCj7 zp;WH`r}Na19JDP6LGC(JxmrB=Ot{IqReJ*8#^UI8F>RpuSRrdyya!wjdV!!@P9{(I zHqOK6{T0`5jF{|$w+ZqS+O5h>~tY15`H&tJJyt|rDr#GeT|2@_C$cd#;Z~#Xk zjDVHK5+6l#WgW_$Pa0VbZ^>cg%|y?Em7VU!0Z_JJH%MP-6K%*BUzOf}Mjw`&pYPor zdb*q4{_1S*k+Ws6_jkquvmU1B+3h>g>@|AiVnbbh^V^fPSML4(h@ENf?v|Z%Ab@W0 z%;A~m$+4lL7MKmWjlmP6EMt{xs)2O;?N7qxa48SeY-dF^pGj+=KC7fKd?|)x!)Cab z^FrhZs4DDX;L7^9p^_W+W~tWIac%=_%e}lVqm9F&`8Z3n!$a2921vzCMHv|byMd^K zJtwEK8Yn%KjV^q^vPY{iY@&pC9qa}(j@5@uljOc*{n0@xQ&!bNAUTC$Qylc< z*|5zV5;<^xdr*$CTn2`_(6py>sg1n3OZrlrGkasldZu z?sC{cfdp<)mf6-jK^2GoGP$V81hHww5B@W|0Y0iNH5W@OE`>fIRLfDa!*b-4gbV4i z&}f4kF|55H=$5txvW&y)lYphGd-l!p!r<(@!AHtm;K>c$g5bw+dTyP2Pe>gy*HSUX zl*YH089Ij5Qd-n(ES+DSzFLy^o;?@yPCf>4!A=59ozM>u)E{JwAxe4`{3{B>+DKBD z+uh>@6UYL}bHw^CK1FYou$}Y80Sb{cpJaRQGM~Qf>6QOE4{1Anwl(9Ucar^y8wQltm1edLxTc!LX{Na48R(<`_LIL38W5<5T&KcVn^SbFsfPpmgiItS_EuqX~d|_HQ7y z2w<=#;sTEgfUjv;;Y2!o3uUxk$Sgi{@z#4nRmU=DZX&va3b=hu!&$!#ulcgR)lkpD zbf1FwS5oF~cJ#B4*kB9KWZt}+QbSi!>F6SvP^x8C5VuN56_+Z1q;bek97~ zHCt{aam^`_9}@d97B|%X-BU8XyqM`|Q_8jd{McIK7q=($(8i{;@v;6pg1}Q(U%U>= zzgHxs&+^LSM$5y(9@5st>~zug-lfr-``B3g4Hw;v#ocbc-Q0{*l!F7=0gfPB?hIaC ziCS+zvO!M^@E&fG1j9fspW6P~1>(0D{El)tQ^e7(jaSnSNU144KCOQavRx3v_TH$RrMg#hQU{G3%#wozIBIe zgDPrBebl-ye^zz3yNdg6Fm%Mqoxe+59~5&vH5yAnYs}A3@9BXDx>WJsGl!JR9IWVX zGQWYW`$L^%qfKM+Hq*!vNCr#FD;%N4>)4I%ULqhC)?alEJrM7(NS@6PCkv8Pi? zV<<05NHzGUmia=&K*jG~d&_e}`7#|u%k{htWW5Zc(~74<@L#zpIo7_`=B?;sw#3ey}84W@wE1C?q10r zKQ43^T$UJ051^|?vCgk%?kuR6*dn;=2+HjROS{XM&JJF_o$11ft5*4a<(^lFzuEk9 z$uzMw`*mw|!2Lbh$_~2nU+7glp7F^vfBP{CGZ^UM?Hu0=Ww-ZW6+KSZl*= zm39(dD%1RZgr`8pOMYh)#JE#&WPI5i)K*Z}1% zKL=a<|2fb_yr%y9Lqg&acXQv;&6n--U&c1=#^Vf!XkkOqDAa{bfhR6ih5QktV-tSp z^*67o>D#d$GoCh8I0q9_3WQQ>^a1OZ1llb$*K$E4YOgF5!(0WW(gMqxR1=vFq+uQm z02bGm!f3tY+!;!paMxeu-s_^P5E#Rl%F@0IHTSO4 z@pP)+B+jGMqyFT~Tkm@!!<|nr2Rqo9Ze)7}wA5rNV2fU2#00W~!r2GlLI*kvlzScB zaKgT1gf7G2J|t>$-rDGYGeTeW=EZHSdYRwjzp2Q<>ciEcRZ}R8j`UV#PzWYZ+!lv% zG@p)<7Xyb`#4?QOOXZ0@sT<|HM`|*kD+&=9&6`H6#Sg7%#z6$LZjM z3usPueOGz(?7@dH-dEFC0CoW=f2FQtCJ;#HZIX%qmzwVX{rf-WQ2w__3I6}JwzTWc zTY!>-FZm)x_NykegQ{#m$#v40-&OuM-?rMTxGQYSEW)P(GIQB`|#Q^!EvZp_^jQI8mtQTg=b$?iGkr)0}YK|;( zQA;M^3bJ8e3;H-B<#Sd&MOhDPTmAru2`kB2h&x%cEa)qE;>%!?%tLY&ubsEF0}X~f z9~M)T#mn)rG3`H?SGPlfmTf0;HPBE*l#j#)V?#f)O#WyEE$;9B=Nk}K!^D52%vrfV zhZ!Nlw!42;mG8nQI06_R6agwzNXWjJ&r4^nCbwO1-YGv}I}&&$Tk`2SZw1L3QuRNT z+K6$q;UhHVJBN?ZU$`cF&cHSiEr;M=ssr-l!WRtGN>eRqmTT|*JtTX?Oe+amDr4__47iGZgVpqO3*5edpwHHsmpy%pp>&TdZeTxN6fJvHjsTQ@ zu^&kC{36}2NOFWdhP0(52_=z*C38LnHa+cUXp2V#q*m+%;%CCXPE-UgT7eRN${IQn@8mrh5qfh9)DwOf?_2Ot;V*bIJDq^n>(I?88sr2}X^5034z z1JW_DQG?SEy%hZ!p-sngFOMT{F7K!=_7b%ExulAnmU5or>I}rFVjrx5|;I~-GE2{jiQZe$k#mQ38;C_4H1^3G=`L^Z{ ziCzmk0#-Tj(*#<95ox2Ad8j27A{KDQe?`i-*a0SXPv@M&@f3i0e`fI?jcqS&&akZpL>b zHIxIepB9iwfsJ{q=%JETh%}{YVta~r(aNU*U+4wZk?Ky)N6+D!a+`1DHeJyMxxcqT z?_G8ueUb^s>9Qk=akjZdUzydIKYDg3ZrqNv%J9M1(!R8W7d6H@1Mr-%G^JkzvePS~ z6|C9$JGZ_(fb_0bz1+Uy$$%r6ShNny8Tjiy)yfIx#kzg&?cthJNh?N{X2F$ehKY}{ zM(vbq@?@^^tDxq30t+%RLt?WwPh?uiszd=fy#cK@9g90RLDPhgowp-=utvHP58f#b zEp6WP=-k{~pxPI|lDor44k}B=ZGZ5de{_3G!z4Y47ae^8fs^$M3qww1{whYwcNnc6 zZlGxsqPmP!AgaI%***T2EQw+n&`);3-tF zZyTNUL&o|vGP|qGq2PtsticFf!P%33fi^qtRLJ*E(_@Fny=PhrYy7odyzTT!yi_G= zf5RT#kt3gYDT}grr{p4pnwpTwh+-{}jZzxHSCGFwC{}I-51HUae)~cOxS|4~*zLQD zy}qJTaRmsk5vZs$`dK$!=b$p#s4HQ$I%mvX@FZuaWo>C2%gB2NyoF9xFw=RXY^!GvL?rB}JK@5E5bkQD!jwAXZ zR2N>uP{Rs?yw-=)iXmis)j5MMVKs7Y#y*7JVfrAGzy4|7w1}%Jr9lT}>q)P{2nkjM zEbH34ev+Ylr+BEliM++~ry;pp)ho$62-{Y)x$$Z4CXw8C!jSaITm0qE3tzj|=I1_G zk(a02xF_)7ad<1h{P)A8*CCFHpf&;1jVRj9wub4rm0+1haV@NsP&rDR z+}NbAmu5X?&>84IhC0%m|HkQ@$CIZF_T-bHv)4z_oL;k~AITFC8;E`IH^D2ak6SL_ z$+cNhE4v@P?`yztr3$Qg=DB@X(ih^4CWYGIUmgojqEl{K#u{YW<5v)DBI)q8kXg{v zTMbyRl|*oJy-+gs&bNlUD||L$tPa!J_s&(~W`_!zhegcvM^ipU+w1+dw2no*3Ebap zZ_T9_H0@$?m?_^rN#68MxXopQQV7sjfy6z}_Xx;0PRP%rH_HPH1dTV&06lHAFBn)j zMw)0d(k}{UYu0n819Mu3b5=c&p7g9f*y_`pgCS|j zJWaX9Ljp?B*ToyPXb;hV%q2kryJSoLfOV^LhYMJUI=P0#pu_$oj)_nwy0RPM3a0Mn zk*E{Fh^}R8N{mKkZbfB0Lbi(BX2J?X1MNe#E<89Sa*0{8wPtFF0T>L|dU-@j9kzO$ zzlpgA)Y^KMck9Pe7N$(Ns~&`%!EE%;SG|57m536LB+Cy7QqpFzxf`aV$VG2j!epN0 zwkK%usasJcwoPCSk{V-OMP4$Obd7z|JjGvf{9}^Lvo&Xfp);>La397CL)=DM%_rH;u`v9AXQe#NUXzv&3Mz{el*e&)UDpEq~(c2_t@=(9+B zJS-hrIUyDMTjXxb9sMB)AW?J`3X&Zs>OdIKe!fw1q&$PEOAHhjK?!e@?CdX; zYwZn~)-BBs-gmlRbgsFd=<;xEmi2aF3~{1=Vbkx-+NViQ39Tyz+^cqmT*!a|;AFd6=&PO$uPK8OY0X*LYwR~48 z;b~VXqOjSjVo)ik)ycEu9nc-t3|ropPUe@8zh?2cJmsqNY?Y$F0h&Y?JvayNtHpHPtsNmm#2Ut^+087`a2y@S6`8 z1CG8hI93rRv|L%HlB;I2^7_gsg)g{LPnG6u1}Lhm2v8)6qAPHP*0dD_S^J12=;&h{ z9leHl0ixWG&^mqJ^ue=S>@Nh#KRS1g^w};`b?}K^Y1C)ibmG&bJ`P{?Fh|a zsC)uGi=jd3Lcf$0>y`jGouw_`3Q}2TLM7>k-|l|k;xt)b)+OMrCP)pAX5{H{@Ci0J z3$OZCpwMGK_8%^Km<3smw1EU|htg7!04fhK0}O91a}$BpgCc7=uOgn4I6bcyBNG`Y zp@oy3w}jjwGQz@@=>nw2Op|^vC6#C=%tX$P!`Lw`6rCeNFQ0CWAdh^t=F;@+?1qT0 z%P&6DzD&jE)?z1V&-`Pa{CfN}yV&lvPE}KDWl*b0QF@R=$S|Ux$tvJM_TNzKXdYy& z**#`iY>Mp~jzf zptteFPk?WU`7z-si7bWB!60w4;2hxjtrr2e4Sype%T0J(#5>m6ujDu>t#Qc+-8YGw zWWDKAuDcD~Q#Wy^qJ`llE|wZ9C=8Tp7v%<8O&(=Nao!F(3jZwd6ZduUGT4~rlpBsP z0WBr=%1xd)CmgV-03P2^QnYQrdF&z7gqC~|MZaz}RzH;ME$?TktVGJ(7cJ?-}*JZ8`+N=HB(C=?q{1T>l?g3wyp%~Cd z@muZRi67oaG_R!2={=gRtubW6XcA!uII*hQ1O{R7PD6@P z-K7SRX7phWb_Uj{=$&T&Bg*-jKiIeRuSwgRDL(%kM10Nx#!v!Ir9A_9;uQebB}5Tm z!0Kx^B=f5x#xpFfaq28mvfwq>2Xw5cdFSZq_zGXOt(N0x4(J7f$ z@>98&kt-ffPe35aomhxC4>MAB^Thsu4H)$n2-X=qhtYQwmy!CZYK(KC8*jDYCb)j= ztx$PM&!eQT2*D134LS?liNQ9Nnzp?zlJXm0cB~soaQj%L=Av9Y}(gKjZ9r? zF>Hu%ErV~!_ODP~?JQ5vooOAw#d>^Ne%6o9V2M3=kR@uC0zl6e1=UeaNP&W=>qv&m z{#+vi_G6L_ag79@HjiEd)pv~Vud7SeTtCg+$hPU7v7qY6orV@xWS<23QPx_IINYhG z;cNa34k{INzU>%!pkN_@0J0dV37Pf$8S@$|g!SN8$~~cCT<9MljjYQ5lxD4IMD&sD zcw&6+Txi9+@Vv!FXBD=UsZXRMa-yYL(=%(_;6YjDIlnC4(UvdLJ4;uWCVH{sGjb8x zB4qj0xA+|ISmf=~Q{0>*ytpfLh6sy|gMC7Yxk~>SaKh(omubpI<^%NSV(@t1*fvi1 zA5F;Q(J6D|F&DAbH`JZOYG=v_EY;gJuTo-*j{ z8u`(SxSB6p6R>~(?p~5+_t$+OcPh$)sR0&&jL+)o`!mEo&0Vf1DG*Szm^x77&V$%TB>IT0Ve0bWhY-@Y z1q(AIklRTn**@8)#7$}b%iTjn)Pr4aczncLsLhT05w*YY_=#tKBQp?P#j4_N|a~9RKb#@>*bMuk*l5KOw<~vGD z@|gwnxQN2W`B;n1_Tu~s?c?<-s07`1&Aa-_IiGHxyI9`bHbU=RJWedMa~;4hsQt5D9kY6Sv*suYAYgSFR=!dE zX-*ReV}8*DaC0>yppsC3^sS?>?yVY#?KPhsVi6ufrJaK-V8wC0Alj)id>Ky9CKD9PdA8P zUjZ=eLmmwr7%MbjhJT5S;*&p=0myNF90BA&*On|>rR}8McK&afXlU^fmW24~hro)! zbRTu{%ns!%orRcxIiifZ74+AWL6G~d3Gh6JsVj)A_1{&P;yy)2Jz8<0w!8(%|6X57 z+C>JWuhI8(<}!F>t77eIDvxv5N!yBY5obNC46~FQ(VKnwiI~ZIvX*t%f4jok>%~fr;vP?Vf3=E zT@RVj$A&F?tdXmOccg-m9e@JbIHHJFfb`Kq4e93*Q7H)wMUQ2!B&170LOS8Faty7` zFe`r_p)|%PiseVx(FHq0z^5cVnQM^9&bKvMJ<6Y_nsWGF%R5t zEpxd0;V5^@?ul7rk!kO%(knTwlM5~W&9U}-o=}G`ECu;~yi^ydoDK|dXc)?WuSEa9 zR3(r%1Ax#$76+Drg|BuK^!-eF!%}CQC?j=}>zg`d=G&kyAw_-K|5{HcGK0BGJd*L4 zcp&D{vBSAWzr0<5t9~Z!ZxL%I!~~p?P;SmE_H~Br7^%J(IzSc}iAUyt)UsB^jJrhv z08%80-gyv*khVi@VRlX?WB|BV;h#IFyky>-c$+w0cVoiw+@0W&dW>_{iycFYsL|PF z{lOa*eB;eko}97~zgJv$>6Nj_nwmdY;%ln%;$QeM1+}~bp$KDf5*mTsdktSY65BsYVK;p40{k|`mg?flt|??c+wJCq(Lfy8Ly0l?nojn1^O>dSlj-Zcr4ogzRC{h@E5 z{_Qw4!PhYB9^cMp{0dq+(cL^v5)9gh8ju@1*T#h5s%Jv9he!sB7XSXa3-PBgOp`iR zW5cuB`oRmeW$f-Ujyt=KnMbS+5*@p9uTJ`~;L>BRr+?nw5zpCte6O#pjP@1e5E7Zz zg-9>3P0cT^l5SVmuw=i=b%q-J|N7P4`kxq>;b$Ml0e+`Vp`L$6&Jyv%-|_q*<=uSz zoPo?4i`D{Lk=Sh4gGgNN>1stC8(gTi6OghcW^J6jPKz-E*Q^6E@gdx{#=uv~?Rg#p z#`(IeL6o=cm7?hFS8tVO*hv8ILiI0jSP+b0i5*~A0LJ@HvktQ6*bGf<>^11TPJWf* zO~3s`<_V#NUePnWbqtLC;g$#D#T$%El@Qfsq)hS61<~oWLEM8sbFMPjjqvDOf1VYi z+MOG$J%XJrRM>Ckmpr&hu}!;l$8Ubv{jvzhX{vJ4`!Pf#(GS7DgKj|17R&Y#Nv#s( zoUbKN81B0cQ)OCAdlk!1i-VcD&E=gS8EYg7Dc4A9V6BOqY@j!>h9bA7y@@MGozvZe zb7XsI*Df3XYmgxSaat3@5qu`Ko|OnN*A*U|Q6W)j~QfMQI_)dSG%5kx2C7SIr&zuHr48`>v82IZxA=G1AiCk&1hCuqJ#8 zUk!Lt;HVmq){cdn3#-uS)U}bsJ-dINMrd&%S$lo>-XNWEEA3Mhf1DG4r%P%szZ*5F zk%jR|HYzbTT@zb38SGovj4kl;T{sp~dA8!@onViOC}&h`m@e1LImk)hzjeSrT!{hn zu0$s?Kl?AQjW2{q&J1y{Nd+~-S*`o?JNr+t)qi&X_GY#74b%b>T?l|@TL6eVL6)=u z)d3%M>44Ek+CUNY8q`EXLt*XCYEYQ)DAVL{{&3-g2<6rSZ;4$RQQN464^9N{HLmz| zC;+8YG@I__iE190?^QQQuWC3r2@?mvA#)%;f#By*YkSh2ZKvHlN1XRSEpwz5ib7{Y zwC6KMsKi;>?QXf?AswB z!v}hg>kl@&urP9jS+-ZY5W2dLJsGoLY#_#KKw(gf7w0$P5OE$mg zs1GhWDmt2By*@>g(OFxQ{ybnt18W*Y=ZGI4a+wOem zxd>Jo0)RkVt8-(DtLr>>FY?y>T~u z<(9*JB@d;yzhb|{2LGJ4vuYnA4Ya>SDZR9%)*vB8k)V}ThCa+8aFvdbKd#r;Q``&d z2ABaR$cL(wnjj9&KCH+@%udKrpxdYCB#lny_oJ5%uSx=*XS0L_bRD4!&-7%oKN48C z#^9hmQ^`WSahqR4Pl~|R0qLt3Ur7G|Ws8VK-g2WHhn~{<-+ad}UAdz544A>7_2+k$ ztCSxyJ0;W+v|L-;ZHVXsd@D?mGq0g$nin*J;8Qt~l;R^QmX7%~<>HPLbp!16tUWnj zJ|&$~e{or5lGO($o5f39^8`TTkve;`xuJ3REtJ(UF_JWARa0o3W$1fSQA9F#FFj)L z?3X$FLPd$b%|ok@xI)*R>viv}0gu%OZAZ%=x+&Fw3%yV!F8;1^0A|D*QI@wb~;C5WeV{RFqyMZ_CDtnl>?3K)tZ`4+<8Ib{D z3VYIehz4k_@Qe`EVaKTQ@R0$69v^i>9`s-arb{w`ZsB+`vqSxI%kr_1X)y5SDiJrg zfZjA?>(AUI{@B374vKPK)2m1Djt8zT758Gl1qX5$dA+3EXKl07Q8H)usPXrWv8{7l zyi;}cT!k_msIM&y(b55Ud5UhF57E6jtr;}|PYl_dzA|3xRP->$$aRWbJA#Kq!x5?|k>2>KfmXxJ#+(#y% ze~i9(*V0LC0^Qb&(mRj^Ut?D=URaY}91g4zQ+rCc-ynSs3vSq&m^i$yCZPFF7+tBK zK(FNxvfK3c>SZG6j_%=K|Eab3lzhk3o={OT=hu5H=1OGXwa=}Q6xW6c@0xW5*u`C2 zL=SPU_RE&>yGNl=05W};cgW{NT%-NL>z=Y2%9E)leslY~`6N|+{z!k}h-gLJKMR7* zj=EXL8C59hUG&EvKLf61+bO0#c(nn#XsJAP1jg$uUKK1ieO-aTOTE+CuBEX#ze5n# z1y|u=v3%+VD3`OTtmTO~w=`4;G;+ea@{_8IUzCoWhVTJH#6nG%!5SQSVBIGvOOd^s zv5LBphKSG{og5L|%l*ZVA~fs)f~)JH?OuBxe#=!NblinU-hQYLCli{~h-c4lOI(j7 z?iPOT3N~9Yn2oWi!nDwfk?~ElQRmFx>`(2@q1%?~W@A2Qd%T#==f)SkQeH&xzaf^6 zP}^8CXKE69xfp@*=mfS5PX4%=+@PnRhIIny45ljH;J7TSJ9|pbIku3YIP2)=ezeS`4+I>Up#YQ=NQOcF3;o;?!)cJ?bTc?|vd6|)x z^NKatOoUsL_+HWWCxc-_0Pg$_4sUPOQ=U?-UUuYN#??k%lV)ZOuZY;fyUwbAwMX(U z@=2a5%Q@#x=;m`l>0Y~V!MGU1i_6?z7tEpKy>t7YHu-t<;G$DG9x3ShWz zA^1Z`$W(7mTeedP=2O#%zOs|OWJx_=wM~?^oc-e*I_lv|YbqqFg2faDs-oiz4&Gky ztlAPMS_rziy}oEt77oKt9CvdLuf&1bzRQrK7wc2hw$N zrx8r-PFvoLz_R3yA*;Wud~)#t9%t1xu>59Q^Ubq6sq|s!yt^-A6Hz;}|4GanXRTi{ z{=Bz7el>0C0uRvs3#wN-`e7weg3P{T)9b-*LI*O8;E!A7dA6mi9ji6{x}33c^`*V< zH@%d%)xIWPg~@e59k!P&J3`#6xZ}7-7ECmh{K!x>hg6l`O%oJF0dKYy5HpOW z3|jcVoWEYAs^~~1&)x&qY?_z6ZY@fl0h)qeZb2w3_upAg09m69=O0=_D*w(u7L$08 zb@_@Q{X>;rB5enmAf)1v#Z>-M0r1Xp3a`#gaSweH%xVRLa@H&x>4K!uq=EAJw?4%M z!rx0@06@QGWT9-YLn<))FG}@yKD>1uJpND0gWy2_!IPK6r2`e{(C^N6SQoxAalwrMusD<5tDn6H^_#}&FY469r;(P zgncV#ihxRc&IC1yGe3Okbu|GYR87Gz77MT;sfT50bYXEZeXf3~tm&<6lJyT5 z^12UH8l_-d#BB4A0hU9-k_1+x2-@{YzNJ96o7CgHc~H4t*`qWS)8>+77of+mwGgbG zx)v@3N4*09SRj5m*01-1zD>O$)F|-#^D}n^e@Sis*9i)HHkO7Zb174r+b>WNctu+7sC1c4SD7MHYBYQlwh6 z4j6R6*L`pSU>L;QKv+o$B}Oxav^IkM__tjB3xCSoi3TGv<=d`)o#>zEF70qyVX+N= zM_=LEpr9c_4MZu8=pTI%)a!6@(}{tzL$jdaty?qYEwm$kFTtN6%Ih2;Bsdx3UL7+m z^6b?5YVz*o^YcU^6eRAD&L}7(bGd1w1n_RqH$eNi8<3QO@V|i#O%h!sx;@|#&Izdr zpFkP-khrY;%q81`#~f})6(+<|JX{(YW0^CR00y^Q-F9os{A=^}OI{(zZ~J2_F-}G! zjV)L2{S~RR%{KqUy`X0D1$TO7U}?PFSHvqIY5E*EAwOjgPwa=j3EtJLqmNS%0MW{( z$!h?2ZJ?XHZjPx-=yeh2bd4p`YM?3?31j)?jI*}n#Ne6wrvS%UIqbWbd+3d4@1G7x z>C?mLVNLl#0od03?G`!;U!v`h z+*gKB0z;t@{ndC-?k4UHX0gABV#umU(y(q|TT=_0Xe>br#^m(@Q$~C01{%UgPS*A_ z4lmzB0OY#|I1?AvStM7l&E5@^Qji?1K(jL#?pK%aHCTV3JJ30Af}+Wg>@NRNoK{56 zc!L6BOt>E_zMPQaGEj3x7=AnG>h^qZN9*u6Tk3B(m4uoMHe{m)uF!D4bGW!d=!I~b zZ_&N!IP-2RD~+$^IR8}6vO79@ewGAs=KsRSp`TF2UUrHnP2BQ zF3BE91=i}#zJ554_w_6-%1(?YZoJ5k+R1Lo$DYC#cs&buTU(xD4p z4u|^b21`1pdM>t|%373ORFpGUlSU9f6ZK@C#GfRsO<+i${I`Y?k=$a!ZD0Yd=@K6% zplD%3bcR1Qv*qrgB{TL8nB|d_1*~UPFcvu=!Ugs#hj2fwbUTUZ&uIOp%?sF#yJp1$ zcUz+W2YYWG)6I50&j3ZWoL^|v|CcfLD$&-4B6?eqL5{|G}WsZ@6D zz1Ldrde^(&3eyjNjb@uBL=wY$KLq$Ey>lc#`oy6117sq<9;8Iu#!JOcfN#|ceL!3V zJuz)LlndOCON{u}EsVP=-6{J7pRRTMDhvp3yx6k;lxp6#fU?*h?jzC8UkvRqPSpTi z(!|}!P((VVzi?^oxJu(hcn`&QFo(as-z=h#Y6`b^(3Gh=#Fb60PK~smU^b_JRgVdI zyl6$wvbFuY4@aqGv>muyvpdg!Iyn^8g}Y4IlZwDl6wBGP9bo!|;0Ch^%h)HGZ=d&5 z+6Kv2EH=M@IfE8SdHr_k(c)9Wkgu)zluy7WUf)t_lNnoAWt9@}P&X>1<@slQ*>0F= z-D~D!^~Zp|c>Ptvfa^He!xkh0eb^tsxs5=Cd&PHjK)qPpTMvXaaoxd6aopP0yDp~e zMy2Z(*z$@e;*^G&K;w5OMrfM}D|yF9y%yA{^b?R(ZJZ3n#~tKDa7FsAAUm@Y@3Tbq z3B<#EH7l^L3{rV{)nyl)66&0;<}h7KW6#yz-KNW%N&n33wM#T3p-XhZS6nm43SFom zzf4;_K+!k|=X01~p_lTbYP5mo7N(BAly@N4k2SAbhP}5x7x8e0ldr~oBmyl1vvUHu zP6)Ip>qb%8i-3@c#mnSi{>JBq>WU(u#5N9I6YXHbXK*rg6?eEf2J|o>*SFY?MXYT~ zjmYt7J}l2>dn>ITZNo*&$eHf=?ZjfF>6bvcW~4Or z3t}xkCHT|~MQQzjw8ANkroM43O)4JFiyZ=-v4TUlUz{ugqVeiKjcSIxKiREY@dxLp zm@oC8w_?l2-hSSJ6%{c9@~@abo;o2Em~VHQ_Nm}m>V-67H@aaX#@T zS;BgxKkeEv%ZvD}?I7qNeeWaiNdV8tn1ec1O4mSdo2Ay!*iY0@CaAFa0<37{8Qh0` zP;rXPX027FSlMJtaiys`qjrF3u-GF`cH3(g%0c4edHoP3M54o>ICmXi=t z!oc47vK(zmI=Ed%Js{n6LAK^0AHHZ$e^>|3q$*DhnaRHGm&zD-6BJ?aw@e|D4Bdmh6RrR5Iw3*bBgj zB2U3dbXsH@Hneaf`K9dq(mt%iWx746OpfuaW!u( zYkL>`_UQ`IzbjWS)FFvK$eYo+{W0?o%NKontTZCl-RqE@Vfl_(%T}f}YP!w=6Tf3% ze36HBGM8kF@9V73(6}SoY_my|dHFM7Op=QCZQO3~YmW?fe}DLzeZrb}N{+(tOPm`? zCIRp5;Ufkn&**)8!L?5^6^^7qjK;w!92eHE9vMNpN9HAtn{>x>cs~r;avmaVfo~ku zGPs>cQ?L>r1mRMRo-p77iJ-*qN9YYzR>g%xlVo&lMGw0s&Q@{>QOc(5MK}2awB15^ zgrGE3VtO-UZx?Gb#kjeyeMGo>8yiwNF}BmMz-QB<1Ht5jKmJ6ZwWp3{JMPY1lv)+z z=;~^}O*bS$Jq7QR@oB}T+ao=x=PulSFB})?Y~hwxFg*;*?an}ZfSVlpxj1Kp0UsJJ zEZ4X}Haj47q-t~+s{MXH%;-31#^^44F;7>2>zheCAFE{v8*OZ64rn4|bore(Mjqro zzGPH-6p{Wp|)A%~+VybmY_%a0yqQQoKX9RPA#!+pi%aDsb;`_kXEEE_sAq6Gts5KCue- z)}Q^t30<*7o`P-x3lQ)jiXjyimg3U$b^jaMPco-6pmFm9rDLBD+LqGbwLyH$!bBWU zTNcAUO?QH=oA#7T!^(pHc*g@9nD4QSWgd3ncvq0FB_LZq$z|L{yCWs91VOVjLb}Y^+Iu8H7OvQ6x!n+eZy?cmV2e3@7h}8O3x8f zR9MThOS1yv+=j5+6uA~b37Lrs=lQCekAx6M;yiG(C669^mR z)jC&W3cJ5mTgaT$2bTnP|GF^TUo)MYv{JGY^XI3hcZtgMyx`HjfXALK-QaDxE8&ikwwLfCF0(n|R@v5&v z4VlJn$bHYgo?L$QoytDz zRWnb2FW+%QIC?ZDA<#&LxR3jJsaLOSC+Xc!zo+KjNQ`wz+LFaB=Q;)UmiqSxkd2`% zwrt&loY9NDGG&Zpq_o4)x++iGIk@O0dQ%PJLc*mgK;CE4&;uB z`_$v=1~X#fvlY{uWgE}+rJXKOKks#7DHkfQ2k|lxQQ;OyAh=EBCN-2@l&995+*t-s zfWVPuh7j)i+bF!lXE8wO^wIW0*?!+;y9!3NwAfYUy@rFY?h%NR@k5PJVx>&wlO!AI z1?y(%+_m|q5Y|!`KWa4L1P~f=rGVUpgM0Ct%<&D-@^YTs;PbRA96T*L>0P)syjHg! zr;4uUw-{yI8d|Hr&nhm&cKzB0{DXSH$@kx#T5J4NCnUH$T$T$Zj<2@fc55DNx-O_V8)>Bd|}2DcXO| zOIM^#&|X3C(TTT-l1AA6)=(SJ&`CuOh&61x&)lm?u>zSTdM+}=nJ}~6*7>(Ar$<$1 z4NyXW z!D=&0>Te4(_y^&niU&bL=1P8m%jwQC{k0D4Th2Exyi&UkDEXq+7l(O#TY%l{t*zKD zV|7#-iCQMSPu89~fObc726TF;It6Qj$t&LyFMduj&#S%XpS;`6e>Naa zw#sAIJNNpT{S#`1$BsE(Icz)~P@Yjm&aQps^ZtXb@w+HKp`z4lq0|O?9x1>|_ptkx0fG@{uqfQj9QZS@3Q&#)n)NaI76W>o0sw`_1Ua`w zsmL!Y201lRAG7ryNLzh>{GT`mta(Tf0FdnDCAjftxWQCtww(aGY?q?{$$@!N^e-9) zr8LN&KcjO|Nq$#%8~}Mm-mqh>e@%)6VEGBI0O;wf2T0>=4`HERPr(?lfSU(w0OV!> z0+r5pK%SC3vu!s+st)&}slpAwHNP~ffZE_dW)LRfWoG%30i;%X8XyY6pi4vwKt>9@ zVPPAp)-2nNk?kOlV-R3}ms2tD&?^8;uu)BwXACZb3pTG9=*&2HieN8Y48X3^N-xme ztryqRucnf(5S#2jI$h4~CY0hIg*uH67`bE{2YCb0k$vD^+_vFmb`)@hIo$%DP+pfgDu)O!ydpo(8 zgXM{B_3PfnylYE!ue>nvsE9{PU1Og!dj4xmTEh07?Ru8(EeDw;-TjPK0ClSaZGaaD zu)Yf&#f6wMrATzM7y24guIjFpCJ;f*>MZr>CfZ^oH+$H)#aDpPHXwFJ(2CJ*LURp# z6#thFDmiQH)&LKot@YG%YX{11ITYG@?U^rdsBFz%skJ8(zr=TDxZ~fz3?Y%c4wYGJpzxA7iElHr<%8Glg^WK>QWd*3+g(rP=w;gaTDD|JH zw&BVLQjDUu*Y3G*MH_9`UHu}r&-hV__d`#m-*Lav`xgHqzrsE}*KxcA7iF;lX%^C> z(dB*@SvPViyyjcOFok}svWM#Q2q`Mct$0&d7%Vl%S~Cb~R8oS6 zLD9!90}C%O2SD&yr-?hIgluPDn|wmEKu)>9>_+<1ky0Y<2V@5B5poV9>4J3gkEvoa z-2D@Tk=f+9A?)G^7V%MA6xAuuUzzyDb2QXqO)dQK!9%an^XOv-_a~Okw;K2K8Mr4FJvzq?$li#VZWSiJkZwYWh4%a_0D|hx@F&snzcgJ1@n3~ucJ@S z&nlkHUB@;!kyZsKX-qPS4;gm6Q2Q!0&~DYFKCvt>#gYsD~V{6HlLY86_3j*`}EALyW( zDE5>VjcBdMYmE9fBm?D7aK?4GK_2cZ13nDJ59rHt%v{A|s3t>LGoVIZBHP|QK~v zx6TV)KyeaO#+m`IN+C$d=HOJBH!M`CK_&1BE%Pp_HtC^JE;HUt?>^#=SE1~}uS7hW zF50E%b0^=*T(fMvh58yCtqr!Ze@up_Ydg!KtVa$vg+n@&avwIcuE;_8cBamr$~Bh# zM(wDVow;T^BL)XsVG$jrCQvrY;6T^e3yj!2S5z~4kP#E|oO*JQJbx7TgD>J14i_|; z{LB#+@K=n9#MMIo6G&*2y7=w8QI=YOR#Oj;P;9ZGlN>-cBCl*NM0*`9w>JK=eP@T> z!L-1Za$aD6`5WE6#}et~3B`{{#2Pf9w5gdz|d{yBWWqBD?mwv~G7!cS*Mi+VjXc%f*9tkgg5_nw1de z7ust+#^ML?8352*LYHBcuJBdSl~BE#JW&q#LQ9%uJJ|C{EZ_xRjg~Hx;w@1w+6W#U z=nJ&311e*+N^qimO8Z0(kU0cf@e$)`biJZGgdtY780vEmU7;_^>ZjyJKjQ#daraB zvIMq~i5N#pKpb@CJcaW!(kF~?Juzn+F^aZo6Hyl0vO{mm`WM&Xl&1X7o&u`BvTdcn zHiD`I%MEU4fHD(f6@};7Zm=n80{G^br(ZuXW=*n6qcm?~c10EV@RDj(I?xL~rH#E0 zG}auO_KLII+J7NHkN0w9A=OnnM^C~*J~(8X(zA412_(NyRm0ve!|IQY(bUDp(V^;b zAR386cU&1DdEi%5abi6#0XjuWmQ1Vg@QVG(`I#ga6?`rw)~d%a?Z)_NsbfrE?&eOL zyu!|IqmRF)#X80k^MgA}@m0Pv6EdGUKZ3P=|IpeIoG+6XBtY{Am!&1A*p&iw_G`mM zjhn&Y#yI^XN$y}QL)nj|^Yk)J@_?L6aReo^9Xsk}{7f8-CnJW7B|h>D&{N{id9j!Z za$_G5M_5VmM?2lxEmje|lq}{W+UgIyx8u(Y7*()(Y7PhqHzdZ>KQ#tv(L+rlWk&b0 zck+-lPR8br+>8!r+$*N>2KsvWE+C5eHjwrng0rse1t^P<5C6 zLZg9<>>>?yCs&?lF9ED_@>Q=bFwb7(YXan^Gj_qol?zLE?&JiK1?fS;_1C)KOy$~F zt}f^Lcilj?PYq33K6U5$I( zhQ{z$EC|;jKE)Spa$};U$2w9XEr3bn>8jvemSr#I-p%KE)uF>b%F!a66hBA-#GETyi`OBX8TG3v(>-d z25cGKhMit^Zs>fw#s~WA+=&umzd5yC_8BatRbbj*!N8yJ*9q%uz>cNp2_71NkISsf zP=@IeSJ_rJa*P1q1fQl?G$&$CZIDfx!ZV<*p52mRhV2Zx*v4p|<5Q=z2f z@y4Xf8*g7(vROIOKI?uY@&Js*Rj4ilqhPU@>LPY+QhG}tYPuuc!x^%3mlAqtizs7t zp&46{Q`uwgxtx9io71L@gdZ#Jtx*%?KMmVb0f&5wu5t6uGk;aVRnN`#bEyi9B!0CX z2b2ucI%YZzfMv#MBAy?+rSyHz28YU?WbIEtcbFPPNSgJQOw%1M$niwzITafEa(RI5es(J(R=E zs~pk`ux<8I=&cC=KH;#%Ms_E;#`zJ_<7q#zx#Y5XfN@i&UGzKl;7tZ>3#k0J7$v=N zIG-C9X29hDp1?jz!O#&4fFE50ZjC~kbPG-eQ4!=vDqUj>)`Mqnh_NE}sWicO64bNM`0p_dw5w}L&-Zy($=*H9 zUaMsz{xnFaZ{vctdkxSf!df%kQ$zG?1T~rdeFWDuu$oQGq&svNsS*a<2i#vMe!f#c ztUSl_uhJ^b#|JzZPHl~gV&-{z_^Z2gHp{ln$rDCyts#TC%PI($8lYS+WhmOUw-cXD z2_0fzHmb&JAc6HZt2ucDO6fC4|5WSP&-z2WYM0o0i{&0yF09|ODas9cvnj@TYiB_q zrN1aOz_8jg_{*tWucEcmy>8~fWJ>#{zPijXo;S;srKsXX(46WnRIb69;3)y=#^~^& z2>`Pz4vGWvqT#Os@+EDUeVHt(@g8gquQRP>#>#AktxldjRNFk8d`b-H3l5q%nh5sA zn!9k0bg8%`36yoG7($GapO(R!5VitRaIgck0HLoMF^!KDVpou6Lo$jpNn9-^(I~1Q zn`COAsn{5mpX-0YM5WJPGeT4&Nl7lXC7)Bhb!hm))_jGt`C7;I^!f`bFHDBk&O#i8 zT(|BNvkzfzo5zz9x^+%hNM&t9`y^mGNA6+!DBWaXdo4DgP0)HHfZ4cz@~D2=^_jH_ zDX1?2t?V2E!h^IANir0{u5>k#<7Et6By{Yv-%+k;-7Kj%oo2qN)3(!v`?~Y127c~V zut{!48`U33ebLv+7p>DGBk~cP&@1=Bk|6Xk(N*2lt~ezSpD2Hjm3WY<;&j;V1kjJ_XIp;S&Iz&Lxy;jE8{ot7wrTXe<~H zG`9CsJ&*%KxaBfSSSRJ0VKwNIu_BlbI+44S_D-%p;Mi$c6x3v~7bv@16`dp+I_T1a z*XtgO-y1Mht1w&t+0#6nkLbCA?kr-^Ub&ekx^Wmn;z5=DIm<0fW z>T@Bh4YQY14GI?aJh_EL5x5?lb4X+Zx}(=6!nYw~TOvo(u66cNTz2f9Noa*%MKZgq zR*hDlqN}Tu#SPHaxlj?1A4)bMZ?Y)$U~u;i5clK_X}ruB-PZIHJ&gLcK_!gwW;jh^ zD9^A^L0>Tz7#h8?(4=mJ)9KeHSFihp8((lXP6uct$I*mK?!^Nx3Tn{%s2r@&G>79S zHD*5-LBWsf6LM@O*KV&WF)hg6=Hl{0Qc~0!H~amLOBbx%zj$$syWX(`8=cb$Hu?$f zn}6d4RD9+IR92H+_yxFlb_^RP+TYR;l@`(7vWuCbPY-ELtz@x#^N?;mKl&nOyl-*C zX2eoB%+wFzje-7PsW>|5eP&RzX+TFasVPq2!B}!2Z^S}_6r=HFmQUb;xI)t7zWrLvheV6@)jcxX(0e1PQTHk}E@KkS7daR zk_flllM*D=mSRzLK++v&Xp3-XfR&2R{Wvbgz0L0b1gbXbHn9gm_ymvg`+np|fVXh1 z1-zXglcVT&L zmRn?H_i@s@Dp|dHp`gZJglL+U26r2f`yT{t?IS;`ET3gnD4>DB#+DOcGF@h|Y$&uI z2X^jW9Q+zwM1h4`8{CE}w;@LvF!1ausS_F`+BTGj0=MQ`C)^^%k|k|#aivhn)H->Z zh(Oi~?GvK6w&w4#$~ob~)F2gfKdEs_fR?iezZi5FkTo(suqljy6?oN9U5ajsH7ox$<^p$afXncga7B{)rJsl!BZbxtYo%$P^EVzj!-osYdvBfIk>FnQD|?!4d2-5K zgRPtXG?!c@4LdPB`*}-`B*XOs-Gm0foMk^eeNApJDsL1<5yHj(~M- zb4thY5x!q-kC_eA({h0+Jx1m&w6pRk3Tn*Q*45F&-PcO?sI9J2Pp)wH&MfZ;7Ma#} zjy&A@=xTz^X0Wo$Y{InfRDk8ps}AU|n5~$`B>_SyR;F1g-Ae0+l+C=QKg$*(mmktz zKw8uw=o}O2;Mu~hDK~-8_(Y>dkooHeLQkh>xA>G$SC|=NW_ea*T>FUP+Ca=6;MdHG zCL%-D)1=N_A=oCRc~D&In?VqFb_F7gkMd``1k@7e9L3R zYg4yODc8;Ogq2xYhMfJ z%Dds_X=P{dqCCRXOM*+qt^*=SjN+R(*q*))t%v5BIoy|R6}L5z*HDebpMaw|r~P2e z8Cu+kSv3ZDO;gOu1LOifNybLR_tfI3(;Z|Z5gY0rzpI}bb1x0iP~h)BFgpC?|uc7FJB z)z!QYYiu)Y`YH{k{pH4XSZz#$h1MH0&wFDuHPC?~hmyk4(&-3Uzqr9`UGLL8Fg|U| z2P^zGp}a8l_t<0dQs5EWnrpY#u{vcKG1jr`>fS%+9XBk9UBBgROQr4$^zBkc%Ims! zH~=dSW?*2V>v*GdJ(Yl*lpdh|CeLQ=puHieqbq@GI8K?m)LUR@z#AlU(zTl`RJseN z!g^etf+vhQ#=PF+zms_1v&flu zfmD=MTqyqIM!tsQivo+|O(u431vvu+5l4ac!P8g&I=oX8qCbF=y&?o`=|0m^EHwID z&eY?6yJ=beg2+fUkd9rk7Q~U!N}$#+UdQ4d2vLWWDiyY7UHVHO z-)8OmuzZlY;$-dVxs;r*h7c-gG88-X+=RCKJEf(Q1(0l6`@I)b) z_wM#<&7)$r=KL+(g*Jd$eRKjb+J~;~lzc$CrG5}645|l_)wMbyv;?7}YL&8G6LVN6 z@I&hL2boJLIDj1f0j%pmWS^8E0w;)t{N&lFa=`9!cA!-E);S5G`~*Z$b#Tx;8<`kW znpTs}tFDgl05ujw)6)ByYhI3~ez;QN;;!eHB=MN5eJI`i1%oQ|fwkx_Ph}520$!d8 z@L6LjX8|2C7I@rEc{CMj2pn=PK3j-Y;1q^oA5wxE+|^_i$uwiwI6o+W2!#lE>DGt3 zc1$hvu7Rhom#twMoq7Om*1*80Cq#Q#IsiQ5g%2J?S7_*Hcs@bSi5K-Y6#24$ya3;I z?M-!m_Xm2)&&*G}SpK$FPYNhYmKXKbyvcR=de~yxCCzS@2YJd`M}#Ct`VL*cNxN-2 zv|e6q1^d8^1neU&U`0G-6yszndS0D0gBFV-&?~Xi-G6?L%oj<^CZ-178PvO>A6NdN zxt<(t>@<3j5Q!yghpEX96pUG5#pyY_-t`gZlumfOv9*ju+G21*rUWw|BuQP^up?Fp z?sDOJ_LznJ9 zv#=eWO5xhoV7mKN<#BqJ=Qn2>_;E)&I$eD)OnOvc3teh>_jwPrY)pJ9V_A0YdaiKp z6W6Z*Fjxq7*hnI6A-E8G+Li%Y2Yb22)_1g4LK&+#Z=?!}56KqnkrCk`;j=eoh+(>l zqnI2WFa;@*G%>M-ld?H%{`=LDU_D@T?=sP+R`0dkn z{)|l3QTy9ZM_x2}c!qd7;jL;IgKb}ddc<6MZT|ozfs2j7Rch3+l_=(czYh>7iv^6h zno~lX!lXKisEn!XpRuq*^eF%4>JGP%*e6Av4NYqs>CaQ7h4MJaCt$6_NS=%?Mq9kr zi7R7in-FM_eA%#V-Y{*axJ`0MY+RHxvdbQ%s9Hix~IQ@ese{qlWaV7gKs;!mNT(l1^AT|A3Im4)Ug>0@w9A>iS)qnvCy3|1Nl>n%?-91sYV+$50xLYxpU;op7~)m==Dj*bOmRO;XP(|o{(Qu zIpvR@%D=(1IbTms3Rt59aKVR@_5;@N8rT&i)p|URm)6Yn$PN_k(*JSIsel6<#zGqC zp_5Zd)g2BIbQMKS-I<6;Fpi3{a(|qUmoLC+_PivPPFK3 zetPOOs6W93aLBg9gUXoll}|E4rwMxfP6azL`X3CQhk+l zVxyHpyK84}gctLp@82M+7ccE!&g!e**j$+K<bTAv1kr#0NNI zeasyBxnVaSSvC~K7~D$RIN(lk@;C@Ei}_w~0j2U;9Fr36nan%VUAP*_svqN2p-JTX z$IX&cW+f?w!35YEgKRMYsWKg0osv5G+DlJf3=&ljEtK&>Cn5WqJ1|Gj`cPGW!jdV) z-)yVtYez1+fV9;bbZc_~#kEm0kxPP+FhjYzzDh#^CD!fA$1h|RzO}}vd-#)%o@2(lc@`$&wqqt%}g9*8faYD9y`XefVY8ht!f# z_X7VkkJ>`Duc4w?sW~u1Zs zlO1gvrqxxZ?29T2fzSIh`i7yx0yr80M43>1Gh!4Dl(Ury$WaXZ04iqn4MB@QmrM|7 zwjrJj6F=vi1rVJr zx`j4@G9U6y*#R+G;(Y}qKprQK71EM&N2+j_ z4RWs)eP+_ssK%Wix`Nq@M@^0v-$Wwadun`z(k1V!D%xx8@{SYuZtwn_x4+E6y-E4X zhpWe2y=PcOGZn9N_jaWizW-n#njBAl5w`gj>?%_=L6??Gcl^z!ErsfD$@68}5%>Fu zuAO6EKOmO{wk@7YLPGt-suLbXg|icvYpjD#KJ;*}ohq>;7y6}wuG*ASUQx?%qM}u^ z0sD@mwjfOi6AZt-%)3&2ZCbXK&kGmC7Y{D|oN8x+s&)B9%J(;XA^t5~XY z)>w+mLuy{vJuR&$c}kn6ODbku3`(j()YP^*KAhOoKW&#E*jj`_VYxdj{kOkK&t~f# zJ}mDDr>0KgZs8DJC7GtVR1bYQU=H(}2wa{JAXXJhbhB*`u?X=M@F>QZ1=OYOQ)$~y zJt?aJdbATpbQKa?<$dQPLCnXOy`Ejcn5CZcby%PR&mX%Z-!*g2)zBnI;RYW9KXRb~ zJT1zq3S?kJH}0c7=co(tedX?3J&q%{Ld64h(A8+rpBL)HexMpoIKukP0&=?^^6 z{iucj2X&zp*fBSvjRe>^ZWre`(wYg_`?S3j@?o?Yri&KCwUeUV%{>>7;q@Eyqs`n% z_xlKbGz&Pc{5{j0bxXKxOV{Kz#!U+HN(}C_sC8mv|`O4TrY}L5FKx}tf=Ve zZw>~*6G|kE@(wS*uB*gN-40v4cP$xI{Gj`g3O3tFovGxW9TPY|Hm~|f?9Wlhc}L+- zb%d)LPGg$4_iCMSp&5yLV~PsPY<_ufeGYfY?B|<@^v`4-B2T=I;f&tK((sA5i>3)v zrdlSex@)thj>e%Fsdmf2Ik3RSO{c^* z^A#`gd?J7g$QK4gpaA#C{=e(teUox3qG*VKFStqRDtjDkeW$T!4}U4vTUS0}1Htzcl{&tK+Hf=lk!)r^tLkn=IEv0+Pw4AOO8W z{Bz!zB~*93U}E+^J9K~k1n3R^-}~7A_x%z>7kfOd84U3L+YHNgOSLc7 zZvlV&=fC{%O*P3!%-b|oph$E~&SZ}Z%=CfsWt#LS*UtBtFIXWYRsVpQ?Hr`12r<(G zYd{x?WB?==_83n4Z_RrAS9MMKhv)gG;6l3>b`UdT%8$oM$WX~NT1e-9sWnrQMuQx7 z-(Fziy4lOut!B=wKFgQi-UG>xo!d4AhLf;5;>q7h`G3`KS0E??bVF%CWn^3^11@PH zLweM;)99-SxT7-|_G!Fy4_g@;(?z?~Cg+A%`<03O@+ZdZEAh^+@0`HCYUV1xcA7EU zakg*V(7{ssACAVq=0^N?{$~Ct&tbpc52pZ)i1BNHB5@LSsg=|$lOzCHh{g2;$vLP* z11*mR?fxj?sP!FJc@$P|*{Y;%0gfB^0(lpI3HfIbID|byI~b1=k|iUJhzglZZB*0D0^DCub2Z|BIt9PNFYh%8eR;2ju!g z*S|)E|5<;leP9$%%Tn>luXfo=bs=bRr!>Kgloc?iU!HWz^koZ|;jXZ-r(CyT}C zVSj?e4&c;N_g><&hO=U3w8ww^i|RZ6&3V2}PI7g9iBo{yKcw~YC1*3#0g=j1{)gVk z7o`~uF-{(Po-QZC)-7Ts>BMp%>D6KcUO>_eFIROqKJTyEP5;q({_hmz`KJ%<_v*BN zvo!u0%kBS^bN(kqX#aawr~O5t%0G;PzqEn2L3X+lV6aMq5fEiR?Bp1YhJ4dTRB8aL zRtrhD0dQOH8x+Kt59p&tSm_o39nHS+)@=`Vu%zCS{P6c+{;&K^*ecrw%KRQk2~b}> z1zfG0iR4#iLBTgf=_h9v%VH4*+W6EOEkm?FAkp&aC}`X}6~r$_apv5Zt%d*eU~4V_ z`*!}e?3+dcKOYq|uqF1tK~rST;zfF>)jAU(^S=T(?#}BDN6dK#O_;#H+9go?W(d$q zZ3QMQ0R(l@O&2Y@YaFhq z>Tu|v(s|(DN3(j**hK8i%DGNEz8cbv(AaUR8Z+XX0Yiq?oT!{LxJZz|bqG4}yp8?d z79jp_v8c#9x~B|G*qzgYzjC5}KiAQJ$_DUX9aq9U>Rup=lZW{-CdwI{upPM4^M#@1ub!k*XW}s$?!hzu@cX^n z%#2AXRzD@pk06|ErDq;6#%4b-`kBAfl85gHXtq62RMoctS>?J4pOj4+ky5gPP_#L zxunU>?I3q%EpnaHJdscVUoQ=z|2gkXq8GS3m@zO8Sx^)kjt0@*@LgQ@eQ-#60|!?F z_+r=(R{F+hee0@8{NZf*X~HBP6os$+$dIc<&z56mG3Rtq4R5wwQR|0qUxT$w2UAXv zD?@!Cb+C#o#Qiz%7rSt|DpVMY-as`$es5hTxIiF=MBk7<0dVH zc$q;9G^=Sg|67+p|Hj>&p4|$30u8x}3m4UKuGlB2T%pdzVrlZ}1PRkR{^`xQM#D{LcL6%Gc|>R|xEXzA#_6gVg#T z(@QQUyU;g+7(UEM9yF(~`T)eB4Kic0MG^T*KA=U;>}%gYzMel%n@D`i%b*T)h~Iyz z^NuwT`WrWYJU$V?p#bk@wJXO(;?;J27h_OP&~JGf224>{n~2%6g5c}hHt7jcCL1Eo z{v%NCzk1B|6B=DeC3dn5(Vnw1BLo7{6jj=?bMVbxZgji_7GVlLJ|GvGjDuo}%{}U= z7MI}z!jRn0Y3r|E40+{V#{F=ut2flO0-wEq1!Ga>1KK6m7mQ`N_XV_Gw&W~r4!pFN z|3Mnv6Rt6}W3h_RqTp(ihyKfx<2$>?oH=Y_!&{xUtw)=F_1|0Ho7b~xr(?iNH5CWK z&W6=S@y%y@)(g*3Y(Kgc$}1FdHIH8#M@X78$HoLZySjA4kKtFm?>M|WuQQPGKj0%A z`*-fkIiM*1-LC)L+5YZ6es>?gM=9Tm@V>i`-`&UW?&JR~_py|=fKQP+$a5|BwTUqt ziamj$F=e$!5|a|4-#?#))27y!(OUSk#h}LR<>XIc&Alb)=1h5F;;$2&CpVHbqu6(+iwwfA4xjBZxCs2FtvmU+gI@RKsX4ev_mQc6?7rk?t;p=l3gzL=A{vi4|D=o!v`Ygi}iK+sle)d{=V~FH}xD7WBrYY6?rTuh8TW^u42tSmMc0Jrh_9{ImG!>Wj361 zlH0kaA(@)Lvki4jjeg5XOxl|xoMC?h?f6fek)nT(%0cx zh439V{f^H6El2Pjo&TSl1R}j)?IN);%wWuq9+WXbN*xdrpt$3?x)Qu;MyUW7?`0^? zWBZBGF5Kb|ojuJQ_vZ1hgX{M>coaG8D4cK~YD{%|{P;;#*F8Hc;cNZvQc(RtZ(r7dGsTeDcprO*C5+~4o-{TF??{}soAdC6kkpYvWiL1*aFpFpE%23qDSQ;T7N z_A=i-atV;K|B^4lHo$o^5Is$ozri_WRqz1j$*bL>Dcm*BzcRoj%9-V*ef^ z!8BrKZ*hF1uL6ovB>1k6SFHYXUKec>2xn@v-~Hu5&9?%fulR2exkf@hev9ne57MKX zS-a7fCrUxm^xZH#3cauc*Iq*21yJe8Ef%pL8ml+|S8Esz#0_RL;NVc1O0;AN!gwfK z@ff;JD91Lkm-mmE;^WI0mmDadh^`J=VP=y#V4NNyP|~FSEH=3@32G2mJuzDH`OK7} zMqP#0t~5@s`-S{`O3~!{-?)mq#^=vkXR+hykqr1EUZ&F0G_bSNY_FI!Xd=>wZ8_ZZ z4i8)Lk9Pa&7|Ni*BEsG4Ii;jL;-w~D?zPinNx$}W`f>`X(LK@dWlP@b_I?Nu1O`(v z@Cjz0E~-#2P8*u8$Mi+lGuHfCi7d?DUo;^51-T($t^k56G#rd(3)3c+54%raF_c1T zqXWC6nmyE&iafX!UOl=3NRL++Y%TZHYIY&@?`oJYIUgf)me+z$sD?^RWGYNaJ)$dB zk)1(8q}G&dVSY11fodX-z6z4ipsXA5E|OVv2DioFRLxF-_CYWu(OFDx1PT+B_}8;- z4YVcQYt{*XS`RukG+n7h{R3CnVg^n>ED2^@`)arrYvcu-7x6#H=%_ zE$T!+SFzvfNqP`BaNbq&M3yT0mc7tW>AIE%;w_FuRhWoXFgC{BHQErr{w<&^u#v%!)oEpO8NccqY;wvE@t-GbThFL~>_B-OV2I05b2}&nc7=v0LjBr;-Zo)dw8i|#Z_4Ckn@Y4T z9;m%S_1xNienZF`{fQ900OOC-jRVWzkXI%X>wFqBt4cH8&!2sl#m>MZTcTy_%E92v zz-T5??K{x2 zK$V#Zb8J)3flMMd=gOfhG-`NW7F!MSAs`0)@i?gqRCkcJ6Rd&VEG??3JiCkx)Jhfr zRc&4!sweinDbt2q>=B#${!l4Dc7m!lWFs?Y`av2p%b~T^>+#NyQ-?UKM!kOQ2*d_U zVmw`XEuZ?7;kggzZDlqRknNC6gDjb=Q$2_b32>KiL~JynEHtj1annn+S9Vg6#<+}v zDJQhs)qDj0%nZmHsC(2p)D{bvH-Sau+^VX0+v8n`IQdXq)ti zY^j`%E~j)#BIP-tLl-2#*W>0Lk6<^@^u^0lR>XX%Ogfq4$8||3hZi9!4OQLkbUYBz zx>mC{-#=qx@6@);&awz&$rnEX`9me(fJ8Roy!8n#$Yty^=G$mVJHiLA78IIP4s1i{ zIY>~wyD>e_&)D}^0#4mu;*#2X4|0Pll#4ULJlh9GcGx3NN>~*Y z^U!)Q3_z&6O{T$=sDNQ8@=wjbL|Z13mbMK7O46tPKue=|+YukVmG;`|}4r=Z(w znitiehqXg?q#Ir1$5;yy!y_~VJr9Q3R7bTIbm)%*J|X+2dt8nt;cDQNTMaIsL%Q$T z&-Z8~<~RKA<$1#MV1Zf3J}7fNbT@jguv+g4B@%66h(JY1Ax7+f3D?eIM*%z5CR4+s z%Sxq2P@TV-x%4OWIl8<@wjZ9~U<-Rem!O4ZZI{pmy^|1^WLXP0M+UO=MlUiOp_K@} zK?~cSb_BU2q$?wf8wNJQ6LDsW0)Diq`ei{J!J}hRY>+D?s6ywvkvo7iTX$hj`e;rr zcrm;ibY&B33qqUO%Aj?W6oPH>FykgwIZI|0lYYpd)Mcp@!&DN*c;Az zGiM2i**=NCxbjAgM;@(>{n%AhE*|30R)(!TDz=WI?iC!n6+9FIEljSA$n>kqk2RQF zukBp42t8 z^feSP%MsV36|hMI4&ymSGf1)Qt~r=`P}7yeP(Vr@fqA@P9R1LXmHUu)+)pgOqkpxG6lybV)6$y>e)-Fp$I|TFl^d;Lu95R#y+cXt+FZtd*BK; zPS_)oy4D^9Dngn$soqf;1{=$EQF;iAZNu-sa~t8FHtGF;*n9J^rp|9|7zac_h=4)? zA$3A60#z9*L!zaKiWn6I1tC?dOk%2lLUAdbpm&uFmzVZ%o`O zx#c*Mfg0h@K!|H6xg> z29u=hEHTXlq;QcwxaK)_%?z}hJm1=RK*39irl$q3=>?nReel=4wK6Zi>OME02PeZ{ zot%t|VVA|_y4>(L;e_72cXqc`-M>&YDHs(5wRlo>pcY59G0c*5%eLNAd(|U03Oz|7 zt(9h^_J^I5^E&deEizw!7;ThTnzk)~ko!VbHoesuMo50uk=`vpxgtSRSz=juBi}bT zyy1AWe1ND!b);<2+{Iau<0as1q~mmvI=HXhPkyPGEPQUY9^9aK#N$Pj{>bAA^Pu*& z!{Gsuy)Vv|k2~+x_x0-k{%K!~x2vlvOeWQunfSC*9HPEW63n45F|ES+7s49-gb<=N z1t>_|VyFP#8EQcm81b&k)67`##hZlH(CcO1pl5RLN_g7-lf{obP3jna{!dAF)c*|Z z{_6q_=2`?WX*c^TcxczO65QngO%?24#m}bTfY@32-(qK<7R1hYKpf4&y zP{z|!@HBlc+Y;c>oE4xUp=dL1p*rxd@#r(6B@k7HR=Sx`aT4iPHbN<$2tilYi1bC&)?supM6G$d8%MerXT*k`nALvJ5UoxvLLh3`< zpDkwdEXUH^EX00IxfbQ+%k64w$|hXWbY`bLp$(kn9MMN1Vr`n$v{RZzkU+p?6BCQ9 z;j-je`&FS+XAi)6N|z-S2iTS>o28hw#A+w;5sRD)i`QaHRu?mv#&{^{qE-7 z;K28T4G*4`gz?R9G*kw^jjKWJoni>(&vqo3E zq8cH50FKjSIA?_PoN6&3k4XshptYIsT{dxkLN}@p)I94u`qDGwDpNi)T-u<$q2|`M zgV5233ut*EmeC&8+-!;he;;T9+stbm4>rIgB>1+oo$3Zt*iK-~3;YK*(e{zr4e^%P z-)QJpAh(7k8X-+Ti=X1Q6FOb`hfx2PBq1)sJFqd(7Pr678~Ph3cQFyb16Hp|Roa6q zpP;yb(MhUfls(Nge07i&h~RaH#h7cgbqfD>PP)H~d-b}WIgv-b6+(00i(e1fFgQWj2i6*?*13FtAUzyU+p;nFa;fG-c;U!&j#}^I@n?) zzbSExX?q4q-@806#P4S}@NM0;K8koOuzSohx24}Wm%pTRqWI0e=*gdpu|w`_6qqT1 zVzmu5zi>pQcx}FvHg#8FNI5HRwDeZ#w2xX0ZrcRU(NIg|mv8MLv6X^<{lj0kpY!)Da@8(CEcyln5E{uw!f6_^RH(uyupuKr{anRJbLW#Ccyz4-DqOx}HPMhIf zZ|fUt8tY-ZM#s7V#-H1A0^bb(nZC`qZG79&doL_(9&SLM0OYIl z-WXk{K0I*2Sow7}&lgFT62X*_!!_CSkYM!PtgSu8`_V+K)A-fP+U>pEuWZ{y-dnCN zn?QRw;h0ZObO9FqJ*1tf*-hC)a5dVm|fF85P7-X6UDXkv6Ju-41y zm8Zr@689Z{NLAVjyJsXZ%^(8Z)RYpDNx+2WS3Zl;esbdtfpq_MH{|9d@z37ia5J#_ zyNx$DOq<0vRGy&j21dY|BVy5Oz+h{G&sx%Yy2@P*X5)*p4gHB$fDFeJ~yuoLSb~b-TV) z!ZC@!Vd3WFcX!LiKTdQ#4mU9|C0_dx+^UqWRnW>^&~}0k$%n)36M?el)o+eZj#4j;Z~T>Mb$O{fomshSA~NMOOE_${2su6pt>_-1Hwal`R5`cwUplId3oE zisq)=6{%9&4@s)S>exY?$$O4I+YB^?=u@|llT?0EseSejNDQoukej_PGH8aErIRX< z$9e_3QW%nQZ-$*Eld(Y9spM#c9 zj&4IH0ooEbf5?*JK@z;xRV4G`nT}%n0)VjQaTuTF=HZn3pmF#l*||gT=Ev@YlJ@d9 zVMKw_nl$}8xO6Ib1V3;>9D=>vVt|0$(R^jrJyE@7&|2| z>+UWX2s4g2l>E#=ws|j-E+Of>cs!xxI}cLVW{-8m#r#&2xzBOe3^Euor}bGYFvI54 z5e;Zc6n((I_EMGsw77!WMc0SU(}x35ju4~FW!dbD#DZzz*gio@ywSHRHGi4W(IpVyZ)!aXpwT%%1F0AijHkR!@IUIN{ zm;71l8@z~4g#EFv^H5!%lAt{>M&c&GwhJ+PE>pjxc5&8J_&z6Mso0UQ?v-&B0jz7x z4`swv;|;zeCmxhYXp1JOws2)()Wd+VfCqJ_D+>zOzg{x)lKq3GnDbYH<|gznsw4z{ zU(EDonKqChkxzlV#lOhOQkzFD0IsdWtF*vFp3Rd)aV7SjRs#s~L=9Fc;G((v#f&Y? z<#UVwI~tjrjFmKSH+rr31rZYLf(S|YT*E)Awv32rpSDyJRhY8RS`RU zKLHTbf1`H(!++mB|93o>|N9>Q>&V;x&W3cGk0m^;&J0aJM0Iznc2jmCd0=lwEkt~- z``1Epi{toAxxH?{@O#<=Ui{-s7&8!OBf=n8=u?xR70*Jsp#I!m1-1A>^E&|cN)1C_ za%PTjNC1WfnyS};Hs+G`f7gH5;2ZzptF(V|u_bB^u#O7aPgn5Tcu^T~B^yUJ2hjpS z^__YN%*s@IRE*~*ch$}E+VLsub%W|94=1iXTKYcv0bywvQUB!T8t*Gj1AEIK?%&A2 z^~U?)0wRQ31j4$!sp3&fii%pFddKVN@K_~|yFrTst>_$zynlKbi}fPk<*!1P{ik;Dr(-&2kHZp)&}m&Asg zwPQ)>hT+C1kdPL(c@6jwXZo9tNV?8?!XIucpKk20bKQ5}zZj!j27{HhSMFYLY-lHH zh1^wHQ^Mfxwh_Bw>Dbie(JgS><^3g;?_h12P!mz|T&64u9<}Y%5P$d0IC28Dew*j`rl9Rd`Ho9(54kb+cITf`ca<9KEtQB@L#*k+ z`)`VLQl6D`o?HF!62|7}yYN#l{+P^l`|Xjl-47C=8Y{7S^>4dDr~&qB6B{KcVCw3J z02ta)rLd>PU<3`)APy|!r!r9Nq#@bkK!2?;rGegFexI!m~pAatl+Y|D$hJj7i~$ zq@T5h^s#)v8O?Vx_yXI&kd zk^|~Cx=q`qBOa{{vXM3?fmde9D|;v6DKFB4U=$>~T1xTo0nT--9+*H))Q4KW#cfr) z^)~saz6E(DP6mnkMTFH(_!-)V_`tEPqw5DKrX^+9BWH7;1^ReMoE{a2qfU7pxh4TI zFIgg)e~U8i0_{H6`Yr>3)K>N|lYjujy7av!L%l@Q>?<*-5(OD6pD2tw6BI-c+qBbY zR_^o@gE(`5-~9SIN);YbS{80SH+FLJf zxvrKfM>^Ibye?czU6`B;nX%0fjD(dqi`Sq0nMe+lV6V^MzXuCCP~ktn1t~{8X@;P7p>qNZ z@=j=n3c=8001-Fas$!s_l?$2AN6M<*I%>UHoaf>KR>g0WZ*P+KC#x2Py(PDWLvV zJqClS?9ri!H^4jbv7h#MP3`=w6$^edQdN5n>xlSjD`QoVdLMFAQLY3fpTvWdEd!Mf zuK4sw5$6Wh`0dmFvL5v=uuMi^b$9|^>u0TNqecpC&F$$}wAv z^UpuJH#9L1KFsy9V}15@?mPW^88J&%=PCVv_Plf+0zV?rr6Zg2G^X8upLc`5!NaTa z-Pn!bsEF{@-7R{w>%_&7s03T{p-l8y3q$Pz{@x+fYB6$K(w!W<5x$ZvDTG>aoBJFi zBU->r8P9~fga}FV*><5m?n|;4Hy?YwPO}5`iP&GG7?{f2-d#3sV#>BcA96%MGO&&@ zCj+6wQlaK&DBR~FYU$g~F~%8&)dM%}Xc38%AE;|a9s&F4J3uv~_&=@dlb=orjMxu~ zp*!1c!>d+Q6fIfX5cyX5o07%CCPE5rg4(DP&0N^Ez^D?G;4{8I&U~*@>S{8mCQyqj z^n*MZU&U|nfh0N^I5P_9p1(ec8WzS%a?8bCBwnl#euCQw#%Sl(Xc`|Ogw~=Ju%>&c zX^%A0ulpd{4R_r6>%DS5p_xBSI`gdG?l~SXG>{GUYDNt(mLM@+4R)%wD=@$s$$`&W zd*?xJ1@rH{4(=0tgZmtMC{Vcu{J5FI8+=@u6$ca}UwWVzkgdHAPydw@ryep1WdbAmZaR?V(2@bhazZTKsa|!g(nk~?wZ@E zG2$VLo%*!71)Gf5Yr;HuP*6-Jw9E^Wq9buTdiO^qJQ8Nw{7yX1uVZ{0-%M;XSKi~h z)HgDS#Bc#)WI*$_y^a2EQgs&n9jgyTVi1=(DF#&K50Gnk!6pbv!I8FxnUAHRYs1-= zuPB$!M#ih`!`Kc;#JS>d>enzQlY%EXjy?(#$qXPC5^~%$E~cxiIg#N=y!&2|@ z1^cHO5Sc!yAOIBmG=D?n{(x}_KBq$6TDPs{^eQ||yA9MDv>7ReLIEIQ)W(jp!X zpPVrHbN+l?c$fBUDdVq=zkXm87Y1)a{qg_!5EA?4Q?sydE2oC|-2NI67@=Q_!K?}& zU4bltA#qs?K_|RuTSFhS>G&hEznGXfLtKo+A67UjX{Dhqo?~hD4q3V{r6(JDXWT6g zJ?;PDSw8PTAEU_To89h-3n3xcTuNXXZohE@w(wlHvKVlTFi0Koy^uJzPUQyu@xkiL zh25+=3{C2&1Bx*-B<6GpFq^Z`AH5*;-K;YEe``2oQ!bnh)xh*g`GqkehdJ0hUh zFTkRVgDY0@A1;~Up_l-8u1!A>T`{L}m~=5IcuZ8g!z@|QIY_ZM-omw@+}-qOKh=~x z_Z_^qis8M~$g}K(W5-=)sNa0@RK2pykMA(DJxCto`VD=CgX&8)RnYgGOd@=UFk~;n zPjxAD#Cy{f{$kVT#MEF*unevTBe5+)!wTHj<81T33#c7g?hCuMa!)AMuxQkEJSI|4 zObdvqEPp`GmIgRG2Rs}IQ2xPJswDJQPAb*{wIp|nvF&nga;(Iji%$#C2V{jX5q-`0 zlkicj!X)(}@9mq{6DH2Ozf0F`u77%i7jyQie)H@v%DLQE1gruJykJXy!x#K_NDFur zPc`@IFiAz*dtxH&jmc+4!j7(pwmfr#Ob{xi+>S4MLvcl>#hH-=2{wrt?GbYI(fbYU zR+fsFr7_IH9lO+*#EtuY=$Adm*RO*E#f#O4YY_omPrb;r!`0qkGI&)zQii!6y#@DW zS+bkw)shJpdCG7*{Q5z&Q}W{pE9@&dv-T15es$6G{wL4K2bDbl`7Oi46l`+ScJT{H zbY~|yo||uw?DS}}tlX~5F6(~S{HcZ;PgqmG!7rdqSxuO$8woL&dzxEr-mKhw?#s?~ z7l9Pj@*!Y&K*}XCo%#X`AMQ4QTC9K(s?3`grpI86Cg;6c=_#C5?9HQLv2-H}MmplZ zw~mzT64~AM^n;jq1B;>BSM`AmFOqrcDR8YMP{^Vg6p#$x1o%KD!_z{TGNzVHqH+)e zBv}1~ufQXl2*4?)#HFf@rqLCR5CqGgv-o_@6R)ZGtMTzy#kPyzefaQU43LLn9lHhw z{uIP_UAlB>XH!kLO;hzBvW++XY@_$N#>dBdlWlFkOc@*;{DL84FeLjTWiqj6_7`8K zIG&KCd@*n~W6Qu%hvVNJE?xvXtBqpOBj>;>_JLEVr2#dv*+S}C{wvN}&UxTuIJFK| z7A(bF8rz*r#p`-M?kZ(H7YfRi#hPD38WPSq%rp{>M!;~KFK|Y0ke6Hh57xUJv-&zO zDCyg)jw>AY&5S!n9%pK~Py8Q1<^K~*&I2pS{)JA!SpoCKpd~ZQ`j!<|;Y^{{U~9DZ|RBK%#)#ERlVDM|6` z&7z5SUf-R+CAsoLR_wmF?|#1RIq{+W*DVu&Uh2;W4%ioqYyxofs%kBDXur5S8DIA? z6rd}X%=oG$BXQCNeK@B4QGqg)--W${$J#89O1zmVvCh836aE`Oo_lpE>s9UKp3?C_ zzyUnY4BuborCCa`F0!Df1BlbyRoina@C}6u1LLr2-z~1&4)g_7v-BoF*tyv!O0#ZD zZ<^igN!t2l67lUUSdu5ewTIv@a*!8weLNy|&1gZ)ISI`ui0u5_Jh$LdJT6%>LORwv)&uaICxlr0PsPAO z##aHnIYOjb<=XXzatGRIoiaV# zU+I7FmD?^rHZ!;#x*>yq$P^PB8!LNTNgO(L@E2dgqMT`Gn{P_nUVE98{P9U{<9T2F z2i^UzJR3#SCaf&jyeU7zvfyK>#Up1fxwbEF$6vLije@+Lr*bnXoiq6$;krusw^#a? zWTnkp=CF;DhnT6f)r%BFnZ0W7WE?-0y&7>+ae*6sgh1T2Z=%U1fAVFv9O?VCJ~2LR$3hOU$ECW-fFVGi)sCmW``i5qsr54gCXUe*#SB z&7oiSskbLcnwJsuBmA>Ov@a&v+JhIZd(J<5_OynT5X)`&xmxATyX1b4duih;v+vGM zg#V{Y725D{Sm?!o`Vz1)6p&+@J&W>hgXN0N3cEU?Fl*{&V842AKMh4`3fS_&>+OGW-x9&2au3c4wXe7UlsE z!}q%MkPhS6L*E_5uocZVP=3h*))ugiZ zz^K8|WQA!f)ltKo1x(af6+wk3Af*fVT*GF6gBVFwM6Z4a8>UQ{%rOU38%b%{l}$(9 zo(zxOIZlUj$X@wP#5}Qk(hS+mD8{AWIH>HBZJ*bXO8-DxQS{ zt*dJ?kE0LpqT5*bApRO2K8PJUEADP#rcw>zHqL5*WKDW1Q5VYhN#C)O+Ucv&O>a)L z<1-vHHGW~Uwugk=`uY1TKb#T#M>xxclscmqZ}E+Od$&L?$EORCZ^8o`vB<6h<%TBy zySk*kDU(W_#=ekWd27EWQ!zBbBX+KG@A1P`6YwM$|M90PvURb<@fcyIpcwOxgc@)V zSGb@Jg1u-0dr3z#-2FU`*N#nPZ$xzP*QgsNaK^7bsAI&Yd@3lD!bP=gE5#3kww2?D zCq~T&V|*}2SvBm8(K(;ye1T-^27yVQ+T8xL)|T@~)B@C$^3l>Ne;`%Y($D#rL<4m^ zuCOK+tsQIC{m4Wdi0I)ipd8*w=P@W$HbF-&B%f+}BjH@s!A#`o6lXfc{Xc zb^W;26LH$N+dJqLi1&f)K8-HLteo0~H=tndQnn*dIb{{>#igwbb)v3;$9`(s`iN}G zMGamx?JRrEdvF4Q_Q8X<-79Hj?+5dvkGyVqAQ);7TXS!l-tshU=0`C&XH>wGV}ra) z%R#*88N}K=m7@wE%O(7z+Adcfww`cfYL=Fi4?K$7PO1J`3F#UXY7w|%X8eOXL1d2| zzcp@ZZe1?5JUZVY!M3tTFwv?4J>SlI=WQy<~$J51_HZVwbKN1U^)nRaHkeJ{M z+bfR_G~q?|LvracoHkOR2;|ZYDrZij*f7DeXHtDHF;nIVkNLm^?m*yE2V1X}d}^Ko z$Mb6Jb##q@u;gl?A6)C~i(KJ)_23(Txv()+-|IwmPXb2HBA_Ba>7w4t1e+nT3|#@x znCJB0H4g6IY0R0g_;P>?GXKVD+Mr+na9TAUz_bmAb*3!=*!>Pns<=-T0M+zMMIiY% z5E4NgPKE%qfPWyU^SxwDP}VdPaWsBc>NHOe>wNm1+Kv6#n3{&4dWQC6=K+Q{Dc6|U z%NY)h79)hig|-(QCcO(Lhwoh8P+wb{{J}0HC)Bq3i?dg;T7{2)Tp{7SB>m&)3a@A+ z4Aeo1fCW~|SbUzvkHIIS_`aEw11AOg0duYSb@hci9&gOxg%MgWd6wKW!9 z%vXEB#8a?S`F-!=@S>H2j-(|MRO9~ItzxIX_j#yg^HaK4Q?E74dPVeb=B{mjUH`Sn z#G{_mX^iUs4)&xw`hpJo)6CHU>PpQ6biJAk+m*n90J^VG6GVEXYit|jlDL3zzO%i7 zl|92W>y|hw022U^Ke7^*-NxM%Au}DlU-p{x`uNR+8;x3&FJ+;RIR7|K-i^(o*H}Ng z3yy#}M>L@)9~u)e)AJ5$eg-LZVp`D}BVrwVE(KpYjv9nb z&Adf?0kp`aW8Bt3m0@&&Kqo0WE7*4Lr)ZL4ICT@qj_=n+PjEtjW%30aKb5080l}*F zl1-%~8K;~)EW&hPQt0Mt%Tmx?L3kb^*PRId3h|fvnDTvw&<*0Lb>}w5?IQLM=C- z>0gMdYLZ5kfl8qNEe_A5WK4aFo-R}pC}E(=Jz7d^!K=UEgBm_wy_$tS$5#{3-|(Rm zs1j!fz1WHrf(cG@9rXFEiQ{Tx@GP^SkH7-7ctcZ5Q~*7WbCub}m_m-|ovKhz%u=s4 zRGF$zX&$>_qa?H;uY)jWDvN<+aF4@nAVuGO1E-_LBQl9?h!jd(-}}Kf@Q~u*1Hp8A z1e5F&JP}r*_I==)u=2{h?AHR#GH}2Fg~eZaR#T3ehFRe?d8n=09_fVZrwNH2z0=~C ztosv!i?=V-SGBUO25T+Ocn0}eLh-|LYc3NAkD zah!DU#;h85sY}cZK-U3qKm;@VP+gE)UOKO6m&?4sKTMfJ^3*Ag2nI01qWV>B1i=7|GXyvMs3u`C z-@BUC6Wn(g_L_>DQ!+~17oVtWo<8-a?yqG_)^wga)Ms<&2V2c9sHF~q1BDrM_$X(k z+D~%_A91^fuWZm1I=DNxMUfwL@9%5c@Q4zGT!=Z*w6&6)Lxg>DP7aS-Im6h@%IHW_ z-em;Z^Gdw~7}q@HV9WjSxEpizA3tk32tlCu=~RxmTSEtBXd~c04wGJw{)F!{;)(OP z33eZckM!ZN|LAbe+Vmc<+>#n`c^uQWGp)qaYb0)LI-Q;x*933SrY zjpVbQijd5@5xu}3IU@$IKiZ-=O$muDX)ir>0-UEI>-=p-%Wo|qj`#f&pbPyvrv^Qn z;_g&1rdL!UG-ex7oCeu85%W-McQWu>(fV5; zV$k45q(Bn*JHr|sbbthn%1fH+TIOqx)N6{PNNs`4aTXESTEC|^$zZ5trjJuzg7Z|m z%6kI)y67udqjth=f{E$H)lId}nqg+E=y621i7+W76(pr@VT~XF8nWoCaIWBE@MN}%C6c^!im6n8 zLyLJ)m6!vPSzH&-xv4tUo^XDH-%YXV*Jw?Y#INjJMd(WbDT_i1D`~OJ>Me8?qu0uJ z$DGu#Eia#BIDhd7|1d#_~bOmcklpHll2yQ2q2r!$fz?@Fcnzttpi7lP5Y%I4)0))qY2wmxj$nn|9nC#v zOngY$B4tbb8u~<#)_=NEy@*~5sndc1j;hIAaJaJ-I6ePn{vX2nkVFSkI(F#=wVuR6 zXc{KioQ}FvUzi7%0@#^m<&GSe+C+qLBCv@UJ|ZB+3Vgp2885+Hk6Cqic^z#9LiZdH z9i7ykiP(^$L?T~=d~&^h>|Is=r!()0?`u-dl@#3QKVA^~WA2N<(I!gph9g%EE|zUx z-lTshY|FE!Oj2HWajDMc=-bbvjj?kV(D8f!QJM=_k`np+e;1|Z-+8C6cxvOo!+el% zJ#QK4&2Ks>rCB&%!$&~K7FsI-69FEaTZ|N&KI)9qLO_(Iy&R;?jMO`N96xKN;aAml z8@@D8-7_LkNdBnNc`Vx{^!$9{&%10 zKO46AUo?mD|KHo;GcXxoDz{vQ1^f3BFm*puu4-6#QOT%1Ad`lWh6GX`i@g%DfpuD_ z8+$<9vS#;1H+%5d>lzi-42cR9RQ1Uh z11GUYZ=e(OYT8tY$`0jn^rlb)^bex8n=wp$enqx)ZZO!SZ={ZCJmCZ<O=litfCYv0R{w)PGRun*oBV+#JE+<#Mz5`>hueD6X-E$Hv` z`9Zw4P5W1u1A~qv{lMW*2k117@i!IWZua65D~Fm&-2ygn#ue;}c)W(3In}(RTb|w^)@I zwTJ3d4br=yMll~Nn05d5M>|KK5Z|ZPmKLq-HNA#|lWjO#h2>mcS*VNU&pSth_Ot!# zs}nzb6n?r2*5EjGPzawOAlpc?SSeOejm<3D2+H)L+c*P7^8hoMZ5c{5pc;*mQ>AOE z77Y>cm{cpQf__82MAB{il7Ie-^T>z-%Q!Pc?u=!PLuHB7Xm4N(dW}E5Zh%2M36&Gt5 z<9_cx3gm~-;fGqx-#8H*0kIXT;(-Eenev`Om_mt=Vs+H3U?^1pROX}}bJRyaH#eIWt+DE?{Xj&+NCrJBW;f&SJebE}%qrHK9k(>9BvTy7A-NGc@ z=Ak~N6IeKN;%FsZBscz+HUHhmfP&9jBl6dst@yRG#Md+t1h92v_iCP^M9R4V(g4$F zk2x((Z6k6w;RY(OZI-yP6AEIYJ!Pwis6*b|vSAP0T*L-=>&v=2xU?iZ&MtN3{7l2k znyZf^%+qw>2-QhyKOVFPBle`{OaV#CNp#!(kor3ZJ|G-YiLpHB#+={Q^6)s5bVWP? z!HV!kNcQye26-l9UA4kqwn!qoGUnMI9nY}w>YWi@8(leIOGk}tPBaCIM{r{&=eyCB zKYiBvtq>Z?{j4P)@}DgOmJ-(!4S}NTR*vYNi%x27q4T$|YC)%+P!{!I+}tkfbVTX6 zi(g@g%7yZ6VlUUHuj0(#st!x{MKU5!XDnaunZ0FT^&)jH)bcZSI)|wO<7QP~X`yrf z+64Va|84UR1jkGH`GEQLZ|B)Euh7-EkZv%wsv8WgD&al?L#v#O(HBjfpmAX3uk&{Q zhJ=p+aRFiEz)PaeX$>b;a$2Coaz)RXw%t=(+}qW zO2I;}8uznS26jcQed6dgMRGS6Zx%qoDK-hy)jIf0weMqu%fqf@+ff`FvWGkJ9Y^wR zILb(E=2ndRp?Uo8Ci4VNth?i&W~YpMa2L%Q_~9xhRJV468Sb6#~gxPKq0R6tVP$zBH$2uW0`tA0P&eKZi`5Sk0SG{?qGhL|QqXq{_ z!#fW@)!YQ9I~}iuZbAF-wfHt46Dgq?nN%!k@nr2yd4JBCKw}{ zdyZcj-autMo^-KqwNDLRjX)ul6P@=o*CWj5k&pv@#Na_(dsx`{n4r`0m}Rwf_4N@s z`b}HtEzbXl9f;izR`NZ*iq{qzLmR@Qx<}x~gM4YGI5(HBg|i_GTj!|Ow3En{LFx_; zk_zj!M>^eR^I98@;dUtSZ9!|veci7~g511EuY>l! z8aXjxo-pMb5IppzRko(R?#~@uhYK&(@3@5-tIPx&4FX%&4~c41;&!|O_f{yZs=p(# z-FcKXFw;3n9GVp0@_Z1U8*3OeBn%T=g2#KO>@HN^&5-=z?Y+h4e$V~-QQwCSi`0Ns z))Ed~lmp5hsw-11QlA4kRxCw(5IRRdHkLhS8d0qJXLh06!(NoBBQ+Jcbz~N=$PzxE zDbe5IdUaOc0$n3dWV(f%OE6WhH}yx&GmqEZvEWg^8F<_D3blklN*|7(sf$aLW}qqX z4q)+cHO1x1VTp4K=Q{oi_Sy+Z2kiZ?0C|fbwyq=H8=A!HQ8$n+xK_?cRCxfIbga*@ z+dwcuU9ND-dxV@vg?k2TgRm!hzHjK;l<7U-P`LAO)d{;P+w&Q`R^fF(m%{0Q1w;a2 zUvU{YdB7E}Y_it?6SusZ3xI|`JO;kH7!>kIC;HtyD}c@i*{e0~;!Uw;g9dgwLX+Rb} zpXpR3CFvqp1Y913VSg3jKmHJE^$<6^KA#^;YDe=PhI8Af<~hE#aCV{QIp~J9#EX6- zJ~5R!OL7%L*%H+k=$}GUb?n9?fp5rTJmNAp?Mh_u^Tbj2oE%Ebzxm3CA-`igD+^d@6UZ7ZT*=d)L2 z3=-B$erV(ai;x+YdM)xoG;_yt**W^RwTiuub4G?8;x-O;#$F23d`W!?nO)$7(tpBh zQ{BT*6NUXXKnGLXTl12UrMS$8(4%Fh|NC2Tk%TkW$uOaAS z4LsfMB7cs}X1gjlvPEZ4i#5ccs%oT6B&4}mG47(h!K-NjgZ`=|M-|LO_GU7(E!eFF z-UN_I$@@7Poaf(Q^+jI{9fK>-Y(Rh!R)CXC2rJUA8^oD9%ho8$CDdAnPJ07T&11D> zg?y*Ty(_Ui9}(|uYakC$xW6nEy?&Sd@vZF#;cn309%WiO9JH zD{y^2#{r%w6my-Z&vsP1^@z{W`Y^vA#ZECB%&u#m-RFe z%l2&h*?XHyNc#6ZocieBOLGOI`;WFNht84DTwStbs}}Yhps(uaAqA-JaRtAPQ%#cr z^QFBC#-vggpG13#%#df;sZN#c_|L>)qy!|fRIeEDbLP%X%IBphibUQf;213plUyy@t^qO+mP2#y zF;Hr9*E`avD54jS3;fc>q_x4LUgce4%MC5KW&L)w<#cTiNstE@>yNh6VX|;aTj4Ce zn1hww6${geHTaGZ(*rfB?Md8G-9f4iWwV0%aC1Xl&QW+-jp+ATtXbH-iP1sf$$m9n zYOfOtljD2>Y>oE;+FNpR#}mM#_o3)12P_=Q@w zyKRaU0|xn0m?(2p9YeV7=C>b!kPm=a)RdXDt)#h$T~$@v`&WVF5JTK;9PaXgVLP6> zyH~waBwuA+a+S2HaO6Yo^y_Bf?CEn?Ne_nt!cDS!1Bd~`qXEAwe3mpf_wRSJgHL&_ zhHLgtbgfo+IsEWTu0zZ@tgTvGbDaYY^F^inxaK$f58Xq25w-5&rrJ1K8c-;=giVv0 zydSoouVMTaKudS<(d`T3WV{L*(d61Re;X$7EzwGIgbiR{qQm9HF!Wwpcc@G zS_Dez>a7qGgoO*BR!}I(Jg3N%IIA~u;7Ujg;-BlC=zeFe9Mpc#{{5>J7?e+7L!E;{ zp>WW$UM>@!?q_#^q2p_iC7>GQ1-0nn-+$svpX6M?qp3hHX^R|L=cU0qqY=)s)X!j$ z-EJ&r06l}P?UpTBs5aVhL^7H=hy-i9lht7lC|i0^TXIrIpYVOK)zf}v3_b}S+6?J+AgojWl=XHs4kEW8BijjG$cBl;y%_Y$+JF_() zwVjqiHC9wI#qkM8WTgXK_8?GuTM7W%Lu z%nYFK*T`E*sT^&#`M9$`e;&HVHY0m~2Zy9Y&gvf})rQCADGw!uoC~undvxkdg4fZa zUG~h<#op!Vrxt%Bw?cWGYC=0PgKCb9DLj;cn%~fklnd}F_S%9L;TM#6*h@^mf!m54 zBI!)@MvNNeafz!a9^x#o_J-AL6aJ>W0Qj%`U}m_$nz1cE``1X4<%2J=rl8T1BYHxt zF;yG6a)pcCd{q0wa3Eq}@@Uuys==!nLW)z7#ekalAe3#=^L@Yiq;%|+o0kN?(wZTr z>5fiX8TQt_?Taz(myIbd-Wtq}t=VsRUubNvwge&Z(!DO5l~tMtlpk4O2S?D5y@ARY zWKL6mZYd~b=)s?woRtrre>K*IJ)@Py&$z53pKHUX5cN?z#MckTw$oBafjXopf%)xg?#6qJJ;ca-;UR8Mz%T>6j`LZ2)f% z(kh7u>gJT!z~7gs9c(DS=IU7yhFe!P`V^#>&fBFp2yL!42&alXq8fJQ{EU(MDi1?x zLik6ydhKS=mb#_vC!8KqBOaSNqOwAAM006*?QHv+)IEcd=MW4D5Ch~~>h8*;W$%RS!Mem87}`L^H{@g9lGVWKWiO4L<$jybszq!F#;S6oDff z>s^yZHar$%ntLTbxpW{|!)Tt(k~Jw~ z>p{~^R9I|Sl(9!tL`>w4CTEkmRgLX#MkVdr4)y$AQL#r0-3E4kE*_5VRvWvDoz=#3 z$`Hg7v`QpNn5|GIrv_@lqzD(y1{q+Isp}Q&9BBmcI(5mbChR>jvt?eMcy_SDh}&j< zo))sUp1KWZIo4QfG)<$YE<8VoY^Dx(uuqVPAmOJfOZE* z?9Di8VG(p@Bw7>V3%{!=nXC`EQc@le)&TN{YL9yp0)ysK>yjwD+ZAD~hL}#RO z2{1pg?bJtspS?g?Ap&xyOQV0U1f94*tdDjqQ6lfi8<)5PnicDM*{dcDSaGxPd{%ND z(KOJf^yf%M4CZIND3=Idz)snNgMeCDB87^~gMFX1E?@-_K2G_+;C3N*#KV3FQDk{$ z^eV~rEfNCf&nNhMnit*PRTW`xfeaFikbL3so^2Fw@fP)x*h^7m_A`y1T5CRrw03{` zN?0cclVX!OvpJme=JPMv2N#q;Hw7x2K~XIUW}(%wQ{3PW;A`uPKw{#_$~=%DxnU-L zNBrm{rl~M5q1ij_MPpzT_4W8`|01Kd`tTy+OPbme9EL3?HFr5v#nf*4d_$8Nu_p#{ z!NV~`_1zF9$X`}pQ{kYA3HY2=Gz3RL>bn+75R^ZW%Pc_SoW0^Qr?>%4z>7ew@zb}? zQ@})@77Cof9S|jNDZmwLgD5*u1Y}G+6?i}d_aPyh9?~U1`@}}#l|Dl=01p{XO^qh5 zr6omD(-XqPK`x!AG7rNHd7JFOfd3JGPFq~eTngZEJ33mD+Ivr&`o-mYo!JmD02(}Q z1>&jtp7N!pfMQcd9pTg#-Blf=_EFdCNeF4|b(vfU(_|xJE*TXDwyi@h!72ihAfhiF zo`};)IYYEowFiG$%i+8EGCLnn^z6S+rbc48F4*UEIEaAQ#wKw@H#y5FyUqb_R2bce z6W*QW7w}QN242Qe$`OwlOIHu4`g~rSJpI;qo|Cgo>|+Gd^wqV!>g^9E0{osyn@@F@ zj^{tPSr%5bUSV>5k*eJjT0_?X1NRV@8YLS^cnC`LfLEh!0z*^rm1N<*28A=1_)}iK zQ&ws4_>+kp6La|{snVdGVkXx;kbp#$G&7Yeo;+i2YYWG*3`N64TGo@5u?bUAfyh67BRIl zScaq)6_G+5swfDlRYZu9T0o+NYy|-UF-NITp%4`Tl}ToWK!h-85kZ+GD4A4b-mwt2 zB-y@;^L*#K&d}#P-~05O_j<4Ed;UPgjoJ6U_kFK>t>5~s-@<}KlJLY7A88DyJ2<9VUc4bwBF3o&D1t%vLVOyospCmnSY+l=Bm%38hqJT>qa zw~HE!Fj8tGsV`MAgH?oMN(D!K4ksOCSz=t2(9my&#mIFZW8r8KxLOwQWQJh`0(02i zgCga}sP^7^*TMWgGGq&uNUqG;Uy-X$62A&?y`!=TEc!tna@LH)breBwk;&Rclbh%cTZ@`ebz46jSGw7c#gS)WV2HI1$I)((OG}P zKCY}!PhZxs&jBkg?oeF|RqiCbOtZ2-&~4L32sA0=7xdTVyc3$IN9G3!lUfWa?seF- z90(2`Ke1%4)trKS{WdF&9nGc-7i^$4#iCAcCz^fIB%-k&Ym?eH zQgjAIdgZ=B#>s-u{jeWtntm_Mv?Qu4Dkqd@l5cK?UhEh=b0owKZ*Hz5FCfEajEU_x zM2DG5e9;Tu3a22UU1tAh)OmHceS@B1C!8Y-p58G(UzI)DeKYj-SW4q~Zba_690BLI zJ#bV%{iyL~4WbF|YCYNbqsFicyR%Fa2SV%C|28AR@OS$mDIDZ&aiaHO$TDO^MDZV2 z0}H48O~eC|lCO{S+Fk_WXQghYc?d2S@D;lcQ6~2^40OUUn6CH#LXAKcicltaad}eW zsFs8Pc>;77@oeqFZWRNvMdvc-Bj@=*E$zQDal8cBvxFB`6u?d{=t6tJ|hu#h{$)0sPK zZxrpYG4ME{2r<#E&e*m7El;DM<4OL*vxp%d_2FXcL`^{P9Un1MZX2W&BO{G6h?Sv; z8(&06=7HTmMi6Gnj;01kM)yc7FQm(YV|b3JQZiMaF;^#yK^D%DzpOQqXXYrX@EcNW zLeFkLk9G^w^wwM1i10+{F+Nmx0}m{f!l6y4H2S)#mi35ypTcRSM$&_?v!n`-A_8B+ct=KHpXsoojgoUDFIy|3Rp=3$R+meX|b z1V={09Gh_+=NzU{&wlKnsLZRWD1N%VV;%2H)TLfD*EVBulXu*OuxkaQ>&hH!=nYd2 z;n9cF99w>>td7+3lRH1jFHAFxt^PsLJw4s zdeAV-wvis$C+y{{+3G~(Xz=-da(TSCMBW_5*27G<$=MmROE#~&H<)P=y$$c}SdrpG zKW*Wz+vk5(690Psqgxut&*0LNq`}x)uV$J)RC`sBR0b{&$!3^N0I*^Mq_2@u(nw{_ zW+Yh3IY-mx=@l?nDEdXxZ@qa7hXdtWO;)m3miu~oeBJeqv>q)19fF6{6&OK48;8Yl?>q(94<6xQZWIYXMSvj- zGCzgy2(C}STqlU5{1I-+OrZaLATe0!s$g)F$0s!LFtEei7c@l)tTV7ob$fVU!g{Ds z$E)U?mQv5B4K!?GZ%}PZukSZA$w^1~(wwYp5kMuTHnfB@wjSiGmN15jN-1e`0P;ozgb>;oaYbIY_&s=Jlm9jMJ=%xL)_PH&(X0`)T z4%9@xm?J`WjGJL`-^xMbQ=CaF9?O+lpBNk1*&X&Rlo883?{|e+^~IkUFZb9QS}^NZ z(^q?TR%g-+T=v`toiXJ#zlfIj?C&QuKTsqH<^Uy^Z{!h*ENqU_8gCU5D1p>VXCR3m zkI%+J0Yb59i#t`Tk5ZyXRRPi^6OQAHUJYih=st{H%@ZnSC5siZaX|j23LHN3zJ}u#SFPT1Do{xpmA6SnvtTTsqrM;CD6j(E!WO|gX;kp2X z`~y?hmMF`Mv^aTfhq82uz>5|IxDqXv3hio3*?!jrv=x0q+2d=Ixuhu_Z5%}Np#_=8Fs+C;y9_2L`L|F8I1W!=Ki{#&Y)Ocj9 zo?C;Tr93H8lwymOK$@s4rl4MW;fgWv@)jIaZH9`nwL|^3zVpmXI^V$?948y8c6A-M z<><4Y_&Lj0CrYe$w247(*ihykIaew17Y_a?q@SUk=NaA|T-lHqAQR0E2vox82p^1h_Bjtd$NWgH$YCjg>eMajrkQ0wJ}A3-Dhe!cV9fQ zYYn&)n0DUY$g8`Qq~G^y^SUn@H*}1xN0Ot7zyy@i2wlAK_53t+# zdK0bAzNaLIp4+^d+p(ka{HSTc^^$~FC4Dy?ML%c{jE}%N*WQ3PQYr&RpP@2^rTQA# z5b^;ebEisqOk-O!bs=-3E7~R~m`l=SuG}LJHMuzb+3+;~lC<5Hv7^4{VM{)iD#+A# zrx?>6wpRNb3`}hgqN+{2II5-UOnesmDSJs`9j$b#j&fe4rCLt-`7qjCPmRme$HHy| zr%CA#-X^=FDVJ{@XgwKn`sB&eVJFv-oLk>CHoj`Oa*(=?^Fg581+VZ7Uz{u|4sQ-# zhPM*S_@fX!&+7rA01exQNNiCr)tWY;dlTgaAN?6~6!b%8LG>*gGI`P>ogj*ktPk5e z4{6Bt<12}Mcpakf_3T#s`ci9hIza_q?1e18IEFaE5`D-QRX{$%Wt1p42v;r4!a3<5 zHEh!r@IK!~UMC14!*ATh3r6?I2vHNCWO04v;q@Zu>+$Tnw9WH31_|N3nvAsaNH}oe zkin0BzV)2t`#!l<0ddLOtzdUr;6e7m5lF;VQ5(2@sgm*0Mq&d$mLNaVA<@gocvA%D z2z{#GP~QB|?67QZvXrXHY^k4S1vE};UkLWcev$Vzo|Ft)+bBizhmFiX2(^m0N;8`hpdHlNnN9yRLJB zG!mTPw*aMHSkG>SE2hlDJMoUv=Y=+>`DJ)Z@NM@9|Jy#^KXQ%v;-5j8fx{6kvZW?+ zP56h#d+Ac7L478|y=W2hw&xtU@~vGpF&UZZW=;In zS)X^T8?|YDTQAgQJ|tfSrJViDIB{IkqXSq3#q2Xw7Q<(t8)Pm*^!~OxwQQ|v^*#NmN)i&&-TQxD$q9-=>c=28Q1HMR)spO zGTE}Tkh|dWg3P?bM(Ji%z0F7Sg8p|q8#D&QWf8&Hgw>v6mW4qD4jfH+b1sY z4%$gZB@yNpDcN?%Yss;$kjTgDzB$wt@{3-25m9K5NuUme@>gjjCYJRX# z1|oG$e3Z(0p{sb_!~b3+bU+fkY4J`Q#I(80>IS~P(_)Du(VS^n@7Qn~+w4%W(o-h;>RwH+2|5i6d300tH7I5@TUDPj(BL9N*^ZV7!4 zT%_TnTCzl|gUkpCBva?9Jke9x1w$J>^lI)`$t@eX^D#i*Jg*+_FnzU8K1nb5+RUzd zw5(>OS0~<>-Orv@G1Y+k_>T*d-AdZ|ft21pacXmod)FByZ{7vj>^Tu9N%=p z`U;fyCO3N9-LbpOPN@t(l^2oom>vo~M*&Z?;w|&_hpajT-A=_UxPmtQK=aR0M76k2 zL3sw|U;TB9S9@4FHV1t>t=!Tz(f4yvXzO9OmG?GB^VU+XJnGcjCmY@0B=LHPwGSO0%k2*zl65vLP#?bUlUaY85@X&l7#yq~> z_O`W@k50b%#o^nu^L|UavpOixSFgDVU~$wYN$is6YYxR5ZMvCYtF!E6)7e$<_1TKE zcdvhTR>Sb2YB%PFmdfIy!Z@+~rMM|(EQK&-VdHChtv1GyIO{gmF7C?GjM8%v;46ze zL#uNVBbFRV>AH39DdxLut_HD9`#j{QDA>x>gb9(xcD4n}51ooy>r51?H0f zu7|BzBj5TewFQMHeXZK5Be7-s@6l{$=}7dv8Kw8SNaOAd?%NJJn7N>Pa&yAjdh6 zB{4y6*JwOE$AkVO>aogtZBjyys8a((|1?tzhKx4cTr_z#>rjWK-L!FBneHe4 zXk%&=t}hxY&5faLWjIR1V{Dxr2DTT6%o@!s~^G{Si1!C zGvaJTy};5h80oROPgX-IrL#?3KF7H}Z(-WrN;Wp_^-^K4dVOf>j z#y>{-Ktztvl$-dAkYP)_V{+mZ>#=e(@<^#%0r|Q{3^MHpC<<;-cr5faV^Hyj8$W8O z!Iq;~BEHp@GD2Ane4O-Hj?drqUigpd5v~8Pgke6Q`oc;@K4z>mP<;Z_5;NsiOxW^} ztBVr{MfA=|orm|kY%@H?KZgQe#cR8(PtiiGvLU?RFXQ^VQ(v{64qN@fPxz~Db;}Qg zo41Q(d|YR*(g&$KL=hMB%S9KFphxWW%;Z1otbL0)HcjoTHG(r7#82H%ONkdxVkZU* zMga9in%EmrLZTDZ(f8*=>9X(!XTrfak7r~4oh(E2ErZl>g#K)Pbkx~-(7)@Uv%=Z?P`u=?JDYn^1v`yCadA&^{ua~ z^J+hXG%>iH!9~4<&2nN)8Rx>OGh^xBiFzw)Ejw+@%zME=(U_F_ekXKkm&z@aWd*AX8Fy|{)oA0o9&$Raa~iBV2?O@MoGtv4Yz6h0^xN(z9n@6U0&ppq;xwD<%Kei> z^%QO9aUU!~iq!iO8@vlLFH1dKe0QDBXYP3VbgXT+a*Ow$v=z^`8mdmfZ5qHtkN2f3 zg4Gqsk>D2uT&G$71u0f!j9VP*H|tb|-Jt;E%bY?rU}nj}IWoYS=?`~OV0-H@6=p^Q zo>lF(k-^>!M?v@EgWk+$fxheAp;=aWx}Ou?aqxK%V$GS2Lgs9x!d=c8rOCA-W)XfK`^ZlD!F0JWM9J{nhwlm(u za`ZH+xoeTZoNxDP?)_Hdx`xIq$j*Y_uz~W%m}^cMQR8cnVJEz0ulmQH_qO1QevkZ0 zB0C|yN)>PeyHBfA@}}SXqp0%#tK9#=puGt(B3&7L!gZ29^a zXU}sU|c91@r*yX>a!eu=JP<9^eTo=D0^{Kk`6chQ-txvcAE3{Oyw%PS$q| za5##@plGI_%F(RK3|aK zp}q^@Wi%Iot~~Q=HSl(dA&|rQ3S%@tWszx(Emt~|%LDzT+<15KyW{->TR>d9a6yt~ zGbh2@Ag!tNcF^U=`F*NQsL@p^Z60&MfLAADj0H-L6DKiWv|2JyM~P$42lqO?ZrT_e zxL7{H$vKzlRp&P!?fU5qJ6OL_Wp+pIc{SCrwhkV+{#o;OQr9nr(ffr z!&xcgV=K6EWMkF_l%O(5hTeVX_!exrTwCGL!CHEo^$nU^Z)Vq5ZxxL8N!&^wpk7Vf z`GIGg(;l)I=z)m>b6>~#0Nywg@9SnV))`bO3A)!(xOFv zSjblO9kzb+Aqh$7A{pb5{&a7cq`1v;lsj&I{^pVn15hNgz%zY+Y2~@~>p;JD6UeW1 z)^-{T(4jMDwciG-%w6T2M)Nsf4H+s6?11DIW1_%O#u;^%cvv-`+F)JHhdO96aW1p1 z`SW+F<}7{QzRy7!l8O>8yv}SLJ<&K7H}OKRuH=4A`2*E`_!w`bt`#@}(7CTvu^7`) zf}bNG;T#CC2reZYms48TTu>zi>5oZgyDkbOan+lX!>uEOibd zzCtOPGZ02xTBSy*X)PxsMH=Z+}kgqY*1jj{}V zEBI5{ zUrQ7}j5Hc(HeUpSIJtDiIEgd4M#^iqH68W{Y6|Zt>eg*pvf9qek9HYS_)9J1jt$e5 z^&D)CeO>wkYig8gj+~%iVHwxA#Q#W22G_^f$zJYNU%UQ_)U`Uot~_}MW+{#--M)@d zcsR}KZFO}`g8Q1|lm}^Rw6Fvi-DApO51+kQpwech^XW40)*LKP9Dbp#4oS#d-agvh z)?fq;Qcm2>T#Y$PuQ|B^r8CGO3>aD~eX!(h9XHF%Kt+u%ZN2)YrvHk~hf6oqaGcg{ z~Q9qx9?ZRew}}16-UT^1%#8L^E0(qFQyc6>Z>aM;K23QrWAJ{X+0cN%gfpTuD>1yznMk9B_eb+#8r|A!!d~m?~mB@Wp|~ z$;TLX1AENBz`DZLc8pFk+*ZpMYOz-ho)V$n6wKjiPyNEj!G$VKb-Zno<<{|sI!@F+dxIrRsTbs7 z0Qf~af-SVB)>BF?o7?(i(%I9Oie-FZi`1+qTD7)d*eiN(Cy8vXTH76Vf#)IJ)>%06 zw0QL$S#Y9vQNpN`hi!lH?VMaofqI_&Mg{NETOa;N%31O!@a%aYj!mM7Zy}09#0q1) zw5?$WzKt(_MELNyN8KBYtFIyl`RHEc!`18)Zx`n4-i zk~THtv5_D(Uy`~G1{Ch#4>b6bVA97)4V0F~Znvrs;Gs9P^m{=lA_{KV} zNexsPpiktiWmpVHSxh=Wu3&m-C=6C^8MrD>V@T1gJ(j#zlmGyyL>(+ zr|R!S8vahSq0qDmB4`uVb{q_3OgzYw);i-&$^ZpLwK`M3-D!_HS)HYzjS@ygqpf7+ z2<3!QkJCqPc@vp8a;laMUaO$=0l*F$@ui3YCMJuCLF5se`jDb(dj?f8e5DO&_VZZa z)C=6jL_A>lC6plBqsUBU4#D=z$s&!Jx*Rd%=ungI`hk5Yat;(;GdyMAWJhk!q-_EC%L>C$YC$LK`U;k7H}nmsg;{ z%YIK#nZkq44pK+K07=-Y%q%%a7Etd@O=T%AXb5=qexBTHPTVZ4M~VK(ZJ}DotfLrKm#*(4pbYs|ZL|I^Tr$>Y|67 zUTrDzPz`-;LnL#a@ymMze4SczEV%g$5@S;|LnS1<=HrofpCxMS2^W5AvW2pM?99?j z6sIQCt{Aen7e={eGsEjL?Ymga{x#{l=#JHNk~ZBtHY32fbdbu_oNj|eb`D-ooCxBU z^VQSXmmf9SzTp2t!8Q?b-L=ZKFsXi_P*t-Z+kl41;=qPp;Lak|S`1cIWXUba=FK;m zoH}Ho7>#K!*&_*FgmLz!?`bzGC$V_kRe{V8_$=DD}76Jij5-MrvFD_kc-X+u+;es04x z5aM0Ld(CwK7+y?UT5)xPy3kc#Ehfem)_xk8N5AtjC?vyvkNN7Zg6F2ng0D|9z9?vI z?L7Aek!j<4dGdfHzBnC0_mgHm)Lou_aD%Jth7=(%gBYHYvP7yr^r~DOb{pf=nXd+( zO$xs+i!vXKwSg`rCD1f%Jyz~-2WmES11_sdCMNQ=^#>$x@AjlP zv}TCTJ82;~H1Ah|@9nOIYAOfelQ-Z!-Ec|-L-tbkHX~Og>|>5AuKQ4W57*gM?n|Az z?ANQ>UEYaEf=(yqKGyO+O`BuGxiEO>cK^$|oIZMw$to|m+onHE)MQin+z|>EU@EXN-nr%$cOlW&esBx7V)3Nc*ayy$?)$)F8e}WUhQ(zSO^q zQp?w4hHOQVI2(cvlkQm#T`DAu#XHcq=Wg|G`O|^GGwb6I&%Kr%*!`z1cb3^z?6bS) zIL%JAw+ka!J>tvz7a7! zmTAmGBa@!^*>z=g9q#DaQrjIieBo9{LV5K|v#s6l=KSn3SEi5WKKthf=xJ&^TT8V- zo>>_or7dBZV0(Z_Hbgs$KkHGsqvQ1^W0i=)ar-)Ja^KydH0Q3#p5EgO#_4aj0{rb}RznRx4#9n5acTpJUn|HLgulBybcSWB;j z&0m?6hiq-^bPn|Qu5FcVT6HQ9RdVBu8G58&kfw zeKNym2TB~_WUF>~%yRzD$M;}hxA}@1G^{YDz<02|=Ro3?&ak=9Y@JtnDUI?1rmNwz zz{b`YsJ;XogL4)U-{PX4NZc9AI>H4?ad*17)kPW*LtZ#o(Z9$Ci51QB$Y_hIwSm6z z&qlhnWWiBw*~i`kA7hME$kNI|P7HZflEfDd-`Bv~0LfU7okpn=Q8cs#TaB_~!0H1p z9Vpen`}K-;vh_FT-eg96_53@Z2y1ea(CL>IYp+CH>xahOcPwja@89R$&pb`J%Eg>G zGGc-g;K{T5Fn6?6P}Mi+9o|e7M%1TyT^jk`CmhkoNDs;L<=jh$o~?JnESUM<$#Jfj zxahHSy6{!vIAQRfX|(^z2zto0KYR+HEm7r|4?eF{X%U$D8DK|oHZ)e{q@F`u*Y*Q5}Erh|OSmq9aou@}`+9qZ=~y+($RFC<}6LvyZ?O zzUFJQ++-XKpo@B9LMHK?bfoXM zJ_Mev5Xz0g^N(V|XX(}8hq$>{E>0yf-c61Fm4nw ze}dB6EL|V9e&R!U@H}RlxRx6znO)M&IKKV_Qrg!*HY`QkE`@F{ROPjB=QH!R)INw> zI(93b5_C)pI|@5<6;w`h_x-s6`dn;dxWyfmcD8mo-o{;A_Q~b-Ti-Le(t%hUv{4(M zAKX3_e6+hHkTzSjup)3yQu&jRt*oB#@M1TAy|{DmemaoZJce=+Qs+uJ3=OY?>zuy~ z9b`eTBO_6hvG)<$3;9b`s5-OU$0Jyf%uGL6%s1|lv#6N+f@|VC>pYX+km72MhwY{+ zg;y)?n5PHeu!P3pe15Ht7tbh!{*07`*Q+-QfUTPj3teypX4A^BrXZ%Nkh_>{&?};+ z2#?0CzFut|Ml`|ps`jEIZ3c=f<=n)v8_FH7>&~5}c+@Ud9YXD!Xwj4fxD&R~ySNq_ za&MHh#gf-x;l2q&YmXm6a}!vO0aChYPnB=+`8ZGBwg*QSm64X+`E1*}cl?Jy*j|+N z6`W^OY*VTNNFGr?4e!dyMmb{bc-3aP)x%`#q{fRTaeX5s@@)3w=~EAG4R?D9&!33_ z={KEzrtt07^v%37dG5J&g`))%O3KEszoESt#^-$i!jlZwJFdQ6yW|zKW;qm#(i*F{ zBfHS&x?J;vt}=IyHr{0oY^*xAiVZvQ{c@%&{*`_@D3p{Zf;E_1wWC z5O6>22p+u*4jbTZGi_zM0k@4R{_`^UPpC7xMM3Uj8wq{k)UM@7 ztyFu=!!L~;YUf3Z&xM$O)ENEpkjGNmPTELef<{qzU?4&dIfO8RBMwId+d?hG%MCAu zuY?Di+F$w{?0Zr)U-4W0xIz1`oMpw;EAy-tBC$k6q|O+;Dg<>8#;j^Hlt+=e6=dx} ziV4MEw8X=D{32Q3MNWYU5S){U;`}ytjjY1*lukoNT%+36O!G+Uc6*1tm5I=$B=u`0 z^z9%OuvP}=d3#XKTlhvOa{$?Mhd>y*JaEgs9+FH{`q*z`oiIWiVuBM7VqQ{v!K)y= zH_XbJ(vbE&axCx*I@_o#*m{JwRWkg*2z042AK&{9eliG~YN(&k9Q2 z!+h;MOUlqr$|8Je&<`w^E6zUqtI(Wl=upSrPU`}G`}zb8+_FQF1}FR@wq>(r)I{)$ z0WlHktC=}JlPzjfQFqVey0vVNQY_6@KHfaO?3h>d7B7a!D6NjXKJ8@C@;E_N!}I2x zS06RDaM2xvC_cK21n;{v_re4PTN^j3C!q@MW#b9>S~~t^$0Tq)N)PU5n%1RN#7PS5 z1QKD;2Bz!7G{%IwScUS#*H$})!r(2J{9((%h-Ftm?t1ce6`ql0OXCGhJ1H{{E9NUzx@TkJT z)dVe_7}Q4*SX;)~4O4jj7ini3r zN=jWgY^7mm;?%ze&a|^CTd|o*e?;!~@yP=!kI)Lc%ddRBdxMgj8HZ0}*?^x+gIXmK zG9D257F{Hw2RXv=`qT=)xgDxNsc(olap(-oZdyBuZB=s~1V1Rbn1!F?+DX19-fFJV zQNUV$SQ;4G6#H9~Fd$YE=hLb35|5j@toRPnc^k0h{W1Yfi*1P6 zOBz$M9K5sNR)<7m-<`-kCQ7{0*iyKrI2(DZ??Ut9T7F`~xC5 zg$M#v3juBiriyMVzBCRutW+H=I!}aulYlP~1NKA@d&V@B$8fXv0f4mA?GP#Eg|Z9ABWRPNp0q_66fQ zaq?sZQ~fgw4mn+W86g4OLOH;Dl25T{DOCsa>lra2 zb5Eas<2QV&!}l~LpyZNtX!~_U_}LmQxd{KnQfZ|+4W(=16mDtd$QuY{7UPCRO~JE< zL?$O#d&MHmO=T)0j@)+gk+(=m7g^v*qJP4)8pxkP9i<{J&i0knuD)D)Dko4;R6?^Z zR~g&gLlM+>99tD0#~0rPh%vH1QDW+>>!!Y2tLKu(ELDU-C1bI7_Sg-lQyo~M#IxpZ zS$7`PcE;NY8HK;3_LSOkVtLfy>%(Xx(mU3byT9c#2uUFZ#t#;FXA#iWsP;s^jV zb5^J`i^%5Qs=39_A>5KlxhiYYxmt=xgyhIB*MMx*`kqm;F~}7(l?Ugs92VK;#)c)n zTIuoJ68-YI6M2d#B%2*5KhccqGT^-2fx$sI=QQRcS$kc6g!l>6E}vgCvNZtd?k@@N;pr8|heeuLyMEKD+9N?0<8OC; zMXb|)$bsZiT|Y#!&U*X+&McNSnmQVQCfD0lOxp`0Lz-&WVjgm2^Ru!DH;V_oVv+F> zSD(E^6&$@~bA)+f4i+N4nMfl9p0Q22CKeHnoiQt;1x~xWp;IbzZDr7~2{{ptKz$a} zS4D*}=fZ*Y4I{WA&0DpqveS0hC-FYCjw>xj0YL#w-@(I0&|UGPo6!YfuAoMXmb%Z^ zeixs2F5rGUm=EEaS>=D?8J&vWML*g(r)<`T{FHA?>1}Jto!#+{j~#rLPW@~YXukKt z^~=3=hcO7rwGG&BIu)>z`MsBX7Vsu^oVIj{S> z@{ZLHDlh@2pLCc8C)|d95@h za9!bUiYx-x1&?q}AwU^XwVTmuTqg|P@m;j10ZDRjZK4sGN5`A{S5~57Q!$13hM-y^ zkG2SNl|Y+Pdzr7}4*7yOanZctGyb^^Tq5(g#y>IFx3~stAE5cY>}6VQlbaW?G`o=IYAjgAWU4WGAw$jPX7uN=z?LTj7;PunFo(jO8SQM`+J9sy16eW4Q2@F|LrfY zORSk3cOE7KFaCp)gbX#Si>zJ@|6UunvDf@Dl^cw|8_3-IUan`JZc{eH`tNl+4>@q^ zV(zYg%!vMxvHj)$dOhKm8LK$_5|a8C+65380aS8&`b6y!^>zO1NcCl8M5@{fDO;|R z+EXn+-rMB@3k>ENFHw0iS#V`V8dpL56Ig!_fos9aX&Z~F!lfaP};R}Z*#QVx%LNf_B8mDM|Z1;25_0CViEneHRetx2ONj*~_U#*YUx-j?x7t79G0eX8Am7Mdo~(@$TOWcD+CrD;od$x`f( zg!zB3mjI-f19C6bqHuhkD=eA{STxmx(0@Rszf#OjmS-t^<>#OGV*<%4%3_?L+GK8q zg~^=#>Zu9*(x*29<#cJlxq;4!=#Xq5X0?PGA4;m&k9|MgQ*Sq2eyaofdT$TElnZhC z+*)&X7fpjlN8M#@XDvF(W-2-s86u%w5D~)il>VLhkhIYcj91^d^|%1@*~_aeksHSq zzCN(d$wk6AB_2GZNT=sx;RjAzA1@m2I|e2W~;!Kce zzTzBWnSBi9n1}-j>g*zHfZC&4-FotnICyT5kQiImM~Dl&-6$c>3ao4o6c#4tF|Vw8 z&LjCB%6^6A?tGSiqFm3OdhY=x*YobsqoKk}*-*B!Z{O@MO8(?xHEZ+ig_}RU==BpT z9P2~J6%5Q)ZZ8{Xtoa_QFus6>)UDyo{SMs)BkL!9GVBF@%Sw`WcCBZG7LeD11lXXp z^bkE~5Isl}y<9T7u3(@lZ4K>1gSvn(9s$)9V*%+LdxP9~q*89&z%NT}4xDhWro?dx z*0qaS2eF77-q_9eIyX9OX=Z>}21hxW=JYXX+wQ*~pFHOD<@%a}p$)6foZ=o$3bVyC zHB}+(b_(iwOtl%TscgngpPhl3O5N76byR!QC90)&Uj~{RC3|*EjB7K^sX9R-!>}zK z%RN>MdscSAE3v|^$zAKGS84Cae7dx(r5gI)oWER*m-v~WZxbQVTyV@>AMMV7-d`d0 z!qrzLty*p+@t>AFpYYXh(%T3foj;A=y@_!=pYdHqWrFRum)2Zf^!05mtQ?}Xy@)u2 zwxo#XBhSKhwUoYtCcRj;((SP{1tXr8>8>rAx+VudGu&DzIz$ zt>#H$dinFvLwA^gyaR>D6qV-l?p$+D}pb`HAt7aUG22+l5H! zg)h`aBa}nM%6-{k0Rbnc-)z-Dz|B9-9kEdEg;nRw|4x)hn@gd?9k}T2S__P;cpx8W zP!j|Q`U`85e5wz023V$;j>Kc*K~Rc01TKcjJ0nqGkIGO=CycbT?i1~gQ*IpfGGXoW zN{eh2O&s_m#{YMbz$rf+C77T`F%lxw_w*7#B}pJIkKlpJY+(dp;~_8*lf;cqWDDpF zfP4uI%6Z)B%PCynzqPD04K6(>AMC-f%*gPd`$+0D02a}Zp5MRl6%l#%2cG3GhsFPV z|L;2k|LVDeC9nW_vzA}ss{VNfF@}|7h0kmJ^Ah;I3x8k<{IOeU{uVGw`>3%h_iKQ2 zqScovllkm?+7I+H&J>Q!| z^rLrtoc~hz!rRUNHq-C7edv|Ooc^Gx?(tx;p4Xll)FQhxnVxzFiJ(jF2Z#A=3QeMX zd!Kg?#m_Nv@Y~0{7sN>z#_p&nHq_TrkZIOFVqI3Vcr$c^c3!#l*+k2l6kTUW_vaHB zVSAxhT)$F$!c67X}si8TI4Z1%5{{eR@| zwAC!&cU~z_`hnwHH`9*nfTQA2QU37jwixdFy?nX|)`~6^MY5mRj=kZ&Un}J(H6A0A zx9c*^VRS1`ECGY58i4=y%Ym`bztL>^J%paMM|l9KZwR<9eK*QJKrcvAZ>glGsetN= zzRd-wsljhmS!ceJuLQ_x^tprMW#bE=oGdLR9>iDX-mke|Tk+soSfXw#WzUA7s>sH| ztl;1u7>pTw~HyoNiuK(D{;Y7Cd z@uB;2i?NJl@0}hW3c36EXvyVI%8SP9jL*4m1SE_S<*xOPqYg9OJ;0>9$za)||+jy2Xd{0#lDE zrcOzRg#D7km$x6dk+4;;;_`=As1pAq2AsGQ%vWYCACKmL$LSptHNYxLL*lJZOpecM zlX+0KcZcR#uW0tHMyKLb^xMohLBFZb-u4kvR$04Ef!(9wfSq#PzKWXspy{Nkp%??r zWxKY{-c>jIq+tGrTRR2%>rQSp2-4pqOVZeqv~bRrord4e*{Lz>*3CbLKhE^(u&SdR z1Fgn|JU~7JjFrn_HutlPiXw_;tFxe@_-m8{vEWD?Z1+Q`cTGQRsw;`$kKCI^ra9L# ziC`TcQ-Fi@Vh&Zky@gu%w;10{JG9kYReDiFu#y7#1}kH{#$NHLh(G-M7iJnU{tKRI z=DGgo>;H~9fF%$|dH<8BZzcXj3)jhog*1aBegEe*@Vi(3z#{m=H~a9rZMa$}z&7|` z;b5%(g*c;WQ*apFUE^8vGC-C5KwBLrcg1i0&?}KpUSDtHk7&hGCW#lK{-zzxzZ8=H zdkFvET|M!y+DTTwb8t^){9ctn&C61JtJAI-aEXMMFWD$~!hg*W5EVo)G{YMcouB?6 zoZR1|pf>w`31;83NXAj84~*1&)W{<$ctzo07Q>}f zoVt4|F!0_dOq@^rdq(;9OLpex|EcQ!w_1hYoAUp^{o5Zawf^6FJ%8+0|H7*7*Q^Ni zqsBuJ#5a=yPs9L(p@{J_)seZi$ z40bzbX8DJlXj^vTS<2Rx10EZ39kp`qyQ*dZVIfG_6_ZAiZViL4ivU6=`G%erFw%#f z5bVdcs*`0IAyW2LU=a%Tl%q$WsTlqQOO+z}ESC=WT?4M0l6Z;bQpl|6Yw4M!tG|{F zr&-lI3#1XjGY;b7l(zcm=5wQz@1Xm0Po3Y29+kb6zmQ4pQ|!eIwPPkl226WTx!+{~ zIQ8k~#Ked6TSI36+_T}DVKR5Lzc?b0oOL6x{|mWqN@@t5A+`3iY6XWgd};(to(@4} zAwr=s4Tw;4(X&7Xf+^4Uk}Yrxf2q`ki1%9<*bIr zB{22F-pvq6EF31zOnn|5Ab)-tMG`Wc#+{k@kD$$5tuByd5TxupNSsjiRG~*IYsq*A zmMY=ssa!fK5-aXLWxyqt^9`(G;7QL!y585KnZdti{5#+6EC5Qt(VP9I6s;{5M^ImA zD=f=VuM04@dRS3|IiW&*l|5&(Br?3wT(5)Yb&Cn~rRF#(YBJ~mg}ok@&|B=e%0Ayu zNWJ~eJNzQg%Rl=ilZCHyuD37pr#|E?E1YvBJGIS;Mnh$HwjBd&9{fE!lPMh{qG)p z<--i$p3wH^k%L0hzwO1=c2NAOy%AgGZ3064G-c!!N^rwcQP+nKNIf^2xNxE^T0~gq z6oMv7P9Y{o;?46i)2d$=36vuZu`89za*%t`JA-9+{~rXgb{aP{n*j2 z{LwMldj9v^7u`xvtnHQ`{+Lo~{We+YIy~(KEX`w)>xaem_0>s^vYrGRk^v2qZIN3x zMXcqmQHTt})WoK$!aFiOtNro@@3E|0ENeGkJ}3K$L;0J=mt2osUzzLVuxDl^QO5mW z?7e$fQ`fdPjN1z;LPTx~LRuA35mFVTa!IsSQ7J~H3UZ4U6)<9I5s4DA6y+|aN|g#5 zq9CB$B6med3<`5SW$}IBd16&{#ALa{%S^bEOd$+4wE~xo@P}xf} zXyBo`51o&k19~{*40OJB97pAGf zB*)qTr8$AwG0<;`aEo9TP~kv9wt_i}!VQV&ehPdRst55JpbTwfFqo|d5VM%WQB$Y1 zDF+g#Y1}nVT5~=~O(q{k1jAk$bL<<$T?{Q|ZPQ+Xj?fawj%dS;kSt^LzKURh%>qh*#bl1{3vLPbIuE;eTBGRtQeaMN-QGFIf}QeS<;=?c_?o?Y;*37 zU;*89-;bctSEgJxcmL5er+xjFZA;2!z;k#n`N|>|6)`A%FZn6~@<6j0HzVJ_g9FKr zjdPL((*6xkaGOB^Tt4o?o8=Lu8XKV`vKN9$cH4|ExIfOQ0?4G4n0%bo0&TzBVTVsi ze(Oh?)-UV?@^lE^=||BUveK>4o`t@PqRnI`(_mQ=wn?sG^mxm^wKD4l?IikK8qT<% z2kM;3CQU0zy)%Rxx3MBsDJ0REhLKy7mtymo%?+n~16qo!6DpZJ^3(sXiu@>(deNx~>{4R>nrAThLdx600?KHdGI>-HR!O`BGgnn%ZN+dxN~ zXp%U+;p#2(OAqpyPW9J(b6YyA<4-0O;qM3kv1YX8W11U(SYw|I$xnvlCqwdI;UPTx zNSgQ4f%@q{{dA!IP5Q4ek^WmBsFJD`*=Ogzrasl+o;GR_*)Knd0`R<`UF0|r@j-Gz zAAl2<@z>$M_yg!^|Ff6yAoR!+kYURhYeDkC`Q_x~50*F9$^H-Zmj2A&AFNo^74d;) zd=o!N-hy_v+OvlQlN|>n1TePC)$>5Pf^a~ZeY|?Y`K`BDaF;v0Sw)%8@<4(wQi7l! z?*{fNv^8IJ3;PanN`!)W7tV|&kXMJE!mVM!#gR9%#50fYDD;Zmo6fL6{c}nT=B>|7 zIv(N2to2Y3^oH)352nvbjR+mz3yLHuK=~5@yx`jNCj){M@d+oPr@*0W1Mo!*r3Y}s z@*G>%0d}O*!6McY{1Ni_K0?_6+`WT$r07~(nGSHo!MG@iz^MdpPNLq@a+=7Wcf0z9 z{XR5ViQhbNE)3iqAbK%B^q@2!*e!o}y2eO~+KPQa)hWzdNzm2IX1&F}O&@tsT#SN%&*v{Y;uW>?WHUdLPqPR0CS3xq1Uyhwd{Rj6EOb z$0|9CLi>%|Tn{QeiK161Xv(vWh6JX{snZA8%eqz;)|8~j|+4)oEP4%QQRQ)+F^Q7Ou1m zZ>Z`I6co}1&4~W38;M4}kkA1*bAPR3n{~MoLNz+LSk0e{mS9)X= zG7JU`_fK@wN~y#2=zLai8wmnE9j?9JuFV8e2s`!J>htb`b#JrUW~igRSPG8z~Bq&;z!N(H|oI8T`?t zv6rhj{l;A<#iiK^f1yh2TY}fwPQS03Rl{co*rv%T> zgv}bv$C6gNo+t)Qf*XD!8+$NfrFf|-z}5qaD+G9ro!;&a*WGzfnK7f!!+an2k5Z-t zfBpE!0qim+gNN^ENFn?U=s|?yuFc?28=x$}XQR4Q)C&$$T3v^u6u-w`VjHsT+fGJ@ zi=^HnMx2#hB|Hoi=vh!>CB(`GSstH{0_Qz0RWam76gxk^9+vNZxR541F?Mp7E&yD| zfFk%i8uVU48dp!jaFqhZE=aT<0|AezouubJ1+RV$DGq_z1>0zLFt!AOxlp~$J00UD zY&oTe0#9KSVB#0hMu@|*H%A>Qs0|316w`@D*ybWO2$-xd=3&S2C*Y2flA};LL-;@& zq#RRMUph%ioaAAvwL6D|SNc(nhN`52v?7GC3#^usXupxH4X`?1*~?u=Ydhws2bF;I zh07I^_qWd;BF=N&oP$r@K9z?V;vg6uyQUhJ6pUJgWc zHS3hLL~J`k00+Q@J<&G9>s{3Qc+NktRlv{%3YqLKV+!3&gZ@Ch zul<3)<>L#WKlag-ET?uF5Iw+AO{&%1*ymg+?R~fjY`Wx4Uqh{u&WXgj#Aa;9Hvu z=8}M|WS|v9I6gXmYNPFyAseCK_q%IB`X6Keh_NKd>)#~bRSKHCIX6v7eyTrIUV;JVr@@*LI@ zR8L;)O{+ly?*Qu5d7^%;1^l3XGA)TzF=D%|4gsiJJVwZV>FfDiaQfCu-{ol$MgG3q zZ$Ar_lCK`NYwitIU*0@av1{4~8LvUS#c1?99UE_?32%9=28lYI98IA21HkEcfY@kL zeI#1H@9!&KP{tO!fQEp}jX&|HRkCQa?udOT^co<>G^MyPPZopN@nxG5Zd3;BV za$iu|d7Pz>Fdhb)pqJ%CDPA6zbK4zPg8mPdw)2zj*vko7W9YZAX6%^BFZ`1MAgSY*(Q<6{lNYi=%wA}khKwos}ABCJg+N4@p z{^9fR31Is5a6{4*yb24jRRUrlYaeJHv!9zDVxt_c zMIB)m9GNt(?3 z_WdfY%&dEMxO<9!CJU7<05@{%A2?cUqzdN7x6^<{EE$4P+N9QDROtGFM(ulC-9)PaH((}fO_DZ#X| z!eNn;&6yHR8`~N)gblcGzPw57wr)x=gvHnrG~m|D$rtezyg1oBS3kPqDF_Vcpt|2Y zaiuCf2~-%g5!JU5b)BIkM6|5!-Fc~bpCCr{w~~+Lm3-p+d?Jp2B98ydG6McP6URUC zeLfLr|2KHip9r*{2(+Ivu|8#Deagi8hbeZDkT}I%fF%t?1J@INH#gXkCNkBTSYDpwr<1A30z`8DDBg ze(>+vbG)+@kY(`dxWG^V0=a+}R79J6BkNtlf2Z@0E}aD_V1I^O_vthLb%V(NoATkE zB`*eTHN2o>9L*O5knD?^nSGulzHM;Gcci^yd<(0N=hd7Jvo1nkCSX4`$5s z;;q&ef+{vYy`-tXhstd5N{(>Hxbwsb?yH@@fqD`R#L3H|;P?xmsLgq>fbSZB@-`jp zC39C~*Dieq{yqEAfBpxOVE@kv7XYiWR}s)+Xjn!$Jf`(|r&IZRl;wx2U_DFI$`UEV z>5b4}Z>)r{;hhdsA=9koWuzkGD8FSt zf`-XlJm-0Eyjbvx`hudK<^|e(tZg6q4}(Vks1LM!2(g&rgn#qFl-y336r+JSOVV;)O37(-J9U1+U`^(myZb|>$1@Mlm`LmH zP8HEZ>GP`17Bm?jS7Fa6@)AL%WLSdu;RayK#zeDDqLB!o;+S2+XJV_+Sk1Hs74>4j z5t=5K7_)5PzO)!9)PrNrY~NjnsAEfx2AbV%b6uHzG=2|a`FmGx*sRpW-qn#=dkd1U zZ=|%vC84(UT=-kS09>ASsdl$QFoQ`_YqT7ew~DxMXp$1kvQaPy>{i;`h-gU6Uyc~$ zgxv~po)w?#gXTr`QGL1`J(>etzG)v;qz|gq&-LicTi3qbJdshBUH)Lzl9j=cpYPqf zY4xw-vjsO6Z2wGWj*YR-pzZ5-Iw~S&5`@p;!PCX*Y3Io#_A_od@jNRyyTzpHzI=$2 zoMqU_^1JCTnP>JzFP*>eNrauZf2+N9WesSeuD_?g&Aa?w+{mupZC8F~>p?&{%_+hDchch9NIJYzOKVG zj0*{u3FKvhsExd|dLh+#l_Nj`R`KJkaw`Ae~2-a$+SyOQLe@TqP~3 zS?Ol=cxZRm$*r(ST=fa%;f^=a&h?sIokfq+m$$E8&0sLD^h?{6J|lRqIbp<@e zV*m>}NVX`HKTVs@U@t^dabs>$M8LWookhc}h%makWvygbI#TyMnGsoHT{~%zSvXkb zJ;^?Id+=1vNEa6}_^Ucxhou4%F#;2F4;NG5ZwRw{h6EKd@qNF>Grt|7&1M;*C&KcX zA{Fi8cZScltNTd8vcXBWlH{AjGXIUP0jg+vJ=?%($m%E8jS+r@9xJg4d=3rVGE18# zkOTTLTqjUuuym2vLLw}I;3A4*9SDai6i|GY1>O#REd|VQ0&XZnw^9^;L30t(h~PW$ zawzz07t`T~H{mmrZ&) zp{_!UZ!v!$nGTVcz)ok`OG0GRvCsmP(%8QW;orE%wg%52)R%>thjm>wILV98GOpW{ z=Mx&Z_WajiB_zlJt9I5#=CH5+iQ|GWNpyP|6r5+ zD-XH1>lDG*Rfco|G(W4CO+J#9>qiIwgEF^~t3mD<)fjp@3%KgVTj#;ANpCH_Z_>uU zpiKU%l!X81b0Rwl^8%CehTQ>`ON26XxnzV3=O~?;h_US1Xf?u6`=PnntS>;R4N^is z0SI3#NeE{qZ>xhVAE4_VPV(;`RML!|rhN6>!>{K}fb-< zJgZ8(<8##G@X0Qxl!K=kOz`JCGeYnWVZZ&j>EyME_3f3lxz;|%Kl|y%_MjsInkW)8 zXJ}5bLBa+B^j%lEpM^rkq)qBb)JPRgQ+J}tO08`@#T5U7Nl*aVh9hyV44bF@>q$SN zVNXc^if)INuU>pz+xbR6{F|x{#kt|${*jS@9(%snrfAS?bF(BsxtUbr>Z-gQ6X*TgqPqZLno zzke_3aTj5PV=|b&_q=~!zrSBkPw%pk6OpG+%*?I$;hCo~U3*X%!7JdtQ7%W1^U@vtt z?8XsG&eBZzi?I+i>W*hP{jiD}XSMc;>j}ku-s-%lsG;eF=qbRJFHhce_ueHBx|SRo zR9ANI(l+}Wafc3B@ixvhdE1Sg$L9j2GvgOjR~6=`5HtvSlhxrc#9>h)tm6|{))a97 z5%gYhxxHnvkw-o=rfE~^-n7jfdt83rU*xzum^uB6SK*7#x%sJ?;Om@aiz$_v*rd}i z=)m5>VyGNYNzxiHw>*mi6fW8nQ zeM8s;!CoY3Fg^#;tj3H`o`&Qpw}lq6wxVNZqOen{Cfo=z+Yj2lql5;&ZRp7dh6MxP z3-5qvd3=~%N=tX|0aG)x%f$tKj+K49!55fOuZnmH(5RkzsGZSq#97_E2TevY)FG%H zvbo7=@^~iwR%kbSHK>X-qAN~+qc-1r#X2wZ(B!q8AHt5^pxH|a_SSaQC-7j3{Eh7G z8bXg3{-q;s_L;PdTD z0%$&ztVk0Q{_?0m8ghauQdXy68{{PY=3-ir|ym$5qw$uJpIq&=dE} z$y{n{aXANuRNnPOsoukMMg#F2WaO%kK#Ho$@H_io_LI>Q$}pQovO$;qN&3K>xlA0>fdA z9iDh|a5SvAM6mdc1a;f2CZ_p?IC8;RSa=tfQL## zU|xk=#n+bvGbx^+P`C_rvc>1T)_jRS;VyzgWtQj)cALNmU&=a!NW`+gY(c7|vPP@< z=!RToTBA4FzO@1}0Nqf`&QKFsUfF$awK+nk^DSF2uY|k`e-S5JXFM~rfU9;FzwVp@EA zdDK*&(wH^3>t;pwNt-&;YNJr6cHc+0=+{c!o+sWOT%UA=c(nU%4rT*4Okndt6Xr8; z_3&FbP}68`Gu(sZC|}e|V%G~c40Px@1<_eXo;xw>qc}Z{r_=8_5Z5I`u{lA<_DOiCK*LT&XjnEXm2t3bI<}u zcjJ?jy(7W?-HsVU0VMaTzY*%*&Ip%*17+gmai+(orE2uYZ=0;MV* zkY?a*X;uzMUQU#1M9;sYmUQqI)9dR_gIuLcbMX$T{_-z*$H!a?_nLw9@`x;BprOEx zg$}h5N{&9dR0vhehNF~%g=iD46|+@P^q5iVB-E>L2)9O@5+W?ZmTr3D;I^u%VO{^= zna0wBK;HrB5pM9jZtv>qFZ}!(mX&4CC)9=HJy>PyQkK2sTI3HVd%s=q>#y797ED`q zMMvk#37QTT1fE(12_11AW-8cl4P(8j>L8eL@y-71s%}@y6G(WyGcWn1?R7=WbBnM@ zk-0%`!BD!jxT<flf#JZrgoN>(&P6SkGxX2Keog_^h{a;W1n>d-0UecnC(el|FgVJb;54+o})7JeMmsL%? z^WiSaIoe-pDH>0Sym+Y)|I7K!-FXi{hrEf0AT847bP4m)i#?qYdIJK574U9TcDfuX zt*Gr}1pXd&qbjED7ulo`<|VUiRXoA~do}EySW8h6=MG&fm4)z^!zGn@XuN2$;o>h= z7A>UxZT1X@k*~V;ex7r$;(q!f2x(~k;F(!^)nGP`n$UZ%)x^^dE> z&39f-M#QRb7Vgh<@XYh^>F<|W*Hz|sv1}~Iv4nIDh_mCV_?BUaS-0oQM)t`%YPUk{Ot5$7nYHT9?ueoXg5tfVnGghf1Xgv>9D*8Svvnn)2PE7Q5PpBnnGtH7} z-HMs(yk+c@dLui3!7bOSK(WdWmbct)^X{ZsH5IL_{dcJJj0-7LhQW~@X(`Q59{59*d*6dZZf^L-@O*#<=b6RM}DkU$|h6p0_OU$ zW0h`e)$P06BP=|kv=m@9#=UC98($gUtEek`P<`5NwAjA*w@Xn`3Cpf5Qe3u9>{$dr z^QA=i6a_QtRv$p9!*f)`-sGL=X&`ZSt6&=D4L^R|+mtoGtzwKYNHb(DMU0fhINa)J zzdjms&GgA;WpmhCs!=a9UzDDeZ`oLWTXJL@|ntA>+8cdfoa4a$Kq?j++ zk_F6({dL`=_+sE5#Dmpx)cIl@y#lt0aSguh$8_2H`nqvlTI?H-LWW)laz)v`rS;^H zarCus4D3gR8Sj^E?=LLIu(@d;2;s zR-ZC6o%m67VyU11ruC1!up&wr5d}Hg!y=fD8<5~g%&7SxS-;Cc&=c&VErJekW4-aY z_YqE#quUYMOjaZ;7#_HTZEsI&OpnVyp}bw<7$r$yue{Q}i}S5t-{*{j9MANg)x}@a zhPKn5?+3^JQh+hm;~?jtM+3}~Rg`gEEhl99(I1xyzQT6dhJzkQRkud92{U8if|(W$#C zE9-;k*9z z{yv}nO+Tcc;(f1v-P7L_AarhWEbglqSd2_ovMy_Wz@^-ope8D%+(yim7OF;X7W6W8 z6@6E;n{F{ri8NjffoqYS)u&BU71S9_@13DxBcqOEMnm4~Ya%Keb0YI!rhiR{C}Ae= zZF8mM9Zk>uSywqGB%ux}eD*lpR9|(5B!*&TCX|q|`Hj|5V~bdxXb(cH_nz3(vUGb{ zuRChVW7#}8He7su_Av#>h8j7LLhijydv-c)0h{(m`${S0X}r98cst^!F44x;nkZ>8 z>JBNS9{L3%zblho+{GWLuUIB<8$pKox^boZU@|U#|w<30N z*Y6}$y4mb*C)wLqL}l7`K*3ye)eCI#N-%}A2M9qdKyA{7xtg_XiL9(H?@rN6(1Sf+ zv$47GXpT>(gWFfe_uCbq>5_m!NgiJ}Z|LxCPdVd)H{0Y%goRzOdq?dzH7yluQi#1E zA&CNqpGwpa@a}TFl{SA0^Cy3SP9qIBBlVP&^$=k-e~A>8_9}ixp<<%Br(7+7onmh? zOsnG!^7xC*oV?8=)n}AQ;h;2g1kbs1bh5Jh92RsFg~aC1dEYyRMKxHNcUKnv z7Af#6%hQtbnTjYX-3GQ5$g*=L8*r1?Wn$_b5TJ9)$ zrAR?A=(AuNWP~F_%2Tn2gOvJbe&txuO|!lz1#5sOZO%bgzZ4Wv;KOOy&+#K5-Vw|I zScoJp;*9_^oxt@U!QGfKqbW#Tu1#Y_XR~H%ON&=Kyg{}!))^G)o+Ud-6k%)on}lhT zc&Xyey>8YVRo|>$&$g3vidCrZK7nOdVt!~kJOAeOH@%jDPo@Ljkr~)__h|5zv4zZ~ zJ7B;>DK)#`N;!B_H1Et#fr3C}fr_mu%BZOAt8d=xWYP1njZ{Ol>fpSh*QAsP!h%hw zPc0SH#XMIpJib)J#pk@!(adB`;W@|g$7))+(=d)NzlTQWqc58H&M}(C$eQDKl!bsT zVu{A6_D4krdAGgEG_~|+LY~gSu?|t1LgI)GJbEribf=HjFLWGfg6}IN=qh(?u_JKo z9FeV=a;W!(f|w!z^>lhv+pjclZ6D`eOm<3UZMZXV*Pot#DxGY_eu~d6NA#MM`bT|+ zc@|%xh0!XRVQ9KZ)#VxZ4EWcYf)>&Q0o+gthMLHl!rT9fx0vgWtb`3zUS;jU9b>LG zD#0}Lr>8a-$&0X!ZDBA$38h4E7|UHZ$wGLG|brPL0iljOp~Wz?tP#BN;Zg3fWuJ z5S%k`s&sXi8F3M|>EKC*!;nW8of?M|7ciT}1Hr4Mvmq5v&KvR5_~OkJ*jt9K*ee*e zh1Ek!vylMJ4%Ro?V(9SL`NI5xfs&(qy>9+z>~>#9QUoEv+$r9^*xn(U;SE1OC)fAW zY^bH42$GNK^#wMm1Pl4O3eKFteyc8M3nY&xE-0bML8>XdpO;K57honviVzT^36V$* zhgpQ1>^82UV=u+@D1SD3UKQ=-g;-Z7snFO08f|k4N>ZoY>l!&Jn9usAw6kRV0^;DT zpO$F#OXG{Cwh%e7(;b^Hz-PzHA=J8CjeU(+aT#|4qPbtUgQDD_f+r@%yL3TZW-s)1 z%L~kyga5izT@TnCr_n^(-@36y)86T9a0aQfcJFjRy{(}%d@gW^SJZ+P0063<3+$(~ zNeRW!_AT&l&VNREVMCh$p$_%8)3l?1)~51KXE(`Sg;L67+KhZ5Nel2Op2vscC?k}& z)(BU<=XdVp;}`DnUigk&mKO58jpKX)E$I&6rkO%N?#VKYaD-{Y!1q z*+FTVGAMj={r;A}Gbu)TSp>-1DE0BHhgo_cI^9OyO%@3*JT&&%wZjtwL=L~s6$F@~^ zvM1}Ccit_3)hj_AyFqWg@LQgFA`Nj+8a-UqI0Ko<9U*FV@p)k@nT}n?+ zDN5t7MQO;3J;@@9er?cHRWozlxcC$@K#FTRE@PX+vU8=(;GM`{1Fh~>Rv-QNC9N41SjsFVG5**{4g%${ofJA%a zb&@1?Qb7$QLsnqB>wbcmU_?K|i{&p8f(@0}zZ52?$m^CqbY5PXi+(2^oe)`>z+;#4 zIzdYkI(f}@)?t^>^cGGWuR^;43SnD8!WtUvA&B8tIte*a6-Y=W8nLXJA!5O($GW5Dm3TaS&69$g9+JBK)%j}6ttspC z2-R#e54BKPmERiZQlB|~H5`1Gra%_(v%P_sWd)8cF0az!;7F?kiD|9W#S z8Y!yrcQU`myW_u^PS;zvj->L&tbndr{<&rq)YA)ifd%2p!_X>0#p4Iy3+)2Jy8sE- z<8xRc&;={|*7s$IsKhw#EVd3x+xdia3XKGK`G`Bp(#?Izpimsn<6M?co?|?KC{3 z^rUV<1K`2>P=}Gt%6XS*8z-{#S|ggn7k1V%lpaxZ56(q_k;9Ao74W{SFicM#S<&(0 zyjQ!Rjt266g|xXCK|zcY=wqa8=F*2&e}SKK6vSCfipV#bfAt14SmZqOqWO{J?2yTb z0(VAm{y>-M6W`uV3ubOp`Tt%<{at_=>ZzsL3`!U%>Le3_pjrz)2bKt%iLpS3!>LN$ zVXZ=PcM}5+ZtOR^8{^Vq{!3TOg*37$;;@rXf}w;_rN@}zfVn^#QA$X*!?x!?Wk1+8 z?b~rncWUb!&4}MVetFxQVtYW9=@@t0I;dwy+1WmPBPyeJXs9Rj1qf`Oog5S+X6 z0-8BRen((oPmzPx3)^j7cnLqEV|&s>l#0kEs{UZwHLFFPZ!FDrgIZx1M50rHU$ieO ze#1D2Tde}GnAV2d`aeaV_q(Iejs5iW;}yqT1E(R8!;uP&47H2L7QawQdToT)oF+ko zKFwOp7fx#!L$^Cx2Jfk?D1#-#6E{NnfNO9F9`spv%bRG(Ud7bigr*Tgk;Xc)rDcOD1buUt`?CZK7mPe-; zEXI}I@-hNUtu&E-{MFa zrhv1iD=!G?<{-eUGy>x zHR6_NvfR!i0Bt}h4QGy|0v$SMa2MUmvdj93>lS5z`&I#WTW45Ugzfax!A?DndVYSr zK_-0_M($Y5)Pej?=lAag@sOGg+@KvCEzs^k(sw$Z&N{ESmw+9Bt<-$QnvXWXMoqh2 z@wsRZ{GdrTr`FGydcwE`oKkF)PL_4C#p$BaBF1O;Jzc!-MV%fVJ60mk3`*}Bm7cuB ze5b>e#L(c-Cd_b1!HGTghL!*h1^y~_YyamLcTDuJMKi$Sr(EET=B95=JzT|sT>??+ zjh-IAS@U~D)+xVBh33)Ky9D=M+b`2*Ywts0)EH38nA?-8q>k)GCU$j()lP>;e`yVB zb9FhWy`$tUV&?nRCU1xHV_a?X9jeq5<`aqIg&6_PQq}GU?QcAn=+<<*ZYdbBBDOnv z?vcC=(`G^PLN5G$K4!um6H^ud<&s4!gN7ezDC}R<>3QWhQM!^lGTpwoASLMAC*!mC zyr9O5(`vM}IH}{;b;Z|iI-TPi2B6-XI*wIl689i$ht@x7)Ny@)>u~|p*NTfNGX>vK zlVp{V!*+7s0?Y`J438-u)q*H%d>Q6}NH{D4GX0^c_oOrW%X1|oDSa#j+ns}^)(2W~ z_9Dv@CY=(GIkbGU<<5ZfrR%3pMC3dhpp_9n7W~ulug0pJq5lN?oSgR7O+ydaM}xnm zqR!{HYLh{LlVgR}%hX3;nm9@lOV)?ocnM0l@=~$_(q&5~h{g&yKK^)0t*+;Nz|(R0 zs;m^5Rd>War81ei&<9Ls_sHQ^%=9E}hzQPi__!Hn7}aPsyRBB2GQ34WAUqBEUSyRD z%0f5E%rGYvGpoPNW5sbtn)v|ekY^-j+x@)R*0os`uvz?LU_ipy*n#_XaTW>q7r-{? z2V3Pn8Mw_cDd;e}3o0AqRDiNDRgSrFSy?OYb>Hkf0P8kh$L#X_o}%D@qIJ2F)6B=t zxklaS4XxRk60B;m-O;V8X>}M`N9}mCj+_xxC}q!KhU0UAXRfOc3H4dK^O;2TThv{} zkW$plwnJsD7206ck`|@R;OLoSX6DZ`^EmO`DoRWd_7#Gj_r2y~+xUdPO2(WJ`yPo6 zyS0gO&UKxALHUkp+Ey@JkmYfJ7ej$PWj+1P>LXgNOx#T*RDc2{=tR>l8uRglXQ%7l z2uLNE?@uQ&K;Q7d)ND~9hcJ-;4V=e;B7(HHaLXqS%m|l4&C}&|_i!75ypQvCzaBmp z=(+D+jDV*U$HRO<1r4<^!;C%TfTZ?99rA<{NBHVOO9YU(&m>^0FIA}gcLTDKz5v55-@2v9r0MfO}~>P|4Pp^)%PyHUO! zB;3SbAK=Hd@UMaG(wSL67woN0D(oM1GyG0?_i z!;vSOwSYW1g9L8%IZDLmM8I8R%KQeGWI`fTO=g80VxCFv!Nv!Z}J9W8g%%C4#Kj#f~gsNVq{gG|T77EH_^@JXG`LoC?Od>F~A73^o zEoca`dZ28H+RcB^g?XzehL+C2j`fUeU@z;a^bFsnaW(AieZ*WnvcScK&TM}RoZXlj zupg@^r7te>bpUpm4R$8rB9cJRzl%77wek*#SD3^LM|?qmfIkO4cN^PKUW4pmdgF#0 zD*d93gju#7%JzPuF0)x!O*YKfj_i2Zo&H;TT*ka+A_NYYN=WEMc7TLm36791LUSo0 zeL?=nSR<`xsXq$k2LiHn!fpauqN&PKWK?J5-4*_(A7Rf84`j|E&#CJMN z%q~E~z(hGj(b5SqouhCQ_S1fnHohHXO|pK4(KLKJ_5y#n3L4z%8y)%YxmYxv_m#(f z>tip4dZv5U<^#LO6 zNzsPzP+ODt%ix1o{+UJa&pu4IgS2FbgWncX@@JLG0m4W$z`!xWsd9?D0U>M*? zhp1XQG3M%E#Hfn$Tjt+@>yiYL>f<+6nos}fpVQ2RXY*Uo?P-eh#za1(# zQf-uC-@F4QK&QXApV`^1PCpvww7#*cpY*1P_v;wC(j8ksQ@aA~b%#k1u@?Z`nxxc& z7NGNn2ym}bBC0z=&}VtT7WCHMZ+@Z=EPmgR__b z!N<+8EwDhW52^A;B9LjUrG-61Qbs)C5@rVDZPDI4Pu*)TDRK3HCm#9|I1W80d&es} z9W=5zOkVwDUEa;0Fo!eTYs+FmN**l<(jza%7-)owase`PU37!>6&i}@Z4|(Q6jw84 z^6W}Gg4o$A*Dz_Yak6W-Q1_6!dY7xyHM1XkWl#P60(E7-sd}E6}3Q zn!1*(c77W+wGhIvG8F_-rR&Lddi~lBZ)d)DjjbEb-h( zL?f4R$TP5mXrIb6%n|%f0;z>g_3`yqPOYo4D1*#=p*))6fA`f`$w_K_jZLiUdTD3n zHJ*L4-N@C7(z9$wNOUC0pgiaHQh)zNNS4?Txwe#g4m{29$yT z8;}F`bEPB+cR~$w@h3E0d;WTsQ*HZd5M@clO-Zo_P>v!wC3r{sc%6;LOPJ<-i~L!V zYLr+!5tGi zF!LASb_3cfd=0Z(eYTTD)of!C0cqd1fxR557JJekQjEi<97>58Us)IM)$83ICutYS zR%j|YF)V*4kD<^`e>hovp_X(r6nMYig-$N^-5Zw}dh0AZ5lrK^lu+JNo;-ipO|!+H z-3>^XhYMJ4h<80DfxWm4rSXPv!+VHLgKT~v(I}yY3gIza=rta6mY6rL2D2s$@D-TsAOBmcb&x* z$(d0Kr+AEEBW5f_PuW%lta{bEA4*^w!g)DG1M|!MkFs^{wN~mqdhujwMLQmk?glH5 z0qg`!An`ZR4kc~h z^NNUWbq!L`WtF{tiM-%4r+wbEjtLPlj%a}EvB)r|o^zpJ4;~W<;`;vrR@er)Y$lWH zQPo=Orsy*j&h33VP!pZ)K5zTI+V)?Bqa^$1S+7PzM@MbaHxgdsz_vc6N&y@1HwwDa z!Zl=s05-|->z@a2Ig+$lL&Mfxc(mxVpTdpH!~xra7GL??CE%PE0UzRkk6Z$rf|*OT z*S%E)A;qBg8T+ZMoSj-gC+oz_32cLsA%k*lu8MfUY0H9b$H(91R67Gpa^=|4B}9{6 zPX)Is)HyiCF?wI~5aVeRK088V!xmAhB#rNMdYcs_;8YRCG&4SVKg;_r5+6@qf|e_) zieZ^&yow;s)K#V>W{7+#ar_0SyIB2$4|-lyweO4}C~8?$T*a~LgxF34rts=Dh*iIiEc2Md^chIW=BTQd|;5+IV*5|nzNU48%HD zdWO_zc0Pzak<)iHeR*lV-{6{FkEqw7})B%NDW=%t)Y)l z4z;mG+Kk@$WGGv zSO3`lCW+;~+AE;TG+%}kz!GdhIVsi?NyTUPX`-21EOvR_VlAph3wB;tpZLLB?tRI1 zDRRGyR?*-9^$c?f{||d_9@a#*t&QV|iVzh60U@n8BcxRZ8!%B35fS4E3PMCghKRI{ zNPv)1lvzwGA}t6}0YMp}GATkLBtR>z$Sgs~WXmj7DxoBm^0&SByU%maIiB;Kd#2yL z_wx@Qgo3J_U2E^X*1OhvU;WUa{0jB$*0(wim{(nstK#o=f+drh*_)X!@}LcjD_Xl~ z2YPFC+A~Ko+o;ppb9)L0mgre^e!mTFn))l^qFwcqiOHOel*C|k9bIt)ohcQ+YE;Ck zGVG{`#}hAI^m&kSH(DZh$UAH2EUVVrjOdoZeL~Jm@^sXkr0wtSRS+H!S{M*Pi?5ms zFqWR)>uI|K^z2QF(HtPHQj8$oj;QQ9Y*Y1z-5CU2U~=%vjXq~BuPBF#Xv?UB`4 zh82m~7yZMug`u6m;Dd;c2lRb(# z!Ro`n6;$8CYJaNq39KXujHvar1^nZ|>ZngWagKSR#dCrq(pM*rw>Gwd)#FcKPIsP8 zyPD*OnAEs|^1HaQuD9h$yNzvIjvu|epe${QYBp&8Zv$T16T&1hlM3n><I1IL-Y0mAXqsGi2uqR$16Pd?bEa<_6gUn#mx-fucfK=mgJ|RYRv20oQhG2UH zI5)mNhm$O?a!zs?tiD4nr9%ZtMnw14A}lrOL!Kf6ysAx*oZV8{hKTh!Wenez6U@DUklE1mafXZE z*0!6WGbUlbLN(6(U|I|j-c3bG*29LtAv+c)k0eEls9<9{N{gjvRfWjent@q!*)m0v zge&6K%?lK3Gfi@aPG5Du?lt=%;>DGbW*m5$Uo-tiI_F$yMwENg_VyrdX%t1ZmbH#~ z617#@pz6EOJBVE77tNZ(v~007(%9aPMS{9ao8TDc(i|}(->gTaI+(A?i|)It(RF8GQLDaPnu}=H~8Q1R3K}DLjwY?jFpR0Vu+NvyiFXHoDtdyWC}Sx8&WWsqB)#QBSKy5B1)|n@PiIn6@82gRYzc)tCpr!+c=v z8rBL>vXJcT^!Q~ckxkSu>n1K>Zuiuk7<~J7$Ps=&V6!}ysVB*pDSzl`HHPU+jWqUm ze9W-bplA!+ef=b0izI{ z20nQWUu0TO(P!#Q*>S|VZn6_`5DdBlXTa~OL%F2bvZh%{F0Mlj6av{K;KKm13;(X_ zm+r2C)7G5hi5=96PczM`#6I{7+GK30@_S4THC3)h)psMtTnYOuMT4mUr+n#td-t&s zly(J@4N*v1ZCg8GIT}A&>S?mEg=G0Sld>Z^XlLJ!mmec%f{dlvsqPi}W^#av*|Fn$ zjZgrPP0xdBJoIGH*^dMrY$JF};j9+g@sbBGgF=&rT4kK`dIn|XHwzeAilCiu8y!>R zox{pIuQ!O#jJZUNbPIWURcG@$KSomHv#iUT`OSXPygIN<7LavOYdK8-E$|1bvj^p1 zFCFmO0Ouv28tV73Z?{`s7;t~EBjVxX(_6}8j)T>iwpG9MlTTLfgl%LJI3eD$(G{SV ze^l`k7*Q(TWYaX(PGR#)Vr{2=w*XU zqo8{8OOGfXZg_+6rUIY!3GB$9)q=aZ@&#br-cSvNXU$xX5@Aw9)^}i&P?tj^zayqH zqc{Oo4UOBH*tv((01%g|y@gg8T4&*_&uU+I7;+76=cM=5skS&vX_EsQ1nI>|h3L2f z^fzzF2SzoMB1z$^-9UX|EJzDde#5Z!~{h<5#~)&kC?BQ(s3d+xIu*3sF& z>{3BM1fFu6Ub*aMK!JZ{N2YHJU9c@ayZxlN(Yt8eI8L;MaeEVE?zTIzXO||7H+h58PEA zt5H00ABfsLQ`mf!-R%)c$)5*xSprA4y+R|)I0Q!oe8nDb%Gh3EU)!laLE!#x5C3bf z>wH)~0?f-~bQoko{q$rc)zQytA{H;>YjqIsU@?|_=d;?Y=>YpLcB|SV8Z}n zDWPVAb4~Ah&q-DKvI0^fOZ_1{p4gBmnhMvVAqUup=$gLRmT}kS{!0TNUOU}&Iyw8a zv&H4boG&46E)jNuUVXr4pfo*<{qwt)#P5tVJ|JNm5nLMDg{JlX;$p7-`bcGo?i1fCmE=LjiXK#(DD)TFh9a z%jSBK{}^Splg1fesOERp45TRml4KC4+wGS2tR3G2Ljta-wPs>mxUz`lZ((W{EaeMF z)fpjPZP{{PHnzlTQ7J6*Jo?E!Ex|$=lsED?<>Ovlb6Ax}IVMg7#|o)Sua=|1gd_(5 z0vRmbnhMKh4QCg3lzQ3<@!4pMv@zqM-QExxRm(7cOk*l?qF@QWwly>|!?yyN7R#Sr zU?eO#^m+!6N8+u-R-+*ZU)p&ApNk!WkDWy{qcwrPlsWwoSGJlK z7!DnDoNAOJ>e&eQ9`LdchP+P(MFs_*)O%lq5b)Wc+&DT2EvQdVi)ZQ~X^JA$Q<}W> zt!+GW(k=9{v@hXQrq*}&b2@BvE99g&8*w7}SEcc`451A_e)LwlA1TsKL#OI65$quU zY`77W{hV8UjXJzk>AJ%EA*-Wh&7tHP56P%tSE1vs1qIWV98NuKvyk-+en-hA>LgqPqa2gd`MFlAuk z_qepEkXy_R&2}rL7 z4avGD=gjrQ=m_yF)3M-SpvX1O_-t_SttJUAj;OVIj<>9tFBn|}mUp57ZD(K)F+1m5A*JMefN zZ3eyw{i#vP;&aihav?{LxhY&S5)q~MghpWgP&jzHh0a^wVP2R3kG@J@X^}Cso9hha zx(`?zWODlaMg+jmcm&?D4HU$`;AN@0VM)`*TZroTY7EGuBvb_<+U_u+&JddKkFP^O zMC-Pzsx8z=Pfm#AEor*t5zt!DjY1n?a*>pz(eJ*6|0}1%RPW%$y@r+TCuvs222O@$8?x06W0aD@U&6CoWM1K z9U_Mp)o_LYw@#5+UtrqmbepG!2Nm*#lo{w=!1xt^u-KBKcF128^X5bUToC|0=7P`v z_+&jeM1LY;^OLhIPRD_1so3#z$*mHHMJg_?Uwibz&)a`UJb1)BXU#>YIhn;zKC9gz z{3D=6>NDCu57XN?={*%&2u_))p)_v5KS7m(6+iEZDNDBkTK)6LzL@LUh&-ZTpxm6;i6#s`?X>YIRRnK`n#8wJKECsD(#pZ8p?r$VR8rodY66 zW=HU2K(1n!!?h<5YZmjbQxYKf7$4K#TgO}0W+_&~XsSY%_JH;KhSe;M7R(RCpuC06 zso!n$5^t$O;sh?vb+X<76XhXJH@*_l{Pj`#8;201o8@JtYD!S_2Exv14^)>RZ%$W; zoEn3XKp$#@kS2OuPa|Md3IDuUojI2~kY&?Z%GYHSY;UtLv##UMU2SJw0OZ&(qBPtu z<4_w-XpofkgqlLQ!WOy@;?m-NVq~QA$l^R<55Vel7pi zA;NvgmyKG0y_=@AW$?Ni$Q$mXeC7T@5mV7=;}^%;fEEZ!nCn~L1v%7ry@4qL@eI^h zEKK_G#Qfd?-ukvGw;P9|F1H?IYnk&pRciulb^^XeP?L2N^do}m>&mFCll$jx6I48zxl_!2Veqml=oM}-6r^N|4y@9qyyIZk$QzsKRv-Y?pa1rssVUsEKL?7kdZ#k2Z`=`7)Y78pD@^P z;-53hug&yVCh%wO_*XuPknzls$b|mjg&Wg>xha;mqAK@_c=SeMttjQ5R!O*YQjs_m%Q%( z*G+5#8Bj;JV<*9&nW{AYm=E5WIvn~{GD)fYp8VLCXBh*+rJE5$$NVJihNs~i!GX6w=&ZR0O&7!;P!-)L@edhH^tFP(qeHvrUC2)vQ&D3_KGa@tfH&%9 zpnQ}g6cu(D8^X6Qbe6Z!SxehXix$sxl})Uo+*?EZxK7H&oZfSAS7P@oP!NDD$4w4` znxfU@?pu6wz9fqSz7ay89cB2wgd!@DkZLJs%5fd!xTrjV%Wwu_0)%9C5^l_p3({yl zh+cFRjh>A^OV7;BD)Qwuy0!lLNZl3Yl}ShEI!x6CRD5(r=b!8(zr0zWuyyUhG_9p8 z>Yb5rI$ApCnD5RyhHrak>W?ioWu!`YQ~kXY!r9#Cqn3DQ!F1@{tWtb zkn)Eg{;$4GwsHzcKiPk&GZS)Ff@XeiRW*PBZU)bTWR@Awdx5B*J6}m13Hq$IB}8!w z{8lEK2KKQ8$3K~azxX!34G5e!-)88)iwzBZC1j<1#Y3s~lLVi&B*yTk;soZJ4$|r} zBM)g)ZBtzD)OJfvix;PcMjUI6=K+Sw$ne7_ZdN?9asx$_C8CV@?>N6QuzsJEpGaFx z2@BN;?X~+Fd>I#ZnviRb+-Ytsu`~Bs8Yg&j?W#eMJAZ%Pg62eSLiToY%c1tA%b)5k z*y+sCjK4}D=O*SwKmQ(Ok{vG8wiW#1`%7UZX>R`g(Xk zy=j)yi@B^^(DeG8xb3g08v3vPj?R0(+NMvd#ATxZ{*K{~rSOj#OuXQ2=G0J1iRZ{m zF#k?$l0v2)eX@X$Zg=o8Dpd>3lYDyi*5clZX< z=fZfRaZ`4(^}(w@?rY=9jAR(Z+~)l$fsaW?D9o* z-YeP|5!x|sI}apmy^?3_>+;Mzz~KWa>Q>d>uQ^-+sv>^>Mb--rn!*Q(t%FI>64@NTC0`3~s*J(YLks#~a(X{pe4k?LXQ4zs=F#KSy6Hm3I4D zT;V~S0l2JO8)ZPMIpMR~{8Pbkz4{N4urr{4RKpPzAJT$BE`|yz+TYWC?n|R?wo3{BX z!RCn^(YbF~Vi#SwQb35w8!=EEuyb*G{;)M~mdgvTkMkeiU*CDnXRQr``Pe3|{lnb_ z&&Ez(Gq;@*mm8OTwXZF2595Lh^%$qL-uq7N%S^Yku|@xAj*G7% z>I0Q9iETU`@U|{RH_1q`3NJ!?l|5V{%j~=;-VCVfExFVEMQ=0nu_b5`T>JJp)9D6E zl1)=&Mh1|C^r&NMOj6{uHxY*vYh8|ZuIZ^8`EhLfz7K&~Wr6D>LIlTNK|u)x2J;u~ z)%&^cm5s5eG<*G?^T_%tOKaDYKjw|>%ky8kooqd4Z^7P`#re%e@z>YWgbYz@AU1eXh2Dd*#(H>AL?g5<6 zOh(1FmIUJmB0c}=TRHv_vL{eR5&*i^3vwnxx)q3gNJ(Dn1fEDe*G8NSv8)An|>k z@L*6xVx}G0`}uHxbMC6L+dbP)#;gi>5pvzf$g?x!`dd0N_1J=iR&K(z!Xt1KVXNi( z$h9|J+U~?Z`ANCGJ@D?n8>u#zGq)#io^w9eOot=-;(>*a)%=GC_GhWxqQ23-P5O^X z`hVf;-^;}IUz)6c>BIix?a}%Gny4NR)$B8@$H{OWraeU>PFOFt|?|DpU*wX}(L7cuv`qQHQU*XYF2pDM}`uiyjlbZ*@kj1&%tZRH(+C zBDu-a0QHmJxPY$<1ybf2S?@wZV@g@-sEK66sm)P7n%ukkL0eq3-TI*Cifd-?uH`x2 z9>lGYprWjs^gG1KsD0hKf#7Ai(+UBgn!F{;K$Qd0DG5Md`mCP>^f4N-R-no{gFYcC zK4LT$Bg#nnLlfczj9&1XUMWrpZM_i?cA>&uasN&ewBdELFwM;^rtRvL$&*xiP|aNm zynp(aUY6sax4@T^h%dR^sQ6L!z|x3NtFbIMJXCcF{vdz7E`u2BwKl=?M3F@isjet0 z6dtV)5$L7{pH$tK6135bgDxi0k8_A)JGt;agjmybfvo-#TLW7Cbb$;V#et+7E?}IrB?!)(FD33y2Xa0?} zcI*~kQn>$%9enM=zQ4l+zJAAl%A@|ztPtn1+97!7XxDN@FVavGY{+V-%%;{K;Hf#w zp4&?s&R|p-ZC(RhNtnZUTD2ZfQQPf@$G5kG;sY(l_`dS{@M{~_Ye8}km&nbftz#R! zwURCCURzse2xlky9Xw$ z&fOAq1-N@&m@(Ntz$akp-0x;x%2#u9c2HwQKsBbNBNR7q-0cQkq1GRZ-0Pe6wORtT zPyTSEZ+?I%xlpfMuOp07!WQHgn~_$(+v5>g5Fk5t(SLce?5fq#Q@%@#AfQ>WgZnC5 z;jhYJIw|+zFQ91_&{^7iyI_eCRm#6uIvNvk@xBC*v-PflM-&w|7_luuZW8=j6j9(| z6lULUG0Ex@mk}bc(Y>wh){)&-Y`OGt+;G_!j*s_AB+yQ$`bB*>7<76J!Ebq>ANUVQ z$NrJU)8Fp(ubYm7qREoc3lvS9$UKCG6?vd3($8vjq^S(5%=#?T!7n9% z%doAV(2Pr{T2thna!wJocT3xF@Qq)aQf>Ou)kgaNA8hmn{Q=+l;s4)mLHVE6BJ#I3 z^`M~D-xg>HKlt}v+^#b$z;iS4g0Dp%o%l=F{s&M$R29hc>e+GPlC&CjBA>`I9em$U znT^k8l96Dc*l19p2s23SNsFn{yX7@B@!M4c-*l(&yMboDKC9hNr1>pOOHciHRbh4M z>B*A@->YW_rWdE(92j>mFS~QVf5P+15sx0{eN`2$AC=pZ3XeD!G(K8XUUA{^E%mEg z_6!$Xzo*_*MMC%ze)5=QGho`9Or8$aY@h(xL8svk1A4;JExAda z#=i$sLE}oC$oF*!y0?yEILcfa6jp>ep&Z%OPOcqA_s)uvmQ!L4lv9IiR;V}~d`Tk# zU0!|lI*F%?w?h@Av%JLt54s197a*)MfTcx~m$jCf{Ztq8f>WTWE#OZj8`Cd4`{X+Y zho1m3oW`E(KBhO^{xZq}yLD=Bb9 z1$L`ZLR0}RtXj~&N)z2Z17zt<-&^A|0FCvE5b(hO?P1p=)Z??7v*mW>XEntQ0Otg# zZUVxvSf)GZQCAnvpY-mO8>|j^jKFwb?1tVw<&VEJRf0l<=&ShaUeFmC{UZ*BxeyQx z^7RMcp%J)Au)9veRd)$JdBiRZStso5=v|10OFF7cO4`haSC{d10^LtV^cGD^mIHy< zB)85b6_+)w_TL~pVD6QZW-ttQ1O?agR>9(PACHD6j6w5<(*5E-3NO8wXT@(XE;7@3 z4d?sLZaAZP6t$JH1(f*M0TvN3$t}N_E<85IG?I-H(Cb}ij!f;*)ZWFjlIY*mPdohE zeW+(*;FDOnfYZE0*+SZYE&#_O+kcK z_4h!T2fs3}{7ckuqup_FQK!Cgr zGQ>9AW^~qjsT1eEvye(m*>n1FV&(m23__;Aqv@gYcNMXz2w&I zYlV!<0vGlHC>GeH51h%3!)#@dTqD%h1zE<0m9nkpVDZ)tY+63UexFmt{CjNSVd8*> z1EX&kK^mWkOT|xu&v8nr0_SV*ut~^cXjgce-^=RdYP(H7es?^q3|jZ! zOGFP0UOfTqC#LLq=^48n>i1uM$tS6Q0yNm8{P#bJ?{QT>Hzm?0IR0aJ@)-UT5sn;a!+T#*EJ!4#y+DBt-P5JTE++qnYv#{>gCia?n75Y0&TQWQB!SWkmOTn54rcl&WHSF zvnr?1+lPj9t;QAWdIs+GcnHFRmL#oJi#jVOCWtk8MnwhKMl?nOO)f$-j`prWj-8Xn zR2^BmC}?Lz{(+?EE!uMyn{SKV3mU}4+NeDs2_B8N`rwIbGv-7^t9?P*^sri0P#(x3fGY$frJ`5&edglZbWAGww5#c>eB3s2dv{9D4 zPL7ws5luA{eiuegC5_N`HQQ-Q3GopxiezHlLBOYP=|P+RJzA1G&^rw#2=ZCPfULP` z0{8Q$$I~Ko#wy~#_W0U17_~@J>_TmkM(Jq7=&L3m9A8B7BWk18GUC}Pr#t9LyU?H_ z|MZHpAA{%iyYbe;)8l0P83!?I^o}$Ksfar@;=IG=`S?X_zbYet@Cfp;d&H*KXsH?{ z01Ws(Wj@mh_Q7WcD;eNFZWlqxU}uA|zABx(;t<26!FW!mC2clZA;=;8KJ4;Y?PAs%)lJ-n zF)r)7C{;b;E%ooRpg7U`|S=}zD9%Adj#xohL zrN=<`57Vho{D7t^9f8<+57I5=CfeyJozVtKYHSQ#gA>-(T|Z``$WVg{dZ`vCOINw~{kZ-t((Bz4L{w1LNgsa8B&9^k;7k^RMpT zcRD%e?3+#BIn7O+x4<-eZtT=6h4X?e>1 z9J~z~zfff>8L@5LF`6>MTikYPC@A6FqpF^QbC=g_G*aonmJOJWp<+sUc#)lt&CM_SxTnD0EKyYUI;3DDTzGevJJwz+@8xDqjsA;OxY48Vy7s>^J-1jF26omLJvMSeZ zn)H|7?7zzxjW#&*Fl6D`Al>EBk}0DTUobV0F~7iD`iTde?wYO8@g|*3qzRBVL?;uv zvL%i&@+Pq-5G0bi4UgSo9xOjd9d7mCUg9P^>AC=o%G+7!9UV*Xa zr$=l>it6^4IyjN3Q>D*%dzC4YChJSKGYSaA`dnI>8+>xVTYdjP{e^vJqGlp{6?au> z__Wod$YaIN=uG&enZ0Ezb01m*k4p!;S6wLC*=vsI{=8_`q}4}Psp+rhW`WW4@$VPk zX%KK1Vh-rXrn(aRH+~6cWRY@5K<9Cm+<}YDK&i+S!H=RxH8!blOX#_q7|L@4AMs4 zzhauV7t8vZO5-nRdH^1+Lv{L|eaW=w& zaG%+%r$~LU<@gr6oc#||MkiKGk+IK<7vMjjw({xMfYeDxD|0yyNfUB3hO+EXL&R3n z8N;MWC~;(Ks(SSW+FV>yj6w}$TQueF0I0>Wo01pkZq2sHNU-xfPBz0fv@?M!uYFC# zA>vflibGv0u9uF|fvI&LRl%a*8F}&Mn5NuwiqO~yO@P_5*i>(=>|$&s`bgrr(=6l( z&#tBL_QMA*?kx>_&X#iY8Jpiuv~EGu;Gu&EkT}%KXqv|87DfcUa~rNh>XmY~pdg96 zfWc~g!Z!e6Vsvl}RO%+saQ;-bo@~GjdTC)c#RD-u3j{4)71pAr=qiVsj0^#B9%x_z zhUC&h0a}vvCrLcQFGKSX}Eh6WrDs)vn7Tw(_19V~5cJq_Kfz%L{*J zzNDRLe+#`uim5#QtNGH@)gwX7ML@~V_2jFAX4OAGiv6%#Nm0b+<{#>TsG*n#RFgrh zU<=p_Sq;6`sbVPNX@xIVw~};)Hki6;swlk$hg8W-f{zdr}NV{Ny2n? z40$PyQBRzkNqiP%xTym(RE$_HG7Ss^7BM;kl#!XURabaAj0}13hz{adBc8$2L$|*= zL^n1=ZkGh)90+guKCy9otIxwrCqj!L*GK-tr)Y$MIbK6HFK$}s8U&@bw>1l&5c>cR z+EjqcrWQgcXv$T5cn?+ODf*oSqR~Mys4h4IDIjnJQN}W%z`K|UfYeUmrl^O!0b9sX zZpBW*-?uqN^VWH?dWbrhv1O9Oz4nF}-eRT$rw%6?FbEjZjLH@RPZ&>EZLf$!=AALIkzM+*U@ZdU_S$3Lr$ zYy#SHtx9l~bTvq4Q^!D0 zzo-4WAJ>0S*;aJ1NUj-mYLw9JVtJKK508?0`fPeRwu|ul2Yj{<5cRtCS*<4p8h!27 z2`~Y-gcC*3VervNHT~vfK{4K`F07cgO-T|}t%O5lhsYTVJ zc9#A?)&eB%EYDg*$@g*Fh9$zxl z6bIcW43|j(#kN9Qb+yVxxuy%#fyueBwGdx~1V6F$gzAV|Os5=s8BGh#K2+Ypr;pAY znnO1>DQ)lcXp^-w*GN@cZMz3LK5T1!H}z_>N*i&M1!Kn62pecN($15?0UjN~YN+fy zOJ2p$t`low^z0^pD|e;KG(Bp)*2DNsDSPff%BCnK-Rq!>4$i*o<^ELX_uTfvgq6-o z;WEDj-XO5(gM5$}odE@MUuj55!o{m9Yx?+mkv<>U;I7sG-0BkD&eK_OvV%O=|1#zdPWR>8+ASdsckHJJXvW=F z1N>Pm6UO@{L3-M&F-~lGdXeJ376@n!J)(?zJ3RN02;0+x<>Iemi_opGI6F@%bwM|+ zm*FVHjS-jIX?J`5-7`DmEQ_oUmA95Xx7!k`X@EzqeLHBn!Bt3|RMlE+VEfqHVypkI zZP$S07Xh_1*@;kVi0CTt0frP+kDG%mN2j?1T`8+fsmjRGG}Bz^iBN}oln$s^7IwkH zBV)XIbok?A=bq)V@v|ex%U0+ecvO-84yRWeEiQjx@QeDy`mX|>Whw)v8Oo6mlOZiT z0umziOFR{9i2VQ*ag&MlUlwBA=t$WHq8F@q?5l%kLcWoHt2^H3{Jf)J)#?~Yrfz~36k_zQ)TRAkhBNe4>bm84$!DbMO~1(ls%jz;hgK8jo67!0U0-lZOOjS z`vYPfjjhRVDj39#TW-7r3}Xh2TFvGA)Ao0M+(5RdY+F*@{;_-a(qUpp=hq&1k|KdA z(O=*+KTda=0zgmE9L%o5qi9y+HX!f&DwtGSUiq?W4I+>bgrs@QBd`Iz;`_n!PPZQ! zqZ>Qkxx}(H%g&kc1(bO&(uEIbOKg5r7t`PtJ{;kwGU-!n26>HE1*j+M@8!nuB{#)t z04o{-_0%hyh9@{Bej@-enL4Vw1kN+b_~Rt}4lQ z4lCRhNhkCBZEk1e_e4b&4W%!SEzM9t!if4bsY+vedF1oG?j2(qE~ZYcK_(5?LZN)| z^J$rxrQwEsfFvZvBxLqW_20oklBYPO%7%_|(WR8(Or;Ip;bqWPWrXxeSs6&MBLaa! zZ3BjnOtUlYW3s)xug(RMzD?Cj#Pnq}J=9C-Qi=u?pky=ShOLO^Nb%VmGj?3MnN83t z&$Ufs<#z%quVxkobQth1LB4kfY>HBgb8iPm1hwgjPUq&)HW{_2s$xb8FL!$#^zv}l zsVi!)da&u_)Ju)?*@gv%rE0q!=1=-_fG~7D4l@Q5x!g=S>)#H%T#!akuxb5Iy&=E5 z2f6|yLVvSPXJrQjK|bLpWZTS#M;AFKdHk|uq20Qg#mRmMbQu*W!lshi4i4h>{_k0OG03MZkpK0glp0rNd{nK_~bk z|0UJ2t#pJ~W3aWLKnw~py)vcAR^z+c%1rZDA72f$Z5}Rt__(U-(Ph&}5C6rkmjn7P zEl#xb3)?>x3|h!|jL&QYRs^Dgb78F2*d`QY=cbN!U@kP<6N+tq@=LAIa(u>W7Oo{b^I30O!`?Zk)^|{?120ree?mo!MwJn+kA(8@gNh9m5&dx0g|3EeJDEy5ct!pn?kp@|jhnJV&1*v`Xqw@zTM4szWHe6PMB3t{7YH2YpWaLSe6RK$zzmH~j zXW%2i5%3@=qQ2BuJ>!7DqoL`GEJGp$GV>3LqJY;i?Fj0EWXOn^p*BK%0_j_Zzd=7p zIj=$#`;or-BKOD@V;aehGV3Q``p=4WS!Nb+05WiT!2Et8Iz@QTB{DdO?svOPKDhXa zNR+V*Ex>2rM8e|C!JcxRSekccWGqsj>3IY1W|5H7MK_9mTfXN3+?T|f%4(Xhjw=fv z7RJhKjrQ(^sR_eHC%l%%dL%D?zv7Kw?EZ~};n@FFJoaCzZ~LG4ci$>O|JT3bzt$}O zh2@!l@1s^;-ge2P(KP4e*5oCZx7EzE*m$s~Cw{-fu7lU&XH8miX2qnBZcjOL`N6@j zBBeUx3aW6lTV3G`n?G#HVA%a2qg|wFo@$!!)w5zrR{&3sBTSNM?orMX9vBb>wRcbb z>E6#59D%DUc*gfL^Bad|S6M4}V<$n>BNsvEX!p}b+~ky5J$>&!0djQdE^t1~FvDs$ z#f^Mco3k4GXl7x2bWYRijYOy!w1)~jSgouTpI8P^jTIE26H7(M5JCefk@A3B!=L>+ zR$1I(qt`%8qUao-%UGwmSL$$KaK`(?4}a{BQ*>fF#5&A_X{$QVngqbcj3Sz>qJb;Q z*c-iW+?NmIsc?qErFGAM-&zKTSP(iam!NIYR@kx&3xZKlqZi&GpL}xOyi#?2uUeJeWRNqFs4#-(h2hB~k&j3UkFUwMk>J1U)^Z zXi#NYigi68E=)PYS^-?5Ft)sLZSklYb3Gq%1GNc^K}3)|`%_DHgYKufSKNU7mE;-) zrdDh3E$_@z{Y;*MHVPF%yw-Y}4yK-i`616s&que^$k|CJ(eAqY&WqHZucDhS`EAPf z7aL86Ihu^UwfJn{FIN$z)l+KIjks8(f3HFF#}SR~6;iixgVSk2^Z>nQclnQF82gQY zDjJB>q#(8&1GP6&%J2u}PuQ{4htX6myq>=hU(g>`$dU(SS*miGX0YiKo1(&NhL%7* z$}Pgx*_3A5u(lo&Y-4rvR?DS*n05*c{y7ET(5Jcs1qPobY81h&Hx&WO^-W6OL93td z2~rJ0>xTVLnq3KrJ<9@2zGuj4coT5Ua~XVh z#aO6PPt^FMp6Rra7tulTv>>6#r7f`ICl34!D)UQZ1t(B|WEk6kxd&?KNKlfQdaA3e zxeV4Yv3gP!8Uvq`j|-#7uS1hR(h>~3a$(oa=O}pvL#e1h zdu)MfrH}~Rjv$gKWfxrZ77SCw(__$N-1GPx=c+eWWa8~PzwA9eRT%kM4Y>R@WXPKo zBVsGWXDB}Gt`vc>iQhp#Bq*+i7)O=ccBL4aTaxrW84>b2o7|Q&lV1!8AT(K(r81E1B=SbD-ze6jf}{*9gbdbWyvnV{J{Hl^ZoB$s!z;MoSd&VX-~6* z+8;9z>cF%SQ|~CH4RdQN{{&IJ%kwqE%?ZY@!Q+Zw;ftxkmcL~!LkZI#PkRxAyzksu z?)b18IHs3Q-a$Ea6X#v^`9NRovl@uXB4*o=E;6B;*t}*7sCvZ>!k?`q=hil%i@6t> zG&oMNQFR7{SCk}UlXj-Flz#zKWeg7iD1SEqtm02(4FcGbQUcAmADL; z@iL%E&&9&vpK3C8KJ4WC8HF;JN|QDA$0=xNhFnA3WAop>nsMc2$A$N+_S^zaY4g*C ziC>)3)KjMp1E)0A_wfEJKX01OaZrOm%vnLg49sAXT(7|t7!pOHr^>~GlmyJalX>ti z+Ia|Wza4Xj(f4E`I3e`$W0n2Bc6@=?fbm+Gl+0UD{o*EMC*M}qiP=j>Y-V~m!!OdL zMT<>6$(o=73fFXo+xc}|O^gPX&~?0_Cq)aNj}9<{b1_QGJ6W4g8;LI^ zwN?2d&VUN4%IC)5gIE5~LnS@yQES0?bp6|=x;3a^2hZ7%G*q7mjM|EZE^^Jx>jy|! zC}D(~6QHZ>?vs$r}(wvFoFbh@REfJ`=4kDjY5xxs}-4(b2m? zQW3pgmS~Zz<2bPh3q?)fCPfNrjaWS>zxazYHGhv{(9DGgbM>4W1`o4i=e$=fP3 z-;sW2ph7qO_N6=a3u}kAcbqDCyur<}?M7+a$HvDVO6PDnsL7Wkiq%-Q3_7m$qpA!y zL)ntNy6P!XkWul#XDz7o6ZQm48!nvU#)*;`adNGa{C*8@x$TGnLCec1gnHRlwa{a5 zkI~NOErX3sXH%Od^mnPlpr%3pIT9=pgIYpuG))17Fr$kxS9GSNnz_l3KA)$KSY1QN zom(z!>Dz`-F0!b}egO>Er_-Tzhc!Kn{*s z9<8X07){3L-Z`E<{pqy$Qq|(mYWwa18utDhgeOFF5gVJ+fG>OmGLRrP)Cd1Gm;d{} zSXyh@p3uAUW~#vtCdV9IUB7GkV%t#pIHvzW zX^I_1Gnd!%Uq#9rlK9@i22W-CktD{t9dMO+E>AbWcyS^=bTDog8W0d9Cr(0}q-MVv zyejkh z7I1_=XF(N}n8^I$#~tn+F-zGO_yH@iALh1O^kvnUk9iV>R#x?In!;`l-rF(})v5Rd z+7p9-=siV}CY}tMW;iAFMM_)dWKhm3*7ql`K+oRA_99R`Z^cmh&VoWZ*`}kELO=sQ ztL-WI|JeHyxTelE?^qX9#3&#r2&pS7TUC(ClH-nw7!?%+A+;0%DW+DD2q8y7WD`@R zN`*pHL{yfjY|4@d2~hQ7WS1ahL1hg&sSu9jO0G4{S zlMgll)f|(t_1vW#LlONQNWO|Ebhdlbg;Mc(xmCgNBilUx7Hiw#(Bm80>_XIX0|7p_ zb?~T_y_0S{CoiA@+nt3T7erX}xfo8sEHM!J#cYH_;B#x9fyxOLIiN_))Im+d?>>P5 zLoiY<9Tf;C`GiCS3@S5%jjOMaioQT%Z{_BBpL+2mGHPZiZH8k0=*hIat*S<55j_>x z%hV(dgDDEQR)Jaw2RrjRvH40?-80_Vh*E*AsHqm8U5wT%Jp~cMYEFFSOl7lvi1%(K zk^k%~WMriDT(P_9b|f%nL_C>J<)<q*UBN#agWD&^g*;L%fw$?TtGJ;>bgFnmb;FseB@Gk<~(J$bi z+U|nm0tbBH)1%3 zc@EMc8@i)hjZag9DBcF;t3L})%g@KtrzGd19tU~K)|i_|!tuGGmlNU{Ixi*=^oho7Vp?K{nu|K99ZmT35zwpGKqA@&C*v6s zU(>D1MMw6hy|AXuynhQV?6$3;B#oJ~>>LB0=X|w?cy845+YI-sVV_$|9u_t8N)ne% ze8T($Ge!ajrHHH4Vo-xf1~y6+RiM(VhwhVX#Wv@<7Yyw0nu!>lIV5GzXg}guS?y|% zsT^(60}k7m+jY*L`pLrEy9f5YBgrqSUFhkc+@6jvVoX9{`9vj4<*g*KAn7dpIjTS= z3d-WnlC4o=d^T)Or`CqUNCKMV#%r=IQlQ%g8BSpmdE`&r7&&vEa%Q2wZMt6bcTdoL zAV3(w8^y!-j4>lykn;Da6JuSwbcVY(!z;x~B2{h;+Pf#fRUqN4T;d!xPN;tq5nctM z3uy9b2&>zn8cG~%!;E$D>BY*xEvUcJ=`nTI2&fUyhJ$QP2dG5u(%?*8<^B|z8>k}S zjtxUtNLWZNn2`e$Z;BcM*`REnvq1d$XLe zK6}7#c57Z%^Wf5EyK>=ddWhg437fqdpE{!61pGcr8?u!T!%tIQ;i}$`TGldWppg<* z9D8OMq(^UaMS7}T9Hg4oa{H?YUFljwG3gW8q=yF-toa_F|H9cROXNz+34Wk?)Yxii zr@?NVhBAq$jV(5df|DF%y!H>42$*-I9{jq7xhPH71FvBj4?RdiE`xIf-=VwiQd32+ z^cce$ug0H%gXH<-XRs# z1aHg<*fFxPn>3eb>Vux}?b|bu#!Tz7K}OHp&CO%@WcRiC87b!*JKDE2XU=Q0PYPW+ zPT1Dc#rL^4#!V#Pi-v`$y}#-`N=`MOt+@(G%0D!igUcvM_0*M8CkLm&weX~+XKq;i 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⋙hMr{lGyi2_A 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

    +4cU_z#1t_9 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 f2JjfbV*rlz+(W90Xzo&-7%m$-28t4Hqbz! diff --git a/en/device-dev/kernel/kernel-small-basic-atomic.md b/en/device-dev/kernel/kernel-small-basic-atomic.md index 12045b51bf..2e90511144 100644 --- a/en/device-dev/kernel/kernel-small-basic-atomic.md +++ b/en/device-dev/kernel/kernel-small-basic-atomic.md @@ -3,216 +3,98 @@ ## Basic Concepts -In an OS that supports multiple tasks, modifying data in a memory area requires three steps: read data, modify data, and write data. However, data in a memory area may be simultaneously accessed by multiple tasks. If the data modification is interrupted by another task, the execution result of the operation is unpredictable. +In an OS that supports multiple tasks, modifying data in memory involves three steps: read data, modify data, and write data. However, the data may be simultaneously accessed by multiple tasks. If the data modification is interrupted by another task, an unexpected result will be caused. -Although you can enable or disable interrupts to ensure that the multi-task execution results meet expectations, the system performance is affected. +Although you can enable or disable interrupts to ensure expected results of multiple tasks, the system performance is affected. -The ARMv6 architecture has introduced the **LDREX** and **STREX** instructions to support more discreet non-blocking synchronization of the shared memory. The atomic operations implemented thereby can ensure that the "read-modify-write" operations on the same data will not be interrupted, that is, the operation atomicity is ensured. +The ARMv6 architecture has introduced the **LDREX** and **STREX** instructions to support more discreet non-blocking synchronization of the shared memory. The atomic operations implemented thereby can ensure that the "read-modify-write" operations on the same data will not be interrupted, that is, the operation atomicity is ensured. -## Working Principles - -The OpenHarmony system has encapsulated the **LDREX** and **STREX** in the ARMv6 architecture to provide a set of atomic operation APIs. - -- LDREX Rx, \[Ry\] - - Reads the value in the memory and marks the exclusive access to the memory segment. - - Reads the 4-byte memory data pointed by the register **Ry** and saves the data to the **Rx** register. - - Adds an exclusive access flag to the memory area pointed by **Ry**. - -- STREX Rf, Rx, \[Ry\] - - Checks whether the memory has an exclusive access flag. If yes, the system updates the memory value and clears the flag. If no, the memory is not updated. +## Working Principles - - If there is an exclusive access flag, the system: - - Updates the **Rx** register value to the memory pointed to by the **Ry** register. - - Sets the **Rf** register to **0**. +OpenHarmony has encapsulated the **LDREX** and **STREX** in the ARMv6 architecture to provide a set of atomic operation APIs. - - If there is no exclusive access flag: - - The memory is not updated. - - The system sets the **Rf** register to **1**. +- LDREX Rx, [Ry] + Reads the value in the memory and marks the exclusive access to the memory segment. + - Reads the 4-byte memory data pointed by the register **Ry** and saves the data to the **Rx** register. + - Adds an exclusive access flag to the memory area pointed by **Ry**. +- STREX Rf, Rx, [Ry] + Checks whether the memory has an exclusive access flag. If yes, the system updates the memory value and clears the flag. If no, the memory is not updated. + - If there is an exclusive access flag, the system: + - Updates the **Rx** register value to the memory pointed to by the **Ry** register. + - Sets the **Rf** register to **0**. + - If there is no exclusive access flag: + - The memory is not updated. + - The system sets the **Rf** register to **1**. -- Flag register - - If the flag register is **0**, the system exits the loop and the atomic operation is complete. - - If the flag register is **1**, the system continues the loop and performs the atomic operation again. +- Flag register + - If the flag register is **0**, the system exits the loop and the atomic operation is complete. + - If the flag register is **1**, the system continues the loop and performs the atomic operation again. ## Development Guidelines + ### Available APIs -The following table describes the APIs available for the OpenHarmony LiteOS-A kernel atomic operation module. For more details about the APIs, see the API reference. - -**Table 1** Atomic operation APIs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Read

    -

    LOS_AtomicRead

    -

    Reads 32-bit atomic data.

    -

    LOS_Atomic64Read

    -

    Reads 64-bit atomic data.

    -

    Write

    -

    LOS_AtomicSet

    -

    Sets 32-bit atomic data.

    -

    LOS_Atomic64Set

    -

    Sets 64-bit atomic data.

    -

    Add

    -

    LOS_AtomicAdd

    -

    Adds 32-bit atomic data.

    -

    LOS_Atomic64Add

    -

    Adds 64-bit atomic data.

    -

    LOS_AtomicInc

    -

    Adds 1 to 32-bit atomic data.

    -

    LOS_Atomic64Inc

    -

    Adds 1 to 64-bit atomic data.

    -

    LOS_AtomicIncRet

    -

    Adds 1 to 32-bit atomic data and returns the data.

    -

    LOS_Atomic64IncRet

    -

    Adds 1 to 64-bit atomic data and returns the data.

    -

    Subtract

    -

    LOS_AtomicSub

    -

    Performs subtraction on 32-bit atomic data.

    -

    LOS_Atomic64Sub

    -

    Performs subtraction on 64-bit atomic data.

    -

    LOS_AtomicDec

    -

    Subtracts 1 from 32-bit atomic data.

    -

    LOS_Atomic64Dec

    -

    Subtracts 1 from 64-bit atomic data.

    -

    LOS_AtomicDecRet

    -

    Subtracts 1 from 32-bit atomic data and returns the result.

    -

    LOS_Atomic64DecRet

    -

    Subtracts 1 from 64-bit atomic data and returns the result.

    -

    Swap

    -

    LOS_AtomicXchgByte

    -

    Swaps 8-bit memory data.

    -

    LOS_AtomicXchg16bits

    -

    Swaps 16-bit memory data.

    -

    LOS_AtomicXchg32bits

    -

    Swaps 32-bit memory data.

    -

    LOS_AtomicXchg64bits

    -

    Swaps 64-bit memory data.

    -

    Compare and swap

    -

    LOS_AtomicCmpXchgByte

    -

    Compares and swaps 8-bit memory data.

    -

    LOS_AtomicCmpXchg16bits

    -

    Compares and swaps 16-bit memory data.

    -

    LOS_AtomicCmpXchg32bits

    -

    Compares and swaps 32-bit memory data.

    -

    LOS_AtomicCmpXchg64bits

    -

    Compares and swaps 64-bit memory data.

    -
    +The following table describes the APIs available for the OpenHarmony LiteOS-A kernel atomic operation module. + +**Table 1** APIs for atomic operations + +| Category | API | Description | +| ------------ | ----------------------- | --------------------------- | +| Read | LOS_AtomicRead | Reads 32-bit atomic data. | +| Read | LOS_Atomic64Read | Reads 64-bit atomic data. | +| Write | LOS_AtomicSet | Sets 32-bit atomic data. | +| Write | LOS_Atomic64Set | Sets 64-bit atomic data. | +| Add | LOS_AtomicAdd | Adds 32-bit atomic data. | +| Add | LOS_Atomic64Add | Adds 64-bit atomic data. | +| Add | LOS_AtomicInc | Adds 1 to 32-bit atomic data. | +| Add | LOS_Atomic64Inc | Adds 1 to 64-bit atomic data. | +| Add | LOS_AtomicIncRet | Adds 1 to 32-bit atomic data and returns the data. | +| Add | LOS_Atomic64IncRet | Adds 1 to 64-bit atomic data and returns the data. | +| Subtract | LOS_AtomicSub | Performs subtraction on 32-bit atomic data. | +| Subtract | LOS_Atomic64Sub | Performs subtraction on 64-bit atomic data. | +| Subtract | LOS_AtomicDec | Subtracts 1 from 32-bit atomic data. | +| Subtract | LOS_Atomic64Dec | Subtracts 1 from 64-bit atomic data. | +| Subtract | LOS_AtomicDecRet | Subtracts 1 from 32-bit atomic data and returns the result. | +| Subtract | LOS_Atomic64DecRet | Subtracts 1 from 64-bit atomic data and returns the result. | +| Swap | LOS_AtomicXchgByte | Swaps 8-bit memory data. | +| Swap | LOS_AtomicXchg16bits | Swaps 16-bit memory data. | +| Swap | LOS_AtomicXchg32bits | Swaps 32-bit memory data. | +| Swap | LOS_AtomicXchg64bits | Swaps 64-bit memory data. | +| Compare and swap| LOS_AtomicCmpXchgByte | Compares and swaps 8-bit memory data. | +| Compare and swap| LOS_AtomicCmpXchg16bits | Compares and swaps 16-bit memory data.| +| Compare and swap| LOS_AtomicCmpXchg32bits | Compares and swaps 32-bit memory data.| +| Compare and swap| LOS_AtomicCmpXchg64bits | Compares and swaps 64-bit memory data.| + ### How to Develop When multiple tasks perform addition, subtraction, and swap operations on the same memory data, use atomic operations to ensure predictability of results. ->![](../public_sys-resources/icon-note.gif) **NOTE**
    ->Atomic operation APIs support only integer data. +> **NOTE**
    +> Atomic operation APIs support only integers. + -### Development Example +### Development Example -Example Description +**Example Description** Call the atomic operation APIs and observe the result. -1. Create two tasks. - - Task 1: Call **LOS\_AtomicInc** to add the global variables 100 times. - - Task 2: Call **LOS\_AtomicDec** to subtract the global variables 100 times. +1. Create two tasks. + - Task 1: Call **LOS_AtomicInc** to add a global variable 100 times. + - Task 2: Call **LOS_AtomicDec** to subtract a global variable 100 times. -2. After the subtasks are complete, print the values of the global variables in the main task. +2. After the subtasks are complete, print the values of the global variable in the main task. **Sample Code** The sample code is as follows: + ``` #include "los_hwi.h" #include "los_atomic.h" @@ -275,7 +157,7 @@ UINT32 Example_AtomicTaskEntry(VOID) **Verification** + ``` g_sum = 0 ``` - diff --git a/en/device-dev/kernel/kernel-small-basic-softtimer.md b/en/device-dev/kernel/kernel-small-basic-softtimer.md index daa7ca0000..959b895ab2 100644 --- a/en/device-dev/kernel/kernel-small-basic-softtimer.md +++ b/en/device-dev/kernel/kernel-small-basic-softtimer.md @@ -1,133 +1,119 @@ # Software Timer -## Basic Concepts +## Basic Concepts -The software timer is a software-simulated timer based on system tick interrupts. When the preset tick counter value has elapsed, the user-defined callback will be invoked. The timing precision is related to the cycle of the system tick clock. Due to the limitation in hardware, the number of hardware timers cannot meet users' requirements. Therefore, the OpenHarmony LiteOS-A kernel provides the software timer function. The software timer allows more timing services to be created, increasing the number of timers. +The software timer is a software-simulated timer based on system tick interrupts. When the preset tick counter value has elapsed, the user-defined callback will be invoked. The timing precision is related to the cycle of the system tick clock. + +Due to the limitation in hardware, the number of hardware timers cannot meet users' requirements. The OpenHarmony LiteOS-A kernel provides the software timer function. + +The software timer allows more timing services to be created, increasing the number of timers. The software timer supports the following functions: -- Disabling the software timer using a macro -- Creating a software timer -- Starting a software timer -- Stopping a software timer -- Deleting a software timer -- Obtaining the number of remaining ticks of a software timer +- Disabling the software timer using a macro -## Working Principles +- Creating a software timer -The software timer is a system resource. When modules are initialized, a contiguous section of memory is allocated for software timers. The maximum number of timers supported by the system is configured by the **LOSCFG\_BASE\_CORE\_SWTMR\_LIMIT** macro in **los\_config.h**. Software timers use a queue and a task resource of the system. The software timers are triggered based on the First In First Out \(FIFO\) rule. For the timers set at the same time, the timer with a shorter value is always closer to the queue head than the timer with a longer value, and is preferentially triggered. The software timer counts time in ticks. When a software timer is created and started, the OpenHarmony system determines the timer expiry time based on the current system time \(in ticks\) and the timing interval set by the user, and adds the timer control structure to the global timing list. +- Starting a software timer + +- Stopping a software timer + +- Deleting a software timer + +- Obtaining the number of remaining ticks of a software timer -When a tick interrupt occurs, the tick interrupt handler scans the global timing list for expired timers. If such timers are found, the timers are recorded. -When the tick interrupt handling function is complete, the software timer task \(with the highest priority\) is woken up. In this task, the timeout callback function for the recorded timer is called. +## Working Principles -Timer States +The software timer is a system resource. When modules are initialized, a contiguous section of memory is allocated for software timers. The maximum number of timers supported by the system is configured by the **LOSCFG_BASE_CORE_SWTMR_LIMIT** macro in **los_config.h**. -- OS\_SWTMR\_STATUS\_UNUSED +Software timers use a queue and a task resource of the system. The software timers are triggered based on the First In First Out (FIFO) rule. For the timers set at the same time, the timer with a shorter value is always closer to the queue head than the timer with a longer value, and is preferentially triggered. - The timer is not in use. When the timer module is initialized, all timer resources in the system are set to this state. +The software timer counts time in ticks. When a software timer is created and started, the OpenHarmony system determines the timer expiry time based on the current system time (in ticks) and the timing interval set by the user, and adds the timer control structure to the global timing list. -- OS\_SWTMR\_STATUS\_CREATED +When a tick interrupt occurs, the tick interrupt handler scans the global timing list for expired timers. If such timers are found, the timers are recorded. + +When the tick interrupt handler is complete, the software timer task (with the highest priority) will be woken up. In this task, the timeout callback for the recorded timer is called. - The timer is created but not started or the timer is stopped. When **LOS\_SwtmrCreate** is called for a timer that is not in use or **LOS\_SwtmrStop** is called for a newly started timer, the timer changes to this state. +A software timer can be in any of the following states: -- OS\_SWTMR\_STATUS\_TICKING +- OS_SWTMR_STATUS_UNUSED + + The timer is not in use. When the timer module is initialized, all timer resources in the system are set to this state. + +- OS_SWTMR_STATUS_CREATED - The timer is running \(counting\). When **LOS\_SwtmrStart** is called for a newly created timer, the timer enters this state. + The timer is created but not started or the timer is stopped. When **LOS_SwtmrCreate** is called for a timer that is not in use or **LOS_SwtmrStop** is called for a newly started timer, the timer changes to this state. +- OS_SWTMR_STATUS_TICKING -Timer Modes + The timer is running (counting). When **LOS_SwtmrStart** is called for a newly created timer, the timer enters this state. -The OpenHarmony provides three types of software timers: +OpenHarmony provides three types of software timers: - One-shot timer: Once started, the timer is automatically deleted after triggering only one timer event. - Periodic timer: This type of timer periodically triggers timer events until it is manually stopped. - One-shot timer deleted by calling an API -## Development Guidelines - -### Available APIs - -The following table describes APIs available for the OpenHarmony LiteOS-A software timer module. For more details about the APIs, see the API reference. - -**Table 1** Software timer APIs - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Creating or deleting timers

    -

    LOS_SwtmrCreate

    -

    Creates a software timer.

    -

    LOS_SwtmrDelete

    -

    Deletes a software timer.

    -

    Starting or stopping timers

    -

    LOS_SwtmrStart

    -

    Starts a software timer.

    -

    LOS_SwtmrStop

    -

    Stops a software timer.

    -

    Obtaining remaining ticks of a software timer

    -

    LOS_SwtmrTimeGet

    -

    Obtains the number of remaining ticks of a software timer.

    -
    - -### How to Develop + +## Development Guidelines + + +### Available APIs + +The following table describes the APIs of the software timer module of the OpenHarmony LiteOS-A kernel. + +**Table 1** APIs for software timers + +| Category | Description | +| ---------------------- | ------------------------------------------------------------ | +| Creating or deleting a timer | **LOS_SwtmrCreate**: creates a software timer.
    **LOS_SwtmrDelete**: deletes a software timer.| +| Starting or stopping a timer | **LOS_SwtmrStart**: starts a software timer.
    **LOS_SwtmrStop**: stops a software timer.| +| Obtaining remaining ticks of a software timer| **LOS_SwtmrTimeGet**: obtains the remaining ticks of a software timer. | + + +### How to Develop The typical development process of software timers is as follows: -1. Configure the software timer. - - Check that **LOSCFG\_BASE\_CORE\_SWTMR** and **LOSCFG\_BASE\_IPC\_QUEUE** are enabled. - - Configure **LOSCFG\_BASE\_CORE\_SWTMR\_LIMIT** \(maximum number of software timers supported by the system\). - - Configure **OS\_SWTMR\_HANDLE\_QUEUE\_SIZE** \(maximum length of the software timer queue\). +1. Configure the software timer. + - Check that **LOSCFG_BASE_CORE_SWTMR** and **LOSCFG_BASE_IPC_QUEUE** are enabled. + - Configure **LOSCFG_BASE_CORE_SWTMR_LIMIT** (maximum number of software timers supported by the system). + - Configure **OS_SWTMR_HANDLE_QUEUE_SIZE** (maximum length of the software timer queue). + +2. Call **LOS_SwtmrCreate** to create a software timer. + - Create a software timer with the specified timing duration, timeout handling function, and triggering mode. + - Return the function execution result (success or failure). + +3. Call **LOS_SwtmrStart** to start the software timer. -2. Call **LOS\_SwtmrCreate** to create a software timer. - - Create a software timer with the specified timing duration, timeout handling function, and triggering mode. - - Return the function execution result \(success or failure\). +4. Call **LOS_SwtmrTimeGet** to obtain the remaining number of ticks of the software timer. -3. Call **LOS\_SwtmrStart** to start the software timer. -4. Call **LOS\_SwtmrTimeGet** to obtain the remaining number of ticks of the software timer. -5. Call **LOS\_SwtmrStop** to stop the software timer. -6. Call **LOS\_SwtmrDelete** to delete the software timer. +5. Call **LOS_SwtmrStop** to stop the software timer. ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->- Avoid too many operations in the callback function of the software timer. Do not use APIs or perform operations that may cause task suspension or blocking. ->- The software timers use a queue and a task resource of the system. The priority of the software timer tasks is set to **0** and cannot be changed. ->- The number of software timer resources that can be configured in the system is the total number of software timer resources available to the entire system, not the number of software timer resources available to users. For example, if the system software timer occupies one more resource, the number of software timer resources available to users decreases by one. ->- If a one-shot software timer is created, the system automatically deletes the timer and reclaims resources after the timer times out and the callback function is executed. ->- For a one-shot software timer that will not be automatically deleted after expiration, you need to call **LOS\_SwtmrDelete** to delete it and reclaim the timer resource to prevent resource leakage. +6. Call **LOS_SwtmrDelete** to delete the software timer. -### Development Example +> **NOTE**
    +> +> - Avoid too many operations in the callback of the software timer. Do not use APIs or perform operations that may cause task suspension or blocking. +> +> - The software timers use a queue and a task resource of the system. The priority of the software timer tasks is set to **0** and cannot be changed. +> +> - The number of software timer resources that can be configured in the system is the total number of software timer resources available to the entire system, not the number of software timer resources available to users. For example, if the system software timer occupies one more resource, the number of software timer resources available to users decreases by one. +> +> - If a one-shot software timer is created, the system automatically deletes the timer and reclaims resources after the timer times out and the callback is invoked. +> +> - For a one-shot software timer that will not be automatically deleted after expiration, you need to call **LOS_SwtmrDelete** to delete it and reclaim the timer resource to prevent resource leakage. -Prerequisites: -- In **los\_config.h**, **LOSCFG\_BASE\_CORE\_SWTMR** is enabled. -- The maximum number of software timers supported by the system \(**LOSCFG\_BASE\_CORE\_SWTMR\_LIMIT**\) is configured. -- The maximum length of the software timer queue \(**OS\_SWTMR\_HANDLE\_QUEUE\_SIZE**\) is configured. +### Development Example + +**Prerequisites** + +- In **los_config.h**, **LOSCFG_BASE_CORE_SWTMR** is enabled. +- The maximum number of software timers supported by the system (**LOSCFG_BASE_CORE_SWTMR_LIMIT**) is configured. +- The maximum length of the software timer queue (**OS_SWTMR_HANDLE_QUEUE_SIZE**) is configured. **Sample Code** @@ -164,14 +150,14 @@ void Timer_example(void) UINT16 id2; // timer id UINT32 uwTick; - /* Create a one-shot software timer, with the number of ticks set to 1000. When the number of ticks reaches 1000, callback function 1 is executed. */ + /* Create a one-shot software timer, with the number of ticks set to 1000. Callback 1 will be invoked when the number of ticks reaches 1000. */ LOS_SwtmrCreate (1000, LOS_SWTMR_MODE_ONCE, Timer1_Callback, &id1, 1); - - /* Create a periodic software timer and execute callback function 2 every 100 ticks. */ + + /* Create a periodic software timer and invoke callback 2 every 100 ticks. */ LOS_SwtmrCreate(100, LOS_SWTMR_MODE_PERIOD, Timer2_Callback, &id2, 1); PRINTK("create Timer1 success\n"); - LOS_SwtmrStart (id1); // Start the one-shot software timer. + LOS_SwtmrStart(id1); // Start the one-shot software timer. dprintf("start Timer1 success\n"); LOS_TaskDelay(200); // Delay 200 ticks. LOS_SwtmrTimeGet(id1, &uwTick); // Obtain the number of remaining ticks of the one-short software timer. @@ -196,6 +182,7 @@ void Timer_example(void) **Output** + ``` create Timer1 success start Timer1 success @@ -226,4 +213,3 @@ tick_last1=2101 g_timercount2 =10 tick_last1=2201 ``` - diff --git a/en/device-dev/kernel/kernel-small-basic-time.md b/en/device-dev/kernel/kernel-small-basic-time.md index c58c25a6c4..749c684b82 100644 --- a/en/device-dev/kernel/kernel-small-basic-time.md +++ b/en/device-dev/kernel/kernel-small-basic-time.md @@ -3,85 +3,64 @@ ## Basic Concepts -Time management provides all time-related services for applications based on the system clock. The system clock is generated by the interrupts triggered by the output pulse of a timer or counter. The system clock is generally defined as an integer or a long integer. The period of an output pulse is a "clock tick". The system clock is also called time scale or tick. The duration of a tick can be configured statically. People use second or millisecond as the time unit, while the operating system uses tick. When operations such as suspending a task or delaying a task are performed, the time management module converts time between ticks and seconds or milliseconds. +Time management is performed based on the system clock. It provides time-related services for applications. The system clock is generated by the interrupts triggered by the output pulse of a timer or counter. The system clock is generally defined as an integer or a long integer. The period of an output pulse is a "clock tick". + +The system clock is also called time scale or tick. The duration of a tick can be configured statically. People use second or millisecond as the time unit, while the operating system uses tick. When operations such as suspending a task or delaying a task are performed, the time management module converts time between ticks and seconds or milliseconds. The mapping between ticks and seconds can be configured. -- **Cycle** +- Cycle + + Cycle is the minimum time unit in the system. The cycle duration is determined by the system clock frequency, that is, the number of cycles per second. + +- Tick - Cycle is the minimum time unit in the system. The cycle duration is determined by the system clock frequency, that is, the number of cycles per second. + Tick is the basic time unit of the operating system and is determined by the number of ticks per second configured by the user. +The OpenHarmony time management module provides time conversion, statistics, and delay functions. -- **Tick** - Tick is the basic time unit of the operating system and is determined by the number of ticks per second configured by the user. +## Development Guidelines +Before you start, learn about the system time and the APIs for time management. -The OpenHarmony time management module provides time conversion, statistics, and delay functions to meet users' time requirements. -## Development Guidelines +### Available APIs -The time management module provides APIs to implement conversion between the system running time, ticks, and seconds/milliseconds. +The following table describes APIs for OpenHarmony LiteOS-A time management. For more details about the APIs, see the API reference. -### Available APIs +**Table 1** APIs for time management + +| Category| API Description | +| -------- | ------------------------------------------------------------ | +| Time conversion| **LOS_MS2Tick**: converts milliseconds to ticks.
    **LOS_Tick2MS**: converts ticks to milliseconds. | +| Time statistics| **LOS_TickCountGet**: obtains the number of current ticks.
    **LOS_CyclePerTickGet**: obtains the number of cycles of each tick.| -The following table describes APIs available for the OpenHarmony LiteOS-A time management. For more details about the APIs, see the API reference. - -**Table 1** APIs of the time management module - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Time conversion

    -

    LOS_MS2Tick

    -

    Converts milliseconds into ticks.

    -

    LOS_Tick2MS

    -

    Converts ticks into milliseconds.

    -

    Time statistics

    -

    LOS_TickCountGet

    -

    Obtains the current number of ticks.

    -

    LOS_CyclePerTickGet

    -

    Obtains the number of cycles per tick.

    -
    ### How to Develop -1. Call APIs to convert time. -2. Call APIs to perform time statistics. +1. Call APIs to convert time. + +2. Call APIs to perform time statistics. + +> **NOTE** +> +> - The system tick count can be obtained only after the system clock is enabled. +> +> - The time management module depends on **OS_SYS_CLOCK** and **LOSCFG_BASE_CORE_TICK_PER_SECOND** in **los_config.h**. +> +> - The number of system ticks is not counted when the interrupt feature is disabled. Therefore, the number of ticks cannot be used as the accurate time. ->![](public_sys-resources/icon-note.gif) **NOTE**
    ->- The system tick count can be obtained only after the system clock is enabled. ->- The time management module depends on **OS\_SYS\_CLOCK** and **LOSCFG\_BASE\_CORE\_TICK\_PER\_SECOND** in **los\_config.h**. ->- The number of system ticks is not counted when the interrupt feature is disabled. Therefore, the number of ticks cannot be used as the accurate time. ### Development Example -**Prerequisites**
    +**Prerequisites** + The following parameters are configured: -- **LOSCFG\_BASE\_CORE\_TICK\_PER\_SECOND**: number of ticks per second in the system. The value range is (0, 1000]. -- **OS\_SYS\_CLOCK**: system clock, in Hz. +- **LOSCFG_BASE_CORE_TICK_PER_SECOND**: number of ticks/second. The value range is (0, 1000). + +- **OS_SYS_CLOCK**: system clock, in Hz. **Sample Code** @@ -92,15 +71,16 @@ VOID Example_TransformTime(VOID) { UINT32 uwMs; UINT32 uwTick; - uwTick = LOS_MS2Tick(10000);// Convert 10000 ms into ticks. + uwTick = LOS_MS2Tick(10000); // Convert 10000 ms to ticks. PRINTK("uwTick = %d \n",uwTick); - uwMs= LOS_Tick2MS(100); // Convert 100 ticks into ms. + uwMs= LOS_Tick2MS(100); // Convert 100 ticks to ms. PRINTK("uwMs = %d \n",uwMs); } ``` Time statistics and delay: + ``` VOID Example_GetTime(VOID) { @@ -133,6 +113,7 @@ The result is as follows: Time conversion: + ``` uwTick = 10000 uwMs = 100 @@ -140,9 +121,9 @@ uwMs = 100 Time statistics and delay: + ``` LOS_CyclePerTickGet = 49500 -LOS_TickCountGet = 5042 -LOS_TickCountGet after delay = 5242 +LOS_TickCountGet = 347931 +LOS_TickCountGet after delay = 348134 ``` - diff --git a/en/device-dev/kernel/kernel-small-basic-trans-mutex.md b/en/device-dev/kernel/kernel-small-basic-trans-mutex.md index 4d16065f28..890215f8ec 100644 --- a/en/device-dev/kernel/kernel-small-basic-trans-mutex.md +++ b/en/device-dev/kernel/kernel-small-basic-trans-mutex.md @@ -9,29 +9,25 @@ A mutex has three attributes: protocol attribute, priority upper limit attribute - LOS_MUX_PRIO_NONE - -Do not inherit or protect the priority of the task requesting the mutex. + Do not inherit or protect the priority of the task requesting the mutex. - LOS_MUX_PRIO_INHERIT - -Inherits the priority of the task that requests the mutex. This is the default protocol attribute. When the mutex protocol attribute is set to this value: If a task with a higher priority is blocked because the mutex is already held by a task, the priority of the task holding the mutex will be backed up to the priority bitmap of the task control block, and then set to be the same as that of the task of a higher priority. When the task holding the mutex releases the mutex, its task priority is restored to its original value. + Inherits the priority of the task that requests the mutex. This is the default protocol attribute. When the mutex protocol attribute is set to this value: If a task with a higher priority is blocked because the mutex is already held by a task, the priority of the task holding the mutex will be backed up to the priority bitmap of the task control block, and then set to be the same as that of the task of a higher priority. When the task holding the mutex releases the mutex, its task priority is restored to its original value. - LOS_MUX_PRIO_PROTECT Protects the priority of the task that requests the mutex. When the mutex protocol attribute is set to this value: If the priority of the task that requests the mutex is lower than the upper limit of the mutex priority, the task priority will be backed up to the priority bitmap of the task control block, and then set to the upper limit value of the mutex priority. When the mutex is released, the task priority is restored to its original value. - -The type attribute of a mutex specifies whether to check for deadlocks and whether to support recursive holding of the mutex. The type attribute can be any of the following: + + The type attribute of a mutex specifies whether to check for deadlocks and whether to support recursive holding of the mutex. The type attribute can be any of the following: - LOS_MUX_NORMAL - -Common mutex, which does not check for deadlocks. If a task repeatedly attempts to hold a mutex, the thread will be deadlocked. If the mutex type attribute is set to this value, a task cannot release a mutex held by another task or repeatedly release a mutex. Otherwise, unexpected results will be caused. + Common mutex, which does not check for deadlocks. If a task repeatedly attempts to hold a mutex, the thread will be deadlocked. If the mutex type attribute is set to this value, a task cannot release a mutex held by another task or repeatedly release a mutex. Otherwise, unexpected results will be caused. - LOS_MUX_RECURSIVE - -Recursive mutex, which is the default attribute. If the type attribute of a mutex is set to this value, a task can hold the mutex for multiple times. Another task can hold this mutex only when the number of lock holding times is the same as the number of lock release times. However, any attempt to hold a mutex held by another task or attempt to release a mutex that has been released will return an error code. + Recursive mutex, which is the default attribute. If the type attribute of a mutex is set to this value, a task can hold the mutex for multiple times. Another task can hold this mutex only when the number of lock holding times is the same as the number of lock release times. However, any attempt to hold a mutex held by another task or attempt to release a mutex that has been released will return an error code. - LOS_MUX_ERRORCHECK @@ -44,7 +40,7 @@ In a multi-task environment, multiple tasks may access the same shared resources When non-shared resources are accessed by a task, the mutex is locked. Other tasks will be blocked until the mutex is released by the task. The mutex allows only one task to access the shared resources at a time, ensuring integrity of operations on the shared resources. - **Figure 1** Mutex working mechanism for the small system +**Figure 1** Mutex working mechanism for the small system ![](figures/mutex-working-mechanism-for-small-systems.png "mutex-working-mechanism-for-small-systems") diff --git a/en/device-dev/kernel/kernel-small-basic-trans-user-mutex.md b/en/device-dev/kernel/kernel-small-basic-trans-user-mutex.md index 423e46492a..2af0a2c3b9 100644 --- a/en/device-dev/kernel/kernel-small-basic-trans-user-mutex.md +++ b/en/device-dev/kernel/kernel-small-basic-trans-user-mutex.md @@ -1,62 +1,39 @@ # Futex -## Basic Concepts +## Basic Concepts -Fast userspace mutex \(futex\) is a system call capability provided by the kernel. It is a basic component that combines with user-mode lock logic to form a user-mode lock. It is a lock working in both user mode and kernel mode, for example, userspace mutex, barrier and cond synchronization lock, and RW lock. The user-mode part implements lock logic, and the kernel-mode part schedules locks. +Fast userspace mutex (futex) is a system call capability provided by the kernel. It is a basic component that combines with user-mode lock logic to form a user-mode lock. It is a lock working in both user mode and kernel mode, for example, userspace mutex, barrier and cond synchronization lock, and RW lock. The user-mode part implements lock logic, and the kernel-mode part schedules locks. When a user-mode thread requests a lock, the lock status is first checked in user space. If no lock contention occurs, the user-mode thread acquires the lock directly. If lock contention occurs, the futex system call is invoked to request the kernel to suspend the thread and maintain the blocking queue. When a user-mode thread releases a lock, the lock status is first checked in user space. If no other thread is blocked by the lock, the lock is directly released in user space. If there are threads blocked by the lock, the futex system call is invoked to request the kernel to wake up the threads in the blocking queue. -## Working Principles + + +## Working Principles When thread scheduling is required to resolve lock contention or lock release in user space, the futex system call is invoked to pass the user-mode lock address to the kernel. The user-mode locks are distinguished by lock address in the futex of the kernel. The available virtual address space in user space is 1 GiB. To facilitate search and management of lock addresses, the kernel futex uses hash buckets to store the user-mode locks. -There are 80 hash buckets. Buckets 0 to 63 are used to store private locks \(hashed based on virtual addresses\), and buckets 64 to 79 are used to store shared locks \(hashed based on physical addresses\). The private/shared attributes are determined by initialization of user-mode locks and the input parameters in the futex system call. +There are 80 hash buckets used to store shared locks (hashed based on physical addresses). The private/shared attributes are determined by initialization of user-mode locks and the input parameters in the futex system call. + +## Futex Design + +**Figure 1** Futex design -**Figure 1** Futex design ![](figures/futex-design.jpg "futex-design") -As shown in the above figure, each futex hash bucket stores the futex nodes with the same hash value linked in a futex\_list. Each futex node corresponds to a suspended task. The key value of a node uniquely identifies a user-mode lock. The nodes with the same key value added to a queue\_list indicate a queue of tasks blocked by the same lock. - -The following table describes the APIs available for the futex module. - -**Table 1** Futex module APIs - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Putting a thread to wait

    -

    OsFutexWait

    -

    Inserts a node representing a blocked thread into the futex list.

    -

    Waking up a thread

    -

    OsFutexWake

    -

    Wakes up a thread that is blocked by a specified lock.

    -

    Modifying the lock address

    -

    OsFutexRequeue

    -

    Adjusts the position of a specified lock in the futex list.

    -
    - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->The futex system call and user-mode logic form a user-mode lock. Therefore, you are advised to use the locks via the user-mode POSIX APIs. +As shown in the above figure, each futex hash bucket stores the futex nodes with the same hash value linked in a futex_list. Each futex node corresponds to a suspended task. The key value of a node uniquely identifies a user-mode lock. The nodes with the same key value added to a queue_list indicate a queue of tasks blocked by the same lock. + +## Available APIs + +APIs of the futex module + +| Category | API | Description | +| -------------- | -------------- | ------------------------------------- | +| Putting a thread to wait | OsFutexWait | Inserts a node representing a blocked thread into the futex list.| +| Waking up a thread| OsFutexWake | Wakes up a thread that is blocked by a specified lock. | +| Modifying the lock address | OsFutexRequeue | Adjusts the position of a specified lock in the futex list. | +> **NOTE**
    +> The futex system call and user-mode logic form a user-mode lock. Therefore, you are advised to use the locks via the user-mode POSIX APIs. diff --git a/en/device-dev/kernel/kernel-small-basic-trans-user-signal.md b/en/device-dev/kernel/kernel-small-basic-trans-user-signal.md index ee8d9eae74..3ac3e5f801 100644 --- a/en/device-dev/kernel/kernel-small-basic-trans-user-signal.md +++ b/en/device-dev/kernel/kernel-small-basic-trans-user-signal.md @@ -1,84 +1,64 @@ # Signal -## Basic Concepts +## Basic Concepts -Signal is a common inter-process asynchronous communication mechanism. It uses software-simulated interrupt signals. When a process needs to communicate with another process, it sends a signal to the kernel. The kernel then transfers the signal to the destination process. The destination process does not need to wait for the signal. +Signal is a common asynchronous communication mechanism between processes. It uses software-simulated interrupt signals. When a process needs to communicate with another process, it sends a signal to the kernel. The kernel transfers the signal to the target process. The target process does not need to wait for the signal. -## Working Principles -The following table describes the APIs available for signal operations. +## Working Principles -**Table 1** Signal operation process and APIs \(user-mode APIs\) +The following table describes the APIs for signal operations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Registering the signal callback

    -

    signal

    -

    Registers the main signal entry, and registers and unregisters the callback function of a signal.

    -

    sigaction

    -

    Same as signal. This API is added with configuration options related to signal transmission. Currently, only some parameters in the SIGINFO structure are supported.

    -

    Sending signals

    -

    kill

    -

    Sends a signal to a process or sends messages to a thread in a process, and sets signal flags for threads in a process.

    -

    pthread_kill

    -

    raise

    -

    alarm

    -

    abort

    -

    Triggering a callback

    -

    None

    -

    Triggered by a system call or an interrupt. Before the switching between the kernel mode and user mode, the specified function in user mode is entered, and the corresponding callbacks are processed. After that, the original user-mode program continues to run.

    -
    + **Table 1** Signal APIs (user-mode APIs) ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->The signal mechanism enables communication between user-mode programs. The user-mode POSIX APIs listed in the above table are recommended. ->Register a callback function. ->``` ->void *signal(int sig, void (*func)(int))(int); ->``` ->a. Signal 31 is used to register the handling entry of the process callback. Repeated registration is not allowed. ->b. Signals 0 to 30 are used to register and unregister callbacks. ->Register a callback. ->``` ->int sigaction(int, const struct sigaction *__restrict, struct sigaction *__restrict); ->``` ->You can obtain and modify the configuration of signal registration. Currently, only the **SIGINFO** options are supported. For details, see the description of the **sigtimedwait** API. ->Transmit a signal. ->a. Among the default signal-receiving behaviors, the process does not support **STOP**, **CONTINUE**, and **COREDUMP** defined in the POSIX standard. ->b. The **SIGSTOP**, **SIGKILL**, and **SIGCONT** signals cannot be shielded. ->c. If a process killed is not reclaimed by its parent process, the process becomes a zombie process. ->d. A process will not call back the signal received until the process is scheduled. ->e. When a process is killed, **SIGCHLD** is sent to its parent process. The signal sending action cannot be canceled. ->f. A process in the DELAY state cannot be woken up by a signal. +| Category | API | Description | +| ---------------- | --------------------------------------------------- | ------------------------------------------------------------ | +| Registering/Unregistering a signal callback| signal | Registers the main signal entry, and registers or unregisters a callback for a signal. | +| Registering a signal callback| sigaction | Same as **signal**. This API is added with configuration options related to signal transmission. Currently, only some parameters in the **SIGINFO** structure are supported.| +| Sending a signal | kill
    pthread_kill
    raise
    alarm
    abort | Sends a signal to a process or sends a message to a thread in a process, and sets the signal flag for a thread in a process. | +| Invoking a callback | NA | Called by a system call or an interrupt. Before the switching between the kernel mode and user mode, the callback in the specified function in user mode is processed. After that, the original user-mode program continues to run.| +> **NOTE**
    +> The signal mechanism enables communication between user-mode programs. The user-mode POSIX APIs listed in the above table are recommended. +> +> **Registering a Callback** +> +> +> ``` +> void *signal(int sig, void (*func)(int))(int); +> ``` +> +> - Signal 31 is used to register the handling entry of the process callback. Repeated registration is not allowed. +> +> +> - Signals 0 to 30 are used to register and unregister callbacks. +> +> +> **Registering a Callback** +> +> +> ``` +> int sigaction(int, const struct sigaction ***restrict, struct sigaction ***restrict); +> ``` +> +> You can obtain and modify the configuration of signal registration. Currently, only the **SIGINFO** options are supported. For details, see the description of the **sigtimedwait** API. +> +> **Sending a Signal** +> +> - Among the default signal-receiving behaviors, the process does not support **STOP**, **COTINUE**, and **COREDUMP** defined in POSIX. +> +> +> - The **SIGSTOP**, **SIGKILL**, and **SIGCONT** signals cannot be shielded. +> +> +> - If a process killed is not reclaimed by its parent process, the process becomes a zombie process. +> +> +> - A process will not call back the signal received until the process is scheduled. +> +> +> - When a process is killed, **SIGCHLD** is sent to its parent process. The signal sending action cannot be canceled. +> +> +> - A process in the DELAY state cannot be woken up by a signal. diff --git a/en/device-dev/kernel/kernel-small-bundles-ipc.md b/en/device-dev/kernel/kernel-small-bundles-ipc.md index cdde2e4e60..50d3f5e7f6 100644 --- a/en/device-dev/kernel/kernel-small-bundles-ipc.md +++ b/en/device-dev/kernel/kernel-small-bundles-ipc.md @@ -1,65 +1,38 @@ # LiteIPC -## Basic Concepts - -LiteIPC is a new inter-process communication \(IPC\) mechanism provided by the OpenHarmony LiteOS-A kernel. Different from the traditional System V IPC, LiteIPC is designed for Remote Procedure Call \(RPC\). In addition, it provides APIs for the upper layer through device files, not through traditional API functions. - -LiteIPC has two important concepts: ServiceManager and Service. The entire system can have one ServiceManager and multiple Services. ServiceManager is responsible for registering and unregistering Services, and managing Service access permission \(only authorized tasks can send IPC messages to corresponding Services\). - -## Working Principles - -ServiceManager registers the task that needs to receive IPC messages as a Service, and sets the access permission for the Service task \(specifies the tasks that can send IPC messages to the Service\). LiteIPC maintains an IPC message queue for each Service task in kernel mode. The message queue provides the upper-layer user-mode programs with the read operation \(receiving IPC messages\) and the write operations \(sending IPC messages\) through LiteIPC device files. - -## Development Guidelines - -### Available APIs - -**Table 1** LiteIPC module APIs \(for LiteOS-A internal use only\) - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Module initialization

    -

    OsLiteIpcInit

    -

    Initializes the LiteIPC module.

    -

    IPC message memory pool

    -

    LiteIpcPoolInit

    -

    Initializes the IPC message memory pool of processes.

    -

    LiteIpcPoolReInit

    -

    Re-initializes the IPC message memory pool of processes.

    -

    LiteIpcPoolDelete

    -

    Releases the IPC message memory pool of processes.

    -

    Service management

    -

    LiteIpcRemoveServiceHandle

    -

    Deletes the specified Service.

    -
    - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->LiteIPC module APIs are used for LiteOS-A internal use only. +## Basic Concepts +LiteIPC is a new inter-process communication (IPC) mechanism provided by the OpenHarmony LiteOS-A kernel. Different from the traditional System V IPC, LiteIPC is designed for Remote Procedure Call (RPC). In addition, it provides APIs for the upper layer through device files, not through traditional API functions. + +LiteIPC has two important concepts: ServiceManager and Service. The entire system can have one ServiceManager and multiple Services. + +ServiceManager provides the following functions: + +- Registers and deregisters services. + +- Manages the access permission of services. Only authorized tasks can send IPC messages to the service. + + +## Working Principles + +ServiceManager registers the task that needs to receive IPC messages as a Service, and sets the access permission for the Service task (specifies the tasks that can send IPC messages to the Service). + +LiteIPC maintains an IPC message queue for each Service task in kernel mode. The message queue provides the upper-layer user-mode programs with the read operation (receiving IPC messages) and the write operations (sending IPC messages) through LiteIPC device files. + + +## Development Guidelines + + +### Available APIs + + **Table 1** APIs of the LiteIPC module (applicable to LiteOS-A only) + +| Category | API Description | +| ------------- | ------------------------------------------------------------ | +| Module initialization | **OsLiteIpcInit**: initializes the LiteIPC module. | +| IPC message memory pool| - **LiteIpcPoolInit**: initializes the IPC message memory pool of a process.
    - **LiteIpcPoolReInit**: reinitializes the IPC message memory pool of a process.
    - **LiteIpcPoolDelete**: releases the IPC message memory pool of a process. | +| Service management | **LiteIpcRemoveServiceHandle**: deletes a service. | + +> **NOTE**
    +> The APIs of the LiteIPC module are dedicated for LiteOS-A internal use only. diff --git a/en/device-dev/kernel/kernel-small-bundles-linking.md b/en/device-dev/kernel/kernel-small-bundles-linking.md index 78a6076a02..2fc0d538c9 100644 --- a/en/device-dev/kernel/kernel-small-bundles-linking.md +++ b/en/device-dev/kernel/kernel-small-bundles-linking.md @@ -1,59 +1,58 @@ # Dynamic Loading and Linking -## Basic Concepts + +## Basic Concepts The OpenHarmony dynamic loading and linking mechanism includes a kernel loader and a dynamic linker. The kernel loader loads application programs and the dynamic linker. The dynamic linker loads the shared library on which the application programs depend, and performs symbol relocation for the application programs and shared libraries. Compared with static linking, dynamic linking is a mechanism for delaying the linking of applications and dynamic libraries to run time. **Advantages of Dynamic Linking** -1. Dynamic linking allows multiple applications to share code. The minimum loading unit is page. Dynamic linking saves disk and memory space than static linking. -2. When a shared library is upgraded, the new shared library overwrites the earlier version \(the APIs of the shared library are downward compatible\). You do not need to re-link the shared library. -3. The loading address can be randomized to prevent attacks and ensure security. +- Dynamic linking allows multiple applications to share code. The minimum loading unit is page. Dynamic linking saves disk and memory space than static linking. + +- When a shared library is upgraded, the new shared library overwrites the earlier version (the APIs of the shared library are downward compatible). You do not need to re-link the shared library. + +- The loading address can be randomized to prevent attacks and ensure security. + + +## Working Principles -## Working Principles +**Figure 1** Dynamic loading process -**Figure 1** Dynamic loading process ![](figures/dynamic-loading-process.png "dynamic-loading-process") -1. The kernel maps the **PT\_LOAD** section in the ELF file of the application to the process space. For files of the ET\_EXEC type, fixed address mapping is performed based on **p\_vaddr** in the **PT\_LOAD** section. For files of the ET\_DYN type \(position-independent executable programs, obtained through the compile option **-fPIE**\), the kernel selects the **base** address via **mmap** for mapping \(load\_addr = base + p\_vaddr\). -2. If the application is statically linked \(static linking does not support the compile option **-fPIE**\), after the stack information is set, the system redirects to the address specified by **e\_entry** in the ELF file of the application and runs the application. If the program is dynamically linked, the application ELF file contains the **PT\_INTERP** section, which stores the dynamic linker path information \(ET\_DYN type\). The dynamic linker of musl is a part of the **libc-musl.so**. The entry of **libc-musl.so** is the entry of the dynamic linker. The kernel selects the **base** address for mapping via the **mmap** API, sets the stack information, redirects to the **base + e\_entry** \(entry of the dynamic linker\) address, and runs the dynamic linker. -3. The dynamic linker bootstraps and searches for all shared libraries on which the application depends, relocates the imported symbols, and finally redirects to the **e\_entry** \(or **base + e\_entry**\) of the application to run the application. +1. The kernel maps the **PT_LOAD** section in the ELF file of the application to the process space. For files of the ET_EXEC type, fixed address mapping is performed based on **p_vaddr** in the **PT_LOAD** section. For files of the ET_DYN type (position-independent executable programs, obtained through **-fPIE**), the kernel selects the **base** address via **mmap** for mapping (load_addr = base + p_vaddr). + +2. If the application is statically linked (static linking does not support **-fPIE**), after the stack information is set, the system redirects to the address specified by **e_entry** in the ELF file of the application and runs the application. If the program is dynamically linked, the application ELF file contains the **PT_INTERP** section, which stores the dynamic linker path information (ET_DYN type). The dynamic linker of musl is a part of the **libc-musl.so**. The entry of **libc-musl.so** is the entry of the dynamic linker. The kernel selects the **base** address for mapping via the **mmap** API, sets the stack information, redirects to the **base + e_entry** (entry of the dynamic linker) address, and runs the dynamic linker. + +3. The dynamic linker bootstraps and searches for all shared libraries on which the application depends, relocates the imported symbols, and finally redirects to the **e_entry** (or **base + e_entry**) of the application to run the application. + +**Figure 2** Program execution process -**Figure 2** Program execution process ![](figures/program-execution-process.png "program-execution-process") -1. The loader and linker call **mmap** to map the **PT\_LOAD** section. -2. The kernel calls **map\_pages** to search for and map the existing PageCache. -3. If there is no physical memory for mapping in the virtual memory region during program execution, the system triggers a page missing interrupt, which allows the ELF file to be read into the physical memory and adds the memory block to the pagecache. -4. Map the physical memory blocks of the file read to the virtual address region. -5. The program continues to run. - -## Development Guidelines - -### Available APIs - -**Table 1** APIs of the kernel loader module - - - - - - - - - - - - -

    Function

    -

    API

    -

    Description

    -

    Module initialization

    -

    LOS_DoExecveFile

    -

    Executes the specified user program based on the input parameters.

    -
    - -### How to Develop - -The kernel cannot directly call the **LOS\_DoExecveFile** API to start a new process. This API is generally called through the **exec\(\)** API to create a new process using the system call mechanism. +1. The loader and linker call **mmap** to map the **PT_LOAD** section. + +2. The kernel calls **map_pages** to search for and map the existing PageCache. + +3. If there is no physical memory for mapping in the virtual memory region during program execution, the system triggers a page missing interrupt, which allows the ELF file to be read into the physical memory and adds the memory block to the pagecache. + +4. Map the physical memory blocks of the file read to the virtual address region. + +5. The program continues to run. + + +## Development Guidelines + + +### Available APIs + +**Table 1** API of the kernel loader module + +| Category | API | Description | +| ---------- | ---------------- | -------------------------------- | +| Starting initialization| LOS_DoExecveFile | Executes the specified user program based on the input parameters.| + + +### How to Develop +The kernel cannot directly call the **LOS_DoExecveFile** API to start a new process. This API is generally called through the **exec()** API to create a new process using the system call mechanism. diff --git a/en/device-dev/kernel/kernel-small-bundles-share.md b/en/device-dev/kernel/kernel-small-bundles-share.md index 23f6b68a3e..0414d8bc77 100644 --- a/en/device-dev/kernel/kernel-small-bundles-share.md +++ b/en/device-dev/kernel/kernel-small-bundles-share.md @@ -1,21 +1,24 @@ # Virtual Dynamic Shared Object -## Basic Concepts -Different from a common dynamic shared library, which stores its .so files in the file system, the virtual dynamic shared object \(VDSO\) has its .so files stored in the system image. The kernel determines the .so files needed and provides them to the application program. That is why the VDSO is called a virtual dynamic shared library. +## Basic Concepts -The VDSO mechanism allows OpenHarmony user-mode programs to quickly obtain kernel-related data. It can accelerate certain system calls and implement quick read of non-sensitive data \(hardware and software configuration\). +Different from a common dynamic shared library, which stores its .so files in the file system, the virtual dynamic shared object (VDSO) has its .so files stored in the system image. The kernel determines the .so files needed and provides them to the application program. That is why the VDSO is called a virtual dynamic shared library. -## Working Principles +The VDSO mechanism allows OpenHarmony user-mode programs to quickly obtain kernel-related data. It can accelerate certain system calls and implement quick read of non-sensitive data (hardware and software configuration). -The VDSO can be regarded as a section of memory \(read-only\) maintained by the kernel and mapped to the address space of the user-mode applications. By linking **vdso.so**, the applications can directly access this mapped memory instead of invoking system calls, accelerating application execution. + +## Working Principles + +The VDSO can be regarded as a section of memory (read-only) maintained by the kernel and mapped to the address space of the user-mode applications. By linking **vdso.so**, the applications can directly access this mapped memory instead of invoking system calls, accelerating application execution. VDSO can be divided into: -- Data page: provides the kernel-time data mapped to the user process. -- Code page: provides the logic for shielding system calls. +- Data page: provides the kernel-time data mapped to the user process. +- Code page: provides the logic for shielding system calls. + +**Figure 1** VDSO system design -**Figure 1** VDSO system design ![](figures/vdso-system-design.jpg "vdso-system-design") The VDSO mechanism involves the following steps: @@ -30,7 +33,7 @@ The VDSO mechanism involves the following steps: 5. Binds the VDSO symbols when the user program creates dynamic linking. -6. The VDSO code page intercepts specific system calls \(for example, **clock\_gettime\(CLOCK\_REALTIME\_COARSE, &ts\)**\). +6. The VDSO code page intercepts specific system calls (for example, **clock_gettime(CLOCK_REALTIME_COARSE, &ts)**). 7. The VDSO code page allows direct read of the mapped VDSO data page rather than invoking a system call. @@ -38,7 +41,10 @@ The VDSO mechanism involves the following steps: 9. Returns the data obtained from the VDSO data page to the user program. ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->- The VDSO mechanism supports the **CLOCK\_REALTIME\_COARSE** and **CLOCK\_MONOTONIC\_COARSE** functions of the **clock\_gettime** API in the LibC library. For details about how to use the **clock\_gettime** API, see the POSIX standard. You can call **clock\_gettime\(CLOCK\_REALTIME\_COARSE, &ts\)** or **clock\_gettime\(CLOCK\_MONOTONIC\_COARSE, &ts\)** of the LibC library to use the VDSO. ->- When VDSO is used, the time precision is the same as that of the tick interrupt of the system. The VDSO mechanism is applicable to the scenario where there is no demand for high time precision and **clock\_gettime** or **gettimeofday** is frequently triggered in a short period of time. The VDSO mechanism is not recommended for the system demanding high time precision. - +> **NOTE**
    +> +> - The VDSO mechanism supports the **CLOCK_REALTIME_COARSE** and **CLOCK_MONOTONIC_COARSE** functions of the **clock_gettime** API in the LibC library. For details about how to use the **clock_gettime** API, see the POSIX standard. +> +> - You can call **clock_gettime(CLOCK_REALTIME_COARSE, &ts)** or **clock_gettime(CLOCK_MONOTONIC_COARSE, &ts)** of the Libc library to use the VDSO. +> +> - When VDSO is used, the time precision is the same as that of the tick interrupt of the system. The VDSO mechanism is applicable to the scenario where there is no demand for high time precision and **clock_gettime** or **gettimeofday** is frequently triggered in a short period of time. The VDSO mechanism is not recommended for the system demanding high time precision. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-cpup.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-cpup.md index 746b920933..ac22848f4f 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-cpup.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-cpup.md @@ -1,55 +1,41 @@ # cpup -## Command Function +## Command Function -This command is used to query the CPU usage \(CPU percent\) of the system. +This command is used to query the CPU percent (CPUP) of the system. -## Syntax -cpup \[_mode_\] \[_taskID_\] +## Syntax -## Parameters +cpup [_mode_] [_taskID_] -**Table 1** Parameter description - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    mode

    -
    • Displays the CPU usage of the system within the last 10 seconds by default.
    • 0: displays the CPU usage within the last 10 seconds.
    • 1: displays the CPU usage within the last 1 second.
    • Other value: displays the total CPU usage since the system is started.
    -

    [0,0xFFFFFFFF]

    -

    taskID

    -

    Specifies the task ID.

    -

    [0,0xFFFFFFFF]

    -
    +## Parameters -## Usage +**Table 1** Parameter description -- If no parameter is specified, the CPU usage of the system within the last 10 seconds is displayed. -- If only **mode** is specified, the CPU usage within the specified period is displayed. -- If both **mode** and **taskID** are specified, the CPU usage of the specified task within the given period is displayed. +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| mode | Displays the CPUP of the system within the last 10 seconds by default.
    - **0**: displays the CPUP within the last 10 seconds.
    - **1**: displays the CPUP within the last 1 second.
    - Other numbers: display the total CPUP since the system starts.| [0, 0xFFFFFFFF] | +| taskID | Specifies the task ID.| [0, 0xFFFFFFFF] | -## Example -Run **cpup 1 5**. +## Usage Guidelines -## Output +- If no parameter is specified, the CPU usage of the system within the last 10 seconds is displayed. + +- If only **mode** is specified, the CPU usage within the specified period is displayed. + +- If both **mode** and **taskID** are specified, the CPU usage of the specified task within the given period is displayed. + + +## Example + +Run **cpup 1 5**. + + +## Output CPU usage of task 5 in the last one second: @@ -58,4 +44,3 @@ OHOS # cpup 1 5pid 5 CpuUsage in 1s: 0.0 ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-date.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-date.md index b232540382..33a4f5d76a 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-date.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-date.md @@ -1,69 +1,56 @@ # date -## Command Function + +## Command Function This command is used to query the system date and time. -## Syntax - -- date -- date --help -- date +\[_Format_\] -- date -u - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays help information.

    -

    N/A

    -

    +Format

    -

    Prints the date and time in the specified Format.

    -

    Placeholders listed in --help

    -

    -u

    -

    Displays UTC instead of the current time zone.

    -

    N/A

    -
    - -## Usage - -- If no parameter is specified, the system UTC date and time are displayed by default. -- The **--help**, **+Format**, and **-u** parameters are mutually exclusive. -- Currently, this command cannot be used to set the time or date. - -## Example - -Run **date +%Y--%m--%d**. - -## Output + +## Syntax + +- date + +- date --help + +- date +[_Format_] + +- date -u + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------- | ------------------------------ | ---------------------- | +| --help | Displays help information. | N/A | +| +Format | Prints the date and time in the specified format.| Placeholders listed in **--help**| +| -u | Displays UTC (not the current time zone). | N/A | + + +## Usage Guidelines + +- If no parameter is specified, the system date and time in UTC format are displayed by default. + +- The **--help**, **+Format**, and **-u** parameters are mutually exclusive. + +- Currently, this command cannot be used to set the time or date. + +## Note + +The shell does not support **date -u**. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example + +Run **date +%Y--%m--%d**. + + +## Output System date in the specified format: + ``` OHOS:/$ date +%Y--%m--%d 1970--01--01 ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.md index 71950cfa70..492d6017b6 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-dmesg.md @@ -1,108 +1,61 @@ # dmesg -## Command Function + +## Command Function This command is used to display system boot and running information. -## Syntax + +## Syntax dmesg -dmesg \[_-c/-C/-D/-E/-L/-U_\] - -dmesg -s \[_size_\] - -dmesg -l \[_level_\] - -dmesg \> \[_fileA_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -c

    -

    Prints content in the buffer and clears the buffer.

    -

    N/A

    -

    -C

    -

    Clears the buffer.

    -

    N/A

    -

    -D/-E

    -

    Disables or enables printing to the console.

    -

    N/A

    -

    -L/-U

    -

    Disables or enables printing via the serial port.

    -

    N/A

    -

    -s size

    -

    Sets the size of the buffer.

    -

    N/A

    -

    -l level

    -

    Sets the buffering level.

    -

    0 - 5

    -

    > fileA

    -

    Writes the content in the buffer to the specified file.

    -

    N/A

    -
    - -## Usage - -- This command depends on **LOSCFG\_SHELL\_DMESG**. Before using this command, select **Enable Shell dmesg** on **menuconfig**. - - Debug ---\> Enable a Debug Version ---\> Enable Shell ---\> Enable Shell dmesg - -- If no parameter is specified, all content in the buffer is printed. -- The parameters followed by hyphens \(-\) are mutually exclusive. - 1. Before writing content to a file, ensure that the file system has been mounted. - 2. Disabling the serial port printing will adversely affect shell. You are advised to set up a connection using Telnet before disabling the serial port. - - -## Example - -Run **dmesg\> dmesg.log**. - -## Output - -Writing the content in the buffer to the **dmesg.log** file: +dmesg [_-c/-C/-D/-E/-L/-U_] + +dmesg -s [_size_] + +dmesg -l [_level_] + +dmesg > [_fileA_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| --------------- | ---------------------------------------- | --------------- | +| -c | Prints content in the buffer and clears the buffer. | N/A | +| -C | Clears the buffer. | N/A | +| -D/-E | Disables or enables printing to the console. | N/A | +| -L/-U | Disables or enables printing via the serial port. | N/A | +| -s size | Sets the size of the buffer. size specifies the buffer size to set.| N/A | +| -l level | Sets the buffering level. | [0, 5] | +| > fileA | Writes the content in the buffer to a file. | N/A | + + +## Usage Guidelines + +- This command can be used only after **LOSCFG_SHELL_DMESG** is enabled. To enable **LOSCFG_SHELL_DMESG**, run the **make menuconfig** command in **kernel/liteos_a**. In the displayed dialog box, locate the **Debug** option and set **Enable Shell dmesg** to **Yes**. + Debug ---> Enable a Debug Version ---> Enable Shell ---> Enable Shell dmesg + +- If no parameter is specified, all content in the buffer is printed. + +- The parameters followed by hyphens (-) are mutually exclusive. + 1. Before writing content to a file, ensure that the file system has been mounted. + 2. Disabling the serial port printing will adversely affect shell. You are advised to set up a connection using Telnet before disabling the serial port. + + +## Example + +Run **dmesg> dmesg.log**. + + +## Output + +Write the content in the buffer to the **dmesg.log** file. ``` OHOS # dmesg > dmesg.log Dmesg write log to dmesg.log success ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-exec.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-exec.md index d928f722e2..bcd235842b 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-exec.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-exec.md @@ -1,54 +1,42 @@ # exec -## Command Function +## Command Function -This command is a built-in shell command used to execute user-mode programs. +This command is a built-in shell command used to execute basic user-mode programs. -## Syntax -exec <_executable-file_\> +## Syntax -## Parameters +exec <*executable-file*> -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    executable-file

    -

    Indicates a valid executable file.

    -

    N/A

    -
    +## Parameters -## Usage +**Table 1** Parameter description + +| Parameter | Description | +| --------------- | ------------------ | +| executable-file | Specifies a valid executable file.| + + +## Usage Guidelines Currently, this command supports only valid binary programs. The programs are successfully executed and then run in the background by default. However, the programs share the same device with the shell. As a result, the output of the programs and the shell may be interlaced. -## Example -Example: +## Example -Run **exec helloworld**. +Run **exec helloworld**. + + +## Output -## Output ``` OHOS # exec helloworld OHOS # hello world! ``` ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->After the executable file is executed, the prompt **OHOS \#** is printed first. The shell **exec** command is executed in the background, causing the prompt to be printed in advance. - +> **NOTE**
    +> After the executable file is executed, the prompt **OHOS #** is printed first. The shell **exec** command is executed in the background, causing the prompt to be printed in advance. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-free.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-free.md index 7922bd0a47..936df019ed 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-free.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-free.md @@ -1,87 +1,43 @@ # free -## Command Function + +## Command Function This command is used to display the memory usage in the system. -## Syntax - -free \[_-b | -k | -m | -g | -t_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    No parameter

    -

    Displays the memory usage in bytes.

    -

    N/A

    -

    --help/-h

    -

    Displays the parameters supported by the free command.

    -

    N/A

    -

    -b

    -

    Displays the memory usage in bytes.

    -

    N/A

    -

    -k

    -

    Displays the memory usage in KiB.

    -

    N/A

    -

    -m

    -

    Displays the memory usage in MiB.

    -

    N/A

    -

    -g

    -

    Displays the memory usage in GiB.

    -

    N/A

    -

    -t

    -

    Displays the memory usage in TiB.

    -

    N/A

    -
    - -## Usage - -None - -## Example - -Run **free**, **free -k**, and **free -m**, respectively. - -## Output + +## Syntax + +free [_-b | -k | -m | -g | -t_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description | +| -------- | -------- | +| No parameter| Displays the memory usage in bytes.| +| --help/-h | Displays the parameters supported by the **free** command.| +| -b | Displays the memory usage in bytes.| +| -k | Display the memory waterline in KiB.| +| -m | Display the memory waterline in MiB.| +| -g | Displays the memory usage in GiB.| +| -t | Displays the memory usage in TiB.| + + +## Usage Guidelines + +None. + + +## Example + +Run **free**, **free -k**, and **free -m**, respectively. + + +## Output + ``` OHOS:/$ free @@ -101,40 +57,13 @@ Mem: 2 2 0 0 0 Swap: 0 0 0 ``` -**Table 2** Output - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    total

    -

    Total size of the dynamic memory pool

    -

    used

    -

    Size of the used memory

    -

    free

    -

    Size of the unallocated memory

    -

    shared

    -

    Size of the shared memory

    -

    buffers

    -

    Size of the buffer

    -
    +**Table 2** Output description + +| Parameter| Description| +| -------- | -------- | +| total | Total size of the dynamic memory pool.| +| used | Size of the used memory.| +| free | Size of the unallocated memory.| +| shared | Size of the shared memory.| +| buffers | Size of the buffer.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-help.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-help.md index afdf6852c2..e36d6a784f 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-help.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-help.md @@ -1,36 +1,43 @@ # help -## Command Function + +## Command Function This command is used to display all commands in the OS and some Toybox commands. -## Syntax + +## Syntax help -## Parameters -None +## Parameters + +None. + -## Usage +## Usage Guidelines -You can run **help** to display all commands in the current OS. +You can run **help** to display all commands in the current OS. -## Example -Run **help**. +## Example -## Output +Run **help**. + + +## Output All commands in the system: + ``` After shell prompt "OHOS # ": Use ` [args ...]` to run built-in shell commands listed above. Use `exec [args ...]` or `./ [args ...]` to run external commands. OHOS:/$ help -*******************shell commands:************************* +***shell commands:* arp cat cat_logmpp cd chgrp chmod chown cp cpup date dhclient dmesg dns format free help hi3881 hwi @@ -44,11 +51,10 @@ watch writeproc After shell prompt "OHOS # ": Use ` [args ...]` to run built-in shell commands listed above. Use `exec [args ...]` or `./ [args ...]` to run external commands. -*******************toybox commands:************************ +***toybox commands: chgrp chmod chown cp date du free help ifconfig kill ls mkdir mount mv ping ps reboot rm rmdir top touch umount uname Use `toybox help [command]` to show usage information for a specific command. Use `shell` to enter interactive legacy shell. Use `alias` to display command aliases. ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-hwi.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-hwi.md index 52854b1cfa..c9f9cca164 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-hwi.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-hwi.md @@ -1,155 +1,120 @@ # hwi -## Command Function + +## Command Function This command is used to query information about interrupts. -## Syntax -hwi +## Syntax -## Parameters - -None - -## Usage - -- Run **hwi** to display the interrupt IDs, count of interrupts, and registered interrupt names of the system. -- If **LOSCFG\_CPUP\_INCLUDE\_IRQ** is enabled, the interrupt handling time \(ATime\), CPU usage, and type of each interrupt are also displayed. - -## Example - -Run **hwi**. - -## Output - -- Interrupt information \(**LOSCFG\_CPUP\_INCLUDE\_IRQ** disabled\): - - ``` - OHOS # hwi - InterruptNo Count Name - 0: 0: - 1: 1025641: - 2: 0: - 29: 824049: - 37: 0: rtc_alarm - 38: 24: uart_pl011 - 48: 3: GPIO - 59: 0: - 62: 530: MMC_IRQ - 63: 70: MMC_IRQ - 64: 280: ETH - 67: 58: tde - 68: 0: JPGE_0 - 69: 0: IVE - 70: 0: VGS - 72: 0: VEDU_0 - 73: 0: nnie0 - 74: 0: nnie_gdc0 - 75: 0: VPSS - 76: 0: VI_PROC0 - 77: 0: JPEGD_0 - 83: 49455: HIFB_SOFT_INT - 87: 0: AIO interrupt - 88: 0: VI_CAP0 - 89: 0: MIPI_RX - 90: 49455: VO int - 91: 49456: HIFB Int - 96: 17601: MMC_IRQ - 100: 0: SPI_HI35XX - 101: 0: SPI_HI35XX - 102: 0: SPI_HI35XX - ``` - -- Interrupt information \(**LOSCFG\_CPUP\_INCLUDE\_IRQ** enabled\): - - ``` - OHOS # hwi - InterruptNo Count ATime(us) CPUUSE CPUUSE10s CPUUSE1s Mode Name - 0: 0 0 0.0 0.0 0.0 normal - 1: 937031 0 0.1 0.1 0.1 normal - 2: 0 0 0.0 0.0 0.0 normal - 29: 726166 5 0.54 0.57 0.59 normal - 37: 0 0 0.0 0.0 0.0 normal rtc_alarm - 38: 17 5 0.0 0.0 0.0 normal uart_pl011 - 48: 3 4 0.0 0.0 0.0 normal GPIO - 59: 0 0 0.0 0.0 0.0 normal - 62: 531 1 0.0 0.0 0.0 normal MMC_IRQ - 63: 69 1 0.0 0.0 0.0 normal MMC_IRQ - 64: 292 2 0.0 0.0 0.0 normal ETH - 67: 54 76 0.0 0.0 0.0 shared tde - 68: 0 0 0.0 0.0 0.0 shared JPGE_0 - 69: 0 0 0.0 0.0 0.0 shared IVE - 70: 0 0 0.0 0.0 0.0 shared VGS - 72: 0 0 0.0 0.0 0.0 shared VEDU_0 - 73: 0 0 0.0 0.0 0.0 shared nnie0 - 74: 0 0 0.0 0.0 0.0 shared nnie_gdc0 - 75: 0 0 0.0 0.0 0.0 shared VPSS - 76: 0 0 0.0 0.0 0.0 shared VI_PROC0 - 77: 0 0 0.0 0.0 0.0 shared JPEGD_0 - 83: 45529 8 0.5 0.5 0.5 shared HIFB_SOFT_INT - 87: 0 0 0.0 0.0 0.0 shared AIO interrupt - 88: 0 0 0.0 0.0 0.0 shared VI_CAP0 - 89: 0 0 0.0 0.0 0.0 shared MIPI_RX - 90: 45534 11 0.6 0.7 0.7 shared VO int - 91: 45533 2 0.1 0.1 0.1 shared HIFB Int - 96: 17383 2 0.0 0.0 0.0 normal MMC_IRQ - 100: 0 0 0.0 0.0 0.0 normal SPI_HI35XX - 101: 0 0 0.0 0.0 0.0 normal SPI_HI35XX - 102: 0 0 0.0 0.0 0.0 normal SPI_HI35XX - ``` - - **Table 1** Output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    InterruptNo

    -

    Interrupt ID

    -

    Count

    -

    Number of interrupts

    -

    Name

    -

    Registered interrupt name

    -

    ATime

    -

    Interrupt handling time

    -

    CPUUSE

    -

    CPU usage

    -

    CPUUSE10s

    -

    CPU usage within the last 10 seconds

    -

    CPUUSE1s

    -

    CPU usage within the last 1 second

    -

    mode

    -

    Interrupt type, which can be any of the following:

    -
    • normal: non-shared interrupt.
    • shared: shared interrupt.
    -
    +hwi +## Parameters + +None. + + +## Usage Guidelines + +- Run **hwi** to display the interrupt IDs, count of interrupts, and registered interrupt names of the system. + +- If **LOSCFG_CPUP_INCLUDE_IRQ** is enabled, the interrupt handling time (ATime), CPU usage, and type of each interrupt are also displayed. + + +## Example + +Run **hwi**. + + +## Output + +- Interrupt information (**LOSCFG_CPUP_INCLUDE_IRQ** disabled): + + ``` + OHOS # hwi + InterruptNo Count Name + 0: 0: + 1: 1025641: + 2: 0: + 29: 824049: + 37: 0: rtc_alarm + 38: 24: uart_pl011 + 48: 3: GPIO + 59: 0: + 62: 530: MMC_IRQ + 63: 70: MMC_IRQ + 64: 280: ETH + 67: 58: tde + 68: 0: JPGE_0 + 69: 0: IVE + 70: 0: VGS + 72: 0: VEDU_0 + 73: 0: nnie0 + 74: 0: nnie_gdc0 + 75: 0: VPSS + 76: 0: VI_PROC0 + 77: 0: JPEGD_0 + 83: 49455: HIFB_SOFT_INT + 87: 0: AIO interrupt + 88: 0: VI_CAP0 + 89: 0: MIPI_RX + 90: 49455: VO int + 91: 49456: HIFB Int + 96: 17601: MMC_IRQ + 100: 0: SPI_HI35XX + 101: 0: SPI_HI35XX + 102: 0: SPI_HI35XX + ``` + +- Interrupt information (**LOSCFG_CPUP_INCLUDE_IRQ** enabled): + + ``` + OHOS # hwi + InterruptNo Count ATime(us) CPUUSE CPUUSE10s CPUUSE1s Mode Name + 0: 0 0 0.0 0.0 0.0 normal + 1: 937031 0 0.1 0.1 0.1 normal + 2: 0 0 0.0 0.0 0.0 normal + 29: 726166 5 0.54 0.57 0.59 normal + 37: 0 0 0.0 0.0 0.0 normal rtc_alarm + 38: 17 5 0.0 0.0 0.0 normal uart_pl011 + 48: 3 4 0.0 0.0 0.0 normal GPIO + 59: 0 0 0.0 0.0 0.0 normal + 62: 531 1 0.0 0.0 0.0 normal MMC_IRQ + 63: 69 1 0.0 0.0 0.0 normal MMC_IRQ + 64: 292 2 0.0 0.0 0.0 normal ETH + 67: 54 76 0.0 0.0 0.0 shared tde + 68: 0 0 0.0 0.0 0.0 shared JPGE_0 + 69: 0 0 0.0 0.0 0.0 shared IVE + 70: 0 0 0.0 0.0 0.0 shared VGS + 72: 0 0 0.0 0.0 0.0 shared VEDU_0 + 73: 0 0 0.0 0.0 0.0 shared nnie0 + 74: 0 0 0.0 0.0 0.0 shared nnie_gdc0 + 75: 0 0 0.0 0.0 0.0 shared VPSS + 76: 0 0 0.0 0.0 0.0 shared VI_PROC0 + 77: 0 0 0.0 0.0 0.0 shared JPEGD_0 + 83: 45529 8 0.5 0.5 0.5 shared HIFB_SOFT_INT + 87: 0 0 0.0 0.0 0.0 shared AIO interrupt + 88: 0 0 0.0 0.0 0.0 shared VI_CAP0 + 89: 0 0 0.0 0.0 0.0 shared MIPI_RX + 90: 45534 11 0.6 0.7 0.7 shared VO int + 91: 45533 2 0.1 0.1 0.1 shared HIFB Int + 96: 17383 2 0.0 0.0 0.0 normal MMC_IRQ + 100: 0 0 0.0 0.0 0.0 normal SPI_HI35XX + 101: 0 0 0.0 0.0 0.0 normal SPI_HI35XX + 102: 0 0 0.0 0.0 0.0 normal SPI_HI35XX + ``` + +**Table 1** Output description + +| Parameter| Description| +| -------- | -------- | +| InterruptNo | Interrupt number.| +| Count | Number of interrupts.| +| Name | Registered interrupt name.| +| ATime | Interrupt handling time.| +| CPUUSE | CPU usage.| +| CPUUSE10s | CPU usage in the last 10s.| +| CPUUSE1s | CPU usage in the last 1s.| +| mode | Interrupt type, which can be any of the following:
    - **normal**: non-shared interrupt.
    - **shared**: shared interrupt.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md index 841bcc90ac..4a68f5b68c 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-kill.md @@ -1,125 +1,101 @@ # kill -## Command Function - -This command is used to send a signal to a specified process. - -## Syntax - -kill \[-l \[_signo_\] | _-s signo_ | _-signo_\] _pid..._ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the kill command.

    -

    N/A

    -

    -l

    -

    Lists the names and numbers of signals.

    -

    N/A

    -

    -s

    -

    Sends signals

    -

    N/A

    -

    signo

    -

    Specifies the signal number.

    -

    [1,30]

    -

    pid

    -

    Specifies the process ID.

    -

    [1,MAX_INT]

    -
    - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->The value range of **signo** is \[0, 64\]. The recommended value range is \[1, 30\], and other values in the value range are reserved. - -## Usage - -- The **signo** and **pid** parameters are mandatory. -- The **pid** value range varies depending on the system configuration. For example, if the maximum **pid** value supported by the system is **256**, this value range is \[1-256\]. - -## Example - -- Query the process list before killing process 42. - - ``` - OHOS:/$ ps - allCpu(%): 4.67 sys, 195.33 idle - PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName - 1 -1 1 0 Pending 0x33b000 0xbb000 0x4db02 0.0 init - 2 -1 2 0 Pending 0xdabc08 0 0xdabc08 1.14 KProcess - 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d24c2 0.0 foundation - 4 1 4 8 Pending 0x362000 0xbb000 0x5c6ff 0.0 bundle_daemon - 5 1 5 1 Pending 0xdfa000 0x2e7000 0x1484f0 0.0 appspawn - 6 1 6 0 Pending 0x688000 0x137000 0x11bca0 0.0 media_server - 7 1 7 0 Pending 0x9d2000 0x103000 0xa1cdf 0.88 wms_server - 8 1 8 2 Pending 0x1f5000 0x48000 0x47dc2 0.2 mksh - 12 1 12 0 Pending 0x4d4000 0x112000 0xe0882 0.0 deviceauth_service - 13 1 13 0 Pending 0x34f000 0xbd000 0x51799 0.0 sensor_service - 14 1 14 2 Pending 0x34e000 0xb3000 0x52184 0.0 ai_server - 15 1 15 0 Pending 0x61f000 0x13b000 0x168071 0.45 softbus_server - 42 8 42 2 Pending 0x1c1000 0x3a000 0x1106a 0.9 test_demo - 43 8 43 2 Running 0x1d7000 0x3a000 0x1e577 0.0 toybox - ``` - -- Send signal 9 \(the default action of **SIGKILL** is to immediately terminate the process\) to process 42 test\_demo \(a user-mode process\). Then, check the current process list. The commands **kill -s 9 42** and **kill -9 42** have the same effect. - - ``` - OHOS:/$ kill -s 9 42 - OHOS:/$ - [1] + Killed ./nfs/test_demo - OHOS:/$ ps - allCpu(%): 4.73 sys, 195.27 idle - PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName - 1 -1 1 0 Pending 0x33b000 0xbb000 0x4e01c 0.0 init - 2 -1 2 0 Pending 0xda5fa4 0 0xda5fa4 1.14 KProcess - 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d29dc 0.0 foundation - 4 1 4 8 Pending 0x362000 0xbb000 0x5cc19 0.0 bundle_daemon - 5 1 5 1 Pending 0xdfa000 0x2e7000 0x148a0a 0.0 appspawn - 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server - 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.89 wms_server - 8 1 8 2 Pending 0x1f5000 0x48000 0x482dc 0.2 mksh - 12 1 12 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service - 13 1 13 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service - 14 1 14 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server - 15 1 15 0 Pending 0x61f000 0x13b000 0x16858b 0.51 softbus_server - 45 8 45 2 Running 0x1d7000 0x3a000 0x1e9f5 0.0 toybox - ``` - -- Run the **kill -100 31** command. - -## Output - -**Example 1**: The signal is successfully sent to process 42. + +## Command Function + +This command is used to send a signal to a process to terminate the abnormal application. + + +## Syntax + +kill [-l [_signo_] | _-s signo_ | _-signo_] *pid...* + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------ | -------------------------- | ----------- | +| --help | Displays the parameters supported by the **kill** command.| N/A | +| -l | Lists the names and numbers of signals. | N/A | +| -s | Sends a signal. | N/A | +| signo | Specifies the signal number. | [1, 30] | +| pid | Specifies the process ID. | [1, MAX_INT] | + +> **NOTICE**
    +> The value range of **signo** is [0, 64]. The recommended value range is [1, 30], and other values in the value range are reserved. + + +## Usage Guidelines + +- The **signo** and **pid** parameters are mandatory. + +- The **pid** value range varies depending on the system configuration. For example, if the maximum **pid** value supported by the system is **256**, this value range is [1, 256]. + +## Note + +The **kill** command is not supported by the shell. mksh supports it. To switch to mksh, run **cd bin;** and **./mksh**. + +## Example + +- Query the process list before killing process 42. + + ``` + OHOS:/$ ps + allCpu(%): 4.67 sys, 195.33 idle + PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName + 1 -1 1 0 Pending 0x33b000 0xbb000 0x4db02 0.0 init + 2 -1 2 0 Pending 0xdabc08 0 0xdabc08 1.14 KProcess + 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d24c2 0.0 foundation + 4 1 4 8 Pending 0x362000 0xbb000 0x5c6ff 0.0 bundle_daemon + 5 1 5 1 Pending 0xdfa000 0x2e7000 0x1484f0 0.0 appspawn + 6 1 6 0 Pending 0x688000 0x137000 0x11bca0 0.0 media_server + 7 1 7 0 Pending 0x9d2000 0x103000 0xa1cdf 0.88 wms_server + 8 1 8 2 Pending 0x1f5000 0x48000 0x47dc2 0.2 mksh + 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206047 0.93 com.example.launcher + 12 1 12 0 Pending 0x4d4000 0x112000 0xe0882 0.0 deviceauth_service + 13 1 13 0 Pending 0x34f000 0xbd000 0x51799 0.0 sensor_service + 14 1 14 2 Pending 0x34e000 0xb3000 0x52184 0.0 ai_server + 15 1 15 0 Pending 0x61f000 0x13b000 0x168071 0.45 softbus_server + 42 8 42 2 Pending 0x1c1000 0x3a000 0x1106a 0.9 test_demo + 43 8 43 2 Running 0x1d7000 0x3a000 0x1e577 0.0 toybox + ``` + +- Send signal 9 (the default action of **SIGKILL** is to immediately terminate the process) to process 42 test_demo (a user-mode process). Then, check the current process list. The commands **kill -s 9 42** and **kill -9 42** have the same effect. + + ``` + OHOS:/$ kill -s 9 42 + OHOS:/$ + [1] + Killed ./nfs/test_demo + OHOS:/$ ps + allCpu(%): 4.73 sys, 195.27 idle + PID PPID PGID UID Status VirtualMem ShareMem PhysicalMem CPUUSE10s PName + 1 -1 1 0 Pending 0x33b000 0xbb000 0x4e01c 0.0 init + 2 -1 2 0 Pending 0xda5fa4 0 0xda5fa4 1.14 KProcess + 3 1 3 7 Pending 0x72e000 0x1a3000 0x1d29dc 0.0 foundation + 4 1 4 8 Pending 0x362000 0xbb000 0x5cc19 0.0 bundle_daemon + 5 1 5 1 Pending 0xdfa000 0x2e7000 0x148a0a 0.0 appspawn + 6 1 6 0 Pending 0x688000 0x137000 0x11c1ba 0.0 media_server + 7 1 7 0 Pending 0x9d2000 0x103000 0xa21f9 0.89 wms_server + 8 1 8 2 Pending 0x1f5000 0x48000 0x482dc 0.2 mksh + 10 5 5 101 Pending 0x11ec000 0x2f9000 0x206561 0.93 com.example.launcher + 12 1 12 0 Pending 0x4d4000 0x112000 0xe0d9c 0.0 deviceauth_service + 13 1 13 0 Pending 0x34f000 0xbd000 0x51cb3 0.0 sensor_service + 14 1 14 2 Pending 0x34e000 0xb3000 0x5269e 0.0 ai_server + 15 1 15 0 Pending 0x61f000 0x13b000 0x16858b 0.51 softbus_server + 45 8 45 2 Running 0x1d7000 0x3a000 0x1e9f5 0.0 toybox + ``` + +- Run the **kill -100 31** command. + + +## Output + +The command output is as follows: + +Example 1: The signal is successfully sent to process 42. + ``` OHOS:/$ kill -s 9 42 @@ -131,10 +107,10 @@ Process 42 is killed. **Example 2**: The signal fails to be sent to process 31. + ``` OHOS:/$ kill -100 31 kill: Unknown signal '(null)' ``` -**Unknown signal '\(null\)'** is displayed because the **signo** value **100** exceeds the value range \[0, 64\]. - +**Unknown signal '(null)'** is displayed because the **signo** value **100** exceeds the value range [0, 64]. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-log.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-log.md index 9809d169a3..21f7dd5276 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-log.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-log.md @@ -1,71 +1,62 @@ # log -## Command Function + +## Command Function This command is used to set and query log configuration. -## Syntax -log level \[_levelNum_\] +## Syntax + +log level [_levelNum_] + + -## Parameters +## Parameters -**Table 1** Parameter description +**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    levelNum

    -

    Specifies the level of logs to print.

    -

    [0,5]

    -
    +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| levelNum | Specifies the level of logs to print.| [0, 5] | -## Usage -- This command depends on **LOSCFG\_SHELL\_LK**. Before using this command, select **Enable Shell lk** on **menuconfig**. +## Usage Guidelines - **Debug** ---\> **Enable a Debug Version** ---\> **Enable Shell** ---\> **Enable Shell lK** +- This command can be used only after **LOSCFG_SHELL_LK** is enabled. Before using this command, set **Enable Shell lk** to **Yes** on **menuconfig**. + **Debug** ---> **Enable a Debug Version** ---> **Enable Shell** ---> **Enable Shell lK** -- The **log level** command is used to set the log level, which can be any of the following: +- The **log level** command sets the log level, which can be any of the following: + TRACE_EMG = 0, - TRACE\_EMG = 0, + TRACE_COMMON = 1, - TRACE\_COMMON = 1, + TRACE_ERROR = 2, - TRACE\_ERROR = 2, + TRACE_WARN = 3, - TRACE\_WARN = 3, + TRACE_INFO = 4, - TRACE\_INFO = 4, + TRACE_DEBUG = 5 - TRACE\_DEBUG = 5 + If the log level specified is not within the value range, a message will be displayed. - If the log level specified is not within the value range, a message will be displayed. +- If **[levelNum]** is not specified, this command displays the current log level and how to use it. -- If **\[levelNum\]** is not specified, this command queries the current log level. The usage method is also displayed. -- If the log level is set to **4** or **5** in the source code of the open-source small system, a large number of logs will be printed. +- If the log level is set to **4** or **5** in the source code of an OpenHarmony small system, a large number of logs will be printed. -## Example -Run **log level 3**. +## Example -## Output +Run **log level 3**. + + +## Output + +The log print level is set to WARN. -Setting the log print level to WARN: ``` OHOS # log level 3 Set current log level WARN ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-memcheck.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-memcheck.md index 673393acbf..62e0005ebe 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-memcheck.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-memcheck.md @@ -1,36 +1,45 @@ # memcheck -## Command Function + +## Command Function This command is used to check whether the dynamically allocated memory block is complete and whether nodes in the memory pool are damaged due to out-of-bounds memory access. -## Syntax + +## Syntax memcheck -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines -## Usage +- If all nodes in the memory pool are complete, "system memcheck over, all passed!" is displayed. -- If all nodes in the memory pool are complete, "system memcheck over, all passed!" is displayed. -- If a node in the memory pool is incomplete, information about the memory block of the corrupted node is displayed. +- If a node in the memory pool is incomplete, information about the memory block of the corrupted node is displayed. -## Example -Run **memcheck**. +## Example -## Output +Run **memcheck**. -Example 1: All nodes in the memory pool are complete. +Run **memcheck**, and memory overwriting occurs. + + +## Output + +Example 1: No error is detected. ``` OHOS # memcheck system memcheck over, all passed! ``` -Example 2: Out-of-bounds memory access is detected. +Example 2: Memory overwriting is detected. ``` [L0S DLnkCheckMenl 349, memory check @@ -43,7 +52,7 @@ puмExcBuffAddr pc = 0x803ad7a4 puwExcBuffAddr lr = 0x803ad7a4 puwExcBuffAddr sp = 0х80cb7de0 puwExcBuffAddr fp = 0x80cb7dec -*******backtrace begin******* +***backtrace begin*** traceback 0 -- lr = 0х8037cb84 traceback 0 -- fp = 0х80cb7e1c traceback 1 -- lr = 0х8037033c @@ -55,4 +64,3 @@ traceback 3 -- fp = 0х80cb7ea4 traceback 4 -- lr = 0x803ad9e8 traceback 4 -- fp = 9x11111111 ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-oom.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-oom.md index 9372b8ae18..e9b1c0e806 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-oom.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-oom.md @@ -1,82 +1,56 @@ # oom -## Command Function + +## Command Function This command is used to query and set the low memory threshold and the PageCache reclaim threshold. -## Syntax + +## Syntax oom -oom -i \[_interval_\] +oom -i [_interval_] -oom -m \[_mem byte_\] +oom -m [_mem byte_] -oom -r \[_mem byte_\] +oom -r [_mem byte_] oom -h | --help -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -i [interval]

    -

    Sets the interval (in ms) for checking the Out Of Memory (OOM) thread task.

    -

    100 to 10000

    -

    -m [mem byte]

    -

    Sets the low memory threshold (in MB).

    -

    0 (disables the low memory check) to 1

    -

    -r [mem byte]

    -

    Sets the PageCache reclaim threshold.

    -

    Ranging from the low memory threshold to the maximum available system memory

    -

    -h | --help

    -

    Displays help information.

    -

    N/A

    -
    - -## Usage - -If no parameter is specified, this command displays the current OOM configuration. - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->If the system memory is insufficient, the system displays a message indicating the insufficiency. - -## Example + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ----------------------- | ------------------------------- | ------------------------------------------------------------ | +| -i [interval] | Sets the interval (in ms) for checking the Out Of Memory (OOM) thread task.| [100, 10000] | +| -m [mem byte] | Sets the low memory threshold (in MB). | 0 to 1
    The value **0** means not to perform the low memory threshold check. | +| -r [mem byte] | Sets the PageCache reclaim threshold. | Low memory threshold to the maximum available memory of the system
    Generally, the size of a PageCache is 4 KB. Sometimes, it is 16 KB to 64 KB. | +| -h \| --help | Displays help information. | N/A | + + +## Usage Guidelines + + If no parameter is specified, this command displays the current OOM configuration. + +> **NOTE**
    +> If the system memory is insufficient, the system displays a message indicating the insufficiency. + + +## Example Run the following commands: -- oom -- oom -i 100 +- oom +- oom -i 100 + -## Output +## Output + +Example 1: The OOM configuration is displayed by default. -Example 1: displaying OOM configuration ``` OHOS:/$ oom @@ -88,6 +62,7 @@ OHOS:/$ oom Information displayed when the system memory is insufficient: + ``` T:20 Enter:IT MEM 00M 001 [oom] OS is in low memory state @@ -124,7 +99,7 @@ R10 = 0xa0a0a0a R11 = 0x20e20c8c R12 = 0Ñ…0 CPSR = 0Ñ…80000010 -*******backtrace beain******* +***backtrace beain*** traceback 0 -- lr = 0x9242e1c fp = 0Ñ…20e20cc4 lr in /usr/bin/testsuits apr 0x4be1c traceback 1 -- 1r = 0Ñ…92430cc fp = 0x20e20cdc lr in /usr/bin/testsuits app --> 0x4c0cc traceback 2 -- 1r = 0x9396ab0 fp = 0x20e20cec lr in /usr/bin/testsuits app -> 0Ñ…19fab0 @@ -133,49 +108,23 @@ traceback 4 -- lr = 0x92427d4 fp = 0x20e20d44 lr in /usr/bin/testsuits app --> 0 traceback 5 -- 1r = 0x20c4df50 fp = 0Ñ…b0b0b0b 1r in /1ib/libc.so - -> 0x62f50 ``` -Example 2: setting the OOM check interval to 100 ms + +Example 2: The OOM check interval is set to 100 ms. + + ``` OHOS:/$ oom -i 100 [oom] set oom check interval (100)ms successful ``` -**Table 2** Output - - - - - - - - - - - - - - - - - - - - - - -

    Output

    -

    Description

    -

    [oom] OS is in low memory state

    -

    total physical memory: 0x1bcf000(byte), used: 0x1b50000(byte), free: 0x7f000(byte), low memory threshold: 0x80000(byte)

    -

    The operating system has low memory.

    -

    The available physical memory in the operating system is 0x1bcf000 bytes, 0x1b50000 bytes have been used, and 0x7f000 bytes are available. The current low memory threshold is 0x80000 bytes.

    -

    [oom] candidate victim process init pid: 1, actual phy mem byte: 82602

    -

    Memory usage of each process. The physical memory occupied by the init process is 82602 bytes.

    -

    [oom] candidate victim process UserProcess12 pid: 12, actual phy mem byte: 25951558

    -

    The actual memory used by the UserProcess12 process is 25951558 bytes.

    -

    [oom] max phy mem used process UserProcess12 pid: 12, actual phy mem: 25951558

    -

    The process that uses the most memory currently is UserProcess12.

    -

    excFrom: User!

    -

    The system memory is low, and the UserProcess12 process fails to apply for memory and exits.

    -
    +**Table 2** Output description + +| Parameter | Description | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| [oom] OS is in low memory state
    total physical memory: 0x1bcf000(byte), used: 0x1b50000(byte), free: 0x7f000(byte), low memory threshold: 0x80000(byte) | The OS has low memory.
    The total physical memory is **0x1bcf000** bytes, **0x1b50000** bytes are used, and **0x7f000** bytes are left.
    The current lower memory threshold is **0x80000** bytes. | +| [oom] candidate victim process init pid: 1, actual phy mem byte: 82602 | The memory occupied by the **init** process is 82602 bytes. | +| [oom] candidate victim process UserProcess12 pid: 12, actual phy mem byte: 25951558 | The memory used by the **UserProcess12** process is **25951558** bytes. | +| [oom] max phy mem used process UserProcess12 pid: 12, actual phy mem: 25951558 | The process that uses the most memory currently is **UserProcess12**. | +| excFrom: User! | The system memory is low, and the **UserProcess12** process fails to apply for memory and exits. | diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-pmm.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-pmm.md index ffa823db63..18b86951a2 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-pmm.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-pmm.md @@ -1,26 +1,32 @@ # pmm -## Command Function + +## Command Function This command is used to check the usage of the physical pages of the system memory and the page cache. -## Syntax + +## Syntax pmm -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines + +This command is available only in the **Debug** version. -## Usage -This command is available only in the **Debug** version. +## Example -## Example +Run **pmm**. -Run **pmm**. -## Output +## Output Usage of physical pages: @@ -49,62 +55,17 @@ Vnode number = 67 Vnode memory size = 10720(B) ``` -**Table 1** Output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    phys_seg

    -

    Address of the physical page control block

    -

    base

    -

    First physical page address, that is, start address of the physical page memory

    -

    size

    -

    Size of the physical page memory

    -

    free_pages

    -

    Number of free physical pages

    -

    active anon

    -

    Number of active anonymous pages in the page cache

    -

    inactive anon

    -

    Number of inactive anonymous pages in the page cache

    -

    active file

    -

    Number of active file pages in the page cache

    -

    inactive file

    -

    Number of inactive file pages in the page cache

    -

    pmm pages

    -

    total: total number of physical pages.

    -

    used: number of used physical pages.

    -

    free: number of free physical pages.

    -
    +**Table 1** Output description + +| Parameter| Description| +| -------- | -------- | +| phys_seg | Address of the physical page control block.| +| base | First physical page address, that is, start address of the physical page memory.| +| size | Size of the physical page memory.| +| free_pages | Number of free physical pages.| +| active anon | Number of active anonymous pages in the page cache.| +| inactive anon | Number of inactive anonymous pages in the page cache.| +| active file | Number of active file pages in the page cache.| +| inactive file | Number of inactive file pages in the page cache.| +| pmm pages | **total** indicates the total number of physical pages.
    **used** indicates the number of used physical pages.
    **free** indicates the number of idle physical pages. | diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md index 000cc3873b..1946b80351 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-reboot.md @@ -1,26 +1,31 @@ # reboot -## Command Function + +## Command Function This command is used to restart a device. -## Syntax + +## Syntax reboot -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines -## Usage +After the **reboot** command is executed, the device restarts immediately. -After the **reboot** command is executed, the device restarts immediately. -## Example +## Example reboot -## Output -None +## Output +None. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md index 7fca8b04a7..d8e9151e3b 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-reset.md @@ -1,26 +1,31 @@ # reset -## Command Function + +## Command Function This command is used to restart a device. -## Syntax + +## Syntax reset -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines -## Usage +After the **reset** command is executed, the device restarts immediately. -After the **reset** command is executed, the device restarts immediately. -## Example +## Example -Run **reset**. +Run **reset**. -## Output -None +## Output +None. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-sem.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-sem.md index 61e9c5cce3..b079f1880a 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-sem.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-sem.md @@ -1,58 +1,44 @@ # sem -## Command Function + +## Command Function This command is used to query information about kernel semaphores. -## Syntax -sem \[_ID__ / fulldata_\] +## Syntax + +sem [_ID__ / fulldata_] + + +## Parameters + +**Table 1** Parameter description -## Parameters +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| ID | Specifies the semaphore ID.| [0, 1023] or [0x0, 0x3FF]| +| fulldata | Displays information about all semaphores in use.
    The displayed information includes **SemID**, **Count**, **Original Count**, **Creator TaskEntry**, and **Last Access Time**. | N/A | -**Table 1** Parameter description - - - - - - - - - - - - - - - -

    Parameter

    -

    Parameters

    -

    Value Range

    -

    ID

    -

    Specifies the semaphore ID.

    -

    [0, 1023] or [0x0, 0x3FF]

    -

    fulldata

    -

    Queries information about all the semaphores in use. The information includes SemID, Count, OriginalCount, Creator(TaskEntry), and LastAccessTime.

    -

    N/A

    -
    +## Usage Guidelines -## Usage +- If no parameter is specified, this command displays the semaphore IDs and the number of times that each semaphore is used. -- If no parameter is specified, this command displays the semaphore IDs and the number of times that each semaphore is used. -- If **ID** is specified, the use of the specified semaphore is displayed. -- The **fulldata** parameter depends on **LOSCFG\_DEBUG\_SEMAPHORE**. Before using this parameter, select **Enable Semaphore Debugging** on **menuconfig**. +- If **ID** is specified, the use of the specified semaphore is displayed. - Debug ---\> Enable a Debug Version ---\> Enable Debug LiteOS Kernel Resource ---\> Enable Semaphore Debugging +- The **fulldata** parameter depends on **LOSCFG_DEBUG_SEMAPHORE**. Before using this parameter, set **Enable Semaphore Debugging** to **Yes** on **menuconfig**. + **Debug** ---> **Enable a Debug Version** ---> **Enable Debug LiteOS Kernel Resource** ---> E**nable Semaphore Debugging** -## Example +## Example -- Run **sem**. -- Configure **LOSCFG\_DEBUG\_SEMAPHORE** and run **sem fulldata**. +- Run **sem**. -## Output +- Configure **LOSCFG_DEBUG_SEMAPHORE** and run **sem fulldata**. + + +## Output Example 1: brief semaphore information @@ -81,31 +67,17 @@ OHOS # sem 0x00000006 0 ``` -**Table 2** Output - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    SemID

    -

    Semaphore ID

    -

    Count

    -

    Number of times that the semaphore is used

    -
    - ->![](../public_sys-resources/icon-note.gif) **NOTE** ->The **ID** value can be in decimal or hexadecimal format. ->When **ID** is a value within \[0, 1023\], semaphore information of the specified ID is displayed. If the specified semaphore is not used, a message is displayed to inform you of this case. For other values, a message is displayed indicating that the parameter is incorrect. +**Table 2** Output description + +| Parameter| Description| +| -------- | -------- | +| SemID | Semaphore ID.| +| Count | Number of times that the semaphore is used.| + +> **NOTE**
    +> The **ID** value can be in decimal or hexadecimal format. +> +> When **ID** is a value within [0, 1023], semaphore information of the specified ID is displayed. If the specified semaphore is not used, a message is displayed to inform you of this case. For other values, a message is displayed indicating that the parameter is incorrect. Example 2: detailed semaphore information @@ -141,40 +113,12 @@ Used Semaphore List: 0x38 0x1 0x1 0x404978fc 0x395 ``` -**Table 3** Output description - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    SemID

    -

    Semaphore ID

    -

    Count

    -

    Number of times that the semaphore is used

    -

    OriginalCount

    -

    Original count of the semaphore

    -

    Creator

    -

    Address of the entry function of the thread used to create the semaphore

    -

    LastAccessTime

    -

    Last time when the semaphore was accessed

    -
    +**Table 3** Output description +| Parameter| Description| +| -------- | -------- | +| SemID | Semaphore ID.| +| Count | Number of times that the semaphore is used.| +| OriginalCount | Original count of the semaphore.| +| Creator | Address of the entry function of the thread used to create the semaphore.| +| LastAccessTime | Last time when the semaphore was accessed.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-stack.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-stack.md index da1aad64ea..9f04a4e979 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-stack.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-stack.md @@ -1,27 +1,32 @@ # stack -## Command Function +## Command Function This command is used to check the usage of each stack in the system. -## Syntax + +## Syntax stack -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines + +None. -## Usage -None +## Example -## Example +Run **stack**. -Run **stack**. -## Output +## Output System stack usage: @@ -35,40 +40,12 @@ OHOS # stack exc_stack 0 0x405c9000 0x1000 0x0 ``` -**Table 1** Output - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    stack name

    -

    Name of the stack

    -

    cpu id

    -

    CPU ID

    -

    stack addr

    -

    Stack address

    -

    total size

    -

    Total stack size

    -

    used size

    -

    Size of the stack used

    -
    +**Table 1** Output description +| Parameter| Description| +| -------- | -------- | +| stack name | Name of the stack.| +| cpu id | CPU number.| +| stack addr | Stack address.| +| total size | Total stack size.| +| used size | Size of the stack used.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-su.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-su.md index 7e23b3b60d..479daa7ece 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-su.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-su.md @@ -1,56 +1,43 @@ # su -## Command Function + +## Command Function This command is used to switch the user account. -## Syntax -su \[_uid_\] \[_gid_\] +## Syntax + +su [_uid_] [_gid_] + + +## Parameters + +**Table 1** Parameter description -## Parameters +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| uid | Specifies the ID of the target user.| - Left blank
    - [0, 60000] | +| gid | Specifies the ID of the target user group.| - Left blank
    - [0, 60000] | -**Table 1** Parameter description - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    uid

    -

    Specifies the ID of the target user.

    -
    • Left blank
    • [0,60000]
    -

    gid

    -

    Specifies the ID of the target user group.

    -
    • Left blank
    • [0,60000]
    -
    +## Usage Guidelines -## Usage +- If no parameter is specified, the **su** command switches to user **root** by default. The **uid** and **gid** for user **root** are both **0**. -- If no parameter is specified, the **su** command switches to user **root** by default. The **uid** and **gid** for user **root** are both **0**. -- If **uid** and **gid** are specified, this command allows commands to be executed as the user with the specified **uid** and **gid**. -- If the input parameter is out of the range, an error message will be printed. +- If **uid** and **gid** are specified, this command allows commands to be executed as the user with the specified **uid** and **gid**. -## Example +- If the input parameter is out of the range, an error message will be printed. -Run **su 1000 1000**. -## Output +## Example -Switching to the user with both **uid** and **gid** of **1000**: +Run **su 1000 1000**. + + +## Output + +The user with both **uid** and **gid** of **1000** is switched. ``` OHOS # ls @@ -63,4 +50,3 @@ Directory /data/system/param: -rw-r--r-- O u:1000 g:1000 hello 2.txt -гw-r--r-- 0 u:0 g:0 hello_1.txt ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-swtmr.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-swtmr.md index a764d66fc8..b436a80e49 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-swtmr.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-swtmr.md @@ -1,50 +1,42 @@ # swtmr -## Command Function +## Command Function This command is used to query information about system software timers. -## Syntax -swtmr \[_ID_\] +## Syntax -## Parameters +swtmr [_ID_] -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    ID

    -

    Specifies the ID of a software timer.

    -

    [0,0xFFFFFFFF]

    -
    +## Parameters -## Usage +**Table 1** Parameter description -- If no parameter is specified, information about all software timers is displayed. -- If the **ID** parameter is specified, information about the specified software timer is displayed. +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| ID | Specifies the ID of a software timer.| [0, 0xFFFFFFFF] | -## Example + +## Usage Guidelines + +- If no parameter is specified, information about all software timers is displayed. + +- If the **ID** parameter is specified, information about the specified software timer is displayed. + + +## Example Run the following commands: -- swtmr -- swtmr 1 +- swtmr + +- swtmr 1 -## Output + +## Output Example 1: information about all software timers @@ -76,56 +68,19 @@ SwTmrID State Mode Interval Count Arg handlerAddr 0x00000001 Ticking Period 1000 841 0x00000000 0x4037fc04 ``` -**Table 2** Output - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    SwTmrID

    -

    ID of the software timer

    -

    State

    -

    Status of the software timer

    -

    The value can be UnUsed, Created, or Ticking.

    -

    Mode

    -

    Mode of the software timer

    -

    The value can be Once, Period, or NSD (one-shot timer that will not be automatically deleted after the timer has expired).

    -

    Interval

    -

    Number of ticks for the software timer

    -

    Count

    -

    Number of times that the software timer has been used

    -

    Arg

    -

    Input parameter

    -

    handlerAddr

    -

    Address of the callback

    -
    - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->- The **ID** value can be in decimal or hexadecimal format. ->- If the **ID** value is within the range of \[0, _Number of current software timers - 1_\], the status of the specified software timer is returned. For other values, an error message is displayed. - + **Table 2** Output description + +| Parameter| Description| +| -------- | -------- | +| SwTmrID | ID of the software timer.| +| State | Status of the software timer.
    The status may be **UnUsed**, **Created**, or **Ticking**.| +| Mode | Mode of the software timer.
    The value can be **Once**, **Period**, or **NSD** (one-shot timer that will not be automatically deleted after the timer has expired).| +| Interval | Number of ticks for the software timer.| +| Count | Number of times that the software timer has been used.| +| Arg | Input parameter.| +| handlerAddr | Address of the callback.| + +> **NOTE**
    +> - The **ID** value can be in decimal or hexadecimal format. +> +> - If the **ID** value is within the range of [0, *Number of current software timers - 1*], the status of the specified software timer is returned. Otherwise, an error code is returned. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-sysinfo.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-sysinfo.md index c1a81444f8..b476c06d33 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-sysinfo.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-sysinfo.md @@ -1,26 +1,32 @@ # systeminfo -## Command Function + +## Command Function This command is used to display the resource usage of the current operating system, including tasks, semaphores, mutexes, queues, and software timers. -## Syntax + +## Syntax systeminfo -## Parameters -None +## Parameters + +None. + -## Usage +## Usage Guidelines -None +None. -## Example -Run **systeminfo**. +## Example -## Output +Run **systeminfo**. + + +## Output Usage of system resources: @@ -34,60 +40,15 @@ OHOS:/$ systeminfo SwTmr 20 1024 YES ``` -**Table 1** Output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Module

    -

    Module name

    -

    Used

    -

    Used resources

    -

    Total

    -

    Total resources

    -

    Enabled

    -

    Whether the module is enabled

    -

    Task

    -

    Task

    -

    Sem

    -

    Semaphore

    -

    Mutex

    -

    Mutex

    -

    Queue

    -

    Message queue

    -

    SwTmr

    -

    Software timer

    -
    - +**Table 1** Output description + +| Parameter | Description | +| ------- | -------------- | +| Module | Module name. | +| Used | Used resources. | +| Total | Total resources. | +| Enabled | Whether the module is enabled.| +| Task | Task. | +| Sem | Semaphore. | +| Queue | Using queues. | +| SwTmr | Software timer. | diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-task.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-task.md index 2510d417cc..704943bc02 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-task.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-task.md @@ -1,47 +1,38 @@ # task -## Command Function + +## Command Function This command is used to query information about processes and threads. -## Syntax + +## Syntax task/task -a -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -a

    -

    Displays all information.

    -

    N/A

    -
    - -## Usage + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| -a | Displays all information.| N/A | + + +## Usage Guidelines If no parameter is specified, partial task information is displayed by default. -## Example -Run **task**. +## Example + +Run **task**. -## Output -Task information \(partial\): +## Output + +Task information (partial): ``` OHOS # task @@ -55,6 +46,7 @@ OHOS # task 6 1 6 0 Pending 0x688000 0x137000 0x11c518 0.0 media_server 7 1 7 0 Pending 0x9d2000 0x103000 0xa1ddf 0.89 wms_server 8 1 1 1000 Running 0x2bf000 0x8f000 0x2a8c6 0.0 shell + 9 5 5 101 Pending 0x11ea000 0x2f9000 0x20429d 0.97 com.example.launcher 11 1 11 0 Pending 0x4d4000 0x112000 0xe0ad7 0.0 deviceauth_service 12 1 12 0 Pending 0x34f000 0xbd000 0x519ee 0.0 sensor_service 13 1 13 2 Pending 0x34e000 0xb3000 0x523d9 0.0 ai_server @@ -68,75 +60,19 @@ OHOS # task 7 2 0x3 -1 Pending 0x4e20 0xa5c 0.0 0 PlatformWorkerThread ``` -**Table 2** Output - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    PID

    -

    Process ID

    -

    PPID

    -

    Parent process ID

    -

    PGID

    -

    Process group ID

    -

    UID

    -

    User ID

    -

    Status

    -

    Current task status

    -

    CPUUSE10s

    -

    CPU usage within last 10 seconds

    -

    PName

    -

    Process name

    -

    TID

    -

    Task ID

    -

    StackSize

    -

    Size of the task stack

    -

    WaterLine

    -

    Peak value of the stack used

    -

    MEMUSE

    -

    Memory usage

    -

    TaskName

    -

    Task name

    -
    - +**Table 2** Output description + +| Parameter| Description| +| -------- | -------- | +| PID | Process ID.| +| PPID | Parent process ID.| +| PGID | Process group ID.| +| UID | User ID.| +| Status | Current task status.| +| CPUUSE10s | CPU usage within last 10 seconds.| +| PName | Name of the process.| +| TID | Task ID.| +| StackSize | Size of the task stack.| +| WaterLine | Peak value of the stack used.| +| MEMUSE | Memory usage.| +| TaskName | Task name.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-top.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-top.md index 4fa4959b1b..34473f90c3 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-top.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-top.md @@ -1,56 +1,40 @@ # top -## Command Function + +## Command Function This command is used to query process and thread information. -## Syntax - -top \[_-a_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Default Value

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the top command.

    -

    N/A

    -
      

    -a

    -

    Displays detailed information.

    -

    N/A

    -
      
    - -## Usage - -If no parameter is specified, this command displays process and thread information of some tasks by default. - -## Example - -Run **top**. - -## Output + +## Syntax + +top [_-a_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | +| ------ | --------------------------- | +| --help | Displays the parameters supported by the **top** command.| +| -a | Displays detailed information. | + + +## Usage Guidelines + +If no parameter is specified, partial task information is displayed by default. + +## Note + +Currently, the shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example + +Run **top**. + + +## Output Command output @@ -97,75 +81,19 @@ OHOS:/$ top 64 2 0x3 -1 Pending 0x4000 0x244 0.0 0 USB_NGIAN_BULK_TasK ``` -**Table 2** Output description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    PID

    -

    Process ID

    -

    PPID

    -

    Parent process ID

    -

    PGID

    -

    Process group ID

    -

    UID

    -

    User ID

    -

    Status

    -

    Current task status

    -

    CPUUSE10s

    -

    CPU usage within last 10 seconds

    -

    PName

    -

    Process name

    -

    TID

    -

    Task ID

    -

    StackSize

    -

    Size of the task stack

    -

    WaterLine

    -

    Peak value of the stack used

    -

    MEMUSE

    -

    Memory usage

    -

    TaskName

    -

    Task name

    -
    - +**Table 2** Output description + +| Parameter | Description | +| --------- | ----------------- | +| PID | Process ID. | +| PPID | Parent process ID. | +| PGID | Process group ID. | +| UID | User ID. | +| Status | Current task status. | +| CPUUSE10s | CPU usage within last 10 seconds.| +| PName | Name of the process. | +| TID | Task ID. | +| StackSize | Size of the task stack. | +| WaterLine | Peak value of the stack used. | +| MEMUSE | Memory usage. | +| TaskName | Task name. | diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md index 525cb31fef..ab22f6a1c5 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-uname.md @@ -1,84 +1,56 @@ # uname -## Command Function + +## Command Function This command is used to display the name, version creation time, system name, and version information of the current operating system. -## Syntax - -uname \[_-a | -s | -r | -m | -n | -v | --help_\] - -**Table 1** Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Parameters

    -

    --help

    -

    Displays help information.

    -

    No parameter

    -

    Displays the operating system name by default.

    -

    -a

    -

    Displays all information.

    -

    -s

    -

    Displays the operating system name.

    -

    -r

    -

    Displays the kernel release version.

    -

    -m

    -

    Displays the operating system architecture name.

    -

    -n

    -

    Displays the network domain name of the host.

    -

    -v

    -

    Displays version information.

    -
    - -## Usage - -- The **uname** command displays the name of the current operating system by default. -- Except **--help** and **-a**, other parameters can be used together. **uname -a** is equivalent to **uname -srmnv**. - -## Example + +## Syntax + +uname [_-a | -s | -r | -m | -n | -v | --help_] + + +**Table 1** Parameter description + +| Parameter | Description | +| ------ | ----------------------- | +| --help | Displays help information.| +| No parameter| Displays the operating system name by default. | +| -a | Displays all data. | +| -s | Displays the operating system name. | +| -r | Displays the kernel release version. | +| -m | Displays the operating system architecture name. | +| -n | Displays the network domain name of the host. | +| -v | Displays version information. | + + +## Usage Guidelines + +- The **uname** command displays the name of the current operating system by default. + +- Except **--help** and **-a**, other parameters can be used together. **uname -a** is equivalent to **uname -srmnv**. + +## Note + +The **-r**, **-m**, and **-n** parameters are not supported currently. mksh supports these parameters. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- uname -a -- uname -ms +- uname -a + +- uname -ms -## Output + +## Output Example 1: all information of the operating system ``` OHOS:/$ uname -a -LiteOS hisilicon 2.0.x.x Huawei LiteOS 2.0.x.x Oct 21 2021 17:39:32 Cortex-A7 +LiteOS hisilicon 2.0.0.37 LiteOS 2.0.0.37 Oct 21 2021 17:39:32 Cortex-A7 OHOS:/$ ``` @@ -89,4 +61,3 @@ OHOS:/$ uname -ms LiteOS Cortex-A7 OHOS:/$ ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-vmm.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-vmm.md index cce14dd6bb..860a23db1d 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-vmm.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-vmm.md @@ -1,60 +1,40 @@ # vmm -## Command Function + +## Command Function This command is used to query the virtual memory used by a process. -## Syntax - -- vmm \[_-a / -h / --help_\] -- vmm \[_pid_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -a

    -

    Displays the virtual memory usage of all processes.

    -

    N/A

    -

    -h | --help

    -

    Displays help information.

    -

    N/A

    -

    pid

    -

    Specifies the ID of the process to query.

    -

    [0,63]

    -
    - -## Usage + +## Syntax + +- vmm [_-a / -h / --help_] + +- vmm [_pid_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| -a | Displays the virtual memory usage of all processes.| N/A | +| -h \| --help | Displays help information.| N/A | +| pid | Specifies the ID of the process to query.| [0, 63] | + + +## Usage Guidelines By default, this command displays the virtual memory usage of all processes. -## Example -Run **vmm 3**. +## Example -## Output +Run **vmm 3**. + + +## Output Virtual memory usage of process 3: @@ -82,92 +62,25 @@ OHOS # vmm 3 0x408c3ce0 /lib/libc++.so 0x23cb0000 0x00001000 CH US RD WR 1 1 ``` -**Table 2** Basic process information - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    PID

    -

    Process ID

    -

    aspace

    -

    Address of the virtual memory control block

    -

    name

    -

    Process name

    -

    base

    -

    Start address of the virtual memory

    -

    size

    -

    Size of virtual memory

    -

    pages

    -

    Number of used physical pages

    -
    - -**Table 3** Virtual memory region information - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    region

    -

    Address of the control block in the virtual memory region

    -

    name

    -

    Name of the virtual memory region

    -

    base

    -

    Start address of the virtual memory region

    -

    size

    -

    Size of the virtual memory region

    -

    mmu_flags

    -

    MMU mapping attribute of the virtual memory region

    -

    pages

    -

    Number of used physical pages, including that of the shared memory

    -

    pg/ref

    -

    Number of used physical pages

    -
    - +**Table 2** Basic process information + +| Parameter| Description| +| -------- | -------- | +| PID | Process ID.| +| aspace | Address of the virtual memory control block.| +| name | Process name.| +| base | Start address of the virtual memory.| +| size | Total Virtual Memory.| +| pages | Number of used physical pages.| + +**Table 3** Virtual memory interval information + +| Parameter| Description| +| -------- | -------- | +| region | Address of the control block in the virtual memory region.| +| name | Name of the virtual memory region.| +| base | Start address of the virtual memory region.| +| size | Size of the virtual memory region.| +| mmu_flags | MMU mapping attribute of the virtual memory region.| +| pages | Number of used physical pages, including that of the shared memory.| +| pg/ref | Number of used physical pages.| diff --git a/en/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md b/en/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md index 343634d384..9282a3edb4 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-cmd-watch.md @@ -1,88 +1,44 @@ # watch -## Command Function + +## Command Function This command is used to periodically run the specified command and display its execution result. -## Syntax - -- watch -- watch \[_-c/-n/-t/--count/--interval/-no-title/--over_\] \[_command_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Default Value

    -

    Value Range

    -

    -c / --count

    -

    Specifies the number of times that the specified command is executed.

    -

    0xFFFFFF

    -

    (0, 0xFFFFFF]

    -

    -n / --interval

    -

    Specifies the interval (in seconds) for periodically running the specified command.

    -

    1s

    -

    (0, 0xFFFFFF]

    -

    -t / -no-title

    -

    Disables time display on the top.

    -

    N/A

    -

    N/A

    -

    command

    -

    Specifies the command to be monitored.

    -

    N/A

    -

    N/A

    -

    --over

    -

    Stops the current command monitoring.

    -

    N/A

    -

    N/A

    -
    - -## Usage - -You can run the **watch --over** command to stop monitoring of the specified command. - -## Example - -Run **watch -n 2 -c 6 task**. - -## Output - -Example: The **task** command is executed six times at an interval of 2 seconds. + +## Syntax + +- watch + +- watch [_-c/-n/-t/--count/--interval/-no-title/--over_] [_command_] + + +## Parameters + + **Table 1** Parameter description + +| Parameter| Description| Default Value| Value Range| +| -------- | -------- | -------- | -------- | +| -c / --count | Specifies the number of times that the specified command is executed.| 0xFFFFFF | (0, 0xFFFFFF]| +| -n / --interval | Specifies the interval for running the command, in seconds.| 1s | (0, 0xFFFFFF]| +| -t / -no-title | Disables time display on the top.| N/A | N/A | +| command | Specifies the command to be monitored.| N/A | N/A | +| --over | Stops the current command monitoring.| N/A | N/A | + + +## Usage Guidelines + +You can run the **watch --over** command to stop monitoring of the specified command. + + +## Example + +Run **watch -n 2 -c 6 task**. + + +## Output + +Example: The **task** command is executed six times at an interval of 2 seconds. ``` OHOS # watch -n 2 -c 6 task @@ -121,4 +77,3 @@ OHOS # 17 2 0x3 0 Running 0x3000 0x73c 0.0 0 shellcmd_watch 18 2 0x3 -1 Pending 0x2710 0x3ac 0.0 0 GPIO_IRQ_TSK_0_4 ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-cat.md b/en/device-dev/kernel/kernel-small-debug-shell-file-cat.md index 7a4fd54cce..d11c33deb1 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-cat.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-cat.md @@ -1,50 +1,41 @@ # cat -## Command Function + + +## Command Function This command is used to display the content of a text file. -## Syntax -cat \[_pathname_\] +## Syntax + +cat [_pathname_] + -## Parameters +## Parameters -**Table 1** Parameter description +**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    pathname

    -

    Specifies the file path.

    -

    An existing file

    -
    +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| pathname | Specifies the file path. | An existing file | -## Usage -Run the **cat** \[_pathname_\] command to display the content of a text file. +## Usage Guidelines -## Example +Run the **cat** [*pathname*] command to display the content of a text file. -Run **cat hello-harmony.txt**. -## Output +## Example -Content of **hello-harmony.txt** +Run **cat hello-openharmony.txt**. + + +## Output + +Content of **hello-openharmony.txt** ``` -OHOS # cat hello-harmony.txt -OHOS # Hello Harmony ;) +OHOS # cat hello-openharmony.txt +OHOS # Hello openharmony ;) ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-cd.md b/en/device-dev/kernel/kernel-small-debug-shell-file-cd.md index 187e454a2a..5318eeb638 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-cd.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-cd.md @@ -1,51 +1,46 @@ # cd -## Command Function +## Command Function This command is used to change the current working directory. -## Syntax -cd \[_path_\] +## Syntax -## Parameters +cd [_path_] -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    path

    -

    Specifies the target file path.

    -

    You must have the execution (search) permission for the specified directory.

    -
    +## Parameters -## Usage +**Table 1** Parameter description -- If **path** is not specified, this command switches to the root directory. -- If **path** is specified, this command switches to the specified directory. -- The **path** value starting with a slash \(/\) represents the root directory. -- The **path** value starting with a dot \(.\) represents the current directory. -- The **path** value starting with two dots \(..\) represents the parent directory. -- You can run **cd -** to alternate between two directories that are recently accessed. +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| path | Specifies the path of the new directory. | You must have the execution (search) permission on the specified directory.| -## Example -Run **cd ..**. +## Usage Guidelines -## Output +- If **path** is not specified, this command switches to the root directory. + +- If **path** is specified, this command switches to the specified directory. + +- The **path** value starting with a slash (/) represents the root directory. + +- The **path** value starting with a dot (.) represents the current directory. + +- The **path** value starting with two dots (..) represents the parent directory. + +- You can run **cd -** to alternate between two directories that are recently accessed. + + +## Example + +Run **cd ..**. + + +## Output Parent directory information: @@ -55,4 +50,3 @@ OHOS:/$ ls bin etc nfs sdcard system tmp vendor dev lib proc storage test usr ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md b/en/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md index af1df33554..9163aaa988 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-chgrp.md @@ -1,55 +1,43 @@ # chgrp -## Command Function + +## Command Function This command is used to change the file group. -## Syntax -chgrp \[_group_\] \[_pathname_\] +## Syntax + +chgrp [_group_] [_pathname_] + + +## Parameters -## Parameters +**Table 1** Parameter description -**Table 1** Parameter description +| Parameter | Description | Value Range | +| -------- | ---------- | -------------- | +| group | Specifies the target file group.| [0, 0xFFFFFFFF] | +| pathname | Specifies the file path. | An existing file | - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    group

    -

    Specifies the target file group.

    -

    [0, 0xFFFFFFFF]

    -

    pathname

    -

    Specifies the file path.

    -

    An existing file

    -
    -## Usage +## Usage Guidelines -- Specify **group** to change the file group. -- For the FAT file system, this command cannot be used to change user group IDs. +- Specify **group** to change the file group. +- For the FAT file system, this command cannot be used to change user group IDs. -## Example +## Note -Run **chgrp 100 testfile**. +Currently, the shell does not support this command. -## Output +## Example -Changing the group ID of the **testfile** file in the **dev/** directory to **100** +Run **chgrp 100 testfile**. + + +## Output + +Change the group ID of the **testfile** file in the **dev/** directory to **100**. ``` OHOS:/dev$ ll testfile @@ -59,4 +47,3 @@ OHOS:/dev$ ll testfile -rw-r--r-- 0 0 100 0 1970-01-01 00:00 testfile OHOS:/dev$ ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-chmod.md b/en/device-dev/kernel/kernel-small-debug-shell-file-chmod.md index 2001318745..6220230d65 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-chmod.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-chmod.md @@ -1,62 +1,50 @@ # chmod -## Command Function + +## Command Function This command is used to change file operation permissions. -## Syntax -chmod \[_mode_\] \[_filename_\] +## Syntax + +chmod [_mode_] [_filename_] + + +## Parameters + +**Table 1** Parameter description -## Parameter Description +| Parameter | Description | Value Range | +| -------- | ------------------------------------------------------------ | -------------- | +| mode | Specifies the permissions for a file or directory. The value is an octal number, representing the permission of **User** (owner), **Group** (group), or **Others** (other groups).| [0, 777] | +| filename | Specifies the file path. | An existing file | -**Table 1** Parameters - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    mode

    -

    Specifies the permissions for a file or directory. The value is an octal number, representing the permission of User (owner), Group (group), or Others (other groups).

    -

    [0,777]

    -

    filename

    -

    Specifies the file name.

    -

    An existing file

    -
    +## Usage Guidelines -## Usage +- Specify **mode** to change file permissions. -- Specify **mode** to change file permissions. -- For the files created on the FAT file system, the file permission attributes are the same as those of the mounted nodes. Currently, the node permissions include only user read and write. The **group** and **others** permissions do not take effect. In addition, only the user read and write permissions can be modified. The read and write permissions are **rw** and **ro** only. There is no such restriction for other file systems. +- For the files created on the FAT file system, the file permission attributes are the same as those of the mounted nodes. Currently, the node permissions include only user read and write. The **group** and **others** permissions do not take effect. In addition, only the user read and write permissions can be modified. The read and write permissions are **rw** and **ro** only. There is no such restriction for other file systems. -## Example +## Note -Change the permissions on the **hello-harmony.txt** file to **644** and **777**. +Currently, the shell does not support this command. -## Output +## Example -Modifying the permissions on the **hello-harmony.txt** file in the **/dev** directory: +Change the permissions on the **hello-openharmony.txt** file to **644** and **777**. + + +## Output + +Modify the permissions on the **hello-openharmony.txt** file in the **/dev** directory. ``` -OHOS:/dev$ chmod 644 hello-harmony.txt -OHOS:/dev$ ll hello-harmony.txt --rw-r--r-- 0 0 0 0 1970-01-01 00:00 hello-harmony.txt -OHOS:/dev$ chmod 777 hello-harmony.txt -OHOS:/dev$ ll hello-harmony.txt --rwxrwxrwx 0 0 0 0 1970-01-01 00:00 hello-harmony.txt +OHOS:/dev$ chmod 644 hello-openharmony.txt +OHOS:/dev$ ll hello-openharmony.txt +-rw-r--r-- 0 0 0 0 1970-01-01 00:00 hello-openharmony.txt +OHOS:/dev$ chmod 777 hello-openharmony.txt +OHOS:/dev$ ll hello-openharmony.txt +-rwxrwxrwx 0 0 0 0 1970-01-01 00:00 hello-openharmony.txt ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-chown.md b/en/device-dev/kernel/kernel-small-debug-shell-file-chown.md index 3a4006df87..fdc738d7ea 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-chown.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-chown.md @@ -1,54 +1,42 @@ # chown -## Command Function + +## Command Function This command is used to change the owner of a file. -## Syntax - -chown \[_owner_\] \[_pathname_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    owner

    -

    Specifies the file owner.

    -

    [0,0xFFFFFFFF]

    -

    pathname

    -

    Specifies the file path.

    -

    An existing file

    -
    - -## Usage + +## Syntax + +chown [_owner_] [_pathname_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| -------- | ------------ | -------------- | +| owner | Specifies the file owner. | [0, 0xFFFFFFFF] | +| pathname | Specifies the file path. | An existing file | + + +## Usage Guidelines This command does not apply to the FAT file system. -## Example +## Note + +Currently, the shell does not support this command. -Run **chown 100 testfile**. +## Example -## Output +Run **chown 100 testfile**. -Changing the UID of the **testfile** file in **/dev** to **100**: + +## Output + +Change the UID of the **testfile** file in **/dev** to **100**. ``` OHOS:/dev$ touch testfile @@ -58,4 +46,3 @@ OHOS:/dev$ chown 100 testfile OHOS:/dev$ ll testfile -rw-r--r-- 0 100 100 0 1970-01-01 00:00 testfile ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-cp.md b/en/device-dev/kernel/kernel-small-debug-shell-file-cp.md index b191a7fb52..c484883580 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-cp.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-cp.md @@ -1,80 +1,63 @@ # cp -## Command Function + +## Command Function This command is used to create a copy for a file. -## Syntax - -cp \[_SOURCEFILE_\] \[_DESTFILE_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays help information.

    -

    N/A

    -

    SOURCEFILE

    -

    Specifies the path of the source file.

    -

    This command does not support copy of a directory, but supports copy of multiple files at a time.

    -

    DESTFILE

    -

    Specifies the destination file path.

    -

    Both a directory and a file are supported.

    -
    - -## Usage - -- The name of the source file cannot be the same as that of the destination file in the same path. -- **SOURCEFILE** must exist and cannot be a directory. -- **SOURCEFILE** supports wildcard characters \* and ?. The asterisk \(\*\) indicates any number of characters, and the question mark \(?\) represents a single character. **DESTFILE** does not support wildcard characters. If **SOURCEFILE** specifies multiple files, **DESTFILE** must be a directory. -- If **DESTFILE** specifies a directory, this directory must exist. In this case, the destination file is named after the source file. -- If **DESTFILE** specifies a file, the directory for this file must exist. In this case, the file copy is renamed. -- If the destination file does not exist, a new file is created. If the destination file already exists, the existing file is overwritten. - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->When important system resources are copied, unexpected results such as a system breakdown may occur. For example, when the **/dev/uartdev-1** file is copied, the system may stop responding. - -## Example - -Run **cp hello-OHOS.txt hello-harmony.txt ./tmp/**. - -## Output - -Copying **hello-OHOS.txt** and **hello-harmony.txt** to **/tmp/**: + +## Syntax + +cp [_SOURCEFILE_] [_DESTFILE_] + + +## Parameters + + **Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| --help | Displays help information.| N/A | +| SOURCEFILE | Specifies the file to copy.| This command does not support copy of a directory, but supports copy of multiple files at a time.| +| DESTFILE | Specifies the file to create.| Both a directory and a file are supported.| + + +## Usage Guidelines + +- The name of the source file cannot be the same as that of the destination file in the same path. + +- **SOURCEFILE** must exist and cannot be a directory. + +- The source file path supports asterisks (*) and question marks (?). The wildcard "\*" indicates any number of characters, and "?" indicates any single character. **DEST** does not support wildcard characters. If the specified **SOURCE** matches multiple files, **DEST** must be a directory. + +- If **DEST** is a directory, this directory must exist. In this case, the destination file is named after the source file. + +- If the destination file path is a file, the directory for this file must exist. In this case, the file copy is renamed. + +- If the destination file does not exist, a new file is created. If the destination file already exists, the existing file is overwritten. + +> **NOTICE**
    +> When important system resources are copied, unexpected results such as a system breakdown may occur. For example, when the **/dev/uartdev-1** file is copied, the system may stop responding. + + +## Example + +Run **cp hello-OHOS.txt hello-openharmony.txt ./tmp/**. + + +## Output + +Copy **hello-OHOS.txt** and **hello-openharmony.txt** to **/tmp/**. ``` OHOS:/$ ls bin hello-OHOS.txt proc system vendor -dev hello-harmony.txt sdcard userdata +dev hello-openharmony.txt sdcard userdata etc lib storage usr OHOS:/$ mkdir tmp -OHOS:/$ cp hello-OHOS.txt hello-harmony.txt tmp/ +OHOS:/$ cp hello-OHOS.txt hello-openharmony.txt tmp/ OHOS:/$ ll tmp total 0 -rwxrwxrwx 1 0 0 0 1979-12-31 00:00 hello-OHOS.txt* --rwxrwxrwx 1 0 0 0 1979-12-31 00:00 hello-harmony.txt* +-rwxrwxrwx 1 0 0 0 1979-12-31 00:00 hello-openharmony.txt* ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-du.md b/en/device-dev/kernel/kernel-small-debug-shell-file-du.md index 8dd89bfaa3..6d72b8c51a 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-du.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-du.md @@ -1,86 +1,50 @@ # du -## Command Function + +## Command Function This command is used to query the disk space occupied by a file. -## Syntax - -du \[_-kKmh_\] \[_file..._\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the du command.

    -

    N/A

    -

    -k

    -

    Displays the occupied blocks, each of which is 1024 bytes by default.

    -

    N/A

    -

    -K

    -

    Displays the occupied blocks, each of which is 512 bytes (POSIX).

    -

    N/A

    -

    -m

    -

    Displays the disk space in MB.

    -

    N/A

    -

    -h

    -

    Displays the disk space in human-readable format K, M, and G, for example, 1K, 243M, or 2G.

    -

    N/A

    -

    file

    -

    Specifies the target file.

    -

    N/A

    -
    - -## Usage - -- The **du** command is used to obtain the disk usage of a file rather than a directory. -- The value of **file** must be the file name. It cannot contain the directory where the file is located. - -## Example - -Run **du -h testfile**. - -## Output - -Command output + +## Syntax + +du [_-kKmh_] [_file..._] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | +| ------ | ------------------------------------------------------------ | +| --help | Displays the parameters supported by the **du** command. | +| -k | Displays the occupied blocks, each of which is 1024 bytes by default. | +| -K | Displays the occupied blocks, each of which is 512 bytes (POSIX). | +| -m | Displays the disk space in MB. | +| -h | Displays the disk space in human-readable format K, M, and G, for example, **1K**, **243M**, or **2G**.| +| file | Specifies the target file. | + + +## Usage Guidelines + +- The **du** command is used to obtain the disk usage of a file rather than a directory. + +- The value of **file** must be the file name. It cannot contain the directory where the file is located. + +## Note + +Currently, the shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example + +Run **du -h testfile**. + + +## Output + +Disk space occupied by **testfile**. ``` OHOS:/$ du -h testfile 1.8K testfile ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-format.md b/en/device-dev/kernel/kernel-small-debug-shell-file-format.md index 7801ff31c3..e9bef26ce5 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-format.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-format.md @@ -1,67 +1,48 @@ # format -## Command Function +## Command Function This command is used for disk formatting. -## Syntax - -format <_dev\_inodename_\> <_sectors_\> <_option_\> \[_label_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    dev_inodename

    -

    Specifies the device name.

    -

    sectors

    -

    Specifies the size of the allocated memory unit or sector. The value 0 indicates null. (The value must be 0 or a power of 2. For FAT32, the maximum value is 128. If the parameter is set to 0, a proper cluster size is automatically selected. The available cluster size range varies depending on the partition size. If the cluster size is incorrectly specified, the formatting may fail.)

    -

    option

    -
    Specifies the file system type. The options are as follows:
    • 0x01: FMT_FAT
    • 0x02: FMT_FAT32
    • 0x07: FMT_ANY
    • 0x08: FMT_ERASE (not supported by the USB flash drive)
    -
    -

    If an invalid value is specified, the system automatically selects the formatting mode. If the low-level formatting bit is 1 during the formatting of a USB flash drive, an error message is printed.

    -

    label

    -

    Specifies the volume label name. This parameter is optional, and the value is a string. If null is specified for this parameter, the previously set volume label name is cleared.

    -
    - -## Usage - -- The **format** command is used for disk formatting. You can find the device name in the **dev** directory. A storage card must be installed before the formatting. -- The **format** command can be used to format the USB flash drive, SD card, and MMC, but not the NAND flash or NOR flash. -- An invalid **sectors** value may cause exceptions. - -## Example - -Run **format /dev/mmcblk0 128 2**. - -## Output - -Formatting an MMC: + +## Syntax + +format <*dev*inodename_> <*sectors*> <*option*> [_label_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| +| -------- | -------- | +| dev_inodename | Specifies the device name. | +| sectors | Specifies the size of the allocated memory unit or sector.
    The value must be **0** or a power of **2**.
    The value **0** means to leave this parameter blank.
    For FAT32, the maximum value is **128**. If the parameter is set to **0**, a proper cluster size is automatically selected. The available cluster size range varies depending on the partition size. If the cluster size is incorrectly specified, the formatting may fail. | +| option | Specifies the file system type. The options are as follows:
    - **0x01**: FMT_FAT
    - **0x02**: FMT_FAT32
    - **0x07**: FMT_ANY
    - **0x08**: FMT_ERASE (USB does not support this option.)
    If an invalid value is specified, the system automatically selects the formatting mode. If the low-level formatting bit is **1** during the formatting of a USB flash drive, an error message is printed.| +| label | Specifies the volume label name. This parameter is optional, and the value is a string.
    If **null** is specified for this parameter, the previously set volume label name is cleared. | + + +## Usage Guidelines + +- The **format** command is used for disk formatting. You can find the device name in the **dev** directory. A storage card must be installed before the formatting. + +- The **format** command can be used to format the USB flash drive, SD card, and MMC, but not the NAND flash or NOR flash. + +- An invalid **sectors** value may cause exceptions. + + +## Example + +Run **format /dev/mmcblk0 128 2**. + + +## Output + +Format an MMC. ``` OHOS # format /dev/mmcblk1 128 2 Format to FAT32, 128 sectors per cluster. format /dev/mmcblk1 Success ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-ls.md b/en/device-dev/kernel/kernel-small-debug-shell-file-ls.md index 0c8f1abbe9..b292d00f16 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-ls.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-ls.md @@ -1,290 +1,92 @@ # ls -## Command Function - -This command is used to display the content of a specified directory. - -## Syntax - -ls \[_-ACHLSZacdfhiklmnopqrstux1_\] \[_--color_\[_=auto_\]\] \[_directory..._\] - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->During the system boot process, **ls=toybox ls --color=auto**, **ll = ls -alF**, **la=ls -A**, and **l=ls -CF** commands have been enabled using **alias** so that the initial actions of these commands are the same as those on Linux. For details, see the output description. To view help information, run **toybox ls --help**. - -## Parameters - -**Table 1** Command parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays parameters supported by the ls command and their usage.

    -

    N/A

    -

    -a

    -

    Displays all files, including .hidden files.

    -

    N/A

    -

    -b

    -

    Escapes non-graphical characters.

    -

    N/A

    -

    -c

    -

    Uses ctime as the file timestamp. This parameter must be used together with -l.

    -

    N/A

    -

    -d

    -

    Displays only the directory, rather than listing the content of the directory.

    -

    N/A

    -

    -i

    -

    Displays the node ID of a file.

    -

    N/A

    -

    -p

    -

    Adds a slash (/) after the directory.

    -

    N/A

    -

    -q

    -

    Displays non-printable characters, such as "?".

    -

    N/A

    -

    -s

    -

    Provides information about the memory occupied by the directory and its members, in 1024 bytes.

    -

    N/A

    -

    -u

    -

    Uses the last access time of the file as the timestamp. This option is used together with -l.

    -

    N/A

    -

    -A

    -

    Lists all files except implied . and ..

    -

    N/A

    -

    -H

    -

    Follows symbolic links listed in the command line.

    -

    N/A

    -

    -L

    -

    Follows symbolic links.

    -

    N/A

    -

    -Z

    -

    Displays security context.

    -

    N/A

    -

    path

    -

    If path is left blank, the content of the current directory is displayed.

    -

    If path is an invalid file name, the following failure message is displayed:

    -

    ls error: No such directory

    -

    If path is a valid directory, the content of that directory is displayed.

    -

    Left blank or a valid directory

    -
    - -**Table 2** Output parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -1

    -

    Lists one file per line.

    -

    N/A

    -

    -c

    -

    Lists entries by column.

    -

    N/A

    -

    -g

    -

    Like -l, but do not list owner.

    -

    N/A

    -

    -h

    -

    Displays the total size of files in the directory, in KiB.

    -

    N/A

    -

    -l

    -

    Displays detailed information about files in the directory.

    -

    N/A

    -

    -m

    -

    Fills width with a list of entries separated by a comma.

    -

    N/A

    -

    -n

    -

    Like -l, but lists numeric user and group IDs.

    -

    N/A

    -

    -o

    -

    Like -l, but do not list group information.

    -

    N/A

    -

    -x

    -

    Lists entries by line, instead of by column.

    -

    N/A

    -

    -ll

    -

    Lists the file time attribute as ns.

    -

    N/A

    -

    --color

    -

    Colorizes the output.

    -

    Default value: device=yellow symlink=turquoise/red dir=blue socket=purple files: exe=green suid=red suidfile=redback stickydir=greenback=auto means detect if output is a tty.

    -
    - -**Table 3** Sorting parameters \(sorted by the initial letter by default\) - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -f

    -

    Do not sort.

    -

    N/A

    -

    -r

    -

    Reverse order while sorting.

    -

    N/A

    -

    -t

    -

    Sort by time, newest first.

    -

    N/A

    -

    -S

    -

    Sort by file size, largest first.

    -

    N/A

    -
    - -## Usage - -None - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->The file node information of the FAT file system inherits from its parent node. The parent node ID is **0**. Therefore, if you run the **ls -i** command on the Hi3516D V300 development board, the file node IDs displayed are all **0**. - -## Example + +## Command Function + +This command is used to display the content of a directory. + + +## Syntax + +ls [_-ACHLSZacdfhiklmnopqrstux1_] [_--color_[_=auto_]] [_directory..._] + +> **NOTE**
    +> During the system boot process, **ls=toybox ls --color=auto**, **ll = ls -alF**, **la=ls -A**, and **l=ls -CF** commands have been enabled using **alias** so that the initial actions of these commands are the same as those on Linux. For details, see **Output**. To view help information, run **toybox ls --help**. + + +## Parameters + +**Table 1** Command parameter description + +| Parameter | Description | Value Range | +| ------ | ------------------------------------------------------------ | ----------------------------- | +| --help | Displays parameters supported by the **ls** command and their usage. | N/A | +| -a | Displays all files, including hidden files. | N/A | +| -b | Escapes non-graphical characters. | N/A | +| -c | Uses **ctime** as the file timestamp. This parameter must be used together with **-l**. | N/A | +| -d | Displays only the directory, rather than listing the content of the directory. | N/A | +| -i | Displays the node ID of a file. | N/A | +| -p | Adds a slash (/) after the directory. | N/A | +| -q | Displays non-printable characters, such as "?". | N/A | +| -s | Provides information about the memory occupied by the directory and its members, in 1024 bytes. | N/A | +| -u | Uses the last access time of the file as the timestamp. This option is used together with **-l**. | N/A | +| -A | Lists all files except implied . and .. | N/A | +| -H | Follows symbolic links listed in the command line. | N/A | +| -L | Follows symbolic links. | N/A | +| -Z | Displays security context. | N/A | +| path | Specifies the path of the target directory.
    If **path** is left blank, the content of the current directory is displayed.
    If **path** is an invalid directory, "ls error: No such directory." is displayed.

    If **path** is a valid directory, the content of the specified directory is displayed. | Left blank
    A valid directory| + +**Table 2** Output format parameters + +| Parameter | Description | +| ------- | --------------------------------------- | +| -1 | Lists one file per line. | +| -c | Lists entries by column. | +| -g | Like **-l**, but do not list the owner. | +| -h | Displays the total size of files in the directory, in KiB.| +| -l | Displays detailed information about files in the directory. | +| -m | Fills width with a list of entries separated by a comma. | +| -n | Like **-l**, but lists numeric user and group IDs.| +| -o | Like **-l**, but do not list group information. | +| -x | Lists entries by line, instead of by column. | +| -ll | Lists the file time attribute as ns. | + +**Table 3** Parameters for sorting (by the initial letter by default) + +| Parameter| Description | +| ---- | ------------------------------------------ | +| -f | Do not sort. | +| -r | Sorts in reverse order. | +| -t | Sorts by time, newest first.| +| -S | Sorts by file size, largest first. | + +**Table 4** Color printing + +| Parameter| Default Configuration | +| ---- | ------------------------------------------ | +| --color | device=yellow symlink=turquoise/red dir=blue socket=purple files: exe=green suid=red suidfile=redback stickydir=greenback=auto means detect if output is a tty. | + +## Usage Guidelines + +The file node information of the FAT file system inherits from its parent node. The parent node ID is **0**. Therefore, if you run the **ls -i** command on the Hi3516D V300 development board, the file node IDs displayed are all **0**. + + +## Note + +The shell does not support **ls** parameters. mksh supports them. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- ls -- ll +- ls -## Output +- ll -Example 1: **ls** command output + +## Output + +Example 1: **ls** command output ``` OHOS:/$ ls @@ -292,7 +94,7 @@ bin etc nfs sdcard system usr dev lib proc storage userdata vendor ``` -Example 2: **ll** command output +Example 2: **ll** command output ``` OHOS:/$ ll @@ -310,4 +112,3 @@ drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 userdata/ drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 usr/ drwxrwxrwx 1 0 0 2048 2021-11-21 17:52 vendor/ ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-lsfd.md b/en/device-dev/kernel/kernel-small-debug-shell-file-lsfd.md index fe035b1c14..ba2902d4c4 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-lsfd.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-lsfd.md @@ -1,25 +1,29 @@ # lsfd -## Command Function +## Command Function This command is used to display the file descriptors and names of the files that are open. -## Syntax + +## Syntax lsfd -## Usage -Run the **lsfd** command to display file descriptors and names of the opened files. +## Usage Guidelines + +Run the **lsfd** command to display file descriptors and names of the opened files. + -## Example +## Example -Run **lsfd**. +Run **lsfd**. -## Output -Example: **lsfd** command output +## Output + +Example: **lsfd** command output ``` OHOS # lsfd @@ -57,4 +61,3 @@ OHOS # lsfd 33 /dev/lite_ipc 34 /dev/lite_ipc ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md b/en/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md index 09b1935ecc..4c68734912 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-mkdir.md @@ -1,80 +1,53 @@ # mkdir -## Command Function +## Command Function This command is used to create a directory. -## Syntax - -mkdir \[_-vp_\] \[_-m mode_\] \[_dirname..._\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the mkdir command.

    -

    N/A

    -

    -m

    -

    Sets the permissions on the directory to create.

    -

    N/A

    -

    -p

    -

    Creates parent and child directories recursively.

    -

    N/A

    -

    -v

    -

    Prints detailed information about the directory creation process.

    -

    N/A

    -

    directory

    -

    Specifies the directory to create.

    -

    N/A

    -
    - -## Usage - ->![](../public_sys-resources/icon-notice.gif) **NOTICE:** ->For the files created on the FAT file system, the file permission attributes are the same as those of the mounted nodes. Currently, the node permissions include only user read and write. The **group** and **others** permissions do not take effect. ->In addition, only the user read and write permissions can be modified. The read and write permissions are **rw** and **ro** only. Therefore, when the **-m** option is specified in the **mkdir** command, only **777** and **555** permissions are available for the created directory, and the execute permission does not take effect. - -## Example + +## Syntax + +mkdir [_-vp_] [_-m mode_] [_dirname..._] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | +| --------- | ------------------------------ | +| --help | Displays the parameters supported by the **mkdir** command. | +| -m | Sets the permissions on the directory to create. | +| -p | Creates parent and child directories recursively. | +| -v | Prints detailed information about the directory creation process.| +| directory | Specifies the directory to create. | + + +## Usage Guidelines + +For the files created on the FAT file system, the file permission attributes are the same as those of the mounted nodes. Currently, the node permissions include only user read and write. The **group** and **others** permissions do not take effect. + +In addition, only the user read and write permissions can be modified. The read and write permissions are **rw** and **ro** only. Therefore, when the **-m** option is specified in the **mkdir** command, only **777** and **555** permissions are available for the created directory, and the execute permission does not take effect. + +## Note + +Currently, the shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- mkdir testpath -- mkdir -m 777 testpath -- mkdir -pv testpath01/testpath02/testpath03 +- mkdir testpath + +- mkdir -m 777 testpath + +- mkdir -pv testpath01/testpath02/testpath03 + +## Output + +Example 1: Create a directory named **testpath**. -## Output ``` OHOS:/tmp$ mkdir testpath @@ -83,7 +56,8 @@ total 2 drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath/ ``` -Example 2: creating a directory with specified permissions +Example 2: Create a directory named **testpath** with specified permissions. + ``` OHOS:/tmp$ mkdir -m 777 testpath @@ -92,7 +66,8 @@ total 2 drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath/ ``` -Example 3: creating directories recursively +Example 3: Create directories recursively. + ``` OHOS:/tmp$ mkdir -pv testpath01/testpath02/testpath03 @@ -109,4 +84,3 @@ OHOS:/tmp$ ll testpath01/testpath02/ total 2 drwxrwxrwx 1 0 0 2048 1979-12-31 00:00 testpath03/ ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-mount.md b/en/device-dev/kernel/kernel-small-debug-shell-file-mount.md index 9fccd3e4ea..67d89d9328 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-mount.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-mount.md @@ -1,84 +1,47 @@ # mount -## Command Function +## Command Function This command is used to mount a device to a specified directory. -## Syntax - -mount \[_-f_\] \[_-t TYPE_\] \[_-o OPTION,_\] \[\[_DEVICE_\] _DIR_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the mount command.

    -

    N/A

    -

    -f

    -

    Fakes mounting the file system (no mounting is actually performed).

    -

    N/A

    -

    -t

    -

    Specifies the file system type.

    -

    vfat, yaffs, jffs, ramfs, nfs, procfs, romfs

    -

    -o

    -

    Specifies the mount options.

    -

    N/A

    -

    DEVICE

    -

    Specifies the device to mount (in the format of the device directory).

    -

    A device in the system

    -

    DIR

    -

    Specifies the directory.

    -

    You must have the execution (search) permission on the specified directory.

    -

    N/A

    -
    - -## Usage - -By specifying the device to mount, directory, and file system format in the **mount** command, you can successfully mount the file system to the specified directory. - -## Example - -Run **mount -t nfs 192.168.1.3:/nfs nfs**. - -## Output - -Mounting the **nfs** directory on the server with IP address of **192.168.1.3** to the newly created **/nfs** directory in the current system + +## Syntax + +mount [_-f_] [_-t TYPE_] [_-o OPTION,_] [[_DEVICE_] _DIR_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------ | ----------------------------------------------------------- | ------------------------------------------------------------ | +| --help | Displays the parameters supported by the **mount** command. | N/A | +| -f | Fakes mounting the file system (no mounting is actually performed). | N/A | +| -t | Specifies the file system type. | vfat, yaffs, jffs, ramfs, nfs, procfs, romfs| +| -o | Specifies the mount options. | N/A | +| DEVICE | Specifies the device to mount (in the format of the device directory). | A device in the system | +| DIR | Specifies the directory.
    You must have the execution (search) permission on the specified directory.| N/A | + + +## Usage Guidelines + +By specifying the device to mount, directory, and file system format in the **mount** command, you can successfully mount the file system to the specified directory. + +## Note + +Currently, the shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example + +Run **mount -t nfs 192.168.1.3:/nfs nfs**. + + +## Output + +Mount the **nfs** directory on the server with IP address of **192.168.1.3** to the newly created **/nfs** directory in the current system. + ``` OHOS:/$ mkdir nfs @@ -90,4 +53,3 @@ OHOS:/$ ls nfs/ OHOS_Image.bin hello rootfs_vfat.img dev_tools mksh_rootfs_vfat.img test_demo ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-mv.md b/en/device-dev/kernel/kernel-small-debug-shell-file-mv.md index 880b14485c..cd2a0950cc 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-mv.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-mv.md @@ -1,96 +1,58 @@ # mv -## Command Function +## Command Function This command is used to move files. -## Syntax - -mv \[_-fivn_\] _SOURCE... DEST_ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -help

    -

    Displays help information.

    -

    N/A

    -

    -f

    -

    Forcibly overwrites the target file.

    -

    N/A

    -

    -i

    -

    Provides a prompt before moving a file that would overwrite an existing file. Enter y to overwrite the file or enter n to cancel the operation.

    -

    N/A

    -

    -n

    -

    Do not overwrite any existing file or directory.

    -

    N/A

    -

    -v

    -

    This parameter does not take effect although it is supported by the latest Toybox code.

    -

    N/A

    -

    SOURCE

    -

    Specifies the path of the source file.

    -

    This command cannot be used to move a directory. It can be used to move multiple files at a time.

    -

    DEST

    -

    Specifies the destination file path.

    -

    Both a directory and a file are supported.

    -
    - -## Usage - -- **SOURCE** supports wildcard characters \* and ?. The asterisk \(\*\) indicates any number of characters, and the question mark \(?\) represents a single character. **DEST** does not support wildcard characters. If the specified **SOURCE** matches multiple files, **DEST** must be a directory. -- If **DEST** is a directory, this directory must exist. In this case, the destination file is named after the source file. -- If **DEST** is a file, the directory for this file must exist. -- If the destination file already exists, it will be overwritten. - -## Example + +## Syntax + +mv [_-fivn_] *SOURCE... DEST* + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------ | ------------------------------------------------------------ | ----------------------------------------------- | +| -help | Displays help information. | N/A | +| -f | Forcibly overwrites the target file. | N/A | +| -i | Provides information before moving a file that would overwrite an existing file or directory. Enter **y** to overwrite the file or directory, and enter **n** to cancel the operation.| N/A | +| -n | Do not overwrite any existing file or directory. | N/A | +| -v | This parameter does not take effect although it is supported by the latest Toybox code. | N/A | +| SOURCE | Specifies the file to move. | This command cannot be used to move a directory. It can be used to move multiple files at a time.| +| DEST | Specifies the destination file path. | Both a directory and a file are supported. | + + +## Usage Guidelines + +- **SOURCEFILE** supports wildcard characters * and ?. The asterisk (*) indicates any number of characters, and the question mark (?) represents a single character. **DEST** does not support wildcard characters. If the specified **SOURCE** matches multiple files, **DEST** must be a directory. + +- If **DEST** is a directory, this directory must exist. In this case, the destination file is named after the source file. + +- If **DEST** is a file, the directory for this file must exist. + +- If the destination file already exists, it will be overwritten. + +## Note + +Currently, the shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- mv -i test.txt testpath/ -- mv test?.txt testpath/ \(Move **test3.txt**, **testA.txt**, and **test\_.txt**\) +- mv -i test.txt testpath/ -## Output +- mv test?.txt testpath/ (Move **test3.txt**, **testA.txt**, and **test_.txt**) + + +## Output + +Example 1: Move a file. -Example 1: moving a file ``` OHOS:/$ touch test.txt @@ -112,7 +74,8 @@ bin etc proc storage test.txt userdata vendor dev lib sdcard system testpath usr ``` -Example 2: moving files using wildcards +Example 2: Move files. + ``` OHOS:/$ ls @@ -125,4 +88,3 @@ dev lib sdcard system testpath usr OHOS:/$ ls testpath/ test.txt test3.txt testA.txt test_.txt ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-partinfo.md b/en/device-dev/kernel/kernel-small-debug-shell-file-partinfo.md index 6f0ed99975..e4e329496a 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-partinfo.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-partinfo.md @@ -1,49 +1,40 @@ # partinfo -## Command Function +## Command Function This command is used to query information about the partitions of a hard disk or SD card identified by the system. -## Syntax -partinfo <_dev\_inodename_\> +## Syntax -## Parameters +partinfo <*dev*inodename_> -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    dev_inodename

    -

    Specifies the name of the partition to be queried.

    -

    A valid partition name

    -
    +## Parameters -## Usage + **Table 1** Parameter description -None +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| dev_inodename | Specifies the name of the partition to be queried.| A valid partition name| -## Example -Run **partinfo /dev/mmcblk0p0**. +## Usage Guidelines -## Output +None. + + +## Example + +Run **partinfo /dev/mmcblk0p0**. + + +## Output System partition information: + ``` OHOS # partinfo /dev/mmcblk0p0 part info : @@ -55,4 +46,3 @@ part filesystem : 00 part sec start : 20480 part sec count : 102400 ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-pwd.md b/en/device-dev/kernel/kernel-small-debug-shell-file-pwd.md index 87513f7f67..5315935c5b 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-pwd.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-pwd.md @@ -1,32 +1,37 @@ # pwd -## Command Function +## Command Function This command is used to display the current path. -## Syntax + +## Syntax pwd -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines -## Usage +The **pwd** command writes the full path (from the root directory) of the current directory to the standard output. The directories are separated by slashes (/). The directory following the first slash (/) indicates the root directory, and the last directory is the current directory. -The **pwd** command writes the full path \(from the root directory\) of the current directory to the standard output. The directories are separated by slashes \(/\). The directory following the first slash \(/\) indicates the root directory, and the last directory is the current directory. -## Example +## Example -Run **pwd**. +Run **pwd**. -## Output + +## Output Current path: + ``` OHOS:/sdcard/nfs$ pwd /sdcard/nfs ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-rm.md b/en/device-dev/kernel/kernel-small-debug-shell-file-rm.md index b535c90a4f..c01d029ab7 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-rm.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-rm.md @@ -1,74 +1,53 @@ # rm -## Command Function +## Command Function This command is used to delete a file or folder. -## Syntax - -rm \[_-fv_\] _FILE or rm_ \[_-rv_\] \[_PATH_ | _filename_\]... - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -r

    -

    Deletes empty or non-empty directories.

    -

    N/A

    -

    -f

    -

    Deletes a file or directory forcibly without confirmation. No error will be reported when a file that does not exist is to be deleted.

    -

    N/A

    -

    -v

    -

    Displays the deletion process.

    -

    N/A

    -

    PATH/filename

    -

    Specifies the name of the file or directory to delete. The value can be a path.

    -

    N/A

    -
    - -## Usage - -- The **rm** command can be used to delete multiple files or folders at a time. -- You can run **rm -r** to delete a non-empty directory. -- If the **rm** command without **-f** is used to delete a file that does not exist, an error will be reported. - -## Example + +## Syntax + +rm [_-fv_] *FILE or rm* [_-rv_] [_PATH_ | _filename_]... + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | +| ------------- | ------------------------------------------------ | +| -r | Deletes empty or non-empty directories. | +| -f | Deletes a file or directory forcibly without confirmation. No error will be reported when a file that does not exist is to be deleted.| +| -v | Displays the deletion process. | +| PATH/filename | Specifies the name of the file or directory to delete. The value can be a path. | + + +## Usage Guidelines + +- The **rm** command can be used to delete multiple files or folders at a time. + +- You can run **rm -r** to delete a non-empty directory. + +- If the **rm** command without **-f** is used to delete a file that does not exist, an error will be reported. + +## Note + +The shell does not support **-v** or **-f**. mksh supports them. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- rm testfile -- rm -r testpath/ +- rm testfile + +- rm -r testpath/ -## Output -Example 1: deleting **testfile** +## Output + +Example 1: Delete **testfile**. + ``` OHOS:/$ ls @@ -80,7 +59,8 @@ bin etc proc storage userdata vendor dev lib sdcard system usr ``` -Example 2: deleting **testpath**, a non-empty directory +Example 2: Delete **testpath**, a non-empty directory. + ``` OHOS:/$ ls @@ -91,4 +71,3 @@ OHOS:/$ ls bin etc proc storage userdata vendor dev lib sdcard system usr ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md b/en/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md index 70cf25e124..f0ad3c729b 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-rmdir.md @@ -1,71 +1,46 @@ # rmdir -## Command Function +## Command Function This command is used to delete a directory. -## Syntax - -rmdir \[_-p_\] \[_dirname..._\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the rmdir command.

    -

    N/A

    -

    -p

    -

    Deletes a path.

    -

    N/A

    -

    --ignore-fail-on-non-empty

    -

    Suppresses the error message when a non-empty directory is to be deleted.

    -

    N/A

    -

    dir

    -

    Specifies the name of the directory to delete. The directory must be empty. A path is supported.

    -

    N/A

    -
    - -## Usage - -- The **rmdir** command can only be used to delete directories. -- The **rmdir** command can delete only one directory at a time. -- The **rmdir** command can delete only empty directories. - -## Example - -Run **rmdir dir**. - -## Output - -Deleting the directory **dir**: + +## Syntax + +rmdir [_-p_] [_dirname..._] + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| --help | Displays the parameters supported by the **rmdir** command.| N/A | +| -p | Deletes a path.| N/A | +| --ignore-fail-on-non-empty | Suppresses the error message when a non-empty directory is to be deleted.| N/A | +| dir | Specifies the name of the directory to delete. The directory must be empty. A path is supported.| N/A | + + +## Usage Guidelines + +- The **rmdir** command can only be used to delete directories. + +- The **rmdir** command can delete only one directory at a time. + +- The **rmdir** command can delete only empty directories. + + +## Example + +Run **rmdir dir**. + + +## Output + +Delete the directory **dir**. + ``` OHOS:/test$ mkdir dir @@ -74,4 +49,3 @@ dir OHOS:/test$ rmdir dir/ OHOS:/test$ ls ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-statfs.md b/en/device-dev/kernel/kernel-small-debug-shell-file-statfs.md index c38afd907c..5b58c13956 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-statfs.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-statfs.md @@ -1,48 +1,37 @@ # statfs -## Command Function +## Command Function This command is used to print information about a file system, such as the type, total size, and available size. -## Syntax -statfs \[_directory_\] +## Syntax -## Parameters +statfs [_directory_] -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    directory

    -

    Specifies the file system directory.

    -

    The file system must exist and support the statfs command. The supported file systems include JFFS2, FAT, and NFS.

    -
    +## Parameters -## Usage +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| directory | Specifies the file system directory.| The file system must exist and support the **statfs** command. The supported file systems include JFFS2, FAT, and NFS.| + + +## Usage Guidelines The printed information varies depending on the file system. -## Example + +## Example The following uses the NFS as an example: -Run **statfs /nfs**. +Run **statfs /nfs**. -**statfs** command output +**statfs** command output ``` OHOS # statfs ./nfs @@ -57,4 +46,3 @@ statfs got: total size: 808742490112 Bytes free size: 255618461696 Bytes ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-sync.md b/en/device-dev/kernel/kernel-small-debug-shell-file-sync.md index 33670c9ca1..524ddd7802 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-sync.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-sync.md @@ -1,28 +1,33 @@ # sync -## Command Function +## Command Function -This command is used to synchronize cached data \(data in the file system\) to an SD card. +This command is used to synchronize cached data (data in the file system) to an SD card. -## Syntax + +## Syntax sync -## Parameters -None +## Parameters + +None. + + +## Usage Guidelines + +- The **sync** command is used to refresh the cache. If no SD card is inserted, no operation will be performed. -## Usage +- When an SD card is inserted, the cache information is synchronized to the SD card. If the synchronization is successful, no information is displayed. -- The **sync** command is used to refresh the cache. If no SD card is inserted, no operation will be performed. -- When an SD card is inserted, the cache information is synchronized to the SD card. If the synchronization is successful, no information is displayed. -## Example +## Example -Run **sync**. Data will be synchronized to the SD card if an SD card is available, and no operation will be performed if no SD card is available. +Run **sync**. Data will be synchronized to the SD card if an SD card is available, and no operation will be performed if no SD card is available. -## Output -None +## Output +None. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-touch.md b/en/device-dev/kernel/kernel-small-debug-shell-file-touch.md index e2ef6986f0..e21f277dd4 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-touch.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-touch.md @@ -1,64 +1,54 @@ # touch -## Command Function +## Command Function -- This command is used to create an empty file in a specified directory. -- If this command is executed to create an existing file, the execution will be successful but the timestamp will not be updated. +- This command is used to create an empty file in a specified directory. -## Syntax +- If this command is executed to create an existing file, the execution will be successful but the timestamp will not be updated. -touch \[_filename_\] -## Parameters +## Syntax -**Table 1** Parameter description +touch [_filename_] - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the touch command.

    -

    N/A

    -

    filename

    -

    Specifies the name of the file to create.

    -

    N/A

    -
    -## Usage +## Parameters -- The **touch** command creates an empty file that is readable and writeable. -- You can use the **touch** command to create multiple files at a time. + **Table 1** Parameter description - >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >If you run the **touch** command to create a file in a directory storing important system resources, unexpected results such as a system breakdown may occur. For example, if you run the **touch uartdev-0** command in the **/dev** directory, the system may stop responding. +| Parameter | Description | Value Range| +| -------- | --------------------------- | -------- | +| --help | Displays the parameters supported by the **touch** command.| N/A | +| filename | Specifies the name of the file to create. | N/A | -## Example +## Usage Guidelines + +- The **touch** command creates an empty file that is readable and writeable. + +- You can use the **touch** command to create multiple files at a time. + + > **NOTICE**
    + > If you run the **touch** command to create a file in a directory storing important system resources, unexpected results such as a system breakdown may occur. For example, if you run the **touch uartdev-0** command in the **/dev** directory, the system may stop responding. + +## Note + +The shell does not support **--help** or creation of multiple files at the same time. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- touch file.c -- touch testfile1 testfile2 testfile3 +- touch file.c -## Output +- touch testfile1 testfile2 testfile3 + + +## Output + +Example 1: Create a file named **file.c**. -Example 1: creating the **file.c** file ``` OHOS:/tmp$ ls @@ -70,7 +60,8 @@ total 0 -rwxrwxrwx 1 0 0 0 1979-12-31 00:00 file.c* ``` -Example 2: creating three files \(**testfile1**, **testfile2**, and **testfile3**\) +Example 2: Create three files (**testfile1**, **testfile2**, and **testfile3**) at a time. + ``` *OHOS:/tmp$ @@ -82,4 +73,3 @@ total 0 -rwxrwxrwx 1 0 0 0 1979-12-31 00:00 testfile3* OHOS:/tmp$ ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-umount.md b/en/device-dev/kernel/kernel-small-debug-shell-file-umount.md index a3b41c1070..1125ae02c5 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-umount.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-umount.md @@ -1,84 +1,61 @@ # umount -## Command Function - -This command is used to unmount a specified file system. - -## Syntax - -umount \[_-a \[-t TYPE\]_\] \[_dir_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the umount command.

    -

    N/A

    -

    -a

    -

    Unmounts all file systems mounted.

    -

    N/A

    -

    -t

    -

    Used together with the -a option to restrict the file systems specified by -a, allowing only the file system specified by -t to be unmounted.

    -

    N/A

    -

    dir

    -

    Specifies the directory from which the file system is to be unmounted.

    -

    Directory mounted with the file system

    -
    - -## Usage - -By specifying the **dir** parameter in the **unmount** command, you can unmount the specified file system from the directory. - -## Example +## Command Function + +This command is used to unmount a file system. + + +## Syntax + +umount [_-a [-t TYPE]_] [_dir_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------ | ------------------------------------------------------------ | -------------------------- | +| --help | Displays the parameters supported by the **umount** command. | N/A | +| -a | Unmounts all file systems mounted. | N/A | +| -t | Used together with the **-a** option to restrict the file systems specified by **-a**, allowing only the file system specified by **-t** to be unmounted.| N/A | +| dir | Specifies the directory from which the file system is to be unmounted. | Directory mounted with the file system| + + +## Usage Guidelines + +By specifying the **dir** parameter in the **unmount** command, you can unmount the specified file system. + +## Note + +The shell does not support this command. mksh supports it. To switch to mksh, run **cd bin** and **./mksh**. + +## Example Run the following commands: -- umount ./nfs -- umount -a -t nfs +- umount ./nfs + +- umount -a -t nfs -## Output -**unmount** command output: +## Output + + + +Example 1: Unmount the file system from **./nfs**. -Example 1: unmounting the file system from **./nfs** ``` OHOS:/$ umount ./nfs/ umount ok ``` -Example 2: unmounting all NFS directories +Example 2: Unmount all NFS directories. + ``` OHOS:/$ umount -a -t nfs umount ok ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-file-write.md b/en/device-dev/kernel/kernel-small-debug-shell-file-write.md index f48ee11f17..4117440952 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-file-write.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-file-write.md @@ -1,63 +1,52 @@ # writeproc -## Command Function +## Command Function -This command is used to write data to a specified proc file system. The proc file system supports the input of string parameters. Each file needs to implement its own method. +This command is used to write data to the specified proc file system. The proc file system supports data of strings. The method for writing data needs to be implemented. -## Syntax -writeproc <_data_\> \>\> /proc/<_filename_\> +## Syntax -## Parameters +writeproc <*data*> >> /proc/<*filename*> -**Table 1** Parameter description - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    data

    -

    Specifies the string to be entered, which ends with a space. If you need to enter a space, use "" to enclose the space.

    -

    N/A

    -

    filename

    -

    Specifies the proc file to which data is to be passed.

    -

    N/A

    -
    +## Parameters -## Usage +**Table 1** Parameter description -The proc file implements its own **write** command. Calling the **writeproc** command will pass the input parameters to the **write** command. +| Parameter | Description | +| -------- | ---------------------------------------------------------- | +| data | Specifies the string to write, which ends with a space. If you need to write a space, use **""** to enclose the space. | +| filename | Specifies the proc file to which **data** is to write. | ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->The procfs file system does not support multi-thread access. -## Example +## Usage Guidelines -Run **writeproc test \>\> /proc/uptime**. +The proc file system implements its own **write()** function. Calling the **writeproc** command will pass input parameters to the **write()** function. -## Output +> **NOTE**
    +> The procfs file system does not support multi-thread access. -OHOS \# writeproc test \>\> /proc/uptime +## Note -\[INFO\]write buf is: test +Currently, the shell does not support this command. -test \>\> /proc/uptime +## Example ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->The uptime proc file temporarily implements the **write** command. The **INFO** log is generated by the implemented **test** command. +Run **writeproc test >> /proc/uptime**. + + +## Output + +``` +OHOS \# writeproc test >> /proc/uptime + +[INFO]write buf is: test + +test >> /proc/uptime +``` + +> **NOTE**
    +> The **uptime** proc file temporarily implements the **write()** function. The **INFO** log is generated by the **test()** function. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-magickey.md b/en/device-dev/kernel/kernel-small-debug-shell-magickey.md index 80248ba4e5..9af3ed1cce 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-magickey.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-magickey.md @@ -3,24 +3,30 @@ ## When to Use -When the system does not respond, you can use the magic key function to check whether the system is suspended by an interrupt lock (the magic key also does not respond) or view the system task running status. +When the system does not respond, you can use the magic key to check whether the system is suspended by an interrupt lock or view the system task running status. -If interrupts are responded, you can use the magic key to check the task CPU usage (**cpup**) and find out the task with the highest CPU usage. Generally, the task with a higher priority preempts the CPU resources. +If interrupts are responded, you can use the magic key to check the task CPU percent (CPUP) and locate the task with the highest CPUP. Generally, the task with a higher priority preempts the CPU resources. -## How to Use +## How to Configure -1. Configure the macro **LOSCFG_ENABLE_MAGICKEY**. +The magic key depends on the macro **LOSCFG_ENABLE_MAGICKEY**. - The magic key depends on the **LOSCFG_ENABLE_MAGICKEY** macro. Before using the magic key, select **Enable MAGIC KEY** (**Debug** ---> **Enable MAGIC KEY**) on **menuconfig**. The magic key cannot be used if this option is disabled. +To configure **LOSCFG_ENABLE_MAGICKEY**: - > ![icon-note.gif](public_sys-resources/icon-note.gif) **NOTE** - > - > On **menuconfig**, you can move the cursor to **LOSCFG_ENABLE_MAGICKEY** and enter a question mark (?) to view help Information. - -2. Press **Ctrl+R** to enable the magic key. +1. Run the **make menuconfig** command in **kernel/liteos_a**. +2. Locate the **Debug** option and select **Enable MAGIC KEY**. + +This option is selected by default. If it is not selected, the magic key is invalid. + +> **NOTE**
    +> On **menuconfig**, you can move the cursor to **LOSCFG_ENABLE_MAGICKEY** and enter a question mark (?) to view help information. + +## How to Use + +1. Press **Ctrl+R** to enable the magic key. - When the UART or USB-to-virtual serial port is connected, press **Ctrl+R**. If "Magic key on" is displayed, the magic key is enabled. To disable it, press **Ctrl+R** again. If "Magic key off" is displayed, the magic key is disabled. + When the UART or USB-to-virtual serial port is connected, press **Ctrl+R**. If "Magic key on" is displayed, the magic key is enabled. To disable it, press **Ctrl+R** again. If "Magic key off" is displayed, the magic key is disabled. The functions of the magic key are as follows: @@ -32,5 +38,5 @@ If interrupts are responded, you can use the magic key to check the task CPU usa - **Ctrl+E**: Checks the integrity of the memory pool. If an error is detected, the system displays an error message. If no error is detected, the system displays "system memcheck over, all passed!". - > ![icon-notice.gif](public_sys-resources/icon-notice.gif) **NOTICE**
    - > If magic key is enabled, when special characters need to be entered through the UART or USB-to-virtual serial port, avoid using characters the same as the magic keys. Otherwise, the magic key may be triggered by mistake, causing errors in the original design. + > **NOTE**
    + > If magic key is enabled, when special characters need to be entered through the UART or USB-to-virtual serial port, avoid using characters the same as the magic keys. Otherwise, the magic key may be triggered by mistake, causing errors in design. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-arp.md b/en/device-dev/kernel/kernel-small-debug-shell-net-arp.md index 87b2afa626..c4c6ce4804 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-arp.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-arp.md @@ -1,73 +1,44 @@ # arp -## Command Function +## Command Function -Hosts on an Ethernet communicate with each other using MAC addresses. IP addresses must be converted into MAC addresses to enable communication between hosts on a LAN \(Ethernet\). To achieve this purpose, the host stores a table containing the mapping between IP addresses and MAC addresses. This table is called an Address Resolution Protocol \(ARP\) cache table. Before sending an IP packet to a LAN, the host looks up the destination MAC address in the ARP cache table. The ARP cache table is maintained by the TCP/IP stack. You can run the **arp** command to view and modify the ARP cache table. +Hosts on an Ethernet communicate with each other using MAC addresses. IP addresses must be converted into MAC addresses to enable communication between hosts on a LAN (Ethernet). To achieve this purpose, the host stores a table containing the mapping between IP addresses and MAC addresses. This table is called an Address Resolution Protocol (ARP) cache table. Before sending an IP packet to a LAN, the host looks up the destination MAC address in the ARP cache table. The ARP cache table is maintained by the TCP/IP stack. You can run the **arp** command to view and modify the ARP cache table. -## Syntax + +## Syntax arp -arp \[_-i IF_\] -s _IPADDR HWADDR_ - -arp \[_-i IF_\] -d _IPADDR_ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    No parameter

    -

    Queries the content of the ARP cache table.

    -

    N/A

    -

    -i IF

    -

    Specifies the network port. This parameter is optional.

    -

    N/A

    -

    -s IPADDR

    -

    HWADDR

    -

    Adds an ARP entry. The second parameter is the IP address and MAC address of the other host on the LAN.

    -

    N/A

    -

    -d IPADDR

    -

    Deletes an ARP entry.

    -

    N/A

    -
    - -## Usage - -- The **arp** command is used to query and modify the ARP cache table of the TCP/IP stack. If ARP entries for IP addresses on different subnets are added, the protocol stack returns a failure message. -- This command can be used only after the TCP/IP stack is enabled. - -## Example - -Run the **arp** command. - -ARP cache table: +arp [_-i IF_] -s *IPADDR HWADDR* + +arp [_-i IF_] -d *IPADDR* + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| No parameter| Prints the content of the ARP cache table.| N/A | +| -i IF | Specifies the network port. This parameter is optional.| N/A | +| -s IPADDR
    HWADDR | Adds an ARP entry. The second parameter is the IP address and MAC address of the other host on the LAN.| N/A | +| -d IPADDR | Deletes an ARP entry.| N/A | + + +## Usage Guidelines + +- The **arp** command is used to query and modify the ARP cache table of the TCP/IP stack. If ARP entries for IP addresses on different subnets are added, the protocol stack returns a failure message. + +- This command can be used only after the TCP/IP protocol stack is enabled. + + +## Example + +Run **arp**. + +ARP cache table information: ``` OHOS # arp @@ -75,35 +46,11 @@ Address HWaddress Iface Type 192.168.1.10 E6:2B:99:2C:4B:20 eth0 static ``` -**Table 2** Output description - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Address

    -

    IPv4 address of a network device.

    -

    HWaddress

    -

    MAC address of a network device.

    -

    Iface

    -

    Name of the port used by the ARP entry.

    -

    Type

    -

    Indicates whether the ARP entry is dynamic or static. A dynamic ARP entry is automatically created by the protocol stack, and a static ARP entry is added by the user.

    -
    +**Table 2** Parameter description +| Parameter| Description| +| -------- | -------- | +| Address | IPv4 address of the network device.| +| HWaddress | MAC address of the network device.| +| Iface | Name of the port used by the ARP entry.| +| Type | Whether the ARP entry is dynamic or static. A dynamic ARP entry is automatically created by the protocol stack, and a static ARP entry is added by the user. | diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-dhclient.md b/en/device-dev/kernel/kernel-small-debug-shell-net-dhclient.md index afb2a55f32..d48ba68bb6 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-dhclient.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-dhclient.md @@ -1,62 +1,45 @@ # dhclient -## Command Function - -This command is used to set and query **dhclient** parameters. - -## Syntax - -- dhclient <_netif name_\> -- dhclient -x <_netif name_\> - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -h | --help

    -

    Displays parameters supported by the dhclient command and their usage.

    -

    N/A

    -

    <netif name>

    -

    Enables Dynamic Host Configuration Protocol (DHCP) for a network interface card (NIC).

    -

    NIC name, eth0

    -

    -x <netif name>

    -

    Disables DHCP for a NIC.

    -

    NIC name, eth0

    -
    - -## Usage +## Command Function + +This command is used to set and query **dhclient** parameters. + + +## Syntax + +- dhclient <*netif name*> + +- dhclient -x <*netif name*> + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range | +| ------------------------------- | -------------------------------------------- | ---------------- | +| -h \| --help | Displays parameters supported by the **dhclient** command and their usage.| N/A | +| <netif name> | Enables Dynamic Host Configuration Protocol (DHCP) for a network interface card (NIC). | NIC name, **eth0**| +| -x <netif name> | Disables DHCP for a NIC. | NIC name, **eth0**| + + +## Usage Guidelines Run the following commands: -- dhclient eth0 -- dhclient -x eth0 +- dhclient eth0 + +- dhclient -x eth0 + +## Note + +Currently, the shell does not support this command. -## Example +## Example + +Example 1: Enable DHCP for eth0. -Example 1: enabling DHCP for eth0 ``` OHOS:/$ dhclient eth0 @@ -69,7 +52,9 @@ eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 OHOS:/$ ``` -Example 2: disabling DHCP for eth0 + +Example 2: Disable DHCP for eth0. + ``` OHOS:/$ dhclient -x eth0 @@ -81,4 +66,3 @@ lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 eth0 ip:0.0.0.0 netmask:0.0.0.0 gateway:0.0.0.0 HWaddr 42:da:81:bc:58:94 MTU:1500 Running Default Link UP ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md b/en/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md index be7d8a835a..017f799e49 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-ifconfig.md @@ -1,313 +1,157 @@ # ifconfig -## Command Function +## Command Function This command can be used to: -- Query and set parameters of a network interface card \(NIC\), such as the IP address, network mask, gateway, and MAC address. -- Enable or disable a NIC. +- Query and set parameters of a network interface card (NIC), such as the IP address, network mask, gateway, and MAC address. -## Syntax +- Enable or disable a NIC. -ifconfig \[option\] + +## Syntax + +ifconfig [option] option: -- \[_-a_\] -- <_interface_\> <_address_\> \[_netmask _\] \[_gateway _\] -- \[_hw ether _\] \[_mtu _\] -- \[_inet6 add _\] -- \[_inet6 del _\] -- \[_up|down_\] - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    No parameter

    -

    Displays all NIC information, which includes the IP address, network mask, gateway, MAC address, maximum transmission unit (MTUs), and running status of each NIC.

    -

    N/A

    -

    -a

    -

    Displays data sent and received by the protocol stack.

    -

    N/A

    -

    interface

    -

    Specifies the NIC name, for example, eth0.

    -

    N/A

    -

    address

    -

    Specifies the IP address, for example, 192.168.1.10. The NIC name must be specified.

    -

    N/A

    -

    netmask

    -

    Specifies the subnet mask, for example, 255.255.255.0.

    -

    N/A

    -

    gateway

    -

    Specifies the gateway, for example, 192.168.1.1.

    -

    N/A

    -

    hw ether

    -

    Specifies the MAC address, for example, 00:11:22:33:44:55. Currently, only the ether hardware type is supported.

    -

    N/A

    -

    mtu

    -

    Specifies the MTU size, for example, 1000.

    -
    • IPv4:

      [68,1500]

      -
    • IPv6:

      [1280, 1500]

      -
    -

    add

    -

    Specifies the IPv6 address, for example, 2001:a:b:c:d:e:f:d. The NIC name and inet6 must be specified.

    -

    N/A

    -

    del

    -

    Deletes an IPv6 address. You need to specify the NIC name and add the inet6 option. For details, see the example.

    -

    N/A

    -

    up

    -

    Enables the data processing function of the NIC. The NIC name must be specified.

    -

    N/A

    -

    down

    -

    Disables the data processing function of the NIC. The NIC name must be specified.

    -

    N/A

    -
    - -## Usage - -- The **ifconfig** command can be used only after the TCP/IP stack is enabled. -- Detecting an IP address conflict takes time. Each time you run the **ifconfig** command to set an IP address, there is a delay of about 2 seconds. - -## Example - -- ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 -- ifconfig -a -- ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d -- ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d - -## Output - -- Example 1: setting network parameters - - ``` - OHOS:/$ ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 - OHOS:/$ ifconfig - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:0 Running Link UP - eth0 ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1 - HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP - ``` - - The following table describes the output parameters. - - **Table 2** Output description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    ip

    -

    IP address of the board

    -

    netmask

    -

    Subnet mask

    -

    gateway

    -

    Gateway

    -

    HWaddr

    -

    MAC address of the board

    -

    MTU

    -

    Maximum transmission unit

    -

    Running/Stop

    -

    Indicates whether the NIC is running.

    -

    Default

    -

    Indicates that the NIC is connected to the default gateway.

    -

    Link UP/Down

    -

    Connection status of the NIC

    -
    - -- Example 2: obtaining protocol stack statistics - - ``` - OHOS # ifconfig -a - RX packets:6922 errors:0 ip dropped:4312 link dropped:67 overrun:0 bytes:0 (0.0 B) - RX packets(ip6):3 errors:0 dropped:0 overrun:0 bytes:0 (0.0 B) - TX packets:1394 errors:0 link dropped:67 overrun:0 bytes:0(0.0 B) - TX packets(ip6):3 errors:0 overrun:0 bytes:0(0.0 B) - ``` - - The following table describes the output parameters. - - **Table 3** ifconfig -a output description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    RX packets

    -

    Number of normal packets received at the IP layer.

    -

    RX error

    -

    Number of error packets received at the IP layer. The errors include the length error, verification error, IP option error, and IP header protocol error.

    -

    RX dropped

    -

    Number of packets discarded at the IP layer. Packets are discarded due to packet errors, packet forwarding failures, and disabled local NICs.

    -

    RX overrun

    -

    Number of packets that the MAC layer fails to deliver to the upper-layer protocol stack. The failure is caused by resource insufficiency at the protocol stack.

    -

    RX bytes

    -

    Total length of normal packets received at the IP layer, excluding the length of the fragments that are not reassembled.

    -

    TX packets

    -

    Number of packets that have been normally sent or forwarded at the IP layer.

    -

    TX error

    -

    Number of packets that the IP layer fails to send. Packets may fail to be sent because the packets cannot be routed or the packets fail to be processed in the protocol stack.

    -

    TX dropped

    -

    Number of packets that the MAC layer discards due to delivery failures, for example, the NIC driver fails to process the packets.

    -

    TX overrun

    -

    Reserved.

    -

    TX bytes

    -

    Total length of the packets successfully sent or forwarded at the IP layer.

    -
    - -- Example 3: setting an IPv6 address - - ``` - OHOS:/$ ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d - NetifStatusCallback(eth0): nsc event: 0x8 - NetifStatusCallback(eth0): nsc status changed: 0 - NetifStatusCallback(eth0): nsc event: 0x200 - NetifStatusCallback(eth0): nsc event: 0x8 - NetifStatusCallback(eth0): nsc status changed: 1 - NetifStatusCallback(eth0): nsc event: 0x200 - NetifStatusCallback(eth0): nsc event: 0x200 - OHOS:/$ ifconfig - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:0 Running Link UP - eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 - ip6: 2001:A:B:C:D:E:F:D/64 - HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP - ``` - -- Example 4: deleting an IPv6 address - - ``` - OHOS:/$ ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d - NetifStatusCallback(eth0): nsc event: 0x200 - OHOS:/$ ifconfig - lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 - ip6: ::1/64 - HWaddr 00 MTU:0 Running Link UP - eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 - HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP - ``` +- [_-a_] + +- <*interface*> <*address*> [_netmask <mask>_] [_gateway <address>_] + +- [_hw ether <address>_] [_mtu <size>_] + +- [_inet6 add <address>_] + +- [_inet6 del <address>_] + +- [_up|down_] + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| No parameter| Displays all NIC information, which includes the IP address, network mask, gateway, MAC address, maximum transmission unit (MTUs), and running status of each NIC.| N/A | +| -a | Displays data sent and received by the protocol stack.| N/A | +| interface | Specifies the NIC name, for example, **eth0**.| N/A | +| address | Specifies the IP address, for example, **192.168.1.10**. The NIC name must be specified.| N/A | +| netmask | Specifies the subnet mask, for example, **255.255.255.0**.| N/A | +| gateway | Specifies the gateway, for example, **192.168.1.1**.| N/A | +| hw ether | Specifies the MAC address, for example, **00:11:22:33:44:55**. Currently, only the **ether** hardware type is supported.| N/A | +| mtu | Specifies the MTU size, for example, **1000**.| - IPv4: [68, 1500]
    - IPv6:[1280, 1500] | +| add | Specifies the IPv6 address, for example, **2001:a:b:c:d:e:f:d**. The NIC name and **inet6** must be specified.| N/A | +| del | Deletes an IPv6 address. You need to specify the NIC name and add the **inet6** option. For details, see the example.| N/A | +| up | Enables the data processing function of the NIC. The NIC name must be specified.| N/A | +| down | Disables the data processing function of the NIC. The NIC name must be specified.| N/A | +## Usage Guidelines + +- This command can be used only after the TCP/IP stack is enabled. + +- Detecting an IP address conflict takes time. Each time you run the **ifconfig** command to set an IP address, there is a delay of about 2 seconds. + + +## Example + +- ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 + +- ifconfig -a + +- ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d + +- ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d + + +## Output + +- Example 1: Set network parameters. + + ``` + OHOS:/$ ifconfig eth0 192.168.100.31 netmask 255.255.255.0 gateway 192.168.100.1 hw ether 00:49:cb:6c:a1:31 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.100.31 netmask:255.255.255.0 gateway:192.168.100.1 + HWaddr 00:49:cb:6c:a1:31 MTU:1500 Running Default Link UP + ``` + + + + **Table 2** Parameter description + + | Parameter| Description| + | -------- | -------- | + | ip | IP address of the board.| + | netmask | Subnet mask.| + | gateway | Gateway.| + | HWaddr | MAC address of the board.| + | MTU | Maximum transmission unit.| + | Running/Stop | Whether the NIC is running.| + | Default | Indicates that the NIC is connected to the default gateway.| + | Link UP/Down | Connection status of the NIC.| + +- Example 2: Obtain protocol stack statistics. + + ``` + OHOS # ifconfig -a + RX packets:6922 errors:0 ip dropped:4312 link dropped:67 overrun:0 bytes:0 (0.0 B) + RX packets(ip6):3 errors:0 dropped:0 overrun:0 bytes:0 (0.0 B) + TX packets:1394 errors:0 link dropped:67 overrun:0 bytes:0(0.0 B) + TX packets(ip6):3 errors:0 overrun:0 bytes:0(0.0 B) + ``` + + + + **Table 3** ifconfig -a parameter description + + | Parameter| Description| + | -------- | -------- | + | RX packets | Number of normal packets received at the IP layer.| + | RX error | Number of error packets received at the IP layer. The errors include the length error, verification error, IP option error, and IP header protocol error.| + | RX dropped | Number of packets discarded at the IP layer. Packets are discarded due to packet errors, packet forwarding failures, and disabled local NICs.| + | RX overrun | Number of packets that the MAC layer fails to deliver to the upper-layer protocol stack. The failure is caused by resource insufficiency at the protocol stack.| + | RX bytes | Total length of normal packets received at the IP layer, excluding the length of the fragments that are not reassembled.| + | TX packets | Number of packets that have been normally sent or forwarded at the IP layer.| + | TX error | Number of packets that the IP layer fails to send. Packets may fail to be sent because the packets cannot be routed or the packets fail to be processed in the protocol stack.| + | TX dropped | Number of packets that the MAC layer discards due to delivery failures, for example, the NIC driver fails to process the packets.| + | TX overrun | Not used currently.| + | TX bytes | Total length of the packets successfully sent or forwarded at the IP layer.| + +- Example 3: Set an IPv6 address. + + ``` + OHOS:/$ ifconfig eth0 inet6 add 2001:a:b:c:d:e:f:d + NetifStatusCallback(eth0): nsc event: 0x8 + NetifStatusCallback(eth0): nsc status changed: 0 + NetifStatusCallback(eth0): nsc event: 0x200 + NetifStatusCallback(eth0): nsc event: 0x8 + NetifStatusCallback(eth0): nsc status changed: 1 + NetifStatusCallback(eth0): nsc event: 0x200 + NetifStatusCallback(eth0): nsc event: 0x200 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 + ip6: 2001:A:B:C:D:E:F:D/64 + HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP + ``` + +- Example 4: Delete an IPv6 address. + + ``` + OHOS:/$ ifconfig eth0 inet6 del 2001:a:b:c:d:e:f:d + NetifStatusCallback(eth0): nsc event: 0x200 + OHOS:/$ ifconfig + lo ip:127.0.0.1 netmask:255.0.0.0 gateway:127.0.0.1 + ip6: ::1/64 + HWaddr 00 MTU:0 Running Link UP + eth0 ip:192.168.1.10 netmask:255.255.255.0 gateway:192.168.1.1 + HWaddr 66:2f:e5:bd:24:e6 MTU:1500 Running Default Link UP + ``` diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-ipdebug.md b/en/device-dev/kernel/kernel-small-debug-shell-net-ipdebug.md index e3dcce0bd9..1fd84191a3 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-ipdebug.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-ipdebug.md @@ -1,21 +1,24 @@ # ipdebug -## Command Function +## Command Function -**ipdebug** is a console command and is used for IPv6 debugging. It can display IPv6 address prefixes, neighbor entries, destination entries, and default route entries. +**ipdebug** is a console command and is used for IPv6 debugging. It can display IPv6 address prefixes, neighbor entries, destination entries, and default route entries. -## Syntax + +## Syntax ipdebug -## Example -Run the **ipdebug** command. +## Example + +Run the **ipdebug** command. -## Output -**ipdebug** command output: +## Output + +**ipdebug** command output: ``` OHOS # ipdebug @@ -52,4 +55,3 @@ FE80::4639:C4FF:FE94:5D44 FE80::4639:C4FF:FE94:5D44 pmtu 1500 age 6 FE80::4639:C4FF:FE94:5D44 invalidation_timer 1784 flags 0 -------------------------------------------------------------------- ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-netstat.md b/en/device-dev/kernel/kernel-small-debug-shell-net-netstat.md index a383b94576..0e2052c802 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-netstat.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-netstat.md @@ -1,29 +1,37 @@ # netstat -## Command Function +## Command Function -The **netstat** command is a console command and is used for monitoring the TCP/IP network. It can display the actual network connections and the status of each network interface device. This command displays statistics related to TCP and UDP and can be used to check the network connection to each port on the device \(board\). +The **netstat** command is a console command and is used for monitoring the TCP/IP network. It can display the actual network connections and the status of each network interface device. This command displays statistics related to TCP and UDP connections and can be used to check the network connection to each port on a device (board). -## Syntax + +## Syntax netstat -## Parameters -None +## Parameters -## Usage +None. -netstat -## Example +## Usage Guidelines + +None. + +## Note -Run **netstat**. +Currently, the shell does not support this command. -## Output +## Example -**netstat** print information +Run **netstat**. + + +## Output + +**netstat** output information: ``` OHOS # netstat @@ -41,50 +49,16 @@ udp 0 0 127.0.0.1:62180 127.0.0.1:62179 udp 0 0 127.0.0.1:62178 127.0.0.1:62177 ``` -**Table 1** Output description - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Proto

    -

    Protocol type.

    -

    Recv-Q

    -

    Amount of data that is not read by the user.

    -

    For Listen TCP, the value indicates the number of TCP connections that have finished three-way handshake but are not accepted by users.

    -

    Send-Q

    -

    For a TCP connection, this value indicates the amount of data that has been sent but not acknowledged.

    -

    For a UDP connection, this value indicates the amount of data buffered before IP address resolution is complete.

    -

    Local Address

    -

    Local IP address and port number.

    -

    Foreign Address

    -

    Remote IP address and port number.

    -

    State

    -

    TCP connection status. This parameter is meaningless for UDP.

    -
    - ->![](../public_sys-resources/icon-note.gif) **NOTE:** ->The command output like "========== total sockets 32 ====== unused sockets 22 BootTime 27 s ==========" indicates that there are 32 sockets in total, 22 sockets are not used, and it has been 27 seconds since the system starts. +**Table 1** Output description + +| Parameter | Description | +| -------------------- | ------------------------------------------------------------ | +| Proto | Protocol type. | +| Recv-Q | Amount of data that is not read by the user.
    For Listen TCP, the value indicates the number of TCP connections that have finished the three-way handshake but are not accepted by users. | +| Send-Q | For a TCP connection, this value indicates the amount of data that has been sent but not acknowledged.
    For a UDP connection, this value indicates the amount of data buffered before IP address resolution is complete.| +| Local Address | Local IP address and port number. | +| Foreign Address | Remote IP address and port number. | +| State | TCP connection status. This parameter is meaningless for UDP. | +> **NOTE**
    +> The command output like "========== total sockets 32 ====== unused sockets 22 BootTime 27 s ==========" indicates that there are 32 sockets in total, 22 sockets are not used, and it has been 27 seconds since the system starts. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-ntpdate.md b/en/device-dev/kernel/kernel-small-debug-shell-net-ntpdate.md index f3fa527279..5f6605457b 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-ntpdate.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-ntpdate.md @@ -1,51 +1,41 @@ # ntpdate -## Command Function +## Command Function This command is used to synchronize system time from the server. -## Syntax -ntpdate \[_SERVER\_IP1_\] \[_SERVER\_IP2_\]... +## Syntax -## Parameters +ntpdate [_SERVER_IP1_] [_SERVER_IP2_]... -**Table 1** Parameter description - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    SERVER_IP

    -

    Specifies the IP address of the NTP server.

    -

    N/A

    -
    +## Parameters -## Usage +**Table 1** Parameter description -Run the **ntpdate **\[_SERVER\_IP1_\] \[_SERVER\_IP2_\]... command. **ntpdate** obtains and displays the time of the first server with a valid IP address. +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| SERVER_IP | Specifies the IP address of the NTP server.| N/A | -## Example -Run **ntpdate 192.168.1.3 **to update the system time. +## Usage Guidelines + +Run the **ntpdate [_SERVER_IP1_] [_SERVER_IP2_]...** command to obtain and display the time of the first server with a valid IP address. + + +## Example + +Run **ntpdate 192.168.1.3 **to update the system time. + + +## Output -## Output ``` OHOS # ntpdate 192.168.1.3 time server 192.168.1.3: Mon Jun 13 09:24:25 2016 ``` -If the time zone of the board is different from that of the server, the displayed time may be several hours different from the obtained server time. - +If the time zone of the board is different from that of the server, the displayed time may be several hours different from the server time obtained. diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-ping.md b/en/device-dev/kernel/kernel-small-debug-shell-net-ping.md index 5c709aaaf0..2abc781add 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-ping.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-ping.md @@ -1,100 +1,51 @@ # ping -## Command Function +## Command Function This command is used to test an IPv4 connection. -## Syntax - -ping _\[-4\] \[-c cnt\] \[-f\] \[-i interval\] \[-q\] \[-s size\] _ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    --help

    -

    Displays the parameters supported by the ping command.

    -

    N/A

    -

    -4

    -

    Forcibly pings the destination address using the IPv4 protocol.

    -

    0-65500

    -

    -c CNT

    -

    Specifies the number of execution times. The default value is 3.

    -

    1-65535

    -

    -f

    -

    Pings an IPv4 address in implicit mode. The default parameter configuration is equivalent to -c 15 -i 0.2.

    -

    N/A

    -

    -i interval

    -

    Specifies the interval (in ms) for sending a ping packet.

    -

    1-200

    -

    -q

    -

    Implicitly pings an IPv4 address. If the host is active, the ping stops after true is received.

    -

    N/A

    -

    -s SIZE

    -

    Specifies the size of a ping packet, in bytes. The default size is 56 bytes.

    -

    0-4088

    -

    IP

    -

    Specifies the IPv4 address to test.

    -

    N/A

    -
    - -## Usage - -- The **ping** command is used to check whether the destination IP address is reachable. -- If the destination IP address is unreachable, the system displays a message indicating that the request times out. -- If no route is available to the destination IP address, an error message is displayed. -- This command can be used only after the TCP/IP stack is enabled. - -## Example - -Run **ping 192.168.1.3**. - -## Output - -Pinging a TFTP server IP address: + +## Syntax + +ping *[-4] [-c cnt] [-f] [-i interval] [-q] [-s size] <IP>* + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| --help | Displays the parameters supported by the **ping** command.| N/A | +| -4 | Forcibly pings the destination address using the IPv4 protocol.| 0-65500 | +| -c CNT | Specifies the number of execution times. The default value is **3**.| 1-65535 | +| -f | Pings an IPv4 address in implicit mode. The default parameter configuration is equivalent to **-c 15 -i 0.2**.| N/A | +| -i interval | Specifies the interval (in ms) for sending a ping packet.| 1-200 | +| -q | Implicitly pings an IPv4 address. If the host is still alive, the ping stops after **true** is returned.| N/A | +| -s SIZE | Specifies the size of a ping packet, in bytes. The default size is **56** bytes.| 0-4088 | +| IP | Specifies the IPv4 address of the network to test.| N/A | + + +## Usage Guidelines + +- The **ping** command is used to check whether the destination IP address is reachable. + +- If the destination IP address is unreachable, the system displays a message indicating that the request times out. + +- If no route is available to the destination IP address, an error message is displayed. + +- This command can be used only after the TCP/IP protocol stack is enabled. + + +## Example + +Run **ping 192.168.1.3**. + + +## Output + +Ping a TFTP server IP address. ``` OHOS:/$ ping 192.168.1.3 @@ -106,4 +57,3 @@ Ping 192.168.1.3 (192.168.1.3): 56(84) bytes. 3 packets transmitted, 3 received, 0% packet loss round-trip min/avg/max = 0/0/0 ms ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-ping6.md b/en/device-dev/kernel/kernel-small-debug-shell-net-ping6.md index e1ec3b8529..cc71b56b59 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-ping6.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-ping6.md @@ -1,120 +1,98 @@ # ping6 -## Command Function +## Command Function This command is used to test an IPv6 network connection. -## Syntax - -ping6 _\[-c count\] \[-I interface / sourceAddress\] destination_ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -c count

    -

    Specifies the number of execution times. If this parameter is not specified, the default value is 4.

    -

    1~65535

    -

    -I interface

    -

    Performs an IPv6 ping operation for a specified NIC.

    -

    N/A

    -

    -I sourceAddress

    -

    Specifies the source IPv6 address.

    -

    N/A

    -

    destination

    -

    Specifies the IP address of the destination host.

    -

    N/A

    -
    - -## Usage - -- If the destination IPv6 address is unreachable, the system displays a message indicating that the request times out. -- If no route is available to the destination IPv6 address, an error message is displayed. -- This command can be used only after the TCP/IP protocol stack is enabled. - -## Example - -- ping6 2001:a:b:c:d:e:f:b -- ping6 -c 3 2001:a:b:c:d:e:f:b -- ping6 -I eth0 2001:a:b:c:d:e:f:b -- ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b - -## Output - -1. Output of **ping6 2001:a:b:c:d:e:f:b**: - - ``` - OHOS # ping6 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms - --- 2001:a:b:c:d:e:f:b/64 ping statistics --- - 4 packets transmitted, 4 received, 0.00% packet loss, time 20ms - rtt min/avg/max = 0/0.00/0 ms - ``` - -2. Output of **ping6 -c 3 2001:a:b:c:d:e:f:b**: - - ``` - OHOS # ping6 -c 3 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms - --- 2001:a:b:c:d:e:f:b/64 ping statistics --- - 3 packets transmitted, 3 received, 0.00% packet loss, time 20ms - rtt min/avg/max = 0/0.00/0 ms - ``` - -3. Output of **ping6 -I eth0 2001:a:b:c:d:e:f:b**: - - ``` - OHOS # ping6 -I eth0 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time=10 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms - --- 2001:a:b:c:d:e:f:b/64 ping statistics --- - 4 packets transmitted, 4 received, 0.00% packet loss, time 30msrtt min/avg/max = 0/2.50/10 ms - ``` - -4. Output of **ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b**: - - ``` - OHOS # ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms - 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms - --- 2001:a:b:c:d:e:f:b/64 ping statistics --- - 4 packets transmitted, 4 received, 0.00% packet loss, time 20msrtt min/avg/max = 0/0.00/0 ms - ``` +## Syntax +ping6 *[-c count] [-I interface / sourceAddress] destination* + + +## Parameters + +**Table 1** Parameter description + +| Parameter | Description | Value Range| +| --------------------- | ----------------------------------- | -------- | +| -c count | Specifies the number of execution times. If this parameter is not specified, the default value is **4**.| [1, 65535] | +| -I interface | Specifies the NIC for performing the ping operation. | N/A | +| -I sourceAddress | Specifies the source IPv6 address. | N/A | +| destination | Specifies the IP address of the destination host. | N/A | + + +## Usage Guidelines + +- If the destination IPv6 address is unreachable, "Request Timed Out" will be displayed. + +- If no route is available to the destination IPv6 address, "Destinatin Host Unreachable" will be displayed. + +- This command can be used only after the TCP/IP stack is enabled. + +## Note + +Currently, the shell does not support this command. + +## Example + +- ping6 2001:a:b:c:d:e:f:b + +- ping6 -c 3 2001:a:b:c:d:e:f:b + +- ping6 -I eth0 2001:a:b:c:d:e:f:b + +- ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b + + +## Output + +1. Output of **ping6 2001:a:b:c:d:e:f:b**: + + ``` + OHOS # ping6 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms + --- 2001:a:b:c:d:e:f:b/64 ping statistics --- + 4 packets transmitted, 4 received, 0.00% packet loss, time 20ms + rtt min/avg/max = 0/0.00/0 ms + ``` + +2. Output of **ping6 -c 3 2001:a:b:c:d:e:f:b**: + + ``` + OHOS # ping6 -c 3 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms + --- 2001:a:b:c:d:e:f:b/64 ping statistics --- + 3 packets transmitted, 3 received, 0.00% packet loss, time 20ms + rtt min/avg/max = 0/0.00/0 ms + ``` + +3. Output of **ping6 -I eth0 2001:a:b:c:d:e:f:b**: + + ``` + OHOS # ping6 -I eth0 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time=10 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms + --- 2001:a:b:c:d:e:f:b/64 ping statistics --- + 4 packets transmitted, 4 received, 0.00% packet loss, time 30msrtt min/avg/max = 0/2.50/10 ms + ``` + +4. Output of **ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b**: + + ``` + OHOS # ping6 -I 2001:a:b:c:d:e:f:d 2001:a:b:c:d:e:f:b PING 2001:A:B:C:D:E:F:B with 56 bytes of data. + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=1 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=2 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=3 time<1 ms + 56 bytes from 2001:A:B:C:D:E:F:B : icmp_seq=4 time<1 ms + --- 2001:a:b:c:d:e:f:b/64 ping statistics --- + 4 packets transmitted, 4 received, 0.00% packet loss, time 20msrtt min/avg/max = 0/0.00/0 ms + ``` diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-telnet.md b/en/device-dev/kernel/kernel-small-debug-shell-net-telnet.md index 8f20d27c6d..ff9fc0686e 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-telnet.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-telnet.md @@ -1,63 +1,46 @@ # telnet -## Command Function +## Command Function This command is used to enable or disable the Telnet server service. -## Syntax -telnet \[_on | off_\] +## Syntax -## Parameters +telnet [_on | off_] -**Table 1** Parameter description - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    on

    -

    Enables the Telnet server service.

    -

    N/A

    -

    off

    -

    Disables the Telnet server service.

    -

    N/A

    -
    +## Parameters -## Usage +**Table 1** Parameter description -- Before enabling Telnet, ensure that the network driver and network protocol stack have been initialized and the NIC of the board is in the **link up** state. -- Currently, multiple clients \(Telnet + IP\) cannot connect to the development board at the same time. +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| on | Enables the telnet server service.| N/A | +| off | Disables the telnet server service.| N/A | - >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >Telnet is used for debugging and is disabled by default. Do not use it in formal products. +## Usage Guidelines -## Example +- Before enabling Telnet, ensure that the network driver and network protocol stack have been initialized and the NIC of the board is in the **link up** state. -Run **telnet on**. +- Currently, multiple clients (Telnet + IP) cannot connect to the development board at the same time. + > **NOTICE**
    + > Telnet is used for debugging and is disabled by default. Do not use it in formal products. -## Output + +## Example + +Run **telnet on**. + + +## Output Command output: + ``` OHOS # telnet on OHOS # start telnet server successfully, waiting for connection. ``` - diff --git a/en/device-dev/kernel/kernel-small-debug-shell-net-tftp.md b/en/device-dev/kernel/kernel-small-debug-shell-net-tftp.md index d5fd3fb26a..ca0227eed9 100644 --- a/en/device-dev/kernel/kernel-small-debug-shell-net-tftp.md +++ b/en/device-dev/kernel/kernel-small-debug-shell-net-tftp.md @@ -1,81 +1,52 @@ # tftp -## Command Function - -Trivial File Transfer Protocol \(TFTP\) is a protocol in the TCP/IP protocol suite for transferring files between clients and servers. TFTP provides simple and low-overhead file transfer services. The port number is 69. - -The **tftp** command is used to transfer files with a TFTP server. - -## Syntax - -./bin/tftp _<-g/-p\>_ _-l_ _\[FullPathLocalFile\] -r \[RemoteFile\] \[Host\]_ - -## Parameters - -**Table 1** Parameter description - - - - - - - - - - - - - - - - - - - - - - - - -

    Parameter

    -

    Description

    -

    Value Range

    -

    -g/-p

    -

    Specifies the file transfer direction.

    -
    • -g: downloads files from the TFTP server.
    • -p: uploads files to the TFTP server.
    -

    N/A

    -

    -l FullPathLocalFile

    -

    Specifies the complete path of a local file.

    -

    N/A

    -

    -r RemoteFile

    -

    Specifies the file name on the server.

    -

    N/A

    -

    Host

    -

    Specifies the server IP address.

    -

    N/A

    -
    - -## Usage - -1. Deploy a TFTP server on the server and configure the TFTP server correctly. -2. Use the **tftp** command to upload and download files on the OpenHarmony board. -3. The size of the file to be transferred cannot exceed 32 MB. - - >![](../public_sys-resources/icon-notice.gif) **NOTICE:** - >TFTP is used for debugging and disabled by default. Do not use it in formal products. - - -## Example - -Download the **out** file from the server. - -## Output +## Command Function + +Trivial File Transfer Protocol (TFTP) is a protocol in the TCP/IP protocol suite for transferring files between clients and servers. TFTP provides simple and low-overhead file transfer services. The port number is 69. + +The **tftp** command is used to transfer files with a TFTP server. + + +## Syntax + +./bin/tftp *<-g/-p>**-l**[FullPathLocalFile] -r [RemoteFile] [Host]* + + +## Parameters + +**Table 1** Parameter description + +| Parameter| Description| Value Range| +| -------- | -------- | -------- | +| -g/-p | Specifies the file transfer direction.
    - **-g**: obtains a file from the TFTP server.
    - **-p**: uploads a file to the TFTP server.| N/A | +| -l FullPathLocalFile | Specifies the complete path of a local file.| N/A | +| -r RemoteFile | Specifies the file name on the server.| N/A | +| Host | Specifies the server IP address.| N/A | + + +## Usage Guidelines + +1. Deploy a TFTP server on the server and configure the TFTP server correctly. + +2. Use the **tftp** command to upload files from or download files to an OpenHarmony board. + +3. The size of the file to be transferred cannot exceed 32 MB. + > **NOTICE**
    + > TFTP is used for debugging and disabled by default. Do not use it in formal products. + + +## Example + +Download the **out** file from the server. + + +## Output + ``` OHOS # ./bin/tftp -g -l /nfs/out -r out 192.168.1.2 TFTP transfer finish ``` -After the **tftp** command is executed, **TFTP transfer finish** is displayed if the file transfer is complete. If the file transfer fails, other information is displayed to help locate the fault. - +After the **tftp** command is executed, **TFTP transfer finish** is displayed if the file transfer is complete. If the file transfer fails, other information is displayed to help locate the fault. -- GitLab