From 9e41d5e6b81015e04f10b7ae699d2f228a78eaf0 Mon Sep 17 00:00:00 2001 From: Anso Date: Sun, 19 Apr 2026 01:13:33 -0400 Subject: [PATCH] feat(stack-view): anatomy panel replaces always-open yaml (#690) * feat(stack-view): anatomy panel replaces always-open yaml Introduce StackAnatomyPanel as the default right-column surface of the stack view, replacing the always-visible Monaco YAML editor. The panel parses compose.yaml client-side and surfaces services, ports, volumes, restart policy, env file with missing-variable detection, network, and git/local source in a compact, read-only format. An inline banner surfaces pending image updates with risk classification (patch/minor/major) and an apply button gated on edit permissions. Compose editing remains one click away: the anatomy header exposes an "edit compose.yaml" toggle that slides the Monaco editor into the same right-column slot with the full tabs, Git Source, Save, and Save & Deploy toolbar. Closing the editor discards unsaved changes and restores the anatomy view. The overall stack view is now a two-column grid: left column stacks the identity header, per-container health strip, and logs viewer; right column holds the anatomy panel or the Monaco editor. Missing-variable detection covers the full compose interpolation grammar, including defaulted (:- / -) and required (:? / ?) modifiers. * fix(stack-view): restore Git Source accessible name on anatomy source row The anatomy panel's source row is the primary Git Source control on the default stack view. Without an explicit accessible name, screen readers announced only the raw git ref or 'local', and role-based locators could not target it. --- docs/features/stack-management.mdx | 24 + docs/images/stack-view/anatomy-panel.png | Bin 0 -> 132313 bytes frontend/package-lock.json | 18 +- frontend/package.json | 3 +- frontend/src/components/EditorLayout.tsx | 65 ++- frontend/src/components/StackAnatomyPanel.tsx | 501 ++++++++++++++++++ 6 files changed, 593 insertions(+), 18 deletions(-) create mode 100644 docs/images/stack-view/anatomy-panel.png create mode 100644 frontend/src/components/StackAnatomyPanel.tsx diff --git a/docs/features/stack-management.mdx b/docs/features/stack-management.mdx index c883cd54..2cee46d5 100644 --- a/docs/features/stack-management.mdx +++ b/docs/features/stack-management.mdx @@ -154,6 +154,30 @@ The structured viewer holds up to 10,000 lines; older entries are dropped from t **Raw terminal** keeps the original xterm-based viewer for cases where ANSI art, control sequences, or interactive TTY output matter. Lines include the raw ISO timestamp. +## Anatomy panel + +The right half of the stack view is the anatomy panel: a read-only summary of what the compose file declares, without making you open the YAML editor. + + + Stack view with the anatomy panel on the right showing services, ports, volumes, env file, network, and source + + +Each row maps one compose concept to the value it resolves to right now: + +- **Services** — Cyan pills, one per key under `services:`. +- **Ports** — `{host} → {container}/{proto}` per service, host port highlighted. +- **Volumes** — `{host-path} → {container-path}` per mount. +- **Restart** — The effective restart policy. +- **Env file** — Filename plus a count of defined variables. If the compose file references a `${VAR}` that the env file does not define and has no `:-default`, the missing name is called out inline in rose italic. +- **Network** — Derived network name and driver (default `{stack}_default · bridge`). +- **Source** — `git · {host}/{repo}#{branch}` when Git Source is configured, else `local`. The whole row is clickable and opens the Git Source dialog. A pulsing cyan dot appears when upstream has moved ahead of the working copy. + +If an image update is available for the primary service, an inline banner appears below the rows with the version bump (`27.1.4 → 27.1.5`), risk classification (`safe · patch`, `minor`, or `major · review required`), and an **apply** button that runs the update against the current scheduled-task pipeline. Major bumps show a rose banner and require explicit review before applying. + +### Editing compose.yaml + +Anatomy is the default surface. When you need to change the compose file, click **edit compose.yaml** in the anatomy header. The Monaco editor slides in over the anatomy panel with the full editing toolbar (tabs for `compose.yaml` and `.env`, Git Source shortcut, Save / Save & Deploy). Close the editor with the `×` button in its header to return to the anatomy view; unsaved changes are discarded when you close. + ## Deploying a stack Select a stack and click **Start** (or **Deploy** from the context menu) in the stack header. This runs `docker compose up -d`, pulling images if needed and creating or recreating containers. diff --git a/docs/images/stack-view/anatomy-panel.png b/docs/images/stack-view/anatomy-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6e0ebf96bd62969dd5d689eb9596dcf10a7e69 GIT binary patch literal 132313 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˥I@iBSK4ksJ!nbiDWIo~aDwPzJ_9_aMPKNk#B9kY8lkrhenzBR3eOTBzE ziFAE`>CLaxag3Ti)9v!e{kZH?S1SkKawX!E2zF=5pc;g474emB-6w%Zv~p@}PZ*S8 zDITV1K@+y(B^g-thM)}0X`l{Inw=_b%#h0rq2Z{RnFkeYKFD4#``m7~f_ajhV5R_0 zX;c)HEr`yTsI;}S<7770>4Z+H7&H#iKx2H&n?hH4&XB3;sgt)H3}!zT zLn+Q%&xu6w7B@a#GYPQl@&XfvGn$R&&vRm?QX{!A8nL@d%R?u{ieX``IrH^h<;KfR z6TRWFsye#VuS9Q_y?xjuH+gJ2J=aHmW)WxO+n4m<9lCyM8Z!6WPlqe95_i>3ja!}@ z_SEY)zW9X3W3=Yk&^nN&Eq0hY-2RP=R(xuoL@I5!*Z!!ci`PNvVXUtlDlL+b?#q!q zuW{AzHt%u>&1{B>zTe% zA(#-R6obOci?02RP9$_Ey*=D_B=e^T-&Fh0H3z$15NJoeiU4eyHd}HV%oqw)7+m*9 z^g)k|;9z4T5My4Ro)gf8LiD>6Oj>$xr2}Xybp%D@yNvGdYU}qn_ z-rL(I9TA<2Ye7gj`?Z7Z;3~c4ZImazla`z{zTHEWqn`~X_F7W{=)PSO=}Vv+mD{s^qz9Eu1lI3Wgzf|zbzLgyk{BJM7TeK^fAGH9Wy?AM-l+~DU z6sJJgNs^9GLoNR%nxzF@74iJGV%VEJk|ak}9;?T=O%Z_@sZ5?_bNZ&np`nT=*WzDE zJz3>19`X&vuFqG;bG2_zYaMOz!>CbpxF6>OzLJWuG<7bz#*(6f`8o>Y4h|*V`rlCp z-Z5V@Tq8`@f6K5r*BmaY!Cf`km~#&cQAn)^Dd(IJ-daVxr(30#kKAG>zVrLe6qeCd zu@bM*N9*-`dj`5Ch*xP9!sPXclyOptjgOB9q&k9Hz<01d#z98*ZDknrosc;*4}ql5 zHV~U)(nAJ@4bXnp)zzV-xC#Ba9v^?M**t>XO#Q`rE4#SJw?l1Pye_{t!!-ZvC$7IlN{6Bzmi11? zXSy&E(oe;t>;@*H;jiw-@!xrynPD`)77|mIrhGxDL~Y1>Gr+QZ8>>EhSF=lKGkW^1 zT5cLcl^xxkUlekT;pI02Rw=SnhL(iLt?9PHgKGbrYRs?2w__PcdQ?^Kea1TTc+C7q z<@{qFx^B7tluPB#1b4BG{zdoZx#rt)CIP1(irS zI7B-}5w`y*-^tL)4D+%+QYP-xoT~=|JY?+r=z!h|RKMA8OA&;EwfIlLm@P&Fx*?blHoJe8JBUATi<oczoO!Bj5mv^_G|86}05@Iw~JJ=Sh`dlGIxdN$bD#RQ2Q!LB5{8I0; zhshV(77ZAWY}$>f15R=7!(CWWj%I?$etOt{h8dypkZsjrRwa&MWBxG6MH&Fozy7yp zGfy**j*mq|MOzxjE07g^;r`(5jeKoYF7{NOujC&3H)HMjk+DaMubgBVpY#&HzCRU7 zy*lK1z<;0X*ul4KcR66~b(68t^vB;n$HsC2F_72{7Ba-WMz9#*DogwS{3-D-Cd7!` z3SZ!_3HI;BFH!Huegow*L?%#{=KL?-E-=FdCH~u$v%m4hwoBy~*N8@3D zLCEiVab~-$3nO5_N_xA&JqjAeG6+@C^0j{+Fwv%SV#2xJ;})n4LC1%o22$LL<|_o+ zqz+5uyu8&9L<7MWBFH)dpZX`Oa3=#vvKDlz5RWrT0oLanA$xl+7X>*vl*BEQ{|c}tt)IzZG<-*b1!%LfvcEuut25UceEG_Z(jXrAO4l2F`Paq| z*Gq@pRzsEE^QS5Jop6;P-yZFLi!B_FU~4qe( z;z4l@%K4}-U;Zrh&cZ}JJ!l8yx*&5ip{zp3#O&_u3?H>MH(v%jIZ$O%Qs#lK1-^pU z24L1dh9P-FdLDhP>`hD(e>Ml`c8ZI^@OiZqN|A(R_oTp=JG;9Dx}eETj{IU&=YHdj z?A#j29?t>0(ku7+bq|b8CnhGO%ivdlF-#>$Yd{fs07RAMr~ix~jlK}^7hC~x?d402 zFuc4Auz(7Dr+? z?FR6CEpfi>Mw~CR08V5B>H=UDq~Vp9=7B|@{#;x6nW@l3)D8Ic31OW$_B1maG^PR& zHoveC^w<2($Hj6!C19Nh3JPk;SIz<3IU*uk>fr7jQ$<39h00C;od${{Q9)}wpG!*jfu{nTjXus5x0E%ojHZ}+V zLbN0L`TqHUCGMjnJfT)M)Uy*HF6~d;w&5~jSs9KhkC%<9LwsPq7qbxFzYlXG9lFpqz_72+%wR+K&g-(` zVmXJ6#GY|1)z`0I+w#0nhSHWP93qP#+)z#~OzyGuA9RDM(NS&=4n?uVw=eLBU~DZ! z;qL~F01oaCd=Nf)N#w`_v)%WEqM}`BHy7Lh_lcJd={>AYM&)7ysE`pryF1kY-#`pN z0n~E2_-_A290>Q5aB*{w0t(>XbD6K<;VIR>AiNywnUReR`yC@NyM=|_HGg0)dMi=> z^saoN9Xgq_2p7S#EA;m$BG`Zfl%M}u+4B8+fscvdLQYRzPVGE)hOa?wxdSj;$jB&# z6gW`qArcN-N5Gq~H+6Ad3V0Kmr*>Opsi>Hk7Z7L#?*S>SF$6~A3(-9=fqf)9KR?-o zM6$?^`E*=hrnafu&D=nA^G!d+?T_+FJ8J9dT6df%t+f64R-QX=VD^>V2$%RCyYu7PH@LOr@X+MmZ_MaE7+_nSn>V5GQ6?^u zbU8b*)3{)_S;gsBFA}mXt4UJV{|$!8AaBo95e?To4EOZC<>>*(53Y;tQig{u%`avvMwvGHcNf}pa=R#~bC`KTx%NocXvM4TO>6~KoQI07tTMLZMVR(L~x)XG! zGWU>j9>uyPH}g+&GQokR^)m;VXTC~`tM19k#kHRTc)!ZOOo(PMBA&<&c_1|x>352= z82fR;A4l6B@2?Vlf&>mlWlBrS>Utf+d@|}x=AisL7DC$E+DMj-Ru!#y*c^oGArtH|d zl$!n(DrQC%%cvk$$&LG5_1)c^EV(^{@-&ZMiI6CAeNzZW#gPcGkO5gZ({r>Wq&z+xUnbN@)eAL5tTcjNM_H9` zkCu0P+&Yg=2$SWRWo6UCSnHKNSN)jImf8BMY|u8$S~7WI0G@M^VQKX6Pvfop+z1P8 z`y-ESH9SmWKl(cnB>OjBMi#R%Cw1BT;}eIeY8g>g;$P0s5idT21DVe#B_uaqBc8af zr_rM_WRc15SWOe9!XPJRP3$UT`hlRmc}hSuS(Z5}yLqSLz%p?#MR#pcVZz(0!ePnj zoF7%!Li-HZ{;pH$%SL0}F_I~LoziH5orm*+h@ilcWxLhG197X%*__+MremZ4?E2i(>@!71w z0F$)$E1Z}x)cIhK;B@`-)mMT`An<@dtw5^@2IS(03)Xu;|ulgNR)|ecFQS| z!bQtKMFS#?0RfB!FO|7}e>d*s%b~>iz{u1?$y2$g5Hq$U^^d8y(b30?^c8=&Z2sE| z=)M;K=+P-?f5?l173}^zOj|+WD9{Gtv3ofMfY(N_o1B34CHPCX1!4(sfzuAhyH_7#N07IU*NN5Ho zu=yIGT0odJ-@JJP=MdNijNTIWN8+Mi{R6prOz?7$mvF($`cqO_Hk)}+GWxo>;gx@8EQeES)!D?~ zS~l*g%WW*CVXo(#aLgY;k9y?0L-Zf5b3DiW4OR7{US8L;$!h$`qTLfI#ahlzDJ(W` z2iG_$7qb{W@9|30U$v7?H0h&e!aaE2+TW|m2&k4aIMlxmepo4uQ|x%d$mFo2gZcNp zvh|a!oK8;hXArS@jzAv zhoWb6y4Sog+xi_Z!$TvDi5tCBDv_?=ZQ|lNOC0r0ytmCNF(AWvF~zvoIefYvUc=~8fUdu${*y?Cpkg76tU`Oixpuu1S@rIst;v|Z z^!1;rCr!pBqCJ+iQ#+$Cl6+!$ghJM-YL6yrX%BY49qhXlkhN0SPkkp&h}xf>8b93o zGy2GOd*$~p4ui6V(%Fn}Wbq8DRVv9^9A|Ustq*4iSdG`e$L5uzQV<*eSS(NSwvEK_ zln$0Y(sRL4J9HUyy(kx*;$i&pXeAHx`RpHjK5LZ=hoPFiD&=N}0JR#^_1d9#M-Fj+ z!_*Ra66-(;^y0FEFYGKUoSY5>ybg$fw89B^X=mp_#Ncrqm->kp5S-zIA{m>B zUW-Kp*e?0lt=~o zEvbxNaR%5Wn6E_eQ&3!^t|F^Qah!@Ct=1Tt#fh6DEOwZZ)5Kw&XDg_QsGN)BXRqHm zJwl;(T^hLTmh!3;VOI$Q!!OJet*H6_#o-cXaNS zxUBS-;?Ss5nsFUyUD3)oFwW*Nv%>7~h{cIh@|z*+5SluXz^!+gTw=I!q8AibT3gsW z)a;G%hnP$F^nH57$UR!3N{!5(wzEq7d$h$(em{E_@#N2GevVnZJL*|{-z$r?{91^w zn|8kCX>Ga%m6fV3*d?ip8Zl$u`A6}Ud(R(9kQy61ymHyj2v(&F*k#x}?e^vg@nD#E znzy1{?;xMrT~uX$UH|UZ?})snk3~aN2!R4fT05<91hRJX=1rfbcF{|#wPn1{T;+$Y zIV~xV=wy7kRk6pTY^D;XVze32eH1b5%*@^djOUZ;gfu3CGN(s z&lM?nfI5U1@hTs6!iC!)dFm;-k^iT~z4zFP=La?+_}fiuAChw_=~C@)_}af?yX%GL z_wB<-kyxy7!pgv{d7k*w*QNG1q>-xG>drRHj6C8)Qz)p5zE`*kQ&w|!E;b1a9mt+Y z9$3=7@VlqgvgX25d{3o?>kZoT$%Ik;NQZebs(3ultgO=BaJlD^F`_5s!^$)}p*Mox zu}$w*(F_IeKT0H1r#FwOPsSM-P9Jw1=H{|whsp}+sSHSI9roI1st z7d^hc*O%OlOD@i5qs&HcSg$Y?`|~f+XT#^FZJl(&>-KC3k2sQZ%`1$w;_~zDjcbL& zKX0aVW08^ueH&?L5ORPcW4LtEAuLSj82KWrzghhVA-(G%=I5J(ZXHzOX9>I#?8 zI)003uYSH!k}l(!lB2jTkH*Z1HZ&CBk99J{&?bu_S~|jp>r$oBN$u^eUlDuU(c1kx z?_%u4}4^sdY%r#2->h{J?O!{`K>6 zrK#(kizly-3K3NffOJ{{2)%no+S(9!@)sJ=RuV=a=yJgvEpz>;>$wx?_A=5w-FzmJ zEk~0==D6@P3K4f`2*`!v25=&`c6Y-W5fao4I~&QJJAJ@5r`zY*tSSPj*6{E!+^O$q zRs;k{42VGJxACf3^e7L~EVgkxO8Zo~f@QqLGaHlG@Wq^{1%mUv(C9dn9cDozhF8b? zM;W#O=M8+r=O!o{eVq^EVre5f&Qe7C&j%KK$3KM5`Wj2GX2`@t8p4Ku1v!yzsNIo7JcHD%0p$a z7st48q-&z|#HjV7+2)J%q=iEg2EQ$0T2|{s_D-~Fttsu(YQdjp4r7F~Ia1a935!dM zwSjj^3zz$KSI?jMdGxr3Md)oD>b3-`^SQWK8@NgR(0P_Dd;9R|(Cc|an^p;0l5v}n z>=vJLndQ^%>bt=_nR@jnk(2W*nsqIeiKukmKQCO~u6JK?I%uOL$1NIshxPpC61}GVt$g3)sgDFjU3yV4Fo01xc(WbG z^3Qy~cY%yP*)5Valj9B!4h!TRE-(B>bo%?{?z(()yP7;Us+V%rv`s?IZpIS=707Rh z+<`uvmF#?sa@LqJfxP&41Aj1?G>o!&0v`hMkV~KeB>(uXe8-IT?Pqcm-mcF(oeRuH zQ-{8z4y7$1m#ZBaLt+wIbg5B=`m?27<7Afo9*MME{}>bE>sxmTmIT>6c4f?&~)< z(c>47?dN&BTsj;oGMM)-epfh5p>$Z121W0gJ6G16Q9e4e-~5Tg)3_zi5wwF6&5={- zY>vz0Hh61e(KTyzw+h4M*A$8kTYIII^zO=0unX5rQC4d6fs3<6tm2`&cbt=b=+@y- z0+LI~fopKFcCWV9M03f3GJ)^69!%1&+j-o1gYX`pspjznop2#u{@|VgA(WWhz?Opn zb$>5|=pur|k@34s;#f9-WtYWb`_Y1SPF!r-mfgUFi5gW_yw|pP;Zm#|gdLi8T{mnJ zWkGn!{oY%rTDz@)FJFfI{ZR#{;`Yon53h)gr0n zS6A(0$kTM_N>7>{^+-vYpdE|nINfCK_%RQ0N3`A+45qHOSMyLqatF5U)o?bEad1ep zi5}P7IX*(o*!lF}wC};-`Gcvm`I0@HTF32%2BuAgbIH3z4wYRPJ#6=j->|T04y?IO z{5HE`^hL2lHBZd%cNMeer3^8V=Q-we=}H}4-GRnHg<^E{=vCz|dXltdY}VYo>fe2V zXM0Qj6J~#O%#wb}UZ6=-$dgO61h?t1MR05v6v&s|lvp!1lY4&@c~-jd?qj+=s|CMV z>!Ljy<2xSyqxMiCBQd)(k@3|`&JtSIXG<@LcQapRDKQ#-8QtGamCca5B&}64;=us} zjcjkH3T}27Lai&lMS%`Y_yQ&%2djAU<1wQS7Ty%B4(#nM&$#bW#QsGb^e+H~v+pWg z)JyLp85m(A+M<6aROy|+G_T}<;PSt|q9Nr6QPBPUx*S$1v)Y6RnTineus~0h18)4sbQ<~G)wir zXjhPy(FDT=>uGAz66Epj3|{#A%b&iED&_WHPsJzwe-GFGO(=&3tmS{_Km12mLuYEV z`QKi^|L$=74T<>sr2i*G;y-@K|GjSv#*l*n9pVi$x<>LE@r#wbgvOoKl|^yDgCKgc zJ_I+sW#B)-zl}arT9xR8Di5eSpvzt}dDj0Pl)$K-f=ljkUWlch*qqseRq-t^ubVRl zz5yZkl~+?^uu8Z$b(I+0yg+o3ie`O@HDUO)fgJIm6#qWx|Hn3sdpd9MyWts$OI2_{ zQo|TRChU{`ytk9MCo}9ctEl$n*TW2E$|)m}+M5!D`1oZYnWiOx=}ZmOr71h$hUA9F z1p_RI7%t8?FPxm5G8H6Wy!gUl7We8=C{0XEOrBEFqeqW!?jds6A+MoA-_H;X1xNKo*}I^0SD(l3hsEd$1gXhyVFdy2OZ>v0_mGXGCe_q69*6;X5Ov<3=1Qn1)st7hAy;5ydk2Cm&Gd0agR!%{SE!)-Z~NyN}N?)Dyt; ziRO1bhm-I#pSEBIu^bHlD}yf*&!Hm!tkoUGlJ-3+@ywgVVF~;r>A=cngbOk~bR6bE z<6!_yCmWcAK0esrkI*|FHO_b3ll+v(-WK?kbx-=z9YILmhPt?xxq(@)vus&pqMrAcd?-$OIMvCc8K&G zqxX13Y#}4jBehJ@Q~j@}#$T+&CdFaxRg{%MqOm=AzU_`6$bftfMo4Jr=#5NEFfab_ z^#E?)OOOkiI0=FUavp#%Muv@@gK`A|+rIW=Bu;{#90Hm&?SM1|g_sD#DTp7)r%AZ2 z(xHnccROJh95u9fhs`;^Ad=~&m>4rat)eAUq!HnZ%?4z$&9Ba2miKb{pZFf5maNnEOI`vRQj&{LXy%S5#f3ch>+h*#GMnAg4ps&U4+a z>hyqh1>*XG+k@Ak(F8Eb>y04rkkJ$o@e)f3@dC5i)2B}plafm4)xoaKe|CBb>64To zWy{!t^)DFhKSHkSvXYSoY46|)l18w*w6X!Wujl4t4+W0Q*`GgF)G-lcJh>HHW2I*C zY{m-kRtm1bT+rLwJBeDSQ)WfgTJyXhr+>x$+J5ka-b?-0qn92UVL9Z<6NG1=e*vyI zxvwAV4n7jx&1XXoYkK_mmT4ld7i{qD@X(IPoPsApEfB24FinICSLnBiuC6Ek!F1in zaB)M84@M}T%sq@uP3h$UsM+7_8g*O^#6?4CWZ3*xUH8tn3_9N+(5Vf*aqmS*R zeapzmebFqC{J=)v>cf9HjU)_#tEUC~dW)Ywe+DlP-n{__(fwZp&?5`)mZ-8Zg^v|% zj6z3{pa2flTXUnsbOxjy`K}i(bbYV|75~y=g0R69=OaKfYG<&UO`f*X=DnaqX@T+X z7^sSthY7?FVGlw^Mt1$vD+=o)Y~^uyI|8;Q&al)~P*|vC`xx=GOoQCquEt|rifiry zy=m;k9A~-Yv)Z-K-4qg&rDo~_kU~5UUTq^%q{q+B-vS|aB46cRh`PG^)Y6iHPGcfT zPhfCxF9g?Qi463;0;^6|=@d+j&q+u~U?T+vle_Z6zat9MJAcVikBmM7)qB0=QlpbD z0emOKS{LR<|3)~D{2%-$Y3KhR+MK_qD=b08D*WGd$KSs|{PTZ`dj6mNM*Pc?BN0~s z-U}(A*Ok%<(oiNKo??2y-`7;w7GF@G+L>VptN)#x^J=j0CE?1*65Q{IDrG{`hiqFm zM}fuN#B3{Y))^1xOo(-Fu=IHen8vPrer$>|#Guz{;XdCs;%Jw_5rqn}puot)RdFd9)3Id&I_m z3BO@520lJMI>Z2hg#dBx5oE=VU+Fk;x-4c?4V7#KVD-bs4lYY6R;))r15JYX9ccf& zdi7I68=_%h-k`@Z6w$V| z%iP7gd0FA%^0nW6XZ z--pXMzV-SjTe%7Z75PO1pcGD7Pft&H+Ud@OociBo4>q1Fjo@NnFu9)Hb6ncWKk8QE zjnM$KCt;!z_azsJ}^1WBm1Nh?brX zUG+lOMrHhqVuVtqRsF;Ch~?RL?C7dL_r8J06#w|@+}B!yoHI`QsAMSBXR~~BSXw5#h}!gD9{!qQq;h| z4XEA(Hllk_V~U$<(GVF_@pHt|TvzyrWUv~AG{3z1<(15r44yA?Yk7y zS#YVUy})chan19H7c?@_FnMa!h8Fknrd|`(cz;-d=krMH2C362+qN{xmlBjD{LD}~0xR!D{O`O^KB>!W6voEdV`7ES@1OX9PHWhQh{ z0_bD^N*#Dycf;&@yTR3=4)bX@O^?yXqBjGS!otH7lmYY&l~ESE=aUKm?cGcM@D@#R z5Zh=r?e1T&|1H(Mt2ttAwcIB$jlS_TvO76?e~f#I;n;0-Gm(*zfj0{tBBdVce{U}@ zuzIRH905_b7Lw8M5u7Mc*rq}IPp#a7l7Rt(5z?tv4T$a~vh|dGXA@{H{m%=IXDUko zoADs1(lj*lU%Yv87lVlN$-{@&>Ct;WD~ICVuzry4$s#f095{`4#Y=&R<(K*8q~4A9?{NHK)BLMBEsr!7a}yuRj{SU%N*D z$C&ndOQk}MeTNz+P5bk5W!38OOj#;tXC+C&YhJS5aT6Ca70uR53Aq{Dnao;RsK5HS zZPp(}e@jdhBzVHc)?_YdVZn?+@?P#k@q;Ql4Zboh&2aUyeXKxa{LvVs%up@BAd+q?P1+l!2 zHdFGPi#t74lIB99&U)$S5+JP=# zT~+nun@q-g$uYpdqeINqG_ybAwVt}$)a1>7QneW7*qrkwLE*8a%Yk!yxh3167248R z#!#(ioPcLpgJ|}|_`A#xC~q+po!FRYYu*psUS4dk@71i23Ad$E>FD4+jPFhsti3hs z+!A^5`shIc^$Q=ql^-5@=n{4xZDgy=56PYE1+uK{~T?wKt8a-bm{6#&j1^2iW7 zQ9s}EqYn}P^B#8-9shHD`~}>-RLd=N2QuZKJ$qLA%EH|L1jKxa=ZL|r&V72Hn}6rI z9iUSN3Q<6$f&TOlx7JF)`Vx_nx^7KB1NptH3n(`M_l)xGhV(CkO)5eB0G;wcNB8#* zzGqlGB>OMFQb5KmEC^hETg0(b4YYo}@879vCbAi5cL}&3PA4oszi6jRU+!RHW8N7z zyI?6TT4%BkaaJUqFNtaRRqy}PLO!bJSC$EAl&f7Y0Oj3x+|=_tN=d)eR4Ar8RdSzz zz-ghSePbfiwk|=}z~rkVn>0Q>I!gnUF_xyMB(_ZxrA%hJ}dTQ!kzNqV(#USgQ2!)*r2*bBJr*8hvKZ)4O z+P%C}h7tfMf%gg$XJI_ABfG_WV1N;M&h|v9lD@{F4j0S7d!At_0;>}~KWmG_C7`i{ zqdp{rMoOY!^QG#0$S9bW!>Pp{?v_q~u?9#)VdC1Vye6K`*K>PTfZn>}T;gIg(ds*YvarcK&<3C!*vmbKcF=B_~>g%nnc5v^lSW`c| zzHB+fWSbJpuU<`DlK6ADUPUTYR-23?p%C-4-_DMEm>g@kIa70ATgHa&#?qoUcdz5V zk5@xoLkZ#g;SWhDr{Gaw#JKr+9mbg0S6K&}+S^e@u~D32zU=;H<_dIV%FE8C^XMAY z#ftuDx?K0s`qd{-gtq~WGvpb83oI?7MU9aPn{^uEu}eYGe_d#YHi-(@sXt{reR?m` zLRafMP096 z4}WmB32?V!Us< z;Z_Ku5JNRkisoNvm$s^~UcKuknk-4GbJDpyc8ToXEA^$cCUW^`k!RTRe6SPq*4y zXgn!a4q^lBuFdcdCKlgCzQu_yLPV$P*KD2#E=UZ*tvlNcGTNsmJ@PA=5Ux}Kik63xYM9T5* zYtOh-z%7`NUiM{6SZ-r{Lv!WPzcV}nS9W}cPaXB*zv?Cv3*bQI2f8=H_HgwNaJylH zEd{|Dx{S-tC_+?9gn z0T0x*fakZewCw2ao`UtY;*ZaCP4l+|PNML!&k4UJrq2hilOcRg+1hPqp7^rIWrF;}gA|M6t+&fj&TfRJ2t$l6f z4>?2=d^ssyYjzJl3S`=NVjnl%G$hk%3H;=E5N(rB{X!x*cdyx-q|)NlBPvPA+(BgE zoHCO=g@%5jbl(~6q@Cm|8XKlXtHi5*1s_aaKUWTkL{+a*hq?5$ySEJwPXj88N-zU{ zxYdCU{>l4iNJxEd#>B}+Lqp;zA;-~KsG^VhuH*)LdwOaLoRs>?Q|0kJSoc6+`EG*P zDK|FQ2C=v=`*x!oyvuoLU_2T@<%dCBVjJJ-Rs$3dsGSKAq?HUN2}t=&-hu2(GB1(G z{+_~bPW!|e5hzjM4~CNz(1*6Y537P9HEb!+UwO%4U;tIM9mu!`I;8KfBlL6zozj*p z;_u#Vz~mK1sXM@aPwW9W-QPR|=)2U_&A@2_iMZ{2=L_BO7jvOf%1ZLNoVY^DU*L|f zX!?|%-gKtk69$9W{RFHV7{|?Z8y;t3gp^~$!`G3K)j_VeXnlPAf7pBLsI1y`YurFV zN5veR4oQ(zP(eV{-?iX%pS{od_IJ)0 zC&o9%@2r2`@j6h}^Q?Q__jS!VuQ?CppSjka`{+C|9lSEGQSkOTgfQoca&T}wE;qH; zxjZDcOizzha6a_=?&r64PE)DjNZ(3!Becsp5U+tPk7iDA!+8~(rQdhldhr@x57R?ehb7f}WRGrY~SIC&t_|CN-&^Zv% zdj&bNehyg&YhO>*Z_TiEZ{uA#S}uH0V0HpNxK&o2s{56FO21AvIWO#!!znhN*FBJ6 z2PKV$a|F@}JmzEJsi=q_KNzWhCF!%J@2dSO-R^{nsG`{72Yx3*_zF_1#tc$SY1_=V z7S%osm=+W2up_pzEI7CqYWI!DBc6==IAYq4223}O)!L}l0Z9gyU4>v>;)S9wQ@l@5 zeCRB}S{8?f)Q#rZ*n_v?FG3>7Rl4+qMzh$ZdGqT_;ayKW8nP_`I z+~~fZD@;MvBGic8T;=$RYc?I_RnCwTj1iu|8p%MuB^T*H?w`Ov^2%!QrE6R^6kH45 zVWbG4q&^MyF7k=l0r;H;ZeDc(oLtpE(5af67LQtY@bo$AT zC<{-?Lvs4-dDS%J4%Zcgyjmp*( z5{K{9y-X1Na0EjmaIoP5Qga_8UfE|iYmNa^CKpDa(vJUlQ5qx61E4YF2D5h5kXItF zcoD?WLe1n}@IR*{lyO--%sX}Ng_>oQ-2jwxf~#MoTE{qaem z=JD2qn&LkR%^bP8CJ<0^ra#kFlIsJ?epRoov|UcS5k`pn2AAzaRmdn8gIs2q zEIY6AVQJ|S2??lbb%7=`2nN7+|KMP9VuFsI-nJKlMbWWI1|j6>%a<<*8|D}cRlZcl z2>}+0M}V)sp)vV2Bq_;;?~seMiDJ~s>VbZCE>&X$g&^Q2+>i*qia~s#Yg+2Ew}Twq z4giTFeDz!NIgohA>flwN}+9bfBTv8P= zgACWL9{}W+7*yY6hOpYM7(-ycppO7V2MgKpkWX9uEF(Y6#`@_w;fGFbF3M49fj@T> zk;O?g!Fx=fT7CP)t!Kt1hPw)zK$6<&%y-cuqNWCheR~rhn@NL z{^BEnpDv!BvO)mXN9F@L_6qW^;N`}}|2g*Gyy$^slDr}^B<#cEEgZS333WLD9(%Tn}eX+?V1O@hAUKAVAUY-B+9!8^Z z1NVFsK+-TK zN!Nqid~x3qdafxi#XTr&wf(LV;~nmK61i z!j$LaIcnk?azd+zsbTxq)5+M%F|3ZZo zUKqK|r|*N0OHE64oyYpf1v6KF|058~hs=n;w7lXB?uzlSw9<76b2)mSH~GG}RvL3CTbmUzvlSR?1TdfVbAOW0^)kAkVMDN9*V?(n zneOe+{d?<^DV10)9+;$)h{^ zBR)rj$*1aS7uu+Ht~Z^-D*y+G1^Os(-a@fo^}jXmr)F@;BuhTCirp1E%=vUa+T}Yj zgeHx?T0GjewoFZTN=ZPh4S7MV#1e;Mt#@!}Opivy0?^!L+9RA5f<_=_iLr%Vi^6ez zeVFT2GZd?p#b)-VlXx{tN|)SW6=Q`IvY&TGuqm3%1O=1T2Yq9Gzaqm@`389QK5JHT zYw)Ofd+$TEG(^&I+;g#mm~b^ZY*fY2uqY zkA;^A&4KfOO0mOZO`W3y4c5!1L+0Vz&)TjoU1wo|9-2_*4(`pTP!fly5?`wZEa=8^ zxYUsh^`4n!RSn%kcemwYk}F)6D33O-P8tkip$AsY2YfeOU3*@@J16CC@D0XR5TLHF zcXCqC#z~^nnUVNBub;hXer2R7qFn%uvIbWa-%h=QjSZ^8s`6f+zED}0(la)TQ$!q> zGZgSjjWIrOV#diQCJrX^VD(|SxBGK`pIY%$l241Q7p8vOA&xz7wJUU(8^UmQ#)>cZ z{Pi)0hmFhc_b`ID5+cifTro5&BqH8AG1sxup^nkwm>3=B zH%0Q@v%}EAgw&p3GdK);vu|_m`H0yNM!==o{s#*ymyQObej3E}UEAd-<-VgU+Tk@x zA}KR+)VJl(@8D1p6ufXPq=WK78y{NJer{eCZj+*mpf*|ODdTVkiQ!0R8h?X@0*UF1Q%hEoj<& zQjYn>%uP@K0oV=0CV#=3wvWYVDGQU+@n@|uv;d5wp`~?odz1)>{?7JxvriGs(i$4h zz@lmbCg*z=p0{oG)>c5ri8Ksv#RsszW&`G^nF0%y2#*jQPyv9NA2$L||$jK8EJ zK7ZL7+~?dN4m&~?OIJRkm7eA(WHA%>Zi*UuMkz2NdkKy(@r3qfSU00*FfKMWTdR3l zSO2IyOR|!~wD}aa&F3wtMgPV23zp~_&5qC>`{>yOg@gd*iU?KE(9&JE!e@A18pM7I zC^;+#=gNJ?-rv8n8!A${IIsQw-O9|LUfp;KbSE{a&|OTU*A|s&%CrFMo<1 zV1Fr}vKRfV@)@7}2$U1Lu=D3~dwQLyP#-khRu^^cS2fbxy!Y8@{S$4KKrfUnPiBG+ zkzidd8GMl)5|_T3P!Q8ROlUILx#b)7nasc6Okw-doZ>LQ4ji5kJQkd#?N7TTOlA_i z&jo|uU3W?b&-ts{36sav%{Lb;5b#Dh?5IQ%CCbfKk}P_)2$#cHRo4|iW#6!Gwd+bq zJ(HP&M58;=RPe?4eruD^i&$a*aIA6P2sA3ef};r1<&dDGcR}JuPku4awJi9qTbi5G z%!(n(3ZP!V4%74J;Vx*ee}UcyZ77vCvDZ~Qe{25C?N<}F>JKU=VKgKk?{>UKUwE7W zFv_6gF(y*L;$6d|4h4RAy1Q?TJ?hQ*~`Y!~02JCiP`J3Cw7|1MUz4xky*uBlfLmHsN~+o&xh9LGa-s zPf0?8N`xvd&L$mvPoD`Qm32?gg~*62qWYNWMuvtiV(#$XP~-z(Y#5qKg2#Jiz_W1A zDJ)JItw`XjjA7x{Dn-xB%I}LKm#=w4x8BNR10_v%6W97Z_wl*AKZ+%zrCKkDBxFcQ z8=xwjSmVEK(mGNTU-+QGt88v%MRe)XLw~~`m)|`70TS`BOV*Ww-rJ@!omKsWLlx1{ zsu~)@VB1_Zd&j)Olz7VWw1M;#2JgT|0%0Q8y0;!ga2Wb4lhtThQ-v5&ys3EPoFq0b z5YNS=^F*hcqOW)0MNi}A6P@)@g*@g)36fO<<=q=@jzVKP-Rrxo>@=CV99-NLZeC(X z2babBP41RIeBF8b|8P+mG8|-$6Onbl{XR7Qk z-!<1gWN3|{yWRriVe0Gl#Z}#0v58Pe`qwhdW48JEZUNWD#qH$hS_Th=ja?U zzbN;cX#K-%ePD?V36UV@AbBKIQ$yp?4)YRVgs${p&(#a&B~d1rGM)QjS4nQ~);xQ7 zX%_l80N+6trP=HwFmV6tR~B*fQjUG1HfB@JYNy$O)WQayVBOk=28y=4huI`ql@)Et zcJI)haRWDH1Zk&{7R{ZVa&OW(iR2cP#Q-|&4QUn?5uxZ+TWWApSa-?#6pE+)LXoBB z)$iEZ!X>aO3+K|>6AmQvot$nIgfQmJ+m`d+Mrp%WD;wCOW;A1WhWAo(3mCQXzbaxI z7AdJ-ON!hwCQhNR$lu)2`($2xo0WfaY-qhqvUX!{j^~c&uc~KNKZ-t{pKRiKwdt1o zjZT^-)7olly?{OL1B130I*~YM1OfK6*IvW#r9cabVpieWgZj)O2do>R7o1C;unR`V)+fqB#?M=Iz|#W2KZBD+#MyL5CSXYM+}8i=g_CxtDk!jn%g+!6u4G+aeD0A zERwP5S7L~}9XR2ll*0XPPEyYzdGxa%mI@{F&KV@P3nm>58qbEp?PB8NEuww9*5T%Vq3$^|F7wgrAQG zU85N*TLLL}s~-Of{cZ-djXGoStSv4y?6QP}w!?+8Q4(I^eF?CIpqulR4yG!f! z($P3maIMD*y1asj)@cqcEsUzI@tf+;nta)K#@yrrwR|N9gx;IW$p~3&4J+_`cQuuj zHU6SC)R)bpeJ#MGlBMRoVOrMZ;=`a`73}mf2xz9-@Hxg6WU7W1%Jd%LLPFl?*2VOV z5KXfDlD#|RNkyrtlmy0=5iVn`t&5PsINYzckMX$fA)!#P>RDE4I3!00_&I2UUTfUw z(`St7{QymfN+g@+HP4^wjmedo^2=4xNp?EeLi+m9#iqx_FK&(=Ik%DRJkg=aoYEB# z>MjtOdnuUL`v&t}iiZvtZ(7LtLCE$ve?8$f;1ZrA2Vi^S>JprsS@x*?1WF19X?6Bl zHnw|B7tTyxCnJ$pRgFfWY(9w>)6-;nb#%A3wofVYys-B<2ygBDO^v}@2>&ENBw&=& zLB9ZFeq<~)b#;rVRp|AFz$Dy;@I=_dh7M2}rOg5Y8mYV6kENvh{BXw_AB2>z=bt#N z-Vm14VY6XN}Jp0L2Z5oM@ zoi4oi?u?6N+A!|Bo5gV#vqKn{`1z*TFA{+6!jFZgQWt6XoFKVpWAa=LhOYg=Tk z<|`e?%YH=pPh>P8X^<=aPj%-1a}sgnMozAOJ+F_AhQ9{sizh%Da{HQyTh%OJv^WLP z&HC39SqQ=29CJtl#6?dj-f6S(aB;PAJHGW=v|xeSAB=5}_zaI|k#dXwVer5BG; zlzPK50AxYyqXA`tCAiyx%E(i*(2>n<`Qt~ODl+4``g)6Kpn><`-7E{Je5B*Kp@4WG zB?8mx`8M;=Z%Af$2GHER+8sAB_{i!h+2{}QjKFM|8A2`V?)evIfcZ5i$esfMgGe;F ztH&!2^u-o*1!FHw*!3%Ni#otp7#ZZc56IhFu^$oC?BLRU`gCQ<^_;I0kjI0{3-j=n z;3L5Ng9RL$ceDT95=B~AY2Xt4F{uB1@Bc&3S}GS9I{ni5c~j7>fWMzYG=CDN_R6;#D*H=)1 zT;#Vr`dIG^G>d+?4q^Gp1dZ2 z`>P9woGtkB#VrF%gzuOppfS3V5|*%q*i3zh*QsQuf=How79E<9k}|G0oW!05(Fit* zgu@aN(xLJMNx!?sPbOJN%#93sJgq)>Vl1Wlw&r!c+4rb;`j*t4TLzQ<57O3L(qbQ$ z$(OKw-e8-$4yJE_@XmkH9c_g*`Bi#tuW+Za=2q!hQ~qN|MOfjEiT7=;{u5PIP#pzl z9CPERH zS#vy?Y={I9+`0Jpw0X4kr1*aIh&mE|EHTDX0x!>mk54dY&(cz%JEmgB*U|Cdrjf_9 zfBS}AFZ3j+oiS4*NZ--xj_PsGz%_(jibPw_z%qtevu#( zmb$a8J_btNzC61Hu*(2*0}o-^3_U%=>Wb>>uKFV=`IaKbqR6xUHY(TT>Hx)3((~sHEs5>x7d9UC z8wa#O6EE_8#vOP+Evy(>v9EpHQZF8R8#j2D*)fJCEjD(dKN;lpuR-D)5Vc->1h@`p zQ3i`H1EJlfI1YRH7d|3k13aOQd5m?-o(A@`q&802Vqe8 z=jLX%!X6v6vSJe~WoB>Bvg_#th7FF6sbK1(T{wh`xnmGwmT@rp&P(#%x#pmcZ_{qb zuz0ArUhg>ibR|BJIzv6O+HVw?3XX2P5k|FO_zWN8HYU% zf=NIw+tvx(z;`f=04YGIUEagDc>dZTxin3I*oqQ(X+dc;(LGTLzB7^vHa3iz(#lcM z><-&-5;XqYn;te~P)QE5KlS?8q5bHODDazeG&8%8Wv!KX3{p?3XC1rlCAipJjBwKZSbD z7RFjr^L*c>67$z(mazx*T>E+!-WHXBOM2(`Gdg73TlYr0gdfe}KQU!XU^CzY@06l* zcbNtS-oIHV$K=&1*5`GZmvGQ0_$HO~bC-lLG5@g`%O&?GJ+w-XST@8{=2!BL{C}~CwI?5JFIiuCMq z`ua{)+-wuTo5y`Lv2q?!qmb%wP4RIrZNqa;i}Pdh>rqr`!%y>{Oq;te&}-PT3No}$ zK<@g&BIdAJWyB2CB`_u=HaI_inbT{mNN-|uBC;A1&1~(J({l7oSxdz1UZ#t{E{SBL z-;H#0pfNNVF?Py7G&W_`Ce^`0YBRgxALG41;pa@o%6K6k;f=tdy~gu*rQD<+Q>54nhpadV8^M|3ck; z?z_(P{+?X*r9Gea78GIGl0r4}!*At>1JTN)r>SDQ3f|FNlx1a8@gdfb?ay6 zU~R=ar6$Z@M#ndkkZ6X}DCZQJiczC4uduKIPts&wNfgyA`)70K9ksxek2h?3iEhX4 z7OU7j%U+HCnk(Jl2tdBr`bO|4XY&Es{l^XP@VIh8zPIf;z7L`Hfjc% z1T**y{tJ-*@8LwW&XoCGeer3cjJ9AQQd+ramXnMP_O-%$l&8`fyLIi09!4wDz3NWf z+4%v#Oo{5Lu65D)gL7D5sQ9VzyK&HvuKuP&&B}cj;=+4Hm3RI=VctTlZ zd}o;FrAfrq1wnp)i6*x5O4MT=;X4hkFd|8eGXzT7%01ZeOw|#ZwgWuVyx;lVx6`;t zqQPt1xXl}cMhd5|+v*@S>(i06P8ITXSevq%k@kW$g!i%Xz+sj5`h~mWYNXB|df8t` zuoTsp2PG+HJ+82z=EOQNoRS&I<*mVr!VK03VO3DQ*ha$mXh=jvMXN-)Puq%^x3UUQ zNi<><+hc|$iYpmsX-+ZG6-36w;D3pF@ZbT!%(S(GD`LB$jOh9O4=;+L7A{<3xT=MO zk8xauLo@s4`}gnViyn*9JeIO#oehcT|2DN>rsJPN^WBL zn={&}IS$ve%_g*ShPd9`4GMko<&w+}8CnTexm>>k>f$Bwn zRIy$~?kfX5aEA_Nqar5OuHq07AmQ9VyiXJ56Jp%VuY058-&!>K1p_0cyol zcnwYI3xiiI%mo5@UWUKz0~?ZY)mJM+N?V&nLw>`In5mb)j7?8xV+rcEgeR8-no6xX zV>msS@c|uQcb04Zsn@(!{bbWJKhXKT1IreN-Nkk`LhcyWpFNg!!nt9F({vW`NSDg} z{OYH|QJchvUIqccaeKG*gymbFgP=G z-f`GJhRD3>DQ&{?-f!MhZnw4Ueo-o?;n(YYJ|Zj20!OusHON?~|J->G=1eMww(*1T ze0pN(RmFeuyng_dg#vF3+0s%DaEnv6;248K{m%8SLxhUWARqS)t3FlHd}{A>LvfA# zJ+sXV`-W1Ktkm!IMs9qHm?ubL5aY;ULD#?{fzosbgec6(%Ikb&z4u6Mt0e%2g(Q?$ zPP5^>0We+^lzU?ZjHT;qYD8ef$hmQsnE2v-fxYVv{Dy=wB#~Bflv|kZm!ZGU^MNCY z+DH7(CyG}uD&HZ4+E8cGn%@!a=N*_bRVi!InoCbHZPLYBW7~jat@m8*?U_@4_lqOx z6W_CDFAO`A=5CGTU&?JIZe~0RSD1B~%LcZ8zt{(ShY^)b%JcVnp3$vDXO5aIPM50S zQi(;dsMZ(;eF4R(xfg(XCpsZeEZJ{U4*o&6U$vGp=Wx-oOkIi$%q)A{aP?h`8)o*| zVUsReLvKhtsJgw2vTzyx1-Y{}FQia=Fv>~uGf6y9%zPEhcR)YfGRz2#G?-R{{E^MD zW*Y`OM?ZQ)Z4Kk#=gVR|s8*qOkdC=-@COTcY%^EBWJ_ZtIRHk#Yo9+y^I+CP*2h!* z;<5L49Kc=LQjwfSDL~?ejEuaf?Nwaq?9rDd;%LDbjQ9r`h@BbiSU`=)IE0!+0=Q^9 z1%XCaNkm=dPvv$vU!oDDv$s(p1LMB~=`&Khz56*n4E8T zQft(OHN)DTxj-?D9RaaEMd1HwLFjb3y8jpwCP-x>^|dyXgwWX)x;P-n%0lJe#-TOb z@vg7>=`0{1Fi$TgTh`|-Xx&HR&uq>vg&lr}qW3G9?xp*~?1e7=@;G2VTw;PbTJ;x* zi6&QJd>oX!6owPczd|Uyzz0e9h6BZ>5%3Eloyf#Yo?yVC$5Fd+s04)p7mUDAz1HA= zH_=m;5wvpQ{)ACZ5>g_4ZupAJHvr23_*nuxyn8iz$)7tT$#;CBw)O2))}NZc%T<~1 zo$!SDjsS;HunJU&N5>%x!g-{pWI{1qfr-OYip|(=Kr7m-{v#oy^w95q^{L)_@|5

31UjeGjA;S#gz-t!{vfxPEw>E-rnbAZW8Z$YIGi^$nI{JktSVj2>y0 zRB%DVw`C$t?zPX>6!Y4?3@u?Bne z*Fd2|Z4s}SMN91+*+*cQ|>kfUze76O@KL7qBV8ADh`(58gfJhdv$>t`( z!rW6m&A@btwJbjE5e26KC(iqBlyUFXs`*uQ)LcK@ms%hr*G=@Q)$>ANbwYI!q zS2TL88bp?YN8votpv;y^js`UVJ`J|-7(j6b#o0kV1a86%r=T#uF!wU({(_K!O&|e) zj=u#or5e%|-5s0;-e-v0%`wFhUt@fH+?lJ5S%!cOG#HE21a>`55pqU1!@31%?Xi}pWH-H8d7>=e1wGCU1HIiaWQ@#n29 z+=#E&$QxY;6uhrb`C-dd9c|`#m`nTg>C>VaY@001%sgZ`UlymP^hJV41UNXhHzzA% z4;EK}avWkyCsG`IxcVYDmw}!At!c=WQXzF5@_TmRe(;zgo%8F1@~qIf^=ivWOAfy0 z*KNBQN34x__*UuSvemvA{kgBzgpSqFyhf-*#zseBAUGJD_io>2A;ipX^9HcY4;F-o zl^*G&2WTa@%y$NRdkgF8$R;^8R%T`ld1Ow(cu<54Ikg+ODuAc_Gwm#*sc;YS40ix@ zxa?W89N`;%^X3iR*8ss%W09Ouq2>3NL&Aju%H&Arcc(4ldepSDSn>vmw8`GstKbMF z=G|jS85(_?%}Y|SPLJq1kgG0uo2ubb6~AQ@>LFODJmwuA89_h0^35qJB5Wu4GSopKWbdCx#n;Po>$9$KL6H8ytgxe@hh zhlFgy$3(TKqo=m;wcqdVg3;IEUpgbCzW>7KOBrzxT==PLqV<`>3SDdWkQViV9-RbU z9_S1<7ZzMqit)xac72_loqMIQn`$zTgp^!nQf8Psj71F+;a8ZxZ~gL%nIZ1N$A}*D z%4zKfwii97Ej_(-+ zI4GH!F?YGSxbV2C@e!ReC}vF z#>EZc{fJFXorMTpv`M}|CA`_ajq%T*rGy7fGyP?ES4BY~zo>|ZEE2S=Et8;$P5FT% zjjk>r%yhN^JBKXpJtH)~Lyp*&{JyZ$nY^$+JlWyLHuonZs^_oTIb$TpoJ&kdpkV@w z;$rYmC@uyW0W)0Jub1TIf#+^sK>~9%#~HW5mZ;B| zH&}z-XA(L^ha>pB>aWYoxfmJqpnODS<8$^_&w@l%Sy>rqj`kpkRIvB(@Bk$t^CH$Fe^vt=}69w=Q5d&%gy^@%vePn(BpV zeC^N`m0@?w$%*rRKbH`}Yo=GHfeX@!%!+ItOe)i4lDC*LRE51SQpjj5SwThxj<52| z@6Z0-Nk;Jxc2R<8#|-3OKk9~Y!Y3iOAtSSl_xCmt-P9*%<_U@sBmMU_6*Qs$KsVz4 z!_i66sz*apjy_)U%PEZ7T+bxaR>1$gD6dAENl8Du4t)?wA-Tup0=3L<+8GZNoE-!_ za7SluwQBa5;gAOJ{`g8Cr|{R^(PSE6yo6B_KMnd|W?^6R7KN>XD})~e#UwQtHJKJl zM1_o)Nb$m6yIH**a$RrX^sILqeV8e%yh=a&4JNih5dOEFz>X3gyvN!7!$ZhDoPPJN zA}^0oRMhCjyB^h!_IB7v!E||L>O4C7HF|o$yjDJZpcKD5W5Wa1F`!SOB^kA=THS)W znU5Sih0@Ic+9)$rQ+u40ls~@FacdQww0cp0#s9)p1`D8|w`z@+$RdNq)JnYWjx z_@-&HOJ2U5vkcKf(dlD=_qa6ONNfOUWZg3YEw`tJ=`Pv@w`dzbscw@DwdGV)x60%x(;}5lzs00=f_02ns7% z4?_{dZW3(pUshF6h!F#FpNiyyvL)V?UMNfy%c-W%MfDqT>WAYst>?f@Qvx;o~?MUH0&kC z#T~cgBLQiEK~9z=_9!O@2g2Di`Wa}VsJp;~0!M*uy?VOv5}>VlUcf*1oF?ODXB74o z$iJ(UpmN?~X)QJ+LdtPW*5ct!E(J_0zXmLNdU~SEmyt~E{d#~h-@H+@`~?M&g~399sG}?Ow;oeVFW>xBvlImrsv`F8MDUrfn>0n>LI}}NE#r-A zy1g4OUmNS{3P1`qG8=_lt6r_(Ylj@&H0>U4ZV-#|c3?o8kx)K#2YA6fgsA(XV)+h0 zgl<%aG&onRuiII6$tT6QWm2E9fdhta3L|D?V*|hRjV-T!MzMS~zR<_z<*OB)TvJ}K zwu*|Bx#kkj!i&+ZK#$I$IkNVM_syx7b5~N7L(0jFB!f#zht-Vj?FMUQ&KXWdl-y+~ zZc)=>7YvDxz9=Wh`XVO>Kvn}>RLVmMQk7*t50L5+v^CxNY@Dy+qC1pPV~%)XA=m0& zi=V{5obPywWB>GgchLOrJl{iY9UR){0K>3I^b|r2U$sjNCl6OhstXDVK&+(w>>k?!wdjg9ZF`G6T=Xos?w^`cg10g~|!iVyg5bUroGPx!bl~U>7JB z{F_yYS?qoA>yTd0j<}5NB&tuP%uM&*Vx1aN^=T)4uV&S-@ajb z@j)~l$nC|YCH0SxqLcgE(1vyFQ9J2I2U!_?fADzJ!x_E6vNsuP+!W$>Md;`(L5-w) zMZm>0uD7q4+Vw7EGjJ5Z+)-B>?4za}pyp(K-jQy$+S*!jRAUaLF6`Z$rEGWh`?%kl zjv?lH$Af@Kxw0j5nqbKB!Va7}Jy&2}!@wPe^Zs&j7#YBd_OPqtOvJyuL)G9YEyX`b08C(~1GNhX~bEZ``l zGJbc-q6oLYLnYD*L%IxS&)2?&9>%bM%-WiJ{X6;kw@&|NbSnQ+n5+T7Ww@Lo!wUql zJY@aAAtMKGozqD<;e>?CY|eL{AN)3VCW$w81K9G#MRQ~~q6j&j%p2-&d!E)$2cwV1 zWl4Y5l+1XPxYV&L*~y>$t0LpSsHzcwcXMxkYIKf`Q-*azi3cb2ZT$5E2OkQ8 z@GLwZev%?meDa=IlVdFsCv+eq*-!B)vtSW*R_WcqCQB}bKey|FwE%6SrD{R8n$-dm{%3=DF`+P5t&dB*vmu4iKE86D+iXaBsvvm}=_)YHQR z?&(}y8ik{o)nMW{<*>TA_#gyIhfX&bUI8Z&Y~UDwKi( zEv(gl-anHQJ*BIDtyZwU1MQ8cvaj^)dl4haj(Bv;V0#Bsqp7vdBCOb!dCpfa;zA3{ zv{_E-L3mw?ALt;PFBH?2m+`+sxZljojJbuyhZo>}1i>OJn=_kzkE^Ts3D#i?be?`y z435+=B_U}hBZGD*=?r|g?Az`t$5*oQMkXe&d$0@f6e{t^$ihSA^XPwYk$D2|xy(^3 zu~4M>Le6(KZJskTROz;J@FNYAqFRkI;}>eogx8-DAd(;Cs>^`_75a)8h+=-z+Y9~* z^j}8@OG3#%u7CVF*OU=#A z6}R6it~|mwPk$C%e!ird8WicPDea$ z%rvhc@%Ru$&Qapl!0nqO?;jt~;No7mAUS3T)iY)X1eZyPi;MTZ>3#y0=Tx@ivEv9n zsc=$;2=qB1S^n7_&;C?zFT_CzD5MKuDpiM(KBNV_28=R)pcI_yw6H1q7$8c2`P#>l zU!Q)`7Ha=yenZZUIs4i>?lipN!w-#{BH*UmcU zMGO82oSbEl`gchiyffgd1YYIN5jr19Eq5K!29Y4Ilne66R^^(}nf*&+HW!k`Qjjkt zhFAD5-x8a^>YitoQwud}?xGB8CdB!ME@d*m!rK@t3-Zm~Xj)`VPmwyeAgrs$*V2!- zxx-LSXb+P{78Kdh$@L0JWa z@eyxLeEj+Ato^yvS+LC{HSE*dQ2_p|NaXP*Brd^};RsP+m*IvCnT4l^On8 z*#K-%L-&T-REQ@m*jx=ecde?>SMABieKds(wVa^(y;YAKO9{GPZ{kI7bmgOWjcmQq zx)}b6BO?)6e8*Qc@qea2z9A=PSEc{WYiCh51qak`gQcLc)`if`?!LZ}jon42Z{Pr$ zK4b$!ZtQ5&V;oHw2Ff+er!i$sP?BuW zX0r`Qu$;gv3S8yn{;^-KN`%T3*rFp)u(kL+2o<;uoChA{V{+dHH`32dKdxhf1YgkS zizOt)Jfnjy6Wm)~_S^mWs)_;Z_*

)#GK~RuBg%TLx zeZUmLUdJAwP2A>lnyCRNRz&p(qdiY39H4kcyqO26ax|De{{Z_ka3ldQ)-d!d-lh|! zW)lqs19+{iHD_1_#xQjX#}q&~jd3 z=VTJ#(ll=7;qo_Y-k5g-4}acs*ZHM>ib}Yi=@rc14Q_{XA==FQa@KwRJ8lR41nHO zm?AQNm0nWf1W(_sJvtP_2Rvj%i?xL8U7Te-?f5E)Yw*s&{pC31=W+5oUf zZDgFOR|QXv1*0|O<#pTegcCgDfJF{clV*YW>{be-sUM57I@+48=O6ZZW-6dnRQR`| zxws8^m#DwWQcytbYLQ-(PKY;HXiQ{taak>gpnkJX%gM>n)DXs$#gV>2a#T%Hlo@K- z^fTCeA1ggpK^Tl{*Qi8&HPHrFF*E3fwbtrgv>Yi&fiCeh95Q$+9c;| z=0=f!9W;6IaL{D#h1jq&Gr#HTx<*TT7XKQ7s4Ho?T$bdib*L~F7VaBPtWYLF6famm z4bg#6WeW%XI%*2|ArrB>u|W>A55UEdBnHiD{lNlA z@<8NDJUuq!Ok%9H_4dVfnw3IFSN-<5OKr*i!DktTgG|Z*8|O7Ewwo!~(` zFF|WZ#c7Vlz}y5{R#0vmfhp2$b&v`Qd#+c4AUJ4f0;~Po*yx`ICvyyGkhX9*Im_pV zhc)OrfW2r>!{oXI9xF3{EqY~*yT{$TVy*q~6#~#6^iVzr3PE+0 z(@v4UV8uT|1Ycx}%o{Oi%8ZNf4TcT9w*5c8CN9t{fNoT2h03%&of`EU z26Vwqa2pJzL_y`ss30%j-P6-D)Kc28(@73MTZ_o))}I@CvRJz@ViuzUF0i*>rpIkW zudG7s)x<$`4V!nefU7zDMbI$0`T|h9ATkLCAc)Ij(E(s>uS$>}`}nGgIxaZN#bv5v zMPbI$;FsIHmM3IFb8_M%#Me*wvRN%m=mJnzKh$H>%3J}#FAxyR^)Br|)7`j{#g@4a zMgg?co{%991}b14ujwNqwaBkp=#)dte}eDwFGZ6>Dw$ z)h(k+8+h=`?R9hah-jQivb_Z=}6U+Y^ zp5aG^sk~e)PKc25lWDTm6|=6l)(wB}%>Dlls^rgN9V!lnc7FC0Xx1D3zVChe2Ed)7 zs_OWf$Cq22oSb%5LbSA5wXc9qf{fBBXaIX>lX*=01=U0e0`p zK!3af;p|Hm%UeM+hEH z=~Uk!EkpfVgyFQcLC^^F_bGj)m|$NHJ)JiyNWYvtOFi*crXp?}7U6)Rr(O2=&kI** zeQP}Sv}+i5JCa$5HaszNq!t$Qm^hEizleYv?Q^YHtNS7F7JTz}+b)XFfU+8z!3yhs zsW%Z%{dN{RK*|9~u|b`Ot-gM;rP%3hyvdRl)2HB!s;C&g?2S0rZkYT&1fzWzWa$1O z2EwU}7o)E|_XaOPN-*qiyM8q_5Y9QMBnABT9AG5G_Fe8|(ZB3@xMz{04zD&N<8(&$ z>({R>o5;v^7>OT;!-jU-+L|Wu2@6a78yFpvx&L3LRA_(qZ2EFFaRttEJppS#N;*5PXuMZo{Rb+kt>bHCOSIRuop(W2J+?KEf7Ebtw7BDA1x4l zv(x?^e26est>-j0k>{a#BvheIo7)#q=*XUm zEWuNxF^Vrq=^C6!7gzNN!`)7fUHm>H>gHo1mk}3T-_O8na5E2G?%*|FtGlM5k$#kA z+0ND}Np7hLz~yllkUoY}n}k$c966+PjD2#zs0U>NgD%&{yM|(Dty2c^0>@vPfc0<- z?5JQmtyD+cUDOpp`tX%T{l8m4e%Af_0&<@=2ui0RV^Ar8OarFsX>QW_E^=8$$~`5$bmipJ9|7Wa`N=ZgS#x$IWsqm)5Bs-1Vx7}Twix!{jmD2wzO0&M+4`I2uUvloLoDPBY6ae3Xf^? zy+p{#0S`Sn1sFa6#ZnY*$cIS&_Y)PjFRom``&8{l1ZU&L3m1|ETxk;U?S32_R2fpO zacf7Otq%NsSAB8NPr^V+RkiEj;nobKJM)o~M;kS-EqwS8{M8Z^Wia1&v3vy~+v<}4 z)@BP~K1Mkyb^pSfRot704)UP)zRoDn;m|i8qr;%kE{zC?`9}TV$!D$zJRcZqhAlhp zb1Obz*_4!#uTTX*4@CrxbadnZS_kkzb1&&>8VybL3OFS(v=Ee_s;0JD} z3a#WSs@^5t-67?uG&>uOr8S8g)UeOo1l&tCHd$}VK0!=h1zJiYw1F3gw9=~MB{NBG z-M18RCw6wYkQt&&)W1HamgKx18olcCP%T z-bJ46f0gLw{|YqzqsnK106#{w#%uSE5;lJCA%RNU!q-pvF^5NPj(2OBsoQmD)9clO z33942iIjaU+A`epR-O~&D&pFAGZxLIu_r12Ax!aSrJ(%5pNwN>(wrQ+gmu$SXE&Yk z?aqZ*sSL#nceaMs6npN;AH}oyMMd4Z7?nRAUwDOZ)=Y~1UvNt{z%5tLZ}08`JW&1O z#ce>Bfke3ZA}%dFEKI#{6lQJvt8j2}L5Jt&>Dk}g3sY@1LpGpV2nW4tLO_O|5qpa|B_C0ffXNr@}a#>V0AlQSrPjX4~5w0 z=VbYB*~eEB3kjqmMsez}v>4TW3)Nb(`S~b>LhU{=nH4OThD5X;{yd27q5B(J!4?E) zMT}^EtW-RuXxV(W7cg31DAKMn5f(gg8NZTR@&p^zZcR2mFdYIEG&`SYJpNO<6s)R z)D=x0DR=GKi~arm?r!;F?MLtbKl0u(tjc{|`<4)p?iLud0uqt}(qVvtN_Q%aprjHK zgA|Yw5D`#OX(Xi?l!PEigR}^!bcyg@w=w5j``v55?|%02JYOEa%(V{JF_$vN{lEX$ zd7bC)JY`aSz2r$m1QFxyuVV}yV2y!whj)#MOfXccQ;ITbI639_>lmyzcb}p-h?h5sq>2hZrym!RB}ok?_TRrx+Y70i$UJ( zk)c&+A-oH1i=Y5Huk{0O19BL`w-&E{PAq{W`aWV2bm_rl;=$YXR0A{A{lIFJCHdEYHoA!c7$#e&Fu{z=y1{Dn|$xy!C@9 zC9HP9-(r@E?9XUvLFbVOG6Lb_{if?Tx+ij`F9cuS)UM3&##BTNAUBLq?2r;*&pc$` zaS42Q3vR&wv=zXj7n~lfD2r2qf@)*@;C8(YBx}*gBYbDhFrr@Y(#4;*HZx;;|8#H9 zTSl2VLyFPot13NvP{H zn8BdnbsZd+n1qt+Xi|uCNBfemW5M_2OK%o_v@?JNfj@xAHxPANS#jC8M+!JLKsdaw zbhD+SO9HDx)@(4HiTvXQ*3hhTqi?=e5xtu(gxX%p64ITI{uM_CyazES3td3^fJNE) zdCv`~jyNvkDWoaRY`;vDRNpU!T?(qsXdPkuK*f#wl~h-o?y4v&gKx&-o^agsh&k~jA^Q72EY2%C(8+42GA=z(NBZ^H#kc+Mp=)E`rHTa1DWB;Dt$RMFf(p=$L-uyv=( z{rG$-IW8S#s^$%82}zxv{?4gFkfSwqc}2pn8t1@f3-q*`c! z^5GS*4N11f_*+(jwJ&*B{><3hnq<%hij9?rF3GIoo}u`Vi_gGukDq2&?5(hLpcSi6 zlx@)!^dyBL2R{p9Q)6aiJOg|VlbVzoImxvFs4{V&NsK+wN&dD6l<#4M^Pi zvgZlF>q{2GiWMy*4?C^Nxg4=+!Zy&VH-(zMk!t|~-{jExQGyA4q4R$GGpvXEpX4kV z<yz95?f#GvM$f?kyRhlaoP=}$9k;+SaEh3* zUf-Le9dm6x4sZ9NdAJ9Fn=#8x`RTw1mqxZ%&DBS>H65B@ZD&wNhc6v?1LWg2(VN8dbQX96 zYmzI?IJBCbpXaOXT|_J@3d)kvX8{ZfZ$n+q4z#zhl7F4JPt&Q4HL!OG;hTB65m#R= z@&X+T>3)(Q8*9n~%%JJ5%TR=EUv9h(z!slP;j5!u==$65kTIYkeP-a?p7eGrNq3f>g1;qU*1a)+D z0QAS+sc7h6=vHU$d976Laid=%7Y*yTM$@Lbs_9R4R9tfrxAk;-=HugQD)kvAt$9Br zZ){Z-Tz*3#H-+xeH`0w(_JoQa_%R=X4fe73;)~a>UxV6@W{sdC=j+gSq=K}VWCr>U z1vmTQc(vE*=?(0&L-%;7!Jw>_TV<_wtlp)$A_sL%UY zo9WlStT~3;K=3h2bp~mX2QD{1nvS~aN8jUvprgywZ=nm&zNGS2DJ1aO5?Y+XZBs{y zVg)Uwe@dteh=f`zI!r`9sC;35o#gbzWTyJ|buegzD`Ey9W!_{M^jnUAPv@T-bzDPq zIJqXOK{*_5CRdG?{PUClXaPo%%&?GAsNJAEcFV=3kU0@3QQyCR|Mck-2c43tzK%}F z5$YQ$;MFDU6-ZAIv;~ui3R#@ge8gYLx^oeKCF|U#N@v(S2269S9`@PJ7Pjrh5?ko7 z@$#xugFi8vS!&JM?>keAAJ`yx6*l&vK?9`*uhTV1%L`}u7typ%1HVL`ejJWv+PfRT z(eWc8AdnCD29%U*N$@~+Wv9`DpG@m^fdC>FBsHW`#3)?*aLnu`!#h2jF@72&cVv z#G4SSUF0_RN`AQ?DyCt-9m1y9?T84YeTEK{(Hu5LD~ctRgw^sc@mg>QQy;*qjlKxB zLRhg?R<#QF1MG*duwN@0_6lq@+lX~?qUa8KiSG@MnfSshpCC6@5Ge|gd;z!r+-+=p z#!z`9vgp%7fO&5vu;p&qe`uQ?+o@}4S(9w_XB2T_{F%H$5g@=OfR%y7UtxKKU30g} z63n-_tvAv9U$O20_L9N|CDGa5{uzuk*w;C)6U1u)BH{#RHgc$mpmz}YJTni10T#J1 z5@hDVRH7}X9J8Py6VXX}JD*5r-3q1{M={V)|moB}N=;Cx+tMy#904K&qS{Jz1 zVl1H~_CwVaLPh}Nl&CU4x)Q71*D?q!F5Bu~fU^~h3D>S==T1Pg&77OS2$!4Ca$=kxuM3L}XIk4E^&Tkd67 zvZAP0*c*i#ZP3!XY+S7uJKxx>O&tJ(kRtZmNGVZ`Ilk+%L;f^;`_N%w3TGiRy8uoo zVr)Fz9~{?MA#L)^ZAJUX_m79CMz$6|*u(ooy(YH5{Bqv0)uza4ysz}KxpOt!6HN=| zR&d&f?4r^PJliiN3pIEPA`K(!xIO{%lG}w|1QisuaxfW?o!wz0EMmB6hE#*YFZa`z zU%Om8-kS%lpKpGKd4uc;Vhdh`p&ygiKg|Ep(h64BtUT){si{n53S)GE%csP|Hs3$J zApR}F;sh@*!75^j6e!?=KpX{~*oDEb-XjJP5fMt>(UIC!xAVp*v)?~Db87_bjK(jA z>9%U%U}lV(f63whs5z($2EVx(G)F{xDmZo%N6U&0h?Z&=*+z|ywovg*z!UW4)=P4V zaq=Bc%YsWHjyt~+y@`KCM;v~&OeX%3zmebA{#gX}`;zcqW=8)T^7a4!kSg@DpqCp; zU)32}p!Eilt}~K8_P7+)|0&6Sz2n+3RLdgXc<{-1-kNJUX78DpNFOPQZO02;yQ!z7 zYX0NE7dD4~sRgu%TF{n$_1u%U(dl|F+HYRst9V6UilHXFcD};?zNYSZJmu*EqhUAq zG;f!SDHM?`&Tbsj5NrDCYS5^ zjxH`P+S+lD9)_l17$c%ovmQLS0=rZ&-{`zjaRyJ;>){@V;E+gre2ts~yB381A<2`j z2)m|Z5FwM0(6!^s+qJMwA~J`YGVuDtJbaLlunF@~2ClvD!R{xBR`t#TPGRT`I4L#KBwc}Vilj7N zy=poos9&62nb#bXDWI7O@8?6f^~OH-27ZgM1?!!SUT^?AmH``e9@L4N>S`Aji&0o1 ze}`(nOw91^+rzlUr6sK)IE=vEgr=N=lLf}M`o!%oqjWrODk{xjdKiRPQn)SPj-sL( z8tiP;IhU@Pt$S}Rhh>c+EN^J7}8)+ zycY0lj>~#e%W@2s4b!5;ZkB7<=mo2127}*LMmdLPIH@Z|1291#wc2NE_GUcH$rFxINx_64$1SZ>+5cQ95` zK7Hj_f9(}YQRVU}V~L=bFe>c8OoW7TbxrTkjLLw+Cf@A3ZmwQHMG3O>PNsMc>usVJ z3sg3e!7cY$AIHT7y3;%qyX^&z5qR%P80Z%$zE;7Fyk@3S_kH{uc}e*59v4`k=k$!- zh`i(b%TI#-(Hvh72II@<2bIOeH;WjeDY|FjQU{+I0^Ko0XVc6{vI8rb-$YQa#h@^@ zZ5aNQ&$%xq`)8B|n-`e`TXnxJA{n}a>47}<&>F3`{Ikc&$>@Makq`vSrYr~BC4p)) zN7A34lk8;(0wa|zcr!uF;toULn)z*2%tSEVzfCMps;i;K-c-btMBwH*t80H7nscw7 zgjzQWxiBO~q?{bAPU_|A=qQk`Xva)X@42v6D3hpe zY4-(k5e$SrtUD6Jh-{$xMW?_-pwX0{ZO;hUsW7}c3^Ql(gc!)cQ!|ZxV&Fw&|Djww zHg?`oCl#Ixzy$u5sUPzqMrrE3`iCl7(DMPL;>nwbqinYi6>Gt3LPmoMa1b~RnM6e{w9=e)TI_Nicn zv@pAH;lit~GJrG+v{r_XNl8f1jk@iwSrgBIhm!({o^ON7mGkNq*kEN$B(J0Q{C+H% z7L{t~^jl@*>IQ6D5aLTmth1_pdJ@VKSK#8eT-0g;^vjN2yr6OPjBxt&N0QmuSu>%- zt@1kkZ=XSF;aA=#TyV5^zG|j3cRF zo}50-!^2~BZg_YY=!Kt!SlC0)0Ff-cI5!ea(o6FTc0v?JQ>>od**4!p{(@IqN?D7b zmt2fp=RuzxTpnYcINVjOLJ;vIVhsAr|HP#Y@|3>bG0(~AqqC34I;<4^U?md&VS(_Z zdvHR?n!%NO-CQRp-`coup1wg6^3uEATC?u_ij6Zt@EmOtPsEZQ$c*87 z^6eqE zcUWsIV&Pr7HhGl&rtQUJW=V2~`)*z}k{97l9Q%psG9qz+d_vq%#M@xT-rRy}!l*vj zoIc8Hy6EJVk$XQ_kK(}MsopI&oZut@&0`KtV1`|xe)h&&6)Zb2^@*Q}M2&$ivyP>%nCU3a1oA6CpeZYPSsH zP=5(7mEfgohVLw|JM=u}sZz%G)Ht{5^OdEtS~#nxy>;B?L5cuRKTg)ZDbtkH$^26S zYQ;mIt-VW|@Ddo1=({faT7|U2XWNOn7&;5lvGJV}TQq>LTk8;P{&6Pv6~uD=0Nx6H zC#pLUGDYxcb>(5dV=wSUN*?8=Gt|`7BA!p&{q7jlFA!S2(#CP$7d``caO+z@TEenL zYd&W>Z9~k>)RSlA2*OqlcYgl?^w`T`9wm2rLLLCLGDQ8{1mP9@yfo#hV7T#wE_q0mG5^;_xJGnf^urK7imM4fTm(v7233j0R$0>50C^GcN_`Q+eMr+p9IGA zv2B+jh!e@o@Zu|ow1Q#WTt~Y9#r0d$)`fXD7Q*Jhfd-SDU`z`RnY@ny~XcL=jebDu&H z4s^*Ae+>9aFRrqyP$r@5MH!Ww(EK2;#1s$j8y7DwF2Y+?w7t7ql}xYaA?gt|lDQv9 z3MBlejDgPg1sTH~WDNG(%Gx3S?T|eO%H!Y=ezIh)v*4UMTnUw9L&xXiP@22);qkXg zu~D{w-Mr|ORfJ>;s7zKLy_W=-BOpCHrN@^0dbkewW^<2%h0WP)OY;KA*AbOVwbK2w zw(HsW`1ppOB<6*M4{UK(C4jhNOJt$rFa-K|Y&iQ#mB@&$yC5pA3i0w@2dcBAadX~D{!xp@ zEWg78m?;cOY@&Ab)nDI%_&p}k(l}X?0;pLby-FLAg9OFniGHf@Q#MZ)&Ph%cea|c` zD(aorsDcD#7)eXVEX-S%UtDeTOXAmO-{w|w_B;IkQELi`v0wNO9=jn^U|xZ_#*069 z&|dcPb##=n^UwjJnZdy%Y4Y2Q(%TjFGmVVFw6RiXqHZbvW2y{qB4^k?RVHrxw-8ZXq05OhZi+Zs!01rDxhTY@ zzF(A@D3Mntb$OswF=!Hg#E!C;LCX>|S^E{3P#j~Wq`bMm3lrzyQ zLS-OMU_{Qx%v_j%e8&gqxsX*CGV)ALOuRkYM!`P@A-w6^qriL+IB^1Dtt0%HjoW~g z1hVE@G*x1ZoPlmrvZZ-L;L*0*uJJ|rFbjqGNKZ;eOEe*5iSM9-)NZ`Luz(f139fOp zhe|mB@sQ1*Hy~SWo^@?bS2qS>luv6RO?1ej2E6rc@*pop8Ot*wHoeohy=A^x$N2Y= zjY4-VfETA5zreR$$B1Mcx6xV#NnpVBjy^Rshhh4; z(zV&SxhI#I*b%AbiLhFc5$==9E80vaIpKD-24NvJ7$qXO?sZ0&LOh5Y7nwF8%nUcT?k z5}+%PKe$!cA6f+h?D{{Q9S$miKLJ_3@sDvzB}{Rxa-YjiwU1r)**c?C)BN)U!a5QQ zr>;Ix{+y?H^uffC%L4Pu%I85Z;+hym2$!}$UEqH3`)3bvb8^@LD{p0=C%krh0~7dQ zm5t5fruQnfx4ODIP#GZqsBL(oi%$BD@{WWJ?FUxg%X>Ld zG`HeXOAIe&7`0|g^h2nU=Bklb#^s6@yn&~WoI0!67>HRcea?7QFxr>??NdDYZwBxG zgE5W96T-iBuuMb3|75)UvgkdRPYp2}_;vbppP5iwLc)1#5bMDS;0dq6R_I3pw|8|# zSsCpmlo%9=$@pyLTGdKc6%}c@6I~Cc++f>-m2P`S$LZuJ__>-_oA5G509eb3f4#Fh zV|igJdrv@LoFOvm`33k&lAula0&C#ohHZnCeH8SFV{sHd5 z?Bl8nX%8OU`@QE)f-GOVuPJFR-K86)q?OyjPck)4bG7h1e{2o?m$S~_j#1P;{x`6~ zKNOsvjENz)>Jk$Z%e;)>C}3q>lKbmUt}%kdMz7QUiH$-AsrSCoZs0>}=eB3?os98^ zD^$c0Mq^lm!6w9TA~wrWCZxrCV(`jM*PCA#zfH&$+iezPBG>X7zo4H<08hCA-4D_i zhZU~X91u+3Xvb0o2L~K~KAxUNSNMV;<1{fkI$BJAPcWaiuA7p1o7>}jk?y+zF8KdQ zE-$RE3vah-l(HCNU8igPwK0w8QoR}k1~Y!02U0Aqd}gk z%k8z zsPzhuhyWZZBO@bZW0mK)xBY27qPyR{Q?p|Ji~qF1V15Q!J*gbm`gsMbn)!`?T1!Z< zs8LV*mF=9xWBYQXvgE*mrqA}TXDKdDSH92j0?=A(5|*E|*CjbW1gR9m3>h>Unz{LT zP~L^(+4l3qspvR5lH@EoApR6_6Eon6_NOlxMqE)#10+m-Fsb$PRM5~MY(BTR$awttaTb=lt$t?rpbyZn$Rzd(2kuXXiW9DHMk7Ace=ynr zzr)E?Vv&|PaOa17P@ChY>x-8)m>fzXEb*L2tF+9>!7M@Mb65NUKre)n z&pBpF*lS-ecvbn=w|+VJ|9U0eJr#0?VG$7zoUkEl2nXGt(|wrffATVl%>b~;za>{J z2nY*nUCqhOm4Vwh;ZyP6{{g$=X=*)KomL=bQTcvTK@M~^C=rTdJ{Ecxv~Vz3G_Aqy zf4Q^@Zj_q~y_VoV5$LZ>4*)u!S`)y;Y^|-&4Ytk`OgbQbH@MjqK{Ef<)(VE|QpKA$ z-@udrS~)C7kr?A2>}4@N0v-U8F&8H%n}zCRL=K<0IIUE%C%pHLpbVfb-3_tY#a@Of zkV$wIW>J{4ec=y?MiapJrjaTRam8b@_M#wSFfNr5ya4E*7Rk>nOdP<@LXrBU#3)6p zVMoo!j;H^X*z|9474J1D}__jY${*4`p0jihCK!{{&0mED`f z{TT}P;?K{)Z)Y#rxZ%QXvJ|WwX%o7REI{iR90!*l*SZNu*w2PUc$V5UVfBQ-eqq#u zm?JtB0YJ4?zc$GG!*Zma!=|hPFdlAKTl8unRFuKlj82YC`Y^h}WUmG{hiWUK z@KEl1MXT;%5ULYNj{Nm{{o=}z0asVKwKfh!P6cw@r><1E?1;h_0rH7-CY~rLeZ3d5 zvWi4ayCAKag-ZmZF|-4-(LMvw6pVy$mML!m5ZM4QBCs7$87(XnVpgMOUvk*3nt=%) zdg-(DI>2iXK6wk)?s`PgjS!MW7B<&rM3ZHG#O*7USf3$#fF$Wib zI*F4pW%PZ9pJzFIr=TxP7OHtc^3!WZ7QZk_=$Q=hnI=UYP2)_iufO5{2ts7FNlA1T zW56Pq_T@c!($4(8fz)MzjTpEYxYP4gZ#=$`Oo2OdRT*7v)(}`#btcuvyoPXzf*0tx zJ?4Wh=VzWIo8Fj;fhN?MZ%7JWg6z&IqYCm81;qVuftcqayxmsLXk5790}54Hg+pep@LcnzfiuSj8`fs!HeD(C z#&61eAD-3;s-~%>ZH`3^*X_N`3w({mY4`W{$-U~msAcBj z99(;Xe3V>VQy;9nc*wKg(NpDO7m1i$xxO?%zXi3eu(`ucppala<4(X7S&8e~R+tG6 zg|fAn-)`=4ouAipC96nDN$6kDFYzrPMj+kf0U6fTR&S@fk0d(AMx&_v>M9ogdl39;Kc zB8njxpkxl>FNSY6elMzhIbr^m^yT8F8u_IQUkFaPz%&h#OF7IqiGAAr2%WLef8!$n zJOJtihX+XLOdTaQ&GYzkT zZ2%{_Tg=gf>UwYjJ6SUW{NPPdoXyNiZlRlCWrARR@`Ikw?n8wjEI|h;t>Y@S$N=c8 zN>#KPcrSxfKwlMSjJkOwsvnWZrtPl3Zk7t8ADlONeU~QDK++1`h-`-=M~e>-C&TA( zut>4qyT{9{FGb1_on@8Y(J%m%;3VL5dWuc8Wd_n0iL;9Qx=&>q(*GJw1b`hrtPfwV zHMIxrK|7L=X$KeZBX>8q^_3NQ4F6ZA9$dxpf00Tls1T|2KL$;?-TEVVzW~T{dN?Em zS;Op)Fv|}f_!1uKCtmffUV3YAYLG_m@Dc9`)7MSKf#T1zm%FDsTibz#OI{i zlz#=o6|o%go3m|*l+xI8^8<)9vTpOlv@Vix^^d{{vZYYEuqADU+}_| z+hyV#H#GoB?C1z8F(_QFuEIC1tQu|-Miz=lO6t{mDFPx7T2ldX689DkGN2s;^CSEH zZ!HpGo5P}r!h_uv@n9Y2>_$MS%ZrQN+v6TtVOG)4pH!}lxc=m}Nu9aV;sW0qb4<+1 zaA~?Gq}Xp|6^z3_m*bJ(49Ht1!6%YBfUqr#&$6&`RHE)9L#32`Sk2A2ATK68AIPw3 z9${XUnDDd&mR)jq{XW)9R9H(Sb{YPo2)(kd)X;f?SOAY|@^he?&6^d}TEY)vqb!^_ z0D)dv2Ct^Z9p#j%pjc)ceP38U#mv6t0-aO_#d9jr_{+_$_k zw-%|3n-SrVR7u?fc8a}-BuX&^*1p~WFjO4lzbUc7oi6J-t$h2oxc3rZ-@TPIqwbFQ z?yhS%!FCM1{SToJ7{17{gO>DK=pYJ(DKPoOv~ldUvcZ8+vo&Img@r|b>Z0Ovc5ZodONTe zffB5KNH6R@U&)oYWOp3*nPHiO7xe7KKAtYjw8cClxDB;38<4$cr*9@!b91Z%SPx{A zZM#y$^iF6Bx%Ro(=dtpp0>a-_(`lkw|5O8QE!a7LMbRwf3*9$}vyr-NA_CCbrO*7B z=fDkNHVRhznD3yRy23S7oQz@3y80q4YOIEt8$4`mY+$aucoFGm4G0D_BV|!>wHH{j z5<6#nVMz3W7bEO&s7XeB+kSpT0HZS}bmgM!b!-Es?^K2r8T7slde>pEeh*N``2&^h z9VjN(2NP56eT5|;S)%3#KD(3F%r$ng!P%Oh-@R5opTbxD5*|Ia9%O|~!N4J@`YbYX zEyY`YBaHrPZSPxSk8v>=?%-M&#zbQJY5v?ilLp%-72ZhB*Odw4&%5{>pCWJD(G@Uw znck`q-_CS&U@3+yO)bDB9{aT(_n7p|Gk&83N3PE=jK2Fi{L>2mAGlojQ97~Q-gjtWMg8F? z!TDd!Exl%%!K8;`D*xa2P*}r*B5nWWJ;PHfz>%23~$>fce z5T#F-yJWd8CNK}gXzA6-nTkC8>kkNZ8-&-{i+QeT=M-o0(5Ch0FDhuI&rop&D<)8W z9m(oTh{KBA;nUq>KK`7A`ARvTt}Jg=Q_!Ck4)hurz(t^!WO8X~6f}SEC_=UYHeru6 zdE{uQsIqikofZ*Ev1ejtPK%G9U0h5_O7eiMLRRm>&n!PH1H+3CcDx4^k4&(#gt2yT8JQzzG zx4@n|!(H>l$vHhgWBM&laHE)b;i)g~mIFuI%~t3~``Vj6=)Fo{HXAOshUf12KKb_w zcuzw$444>z<$C@LLFi=Zph?q9SAxV-#^G6Pa$>$aD?E>V*PwuRwD!&$cY#7WNk84&y%Aaz)46+@dngXHJ!drQ!PB&jkP?)zwTQ< zwxO`Tf8y%NYl@24>^8WyFg4x>ylFIly5cFM;3DX9SLx=~mTEt;YgWzyPkgoS?i&2% z;42761sn}v(c;<2?Y#~>jlT(o98oHiQDqA&K#^jXQ%oG6-xwDE4+xtgT{_EqCO-Rt z|BC*v=8)p_KR|#Yi{>r>=qkMZ#UOGN)={irQeh@~amPHw?0xpRWC3{@33w-T9N7ai z1N=nKJ;*5%gQG51g}wVMJYd#RThM?KNy#n4`352FK+m)5*K@bm3cx1P=K~=jAsz{%DD2)L_(a?b zBVjYwqZHVe!zVcdSO8Q%MADHC(m1Al=SEs@30K;tq z@a&gVj^zCrFHgEk2`oa_x$-hU={DR7z|U*eFXK9myG8USvQF}xP(T2MyjX62yI8-* z#blu=$S*ac@4z>G0A~{};L}#B>?a<&wZr5r@zM86+QY;UGS+Cv7VqX;3l?iQ30mk0 z7wjxQcWXBsq4Z?yh6?lUXK-RCD>R79fmddF?Kbn-peLE!Z;|D57z4G1I^4~nHemoK z*fM}%2yOzWMd3D6?7$bzPZ&F7(l=M*Y0Pn@rDYim!b~<^Rxq{i!j(V5ywx=Ah-X*0 z&UEn|hhyBDE_UW>e z3lrURz87Z^8EVv*3bEp97@P@q_5WxAzo60e&gWiP{nx20qM2PV_1Az02yAxhSA`2< z<37xh^85g4_LnSTcJb(L z#4(XUMerydquh1+1$JStb&R|>8Ov@L|6*OB`R zFZ1V;u7I~~ZS`Kkjxn79BAPZ!8w?onI@s8%=g%!!^-6K8_b?UrgBN;~`F8vM$Zj+7 zgHs3-s(1u(xK#2mA~lg~-4;we?Eoi%Z{*orYdD&^^5E1cJh$KrhDUIw$X^v`u^M@O zBYCGG7srMXNRr-pN!#pC!Jo=qhF>7&z!c3<#;mplgS%2>^vv~=grNdJnmLV@kq}LX zFbzl(0iGqM^8vf$Uh-plNf$O!iEf58Dai^?R&p8xFMfw~_{MUbUpe&}PD*~gXYZgc z>a^W&MKqS-7bYi?0-s}5d4T^TpAxbkQQolBXLz^6DCC zSNGXm1VChHBiy*czB^n@mtnZ^qTjCVV74szR=v66JH#?Vv4z5HY;7e9CODGhGNMW= z%5lUgPgD-cU>5$2)EeEg7wDNW&%hx?t9vlQoP*SF0s@zwww*a_n)!hN2}tvwKLlVIXhNfr0!z`#%QqL14ryWrX>@ zZ2#tcOdX^64|Zrsq4rn`jWu)M-r$B`Du6k)I#3Yeb_s?G<|1zJO5#11>%z-R9 z^yXxXgBafy8+){4mAx?w&~&@`j0CLEAVA^GJ`;gP^YZZl683L^l$P4h<8_rvyJTm_ zvtMD_VeegV3z`l2lwGl&h3a>dAGwYDvwKWJX^$A*`jTfPnVrEk34cJi5sa1R)55no zz!x_y zZXLyU!k{Vc%Wly(+IRR_xqv0J>#-c`%n4(n{?^HN5OwvsWB&|mHpy=Z75Hr+kEzTN z>07sNH(zOaKZ_wEBWpE`;c();^!pz5^q1Nga2zSnWaykLaWdH zbpJrJEce|Y@=8>39h@AX>|KqLX9xyqL2*$66mh^O!e4Mx?Lq#}{Yt|BRI`y)7L@&Hy3}wph%n_jDK!v{!^s zG!1D!6gip|I)lbgQ3x#hLQ(VdR|d(91*#^fGpvNsxkK)I$Pj6$C1`jsmn)QlR*vd` zXV3?9zI4El&vhh$v$qR`bcm2kx#2m+I(@t~XpEE;51>!ub}W#Xi$-(YT!G0!ZJz+u z*fnV4L*i9V@S^YidyxDCf8vIxC1_md;bUJoH-F(<>>X&^wS$cNJDK&)IIas0r2R-g zGhp_V9}5^A@ZWW%7!7&UtOsEUiqXg#`BT-9GwqBvQ<0o{szX&5^2q^yS3y}9G5K2{ zG{?yF9W6BoHpt}RpFfbmN)$2ztZ|EQBY!VQrL${L`#eQpQQutT#C5fW*AXxhYRveg z_(gz2oawQ;fH6)`u`V(N^}2LI-_?16yLNApZ+RXR9`e$e@n;YZ5iiHg7Zv8)xMg7G zr(UxRHIV18M-poxNO&kqCCC7|LSa{__siIs_o0F^a3mpJFtf@r}{}( zJqioP}?8d$_<5$s+PV0$7U>J`HgYQ@w z{7t}3RpI_6WqJ7)T$lknr6B1frQ>J_t>Sz_e(R8M<1kcXj$HYHLpKq5eB5^{<_M<_~15HX~In zm6Yx&(;B#WOmd@az#4z|Zmnuo5x*Qb$|>uY&RtCnY9_c;z*G8Kw~WtTO34WAv&+di!4K{?-6Xk=DI-aj+4{q@^#RMl5coI zMp3vt{^7$)yALOSe;5mRkW6y_UR4D4N%;H3a{W3mp*jI7C=LivzcqUJ$NxGH7b)36 zetl^Jr$TG1TAq$&Wq$rwcz$8e_Vd;<9{wvfMxpgxVGkmgw!2S8mO&l_mI@4=;5Z`v z)#w2Kj@H)J=Lx~czs{Wq$-i2${trD-PyMi?0eAo0^LDVN`SiFD)pQ zlu~Cy^Z6^D=)lCGE9<4;-zaXa*ex?t7QRK+)OgE-&E7*mfqP5=VXC zPah5ZV0=qLizF*HF)`#V=&SL}Hy-NS+r8!RzjFxc2Cz~-l}~uTI`?Sc{wIy@Q=v@w zj9CF$Cw_h@jY*KJ(KGEAF?3LkpSIOpI$dBNTr&RQgVs7>;=yKtpIG}Oyl}SOeEgw#7u{9gqCSW(m}WoD z0W{q$2CVPJESIWXK!Ok$4=*&;?YdY%HIW8I7gYO>l?D$UlpXc#n)aiG>*j;bPvV-V zQ$OV1w{#O)Mb=)hY5jag(_j_5a#7jF+xtwWTTr^E63ZF)oLTjc$)(Sp$zVf3uL@=@ zWX#_`q+WMRyk#JlE>XE9Glo1;%9P0Xc@VQJE-D(Il*Hkb*r}^D^X9S6t7hHRUuDBu zr+5>fU9KKku}QZmW#_;WoiPfpR|$3J0D+3kS2ti!=@u?6puRUGx(tzV=$fczrddUn?zA4cY4s+!u` z+91Kofz#N7ge1Vd%j*m1Bh0ng>%|~dK)cgMSe8EncH}y|GJ7@Fk* z3ggBK#0UXo>jt*~DDthJH~;>#=l#&~zO0SNLwJZ>H)3ra$0~ZO7xnQgL5gSzBxD#AQ#OkJ|%e z!`Yq5dpRLg#4}zWe>6!Qr z*-&)62Kr%369$6;HHL}{M)BkuF`a`lnHbPEb}6O>;x9oD=$z+`jI+^4O{`(;!g{NP z#$uLmk~%$A`$r344wSjrDO$b?88v0Ska^D{vtl)B3z+2@?$yZ4LEMr;^}}9nq0AU^ z7twqPS5iCpK3eiEg*77dq`DxS(v(TS0g6rguu|9?~thuTYWuI4a@DbclIVHEiSq&{&ox; z{P^Z~pN?NAz(aS}#WHazj3=D{8cKbZ!QnBcL3Kb> zB_}H)@{EERdFqg#Pd6VUeQ(nh^V$3d9(&5n7YbXEGEA{wr~BJCA-mn&&TK=&a6hRI z&5+plQ;U3VbwDRI^bx?oM-Nk*hNC?a=5J$ti&-F9q9L0rSI8CR<0I1;$_ z18J*i{dfrv@$h>QN0}9h?Dd*|t7Fw0P!t$|YBW@EKv6OcmDyCCrH%nVhQwt{k-tEFt)YlL|#SB{n2m_Tc^lFj6z$>jdX{Pc6$Pj01TH z_MJ>W+=hX}y6a9E`Q8;;7P6NI4qM|>EzMS=!_OiRuhknth$5A9>=!Oda?+5i_UVkF z^-pg_efe1#%yt#r_Qa0yu5Oa;GAi1wlAEr)eD!M8noM8M$>|j1bOdiEiSGxsy-0r? z(<^fqrg{h+n-es4wjv6G3668R5r!-|Fs!LcdY= zyQ)A!WAmp^st5Wr+`_8j%HI4Pe!IIfg&)ZjM}c{yPI!3@0>&t5`5kn}xl zeS<-58PN%xXbx>W-wXG{!&9IP2b?1;R8;ra5SI-47`evz`6a&}`};A}Y!?;Og>NtG zrPe%=I-{VQ6P7jbLlc4&vJahwN%4lwgqOvZ6 z398!rBzG7_ZVoHIA(>89vwIZeZ1eT=s4#gw?wdn$VCF}2DhGx=Cr^7q)2*8QQ2bkW zKn%h6Kw@lLQpLe~BXn|honfw*CN`KNZY`X-b1jnPj50QF-DADF)1n^l#qp(syHqdpu~=M) z37@7`xs0}AHnh0I>{uH>0Ap`*+IP4yV3hWqk6H$IK|bZsl>D2s#)LfQ`V!-MiXPET zz3luUh~`UwP?>R`#FRW@r&X@2^a4M`kMzsa-)I}E!(sRI)OL)bSkw&{qNI^jX@ zTId4SpDI4VmL0qBZ|i8h6*2mcOwdmS=RIKStbN=6KkP97Wr2ODLShi^dj6ZQl%|cV zB-Nn9wRsE00dEE$)7n~ID`BO&pkX8%dID?J`JqZqcs?@O4WLtif~}?;(PR3&PfV(! z7*S9|Sz>7uV|mRl0D-QM7YKA;IUar@D^ztjsg2{>#X%dRFqF&f5wVMBWp2UHj;+a* zt%#<<;D&Swd-l zdAjlx$7J!aXrCz+4#PX+)h#)CbLE=0YrV90!tH;6xWrq^XyN3FD%>eQ%v@0`p*0BO zvl1p4@`q@p8IjgdjgLpQHs~1ltkYD`oiX_Ok7+XTnNI{=nJ!jq_kHY9oln(ONJKB6 zt7sG*6`FU>#o!8wWpLUBhcI7pgH$lcNv;crZ32(4E$Mbyly7N)rza$g_Gt#Au)C>T z6KbsN1q-n}4;wmg=OmR@zV^>wW8-?gTP6QVvd@KiRa^0JtvOFz--$&t6_{+*Uels2 z4U~e{+GS3#lS(v7R)Fy!8#SiR};C`YX*o4Kv)CUx|)Jkpm z;5V@L6-LsJtR1T924~$rj77zO8?Q+;y<)z+a*%p*=k1_ic^o}0MYTmLI3m8UCfd8< z8e}EdQg^fFZb1IJQC!ft>S}*$XH3Npbj84%P3L*Zz~m$Kqc-@b9ppP4Q;DzIlS*to zZI?%}mmkPIlT=Oi$KXwVIleCXb0X9_{d3(mi!|MpF?MQ1;#FLneW}ZOl+z# z`rj}jk%su=CaHSrHY;u8vChoax?$pK=UTO;lA9zJSpn_cI-CC$&lgx_2fAWs@?w+=Y zsc?80xw4I(Jh`PC4S>vKP?JiELH+M+ZsVapH_NrOy21y_XF|G0lR?V$F$0f?+pv#Q z{kgK>GDFac)$rL8Na~r{1q>?ho~KCw;TRAiwC?w^-AYtNLa#8oMTqY)!jeq$cMsf zw%4ys4c$1btqW^ElIqOX24B+V!2S%seav$E4N0E*8|fFi3jU`7cZ)0NVM>n}PHPAh6<+9U_P_G1E@4Wx|rxw7U27q+F50zOc zkX``wv^iW7(_fmdKx(M|U(_qR(2dG4kkc%Nz@4?LA~XVOMQrm->TSKD1XB%6ygX5z ze&`ta6S)!ga21yo7_zsZBQEqCY%*0MEq)l+SQBsn7ew6eU?1tXH;C(`xF;EnT*UX( zhE9f-B^u~!h?t6m?byI|J9+CmWvQk8oGeWrOPkGj$oTKJzbT^QeV}Fh2CkXwKQm+pL>TLQUk}eUVX&TPjb_RiMr!sf+hNm zZDz9+eiFJ^hNoUmIm12x^TQ?P4eUwuO*X^A@Rv#ytJW^0wSbUm!SFn>q5#_@L{Al^ zdgLA}HFdwyqa*byB?u{twi?C(}eP3$!da6NvA_7(k`^)aK!r8l&+VIf8i4-Nfh0^rbIsKBz7dY8{+#r&o!woOe~glq zE7=0F%3?)fw(HZ<(h!CFgQ7zyClR7>H%d%^QEk$mvzF>@QZD-mC3dLO)O<}N_bjL& zei{$k1=MZd?<&qaXTm39u4FwHH$B+@NZ@*eoov>BXd9?HzN^i2ycic0g*>X(q1;7` zwRRRk`s9QN%K`EP*3l4w`dYPg3fGI?j`=J|AYQNb z=<0At7I18pI@uflKkc1mRF!MAwkZWfS^)t?LZn3`HX*r`28)suDe06J17so6T@oUo zixgoAQqmpL(v5(mG_t<=>e=J_&iC(}aef}g*kkP`Vgc_$6=;e#!>HJl5mXp7#r2|1&{W&^ z3(n*TN+ZY}i{RAWWHE;~pX*+VsD)n~Ms?+Y9IlH`?_>QuIK&}Sy>|Ez<`%%>fXV&Y z-4MB<%c~6RzZbF_|4_$2G!1I@pau&v zmLp;=0dB__E z?pqaGNDtoc`H;HPTc!#r1jkV!67)m1um0-|(@^)@8_S-sIIOI$6M*_}zRR|%xmrx@ z-(G+~V$BHsc+O8xJq~4GEeaQS}r?%f7dfo93cu z`sbwv8x)qu!NCFb5Zob5kJ@l_BZ*+1@=+8qJPZjdk`PwZZ0a??$8Aj(W!fvnTf`9)hiH@D;-7D8Y~CQ?rHnM;EEM@LkY|c znkJ$IU!QeoeR5W{MVkI-^iZ{5wW~-@kpC}Ghw-nGuw9_eQyI)};aL}if%Oz$WYzrh z6{fcN_#r8+`<~7B{Sr%F`g(sc|Fo(5=_BuK5=j=slyFI)7+(FzK>9NtQx9Y1^SPfe zQYepV6>vE)WyXRLTpm3c*4G3ampJI%-cJF$S|J5HG?!6X9a5(AZH84}yMY4d}&C_2z;m zF&dU3$K}flSN!&a`>LpfROZRHE_ur~L*Ar!ij4HW@y}AmXGzwU=l%=}#*Uyy8^-?= zq?fVNgqMgs$9YTm7a93~8Q^e+Q$S)a@`(TbF#p$3Z;Lx;!7KwjU+@eYz6JUbY&dHl z`k^(Q5*u3zcU++P?tX}Y&O7*uA%bbX((0Y|Dsbli{6vU=1IqRAKN_(H2Fb1=_jqD3 zm}M=DI^2t({sI3ez+%d*=YVv9?1bfy?Z$((t>+*lAY@PEb-(qAOsRH(stE8gy`&%U!ur0G)FXu-ZZ^_|pyHmDN>&?|?AU zS$zztTFCGg4iSJw-j%9=xiK74kf;`)kigB;*WceiI0(Y9X7yYhXeJ`mYFnmbX#fU- zXemL`-5wO$8(2_D+|Lu`=l}V8cS2DoZ3E>*nV+5g_ldePK|~`8TLoV{q!}G6fkkJ{kG&;D_z{is2prs?9rJ=!h_;7K z0c{PbrA)v#2d%X9@!rFGK>vCY=*kci@eZn^5olT1fJ_Fw46-}Wkdu|*`)0Y=kD(_R z1=*+gQ~O#t5y(B30A)1}Pe+@>+VloVBFJ&3VD4@<0Ee`+-?5L)PHh%QkeONcpxg{< z_JB(pbSj4n9}vnrf^*8h0Vosz6rBd%C)EQGBH4fcM0%dB@X2h1V(5kI)|JK9C0^j2 zBk8_v2V@ga8OVSN{N~NZH9ws9>1_m?MGb}uX2f$^{!Flv2YD@e)Sm(iVC(>Nn~<(V zP5y8{#eE#C*Ts5vP{Y9NoJq)xsMw=JDFN;oBY`FktE4Y_<_(K$-g&D!IYi z222~avOsLd{UMqpOySFThOXGSxQAyw&@qsf2Y#6x5$^}R(AA?pcg_=07XzMR$QiVQ zx1WHkH6n(6vI@B4>xCH^rqB-t({}aICfTN|lVupEB*NHlXH41!naw}q;!{l0H-7+Q zCl#_wK`hGSy4a1+T>)#;b*35D#)*vBL|UN_hjLJc;Y@=pG;AG^yY<5SEnu z5(B>iK!yRs+zL)F7-N|f&p9t&S>TLnDKBj41c-18jzx$uMn`K{xc$8OF z9mAF8-(@(q1A9$R-WsU6{g(5v;ZxApMMMhV@!Gr#qcolv6+W2sjMdf6_yKkOwqE)z zG;pcp{TrZGZ`_2JHE>TC29M|Pm!Y^Y2K6lPkI*zNK9q~dWFW`RUez{V-qG1P63fBM zi>at!CWB@C6^vO(4sa_hu%tp|0BOPgDSOj)KlpibFo5K#f{BTU(6Xao3gYG_C0hi} z^zAdE!+Jy;j3HU2r8|E^!8C!7ppmU0!qHFdKvlT&x)1dLUpEDX_e%9XJ4$3Upb|2oojRbD8neTwQ?gB!!CKcMb zCuB?;^3)r4oFRtX+oNf3TRPbcZepPQZlYFr#p4u|o#dZAHrQyajgHmeg+qRxXS7`M zKw&B2q_4OB6OFqi{X$HJs0!*bM3+J8>=NFtt)(SWRtKgTj%kzq1>%CJ4y_^oJ_h}y zn3zj(pPaAcrawTT>Je%w4M(R^5pE;Q@1hW$jLAPxtx>bz?qPo%%P=x*H*l#Ab<6`~DI8LZ65KH=Uwpxi4SQIFg-)Ku z*5KA=JBQ?>-;}?C42JIT?$#!{Dfo0L2AP)|g6ujqwE!Z($n?88BC5gX1s&!3n7+Ti zDooT0;7mp&dC29!4_bT3-vEasZ<^%6iEI?;IfsUhdflscQp2K z>0RE2h>#EO-@}Zz3;uzSkaBntgc*yHVGhi|fVL({ferrty?a0;y-hx`v2IvYUVZ>Z zG+2PqX%t?EK!@276A|f$xbqYfaUkUZlynt91{9b&W8|&3zr1HlMMLwgyBoTi@l&)) z1_sR1I-jxvA&d?7%Sl>vU|!;I6n?e5 z(5EOBBC(go<{*3c*F^yytoMMf1-be~-&j>DT16CUQa=HRtB@$hRS#kUdVsgDpP)3J zf_;HXf&H#FPfT;Pua6IvY#fjoK?EsOwFv_=P#V4+fw79ty?eU(w_O9)LiXOkd;fr1 z6JD4eJAza;Dq;QkYVZf|-3yP238)rLx`=87Lr8G-`1p9d+(d~@oJMvXfkoBrj9XkF z(Yl-<<3GtN?GJgfTECbtTnG(B9uxagT8t|@aP#3=v9TSf!^*d^vI74x99L1nFHjmG z-NU`TTPwrGx}prHp(r59g0F;HcZSzkODhJQmy)7?@ImX&o#$(*=sZtqVdVb}u_eat z4u|(zwwr-ncE~mo47t^?v(_8?EY%RxwEKbPJXON&0|XnIzZ7KbGR03-M)CTX${oDk zcW!_DmU+8}GI9~pRAzcZ`;a8N2;cv9P~3)n5Uhc|s&GampYNNW{Z}WX53LL^h*}*v zvwG(eWB>}eIWb)+lG**%4P&VdcXPrVT=yE$g5@9#&3R$VXuQMWa&oM|Sf)+ivHAQf z`9CBc?6tOEa1RNsvk;-aP8NSc2h$JRMx$aJT%>0nD&M$qLRteNv{mLYnR9-FNUqI$ z*N~g+34ZSh=Fo3|LIdU2E%LkbcO=0H@dt#{pHhJOxbi1ONNDHO`@IQa;QAh$#!NX^ zddX%A6twGRpN+Y$*i_bVV$im8v*OD5rTXlHFRsW7opWAq;yD22Ui$l|F$WbhpMxBp zs?VQwvwMRQ_ap+ZI8Sr?L}2psAG^3<-oM|6_0dxS79^lD-MDABMaS&S+Y^Rt7T8N| zzr>}a46LP}+7qNIufHcGix=A6+M>nLs2&mWwFkWA-N4TR!P1^ETjFGIGhEQwVy`x= zPEGZ6;(r3X&(F@mL3b$mDW%qBp{0{J`cRsa^CTQ~R{vLB@~~6I$BlYRhf7ZUja@#g zwts(!n5v2j4UX^3w&JlOM1$%dV>9@B=i_Xi{A2OiU@%_qUiDh5jEabMpK_-PHeR+Y zRM{bCBq`8ZBq@wN^Kl4yuBzl%yj%Kws$$BQ14+-%DxtsNkamD)3x#gpdq5|w1DAiY zz)Xk1(=`c-cBpA#1fw!YaUCg%;AM+b1(Y!|AmZ-El!9v#t}WbY~brgp7*h>feqDe?x>vE;JuOZI2Rh zMLytCgK|E7nrwh;jOe@1XZ^JgS7@aIdcysV<*5|u$Qv#N0)T_bM?${)wZjW=aBSiZ z!PZgry+yp_=36-_{scd#3&uz5m#A*^=3&oD*A zpR!?-mcC$|eCscip-Lp3UqT8>Vk4tBX2;oSv2nPeXa64@cnA|*Bv)|#iQH61AHDH@ z)5S)w6#4hJK2M%k<`q9Vk9YN!M^r;xT{RT-I(cDy7bZ^4thWB!3lJ~39DyZuiHzb@ zm*@KoKt_Nwyh`OM=Y+P^{W9lEp@{~O$;n{0gpljF`^OmOq<@_>arqJ3JdTXU+ZZ>O z+^`c~lF*5gIo=3^up30}fKYuKi332o0h97pM|S?hgdP-^uOYaXS*K7 zZfQ*%itcDfM;_*$=;5xW26 zEP8V2Z2kv6%+PAh@uFoYElMp?epmxX@fHNM=pSLs;xuQ^2KY7!PXfS15amJEcyW^4 z3+#jgR~88YZ9AEit1YhnxHa^qQR1_{mwMk06?p;hZ;TFvI0jyeq!IKUpKXdg3mk2a2W32cTc#jLMH_z zy?JSAlb}922iGSsW4nS<;Gwmm5U!Y;qdJxyVPhp+;h2E$68C!oS9!36QEDlA1yY+d zmx`r4oejXDPqKDil?r}zxx&Kf&14=Srtw_B6mU8Jz%Z&)eRs}jkTO%eUV;w7?T-1W z(s4bQ2zWme%i&xog-C>j7;yDYzMvRSjDBoPrpSCCRAl`5K!GtXuKMT( zvz~B0Q*^~uq~m&qVBq<6Bqik}ijB=#$|twhTO+C#NCU4<>>o1?+^yJSVasCL(6ASb zYM3izOwQ=KcD%M7tm>!UpcvDrKVRcoo z;7@S42D=Zvn&PV?k+cSSKNq$C2x5r;<{S%=c-(ljyBm=$QaP3XJR|8qXdEI--*8U_YX!jx&BR;>f6* z-Szaf0|+mhb&J@i3tvS-Bm^G*G|TZi@h_8Wz91n>Hnnl;gw7lt8Cxhy8;#qzD0~E> zHYv!U1|+)}_D&K;whDH~cIY%so{`@NSTZ_9Q3n)Qg}@slQOc916Uyw0Z?khQXh--H zoLLVNm#Kn8JN<~hY_<_!ImL{|w!iV5Ki87XX_6dK^y=tSS-$OR!1nv+XnbNU%u7A! z#HCB^;C{!T_4+5gL$;ptCbM92(XU{@?RWW258nu;n-Z4Q2oXP-OCZwlTLDPiks!c= zt`^0@*^}p(dSR6!7R#X?N089~#c4YHfg^{@Ua-Q8bnrH%b=28)cwJc!HS@I}870dl zBlZRK_}(6yfMY4l!^L;VB%jwkb7W>3o<);+Xx9BRc_XkCb_nu$()CaXgdF>|e!ifk z+N1%eJNGLA>ak`38*x{Sj{U~f2EKw)f582D7_;*LpH;_wdvi~9SIL>P-M?@T*T&`Z za%ui~y4KE$Nhn%*BWx95==v(>MFLF(iljr3^5*0VLv#*TJi0lXYl-#!U{IuNmeI%D zKzTmf=0YwOMzvNU_P1>wscKEF3Cs%Z1AY!IS+w^r;cLn#;z|72f>W^s?)^lX%3mTCK%ehfKhw=3d6;aBo7&AY z4ml_J!~d;iGE94Q;^w>ueVl&1Zh2w9SunTU*p({18aZ)(f5hoa>``UEA%3XrbRP6V zaL_hWz7tyk3ff0=!8p>kkAguy5`>pOU24_rdayJdqhpjH<+&c0Qmd&p3>D^x9o8J% z1SE-;%Q(SKH`88dHJFb;VRj8CnIPe2O@|Z2wm#ft}PYrL@l+j5No6h-ZPxt&h!>N z8!;w&ZkJ``4!1+)_Q0(d7PH;r+E0LM^mw!PqoAEP`0wU$x$1H4u%$Xj!(z;l%9qTM z>&g&GdoOjkQVb~-Z4%<9+8)4ry=o>l5g`^{(HE5#N|^IUsEHR&CNd{k=3vWyOz%*B&n(}t=*EWlLUJ)&fHDQmllM^V<_7Z=aCAw`yuS8P znc(dTtISb0zxcg#iR@n(t%(j+cD|`z`3;@ksJR&WWIWyn2KzS7`Tho^#EQ(aYx^Sy zM}vMXGPupUL5GBt=Ypca<$Bt`0vTGi6RM~ym^)q%lU0-h$gw>Gz z`ROQp)FplxcZc)Ru;yd&dnH-XbOHwPDr)>bV8(6v-nyA9<9HEg|8hsOCay8uKY&&3cAwFNeH?7k;NRjJdBKFBFoIxslN`eO}d5YSH})~{1J)clzIwkzS<0<^A; zA)$v3+T!l8=6?rHas?{IX*SLDvr7hl#KL&IBmOG8mH~x?5Vya8sx)SsMNK??OVG(N zPNLH^r*teNz0~gIF85$<8v97*P|{r4sn+;0ev@B6?C{12@Fp)WPLap3{*xxwdOCAV zNiCVr14d`cucA0FQ;$Hy@_8{_p`1ZBJeSbKc|wCLDktC5-vu82;1em^Bc5m?8%h^XED0p;n@iWeMR`J5zBgGfHDg#>FI%!+sdycswE{Ol6c#bCo(R zVxr{t=wyerxGAHNk&$y%#(&*>y+ZZKkoy(*-uHnb+}0|-ET@^-R=#NT-9;eq z@*5Af2Jbe0tniFtm|C1AHNw*#s95@d`R49>D@xfS5bBYY~D?4miI)y;(63Ylok z;S^L%Fx3Saq43d&25#ws3ao_w(l1y0N;|k%_Ob1v;*KM5*_#cyN-orJ3_+b74I0(* z`*#ytp?m$C7ISv*#^SN|(!zIEyqd+H5q)k=Sp`ZC0@Z=uxmM+5q)z}!Ee~fyLy7q9H1F^ zm8Ste6Mmr5a@yc0z;jfjynxg(`sDEE#3%A{tXcj00?2dRhhIr8=$$QeU*o>1UN>?d zb2IOogjj?u|48%CFV8p_)qqJWF^DLt{+$GJ_W_q0G@igEg@L;8r=DesNc&8e*qG~G zis-uYZhg1KTfyzp=JWJ@Q$-(m!L8zzNrEeyWlCc7er(p-!*=JN2cit2J_h=p4%UyJ zt!1ZACEtXs*)Ym-jKK1=$=uv^Xb*#+-$CWk_EP^3C66?Izwe+gfweU;m#Jy^<_0EZ zasloxHqN6$6>I6P!{%|wQQFOFd^4@>8&d*}muNLb6y_ME)s>-iC~ksb zPyvq!!EV;iZ3D%T)t1th2*^y<%@2O?t5k#_Fz;D0UvwBp<@qNICTjrK<5E$4Livyl zU-+$#1L2~9%6@VbrFbJVbILprN#KhE8pub#Upp{>05=e#873Z;veAead;qopuvIwV z*WgOz2p31?wo7p>mFMtkNM<>C@Lj(xTo^}@rk$(wVv@x^sX*;wOYra*)D-ayzby=X zc6x}(9!V~%G3?lm6ZU?#knu(^?CfZ@l(JK5_O8xSe&&bM-Q*8&f3jMrUVL}Kkk zceg6ej;VKm0MFzpSSUry9QQq<{F3ydz1!e#l@)9KeW%Rbdi#6C1!9vvMlpMXp$Tj+ z9v&fuGD_}Vlhl*SJJNUO%J~Q5FsJd-`qxxbV8U*=8r>Lre#Bbl5S)mmD(>b1@Nl0# zYpvAl)iQS2d|kw!Ht1ZoI)W|Oud*zQ*T=(qJ8}$`rk_}m#!-g(&#UnLNeJ&+lq}fM z$tv($RN&+N= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 21def523..c39a4d51 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -53,7 +53,8 @@ "react-use-measure": "^2.1.7", "recharts": "^3.8.1", "tailwind-merge": "^3.5.0", - "tailwindcss-animate": "^1.0.7" + "tailwindcss-animate": "^1.0.7", + "yaml": "^2.8.3" }, "overrides": { "dompurify": "^3.3.3" diff --git a/frontend/src/components/EditorLayout.tsx b/frontend/src/components/EditorLayout.tsx index 8d5a0caf..8cff9f78 100644 --- a/frontend/src/components/EditorLayout.tsx +++ b/frontend/src/components/EditorLayout.tsx @@ -50,6 +50,7 @@ import { GitSourcePanel } from './stack/GitSourcePanel'; import { AppStoreView } from './AppStoreView'; import { LogViewer } from './LogViewer'; import StructuredLogViewer from './StructuredLogViewer'; +import StackAnatomyPanel from './StackAnatomyPanel'; import { Sparkline } from './ui/sparkline'; import { GlobalObservabilityView } from './GlobalObservabilityView'; import { FleetView } from './FleetView'; @@ -314,6 +315,7 @@ export default function EditorLayout() { const [activeView, setActiveView] = useState<'dashboard' | 'editor' | 'host-console' | 'resources' | 'templates' | 'global-observability' | 'fleet' | 'audit-log' | 'scheduled-ops' | 'auto-updates' | 'security-history'>('dashboard'); const [filterNodeId, setFilterNodeId] = useState(null); const [isEditing, setIsEditing] = useState(false); + const [editingCompose, setEditingCompose] = useState(false); const [searchQuery, setSearchQuery] = useState(''); const [remoteStackResults, setRemoteStackResults] = useState>>({}); const [remoteSearchLoading, setRemoteSearchLoading] = useState(false); @@ -1071,6 +1073,7 @@ export default function EditorLayout() { } setIsFileLoading(true); setIsEditing(false); // Reset to view mode when loading a new file + setEditingCompose(false); // Default back to anatomy on stack switch try { const res = await apiFetch(`/stacks/${filename}`); const text = await res.text(); @@ -1381,9 +1384,9 @@ export default function EditorLayout() { } }; - const updateStack = async (e: React.MouseEvent) => { - e.preventDefault(); - e.stopPropagation(); + const updateStack = async (e?: React.MouseEvent) => { + e?.preventDefault(); + e?.stopPropagation(); if (!selectedFile || isStackBusy(selectedFile)) return; const stackFile = selectedFile; const stackName = stackFile.replace(/\.(yml|yaml)$/, ''); @@ -2651,11 +2654,11 @@ export default function EditorLayout() { ) : !isLoading && selectedFile && activeView === 'editor' ? ( -
- {/* Left Column (Command Center & Terminal) */} -
- {/* Command Center Card */} - +
+ {/* Left column: identity + health strip + logs, stacked */} +
+ {/* Command Center Card (identity + health strip) */} +
{/* Identity block */} @@ -2935,8 +2938,8 @@ export default function EditorLayout() { - {/* Logs Section */} -
+ {/* Logs Section (fills remaining left-column height) */} +

Logs

@@ -2978,8 +2981,9 @@ export default function EditorLayout() {
- {/* Right Column (The Editor) */} - + {/* Right column: anatomy panel by default, Monaco editor when editing */} + {editingCompose ? ( +
setActiveTab(value as 'compose' | 'env')}> @@ -3010,8 +3014,9 @@ export default function EditorLayout() { )}
- {can('stack:edit', 'stack', stackName) && ( -
+
+ {can('stack:edit', 'stack', stackName) && ( + <>
)} -
- )} + + )} + +
{activeTab === 'env' && ( @@ -3099,6 +3119,19 @@ export default function EditorLayout() {
+ ) : ( + setEditingCompose(true)} + onOpenGitSource={() => setGitSourceOpen(true)} + onApplyUpdate={() => { void updateStack(); }} + canEdit={can('stack:edit', 'stack', stackName)} + /> + )}
) : activeView === 'global-observability' ? ( diff --git a/frontend/src/components/StackAnatomyPanel.tsx b/frontend/src/components/StackAnatomyPanel.tsx new file mode 100644 index 00000000..c030ced2 --- /dev/null +++ b/frontend/src/components/StackAnatomyPanel.tsx @@ -0,0 +1,501 @@ +import { useEffect, useMemo, useState } from 'react'; +import { parse as parseYaml } from 'yaml'; +import { GitBranch, Pencil, ExternalLink, Rocket } from 'lucide-react'; +import { Button } from './ui/button'; +import { apiFetch } from '@/lib/api'; +import { cn } from '@/lib/utils'; + +interface StackAnatomyPanelProps { + stackName: string; + content: string; + envContent: string; + selectedEnvFile: string; + gitSourcePending: boolean; + onEditCompose: () => void; + onOpenGitSource: () => void; + onApplyUpdate: () => void; + canEdit: boolean; +} + +type SemverBump = 'none' | 'patch' | 'minor' | 'major' | 'unknown'; + +interface UpdatePreviewSummary { + has_update: boolean; + primary_image: string | null; + current_tag: string | null; + next_tag: string | null; + semver_bump: SemverBump; + blocked: boolean; + blocked_reason: string | null; +} + +interface UpdatePreview { + summary: UpdatePreviewSummary; + changelog: string | null; +} + +interface GitSourceInfo { + repo_url: string; + branch: string; + compose_path?: string; +} + +interface PortRow { + host: string; + container: string; + proto: string; +} + +interface VolumeRow { + host: string; + container: string; +} + +interface Anatomy { + services: string[]; + ports: Record; + volumes: Record; + restart: string | null; + envFiles: string[]; + networks: string[]; + referencedVars: string[]; +} + +// Matches ${VAR}, ${VAR:-default}, ${VAR-default}, ${VAR:?err}, ${VAR?err}. +// Capture group 1 is the variable name, group 2 (optional) is the modifier form. +const INTERPOLATION_REGEX = /\$\{([A-Za-z_][A-Za-z0-9_]*)(?:(:?[-?])[^}]*)?\}/g; + +function parsePortMapping(raw: unknown): PortRow | null { + if (typeof raw === 'string') { + const s = raw.replace(/^"|"$/g, ''); + const protoMatch = s.match(/\/(tcp|udp)$/i); + const proto = protoMatch ? protoMatch[1].toLowerCase() : 'tcp'; + const body = proto ? s.replace(/\/(tcp|udp)$/i, '') : s; + const parts = body.split(':'); + if (parts.length === 2) return { host: parts[0], container: parts[1], proto }; + if (parts.length === 3) return { host: parts[1], container: parts[2], proto }; + return { host: body, container: body, proto }; + } + if (raw && typeof raw === 'object') { + const obj = raw as Record; + const host = obj.published !== undefined ? String(obj.published) : ''; + const container = obj.target !== undefined ? String(obj.target) : ''; + const proto = obj.protocol ? String(obj.protocol) : 'tcp'; + if (host && container) return { host, container, proto }; + } + return null; +} + +function parseVolumeMapping(raw: unknown): VolumeRow | null { + if (typeof raw === 'string') { + const parts = raw.split(':'); + if (parts.length >= 2) return { host: parts[0], container: parts[1] }; + return null; + } + if (raw && typeof raw === 'object') { + const obj = raw as Record; + if (obj.source && obj.target) return { host: String(obj.source), container: String(obj.target) }; + } + return null; +} + +interface ServiceAnatomy { + ports: PortRow[]; + volumes: VolumeRow[]; + restart: string | null; + envFiles: string[]; + networks: string[]; +} + +function parseServiceBlock(svc: Record): ServiceAnatomy { + const ports: PortRow[] = Array.isArray(svc.ports) + ? svc.ports.map(parsePortMapping).filter((r): r is PortRow => r !== null) + : []; + const volumes: VolumeRow[] = Array.isArray(svc.volumes) + ? svc.volumes.map(parseVolumeMapping).filter((r): r is VolumeRow => r !== null) + : []; + const restart = typeof svc.restart === 'string' ? svc.restart : null; + const envFiles: string[] = typeof svc.env_file === 'string' + ? [svc.env_file] + : Array.isArray(svc.env_file) + ? svc.env_file.filter((e): e is string => typeof e === 'string') + : []; + let networks: string[] = []; + if (Array.isArray(svc.networks)) { + networks = svc.networks.filter((n): n is string => typeof n === 'string'); + } else if (svc.networks && typeof svc.networks === 'object') { + networks = Object.keys(svc.networks as Record); + } + return { ports, volumes, restart, envFiles, networks }; +} + +// `:-` and `-` forms supply a default value (no env entry required); +// `:?` and `?` forms signal a required variable (the user still needs to define it). +function extractInterpolations(yamlText: string): string[] { + const referenced = new Set(); + const defaulted = new Set(); + for (const m of yamlText.matchAll(INTERPOLATION_REGEX)) { + referenced.add(m[1]); + if (m[2] === ':-' || m[2] === '-') defaulted.add(m[1]); + } + return Array.from(referenced).filter(v => !defaulted.has(v)); +} + +function parseAnatomy(yamlText: string): Anatomy | null { + if (!yamlText.trim()) return null; + let parsed: unknown; + try { + parsed = parseYaml(yamlText); + } catch { + return null; + } + if (!parsed || typeof parsed !== 'object') return null; + const root = parsed as Record; + const servicesObj = (root.services && typeof root.services === 'object') + ? root.services as Record + : {}; + const serviceNames = Object.keys(servicesObj); + + const ports: Record = {}; + const volumes: Record = {}; + let restart: string | null = null; + const envFilesSet = new Set(); + const networksSet = new Set(); + + for (const name of serviceNames) { + const svc = servicesObj[name]; + if (!svc || typeof svc !== 'object') continue; + const a = parseServiceBlock(svc as Record); + if (a.ports.length > 0) ports[name] = a.ports; + if (a.volumes.length > 0) volumes[name] = a.volumes; + if (restart === null && a.restart !== null) restart = a.restart; + for (const f of a.envFiles) envFilesSet.add(f); + for (const n of a.networks) networksSet.add(n); + } + + if (root.networks && typeof root.networks === 'object' && !Array.isArray(root.networks)) { + for (const n of Object.keys(root.networks)) networksSet.add(n); + } + + return { + services: serviceNames, + ports, + volumes, + restart, + envFiles: Array.from(envFilesSet), + networks: Array.from(networksSet), + referencedVars: extractInterpolations(yamlText), + }; +} + +function parseEnvKeys(envText: string): Set { + const keys = new Set(); + for (const raw of envText.split(/\r?\n/)) { + const line = raw.trim(); + if (!line || line.startsWith('#')) continue; + const eq = line.indexOf('='); + if (eq <= 0) continue; + keys.add(line.slice(0, eq).trim()); + } + return keys; +} + +function formatGitSource(src: GitSourceInfo): string { + try { + const url = new URL(src.repo_url); + const host = url.host; + const repo = url.pathname.replace(/^\//, '').replace(/\.git$/, ''); + return `${host}/${repo}#${src.branch}`; + } catch { + return `${src.repo_url}#${src.branch}`; + } +} + +function Row({ label, children }: { label: string; children: React.ReactNode }) { + return ( +
+ {label} +
{children}
+
+ ); +} + +export default function StackAnatomyPanel({ + stackName, + content, + envContent, + selectedEnvFile, + gitSourcePending, + onEditCompose, + onOpenGitSource, + onApplyUpdate, + canEdit, +}: StackAnatomyPanelProps) { + const anatomy = useMemo(() => parseAnatomy(content), [content]); + const envKeys = useMemo(() => parseEnvKeys(envContent), [envContent]); + const missingVars = useMemo(() => { + if (!anatomy) return []; + return anatomy.referencedVars.filter(v => !envKeys.has(v)); + }, [anatomy, envKeys]); + + const envVarCount = envKeys.size; + + const [gitSource, setGitSource] = useState(null); + const [updatePreview, setUpdatePreview] = useState(null); + + useEffect(() => { + let cancelled = false; + const run = async () => { + try { + const res = await apiFetch(`/stacks/${stackName}/git-source`); + if (cancelled) return; + if (res.ok) { + const data = await res.json(); + setGitSource({ repo_url: data.repo_url, branch: data.branch, compose_path: data.compose_path }); + } else { + setGitSource(null); + } + } catch { + if (!cancelled) setGitSource(null); + } + }; + void run(); + return () => { cancelled = true; }; + }, [stackName]); + + useEffect(() => { + let cancelled = false; + const run = async () => { + try { + const res = await apiFetch(`/stacks/${stackName}/update-preview`); + if (cancelled) return; + if (res.ok) { + const data = await res.json(); + setUpdatePreview(data); + } else { + setUpdatePreview(null); + } + } catch { + if (!cancelled) setUpdatePreview(null); + } + }; + void run(); + return () => { cancelled = true; }; + }, [stackName]); + + const networkName = anatomy && anatomy.networks.length > 0 + ? anatomy.networks[0] + : `${stackName}_default`; + const firstEnvFile = anatomy?.envFiles[0] ?? selectedEnvFile ?? null; + const primaryHostPort = useMemo(() => { + if (!anatomy) return null; + for (const svc of anatomy.services) { + const rows = anatomy.ports[svc]; + if (rows && rows.length > 0) return rows[0].host; + } + return null; + }, [anatomy]); + + const bump = updatePreview?.summary.semver_bump ?? 'none'; + const hasUpdate = Boolean(updatePreview?.summary.has_update); + const blocked = Boolean(updatePreview?.summary.blocked); + const bannerSeverity: 'danger' | 'warn' | 'ok' = bump === 'major' || blocked + ? 'danger' + : bump === 'minor' ? 'warn' : 'ok'; + const bannerTone = bannerSeverity === 'danger' + ? 'border-destructive/40 bg-destructive/[0.06] text-destructive' + : bannerSeverity === 'warn' + ? 'border-warning/40 bg-warning/[0.06] text-warning' + : 'border-success/40 bg-success/[0.06] text-success'; + const applyBtnTone = bannerSeverity === 'danger' + ? 'border-destructive/40 text-destructive hover:bg-destructive/10' + : bannerSeverity === 'warn' + ? 'border-warning/40 text-warning hover:bg-warning/10' + : 'border-success/40 text-success hover:bg-success/10'; + const bumpLabel = bump === 'none' || bump === 'unknown' ? '' : `${bump}`; + const bannerLeadIn = blocked + ? 'review required' + : bump === 'patch' + ? 'safe to apply' + : bump === 'minor' + ? 'review recommended' + : bump === 'major' + ? 'breaking changes possible' + : ''; + + return ( +
+
+ anatomy + {canEdit && ( + + )} +
+
+ {!anatomy ? ( +
Unable to parse compose.yaml.
+ ) : ( + <> + + {anatomy.services.length === 0 ? ( + none defined + ) : ( +
+ {anatomy.services.map(s => ( + + {s} + + ))} +
+ )} +
+ + {Object.keys(anatomy.ports).length === 0 ? ( + none + ) : ( +
+ {Object.entries(anatomy.ports).flatMap(([svc, rows]) => + rows.map((r, i) => ( +
+ {anatomy.services.length > 1 && ( + {svc} + )} + {r.host} + + {r.container}/{r.proto} +
+ )), + )} +
+ )} +
+ + {Object.keys(anatomy.volumes).length === 0 ? ( + none + ) : ( +
+ {Object.entries(anatomy.volumes).flatMap(([svc, rows]) => + rows.map((r, i) => ( +
+ {anatomy.services.length > 1 && ( + {svc} + )} + {r.host} + + {r.container} +
+ )), + )} +
+ )} +
+ + {anatomy.restart ?? default} + + + {!firstEnvFile ? ( + none + ) : ( +
+
+ {firstEnvFile} + · {envVarCount} var{envVarCount === 1 ? '' : 's'} +
+ {missingVars.length > 0 && ( +
+ {missingVars.map(v => ( + {'${'}{v}{'}'} missing + ))} +
+ )} +
+ )} +
+ + {networkName} · bridge + + + + + + )} + {hasUpdate && updatePreview && ( +
+
+
+
+ Update available + {updatePreview.summary.current_tag && updatePreview.summary.next_tag && ( + + {' · '} + {updatePreview.summary.current_tag} + {' -> '} + {updatePreview.summary.next_tag} + + )} +
+
+ {[ + bumpLabel, + bannerLeadIn, + updatePreview.changelog ? updatePreview.changelog.split(/[.\n]/)[0] : '', + ].filter(Boolean).join(' · ')} +
+ {blocked && updatePreview.summary.blocked_reason && ( +
{updatePreview.summary.blocked_reason}
+ )} +
+ {canEdit && !blocked && ( + + )} +
+
+ )} +
+ {anatomy && anatomy.services.length > 0 && ( +
+ + {Object.keys(anatomy.ports).length > 0 ? 'exposed' : 'no ports'} + + {primaryHostPort && ( + + + :{primaryHostPort} + + )} +
+ )} +
+ ); +}