Files
Containr/app/backend/internal/api/static/assets/index-DwfYiTMH.js
T
2026-04-10 12:02:36 +02:00

2 lines
46 KiB
JavaScript

(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();const Ge=!1,We=(e,t)=>e===t,Se=Symbol("solid-proxy"),Qe=typeof Proxy=="function",Xe=Symbol("solid-track"),de={equals:We};let je=Fe;const J=1,fe=2,Ve={owned:null,cleanups:null,context:null,owner:null},ve={};var S=null;let xe=null,Ye=null,_=null,I=null,q=null,he=0;function ce(e,t){const r=_,n=S,s=e.length===0,i=t===void 0?n:t,o=s?Ve:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=s?e:()=>e(()=>j(()=>re(o)));S=o,_=null;try{return H(a,!0)}finally{_=r,S=n}}function y(e,t){t=t?Object.assign({},de,t):de;const r={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},n=s=>(typeof s=="function"&&(s=s(r.value)),qe(r,s));return[Be.bind(r),n]}function ze(e,t,r){const n=me(e,t,!0,J);z(n)}function L(e,t,r){const n=me(e,t,!1,J);z(n)}function Ee(e,t,r){je=it;const n=me(e,t,!1,J);n.user=!0,q?q.push(n):z(n)}function R(e,t,r){r=r?Object.assign({},de,r):de;const n=me(e,t,!0,0);return n.observers=null,n.observerSlots=null,n.comparator=r.equals||void 0,z(n),Be.bind(n)}function Ze(e){return e&&typeof e=="object"&&"then"in e}function F(e,t,r){let n,s,i;n=!0,s=e,i={};let o=null,a=ve,h=!1,m="initialValue"in i,d=typeof n=="function"&&R(n);const l=new Set,[f,g]=(i.storage||y)(i.initialValue),[b,x]=y(void 0),[V,U]=y(void 0,{equals:!1}),[T,O]=y(m?"ready":"unresolved");function k(w,$,B,N){return o===w&&(o=null,N!==void 0&&(m=!0),(w===a||$===a)&&i.onHydrated&&queueMicrotask(()=>i.onHydrated(N,{value:$})),a=ve,M($,B)),$}function M(w,$){H(()=>{$===void 0&&g(()=>w),O($!==void 0?"errored":m?"ready":"unresolved"),x($);for(const B of l.keys())B.decrement();l.clear()},!1)}function G(){const w=nt,$=f(),B=b();if(B!==void 0&&!o)throw B;return _&&_.user,$}function Z(w=!0){if(w!==!1&&h)return;h=!1;const $=d?d():n;if($==null||$===!1){k(o,j(f));return}let B;const N=a!==ve?a:j(()=>{try{return s($,{value:f(),refetching:w})}catch(te){B=te}});if(B!==void 0){k(o,void 0,ue(B),$);return}else if(!Ze(N))return k(o,N,void 0,$),N;return o=N,"v"in N?(N.s===1?k(o,N.v,void 0,$):k(o,void 0,ue(N.v),$),N):(h=!0,queueMicrotask(()=>h=!1),H(()=>{O(m?"refreshing":"pending"),U()},!1),N.then(te=>k(N,te,void 0,$),te=>k(N,void 0,ue(te),$)))}Object.defineProperties(G,{state:{get:()=>T()},error:{get:()=>b()},loading:{get(){const w=T();return w==="pending"||w==="refreshing"}},latest:{get(){if(!m)return G();const w=b();if(w&&!o)throw w;return f()}}});let ee=S;return d?ze(()=>(ee=S,Z(!1))):Z(!1),[G,{refetch:w=>tt(ee,()=>Z(w)),mutate:g}]}function j(e){if(_===null)return e();const t=_;_=null;try{return e()}finally{_=t}}function et(e){return S===null||(S.cleanups===null?S.cleanups=[e]:S.cleanups.push(e)),e}function tt(e,t){const r=S,n=_;S=e,_=null;try{return H(t,!0)}catch(s){ke(s)}finally{S=r,_=n}}const[rl,nl]=y(!1);function rt(e){const t=R(e),r=R(()=>Ce(t()));return r.toArray=()=>{const n=r();return Array.isArray(n)?n:n!=null?[n]:[]},r}let nt;function Be(){if(this.sources&&this.state)if(this.state===J)z(this);else{const e=I;I=null,H(()=>ge(this),!1),I=e}if(_){const e=this.observers?this.observers.length:0;_.sources?(_.sources.push(this),_.sourceSlots.push(e)):(_.sources=[this],_.sourceSlots=[e]),this.observers?(this.observers.push(_),this.observerSlots.push(_.sources.length-1)):(this.observers=[_],this.observerSlots=[_.sources.length-1])}return this.value}function qe(e,t,r){let n=e.value;return(!e.comparator||!e.comparator(n,t))&&(e.value=t,e.observers&&e.observers.length&&H(()=>{for(let s=0;s<e.observers.length;s+=1){const i=e.observers[s],o=xe&&xe.running;o&&xe.disposed.has(i),(o?!i.tState:!i.state)&&(i.pure?I.push(i):q.push(i),i.observers&&Ke(i)),o||(i.state=J)}if(I.length>1e6)throw I=[],new Error},!1)),t}function z(e){if(!e.fn)return;re(e);const t=he;lt(e,e.value,t)}function lt(e,t,r){let n;const s=S,i=_;_=S=e;try{n=e.fn(t)}catch(o){return e.pure&&(e.state=J,e.owned&&e.owned.forEach(re),e.owned=null),e.updatedAt=r+1,ke(o)}finally{_=i,S=s}(!e.updatedAt||e.updatedAt<=r)&&(e.updatedAt!=null&&"observers"in e?qe(e,n):e.value=n,e.updatedAt=r)}function me(e,t,r,n=J,s){const i={fn:e,state:n,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:S,context:S?S.context:null,pure:r};return S===null||S!==Ve&&(S.owned?S.owned.push(i):S.owned=[i]),i}function pe(e){if(e.state===0)return;if(e.state===fe)return ge(e);if(e.suspense&&j(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<he);)e.state&&t.push(e);for(let r=t.length-1;r>=0;r--)if(e=t[r],e.state===J)z(e);else if(e.state===fe){const n=I;I=null,H(()=>ge(e,t[0]),!1),I=n}}function H(e,t){if(I)return e();let r=!1;t||(I=[]),q?r=!0:q=[],he++;try{const n=e();return st(r),n}catch(n){r||(q=null),I=null,ke(n)}}function st(e){if(I&&(Fe(I),I=null),e)return;const t=q;q=null,t.length&&H(()=>je(t),!1)}function Fe(e){for(let t=0;t<e.length;t++)pe(e[t])}function it(e){let t,r=0;for(t=0;t<e.length;t++){const n=e[t];n.user?e[r++]=n:pe(n)}for(t=0;t<r;t++)pe(e[t])}function ge(e,t){e.state=0;for(let r=0;r<e.sources.length;r+=1){const n=e.sources[r];if(n.sources){const s=n.state;s===J?n!==t&&(!n.updatedAt||n.updatedAt<he)&&pe(n):s===fe&&ge(n,t)}}}function Ke(e){for(let t=0;t<e.observers.length;t+=1){const r=e.observers[t];r.state||(r.state=fe,r.pure?I.push(r):q.push(r),r.observers&&Ke(r))}}function re(e){let t;if(e.sources)for(;e.sources.length;){const r=e.sources.pop(),n=e.sourceSlots.pop(),s=r.observers;if(s&&s.length){const i=s.pop(),o=r.observerSlots.pop();n<s.length&&(i.sourceSlots[o]=n,s[n]=i,r.observerSlots[n]=o)}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)re(e.tOwned[t]);delete e.tOwned}if(e.owned){for(t=e.owned.length-1;t>=0;t--)re(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function ue(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function ke(e,t=S){throw ue(e)}function Ce(e){if(typeof e=="function"&&!e.length)return Ce(e());if(Array.isArray(e)){const t=[];for(let r=0;r<e.length;r++){const n=Ce(e[r]);Array.isArray(n)?t.push.apply(t,n):t.push(n)}return t}return e}const at=Symbol("fallback");function Ie(e){for(let t=0;t<e.length;t++)e[t]()}function ot(e,t,r={}){let n=[],s=[],i=[],o=0,a=t.length>1?[]:null;return et(()=>Ie(i)),()=>{let h=e()||[],m=h.length,d,l;return h[Xe],j(()=>{let g,b,x,V,U,T,O,k,M;if(m===0)o!==0&&(Ie(i),i=[],n=[],s=[],o=0,a&&(a=[])),r.fallback&&(n=[at],s[0]=ce(G=>(i[0]=G,r.fallback())),o=1);else if(o===0){for(s=new Array(m),l=0;l<m;l++)n[l]=h[l],s[l]=ce(f);o=m}else{for(x=new Array(m),V=new Array(m),a&&(U=new Array(m)),T=0,O=Math.min(o,m);T<O&&n[T]===h[T];T++);for(O=o-1,k=m-1;O>=T&&k>=T&&n[O]===h[k];O--,k--)x[k]=s[O],V[k]=i[O],a&&(U[k]=a[O]);for(g=new Map,b=new Array(k+1),l=k;l>=T;l--)M=h[l],d=g.get(M),b[l]=d===void 0?-1:d,g.set(M,l);for(d=T;d<=O;d++)M=n[d],l=g.get(M),l!==void 0&&l!==-1?(x[l]=s[d],V[l]=i[d],a&&(U[l]=a[d]),l=b[l],g.set(M,l)):i[d]();for(l=T;l<m;l++)l in x?(s[l]=x[l],i[l]=V[l],a&&(a[l]=U[l],a[l](l))):s[l]=ce(f);s=s.slice(0,o=m),n=h.slice(0)}return s});function f(g){if(i[l]=g,a){const[b,x]=y(l);return a[l]=x,t(h[l],b)}return t(h[l])}}}function c(e,t){return j(()=>e(t||{}))}function ae(){return!0}const ct={get(e,t,r){return t===Se?r:e.get(t)},has(e,t){return t===Se?!0:e.has(t)},set:ae,deleteProperty:ae,getOwnPropertyDescriptor(e,t){return{configurable:!0,enumerable:!0,get(){return e.get(t)},set:ae,deleteProperty:ae}},ownKeys(e){return e.keys()}};function we(e){return(e=typeof e=="function"?e():e)?e:{}}function ut(){for(let e=0,t=this.length;e<t;++e){const r=this[e]();if(r!==void 0)return r}}function be(...e){let t=!1;for(let o=0;o<e.length;o++){const a=e[o];t=t||!!a&&Se in a,e[o]=typeof a=="function"?(t=!0,R(a)):a}if(Qe&&t)return new Proxy({get(o){for(let a=e.length-1;a>=0;a--){const h=we(e[a])[o];if(h!==void 0)return h}},has(o){for(let a=e.length-1;a>=0;a--)if(o in we(e[a]))return!0;return!1},keys(){const o=[];for(let a=0;a<e.length;a++)o.push(...Object.keys(we(e[a])));return[...new Set(o)]}},ct);const r={},n=Object.create(null);for(let o=e.length-1;o>=0;o--){const a=e[o];if(!a)continue;const h=Object.getOwnPropertyNames(a);for(let m=h.length-1;m>=0;m--){const d=h[m];if(d==="__proto__"||d==="constructor")continue;const l=Object.getOwnPropertyDescriptor(a,d);if(!n[d])n[d]=l.get?{enumerable:!0,configurable:!0,get:ut.bind(r[d]=[l.get.bind(a)])}:l.value!==void 0?l:void 0;else{const f=r[d];f&&(l.get?f.push(l.get.bind(a)):l.value!==void 0&&f.push(()=>l.value))}}}const s={},i=Object.keys(n);for(let o=i.length-1;o>=0;o--){const a=i[o],h=n[a];h&&h.get?Object.defineProperty(s,a,h):s[a]=h?h.value:void 0}return s}const Je=e=>`Stale read from <${e}>.`;function K(e){const t="fallback"in e&&{fallback:()=>e.fallback};return R(ot(()=>e.each,e.children,t||void 0))}function ye(e){const t=e.keyed,r=R(()=>e.when,void 0,void 0),n=t?r:R(r,void 0,{equals:(s,i)=>!s==!i});return R(()=>{const s=n();if(s){const i=e.children;return typeof i=="function"&&i.length>0?j(()=>i(t?s:()=>{if(!j(n))throw Je("Show");return r()})):i}return e.fallback},void 0,void 0)}function dt(e){const t=rt(()=>e.children),r=R(()=>{const n=t(),s=Array.isArray(n)?n:[n];let i=()=>{};for(let o=0;o<s.length;o++){const a=o,h=s[o],m=i,d=R(()=>m()?void 0:h.when,void 0,void 0),l=h.keyed?d:R(d,void 0,{equals:(f,g)=>!f==!g});i=()=>m()||(l()?[a,d,h]:void 0)}return i});return R(()=>{const n=r()();if(!n)return e.fallback;const[s,i,o]=n,a=o.children;return typeof a=="function"&&a.length>0?j(()=>a(o.keyed?i():()=>{if(j(r)()?.[0]!==s)throw Je("Match");return i()})):a},void 0,void 0)}function W(e){return e}const ft=["allowfullscreen","async","alpha","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","adauctionheaders","browsingtopics","credentialless","defaultchecked","defaultmuted","defaultselected","defer","disablepictureinpicture","disableremoteplayback","preservespitch","shadowrootclonable","shadowrootcustomelementregistry","shadowrootdelegatesfocus","shadowrootserializable","sharedstoragewritable"],pt=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline","adAuctionHeaders","allowFullscreen","browsingTopics","defaultChecked","defaultMuted","defaultSelected","disablePictureInPicture","disableRemotePlayback","preservesPitch","shadowRootClonable","shadowRootCustomElementRegistry","shadowRootDelegatesFocus","shadowRootSerializable","sharedStorageWritable",...ft]),gt=new Set(["innerHTML","textContent","innerText","children"]),ht=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),mt=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},adauctionheaders:{$:"adAuctionHeaders",IFRAME:1},allowfullscreen:{$:"allowFullscreen",IFRAME:1},browsingtopics:{$:"browsingTopics",IMG:1},defaultchecked:{$:"defaultChecked",INPUT:1},defaultmuted:{$:"defaultMuted",AUDIO:1,VIDEO:1},defaultselected:{$:"defaultSelected",OPTION:1},disablepictureinpicture:{$:"disablePictureInPicture",VIDEO:1},disableremoteplayback:{$:"disableRemotePlayback",AUDIO:1,VIDEO:1},preservespitch:{$:"preservesPitch",AUDIO:1,VIDEO:1},shadowrootclonable:{$:"shadowRootClonable",TEMPLATE:1},shadowrootdelegatesfocus:{$:"shadowRootDelegatesFocus",TEMPLATE:1},shadowrootserializable:{$:"shadowRootSerializable",TEMPLATE:1},sharedstoragewritable:{$:"sharedStorageWritable",IFRAME:1,IMG:1}});function bt(e,t){const r=mt[e];return typeof r=="object"?r[t]?r.$:void 0:r}const yt=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),Q=e=>R(()=>e());function $t(e,t,r){let n=r.length,s=t.length,i=n,o=0,a=0,h=t[s-1].nextSibling,m=null;for(;o<s||a<i;){if(t[o]===r[a]){o++,a++;continue}for(;t[s-1]===r[i-1];)s--,i--;if(s===o){const d=i<n?a?r[a-1].nextSibling:r[i-a]:h;for(;a<i;)e.insertBefore(r[a++],d)}else if(i===a)for(;o<s;)(!m||!m.has(t[o]))&&t[o].remove(),o++;else if(t[o]===r[i-1]&&r[a]===t[s-1]){const d=t[--s].nextSibling;e.insertBefore(r[a++],t[o++].nextSibling),e.insertBefore(r[--i],d),t[s]=r[i]}else{if(!m){m=new Map;let l=a;for(;l<i;)m.set(r[l],l++)}const d=m.get(t[o]);if(d!=null)if(a<d&&d<i){let l=o,f=1,g;for(;++l<s&&l<i&&!((g=m.get(t[l]))==null||g!==d+f);)f++;if(f>d-a){const b=t[o];for(;a<d;)e.insertBefore(r[a++],b)}else e.replaceChild(r[a++],t[o++])}else o++;else t[o++].remove()}}}const Ne="_$DX_DELEGATE";function vt(e,t,r,n={}){let s;return ce(i=>{s=i,t===document?e():u(t,e(),t.firstChild?null:void 0,r)},n.owner),()=>{s(),t.textContent=""}}function p(e,t,r,n){let s;const i=()=>{const a=document.createElement("template");return a.innerHTML=e,a.content.firstChild},o=()=>(s||(s=i())).cloneNode(!0);return o.cloneNode=o,o}function Oe(e,t=window.document){const r=t[Ne]||(t[Ne]=new Set);for(let n=0,s=e.length;n<s;n++){const i=e[n];r.has(i)||(r.add(i),t.addEventListener(i,Ot))}}function Pe(e,t,r){r==null?e.removeAttribute(t):e.setAttribute(t,r)}function xt(e,t,r){r?e.setAttribute(t,""):e.removeAttribute(t)}function X(e,t){t==null?e.removeAttribute("class"):e.className=t}function wt(e,t,r,n){if(n)Array.isArray(r)?(e[`$$${t}`]=r[0],e[`$$${t}Data`]=r[1]):e[`$$${t}`]=r;else if(Array.isArray(r)){const s=r[0];e.addEventListener(t,r[0]=i=>s.call(e,r[1],i))}else e.addEventListener(t,r,typeof r!="function"&&r)}function _t(e,t,r={}){const n=Object.keys(t||{}),s=Object.keys(r);let i,o;for(i=0,o=s.length;i<o;i++){const a=s[i];!a||a==="undefined"||t[a]||(Le(e,a,!1),delete r[a])}for(i=0,o=n.length;i<o;i++){const a=n[i],h=!!t[a];!a||a==="undefined"||r[a]===h||!h||(Le(e,a,!0),r[a]=h)}return r}function St(e,t,r){if(!t)return r?Pe(e,"style"):t;const n=e.style;if(typeof t=="string")return n.cssText=t;typeof r=="string"&&(n.cssText=r=void 0),r||(r={}),t||(t={});let s,i;for(i in r)t[i]==null&&n.removeProperty(i),delete r[i];for(i in t)s=t[i],s!==r[i]&&(n.setProperty(i,s),r[i]=s);return r}function Ct(e,t,r){r!=null?e.style.setProperty(t,r):e.style.removeProperty(t)}function $e(e,t={},r,n){const s={};return n||L(()=>s.children=ne(e,t.children,s.children)),L(()=>typeof t.ref=="function"&&Pt(t.ref,e)),L(()=>At(e,t,r,!0,s,!0)),s}function Pt(e,t,r){return j(()=>e(t,r))}function u(e,t,r,n){if(r!==void 0&&!n&&(n=[]),typeof t!="function")return ne(e,t,n,r);L(s=>ne(e,t(),s,r),n)}function At(e,t,r,n,s={},i=!1){t||(t={});for(const o in s)if(!(o in t)){if(o==="children")continue;s[o]=Re(e,o,null,s[o],r,i,t)}for(const o in t){if(o==="children")continue;const a=t[o];s[o]=Re(e,o,a,s[o],r,i,t)}}function kt(e){return e.toLowerCase().replace(/-([a-z])/g,(t,r)=>r.toUpperCase())}function Le(e,t,r){const n=t.trim().split(/\s+/);for(let s=0,i=n.length;s<i;s++)e.classList.toggle(n[s],r)}function Re(e,t,r,n,s,i,o){let a,h,m,d,l;if(t==="style")return St(e,r,n);if(t==="classList")return _t(e,r,n);if(r===n)return n;if(t==="ref")i||r(e);else if(t.slice(0,3)==="on:"){const f=t.slice(3);n&&e.removeEventListener(f,n,typeof n!="function"&&n),r&&e.addEventListener(f,r,typeof r!="function"&&r)}else if(t.slice(0,10)==="oncapture:"){const f=t.slice(10);n&&e.removeEventListener(f,n,!0),r&&e.addEventListener(f,r,!0)}else if(t.slice(0,2)==="on"){const f=t.slice(2).toLowerCase(),g=yt.has(f);if(!g&&n){const b=Array.isArray(n)?n[0]:n;e.removeEventListener(f,b)}(g||r)&&(wt(e,f,r,g),g&&Oe([f]))}else t.slice(0,5)==="attr:"?Pe(e,t.slice(5),r):t.slice(0,5)==="bool:"?xt(e,t.slice(5),r):(l=t.slice(0,5)==="prop:")||(m=gt.has(t))||(d=bt(t,e.tagName))||(h=pt.has(t))||(a=e.nodeName.includes("-")||"is"in o)?(l&&(t=t.slice(5),h=!0),t==="class"||t==="className"?X(e,r):a&&!h&&!m?e[kt(t)]=r:e[d||t]=r):Pe(e,ht[t]||t,r);return r}function Ot(e){let t=e.target;const r=`$$${e.type}`,n=e.target,s=e.currentTarget,i=h=>Object.defineProperty(e,"target",{configurable:!0,value:h}),o=()=>{const h=t[r];if(h&&!t.disabled){const m=t[`${r}Data`];if(m!==void 0?h.call(t,m,e):h.call(t,e),e.cancelBubble)return}return t.host&&typeof t.host!="string"&&!t.host._$host&&t.contains(e.target)&&i(t.host),!0},a=()=>{for(;o()&&(t=t._$host||t.parentNode||t.host););};if(Object.defineProperty(e,"currentTarget",{configurable:!0,get(){return t||document}}),e.composedPath){const h=e.composedPath();i(h[0]);for(let m=0;m<h.length-2&&(t=h[m],!!o());m++){if(t._$host){t=t._$host,a();break}if(t.parentNode===s)break}}else a();i(n)}function ne(e,t,r,n,s){for(;typeof r=="function";)r=r();if(t===r)return r;const i=typeof t,o=n!==void 0;if(e=o&&r[0]&&r[0].parentNode||e,i==="string"||i==="number"){if(i==="number"&&(t=t.toString(),t===r))return r;if(o){let a=r[0];a&&a.nodeType===3?a.data!==t&&(a.data=t):a=document.createTextNode(t),r=Y(e,r,n,a)}else r!==""&&typeof r=="string"?r=e.firstChild.data=t:r=e.textContent=t}else if(t==null||i==="boolean")r=Y(e,r,n);else{if(i==="function")return L(()=>{let a=t();for(;typeof a=="function";)a=a();r=ne(e,a,r,n)}),()=>r;if(Array.isArray(t)){const a=[],h=r&&Array.isArray(r);if(Ae(a,t,r,s))return L(()=>r=ne(e,a,r,n,!0)),()=>r;if(a.length===0){if(r=Y(e,r,n),o)return r}else h?r.length===0?De(e,a,n):$t(e,r,a):(r&&Y(e),De(e,a));r=a}else if(t.nodeType){if(Array.isArray(r)){if(o)return r=Y(e,r,n,t);Y(e,r,null,t)}else r==null||r===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);r=t}}return r}function Ae(e,t,r,n){let s=!1;for(let i=0,o=t.length;i<o;i++){let a=t[i],h=r&&r[e.length],m;if(!(a==null||a===!0||a===!1))if((m=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))s=Ae(e,a,h)||s;else if(m==="function")if(n){for(;typeof a=="function";)a=a();s=Ae(e,Array.isArray(a)?a:[a],Array.isArray(h)?h:[h])||s}else e.push(a),s=!0;else{const d=String(a);h&&h.nodeType===3&&h.data===d?e.push(h):e.push(document.createTextNode(d))}}return s}function De(e,t,r=null){for(let n=0,s=t.length;n<s;n++)e.insertBefore(t[n],r)}function Y(e,t,r,n){if(r===void 0)return e.textContent="";const s=n||document.createTextNode("");if(t.length){let i=!1;for(let o=t.length-1;o>=0;o--){const a=t[o];if(s!==a){const h=a.parentNode===e;!i&&!o?h?e.replaceChild(s,a):e.insertBefore(s,r):h&&a.remove()}else i=!0}}else e.insertBefore(s,r);return[s]}async function v(e,t){const r=await fetch(e,{credentials:"include",headers:{"Content-Type":"application/json",...t?.headers||{}},...t}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n?.error?.message||`Request failed (${r.status})`);return n}async function Tt(){return(await v("/api/v1/bootstrap/status")).data}async function Et(e,t){return v("/api/v1/bootstrap/register-owner",{method:"POST",body:JSON.stringify({email:e,password:t})})}async function It(e,t){return(await v("/api/v1/auth/login",{method:"POST",body:JSON.stringify({email:e,password:t})})).data.user}async function Ue(){return(await v("/api/v1/auth/me")).data}async function Nt(){return v("/api/v1/auth/logout",{method:"POST"})}async function Lt(e){return v("/api/v1/auth/reset-password",{method:"POST",body:JSON.stringify({newPassword:e})})}async function Rt(){return(await v("/api/v1/services")).data}async function Dt(e){return v("/api/v1/services",{method:"POST",body:JSON.stringify(e)})}async function Ut(e,t){return v(`/api/v1/services/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function Mt(e){return v(`/api/v1/services/${e}/validate`,{method:"POST"})}async function jt(){return(await v("/api/v1/databases")).data}async function Vt(e){return v("/api/v1/databases",{method:"POST",body:JSON.stringify(e)})}async function Bt(e,t){return v(`/api/v1/databases/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function qt(e){return v(`/api/v1/databases/${e}/validate`,{method:"POST"})}async function Ft(){return(await v("/api/v1/keys")).data}async function Kt(e){return v("/api/v1/keys",{method:"POST",body:JSON.stringify(e)})}async function Jt(e,t){return v(`/api/v1/keys/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function Ht(){return(await v("/api/v1/users")).data}async function Gt(e){return v("/api/v1/users",{method:"POST",body:JSON.stringify(e)})}async function Me(e,t){return v(`/api/v1/users/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function He(){return(await v("/api/v1/roles")).data}async function Wt(e){return v("/api/v1/roles",{method:"POST",body:JSON.stringify(e)})}async function Qt(e,t){return v(`/api/v1/roles/${e}`,{method:"PATCH",body:JSON.stringify(t)})}async function Xt(){return(await v("/api/v1/permissions")).data}async function Yt(){return v("/api/v1/analytics/ops")}async function zt(){return v("/api/v1/analytics/traffic")}async function Zt(e,t,r){return v("/api/v1/analytics/events",{method:"POST",body:JSON.stringify({event:e,path:t,meta:r})})}var er=p("<button>");function E(e){const t=()=>e.variant||"default",r=()=>t()==="outline"?"border border-border bg-transparent text-foreground hover:bg-secondary":t()==="secondary"?"border border-border bg-secondary text-secondary-foreground hover:opacity-95":t()==="danger"?"border border-destructive bg-destructive text-destructive-foreground hover:opacity-95":"border border-primary bg-primary text-primary-foreground hover:opacity-95";return(()=>{var n=er();return $e(n,be(e,{get class(){return`inline-flex items-center justify-center rounded-md px-3 py-2 text-sm font-semibold transition ${r()} ${e.class||""}`}}),!1,!0),u(n,()=>e.children),n})()}var tr=p("<div>");function A(e){return(()=>{var t=tr();return $e(t,be(e,{get class(){return`rounded-xl border border-border bg-card/90 p-4 shadow-[0_8px_24px_rgba(0,0,0,0.24)] ${e.class||""}`}}),!1,!0),u(t,()=>e.children),t})()}var rr=p("<input>");function D(e){return(()=>{var t=rr();return $e(t,be(e,{get class(){return`w-full rounded-md border border-input bg-card px-3 py-2 text-sm text-foreground outline-none ring-0 placeholder:text-muted-foreground focus:border-primary ${e.class||""}`}}),!1,!1),t})()}var nr=p('<div><p class="text-xs font-semibold uppercase tracking-[0.18em] text-primary">APwhy</p><h1 class="mt-1 text-2xl font-bold">Sign in</h1><p class="mt-2 text-sm text-muted-foreground">Registration is disabled once the owner account exists.'),lr=p('<form class=space-y-3><div class=space-y-1><label class="text-xs font-semibold uppercase tracking-wide text-muted-foreground">Email</label></div><div class=space-y-1><label class="text-xs font-semibold uppercase tracking-wide text-muted-foreground">Password'),sr=p('<div class="rounded-md border border-rose-500/50 bg-rose-500/10 px-3 py-2 text-sm text-rose-200">');function ir(e){const[t,r]=y(""),[n,s]=y(""),[i,o]=y(!1),[a,h]=y(null);async function m(d){d.preventDefault(),h(null),o(!0);try{const l=await It(t().trim(),n());await e.onLoggedIn(l)}catch(l){h(l instanceof Error?l.message:"Login failed")}finally{o(!1)}}return c(A,{class:"mx-auto mt-20 w-full max-w-md space-y-4",get children(){return[nr(),(()=>{var d=lr(),l=d.firstChild;l.firstChild;var f=l.nextSibling;return f.firstChild,d.addEventListener("submit",g=>{m(g)}),u(l,c(D,{get value(){return t()},onInput:g=>r(g.currentTarget.value),placeholder:"owner@example.com"}),null),u(f,c(D,{type:"password",get value(){return n()},onInput:g=>s(g.currentTarget.value),placeholder:"Your password"}),null),u(d,(()=>{var g=Q(()=>!!a());return()=>g()&&(()=>{var b=sr();return u(b,a),b})()})(),null),u(d,c(E,{type:"submit",class:"w-full",get disabled(){return i()},get children(){return i()?"Signing in...":"Sign In"}}),null),d})()]}})}var ar=p('<div><p class="text-xs font-semibold uppercase tracking-[0.18em] text-primary">APwhy Bootstrap</p><h1 class="mt-1 text-2xl font-bold">Create your owner account</h1><p class="mt-2 text-sm text-muted-foreground">This is only available while no users exist in the database.'),or=p('<form class=space-y-3><div class=space-y-1><label class="text-xs font-semibold uppercase tracking-wide text-muted-foreground">Owner Email</label></div><div class=space-y-1><label class="text-xs font-semibold uppercase tracking-wide text-muted-foreground">Password'),cr=p('<div class="rounded-md border border-rose-500/50 bg-rose-500/10 px-3 py-2 text-sm text-rose-200">');function ur(e){const[t,r]=y(""),[n,s]=y(""),[i,o]=y(!1),[a,h]=y(null);async function m(d){d.preventDefault(),h(null),o(!0);try{await Et(t().trim(),n()),await e.onComplete()}catch(l){h(l instanceof Error?l.message:"Failed to create owner")}finally{o(!1)}}return c(A,{class:"mx-auto mt-20 w-full max-w-md space-y-4",get children(){return[ar(),(()=>{var d=or(),l=d.firstChild;l.firstChild;var f=l.nextSibling;return f.firstChild,d.addEventListener("submit",g=>{m(g)}),u(l,c(D,{get value(){return t()},onInput:g=>r(g.currentTarget.value),placeholder:"owner@example.com"}),null),u(f,c(D,{type:"password",get value(){return n()},onInput:g=>s(g.currentTarget.value),placeholder:"At least 8 characters"}),null),u(d,(()=>{var g=Q(()=>!!a());return()=>g()&&(()=>{var b=cr();return u(b,a),b})()})(),null),u(d,c(E,{type:"submit",class:"w-full",get disabled(){return i()},get children(){return i()?"Creating...":"Create Owner"}}),null),d})()]}})}var dr=p("<span>");function le(e){const t=()=>e.tone||"default",r=()=>t()==="success"?"border-emerald-500/50 bg-emerald-500/15 text-emerald-200":t()==="warning"?"border-amber-500/50 bg-amber-500/15 text-amber-200":t()==="danger"?"border-rose-500/50 bg-rose-500/15 text-rose-200":"border-border bg-secondary/70 text-foreground";return(()=>{var n=dr();return u(n,()=>e.label),L(()=>X(n,`inline-flex rounded-full border px-2 py-0.5 text-xs font-semibold ${r()}`)),n})()}var fr=p("<div>"),pr=p("<table>"),gr=p("<th>"),hr=p("<td>");function se(e){return(()=>{var t=fr();return u(t,()=>e.children),L(()=>X(t,`overflow-auto rounded-md border border-border ${e.class||""}`)),t})()}function ie(e){return(()=>{var t=pr();return u(t,()=>e.children),L(()=>X(t,`min-w-full divide-y divide-border text-sm ${e.class||""}`)),t})()}function C(e){return(()=>{var t=gr();return u(t,()=>e.children),L(()=>X(t,`bg-secondary/60 px-3 py-2 text-left text-xs uppercase tracking-wide text-muted-foreground ${e.class||""}`)),t})()}function P(e){return(()=>{var t=hr();return u(t,()=>e.children),L(()=>X(t,`px-3 py-2 align-top ${e.class||""}`)),t})()}var mr=p('<h3 class="text-lg font-semibold">Add Service'),br=p('<h3 class="mb-3 text-lg font-semibold">Protected Services'),yr=p("<thead><tr>"),$r=p("<tbody>"),vr=p('<div class="grid gap-4 xl:grid-cols-[360px_1fr]">'),xr=p("<p class=font-semibold>"),wr=p('<p class="text-xs text-muted-foreground">'),_r=p("<code>"),Sr=p('<tr class="border-t border-border">');function Cr(){const[e,{refetch:t}]=F(Rt),[r,n]=y(""),[s,i]=y(""),[o,a]=y(""),[h,m]=y(!1);async function d(){if(!(!r().trim()||!s().trim()||!o().trim())){m(!0);try{await Dt({name:r().trim(),upstreamUrl:s().trim(),routePrefix:o().trim()}),n(""),i(""),a(""),await t()}finally{m(!1)}}}return(()=>{var l=vr();return u(l,c(A,{class:"space-y-3",get children(){return[mr(),c(D,{placeholder:"Billing API",get value(){return r()},onInput:f=>n(f.currentTarget.value)}),c(D,{placeholder:"http://localhost:8080",get value(){return s()},onInput:f=>i(f.currentTarget.value)}),c(D,{placeholder:"/v1/billing",get value(){return o()},onInput:f=>a(f.currentTarget.value)}),c(E,{onClick:()=>{d()},get disabled(){return h()},get children(){return h()?"Creating...":"Create Service"}})]}}),null),u(l,c(A,{get children(){return[br(),c(se,{get children(){return c(ie,{get children(){return[(()=>{var f=yr(),g=f.firstChild;return u(g,c(C,{children:"Name"}),null),u(g,c(C,{children:"Route"}),null),u(g,c(C,{children:"Status"}),null),u(g,c(C,{children:"Actions"}),null),f})(),(()=>{var f=$r();return u(f,c(K,{get each(){return e()||[]},children:g=>(()=>{var b=Sr();return u(b,c(P,{get children(){return[(()=>{var x=xr();return u(x,()=>g.name),x})(),(()=>{var x=wr();return u(x,()=>g.upstreamUrl),x})()]}}),null),u(b,c(P,{get children(){var x=_r();return u(x,()=>g.routePrefix),x}}),null),u(b,c(P,{get children(){return c(le,{get label(){return g.lastValidationStatus||"unknown"},get tone(){return Q(()=>g.lastValidationStatus==="healthy")()?"success":g.lastValidationStatus==="failed"?"danger":"default"}})}}),null),u(b,c(P,{class:"space-x-2",get children(){return[c(E,{variant:"outline",onClick:()=>{Mt(g.id).then(()=>t())},children:"Validate"}),c(E,{variant:"secondary",onClick:()=>{Ut(g.id,{enabled:!g.enabled}).then(()=>t())},get children(){return g.enabled?"Disable":"Enable"}})]}}),null),b})()})),f})()]}})}})]}}),null),l})()}var Pr=p("<select>");function Te(e){return(()=>{var t=Pr();return $e(t,be(e,{get class(){return`w-full rounded-md border border-input bg-card px-3 py-2 text-sm text-foreground outline-none focus:border-primary ${e.class||""}`}}),!1,!0),u(t,()=>e.children),t})()}var Ar=p('<h3 class="text-lg font-semibold">Add Database Connector'),kr=p("<option value=sqlite>SQLite"),Or=p("<option value=postgres>Postgres"),Tr=p("<option value=mysql>MySQL"),Er=p('<h3 class="mb-3 text-lg font-semibold">Database Connectors'),Ir=p("<thead><tr>"),Nr=p("<tbody>"),Lr=p('<div class="grid gap-4 xl:grid-cols-[360px_1fr]">'),Rr=p("<p class=font-semibold>"),Dr=p('<p class="text-xs text-muted-foreground">'),Ur=p("<code>"),Mr=p('<tr class="border-t border-border">');function jr(){const[e,{refetch:t}]=F(jt),[r,n]=y(""),[s,i]=y("sqlite"),[o,a]=y("");async function h(){!r().trim()||!o().trim()||(await Vt({name:r().trim(),provider:s(),connectionUrl:o().trim()}),n(""),a(""),await t())}return(()=>{var m=Lr();return u(m,c(A,{class:"space-y-3",get children(){return[Ar(),c(D,{placeholder:"Primary Database",get value(){return r()},onInput:d=>n(d.currentTarget.value)}),c(Te,{get value(){return s()},onChange:d=>i(d.currentTarget.value),get children(){return[kr(),Or(),Tr()]}}),c(D,{get placeholder(){return Q(()=>s()==="sqlite")()?"./data/app.sqlite":s()==="postgres"?"postgres://user:pass@host:5432/db":"mysql://user:pass@host:3306/db"},get value(){return o()},onInput:d=>a(d.currentTarget.value)}),c(E,{onClick:()=>{h()},children:"Create Connector"})]}}),null),u(m,c(A,{get children(){return[Er(),c(se,{get children(){return c(ie,{get children(){return[(()=>{var d=Ir(),l=d.firstChild;return u(l,c(C,{children:"Name"}),null),u(l,c(C,{children:"Provider"}),null),u(l,c(C,{children:"Target"}),null),u(l,c(C,{children:"Status"}),null),u(l,c(C,{children:"Actions"}),null),d})(),(()=>{var d=Nr();return u(d,c(K,{get each(){return e()||[]},children:l=>(()=>{var f=Mr();return u(f,c(P,{get children(){return[(()=>{var g=Rr();return u(g,()=>l.name),g})(),(()=>{var g=Dr();return u(g,()=>l.maskedConnectionUrl),g})()]}}),null),u(f,c(P,{get children(){return l.provider}}),null),u(f,c(P,{get children(){var g=Ur();return u(g,()=>l.target),g}}),null),u(f,c(P,{get children(){return c(le,{get label(){return l.lastValidationStatus||"unknown"},get tone(){return Q(()=>l.lastValidationStatus==="healthy")()?"success":l.lastValidationStatus==="failed"?"danger":"default"}})}}),null),u(f,c(P,{class:"space-x-2",get children(){return[c(E,{variant:"outline",onClick:()=>{qt(l.id).then(()=>t())},children:"Validate"}),c(E,{variant:"secondary",onClick:()=>{Bt(l.id,{enabled:!l.enabled}).then(()=>t())},get children(){return l.enabled?"Disable":"Enable"}})]}}),null),f})()})),d})()]}})}})]}}),null),m})()}var Vr=p('<h3 class="text-lg font-semibold">Create API Key'),Br=p("<option value=free>Free"),qr=p("<option value=pro>Pro"),Fr=p("<option value=business>Business"),Kr=p("<option value=enterprise>Enterprise"),Jr=p('<h3 class="mb-3 text-lg font-semibold">API Keys'),Hr=p("<thead><tr>"),Gr=p("<tbody>"),Wr=p('<div class="grid gap-4 xl:grid-cols-[360px_1fr]">'),Qr=p('<div class="rounded-md border border-primary/50 bg-primary/15 p-3 text-xs"><p class="font-semibold uppercase tracking-wide text-primary">Generated once</p><p class="mt-2 break-all rounded bg-card px-2 py-1 font-mono text-foreground">'),Xr=p("<p class=font-semibold>"),Yr=p('<p class="text-xs text-muted-foreground">Last used: '),zr=p("<code>"),Zr=p('<tr class="border-t border-border">');function en(){const[e,{refetch:t}]=F(Ft),[r,n]=y(""),[s,i]=y("pro"),[o,a]=y(null);async function h(){if(!r().trim())return;const m=await Kt({name:r().trim(),plan:s()});a(m.data.key),n(""),await t()}return(()=>{var m=Wr();return u(m,c(A,{class:"space-y-3",get children(){return[Vr(),c(D,{placeholder:"production-client",get value(){return r()},onInput:d=>n(d.currentTarget.value)}),c(Te,{get value(){return s()},onChange:d=>i(d.currentTarget.value),get children(){return[Br(),qr(),Fr(),Kr()]}}),c(E,{onClick:()=>{h()},children:"Create Key"}),c(ye,{get when(){return o()},children:d=>(()=>{var l=Qr(),f=l.firstChild,g=f.nextSibling;return u(g,d),l})()})]}}),null),u(m,c(A,{get children(){return[Jr(),c(se,{get children(){return c(ie,{get children(){return[(()=>{var d=Hr(),l=d.firstChild;return u(l,c(C,{children:"Name"}),null),u(l,c(C,{children:"Plan"}),null),u(l,c(C,{children:"Prefix"}),null),u(l,c(C,{children:"Status"}),null),u(l,c(C,{children:"Action"}),null),d})(),(()=>{var d=Gr();return u(d,c(K,{get each(){return e()||[]},children:l=>(()=>{var f=Zr();return u(f,c(P,{get children(){return[(()=>{var g=Xr();return u(g,()=>l.name),g})(),(()=>{var g=Yr();return g.firstChild,u(g,()=>l.lastUsedAt||"never",null),g})()]}}),null),u(f,c(P,{get children(){return l.plan}}),null),u(f,c(P,{get children(){var g=zr();return u(g,()=>l.keyPrefix),g}}),null),u(f,c(P,{get children(){return c(le,{get label(){return l.enabled?"enabled":"disabled"},get tone(){return l.enabled?"success":"danger"}})}}),null),u(f,c(P,{get children(){return c(E,{variant:"secondary",onClick:()=>{Jt(l.id,{enabled:!l.enabled}).then(()=>t())},get children(){return l.enabled?"Disable":"Enable"}})}}),null),f})()})),d})()]}})}})]}}),null),m})()}var tn=p("<div class=space-y-2>"),rn=p('<div class=space-y-1><div class="flex items-center justify-between text-xs text-muted-foreground"><span></span><span></span></div><div class="h-2 rounded bg-secondary/70"><div class="h-2 rounded bg-primary">'),nn=p('<p class="text-xs uppercase tracking-wide text-muted-foreground">Users'),oe=p('<p class="mt-2 text-2xl font-bold">'),ln=p('<p class="text-xs uppercase tracking-wide text-muted-foreground">Services'),sn=p('<p class="text-xs uppercase tracking-wide text-muted-foreground">DB Connectors'),an=p('<p class="text-xs uppercase tracking-wide text-muted-foreground">Monthly Requests'),on=p('<h4 class="text-lg font-semibold">Hourly Request Trend (24h)'),cn=p('<h4 class="text-lg font-semibold">Incidents By Severity'),un=p('<h4 class="text-lg font-semibold">Traffic (Umami + Client Events)'),dn=p('<pre class="rounded border border-border bg-secondary/35 p-3 text-xs text-muted-foreground">'),fn=p('<div><p class="mb-2 text-sm font-semibold">Top Client Event Paths'),pn=p('<div class=space-y-4><div class="flex items-center justify-between"><h3 class="text-xl font-semibold">Ops + Traffic Analytics</h3><button class="rounded border border-border bg-secondary px-3 py-1.5 text-sm">Refresh</button></div><div class="grid gap-4 md:grid-cols-2 xl:grid-cols-4"></div><div class="grid gap-4 xl:grid-cols-2">'),gn=p('<p class="text-sm text-muted-foreground">Umami API not configured or unavailable. Showing local client events.');function _e(e){const t=Math.max(1,...e.values.map(r=>r.value));return(()=>{var r=tn();return u(r,c(K,{get each(){return e.values},children:n=>(()=>{var s=rn(),i=s.firstChild,o=i.firstChild,a=o.nextSibling,h=i.nextSibling,m=h.firstChild;return u(o,()=>n.label),u(a,()=>n.value),L(d=>Ct(m,"width",`${n.value/t*100}%`)),s})()})),r})()}function hn(){const[e,{refetch:t}]=F(()=>Yt()),[r,{refetch:n}]=F(()=>zt()),s=async()=>{await t(),await n()};return(()=>{var i=pn(),o=i.firstChild,a=o.firstChild,h=a.nextSibling,m=o.nextSibling,d=m.nextSibling;return h.$$click=()=>{s()},u(m,c(A,{get children(){return[nn(),(()=>{var l=oe();return u(l,()=>e()?.data?.counts?.users??0),l})()]}}),null),u(m,c(A,{get children(){return[ln(),(()=>{var l=oe();return u(l,()=>e()?.data?.counts?.services??0),l})()]}}),null),u(m,c(A,{get children(){return[sn(),(()=>{var l=oe();return u(l,()=>e()?.data?.counts?.databases??0),l})()]}}),null),u(m,c(A,{get children(){return[an(),(()=>{var l=oe();return u(l,()=>e()?.data?.requests?.total??0),l})()]}}),null),u(d,c(A,{class:"space-y-3",get children(){return[on(),c(_e,{get values(){return(e()?.data?.requests?.hourly||[]).map(l=>({label:String(l.bucket).slice(11,16),value:Number(l.value||0)}))}})]}}),null),u(d,c(A,{class:"space-y-3",get children(){return[cn(),c(_e,{get values(){return Object.entries(e()?.data?.incidentsBySeverity||{}).map(([l,f])=>({label:l,value:Number(f)}))}})]}}),null),u(i,c(A,{class:"space-y-3",get children(){return[un(),c(ye,{get when(){return r()?.data?.umami?.enabled},get fallback(){return gn()},get children(){var l=dn();return u(l,()=>JSON.stringify(r()?.data?.umami||{},null,2)),l}}),(()=>{var l=fn();return l.firstChild,u(l,c(_e,{get values(){return(r()?.data?.clientEvents||[]).map(f=>({label:String(f.path),value:Number(f.count||0)}))}}),null),l})()]}}),null),i})()}Oe(["click"]);var mn=p('<h3 class="text-lg font-semibold">Create User Invite'),bn=p("<option value>Viewer (default)"),yn=p('<h3 class="mb-3 text-lg font-semibold">Users'),$n=p("<thead><tr>"),vn=p("<tbody>"),xn=p('<div class="grid gap-4 xl:grid-cols-[360px_1fr]">'),wn=p("<option>"),_n=p('<div class="rounded-md border border-primary/40 bg-primary/10 p-3 text-xs"><p class="font-semibold uppercase tracking-wide text-primary">Invite created</p><p class=mt-2>Invite token: <code class=break-all></code></p><p class=mt-1>Temporary password: <code>'),Sn=p("<p class=font-semibold>"),Cn=p('<p class="text-xs text-muted-foreground">'),Pn=p('<tr class="border-t border-border">');function An(){const[e,{refetch:t}]=F(Ht),[r]=F(He),[n,s]=y(""),[i,o]=y(""),[a,h]=y(null);async function m(){if(!n().trim())return;const d=await Gt({email:n().trim(),roleIds:i()?[i()]:[]});h(d),s(""),await t()}return(()=>{var d=xn();return u(d,c(A,{class:"space-y-3",get children(){return[mn(),c(D,{placeholder:"teammate@example.com",get value(){return n()},onInput:l=>s(l.currentTarget.value)}),c(Te,{get value(){return i()},onChange:l=>o(l.currentTarget.value),get children(){return[bn(),c(K,{get each(){return r()||[]},children:l=>(()=>{var f=wn();return u(f,()=>l.name),L(()=>f.value=l.id),f})()})]}}),c(E,{onClick:()=>{m()},children:"Create User"}),c(ye,{get when(){return a()},children:l=>(()=>{var f=_n(),g=f.firstChild,b=g.nextSibling,x=b.firstChild,V=x.nextSibling,U=b.nextSibling,T=U.firstChild,O=T.nextSibling;return u(V,()=>l().data?.inviteToken),u(O,()=>l().data?.temporaryPass),f})()})]}}),null),u(d,c(A,{get children(){return[yn(),c(se,{get children(){return c(ie,{get children(){return[(()=>{var l=$n(),f=l.firstChild;return u(f,c(C,{children:"Email"}),null),u(f,c(C,{children:"Roles"}),null),u(f,c(C,{children:"Status"}),null),u(f,c(C,{children:"Actions"}),null),l})(),(()=>{var l=vn();return u(l,c(K,{get each(){return e()||[]},children:f=>(()=>{var g=Pn();return u(g,c(P,{get children(){return[(()=>{var b=Sn();return u(b,()=>f.email),b})(),(()=>{var b=Cn();return u(b,()=>f.id),b})()]}}),null),u(g,c(P,{get children(){return f.roles.join(", ")||"-"}}),null),u(g,c(P,{get children(){return c(le,{get label(){return f.enabled?"enabled":"disabled"},get tone(){return f.enabled?"success":"danger"}})}}),null),u(g,c(P,{class:"space-x-2",get children(){return[c(E,{variant:"secondary",onClick:()=>{Me(f.id,{enabled:!f.enabled}).then(()=>t())},get children(){return f.enabled?"Disable":"Enable"}}),c(E,{variant:"outline",onClick:()=>{Me(f.id,{resetPassword:!0}).then(()=>t())},children:"Reset Pass"})]}}),null),g})()})),l})()]}})}})]}}),null),d})()}var kn=p('<h3 class="text-lg font-semibold">Create Role'),On=p('<div class="grid max-h-56 gap-2 overflow-auto rounded border border-border p-2 text-xs">'),Tn=p('<h3 class="mb-3 text-lg font-semibold">Roles'),En=p("<thead><tr>"),In=p("<tbody>"),Nn=p('<div class="grid gap-4 xl:grid-cols-[420px_1fr]">'),Ln=p('<label class="inline-flex items-center gap-2 rounded bg-secondary/40 px-2 py-1"><input type=checkbox><span>'),Rn=p("<p class=font-semibold>"),Dn=p('<p class="text-xs text-muted-foreground">'),Un=p("<code>"),Mn=p('<tr class="border-t border-border">'),jn=p('<span class="ml-2 text-xs text-muted-foreground">system');function Vn(){const[e,{refetch:t}]=F(He),[r]=F(Xt),[n,s]=y(""),[i,o]=y([]);function a(m){o(d=>d.includes(m)?d.filter(l=>l!==m):[...d,m])}async function h(){n().trim()&&(await Wt({name:n().trim(),permissionCodes:i()}),s(""),o([]),await t())}return(()=>{var m=Nn();return u(m,c(A,{class:"space-y-3",get children(){return[kn(),c(D,{placeholder:"Ops Manager",get value(){return n()},onInput:d=>s(d.currentTarget.value)}),(()=>{var d=On();return u(d,c(K,{get each(){return r()||[]},children:l=>(()=>{var f=Ln(),g=f.firstChild,b=g.nextSibling;return g.addEventListener("change",()=>a(l.code)),u(b,()=>l.code),L(()=>g.checked=i().includes(l.code)),f})()})),d})(),c(E,{onClick:()=>{h()},children:"Create Role"})]}}),null),u(m,c(A,{get children(){return[Tn(),c(se,{get children(){return c(ie,{get children(){return[(()=>{var d=En(),l=d.firstChild;return u(l,c(C,{children:"Name"}),null),u(l,c(C,{children:"Slug"}),null),u(l,c(C,{children:"Permissions"}),null),u(l,c(C,{children:"Status"}),null),u(l,c(C,{children:"Action"}),null),d})(),(()=>{var d=In();return u(d,c(K,{get each(){return e()||[]},children:l=>(()=>{var f=Mn();return u(f,c(P,{get children(){return[(()=>{var g=Rn();return u(g,()=>l.name),g})(),(()=>{var g=Dn();return u(g,()=>l.description),g})()]}}),null),u(f,c(P,{get children(){return[(()=>{var g=Un();return u(g,()=>l.slug),g})(),Q(()=>Q(()=>!!l.isSystem)()&&jn())]}}),null),u(f,c(P,{class:"max-w-[320px] text-xs text-muted-foreground",get children(){return l.permissionCodes.join(", ")||"-"}}),null),u(f,c(P,{get children(){return c(le,{get label(){return l.enabled?"enabled":"disabled"},get tone(){return l.enabled?"success":"danger"}})}}),null),u(f,c(P,{get children(){return c(E,{variant:"secondary",onClick:()=>{Qt(l.id,{enabled:!l.enabled}).then(()=>t())},get children(){return l.enabled?"Disable":"Enable"}})}}),null),f})()})),d})()]}})}})]}}),null),m})()}var Bn=p('<h3 class="text-lg font-semibold">Runtime'),qn=p('<p class="text-sm text-muted-foreground">APwhy uses a Go backend with SQLite control-plane storage and modular SolidJS frontend.'),Fn=p('<p class="text-sm text-muted-foreground">Use Docker + Traefik + Umami stack from `deploy/docker-compose.yml` for production self-hosting.'),Kn=p('<h3 class="text-lg font-semibold">Security'),Jn=p('<p class="text-sm text-muted-foreground">Owner bootstrap is one-time. After first user exists, registration is closed and login-only flow is enforced.'),Hn=p('<p class="text-sm text-muted-foreground">Role permissions control access to services, keys, users, roles, and analytics APIs.'),Gn=p('<div class="grid gap-4 lg:grid-cols-2">');function Wn(){return(()=>{var e=Gn();return u(e,c(A,{class:"space-y-2",get children(){return[Bn(),qn(),Fn()]}}),null),u(e,c(A,{class:"space-y-2",get children(){return[Kn(),Jn(),Hn()]}}),null),e})()}var Qn=p('<div class="p-10 text-center text-sm text-muted-foreground">Loading APwhy...'),Xn=p('<h3 class="font-semibold text-amber-100">Password reset required'),Yn=p('<p class="text-sm text-amber-200/90">Your account must set a new password before using all dashboard actions.'),zn=p('<div class="flex max-w-md gap-2">'),Zn=p('<div class="min-h-screen bg-background"><div class="mx-auto max-w-[1500px] p-4 md:p-6 lg:p-8"><header class="rounded-xl border border-border bg-card p-4"><div class="flex flex-col gap-4 md:flex-row md:items-center md:justify-between"><div><p class="text-xs font-semibold uppercase tracking-[0.2em] text-primary">APwhy</p><h1 class="text-2xl font-bold">API Routing + Management Hub</h1><p class="mt-1 text-sm text-muted-foreground">Green-focused, self-hosted control plane with auth bootstrap, RBAC, gateway, and analytics.</p></div><div class="flex items-center gap-2"><div class="text-right text-xs text-muted-foreground"><p></p><p></p></div></div></div><div class="mt-4 flex flex-wrap gap-2"></div></header><main class=mt-4>'),el=p("<button>");function tl(){const[e,t]=y(!0),[r,n]=y(!1),[s,i]=y(null),[o,a]=y("analytics"),[h,m]=y(""),d=[{id:"analytics",label:"Analytics"},{id:"services",label:"Services"},{id:"databases",label:"Databases"},{id:"keys",label:"API Keys"},{id:"users",label:"Users"},{id:"roles",label:"Roles"},{id:"settings",label:"Settings"}];async function l(){t(!0);try{const b=await Tt();if(n(b.registrationOpen),!b.registrationOpen)try{const x=await Ue();i(x)}catch{i(null)}}finally{t(!1)}}Ee(()=>{l()}),Ee(()=>{s()&&Zt("dashboard_tab",o(),{tab:o()}).catch(()=>{})});async function f(){await Nt(),i(null)}async function g(){if(!h().trim())return;await Lt(h().trim());const b=await Ue();i(b),m("")}return e()?Qn():r()?c(ur,{onComplete:l}):s()?(()=>{var b=Zn(),x=b.firstChild,V=x.firstChild,U=V.firstChild,T=U.firstChild,O=T.nextSibling,k=O.firstChild,M=k.firstChild,G=M.nextSibling,Z=U.nextSibling,ee=V.nextSibling;return u(M,()=>s()?.email),u(G,()=>s()?.roles.join(", ")),u(O,c(E,{variant:"outline",onClick:()=>{f()},children:"Sign Out"}),null),u(Z,c(K,{each:d,children:w=>(()=>{var $=el();return $.$$click=()=>a(w.id),u($,()=>w.label),L(()=>X($,`rounded-md border px-3 py-1.5 text-xs font-semibold ${o()===w.id?"border-primary bg-primary/20 text-primary":"border-border bg-secondary/40 text-foreground"}`)),$})()})),u(x,c(ye,{get when(){return s()?.forcePasswordReset},get children(){return c(A,{class:"mt-4 space-y-3 border-amber-500/45 bg-amber-500/10",get children(){return[Xn(),Yn(),(()=>{var w=zn();return u(w,c(D,{type:"password",placeholder:"New password",get value(){return h()},onInput:$=>m($.currentTarget.value)}),null),u(w,c(E,{onClick:()=>{g()},children:"Save"}),null),w})()]}})}}),ee),u(ee,c(dt,{get children(){return[c(W,{get when(){return o()==="analytics"},get children(){return c(hn,{})}}),c(W,{get when(){return o()==="services"},get children(){return c(Cr,{})}}),c(W,{get when(){return o()==="databases"},get children(){return c(jr,{})}}),c(W,{get when(){return o()==="keys"},get children(){return c(en,{})}}),c(W,{get when(){return o()==="users"},get children(){return c(An,{})}}),c(W,{get when(){return o()==="roles"},get children(){return c(Vn,{})}}),c(W,{get when(){return o()==="settings"},get children(){return c(Wn,{})}})]}})),b})():c(ir,{onLoggedIn:async()=>l()})}Oe(["click"]);vt(()=>c(tl,{}),document.getElementById("root"));