From b59713a812eec2277f53b7aea952f150630dfa43 Mon Sep 17 00:00:00 2001 From: Lu <42706009+luinbytes@users.noreply.github.com> Date: Thu, 5 Nov 2026 00:31:53 +0000 Subject: [PATCH 1/3] Remove Orchid and Keiki references Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com> --- README.md | 2 +- app/pip/page.tsx | 2 +- app/routes.tsx | 6 +++--- .../concepts/signal-desk/profile-card.tsx | 2 +- .../signal-desk/project-explorer.module.css | 4 ---- components/concepts/signal-desk/signal-desk.tsx | 9 ++++----- components/pip/pip-feature.tsx | 2 +- lib/portfolio-content.ts | 17 ----------------- tests/browser/browser_test.py | 14 +++++++------- 9 files changed, 18 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index b6cc8cf..5b4c2ba 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Lu's interactive personal portfolio, built around the living pixel pond version of Signal Desk. -The homepage focuses on Lu's current work at [Orchid.ai](https://orchid.ai), selected public projects, and an interactive procedural pond rather than a catalogue of product pages. +The homepage focuses on Lu's selected public projects and an interactive procedural pond rather than a catalogue of product pages. The site has three public routes: `/`, the interactive portfolio; `/pip`, a static product page for Pip, Lu's warm, easygoing Telegram agent; and `/privacy`, a short personal-use privacy policy. The Pip page is a deliberate standalone exception to the portfolio's homepage-first structure. Retired concept and product URLs resolve to the pond-themed 404 instead of preserving stale copies of older portfolios. diff --git a/app/pip/page.tsx b/app/pip/page.tsx index 555e14e..b03b082 100644 --- a/app/pip/page.tsx +++ b/app/pip/page.tsx @@ -139,7 +139,7 @@ export default function PipPage() { diff --git a/app/routes.tsx b/app/routes.tsx index 4f88ad5..aca5ab7 100644 --- a/app/routes.tsx +++ b/app/routes.tsx @@ -26,14 +26,14 @@ export type SiteRoute = { const homeMetadata: RouteMetadata = { title: "Lu | Software Engineer", socialTitle: "Lu | Software Engineer", - description: "Lu makes stubborn software behave: Orchid.ai's native Android app, agent systems, Linux tools, and practical software.", + description: "Lu makes stubborn software behave: native Android apps, agent systems, Linux tools, and practical software.", socialDescription: "I make stubborn software behave. Native Android, agent systems, Linux tools, and practical software.", canonical: siteConfig.siteUrl, image: `${siteConfig.siteUrl}/share-cards/luinbytes-dev-pond.png`, imageAlt: "Lu | Software Engineer", }; -const pipDescription = "A little help, one message away. Pip is your warm, easygoing Telegram agent for questions, web searches, reminders, and everyday life. Built on Keiki."; +const pipDescription = "A little help, one message away. Pip is your warm, easygoing Telegram agent for questions, web searches, reminders, and everyday life."; const notFoundRoute: SiteRoute = { path: "/404", @@ -88,7 +88,7 @@ export function RouteHead({ route }: { route: SiteRoute }) { <>
I build Orchid.ai’s native Android app, agent systems, and Linux tools that do the useful part without making a fuss.
+I build native Android apps, agent systems, and Linux tools that do the useful part without making a fuss.
XVcc9`#44;U|q@fz?F`ZL|Bba7f_?I6u~*OG#ru zstXP0a8rY~)AKd3EoS>lyewK37$l5 K&p(AJP!gd%rfc>f|$b!#x*!||-2pk@qWYeRDS!6d7^Cy&9K>1hk z>z Owcao40oURPj60X`yqQ$oa!!ZNjr-c+(rn;IP2I|*kzGo{ql{fcATEa zrA;JWUB{TkfWX{}dXi{ZmL~?`Pt0<|xdd=2szUat$q-6O2YC;NOdK8$Cp9C)QgT~x z1o56w=eOzk)%i;Os4UR3 BtO=Jqo`3_!0R3xAEhN#DQ;TqNdX~>oQClplGe(32 z&gPKukHVqSLsNT{7AAz2W-1&LymeAK@y}i nNz?(^j|w*Wi+$cO|3SxO#7DV355Qb?tAE+qS*NaNVjy|n2xZ~|GgjmH?=y#3#9 zl(EAcFC5dciI)l$Msxmq)rVJmrw}3EAIyw+#z#2ytlcubrI|u?7R(@Q2?;Np<2m5* z+Lqw~o6j$Wl0ThCZ1m)D(zFr?%xiK+;)k8t&eO$52t}2HI02uobCc8!xb0can?=TV zGb5QE)VM%rU)_M*fsX$Gl}8aqxEALxl`pg3u6~)TcLsHuOLhU Gi7598%nQuND=!`A-0XImddQc3CHqFP%nrBCZMGaf&>FaS@tL#KL}JPS7%W z;8L?6F`lDj>Jg6CZN;!TZ1IftHEQDzCT zo>j+}fW0tDUVu|~JKUHgIge-#&B@5lKMFZS OH#Mj$e_7kpf}6)0;ZALc?)GWpj9c2r>7aHcgy9iyDEo>cjPxb^{BPV zQY%b6+kor`md60}IXnVuMP7I!5uzlLGdEGeT>QN|)mDZ4w|(LjW>ANWU><51WSS@q zrMV~04@1_U6x-$d zEU12F1&Wdw;BkTVs3UlzRSJ#sV1u4PJc0G5Fmyy)wr?~x(8@FPI32xd6=EUeLi_II zI7KQK8NttgQB8trrzo++pewFp#sLSMpRGx9g*QXIvIPy6UO^n-`&HDpvJ8eI4EP37 zk}^8}l!C-pa 7TFZ zQV2wLM7wQ&^?NbK7-R$fG=_#ETT2;^NeDZ`DPfHN0Q%}}MMTc1BF@dM$Ej@kW1yXrbgENu07iNB^z}XJxLA_e z<(DBg?p4o1I@EHF(h=q{lb%Nl+qcrCg$m6i*K!w4xK+jh&-vzo5laLurkRN=BMuS1 z@EFcV(z(Aa{{ZKtpOti%0sNyRCu_y>1w4>A7!{Z2>VA#?0DOwdO6=Ay$p6#)+bU z+Bg_E+qmTPAm@SaOt!g@+R1eI%jIK?o;LcP_%#WOK24>n6)eXja;N3bUv8CTBzwgB z4#Jsb{BSrt^sh-Xk)%Tumnwn@qY_CWKPbRlXVrR8d(F7Nmbf&gWrmHcpzgu zi?kDk3QpiKf0k(`xjuMP5mHxb^TM}d_4TT`BK@8P@{=W>YK)VTan1 VQo zp=Hkmel;z@NE@BRpgR?ZO!NfM&2JQl>c4n~a!20D;FImgN+f6+M!6ZdV5LH?KmZ=3 z{b;xngYw2E%z&mykFE*eF&>o^O( Q<=3EWPp!}eo4MLYe)5?&aFC>E4 z8?o2xgHfasz>LOLaNup}jr~9;-iw8cF`1=d45g!Pqj1hZJQ3(Qt8YEb(Y#j=8nizy z;5wg9DyQ$+66j?~;nQ|-GmH%L+qE_+BEv^6cSzxqLcDE0qw7?dxksujd0Tbf hb*D(}1)k 9in!>EKE0_2n=H+4xkL(CP~?Jh&*w$L z!dp8;6;?9Nd1KK|dQz-5u8!AOk&|}*zc)Dt=~kh;yh#}yQGCS;TRf@j)BI|+xr8H1 z&9GqLsmaGqSEV!|EG`)kMo{dN0yB}vVma;Bq`J%AjeswfLoPTBK<}S#N{Z}CRNJbB zLIGz#DL+rbrH*);=9CN_!B7H7=oFd(qGHdrk~Lwxf 3#BZfZo=Z;wzO2Y*Xz&7VEjPvjGrcI3qU7lYiXcTSA`GjPW1ynGk z^1*Kr*q<{12XW6do^0N4m2D@NF$&MlRBjv!l4W=<%gXx|zUW@1fb2T;^ri%#y1Kgi zC~uiDoq&zLqL~xOC+0sj80;^A09^8Eq2dG1oHT6tZU^^9GIPkHDCUSHj#VR#HV_X4 zw@!Vi6@_Qb#@q(l+ag?HPvR Nm;~c7D*=v8=)V>Dr-O# zznVehE+47mk@PvHg2NbJsE%uvci+o{{nP&d)~T;1hSCO#0Na0qAHsT*id%D-UM6-S zTL{_tN6p74`Fm2V5?ZN}Vyp=znK^ErohgWbLoBixF23$LVURN4b*fONDH*K7<|Wws zxCD--mKkMOrFfGFFi^koZainTR#x7UTRA(~SIjy2dy)sPMFk9!XuPzPp=3CBTyz7c zJ@RVQv&$^Nx{Z;5!BYT|-1AH;=N!hT%P|0 ^dNOK&_R`DK+YXDWbmxrv-ndB3mwAEC=i&`HVz2+lmmgcJ!;G@ktmVZe2!Qv zcRr&O!)b36!PX$72bCw~Bd!fa8E-WV<0W!TigC0N$F^wzvxy>(VJvCpNB~vz1YivI zrIK0Vo;8e>aJ@f(WaFu)PYJPxG*Vnozzz3X2d;hUONh+3Uuf7=AO)FyKZFeMaC1Ns z$jfbhN+^BD49ARsJ$ %~~alT6aXh}BLMvA{U`)k!6q;7RtC zP^EXKG1PSYYDbCWh)TE^Oofp1yC1_yWRrcVmEnMr!OV;YrZJCtf_WwqBfIT|6l8z2 zI3x3?3FaFY=Q0vijxc+Czx{fYS{tZR0V2t{-)Zirug&;+(hCHP%N%Cxjm?(YnK%dh zY6+n7k~=t^m@&!7z{jun)b{a`L{}YIhy=IZ+Bi7r#Wq={c5yN*GLWIr-~rq sdDK6G~;eB~frj(Z=D%>Ya?S+?BUov8xc_SY(m_1ZUEOgtffk zK{9g4j6u)21Jq`KW1@{>LvXIXVv=$?klnHLsM&6O#b#p=!D$qB&PX`)=}(e1w?({l z%Q}Ep)bMeNeaQ;jXNY;k09z**Jr_TnAq`|UD$8yQAR&ny5)W+q)tMnAwCKKEW =ur(*jhB?K>glA1}=do{QX6 zLTisUbd^jX{HP9bf-)MePb~25XjgokF5Gm;do zLU9rfJHGEx=}~_4NxNp!dXAfc9W(wksE+C+jYwWtgYU=r73fofFqDf55n+g)3b0}b z&PhBIKtnv_#HY<4eOrN!{{a4~b1X(xjkhbH$IHkb 6&bI^F*!}4A~owe(60ik7}L>O3uw}xj;T# zoD$tWU*$-O9gGMFY#qh8AoRz-rEMB_GjmHqs|J~ONXi#zBOk+#)ovjrv;s!}kk}v| zGmbNwYDMKnRYPQF=3$)Y*V7ekB59Z`>>nU*AY(Y>^y0Nt$dyH628_T}-2!?pcqO`f z)u|DXGsu}%JRmtF_v6zQEcUWZ<*F~30Qol#dYo}hQRiTg>`2@;oM3v@s%B216mg=R zmm_O3oq%VN(*yIQk{>oNEs&sP8%~oP3?bKe$r%|r z0gq0#e$1CpsRg`f>23i)xfwpErh8I-pUGE}MKY%Em2<$yuctMu9lNqe5kZ~Y?&Bvp zAEilinc`$XRyM|0fs>9v^{4F2-CHvnNF->Lys*Hj18M#ucqjQ)k11w?D9%KPe~a$m z4n=Cjs}xbgv=5(lI{dz;9`unaOTOI(bDS37sU63y9?V|Yqdl0oRGVS>e}w0Qj(@FG z@;+nsW7UZn$qKyy`qxD8$;f@l8xW^&bJWxyXLy3g3bUgOxae2>^rq?DUeussb+rzl z6+yVCLcjx`)}Lz;K+_B)ZohXq$s+=-MI3R4AmyZ70(txa`cm9OYIdV5GNu>-l?po( z^r`k??Mzg2Zq4S#RWNzv;d9&c>rY7JSP>#EyychI@~w_b45%@%2*r DqqcN=NiVMgUcXi{gM{HE{Ljy)+I6Js-NCSiZO)f!uQ=X0(;JWhFnd1w% zvFX6+&t58KRFZEcmAL_v7{=4mt;UNZhPPJA;B8^R&ricOYFjv>cX>$#R034z813y* z?9qPM#Yl)Pr?3tmAayJW@0yg`suL7vV s+8C4Hxbg<^YYj#vAyFrb!Hiqj!@GL2M4^umka}#kN(M z3W7=bWIb>Q;E(>jAhnJwq%kpO0N@UK`}E?obi>=2;Y4b-_}k_-GtUP-v-GBmX=B|j z(qy690LR|-!1k_#%b3WnPVMBVEV#iP#YFmb%OQ=xEZm1DBjx0Sil1ZHYY@7aPir$= zmY6mQ@BzRX=xW<}Nb$s6ke_spTaMnIwX1Ohc@E1UBPB|);FH*Q=} ;t#V_a^}J>MF|HEM<};-{rO+)sIv7 z`c|xVu%^d!45N^vJgDiPPHIUk)n{oULIdEE=eYFup-~gAj2ncB<#QMrZkZV%^v@mY zT$i>bu+A5aqpv;c^j65zG% E3$*i& z
2?Sd=Lfl}NYJ&siW3TcK%jl&{6yoL z>7uci0p$P~Hu6phAa&{5qlyGl^GZhriBsISPjOKyMXKoMrL>MU^T;8%+`R$(dsT@- zpaA8z{LI6yIttK^-^-8e^0Pmf3hvL#obYmeY8YbLe3Zu70r|7e7qw3y)k~DF0Xwds z1$LYO-2OkEQj5)pYsST&ox}`sdXLJsof=u(#;cx5=Yj@0k6cqHjK0_!JU0wMI19n) z{OVi=s`N7^h1577C@wYx>Omlydm&QECL-PQs{%Rhcs=W3ki#T*E*Ex41Czl#AHtxz zw!~&@nE_@$D`a%X0~IofN}-4>;u5O~4#K~Axb)BCQV{-GgkZ5FK80KQ=Cq}-M~qp@ z9i&skXYUrrKGh7csz|Z)kBn!iWbN-+Nf#QID#-|v)lxuI#`|`!91i4lrjlT_Lb;da zJ5wD`Kas02!*L{!cbslJvPVJx0M?|E-g&MV7AI)ykV6y5AP(JYHj7g$2;=!Ke7%Si zvt;tUF@fHsiI(C~9n5DA0aMd($l&@@)eXvsq$eqdRmKA->OTr2V;K>J8<|N)V0b)# zo@*&0)XcYQyJ&vT5d@YvbJ%3ybMH)vJht CCK|YvP>&Wf-Raq>Vkf>k=bMkfDz`_1ilZk3%0R_w~?Iv9~MP5K4WA!xU z+RTvMDf0nR#d-e#Ijc-;VJjqM!nwl|2- }~L zZrtx;0FSG4(E57ShKcR1l2GfzHbZlS?0&TW03v Cd%I84Ax7ND*Y=n6^pj z(x$s_vs&$G51JH}E6C5k;A h=wv%G0pKvUA zJSq9J)~sE|_mXB^$>rpHr{x2-J$h3T7mnES6?gCLyMfOijYW#NUBq({Jji^t8$kzx zM{Iq2)UtViHtoJ}BWe?jdw*JW(#;?wB9&2<82Ok1&T-Qe) z8UO=^bDfF8oSdHDtuK;4cMFmvLRW#4_~w|3t2~Vv1Ul~A22Oe@J@}}V+Bb^cW@iV7 zmmTrY)UuZ35|?<2D}qPx#ya!fq@FjD%`IWej0Vb{RA&P<3#znCEu+kY9jnuyU(C`e zOLbPp;|4SHcXQL<2BDiGz>ZiHd4vR2ISbB7&N=m}u)VCe2XF)`XB_eGR!ZEc6LT7{ zD#`|OMtYBPS>aZ7cw;ze7#39+8wb~=X39mNB#ilv12N>1M}JC1k1mrwHccSGPIiIY zH1D%aB!#o)fC(Fy8&5S-DVZEugS5ukaHA{7p{Qjb3X5|imno1kTdzG1K9wcK#E2X0 z%oRoeEPiZ(`gNx%w=&0Zf}x78<{5L0oPp_3N~AkI#y|zPGLF3P-k8Nj$|Xy8WHH1; zji8K^^A4CNr8V}%h*~lxal>b@=syuvRU{DzV|hZHZ5Zk6_ X=($cn$jox zLzV$S+;;VE?+ $x0`AsRFn3Ka{NOsHeVGlTk7(L6BQnI0|e*&Cmj^*H)e z9(AzW5&~Tjf^9u=bDWx4;=EZ_;_-e^cMzu?Mlqji(&UX27DR$o`Ph@c>(KrcGu%AV zN%oQ%%P9GW%Zzb~m-jJPEQ$eW)w6@&Jc^EW7q?<)+^XPgjYlB#{CWK-xV0mfmDsz9 zDTE;X(ch1A#VJ*{y;qC xnL*=l zrUZi0HI42IjoVp)ZrSPhifW@gVr!?yNDfa0!uId$O_7k9B9|yUz09YT$Unk=N=Fjm zqb?9gK0@Cy?fG{6D7aXB&XKA`W~}9%f^Hbbah!e>%*N3?GO3Ya$vEkpWD-ZEE67^m zW4Kl#AW7TTBk9{U3$h4^E0t68h2R|e)3_F4v0KYAAZ6YeSb%<+0+hn*H` QAL5w072+M+$HYqYNI07&SsFfKlRk z2nC7DH}MnGKgy!KoJ%Ai7DQ$tm;eU{x7Ms1bdu^wn4`cHIDVKXo<4@0uN}?IcFLHD z0!BDF_4maET_Ng-=>Gs}QdGY0GyRU){5>kHrJSeO!lX@{7auVnUtTz-f+TU0=??z@ zFP7l*>FJNwr(+hzDpf)bGsx(8QBLHM-NkVQx|s8V>ztf@N4;5&S$vr`Dx~UgrMhrB zkA7-3pKK7?$ou4xat;OuxfK5Z-N+tHw2uiGLC1P%l4u}7ATxZ;jjn&X+2CjCP))kl zaMGd{?58;cjN+empvLPn91 I%z<=igRVonZ6UVSOtEHuX}TM;UQ zxDXf|lY^2o^rUNu{>-TC#T7ts%hwsE+rsdXxZpB^6^1#_LHSg1pRq_#@&uctRv@-L zy+r|H)E4Mvd4>~mpDIPq%j;EM-f04|{K%vRkZ^qgKH00nIWFXB2OGf%tHImqJ9MEo z!z%( iGPhT=OoPUcAvwn$z{9ZwZr(%nomNhFM*^v6 B1lXHG z9;7c^{Y4&GWGu``&N$D>#_D$+iKbI;F;GvGtC1W1+>U=f^wAt^0KHI2kYq1Wz~dl$ z(n}1_gmxwwK#@0`bJH36aZ@YYr15|N$K6gaLw_ ?t;}L#aJec*3X#q;?@gK+;~{*`2r9T7eJVSM zk)kG55czU^{;i)-JwL4`z_;>76sv7n7Y)1b634HlR*Kr@-NLEf3y(11a)X0XTRp?b z&_eOBVY~$y+B4L8Q`SObYcP5PjQ#EhT$(NfS3hfn`6P{yGdIjKdFg FQ{>hfQ_nvdIZxbGbn8xBP0$ z%L?0z=J}bNe7$j#(Bsh3UpDKM*dqcZ2RQq=>z~&Z8Hz|HStA?ZLAYRmS -=Z{*7{@mQ%tm;$=A`ZhpUY_)@xU{(ul~x1- z=cogxIpc~f1j?wdh>%EJ02uL{cgMXXNY981D&?D%9W# Yh=kI-e1p^mxiblDRVmSB*9=sAN3#g%xExZJo3G1AO9mzh`V&KT( zgFfT4aZZ4N+x6y%gfYPkWkTSB!?_1N{XInhJ=hzCxt&Lsu#VDb5epn`qIk!@4Hz z>SYI}7t)%A<&IU@5gR9PInFuj?@>(gw1ps6jmQeCo=?~7NGw}LGEE =Y2JQGtpL2(M*V~}>>F&^0b z&*ebuPb`yL7^7@%5uQl(?mhh~hSrG1YEb!(!v#lPgrA|S(Zts=nNe2|4S`* T zg)WQcK){icp1Vg*Gw(<&K+>$20V8HB5H1vRk3md@B(~Z@gi(^k`7ANd^TkPFC6R%r zK *TZUI*<-S=<4B+|?LsGOZB#g`>kZ;KV z`gAz=?@^>u+Q;R}Q31$MPEJo+js%5Sqm`NY`~7(w;AfzqWtr!jP(p|rGy{6=8Q^r! zaaHZ5M!8sEkM8~D>GU}Er Au`=Rsgnn`<-$-WC2f!VEabpF8*I30plbSl4`tHUSgs; z1#;L>gPxq{+JLcc3Cwn^vmtf_voPa_>G@O;ZBH^8^N>DOUc8R^&f ^&;S?}Vl) z6auIY&Y6659{DupVr67S*pVFVTmoDCF;Fb%vHh6v{IqONSdcT1z|$nRZG}&< nyfAOi3NyZ|cAW_Nv X<2}UcIAYg3+xcsU)1)?aK6Ka4=iU8n) z`c#m}(#JG+4U&WfZtdzb>0Q)hb4+r}E0vERI ?scv z4KCBUln22Ct}q+<(nP*M4Co!bNAY~v86Al4R~dkhWQ&aCbjRj>O<0B%xkD@ML7$Kg zr@8$rx}0@6Cp`#SHf*eWwsRZt(D%U=ZUjV&<^_TspfKrD!4tcHy|O&MoRiel@WiMZ z;fm!6+z)Zn9P~BY1Ys(gSfd1Ik!0k%mMSsO9+|7(W0`?z^32#(#~iO(*s`~_7cxm8 zE4X0+_4NGeB(%C^*&Bf_Ncp`ztEw?aE3d7Jal~DXyn%T8&QB$er>LXIm&*~fcprG< zkCk}Gw?SH8VOchyU=R>aM<6Y3XfpWOO8KCknvlBzvD+)$*CT%ekLy>m!*4BMLT_ zJh92hG_Mz&9Ks5PQ?#xyMty5k+eHG)6Dubph3}rj=}wN><_rRb`9K7mk8F?UR70wa zIHR1d5bSNL2+nYQb5{P#=1(5gQiD9_udYY2=~|K`YU+g5 z#%p}rtb1XJ31FBc;~B>UP?~XjRWY%`XK@^y9uMVHbVIJYoZz)la3PtAT!73EUEk1D z=?HlO2|it?1a|{GeNAt{W*JmIa>MszbzncPYSP-kE)1~^ii!%W9!bYExzR5Wa*qU2 z!Xe$cS+EW{2dL(fJ2sUb;ZdXou*`Tk9Y^U~?P~r=c0j5n`L}XU(x*0ZAycr0Wh7+( z02gfbrOd8BtQ@;rNj0j$5*|5H*aL4+O*&-xRxOHHHozC2amXIk&`D!7!G_(ehj?#c z)Di7UBAPw36$EbinD8)1@QNElRnBr~rjEtNNE?A6dSIOK{uHlf5!?v@2HqmUh5_mT2e++F$L*QVLlBJq@k!cu0C@!GiWbsK zi-{zVVlYm7WaIoRp*9jTnFDk=$@`-<3Rz4pObT*@WSsGwdwPm2Qm%7iIin1|Um%PD z{nqLDim? (h!XKWdC?dlt62`#B|aIRFUBL{M@IU=02o)UO5BRZ4-z;s<5= z)%aqad0@MPd5gQ#>D*Kg1IP0M1Z? zf&XrpT6 z?*|7Ru|#%+!qzf2)+!th%prlm+jpmmIySnVoD0D;$ xw#g$& zzag9CBo0+^!N=B%602xq+(JxpWjO~VXR$cI_2#4&lJ03H!u+9*I%C`Mt$3{stcF4J z5(H|kjB(zjlEx`<8Euj}jOU=|I3I;82e&a2&;^vrq>`aRjPOTO_|=cI+5-~dS-E4o zp1m+@Rjp<7Tgc?a$t3dqzL*r-iy2jME&*;ZxXSIRvL)9r{>tGS$&UaXt+?`Xa(^*G z05w6%zFR2~MQ#9(h9SD1Yi3C0^HvLm542>F&|rE}v{Bqfk;Vf^zc3?!0O~4SO7_j1 z{{YyUYle~~RmTy5)OGDm`y-2n5P-mpx%BoQjcUnnF7X|>!#OO!-UHgR zd-n
zk@-~DR&zGx41^%vkMYf9(Xyyw#SE~yX#(ZRU|aZxIOo@nDXji=sZtBJ&_M^F^sRX< zCVP@bK0pB^ rSO#<7 E$0zZu z+zV5&l`DOwZ``w#WhK|P;Z@!_Cq!+#0Nu1N04N>nQh4p)4-VH2E);g-JkmT71TsPL z c;xo{xu|imq-JKx8_K~I;{=Rhc|QF5RLu!2xl*M;InM(l8TIQ^G*K8CSv;jc zyFeVApYlyZu_Czt07uCYj5#^)-`=ul(Msh=ZRUa2M 6zkKI z$JVQ>%Qp5x%r&&$@)|wqO*;eKw=M0xF3(bWh7}Cl^@NP zQ213%n~r$_N4H~|U Fx?P2482ZHKtIl_U?MhC=9u|sj1QOmYUK8$gB)@NW?#Bac>}2b z06i-_#NkMo5@RG4C#laE_NkI8EU$6o$1*8L+P^p-pdX)lY@4LHWVl6$HXT9dg*_`k z!Ekp*u>*pnhCGaOij9SlbS$kThX_=Tg}o2bv1rvw#eXTlCL%t4!vVftfN`HnuAySK zSBwVvO1AD9Ppw;)Xc1O8&?-g2=z4N$yFw 10Fa<)^@|$(BUzaB&=aQXIJvwnxknp<$hb~VY6%>7V=A_6L=j_E@)p`@t z9dYkNMJ7>cRtd7 U6+tM2!Jcof_VI@3xd+dU@5%dZrU(Z=OpLX8Ld0k zMU|tuOvY3K0p}oRJbraVJ;PfngNKj-v4_ot>Hd8yIT|KH-fPPo#E}s=P){UwBvy>f zklhpVs~GmXFYx1^ )Z|j{C%p9)(#p)19ERAxh>Cc!?k52L`5iYKFV2) zti$G0!5?47tbnZ>#c~R&gO&s4IPa18QbRghTfda3&IS~o>`r(-pW#&P*66f%0D%(^ z-t*Vf@#tz9Xn9dQ3na2`@(0MrggD}%lIGkgX%LV{-TT WTou6e91-j(5uW1Q?>iH5C5XmY6a6Y# z9h!G}fZGc1Mgy*R dzBFqjL;VfVQAs3hEEe YYVnhRc|OFN=KSe>B>atZ5&4$468WU^4%N;{ z1o!t8??3*T$yrNtSnPlQ)%?PRS!R}dq~X^Dj+h{Ef!KDY4=I61ZGZzGne%c9;PmZM zt0lUu>d7MDsL9A99SH06s}fGBZtz06S)3{n*pM=L=ia-~%2mR=#M=CZF`Ti$U^p1h zQhBR(u&l+HOOKEoF$4x<$lFm%HPyQ;+g-$XI3Nsx)rCteFcl&<46M8OBfnwv&S{D2 zRWY;{YYx$|TyA1ANGH&9(xh_FA;K8sP0JVn0fW$k^{HNVnkI@~T0fHqf=S~!rpIyR z28rJ@HU<}w#{_)b8XK@DVxmO5p_wF6u j zZEG5?7k~-t-z1OLiyK>WGd!hAw*AF(#@@o6?iw;uU9Hm1%Bjv(v&r=gN9RO##W#$o z8~nB)=cxlc_N?zMp|=*q7~_4%&2IVN3cVa=Bjp{g5!4OG9Xp?|KaDVGf!0F_ls_Pl zBtS;s4lruXt*9l}8x_cXuhfy~X|UT!ka_Z*?yN_bk&I{4-k`a6{oG-QWhH`wTWIb$ z^z@)CURfE~+?3>kBMNvK-~)~-sguY6kbK+~8664lfyW&ww+JxTB?&}e;K#;z>$K7= z^1}j`Q6kIAv+&&Z>7RNoE>daawGa}2*00JA56zyWk4mu>ta6N|&nhxmi8w9nJB%8u zWdM7Rw4)Vv`3` i>$2@aR;mC=hMA{X;XJ=xnG0<{B&rwMt zs$LuCOtP*4Ru~?*_VuSraJG>7R*~jt)H|`~hV74DwN~CIxM^Zk8=v@39S8O6Ma5#n zNibN-Myjkg;IJTe n2&F>W$(?8-E9NzjQf2EseG$9 zi*&~=7R)M<&hBzQk*1k85_o*G<;G)=Bg_Qyc7f1(RJ$U-DRm14^6;U1$XDEYlisOK zvkZ_a`^7lqm8RGa^sTOPumw2IFnK)w9ckPwR|=x-Lo}`DDGV2Yy?8n8S913Z*4vd1 zIUTUQxT&O)aHcDDX}(m;b|Cc_{V0MX71J^ht0IQpI`PyD@-aXZMY=Sq(n!((px}ek zKhmtLZ nGguh{i*;`YP%Vx zNu$^T#gcu?dJj-}qU6|vXWG2z (UTm66${D^xhsyo)f8@R z?S9T2ugnUw@<9X+d)1q FvlwjjM{qyToW{Kq(^B5zqm{faoAB`6BM7I0w@wJWyatO~H z`wvP5VriX{2%b_hBqb5L;B(GDI&IU)S8!F?CmTumzP{d+*&y;DMT2N=N6pU|9RC1? zNo^eW5dQ#Z$f`)kUz7uqIR~u*WVhDyM{cuO{N+CRC!iyqI@JZ1Wrd3oha)%{$vkcc z=}uXmYl#33jDuk0oP*!!DPtEA&ayGsV^g E;ADRfPAOb= zC6ZAaP2|Sx!2a`bz{?&09-@(Aku9PTghgUl6UoP+s?lMid2a~<;kOccbN(5pviVk$ zqlK10pelo&z4OyF?gY@h$rqfPaO7YdWxs?U{;UKgh}n#x|TBpKxkT((aA` zpt_8%2i*W?l6ur$Q!>jaB36<7r0s*i``_n^R}e?At4q8>v3!L|4U)ZZDX#I)6wCLD zHtno2k?F@@TCZ~o%09{p ^x*1`TG56xXR5Dl&Dn*k^SOG zKAewlN+U5#Y|`80EUplcIs^6RijiS!lICpgZWkkiwEB-)k#2T^$-n?bi~)n|k73@6 ziIB#??ukiw;{-_Fxg7?5F;YO1#kOY40H7#gmcb{}jt5$7kVLN-W-Jt8nBZ}Y^r)gp zlFeCU$lglr&&;IqDS{gX+;bUo7s(l5yM9nu4@2+Lr 7HcP@U)<-xFtyHz;-9rfv{Lw) ?gJfj- z&SjM%E(rm53=_2D2kVM0*X
PIOQy9Qw{7cUtT3E!c>3+;e2_bSu zbB+MV_*4wfG6_)<5K84Sl1F@w-qfxH(na=ywjeUDz}-L`o=H8&dSYA2Bo^`9F;q?4 za5-#o+M97Cf 2Px3yP}Netg+Su!GEv4Su?{{X_Jo$c~t*bkmh&(jBt zf;}_Rq5l9#ky-*3P!2)r06+e!E(l?sM7%NuG3+NNfEx#=r+S`N0$9KU0ZfOG4j6P8 z Si}!J&`J-Yo0fX3)wCBHGX B2=kuju8HHiB1=UeU2N@aZp0xYP)f_@b#$+RUecT?{ z{=T$aEGQ3cvRiBrRA(e*&m%ZK^-s%Kf?l&W`I~~d$UdK?I711LEOKGuQdp?$266cH zsiKxkNMnvsx6Q+b9DqRQj@(gkG(J0{GfEt&k(swPIKb)n)Fx3K>3I|@k$}KuP6tu- zsbE bkFpvOja9lB$Fb|W) L( vWtVblahJK&%P>Kcw`a8i{A -DWgjo75B0U!bN{*^LX zU45iSaNsTnm@&}fu70Mqbo82V(Z_%jAy0M$ dG$3e9h{+ok!ClUI1f2d= zaqO1gZu5om#t7h#Z>?%rK(_Z^y4<4}V~#g3YTbuU4u)ssoE)A($UUpkr6hSZaTd_# zB2aeTGcvS|pInS{$8YhiMYrE>Sqiea+DXS5?tSZ{k4#&sThCBg02s#7qx#j0Z7(mG zLg0L=4@JjQU2&@$95pcqK6LpJRT45-bGRO--1>S}lva~RGL50%Zb`==dVO(S1X@DD z2in^sC*%rwY;pN!w1$-;w$vwP04`5bdHlOps=Q7)*S_Z|acu7(@<1hu n(MGe>d&+}pv&0374#gIbSa=PZI8uG5spJ8_EYzq8DH zcjIuzMmlaC&!sGyTv5&ETwvi#4tn#)<5|3HS5Z2RoItWEz9ww2!Q9-8pKp4x_FuK4 z#`#h~4Z#@4J!`bOv{- JXt#8Gre&Aa FX*9DPz$*JpXg-J1vv}C9 zp=lgv+5DZ6fteMss=QzWoFBrUaTLhq9~dYP$h}XeO6(4v-fAWS0?b*@JG*uMRT;3C zV@MO_1-2C&p2v|=vCFxonaQjh#BNDcVn)uRBcac3YBW|^c1aO-9eWIP=sh^Dv8<&a zSuhx234VZkeN8RBi=>Lt#tG`eL(X~W>}dMx-r>uA&R*u$NW8(2at0J~K|b|X?@oCo ziaCkOjI#7N?Z-~l*_#;dox>?YIr)33In6%S&1JbHfwLJQk0&3my+5w5;FOWWPh{@O ziV5=+E)?gFO#0G&fu{Y|(2Rh5!1O @cgcG|dj=<-=IB866q(vTD=WBt~ zU=DISW{=W5Fon1WJ4Xa#80%fb>6ZI`$gwtl@Hy%M z{&bCGu|q7uJhzm97z}}r@u&Tv9_0JSB?XMlaMCj1Gj!|09FRV>S#1ob_sRj>RaLuy zbDWQA?uMF?Mz?UWE~B5vgV*z@VTEp8trU&GaO8S+%^zM&EhCg`Ssi4!^AHr^fIlyK zNOZ{Lx@gbt)sXJPbjLjVdRFn% 4>fPjF9a-i8k{a_sw4XU)g?=BZpq<}jSDHhs~Ky^l`a=v7cFnD>hs%I=Yzu2qhD z=YyZ=Ro>A|K@_xpVhp!Z27CS(t^WWiE#eTl1QXDI6KAb7+r(~|PS{xib`9GDfse|E zRT?Xt)xsi5j$h;rv3+m{C+SU=$?W7FNd-<=7UT?`; s2Iz<)jyK z1X%#ekEgiztld;=7_%56k>oRP`L}NBKnEw^rA-a1iR8MBE(Uh7=ke#?rD>3 l&T}9DVfoaG~!c&LCzH6vT^weni(hZ(Z&R9 z-dR6SUiD|oWVuw0f_b3sR_+Hl&uV-yZ?-U?5jI06c^N0IXDOojOn8K%Mt3Gi<0Xk0 z8Ob=u(v&1?8zig|$m%+Ped@{G7M|uz2*F@~JaLYF>Ts)Y%J63k$jRXL=Cg7|>SElw z+B}xl{{S*HV5vCHf3M?H%^Y#Cmtbt+8 `(&z1n-9D4qEsBIM%$|d5o! E{7q*o8mY4$$ zc 5OtX{ %==7>$2)j7qO3IqRO8>zveb{iP<7<6t9bJAb?QRM#pakIIawW+Vnvf$DShHB<>i z?KqPpk{lkuk8ZV_W{EO2`6i8_k8o!=RUDCyPES!$%WVU~VO$kW#qv2F^T(%Zw9&~J z`3jW@v}Bx+zJi?_87)dfkX#L;jAZsdg)15-*oE#Tx{XE |^);f)_HrFV6>w8-KOg@9Rc0eP%3ASBU`hfpoM((vWg&}nCU^TvXUkHc zDZ>GuUjG2rr}FJgXbB^CBmsgjbIvMD^6{9(u>rpO1CF`C8Sl+gH-!YUApk!a9ECW> zKN`)u8l`av4Vhxt3qB5e0(j1S1tP*srr=0~Mhl~ 66jK)OF 5jD&=+R3a^+3*e$2q|E?Vfq5U3{R93Yn!0O5?UT k_8*tZX^#HuIvCw r9F^O^(2XXWix# zo>X?nKx$`@y{LA5vPP#0I3N@H^Ht%RJ4o0}Fo1;_JzLlgoKh(die-XTw2NSk*p_lK zbJQ>4NWxW_l#n7ryLR3{Bc^Hz3n_ImnB{!Q(~M%Q#1iH(CM7oH5X6w@fsy$7(zxt3 zV@Nj-ka>i*I-g(j?NLkSM>cNJv6OZg8Nld28cc<=i4~PeVha`Of5#O)xRLIi0P_jx z%t*+``Nb=RiEcoW)>-U0b{I_m01}hWCb^#{TJ#_H-~Rwww_$NICS+~+WZ8lOf^c*6 z>r;J+Kj*A}twYqb&;Qo^zguQWvu_%ZP>|2q m+$1*+rC1k!KIuGhRwa WP)JE#rk*A;LX8D*LpO|*8#B(-GUFU>-tnT5XMP30@$<0?8wt?-! zg6is?VuAAd<2`*T-)LD`ZUzxTftBR1J+tZFrh%ZiP# 208)w zaZ%q1uO2o+jKVMioRFuf=hq#ov3Vr2SVIU(u#j&ZPI>%}aatxcJ~tA|*ANYys)i$| z@A*{A{*AR;YlSD1!5JK!j=88ps=_QuAxehI;07e*{#;S!$t2)H#72W5NEl()^rkX< z* cN{EG}fotwP!Z6O|G(0txrd zT9e9_1m6h~s6XpFkVpB&OBJM-Gpmvlcp-~$dU7-R(ps}yLSl4WsVulT-dBwC&|-jW zoLn~FDsVE3xHue*ypKw(_jc_7lwl05wBTg79Zfxa=p{2;OP$0aKkT>i0;jtX;k>XH z0FYF5>DN6oO*1x#Vv-wo#AK+>@0jqp>^{DgS})xRH3U1AzEB&~`%}Q0TP53-22U_$ zdxPK8zA4WXQpUR?&h5&;c0EBJ)b1hCM-|HXF(8dlg2y?_0o3=Y4A%=P+)nva+*@fG zEDr#Rf d^&{{#DoE3zX~=UXQyq{2*N$o>Ri1Xc5(nFq+tCgN2_OEduVo39 z K2yNJ9*4N8*<@1k$(N0tP$)SkCz3xbRdt$2iZ=OV z2%cUJPku9wgc>69A!(yTAgi2i2LO;TN3f-F@|qYBsEJ!{ zq@sFiB zjm_1wGL>%IKe`u;)G*t`VnW$jF#FdZd4cC2<550tE#nhDH#h*GBq#&;kH7Px;bP3^ z{Uo#w42kj`!|wn+s7tsS$XZCO=giy~FCO{)>N~BbSG0k4hCeXpkA6P2BvHpPjs^}% z&zQ=7Q-W|a^b}kynE4Hzs_ba@{Ddey2|m7^>X(|*d1X;hGi@Yuv=3^rXkx-6AqyAW zb_XDifcob(V|&3jnQ)(f0bM}C Yj z)9FRU%81KBCCbRdYLyCmlYyR|^>53H;b&!F5r#f)i_S6#>shAQHLA!-D(E K+l-BXV D;y)yiK~p4v_is)=I(>}s-#ArPAS0@0gP-pn{i=~e eU z5+}`&da%!0o3Y%uRU?c+862nY9Zo>W&N1H=2}A*vA@e>^0nRbbFe&lH0dy{{6uc5o zE9?04Pl?mda6fq9g6zWq_$L%xu2tM ^=cDXCZzvWbI 2nU?14TL`eDh550^sG!9fe&!?(ye?h4W1ii3 z>q#uGmPIZKkjHYk!5w(UdR6FNBt#Obuq~0W1I{|1K~#js&l dezmzAaS&rn zmblB{ noLXw+b2 T&7+0M@NoY=-8!l@+Ag0 jMdq+h} zo0S9uv=hj~o-y>IS&ENShE!(tF`}_}ZX`s@mptdwraub5{g*0RGF%Us1CDydPj@wX`-H)#yO4x$J*v>{bd5gW>x&VDWc&sOzsIA1XGn=)JNNFmjLKMEhyGKk6 zbM>tx)8$A; MJo?kLnMpXcYJoe-8$8UPjOB;)oiS`9{C6Hr|J#$=> z&-r?tl=2r-baC x25 zxaCeTe>2jX4XxM_#kApoEJ@0-$>jb5xn;yt=+33X2;rg7)#KP#=8?fr4*+|bk}Wbu znV2r*+6K_vWFGa}+t}O3aPbI6Fn(}P3=dD%tVIf2%FrWi+4t9O;nTOTTE*wmeNCgo zQCp*oi%0V2o+p##ULA3s2;ly;UOOo6o6D6$DvU(kFhS^l0bTjDj#qa Z`9=nC zJ$qCF#z=vQ5J|KWMt)I|$