var ea=Object.defineProperty;var Ss=v=>{throw TypeError(v)};var ta=(v,s,d)=>s in v?ea(v,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):v[s]=d;var Ct=(v,s,d)=>ta(v,typeof s!="symbol"?s+"":s,d),Ps=(v,s,d)=>s.has(v)||Ss("Cannot "+d);var We=(v,s,d)=>(Ps(v,s,"read from private field"),d?d.call(v):s.get(v)),_t=(v,s,d)=>s.has(v)?Ss("Cannot add the same private member more than once"):s instanceof WeakSet?s.add(v):s.set(v,d);var cs=(v,s,d)=>(Ps(v,s,"access private method"),d);import{G as sa,H as Ls,u as m,g as e,D as L,I as aa,S as ra,J as Ms,K as na,L as la,M as oa,N as ia,O as ca,p as Qe,P as da,Q as Ie,j as K,R as ee,a as o,b as Ze,U as At,V as Ns,W as ve,X as Rs,Y as ua,Z as yt,s as l,_ as ht,$ as kt,a0 as ot,f as b,a1 as Os,c as r,a2 as et,a3 as os,a4 as Ht,a5 as qt,x as Bs,y as Ve,a6 as us,a7 as D,a8 as xt,i as Fe,a9 as Et,E as at,t as q,aa as Je,e as _,ab as va,ac as Dt,C as vt,ad as ha,ae as fa,o as zs,v as Ds,af as vs,ag as As,ah as qs,ai as pa,aj as Ws,ak as ga,z as hs,w as Fs,m as Is,al as Vs,d as as,B as ls,am as wa,an as Bt,ao as _a,ap as ya,aq as ma,ar as ba,as as $a,at as xa,au as ka,av as Sa,aw as Pa,ax as Ma}from"./index-B5w8gw75.js";import{S as Vt,E as Ta,a as Ca,H as Ea}from"./StatusBadgeRenderer-BEdJTFrn.js";import{H as Ha}from"./hidden-input-CbX2doyK.js";const Gs=ca({component:"switch",parts:["root","thumb"]}),_s=new sa("Switch.Root");var Gt,ps,Ut,jt,Kt;const ys=class ys{constructor(s){_t(this,Gt);Ct(this,"opts");Ct(this,"attachment");_t(this,Ut,m(()=>({"data-disabled":Ms(this.opts.disabled.current),"data-state":na(this.opts.checked.current),"data-required":Ms(this.opts.required.current)})));_t(this,jt,m(()=>({checked:this.opts.checked.current})));_t(this,Kt,m(()=>({...this.sharedProps,id:this.opts.id.current,role:"switch",disabled:ia(this.opts.disabled.current),"aria-checked":oa(this.opts.checked.current,!1),"aria-required":la(this.opts.required.current),[Gs.root]:"",onclick:this.onclick,onkeydown:this.onkeydown,...this.attachment})));this.opts=s,this.attachment=Ls(s.ref),this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this)}static create(s){return _s.set(new ys(s))}onkeydown(s){!(s.key===aa||s.key===ra)||this.opts.disabled.current||(s.preventDefault(),cs(this,Gt,ps).call(this))}onclick(s){this.opts.disabled.current||cs(this,Gt,ps).call(this)}get sharedProps(){return e(We(this,Ut))}set sharedProps(s){L(We(this,Ut),s)}get snippetProps(){return e(We(this,jt))}set snippetProps(s){L(We(this,jt),s)}get props(){return e(We(this,Kt))}set props(s){L(We(this,Kt),s)}};Gt=new WeakSet,ps=function(){this.opts.checked.current=!this.opts.checked.current},Ut=new WeakMap,jt=new WeakMap,Kt=new WeakMap;let fs=ys;var Xt,Yt;const ms=class ms{constructor(s){Ct(this,"root");_t(this,Xt,m(()=>this.root.opts.name.current!==void 0));_t(this,Yt,m(()=>({type:"checkbox",name:this.root.opts.name.current,value:this.root.opts.value.current,checked:this.root.opts.checked.current,disabled:this.root.opts.disabled.current,required:this.root.opts.required.current})));this.root=s}static create(){return new ms(_s.get())}get shouldRender(){return e(We(this,Xt))}set shouldRender(s){L(We(this,Xt),s)}get props(){return e(We(this,Yt))}set props(s){L(We(this,Yt),s)}};Xt=new WeakMap,Yt=new WeakMap;let gs=ms;var Jt,Qt;const bs=class bs{constructor(s,d){Ct(this,"opts");Ct(this,"root");Ct(this,"attachment");_t(this,Jt,m(()=>({checked:this.root.opts.checked.current})));_t(this,Qt,m(()=>({...this.root.sharedProps,id:this.opts.id.current,[Gs.thumb]:"",...this.attachment})));this.opts=s,this.root=d,this.attachment=Ls(s.ref)}static create(s){return new bs(s,_s.get())}get snippetProps(){return e(We(this,Jt))}set snippetProps(s){L(We(this,Jt),s)}get props(){return e(We(this,Qt))}set props(s){L(We(this,Qt),s)}};Jt=new WeakMap,Qt=new WeakMap;let ws=bs;function La(v,s){Qe(s,!1);const d=gs.create();da();var S=Ie(),w=K(S);{var O=y=>{Ha(y,At(()=>d.props))};ee(w,y=>{d.shouldRender&&y(O)})}o(v,S),Ze()}var Na=new Set(["$$slots","$$events","$$legacy","child","children","ref","id","disabled","required","checked","value","name","type","onCheckedChange"]),Ra=b(""),Oa=b(" ",1);function Ba(v,s){const d=Ns();Qe(s,!0);let S=ve(s,"ref",15,null),w=ve(s,"id",19,()=>Rs(d)),O=ve(s,"disabled",3,!1),y=ve(s,"required",3,!1),W=ve(s,"checked",15,!1),ae=ve(s,"value",3,"on"),he=ve(s,"name",3,void 0),ne=ve(s,"type",3,"button"),Ge=ve(s,"onCheckedChange",3,ua),X=et(s,Na);const F=fs.create({checked:yt(()=>W(),Pe=>{var me;W(Pe),(me=Ge())==null||me(Pe)}),disabled:yt(()=>O()??!1),required:yt(()=>y()),value:yt(()=>ae()),name:yt(()=>he()),id:yt(()=>w()),ref:yt(()=>S(),Pe=>S(Pe))}),le=m(()=>Os(X,F.props,{type:ne()}));var te=Oa(),oe=K(te);{var ft=Pe=>{var me=Ie(),x=K(me);{let ie=m(()=>({props:e(le),...F.snippetProps}));ht(x,()=>s.child,()=>e(ie))}o(Pe,me)},mt=Pe=>{var me=Ra();kt(me,()=>({...e(le)}));var x=r(me);ht(x,()=>s.children??ot,()=>F.snippetProps),o(Pe,me)};ee(oe,Pe=>{s.child?Pe(ft):Pe(mt,-1)})}var pt=l(oe,2);La(pt,{}),o(v,te),Ze()}var za=new Set(["$$slots","$$events","$$legacy","child","children","ref","id"]),Da=b("");function Aa(v,s){const d=Ns();Qe(s,!0);let S=ve(s,"ref",15,null),w=ve(s,"id",19,()=>Rs(d)),O=et(s,za);const y=ws.create({id:yt(()=>w()),ref:yt(()=>S(),X=>S(X))}),W=m(()=>Os(O,y.props));var ae=Ie(),he=K(ae);{var ne=X=>{var F=Ie(),le=K(F);{let te=m(()=>({props:e(W),...y.snippetProps}));ht(le,()=>s.child,()=>e(te))}o(X,F)},Ge=X=>{var F=Da();kt(F,()=>({...e(W)}));var le=r(F);ht(le,()=>s.children??ot,()=>y.snippetProps),o(X,F)};ee(he,X=>{s.child?X(ne):X(Ge,-1)})}o(v,ae),Ze()}var qa=new Set(["$$slots","$$events","$$legacy"]);function Wa(v,s){let d=et(s,qa);const S=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]];os(v,At({name:"globe"},()=>d,{get iconNode(){return S}}))}var Fa=new Set(["$$slots","$$events","$$legacy"]);function Ia(v,s){let d=et(s,Fa);const S=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"}],["path",{d:"M7 11V7a5 5 0 0 1 9.9-1"}]];os(v,At({name:"lock-open"},()=>d,{get iconNode(){return S}}))}var Va=new Set(["$$slots","$$events","$$legacy"]);function Ga(v,s){let d=et(s,Va);const S=[["circle",{cx:"18",cy:"5",r:"3"}],["circle",{cx:"6",cy:"12",r:"3"}],["circle",{cx:"18",cy:"19",r:"3"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}]];os(v,At({name:"share-2"},()=>d,{get iconNode(){return S}}))}var Ua=new Set(["$$slots","$$events","$$legacy"]);function ja(v,s){let d=et(s,Ua);const S=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"}]];os(v,At({name:"table-2"},()=>d,{get iconNode(){return S}}))}var Ka=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),Xa=b('
Every service flows right from the machine that runs it. Hover any node to trace its
chain and blast radius — what breaks if it goes down. Click to open it in a window.
Dashed arcs are service-to-service dependencies.
`),Or=b('
'),Br=b('
Failed to load graph
');function zr(v,s){Qe(s,!0);const d=()=>hs(Fs,"$liveEvents",S),[S,w]=Is();let O=ve(s,"search",3,""),y=ve(s,"selectedSlug",3,null);const W={healthy:"#3fb950",degraded:"#d29922",down:"#f85149",unknown:"#8b949e"},ae={healthy:"Healthy",degraded:"Degraded",down:"Down",unknown:"Unknown"},he=["healthy","degraded","down","unknown"];let ne=Ve(null),Ge=Ve(!0);async function X(){L(Ge,!0),L(ne,await Vs({includeStatus:!0}),!0),L(Ge,!1)}zs(()=>(X(),Ds())),vs(()=>{const a=d()[0];a&&As(()=>{if(a.type.startsWith("entity.")||a.type.startsWith("relationship.")){X();return}if(qs(a)&&e(ne)){const n=pa(a);if(!n||!a.entity_id)return;const c=Ws(e(ne).nodes,a);L(ne,{...e(ne),nodes:c,health:{...e(ne).health??{},[a.entity_id]:n}},!0)}})});let F=Ve(null),le=Ve(!1),te=Ve(null),oe=null;function ft(a){oe&&(clearTimeout(oe),oe=null),L(F,a,!0)}function mt(){oe&&(clearTimeout(oe),oe=null)}function pt(){oe&&clearTimeout(oe),oe=setTimeout(()=>{L(F,null),oe=null},90)}function Pe(){oe&&(clearTimeout(oe),oe=null),L(F,null)}ga(()=>{oe&&clearTimeout(oe)});function me(a,n){var f;const c=(f=a==null?void 0:a.attributes)==null?void 0:f[n];return typeof c=="string"?c:typeof c=="number"?String(c):void 0}function x(a,n){var f;const c=(f=a==null?void 0:a.attributes)==null?void 0:f[n];return typeof c=="boolean"?c:void 0}function ie(a){var c,f;const n=((f=(c=e(ne))==null?void 0:c.health)==null?void 0:f[a.id])??a.health??"unknown";return n==="stale"?"degraded":he.includes(n)?n:"unknown"}function Y(a){return!a.state||a.state==="active"}const be=[16,214,470],Oe=[150,176,214],I=52,rt=42,He=40,it=40,P=m(()=>{const a=e(ne);if(!a)return null;const n=new Map;for(const t of a.nodes)Y(t)&&n.set(t.slug,t);const c=t=>{var i;return(i=n.get(t))==null?void 0:i.type},f=t=>{const i=c(t);return i==="lxc"||i==="vm"},G=t=>c(t)==="service",ge=new Map,De=new Map,Ne=new Map,Zt=new Map,Wt=new Map,Ft=new Map,Lt=new Map,Nt=new Set,ct=(t,i,M)=>{const B=t.get(i);B?B.push(M):t.set(i,[M])};for(const t of a.edges)switch(t.type){case"hosts":n.has(t.source)&&n.has(t.target)&&(ge.set(t.target,t.source),Nt.add(t.source));break;case"provides":n.has(t.source)&&n.has(t.target)&&(De.set(t.target,t.source),!f(t.source)&&!G(t.source)&&Nt.add(t.source));break;case"depends-on":n.has(t.source)&&n.has(t.target)&&(ct(Ne,t.source,t.target),ct(Zt,t.target,t.source));break;case"routes-to":n.has(t.target)&&Wt.set(t.target,t.source);break;case"configured-by":n.has(t.source)&&Ft.set(t.source,t.target);break;case"mounts":n.has(t.source)&&ct(Lt,t.source,t.target);break}const st=a.nodes.filter(t=>Y(t)&&t.type==="service"),Ye=a.nodes.filter(t=>Y(t)&&(t.type==="lxc"||t.type==="vm")),St=a.nodes.filter(t=>Y(t)&&Nt.has(t.slug)&&!f(t.slug)&&!G(t.slug)),es=t=>Ye.filter(i=>ge.get(i.slug)===t).length+st.filter(i=>De.get(i.slug)===t).length;St.sort((t,i)=>es(i.slug)-es(t.slug)||t.name.localeCompare(i.name));const ts=new Map(St.map((t,i)=>[t.slug,i]));Ye.sort((t,i)=>{const M=ts.get(ge.get(t.slug)??"")??999,B=ts.get(ge.get(i.slug)??"")??999;return M-B||t.name.localeCompare(i.name)});const je=new Map;Ye.forEach((t,i)=>je.set(t.slug,He+i*I));for(const t of St){const i=Ye.filter(M=>ge.get(M.slug)===t.slug);i.length&&je.set(t.slug,i.reduce((M,B)=>M+(je.get(B.slug)??0),0)/i.length)}const Rt=new Map;for(const t of st){const i=De.get(t.slug);Rt.set(t.slug,i&&je.has(i)?je.get(i):He)}st.sort((t,i)=>Rt.get(t.slug)-Rt.get(i.slug)||t.name.localeCompare(i.name));let T=He-I;for(const t of st){const i=Math.max(Rt.get(t.slug),T+I);je.set(t.slug,i),T=i}for(const t of St){if(je.has(t.slug))continue;const i=st.filter(M=>De.get(M.slug)===t.slug);je.set(t.slug,i.length?i.reduce((M,B)=>M+(je.get(B.slug)??He),0)/i.length:He)}const h=[],$=new Map,j={healthy:0,degraded:0,down:0,unknown:0},se=(t,i,M)=>{const B=ie(t);j[B]++;const U=Wt.get(t.slug),R=U?n.get(U):void 0,_e=U?(R==null?void 0:R.name)??U.replace(/^ingress:/,""):void 0,lt=R?x(R,"forward_auth"):void 0,gt=i==="service"?De.get(t.slug):ge.get(t.slug),Pt=(i==="container"?Lt.get(t.slug):Lt.get(gt??""))??[],wt=me(t,"role"),It=me(t,"lan_ip")??me(t,"public_ipv4"),is=me(t,"url");let Mt;if(i==="container"){const ss=me(t,"pve_id");Mt=`${t.type.toUpperCase()}${ss?" "+ss:""}${wt?" · "+wt:""}`}else i==="service"?Mt=_e??wt??t.slug:Mt=`${t.type}${It?" · "+It:""}`;const Ot={slug:t.slug,id:t.id,name:t.name,type:t.type,kind:i,health:B,lane:M,x:be[M],y:je.get(t.slug)??He,w:Oe[M],h:rt,meta:Mt,publicHost:_e,fauth:lt,role:wt,ip:It,url:is,provider:gt,deps:Ne.get(t.slug)??[],mounts:Pt,repo:Ft.get(t.slug)};return h.push(Ot),$.set(Ot.slug,Ot),Ot};St.forEach(t=>se(t,"host",0)),Ye.forEach(t=>se(t,"container",1)),st.forEach(t=>se(t,"service",2));const re=(t,i)=>{const M=$.get(t);return be[M.lane]+(i==="r"?Oe[M.lane]:0)},V=t=>$.get(t).y+rt/2,xe=[],Re=new Map;for(const t of Ye){const i=ge.get(t.slug);if(i&&$.has(i)){const M=re(i,"r"),B=V(i),U=re(t.slug,"l"),R=V(t.slug),_e=(M+U)/2;xe.push({d:`M${M},${B} C${_e},${B} ${_e},${R} ${U},${R}`,kind:"prov",s:i,t:t.slug}),ct(Re,i,t.slug)}}for(const t of st){const i=De.get(t.slug);if(i&&$.has(i)){const M=re(i,"r"),B=V(i),U=re(t.slug,"l"),R=V(t.slug),_e=(M+U)/2;xe.push({d:`M${M},${B} C${_e},${B} ${_e},${R} ${U},${R}`,kind:"prov",s:i,t:t.slug}),ct(Re,i,t.slug)}}for(const[t,i]of Ne)if($.has(t))for(const M of i){if(!$.has(M))continue;const B=re(t,"r"),U=V(t),R=re(M,"r"),_e=V(M),lt=Math.max(B,R)+34+Math.min(70,Math.abs(U-_e)*.32);xe.push({d:`M${B},${U} C${lt},${U} ${lt},${_e} ${R},${_e}`,kind:"dep",s:t,t:M})}const Ee=Math.max(Ye.length?(je.get(Ye[Ye.length-1].slug)??0)+I:0,st.length?(je.get(st[st.length-1].slug)??0)+I:0,He+I)+it,ke=be[2]+Oe[2]+84;return{nodes:h,bySlug:$,edges:xe,width:ke,height:Ee,counts:j,providesMap:Re,providedBy:new Map([...ge.entries(),...De.entries()].filter(([,t])=>$.has(t))),dependents:Zt,depsOf:Ne}});function Xe(a,n){var G;const c=new Set,f=[n];for(;f.length;){const ge=f.pop();for(const De of a.providesMap.get(ge)??[])((G=a.bySlug.get(De))==null?void 0:G.kind)==="service"&&c.add(De),f.push(De)}return c}function tt(a,n){const c=new Set,f=[...n];for(;f.length;){const G=f.pop();for(const ge of a.dependents.get(G)??[])c.has(ge)||(c.add(ge),f.push(ge))}return c}function Be(a,n){const c=a.bySlug.get(n),f=(c==null?void 0:c.kind)==="service"?new Set([n]):Xe(a,n),G=new Set([...f,...tt(a,f)]);return(c==null?void 0:c.kind)==="service"&&G.delete(n),G}function u(a,n){const c=[];let f=a.providedBy.get(n),G=0;for(;f&&G++<8;)c.push(f),f=a.providedBy.get(f);return c}function H(a,n){const c=new Set([n]);for(const G of u(a,n))c.add(G);const f=a.bySlug.get(n);if(f)for(const G of f.deps)c.add(G);for(const G of Be(a,n)){c.add(G);const ge=a.providedBy.get(G);ge&&c.add(ge)}return c}function C(a){const n=new Set;for(const c of a.nodes)if(c.health!=="healthy"){n.add(c.slug);for(const f of u(a,c.slug))n.add(f);for(const f of Be(a,c.slug)){n.add(f);const G=a.providedBy.get(f);G&&n.add(G)}}return n}function E(a,n){const c=new Set;for(const f of a.nodes)if(f.health===n){c.add(f.slug);for(const G of u(a,f.slug))c.add(G)}return c}const $e=m(()=>{const a=e(P);if(!a)return null;if(e(F)&&a.bySlug.has(e(F)))return H(a,e(F));if(e(le))return C(a);if(e(te))return E(a,e(te));const n=O().trim().toLowerCase();if(n){const c=new Set;for(const f of a.nodes)(f.slug.toLowerCase().includes(n)||f.name.toLowerCase().includes(n))&&c.add(f.slug);return c}return null});function ce(a){if(e(F)===a)return"sel";const n=e($e);return n?n.has(a)?"hl":"dim":""}function fe(a){const n=e($e);return n?n.has(a.s)&&n.has(a.t)?"hl":"dim":""}function we(a){s.onSelect(a)}function ze(){Pe(),L(le,!1),L(te,null),s.onSelect(null)}function Me(){Pe(),L(te,null),L(le,!e(le))}function Ue(a){Pe(),L(le,!1),L(te,e(te)===a?null:a,!0)}const p=m(()=>{var a;return e(F)&&((a=e(P))!=null&&a.bySlug.get(e(F)))?e(P).bySlug.get(e(F)):null}),g=m(()=>{const a=e(P);return!a||!e(p)?[]:[...Be(a,e(p).slug)].map(n=>a.bySlug.get(n)).filter(n=>!!n)}),J=m(()=>{const a=e(P);return!a||!e(p)?[]:u(a,e(p).slug).map(n=>a.bySlug.get(n)).filter(n=>!!n)}),N=m(()=>{const a=e(P);return!a||!e(p)?[]:(a.providesMap.get(e(p).slug)??[]).map(n=>a.bySlug.get(n)).filter(n=>!!n)}),A=m(()=>{const a=e(P);return!a||!e(p)?[]:e(p).deps.map(n=>a.bySlug.get(n)).filter(n=>!!n)}),pe=m(()=>{const a=e(P);return a?["down","degraded","unknown"].map(n=>({h:n,items:a.nodes.filter(c=>c.health===n)})).filter(n=>n.items.length):[]}),de=m(()=>{const a=e(P);return!a||!e(te)?[]:a.nodes.filter(n=>n.health===e(te))}),Q=m(()=>e(P)?e(P).nodes.filter(a=>a.health!=="healthy").length:0);var Te=Ie(),Z=K(Te);{var Ce=a=>{Et(a,{class:"h-full min-h-0"})},Le=a=>{var n=Or(),c=r(n),f=r(c);Fe(f,17,()=>he,at,(T,h)=>{var $=Ie(),j=K($);{var se=re=>{var V=hr();let xe;var Re=r(V),Ee=l(Re,2),ke=r(Ee),t=l(Ee);q(i=>{xe=as(V,1,"chip svelte-ywuw22",null,xe,{on:e(te)===e(h)}),Je(Re,`background:${W[e(h)]??""}`),_(ke,e(P).counts[e(h)]),_(t,` ${i??""}`)},[()=>ae[e(h)].toLowerCase()]),vt("click",V,()=>Ue(e(h))),o(re,V)};ee(j,re=>{e(P).counts[e(h)]&&re(se)})}o(T,$)});var G=l(f,2),ge=r(G);{let T=m(()=>e(le)?"default":"outline");ls(ge,{get variant(){return e(T)},size:"sm",class:"h-7 text-xs",onclick:Me,children:(h,$)=>{var j=fr(),se=K(j);wa(se,{class:"mr-1 size-3.5"}),o(h,j)},$$slots:{default:!0}})}var De=l(ge,2);{var Ne=T=>{ls(T,{variant:"ghost",size:"sm",class:"h-7 text-xs",onclick:ze,children:(h,$)=>{var j=pr(),se=K(j);ma(se,{class:"mr-1 size-3.5"}),o(h,j)},$$slots:{default:!0}})};ee(De,T=>{(e(le)||e(te))&&T(Ne)})}var Zt=l(c,2),Wt=r(Zt),Ft=r(Wt),Lt=r(Ft),Nt=l(Lt,2);Fe(Nt,21,()=>[["Hosts",e(P).nodes.filter(T=>T.kind==="host").length],["Containers",e(P).nodes.filter(T=>T.kind==="container").length],["Services",e(P).nodes.filter(T=>T.kind==="service").length]],at,(T,h,$)=>{var j=m(()=>_a(e(h),2));let se=()=>e(j)[0],re=()=>e(j)[1];var V=gr(),xe=r(V),Re=l(xe),Ee=r(Re);q(()=>{Je(V,`left:${be[$]??""}px;width:${Oe[$]??""}px`),_(xe,`${se()??""} · `),_(Ee,re())}),o(T,V)});var ct=l(Nt,2);Fe(ct,21,()=>e(P).edges,at,(T,h)=>{var $=wr();q(j=>{Dt($,"d",e(h).d),as($,0,`edge ${e(h).kind??""} ${j??""}`,"svelte-ywuw22")},[()=>fe(e(h))]),o(T,$)});var st=l(ct,2);Fe(st,17,()=>e(P).nodes,T=>T.slug,(T,h)=>{var $=yr();let j;var se=r($);{var re=ke=>{var t=_r(),i=r(t);{var M=R=>{ba(R,{class:"size-3"})},B=R=>{Ia(R,{class:"size-3"})},U=R=>{Wa(R,{class:"size-3"})};ee(i,R=>{e(h).fauth?R(M):e(h).fauth===!1?R(B,1):R(U,-1)})}q(()=>Dt(t,"title",e(h).publicHost+(e(h).fauth?" · forward-auth":e(h).fauth===!1?" · no auth gate":""))),o(ke,t)};ee(se,ke=>{e(h).publicHost&&ke(re)})}var V=l(se,2),xe=r(V),Re=l(V,2),Ee=r(Re);q(ke=>{j=as($,1,`node ${ke??""}`,"svelte-ywuw22",j,{svc:e(h).kind==="service","is-open":y()===e(h).slug,pulse:e(h).health==="down"}),Je($,`left:${e(h).x??""}px;top:${e(h).y??""}px;width:${e(h).w??""}px;height:${e(h).h??""}px;--nc:${W[e(h).health]??""}`),Dt($,"title",e(h).slug),_(xe,e(h).name),_(Ee,e(h).meta)},[()=>ce(e(h).slug)]),Bt("mouseenter",$,()=>ft(e(h).slug)),Bt("mouseleave",$,pt),Bt("focus",$,()=>ft(e(h).slug)),Bt("blur",$,pt),vt("click",$,ke=>{ke.stopPropagation(),we(e(h).slug)}),o(T,$)});var Ye=l(Wt,2),St=r(Ye);{var es=T=>{var h=mr(),$=l(r(h),4),j=r($),se=r(j),re=l(j,2),V=r(re),xe=l($,2);Fe(xe,17,()=>e(pe),at,(Re,Ee)=>{var ke=Hs(),t=r(ke),i=r(t),M=l(t,2);Fe(M,17,()=>e(Ee).items,at,(B,U)=>{var R=zt(),_e=r(R),lt=l(_e,2),gt=r(lt),Pt=l(lt,2),wt=r(Pt);q(()=>{Je(_e,`background:${W[e(U).health]??""}`),_(gt,e(U).name),_(wt,e(U).kind)}),vt("click",R,()=>we(e(U).slug)),o(B,R)}),q(()=>_(i,`${ae[e(Ee).h]??""} · ${e(Ee).items.length??""}`)),o(Re,ke)}),q(()=>{_(se,e(Q)),_(V,`${e(Q)===1?"entity":"entities"} not healthy`)}),o(T,h)},ts=T=>{var h=br(),$=l(r(h),2),j=r($),se=l($,2),re=r(se),V=r(re),xe=l(re,2),Re=r(xe),Ee=l(se,2),ke=r(Ee),t=r(ke),i=l(ke,2);Fe(i,17,()=>e(de),at,(M,B)=>{var U=zt(),R=r(U),_e=l(R,2),lt=r(_e),gt=l(_e,2),Pt=r(gt);q(()=>{Je(R,`background:${W[e(B).health]??""}`),_(lt,e(B).name),_(Pt,e(B).kind)}),vt("click",U,()=>we(e(B).slug)),o(M,U)}),q(()=>{_(j,ae[e(te)]),_(V,e(de).length),_(Re,e(de).length===1?"entity":"entities"),_(t,ae[e(te)])}),o(T,h)},je=T=>{var h=Lr(),$=r(h),j=r($),se=l($,2),re=r(se),V=l(se,2),xe=l(r(V),1,!0),Re=l(V,2),Ee=r(Re);let ke;var t=r(Ee),i=l(Ee,2),M=r(i),B=l(Re,2),U=l(r(B),2);{var R=k=>{var z=$r(),ue=l(r(z)),ye=r(ue);q(()=>_(ye,e(p).type)),o(k,z)};ee(U,k=>{e(p).kind==="container"&&k(R)})}var _e=l(U,2);{var lt=k=>{var z=xr(),ue=l(r(z)),ye=r(ue);q(()=>_(ye,e(p).role)),o(k,z)};ee(_e,k=>{e(p).role&&k(lt)})}var gt=l(_e,2);{var Pt=k=>{var z=kr(),ue=l(r(z)),ye=r(ue);q(()=>_(ye,e(p).ip)),o(k,z)};ee(gt,k=>{e(p).ip&&k(Pt)})}var wt=l(gt,2);{var It=k=>{var z=Sr(),ue=K(z),ye=l(r(ue)),Se=r(ye),Ae=l(ue,2),qe=l(r(Ae)),Ke=r(qe);q(()=>{_(Se,e(p).publicHost),_(Ke,e(p).fauth?"forward-auth gated":e(p).fauth===!1?"no auth gate":"public")}),o(k,z)},is=k=>{var z=Pr(),ue=l(r(z)),ye=r(ue);q(()=>_(ye,e(p).url)),o(k,z)};ee(wt,k=>{e(p).publicHost?k(It):e(p).url&&k(is,1)})}var Mt=l(wt,2);{var Ot=k=>{var z=Mr(),ue=l(r(z)),ye=r(ue);q(Se=>_(ye,Se),[()=>e(p).mounts.join(", ")]),o(k,z)};ee(Mt,k=>{e(p).mounts.length&&k(Ot)})}var ss=l(Mt,2);{var Us=k=>{var z=Tr(),ue=l(r(z)),ye=r(ue);q(()=>_(ye,e(p).repo)),o(k,z)};ee(ss,k=>{e(p).repo&&k(Us)})}var $s=l(B,2);{var js=k=>{var z=Cr(),ue=l(r(z),2);Fe(ue,17,()=>e(J),at,(ye,Se)=>{var Ae=zt(),qe=r(Ae),Ke=l(qe,2),bt=r(Ke),$t=l(Ke,2),Tt=r($t);q(()=>{Je(qe,`background:${W[e(Se).health]??""}`),_(bt,e(Se).name),_(Tt,e(Se).kind)}),vt("click",Ae,()=>we(e(Se).slug)),o(ye,Ae)}),o(k,z)};ee($s,k=>{e(J).length&&k(js)})}var xs=l($s,2);{var Ks=k=>{var z=Er(),ue=l(r(z),2);Fe(ue,17,()=>e(A),at,(ye,Se)=>{var Ae=zt(),qe=r(Ae),Ke=l(qe,2),bt=r(Ke),$t=l(Ke,2),Tt=r($t);q(()=>{Je(qe,`background:${W[e(Se).health]??""}`),_(bt,e(Se).name),_(Tt,e(Se).kind)}),vt("click",Ae,()=>we(e(Se).slug)),o(ye,Ae)}),o(k,z)};ee(xs,k=>{e(A).length&&k(Ks)})}var ks=l(xs,2);{var Xs=k=>{var z=Hs(),ue=r(z),ye=r(ue),Se=l(ue,2);Fe(Se,17,()=>e(N),at,(Ae,qe)=>{var Ke=zt(),bt=r(Ke),$t=l(bt,2),Tt=r($t),Qs=l($t,2),Zs=r(Qs);q(()=>{Je(bt,`background:${W[e(qe).health]??""}`),_(Tt,e(qe).name),_(Zs,e(qe).kind)}),vt("click",Ke,()=>we(e(qe).slug)),o(Ae,Ke)}),q(()=>_(ye,e(p).kind==="host"?"Hosts":"Provides")),o(k,z)};ee(ks,k=>{e(N).length&&k(Xs)})}var Ys=l(ks,2);{var Js=k=>{var z=Hr(),ue=l(r(z),2);Fe(ue,17,()=>e(g),at,(ye,Se)=>{var Ae=zt(),qe=r(Ae),Ke=l(qe,2),bt=r(Ke),$t=l(Ke,2),Tt=r($t);q(()=>{Je(qe,`background:${W[e(Se).health]??""}`),_(bt,e(Se).name),_(Tt,e(Se).kind)}),vt("click",Ae,()=>we(e(Se).slug)),o(ye,Ae)}),o(k,z)};ee(Ys,k=>{e(p).kind==="service"&&e(g).length&&k(Js)})}q(()=>{_(j,e(p).slug),_(re,e(p).name),Je(V,`--hc:${W[e(p).health]??""}`),_(xe,ae[e(p).health]),ke=as(Ee,1,"n svelte-ywuw22",null,ke,{warn:e(g).length>0}),_(t,e(g).length),_(M,`${e(p).kind==="service"?"downstream service":"service"}${e(g).length===1?"":"s"}
affected if this goes down`)}),o(T,h)},Rt=T=>{var h=Rr(),$=l(r(h),2);Fe($,17,()=>he,at,(j,se)=>{var re=Nr(),V=r(re),xe=l(V,1,!0);q(()=>{Je(V,`background:${W[e(se)]??""}`),_(xe,ae[e(se)])}),o(j,re)}),o(T,h)};ee(St,T=>{!e(p)&&e(le)?T(es):!e(p)&&e(te)?T(ts,1):e(p)?T(je,2):T(Rt,-1)})}q(()=>{Je(Ft,`width:${e(P).width??""}px;height:${e(P).height??""}px`),Dt(ct,"width",e(P).width),Dt(ct,"height",e(P).height)}),vt("click",Lt,ze),Bt("mouseenter",Ye,mt),Bt("mouseleave",Ye,pt),o(a,n)},nt=a=>{var n=Br();o(a,n)};ee(Z,a=>{e(Ge)&&!e(P)?a(Ce):e(P)?a(Le,1):a(nt,-1)})}o(v,Te),Ze(),w()}Bs(["click"]);var Dr=new Set(["$$slots","$$events","$$legacy","ref","checked","class"]);function Ar(v,s){Qe(s,!0);let d=ve(s,"ref",15,null),S=ve(s,"checked",15,!1),w=et(s,Dr);var O=Ie(),y=K(O);{let W=m(()=>Ht("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-3 disabled:cursor-not-allowed disabled:opacity-50",s.class));D(y,()=>Ba,(ae,he)=>{he(ae,At({"data-slot":"switch",get class(){return e(W)}},()=>w,{get ref(){return d()},set ref(ne){d(ne)},get checked(){return S()},set checked(ne){S(ne)},children:(ne,Ge)=>{var X=Ie(),F=K(X);D(F,()=>Aa,(le,te)=>{te(le,{"data-slot":"switch-thumb",class:"bg-background pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"})}),o(ne,X)},$$slots:{default:!0}}))})}o(v,O),Ze()}var qr=b('