(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const d of a.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&l(d)}).observe(document,{childList:!0,subtree:!0});function s(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function l(o){if(o.ep)return;o.ep=!0;const a=s(o);fetch(o.href,a)}})();const Ot={context:void 0,registry:void 0,effects:void 0,done:!1,getContextId(){return Al(this.context.count)},getNextContextId(){return Al(this.context.count++)}};function Al(e){const r=String(e),s=r.length-1;return Ot.context.id+(s?String.fromCharCode(96+s):"")+r}function En(e){Ot.context=e}const Oi=!1,Po=(e,r)=>e===r,vn=Symbol("solid-proxy"),Li=typeof Proxy=="function",oa=Symbol("solid-track"),da={equals:Po};let Ds=null,Ri=Bi;const mn=1,Os=2,Ii={owned:null,cleanups:null,context:null,owner:null},Ma={};var qt=null;let ot=null,Eo=null,dr=null,Wr=null,jr=null,va=0;function On(e,r){const s=dr,l=qt,o=e.length===0,a=r===void 0?l:r,d=o?Ii:{owned:null,cleanups:null,context:a?a.context:null,owner:a},c=o?e:()=>e(()=>Fr(()=>qn(d)));qt=d,dr=null;try{return cn(c,!0)}finally{dr=s,qt=l}}function Z(e,r){r=r?Object.assign({},da,r):da;const s={value:e,observers:null,observerSlots:null,comparator:r.equals||void 0},l=o=>(typeof o=="function"&&(ot&&ot.running&&ot.sources.has(s)?o=o(s.tValue):o=o(s.value)),Ui(s,o));return[Hi.bind(s),l]}function Dl(e,r,s){const l=Hs(e,r,!0,mn);ms(l)}function q(e,r,s){const l=Hs(e,r,!1,mn);ms(l)}function ft(e,r,s){Ri=jo;const l=Hs(e,r,!1,mn),o=ts&&Rn(ts);o&&(l.suspense=o),(!s||!s.render)&&(l.user=!0),jr?jr.push(l):ms(l)}function pe(e,r,s){s=s?Object.assign({},da,s):da;const l=Hs(e,r,!0,0);return l.observers=null,l.observerSlots=null,l.comparator=s.equals||void 0,ms(l),Hi.bind(l)}function No(e){return e&&typeof e=="object"&&"then"in e}function Oo(e,r,s){let l,o,a;l=!0,o=e,a={};let d=null,c=Ma,g=null,b=!1,p=!1,m="initialValue"in a,S=typeof l=="function"&&pe(l);const z=new Set,[ie,ne]=(a.storage||Z)(a.initialValue),[W,X]=Z(void 0),[I,L]=Z(void 0,{equals:!1}),[H,se]=Z(m?"ready":"unresolved");Ot.context&&(g=Ot.getNextContextId(),a.ssrLoadFrom==="initial"?c=a.initialValue:Ot.load&&Ot.has(g)&&(c=Ot.load(g)));function le(_,B,$,D){return d===_&&(d=null,D!==void 0&&(m=!0),(_===c||B===c)&&a.onHydrated&&queueMicrotask(()=>a.onHydrated(D,{value:B})),c=Ma,ot&&_&&b?(ot.promises.delete(_),b=!1,cn(()=>{ot.running=!0,ee(B,$)},!1)):ee(B,$)),B}function ee(_,B){cn(()=>{B===void 0&&ne(()=>_),se(B!==void 0?"errored":m?"ready":"unresolved"),X(B);for(const $ of z.keys())$.decrement();z.clear()},!1)}function U(){const _=ts&&Rn(ts),B=ie(),$=W();if($!==void 0&&!d)throw $;return dr&&!dr.user&&_&&Dl(()=>{I(),d&&(_.resolved&&ot&&b?ot.promises.add(d):z.has(_)||(_.increment(),z.add(_)))}),B}function Y(_=!0){if(_!==!1&&p)return;p=!1;const B=S?S():l;if(b=ot&&ot.running,B==null||B===!1){le(d,Fr(ie));return}ot&&d&&ot.promises.delete(d);let $;const D=c!==Ma?c:Fr(()=>{try{return o(B,{value:ie(),refetching:_})}catch(f){$=f}});if($!==void 0){le(d,void 0,ra($),B);return}else if(!No(D))return le(d,D,void 0,B),D;return d=D,"v"in D?(D.s===1?le(d,D.v,void 0,B):le(d,void 0,ra(D.v),B),D):(p=!0,queueMicrotask(()=>p=!1),cn(()=>{se(m?"refreshing":"pending"),L()},!1),D.then(f=>le(D,f,void 0,B),f=>le(D,void 0,ra(f),B)))}Object.defineProperties(U,{state:{get:()=>H()},error:{get:()=>W()},loading:{get(){const _=H();return _==="pending"||_==="refreshing"}},latest:{get(){if(!m)return U();const _=W();if(_&&!d)throw _;return ie()}}});let oe=qt;return S?Dl(()=>(oe=qt,Y(!1))):Y(!1),[U,{refetch:_=>ka(oe,()=>Y(_)),mutate:ne}]}function Lo(e){return cn(e,!1)}function Fr(e){if(dr===null)return e();const r=dr;dr=null;try{return e()}finally{dr=r}}function Wn(e,r,s){const l=Array.isArray(e);let o;return a=>{let d;if(l){d=Array(e.length);for(let g=0;gr(d,o,a));return o=d,c}}function vr(e){ft(()=>Fr(e))}function Ar(e){return qt===null||(qt.cleanups===null?qt.cleanups=[e]:qt.cleanups.push(e)),e}function Ro(e,r){Ds||(Ds=Symbol("error")),qt=Hs(void 0,void 0,!0),qt.context={...qt.context,[Ds]:[r]},ot&&ot.running&&ot.sources.add(qt);try{return e()}catch(s){Us(s)}finally{qt=qt.owner}}function rl(){return dr}function Ls(){return qt}function ka(e,r){const s=qt,l=dr;qt=e,dr=null;try{return cn(r,!0)}catch(o){Us(o)}finally{qt=s,dr=l}}function Io(e){if(ot&&ot.running)return e(),ot.done;const r=dr,s=qt;return Promise.resolve().then(()=>{dr=r,qt=s;let l;return ts&&(l=ot||(ot={sources:new Set,effects:[],promises:new Set,disposed:new Set,queue:new Set,running:!0}),l.done||(l.done=new Promise(o=>l.resolve=o)),l.running=!0),cn(e,!1),dr=qt=null,l?l.done:void 0})}const[Fw,Ml]=Z(!1);function Ho(e){jr.push.apply(jr,e),e.length=0}function fs(e,r){const s=Symbol("context");return{id:s,Provider:Fo(s),defaultValue:e}}function Rn(e){let r;return qt&&qt.context&&(r=qt.context[e.id])!==void 0?r:e.defaultValue}function pl(e){const r=pe(e),s=pe(()=>nl(r()));return s.toArray=()=>{const l=s();return Array.isArray(l)?l:l!=null?[l]:[]},s}let ts;function Uo(){return ts||(ts=fs())}function Hi(){const e=ot&&ot.running;if(this.sources&&(e?this.tState:this.state))if((e?this.tState:this.state)===mn)ms(this);else{const r=Wr;Wr=null,cn(()=>ua(this),!1),Wr=r}if(dr){const r=this.observers?this.observers.length:0;dr.sources?(dr.sources.push(this),dr.sourceSlots.push(r)):(dr.sources=[this],dr.sourceSlots=[r]),this.observers?(this.observers.push(dr),this.observerSlots.push(dr.sources.length-1)):(this.observers=[dr],this.observerSlots=[dr.sources.length-1])}return e&&ot.sources.has(this)?this.tValue:this.value}function Ui(e,r,s){let l=ot&&ot.running&&ot.sources.has(e)?e.tValue:e.value;if(!e.comparator||!e.comparator(l,r)){if(ot){const o=ot.running;(o||!s&&ot.sources.has(e))&&(ot.sources.add(e),e.tValue=r),o||(e.value=r)}else e.value=r;e.observers&&e.observers.length&&cn(()=>{for(let o=0;o1e6)throw Wr=[],new Error},!1)}return r}function ms(e){if(!e.fn)return;qn(e);const r=va;Pl(e,ot&&ot.running&&ot.sources.has(e)?e.tValue:e.value,r),ot&&!ot.running&&ot.sources.has(e)&&queueMicrotask(()=>{cn(()=>{ot&&(ot.running=!0),dr=qt=e,Pl(e,e.tValue,r),dr=qt=null},!1)})}function Pl(e,r,s){let l;const o=qt,a=dr;dr=qt=e;try{l=e.fn(r)}catch(d){return e.pure&&(ot&&ot.running?(e.tState=mn,e.tOwned&&e.tOwned.forEach(qn),e.tOwned=void 0):(e.state=mn,e.owned&&e.owned.forEach(qn),e.owned=null)),e.updatedAt=s+1,Us(d)}finally{dr=a,qt=o}(!e.updatedAt||e.updatedAt<=s)&&(e.updatedAt!=null&&"observers"in e?Ui(e,l,!0):ot&&ot.running&&e.pure?(ot.sources.add(e),e.tValue=l):e.value=l,e.updatedAt=s)}function Hs(e,r,s,l=mn,o){const a={fn:e,state:l,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:r,owner:qt,context:qt?qt.context:null,pure:s};return ot&&ot.running&&(a.state=0,a.tState=l),qt===null||qt!==Ii&&(ot&&ot.running&&qt.pure?qt.tOwned?qt.tOwned.push(a):qt.tOwned=[a]:qt.owned?qt.owned.push(a):qt.owned=[a]),a}function ca(e){const r=ot&&ot.running;if((r?e.tState:e.state)===0)return;if((r?e.tState:e.state)===Os)return ua(e);if(e.suspense&&Fr(e.suspense.inFallback))return e.suspense.effects.push(e);const s=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt=0;l--){if(e=s[l],r){let o=e,a=s[l+1];for(;(o=o.owner)&&o!==a;)if(ot.disposed.has(o))return}if((r?e.tState:e.state)===mn)ms(e);else if((r?e.tState:e.state)===Os){const o=Wr;Wr=null,cn(()=>ua(e,s[0]),!1),Wr=o}}}function cn(e,r){if(Wr)return e();let s=!1;r||(Wr=[]),jr?s=!0:jr=[],va++;try{const l=e();return Bo(s),l}catch(l){s||(jr=null),Wr=null,Us(l)}}function Bo(e){if(Wr&&(Bi(Wr),Wr=null),e)return;let r;if(ot){if(!ot.promises.size&&!ot.queue.size){const l=ot.sources,o=ot.disposed;jr.push.apply(jr,ot.effects),r=ot.resolve;for(const a of jr)"tState"in a&&(a.state=a.tState),delete a.tState;ot=null,cn(()=>{for(const a of o)qn(a);for(const a of l){if(a.value=a.tValue,a.owned)for(let d=0,c=a.owned.length;dRi(s),!1),r&&r()}function Bi(e){for(let r=0;r=0;r--)qn(e.tOwned[r]);delete e.tOwned}if(ot&&ot.running&&e.pure)Fi(e,!0);else if(e.owned){for(r=e.owned.length-1;r>=0;r--)qn(e.owned[r]);e.owned=null}if(e.cleanups){for(r=e.cleanups.length-1;r>=0;r--)e.cleanups[r]();e.cleanups=null}ot&&ot.running?e.tState=0:e.state=0}function Fi(e,r){if(r||(e.tState=0,ot.disposed.add(e)),e.owned)for(let s=0;so=Fr(()=>(qt.context={...qt.context,[e]:l.value},pl(()=>l.children))),void 0),o}}const sl=Symbol("fallback");function ga(e){for(let r=0;r1?[]:null;return Ar(()=>ga(a)),()=>{let g=e()||[],b=g.length,p,m;return g[oa],Fr(()=>{let z,ie,ne,W,X,I,L,H,se;if(b===0)d!==0&&(ga(a),a=[],l=[],o=[],d=0,c&&(c=[])),s.fallback&&(l=[sl],o[0]=On(le=>(a[0]=le,s.fallback())),d=1);else if(d===0){for(o=new Array(b),m=0;m=I&&H>=I&&l[L]===g[H];L--,H--)ne[H]=o[L],W[H]=a[L],c&&(X[H]=c[L]);for(z=new Map,ie=new Array(H+1),m=H;m>=I;m--)se=g[m],p=z.get(se),ie[m]=p===void 0?-1:p,z.set(se,m);for(p=I;p<=L;p++)se=l[p],m=z.get(se),m!==void 0&&m!==-1?(ne[m]=o[p],W[m]=a[p],c&&(X[m]=c[p]),m=ie[m],z.set(se,m)):a[p]();for(m=I;mga(a)),()=>{const b=e()||[],p=b.length;return b[oa],Fr(()=>{if(p===0)return c!==0&&(ga(a),a=[],l=[],o=[],c=0,d=[]),s.fallback&&(l=[sl],o[0]=On(S=>(a[0]=S,s.fallback())),c=1),o;for(l[0]===sl&&(a[0](),a=[],l=[],o=[],c=0),g=0;gb[g]):g>=l.length&&(o[g]=On(m));for(;ge(r||{}))}function Ws(){return!0}const al={get(e,r,s){return r===vn?s:e.get(r)},has(e,r){return r===vn?!0:e.has(r)},set:Ws,deleteProperty:Ws,getOwnPropertyDescriptor(e,r){return{configurable:!0,enumerable:!0,get(){return e.get(r)},set:Ws,deleteProperty:Ws}},ownKeys(e){return e.keys()}};function Pa(e){return(e=typeof e=="function"?e():e)?e:{}}function zo(){for(let e=0,r=this.length;e=0;c--){const g=Pa(e[c])[d];if(g!==void 0)return g}},has(d){for(let c=e.length-1;c>=0;c--)if(d in Pa(e[c]))return!0;return!1},keys(){const d=[];for(let c=0;c=0;d--){const c=e[d];if(!c)continue;const g=Object.getOwnPropertyNames(c);for(let b=g.length-1;b>=0;b--){const p=g[b];if(p==="__proto__"||p==="constructor")continue;const m=Object.getOwnPropertyDescriptor(c,p);if(!l[p])l[p]=m.get?{enumerable:!0,configurable:!0,get:zo.bind(s[p]=[m.get.bind(c)])}:m.value!==void 0?m:void 0;else{const S=s[p];S&&(m.get?S.push(m.get.bind(c)):m.value!==void 0&&S.push(()=>m.value))}}}const o={},a=Object.keys(l);for(let d=a.length-1;d>=0;d--){const c=a[d],g=l[c];g&&g.get?Object.defineProperty(o,c,g):o[c]=g?g.value:void 0}return o}function rs(e,...r){if(Li&&vn in e){const o=new Set(r.length>1?r.flat():r[0]),a=r.map(d=>new Proxy({get(c){return d.includes(c)?e[c]:void 0},has(c){return d.includes(c)&&c in e},keys(){return d.filter(c=>c in e)}},al));return a.push(new Proxy({get(d){return o.has(d)?void 0:e[d]},has(d){return o.has(d)?!1:d in e},keys(){return Object.keys(e).filter(d=>!o.has(d))}},al)),a}const s={},l=r.map(()=>({}));for(const o of Object.getOwnPropertyNames(e)){const a=Object.getOwnPropertyDescriptor(e,o),d=!a.get&&!a.set&&a.enumerable&&a.writable&&a.configurable;let c=!1,g=0;for(const b of r)b.includes(o)&&(c=!0,d?l[g][o]=a.value:Object.defineProperty(l[g],o,a)),++g;c||(d?s[o]=a.value:Object.defineProperty(s,o,a))}return[...l,s]}function Wo(e){let r,s;const l=o=>{const a=Ot.context;if(a){const[c,g]=Z();Ot.count||(Ot.count=0),Ot.count++,(s||(s=e())).then(b=>{!Ot.done&&En(a),Ot.count--,g(()=>b.default),En()}),r=c}else if(!r){const[c]=Oo(()=>(s||(s=e())).then(g=>g.default));r=c}let d;return pe(()=>(d=r())?Fr(()=>{if(!a||Ot.done)return d(o);const c=Ot.context;En(a);const g=d(o);return En(c),g}):"")};return l.preload=()=>s||((s=e()).then(o=>r=()=>o.default),s),l}const qo=e=>`Stale read from <${e}>.`;function ze(e){const r="fallback"in e&&{fallback:()=>e.fallback};return pe(Vo(()=>e.each,e.children,r||void 0))}function Nl(e){const r="fallback"in e&&{fallback:()=>e.fallback};return pe(Go(()=>e.each,e.children,r||void 0))}function h(e){const r=e.keyed,s=pe(()=>e.when,void 0,void 0),l=r?s:pe(s,void 0,{equals:(o,a)=>!o==!a});return pe(()=>{const o=l();if(o){const a=e.children;return typeof a=="function"&&a.length>0?Fr(()=>a(r?o:()=>{if(!Fr(l))throw qo("Show");return s()})):a}return e.fallback},void 0,void 0)}let os;function Ol(){os&&[...os].forEach(e=>e())}function Ko(e){let r;Ot.context&&Ot.load&&(r=Ot.load(Ot.getContextId()));const[s,l]=Z(r,void 0);return os||(os=new Set),os.add(l),Ar(()=>os.delete(l)),pe(()=>{let o;if(o=s()){const a=e.fallback;return typeof a=="function"&&a.length?Fr(()=>a(o,()=>l())):a}return Ro(()=>e.children,l)},void 0,void 0)}const Jo=fs();function Qo(e){let r=0,s,l,o,a,d;const[c,g]=Z(!1),b=Uo(),p={increment:()=>{++r===1&&g(!0)},decrement:()=>{--r===0&&g(!1)},inFallback:c,effects:[],resolved:!1},m=Ls();if(Ot.context&&Ot.load){const ie=Ot.getContextId();let ne=Ot.load(ie);if(ne&&(typeof ne!="object"||ne.s!==1?o=ne:Ot.gather(ie)),o&&o!=="$$f"){const[W,X]=Z(void 0,{equals:!1});a=W,o.then(()=>{if(Ot.done)return X();Ot.gather(ie),En(l),X(),En()},I=>{d=I,X()})}}const S=Rn(Jo);S&&(s=S.register(p.inFallback));let z;return Ar(()=>z&&z()),n(b.Provider,{value:p,get children(){return pe(()=>{if(d)throw d;if(l=Ot.context,a)return a(),a=void 0;l&&o==="$$f"&&En();const ie=pe(()=>e.children);return pe(ne=>{const W=p.inFallback(),{showContent:X=!0,showFallback:I=!0}=s?s():{};if((!W||o&&o!=="$$f")&&X)return p.resolved=!0,z&&z(),z=l=o=void 0,Ho(p.effects),ie();if(I)return z?ne:On(L=>(z=L,l&&(En({id:l.id+"F",count:0}),l=void 0),e.fallback),m)})})}})}const Yo=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected"],Xo=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline",...Yo]),Zo=new Set(["innerHTML","textContent","innerText","children"]),ed=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),td=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1}});function rd(e,r){const s=td[e];return typeof s=="object"?s[r]?s.$:void 0:s}const nd=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),sd=new Set(["altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignObject","g","glyph","glyphRef","hkern","image","line","linearGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tref","tspan","use","view","vkern"]),ad={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},$e=e=>pe(()=>e());function ld(e,r,s){let l=s.length,o=r.length,a=l,d=0,c=0,g=r[o-1].nextSibling,b=null;for(;dp-c){const ie=r[d];for(;c{o=a,r===document?e():t(r,e(),r.firstChild?null:void 0,s)},l.owner),()=>{o(),r.textContent=""}}function i(e,r,s,l){let o;const a=()=>{const c=document.createElement("template");return c.innerHTML=e,c.content.firstChild},d=()=>(o||(o=a())).cloneNode(!0);return d.cloneNode=d,d}function Xt(e,r=window.document){const s=r[Ll]||(r[Ll]=new Set);for(let l=0,o=e.length;lo.call(e,s[1],a))}else e.addEventListener(r,s,typeof s!="function"&&s)}function cd(e,r,s={}){const l=Object.keys(r||{}),o=Object.keys(s);let a,d;for(a=0,d=o.length;ao.children=Rs(e,r.children,o.children)),q(()=>typeof r.ref=="function"&&fr(r.ref,e)),q(()=>ud(e,r,s,!0,o,!0)),o}function fr(e,r,s){return Fr(()=>e(r,s))}function t(e,r,s,l){if(s!==void 0&&!l&&(l=[]),typeof r!="function")return Rs(e,r,l,s);q(o=>Rs(e,r(),o,s),l)}function ud(e,r,s,l,o={},a=!1){r||(r={});for(const d in o)if(!(d in r)){if(d==="children")continue;o[d]=Il(e,d,null,o[d],s,a,r)}for(const d in r){if(d==="children")continue;const c=r[d];o[d]=Il(e,d,c,o[d],s,a,r)}}function gd(e){let r,s;return!ns()||!(r=Ot.registry.get(s=md()))?e():(Ot.completed&&Ot.completed.add(r),Ot.registry.delete(s),r)}function ns(e){return!!Ot.context&&!Ot.done&&(!e||e.isConnected)}function hd(e){return e.toLowerCase().replace(/-([a-z])/g,(r,s)=>s.toUpperCase())}function Rl(e,r,s){const l=r.trim().split(/\s+/);for(let o=0,a=l.length;o-1&&ad[r.split(":")[0]];S?od(e,S,r,s):Te(e,ed[r]||r,s)}return s}function fd(e){if(Ot.registry&&Ot.events&&Ot.events.find(([g,b])=>b===e))return;let r=e.target;const s=`$$${e.type}`,l=e.target,o=e.currentTarget,a=g=>Object.defineProperty(e,"target",{configurable:!0,value:g}),d=()=>{const g=r[s];if(g&&!r.disabled){const b=r[`${s}Data`];if(b!==void 0?g.call(r,b,e):g.call(r,e),e.cancelBubble)return}return r.host&&typeof r.host!="string"&&!r.host._$host&&r.contains(e.target)&&a(r.host),!0},c=()=>{for(;d()&&(r=r._$host||r.parentNode||r.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return r||document}}),Ot.registry&&!Ot.done&&(Ot.done=_$HY.done=!0),e.composedPath){const g=e.composedPath();a(g[0]);for(let b=0;b{let g=r();for(;typeof g=="function";)g=g();s=Rs(e,g,s,l)}),()=>s;if(Array.isArray(r)){const g=[],b=s&&Array.isArray(s);if(ll(g,r,s,o))return q(()=>s=Rs(e,g,s,l,!0)),()=>s;if(a){if(!g.length)return s;if(l===void 0)return s=[...e.childNodes];let p=g[0];if(p.parentNode!==e)return s;const m=[p];for(;(p=p.nextSibling)!==l;)m.push(p);return s=m}if(g.length===0){if(s=as(e,s,l),c)return s}else b?s.length===0?Hl(e,g,l):ld(e,s,g):(s&&as(e),Hl(e,g));s=g}else if(r.nodeType){if(a&&r.parentNode)return s=c?[r]:r;if(Array.isArray(s)){if(c)return s=as(e,s,l,r);as(e,s,null,r)}else s==null||s===""||!e.firstChild?e.appendChild(r):e.replaceChild(r,e.firstChild);s=r}}return s}function ll(e,r,s,l){let o=!1;for(let a=0,d=r.length;a=0;d--){const c=r[d];if(o!==c){const g=c.parentNode===e;!a&&!d?g?e.replaceChild(o,c):e.insertBefore(o,s):g&&c.remove()}else a=!0}}else e.insertBefore(o,s);return[o]}function md(){return Ot.getNextContextId()}const xd=!1,bd="http://www.w3.org/2000/svg";function Vi(e,r=!1){return r?document.createElementNS(bd,e):document.createElement(e)}function ps(e){const{useShadow:r}=e,s=document.createTextNode(""),l=()=>e.mount||document.body,o=Ls();let a,d=!!Ot.context;return ft(()=>{d&&(Ls().user=d=!1),a||(a=ka(o,()=>pe(()=>e.children)));const c=l();if(c instanceof HTMLHeadElement){const[g,b]=Z(!1),p=()=>b(!0);On(m=>t(c,()=>g()?m():a(),null)),Ar(p)}else{const g=Vi(e.isSVG?"g":"div",e.isSVG),b=r&&g.attachShadow?g.attachShadow({mode:"open"}):g;Object.defineProperty(g,"_$host",{get(){return s.parentNode},configurable:!0}),t(b,a),c.appendChild(g),e.ref&&e.ref(g),Ar(()=>c.removeChild(g))}},void 0,{render:!d}),s}function pd(e,r){const s=pe(e);return pe(()=>{const l=s();switch(typeof l){case"function":return Fr(()=>l(r));case"string":const o=sd.has(l),a=Ot.context?gd():Vi(l,o);return bs(a,r,o),a}})}function yd(e){const[,r]=rs(e,["component"]);return pd(()=>e.component,r)}const vd="modulepreload",kd=function(e){return"/"+e},Ul={},Ln=function(r,s,l){let o=Promise.resolve();if(s&&s.length>0){let d=function(b){return Promise.all(b.map(p=>Promise.resolve(p).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),g=c?.nonce||c?.getAttribute("nonce");o=d(s.map(b=>{if(b=kd(b),b in Ul)return;Ul[b]=!0;const p=b.endsWith(".css"),m=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${b}"]${m}`))return;const S=document.createElement("link");if(S.rel=p?"stylesheet":vd,p||(S.as="script"),S.crossOrigin="",S.href=b,g&&S.setAttribute("nonce",g),document.head.appendChild(S),p)return new Promise((z,ie)=>{S.addEventListener("load",z),S.addEventListener("error",()=>ie(new Error(`Unable to preload CSS for ${b}`)))})}))}function a(d){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=d,window.dispatchEvent(c),!c.defaultPrevented)throw d}return o.then(d=>{for(const c of d||[])c.status==="rejected"&&a(c.reason);return r().catch(a)})};function wd(){let e=new Set;function r(o){return e.add(o),()=>e.delete(o)}let s=!1;function l(o,a){if(s)return!(s=!1);const d={to:o,options:a,defaultPrevented:!1,preventDefault:()=>d.defaultPrevented=!0};for(const c of e)c.listener({...d,from:c.location,retry:g=>{g&&(s=!0),c.navigate(o,{...a,resolve:!1})}});return!d.defaultPrevented}return{subscribe:r,confirm:l}}const $d=/^(?:[a-z0-9]+:)?\/\//i,_d=/^\/+|(\/)\/+$/g,Gi="http://sr";function Ms(e,r=!1){const s=e.replace(_d,"$1");return s?r||/^[?#]/.test(s)?s:"/"+s:""}function na(e,r,s){if($d.test(r))return;const l=Ms(e),o=s&&Ms(s);let a="";return!o||r.startsWith("/")?a=l:o.toLowerCase().indexOf(l.toLowerCase())!==0?a=l+o:a=o,(a||"/")+Ms(r,!a)}function Cd(e,r){if(e==null)throw new Error(r);return e}function Sd(e,r){return Ms(e).replace(/\/*(\*.*)?$/g,"")+Ms(r)}function zi(e){const r={};return e.searchParams.forEach((s,l)=>{r[l]=s}),r}function Td(e,r,s){const[l,o]=e.split("/*",2),a=l.split("/").filter(Boolean),d=a.length;return c=>{const g=c.split("/").filter(Boolean),b=g.length-d;if(b<0||b>0&&o===void 0&&!r)return null;const p={path:d?"":"/",params:{}},m=S=>s===void 0?void 0:s[S];for(let S=0;Sl.localeCompare(e,void 0,{sensitivity:"base"})===0;return r===void 0?!0:typeof r=="string"?s(r):typeof r=="function"?r(e):Array.isArray(r)?r.some(s):r instanceof RegExp?r.test(e):!1}function Ad(e){const[r,s]=e.pattern.split("/*",2),l=r.split("/").filter(Boolean);return l.reduce((o,a)=>o+(a.startsWith(":")?2:3),l.length-(s===void 0?0:1))}function Wi(e){const r=new Map,s=Ls();return new Proxy({},{get(l,o){return r.has(o)||ka(s,()=>r.set(o,pe(()=>e()[o]))),r.get(o)()},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}},ownKeys(){return Reflect.ownKeys(e())}})}function qi(e){let r=/(\/?\:[^\/]+)\?/.exec(e);if(!r)return[e];let s=e.slice(0,r.index),l=e.slice(r.index+r[0].length);const o=[s,s+=r[1]];for(;r=/^(\/\:[^\/]+)\?/.exec(l);)o.push(s+=r[1]),l=l.slice(r[0].length);return qi(l).reduce((a,d)=>[...a,...o.map(c=>c+d)],[])}const Dd=100,Ki=fs(),yl=fs(),Ji=()=>Cd(Rn(Ki),"Make sure your app is wrapped in a "),In=()=>Ji().navigatorFactory(),Bs=()=>Ji().location;function Md(e,r=""){const{component:s,load:l,children:o,metadata:a}=e,d=!o||Array.isArray(o)&&!o.length,c={key:e,component:s,load:l,metadata:a};return Qi(e.path).reduce((g,b)=>{for(const p of qi(b)){const m=Sd(r,p);let S=d?m:m.split("/*",1)[0];S=S.split("/").map(z=>z.startsWith(":")||z.startsWith("*")?z:encodeURIComponent(z)).join("/"),g.push({...c,originalPath:p,pattern:S,matcher:Td(S,!d,e.matchFilters)})}return g},[])}function Pd(e,r=0){return{routes:e,score:Ad(e[e.length-1])*1e4-r,matcher(s){const l=[];for(let o=e.length-1;o>=0;o--){const a=e[o],d=a.matcher(s);if(!d)return null;l.unshift({...d,route:a})}return l}}}function Qi(e){return Array.isArray(e)?e:[e]}function Yi(e,r="",s=[],l=[]){const o=Qi(e);for(let a=0,d=o.length;ad.score-a.score)}function Xi(e,r){for(let s=0,l=e.length;s{const b=e();try{return new URL(b,s)}catch{return console.error(`Invalid path ${b}`),g}},s,{equals:(g,b)=>g.href===b.href}),o=pe(()=>l().pathname),a=pe(()=>l().search,!0),d=pe(()=>l().hash),c=()=>"";return{get pathname(){return o()},get search(){return a()},get hash(){return d()},get state(){return r()},get key(){return c()},query:Wi(Wn(a,()=>zi(l())))}}let Gn;function Nd(e,r,s={}){const{signal:[l,o],utils:a={}}=e,d=a.parsePath||(Y=>Y),c=a.renderPath||(Y=>Y),g=a.beforeLeave||wd(),b=na("",s.base||"");if(b===void 0)throw new Error(`${b} is not a valid base path`);b&&!l().value&&o({value:b,replace:!0,scroll:!1});const[p,m]=Z(!1),S=async Y=>{m(!0);try{await Io(Y)}finally{m(!1)}},[z,ie]=Z(l().value),[ne,W]=Z(l().state),X=Ed(z,ne),I=[],L=Z([]),H={pattern:b,params:{},path:()=>b,outlet:()=>null,resolvePath(Y){return na(b,Y)}};return q(()=>{const{value:Y,state:oe}=l();Fr(()=>{Y!==z()&&S(()=>{Gn="native",ie(Y),W(oe),Ol(),L[1]([])}).then(()=>{Gn=void 0})})}),{base:H,location:X,isRouting:p,renderPath:c,parsePath:d,navigatorFactory:le,beforeLeave:g,preloadRoute:U,submissions:L};function se(Y,oe,_){Fr(()=>{if(typeof oe=="number"){oe&&(a.go?g.confirm(oe,_)&&a.go(oe):console.warn("Router integration does not support relative routing"));return}const{replace:B,resolve:$,scroll:D,state:f}={replace:!1,resolve:!0,scroll:!0,..._},j=$?Y.resolvePath(oe):na("",oe);if(j===void 0)throw new Error(`Path '${oe}' is not a routable path`);if(I.length>=Dd)throw new Error("Too many redirects");const K=z();if((j!==K||f!==ne())&&!xd){if(g.confirm(j,_)){const C=I.push({value:K,replace:B,scroll:D,state:ne()});S(()=>{Gn="navigate",ie(j),W(f),Ol(),L[1]([])}).then(()=>{I.length===C&&(Gn=void 0,ee({value:j,state:f}))})}}})}function le(Y){return Y=Y||Rn(yl)||H,(oe,_)=>se(Y,oe,_)}function ee(Y){const oe=I[0];oe&&((Y.value!==oe.value||Y.state!==oe.state)&&o({...Y,replace:oe.replace,scroll:oe.scroll}),I.length=0)}function U(Y,oe){const _=Xi(r(),Y.pathname),B=Gn;Gn="preload";for(let $ in _){const{route:D,params:f}=_[$];D.component&&D.component.preload&&D.component.preload(),oe&&D.load&&D.load({params:f,location:{pathname:Y.pathname,search:Y.search,hash:Y.hash,query:zi(Y),state:null,key:""},intent:"preload"})}Gn=B}}function Od(e,r,s,l,o){const{base:a,location:d}=e,{pattern:c,component:g,load:b}=l().route,p=pe(()=>l().path);g&&g.preload&&g.preload();const m=b?b({params:o,location:d,intent:Gn||"initial"}):void 0;return{parent:r,pattern:c,path:p,params:o,outlet:()=>g?n(g,{params:o,location:d,data:m,get children(){return s()}}):s(),resolvePath(z){return na(a.path(),z,p())}}}const Ld=e=>r=>{const{base:s}=r,l=pl(()=>r.children),o=pe(()=>Yi(r.root?{component:r.root,children:l()}:l(),r.base||"")),a=Nd(e,o,{base:s});return e.create&&e.create(a),n(Ki.Provider,{value:a,get children(){return n(Rd,{routerState:a,get branches(){return o()}})}})};function Rd(e){const r=pe(()=>Xi(e.branches,e.routerState.location.pathname)),s=Wi(()=>{const d=r(),c={};for(let g=0;g{let b=c&&d.length===c.length;const p=[];for(let m=0,S=d.length;m{l[m]=ne,p[m]=Od(e.routerState,p[m-1]||e.routerState.base,Id(()=>a()[m+1]),()=>r()[m],s)}))}return l.splice(d.length).forEach(m=>m()),g&&b?g:(o=p[0],p)}));return n(h,{get when(){return a()&&o},keyed:!0,children:d=>n(yl.Provider,{value:d,get children(){return d.outlet()}})})}const Id=e=>()=>n(h,{get when(){return e()},keyed:!0,children:r=>n(yl.Provider,{value:r,get children(){return r.outlet()}})}),pn=e=>{const r=pl(()=>e.children);return kr(e,{get children(){return r()}})};function Hd([e,r],s,l){return[e,l?o=>r(l(o)):r]}function Ud(e){if(e==="#")return null;try{return document.querySelector(e)}catch{return null}}function Bd(e){let r=!1;const s=o=>typeof o=="string"?{value:o}:o,l=Hd(Z(s(e.get()),{equals:(o,a)=>o.value===a.value}),void 0,o=>(!r&&e.set(o),o));return e.init&&Ar(e.init((o=e.get())=>{r=!0,l[1](s(o)),r=!1})),Ld({signal:l,create:e.create,utils:e.utils})}function jd(e,r,s){return e.addEventListener(r,s),()=>e.removeEventListener(r,s)}function Fd(e,r){const s=Ud(`#${e}`);s?s.scrollIntoView():r&&window.scrollTo(0,0)}const ha=Symbol("store-raw"),ds=Symbol("store-node"),Mn=Symbol("store-has"),Zi=Symbol("store-self");function eo(e){let r=e[vn];if(!r&&(Object.defineProperty(e,vn,{value:r=new Proxy(e,zd)}),!Array.isArray(e))){const s=Object.keys(e),l=Object.getOwnPropertyDescriptors(e);for(let o=0,a=s.length;oe[vn][r]),s}function to(e){rl()&&Is(fa(e,ds),Zi)()}function Gd(e){return to(e),Reflect.ownKeys(e)}const zd={get(e,r,s){if(r===ha)return e;if(r===vn)return s;if(r===oa)return to(e),s;const l=fa(e,ds),o=l[r];let a=o?o():e[r];if(r===ds||r===Mn||r==="__proto__")return a;if(!o){const d=Object.getOwnPropertyDescriptor(e,r);rl()&&(typeof a!="function"||e.hasOwnProperty(r))&&!(d&&d.get)&&(a=Is(l,r,a)())}return us(a)?eo(a):a},has(e,r){return r===ha||r===vn||r===oa||r===ds||r===Mn||r==="__proto__"?!0:(rl()&&Is(fa(e,Mn),r)(),r in e)},set(){return!0},deleteProperty(){return!0},ownKeys:Gd,getOwnPropertyDescriptor:Vd};function hs(e,r,s,l=!1){if(!l&&e[r]===s)return;const o=e[r],a=e.length;s===void 0?(delete e[r],e[Mn]&&e[Mn][r]&&o!==void 0&&e[Mn][r].$()):(e[r]=s,e[Mn]&&e[Mn][r]&&o===void 0&&e[Mn][r].$());let d=fa(e,ds),c;if((c=Is(d,r,o))&&c.$(()=>s),Array.isArray(e)&&e.length!==a){for(let g=e.length;g1){l=r.shift();const d=typeof l,c=Array.isArray(e);if(Array.isArray(l)){for(let g=0;g1){Ts(e[l],r,[l].concat(s));return}o=e[l],s=[l].concat(s)}let a=r[0];typeof a=="function"&&(a=a(o,s),a===o)||l===void 0&&a==null||(a=gs(a),l===void 0||us(o)&&us(a)&&!Array.isArray(a)?ro(o,a):hs(e,l,a))}function Ps(...[e,r]){const s=gs(e||{}),l=Array.isArray(s),o=eo(s);function a(...d){Lo(()=>{l&&d.length===1?Wd(s,d[0]):Ts(s,d)})}return[o,a]}const ma=new WeakMap,no={get(e,r){if(r===ha)return e;const s=e[r];let l;return us(s)?ma.get(s)||(ma.set(s,l=new Proxy(s,no)),l):s},set(e,r,s){return hs(e,r,gs(s)),!0},deleteProperty(e,r){return hs(e,r,void 0,!0),!0}};function qd(e){return r=>{if(us(r)){let s;(s=ma.get(r))||ma.set(r,s=new Proxy(r,no)),e(s)}return r}}const Kd=new Map;function Jd(e=!0,r=!1,s="/_server"){return l=>{const o=l.base.path(),a=l.navigatorFactory(l.base);let d={};function c(ie){return ie.namespaceURI==="http://www.w3.org/2000/svg"}function g(ie){if(ie.defaultPrevented||ie.button!==0||ie.metaKey||ie.altKey||ie.ctrlKey||ie.shiftKey)return;const ne=ie.composedPath().find(se=>se instanceof Node&&se.nodeName.toUpperCase()==="A");if(!ne||r&&!ne.hasAttribute("link"))return;const W=c(ne),X=W?ne.href.baseVal:ne.href;if((W?ne.target.baseVal:ne.target)||!X&&!ne.hasAttribute("state"))return;const L=(ne.getAttribute("rel")||"").split(/\s+/);if(ne.hasAttribute("download")||L&&L.includes("external"))return;const H=W?new URL(X,document.baseURI):new URL(X);if(!(H.origin!==window.location.origin||o&&H.pathname&&!H.pathname.toLowerCase().startsWith(o.toLowerCase())))return[ne,H]}function b(ie){const ne=g(ie);if(!ne)return;const[W,X]=ne,I=l.parsePath(X.pathname+X.search+X.hash),L=W.getAttribute("state");ie.preventDefault(),a(I,{resolve:!1,replace:W.hasAttribute("replace"),scroll:!W.hasAttribute("noscroll"),state:L&&JSON.parse(L)})}function p(ie){const ne=g(ie);if(!ne)return;const[W,X]=ne;d[X.pathname]||l.preloadRoute(X,W.getAttribute("preload")!=="false")}function m(ie){const ne=g(ie);if(!ne)return;const[W,X]=ne;d[X.pathname]||(d[X.pathname]=setTimeout(()=>{l.preloadRoute(X,W.getAttribute("preload")!=="false"),delete d[X.pathname]},200))}function S(ie){const ne=g(ie);if(!ne)return;const[,W]=ne;d[W.pathname]&&(clearTimeout(d[W.pathname]),delete d[W.pathname])}function z(ie){let ne=ie.submitter&&ie.submitter.hasAttribute("formaction")?ie.submitter.getAttribute("formaction"):ie.target.getAttribute("action");if(!ne)return;if(!ne.startsWith("https://action/")){const X=new URL(ne,Gi);if(ne=l.parsePath(X.pathname+X.search),!ne.startsWith(s))return}if(ie.target.method.toUpperCase()!=="POST")throw new Error("Only POST forms are supported for Actions");const W=Kd.get(ne);if(W){ie.preventDefault();const X=new FormData(ie.target);ie.submitter&&ie.submitter.name&&X.append(ie.submitter.name,ie.submitter.value),W.call(l,X)}}Xt(["click","submit"]),document.addEventListener("click",b),e&&(document.addEventListener("mouseover",m),document.addEventListener("mouseout",S),document.addEventListener("focusin",p),document.addEventListener("touchstart",p)),document.addEventListener("submit",z),Ar(()=>{document.removeEventListener("click",b),e&&(document.removeEventListener("mouseover",m),document.removeEventListener("mouseout",S),document.removeEventListener("focusin",p),document.removeEventListener("touchstart",p)),document.removeEventListener("submit",z)})}}function Qd(e){return Bd({get:()=>({value:window.location.pathname+window.location.search+window.location.hash,state:history.state}),set({value:r,replace:s,scroll:l,state:o}){s?window.history.replaceState(o,"",r):window.history.pushState(o,"",r),Fd(window.location.hash.slice(1),l)},init:r=>jd(window,"popstate",()=>r()),create:Jd(e.preload,e.explicitLinks,e.actionBase),utils:{go:r=>window.history.go(r)}})(e)}function qs(e){const r=In(),s=Bs(),{href:l,state:o}=e,a=typeof l=="function"?l({navigate:r,location:s}):l;return r(a,{replace:!0,state:o}),null}const Sr={debug:(e,r)=>{},info:(e,r)=>{(e.includes("established")||e.includes("error")||e.includes("failed"))&&console.log(`[INFO] ${e}`,r||"")},warn:(e,r)=>{console.warn(`[WARN] ${e}`,r||"")},error:(e,r)=>{console.error(`[ERROR] ${e}`,r||"")}},so=Sr.error,xa={RECONNECT_BASE:1e3,RECONNECT_MAX:3e4,DATA_FLASH:1e3,TOAST_DURATION:5e3},$s={PING_INTERVAL:25e3,MESSAGE_TYPES:{INITIAL_STATE:"initialState",RAW_DATA:"rawData",ERROR:"error"}},_n={DARK_MODE:"darkMode",VIEW_MODE:"viewMode",DISPLAY_MODE:"displayMode",SORT_KEY:"sortKey",SORT_DIRECTION:"sortDirection",ALERT_THRESHOLDS:"alertThresholds",ACTIVE_TAB:"activeTab"},[Yd,Bl]=Ps([]),Yt={notifications:Yd,add:e=>{const r=Date.now().toString();return Bl(s=>[...s,{...e,id:r}]),e.duration&&e.duration>0&&setTimeout(()=>{Yt.remove(r)},e.duration),r},remove:e=>{Bl(r=>r.filter(s=>s.id!==e))},success:(e,r=5e3)=>Yt.add({message:e,type:"success",duration:r}),error:(e,r=1e4)=>Yt.add({message:e,type:"error",duration:r}),info:(e,r=5e3)=>Yt.add({message:e,type:"info",duration:r})};class Xd{handlers=new Map;on(r,s){return this.handlers.has(r)||this.handlers.set(r,new Set),this.handlers.get(r).add(s),()=>{this.handlers.get(r)?.delete(s)}}off(r,s){this.handlers.get(r)?.delete(s)}emit(r,s){const l=this.handlers.get(r);l&&l.forEach(o=>o(s))}}const dn=new Xd;function Zd(e){const[r,s]=Z(!1),[l,o]=Z(!1),[a,d]=Z(!1),[c,g]=Ps({nodes:[],vms:[],containers:[],dockerHosts:[],storage:[],cephClusters:[],physicalDisks:[],pbs:[],pmg:[],metrics:[],pveBackups:{backupTasks:[],storageBackups:[],guestSnapshots:[]},pbsBackups:[],performance:{apiCallDuration:{},lastPollDuration:0,pollingStartTime:"",totalApiCalls:0,failedApiCalls:0,cacheHits:0,cacheMisses:0},connectionHealth:{},stats:{startTime:new Date().toISOString(),uptime:0,pollingCycles:0,webSocketClients:0,version:"2.0.0"},activeAlerts:[],recentlyResolved:[],lastUpdate:""}),[b,p]=Ps({}),[m,S]=Ps({}),[z,ie]=Z(null);let ne=0,W=!1;const X=new Map;let I=null,L,H,se=0,le=!1;const ee=xa.RECONNECT_MAX,U=xa.RECONNECT_BASE,Y=3e4,oe=()=>{try{if(I&&((I.readyState===WebSocket.OPEN||I.readyState===WebSocket.CONNECTING)&&I.close(1e3,"Reconnecting"),I=null),se>0){const $=Math.min(100*se,1e3);setTimeout(()=>{I=new WebSocket(e),B()},$);return}I=new WebSocket(e),B()}catch($){Sr.error("Failed to create WebSocket",$),_()}},_=()=>{if(le)return;le=!0,o(!0),L&&(window.clearTimeout(L),L=0);const $=Math.min(U*Math.pow(2,se),ee);Sr.info(`Reconnecting in ${$}ms (attempt ${se+1})`),se++,L=window.setTimeout(()=>{le=!1,oe()},$)},B=()=>{I&&(I.onopen=()=>{s(!0),o(!1),se=0,le=!1,ne=0,W=!1,H&&window.clearInterval(H),H=window.setInterval(()=>{I&&I.readyState===WebSocket.OPEN&&I.send(JSON.stringify({type:"ping",data:{timestamp:Date.now()}}))},Y)},I.onmessage=$=>{let D;try{D=JSON.parse($.data)}catch(f){Sr.error("Failed to parse WebSocket message",f);return}try{const f=D;if(f.type===$s.MESSAGE_TYPES.INITIAL_STATE||f.type===$s.MESSAGE_TYPES.RAW_DATA){if(f.data){if(f.type===$s.MESSAGE_TYPES.INITIAL_STATE&&d(!0),f.data.nodes!==void 0&&(console.log("[WebSocket] Updating nodes:",f.data.nodes?.length||0),g("nodes",f.data.nodes)),f.data.vms!==void 0){const j=f.data.vms.map(K=>{const C=K.tags;let ge;return C&&typeof C=="string"&&C.trim()?ge=C.split(",").map(J=>J.trim()).filter(J=>J.length>0):Array.isArray(C)?ge=C.filter(J=>typeof J=="string"&&J.trim().length>0):ge=[],{...K,tags:ge}});g("vms",j)}if(f.data.containers!==void 0){const j=f.data.containers.map(K=>{const C=K.tags;let ge;return C&&typeof C=="string"&&C.trim()?ge=C.split(",").map(J=>J.trim()).filter(J=>J.length>0):Array.isArray(C)?ge=C.filter(J=>typeof J=="string"&&J.trim().length>0):ge=[],{...K,tags:ge}});g("containers",j)}if(f.data.dockerHosts!==void 0&&f.data.dockerHosts!==null)if(Array.isArray(f.data.dockerHosts)){const j=f.data.dockerHosts;j.length===0?(ne+=1,!W||ne>=3||f.type===$s.MESSAGE_TYPES.INITIAL_STATE?(console.log("[WebSocket] Updating dockerHosts:",j.length,"hosts"),g("dockerHosts",j)):console.debug("[WebSocket] Skipping transient empty dockerHosts payload",ne)):(ne=0,W=!0,console.log("[WebSocket] Updating dockerHosts:",j.length,"hosts"),g("dockerHosts",j))}else console.warn("[WebSocket] Received non-array dockerHosts:",typeof f.data.dockerHosts);else f.data.dockerHosts===null&&console.log("[WebSocket] Received null dockerHosts, ignoring");if(f.data.storage!==void 0&&g("storage",f.data.storage),f.data.cephClusters!==void 0&&g("cephClusters",f.data.cephClusters),f.data.pbs!==void 0&&g("pbs",f.data.pbs),f.data.pmg!==void 0&&g("pmg",f.data.pmg),f.data.pbsBackups!==void 0&&g("pbsBackups",f.data.pbsBackups),f.data.metrics!==void 0&&g("metrics",f.data.metrics),f.data.pveBackups!==void 0&&g("pveBackups",f.data.pveBackups),f.data.performance!==void 0&&g("performance",f.data.performance),f.data.connectionHealth!==void 0&&g("connectionHealth",f.data.connectionHealth),f.data.stats!==void 0&&g("stats",f.data.stats),f.data.physicalDisks!==void 0&&g("physicalDisks",f.data.physicalDisks),f.data.activeAlerts!==void 0){const j={};f.data.activeAlerts&&Array.isArray(f.data.activeAlerts)&&f.data.activeAlerts.forEach(C=>{j[C.id]=C}),Object.keys(b).forEach(C=>{j[C]||p(C,void 0)}),Object.entries(j).forEach(([C,ge])=>{if(X.has(C)){const J=X.get(C);if(J.ack){if(!ge.acknowledged){Sr.debug(`Skipping update for alert ${C} - awaiting server acknowledgment confirmation`);return}const N=ge.ackTime||"",F=J.previousAckTime||"";N===F&&Sr.debug(`Server ack time for alert ${C} unchanged (${N}); treating as confirmed`)}else if(ge.acknowledged){Sr.debug(`Skipping update for alert ${C} - awaiting server unacknowledge confirmation`);return}X.delete(C)}p(C,ge)}),g("activeAlerts",f.data.activeAlerts)}if(f.data.recentlyResolved!==void 0){const j={};f.data.recentlyResolved&&Array.isArray(f.data.recentlyResolved)&&f.data.recentlyResolved.forEach(C=>{j[C.id]=C}),Object.keys(m).forEach(C=>{j[C]||S(C,void 0)}),Object.entries(j).forEach(([C,ge])=>{S(C,ge)})}g("lastUpdate",f.data.lastUpdate||new Date().toISOString())}Sr.debug("message",{type:f.type,hasData:!!f.data,nodeCount:f.data?.nodes?.length||0,vmCount:f.data?.vms?.length||0,containerCount:f.data?.containers?.length||0})}else if(f.type===$s.MESSAGE_TYPES.ERROR)Sr.debug("error",f.error);else if(f.type==="ping")I&&I.readyState===WebSocket.OPEN&&I.send(JSON.stringify({type:"pong",data:{timestamp:Date.now()}}));else if(f.type==="pong")Sr.debug("Received pong from server");else if(f.type==="welcome")Sr.info("WebSocket connection established");else if(f.type==="alert")Sr.warn("New alert received (will sync with next state update)",f.data);else if(f.type==="alertResolved")Sr.info("Alert resolved (will sync with next state update)",{alertId:f.data.alertId});else if(f.type==="update:progress")ie(f.data),Sr.info("Update progress:",f.data);else if(f.type==="node_auto_registered"){const j=f.data,K=j.name||j.host,C=j.type==="pve"?"Proxmox VE":"Proxmox Backup Server";Yt.success(`🎉 ${C} node "${K}" was successfully auto-registered and is now being monitored!`,8e3),Sr.info("Node auto-registered:",j),dn.emit("node_auto_registered",j),dn.emit("refresh_nodes")}else f.type==="node_deleted"||f.type==="nodes_changed"?dn.emit("refresh_nodes"):f.type==="discovery_update"?dn.emit("discovery_updated",f.data):f.type==="discovery_started"?dn.emit("discovery_status",{scanning:!0,subnet:f.data?.subnet,timestamp:f.data?.timestamp}):f.type==="discovery_complete"?dn.emit("discovery_status",{scanning:!1,timestamp:f.data?.timestamp}):f.type==="settingsUpdate"&&f.data?.theme&&(dn.emit("theme_changed",f.data.theme),Sr.info("Theme update received via WebSocket:",f.data.theme))}catch(f){Sr.error("Failed to process WebSocket message",f)}},I.onclose=$=>{Sr.debug("disconnect",{code:$.code,reason:$.reason}),s(!1),d(!1),H&&(window.clearInterval(H),H=0),!($.code===1e3&&$.reason==="Reconnecting")&&_()},I.onerror=$=>{r()})};return oe(),Ar(()=>{window.clearTimeout(L),window.clearInterval(H),I&&I.close(1e3,"Component unmounting")}),{state:c,activeAlerts:b,recentlyResolved:m,connected:r,reconnecting:l,initialDataReceived:a,updateProgress:z,reconnect:()=>{I?.close(),window.clearTimeout(L),se=0,oe()},removeAlerts:$=>{const D=[];Object.entries(b).forEach(([f,j])=>{if(!j){D.push(f);return}try{$(j)&&(X.delete(f),D.push(f))}catch(K){Sr.error("Failed to evaluate alert removal predicate",K)}}),D.length>0&&p(qd(f=>{D.forEach(j=>{delete f[j]})}))},updateAlert:($,D)=>{const f=b[$];if(f){if("acknowledged"in D){const j=f.ackTime;X.set($,{ack:!!D.acknowledged,previousAckTime:j}),setTimeout(()=>{X.has($)&&(Sr.warn(`Clearing stale pending ack change for alert ${$}`),X.delete($),Yt.error("Server did not confirm the alert acknowledgment in time. Re-syncing from latest data."))},15e3)}p($,{...f,...D})}}}}function Na(){if(!window.__pulseWsStore){const r=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`;window.__pulseWsStore=Zd(r)}return window.__pulseWsStore}function Zt(e,r=1){if(!e||e<0)return"0 B";const s=1024,l=["B","KB","MB","GB","TB","PB"],o=Math.floor(Math.log(e)/Math.log(s));return`${(e/Math.pow(s,o)).toFixed(r)} ${l[o]}`}function ec(e,r=0){return!e||e<0?"0 B/s":`${Zt(e,r)}/s`}function js(e){if(!e||e<0)return"0s";const r=Math.floor(e/86400),s=Math.floor(e%86400/3600),l=Math.floor(e%3600/60);return r>0?`${r}d ${s}h`:s>0?`${s}h ${l}m`:`${l}m`}function ao(e){if(!e)return"";const r=new Date(e),l=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][r.getMonth()],o=r.getDate(),a=r.getHours().toString().padStart(2,"0"),d=r.getMinutes().toString().padStart(2,"0");return`${o} ${l} ${a}:${d}`}function An(e){if(!e)return"";const s=Date.now()-e;if(isNaN(s)||!isFinite(s))return"";if(s<0)return"0s ago";const l=Math.floor(s/1e3),o=Math.floor(l/60),a=Math.floor(o/60),d=Math.floor(a/24),c=Math.floor(d/30),g=Math.floor(d/365);return l<60?`${l}s ago`:o<60?o===1?"1 min ago":`${o} mins ago`:a<24?a===1?"1 hour ago":`${a} hours ago`:d<30?d===1?"1 day ago":`${d} days ago`:c<12?c===1?"1 month ago":`${c} months ago`:g===1?"1 year ago":`${g} years ago`}var tc=i('
');function un(e){const r=pe(()=>Math.min(e.value,100)),s=pe(()=>{const a=e.value,d=e.type||"generic";return d==="cpu"?a>=90?"red":a>=80?"yellow":"green":d==="memory"?a>=85?"red":a>=75?"yellow":"green":d==="disk"?a>=90?"red":a>=80?"yellow":"green":a>=90?"red":a>=75?"yellow":"green"}),l=pe(()=>({red:"bg-red-500/60 dark:bg-red-500/50",yellow:"bg-yellow-500/60 dark:bg-yellow-500/50",green:"bg-green-500/60 dark:bg-green-500/50"})[s()]||"bg-gray-500/60 dark:bg-gray-500/50"),o=pe(()=>e.sublabel?`${e.label} (${e.sublabel})`:e.label);return(()=>{var a=tc(),d=a.firstChild,c=d.firstChild,g=c.nextSibling,b=g.firstChild;return t(b,o),q(p=>{var m=`absolute top-0 left-0 h-full ${l()}`,S=`${r()}%`;return m!==p.e&&y(c,p.e=m),S!==p.t&&((p.t=S)!=null?c.style.setProperty("width",S):c.style.removeProperty("width")),p},{e:void 0,t:void 0}),a})()}var rc=i("
"),nc=i("");const sc=e=>{const[r,s]=Z(e.value),[l,o]=Z(e.value),[a,d]=Z(!1),[c,g]=Z("");let b,p=!1;ft(()=>{const S=e.value,z=r();if(!p){p=!0,s(S),o(S);return}S!==z&&(clearTimeout(b),o(z),d(!0),S>z?(g("up"),console.log("[AnimatedMetric] Going UP:",z,"->",S)):(g("down"),console.log("[AnimatedMetric] Going DOWN:",z,"->",S)),s(S),b=window.setTimeout(()=>{d(!1),g("")},500))}),Ar(()=>clearTimeout(b));const m=e.formatter||(S=>Zt(S)+"/s");return(()=>{var S=rc(),z=S.firstChild;return t(S,(()=>{var ie=$e(()=>!!a());return()=>ie()&&(()=>{var ne=nc();return t(ne,()=>m(l())),q(()=>y(ne,`metric-ghost metric-ghost-${c()}`)),ne})()})(),z),t(z,()=>m(r())),q(()=>y(z,`metric-value ${a()?`metric-entering-${c()}`:""}`)),S})()};var ac=i("
"),lc=i('
-');function Ks(e){const r=()=>typeof e.value=="function"?e.value():e.value,[s,l]=Z(r()||0);ft(()=>{const a=r()||0,d=s();a!==d&&l(a)});const o=pe(()=>{if(e.disabled)return"text-gray-400 dark:text-gray-500";const a=s()/(1024*1024);return a<1?"text-gray-300 dark:text-gray-400":a<10?"text-green-600 dark:text-green-400":a<50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"});return n(h,{get when(){return!e.disabled},get fallback(){return lc()},get children(){var a=ac();return t(a,n(sc,{get value(){return s()},formatter:d=>ec(d,0)})),q(()=>y(a,`min-h-[24px] text-sm font-mono ${o()} flex items-center`)),a}})}function lo(e){let r=0;for(let s=0;s ');function uc(e){return e.replace(/<[^>]*>/g,"").replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const gc=e=>{let r;const[s,l]=Z({left:0,top:0});return ft(()=>{if(!e.visible){l({left:e.x,top:e.y});return}requestAnimationFrame(()=>{if(!r)return;const o=r.getBoundingClientRect(),a=8;let d=e.x,c=e.y;const g=e.align??"center",b=e.direction??"up";g==="center"&&(d=e.x-o.width/2),b==="up"?c=e.y-o.height-a:c=e.y+a;const p=4,m=window.innerWidth-o.width-p,S=window.innerHeight-o.height-p;d=Math.min(Math.max(d,p),Math.max(m,p)),c=Math.min(Math.max(c,p),Math.max(S,p)),l({left:d,top:c})})}),n(h,{get when(){return e.visible},get children(){return n(ps,{get mount(){return document.body},get children(){var o=cc(),a=o.firstChild,d=r;return typeof d=="function"?fr(d,o):r=o,o.style.setProperty("transition","opacity 120ms ease-out"),q(c=>{var g=`${s().left}px`,b=`${s().top}px`,p=`${e.maxWidth??240}px`,m=e.visible?"1":"0",S=uc(e.content);return g!==c.e&&((c.e=g)!=null?o.style.setProperty("left",g):o.style.removeProperty("left")),b!==c.t&&((c.t=b)!=null?o.style.setProperty("top",b):o.style.removeProperty("top")),p!==c.a&&((c.a=p)!=null?o.style.setProperty("max-width",p):o.style.removeProperty("max-width")),m!==c.o&&((c.o=m)!=null?o.style.setProperty("opacity",m):o.style.removeProperty("opacity")),S!==c.i&&(a.data=c.i=S),c},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),o}})}})};let vl=null;function hc(){const[e,r]=Z(!1),[s,l]=Z(""),[o,a]=Z({x:0,y:0}),[d,c]=Z({});return vl={show:(g,b,p,m)=>{l(g),a({x:b,y:p}),c(m||{}),r(!0)},hide:()=>{r(!1)}},()=>n(gc,{get content(){return s()},get x(){return o().x},get y(){return o().y},get visible(){return e()},get align(){return d().align},get direction(){return d().direction},get maxWidth(){return d().maxWidth}})}function Xn(e,r,s,l){vl?.show(e,r,s,l)}function Cn(){vl?.hide()}var fc=i('
'),mc=i('
+'),xc=i('
');const bc=e=>{const r=()=>e.maxVisible??3,s=Hw(),l=()=>e.isDarkMode??s(),o=()=>e.tags?.slice(0,r())||[],a=()=>e.tags?.slice(r())||[],d=c=>{const g=()=>dc(c.tag,l()),b=()=>e.activeSearch?.includes(`tags:${c.tag}`)||!1;return(()=>{var p=fc(),m=p.firstChild;return p.$$click=S=>{S.stopPropagation(),e.onTagClick?.(c.tag)},p.addEventListener("mouseleave",()=>{Cn()}),p.addEventListener("mouseenter",S=>{const z=S.currentTarget.getBoundingClientRect();Xn(c.tag,z.left+z.width/2,z.top,{align:"center",direction:"up"})}),q(S=>{var z=g().bg,ie=b()?l()?"0 0 0 2.5px rgba(255, 255, 255, 0.9)":"0 0 0 2.5px rgba(0, 0, 0, 0.8)":"none";return z!==S.e&&((S.e=z)!=null?m.style.setProperty("background-color",z):m.style.removeProperty("background-color")),ie!==S.t&&((S.t=ie)!=null?m.style.setProperty("box-shadow",ie):m.style.removeProperty("box-shadow")),S},{e:void 0,t:void 0}),p})()};return n(h,{get when(){return e.tags&&e.tags.length>0},get children(){var c=xc();return t(c,n(ze,{get each(){return o()},children:g=>n(d,{tag:g})}),null),t(c,n(h,{get when(){return a().length===1},get children(){return n(d,{get tag(){return a()[0]}})}}),null),t(c,n(h,{get when(){return a().length>1},get children(){var g=mc(),b=g.firstChild;return b.firstChild,g.addEventListener("mouseleave",()=>{Cn()}),g.addEventListener("mouseenter",p=>{const m=p.currentTarget.getBoundingClientRect(),S=a().join(` `);S&&Xn(S,m.left+m.width/2,m.top,{align:"center",direction:"up",maxWidth:260})}),t(b,()=>a().length,null),g}}),null),c}})};Xt(["click"]);var pc=i('
'),yc=i('-'),vc=i('
');function kc(e){const r=o=>!o.total||o.total<=0?0:o.used/o.total*100,s=o=>o>=90?"bg-red-500/60 dark:bg-red-500/50":o>=80?"bg-yellow-500/60 dark:bg-yellow-500/50":"bg-green-500/60 dark:bg-green-500/50",l=()=>{switch(e.diskStatusReason){case"agent-not-running":return"Guest agent not running. Install and start qemu-guest-agent in the VM.";case"agent-timeout":return"Guest agent timeout. Agent may need to be restarted.";case"permission-denied":return"Permission denied. Check that your Pulse user/token has VM.Monitor permission (PVE 8) or VM.GuestAgent.Audit permission (PVE 9).";case"agent-disabled":return"Guest agent is disabled in VM configuration. Enable it in VM Options.";case"no-filesystems":return"No filesystems found. VM may be booting or using a Live ISO.";case"special-filesystems-only":return"Only special filesystems detected (ISO/squashfs). This is normal for Live systems.";case"agent-error":return"Error communicating with guest agent.";case"no-data":return"No disk data available from Proxmox API.";default:return"Disk stats unavailable. Guest agent may not be installed."}};return n(h,{get when(){return e.disks&&e.disks.length>0},get fallback(){return(()=>{var o=yc();return q(()=>Te(o,"title",l())),o})()},get children(){var o=pc();return t(o,n(ze,{get each(){return e.disks},children:a=>{const d=r(a),c=a.mountpoint||a.device||"Unknown",g=a.total&&a.total>0;return(()=>{var b=vc(),p=b.firstChild,m=p.nextSibling,S=m.nextSibling,z=S.firstChild,ie=S.nextSibling,ne=ie.firstChild,W=ne.nextSibling;return Te(p,"title",c!=="Unknown"?c:void 0),t(p,c),t(m,()=>g?`${Zt(a.used)}/${Zt(a.total)}`:"Usage unavailable"),t(ne,()=>g?`${d.toFixed(0)}%`:"—"),t(W,()=>a.type?.toUpperCase()??""),q(X=>{var I=`absolute inset-y-0 left-0 ${s(d)}`,L=`${Math.min(d,100)}%`;return I!==X.e&&y(z,X.e=I),L!==X.t&&((X.t=L)!=null?z.style.setProperty("width",L):z.style.removeProperty("width")),X},{e:void 0,t:void 0}),b})()}})),o}})}const wc="online",$c="running";function _c(e){if(!e||e.status!==wc||(e.uptime??0)<=0)return!1;const r=e.connectionHealth;return!(r==="offline"||r==="error")}function io(e,r=!0){return!e||!r?!1:e.status===$c}function Cc(e,r=!0){return io(e,r)}var Sc=i(''),Tc=i('Lock: '),Ac=i('
'),Dc=i(""),Mc=i('•'),Pc=i(""),Ec=i('
'),jl=i('
'),Nc=i('
Guest Overview
'),Oc=i('
Memory
'),Lc=i('
Filesystems
'),Rc=i('
Network Interfaces
Row charts show current rate; totals below are cumulative since boot.
'),Ic=i('
'),Hc=i(''),Fl=i('-'),Uc=i('-'),Bc=i("

"),jc=i("

Install and run the qemu-guest-agent inside this VM so Pulse can surface OS, network, and filesystem details."),Fc=i('

Guest details unavailable
'),Vc=i("

Start this container and ensure the Pulse user has sufficient Proxmox permissions to collect guest metrics."),Vl=i(''),Gc=i("

"),zc=i(''),Wc=i('
Total RX Total TX '),qc=i('
');const Js=new Map,Gl=e=>e.id?e.id:e.instance===e.node?`${e.node}-${e.vmid}`:`${e.instance}-${e.node}-${e.vmid}`,Qs=e=>e.type==="qemu";function Kc(e){const[r,s]=Z(e.customUrl),l=Gl(e.guest),[o,a]=Z(Js.get(l)??!1),d=pe(()=>Gl(e.guest)),c=pe(()=>(e.guest.disks?.length??0)>0),g=pe(()=>e.guest.ipAddresses??[]),b=pe(()=>e.guest.networkInterfaces??[]),p=pe(()=>b().length>0),m=pe(()=>e.guest.osName?.trim()??""),S=pe(()=>e.guest.osVersion?.trim()??""),z=pe(()=>m().length>0||S().length>0);ft(()=>{s(e.customUrl)});const ie=pe(()=>(e.guest.cpu||0)*100),ne=pe(()=>e.guest.memory&&e.guest.memory.usage||0),W=pe(()=>{if(!e.guest.memory)return;const F=e.guest.memory.used??0,P=e.guest.memory.total??0;return`${Zt(F)}/${Zt(P)}`}),X=pe(()=>{if(!e.guest.memory)return;const F=[],P=e.guest.memory.total??0;if(e.guest.memory.balloon&&e.guest.memory.balloon>0&&e.guest.memory.balloon!==P&&F.push(`Balloon: ${Zt(e.guest.memory.balloon)}`),e.guest.memory.swapTotal&&e.guest.memory.swapTotal>0){const E=e.guest.memory.swapUsed??0;F.push(`Swap: ${Zt(E)} / ${Zt(e.guest.memory.swapTotal)}`)}return F.length>0?F:void 0}),I=pe(()=>X()?.join(` `)??void 0),L=pe(()=>z()||g().length>0||(X()?.length??0)>0||c()||p()),H=pe(()=>!L()&&(e.guest.type==="qemu"||e.guest.type==="lxc")),se=pe(()=>L()||H());ft(Wn(d,F=>{const P=Js.get(F);a(P!==void 0?P:!1)})),ft(()=>{Js.set(d(),o())}),ft(()=>{!se()&&o()&&(a(!1),Js.set(d(),!1))});const le=F=>{!se()||F.target.closest("a, button, [data-prevent-toggle]")||a(E=>!E)},ee=pe(()=>!e.guest.disk||e.guest.disk.total===0?0:e.guest.disk.usage===-1?-1:e.guest.disk.used/e.guest.disk.total*100),U=pe(()=>!e.guest.disk||e.guest.disk.total<=0?!1:ee()!==-1),Y=pe(()=>e.parentNodeOnline!==!1),oe=pe(()=>io(e.guest,Y())),_=pe(()=>Cc(e.guest,Y())),B=pe(()=>(e.guest.lock||"").trim()),$=()=>{if(!Qs(e.guest))return"Disk stats unavailable";switch(e.guest.diskStatusReason){case"agent-not-running":return"Guest agent not running. Install and start qemu-guest-agent in the VM.";case"agent-timeout":return"Guest agent timeout. Agent may need to be restarted.";case"permission-denied":return"Permission denied. Check that your Pulse user/token has VM.Monitor permission (PVE 8) or VM.GuestAgent.Audit permission (PVE 9).";case"agent-disabled":return"Guest agent is disabled in VM configuration. Enable it in VM Options.";case"no-filesystems":return"No filesystems found. VM may be booting or using a Live ISO.";case"special-filesystems-only":return"Only special filesystems detected (ISO/squashfs). This is normal for Live systems.";case"agent-error":return"Error communicating with guest agent.";case"no-data":return"No disk data available from Proxmox API.";default:return"Disk stats unavailable. Guest agent may not be installed."}},D=pe(()=>!!e.alertStyles?.hasUnacknowledgedAlert),f=pe(()=>!!e.alertStyles?.hasAcknowledgedOnlyAlert),j=pe(()=>D()||f()),K=pe(()=>{if(j())return D()?e.alertStyles?.severity==="critical"?"#ef4444":"#eab308":"#9ca3af"}),C=pe(()=>!oe()),ge=pe(()=>{const F="transition-all duration-200 relative",P="hover:shadow-sm",E=D()?e.alertStyles?.severity==="critical"?"bg-red-50 dark:bg-red-950/30":"bg-yellow-50 dark:bg-yellow-950/20":"",u=D()?"":"hover:bg-gray-50 dark:hover:bg-gray-700/30",v=oe()?"":"opacity-60",V=se()?"cursor-pointer":"",A=o()&&!D()?"bg-gray-50 dark:bg-gray-800/40":"";return`${F} ${P} ${u} ${E} ${v} ${V} ${A}`}),J=pe(()=>"py-0.5 pr-2 whitespace-nowrap relative w-[130px] sm:w-[150px] lg:w-[180px] xl:w-[200px] 2xl:w-[240px] pl-4"),N=pe(()=>{if(!j())return{};const F=K();return F?{"box-shadow":`inset 4px 0 0 0 ${F}`}:{}});return[(()=>{var F=Ac(),P=F.firstChild,E=P.firstChild,u=E.firstChild,v=P.nextSibling,V=v.firstChild,A=V.firstChild,k=v.nextSibling,w=k.nextSibling,de=w.nextSibling,fe=de.nextSibling,x=fe.firstChild,R=fe.nextSibling,Q=R.nextSibling,G=Q.firstChild,T=Q.nextSibling,te=T.firstChild,ae=T.nextSibling,M=ae.firstChild,ce=ae.nextSibling,ue=ce.firstChild;return F.$$click=le,t(E,n(h,{get when(){return r()},get fallback(){return(()=>{var re=Hc();return t(re,()=>e.guest.name),q(()=>Te(re,"title",e.guest.name)),re})()},get children(){var re=Sc();return re.$$click=O=>O.stopPropagation(),t(re,()=>e.guest.name),q(O=>{var xe=r(),he=`${e.guest.name} - Click to open custom URL`;return xe!==O.e&&Te(re,"href",O.e=xe),he!==O.t&&Te(re,"title",O.t=he),O},{e:void 0,t:void 0}),re}}),u),u.$$click=re=>re.stopPropagation(),t(u,n(bc,{get tags(){return Array.isArray(e.guest.tags)?e.guest.tags:[]},maxVisible:3,get onTagClick(){return e.onTagClick},get activeSearch(){return e.activeSearch}})),t(E,n(h,{get when(){return B()},get children(){var re=Tc();return re.firstChild,t(re,B,null),q(()=>Te(re,"title",`Guest is locked (${B()})`)),re}}),null),t(A,()=>Qs(e.guest)?"VM":"LXC"),t(k,()=>e.guest.vmid),t(w,n(h,{get when(){return oe()},fallback:"-",get children(){return js(e.guest.uptime)}})),t(de,n(h,{get when(){return _()},get fallback(){return Fl()},get children(){return n(un,{get value(){return ie()},get label(){return`${ie().toFixed(0)}%`},get sublabel(){return $e(()=>!!e.guest.cpus)()?`${((e.guest.cpu||0)*e.guest.cpus).toFixed(1)}/${e.guest.cpus} cores`:void 0},type:"cpu"})}})),t(x,n(h,{get when(){return _()},get fallback(){return Fl()},get children(){return n(un,{get value(){return ne()},get label(){return`${ne().toFixed(0)}%`},get sublabel(){return W()},type:"memory"})}})),t(R,n(h,{get when(){return U()},get fallback(){return(()=>{var re=Uc();return q(()=>Te(re,"title",$())),re})()},get children(){return n(un,{get value(){return ee()},get label(){return`${ee().toFixed(0)}%`},get sublabel(){return $e(()=>!!e.guest.disk)()?`${Zt(e.guest.disk.used)}/${Zt(e.guest.disk.total)}`:void 0},type:"disk"})}})),t(G,n(Ks,{get value(){return e.guest.diskRead},get disabled(){return!oe()}})),t(te,n(Ks,{get value(){return e.guest.diskWrite},get disabled(){return!oe()}})),t(M,n(Ks,{get value(){return e.guest.networkIn},get disabled(){return!oe()}})),t(ue,n(Ks,{get value(){return e.guest.networkOut},get disabled(){return!oe()}})),q(re=>{var O=ge(),xe=N(),he=o(),me=J(),_e=`inline-block px-1.5 py-0.5 text-xs font-medium rounded ${e.guest.type==="qemu"?"bg-blue-100 text-blue-700 dark:bg-blue-900/50 dark:text-blue-300":"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300"}`,Ce=`py-0.5 px-2 w-[76px] sm:w-[86px] lg:w-[96px] xl:w-[108px] 2xl:w-[128px] text-sm whitespace-nowrap align-middle ${e.guest.uptime<3600?"text-orange-500":"text-gray-600 dark:text-gray-400"}`,Oe=I()??void 0;return O!==re.e&&y(F,re.e=O),re.t=xs(F,xe,re.t),he!==re.a&&Te(F,"aria-expanded",re.a=he),me!==re.o&&y(P,re.o=me),_e!==re.i&&y(A,re.i=_e),Ce!==re.n&&y(w,re.n=Ce),Oe!==re.s&&Te(x,"title",re.s=Oe),re},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0}),F})(),n(h,{get when(){return $e(()=>!!o())()&&se()},get children(){var F=Ic(),P=F.firstChild,E=P.firstChild;return t(E,n(h,{get when(){return L()},get fallback(){return(()=>{var u=Fc(),v=u.firstChild,V=v.nextSibling;return t(V,n(h,{get when(){return Qs(e.guest)},get fallback(){return Vc()},get children(){return[(()=>{var A=Bc();return t(A,$),A})(),jc()]}})),u})()},get children(){return[n(h,{get when(){return z()||g().length>0},get children(){var u=Nc(),v=u.firstChild,V=v.nextSibling;return t(V,n(h,{get when(){return z()},get children(){var A=Ec();return t(A,n(h,{get when(){return m().length>0},get children(){var k=Dc();return t(k,m),q(()=>Te(k,"title",m())),k}}),null),t(A,n(h,{get when(){return $e(()=>m().length>0)()&&S().length>0},get children(){return Mc()}}),null),t(A,n(h,{get when(){return S().length>0},get children(){var k=Pc();return t(k,S),q(()=>Te(k,"title",S())),k}}),null),A}}),null),t(V,n(h,{get when(){return g().length>0},get children(){var A=jl();return t(A,n(ze,{get each(){return g()},children:k=>(()=>{var w=Vl();return t(w,k),w})()})),A}}),null),u}}),n(h,{get when(){return $e(()=>!!X())()&&X().length>0},get children(){var u=Oc(),v=u.firstChild,V=v.nextSibling;return t(V,n(ze,{get each(){return X()},children:A=>(()=>{var k=Gc();return t(k,A),k})()})),u}}),n(h,{get when(){return c()&&e.guest.disks&&e.guest.disks.length>0},get children(){var u=Lc(),v=u.firstChild,V=v.nextSibling;return t(V,n(kc,{get disks(){return e.guest.disks||[]},get diskStatusReason(){return Qs(e.guest)?e.guest.diskStatusReason:void 0}})),u}}),n(h,{get when(){return p()},get children(){var u=Rc(),v=u.firstChild,V=v.nextSibling,A=V.nextSibling;return t(A,n(ze,{get each(){return b()},children:k=>{const w=k.addresses??[],de=(k.rxBytes??0)>0||(k.txBytes??0)>0;return(()=>{var fe=qc(),x=fe.firstChild,R=x.firstChild;return t(R,()=>k.name||"interface"),t(x,n(h,{get when(){return k.mac},get children(){var Q=zc();return t(Q,()=>k.mac),q(()=>Te(Q,"title",k.mac)),Q}}),null),t(fe,n(h,{get when(){return w.length>0},get children(){var Q=jl();return t(Q,n(ze,{each:w,children:G=>(()=>{var T=Vl();return t(T,G),T})()})),Q}}),null),t(fe,n(h,{when:de,get children(){var Q=Wc(),G=Q.firstChild;G.firstChild;var T=G.nextSibling;return T.firstChild,t(G,()=>Zt(k.rxBytes??0),null),t(T,()=>Zt(k.txBytes??0),null),Q}}),null),q(()=>Te(R,"title",k.name)),fe})()}})),u}})]}})),q(u=>{var v=`text-[11px] ${oe()&&e.parentNodeOnline!==!1?"bg-gray-50/60 text-gray-600 dark:bg-gray-800/40 dark:text-gray-300":"bg-gray-100/70 text-gray-400 dark:bg-gray-900/30 dark:text-gray-500"}`,V=!oe()||e.parentNodeOnline===!1,A=`flex flex-wrap gap-3 justify-start ${C()?"opacity-50 saturate-75 pointer-events-none":""}`;return v!==u.e&&y(F,u.e=v),V!==u.t&&Te(F,"aria-hidden",u.t=V),A!==u.a&&y(E,u.a=A),u},{e:void 0,t:void 0,a:void 0}),F}})]}Xt(["click"]);const wa=(e,r)=>{const s=Object.values(r).filter(z=>z.resourceId===e),l=s.filter(z=>!z.acknowledged),o=s.filter(z=>z.acknowledged);let a=null,d=!1,c=!1;l.forEach(z=>{(z.level==="critical"||z.level==="warning"&&a!=="critical")&&(a=z.level),z.type==="powered-off"?d=!0:c=!0});const g=s.length,b=l.length,p=o.length,m=b>0,S=g>0;return a==="critical"?{rowClass:"bg-red-50 dark:bg-red-950/30 border-l-4 border-red-500 dark:border-red-400",indicatorClass:"bg-red-500",badgeClass:"bg-red-100 text-red-800 dark:bg-red-900 dark:text-red-200",hasAlert:S,alertCount:g,severity:"critical",hasPoweredOffAlert:d,hasNonPoweredOffAlert:c,hasUnacknowledgedAlert:m,unacknowledgedCount:b,acknowledgedCount:p,hasAcknowledgedOnlyAlert:!m&&p>0}:a==="warning"?{rowClass:"bg-yellow-50 dark:bg-yellow-950/20 border-l-4 border-yellow-500 dark:border-yellow-400",indicatorClass:"bg-yellow-500",badgeClass:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900 dark:text-yellow-200",hasAlert:S,alertCount:g,severity:"warning",hasPoweredOffAlert:d,hasNonPoweredOffAlert:c,hasUnacknowledgedAlert:m,unacknowledgedCount:b,acknowledgedCount:p,hasAcknowledgedOnlyAlert:!m&&p>0}:{rowClass:"",indicatorClass:"",badgeClass:"",hasAlert:S,alertCount:g,severity:null,hasPoweredOffAlert:d,hasNonPoweredOffAlert:c,hasUnacknowledgedAlert:m,unacknowledgedCount:b,acknowledgedCount:p,hasAcknowledgedOnlyAlert:!m&&p>0}};var Jc=i(''),Qc=i("

"),Yc=i("

");function rr(e){const r=kr({align:"left",size:"md",titleClass:"",descriptionClass:""},e),[s,l]=rs(r,["label","title","description","align","size","titleClass","descriptionClass","class"]),o=s.align==="center"?"text-center items-center":"text-left items-start",a=()=>{switch(s.size){case"sm":return"text-base";case"lg":return"text-2xl";default:return"text-lg"}};return(()=>{var d=Yc(),c=d.firstChild;return bs(d,kr({get class(){return`flex flex-col gap-1 ${o} ${s.class??""}`.trim()}},l),!1,!0),t(d,n(h,{get when(){return s.label},get children(){var g=Jc();return t(g,()=>s.label),g}}),c),t(c,()=>s.title),t(d,n(h,{get when(){return s.description},get children(){var g=Qc();return t(g,()=>s.description),q(()=>y(g,`text-sm text-gray-600 dark:text-gray-400 ${s.descriptionClass??""}`.trim())),g}}),null),q(()=>y(c,`${a()} font-semibold text-gray-900 dark:text-gray-100 ${s.titleClass??""}`.trim())),d})()}var Xc=i('