From 03abe9a910ccba519472899ef18e38c48e92201b Mon Sep 17 00:00:00 2001 From: Daniel Hammer Date: Wed, 18 Feb 2026 15:21:06 +0100 Subject: [PATCH] feat(programs/shell): Shell improvements (inc. cwd support) --- programs/bin/shell.elf | Bin 45392 -> 58160 bytes programs/man/shell.1 | 23 +++-- programs/obj/shell/main.o | Bin 92944 -> 114296 bytes programs/src/shell/main.cpp | 166 +++++++++++++++++++++++++++++++----- ramdisk.tar | Bin 6164480 -> 6174720 bytes 5 files changed, 163 insertions(+), 26 deletions(-) diff --git a/programs/bin/shell.elf b/programs/bin/shell.elf index faab84647d9214773d2c6fa7d36a1d84d63ac019..86d9d599f5a5f181852f4953540e15925b030304 100755 GIT binary patch literal 58160 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 literal 45392 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 CW%~C3 diff --git a/programs/man/shell.1 b/programs/man/shell.1 index 0207f8b..2dcff32 100644 --- a/programs/man/shell.1 +++ b/programs/man/shell.1 @@ -18,17 +18,28 @@ .SS man Open a manual page in the fullscreen pager. See man(1). -.SS ls - List all files on the ramdisk (drive 0:/). +.SS ls [dir] + List files in the current directory, or in the specified + directory. When a directory argument is given, the output + shows only the entries inside that directory with the + directory prefix stripped. + Examples: ls, ls man + +.SS cd [dir] + Change the working directory. With no argument or with /, + returns to the root (0:/). Use cd .. to go up one level. + The shell prompt reflects the current directory. + Examples: cd man, cd .., cd .SS cat - Print the contents of a ramdisk file to the terminal. + Print the contents of a file to the terminal. The file + path is resolved relative to the current directory. Example: cat hello.elf .SS run - Spawn a new process from an ELF binary on the ramdisk and wait - for it to exit. The shell blocks until the child process - terminates. + Spawn a new process from an ELF binary and wait for it to + exit. The file path is resolved relative to the current + directory. The shell blocks until the child process terminates. Example: run hello.elf .SS ping diff --git a/programs/obj/shell/main.o b/programs/obj/shell/main.o index 72939d873d995babb02c855a4dc0c0f93aa5607b..a2ce1315e94bc4bed55e919b14e014e237bfd10f 100644 GIT binary patch literal 114296 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

lBAPipM#{Jv@rXJH_2Siu0V} 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 ITF>kMFX6dkSpWb4 literal 92944 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" +static void build_dir_path(const char* dir, char* out, int outMax) { + int i = 0; + out[i++] = '0'; out[i++] = ':'; out[i++] = '/'; + if (dir && dir[0]) { + int j = 0; + while (dir[j] && i < outMax - 1) out[i++] = dir[j++]; + } + out[i] = '\0'; +} + static void print_int(uint64_t n) { if (n == 0) { zenith::putchar('0'); @@ -44,7 +79,9 @@ static void print_int(uint64_t n) { } static void prompt() { - zenith::print("% "); + zenith::print("0:/"); + if (cwd[0]) zenith::print(cwd); + zenith::print("> "); } static void cmd_help() { @@ -52,7 +89,8 @@ static void cmd_help() { zenith::print(" help Show this help message\n"); zenith::print(" info Show system information\n"); zenith::print(" man View manual pages\n"); - zenith::print(" ls List ramdisk files\n"); + zenith::print(" ls [dir] List files in directory\n"); + zenith::print(" cd [dir] Change working directory\n"); zenith::print(" cat Display file contents\n"); zenith::print(" run Spawn a new process from an ELF file\n"); zenith::print(" ping Send ICMP echo requests\n"); @@ -73,16 +111,53 @@ static void cmd_info() { zenith::putchar('\n'); } -static void cmd_ls() { +static void cmd_ls(const char* arg) { + arg = skip_spaces(arg); + + // Build the target directory (relative path from root) + char dir[128]; + if (*arg) { + // ls

— combine cwd and arg + if (cwd[0]) { + int i = 0, j = 0; + while (cwd[j] && i < 126) dir[i++] = cwd[j++]; + dir[i++] = '/'; + j = 0; + while (arg[j] && i < 126) dir[i++] = arg[j++]; + dir[i] = '\0'; + } else { + int i = 0; + while (arg[i] && i < 126) { dir[i] = arg[i]; i++; } + dir[i] = '\0'; + } + } else { + // ls with no arg — use cwd + int i = 0; + while (cwd[i] && i < 126) { dir[i] = cwd[i]; i++; } + dir[i] = '\0'; + } + + char path[128]; + build_dir_path(dir, path, sizeof(path)); + const char* entries[64]; - int count = zenith::readdir("0:/", entries, 64); + int count = zenith::readdir(path, entries, 64); if (count <= 0) { zenith::print("(empty)\n"); return; } + + // Prefix to strip: "dir/" (if dir is non-empty) + int prefixLen = 0; + if (dir[0]) prefixLen = slen(dir) + 1; + for (int i = 0; i < count; i++) { zenith::print(" "); - zenith::print(entries[i]); + if (prefixLen > 0 && starts_with(entries[i], dir)) { + zenith::print(entries[i] + prefixLen); + } else { + zenith::print(entries[i]); + } zenith::putchar('\n'); } } @@ -94,14 +169,8 @@ static void cmd_cat(const char* arg) { return; } - // Build path "0:/" char path[128]; - const char* prefix = "0:/"; - int i = 0; - while (prefix[i]) { path[i] = prefix[i]; i++; } - int j = 0; - while (arg[j] && i < 126) { path[i++] = arg[j++]; } - path[i] = '\0'; + resolve_path(arg, path, sizeof(path)); int handle = zenith::open(path); if (handle < 0) { @@ -232,14 +301,8 @@ static void cmd_run(const char* arg) { return; } - // Build path "0:/" char path[128]; - const char* prefix = "0:/"; - int i = 0; - while (prefix[i]) { path[i] = prefix[i]; i++; } - int j = 0; - while (arg[j] && i < 126) { path[i++] = arg[j++]; } - path[i] = '\0'; + resolve_path(arg, path, sizeof(path)); int pid = zenith::spawn(path); if (pid < 0) { @@ -251,6 +314,63 @@ static void cmd_run(const char* arg) { } } +static void cmd_cd(const char* arg) { + arg = skip_spaces(arg); + + // cd or cd / → go to root + if (*arg == '\0' || streq(arg, "/")) { + cwd[0] = '\0'; + return; + } + + // cd .. → go up one level + if (streq(arg, "..")) { + int len = slen(cwd); + int last = -1; + for (int i = 0; i < len; i++) { + if (cwd[i] == '/') last = i; + } + if (last >= 0) { + cwd[last] = '\0'; + } else { + cwd[0] = '\0'; + } + return; + } + + // Build target directory path + char target[128]; + if (cwd[0]) { + int i = 0, j = 0; + while (cwd[j] && i < 126) target[i++] = cwd[j++]; + target[i++] = '/'; + j = 0; + while (arg[j] && i < 126) target[i++] = arg[j++]; + target[i] = '\0'; + } else { + int i = 0; + while (arg[i] && i < 126) { target[i] = arg[i]; i++; } + target[i] = '\0'; + } + + // Validate: try readdir on the target + char path[128]; + build_dir_path(target, path, sizeof(path)); + const char* entries[1]; + int count = zenith::readdir(path, entries, 1); + if (count < 0) { + zenith::print("cd: no such directory: "); + zenith::print(arg); + zenith::putchar('\n'); + return; + } + + // Set cwd + int i = 0; + while (target[i] && i < 126) { cwd[i] = target[i]; i++; } + cwd[i] = '\0'; +} + static void cmd_man(const char* arg) { arg = skip_spaces(arg); if (*arg == '\0') { @@ -282,8 +402,14 @@ static void process_command(const char* line) { cmd_help(); } else if (streq(line, "info")) { cmd_info(); + } else if (starts_with(line, "ls ")) { + cmd_ls(line + 3); } else if (streq(line, "ls")) { - cmd_ls(); + cmd_ls(""); + } else if (starts_with(line, "cd ")) { + cmd_cd(line + 3); + } else if (streq(line, "cd")) { + cmd_cd(""); } else if (starts_with(line, "man ")) { cmd_man(line + 4); } else if (streq(line, "man")) { diff --git a/ramdisk.tar b/ramdisk.tar index 28132ae636a513c78efb2f77fa7a5c8e8ec0f71f..a62692f1ea438a131f45b17220d9d5262f694e11 100644 GIT binary patch delta 44019 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 delta 33795 zcmc(IcYIaF*7nTVd!Lqal9Nu(Ng+UhKqv`C2$Dz(5CKIL6@(lFL;(?k3Yu){k?2*y zw)GW6>|PbU7C?#yP(i&G)a%9GuW+$oZz$ihX3tDc!1ufF`~CB6erso~nP<&fv!?EL zSaSGh&yw4J_N=}(wW4QbKi0EXMejZptf-Gu^Lzfe%Q?S-3-aKv0Wv`r$P4m;{Gb3R z2ucDagHk}Lpb#hxlnx4mGC-N2EKoKm2b2rS1GNL?Z{|F*Y;a!hzCHV~UVVC1_Nl0> zByW25>eIV-B`b1vj?K<>#{Hgu@@8HW`Nh*CScIc))`Etj`q{IKX3UyBeL>NMbBh|z zn_e`(e$KhG7FO~e{>M$PFp6KYNyU)%g!?b0unco++9@>LZrOr5bhv}p*hUA~)F6*YXn zq9wGVfit!R#GdSlQ|;AHoZ&2~G4gv3Wo%Wlx3+m#Xw#~kv}#tnyoIlLe&M0eCZl%R z3(J3PwCh*2G)!K;i;rx6t9IIJ&g#peJ?v0nHCtt7*Mv5i>9x)KRY6_fSu0yYtF|GrZrX=i{PdR+hxPh# zWb>Z7s~_4ATrD6g_981(xB_Q_{I=yNYEakZJLl{hB3<}?XXOo%u6FIxXQ<|9*G#IJ zTysv%l*zk8g-b|bi;2@VMwM#*AY>hSQ>NE!r;M5%`N*kj{;;n3>yU-N0<^8Co9JrX z6)Hr0wgdnd4j#ImDn6mM`7<5%<$a!6;s!lyhVt~-*mpQK_A`$T|<-eTn#!NHwWz{>oXpCXz9!cKH`eMBpaxUai71>OX}gL5W;(!(5@ltaH)7 zJnc3IuZhg&o@r^$rPoGo_bg9y+O3WZ@ieA6Q&vZ2cy3N}_Nim$fd7!TOXvn&% z@tK;Zw;|!c%jgDm&2DP#wBNSvPIHRZM9%O8(w#+XBHjD#PnS)LDp0Fevu&bfx9<_o z>=$iTv;Cbm(l2Swdut*kPRo-Xzg_cGFJy|w6son&`!SGm4QlV7LRQW8p~8eJiG|6a zD~Z1X)ALVKk-Kf2alq>`LL)l^qyNG zR4^T^6slLRqd%A#GNhi{MSHi-4@WSBhGNhUqsih?lvdmP_R!{*r!rBAC(na?$S($i zGjClar`|$@LYv0WOz~cA^IJokcWs#k%u{(lA1VkHvi`3wED3Eo1yj&Y9@;dV*IwPk zSG?BXt8M;cMa#mE`tJ&@coJnuBL!q+HW>*@|Ad*Y7Q&*;^lI5UhY&f`&Y?}Kuc7GD zWc6BT#T?W5W?dx1TTJE5an4^CiFO^*R(D#W?)3?}l~T7O=}r^6c0pU+`H8wWC+HHc zf2PrJptkw_q0KwDbU_{hxG-|43nqi1$b4a8AyuGu`EwweSsQ$zO=&A$TliUjH2W(E z0qQj`vHW%E)wZtK-vJN?M6*nSIbmtnmhP~0D0{~0{`<(l>8%D3e-oT(f;*!XUP5wl7H#YqmeqM%v#-Vi}3WbZ#R} zZ6mF2Bek@V4kSni?I7mq*2!Y!JE3dN`|aq_n(Z{!mmlIaJKQDnL$P$#JXM5b(GHl7 zRC^rk3k|muViA6o7U7V9VVzY|otz)fO9%w8hkv&**{Hzmpb1h)SS4$=Uyy*kYDd~1 zh$c-v2S)w~1LU4)=Yyk=(OLl+dN@>ziHKYwoto{m->BJ94IZALW7jqRTkH(%YgQv| z`2kdv8o&1H70-$tLGw!LD41QaDAa7f60V3E)Lm5~RteNhxS(c3$hB7q6>Nn3wI}Re zxaZ)bus&mT?bVl=2mXmZc<>I$u6x_y-qXFQ4?bm6PBU@@?(jE|E+el+Ph2V@fc?b5 znOgTlt-G7RW02t%_4s!X2dk3qA*q)uSqCN}WCu$~q6xHR>j^0MP*!#S=N9r)oQv*= zw6hoXkzI9TLey)vKb9aJd<7A4ZT;{A%4>m$Np;I$DlBJc|D6j9Fsq-0`C*rsfH04! z3F70S{aHh~8rVCbp!yE}QZsh8w)rzfs@tg3QMMa{&B6o3pjQh*q{AG03n@XT#>tzi|G5qG|PW=U&)Qbm6?|bBjt@Y0!COW26_9 z{x;~m>9gmtS#xJx$Yw8KbL!_Zl)~mOoXh6Tnmdy%oYydG&U7|y_VoJsjP~fPsOYTe zb7wW2H+FoGb#&%E9O)VCJbli*hDBY1*pA=xaHJ?{K@rP8yZ0!ZYMr+pjudYG;o*p% z7trN}Jj7K-;-$la;O6mvi&Sv?WlU!l<224#-)c;O#a)TT@f`Jngd^4OyA)z7_tLg9 z)ngsOpU7a0h0eL7kkQYyX3cG2ksjd7awiegZ@q;-ky`AE%X8;a3iodn%D!u`3`b71 zY{n|{uAm&#*GSlMociUF58bZ8see(Lc|T8k9vjOSAa)0_zw#8~{jB>&6#M`W?Sqt- zM&{lCmzrkwKs`=)5jy7M+_;T$2P|kfmw79B(h*1leS?zr<1Z_}!iF1G(o~!SYk^O_ zg^~l;;uIp52kt@r(unm0J_R71SR*hJ=Pum-asy}S;YDRr=o;x zV*LTyI^+-=2t0<=+*=sx9}GMVK97=<0$#A~h)oVOpx}IBQvypV(!{0)$kiyZp};x7 z77&{j=nl4!*z`aP07b-x15IFyiOmRX0Nb9}%)mjgCB$Y0PBme_1M%5`5Q^wXY)*jM zt`o7jf%jp#l-RtgcTuHUt5C~A{6?8h$rt?TTokpiAbUL3-3+c3kPFKGTPmzM|7FbTZ*zFhr+zIOTqe6Hz+JnUC!kL8gjWn>cYXMuzf1v3Rq8JUf2YE)t4axjZQJ}Ss#D_ zK?LO#9%;;j((}l<9ST>1lJD!?3Ny4qN8u=XG0%C6{MroEuYmsuV$pv?YL5c*c&dqR z$$x>I1LNr+n;R93Re|dbVp)VeEZr!SrRMXjfl6;SQ0Ie$8ciOHNKKfigo!B6nxUX; zk#nDmRtZ zpGg!JGIuGM2Ces@)GLM#9X)u~Af@L3b)!IvX!1xT_Vf%G!CT_kOTkb*i{Aafa}3sst-IXNY{!5&Mn@hq};gM^KL zfO#F{qh8y_#`)UD>&UtxoQ+tEYJ3U!A&@YkPzL)%n6TY?SQJZ;u#p8O1LXVeSR2c= z4FjF+rtl(VqdVYbAYntH43+_u3e_-V4*>}i6TplI`Ro#c$XInz0jNhW&QPwBa2pJz z@d+Mmk-DnlDIIC%nk|b^yW|NFKi2*!j+PEO+VS)cQ_-oYHB_Df&aM{O8RCpZB0MfA z!!`%*T>vs@@lYz3=9Gr2-bz51gWR3~=6aB!3udMshXbvEC|#lZo7hc9h7KwpthqVLFIQH(L#YfTtSX$v6sI)Ys>1#-V26O*b_FvY zlxXz~ZB=oqjDg{wmDM>=x&S1sDxAd>r!-W6R|2{mWV`JO?s`z7)#=)*;#3(`;W=PM zZ+Zwy4}gSKg|nFAl!mhUETFqVZnJ`U-Ns2;HE3>HpsgxSmB9yv-LVRdLm**Nfh?`4 z;L4Ro;Fjjn zT{Jr>s|mNB_(Fhsz)BfNEC@=&$0}&HzhR(QJ8O|W+{Q_`b{3e^K|TSI3xb$9Khhyl z9NJtQL&D#YJ(|H5K=mS!h>F5lOmRv>MP(VFOF-PFuv`ajH7K$9ztUC}ry@Hvd|sNg zx&cb-LBguSSxj+CLs@+i(9IxG;pf5Z38MceT0NqzDh?GC$FT4}mDNw6`2k48R^cp0 z_raB=Bgp<0BrK(3#tnje0+ATnq!c;-87wKKTG&xO4-eO&Sw(D1q1zE8YN>G6aT?0@ zU_b|fgzd3lP6j1bGEbT^Se~-4td0opR90s~YdT0+RVo%#+WM)i+JH8Kgw<=oTn&;| zQ|L0WpH$>*JOVW`vjaLdA8I4#ULfxViFhiQAz zz-ieVs4f#J{x1RYB1ptv!AusX=*oTeXUP5pB;x-AnD0Qon+TEEpEpVy22&hjB#sH$ z+3-qq=M+o^Ng&a&Yz4HAQ&F~~z~+O5?e1X8K+>#1J?lwrRdE=p;^3#}iW?DwpfM06 zOe&B?iemj`3a`4`$-s^V36qn-oDEVn73)M+YPD;DDK6xiWPDt0TS(gLwDiS)H@s8C@Gc1jGX%arL+z%vKOfeit_^Zq@!N zu9NhyHxKvA28vd@TT`p5MKW#&Nd>j9PUGQc$PP{JFQVAzL82-OXt7(JeGf-7Y`Tr} z335LIiGY0v<{OZ7zJM%kl*OZGNKQ>T>D*mclaLSq2_p)GUU3Xu^@=%tVkIl;5QqXNp756-Pgw{V5edF_{JY zOpsyI^@&0nno~N;-=)CXAQ7Q8V6Fv8cST#IhpL4UgDDO>M{)G$*=OZQv-d;mUXX~A z08$Uerd?_)9c7jtE^Yz|vwOij2TC-Xr_CxZEX|(4vtLza{|T*sfP`5E#9{ztF@jR0 zjxzf-uwR0N*`r{72PK*1|E16EF!yeBwvfCkOG|Uyu z(wu_v9_}zd0|^sABE|~tI}WZ|^g=-AfJBShU>ZTPMcv!a_J(BFHO@9+emsL0ErvH@ z+IN7x5hNBi1v3Op&Gh#o`)-gZe>0dTKt3u+8A+xk=3!~W&>Z@+I40V>=&&-l2g=Wa zMCFu@b)1eez8}yxLBjX}F#iHcy9H!+hc>G?H9eoni$oQF38DRef|@X?P?pxz^MSnI z9>7xPqm3-}-8?WkAXU{oYC`q!!NX3(ecuy#cn_W?h|$;u&{B{Hr-I=L&S}7@_Nqbt zV2~*P6fk2!KDuMAjEKqZUZ2}$22-4h=U^TlgiVq=$3k}|NYqUMtz%SBe`S0rur^2- zUjyb^khCkzKB3JjPMNLd;m4HO`=NC&NSIYXiz!a2NUJv63GCA#VRj#wS3rqocWbkX zQ_WJt!(F1Xwg;j0IY^jQKnu5*+)ybMRauUW`cc5$E9i7cAyA^(7qwZ%Dc6Va@Oovo z3$#i>!mI*XOmRv@nXLhIFvx9SF!orS63xD)%_>g0K9q;EFbleE3$2+TVO9YxrZ}ad z%q}HMAh&73TniFb(f$QALwzL8;-XV>YEc@=lf>kt(tXDv)Z}zO3cVL3oKo<>ad71n zT`N7Uz1j!q6_AVtbD#Oqb0zW2?qS!g zRA_w-pFRimrpI$%P^PhFe^d5bkiJZ(VsmD(uf#*d0xbPuP|o@6ut+!=!e~k$!{3Xf zdWdI(Qs_w-^Hj?_SnOd)pJi`^$KvT%6CjI0EM+?8l;41(gR`e`{ytJs1b!|uZUE#u z5MK=8PB0rl{u<0pO2uHWK*h5t%10sfF=YRZ@Dm{H2D3A4Lz)WdHAt_5e1uQB04X0s z`VfS}EW@Rl&!`px*PQAhzvkXigkmZI`VI)Ru#@VPD5E;1!x>3tlkXfCXh603#(Pys^U~^f6nIU za-y#HLhEjju&QttQ=HOJR-XoR2S`|b15gt7|%BAK#zA@>=v_HnEVD39eizh7dZf1 z+SB;zjxsuea%RnAds6BBgi|4n0S$?It4W33AkL^^M}o1}Q%51;0w89Ae1ApBIrAGD z*c<7Ck=}^3MWB=#^w&@8igD_0jKMMTLUs^Om&h_Q*&9;u4i4b z7+-e-dMBt8jW02*o`CciNQ|gGV4elZ2RVbOJU9M=MY@Xro9(`XAEMRYgu)vj(F6)- zFvTei)dXJw`UOZd!5?6bfK&&+0@K7qSqn6}vaibcAbMU0Xs!k-8&%5$xeYH>(D0H| z8lH=Li7`#r)SW=WYJV_&LCPv^i{?p1t~t0xht2l4dylNrRpBUT)q;dorD7bbqBkrt zK&OI))%jrNfuvP&)8;yDmEIqC@QTn4` z9s&6d5kgK=!p6PY#&5`ax80q}#tVS&1&OIpp>U@X3x_iCaTeUad}~_dECCiWL;FD;+~zmq^Qy4!CL^B-m||aZ|HrBv}||+a-Sg{mV=Hn zTd}H1cW2M)B%{PrLF3|eGCB8TOJ<9LY z1#+i~GSuHk$t8m!8*8@MNu$7A48?h%q|+hX0%i>fF$g=sYy%CO1EJcgrY^+Bi8By$ zk@zp<#|zo-E33`Wx&kDuDxjrRl!mf;GoUwt zgw^}N+yhcp={o2^ZB=oq>0ZpW$9IM%y>7G_T2Fw4RRy%PvQkl3UwZ(379_0x6U;wA z(yAC3Tn-F_)uR<&32!1pG|E2*@H3DY7`B30tN}1pr=!UK9VAK*;le%zgm1pI2`27} zXXwHAU&z{*nTJ6lDpLx0N06|gPzEEEsz5(v_sPZlD{PE_Gz{bu5IOj|Doq-EbVq__ z>kemlaZ_lj96{&E=HqLrhj+vpwW*NSsIyVl1dwoZi3D>-Z_#bZd|J7=i0oeinDA4< z3;|PqUWx2gAmQeJfw>vvqk?3#nMsYjTH8>Z>L*(>E4#|DJOI`EL2iF04XP3DN=Rj; zqHNQhn5`gT`|n_003~*sUo&#-mk2_2PL|9BdjW%!30P4m5Q?Z6|i4`gw;R5 z905tI87fFL={*ArG#@Tt{-f@m{#F0elZi%}(>u{ot#>rq4R} zQtV>Hc0c{%`q_-H6T6n|4^hHxK`N(n`Ygt87rPX@bNVzq2NACtA{3(UE1i^XNlG<8{Xu6q>&SPcl5H8VuQg&ECt3;}+Bfn* z=aG;LVG)>1+M)mZABCh!v&4Y#ERXVSNPQTXhe+W$2v39ALBc)=FN66z3GYI956n9x zd=B9YF#iVmu7z7k-y)?w?f?~maQJC2G)sEU*?Jm(e5t$F?gdB>keCV-#vqKI6|0eb zB1jC3abU)Pd;%e7EO}umo8Kc|YCSvq-xM3#1=IsS8N^aL!jYc=qw$AOMQ}d9U_v?g za^zeB%tDaxg<{y01~#|1@kt@M+jl-5Tt`39OhQox>(y% zTu@{(wldtO2a4GZ(63PVIUn}LtfYX3R#qyWcz5@*6(RD0gb#UOazKew;Sy=pV2V>q zW<2w+WR(`#&QR(E5=IFp;%^T;gOpY3O!w)!Do$CQoL$%xinQWR zgwp9CVO8M_p)2ew6}9@#19mP*SX~0936yBHMO#&z+C0t9zCl^N8A>;SgjIzznBrUw z*jH8`0d^xuSZx9G6e!W^8#=;@Q!B@u>;R@0QP=%YdJ`n9DxAd>r!r!>{ZS6C8%SC;s1G03 z5mub)kh~#Vbl~C87zz?56$ra?si@$p|4smOJV?}YI+$r7k3;rx~$!vCaWVB z8CLOcEKR*Du*+rTMGZ(PxVbm_zjrPk*cZ{1pDvb)k|2_?iZb3oS~?#O@s%ZdC7EQl-$qDB>TINN{e$|HatAlw0rdA?DL?C}Lyl$F=Q+rCIim?1*oEq;&T3?OJtb>h9)94dWD&RDgAxpU% zeq8)Ll+U9K*v0rCl@EVC^9pDdYNBLPWSJd+s?J=7(occ-fW#*_o9K2YxLuLi1EmxA z_5TLUGB+W&G&4uyeyoK3)?#D`@?kiV*-skIY#X4_cc27MR%Wrxc6C@N4)8+$bqG-xq3=e#xGwOlZBKn7e3)vxwg>U7&uANnLK+^Sv%t|y<6#;yo*T+Uzvx4K zMD)f`BRHBF!n9-aT+xA=CETA1yP_X;3-6rzOTnMyTBa^T>u#7fX`Xn#n@U~fUpjSV z@hFNvE1ZT?h6t$UApF^Hg^tsJFfs*b0~J4Yt~4E11Ww zKH23fk$e`h>GP*IFi%Z7btD#|en&U|L}?YRrB$?+R?%8og(%D|p;DGWosnL05G9nh zmQX56u)VnG@RW)oT)oax51o_I_W?pL(yA8`dM-99vD8VQRoEXLB>CU*az~X)7UJ{tQOfG z_BHE4X$Pa zC(~OFEnYVs4~nP&yOtkD@|B=vprj)>Z3Nv15|5FTf``$}bu_z$+K6`huK=+J#FA;u z9hT*C&1E2q#vk+X$ix9qqGw9qK;dhUc%~F6L?%ew|5gQHk0Fbq0_afBmvRBk28riO zoxyY>fgUeagE{ZbOo-Aj(qqot|Pm;@3%LIDj{ zPP3tWv~)4D8$cqwtH7)P`2<25L?fxLSD6AAj%_ui+n%G%)FeBoci|d_oTTU6l9A zIF)ZX$(oQeG3iXGVB6@t{A(mTGg!$+0GL$CdS!TWHlGA^vQvFgMlMfrrd*ei-7U2P zOG-L1$$)#Iay}xXsMsKTX(O2@w+T15(kojnI_1Ab3aZNa;5;LBK(U9sn43B>qbiRy zvd9U%^XHpb%+Iu3ud|^HBv=0CIK?l8GrhT-kIdjs;j_{FKr!mo1ODbasYfE&C6R2Q zVJM9#m5N%mmRUgVXBJ~`5MoKiehNcTIag+iQ;Kk>2WiF5N1uf=`?OCHP;Cy;~GY{jBAdpJ9%XJpzvsrks+UP&@`B;Y5#bZvqo zGdys$qP#VUDu`WqIXkWuuxTqtYoi6R?M>$$Q!|o`!u-MsIq5tN?cPteG_EuIXYiz? zRTFsNiAAD}YII|TJ%<9d@n?t7ZN#@i!;Qs3S&PU022Mz}KcxTPx%xv4|uSVCv1vnmhjWav; z;is5=281rR{Y4%8MV;2L_Q7f+Vh$LG%yAQtxxx3i5B%f4O+H9ld@qr7)PH9Hf9?$2 z7vQJhc9oZdew6c($wHo!)|>bHHu~uAF5e#di)n@a*?vnpfVY?ZcO|*b5Wl092M|Bg zpuXaU34fJRI@VKWBmg~q)-&`p?p3NLezf2s=I`IZ-@ns((?k$DF%S2vPq$M&1J*M$ zQAPnmzVV}I)TvI%G;Qxp9k5grU&609Q^N>txT7m{++{)f(!0cmKcD!I`tj$3z^|}m z{uJDpgg?8Io=nD{x05%g;LkHDFXNBva zd;DF72dV|ID;i;Vip#TBA3WYJ5@50*G=uF>M!T-y*7?`@g-w{46mVWOqb0V6nkn;` zakX@}Jz6G23H0kvbRZ!VX^Rl)XxK}25jhA-&Oij^NB@uhR)?td6F@cQlB?7ptHzv{lO`S-!GU_tT%Bxt#ySOBz) z!p32O^s5ioeV!9(D%76B9hz~Jf1#jphpII5CZu~R*C)s}YXiiud#cZ={Xv6%s*4WH zg$e0YK%$(8gTDF#8~XHPURqzLOMO?yMz{?SpdR7-`OGyR!f9W~HLWs2q6l(Yq)`8Bi-jBNb5R73eqT$p1|s}D0vf(HGbo$Cs%9bPvF_C@uneSIa^v|$R@I)=Y`J)r)2S$KrpNt6={O-!fF zUxJz{M>$DL1vAiI%xkxPI@u*@0b9c&B`sz}$Mt5H%9K{Igs(R%Pm~E;kdFk~{wiez zntpFj)-EBP0*xB|DGqVms6ORQ@+`o807`I6Ns=wpDkC2X`1ny+Nux*r-zuYF+Q`%} z+^;@i#3Hv;JBV_0x=n@>6B2=l;o?-+VAS0uw2G&Yminv^E67G&JlxRfvKm@W#6f>! zs=N_~0MhUF(IM)gKOj_bkZ!cW!9D%8AnjWdMQmcYUwz=088mk4(qUGodn#>Fd!29$ zP=BC@4uxuIQF^6iWTRO1iCs$2pkD^mmC@-^P0PU98i?+sK9)mkZPxyx`{;BkAW=@l z!N05I&H?qMU)OaVz=WyONk35z8g?rX0o$Nf15bYumsZ&w_pP#1`1rgTx#La|Gm-<>x#6e$w3Y6#=?78Wf|NOFmKLw(I7h7vU zzoo2epwp$kmV-ts4*G9Nee5UOtR^BI_O%0l3Pg8Nw?@#fTYF0&A)OpZloN3nhr(qq z^HdAQWZiJd*zHOWu2$B2?49)Y4bR8;gApvS;_RKO@rE(aUT+%dSXk0aaYZq8s&Nq# zrd|&I@}*o{fcr0#aJqXVFE_k~QO)QuSu%8!>G~+r4Rb#(XSnnS^{31A31&_=IDjGW zo2Qyom>8l$AqLjpcMyo<6iY~iU|YbOn-_K%8hz6RBDQ6 z1WFY+XI<*=e-wPGS114)h^d zqu$|8$T~ynY1sw3IK=BT=`L0T`pt7U9q#FL>8_R&ak{Ux$Y*B`&x=Mq-0KwOMRRQR z-93~osh6Q)k_3~4L72sD%`Ni-Dq>+c+b#?7i4 zHicPd$a-iw0Z9Euf3jc(4;Z3>bc&~UTiHcGXO^r@e$aSG86}%C-Nu79x2^vahyv70 z`xxo;3-LPmI$i2(IS~ha^=5zDD^Hc)Rn8Rf=ud$(sze`eF`f6@MT>?XmaT~8Y+9l_ zI$gS>U@3r~S68igiezc1Iehb;YR=#YGVX|D?!ZM-L z$yTDAh(nFk`|fg>Xpz(~Y_#kS6ZM{YNN&R(w59owT=&`lP`rNKJZLm(_fW1*mv*$A zh(pV$H^SA1yj6A==Iqu4+9Hd?JJoc$M57T~y}Rr;{N&0`7i+0(C>H>8tJ@^N zf1MyTv@D8*hI-Rk+t3Lf+jUVV2o*Kdu?5FtTH&u;81AD5VT19gfj>_gAJLyf#u5B+ zyO%tBr)sVLv^?0SqImyh60g<=^ix=AfMfHBL1$B6%MLCeQjBF3$kdo7r>w^|OCkP)%7K@+EUm^=v1HM&ucdf0md)>7` z;^{3$J>C&9oh~D$kO%<1CiGSrEg^0!n5J{fXVHRDy(LnNcx(%_Z1}M` zgQ`xTNi9(p05wB-TfENgrP1~!hTKQX-6Y-e&u%YwlkU3bbv`SN7TNkem7o#OmmCO^ zPIrT@MY)yKa-tggj82Cd`n7UH4+r&9N}DZZrb_RI%7G=ll4ePc?gRV(N*_r zZxIchPEDUEC*n}6N?BY^(4hZVh7K`=bh_;7O16&$j+O=B!i)Yd8n*!SJ)JK5o|Y4F zh|ig=`oARV>vX9vn<_iiIZ|$s zvigp=MegAql=8XmfsDQV17GaB7L%RTcLIoIquh*>>#5e&~+TV)#qMI=np0M{n-R13!`KaG6U za>&dngpXSGn`ybsQWq|SH&U4OogU9oGuq`CIcgRoX$B%DrdAU_6YWnm+qGwwiXs)0 z39}h;J7uy)a|eH(n=kVZxcMo^54BtB^Gp0nkC}rfLhovGr~*k?ZM+iUyGy}o^^%xaUDgRIAW<|f}3%6`Rn zOm>!=z1Q~=a!TdnZxc01&N6e0k4Z{4)3TUVt5IIliwLXd^yq*0d(CgW_xsI*{RsHa{r+K^oc0aRPA4b=TC(g`jeL!4m(gR**<;Xi=n4`^b*vx}l zf0kq)4?9UGSqL(-{*yd40Z&c&pX5b}csqw#Z4&-OR=@u#`bIjl)B^+|hnUq}-*I<4 zm%3|?-vH$1HvS6wulkKaljWMZof2gG*aRu7+q))WL)a%^Q)om6BGALJY5`XV@x3f`MEYTjip>cn?k_EF)dK zp>BE}v@GwLR*ILK9&3=1S7il^b#{ZvtrX)0HW8UCkdcP}|Iq5fQNdeL!9YgFIl!Z) zUSkjA%>ZN>8P1mjqwVZ>*+hr|<1V|(dy)dZ!l?A9*GLmu#=HhA;57pNa7G3do{bVw z^bWUZlpFRM17K#56+Q!J(_;*4Ab2^I=QS$%Xe(Fv8!&FOt0qDr*Z3H54tST_C@($L zDkE3dC%Ec0-UlGf%d4ymudxWO8$oh3J;Ulq*qdDJUCLt=N4dtO+$y2`+uZzri+pZ; zBCHvw`ie?2~kYdOgjNIUh_~KK5 z!%jWqQ}&6AFzPZzFcD5%x6fsT**aNYL8JgQiY4d zomVTOIq5e-Jr$)}-sK{Bs7TIqkeq?!R2sc&M9xVfr}h?=Q)TfUR_b&Q{x>9Um7->9 z-ZP#?g6L-Z+jO&1uW=7@+-~-^)1xxlC*@uw1V)SUx4JRow>wu>MwhmK94(bN1pQ(r z5Jd?1W3nMof|Bd{L~|$IhY}IaY^stm)<0?{Lc^`TRaHO*j4zrvjrG394S@IGq+5ZDAJG;UKe|fQG7L&(R2EdjZC8!0!?IBx*gSj3iVX4aW~m>WT8lk#k0ciEMps=fh@OI+=;S>M>9JD zivOS2%9haG0-9~?Kou2q0~(-Tw0N*u-Ae#NZ+B7>BuuqZWHv8J92CEa~DtC@C z);2jy`$fC;{EXw$m)3}Hpeq6(N2i4(o<-P38mTLiOe;XZ_^7c#dWsHq zt58Zeo@(OGYjx4=;98lmLpYTaTqou2h~V&OPSCZIZfuqLx6Aw|-TdKqcz8x8dg*74 z+TEA20wsp(WeT-%Cn*}QHkN-2@8HSfs9(UX-%Cx-%n`U1{RDTe9TCmR+0`gk&OGBO zU{bsbMG!VLIe&Z=jg+}T&oZ_MN5&d=G*zueEpN9mGZEVOoAmJECg*KXjiAD zHk#2h?9H@7wcc9n0LHkztUszT25`3vUhNSZBLBD46%IF6Ia5bQhdRNL(L0IDbfTl8 z?Lr7Y4N`xYK!+Ng!6T!&&N-u^KE9?Em5i8E{`-yoQEQy~k+IX8FQpn^FFFYHceHj#t&jw<_`H;qW{?6B*2=b zKR+eFX147stGr|oO|}vJ%6R9$?^Nz~2mRq)QSCa?Twc?Na9EVnepI(I3Wl$fSRji2ZuR{$>^X zbZkeR$)`ly1+a;v)% zx~Ivx5QAsH6GFNhHBDT0R-q@3HQr|YK{txGA&M!+T_PTCQ@qBUS5A(0^cT9G44~ai zP7;D#aL3d!z3osv=l#_2T9Q;n{zt74zF z-nok+H#(u(usD=H0dU9YwYu##YG2cg6R6#B34nNbjR$O80AytNAE!x+)J3BuBV=PA z^yAvYYxH%#85PZPKB$XYn8JIxZgy_ljUOd#uhCm)CPwdPw`lYx!)x?V>o#>R?}K#S zN)7Z9bxgPf558)AQ`g{nSp&)nc*Fk^7{DKFdQuNfq-|t z)H)#lek}jKjjkX=^%nW?ZsT6(qOsBPEX>`IN284=!y~tazoca@CzULGDHpacuqL3t z<$fi%x)Jm@FaPv5D(k&Qex~!l*l73iyG3D>guBn784{NYwHv!Z4A^w+CB(M4@S!GQel@lWeUEy zo>D)1*37w6X3u6*&KlEqvG~6}E9rm!95##1n~(od(|PXHXm`gmK3e2lWftUat{Wfi z&#h?}E=1Py)1sx$lcz-+eV5eFYQUG{&VUKg^0e`1j-N7qT+JC{*d^1>tDir`Sur8n z!KiOIZ}UB1JkGd4L80^G8PUa?7f*~X@;J9A7j(AOeN+5o4j%d7rm4KjQuj|g%XGEj zSNBo-$#k`YSNBtg$#k`iR`*r$>b@vn?X%?l)oOMwGQu#db|UJ(U&Q~CI%{tEw0ZLo zp}Kz4=A1hP|7Gg9(bKeu|2-9=Q#>hpqVw#eXiw+GOCpasuO7@VO0Nl_(1fGf`P-$D z9=zO1KPOt^4E@y143>9r^IxlSt_hxk@75MYa-FXqw)~z)OgCi-QUZ@mcVUk?`=&$- zofb-)7I)KDJ0C5I^b33^#SCZPIe=6zj^qZte{mt-=g6{<82I&0H}O?x&6H@4Q(bEL zofc$xUiho?_TtEi*@qu+0sGxQ;#YY5%=zPs{H}q$GGG@t^_RhD#X~OU7AL(v`bs<& zjmHY&vBG$)C>|@0$J)nZCGl8?c&uYQ)+rtmHAl$74O> zv7Yf*uXwC?JXR5pRmNj|;<3K*Sig9ze>`?VJT@R68yJsO#bblwu@mF5!SPsiJXRBr zofMA^iN}VlkSO4eslAH