home-hosted 0.8.2 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/AGENTS.md +9 -5
  2. package/README.md +50 -14
  3. package/dist/cli.js +1331 -282
  4. package/dist/cli.js.map +1 -1
  5. package/docs/DDNS.md +2 -1
  6. package/docs/NOTIFICATIONS.md +72 -20
  7. package/docs/SERVERS.md +20 -1
  8. package/docs/UI_CREATION.md +22 -7
  9. package/docs/branding/logo.svg +33 -0
  10. package/docs/branding/social-preview.png +0 -0
  11. package/package.json +27 -24
  12. package/uis/stock/dist/assets/de-DL4xkOYj.js +1 -0
  13. package/uis/stock/dist/assets/es-CKj-v3FY.js +1 -0
  14. package/uis/stock/dist/assets/fr-72WremqT.js +1 -0
  15. package/uis/stock/dist/assets/index-BNSSU69y.js +47 -0
  16. package/uis/stock/dist/assets/index-GxTN2fYn.css +2 -0
  17. package/uis/stock/dist/assets/ja-BU4XyMbC.js +1 -0
  18. package/uis/stock/dist/assets/ko-Db8xtJ0N.js +1 -0
  19. package/uis/stock/dist/assets/ru-Bs8KXP2O.js +1 -0
  20. package/uis/stock/dist/assets/vi-DdQD4h7B.js +1 -0
  21. package/uis/stock/dist/assets/zh-CN-DIrw2Ubv.js +1 -0
  22. package/uis/stock/dist/favicon.ico +0 -0
  23. package/uis/stock/dist/favicon.svg +14 -0
  24. package/uis/stock/dist/index.html +6 -2
  25. package/uis/stock/dist/ui.json +3 -3
  26. package/uis/stock/dist/assets/de-DQxDtYp2.js +0 -1
  27. package/uis/stock/dist/assets/es-BP0qzCTU.js +0 -1
  28. package/uis/stock/dist/assets/fr-DHCvxiys.js +0 -1
  29. package/uis/stock/dist/assets/index-C02FUAwz.js +0 -46
  30. package/uis/stock/dist/assets/index-Skf2FzpK.css +0 -2
  31. package/uis/stock/dist/assets/ja-DseIeS1D.js +0 -1
  32. package/uis/stock/dist/assets/ko-Dcu2b6c2.js +0 -1
  33. package/uis/stock/dist/assets/ru-DaAAVw09.js +0 -1
  34. package/uis/stock/dist/assets/vi-D780h-t9.js +0 -1
  35. package/uis/stock/dist/assets/zh-CN-C8OC-N1b.js +0 -1
@@ -1,46 +0,0 @@
1
- var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function n(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var r={},i=[],a=()=>{},o=()=>!1,s=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),c=e=>e.startsWith(`onUpdate:`),l=Object.assign,u=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},d=Object.prototype.hasOwnProperty,f=(e,t)=>d.call(e,t),p=Array.isArray,m=e=>w(e)===`[object Map]`,h=e=>w(e)===`[object Set]`,g=e=>w(e)===`[object Date]`,_=e=>w(e)===`[object RegExp]`,v=e=>typeof e==`function`,y=e=>typeof e==`string`,b=e=>typeof e==`symbol`,x=e=>typeof e==`object`&&!!e,S=e=>(x(e)||v(e))&&v(e.then)&&v(e.catch),C=Object.prototype.toString,w=e=>C.call(e),T=e=>w(e).slice(8,-1),ee=e=>w(e)===`[object Object]`,te=e=>y(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ne=n(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),re=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ie=/-\w/g,ae=re(e=>e.replace(ie,e=>e.slice(1).toUpperCase())),oe=/\B([A-Z])/g,se=re(e=>e.replace(oe,`-$1`).toLowerCase()),ce=re(e=>e.charAt(0).toUpperCase()+e.slice(1)),le=re(e=>e?`on${ce(e)}`:``),E=(e,t)=>!Object.is(e,t),ue=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},de=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},fe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},pe=e=>{let t=y(e)?Number(e):NaN;return isNaN(t)?e:t},me,he=()=>me||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{},ge=n(`Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol`);function _e(e){if(p(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=y(r)?xe(r):_e(r);if(i)for(let e in i)t[e]=i[e]}return t}if(y(e)||x(e))return e}var ve=/;(?![^(]*\))/g,ye=/:([^]+)/,be=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function xe(e){let t={};return e.replace(be,e=>e.startsWith(`/*`)?``:e).split(ve).forEach(e=>{if(e){let n=e.split(ye);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function D(e){let t=``;if(y(e))t=e;else if(p(e))for(let n=0;n<e.length;n++){let r=D(e[n]);r&&(t+=r+` `)}else if(x(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}function Se(e){if(!e)return null;let{class:t,style:n}=e;return t&&!y(t)&&(e.class=D(t)),n&&(e.style=_e(n)),e}var Ce=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,we=n(Ce);Ce+``;function Te(e){return!!e||e===``}function Ee(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let i=0;r&&i<e.length;i++)r=Ae(e[i],t[i],n);return r}function De(e,t,n){if(e.size!==t.size)return!1;let r=Array.from(t),i=new Uint8Array(r.length);for(let t of e){let e=-1;for(let a=0;a<r.length;a++)if(!i[a]&&Ae(t,r[a],n)){e=a;break}if(e<0)return!1;i[e]=1}return!0}function Oe(e,t,n){let r=m(e),i=m(t);if(r||i||(r=h(e),i=h(t),r||i))return r&&i?De(e,t,n):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e){let i=e.hasOwnProperty(r),a=t.hasOwnProperty(r);if(i&&!a||!i&&a||!Ae(e[r],t[r],n))return!1}return String(e)===String(t)}function ke(e,t,n,r){n||=[new Map,new Map];let[i,a]=n;if(i.has(e)||a.has(t))return i.get(e)===t&&a.get(t)===e;i.set(e,t),a.set(t,e);let o=r(e,t,n);return i.delete(e),a.delete(t),o}function Ae(e,t,n){if(e===t)return!0;let r=g(e),i=g(t);return r||i?r&&i?e.getTime()===t.getTime():!1:(r=b(e),i=b(t),r||i?e===t:(r=p(e),i=p(t),r||i?r&&i?ke(e,t,n,Ee):!1:(r=x(e),i=x(t),r||i?!r||!i?!1:ke(e,t,n,Oe):String(e)===String(t))))}function je(e,t){return e.findIndex(e=>Ae(e,t))}var Me=e=>!!(e&&e.__v_isRef===!0),O=e=>y(e)?e:e==null?``:p(e)||x(e)&&(e.toString===C||!v(e.toString))?Me(e)?O(e.value):JSON.stringify(e,Ne,2):String(e),Ne=(e,t)=>Me(t)?Ne(e,t.value):m(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Pe(t,r)+` =>`]=n,e),{})}:h(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Pe(e))}:b(t)?Pe(t):x(t)&&!p(t)&&!ee(t)?String(t):t,Pe=(e,t=``)=>b(e)?`Symbol(${e.description??t})`:e;function Fe(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var Ie,Le=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&Ie&&(Ie.active?(this.parent=Ie,this.index=(Ie.scopes||(Ie.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].pause()}for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}let n=this.effects.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}}run(e){if(this._active){let t=Ie;try{return Ie=this,e()}finally{Ie=t}}}on(){++this._on===1&&(this.prevScope=Ie,Ie=this)}off(){if(this._on>0&&--this._on===0){if(Ie===this)Ie=this.prevScope;else{let e=Ie;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){let e=this.scopes.slice();for(t=0,n=e.length;t<n;t++)e[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Re(e){return new Le(e)}function ze(){return Ie}function Be(e,t=!1){Ie&&Ie.cleanups.push(e)}var Ve,He=new WeakSet,Ue=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Ie&&(Ie.active?Ie.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,He.has(this)&&(He.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||qe(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,ct(this),Xe(this);let e=Ve,t=it;Ve=this,it=!0;try{return this.fn()}finally{Ze(this),Ve=e,it=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)et(e);this.deps=this.depsTail=void 0,ct(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?He.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Qe(this)&&this.run()}get dirty(){return Qe(this)}},We=0,Ge,Ke;function qe(e,t=!1){if(e.flags|=8,t){e.next=Ke,Ke=e;return}e.next=Ge,Ge=e}function Je(){We++}function Ye(){if(--We>0)return;if(Ke){let e=Ke;for(Ke=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ge;){let t=Ge;for(Ge=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Xe(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Ze(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),et(r),tt(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Qe(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&($e(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function $e(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===lt)||(e.globalVersion=lt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Qe(e))))return;e.flags|=2;let t=e.dep,n=Ve,r=it;Ve=e,it=!0;try{Xe(e);let n=e.fn(e._value);(t.version===0||E(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{Ve=n,it=r,Ze(e),e.flags&=-3}}function et(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)et(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function tt(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function nt(e,t){e.effect instanceof Ue&&(e=e.effect.fn);let n=new Ue(e);t&&l(n,t);try{n.run()}catch(e){throw n.stop(),e}let r=n.run.bind(n);return r.effect=n,r}function rt(e){e.effect.stop()}var it=!0,at=[];function ot(){at.push(it),it=!1}function st(){let e=at.pop();it=e===void 0||e}function ct(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Ve;Ve=void 0;try{t()}finally{Ve=e}}}var lt=0,ut=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},dt=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!Ve||!it||Ve===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Ve)t=this.activeLink=new ut(Ve,this),Ve.deps?(t.prevDep=Ve.depsTail,Ve.depsTail.nextDep=t,Ve.depsTail=t):Ve.deps=Ve.depsTail=t,ft(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=Ve.depsTail,t.nextDep=void 0,Ve.depsTail.nextDep=t,Ve.depsTail=t,Ve.deps===t&&(Ve.deps=e)}return t}trigger(e){this.version++,lt++,this.notify(e)}notify(e){Je();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Ye()}}};function ft(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)ft(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var pt=new WeakMap,mt=Symbol(``),ht=Symbol(``),gt=Symbol(``);function _t(e,t,n){if(it&&Ve){let t=pt.get(e);t||pt.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new dt),r.map=t,r.key=n),r.track()}}function vt(e,t,n,r,i,a){let o=pt.get(e);if(!o){lt++;return}let s=e=>{e&&e.trigger()};if(Je(),t===`clear`)o.forEach(s);else{let i=p(e),a=i&&te(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===gt||!b(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(gt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(mt)),m(e)&&s(o.get(ht)));break;case`delete`:i||(s(o.get(mt)),m(e)&&s(o.get(ht)));break;case`set`:m(e)&&s(o.get(mt))}}Ye()}function yt(e,t){let n=pt.get(e);return n&&n.get(t)}function bt(e){let t=dn(e);return t===e||(_t(t,`iterate`,gt),ln(e))?t:cn(e)?sn(e)?t.map(e=>mn(pn(e))):t.map(mn):t.map(pn)}function xt(e){return _t(e=dn(e),`iterate`,gt),e}function St(e,t){return cn(e)?mn(sn(e)?pn(t):t):pn(t)}var Ct={__proto__:null,[Symbol.iterator](){return wt(this,Symbol.iterator,e=>St(this,e))},concat(...e){return bt(this).concat(...e.map(e=>p(e)?bt(e):e))},entries(){return wt(this,`entries`,e=>(e[1]=St(this,e[1]),e))},every(e,t){return Et(this,`every`,e,t,void 0,arguments)},filter(e,t){return Et(this,`filter`,e,t,e=>e.map(e=>St(this,e)),arguments)},find(e,t){return Et(this,`find`,e,t,e=>St(this,e),arguments)},findIndex(e,t){return Et(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return Et(this,`findLast`,e,t,e=>St(this,e),arguments)},findLastIndex(e,t){return Et(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return Et(this,`forEach`,e,t,void 0,arguments)},includes(...e){return Ot(this,`includes`,e)},indexOf(...e){return Ot(this,`indexOf`,e)},join(e){return bt(this).join(e)},lastIndexOf(...e){return Ot(this,`lastIndexOf`,e)},map(e,t){return Et(this,`map`,e,t,void 0,arguments)},pop(){return kt(this,`pop`)},push(...e){return kt(this,`push`,e)},reduce(e,...t){return Dt(this,`reduce`,e,t)},reduceRight(e,...t){return Dt(this,`reduceRight`,e,t)},shift(){return kt(this,`shift`)},some(e,t){return Et(this,`some`,e,t,void 0,arguments)},splice(...e){return kt(this,`splice`,e)},toReversed(){return bt(this).toReversed()},toSorted(e){return bt(this).toSorted(e)},toSpliced(...e){return bt(this).toSpliced(...e)},unshift(...e){return kt(this,`unshift`,e)},values(){return wt(this,`values`,e=>St(this,e))}};function wt(e,t,n){let r=xt(e),i=r[t]();return r!==e&&!ln(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var Tt=Array.prototype;function Et(e,t,n,r,i,a){let o=xt(e),s=o!==e&&!ln(e),c=o[t];if(c!==Tt[t]){let t=c.apply(e,a);return s?pn(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,St(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function Dt(e,t,n,r){let i=xt(e),a=i!==e&&!ln(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=St(e,t)),n.call(this,t,St(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?St(e,c):c}function Ot(e,t,n){let r=dn(e);_t(r,`iterate`,gt);let i=r[t](...n);return(i===-1||i===!1)&&un(n[0])?(n[0]=dn(n[0]),r[t](...n)):i}function kt(e,t,n=[]){ot(),Je();let r=dn(e)[t].apply(e,n);return Ye(),st(),r}var At=n(`__proto__,__v_isRef,__isVue`),jt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(b));function Mt(e){b(e)||(e=String(e));let t=dn(this);return _t(t,`has`,e),t.hasOwnProperty(e)}var Nt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?$t:Qt:i?Zt:Xt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=p(e);if(!r){let e;if(a&&(e=Ct[t]))return e;if(t===`hasOwnProperty`)return Mt}let o=Reflect.get(e,t,hn(e)?e:n);if((b(t)?jt.has(t):At(t))||(r||_t(e,`get`,t),i))return o;if(hn(o)){let e=a&&te(t)?o:o.value;return r&&x(e)?rn(e):e}return x(o)?r?rn(o):tn(o):o}},Pt=class extends Nt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=p(e)&&te(t);if(!this._isShallow){let e=cn(i);if(!ln(n)&&!cn(n)&&(i=dn(i),n=dn(n)),!a&&hn(i)&&!hn(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:f(e,t),s=Reflect.set(e,t,n,hn(e)?e:r);return e===dn(r)&&s&&(o?E(n,i)&&vt(e,`set`,t,n,i):vt(e,`add`,t,n)),s}deleteProperty(e,t){let n=f(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&vt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!b(t)||!jt.has(t))&&_t(e,`has`,t),n}ownKeys(e){return _t(e,`iterate`,p(e)?`length`:mt),Reflect.ownKeys(e)}},Ft=class extends Nt{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},It=new Pt,Lt=new Ft,Rt=new Pt(!0),zt=new Ft(!0),Bt=e=>e,Vt=e=>Reflect.getPrototypeOf(e);function Ht(e,t,n){return function(...r){let i=this.__v_raw,a=dn(i),o=m(a),s=e===`entries`||e===Symbol.iterator&&o,c=e===`keys`&&o,u=i[e](...r),d=n?Bt:t?mn:pn;return!t&&_t(a,`iterate`,c?ht:mt),l(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Ut(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Wt(e,t){let n={get(n){let r=this.__v_raw,i=dn(r),a=dn(n);e||(E(n,a)&&_t(i,`get`,n),_t(i,`get`,a));let{has:o}=Vt(i),s=t?Bt:e?mn:pn;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&_t(dn(t),`iterate`,mt),t.size},has(t){let n=this.__v_raw,r=dn(n),i=dn(t);return e||(E(t,i)&&_t(r,`has`,t),_t(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=dn(a),s=t?Bt:e?mn:pn;return!e&&_t(o,`iterate`,mt),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return l(n,e?{add:Ut(`add`),set:Ut(`set`),delete:Ut(`delete`),clear:Ut(`clear`)}:{add(e){let n=dn(this),r=Vt(n),i=dn(e),a=!t&&!ln(e)&&!cn(e)?i:e;return r.has.call(n,a)||E(e,a)&&r.has.call(n,e)||E(i,a)&&r.has.call(n,i)||(n.add(a),vt(n,`add`,a,a)),this},set(e,n){!t&&!ln(n)&&!cn(n)&&(n=dn(n));let r=dn(this),{has:i,get:a}=Vt(r),o=i.call(r,e);o||=(e=dn(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?E(n,s)&&vt(r,`set`,e,n,s):vt(r,`add`,e,n),this},delete(e){let t=dn(this),{has:n,get:r}=Vt(t),i=n.call(t,e);i||=(e=dn(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&vt(t,`delete`,e,void 0,a),o},clear(){let e=dn(this),t=e.size!==0,n=e.clear();return t&&vt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Ht(r,e,t)}),n}function Gt(e,t){let n=Wt(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(f(n,r)&&r in t?n:t,r,i)}var Kt={get:Gt(!1,!1)},qt={get:Gt(!1,!0)},Jt={get:Gt(!0,!1)},Yt={get:Gt(!0,!0)},Xt=new WeakMap,Zt=new WeakMap,Qt=new WeakMap,$t=new WeakMap;function en(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function tn(e){return cn(e)?e:on(e,!1,It,Kt,Xt)}function nn(e){return on(e,!1,Rt,qt,Zt)}function rn(e){return on(e,!0,Lt,Jt,Qt)}function an(e){return on(e,!0,zt,Yt,$t)}function on(e,t,n,r,i){if(!x(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=en(T(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function sn(e){return cn(e)?sn(e.__v_raw):!!(e&&e.__v_isReactive)}function cn(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function un(e){return e?!!e.__v_raw:!1}function dn(e){let t=e&&e.__v_raw;return t?dn(t):e}function fn(e){return!f(e,`__v_skip`)&&Object.isExtensible(e)&&de(e,`__v_skip`,!0),e}var pn=e=>x(e)?tn(e):e,mn=e=>x(e)?rn(e):e;function hn(e){return e?e.__v_isRef===!0:!1}function k(e){return _n(e,!1)}function gn(e){return _n(e,!0)}function _n(e,t){return hn(e)?e:new vn(e,t)}var vn=class{constructor(e,t){this.dep=new dt,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:dn(e),this._value=t?e:pn(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||ln(e)||cn(e);e=n?e:dn(e),E(e,t)&&(this._rawValue=e,this._value=n?e:pn(e),this.dep.trigger())}};function yn(e){e.dep&&e.dep.trigger()}function A(e){return hn(e)?e.value:e}function bn(e){return v(e)?e():A(e)}var xn={get:(e,t,n)=>t===`__v_raw`?e:A(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return hn(i)&&!hn(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Sn(e){return sn(e)?e:new Proxy(e,xn)}var Cn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new dt,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function wn(e){return new Cn(e)}function Tn(e){let t=p(e)?Array(e.length):{};for(let n in e)t[n]=kn(e,n);return t}var En=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=b(t)?t:String(t),this._raw=dn(e);let r=!0,i=e;if(!p(e)||b(this._key)||!te(this._key))do r=!un(i)||ln(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=A(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&hn(this._raw[this._key])){let t=this._object[this._key];if(hn(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return yt(this._raw,this._key)}},Dn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function On(e,t,n){return hn(e)?e:v(e)?new Dn(e):x(e)&&arguments.length>1?kn(e,t,n):k(e)}function kn(e,t,n){return new En(e,t,n)}var An=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new dt(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=lt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ve!==this)return qe(this,!0),!0}get value(){let e=this.dep.track();return $e(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function jn(e,t,n=!1){let r,i;return v(e)?r=e:(r=e.get,i=e.set),new An(r,i,n)}var Mn={GET:`get`,HAS:`has`,ITERATE:`iterate`},Nn={SET:`set`,ADD:`add`,DELETE:`delete`,CLEAR:`clear`},Pn={},Fn=new WeakMap,In=void 0;function Ln(){return In}function Rn(e,t=!1,n=In){if(n){let t=Fn.get(n);t||Fn.set(n,t=[]),t.push(e)}}function zn(e,t,n=r){let{immediate:i,deep:o,once:s,scheduler:c,augmentJob:l,call:d}=n,f=e=>o?e:ln(e)||o===!1||o===0?Bn(e,1):Bn(e),m,h,g,_,y=!1,b=!1;if(hn(e)?(h=()=>e.value,y=ln(e)):sn(e)?(h=()=>f(e),y=!0):p(e)?(b=!0,y=e.some(e=>sn(e)||ln(e)),h=()=>e.map(e=>{if(hn(e))return e.value;if(sn(e))return f(e);if(v(e))return d?d(e,2):e()})):h=v(e)?t?d?()=>d(e,2):e:()=>{if(g){ot();try{g()}finally{st()}}let t=In;In=m;try{return d?d(e,3,[_]):e(_)}finally{In=t}}:a,t&&o){let e=h,t=o===!0?1/0:o;h=()=>Bn(e(),t)}let x=ze(),S=()=>{m.stop(),x&&x.active&&u(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{let n=e(...t);return S(),n}}let C=b?Array(e.length).fill(Pn):Pn,w=e=>{if(m.flags&1&&(m.dirty||e)){if(t){let n=m.run();if(e||o||y||(b?n.some((e,t)=>E(e,C[t])):E(n,C))){g&&g();let e=In;In=m;try{let e=[n,C===Pn?void 0:b&&C[0]===Pn?[]:C,_];C=n,d?d(t,3,e):t(...e)}finally{In=e}}}else m.run()}};return l&&l(w),m=new Ue(h),m.scheduler=c?()=>c(w,!1):w,_=e=>Rn(e,!1,m),g=m.onStop=()=>{let e=Fn.get(m);if(e){if(d)d(e,4);else for(let t of e)t();Fn.delete(m)}},t?i?w(!0):C=m.run():c?c(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function Bn(e,t=1/0,n){if(t<=0||!x(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,hn(e))Bn(e.value,t,n);else if(p(e))for(let r=0;r<e.length;r++)Bn(e[r],t,n);else if(h(e)||m(e))e.forEach(e=>{Bn(e,t,n)});else if(ee(e)){for(let r in e)Bn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Bn(e[r],t,n)}return e}var Vn=[];function Hn(e){Vn.push(e)}function Un(){Vn.pop()}function Wn(e,t){}var Gn={SETUP_FUNCTION:0,0:`SETUP_FUNCTION`,RENDER_FUNCTION:1,1:`RENDER_FUNCTION`,NATIVE_EVENT_HANDLER:5,5:`NATIVE_EVENT_HANDLER`,COMPONENT_EVENT_HANDLER:6,6:`COMPONENT_EVENT_HANDLER`,VNODE_HOOK:7,7:`VNODE_HOOK`,DIRECTIVE_HOOK:8,8:`DIRECTIVE_HOOK`,TRANSITION_HOOK:9,9:`TRANSITION_HOOK`,APP_ERROR_HANDLER:10,10:`APP_ERROR_HANDLER`,APP_WARN_HANDLER:11,11:`APP_WARN_HANDLER`,FUNCTION_REF:12,12:`FUNCTION_REF`,ASYNC_COMPONENT_LOADER:13,13:`ASYNC_COMPONENT_LOADER`,SCHEDULER:14,14:`SCHEDULER`,COMPONENT_UPDATE:15,15:`COMPONENT_UPDATE`,APP_UNMOUNT_CLEANUP:16,16:`APP_UNMOUNT_CLEANUP`},Kn={sp:`serverPrefetch hook`,bc:`beforeCreate hook`,c:`created hook`,bm:`beforeMount hook`,m:`mounted hook`,bu:`beforeUpdate hook`,u:`updated`,bum:`beforeUnmount hook`,um:`unmounted hook`,a:`activated hook`,da:`deactivated hook`,ec:`errorCaptured hook`,rtc:`renderTracked hook`,rtg:`renderTriggered hook`,0:`setup function`,1:`render function`,2:`watcher getter`,3:`watcher callback`,4:`watcher cleanup function`,5:`native event handler`,6:`component event handler`,7:`vnode hook`,8:`directive hook`,9:`transition hook`,10:`app errorHandler`,11:`app warnHandler`,12:`ref function`,13:`async component loader`,14:`scheduler flush`,15:`component update`,16:`app unmount cleanup function`};function qn(e,t,n,r){try{return r?e(...r):e()}catch(e){Yn(e,t,n)}}function Jn(e,t,n,r){if(v(e)){let i=qn(e,t,n,r);return i&&S(i)&&i.catch(e=>{Yn(e,t,n)}),i}if(p(e)){let i=[];for(let a=0;a<e.length;a++)i.push(Jn(e[a],t,n,r));return i}}function Yn(e,t,n,i=!0){let a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||r;if(t){let r=t.parent,i=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;r;){let t=r.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,a)===!1)return}r=r.parent}if(o){ot(),qn(o,null,10,[e,i,a]),st();return}}Xn(e,n,a,i,s)}function Xn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var Zn=[],Qn=-1,$n=[],er=null,tr=0,nr=Promise.resolve(),rr=null;function ir(e){let t=rr||nr;return e?t.then(this?e.bind(this):e):t}function ar(e){let t=Qn+1,n=Zn.length;for(;t<n;){let r=t+n>>>1,i=Zn[r],a=dr(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function or(e){if(!(e.flags&1)){let t=dr(e),n=Zn[Zn.length-1];!n||!(e.flags&2)&&t>=dr(n)?Zn.push(e):Zn.splice(ar(t),0,e),e.flags|=1,sr()}}function sr(){rr||=nr.then(fr)}function cr(e){if(!p(e))er&&e.id===-1?er.splice(tr+1,0,e):e.flags&1||($n.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)$n.push(e[t]);sr()}function lr(e,t,n=Qn+1){for(;n<Zn.length;n++){let t=Zn[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;Zn.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function ur(e){if($n.length){let e=[...new Set($n)].sort((e,t)=>dr(e)-dr(t));if($n.length=0,er){for(let t=0;t<e.length;t++)er.push(e[t]);return}for(er=e,tr=0;tr<er.length;tr++){let e=er[tr];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}er=null,tr=0}}var dr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function fr(e){try{for(Qn=0;Qn<Zn.length;Qn++){let e=Zn[Qn];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),qn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;Qn<Zn.length;Qn++){let e=Zn[Qn];e&&(e.flags&=-2)}Qn=-1,Zn.length=0,ur(e),rr=null,(Zn.length||$n.length)&&fr(e)}}var pr,mr=[];function hr(e,t){pr=e,pr?(pr.enabled=!0,mr.forEach(({event:e,args:t})=>pr.emit(e,...t)),mr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{hr(e,t)}),setTimeout(()=>{pr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,mr=[])},3e3)):mr=[]}var gr=null,_r=null;function vr(e){let t=gr;return gr=e,_r=e&&e.type.__scopeId||null,t}function yr(e){_r=e}function br(){_r=null}var xr=e=>j;function j(e,t=gr,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&vs(-1);let i=vr(t),a=ms.length,o;try{o=e(...n)}finally{for(let e=ms.length;e>a;e--)gs();vr(i),r._d&&vs(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Sr(e,t){if(gr===null)return e;let n=tc(gr),i=e.dirs||=[];for(let e=0;e<t.length;e++){let[a,o,s,c=r]=t[e];a&&(v(a)&&(a={mounted:a,updated:a}),a.deep&&Bn(o),i.push({dir:a,instance:n,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function Cr(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(ot(),Jn(c,n,8,[e.el,s,e,t]),st())}}function wr(e,t){if(Ls){let n=Ls.provides,r=Ls.parent&&Ls.parent.provides;r===n&&(n=Ls.provides=Object.create(r)),n[e]=t}}function Tr(e,t,n=!1){let r=Rs();if(r||oo){let i=oo?oo._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&v(t)?t.call(r&&r.proxy):t}}function Er(){return!!(Rs()||oo)}var Dr=Symbol.for(`v-scx`),Or=()=>Tr(Dr);function kr(e,t){return Mr(e,null,t)}function Ar(e,t){return Mr(e,null,{flush:`post`})}function jr(e,t){return Mr(e,null,{flush:`sync`})}function M(e,t,n){return Mr(e,t,n)}function Mr(e,t,n=r){let{immediate:i,deep:o,flush:s,once:c}=n,u=l({},n),d=t&&i||!t&&s!==`post`,f;if(Ws){if(s===`sync`){let e=Or();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=a,e.resume=a,e.pause=a,e}}let p=Ls;u.call=(e,t,n)=>Jn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{Bo(e,p&&p.suspense)}:s!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():or(e)}),u.augmentJob=e=>{t&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=zn(e,t,u);return Ws&&(f?f.push(h):d&&h()),h}function Nr(e,t,n){let r=this.proxy,i=y(e)?e.includes(`.`)?Pr(r,e):()=>r[e]:e.bind(r,r),a;v(t)?a=t:(a=t.handler,n=t);let o=Vs(this),s=Mr(i,a.bind(r),n);return o(),s}function Pr(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var Fr=new WeakMap,Ir=Symbol(`_vte`),Lr=e=>e.__isTeleport,Rr=e=>e&&(e.disabled||e.disabled===``),zr=e=>e&&(e.defer||e.defer===``),Br=e=>typeof SVGElement<`u`&&e instanceof SVGElement,Vr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Hr=(e,t)=>{let n=e&&e.to;return y(n)?t?t(n):null:n},Ur={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=Rr(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=Rr(e.props),r=e.target=Hr(e.props,m),a=Jr(r,e,h,p);r&&(o!==`svg`&&Br(r)?o=`svg`:o!==`mathml`&&Vr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),qr(e,!1)))},S=e=>{let t=()=>{if(Fr.get(e)===t){if(Fr.delete(e),Rr(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),qr(e,!0)}x(e)}};Fr.set(e,t),Bo(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),zr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),qr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Fr.get(e);if(u){u.flags|=8,Fr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Rr(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||Br(p)?o=`svg`:(o===`mathml`||Vr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),qo(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Wr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=Hr(t.props,m);e&&(t.target=e,Wr(t,e,null,l,0))}else g&&Wr(t,p,h,l,1);qr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=Rr(f),m=a||!p,h=Fr.get(e);if(h&&(h.flags|=8,Fr.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:Wr,hydrate:Gr};function Wr(e,t,n,{o:{insert:r},m:i},a=2){a===0&&r(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!Fr.has(e)&&(!d||Rr(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function Gr(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=Hr(t.props,c),h=Rr(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||Jr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||Jr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),qr(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var Kr=Ur;function qr(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function Jr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[Ir]=o,e&&(r(a,e,i),r(o,e,i)),o}var Yr=Symbol(`_leaveCb`),Xr=Symbol(`_enterCb`);function Zr(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return na(()=>{e.isMounted=!0}),aa(()=>{e.isUnmounting=!0}),e}var Qr=[Function,Array],$r={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Qr,onEnter:Qr,onAfterEnter:Qr,onEnterCancelled:Qr,onBeforeLeave:Qr,onLeave:Qr,onAfterLeave:Qr,onLeaveCancelled:Qr,onBeforeAppear:Qr,onAppear:Qr,onAfterAppear:Qr,onAppearCancelled:Qr},ei=e=>{let t=e.subTree;return t.component?ei(t.component):t},ti={name:`BaseTransition`,props:$r,setup(e,{slots:t}){let n=Rs(),r=Zr();return()=>{let i=t.default&&li(t.default(),!0),a=i&&i.length?ni(i):n.subTree?U():void 0;if(!a)return;let o=dn(e),{mode:s}=o;if(r.isLeaving)return oi(a);let c=si(a);if(!c)return oi(a);let l=ai(c,o,r,n,e=>l=e);c.type!==fs&&ci(c,l);let u=n.subTree&&si(n.subTree);if(u&&u.type!==fs&&!xs(u,c)&&ei(n).type!==fs){let e=ai(u,o,r,n);if(ci(u,e),s===`out-in`&&c.type!==fs)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},oi(a);s===`in-out`&&c.type!==fs?e.delayLeave=(e,t,n)=>{let i=ii(r,u);i[String(u.key)]=u,e[Yr]=()=>{t(),e[Yr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function ni(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==fs){t=n;break}}return t}var ri=ti;function ii(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ai(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=ii(n,e),C=(e,t)=>{e&&Jn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),p(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=_||c;else return}t[Yr]&&t[Yr](!0);let i=S[x];i&&xs(e,i)&&i.el[Yr]&&i.el[Yr](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=v||l,i=y||u,o=b||d;else return}let s=!1;t[Xr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Xr]=void 0)};let c=t[Xr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Xr]&&t[Xr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[Yr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[Yr]=void 0,S[i]===e&&delete S[i])};let o=t[Yr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=ai(e,t,n,r,i);return i&&i(a),a}};return T}function oi(e){if(Wi(e))return e=Ds(e),e.children=null,e}function si(e){if(!Wi(e))return Lr(e.type)&&e.children?ni(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&v(n.default))return n.default()}}function ci(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;ci(Lr(n.type)&&si(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function li(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===I?(o.patchFlag&128&&i++,r=r.concat(li(o.children,t,s))):(t||o.type!==fs)&&r.push(s==null?o:Ds(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function N(e,t){return v(e)?l({name:e.name},t,{setup:e}):e}function ui(){let e=Rs();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+e.ids[1]++:``}function di(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function fi(e){let t=Rs(),n=gn(null);if(t){let i=t.refs===r?t.refs={}:t.refs;Object.defineProperty(i,e,{enumerable:!0,get:()=>n.value,set:e=>n.value=e})}return n}function pi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var mi=new WeakMap;function hi(e,t,n,i,a=!1){if(p(e)){e.forEach((e,r)=>hi(e,t&&(p(t)?t[r]:t),n,i,a));return}if(Vi(i)&&!a){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&hi(e,t,n,i.component.subTree);return}let s=i.shapeFlag&4?tc(i.component):i.el,c=a?null:s,{i:l,r:d}=e,m=t&&t.r,h=l.refs===r?l.refs={}:l.refs,g=l.setupState,_=dn(g),b=g===r?o:e=>!pi(h,e)&&f(_,e),x=(e,t)=>!(t&&pi(h,t));if(m!=null&&m!==d){if(gi(t),y(m))h[m]=null,b(m)&&(g[m]=null);else if(hn(m)){let e=t;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(v(d))qn(d,l,12,[c,h]);else{let t=y(d),r=hn(d);if(t||r){let i=()=>{if(e.f){let n=t?b(d)?g[d]:h[d]:x(d)||!e.k?d.value:h[e.k];if(a)p(n)&&u(n,s);else if(p(n))n.includes(s)||n.push(s);else if(t)h[d]=[s],b(d)&&(g[d]=h[d]);else{let t=[s];x(d,e.k)&&(d.value=t),e.k&&(h[e.k]=t)}}else t?(h[d]=c,b(d)&&(g[d]=c)):r&&(x(d,e.k)&&(d.value=c),e.k&&(h[e.k]=c))};if(c){let t=()=>{i(),mi.delete(e)};t.id=-1,mi.set(e,t),Bo(t,n)}else gi(e),i()}}}function gi(e){let t=mi.get(e);t&&(t.flags|=8,mi.delete(e))}var _i=!1,vi=()=>{_i||=(console.error(`Hydration completed but contains mismatches.`),!0)},yi=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,bi=e=>e.namespaceURI.includes(`MathML`),xi=e=>{if(e.nodeType===1){if(yi(e))return`svg`;if(bi(e))return`mathml`}},Si=e=>e.nodeType===8;function Ci(e){let{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:a,parentNode:o,remove:c,insert:l,createComment:u}}=e,d=(e,t)=>{if(!t.hasChildNodes()){n(null,e,t),ur(),t._vnode=e;return}f(t.firstChild,e,null,null,null),ur(),t._vnode=e},f=(n,r,s,c,u,d=!1)=>{d||=!!r.dynamicChildren;let b=Si(n)&&n.data===`[`,x=()=>g(n,r,s,c,u,b),{type:S,ref:C,shapeFlag:w,patchFlag:T}=r,ee=n.nodeType;r.el=n,T===-2&&(d=!1,r.dynamicChildren=null);let te=null;switch(S){case ds:ee===3?(n.data!==r.children&&(vi(),n.data=r.children),te=a(n)):r.children===``?(l(r.el=i(``),o(n),n),te=n):te=x();break;case fs:y(n)?(te=a(n),v(r.el=n.content.firstChild,n,s)):te=ee!==8||b?x():a(n);break;case ps:if(b&&(n=a(n),ee=n.nodeType),ee===1||ee===3){te=n;let e=!r.children.length;for(let t=0;t<r.staticCount;t++)e&&(r.children+=te.nodeType===1?te.outerHTML:te.data),t===r.staticCount-1&&(r.anchor=te),te=a(te);return b?a(te):te}x();break;case I:te=b?h(n,r,s,c,u,d):x();break;default:if(w&1)te=(ee!==1||r.type.toLowerCase()!==n.tagName.toLowerCase())&&!y(n)?x():p(n,r,s,c,u,d);else if(w&6){r.slotScopeIds=u;let e=o(n);if(te=b?_(n):Si(n)&&n.data===`teleport start`?_(n,n.data,`teleport end`):a(n),t(r,e,null,s,c,xi(e),d),(Vi(r)||r.component.asyncDep)&&!r.component.subTree){let t;b?(t=V(ps),t.anchor=te?te.previousSibling:e.lastChild):t=n.nodeType===3?H(``):V(n.nodeType===8?fs:`div`),t.el=n,r.component.subTree=t}}else w&64?te=ee===8?r.type.hydrate(n,r,s,c,u,d,e,m):x():w&128&&(te=r.type.hydrate(n,r,s,c,xi(o(n)),u,d,e,f))}return C!=null&&hi(C,null,c,r),te},p=(e,t,n,i,a,o)=>{o||=!!t.dynamicChildren;let{type:l,dynamicProps:u,props:d,patchFlag:f,shapeFlag:p,dirs:h,transition:g}=t,_=l===`input`||l===`option`,b=!!u;if(_||b||f!==-1){h&&Cr(t,null,n,`created`);let l=!1;if(y(e)){l=Ko(null,g)&&n&&n.vnode.props&&n.vnode.props.appear;let r=e.content.firstChild;if(l){let e=r.getAttribute(`class`);e&&(r.$cls=e),g.beforeEnter(r)}v(r,e,n),t.el=e=r}if(p&16&&!(d&&(d.innerHTML||d.textContent))){let r=m(e.firstChild,t,e,n,i,a,o);for(r&&!Oi(e,1)&&vi();r;){let e=r;r=r.nextSibling,c(e)}}else if(p&8){let n=t.children;n[0]===`
2
- `&&(e.tagName===`PRE`||e.tagName===`TEXTAREA`)&&(n=n.slice(1));let{textContent:r}=e;r!==n&&r!==n.replace(/\r\n|\r/g,`
3
- `)&&(Oi(e,0)||vi(),e.textContent=t.children)}if(d){if(_||b||!o||f&48){let t=e.tagName.includes(`-`),i=e.namespaceURI.includes(`svg`)?`svg`:e.namespaceURI.includes(`MathML`)?`mathml`:void 0;for(let a in d)if(_&&(a.endsWith(`value`)||a===`indeterminate`)||s(a)&&!ne(a)||a[0]===`.`||t&&!ne(a)||u&&u.includes(a)){if(Ti(e,a,d[a]))continue;r(e,a,null,d[a],i,n)}}else if(d.onClick)r(e,`onClick`,null,d.onClick,void 0,n);else if(f&4&&sn(d.style))for(let e in d.style)d.style[e]}let x;(x=d&&d.onVnodeBeforeMount)&&Ns(x,n,t),h&&Cr(t,null,n,`beforeMount`),((x=d&&d.onVnodeMounted)||h||l)&&cs(()=>{x&&Ns(x,n,t),l&&g.enter(e),h&&Cr(t,null,n,`mounted`)},i)}return e.nextSibling},m=(e,t,r,o,s,c,u)=>{u||=!!t.dynamicChildren;let d=t.children,p=d.length,m=!1;for(let t=0;t<p;t++){let h=u?d[t]:d[t]=ks(d[t]),g=h.type===ds;e?(g&&!u&&t+1<p&&ks(d[t+1]).type===ds&&(l(i(e.data.slice(h.children.length)),r,a(e)),e.data=h.children),e=f(e,h,o,s,c,u)):g&&!h.children?l(h.el=i(``),r):(m||(m=!0,Oi(r,1)||vi()),n(null,h,r,null,o,s,xi(r),c))}return e},h=(e,t,n,r,i,s)=>{let{slotScopeIds:c}=t;c&&(i=i?i.concat(c):c);let d=o(e),f=m(a(e),t,d,n,r,i,s);return f&&Si(f)&&f.data===`]`?a(t.anchor=f):(vi(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,s,l)=>{if(Ai(e,t)||vi(),t.el=null,l){let t=_(e);for(;;){let n=a(e);if(n&&n!==t)c(n);else break}}let u=a(e),d=o(e);return c(e),n(null,t,d,u,r,i,xi(d),s),r&&(r.vnode.el=t.el,xo(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&Si(e)&&(e.data===t&&r++,e.data===n)){if(r===0)return a(e);r--}return e},v=(e,t,n)=>{let r=t.parentNode;r&&r.replaceChild(e,t);let i=n;for(;i;)i.vnode.el===t&&(i.vnode.el=i.subTree.el=e),i=i.parent},y=e=>e.nodeType===1&&e.tagName===`TEMPLATE`;return[d,f]}var wi=new Set([`src`,`srcset`,`href`,`poster`]);function Ti(e,t,n){return wi.has(t)?e.getAttribute(t)===(n==null?null:`${n}`):!1}var Ei=`data-allow-mismatch`,Di={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function Oi(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Ei);)e=e.parentElement;return ki(e&&e.getAttribute(Ei),t)}function ki(e,t){if(e==null)return!1;if(e===``)return!0;{let n=e.split(`,`);return t===0&&n.includes(`children`)?!0:n.includes(Di[t])}}function Ai(e,t){return Oi(e.parentElement,1)||ji(e)||Mi(t)}function ji(e){return e.nodeType===1&&ki(e.getAttribute(Ei),1)}function Mi({props:e}){let t=e&&e[Ei];return typeof t==`string`&&ki(t,1)}var Ni=he().requestIdleCallback||(e=>setTimeout(e,1)),Pi=he().cancelIdleCallback||(e=>clearTimeout(e)),Fi=(e=1e4)=>t=>{let n=Ni(t,{timeout:e});return()=>Pi(n)};function Ii(e){let{top:t,left:n,bottom:r,right:i}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:o}=window;return(t>0&&t<a||r>0&&r<a)&&(n>0&&n<o||i>0&&i<o)}var Li=e=>(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e);return n(e=>{if(e instanceof Element){if(Ii(e))return t(),r.disconnect(),!1;r.observe(e)}}),()=>r.disconnect()},Ri=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},zi=(e=[])=>(t,n)=>{y(e)&&(e=[e]);let r=!1,i=e=>{r||(r=!0,a(),t(),e.target.dispatchEvent(new e.constructor(e.type,e)))},a=()=>{n(t=>{for(let n of e)t.removeEventListener(n,i)})};return n(t=>{for(let n of e)t.addEventListener(n,i,{once:!0})}),a};function Bi(e,t){if(Si(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(Si(r)){if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++}r=r.nextSibling}}else t(e)}var Vi=e=>!!e.type.__asyncLoader;function Hi(e){v(e)&&(e={loader:e});let{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,hydrate:a,timeout:o,suspensible:s=!0,onError:c}=e,l=null,u,d=0,f=()=>(d++,l=null,p()),p=()=>{let e;return l||(e=l=t().catch(e=>{if(e=e instanceof Error?e:Error(String(e)),c)return new Promise((t,n)=>{c(e,()=>t(f()),()=>n(e),d+1)});throw e}).then(t=>e!==l&&l?l:(t&&(t.__esModule||t[Symbol.toStringTag]===`Module`)&&(t=t.default),u=t,t)))};return N({name:`AsyncComponentWrapper`,__asyncLoader:p,__asyncHydrate(e,t,n){let r=e.isConnected,i=!1;(t.bu||=[]).push(()=>i=!0);let o=()=>{i||!e.parentNode||r&&!e.isConnected||n()},s=a?()=>{let n=a(o,t=>Bi(e,t));n&&(t.bum||=[]).push(n)}:o;u?s():p().then(()=>!t.isUnmounted&&s())},get __asyncResolved(){return u},setup(){let e=Ls;if(di(e),u)return()=>Ui(u,e);let t=t=>{l=null,Yn(t,e,13,!r)};if(s&&e.suspense||Ws)return p().then(t=>()=>Ui(t,e)).catch(e=>(t(e),()=>r?V(r,{error:e}):null));let a=k(!1),c=k(),d=k(!!i),f,m;return oa(()=>{f!=null&&clearTimeout(f),m!=null&&clearTimeout(m)}),i&&(m=setTimeout(()=>{e.isUnmounted||(d.value=!1)},i)),o!=null&&(f=setTimeout(()=>{if(!e.isUnmounted&&!a.value&&!c.value){let e=Error(`Async component timed out after ${o}ms.`);t(e),c.value=e}},o)),p().then(()=>{e.isUnmounted||(a.value=!0,e.parent&&Wi(e.parent.vnode)&&e.parent.update())}).catch(n=>{if(e.isUnmounted){l=null;return}t(n),c.value=n}),()=>{if(a.value&&u)return Ui(u,e);if(c.value&&r)return V(r,{error:c.value});if(n&&!d.value)return Ui(n,e)}}})}function Ui(e,t){let{ref:n,props:r,children:i,ce:a}=t.vnode,o=V(e,r,i);return o.ref=n,o.ce=a,delete t.vnode.ce,o}var Wi=e=>e.type.__isKeepAlive,Gi={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Rs(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),Bo(()=>{a.isDeactivated=!1,a.a&&ue(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Ns(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Xo(t.m),Xo(t.a),l(e,f,null,1,s),Bo(()=>{t.da&&ue(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Ns(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Zi(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=nc(Vi(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!xs(t,o))?p(t):o&&Zi(o),i.delete(e),a.delete(e)}M(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Ki(e,t)),t&&m(e=>!Ki(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Qo(n.subTree.type)?Bo(()=>{let e=Qi(n.subTree);e.component&&i.set(g,e)},n.subTree.suspense):i.set(g,Qi(n.subTree)))};return na(_),ia(_),aa(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Qi(t);if(e.type===i.type&&e.key===i.key){Zi(i);let e=i.component.da;e&&Bo(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!bs(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Qi(r);if(s.type===fs)return o=null,s;let c=s.type,l=nc(Vi(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Ki(u,l))||d&&l&&Ki(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ds(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&ci(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Qo(r.type)?r:s}}};function Ki(e,t){return p(e)?e.some(e=>Ki(e,t)):y(e)?e.split(`,`).includes(t):_(e)?(e.lastIndex=0,e.test(t)):!1}function qi(e,t){Yi(e,`a`,t)}function Ji(e,t){Yi(e,`da`,t)}function Yi(e,t,n=Ls){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if($i(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Wi(e.parent.vnode)&&Xi(r,t,n,e),e=e.parent}}function Xi(e,t,n,r){let i=$i(t,e,r,!0);oa(()=>{u(r[t],i)},n)}function Zi(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Qi(e){return e.shapeFlag&128?e.ssContent:e}function $i(e,t,n=Ls,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{ot();let i=Vs(n),a=Jn(t,n,e,r);return i(),st(),a};return r?i.unshift(a):i.push(a),a}}var ea=e=>(t,n=Ls)=>{(!Ws||e===`sp`)&&$i(e,(...e)=>t(...e),n)},ta=ea(`bm`),na=ea(`m`),ra=ea(`bu`),ia=ea(`u`),aa=ea(`bum`),oa=ea(`um`),sa=ea(`sp`),ca=ea(`rtg`),la=ea(`rtc`);function ua(e,t=Ls){$i(`ec`,e,t)}var da=`components`,fa=`directives`;function pa(e,t){return _a(da,e,!0,t)||e}var ma=Symbol.for(`v-ndc`);function ha(e){return y(e)?_a(da,e,!1)||e:e||ma}function ga(e){return _a(fa,e)}function _a(e,t,n=!0,r=!1){let i=gr||Ls;if(i){let n=i.type;if(e===da){let e=nc(n,!1);if(e&&(e===t||e===ae(t)||e===ce(ae(t))))return n}let a=va(i[e]||n[e],t)||va(i.appContext[e],t);return!a&&r?n:a}}function va(e,t){return e&&(e[t]||e[ae(t)]||e[ce(ae(t))])}function P(e,t,n,r){let i,a=n&&n[r],o=p(e);if(o||y(e)){let n=o&&sn(e),r=!1,s=!1;n&&(r=!ln(e),s=cn(e),e=xt(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?mn(pn(e[n])):pn(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(x(e)){if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}}else i=[];return n&&(n[r]=i),i}function ya(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(p(r))for(let t=0;t<r.length;t++)e[r[t].name]=r[t].fn;else r&&(e[r.name]=r.key?(...e)=>{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function F(e,t,n,r,i,a){if(n??={},gr.ce||gr.parent&&Vi(gr.parent)&&gr.parent.ce){let e=a!=null&&n.key==null?l({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),L(),z(I,null,[V(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=ms.length;L();let c;try{let i=o&&ba(o(n)),s=n.key||a||i&&i.key;c=z(I,{key:(s&&!b(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=ms.length;e>s;e--)gs();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),c}function ba(e){return e.some(e=>!bs(e)||!(e.type===fs||e.type===I&&!ba(e.children)))?e:null}function xa(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:le(r)]=e[r];return n}var Sa=e=>e?Us(e)?tc(e):Sa(e.parent):null,Ca=l(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Sa(e.parent),$root:e=>Sa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qa(e),$forceUpdate:e=>e.f||=()=>{or(e.update)},$nextTick:e=>e.n||=ir.bind(e.proxy),$watch:e=>Nr.bind(e)}),wa=(e,t)=>e!==r&&!e.__isScriptSetup&&f(e,t),Ta={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:n,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return n[t];case 3:return o[t]}else if(wa(i,t))return s[t]=1,i[t];else if(a!==r&&f(a,t))return s[t]=2,a[t];else if(f(o,t))return s[t]=3,o[t];else if(n!==r&&f(n,t))return s[t]=4,n[t];else Ha&&(s[t]=0)}let u=Ca[t],d,p;if(u)return t===`$attrs`&&_t(e.attrs,`get`,``),u(e);if((d=c.__cssModules)&&(d=d[t]))return d;if(n!==r&&f(n,t))return s[t]=4,n[t];if(p=l.config.globalProperties,f(p,t))return p[t]},set({_:e},t,n){let{data:i,setupState:a,ctx:o}=e;return wa(a,t)?(a[t]=n,!0):i!==r&&f(i,t)?(i[t]=n,!0):f(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(n[c]||e!==r&&c[0]!==`$`&&f(e,c)||wa(t,c)||f(o,c)||f(i,c)||f(Ca,c)||f(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?f(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}},Ea=l({},Ta,{get(e,t){if(t!==Symbol.unscopables)return Ta.get(e,t,e)},has(e,t){return t[0]!==`_`&&!ge(t)}});function Da(){return null}function Oa(){return null}function ka(e){}function Aa(e){}function ja(){return null}function Ma(){}function Na(e,t){return null}function Pa(){return Ia(`useSlots`).slots}function Fa(){return Ia(`useAttrs`).attrs}function Ia(e){let t=Rs();return t.setupContext||=ec(t)}function La(e){return p(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function Ra(e,t){let n=La(e);for(let e in t){if(e.startsWith(`__skip`))continue;let r=n[e];r?p(r)||v(r)?r=n[e]={type:r,default:t[e]}:r.default=t[e]:r===null&&(r=n[e]={default:t[e]}),r&&t[`__skip_${e}`]&&(r.skipFactory=!0)}return n}function za(e,t){return!e||!t?e||t:p(e)&&p(t)?e.concat(t):l({},La(e),La(t))}function Ba(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Va(e){let t=Rs(),n=Ws,r=e();Hs(),n&&Bs(!1);let i=()=>{Vs(t),n&&Bs(!0)},a=()=>{Rs()!==t&&t.scope.off(),Hs(),n&&Bs(!1)};return S(r)&&(r=r.catch(e=>{throw i(),Promise.resolve().then(()=>Promise.resolve().then(a)),e})),[r,()=>{i(),Promise.resolve().then(a)}]}var Ha=!0;function Ua(e){let t=qa(e),n=e.proxy,r=e.ctx;Ha=!1,t.beforeCreate&&Ga(t.beforeCreate,e,`bc`);let{data:i,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:f,mounted:m,beforeUpdate:h,updated:g,activated:_,deactivated:y,beforeDestroy:b,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:te,errorCaptured:ne,serverPrefetch:re,expose:ie,inheritAttrs:ae,components:oe,directives:se,filters:ce}=t;if(u&&Wa(u,r,null),s)for(let e in s){let t=s[e];v(t)&&(r[e]=t.bind(n))}if(i){let t=i.call(n,n);x(t)&&(e.data=tn(t))}if(Ha=!0,o)for(let e in o){let t=o[e],i=W({get:v(t)?t.bind(n,n):v(t.get)?t.get.bind(n,n):a,set:!v(t)&&v(t.set)?t.set.bind(n):a});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(c)for(let e in c)Ka(c[e],r,n,e);if(l){let e=v(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{wr(t,e[t])})}d&&Ga(d,e,`c`);function le(e,t){p(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(le(ta,f),le(na,m),le(ra,h),le(ia,g),le(qi,_),le(Ji,y),le(ua,ne),le(la,ee),le(ca,te),le(aa,S),le(oa,w),le(sa,re),p(ie)){if(ie.length){let t=e.exposed||={};ie.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===a&&(e.render=T),ae!=null&&(e.inheritAttrs=ae),oe&&(e.components=oe),se&&(e.directives=se),re&&di(e)}function Wa(e,t,n=a){p(e)&&(e=Qa(e));for(let n in e){let r=e[n],i;i=x(r)?`default`in r?Tr(r.from||n,r.default,!0):Tr(r.from||n):Tr(r),hn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Ga(e,t,n){Jn(p(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ka(e,t,n,r){let i=r.includes(`.`)?Pr(n,r):()=>n[r];if(y(e)){let n=t[e];v(n)&&M(i,n)}else if(v(e))M(i,e.bind(n));else if(x(e)){if(p(e))e.forEach(e=>Ka(e,t,n,r));else{let r=v(e.handler)?e.handler.bind(n):t[e.handler];v(r)&&M(i,r,e)}}}function qa(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ja(c,e,o,!0)),Ja(c,t,o)),x(t)&&a.set(t,c),c}function Ja(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ja(e,a,n,!0),i&&i.forEach(t=>Ja(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ya[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ya={data:Xa,props:to,emits:to,methods:eo,computed:eo,beforeCreate:$a,created:$a,beforeMount:$a,mounted:$a,beforeUpdate:$a,updated:$a,beforeDestroy:$a,beforeUnmount:$a,destroyed:$a,unmounted:$a,activated:$a,deactivated:$a,errorCaptured:$a,serverPrefetch:$a,components:eo,directives:eo,watch:no,provide:Xa,inject:Za};function Xa(e,t){return t?e?function(){return l(v(e)?e.call(this,this):e,v(t)?t.call(this,this):t)}:t:e}function Za(e,t){return eo(Qa(e),Qa(t))}function Qa(e){if(p(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function $a(e,t){return e?[...new Set([].concat(e,t))]:t}function eo(e,t){return e?l(Object.create(null),e,t):t}function to(e,t){return e?p(e)&&p(t)?[...new Set([...e,...t])]:l(Object.create(null),La(e),La(t??{})):t}function no(e,t){if(!e)return t;if(!t)return e;let n=l(Object.create(null),e);for(let r in t)n[r]=$a(e[r],t[r]);return n}function ro(){return{app:null,config:{isNativeTag:o,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var io=0;function ao(e,t){return function(n,r=null){v(n)||(n=l({},n)),r!=null&&!x(r)&&(r=null);let i=ro(),a=new WeakSet,o=[],s=!1,c=i.app={_uid:io++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:cc,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&v(e.install)?(a.add(e),e.install(c,...t)):v(e)&&(a.add(e),e(c,...t))),c},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),c},component(e,t){return t?(i.components[e]=t,c):i.components[e]},directive(e,t){return t?(i.directives[e]=t,c):i.directives[e]},mount(a,o,l){if(!s){let u=c._ceVNode||V(n,r);return u.appContext=i,l===!0?l=`svg`:l===!1&&(l=void 0),o&&t?t(u,a):e(u,a,l),s=!0,c._container=a,a.__vue_app__=c,tc(u.component)}},onUnmount(e){o.push(e)},unmount(){s&&(Jn(o,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(e,t){return i.provides[e]=t,c},runWithContext(e){let t=oo;oo=c;try{return e()}finally{oo=t}}};return c}}var oo=null;function so(e,t,n=r){let i=Rs(),a=ae(t),o=se(t),s=co(e,a),c=wn((s,c)=>{let l,u=r,d;return jr(()=>{let t=e[a];E(l,t)&&(l=t,c())}),{get(){return s(),n.get?n.get(l):l},set(e){let s=n.set?n.set(e):e;if(!E(s,l)&&!(u!==r&&E(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),E(e,u)&&(E(e,s)&&!E(s,d)||p&&u!==r&&!E(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||r:c,done:!1}:{done:!0}}}},c}var co=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ae(t)}Modifiers`]||e[`${se(t)}Modifiers`];function lo(e,t,...n){if(e.isUnmounted)return;let i=e.vnode.props||r,a=n,o=t.startsWith(`update:`),s=o&&co(i,t.slice(7));s&&(s.trim&&(a=n.map(e=>y(e)?e.trim():e)),s.number&&(a=a.map(fe)));let c,l=i[c=le(t)]||i[c=le(ae(t))];!l&&o&&(l=i[c=le(se(t))]),l&&Jn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Jn(u,e,6,a)}}var uo=new WeakMap;function fo(e,t,n=!1){let r=n?uo:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!v(e)){let r=e=>{let n=fo(e,t,!0);n&&(s=!0,l(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(x(e)&&r.set(e,null),null):(p(a)?a.forEach(e=>o[e]=null):l(o,a),x(e)&&r.set(e,o),o)}function po(e,t){return!e||!s(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),f(e,t[0].toLowerCase()+t.slice(1))||f(e,se(t))||f(e,t))}function mo(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:s,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=vr(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=ks(u.call(t,e,d,f,m,p,h)),y=s}else{let e=t;v=ks(e.length>1?e(f,{attrs:s,slots:o,emit:l}):e(f,null)),y=t.props?s:go(s)}}catch(t){ms.length=0,Yn(t,e,1),v=V(fs)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(c)&&(y=_o(y,a)),b=Ds(b,y,!1,!0))}return n.dirs&&(b=Ds(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&ci(Lr(b.type)&&si(b)||b,n.transition),v=b,vr(_),v}function ho(e,t=!0){let n;for(let t=0;t<e.length;t++){let r=e[t];if(bs(r)){if(r.type!==fs||r.children===`v-if`){if(n)return;n=r}}else return}return n}var go=e=>{let t;for(let n in e)(n===`class`||n===`style`||s(n))&&((t||={})[n]=e[n]);return t},_o=(e,t)=>{let n={};for(let r in e)(!c(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function vo(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?yo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(bo(o,r,n)&&!po(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||yo(r,o,l):!!o;return!1}function yo(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(bo(t,e,a)&&!po(n,a))return!0}return!1}function bo(e,t,n){let r=e[n],i=t[n];return n===`style`&&x(r)&&x(i)?!Ae(r,i):r!==i}function xo({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var So={},Co=()=>Object.create(So),wo=e=>Object.getPrototypeOf(e)===So;function To(e,t,n,r=!1){let i={},a=Co();e.propsDefaults=Object.create(null),Do(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:nn(i):e.type.props?i:a,e.attrs=a}function Eo(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=dn(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(po(e.emitsOptions,o))continue;let u=t[o];if(c){if(f(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=ae(o);i[t]=Oo(c,s,t,u,e,!1)}}else u!==a[o]&&(a[o]=u,l=!0)}}}else{Do(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!f(t,a)&&((r=se(a))===a||!f(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=Oo(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!f(t,e))&&(delete a[e],l=!0)}l&&vt(e.attrs,`set`,``)}function Do(e,t,n,i){let[a,o]=e.propsOptions,s=!1,c;if(t)for(let r in t){if(ne(r))continue;let l=t[r],u;a&&f(a,u=ae(r))?!o||!o.includes(u)?n[u]=l:(c||={})[u]=l:po(e.emitsOptions,r)||(!(r in i)||l!==i[r])&&(i[r]=l,s=!0)}if(o){let t=dn(n),i=c||r;for(let r=0;r<o.length;r++){let s=o[r];n[s]=Oo(a,t,s,i[s],e,!f(i,s))}}return s}function Oo(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=f(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&v(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Vs(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===se(n))&&(r=!0))}return r}var ko=new WeakMap;function Ao(e,t,n=!1){let a=n?ko:t.propsCache,o=a.get(e);if(o)return o;let s=e.props,c={},u=[],d=!1;if(!v(e)){let r=e=>{d=!0;let[n,r]=Ao(e,t,!0);l(c,n),r&&u.push(...r)};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!s&&!d)return x(e)&&a.set(e,i),i;if(p(s))for(let e=0;e<s.length;e++){let t=ae(s[e]);jo(t)&&(c[t]=r)}else if(s)for(let e in s){let t=ae(e);if(jo(t)){let n=s[e],r=c[t]=p(n)||v(n)?{type:n}:l({},n),i=r.type,a=!1,o=!0;if(p(i))for(let e=0;e<i.length;++e){let t=i[e],n=v(t)&&t.name;if(n===`Boolean`){a=!0;break}n===`String`&&(o=!1)}else a=v(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||f(r,`default`))&&u.push(t)}}let m=[c,u];return x(e)&&a.set(e,m),m}function jo(e){return e[0]!==`$`&&!ne(e)}var Mo=e=>e===`_`||e===`_ctx`||e===`$stable`,No=e=>p(e)?e.map(ks):[ks(e)],Po=(e,t,n)=>{if(t._n)return t;let r=j((...e)=>No(t(...e)),n);return r._c=!1,r},Fo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Mo(n))continue;let i=e[n];if(v(i))t[n]=Po(n,i,r);else if(i!=null){let e=No(i);t[n]=()=>e}}},Io=(e,t)=>{let n=No(t);e.slots.default=()=>n},Lo=(e,t,n)=>{for(let r in t)(n||!Mo(r))&&(e[r]=t[r])},Ro=(e,t,n)=>{let r=e.slots=Co();if(e.vnode.shapeFlag&32){let e=t._;e?(Lo(r,t,n),n&&de(r,`_`,e,!0)):Fo(t,r)}else t&&Io(e,t)},zo=(e,t,n)=>{let{vnode:i,slots:a}=e,o=!0,s=r;if(i.shapeFlag&32){let e=t._;e?n&&e===1?o=!1:Lo(a,t,n):(o=!t.$stable,Fo(t,a)),s=t}else t&&(Io(e,t),s={default:1});if(o)for(let e in a)!Mo(e)&&s[e]==null&&delete a[e]},Bo=cs;function Vo(e){return Uo(e)}function Ho(e){return Uo(e,Ci)}function Uo(e,t){let n=he();n.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=a,insertStaticContent:_}=e,v=(e,t,n,r=null,a=null,o=null,s=void 0,c=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!xs(e,t)&&(r=D(e),_e(e,a,o,!0),e=null),t.patchFlag===-2&&(l=!1,t.dynamicChildren=null),t.dynamicChildren&&e&&e.dynamicChildren&&e.dynamicChildren.hasOnce&&(t.dynamicChildren===i&&(t.dynamicChildren=[]),t.dynamicChildren.hasOnce=!0);let{type:u,ref:d,shapeFlag:f}=t;switch(u){case ds:y(e,t,n,r);break;case fs:b(e,t,n,r);break;case ps:e??x(t,n,r,s);break;case I:oe(e,t,n,r,a,o,s,c,l);break;default:f&1?w(e,t,n,r,a,o,s,c,l):f&6?se(e,t,n,r,a,o,s,c,l):(f&64||f&128)&&u.process(e,t,n,r,a,o,s,c,l,we)}d!=null&&a?hi(d,e&&e.ref,o,t||e,!t):d==null&&e&&e.ref!=null&&hi(e.ref,null,o,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),re(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&te(e.children,d,null,r,i,Wo(e,a),s,u),_&&Cr(e,null,r,`created`),ee(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ne(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ns(f,r,e)}_&&Cr(e,null,r,`beforeMount`);let v=Ko(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&Bo(()=>{try{f&&Ns(f,r,e),v&&g.enter(d),_&&Cr(e,null,r,`mounted`)}finally{}},i)},ee=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||Qo(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;ee(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},te=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){let c=e[l]=s?As(e[l]):ks(e[l]);v(null,c,t,n,r,i,a,o,s)}},re=(e,t,n,i,a,o,s)=>{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||r,h=t.props||r,g;if(n&&Go(n,!1),(g=h.onVnodeBeforeUpdate)&&Ns(g,n,t,e),f&&Cr(t,e,n,`beforeUpdate`),n&&Go(n,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?ie(e.dynamicChildren,d,l,n,i,Wo(t,a),o):s||fe(e,t,l,null,n,i,Wo(t,a),o,!1),u>0){if(u&16)ae(l,m,h,n,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let r=e[t],i=m[r],o=h[r];(o!==i||r===`value`)&&c(l,r,i,o,a,n)}}u&1&&e.children!==t.children&&p(l,t.children)}else!s&&d==null&&ae(l,m,h,n,a);((g=h.onVnodeUpdated)||f)&&Bo(()=>{g&&Ns(g,n,t,e),f&&Cr(t,e,n,`updated`)},i)},ie=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s],u=c.el&&(c.type===I||!xs(c,l)||c.shapeFlag&198)?m(c.el):n;v(c,l,u,null,r,i,a,o,!0)}},ae=(e,t,n,i,a)=>{if(t!==n){if(t!==r)for(let r in t)!ne(r)&&!(r in n)&&c(e,r,t[r],null,a,i);for(let r in n){if(ne(r))continue;let o=n[r],s=t[r];o!==s&&r!==`value`&&c(e,r,s,o,a,i)}`value`in n&&c(e,`value`,t.value,n.value,a)}},oe=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),te(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(ie(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&qo(e,t,!0)):fe(e,t,n,f,i,a,s,c,l)},se=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):ce(t,n,r,i,a,o,c):le(e,t,c)},ce=(e,t,n,r,i,a,o)=>{let s=e.component=Is(e,r,i);if(Wi(e)&&(s.ctx.renderer=we),Gs(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,E,o),!e.el){let r=s.subTree=V(fs);b(null,r,t,n),e.placeholder=r.el}}else E(s,e,t,n,i,a,o)},le=(e,t,n)=>{let r=t.component=e.component;if(vo(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,de(r,t,n);return}r.next=t,r.update()}else t.el=e.el,r.vnode=t},E=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=Yo(e);if(n){t&&(t.el=c.el,de(e,t,o)),n.asyncDep.then(()=>{Bo(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Go(e,!1),t?(t.el=c.el,de(e,t,o)):t=c,n&&ue(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ns(d,s,t,c),Go(e,!0);let f=mo(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),D(p),e,i,a),t.el=f.el,u===null&&xo(e,f.el),r&&Bo(r,i),(d=t.props&&t.props.onVnodeUpdated)&&Bo(()=>Ns(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Vi(t);if(Go(e,!1),l&&ue(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ns(o,d,t),Go(e,!0),s&&Ee){let t=()=>{e.subTree=mo(e),Ee(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=mo(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&Bo(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;Bo(()=>Ns(o,d,e),i)}(t.shapeFlag&256||d&&Vi(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&Bo(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new Ue(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>or(u),Go(e,!0),l()},de=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Eo(e,t.props,r,n),zo(e,t.children,n),ot(),lr(e),st()},fe=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){me(l,d,n,r,i,a,o,s,c);return}if(f&256){pe(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&xe(l,i,a),d!==l&&p(n,d)):u&16?m&16?me(l,d,n,r,i,a,o,s,c):xe(l,i,a,!0):(u&8&&p(n,``),m&16&&te(d,n,r,i,a,o,s,c))},pe=(e,t,n,r,a,o,s,c,l)=>{e||=i,t||=i;let u=e.length,d=t.length,f=Math.min(u,d),p=0;for(;p<f;p++){let r=t[p]=l?As(t[p]):ks(t[p]);v(e[p],r,n,null,a,o,s,c,l)}u>d?xe(e,a,o,!0,!1,f):te(t,n,r,a,o,s,c,l,f)},me=(e,t,n,r,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?As(t[u]):ks(t[u]);if(xs(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?As(t[p]):ks(t[p]);if(xs(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,i=e<d?t[e].el:r;for(;u<=p;)v(null,t[u]=l?As(t[u]):ks(t[u]),n,i,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)_e(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?As(t[u]):ks(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let r=e[u];if(y>=b){_e(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&xs(r,t[_])){i=_;break}i===void 0?_e(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Jo(C):i;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,i=t[e],f=t[e+1],p=e+1<d?f.el||Zo(f):r;C[u]===0?v(null,i,n,p,a,o,s,c,l):x&&(_<0||u!==w[_]?ge(i,n,p,2):_--)}}},ge=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){ge(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,we);return}if(c===I){o(a,t,n);for(let e=0;e<u.length;e++)ge(u[e],t,n,r);o(e.anchor,t,n);return}if(c===ps){S(e,t,n);return}if(r!==2&&d&1&&l){if(r===0)l.persisted&&!a[Yr]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),Bo(()=>l.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[Yr];a._isLeaving&&a[Yr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},_e=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if((d===-2||l&&l.hasOnce)&&(i=!1),s!=null&&(ot(),hi(s,null,n,e,!0),st()),p!=null&&(!e.ctx||e.ctx===t)&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Vi(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ns(_,t,e),u&6)be(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Cr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,we,r):l&&!l.hasOnce&&(a!==I||d>0&&d&64)?xe(l,t,n,!1,!0):(a===I&&d&384||!i&&u&16)&&xe(c,t,n),r&&ve(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&Bo(()=>{_&&Ns(_,t,e),h&&Cr(e,null,t,`unmounted`),v&&(e.el=null)},n)},ve=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===I){ye(n,r);return}if(t===ps){C(e),i&&!i.persisted&&i.afterLeave&&i.afterLeave();return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ye=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},be=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Xo(c),Xo(l),r&&ue(r),i.stop(),a?(a.flags|=8,_e(o,e,t,n)):e.vnode.el&&o&&(o.transition=e.vnode.transition,_e(o,e,t,n)),s&&Bo(s,t),Bo(()=>{e.isUnmounted=!0},t)},xe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)_e(e[o],t,n,r,i)},D=e=>{if(e.shapeFlag&6)return D(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Ir];return n?h(n):t},Se=!1,Ce=(e,t,n)=>{let r;e==null?t._vnode&&(_e(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,Se||=(Se=!0,lr(r),ur(),!1)},we={p:v,um:_e,m:ge,r:ve,mt:ce,mc:te,pc:fe,pbc:ie,n:D,o:e},Te,Ee;return t&&([Te,Ee]=t(we)),{render:Ce,hydrate:Te,createApp:ao(Ce,Te)}}function Wo({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Go({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ko(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function qo(e,t,n=!1){let r=e.children,i=t.children;if(p(r)&&p(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=As(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&qo(t,a)),a.type===ds&&(a.patchFlag===-1&&(a=i[e]=As(a)),a.el=t.el),a.type===fs&&!a.el&&(a.el=t.el)}}function Jo(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function Yo(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Yo(t)}function Xo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Zo(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?Zo(t.subTree):null}var Qo=e=>e.__isSuspense,$o=0,es={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)ns(t,n,r,i,a,o,s,c,l);else{if(a&&a.deps>0&&!e.suspense.isInFallback&&!a.isHydrating){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}rs(e,t,n,r,i,o,s,c,l)}},hydrate:as,normalize:os};function ts(e,t){let n=e.props&&e.props[t];v(n)&&n()}function ns(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=is(e,i,r,t,d,n,a,o,s,c);l(null,f.pendingBranch=e.ssContent,d,null,r,f,a,o),f.deps>0?(ts(e,`onPending`),ts(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),ls(f,e.ssFallback)):f.resolve(!1,!0)}function rs(e,t,n,r,i,a,o,s,{p:c,um:l,o:{createElement:u}}){let d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;let f=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:_}=d;if(h)d.pendingBranch=f,xs(h,f)?(d.deps++,c(h,f,_?n:d.hiddenContainer,null,i,d,a,o,s),d.deps--,d.deps<=0?d.resolve():g&&!_&&!d.isFallbackMountPending&&(c(m,p,n,r,i,null,a,o,s),ls(d,p))):(d.pendingId=$o++,_?(d.isHydrating=!1,d.activeBranch=h):l(h,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=u(`div`),g?(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0?d.resolve():d.isFallbackMountPending||(c(m,p,n,r,i,null,a,o,s),ls(d,p))):m&&xs(m,f)?(c(m,f,n,r,i,d,a,o,s),d.resolve(!0)):(c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0&&d.resolve()));else if(m&&xs(m,f))c(m,f,n,r,i,d,a,o,s),ls(d,f);else if(ts(t,`onPending`),d.pendingBranch=f,d.pendingId=f.shapeFlag&512?f.component.suspenseId:$o++,c(null,f,d.hiddenContainer,null,i,d,a,o,s),d.deps<=0)d.resolve();else{let{timeout:e,pendingId:t}=d;e>0?setTimeout(()=>{d.pendingId===t&&d.fallback(p)},e):e===0&&d.fallback(p)}}function is(e,t,n,r,i,a,o,s,c,l,u=!1){let{p:d,m:f,um:p,n:m,o:{parentNode:h,remove:g}}=l,_,v=us(e);v&&t&&t.pendingBranch&&(_=t.pendingId,t.deps++);let y=e.props?pe(e.props.timeout):void 0,b=a,x={vnode:e,parent:t,parentComponent:n,namespace:o,container:r,hiddenContainer:i,deps:0,pendingId:$o++,timeout:typeof y==`number`?y:-1,activeBranch:null,isFallbackMountPending:!1,pendingBranch:null,isInFallback:!u,isHydrating:u,isUnmounted:!1,effects:[],resolve(e=!1,n=!1){let{vnode:r,activeBranch:i,pendingBranch:o,pendingId:s,effects:c,parentComponent:l,container:u,isInFallback:d}=x,g=!1;if(x.isHydrating)x.isHydrating=!1;else if(!e){g=i&&o.transition&&o.transition.mode===`out-in`;let e=!1;g&&(i.transition.afterLeave=()=>{s===x.pendingId&&(f(o,u,a===b&&!e?m(i):a,0),cr(c),d&&r.ssFallback&&(r.ssFallback.el=null))}),i&&!x.isFallbackMountPending&&(h(i.el)===u&&(a=m(i),e=!0),p(i,l,x,!0),!g&&d&&r.ssFallback&&Bo(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)}x.isFallbackMountPending=!1,ls(x,o),x.pendingBranch=null,x.isInFallback=!1;let y=x.parent,S=!1;for(;y;){if(y.pendingBranch){for(let e=0;e<c.length;e++)y.effects.push(c[e]);S=!0;break}y=y.parent}!S&&!g&&cr(c),x.effects=[],v&&t&&t.pendingBranch&&_===t.pendingId&&(_=void 0,t.deps--,t.deps===0&&!n&&t.resolve()),ts(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;ts(t,`onFallback`);let o=m(n),l=()=>{if(x.isFallbackMountPending=!1,!x.isInFallback)return;let e=x.vnode.ssFallback;d(null,e,i,o,r,null,a,s,c),ls(x,e)},u=e.transition&&e.transition.mode===`out-in`;u&&(x.isFallbackMountPending=!0,n.transition.afterLeave=l),x.isInFallback=!0,p(n,r,null,!0),u||l()},move(e,t,n){x.activeBranch&&f(x.activeBranch,e,t,n),x.container=e},next(){return x.activeBranch&&m(x.activeBranch)},registerDep(e,t,n){let r=!!x.pendingBranch;r&&x.deps++;let i=e.vnode.el;e.asyncDep.catch(t=>{Yn(t,e,0)}).then(a=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;if(Hs(),i&&!e.scope.active){r&&--x.deps===0&&x.resolve();return}e.asyncResolved=!0;let{vnode:s}=e;qs(e,a,!1),i&&(s.el=i);let c=!i&&e.subTree.el;t(e,s,h(i||e.subTree.el),i?null:m(e.subTree),x,o,n),c&&(s.placeholder=null,g(c)),xo(e,s.el),r&&--x.deps===0&&x.resolve()})},unmount(e,t){x.isUnmounted=!0,x.activeBranch&&p(x.activeBranch,n,e,t),x.pendingBranch&&p(x.pendingBranch,n,e,t)}};return x}function as(e,t,n,r,i,a,o,s,c){let l=t.suspense=is(t,r,n,e.parentNode,document.createElement(`div`),null,i,a,o,s,!0),u=c(e,l.pendingBranch=t.ssContent,n,l,a,o);return l.deps===0&&l.resolve(!1,!0),u}function os(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=ss(r?n.default:n),e.ssFallback=r?ss(n.fallback):V(fs)}function ss(e){let t;if(v(e)){let n=_s&&e._c;n&&(e._d=!1,L()),e=e(),n&&(e._d=!0,t=hs,gs())}return p(e)&&(e=ho(e)),e=ks(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function cs(e,t){t&&t.pendingBranch?p(e)?t.effects.push(...e):t.effects.push(e):cr(e)}function ls(e,t){e.activeBranch=t;let{vnode:n,parentComponent:r}=e,i=t.el;for(;!i&&t.component;)t=t.component.subTree,i=t.el;n.el=i,r&&r.subTree===n&&(r.vnode.el=i,xo(r,i))}function us(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var I=Symbol.for(`v-fgt`),ds=Symbol.for(`v-txt`),fs=Symbol.for(`v-cmt`),ps=Symbol.for(`v-stc`),ms=[],hs=null;function L(e=!1){ms.push(hs=e?null:[])}function gs(){ms.pop(),hs=ms[ms.length-1]||null}var _s=1;function vs(e,t=!1){_s+=e,e<0&&hs&&t&&(hs.hasOnce=!0)}function ys(e){return e.dynamicChildren=_s>0?hs||i:null,gs(),_s>0&&hs&&hs.push(e),e}function R(e,t,n,r,i,a){return ys(B(e,t,n,r,i,a,!0))}function z(e,t,n,r,i){return ys(V(e,t,n,r,i,!0))}function bs(e){return e?e.__v_isVNode===!0:!1}function xs(e,t){return e.type===t.type&&e.key===t.key}function Ss(e){}var Cs=({key:e})=>e??null,ws=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:y(e)||hn(e)||v(e)?{i:gr,r:e,k:t,f:!!n}:e);function B(e,t=null,n=null,r=0,i=null,a=e===I?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Cs(t),ref:t&&ws(t),scopeId:_r,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:gr};return s?(js(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=y(n)?8:16),_s>0&&!o&&hs&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&hs.push(c),c}var V=Ts;function Ts(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ma)&&(e=fs),bs(e)){let r=Ds(e,t,!0);return n&&js(r,n),_s>0&&!a&&hs&&(r.shapeFlag&6?hs[hs.indexOf(e)]=r:hs.push(r)),r.patchFlag=-2,r}if(rc(e)&&(e=e.__vccOpts),t){t=Es(t);let{class:e,style:n}=t;e&&!y(e)&&(t.class=D(e)),x(n)&&(un(n)&&!p(n)&&(n=l({},n)),t.style=_e(n))}let o=y(e)?1:Qo(e)?128:Lr(e)?64:x(e)?4:v(e)?2:0;return B(e,t,n,r,i,o,a,!0)}function Es(e){return e?un(e)||wo(e)?l({},e):e:null}function Ds(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ms(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Cs(l),ref:t&&t.ref?n&&a?p(a)?a.concat(ws(t)):[a,ws(t)]:ws(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==I?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ds(e.ssContent),ssFallback:e.ssFallback&&Ds(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&ci(u,c.clone(u)),u}function H(e=` `,t=0){return V(ds,null,e,t)}function Os(e,t){let n=V(ps,null,e);return n.staticCount=t,n}function U(e=``,t=!1){return t?(L(),z(fs,null,e)):V(fs,null,e)}function ks(e){return e==null||typeof e==`boolean`?V(fs):p(e)?V(I,null,e.slice()):bs(e)?As(e):V(ds,null,String(e))}function As(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ds(e)}function js(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(p(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),js(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!wo(t)?t._ctx=gr:r===3&&gr&&(gr.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(v(t)){if(r&65){js(e,{default:t});return}t={default:t,_ctx:gr},n=32}else t=String(t),r&64?(n=16,t=[H(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ms(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=D([t.class,r.class]));else if(e===`style`)t.style=_e([t.style,r.style]);else if(s(e)){let n=t[e],i=r[e];i&&n!==i&&!(p(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!c(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Ns(e,t,n,r=null){Jn(e,t,7,[n,r])}var Ps=ro(),Fs=0;function Is(e,t,n){let i=e.type,a=(t?t.appContext:e.appContext)||Ps,o={uid:Fs++,vnode:e,type:i,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Le(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ao(i,a),emitsOptions:fo(i,a),emit:null,emitted:null,propsDefaults:r,inheritAttrs:i.inheritAttrs,ctx:r,data:r,props:r,attrs:r,slots:r,refs:r,setupState:r,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=lo.bind(null,o),e.ce&&e.ce(o),o}var Ls=null,Rs=()=>Ls||gr,zs,Bs;{let e=he(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};zs=t(`__VUE_INSTANCE_SETTERS__`,e=>Ls=e),Bs=t(`__VUE_SSR_SETTERS__`,e=>Ws=e)}var Vs=e=>{let t=Ls;return zs(e),e.scope.on(),()=>{e.scope.off(),zs(t)}},Hs=()=>{Ls&&Ls.scope.off(),zs(null)};function Us(e){return e.vnode.shapeFlag&4}var Ws=!1;function Gs(e,t=!1,n=!1){t&&Bs(t);let{props:r,children:i}=e.vnode,a=Us(e);To(e,r,a,t),Ro(e,i,n||t);let o=a?Ks(e,t):void 0;return t&&Bs(!1),o}function Ks(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ta);let{setup:r}=n;if(r){ot();let n=e.setupContext=r.length>1?ec(e):null,i=Vs(e),a=qn(r,e,0,[e.props,n]),o=S(a);if(st(),i(),(o||e.sp)&&!Vi(e)&&di(e),o){if(a.then(Hs,Hs),t)return a.then(n=>{Bs(!0);try{qs(e,n,t)}finally{Bs(!1)}}).catch(t=>{Yn(t,e,0)});e.asyncDep=a}else qs(e,a,t)}else Qs(e,t)}function qs(e,t,n){v(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:x(t)&&(e.setupState=Sn(t)),Qs(e,n)}var Js,Ys;function Xs(e){Js=e,Ys=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Ea))}}var Zs=()=>!Js;function Qs(e,t,n){let r=e.type;if(!e.render){if(!t&&Js&&!r.render){let t=r.template||qa(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r,s=l(l({isCustomElement:n,delimiters:a},i),o);r.render=Js(t,s)}}e.render=r.render||a,Ys&&Ys(e)}{let t=Vs(e);ot();try{Ua(e)}finally{st(),t()}}}var $s={get(e,t){return _t(e,`get`,``),e[t]}};function ec(e){return{attrs:new Proxy(e.attrs,$s),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function tc(e){return e.exposed?e.exposeProxy||=new Proxy(Sn(fn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ca)return Ca[n](e)},has(e,t){return t in e||t in Ca}}):e.proxy}function nc(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}function rc(e){return v(e)&&`__vccOpts`in e}var W=(e,t)=>jn(e,t,Ws);function ic(e,t,n){try{vs(-1);let r=arguments.length;return r===2?x(t)&&!p(t)?bs(t)?V(e,null,[t]):V(e,t):V(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&bs(n)&&(n=[n]),V(e,t,n))}finally{vs(1)}}function ac(){}function oc(e,t,n,r){let i=n[r];if(i&&sc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function sc(e,t){let n=e.memo;if(n.length!=t.length)return!1;for(let e=0;e<n.length;e++)if(E(n[e],t[e]))return!1;return _s>0&&hs&&hs.push(e),!0}var cc=`3.5.43`,lc=a,uc=Kn,dc=pr,fc=hr,pc={createComponentInstance:Is,setupComponent:Gs,renderComponentRoot:mo,setCurrentRenderingInstance:vr,isVNode:bs,normalizeVNode:ks,getComponentPublicInstance:tc,ensureValidVNode:ba,pushWarningContext:Hn,popWarningContext:Un},mc=void 0,hc=typeof window<`u`&&window.trustedTypes;if(hc)try{mc=hc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var gc=mc?e=>mc.createHTML(e):e=>e,_c=`http://www.w3.org/2000/svg`,vc=`http://www.w3.org/1998/Math/MathML`,yc=typeof document<`u`?document:null,bc=yc&&yc.createElement(`template`),xc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?yc.createElementNS(_c,e):t===`mathml`?yc.createElementNS(vc,e):n?yc.createElement(e,{is:n}):yc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>yc.createTextNode(e),createComment:e=>yc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yc.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{bc.innerHTML=gc(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=bc.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Sc=`transition`,Cc=`animation`,wc=Symbol(`_vtc`),Tc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ec=l({},$r,Tc),Dc=(e=>(e.displayName=`Transition`,e.props=Ec,e))((e,{slots:t})=>ic(ri,Ac(e),t)),Oc=(e,t=[])=>{p(e)?e.forEach(e=>e(...t)):e&&e(...t)},kc=e=>e?p(e)?e.some(e=>e.length>1):e.length>1:!1;function Ac(e){let t={};for(let n in e)n in Tc||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=jc(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Pc(e,t?d:s),Pc(e,t?u:o),n&&n()},te=(e,t)=>{e._isLeaving=!1,Pc(e,f),Pc(e,m),Pc(e,p),t&&t()},ne=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);Oc(i,[t,o]),Fc(()=>{Pc(t,e?c:a),Nc(t,e?d:s),kc(i)||Lc(t,r,g,o)})};return l(t,{onBeforeEnter(e){Oc(v,[e]),Nc(e,a),Nc(e,o)},onBeforeAppear(e){Oc(C,[e]),Nc(e,c),Nc(e,u)},onEnter:ne(!1),onAppear:ne(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>te(e,t);Nc(e,f),e._enterCancelled?(Nc(e,p),Vc(e)):(Vc(e),Nc(e,p)),Fc(()=>{e._isLeaving&&(Pc(e,f),Nc(e,m),kc(x)||Lc(e,r,_,n))}),Oc(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),Oc(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),Oc(T,[e])},onLeaveCancelled(e){te(e),Oc(S,[e])}})}function jc(e){if(e==null)return null;if(x(e))return[Mc(e.enter),Mc(e.leave)];{let t=Mc(e);return[t,t]}}function Mc(e){return pe(e)}function Nc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[wc]||(e[wc]=new Set)).add(t)}function Pc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[wc];n&&(n.delete(t),n.size||(e[wc]=void 0))}function Fc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Ic=0;function Lc(e,t,n,r){let i=e._endId=++Ic,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Rc(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function Rc(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${Sc}Delay`),a=r(`${Sc}Duration`),o=zc(i,a),s=r(`${Cc}Delay`),c=r(`${Cc}Duration`),l=zc(s,c),u=null,d=0,f=0;t===Sc?o>0&&(u=Sc,d=o,f=a.length):t===Cc?l>0&&(u=Cc,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Sc:Cc:null,f=u?u===Sc?a.length:c.length:0);let p=u===Sc&&/\b(?:transform|all)(?:,|$)/.test(r(`${Sc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function zc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Bc(t)+Bc(e[n])))}function Bc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Vc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Hc(e,t,n){let r=e[wc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Uc=Symbol(`_vod`),Wc=Symbol(`_vsh`),Gc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Uc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Kc(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Kc(e,!0),r.enter(e)):r.leave(e,()=>{Kc(e,!1)}):Kc(e,t))},beforeUnmount(e,{value:t}){Kc(e,t)}};function Kc(e,t){e.style.display=t?e[Uc]:`none`,e[Wc]=!t}function qc(){Gc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Jc=Symbol(``);function Yc(e){let t=Rs();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>Zc(e,n))},r=()=>{let r=e(t.proxy);t.ce?Zc(t.ce,r):Xc(t.subTree,r),n(r)};ra(()=>{cr(r)}),na(()=>{M(r,a,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),oa(()=>e.disconnect())})}function Xc(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{Xc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Zc(e.el,t);else if(e.type===I)e.children.forEach(e=>Xc(e,t));else if(e.type===ps){let{el:n,anchor:r}=e;for(;n&&(Zc(n,t),n!==r);)n=n.nextSibling}}function Zc(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Fe(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Jc]=r}}var Qc=/(?:^|;)\s*display\s*:/;function $c(e,t,n){let r=e.style,i=y(n),a=!1;if(n&&!i){if(t){if(y(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??tl(r,t,``)}else for(let e in t)n[e]??tl(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?tl(r,i,``):al(e,i,!y(t)&&t?t[i]:void 0,o)||tl(r,i,o)}}else if(i){if(t!==n){let e=r[Jc];e&&(n+=`;`+e),r.cssText=n,a=Qc.test(n)}}else t&&e.removeAttribute(`style`);Uc in e&&(e[Uc]=a?r.display:``,e[Wc]&&(r.display=`none`))}var el=/\s*!important$/;function tl(e,t,n){if(p(n))n.forEach(n=>tl(e,t,n));else if(n??=``,t.startsWith(`--`))el.test(n)?e.setProperty(t,n.replace(el,``),`important`):e.setProperty(t,n);else{let r=il(e,t);el.test(n)?e.setProperty(se(r),n.replace(el,``),`important`):e[r]=n}}var nl=[`Webkit`,`Moz`,`ms`],rl={};function il(e,t){let n=rl[t];if(n)return n;let r=ae(t);if(r!==`filter`&&r in e)return rl[t]=r;r=ce(r);for(let n=0;n<nl.length;n++){let i=nl[n]+r;if(i in e)return rl[t]=i}return t}function al(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&y(r)&&n===r}var ol=`http://www.w3.org/1999/xlink`;function sl(e,t,n,r,i,a=we(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(ol,t.slice(6,t.length)):e.setAttributeNS(ol,t,n):n==null||a&&!Te(n)?e.removeAttribute(t):e.setAttribute(t,a?``:b(n)?String(n):n)}function cl(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?gc(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=Te(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function ll(e,t,n,r){e.addEventListener(t,n,r)}function ul(e,t,n,r){e.removeEventListener(t,n,r)}var dl=Symbol(`_vei`);function fl(e,t,n,r,i=null){let a=e[dl]||(e[dl]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=hl(t);r?ll(e,n,a[t]=yl(r,i),s):o&&(ul(e,n,o,s),a[t]=void 0)}}var pl=/(Once|Passive|Capture)$/,ml=/^on:?(?:Once|Passive|Capture)$/;function hl(e){let t,n;for(;(n=e.match(pl))&&!ml.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):se(e.slice(2)),t]}var gl=0,_l=Promise.resolve(),vl=()=>gl||=(_l.then(()=>gl=0),Date.now());function yl(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(p(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&Jn(e,t,5,a)}}else Jn(r,t,5,[e])};return n.value=e,n.attached=vl(),n}var bl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,xl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Hc(e,r,o):t===`style`?$c(e,n,r):s(t)?c(t)||fl(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):Sl(e,t,r,o))?(cl(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&sl(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Cl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!y(r)))?cl(e,ae(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),sl(e,t,r,o))};function Sl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&bl(t)&&v(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return bl(t)&&y(n)?!1:t in e}function Cl(e,t){let n=e._def.props;if(!n)return!1;let r=ae(t);return Array.isArray(n)?n.some(e=>ae(e)===r):Object.keys(n).some(e=>ae(e)===r)}var wl={};function Tl(e,t,n){let r=N(e,t);ee(r)&&(r=l({},r,t));class i extends Ol{constructor(e){super(r,e,n)}}return i.def=r,i}var El=((e,t)=>Tl(e,t,bu)),Dl=typeof HTMLElement<`u`?HTMLElement:class{},Ol=class e extends Dl{constructor(e,t={},n=yu){super(),this._def=e,this._props=t,this._createApp=n,this._isVueCE=!0,this._instance=null,this._app=null,this._nonce=this._def.nonce,this._connected=!1,this._resolved=!1,this._patching=!1,this._dirty=!1,this._numberProps=null,this._styleChildren=new WeakSet,this._styleAnchors=new WeakMap,this._ob=null,this.shadowRoot&&n!==yu?this._root=this.shadowRoot:e.shadowRoot===!1?this._root=this:(this.attachShadow(l({},e.shadowRootOptions,{mode:`open`})),this._root=this.shadowRoot)}connectedCallback(){if(!this.isConnected)return;!this.shadowRoot&&!this._resolved&&this._parseSlots(),this._connected=!0;let t=this;for(;t&&=t.assignedSlot||t.parentNode||t.host;)if(t instanceof e){this._parent=t;break}this._instance||(this._resolved?this._mount(this._def):t&&t._pendingResolve?this._pendingResolve=t._pendingResolve.then(()=>{if(this._pendingResolve=void 0,this.isConnected)return this._resolveDef()}):this._resolveDef())}_setParent(e=this._parent){e&&(this._instance.parent=e._instance,this._inheritParentContext(e))}_inheritParentContext(e=this._parent){e&&this._app&&Object.setPrototypeOf(this._app._context.provides,e._instance.provides)}disconnectedCallback(){this._connected=!1,ir(()=>{this._connected||(this._ob&&=(this._ob.disconnect(),null),this._app&&this._app.unmount(),this._instance&&(this._instance.ce=void 0),this._app=this._instance=null,this._teleportTargets&&=(this._teleportTargets.clear(),void 0))})}_processMutations(e){for(let t of e)this._setAttr(t.attributeName)}_resolveDef(){if(this._pendingResolve)return this._pendingResolve;for(let e=0;e<this.attributes.length;e++)this._setAttr(this.attributes[e].name);this._ob=new MutationObserver(this._processMutations.bind(this)),this._ob.observe(this,{attributes:!0});let e=(e,t=!1)=>{this._resolved=!0,this._pendingResolve=void 0;let{props:n,styles:r}=e,i;if(n&&!p(n))for(let e in n){let t=n[e];(t===Number||t&&t.type===Number)&&(e in this._props&&(this._props[e]=pe(this._props[e])),(i||=Object.create(null))[ae(e)]=!0)}this._numberProps=i,this._resolveProps(e),this.shadowRoot&&this._applyStyles(r),this._mount(e)},t=this._def.__asyncLoader;if(t)return this._pendingResolve=t().then(t=>{t.configureApp=this._def.configureApp,e(this._def=t,!0)}),this._pendingResolve;e(this._def)}_mount(e){this._app=this._createApp(e),this._inheritParentContext(),e.configureApp&&e.configureApp(this._app),this._app._ceVNode=this._createVNode(),this._app.mount(this._root);let t=this._instance&&this._instance.exposed;if(t)for(let e in t)f(this,e)||Object.defineProperty(this,e,{get:()=>A(t[e])})}_resolveProps(e){let{props:t}=e,n=p(t)?t:Object.keys(t||{});for(let e of Object.keys(this))e[0]!==`_`&&n.includes(e)&&this._setProp(e,this[e]);for(let e of n.map(ae))Object.defineProperty(this,e,{get(){return this._getProp(e)},set(t){this._setProp(e,t,!0,!this._patching)}})}_setAttr(e){if(e.startsWith(`data-v-`))return;let t=this.hasAttribute(e),n=t?this.getAttribute(e):wl,r=ae(e);t&&this._numberProps&&this._numberProps[r]&&(n=pe(n)),this._setProp(r,n,!1,!0)}_getProp(e){return this._props[e]}_setProp(e,t,n=!0,r=!1){if(t!==this._props[e]&&(this._dirty=!0,t===wl?delete this._props[e]:(this._props[e]=t,e===`key`&&this._app&&(this._app._ceVNode.key=t)),r&&this._instance&&this._update(),n)){let n=this._ob;n&&(this._processMutations(n.takeRecords()),n.disconnect()),t===!0?this.setAttribute(se(e),``):typeof t==`string`||typeof t==`number`?this.setAttribute(se(e),t+``):t||this.removeAttribute(se(e)),n&&n.observe(this,{attributes:!0})}}_update(){let e=this._createVNode();this._app&&(e.appContext=this._app._context),_u(e,this._root)}_createVNode(){let e={};this.shadowRoot||(e.onVnodeMounted=e.onVnodeUpdated=this._renderSlots.bind(this));let t=V(this._def,l(e,this._props));return this._instance||(t.ce=e=>{this._instance=e,e.ce=this,e.isCE=!0;let t=(e,t)=>{this.dispatchEvent(new CustomEvent(e,ee(t[0])?l({detail:t},t[0]):{detail:t}))};e.emit=(e,...n)=>{t(e,n),se(e)!==e&&t(se(e),n)},this._setParent()}),t}_applyStyles(e,t,n){if(!e)return;if(t){if(t===this._def||this._styleChildren.has(t))return;this._styleChildren.add(t)}let r=this._nonce,i=this.shadowRoot,a=n?this._getStyleAnchor(n)||this._getStyleAnchor(this._def):this._getRootStyleInsertionAnchor(i),o=null;for(let s=e.length-1;s>=0;s--){let c=document.createElement(`style`);r&&c.setAttribute(`nonce`,r),c.textContent=e[s],i.insertBefore(c,o||a),o=c,s===0&&(n||this._styleAnchors.set(this._def,c),t&&this._styleAnchors.set(t,c))}}_getStyleAnchor(e){if(!e)return null;let t=this._styleAnchors.get(e);return t&&t.parentNode===this.shadowRoot?t:(t&&this._styleAnchors.delete(e),null)}_getRootStyleInsertionAnchor(e){for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes[t];if(!(n instanceof HTMLStyleElement))return n}return null}_parseSlots(){let e=this._slots={},t;for(;t=this.firstChild;){let n=t.nodeType===1&&t.getAttribute(`slot`)||`default`;(e[n]||(e[n]=[])).push(t),this.removeChild(t)}}_renderSlots(){let e=this._getSlots(),t=this._instance.type.__scopeId;for(let n=0;n<e.length;n++){let r=e[n],i=r.getAttribute(`name`)||`default`,a=this._slots[i],o=r.parentNode;if(a)for(let e of a){if(t&&e.nodeType===1){let n=t+`-s`,r=document.createTreeWalker(e,1);e.setAttribute(n,``);let i;for(;i=r.nextNode();)i.setAttribute(n,``)}o.insertBefore(e,r)}else for(;r.firstChild;)o.insertBefore(r.firstChild,r);o.removeChild(r)}}_getSlots(){let e=[this];this._teleportTargets&&e.push(...this._teleportTargets);let t=new Set;for(let n of e){let e=n.querySelectorAll(`slot`);for(let n=0;n<e.length;n++)t.add(e[n])}return Array.from(t)}_injectChildStyle(e,t){this._applyStyles(e.styles,e,t)}_beginPatch(){this._patching=!0,this._dirty=!1}_endPatch(){this._patching=!1,this._dirty&&this._instance&&this._update()}_hasShadowRoot(){return this._def.shadowRoot!==!1}_removeChildStyle(e){}};function kl(e){let t=Rs();return t&&t.ce||null}function Al(){let e=kl();return e&&e.shadowRoot}function jl(e=`$style`){{let t=Rs();if(!t)return r;let n=t.type.__cssModules;return n&&n[e]||r}}var Ml=new WeakMap,Nl=new WeakMap,Pl=Symbol(`_moveCb`),Fl=Symbol(`_enterCb`),Il=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:l({},Ec,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Rs(),r=Zr(),i,a;return ia(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Vl(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ll),i.forEach(Rl);let r=i.filter(zl);Vc(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Nc(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Pl]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Pl]=null,Pc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=dn(e),s=Ac(o),c=o.tag||I;if(i=[],a)for(let e=0;e<a.length;e++){let t=a[e];t.el&&t.el instanceof Element&&!t.el[Wc]&&(i.push(t),ci(t,ai(t,s,r,n)),Ml.set(t,Bl(t.el)))}a=t.default?li(t.default()):[];for(let e=0;e<a.length;e++){let t=a[e];t.key!=null&&ci(t,ai(t,s,r,n))}return V(c,null,a)}}});function Ll(e){let t=e.el;t[Pl]&&t[Pl](),t[Fl]&&t[Fl]()}function Rl(e){Nl.set(e,Bl(e.el))}function zl(e){let t=Ml.get(e),n=Nl.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),(!Number.isFinite(o)||o===0)&&(o=1),(!Number.isFinite(s)||s===0)&&(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function Bl(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Vl(e,t,n){let r=e.cloneNode(),i=e[wc];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Rc(r);return a.removeChild(r),o}var Hl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return p(t)?e=>ue(t,e):t};function Ul(e){e.target.composing=!0}function Wl(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Gl=Symbol(`_assign`),Kl=Symbol(`_initialValue`);function ql(e,t,n){return t&&(e=e.trim()),n&&(e=fe(e)),e}var Jl={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[Kl]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[Kl]=e.defaultValue.replace(/\r\n?/g,`
4
- `))),e[Gl]=Hl(i);let a=r||i.props&&i.props.type===`number`;ll(e,t?`change`:`input`,t=>{t.target.composing||e[Gl](ql(e.value,n,a))}),(n||a)&&ll(e,`change`,()=>{e.value=ql(e.value,n,a)}),t||(ll(e,`compositionstart`,Ul),ll(e,`compositionend`,Wl),ll(e,`change`,Wl))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Kl];delete e[Kl],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Gl](ql(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Gl]=Hl(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?fe(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Yl={deep:!0,created(e,t,n){e[Gl]=Hl(n),ll(e,`change`,()=>{let t=e._modelValue,n=tu(e),r=e.checked,i=e[Gl];if(p(t)){let e=je(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(h(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(nu(e,r))})},mounted:Xl,beforeUpdate(e,t,n){e[Gl]=Hl(n),Xl(e,t,n)}};function Xl(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(p(t))i=je(t,r.props.value)>-1;else if(h(t))i=t.has(r.props.value);else{if(t===n)return;i=Ae(t,nu(e,!0))}e.checked!==i&&(e.checked=i)}var Zl={created(e,{value:t},n){e.checked=Ae(t,n.props.value),e[Gl]=Hl(n),ll(e,`change`,()=>{e[Gl](tu(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Gl]=Hl(r),t!==n&&(e.checked=Ae(t,r.props.value))}},Ql={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,ll(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?fe(tu(e)):tu(e)),r=e.multiple,i=r?h(e._modelValue)?new Set(t):t:t[0],a=e._pendingValue=[r,r?p(i)?t.slice():t:i];try{e[Gl](i)}finally{ir(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[Gl]=Hl(r)},mounted(e,{value:t}){eu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Gl]=Hl(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!$l(t,n[1],n[0]))&&eu(e,t)}};function $l(e,t,n){if(!n||p(e))return Ae(e,t);if(h(e)){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}return!1}function eu(e,t){let n=e.multiple,r=p(t);if(!n||r||h(t)){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=tu(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):je(t,o)>-1}else a.selected=t.has(o)}else if(Ae(tu(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function tu(e){return`_value`in e?e._value:e.value}function nu(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var ru={created(e,t,n){au(e,t,n,null,`created`)},mounted(e,t,n){au(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){au(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){au(e,t,n,r,`updated`)}};function iu(e,t){switch(e){case`SELECT`:return Ql;case`TEXTAREA`:return Jl;default:switch(t){case`checkbox`:return Yl;case`radio`:return Zl;default:return Jl}}}function au(e,t,n,r,i){let a=iu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function ou(){Jl.getSSRProps=({value:e})=>({value:e}),Zl.getSSRProps=({value:e},t)=>{if(t.props&&Ae(t.props.value,e))return{checked:!0}},Yl.getSSRProps=({value:e},t)=>{if(p(e)){if(t.props&&je(e,t.props.value)>-1)return{checked:!0}}else if(h(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},ru.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=iu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var su=[`ctrl`,`shift`,`alt`,`meta`],cu={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>su.some(n=>e[`${n}Key`]&&!t.includes(n))},lu=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=cu[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},uu={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},du=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=se(n.key);if(t.some(e=>e===r||uu[e]===r))return e(n)}))},fu=l({patchProp:xl},xc),pu,mu=!1;function hu(){return pu||=Vo(fu)}function gu(){return pu=mu?pu:Ho(fu),mu=!0,pu}var _u=((...e)=>{hu().render(...e)}),vu=((...e)=>{gu().hydrate(...e)}),yu=((...e)=>{let t=hu().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Su(e);if(!r)return;let i=t._component;!v(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,xu(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),bu=((...e)=>{let t=gu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=Su(e);if(t)return n(t,!0,xu(t))},t});function xu(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Su(e){return y(e)?document.querySelector(e):e}var Cu=!1,wu=()=>{Cu||(Cu=!0,ou(),qc())},Tu=t({BaseTransition:()=>ri,BaseTransitionPropsValidators:()=>$r,Comment:()=>fs,DeprecationTypes:()=>null,EffectScope:()=>Le,ErrorCodes:()=>Gn,ErrorTypeStrings:()=>uc,Fragment:()=>I,KeepAlive:()=>Gi,ReactiveEffect:()=>Ue,Static:()=>ps,Suspense:()=>es,Teleport:()=>Kr,Text:()=>ds,TrackOpTypes:()=>Mn,Transition:()=>Dc,TransitionGroup:()=>Il,TriggerOpTypes:()=>Nn,VueElement:()=>Ol,assertNumber:()=>Wn,callWithAsyncErrorHandling:()=>Jn,callWithErrorHandling:()=>qn,camelize:()=>ae,capitalize:()=>ce,cloneVNode:()=>Ds,compatUtils:()=>null,compile:()=>Eu,computed:()=>W,createApp:()=>yu,createBlock:()=>z,createCommentVNode:()=>U,createElementBlock:()=>R,createElementVNode:()=>B,createHydrationRenderer:()=>Ho,createPropsRestProxy:()=>Ba,createRenderer:()=>Vo,createSSRApp:()=>bu,createSlots:()=>ya,createStaticVNode:()=>Os,createTextVNode:()=>H,createVNode:()=>V,customRef:()=>wn,defineAsyncComponent:()=>Hi,defineComponent:()=>N,defineCustomElement:()=>Tl,defineEmits:()=>Oa,defineExpose:()=>ka,defineModel:()=>Ma,defineOptions:()=>Aa,defineProps:()=>Da,defineSSRCustomElement:()=>El,defineSlots:()=>ja,devtools:()=>dc,effect:()=>nt,effectScope:()=>Re,getCurrentInstance:()=>Rs,getCurrentScope:()=>ze,getCurrentWatcher:()=>Ln,getTransitionRawChildren:()=>li,guardReactiveProps:()=>Es,h:()=>ic,handleError:()=>Yn,hasInjectionContext:()=>Er,hydrate:()=>vu,hydrateOnIdle:()=>Fi,hydrateOnInteraction:()=>zi,hydrateOnMediaQuery:()=>Ri,hydrateOnVisible:()=>Li,initCustomFormatter:()=>ac,initDirectivesForSSR:()=>wu,inject:()=>Tr,isMemoSame:()=>sc,isProxy:()=>un,isReactive:()=>sn,isReadonly:()=>cn,isRef:()=>hn,isRuntimeOnly:()=>Zs,isShallow:()=>ln,isVNode:()=>bs,markRaw:()=>fn,mergeDefaults:()=>Ra,mergeModels:()=>za,mergeProps:()=>Ms,nextTick:()=>ir,nodeOps:()=>xc,normalizeClass:()=>D,normalizeProps:()=>Se,normalizeStyle:()=>_e,onActivated:()=>qi,onBeforeMount:()=>ta,onBeforeUnmount:()=>aa,onBeforeUpdate:()=>ra,onDeactivated:()=>Ji,onErrorCaptured:()=>ua,onMounted:()=>na,onRenderTracked:()=>la,onRenderTriggered:()=>ca,onScopeDispose:()=>Be,onServerPrefetch:()=>sa,onUnmounted:()=>oa,onUpdated:()=>ia,onWatcherCleanup:()=>Rn,openBlock:()=>L,patchProp:()=>xl,popScopeId:()=>br,provide:()=>wr,proxyRefs:()=>Sn,pushScopeId:()=>yr,queuePostFlushCb:()=>cr,reactive:()=>tn,readonly:()=>rn,ref:()=>k,registerRuntimeCompiler:()=>Xs,render:()=>_u,renderList:()=>P,renderSlot:()=>F,resolveComponent:()=>pa,resolveDirective:()=>ga,resolveDynamicComponent:()=>ha,resolveFilter:()=>null,resolveTransitionHooks:()=>ai,setBlockTracking:()=>vs,setDevtoolsHook:()=>fc,setTransitionHooks:()=>ci,shallowReactive:()=>nn,shallowReadonly:()=>an,shallowRef:()=>gn,ssrContextKey:()=>Dr,ssrUtils:()=>pc,stop:()=>rt,toDisplayString:()=>O,toHandlerKey:()=>le,toHandlers:()=>xa,toRaw:()=>dn,toRef:()=>On,toRefs:()=>Tn,toValue:()=>bn,transformVNodeArgs:()=>Ss,triggerRef:()=>yn,unref:()=>A,useAttrs:()=>Fa,useCssModule:()=>jl,useCssVars:()=>Yc,useHost:()=>kl,useId:()=>ui,useModel:()=>so,useSSRContext:()=>Or,useShadowRoot:()=>Al,useSlots:()=>Pa,useTemplateRef:()=>fi,useTransitionState:()=>Zr,vModelCheckbox:()=>Yl,vModelDynamic:()=>ru,vModelRadio:()=>Zl,vModelSelect:()=>Ql,vModelText:()=>Jl,vShow:()=>Gc,version:()=>cc,warn:()=>lc,watch:()=>M,watchEffect:()=>kr,watchPostEffect:()=>Ar,watchSyncEffect:()=>jr,withAsyncContext:()=>Va,withCtx:()=>j,withDefaults:()=>Na,withDirectives:()=>Sr,withKeys:()=>du,withMemo:()=>oc,withModifiers:()=>lu,withScopeId:()=>xr}),Eu=()=>{};function Du(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=Tr(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(wr(r,e),e)]}function Ou(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function ku(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function Au(e){return e==null}function ju(e,t){return ze()?(Be(e,t),!0):!1}function Mu(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return ju(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function Nu(e){let t=!1,n,r=Re(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var Pu=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Fu=e=>e!==void 0,Iu=Object.prototype.toString,Lu=e=>Iu.call(e)===`[object Object]`,Ru=zu();function zu(){var e,t;return Pu&&!!((e=window)!=null&&(e=e.navigator)!=null&&e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window)==null||(t=t.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Bu(e){return Array.isArray(e)?e:[e]}function Vu(e){return e||Rs()}function Hu(e){if(!Pu)return e;let t=0,n,r,i=()=>{--t,r&&t<=0&&(r.stop(),n=void 0,r=void 0)};return((...a)=>(t+=1,r||(r=Re(!0),n=r.run(()=>e(...a))),ju(i),n))}function Uu(e){return tn(hn(e)?new Proxy({},{get(t,n,r){return A(Reflect.get(e.value,n,r))},set(t,n,r){return hn(e.value[n])&&!hn(r)?e.value[n].value=r:e.value[n]=r,!0},deleteProperty(t,n){return Reflect.deleteProperty(e.value,n)},has(t,n){return Reflect.has(e.value,n)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}}):e)}function Wu(e){return Uu(W(e))}function Gu(e,...t){let n=t.flat(),r=n[0];return Wu(()=>Object.fromEntries(typeof r==`function`?Object.entries(Tn(e)).filter(([e,t])=>!r(bn(t),e)):Object.entries(Tn(e)).filter(e=>!n.includes(e[0]))))}function Ku(e,t=1e4){return wn((n,r)=>{let i=bn(e),a,o=()=>setTimeout(()=>{i=bn(e),r()},bn(t));return ju(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function qu(e,t){Vu(t)&&aa(e,t)}function Ju(e,t,n={}){let{immediate:r=!0,immediateCallback:i=!1}=n,a=gn(!1),o;function s(){o&&=(clearTimeout(o),void 0)}function c(){a.value=!1,s()}function l(...n){i&&e(),s(),a.value=!0,o=setTimeout(()=>{a.value=!1,o=void 0,e(...n)},bn(t))}return r&&(a.value=!0,Pu&&l()),ju(c),{isPending:an(a),start:l,stop:c}}function Yu(e,t,n){return M(e,t,{...n,immediate:!0})}var Xu=Pu?window:void 0;Pu&&window.document,Pu&&window.navigator,Pu&&window.location;function Zu(e){let t=bn(e);return t?.$el??t}function Qu(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=W(()=>{let t=Bu(bn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return Yu(()=>[n.value?.map(e=>Zu(e))??[Xu].filter(e=>e!=null),Bu(bn(n.value?e[1]:e[0])),Bu(A(n.value?e[2]:e[1])),bn(n.value?e[3]:e[2])],([e,n,r,i],a,o)=>{if(!e?.length||!n?.length||!r?.length)return;let s=Lu(i)?{...i}:i,c=e.flatMap(e=>n.flatMap(n=>r.map(r=>t(e,n,r,s))));o(()=>{c.forEach(e=>e())})},{flush:`post`})}function $u(){let e=gn(!1),t=Rs();return t&&na(()=>{e.value=!0},t),e}function ed(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function td(...e){let t,n,r={};e.length===3?(t=e[0],n=e[1],r=e[2]):e.length===2?typeof e[1]==`object`?(t=!0,n=e[0],r=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);let{target:i=Xu,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=ed(t);return Qu(i,a,e=>{e.repeat&&bn(s)||c(e)&&n(e)},o)}function nd(e){return JSON.parse(JSON.stringify(e))}function rd(e,t,n,r={}){var i,a;let{clone:o=!1,passive:s=!1,eventName:c,deep:l=!1,defaultValue:u,shouldEmit:d}=r,f=Rs(),p=n||f?.emit||(f==null||(i=f.$emit)==null?void 0:i.bind(f))||(f==null||(a=f.proxy)==null||(a=a.$emit)==null?void 0:a.bind(f?.proxy)),m=c;t||=`modelValue`,m||=`update:${t.toString()}`;let h=e=>o?typeof o==`function`?o(e):nd(e):e,g=()=>Fu(e[t])?h(e[t]):u,_=e=>{d?d(e)&&p(m,e):p(m,e)};if(s){let n=k(g()),r=!1;return M(()=>e[t],e=>{r||(r=!0,n.value=h(e),ir(()=>r=!1))}),M(n,n=>{!r&&(n!==e[t]||l)&&_(n)},{deep:l}),n}return W({get(){return g()},set(e){_(e)}})}function id(e){return e?e.flatMap(e=>e.type===I?id(e.children):[e]):[]}var ad=[`INPUT`,`TEXTAREA`];function od(e,t,n,r={}){if(!t||r.enableIgnoredElement&&ad.includes(t.nodeName))return null;let{arrowKeyOptions:i=`both`,attributeName:a=`[data-reka-collection-item]`,itemsArray:o=[],loop:s=!0,dir:c=`ltr`,preventScroll:l=!0,focus:u=!1}=r,[d,f,p,m,h,g]=[e.key===`ArrowRight`,e.key===`ArrowLeft`,e.key===`ArrowUp`,e.key===`ArrowDown`,e.key===`Home`,e.key===`End`],_=p||m,v=d||f;if(!h&&!g&&(!_&&!v||i===`vertical`&&v||i===`horizontal`&&_))return null;let y=n?Array.from(n.querySelectorAll(a)):o;if(!y.length)return null;l&&e.preventDefault();let b=null;return v||_?b=sd(y,t,{goForward:_?m:c===`ltr`?d:f,loop:s}):h?b=y.at(0)||null:g&&(b=y.at(-1)||null),u&&b?.focus(),b}function sd(e,t,n,r=e.includes(t)?e.length:e.length+1){if(--r===0)return null;let i=e.indexOf(t),a;if(a=i===-1?n.goForward?0:e.length-1:n.goForward?i+1:i-1,!n.loop&&(a<0||a>=e.length))return null;let o=e[(a+e.length)%e.length];return o?o.hasAttribute(`disabled`)&&o.getAttribute(`disabled`)!==`false`?sd(e,o,n,r):o:null}var[cd,ld]=Du(`ConfigProvider`),ud=tn({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set});function dd(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function fd(e,t,n=`.`,r){if(!dd(t))return fd(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(i[t]=Array.isArray(a)&&Array.isArray(i[t])?[...a,...i[t]]:dd(a)&&dd(i[t])?fd(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function pd(e){return(...t)=>t.reduce((t,n)=>fd(t,n,``,e),{})}var md=pd(),hd=Hu(()=>{let e=k(new Map),t=k(),n=W(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=cd({scrollBody:k(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,ud.layersWithOutsidePointerEventsDisabled.size===0&&(document.body.style.pointerEvents=``),document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,Ru&&i?.(),t.value=void 0};return M(n,(e,o)=>{if(!Pu)return;if(!e){o&&a();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=r.scrollBody?.value?typeof r.scrollBody.value==`object`?md({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),Ru&&(i=Qu(document,`touchmove`,e=>vd(e),{passive:!1})),ir(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function gd(e){let t=Math.random().toString(36).substring(2,7),n=hd();n.value.set(t,e??!1);let r=W({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return qu(()=>{n.value.delete(t)}),r}function _d(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:_d(t)}}function vd(e){let t=e||window.event,n=t.target;return n instanceof Element&&_d(n)?!1:t.touches.length>1||(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function yd(e){let t=cd({dir:k(`ltr`)});return W(()=>e?.value||t.dir?.value||`ltr`)}function bd(e){let t=Rs(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[le(ae(t))]=(...n)=>e(t,...n)}),r}var xd=0;function Sd(){kr(e=>{if(!Pu)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Cd()),document.body.insertAdjacentElement(`beforeend`,t[1]??Cd()),xd++,e(()=>{xd===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),xd--})})}function Cd(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function wd(e){return W(()=>!bn(e)||!!Zu(e)?.closest(`form`))}function Td(){let e=Rs(),t=k(),n=W(()=>r());ia(()=>{n.value!==r()&&yn(t)});function r(){return t.value&&`$el`in t.value&&[`#text`,`#comment`].includes(t.value.$el.nodeName)?t.value.$el.nextElementSibling:Zu(t)}let i=Object.assign({},e.exposed),a={};for(let t in e.props)Object.defineProperty(a,t,{enumerable:!0,configurable:!0,get:()=>e.props[t]});if(Object.keys(i).length>0)for(let e in i)Object.defineProperty(a,e,{enumerable:!0,configurable:!0,get:()=>i[e]});Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>e.vnode.el}),e.exposed=a;function o(n){if(t.value=n,n&&(Object.defineProperty(a,"$el",{enumerable:!0,configurable:!0,get:()=>n instanceof Element?n:n.$el}),!(n instanceof Element)&&!Object.hasOwn(n,`$el`))){let t=n.$.exposed,r=Object.assign({},a);for(let e in t)Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>t[e]});e.exposed=r}}return{forwardRef:o,currentRef:t,currentElement:n}}function Ed(e){let t=Rs(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=On(e);return W(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[ae(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function Dd(e,t){let n=Ed(e),r=t?bd(t):{};return W(()=>({...n.value,...r}))}function Od(){let e=Rs()?.vnode?.scopeId;return e?{[e]:``}:{}}function kd(e,t){let n=Ku(!1,300);ju(()=>{n.value=!1});let r=k(null),i=Mu();function a(){r.value=null,n.value=!1}function o(e,t){if(!t)return;let i=e.currentTarget,a={x:e.clientX,y:e.clientY},o=jd(a,Ad(a,i.getBoundingClientRect()),1),s=Md(t.getBoundingClientRect()),c=Pd([...o,...s]);r.value=c,n.value=!0}return kr(n=>{if(e.value&&t.value){let r=e.value,i=t.value,a=e=>o(e,i),s=e=>o(e,r);r.addEventListener(`pointerleave`,a),i.addEventListener(`pointerleave`,s),n(()=>{r.removeEventListener(`pointerleave`,a),i.removeEventListener(`pointerleave`,s)})}}),kr(n=>{if(r.value){let o=n=>{if(!r.value||!(n.target instanceof Element))return;let o=n.target,s={x:n.clientX,y:n.clientY},c=e.value?.contains(o)||t.value?.contains(o),l=!Nd(s,r.value),u=!!o.closest(`[data-grace-area-trigger]`);c?a():(l||u)&&(a(),i.trigger())},s=e.value?.ownerDocument;s?.addEventListener(`pointermove`,o),n(()=>s?.removeEventListener(`pointermove`,o))}}),{isPointerInTransit:n,onPointerExit:i.on}}function Ad(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function jd(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}function Md(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Nd(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function Pd(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),Fd(t)}function Fd(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var Id=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Ld=new WeakMap,Rd=new WeakMap,zd={},Bd=0,Vd=function(e){return e&&(e.host||Vd(e.parentNode))},Hd=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Vd(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Ud=function(e,t,n,r){var i=Hd(t,Array.isArray(e)?e:[e]);zd[n]||(zd[n]=new WeakMap);var a=zd[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Ld.get(e)||0)+1,l=(a.get(e)||0)+1;Ld.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Rd.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Bd++,function(){o.forEach(function(e){var t=Ld.get(e)-1,i=a.get(e)-1;Ld.set(e,t),a.set(e,i),t||(Rd.has(e)||e.removeAttribute(r),Rd.delete(e)),i||e.removeAttribute(n)}),Bd--,Bd||(Ld=new WeakMap,Ld=new WeakMap,Rd=new WeakMap,zd={})}},Wd=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Id(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ud(r,i,n,`aria-hidden`)):function(){return null}};function Gd(e){let t;M(()=>Zu(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=Wd(e):t&&t()}),oa(()=>{t&&t()})}var Kd=0;function qd(e,t=`reka`){if(e)return e;let n,r=cd({useId:void 0});return n=r.useId?r.useId():`useId`in Tu?ui?.():`${++Kd}`,t?`${t}-${n}`:n}function Jd(e){let t=k(),n=W(()=>t.value?.width??0),r=W(()=>t.value?.height??0),i;return na(()=>{let n=Zu(e);n?(t.value={width:n.offsetWidth,height:n.offsetHeight},i=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}}),i.observe(n,{box:`border-box`})):t.value=void 0}),oa(()=>{i?.disconnect(),i=void 0}),{width:n,height:r}}function Yd(e,t){let n=k(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function Xd(e){let t=Ku(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Ou(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=Qd(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function Zd(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Qd(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Zd(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function $d(e,t){let n=k({}),r=k(`none`),i=k(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??Xu,{state:c,dispatch:l}=Yd(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(Pu){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};M(e,async(e,i)=>{let a=i!==e;if(await ir(),a){let a=r.value,o=ef(t.value);e?(l(`MOUNT`),u(`enter`),o===`none`&&u(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(l(`UNMOUNT`),u(`leave`),u(`after-leave`)):i&&a!==o?(l(`ANIMATION_OUT`),u(`leave`)):(l(`UNMOUNT`),u(`after-leave`))}},{immediate:!0});let d=e=>{if(e.target!==t.value)return;let n=ef(t.value),r=n.includes(CSS.escape(e.animationName)),a=c.value===`mounted`?`enter`:`leave`;if(r&&(u(`after-${a}`),l(`ANIMATION_END`),!i.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,o=s?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}n===`none`&&l(`ANIMATION_END`)},f=e=>{e.target===t.value&&(r.value=ef(t.value))},p=M(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,f),e.addEventListener(`animationcancel`,d),e.addEventListener(`animationend`,d)):(l(`ANIMATION_END`),o!==void 0&&s?.clearTimeout(o),t?.removeEventListener(`animationstart`,f),t?.removeEventListener(`animationcancel`,d),t?.removeEventListener(`animationend`,d))},{immediate:!0}),m=M(c,()=>{let e=ef(t.value);r.value=c.value===`mounted`?e:`none`});return oa(()=>{p(),m(),t.value&&(t.value.removeEventListener(`animationstart`,f),t.value.removeEventListener(`animationcancel`,d),t.value.removeEventListener(`animationend`,d)),o!==void 0&&s?.clearTimeout(o)}),{isPresent:W(()=>[`mounted`,`unmountSuspended`].includes(c.value))}}function ef(e){return e&&getComputedStyle(e).animationName||`none`}var tf=N({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:r,forceMount:i}=Tn(e),a=k(),{isPresent:o}=$d(r,a);n({present:o});let s=t.default({present:o.value});s=id(s||[]);let c=Rs();if(s&&s?.length>1){let e=c?.parent?.type.name?`<${c.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
5
- `)].join(`
6
- `))}return()=>i.value||r.value||o.value?ic(t.default({present:o.value})[0],{ref:e=>{let t=Zu(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),nf=N({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=id(n.default()),r=e.findIndex(e=>e.type!==fs);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?Ms(t,i.props):t,o=Ds({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),rf=[`area`,`img`,`input`],af=N({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:n}){let r=e.asChild?`template`:e.as;return typeof r==`string`&&rf.includes(r)?()=>ic(r,t):r===`template`?()=>ic(nf,t,{default:n.default}):()=>ic(e.as,t,{default:n.default})}});function of(){let e=k();return{primitiveElement:e,currentElement:W(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:Zu(e))}}var[sf,cf]=Du(`DialogRoot`),lf=N({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=rd(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=k(),a=k(),{modal:o,unmountOnHide:s}=Tn(n);return cf({open:r,modal:o,unmountOnHide:s,openModal:()=>{r.value=!0},onOpenChange:e=>{r.value=e},onOpenToggle:()=>{r.value=!r.value},contentId:``,titleId:``,descriptionId:``,triggerElement:i,contentElement:a}),(e,t)=>F(e.$slots,`default`,{open:A(r),close:()=>r.value=!1})}}),uf=N({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Td();let n=sf();return(e,r)=>(L(),z(A(af),Ms(t,{type:e.as===`button`?`button`:void 0,onClick:r[0]||=e=>A(n).onOpenChange(!1)}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`type`]))}}),df=`dismissableLayer.pointerDownOutside`,ff=`dismissableLayer.focusOutside`;function pf(e,t){if(!(t instanceof Element))return!1;if(e.contains(t))return!0;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function mf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=k(!1),a=k(()=>{});return kr(o=>{if(!Pu||!bn(n))return;let s=async n=>{let o=n.target;if(t?.value&&o){if(pf(t.value,o)){r.removeEventListener(`click`,a.value),i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){ku(df,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{bn(n)&&(i.value=!0)}}}function hf(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=k(!1);return kr(a=>{if(!Pu||!bn(n))return;let o=async n=>{if(!t?.value)return;await ir(),await ir();let r=n.target;t.value&&r&&!pf(t.value,r)&&n.target&&!i.value&&ku(ff,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{bn(n)&&(i.value=!0)},onBlurCapture:()=>{bn(n)&&(i.value=!1)}}}var gf=N({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Td(),o=W(()=>a.value?.ownerDocument??globalThis.document),s=W(()=>ud.layersRoot),c=W(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=W(()=>ud.layersWithOutsidePointerEventsDisabled.size>0),u=W(()=>{let e=Array.from(s.value),[t]=[...ud.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=mf(async e=>{let t=[...ud.branches].some(t=>t?.contains(e.target));n.present&&u.value&&!t&&(r(`pointerDownOutside`,e),r(`interactOutside`,e),await ir(),e.defaultPrevented||r(`dismiss`))},a,()=>n.present),f=hf(e=>{let t=[...ud.branches].some(t=>t?.contains(e.target));n.present&&!t&&(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return td(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),M([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{e&&n&&t&&(ud.layersWithOutsidePointerEventsDisabled.size===0&&(ud.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),ud.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{ud.layersWithOutsidePointerEventsDisabled.delete(e),ud.layersWithOutsidePointerEventsDisabled.size===0&&!Au(ud.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=ud.originalBodyPointerEvents)}))},{immediate:!0}),M([a,()=>n.present],([e,t],n,r)=>{e&&t&&(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),kr(e=>{e(()=>{a.value&&(s.value.delete(a.value),ud.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(L(),z(A(af),{ref:A(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:_e({pointerEvents:l.value?u.value?`auto`:`none`:void 0}),onFocusCapture:A(f).onFocusCapture,onBlurCapture:A(f).onBlurCapture,onPointerdownCapture:A(d).onPointerDownCapture},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),_f=Nu(()=>k([]));function vf(){let e=_f();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=yf(e.value,t),e.value.unshift(t)},remove(t){e.value=yf(e.value,t),e.value[0]?.resume()}}}function yf(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var bf=`focusScope.autoFocusOnMount`,xf=`focusScope.autoFocusOnUnmount`,Sf={bubbles:!1,cancelable:!0};function Cf(e,{select:t=!1}={}){let n=Ou();for(let r of e)if(kf(r,{select:t}),Ou()!==n)return!0}function wf(e){let t=Tf(e);return[Ef(t,e),Ef(t.reverse(),e)]}function Tf(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Ef(e,t){for(let n of e)if(!Df(n,{upTo:t}))return n}function Df(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Of(e){return e instanceof HTMLInputElement&&`select`in e}function kf(e,{select:t=!1}={}){if(e&&e.focus){let n=Ou();e.focus({preventScroll:!0}),e!==n&&Of(e)&&t&&e.select()}}var Af=N({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},present:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,r=t,{currentRef:i,currentElement:a}=Td(),o=k(null),s=vf(),c=tn({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});kr(e=>{if(!Pu)return;let t=a.value;if(!n.trapped)return;function r(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:kf(o.value,{select:!0})}function i(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||kf(o.value,{select:!0}))}function s(e){let n=o.value;if(n===null||!e.some(e=>e.removedNodes.length>0))return;let r=Ou();r&&t.contains(r)||t.contains(n)||kf(t)}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let l=new MutationObserver(s);t&&l.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),l.disconnect()})});function l(e,t){let n=new CustomEvent(bf,Sf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(bf,i),e.dispatchEvent(n),e.removeEventListener(bf,i),n.defaultPrevented||(Cf(Tf(e),{select:!0}),Ou()===t&&kf(e))}kr(async e=>{let t=a.value;if(await ir(),!t)return;n.present!==!1&&s.add(c);let i=Ou();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(xf,Sf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(xf,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||kf(i??document.body,{select:!0}),t.removeEventListener(xf,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),M(()=>n.present,async(e,t)=>{if(!Pu)return;if(e===!1&&t===!0){s.remove(c);return}if(e!==!0||t!==!1)return;s.add(c),await ir();let n=a.value;if(!n)return;let r=Ou();n.contains(r)||l(n,r)});function u(e){if(!n.loop&&!n.trapped||c.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=Ou();if(t&&r){let t=e.currentTarget,[i,a]=wf(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&kf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&kf(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(L(),z(A(af),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),jf=`menu.itemSelect`,Mf=[`Enter`,` `],Nf=[`ArrowDown`,`PageUp`,`Home`],Pf=[`ArrowUp`,`PageDown`,`End`],Ff=[...Nf,...Pf];[...Mf],[...Mf];function If(e){return e?`open`:`closed`}function Lf(e){let t=Ou();for(let n of e)if(n===t||(n.focus(),Ou()!==t))return}function Rf(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function zf(e,t){return t?Rf({x:e.clientX,y:e.clientY},t):!1}function Bf(e){return e.pointerType===`mouse`}var Vf=N({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),{forwardRef:a,currentElement:o}=Td();return i.titleId||=qd(void 0,`reka-dialog-title`),i.descriptionId||=qd(void 0,`reka-dialog-description`),na(()=>{i.contentElement=o,Ou()!==document.body&&(i.triggerElement.value=Ou())}),(e,t)=>(L(),z(A(Af),{"as-child":``,loop:``,trapped:n.trapFocus,present:n.present,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(gf),Ms({id:A(i).contentId,ref:A(a),as:e.as,"as-child":e.asChild,present:n.present,"disable-outside-pointer-events":e.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":A(i).descriptionId,"aria-labelledby":A(i).titleId,"data-state":A(If)(A(i).open.value)},e.$attrs,{onDismiss:t[0]||=e=>A(i).onOpenChange(!1),onEscapeKeyDown:t[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[2]||=e=>r(`focusOutside`,e),onInteractOutside:t[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:t[4]||=e=>r(`pointerDownOutside`,e)}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),Hf=N({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),a=bd(r),{forwardRef:o,currentElement:s}=Td();Gd(W(()=>n.present?s.value:void 0));let c=W(()=>{let{present:e,...t}=n;return t});return M(()=>n.present,(e,t)=>{!e&&t&&i.triggerElement.value?.focus()}),(e,t)=>(L(),z(Vf,Ms({...c.value,...A(a)},{ref:A(o),present:e.present,"trap-focus":A(i).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(e.preventDefault(),A(i).triggerElement.value?.focus())},onPointerDownOutside:t[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:t[2]||=e=>{e.preventDefault()}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),Uf=N({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=bd(t);Td();let i=sf(),a=k(!1),o=k(!1),s=W(()=>{let{present:e,...t}=n;return t});return M(()=>n.present,(e,t)=>{!e&&t&&(a.value||i.triggerElement.value?.focus(),a.value=!1,o.value=!1)}),(e,t)=>(L(),z(Vf,Ms({...s.value,...A(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{e.defaultPrevented||(a.value||A(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=e=>{e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;A(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`present`]))}}),Wf=N({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=sf(),a=bd(r),{forwardRef:o}=Td(),s=W(()=>n.forceMount||!i.unmountOnHide.value);return(e,t)=>(L(),z(A(tf),{present:A(i).open.value,"force-mount":s.value},{default:j(({present:t})=>[A(i).modal.value?Sr((L(),z(Hf,Ms({key:0,ref:A(o),present:!s.value||t},{...n,...A(a),...e.$attrs}),{default:j(()=>[F(e.$slots,`default`)]),_:2},1040,[`present`])),[[Gc,e.forceMount||A(i).unmountOnHide.value||t]]):Sr((L(),z(Uf,Ms({key:1,ref:A(o),present:!s.value||t},{...n,...A(a),...e.$attrs}),{default:j(()=>[F(e.$slots,`default`)]),_:2},1040,[`present`])),[[Gc,e.forceMount||A(i).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`]))}}),Gf=N({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Td();let n=sf();return(e,r)=>(L(),z(A(af),Ms(t,{id:A(n).descriptionId}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),Kf=N({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(e){let t=e,n=sf(),r=gd(t.present);return M(()=>t.present,e=>r.value=e),Td(),(e,t)=>(L(),z(A(af),{as:e.as,"as-child":e.asChild,"data-state":A(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:t[0]||=lu(()=>{},[`left`,`self`,`prevent`])},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),qf=N({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=sf(),{forwardRef:r}=Td(),i=W(()=>t.forceMount||!n.unmountOnHide.value);return(e,t)=>A(n)?.modal.value?(L(),z(A(tf),{key:0,present:A(n).open.value,"force-mount":i.value},{default:j(({present:t})=>[Sr(V(Kf,Ms(e.$attrs,{ref:A(r),as:e.as,"as-child":e.asChild,present:!i.value||t}),{default:j(()=>[F(e.$slots,`default`)]),_:2},1040,[`as`,`as-child`,`present`]),[[Gc,e.forceMount||A(n).unmountOnHide.value||t]])]),_:3},8,[`present`,`force-mount`])):U(`v-if`,!0)}}),Jf=N({__name:`Teleport`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e,n=cd({}),r=W(()=>t.to??n.teleportTo?.value??`body`),i=$u();return(e,t)=>A(i)||e.forceMount?(L(),z(Kr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[F(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):U(`v-if`,!0)}}),Yf=N({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(Jf),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Xf=N({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=sf();return Td(),(e,r)=>(L(),z(A(af),Ms(t,{id:A(n).titleId}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),Zf=`data-reka-collection-item`;function Qf(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:k(),itemMap:k(new Map)},wr(r,i)):i=Tr(r);let a=(e,t=!1)=>{if(!i.collectionRef.value)return;let n=i.itemMap.value.get(e);return n&&(t||n.ref.dataset.disabled!==``)?n:void 0},o=(e=!1)=>{let t=i.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Zf}]`)),r=new Map(n.map((e,t)=>[e,t])),a=Array.from(i.itemMap.value.values()).sort((e,t)=>(r.get(e.ref)??-1)-(r.get(t.ref)??-1));return e?a:a.filter(e=>e.ref.dataset.disabled!==``)},s=N({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=of();return M(a,()=>{i.collectionRef.value=a.value}),()=>ic(nf,{ref:r,...n},t)}}),c=N({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:a}=of();return kr(t=>{if(a.value){let n=fn(a.value);i.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>i.itemMap.value.delete(n))}}),()=>ic(nf,{...n,[Zf]:``,ref:r},t)}});return{getItems:o,getItem:a,reactiveItems:W(()=>Array.from(i.itemMap.value.values())),itemMapSize:W(()=>i.itemMap.value.size),CollectionSlot:s,CollectionItem:c}}var $f=N({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(L(),z(A(af),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`||e.feature===`fully-hidden`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),ep=N({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:n,currentElement:r}=of();return M(W(()=>t.checked??t.value),(e,t)=>{if(!r.value)return;let n=r.value,i=window.HTMLInputElement.prototype,a=Object.getOwnPropertyDescriptor(i,`value`).set;if(a&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});a.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(L(),z($f,Ms({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),tp=N({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,n=W(()=>typeof t.value==`object`&&Array.isArray(t.value)&&t.value.length===0&&t.required),r=W(()=>typeof t.value==`string`||typeof t.value==`number`||typeof t.value==`boolean`||t.value===null||t.value===void 0?[{name:t.name,value:t.value}]:typeof t.value==`object`&&Array.isArray(t.value)?t.value.flatMap((e,n)=>typeof e==`object`?Object.entries(e).map(([e,r])=>({name:`${t.name}[${n}][${e}]`,value:r})):{name:`${t.name}[${n}]`,value:e}):t.value!==null&&typeof t.value==`object`&&!Array.isArray(t.value)?Object.entries(t.value).map(([e,n])=>({name:`${t.name}[${e}]`,value:n})):[]);return(e,i)=>(L(),R(I,null,[U(` We render single input if it's required `),n.value?(L(),z(ep,Ms({key:e.name},{...t,...e.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(L(!0),R(I,{key:1},P(r.value,n=>(L(),z(ep,Ms({key:n.name},{ref_for:!0},{...t,...e.$attrs},{name:n.name,value:n.value}),null,16,[`name`,`value`]))),128))],2112))}}),np=`rovingFocusGroup.onEntryFocus`,rp={bubbles:!1,cancelable:!0};function ip(e,t=!1){let n=Ou();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Ou()!==n))return}var[ap,op]=Du(`PopperRoot`),sp=N({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=k();return op({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>F(e.$slots,`default`)}}),cp=N({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=Td(),i=ap();return Ar(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(L(),z(A(af),{ref:A(n),as:e.as,"as-child":e.asChild},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function lp(e){return e!==null}function up(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=dp(n),u={start:e.dir===`rtl`?`100%`:`0%`,center:`50%`,end:e.dir===`rtl`?`0%`:`100%`}[l],d={start:`0%`,center:`50%`,end:`100%`}[l],f=(i.arrow?.x??0)+o/2,p=(i.arrow?.y??0)+s/2,m=``,h=``;return c===`bottom`?(m=a?u:`${f}px`,h=`${-s}px`):c===`top`?(m=a?u:`${f}px`,h=`${r.floating.height+s}px`):c===`right`?(m=`${-s}px`,h=a?d:`${p}px`):c===`left`&&(m=`${r.floating.width+s}px`,h=a?d:`${p}px`),{data:{x:m,y:h}}}}}function dp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var fp=[`top`,`right`,`bottom`,`left`],pp=Math.min,mp=Math.max,hp=Math.round,gp=Math.floor,_p=e=>({x:e,y:e}),vp={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function yp(e,t,n){return mp(e,pp(t,n))}function bp(e,t){return typeof e==`function`?e(t):e}function xp(e){return e.split(`-`)[0]}function Sp(e){return e.split(`-`)[1]}function Cp(e){return e===`x`?`y`:`x`}function wp(e){return e===`y`?`height`:`width`}function Tp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ep(e){return Cp(Tp(e))}function Dp(e,t,n){n===void 0&&(n=!1);let r=Sp(e),i=Ep(e),a=wp(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ip(o)),[o,Ip(o)]}function Op(e){let t=Ip(e);return[kp(e),t,kp(t)]}function kp(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ap=[`left`,`right`],jp=[`right`,`left`],Mp=[`top`,`bottom`],Np=[`bottom`,`top`];function Pp(e,t,n){switch(e){case`top`:case`bottom`:return n?t?jp:Ap:t?Ap:jp;case`left`:case`right`:return t?Mp:Np;default:return[]}}function Fp(e,t,n,r){let i=Sp(e),a=Pp(xp(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(kp)))),a}function Ip(e){let t=xp(e);return vp[t]+e.slice(t.length)}function Lp(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Rp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Lp(e)}function zp(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Bp(e,t,n){let{reference:r,floating:i}=e,a=Tp(t),o=Ep(t),s=wp(o),c=xp(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Sp(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Vp(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=bp(t,e),p=Rp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=zp(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=zp(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Hp=50,Up=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Vp},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Bp(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Hp&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Bp(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Wp=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=bp(e,t)||{};if(l==null)return{};let d=Rp(u),f={x:n,y:r},p=Ep(i),m=wp(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,ee=pp(d[_],T),te=pp(d[v],T),ne=C-h[m]-te,re=C/2-h[m]/2+w,ie=yp(ee,re,ne),ae=!c.arrow&&Sp(i)!=null&&re!==ie&&a.reference[m]/2-(re<ee?ee:te)-h[m]/2<0,oe=ae?re<ee?re-ee:re-ne:0;return{[p]:f[p]+oe,data:{[p]:ie,centerOffset:re-ie-oe,...ae&&{alignmentOffset:oe}},reset:ae}}}),Gp=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=bp(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=xp(r),_=Tp(o),v=xp(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ip(o)]:Op(o)),x=p!==`none`;!d&&x&&b.push(...Fp(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Dp(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Tp(t)||T.every(e=>Tp(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Tp(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function Kp(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function qp(e){return fp.some(t=>e[t]>=0)}var Jp=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=bp(e,t);switch(i){case`referenceHidden`:{let e=Kp(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:qp(e)}}}case`escaped`:{let e=Kp(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:qp(e)}}}default:return{}}}}},Yp=new Set([`left`,`top`]);async function Xp(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=xp(n),s=Sp(n),c=Tp(n)===`y`,l=Yp.has(o)?-1:1,u=a&&c?-1:1,d=bp(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var Zp=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Xp(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Qp=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=bp(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Tp(i),p=Cp(f),m=u[p],h=u[f],g=(e,t)=>yp(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},$p=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=bp(e,t),u={x:n,y:r},d=Tp(i),f=Cp(d),p=u[f],m=u[d],h=bp(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=Yp.has(xp(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},em=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=bp(e,t),c=await i.detectOverflow(t,s),l=xp(n),u=Sp(n),d=Tp(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=pp(p-c[m],g),y=pp(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*mp(c.left,c.right):S=p-2*mp(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function tm(){return typeof window<`u`}function nm(e){return am(e)?(e.nodeName||``).toLowerCase():`#document`}function rm(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function im(e){return((am(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function am(e){return tm()?e instanceof Node||e instanceof rm(e).Node:!1}function om(e){return tm()?e instanceof Element||e instanceof rm(e).Element:!1}function sm(e){return tm()?e instanceof HTMLElement||e instanceof rm(e).HTMLElement:!1}function cm(e){return!tm()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof rm(e).ShadowRoot}function lm(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=bm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function um(e){return/^(table|td|th)$/.test(nm(e))}function dm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var fm=/transform|translate|scale|rotate|perspective|filter/,pm=/paint|layout|strict|content/,mm=e=>!!e&&e!==`none`,hm;function gm(e){let t=om(e)?bm(e):e;return mm(t.transform)||mm(t.translate)||mm(t.scale)||mm(t.rotate)||mm(t.perspective)||!vm()&&(mm(t.backdropFilter)||mm(t.filter))||fm.test(t.willChange||``)||pm.test(t.contain||``)}function _m(e){let t=Sm(e);for(;sm(t)&&!ym(t);){if(gm(t))return t;if(dm(t))return null;t=Sm(t)}return null}function vm(){return hm??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),hm}function ym(e){return/^(html|body|#document)$/.test(nm(e))}function bm(e){return rm(e).getComputedStyle(e)}function xm(e){return om(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Sm(e){if(nm(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||cm(e)&&e.host||im(e);return cm(t)?t.host:t}function Cm(e){let t=Sm(e);return ym(t)?(e.ownerDocument||e).body:sm(t)&&lm(t)?t:Cm(t)}function wm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Cm(e),i=r===e.ownerDocument?.body,a=rm(r);if(i){let e=Tm(a);return t.concat(a,a.visualViewport||[],lm(r)?r:[],e&&n?wm(e):[])}return t.concat(r,wm(r,[],n))}function Tm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Em(e){let t=bm(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=sm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=hp(n)!==a||hp(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Dm(e){return om(e)?e:e.contextElement}function Om(e){let t=Dm(e);if(!sm(t))return _p(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Em(t),o=(a?hp(n.width):n.width)/r,s=(a?hp(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var km=_p(0);function Am(e){let t=rm(e);return!vm()||!t.visualViewport?km:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function jm(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===rm(e)}function Mm(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Dm(e),o=_p(1);t&&(r?om(r)&&(o=Om(r)):o=Om(e));let s=jm(a,n,r)?Am(a):_p(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=rm(a),t=om(r)?rm(r):r,n=e,i=Tm(n);for(;i&&t!==n;){let e=Om(i),t=i.getBoundingClientRect(),r=bm(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=rm(i),i=Tm(n)}}return zp({width:u,height:d,x:c,y:l})}function Nm(e,t){let n=xm(e).scrollLeft;return t?t.left+n:Mm(im(e)).left+n}function Pm(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Nm(e,n),y:n.top+t.scrollTop}}function Fm(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=im(r),s=t?dm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=_p(1),u=_p(0),d=sm(r);if((d||!a)&&((nm(r)!==`body`||lm(o))&&(c=xm(r)),d)){let e=Mm(r);l=Om(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Pm(o,c):_p(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Im(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Lm(e){let t=xm(e),n=e.ownerDocument.body,r=mp(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=mp(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Nm(e),o=-t.scrollTop;return bm(n).direction===`rtl`&&(a+=mp(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Rm=25;function zm(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=rm(e),a=im(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!vm()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Nm(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=Rm&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Bm(e,t){let n=Mm(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Om(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Vm(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=zm(e,n,t);else if(t===`document`)r=Lm(im(e));else if(om(t))r=Bm(t,n);else{let n=Am(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return zp(r)}function Hm(e,t){let n=t.get(e);if(n)return n;let r=wm(e,[],!1).filter(e=>om(e)&&nm(e)!==`body`),i=null,a=bm(e).position===`fixed`,o=a?Sm(e):e;for(;om(o)&&!ym(o);){let e=bm(o),t=gm(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Sm(o)}return t.set(e,r),r}function Um(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?dm(t)?[]:Hm(t,this._c):[].concat(n),r],o=Vm(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Vm(t,a[e],i);s=mp(n.top,s),c=pp(n.right,c),l=pp(n.bottom,l),u=mp(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Wm(e){let{width:t,height:n}=Em(e);return{width:t,height:n}}function Gm(e,t,n){let r=sm(t),i=im(t),a=n===`fixed`,o=Mm(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=_p(0);if((r||!a)&&((nm(t)!==`body`||lm(i))&&(s=xm(t)),r)){let e=Mm(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Nm(i));let l=i&&!r&&!a?Pm(i,s):_p(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Km(e){return bm(e).position===`static`}function qm(e,t){if(!sm(e)||bm(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return im(e)===n&&(n=n.ownerDocument.body),n}function Jm(e,t){let n=rm(e);if(dm(e))return n;if(!sm(e)){let t=Sm(e);for(;t&&!ym(t);){if(om(t)&&!Km(t))return t;t=Sm(t)}return n}let r=qm(e,t);for(;r&&um(r)&&Km(r);)r=qm(r,t);return r&&ym(r)&&Km(r)&&!gm(r)?n:r||_m(e)||n}var Ym=async function(e){let t=this.getOffsetParent||Jm,n=this.getDimensions,r=await n(e.floating);return{reference:Gm(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Xm(e){return bm(e).direction===`rtl`}var Zm={convertOffsetParentRelativeRectToViewportRelativeRect:Fm,getDocumentElement:im,getClippingRect:Um,getOffsetParent:Jm,getElementRects:Ym,getClientRects:Im,getDimensions:Wm,getScale:Om,isElement:om,isRTL:Xm};function Qm(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function $m(e,t,n){let r=null,i,a=im(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=gp(d),h=gp(a.clientWidth-(u+f)),g=gp(a.clientHeight-(d+p)),_=gp(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:mp(0,pp(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!Qm(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=rm(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function eh(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Dm(e),u=i||a?[...l?wm(l):[],...t?wm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?$m(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Mm(e):null;c&&g();function g(){let t=Mm(e);h&&!Qm(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var th=Zp,nh=Qp,rh=Gp,ih=em,ah=Jp,oh=Wp,sh=$p,ch=(e,t,n)=>{let r=new Map,i=n??{},a={...Zm,...i.platform,_c:r};return Up(e,t,{...i,platform:a})};function lh(e){return typeof e==`object`&&!!e&&`$el`in e}function uh(e){if(lh(e)){let t=e.$el;return am(t)&&nm(t)===`#comment`?null:t}return e}function dh(e){return typeof e==`function`?e():A(e)}function fh(e){return{name:`arrow`,options:e,fn(t){let n=uh(dh(e.element));return n==null?{}:oh({element:n,padding:e.padding}).fn(t)}}}function ph(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function mh(e,t){let n=ph(e);return Math.round(t*n)/n}function hh(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=W(()=>dh(n.open)??!0),a=W(()=>dh(n.middleware)),o=W(()=>dh(n.placement)??`bottom`),s=W(()=>dh(n.strategy)??`absolute`),c=W(()=>dh(n.transform)??!0),l=W(()=>uh(e.value)),u=W(()=>uh(t.value)),d=k(0),f=k(0),p=k(s.value),m=k(o.value),h=gn({}),g=k(!1),_=W(()=>{let e={position:p.value,left:`0`,top:`0`};if(!u.value)return e;let t=mh(u.value,d.value),n=mh(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...ph(u.value)>=1.5&&{willChange:`transform`}}:{position:p.value,left:t+`px`,top:n+`px`}}),v;function y(){if(l.value==null||u.value==null)return;let e=i.value;ch(l.value,u.value,{middleware:a.value,placement:o.value,strategy:s.value}).then(t=>{d.value=t.x,f.value=t.y,p.value=t.strategy,m.value=t.placement,h.value=t.middlewareData,g.value=e!==!1})}function b(){typeof v==`function`&&(v(),v=void 0)}function x(){if(b(),r===void 0){y();return}if(l.value!=null&&u.value!=null){v=r(l.value,u.value,y);return}}function S(){i.value||(g.value=!1)}return M([a,o,s,i],y,{flush:`sync`}),M([l,u],x,{flush:`sync`}),M(i,S,{flush:`sync`}),ze()&&Be(b),{x:an(d),y:an(f),strategy:an(p),placement:an(m),middlewareData:an(h),isPositioned:an(g),floatingStyles:_,update:y}}var gh=[`dir`],_h={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[vh,yh]=Du(`PopperContent`),bh=N({inheritAttrs:!1,__name:`PopperContent`,props:Ra({memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._h}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=ap(),{forwardRef:a,currentElement:o}=Td(),s=yd(W(()=>n.dir)),c=k(),l=k(),{width:u,height:d}=Jd(l),f=W(()=>n.side+(n.align===`center`?``:`-${n.align}`)),p=W(()=>typeof n.collisionPadding==`number`?n.collisionPadding:{top:0,right:0,bottom:0,left:0,...n.collisionPadding}),m=W(()=>Array.isArray(n.collisionBoundary)?n.collisionBoundary:[n.collisionBoundary]),h=W(()=>({padding:p.value,boundary:m.value.filter(lp),altBoundary:m.value.length>0})),g=W(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=W(()=>[th({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&rh({...h.value,...g.value}),n.avoidCollisions&&nh({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?sh():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&rh({...h.value,...g.value}),ih({...h.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),l.value&&fh({element:l.value,padding:n.arrowPadding}),up({arrowWidth:u.value,arrowHeight:d.value,dir:s.value}),n.hideWhenDetached&&ah({strategy:`referenceHidden`,...h.value})]),{floatingStyles:v,placement:y,isPositioned:b,middlewareData:x,update:S}=hh(W(()=>n.reference??i.anchor.value),c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...e)=>eh(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:_}),C=W(()=>dp(y.value)[0]),w=W(()=>dp(y.value)[1]);Ar(()=>{b.value&&r(`placed`)});let T=W(()=>{let e=x.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),ee=k(``);return kr(()=>{o.value&&(ee.value=window.getComputedStyle(o.value).zIndex)}),yh({placedSide:C,onArrowChange:e=>l.value=e,arrowX:W(()=>x.value.arrow?.x??0),arrowY:W(()=>x.value.arrow?.y??0),shouldHideArrow:T}),(e,t)=>(L(),R(`div`,{ref_key:`floatingRef`,ref:c,"data-reka-popper-content-wrapper":``,dir:A(s),style:_e({...A(v),transform:A(b)?A(v).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ee.value,"--reka-popper-transform-origin":[A(x).transformOrigin?.x,A(x).transformOrigin?.y].join(` `),...A(x).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[n.memoDependencies?oc([n.asChild,n.as,C.value,w.value,A(b),...Object.values(e.$attrs),...n.memoDependencies],()=>(L(),z(A(af),Ms({key:0,ref:A(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,style:{animation:A(b)?void 0:`none`}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])),t,0):(L(),z(A(af),Ms({key:1,ref:A(a)},e.$attrs,{"as-child":n.asChild,as:n.as,"data-side":C.value,"data-align":w.value,dir:A(s),style:{animation:A(b)?void 0:`none`}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`dir`,`style`]))],12,gh))}}),[xh,Sh]=Du(`RovingFocusGroup`),Ch=N({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:t,emit:n}){let r=e,i=n,{loop:a,orientation:o,dir:s}=Tn(r),c=yd(s),l=rd(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=k(!1),d=k(!1),f=k(0),{getItems:p,CollectionSlot:m}=Qf({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(np,rp);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);ip([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===l.value),...e].filter(Boolean),r.preventScrollOnEntryFocus)}}d.value=!1}function g(){setTimeout(()=>{d.value=!1},1)}return t({getItems:p}),Sh({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(e,t)=>(L(),z(A(m),null,{default:j(()=>[V(A(af),{tabindex:u.value||f.value===0?-1:0,"data-orientation":A(o),as:e.as,"as-child":e.asChild,dir:A(c),style:{outline:`none`},onMousedown:t[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:t[1]||=e=>u.value=!1},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),wh=N({__name:`MenuAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(cp),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}});function Th(){let e=k(!1);return na(()=>{Qu(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),Qu([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var Eh=Hu(Th),[Dh,Oh]=Du([`MenuRoot`,`MenuSub`],`MenuContext`),[kh,Ah]=Du(`MenuRoot`),jh=N({__name:`MenuRoot`,props:{open:{type:Boolean,required:!1,default:!1},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i,dir:a}=Tn(n),o=yd(a),s=rd(n,`open`,r),c=k(),l=Eh();return Oh({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),Ah({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(L(),z(A(sp),null,{default:j(()=>[F(e.$slots,`default`)]),_:3}))}}),[Mh,Nh]=Du(`MenuContent`),Ph=N({__name:`MenuContentImpl`,props:Ra({loop:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},disableOutsideScroll:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{..._h}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=Dh(),a=kh(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=Tn(n);Sd(),gd(s.value);let l=k(``),u=k(0),d=k(0),f=k(null),p=k(`right`),m=k(0),h=k(null),g=k(),{forwardRef:_,currentElement:v}=Td(),{handleTypeaheadSearch:y}=Xd(),b=k();function x(e){let t=od(e,b.value||Ou(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!1,attributeName:`[data-reka-collection-item]:not([data-disabled])`});t&&(b.value=t,t.scrollIntoView({block:`nearest`}))}function S(){b.value&&b.value.click()}let C=k(),w=k();M(b,e=>{if(w.value&&(e===void 0||e!==w.value.trigger.value)){if(e===void 0)return;w.value.onOpenChange(!1),w.value=void 0}}),M(v,e=>{i.onContentChange(e)}),oa(()=>{window.clearTimeout(u.value)});function T(e){return p.value===f.value?.side&&zf(e,f.value?.area)}async function ee(e){r(`openAutoFocus`,e),!e.defaultPrevented&&(e.preventDefault(),v.value?.focus({preventScroll:!0}))}function te(e){if(e.defaultPrevented)return;let t=e.target,n=t.closest(`[data-reka-menu-content]`)===e.currentTarget,r=[`input`,`textarea`].includes(t.tagName.toLowerCase()),i=e.ctrlKey||e.altKey||e.metaKey,o=e.key.length===1,s=od(e,Ou(),v.value,{loop:c.value,arrowKeyOptions:`vertical`,dir:a?.dir.value,focus:!0,attributeName:`[data-reka-collection-item]:not([data-disabled])`});if(s)return s?.focus();if(e.code===`Space`)return;let l=g.value?.getItems()??[];if(n&&(e.key===`Tab`&&a.modal.value&&e.preventDefault(),!i&&o&&!r&&y(e.key,l)),e.target!==v.value||!Ff.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];Pf.includes(e.key)&&u.reverse(),Lf(u)}function ne(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function re(e){if(!Bf(e))return;let t=e.target,n=m.value!==e.clientX;if((e?.currentTarget)?.contains(t)&&n){let t=e.clientX>m.value?`right`:`left`;p.value=t,m.value=e.clientX}}function ie(e){Bf(e)&&C.value&&C.value.focus()}return Nh({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Ou()?.tagName||``)||v.value?.focus(),h.value=null,!1),onTriggerLeave:e=>!!T(e),searchRef:l,highlightedElement:b,onKeydownNavigation:x,onKeydownEnter:S,filterElement:C,onFilterElementChange:e=>{C.value=e},activeSubmenuContext:w,pointerGraceTimerRef:d,onPointerGraceIntentChange:e=>{f.value=e}}),(e,t)=>(L(),z(A(Af),{"as-child":``,trapped:A(o),onMountAutoFocus:ee,onUnmountAutoFocus:t[7]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(gf),{"as-child":``,"disable-outside-pointer-events":A(s),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[3]||=e=>r(`pointerDownOutside`,e),onFocusOutside:t[4]||=e=>r(`focusOutside`,e),onInteractOutside:t[5]||=e=>r(`interactOutside`,e),onDismiss:t[6]||=e=>r(`dismiss`)},{default:j(()=>[V(A(Ch),{ref_key:`rovingFocusGroupRef`,ref:g,"current-tab-stop-id":h.value,"onUpdate:currentTabStopId":t[0]||=e=>h.value=e,"as-child":``,orientation:`vertical`,dir:A(a).dir.value,loop:A(c),onEntryFocus:t[1]||=e=>{r(`entryFocus`,e),A(a).isUsingKeyboardRef.value||e.preventDefault()}},{default:j(()=>[V(A(bh),{ref:A(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":A(If)(A(i).open.value),dir:A(a).dir.value,side:e.side,"side-offset":e.sideOffset,align:e.align,"align-offset":e.alignOffset,"avoid-collisions":e.avoidCollisions,"collision-boundary":e.collisionBoundary,"collision-padding":e.collisionPadding,"arrow-padding":e.arrowPadding,"prioritize-position":e.prioritizePosition,"position-strategy":e.positionStrategy,"update-position-strategy":e.updatePositionStrategy,sticky:e.sticky,"hide-when-detached":e.hideWhenDetached,reference:e.reference,onKeydown:te,onBlur:ne,onPointermove:re,onPointerenter:ie},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`,`dir`,`side`,`side-offset`,`align`,`align-offset`,`avoid-collisions`,`collision-boundary`,`collision-padding`,`arrow-padding`,`prioritize-position`,`position-strategy`,`update-position-strategy`,`sticky`,`hide-when-detached`,`reference`])]),_:3},8,[`current-tab-stop-id`,`dir`,`loop`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),Fh=N({inheritAttrs:!1,__name:`MenuItemImpl`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=Mh(),{forwardRef:r,currentElement:i}=Td(),{CollectionItem:a}=Qf(),o=k(!1),s=W(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!e.defaultPrevented&&Bf(e)){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Ou()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await ir(),!e.defaultPrevented&&Bf(e)&&n.highlightedElement.value===i.value&&!n.onItemLeave(e)&&n.highlightedElement.value===i.value&&(n.highlightedElement.value=void 0)}return(e,t)=>(L(),z(A(a),{value:{textValue:e.textValue}},{default:j(()=>[V(A(af),Ms({ref:A(r),role:`menuitem`,tabindex:`-1`},e.$attrs,{as:e.as,"as-child":e.asChild,"aria-disabled":e.disabled||void 0,"data-disabled":e.disabled?``:void 0,"data-highlighted":s.value?``:void 0,onPointermove:c,onPointerleave:l,onFocus:t[0]||=async t=>{let r=t.currentTarget;await ir(),!(t.defaultPrevented||e.disabled)&&(o.value=!0,A(n).highlightedElement.value=r)},onBlur:t[1]||=async e=>{await ir(),!e.defaultPrevented&&(o.value=!1)}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`data-disabled`,`data-highlighted`])]),_:3},8,[`value`]))}}),Ih=N({__name:`MenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=Td(),o=kh(),s=Mh(),c=k(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(jf,{bubbles:!0,cancelable:!0});r(`select`,e),await ir(),e.defaultPrevented?c.value=!1:o.onClose()}}return(e,t)=>(L(),z(Fh,Ms(n,{ref:A(i),onClick:l,onPointerdown:t[0]||=()=>{c.value=!0},onPointerup:t[1]||=async e=>{await ir(),!e.defaultPrevented&&(c.value||e.currentTarget?.click())},onKeydown:t[2]||=async t=>{let n=A(s).searchRef.value!==``;e.disabled||n&&t.key===` `||A(Mf).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Lh=N({__name:`MenuRootContentModal`,props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Dd(n,r),a=Dh(),{forwardRef:o,currentElement:s}=Td();return Gd(s),(e,t)=>(L(),z(Ph,Ms(A(i),{ref:A(o),"trap-focus":A(a).open.value,"disable-outside-pointer-events":A(a).open.value,"disable-outside-scroll":!0,onDismiss:t[0]||=e=>A(a).onOpenChange(!1),onFocusOutside:t[1]||=lu(e=>r(`focusOutside`,e),[`prevent`])}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`]))}}),Rh=N({__name:`MenuRootContentNonModal`,props:{loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t),r=Dh();return(e,t)=>(L(),z(Ph,Ms(A(n),{"trap-focus":!1,"disable-outside-pointer-events":!1,"disable-outside-scroll":!1,onDismiss:t[0]||=e=>A(r).onOpenChange(!1)}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),zh=N({__name:`MenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t),r=Dh(),i=kh();return(e,t)=>(L(),z(A(tf),{present:e.forceMount||A(r).open.value},{default:j(()=>[A(i).modal.value?(L(),z(Lh,Se(Ms({key:0},{...e.$attrs,...A(n)})),{default:j(()=>[F(e.$slots,`default`)]),_:3},16)):(L(),z(Rh,Se(Ms({key:1},{...e.$attrs,...A(n)})),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Bh=N({__name:`MenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(Jf),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Vh=N({__name:`MenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(af),Ms(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),[Hh,Uh]=Du(`PopoverRoot`),Wh=N({__name:`PopoverRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},modal:{type:Boolean,required:!1,default:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t,{modal:i}=Tn(n),a=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return Uh({contentId:``,triggerId:``,modal:i,open:a,onOpenChange:e=>{a.value=e},onOpenToggle:()=>{a.value=!a.value},triggerElement:k(),hasCustomAnchor:k(!1)}),(e,t)=>(L(),z(A(sp),null,{default:j(()=>[F(e.$slots,`default`,{open:A(a),close:()=>a.value=!1})]),_:3}))}}),Gh=N({__name:`PopoverClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Td();let n=Hh();return(e,r)=>(L(),z(A(af),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,onClick:r[0]||=e=>A(n).onOpenChange(!1)},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`]))}}),Kh=N({__name:`PopoverContentImpl`,props:{trapFocus:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Ed(Gu(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Td(),o=Hh();return Sd(),(e,t)=>(L(),z(A(Af),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:t[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:t[6]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(gf),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:t[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:t[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:t[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:t[3]||=e=>r(`focusOutside`,e),onDismiss:t[4]||=e=>A(o).onOpenChange(!1)},{default:j(()=>[V(A(bh),Ms(A(i),{id:A(o).contentId,ref:A(a),"data-state":A(o).open.value?`open`:`closed`,"aria-labelledby":A(o).triggerId,style:{"--reka-popover-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-popover-content-available-width":`var(--reka-popper-available-width)`,"--reka-popover-content-available-height":`var(--reka-popper-available-height)`,"--reka-popover-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-popover-trigger-height":`var(--reka-popper-anchor-height)`},role:`dialog`}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),qh=N({__name:`PopoverContentModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=k(!1);gd(!0);let o=Dd(n,r),{forwardRef:s,currentElement:c}=Td();return Gd(c),(e,t)=>(L(),z(Kh,Ms(A(o),{ref:A(s),"trap-focus":A(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=lu(e=>{r(`closeAutoFocus`,e),a.value||A(i).triggerElement.value?.focus()},[`prevent`]),onPointerDownOutside:t[1]||=e=>{r(`pointerDownOutside`,e);let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,i=t.button===2||n;a.value=i},onFocusOutside:t[2]||=lu(()=>{},[`prevent`])}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),Jh=N({__name:`PopoverContentNonModal`,props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=k(!1),o=k(!1),s=Dd(n,r);return(e,t)=>(L(),z(Kh,Ms(A(s),{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:t[0]||=e=>{r(`closeAutoFocus`,e),e.defaultPrevented||(a.value||A(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:t[1]||=async e=>{r(`interactOutside`,e),e.defaultPrevented||(a.value=!0,e.detail.originalEvent.type===`pointerdown`&&(o.value=!0));let t=e.target;A(i).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&o.value&&e.preventDefault()}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Yh=N({__name:`PopoverContent`,props:{forceMount:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=e,r=t,i=Hh(),a=Dd(n,r),{forwardRef:o}=Td();return i.contentId||=qd(void 0,`reka-popover-content`),(e,t)=>(L(),z(A(tf),{present:e.forceMount||A(i).open.value},{default:j(()=>[A(i).modal.value?(L(),z(qh,Ms({key:0},A(a),{ref:A(o)}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16)):(L(),z(Jh,Ms({key:1},A(a),{ref:A(o)}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Xh=N({__name:`PopoverPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(Jf),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Zh=N({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Hh(),{forwardRef:r,currentElement:i}=Td();return n.triggerId||=qd(void 0,`reka-popover-trigger`),n.contentId||=qd(void 0,`reka-popover-content`),na(()=>{n.triggerElement.value=i.value}),(e,i)=>(L(),z(ha(A(n).hasCustomAnchor.value?A(af):A(cp)),{"as-child":``},{default:j(()=>[V(A(af),{id:A(n).triggerId,ref:A(r),type:e.as===`button`?`button`:void 0,"aria-haspopup":`dialog`,"aria-expanded":A(n).open.value,"aria-controls":A(n).open.value?A(n).contentId:void 0,"data-state":A(n).open.value?`open`:`closed`,as:e.as,"as-child":t.asChild,onClick:A(n).onOpenToggle},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),[Qh,$h]=Du(`DropdownMenuRoot`),eg=N({__name:`DropdownMenuRoot`,props:{defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1,default:void 0},dir:{type:String,required:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Td();let i=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=k(),{modal:o,dir:s}=Tn(n),c=yd(s);return $h({open:i,onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},triggerId:``,triggerElement:a,contentId:``,modal:o,dir:c}),(e,t)=>(L(),z(A(jh),{open:A(i),"onUpdate:open":t[0]||=e=>hn(i)?i.value=e:null,dir:A(c),modal:A(o)},{default:j(()=>[F(e.$slots,`default`,{open:A(i)})]),_:3},8,[`open`,`dir`,`modal`]))}}),tg=N({__name:`DropdownMenuContent`,props:{forceMount:{type:Boolean,required:!1},loop:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`closeAutoFocus`],setup(e,{emit:t}){let n=Dd(e,t);Td();let r=Qh(),i=k(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=qd(void 0,`reka-dropdown-menu-content`),(e,t)=>(L(),z(A(zh),Ms(A(n),{id:A(r).contentId,"aria-labelledby":A(r)?.triggerId,style:{"--reka-dropdown-menu-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-dropdown-menu-content-available-width":`var(--reka-popper-available-width)`,"--reka-dropdown-menu-content-available-height":`var(--reka-popper-available-height)`,"--reka-dropdown-menu-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-dropdown-menu-trigger-height":`var(--reka-popper-anchor-height)`},onCloseAutoFocus:a,onInteractOutside:t[0]||=e=>{if(e.defaultPrevented)return;let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,a=t.button===2||n;(!A(r).modal.value||a)&&(i.value=!0),A(r).triggerElement.value?.contains(e.target)&&e.preventDefault()}}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`,`aria-labelledby`]))}}),ng=N({__name:`DropdownMenuItem`,props:{disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,r=bd(t);return Td(),(e,t)=>(L(),z(A(Ih),Se(Es({...n,...A(r)})),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),rg=N({__name:`DropdownMenuPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(Bh),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),ig=N({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Td(),(e,n)=>(L(),z(A(Vh),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),ag=N({__name:`DropdownMenuTrigger`,props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Qh(),{forwardRef:r,currentElement:i}=Td();return na(()=>{n.triggerElement=i}),n.triggerId||=qd(void 0,`reka-dropdown-menu-trigger`),(e,i)=>(L(),z(A(wh),{"as-child":``},{default:j(()=>[V(A(af),{id:A(n).triggerId,ref:A(r),type:e.as===`button`?`button`:void 0,"as-child":t.asChild,as:e.as,"aria-haspopup":`menu`,"aria-expanded":A(n).open.value,"aria-controls":A(n).open.value?A(n).contentId:void 0,"data-disabled":e.disabled?``:void 0,disabled:e.disabled,"data-state":A(n).open.value?`open`:`closed`,onClick:i[0]||=async t=>{!e.disabled&&t.button===0&&t.ctrlKey===!1&&(A(n)?.onOpenToggle(),await ir(),A(n).open.value&&t.preventDefault())},onKeydown:i[1]||=du(t=>{e.disabled||([`Enter`,` `].includes(t.key)&&A(n).onOpenToggle(),t.key===`ArrowDown`&&A(n).onOpenChange(!0),[`Enter`,` `,`ArrowDown`].includes(t.key)&&t.preventDefault())},[`enter`,`space`,`arrow-down`])},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as-child`,`as`,`aria-expanded`,`aria-controls`,`data-disabled`,`disabled`,`data-state`])]),_:3}))}}),[og,sg]=Du(`SwitchRoot`),cg=N({inheritAttrs:!1,__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,r=t,{disabled:i}=Tn(n),a=rd(n,`modelValue`,r,{defaultValue:n.defaultValue??n.falseValue,passive:n.modelValue===void 0}),o=W(()=>a.value===n.trueValue);function s(){i.value||(a.value=o.value?n.falseValue:n.trueValue)}let{forwardRef:c,currentElement:l}=Td(),u=wd(l),d=Od(),f=W(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return sg({checked:o,toggleCheck:s,disabled:i}),(e,t)=>(L(),R(I,null,[V(A(af),Ms({id:e.id,ref:A(c),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||f.value,"aria-checked":o.value,"aria-required":e.required,"data-state":o.value?`checked`:`unchecked`,"data-disabled":A(i)?``:void 0,"as-child":e.asChild,as:e.as,disabled:A(i)},{...A(d),...e.$attrs},{onClick:s,onKeydown:du(lu(s,[`prevent`]),[`enter`])}),{default:j(()=>[F(e.$slots,`default`,{modelValue:A(a),checked:o.value})]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]),A(u)&&e.name?(L(),z(A(tp),Ms({key:0,type:`checkbox`,name:e.name,disabled:A(i),required:e.required,value:e.value,checked:o.value},A(d)),null,16,[`name`,`disabled`,`required`,`value`,`checked`])):U(`v-if`,!0)],64))}}),lg=N({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=og();return Td(),(e,n)=>(L(),z(A(af),{"data-state":A(t).checked.value?`checked`:`unchecked`,"data-disabled":A(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:j(()=>[F(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),[ug,dg]=Du(`TooltipProvider`),fg=N({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(e){let{delayDuration:t,skipDelayDuration:n,disableHoverableContent:r,disableClosingTrigger:i,ignoreNonKeyboardFocus:a,disabled:o,content:s}=Tn(e);Td();let c=k(!0),l=k(!1),{start:u,stop:d}=Ju(()=>{c.value=!0},n,{immediate:!1});return dg({isOpenDelayed:c,delayDuration:t,onOpen(){d(),c.value=!1},onClose(){u()},isPointerInTransitRef:l,disableHoverableContent:r,disableClosingTrigger:i,disabled:o,ignoreNonKeyboardFocus:a,content:s}),(e,t)=>F(e.$slots,`default`)}}),pg=`tooltip.open`,[mg,hg]=Du(`TooltipRoot`),gg=N({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(e,{emit:t}){let n=e,r=t;Td();let i=ug(),a=W(()=>n.disableHoverableContent??i.disableHoverableContent.value),o=W(()=>n.disableClosingTrigger??i.disableClosingTrigger.value),s=W(()=>n.disabled??i.disabled.value),c=W(()=>n.delayDuration??i.delayDuration.value),l=W(()=>n.ignoreNonKeyboardFocus??i.ignoreNonKeyboardFocus.value),u=rd(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});M(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(pg))):i.onClose())});let d=k(!1),f=k(),p=W(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=Ju(()=>{d.value=!0,u.value=!0},c,{immediate:!1});function g(){h(),d.value=!1,u.value=!0}function _(){h(),u.value=!1}function v(){m()}return hg({contentId:``,open:u,stateAttribute:p,trigger:f,onTriggerChange(e){f.value=e},onTriggerEnter(){i.isOpenDelayed.value?v():g()},onTriggerLeave(){a.value?_():h()},onOpen:g,onClose:_,disableHoverableContent:a,disableClosingTrigger:o,disabled:s,ignoreNonKeyboardFocus:l}),(e,t)=>(L(),z(A(sp),null,{default:j(()=>[F(e.$slots,`default`,{open:A(u)})]),_:3}))}}),_g=N({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=mg(),a=ug(),{forwardRef:o,currentElement:s}=Td(),c=W(()=>n.ariaLabel||s.value?.textContent),l=W(()=>{let{ariaLabel:e,...t}=n;return md(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return na(()=>{Qu(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),Qu(document,pg,i.onClose)}),(e,t)=>(L(),z(A(gf),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{A(i).disableClosingTrigger.value&&A(i).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=lu(()=>{},[`prevent`]),onDismiss:t[3]||=e=>A(i).onClose()},{default:j(()=>[V(A(bh),Ms({ref:A(o),"data-state":A(i).stateAttribute.value},{...e.$attrs,...l.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:j(()=>[F(e.$slots,`default`),V(A($f),{id:A(i).contentId,role:`tooltip`},{default:j(()=>[H(O(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),vg=N({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=Ed(e),{forwardRef:n,currentElement:r}=Td(),{trigger:i,onClose:a}=mg(),o=ug(),{isPointerInTransit:s,onPointerExit:c}=kd(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),Qu(r,`pointermove`,e=>{let t=r.value;t&&e.pointerType!==`touch`&&t.ownerDocument.elementsFromPoint?.(e.clientX,e.clientY).some(e=>{if(t.contains(e))return!1;let n=e.closest(`[data-grace-area-trigger]`);return!!n&&n!==i.value})&&a()}),(e,r)=>(L(),z(_g,Ms({ref:A(n)},A(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),yg=N({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=mg(),a=Dd(n,r),{forwardRef:o}=Td();return(e,t)=>(L(),z(A(tf),{present:e.forceMount||A(i).open.value},{default:j(()=>[(L(),z(ha(A(i).disableHoverableContent.value?_g:vg),Ms({ref:A(o)},A(a)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),bg=N({__name:`TooltipPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(L(),z(A(Jf),Se(Es(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),xg=N({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=mg(),r=ug();n.contentId||=qd(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Td(),o=k(!1),s=k(!1),c=W(()=>n.disabled.value?{}:{click:h,focus:p,pointermove:d,pointerleave:f,pointerdown:u,blur:m});M(a,e=>{n.onTriggerChange(e)},{immediate:!0});function l(){setTimeout(()=>{o.value=!1},1)}function u(){n.open&&!n.disableClosingTrigger.value&&n.onClose(),o.value=!0,document.addEventListener(`pointerup`,l,{once:!0})}function d(e){e.pointerType!==`touch`&&!s.value&&!r.isPointerInTransitRef.value&&(n.onTriggerEnter(),s.value=!0)}function f(){n.onTriggerLeave(),s.value=!1}function p(e){o.value||(!n.ignoreNonKeyboardFocus.value||e.target.matches?.(`:focus-visible`))&&n.onOpen()}function m(){n.onClose()}function h(){n.disableClosingTrigger.value||n.onClose()}return(e,r)=>(L(),z(A(cp),{"as-child":``,reference:e.reference??A(a)},{default:j(()=>[V(A(af),Ms({ref:A(i),"aria-describedby":A(n).open.value?A(n).contentId:void 0,"data-state":A(n).stateAttribute.value,as:e.as,"as-child":t.asChild,"data-grace-area-trigger":``},xa(c.value)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),Sg=e=>e.startsWith(`/`);function Cg(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function wg(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Cg(e.default)}var Tg=Object.assign;function Eg(e,t){let n={};for(let r in t){let i=t[r];n[r]=Og(i)?i.map(e):e(i)}return n}var Dg=()=>{},Og=Array.isArray;function kg(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ag=Symbol(``);function jg(e,t){return Tg(Error(),{type:e,[Ag]:!0},t)}function Mg(e,t){return e instanceof Error&&Ag in e&&(t==null||!!(e.type&t))}var Ng=Symbol(``),Pg=Symbol(``),Fg=Symbol(``),Ig=Symbol(``),Lg=Symbol(``);function Rg(){return Tr(Fg)}function zg(e){return Tr(Ig)}var Bg=typeof document<`u`,Vg=/#/g,Hg=/&/g,Ug=/\//g,Wg=/=/g,Gg=/\?/g,Kg=/\+/g,qg=/%5B/g,Jg=/%5D/g,Yg=/%5E/g,Xg=/%60/g,Zg=/%7B/g,Qg=/%7C/g,$g=/%7D/g,e_=/%20/g;function t_(e){return e==null?``:encodeURI(``+e).replace(Qg,`|`).replace(qg,`[`).replace(Jg,`]`)}function n_(e){return t_(e).replace(Zg,`{`).replace($g,`}`).replace(Yg,`^`)}function r_(e){return t_(e).replace(Kg,`%2B`).replace(e_,`+`).replace(Vg,`%23`).replace(Hg,`%26`).replace(Xg,"`").replace(Zg,`{`).replace($g,`}`).replace(Yg,`^`)}function i_(e){return r_(e).replace(Wg,`%3D`)}function a_(e){return t_(e).replace(Vg,`%23`).replace(Gg,`%3F`)}function o_(e){return a_(e).replace(Ug,`%2F`)}function s_(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var c_=/\/$/,l_=e=>e.replace(c_,``);function u_(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=v_(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:s_(o)}}function d_(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function f_(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function p_(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&m_(t.matched[r],n.matched[i])&&h_(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function m_(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function h_(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!g_(e[n],t[n]))return!1;return!0}function g_(e,t){return Og(e)?__(e,t):Og(t)?__(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function __(e,t){return Og(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function v_(e,t){if(Sg(e))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`){if(s===`..`)a>1&&a--;else break}return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var y_={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function b_(e){if(!e){if(Bg){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),l_(e)}var x_=/^[^#]+#/;function S_(e,t){return e.replace(x_,`#`)+t}function C_(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var w_=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function T_(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=C_(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function E_(e,t){return(history.state?history.state.position-t:-1)+e}var D_=new Map;function O_(e){D_.set(e,w_())}function k_(e){let t=D_.get(e);return D_.delete(e),t}function A_(e){return typeof e==`string`||e&&typeof e==`object`}function j_(e){return typeof e==`string`||typeof e==`symbol`}function M_(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(Kg,` `),i=r.indexOf(`=`),a=s_(i<0?r:r.slice(0,i)),o=i<0?null:s_(r.slice(i+1));if(a in t){let e=t[a];Og(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function N_(e){let t=``;for(let n in e){let r=e[n];if(n=i_(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(Og(r)?r.map(e=>e&&r_(e)):[r&&r_(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function P_(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=Og(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function F_(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function I_(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(jg(4,{from:n,to:t})):e instanceof Error?c(e):A_(e)?c(jg(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function L_(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(t===`beforeRouteEnter`||o.instances[e]){if(Cg(s)){let c=(s.__vccOpts||s)[t];c&&a.push(I_(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=wg(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&I_(c,n,r,o,e,i)()}))}}}return a}function R_(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>m_(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>m_(e,s))||i.push(s))}return[n,r,i]}var z_=()=>location.protocol+`//`+location.host;function B_(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),f_(n,``)}return f_(n,e)+r+i}function V_(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=B_(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){let{history:e}=window;e.state&&e.replaceState(Tg({},e.state,{scroll:w_()}),``)}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),{pauseListeners:c,listen:l,destroy:d}}function H_(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function U_(e){let{history:t,location:n}=window,r={value:B_(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:z_()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Tg({},t.state,H_(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Tg({},i.value,t.state,{forward:e,scroll:w_()});a(o.current,o,!0),a(e,Tg({},H_(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function W_(e){e=b_(e);let t=U_(e),n=V_(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Tg({location:``,base:e,go:r,createHref:S_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var G_={type:0,value:``},K_=/[a-zA-Z0-9_]/;function q_(e){if(!e)return[[]];if(e===`/`)return[[G_]];if(!Sg(e))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:K_.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`)}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var J_=`[^/]+?`,Y_={sensitive:!1,strict:!1,start:!0,end:!0},X_=/[.+*?^${}()[\]/\\]/g;function Z_(e,t){let n=Tg({},Y_,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(X_,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||J_;if(u!==J_){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(Og(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=Og(c)?c.join(`/`):c;if(!l){if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`)}n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Q_(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function $_(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Q_(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(ev(r))return 1;if(ev(i))return-1}return i.length-r.length}function ev(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var tv={strict:!1,end:!0,sensitive:!1};function nv(e,t,n){let r=Tg(Z_(q_(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function rv(e,t){let n=[],r=new Map;t=kg(tv,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=av(e);s.aliasOf=r&&r.record;let l=kg(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(av(Tg({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&!Sg(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=nv(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!sv(d)&&o(e.name)),dv(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:Dg}function o(e){if(j_(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=lv(e,n);n.splice(t,0,e),e.record.name&&!sv(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw jg(1,{location:e});s=i.record.name,a=Tg(iv(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&iv(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw jg(1,{location:e,currentLocation:t});s=i.record.name,a=Tg({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:cv(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function iv(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function av(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ov(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ov(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function sv(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function cv(e){return e.reduce((e,t)=>Tg(e,t.meta),{})}function lv(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;$_(e,t[i])<0?r=i:n=i+1}let i=uv(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function uv(e){let t=e;for(;t=t.parent;)if(dv(t)&&$_(e,t)===0)return t}function dv({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function fv(e){let t=Tr(Fg),n=Tr(Ig),r=W(()=>{let n=A(e.to);return t.resolve(n)}),i=W(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(m_.bind(null,i));if(o>-1)return o;let s=_v(e[t-2]);return t>1&&_v(i)===s&&a[a.length-1].path!==s?a.findIndex(m_.bind(null,e[t-2])):o}),a=W(()=>i.value>-1&&gv(n.params,r.value.params)),o=W(()=>i.value>-1&&i.value===n.matched.length-1&&h_(n.params,r.value.params));function s(n={}){if(hv(n)){let n=t[A(e.replace)?`replace`:`push`](A(e.to)).catch(Dg);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:W(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function pv(e){return e.length===1?e[0]:e}var mv=N({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:fv,setup(e,{slots:t}){let n=tn(fv(e)),{options:r}=Tr(Fg),i=W(()=>({[vv(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[vv(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&pv(t.default(n));return e.custom?r:ic(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function hv(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&(e.button===void 0||e.button===0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function gv(e,t){for(let n in t){let r=t[n],i=e[n];if(Og(r)){if(!Og(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}else if(r!==i)return!1}return!0}function _v(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var vv=(e,t,n)=>e??t??n,yv=N({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=Tr(Lg),i=W(()=>e.route||r.value),a=Tr(Pg,0),o=W(()=>{let e=A(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=W(()=>i.value.matched[o.value]);wr(Pg,W(()=>o.value+1)),wr(Ng,s),wr(Lg,i);let c=k();return M(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!m_(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return bv(n.default,{Component:l,route:r});let u=o.props[a],d=ic(l,Tg({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return bv(n.default,{Component:d,route:r})||d}}});function bv(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var xv=yv;function Sv(e){let t=rv(e.routes,e),n=e.parseQuery||M_,r=e.stringifyQuery||N_,i=e.history,a=F_(),o=F_(),s=F_(),c=gn(y_),l=gn(0),u=y_;Bg&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=Eg.bind(null,e=>``+e),f=Eg.bind(null,o_),p=Eg.bind(null,s_);function m(e,n){let r,i;j_(e)?(r=t.getRecordMatcher(e),i=n):i=e;let a=t.addRoute(i,r);return l.value++,()=>{a(),l.value++}}function h(e){let n=t.getRecordMatcher(e);n&&(t.removeRoute(n),l.value++)}function g(){t.clearRoutes(),l.value++}function _(){return t.getRoutes().map(e=>e.record)}function v(e){return!!t.getRecordMatcher(e)}function y(e,a){if(l.value,typeof e==`string`){a||=e.startsWith(`/`)?y_:c.value;let r=u_(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Tg(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=Tg({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?y_:c.value));let o;if(e.path!=null)o=Tg({},e,{path:u_(n,e.path,a.path).path});else{let t=Tg({},e.params);for(let e in t)t[e]??delete t[e];o=Tg({},e,{params:f(t)}),a.params=f(a.params)}let s=t.resolve(o,a),u=e.hash||``;s.params=d(p(s.params));let m=d_(r,Tg({},e,{hash:n_(u),path:s.path})),h=i.createHref(m);return Tg({fullPath:m,hash:u,query:r===N_?P_(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?u_(n,e,c.value.path):Tg({},e)}function x(e,t){if(u!==e)return jg(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(Tg(b(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=b(i):{path:i},i.params={}),Tg({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=u=y(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,l=w(n,i);if(l)return T(Tg(b(l),{state:typeof l==`object`?Tg({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&p_(r,i,n)&&(f=jg(16,{to:d,from:i}),fe(i,i,!0,!1)),(f?Promise.resolve(f):ne(d,i)).catch(e=>Mg(e)?Mg(e,2)?e:de(e):E(e,d,i)).then(e=>{if(e){if(Mg(e,2))return T(Tg({replace:s},b(e.to),{state:typeof e.to==`object`?Tg({},a,e.to.state):a,force:o}),t||d)}else e=ie(d,i,!0,s,a);return re(d,i,e),e})}function ee(e,t){let n=x(e,t);return n?Promise.reject(n):Promise.resolve()}function te(e){let t=he.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ne(e,t){let n,[r,i,s]=R_(e,t);n=L_(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(I_(r,e,t))});let c=ee.bind(null,e,t);return n.push(c),_e(n).then(()=>{n=[];for(let r of a.list())n.push(I_(r,e,t));return n.push(c),_e(n)}).then(()=>{n=L_(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(I_(r,e,t))});return n.push(c),_e(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(Og(r.beforeEnter))for(let i of r.beforeEnter)n.push(I_(i,e,t));else n.push(I_(r.beforeEnter,e,t))}return n.push(c),_e(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=L_(s,`beforeRouteEnter`,e,t,te),n.push(c),_e(n))).then(()=>{n=[];for(let r of o.list())n.push(I_(r,e,t));return n.push(c),_e(n)}).catch(e=>Mg(e,8)?e:Promise.reject(e))}function re(e,t,n){s.list().forEach(r=>te(()=>r(e,t,n)))}function ie(e,t,n,r,a){let o=x(e,t);if(o)return o;let s=t===y_,l=Bg?history.state:{};n&&(r||s?i.replace(e.fullPath,Tg({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,fe(e,t,n,s),de()}let ae;function oe(){ae||=i.listen((e,t,n)=>{if(!ge.listening)return;let r=y(e),a=w(r,ge.currentRoute.value);if(a){T(Tg(a,{replace:!0,force:!0}),r).catch(Dg);return}u=r;let o=c.value;Bg&&n.delta&&O_(E_(o.fullPath,n.delta)),ne(r,o).catch(e=>Mg(e,12)?e:Mg(e,2)?(T(Tg(b(e.to),{force:!0}),r).then(e=>{Mg(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(Dg),Promise.reject()):(n.delta&&i.go(-n.delta,!1),E(e,r,o))).then(e=>{e||=ie(r,o,!1),e&&(n.delta&&!Mg(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Mg(e,20)&&i.go(-1,!1)),re(r,o,e)}).catch(Dg)})}let se=F_(),ce=F_(),le;function E(e,t,n){de(e);let r=ce.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function ue(){return le&&c.value!==y_?Promise.resolve():new Promise((e,t)=>{se.add([e,t])})}function de(e){return le||(le=!e,oe(),se.list().forEach(([t,n])=>e?n(e):t()),se.reset()),e}function fe(t,n,r,i){let{scrollBehavior:a}=e;if(!Bg||!a)return Promise.resolve();let o=!r&&k_(E_(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ir().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&T_(e)).catch(e=>t===c.value&&E(e,t,n))}let pe=e=>i.go(e),me,he=new Set,ge={currentRoute:c,listening:!0,addRoute:m,removeRoute:h,clearRoutes:g,hasRoute:v,getRoutes:_,resolve:y,options:e,push:S,replace:C,go:pe,back:()=>pe(-1),forward:()=>pe(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ce.add,isReady:ue,install(e){e.component(`RouterLink`,mv),e.component(`RouterView`,xv),e.config.globalProperties.$router=ge,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>A(c)}),Bg&&!me&&c.value===y_&&(me=!0,S(i.location).catch(e=>{}));let t={};for(let e in y_)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Fg,ge),e.provide(Ig,nn(t)),e.provide(Lg,c);let n=e.unmount;he.add(e),e.unmount=function(){he.delete(e),he.size<1&&(u=y_,ae&&ae(),ae=null,c.value=y_,me=!1,le=!1),n()}}};function _e(e){return e.reduce((e,t)=>e.then(()=>te(t)),Promise.resolve())}return ge}var Cv=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},wv=e=>e===``,Tv=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Ev=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Dv=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Ov=e=>{let t=Dv(e);return t.charAt(0).toUpperCase()+t.slice(1)},kv={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},Av=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=kv.width,color:s=kv.stroke,...c},{slots:l})=>ic(`svg`,{...kv,...c,width:o,height:o,stroke:s,"stroke-width":wv(n)||wv(r)||n===!0||r===!0?Number(i||a||kv[`stroke-width`])*24/Number(o):i||a||kv[`stroke-width`],class:Tv(`lucide`,c.class,...e?[`lucide-${Ev(Ov(e))}-icon`,`lucide-${Ev(e)}`]:[`lucide-icon`]),...!l.default&&!Cv(c)&&{"aria-hidden":`true`}},[...t.map(e=>ic(...e)),...l.default?[l.default()]:[]]),G=(e,t)=>(n,{slots:r,attrs:i})=>ic(Av,{...i,...n,iconNode:t,name:e},r),jv=G(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Mv=G(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),Nv=G(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),Pv=G(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),Fv=G(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Iv=G(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Lv=G(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Rv=G(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),zv=G(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),Bv=G(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),Vv=G(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Hv=G(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Uv=G(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Wv=G(`circle`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]),Gv=G(`code-xml`,[[`path`,{d:`m18 16 4-4-4-4`,key:`1inbqp`}],[`path`,{d:`m6 8-4 4 4 4`,key:`15zrgr`}],[`path`,{d:`m14.5 4-5 16`,key:`e7oirm`}]]),Kv=G(`command`,[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]),qv=G(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Jv=G(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Yv=G(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Xv=G(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Zv=G(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),Qv=G(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),$v=G(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),ey=G(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),ty=G(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),ny=G(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),ry=G(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),iy=G(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),ay=G(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),oy=G(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),sy=G(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),cy=G(`log-in`,[[`path`,{d:`m10 17 5-5-5-5`,key:`1bsop3`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4`,key:`u53s6r`}]]),ly=G(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),uy=G(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),dy=G(`memory-stick`,[[`path`,{d:`M12 12v-2`,key:`fwoke6`}],[`path`,{d:`M12 18v-2`,key:`qj6yno`}],[`path`,{d:`M16 12v-2`,key:`heuere`}],[`path`,{d:`M16 18v-2`,key:`s1ct0w`}],[`path`,{d:`M2 11h1.5`,key:`15p63e`}],[`path`,{d:`M20 18v-2`,key:`12ehxp`}],[`path`,{d:`M20.5 11H22`,key:`khsy7a`}],[`path`,{d:`M4 18v-2`,key:`1c3oqr`}],[`path`,{d:`M8 12v-2`,key:`1mwtfd`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`,key:`1qcswk`}]]),fy=G(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),py=G(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),my=G(`octagon-alert`,[[`path`,{d:`M12 16h.01`,key:`1drbdi`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M15.312 2a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586l-4.688-4.688A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2z`,key:`1fd625`}]]),hy=G(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),gy=G(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),_y=G(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),vy=G(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),yy=G(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),by=G(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),xy=G(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Sy=G(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Cy=G(`scroll-text`,[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]),wy=G(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Ty=G(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),Ey=G(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Dy=G(`shield-alert`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]),Oy=G(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),ky=G(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),Ay=G(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),jy=G(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),My=G(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),Ny=G(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Py=G(`thermometer`,[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`,key:`17jzev`}]]),Fy=G(`timer`,[[`line`,{x1:`10`,x2:`14`,y1:`2`,y2:`2`,key:`14vaq8`}],[`line`,{x1:`12`,x2:`15`,y1:`14`,y2:`11`,key:`17fdiu`}],[`circle`,{cx:`12`,cy:`14`,r:`8`,key:`1e1u0o`}]]),Iy=G(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),Ly=G(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Ry=G(`waypoints`,[[`path`,{d:`m10.586 5.414-5.172 5.172`,key:`4mc350`}],[`path`,{d:`m18.586 13.414-5.172 5.172`,key:`8c96vv`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`circle`,{cx:`12`,cy:`20`,r:`2`,key:`144qzu`}],[`circle`,{cx:`12`,cy:`4`,r:`2`,key:`muu5ef`}],[`circle`,{cx:`20`,cy:`12`,r:`2`,key:`1xzzfp`}],[`circle`,{cx:`4`,cy:`12`,r:`2`,key:`1hvhnz`}]]),zy=G(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),By=e=>Array.isArray(e)?e:[e],Vy=(e,t)=>{let n=[[],[]];for(let r of e)t(r)?n[0].push(r):n[1].push(r);return n},Hy=Array,Uy=(e,t)=>e.includes(t),Wy=(e,t=0)=>[...Array(e)].map((e,n)=>n+t),Gy=(e,t,n)=>e===void 0?t===void 0?[]:Array.isArray(t)?t:[t]:(n?.prepend?Array.isArray(t)?e.unshift(...t):e.unshift(t):Array.isArray(t)?e.push(...t):e.push(t),e),Ky=(e,t)=>t==null?e??[]:e==null?By(t):e.concat(t),qy=(...e)=>e.reduce(Ky,[]),Jy=(e,t,n)=>{if(e===void 0)return Array.isArray(t)?t:[t];let r=n?.isEqual??((e,t)=>e===t);for(let n of By(t))e.some(e=>r(e,n))||e.push(n);return e},Yy=(e,t)=>e.reduce((e,n)=>{let r=n[t];return e[r]=Gy(e[r],n),e},{}),Xy=(e,t,n)=>e.length===t.length&&e.every(n?.isEqual?(e,r)=>n.isEqual(e,t[r]):(e,n)=>e===t[n]),Zy=(e,t)=>Qy(e)===t,Qy=e=>{let t=typeof e;return t===`object`?e===null?`null`:`object`:t===`function`?`object`:t},$y={boolean:`boolean`,null:`null`,undefined:`undefined`,bigint:`a bigint`,number:`a number`,object:`an object`,string:`a string`,symbol:`a symbol`},eb={...$y,function:`a function`},tb=class extends Error{},nb=e=>rb(e,tb),rb=(e,t=Error)=>{throw new t(e)},ib=class extends Error{name=`ParseError`},K=e=>rb(e,ib),ab=e=>` ${e}`,ob=(e,t)=>{let n={},r=Array.isArray(e),i=!1;for(let[a,o]of Object.entries(e).entries()){let e=r?t(a,o[1]):t(...o,a);i||=typeof e[0]==`number`;let s=Array.isArray(e[0])||e.length===0?e:[e];for(let[e,t]of s)typeof e==`object`?n[e.group]=Gy(n[e.group],t):n[e]=t}return i?Object.values(n):n},sb=Object.entries,cb=(e,t)=>e in t,lb=(e,t)=>t in e,ub=class{constructor(e){Object.assign(this,e)}},db=class{},fb=class extends db{},pb=(e,t)=>{let n={},r={},i;for(i in e)i in t?n[i]=e[i]:r[i]=e[i];return[n,r]},mb=(e,t)=>pb(e,t)[1],hb=e=>Object.keys(e).length===0,gb=e=>[...Object.entries(e),...Object.getOwnPropertySymbols(e).map(t=>[t,e[t]])],_b=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),vb=e=>{let t=Object.keys(e).sort(),n={};for(let r=0;r<t.length;r++)n[t[r]]=e[t[r]];return n},yb=ab(`unset​`),bb=e=>Object.values(e).filter(t=>typeof t==`number`||typeof e[t]!=`number`),xb={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},Sb=globalThis.File??Blob,Cb={ArrayBuffer,Blob,File:Sb,FormData,Headers,Request,Response,URL},wb={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},Tb={...xb,...Cb,...wb,String,Number,Boolean},Eb=e=>{let t=Object.getPrototypeOf(e);for(;t?.constructor&&(!cb(t.constructor.name,Tb)||!(e instanceof Tb[t.constructor.name]));)t=Object.getPrototypeOf(t);let n=t?.constructor?.name;if(n!==void 0&&n!==`Object`)return n},Db=e=>typeof e==`object`&&e?Eb(e)??`object`:Qy(e),Ob=Array.isArray,kb={Array:`an array`,Function:`a function`,Date:`a Date`,RegExp:`a RegExp`,Error:`an Error`,Map:`a Map`,Set:`a Set`,String:`a String object`,Number:`a Number object`,Boolean:`a Boolean object`,Promise:`a Promise`,WeakMap:`a WeakMap`,WeakSet:`a WeakSet`},Ab={ArrayBuffer:`an ArrayBuffer instance`,Blob:`a Blob instance`,File:`a File instance`,FormData:`a FormData instance`,Headers:`a Headers instance`,Request:`a Request instance`,Response:`a Response instance`,URL:`a URL instance`},jb={Int8Array:`an Int8Array`,Uint8Array:`a Uint8Array`,Uint8ClampedArray:`a Uint8ClampedArray`,Int16Array:`an Int16Array`,Uint16Array:`a Uint16Array`,Int32Array:`an Int32Array`,Uint32Array:`a Uint32Array`,Float32Array:`a Float32Array`,Float64Array:`a Float64Array`,BigInt64Array:`a BigInt64Array`,BigUint64Array:`a BigUint64Array`},Mb={...kb,...Ab,...jb},Nb=e=>{let t=Object(e).name??null;return t&&cb(t,Tb)&&Tb[t]===e?t:null},Pb=(e,t)=>{let n=e.prototype;for(;n!==null;){if(n===t.prototype)return!0;n=Object.getPrototypeOf(n)}return!1},Fb=e=>Ib(e,new Map),Ib=(e,t)=>{if(typeof e!=`object`||!e)return e;if(t?.has(e))return t.get(e);let n=Nb(e.constructor);if(n===`Date`)return new Date(e.getTime());if(n&&n!==`Array`)return e;let r=Array.isArray(e)?e.slice():Object.create(Object.getPrototypeOf(e)),i=Object.getOwnPropertyDescriptors(e);if(t){t.set(e,r);for(let e in i){let n=i[e];`get`in n||`set`in n||(n.value=Ib(n.value,t))}}return Object.defineProperties(r,i),r},Lb=e=>{let t=yb;return()=>t===yb?t=e():t},Rb=e=>typeof e==`function`&&e.length===0,zb=class extends Function{constructor(...e){let t=e.slice(0,-1),n=e[e.length-1];try{super(...t,n)}catch(t){return nb(`Encountered an unexpected error while compiling your definition:
7
- Message: ${t}
8
- Source: (${e.slice(0,-1)}) => {
9
- ${e[e.length-1]}
10
- }`)}}},Bb=class{constructor(e,...[t]){return Object.assign(Object.setPrototypeOf(e.bind(t?.bind??this),this.constructor.prototype),t?.attach)}},Vb=Lb(()=>{try{return Function(`return false`)()}catch{return!0}});ab(`brand`),ab(`arkInferred`),ab(`args`);var Hb=class{constructor(){}},Ub={fileName:()=>{try{return((Error().stack?.split(`
11
- `)[2]?.trim()||``).match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||`unknown`).replace(/^file:\/\//,``)}catch{return`unknown`}},env:{}},Wb=e=>e[0].toUpperCase()+e.slice(1),Gb=e=>e[0].toLowerCase()+e.slice(1),Kb=e=>new RegExp(qb(e),typeof e==`string`?``:e.flags),qb=e=>`^(?:${typeof e==`string`?e:e.source})$`,Jb={negativeLookahead:e=>`(?!${e})`,nonCapturingGroup:e=>`(?:${e})`},Yb={" ":1,"\n":1," ":1},Xb=`^-0\\.?0*$`,Zb=`[1-9]\\d*`,Qb=`\\.\\d+`,$b=`\\.\\d*[1-9]`,ex=e=>Kb(Jb.negativeLookahead(Xb)+Jb.nonCapturingGroup(`-?`+Jb.nonCapturingGroup(Jb.nonCapturingGroup(`0|`+Zb)+Jb.nonCapturingGroup(e.decimalPattern)+`?`)+(e.allowDecimalOnly?`|`+e.decimalPattern:``)+`?`)),tx=ex({decimalPattern:$b,allowDecimalOnly:!1}),nx=tx.test.bind(tx),rx=ex({decimalPattern:Qb,allowDecimalOnly:!0});rx.test.bind(rx);var ix=/^-?\d*\.?\d*$/,ax=e=>e.length!==0&&ix.test(e),ox=Kb(Jb.negativeLookahead(`^-0$`)+`-?`+Jb.nonCapturingGroup(Jb.nonCapturingGroup(`0|`+Zb))),sx=ox.test.bind(ox),cx=/^-?\d+$/,lx=cx.test.bind(cx),ux={number:`a number`,bigint:`a bigint`,integer:`an integer`},dx=(e,t)=>`'${e}' was parsed as ${ux[t]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,fx=(e,t)=>t===`number`?nx(e):sx(e),px=(e,t)=>t===`number`?Number(e):Number.parseInt(e),mx=(e,t)=>t===`number`?ax(e):lx(e),hx=(e,t)=>vx(e,`number`,t),gx=(e,t)=>vx(e,`number`,{...t,strict:!0}),_x=(e,t)=>vx(e,`integer`,t),vx=(e,t,n)=>{let r=px(e,t);return!Number.isNaN(r)&&mx(e,t)?n?.strict?fx(e,t)?r:K(dx(e,t)):r:n?.errorOnFail?K(n?.errorOnFail===!0?`Failed to parse ${ux[t]} from '${e}'`:n?.errorOnFail):void 0},yx=e=>{if(e[e.length-1]!==`n`)return;let t=e.slice(0,-1),n;try{n=BigInt(t)}catch{return}if(ox.test(t))return n;if(cx.test(t))return K(dx(e,`bigint`))},bx={version:`0.56.2`,filename:Ub.fileName(),FileConstructor:Sb},xx=new Map,Sx=Object.create(null),Cx=e=>{let t=xx.get(e);if(t)return t;let n=Tx(e);return Sx[n]?n=`${n}${Sx[n]++}`:Sx[n]=1,bx[n]=e,xx.set(e,n),n},wx=e=>/^[$A-Z_a-z][\w$]*$/.test(e),Tx=e=>{switch(typeof e){case`object`:{if(e===null)break;let t=Eb(e)??`object`;return t[0].toLowerCase()+t.slice(1)}case`function`:return wx(e.name)?e.name:`fn`;case`symbol`:return e.description&&wx(e.description)?e.description:`symbol`}return nb(`Unexpected attempt to register serializable value of type ${Qy(e)}`)},Ex=e=>typeof e==`string`?JSON.stringify(e):typeof e==`bigint`?`${e}n`:`${e}`,Dx=(e,t={})=>jx(e,{onUndefined:`$ark.undefined`,onBigInt:e=>`$ark.bigint-${e}`,...t},[]),Ox=(e,t)=>{switch(Qy(e)){case`object`:let n=e,r=n.constructor?.name??`Object`;return r===`Object`||r===`Array`?t?.quoteKeys===!1?kx(n,t?.indent??0,``):JSON.stringify(jx(n,Ax,[]),null,t?.indent):kx(n,t?.indent??0,``);case`symbol`:return Ax.onSymbol(e);default:return Ex(e)}},kx=(e,t,n)=>{if(typeof e==`function`)return Ax.onFunction(e);if(typeof e!=`object`||!e)return Ex(e);let r=n+` `.repeat(t);if(Array.isArray(e)){if(e.length===0)return`[]`;let i=e.map(e=>kx(e,t,r)).join(`,
12
- `+r);return t?`[\n${r}${i}\n${n}]`:`[${i}]`}let i=e.constructor?.name??`Object`;if(i===`Object`){let i=gb(e).map(([e,n])=>{let i=typeof e==`symbol`?Ax.onSymbol(e):wx(e)?e:JSON.stringify(e),a=kx(n,t,r);return`${r}${i}: ${a}`});return i.length===0?`{}`:t?`{\n${i.join(`,
13
- `)}\n${n}}`:`{${i.join(`, `)}}`}return e instanceof Date?Mx(e):`expression`in e&&typeof e.expression==`string`?e.expression:i},Ax={onCycle:()=>`(cycle)`,onSymbol:e=>`Symbol(${Cx(e)})`,onFunction:e=>`Function(${Cx(e)})`},jx=(e,t,n)=>{switch(Qy(e)){case`object`:{let r=e;if(`toJSON`in r&&typeof r.toJSON==`function`)return r.toJSON();if(typeof r==`function`)return Ax.onFunction(r);if(n.includes(r))return`(cycle)`;let i=[...n,r];if(Array.isArray(r))return r.map(e=>jx(e,t,i));if(r instanceof Date)return r.toDateString();let a={};for(let e in r)a[e]=jx(r[e],t,i);for(let e of Object.getOwnPropertySymbols(r))a[t.onSymbol?.(e)??e.toString()]=jx(r[e],t,i);return a}case`symbol`:return Ax.onSymbol(e);case`bigint`:return t.onBigInt?.(e)??`${e}n`;case`undefined`:return t.onUndefined??`undefined`;case`string`:return e.replace(/\\/g,`\\\\`);default:return e}},Mx=e=>{let t=e.getFullYear(),n=e.getMonth(),r=e.getDate(),i=e.getHours(),a=e.getMinutes(),o=e.getSeconds(),s=e.getMilliseconds();if(n===0&&r===1&&i===0&&a===0&&o===0&&s===0)return`${t}`;let c=`${Nx[n]} ${r}, ${t}`;if(i===0&&a===0&&o===0&&s===0)return c;let l=e.toLocaleTimeString(),u=l.endsWith(` AM`)||l.endsWith(` PM`)?l.slice(-3):``;return u&&(l=l.slice(0,-u.length)),s?l+=`.${Fx(s,3)}`:Px.test(l)&&(l=l.slice(0,-3)),`${l+u}, ${c}`},Nx=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Px=/:\d\d:00$/,Fx=(e,t)=>String(e).padStart(t,`0`),Ix=(e,t,...[n])=>{let r=n?.stringifySymbol??Ox,i=e;switch(typeof t){case`string`:i=wx(t)?e===``?t:`${e}.${t}`:`${e}[${JSON.stringify(t)}]`;break;case`number`:i=`${e}[${t}]`;break;case`symbol`:i=`${e}[${r(t)}]`;break;default:n?.stringifyNonKey?i=`${e}[${n.stringifyNonKey(t)}]`:K(`${Ox(t)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return i},Lx=(e,...t)=>e.reduce((e,n)=>Ix(e,n,...t),``),Rx=class extends Hy{cache={};constructor(...e){super(),this.push(...e)}toJSON(){if(this.cache.json)return this.cache.json;this.cache.json=[];for(let e=0;e<this.length;e++)this.cache.json.push(typeof this[e]==`symbol`?Ox(this[e]):this[e]);return this.cache.json}stringify(){return this.cache.stringify?this.cache.stringify:this.cache.stringify=Lx(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let e=``,t=[e];for(let n of this)e=Ix(e,n),t.push(e);return this.cache.stringifyAncestors=t}},zx=class{chars;i;def;constructor(e){this.def=e,this.chars=[...e],this.i=0}shift(){return this.chars[this.i++]??``}get lookahead(){return this.chars[this.i]??``}get nextLookahead(){return this.chars[this.i+1]??``}get length(){return this.chars.length}shiftUntil(e){let t=``;for(;this.lookahead&&!e(this,t);)t+=this.shift();return t}shiftUntilEscapable(e){let t=``;for(;this.lookahead;)if(this.lookahead===`\\`)this.shift(),e(this,t)||this.lookahead===`\\`?t+=this.shift():t+=`\\${this.shift()}`;else if(e(this,t))break;else t+=this.shift();return t}shiftUntilLookahead(e){return typeof e==`string`?this.shiftUntil(t=>t.lookahead===e):this.shiftUntil(t=>t.lookahead in e)}shiftUntilNonWhitespace(){return this.shiftUntil(()=>!(this.lookahead in Yb))}jumpToIndex(e){this.i=e<0?this.length+e:e}jumpForward(e){this.i+=e}get location(){return this.i}get unscanned(){return this.chars.slice(this.i,this.length).join(``)}get scanned(){return this.chars.slice(0,this.i).join(``)}sliceChars(e,t){return this.chars.slice(e,t).join(``)}lookaheadIs(e){return this.lookahead===e}lookaheadIsIn(e){return this.lookahead in e}},Bx=(e,t)=>`Unmatched ${e}${t===``?``:` before ${t}`}`,Vx=e=>`Missing ${e}`;ab(`implementedTraits`);for(var Hx=`$ark`,Ux=2;Hx in globalThis;)Hx=`$ark${Ux++}`;var Wx=Hx;globalThis[Wx]=bx;var q=bx,Gx=e=>`${Wx}.${e}`,Kx=e=>Gx(Cx(e)),qx=class extends fb{argNames;body=``;constructor(...e){super(),this.argNames=e;for(let t of e){if(t in this)throw Error(`Arg name '${t}' would overwrite an existing property on FunctionBody`);this[t]=t}}indentation=0;indent(){return this.indentation+=4,this}dedent(){return this.indentation-=4,this}prop(e,t=!1){return Yx(e,t)}index(e,t=!1){return Zx(`${e}`,t)}line(e){return this.body+=`${` `.repeat(this.indentation)}${e}\n`,this}const(e,t){return this.line(`const ${e} = ${t}`),this}let(e,t){return this.line(`let ${e} = ${t}`)}set(e,t){return this.line(`${e} = ${t}`)}if(e,t){return this.block(`if (${e})`,t)}elseIf(e,t){return this.block(`else if (${e})`,t)}else(e){return this.block(`else`,e)}for(e,t,n=0){return this.block(`for (let i = ${n}; ${e}; i++)`,t)}forIn(e,t){return this.block(`for (const k in ${e})`,t)}block(e,t,n=``){return this.line(`${e} {`),this.indent(),t(this),this.dedent(),this.line(`}${n}`)}return(e=``){return this.line(`return ${e}`)}write(e=`anonymous`,t=0){return`${e}(${this.argNames.join(`, `)}) { ${t?this.body.split(`
14
- `).map(e=>` `.repeat(t)+`${e}`).join(`
15
- `):this.body} }`}compile(){return new zb(...this.argNames,this.body)}},Jx=e=>Zy(e,`object`)||typeof e==`symbol`?Kx(e):Ex(e),Yx=(e,t=!1)=>typeof e==`string`&&wx(e)?`${t?`?`:``}.${e}`:Zx(Xx(e),t),Xx=e=>typeof e==`symbol`?Kx(e):JSON.stringify(e),Zx=(e,t=!1)=>`${t?`?.`:``}[${e}]`,Qx=class extends qx{traversalKind;optimistic;constructor(e){super(`data`,`ctx`),this.traversalKind=e.kind,this.optimistic=e.optimistic===!0}invoke(e,t){let n=t?.arg??this.data,r=typeof e==`string`||this.requiresContextFor(e),i=typeof e==`string`?e:e.id;return r?`${this.referenceToId(i,t)}(${n}, ${this.ctx})`:`${this.referenceToId(i,t)}(${n})`}referenceToId(e,t){let n=`this.${e}${t?.kind??this.traversalKind}`;return t?.bind?`${n}.bind(${t?.bind})`:n}requiresContextFor(e){return this.traversalKind===`Apply`||e.allowsRequiresContext}initializeErrorCount(){return this.const(`errorCount`,`ctx.currentErrorCount`)}returnIfFail(){return this.if(`ctx.currentErrorCount > errorCount`,()=>this.return())}returnIfFailFast(){return this.if(`ctx.failFast && ctx.currentErrorCount > errorCount`,()=>this.return())}traverseKey(e,t,n){let r=this.requiresContextFor(n);return r&&this.line(`${this.ctx}.path.push(${e})`),this.check(n,{arg:t}),r&&this.line(`${this.ctx}.path.pop()`),this}check(e,t){return this.traversalKind===`Allows`?this.if(`!${this.invoke(e,t)}`,()=>this.return(!1)):this.line(this.invoke(e,t))}},$x=e=>ob(e,(e,t)=>[e,Ob(t)?[...t]:t]),eS=ab(`arkKind`),tS=(e,t)=>e?.[eS]===t,nS=e=>tS(e,`root`)||tS(e,`constraint`),rS=[`unit`,`proto`,`domain`],iS=[`required`,`optional`,`index`,`sequence`],aS=[`pattern`,`divisor`,`exactLength`,`max`,`min`,`maxLength`,`minLength`,`before`,`after`],oS=[...aS,`structure`,`predicate`],sS=[...oS,...iS],cS=[`alias`,`union`,`morph`,`unit`,`intersection`,`proto`,`domain`],lS=[...cS,...sS],uS=ob(sS,(e,t)=>[t,1]),dS=ob([...iS,`undeclared`],(e,t)=>[t,1]),fS=ob(lS,(e,t)=>[t,e]),pS=e=>typeof e==`string`&&e in fS,mS=e=>fS[e],hS=e=>cS.slice(mS(e)+1);[...hS(`union`)],[...hS(`morph`)];var gS=e=>typeof e==`string`||typeof e==`boolean`||e===null?e:typeof e==`number`?Number.isNaN(e)?`NaN`:e===1/0?`Infinity`:e===-1/0?`-Infinity`:e:Jx(e),_S=e=>{let t=`{ `;for(let[n,r]of Object.entries(e))t+=`${n}: ${Jx(r)}, `;return t+` }`},vS=e=>{let t=e;return t.hasAssociatedError&&(t.defaults.expected??=e=>`description`in e?e.description:t.defaults.description(e),t.defaults.actual??=e=>Ox(e),t.defaults.problem??=e=>`must be ${e.expected}${e.actual?` (was ${e.actual})`:``}`,t.defaults.message??=e=>{if(e.path.length===0)return e.problem;let t=`${e.propString} ${e.problem}`;return t[0]===`[`?`value at ${t}`:t}),t},yS={Error:class extends Error{name=`ToJsonSchemaError`;code;context;constructor(e,t){super(Ox(t,{quoteKeys:!1,indent:4})),this.code=e,this.context=t}hasCode(e){return this.code===e}},throw:(...e)=>{throw new yS.Error(...e)},throwInternalOperandError:(e,t)=>nb(`Unexpected JSON Schema input for ${e}: ${Ox(t)}`),defaultConfig:{target:`draft-2020-12`,dialect:`https://json-schema.org/draft/2020-12/schema`,useRefs:!1,fallback:{arrayObject:e=>yS.throw(`arrayObject`,e),arrayPostfix:e=>yS.throw(`arrayPostfix`,e),defaultValue:e=>yS.throw(`defaultValue`,e),domain:e=>yS.throw(`domain`,e),morph:e=>yS.throw(`morph`,e),patternIntersection:e=>yS.throw(`patternIntersection`,e),predicate:e=>yS.throw(`predicate`,e),proto:e=>yS.throw(`proto`,e),symbolKey:e=>yS.throw(`symbolKey`,e),unit:e=>yS.throw(`unit`,e),date:e=>yS.throw(`date`,e)}}};q.config??={};var bS=(e,t)=>{if(!t)return e;let n={...e},r;for(r in t){let i={...e.keywords};if(r===`keywords`){for(let e in t[r]){let n=t.keywords[e];n!==void 0&&(i[e]=typeof n==`string`?{description:n}:n)}n.keywords=i}else r===`toJsonSchema`?n[r]=SS(e.toJsonSchema,t.toJsonSchema):pS(r)?n[r]={...e[r],...t[r]}:n[r]=t[r]}return n},xS={"draft-2020-12":`https://json-schema.org/draft/2020-12/schema`,"draft-07":`http://json-schema.org/draft-07/schema#`},SS=((e,t)=>{if(!e)return CS(t??{},void 0);if(!t)return e;let n={...e},r;for(r in t)r===`fallback`?n.fallback=wS(e.fallback,t.fallback):n[r]=t[r];return CS(n,t)}),CS=(e,t)=>t?.dialect===void 0?t?.target===void 0?e:{...e,dialect:xS[t.target]}:e,wS=(e,t)=>{e=TS(e),t=TS(t);let n={},r;for(r in yS.defaultConfig.fallback)n[r]=t[r]??t.default??e[r]??e.default??yS.defaultConfig.fallback[r];return n},TS=e=>typeof e==`function`?{default:e}:e??{},ES=class e extends fb{[eS]=`error`;path;data;nodeConfig;input;ctx;constructor({prefixPath:e,relativePath:t,...n},r){super(),this.input=n,this.ctx=r,_b(this,n);let i=r.data;n.code===`union`&&(n.errors=n.errors.flatMap(n=>{let r=n.hasCode(`union`)?n.errors:[n];return!e&&!t?r:r.map(n=>n.transform(n=>({...n,path:qy(e,n.path,t)})))})),this.nodeConfig=r.config[this.code];let a=[...n.path??r.path];t&&a.push(...t),e&&a.unshift(...e),this.path=new Rx(...a),this.data=`data`in n?n.data:i}transform(t){return new e(t({data:this.data,path:this.path,...this.input}),this.ctx)}hasCode(e){return this.code===e}get propString(){return Lx(this.path)}get expected(){if(this.input.expected)return this.input.expected;let e=this.meta?.expected??this.nodeConfig.expected;return typeof e==`function`?e(this.input):e}get actual(){if(this.input.actual)return this.input.actual;let e=this.meta?.actual??this.nodeConfig.actual;return typeof e==`function`?e(this.data):e}get problem(){if(this.input.problem)return this.input.problem;let e=this.meta?.problem??this.nodeConfig.problem;return typeof e==`function`?e(this):e}get message(){if(this.input.message)return this.input.message;let e=this.meta?.message??this.nodeConfig.message;return typeof e==`function`?e(this):e}get flat(){return this.hasCode(`intersection`)?[...this.errors]:[this]}toJSON(){return{data:this.data,path:this.path,...this.input,expected:this.expected,actual:this.actual,problem:this.problem,message:this.message}}toString(){return this.message}throw(){throw this}},DS=class e extends Hy{[eS]=`errors`;static get[Symbol.species](){return Array}ctx;constructor(e){super(),this.ctx=e}byPath=Object.create(null);get flatByPath(){return ob(this.byPath,(e,t)=>[e,t.flat])}get flatProblemsByPath(){return ob(this.byPath,(e,t)=>[e,t.flat.map(e=>e.problem)])}byAncestorPath=Object.create(null);count=0;mutable=this;throw(){throw this.toTraversalError()}toTraversalError(){return new OS(this)}add(e){let t=this.byPath[e.propString];if(t){if(e===t||t.hasCode(`union`)&&t.errors.length===0)return;let n=e.hasCode(`union`)&&e.errors.length===0?e:new ES({code:`intersection`,errors:t.hasCode(`intersection`)?[...t.errors,e]:[t,e]},this.ctx),r=this.indexOf(t);this.mutable[r===-1?this.length:r]=n,this.byPath[e.propString]=n,this.addAncestorPaths(e)}else this.byPath[e.propString]=e,this.addAncestorPaths(e),this.mutable.push(e);this.count++}transform(t){let n=new e(this.ctx);for(let e of this)n.add(t(e));return n}merge(e){for(let t of e)this.add(new ES({...t,path:[...this.ctx.path,...t.path]},this.ctx))}affectsPath(e){return this.length===0?!1:e.stringifyAncestors().some(e=>e in this.byPath)||e.stringify()in this.byAncestorPath}get summary(){return this.toString()}get issues(){return this}toJSON(){return[...this.map(e=>e.toJSON())]}toString(){return this.join(`
16
- `)}addAncestorPaths(e){for(let t of e.path.stringifyAncestors())this.byAncestorPath[t]=Gy(this.byAncestorPath[t],e)}},OS=class extends Error{name=`TraversalError`;constructor(e){e.length===1?super(e.summary):super(`
17
- `+e.map(e=>` • ${kS(e)}`).join(`
18
- `)),Object.defineProperty(this,"arkErrors",{value:e,enumerable:!1})}},kS=e=>e.toString().split(`
19
- `).join(`
20
- `),AS=class{path=[];errors=new DS(this);root;config;queuedMorphs=[];branches=[];seen={};constructor(e,t){this.root=e,this.config=t}get data(){let e=this.root;for(let t of this.path)e=e?.[t];return e}get propString(){return Lx(this.path)}reject(e){return this.error(e),!1}mustBe(e){return this.error(e),!1}error(e){let t=typeof e==`object`?e.code?e:{...e,code:`predicate`}:{code:`predicate`,expected:e};return this.errorFromContext(t)}hasError(){return this.currentErrorCount!==0}get currentBranch(){return this.branches[this.branches.length-1]}queueMorphs(e){let t={path:new Rx(...this.path),morphs:e};this.currentBranch?this.currentBranch.queuedMorphs.push(t):this.queuedMorphs.push(t)}finalize(e){return this.queuedMorphs.length&&(typeof this.root==`object`&&this.root!==null&&this.config.clone&&(this.root=this.config.clone(this.root)),this.applyQueuedMorphs()),this.hasError()?e?e(this.errors):this.errors:this.root}get currentErrorCount(){return this.currentBranch?+!!this.currentBranch.error:this.errors.count}get failFast(){return this.branches.length!==0}pushBranch(){this.branches.push({error:void 0,queuedMorphs:[]})}popBranch(){return this.branches.pop()}get external(){return this}errorFromNodeContext(e){return this.errorFromContext(e)}errorFromContext(e){let t=new ES(e,this);return this.currentBranch?this.currentBranch.error=t:this.errors.add(t),t}applyQueuedMorphs(){for(;this.queuedMorphs.length;){let e=this.queuedMorphs;this.queuedMorphs=[];for(let{path:t,morphs:n}of e)this.errors.affectsPath(t)||this.applyMorphsAtPath(t,n)}}applyMorphsAtPath(e,t){let n=e[e.length-1],r;if(n!==void 0){r=this.root;for(let t=0;t<e.length-1;t++)r=r[e[t]]}for(let i of t){this.path=[...e];let t=nS(i),a=i(r===void 0?this.root:r[n],this);if(a instanceof ES){this.errors.add(a);break}if(a instanceof DS){t||this.errors.merge(a),this.queuedMorphs=[];break}r===void 0?this.root=a:r[n]=a,this.applyQueuedMorphs()}}},jS=(e,t,n)=>{if(!n)return t();n.path.push(e);let r=t();return n.path.pop(),r},MS=class extends Bb{attachments;$;onFail;includesTransform;includesContextualPredicate;isCyclic;allowsRequiresContext;rootApplyStrategy;contextFreeMorph;rootApply;referencesById;shallowReferences;flatRefs;flatMorphs;allows;get shallowMorphs(){return[]}constructor(e,t){super((e,t,n=this.onFail)=>t?(this.traverseApply(e,t),t.hasError()?t.errors:t.data):this.rootApply(e,n),{attach:e}),this.attachments=e,this.$=t,this.onFail=this.meta.onFail??this.$.resolvedConfig.onFail,this.includesTransform=this.hasKind(`morph`)||this.hasKind(`structure`)&&this.structuralMorph!==void 0||this.hasKind(`sequence`)&&this.inner.defaultables!==void 0,this.includesContextualPredicate=this.hasKind(`predicate`)&&this.inner.predicate.length!==1,this.isCyclic=this.kind===`alias`,this.referencesById={[this.id]:this},this.shallowReferences=this.hasKind(`structure`)?[this,...this.children]:this.children.reduce((e,t)=>VS(e,t.shallowReferences),[this]);let n=this.isStructural();this.flatRefs=[],this.flatMorphs=[];for(let e=0;e<this.children.length;e++){if(this.includesTransform||=this.children[e].includesTransform,this.includesContextualPredicate||=this.children[e].includesContextualPredicate,this.isCyclic||=this.children[e].isCyclic,!n){let t=this.children[e].flatRefs;for(let e=0;e<t.length;e++){let n=t[e];if(!this.flatRefs.some(e=>zS(e,n))){this.flatRefs.push(n);for(let e of n.node.branches)(e.hasKind(`morph`)||e.hasKind(`intersection`)&&e.structure?.structuralMorph!==void 0)&&this.flatMorphs.push({path:n.path,propString:n.propString,node:e})}}}Object.assign(this.referencesById,this.children[e].referencesById)}this.flatRefs.sort((e,t)=>e.path.length>t.path.length?1:e.path.length<t.path.length?-1:e.propString>t.propString?1:e.propString<t.propString||e.node.expression<t.node.expression?-1:1),this.allowsRequiresContext=this.includesContextualPredicate||this.isCyclic,this.rootApplyStrategy=!this.allowsRequiresContext&&this.flatMorphs.length===0?this.shallowMorphs.length===0?`allows`:this.shallowMorphs.every(e=>e.length===1||e.name===`$arkStructuralMorph`)?this.hasKind(`union`)?this.branches.some(e=>e.shallowMorphs.length>1)?`contextual`:`branchedOptimistic`:this.shallowMorphs.length>1?`contextual`:`optimistic`:`contextual`:`contextual`,this.rootApply=this.createRootApply(),this.allows=this.allowsRequiresContext?e=>this.traverseAllows(e,new AS(e,this.$.resolvedConfig)):e=>this.traverseAllows(e)}createRootApply(){switch(this.rootApplyStrategy){case`allows`:return(e,t)=>{if(this.allows(e))return e;let n=new AS(e,this.$.resolvedConfig);return this.traverseApply(e,n),n.finalize(t)};case`contextual`:return(e,t)=>{let n=new AS(e,this.$.resolvedConfig);return this.traverseApply(e,n),n.finalize(t)};case`optimistic`:this.contextFreeMorph=this.shallowMorphs[0];let e=this.$.resolvedConfig.clone;return(t,n)=>{if(this.allows(t))return this.contextFreeMorph(e&&(typeof t==`object`&&t||typeof t==`function`)?e(t):t);let r=new AS(t,this.$.resolvedConfig);return this.traverseApply(t,r),r.finalize(n)};case`branchedOptimistic`:return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,nb(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=LS(this.metaJson);cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get description(){return this.cacheGetter(`description`,this.meta?.description??this.$.resolvedConfig[this.kind].description(this))}get references(){return Object.values(this.referencesById)}precedence=mS(this.kind);precompilation;assert=(e,t)=>this(e,t,e=>e.throw());traverse(e,t){return this(e,t,null)}get in(){return this.cacheGetter(`in`,this.rawIn.isRoot()?this.$.finalize(this.rawIn):this.rawIn)}get rawIn(){return this.cacheGetter(`rawIn`,this.getIo(`in`))}get out(){return this.cacheGetter(`out`,this.rawOut.isRoot()?this.$.finalize(this.rawOut):this.rawOut)}get rawOut(){return this.cacheGetter(`rawOut`,this.getIo(`out`))}getIo(e){if(!this.includesTransform)return this;let t={};for(let[n,r]of this.innerEntries){let i=this.impl.keys[n];if(i.reduceIo)i.reduceIo(e,t,r);else if(i.child){let i=r;t[n]=Ob(i)?i.map(t=>e===`in`?t.rawIn:t.rawOut):e===`in`?i.rawIn:i.rawOut}else t[n]=r}return this.$.node(this.kind,t)}toJSON(){return this.json}toString(){return`Type<${this.expression}>`}equals(e){let t=nS(e)?e:this.$.parseDefinition(e);return this.innerHash===t.innerHash}ifEquals(e){return this.equals(e)?this:void 0}hasKind(e){return this.kind===e}assertHasKind(e){return this.kind!==e&&rb(`${this.kind} node was not of asserted kind ${e}`),this}hasKindIn(...e){return e.includes(this.kind)}assertHasKindIn(...e){return Uy(e,this.kind)||rb(`${this.kind} node was not one of asserted kinds ${e}`),this}isBasis(){return Uy(rS,this.kind)}isConstraint(){return Uy(sS,this.kind)}isStructural(){return Uy(iS,this.kind)}isRefinement(){return Uy(oS,this.kind)}isRoot(){return Uy(cS,this.kind)}isUnknown(){return this.hasKind(`intersection`)&&this.children.length===0}isNever(){return this.hasKind(`union`)&&this.children.length===0}hasUnit(e){return this.hasKind(`unit`)&&this.allows(e)}hasOpenIntersection(){return this.impl.intersectionIsOpen}get nestableExpression(){return this.expression}select(e){let t=NS.normalize(e);return this._select(t)}_select(e){let t=NS.applyBoundary[e.boundary??`references`](this);return e.kind&&(t=t.filter(t=>t.kind===e.kind)),e.where&&(t=t.filter(e.where)),NS.applyMethod[e.method??`filter`](t,this,e)}transform(e,t){return this._transform(e,this._createTransformContext(t))}_createTransformContext(e){return{root:this,selected:void 0,seen:{},path:[],parseOptions:{prereduced:e?.prereduced??!1},undeclaredKeyHandling:void 0,...e}}_transform(e,t){let n=t.bindScope??this.$;if(t.seen[this.id])return this.$.lazilyResolve(t.seen[this.id]);if(t.shouldTransform?.(this,t)===!1)return this;let r;t.seen[this.id]=()=>r,this.hasKind(`structure`)&&this.undeclared!==t.undeclaredKeyHandling&&(t={...t,undeclaredKeyHandling:this.undeclared});let i=ob(this.inner,(n,r)=>{if(!this.impl.keys[n].child)return[n,r];let i=r;if(!Ob(i)){let r=i._transform(e,t);return r?[n,r]:[]}if(i.length===0)return[n,r];let a=i.flatMap(n=>n._transform(e,t)??[]);return a.length?[n,a]:[]});delete t.seen[this.id];let a=Object.assign(i,{meta:this.meta}),o=t.selected&&!t.selected.includes(this)?a:e(this.kind,a,t);if(o===null)return null;if(nS(o))return r=o;let s=Object.keys(o);return(s.length===0||s.length===1&&s[0]===`meta`)&&!hb(this.inner)?null:(this.kind===`required`||this.kind===`optional`||this.kind===`index`)&&!(`value`in o)?t.undeclaredKeyHandling?{...o,value:q.intrinsic.unknown}:null:(this.kind===`morph`&&(o.in??=q.intrinsic.unknown),r=n.node(this.kind,o,t.parseOptions))}configureReferences(e,t=`references`){let n=NS.normalize(t),r=typeof e==`string`?(t,n)=>({...n,meta:{...n.meta,description:e}}):typeof e==`function`?(t,n)=>({...n,meta:e(n.meta)}):(t,n)=>({...n,meta:{...n.meta,...e}});if(n.boundary===`self`)return this.$.node(this.kind,r(this.kind,{...this.inner,meta:this.meta}));let i=this._select(n),a=i&&By(i),o=n.boundary===`child`?(e,t)=>t.root.children.includes(e):n.boundary===`shallow`?e=>e.kind!==`structure`:()=>!0;return this.$.finalize(this.transform(r,{shouldTransform:o,selected:a}))}},NS={applyBoundary:{self:e=>[e],child:e=>[...e.children],shallow:e=>[...e.shallowReferences],references:e=>[...e.references]},applyMethod:{filter:e=>e,assertFilter:(e,t,n)=>(e.length===0&&rb(PS(t,n)),e),find:e=>e[0],assertFind:(e,t,n)=>(e.length===0&&rb(PS(t,n)),e[0])},normalize:e=>typeof e==`function`?{boundary:`references`,method:`filter`,where:e}:typeof e==`string`?cb(e,NS.applyBoundary)?{method:`filter`,boundary:e}:{boundary:`references`,method:`filter`,kind:e}:{boundary:`references`,method:`filter`,...e}},PS=(e,t)=>`${e} had no references matching ${Ox(t)}.`,FS=e=>Lx(e,{stringifyNonKey:e=>e.expression}),IS=/"(\$ark\.[^"]+)"/g,LS=e=>JSON.stringify(e).replace(IS,`$1`),RS=(e,t)=>({path:e,node:t,propString:FS(e)}),zS=(e,t)=>e.propString===t.propString&&e.node.equals(t.node),BS=(e,t)=>Jy(e,t,{isEqual:zS}),VS=(e,t)=>Jy(e,t,{isEqual:(e,t)=>e.equals(t)}),HS=class e extends Array{static init(t,n,r,i){return new e({kind:t,l:n,r,path:i?.path??[],optional:i?.optional??!1})}add(e,t,n,r){return this.push({kind:e,l:t,r:n,path:r?.path??[],optional:r?.optional??!1}),this}get summary(){return this.describeReasons()}describeReasons(){if(this.length===1){let{path:e,l:t,r:n}=this[0],r=Lx(e);return GS(`Intersection${r&&` at ${r}`} of ${US(t,n)}`)}return`The following intersections result in unsatisfiable types:\n• ${this.map(({path:e,l:t,r:n})=>`${e}: ${US(t,n)}`).join(`
21
- • `)}`}throw(){return K(this.describeReasons())}invert(){let t=this.map(e=>({...e,l:e.r,r:e.l}));return t instanceof e?t:new e(...t)}withPrefixKey(e,t){return this.map(n=>({...n,path:[e,...n.path],optional:n.optional||t===`optional`}))}toNeverIfDisjoint(){return q.intrinsic.never}},US=(e,t)=>`${WS(e)} and ${WS(t)}`,WS=e=>nS(e)?e.expression:Ob(e)?e.map(WS).join(` | `)||`never`:String(e),GS=e=>`${e} results in an unsatisfiable type`,KS={},qS=(e,t,n)=>YS(e,t,{$:n,invert:!1,pipe:!1}),JS=(e,t,n)=>YS(e,t,{$:n,invert:!1,pipe:!0}),YS=((e,t,n)=>{let r=n.pipe?`|>`:`&`,i=`${e.hash}${r}${t.hash}`;if(KS[i]!==void 0)return KS[i];if(!n.pipe){let n=`${t.hash}${r}${e.hash}`;if(KS[n]!==void 0){let e=KS[n],t=e instanceof HS?e.invert():e;return KS[i]=t,t}}let a=!n.pipe||!e.includesTransform&&!t.includesTransform;if(a&&e.equals(t))return e;let o=a?XS(e,t,n):e.hasKindIn(...cS)?ZS(e,t,n):XS(e,t,n);return nS(o)&&(e.equals(o)?o=e:t.equals(o)&&(o=t)),KS[i]=o,o}),XS=(e,t,n)=>{let r=e.precedence<t.precedence?e.kind:t.kind,i=e.impl.intersections[t.kind]??t.impl.intersections[e.kind];if(i===void 0)return null;if(r===e.kind)return i(e,t,n);{let r=i(t,e,{...n,invert:!n.invert});return r instanceof HS&&(r=r.invert()),r}},ZS=(e,t,n)=>e.includesTransform||t.includesTransform?n.invert?QS(t,e,n):QS(e,t,n):XS(e,t,n),QS=(e,t,n)=>e.distribute(e=>$S(e,t,n),r=>{let i=r.filter(nS);if(i.length===0)return HS.init(`union`,e.branches,t.branches);if(i.length<e.branches.length||!e.branches.every((e,t)=>e.rawIn.equals(i[t].rawIn)))return n.$.parseSchema(i);if(i.length===1)return i[0];let a={branches:i};return n.$.parseSchema(a)}),$S=(e,t,n)=>{if(e.hasKind(`morph`)){let r=[...e.morphs];if(e.lastMorphIfNode){let i=YS(e.lastMorphIfNode,t,n);if(i instanceof HS)return i;r[r.length-1]=i}else r.push(t);return n.$.node(`morph`,{morphs:r,in:e.inner.in})}if(t.hasKind(`morph`)){let r=YS(e,t.rawIn,n);return r instanceof HS?r:n.$.node(`morph`,{morphs:[t],in:r})}return n.$.node(`morph`,{morphs:[t],in:e})},eC=class extends MS{constructor(e,t){super(e,t),Object.defineProperty(this,eS,{value:`constraint`,enumerable:!1})}impliedSiblings;intersect(e){return qS(this,e,this.$)}},tC=class extends eC{traverseApply=(e,t)=>{this.traverseAllows(e,t)||t.errorFromNodeContext(this.errorContext)};compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):e.if(this.compiledNegation,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return _S(this.errorContext)}},nC=e=>(t,n)=>{if(Ob(t)){if(t.length===0)return;let r=t.map(t=>n.$.node(e,t));return e===`predicate`?r:r.sort((e,t)=>e.hash<t.hash?-1:1)}let r=n.$.node(e,t);if(!r.isRoot())return r.hasOpenIntersection()?[r]:r},rC=e=>{let t=e.r.shift();if(!t){let t=e.l.length===0&&e.kind===`structure`?q.intrinsic.unknown.internal:e.ctx.$.node(e.kind,Object.assign(e.baseInner,aC(e.l)),{prereduced:!0});for(let n of e.roots){if(t instanceof HS)return t;t=YS(n,t,e.ctx)}return t}let n=!1;for(let r=0;r<e.l.length;r++){let i=YS(e.l[r],t,e.ctx);if(i!==null){if(i instanceof HS)return i;if(i.isRoot())return e.roots.push(i),e.l.splice(r),rC(e);if(!n)e.l[r]=i,n=!0;else if(!e.l.includes(i))return nb(`Unexpectedly encountered multiple distinct intersection results for refinement ${t}`)}}if(n||e.l.push(t),e.kind===`intersection`&&t.impliedSiblings)for(let n of t.impliedSiblings)Jy(e.r,n);return rC(e)},iC=e=>Object.entries(e).flatMap(([e,t])=>e in uS?t:[]).sort((e,t)=>e.precedence<t.precedence?-1:e.precedence>t.precedence?1:e.kind===`predicate`&&t.kind===`predicate`?0:e.hash<t.hash?-1:1),aC=e=>{let t={};for(let n of e)if(n.hasOpenIntersection())t[n.kind]=Gy(t[n.kind],n);else{if(t[n.kind])return nb(`Unexpected intersection of closed refinements of kind ${n.kind}`);t[n.kind]=n}return t},oC=(...e)=>K(sC(...e)),sC=(e,t,n)=>{let r=n.hasKind(`morph`)?`a morph`:n.isUnknown()?`unknown`:n.exclude(t).defaultShortDescription;return`${Wb(e)} operand must be ${t.description} (was ${r})`},cC=(e,t,n)=>new uC(e,t,n,n,null),lC=class extends Bb{},uC=class extends Bb{[eS]=`generic`;paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(e,t,n,r,i){super((...e)=>{let n=ob(this.names,(t,n)=>{let r=this.arg$.parse(e[t]);return r.extends(this.constraints[t])||K(dC(n,this.constraints[t].expression,r.expression)),[n,r]});if(this.defIsLazy()){let e=this.bodyDef(n);return this.$.parse(e)}return this.$.parse(t,{args:n})}),this.paramDefs=e,this.bodyDef=t,this.$=n,this.arg$=r,this.hkt=i,this.description=i?new i().description??`a generic type for ${i.constructor.name}`:`a generic type`,this.baseInstantiation=this(...this.constraints)}defIsLazy(){return this.bodyDef instanceof lC}cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get json(){return this.cacheGetter(`json`,{params:this.params.map(e=>e[1].isUnknown()?e[0]:[e[0],e[1].json]),body:Dx(this.bodyDef)})}get params(){return this.cacheGetter(`params`,this.paramDefs.map(e=>typeof e==`string`?[e,q.intrinsic.unknown]:[e[0],this.$.parse(e[1])]))}get names(){return this.cacheGetter(`names`,this.params.map(e=>e[0]))}get constraints(){return this.cacheGetter(`constraints`,this.params.map(e=>e[1]))}get internal(){return this}get referencesById(){return this.baseInstantiation.internal.referencesById}get references(){return this.baseInstantiation.internal.references}},dC=(e,t,n)=>`${e} must be assignable to ${t} (was ${n})`,fC={implementation:vS({kind:`predicate`,hasAssociatedError:!0,collapsibleKey:`predicate`,keys:{predicate:{}},normalize:e=>typeof e==`function`?{predicate:e}:e,defaults:{description:e=>`valid according to ${e.predicate.name||`an anonymous predicate`}`},intersectionIsOpen:!0,intersections:{predicate:()=>null}}),Node:class extends eC{serializedPredicate=Kx(this.predicate);compiledCondition=`${this.serializedPredicate}(data, ctx)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=null;expression=this.serializedPredicate;traverseAllows=this.predicate;errorContext={code:`predicate`,description:this.description,meta:this.meta};compiledErrorContext=_S(this.errorContext);traverseApply=(e,t)=>{let n=t.currentErrorCount;!this.predicate(e,t.external)&&t.currentErrorCount===n&&t.errorFromNodeContext(this.errorContext)};compile(e){if(e.traversalKind===`Allows`){e.return(this.compiledCondition);return}e.initializeErrorCount(),e.if(`${this.compiledNegation} && ctx.currentErrorCount === errorCount`,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}reduceJsonSchema(e,t){return t.fallback.predicate({code:`predicate`,base:e,predicate:this.predicate})}}},pC={implementation:vS({kind:`divisor`,collapsibleKey:`rule`,keys:{rule:{parse:e=>Number.isInteger(e)?e:K(mC(e))}},normalize:e=>typeof e==`number`?{rule:e}:e,hasAssociatedError:!0,defaults:{description:e=>e.rule===1?`an integer`:e.rule===2?`even`:`a multiple of ${e.rule}`},intersections:{divisor:(e,t,n)=>n.$.node(`divisor`,{rule:Math.abs(e.rule*t.rule/hC(e.rule,t.rule))})},obviatesBasisDescription:!0}),Node:class extends tC{traverseAllows=e=>e%this.rule===0;compiledCondition=`data % ${this.rule} === 0`;compiledNegation=`data % ${this.rule} !== 0`;impliedBasis=q.intrinsic.number.internal;expression=`% ${this.rule}`;reduceJsonSchema(e){return e.type=`integer`,this.rule===1||(e.multipleOf=this.rule),e}}},mC=e=>`divisor must be an integer (was ${e})`,hC=(e,t)=>{let n,r=e,i=t;for(;i!==0;)n=i,i=r%i,r=n;return r},gC=class extends tC{boundOperandKind=TC[this.kind];compiledActual=this.boundOperandKind===`value`?`data`:this.boundOperandKind===`length`?`data.length`:`data.valueOf()`;comparator=EC(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${_C[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind===`date`?DC(this.numericLimit):`${this.numericLimit}`;limitKind=this.comparator[0]===`<`?`upper`:`lower`;isStricterThan(e){return(this.limitKind===`upper`?this.numericLimit<e.numericLimit:this.numericLimit>e.numericLimit)||this.numericLimit===e.numericLimit&&this.exclusive===!0&&!e.exclusive}overlapsRange(e){return!(this.isStricterThan(e)||this.numericLimit===e.numericLimit&&(this.exclusive||e.exclusive))}overlapIsUnit(e){return this.numericLimit===e.numericLimit&&!this.exclusive&&!e.exclusive}},_C={"<":`>=`,"<=":`>`,">":`<=`,">=":`<`},vC={min:`max`,minLength:`maxLength`,after:`before`},yC={parse:e=>e||void 0},bC=e=>t=>{if(typeof t==`number`)return{rule:t};let{exclusive:n,...r}=t;return n?{...r,rule:e===`minLength`?r.rule+1:r.rule-1}:r},xC=e=>t=>{if(typeof t==`number`||typeof t==`string`||t instanceof Date)return{rule:t};let{exclusive:n,...r}=t;if(!n)return r;let i=typeof r.rule==`number`?r.rule:typeof r.rule==`string`?new Date(r.rule).valueOf():r.rule.valueOf();return n?{...r,rule:e===`after`?i+1:i-1}:r},SC=e=>typeof e==`string`||typeof e==`number`?new Date(e):e,CC=(e,t)=>`${e} bound must be a positive integer (was ${t})`,wC=e=>t=>((!Number.isInteger(t)||t<0)&&K(CC(e,t)),t),TC={min:`value`,max:`value`,minLength:`length`,maxLength:`length`,after:`date`,before:`date`},EC=(e,t)=>`${cb(e,vC)?`>`:`<`}${t?``:`=`}`,DC=e=>typeof e==`string`?e:new Date(e).toLocaleString(),OC=e=>`Bounded expression ${e} must be exactly one of number, string, Array, or Date`,kC={implementation:vS({kind:`after`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:SC,serialize:e=>e.toISOString()}},normalize:xC(`after`),defaults:{description:e=>`${e.collapsibleLimitString} or later`,actual:Mx},intersections:{after:(e,t)=>e.isStricterThan(t)?e:t}}),Node:class extends gC{impliedBasis=q.intrinsic.Date.internal;collapsibleLimitString=Mx(this.rule);traverseAllows=e=>e>=this.rule;reduceJsonSchema(e,t){return t.fallback.date({code:`date`,base:e,after:this.rule})}}},AC={implementation:vS({kind:`before`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:SC,serialize:e=>e.toISOString()}},normalize:xC(`before`),defaults:{description:e=>`${e.collapsibleLimitString} or earlier`,actual:Mx},intersections:{before:(e,t)=>e.isStricterThan(t)?e:t,after:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`unit`,{unit:e.rule}):null:HS.init(`range`,e,t)}}),Node:class extends gC{collapsibleLimitString=Mx(this.rule);traverseAllows=e=>e<=this.rule;impliedBasis=q.intrinsic.Date.internal;reduceJsonSchema(e,t){return t.fallback.date({code:`date`,base:e,before:this.rule})}}},jC={implementation:vS({kind:`exactLength`,collapsibleKey:`rule`,keys:{rule:{parse:wC(`exactLength`)}},normalize:e=>typeof e==`number`?{rule:e}:e,hasAssociatedError:!0,defaults:{description:e=>`exactly length ${e.rule}`,actual:e=>`${e.length}`},intersections:{exactLength:(e,t,n)=>HS.init(`unit`,n.$.node(`unit`,{unit:e.rule}),n.$.node(`unit`,{unit:t.rule}),{path:[`length`]}),minLength:(e,t)=>e.rule>=t.rule?e:HS.init(`range`,e,t),maxLength:(e,t)=>e.rule<=t.rule?e:HS.init(`range`,e,t)}}),Node:class extends tC{traverseAllows=e=>e.length===this.rule;compiledCondition=`data.length === ${this.rule}`;compiledNegation=`data.length !== ${this.rule}`;impliedBasis=q.intrinsic.lengthBoundable.internal;expression=`== ${this.rule}`;reduceJsonSchema(e){switch(e.type){case`string`:return e.minLength=this.rule,e.maxLength=this.rule,e;case`array`:return e.minItems=this.rule,e.maxItems=this.rule,e;default:return yS.throwInternalOperandError(`exactLength`,e)}}}},MC={implementation:vS({kind:`max`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:yC},normalize:e=>typeof e==`number`?{rule:e}:e,defaults:{description:e=>e.rule===0?e.exclusive?`negative`:`non-positive`:`${e.exclusive?`less than`:`at most`} ${e.rule}`},intersections:{max:(e,t)=>e.isStricterThan(t)?e:t,min:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`unit`,{unit:e.rule}):null:HS.init(`range`,e,t)},obviatesBasisDescription:!0}),Node:class extends gC{impliedBasis=q.intrinsic.number.internal;traverseAllows=this.exclusive?e=>e<this.rule:e=>e<=this.rule;reduceJsonSchema(e){return this.exclusive?e.exclusiveMaximum=this.rule:e.maximum=this.rule,e}}},NC={implementation:vS({kind:`maxLength`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:wC(`maxLength`)}},reduce:(e,t)=>e.rule===0?t.node(`exactLength`,e):void 0,normalize:bC(`maxLength`),defaults:{description:e=>`at most length ${e.rule}`,actual:e=>`${e.length}`},intersections:{maxLength:(e,t)=>e.isStricterThan(t)?e:t,minLength:(e,t,n)=>e.overlapsRange(t)?e.overlapIsUnit(t)?n.$.node(`exactLength`,{rule:e.rule}):null:HS.init(`range`,e,t)}}),Node:class extends gC{impliedBasis=q.intrinsic.lengthBoundable.internal;traverseAllows=e=>e.length<=this.rule;reduceJsonSchema(e){switch(e.type){case`string`:return e.maxLength=this.rule,e;case`array`:return e.maxItems=this.rule,e;default:return yS.throwInternalOperandError(`maxLength`,e)}}}},PC={implementation:vS({kind:`min`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:yC},normalize:e=>typeof e==`number`?{rule:e}:e,defaults:{description:e=>e.rule===0?e.exclusive?`positive`:`non-negative`:`${e.exclusive?`more than`:`at least`} ${e.rule}`},intersections:{min:(e,t)=>e.isStricterThan(t)?e:t},obviatesBasisDescription:!0}),Node:class extends gC{impliedBasis=q.intrinsic.number.internal;traverseAllows=this.exclusive?e=>e>this.rule:e=>e>=this.rule;reduceJsonSchema(e){return this.exclusive?e.exclusiveMinimum=this.rule:e.minimum=this.rule,e}}},FC={implementation:vS({kind:`minLength`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:wC(`minLength`)}},reduce:e=>e.rule===0?q.intrinsic.unknown:void 0,normalize:bC(`minLength`),defaults:{description:e=>e.rule===1?`non-empty`:`at least length ${e.rule}`,actual:e=>e.length===0?``:`${e.length}`},intersections:{minLength:(e,t)=>e.isStricterThan(t)?e:t}}),Node:class extends gC{impliedBasis=q.intrinsic.lengthBoundable.internal;traverseAllows=e=>e.length>=this.rule;reduceJsonSchema(e){switch(e.type){case`string`:return e.minLength=this.rule,e;case`array`:return e.minItems=this.rule,e;default:return yS.throwInternalOperandError(`minLength`,e)}}}},IC={min:PC.implementation,max:MC.implementation,minLength:FC.implementation,maxLength:NC.implementation,exactLength:jC.implementation,after:kC.implementation,before:AC.implementation},LC={min:PC.Node,max:MC.Node,minLength:FC.Node,maxLength:NC.Node,exactLength:jC.Node,after:kC.Node,before:AC.Node},RC={implementation:vS({kind:`pattern`,collapsibleKey:`rule`,keys:{rule:{},flags:{}},normalize:e=>typeof e==`string`?{rule:e}:e instanceof RegExp?e.flags?{rule:e.source,flags:e.flags}:{rule:e.source}:e,obviatesBasisDescription:!0,obviatesBasisExpression:!0,hasAssociatedError:!0,intersectionIsOpen:!0,defaults:{description:e=>`matched by ${e.rule}`},intersections:{pattern:()=>null}}),Node:class extends tC{instance=new RegExp(this.rule,this.flags);expression=`${this.instance}`;traverseAllows=this.instance.test.bind(this.instance);compiledCondition=`${this.expression}.test(data)`;compiledNegation=`!${this.compiledCondition}`;impliedBasis=q.intrinsic.string.internal;reduceJsonSchema(e,t){return e.pattern?t.fallback.patternIntersection({code:`patternIntersection`,base:e,pattern:this.rule}):(e.pattern=this.rule,e)}}},zC=(e,t)=>{let n=BC(e);return t&&!t.includes(n)?K(`Root of kind ${n} should be one of ${t}`):n},BC=e=>{if(tS(e,`root`))return e.kind;if(typeof e==`string`)return e[0]===`$`?`alias`:e in $y?`domain`:`proto`;if(typeof e==`function`)return`proto`;if(typeof e!=`object`||!e)return K(VC(e));if(`morphs`in e)return`morph`;if(`branches`in e||Ob(e))return`union`;if(`unit`in e)return`unit`;if(`reference`in e)return`alias`;let t=Object.keys(e);return t.length===0||t.some(e=>e in uS)?`intersection`:`proto`in e?`proto`:`domain`in e?`domain`:K(VC(e))},VC=e=>`${Ox(e)} is not a valid type schema`,HC={},UC=e=>Ob(e)?e.map(e=>e.collapsibleJson):e.collapsibleJson,WC={};q.nodesByRegisteredId=WC;var GC=e=>(HC[e]??=0,`${e}${++HC[e]}`),KC=e=>{let t=jT[e.kind],n=t.applyConfig?.(e.def,e.$.resolvedConfig)??e.def,r={},{meta:i,...a}=n,o=i===void 0?{}:typeof i==`string`?{description:i}:i,s=sb(a).sort(([e],[t])=>pS(e)?pS(t)?mS(e)-mS(t):1:pS(t)||e<t?-1:1).filter(([e,t])=>{if(e.startsWith(`meta.`)){let n=e.slice(5);return o[n]=t,!1}return!0});for(let n of s){let i=n[0],a=t.keys[i];if(!a)return K(`Key ${i} is not valid on ${e.kind} schema`);let o=a.parse?a.parse(n[1],e):n[1];o!==yb&&(o!==void 0||a.preserveUndefined)&&(r[i]=o)}if(t.reduce&&!e.prereduced){let n=t.reduce(r,e.$);if(n)return n instanceof HS?n.throw():YC(n,o)}return qC({id:e.id,kind:e.kind,inner:r,meta:o,$:e.$})},qC=({id:e,kind:t,inner:n,meta:r,$:i,ignoreCache:a})=>{let o=jT[t],s=sb(n),c=[],l={};for(let[e,t]of s){let n=o.keys[e],r=n.serialize??(n.child?UC:gS);if(l[e]=r(t),n.child===!0){let e=t;Ob(e)?c.push(...e):c.push(e)}else typeof n.child==`function`&&c.push(...n.child(t))}o.finalizeInnerJson&&(l=o.finalizeInnerJson(l));let u={...l},d={};hb(r)||(d=ob(r,(e,t)=>[e,e===`examples`?t:gS(t)]),u.meta=XC(d,`description`,!0)),l=XC(l,o.collapsibleKey,!1);let f=JSON.stringify({kind:t,...l});u=XC(u,o.collapsibleKey,!1);let p=XC(u,o.collapsibleKey,!0),m=JSON.stringify({kind:t,...u});if(i.nodesByHash[m]&&!a)return i.nodesByHash[m];let h={id:e,kind:t,impl:o,inner:n,innerEntries:s,innerJson:l,innerHash:f,meta:r,metaJson:d,json:u,hash:m,collapsibleJson:p,children:c};if(t!==`intersection`)for(let e in n)e!==`in`&&e!==`out`&&(h[e]=n[e]);let g=new MT[t](h,i);return i.nodesByHash[m]=g},JC=(e,t)=>e.id===t?e:(nS(WC[t])&&nb(`Unexpected attempt to overwrite node id ${t}`),qC({id:t,kind:e.kind,inner:e.inner,meta:e.meta,$:e.$,ignoreCache:!0})),YC=(e,t,n)=>(n&&nS(WC[n])&&nb(`Unexpected attempt to overwrite node id ${n}`),qC({id:n??GC(t.alias??e.kind),kind:e.kind,inner:e.inner,meta:t,$:e.$})),XC=(e,t,n)=>{let r=Object.keys(e);if(r.length===1&&r[0]===t){let r=e[t];if(n||Zy(r,`object`)&&(Object.keys(r).length===1||Array.isArray(r)))return r}return e},ZC=(e,t,n)=>{if(e.key!==t.key)return null;let r=e.key,i=YS(e.value,t.value,n),a=e.required||t.required?`required`:`optional`;if(i instanceof HS){if(a===`optional`)i=q.intrinsic.never.internal;else return i.withPrefixKey(e.key,e.required&&t.required?`required`:`optional`)}if(a===`required`)return n.$.node(`required`,{key:r,value:i});let o=e.hasDefault()?t.hasDefault()?e.default===t.default?e.default:K($C(e.default,t.default)):e.default:t.hasDefault()?t.default:yb;return n.$.node(`optional`,{key:r,value:i,default:o})},QC=class extends eC{required=this.kind===`required`;optional=this.kind===`optional`;impliedBasis=q.intrinsic.object.internal;serializedKey=Jx(this.key);compiledKey=typeof this.key==`string`?this.key:this.serializedKey;flatRefs=Gy(this.value.flatRefs.map(e=>RS([this.key,...e.path],e.node)),RS([this.key],this.value));_transform(e,t){t.path.push(this.key);let n=super._transform(e,t);return t.path.pop(),n}hasDefault(){return`default`in this.inner}traverseAllows=(e,t)=>this.key in e?jS(this.key,()=>this.value.traverseAllows(e[this.key],t),t):this.optional;traverseApply=(e,t)=>{this.key in e?jS(this.key,()=>this.value.traverseApply(e[this.key],t),t):this.hasKind(`required`)&&t.errorFromNodeContext(this.errorContext)};compile(e){e.if(`${this.serializedKey} in data`,()=>e.traverseKey(this.serializedKey,`data${e.prop(this.key)}`,this.value)),this.hasKind(`required`)&&e.else(()=>e.traversalKind===`Apply`?e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`):e.return(!1)),e.traversalKind===`Allows`&&e.return(!0)}},$C=(e,t)=>`Invalid intersection of default values ${Ox(e)} & ${Ox(t)}`,ew={implementation:vS({kind:`optional`,hasAssociatedError:!1,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)},default:{preserveUndefined:!0}},normalize:e=>e,reduce:(e,t)=>{if(t.resolvedConfig.exactOptionalPropertyTypes===!1&&!e.value.allows(void 0))return t.node(`optional`,{...e,value:e.value.or(cE.undefined)},{prereduced:!0})},defaults:{description:e=>`${e.compiledKey}?: ${e.value.description}`},intersections:{optional:ZC}}),Node:class extends QC{constructor(...e){super(...e),`default`in this.inner&&iw(this.value,this.inner.default,this.key)}get rawIn(){let e=super.rawIn;return this.hasDefault()?this.$.node(`optional`,mb(e.inner,{default:!0}),{prereduced:!0}):e}get outProp(){if(!this.hasDefault())return this;let{default:e,...t}=this.inner;return this.cacheGetter(`outProp`,this.$.node(`required`,t,{prereduced:!0}))}expression=this.hasDefault()?`${this.compiledKey}: ${this.value.expression} = ${Ox(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=nw(this);defaultValueMorphRef=this.defaultValueMorph&&Kx(this.defaultValueMorph)}},tw={},nw=e=>{if(!e.hasDefault())return;let t=`{${e.compiledKey}: ${e.value.id} = ${gS(e.default)}}`;return tw[t]??=rw(e.key,e.value,e.default)},rw=(e,t,n)=>{if(typeof n==`function`)return t.includesTransform?(r,i)=>(jS(e,()=>t(r[e]=n(),i),i),r):t=>(t[e]=n(),t);let r=t.includesTransform?t.assert(n):n;return Zy(r,`object`)?(r,i)=>(jS(e,()=>t(r[e]=n,i),i),r):t=>(t[e]=r,t)},iw=(e,t,n)=>{let r=Rb(t);Zy(t,`object`)&&!r&&K(aw(n));let i=e.in(r?t():t);return i instanceof DS&&(n===null&&K(`Default ${i.summary}`),K(`Default for ${i.transform(e=>e.transform(e=>({...e,prefixPath:[n]}))).summary}`)),t},aw=e=>`Non-primitive default ${e===null?``:typeof e==`number`?`for value at [${e}] `:`for ${Jx(e)} `}must be specified as a function like () => ({my: 'object'})`,ow=class extends MS{constructor(e,t){super(e,t),Object.defineProperty(this,eS,{value:`root`,enumerable:!1})}get rawIn(){return super.rawIn}get rawOut(){return super.rawOut}get internal(){return this}get"~standard"(){return{vendor:`arktype`,version:1,validate:e=>{let t=this(e);return t instanceof DS?t:{value:t}},jsonSchema:{input:e=>this.rawIn.toJsonSchema({target:uw(e.target),...e.libraryOptions}),output:e=>this.rawOut.toJsonSchema({target:uw(e.target),...e.libraryOptions})}}}as(){return this}brand(e){return e===``?K(sw):this}readonly(){return this}branches=this.hasKind(`union`)?this.inner.branches:[this];distribute(e,t){let n=this.branches.map(e);return t?.(n)??n}get shortDescription(){return this.meta.description??this.defaultShortDescription}toJsonSchema(e={}){let t=SS(this.$.resolvedConfig.toJsonSchema,e);t.useRefs||=this.isCyclic;let n=typeof t.dialect==`string`?{$schema:t.dialect}:{};if(Object.assign(n,this.toJsonSchemaRecurse(t)),t.useRefs){let e=ob(this.references,(e,n)=>n.isRoot()&&!n.alwaysExpandJsonSchema?[n.id,n.toResolvedJsonSchema(t)]:[]);t.target===`draft-07`?Object.assign(n,{definitions:e}):n.$defs=e}return n}toJsonSchemaRecurse(e){return e.useRefs&&!this.alwaysExpandJsonSchema?{$ref:`#/${e.target===`draft-07`?`definitions`:`$defs`}/${this.id}`}:this.toResolvedJsonSchema(e)}get alwaysExpandJsonSchema(){return this.isBasis()||this.kind===`alias`||this.hasKind(`union`)&&this.isBoolean}toResolvedJsonSchema(e){let t=this.innerToJsonSchema(e);return Object.assign(t,this.metaJson)}intersect(e){let t=this.$.parseDefinition(e),n=this.rawIntersect(t);return n instanceof HS?n:this.$.finalize(n)}rawIntersect(e){return qS(this,e,this.$)}toNeverIfDisjoint(){return this}and(e){let t=this.intersect(e);return t instanceof HS?t.throw():t}rawAnd(e){let t=this.rawIntersect(e);return t instanceof HS?t.throw():t}or(e){let t=this.$.parseDefinition(e);return this.$.finalize(this.rawOr(t))}rawOr(e){let t=[...this.branches,...e.branches];return this.$.node(`union`,t)}map(e){return this.$.schema(this.applyStructuralOperation(`map`,[e]))}pick(...e){return this.$.schema(this.applyStructuralOperation(`pick`,e))}omit(...e){return this.$.schema(this.applyStructuralOperation(`omit`,e))}required(){return this.$.schema(this.applyStructuralOperation(`required`,[]))}partial(){return this.$.schema(this.applyStructuralOperation(`partial`,[]))}_keyof;keyof(){if(this._keyof)return this._keyof;let e=this.applyStructuralOperation(`keyof`,[]).reduce((e,t)=>e.intersect(t).toNeverIfDisjoint(),q.intrinsic.unknown.internal);return e.branches.length===0&&K(GS(`keyof ${this.expression}`)),this._keyof=this.$.finalize(e)}get props(){return this.branches.length===1?[...this.applyStructuralOperation(`props`,[])[0]]:K(mw(this.expression))}merge(e){let t=this.$.parseDefinition(e);return this.$.schema(t.distribute(e=>this.applyStructuralOperation(`merge`,[pw(e)??K(hw(`merge`,e.expression))])))}applyStructuralOperation(e,t){return this.distribute(n=>{if(n.equals(q.intrinsic.object)&&e!==`merge`)return n;let r=pw(n);if(r||K(hw(e,n.expression)),e===`keyof`)return r.keyof();if(e===`get`)return r.get(...t);if(e===`props`)return r.props;let i=e===`required`?`require`:e===`partial`?`optionalize`:e;return this.$.node(`intersection`,{domain:`object`,structure:r[i](...t)})})}get(...e){return e[0]===void 0?this:this.$.schema(this.applyStructuralOperation(`get`,e))}extract(e){let t=this.$.parseDefinition(e);return this.$.schema(this.branches.filter(e=>e.extends(t)))}exclude(e){let t=this.$.parseDefinition(e);return this.$.schema(this.branches.filter(e=>!e.extends(t)))}array(){return this.$.schema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(e){return!(this.intersect(e)instanceof HS)}extends(e){if(this.isNever())return!0;let t=this.intersect(e);return!(t instanceof HS)&&this.equals(t)}ifExtends(e){return this.extends(e)?this:void 0}subsumes(e){return this.$.parseDefinition(e).extends(this)}configure(e,t=`shallow`){return this.configureReferences(e,t)}describe(e,t=`shallow`){return this.configure({description:e},t)}optional(){return[this,`?`]}default(e){return iw(this,e,null),[this,`=`,e]}from(e){return this.assert(e)}_pipe(...e){let t=e.reduce((e,t)=>e.rawPipeOnce(t),this);return this.$.finalize(t)}tryPipe(...e){let t=e.reduce((e,t)=>e.rawPipeOnce(tS(t,`root`)?t:((e,n)=>{try{return t(e,n)}catch(e){return n.error({code:`predicate`,predicate:t,actual:`aborted due to error:\n ${e}\n`})}})),this);return this.$.finalize(t)}pipe=Object.assign(this._pipe.bind(this),{try:this.tryPipe.bind(this)});to(e){return this.$.finalize(this.toNode(this.$.parseDefinition(e)))}toNode(e){let t=JS(this,e,this.$);return t instanceof HS?t.throw():t}rawPipeOnce(e){return tS(e,`root`)?this.toNode(e):this.distribute(t=>t.hasKind(`morph`)?this.$.node(`morph`,{in:t.inner.in,morphs:[...t.morphs,e]}):this.$.node(`morph`,{in:t,morphs:[e]}),this.$.parseSchema)}narrow(e){return this.constrainOut(`predicate`,e)}constrain(e,t){return this._constrain(`root`,e,t)}constrainIn(e,t){return this._constrain(`in`,e,t)}constrainOut(e,t){return this._constrain(`out`,e,t)}_constrain(e,t,n){let r=this.$.node(t,n);if(r.isRoot())return r.isUnknown()?this:nb(`Unexpected constraint node ${r}`);let i=e===`root`?this:e===`in`?this.rawIn:this.rawOut;if(i.hasKind(`morph`)||r.impliedBasis&&!i.extends(r.impliedBasis))return oC(t,r.impliedBasis,this);let a=this.$.node(`intersection`,{[r.kind]:r}),o=e===`out`?JS(this,a,this.$):qS(this,a,this.$);return o instanceof HS&&o.throw(),this.$.finalize(o)}onUndeclaredKey(e){let t=typeof e==`string`?e:e.rule,n=typeof e!=`string`&&e.deep;return this.$.finalize(this.transform((e,n)=>e===`structure`?t===`ignore`?mb(n,{undeclared:1}):{...n,undeclared:t}:n,n?void 0:{shouldTransform:e=>!Uy(iS,e.kind)}))}hasEqualMorphs(e){return!this.includesTransform&&!e.includesTransform||!(!Xy(this.shallowMorphs,e.shallowMorphs)||!Xy(this.flatMorphs,e.flatMorphs,{isEqual:(e,t)=>e.propString===t.propString&&(e.node.hasKind(`morph`)&&t.node.hasKind(`morph`)?e.node.hasEqualMorphs(t.node):e.node.hasKind(`intersection`)&&t.node.hasKind(`intersection`)?e.node.structure?.structuralMorphRef===t.node.structure?.structuralMorphRef:!1)}))}onDeepUndeclaredKey(e){return this.onUndeclaredKey({rule:e,deep:!0})}filter(e){return this.constrainIn(`predicate`,e)}divisibleBy(e){return this.constrain(`divisor`,e)}matching(e){return this.constrain(`pattern`,e)}atLeast(e){return this.constrain(`min`,e)}atMost(e){return this.constrain(`max`,e)}moreThan(e){return this.constrain(`min`,dw(e))}lessThan(e){return this.constrain(`max`,dw(e))}atLeastLength(e){return this.constrain(`minLength`,e)}atMostLength(e){return this.constrain(`maxLength`,e)}moreThanLength(e){return this.constrain(`minLength`,dw(e))}lessThanLength(e){return this.constrain(`maxLength`,dw(e))}exactlyLength(e){return this.constrain(`exactLength`,e)}atOrAfter(e){return this.constrain(`after`,e)}atOrBefore(e){return this.constrain(`before`,e)}laterThan(e){return this.constrain(`after`,dw(e))}earlierThan(e){return this.constrain(`before`,dw(e))}},sw=`Expected a non-empty brand name after #`,cw=[`draft-2020-12`,`draft-07`],lw=e=>`JSONSchema target '${e}' is not supported (must be ${cw.map(e=>`"${e}"`).join(` or `)})`,uw=e=>(Uy(cw,e)||K(lw(e)),e),dw=e=>typeof e==`object`&&!(e instanceof Date)?{...e,exclusive:!0}:{rule:e,exclusive:!0},fw=(e,t)=>tS(t,`root`)?tS(e,`root`)?e.extends(t):t.allows(e):tS(e,`root`)?e.hasUnit(t):t===e,pw=e=>e.hasKind(`morph`)?null:e.hasKind(`intersection`)?e.inner.structure??(e.basis?.domain===`object`?e.$.bindReference(q.intrinsic.emptyStructure):null):e.isBasis()&&e.domain===`object`?e.$.bindReference(q.intrinsic.emptyStructure):null,mw=e=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
22
- ${e}`,hw=(e,t)=>`${e} operand must be an object (was ${t})`,gw=(e,t)=>ob(hS(e),(e,n)=>[n,t]),_w=e=>typeof e==`string`?{reference:e}:e,vw=e=>e instanceof HS?q.intrinsic.never.internal:e,yw=vS({kind:`alias`,hasAssociatedError:!1,collapsibleKey:`reference`,keys:{reference:{serialize:e=>e.startsWith(`$`)?e:`$ark.${e}`},resolve:{}},normalize:_w,defaults:{description:e=>e.reference},intersections:{alias:(e,t,n)=>n.$.lazilyResolve(()=>vw(YS(e.resolution,t.resolution,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.reference}`),...gw(`alias`,(e,t,n)=>t.isUnknown()?e:t.isNever()?t:t.isBasis()&&!t.overlaps(q.intrinsic.object)?HS.init(`assignability`,q.intrinsic.object,t):n.$.lazilyResolve(()=>vw(YS(e.resolution,t,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.id}`))}}),bw=class extends ow{expression=this.reference;structure=void 0;get resolution(){let e=this._resolve();return WC[this.id]=e}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]===`$`)return this.$.resolveRoot(this.reference.slice(1));let e=WC[this.reference],t=[];for(;tS(e,`context`);){if(t.includes(e.id))return K(xw(e.id,t));t.push(e.id),e=WC[e.id]}return tS(e,`root`)?e:nb(`Unexpected resolution for reference ${this.reference}
23
- Seen: [${t.join(`->`)}]
24
- Resolution: ${Ox(e)}`)}get resolutionId(){if(this.reference.includes(`&`)||this.reference.includes(`=>`))return this.resolution.id;if(this.reference[0]!==`$`)return this.reference;let e=this.reference.slice(1),t=this.$.resolutions[e];return typeof t==`string`?t:tS(t,`root`)?t.id:nb(`Unexpected resolution for reference ${this.reference}: ${Ox(t)}`)}get defaultShortDescription(){return $y.object}innerToJsonSchema(e){return this.resolution.toJsonSchemaRecurse(e)}traverseAllows=(e,t)=>{let n=t.seen[this.reference];return n?.includes(e)?!0:(t.seen[this.reference]=Gy(n,e),this.resolution.traverseAllows(e,t))};traverseApply=(e,t)=>{let n=t.seen[this.reference];n?.includes(e)||(t.seen[this.reference]=Gy(n,e),this.resolution.traverseApply(e,t))};compile(e){let t=this.resolutionId;e.if(`ctx.seen.${t} && ctx.seen.${t}.includes(data)`,()=>e.return(!0)),e.if(`!ctx.seen.${t}`,()=>e.line(`ctx.seen.${t} = []`)),e.line(`ctx.seen.${t}.push(data)`),e.return(e.invoke(t))}},xw=(e,t)=>`Alias '${e}' has a shallow resolution cycle: ${[...t,e].join(`->`)}`,Sw={implementation:yw,Node:bw},Cw=class extends ow{traverseApply=(e,t)=>{this.traverseAllows(e,t)||t.errorFromNodeContext(this.errorContext)};get errorContext(){return{code:this.kind,description:this.description,meta:this.meta,...this.inner}}get compiledErrorContext(){return _S(this.errorContext)}compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):e.if(this.compiledNegation,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}},ww={implementation:vS({kind:`domain`,hasAssociatedError:!0,collapsibleKey:`domain`,keys:{domain:{},numberAllowsNaN:{}},normalize:e=>typeof e==`string`?{domain:e}:lb(e,`numberAllowsNaN`)&&e.domain!==`number`?K(ww.writeBadAllowNanMessage(e.domain)):e,applyConfig:(e,t)=>e.numberAllowsNaN===void 0&&e.domain===`number`&&t.numberAllowsNaN?{...e,numberAllowsNaN:!0}:e,defaults:{description:e=>$y[e.domain],actual:e=>Number.isNaN(e)?`NaN`:$y[Qy(e)]},intersections:{domain:(e,t)=>e.domain===`number`&&t.domain===`number`?e.numberAllowsNaN?t:e:HS.init(`domain`,e,t)}}),Node:class extends Cw{requiresNaNCheck=this.domain===`number`&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?e=>typeof e==`number`&&!Number.isNaN(e):e=>Qy(e)===this.domain;compiledCondition=this.domain===`object`?`((typeof data === "object" && data !== null) || typeof data === "function")`:`typeof data === "${this.domain}"${this.requiresNaNCheck?` && !Number.isNaN(data)`:``}`;compiledNegation=this.domain===`object`?`((typeof data !== "object" || data === null) && typeof data !== "function")`:`typeof data !== "${this.domain}"${this.requiresNaNCheck?` || Number.isNaN(data)`:``}`;expression=this.numberAllowsNaN?`number | NaN`:this.domain;get nestableExpression(){return this.numberAllowsNaN?`(${this.expression})`:this.expression}get defaultShortDescription(){return $y[this.domain]}innerToJsonSchema(e){return this.domain===`bigint`||this.domain===`symbol`?e.fallback.domain({code:`domain`,base:{},domain:this.domain}):{type:this.domain}}},writeBadAllowNanMessage:e=>`numberAllowsNaN may only be specified with domain "number" (was ${e})`},Tw={implementation:vS({kind:`intersection`,hasAssociatedError:!0,normalize:e=>{if(nS(e))return e;let{structure:t,...n}=e,r=!!t,i=t??{},a=ob(n,(e,t)=>cb(e,dS)?(r&&K(`Flattened structure key ${e} cannot be specified alongside a root 'structure' key.`),i[e]=t,[]):[e,t]);return(tS(i,`constraint`)||!hb(i))&&(a.structure=i),a},finalizeInnerJson:({structure:e,...t})=>Zy(e,`object`)?{...e,...t}:t,keys:{domain:{child:!0,parse:(e,t)=>t.$.node(`domain`,e)},proto:{child:!0,parse:(e,t)=>t.$.node(`proto`,e)},structure:{child:!0,parse:(e,t)=>t.$.node(`structure`,e),serialize:e=>{if(!e.sequence?.minLength)return e.collapsibleJson;let{sequence:t,...n}=e.collapsibleJson,{minVariadicLength:r,...i}=t,a=i.variadic&&Object.keys(i).length===1?i.variadic:i;return{...n,sequence:a}}},divisor:{child:!0,parse:nC(`divisor`)},max:{child:!0,parse:nC(`max`)},min:{child:!0,parse:nC(`min`)},maxLength:{child:!0,parse:nC(`maxLength`)},minLength:{child:!0,parse:nC(`minLength`)},exactLength:{child:!0,parse:nC(`exactLength`)},before:{child:!0,parse:nC(`before`)},after:{child:!0,parse:nC(`after`)},pattern:{child:!0,parse:nC(`pattern`)},predicate:{child:!0,parse:nC(`predicate`)}},reduce:(e,t)=>Dw({},e,{$:t,invert:!1,pipe:!1}),defaults:{description:e=>{if(e.children.length===0)return`unknown`;if(e.structure)return e.structure.description;let t=[];if(e.basis&&!e.prestructurals.some(e=>e.impl.obviatesBasisDescription)&&t.push(e.basis.description),e.prestructurals.length){let n=e.prestructurals.slice().sort((e,t)=>e.kind===`min`&&t.kind===`max`?-1:0).map(e=>e.description);t.push(...n)}return e.inner.predicate&&t.push(...e.inner.predicate.map(e=>e.description)),t.join(` and `)},expected:e=>` ◦ ${e.errors.map(e=>e.expected).join(`
25
- ◦ `)}`,problem:e=>`(${e.actual}) must be...\n${e.expected}`},intersections:{intersection:(e,t,n)=>Dw(e.inner,t.inner,n),...gw(`intersection`,(e,t,n)=>{if(e.children.length===0)return t;let{domain:r,proto:i,...a}=e.inner,o=i??r,s=o?YS(o,t,n):t;return s instanceof HS?s:e?.basis?.equals(s)?e:e.$.node(`intersection`,{...a,[s.kind]:s},{prereduced:!0})})}}),Node:class extends ow{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter(e=>e.isRefinement()?(Uy(aS,e.kind)&&this.prestructurals.push(e),!0):!1);structure=this.inner.structure;expression=Ew(this);get shallowMorphs(){return this.inner.structure?.structuralMorph?[this.inner.structure.structuralMorph]:[]}get defaultShortDescription(){return this.basis?.defaultShortDescription??`present`}innerToJsonSchema(e){return this.children.reduce((t,n)=>n.isBasis()?n.toJsonSchemaRecurse(e):n.reduceJsonSchema(t,e),{})}traverseAllows=(e,t)=>this.children.every(n=>n.traverseAllows(e,t));traverseApply=(e,t)=>{let n=t.currentErrorCount;if(!(this.basis&&(this.basis.traverseApply(e,t),t.currentErrorCount>n))){if(this.prestructurals.length){for(let r=0;r<this.prestructurals.length-1;r++)if(this.prestructurals[r].traverseApply(e,t),t.failFast&&t.currentErrorCount>n)return;if(this.prestructurals[this.prestructurals.length-1].traverseApply(e,t),t.currentErrorCount>n)return}if(!(this.structure&&(this.structure.traverseApply(e,t),t.currentErrorCount>n))&&this.inner.predicate){for(let r=0;r<this.inner.predicate.length-1;r++)if(this.inner.predicate[r].traverseApply(e,t),t.failFast&&t.currentErrorCount>n)return;this.inner.predicate[this.inner.predicate.length-1].traverseApply(e,t)}}};compile(e){if(e.traversalKind===`Allows`){for(let t of this.children)e.check(t);e.return(!0);return}if(e.initializeErrorCount(),this.basis&&(e.check(this.basis),this.children.length>1&&e.returnIfFail()),this.prestructurals.length){for(let t=0;t<this.prestructurals.length-1;t++)e.check(this.prestructurals[t]),e.returnIfFailFast();e.check(this.prestructurals[this.prestructurals.length-1]),(this.structure||this.inner.predicate)&&e.returnIfFail()}if(this.structure&&(e.check(this.structure),this.inner.predicate&&e.returnIfFail()),this.inner.predicate){for(let t=0;t<this.inner.predicate.length-1;t++)e.check(this.inner.predicate[t]),e.returnIfFail();e.check(this.inner.predicate[this.inner.predicate.length-1])}}}},Ew=e=>{if(e.structure?.expression)return e.structure.expression;let t=e.basis&&!e.prestructurals.some(e=>e.impl.obviatesBasisExpression)?e.basis.nestableExpression:``,n=e.prestructurals.map(e=>e.expression).join(` & `),r=`${t}${t&&n?` `:``}${n}`;return r===`Array == 0`?`[]`:r||`unknown`},Dw=(e,t,n)=>{let r={},i=e.proto??e.domain,a=t.proto??t.domain,o=i?a?YS(i,a,n):i:a;return o instanceof HS?o:(o&&(r[o.kind]=o),rC({kind:`intersection`,baseInner:r,l:iC(e),r:iC(t),roots:[],ctx:n}))},Ow={implementation:vS({kind:`morph`,hasAssociatedError:!1,keys:{in:{child:!0,parse:(e,t)=>t.$.parseSchema(e)},morphs:{parse:By,serialize:e=>e.map(e=>tS(e,`root`)?e.json:Kx(e))},declaredIn:{child:!1,serialize:e=>e.json},declaredOut:{child:!1,serialize:e=>e.json}},normalize:e=>e,defaults:{description:e=>`a morph from ${e.rawIn.description} to ${e.rawOut?.description??`unknown`}`},intersections:{morph:(e,t,n)=>{if(!e.hasEqualMorphs(t))return K(kw(e.expression,t.expression));let r=YS(e.rawIn,t.rawIn,n);if(r instanceof HS)return r;let i={morphs:e.morphs};if(e.declaredIn||t.declaredIn){let r=YS(e.rawIn,t.rawIn,n);if(r instanceof HS)return r.throw();i.declaredIn=r}if(e.declaredOut||t.declaredOut){let r=YS(e.rawOut,t.rawOut,n);if(r instanceof HS)return r.throw();i.declaredOut=r}return r.distribute(e=>n.$.node(`morph`,{...i,in:e}),n.$.parseSchema)},...gw(`morph`,(e,t,n)=>{let r=e.inner.in?YS(e.inner.in,t,n):t;return r instanceof HS?r:r.equals(e.inner.in)?e:n.$.node(`morph`,{...e.inner,in:r})})}}),Node:class extends ow{serializedMorphs=this.morphs.map(Kx);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=tS(this.lastMorph,`root`)?this.lastMorph:void 0;introspectableIn=this.inner.in;introspectableOut=this.lastMorphIfNode?Object.assign(this.referencesById,this.lastMorphIfNode.referencesById)&&this.lastMorphIfNode.rawOut:void 0;get shallowMorphs(){return Array.isArray(this.inner.in?.shallowMorphs)?[...this.inner.in.shallowMorphs,...this.morphs]:this.morphs}get rawIn(){return this.declaredIn??this.inner.in?.rawIn??q.intrinsic.unknown.internal}get rawOut(){return this.declaredOut??this.introspectableOut??q.intrinsic.unknown.internal}declareIn(e){return this.$.node(`morph`,{...this.inner,declaredIn:e})}declareOut(e){return this.$.node(`morph`,{...this.inner,declaredOut:e})}expression=`(In: ${this.rawIn.expression}) => ${this.lastMorphIfNode?`To`:`Out`}<${this.rawOut.expression}>`;get defaultShortDescription(){return this.rawIn.meta.description??this.rawIn.defaultShortDescription}innerToJsonSchema(e){return e.fallback.morph({code:`morph`,base:this.rawIn.toJsonSchemaRecurse(e),out:this.introspectableOut?.toJsonSchemaRecurse(e)??null})}compile(e){if(e.traversalKind===`Allows`){if(!this.introspectableIn)return;e.return(e.invoke(this.introspectableIn));return}this.introspectableIn&&e.line(e.invoke(this.introspectableIn)),e.line(`ctx.queueMorphs(${this.compiledMorphs})`)}traverseAllows=(e,t)=>!this.introspectableIn||this.introspectableIn.traverseAllows(e,t);traverseApply=(e,t)=>{this.introspectableIn&&this.introspectableIn.traverseApply(e,t),t.queueMorphs(this.morphs)};hasEqualMorphs(e){return Xy(this.morphs,e.morphs,{isEqual:(e,t)=>e===t||tS(e,`root`)&&tS(t,`root`)&&e.equals(t)})}}},kw=(e,t)=>`The intersection of distinct morphs at a single path is indeterminate:
26
- Left: ${e}
27
- Right: ${t}`,Aw={implementation:vS({kind:`proto`,hasAssociatedError:!0,collapsibleKey:`proto`,keys:{proto:{serialize:e=>Nb(e)??gS(e)},dateAllowsInvalid:{}},normalize:e=>{let t=typeof e==`string`?{proto:Tb[e]}:typeof e==`function`?nS(e)?e:{proto:e}:typeof e.proto==`string`?{...e,proto:Tb[e.proto]}:e;return typeof t.proto!=`function`&&K(Aw.writeInvalidSchemaMessage(t.proto)),lb(t,`dateAllowsInvalid`)&&t.proto!==Date&&K(Aw.writeBadInvalidDateMessage(t.proto)),t},applyConfig:(e,t)=>e.dateAllowsInvalid===void 0&&e.proto===Date&&t.dateAllowsInvalid?{...e,dateAllowsInvalid:!0}:e,defaults:{description:e=>e.builtinName?Mb[e.builtinName]:`an instance of ${e.proto.name}`,actual:e=>e instanceof Date&&e.toString()===`Invalid Date`?`an invalid Date`:Db(e)},intersections:{proto:(e,t)=>e.proto===Date&&t.proto===Date?e.dateAllowsInvalid?t:e:Pb(e.proto,t.proto)?e:Pb(t.proto,e.proto)?t:HS.init(`proto`,e,t),domain:(e,t)=>t.domain===`object`?e:HS.init(`domain`,q.intrinsic.object.internal,t)}}),Node:class extends Cw{builtinName=Nb(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;traverseAllows=this.requiresInvalidDateCheck?e=>e instanceof Date&&e.toString()!==`Invalid Date`:e=>e instanceof this.proto;compiledCondition=`data instanceof ${this.serializedConstructor}${this.requiresInvalidDateCheck?` && data.toString() !== "Invalid Date"`:``}`;compiledNegation=`!(${this.compiledCondition})`;innerToJsonSchema(e){switch(this.builtinName){case`Array`:return{type:`array`};case`Date`:return e.fallback.date?.({code:`date`,base:{}})??e.fallback.proto({code:`proto`,base:{},proto:this.proto});default:return e.fallback.proto({code:`proto`,base:{},proto:this.proto})}}expression=this.dateAllowsInvalid?`Date | InvalidDate`:this.proto.name;get nestableExpression(){return this.dateAllowsInvalid?`(${this.expression})`:this.expression}domain=`object`;get defaultShortDescription(){return this.description}},writeBadInvalidDateMessage:e=>`dateAllowsInvalid may only be specified with constructor Date (was ${e.name})`,writeInvalidSchemaMessage:e=>`instanceOf operand must be a function (was ${Qy(e)})`},jw=vS({kind:`union`,hasAssociatedError:!0,collapsibleKey:`branches`,keys:{ordered:{},branches:{child:!0,parse:(e,t)=>{let n=[];for(let r of e){let e=tS(r,`root`)?r.branches:t.$.parseSchema(r).branches;for(let r of e)if(r.hasKind(`morph`)){let e=n.findIndex(e=>e.hasKind(`morph`)&&e.hasEqualMorphs(r));if(e===-1)n.push(r);else{let i=n[e];n[e]=t.$.node(`morph`,{...i.inner,in:i.rawIn.rawOr(r.rawIn)})}}else n.push(r)}return t.def.ordered||n.sort((e,t)=>e.hash<t.hash?-1:1),n}}},normalize:e=>Ob(e)?{branches:e}:e,reduce:(e,t)=>{let n=Kw(e);if(n.length===1)return n[0];if(n.length!==e.branches.length)return t.node(`union`,{...e,branches:n},{prereduced:!0})},defaults:{description:e=>e.distribute(e=>e.description,Ww),expected:e=>{let t=Yy(e.errors,`propString`);return Ww(Object.entries(t).map(([e,t])=>{let n=[];for(let e of t)Jy(n,e.expected);let r=Ww(n),i=t.every(e=>e.actual===t[0].actual)?t[0].actual:Ox(t[0].data);return`${e&&`${e} `}must be ${r}${i&&` (was ${i})`}`}))},problem:e=>e.expected,message:e=>e.problem[0]===`[`?`value at ${e.problem}`:e.problem},intersections:{union:(e,t,n)=>{if(e.isNever!==t.isNever)return HS.init(`presence`,e,t);let r;return e.ordered?(t.ordered&&K(Xw(e.expression,t.expression)),r=Gw(t.branches,e.branches,n),r instanceof HS&&r.invert()):r=Gw(e.branches,t.branches,n),r instanceof HS?r:n.$.parseSchema(e.ordered||t.ordered?{branches:r,ordered:!0}:{branches:r})},...gw(`union`,(e,t,n)=>{let r=Gw(e.branches,[t],n);return r instanceof HS?r:r.length===1?r[0]:n.$.parseSchema(e.ordered?{branches:r,ordered:!0}:{branches:r})})}}),Mw=class extends ow{isBoolean=this.branches.length===2&&this.branches[0].hasUnit(!1)&&this.branches[1].hasUnit(!0);get branchGroups(){let e=[],t=-1;for(let n of this.branches){if(n.hasKind(`unit`)&&n.domain===`boolean`){t===-1?(t=e.length,e.push(n)):e[t]=q.intrinsic.boolean;continue}e.push(n)}return e}unitBranches=this.branches.filter(e=>e.rawIn.hasKind(`unit`));discriminant=this.discriminate();discriminantJson=this.discriminant?Vw(this.discriminant):null;expression=this.distribute(e=>e.nestableExpression,Uw);createBranchedOptimisticRootApply(){return(e,t)=>{let n=this.traverseOptimistic(e);if(n!==yb)return n;let r=new AS(e,this.$.resolvedConfig);return this.traverseApply(e,r),r.finalize(t)}}get shallowMorphs(){return this.branches.reduce((e,t)=>Jy(e,t.shallowMorphs),[])}get defaultShortDescription(){return this.distribute(e=>e.defaultShortDescription,Ww)}innerToJsonSchema(e){if(this.branchGroups.length===1&&this.branchGroups[0].equals(q.intrinsic.boolean))return{type:`boolean`};let t=this.branchGroups.map(t=>t.toJsonSchemaRecurse(e));return t.every(e=>Object.keys(e).length===1&&lb(e,`const`))?{enum:t.map(e=>e.const)}:{anyOf:t}}traverseAllows=(e,t)=>this.branches.some(n=>n.traverseAllows(e,t));traverseApply=(e,t)=>{let n=[];for(let r=0;r<this.branches.length;r++){if(t.pushBranch(),this.branches[r].traverseApply(e,t),!t.hasError())return this.branches[r].includesTransform?t.queuedMorphs.push(...t.popBranch().queuedMorphs):t.popBranch();n.push(t.popBranch().error)}t.errorFromNodeContext({code:`union`,errors:n,meta:this.meta})};traverseOptimistic=e=>{for(let t=0;t<this.branches.length;t++){let n=this.branches[t];if(n.traverseAllows(e))return n.contextFreeMorph?n.contextFreeMorph(e):e}return yb};compile(e){if(!this.discriminant||this.unitBranches.length===this.branches.length&&this.branches.length===2)return this.compileIndiscriminable(e);let t=this.discriminant.optionallyChainedPropString;this.discriminant.kind===`domain`&&(t=`typeof ${t} === "object" ? ${t} === null ? "null" : "object" : typeof ${t} === "function" ? "object" : typeof ${t}`);let n=this.discriminant.cases,r=Object.keys(n),{optimistic:i}=e;if(e.optimistic=!1,e.block(`switch(${t})`,()=>{for(let t in n){let r=n[t],a=t==="default"?t:`case ${t}`,o;o=r===!0?i?`data`:`true`:i?r.rootApplyStrategy===`branchedOptimistic`?e.invoke(r,{kind:`Optimistic`}):r.contextFreeMorph?`${e.invoke(r)} ? ${Kx(r.contextFreeMorph)}(data) : "${yb}"`:`${e.invoke(r)} ? data : "${yb}"`:e.invoke(r),e.line(`${a}: return ${o}`)}return e}),e.traversalKind===`Allows`){e.return(i?`"${yb}"`:!1);return}let a=Ww(this.discriminant.kind===`domain`?r.map(e=>{let t=e.slice(1,-1);return t===`function`?$y.object:$y[t]}):r),o=this.discriminant.path.map(e=>typeof e==`symbol`?Kx(e):JSON.stringify(e)),s=JSON.stringify(a),c=this.discriminant.kind===`domain`?`${Rw}[${t}]`:`${zw}(${t})`;e.line(`ctx.errorFromNodeContext({
28
- code: "predicate",
29
- expected: ${s},
30
- actual: ${c},
31
- relativePath: [${o}],
32
- meta: ${this.compiledMeta}
33
- })`)}compileIndiscriminable(e){if(e.traversalKind===`Apply`){e.const(`errors`,`[]`);for(let t of this.branches)e.line(`ctx.pushBranch()`).line(e.invoke(t)).if(`!ctx.hasError()`,()=>e.return(t.includesTransform?`ctx.queuedMorphs.push(...ctx.popBranch().queuedMorphs)`:`ctx.popBranch()`)).line(`errors.push(ctx.popBranch().error)`);e.line(`ctx.errorFromNodeContext({ code: "union", errors, meta: ${this.compiledMeta} })`)}else{let{optimistic:t}=e;e.optimistic=!1;for(let n of this.branches)e.if(`${e.invoke(n)}`,()=>e.return(t?n.contextFreeMorph?`${Kx(n.contextFreeMorph)}(data)`:`data`:!0));e.return(t?`"${yb}"`:!1)}}get nestableExpression(){return this.isBoolean?`boolean`:`(${this.expression})`}discriminate(){if(this.branches.length<2)return null;if(this.unitBranches.length===this.branches.length)return{kind:`unit`,path:[],optionallyChainedPropString:`data`,cases:ob(this.unitBranches,(e,t)=>[`${t.rawIn.serializedValue}`,!t.hasKind(`morph`)||t])};let e=[];for(let t=0;t<this.branches.length-1;t++){let n=this.branches[t];for(let r=t+1;r<this.branches.length;r++){let i=this.branches[r],a=qS(n.rawIn,i.rawIn,n.$);if(a instanceof HS)for(let n of a){if(!n.kind||n.optional)continue;let i,a;if(n.kind===`domain`){let e=n.l,t=n.r;i=`"${typeof e==`string`?e:e.domain}"`,a=`"${typeof t==`string`?t:t.domain}"`}else if(n.kind===`unit`)i=n.l.serializedValue,a=n.r.serializedValue;else continue;let o=e.find(e=>Xy(e.path,n.path)&&e.kind===n.kind);o?(o.cases[i]?o.cases[i].branchIndices=Jy(o.cases[i].branchIndices,t):o.cases[i]??={branchIndices:[t],condition:n.l},o.cases[a]?o.cases[a].branchIndices=Jy(o.cases[a].branchIndices,r):o.cases[a]??={branchIndices:[r],condition:n.r}):e.push({kind:n.kind,cases:{[i]:{branchIndices:[t],condition:n.l},[a]:{branchIndices:[r],condition:n.r}},path:n.path})}}}let t=this.ordered?Fw(e,this.branches):e;if(!t.length)return null;let n=Nw(t,this),r={};for(let e in n.best.cases){let t=Pw(n,e);if(t===null){r[e]=!0;continue}if(t.length===this.branches.length)return null;this.ordered&&t.sort((e,t)=>e.originalIndex-t.originalIndex);let i=t.map(e=>e.branch),a=i.length===1?i[0]:this.$.node(`union`,this.ordered?{branches:i,ordered:!0}:i);Object.assign(this.referencesById,a.referencesById),r[e]=a}if(n.defaultEntries.length){let e=n.defaultEntries.map(e=>e.branch);r.default=this.$.node(`union`,this.ordered?{branches:e,ordered:!0}:e,{prereduced:!0}),Object.assign(this.referencesById,r.default.referencesById)}return Object.assign(n.location,{cases:r})}},Nw=(e,t)=>{let n=e.sort((e,t)=>e.path.length===t.path.length?Object.keys(t.cases).length-Object.keys(e.cases).length:e.path.length-t.path.length)[0];return{best:n,location:{kind:n.kind,path:n.path,optionallyChainedPropString:Lw(n.path)},defaultEntries:t.branches.map((e,t)=>({originalIndex:t,branch:e})),node:t}},Pw=(e,t)=>{let n=e.best.cases[t],r=Iw(n.condition,e.location.path,e.node.$),i=[],a=[];for(let t=0;t<e.defaultEntries.length;t++){let o=e.defaultEntries[t];if(n.branchIndices.includes(o.originalIndex)){let t=Jw(e.node.branches[o.originalIndex],e.location);t===null?i=null:i?.push({originalIndex:o.originalIndex,branch:t})}else if(o.branch.hasKind(`alias`)&&r.hasKind(`domain`)&&r.domain===`object`)i?.push(o);else{if(o.branch.rawIn.overlaps(r)){let t=Jw(o.branch,e.location);i?.push({originalIndex:o.originalIndex,branch:t})}a.push(o)}}return e.defaultEntries=a,i},Fw=(e,t)=>e.filter(e=>{let n=Object.values(e.cases).map(e=>e.branchIndices);for(let e=0;e<n.length-1;e++){let r=n[e];for(let i=e+1;i<n.length;i++){let e=n[i];for(let n of r)for(let r of e)if(n>r&&t[n].overlaps(t[r]))return!1}}return!0}),Iw=(e,t,n)=>{let r=e===`undefined`?n.node(`unit`,{unit:void 0}):e===`null`?n.node(`unit`,{unit:null}):e===`boolean`?n.units([!0,!1]):e;for(let e=t.length-1;e>=0;e--){let i=t[e];r=n.node(`intersection`,typeof i==`number`?{proto:`Array`,sequence:[...Wy(i).map(e=>({})),r]}:{domain:`object`,required:[{key:i,value:r}]})}return r},Lw=e=>e.reduce((e,t)=>e+Yx(t,!0),`data`),Rw=Kx(eb),zw=Kx(Ox),Bw={implementation:jw,Node:Mw},Vw=e=>({kind:e.kind,path:e.path.map(e=>typeof e==`string`?e:Jx(e)),cases:ob(e.cases,(e,t)=>[e,t===!0?t:t.hasKind(`union`)&&t.discriminantJson?t.discriminantJson:t.json])}),Hw={delimiter:` | `,finalDelimiter:` | `},Uw=e=>Ww(e,Hw),Ww=(e,t)=>{let n=t?.delimiter??`, `,r=t?.finalDelimiter??` or `;if(e.length===0)return`never`;if(e.length===1)return e[0];if(e.length===2&&e[0]===`false`&&e[1]===`true`||e[0]===`true`&&e[1]===`false`)return`boolean`;let i={},a=e.filter(e=>i[e]?!1:i[e]=!0),o=a.pop();return`${a.join(n)}${a.length?r:``}${o}`},Gw=(e,t,n)=>{let r=t.map(()=>[]);for(let i=0;i<e.length;i++){let a={};for(let o=0;o<t.length;o++){if(r[o]===null)continue;if(e[i].equals(t[o])){r[o]=null,a={};break}let s=YS(e[i],t[o],n);if(!(s instanceof HS)){if(s.equals(e[i])){r[o].push(e[i]),a={};break}s.equals(t[o])?r[o]=null:a[o]=s}}for(let e in a)r[e][i]=a[e]}let i=r.flatMap((e,n)=>e?.flatMap(e=>e.branches)??t[n]);return i.length===0?HS.init(`union`,e,t):i},Kw=({branches:e,ordered:t})=>{if(e.length<2)return e;let n=e.map(()=>!0);for(let r=0;r<e.length;r++)for(let i=r+1;i<e.length&&n[r]&&n[i];i++){if(e[r].equals(e[i])){n[i]=!1;continue}let a=qS(e[r].rawIn,e[i].rawIn,e[0].$);a instanceof HS||(t||qw(e[r],e[i]),a.equals(e[r].rawIn)?n[r]=!!t:a.equals(e[i].rawIn)&&(n[i]=!1))}return e.filter((e,t)=>n[t])},qw=(e,t)=>{(e.includesTransform||t.includesTransform)&&(Xy(e.shallowMorphs,t.shallowMorphs)||K(Yw(e.expression,t.expression)),Xy(e.flatMorphs,t.flatMorphs,{isEqual:(e,t)=>e.propString===t.propString&&(e.node.hasKind(`morph`)&&t.node.hasKind(`morph`)?e.node.hasEqualMorphs(t.node):e.node.hasKind(`intersection`)&&t.node.hasKind(`intersection`)?e.node.structure?.structuralMorphRef===t.node.structure?.structuralMorphRef:!1)})||K(Yw(e.expression,t.expression)))},Jw=(e,t)=>e.transform((e,t)=>e===`domain`||e===`unit`?null:t,{shouldTransform:(e,n)=>{let r=Lw(n.path);return t.optionallyChainedPropString.startsWith(r)?e.hasKind(`domain`)&&e.domain===`object`||(e.hasKind(`domain`)||t.kind===`unit`)&&r===t.optionallyChainedPropString?!0:e.children.length!==0&&e.kind!==`index`:!1}}),Yw=(e,t)=>`An unordered union of a type including a morph and a type with overlapping input is indeterminate:
34
- Left: ${e}
35
- Right: ${t}`,Xw=(e,t)=>`The intersection of two ordered unions is indeterminate:
36
- Left: ${e}
37
- Right: ${t}`,Zw={implementation:vS({kind:`unit`,hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:e=>e instanceof Date?e.toISOString():gS(e)}},normalize:e=>e,defaults:{description:e=>Ox(e.unit),problem:({expected:e,actual:t})=>`${e===t?`must be reference equal to ${e} (serialized to the same value)`:`must be ${e} (was ${t})`}`},intersections:{unit:(e,t)=>HS.init(`unit`,e,t),...gw(`unit`,(e,t)=>{if(t.allows(e.unit))return e;let n=t.hasKind(`intersection`)?t.basis:t;if(n){let t=n.hasKind(`domain`)?n:q.intrinsic.object;if(e.domain!==t.domain){let n=e.domain===`undefined`||e.domain===`null`||e.domain===`boolean`?e.domain:q.intrinsic[e.domain];return HS.init(`domain`,n,t)}}return HS.init(`assignability`,e,t.hasKind(`intersection`)?t.children.find(t=>!t.allows(e.unit)):t)})}}),Node:class extends Cw{compiledValue=this.json.unit;serializedValue=typeof this.unit==`string`||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=Qw(this.unit,this.serializedValue);compiledNegation=Qw(this.unit,this.serializedValue,`negated`);expression=Ox(this.unit);domain=Qy(this.unit);get defaultShortDescription(){return this.domain===`object`?$y.object:this.description}innerToJsonSchema(e){return this.unit===null?{type:`null`}:q.intrinsic.jsonPrimitive.allows(this.unit)?{const:this.unit}:e.fallback.unit({code:`unit`,base:{},unit:this.unit})}traverseAllows=this.unit instanceof Date?e=>e instanceof Date&&e.toISOString()===this.compiledValue:Number.isNaN(this.unit)?e=>Number.isNaN(e):e=>e===this.unit}},Qw=(e,t,n)=>{if(e instanceof Date){let e=`data instanceof Date && data.toISOString() === ${t}`;return n?`!(${e})`:e}return Number.isNaN(e)?`${n?`!`:``}Number.isNaN(data)`:`data ${n?`!`:`=`}== ${t}`},$w={implementation:vS({kind:`index`,hasAssociatedError:!1,intersectionIsOpen:!0,keys:{signature:{child:!0,parse:(e,t)=>{let n=t.$.parseSchema(e);if(!n.extends(q.intrinsic.key))return K(tT(n.expression));let r=n.branches.filter(e=>e.hasKind(`unit`));return r.length?K(eT(r.map(e=>Ox(e.unit)))):n}},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)}},normalize:e=>e,defaults:{description:e=>`[${e.signature.expression}]: ${e.value.description}`},intersections:{index:(e,t,n)=>{if(e.signature.equals(t.signature)){let r=YS(e.value,t.value,n),i=r instanceof HS?q.intrinsic.never.internal:r;return n.$.node(`index`,{signature:e.signature,value:i})}return e.signature.extends(t.signature)&&e.value.subsumes(t.value)?t:t.signature.extends(e.signature)&&t.value.subsumes(e.value)?e:null}}}),Node:class extends eC{impliedBasis=q.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=Gy(this.value.flatRefs.map(e=>RS([this.signature,...e.path],e.node)),RS([this.signature],this.value));traverseAllows=(e,t)=>gb(e).every(e=>!this.signature.traverseAllows(e[0],t)||jS(e[0],()=>this.value.traverseAllows(e[1],t),t));traverseApply=(e,t)=>{for(let n of gb(e))this.signature.traverseAllows(n[0],t)&&jS(n[0],()=>this.value.traverseApply(n[1],t),t)};_transform(e,t){t.path.push(this.signature);let n=super._transform(e,t);return t.path.pop(),n}compile(){}}},eT=e=>`Index keys ${e.join(`, `)} should be specified as named props.`,tT=e=>`Indexed key definition '${e}' must be a string or symbol`,nT={implementation:vS({kind:`required`,hasAssociatedError:!0,intersectionIsOpen:!0,keys:{key:{},value:{child:!0,parse:(e,t)=>t.$.parseSchema(e)}},normalize:e=>e,defaults:{description:e=>`${e.compiledKey}: ${e.value.description}`,expected:e=>e.missingValueDescription,actual:()=>`missing`},intersections:{required:ZC,optional:ZC}}),Node:class extends QC{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:`required`,missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=_S(this.errorContext)}},rT=vS({kind:`sequence`,hasAssociatedError:!1,collapsibleKey:`variadic`,keys:{prefix:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}},optionals:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}},defaultables:{child:e=>e.map(e=>e[0]),parse:(e,t)=>{if(e.length!==0)return e.map(e=>{let n=t.$.parseSchema(e[0]);return iw(n,e[1],null),[n,e[1]]})},serialize:e=>e.map(e=>[e[0].collapsibleJson,gS(e[1])]),reduceIo:(e,t,n)=>{if(e===`in`){t.optionals=n.map(e=>e[0].rawIn);return}t.prefix=n.map(e=>e[0].rawOut)}},variadic:{child:!0,parse:(e,t)=>t.$.parseSchema(e,t)},minVariadicLength:{parse:e=>e===0?void 0:e},postfix:{child:!0,parse:(e,t)=>{if(e.length!==0)return e.map(e=>t.$.parseSchema(e))}}},normalize:e=>{if(typeof e==`string`)return{variadic:e};if(`variadic`in e||`prefix`in e||`defaultables`in e||`optionals`in e||`postfix`in e||`minVariadicLength`in e){if(e.postfix?.length){if(!e.variadic)return K(dT);if(e.optionals?.length||e.defaultables?.length)return K(uT)}return e.minVariadicLength&&!e.variadic?K(`minVariadicLength may not be specified without a variadic element`):e}return{variadic:e}},reduce:(e,t)=>{let n=e.minVariadicLength??0,r=e.prefix?.slice()??[],i=e.defaultables?.slice()??[],a=e.optionals?.slice()??[],o=e.postfix?.slice()??[];if(e.variadic){for(;a[a.length-1]?.equals(e.variadic);)a.pop();if(a.length===0&&i.length===0)for(;r[r.length-1]?.equals(e.variadic);)r.pop(),n++;for(;o[0]?.equals(e.variadic);)o.shift(),n++}else a.length===0&&i.length===0&&r.push(...o.splice(0));if(n!==e.minVariadicLength||e.prefix&&e.prefix.length!==r.length)return t.node(`sequence`,{...e,prefix:r,defaultables:i,optionals:a,postfix:o,minVariadicLength:n},{prereduced:!0})},defaults:{description:e=>e.isVariadicOnly?`${e.variadic.nestableExpression}[]`:`[${e.tuple.map(e=>e.kind===`defaultables`?`${e.node.nestableExpression} = ${Ox(e.default)}`:e.kind===`optionals`?`${e.node.nestableExpression}?`:e.kind===`variadic`?`...${e.node.nestableExpression}[]`:e.node.expression).join(`, `)}]`},intersections:{sequence:(e,t,n)=>{let r=fT({l:e.tuple,r:t.tuple,disjoint:new HS,result:[],fixedVariants:[],ctx:n}),i=r.disjoint.length===0?[r,...r.fixedVariants]:r.fixedVariants;return i.length===0?r.disjoint:i.length===1?n.$.node(`sequence`,lT(i[0].result)):n.$.node(`union`,i.map(e=>({proto:Array,sequence:lT(e.result)})))}}}),iT=class extends eC{impliedBasis=q.intrinsic.Array.internal;tuple=cT(this.inner);prefixLength=this.prefix?.length??0;defaultablesLength=this.defaultables?.length??0;optionalsLength=this.optionals?.length??0;postfixLength=this.postfix?.length??0;defaultablesAndOptionals=[];prevariadic=this.tuple.filter(e=>e.kind===`defaultables`||e.kind===`optionals`?(this.defaultablesAndOptionals.push(e.node),!0):e.kind===`prefix`);variadicOrPostfix=Ky(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return BS(this.flatRefs,this.prevariadic.flatMap((e,t)=>Gy(e.node.flatRefs.map(e=>RS([`${t}`,...e.path],e.node)),RS([`${t}`],e.node)))),BS(this.flatRefs,this.variadicOrPostfix.flatMap(e=>Gy(e.flatRefs.map(e=>RS([q.intrinsic.nonNegativeIntegerString.internal,...e.path],e.node)),RS([q.intrinsic.nonNegativeIntegerString.internal],e)))),this.flatRefs}isVariadicOnly=this.prevariadic.length+this.postfixLength===0;minVariadicLength=this.inner.minVariadicLength??0;minLength=this.prefixLength+this.minVariadicLength+this.postfixLength;minLengthNode=this.minLength===0?null:this.$.node(`minLength`,this.minLength);maxLength=this.variadic?null:this.tuple.length;maxLengthNode=this.maxLength===null?null:this.$.node(`maxLength`,this.maxLength);impliedSiblings=this.minLengthNode?this.maxLengthNode?[this.minLengthNode,this.maxLengthNode]:[this.minLengthNode]:this.maxLengthNode?[this.maxLengthNode]:[];defaultValueMorphs=oT(this);defaultValueMorphsReference=this.defaultValueMorphs.length?Kx(this.defaultValueMorphs):void 0;elementAtIndex(e,t){if(t<this.prevariadic.length)return this.tuple[t];let n=e.length-this.postfixLength;return t>=n?{kind:`postfix`,node:this.postfix[t-n]}:{kind:`variadic`,node:this.variadic??nb(`Unexpected attempt to access index ${t} on ${this}`)}}traverseAllows=(e,t)=>{for(let n=0;n<e.length;n++)if(!this.elementAtIndex(e,n).node.traverseAllows(e[n],t))return!1;return!0};traverseApply=(e,t)=>{let n=0;for(;n<e.length;n++)jS(n,()=>this.elementAtIndex(e,n).node.traverseApply(e[n],t),t)};get element(){return this.cacheGetter(`element`,this.$.node(`union`,this.children))}compile(e){if(this.prefix)for(let[t,n]of this.prefix.entries())e.traverseKey(`${t}`,`data[${t}]`,n);for(let[t,n]of this.defaultablesAndOptionals.entries()){let r=`${t+this.prefixLength}`;e.if(`${r} >= data.length`,()=>e.traversalKind===`Allows`?e.return(!0):e.return()),e.traverseKey(r,`data[${r}]`,n)}if(this.variadic&&(this.postfix&&e.const(`firstPostfixIndex`,`data.length${this.postfix?`- ${this.postfix.length}`:``}`),e.for(`i < ${this.postfix?`firstPostfixIndex`:`data.length`}`,()=>e.traverseKey(`i`,`data[i]`,this.variadic),this.prevariadic.length),this.postfix))for(let[t,n]of this.postfix.entries()){let r=`firstPostfixIndex + ${t}`;e.traverseKey(r,`data[${r}]`,n)}e.traversalKind===`Allows`&&e.return(!0)}_transform(e,t){t.path.push(q.intrinsic.nonNegativeIntegerString.internal);let n=super._transform(e,t);return t.path.pop(),n}expression=this.description;reduceJsonSchema(e,t){let n=t.target===`draft-07`;if(this.prevariadic.length){let r=this.prevariadic.map(e=>{let n=e.node.toJsonSchemaRecurse(t);if(e.kind===`defaultables`){let r=typeof e.default==`function`?e.default():e.default;n.default=q.intrinsic.jsonData.allows(r)?r:t.fallback.defaultValue({code:`defaultValue`,base:n,value:r})}return n});n?e.items=r:e.prefixItems=r}if(this.minLength&&(e.minItems=this.minLength),this.variadic){let r=this.variadic.toJsonSchemaRecurse(t);if(n&&this.prevariadic.length?e.additionalItems=r:e.items=r,this.maxLength&&(e.maxItems=this.maxLength),this.postfix){let n=this.postfix.map(e=>e.toJsonSchemaRecurse(t));e=t.fallback.arrayPostfix({code:`arrayPostfix`,base:e,elements:n})}}else n?e.additionalItems=!1:e.items=!1,delete e.maxItems;return e}},aT={},oT=e=>{if(!e.defaultables)return[];let t=[],n=`[`,r=e.prefixLength+e.defaultablesLength-1;for(let i=e.prefixLength;i<=r;i++){let[r,a]=e.defaultables[i-e.prefixLength];t.push(rw(i,r,a)),n+=`${i}: ${r.id} = ${gS(a)}, `}return n+=`]`,aT[n]??=t},sT={implementation:rT,Node:iT},cT=e=>{let t=[];if(e.prefix)for(let n of e.prefix)t.push({kind:`prefix`,node:n});if(e.defaultables)for(let[n,r]of e.defaultables)t.push({kind:`defaultables`,node:n,default:r});if(e.optionals)for(let n of e.optionals)t.push({kind:`optionals`,node:n});if(e.variadic&&t.push({kind:`variadic`,node:e.variadic}),e.postfix)for(let n of e.postfix)t.push({kind:`postfix`,node:n});return t},lT=e=>e.reduce((e,t)=>(t.kind===`variadic`?e.variadic=t.node:t.kind===`defaultables`?e.defaultables=Gy(e.defaultables,[[t.node,t.default]]):e[t.kind]=Gy(e[t.kind],t.node),e),{}),uT=`A postfix required element cannot follow an optional or defaultable element`,dT=`A postfix element requires a variadic element`,fT=e=>{let[t,...n]=e.l,[r,...i]=e.r;if(!t||!r)return e;let a=n[n.length-1]?.kind===`postfix`,o=i[i.length-1]?.kind===`postfix`,s=t.kind===`prefix`||r.kind===`prefix`?`prefix`:t.kind===`postfix`||r.kind===`postfix`?`postfix`:t.kind===`variadic`&&r.kind===`variadic`?`variadic`:a||o?`prefix`:t.kind===`defaultables`||r.kind===`defaultables`?`defaultables`:`optionals`;if(t.kind===`prefix`&&r.kind===`variadic`&&o){let t=fT({...e,fixedVariants:[],r:i.map(e=>({...e,kind:`prefix`}))});t.disjoint.length===0&&e.fixedVariants.push(t)}else if(r.kind===`prefix`&&t.kind===`variadic`&&a){let t=fT({...e,fixedVariants:[],l:n.map(e=>({...e,kind:`prefix`}))});t.disjoint.length===0&&e.fixedVariants.push(t)}let c=YS(t.node,r.node,e.ctx);if(c instanceof HS){if(s===`prefix`||s===`postfix`)e.disjoint.push(...c.withPrefixKey(s===`prefix`?e.result.length:`-${n.length+1}`,pT(t)&&pT(r)?`required`:`optional`)),e.result=[...e.result,{kind:s,node:q.intrinsic.never.internal}];else if(s===`optionals`||s===`defaultables`)return e;else return fT({...e,fixedVariants:[],l:n.map(e=>({...e,kind:`prefix`})),r:n.map(e=>({...e,kind:`prefix`}))})}else s===`defaultables`?(t.kind===`defaultables`&&r.kind===`defaultables`&&t.default!==r.default&&K($C(t.default,r.default)),e.result=[...e.result,{kind:s,node:c,default:t.kind===`defaultables`?t.default:r.kind===`defaultables`?r.default:nb(`Unexpected defaultable intersection from ${t.kind} and ${r.kind} elements.`)}]):e.result=[...e.result,{kind:s,node:c}];let l=e.l.length,u=e.r.length;return(t.kind!==`variadic`||l>=u&&(r.kind===`variadic`||u===1))&&(e.l=n),(r.kind!==`variadic`||u>=l&&(t.kind===`variadic`||l===1))&&(e.r=i),fT(e)},pT=e=>e.kind===`prefix`||e.kind===`postfix`,mT=e=>t=>{if(t.props.length||t.index){let n=t.index?.map(t=>t[e])??[];for(let r of t.props)n.push(r[e]);t.undeclared&&n.push(`+ (undeclared): ${t.undeclared}`);let r=`{ ${n.join(`, `)} }`;return t.sequence?`${r} & ${t.sequence.description}`:r}return t.sequence?.description??`{}`},hT=mT(`description`),gT=mT(`expression`),_T=(e,t,n)=>{let r=e.required?`required`:`optional`;if(!t.signature.allows(e.key))return null;let i=qS(e.value,t.value,n);return i instanceof HS?r===`optional`?n.node(`optional`,{key:e.key,value:q.intrinsic.never.internal}):i.withPrefixKey(e.key,e.kind):null},vT=vS({kind:`structure`,hasAssociatedError:!1,normalize:e=>e,applyConfig:(e,t)=>!e.undeclared&&t.onUndeclaredKey!==`ignore`?{...e,undeclared:t.onUndeclaredKey}:e,keys:{required:{child:!0,parse:nC(`required`),reduceIo:(e,t,n)=>{t.required=Gy(t.required,n.map(t=>e===`in`?t.rawIn:t.rawOut))}},optional:{child:!0,parse:nC(`optional`),reduceIo:(e,t,n)=>{if(e===`in`){t.optional=n.map(e=>e.rawIn);return}for(let e of n)t[e.outProp.kind]=Gy(t[e.outProp.kind],e.outProp.rawOut)}},index:{child:!0,parse:nC(`index`)},sequence:{child:!0,parse:nC(`sequence`)},undeclared:{parse:e=>e===`ignore`?void 0:e,reduceIo:(e,t,n)=>{if(n===`reject`){t.undeclared=`reject`;return}e===`in`?delete t.undeclared:t.undeclared=`reject`}}},defaults:{description:hT},intersections:{structure:(e,t,n)=>{let r={...e.inner},i={...t.inner},a=new HS;if(e.undeclared){let r=e.keyof();for(let e of t.requiredKeys)r.allows(e)||a.add(`presence`,q.intrinsic.never.internal,t.propsByKey[e].value,{path:[e]});i.optional&&=i.optional.filter(e=>r.allows(e.key)),i.index&&=i.index.flatMap(e=>{if(e.signature.extends(r))return e;let t=qS(r,e.signature,n.$);if(t instanceof HS)return[];let a=DT(t,e.value,n.$);return a.required&&(i.required=Ky(i.required,a.required)),a.optional&&(i.optional=Ky(i.optional,a.optional)),a.index??[]})}if(t.undeclared){let i=t.keyof();for(let t of e.requiredKeys)i.allows(t)||a.add(`presence`,e.propsByKey[t].value,q.intrinsic.never.internal,{path:[t]});r.optional&&=r.optional.filter(e=>i.allows(e.key)),r.index&&=r.index.flatMap(e=>{if(e.signature.extends(i))return e;let t=qS(i,e.signature,n.$);if(t instanceof HS)return[];let a=DT(t,e.value,n.$);return a.required&&(r.required=Ky(r.required,a.required)),a.optional&&(r.optional=Ky(r.optional,a.optional)),a.index??[]})}let o={};(e.undeclared||t.undeclared)&&(o.undeclared=e.undeclared===`reject`||t.undeclared===`reject`?`reject`:`delete`);let s=rC({kind:`structure`,baseInner:o,l:iC(r),r:iC(i),roots:[],ctx:n});return s instanceof HS&&a.push(...s),a.length?a:s}},reduce:(e,t)=>{if(!e.required&&!e.optional)return;let n=Object.create(null),r=!1,i=e.optional?[...e.optional]:[];if(e.required)for(let r=0;r<e.required.length;r++){let i=e.required[r];if(i.key in n&&K(AT(i.key)),n[i.key]=!0,e.index)for(let n of e.index){let e=_T(i,n,t);if(e instanceof HS)return e}}if(e.optional)for(let a=0;a<e.optional.length;a++){let o=e.optional[a];if(o.key in n&&K(AT(o.key)),n[o.key]=!0,e.index)for(let n of e.index){let e=_T(o,n,t);if(e instanceof HS)return e;e!==null&&(i[a]=e,r=!0)}}if(r)return t.node(`structure`,{...e,optional:i},{prereduced:!0})}}),yT=class extends eC{impliedBasis=q.intrinsic.object.internal;impliedSiblings=this.children.flatMap(e=>e.impliedSiblings??[]);props=Ky(this.required,this.optional);propsByKey=ob(this.props,(e,t)=>[t.key,t]);propsByKeyReference=Kx(this.propsByKey);expression=gT(this);requiredKeys=this.required?.map(e=>e.key)??[];optionalKeys=this.optional?.map(e=>e.key)??[];literalKeys=[...this.requiredKeys,...this.optionalKeys];_keyof;keyof(){if(this._keyof)return this._keyof;let e=this.$.units(this.literalKeys).branches;if(this.index)for(let{signature:t}of this.index)e=e.concat(t.branches);return this._keyof=this.$.node(`union`,e)}map(e){return this.$.node(`structure`,this.props.flatMap(e).reduce((e,t)=>{let n=this.propsByKey[t.key];if(nS(t))return t.kind!==`required`&&t.kind!==`optional`?K(`Map result must have kind "required" or "optional" (was ${t.kind})`):(e[t.kind]=Gy(e[t.kind],t),e);let r=t.kind??n?.kind??`required`,i=ob(t,(e,t)=>e in ew.implementation.keys?[e,t]:[]);return e[r]=Gy(e[r],this.$.node(r,i)),e},{}))}assertHasKeys(e){let t=e.filter(e=>!fw(e,this.keyof()));if(t.length)return K(kT(this.expression,t))}get(e,...t){let n,r=!1,i=TT(e);if((typeof i==`string`||typeof i==`symbol`)&&this.propsByKey[i]&&(n=this.propsByKey[i].value,r=this.propsByKey[i].required),this.index)for(let e of this.index)fw(i,e.signature)&&(n=n?.and(e.value)??e.value);if(this.sequence&&fw(i,q.intrinsic.nonNegativeIntegerString)){if(tS(i,`root`))this.sequence.variadic&&(n=n?.and(this.sequence.element)??this.sequence.element);else{let e=Number.parseInt(i);if(e<this.sequence.prevariadic.length){let t=this.sequence.prevariadic[e].node;n=n?.and(t)??t,r||=e<this.sequence.prefixLength}else if(this.sequence.variadic){let e=this.$.node(`union`,this.sequence.variadicOrPostfix);n=n?.and(e)??e}}}if(!n)return this.sequence?.variadic&&tS(i,`root`)&&i.extends(q.intrinsic.number)?K(ET(i.expression,this.sequence.expression)):K(kT(this.expression,[i]));let a=n.get(...t);return r?a:a.or(q.intrinsic.undefined)}pick(...e){return this.assertHasKeys(e),this.$.node(`structure`,this.filterKeys(`pick`,e))}omit(...e){return this.assertHasKeys(e),this.$.node(`structure`,this.filterKeys(`omit`,e))}optionalize(){let{required:e,...t}=this.inner;return this.$.node(`structure`,{...t,optional:this.props.map(e=>e.hasKind(`required`)?this.$.node(`optional`,e.inner):e)})}require(){let{optional:e,...t}=this.inner;return this.$.node(`structure`,{...t,required:this.props.map(e=>e.hasKind(`optional`)?{key:e.key,value:e.value}:e)})}merge(e){let t=this.filterKeys(`omit`,[e.keyof()]);return e.required&&(t.required=Gy(t.required,e.required)),e.optional&&(t.optional=Gy(t.optional,e.optional)),e.index&&(t.index=Gy(t.index,e.index)),e.sequence&&(t.sequence=e.sequence),e.undeclared?t.undeclared=e.undeclared:delete t.undeclared,this.$.node(`structure`,t)}filterKeys(e,t){let n=$x(this.inner),r=n=>{let r=t.some(e=>fw(n,e));return e===`pick`?r:!r};return n.required&&=n.required.filter(e=>r(e.key)),n.optional&&=n.optional.filter(e=>r(e.key)),n.index&&=n.index.filter(e=>r(e.signature)),n}traverseAllows=(e,t)=>this._traverse(`Allows`,e,t);traverseApply=(e,t)=>this._traverse(`Apply`,e,t);_traverse=(e,t,n)=>{let r=n?.currentErrorCount??0;for(let i=0;i<this.props.length;i++)if(e===`Allows`){if(!this.props[i].traverseAllows(t,n))return!1}else if(this.props[i].traverseApply(t,n),n.failFast&&n.currentErrorCount>r)return!1;if(this.sequence){if(e===`Allows`){if(!this.sequence.traverseAllows(t,n))return!1}else if(this.sequence.traverseApply(t,n),n.failFast&&n.currentErrorCount>r)return!1}if(this.index||this.undeclared===`reject`){let i=Object.keys(t);i.push(...Object.getOwnPropertySymbols(t));for(let a=0;a<i.length;a++){let o=i[a];if(this.index){for(let i of this.index)if(i.signature.traverseAllows(o,n)){if(e===`Allows`){if(!jS(o,()=>i.value.traverseAllows(t[o],n),n))return!1}else if(jS(o,()=>i.value.traverseApply(t[o],n),n),n.failFast&&n.currentErrorCount>r)return!1}}if(this.undeclared===`reject`&&!this.declaresKey(o)&&(e===`Allows`||(n.errorFromNodeContext({code:`predicate`,expected:`removed`,actual:``,relativePath:[o],meta:this.meta}),n.failFast)))return!1}}return this.structuralMorph&&n&&!n.hasError()&&n.queueMorphs([this.structuralMorph]),!0};get defaultable(){return this.cacheGetter(`defaultable`,this.optional?.filter(e=>e.hasDefault())??[])}declaresKey=e=>e in this.propsByKey||this.index?.some(t=>t.signature.allows(e))||this.sequence!==void 0&&q.intrinsic.nonNegativeIntegerString.allows(e);_compileDeclaresKey(e){let t=[];if(this.props.length&&t.push(`k in ${this.propsByKeyReference}`),this.index)for(let n of this.index)t.push(e.invoke(n.signature,{kind:`Allows`,arg:`k`}));return this.sequence&&t.push(`$ark.intrinsic.nonNegativeIntegerString.allows(k)`),t.join(` || `)||`false`}get structuralMorph(){return this.cacheGetter(`structuralMorph`,ST(this))}structuralMorphRef=this.structuralMorph&&Kx(this.structuralMorph);compile(e){e.traversalKind===`Apply`&&e.initializeErrorCount();for(let t of this.props)e.check(t),e.traversalKind===`Apply`&&e.returnIfFailFast();if(this.sequence&&(e.check(this.sequence),e.traversalKind===`Apply`&&e.returnIfFailFast()),(this.index||this.undeclared===`reject`)&&(e.const(`keys`,`Object.keys(data)`),e.line(`keys.push(...Object.getOwnPropertySymbols(data))`),e.for(`i < keys.length`,()=>this.compileExhaustiveEntry(e))),e.traversalKind===`Allows`)return e.return(!0);this.structuralMorphRef&&e.if(`ctx && !ctx.hasError()`,()=>(e.line(`ctx.queueMorphs([`),CT(e,this),e.line(`])`)))}compileExhaustiveEntry(e){if(e.const(`k`,`keys[i]`),this.index)for(let t of this.index)e.if(`${e.invoke(t.signature,{arg:`k`,kind:`Allows`})}`,()=>e.traverseKey(`k`,`data[k]`,t.value));return this.undeclared===`reject`&&e.if(`!(${this._compileDeclaresKey(e)})`,()=>e.traversalKind===`Allows`?e.return(!1):e.line(`ctx.errorFromNodeContext({ code: "predicate", expected: "removed", actual: "", relativePath: [k], meta: ${this.compiledMeta} })`).if(`ctx.failFast`,()=>e.return())),e}reduceJsonSchema(e,t){switch(e.type){case`object`:return this.reduceObjectJsonSchema(e,t);case`array`:let n=this.sequence?.reduceJsonSchema(e,t)??e;return this.props.length||this.index?t.fallback.arrayObject({code:`arrayObject`,base:n,object:this.reduceObjectJsonSchema({type:`object`},t)}):n;default:return yS.throwInternalOperandError(`structure`,e)}}reduceObjectJsonSchema(e,t){if(this.props.length){e.properties={};for(let n of this.props){let r=n.value.toJsonSchemaRecurse(t);if(typeof n.key==`symbol`){t.fallback.symbolKey({code:`symbolKey`,base:e,key:n.key,value:r,optional:n.optional});continue}if(n.hasDefault()){let e=typeof n.default==`function`?n.default():n.default;r.default=q.intrinsic.jsonData.allows(e)?e:t.fallback.defaultValue({code:`defaultValue`,base:r,value:e})}e.properties[n.key]=r}this.requiredKeys.length&&e.properties&&(e.required=this.requiredKeys.filter(t=>typeof t==`string`&&t in e.properties))}if(this.index)for(let n of this.index){let r=n.value.toJsonSchemaRecurse(t);if(n.signature.equals(q.intrinsic.string)){e.additionalProperties=r;continue}for(let i of n.signature.branches){if(!i.extends(q.intrinsic.string)){e=t.fallback.symbolKey({code:`symbolKey`,base:e,key:null,value:r,optional:!1});continue}let n={type:`string`};if(i.hasKind(`morph`)&&(n=t.fallback.morph({code:`morph`,base:i.rawIn.toJsonSchemaRecurse(t),out:i.rawOut.toJsonSchemaRecurse(t)})),!i.hasKind(`intersection`))return nb(`Unexpected index branch kind ${i.kind}.`);let{pattern:a}=i.inner;if(a){let i=Object.assign(n,{pattern:a[0].rule});for(let e=1;e<a.length;e++)n=t.fallback.patternIntersection({code:`patternIntersection`,base:i,pattern:a[e].rule});e.patternProperties??={},e.patternProperties[i.pattern]=r}}}return this.undeclared&&!e.additionalProperties&&(e.additionalProperties=!1),e}},bT={},xT=e=>{let t=``;for(let n=0;n<e.defaultable.length;n++)t+=e.defaultable[n].defaultValueMorphRef;if(e.sequence?.defaultValueMorphsReference&&(t+=e.sequence?.defaultValueMorphsReference),e.undeclared===`delete`){if(t+=`delete !(`,e.required)for(let n of e.required)t+=n.compiledKey+` | `;if(e.optional)for(let n of e.optional)t+=n.compiledKey+` | `;if(e.index)for(let n of e.index)t+=n.signature.id+` | `;if(e.sequence){if(e.sequence.maxLength===null)t+=cE.nonNegativeIntegerString.id;else for(let n=0;n<e.sequence.tuple.length;n++)t+=n+` | `}t+=`)`}return t},ST=e=>{let t=xT(e);return t?bT[t]?bT[t]:bT[t]=(t,n)=>{for(let r=0;r<e.defaultable.length;r++)e.defaultable[r].key in t||e.defaultable[r].defaultValueMorph(t,n);if(e.sequence?.defaultables)for(let r=t.length-e.sequence.prefixLength;r<e.sequence.defaultables.length;r++)e.sequence.defaultValueMorphs[r](t,n);if(e.undeclared===`delete`)for(let n in t)e.declaresKey(n)||delete t[n];return t}:void 0},CT=(e,t)=>{let n=`(data${t.defaultable.some(e=>e.defaultValueMorph.length===2)||t.sequence?.defaultValueMorphs.some(e=>e.length===2)?`, ctx`:``})`;return e.block(`${n} => `,e=>{for(let r=0;r<t.defaultable.length;r++){let{serializedKey:i,defaultValueMorphRef:a}=t.defaultable[r];e.if(`!(${i} in data)`,e=>e.line(`${a}${n}`))}return t.sequence?.defaultables&&e.for(`i < ${t.sequence.defaultables.length}`,e=>e.line(`${t.sequence.defaultValueMorphsReference}[i]${n}`),`data.length - ${t.sequence.prefixLength}`),t.undeclared===`delete`&&e.forIn(`data`,e=>e.if(`!(${t._compileDeclaresKey(e)})`,e=>e.line(`delete data[k]`))),e.return(`data`)})},wT={implementation:vT,Node:yT},TT=e=>(tS(e,`root`)&&e.hasKind(`unit`)&&(e=e.unit),typeof e==`number`&&(e=`${e}`),e),ET=(e,t)=>`${e} is not allowed as an array index on ${t}. Use the 'nonNegativeIntegerString' keyword instead.`,DT=(e,t,n)=>{let[r,i]=Vy(e.branches,e=>e.hasKind(`unit`));if(!r.length)return{index:n.node(`index`,{signature:e,value:t})};let a={};for(let e of r){let r=n.node(`required`,{key:e.unit,value:t});a[r.kind]=Gy(a[r.kind],r)}return i.length&&(a.index=n.node(`index`,{signature:i,value:t})),a},OT=e=>tS(e,`root`)?e.expression:Ox(e),kT=(e,t)=>`Key${t.length===1?``:`s`} ${t.map(OT).join(`, `)} ${t.length===1?`does`:`do`} not exist on ${e}`,AT=e=>`Duplicate key ${Jx(e)}`,jT={...IC,alias:Sw.implementation,domain:ww.implementation,unit:Zw.implementation,proto:Aw.implementation,union:Bw.implementation,morph:Ow.implementation,intersection:Tw.implementation,divisor:pC.implementation,pattern:RC.implementation,predicate:fC.implementation,required:nT.implementation,optional:ew.implementation,index:$w.implementation,sequence:sT.implementation,structure:wT.implementation};q.defaultConfig=vb(Object.assign(ob(jT,(e,t)=>[e,t.defaults]),{jitless:Vb(),clone:Fb,onUndeclaredKey:`ignore`,exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:yS.defaultConfig})),q.resolvedConfig=bS(q.defaultConfig,q.config);var MT={...LC,alias:Sw.Node,domain:ww.Node,unit:Zw.Node,proto:Aw.Node,union:Bw.Node,morph:Ow.Node,intersection:Tw.Node,divisor:pC.Node,pattern:RC.Node,predicate:fC.Node,required:nT.Node,optional:ew.Node,index:$w.Node,sequence:sT.Node,structure:wT.Node},NT=class extends ub{get[eS](){return`module`}},PT=(e,t)=>new NT(ob(e,(e,n)=>[e,tS(n,`module`)?PT(n,t):t.bindReference(n)])),FT=e=>Ob(e)?e:`branches`in e&&Ob(e.branches)?e.branches:void 0,IT=(e,t)=>K(`Node of kind ${t} is not valid as a ${e} definition`),LT=e=>`#${e} duplicates public alias ${e}`,RT={};q.ambient??={};var zT,BT=`function $`,VT=e=>HT(e,UT(e)),HT=(e,t,n)=>{let r=t.write(BT,4),i=t.compile()();for(let t of e)(!t.precompilation||n&&t.$===n)&&(t.traverseAllows=i[`${t.id}Allows`].bind(i),t.isRoot()&&!t.allowsRequiresContext&&(t.allows=t.traverseAllows),t.traverseApply=i[`${t.id}Apply`].bind(i),i[`${t.id}Optimistic`]&&(t.traverseOptimistic=i[`${t.id}Optimistic`].bind(i)),t.precompilation=r)},UT=e=>new qx().return(e.reduce((e,t)=>{let n=new Qx({kind:`Allows`}).indent();t.compile(n);let r=n.write(`${t.id}Allows`),i=new Qx({kind:`Apply`}).indent();t.compile(i);let a=`${e}${r},\n${i.write(`${t.id}Apply`)},\n`;if(!t.hasKind(`union`))return a;let o=new Qx({kind:`Allows`,optimistic:!0}).indent();return t.compile(o),`${a}${o.write(`${t.id}Optimistic`)},\n`},`{
38
- `)+`}`),WT=class{config;resolvedConfig;name;get[eS](){return`scope`}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(e,t){this.config=bS(q.config,t),this.resolvedConfig=bS(q.resolvedConfig,t),this.name=this.resolvedConfig.name??`anonymousScope${Object.keys(RT).length}`,this.name in RT&&K(`A Scope already named ${this.name} already exists`),RT[this.name]=this;let n=Object.entries(e).map(e=>this.preparseOwnAliasEntry(...e));for(let[e,t]of n){let n=e;if(e[0]===`#`?(n=e.slice(1),n in this.aliases&&K(LT(n)),this.aliases[n]=t):(n in this.aliases&&K(LT(e)),this.aliases[n]=t,this.exportedNames.push(n)),!tS(t,`module`)&&!tS(t,`generic`)&&!Rb(t)){let e=this.preparseOwnDefinitionFormat(t,{alias:n});this.resolutions[n]=tS(e,`root`)?this.bindReference(e):this.createParseContext(e).id}}zT??=this.node(`union`,{branches:[`string`,`number`,`object`,`bigint`,`symbol`,{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[zT.hash]=this.node(`intersection`,{},{prereduced:!0}),this.intrinsic=q.intrinsic?ob(q.intrinsic,(e,t)=>e.startsWith(`json`)?[]:[e,this.bindReference(t)]):{}}cacheGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}get internal(){return this}_json;get json(){return this._json||this.export(),this._json}defineSchema(e){return e}generic=(...e)=>{let t=this;return(n,r)=>new uC(e,r?new lC(n):n,t,t,r??null)};units=(e,t)=>{let n=[];for(let t of e)n.includes(t)||n.push(t);let r=n.map(e=>this.node(`unit`,{unit:e},t));return this.node(`union`,r,{...t,prereduced:!0})};lazyResolutions=[];lazilyResolve(e,t){let n=this.node(`alias`,{reference:t??`synthetic`,resolve:e},{prereduced:!0});return this.resolved||this.lazyResolutions.push(n),n}schema=(e,t)=>this.finalize(this.parseSchema(e,t));parseSchema=(e,t)=>this.node(zC(e),e,t);preparseNode(e,t,n){let r=typeof e==`string`?e:zC(t,e);if(nS(t)&&t.kind===r)return t;if(r===`alias`&&!n?.prereduced){let{reference:e}=Sw.implementation.normalize(t,this);if(e.startsWith(`$`)){let n=this.resolveRoot(e.slice(1));t=n,r=n.kind}}else if(r===`union`&&Zy(t,`object`)){let e=FT(t);e?.length===1&&(t=e[0],r=zC(t))}if(nS(t)&&t.kind===r)return t;let i=jT[r].normalize?.(t,this)??t;return nS(i)?i.kind===r?i:IT(r,i.kind):{...n,$:this,kind:r,def:i,prefix:n.alias??r}}bindReference(e){let t;return t=nS(e)?e.$===this?e:new e.constructor(e.attachments,this):e.$===this?e:new uC(e.params,e.bodyDef,e.$,this,e.hkt),this.resolved||Object.assign(this.referencesById,t.referencesById),t}resolveRoot(e){return this.maybeResolveRoot(e)??K(QT(e))}maybeResolveRoot(e){let t=this.maybeResolve(e);if(!tS(t,`generic`))return t}maybeResolveSubalias(e){return JT(this.aliases,e)??JT(this.ambient,e)}get ambient(){return q.ambient}maybeResolve(e){let t=this.resolutions[e];if(t){if(typeof t!=`string`)return this.bindReference(t);let n=WC[t];if(tS(n,`root`))return this.resolutions[e]=n;if(tS(n,`context`)){if(n.phase===`resolving`)return this.node(`alias`,{reference:`$${e}`},{prereduced:!0});if(n.phase===`resolved`)return nb(`Unexpected resolved context for was uncached by its scope: ${Ox(n)}`);n.phase=`resolving`;let t=this.bindReference(this.parseOwnDefinitionFormat(n.def,n));return n.phase=`resolved`,WC[t.id]=t,WC[n.id]=t,this.resolutions[e]=t}return nb(`Unexpected nodesById entry for ${t}: ${Ox(n)}`)}let n=this.aliases[e]??this.ambient?.[e];return n?(n=this.normalizeRootScopeValue(n),tS(n,`generic`)?this.resolutions[e]=this.bindReference(n):tS(n,`module`)?(n.root||K(eE(e)),this.resolutions[e]=this.bindReference(n.root)):this.resolutions[e]=this.parse(n,{alias:e})):this.maybeResolveSubalias(e)}createParseContext(e){let t=e.id??GC(e.prefix);return WC[t]=Object.assign(e,{[eS]:`context`,$:this,id:t,phase:`unresolved`})}traversal(e){return new AS(e,this.resolvedConfig)}import(...e){return new NT(ob(this.export(...e),(e,t)=>[`#${e}`,t]))}precompilation;_exportedResolutions;_exports;export(...e){if(!this._exports){this._exports={};for(let e of this.exportedNames){let t=this.aliases[e];this._exports[e]=tS(t,`module`)?PT(t,this):KT(this.maybeResolve(e))}for(let e of this.lazyResolutions)e.resolution;if(this._exportedResolutions=ZT(this,this._exports),this._json=qT(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let e=UT(this.references);this.precompilation=e.write(BT,4),HT(this.references,e,this)}this.resolved=!0}return new NT(ob(e.length?e:this.exportedNames,(e,t)=>[t,this._exports[t]]))}resolve(e){return this.export()[e]}node=(e,t,n={})=>{let r=this.preparseNode(e,t,n);if(nS(r))return this.bindReference(r);let i=this.createParseContext(r),a=KC(i),o=this.bindReference(a);return WC[i.id]=o};parse=(e,t={})=>this.finalize(this.parseDefinition(e,t));parseDefinition(e,t={}){if(tS(e,`root`))return this.bindReference(e);let n=this.preparseOwnDefinitionFormat(e,t);if(tS(n,`root`))return this.bindReference(n);let r=this.createParseContext(n);WC[r.id]=r;let i=this.bindReference(this.parseOwnDefinitionFormat(e,r));return i.isCyclic&&(i=JC(i,r.id)),WC[r.id]=i,i}finalize(e){return KT(e),!e.precompilation&&!this.resolvedConfig.jitless&&VT(e.references),e}},GT=class extends WT{parseOwnDefinitionFormat(e,t){return KC(t)}preparseOwnDefinitionFormat(e,t){return this.preparseNode(zC(e),e,t)}preparseOwnAliasEntry(e,t){return[e,t]}normalizeRootScopeValue(e){return e}},KT=e=>{let t=e.references.filter(e=>e.hasKind(`alias`));for(let n of t){Object.assign(n.referencesById,n.resolution.referencesById);for(let t of e.references)n.id in t.referencesById&&Object.assign(t.referencesById,n.referencesById)}return e},qT=e=>ob(e,(e,t)=>[e,tS(t,`root`)||tS(t,`generic`)?t.json:tS(t,`module`)?qT(t):nb(`Unexpected resolution ${Ox(t)}`)]),JT=(e,t)=>{let n=t.indexOf(`.`);if(n===-1)return;let r=t.slice(0,n),i=e[r];if(i===void 0)return;if(!tS(i,`module`))return K($T(r));let a=t.slice(n+1),o=i[a];if(o===void 0)return JT(i,a);if(tS(o,`root`)||tS(o,`generic`))return o;if(tS(o,`module`))return o.root??K(eE(t));nb(`Unexpected resolution for alias '${t}': ${Ox(o)}`)},YT=(e,t)=>new GT(e,t),XT=new GT({}),ZT=(e,t)=>{let n={};for(let r in t){let i=t[r];if(tS(i,`module`)){let t=ob(ZT(e,i),(e,t)=>[`${r}.${e}`,t]);Object.assign(n,t)}else tS(i,`root`)||tS(i,`generic`)?n[r]=i:nb(`Unexpected scope resolution ${Ox(i)}`)}return n},QT=e=>`'${e}' is unresolvable`,$T=e=>`'${e}' must reference a module to be accessed using dot syntax`,eE=e=>`Reference to submodule '${e}' must specify an alias`;XT.export();var tE=XT.schema,nE=XT.node;XT.defineSchema;var rE=XT.generic,iE=`^(?:0|[1-9]\\d*)$`;Kx(new RegExp(iE));var aE=YT({bigint:`bigint`,boolean:[{unit:!1},{unit:!0}],false:{unit:!1},never:[],null:{unit:null},number:`number`,object:`object`,string:`string`,symbol:`symbol`,true:{unit:!0},unknown:{},undefined:{unit:void 0},Array,Date},{prereducedAliases:!0}).export();q.intrinsic={...aE};var oE=YT({integer:{domain:`number`,divisor:1},lengthBoundable:[`string`,Array],key:[`string`,`symbol`],nonNegativeIntegerString:{domain:`string`,pattern:iE}},{prereducedAliases:!0}).export();Object.assign(q.intrinsic,oE);var sE=YT({jsonPrimitive:[`string`,`number`,{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:`object`,index:{signature:`string`,value:`$jsonData`}},jsonData:[`$jsonPrimitive`,`$jsonObject`]},{prereducedAliases:!0}).export(),cE={...aE,...oE,...sE,emptyStructure:nE(`structure`,{},{prereduced:!0})};q.intrinsic={...cE};var lE=((e,t)=>new RegExp(e,t));Object.assign(lE,{as:lE});var uE=e=>typeof e==`string`&&e[0]===`d`&&(e[1]===`'`||e[1]===`"`)&&e[e.length-1]===e[1],dE=e=>e.toString()!==`Invalid Date`,fE=e=>e.slice(2,-1),pE=e=>`'${e}' could not be parsed by the Date constructor`,mE=(e,t)=>hE(e,t),hE=(e,t)=>{let n=new Date(e);if(dE(n))return n;let r=hx(e);if(r!==void 0){let e=new Date(r);if(dE(e))return e}return t?K(t===!0?pE(e):t):void 0},gE=tE({proto:`Array`,sequence:`string`,required:{key:`groups`,value:[`object`,{unit:void 0}]}}),_E=(e,t)=>{let n=e.scanner.shiftUntilEscapable(CE[SE[t]]);if(e.scanner.lookahead===``)return e.error(TE(n,t));if(e.scanner.shift(),t in xE){let r;try{r=new RegExp(n)}catch(e){K(String(e))}e.root=e.ctx.$.node(`intersection`,{domain:`string`,pattern:n},{prereduced:!0}),t===`x/`&&(e.root=e.ctx.$.node(`morph`,{in:e.root,morphs:e=>r.exec(e),declaredOut:gE}))}else if(cb(t,vE))e.root=e.ctx.$.node(`unit`,{unit:n});else{let t=mE(n,pE(n));e.root=e.ctx.$.node(`unit`,{meta:n,unit:t})}},vE={"'":1,'"':1},yE={"/":1,"'":1,'"':1},bE={"d'":`'`,'d"':`"`,"'":`'`,'"':`"`},xE={"/":`/`,"x/":`/`},SE={...bE,...xE},CE={"'":e=>e.lookahead===`'`,'"':e=>e.lookahead===`"`,"/":e=>e.lookahead===`/`},wE={'"':`double-quote`,"'":`single-quote`,"/":`forward slash`},TE=(e,t)=>`${t}${e} requires a closing ${wE[SE[t]]}`,EE=e=>`Private type references should not include '#'. Use '${e}' instead.`,DE=`Optional definitions like 'string?' are only valid as properties in an object or tuple`,OE=`Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple`,kE={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...Yb},AE=(e,t)=>e===`>`?t[0]===`=`?t[1]===`=`:t.trimStart()===``||cb(t.trimStart()[0],kE):e===`=`?t[0]!==`=`:e===`,`||e===`?`,jE=(e,t,n)=>ME(e,t,n,[]),ME=(e,t,n,r)=>{let i=n.parseUntilFinalizer();return r.push(i.root),i.finalizer===`>`?r.length===t.params.length?r:n.error(NE(e,t.names,r.map(e=>e.expression))):i.finalizer===`,`?ME(e,t,n,r):i.error(Vx(`>`))},NE=(e,t,n)=>`${e}<${t.join(`, `)}> requires exactly ${t.length} args (got ${n.length}${n.length===0?``:`: ${n.join(`, `)}`})`,PE=e=>{let t=e.scanner.shiftUntilLookahead(kE);t===`keyof`?e.addPrefix(`keyof`):e.root=IE(e,t)},FE=(e,t,n)=>(n.scanner.shiftUntilNonWhitespace(),n.scanner.shift()===`<`?t(...jE(e,t,n)):n.error(NE(e,t.names,[]))),IE=(e,t)=>LE(e,t)??RE(e,t)??e.error(t===``?e.scanner.lookahead===`#`?EE(e.shiftedBy(1).scanner.shiftUntilLookahead(kE)):zE(e):QT(t)),LE=(e,t)=>{if(e.ctx.args?.[t]){let n=e.ctx.args[t];return typeof n==`string`?e.ctx.$.node(`alias`,{reference:n},{prereduced:!0}):n}let n=e.ctx.$.maybeResolve(t);if(tS(n,`root`))return n;if(n!==void 0)return tS(n,`generic`)?FE(t,n,e):K(`Unexpected resolution ${Ox(n)}`)},RE=(e,t)=>{let n=gx(t);if(n!==void 0)return e.ctx.$.node(`unit`,{unit:n});let r=yx(t);if(r!==void 0)return e.ctx.$.node(`unit`,{unit:r})},zE=e=>{let t=e.previousOperator();return t?BE(t,e.scanner.unscanned):VE(e.scanner.unscanned)},BE=(e,t=``)=>`Token '${e}' requires a right operand${t?` before '${t}'`:``}`,VE=e=>`Expected an expression${e?` before '${e}'`:``}`,HE=e=>e.scanner.lookahead===``?e.error(zE(e)):e.scanner.lookahead===`(`?e.shiftedBy(1).reduceGroupOpen():e.scanner.lookaheadIsIn(yE)?_E(e,e.scanner.shift()):e.scanner.lookaheadIsIn(Yb)?HE(e.shiftedBy(1)):e.scanner.lookahead===`d`?e.scanner.nextLookahead in vE?_E(e,`${e.scanner.shift()}${e.scanner.shift()}`):PE(e):e.scanner.lookahead===`x`&&e.scanner.nextLookahead===`/`?e.shiftedBy(2)&&_E(e,`x/`):PE(e),UE={">":!0,">=":!0},WE={"<":!0,"<=":!0},GE={"<":`>`,">":`<`,"<=":`>=`,">=":`<=`,"==":`==`},KE=(e,t)=>`Left bounds are only valid when paired with right bounds (try ...${t}${e})`,qE=e=>`Left-bounded expressions must specify their limits using < or <= (was ${e})`,JE=(e,t,n,r)=>`An expression may have at most one left bound (parsed ${e}${GE[t]}, ${n}${GE[r]})`,YE=(e,t)=>{let n=ZE(e,t);if(e.root.hasKind(`unit`)){if(typeof e.root.unit==`number`){e.reduceLeftBound(e.root.unit,n),e.unsetRoot();return}if(e.root.unit instanceof Date){let t=`d'${e.root.description??e.root.unit.toISOString()}'`;e.unsetRoot(),e.reduceLeftBound(t,n);return}}return eD(e,n)},XE={"<":1,">":1,"=":1},ZE=(e,t)=>e.scanner.lookaheadIs(`=`)?`${t}${e.scanner.shift()}`:t,QE=(e,t,n,r)=>n.extends(q.intrinsic.number)?typeof t==`number`?e===`==`?[`min`,`max`]:e[0]===`>`?[`min`]:[`max`]:K(tD(e,t,r)):n.extends(q.intrinsic.lengthBoundable)?typeof t==`number`?e===`==`?[`exactLength`]:e[0]===`>`?[`minLength`]:[`maxLength`]:K(tD(e,t,r)):n.extends(q.intrinsic.Date)?e===`==`?[`after`,`before`]:e[0]===`>`?[`after`]:[`before`]:K(OC(n.expression)),$E=e=>({rule:uE(e.limit)?fE(e.limit):e.limit,exclusive:e.comparator.length===1}),eD=(e,t)=>{let n=e.unsetRoot(),r=e.scanner.location;e.parseOperand();let i=e.unsetRoot(),a=e.scanner.sliceChars(r,e.scanner.location);if(e.root=n,!i.hasKind(`unit`)||typeof i.unit!=`number`&&!(i.unit instanceof Date))return e.error(tD(t,a,`right`));let o=i.unit,s=t.length===1,c=QE(t,typeof o==`number`?o:a,n,`right`);for(let n of c)e.constrainRoot(n,t===`==`?{rule:o}:{rule:o,exclusive:s});if(!e.branches.leftBound)return;if(!cb(t,WE))return e.error(qE(t));let l=QE(e.branches.leftBound.comparator,e.branches.leftBound.limit,n,`left`);e.constrainRoot(l[0],$E(e.branches.leftBound)),e.branches.leftBound=null},tD=(e,t,n)=>`Comparator ${n===`left`?GE[e]:e} must be ${n===`left`?`preceded`:`followed`} by a corresponding literal (was ${t})`,nD=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(kE);e.root=e.root.brand(t)},rD=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(kE),n=_x(t,{errorOnFail:iD(t)});n===0&&e.error(iD(0)),e.root=e.root.constrain(`divisor`,n)},iD=e=>`% operator must be followed by a non-zero integer literal (was ${e})`,aD=e=>{let t=e.scanner.shift();return t===``?e.finalize(``):t===`[`?e.scanner.shift()===`]`?e.setRoot(e.root.array()):e.error(sD):t===`|`?e.scanner.lookahead===`>`?e.shiftedBy(1).pushRootToBranch(`|>`):e.pushRootToBranch(t):t===`&`?e.pushRootToBranch(t):t===`)`?e.finalizeGroup():AE(t,e.scanner.unscanned)?e.finalize(t):cb(t,XE)?YE(e,t):t===`%`?rD(e):t===`#`?nD(e):t in Yb?aD(e):e.error(oD(t))},oD=(e,t=``)=>`'${e}' is not allowed here${t&&` (should be ${t})`}`,sD=`Missing expected ']'`,cD=e=>{let t=e.unsetRoot();e.parseOperand();let n=e.unsetRoot();return n.hasKind(`unit`)?[t,`=`,n.unit instanceof Date?()=>new Date(n.unit):n.unit]:e.error(lD(n.expression))},lD=e=>`Default value '${e}' must be a literal value`,uD=(e,t)=>{let n=t.$.maybeResolveRoot(e);if(n)return n;if(e.endsWith(`[]`)){let n=t.$.maybeResolveRoot(e.slice(0,-2));if(n)return n.array()}let r=new mD(new zx(e),t),i=dD(r);return r.finalizer===`>`&&K(oD(`>`)),i},dD=e=>{e.parseOperand();let t=fD(e).root;return t?(e.finalizer===`=`?t=cD(e):e.finalizer===`?`&&(t=[t,`?`]),e.scanner.shiftUntilNonWhitespace(),e.scanner.lookahead&&K(oD(e.scanner.lookahead)),t):nb(`Root was unexpectedly unset after parsing string '${e.scanner.scanned}'`)},fD=e=>{for(;e.finalizer===void 0;)pD(e);return e},pD=e=>e.hasRoot()?e.parseOperator():e.parseOperand(),mD=class e{root;branches={prefixes:[],leftBound:null,intersection:null,union:null,pipe:null};finalizer;groups=[];scanner;ctx;constructor(e,t){this.scanner=e,this.ctx=t}error(e){return K(e)}hasRoot(){return this.root!==void 0}setRoot(e){this.root=e}unsetRoot(){let e=this.root;return this.root=void 0,e}constrainRoot(...e){this.root=this.root.constrain(e[0],e[1])}finalize(e){if(this.groups.length)return this.error(Vx(`)`));this.finalizeBranches(),this.finalizer=e}reduceLeftBound(e,t){let n=GE[t];if(!cb(n,UE))return this.error(qE(t));if(this.branches.leftBound)return this.error(JE(this.branches.leftBound.limit,this.branches.leftBound.comparator,e,n));this.branches.leftBound={comparator:n,limit:e}}finalizeBranches(){if(this.assertRangeUnset(),this.branches.pipe){this.pushRootToBranch(`|>`),this.root=this.branches.pipe;return}if(this.branches.union){this.pushRootToBranch(`|`),this.root=this.branches.union;return}if(this.branches.intersection){this.pushRootToBranch(`&`),this.root=this.branches.intersection;return}this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let e=this.groups.pop();if(!e)return this.error(Bx(`)`,this.scanner.unscanned));this.branches=e}addPrefix(e){this.branches.prefixes.push(e)}applyPrefixes(){for(;this.branches.prefixes.length;){let e=this.branches.prefixes.pop();this.root=e===`keyof`?this.root.keyof():nb(`Unexpected prefix '${e}'`)}}pushRootToBranch(e){this.assertRangeUnset(),this.applyPrefixes();let t=this.root;this.root=void 0,this.branches.intersection=this.branches.intersection?.rawAnd(t)??t,e!==`&`&&(this.branches.union=this.branches.union?.rawOr(this.branches.intersection)??this.branches.intersection,this.branches.intersection=null,e!==`|`&&(this.branches.pipe=this.branches.pipe?.rawPipeOnce(this.branches.union)??this.branches.union,this.branches.union=null))}parseUntilFinalizer(){return fD(new e(this.scanner,this.ctx))}parseOperator(){return aD(this)}parseOperand(){return HE(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(KE(this.branches.leftBound.limit,this.branches.leftBound.comparator))}reduceGroupOpen(){this.groups.push(this.branches),this.branches={prefixes:[],leftBound:null,union:null,intersection:null,pipe:null}}previousOperator(){return this.branches.leftBound?.comparator??this.branches.prefixes[this.branches.prefixes.length-1]??(this.branches.intersection?`&`:this.branches.union?`|`:this.branches.pipe?`|>`:void 0)}shiftedBy(e){return this.scanner.jumpForward(e),this}},hD=`An empty string is not a valid generic parameter name`,gD=(e,t,n)=>{e.shiftUntilNonWhitespace();let r=e.shiftUntilLookahead(kE);return r===``?e.lookahead===``&&t.length?t:K(hD):(e.shiftUntilNonWhitespace(),vD(e,r,t,n))},_D=`extends `,vD=(e,t,n,r)=>{if(e.shiftUntilNonWhitespace(),e.unscanned.startsWith(_D))e.jumpForward(8);else return e.lookahead===`,`&&e.shift(),n.push(t),gD(e,n,r);let i=fD(new mD(e,r));return n.push([t,i.root]),gD(e,n,r)},yD=class extends Bb{constructor(e){let t=(...t)=>{let n=t.indexOf(`:`),r=n===-1?t.length-1:n-1,i=t.slice(0,r+1),a=e.parse(i).assertHasKind(`intersection`),o=e.intrinsic.unknown;if(n!==-1){if(n!==t.length-2)return K(xD);o=e.parse(t[n+1])}return e=>new bD(e,a,o)};super(t,{attach:{$:e,raw:t}})}},bD=class extends Bb{raw;params;returns;expression;constructor(e,t,n){let r=`typed ${e.name}`,i={[r]:(...r)=>{let i=e(...t.assert(r));return n.assert(i)}}[r];super(i),this.raw=e,this.params=t,this.returns=n;let a=t.expression;a[0]===`[`&&a[a.length-1]===`]`?a=a.slice(1,-1):a.endsWith(`[]`)&&(a=`...${a}`),this.expression=`(${a}) => ${n?.expression??`unknown`}`}},xD=`":" must be followed by exactly one return type e.g:
39
- fn("string", ":", "number")(s => s.length)`,SD=class extends Bb{$;constructor(e){super((...t)=>new CD(e)(...t),{bind:e}),this.$=e}in(e){return new CD(this.$,e===void 0?void 0:this.$.parse(e))}at(e,t){return new CD(this.$).at(e,t)}case(e,t){return new CD(this.$).case(e,t)}},CD=class extends Bb{$;in;key;branches=[];constructor(e,t){super(e=>this.caseEntries(Object.entries(e).map(([e,t])=>e==="default"?[e,t]:[this.$.parse(e),t]))),this.$=e,this.in=t}at(e,t){return this.key&&K(ED),this.branches.length&&K(TD),this.key=e,t?this.match(t):this}case(e,t){return this.caseEntry(this.$.parse(e),t)}caseEntry(e,t){let n=(this.key?this.$.parse({[this.key]:e}):e).pipe(t);return this.branches.push(n),this}match(e){return this(e)}strings(e){return this.caseEntries(Object.entries(e).map(([e,t])=>e==="default"?[e,t]:[this.$.node(`unit`,{unit:e}),t]))}caseEntries(e){for(let t=0;t<e.length;t++){let[n,r]=e[t];if(n==="default")return t!==e.length-1&&K(`default may only be specified as the last key of a switch definition`),this.default(r);if(typeof r!=`function`)return K(`Value for case "${n}" must be a function (was ${Qy(r)})`);this.caseEntry(n,r)}return this}default(e){typeof e==`function`&&this.case(cE.unknown,e);let t={branches:this.branches,ordered:!0};(e===`never`||e===`assert`)&&(t.meta={onFail:wD});let n=this.$.node(`union`,t);if(!this.in)return this.$.finalize(n);let r=this.in.pipe(n);return(e===`never`||e===`assert`)&&(r=r.configureReferences({onFail:wD},`self`)),this.$.finalize(r)}},wD=e=>e.throw(),TD=`A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')`,ED=`At most one key matcher may be specified per expression`,DD=(e,t)=>{if(Ob(e)){if(e[1]===`=`)return[t.$.parseOwnDefinitionFormat(e[0],t),`=`,e[2]];if(e[1]===`?`)return[t.$.parseOwnDefinitionFormat(e[0],t),`?`]}return uO(e,t)},OD=`Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`,kD=`Only required keys may specify default values, e.g. { value: 'number = 0' }`,AD=(e,t)=>{let n,r={},i=gb(e);for(let[e,a]of i){let i=PD(e);if(i.kind===`spread`){if(!hb(r))return K(ND);let e=t.$.parseOwnDefinitionFormat(a,t);if(e.equals(cE.object))continue;if(!e.hasKind(`intersection`)||!e.basis?.equals(cE.object))return K(FD(e.expression));n=e.structure;continue}if(i.kind===`undeclared`){a!==`reject`&&a!==`delete`&&a!==`ignore`&&K(MD(a)),r.undeclared=a;continue}let o=DD(a,t),s=i;if(i.kind===`required`){Ob(o)?jD(r,`optional`,o[1]===`=`?{key:i.normalized,value:o[0],default:o[2]}:{key:i.normalized,value:o[0]},t):jD(r,`required`,{key:i.normalized,value:o},t);continue}if(Ob(o)&&(o[1]===`?`&&K(OD),o[1]===`=`&&K(kD)),i.kind===`optional`){jD(r,`optional`,{key:i.normalized,value:o},t);continue}let c=DT(t.$.parseOwnDefinitionFormat(s.normalized,t),o,t.$);c.index&&(r.index=Gy(r.index,c.index)),c.required&&(r.required=Gy(r.required,c.required))}let a=t.$.node(`structure`,r);return t.$.parseSchema({domain:`object`,structure:n?.merge(a)??a})},jD=(e,t,n,r)=>{e[t]=Gy(e[t],r.$.node(t,n))},MD=e=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${Ox(e)})`,ND=`Spread operator may only be used as the first key in an object`,PD=e=>typeof e==`symbol`?{kind:`required`,normalized:e}:e[e.length-1]===`?`?e[e.length-2]===`\\`?{kind:`required`,normalized:`${e.slice(0,-2)}?`}:{kind:`optional`,normalized:e.slice(0,-1)}:e[0]===`[`&&e[e.length-1]===`]`?{kind:`index`,normalized:e.slice(1,-1)}:e[0]===`\\`&&e[1]===`[`&&e[e.length-1]===`]`?{kind:`required`,normalized:e.slice(1)}:e===`...`?{kind:`spread`}:e===`+`?{kind:`undeclared`}:{kind:`required`,normalized:e===`\\...`?`...`:e===`\\+`?`+`:e},FD=e=>`Spread operand must resolve to an object literal type (was ${e})`,ID=(e,t)=>XD(e)?YD[e[0]](e,t):JD(e)?qD[e[1]](e,t):null,LD=(e,t)=>t.$.parseOwnDefinitionFormat(e[1],t).keyof(),RD=(e,t)=>{if(e[2]===void 0)return K(BE(e[1],``));let n=t.$.parseOwnDefinitionFormat(e[0],t),r=t.$.parseOwnDefinitionFormat(e[2],t);if(e[1]===`|`)return t.$.node(`union`,{branches:[n,r]});let i=e[1]===`&`?qS(n,r,t.$):JS(n,r,t.$);return i instanceof HS?i.throw():i},zD=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).array(),BD=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).pipe(e[2]):K(VD(`=>`,e[2])),VD=(e,t)=>`${e===`:`?`Narrow`:`Morph`} expression requires a function following '${e}' (was ${typeof t})`,HD=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).constrain(`predicate`,e[2]):K(VD(`:`,e[2])),UD=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).configure(e[2],e[3]),WD=e=>e,GD=WD({"[]":zD,"?":()=>K(DE)}),KD=WD({"|":RD,"&":RD,":":HD,"=>":BD,"|>":RD,"@":UD,"=":()=>K(OE)}),qD={...GD,...KD},JD=e=>qD[e[1]]!==void 0,YD=(e=>e)({keyof:LD,instanceof:(e,t)=>{if(typeof e[1]!=`function`)return K(ZD(Db(e[1])));let n=e.slice(1).map(e=>typeof e==`function`?t.$.node(`proto`,{proto:e}):K(ZD(Db(e))));return n.length===1?n[0]:t.$.node(`union`,{branches:n})},"===":(e,t)=>t.$.units(e.slice(1))}),XD=e=>YD[e[0]]!==void 0,ZD=e=>`Expected a constructor following 'instanceof' operator (was ${e})`,QD=(e,t)=>{let n=[{}],r=0;for(;r<e.length;){let i=!1;e[r]===`...`&&r<e.length-1&&(i=!0,r++);let a=DD(e[r],t),[o,s,c]=Ob(a)?a:[a];if(r++,i){if(!o.extends(q.intrinsic.Array))return K(iO(o.expression));n=n.flatMap(e=>o.distribute(t=>rO($x(e),t)))}else n=n.map(e=>s===`?`?eO(e,o):s===`=`?tO(e,o,c):$D(e,o))}return t.$.parseSchema(n.map(e=>hb(e)?{proto:Array,exactLength:0}:{proto:Array,sequence:e}))},$D=(e,t)=>e.defaultables||e.optionals?K(e.variadic?uT:oO):(e.variadic?e.postfix=Gy(e.postfix,t):e.prefix=Gy(e.prefix,t),e),eO=(e,t)=>e.variadic?K(sO):(e.optionals=Gy(e.optionals,t),e),tO=(e,t,n)=>e.variadic?K(sO):e.optionals?K(cO):(e.defaultables=Gy(e.defaultables,[[t,n]]),e),nO=(e,t)=>(e.postfix&&K(aO),e.variadic?e.variadic.equals(t)||K(aO):e.variadic=t.internal,e),rO=(e,t)=>{let n=t.select({method:`find`,kind:`sequence`});if(!n)return nO(e,q.intrinsic.unknown);if(n.prefix)for(let t of n.prefix)$D(e,t);if(n.optionals)for(let t of n.optionals)eO(e,t);if(n.variadic&&nO(e,n.variadic),n.postfix)for(let t of n.postfix)$D(e,t);return e},iO=e=>`Spread element must be an array (was ${e})`,aO=`A tuple may have at most one variadic element`,oO=`A required element may not follow an optional element`,sO=`An optional element may not follow a variadic element`,cO=`A defaultable element may not follow an optional element without a default`,lO={},uO=(e,t)=>{if(typeof e==`string`){if(t.args&&Object.keys(t.args).some(t=>e.includes(t)))return uD(e,t);let n=lO[t.$.name]??={};return n[e]??=uD(e,t)}return Zy(e,`object`)?dO(e,t):K(mO(Qy(e)))},dO=(e,t)=>{let n=Eb(e);switch(n){case void 0:return tS(e,`root`)?e:`~standard`in e?fO(e,t):AD(e,t);case`Array`:return pO(e,t);case`RegExp`:return t.$.node(`intersection`,{domain:`string`,pattern:e},{prereduced:!0});case`Function`:{let t=Rb(e)?e():e;return tS(t,`root`)?t:K(mO(`Function`))}default:return K(mO(n??Ox(e)))}},fO=(e,t)=>t.$.intrinsic.unknown.pipe((t,n)=>{let r=e[`~standard`].validate(t);if(!r.issues)return r.value;for(let{message:e,path:t}of r.issues)t&&t.length?n.error({problem:Gb(e),relativePath:t.map(e=>typeof e==`object`?e.key:e)}):n.error({message:e})}),pO=(e,t)=>ID(e,t)??QD(e,t),mO=e=>`Type definitions must be strings or objects (was ${e})`,hO=class extends Bb{constructor(e){let t=Object.assign({errors:DS,hkt:Hb,$:e,raw:e.parse,module:e.constructor.module,scope:e.constructor.scope,declare:e.declare,define:e.define,match:e.match,generic:e.generic,schema:e.schema,keywords:e.ambient,unit:e.unit,enumerated:e.enumerated,instanceOf:e.instanceOf,valueOf:e.valueOf,or:e.or,and:e.and,merge:e.merge,pipe:e.pipe,fn:e.fn},e.ambientAttachments);super((...t)=>{if(t.length===1)return e.parse(t[0]);if(t.length===2&&typeof t[0]==`string`&&t[0][0]===`<`&&t[0][t[0].length-1]===`>`){let n=t[0].slice(1,-1);return new uC(e.parseGenericParams(n,{}),t[1],e,e,null)}return e.parse(t)},{attach:t})}},gO=q,_O=class e extends WT{get ambientAttachments(){if(gO.typeAttachments)return this.cacheGetter(`ambientAttachments`,ob(gO.typeAttachments,(e,t)=>[e,this.bindReference(t)]))}preparseOwnAliasEntry(e,t){let n=e.indexOf(`<`);if(n===-1){if(tS(t,`module`)||tS(t,`generic`))return[e,t];let n=this.name===`ark`?e:e===`root`?this.name:`${this.name}.${e}`,r=this.resolvedConfig.keywords?.[n];return r&&(t=[t,`@`,r]),[e,t]}e[e.length-1]!==`>`&&K(`'>' must be the last character of a generic declaration in a scope`);let r=e.slice(0,n),i=e.slice(n+1,-1);return[r,()=>cC(this.parseGenericParams(i,{alias:r}),t,this)]}parseGenericParams(e,t){return gD(new zx(e),[],this.createParseContext({...t,def:e,prefix:`generic`}))}normalizeRootScopeValue(e){return Rb(e)&&!tS(e,`generic`)?e():e}preparseOwnDefinitionFormat(e,t){return{...t,def:e,prefix:t.alias??`type`}}parseOwnDefinitionFormat(e,t){!(t.alias&&t.alias in this.aliases)&&!t.args&&(t.args={this:t.id});let n=uO(e,t);if(Ob(n)){if(n[1]===`=`)return K(OE);if(n[1]===`?`)return K(DE)}return n}unit=e=>this.units([e]);valueOf=e=>this.units(bb(e));enumerated=(...e)=>this.units(e);instanceOf=e=>this.node(`proto`,{proto:e},{prereduced:!0});or=(...e)=>this.schema(e.map(e=>this.parse(e)));and=(...e)=>e.reduce((e,t)=>e.and(this.parse(t)),this.intrinsic.unknown);merge=(...e)=>e.reduce((e,t)=>e.merge(this.parse(t)),this.intrinsic.object);pipe=(...e)=>this.intrinsic.unknown.pipe(...e);fn=new yD(this);match=new SD(this);declare=()=>({type:this.type});define(e){return e}type=new hO(this);static scope=((t,n={})=>new e(t,n));static module=((e,t={})=>this.scope(e,t).export())},vO=Object.assign(_O.scope,{define:e=>e}),yO=_O,bO=class extends Hb{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'},xO=rE([`base`,cE.object],[`props`,cE.object])(e=>e.base.merge(e.props),bO),SO=yO.module({Key:cE.key,Merge:xO}),CO=class extends Hb{},wO=rE(`element`)(e=>{let t=e.element.exclude(cE.Array),n=t.array();return t.rawOr(n).pipe(By).distribute(e=>e.assertHasKind(`morph`).declareOut(n),tE)},CO),TO=yO.module({root:cE.Array,readonly:`root`,index:cE.nonNegativeIntegerString,liftFrom:wO},{name:`Array`}),EO=tE([`string`,bx.FileConstructor]),DO=tE({meta:`an object representing parsed form data`,domain:`object`,index:{signature:`string`,value:EO.rawOr(EO.array())}}),OO=yO.module({root:[`instanceof`,FormData],value:EO,parsed:DO,parse:tE({in:FormData,morphs:e=>{let t={};for(let[n,r]of e)if(n in t){let e=t[n];typeof e==`string`||e instanceof bx.FileConstructor?t[n]=[e,r]:e.push(r)}else t[n]=r;return t},declaredOut:DO})},{name:`FormData`}),kO=yO.module({Int8:[`instanceof`,Int8Array],Uint8:[`instanceof`,Uint8Array],Uint8Clamped:[`instanceof`,Uint8ClampedArray],Int16:[`instanceof`,Int16Array],Uint16:[`instanceof`,Uint16Array],Int32:[`instanceof`,Int32Array],Uint32:[`instanceof`,Uint32Array],Float32:[`instanceof`,Float32Array],Float64:[`instanceof`,Float64Array],BigInt64:[`instanceof`,BigInt64Array],BigUint64:[`instanceof`,BigUint64Array]},{name:`TypedArray`}),AO={Boolean:1,Number:1,String:1},jO=yO.module({...ob({...xb,...Cb},(e,t)=>e in AO?[]:[e,[`instanceof`,t]]),Array:TO,TypedArray:kO,FormData:OO}),MO=tE({domain:{domain:`number`,meta:`a number representing a Unix timestamp`},divisor:{rule:1,meta:`an integer representing a Unix timestamp`},min:{rule:-864e13,meta:`a Unix timestamp after -8640000000000000`},max:{rule:864e13,meta:`a Unix timestamp before 8640000000000000`},meta:`an integer representing a safe Unix timestamp`}),NO=tE({domain:`number`,divisor:1}),PO=yO.module({root:cE.number,integer:NO,epoch:MO,safe:tE({domain:{domain:`number`,numberAllowsNaN:!1},min:-(2**53-1),max:2**53-1}),NaN:[`===`,NaN],Infinity:[`===`,1/0],NegativeInfinity:[`===`,-1/0]},{name:`number`}),FO=(e,t,n)=>{let r={domain:`string`,pattern:{rule:e.source,flags:e.flags,meta:t}};return n&&(r.meta={format:n}),nE(`intersection`,r)},IO=FO(ox,`a well-formed integer string`),LO=yO.module({root:IO,parse:tE({in:IO,morphs:(e,t)=>{let n=Number.parseInt(e);return Number.isSafeInteger(n)?n:t.error(`an integer in the range Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER`)},declaredOut:cE.integer})},{name:`string.integer`}),RO=FO(/^[\dA-Fa-f]+$/,`hex characters only`),zO=yO.module({root:FO(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,`base64-encoded`),url:FO(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,`base64url-encoded`)},{name:`string.base64`}),BO=FO(/^[A-Z].*$/,`capitalized`),VO=yO.module({root:tE({in:`string`,morphs:e=>e.charAt(0).toUpperCase()+e.slice(1),declaredOut:BO}),preformatted:BO},{name:`string.capitalize`}),HO=tE({domain:`string`,pattern:{meta:`a credit card number`,rule:`^(?:4\\d{12}(?:\\d{3,6})?|5[1-5]\\d{14}|(222[1-9]|22[3-9]\\d|2[3-6]\\d{2}|27[01]\\d|2720)\\d{12}|6(?:011|5\\d\\d)\\d{12,15}|3[47]\\d{13}|3(?:0[0-5]|[68]\\d)\\d{11}|(?:2131|1800|35\\d{3})\\d{11}|6[27]\\d{14}|^(81\\d{14,17}))$`},predicate:{meta:`a credit card number`,predicate:e=>{let t=e.replace(/[ -]+/g,``),n=0,r,i,a=!1;for(let e=t.length-1;e>=0;e--)r=t.substring(e,e+1),i=Number.parseInt(r,10),a?(i*=2,n+=i>=10?i%10+1:i):n+=i,a=!a;return!!(n%10==0&&t)}}}),UO=/^([+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-3])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))(T((([01]\d|2[0-3])((:?)[0-5]\d)?|24:?00)([,.]\d+(?!:))?)?(\17[0-5]\d([,.]\d+)?)?([Zz]|([+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,WO=tE({domain:`string`,predicate:{meta:`a parsable date`,predicate:e=>!Number.isNaN(new Date(e).valueOf())}}).assertHasKind(`intersection`),GO=LO.root.internal.narrow((e,t)=>{let n=Number.parseInt(e),r=PO.epoch(n);return r instanceof DS?(t.errors.merge(r),!1):!0}).configure({description:`an integer string representing a safe Unix timestamp`},`self`).assertHasKind(`intersection`),KO=yO.module({root:GO,parse:tE({in:GO,morphs:e=>new Date(e),declaredOut:cE.Date})},{name:`string.date.epoch`}),qO=FO(UO,`an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date`).internal.assertHasKind(`intersection`),JO=yO.module({root:qO,parse:tE({in:qO,morphs:e=>new Date(e),declaredOut:cE.Date})},{name:`string.date.iso`}),YO=yO.module({root:WO,parse:tE({declaredIn:WO,in:`string`,morphs:(e,t)=>{let n=new Date(e);return Number.isNaN(n.valueOf())?t.error(`a parsable date`):n},declaredOut:cE.Date}),iso:JO,epoch:KO},{name:`string.date`}),XO=FO(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,`an email address`,`email`),ZO=`(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,QO=`(${ZO}[.]){3}${ZO}`,$O=RegExp(`^${QO}$`),ek=`(?:[0-9a-fA-F]{1,4})`,tk=RegExp(`^((?:${ek}:){7}(?:${ek}|:)|(?:${ek}:){6}(?:${QO}|:${ek}|:)|(?:${ek}:){5}(?::${QO}|(:${ek}){1,2}|:)|(?:${ek}:){4}(?:(:${ek}){0,1}:${QO}|(:${ek}){1,3}|:)|(?:${ek}:){3}(?:(:${ek}){0,2}:${QO}|(:${ek}){1,4}|:)|(?:${ek}:){2}(?:(:${ek}){0,3}:${QO}|(:${ek}){1,5}|:)|(?:${ek}:){1}(?:(:${ek}){0,4}:${QO}|(:${ek}){1,6}|:)|(?::((?::${ek}){0,5}:${QO}|(?::${ek}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?\$`),nk=yO.module({root:[`v4 | v6`,`@`,`an IP address`],v4:FO($O,`an IPv4 address`,`ipv4`),v6:FO(tk,`an IPv6 address`,`ipv6`)},{name:`string.ip`}),rk=`a JSON string`,ik=e=>{if(!(e instanceof SyntaxError))throw e;return`must be ${rk} (${e})`},ak=tE({meta:rk,domain:`string`,predicate:{meta:rk,predicate:(e,t)=>{try{return JSON.parse(e),!0}catch(e){return t.reject({code:`predicate`,expected:rk,problem:ik(e)})}}}}),ok=yO.module({root:ak,parse:tE({meta:`safe JSON string parser`,in:`string`,morphs:(e,t)=>{if(e.length===0)return t.error({code:`predicate`,expected:rk,actual:`empty`});try{return JSON.parse(e)}catch(e){return t.error({code:`predicate`,expected:rk,problem:ik(e)})}},declaredOut:cE.jsonObject})},{name:`string.json`}),sk=FO(/^[a-z]*$/,`only lowercase letters`),ck=yO.module({root:tE({in:`string`,morphs:e=>e.toLowerCase(),declaredOut:sk}),preformatted:sk},{name:`string.lower`}),lk=[`NFC`,`NFD`,`NFKC`,`NFKD`],uk=ob(lk,(e,t)=>[t,tE({domain:`string`,predicate:e=>e.normalize(t)===e,meta:`${t}-normalized unicode`})]),dk=ob(lk,(e,t)=>[t,tE({in:`string`,morphs:e=>e.normalize(t),declaredOut:uk[t]})]),fk=yO.module({root:dk.NFC,preformatted:uk.NFC},{name:`string.normalize.NFC`}),pk=yO.module({root:dk.NFD,preformatted:uk.NFD},{name:`string.normalize.NFD`}),mk=yO.module({root:dk.NFKC,preformatted:uk.NFKC},{name:`string.normalize.NFKC`}),hk=yO.module({root:dk.NFKD,preformatted:uk.NFKD},{name:`string.normalize.NFKD`}),gk=yO.module({root:`NFC`,NFC:fk,NFD:pk,NFKC:mk,NFKD:hk},{name:`string.normalize`}),_k=FO(rx,`a well-formed numeric string`),vk=yO.module({root:_k,parse:tE({in:_k,morphs:e=>Number.parseFloat(e),declaredOut:cE.number})},{name:`string.numeric`}),yk=`a regex pattern`,bk=tE({domain:`string`,predicate:{meta:yk,predicate:(e,t)=>{try{return new RegExp(e),!0}catch(e){return t.reject({code:`predicate`,expected:yk,problem:String(e)})}}},meta:{format:`regex`}}),xk=FO(/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*)(?:\.(?:0|[1-9]\d*|\d*[A-Za-z-][\dA-Za-z-]*))*))?(?:\+([\dA-Za-z-]+(?:\.[\dA-Za-z-]+)*))?$/,`a semantic version (see https://semver.org/)`),Sk=FO(/^\S.*\S$|^\S?$/,`trimmed`),Ck=yO.module({root:tE({in:`string`,morphs:e=>e.trim(),declaredOut:Sk}),preformatted:Sk},{name:`string.trim`}),wk=FO(/^[A-Z]*$/,`only uppercase letters`),Tk=yO.module({root:tE({in:`string`,morphs:e=>e.toUpperCase(),declaredOut:wk}),preformatted:wk},{name:`string.upper`}),Ek=tE({domain:`string`,predicate:{meta:`a URL string`,predicate:e=>URL.canParse(e)},meta:{format:`uri`}}),Dk=yO.module({root:Ek,parse:tE({declaredIn:Ek,in:`string`,morphs:(e,t)=>{try{return new URL(e)}catch{return t.error(`a URL string`)}},declaredOut:tE(URL)})},{name:`string.url`}),Ok=yO.module({root:[`versioned | nil | max`,`@`,{description:`a UUID`,format:`uuid`}],"#nil":`'00000000-0000-0000-0000-000000000000'`,"#max":`'ffffffff-ffff-ffff-ffff-ffffffffffff'`,"#versioned":/^[\da-f]{8}-[\da-f]{4}-[1-8][\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,v1:FO(/^[\da-f]{8}-[\da-f]{4}-1[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv1`),v2:FO(/^[\da-f]{8}-[\da-f]{4}-2[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv2`),v3:FO(/^[\da-f]{8}-[\da-f]{4}-3[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv3`),v4:FO(/^[\da-f]{8}-[\da-f]{4}-4[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv4`),v5:FO(/^[\da-f]{8}-[\da-f]{4}-5[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv5`),v6:FO(/^[\da-f]{8}-[\da-f]{4}-6[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv6`),v7:FO(/^[\da-f]{8}-[\da-f]{4}-7[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv7`),v8:FO(/^[\da-f]{8}-[\da-f]{4}-8[\da-f]{3}-[89ab][\da-f]{3}-[\da-f]{12}$/i,`a UUIDv8`)},{name:`string.uuid`}),kk=yO.module({root:cE.string,alpha:FO(/^[A-Za-z]*$/,`only letters`),alphanumeric:FO(/^[\dA-Za-z]*$/,`only letters and digits 0-9`),hex:RO,base64:zO,capitalize:VO,creditCard:HO,date:YO,digits:FO(/^\d*$/,`only digits 0-9`),email:XO,integer:LO,ip:nk,json:ok,lower:ck,normalize:gk,numeric:vk,regex:bk,semver:xk,trim:Ck,upper:Tk,url:Dk,uuid:Ok},{name:`string`}),Ak=yO.module({bigint:cE.bigint,boolean:cE.boolean,false:cE.false,never:cE.never,null:cE.null,number:cE.number,object:cE.object,string:cE.string,symbol:cE.symbol,true:cE.true,unknown:cE.unknown,undefined:cE.undefined}),jk=yO.module({root:cE.unknown,any:cE.unknown},{name:`unknown`}),Mk=yO.module({root:cE.jsonObject,stringify:nE(`morph`,{in:cE.jsonObject,morphs:e=>JSON.stringify(e),declaredOut:cE.string})},{name:`object.json`}),Nk=yO.module({root:cE.object,json:Mk},{name:`object`}),Pk=class extends Hb{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'},Fk=rE([`K`,cE.key],`V`)(e=>({domain:`object`,index:{signature:e.K,value:e.V}}),Pk),Ik=class extends Hb{description='pick a set of properties from an object like `Pick(User, "name | age")`'},Lk=rE([`T`,cE.object],[`K`,cE.key])(e=>e.T.pick(e.K),Ik),Rk=class extends Hb{description='omit a set of properties from an object like `Omit(User, "age")`'},zk=rE([`T`,cE.object],[`K`,cE.key])(e=>e.T.omit(e.K),Rk),Bk=class extends Hb{description="make all named properties of an object optional like `Partial(User)`"},Vk=rE([`T`,cE.object])(e=>e.T.partial(),Bk),Hk=class extends Hb{description="make all named properties of an object required like `Required(User)`"},Uk=rE([`T`,cE.object])(e=>e.T.required(),Hk),Wk=class extends Hb{description='exclude branches of a union like `Exclude("boolean", "true")`'},Gk=rE(`T`,`U`)(e=>e.T.exclude(e.U),Wk),Kk=class extends Hb{description='extract branches of a union like `Extract("0 | false | 1", "number")`'},qk=rE(`T`,`U`)(e=>e.T.extract(e.U),Kk),Jk=yO.module({Exclude:Gk,Extract:qk,Omit:zk,Partial:Vk,Pick:Lk,Record:Fk,Required:Uk}),Yk=vO({...Ak,...Jk,...jO,...SO,string:kk,number:PO,object:Nk,unknown:jk},{prereducedAliases:!0,name:`ark`}),Xk=Yk.export();Object.assign(gO.ambient,Xk),gO.typeAttachments={string:Xk.string.root,number:Xk.number.root,bigint:Xk.bigint,boolean:Xk.boolean,symbol:Xk.symbol,undefined:Xk.undefined,null:Xk.null,object:Xk.object.root,unknown:Xk.unknown.root,false:Xk.false,true:Xk.true,never:Xk.never,arrayIndex:Xk.Array.index,Key:Xk.Key,Record:Xk.Record,Array:Xk.Array.root,Date:Xk.Date};var J=Object.assign(Yk.type,gO.typeAttachments);Yk.match,Yk.fn,Yk.generic,Yk.schema,Yk.define,Yk.declare;var Zk=J(`"local" | "lan" | /^\\d{1,3}(?:\\.\\d{1,3}){3}$/`),Qk=J(`/^[a-z0-9][a-z0-9_-]*$/`);J({id:Qk,label:`1 <= string <= 60`}).onUndeclaredKey(`reject`),J({"id?":Qk,"label?":`1 <= string <= 60`}).onUndeclaredKey(`reject`),J({label:`1 <= string <= 60`}).onUndeclaredKey(`reject`);function $k(e){let t=Zk(e);return t instanceof J.errors?null:t}var eA=J(`1 <= number.integer <= 65535 | null`),tA=J.enumerated(`block`,`warn`,`follow`,`reclaim`,`kill`),nA=tA.default(`block`),rA=J({enabled:`boolean = true`,maxRetries:`number.integer >= 0 = 3`,baseDelayMs:`number >= 0 = 1000`,factor:`number >= 1 = 2`,maxDelayMs:`number >= 0 = 30000`,resetAfterMs:`number >= 0 = 60000`}).onUndeclaredKey(`reject`),iA=J({path:`string = "/"`,method:`"GET" | "HEAD" = "GET"`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer = 400`,expectBody:`string = ""`}).onUndeclaredKey(`reject`),aA=J({maxRssBytes:`number.integer >= 0 = 0`}).onUndeclaredKey(`reject`),oA=J({enabled:`boolean = true`,mode:`"port" | "http" = "port"`,http:iA.default(()=>({})),intervalMs:`number >= 500 = 5000`,timeoutMs:`number >= 100 = 1500`,unhealthyThreshold:`number.integer >= 1 = 3`,forceRestartAfterMs:`number >= 0 = 0`,startTimeoutMs:`number >= 0 = 20000`}).onUndeclaredKey(`reject`),sA=J({signal:`"SIGTERM" | "SIGINT" | "SIGKILL" = "SIGTERM"`,killGroup:`boolean = true`,graceMs:`number >= 0 = 5000`,killPortHolders:`boolean = false`}).onUndeclaredKey(`reject`),cA=J({command:`string`,args:J(`string[]`).default(()=>[]),env:J(`Record<string, string>`).default(()=>({})),timeoutMs:`number >= 1000 = 120000`,runOnce:`boolean = true`}).onUndeclaredKey(`reject`).or(J(`null`)),lA=J(`string | null`),uA=J(`50 <= number.integer <= 100000`),dA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,label:lA.optional(),enabled:`boolean = true`,autostart:`boolean = false`,persistent:`boolean = false`,command:`string >= 1`,args:J(`string[]`).default(()=>[]),cwd:`string = "."`,env:J(`Record<string, string>`).default(()=>({})),dataEnvs:J(`Record<string, string>`).default(()=>({})),bootstrap:cA.optional(),port:eA.optional(),bind:Zk.default(()=>`local`),onPortConflict:nA,restart:rA.default(()=>({})),health:oA.default(()=>({})),stop:sA.default(()=>({})),logBufferLines:uA.default(()=>500),dependsOn:J(`string[]`).default(()=>[]),envFile:`string = ""`,resources:aA.default(()=>({})),backupPaths:J(`string[]`).default(()=>[]),backupIgnoreGenerated:`boolean = true`}).onUndeclaredKey(`reject`),fA=J({enabled:`boolean = true`,sessionTtlMs:`number >= 60000 = 604800000`,cookieSecure:`"auto" | "always" | "never" = "auto"`,trustProxy:`boolean | "loopback" = false`,maxLoginAttempts:`number.integer >= 1 = 5`,lockoutMs:`number >= 1000 = 60000`}).onUndeclaredKey(`reject`);J({telegram:J({enabled:`boolean = false`,chatId:`string = ""`,onCrash:`boolean = true`,onUnhealthy:`boolean = true`,onForcedRestart:`boolean = true`,onRecovered:`boolean = false`,onHost:`boolean = true`,onDdns:`boolean = true`,cooldownMs:`number >= 0 = 120000`}).onUndeclaredKey(`reject`).default(()=>({}))}).onUndeclaredKey(`reject`);var pA=J({persist:`boolean = true`,maxBytes:`10000 <= number <= 100000000 = 2000000`,keep:`1 <= number.integer <= 10 = 3`}).onUndeclaredKey(`reject`),mA=J({enabled:`boolean = false`}).onUndeclaredKey(`reject`),hA=J({enabled:`boolean = true`,intervalMs:`number >= 5000 = 15000`,diskPaths:J(`string[]`).default(()=>[`.`]),diskUsedPercent:`number >= 0 = 90`,memoryUsedPercent:`number >= 0 = 90`,swapUsedPercent:`number >= 0 = 50`,loadPerCpu:`number >= 0 = 2`,tempCelsius:`number >= 0 = 85`}).onUndeclaredKey(`reject`),gA=J.enumerated(`A`,`AAAA`),_A=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,provider:`string >= 1`,label:`string = ""`}).onUndeclaredKey(`reject`),vA=J({host:`/^[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/`,account:`string >= 1`,types:gA.array().default(()=>[`A`]),zone:`string?`,ttl:`number.integer >= 1?`,proxied:`boolean = false`,enabled:`boolean = true`}).onUndeclaredKey(`reject`),yA=J({enabled:`boolean = true`,url:`string = ""`}).onUndeclaredKey(`reject`),bA=J({enabled:`boolean = false`,url:`string = ""`}).onUndeclaredKey(`reject`),xA=J({enabled:`boolean = false`,intervalMs:`number >= 60000 = 300000`,ipv4:yA.default(()=>({})),ipv6:bA.default(()=>({})),ttl:`number.integer >= 1 = 1`,accounts:_A.array().default(()=>[]),domains:vA.array().default(()=>[])}).onUndeclaredKey(`reject`),SA=J({enabled:`boolean`,running:`boolean`,lastRunAt:`number | null`,lastResult:`string | null`,ipv4:`string | null`,ipv6:`string | null`,records:J({host:`string`,account:`string`,provider:`string`,type:gA,ip:`string | null`,state:J(`"pending" | "ok" | "unchanged" | "error" | "skipped"`),message:`string | null`,updatedAt:`number | null`}).array()}),CA=J({key:`string`,label:`string`,hint:`string = ""`,optional:`boolean = false`}),wA=J({config:xA,status:SA,providers:J({id:`string`,label:`string`,docsUrl:`string`,families:gA.array(),fields:CA.array(),ttl:`boolean`,proxied:`boolean`,txt:`boolean`}).array(),credentials:J(`string[]`)});J({provider:`string >= 1`,credentials:J(`Record<string, string>`)}).onUndeclaredKey(`reject`),J({enabled:`boolean?`,intervalMs:`number >= 60000?`,ipv4:J({enabled:`boolean?`,url:`string?`}).onUndeclaredKey(`reject`).optional(),ipv6:J({enabled:`boolean?`,url:`string?`}).onUndeclaredKey(`reject`).optional(),ttl:`number.integer >= 1?`,accounts:_A.array().optional(),domains:vA.array().optional()}).onUndeclaredKey(`reject`),J({enabled:`boolean = true`,dir:`string = ".backups"`,keep:`number.integer >= 1 = 5`,includePaths:J(`string[]`).default(()=>[])}).onUndeclaredKey(`reject`),J({label:`1 <= string <= 60 = "home-hosted"`,port:`1 <= number.integer <= 65535 = 3999`,host:Zk.default(()=>`local`),openBrowser:`boolean = false`,auth:fA.default(()=>({})),tls:mA.default(()=>({}))}).onUndeclaredKey(`reject`);var TA=J({enabled:`boolean = true`,autostart:`boolean = false`,bind:Zk.default(()=>`local`),onPortConflict:nA,restart:rA.default(()=>({})),health:oA.default(()=>({})),stop:sA.default(()=>({})),logBufferLines:uA.default(()=>500)}).onUndeclaredKey(`reject`),EA=J({enabled:`boolean?`,maxRetries:`number.integer >= 0?`,baseDelayMs:`number >= 0?`,factor:`number >= 1?`,maxDelayMs:`number >= 0?`,resetAfterMs:`number >= 0?`}).onUndeclaredKey(`reject`),DA=J({path:`string?`,method:`"GET" | "HEAD"?`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer?`,expectBody:`string?`}).onUndeclaredKey(`reject`),OA=J({maxRssBytes:`number.integer >= 0?`}).onUndeclaredKey(`reject`),kA=J({enabled:`boolean?`,mode:`"port" | "http"?`,http:DA.optional(),intervalMs:`number >= 500?`,timeoutMs:`number >= 100?`,unhealthyThreshold:`number.integer >= 1?`,forceRestartAfterMs:`number >= 0?`,startTimeoutMs:`number >= 0?`}).onUndeclaredKey(`reject`),AA=J({signal:`"SIGTERM" | "SIGINT" | "SIGKILL"?`,killGroup:`boolean?`,graceMs:`number >= 0?`,killPortHolders:`boolean?`}).onUndeclaredKey(`reject`),jA=J({enabled:`boolean?`,sessionTtlMs:`number >= 60000?`,cookieSecure:`"auto" | "always" | "never"?`,trustProxy:`boolean | "loopback"?`,maxLoginAttempts:`number.integer >= 1?`,lockoutMs:`number >= 1000?`}).onUndeclaredKey(`reject`),MA=J({telegram:J({enabled:`boolean?`,chatId:`string?`,onCrash:`boolean?`,onUnhealthy:`boolean?`,onForcedRestart:`boolean?`,onRecovered:`boolean?`,onHost:`boolean?`,onDdns:`boolean?`,cooldownMs:`number >= 0?`}).onUndeclaredKey(`reject`).optional()}).onUndeclaredKey(`reject`),NA=J({enabled:`boolean?`,intervalMs:`number >= 5000?`,diskPaths:J(`string[]`).optional(),diskUsedPercent:`number >= 0?`,memoryUsedPercent:`number >= 0?`,swapUsedPercent:`number >= 0?`,loadPerCpu:`number >= 0?`,tempCelsius:`number >= 0?`}).onUndeclaredKey(`reject`),PA=J({enabled:`boolean?`,dir:`string?`,keep:`number.integer >= 1?`,includePaths:J(`string[]`).optional()}).onUndeclaredKey(`reject`),FA=J({persist:`boolean?`,maxBytes:`10000 <= number <= 100000000?`,keep:`1 <= number.integer <= 10?`}).onUndeclaredKey(`reject`),IA=J({enabled:`boolean?`}).onUndeclaredKey(`reject`),LA=J({label:`1 <= string <= 60 | null?`,port:`1 <= number.integer <= 65535?`,host:Zk.optional(),openBrowser:`boolean?`,auth:jA.optional(),tls:IA.optional()}).onUndeclaredKey(`reject`),RA=J({enabled:`boolean?`,autostart:`boolean?`,bind:Zk.optional(),onPortConflict:tA.optional(),restart:EA.optional(),health:kA.optional(),stop:AA.optional(),logBufferLines:uA.optional()}).onUndeclaredKey(`reject`),zA={label:lA.optional(),enabled:`boolean?`,autostart:`boolean?`,persistent:`boolean?`,command:`string?`,args:`string[]?`,cwd:`string?`,env:`Record<string, string>?`,dataEnvs:`Record<string, string>?`,bootstrap:cA.optional(),port:eA.optional(),bind:Zk.optional(),onPortConflict:tA.optional(),restart:EA.optional(),health:kA.optional(),stop:AA.optional(),logBufferLines:uA.optional(),dependsOn:J(`string[]`).optional(),envFile:`string?`,resources:OA.optional(),backupPaths:J(`string[]`).optional(),backupIgnoreGenerated:`boolean?`},BA=J(zA).onUndeclaredKey(`reject`),VA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,...zA,command:`string`}).onUndeclaredKey(`reject`);J({serverId:`string`,command:`string`,args:`string[]`,cwd:`string`,env:`Record<string, string>`,logDir:`string`,logs:pA,stop:sA}).onUndeclaredKey(`reject`),J({serverId:`string`,nannyPid:`number`,childPid:`number | null`,startedAt:`number`,logFile:`string`,heartbeatAt:`number`,"lastExit?":J({code:`number | null`,signal:`string | null`,at:`number`,runtimeMs:`number`}).onUndeclaredKey(`reject`)}).onUndeclaredKey(`reject`);var HA=J({control:LA.optional(),host:NA.optional(),backups:PA.optional()}).onUndeclaredKey(`reject`),UA=J({defaults:RA.optional(),logs:FA.optional(),notifications:MA.optional()}).onUndeclaredKey(`reject`),WA=J({enabled:`boolean`,passwordSet:`boolean`,passwordUpdatedAt:`number | null`,apiTokenSet:`boolean?`,usingDefaultPassword:`boolean`,exposed:`boolean`,blockedReason:`string | null`,sessionTtlMs:`number`,cookieSecure:`string`,trustProxy:`boolean | "loopback"`,maxLoginAttempts:`number`,lockoutMs:`number`}),GA=J({enabled:`boolean`,certPresent:`boolean`,subject:`string | null`,issuer:`string | null`,validFrom:`string | null`,validTo:`string | null`,daysRemaining:`number | null`,fingerprint:`string | null`,keyMatches:`boolean | null`,error:`string | null`}),KA=J.enumerated(`caddy`),qA=J.enumerated(`server`,`panel`,`external`),JA=J.enumerated(`auto`,`off`,`manual`),YA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,host:`/^[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?)*$/`,enabled:`boolean = true`,target:qA.default(()=>`server`),workspace:`string = ""`,server:`string = ""`,url:`string = ""`,path:`string = ""`,tls:JA.default(()=>`auto`),dnsAccount:`string = ""`}).onUndeclaredKey(`reject`),XA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,label:`string = ""`}).onUndeclaredKey(`reject`),ZA=J.enumerated(`off`,`local`,`uploaded`,`issued`,`pending`,`failed`,`fallback`),QA=J({enabled:`boolean = false`,resolvers:J(`string[]`).default(()=>[])}).onUndeclaredKey(`reject`),$A=J({enabled:`boolean = false`,engine:KA.default(()=>`caddy`),httpPort:`1 <= number.integer <= 65535 = 80`,httpsPort:`1 <= number.integer <= 65535 = 443`,email:`string = ""`,staging:`boolean = false`,dns01:QA.default(()=>({})),certificates:XA.array().default(()=>[]),routes:YA.array().default(()=>[])}).onUndeclaredKey(`reject`),ej=J({id:KA,installed:`boolean`,version:`string | null`,source:J.enumerated(`downloaded`,`custom`).or(J(`null`)),path:`string | null`,bytes:`number | null`,error:`string | null`}),tj=J({id:KA,label:`string`,docsUrl:`string`,releaseUrl:`string`,acme:`boolean`,internalCa:`boolean`,dns01:`boolean`,tcp:`boolean`}),nj=J({route:YA,status:J.enumerated(`ok`,`disabled`,`no-upstream`,`error`),upstream:`string | null`,message:`string | null`,"certificate?":J({state:ZA,message:`string | null`,"retryInMinutes?":`number`})}),rj=J({state:J.enumerated(`off`,`stopped`,`starting`,`running`,`error`,`unsupported`),pid:`number | null`,urls:J(`string[]`),certExpiryDays:`number | null`,since:`number | null`,lastError:`string | null`}),ij=J({id:`string`,label:`string`,present:`boolean`,used:`boolean`,subject:`string | null`,issuer:`string | null`,validTo:`string | null`,daysRemaining:`number | null`,hosts:J(`string[]`),error:`string | null`}),aj=J({workspace:`string`,account:`string`,provider:`string`,label:`string`,writesTxt:`boolean`,hasCredentials:`boolean`}),oj=J({config:$A,engine:ej,engines:tj.array(),status:rj,routes:nj.array(),certificates:ij.array(),"dnsAccounts?":aj.array()}),sj=J({id:`string`,host:`string`,enabled:`boolean?`,target:qA.optional(),workspace:`string?`,server:`string?`,url:`string?`,path:`string?`,tls:JA.optional(),dnsAccount:`string?`}).onUndeclaredKey(`reject`),cj=J({enabled:`boolean?`,engine:KA.optional(),httpPort:`1 <= number.integer <= 65535?`,httpsPort:`1 <= number.integer <= 65535?`,email:`string?`,staging:`boolean?`,dns01:J({enabled:`boolean | null?`,resolvers:`string[] | null?`}).onUndeclaredKey(`reject`).optional(),certificates:XA.array().optional(),routes:sj.array().optional()}).onUndeclaredKey(`reject`),lj=J({label:`string = ""`,certificate:`string >= 1`,privateKey:`string >= 1`}).onUndeclaredKey(`reject`);J({version:`string = ""`}).onUndeclaredKey(`reject`);var uj=J({enabled:`boolean`,tokenSet:`boolean`,chatId:`string`,onCrash:`boolean`,onUnhealthy:`boolean`,onForcedRestart:`boolean`,onRecovered:`boolean`,onHost:`boolean`,onDdns:`boolean?`,cooldownMs:`number`,lastResult:`string | null`,lastResultAt:`number | null`});J({chats:J({id:`string | number`,title:`string`}).array()});var dj=J({telegram:uj});J({authenticated:`boolean`,authRequired:`boolean`,passwordSet:`boolean`,apiTokenSet:`boolean?`,usingDefaultPassword:`boolean`,defaultPassword:`string | null`,sessionTtlMs:`number`});var fj=J({password:`string`}).onUndeclaredKey(`reject`),pj=J(`1 <= string <= 512`),mj=J({currentPassword:`string?`,newPassword:pj}).onUndeclaredKey(`reject`),hj=J(`"stopped" | "starting" | "running" | "stopping" | "backoff" | "crashed" | "conflict"`),gj=J(`"disabled" | "unknown" | "healthy" | "unhealthy"`),_j=J(`"unknown" | "free" | "in-use"`),vj=J({ts:`number`,stream:J(`"stdout" | "stderr" | "system"`),text:`string`}),yj=J({windowMs:`number`,uptimeRatio:`number | null`,restarts:`number`,crashes:`number`,forcedRestarts:`number`,lastCrashAt:`number | null`,lastExitAt:`number | null`,lastRuntimeMs:`number | null`,events:J({serverId:`string`,ts:`number`,type:`"start" | "exit" | "crash" | "forced-restart" | "unhealthy" | "recovered"`,detail:`string`,runtimeMs:`number?`}).array()}),bj=J({cpuPercent:`number | null`,rssBytes:`number | null`,processes:`number`,sampledAt:`number`}),xj=J({path:`string`,totalBytes:`number`,freeBytes:`number`,usedPercent:`number`}),Sj=J({enabled:`boolean`,cpus:`number`,loadAvg:J(`number[]`),uptimeMs:`number`,memoryUsedPercent:`number`,swapUsedPercent:`number`,tempCelsius:`number | null`,disks:xj.array(),alerts:J(`string[]`),sampledAt:`number | null`}),Cj=J({name:`string`,sizeBytes:`number`,createdAt:`number`,encrypted:`boolean`}),wj=J({id:`string`,label:`string`,"labelKey?":`string`,"labelParams?":`Record<string, string>`,kind:`"settings" | "secrets" | "tls" | "workspace"`,"workspaceId?":`string`,note:`string | null`,"noteKey?":`string`,"noteParams?":`Record<string, string>`,items:J({id:`string`,label:`string`,"labelKey?":`string`,"labelParams?":`Record<string, string>`,kind:`"settings" | "servers" | "secrets" | "data"`,"path?":`string`,"origin?":`string`,included:`boolean`,note:`string | null`,"noteKey?":`string`,"noteParams?":`Record<string, string>`,"ignoreGenerated?":`boolean`}).array()}),Tj=J({enabled:`boolean`,dir:`string`,keep:`number`,includePaths:J(`string[]`),entries:wj.array(),files:Cj.array()}),Ej=J({id:`string`,label:`string`,"labelKey?":`string`,"labelParams?":`Record<string, string>`,kind:`"settings" | "secrets" | "servers" | "tls" | "data"`,"workspaceId?":`string`,restorable:`boolean`,selected:`boolean`,note:`string | null`,"noteKey?":`string`,"noteParams?":`Record<string, string>`}),Dj=J({label:`string`,"labelKey?":`string`,"labelParams?":`Record<string, string>`,"reasonKey?":`string`,"reasonParams?":`Record<string, string>`});J({dryRun:`boolean`,encrypted:`boolean`,needsPassword:`boolean`,items:Ej.array(),applied:J(`string[]`),"appliedIds?":J(`string[]`),skipped:J(`string[]`),"skippedItems?":Dj.array(),restartRequired:`boolean`,reloaded:`boolean`,error:`string?`}),J({password:pj.optional(),include:J(`string[] >= 1`).optional()}).onUndeclaredKey(`reject`),J({name:`string?`,password:pj.optional(),include:J(`string[]`).optional()}).onUndeclaredKey(`reject`);var Oj=J({id:`string`,"workspaceId?":`string`,config:dA,bindHost:`string`,url:`string | null`,status:hj,health:gj,portState:_j,pid:`number | null`,adopted:`boolean?`,startedAt:`number | null`,exitCode:`number | null`,exitSignal:`string | null`,restarts:`number`,maxRetries:`number`,lastError:`string | null`,nextRetryAt:`number | null`,unhealthySince:`number | null`,bufferedLines:`number`,history:yj,responseMs:`number | null`,resources:bj.or(J(`null`))});J({status:`"ok" | "degraded"`,uptimeMs:`number`,"servers?":J({total:`number`,running:`number`,crashed:`number`,unhealthy:`number`}),"hostAlerts?":`string[]`});var kj=J({label:`string`,port:`number`,host:`string`,bindHost:`string`,url:`string`,openBrowser:`boolean`,restartRequired:`boolean`,protocol:`string`,auth:WA,tls:GA}),Aj=J({custom:`boolean`,dir:`string`,meta:J({"name?":`string`,"version?":`string | null`,"uploadedAt?":`number`,"files?":`number.integer >= 1`,"repo?":`string`,"tag?":`string`,"asset?":`string`,"unix?":`number.integer >= 0`}).or(J(`null`))}),jj=J({id:`string`,label:`string`,configPath:`string`,settingsPath:`string`,configError:`string | null`,"configWarnings?":J(`string[]`),logsDir:`string`,defaults:TA,logs:pA,notifications:dj,"ddns?":SA,serverCount:`number`,runningCount:`number`,crashedCount:`number`,servers:Oj.array()}),Mj=J({control:kj,host:Sj,backups:Tj,ui:Aj,workspaces:jj.array(),"proxy?":oj,projectDir:`string`,dataRoot:`string`,"version?":`string`}),Nj=J({type:`"hello" | "state" | "log" | "server"`,ts:`number`,"workspaceId?":`string`,serverId:`string?`,state:Mj.optional(),server:Oj.optional(),lines:vj.array().optional()});J({limit:`string?`}),J({ok:`boolean`,port:`number | null`,terminated:`number[]`,forced:`number[]`,skipped:`number[]`,free:`boolean`}),J({tail:`string?`,search:`string?`,stream:`"stdout" | "stderr" | "system"?`});var Pj=J({servers:J({serverId:`string`,label:`string`,status:hj,enabled:`boolean`,sizeBytes:`number`,files:J({name:`string`,sizeBytes:`number`}).array()}).array()}),Fj=J({serverId:`string`,enabled:`boolean`,sizeBytes:`number`,files:J(`string[]`),searched:`number | null`,lines:vj.array()});J({botToken:`string?`,chatId:`string?`}).onUndeclaredKey(`reject`),J({botToken:`string >= 1`}).onUndeclaredKey(`reject`),J({message:`string`,code:`string`,"detail?":`unknown`}).onUndeclaredKey(`reject`),J({certificate:`string >= 1`,privateKey:`string >= 1`}).onUndeclaredKey(`reject`),J({control:kj,host:hA,backups:Tj,ui:Aj}).and(J({rebinding:`boolean`,targetUrl:`string | null`}));var Ij=J({id:`string`,label:`string`,settingsPath:`string`,configPath:`string`,configError:`string | null`,defaults:TA,logs:pA,notifications:dj});function Lj(e){return e instanceof Error?e.message:String(e)}function Rj(e,t){return`${e}/${t}`}function zj(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Bj=class extends Error{name=`AuthRequiredError`;constructor(){super(`authentication required`)}};async function Vj(e,t){let n=await fetch(e,{...t,headers:{"Content-Type":`application/json`,...t?.headers}}),r=await n.text(),i=r.length>0?JSON.parse(r):null;if(!n.ok){if(n.status===401&&zj(i)&&i.code===`AUTH_REQUIRED`)throw new Bj;let e=zj(i)&&typeof i.message==`string`?i.message:zj(i)&&`error`in i?String(i.error):`request failed with ${n.status}`;throw Error(e)}return i}async function Hj(e){let t=oj(e);if(t instanceof J.errors)throw Error(`proxy contract mismatch: ${t.summary}`);return t}async function Uj(e){let t=wA(e);if(t instanceof J.errors)throw Error(`ddns contract mismatch: ${t.summary}`);return t}function Wj(e){return Vj(`/api/proxy/${e}`,{method:`POST`}).then(Hj)}function Gj(){return Wj(`apply`)}function Kj(e){return`/api/backups/${encodeURIComponent(e)}/download`}function qj(){return Vj(`/api/auth/password`,{method:`DELETE`})}async function Jj(e){return Hj(await Vj(`/api/proxy/certificates/${encodeURIComponent(e)}`,{method:`DELETE`}))}function Yj(e){return Vj(`/api/backups/${encodeURIComponent(e)}`,{method:`DELETE`})}async function Xj(){return Hj(await Vj(`/api/proxy`))}function Zj(){return Vj(`/api/auth/session`)}function Qj(){return Vj(`/api/settings`)}async function $j(e=``){return Hj(await Vj(`/api/proxy/engine`,{method:`POST`,body:JSON.stringify({version:e})}))}function eM(e){let t=fj({password:e});if(t instanceof J.errors)throw Error(t.summary);return Vj(`/api/auth/login`,{method:`POST`,body:JSON.stringify(t)})}function tM(){return Vj(`/api/auth/logout`,{method:`POST`})}async function nM(e){let t=cj(e);if(t instanceof J.errors)throw Error(t.summary);return Hj(await Vj(`/api/proxy`,{method:`PATCH`,body:JSON.stringify(t)}))}function rM(e){let t={};return e.password!==void 0&&e.password.length>0&&(t.password=e.password),e.include!==void 0&&(t.include=e.include),t}function iM(e,t,n={}){return Vj(`/api/backups/restore?confirm=${t}`,{method:`POST`,body:JSON.stringify({name:e,...rM(n)})})}async function aM(e){return Hj(await Vj(`/api/proxy/routes/${encodeURIComponent(e)}/retry-certificate`,{method:`POST`}))}function oM(){return Wj(`revert`)}function sM(){return Vj(`/api/settings/ui`,{method:`DELETE`})}function cM(e,t){let n=mj(e===void 0?{newPassword:t}:{currentPassword:e,newPassword:t});if(n instanceof J.errors)throw Error(n.summary);return Vj(`/api/auth/password`,{method:`POST`,body:JSON.stringify(n)})}function lM(){return Wj(`start`)}function uM(){return Wj(`stop`)}async function dM(e,t,n,r){let i=lj({label:t,certificate:n,privateKey:r});if(i instanceof J.errors)throw Error(i.summary);return Hj(await Vj(`/api/proxy/certificates/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(i)}))}async function fM(e){let t=new FormData;t.append(`file`,e);let n=await fetch(`/api/settings/ui`,{method:`POST`,body:t}),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.message??r?.error??`the upload failed with ${n.status}`);return r}var pM=/^[\w!#$%&'*.^`|~+-]+$/,mM=(e,t,n={})=>{if(!pM.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},hM=(e,t,n)=>(t=encodeURIComponent(t),mM(e,t,n)),gM=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),_M=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??(?=/|$)`);e=e.replace(t,()=>r?`/${r}`:``)}return e},vM=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0){if(Array.isArray(r))for(let e of r)e!==void 0&&t.append(n,e);else t.set(n,r)}return t},yM=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},bM=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function xM(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function SM(e,t){if(!xM(e)&&!xM(t))return t;let n={...e};for(let e in t){let r=t[e];n[e]=xM(n[e])&&xM(r)?SM(n[e],r):r}return n}var CM=(e,t)=>new Proxy(()=>{},{get(n,r){if(typeof r==`string`&&r!==`then`)return CM(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),wM=(e,t)=>{let n=t.toString();return n?`${e}?${n}`:e},TM=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0){if(Array.isArray(r))for(let e of r)e!==void 0&&t.append(n,e);else t.append(n,r)}this.rBody=t}e.json!==void 0&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))r!==void 0&&t.push(hM(n,r));t.length>0&&(r.Cookie=t.join(`; `))}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers;for(let[e,t]of Object.entries(r))t!==void 0&&i.set(e,t);let a=this.url;a=bM(a),a=_M(a,this.pathParams),this.queryParams&&(a=wM(a,this.queryParams)),n=this.method.toUpperCase();let o=n!==`GET`&&n!==`HEAD`;return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},EM=((e,t)=>CM(function n(r){let i=t?.buildSearchParams??vM,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=gM(e,a.join(`/`));if(s===`url`||s===`path`){let t=bM(c);return r.args[0]&&(r.args[0].param&&(t=_M(t,r.args[0].param)),r.args[0].query&&(t=wM(t,i(r.args[0].query)))),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=bM(c),n=yM(r.args[0]?.param?_M(e,r.args[0].param):e,`ws`),a=new URL(n),o=r.args[0]?.query;return o&&i(o).forEach((e,t)=>{a.searchParams.append(t,e)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(a.toString())}let l=new TM(c,s,{buildSearchParams:i});if(s){t??={};let e={...r.args[1]},n=t.headers,i=e.headers;n&&i&&(e.headers=async()=>({...typeof n==`function`?await n():n,...typeof i==`function`?await i():i}));let a=SM(t,e);return l.fetch(r.args[0],a)}return l},[]))(typeof window>`u`?`http://127.0.0.1`:window.location.origin);J({workspaces:jj.array()});var DM=J({workspace:jj}),OM=J({ok:`boolean`,removed:`unknown`});function kM(e){return e==null||e.length===0?``:`?workspace=${encodeURIComponent(e)}`}function AM(e,t){return{param:{id:t},query:e.length>0?{workspace:e}:{}}}function jM(e,t,n){let r=n??new URLSearchParams;t.length>0&&r.set(`workspace`,t);let i=r.toString();return i.length>0?`${e}?${i}`:e}async function MM(){let e=Mj(await Vj(`/api/state`));if(e instanceof J.errors)throw Error(`state contract mismatch: ${e.summary}`);return e}async function NM(e){let t=DM(e);if(t instanceof J.errors)throw Error(`workspace contract mismatch: ${t.summary}`);return t.workspace}async function PM(e){return NM(await Vj(`/api/workspaces`,{method:`POST`,body:JSON.stringify(e)}))}async function FM(e,t){return NM(await Vj(`/api/workspaces/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify({label:t})}))}async function IM(e){let t=OM(await Vj(`/api/workspaces/${encodeURIComponent(e)}`,{method:`DELETE`}));if(t instanceof J.errors)throw Error(`workspace removal contract mismatch: ${t.summary}`);return t}function LM(e){let t=HA(e);if(t instanceof J.errors)throw Error(t.summary);return Vj(`/api/settings`,{method:`PATCH`,body:JSON.stringify(t)})}async function RM(e,t){let n=UA(t);if(n instanceof J.errors)throw Error(n.summary);let r=Ij(await Vj(jM(`/api/settings/workspace`,e),{method:`PATCH`,body:JSON.stringify(n)}));if(r instanceof J.errors)throw Error(`workspace settings contract mismatch: ${r.summary}`);return r}async function zM(e){let t=Pj(await Vj(jM(`/api/logs`,e)));if(t instanceof J.errors)throw Error(`logs contract mismatch: ${t.summary}`);return t.servers}async function BM(e,t,n){let r=new URLSearchParams;n.tail!==void 0&&r.set(`tail`,String(n.tail)),n.search!==void 0&&n.search.length>0&&r.set(`search`,n.search),n.stream!==void 0&&n.stream.length>0&&r.set(`stream`,n.stream);let i=Fj(await Vj(jM(`/api/logs/${encodeURIComponent(t)}`,e,r)));if(i instanceof J.errors)throw Error(`log history contract mismatch: ${i.summary}`);return i}function VM(e,t){return Vj(jM(`/api/logs/${encodeURIComponent(t)}`,e),{method:`DELETE`})}function HM(e,t,n){return jM(`/api/logs/${encodeURIComponent(t)}/download`,e,new URLSearchParams({file:n}))}function UM(e,t){if(t!==void 0&&t.length===0)throw Error("nothing is selected: omit `include` to capture everything, or select at least one item");let n={};return e!==void 0&&e.length>0&&(n.password=e),t!==void 0&&(n.include=t),Vj(`/api/backups`,{method:`POST`,body:JSON.stringify(n)})}async function WM(e,t,n={}){let r=new FormData;r.append(`file`,e),n.password!==void 0&&n.password.length>0&&r.append(`password`,n.password),n.include!==void 0&&r.append(`include`,JSON.stringify(n.include));let i=await fetch(`/api/backups/restore?confirm=${t}`,{method:`POST`,body:r}),a=await i.json().catch(()=>null);if(!i.ok)throw Error(a?.message??a?.error??`restore failed with ${i.status}`);return a}function GM(e,t){return Vj(jM(`/api/notifications/token`,e),{method:`PUT`,body:JSON.stringify({botToken:t})})}function KM(e){return Vj(jM(`/api/notifications/token`,e),{method:`DELETE`})}function qM(e,t){return Vj(jM(`/api/notifications/test`,e),{method:`POST`,body:JSON.stringify(t)})}function JM(e,t){return Vj(jM(`/api/notifications/detect-chats`,e),{method:`POST`,body:JSON.stringify(t)})}async function YM(e){return Uj(await Vj(jM(`/api/ddns`,e)))}async function XM(e,t){return Uj(await Vj(jM(`/api/ddns`,e),{method:`PUT`,body:JSON.stringify(t)}))}async function ZM(e,t,n,r){return Uj(await Vj(jM(`/api/ddns/credentials/${encodeURIComponent(t)}`,e),{method:`PUT`,body:JSON.stringify({provider:n,credentials:r})}))}async function QM(e,t){return Uj(await Vj(jM(`/api/ddns/credentials/${encodeURIComponent(t)}`,e),{method:`DELETE`}))}async function $M(e){return Uj(await Vj(jM(`/api/ddns/check`,e),{method:`POST`}))}function eN(e,t){return Vj(`/api/settings/tls`,{method:`POST`,body:JSON.stringify({certificate:e,privateKey:t})})}function tN(){return Vj(`/api/settings/tls`,{method:`DELETE`})}async function nN(e,t,n){let r=await EM.api.servers[`:id`][n].$post(AM(e,t)),i=await r.json().catch(()=>null);if(!r.ok)throw Error(i?.message??`request failed with ${r.status}`);return i??{ok:!0}}function rN(e){return Vj(jM(`/api/servers/start-all`,e),{method:`POST`})}async function iN(e,t){let n=await EM.api.servers[`:id`][`free-port`].$post(AM(e,t)),r=await n.json().catch(()=>null);if(!n.ok)throw Error(r?.message??`request failed with ${n.status}`);return r??{ok:!0,port:null,terminated:[],forced:[],skipped:[],free:!1}}function aN(e){return Vj(jM(`/api/servers/stop-all`,e),{method:`POST`})}function oN(e,t){return Vj(jM(`/api/servers/${encodeURIComponent(t)}/clear-logs`,e),{method:`POST`})}function sN(e,t,n){return Vj(jM(`/api/servers/${encodeURIComponent(t)}`,e),{method:`PATCH`,body:JSON.stringify(n)})}function cN(e,t){return Vj(jM(`/api/servers/${encodeURIComponent(t)}`,e),{method:`DELETE`})}function lN(e,t){return Vj(jM(`/api/servers`,e),{method:`POST`,body:JSON.stringify(t)})}var uN=k(null),dN=k(null);function fN(e){return e===null?`wait`:e.authRequired&&!e.authenticated?`login`:`connect`}function pN(){async function e(){try{uN.value=await Zj()}catch{uN.value=null}}async function t(e){dN.value=null;try{return uN.value=await eM(e),!0}catch(e){return dN.value=Lj(e),!1}}async function n(){try{await tM()}finally{await e()}}function r(){uN.value={authenticated:!1,authRequired:!0,passwordSet:uN.value?.passwordSet??!0,apiTokenSet:uN.value?.apiTokenSet??!1,usingDefaultPassword:uN.value?.usingDefaultPassword??!1,defaultPassword:uN.value?.defaultPassword??null,sessionTtlMs:uN.value?.sessionTtlMs??0}}async function i(t,n){dN.value=null;try{return await cM(t,n),await e(),null}catch(e){return Lj(e)}}async function a(){dN.value=null;try{return await qj(),await e(),null}catch(e){return Lj(e)}}return{session:rn(uN),error:rn(dN),refresh:e,login:t,logout:n,requireLogin:r,setPassword:i,clearPassword:a}}var mN=k([]),hN=1;function gN(e){mN.value=mN.value.filter(t=>t.id!==e)}function _N(e,t=4800){let n=hN++;return mN.value=[...mN.value,{...e,id:n}],t>0&&setTimeout(gN,t,n),n}function vN(){return{toasts:rn(mN),dismiss:gN,push:_N,success:(e,t)=>_N({tone:`ok`,title:e,description:t}),failure:(e,t)=>_N({tone:`danger`,title:e,description:t},9e3),info:(e,t)=>_N({tone:`info`,title:e,description:t}),warn:(e,t)=>_N({tone:`warn`,title:e,description:t},7e3)}}var yN=4e3;function bN(){return tn({ts:[],cpu:[],rss:[],probe:[],lastSampledAt:-1})}function xN(e){let t=e.ts.length-120;t<=0||(e.ts.splice(0,t),e.cpu.splice(0,t),e.rss.splice(0,t),e.probe.splice(0,t))}function SN(e,t,n){let r=t.resources?.sampledAt??0,i=e.ts[e.ts.length-1]??0;if(!(r!==e.lastSampledAt||n-i>=yN)){e.probe.length>0&&(e.probe[e.probe.length-1]=t.responseMs);return}e.lastSampledAt=r,e.ts.push(n);let a=t.status===`running`;e.cpu.push(a?t.resources?.cpuPercent??null:null),e.rss.push(a?t.resources?.rssBytes??null:null),e.probe.push(t.responseMs),xN(e)}function CN(e){let t=0;for(let n of e)n!==null&&n>t&&(t=n);return t}function wN(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n!=null)return n}return null}var TN=8e3,EN=k(null),DN=k(`connecting`),ON=k(null),kN=k(Date.now()),AN=new Map,jN=vN(),MN=new Map,NN=k(0),PN=null,FN=null;function IN(e){let t=MN.get(e);if(t)return t;let n={lines:[],version:k(0),refs:0,source:null};return MN.set(e,n),n}function LN(e,t){let n=IN(e),r=n.lines.concat(t);n.lines=r.length>8e3?r.slice(r.length-TN):r,n.version.value+=1,NN.value+=1}function RN(e){return MN.get(e)?.lines??[]}function zN(e){let t=MN.get(e);t&&(t.lines=[],t.version.value+=1,NN.value+=1)}function BN(e){let t=AN.get(e);if(t)return t;let n=bN();return AN.set(e,n),n}function VN(e){e.workspaceId!==void 0&&SN(BN(Rj(e.workspaceId,e.id)),e,Date.now())}function HN(e){let t=EN.value;if(!t)return;let n=e.workspaceId,r=n===void 0?t.workspaces.filter(t=>t.servers.some(t=>t.id===e.id)):t.workspaces.filter(e=>e.id===n);if(r.length!==1)return;let i=r[0],a=i.servers.find(t=>t.id===e.id),o=n===void 0?{...e,workspaceId:i.id}:e;i.servers=a===void 0?[...i.servers,o]:i.servers.map(t=>t.id===e.id?o:t)}function UN(e){let t;try{t=JSON.parse(e)}catch{return}let n=Nj(t);if(n instanceof J.errors){console.warn(`[home-hosted] ignored malformed SSE frame`,n.summary);return}if(n.type===`hello`||n.type===`state`){if(n.state){EN.value=n.state;for(let e of EN.value.workspaces)for(let t of e.servers)VN(t)}return}if(n.type===`server`&&n.server){let e=n.server;HN(e),VN(e);return}if(n.type===`log`&&n.serverId&&n.lines){let e=n.workspaceId;if(e===void 0)return;LN(Rj(e,n.serverId),n.lines)}}function WN(e,t,n){let r=Rj(e,t);n.lines=[],n.version.value+=1,NN.value+=1;let i=new EventSource(`/api/servers/${encodeURIComponent(t)}/stream${kM(e)}`),a=e=>{let t=e,n;try{n=JSON.parse(t.data)}catch{return}let i=Nj(n);if(i instanceof J.errors){console.warn(`[home-hosted] ignored malformed SSE frame`,i.summary);return}if(i.type===`log`&&i.lines){LN(r,i.lines);return}i.type===`server`&&i.server&&HN(i.server)};for(let e of[`log`,`server`])i.addEventListener(e,a);i.onerror=()=>{},n.source=i}function GN(e,t){let n=IN(Rj(e,t));n.refs+=1,n.source||WN(e,t,n)}function KN(e,t){let n=MN.get(Rj(e,t));n&&(n.refs=Math.max(0,n.refs-1),n.refs===0&&(n.source?.close(),n.source=null))}function qN(){if(PN)return;FN??=setInterval(()=>{kN.value=Date.now()},1e3);let e=new EventSource(`/api/events?logs=0`);PN=e,DN.value=`connecting`,e.onopen=()=>{DN.value=`open`},e.onerror=()=>{DN.value=`closed`};for(let t of[`hello`,`state`,`server`,`log`])e.addEventListener(t,e=>{UN(e.data)})}function JN(){PN?.close(),PN=null,FN&&clearInterval(FN),FN=null}function YN(e,t){let n=W(()=>{let n=bn(e),r=bn(t);return n===null||r===null?null:Rj(n,r)}),r=null;return M(n,e=>{if(r!==null&&r!==e){let[e,t]=r.split(`/`);e!==void 0&&t!==void 0&&KN(e,t)}if(r=e,e!==null){let[t,n]=e.split(`/`);t!==void 0&&n!==void 0&&GN(t,n)}},{immediate:!0}),Be(()=>{if(r!==null){let[e,t]=r.split(`/`);e!==void 0&&t!==void 0&&KN(e,t)}r=null}),{version:W(()=>{let e=n.value;return NN.value,e===null?0:MN.get(e)?.version.value??0}),lines(){let e=n.value;return e===null?[]:RN(e)},count:W(()=>{let e=n.value;return NN.value,e===null?0:MN.get(e)?.lines.length??0}),clear(){let e=n.value;e!==null&&zN(e)}}}function XN(){let e=W(()=>EN.value?.workspaces??[]),t=W(()=>e.value.flatMap(e=>e.servers.map(t=>({workspace:e,server:t})))),n=W(()=>EN.value?.control??null),r=W(()=>EN.value?.host??null),i=W(()=>EN.value?.backups??null),a=W(()=>EN.value?.proxy??null),o=W(()=>EN.value?.projectDir??null),s=W(()=>EN.value?.dataRoot??null),c=W(()=>EN.value?.version??null);function l(e){return EN.value?.workspaces.find(t=>t.id===e)}function u(e,t){return l(e)?.servers.find(e=>e.id===t)}function d(e,t){return BN(Rj(e,t))}async function f(){if(EN.value===null)try{EN.value=await MM()}catch(e){e instanceof Bj&&pN().requireLogin()}}async function p(e,t){ON.value=null;try{let n=await e();EN.value=await MM();let r=typeof t.success==`function`?t.success(n):t.success;return r&&jN.success(r),n}catch(e){if(e instanceof Bj){pN().requireLogin();return}let n=Lj(e);ON.value=n,jN.failure(t.title,n);return}}return{appState:EN,workspaces:e,allServers:t,control:n,host:r,backups:i,proxy:a,projectDir:o,dataRoot:s,version:c,connection:rn(DN),lastError:rn(ON),now:rn(kN),workspaceById:l,ensureState:f,serverById:u,seriesOf:d,refresh:(e=`Refresh failed`)=>p(async()=>{},{title:e}),start:(e,t)=>p(()=>nN(e,t,`start`),{title:`Could not start ${t}`}),stop:(e,t)=>p(()=>nN(e,t,`stop`),{title:`Could not stop ${t}`}),restart:(e,t)=>p(()=>nN(e,t,`restart`),{title:`Could not restart ${t}`}),startAll:e=>p(()=>rN(e),{title:`Could not start every server`,success:`Starting every enabled server`}),stopAll:e=>p(()=>aN(e),{title:`Could not stop every server`,success:`Stopping every server`}),setAutostart:(e,t,n)=>p(()=>sN(e,t,{autostart:n}),{title:`Could not change autostart for ${t}`}),setEnabled:(e,t,n)=>p(()=>sN(e,t,{enabled:n}),{title:`Could not change ${t}`}),freePort:(e,t)=>p(()=>iN(e,t),{title:`Could not free the port for ${t}`,success:e=>e.free?`Port ${e.port} is free — start ${t} now`:`Port ${e.port} is still held`}),setBind:(e,t,n)=>{let r=$k(n);return r===null?(jN.failure(`Could not change the bind for ${t}`,`"${n}" is not a bind value`),Promise.resolve(void 0)):p(()=>sN(e,t,{bind:r}),{title:`Could not change the bind for ${t}`})},saveConfig:(e,t,n)=>p(()=>sN(e,t,n),{title:`Could not save ${t}`,success:`${t} updated`}),saveGlobalSettings:e=>p(()=>LM(e),{title:`Could not save the settings`}),saveWorkspaceSettings:(e,t)=>p(()=>RM(e,t),{title:`Could not save the settings`}),clearLogs:(e,t)=>p(async()=>{await oN(e,t),zN(Rj(e,t))},{title:`Could not clear the logs for ${t}`,success:`Buffer cleared`}),create:(e,t)=>p(()=>lN(e,t),{title:`Could not add the server`,success:`Server added`}),remove:(e,t)=>p(async()=>{await cN(e,t),KN(e,t),MN.delete(Rj(e,t)),AN.delete(Rj(e,t))},{title:`Could not remove ${t}`,success:`${t} removed`})}}var ZN=`hh.theme`;function QN(){try{let e=localStorage.getItem(ZN);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var $N=k(QN()),eP=k(typeof matchMedia<`u`&&matchMedia(`(prefers-color-scheme: dark)`).matches),tP=!1;function nP(){tP||typeof matchMedia>`u`||(tP=!0,matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,e=>{eP.value=e.matches,iP()}))}var rP=W(()=>$N.value===`system`?eP.value:$N.value===`dark`);function iP(){typeof document<`u`&&document.documentElement.classList.toggle(`dark`,rP.value)}function aP(){nP(),iP();function e(e){$N.value=e;try{localStorage.setItem(ZN,e)}catch{}iP()}return{preference:$N,isDark:rP,setPreference:e,cycle(){e($N.value===`light`?`dark`:$N.value===`dark`?`system`:`light`)}}}var oP=`hh.workspace`;function sP(){try{return localStorage.getItem(oP)}catch{return null}}function cP(e){try{e===null?localStorage.removeItem(oP):localStorage.setItem(oP,e)}catch{}}var lP=k(sP()),uP=k(!1);function dP(){let e=XN(),t=vN(),n=W(()=>e.appState.value?.workspaces??[]),r=W(()=>{let e=n.value;return e.find(e=>e.id===lP.value)??e[0]??null}),i=W(()=>r.value?.id??``);M([n,lP],()=>{let e=n.value;if(e.length===0)return;let t=e.find(e=>e.id===lP.value)?.id??e[0].id;t!==lP.value&&(lP.value=t,cP(t))},{immediate:!0});function a(e){lP.value=e,cP(e)}let o=W(()=>r.value?.servers??[]),s=W(()=>r.value?.defaults??null),c=W(()=>r.value?.logs??null),l=W(()=>r.value?.notifications??null),u=W(()=>r.value?.configError??null),d=W(()=>r.value?.configWarnings??[]),f=W(()=>r.value?.logsDir??null),p=W(()=>r.value?.serverCount??0),m=W(()=>r.value?.runningCount??0),h=W(()=>r.value?.crashedCount??0);function g(e){return o.value.find(t=>t.id===e)}function _(t){return e.seriesOf(i.value,t)}async function v(n){uP.value=!0;try{let r=await PM(n.trim().length>0?{label:n.trim()}:{});return await e.refresh(`Could not read the workspaces`),a(r.id),t.success(`Workspace “${r.label}” created`),r}catch(e){t.failure(`Could not create the workspace`,Lj(e));return}finally{uP.value=!1}}async function y(n,r){try{return await FM(n,r.trim()),await e.refresh(`Could not read the workspaces`),t.success(`Workspace renamed`),!0}catch(e){return t.failure(`Could not rename the workspace`,Lj(e)),!1}}async function b(n){try{return await IM(n),await e.refresh(`Could not read the workspaces`),t.success(`Workspace deleted`),!0}catch(e){return t.failure(`Could not delete the workspace`,Lj(e)),!1}}return{workspaces:n,selectedId:rn(lP),selected:r,activeId:i,creating:rn(uP),select:a,create:v,rename:y,remove:b,servers:o,serverById:g,seriesOf:_,defaults:s,logsConfig:c,notifications:l,configError:u,configWarnings:d,logsDir:f,serverCount:p,runningCount:m,crashedCount:h,refresh:e.refresh,start:t=>e.start(i.value,t),stop:t=>e.stop(i.value,t),restart:t=>e.restart(i.value,t),startAll:()=>e.startAll(i.value),stopAll:()=>e.stopAll(i.value),setEnabled:(t,n)=>e.setEnabled(i.value,t,n),setAutostart:(t,n)=>e.setAutostart(i.value,t,n),setBind:(t,n)=>e.setBind(i.value,t,n),freePort:t=>e.freePort(i.value,t),clearLogs:t=>e.clearLogs(i.value,t),saveConfig:(t,n)=>e.saveConfig(i.value,t,n),createServer:t=>e.create(i.value,t),removeServer:t=>e.remove(i.value,t)}}var fP=t({default:()=>pP}),pP={"activity.emptyTitle":`No events in the last 24 hours`,"activity.emptyDescription":`Starts, exits, crashes and recoveries show up here as they happen.`,"activity.ran":`ran {duration}`,"addServer.title":`Add a server`,"addServer.description":`Appends an entry to {workspace}'s servers.config.json; every policy you leave out is inherited from its defaults.`,"addServer.thisWorkspace":`this workspace`,"addServer.identity":`Identity`,"addServer.id":`Id`,"addServer.idHint":`Lowercase letters, digits, dashes and underscores; used in URLs and logs.`,"addServer.labelHint":`Shown in the panel; defaults to the id.`,"addServer.process":`Process`,"addServer.commandHint":`Spawned without a shell.`,"addServer.argumentsHint":`One argument per line; whitespace inside a line is preserved.`,"addServer.portLifecycle":`Port & lifecycle`,"addServer.bindHint":`lan exposes it to the network; only do that behind auth.`,"addServer.advanced":`Advanced settings`,"addServer.advancedHint":`environment, backups, policy, lifecycle, bootstrap`,"addServer.backups":`Backups`,"addServer.backupIgnore":`Ignore known generated files`,"addServer.bootstrapDescription":`A one-off command run before the first start.`,"addServer.bootstrapHint":`Installs, migrations, downloads — before the first start, not on every one.`,"addServer.policyResources":`Policy & resources`,"addServer.logBufferHint":`Blank keeps the default.`,"addServer.inheritNote":`Restart, health and stop start out matching {settings}; change one here and it is written into this entry instead of staying inherited.`,"addServer.serverDefaults":`Settings → Server defaults`,"addServer.placeholdersTitle":`Available argument placeholders`,"addServer.submit":`Add to servers.config.json`,"app.name":`home-hosted`,"app.tagline":`Process supervisor control panel`,"bind.local":`local — 127.0.0.1`,"bind.lan":`lan — 0.0.0.0`,"bind.explicit":`{bind} — explicit`,"common.cancel":`Cancel`,"common.confirm":`Confirm`,"common.reset":`Reset`,"common.keepIt":`Keep it`,"common.remove":`Remove`,"common.close":`Close`,"common.save":`Save`,"common.saving":`Saving…`,"common.discard":`Discard`,"common.delete":`Delete`,"common.edit":`Edit`,"common.add":`Add`,"common.retry":`Retry`,"common.copy":`Copy`,"common.copied":`Copied`,"common.enabled":`Enabled`,"common.disabled":`Disabled`,"common.none":`None`,"common.unknown":`unknown`,"common.loading":`Loading…`,"common.selectAll":`Select all`,"common.selectNone":`Select none`,"common.name":`Name`,"common.label":`Label`,"common.hostname":`Hostname`,"common.port":`Port`,"common.command":`Command`,"common.environment":`Environment`,"common.memory":`Memory`,"common.cpu":`CPU`,"common.disk":`Disk`,"common.uptime":`Uptime`,"common.status":`Status`,"common.actions":`Actions`,"common.details":`Details`,"common.overview":`Overview`,"common.warning":`Warning`,"common.error":`Error`,"common.confirmQuestion":`{label}?`,"common.unset":`unset`,"common.never":`never`,"common.now":`now`,"common.dismiss":`Dismiss`,"connection.live":`Live`,"connection.connecting":`Connecting`,"connection.reconnecting":`Reconnecting`,"connection.liveUpdates":`Live updates`,"editor.title":`Edit configuration`,"editor.description":`Writes overrides to {file}; anything left alone keeps inheriting the defaults.`,"editor.inSync":`in sync`,"editor.process":`Process`,"editor.processDescription":`What gets spawned, where, and with which environment.`,"editor.labelPlaceholder":`falls back to the id`,"editor.argumentsHint":`One per line; {port} {host} {home} {projectDir} {dataRoot} {id} {label} {cwd} {bind} {lanIp} are substituted.`,"editor.portTitle":`Port & binding`,"editor.portDescription":`How the port is preflighted and where the process is reachable.`,"editor.bindHint":`A custom IPv4 the config already sets stays selectable.`,"editor.lifecycle":`Lifecycle`,"editor.lifecycleDescription":`Whether the supervisor owns this entry at all.`,"editor.save":`Save to servers.config.json`,"editor.changesTitle":`Unsaved changes`,"editor.changesDescription":`What Save would write to servers.config.json.`,"editor.nothingToSave":`Nothing to save.`,"health.disabled":`Not checked`,"health.unknown":`Not probed`,"health.healthy":`Healthy`,"health.unhealthy":`Unhealthy`,"history.start":`Started`,"history.exit":`Exited`,"history.crash":`Crashed`,"history.forcedRestart":`Forced restart`,"history.unhealthy":`Unhealthy`,"history.recovered":`Recovered`,"host.loadPerCpu":`Load / cpu`,"host.cpuTemp":`CPU temp`,"host.samplingOff":`Host sampling is off`,"host.samplingOffDescription":`Turn it on in Settings to collect load, memory, disk and temperature.`,"host.swap":`Swap`,"host.cpus":`CPUs`,"host.loadAverage":`Load 1 / 5 / 15`,"host.memoryUsed":`Memory used`,"host.sampled":`Sampled`,"host.filesystems":`Filesystems`,"host.thresholdsBreached":`Thresholds breached`,"killPort.trigger":`Kill what holds port {port}`,"killPort.title":`Kill the process on port {port}?`,"killPort.body":`It is asked to stop first, and killed only if it ignores that. Anything this panel supervises is refused, so a managed server cannot be lost this way.`,"killPort.confirm":`Kill it`,"language.label":`Language`,"language.select":`Select a language`,"lifecycle.restartTitle":`Restart policy`,"lifecycle.restartDescription":`Backoff between attempts after a crash.`,"lifecycle.restartOnCrash":`Restart on crash`,"lifecycle.maxRetries":`Max retries`,"lifecycle.maxRetriesHint":`Attempts before the server is left crashed.`,"lifecycle.baseDelay":`Base delay (ms)`,"lifecycle.factor":`Backoff factor`,"lifecycle.maxDelay":`Max delay (ms)`,"lifecycle.resetAfter":`Reset after (ms)`,"lifecycle.resetAfterHint":`A run this long clears the retry counter.`,"lifecycle.healthTitle":`Health check`,"lifecycle.healthDescription":`How readiness is probed once the process is up.`,"lifecycle.probe":`Probe this server`,"lifecycle.probeType":`Probe type`,"lifecycle.probePort":`TCP port — connection only`,"lifecycle.probeHttp":`HTTP request — assert a response`,"lifecycle.interval":`Interval (ms)`,"lifecycle.timeout":`Timeout (ms)`,"lifecycle.unhealthyAfter":`Unhealthy after`,"lifecycle.unhealthyAfterHint":`Consecutive failed probes.`,"lifecycle.forceRestartAfter":`Force restart after (ms)`,"lifecycle.forceRestartAfterHint":`0 disables it.`,"lifecycle.startTimeout":`Start timeout (ms)`,"lifecycle.httpPath":`HTTP path`,"lifecycle.httpMethod":`HTTP method`,"lifecycle.expectStatus":`Expect status`,"lifecycle.expectStatusHint":`Blank accepts anything below.`,"lifecycle.expectStatusBelow":`Healthy below status`,"lifecycle.expectBody":`Body must contain`,"lifecycle.expectBodyPlaceholder":`optional substring`,"lifecycle.headBodyHint":`HEAD has no response body, so this check is ignored — use GET, or clear it.`,"lifecycle.stopTitle":`Stop behaviour`,"lifecycle.stopDescription":`How the process tree is asked to go away.`,"lifecycle.signal":`Signal`,"lifecycle.signalTerm":`SIGTERM — ask it to stop`,"lifecycle.signalInt":`SIGINT — interrupt (Ctrl-C)`,"lifecycle.signalKill":`SIGKILL — kill immediately`,"lifecycle.grace":`Grace period (ms)`,"lifecycle.killGroup":`Kill the whole process group`,"lifecycle.killPortHolders":`Also kill whatever holds the port`,"login.title":`Sign in to continue`,"login.firstRunTitle":`This panel has no password yet`,"login.firstRunSubtitle":`Anything on this machine can reach it. Set a password right after you are in.`,"login.authOffTitle":`Authentication is turned off`,"login.authOffSubtitle":`The panel only listens on loopback, which is the only thing protecting it right now.`,"login.subtitle":`The control panel is protected. Enter the password to continue.`,"login.password":`Password`,"login.showPassword":`Show password`,"login.hidePassword":`Hide password`,"login.signIn":`Sign in`,"login.openDashboard":`Open the dashboard`,"login.exposed":`Exposed`,"login.defaultPasswordWarning":`Still on the default password {password}. Change it under Settings — binding beyond 127.0.0.1 stays refused until you do.`,"login.noPasswordWarning":`No password is set. Open Settings from this machine to add one, or run {command}.`,"login.sessionNote":`Sessions stay signed in for {days} days after the last visit — each request extends that window. Signing out clears this browser only.`,"login.servedFromThisMachine":`served from this machine`,"logs.emptyHint":`No output yet.`,"logs.noMatches":`Nothing matches that search or stream filter.`,"logs.searchPlaceholder":`Search this output`,"logs.searchLabel":`Search the log output`,"logs.clearSearch":`Clear the search`,"logs.prevMatch":`Previous match`,"logs.nextMatch":`Next match`,"logs.showTimestamps":`Show timestamps`,"logs.hideTimestamps":`Hide timestamps`,"logs.timestampsShort":`ts`,"logs.pause":`Pause`,"logs.follow":`Follow`,"logs.clearHint":`Clear the in-memory buffer`,"logs.clearLabel":`Clear the log buffer`,"logs.downloadHint":`Download the persisted file`,"logs.downloadLabel":`Download the log file`,"logs.outputLabel":`Log output`,"logs.jumpToLatest":`Jump to latest`,"logs.streaming":`streaming`,"logs.paused":`paused`,"logs.snapshot":`snapshot`,"logs.linesOf":`{count} of {total} lines`,"logs.matches":`{count} matches`,"logs.rowHeight":`row height {height}px · windowed`,"logs.streamAll":`All`,"logs.streamOut":`out`,"logs.streamErr":`err`,"logs.streamSys":`sys`,"metric.emptyHint":`collecting…`,"nav.global":`Global`,"nav.workspace":`Workspace`,"nav.others":`Others`,"nav.overview":`Overview`,"nav.servers":`Servers`,"nav.logs":`Logs`,"nav.workspaceSettings":`Workspace settings`,"nav.globalOverview":`Global Overview`,"nav.globalSettings":`Global settings`,"nav.reverseProxy":`Reverse Proxy`,"nav.navigation":`Navigation`,"nav.closeNavigation":`Close navigation`,"nav.hostVitals":`Host vitals`,"notice.configError":`The config could not be read: {error}`,"notice.configErrorHint":`The panel keeps running the config it already had; fix {path} and it reloads on its own.`,"notice.defaultPassword":`This panel is still on its default password.`,"notice.defaultPasswordHint":`Change it in Global settings — binding beyond 127.0.0.1 stays refused until you do.`,"notice.noPassword":`Authentication is on but no password is set, so nothing is being asked for.`,"notice.noPasswordHint":`Set one in Global settings to actually lock the panel.`,"notice.exposed":`This panel is reachable beyond 127.0.0.1.`,"notice.exposedHint":`Keep the password strong, or put a TLS-terminating proxy in front of it.`,"notice.authOff":`Authentication is disabled — the panel is only protected by its loopback bind.`,"onPortConflict.block":`block — refuse to start`,"onPortConflict.warn":`warn — start anyway`,"onPortConflict.follow":`follow — adopt a detached restart of itself`,"onPortConflict.reclaim":`reclaim — replace it with a supervised copy`,"onPortConflict.kill":`kill — stop whatever holds the port`,"palette.placeholder":`Jump to a server, run an action, open a setting…`,"palette.openServer":`Open {label}`,"palette.serverLogs":`Logs for {label}`,"palette.startServer":`Start {label}`,"palette.stopServer":`Stop {label}`,"palette.restartServer":`Restart {label}`,"palette.goOverview":`Go to Overview`,"palette.goGlobalOverview":`Go to Global Overview`,"palette.goGlobalSettings":`Go to Global settings`,"palette.goProxy":`Go to Reverse Proxy`,"palette.goServers":`Go to Servers`,"palette.goLogs":`Go to Logs`,"palette.goWorkspaceSettings":`Go to Workspace settings`,"palette.startAll":`Start every enabled server here`,"palette.stopAll":`Stop every server here`,"palette.switchWorkspace":`Switch to {label}`,"palette.globalSetting":`Global setting: {label}`,"palette.workspaceSetting":`Workspace setting: {label}`,"palette.theme":`{theme} theme`,"palette.groupServers":`Servers`,"palette.groupActions":`Actions`,"palette.groupNavigate":`Navigate`,"palette.groupWorkspaces":`Workspaces`,"palette.groupAppearance":`Appearance`,"palette.navigate":`navigate`,"palette.run":`run`,"palette.noMatches":`Nothing matches “{query}”.`,"proxy.account.automatic":`Automatic (the only account that can answer)`,"proxy.account.noTxt":`no TXT support`,"proxy.account.noCredentials":`no credentials`,"proxy.account.gone":`That account is no longer configured.`,"proxy.account.emptyHint":`DNS-01 writes the challenge record here. Empty uses the only account that can answer a challenge, when there is one.`,"proxy.account.cannotWrite":`A {provider} account cannot write TXT records, so it cannot answer a DNS-01 challenge.`,"proxy.account.noCredentialsYet":`No credentials are stored for this {provider} account yet.`,"proxy.account.through":`The challenge is written through this {provider} account.`,"proxy.certificate.title":`Uploaded certificates`,"proxy.certificate.description":`Served by routes set to “Uploaded certificate”. Everything else — public or local — is certified by the engine on its own.`,"proxy.certificate.add":`Add certificate`,"proxy.certificate.emptyTitle":`No certificate uploaded`,"proxy.certificate.emptyDescription":`A route set to “Uploaded certificate” needs a pair covering its hostname, or the engine has nothing to serve for it.`,"proxy.certificate.daysLeft":`{days} days left`,"proxy.certificate.subject":`Subject`,"proxy.certificate.issuer":`Issuer`,"proxy.certificate.validUntil":`Valid until`,"proxy.certificate.covers":`Covers`,"proxy.certificate.noSans":`no hostnames in its SANs`,"proxy.certificate.removeAria":`Remove {name}`,"proxy.certificate.removeQuestion":`Remove “{name}”?`,"proxy.certificate.removeBody":`The pair is deleted from disk. A route still set to “Uploaded certificate” keeps serving the engine's own certificate until you change it, and the panel refuses this while one still serves it.`,"proxy.certificate.removeIt":`Remove it`,"proxy.certificate.stored":`“{label}” stored.`,"proxy.certificate.removed":`“{name}” removed.`,"proxy.certificateDialog.title":`Add a certificate`,"proxy.certificateDialog.description":`The pair is stored on disk under its id, and a route set to “Uploaded certificate” can serve it.`,"proxy.certificateDialog.label":`Label`,"proxy.certificateDialog.labelPlaceholder":`Home wildcard`,"proxy.certificateDialog.id":`Id`,"proxy.certificateDialog.idHint":`names the files on disk`,"proxy.certificateDialog.certFile":`Certificate file (.pem, .crt)`,"proxy.certificateDialog.keyFile":`Private key file (.pem, .key)`,"proxy.certificateDialog.pasteCert":`Or paste the certificate`,"proxy.certificateDialog.pasteKey":`Or paste the private key`,"proxy.certificateDialog.certPlaceholder":`-----BEGIN CERTIFICATE-----`,"proxy.certificateDialog.keyPlaceholder":`-----BEGIN PRIVATE KEY-----`,"proxy.certificateDialog.store":`Store the certificate`,"proxy.certificateDialog.errorLabel":`a label is required`,"proxy.certificateDialog.errorId":`the id must start with a letter or digit, then letters, digits, dash or underscore`,"proxy.certificateDialog.errorTaken":`“{id}” is already used by another certificate`,"proxy.certificateDialog.errorCertificate":`paste or choose the certificate`,"proxy.certificateDialog.errorPrivateKey":`paste or choose the private key`,"proxy.engine.title":`Engine`,"proxy.engine.description":`The reverse proxy itself. The panel downloads the current build, supervises it and applies its configuration through the engine's own admin API.`,"proxy.engine.notInFrame":`The proxy state is not in this panel's frame yet.`,"proxy.engine.readFailed":`The engine could not be read`,"proxy.engine.notInstalled":`No engine installed`,"proxy.engine.installNote":`Installing downloads the current {engine} release the panel supervises — about 46 MB, once. Nothing is exposed until a route is added and the proxy is switched on.`,"proxy.engine.version":`Version`,"proxy.engine.notProbed":`not probed yet`,"proxy.engine.source":`Source`,"proxy.engine.sourceCustom":`a path configured by hand`,"proxy.engine.sourceDownloaded":`downloaded by the panel`,"proxy.engine.size":`Size`,"proxy.engine.binary":`Binary`,"proxy.engine.copyPath":`Copy the binary path`,"proxy.engine.address":`Live address`,"proxy.engine.process":`Process`,"proxy.engine.certificates":`Certificates`,"proxy.engine.noCert":`no public certificate yet`,"proxy.engine.expiresSoon":`soonest expires in {days} days`,"proxy.engine.acme":`ACME certificates`,"proxy.engine.localCa":`Local CA`,"proxy.engine.dns01":`DNS-01`,"proxy.engine.tcpUdp":`TCP/UDP`,"proxy.engine.documentation":`{engine} documentation`,"proxy.engine.failed":`The engine reported a failure`,"proxy.engine.setcapHint":`A privileged port (below 1024) needs this once on Linux:`,"proxy.engine.copyCommand":`Copy the command`,"proxy.engine.install":`Install engine`,"proxy.engine.start":`Start`,"proxy.engine.stop":`Stop`,"proxy.engine.apply":`Apply configuration`,"proxy.engine.revert":`Revert`,"proxy.engine.revertHint":`Go back to the configuration that applied before the last one`,"proxy.engine.update":`Update engine`,"proxy.listener.title":`Listener & certificates`,"proxy.listener.description":`Where the proxy listens. 80 and 443 are what a router forwards and what an ACME challenge expects; a port below 1024 needs a privileged bind.`,"proxy.listener.unprivilegedPorts":`unprivileged ports`,"proxy.listener.run":`Run the reverse proxy`,"proxy.listener.runHint":`Saved with Save settings; the panel starts or stops the engine to match.`,"proxy.listener.httpPort":`HTTP port`,"proxy.listener.httpPortHint":`ACME HTTP-01 challenges and the redirect to HTTPS.`,"proxy.listener.httpsPort":`HTTPS port`,"proxy.listener.httpsPortHint":`Where certificates are served.`,"proxy.listener.useFallback":`Use {http} / {https}`,"proxy.listener.useStandard":`Use 80 / 443`,"proxy.listener.forwardHint":`Running unprivileged — forward 80 and 443 to these ports on your router.`,"proxy.listener.privilegedTitle":`A port below 1024 needs a privileged bind`,"proxy.listener.privilegedBody":`Running the panel as your own user cannot bind 80 or 443 without permission. Either grant it once {how} and restart the engine, or keep {http}/{https} and forward 80/443 from your router. On Windows the port is free to bind, but something else may hold it.`,"proxy.listener.privilegedWithSetcap":`with {command} on the engine binary`,"proxy.listener.email":`ACME account e-mail`,"proxy.listener.emailPlaceholder":`you@example.com`,"proxy.listener.emailHint":`Let's Encrypt uses it to warn you about an expiring certificate. A local-only name gets the engine's own CA and needs none.`,"proxy.listener.emailNeededTitle":`An e-mail is needed for automatic HTTPS`,"proxy.listener.emailNeededBody":`“{host}” is a public hostname, so the engine asks a CA for a certificate and the account address is required. Fill it in, switch the route's TLS off, or turn on the staging endpoint while you try things out.`,"proxy.listener.staging":`Use the ACME staging endpoint`,"proxy.listener.stagingHint":`Untrusted certificates and no rate-limit burn while you try things out.`,"proxy.listener.dns01":`Answer challenges with DNS-01`,"proxy.listener.dns01Hint":`The panel writes the challenge record through a route's DNS account, so no inbound port is needed to get a certificate.`,"proxy.listener.resolvers":`Check the record against`,"proxy.listener.resolversPlaceholder":`1.1.1.1, 8.8.8.8`,"proxy.listener.resolversHint":`Nameservers the engine reads the record from; empty uses its own. Needed where split-horizon DNS shows it a different view.`,"proxy.listener.noAccountTitle":`No DNS account can answer a challenge`,"proxy.listener.noAccountBody":`DNS-01 is on, but no account has credentials it can use. Add one under Workspace Settings → Dynamic DNS, or public names stay on the port challenges and wait for a CA that cannot reach them.`,"proxy.listener.manyAccountsTitle":`Each public route has to pick an account`,"proxy.listener.manyAccountsBody":`More than one account can answer, so “Automatic” cannot choose. Pick one per route, or those names stay on the port challenges.`,"proxy.listener.accountNote":`Each route picks its own account, so names in different zones each get the right one. A route left on “Automatic” uses the only account the table names. A name no account answers stays on the port challenges.`,"proxy.listener.pendingNote":`A public name whose certificate is still being issued is reachable in the meantime — over HTTPS with a temporary untrusted certificate, or over plain HTTP with a page naming the ports to forward.`,"proxy.retry.inFallback":`~8 hours`,"proxy.retryButton.force":`Force retry certificate`,"proxy.retryButton.question":`Ask the CA again for {host}?`,"proxy.retryButton.body":`The engine failed to obtain a CA certificate for this hostname previously and is using its local CA. It retries automatically every {retryIn}.`,"proxy.retryButton.warning":`Retrying now will kill this route and make it unavailable for a bit, are you sure to continue?`,"proxy.retryButton.leave":`Leave it`,"proxy.retryButton.now":`Retry now`,"proxy.routeDialog.titleEdit":`Edit route`,"proxy.routeDialog.titleAdd":`Add route`,"proxy.routeDialog.description":`A hostname, what it forwards to, and how it is served over TLS.`,"proxy.routeDialog.hostname":`Hostname`,"proxy.routeDialog.hostnamePlaceholder":`gitea.example.com`,"proxy.routeDialog.path":`Path prefix`,"proxy.routeDialog.pathPlaceholder":`/optional`,"proxy.routeDialog.pathHint":`Empty serves the whole host.`,"proxy.routeDialog.target":`Target`,"proxy.routeDialog.tls":`TLS`,"proxy.routeDialog.dnsAccount":`DNS account`,"proxy.routeDialog.localNote":`A local-only name is signed by the engine's own CA, so no DNS account is involved.`,"proxy.routeDialog.workspace":`Workspace`,"proxy.routeDialog.server":`Server`,"proxy.routeDialog.noServers":`this workspace has no servers`,"proxy.routeDialog.stoppedNote":`A server that is stopped is not routed: the row shows “No upstream” until it runs again.`,"proxy.routeDialog.upstream":`Upstream`,"proxy.routeDialog.upstreamPlaceholder":`http://10.0.0.5:8080`,"proxy.routeDialog.upstreamHint":`A literal address, including the port. A scheme is optional.`,"proxy.routeDialog.panelNote":`Serving the control panel needs authentication on and a password that is not the default — the panel refuses the save otherwise.`,"proxy.routeDialog.save":`Save route`,"proxy.routes.title":`Routes`,"proxy.routes.description":`One public hostname per service. A route may point at a supervised server in any workspace, at this panel, or at a literal upstream.`,"proxy.routes.add":`Add route`,"proxy.routes.cannotSaveTitle":`These routes cannot be saved as they stand`,"proxy.routes.cannotRoute":`{host} cannot be routed`,"proxy.routes.emptyTitle":`No routes yet`,"proxy.routes.emptyDescription":`Add one to expose a server through a domain — the engine gets the certificate on its own.`,"proxy.routes.addFirst":`Add the first route`,"proxy.routes.columnHostname":`Hostname`,"proxy.routes.columnTarget":`Target`,"proxy.routes.columnUpstream":`Upstream`,"proxy.routes.columnTls":`TLS`,"proxy.routes.columnState":`State`,"proxy.routes.columnOn":`On`,"proxy.routes.openInTab":`Open {url} in a new tab`,"proxy.routes.noHostname":`no hostname yet`,"proxy.routes.toggle":`Route {name}`,"proxy.routes.edit":`Edit {name}`,"proxy.routes.remove":`Remove {name}`,"proxy.status.certified":`certificate ready`,"proxy.status.localCa":`engine CA`,"proxy.status.uploaded":`uploaded pair`,"proxy.status.awaitingCa":`waiting for the CA`,"proxy.status.failed":`certificate failed`,"proxy.status.fellBack":`Fell back to Local CA`,"proxy.status.serving":`Serving`,"proxy.status.disabled":`Disabled`,"proxy.status.noUpstream":`No upstream`,"proxy.status.error":`Error`,"proxy.status.unapplied":`Not applied yet`,"proxy.status.off":`Off`,"proxy.status.stopped":`Stopped`,"proxy.status.starting":`Starting`,"proxy.status.running":`Running`,"proxy.status.unsupported":`Unsupported`,"proxy.target.server":`A supervised server`,"proxy.target.panel":`This control panel`,"proxy.target.external":`A literal upstream`,"proxy.target.controlPanel":`control panel`,"proxy.target.noServer":`no server picked`,"proxy.target.noUpstream":`no upstream`,"proxy.tls.auto":`Automatic — the engine decides`,"proxy.tls.off":`Off — plain HTTP`,"proxy.tls.manual":`Uploaded certificate`,"proxy.tls.plain":`plain HTTP`,"proxy.tls.uploaded":`uploaded certificate`,"proxy.tls.letsEncrypt":`Let’s Encrypt`,"proxy.tls.engineCa":`engine CA (local)`,"proxy.tls.hintOff":`Plain HTTP: no certificate is served for this hostname.`,"proxy.tls.hintManual":`Serves the certificate pair uploaded below.`,"proxy.tls.hintEmpty":`A public hostname gets an ACME certificate; a local-only name gets the engine’s own CA.`,"proxy.tls.hintPublic":`A public hostname, so the engine asks a CA for a certificate — an ACME account e-mail is needed.`,"proxy.tls.hintLocal":`A local-only name, so the engine signs it with its own locally-trusted CA.`,"proxy.validation.labelRequired":`a label is required`,"proxy.validation.idPattern":`the id must start with a letter or digit, then letters, digits, dash or underscore`,"proxy.validation.hostRequired":`a hostname is required`,"proxy.validation.hostPattern":`a hostname of letters, digits, dots and dashes, e.g. home.example.com`,"proxy.validation.hostTaken":`"{host}" is already routed for this path`,"proxy.validation.pathSlash":`a path prefix starts with /`,"proxy.validation.pathSpace":`a path prefix cannot contain a space`,"proxy.validation.idTaken":`route id "{id}" is used twice`,"proxy.validation.workspaceRequired":`pick the workspace that owns the server`,"proxy.validation.serverRequired":`pick a server in that workspace`,"proxy.validation.url":`an upstream like http://10.0.0.5:8080`,"proxy.view.title":`Reverse Proxy`,"proxy.view.description":`Expose your servers through domains, with automatic HTTPS via 80/443 or a DNS challenge.`,"proxy.view.dnsNote":`For DNS-01, add the domain's DNS provider to any workspace under Workspace Settings → Dynamic DNS; a route can then pick that account, from any workspace.`,"proxy.view.readFailed":`The reverse proxy could not be read`,"proxy.view.reading":`Reading the reverse proxy…`,"proxy.view.engineInstalled":`Engine installed`,"proxy.view.engineStarting":`Engine starting`,"proxy.view.engineStopping":`Engine stopping`,"proxy.view.configApplied":`Configuration applied`,"proxy.view.configReverted":`Configuration reverted`,"proxy.view.settingsSaved":`Settings saved.`,"proxy.view.settingsSavedToast":`Settings saved`,"proxy.view.retryFailed":`the retry failed`,"proxy.view.retryAsked":`asking the CA again for {host}`,"proxy.view.fieldChanged":`field changed`,"proxy.view.fieldsChanged":`fields changed`,"proxy.view.noChanges":`No unsaved changes`,"proxy.view.discard":`Discard changes`,"proxy.view.save":`Save settings`,"serverCard.open":`Open {url}`,"serverCard.adoptedHint":`This process replaced itself: the panel adopted the successor instead of starting a second copy. Stop still works, its output stays where the successor sent it.`,"serverCard.detached":`detached`,"serverCard.persistentHint":"This entry runs under its own nanny, so it keeps running when the panel stops, restarts or is killed. `home-hosted down` reports it instead of stopping it; only an explicit stop does.","serverCard.persistent":`persistent`,"serverCard.disabled":`disabled`,"serverCard.autostart":`autostart`,"serverCard.healthProbe":`Health probe`,"serverCard.notProbed":`not probed`,"serverCard.restarts":`Restarts`,"serverCard.pid":`PID`,"serverCard.rss":`RSS`,"serverCard.procs":`Procs`,"serverCard.portFree":`free`,"serverCard.portInUse":`in-use`,"serverCard.uptime24h":`24h up`,"serverCard.probe":`Probe`,"serverCard.crashes24h":`24h crashes`,"serverCard.lastCrash":`Last crash`,"serverCard.unhealthyFor":`Unhealthy for {duration}`,"serverCard.nextAttempt":`Next attempt {when}`,"serverCard.start":`Start`,"serverCard.stop":`Stop`,"serverCard.restart":`Restart`,"serverCard.detailsHint":`Live logs and full telemetry`,"serverCard.moreActions":`More actions for {label}`,"serverCard.disable":`Disable server`,"serverCard.enable":`Enable server`,"serverCard.removeFromAutostart":`Remove from autostart`,"serverCard.autostartWithPanel":`Autostart with the panel`,"serverCard.clearLogBuffer":`Clear log buffer`,"serverCard.removeServer":`Remove server`,"serverCard.removeTitle":`Remove this server?`,"serverCard.removeDescription":`{label} is removed from servers.config.json: its process is stopped, and its logs and crash history are deleted with it.`,"serverCard.statusField":`status`,"serverForm.workingDirectory":`Working directory`,"serverForm.cwdHint":`Relative paths resolve under projectDir.`,"serverForm.arguments":`Arguments`,"serverForm.portHint":`Blank means the server has no port to probe or preflight.`,"serverForm.bindAddress":`Bind address`,"serverForm.autostart":`Autostart with up`,"serverForm.autostartHint":`Start it whenever the control plane comes up.`,"serverForm.persistent":`Persistent`,"serverForm.persistentHint":"Keeps running when the panel stops; `down` reports it instead of stopping it.","serverForm.envHint":`KEY=value per line, exported to the process.`,"serverForm.dataEnvs":`Data envs`,"serverForm.dataEnvsHint":`ENV=path per line — exported to the process and backed up automatically.`,"serverForm.envFile":`Env file`,"serverForm.envFilePlaceholder":`optional KEY=value file`,"serverForm.envFileHint":`Loaded at spawn; its values override env.`,"serverForm.dependsOn":`Depends on`,"serverForm.dependsOnHint":`Comma separated; started first and waited for until healthy, stopped last.`,"serverForm.backupPaths":`Extra backup paths`,"serverForm.backupPathsHint":`One per line, placeholders allowed; data envs are captured already.`,"serverForm.backupIgnore":`Ignore known generated files when backing this up`,"serverForm.backupIgnoreHint":`Skips node_modules, dist, .next and the other caches nothing restores from.`,"serverForm.bootstrap":`Bootstrap`,"serverForm.bootstrapDescription":`A one-off command run before the first start — installs, migrations, downloads.`,"serverForm.runBootstrap":`Run a bootstrap`,"serverForm.bootstrapHint":`Off means the entry has none and the key is sent as null.`,"serverForm.timeoutMs":`Timeout (ms)`,"serverForm.runOnce":`Only once per session`,"serverForm.runOnceHint":`Off means every start re-runs it.`,"serverForm.bootstrapArgs":`Bootstrap arguments`,"serverForm.bootstrapArgsHint":`One per line; same placeholders as the main arguments.`,"serverForm.bootstrapEnv":`Bootstrap environment`,"serverForm.bootstrapEnvHint":`KEY=value per line, exported to the bootstrap process only.`,"serverForm.onPortConflict":`On port conflict`,"serverForm.logBufferLines":`Log buffer lines`,"serverForm.maxRssMb":`Max RSS (MB)`,"serverForm.maxRssHint":`Restart above this; blank or 0 disables it.`,"serverForm.enabledHint":`Off keeps the entry in the config but refuses to start it.`,"settings.auth.policyTitle":`Access policy`,"settings.auth.policyDescription":`Authentication applies whether the panel is on loopback or exposed to the network.`,"settings.auth.requirePassword":`Require a password`,"settings.auth.requirePasswordHint":`Every request needs a signed-in session.`,"settings.auth.sessionLifetime":`Session lifetime (ms)`,"settings.auth.sessionLifetimeHint":`Idle timeout: 604800000 is one week of no activity. Each request restarts it.`,"settings.auth.cookieSecure":`Cookie Secure`,"settings.auth.cookieSecureAuto":`Auto — only over HTTPS`,"settings.auth.cookieSecureAlways":`Always`,"settings.auth.cookieSecureNever":`Never — plain HTTP`,"settings.auth.trustProxy":`Behind a reverse proxy`,"settings.auth.trustProxyOff":`No — ignore x-forwarded-*`,"settings.auth.trustProxyLoopback":`Yes, from this machine only`,"settings.auth.trustProxyAny":`Yes, from any caller`,"settings.auth.trustProxyHint":`Trust x-forwarded-* for the client address and protocol. 'From this machine only' is the safe choice for a proxy on the same host. 'From any caller' believes the caller's own header, so login lockout counts per forged address and can be bypassed.`,"settings.auth.maxLoginAttempts":`Max login attempts`,"settings.auth.maxLoginAttemptsHint":`Failures before a temporary lockout.`,"settings.auth.lockout":`Lockout (ms)`,"settings.auth.apiTokenSet":`An API token is set`,"settings.auth.apiTokenMissing":`No API token`,"settings.auth.apiTokenNote":`Scripts can call the API with {code} instead of signing in.`,"settings.auth.noTokenNote":`For shell scripts and agents, generate one with {command}.`,"settings.auth.defaultPasswordTitle":`The default password is still in use`,"settings.auth.defaultPasswordText":`Set your own password below. Binding beyond {address} stays refused until you do.`,"settings.auth.blockedTitle":`This listener is being refused`,"settings.auth.noPasswordTitle":`Authentication is on but no password is set`,"settings.auth.noPasswordText":`Nothing is actually required yet, and binding beyond {address} stays refused until a password exists.`,"settings.auth.exposedTitle":`Reachable beyond 127.0.0.1`,"settings.auth.exposedText":`Keep the password strong, or put a TLS-terminating proxy in front of the panel.`,"settings.auth.changePassword":`Change password`,"settings.auth.setPassword":`Set a password`,"settings.auth.passwordDescription":`Stored as a scrypt hash in the secrets file, never in the config.`,"settings.auth.currentPassword":`Current password`,"settings.auth.newPassword":`New password`,"settings.auth.repeatPassword":`Repeat new password`,"settings.auth.passwordMismatch":`The two passwords do not match.`,"settings.auth.updatePassword":`Update password`,"settings.auth.setPasswordAndEnable":`Set password and enable auth`,"settings.auth.clearPassword":`Clear password`,"settings.auth.clearPasswordConfirm":`Confirm clear`,"settings.auth.clearPasswordTitle":`Clear the password?`,"settings.auth.clearPasswordHint":`Authentication is switched off with it, and anyone reaching the panel is let straight in.`,"settings.auth.shortPasswordTitle":`That is a short password`,"settings.auth.shortPasswordText":`It is allowed, but longer is the only thing standing between the network and this panel.`,"settings.auth.passwordUpdated":`Password updated. Other sessions were signed out.`,"settings.auth.passwordCleared":`Password cleared and authentication disabled.`,"settings.backup.createTitle":`Create a backup`,"settings.backup.createDescription":`Pick what this archive captures. Nothing is written until you create it.`,"settings.backup.chooseItems":`Choose items`,"settings.backup.partialCapture":`Only the chosen items are captured.`,"settings.backup.withoutGlobalSettings":`Without the global settings, a restore can only place a workspace where the target panel already declares it.`,"settings.backup.password":`Password (optional)`,"settings.backup.passwordHint":`Encrypts the archive; restoring it asks for the same password.`,"settings.backup.create":`Create backup`,"settings.backup.chooseItemsFor":`{label} — choose items`,"settings.backup.subDescription":`A workspace can be captured whole or only its settings, servers, secrets and declared data paths.`,"settings.backup.selectedOf":`{selected} of {total} selected`,"settings.backup.nothingSelectable":`This workspace declares nothing selectable yet.`,"settings.backup.apply":`Apply`,"settings.backup.created":`Backup created.`,"settings.backup.leafSettingsHint":`Server defaults, log retention and notifications`,"settings.backup.leafServersHint":`Every entry in servers.config.json`,"settings.backup.leafSecretsHint":`Telegram bot token and DDNS credentials`,"settings.backup.leafDataHint":`A declared data path`,"settings.backup.pathFromOrigin":`{path} — from {origin}`,"settings.backup.entrySettingsHint":`Listener, auth, host vitals and the backups policy`,"settings.backup.entrySecretsHint":`Password hash and API token hash`,"settings.backup.entryTlsHint":`The panel's own certificate pair`,"settings.backup.entryWorkspaceHint":`Its settings, servers, secrets and declared data paths`,"settings.backup.entryGlobalSettings":`Global settings`,"settings.backup.entryGlobalSecrets":`Global secrets (password, API token)`,"settings.backup.entryTlsCertificate":`TLS certificate`,"settings.backup.leafSettings":`Settings`,"settings.backup.leafServers":`Servers`,"settings.backup.leafSecrets":`Secrets`,"settings.backup.restoreItemLabel":`{workspace}: {item}`,"settings.backup.noteMissing":`does not exist yet`,"settings.backup.noteCovered":`covered by {path}`,"settings.backup.noteAlreadyDeclared":`already declared by {origin}`,"settings.backup.noteContainsBackupDir":`contains the backup directory`,"settings.backup.noteUnknownWorkspace":`unknown workspace`,"settings.backup.noteMissingFromArchive":`missing from the archive`,"settings.backup.noteDeclaredByBackup":`declared by the backup's config, which is not being restored`,"settings.backup.noteNotDeclared":`not declared by this config, nor by the backup`,"settings.backup.noteRestoredFrom":`restored from {path}`,"settings.backups.policyTitle":`Policy`,"settings.backups.policyDescription":`How many archives the panel keeps, and the extra paths every one of them captures.`,"settings.backups.allow":`Allow backups`,"settings.backups.allowHint":`Off stops new archives; whatever is already on disk stays downloadable and restorable.`,"settings.backups.offTitle":`Backups are off`,"settings.backups.offText":`Nothing new is archived until this is back on. The archives below can still be downloaded, restored and deleted.`,"settings.backups.keep":`Keep`,"settings.backups.keepHint":`Older archives are pruned after each backup.`,"settings.backups.extraPaths":`Extra paths`,"settings.backups.extraPathsHint":`Comma separated, captured in every archive on top of what each workspace declares.`,"settings.backups.extraPathsPlaceholder":`{home}/myapp-data`,"settings.backups.archiveDirectory":`Archive directory`,"settings.backups.copyArchiveDirectory":`Copy the archive directory`,"settings.backups.changeDirectory":`Changing it is a file-level decision: edit {path}.`,"settings.backups.theSettingsFile":`the settings file`,"settings.backups.capturesTitle":`What a backup captures`,"settings.backups.capturesDescription":`Pick these in the create dialog. A workspace can be taken whole or only its settings, servers, secrets and declared data paths.`,"settings.backups.nothingSelectable":`Nothing is selectable yet.`,"settings.backups.fromOrigin":`from {origin}`,"settings.backups.notCaptured":`not captured`,"settings.backups.generatedSkipped":`generated directories skipped`,"settings.backups.included":`included`,"settings.backups.skipped":`skipped`,"settings.backups.workspacesNote":`This panel serves {count} workspaces; each is its own selectable entry.`,"settings.backups.archivesTitle":`Archives`,"settings.backups.archivesDescription":`Stored in the backup directory and downloadable at any time.`,"settings.backups.create":`Create backup…`,"settings.backups.restore":`Restore…`,"settings.backups.noArchives":`No archives yet`,"settings.backups.noArchivesEnabled":`Create one now to capture the panel and whichever workspaces you pick.`,"settings.backups.noArchivesDisabled":`Nothing has been archived yet, and backups are off.`,"settings.backups.encrypted":`encrypted`,"settings.backups.download":`Download`,"settings.backups.restoreAction":`Restore`,"settings.backups.confirmDelete":`Confirm delete`,"settings.backups.deleted":`Deleted {name}.`,"settings.backups.kindSettings":`settings`,"settings.backups.kindServers":`servers`,"settings.backups.kindSecrets":`secrets`,"settings.backups.kindTls":`tls`,"settings.backups.kindData":`data`,"settings.backups.kindWorkspace":`workspace`,"settings.ddns.statePending":`Waiting`,"settings.ddns.stateOk":`Updated`,"settings.ddns.stateUnchanged":`Current`,"settings.ddns.stateSkipped":`Skipped`,"settings.ddns.stateError":`Failed`,"settings.ddns.passFinished":`Dynamic DNS pass finished`,"settings.ddns.credentialsSaved":`Credentials saved for {account}`,"settings.ddns.credentialsRemoved":`Credentials removed for {account}`,"settings.ddns.loadErrorTitle":`Dynamic DNS settings could not be loaded`,"settings.ddns.title":`Dynamic DNS`,"settings.ddns.description":`Keep these hostnames pointed at this machine's public address. Credentials live in the secrets file, never in servers.config.json.`,"settings.ddns.checking":`checking`,"settings.ddns.needsAttention":`needs attention`,"settings.ddns.watching":`watching`,"settings.ddns.updateNow":`Update now`,"settings.ddns.enabled":`Keep dynamic DNS updated`,"settings.ddns.enabledHint":`A pass runs on the interval below; a provider is only called when the address actually changed.`,"settings.ddns.interval":`Check every (ms)`,"settings.ddns.intervalHint":`60000 is one minute; the default is five.`,"settings.ddns.ttl":`TTL (s)`,"settings.ddns.ttlHint":`1 means automatic where the provider supports it.`,"settings.ddns.detectIpv4":`Detect IPv4`,"settings.ddns.detectIpv4Hint":`Needed for A records.`,"settings.ddns.detectIpv6":`Detect IPv6`,"settings.ddns.detectIpv6Hint":`Needed for AAAA records.`,"settings.ddns.accountsTitle":`Provider accounts`,"settings.ddns.accountsDescription":`One entry per API token. Credentials are stored on the server and never come back.`,"settings.ddns.credentialsSet":`credentials saved`,"settings.ddns.noCredentials":`no credentials`,"settings.ddns.credentials":`Credentials`,"settings.ddns.removeAccountBlocked":`Remove the hostnames using this account first`,"settings.ddns.noAccounts":`No accounts yet. Pick a provider and add one.`,"settings.ddns.provider":`Provider`,"settings.ddns.accountId":`Account id`,"settings.ddns.accountIdPlaceholder":`cloudflare-home`,"settings.ddns.accountIdHint":"The account id names the account and keys its stored credentials; lowercase letters, digits, `-` and `_`.","settings.ddns.hostnamesTitle":`Hostnames`,"settings.ddns.hostnamesDescription":`The whole list to keep updated — suba.domain.com, domain.xyz and so on.`,"settings.ddns.account":`Account`,"settings.ddns.recordA":`A (IPv4)`,"settings.ddns.recordAaaa":`AAAA (IPv6)`,"settings.ddns.aaaaUnsupported":`This provider cannot manage AAAA records.`,"settings.ddns.proxied":`Proxied`,"settings.ddns.proxiedHint":`Cloudflare serves this record through its own network.`,"settings.ddns.ipv6Off":`IPv6 detection is off`,"settings.ddns.advanced":`Advanced`,"settings.ddns.advancedHint":`registered domain and TTL override`,"settings.ddns.registeredDomain":`Registered domain`,"settings.ddns.registeredDomainPlaceholder":`example.co.uk`,"settings.ddns.registeredDomainHint":`Only when the provider has to be told the apex, e.g. three-label domains.`,"settings.ddns.ttlOverride":`TTL override (s)`,"settings.ddns.ttlOverrideHint":`Blank uses the value above.`,"settings.ddns.noHostnames":`No hostnames yet.`,"settings.ddns.hostnamePlaceholder":`home.example.com`,"settings.ddns.lastPass":`Last pass`,"settings.ddns.ipv4Value":`IPv4 {address}`,"settings.ddns.ipv6Value":`IPv6 {address}`,"settings.ddns.type":`Type`,"settings.ddns.state":`State`,"settings.ddns.address":`Address`,"settings.ddns.detail":`Detail`,"settings.ddns.credentialsTitle":`Provider credentials`,"settings.ddns.credentialsDescription":`Saved fields are never sent back. Saving replaces every field for this account and runs a pass right away.`,"settings.ddns.optional":`Optional.`,"settings.ddns.whereToGet":`Where to get these`,"settings.ddns.forget":`Forget`,"settings.ddns.forgetConfirm":`Forget them`,"settings.ddns.forgetTitle":`Forget the stored credentials?`,"settings.ddns.forgetHint":`They are removed from disk and cannot be read back; you would need to paste them again.`,"settings.ddns.saveCredentials":`Save credentials`,"settings.defaults.title":`Server defaults`,"settings.defaults.description":`Applied to every entry that does not set its own value.`,"settings.defaults.enabledHint":`New entries start enabled.`,"settings.defaults.autostart":`Autostart with the panel`,"settings.defaults.bind":`Bind`,"settings.defaults.bindLocal":`Local — 127.0.0.1`,"settings.defaults.bindLan":`LAN — 0.0.0.0`,"settings.defaults.onPortConflict":`On port conflict`,"settings.defaults.conflictBlock":`Block the start`,"settings.defaults.conflictWarn":`Warn and start anyway`,"settings.defaults.conflictFollow":`Follow a detached restart of itself`,"settings.defaults.conflictReclaim":`Replace a detached restart with a supervised copy`,"settings.defaults.conflictKill":`Kill whatever holds the port`,"settings.defaults.logBufferLines":`Log buffer lines`,"settings.defaults.logBufferLinesHint":`Kept in memory per server.`,"settings.host.title":`Thresholds`,"settings.host.description":`A threshold of 0 disables that alert. Breaches notify once, and once more on recovery.`,"settings.host.enabled":`Sample this machine`,"settings.host.enabledHint":`Load, memory, swap, disk and CPU temperature, on the interval below.`,"settings.host.interval":`Interval (ms)`,"settings.host.intervalHint":`How often the host is sampled and alerts are checked.`,"settings.host.diskPaths":`Disk paths`,"settings.host.diskPathsHint":`Comma separated; templates like {home} are expanded.`,"settings.host.diskUsed":`Disk used (%)`,"settings.host.memoryUsed":`Memory used (%)`,"settings.host.swapUsed":`Swap used (%)`,"settings.host.zeroDisables":`0 disables the alert.`,"settings.host.loadPerCpu":`Load per CPU`,"settings.host.loadPerCpuHint":`1-minute load average divided by the core count.`,"settings.host.tempCelsius":`CPU temperature (°C)`,"settings.host.tempCelsiusHint":`Linux only; ignored where the OS does not expose it.`,"settings.host.breachingNow":`Breaching now:`,"settings.host.nothingBreaching":`Nothing is breaching right now.`,"settings.interface.title":`Interface`,"settings.interface.description":`The panel is a static site: keep the stock one, or serve your own build from the state directory.`,"settings.interface.currentlyServing":`Currently serving`,"settings.interface.copyDirectory":`Copy the UI directory`,"settings.interface.fileCount":`{count} files`,"settings.interface.sourceStock":`stock`,"settings.interface.sourceCustom":`custom`,"settings.interface.unnamed":`unnamed`,"settings.interface.panelVersion":`Panel version`,"settings.interface.copyPanelVersion":`Copy the panel version`,"settings.interface.panelVersionHint":`The release this panel process is running — {command} prints the same number.`,"settings.interface.panelName":`Panel name`,"settings.interface.panelNameHint":`Shown in the sidebar by the stock UI. A custom UI may show its own name instead.`,"settings.interface.uploadLabel":`Upload a UI build (.zip with an index.html)`,"settings.interface.docsHint":`See {docs} for the API contract. If a custom UI breaks the panel, {command} puts the stock one back from the terminal.`,"settings.interface.resetName":`Reset name`,"settings.interface.confirmRevert":`Confirm revert`,"settings.interface.revertToStock":`Revert to stock`,"settings.interface.install":`Install UI`,"settings.interface.installed":`UI replaced with {name} — refresh the page`,"settings.interface.yourBuild":`your build`,"settings.interface.restored":`stock UI restored — refresh the page`,"settings.interface.nothingInstalled":`no custom UI was installed`,"settings.listener.title":`Listener`,"settings.listener.description":`Where the panel answers. Moving this restarts the panel and sends this page to the new address.`,"settings.listener.port":`Control port`,"settings.listener.portHint":`Default 3999.`,"settings.listener.bind":`Bind`,"settings.listener.bindLocal":`Local`,"settings.listener.bindLan":`LAN`,"settings.listener.bindCustom":`Custom`,"settings.listener.bindLanHint":`0.0.0.0 — reachable from the whole network.`,"settings.listener.bindLocalHint":`127.0.0.1 — this machine only.`,"settings.listener.bindCustomHint":`A specific interface address you type in below.`,"settings.listener.ipv4":`IPv4 address`,"settings.listener.ipv4Placeholder":`192.168.1.20`,"settings.listener.ipv4Error":`Enter an IPv4 address, for example 192.168.1.20.`,"settings.listener.ipv4Hint":`Binding beyond 127.0.0.1 needs a real password.`,"settings.listener.openBrowser":`Open a browser when the panel comes up`,"settings.listener.liveAddress":`Live address`,"settings.listener.restartRequired":`restart required`,"settings.listener.copyLiveAddress":`Copy the live address`,"settings.listener.liveAddressHint":`What the listener is bound to right now; saved changes take effect after the panel rebinds.`,"settings.logs.title":`Retention`,"settings.logs.description":`The live view always comes from memory; these files survive a restart and feed the Logs page.`,"settings.logs.persist":`Keep logs on disk`,"settings.logs.persistHint":`Turn off to hold everything in memory only.`,"settings.logs.maxBytes":`Rotate at (bytes)`,"settings.logs.maxBytesHint":`Per server, before rolling to .1, .2, …`,"settings.logs.keep":`Keep rotated files`,"settings.logs.directory":`Logs directory`,"settings.logs.copyDirectory":`Copy the logs directory`,"settings.logs.browseHint":`Browse and download these files on the {logs} page.`,"settings.paths.dataRoot":`Data root`,"settings.paths.dataRootHint":`HHOSTED_HOME — global settings, workspaces, TLS, backups and the UI.`,"settings.paths.globalSettings":`Global settings`,"settings.paths.globalSettingsHint":`settings.json — listener, auth, TLS policy, host vitals, backups.`,"settings.paths.projectDir":`Project directory`,"settings.paths.projectDirHint":`Base for relative entry paths.`,"settings.paths.panelAddress":`Panel address`,"settings.paths.panelAddressHint":`Where this control panel is live right now.`,"settings.paths.serversConfig":`Servers config`,"settings.paths.serversConfigHint":`{label}'s servers.config.json.`,"settings.paths.workspaceSettings":`Workspace settings`,"settings.paths.workspaceSettingsHint":`Server defaults, log retention, notifications, DDNS.`,"settings.paths.logs":`Logs`,"settings.paths.logsHint":`Persisted output for this workspace.`,"settings.paths.copyPath":`Copy {label}`,"settings.paths.whereThingsLive":`Where things live`,"settings.paths.whereThingsLiveDescription":`Read-only. Copy a path straight into a shell or an editor.`,"settings.paths.workspaceFiles":`Workspace files`,"settings.paths.workspaceFilesDescription":`Each workspace owns its config, settings and log directory; nothing is shared between them.`,"settings.rebind.failed":`The control panel did not answer on {target}. Check the console for the new listener.`,"settings.restore.title":`Restore a backup`,"settings.restore.description":`Nothing is written until the plan is applied.`,"settings.restore.archive":`Archive`,"settings.restore.archiveHint":`A stored archive, or a .zip from this machine.`,"settings.restore.encryptedName":`{name} — encrypted`,"settings.restore.uploadOption":`Upload a file…`,"settings.restore.archiveFile":`Archive file (.zip)`,"settings.restore.unchangedTitle":`Nothing has changed yet`,"settings.restore.archiveLine":`Archive {name}.`,"settings.restore.uploadedArchive":`The uploaded archive.`,"settings.restore.passwordProtected":`This backup is password-protected.`,"settings.restore.password":`Password`,"settings.restore.checkAgain":`Check again with the password`,"settings.restore.choosePrompt":`Choose what to restore — {selected} of {total} selected.`,"settings.restore.willRestore":`Will restore: {items}.`,"settings.restore.skipped":`Skipped: {items}.`,"settings.restore.nothing":`nothing`,"settings.restore.restartNote":`The panel's own settings differ, so restart the panel afterwards.`,"settings.restore.reloadedNote":`Restored workspaces are reloaded immediately; entries marked autostart start on their own.`,"settings.restore.applyStored":`Apply this restore`,"settings.restore.applyUpload":`Restore the upload`,"settings.restore.restored":`Restored {count} item(s).`,"settings.restore.restoredWithNotes":`Restored {count} item(s) — {notes}.`,"settings.restore.noteReloaded":`the restored servers are live, autostart entries starting`,"settings.restore.noteRestart":`restart the panel to apply its own settings`,"settings.restore.reasonSymbolicLink":`symbolic link, skipped`,"settings.restore.reasonNotSelected":`not selected`,"settings.restore.reasonUnrestorable":`cannot be restored here`,"settings.restore.reasonInvalidSettings":`the archive's settings are not valid`,"settings.restore.reasonInvalidServers":`the archive's servers are not valid`,"settings.shell.noUnsavedChanges":`No unsaved changes`,"settings.shell.discard":`Discard changes`,"settings.shell.save":`Save settings`,"settings.shell.unsavedTitle":`Unsaved changes`,"settings.shell.nothingToSave":`Nothing to save.`,"settings.telegram.title":`Telegram`,"settings.telegram.description":`Policy lives in the config; the bot token is a secret and never comes back from the server.`,"settings.telegram.enabled":`Send notifications`,"settings.telegram.enabledHint":`One message per event, throttled by the cooldown below.`,"settings.telegram.chatId":`Chat id`,"settings.telegram.chatIdPlaceholder":`123456789 or @channel`,"settings.telegram.chatIdHint":`Use Detect chats to fill this from the bot's updates.`,"settings.telegram.cooldown":`Cooldown per event (ms)`,"settings.telegram.cooldownHint":`Per server and reason, so a flapping server cannot spam.`,"settings.telegram.onCrash":`Retries exhausted`,"settings.telegram.onUnhealthy":`Port unhealthy`,"settings.telegram.onForcedRestart":`Forced restart`,"settings.telegram.onRecovered":`Recovered`,"settings.telegram.onHost":`Host vitals breached`,"settings.telegram.onHostHint":`Disk, memory, swap, load and CPU temperature, per the thresholds under Host vitals.`,"settings.telegram.onDdns":`Dynamic DNS changed or failed`,"settings.telegram.onDdnsHint":`One message per pass that changed a record, and one for a pass that failed.`,"settings.telegram.botToken":`Bot token`,"settings.telegram.tokenSet":`token set`,"settings.telegram.noToken":`no token`,"settings.telegram.tokenNote":`From @BotFather — a secret, never in servers.config.json.`,"settings.telegram.tokenPlaceholder":`123456789:AA…`,"settings.telegram.tokenSavedPlaceholder":`Saved — type a new token to replace it`,"settings.telegram.saveToken":`Save token`,"settings.telegram.detectChats":`Detect chats`,"settings.telegram.sendTest":`Send test`,"settings.telegram.removeToken":`Remove token`,"settings.telegram.removeTokenConfirm":`Confirm remove`,"settings.telegram.removeTokenTitle":`Remove the bot token?`,"settings.telegram.removeTokenHint":`Notifications stop until you paste a token again.`,"settings.telegram.tokenSaved":`Token saved.`,"settings.telegram.tokenSavedFor":`Token saved for @{username}.`,"settings.telegram.tokenRemoved":`Token removed.`,"settings.telegram.noChats":`No chats found. Send /start to the bot first, then detect again.`,"settings.telegram.testSent":`Test message sent.`,"settings.telegram.testFailed":`The test message failed.`,"settings.telegram.chatsSeen":`Chats the bot has seen:`,"settings.telegram.lastSend":`Last send: {result}`,"settings.tls.title":`HTTPS`,"settings.tls.description":`Upload a PEM pair and the panel serves TLS on its own listener. A self-signed certificate is fine on a home network.`,"settings.tls.serve":`Serve the panel over HTTPS`,"settings.tls.serveHint":`Saved with Save settings; the panel rebinds and this page follows it.`,"settings.tls.certificateTitle":`Certificate`,"settings.tls.certificateDescription":`PEM-encoded certificate and its private key. Both stay in the secrets file.`,"settings.tls.unusableTitle":`The stored certificate cannot be used`,"settings.tls.subject":`Subject`,"settings.tls.issuer":`Issuer`,"settings.tls.validUntil":`Valid until`,"settings.tls.days":`{count} days`,"settings.tls.privateKey":`Private key`,"settings.tls.keyMatches":`matches the certificate`,"settings.tls.keyMismatch":`does not match`,"settings.tls.fingerprint":`Fingerprint`,"settings.tls.copyFingerprint":`Copy the fingerprint`,"settings.tls.noCertificateTitle":`No certificate uploaded`,"settings.tls.noCertificateText":`Upload a PEM certificate and key below, then save. HTTPS is not served until a certificate is present.`,"settings.tls.certFile":`Certificate file (.pem, .crt)`,"settings.tls.keyFile":`Private key file (.pem, .key)`,"settings.tls.pasteCertificate":`Or paste the certificate`,"settings.tls.pasteKey":`Or paste the private key`,"settings.tls.saveCertificate":`Save certificate`,"settings.tls.removeCertificate":`Remove certificate`,"settings.tls.confirmRemove":`Confirm remove`,"settings.tls.removeTitle":`Remove the certificate?`,"settings.tls.removeHint":`TLS stays on but has nothing to serve, so the panel falls back to http once the listener rebinds.`,"settings.tls.stored":`Certificate stored.`,"settings.tls.removed":`Certificate removed.`,"status.stopped":`Stopped`,"status.starting":`Starting`,"status.running":`Running`,"status.stopping":`Stopping`,"status.backoff":`Restarting`,"status.crashed":`Crashed`,"status.conflict":`Port conflict`,"theme.label":`Theme: {theme}`,"theme.light":`light`,"theme.dark":`dark`,"theme.system":`system`,"topbar.search":`Search or run a command`,"topbar.openNavigation":`Open navigation`,"topbar.commandPalette":`Command palette`,"topbar.account":`Account`,"topbar.signedIn":`Signed in`,"topbar.signOut":`Sign out`,"topbar.workspaceLabel":`Workspace: {name}`,"validation.port":`Port must be a whole number between 1 and 65535.`,"validation.idRequired":`An id is required — it is the key this server lives under.`,"validation.idPattern":`The id must start with a lowercase letter or digit and contain only lowercase letters, digits, dashes and underscores.`,"validation.commandRequired":`A command is required — the executable the supervisor spawns.`,"validation.bootstrapCommand":`A bootstrap needs a command to run.`,"views.actions.addAServer":`Add a server`,"views.actions.addServer":`Add server`,"views.actions.startAll":`Start all`,"views.actions.stopAll":`Stop all`,"views.common.thisWorkspace":`this workspace`,"views.globalOverview.configError":`The config could not be read: {error}`,"views.globalOverview.degraded":`degraded`,"views.globalOverview.description":`Host vitals and every server from every workspace, grouped by where it lives.`,"views.globalOverview.emptyDescription":`Pick a workspace in the header and add the first process it should keep alive.`,"views.globalOverview.emptyTitle":`No servers anywhere yet`,"views.globalOverview.groupEmptyDescription":`Add one and it will show up here and on the workspace page.`,"views.globalOverview.groupRunning":`{running}/{total} running`,"views.globalOverview.hostUptime":`Host uptime`,"views.globalOverview.hostVitals":`Host vitals`,"views.globalOverview.hostVitalsNote":`This machine, shared by every workspace.`,"views.globalOverview.openWorkspace":`Open workspace`,"views.globalOverview.panelUptime":`Panel uptime`,"views.globalOverview.samplingOff":`sampling off`,"views.globalOverview.samplingOn":`sampling on`,"views.globalOverview.serversTotal":`{count} servers in total`,"views.globalOverview.serving":`serving`,"views.globalOverview.workspaces":`Workspaces`,"views.globalSettings.authenticationDescription":`Who may sign in to this panel, and how a session is trusted.`,"views.globalSettings.backupsDescription":`One archive per capture, covering the panel and any workspace you pick.`,"views.globalSettings.changesDescription":`What Save would write to the panel's settings file.`,"views.globalSettings.description":`Listener, access, host vitals, backups, TLS and paths for this panel — shared by every workspace.`,"views.globalSettings.hostDescription":`Alert thresholds for this machine's own resources.`,"views.globalSettings.interfaceDescription":`Serve your own panel UI instead of the stock one.`,"views.globalSettings.languageDescription":`The language this panel is shown in, for this browser.`,"views.globalSettings.languageNote":`Your choice is kept in this browser and applies to the login page too. It does not change the panel's own log output or its API messages.`,"views.globalSettings.listenerDescription":`Where the control panel listens and how it announces itself.`,"views.globalSettings.loadErrorTitle":`Some file-only values could not be loaded`,"views.globalSettings.navLabel":`Global settings sections`,"views.globalSettings.pathsDescription":`Where home-hosted keeps its files, globally and per workspace.`,"views.globalSettings.saveFailed":`The settings could not be saved.`,"views.globalSettings.saved":`Settings saved.`,"views.globalSettings.savedRebinding":`Settings saved — the panel is moving to a new address.`,"views.globalSettings.savedToast":`Settings saved`,"views.globalSettings.sectionAuthentication":`Authentication`,"views.globalSettings.sectionBackups":`Backups`,"views.globalSettings.sectionHost":`Host vitals`,"views.globalSettings.sectionInterface":`Interface`,"views.globalSettings.sectionListener":`Listener`,"views.globalSettings.sectionPaths":`Paths`,"views.globalSettings.sectionTls":`TLS`,"views.globalSettings.title":`Global settings`,"views.globalSettings.tlsDescription":`Serve the panel over HTTPS with your own certificate.`,"views.logs.allStreams":`All streams`,"views.logs.clear":`Clear`,"views.logs.clearDescription":`{server} — the file on disk is truncated. The process keeps running and new lines are written from here on.`,"views.logs.clearFile":`Clear file`,"views.logs.clearNote":`Download it first if the output is still needed — this cannot be undone from the panel.`,"views.logs.clearTitle":`Clear the persisted log file?`,"views.logs.fileEmpty":`The persisted file is empty.`,"views.logs.loadedLines":`loaded {count} lines`,"views.logs.modeLive":`Live stream`,"views.logs.modePersisted":`Persisted`,"views.logs.noServersDescription":`Add one and its output will be persisted here.`,"views.logs.noServersTitle":`No servers`,"views.logs.nothingOnDisk":`Nothing on disk for this server — persistence is off, or it has not written anything yet.`,"views.logs.nothingPersisted":`nothing persisted`,"views.logs.persistedSummary":`{workspace} · {persisted} of {total} servers on disk · {size}`,"views.logs.persistedTitle":`Persisted logs`,"views.logs.pickServerDescription":`Persisted output and live streams are per server. Choose one from the list.`,"views.logs.pickServerTitle":`Pick a server`,"views.logs.reload":`Reload`,"views.logs.retentionNote":`Rotation and retention are set under Workspace settings → Logs.`,"views.logs.searchAria":`Search the log`,"views.logs.searchPlaceholder":`search the tail window`,"views.logs.searchedLines":`searched {count} lines`,"views.logs.streamAria":`Stream`,"views.logs.tailAria":`Tail size`,"views.logs.waitingOutput":`Connected — waiting for output.`,"views.overview.acrossTree":`across the tree`,"views.overview.cpuNow":`{value}% cpu now`,"views.overview.crashedOrUnhealthy":`crashed or unhealthy`,"views.overview.description":`Live state of every server in this workspace, refreshed over a single event stream.`,"views.overview.emptyDescription":`Add the first process this workspace should keep alive.`,"views.overview.emptyTitle":`No servers in this workspace`,"views.overview.enabled":`{count} enabled`,"views.overview.longestUptime":`Longest uptime`,"views.overview.needsAttention":`Needs attention`,"views.overview.notUp":`{count} not up`,"views.overview.nothingBroken":`nothing is broken`,"views.overview.nothingRunning":`nothing running`,"views.overview.openFullList":`Open the full list`,"views.overview.peak":`peak {value}`,"views.overview.processMemory":`Process memory`,"views.overview.recentActivity":`Recent activity`,"views.overview.running":`Running`,"views.overview.sampling":`resource history is sampled every 5 s and kept for this session`,"views.overview.stopped":`Stopped`,"views.overview.workspaceLabel":`workspace {id}`,"views.route.server":`Server`,"views.serverDetail.allServers":`All servers`,"views.serverDetail.autostart":`Autostart with the panel`,"views.serverDetail.backToServers":`Back to servers`,"views.serverDetail.bind":`Bind`,"views.serverDetail.bindCustom":`{bind} — custom`,"views.serverDetail.bindLan":`0.0.0.0 — every interface`,"views.serverDetail.bindLocal":`127.0.0.1 — this machine only`,"views.serverDetail.closeEditor":`Close editor`,"views.serverDetail.copyJson":`Copy the JSON config`,"views.serverDetail.crashes24":`24h crashes`,"views.serverDetail.dependencies":`Dependencies`,"views.serverDetail.detached":`detached`,"views.serverDetail.detachedHint":`This process replaced itself: the panel adopted the successor instead of starting a second copy. Stop still works, its output stays where the successor sent it.`,"views.serverDetail.disableServer":`Disable server`,"views.serverDetail.editHint":`Edit every field of this entry`,"views.serverDetail.effectiveConfig":`Effective configuration`,"views.serverDetail.effectiveConfigNote":`Defaults from Settings are already merged into these values.`,"views.serverDetail.enableServer":`Enable server`,"views.serverDetail.eventHistory":`Event history`,"views.serverDetail.eventHistoryNote":`Kept by the panel for 24 hours.`,"views.serverDetail.fieldArgs":`args`,"views.serverDetail.fieldBackupPaths":`backup paths`,"views.serverDetail.fieldBootstrap":`bootstrap`,"views.serverDetail.fieldCommand":`command`,"views.serverDetail.fieldCwd":`cwd`,"views.serverDetail.fieldDataEnvs":`data envs`,"views.serverDetail.fieldDependsOn":`depends on`,"views.serverDetail.fieldEnv":`env`,"views.serverDetail.fieldEnvFile":`env file`,"views.serverDetail.fieldHealth":`health`,"views.serverDetail.fieldLogBuffer":`log buffer`,"views.serverDetail.fieldOnPortConflict":`on port conflict`,"views.serverDetail.fieldPortBind":`port · bind`,"views.serverDetail.fieldRestart":`restart`,"views.serverDetail.fieldRssLimit":`RSS limit`,"views.serverDetail.fieldStop":`stop`,"views.serverDetail.fields":`Fields`,"views.serverDetail.goneDescription":`{id} is not in servers.config.json any more. It may have been removed from another tab.`,"views.serverDetail.goneTitle":`That server is gone`,"views.serverDetail.health":`Health`,"views.serverDetail.healthProbe":`Health probe`,"views.serverDetail.lastCrash":`Last crash`,"views.serverDetail.lastProbe":`Last probe`,"views.serverDetail.logBufferLines":`{count} lines`,"views.serverDetail.memoryRss":`Memory (RSS)`,"views.serverDetail.moreActions":`More actions for {label}`,"views.serverDetail.neverWritten":`This server has not written anything yet.`,"views.serverDetail.nextAttempt":`Next attempt`,"views.serverDetail.none":`none`,"views.serverDetail.off":`off`,"views.serverDetail.persistent":`persistent`,"views.serverDetail.persistentHint":"This entry runs under its own nanny, so it keeps running when the panel stops, restarts or is killed. `home-hosted down` reports it instead of stopping it; only Stop does.","views.serverDetail.pid":`PID`,"views.serverDetail.portFree":`free`,"views.serverDetail.portInUse":`in use`,"views.serverDetail.portState":`Port state`,"views.serverDetail.probeFailed":`The health probe has not passed.`,"views.serverDetail.probeFailedFor":`The health probe has not passed for {duration}.`,"views.serverDetail.processes":`Processes`,"views.serverDetail.rawJson":`Raw JSON`,"views.serverDetail.removeAutostart":`Remove from autostart`,"views.serverDetail.removeDescription":`{label} is removed from servers.config.json: its process is stopped, and its logs and crash history are deleted with it.`,"views.serverDetail.removeNote":`This cannot be undone from the panel — the entry has to be added back by hand or from a backup.`,"views.serverDetail.removeServer":`Remove server`,"views.serverDetail.removeTitle":`Remove this server?`,"views.serverDetail.restart":`Restart`,"views.serverDetail.restarts":`Restarts`,"views.serverDetail.sectionConfig":`Configuration`,"views.serverDetail.sectionHistory":`History`,"views.serverDetail.sectionOutput":`Live output`,"views.serverDetail.start":`Start`,"views.serverDetail.startsOnItsOwn":`Starts on its own. Add ids under {code} to order it after other servers.`,"views.serverDetail.stop":`Stop`,"views.serverDetail.telemetry":`Telemetry`,"views.serverDetail.telemetryNote":`Sampled every 5 s while this page is open.`,"views.serverDetail.unhealthyFor":`Unhealthy for`,"views.serverDetail.uptime24":`24h uptime`,"views.serverDetail.waitingFirstLine":`Waiting for the first line…`,"views.servers.clearFilter":`Clear the filter`,"views.servers.clearFilters":`Clear filters`,"views.servers.description":`Every entry in {workspace}'s servers.config.json, with live resources, health and history.`,"views.servers.emptyDescription":`Add the first process this panel should supervise. Its command, args, env and working directory all live in the config file.`,"views.servers.emptyTitle":`No servers configured`,"views.servers.filterAll":`All`,"views.servers.filterAria":`Filter servers`,"views.servers.filterAttention":`Attention`,"views.servers.filterDisabled":`Disabled`,"views.servers.filterPlaceholder":`Filter by id, label, command or port`,"views.servers.filterRunning":`Running`,"views.servers.filterStopped":`Stopped`,"views.servers.noMatchDescription":`Try a different status or clear the search.`,"views.servers.noMatchTitle":`Nothing matches that filter`,"views.settings.changesDescription":`What Save would write to {workspace}'s settings.`,"views.settings.configErrorNote":`The panel keeps supervising with the config it already had; fixing the file reloads it on its own.`,"views.settings.configErrorTitle":`The workspace config could not be read`,"views.settings.configWarningTitle":`This workspace's config has a warning`,"views.settings.ddnsDescription":`Keep hostnames pointed at this machine's public address, whichever registrar holds them.`,"views.settings.defaultsDescription":`Applied to every entry in this workspace that does not set its own value.`,"views.settings.description":`Server defaults, log retention, notifications and dynamic DNS for {workspace}.`,"views.settings.logsDescription":`How much output this workspace keeps on disk and for how long.`,"views.settings.navLabel":`Workspace settings sections`,"views.settings.notificationsDescription":`Crash and health alerts for this workspace, sent to a Telegram chat.`,"views.settings.saveFailed":`The settings could not be saved.`,"views.settings.saved":`Workspace settings saved.`,"views.settings.savedToast":`Workspace settings saved`,"views.settings.sectionDdns":`Dynamic DNS`,"views.settings.sectionDefaults":`Server defaults`,"views.settings.sectionLogs":`Logs`,"views.settings.sectionNotifications":`Notifications`,"workspace.new":`New workspace`,"workspace.rename":`Rename workspace`,"workspace.create":`Create workspace`,"workspace.renameAction":`Rename`,"workspace.createHint":`Its own settings, servers, logs, secrets and backups entry — served by this same panel.`,"workspace.renameHint":`Only the name changes; the workspace id stays, so URLs and paths keep working.`,"workspace.nameHint":`Shown in the header.`,"workspace.nameHintId":`Shown in the header. Id: {id}`,"workspace.none":`No workspace`,"workspace.delete":`Delete workspace`,"days.remaining":{one:`{count} day`,other:`{count} days`},"editor.unsaved":{one:`unsaved change`,other:`unsaved changes`},"editor.saveChanges":{one:`Save {count} change`,other:`Save {count} changes`},"logs.lines":{one:`{count} line`,other:`{count} lines`},"palette.results":{one:`{count} result`,other:`{count} results`},"proxy.retry.inMinutes":{one:`~{count} minute`,other:`~{count} minutes`},"proxy.retry.inHours":{one:`~{count} hour`,other:`~{count} hours`},"servers.total":{one:`{count} server`,other:`{count} servers`},"servers.running":{one:`{count} running`,other:`{count} running`},"settings.backup.entriesCount":{one:`{count} entry`,other:`{count} entries`},"settings.backup.itemsSelected":{one:`{count} item selected`,other:`{count} items selected`},"settings.ddns.hostnameCount":{one:`{count} hostname`,other:`{count} hostnames`},"settings.shell.fieldsChanged":{one:`field changed`,other:`fields changed`},"settings.shell.saveChanges":{one:`Save {count} change`,other:`Save {count} changes`},"views.globalOverview.needLook":{one:`{count} server need a look`,other:`{count} servers need a look`},"views.logs.filesOnDisk":{one:`{count} file`,other:`{count} files`},"views.overview.needLook":{one:`{count} server need a look`,other:`{count} servers need a look`}},mP=/\{(\w+)\}/g;function hP(e,t){return`${e}:${t||`index`}`}function gP(e,t){if(e==null)return null;let n=SP(e,t);return n===void 0?null:n}function _P(e,t,n){if(n?.preserveExisting){bP(e,t);return}yP(e,t)}function vP(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function yP(e,t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r++){let i=n[r];if(i===`__proto__`)continue;let a=t[i];if(typeof a!=`object`||!a||Array.isArray(a)){e[i]=a;continue}let o=e[i];typeof o==`object`&&o&&!Array.isArray(o)?yP(o,a):e[i]=a}}function bP(e,t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r++){let i=n[r];if(i===`__proto__`)continue;let a=t[i];if(!Object.prototype.hasOwnProperty.call(e,i)){e[i]=a;continue}let o=e[i];vP(a)&&vP(o)&&bP(o,a)}}function xP(e,t){return!t||e.indexOf(`{`)===-1?e:e.replace(mP,(e,n)=>{let r=t[n];return r===void 0?`{${n}}`:String(r)})}function SP(e,t){if(e==null||typeof t!=`string`||t.length===0)return;if(Object.prototype.hasOwnProperty.call(e,t))return e[t];if(!t.includes(`.`))return;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;let t=r;if(!Object.prototype.hasOwnProperty.call(t,e))return;r=t[e]}return r}function CP(e,t,n){if(typeof t!=`string`||t.length===0)return e;if(Object.prototype.hasOwnProperty.call(e,t)||!t.includes(`.`))return t===`__proto__`?e:{...e,[t]:n};let r=t.split(`.`);if(r.some(e=>e===`__proto__`))return e;let i={...e},a=i;for(let e of r.slice(0,-1)){let t=a[e],n=vP(t)?{...t}:{};a[e]=n,a=n}return a[r[r.length-1]]=n,i}function wP(e,t){let n=TP(e,t),r={};return EP(e,t,``,r),Object.keys(r).length===0?n:{...n,...r}}function TP(e,t){let n={...e};for(let e of Object.keys(t)){if(e===`__proto__`)continue;let r=t[e];if(r==null)continue;let i=n[e];n[e]=vP(r)&&vP(i)?TP(i,r):r}return n}function EP(e,t,n,r){for(let i of Object.keys(e)){if(i===`__proto__`)continue;let a=e[i];if(!vP(a))continue;let o=n?`${n}.${i}`:i,s=t[i];vP(s)?EP(a,s,o,r):s!=null&&DP(a,o,r)}}function DP(e,t,n){for(let r of Object.keys(e)){if(r===`__proto__`)continue;let i=e[r],a=`${t}.${r}`;vP(i)?DP(i,a,n):n[a]=i}}var OP=(e,t,n,r,i)=>{let a=i(e);if(!a)return null;let o=a.toString().split(`|`);if(o.length===0)return null;let s=t<o.length?o[t]:o[o.length-1];return s?xP(s.trim(),{...n,count:t}):null};function kP(e){if(!e)return``;let t=Object.keys(e).sort();if(t.length===0)return``;let n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function AP(e,t){let n=kP(t);return n?`${e}\0${n}`:e}var jP=class{constructor(e={}){this.numberCache=new Map,this.dateCache=new Map,this.relativeCache=new Map,this.numberFormats=e.numberFormats??{},this.datetimeFormats=e.datetimeFormats??{}}setNumberFormats(e){this.numberFormats=e,this.numberCache.clear()}setDateTimeFormats(e){this.datetimeFormats=e,this.dateCache.clear()}getNumberFormats(){return this.numberFormats}getDateTimeFormats(){return this.datetimeFormats}clearCache(){this.numberCache.clear(),this.dateCache.clear(),this.relativeCache.clear()}resolveNumberFormat(e,t){return this.numberFormats[e]?.[t]??this.numberFormats[e.split(`-`)[0]]?.[t]}resolveDateTimeFormat(e,t){return this.datetimeFormats[e]?.[t]??this.datetimeFormats[e.split(`-`)[0]]?.[t]}getNumberFormatter(e,t){let n=AP(e,t),r=this.numberCache.get(n);return r||(r=new Intl.NumberFormat(e,t),this.numberCache.set(n,r)),r}getDateTimeFormatter(e,t){let n=AP(e,t),r=this.dateCache.get(n);return r||(r=new Intl.DateTimeFormat(e,t),this.dateCache.set(n,r)),r}getRelativeTimeFormatter(e,t){let n=AP(e,t),r=this.relativeCache.get(n);return r||(r=new Intl.RelativeTimeFormat(e,t),this.relativeCache.set(n,r)),r}formatNumber(e,t,n){return this.getNumberFormatter(t,n).format(e)}formatDate(e,t,n){let r=new Date(e);return Number.isNaN(r.getTime())?`Invalid Date`:this.getDateTimeFormatter(t,n).format(r)}formatRelativeTime(e,t,n){let r=new Date(e),i=this.getRelativeTimeFormatter(t,n);if(Number.isNaN(r.getTime()))return i.format(0,`second`);let a=Math.floor((Date.now()-r.getTime())/1e3);for(let{unit:e,seconds:t}of[{unit:`year`,seconds:31536e3},{unit:`month`,seconds:2592e3},{unit:`day`,seconds:86400},{unit:`hour`,seconds:3600},{unit:`minute`,seconds:60},{unit:`second`,seconds:1}]){let n=Math.floor(a/t);if(n>=1)return i.format(-n,e)}return i.format(0,`second`)}},MP=Symbol(`i18n-leaf-miss`),NP=new WeakMap;function PP(e){let t=NP.get(e);return t||(t={leafByChunk:new Map,generation:0},NP.set(e,t)),t}function FP(e){let t=e?.translations??new Map,n=PP(t),{leafByChunk:r}=n;function i(){n.generation++}function a(e){r.delete(e)}function o(){r.clear()}function s(e){let t=r.get(e);return t||(t=new Map,r.set(e,t)),t}function c(e,t,n){let i=r.get(e);if(i?.has(n)){let e=i.get(n);return e===MP?null:e}if(!t)return s(e).set(n,MP),null;let a=gP(t,n);return s(e).set(n,a===null?MP:a),a}function l(e,n){t.set(e,n),a(e),i()}function u(e,n){let r=t.get(e);if(!r){l(e,{...n});return}_P(r,n),a(e),i()}return{hasCache(e,n){return t.has(hP(e,n))},getCache(e,n){return t.get(hP(e,n))},setCache(e,t,n){r.set(hP(e,t),n)},getGeneration(){return n.generation},hasTranslation(e,n){let r=`${e}:`;for(let[e,i]of t)if(e.startsWith(r)&&gP(i,n)!==null)return!0;return!1},hasPageTranslation(e,n){return t.has(hP(e,n))},getTranslation(e,n,r){let i=hP(e,n);return c(i,t.get(i),r)},lookupIn:c,loadTranslations(e,t,n=`index`){u(hP(e,n),t)},setTranslations(e,t,n=`index`){l(hP(e,n),t)},loadPageTranslations(e,n,r){let i=hP(e,n),a=t.get(i);!a||Object.keys(a).length===0?l(i,{...r}):u(i,r)},mergeTranslation(e,t,n,r=!1){u(hP(e,t),n)},clearCache(){t.clear(),o(),i()}}}var IP=class{constructor(e={}){this.formatter=new jP,this.pinnedCacheKey=``,this.pinnedTree=null,this.pinnedGeneration=-1,this.helper=FP(e.storage);let t={numberFormats:e.numberFormats,datetimeFormats:e.datetimeFormats};this.formatter=new jP(t),this.pluralFunc=e.plural&&e.plural!==OP?(t,n,r,i,a)=>e.plural(t,n,r,i,a)??OP(t,n,r,i,a):OP,this.missingWarn=e.missingWarn??!0,this.missingHandler=e.missingHandler,this.getCustomMissingHandler=e.getCustomMissingHandler}touch(){}resolveRouteName(e){return typeof e==`string`?e:this.getRoute()}ensurePinnedChunk(e,t){let n=hP(e,t),r=this.helper.getGeneration();(this.pinnedCacheKey!==n||this.pinnedGeneration!==r)&&(this.pinnedCacheKey=n,this.pinnedGeneration=r,this.pinnedTree=this.helper.getCache(e,t)??null)}invalidatePin(){this.pinnedCacheKey=``,this.pinnedTree=null,this.pinnedGeneration=-1}resolveLookup(e,t){let n=this.getLocale(),r=this.resolveRouteName(t),i=typeof e==`string`?e:String(e),a=t===void 0||r===this.getRoute(),o;if(a?(this.ensurePinnedChunk(n,r),o=this.helper.lookupIn(this.pinnedCacheKey,this.pinnedTree,i)):o=this.helper.getTranslation(n,r,i),o!==null)return o;let s=this.getFallbackLocale();return n===s?null:this.helper.getTranslation(s,r,i)}resolveHas(e,t){let n=this.getLocale(),r=this.resolveRouteName(t),i=typeof e==`string`?e:String(e);return t===void 0||r===this.getRoute()?(this.ensurePinnedChunk(n,r),this.helper.lookupIn(this.pinnedCacheKey,this.pinnedTree,i)!==null):this.helper.getTranslation(n,r,i)!==null}resolveTranslationTree(e,t){return wP(e,t)}resolveTranslations(e){this.touch();let t=this.getLocale(),n=this.resolveRouteName(e),r=this.helper.getCache(t,n)??{},i=this.getFallbackLocale();if(i===t)return r;let a=this.helper.getCache(i,n);return a?this.resolveTranslationTree(a,r):r}onTranslationsChanged(){}getMissingContext(e){return{locale:this.getLocale(),routeName:this.resolveRouteName(e)}}warnDev(e){this.missingWarn}warnMissing(e,t){let{locale:n,routeName:r}=this.getMissingContext(t),i=this.getCustomMissingHandler?.();if(i){i(n,String(e),r);return}if(this.missingHandler){this.missingHandler(n,String(e),r);return}this.warnDev(`Not found '${e}' key in '${n}' locale messages for route '${r}'.`)}warnMissingFormat(e,t,n){this.warnDev(`Not found '${t}' ${e} format in '${n}' locale. Falling back to default Intl options.`)}t(e,t,n,r){if(!e)return``;if(this.touch(),t===void 0&&n===void 0&&r===void 0&&typeof e==`string`)return this.resolveLookup(e)??(this.warnMissing(e),e);let i=this.resolveLookup(e,r);return i==null?(this.warnMissing(e,r),n===void 0?e:n||e):typeof i!=`string`||!t?i:xP(i,t)}ts(e,t,n,r){return this.t(e,t,n,r)?.toString()??n??e}tc(e,t,n){this.touch();let{count:r,...i}=typeof t==`number`?{count:t}:t;return r===void 0?n??e:this.pluralFunc(e,Number.parseInt(r.toString(),10),i,this.getLocale(),(e,t,n)=>{let r=this.resolveLookup(e);return r==null?n===void 0?void 0:n||e:typeof r!=`string`||!t?r:xP(r,t)})??n??e}tn(e,t,n,r){this.touch();let i=this.resolveNumberFormatArgs(t,n,r);return this.formatter.formatNumber(e,i.locale,i.options)}td(e,t,n,r){this.touch();let i=this.resolveDateTimeFormatArgs(t,n,r);return this.formatter.formatDate(e,i.locale,i.options)}tdr(e,t){return this.touch(),this.formatter.formatRelativeTime(e,this.getLocale(),t)}has(e,t){return this.touch(),this.resolveHas(e,t)}setTranslation(e,t){let n=this.getLocale(),r=this.getRoute(),i=this.helper.getCache(n,r)??{};this.helper.setTranslations(n,CP(i,String(e),t),r),this.invalidatePin(),this.onTranslationsChanged()}clearCache(){this.helper.clearCache(),this.formatter.clearCache(),this.invalidatePin()}resolveNumberFormatArgs(e,t,n){if(typeof e!=`string`)return{locale:this.getLocale(),options:e};let r=this.getLocale(),i;typeof t==`string`?(r=t,i=n):i=t;let a=this.formatter.resolveNumberFormat(r,e);return a||this.warnMissingFormat(`number`,e,r),!a&&!i?{locale:r,options:void 0}:{locale:r,options:a?{...a,...i}:i}}resolveDateTimeFormatArgs(e,t,n){if(typeof e!=`string`)return{locale:this.getLocale(),options:e};let r=this.getLocale(),i;typeof t==`string`?(r=t,i=n):i=t;let a=this.formatter.resolveDateTimeFormat(r,e);return a||this.warnMissingFormat(`datetime`,e,r),!a&&!i?{locale:r,options:void 0}:{locale:r,options:a?{...a,...i}:i}}loadTranslationsCore(e,t,n,r=`index`){n?this.helper.mergeTranslation(e,r,t,!0):this.helper.setTranslations(e,t,r),this.invalidatePin()}loadRouteTranslationsCore(e,t,n,r){r?this.helper.mergeTranslation(e,t,n,!0):this.helper.loadPageTranslations(e,t,n),this.invalidatePin()}extend(e){return Object.assign(this,e)}},LP=Symbol(`i18n`),RP=Symbol(`i18n-locales`),zP=Symbol(`i18n-default-locale`),BP=Symbol(`i18n-router-strategy`),VP=N({name:`I18nGroup`,props:{prefix:{type:String,required:!0},groupClass:{type:String,default:``}},setup(e,{slots:t}){let n=Tr(LP);if(!n)throw Error(`[i18n-micro] I18nGroup: i18n instance not found. Make sure i18n plugin is installed.`);let r=(t,r)=>n.t(`${e.prefix}.${t}`,r,void 0,n.getRoute());return()=>ic(`div`,{class:[`i18n-group`,e.groupClass]},t.default?.({prefix:e.prefix,t:r}))}}),HP=N({name:`I18nLink`,props:{to:{type:[String,Object],required:!0},activeStyle:{type:Object,default:()=>({})},localeRoute:{type:Function,default:void 0}},setup(e,{slots:t}){let n=Tr(LP),r=Tr(BP,void 0);if(!n)throw Error(`[i18n-micro] I18nLink: i18n instance not found. Make sure i18n plugin is installed.`);let i=W(()=>typeof e.to==`string`&&/^(?:https?:\/\/|\/\/|[a-zA-Z0-9-]+\.[a-zA-Z]{2,})|tel:|mailto:/.test(e.to)),a=W(()=>{if(i.value)return e.to;if(e.localeRoute){let t=e.localeRoute(e.to);return typeof t==`string`?t:t.path||`/`}if(!r?.resolvePath)return typeof e.to==`string`?e.to:e.to.path||`/`;let t=r.resolvePath(e.to,n.locale.value);return typeof t==`string`?t:t.path||`/`}),o=W(()=>i.value||!r?!1:r.getCurrentPath().replace(/#.*$/,``).replace(/\/$/,``)===a.value.replace(/#.*$/,``).replace(/\/$/,``)),s=W(()=>o.value?e.activeStyle:{});return()=>i.value?ic(`a`,{href:a.value,target:`_blank`,rel:`noopener noreferrer`,style:s.value},t.default?.()):r?.linkComponent?ic(r.linkComponent,{to:a.value,style:s.value},{default:t.default}):ic(`a`,{href:a.value,style:s.value,onClick:e=>{e.preventDefault(),r?r.push({path:a.value}):window.location.href=a.value}},t.default?.())}}),UP=N({name:`I18nSwitcher`,props:{customLabels:{type:Object,default:()=>({})},customWrapperStyle:{type:Object,default:()=>({})},customButtonStyle:{type:Object,default:()=>({})},customDropdownStyle:{type:Object,default:()=>({})},customItemStyle:{type:Object,default:()=>({})},customLinkStyle:{type:Object,default:()=>({})},customActiveLinkStyle:{type:Object,default:()=>({})},customDisabledLinkStyle:{type:Object,default:()=>({})},customIconStyle:{type:Object,default:()=>({})},locales:{type:Array,default:void 0},currentLocale:{type:[String,Function],default:void 0},getLocaleName:{type:Function,default:void 0},switchLocale:{type:Function,default:void 0},localeRoute:{type:Function,default:void 0}},setup(e,{slots:t}){let n=Tr(LP),r=Tr(BP,void 0),i=Tr(RP,void 0);if(!n)throw Error(`[i18n-micro] I18nSwitcher: i18n instance not found. Make sure i18n plugin is installed.`);if(!i&&!e.locales)throw Error(`[i18n-micro] I18nSwitcher: locales not provided. Make sure app.provide(I18nLocalesKey, locales) is called or pass locales prop.`);let a=W(()=>e.locales||i||[]),o=W(()=>a.value.filter(e=>!e.disabled)),s=W(()=>e.currentLocale===void 0?n.locale.value:typeof e.currentLocale==`function`?e.currentLocale():e.currentLocale),c=W(()=>a.value.some(e=>e.code===s.value&&e.disabled)),l=W(()=>e.getLocaleName?e.getLocaleName()||null:a.value.find(e=>e.code===n.locale.value)?.displayName||null),u=k(!1),d=k(null),f=e=>{e&&(e.stopPropagation(),e.preventDefault()),u.value=!u.value},p=t=>e.customLabels[t.code]||t.displayName||t.code,m=W(()=>{let e=a.value.find(e=>e.code===s.value);return e?p(e):l.value||s.value}),h=async t=>{if(u.value=!1,await ir(),e.switchLocale){e.switchLocale(t);return}if(n.locale.value=t,!r)return;let i=r.getCurrentPath(),a=e.localeRoute?(()=>{let n=e.localeRoute(i,t);return typeof n==`string`?n:n.path||`/`})():r?.resolvePath?(()=>{let e=r.resolvePath(i,t);return typeof e==`string`?e:e.path||`/`})():i;r.push({path:a})},g={position:`relative`,display:`inline-block`,verticalAlign:`middle`},_={padding:`4px 12px`,fontSize:`16px`,cursor:`pointer`,backgroundColor:`#fff`,border:`1px solid #333`,transition:`background-color 0.3s ease`,display:`flex`,alignItems:`center`,justifyContent:`space-between`},v={position:`absolute`,top:`100%`,left:`0`,zIndex:1e3,backgroundColor:`#fff`,border:`1px solid #333`,listStyle:`none`,padding:`0`,margin:`4px 0 0 0`,minWidth:`150px`,boxShadow:`0 2px 8px rgba(0,0,0,0.15)`},y={margin:`0`,padding:`0`},b={display:`block`,padding:`8px 12px`,color:`#333`,textDecoration:`none`,transition:`background-color 0.3s ease`,cursor:`pointer`},x={fontWeight:`bold`,color:`#007bff`,cursor:`not-allowed`},S={marginLeft:`8px`,display:`inline-block`,transition:`transform 0.3s ease`},C={transform:`rotate(180deg)`},w=e=>e?Array.isArray(e)?e:[e]:[],T=e=>{if(!u.value)return;let t=e.target;if(!t||!d.value)return;let n=d.value.contains(t),r=t.closest(`.i18n-switcher-button`)!==null;!n&&!r&&(u.value=!1)};return na(()=>{document.addEventListener(`click`,T)}),oa(()=>{document.removeEventListener(`click`,T)}),()=>{let n=[];t[`before-button`]&&n.push(...w(t[`before-button`]()));let i=[];if(t[`before-selected-locale`]&&i.push(...w(t[`before-selected-locale`]())),i.push(ic(`span`,m.value)),t[`after-selected-locale`]&&i.push(...w(t[`after-selected-locale`]())),i.push(ic(`span`,{style:{...S,...u.value?C:{},...e.customIconStyle}},`▼`)),n.push(ic(`button`,{class:`i18n-switcher-button`,style:{..._,...e.customButtonStyle,...c.value?e.customDisabledLinkStyle:{}},onClick:e=>{e.preventDefault(),e.stopPropagation(),f(e)},type:`button`,ariaHaspopup:!0,ariaExpanded:u.value},i)),t[`before-dropdown`]&&n.push(...w(t[`before-dropdown`]())),u.value){let i=[];t[`before-dropdown-items`]&&i.push(...w(t[`before-dropdown-items`]())),o.value.forEach(n=>{let a=[];t[`before-item`]&&a.push(...w(t[`before-item`]({locale:n})));let o=[];t[`before-link-content`]&&o.push(...w(t[`before-link-content`]({locale:n}))),o.push(p(n)),t[`after-link-content`]&&o.push(...w(t[`after-link-content`]({locale:n})));let c=typeof window<`u`?window.location.pathname:`/`,l=e.localeRoute?e.localeRoute(c,n.code):r?.resolvePath?r.resolvePath(c,n.code):c,u=typeof l==`string`?l:l.path||`#`,d=n.code===s.value;a.push(ic(`a`,{class:`switcher-locale-${n.code}`,href:typeof u==`string`?u:`#`,style:{...b,...d?x:{},...e.customLinkStyle,...d?e.customActiveLinkStyle:{}},onClick:e=>{e.preventDefault(),e.stopPropagation(),h(n.code)}},o)),t[`after-item`]&&a.push(...w(t[`after-item`]({locale:n}))),i.push(ic(`li`,{key:n.code,style:{...y,...e.customItemStyle}},a))}),t[`after-dropdown-items`]&&i.push(...w(t[`after-dropdown-items`]())),n.push(ic(`ul`,{class:`i18n-switcher-dropdown`,style:{...v,...e.customDropdownStyle}},i))}return t[`after-dropdown`]&&n.push(...w(t[`after-dropdown`]())),ic(`div`,{ref:d,class:`i18n-switcher-wrapper`,style:{...g,...e.customWrapperStyle}},n)}}}),WP=N({name:`I18nT`,inheritAttrs:!1,props:{keypath:{type:String,required:!0},plural:{type:[Number,String]},tag:{type:String,default:`span`},params:{type:Object,default:()=>({})},defaultValue:{type:String,default:``},html:{type:Boolean,default:!1},hideIfEmpty:{type:Boolean,default:!1},customPluralRule:{type:Function,default:null},number:{type:[Number,String]},date:{type:[Date,String,Number]},relativeDate:{type:[Date,String,Number]}},setup(e,{slots:t,attrs:n}){let r=Tr(LP);if(!r)throw Error(`[i18n-micro] I18nT: i18n instance not found. Make sure i18n plugin is installed.`);return()=>{let i={},a=r.getRoute(),o={...n};delete o.innerHTML;let s=t=>e.html?ic(e.tag,{...o,innerHTML:t}):ic(e.tag,o,t);if(e.number!==void 0){let t=Number(e.number),n=r.tn(t),i=r.t(e.keypath,{number:n,...e.params},void 0,a);return s(String(i??``))}if(e.date!==void 0){let t=r.td(e.date),n=r.t(e.keypath,{date:t,...e.params},void 0,a);return s(String(n??``))}if(e.relativeDate!==void 0){let t=r.tdr(e.relativeDate),n=r.t(e.keypath,{relativeDate:t,...e.params},void 0,a);return s(String(n??``))}if(e.plural!==void 0){let t=Number.parseInt(e.plural.toString(),10);return e.customPluralRule?s(e.customPluralRule(e.keypath,t,e.params,r.locale.value,(e,t,n)=>r.t(e,t,n,a))||``):s(r.tc(e.keypath,{count:t,...e.params}))}let c=(r.t(e.keypath,{...e.params,...i},void 0,a)??``).toString();if(e.hideIfEmpty&&!c.trim())return e.defaultValue??null;if(e.html)return s(c);if(t.default)return ic(e.tag,o,t.default({translation:c}));let l=[],u=0;for(let[e,n]of Object.entries(t)){if(e==="default")continue;let t=`{${e}}`,r=c.indexOf(t,u);r!==-1&&(r>u&&l.push(c.slice(u,r)),n&&l.push(ic(n)),u=r+t.length)}return u<c.length&&l.push(c.slice(u)),t.default?ic(e.tag,o,t.default({children:l})):l.length>0?ic(e.tag,o,l):ic(e.tag,o,c)}}}),GP=class extends IP{constructor(e){let t={translations:new Map};if(super({storage:t,plural:e.plural,missingWarn:e.missingWarn,missingHandler:e.missingHandler}),this.listeners=new Set,this.storage=t,this._locale=gn(e.locale),this._fallbackLocale=gn(e.fallbackLocale||e.locale),this._currentRoute=gn(`index`),this._revision=gn(0),e.messages)for(let[t,n]of Object.entries(e.messages))this.helper.loadTranslations(t,n)}get locale(){return this._locale}set locale(e){typeof e==`string`?this._locale.value=e:this._locale=e}get fallbackLocale(){return this._fallbackLocale}set fallbackLocale(e){typeof e==`string`?this._fallbackLocale.value=e:this._fallbackLocale=e}get currentRoute(){return this._currentRoute}setRoute(e){this._currentRoute.value=e}getLocale(){return this._locale.value}getFallbackLocale(){return this._fallbackLocale.value}getRoute(){return this._currentRoute.value}addTranslations(e,t,n=!0){super.loadTranslationsCore(e,t,n),this._revision.value++,this.notifyListeners()}addRouteTranslations(e,t,n,r=!0){super.loadRouteTranslationsCore(e,t,n,r),this._revision.value++,this.notifyListeners()}mergeTranslations(e,t,n){this.helper.mergeTranslation(e,t,n,!0),this._revision.value++,this.notifyListeners()}clearCache(){super.clearCache(),this._revision.value++,this.notifyListeners()}onTranslationsChanged(){this._revision.value++,this.notifyListeners()}subscribeToChanges(e){return this.listeners.add(e),()=>this.listeners.delete(e)}notifyListeners(){this.listeners.forEach(e=>e())}getStorage(){return this.storage}getRouteCache(){let e={};for(let[t,n]of this.storage.translations)e[t]=n;return e}};function KP(e){let{routingStrategy:t,locales:n,defaultLocale:r,...i}=e,a=new GP(i),o=null,s=t||null;return{global:a,setRoutingStrategy:e=>{s=e,o&&o.provide(BP,e)},install(e){o=e,e.provide(LP,a),s&&e.provide(BP,s),n&&e.provide(RP,n),r&&e.provide(zP,r),e.config.globalProperties.$t=(e,t,n,r)=>a.t(e,t,n,r),e.config.globalProperties.$ts=(e,t,n,r)=>a.ts(e,t,n,r),e.config.globalProperties.$tc=(e,t,n)=>a.tc(e,t,n),e.config.globalProperties.$tn=a.tn.bind(a),e.config.globalProperties.$td=a.td.bind(a),e.config.globalProperties.$tdr=a.tdr.bind(a),e.config.globalProperties.$has=(e,t)=>a.has(e,t),e.config.globalProperties.$i18n=a,e.component(`I18nT`,WP),e.component(`I18nLink`,HP),e.component(`I18nGroup`,VP),e.component(`I18nSwitcher`,UP)}}}var qP=[{code:`en`,iso:`en-US`,name:`English`},{code:`vi`,iso:`vi-VN`,name:`Tiếng Việt`},{code:`zh-CN`,iso:`zh-CN`,name:`简体中文`},{code:`ja`,iso:`ja-JP`,name:`日本語`},{code:`es`,iso:`es-ES`,name:`Español`},{code:`ko`,iso:`ko-KR`,name:`한국어`},{code:`ru`,iso:`ru-RU`,name:`Русский`},{code:`fr`,iso:`fr-FR`,name:`Français`},{code:`de`,iso:`de-DE`,name:`Deutsch`}],JP=`hh.locale`,YP=new Map(qP.map(e=>[e.code,e]));function XP(e){return YP.get(e)}function ZP(e){return YP.has(e)}function QP(e){if(e.length===0)return null;let t=e.toLowerCase(),n=qP.find(e=>e.code.toLowerCase()===t);if(n!==void 0)return n.code;let r=t.split(`-`)[0];return qP.find(e=>e.code.toLowerCase()===r||e.code.toLowerCase().split(`-`)[0]===r)?.code??null}function $P(e,t,n){return e.replace(/\{(\w+)\}/g,(e,r)=>{if(r===`count`)return String(n);let i=t[r];return i===void 0?e:String(i)})}var eF=new Map,tF=(e,t,n,r,i)=>{let a=i(e);if(a==null)return null;if(typeof a==`string`)return $P(a.split(`|`)[0].trim(),n??{},t);let o=eF.get(r);o===void 0&&(o=new Intl.PluralRules(r),eF.set(r,o));let s=a[o.select(t)]??a.other;return typeof s==`string`?$P(s,n??{},t):null},nF=`modulepreload`,rF=function(e){return`/`+e},iF={},aF=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=rF(t,n),t=s(t),t in iF)return;iF[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:nF,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},oF=Object.assign({"../../i18n/generated/en.json":fP}),sF=Object.assign({"../../i18n/generated/de.json":()=>aF(()=>import(`./de-DQxDtYp2.js`),[]),"../../i18n/generated/es.json":()=>aF(()=>import(`./es-BP0qzCTU.js`),[]),"../../i18n/generated/fr.json":()=>aF(()=>import(`./fr-DHCvxiys.js`),[]),"../../i18n/generated/ja.json":()=>aF(()=>import(`./ja-DseIeS1D.js`),[]),"../../i18n/generated/ko.json":()=>aF(()=>import(`./ko-Dcu2b6c2.js`),[]),"../../i18n/generated/ru.json":()=>aF(()=>import(`./ru-DaAAVw09.js`),[]),"../../i18n/generated/vi.json":()=>aF(()=>import(`./vi-D780h-t9.js`),[]),"../../i18n/generated/zh-CN.json":()=>aF(()=>import(`./zh-CN-C8OC-N1b.js`),[])}),cF=KP({locale:`en`,fallbackLocale:`en`,defaultLocale:`en`,plural:tF,missingWarn:!1,messages:{en:Object.values(oF)[0]?.default??{}},locales:qP.map(e=>({...e}))}),lF=new Set([`en`]),uF=new Map;function dF(){try{let e=localStorage.getItem(JP);if(e!==null&&ZP(e))return e}catch{}return null}function fF(){let e=typeof navigator>`u`?[]:[...navigator.languages??[],navigator.language].filter(e=>typeof e==`string`);for(let t of e){let e=QP(t);if(e!==null)return e}return`en`}async function pF(e){if(lF.has(e))return;let t=uF.get(e);if(t!==void 0)return t;let n=sF[`../../i18n/generated/${e}.json`];if(n===void 0)return;let r=n().then(t=>{cF.global.addTranslations(e,t.default,!0),lF.add(e)}).finally(()=>uF.delete(e));return uF.set(e,r),r}function mF(e){typeof document<`u`&&(document.documentElement.lang=XP(e)?.iso??e)}async function hF(e){if(ZP(e)&&e!==cF.global.locale.value){try{await pF(e)}catch{return}cF.global.locale.value=e,mF(e);try{localStorage.setItem(JP,e)}catch{}}}async function gF(){let e=dF()??fF();try{await pF(e)}catch{mF(`en`);return}e!==`en`&&(cF.global.locale.value=e),mF(e)}function Y(e,t,n){let r=cF.global.t(e,t,n??null);return typeof r==`string`?r:String(r??``)}function _F(e,t,n){let r={...n,count:t},i=cF.global.resolveTranslations()[e];return i===void 0?Y(e,r,e):tF(e,t,r,vF(),()=>i)??Y(e,r,e)}function vF(){return cF.global.locale.value}function yF(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=yF(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function bF(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=yF(e))&&(r&&(r+=` `),r+=t);return r}var xF=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},SF=(e,t)=>({classGroupId:e,validator:t}),CF=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),wF=`-`,TF=[],EF=`arbitrary..`,DF=e=>{let t=AF(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return kF(e);let n=e.split(wF);return OF(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?xF(i,t):t:i||TF}return n[e]||TF}}},OF=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=OF(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(wF):e.slice(t).join(wF),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},kF=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?EF+r:void 0})(),AF=e=>{let{theme:t,classGroups:n}=e;return jF(n,t)},jF=(e,t)=>{let n=CF();for(let r in e){let i=e[r];MF(i,n,r,t)}return n},MF=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];NF(i,t,n,r)}},NF=(e,t,n,r)=>{if(typeof e==`string`){PF(e,t,n);return}if(typeof e==`function`){FF(e,t,n,r);return}IF(e,t,n,r)},PF=(e,t,n)=>{let r=e===``?t:LF(t,e);r.classGroupId=n},FF=(e,t,n,r)=>{if(RF(e)){MF(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(SF(n,e))},IF=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];MF(o,LF(t,a),n,r)}},LF=(e,t)=>{let n=e,r=t.split(wF),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=CF(),n.nextPart.set(t,i)),n=i}return n},RF=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,zF=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},BF=`!`,VF=`:`,HF=[],UF=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),WF=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===VF){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(BF)?(c=s.slice(0,-1),l=!0):s.startsWith(BF)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return UF(t,l,c,u)};if(t){let e=t+VF,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):UF(HF,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},GF=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},KF=e=>({cache:zF(e.cacheSize),parseClassName:WF(e),sortModifiers:GF(e),postfixLookupClassGroupIds:qF(e),...DF(e)}),qF=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},JF=/\s+/,YF=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(JF),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+BF:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},XF=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=ZF(n))&&(i&&(i+=` `),i+=r);return i},ZF=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=ZF(e[r]))&&(n&&(n+=` `),n+=t);return n},QF=(e,...t)=>{let n,r,i,a,o=o=>(n=KF(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=YF(e,n);return i(e,a),a};return a=o,(...e)=>a(XF(...e))},$F=[],eI=e=>{let t=t=>t[e]||$F;return t.isThemeGetter=!0,t.themeKey=e,t},tI=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,nI=/^\((?:(\w[\w-]*):)?(.+)\)$/i,rI=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,iI=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,aI=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,oI=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,sI=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cI=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,lI=e=>rI.test(e),uI=e=>!!e&&!Number.isNaN(Number(e)),dI=e=>!!e&&Number.isInteger(Number(e)),fI=e=>e.endsWith(`%`)&&uI(e.slice(0,-1)),pI=e=>iI.test(e),mI=()=>!0,hI=e=>aI.test(e)&&!oI.test(e),gI=()=>!1,_I=e=>sI.test(e),vI=e=>cI.test(e),yI=e=>!X(e)&&!Z(e),bI=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),xI=e=>II(e,BI,gI),X=e=>tI.test(e),SI=e=>II(e,VI,hI),CI=e=>II(e,HI,uI),wI=e=>II(e,WI,mI),TI=e=>II(e,UI,gI),EI=e=>II(e,RI,gI),DI=e=>II(e,zI,vI),OI=e=>II(e,GI,_I),Z=e=>nI.test(e),kI=e=>LI(e,VI),AI=e=>LI(e,UI),jI=e=>LI(e,RI),MI=e=>LI(e,BI),NI=e=>LI(e,zI),PI=e=>LI(e,GI,!0),FI=e=>LI(e,WI,!0),II=(e,t,n)=>{let r=tI.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},LI=(e,t,n=!1)=>{let r=nI.exec(e);return r?r[1]?t(r[1]):n:!1},RI=e=>e===`position`||e===`percentage`,zI=e=>e===`image`||e===`url`,BI=e=>e===`length`||e===`size`||e===`bg-size`,VI=e=>e===`length`,HI=e=>e===`number`,UI=e=>e===`family-name`,WI=e=>e===`number`||e===`weight`,GI=e=>e===`shadow`,KI=QF(()=>{let e=eI(`color`),t=eI(`font`),n=eI(`text`),r=eI(`font-weight`),i=eI(`tracking`),a=eI(`leading`),o=eI(`breakpoint`),s=eI(`container`),c=eI(`spacing`),l=eI(`radius`),u=eI(`shadow`),d=eI(`inset-shadow`),f=eI(`text-shadow`),p=eI(`drop-shadow`),m=eI(`blur`),h=eI(`perspective`),g=eI(`aspect`),_=eI(`ease`),v=eI(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,X,c],T=()=>[lI,`full`,`auto`,...w()],ee=()=>[dI,`none`,`subgrid`,Z,X],te=()=>[`auto`,{span:[`full`,dI,Z,X]},dI,Z,X],ne=()=>[dI,`auto`,Z,X],re=()=>[`auto`,`min`,`max`,`fr`,Z,X],ie=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],ae=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],oe=()=>[`auto`,...w()],se=()=>[lI,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ce=()=>[s,lI,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],le=()=>[lI,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],E=()=>[e,Z,X],ue=()=>[...b(),jI,EI,{position:[Z,X]}],de=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],fe=()=>[`auto`,`cover`,`contain`,MI,xI,{size:[Z,X]}],pe=()=>[fI,kI,SI],me=()=>[``,`none`,`full`,l,Z,X],he=()=>[``,uI,kI,SI],ge=()=>[`solid`,`dashed`,`dotted`,`double`],_e=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ve=()=>[uI,fI,jI,EI],ye=()=>[``,`none`,m,Z,X],be=()=>[`none`,uI,Z,X],xe=()=>[`none`,uI,Z,X],D=()=>[uI,Z,X],Se=()=>[lI,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[pI],breakpoint:[pI],color:[mI],container:[pI],"drop-shadow":[pI],ease:[`in`,`out`,`in-out`],font:[yI],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[pI],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[pI],shadow:[pI],spacing:[`px`,uI],text:[pI],"text-shadow":[pI],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,lI,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[bI],columns:[{columns:[uI,`auto`,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[dI,`auto`,Z,X]}],basis:[{basis:[lI,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[uI,lI,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,uI,Z,X]}],shrink:[{shrink:[``,uI,Z,X]}],order:[{order:[dI,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":ne()}],"col-end":[{"col-end":ne()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":ne()}],"row-end":[{"row-end":ne()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":re()}],"auto-rows":[{"auto-rows":re()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ie(),`normal`]}],"justify-items":[{"justify-items":[...ae(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...ae()]}],"align-content":[{content:[`normal`,...ie()]}],"align-items":[{items:[...ae(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...ae(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ie()}],"place-items":[{"place-items":[...ae(),`baseline`]}],"place-self":[{"place-self":[`auto`,...ae()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:oe()}],mx:[{mx:oe()}],my:[{my:oe()}],ms:[{ms:oe()}],me:[{me:oe()}],mbs:[{mbs:oe()}],mbe:[{mbe:oe()}],mt:[{mt:oe()}],mr:[{mr:oe()}],mb:[{mb:oe()}],ml:[{ml:oe()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:se()}],"inline-size":[{inline:[`auto`,...ce()]}],"min-inline-size":[{"min-inline":[`auto`,...ce()]}],"max-inline-size":[{"max-inline":[`none`,...ce()]}],"block-size":[{block:[`auto`,...le()]}],"min-block-size":[{"min-block":[`auto`,...le()]}],"max-block-size":[{"max-block":[`none`,...le()]}],w:[{w:[s,`screen`,...se()]}],"min-w":[{"min-w":[s,`screen`,`none`,...se()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...se()]}],h:[{h:[`screen`,`lh`,...se()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...se()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...se()]}],"font-size":[{text:[`base`,n,kI,SI]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,FI,wI]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,fI,X]}],"font-family":[{font:[AI,TI,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[uI,`none`,Z,CI]}],leading:[{leading:[`none`,a,...w()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:E()}],"text-color":[{text:E()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ge(),`wavy`]}],"text-decoration-thickness":[{decoration:[uI,`from-font`,`auto`,Z,SI]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[uI,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[dI,Z,X]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:de()}],"bg-size":[{bg:fe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},dI,Z,X],radial:[``,Z,X],conic:[``,dI,Z,X]},NI,DI]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:pe()}],"gradient-via-pos":[{via:pe()}],"gradient-to-pos":[{to:pe()}],"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E()}],rounded:[{rounded:me()}],"rounded-s":[{"rounded-s":me()}],"rounded-e":[{"rounded-e":me()}],"rounded-t":[{"rounded-t":me()}],"rounded-r":[{"rounded-r":me()}],"rounded-b":[{"rounded-b":me()}],"rounded-l":[{"rounded-l":me()}],"rounded-ss":[{"rounded-ss":me()}],"rounded-se":[{"rounded-se":me()}],"rounded-ee":[{"rounded-ee":me()}],"rounded-es":[{"rounded-es":me()}],"rounded-tl":[{"rounded-tl":me()}],"rounded-tr":[{"rounded-tr":me()}],"rounded-br":[{"rounded-br":me()}],"rounded-bl":[{"rounded-bl":me()}],"border-w":[{border:he()}],"border-w-x":[{"border-x":he()}],"border-w-y":[{"border-y":he()}],"border-w-s":[{"border-s":he()}],"border-w-e":[{"border-e":he()}],"border-w-bs":[{"border-bs":he()}],"border-w-be":[{"border-be":he()}],"border-w-t":[{"border-t":he()}],"border-w-r":[{"border-r":he()}],"border-w-b":[{"border-b":he()}],"border-w-l":[{"border-l":he()}],"divide-x":[{"divide-x":he()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":he()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ge(),`hidden`,`none`]}],"divide-style":[{divide:[...ge(),`hidden`,`none`]}],"border-color":[{border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{"border-e":E()}],"border-color-bs":[{"border-bs":E()}],"border-color-be":[{"border-be":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{outline:[...ge(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[uI,Z,X]}],"outline-w":[{outline:[``,uI,kI,SI]}],"outline-color":[{outline:E()}],shadow:[{shadow:[``,`inner`,`none`,u,PI,OI]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":[`none`,d,PI,OI]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:he()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[uI,SI]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":he()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":[`none`,f,PI,OI]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[uI,Z,X]}],"mix-blend":[{"mix-blend":[..._e(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":_e()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[uI]}],"mask-image-linear-from-pos":[{"mask-linear-from":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":E()}],"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":E()}],"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":E()}],"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":E()}],"mask-image-radial-to-color":[{"mask-radial-to":E()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[uI]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":E()}],"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:de()}],"mask-size":[{mask:fe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:ye()}],brightness:[{brightness:[uI,Z,X]}],contrast:[{contrast:[uI,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,PI,OI]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:[``,uI,Z,X]}],"hue-rotate":[{"hue-rotate":[uI,Z,X]}],invert:[{invert:[``,uI,Z,X]}],saturate:[{saturate:[uI,Z,X]}],sepia:[{sepia:[``,uI,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[uI,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[uI,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,uI,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[uI,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,uI,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[uI,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[uI,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,uI,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[uI,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[uI,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:be()}],"rotate-x":[{"rotate-x":be()}],"rotate-y":[{"rotate-y":be()}],"rotate-z":[{"rotate-z":be()}],scale:[{scale:xe()}],"scale-x":[{"scale-x":xe()}],"scale-y":[{"scale-y":xe()}],"scale-z":[{"scale-z":xe()}],"scale-3d":[`scale-3d`],skew:[{skew:D()}],"skew-x":[{"skew-x":D()}],"skew-y":[{"skew-y":D()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:Se()}],"translate-x":[{"translate-x":Se()}],"translate-y":[{"translate-y":Se()}],"translate-z":[{"translate-z":Se()}],"translate-none":[`translate-none`],zoom:[{zoom:[dI,Z,X]}],accent:[{accent:E()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:E()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":E()}],"scrollbar-track-color":[{"scrollbar-track":E()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...E()]}],"stroke-w":[{stroke:[uI,kI,SI,CI]}],stroke:[{stroke:[`none`,...E()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function Q(...e){return KI(bF(e))}var qI={stopped:{labelKey:`status.stopped`,tone:`neutral`,transitional:!1},starting:{labelKey:`status.starting`,tone:`warn`,transitional:!0},running:{labelKey:`status.running`,tone:`ok`,transitional:!1},stopping:{labelKey:`status.stopping`,tone:`warn`,transitional:!0},backoff:{labelKey:`status.backoff`,tone:`warn`,transitional:!0},crashed:{labelKey:`status.crashed`,tone:`danger`,transitional:!1},conflict:{labelKey:`status.conflict`,tone:`danger`,transitional:!1}},JI={disabled:{labelKey:`health.disabled`,tone:`neutral`},unknown:{labelKey:`health.unknown`,tone:`neutral`},healthy:{labelKey:`health.healthy`,tone:`ok`},unhealthy:{labelKey:`health.unhealthy`,tone:`danger`}},YI={ok:`text-ok`,warn:`text-warn`,danger:`text-danger`,info:`text-info`,neutral:`text-muted`,accent:`text-accent`},XI={ok:`bg-ok-soft text-ok border-ok/25`,warn:`bg-warn-soft text-warn border-warn/25`,danger:`bg-danger-soft text-danger border-danger/25`,info:`bg-info-soft text-info border-info/25`,neutral:`bg-hover text-muted border-line`,accent:`bg-accent-soft text-accent border-accent/25`},ZI={ok:`bg-ok`,warn:`bg-warn`,danger:`bg-danger`,info:`bg-info`,neutral:`bg-faint`,accent:`bg-accent`};function QI(e,t){return e===`crashed`||e===`conflict`||t===`unhealthy`?`danger`:e===`starting`||e===`stopping`||e===`backoff`?`warn`:e===`running`?`ok`:`neutral`}var $I={start:`history.start`,exit:`history.exit`,crash:`history.crash`,"forced-restart":`history.forcedRestart`,unhealthy:`history.unhealthy`,recovered:`history.recovered`},eL={start:`ok`,exit:`neutral`,crash:`danger`,"forced-restart":`warn`,unhealthy:`warn`,recovered:`info`},tL={viewBox:`0 0 80 80`,class:`size-full -rotate-0`},nL=[`stroke-dasharray`],rL=[`stroke-dasharray`],iL={class:`absolute inset-0 grid place-items-center`},aL={class:`font-mono text-sm font-semibold tabular-nums text-ink`},oL={class:`text-2xs font-medium text-faint`},sL=34,cL=.75,lL=N({__name:`Gauge`,props:{value:{},label:{},display:{default:void 0},size:{default:74},tone:{default:void 0},warnAt:{default:75},dangerAt:{default:90}},setup(e){let t=e,n=2*Math.PI*sL,r=W(()=>t.value===null||!Number.isFinite(t.value)?0:Math.min(1,Math.max(0,t.value/100))*cL),i=W(()=>t.tone?t.tone:t.value===null||!Number.isFinite(t.value)?`neutral`:t.value>=t.dangerAt?`danger`:t.value>=t.warnAt?`warn`:`ok`),a={ok:`stroke-ok`,warn:`stroke-warn`,danger:`stroke-danger`,info:`stroke-info`,neutral:`stroke-faint`,accent:`stroke-accent`};return(e,o)=>(L(),R(`div`,{class:D(A(Q)(`flex flex-col items-center gap-1`))},[B(`div`,{class:`relative`,style:_e({width:`${t.size}px`,height:`${t.size}px`})},[(L(),R(`svg`,tL,[B(`circle`,{cx:`40`,cy:`40`,r:sL,fill:`none`,class:`stroke-line-soft`,"stroke-width":6,"stroke-dasharray":`${cL*n} ${n}`,transform:`rotate(135 40 40)`,"stroke-linecap":`round`},null,8,nL),B(`circle`,{cx:`40`,cy:`40`,r:sL,fill:`none`,class:D([a[i.value],`transition-[stroke-dasharray] duration-300 ease-out`]),"stroke-width":6,"stroke-dasharray":`${r.value*n} ${n}`,transform:`rotate(135 40 40)`,"stroke-linecap":`round`},null,10,rL)])),B(`div`,iL,[B(`span`,aL,O(t.display??(t.value===null?`—`:`${Math.round(t.value)}%`)),1)])],4),B(`span`,oL,O(t.label),1)],2))}}),uL=N({__name:`Meter`,props:{value:{},warnAt:{default:75},dangerAt:{default:90},height:{default:`h-1.5`},class:{default:void 0}},setup(e){let t=e,n=W(()=>t.value===null||!Number.isFinite(t.value)?0:Math.min(100,Math.max(0,t.value))),r=W(()=>t.value===null?`neutral`:t.value>=t.dangerAt?`danger`:t.value>=t.warnAt?`warn`:`ok`),i={ok:`bg-ok/80`,warn:`bg-warn/85`,danger:`bg-danger/85`,info:`bg-info/80`,neutral:`bg-faint/60`,accent:`bg-accent/80`};return(e,a)=>(L(),R(`div`,{class:D(A(Q)(`w-full overflow-hidden rounded-full bg-line-soft`,t.height,t.class))},[B(`div`,{class:D(A(Q)(`h-full rounded-full transition-[width] duration-300 ease-out`,i[r.value])),style:_e({width:`${n.value}%`})},null,6)],2))}}),dL={key:0,class:`grid size-10 place-items-center rounded-full border border-line bg-panel-2 text-faint`},fL={class:`max-w-sm space-y-1`},pL={class:`text-sm font-medium text-ink`},mL={key:0,class:`text-xs leading-relaxed text-muted`},hL={key:1,class:`flex items-center gap-2`},gL=N({__name:`EmptyState`,props:{title:{},description:{default:void 0},compact:{type:Boolean,default:!1}},setup(e){return(e,t)=>(L(),R(`div`,{class:D(A(Q)(`flex flex-col items-center justify-center gap-3 text-center`,e.$props.compact?`px-4 py-8`:`px-6 py-14`))},[e.$slots.icon?(L(),R(`div`,dL,[F(e.$slots,`icon`)])):U(``,!0),B(`div`,fL,[B(`p`,pL,O(e.$props.title),1),e.$props.description?(L(),R(`p`,mL,O(e.$props.description),1)):U(``,!0)]),e.$slots.action?(L(),R(`div`,hL,[F(e.$slots,`action`)])):U(``,!0)],2))}});function _L(e){return e===null||!Number.isFinite(e)?`—`:`${(e*100).toFixed(e>=.999?0:1)}%`}var vL={span:(e,t,n)=>n===null?`${e}${t}`:`${e}${t} ${n.value}${n.unit}`,now:()=>`now`,ahead:(e,t)=>`in ${e}${t}`,ago:(e,t)=>`${e}${t} ago`,never:()=>`never`};function yL(e,t=vL){if(!Number.isFinite(e)||e<0)return`—`;let n=Math.floor(e/1e3);if(n<60)return t.span(n,`s`,null);let r=Math.floor(n/60);if(r<60)return t.span(r,`m`,{value:n%60,unit:`s`});let i=Math.floor(r/60);return i<24?t.span(i,`h`,{value:r%60,unit:`m`}):t.span(Math.floor(i/24),`d`,{value:i%24,unit:`h`})}function bL(e,t,n=vL){let r=Math.max(0,e-t);return r<1e3?n.now():r<6e4?n.ahead(Math.ceil(r/1e3),`s`):n.ahead(Math.ceil(r/6e4),`m`)}function xL(e,t,n=vL){if(e===null)return n.never();let r=Math.max(0,t-e);return r<6e4?n.ago(Math.floor(r/1e3),`s`):r<36e5?n.ago(Math.floor(r/6e4),`m`):r<864e5?n.ago(Math.floor(r/36e5),`h`):n.ago(Math.floor(r/864e5),`d`)}function SL(){return XP(vF())?.iso}var CL=new Map,wL=new Map,TL={s:`s`,m:`m`,h:`h`,d:`d`};function EL(){return vF()===`en`}function DL(){let e=SL(),t=EL()?`narrow`:`short`,n=`${e??``}:${t}`,r=CL.get(n);return r===void 0&&(r=new Intl.RelativeTimeFormat(e,{numeric:`always`,style:t}),CL.set(n,r)),r}function OL(e,t){if(EL())return`${e}${TL[t]}`;let n={s:`second`,m:`minute`,h:`hour`,d:`day`},r=SL(),i=`${r??``}:${t}`,a=wL.get(i);return a===void 0&&(a=new Intl.NumberFormat(r,{style:`unit`,unit:n[t],unitDisplay:`short`}),wL.set(i,a)),a.format(e)}function kL(e,t,n){return DL().format(n*e,{s:`second`,m:`minute`,h:`hour`,d:`day`}[t])}var AL={span:(e,t,n)=>n===null?OL(e,t):`${OL(e,t)} ${OL(n.value,n.unit)}`,now:()=>Y(`common.now`),ahead:(e,t)=>kL(e,t,1),ago:(e,t)=>kL(e,t,-1),never:()=>Y(`common.never`)};function jL(e){return yL(e,AL)}function ML(e,t){return bL(e,t,AL)}function NL(e,t){return xL(e,t,AL)}function PL(e){let t=new Date(e);return`${t.toLocaleTimeString(SL(),{hour12:!1})}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function FL(e){return new Date(e).toLocaleString(SL(),{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}function IL(e){return Number.isFinite(e)?e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(0)} KiB`:e<1073741824?`${(e/1024/1024).toFixed(1)} MiB`:`${(e/1024/1024/1024).toFixed(2)} GiB`:`—`}function LL(e){if(e===null||!Number.isFinite(e))return`—`;let t=Math.abs(e);return t<1e3?`${e} B`:t<1e6?`${(e/1e3).toFixed(0)} kB`:t<1e9?`${(e/1e3/1e3).toFixed(1)} MB`:`${(e/1e3/1e3/1e3).toFixed(2)} GB`}function RL(e){return e===null||!Number.isFinite(e)?`—`:e>=100?`${Math.round(e)}%`:`${e.toFixed(1)}%`}function zL(e){return e===void 0?Y(`common.unset`):typeof e==`string`?e:JSON.stringify(e)}var BL={key:1,class:`space-y-4`},VL={class:`grid grid-cols-2 gap-3 sm:grid-cols-4`},HL={class:`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-line-soft pt-3 sm:grid-cols-4`},UL={class:`flex items-center gap-1 text-2xs text-faint`},WL={class:`font-mono text-xs text-ink`},GL={class:`text-2xs text-faint`},KL={class:`font-mono text-xs tabular-nums text-ink`},qL={class:`flex items-center gap-1 text-2xs text-faint`},JL={class:`font-mono text-xs text-ink`},YL={class:`flex items-center gap-1 text-2xs text-faint`},XL={class:`font-mono text-xs text-ink`},ZL={class:`space-y-2 border-t border-line-soft pt-3`},QL={class:`flex items-center gap-1.5 text-2xs font-medium text-faint`},$L={class:`flex items-baseline justify-between gap-2`},eR=[`title`],tR={class:`shrink-0 font-mono text-2xs tabular-nums text-faint`},nR={key:0,class:`space-y-1 rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2`},rR={class:`text-2xs font-medium text-danger`},iR=N({__name:`HostVitalsPanel`,props:{host:{},now:{}},setup(e){let t=e,n=W(()=>{let e=t.host;return e?(e.loadAvg[0]??0)/Math.max(1,e.cpus):null}),r=W(()=>t.host?.loadAvg.map(e=>e.toFixed(2)).join(` `)??`—`);return(e,i)=>!t.host||!t.host.enabled?(L(),z(gL,{key:0,compact:``,title:A(Y)(`host.samplingOff`),description:A(Y)(`host.samplingOffDescription`)},null,8,[`title`,`description`])):(L(),R(`div`,BL,[B(`div`,VL,[V(lL,{value:n.value===null?null:n.value/2*100,label:A(Y)(`host.loadPerCpu`),display:n.value===null?`—`:n.value.toFixed(2),size:72,"warn-at":70,"danger-at":100},null,8,[`value`,`label`,`display`]),V(lL,{value:t.host.memoryUsedPercent,label:A(Y)(`common.memory`),size:72},null,8,[`value`,`label`]),V(lL,{value:t.host.swapUsedPercent,label:A(Y)(`host.swap`),size:72,"warn-at":50},null,8,[`value`,`label`]),V(lL,{value:t.host.tempCelsius===null?null:t.host.tempCelsius/85*100,label:A(Y)(`host.cpuTemp`),display:t.host.tempCelsius===null?`n/a`:`${Math.round(t.host.tempCelsius)}°C`,size:72},null,8,[`value`,`label`,`display`])]),B(`dl`,HL,[B(`div`,null,[B(`dt`,UL,[V(A(Jv),{class:`size-3`}),H(O(A(Y)(`host.cpus`)),1)]),B(`dd`,WL,O(t.host.cpus),1)]),B(`div`,null,[B(`dt`,GL,O(A(Y)(`host.loadAverage`)),1),B(`dd`,KL,O(r.value),1)]),B(`div`,null,[B(`dt`,qL,[V(A(dy),{class:`size-3`}),H(O(A(Y)(`host.memoryUsed`)),1)]),B(`dd`,JL,O(t.host.memoryUsedPercent.toFixed(0))+`% `,1)]),B(`div`,null,[B(`dt`,YL,[V(A(Py),{class:`size-3`}),H(O(A(Y)(`host.sampled`)),1)]),B(`dd`,XL,O(A(NL)(t.host.sampledAt,t.now)),1)])]),B(`div`,ZL,[B(`p`,QL,[V(A(ny),{class:`size-3`}),H(O(A(Y)(`host.filesystems`)),1)]),(L(!0),R(I,null,P(t.host.disks,e=>(L(),R(`div`,{key:e.path,class:`space-y-1`},[B(`div`,$L,[B(`span`,{class:`truncate font-mono text-2xs text-muted`,title:e.path},O(e.path),9,eR),B(`span`,tR,O(A(IL)(e.totalBytes-e.freeBytes))+` / `+O(A(IL)(e.totalBytes))+` · `+O(e.usedPercent.toFixed(0))+`% `,1)]),V(uL,{value:e.usedPercent},null,8,[`value`])]))),128))]),t.host.alerts.length>0?(L(),R(`div`,nR,[B(`p`,rR,O(A(Y)(`host.thresholdsBreached`)),1),(L(!0),R(I,null,P(t.host.alerts,e=>(L(),R(`p`,{key:e,class:`text-2xs text-danger`},O(e),1))),128))])):U(``,!0)]))}}),aR={key:1,class:`flex flex-col`},oR={class:`min-w-0 flex-1`},sR={class:`flex items-baseline gap-1.5`},cR={class:`truncate text-xs font-medium text-ink`},lR=[`title`],uR={key:0,class:`text-muted`},dR={class:`shrink-0 pt-0.5 text-2xs text-faint`},fR=N({__name:`ActivityFeed`,props:{servers:{},now:{},limit:{default:12},serverId:{default:void 0}},setup(e){let t=e,n={start:_y,exit:jy,crash:Vv,"forced-restart":Sy,unhealthy:Ly,recovered:Hv},r=W(()=>{let e=[];for(let n of t.servers)if(t.serverId===void 0||n.id===t.serverId)for(let t of n.history.events)e.push({...t,label:n.config.label??n.id});return e.sort((e,t)=>t.ts-e.ts).slice(0,t.limit)});return(e,i)=>{let a=pa(`RouterLink`);return r.value.length===0?(L(),z(gL,{key:0,compact:``,title:A(Y)(`activity.emptyTitle`),description:A(Y)(`activity.emptyDescription`)},null,8,[`title`,`description`])):(L(),R(`ol`,aR,[(L(!0),R(I,null,P(r.value,(e,r)=>(L(),R(`li`,{key:`${e.serverId}-${e.ts}-${r}`,class:D([`flex items-start gap-2.5 border-line-soft py-2`,r>0&&`border-t`])},[(L(),z(ha(n[e.type]),{class:D(A(Q)(`mt-0.5 size-3.5 shrink-0`,A(YI)[A(eL)[e.type]]))},null,8,[`class`])),B(`div`,oR,[B(`p`,sR,[B(`span`,cR,O(A(Y)(A($I)[e.type])),1),V(a,{to:`/servers/${e.serverId}`,class:`truncate text-2xs text-muted hover:text-accent`},{default:j(()=>[H(O(e.label),1)]),_:2},1032,[`to`])]),B(`p`,{class:`mt-0.5 truncate font-mono text-2xs text-faint`,title:e.detail},[H(O(e.detail)+` `,1),e.runtimeMs===void 0?U(``,!0):(L(),R(`span`,uR,` · `+O(A(Y)(`activity.ran`,{duration:A(jL)(e.runtimeMs)})),1))],8,lR)]),B(`span`,dR,O(A(NL)(e.ts,t.now)),1)],2))),128))]))}}}),pR=[`restart`,`health`,`stop`];function mR(e,t){return JSON.stringify(hR(e))===JSON.stringify(hR(t))}function hR(e){if(Array.isArray(e))return e.map(hR);if(typeof e==`object`&&e){let t={};for(let n of Object.keys(e).sort()){let r=e[n];r!=null&&(t[n]=hR(r))}return t}return e??null}function gR(e,t,n=[]){let r={};for(let[i,a]of Object.entries(t)){if(n.includes(i)){let t=e[i]??{},n={};for(let[e,r]of Object.entries(a??{}))mR(t[e],r)||(n[e]=r);Object.keys(n).length>0&&(r[i]=n);continue}mR(e[i],a)||(r[i]=a)}return r}function _R(e,t){let n=e;return gR({...n,label:n.label??``},t,pR)}function vR(e,t=``){return typeof e!=`object`||!e||Array.isArray(e)?[{path:t,value:e}]:Object.entries(e).flatMap(([e,n])=>vR(n,t.length===0?e:`${t}.${e}`))}function yR(e,t){let n=new Map(vR(t).map(e=>[e.path,e.value]));return vR(e).map(e=>({path:e.path,from:n.get(e.path),to:e.value}))}function bR(e){let t=0;for(let n of Object.values(e))t+=typeof n==`object`&&n&&!Array.isArray(n)?bR(n):1;return t}async function xR(e,t=8e3){let n=Date.now()+t;for(;;){try{if((await fetch(`${e}/api/auth/session`,{cache:`no-store`})).ok)return!0}catch{}if(Date.now()>n)return!1;await new Promise(e=>setTimeout(e,250))}}var SR={enabled:!0,maxRetries:3,baseDelayMs:1e3,factor:2,maxDelayMs:3e4,resetAfterMs:6e4},CR={enabled:!0,mode:`port`,http:{path:`/`,method:`GET`,expectStatusBelow:400,expectBody:``},intervalMs:5e3,timeoutMs:1500,unhealthyThreshold:3,forceRestartAfterMs:0,startTimeoutMs:2e4},wR={signal:`SIGTERM`,killGroup:!0,graceMs:5e3,killPortHolders:!1};function TR(e){return{...e,http:{...e.http}}}function ER(){return{control:{label:`home-hosted`,port:3999,host:`local`,openBrowser:!1,tlsEnabled:!1},auth:{enabled:!1,sessionTtlMs:6048e5,cookieSecure:`auto`,trustProxy:`off`,maxLoginAttempts:5,lockoutMs:6e4},host:{enabled:!0,intervalMs:15e3,diskPaths:`.`,diskUsedPercent:90,memoryUsedPercent:90,swapUsedPercent:50,loadPerCpu:2,tempCelsius:85},backups:{enabled:!0,keep:5,includePaths:``}}}function DR(){return{defaults:{enabled:!0,autostart:!1,bind:`local`,onPortConflict:`block`,logBufferLines:500,restart:{...SR},health:TR(CR),stop:{...wR}},logs:{persist:!0,maxBytes:2e6,keep:3},telegram:{enabled:!1,chatId:``,cooldownMs:12e4,onCrash:!0,onUnhealthy:!0,onForcedRestart:!0,onRecovered:!1,onHost:!0,onDdns:!0}}}function OR(e){return e===`loopback`?`loopback`:e===`any`||e===!0}function kR(e){return{enabled:e.enabled,sessionTtlMs:e.sessionTtlMs,cookieSecure:e.cookieSecure,trustProxy:OR(e.trustProxy),maxLoginAttempts:e.maxLoginAttempts,lockoutMs:e.lockoutMs}}function AR(e){return{enabled:e.enabled,sessionTtlMs:e.sessionTtlMs,cookieSecure:e.cookieSecure,trustProxy:e.trustProxy===`loopback`?`loopback`:e.trustProxy?`any`:`off`,maxLoginAttempts:e.maxLoginAttempts,lockoutMs:e.lockoutMs}}function jR(e){return{label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,tlsEnabled:e.tls.enabled}}function MR(e){return{enabled:e.enabled,chatId:e.chatId,cooldownMs:e.cooldownMs,onCrash:e.onCrash,onUnhealthy:e.onUnhealthy,onForcedRestart:e.onForcedRestart,onRecovered:e.onRecovered,onHost:e.onHost,onDdns:e.onDdns??!0}}function NR(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}function PR(e){return{enabled:e.enabled,intervalMs:e.intervalMs,diskPaths:e.diskPaths.join(`, `),diskUsedPercent:e.diskUsedPercent,memoryUsedPercent:e.memoryUsedPercent,swapUsedPercent:e.swapUsedPercent,loadPerCpu:e.loadPerCpu,tempCelsius:e.tempCelsius}}function FR(e){return{enabled:e.enabled,keep:e.keep,includePaths:e.includePaths.join(`, `)}}function IR(e,t){return gR(e,{...t,diskPaths:NR(t.diskPaths)})}function LR(e,t){return gR(e,{...t,includePaths:NR(t.includePaths)})}function RR(e,t){return gR({label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,auth:kR(e.auth),tls:{enabled:e.tls.enabled}},{label:t.control.label,port:t.control.port,host:t.control.host,openBrowser:t.control.openBrowser,auth:{...t.auth,trustProxy:OR(t.auth.trustProxy)},tls:{enabled:t.control.tlsEnabled}},[`auth`,`tls`])}function zR(e,t){return gR(e,t,[`restart`,`health`,`stop`])}function BR(e,t){return gR(e,t)}function VR(e,t){return gR({telegram:MR(e)},{telegram:{...t}},[`telegram`])}function HR(e,t){switch(t){case`control`:return{...e.control,auth:{...e.auth}};case`host`:return{...e.host};case`backups`:return{...e.backups}}}function UR(e,t){return t===`auth`?{...e.auth}:t===`tls`?e.control.tlsEnabled:{label:e.control.label,port:e.control.port,host:e.control.host,openBrowser:e.control.openBrowser}}function WR(e,t,n){return t!==void 0&&qR(t[n],UR(e,n))}function GR(e,t,n){t.control={...t.control??{},[n]:UR(e,n)}}function KR(e,t){switch(t){case`defaults`:return{...e.defaults,restart:{...e.defaults.restart},health:TR(e.defaults.health),stop:{...e.defaults.stop}};case`logs`:return{...e.logs};case`telegram`:return{...e.telegram}}}function qR(e,t){return e!==void 0&&JSON.stringify(e)!==JSON.stringify(t)}function JR(e,t){return e.label!==t.control.label||e.port!==t.control.port||e.host!==t.control.host||e.openBrowser!==t.control.openBrowser}function YR(e,t){return e.tls.enabled!==t.control.tlsEnabled}function XR(e,t){return bR(gR({...AR(e.auth)},{...t.auth}))>0}function ZR(e,t,n){return W({get:e,set:e=>{t(e===null||Number.isNaN(e)?n:e)}})}async function QR(e){if(!e.rebinding)return null;let t=e.targetUrl??e.control.url;return t.length===0||t===window.location.origin?null:await xR(t)?(window.location.replace(t),null):Y(`settings.rebind.failed`,{target:t})}function $R(e){return e.split(`
40
- `).map(e=>e.trim()).filter(e=>e.length>0)}function ez(e){return Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
41
- `)}function tz(e){let t={};for(let n of $R(e)){let e=n.indexOf(`=`);e<=0||(t[n.slice(0,e).trim()]=n.slice(e+1).trim())}return t}function nz(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}var rz=/^[a-z0-9][a-z0-9_-]*$/;function iz(e){return{id:``,label:``,command:``,args:``,cwd:``,port:null,bind:e?.bind??`local`,autostart:e?.autostart??!1,persistent:!1,enabled:e?.enabled??!0,onPortConflict:e?.onPortConflict??`block`,logBufferLines:null,dependsOn:``,envFile:``,env:``,dataEnvs:``,backupPaths:``,backupIgnoreGenerated:!0,maxRssMb:null,restart:{...e?.restart??SR},health:TR(e?.health??CR),stop:{...e?.stop??wR},bootstrapEnabled:!1,bootstrapCommand:``,bootstrapArgs:``,bootstrapEnv:``,bootstrapTimeoutMs:12e4,bootstrapRunOnce:!0}}var az={port:`validation.port`,idRequired:`validation.idRequired`,idPattern:`validation.idPattern`,commandRequired:`validation.commandRequired`,bootstrapCommand:`validation.bootstrapCommand`};function oz(e){return e!==null&&Number.isFinite(e)?e:0}function sz(e){return{args:[],cwd:`.`,env:{},dataEnvs:{},dependsOn:[],envFile:``,backupPaths:[],backupIgnoreGenerated:!0,resources:{maxRssBytes:0},bind:e?.bind??`local`,enabled:e?.enabled??!0,autostart:e?.autostart??!1,persistent:!1,onPortConflict:e?.onPortConflict??`block`,logBufferLines:e?.logBufferLines??500}}function cz(e){return e===null||Number.isNaN(e)||Number.isInteger(e)&&e>=1&&e<=65535?null:az.port}function lz(e,t){let n=oz(e.maxRssMb),r=oz(e.bootstrapTimeoutMs),i=sz(t),a=gR({restart:t?.restart??SR,health:t?.health??CR,stop:t?.stop??wR},{restart:e.restart,health:e.health,stop:e.stop});return{...gR(i,{args:$R(e.args),cwd:e.cwd.trim().length>0?e.cwd.trim():`.`,env:tz(e.env),dataEnvs:tz(e.dataEnvs),dependsOn:nz(e.dependsOn),envFile:e.envFile.trim(),backupPaths:$R(e.backupPaths),backupIgnoreGenerated:e.backupIgnoreGenerated,resources:{maxRssBytes:n>0?Math.round(n*1024*1024):0},bind:e.bind,enabled:e.enabled,autostart:e.autostart,persistent:e.persistent,onPortConflict:e.onPortConflict,logBufferLines:oz(e.logBufferLines)>0?oz(e.logBufferLines):i.logBufferLines}),...a,id:e.id.trim(),...e.label.trim().length===0?{}:{label:e.label.trim()},command:e.command.trim(),...e.port===null||Number.isNaN(e.port)?{}:{port:e.port},...e.bootstrapEnabled?{bootstrap:{command:e.bootstrapCommand.trim(),args:$R(e.bootstrapArgs),env:tz(e.bootstrapEnv),timeoutMs:r>=1e3?r:12e4,runOnce:e.bootstrapRunOnce}}:{}}}function uz(e){return e.id.trim().length===0?az.idRequired:rz.test(e.id.trim())?e.command.trim().length===0?az.commandRequired:e.bootstrapEnabled&&e.bootstrapCommand.trim().length===0?az.bootstrapCommand:cz(e.port):az.idPattern}var dz={class:`mb-3 flex items-start justify-between gap-3`},fz={class:`min-w-0`},pz={class:`text-xs font-semibold text-ink`},mz={key:0,class:`mt-0.5 text-2xs leading-4 text-muted`},hz={class:`flex shrink-0 items-center gap-2`},gz=N({__name:`FieldGroup`,props:{title:{},description:{default:void 0},columns:{default:2},dense:{type:Boolean,default:!1},class:{default:void 0}},setup(e){let t=e,n=W(()=>({1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`})[t.columns]);return(e,r)=>(L(),R(`section`,{class:D(A(Q)(`rounded-panel border border-line bg-panel-2/40`,t.dense?`p-3`:`p-3.5`,t.class))},[B(`header`,dz,[B(`div`,fz,[B(`h3`,pz,O(t.title),1),t.description?(L(),R(`p`,mz,O(t.description),1)):U(``,!0)]),B(`div`,hz,[F(e.$slots,`actions`)])]),B(`div`,{class:D(A(Q)(`grid gap-3`,n.value))},[F(e.$slots,`default`)],2)],2))}});function _z(e){return e==null||Number.isNaN(e)?``:String(e)}function vz(e,t){let n=String(e??``).trim();if(n.length===0)return t?null:NaN;let r=Number(n);return Number.isNaN(r)?NaN:r}var yz=`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60 focus-visible:ring-offset-2 focus-visible:ring-offset-page`,bz=`text-xs font-medium text-muted`,xz=`text-2xs leading-4 text-faint`,Sz=[`w-full min-w-0 rounded-control border border-line bg-page/60 px-2.5 py-1.5 text-sm text-ink`,`placeholder:text-faint transition-colors duration-150`,`hover:border-line/80 hover:bg-page`,`focus:border-accent focus:bg-page focus:outline-none focus:ring-2 focus:ring-accent/25`,`disabled:cursor-not-allowed disabled:opacity-50`,`aria-[invalid=true]:border-danger aria-[invalid=true]:focus:ring-danger/25`].join(` `),Cz=`${Sz} font-mono text-xs`,wz=[`for`],Tz=[`id`,`step`,`min`,`max`,`aria-invalid`],Ez={key:1,class:`text-2xs text-danger`},Dz=N({inheritAttrs:!1,__name:`NumberField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},wide:{type:Boolean,default:!1},nullable:{type:Boolean,default:!1},step:{default:void 0},min:{default:void 0},max:{default:void 0}},{modelValue:{default:null},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=ui(),i=W({get:()=>_z(n.value),set:e=>{n.value=vz(e,t.nullable)}}),a=W(()=>n.value!==null&&Number.isNaN(n.value));return(e,n)=>(L(),R(`div`,{class:D(A(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:A(r),class:D(A(bz))},O(t.label),11,wz)):U(``,!0),Sr(B(`input`,Ms({id:A(r),"onUpdate:modelValue":n[0]||=e=>i.value=e,type:`number`,inputmode:`numeric`,step:t.step,min:t.min,max:t.max,class:A(Q)(A(Sz),`font-mono tabular-nums`,(t.error||a.value)&&`border-danger`),"aria-invalid":t.error||a.value?!0:void 0},e.$attrs),null,16,Tz),[[Jl,i.value]]),t.error?(L(),R(`p`,Ez,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(xz))},O(t.hint),3)):U(``,!0)],2))}}),Oz=[`for`],kz={class:`relative`},Az=[`id`],jz=[`value`,`disabled`],Mz={key:1,class:`text-2xs text-danger`},Nz=N({inheritAttrs:!1,__name:`SelectField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},options:{},wide:{type:Boolean,default:!1},mono:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=ui();return(e,i)=>(L(),R(`div`,{class:D(A(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:A(r),class:D(A(bz))},O(t.label),11,Oz)):U(``,!0),B(`div`,kz,[Sr(B(`select`,Ms({id:A(r),"onUpdate:modelValue":i[0]||=e=>n.value=e,class:A(Q)(A(Sz),`cursor-pointer appearance-none pr-7`,t.mono&&`font-mono text-xs`,t.error&&`border-danger`)},e.$attrs),[(L(!0),R(I,null,P(t.options,e=>(L(),R(`option`,{key:e.value,value:e.value,disabled:e.disabled},O(e.label),9,jz))),128))],16,Az),[[Ql,n.value]]),V(A(Iv),{class:`pointer-events-none absolute right-2 top-1/2 size-3.5 -translate-y-1/2 text-faint`,"aria-hidden":`true`})]),t.error?(L(),R(`p`,Mz,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(xz))},O(t.hint),3)):U(``,!0)],2))}}),Pz=[`for`],Fz=[`id`,`aria-invalid`,`aria-describedby`],Iz=[`id`],Lz=[`id`],Rz=N({inheritAttrs:!1,__name:`TextField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},wide:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=ui(),i=W(()=>t.hint||t.error?`${r}-hint`:void 0);return(e,a)=>(L(),R(`div`,{class:D(A(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:A(r),class:D(A(bz))},O(t.label),11,Pz)):U(``,!0),Sr(B(`input`,Ms({id:A(r),"onUpdate:modelValue":a[0]||=e=>n.value=e,class:A(Q)(A(Sz),t.error&&`border-danger`),"aria-invalid":t.error?!0:void 0,"aria-describedby":i.value},e.$attrs),null,16,Fz),[[ru,n.value]]),t.error?(L(),R(`p`,{key:1,id:`${A(r)}-hint`,class:`text-2xs text-danger`},O(t.error),9,Iz)):t.hint?(L(),R(`p`,{key:2,id:`${A(r)}-hint`,class:D(A(xz))},O(t.hint),11,Lz)):U(``,!0)],2))}}),zz=[`id`],Bz={key:0,class:`block text-2xs text-faint`},Vz=N({__name:`ToggleSwitch`,props:za({label:{},hint:{default:void 0},disabled:{type:Boolean,default:!1},trailing:{type:Boolean,default:!1},wide:{type:Boolean,default:!1},srOnly:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=ui(),r=so(e,`modelValue`);return(e,i)=>(L(),R(`div`,{class:D(A(Q)(`flex items-center gap-2.5`,t.trailing&&`flex-row-reverse justify-end`,t.wide&&`sm:col-span-2`))},[V(A(cg),{modelValue:r.value,"onUpdate:modelValue":i[0]||=e=>r.value=e,disabled:t.disabled,"aria-labelledby":A(n),class:D(A(Q)(`relative inline-flex h-[18px] w-8 shrink-0 cursor-pointer items-center rounded-full border transition-colors duration-150`,`data-[state=checked]:border-accent data-[state=checked]:bg-accent`,`data-[state=unchecked]:border-line data-[state=unchecked]:bg-line-soft`,`disabled:cursor-not-allowed disabled:opacity-45`,A(yz)))},{default:j(()=>[V(A(lg),{class:`block size-3 translate-x-[3px] rounded-full bg-white shadow-sm transition-transform duration-150 ease-out data-[state=checked]:translate-x-[16px]`})]),_:1},8,[`modelValue`,`disabled`,`aria-labelledby`,`class`]),B(`label`,{class:`min-w-0 cursor-pointer select-none`,onClick:i[1]||=e=>!t.disabled&&(r.value=!r.value)},[B(`span`,{id:A(n),class:D(A(Q)(`block text-xs text-ink`,t.srOnly&&`sr-only`))},O(t.label),11,zz),t.hint?(L(),R(`span`,Bz,O(t.hint),1)):U(``,!0)])],2))}}),Hz=N({__name:`LifecycleFields`,props:za({showHttp:{type:Boolean,default:!0}},{restart:{required:!0},restartModifiers:{},health:{required:!0},healthModifiers:{},stop:{required:!0},stopModifiers:{}}),emits:[`update:restart`,`update:health`,`update:stop`],setup(e){let t=so(e,`restart`),n=so(e,`health`),r=so(e,`stop`);function i(e,t,n=0){return W({get:e,set:e=>t(e===null||Number.isNaN(e)?n:e)})}let a=i(()=>t.value.maxRetries,e=>t.value.maxRetries=e),o=i(()=>t.value.baseDelayMs,e=>t.value.baseDelayMs=e),s=i(()=>t.value.factor,e=>t.value.factor=e,1),c=i(()=>t.value.maxDelayMs,e=>t.value.maxDelayMs=e),l=i(()=>t.value.resetAfterMs,e=>t.value.resetAfterMs=e),u=i(()=>n.value.intervalMs,e=>n.value.intervalMs=e,500),d=i(()=>n.value.timeoutMs,e=>n.value.timeoutMs=e,100),f=i(()=>n.value.unhealthyThreshold,e=>n.value.unhealthyThreshold=e,1),p=i(()=>n.value.forceRestartAfterMs,e=>n.value.forceRestartAfterMs=e),m=i(()=>n.value.startTimeoutMs,e=>n.value.startTimeoutMs=e),h=W({get:()=>n.value.http.expectStatus??null,set:e=>{e===null||Number.isNaN(e)?delete n.value.http.expectStatus:n.value.http.expectStatus=e}}),g=i(()=>n.value.http.expectStatusBelow,e=>n.value.http.expectStatusBelow=e,400),_=i(()=>r.value.graceMs,e=>r.value.graceMs=e),v=W(()=>[{value:`SIGTERM`,label:Y(`lifecycle.signalTerm`)},{value:`SIGINT`,label:Y(`lifecycle.signalInt`)},{value:`SIGKILL`,label:Y(`lifecycle.signalKill`)}]);return(i,y)=>(L(),R(I,null,[V(gz,{title:A(Y)(`lifecycle.restartTitle`),description:A(Y)(`lifecycle.restartDescription`),columns:3},{default:j(()=>[V(Vz,{modelValue:t.value.enabled,"onUpdate:modelValue":y[0]||=e=>t.value.enabled=e,label:A(Y)(`lifecycle.restartOnCrash`),wide:``},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(a),"onUpdate:modelValue":y[1]||=e=>hn(a)?a.value=e:null,label:A(Y)(`lifecycle.maxRetries`),min:0,hint:A(Y)(`lifecycle.maxRetriesHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(o),"onUpdate:modelValue":y[2]||=e=>hn(o)?o.value=e:null,label:A(Y)(`lifecycle.baseDelay`),min:0},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(s),"onUpdate:modelValue":y[3]||=e=>hn(s)?s.value=e:null,label:A(Y)(`lifecycle.factor`),min:1,step:.1},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(c),"onUpdate:modelValue":y[4]||=e=>hn(c)?c.value=e:null,label:A(Y)(`lifecycle.maxDelay`),min:0},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(l),"onUpdate:modelValue":y[5]||=e=>hn(l)?l.value=e:null,label:A(Y)(`lifecycle.resetAfter`),min:0,hint:A(Y)(`lifecycle.resetAfterHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`lifecycle.healthTitle`),description:A(Y)(`lifecycle.healthDescription`),columns:3},{default:j(()=>[V(Vz,{modelValue:n.value.enabled,"onUpdate:modelValue":y[6]||=e=>n.value.enabled=e,label:A(Y)(`lifecycle.probe`),wide:``},null,8,[`modelValue`,`label`]),V(Nz,{modelValue:n.value.mode,"onUpdate:modelValue":y[7]||=e=>n.value.mode=e,label:A(Y)(`lifecycle.probeType`),options:[{value:`port`,label:A(Y)(`lifecycle.probePort`)},{value:`http`,label:A(Y)(`lifecycle.probeHttp`)}]},null,8,[`modelValue`,`label`,`options`]),V(Dz,{modelValue:A(u),"onUpdate:modelValue":y[8]||=e=>hn(u)?u.value=e:null,label:A(Y)(`lifecycle.interval`),min:500,step:100},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(d),"onUpdate:modelValue":y[9]||=e=>hn(d)?d.value=e:null,label:A(Y)(`lifecycle.timeout`),min:100,step:100},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:A(f),"onUpdate:modelValue":y[10]||=e=>hn(f)?f.value=e:null,label:A(Y)(`lifecycle.unhealthyAfter`),min:1,hint:A(Y)(`lifecycle.unhealthyAfterHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(p),"onUpdate:modelValue":y[11]||=e=>hn(p)?p.value=e:null,label:A(Y)(`lifecycle.forceRestartAfter`),min:0,hint:A(Y)(`lifecycle.forceRestartAfterHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(m),"onUpdate:modelValue":y[12]||=e=>hn(m)?m.value=e:null,label:A(Y)(`lifecycle.startTimeout`),min:0},null,8,[`modelValue`,`label`]),e.showHttp&&n.value.mode===`http`?(L(),R(I,{key:0},[V(Rz,{modelValue:n.value.http.path,"onUpdate:modelValue":y[13]||=e=>n.value.http.path=e,label:A(Y)(`lifecycle.httpPath`),placeholder:`/healthz`},null,8,[`modelValue`,`label`]),V(Nz,{modelValue:n.value.http.method,"onUpdate:modelValue":y[14]||=e=>n.value.http.method=e,label:A(Y)(`lifecycle.httpMethod`),options:[{value:`GET`,label:`GET`},{value:`HEAD`,label:`HEAD`}]},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:h.value,"onUpdate:modelValue":y[15]||=e=>h.value=e,label:A(Y)(`lifecycle.expectStatus`),nullable:``,hint:A(Y)(`lifecycle.expectStatusHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(g),"onUpdate:modelValue":y[16]||=e=>hn(g)?g.value=e:null,label:A(Y)(`lifecycle.expectStatusBelow`),min:100},null,8,[`modelValue`,`label`]),V(Rz,{modelValue:n.value.http.expectBody,"onUpdate:modelValue":y[17]||=e=>n.value.http.expectBody=e,label:A(Y)(`lifecycle.expectBody`),placeholder:A(Y)(`lifecycle.expectBodyPlaceholder`),wide:``,hint:n.value.http.method===`HEAD`&&n.value.http.expectBody.length>0?A(Y)(`lifecycle.headBodyHint`):void 0},null,8,[`modelValue`,`label`,`placeholder`,`hint`])],64)):U(``,!0)]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`lifecycle.stopTitle`),description:A(Y)(`lifecycle.stopDescription`),columns:3},{default:j(()=>[V(Nz,{modelValue:r.value.signal,"onUpdate:modelValue":y[18]||=e=>r.value.signal=e,label:A(Y)(`lifecycle.signal`),options:v.value},null,8,[`modelValue`,`label`,`options`]),V(Dz,{modelValue:A(_),"onUpdate:modelValue":y[19]||=e=>hn(_)?_.value=e:null,label:A(Y)(`lifecycle.grace`),min:0},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:r.value.killGroup,"onUpdate:modelValue":y[20]||=e=>r.value.killGroup=e,label:A(Y)(`lifecycle.killGroup`)},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:r.value.killPortHolders,"onUpdate:modelValue":y[21]||=e=>r.value.killPortHolders=e,label:A(Y)(`lifecycle.killPortHolders`),wide:``},null,8,[`modelValue`,`label`])]),_:1},8,[`title`,`description`])],64))}}),Uz=[`type`,`disabled`,`aria-busy`],$=N({inheritAttrs:!1,__name:`AppButton`,props:{variant:{default:`secondary`},size:{default:`sm`},type:{default:`button`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},block:{type:Boolean,default:!1}},setup(e){let t=e,n=Fa(),r={primary:`bg-accent text-accent-ink border-transparent hover:brightness-110 active:brightness-95 shadow-[inset_0_1px_0_rgb(255_255_255/0.14)]`,secondary:`bg-raise text-ink border-line hover:bg-hover`,ghost:`bg-transparent text-muted border-transparent hover:bg-hover hover:text-ink`,danger:`bg-danger text-white border-transparent hover:brightness-110 active:brightness-95`,"danger-ghost":`bg-transparent text-danger border-danger/30 hover:bg-danger-soft`},i={xs:`h-6 gap-1 px-1.5 text-2xs`,sm:`h-8 gap-1.5 px-2.5 text-xs`,md:`h-9 gap-2 px-3.5 text-sm`,icon:`h-9 w-9 justify-center`,"icon-sm":`h-8 w-8 justify-center`},a=W(()=>Q(`inline-flex select-none items-center rounded-control border font-medium whitespace-nowrap`,`transition-[background-color,border-color,color,filter,opacity] duration-150 ease-out`,`disabled:pointer-events-none disabled:opacity-45`,r[t.variant],i[t.size],t.block&&`w-full`,yz,n.class));return(e,r)=>(L(),R(`button`,Ms({...A(n),class:void 0},{type:t.type,class:a.value,disabled:t.disabled||t.loading,"aria-busy":t.loading||void 0}),[t.loading?(L(),z(A(sy),{key:0,class:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`})):U(``,!0),F(e.$slots,`default`)],16,Uz))}}),Wz=[`open`],Gz={class:`flex cursor-pointer list-none select-none items-center gap-1.5 px-3 py-2 text-xs font-semibold text-ink [&::-webkit-details-marker]:hidden`},Kz={key:0,class:`ml-1 truncate text-2xs font-normal text-faint`},qz={class:`grid gap-3 border-t border-line-soft px-3 py-3`},Jz=N({__name:`Disclosure`,props:{title:{},hint:{default:void 0},open:{type:Boolean,default:!1}},setup(e){let t=e;return(e,n)=>(L(),R(`details`,{class:`group rounded-panel border border-line bg-panel-2/40`,open:t.open},[B(`summary`,Gz,[V(A(Rv),{class:`size-3.5 shrink-0 text-muted transition-transform duration-150 group-open:rotate-90`,"aria-hidden":`true`}),H(` `+O(t.title)+` `,1),t.hint?(L(),R(`span`,Kz,O(t.hint),1)):U(``,!0)]),B(`div`,qz,[F(e.$slots,`default`)])],8,Wz))}}),Yz={class:`flex shrink-0 items-start justify-between gap-4 border-b border-line px-4 py-3`},Xz={class:`min-w-0`},Zz={class:`min-h-0 flex-1 overflow-y-auto px-4 py-3.5`},Qz={key:0,class:`flex shrink-0 items-center justify-end gap-2 border-t border-line bg-panel-2 px-4 py-3`},$z=N({__name:`Modal`,props:za({title:{},description:{default:void 0},width:{default:`w-[min(92vw,34rem)]`}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let t=e,n=so(e,`open`);return(e,r)=>(L(),z(A(lf),{open:n.value,"onUpdate:open":r[0]||=e=>n.value=e},{default:j(()=>[V(A(Yf),null,{default:j(()=>[V(A(qf),{class:`fixed inset-0 z-50 bg-black/45 backdrop-blur-[1px] data-[state=closed]:animate-[hh-fade-out_120ms_ease-in] data-[state=open]:animate-[hh-fade-in_150ms_ease-out]`}),V(A(Wf),{class:D(A(Q)(`fixed left-1/2 top-1/2 z-50 flex max-h-[88dvh] -translate-x-1/2 -translate-y-1/2 flex-col overflow-hidden`,`rounded-panel border border-line bg-panel shadow-float`,`data-[state=closed]:animate-[hh-pop-out_120ms_ease-in] data-[state=open]:animate-[hh-pop-in_160ms_var(--ease-out-quick)]`,t.width))},{default:j(()=>[B(`header`,Yz,[B(`div`,Xz,[V(A(Xf),{class:`text-sm font-semibold text-ink`},{default:j(()=>[H(O(t.title),1)]),_:1}),t.description?(L(),z(A(Gf),{key:0,class:`mt-0.5 text-xs text-muted`},{default:j(()=>[H(O(t.description),1)]),_:1})):U(``,!0)]),V(A(uf),{class:D(A(Q)(`-mr-1 -mt-0.5 grid size-7 shrink-0 place-items-center rounded-control text-muted transition-colors duration-150 hover:bg-hover hover:text-ink`,A(yz))),"aria-label":A(Y)(`common.close`)},{default:j(()=>[V(A(zy),{class:`size-4`})]),_:1},8,[`class`,`aria-label`])]),B(`div`,Zz,[F(e.$slots,`default`)]),e.$slots.footer?(L(),R(`footer`,Qz,[F(e.$slots,`footer`)])):U(``,!0)]),_:3},8,[`class`])]),_:3})]),_:3},8,[`open`]))}}),eB=[`for`],tB=[`id`,`rows`,`placeholder`],nB={key:1,class:`text-2xs text-danger`},rB=N({inheritAttrs:!1,__name:`TextAreaField`,props:za({label:{default:void 0},hint:{default:void 0},error:{default:null},rows:{default:3},placeholder:{default:void 0},wide:{type:Boolean,default:!0},mono:{type:Boolean,default:!0}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`),r=ui();return(e,i)=>(L(),R(`div`,{class:D(A(Q)(`flex min-w-0 flex-col gap-1`,t.wide&&`sm:col-span-2`))},[t.label?(L(),R(`label`,{key:0,for:A(r),class:D(A(bz))},O(t.label),11,eB)):U(``,!0),Sr(B(`textarea`,Ms({id:A(r),"onUpdate:modelValue":i[0]||=e=>n.value=e,rows:t.rows,placeholder:t.placeholder,spellcheck:`false`,class:A(Q)(t.mono?A(Cz):`font-sans`,`resize-y leading-relaxed`,t.error&&`border-danger`)},e.$attrs),null,16,tB),[[Jl,n.value]]),t.error?(L(),R(`p`,nB,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(xz))},O(t.hint),3)):U(``,!0)],2))}}),iB=N({__name:`TransText`,props:{k:{},params:{}},setup(e){let t=e,n=Pa(),r=W(()=>Object.keys(n)),i=W(()=>{let e={...t.params};for(let t of r.value)delete e[t];let n=Y(t.k,e),i=[],a=/\{(\w+)\}/g,o=0,s=a.exec(n);for(;s!==null;){s.index>o&&i.push({text:n.slice(o,s.index)});let e=s[1];i.push(r.value.includes(e)?{slot:e}:{text:s[0]}),o=s.index+s[0].length,s=a.exec(n)}return o<n.length&&i.push({text:n.slice(o)}),i});return(e,t)=>(L(),R(`span`,null,[(L(!0),R(I,null,P(i.value,(t,n)=>(L(),R(I,{key:n},[t.slot?F(e.$slots,t.slot,{},void 0,void 0,0):(L(),R(I,{key:1},[H(O(t.text),1)],64))],64))),128))]))}}),aB={class:`text-2xs leading-4 text-faint`},oB={class:`font-mono`},sB={class:`rounded-panel border border-line-soft bg-panel-2/40 p-3`},cB={class:`text-2xs font-medium text-muted`},lB={class:`mt-1.5 flex flex-wrap gap-1`},uB={key:0,class:`rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 font-mono text-2xs leading-4 text-danger`},dB=N({__name:`AddServerDialog`,props:za({workspaceId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:za([`created`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`open`),a=XN(),o=k(!1),s=k(null),c=[`{port}`,`{host}`,`{home}`,`{projectDir}`,`{dataRoot}`,`{id}`,`{label}`,`{cwd}`,`{bind}`,`{lanIp}`],l=W(()=>a.workspaceById(n.workspaceId)?.defaults),u=W(()=>a.workspaceById(n.workspaceId)?.label??Y(`addServer.thisWorkspace`)),d=tn(iz(l.value)),f=W(()=>{let e=cz(d.port);return e===null?null:Y(e)});function p(){Object.assign(d,iz(l.value)),s.value=null}M(i,e=>{e&&p()});async function m(){s.value=null;let e=uz(d);if(e!==null){s.value=Y(e);return}let t=VA(lz(d,l.value));if(t instanceof J.errors){s.value=t.summary;return}o.value=!0;try{if(await a.create(n.workspaceId,t),a.lastError.value!==null){s.value=a.lastError.value;return}r(`created`),i.value=!1,p()}finally{o.value=!1}}return(e,t)=>(L(),z($z,{open:i.value,"onUpdate:open":t[29]||=e=>i.value=e,title:A(Y)(`addServer.title`),description:A(Y)(`addServer.description`,{workspace:u.value}),width:`w-[min(94vw,40rem)]`},{footer:j(()=>[V($,{variant:`ghost`,onClick:t[28]||=e=>i.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1}),V($,{type:`submit`,form:`add-server-form`,variant:`primary`,loading:o.value},{default:j(()=>[H(O(A(Y)(`addServer.submit`)),1)]),_:1},8,[`loading`])]),default:j(()=>[B(`form`,{id:`add-server-form`,class:`flex flex-col gap-3`,onSubmit:lu(m,[`prevent`])},[V(gz,{title:A(Y)(`addServer.identity`),columns:2,dense:``},{default:j(()=>[V(Rz,{modelValue:d.id,"onUpdate:modelValue":t[0]||=e=>d.id=e,label:A(Y)(`addServer.id`),placeholder:`my-server`,hint:A(Y)(`addServer.idHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:d.label,"onUpdate:modelValue":t[1]||=e=>d.label=e,label:A(Y)(`common.label`),placeholder:`My server`,hint:A(Y)(`addServer.labelHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),V(gz,{title:A(Y)(`addServer.process`),columns:2,dense:``},{default:j(()=>[V(Rz,{modelValue:d.command,"onUpdate:modelValue":t[2]||=e=>d.command=e,label:A(Y)(`common.command`),placeholder:`node`,hint:A(Y)(`addServer.commandHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:d.cwd,"onUpdate:modelValue":t[3]||=e=>d.cwd=e,label:A(Y)(`serverForm.workingDirectory`),placeholder:`.`,hint:A(Y)(`serverForm.cwdHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),V(rB,{modelValue:d.args,"onUpdate:modelValue":t[4]||=e=>d.args=e,label:A(Y)(`serverForm.arguments`),rows:3,hint:A(Y)(`addServer.argumentsHint`),placeholder:`-p
42
- {port}`},null,8,[`modelValue`,`label`,`hint`]),V(gz,{title:A(Y)(`addServer.portLifecycle`),columns:2,dense:``},{default:j(()=>[V(Dz,{modelValue:d.port,"onUpdate:modelValue":t[5]||=e=>d.port=e,label:A(Y)(`common.port`),nullable:``,min:1,max:65535,error:f.value,hint:A(Y)(`serverForm.portHint`)},null,8,[`modelValue`,`label`,`error`,`hint`]),V(Nz,{modelValue:d.bind,"onUpdate:modelValue":t[6]||=e=>d.bind=e,label:A(Y)(`serverForm.bindAddress`),options:[{value:`local`,label:A(Y)(`bind.local`)},{value:`lan`,label:A(Y)(`bind.lan`)}],hint:A(Y)(`addServer.bindHint`)},null,8,[`modelValue`,`label`,`options`,`hint`]),V(Vz,{modelValue:d.autostart,"onUpdate:modelValue":t[7]||=e=>d.autostart=e,label:A(Y)(`serverForm.autostart`),hint:A(Y)(`serverForm.autostartHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:d.persistent,"onUpdate:modelValue":t[8]||=e=>d.persistent=e,label:A(Y)(`serverForm.persistent`),hint:A(Y)(`serverForm.persistentHint`),wide:``},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),V(Jz,{title:A(Y)(`addServer.advanced`),hint:A(Y)(`addServer.advancedHint`)},{default:j(()=>[V(gz,{title:A(Y)(`common.environment`),columns:2,dense:``},{default:j(()=>[V(rB,{modelValue:d.env,"onUpdate:modelValue":t[9]||=e=>d.env=e,label:A(Y)(`common.environment`),rows:3,hint:A(Y)(`serverForm.envHint`),placeholder:`NODE_ENV=production`},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:d.dataEnvs,"onUpdate:modelValue":t[10]||=e=>d.dataEnvs=e,label:A(Y)(`serverForm.dataEnvs`),rows:3,hint:A(Y)(`serverForm.dataEnvsHint`),placeholder:`DATA_DIR={home}/.app`},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:d.envFile,"onUpdate:modelValue":t[11]||=e=>d.envFile=e,label:A(Y)(`serverForm.envFile`),placeholder:A(Y)(`serverForm.envFilePlaceholder`),hint:A(Y)(`serverForm.envFileHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`placeholder`,`hint`]),V(Rz,{modelValue:d.dependsOn,"onUpdate:modelValue":t[12]||=e=>d.dependsOn=e,label:A(Y)(`serverForm.dependsOn`),placeholder:`postgres, redis`,hint:A(Y)(`serverForm.dependsOnHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),V(gz,{title:A(Y)(`addServer.backups`),columns:2,dense:``},{default:j(()=>[V(rB,{modelValue:d.backupPaths,"onUpdate:modelValue":t[13]||=e=>d.backupPaths=e,label:A(Y)(`serverForm.backupPaths`),rows:2,hint:A(Y)(`serverForm.backupPathsHint`),placeholder:`{home}/.app/uploads`},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:d.backupIgnoreGenerated,"onUpdate:modelValue":t[14]||=e=>d.backupIgnoreGenerated=e,label:A(Y)(`addServer.backupIgnore`),hint:A(Y)(`serverForm.backupIgnoreHint`),wide:``},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),V(Hz,{restart:d.restart,"onUpdate:restart":t[15]||=e=>d.restart=e,health:d.health,"onUpdate:health":t[16]||=e=>d.health=e,stop:d.stop,"onUpdate:stop":t[17]||=e=>d.stop=e},null,8,[`restart`,`health`,`stop`]),V(gz,{title:A(Y)(`serverForm.bootstrap`),description:A(Y)(`addServer.bootstrapDescription`),columns:2,dense:``},{default:j(()=>[V(Vz,{modelValue:d.bootstrapEnabled,"onUpdate:modelValue":t[18]||=e=>d.bootstrapEnabled=e,label:A(Y)(`serverForm.runBootstrap`),hint:A(Y)(`addServer.bootstrapHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),d.bootstrapEnabled?(L(),R(I,{key:0},[V(Rz,{modelValue:d.bootstrapCommand,"onUpdate:modelValue":t[19]||=e=>d.bootstrapCommand=e,label:A(Y)(`common.command`),placeholder:`./scripts/install.sh`,class:`font-mono text-xs`},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:d.bootstrapTimeoutMs,"onUpdate:modelValue":t[20]||=e=>d.bootstrapTimeoutMs=e,label:A(Y)(`serverForm.timeoutMs`),min:1e3,step:1e3},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:d.bootstrapRunOnce,"onUpdate:modelValue":t[21]||=e=>d.bootstrapRunOnce=e,label:A(Y)(`serverForm.runOnce`),hint:A(Y)(`serverForm.runOnceHint`)},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:d.bootstrapArgs,"onUpdate:modelValue":t[22]||=e=>d.bootstrapArgs=e,label:A(Y)(`serverForm.bootstrapArgs`),rows:2,hint:A(Y)(`serverForm.bootstrapArgsHint`)},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:d.bootstrapEnv,"onUpdate:modelValue":t[23]||=e=>d.bootstrapEnv=e,label:A(Y)(`serverForm.bootstrapEnv`),rows:2,hint:A(Y)(`serverForm.bootstrapEnvHint`)},null,8,[`modelValue`,`label`,`hint`])],64)):U(``,!0)]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`addServer.policyResources`),columns:2,dense:``},{default:j(()=>[V(Nz,{modelValue:d.onPortConflict,"onUpdate:modelValue":t[24]||=e=>d.onPortConflict=e,label:A(Y)(`serverForm.onPortConflict`),options:[{value:`block`,label:A(Y)(`onPortConflict.block`)},{value:`warn`,label:A(Y)(`onPortConflict.warn`)},{value:`follow`,label:A(Y)(`onPortConflict.follow`)},{value:`reclaim`,label:A(Y)(`onPortConflict.reclaim`)},{value:`kill`,label:A(Y)(`onPortConflict.kill`)}]},null,8,[`modelValue`,`label`,`options`]),V(Dz,{modelValue:d.logBufferLines,"onUpdate:modelValue":t[25]||=e=>d.logBufferLines=e,label:A(Y)(`serverForm.logBufferLines`),min:50,max:1e5,step:50,hint:A(Y)(`addServer.logBufferHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:d.maxRssMb,"onUpdate:modelValue":t[26]||=e=>d.maxRssMb=e,label:A(Y)(`serverForm.maxRssMb`),min:0,hint:A(Y)(`serverForm.maxRssHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:d.enabled,"onUpdate:modelValue":t[27]||=e=>d.enabled=e,label:A(Y)(`common.enabled`),hint:A(Y)(`serverForm.enabledHint`),wide:``},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`]),B(`p`,aB,[V(iB,{k:`addServer.inheritNote`},{settings:j(()=>[B(`span`,oB,O(A(Y)(`addServer.serverDefaults`)),1)]),_:1})])]),_:1},8,[`title`,`hint`]),B(`div`,sB,[B(`p`,cB,O(A(Y)(`addServer.placeholdersTitle`)),1),B(`div`,lB,[(L(),R(I,null,P(c,e=>B(`code`,{key:e,class:`rounded-control border border-line bg-raise px-1.5 py-0.5 font-mono text-2xs text-ink`},O(e),1)),64))])]),s.value?(L(),R(`p`,uB,O(s.value),1)):U(``,!0)],32)]),_:1},8,[`open`,`title`,`description`]))}});function fB(e){let t=e.trim().toLowerCase();return t===`localhost`||t===`::1`||t===`[::1]`||t.endsWith(`.localhost`)?!0:/^127(?:\.\d{1,3}){3}$/.test(t)}function pB(e,t){let{url:n,bindHost:r}=e,i=t.trim();if(n===null||r.trim()!==`0.0.0.0`||i===``||fB(i))return n;try{let e=new URL(n),t=i.includes(`:`)&&!i.startsWith(`[`)?`[${i}]`:i,r=e.port.length>0?`:${e.port}`:``,a=e.pathname===`/`?``:e.pathname;return`${e.protocol}//${t}${r}${a}${e.search}${e.hash}`}catch{return n}}function mB(){return globalThis.location?.hostname??``}var hB={class:`text-xs font-semibold text-ink`},gB={class:`mt-1 text-2xs leading-4 text-muted`},_B={class:`mt-2.5 flex justify-end gap-1.5`},vB=N({__name:`KillPortButton`,props:{port:{},busy:{type:Boolean,default:!1}},emits:[`confirm`],setup(e,{emit:t}){let n=e,r=t,i=k(!1);function a(){i.value=!1,r(`confirm`)}return(e,t)=>(L(),z(A(Wh),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(Zh),{"as-child":``},{default:j(()=>[V($,{variant:`danger-ghost`,size:`xs`,loading:n.busy},{default:j(()=>[H(O(A(Y)(`killPort.trigger`,{port:n.port})),1)]),_:1},8,[`loading`])]),_:1}),V(A(Xh),null,{default:j(()=>[V(A(Yh),{"side-offset":6,align:`start`,class:`z-50 w-64 rounded-panel border border-line bg-raise p-3 shadow-float focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[B(`p`,hB,O(A(Y)(`killPort.title`,{port:n.port})),1),B(`p`,gB,O(A(Y)(`killPort.body`)),1),B(`div`,_B,[V(A(Gh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`ghost`},{default:j(()=>[H(O(A(Y)(`common.keepIt`)),1)]),_:1})]),_:1}),V($,{size:`xs`,variant:`danger`,loading:n.busy,onClick:a},{default:j(()=>[H(O(A(Y)(`killPort.confirm`)),1)]),_:1},8,[`loading`])])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),yB=[`viewBox`],bB=[`id`],xB=[`stop-color`],SB=[`stop-color`],CB=[`d`,`fill`],wB=[`d`,`stroke`,`stroke-width`],TB=[`x1`,`x2`,`y2`,`stroke`],EB=[`cx`,`cy`,`fill`],DB={key:0,class:`absolute inset-x-0 top-1/2 border-t border-dashed border-line`},OB=100,kB=N({__name:`Sparkline`,props:za({values:{},height:{default:34},max:{default:null},min:{default:null},fill:{type:Boolean,default:!0},strokeWidth:{default:1.5},color:{default:void 0},class:{default:void 0},interactive:{type:Boolean,default:!1}},{hoverIndex:{default:null},hoverIndexModifiers:{}}),emits:[`update:hoverIndex`],setup(e){let t=e,n=so(e,`hoverIndex`),r=ui(),i=k(null),a=W(()=>{let e=t.values.filter(e=>e!==null&&Number.isFinite(e)),n=t.max??(e.length>0?Math.max(...e):1),r=t.min??0;return{bottom:r,ceiling:n===r?r+1:n}}),o=W(()=>{let e=t.values,{bottom:n,ceiling:r}=a.value,i=r-n,o=e.length>1?OB/(e.length-1):OB,s=e=>t.height-(e-n)/i*t.height,c=[],l=[],u=()=>{if(l.length===0)return;let e=l.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(` `),n=l[0],r=`${e} L${l[l.length-1].x.toFixed(2)} ${t.height} L${n.x.toFixed(2)} ${t.height} Z`;c.push({line:e,area:r}),l=[]};return e.forEach((e,t)=>{if(e===null||!Number.isFinite(e)){u();return}l.push({x:t*o,y:s(e)})}),u(),c}),s=W(()=>n.value===null||t.values.length<2?null:n.value/(t.values.length-1)*OB),c=W(()=>{let e=n.value;if(e===null)return null;let r=t.values[e];if(r==null||!Number.isFinite(r))return null;let{bottom:i,ceiling:o}=a.value;return t.height-(r-i)/(o-i)*t.height});function l(e){if(!t.interactive||!i.value||t.values.length===0)return;let r=i.value.getBoundingClientRect();if(r.width===0)return;let a=Math.min(1,Math.max(0,(e.clientX-r.left)/r.width));n.value=Math.round(a*(t.values.length-1))}function u(){n.value=null}return(e,n)=>(L(),R(`div`,{ref_key:`track`,ref:i,class:D(A(Q)(`relative w-full`,t.class)),style:_e({height:`${t.height}px`}),onMousemove:l,onMouseleave:u},[(L(),R(`svg`,{viewBox:`0 0 ${OB} ${t.height}`,preserveAspectRatio:`none`,class:`block size-full overflow-visible`,role:`img`,"aria-hidden":`true`},[B(`defs`,null,[B(`linearGradient`,{id:A(r),x1:`0`,y1:`0`,x2:`0`,y2:`1`},[B(`stop`,{offset:`0%`,"stop-color":t.color??`currentColor`,"stop-opacity":`0.26`},null,8,xB),B(`stop`,{offset:`100%`,"stop-color":t.color??`currentColor`,"stop-opacity":`0`},null,8,SB)],8,bB)]),(L(!0),R(I,null,P(o.value,(e,n)=>(L(),R(I,{key:n},[t.fill?(L(),R(`path`,{key:0,d:e.area,fill:`url(#${A(r)})`,stroke:`none`},null,8,CB)):U(``,!0),B(`path`,{d:e.line,fill:`none`,stroke:t.color??`currentColor`,"stroke-width":t.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,"vector-effect":`non-scaling-stroke`},null,8,wB)],64))),128)),s.value===null?U(``,!0):(L(),R(`line`,{key:0,x1:s.value,x2:s.value,y1:`0`,y2:t.height,stroke:t.color??`currentColor`,"stroke-width":`1`,"stroke-dasharray":`2 2`,"vector-effect":`non-scaling-stroke`,opacity:`0.5`},null,8,TB)),s.value!==null&&c.value!==null?(L(),R(`circle`,{key:1,cx:s.value,cy:c.value,r:`2`,fill:t.color??`currentColor`,"vector-effect":`non-scaling-stroke`},null,8,EB)):U(``,!0)],8,yB)),o.value.length===0?(L(),R(`div`,DB)):U(``,!0)],38))}}),AB={class:`min-w-0`},jB={class:`flex items-baseline justify-between gap-2`},MB={class:`truncate text-2xs font-medium text-faint`},NB={class:`flex shrink-0 items-baseline gap-1.5`},PB={key:0,class:`font-mono text-2xs text-faint`},FB=N({__name:`MetricSpark`,props:{label:{},values:{},format:{},max:{default:null},colorClass:{default:`text-accent`},height:{default:30},sampleMs:{default:5e3},emptyHint:{default:void 0}},setup(e){let t=e,n=k(null),r=W(()=>wN(t.values)),i=W(()=>t.values.some(e=>e!==null)),a=W(()=>{let e=n.value;return e!==null&&t.values[e]!==void 0?t.values[e]??null:r.value}),o=W(()=>{let e=n.value;if(e===null)return null;let r=t.values.length-1-e;if(r<=0)return null;let i=Math.round(r*t.sampleMs/1e3);return i<60?`−${i}s`:`−${Math.round(i/60)}m`});return(e,r)=>(L(),R(`div`,AB,[B(`div`,jB,[B(`span`,MB,O(t.label),1),B(`span`,NB,[o.value?(L(),R(`span`,PB,O(o.value),1)):U(``,!0),B(`span`,{class:D(A(Q)(`font-mono text-xs font-medium tabular-nums`,i.value?`text-ink`:`text-faint`))},O(i.value?t.format(a.value):t.emptyHint??A(Y)(`metric.emptyHint`)),3)])]),V(kB,{"hover-index":n.value,"onUpdate:hoverIndex":r[0]||=e=>n.value=e,values:t.values,height:t.height,max:t.max,interactive:``,class:D(A(Q)(`mt-1`,t.colorClass))},null,8,[`hover-index`,`values`,`height`,`max`,`class`])]))}}),IB={class:`inline-flex flex-wrap items-center gap-1.5`},LB={class:`relative flex size-1.5`},RB={key:0,class:`absolute inset-0 rounded-full bg-current opacity-60`,style:{animation:`hh-pulse-ring 1.6s ease-out infinite`}},zB=N({__name:`StatusPill`,props:{status:{},health:{default:null},showHealth:{type:Boolean,default:!0}},setup(e){let t=e,n=W(()=>qI[t.status]),r=W(()=>t.health?JI[t.health]:null),i=W(()=>t.showHealth&&r.value!==null&&t.health!==`disabled`&&t.health!==`unknown`&&(r.value.tone===`danger`||r.value.tone===`warn`)),a=W(()=>n.value.transitional);return(e,t)=>(L(),R(`span`,IB,[B(`span`,{class:D(A(Q)(`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-2xs font-medium`,A(XI)[n.value.tone]))},[B(`span`,LB,[a.value?(L(),R(`span`,RB)):U(``,!0),B(`span`,{class:D(A(Q)(`relative size-1.5 rounded-full`,A(ZI)[n.value.tone]))},null,2)]),H(` `+O(A(Y)(n.value.labelKey)),1)],2),i.value&&r.value?(L(),R(`span`,{key:0,class:D(A(Q)(`inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-2xs font-medium`,A(XI)[r.value.tone]))},O(A(Y)(r.value.labelKey)),3)):U(``,!0)]))}}),BB=N({__name:`Tip`,props:{label:{},side:{default:`top`},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>(L(),z(A(gg),{"delay-duration":350},{default:j(()=>[V(A(xg),{"as-child":``},{default:j(()=>[F(t.$slots,`default`)]),_:3}),e.disabled?U(``,!0):(L(),z(A(bg),{key:0},{default:j(()=>[V(A(yg),{side:e.side,"side-offset":6,class:`z-50 max-w-64 rounded-control border border-line bg-raise px-2 py-1 text-2xs text-ink shadow-float data-[state=delayed-open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[H(O(e.label),1)]),_:1},8,[`side`])]),_:1}))]),_:3}))}}),VB={class:`flex items-start justify-between gap-3 px-4 pb-2.5 pt-3.5`},HB={class:`min-w-0`},UB={class:`flex items-center gap-2`},WB=[`href`,`title`,`aria-label`],GB={class:`mt-0.5 flex items-center gap-1.5 truncate font-mono text-2xs text-faint`},KB={class:`text-muted`},qB={key:1,class:`rounded bg-hover px-1 py-px text-muted`},JB={key:2,class:`rounded bg-accent-soft px-1 py-px text-accent`},YB={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},XB={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},ZB=[`title`],QB={key:0,class:`space-y-2.5 border-y border-line-soft px-4 py-3`},$B={class:`grid grid-cols-2 gap-x-4 gap-y-2`},eV={key:1,class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-4 pt-2.5`},tV={class:`text-muted`},nV={class:`text-faint`},rV={key:2,class:`flex flex-col gap-1 px-4 pt-2.5`},iV={key:0,class:`flex items-start gap-1.5 text-2xs leading-4 text-danger`},aV={class:`min-w-0 break-words`},oV={key:2,class:`text-2xs leading-4 text-warn`},sV={key:3,class:`text-2xs leading-4 text-warn`},cV={class:`grid grid-cols-2 gap-x-4 gap-y-1 px-4 py-3 sm:grid-cols-4`},lV={class:`truncate text-2xs text-faint`},uV={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},dV={class:`mt-auto flex items-center gap-1.5 border-t border-line-soft px-4 py-2.5`},fV={class:`grid grid-cols-2 gap-2 text-xs`},pV={class:`font-mono text-ink`},mV={class:`text-faint`},hV={class:`text-ink capitalize`},gV=N({__name:`ServerCard`,props:{server:{},workspaceId:{},series:{},now:{},variant:{default:`default`}},setup(e){let t=e,n={start:_y,exit:jy,crash:Vv,"forced-restart":Sy,unhealthy:Ly,recovered:Hv},r=XN(),i=dP(),a=k(!1),o=k(!1),s=W(()=>t.server.config),c=W(()=>s.value.label&&s.value.label.length>0?s.value.label:t.server.id),l=W(()=>`${s.value.command} ${s.value.args.join(` `)}`.trim()),u=W(()=>QI(t.server.status,t.server.health)),d=W(()=>pB(t.server,mB())),f=W(()=>t.server.status===`running`),p=W(()=>s.value.enabled&&[`stopped`,`crashed`,`conflict`].includes(t.server.status)),m=W(()=>[`running`,`starting`,`backoff`].includes(t.server.status)),h=W(()=>t.server.startedAt===null||!f.value?`—`:jL(t.now-t.server.startedAt)),g=W(()=>t.server.nextRetryAt===null?null:ML(t.server.nextRetryAt,t.now)),_=W(()=>t.server.unhealthySince===null?null:jL(t.now-t.server.unhealthySince)),v=W(()=>t.series?.cpu??[]),y=W(()=>t.series?.rss??[]),b=W(()=>t.series?.probe??[]),x=W(()=>[...t.server.history.events].slice(-3).reverse()),S={unknown:`common.unknown`,free:`serverCard.portFree`,"in-use":`serverCard.portInUse`},C=W(()=>{let e=t.server,n=[{key:`pid`,label:Y(`serverCard.pid`),value:e.pid===null?`—`:String(e.pid)},{key:`uptime`,label:Y(`common.uptime`),value:h.value},{key:`restarts`,label:Y(`serverCard.restarts`),value:`${e.restarts}/${e.maxRetries}`},{key:`port`,label:Y(`common.port`),value:Y(S[e.portState]??`common.unknown`)},{key:`uptime24`,label:Y(`serverCard.uptime24h`),value:_L(e.history.uptimeRatio)},{key:`probe`,label:Y(`serverCard.probe`),value:e.responseMs===null?`—`:`${e.responseMs} ms`},{key:`rss`,label:Y(`serverCard.rss`),value:LL(e.resources?.rssBytes??null)},{key:`procs`,label:Y(`serverCard.procs`),value:e.resources?String(e.resources.processes):`—`}];return e.history.crashes>0&&n.splice(5,0,{key:`crashes`,label:Y(`serverCard.crashes24h`),value:String(e.history.crashes)}),e.history.lastCrashAt!==null&&n.push({key:`lastcrash`,label:Y(`serverCard.lastCrash`),value:NL(e.history.lastCrashAt,t.now)}),n});async function w(e){a.value=!0;try{await r[e](t.workspaceId,t.server.id)}finally{a.value=!1}}async function T(){a.value=!0;try{await r.freePort(t.workspaceId,t.server.id)}finally{a.value=!1}}async function ee(e){let n=!(e===`enabled`?s.value.enabled:s.value.autostart);e===`enabled`?await r.setEnabled(t.workspaceId,t.server.id,n):await r.setAutostart(t.workspaceId,t.server.id,n)}async function te(){o.value=!1,await r.remove(t.workspaceId,t.server.id)}function ne(){i.select(t.workspaceId)}return(i,f)=>{let h=pa(`RouterLink`);return L(),R(`article`,{class:D(A(Q)(`group relative flex flex-col rounded-panel border bg-panel shadow-card transition-colors duration-150`,`hover:border-line/90`,t.server.status===`crashed`||t.server.status===`conflict`?`border-danger/30`:`border-line`,!s.value.enabled&&`opacity-70`))},[B(`span`,{class:D(A(Q)(`absolute inset-y-3 left-0 w-0.5 rounded-full`,{"bg-ok":u.value===`ok`,"bg-warn":u.value===`warn`,"bg-danger":u.value===`danger`,"bg-faint/50":u.value===`neutral`,"bg-accent":u.value===`accent`||u.value===`info`}))},null,2),B(`header`,VB,[B(`div`,HB,[B(`div`,UB,[V(h,{to:`/servers/${e.server.id}`,class:`truncate text-sm font-semibold tracking-tight text-ink hover:text-accent`,onClick:ne},{default:j(()=>[H(O(c.value),1)]),_:1},8,[`to`]),d.value?(L(),R(`a`,{key:0,href:d.value,target:`_blank`,rel:`noreferrer`,class:`shrink-0 text-faint transition-colors duration-150 hover:text-accent`,title:d.value,"aria-label":A(Y)(`serverCard.open`,{url:d.value})},[V(A(Zv),{class:`size-3.5`})],8,WB)):U(``,!0)]),B(`p`,GB,[B(`span`,null,O(e.server.id),1),s.value.port===null?U(``,!0):(L(),R(I,{key:0},[f[9]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,KB,`:`+O(s.value.port),1)],64)),f[10]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,null,O(e.server.bindHost),1),s.value.enabled?U(``,!0):(L(),R(`span`,qB,O(A(Y)(`serverCard.disabled`)),1)),s.value.autostart?(L(),R(`span`,JB,O(A(Y)(`serverCard.autostart`)),1)):U(``,!0)])]),V(zB,{status:e.server.status,health:e.server.health},null,8,[`status`,`health`]),e.server.adopted?(L(),z(BB,{key:0,label:A(Y)(`serverCard.adoptedHint`)},{default:j(()=>[B(`span`,YB,O(A(Y)(`serverCard.detached`)),1)]),_:1},8,[`label`])):U(``,!0),s.value.persistent?(L(),z(BB,{key:1,label:A(Y)(`serverCard.persistentHint`)},{default:j(()=>[B(`span`,XB,O(A(Y)(`serverCard.persistent`)),1)]),_:1},8,[`label`])):U(``,!0)]),B(`p`,{class:`truncate px-4 pb-3 font-mono text-2xs text-muted`,title:l.value},O(l.value),9,ZB),t.variant===`compact`?U(``,!0):(L(),R(`div`,QB,[B(`div`,$B,[V(FB,{label:A(Y)(`common.cpu`),values:v.value,format:A(RL),max:100,"color-class":`text-cpu`},null,8,[`label`,`values`,`format`]),V(FB,{label:A(Y)(`common.memory`),values:y.value,format:A(LL),"color-class":`text-mem`},null,8,[`label`,`values`,`format`])]),V(FB,{label:A(Y)(`serverCard.healthProbe`),values:b.value,format:e=>e===null?`—`:`${e} ms`,height:22,"color-class":`text-probe`,"empty-hint":A(Y)(`serverCard.notProbed`)},null,8,[`label`,`values`,`format`,`empty-hint`])])),x.value.length>0?(L(),R(`div`,eV,[(L(!0),R(I,null,P(x.value,e=>(L(),R(`span`,{key:`${e.ts}`,class:`inline-flex items-center gap-1 text-2xs`},[(L(),z(ha(n[e.type]),{class:D(A(Q)(`size-3`,A(YI)[A(eL)[e.type]]))},null,8,[`class`])),B(`span`,tV,O(A(Y)(A($I)[e.type])),1),B(`span`,nV,O(A(NL)(e.ts,t.now)),1)]))),128))])):U(``,!0),e.server.lastError||_.value||g.value?(L(),R(`div`,rV,[e.server.lastError?(L(),R(`p`,iV,[V(A(Vv),{class:`mt-0.5 size-3 shrink-0`}),B(`span`,aV,O(e.server.lastError),1)])):U(``,!0),e.server.status===`conflict`&&s.value.port!==null?(L(),z(vB,{key:1,port:s.value.port,busy:a.value,class:`self-start`,onConfirm:T},null,8,[`port`,`busy`])):U(``,!0),_.value?(L(),R(`p`,oV,O(A(Y)(`serverCard.unhealthyFor`,{duration:_.value})),1)):U(``,!0),g.value?(L(),R(`p`,sV,O(A(Y)(`serverCard.nextAttempt`,{when:g.value})),1)):U(``,!0)])):U(``,!0),B(`dl`,cV,[(L(!0),R(I,null,P(C.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,lV,O(e.label),1),B(`dd`,uV,O(e.value),1)]))),128))]),B(`div`,dV,[V($,{variant:`primary`,size:`xs`,disabled:a.value||!p.value,onClick:f[0]||=e=>w(`start`)},{default:j(()=>[V(A(_y),{class:`size-3`}),H(O(A(Y)(`serverCard.start`)),1)]),_:1},8,[`disabled`]),V($,{size:`xs`,disabled:a.value||!m.value,onClick:f[1]||=e=>w(`stop`)},{default:j(()=>[V(A(jy),{class:`size-3`}),H(O(A(Y)(`serverCard.stop`)),1)]),_:1},8,[`disabled`]),V($,{size:`xs`,disabled:a.value||!s.value.enabled,onClick:f[2]||=e=>w(`restart`)},{default:j(()=>[V(A(Sy),{class:`size-3`}),H(O(A(Y)(`serverCard.restart`)),1)]),_:1},8,[`disabled`]),V(BB,{label:A(Y)(`serverCard.detailsHint`)},{default:j(()=>[V(h,{to:`/servers/${e.server.id}`,onClick:ne},{default:j(()=>[V($,{size:`xs`,variant:`ghost`},{default:j(()=>[V(A(Cy),{class:`size-3`}),H(O(A(Y)(`common.details`)),1)]),_:1})]),_:1},8,[`to`])]),_:1},8,[`label`]),V(A(eg),null,{default:j(()=>[V(A(ag),{"as-child":``},{default:j(()=>[V($,{size:`icon-sm`,variant:`ghost`,class:`ml-auto`,"aria-label":A(Y)(`serverCard.moreActions`,{label:c.value})},{default:j(()=>[V(A(Xv),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(A(rg),null,{default:j(()=>[V(A(tg),{"side-offset":4,align:`end`,class:`z-50 min-w-52 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:f[3]||=e=>ee(`enabled`)},{default:j(()=>[V(A(yy),{class:`size-3.5`}),H(` `+O(s.value.enabled?A(Y)(`serverCard.disable`):A(Y)(`serverCard.enable`)),1)]),_:1}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:f[4]||=e=>ee(`autostart`)},{default:j(()=>[V(A(_y),{class:`size-3.5`}),H(` `+O(s.value.autostart?A(Y)(`serverCard.removeFromAutostart`):A(Y)(`serverCard.autostartWithPanel`)),1)]),_:1}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:f[5]||=t=>A(r).clearLogs(e.workspaceId,e.server.id)},{default:j(()=>[V(A(Cy),{class:`size-3.5`}),H(` `+O(A(Y)(`serverCard.clearLogBuffer`)),1)]),_:1}),V(A(ig),{class:`my-1 h-px bg-line`}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-danger outline-none data-[highlighted]:bg-danger-soft`,onSelect:f[6]||=e=>o.value=!0},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(` `+O(A(Y)(`serverCard.removeServer`)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),V($z,{open:o.value,"onUpdate:open":f[8]||=e=>o.value=e,title:A(Y)(`serverCard.removeTitle`),description:A(Y)(`serverCard.removeDescription`,{label:c.value}),width:`w-[min(92vw,26rem)]`},{footer:j(()=>[V($,{variant:`ghost`,onClick:f[7]||=e=>o.value=!1},{default:j(()=>[H(O(A(Y)(`common.keepIt`)),1)]),_:1}),V($,{variant:`danger`,onClick:te},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(O(A(Y)(`common.remove`)),1)]),_:1})]),default:j(()=>[B(`dl`,fV,[B(`div`,null,[f[11]||=B(`dt`,{class:`text-faint`},` id `,-1),B(`dd`,pV,O(e.server.id),1)]),B(`div`,null,[B(`dt`,mV,O(A(Y)(`serverCard.statusField`)),1),B(`dd`,hV,O(e.server.status),1)])])]),_:1},8,[`open`,`title`,`description`])],2)}}}),_V={class:`flex flex-wrap items-start justify-between gap-3`},vV={class:`min-w-0`},yV={class:`flex flex-wrap items-center gap-x-3 gap-y-1.5`},bV={class:`text-2xl font-semibold tracking-tight text-ink`},xV={key:1,class:`mt-1 max-w-2xl text-xs leading-relaxed text-muted`},SV={class:`flex shrink-0 flex-wrap items-center gap-2`},CV=N({__name:`PageHeader`,props:{title:{},description:{default:void 0},backTo:{default:void 0},backLabel:{default:`Back`}},setup(e){return(e,t)=>{let n=pa(`RouterLink`);return L(),R(`header`,_V,[B(`div`,vV,[e.$props.backTo?(L(),z(n,{key:0,to:e.$props.backTo,class:`mb-1 inline-flex items-center gap-1 text-2xs text-muted transition-colors duration-150 hover:text-ink`},{default:j(()=>[V(A(Lv),{class:`size-3`}),H(` `+O(e.$props.backLabel),1)]),_:1},8,[`to`])):U(``,!0),B(`div`,yV,[B(`h1`,bV,O(e.$props.title),1),F(e.$slots,`badges`)]),e.$props.description?(L(),R(`p`,xV,O(e.$props.description),1)):U(``,!0)]),B(`div`,SV,[F(e.$slots,`actions`)])])}}}),wV={key:0,class:`mb-3 flex items-start justify-between gap-3`},TV={class:`min-w-0`},EV={class:`flex shrink-0 items-center gap-1.5`},DV=N({__name:`Panel`,props:{padded:{type:Boolean,default:!0},class:{}},setup(e){return(e,t)=>(L(),R(`section`,{class:D(A(Q)(`rounded-panel border border-line bg-panel shadow-card`,e.$props.padded&&`p-4`,e.$props.class))},[e.$slots.header||e.$slots.actions?(L(),R(`header`,wV,[B(`div`,TV,[F(e.$slots,`header`)]),B(`div`,EV,[F(e.$slots,`actions`)])])):U(``,!0),F(e.$slots,`default`)],2))}}),OV=N({__name:`Skeleton`,props:{class:{default:`h-4 w-24`},rounded:{default:`rounded`}},setup(e){return(t,n)=>(L(),R(`span`,{class:D(A(Q)(`block animate-pulse bg-line-soft`,e.rounded,t.$props.class)),style:{"animation-duration":`1.4s`},"aria-hidden":`true`},null,2))}}),kV={class:`min-w-0`},AV={class:`truncate text-2xs font-medium text-faint`},jV={key:0,class:`mt-0.5 truncate text-2xs text-muted`},MV=N({__name:`StatTile`,props:{label:{},value:{},hint:{default:void 0},tone:{default:`neutral`},mono:{type:Boolean,default:!0}},setup(e){return(e,t)=>(L(),R(`div`,kV,[B(`p`,AV,O(e.$props.label),1),B(`p`,{class:D(A(Q)(`mt-0.5 truncate text-xl font-semibold tracking-tight`,e.$props.mono&&`font-mono tabular-nums`,e.$props.tone===`neutral`?`text-ink`:A(YI)[e.$props.tone]))},O(e.$props.value),3),e.$props.hint?(L(),R(`p`,jV,O(e.$props.hint),1)):U(``,!0)]))}}),NV=k(null),PV=k(`unknown`),FV=null;async function IV(){try{let e=await(await fetch(`/healthz`,{cache:`no-store`})).json();typeof e.uptimeMs==`number`&&(NV.value=Date.now()-e.uptimeMs),PV.value=e.status===`degraded`?`degraded`:`ok`}catch{PV.value=`unknown`}}function LV(){return FV??=IV().finally(()=>{FV=null}),{startedAt:NV,status:PV,refresh:IV}}var RV={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},zV={key:0,class:`grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 lg:grid-cols-5`},BV={key:1,class:`grid grid-cols-2 divide-line-soft sm:grid-cols-3 sm:divide-x lg:grid-cols-5`},VV={class:`p-4`},HV={class:`p-4`},UV={class:`p-4`},WV={class:`p-4`},GV={class:`p-4`},KV={key:0,class:`flex items-start gap-2.5 rounded-panel border border-danger/25 bg-danger-soft px-3.5 py-3`},qV={class:`min-w-0`},JV={class:`text-xs font-medium text-danger`},YV={class:`mt-0.5 flex flex-wrap gap-x-3 gap-y-1 text-2xs text-danger`},XV=[`onClick`],ZV={class:`grid gap-4 lg:grid-cols-3`},QV={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},$V={class:`text-2xs text-muted`},eH={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},tH={class:`flex flex-wrap items-center gap-x-3 gap-y-1.5`},nH={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},rH={class:`font-mono text-2xs font-normal text-faint`},iH={class:`text-2xs text-muted`},aH={class:`ml-auto flex items-center gap-1.5`},oH={key:0,class:`rounded-control border border-danger/25 bg-danger-soft px-3 py-2 text-2xs leading-4 text-danger`},sH={key:2,class:`grid gap-4 lg:grid-cols-2`},cH={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-faint`},lH={class:`font-mono`},uH=N({__name:`GlobalOverviewView`,setup(e){let t=XN(),n=dP(),r=LV(),i=Rg(),a=k(!1),o=k(``),s=W(()=>t.appState.value===null),c=W(()=>t.workspaces.value),l=W(()=>t.allServers.value.map(e=>e.server)),u=W(()=>l.value.filter(e=>e.status===`running`)),d=W(()=>l.value.filter(e=>e.status===`crashed`||e.status===`conflict`||e.health===`unhealthy`)),f=W(()=>t.host.value),p=W(()=>r.startedAt.value===null?`—`:jL(t.now.value-r.startedAt.value)),m=W(()=>f.value?.enabled?jL(f.value.uptimeMs):`—`);function h(e){o.value=e,a.value=!0}function g(e,t){n.select(e),i.push(u1(e,`servers`,t))}return na(async()=>{await r.refresh()}),(e,_)=>(L(),R(`div`,RV,[V(CV,{title:A(Y)(`nav.globalOverview`),description:A(Y)(`views.globalOverview.description`)},null,8,[`title`,`description`]),V(DV,{class:`p-0`},{default:j(()=>[s.value?(L(),R(`div`,zV,[(L(),R(I,null,P(5,e=>B(`div`,{key:e,class:`space-y-2`},[V(OV,{class:`h-2.5 w-16`}),V(OV,{class:`h-6 w-20`})])),64))])):(L(),R(`div`,BV,[B(`div`,VV,[V(MV,{label:A(Y)(`views.globalOverview.workspaces`),value:String(c.value.length),hint:A(Y)(`views.globalOverview.serversTotal`,{count:l.value.length})},null,8,[`label`,`value`,`hint`])]),B(`div`,HV,[V(MV,{label:A(Y)(`views.overview.running`),value:`${u.value.length}/${l.value.length}`,tone:`ok`,hint:A(Y)(`views.overview.notUp`,{count:l.value.length-u.value.length})},null,8,[`label`,`value`,`hint`])]),B(`div`,UV,[V(MV,{label:A(Y)(`views.overview.needsAttention`),value:String(d.value.length),tone:d.value.length>0?`danger`:`ok`,hint:d.value.length===0?A(Y)(`views.overview.nothingBroken`):A(Y)(`views.overview.crashedOrUnhealthy`)},null,8,[`label`,`value`,`tone`,`hint`])]),B(`div`,WV,[V(MV,{label:A(Y)(`views.globalOverview.panelUptime`),value:p.value,hint:A(r).status.value===`degraded`?A(Y)(`views.globalOverview.degraded`):A(Y)(`views.globalOverview.serving`)},null,8,[`label`,`value`,`hint`])]),B(`div`,GV,[V(MV,{label:A(Y)(`views.globalOverview.hostUptime`),value:m.value,hint:f.value?.enabled?A(Y)(`views.globalOverview.samplingOn`):A(Y)(`views.globalOverview.samplingOff`)},null,8,[`label`,`value`,`hint`])])]))]),_:1}),d.value.length>0?(L(),R(`div`,KV,[V(A(Vv),{class:`mt-0.5 size-4 shrink-0 text-danger`}),B(`div`,qV,[B(`p`,JV,O(A(_F)(`views.globalOverview.needLook`,d.value.length)),1),B(`p`,YV,[(L(!0),R(I,null,P(A(t).allServers.value.filter(e=>e.server.status===`crashed`||e.server.status===`conflict`||e.server.health===`unhealthy`),e=>(L(),R(`button`,{key:`${e.workspace.id}:${e.server.id}`,type:`button`,class:`font-mono underline decoration-danger/40 underline-offset-2 hover:decoration-danger`,onClick:t=>g(e.workspace.id,e.server.id)},O(e.workspace.label)+`/`+O(e.server.id),9,XV))),128))])])])):U(``,!0),B(`div`,ZV,[V(DV,{class:`lg:col-span-2`},{header:j(()=>[B(`h2`,QV,[V(A(Jv),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.globalOverview.hostVitals`)),1)]),B(`p`,$V,O(A(Y)(`views.globalOverview.hostVitalsNote`)),1)]),default:j(()=>[V(iR,{host:f.value,now:A(t).now.value},null,8,[`host`,`now`])]),_:1}),V(DV,null,{header:j(()=>[B(`h2`,eH,[V(A(jv),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.overview.recentActivity`)),1)])]),default:j(()=>[V(fR,{servers:l.value,now:A(t).now.value,limit:12},null,8,[`servers`,`now`])]),_:1})]),!s.value&&l.value.length===0?(L(),z(gL,{key:1,title:A(Y)(`views.globalOverview.emptyTitle`),description:A(Y)(`views.globalOverview.emptyDescription`)},{icon:j(()=>[V(A(Ty),{class:`size-4`})]),_:1},8,[`title`,`description`])):U(``,!0),(L(!0),R(I,null,P(c.value,e=>(L(),R(`section`,{key:e.id,class:`space-y-3`},[B(`div`,tH,[B(`h2`,nH,[V(A(ay),{class:`size-3.5 text-faint`}),H(` `+O(e.label)+` `,1),B(`span`,rH,O(e.id),1)]),B(`span`,iH,O(A(Y)(`views.globalOverview.groupRunning`,{running:e.runningCount,total:e.serverCount})),1),B(`div`,aH,[V($,{size:`xs`,variant:`ghost`,onClick:t=>h(e.id)},{default:j(()=>[V(A(vy),{class:`size-3`}),H(O(A(Y)(`views.actions.addServer`)),1)]),_:1},8,[`onClick`]),V($,{size:`xs`,variant:`ghost`,onClick:t=>{A(n).select(e.id),A(i).push(A(u1)(e.id,`overview`))}},{default:j(()=>[H(O(A(Y)(`views.globalOverview.openWorkspace`)),1)]),_:1},8,[`onClick`])])]),e.configError?(L(),R(`p`,oH,O(A(Y)(`views.globalOverview.configError`,{error:e.configError})),1)):U(``,!0),e.servers.length===0?(L(),z(gL,{key:1,compact:``,title:A(Y)(`views.overview.emptyTitle`),description:A(Y)(`views.globalOverview.groupEmptyDescription`)},{action:j(()=>[V($,{size:`sm`,variant:`primary`,onClick:t=>h(e.id)},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1},8,[`onClick`])]),_:2},1032,[`title`,`description`])):(L(),R(`div`,sH,[(L(!0),R(I,null,P(e.servers,n=>(L(),z(gV,{key:n.id,server:n,"workspace-id":e.id,series:A(t).seriesOf(e.id,n.id),now:A(t).now.value},null,8,[`server`,`workspace-id`,`series`,`now`]))),128))]))]))),128)),B(`p`,cH,[B(`span`,null,O(A(Y)(`views.overview.sampling`)),1),B(`span`,lH,O(A(t).appState.value?.control.url),1)]),V(dB,{open:a.value,"onUpdate:open":_[0]||=e=>a.value=e,"workspace-id":o.value},null,8,[`open`,`workspace-id`])]))}}),dH={class:`text-xs font-semibold text-ink`},fH={key:0,class:`mt-1 text-2xs leading-4 text-muted`},pH={class:`mt-2.5 flex justify-end gap-1.5`},mH=N({__name:`ConfirmButton`,props:{label:{},confirmLabel:{default:void 0},variant:{default:`danger-ghost`},confirmVariant:{default:`danger`},size:{default:`sm`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},title:{default:void 0},hint:{default:void 0}},emits:[`confirm`],setup(e,{emit:t}){let n=e,r=t,i=k(!1),a=W(()=>n.confirmLabel??Y(`common.confirm`)),o=W(()=>n.title??Y(`common.confirmQuestion`,{label:a.value}));function s(){i.value=!1,r(`confirm`)}return(e,t)=>(L(),z(A(Wh),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(Zh),{"as-child":``},{default:j(()=>[V($,{variant:n.variant,size:n.size,disabled:n.disabled,loading:n.loading},{default:j(()=>[H(O(n.label),1)]),_:1},8,[`variant`,`size`,`disabled`,`loading`])]),_:1}),V(A(Xh),null,{default:j(()=>[V(A(Yh),{"side-offset":6,align:`end`,class:`z-50 w-64 rounded-panel border border-line bg-raise p-3 shadow-float focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[B(`p`,dH,O(o.value),1),n.hint?(L(),R(`p`,fH,O(n.hint),1)):U(``,!0),B(`div`,pH,[V(A(Gh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`ghost`},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1})]),_:1}),V($,{size:`xs`,variant:n.confirmVariant,loading:n.loading,onClick:s},{default:j(()=>[H(O(a.value),1)]),_:1},8,[`variant`,`loading`])])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),hH={class:`min-w-0 flex-1`},gH={key:0,class:`text-xs font-semibold`},_H=N({__name:`Notice`,props:{tone:{default:`info`},title:{default:void 0},class:{default:void 0}},setup(e){let t=e,n={ok:Hv,warn:Ly,danger:my,info:ry,neutral:ry,accent:Dy},r=W(()=>n[t.tone]);return(e,n)=>(L(),R(`div`,{class:D(A(Q)(`flex items-start gap-2 rounded-panel border px-3 py-2`,A(XI)[t.tone],t.class))},[(L(),z(ha(r.value),{class:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`})),B(`div`,hH,[t.title?(L(),R(`p`,gH,O(t.title),1)):U(``,!0),B(`div`,{class:D(A(Q)(`text-xs leading-relaxed text-ink/85`,t.title&&`mt-0.5`))},[F(e.$slots,`default`)],2)])],2))}}),vH={class:`space-y-2`},yH={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},bH=N({__name:`AuthenticationSection`,props:za({view:{},dirty:{type:Boolean}},{auth:{required:!0},authModifiers:{}}),emits:za([`reset`],[`update:auth`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`auth`),a=ZR(()=>i.value.sessionTtlMs,e=>i.value.sessionTtlMs=e,6048e5),o=ZR(()=>i.value.maxLoginAttempts,e=>i.value.maxLoginAttempts=e,5),s=ZR(()=>i.value.lockoutMs,e=>i.value.lockoutMs=e,6e4),c=W(()=>n.view?.auth.passwordSet===!0),l=W(()=>n.view?.auth.apiTokenSet===!0),u=W(()=>n.view?.auth.blockedReason??null),d=W(()=>n.view?.auth.exposed===!0),f=W(()=>n.view?.auth.usingDefaultPassword===!0),p=W(()=>i.value.enabled&&!c.value),{setPassword:m,clearPassword:h}=pN(),g=k(``),_=k(``),v=k(``),y=k(null),b=k(null),x=k(!1),S=W(()=>v.value.length>0&&v.value!==_.value),C=W(()=>_.value.length>0&&_.value.length<8),w=W(()=>_.value.length>0&&!S.value&&(!c.value||g.value.length>0));async function T(){if(w.value&&!x.value){x.value=!0,b.value=null,y.value=null;try{let e=await m(c.value?g.value:void 0,_.value);if(e!==null){b.value=e;return}g.value=``,_.value=``,v.value=``,y.value=Y(`settings.auth.passwordUpdated`)}finally{x.value=!1}}}async function ee(){b.value=null,y.value=null;let e=await h();e===null?y.value=Y(`settings.auth.passwordCleared`):b.value=e}return(e,t)=>(L(),R(I,null,[V(gz,{title:A(Y)(`settings.auth.policyTitle`),description:A(Y)(`settings.auth.policyDescription`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:A(Y)(`settings.auth.requirePassword`),hint:A(Y)(`settings.auth.requirePasswordHint`),class:`sm:col-span-2`},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(a),"onUpdate:modelValue":t[2]||=e=>hn(a)?a.value=e:null,label:A(Y)(`settings.auth.sessionLifetime`),min:6e4,hint:A(Y)(`settings.auth.sessionLifetimeHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Nz,{modelValue:i.value.cookieSecure,"onUpdate:modelValue":t[3]||=e=>i.value.cookieSecure=e,label:A(Y)(`settings.auth.cookieSecure`),options:[{value:`auto`,label:A(Y)(`settings.auth.cookieSecureAuto`)},{value:`always`,label:A(Y)(`settings.auth.cookieSecureAlways`)},{value:`never`,label:A(Y)(`settings.auth.cookieSecureNever`)}]},null,8,[`modelValue`,`label`,`options`]),V(Nz,{modelValue:i.value.trustProxy,"onUpdate:modelValue":t[4]||=e=>i.value.trustProxy=e,label:A(Y)(`settings.auth.trustProxy`),options:[{value:`off`,label:A(Y)(`settings.auth.trustProxyOff`)},{value:`loopback`,label:A(Y)(`settings.auth.trustProxyLoopback`)},{value:`any`,label:A(Y)(`settings.auth.trustProxyAny`)}],hint:A(Y)(`settings.auth.trustProxyHint`),class:`sm:col-span-2`},null,8,[`modelValue`,`label`,`options`,`hint`]),V(Dz,{modelValue:A(o),"onUpdate:modelValue":t[5]||=e=>hn(o)?o.value=e:null,label:A(Y)(`settings.auth.maxLoginAttempts`),min:1,hint:A(Y)(`settings.auth.maxLoginAttemptsHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(s),"onUpdate:modelValue":t[6]||=e=>hn(s)?s.value=e:null,label:A(Y)(`settings.auth.lockout`),min:1e3},null,8,[`modelValue`,`label`])]),_:1},8,[`title`,`description`]),B(`div`,vH,[V(_H,{tone:l.value?`info`:`neutral`,title:l.value?A(Y)(`settings.auth.apiTokenSet`):A(Y)(`settings.auth.apiTokenMissing`)},{default:j(()=>[l.value?(L(),z(iB,{key:0,k:`settings.auth.apiTokenNote`},{code:j(()=>[...t[10]||=[B(`code`,null,`Authorization: Bearer …`,-1)]]),_:1})):(L(),z(iB,{key:1,k:`settings.auth.noTokenNote`},{command:j(()=>[...t[11]||=[B(`code`,null,`home-hosted set-token --generate`,-1)]]),_:1}))]),_:1},8,[`tone`,`title`]),f.value?(L(),z(_H,{key:0,tone:`warn`,title:A(Y)(`settings.auth.defaultPasswordTitle`)},{default:j(()=>[V(iB,{k:`settings.auth.defaultPasswordText`},{address:j(()=>[...t[12]||=[B(`code`,null,`127.0.0.1`,-1)]]),_:1})]),_:1},8,[`title`])):U(``,!0),u.value?(L(),z(_H,{key:1,tone:`danger`,title:A(Y)(`settings.auth.blockedTitle`)},{default:j(()=>[H(O(u.value),1)]),_:1},8,[`title`])):p.value?(L(),z(_H,{key:2,tone:`warn`,title:A(Y)(`settings.auth.noPasswordTitle`)},{default:j(()=>[V(iB,{k:`settings.auth.noPasswordText`},{address:j(()=>[...t[13]||=[B(`code`,null,`127.0.0.1`,-1)]]),_:1})]),_:1},8,[`title`])):d.value?(L(),z(_H,{key:3,tone:`warn`,title:A(Y)(`settings.auth.exposedTitle`)},{default:j(()=>[H(O(A(Y)(`settings.auth.exposedText`)),1)]),_:1},8,[`title`])):U(``,!0)]),B(`form`,{class:`mt-3`,onSubmit:lu(T,[`prevent`])},[V(gz,{title:c.value?A(Y)(`settings.auth.changePassword`):A(Y)(`settings.auth.setPassword`),description:A(Y)(`settings.auth.passwordDescription`)},{default:j(()=>[c.value?(L(),z(Rz,{key:0,modelValue:g.value,"onUpdate:modelValue":t[7]||=e=>g.value=e,type:`password`,autocomplete:`current-password`,label:A(Y)(`settings.auth.currentPassword`)},null,8,[`modelValue`,`label`])):U(``,!0),V(Rz,{modelValue:_.value,"onUpdate:modelValue":t[8]||=e=>_.value=e,type:`password`,autocomplete:`new-password`,label:A(Y)(`settings.auth.newPassword`)},null,8,[`modelValue`,`label`]),V(Rz,{modelValue:v.value,"onUpdate:modelValue":t[9]||=e=>v.value=e,type:`password`,autocomplete:`new-password`,label:A(Y)(`settings.auth.repeatPassword`),error:S.value?A(Y)(`settings.auth.passwordMismatch`):null},null,8,[`modelValue`,`label`,`error`]),B(`div`,yH,[V($,{type:`submit`,variant:`primary`,disabled:!w.value,loading:x.value},{default:j(()=>[H(O(c.value?A(Y)(`settings.auth.updatePassword`):A(Y)(`settings.auth.setPasswordAndEnable`)),1)]),_:1},8,[`disabled`,`loading`]),c.value?(L(),z(mH,{key:0,label:A(Y)(`settings.auth.clearPassword`),"confirm-label":A(Y)(`settings.auth.clearPasswordConfirm`),"confirm-variant":`danger`,title:A(Y)(`settings.auth.clearPasswordTitle`),hint:A(Y)(`settings.auth.clearPasswordHint`),disabled:x.value,onConfirm:ee},null,8,[`label`,`confirm-label`,`title`,`hint`,`disabled`])):U(``,!0)]),C.value||b.value||y.value?(L(),R(I,{key:1},[C.value?(L(),z(_H,{key:0,tone:`warn`,title:A(Y)(`settings.auth.shortPasswordTitle`),class:`sm:col-span-2`},{default:j(()=>[H(O(A(Y)(`settings.auth.shortPasswordText`)),1)]),_:1},8,[`title`])):U(``,!0),b.value?(L(),z(_H,{key:1,tone:`danger`,class:`sm:col-span-2`},{default:j(()=>[H(O(b.value),1)]),_:1})):U(``,!0),y.value?(L(),z(_H,{key:2,tone:`ok`,class:`sm:col-span-2`},{default:j(()=>[H(O(y.value),1)]),_:1})):U(``,!0)],64)):U(``,!0)]),_:1},8,[`title`,`description`])],32)],64))}});function xH(e){return e.labelKey===void 0?e.label:Y(e.labelKey,e.labelParams,e.label)}function SH(e){return e.note===null?null:e.noteKey===void 0?e.note:Y(e.noteKey,e.noteParams,e.note)}var CH={settings:`settings.backups.kindSettings`,servers:`settings.backups.kindServers`,secrets:`settings.backups.kindSecrets`,tls:`settings.backups.kindTls`,data:`settings.backups.kindData`,workspace:`settings.backups.kindWorkspace`};function wH(e){let t=CH[e];return t===void 0?e:Y(t)}function TH(e){let t=SH(e);return t!==null&&t.length>0?t:e.kind===`settings`?Y(`settings.backup.leafSettingsHint`):e.kind===`servers`?Y(`settings.backup.leafServersHint`):e.kind===`secrets`?Y(`settings.backup.leafSecretsHint`):e.path===void 0?Y(`settings.backup.leafDataHint`):e.origin===void 0?e.path:Y(`settings.backup.pathFromOrigin`,{path:e.path,origin:e.origin})}function EH(e){return e.leaves.length>0&&e.leaves.every(e=>e.selected)}function DH(e){let t=SH(e);return t!==null&&t.length>0?t:e.kind===`settings`?Y(`settings.backup.entrySettingsHint`):e.kind===`secrets`?Y(`settings.backup.entrySecretsHint`):e.kind===`tls`?Y(`settings.backup.entryTlsHint`):Y(`settings.backup.entryWorkspaceHint`)}function OH(e,t=[]){let n=new Map(t.map(e=>[e.id,e]));return e.map(e=>{let t=n.get(e.id);return{id:e.id,label:xH(e),hint:DH(e),kind:e.kind,...e.workspaceId===void 0?{}:{workspaceId:e.workspaceId},selected:t?.selected??!0,leaves:e.items.map(e=>({id:e.id,label:xH(e),hint:TH(e),kind:e.kind,selected:t?.leaves.find(t=>t.id===e.id)?.selected??!0}))}})}function kH(e){return e.kind===`workspace`?e.selected&&e.leaves.some(e=>e.selected):e.selected}function AH(e,t){for(let n of e){n.selected=t;for(let e of n.leaves)e.selected=t}}function jH(e){let t=e.filter(e=>kH(e));if(e.length>0&&t.length===e.length&&t.every(e=>e.kind!==`workspace`||EH(e)))return;let n=[];for(let e of t){if(e.kind!==`workspace`){n.push(e.id);continue}EH(e)?n.push(e.id):n.push(...e.leaves.filter(e=>e.selected).map(e=>e.id))}return n}function MH(e){let t=0,n=0;for(let r of e)kH(r)&&(n+=1,t+=r.kind===`workspace`?r.leaves.filter(e=>e.selected).length:1);return{entries:n,leaves:t}}var NH=[`disabled`],PH={class:`min-w-0`},FH={class:`text-ink`},IH=N({__name:`CheckField`,props:za({label:{},hint:{default:void 0},disabled:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`);return(e,r)=>(L(),R(`label`,{class:D(A(Q)(`flex cursor-pointer select-none items-start gap-2 rounded-control px-2 py-1.5 text-xs transition-colors duration-150`,`hover:bg-hover`,t.disabled&&`cursor-not-allowed opacity-50 hover:bg-transparent`))},[Sr(B(`input`,{"onUpdate:modelValue":r[0]||=e=>n.value=e,type:`checkbox`,disabled:t.disabled,class:`mt-0.5 size-3.5 shrink-0 cursor-pointer appearance-none rounded-[4px] border border-line bg-page checked:border-accent checked:bg-accent checked:bg-[length:9px] checked:bg-center checked:bg-no-repeat checked:[background-image:url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22white%22 stroke-width=%224%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><path d=%22M20 6 9 17l-5-5%22/></svg>')] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/50 disabled:cursor-not-allowed`},null,8,NH),[[Yl,n.value]]),B(`span`,PH,[B(`span`,FH,O(t.label),1),t.hint?(L(),R(`span`,{key:0,class:D([`mt-0.5 block`,[A(xz)]])},O(t.hint),3)):U(``,!0),F(e.$slots,`default`)])],2))}}),LH={class:`space-y-3`},RH={class:`flex items-center justify-between gap-2`},zH={class:`text-xs font-medium text-muted`},BH={class:`flex items-center gap-1.5`},VH={class:`max-h-80 space-y-1.5 overflow-auto`},HH={class:`flex items-start gap-2.5`},UH={class:`min-w-0 flex-1`},WH={key:0,class:`flex shrink-0 items-center gap-1.5 pt-0.5`},GH={class:`font-mono text-2xs text-faint`},KH={key:1,class:`shrink-0 rounded-control border border-line px-1.5 py-0.5 text-2xs text-faint`},qH={key:0,class:`mt-1 flex items-center gap-1 pl-6 text-2xs text-warn`},JH={class:`space-y-3`},YH={class:`flex items-center justify-between gap-2`},XH={class:`text-xs font-medium text-muted`},ZH={class:`flex items-center gap-1.5`},QH={class:`max-h-72 space-y-1 overflow-auto`},$H={key:0,class:`text-xs text-muted`},eU=N({__name:`BackupDialog`,props:za({state:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:za([`created`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`open`),a=k(!1),o=k(null),s=k(``),c=k([]),l=k(!1),u=k(null),d=k({});function f(e){c.value=OH(n.state?.entries??[],e?c.value:[])}let p=W(()=>MH(c.value)),m=W(()=>c.value.find(e=>e.id===`global:settings`)?.selected??!1),h=W(()=>n.state!==null&&p.value.leaves>0&&!a.value),g=W(()=>u.value===null?0:u.value.leaves.filter(e=>d.value[e.id]===!0).length);M(i,e=>{e&&(s.value=``,o.value=null,f(!1))},{immediate:!0}),M(()=>n.state,()=>{i.value&&f(!0)});function _(e){u.value=e,d.value=Object.fromEntries(e.leaves.map(e=>[e.id,e.selected])),l.value=!0}function v(){let e=u.value;if(e!==null){for(let t of e.leaves)t.selected=d.value[t.id]===!0;e.leaves.some(e=>e.selected)&&(e.selected=!0),l.value=!1,u.value=null}}function y(e){let t=u.value;t!==null&&(d.value=Object.fromEntries(t.leaves.map(t=>[t.id,e])))}async function b(){if(h.value){a.value=!0,o.value=null;try{await UM(s.value,jH(c.value)),i.value=!1,r(`created`,Y(`settings.backup.created`))}catch(e){o.value=Lj(e)}finally{a.value=!1}}}return(e,t)=>(L(),R(I,null,[V($z,{open:i.value,"onUpdate:open":t[4]||=e=>i.value=e,title:A(Y)(`settings.backup.createTitle`),description:A(Y)(`settings.backup.createDescription`),width:`w-[min(92vw,40rem)]`},{footer:j(()=>[V($,{size:`sm`,variant:`ghost`,disabled:a.value,onClick:t[3]||=e=>i.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1},8,[`disabled`]),V($,{size:`sm`,variant:`primary`,disabled:!h.value,loading:a.value,onClick:b},{default:j(()=>[H(O(A(Y)(`settings.backup.create`)),1)]),_:1},8,[`disabled`,`loading`])]),default:j(()=>[B(`div`,LH,[B(`div`,RH,[B(`span`,zH,O(A(_F)(`settings.backup.entriesCount`,p.value.entries))+` · `+O(A(_F)(`settings.backup.itemsSelected`,p.value.leaves)),1),B(`div`,BH,[V($,{size:`xs`,variant:`ghost`,disabled:a.value,onClick:t[0]||=e=>A(AH)(c.value,!0)},{default:j(()=>[H(O(A(Y)(`common.selectAll`)),1)]),_:1},8,[`disabled`]),V($,{size:`xs`,variant:`ghost`,disabled:a.value,onClick:t[1]||=e=>A(AH)(c.value,!1)},{default:j(()=>[H(O(A(Y)(`common.selectNone`)),1)]),_:1},8,[`disabled`])])]),B(`ul`,VH,[(L(!0),R(I,null,P(c.value,e=>(L(),R(`li`,{key:e.id,class:`rounded-control border border-line-soft bg-panel-2/30 px-2.5 py-2`},[B(`div`,HH,[B(`div`,UH,[V(IH,{modelValue:e.selected,"onUpdate:modelValue":t=>e.selected=t,label:e.label,hint:e.hint,disabled:a.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`,`disabled`])]),e.kind===`workspace`?(L(),R(`div`,WH,[B(`span`,GH,O(e.leaves.filter(e=>e.selected).length)+`/`+O(e.leaves.length),1),V($,{size:`xs`,variant:`secondary`,disabled:a.value,onClick:t=>_(e)},{default:j(()=>[V(A(Pv),{class:`size-3`}),H(O(A(Y)(`settings.backup.chooseItems`)),1)]),_:1},8,[`disabled`,`onClick`])])):(L(),R(`span`,KH,O(A(wH)(e.kind)),1))]),e.kind===`workspace`&&e.selected&&!A(EH)(e)&&e.leaves.some(e=>e.selected)?(L(),R(`p`,qH,[V(A(ay),{class:`size-3`}),H(` `+O(A(Y)(`settings.backup.partialCapture`)),1)])):U(``,!0)]))),128))]),m.value?U(``,!0):(L(),z(_H,{key:0,tone:`warn`},{default:j(()=>[H(O(A(Y)(`settings.backup.withoutGlobalSettings`)),1)]),_:1})),V(Rz,{modelValue:s.value,"onUpdate:modelValue":t[2]||=e=>s.value=e,type:`password`,autocomplete:`new-password`,label:A(Y)(`settings.backup.password`),hint:A(Y)(`settings.backup.passwordHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),o.value?(L(),z(_H,{key:1,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]),V($z,{open:l.value,"onUpdate:open":t[8]||=e=>l.value=e,title:u.value===null?A(Y)(`settings.backup.chooseItems`):A(Y)(`settings.backup.chooseItemsFor`,{label:u.value.label}),description:A(Y)(`settings.backup.subDescription`),width:`w-[min(92vw,34rem)]`},{footer:j(()=>[V($,{size:`sm`,variant:`ghost`,onClick:t[7]||=e=>l.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1}),V($,{size:`sm`,variant:`primary`,onClick:v},{default:j(()=>[H(O(A(Y)(`settings.backup.apply`)),1)]),_:1})]),default:j(()=>[B(`div`,JH,[B(`div`,YH,[B(`span`,XH,O(A(Y)(`settings.backup.selectedOf`,{selected:g.value,total:u.value?.leaves.length??0})),1),B(`div`,ZH,[V($,{size:`xs`,variant:`ghost`,onClick:t[5]||=e=>y(!0)},{default:j(()=>[H(O(A(Y)(`common.selectAll`)),1)]),_:1}),V($,{size:`xs`,variant:`ghost`,onClick:t[6]||=e=>y(!1)},{default:j(()=>[H(O(A(Y)(`common.selectNone`)),1)]),_:1})])]),B(`ul`,QH,[(L(!0),R(I,null,P(u.value?.leaves??[],e=>(L(),R(`li`,{key:e.id,class:`rounded-control px-2 py-1.5 hover:bg-hover`},[V(IH,{"model-value":d.value[e.id]===!0,label:e.label,hint:e.hint,"onUpdate:modelValue":t=>d.value[e.id]=t===!0},null,8,[`model-value`,`label`,`hint`,`onUpdate:modelValue`])]))),128))]),u.value?.leaves.length===0?(L(),R(`p`,$H,O(A(Y)(`settings.backup.nothingSelectable`)),1)):U(``,!0)])]),_:1},8,[`open`,`title`,`description`])],64))}}),tU={class:`space-y-3`},nU={key:0,class:`flex min-w-0 flex-col gap-1`},rU=[`disabled`],iU={key:0,class:`font-mono text-2xs text-muted`},aU={class:`mt-2`},oU={class:`mt-2 max-w-sm`},sU={class:`mt-2`},cU={class:`mt-2`},lU={class:`mt-1 max-h-64 space-y-0.5 overflow-auto`},uU={class:`mt-2 flex flex-wrap items-center gap-2`},dU={class:`mt-2`},fU=`__upload__`,pU=N({__name:`RestoreDialog`,props:za({files:{},initial:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:za([`applied`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`open`),a=k(!1),o=k(null),s=k(null),c=k(null),l=k(``),u=k({kind:`upload`}),d=k(fU),f=W(()=>s.value?.items.filter(e=>e.selected).length??0),p=W(()=>{let e=s.value;return e===null?[]:e.appliedIds===void 0?e.applied:e.appliedIds.map(t=>xH(e.items.find(e=>e.id===t)??{label:t}))}),m=W(()=>{let e=s.value;return e===null?[]:e.skippedItems===void 0?e.skipped:e.skippedItems.map(e=>{let t=xH(e);return e.reasonKey===void 0?t:`${t} (${Y(e.reasonKey,e.reasonParams)})`})}),h=W(()=>s.value?.items.some(e=>e.id===`global:settings`&&e.selected)??!1),g=W(()=>s.value?.needsPassword===!0),_=W(()=>s.value!==null&&!g.value&&f.value>0&&!a.value),v=W(()=>[...n.files.map(e=>({value:e.name,label:e.encrypted?Y(`settings.restore.encryptedName`,{name:e.name}):e.name})),{value:fU,label:Y(`settings.restore.uploadOption`)}]),y=Q(Sz,`cursor-pointer text-xs`,`file:mr-2 file:cursor-pointer file:rounded-control file:border-0 file:bg-panel-2 file:px-2 file:py-1 file:text-xs file:text-ink`);function b(e){return Lj(e)}function x(){return l.value.length>0?{password:l.value}:{}}async function S(){let e=u.value;if(e.kind===`upload`&&c.value===null){s.value=null;return}a.value=!0,o.value=null,s.value=null;try{s.value=e.kind===`stored`?await iM(e.name,!1,x()):await WM(c.value,!1,x())}catch(e){o.value=b(e)}finally{a.value=!1}}function C(e){d.value=e,c.value=null,u.value=e===fU?{kind:`upload`}:{kind:`stored`,name:e},S()}function w(e){c.value=e.target.files?.[0]??null,S()}function T(e){for(let t of s.value?.items??[])t.restorable&&(t.selected=e)}async function ee(){let e=s.value,t=u.value;if(e===null||!_.value)return;a.value=!0,o.value=null;let n={...x(),include:e.items.filter(e=>e.restorable&&e.selected).map(e=>e.id)};try{let e=t.kind===`stored`?await iM(t.name,!0,n):await WM(c.value,!0,n);i.value=!1,s.value=null,c.value=null,l.value=``;let a=[];e.reloaded&&a.push(Y(`settings.restore.noteReloaded`)),e.restartRequired&&a.push(Y(`settings.restore.noteRestart`));let o=e.applied.length;r(`applied`,a.length===0?Y(`settings.restore.restored`,{count:o}):Y(`settings.restore.restoredWithNotes`,{count:o,notes:a.join(`; `)}))}catch(e){o.value=b(e)}finally{a.value=!1}}return M(i,e=>{if(!e){s.value=null,c.value=null,l.value=``,o.value=null;return}let t=n.files[0];u.value=n.initial??(t===void 0?{kind:`upload`}:{kind:`stored`,name:t.name}),d.value=u.value.kind===`stored`?u.value.name:fU,S()},{immediate:!0}),(e,t)=>(L(),z($z,{open:i.value,"onUpdate:open":t[4]||=e=>i.value=e,title:A(Y)(`settings.restore.title`),description:A(Y)(`settings.restore.description`),width:`w-[min(92vw,38rem)]`},{footer:j(()=>[V($,{size:`sm`,variant:`ghost`,disabled:a.value,onClick:t[3]||=e=>i.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1},8,[`disabled`]),s.value&&!g.value?(L(),z($,{key:0,size:`sm`,variant:`danger`,disabled:!_.value,loading:a.value,onClick:ee},{default:j(()=>[H(O(u.value.kind===`stored`?A(Y)(`settings.restore.applyStored`):A(Y)(`settings.restore.applyUpload`)),1)]),_:1},8,[`disabled`,`loading`])):U(``,!0)]),default:j(()=>[B(`div`,tU,[V(Nz,{"model-value":d.value,label:A(Y)(`settings.restore.archive`),hint:A(Y)(`settings.restore.archiveHint`),options:v.value,disabled:a.value,wide:``,"onUpdate:modelValue":C},null,8,[`model-value`,`label`,`hint`,`options`,`disabled`]),u.value.kind===`upload`?(L(),R(`div`,nU,[B(`label`,{class:D(A(bz)),for:`restore-upload`},O(A(Y)(`settings.restore.archiveFile`)),3),B(`input`,{id:`restore-upload`,type:`file`,accept:`.zip,application/zip`,class:D(A(y)),disabled:a.value,onChange:w},null,42,rU),c.value?(L(),R(`p`,iU,O(c.value.name),1)):U(``,!0)])):U(``,!0),a.value?(L(),z(OV,{key:1,class:`h-20 w-full`})):s.value?(L(),z(_H,{key:2,tone:`warn`,title:A(Y)(`settings.restore.unchangedTitle`)},{default:j(()=>[B(`p`,null,[u.value.kind===`stored`?(L(),z(iB,{key:0,k:`settings.restore.archiveLine`},{name:j(()=>[B(`code`,null,O(u.value.name),1)]),_:1})):(L(),R(I,{key:1},[H(O(A(Y)(`settings.restore.uploadedArchive`)),1)],64))]),s.value.needsPassword?(L(),R(I,{key:0},[B(`p`,aU,O(s.value.error??A(Y)(`settings.restore.passwordProtected`)),1),B(`div`,oU,[V(Rz,{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,type:`password`,autocomplete:`off`,label:A(Y)(`settings.restore.password`)},null,8,[`modelValue`,`label`])]),B(`div`,sU,[V($,{size:`sm`,variant:`secondary`,disabled:a.value,onClick:S},{default:j(()=>[H(O(A(Y)(`settings.restore.checkAgain`)),1)]),_:1},8,[`disabled`])])],64)):(L(),R(I,{key:1},[B(`p`,cU,O(A(Y)(`settings.restore.choosePrompt`,{selected:f.value,total:s.value.items.length})),1),B(`ul`,lU,[(L(!0),R(I,null,P(s.value.items,e=>(L(),R(`li`,{key:e.id},[V(IH,{modelValue:e.selected,"onUpdate:modelValue":t=>e.selected=t,label:A(xH)(e),hint:[A(wH)(e.kind),e.workspaceId,A(SH)(e)].filter(Boolean).join(` · `),disabled:!e.restorable||a.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`,`disabled`])]))),128))]),B(`div`,uU,[V($,{size:`xs`,variant:`ghost`,disabled:a.value,onClick:t[1]||=e=>T(!0)},{default:j(()=>[H(O(A(Y)(`common.selectAll`)),1)]),_:1},8,[`disabled`]),V($,{size:`xs`,variant:`ghost`,disabled:a.value,onClick:t[2]||=e=>T(!1)},{default:j(()=>[H(O(A(Y)(`common.selectNone`)),1)]),_:1},8,[`disabled`])]),B(`p`,dU,[H(O(A(Y)(`settings.restore.willRestore`,{items:p.value.join(`, `)||A(Y)(`settings.restore.nothing`)}))+` `,1),m.value.length>0?(L(),R(I,{key:0},[H(O(A(Y)(`settings.restore.skipped`,{items:m.value.join(`, `)})),1)],64)):U(``,!0),s.value.restartRequired?(L(),R(I,{key:1},[H(O(A(Y)(`settings.restore.restartNote`)),1)],64)):h.value?(L(),R(I,{key:2},[H(O(A(Y)(`settings.restore.reloadedNote`)),1)],64)):U(``,!0)])],64))]),_:1},8,[`title`])):U(``,!0),o.value?(L(),z(_H,{key:3,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),mU=[`aria-label`],hU=N({__name:`CopyButton`,props:{value:{},label:{default:void 0},class:{default:void 0}},setup(e){let t=e,n=k(!1),r=null;async function i(){try{await navigator.clipboard.writeText(t.value),n.value=!0,r&&clearTimeout(r),r=setTimeout(()=>{n.value=!1},1400)}catch{}}return Be(()=>{r&&clearTimeout(r)}),(e,r)=>(L(),R(`button`,{type:`button`,class:D(A(Q)(`inline-grid size-6 shrink-0 place-items-center rounded-control text-faint transition-colors duration-150 hover:bg-hover hover:text-ink`,A(yz),t.class)),"aria-label":n.value?A(Y)(`common.copied`):t.label??A(Y)(`common.copy`),onClick:i},[n.value?(L(),z(A(Fv),{key:0,class:`size-3.5 text-ok`})):(L(),z(A(qv),{key:1,class:`size-3.5`}))],10,mU))}}),gU={key:0,class:`size-1.5 shrink-0 rounded-full bg-current`},_U=N({__name:`ToneBadge`,props:{tone:{default:`neutral`},dot:{type:Boolean,default:!1},mono:{type:Boolean,default:!1},plain:{type:Boolean,default:!1}},setup(e){let t=e,n=W(()=>Q(`inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-2xs font-medium whitespace-nowrap`,t.plain?Q(`border-transparent bg-transparent`,XI[t.tone].split(` `).filter(e=>e.startsWith(`text-`)).join(` `)):XI[t.tone],t.mono&&`font-mono`));return(e,r)=>(L(),R(`span`,{class:D(n.value)},[t.dot?(L(),R(`span`,gU)):U(``,!0),F(e.$slots,`default`)],2))}}),vU={class:`space-y-3`},yU={key:0,class:`sm:col-span-2`},bU={key:1,class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},xU={class:`text-xs font-medium text-muted`},SU={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},CU={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},wU={class:`text-2xs leading-4 text-faint`},TU={key:0,class:`space-y-2 sm:col-span-2`},EU={key:1,class:`text-xs text-muted sm:col-span-2`},DU={key:2,class:`divide-y divide-line-soft sm:col-span-2`},OU={class:`flex items-center gap-2`},kU={class:`min-w-0 flex-1 truncate text-xs font-medium text-ink`},AU={key:0,class:`font-mono text-2xs text-faint`},jU={key:0,class:`mt-0.5 text-2xs leading-4 text-muted`},MU={key:1,class:`mt-1 space-y-1`},NU={class:`min-w-0`},PU={class:`truncate font-mono text-2xs text-ink`},FU={class:`mt-0.5 text-2xs leading-4 text-faint`},IU={key:3,class:`text-2xs leading-4 text-faint sm:col-span-2`},LU={key:0,class:`space-y-2 sm:col-span-2`},RU={key:1,class:`sm:col-span-2`},zU={key:2,class:`divide-y divide-line-soft sm:col-span-2`},BU={class:`min-w-0 flex-1`},VU={class:`flex items-center gap-2`},HU={class:`truncate font-mono text-xs text-ink`},UU={class:`mt-0.5 font-mono text-2xs tabular-nums text-muted`},WU={class:`flex items-center gap-1.5`},GU=[`href`],KU={key:3,class:`space-y-2 sm:col-span-2`},qU=N({__name:`BackupsSection`,props:za({state:{},policy:{},configPath:{},workspaces:{},dirty:{type:Boolean}},{form:{required:!0},formModifiers:{}}),emits:za([`reset`],[`update:form`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`form`),a=XN(),o=ZR(()=>i.value.keep,e=>i.value.keep=e,5),s=k(!1),c=k(null),l=k(null),u=k(!1),d=k(!1),f=k(null),p=W(()=>n.state?.files??[]),m=W(()=>n.state?.entries??[]),h=Q(`inline-flex h-6 shrink-0 items-center gap-1 rounded-control border border-line bg-raise px-2 text-2xs font-medium text-ink`,`transition-colors duration-150 hover:bg-hover`,yz);function g(e){f.value=e===void 0?null:{kind:`stored`,name:e},d.value=!0}function _(e){l.value=null,c.value=e,a.refresh()}function v(e){l.value=null,c.value=e,a.refresh()}async function y(e){s.value=!0,l.value=null,c.value=null;try{await Yj(e),c.value=Y(`settings.backups.deleted`,{name:e}),await a.refresh()}catch(e){l.value=Lj(e)}finally{s.value=!1}}return(e,t)=>(L(),R(`div`,vU,[V(gz,{title:A(Y)(`settings.backups.policyTitle`),description:A(Y)(`settings.backups.policyDescription`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:A(Y)(`settings.backups.allow`),hint:A(Y)(`settings.backups.allowHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),i.value.enabled?U(``,!0):(L(),R(`div`,yU,[V(_H,{tone:`warn`,title:A(Y)(`settings.backups.offTitle`)},{default:j(()=>[H(O(A(Y)(`settings.backups.offText`)),1)]),_:1},8,[`title`])])),V(Dz,{modelValue:A(o),"onUpdate:modelValue":t[2]||=e=>hn(o)?o.value=e:null,label:A(Y)(`settings.backups.keep`),min:1,hint:A(Y)(`settings.backups.keepHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:i.value.includePaths,"onUpdate:modelValue":t[3]||=e=>i.value.includePaths=e,label:A(Y)(`settings.backups.extraPaths`),hint:A(Y)(`settings.backups.extraPathsHint`),placeholder:A(Y)(`settings.backups.extraPathsPlaceholder`)},null,8,[`modelValue`,`label`,`hint`,`placeholder`]),n.policy===null?U(``,!0):(L(),R(`div`,bU,[B(`span`,xU,O(A(Y)(`settings.backups.archiveDirectory`)),1),B(`div`,SU,[B(`span`,CU,O(n.policy.dir),1),V(hU,{value:n.policy.dir,label:A(Y)(`settings.backups.copyArchiveDirectory`)},null,8,[`value`,`label`])]),B(`p`,wU,[V(iB,{k:`settings.backups.changeDirectory`},{path:j(()=>[B(`code`,null,O(n.configPath??A(Y)(`settings.backups.theSettingsFile`)),1)]),_:1})])]))]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`settings.backups.capturesTitle`),description:A(Y)(`settings.backups.capturesDescription`)},{default:j(()=>[n.state===null?(L(),R(`div`,TU,[V(OV,{class:`h-4 w-full`}),V(OV,{class:`h-4 w-2/3`})])):m.value.length===0?(L(),R(`p`,EU,O(A(Y)(`settings.backups.nothingSelectable`)),1)):(L(),R(`ul`,DU,[(L(!0),R(I,null,P(m.value,e=>(L(),R(`li`,{key:e.id,class:`py-2 first:pt-0`},[B(`div`,OU,[B(`p`,kU,O(A(xH)(e)),1),V(_U,{tone:`neutral`,plain:``},{default:j(()=>[H(O(A(wH)(e.kind)),1)]),_:2},1024),e.workspaceId?(L(),R(`span`,AU,O(e.workspaceId),1)):U(``,!0)]),A(SH)(e)?(L(),R(`p`,jU,O(A(SH)(e)),1)):U(``,!0),e.items.length>0?(L(),R(`ul`,MU,[(L(!0),R(I,null,P(e.items,e=>(L(),R(`li`,{key:e.id,class:`flex items-start justify-between gap-3 rounded-control bg-panel-2/40 px-2 py-1`},[B(`div`,NU,[B(`p`,PU,O(e.path??A(xH)(e)),1),B(`p`,FU,[H(O(e.included?e.origin?A(Y)(`settings.backups.fromOrigin`,{origin:e.origin}):A(SH)(e)??A(Y)(`settings.backups.included`):A(SH)(e)??A(Y)(`settings.backups.notCaptured`))+` `,1),e.included&&e.ignoreGenerated?(L(),R(I,{key:0},[H(` · `+O(A(Y)(`settings.backups.generatedSkipped`)),1)],64)):U(``,!0)])]),V(_U,{tone:e.included?`ok`:`neutral`,plain:``},{default:j(()=>[H(O(e.included?A(Y)(`settings.backups.included`):A(Y)(`settings.backups.skipped`)),1)]),_:2},1032,[`tone`])]))),128))])):U(``,!0)]))),128))])),n.workspaces.length>1?(L(),R(`p`,IU,O(A(Y)(`settings.backups.workspacesNote`,{count:n.workspaces.length})),1)):U(``,!0)]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`settings.backups.archivesTitle`),description:A(Y)(`settings.backups.archivesDescription`)},{actions:j(()=>[i.value.enabled?(L(),z($,{key:0,size:`xs`,variant:`primary`,disabled:n.state===null,onClick:t[4]||=e=>u.value=!0},{default:j(()=>[H(O(A(Y)(`settings.backups.create`)),1)]),_:1},8,[`disabled`])):U(``,!0),V($,{size:`xs`,variant:`secondary`,disabled:n.state===null,onClick:t[5]||=e=>g()},{default:j(()=>[H(O(A(Y)(`settings.backups.restore`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[n.state===null?(L(),R(`div`,LU,[V(OV,{class:`h-4 w-full`}),V(OV,{class:`h-4 w-2/3`})])):p.value.length===0?(L(),R(`div`,RU,[V(gL,{compact:``,title:A(Y)(`settings.backups.noArchives`),description:i.value.enabled?A(Y)(`settings.backups.noArchivesEnabled`):A(Y)(`settings.backups.noArchivesDisabled`)},ya({icon:j(()=>[V(A(Mv),{class:`size-4`})]),_:2},[i.value.enabled?{name:`action`,fn:j(()=>[V($,{size:`sm`,variant:`primary`,onClick:t[6]||=e=>u.value=!0},{default:j(()=>[H(O(A(Y)(`settings.backups.create`)),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])):(L(),R(`ul`,zU,[(L(!0),R(I,null,P(p.value,e=>(L(),R(`li`,{key:e.name,class:`flex flex-wrap items-center gap-x-3 gap-y-2 py-2 first:pt-0 last:pb-0`},[B(`div`,BU,[B(`div`,VU,[B(`span`,HU,O(e.name),1),e.encrypted?(L(),z(_U,{key:0,tone:`warn`,plain:``},{default:j(()=>[H(O(A(Y)(`settings.backups.encrypted`)),1)]),_:1})):U(``,!0)]),B(`p`,UU,O(A(IL)(e.sizeBytes))+` · `+O(A(FL)(e.createdAt)),1)]),B(`div`,WU,[B(`a`,{href:Kj(e.name),class:D(A(h))},[V(A(Yv),{class:`size-3`,"aria-hidden":`true`}),H(` `+O(A(Y)(`settings.backups.download`)),1)],10,GU),V($,{size:`xs`,variant:`secondary`,onClick:t=>g(e.name)},{default:j(()=>[V(A(xy),{class:`size-3`,"aria-hidden":`true`}),H(` `+O(A(Y)(`settings.backups.restoreAction`)),1)]),_:1},8,[`onClick`]),V(mH,{label:A(Y)(`common.delete`),"confirm-label":A(Y)(`settings.backups.confirmDelete`),size:`xs`,variant:`ghost`,"confirm-variant":`danger`,disabled:s.value,onConfirm:t=>y(e.name)},null,8,[`label`,`confirm-label`,`disabled`,`onConfirm`])])]))),128))])),l.value||c.value?(L(),R(`div`,KU,[l.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(_H,{key:1,tone:`ok`},{default:j(()=>[H(O(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1},8,[`title`,`description`]),V(eU,{open:u.value,"onUpdate:open":t[7]||=e=>u.value=e,state:n.state,onCreated:_},null,8,[`open`,`state`]),V(pU,{open:d.value,"onUpdate:open":t[8]||=e=>d.value=e,files:p.value,initial:f.value,onApplied:v},null,8,[`open`,`files`,`initial`])]))}}),JU={key:0,class:`mt-3 flex flex-wrap items-center gap-1.5`},YU={class:`text-xs text-muted`},XU={key:1,class:`mt-3 text-xs text-muted`},ZU=N({__name:`HostSection`,props:za({config:{},alerts:{},dirty:{type:Boolean}},{host:{required:!0},hostModifiers:{}}),emits:za([`reset`],[`update:host`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`host`),a=ZR(()=>i.value.intervalMs,e=>i.value.intervalMs=e,15e3),o=ZR(()=>i.value.diskUsedPercent,e=>i.value.diskUsedPercent=e,90),s=ZR(()=>i.value.memoryUsedPercent,e=>i.value.memoryUsedPercent=e,90),c=ZR(()=>i.value.swapUsedPercent,e=>i.value.swapUsedPercent=e,50),l=ZR(()=>i.value.loadPerCpu,e=>i.value.loadPerCpu=e,2),u=ZR(()=>i.value.tempCelsius,e=>i.value.tempCelsius=e,85);return(e,t)=>(L(),R(I,null,[V(gz,{title:A(Y)(`settings.host.title`),description:A(Y)(`settings.host.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:A(Y)(`settings.host.enabled`),hint:A(Y)(`settings.host.enabledHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(a),"onUpdate:modelValue":t[2]||=e=>hn(a)?a.value=e:null,label:A(Y)(`settings.host.interval`),min:5e3,hint:A(Y)(`settings.host.intervalHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:i.value.diskPaths,"onUpdate:modelValue":t[3]||=e=>i.value.diskPaths=e,label:A(Y)(`settings.host.diskPaths`),hint:A(Y)(`settings.host.diskPathsHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(o),"onUpdate:modelValue":t[4]||=e=>hn(o)?o.value=e:null,label:A(Y)(`settings.host.diskUsed`),min:0,max:100,hint:A(Y)(`settings.host.zeroDisables`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(s),"onUpdate:modelValue":t[5]||=e=>hn(s)?s.value=e:null,label:A(Y)(`settings.host.memoryUsed`),min:0,max:100,hint:A(Y)(`settings.host.zeroDisables`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(c),"onUpdate:modelValue":t[6]||=e=>hn(c)?c.value=e:null,label:A(Y)(`settings.host.swapUsed`),min:0,max:100,hint:A(Y)(`settings.host.zeroDisables`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(l),"onUpdate:modelValue":t[7]||=e=>hn(l)?l.value=e:null,label:A(Y)(`settings.host.loadPerCpu`),min:0,hint:A(Y)(`settings.host.loadPerCpuHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(u),"onUpdate:modelValue":t[8]||=e=>hn(u)?u.value=e:null,label:A(Y)(`settings.host.tempCelsius`),min:0,hint:A(Y)(`settings.host.tempCelsiusHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),n.alerts.length>0?(L(),R(`div`,JU,[B(`span`,YU,O(A(Y)(`settings.host.breachingNow`)),1),(L(!0),R(I,null,P(n.alerts,e=>(L(),z(_U,{key:e,tone:`danger`,dot:``},{default:j(()=>[H(O(e),1)]),_:2},1024))),128))])):i.value.enabled?(L(),R(`p`,XU,O(A(Y)(`settings.host.nothingBreaching`)),1)):U(``,!0)],64))}}),QU={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},$U={class:`text-xs font-medium text-muted`},eW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},tW={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},nW={class:`text-2xs leading-4 text-faint`},rW={key:0},iW={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},aW={class:`text-xs font-medium text-muted`},oW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},sW={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},cW={class:`text-2xs leading-4 text-faint`},lW={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},uW={class:`text-xs font-medium text-muted`},dW=[`disabled`],fW={class:`text-2xs leading-4 text-faint sm:col-span-2`},pW=N({__name:`InterfaceSection`,props:za({ui:{},panelVersion:{},labelDirty:{type:Boolean}},{label:{required:!0},labelModifiers:{}}),emits:za([`changed`,`resetLabel`],[`update:label`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`label`),a=k(null),o=k(!1),s=k(null),c=k(null),l=k(!1),u=W(()=>{let e=n.ui;if(e===null)return Y(`common.unknown`);if(!e.custom)return Y(`settings.interface.sourceStock`);let t=e.meta;return t===null?Y(`settings.interface.sourceCustom`):`${Y(`settings.interface.sourceCustom`)} · ${t.name??Y(`settings.interface.unnamed`)}${t.version==null?``:` ${t.version}`}`}),d=W(()=>{let e=n.ui?.meta;if(e==null)return null;let t=e.uploadedAt===void 0?null:new Date(e.uploadedAt).toLocaleString();return`${Y(`settings.interface.fileCount`,{count:e.files??0})}${t===null?``:` · ${t}`}`});function f(e){a.value=e.target.files?.[0]??null,s.value=null,c.value=null}async function p(){if(a.value!==null){o.value=!0,c.value=null,s.value=null;try{let e=await fM(a.value);s.value=Y(`settings.interface.installed`,{name:e.meta?.name??Y(`settings.interface.yourBuild`)}),a.value=null,r(`changed`)}catch(e){c.value=Lj(e)}finally{o.value=!1}}}async function m(){if(!l.value){l.value=!0,setTimeout(()=>{l.value=!1},5e3);return}l.value=!1,o.value=!0,c.value=null;try{let e=await sM();s.value=e.removed?Y(`settings.interface.restored`):Y(`settings.interface.nothingInstalled`),r(`changed`)}catch(e){c.value=Lj(e)}finally{o.value=!1}}return(t,h)=>(L(),z(gz,{title:A(Y)(`settings.interface.title`),description:A(Y)(`settings.interface.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.labelDirty,onClick:h[1]||=e=>r(`resetLabel`)},{default:j(()=>[H(O(A(Y)(`settings.interface.resetName`)),1)]),_:1},8,[`disabled`]),e.ui?.custom?(L(),z($,{key:0,size:`xs`,variant:`ghost`,disabled:o.value,onClick:m},{default:j(()=>[H(O(l.value?A(Y)(`settings.interface.confirmRevert`):A(Y)(`settings.interface.revertToStock`)),1)]),_:1},8,[`disabled`])):U(``,!0),V($,{size:`xs`,variant:`primary`,disabled:o.value||a.value===null,onClick:p},{default:j(()=>[H(O(A(Y)(`settings.interface.install`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[B(`div`,QU,[B(`span`,$U,O(A(Y)(`settings.interface.currentlyServing`)),1),B(`div`,eW,[B(`span`,tW,O(u.value),1),V(hU,{value:e.ui?.dir??``,label:A(Y)(`settings.interface.copyDirectory`)},null,8,[`value`,`label`])]),B(`p`,nW,[d.value?(L(),R(`span`,rW,O(d.value)+` · `,1)):U(``,!0),B(`code`,null,O(e.ui?.dir??`—`),1)])]),B(`div`,iW,[B(`span`,aW,O(A(Y)(`settings.interface.panelVersion`)),1),B(`div`,oW,[B(`span`,sW,O(A(Y)(`app.name`))+` `+O(n.panelVersion??A(Y)(`common.unknown`)),1),n.panelVersion?(L(),z(hU,{key:0,value:n.panelVersion,label:A(Y)(`settings.interface.copyPanelVersion`)},null,8,[`value`,`label`])):U(``,!0)]),B(`p`,cW,[V(iB,{k:`settings.interface.panelVersionHint`},{command:j(()=>[...h[2]||=[B(`code`,null,`home-hosted status`,-1)]]),_:1})])]),V(Rz,{modelValue:i.value,"onUpdate:modelValue":h[0]||=e=>i.value=e,label:A(Y)(`settings.interface.panelName`),hint:A(Y)(`settings.interface.panelNameHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),B(`label`,lW,[B(`span`,uW,O(A(Y)(`settings.interface.uploadLabel`)),1),B(`input`,{type:`file`,accept:`.zip,application/zip`,class:`rounded-control border border-line bg-page/60 px-2.5 py-1.5 text-xs text-ink file:mr-2 file:rounded file:border-0 file:bg-line file:px-2 file:py-1 file:text-xs`,disabled:o.value,onChange:f},null,40,dW)]),c.value?(L(),z(_H,{key:0,tone:`warn`,title:c.value},null,8,[`title`])):s.value?(L(),z(_H,{key:1,tone:`ok`,title:s.value},null,8,[`title`])):U(``,!0),B(`p`,fW,[V(iB,{k:`settings.interface.docsHint`},{docs:j(()=>[...h[3]||=[B(`code`,null,`docs/UI_CREATION.md`,-1)]]),command:j(()=>[...h[4]||=[B(`code`,null,`home-hosted ui-revert`,-1)]]),_:1})])]),_:1},8,[`title`,`description`]))}}),mW={class:`inline-flex items-center gap-0.5 rounded-control border border-line bg-panel-2 p-0.5`},hW=[`aria-pressed`,`onClick`],gW=N({__name:`SegmentedControl`,props:za({options:{},size:{default:`sm`}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=so(e,`modelValue`);return(e,r)=>(L(),R(`div`,mW,[(L(!0),R(I,null,P(t.options,e=>(L(),R(`button`,{key:e.value,type:`button`,class:D(A(Q)(`rounded-[5px] font-medium transition-colors duration-150`,t.size===`sm`?`h-6 px-2 text-2xs`:`h-7 px-2.5 text-xs`,n.value===e.value?`bg-raise text-ink shadow-card`:`text-muted hover:text-ink`)),"aria-pressed":n.value===e.value,onClick:t=>n.value=e.value},O(e.label),11,hW))),128))]))}}),_W={class:`flex min-w-0 flex-col gap-1`},vW={class:`text-xs font-medium text-muted`},yW={class:`text-2xs leading-4 text-faint`},bW={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},xW={class:`text-xs font-medium text-muted`},SW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},CW={class:`min-w-0 flex-1 truncate font-mono text-xs tabular-nums text-ink`},wW={class:`text-2xs leading-4 text-faint`},TW=N({__name:`ListenerSection`,props:za({view:{},dirty:{type:Boolean}},{control:{required:!0},controlModifiers:{}}),emits:za([`reset`],[`update:control`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`control`),a=ZR(()=>i.value.port,e=>i.value.port=e,3999),o=[`local`,`lan`],s=W({get:()=>o.includes(i.value.host)?i.value.host:`custom`,set:e=>{if(e!==`custom`){i.value.host=e;return}if(!o.includes(i.value.host))return;let t=n.view?.bindHost??``,r=t!==``&&t!==`0.0.0.0`&&t!==`127.0.0.1`&&$k(t)!==null;i.value.host=r?t:`127.0.0.1`}}),c=W(()=>{if(s.value===`custom`&&$k(i.value.host)===null)return Y(`settings.listener.ipv4Error`)}),l=W(()=>n.view?.url??`—`),u=W(()=>s.value===`lan`?Y(`settings.listener.bindLanHint`):s.value===`local`?Y(`settings.listener.bindLocalHint`):Y(`settings.listener.bindCustomHint`));return(e,t)=>(L(),z(gz,{title:A(Y)(`settings.listener.title`),description:A(Y)(`settings.listener.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Dz,{modelValue:A(a),"onUpdate:modelValue":t[1]||=e=>hn(a)?a.value=e:null,label:A(Y)(`settings.listener.port`),min:1,max:65535,hint:A(Y)(`settings.listener.portHint`)},null,8,[`modelValue`,`label`,`hint`]),B(`div`,_W,[B(`span`,vW,O(A(Y)(`settings.listener.bind`)),1),V(gW,{modelValue:s.value,"onUpdate:modelValue":t[2]||=e=>s.value=e,options:[{value:`local`,label:A(Y)(`settings.listener.bindLocal`)},{value:`lan`,label:A(Y)(`settings.listener.bindLan`)},{value:`custom`,label:A(Y)(`settings.listener.bindCustom`)}]},null,8,[`modelValue`,`options`]),B(`p`,yW,O(u.value),1)]),s.value===`custom`?(L(),z(Rz,{key:0,modelValue:i.value.host,"onUpdate:modelValue":t[3]||=e=>i.value.host=e,label:A(Y)(`settings.listener.ipv4`),placeholder:A(Y)(`settings.listener.ipv4Placeholder`),error:c.value,hint:A(Y)(`settings.listener.ipv4Hint`)},null,8,[`modelValue`,`label`,`placeholder`,`error`,`hint`])):U(``,!0),V(Vz,{modelValue:i.value.openBrowser,"onUpdate:modelValue":t[4]||=e=>i.value.openBrowser=e,label:A(Y)(`settings.listener.openBrowser`),wide:``},null,8,[`modelValue`,`label`]),B(`div`,bW,[B(`span`,xW,O(A(Y)(`settings.listener.liveAddress`)),1),B(`div`,SW,[B(`span`,CW,O(l.value),1),n.view?.restartRequired?(L(),z(_U,{key:0,tone:`warn`,dot:``},{default:j(()=>[H(O(A(Y)(`settings.listener.restartRequired`)),1)]),_:1})):U(``,!0),V(hU,{value:l.value,label:A(Y)(`settings.listener.copyLiveAddress`)},null,8,[`value`,`label`])]),B(`p`,wW,O(A(Y)(`settings.listener.liveAddressHint`)),1)])]),_:1},8,[`title`,`description`]))}}),EW={class:`space-y-3`},DW={class:`divide-y divide-line-soft sm:col-span-2`},OW={class:`min-w-0`},kW={class:`text-xs font-medium text-ink`},AW={class:`mt-0.5 text-2xs leading-4 text-faint`},jW={class:`flex min-w-0 flex-1 items-center justify-end gap-1.5`},MW={class:`min-w-0 truncate font-mono text-xs text-ink`},NW={class:`flex items-center gap-2 text-xs font-medium text-ink`},PW={class:`font-mono text-2xs font-normal text-faint`},FW={class:`divide-y divide-line-soft`},IW={class:`min-w-0`},LW={class:`text-2xs font-medium text-ink`},RW={class:`mt-0.5 text-2xs leading-4 text-faint`},zW={class:`flex min-w-0 flex-1 items-center justify-end gap-1.5`},BW={class:`min-w-0 truncate font-mono text-2xs text-ink`},VW=N({__name:`PathsSection`,props:{dataRoot:{},projectDir:{},panelUrl:{},workspaces:{}},setup(e){let t=e,n=W(()=>t.dataRoot===null?null:`${t.dataRoot}/settings.json`),r=W(()=>[{key:`data`,label:Y(`settings.paths.dataRoot`),hint:Y(`settings.paths.dataRootHint`),copyLabel:Y(`settings.paths.dataRoot`),value:t.dataRoot??`—`},{key:`settings`,label:Y(`settings.paths.globalSettings`),hint:Y(`settings.paths.globalSettingsHint`),copyLabel:Y(`settings.paths.globalSettings`),value:n.value??`—`},{key:`project`,label:Y(`settings.paths.projectDir`),hint:Y(`settings.paths.projectDirHint`),copyLabel:Y(`settings.paths.projectDir`),value:t.projectDir??`—`},{key:`panel`,label:Y(`settings.paths.panelAddress`),hint:Y(`settings.paths.panelAddressHint`),copyLabel:Y(`settings.paths.panelAddress`),value:t.panelUrl??`—`}]);function i(e){return[{key:`${e.id}:config`,label:Y(`settings.paths.serversConfig`),hint:Y(`settings.paths.serversConfigHint`,{label:e.label}),copyLabel:Y(`settings.paths.serversConfig`),value:e.configPath},{key:`${e.id}:settings`,label:Y(`settings.paths.workspaceSettings`),hint:Y(`settings.paths.workspaceSettingsHint`),copyLabel:Y(`settings.paths.workspaceSettings`),value:e.settingsPath},{key:`${e.id}:logs`,label:Y(`settings.paths.logs`),hint:Y(`settings.paths.logsHint`),copyLabel:Y(`settings.paths.logs`),value:e.logsDir}]}return(t,n)=>(L(),R(`div`,EW,[V(gz,{title:A(Y)(`settings.paths.whereThingsLive`),description:A(Y)(`settings.paths.whereThingsLiveDescription`)},{default:j(()=>[B(`ul`,DW,[(L(!0),R(I,null,P(r.value,e=>(L(),R(`li`,{key:e.key,class:`flex items-start justify-between gap-3 py-2 first:pt-0 last:pb-0`},[B(`div`,OW,[B(`p`,kW,O(e.label),1),B(`p`,AW,O(e.hint),1)]),B(`div`,jW,[B(`span`,MW,O(e.value),1),V(hU,{value:e.value,label:A(Y)(`settings.paths.copyPath`,{label:e.copyLabel.toLowerCase()})},null,8,[`value`,`label`])])]))),128))])]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`settings.paths.workspaceFiles`),description:A(Y)(`settings.paths.workspaceFilesDescription`)},{default:j(()=>[(L(!0),R(I,null,P(e.workspaces,e=>(L(),R(`div`,{key:e.id,class:`space-y-2 sm:col-span-2`},[B(`p`,NW,[H(O(e.label)+` `,1),B(`span`,PW,O(e.id),1)]),B(`ul`,FW,[(L(!0),R(I,null,P(i(e),e=>(L(),R(`li`,{key:e.key,class:`flex items-start justify-between gap-3 py-1.5`},[B(`div`,IW,[B(`p`,LW,O(e.label),1),B(`p`,RW,O(e.hint),1)]),B(`div`,zW,[B(`span`,BW,O(e.value),1),V(hU,{value:e.value,label:A(Y)(`settings.paths.copyPath`,{label:e.copyLabel.toLowerCase()})},null,8,[`value`,`label`])])]))),128))])]))),128))]),_:1},8,[`title`,`description`])]))}}),HW=[`id`],UW={class:`mb-3`},WW={class:`text-lg font-semibold text-ink`},GW={class:`mt-0.5 text-xs text-muted`},KW=N({__name:`SettingsSection`,props:{id:{},title:{},description:{}},setup(e){return(t,n)=>(L(),R(`section`,{id:e.id,class:`scroll-mt-5`},[B(`header`,UW,[B(`h2`,WW,O(e.title),1),B(`p`,GW,O(e.description),1)]),F(t.$slots,`default`)],8,HW))}}),qW={class:`min-h-full`},JW={class:`mx-auto w-full max-w-5xl px-4 pb-6 pt-5 sm:px-6`},YW={class:`lg:grid lg:grid-cols-[11rem_minmax(0,1fr)] lg:gap-8`},XW=[`aria-label`],ZW={class:`sticky top-6 space-y-0.5 border-l border-line`},QW=[`aria-current`,`onClick`],$W={class:`space-y-6`},eG={class:`sticky bottom-0 z-30 border-t border-line bg-panel/95 backdrop-blur`},tG={class:`mx-auto flex w-full max-w-5xl flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 sm:px-6`},nG={class:`min-w-0 flex-1`},rG={class:`text-xs text-muted`},iG={class:`font-mono tabular-nums text-ink`},aG={key:0,class:`mt-0.5 text-xs text-danger`},oG={key:1,class:`mt-0.5 text-xs text-ok`},sG={class:`flex shrink-0 items-center gap-2`},cG={class:`max-h-[60dvh] overflow-auto px-4 py-3`},lG={key:0,class:`divide-y divide-line-soft`},uG={class:`font-mono text-xs text-ink`},dG={class:`ml-auto font-mono text-xs text-muted line-through`},fG={class:`font-mono text-xs text-accent`},pG={key:1,class:`text-xs text-muted`},mG={class:`flex items-center justify-end gap-2 border-t border-line px-4 py-3`},hG=N({__name:`SettingsShell`,props:{sections:{},navLabel:{},changesDescription:{},changedCount:{},changes:{},saveError:{},saveMessage:{},saving:{type:Boolean}},emits:[`save`,`discard`],setup(e,{emit:t}){let n=e,r=t,i=zg(),a=Rg(),o=k(n.sections[0]?.id??``),s=k(!1);function c(e){ir(()=>{document.getElementById(e)?.scrollIntoView({behavior:`smooth`,block:`start`})})}function l(e){o.value=e,i.query.section!==e&&a.replace({query:{...i.query,section:e}}),c(e)}M(()=>i.query.section,e=>{let t=typeof e==`string`?e:``;n.sections.some(e=>e.id===t)&&(o.value=t,c(t))},{immediate:!0});let u=null;na(()=>{u=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];t!==void 0&&t.target.id.length>0&&(o.value=t.target.id)},{rootMargin:`-72px 0px -62% 0px`,threshold:0});for(let e of n.sections){let t=document.getElementById(e.id);t&&u.observe(t)}}),aa(()=>u?.disconnect());function d(){r(`save`),s.value=!1}return(e,t)=>(L(),R(I,null,[B(`div`,qW,[B(`div`,JW,[F(e.$slots,`header`),B(`div`,YW,[B(`nav`,{"aria-label":n.navLabel,class:`hidden lg:block`},[B(`ul`,ZW,[(L(!0),R(I,null,P(n.sections,e=>(L(),R(`li`,{key:e.id},[B(`button`,{type:`button`,"aria-current":o.value===e.id?`true`:void 0,class:D(A(Q)(`-ml-px block w-full border-l-2 py-1.5 pl-3 text-left text-xs transition-colors duration-150`,o.value===e.id?`border-accent font-medium text-accent`:`border-transparent text-muted hover:border-line hover:text-ink`)),onClick:t=>l(e.id)},O(e.title),11,QW)]))),128))])],8,XW),B(`div`,$W,[F(e.$slots,`default`)])])]),B(`div`,eG,[B(`div`,tG,[B(`div`,nG,[B(`p`,rG,[n.changedCount>0?(L(),R(`button`,{key:0,type:`button`,class:`rounded-control px-1 py-0.5 text-xs text-muted underline decoration-line underline-offset-2 hover:text-ink`,onClick:t[0]||=e=>s.value=!0},[B(`span`,iG,O(n.changedCount),1),H(` `+O(A(_F)(`settings.shell.fieldsChanged`,n.changedCount)),1)])):(L(),R(I,{key:1},[H(O(A(Y)(`settings.shell.noUnsavedChanges`)),1)],64))]),n.saveError?(L(),R(`p`,aG,O(n.saveError),1)):n.saveMessage?(L(),R(`p`,oG,O(n.saveMessage),1)):U(``,!0)]),B(`div`,sG,[V($,{variant:`ghost`,disabled:n.changedCount===0||n.saving,onClick:t[1]||=e=>r(`discard`)},{default:j(()=>[H(O(A(Y)(`settings.shell.discard`)),1)]),_:1},8,[`disabled`]),V($,{variant:`primary`,disabled:n.changedCount===0,loading:n.saving,onClick:t[2]||=e=>r(`save`)},{default:j(()=>[H(O(A(Y)(`settings.shell.save`)),1)]),_:1},8,[`disabled`,`loading`])])])])]),V($z,{open:s.value,"onUpdate:open":t[4]||=e=>s.value=e,title:A(Y)(`settings.shell.unsavedTitle`),description:n.changesDescription,width:`w-[min(92vw,42rem)]`},{default:j(()=>[B(`div`,cG,[n.changes.length>0?(L(),R(`ul`,lG,[(L(!0),R(I,null,P(n.changes,e=>(L(),R(`li`,{key:e.path,class:`flex flex-wrap items-baseline gap-x-3 gap-y-1 py-2 first:pt-0`},[B(`code`,uG,O(e.path),1),B(`span`,dG,O(A(zL)(e.from)),1),t[5]||=B(`span`,{class:`text-2xs text-faint`},`→`,-1),B(`span`,fG,O(A(zL)(e.to)),1)]))),128))])):(L(),R(`p`,pG,O(A(Y)(`settings.shell.nothingToSave`)),1))]),B(`footer`,mG,[V($,{size:`sm`,variant:`ghost`,onClick:t[3]||=e=>s.value=!1},{default:j(()=>[H(O(A(Y)(`common.close`)),1)]),_:1}),V($,{size:`sm`,variant:`primary`,disabled:n.changes.length===0||n.saving,loading:n.saving,onClick:d},{default:j(()=>[H(O(A(_F)(`settings.shell.saveChanges`,n.changes.length)),1)]),_:1},8,[`disabled`,`loading`])])]),_:1},8,[`open`,`title`,`description`])],64))}}),gG={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},_G={class:`text-xs font-medium text-muted`},vG={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},yG={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},bG={key:0,class:`sm:col-span-2`},xG={key:1,class:`space-y-3 sm:col-span-2`},SG={class:`divide-y divide-line-soft text-xs`},CG={class:`flex items-start justify-between gap-4 py-1.5`},wG={class:`text-muted`},TG={class:`min-w-0 text-right font-mono text-xs text-ink`},EG={class:`flex items-start justify-between gap-4 py-1.5`},DG={class:`text-muted`},OG={class:`min-w-0 text-right font-mono text-xs text-ink`},kG={class:`flex items-start justify-between gap-4 py-1.5`},AG={class:`text-muted`},jG={class:`font-mono text-xs tabular-nums text-ink`},MG={class:`flex items-center justify-between gap-4 py-1.5`},NG={class:`text-muted`},PG={class:`flex items-start justify-between gap-4 py-1.5`},FG={class:`text-muted`},IG={class:`flex min-w-0 items-center gap-1.5`},LG={class:`min-w-0 truncate font-mono text-2xs text-ink`},RG={key:2,class:`sm:col-span-2`},zG={class:`flex min-w-0 flex-col gap-1`},BG={class:`flex min-w-0 flex-col gap-1`},VG={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},HG={key:3,class:`space-y-2 sm:col-span-2`},UG=N({__name:`TlsSection`,props:za({view:{},dirty:{type:Boolean}},{tlsEnabled:{type:Boolean,required:!0},tlsEnabledModifiers:{}}),emits:za([`reset`],[`update:tlsEnabled`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`tlsEnabled`),a=XN(),o=k(``),s=k(``),c=k(null),l=k(null),u=k(!1),d=W(()=>n.view?.tls??null),f=W(()=>n.view?`${n.view.protocol}://${n.view.bindHost}:${n.view.port}`:`—`),p=W(()=>o.value.trim().length>0&&s.value.trim().length>0&&!u.value),m=Q(Sz,`cursor-pointer text-xs`,`file:mr-2 file:cursor-pointer file:rounded-control file:border-0 file:bg-panel-2 file:px-2 file:py-1 file:text-xs file:text-ink`);async function h(e,t){let n=e.target.files?.[0];if(!n)return;let r=await n.text();t===`cert`?o.value=r:s.value=r}async function g(){u.value=!0,l.value=null,c.value=null;try{let e=await eN(o.value,s.value);o.value=``,s.value=``,c.value=Y(`settings.tls.stored`),await a.refresh();let t=await QR(e);t!==null&&(l.value=t)}catch(e){l.value=Lj(e)}finally{u.value=!1}}async function _(){u.value=!0,l.value=null,c.value=null;try{let e=await tN();c.value=Y(`settings.tls.removed`),await a.refresh();let t=await QR(e);t!==null&&(l.value=t)}catch(e){l.value=Lj(e)}finally{u.value=!1}}return(e,t)=>(L(),R(I,null,[V(gz,{title:A(Y)(`settings.tls.title`),description:A(Y)(`settings.tls.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value,"onUpdate:modelValue":t[1]||=e=>i.value=e,label:A(Y)(`settings.tls.serve`),hint:A(Y)(`settings.tls.serveHint`),class:`sm:col-span-2`},null,8,[`modelValue`,`label`,`hint`]),B(`div`,gG,[B(`span`,_G,O(A(Y)(`settings.listener.liveAddress`)),1),B(`div`,vG,[B(`span`,yG,O(f.value),1),V(hU,{value:f.value,label:A(Y)(`settings.listener.copyLiveAddress`)},null,8,[`value`,`label`])])])]),_:1},8,[`title`,`description`]),V(gz,{class:`mt-3`,title:A(Y)(`settings.tls.certificateTitle`),description:A(Y)(`settings.tls.certificateDescription`)},{default:j(()=>[d.value?.error?(L(),R(`div`,bG,[V(_H,{tone:`danger`,title:A(Y)(`settings.tls.unusableTitle`)},{default:j(()=>[H(O(d.value.error),1)]),_:1},8,[`title`])])):d.value?.certPresent?(L(),R(`div`,xG,[B(`dl`,SG,[B(`div`,CG,[B(`dt`,wG,O(A(Y)(`settings.tls.subject`)),1),B(`dd`,TG,O(d.value.subject??`—`),1)]),B(`div`,EG,[B(`dt`,DG,O(A(Y)(`settings.tls.issuer`)),1),B(`dd`,OG,O(d.value.issuer??`—`),1)]),B(`div`,kG,[B(`dt`,AG,O(A(Y)(`settings.tls.validUntil`)),1),B(`dd`,jG,[H(O(d.value.validTo?d.value.validTo.slice(0,10):`—`)+` `,1),d.value.daysRemaining===null?U(``,!0):(L(),R(`span`,{key:0,class:D(A(Q)(`ml-1.5`,d.value.daysRemaining<14?`text-warn`:`text-faint`))},` (`+O(A(Y)(`settings.tls.days`,{count:d.value.daysRemaining}))+`) `,3))])]),B(`div`,MG,[B(`dt`,NG,O(A(Y)(`settings.tls.privateKey`)),1),B(`dd`,null,[V(_U,{tone:d.value.keyMatches?`ok`:`danger`,dot:``},{default:j(()=>[H(O(d.value.keyMatches?A(Y)(`settings.tls.keyMatches`):A(Y)(`settings.tls.keyMismatch`)),1)]),_:1},8,[`tone`])])]),B(`div`,PG,[B(`dt`,FG,O(A(Y)(`settings.tls.fingerprint`)),1),B(`dd`,IG,[B(`span`,LG,O(d.value.fingerprint??`—`),1),d.value.fingerprint?(L(),z(hU,{key:0,value:d.value.fingerprint,label:A(Y)(`settings.tls.copyFingerprint`)},null,8,[`value`,`label`])):U(``,!0)])])])])):(L(),R(`div`,RG,[V(_H,{tone:`info`,title:A(Y)(`settings.tls.noCertificateTitle`)},{default:j(()=>[H(O(A(Y)(`settings.tls.noCertificateText`)),1)]),_:1},8,[`title`])])),B(`div`,zG,[B(`label`,{class:D(A(bz)),for:`tls-cert-file`},O(A(Y)(`settings.tls.certFile`)),3),B(`input`,{id:`tls-cert-file`,type:`file`,accept:`.pem,.crt,.cer,text/plain`,class:D(A(m)),onChange:t[2]||=e=>h(e,`cert`)},null,34)]),B(`div`,BG,[B(`label`,{class:D(A(bz)),for:`tls-key-file`},O(A(Y)(`settings.tls.keyFile`)),3),B(`input`,{id:`tls-key-file`,type:`file`,accept:`.pem,.key,text/plain`,class:D(A(m)),onChange:t[3]||=e=>h(e,`key`)},null,34)]),V(rB,{modelValue:o.value,"onUpdate:modelValue":t[4]||=e=>o.value=e,label:A(Y)(`settings.tls.pasteCertificate`),rows:4,placeholder:`-----BEGIN CERTIFICATE-----`},null,8,[`modelValue`,`label`]),V(rB,{modelValue:s.value,"onUpdate:modelValue":t[5]||=e=>s.value=e,label:A(Y)(`settings.tls.pasteKey`),rows:4,placeholder:`-----BEGIN PRIVATE KEY-----`},null,8,[`modelValue`,`label`]),B(`div`,VG,[V($,{variant:`primary`,disabled:!p.value,loading:u.value,onClick:g},{default:j(()=>[H(O(A(Y)(`settings.tls.saveCertificate`)),1)]),_:1},8,[`disabled`,`loading`]),d.value?.certPresent?(L(),z(mH,{key:0,label:A(Y)(`settings.tls.removeCertificate`),"confirm-label":A(Y)(`settings.tls.confirmRemove`),"confirm-variant":`danger`,title:A(Y)(`settings.tls.removeTitle`),hint:A(Y)(`settings.tls.removeHint`),disabled:u.value,onConfirm:_},null,8,[`label`,`confirm-label`,`title`,`hint`,`disabled`])):U(``,!0)]),l.value||c.value?(L(),R(`div`,HG,[l.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(_H,{key:1,tone:`ok`},{default:j(()=>[H(O(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1},8,[`title`,`description`])],64))}}),WG=N({__name:`LanguageSelect`,props:{labelled:{type:Boolean,default:!0},wide:{type:Boolean,default:!1}},setup(e){let t=e,n=k(!1),r=W(()=>qP.map(e=>({value:e.code,label:e.name}))),i=k(null),a=W({get:()=>i.value??vF(),set:e=>{e!==vF()&&(i.value=e,n.value=!0,hF(e).finally(()=>{i.value=null,n.value=!1}))}});return(e,i)=>(L(),z(Nz,{modelValue:a.value,"onUpdate:modelValue":i[0]||=e=>a.value=e,label:t.labelled?A(Y)(`language.label`):void 0,options:r.value,wide:t.wide,disabled:n.value,"aria-label":t.labelled?void 0:A(Y)(`language.select`),"data-testid":`language-select`},null,8,[`modelValue`,`label`,`options`,`wide`,`disabled`,`aria-label`]))}}),GG={class:`mb-5`},KG={class:`text-xl font-semibold tracking-tight text-ink`},qG={class:`mt-1 text-xs text-muted`},JG={class:`text-2xs leading-4 text-faint sm:col-span-2`},YG=N({__name:`GlobalSettingsView`,setup(e){let t=W(()=>[{id:`listener`,title:Y(`views.globalSettings.sectionListener`)},{id:`authentication`,title:Y(`views.globalSettings.sectionAuthentication`)},{id:`host`,title:Y(`views.globalSettings.sectionHost`)},{id:`backups`,title:Y(`views.globalSettings.sectionBackups`)},{id:`tls`,title:Y(`views.globalSettings.sectionTls`)},{id:`language`,title:Y(`language.label`)},{id:`interface`,title:Y(`views.globalSettings.sectionInterface`)},{id:`paths`,title:Y(`views.globalSettings.sectionPaths`)}]),n=XN(),r=vN(),i=tn(ER()),a=k(!1),o=k(null),s=k(null),c=k(null),l=k(null),u=W(()=>n.control.value),d=W(()=>n.host.value?.alerts??[]),f=W(()=>l.value?.host??null),p=W(()=>l.value?.backups??null),m=W(()=>n.backups.value),h=W(()=>l.value?.ui??null),g=W(()=>n.version.value),_=W(()=>n.dataRoot.value),v=W(()=>n.projectDir.value),y=W(()=>_.value===null?null:`${_.value}/settings.json`),b=W(()=>{let e={},t=u.value;if(t!==null){let n=RR(t,i);Object.keys(n).length>0&&(e.control=n)}let n=f.value;if(n!==null){let t=IR(n,i.host);Object.keys(t).length>0&&(e.host=t)}let r=p.value;if(r!==null){let t=LR(r,i.backups);Object.keys(t).length>0&&(e.backups=t)}return e}),x=W(()=>bR(b.value)),S=W(()=>{let e=u.value,t=f.value,n=p.value;return{control:e===null?{}:{...jR(e),auth:AR(e.auth)},host:t??{},backups:n===null?{}:{enabled:n.enabled,keep:n.keep,includePaths:n.includePaths}}}),C=W(()=>yR(b.value,S.value)),w=W(()=>u.value!==null&&JR(u.value,i)),T=W(()=>u.value!==null&&YR(u.value,i)),ee=W(()=>u.value!==null&&XR(u.value,i)),te=W(()=>f.value!==null&&Object.keys(IR(f.value,i.host)).length>0),ne=W(()=>p.value!==null&&Object.keys(LR(p.value,i.backups)).length>0),re={};function ie(){let e=(e,t)=>{qR(re[e],HR(i,e))||(t(),re[e]=HR(i,e))},t=u.value;t!==null&&(WR(i,re.control,`listener`)||(Object.assign(i.control,jR(t)),GR(i,re,`listener`)),WR(i,re.control,`auth`)||(Object.assign(i.auth,AR(t.auth)),GR(i,re,`auth`)),WR(i,re.control,`tls`)||(i.control.tlsEnabled=t.tls.enabled,GR(i,re,`tls`)));let n=f.value;n!==null&&e(`host`,()=>Object.assign(i.host,PR(n)));let r=p.value;r!==null&&e(`backups`,()=>Object.assign(i.backups,FR(r)))}function ae(){for(let e of Object.keys(re))delete re[e]}function oe(e){re[e]=HR(i,e)}M([u,l],()=>{ie()},{immediate:!0});async function se(){c.value=null;try{l.value=await Qj()}catch(e){c.value=Lj(e)}}na(()=>{se()});async function ce(){let e=b.value;if(!(Object.keys(e).length===0||a.value)){a.value=!0,o.value=null,s.value=null;try{let t=await n.saveGlobalSettings(e);if(!t){o.value=n.lastError.value??Y(`views.globalSettings.saveFailed`);return}s.value=Y(`views.globalSettings.saved`),r.success(Y(`views.globalSettings.savedToast`)),await se(),ae(),ie();let i=await QR(t);i===null?t.rebinding&&(s.value=Y(`views.globalSettings.savedRebinding`)):(s.value=null,o.value=i)}finally{a.value=!1}}}function le(){o.value=null,s.value=null,ae(),ie()}function E(){f.value!==null&&Object.assign(i.host,PR(f.value)),oe(`host`)}function ue(){p.value!==null&&Object.assign(i.backups,FR(p.value)),oe(`backups`)}function de(){if(u.value!==null){let e=jR(u.value);i.control.label=e.label,i.control.port=e.port,i.control.host=e.host,i.control.openBrowser=e.openBrowser}GR(i,re,`listener`)}function fe(){u.value!==null&&Object.assign(i.auth,AR(u.value.auth)),GR(i,re,`auth`)}function pe(){u.value!==null&&(i.control.tlsEnabled=u.value.tls.enabled),GR(i,re,`tls`)}return(e,r)=>(L(),z(hG,{sections:t.value,"nav-label":A(Y)(`views.globalSettings.navLabel`),"changes-description":A(Y)(`views.globalSettings.changesDescription`),"changed-count":x.value,changes:C.value,"save-error":o.value,"save-message":s.value,saving:a.value,onSave:ce,onDiscard:le},{header:j(()=>[B(`header`,GG,[B(`h1`,KG,O(A(Y)(`views.globalSettings.title`)),1),B(`p`,qG,O(A(Y)(`views.globalSettings.description`)),1)]),c.value?(L(),z(_H,{key:0,tone:`warn`,title:A(Y)(`views.globalSettings.loadErrorTitle`),class:`mb-4`},{default:j(()=>[H(O(c.value),1)]),_:1},8,[`title`])):U(``,!0)]),default:j(()=>[V(KW,{id:`listener`,title:A(Y)(`views.globalSettings.sectionListener`),description:A(Y)(`views.globalSettings.listenerDescription`)},{default:j(()=>[V(TW,{control:i.control,"onUpdate:control":r[0]||=e=>i.control=e,view:u.value,dirty:w.value,onReset:de},null,8,[`control`,`view`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`authentication`,title:A(Y)(`views.globalSettings.sectionAuthentication`),description:A(Y)(`views.globalSettings.authenticationDescription`)},{default:j(()=>[V(bH,{auth:i.auth,"onUpdate:auth":r[1]||=e=>i.auth=e,view:u.value,dirty:ee.value,onReset:fe},null,8,[`auth`,`view`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`host`,title:A(Y)(`views.globalSettings.sectionHost`),description:A(Y)(`views.globalSettings.hostDescription`)},{default:j(()=>[V(ZU,{host:i.host,"onUpdate:host":r[2]||=e=>i.host=e,config:f.value,alerts:d.value,dirty:te.value,onReset:E},null,8,[`host`,`config`,`alerts`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`backups`,title:A(Y)(`views.globalSettings.sectionBackups`),description:A(Y)(`views.globalSettings.backupsDescription`)},{default:j(()=>[V(qU,{form:i.backups,"onUpdate:form":r[3]||=e=>i.backups=e,state:m.value,policy:p.value,"config-path":y.value,workspaces:A(n).workspaces.value,dirty:ne.value,onReset:ue},null,8,[`form`,`state`,`policy`,`config-path`,`workspaces`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`tls`,title:A(Y)(`views.globalSettings.sectionTls`),description:A(Y)(`views.globalSettings.tlsDescription`)},{default:j(()=>[V(UG,{"tls-enabled":i.control.tlsEnabled,"onUpdate:tlsEnabled":r[4]||=e=>i.control.tlsEnabled=e,view:u.value,dirty:T.value,onReset:pe},null,8,[`tls-enabled`,`view`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`language`,title:A(Y)(`language.label`),description:A(Y)(`views.globalSettings.languageDescription`)},{default:j(()=>[V(WG,{wide:!0}),B(`p`,JG,O(A(Y)(`views.globalSettings.languageNote`)),1)]),_:1},8,[`title`,`description`]),V(KW,{id:`interface`,title:A(Y)(`views.globalSettings.sectionInterface`),description:A(Y)(`views.globalSettings.interfaceDescription`)},{default:j(()=>[V(pW,{label:i.control.label,"onUpdate:label":r[5]||=e=>i.control.label=e,ui:h.value,"panel-version":g.value,"label-dirty":w.value,onChanged:se,onResetLabel:de},null,8,[`label`,`ui`,`panel-version`,`label-dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`paths`,title:A(Y)(`views.globalSettings.sectionPaths`),description:A(Y)(`views.globalSettings.pathsDescription`)},{default:j(()=>[V(VW,{"data-root":_.value,"project-dir":v.value,"panel-url":u.value?.url??null,workspaces:A(n).workspaces.value},null,8,[`data-root`,`project-dir`,`panel-url`,`workspaces`])]),_:1},8,[`title`,`description`])]),_:1},8,[`sections`,`nav-label`,`changes-description`,`changed-count`,`changes`,`save-error`,`save-message`,`saving`]))}}),XG={class:`relative flex min-h-dvh items-center justify-center overflow-hidden bg-page px-4 py-10`},ZG={class:`hh-enter relative w-full max-w-md`},QG={class:`mb-6 flex items-center gap-3`},$G={class:`text-lg font-semibold tracking-tight text-ink`},eK={class:`text-xs text-muted`},tK={class:`rounded-panel border border-line bg-panel/95 p-5 shadow-float backdrop-blur-sm`},nK={class:`flex items-start justify-between gap-3`},rK={class:`min-w-0`},iK={class:`text-base font-semibold text-ink`},aK={class:`mt-1 text-xs leading-relaxed text-muted`},oK={class:`flex shrink-0 items-center gap-2`},sK={class:`w-36`},cK={class:`flex flex-col gap-1.5`},lK={class:`relative`},uK=[`type`],dK=[`aria-label`],fK={key:0,class:`rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2 text-xs text-danger`},pK={key:1,class:`mt-5`},mK={class:`mt-4 space-y-2`},hK={key:0,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},gK={class:`text-2xs leading-4 text-warn`},_K={class:`mx-1 rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},vK={key:1,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},yK={class:`text-2xs leading-4 text-warn`},bK={key:2,class:`flex items-start gap-2 rounded-control border border-line-soft bg-panel-2 px-2.5 py-2`},xK={class:`text-2xs leading-4 text-muted`},SK={class:`mt-4 flex items-center justify-center gap-2 text-2xs text-faint`},CK={class:`font-mono`},wK=N({__name:`LoginView`,setup(e){let t=zg(),n=Rg(),r=XN(),{session:i,error:a,login:o,refresh:s}=pN(),c=k(``),l=k(!1),u=k(!1),d=W(()=>i.value?.passwordSet===!1),f=W(()=>i.value!==null&&!i.value.authRequired),p=W(()=>i.value?.usingDefaultPassword===!0&&i.value.defaultPassword!==null),m=W(()=>r.control.value?.auth.exposed===!0),h=W(()=>r.control.value?.url??`—`),g=W(()=>d.value?Y(`login.firstRunTitle`):f.value?Y(`login.authOffTitle`):Y(`login.title`)),_=W(()=>d.value?Y(`login.firstRunSubtitle`):f.value?Y(`login.authOffSubtitle`):Y(`login.subtitle`));async function v(){l.value=!0;try{if(await o(c.value)){c.value=``;let e=typeof t.query.next==`string`?t.query.next:`/`;await n.push(e)}}finally{l.value=!1}}async function y(){await s(),await n.push(`/`)}return na(async()=>{i.value===null&&await s()}),(e,t)=>(L(),R(`div`,XG,[t[5]||=B(`div`,{class:`bg-instrument pointer-events-none absolute inset-0 opacity-60`},null,-1),t[6]||=B(`div`,{class:`pointer-events-none absolute inset-0 bg-[radial-gradient(ellipse_at_center,transparent_15%,var(--page)_78%)]`},null,-1),B(`div`,ZG,[B(`div`,QG,[t[2]||=Os(`<span class="grid size-11 shrink-0 place-items-center rounded-panel border border-accent/30 bg-accent-soft text-accent"><svg viewBox="0 0 24 24" class="size-6" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><path d="M4 15.5a8 8 0 1 1 16 0"></path><path d="M12 15.5 15.6 10.2"></path><circle cx="12" cy="15.5" r="1.3" fill="currentColor" stroke="none"></circle></svg></span>`,1),B(`div`,null,[B(`p`,$G,O(A(Y)(`app.name`)),1),B(`p`,eK,O(A(Y)(`app.tagline`)),1)])]),B(`section`,tK,[B(`div`,nK,[B(`div`,rK,[B(`h1`,iK,O(g.value),1),B(`p`,aK,O(_.value),1)]),B(`div`,oK,[m.value?(L(),z(_U,{key:0,tone:`warn`,dot:``},{default:j(()=>[H(O(A(Y)(`login.exposed`)),1)]),_:1})):U(``,!0),B(`div`,sK,[V(WG,{labelled:!1})])])]),f.value?(L(),R(`div`,pK,[V($,{variant:`primary`,size:`md`,block:``,onClick:y},{default:j(()=>[H(O(A(Y)(`login.openDashboard`)),1)]),_:1})])):(L(),R(`form`,{key:0,class:`mt-5 space-y-3`,onSubmit:lu(v,[`prevent`])},[B(`div`,cK,[B(`label`,{for:`hh-password`,class:D(A(bz))},O(A(Y)(`login.password`)),3),B(`div`,lK,[Sr(B(`input`,{id:`hh-password`,"onUpdate:modelValue":t[0]||=e=>c.value=e,type:u.value?`text`:`password`,autocomplete:`current-password`,autofocus:``,required:``,class:D(A(Q)(A(Sz),`pr-9`))},null,10,uK),[[ru,c.value]]),B(`button`,{type:`button`,class:`absolute right-1 top-1/2 grid size-7 -translate-y-1/2 place-items-center rounded-control text-faint transition-colors duration-150 hover:text-ink`,"aria-label":u.value?A(Y)(`login.hidePassword`):A(Y)(`login.showPassword`),onClick:t[1]||=e=>u.value=!u.value},[u.value?(L(),z(A(Qv),{key:0,class:`size-3.5`})):(L(),z(A($v),{key:1,class:`size-3.5`}))],8,dK)])]),A(a)?(L(),R(`p`,fK,O(A(a)),1)):U(``,!0),V($,{type:`submit`,variant:`primary`,size:`md`,block:``,loading:l.value},{default:j(()=>[V(A(cy),{class:`size-3.5`}),H(` `+O(A(Y)(`login.signIn`)),1)]),_:1},8,[`loading`])],32)),B(`div`,mK,[p.value?(L(),R(`div`,hK,[V(A(Dy),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),B(`p`,gK,[V(iB,{k:`login.defaultPasswordWarning`},{password:j(()=>[B(`code`,_K,O(A(i)?.defaultPassword),1)]),_:1})])])):d.value?(L(),R(`div`,vK,[V(A(ky),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),B(`p`,yK,[V(iB,{k:`login.noPasswordWarning`},{command:j(()=>[...t[3]||=[B(`code`,{class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},`pnpm run auth:set-password`,-1)]]),_:1})])])):(L(),R(`div`,bK,[V(A(Oy),{class:`mt-0.5 size-3.5 shrink-0 text-ok`}),B(`p`,xK,O(A(Y)(`login.sessionNote`,{days:Math.round((A(i)?.sessionTtlMs??0)/864e5)})),1)]))])]),B(`p`,SK,[B(`span`,CK,O(h.value),1),t[4]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,null,O(A(Y)(`login.servedFromThisMachine`)),1)])])]))}}),TK=[`#3f4a5c`,`#f07178`,`#7fd88f`,`#e6b673`,`#82aaff`,`#c792ea`,`#7fdbca`,`#c7d2e3`,`#5a6779`,`#ff8b92`,`#9ae6a8`,`#f2c98a`,`#9dbaff`,`#d7aef0`,`#9ce9dc`,`#eef3fb`],EK=[`#4b5563`,`#c0392b`,`#1c7c3f`,`#9a6700`,`#2f5fe0`,`#7c3aed`,`#0b6f89`,`#334155`,`#6b7280`,`#d64535`,`#22854a`,`#a8620d`,`#3f6bff`,`#8b5cf6`,`#0e7d9c`,`#0f1722`],DK=/\u001B\[([0-9;]*)m/g,OK=/\u001B(?:\[[0-9;?]*[A-HJKSTfhilmnprsu]|\][^\u0007\u001B]*(?:\u0007|\u001B\\)?|[()][0-9A-Z])/g;function kK(e){return Math.max(0,Math.min(255,e))}function AK(e){return e===0?0:55+e*40}function jK(e,t){let n=t?TK:EK;if(e<16)return n[e]??n[7];if(e<232){let t=e-16;return`rgb(${AK(Math.floor(t/36))} ${AK(Math.floor(t%36/6))} ${AK(t%6)})`}let r=8+(e-232)*10;return`rgb(${r} ${r} ${r})`}function MK(){return{fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}}function NK(e,t,n){let r=t.length===0?[0]:t.split(`;`).map(e=>e.length===0?0:Number(e));for(let t=0;t<r.length;t+=1){let i=r[t];if(i===0)Object.assign(e,MK());else if(i===1)e.bold=!0;else if(i===2)e.dim=!0;else if(i===3)e.italic=!0;else if(i===4)e.underline=!0;else if(i===22)e.bold=!1,e.dim=!1;else if(i===23)e.italic=!1;else if(i===24)e.underline=!1;else if(i===39)e.fg=null;else if(i===49)e.bg=null;else if(i>=30&&i<=37)e.fg=(n?TK:EK)[i-30]??null;else if(i>=90&&i<=97)e.fg=(n?TK:EK)[i-90+8]??null;else if(i>=40&&i<=47)e.bg=(n?TK:EK)[i-40]??null;else if(i>=100&&i<=107)e.bg=(n?TK:EK)[i-100+8]??null;else if(i===38||i===48){let a=i===38?`fg`:`bg`,o=r[t+1];o===5&&r[t+2]!==void 0?(e[a]=jK(kK(r[t+2]),n),t+=2):o===2&&(e[a]=`rgb(${kK(r[t+2]??0)} ${kK(r[t+3]??0)} ${kK(r[t+4]??0)})`,t+=4)}}}function PK(e,t,n){if(t.length===0)return;let r=e[e.length-1];if(r&&r.fg===n.fg&&r.bg===n.bg&&r.bold===n.bold&&r.dim===n.dim&&r.italic===n.italic&&r.underline===n.underline){r.text+=t;return}e.push({text:t,...n})}function FK(e){return e.includes(`\x1B`)}function IK(e,t=!0){if(!FK(e))return[{text:e,fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}];let n=[],r=MK(),i=0;DK.lastIndex=0;let a=DK.exec(e);for(;a!==null;)PK(n,e.slice(i,a.index).replace(OK,``),r),NK(r,a[1]??``,t),i=a.index+a[0].length,a=DK.exec(e);return PK(n,e.slice(i).replace(OK,``),r),n}var LK={class:`flex h-5 w-max min-w-full items-center gap-2 whitespace-pre px-2 font-mono text-xs leading-5`},RK={key:0,class:`shrink-0 select-none text-faint`},zK={class:`min-w-0`},BK=N({__name:`LogRow`,props:{line:{},query:{},dark:{type:Boolean},showTime:{type:Boolean}},setup(e){let t=e,n=W(()=>IK(t.line.text,t.dark)),r=W(()=>{let e=t.query.trim().toLowerCase(),r=[];for(let t of n.value){if(e.length===0){r.push({text:t.text,hit:!1,span:t});continue}let n=t.text.toLowerCase(),i=0,a=n.indexOf(e);for(;a!==-1;)a>i&&r.push({text:t.text.slice(i,a),hit:!1,span:t}),r.push({text:t.text.slice(a,a+e.length),hit:!0,span:t}),i=a+e.length,a=n.indexOf(e,i);i<t.text.length&&r.push({text:t.text.slice(i),hit:!1,span:t})}return r}),i={stdout:`bg-transparent`,stderr:`bg-danger`,system:`bg-info`};function a(e){let t={};return e.span.fg&&(t.color=e.span.fg),e.span.bg&&(t.backgroundColor=e.span.bg),e.span.bold&&(t.fontWeight=`600`),e.span.dim&&(t.opacity=`0.62`),e.span.italic&&(t.fontStyle=`italic`),e.span.underline&&(t.textDecoration=`underline`),e.hit&&(t.backgroundColor=`var(--warn)`,t.color=`var(--accent-ink)`,t.borderRadius=`2px`),t}return(e,n)=>(L(),R(`div`,LK,[t.showTime?(L(),R(`span`,RK,O(A(PL)(t.line.ts)),1)):U(``,!0),B(`span`,{class:D([`h-3.5 w-0.5 shrink-0 rounded-full`,[i[t.line.stream]]]),"aria-hidden":`true`},null,2),B(`span`,zK,[(L(!0),R(I,null,P(r.value,(e,t)=>(L(),R(`span`,{key:t,style:_e(a(e))},O(e.text),5))),128))])]))}}),VK={class:`flex min-h-0 flex-col overflow-hidden rounded-panel border border-line bg-panel`},HK={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel-2/60 px-2.5 py-2`},UK={class:`relative min-w-40 flex-1 sm:max-w-72`},WK=[`placeholder`,`aria-label`],GK={class:`absolute right-1 top-1/2 flex -translate-y-1/2 items-center gap-0.5`},KK={key:0,class:`px-1 font-mono text-2xs tabular-nums text-faint`},qK=[`aria-label`],JK=[`aria-label`],YK=[`aria-label`],XK={class:`ml-auto flex items-center gap-1.5`},ZK=[`href`,`download`],QK={class:`relative min-h-0 flex-1`},$K=[`aria-label`],eq={key:0,class:`px-3 py-6 text-center text-xs text-faint`},tq={class:`flex items-center gap-3 border-t border-line bg-panel-2/60 px-2.5 py-1.5 text-2xs text-faint`},nq={class:`flex items-center gap-1.5`},rq={class:`font-mono tabular-nums`},iq={key:0,class:`font-mono tabular-nums`},aq={class:`ml-auto hidden font-mono tabular-nums sm:inline`},oq=20,sq=12,cq=N({__name:`LogViewer`,props:{lines:{},version:{default:0},live:{type:Boolean,default:!1},emptyHint:{default:void 0},clearable:{type:Boolean,default:!1},downloadUrl:{default:void 0},downloadName:{default:void 0},minHeight:{default:`16rem`}},emits:[`clear`],setup(e,{emit:t}){let n=e,r=t,i=aP(),a=k(null),o=k(0),s=k(320),c=k(!0),l=k(`all`),u=k(``),d=k(!0),f=k(0),p=W(()=>{n.version;let e=u.value.trim().toLowerCase(),t=l.value;return e.length===0&&t===`all`?n.lines:n.lines.filter(n=>!(t!==`all`&&n.stream!==t||e.length>0&&!n.text.toLowerCase().includes(e)))}),m=W(()=>p.value.length),h=W(()=>{let e=u.value.trim().toLowerCase();if(e.length===0)return[];let t=[],n=p.value;for(let r=0;r<n.length;r+=1)n[r].text.toLowerCase().includes(e)&&t.push(r);return t}),g=W(()=>Math.max(0,Math.floor(o.value/oq)-sq)),_=W(()=>Math.min(m.value,Math.ceil((o.value+s.value)/oq)+sq)),v=W(()=>p.value.slice(g.value,_.value)),y=W(()=>h.value[f.value]??-1);function b(){let e=a.value;if(!e)return;o.value=e.scrollTop;let t=e.scrollHeight-e.scrollTop-e.clientHeight;c.value=t<12}function x(){let e=a.value;e&&(e.scrollTop=e.scrollHeight,o.value=e.scrollTop,c.value=!0)}function S(e){let t=a.value;t&&(t.scrollTop=Math.max(0,e*oq-t.clientHeight/2),o.value=t.scrollTop,c.value=!1)}function C(e){let t=h.value.length;t!==0&&(f.value=(f.value+e+t)%t,S(h.value[f.value]))}M(()=>[n.version,m.value],()=>{c.value&&(f.value=0,requestAnimationFrame(x))}),M(h,()=>{f.value=0,h.value.length>0&&u.value.trim().length>0&&requestAnimationFrame(()=>S(h.value[0]))}),M(l,()=>{c.value=!0,requestAnimationFrame(x)});let w=null;na(()=>{let e=a.value;e&&(s.value=e.clientHeight,w=new ResizeObserver(()=>{a.value&&(s.value=a.value.clientHeight)}),w.observe(e),x())}),Be(()=>{w?.disconnect(),w=null});let T=W(()=>[{value:`all`,label:Y(`logs.streamAll`)},{value:`stdout`,label:Y(`logs.streamOut`)},{value:`stderr`,label:Y(`logs.streamErr`)},{value:`system`,label:Y(`logs.streamSys`)}]);return(e,t)=>(L(),R(`div`,VK,[B(`header`,HK,[V(gW,{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,options:T.value},null,8,[`modelValue`,`options`]),B(`div`,UK,[V(A(wy),{class:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),Sr(B(`input`,{"onUpdate:modelValue":t[1]||=e=>u.value=e,type:`search`,placeholder:A(Y)(`logs.searchPlaceholder`),class:D([`h-7 py-0 pl-7 text-xs`,[A(Sz)]]),"aria-label":A(Y)(`logs.searchLabel`),onKeydown:t[2]||=du(lu(e=>C(e.shiftKey?-1:1),[`prevent`]),[`enter`])},null,42,WK),[[Jl,u.value]]),B(`div`,GK,[u.value.trim().length>0?(L(),R(`span`,KK,O(h.value.length===0?`0`:`${f.value+1}/${h.value.length}`),1)):U(``,!0),u.value.length>0?(L(),R(`button`,{key:1,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":A(Y)(`logs.clearSearch`),onClick:t[3]||=e=>u.value=``},[V(A(zy),{class:`size-3`})],8,qK)):U(``,!0),h.value.length>0?(L(),R(`button`,{key:2,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":A(Y)(`logs.prevMatch`),onClick:t[4]||=e=>C(-1)},[V(A(zv),{class:`size-3`})],8,JK)):U(``,!0),h.value.length>0?(L(),R(`button`,{key:3,type:`button`,class:`grid size-5 place-items-center rounded text-faint hover:text-ink`,"aria-label":A(Y)(`logs.nextMatch`),onClick:t[5]||=e=>C(1)},[V(A(Iv),{class:`size-3`})],8,YK)):U(``,!0)])]),B(`div`,XK,[V(BB,{label:d.value?A(Y)(`logs.hideTimestamps`):A(Y)(`logs.showTimestamps`)},{default:j(()=>[V($,{size:`xs`,variant:`ghost`,onClick:t[6]||=e=>d.value=!d.value},{default:j(()=>[V(A(Wv),{class:D(A(Q)(`size-3`,d.value?`fill-accent text-accent`:`text-faint`))},null,8,[`class`]),H(` `+O(A(Y)(`logs.timestampsShort`)),1)]),_:1})]),_:1},8,[`label`]),V($,{size:`xs`,variant:c.value?`secondary`:`primary`,onClick:t[7]||=e=>c.value?c.value=!1:x()},{default:j(()=>[(L(),z(ha(c.value?A(hy):A(_y)),{class:`size-3`})),H(` `+O(c.value?A(Y)(`logs.pause`):A(Y)(`logs.follow`)),1)]),_:1},8,[`variant`]),n.clearable?(L(),z(BB,{key:0,label:A(Y)(`logs.clearHint`)},{default:j(()=>[V($,{size:`icon-sm`,variant:`ghost`,"aria-label":A(Y)(`logs.clearLabel`),onClick:t[8]||=e=>r(`clear`)},{default:j(()=>[V(A(Iy),{class:`size-3.5`})]),_:1},8,[`aria-label`])]),_:1},8,[`label`])):U(``,!0),n.downloadUrl?(L(),z(BB,{key:1,label:A(Y)(`logs.downloadHint`)},{default:j(()=>[B(`a`,{href:n.downloadUrl,download:n.downloadName},[V($,{size:`icon-sm`,variant:`ghost`,"aria-label":A(Y)(`logs.downloadLabel`)},{default:j(()=>[V(A(Nv),{class:`size-3.5`})]),_:1},8,[`aria-label`])],8,ZK)]),_:1},8,[`label`])):U(``,!0)])]),B(`div`,QK,[B(`div`,{ref_key:`scroller`,ref:a,class:`h-full overflow-auto overscroll-contain bg-page/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-accent/50`,style:_e({minHeight:n.minHeight}),tabindex:`0`,role:`log`,"aria-label":A(Y)(`logs.outputLabel`),onScrollPassive:b},[m.value===0?(L(),R(`p`,eq,O(n.lines.length===0?n.emptyHint??A(Y)(`logs.emptyHint`):A(Y)(`logs.noMatches`)),1)):(L(),R(`div`,{key:1,class:`relative w-full`,style:_e({height:`${m.value*oq}px`})},[(L(!0),R(I,null,P(v.value,(e,t)=>(L(),R(`div`,{key:g.value+t,class:D([`absolute left-0 top-0`,g.value+t===y.value&&`bg-warn/10`]),style:_e({transform:`translateY(${(g.value+t)*oq}px)`})},[V(BK,{line:e,query:u.value,dark:A(i).isDark.value,"show-time":d.value},null,8,[`line`,`query`,`dark`,`show-time`])],6))),128))],4))],44,$K),V(Dc,{"enter-active-class":`transition duration-150`,"leave-active-class":`transition duration-100`,"enter-from-class":`opacity-0 translate-y-1`,"leave-to-class":`opacity-0 translate-y-1`},{default:j(()=>[!c.value&&m.value>0?(L(),R(`button`,{key:0,type:`button`,class:`absolute bottom-3 right-4 flex items-center gap-1.5 rounded-full border border-line bg-raise px-2.5 py-1 text-2xs text-muted shadow-float transition-colors duration-150 hover:text-ink`,onClick:x},[V(A(Nv),{class:`size-3`}),H(` `+O(A(Y)(`logs.jumpToLatest`)),1)])):U(``,!0)]),_:1})]),B(`footer`,tq,[B(`span`,nq,[B(`span`,{class:D(A(Q)(`size-1.5 rounded-full`,n.live?c.value?`bg-ok`:`bg-warn`:`bg-faint`))},null,2),H(` `+O(n.live?c.value?A(Y)(`logs.streaming`):A(Y)(`logs.paused`):A(Y)(`logs.snapshot`)),1)]),B(`span`,rq,O(m.value===n.lines.length?A(_F)(`logs.lines`,m.value):A(Y)(`logs.linesOf`,{count:m.value,total:n.lines.length})),1),u.value.trim().length>0?(L(),R(`span`,iq,O(A(Y)(`logs.matches`,{count:h.value.length})),1)):U(``,!0),B(`span`,aq,O(A(Y)(`logs.rowHeight`,{height:oq})),1)])]))}}),lq={class:`flex h-full min-h-0`},uq={class:`hidden w-64 shrink-0 flex-col border-r border-line bg-panel/40 md:flex`},dq={class:`border-b border-line px-3 py-2.5`},fq={class:`text-xs font-semibold text-ink`},pq={class:`mt-0.5 text-2xs text-faint`},mq={class:`min-h-0 flex-1 overflow-y-auto p-1.5`},hq={key:0,class:`space-y-1.5 p-1.5`},gq=[`onClick`],_q={class:`min-w-0 flex-1`},vq={key:0,class:`block truncate font-mono text-2xs text-faint`},yq={key:1,class:`block truncate font-mono text-2xs text-faint`},bq={class:`border-t border-line p-2.5`},xq={class:`text-2xs leading-4 text-faint`},Sq={class:`flex min-w-0 flex-1 flex-col`},Cq={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel/40 px-3 py-2.5`},wq={class:`min-w-0`},Tq={class:`truncate text-sm font-semibold text-ink`},Eq={key:0,class:`ml-1.5 font-mono text-2xs font-normal text-faint`},Dq=[`aria-label`,`placeholder`],Oq={key:0,class:`flex flex-wrap items-center gap-1.5 border-b border-line-soft bg-panel-2/40 px-3 py-2`},kq=[`href`,`download`],Aq={class:`text-faint`},jq={key:1,class:`text-2xs text-faint`},Mq={key:2,class:`ml-auto font-mono text-2xs text-faint`},Nq={key:3,class:`font-mono text-2xs text-faint`},Pq={key:1,class:`flex items-center gap-1.5 border-b border-danger/25 bg-danger-soft px-3 py-2 text-2xs text-danger`},Fq={class:`min-h-0 flex-1 p-3`},Iq={class:`text-xs text-muted`},Lq=N({__name:`LogsView`,setup(e){let t=zg(),n=Rg(),r=dP(),i=k([]),a=k(null),o=k(`disk`),s=k(`2000`),c=k(``),l=k(``),u=k(null),d=k(!1),f=k(null),p=k([]),m=k(0),h=k(!1),g=k(!0),_=W(()=>i.value.find(e=>e.serverId===a.value)??null),v=YN(r.activeId,()=>o.value===`live`?a.value:null),y=v.version,b=W(()=>(y.value,v.lines())),x=W(()=>o.value===`live`?b.value:p.value),S=W(()=>o.value===`live`?y.value:m.value),C=[200,500,2e3,5e3].map(e=>({value:String(e),label:_F(`logs.lines`,e,{count:e})})),w=[{value:``,label:Y(`views.logs.allStreams`)},{value:`stdout`,label:`stdout`},{value:`stderr`,label:`stderr`},{value:`system`,label:`system`}],T=W(()=>i.value.reduce((e,t)=>e+t.sizeBytes,0)),ee=W(()=>i.value.filter(e=>e.files.length>0).length);async function te(){g.value=!0;try{i.value=await zM(r.activeId.value);let e=typeof t.query.server==`string`?t.query.server:null,n=e&&i.value.some(t=>t.serverId===e)?e:a.value&&i.value.some(e=>e.serverId===a.value)?a.value:i.value[0]?.serverId??null;a.value=n}catch(e){f.value=Lj(e)}finally{g.value=!1}}let ne=0;async function re(){let e=a.value;if(e===null||o.value===`live`)return;let t=++ne;d.value=!0,f.value=null;try{let n=await BM(r.activeId.value,e,{tail:Number(s.value),...c.value.length>0?{stream:c.value}:{},...l.value.trim().length>0?{search:l.value.trim()}:{}});if(t!==ne)return;p.value=n.lines,u.value=n.searched??null,m.value+=1}catch(e){if(t!==ne)return;f.value=Lj(e)}finally{t===ne&&(d.value=!1)}}async function ie(){let e=a.value;if(e!==null){h.value=!1;try{await VM(r.activeId.value,e),p.value=[],m.value+=1,await te()}catch(e){f.value=Lj(e)}}}function ae(e){a.value=e,o.value===`live`&&(p.value=[]),n.replace({query:{...t.query,server:e}})}M([a,s,c,o],()=>{o.value===`disk`?re():u.value=null},{immediate:!1});let oe=null;return M(l,()=>{oe!==null&&clearTimeout(oe),oe=setTimeout(()=>{oe=null,o.value===`disk`&&re()},300)}),Be(()=>{oe!==null&&clearTimeout(oe)}),M(()=>r.activeId.value,()=>{a.value=null,p.value=[],o.value=`disk`,te().then(()=>re())}),na(async()=>{await te(),o.value===`disk`&&await re()}),(e,t)=>(L(),R(`div`,lq,[B(`aside`,uq,[B(`div`,dq,[B(`p`,fq,O(A(Y)(`views.logs.persistedTitle`)),1),B(`p`,pq,O(A(Y)(`views.logs.persistedSummary`,{workspace:A(r).selected.value?.label??A(Y)(`nav.workspace`),persisted:ee.value,total:i.value.length,size:A(IL)(T.value)})),1)]),B(`div`,mq,[g.value?(L(),R(`div`,hq,[(L(),R(I,null,P(5,e=>V(OV,{key:e,class:`h-10 w-full`,rounded:`rounded-control`})),64))])):(L(!0),R(I,{key:1},P(i.value,e=>(L(),R(`button`,{key:e.serverId,type:`button`,class:D(A(Q)(`flex w-full items-center gap-2.5 rounded-control px-2 py-2 text-left transition-colors duration-150`,e.serverId===a.value?`bg-accent-soft`:`hover:bg-hover`)),onClick:t=>ae(e.serverId)},[B(`span`,{class:D(A(Q)(`size-1.5 shrink-0 rounded-full`,A(ZI)[A(qI)[e.status].tone]))},null,2),B(`span`,_q,[B(`span`,{class:D(A(Q)(`block truncate text-xs`,e.serverId===a.value?`font-medium text-accent`:`text-ink`))},O(e.label),3),e.files.length>0?(L(),R(`span`,vq,O(A(_F)(`views.logs.filesOnDisk`,e.files.length))+` · `+O(A(IL)(e.sizeBytes)),1)):(L(),R(`span`,yq,O(A(Y)(`views.logs.nothingPersisted`)),1))])],10,gq))),128)),!g.value&&i.value.length===0?(L(),z(gL,{key:2,compact:``,title:A(Y)(`views.logs.noServersTitle`),description:A(Y)(`views.logs.noServersDescription`)},null,8,[`title`,`description`])):U(``,!0)]),B(`div`,bq,[B(`p`,xq,O(A(Y)(`views.logs.retentionNote`)),1)])]),B(`div`,Sq,[B(`header`,Cq,[B(`div`,wq,[B(`h1`,Tq,[H(O(_.value?.label??A(Y)(`nav.logs`))+` `,1),_.value?(L(),R(`span`,Eq,O(_.value.serverId),1)):U(``,!0)])]),V(gW,{modelValue:o.value,"onUpdate:modelValue":t[0]||=e=>o.value=e,class:`ml-auto`,options:[{value:`disk`,label:A(Y)(`views.logs.modePersisted`)},{value:`live`,label:A(Y)(`views.logs.modeLive`)}]},null,8,[`modelValue`,`options`]),o.value===`disk`?(L(),z(Nz,{key:0,modelValue:s.value,"onUpdate:modelValue":t[1]||=e=>s.value=e,options:A(C),class:`w-32`,"aria-label":A(Y)(`views.logs.tailAria`)},null,8,[`modelValue`,`options`,`aria-label`])):U(``,!0),o.value===`disk`?(L(),z(Nz,{key:1,modelValue:c.value,"onUpdate:modelValue":t[2]||=e=>c.value=e,options:w,class:`w-32`,"aria-label":A(Y)(`views.logs.streamAria`)},null,8,[`modelValue`,`aria-label`])):U(``,!0),o.value===`disk`?Sr((L(),R(`input`,{key:2,"onUpdate:modelValue":t[3]||=e=>l.value=e,type:`search`,class:`w-44 min-w-0 rounded-control border border-line bg-panel px-2.5 py-1.5 text-xs text-ink outline-none transition-colors placeholder:text-faint focus:border-accent/50`,"aria-label":A(Y)(`views.logs.searchAria`),placeholder:A(Y)(`views.logs.searchPlaceholder`)},null,8,Dq)),[[Jl,l.value]]):U(``,!0),o.value===`disk`?(L(),z($,{key:3,size:`sm`,loading:d.value,onClick:re},{default:j(()=>[V(A(by),{class:`size-3.5`}),H(O(A(Y)(`views.logs.reload`)),1)]),_:1},8,[`loading`])):U(``,!0),o.value===`disk`?(L(),z($,{key:4,size:`sm`,variant:`ghost`,disabled:!_.value||_.value.files.length===0,onClick:t[4]||=e=>h.value=!0},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(O(A(Y)(`views.logs.clearFile`)),1)]),_:1},8,[`disabled`])):U(``,!0)]),_.value?(L(),R(`div`,Oq,[V(A(ey),{class:`size-3.5 shrink-0 text-faint`}),_.value.files.length>0?(L(!0),R(I,{key:0},P(_.value.files,e=>(L(),R(`a`,{key:e.name,href:HM(A(r).activeId.value,_.value.serverId,e.name),download:e.name,class:`inline-flex items-center gap-1 rounded-full border border-line px-2 py-0.5 font-mono text-2xs text-muted transition-colors duration-150 hover:border-accent/40 hover:text-accent`},[H(O(e.name)+` `,1),B(`span`,Aq,O(A(IL)(e.sizeBytes)),1),V(A(Nv),{class:`size-3`})],8,kq))),128)):(L(),R(`span`,jq,O(A(Y)(`views.logs.nothingOnDisk`)),1)),o.value===`disk`&&p.value.length>0?(L(),R(`span`,Mq,O(A(Y)(`views.logs.loadedLines`,{count:p.value.length})),1)):U(``,!0),u.value===null?U(``,!0):(L(),R(`span`,Nq,` · `+O(A(Y)(`views.logs.searchedLines`,{count:u.value})),1))])):U(``,!0),f.value?(L(),R(`p`,Pq,[V(A(Vv),{class:`size-3.5`}),H(` `+O(f.value),1)])):U(``,!0),B(`div`,Fq,[_.value?d.value&&x.value.length===0?(L(),z(OV,{key:1,class:`h-full w-full`,rounded:`rounded-panel`})):(L(),z(cq,{key:2,lines:x.value,version:S.value,live:o.value===`live`,class:`h-full`,"empty-hint":o.value===`live`?A(Y)(`views.logs.waitingOutput`):A(Y)(`views.logs.fileEmpty`),"min-height":`100%`},null,8,[`lines`,`version`,`live`,`empty-hint`])):(L(),z(gL,{key:0,title:A(Y)(`views.logs.pickServerTitle`),description:A(Y)(`views.logs.pickServerDescription`)},{icon:j(()=>[V(A(Cy),{class:`size-4`})]),_:1},8,[`title`,`description`]))])]),V($z,{open:h.value,"onUpdate:open":t[6]||=e=>h.value=e,title:A(Y)(`views.logs.clearTitle`),description:A(Y)(`views.logs.clearDescription`,{server:_.value?.serverId??``}),width:`w-[min(92vw,26rem)]`},{footer:j(()=>[V($,{variant:`ghost`,onClick:t[5]||=e=>h.value=!1},{default:j(()=>[H(O(A(Y)(`common.keepIt`)),1)]),_:1}),V($,{variant:`danger`,onClick:ie},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(O(A(Y)(`views.logs.clear`)),1)]),_:1})]),default:j(()=>[B(`p`,Iq,O(A(Y)(`views.logs.clearNote`)),1)]),_:1},8,[`open`,`title`,`description`])]))}}),Rq={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},zq={key:0,class:`grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 lg:grid-cols-5`},Bq={key:1,class:`grid grid-cols-2 divide-line-soft sm:grid-cols-3 sm:divide-x lg:grid-cols-5`},Vq={class:`p-4`},Hq={class:`p-4`},Uq={class:`p-4`},Wq={class:`p-4`},Gq={class:`p-4`},Kq={key:0,class:`flex items-start gap-2.5 rounded-panel border border-danger/25 bg-danger-soft px-3.5 py-3`},qq={class:`min-w-0`},Jq={class:`text-xs font-medium text-danger`},Yq={class:`mt-0.5 flex flex-wrap gap-x-2 text-2xs text-danger`},Xq={class:`space-y-3`},Zq={class:`flex items-center justify-between`},Qq={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},$q={key:0,class:`grid gap-4 lg:grid-cols-2`},eJ={key:2,class:`grid gap-4 lg:grid-cols-2`},tJ={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},nJ={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-faint`},rJ={class:`flex items-center gap-1`},iJ={class:`font-mono`},aJ=N({__name:`OverviewView`,setup(e){let t=XN(),n=dP(),r=k(!1),i=W(()=>t.appState.value===null),a=n.servers,o=W(()=>n.selected.value?.label??Y(`nav.workspace`)),s=W(()=>a.value.filter(e=>e.status===`running`)),c=W(()=>a.value.filter(e=>[`stopped`,`stopping`].includes(e.status))),l=W(()=>a.value.filter(e=>e.status===`crashed`||e.status===`conflict`||e.health===`unhealthy`)),u=W(()=>{let e=0;for(let t of s.value){let n=t.resources?.rssBytes;typeof n==`number`&&(e+=n)}return e}),d=W(()=>{let e=0;for(let t of a.value){let r=CN(n.seriesOf(t.id).rss);r>e&&(e=r)}return e}),f=W(()=>{let e=0;for(let t of s.value)e+=t.resources?.cpuPercent??0;return e}),p=W(()=>{let e=a.value.map(e=>e.startedAt).filter(e=>typeof e==`number`);return e.length===0?`—`:jL(t.now.value-Math.min(...e))});return(e,m)=>{let h=pa(`RouterLink`);return L(),R(`div`,Rq,[V(CV,{title:o.value,description:A(Y)(`views.overview.description`)},{actions:j(()=>[V($,{variant:`ghost`,onClick:m[0]||=e=>A(n).startAll()},{default:j(()=>[V(A(_y),{class:`size-3.5`}),H(O(A(Y)(`views.actions.startAll`)),1)]),_:1}),V($,{variant:`ghost`,onClick:m[1]||=e=>A(n).stopAll()},{default:j(()=>[V(A(jy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.stopAll`)),1)]),_:1}),V($,{variant:`primary`,onClick:m[2]||=e=>r.value=!0},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addServer`)),1)]),_:1})]),_:1},8,[`title`,`description`]),V(DV,{class:`p-0`},{default:j(()=>[i.value?(L(),R(`div`,zq,[(L(),R(I,null,P(5,e=>B(`div`,{key:e,class:`space-y-2`},[V(OV,{class:`h-2.5 w-16`}),V(OV,{class:`h-6 w-20`})])),64))])):(L(),R(`div`,Bq,[B(`div`,Vq,[V(MV,{label:A(Y)(`views.overview.running`),value:`${s.value.length}/${A(a).length}`,tone:`ok`,hint:A(Y)(`views.overview.notUp`,{count:A(a).length-s.value.length})},null,8,[`label`,`value`,`hint`])]),B(`div`,Hq,[V(MV,{label:A(Y)(`views.overview.stopped`),value:String(c.value.length),hint:A(Y)(`views.overview.enabled`,{count:A(a).filter(e=>e.config.enabled).length})},null,8,[`label`,`value`,`hint`])]),B(`div`,Uq,[V(MV,{label:A(Y)(`views.overview.needsAttention`),value:String(l.value.length),tone:l.value.length>0?`danger`:`ok`,hint:l.value.length===0?A(Y)(`views.overview.nothingBroken`):A(Y)(`views.overview.crashedOrUnhealthy`)},null,8,[`label`,`value`,`tone`,`hint`])]),B(`div`,Wq,[V(MV,{label:A(Y)(`views.overview.processMemory`),value:A(LL)(u.value),hint:d.value>0?A(Y)(`views.overview.peak`,{value:A(LL)(d.value)}):A(Y)(`views.overview.acrossTree`)},null,8,[`label`,`value`,`hint`])]),B(`div`,Gq,[V(MV,{label:A(Y)(`views.overview.longestUptime`),value:p.value,hint:s.value.length>0?A(Y)(`views.overview.cpuNow`,{value:f.value.toFixed(1)}):A(Y)(`views.overview.nothingRunning`)},null,8,[`label`,`value`,`hint`])])]))]),_:1}),l.value.length>0?(L(),R(`div`,Kq,[V(A(Vv),{class:`mt-0.5 size-4 shrink-0 text-danger`}),B(`div`,qq,[B(`p`,Jq,O(A(_F)(`views.overview.needLook`,l.value.length)),1),B(`p`,Yq,[(L(!0),R(I,null,P(l.value,e=>(L(),z(h,{key:e.id,to:`/servers/${e.id}`,class:`font-mono underline-offset-2 hover:underline`},{default:j(()=>[H(O(e.id),1)]),_:2},1032,[`to`]))),128))])])])):U(``,!0),B(`section`,Xq,[B(`div`,Zq,[B(`h2`,Qq,[V(A(Ty),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`nav.servers`)),1)]),V(h,{to:A(u1)(A(n).activeId.value,`servers`),class:`text-2xs text-muted transition-colors duration-150 hover:text-accent`},{default:j(()=>[H(O(A(Y)(`views.overview.openFullList`)),1)]),_:1},8,[`to`])]),i.value?(L(),R(`div`,$q,[(L(),R(I,null,P(4,e=>V(OV,{key:e,class:`h-64 w-full`,rounded:`rounded-panel`})),64))])):A(a).length===0?(L(),z(gL,{key:1,title:A(Y)(`views.overview.emptyTitle`),description:A(Y)(`views.overview.emptyDescription`)},{icon:j(()=>[V(A(Ty),{class:`size-4`})]),action:j(()=>[V($,{variant:`primary`,onClick:m[3]||=e=>r.value=!0},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1})]),_:1},8,[`title`,`description`])):(L(),R(`div`,eJ,[(L(!0),R(I,null,P(A(a),e=>(L(),z(gV,{key:e.id,server:e,"workspace-id":A(n).activeId.value,series:A(n).seriesOf(e.id),now:A(t).now.value},null,8,[`server`,`workspace-id`,`series`,`now`]))),128))]))]),V(DV,null,{header:j(()=>[B(`h2`,tJ,[V(A(jv),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.overview.recentActivity`)),1)])]),actions:j(()=>[V(h,{to:A(u1)(A(n).activeId.value,`logs`),class:`text-2xs text-muted transition-colors duration-150 hover:text-accent`},{default:j(()=>[H(O(A(Y)(`nav.logs`)),1)]),_:1},8,[`to`])]),default:j(()=>[V(fR,{servers:A(a),now:A(t).now.value,limit:10},null,8,[`servers`,`now`])]),_:1}),B(`p`,nJ,[B(`span`,rJ,[V(A(Fy),{class:`size-3`}),H(O(A(Y)(`views.overview.sampling`)),1)]),B(`span`,iJ,O(A(n).selected.value?.configPath),1),B(`span`,{class:D(A(Q)(`flex items-center gap-1`))},[m[5]||=B(`span`,{class:`size-1.5 rounded-full bg-ok`},null,-1),H(` `+O(A(Y)(`views.overview.workspaceLabel`,{id:A(n).activeId.value})),1)],2)]),V(dB,{open:r.value,"onUpdate:open":m[4]||=e=>r.value=e,"workspace-id":A(n).activeId.value},null,8,[`open`,`workspace-id`])])}}}),oJ=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/i,sJ=/^(?:[a-z][a-z0-9+.-]*:\/\/)?(?<authority>[^/?#]+)/i,cJ=[`.localhost`,`.local`,`.internal`,`.home.arpa`,`.lan`,`.home`,`.test`,`.invalid`,`.example`],lJ=/^[a-z0-9][a-z0-9_-]*$/,uJ={hostRequired:()=>`a hostname is required`,hostInvalid:()=>`a hostname of letters, digits, dots and dashes, e.g. home.example.com`,hostDuplicate:e=>`"${e}" is already routed for this path`,pathNeedsSlash:()=>`a path prefix starts with /`,pathHasSpace:()=>`a path prefix cannot contain a space`,idInvalid:()=>`the id must start with a letter or digit, then letters, digits, dash or underscore`,idDuplicate:e=>`route id "${e}" is used twice`,workspaceRequired:()=>`pick the workspace that owns the server`,serverRequired:()=>`pick a server in that workspace`,urlInvalid:()=>`an upstream like http://10.0.0.5:8080`},dJ={controlPanel:()=>`control panel`,noUpstream:()=>`no upstream`,noServerPicked:()=>`no server picked`,fallbackRetry:()=>`~8 hours`,retryOne:(e,t)=>`~${e} ${t}`,retryMany:(e,t)=>`~${e} ${t}s`},fJ=4443,pJ=4480;function mJ(e){return e.label.trim().length>0?e.label:e.id}var hJ=0;function gJ(e){return e.find(e=>e.tls!==`off`&&yJ(e.host))?.host??null}function _J(e){if(e===null||e<0)return`—`;let t=[`B`,`KiB`,`MiB`,`GiB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(r===0?0:1)} ${t[r]}`}function vJ(e){return e>0&&e<1024}function yJ(e){let t=e.trim().toLowerCase();return t.length===0||t===`localhost`||!t.includes(`.`)||cJ.some(e=>t.endsWith(e))?!1:!/^\d{1,3}(?:\.\d{1,3}){3,}$/.test(t)}function bJ(e,t){let n={};e.enabled!==t.enabled&&(n.enabled=t.enabled),e.httpPort!==t.httpPort&&(n.httpPort=t.httpPort),e.httpsPort!==t.httpsPort&&(n.httpsPort=t.httpsPort),e.email!==t.email&&(n.email=t.email),e.staging!==t.staging&&(n.staging=t.staging);let r=CJ(t.resolvers);return(e.dns01.enabled!==t.dns01||e.dns01.resolvers.join(`,`)!==r.join(`,`))&&(n.dns01={enabled:t.dns01,resolvers:r}),n}function xJ(){return{key:SJ(),id:`route`,host:``,enabled:!0,target:`server`,workspace:``,server:``,url:``,path:``,tls:`auto`,dnsAccount:``}}function SJ(){return hJ+=1,`proxy-route-${hJ}`}function CJ(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e.length>0)}function wJ(e,t,n){let r=bJ(e,t),i=kJ(e.routes,n);return i!==null&&(r.routes=i),Object.keys(r).length===0?null:r}function TJ(e,t){return e.staging||e.email.trim().length>0?!1:t.some(e=>e.tls!==`off`&&yJ(e.host))}function EJ(e,t=dJ){if(e===null)return t.fallbackRetry();if(e<60)return e===1?t.retryOne(e,`minute`):t.retryMany(e,`minute`);let n=Math.max(1,Math.round(e/60));return n===1?t.retryOne(n,`hour`):t.retryMany(n,`hour`)}function DJ(e,t,n){let r=e.host.trim();if(r.length===0)return null;let i=e.tls===`off`,a=i?t:n,o=i?80:443,s=e.path.length===0||e.path.startsWith(`/`)?e.path:`/${e.path}`;return`${i?`http`:`https`}://${r}${a===o?``:`:${a}`}${s}`}function OJ(e,t){return e.length===t.length&&e.every((e,n)=>AJ(e,t[n]))}function kJ(e,t){return OJ(e,t)?null:FJ(t)}function AJ(e,t){return JSON.stringify(IJ(e))===JSON.stringify(IJ(t))}function jJ(e){return MJ(e,`certificate`)}function MJ(e,t){let n=e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40).replace(/-+$/,``);return n.length===0?t:/^[a-z0-9]/.test(n)?n:`r-${n}`}function NJ(e){return MJ(e,`route`)}function PJ(e,t,n=dJ){return e.target===`panel`?n.controlPanel():e.target===`external`?e.url.trim().length>0?e.url.trim():n.noUpstream():e.workspace.length===0||e.server.length===0?n.noServerPicked():`${t.find(t=>t.id===e.workspace)?.label??e.workspace} / ${e.server}`}function FJ(e){return e.map(IJ)}function IJ(e){return{id:e.id,host:e.host,enabled:e.enabled,target:e.target,workspace:e.workspace,server:e.server,url:e.url,path:e.path,tls:e.tls,dnsAccount:e.dnsAccount}}function LJ(e,t){return RJ(e,t)}function RJ(e,t){let n=new Set(t);if(!n.has(e))return e;let r=2;for(;n.has(`${e}-${r}`);)r+=1;return`${e}-${r}`}function zJ(e,t){return RJ(e,t)}function BJ(e){return e.httpPort===4480&&e.httpsPort===4443}function VJ(e,t){let n={...uJ,...t.messages},r={},i=e.host.trim();if(i.length===0?r.host=n.hostRequired():oJ.test(i)?t.others.some(t=>t.host.trim().toLowerCase()===i.toLowerCase()&&t.path.replace(/\/+$/,``)===e.path.replace(/\/+$/,``))&&(r.host=n.hostDuplicate(i)):r.host=n.hostInvalid(),e.path.length>0&&!e.path.startsWith(`/`)?r.path=n.pathNeedsSlash():/\s/.test(e.path)&&(r.path=n.pathHasSpace()),lJ.test(e.id)?t.others.some(t=>t.id===e.id)&&(r.id=n.idDuplicate(e.id)):r.id=n.idInvalid(),e.target===`server`){let i=t.workspaces.find(t=>t.id===e.workspace);e.workspace.length===0||i===void 0?r.workspace=n.workspaceRequired():(e.server.length===0||!i.servers.some(t=>t.id===e.server))&&(r.server=n.serverRequired())}e.target===`external`&&HJ(e.url)===null&&(r.url=n.urlInvalid());let a=YA({...IJ(e),host:i});return a instanceof J.errors&&Object.keys(r).length===0&&(r.form=a.summary),r}function HJ(e){let t=e.trim();if(t.length===0)return null;let n=sJ.exec(t)?.groups?.authority;if(n===void 0||n.length===0||n.endsWith(`:`)||/\s/.test(n))return null;let r=t.slice(0,t.indexOf(`:`)).toLowerCase(),i=n.lastIndexOf(`:`);if(i<=0)return{host:n,port:r===`https`?`443`:`80`};let a=n.slice(i+1);return/^\d{1,5}$/.test(a)?{host:n.slice(0,i),port:a}:null}var UJ=[{value:`server`,labelKey:`proxy.target.server`},{value:`panel`,labelKey:`proxy.target.panel`},{value:`external`,labelKey:`proxy.target.external`}],WJ=[{value:`auto`,labelKey:`proxy.tls.auto`},{value:`off`,labelKey:`proxy.tls.off`},{value:`manual`,labelKey:`proxy.tls.manual`}],GJ={off:{labelKey:`proxy.status.off`,tone:`neutral`,transitional:!1},stopped:{labelKey:`proxy.status.stopped`,tone:`neutral`,transitional:!1},starting:{labelKey:`proxy.status.starting`,tone:`warn`,transitional:!0},running:{labelKey:`proxy.status.running`,tone:`ok`,transitional:!1},error:{labelKey:`proxy.status.error`,tone:`danger`,transitional:!1},unsupported:{labelKey:`proxy.status.unsupported`,tone:`warn`,transitional:!1}},KJ={ok:{labelKey:`proxy.status.serving`,tone:`ok`},disabled:{labelKey:`proxy.status.disabled`,tone:`neutral`},"no-upstream":{labelKey:`proxy.status.noUpstream`,tone:`warn`},error:{labelKey:`proxy.status.error`,tone:`danger`}},qJ={off:null,local:{labelKey:`proxy.status.localCa`,tone:`neutral`},uploaded:{labelKey:`proxy.status.uploaded`,tone:`info`},issued:{labelKey:`proxy.status.certified`,tone:`ok`},pending:{labelKey:`proxy.status.awaitingCa`,tone:`warn`},failed:{labelKey:`proxy.status.failed`,tone:`danger`},fallback:{labelKey:`proxy.status.fellBack`,tone:`warn`}};function JJ(e){let t=e.certificate;if(t===void 0)return null;let n=qJ[t.state]??null;return n===null?null:{...n,message:t.message,retryInMinutes:t.retryInMinutes??null}}function YJ(e){return{enabled:e.enabled,httpPort:e.httpPort,httpsPort:e.httpsPort,email:e.email,staging:e.staging,dns01:e.dns01.enabled,resolvers:e.dns01.resolvers.join(`, `)}}function XJ(e){let t=[{value:``,label:Y(`proxy.account.automatic`)}];for(let n of e){let e=n.label.length>0?n.label:n.account,r=[n.writesTxt?null:Y(`proxy.account.noTxt`),n.writesTxt&&!n.hasCredentials?Y(`proxy.account.noCredentials`):null].filter(e=>e!==null);t.push({value:`${n.workspace}/${n.account}`,label:`${e} · ${n.provider} · ${n.workspace}${r.length>0?` (${r.join(`, `)})`:``}`})}return t}function ZJ(e){return{...YJ(e)}}function QJ(e){return structuredClone(dn(e)).map(e=>({...e,key:SJ()}))}function $J(e,t,n){return t===null?[...e,n]:e.map(e=>e.id===t.id?n:e)}function eY(e){return e.tls===`off`?Y(`proxy.tls.plain`):e.tls===`manual`?Y(`proxy.tls.uploaded`):yJ(e.host)?Y(`proxy.tls.letsEncrypt`):Y(`proxy.tls.engineCa`)}var tY={controlPanel:()=>Y(`proxy.target.controlPanel`),noUpstream:()=>Y(`proxy.target.noUpstream`),noServerPicked:()=>Y(`proxy.target.noServer`),fallbackRetry:()=>Y(`proxy.retry.inFallback`),retryOne:(e,t)=>_F(`proxy.retry.in${t===`minute`?`Minutes`:`Hours`}`,e),retryMany:(e,t)=>_F(`proxy.retry.in${t===`minute`?`Minutes`:`Hours`}`,e)},nY={hostRequired:()=>Y(`proxy.validation.hostRequired`),hostInvalid:()=>Y(`proxy.validation.hostPattern`),hostDuplicate:e=>Y(`proxy.validation.hostTaken`,{host:e}),pathNeedsSlash:()=>Y(`proxy.validation.pathSlash`),pathHasSpace:()=>Y(`proxy.validation.pathSpace`),idInvalid:()=>Y(`proxy.validation.idPattern`),idDuplicate:e=>Y(`proxy.validation.idTaken`,{id:e}),workspaceRequired:()=>Y(`proxy.validation.workspaceRequired`),serverRequired:()=>Y(`proxy.validation.serverRequired`),urlInvalid:()=>Y(`proxy.validation.url`)};function rY(e,t){return PJ(e,t,tY)}function iY(e){return EJ(e,tY)}var aY={class:`grid gap-3 sm:grid-cols-2`},oY={class:`grid gap-3 sm:grid-cols-2`},sY={class:`flex min-w-0 flex-col gap-1`},cY={class:`flex min-w-0 flex-col gap-1`},lY=N({__name:`CertificateDialog`,props:za({taken:{},busy:{type:Boolean},error:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:za([`submit`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`open`),a=k(``),o=k(``),s=k(``),c=k(``),l=k({}),u=k(!1),d=Q(Sz,`cursor-pointer text-xs`,`file:mr-2 file:cursor-pointer file:rounded-control file:border-0 file:bg-panel-2 file:px-2 file:py-1 file:text-xs file:text-ink`),f=W(()=>LJ(jJ(a.value),n.taken)),p=W(()=>!n.busy&&a.value.trim().length>0&&s.value.trim().length>0&&c.value.trim().length>0);function m(e){o.value=e,u.value=e.trim().length>0}M([a,()=>n.taken],()=>{u.value||(o.value=f.value)},{immediate:!0}),M(i,e=>{e&&(a.value=``,o.value=``,s.value=``,c.value=``,l.value={},u.value=!1)});async function h(e,t){let n=e.target.files?.[0];if(!n)return;let r=await n.text();t===`cert`?s.value=r:c.value=r}function g(){let e=a.value.trim(),t=o.value.trim(),i={};e.length===0&&(i.label=Y(`proxy.certificateDialog.errorLabel`)),lJ.test(t)?n.taken.includes(t)&&(i.id=Y(`proxy.certificateDialog.errorTaken`,{id:t})):i.id=Y(`proxy.certificateDialog.errorId`),s.value.trim().length===0&&(i.certificate=Y(`proxy.certificateDialog.errorCertificate`)),c.value.trim().length===0&&(i.privateKey=Y(`proxy.certificateDialog.errorPrivateKey`)),l.value=i,!(Object.keys(i).length>0)&&r(`submit`,{id:t,label:e,certificate:s.value,privateKey:c.value})}return(e,t)=>(L(),z($z,{open:i.value,"onUpdate:open":t[6]||=e=>i.value=e,title:A(Y)(`proxy.certificateDialog.title`),description:A(Y)(`proxy.certificateDialog.description`)},{footer:j(()=>[V($,{variant:`ghost`,disabled:n.busy,onClick:t[5]||=e=>i.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1},8,[`disabled`]),V($,{variant:`primary`,disabled:!p.value,loading:n.busy,onClick:g},{default:j(()=>[H(O(A(Y)(`proxy.certificateDialog.store`)),1)]),_:1},8,[`disabled`,`loading`])]),default:j(()=>[B(`form`,{class:`space-y-3`,onSubmit:lu(g,[`prevent`])},[B(`div`,aY,[V(Rz,{modelValue:a.value,"onUpdate:modelValue":t[0]||=e=>a.value=e,label:A(Y)(`proxy.certificateDialog.label`),placeholder:A(Y)(`proxy.certificateDialog.labelPlaceholder`),error:l.value.label},null,8,[`modelValue`,`label`,`placeholder`,`error`]),V(Rz,{"model-value":o.value,label:A(Y)(`proxy.certificateDialog.id`),hint:A(Y)(`proxy.certificateDialog.idHint`),error:l.value.id,"onUpdate:modelValue":m},null,8,[`model-value`,`label`,`hint`,`error`])]),B(`div`,oY,[B(`div`,sY,[B(`label`,{class:D(A(bz)),for:`proxy-cert-file`},O(A(Y)(`proxy.certificateDialog.certFile`)),3),B(`input`,{id:`proxy-cert-file`,type:`file`,accept:`.pem,.crt,.cer,text/plain`,class:D(A(d)),onChange:t[1]||=e=>h(e,`cert`)},null,34)]),B(`div`,cY,[B(`label`,{class:D(A(bz)),for:`proxy-cert-key`},O(A(Y)(`proxy.certificateDialog.keyFile`)),3),B(`input`,{id:`proxy-cert-key`,type:`file`,accept:`.pem,.key,text/plain`,class:D(A(d)),onChange:t[2]||=e=>h(e,`key`)},null,34)])]),V(rB,{modelValue:s.value,"onUpdate:modelValue":t[3]||=e=>s.value=e,label:A(Y)(`proxy.certificateDialog.pasteCert`),rows:4,placeholder:A(Y)(`proxy.certificateDialog.certPlaceholder`),error:l.value.certificate},null,8,[`modelValue`,`label`,`placeholder`,`error`]),V(rB,{modelValue:c.value,"onUpdate:modelValue":t[4]||=e=>c.value=e,label:A(Y)(`proxy.certificateDialog.pasteKey`),rows:4,placeholder:A(Y)(`proxy.certificateDialog.keyPlaceholder`),error:l.value.privateKey},null,8,[`modelValue`,`label`,`placeholder`,`error`]),n.error?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(n.error),1)]),_:1})):U(``,!0)],32)]),_:1},8,[`open`,`title`,`description`]))}}),uY={key:0,class:`sm:col-span-2`},dY={key:1,class:`space-y-2 sm:col-span-2`},fY={class:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`},pY={class:`min-w-0 text-xs font-medium text-ink`},mY={class:`ml-1.5 font-mono text-2xs text-faint`},hY={key:0,class:`mt-2`},gY={key:1,class:`mt-2 divide-y divide-line-soft text-2xs`},_Y={class:`flex items-start justify-between gap-4 py-1`},vY={class:`text-muted`},yY={class:`min-w-0 text-right font-mono text-ink`},bY={class:`flex items-start justify-between gap-4 py-1`},xY={class:`text-muted`},SY={class:`min-w-0 text-right font-mono text-ink`},CY={class:`flex items-start justify-between gap-4 py-1`},wY={class:`text-muted`},TY={class:`font-mono text-ink`},EY={class:`flex items-start justify-between gap-4 py-1`},DY={class:`shrink-0 text-muted`},OY={class:`min-w-0 text-right font-mono text-ink`},kY={key:1,class:`text-faint`},AY={class:`mt-2 flex justify-end`},jY={class:`text-xs font-semibold text-ink`},MY={class:`mt-1 text-2xs leading-4 text-muted`},NY={class:`mt-2.5 flex justify-end gap-1.5`},PY={key:2,class:`space-y-2 sm:col-span-2`},FY=N({__name:`CertificatePanel`,props:{certificates:{},disabled:{type:Boolean}},emits:[`changed`],setup(e,{emit:t}){let n=e,r=t,i=k(!1),a=k(!1),o=k(null),s=k(null),c=k(null),l=W(()=>n.certificates.map(e=>e.id));async function u(e,t){a.value=!0,o.value=null,s.value=null;try{return r(`changed`,await e()),s.value=t,!0}catch(e){return o.value=Lj(e),!1}finally{a.value=!1}}async function d(e){await u(()=>dM(e.id,e.label,e.certificate,e.privateKey),Y(`proxy.certificate.stored`,{label:e.label}))&&(i.value=!1)}function f(e){c.value=null,u(()=>Jj(e.id),Y(`proxy.certificate.removed`,{name:mJ(e)}))}return(e,t)=>(L(),z(gz,{title:A(Y)(`proxy.certificate.title`),description:A(Y)(`proxy.certificate.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`secondary`,disabled:n.disabled||a.value,onClick:t[0]||=e=>i.value=!0},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(` `+O(A(Y)(`proxy.certificate.add`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[n.certificates.length===0?(L(),R(`div`,uY,[V(gL,{compact:``,title:A(Y)(`proxy.certificate.emptyTitle`),description:A(Y)(`proxy.certificate.emptyDescription`)},{icon:j(()=>[V(A(iy),{class:`size-5`})]),action:j(()=>[V($,{variant:`primary`,disabled:n.disabled||a.value,onClick:t[1]||=e=>i.value=!0},{default:j(()=>[H(O(A(Y)(`proxy.certificateDialog.title`)),1)]),_:1},8,[`disabled`])]),_:1},8,[`title`,`description`])])):(L(),R(`ul`,dY,[(L(!0),R(I,null,P(n.certificates,e=>(L(),R(`li`,{key:e.id,class:`rounded-panel border border-line bg-page/40 p-3`},[B(`div`,fY,[B(`p`,pY,[H(O(A(mJ)(e))+` `,1),B(`span`,mY,O(e.id),1)]),e.daysRemaining===null?U(``,!0):(L(),R(`span`,{key:0,class:D([`text-2xs tabular-nums`,e.daysRemaining<14?`text-warn`:`text-faint`])},O(A(Y)(`proxy.certificate.daysLeft`,{days:e.daysRemaining})),3))]),e.error?(L(),R(`div`,hY,[V(_H,{tone:`danger`},{default:j(()=>[H(O(e.error),1)]),_:2},1024)])):(L(),R(`dl`,gY,[B(`div`,_Y,[B(`dt`,vY,O(A(Y)(`proxy.certificate.subject`)),1),B(`dd`,yY,O(e.subject??`—`),1)]),B(`div`,bY,[B(`dt`,xY,O(A(Y)(`proxy.certificate.issuer`)),1),B(`dd`,SY,O(e.issuer??`—`),1)]),B(`div`,CY,[B(`dt`,wY,O(A(Y)(`proxy.certificate.validUntil`)),1),B(`dd`,TY,O(e.validTo?e.validTo.slice(0,10):`—`),1)]),B(`div`,EY,[B(`dt`,DY,O(A(Y)(`proxy.certificate.covers`)),1),B(`dd`,OY,[e.hosts.length>0?(L(),R(I,{key:0},[H(O(e.hosts.join(`, `)),1)],64)):(L(),R(`span`,kY,O(A(Y)(`proxy.certificate.noSans`)),1))])])])),B(`div`,AY,[V(A(Wh),{open:c.value===e.id,"onUpdate:open":t=>c.value=t?e.id:null},{default:j(()=>[V(A(Zh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`danger-ghost`,disabled:a.value,"aria-label":A(Y)(`proxy.certificate.removeAria`,{name:A(mJ)(e)})},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(` `+O(A(Y)(`common.remove`)),1)]),_:1},8,[`disabled`,`aria-label`])]),_:2},1024),V(A(Xh),null,{default:j(()=>[V(A(Yh),{"side-offset":6,align:`end`,class:D(A(Q)(`z-50 w-64 rounded-panel border border-line bg-raise p-3 shadow-float`,`focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`))},{default:j(()=>[B(`p`,jY,O(A(Y)(`proxy.certificate.removeQuestion`,{name:A(mJ)(e)})),1),B(`p`,MY,O(A(Y)(`proxy.certificate.removeBody`)),1),B(`div`,NY,[V(A(Gh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`ghost`},{default:j(()=>[H(O(A(Y)(`common.keepIt`)),1)]),_:1})]),_:1}),V($,{size:`xs`,variant:`danger`,loading:a.value,onClick:t=>f(e)},{default:j(()=>[H(O(A(Y)(`proxy.certificate.removeIt`)),1)]),_:1},8,[`loading`,`onClick`])])]),_:2},1032,[`class`])]),_:2},1024)]),_:2},1032,[`open`,`onUpdate:open`])])]))),128))])),o.value||s.value?(L(),R(`div`,PY,[o.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0),s.value?(L(),z(_H,{key:1,tone:`ok`},{default:j(()=>[H(O(s.value),1)]),_:1})):U(``,!0)])):U(``,!0),V(lY,{open:i.value,"onUpdate:open":t[2]||=e=>i.value=e,taken:l.value,busy:a.value,error:o.value,onSubmit:d},null,8,[`open`,`taken`,`busy`,`error`])]),_:1},8,[`title`,`description`]))}}),IY={key:0,class:`sm:col-span-2`},LY={key:0,class:`sm:col-span-2`},RY={key:1,class:`sm:col-span-2`},zY={class:`divide-y divide-line-soft text-xs sm:col-span-2`},BY={class:`flex items-start justify-between gap-4 py-1.5`},VY={class:`text-muted`},HY={class:`font-mono text-xs text-ink`},UY={class:`flex items-start justify-between gap-4 py-1.5`},WY={class:`text-muted`},GY={class:`text-right text-xs text-ink`},KY={key:0,class:`flex items-start justify-between gap-4 py-1.5`},qY={class:`text-muted`},JY={class:`font-mono text-xs tabular-nums text-ink`},YY={key:1,class:`flex items-start justify-between gap-4 py-1.5`},XY={class:`text-muted`},ZY={class:`flex min-w-0 items-center gap-1.5`},QY={class:`min-w-0 truncate font-mono text-2xs text-ink`},$Y={class:`flex items-start justify-between gap-4 py-1.5`},eX={class:`text-muted`},tX={class:`flex flex-wrap items-center justify-end gap-x-2 gap-y-1 text-right font-mono text-xs`},nX=[`href`],rX={key:0,class:`text-ink`},iX={class:`flex items-start justify-between gap-4 py-1.5`},aX={class:`text-muted`},oX={class:`font-mono text-xs tabular-nums text-ink`},sX={class:`flex items-start justify-between gap-4 py-1.5`},cX={class:`text-muted`},lX={class:`text-xs text-ink`},uX={class:`flex flex-wrap gap-1.5 sm:col-span-2`},dX=[`href`],fX={key:3,class:`sm:col-span-2`},pX={key:4,class:`text-2xs leading-4 text-faint sm:col-span-2`},mX={class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},hX={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},gX=N({__name:`EnginePanel`,props:{view:{},busy:{}},emits:[`act`],setup(e,{emit:t}){let n=e,r=t,i=W(()=>n.view?.engine??null),a=W(()=>n.view?.status??null),o=W(()=>n.view?.engines[0]??null),s=W(()=>a.value===null?null:GJ[a.value.state]),c=W(()=>i.value?.installed===!0),l=W(()=>i.value?.path??null),u=W(()=>l.value===null?null:`sudo setcap 'cap_net_bind_service=+ep' ${l.value}`),d=[{key:`acme`,labelKey:`proxy.engine.acme`},{key:`internalCa`,labelKey:`proxy.engine.localCa`},{key:`dns01`,labelKey:`proxy.engine.dns01`},{key:`tcp`,labelKey:`proxy.engine.tcpUdp`}];return(e,t)=>(L(),z(gz,{title:A(Y)(`proxy.engine.title`),description:A(Y)(`proxy.engine.description`)},{actions:j(()=>[s.value?(L(),z(_U,{key:0,tone:s.value.tone,dot:``},{default:j(()=>[H(O(A(Y)(s.value.labelKey)),1)]),_:1},8,[`tone`])):U(``,!0)]),default:j(()=>[i.value===null?(L(),R(`div`,IY,[V(_H,{tone:`info`},{default:j(()=>[H(O(A(Y)(`proxy.engine.notInFrame`)),1)]),_:1})])):(L(),R(I,{key:1},[i.value.error?(L(),R(`div`,LY,[V(_H,{tone:`danger`,title:A(Y)(`proxy.engine.readFailed`)},{default:j(()=>[H(O(i.value.error),1)]),_:1},8,[`title`])])):U(``,!0),c.value?(L(),R(I,{key:2},[B(`dl`,zY,[B(`div`,BY,[B(`dt`,VY,O(A(Y)(`proxy.engine.version`)),1),B(`dd`,HY,O(i.value.version??A(Y)(`proxy.engine.notProbed`)),1)]),B(`div`,UY,[B(`dt`,WY,O(A(Y)(`proxy.engine.source`)),1),B(`dd`,GY,O(i.value.source===`custom`?A(Y)(`proxy.engine.sourceCustom`):A(Y)(`proxy.engine.sourceDownloaded`)),1)]),i.value.bytes===null?U(``,!0):(L(),R(`div`,KY,[B(`dt`,qY,O(A(Y)(`proxy.engine.size`)),1),B(`dd`,JY,O(A(_J)(i.value.bytes)),1)])),l.value?(L(),R(`div`,YY,[B(`dt`,XY,O(A(Y)(`proxy.engine.binary`)),1),B(`dd`,ZY,[B(`span`,QY,O(l.value),1),V(hU,{value:l.value,label:A(Y)(`proxy.engine.copyPath`)},null,8,[`value`,`label`])])])):U(``,!0),B(`div`,$Y,[B(`dt`,eX,O(A(Y)(`proxy.engine.address`)),1),B(`dd`,tX,[(L(!0),R(I,null,P(a.value?.urls??[],e=>(L(),R(`a`,{key:e,href:e,target:`_blank`,rel:`noreferrer`,class:`text-accent underline decoration-line underline-offset-2 hover:decoration-accent`},O(e),9,nX))),128)),!a.value||a.value.urls.length===0?(L(),R(`span`,rX,`—`)):U(``,!0)])]),B(`div`,iX,[B(`dt`,aX,O(A(Y)(`proxy.engine.process`)),1),B(`dd`,oX,O(a.value?.pid??`—`),1)]),B(`div`,sX,[B(`dt`,cX,O(A(Y)(`proxy.engine.certificates`)),1),B(`dd`,lX,O(a.value?.certExpiryDays===null||a.value?.certExpiryDays===void 0?A(Y)(`proxy.engine.noCert`):A(Y)(`proxy.engine.expiresSoon`,{days:a.value.certExpiryDays})),1)])]),B(`div`,uX,[(L(),R(I,null,P(d,e=>V(_U,{key:e.key,tone:o.value?.[e.key]?`ok`:`neutral`},{default:j(()=>[H(O(o.value?.[e.key]?`✓`:`✗`)+` `+O(A(Y)(e.labelKey)),1)]),_:2},1032,[`tone`])),64)),o.value?(L(),R(`a`,{key:0,class:`ml-1 self-center text-2xs text-accent underline decoration-line underline-offset-2`,href:o.value.docsUrl,target:`_blank`,rel:`noreferrer`},O(A(Y)(`proxy.engine.documentation`,{engine:o.value.label})),9,dX)):U(``,!0)])],64)):(L(),R(`div`,RY,[V(_H,{tone:`info`,title:A(Y)(`proxy.engine.notInstalled`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.installNote`,{engine:o.value?.label??i.value.id})),1)]),_:1},8,[`title`])])),a.value?.lastError?(L(),R(`div`,fX,[V(_H,{tone:`danger`,title:A(Y)(`proxy.engine.failed`)},{default:j(()=>[H(O(a.value.lastError),1)]),_:1},8,[`title`])])):U(``,!0),c.value&&u.value?(L(),R(`p`,pX,[H(O(A(Y)(`proxy.engine.setcapHint`))+` `,1),B(`code`,mX,O(u.value),1),V(hU,{value:u.value,label:A(Y)(`proxy.engine.copyCommand`),class:`ml-1 align-middle`},null,8,[`value`,`label`])])):U(``,!0)],64)),B(`div`,hX,[c.value?(L(),R(I,{key:1},[V($,{variant:`primary`,disabled:n.busy!==null||a.value?.state===`running`,loading:n.busy===`start`,onClick:t[1]||=e=>r(`act`,`start`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.start`)),1)]),_:1},8,[`disabled`,`loading`]),V($,{variant:`secondary`,disabled:n.busy!==null||a.value?.state===`off`||a.value?.state===`stopped`,loading:n.busy===`stop`,onClick:t[2]||=e=>r(`act`,`stop`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.stop`)),1)]),_:1},8,[`disabled`,`loading`]),V($,{variant:`secondary`,disabled:n.busy!==null||a.value?.state!==`running`,loading:n.busy===`apply`,onClick:t[3]||=e=>r(`act`,`apply`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.apply`)),1)]),_:1},8,[`disabled`,`loading`]),V($,{variant:`ghost`,disabled:n.busy!==null||a.value?.state!==`running`,loading:n.busy===`revert`,title:A(Y)(`proxy.engine.revertHint`),onClick:t[4]||=e=>r(`act`,`revert`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.revert`)),1)]),_:1},8,[`disabled`,`loading`,`title`]),V($,{variant:`ghost`,disabled:n.busy!==null,loading:n.busy===`install`,onClick:t[5]||=e=>r(`act`,`install`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.update`)),1)]),_:1},8,[`disabled`,`loading`])],64)):(L(),z($,{key:0,variant:`primary`,loading:n.busy===`install`,disabled:n.busy!==null,onClick:t[0]||=e=>r(`act`,`install`)},{default:j(()=>[H(O(A(Y)(`proxy.engine.install`)),1)]),_:1},8,[`loading`,`disabled`]))])]),_:1},8,[`title`,`description`]))}}),_X={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},vX={key:0,class:`text-2xs text-faint`},yX={key:0,class:`sm:col-span-2`},bX={class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},xX={key:1},SX={key:1,class:`sm:col-span-2`},CX={key:3,class:`sm:col-span-2`},wX={key:4,class:`sm:col-span-2`},TX={key:5,class:`text-2xs leading-4 text-faint sm:col-span-2`},EX={class:`text-2xs leading-4 text-faint sm:col-span-2`},DX=N({__name:`ListenerPanel`,props:za({emailHost:{},enginePath:{},dnsAccounts:{}},{form:{required:!0},formModifiers:{}}),emits:[`update:form`],setup(e){let t=e,n=so(e,`form`),r=W(()=>t.dnsAccounts.filter(e=>e.writesTxt&&e.hasCredentials)),i=W(()=>BJ(n.value)),a=W(()=>t.enginePath===null?null:`sudo setcap 'cap_net_bind_service=+ep' ${t.enginePath}`),o=W(()=>vJ(n.value.httpPort)||vJ(n.value.httpsPort));function s(){n.value.httpPort=pJ,n.value.httpsPort=fJ}function c(){n.value.httpPort=80,n.value.httpsPort=443}function l(e,t){e===null||Number.isNaN(e)||e>=1&&e<=65535&&(n.value[t]=Math.trunc(e))}return(e,u)=>(L(),z(gz,{title:A(Y)(`proxy.listener.title`),description:A(Y)(`proxy.listener.description`)},{actions:j(()=>[i.value?(L(),z(_U,{key:0,tone:`info`},{default:j(()=>[H(O(A(Y)(`proxy.listener.unprivilegedPorts`)),1)]),_:1})):U(``,!0)]),default:j(()=>[V(Vz,{modelValue:n.value.enabled,"onUpdate:modelValue":u[0]||=e=>n.value.enabled=e,label:A(Y)(`proxy.listener.run`),hint:A(Y)(`proxy.listener.runHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{"model-value":n.value.httpPort,label:A(Y)(`proxy.listener.httpPort`),min:1,max:65535,hint:A(Y)(`proxy.listener.httpPortHint`),"onUpdate:modelValue":u[1]||=e=>l(e,`httpPort`)},null,8,[`model-value`,`label`,`hint`]),V(Dz,{"model-value":n.value.httpsPort,label:A(Y)(`proxy.listener.httpsPort`),min:1,max:65535,hint:A(Y)(`proxy.listener.httpsPortHint`),"onUpdate:modelValue":u[2]||=e=>l(e,`httpsPort`)},null,8,[`model-value`,`label`,`hint`]),B(`div`,_X,[V($,{size:`xs`,variant:`secondary`,onClick:s},{default:j(()=>[H(O(A(Y)(`proxy.listener.useFallback`,{http:A(pJ),https:A(fJ)})),1)]),_:1}),V($,{size:`xs`,variant:`ghost`,onClick:c},{default:j(()=>[H(O(A(Y)(`proxy.listener.useStandard`)),1)]),_:1}),i.value?(L(),R(`span`,vX,O(A(Y)(`proxy.listener.forwardHint`)),1)):U(``,!0)]),o.value?(L(),R(`div`,yX,[V(_H,{tone:`warn`,title:A(Y)(`proxy.listener.privilegedTitle`)},{default:j(()=>[V(iB,{k:`proxy.listener.privilegedBody`,params:{http:A(pJ),https:A(fJ)}},{how:j(()=>[a.value?(L(),R(I,{key:0},[B(`code`,bX,O(a.value),1),V(hU,{value:a.value,label:A(Y)(`proxy.engine.copyCommand`),class:`ml-1 align-middle`},null,8,[`value`,`label`])],64)):(L(),R(`span`,xX,[V(iB,{k:`proxy.listener.privilegedWithSetcap`},{command:j(()=>[...u[7]||=[B(`code`,{class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},`setcap`,-1)]]),_:1})]))]),_:1},8,[`params`])]),_:1},8,[`title`])])):U(``,!0),V(Rz,{modelValue:n.value.email,"onUpdate:modelValue":u[3]||=e=>n.value.email=e,label:A(Y)(`proxy.listener.email`),placeholder:A(Y)(`proxy.listener.emailPlaceholder`),hint:A(Y)(`proxy.listener.emailHint`),wide:``},null,8,[`modelValue`,`label`,`placeholder`,`hint`]),t.emailHost===null?U(``,!0):(L(),R(`div`,SX,[V(_H,{tone:`warn`,title:A(Y)(`proxy.listener.emailNeededTitle`)},{default:j(()=>[H(O(A(Y)(`proxy.listener.emailNeededBody`,{host:t.emailHost})),1)]),_:1},8,[`title`])])),V(Vz,{modelValue:n.value.staging,"onUpdate:modelValue":u[4]||=e=>n.value.staging=e,label:A(Y)(`proxy.listener.staging`),hint:A(Y)(`proxy.listener.stagingHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:n.value.dns01,"onUpdate:modelValue":u[5]||=e=>n.value.dns01=e,label:A(Y)(`proxy.listener.dns01`),hint:A(Y)(`proxy.listener.dns01Hint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),n.value.dns01?(L(),z(Rz,{key:2,modelValue:n.value.resolvers,"onUpdate:modelValue":u[6]||=e=>n.value.resolvers=e,label:A(Y)(`proxy.listener.resolvers`),placeholder:A(Y)(`proxy.listener.resolversPlaceholder`),hint:A(Y)(`proxy.listener.resolversHint`),spellcheck:`false`,wide:``},null,8,[`modelValue`,`label`,`placeholder`,`hint`])):U(``,!0),n.value.dns01&&r.value.length===0?(L(),R(`div`,CX,[V(_H,{tone:`warn`,title:A(Y)(`proxy.listener.noAccountTitle`)},{default:j(()=>[H(O(A(Y)(`proxy.listener.noAccountBody`)),1)]),_:1},8,[`title`])])):n.value.dns01&&r.value.length>1?(L(),R(`div`,wX,[V(_H,{tone:`info`,title:A(Y)(`proxy.listener.manyAccountsTitle`)},{default:j(()=>[H(O(A(Y)(`proxy.listener.manyAccountsBody`)),1)]),_:1},8,[`title`])])):U(``,!0),n.value.dns01?(L(),R(`p`,TX,O(A(Y)(`proxy.listener.accountNote`)),1)):U(``,!0),B(`p`,EX,O(A(Y)(`proxy.listener.pendingNote`)),1)]),_:1},8,[`title`,`description`]))}}),OX={class:`space-y-3`},kX={key:1,class:`text-2xs leading-4 text-faint sm:col-span-2`},AX={class:`text-2xs leading-4 text-faint sm:col-span-2`},jX={key:4,class:`text-2xs leading-4 text-warn sm:col-span-2`},MX=N({__name:`RouteDialog`,props:za({draft:{},others:{},workspaces:{},dnsAccounts:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:za([`save`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`open`),a=k(xJ()),o=k({}),s=W(()=>n.draft!==null),c=W(()=>(n.workspaces.find(e=>e.id===a.value.workspace)?.servers??[]).map(e=>({value:e.id,label:e.id}))),l=W(()=>UJ.map(e=>({value:e.value,label:Y(e.labelKey)}))),u=W(()=>WJ.map(e=>({value:e.value,label:Y(e.labelKey)}))),d=W(()=>a.value.tls===`off`?Y(`proxy.tls.hintOff`):a.value.tls===`manual`?Y(`proxy.tls.hintManual`):a.value.host.trim().length===0?Y(`proxy.tls.hintEmpty`):yJ(a.value.host)?Y(`proxy.tls.hintPublic`):Y(`proxy.tls.hintLocal`)),f=W(()=>a.value.tls===`auto`&&yJ(a.value.host)),p=W(()=>XJ(n.dnsAccounts)),m=W(()=>n.dnsAccounts.find(e=>`${e.workspace}/${e.account}`===a.value.dnsAccount)),h=W(()=>m.value===void 0?a.value.dnsAccount.length>0?Y(`proxy.account.gone`):Y(`proxy.account.emptyHint`):m.value.writesTxt?m.value.hasCredentials?Y(`proxy.account.through`,{provider:m.value.provider}):Y(`proxy.account.noCredentialsYet`,{provider:m.value.provider}):Y(`proxy.account.cannotWrite`,{provider:m.value.provider}));M(i,e=>{e&&(a.value=n.draft===null?xJ():structuredClone(dn(n.draft)),a.value.workspace.length===0&&(a.value.workspace=n.workspaces[0]?.id??``),o.value={})}),M(()=>a.value.workspace,()=>{c.value.some(e=>e.value===a.value.server)||(a.value.server=c.value[0]?.value??``)});function g(){let e=a.value.host.trim().toLowerCase(),t={...a.value,host:e,id:zJ(NJ(e),n.others.map(e=>e.id)),workspace:a.value.target===`server`?a.value.workspace:``,server:a.value.target===`server`?a.value.server:``,url:a.value.target===`external`?a.value.url.trim():``},s=VJ(t,{others:n.others,workspaces:n.workspaces,messages:nY});o.value=s,!(Object.keys(s).length>0)&&(r(`save`,t),i.value=!1)}return(e,t)=>(L(),z($z,{open:i.value,"onUpdate:open":t[9]||=e=>i.value=e,title:s.value?A(Y)(`proxy.routeDialog.titleEdit`):A(Y)(`proxy.routeDialog.titleAdd`),description:A(Y)(`proxy.routeDialog.description`),width:`w-[min(92vw,34rem)]`},{footer:j(()=>[V($,{size:`sm`,variant:`ghost`,onClick:t[8]||=e=>i.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1}),V($,{size:`sm`,variant:`primary`,onClick:g},{default:j(()=>[H(O(s.value?A(Y)(`proxy.routeDialog.save`):A(Y)(`proxy.routes.add`)),1)]),_:1})]),default:j(()=>[B(`div`,OX,[V(Rz,{modelValue:a.value.host,"onUpdate:modelValue":t[0]||=e=>a.value.host=e,label:A(Y)(`proxy.routeDialog.hostname`),placeholder:A(Y)(`proxy.routeDialog.hostnamePlaceholder`),autocomplete:`off`,spellcheck:`false`,error:o.value.host,wide:``},null,8,[`modelValue`,`label`,`placeholder`,`error`]),V(Rz,{modelValue:a.value.path,"onUpdate:modelValue":t[1]||=e=>a.value.path=e,label:A(Y)(`proxy.routeDialog.path`),placeholder:A(Y)(`proxy.routeDialog.pathPlaceholder`),hint:A(Y)(`proxy.routeDialog.pathHint`),spellcheck:`false`,error:o.value.path,wide:``},null,8,[`modelValue`,`label`,`placeholder`,`hint`,`error`]),V(Nz,{modelValue:a.value.target,"onUpdate:modelValue":t[2]||=e=>a.value.target=e,label:A(Y)(`proxy.routeDialog.target`),options:l.value},null,8,[`modelValue`,`label`,`options`]),V(Nz,{modelValue:a.value.tls,"onUpdate:modelValue":t[3]||=e=>a.value.tls=e,label:A(Y)(`proxy.routeDialog.tls`),options:u.value,hint:d.value},null,8,[`modelValue`,`label`,`options`,`hint`]),f.value?(L(),z(Nz,{key:0,modelValue:a.value.dnsAccount,"onUpdate:modelValue":t[4]||=e=>a.value.dnsAccount=e,label:A(Y)(`proxy.routeDialog.dnsAccount`),options:p.value,hint:h.value},null,8,[`modelValue`,`label`,`options`,`hint`])):a.value.tls===`auto`?(L(),R(`p`,kX,O(A(Y)(`proxy.routeDialog.localNote`)),1)):U(``,!0),a.value.target===`server`?(L(),R(I,{key:2},[V(Nz,{modelValue:a.value.workspace,"onUpdate:modelValue":t[5]||=e=>a.value.workspace=e,label:A(Y)(`proxy.routeDialog.workspace`),options:n.workspaces.map(e=>({value:e.id,label:e.label})),error:o.value.workspace},null,8,[`modelValue`,`label`,`options`,`error`]),V(Nz,{modelValue:a.value.server,"onUpdate:modelValue":t[6]||=e=>a.value.server=e,label:A(Y)(`proxy.routeDialog.server`),options:c.value,disabled:c.value.length===0,error:o.value.server??(c.value.length===0?A(Y)(`proxy.routeDialog.noServers`):null)},null,8,[`modelValue`,`label`,`options`,`disabled`,`error`]),B(`p`,AX,O(A(Y)(`proxy.routeDialog.stoppedNote`)),1)],64)):U(``,!0),a.value.target===`external`?(L(),z(Rz,{key:3,modelValue:a.value.url,"onUpdate:modelValue":t[7]||=e=>a.value.url=e,label:A(Y)(`proxy.routeDialog.upstream`),placeholder:A(Y)(`proxy.routeDialog.upstreamPlaceholder`),hint:A(Y)(`proxy.routeDialog.upstreamHint`),spellcheck:`false`,error:o.value.url,wide:``},null,8,[`modelValue`,`label`,`placeholder`,`hint`,`error`])):U(``,!0),a.value.target===`panel`?(L(),R(`p`,jX,O(A(Y)(`proxy.routeDialog.panelNote`)),1)):U(``,!0),o.value.form?(L(),z(_H,{key:5,tone:`danger`},{default:j(()=>[H(O(o.value.form),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),NX={class:`text-xs font-semibold text-ink`},PX={class:`mt-1 text-2xs leading-4 text-muted`},FX={class:`mt-1 text-2xs leading-4 text-warn`},IX={class:`mt-2.5 flex justify-end gap-1.5`},LX=N({__name:`RetryCertificateButton`,props:{host:{},retryIn:{},busy:{type:Boolean,default:!1}},emits:[`confirm`],setup(e,{emit:t}){let n=e,r=t,i=k(!1);function a(){i.value=!1,r(`confirm`)}return(e,t)=>(L(),z(A(Wh),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(Zh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`secondary`,loading:n.busy,disabled:n.busy},{default:j(()=>[H(O(A(Y)(`proxy.retryButton.force`)),1)]),_:1},8,[`loading`,`disabled`])]),_:1}),V(A(Xh),null,{default:j(()=>[V(A(Yh),{"side-offset":6,align:`end`,class:`z-50 w-72 rounded-panel border border-line bg-raise p-3 shadow-float focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[B(`p`,NX,O(A(Y)(`proxy.retryButton.question`,{host:n.host})),1),B(`p`,PX,O(A(Y)(`proxy.retryButton.body`,{retryIn:n.retryIn})),1),B(`p`,FX,O(A(Y)(`proxy.retryButton.warning`)),1),B(`div`,IX,[V(A(Gh),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`ghost`},{default:j(()=>[H(O(A(Y)(`proxy.retryButton.leave`)),1)]),_:1})]),_:1}),V($,{size:`xs`,variant:`primary`,loading:n.busy,onClick:a},{default:j(()=>[H(O(A(Y)(`proxy.retryButton.now`)),1)]),_:1},8,[`loading`])])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),RX={key:0,class:`sm:col-span-2`},zX={class:`list-disc space-y-0.5 pl-4`},BX={key:1,class:`sm:col-span-2`},VX={key:2,class:`overflow-x-auto sm:col-span-2`},HX={class:`w-full text-left text-xs`},UX={class:`text-2xs text-faint`},WX={class:`py-1 pr-3 font-medium`},GX={class:`py-1 pr-3 font-medium`},KX={class:`py-1 pr-3 font-medium`},qX={class:`py-1 pr-3 font-medium`},JX={class:`py-1 pr-3 font-medium`},YX={class:`py-1 pr-3 font-medium`},XX={class:`py-1 font-medium`},ZX={class:`sr-only`},QX={class:`py-1.5 pr-3`},$X={class:`font-mono text-xs text-ink`},eZ=[`href`,`title`],tZ={key:2,class:`text-accent`},nZ={class:`font-mono text-2xs text-faint`},rZ={class:`py-1.5 pr-3 text-2xs text-muted`},iZ={class:`py-1.5 pr-3 font-mono text-2xs text-muted`},aZ={class:`py-1.5 pr-3 text-2xs text-muted`},oZ={key:0,class:`mt-0.5`},sZ={key:1,class:`mt-1`},cZ={class:`py-1.5 pr-3`},lZ={class:`py-1.5 pr-3`},uZ={class:`py-1.5`},dZ={class:`flex items-center justify-end gap-1`},fZ=N({__name:`RouteTable`,props:{routes:{},views:{},workspaces:{},httpPort:{},httpsPort:{},disabled:{type:Boolean}},emits:[`add`,`edit`,`remove`,`retry`,`toggle`],setup(e,{emit:t}){let n=e,r=t;function i(e){return e===`fallback`}let a=W(()=>n.routes.map(e=>{let t=n.views.find(t=>t.route.id===e.id)??null;return{route:e,view:t,meta:t===null?null:KJ[t.status],target:rY(e,n.workspaces),tls:eY(e),certificate:t===null?null:JJ(t),url:DJ(e,n.httpPort,n.httpsPort)}})),o=W(()=>a.value.filter(e=>e.view?.status===`error`));return(e,t)=>(L(),z(gz,{title:A(Y)(`proxy.routes.title`),description:A(Y)(`proxy.routes.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`secondary`,disabled:n.disabled,onClick:t[0]||=e=>r(`add`)},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(` `+O(A(Y)(`proxy.routes.add`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[o.value.length>0?(L(),R(`div`,RX,[V(_H,{tone:`danger`,title:A(Y)(`proxy.routes.cannotSaveTitle`)},{default:j(()=>[B(`ul`,zX,[(L(!0),R(I,null,P(o.value,e=>(L(),R(`li`,{key:e.route.id},O(e.view?.message??A(Y)(`proxy.routes.cannotRoute`,{host:e.route.host})),1))),128))])]),_:1},8,[`title`])])):U(``,!0),a.value.length===0?(L(),R(`div`,BX,[V(gL,{compact:``,title:A(Y)(`proxy.routes.emptyTitle`),description:A(Y)(`proxy.routes.emptyDescription`)},{icon:j(()=>[V(A(Ry),{class:`size-5`})]),action:j(()=>[V($,{variant:`primary`,disabled:n.disabled,onClick:t[1]||=e=>r(`add`)},{default:j(()=>[H(O(A(Y)(`proxy.routes.addFirst`)),1)]),_:1},8,[`disabled`])]),_:1},8,[`title`,`description`])])):(L(),R(`div`,VX,[B(`table`,HX,[B(`thead`,null,[B(`tr`,UX,[B(`th`,WX,O(A(Y)(`proxy.routes.columnHostname`)),1),B(`th`,GX,O(A(Y)(`proxy.routes.columnTarget`)),1),B(`th`,KX,O(A(Y)(`proxy.routes.columnUpstream`)),1),B(`th`,qX,O(A(Y)(`proxy.routes.columnTls`)),1),B(`th`,JX,O(A(Y)(`proxy.routes.columnState`)),1),B(`th`,YX,O(A(Y)(`proxy.routes.columnOn`)),1),B(`th`,XX,[B(`span`,ZX,O(A(Y)(`common.actions`)),1)])])]),B(`tbody`,null,[(L(!0),R(I,null,P(a.value,e=>(L(),R(`tr`,{key:e.route.key,class:`border-t border-line-soft align-top`},[B(`td`,QX,[B(`p`,$X,[e.url!==null&&e.route.enabled?(L(),R(`a`,{key:0,href:e.url,target:`_blank`,rel:`noopener noreferrer`,class:`transition-colors duration-150 hover:text-accent hover:underline`,title:A(Y)(`proxy.routes.openInTab`,{url:e.url})},O(e.route.host),9,eZ)):(L(),R(I,{key:1},[H(O(e.route.host.trim().length>0?e.route.host:A(Y)(`proxy.routes.noHostname`)),1)],64)),e.route.path.length>0?(L(),R(`span`,tZ,O(e.route.path),1)):U(``,!0)]),B(`p`,nZ,O(e.route.id),1)]),B(`td`,rZ,O(e.target),1),B(`td`,iZ,O(e.view?.upstream??`—`),1),B(`td`,aZ,[H(O(e.tls)+` `,1),e.certificate?(L(),R(`div`,oZ,[V(_U,{tone:e.certificate.tone,dot:``},{default:j(()=>[H(O(A(Y)(e.certificate.labelKey)),1)]),_:2},1032,[`tone`]),e.certificate.message?(L(),R(`p`,{key:0,class:D([`mt-0.5 text-2xs`,e.certificate.tone===`danger`?`text-danger`:`text-faint`])},O(e.certificate.message),3)):U(``,!0),i(e.view?.certificate?.state)?(L(),R(`div`,sZ,[V(LX,{host:e.route.host,"retry-in":A(iY)(e.certificate?.retryInMinutes??null),busy:n.disabled,onConfirm:t=>r(`retry`,e.route)},null,8,[`host`,`retry-in`,`busy`,`onConfirm`])])):U(``,!0)])):U(``,!0)]),B(`td`,cZ,[e.meta?(L(),z(_U,{key:0,tone:e.meta.tone,dot:``},{default:j(()=>[H(O(A(Y)(e.meta.labelKey)),1)]),_:2},1032,[`tone`])):(L(),z(_U,{key:1,tone:`info`,dot:``},{default:j(()=>[H(O(A(Y)(`proxy.status.unapplied`)),1)]),_:1})),e.view?.message?(L(),R(`p`,{key:2,class:D([`mt-0.5 text-2xs`,e.view.status===`error`?`text-danger`:`text-warn`])},O(e.view.message),3)):U(``,!0)]),B(`td`,lZ,[V(Vz,{"model-value":e.route.enabled,label:A(Y)(`proxy.routes.toggle`,{name:e.route.host||e.route.id}),"sr-only":``,disabled:n.disabled,"onUpdate:modelValue":t=>r(`toggle`,e.route,t)},null,8,[`model-value`,`label`,`disabled`,`onUpdate:modelValue`])]),B(`td`,uZ,[B(`span`,dZ,[V($,{size:`xs`,variant:`ghost`,disabled:n.disabled,"aria-label":A(Y)(`proxy.routes.edit`,{name:e.route.host||e.route.id}),onClick:t=>r(`edit`,e.route)},{default:j(()=>[V(A(gy),{class:`size-3.5`})]),_:1},8,[`disabled`,`aria-label`,`onClick`]),V($,{size:`xs`,variant:`danger-ghost`,disabled:n.disabled,"aria-label":A(Y)(`proxy.routes.remove`,{name:e.route.host||e.route.id}),onClick:t=>r(`remove`,e.route)},{default:j(()=>[V(A(Iy),{class:`size-3.5`})]),_:1},8,[`disabled`,`aria-label`,`onClick`])])])]))),128))])])]))]),_:1},8,[`title`,`description`]))}}),pZ={class:`min-h-full`},mZ={class:`mx-auto w-full max-w-5xl px-4 pb-6 pt-5 sm:px-6`},hZ={class:`mb-5`},gZ={class:`text-xl font-semibold tracking-tight text-ink`},_Z={class:`mt-1 text-xs text-muted`},vZ={class:`mt-1 text-2xs leading-4 text-faint`},yZ={key:2,class:`space-y-6`},bZ={key:0,class:`sticky bottom-0 z-30 border-t border-line bg-panel/95 backdrop-blur`},xZ={class:`mx-auto flex w-full max-w-5xl flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 sm:px-6`},SZ={class:`min-w-0 flex-1`},CZ={class:`text-xs text-muted`},wZ={class:`font-mono tabular-nums text-ink`},TZ={key:0,class:`mt-0.5 text-xs text-danger`},EZ={key:1,class:`mt-0.5 text-xs text-danger`},DZ={key:2,class:`mt-0.5 text-xs text-ok`},OZ={class:`flex shrink-0 items-center gap-2`},kZ=N({__name:`ProxyView`,setup(e){let t=XN(),n=vN(),r=k(null),i=k(null),a=k(null),o=k(!1),s=k(null),c=k({enabled:!1,httpPort:80,httpsPort:443,email:``,staging:!1,dns01:!1,resolvers:``}),l=k([]),u=k(!1),d=k(null),f=W(()=>t.proxy.value??r.value),p=W(()=>f.value?.config??null),m=W(()=>f.value?.engine.path??null),h=W(()=>t.workspaces.value.map(e=>({id:e.id,label:e.label,servers:e.servers.map(e=>({id:e.id}))}))),g=W(()=>TJ(c.value,l.value)?gJ(l.value):null),_=W(()=>p.value!==null&&kJ(p.value.routes,l.value)!==null),v=W(()=>{if(p.value===null)return 0;let e=wJ(p.value,c.value,l.value);return e===null?0:Object.keys(e).filter(e=>e!==`routes`).length+(e.routes===void 0?0:1)}),y=W(()=>(f.value?.routes??[]).filter(e=>e.status===`error`)),b=W(()=>_.value?[]:y.value.map(e=>e.message??Y(`proxy.routes.cannotRoute`,{host:e.route.host}))),x={};function S(){let e=p.value;if(e===null)return;qR(x.listener,{...c.value})||(Object.assign(c.value,ZJ(e)),x.listener={...c.value});let t=FJ(l.value);qR(x.routes,t)||(l.value=QJ(e.routes),x.routes=FJ(l.value))}M(f,S,{immediate:!0});async function C(){i.value=null;try{r.value=await Xj()}catch(e){i.value=Lj(e)}}na(()=>{t.proxy.value===null&&C()});let w={install:()=>$j(),start:lM,stop:uM,apply:Gj,revert:oM},T={install:`proxy.view.engineInstalled`,start:`proxy.view.engineStarting`,stop:`proxy.view.engineStopping`,apply:`proxy.view.configApplied`,revert:`proxy.view.configReverted`};async function ee(e){if(s.value===null){s.value=e,a.value=null;try{r.value=await w[e](),n.success(Y(T[e])),await t.refresh()}catch(e){a.value=Lj(e)}finally{s.value=null}}}let te=k(null),ne=k(null);async function re(){let e=p.value,i=e===null?null:wJ(e,c.value,l.value);if(!(i===null||o.value||b.value.length>0)){o.value=!0,te.value=null,ne.value=null;try{r.value=await nM(i),await t.refresh(),ne.value=Y(`proxy.view.settingsSaved`),n.success(Y(`proxy.view.settingsSavedToast`)),delete x.listener,delete x.routes,S()}catch(e){te.value=Lj(e)}finally{o.value=!1}}}function ie(){te.value=null,ne.value=null,delete x.listener,delete x.routes,S()}function ae(){d.value=null,u.value=!0}function oe(e){d.value=e,u.value=!0}function se(e){l.value=$J(l.value,d.value,e),d.value=null}function ce(e){l.value=l.value.filter(t=>t.key!==e.key)}async function le(e){s.value=`apply`;try{r.value=await aM(e.id),await t.refresh(),n.success(Y(`proxy.view.retryAsked`,{host:e.host}))}catch(e){n.failure(Y(`proxy.view.retryFailed`),Lj(e))}finally{s.value=null}}function E(e,t){e.enabled=t}async function ue(e){r.value=e,await t.refresh()}return(e,t)=>(L(),R(`div`,pZ,[B(`div`,mZ,[B(`header`,hZ,[B(`h1`,gZ,O(A(Y)(`proxy.view.title`)),1),B(`p`,_Z,O(A(Y)(`proxy.view.description`)),1),B(`p`,vZ,O(A(Y)(`proxy.view.dnsNote`)),1)]),i.value?(L(),z(_H,{key:0,tone:`danger`,title:A(Y)(`proxy.view.readFailed`),class:`mb-4`},{default:j(()=>[H(O(i.value),1)]),_:1},8,[`title`])):U(``,!0),f.value===null&&i.value===null?(L(),z(_H,{key:1,tone:`info`,class:`mb-4`},{default:j(()=>[H(O(A(Y)(`proxy.view.reading`)),1)]),_:1})):U(``,!0),f.value===null?U(``,!0):(L(),R(`div`,yZ,[V(gX,{view:f.value,busy:s.value,onAct:ee},null,8,[`view`,`busy`]),a.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(a.value),1)]),_:1})):U(``,!0),V(DX,{form:c.value,"onUpdate:form":t[0]||=e=>c.value=e,"engine-path":m.value,"email-host":g.value,"dns-accounts":f.value?.dnsAccounts??[]},null,8,[`form`,`engine-path`,`email-host`,`dns-accounts`]),V(fZ,{routes:l.value,views:f.value.routes,workspaces:h.value,"http-port":f.value.config.httpPort,"https-port":f.value.config.httpsPort,disabled:o.value,onAdd:ae,onEdit:oe,onRemove:ce,onRetry:le,onToggle:E},null,8,[`routes`,`views`,`workspaces`,`http-port`,`https-port`,`disabled`]),V(FY,{certificates:f.value.certificates,disabled:o.value,onChanged:ue},null,8,[`certificates`,`disabled`])]))]),f.value===null?U(``,!0):(L(),R(`div`,bZ,[B(`div`,xZ,[B(`div`,SZ,[B(`p`,CZ,[v.value>0?(L(),R(I,{key:0},[B(`span`,wZ,O(v.value),1),H(` `+O(A(_F)(`proxy.view.fieldChanged`,v.value)),1)],64)):(L(),R(I,{key:1},[H(O(A(Y)(`proxy.view.noChanges`)),1)],64))]),b.value.length>0?(L(),R(`p`,TZ,O(b.value.join(` · `)),1)):te.value?(L(),R(`p`,EZ,O(te.value),1)):ne.value?(L(),R(`p`,DZ,O(ne.value),1)):U(``,!0)]),B(`div`,OZ,[V($,{variant:`ghost`,disabled:v.value===0||o.value,onClick:ie},{default:j(()=>[H(O(A(Y)(`proxy.view.discard`)),1)]),_:1},8,[`disabled`]),V($,{variant:`primary`,disabled:v.value===0||b.value.length>0,loading:o.value,onClick:re},{default:j(()=>[H(O(A(Y)(`proxy.view.save`)),1)]),_:1},8,[`disabled`,`loading`])])])])),V(MX,{open:u.value,"onUpdate:open":t[1]||=e=>u.value=e,draft:d.value,others:l.value.filter(e=>e.key!==d.value?.key),workspaces:h.value,"dns-accounts":f.value?.dnsAccounts??[],onSave:se},null,8,[`open`,`draft`,`others`,`workspaces`,`dns-accounts`])]))}}),AZ={class:`mb-4 flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`},jZ={class:`min-w-0`},MZ={class:`text-sm font-semibold text-ink`},NZ={class:`mt-0.5 text-2xs leading-4 text-muted`},PZ={class:`flex items-center gap-2`},FZ={class:`font-mono tabular-nums`},IZ={key:1,class:`text-2xs text-faint`},LZ={class:`flex flex-col gap-3`},RZ={key:0,class:`mt-3 rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 font-mono text-2xs leading-4 text-danger`},zZ={class:`mt-4 flex items-center justify-end gap-2 border-t border-line pt-3.5`},BZ={class:`max-h-[60dvh] overflow-auto`},VZ={key:0,class:`divide-y divide-line-soft`},HZ={class:`font-mono text-xs text-ink`},UZ={class:`ml-auto font-mono text-xs text-muted line-through`},WZ={class:`font-mono text-xs text-accent`},GZ={key:1,class:`text-xs text-muted`},KZ=N({__name:`ServerConfigEditor`,props:{serverId:{},workspaceId:{},config:{}},emits:[`saved`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=[`restart`,`health`,`stop`],a=XN(),o=k(!1),s=k(null);function c(e){return e>0?Math.round(e/1024/1024):null}function l(e){return{label:e.label??``,command:e.command,cwd:e.cwd,args:e.args.join(`
43
- `),env:ez(e.env),dataEnvs:ez(e.dataEnvs),backupPaths:e.backupPaths.join(`
44
- `),backupIgnoreGenerated:e.backupIgnoreGenerated!==!1,dependsOn:e.dependsOn.join(`, `),envFile:e.envFile,maxRssMb:c(e.resources.maxRssBytes),port:e.port,bind:e.bind,onPortConflict:e.onPortConflict,logBufferLines:e.logBufferLines,enabled:e.enabled,autostart:e.autostart,persistent:e.persistent===!0,bootstrapEnabled:e.bootstrap!==null&&e.bootstrap!==void 0,bootstrapCommand:e.bootstrap?.command??``,bootstrapArgs:(e.bootstrap?.args??[]).join(`
45
- `),bootstrapEnv:ez(e.bootstrap?.env??{}),bootstrapTimeoutMs:e.bootstrap?.timeoutMs??12e4,bootstrapRunOnce:e.bootstrap?.runOnce??!0}}let u=tn(l(n.config)),d=k({...n.config.restart}),f=k(TR(n.config.health)),p=k({...n.config.stop}),m=W(()=>{let e=[{value:`local`,label:Y(`bind.local`)},{value:`lan`,label:Y(`bind.lan`)}];return/^\d{1,3}(?:\.\d{1,3}){3}$/.test(n.config.bind)&&e.push({value:n.config.bind,label:Y(`bind.explicit`,{bind:n.config.bind})}),e});function h(){let e=Number.isFinite(u.maxRssMb)?u.maxRssMb:0,t=Number.isFinite(u.logBufferLines)&&u.logBufferLines>=50?u.logBufferLines:50,n=Number.isFinite(u.bootstrapTimeoutMs)?u.bootstrapTimeoutMs:0;return{label:u.label.trim().length===0?null:u.label.trim(),command:u.command.trim(),cwd:u.cwd.trim()===``?`.`:u.cwd.trim(),args:$R(u.args),env:tz(u.env),dataEnvs:tz(u.dataEnvs),backupPaths:$R(u.backupPaths),backupIgnoreGenerated:u.backupIgnoreGenerated,dependsOn:nz(u.dependsOn),envFile:u.envFile.trim(),resources:{maxRssBytes:e>0?Math.round(e*1024*1024):0},port:u.port===null||Number.isNaN(u.port)?null:u.port,bind:u.bind,onPortConflict:u.onPortConflict,logBufferLines:t,enabled:u.enabled,autostart:u.autostart,persistent:u.persistent,restart:{...d.value},health:TR(f.value),stop:{...p.value},bootstrap:u.bootstrapEnabled?{command:u.bootstrapCommand.trim(),args:$R(u.bootstrapArgs),env:tz(u.bootstrapEnv),timeoutMs:n,runOnce:u.bootstrapRunOnce}:null}}function g(e,t){let r=n.config[t]??{},i=e[t]??{},a={};for(let[e,t]of Object.entries(i))r[e]!==t&&(a[e]=t);return Object.keys(a).length>0?a:null}function _(e){for(let t of i)g(e,t)===null&&delete e[t];return _R(n.config,e)}function v(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}let y=W(()=>_(h())),b=W(()=>bR(y.value)),x=W(()=>b.value>0),S=W(()=>yR(y.value,n.config)),C=k(!1),w=T(n.config);function T(e){return JSON.parse(JSON.stringify(e))}function ee(e){Object.assign(u,l(e)),d.value={...e.restart},f.value=TR(e.health),p.value={...e.stop},w=T(e),s.value=null}M(()=>n.config,e=>{v(e,w)||ee(e)});async function te(){s.value=null,o.value=!0;try{let e=h(),t=BA(e);if(t instanceof J.errors){s.value=t.summary;return}let i=_(e);if(Object.keys(i).length===0){r(`saved`);return}if(await a.saveConfig(n.workspaceId,n.serverId,i),a.lastError.value!==null){s.value=a.lastError.value;return}r(`saved`)}finally{o.value=!1}}return(e,t)=>(L(),R(I,null,[B(`form`,{class:`border-t border-line bg-page/40 px-4 py-4`,onSubmit:lu(te,[`prevent`])},[B(`header`,AZ,[B(`div`,jZ,[B(`h2`,MZ,O(A(Y)(`editor.title`)),1),B(`p`,NZ,[V(iB,{k:`editor.description`},{file:j(()=>[...t[32]||=[B(`span`,{class:`font-mono`},`servers.config.json`,-1)]]),_:1})])]),B(`div`,PZ,[b.value>0?(L(),R(`button`,{key:0,type:`button`,class:`rounded-control px-1 py-0.5 text-2xs text-warn underline decoration-warn/40 underline-offset-2 transition-colors duration-150 hover:text-ink`,onClick:t[0]||=e=>C.value=!0},[B(`span`,FZ,O(b.value),1),H(` `+O(A(_F)(`editor.unsaved`,b.value)),1)])):(L(),R(`span`,IZ,O(A(Y)(`editor.inSync`)),1))])]),B(`div`,LZ,[V(gz,{title:A(Y)(`editor.process`),description:A(Y)(`editor.processDescription`),columns:2},{default:j(()=>[V(Rz,{modelValue:u.label,"onUpdate:modelValue":t[1]||=e=>u.label=e,label:A(Y)(`common.label`),placeholder:A(Y)(`editor.labelPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`]),V(Rz,{modelValue:u.command,"onUpdate:modelValue":t[2]||=e=>u.command=e,label:A(Y)(`common.command`),placeholder:`node`,required:``,class:`font-mono text-xs`},null,8,[`modelValue`,`label`]),V(Rz,{modelValue:u.cwd,"onUpdate:modelValue":t[3]||=e=>u.cwd=e,label:A(Y)(`serverForm.workingDirectory`),placeholder:`.`,hint:A(Y)(`serverForm.cwdHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:u.envFile,"onUpdate:modelValue":t[4]||=e=>u.envFile=e,label:A(Y)(`serverForm.envFile`),placeholder:A(Y)(`serverForm.envFilePlaceholder`),hint:A(Y)(`serverForm.envFileHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`placeholder`,`hint`]),V(rB,{modelValue:u.args,"onUpdate:modelValue":t[5]||=e=>u.args=e,label:A(Y)(`serverForm.arguments`),rows:3,hint:A(Y)(`editor.argumentsHint`),placeholder:`-p
46
- {port}`},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:u.env,"onUpdate:modelValue":t[6]||=e=>u.env=e,label:A(Y)(`common.environment`),rows:3,hint:A(Y)(`serverForm.envHint`),placeholder:`NODE_ENV=production`},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:u.dataEnvs,"onUpdate:modelValue":t[7]||=e=>u.dataEnvs=e,label:A(Y)(`serverForm.dataEnvs`),rows:3,hint:A(Y)(`serverForm.dataEnvsHint`),placeholder:`DATA_DIR={home}/.app`},null,8,[`modelValue`,`label`,`hint`]),V(rB,{modelValue:u.backupPaths,"onUpdate:modelValue":t[8]||=e=>u.backupPaths=e,label:A(Y)(`serverForm.backupPaths`),rows:2,hint:A(Y)(`serverForm.backupPathsHint`),placeholder:`{home}/.app/uploads`},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:u.backupIgnoreGenerated,"onUpdate:modelValue":t[9]||=e=>u.backupIgnoreGenerated=e,label:A(Y)(`serverForm.backupIgnore`),hint:A(Y)(`serverForm.backupIgnoreHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:u.dependsOn,"onUpdate:modelValue":t[10]||=e=>u.dependsOn=e,label:A(Y)(`serverForm.dependsOn`),placeholder:`postgres, redis`,hint:A(Y)(`serverForm.dependsOnHint`),class:`font-mono text-xs`},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:u.maxRssMb,"onUpdate:modelValue":t[11]||=e=>u.maxRssMb=e,label:A(Y)(`serverForm.maxRssMb`),min:0,hint:A(Y)(`serverForm.maxRssHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`editor.portTitle`),description:A(Y)(`editor.portDescription`),columns:2},{default:j(()=>[V(Dz,{modelValue:u.port,"onUpdate:modelValue":t[12]||=e=>u.port=e,label:A(Y)(`common.port`),nullable:``,min:1,max:65535,hint:A(Y)(`serverForm.portHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Nz,{modelValue:u.bind,"onUpdate:modelValue":t[13]||=e=>u.bind=e,label:A(Y)(`serverForm.bindAddress`),options:m.value,hint:A(Y)(`editor.bindHint`)},null,8,[`modelValue`,`label`,`options`,`hint`]),V(Nz,{modelValue:u.onPortConflict,"onUpdate:modelValue":t[14]||=e=>u.onPortConflict=e,label:A(Y)(`serverForm.onPortConflict`),options:[{value:`block`,label:A(Y)(`onPortConflict.block`)},{value:`warn`,label:A(Y)(`onPortConflict.warn`)},{value:`follow`,label:A(Y)(`onPortConflict.follow`)},{value:`reclaim`,label:A(Y)(`onPortConflict.reclaim`)},{value:`kill`,label:A(Y)(`onPortConflict.kill`)}]},null,8,[`modelValue`,`label`,`options`]),V(Dz,{modelValue:u.logBufferLines,"onUpdate:modelValue":t[15]||=e=>u.logBufferLines=e,label:A(Y)(`serverForm.logBufferLines`),min:50,max:1e5,step:50},null,8,[`modelValue`,`label`])]),_:1},8,[`title`,`description`]),V(gz,{title:A(Y)(`editor.lifecycle`),description:A(Y)(`editor.lifecycleDescription`),columns:3},{default:j(()=>[V(Vz,{modelValue:u.enabled,"onUpdate:modelValue":t[16]||=e=>u.enabled=e,label:A(Y)(`common.enabled`),hint:A(Y)(`serverForm.enabledHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:u.autostart,"onUpdate:modelValue":t[17]||=e=>u.autostart=e,label:A(Y)(`serverForm.autostart`),hint:A(Y)(`serverForm.autostartHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:u.persistent,"onUpdate:modelValue":t[18]||=e=>u.persistent=e,label:A(Y)(`serverForm.persistent`),hint:A(Y)(`serverForm.persistentHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),V(Hz,{restart:d.value,"onUpdate:restart":t[19]||=e=>d.value=e,health:f.value,"onUpdate:health":t[20]||=e=>f.value=e,stop:p.value,"onUpdate:stop":t[21]||=e=>p.value=e},null,8,[`restart`,`health`,`stop`]),V(gz,{title:A(Y)(`serverForm.bootstrap`),description:A(Y)(`serverForm.bootstrapDescription`),columns:2},{default:j(()=>[V(Vz,{modelValue:u.bootstrapEnabled,"onUpdate:modelValue":t[22]||=e=>u.bootstrapEnabled=e,label:A(Y)(`serverForm.runBootstrap`),hint:A(Y)(`serverForm.bootstrapHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),u.bootstrapEnabled?(L(),R(I,{key:0},[V(Rz,{modelValue:u.bootstrapCommand,"onUpdate:modelValue":t[23]||=e=>u.bootstrapCommand=e,label:A(Y)(`common.command`),placeholder:`./scripts/install.sh`,class:`font-mono text-xs`},null,8,[`modelValue`,`label`]),V(Dz,{modelValue:u.bootstrapTimeoutMs,"onUpdate:modelValue":t[24]||=e=>u.bootstrapTimeoutMs=e,label:A(Y)(`serverForm.timeoutMs`),min:1e3,step:1e3},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:u.bootstrapRunOnce,"onUpdate:modelValue":t[25]||=e=>u.bootstrapRunOnce=e,label:A(Y)(`serverForm.runOnce`),hint:A(Y)(`serverForm.runOnceHint`)},null,8,[`modelValue`,`label`,`hint`])],64)):U(``,!0),u.bootstrapEnabled?(L(),z(rB,{key:1,modelValue:u.bootstrapArgs,"onUpdate:modelValue":t[26]||=e=>u.bootstrapArgs=e,label:A(Y)(`serverForm.bootstrapArgs`),rows:2,hint:A(Y)(`serverForm.bootstrapArgsHint`)},null,8,[`modelValue`,`label`,`hint`])):U(``,!0),u.bootstrapEnabled?(L(),z(rB,{key:2,modelValue:u.bootstrapEnv,"onUpdate:modelValue":t[27]||=e=>u.bootstrapEnv=e,label:A(Y)(`serverForm.bootstrapEnv`),rows:2,hint:A(Y)(`serverForm.bootstrapEnvHint`)},null,8,[`modelValue`,`label`,`hint`])):U(``,!0)]),_:1},8,[`title`,`description`])]),s.value?(L(),R(`p`,RZ,O(s.value),1)):U(``,!0),B(`div`,zZ,[V($,{variant:`ghost`,onClick:t[28]||=e=>r(`cancel`)},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1}),V($,{type:`submit`,variant:`primary`,disabled:o.value||!x.value,loading:o.value},{default:j(()=>[H(O(A(Y)(`editor.save`)),1)]),_:1},8,[`disabled`,`loading`])])],32),V($z,{open:C.value,"onUpdate:open":t[31]||=e=>C.value=e,title:A(Y)(`editor.changesTitle`),description:A(Y)(`editor.changesDescription`),width:`w-[min(92vw,42rem)]`},{footer:j(()=>[V($,{size:`sm`,variant:`ghost`,onClick:t[29]||=e=>C.value=!1},{default:j(()=>[H(O(A(Y)(`common.close`)),1)]),_:1}),V($,{size:`sm`,variant:`primary`,disabled:S.value.length===0||o.value,loading:o.value,onClick:t[30]||=e=>{te(),C.value=!1}},{default:j(()=>[H(O(A(_F)(`editor.saveChanges`,S.value.length)),1)]),_:1},8,[`disabled`,`loading`])]),default:j(()=>[B(`div`,BZ,[S.value.length>0?(L(),R(`ul`,VZ,[(L(!0),R(I,null,P(S.value,e=>(L(),R(`li`,{key:e.path,class:`flex flex-wrap items-baseline gap-x-3 gap-y-1 py-2 first:pt-0`},[B(`code`,HZ,O(e.path),1),B(`span`,UZ,O(A(zL)(e.from)),1),t[33]||=B(`span`,{class:`text-2xs text-faint`},`→`,-1),B(`span`,WZ,O(A(zL)(e.to)),1)]))),128))])):(L(),R(`p`,GZ,O(A(Y)(`editor.nothingToSave`)),1))])]),_:1},8,[`open`,`title`,`description`])],64))}}),qZ={key:0,class:`mx-auto max-w-3xl p-4 sm:p-5`},JZ={key:1,class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},YZ={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},XZ={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},ZZ={class:`font-mono text-xs text-faint`},QZ=[`href`],$Z={class:`px-2 py-1.5`},eQ={class:`mb-1 text-2xs text-faint`},tQ={class:`flex flex-col gap-0.5`},nQ=[`onClick`],rQ={class:`space-y-2`},iQ={key:0,class:`flex flex-wrap items-center gap-x-3 gap-y-2 rounded-control border border-danger/25 bg-danger-soft px-3 py-2`},aQ={class:`min-w-0 flex-1 text-2xs leading-4 text-danger`},oQ={key:1,class:`rounded-control border border-warn/25 bg-warn-soft px-3 py-2 text-2xs leading-4 text-warn`},sQ={class:`grid grid-cols-2 gap-x-4 gap-y-3 p-4 sm:grid-cols-4 lg:grid-cols-6`},cQ={class:`truncate text-2xs text-faint`},lQ={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},uQ={class:`text-sm font-semibold text-ink`},dQ={class:`text-2xs text-muted`},fQ={class:`grid gap-4 sm:grid-cols-3`},pQ={class:`flex items-center justify-between gap-3`},mQ=[`title`],hQ={key:1,class:`space-y-4`},gQ={class:`text-sm font-semibold text-ink`},_Q={class:`text-2xs text-muted`},vQ={key:0,class:`max-h-96 overflow-auto rounded-control border border-line bg-page/60 p-3 font-mono text-2xs leading-5 text-muted`},yQ={key:1,class:`grid grid-cols-1 gap-x-6 gap-y-2 sm:grid-cols-2`},bQ={class:`text-2xs text-faint`},xQ=[`title`],SQ={key:2,class:`grid gap-4 lg:grid-cols-3`},CQ={class:`text-sm font-semibold text-ink`},wQ={class:`text-2xs text-muted`},TQ={class:`text-sm font-semibold text-ink`},EQ={key:0,class:`flex flex-wrap gap-1.5`},DQ={key:1,class:`text-xs text-muted`},OQ={class:`text-xs text-muted`},kQ=N({__name:`ServerDetailView`,setup(e){let t=zg(),n=XN(),r=dP(),i=W(()=>String(t.params.id??``));M([i,()=>n.appState.value],()=>{let e=i.value;if(e.length===0||r.serverById(e)!==void 0)return;let t=n.workspaces.value.filter(t=>t.servers.some(t=>t.id===e));t.length===1&&r.select(t[0].id)},{immediate:!0});let a=W(()=>r.serverById(i.value)),o=W(()=>a.value?.config),s=W(()=>{let e=o.value;return e?.label&&e.label.length>0?e.label:i.value}),c=k(`output`),l=k(!1),u=k(!1),d=k(!1),f=k(!1),p=YN(r.activeId,()=>a.value?i.value:null),m=p.version,h=W(()=>(m.value,p.lines())),g=W(()=>r.seriesOf(i.value)),_=n.now,v=W(()=>a.value?pB(a.value,mB()):null),y=W(()=>g.value.cpu),b=W(()=>g.value.rss),x=W(()=>g.value.probe),S=W(()=>{let e=a.value;return!e||e.startedAt===null||e.status!==`running`?`—`:jL(_.value-e.startedAt)}),C=W(()=>a.value?.status===`running`),w={unknown:`common.unknown`,free:`views.serverDetail.portFree`,"in-use":`views.serverDetail.portInUse`},T=W(()=>{let e=a.value;if(!e)return[];let t=[{key:`pid`,label:Y(`views.serverDetail.pid`),value:e.pid===null?`—`:String(e.pid)},{key:`uptime`,label:Y(`common.uptime`),value:S.value},{key:`status`,label:Y(`common.status`),value:Y(qI[e.status].labelKey)},{key:`health`,label:Y(`views.serverDetail.health`),value:Y(JI[e.health].labelKey)},{key:`port`,label:Y(`views.serverDetail.portState`),value:Y(w[e.portState]??`common.unknown`)},{key:`probe`,label:Y(`views.serverDetail.lastProbe`),value:e.responseMs===null?`—`:`${e.responseMs} ms`},{key:`rss`,label:`RSS`,value:LL(e.resources?.rssBytes??null)},{key:`procs`,label:Y(`views.serverDetail.processes`),value:e.resources?String(e.resources.processes):`—`},{key:`restarts`,label:Y(`views.serverDetail.restarts`),value:`${e.restarts}/${e.maxRetries}`},{key:`up24`,label:Y(`views.serverDetail.uptime24`),value:_L(e.history.uptimeRatio)},{key:`crashes`,label:Y(`views.serverDetail.crashes24`),value:String(e.history.crashes)},{key:`lastcrash`,label:Y(`views.serverDetail.lastCrash`),value:NL(e.history.lastCrashAt,_.value)}];return e.nextRetryAt!==null&&t.push({key:`retry`,label:Y(`views.serverDetail.nextAttempt`),value:ML(e.nextRetryAt,_.value)}),e.unhealthySince!==null&&t.push({key:`unhealthy`,label:Y(`views.serverDetail.unhealthyFor`),value:jL(_.value-e.unhealthySince)}),t}),ee=W(()=>JSON.stringify(o.value??{},null,2)),te=W(()=>o.value?`${o.value.command} ${o.value.args.join(` `)}`.trim():``),ne=W(()=>{let e=o.value?.bind??`local`,t=[{value:`local`,label:Y(`views.serverDetail.bindLocal`)},{value:`lan`,label:Y(`views.serverDetail.bindLan`)}];return e!==`local`&&e!==`lan`&&t.push({value:e,label:Y(`views.serverDetail.bindCustom`,{bind:e})}),t});async function re(e){f.value=!0;try{await n[e](r.activeId.value,i.value)}finally{f.value=!1}}async function ie(){d.value=!1,await r.removeServer(i.value)}async function ae(){let e=a.value;if(e){f.value=!0;try{await r.freePort(e.id)}finally{f.value=!1}}}let oe=W(()=>HM(r.activeId.value,i.value,`${i.value}.log`)),se=[{value:`output`,labelKey:`views.serverDetail.sectionOutput`},{value:`config`,labelKey:`views.serverDetail.sectionConfig`},{value:`history`,labelKey:`views.serverDetail.sectionHistory`}].map(e=>({value:e.value,label:Y(e.labelKey)}));return(e,t)=>{let n=pa(`RouterLink`);return a.value?(L(),R(`div`,JZ,[V(CV,{title:s.value,"back-to":A(u1)(A(r).activeId.value,`servers`),"back-label":A(Y)(`views.serverDetail.allServers`)},{badges:j(()=>[V(zB,{status:a.value.status,health:a.value.health},null,8,[`status`,`health`]),a.value.adopted?(L(),z(BB,{key:0,label:A(Y)(`views.serverDetail.detachedHint`)},{default:j(()=>[B(`span`,YZ,O(A(Y)(`views.serverDetail.detached`)),1)]),_:1},8,[`label`])):U(``,!0),a.value.config.persistent?(L(),z(BB,{key:1,label:A(Y)(`views.serverDetail.persistentHint`)},{default:j(()=>[B(`span`,XZ,O(A(Y)(`views.serverDetail.persistent`)),1)]),_:1},8,[`label`])):U(``,!0),B(`span`,ZZ,O(a.value.id),1),v.value?(L(),R(`a`,{key:2,href:v.value,target:`_blank`,rel:`noreferrer`,class:`inline-flex items-center gap-1 font-mono text-xs text-accent hover:underline`},[H(O(v.value)+` `,1),V(A(Zv),{class:`size-3`})],8,QZ)):U(``,!0)]),actions:j(()=>[V($,{variant:`primary`,disabled:f.value||!o.value?.enabled||[`running`,`starting`].includes(a.value.status),onClick:t[0]||=e=>re(`start`)},{default:j(()=>[V(A(_y),{class:`size-3.5`}),H(O(A(Y)(`views.serverDetail.start`)),1)]),_:1},8,[`disabled`]),V($,{disabled:f.value||a.value.status===`stopped`,onClick:t[1]||=e=>re(`stop`)},{default:j(()=>[V(A(jy),{class:`size-3.5`}),H(O(A(Y)(`views.serverDetail.stop`)),1)]),_:1},8,[`disabled`]),V($,{disabled:f.value||!o.value?.enabled,onClick:t[2]||=e=>re(`restart`)},{default:j(()=>[V(A(Sy),{class:`size-3.5`}),H(O(A(Y)(`views.serverDetail.restart`)),1)]),_:1},8,[`disabled`]),V(BB,{label:A(Y)(`views.serverDetail.editHint`)},{default:j(()=>[V($,{variant:l.value?`secondary`:`ghost`,onClick:t[3]||=e=>{l.value=!l.value,c.value=`config`}},{default:j(()=>[V(A(gy),{class:`size-3.5`}),H(O(l.value?A(Y)(`views.serverDetail.closeEditor`):A(Y)(`common.edit`)),1)]),_:1},8,[`variant`])]),_:1},8,[`label`]),V(A(eg),null,{default:j(()=>[V(A(ag),{"as-child":``},{default:j(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":A(Y)(`views.serverDetail.moreActions`,{label:s.value})},{default:j(()=>[V(A(Xv),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(A(rg),null,{default:j(()=>[V(A(tg),{"side-offset":4,align:`end`,class:`z-50 min-w-56 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:t[4]||=e=>A(r).setEnabled(a.value.id,!a.value.config.enabled)},{default:j(()=>[H(O(o.value?.enabled?A(Y)(`views.serverDetail.disableServer`):A(Y)(`views.serverDetail.enableServer`)),1)]),_:1}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:t[5]||=e=>A(r).setAutostart(a.value.id,!a.value.config.autostart)},{default:j(()=>[H(O(o.value?.autostart?A(Y)(`views.serverDetail.removeAutostart`):A(Y)(`views.serverDetail.autostart`)),1)]),_:1}),V(A(ig),{class:`my-1 h-px bg-line`}),B(`div`,$Z,[B(`p`,eQ,O(A(Y)(`views.serverDetail.bind`)),1),B(`div`,tQ,[(L(!0),R(I,null,P(ne.value,e=>(L(),R(`button`,{key:e.value,type:`button`,class:D([`rounded-control px-2 py-1 text-left font-mono text-2xs transition-colors duration-150 hover:bg-hover`,e.value===o.value?.bind?`text-accent`:`text-muted`]),onClick:t=>A(r).setBind(a.value.id,e.value)},O(e.label),11,nQ))),128))])]),V(A(ig),{class:`my-1 h-px bg-line`}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-danger outline-none data-[highlighted]:bg-danger-soft`,onSelect:t[6]||=e=>d.value=!0},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(` `+O(A(Y)(`views.serverDetail.removeServer`)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,[`title`,`back-to`,`back-label`]),B(`div`,rQ,[a.value.lastError?(L(),R(`div`,iQ,[B(`p`,aQ,O(a.value.lastError),1),a.value.status===`conflict`&&a.value.config.port!==null?(L(),z(vB,{key:0,port:a.value.config.port,busy:f.value,onConfirm:ae},null,8,[`port`,`busy`])):U(``,!0)])):U(``,!0),a.value.health===`unhealthy`?(L(),R(`p`,oQ,[a.value.unhealthySince===null?(L(),R(I,{key:1},[H(O(A(Y)(`views.serverDetail.probeFailed`)),1)],64)):(L(),R(I,{key:0},[H(O(A(Y)(`views.serverDetail.probeFailedFor`,{duration:A(jL)(A(_)-a.value.unhealthySince)})),1)],64))])):U(``,!0)]),V(DV,{class:`p-0`},{default:j(()=>[B(`dl`,sQ,[(L(!0),R(I,null,P(T.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,cQ,O(e.label),1),B(`dd`,lQ,O(e.value),1)]))),128))])]),_:1}),V(DV,null,{header:j(()=>[B(`h2`,uQ,O(A(Y)(`views.serverDetail.telemetry`)),1),B(`p`,dQ,O(A(Y)(`views.serverDetail.telemetryNote`)),1)]),default:j(()=>[B(`div`,fQ,[V(FB,{label:A(Y)(`common.cpu`),values:y.value,format:A(RL),max:100,"color-class":`text-cpu`,height:40},null,8,[`label`,`values`,`format`]),V(FB,{label:A(Y)(`views.serverDetail.memoryRss`),values:b.value,format:A(LL),"color-class":`text-mem`,height:40},null,8,[`label`,`values`,`format`]),V(FB,{label:A(Y)(`views.serverDetail.healthProbe`),values:x.value,format:e=>e===null?`—`:`${e} ms`,"color-class":`text-probe`,height:40},null,8,[`label`,`values`,`format`])])]),_:1}),B(`div`,pQ,[V(gW,{modelValue:c.value,"onUpdate:modelValue":t[7]||=e=>c.value=e,options:A(se),size:`md`},null,8,[`modelValue`,`options`]),B(`p`,{class:`hidden font-mono text-2xs text-faint sm:block`,title:te.value},O(te.value),9,mQ)]),c.value===`output`?(L(),z(cq,{key:0,lines:h.value,version:A(m),live:``,clearable:``,"download-url":a.value.config.logBufferLines>0?oe.value:void 0,"download-name":`${a.value.id}.log`,"empty-hint":C.value?A(Y)(`views.serverDetail.waitingFirstLine`):A(Y)(`views.serverDetail.neverWritten`),"min-height":`22rem`,onClear:t[8]||=e=>A(r).clearLogs(a.value.id)},null,8,[`lines`,`version`,`download-url`,`download-name`,`empty-hint`])):c.value===`config`?(L(),R(`div`,hQ,[l.value?(L(),z(KZ,{key:0,"server-id":a.value.id,"workspace-id":A(r).activeId.value,config:a.value.config,onSaved:t[9]||=e=>l.value=!1,onCancel:t[10]||=e=>l.value=!1},null,8,[`server-id`,`workspace-id`,`config`])):(L(),z(DV,{key:1},{header:j(()=>[B(`h2`,gQ,O(A(Y)(`views.serverDetail.effectiveConfig`)),1),B(`p`,_Q,O(A(Y)(`views.serverDetail.effectiveConfigNote`)),1)]),actions:j(()=>[V($,{size:`xs`,variant:`ghost`,onClick:t[11]||=e=>u.value=!u.value},{default:j(()=>[V(A(Gv),{class:`size-3`}),H(O(u.value?A(Y)(`views.serverDetail.fields`):A(Y)(`views.serverDetail.rawJson`)),1)]),_:1}),V(hU,{value:ee.value,label:A(Y)(`views.serverDetail.copyJson`)},null,8,[`value`,`label`]),V($,{size:`xs`,variant:`primary`,onClick:t[12]||=e=>l.value=!0},{default:j(()=>[V(A(gy),{class:`size-3`}),H(O(A(Y)(`common.edit`)),1)]),_:1})]),default:j(()=>[u.value?(L(),R(`pre`,vQ,O(ee.value),1)):(L(),R(`dl`,yQ,[(L(!0),R(I,null,P([{label:A(Y)(`views.serverDetail.fieldCommand`),value:o.value?.command},{label:A(Y)(`views.serverDetail.fieldArgs`),value:o.value?.args.join(` `)||`—`},{label:A(Y)(`views.serverDetail.fieldCwd`),value:o.value?.cwd},{label:A(Y)(`views.serverDetail.fieldEnv`),value:Object.keys(o.value?.env??{}).join(`, `)||`—`},{label:A(Y)(`views.serverDetail.fieldDataEnvs`),value:Object.entries(o.value?.dataEnvs??{}).map(([e,t])=>`${e}=${t}`).join(`, `)||`—`},{label:A(Y)(`views.serverDetail.fieldEnvFile`),value:o.value?.envFile||`—`},{label:A(Y)(`views.serverDetail.fieldPortBind`),value:`${o.value?.port??A(Y)(`common.none`)} · ${o.value?.bind}`},{label:A(Y)(`views.serverDetail.fieldOnPortConflict`),value:o.value?.onPortConflict},{label:A(Y)(`views.serverDetail.fieldLogBuffer`),value:A(_F)(`logs.lines`,o.value?.logBufferLines??0)},{label:A(Y)(`views.serverDetail.fieldRssLimit`),value:o.value?.resources.maxRssBytes?A(LL)(o.value.resources.maxRssBytes):A(Y)(`common.none`)},{label:A(Y)(`views.serverDetail.fieldHealth`),value:o.value?.health.enabled?`${o.value.health.mode} every ${o.value.health.intervalMs} ms`:A(Y)(`common.disabled`)},{label:A(Y)(`views.serverDetail.fieldRestart`),value:o.value?.restart.enabled?`${o.value.restart.maxRetries} retries, ×${o.value.restart.factor}`:A(Y)(`common.disabled`)},{label:A(Y)(`views.serverDetail.fieldStop`),value:o.value?`${o.value.stop.signal} after ${o.value.stop.graceMs} ms`:`—`},{label:A(Y)(`views.serverDetail.fieldBootstrap`),value:o.value?.bootstrap?`${o.value.bootstrap.command} ${o.value.bootstrap.args.join(` `)}`:A(Y)(`common.none`)},{label:A(Y)(`views.serverDetail.fieldBackupPaths`),value:o.value?.backupPaths.join(`, `)||`—`},{label:A(Y)(`views.serverDetail.fieldDependsOn`),value:o.value?.dependsOn.join(`, `)||`—`}],e=>(L(),R(`div`,{key:e.label,class:`min-w-0 border-b border-line-soft pb-1.5 last:border-0`},[B(`dt`,bQ,O(e.label),1),B(`dd`,{class:`truncate font-mono text-xs text-ink`,title:String(e.value)},O(e.value),9,xQ)]))),128))]))]),_:1}))])):(L(),R(`div`,SQ,[V(DV,{class:`lg:col-span-2`},{header:j(()=>[B(`h2`,CQ,O(A(Y)(`views.serverDetail.eventHistory`)),1),B(`p`,wQ,O(A(Y)(`views.serverDetail.eventHistoryNote`)),1)]),default:j(()=>[V(fR,{servers:[a.value],now:A(_),limit:30},null,8,[`servers`,`now`])]),_:1}),V(DV,null,{header:j(()=>[B(`h2`,TQ,O(A(Y)(`views.serverDetail.dependencies`)),1)]),default:j(()=>[o.value&&o.value.dependsOn.length>0?(L(),R(`div`,EQ,[(L(!0),R(I,null,P(o.value.dependsOn,e=>(L(),z(n,{key:e,to:`/servers/${e}`,class:`rounded-full border border-line px-2 py-0.5 font-mono text-2xs text-muted transition-colors duration-150 hover:border-accent/40 hover:text-accent`},{default:j(()=>[H(O(e),1)]),_:2},1032,[`to`]))),128))])):(L(),R(`p`,DQ,[V(iB,{k:`views.serverDetail.startsOnItsOwn`},{code:j(()=>[...t[15]||=[B(`code`,null,`dependsOn`,-1)]]),_:1})]))]),_:1})])),V($z,{open:d.value,"onUpdate:open":t[14]||=e=>d.value=e,title:A(Y)(`views.serverDetail.removeTitle`),description:A(Y)(`views.serverDetail.removeDescription`,{label:s.value}),width:`w-[min(92vw,26rem)]`},{footer:j(()=>[V($,{variant:`ghost`,onClick:t[13]||=e=>d.value=!1},{default:j(()=>[H(O(A(Y)(`common.keepIt`)),1)]),_:1}),V($,{variant:`danger`,onClick:ie},{default:j(()=>[V(A(Iy),{class:`size-3.5`}),H(O(A(Y)(`common.remove`)),1)]),_:1})]),default:j(()=>[B(`p`,OQ,O(A(Y)(`views.serverDetail.removeNote`)),1)]),_:1},8,[`open`,`title`,`description`])])):(L(),R(`div`,qZ,[V(gL,{title:A(Y)(`views.serverDetail.goneTitle`),description:A(Y)(`views.serverDetail.goneDescription`,{id:i.value})},{action:j(()=>[V(n,{to:A(u1)(A(r).activeId.value,`servers`)},{default:j(()=>[V($,{variant:`primary`},{default:j(()=>[H(O(A(Y)(`views.serverDetail.backToServers`)),1)]),_:1})]),_:1},8,[`to`])]),_:1},8,[`title`,`description`])]))}}}),AQ={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},jQ={class:`flex flex-wrap items-center gap-2`},MQ={class:`relative ml-auto w-full sm:w-64`},NQ=[`placeholder`,`aria-label`],PQ=[`aria-label`],FQ={key:0,class:`grid gap-4 lg:grid-cols-2`},IQ={key:3,class:`grid gap-4 lg:grid-cols-2`},LQ=N({__name:`ServersView`,setup(e){let t=XN(),n=dP(),{servers:r}=n,i=k(!1),a=k(``),o=k(`all`),s=[{value:`all`,labelKey:`views.servers.filterAll`},{value:`running`,labelKey:`views.servers.filterRunning`},{value:`stopped`,labelKey:`views.servers.filterStopped`},{value:`attention`,labelKey:`views.servers.filterAttention`},{value:`disabled`,labelKey:`views.servers.filterDisabled`}],c=W(()=>t.appState.value===null),l=W(()=>{let e=a.value.trim().toLowerCase();return r.value.filter(t=>o.value===`running`&&t.status!==`running`||o.value===`stopped`&&![`stopped`,`stopping`].includes(t.status)||o.value===`disabled`&&t.config.enabled||o.value===`attention`&&t.status!==`crashed`&&t.status!==`conflict`&&t.health!==`unhealthy`?!1:e.length===0||`${t.id} ${t.config.label??``} ${t.config.command} ${t.config.port??``}`.toLowerCase().includes(e))}),u=W(()=>({all:r.value.length,running:r.value.filter(e=>e.status===`running`).length,attention:r.value.filter(e=>e.status===`crashed`||e.status===`conflict`||e.health===`unhealthy`).length})),d=W(()=>s.map(e=>({value:e.value,label:`${Y(e.labelKey)}${e.value===`all`?` ${u.value.all}`:e.value===`running`?` ${u.value.running}`:e.value===`attention`&&u.value.attention>0?` ${u.value.attention}`:``}`})));return(e,s)=>(L(),R(`div`,AQ,[V(CV,{title:A(Y)(`nav.servers`),description:A(Y)(`views.servers.description`,{workspace:A(n).selected.value?.label??A(Y)(`nav.workspace`)})},{actions:j(()=>[V($,{variant:`ghost`,onClick:s[0]||=e=>A(n).startAll()},{default:j(()=>[V(A(_y),{class:`size-3.5`}),H(O(A(Y)(`views.actions.startAll`)),1)]),_:1}),V($,{variant:`ghost`,onClick:s[1]||=e=>A(n).stopAll()},{default:j(()=>[V(A(jy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.stopAll`)),1)]),_:1}),V($,{variant:`primary`,onClick:s[2]||=e=>i.value=!0},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addServer`)),1)]),_:1})]),_:1},8,[`title`,`description`]),B(`div`,jQ,[V(gW,{modelValue:o.value,"onUpdate:modelValue":s[3]||=e=>o.value=e,options:d.value},null,8,[`modelValue`,`options`]),B(`div`,MQ,[V(A(wy),{class:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),Sr(B(`input`,{"onUpdate:modelValue":s[4]||=e=>a.value=e,type:`search`,placeholder:A(Y)(`views.servers.filterPlaceholder`),class:D([`pl-8`,[A(Sz)]]),"aria-label":A(Y)(`views.servers.filterAria`)},null,10,NQ),[[Jl,a.value]]),a.value.length>0?(L(),R(`button`,{key:0,type:`button`,class:`absolute right-1.5 top-1/2 grid size-6 -translate-y-1/2 place-items-center rounded-control text-faint hover:text-ink`,"aria-label":A(Y)(`views.servers.clearFilter`),onClick:s[5]||=e=>a.value=``},[V(A(zy),{class:`size-3.5`})],8,PQ)):U(``,!0)])]),c.value?(L(),R(`div`,FQ,[(L(),R(I,null,P(4,e=>V(OV,{key:e,class:`h-72 w-full`,rounded:`rounded-panel`})),64))])):A(r).length===0?(L(),z(gL,{key:1,title:A(Y)(`views.servers.emptyTitle`),description:A(Y)(`views.servers.emptyDescription`)},{icon:j(()=>[V(A(Ty),{class:`size-4`})]),action:j(()=>[V($,{variant:`primary`,onClick:s[6]||=e=>i.value=!0},{default:j(()=>[V(A(vy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1})]),_:1},8,[`title`,`description`])):l.value.length===0?(L(),z(gL,{key:2,compact:``,title:A(Y)(`views.servers.noMatchTitle`),description:A(Y)(`views.servers.noMatchDescription`)},{action:j(()=>[V($,{onClick:s[7]||=e=>{a.value=``,o.value=`all`}},{default:j(()=>[H(O(A(Y)(`views.servers.clearFilters`)),1)]),_:1})]),_:1},8,[`title`,`description`])):(L(),R(`div`,IQ,[(L(!0),R(I,null,P(l.value,e=>(L(),z(gV,{key:e.id,server:e,"workspace-id":A(n).activeId.value,series:A(n).seriesOf(e.id),now:A(t).now.value},null,8,[`server`,`workspace-id`,`series`,`now`]))),128))])),V(dB,{open:i.value,"onUpdate:open":s[8]||=e=>i.value=e,"workspace-id":A(n).activeId.value},null,8,[`open`,`workspace-id`])]))}}),RQ=0;function zQ(){return RQ+=1,`ddns-row-${RQ}`}function BQ(){return zQ()}function VQ(e){let t=structuredClone(dn(e));return t.domains=(t.domains??[]).map(e=>({...e,key:e.key??zQ()})),t}function HQ(e){let t=structuredClone(dn(e));return{...t,domains:t.domains.map(({key:e,...t})=>t)}}function UQ(e,t){return e===null||t===null?e===t:JSON.stringify(HQ(e))===JSON.stringify(HQ(t))}var WQ={intervalMs:3e5,ttl:1};function GQ(e,t){return e===null||Number.isNaN(e)?WQ[t]:e}var KQ={class:`space-y-3`},qQ={class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},JQ={class:`mb-3`},YQ={class:`text-xs font-semibold text-ink`},XQ={class:`mt-0.5 text-2xs leading-4 text-muted`},ZQ={key:0,class:`divide-y divide-line-soft`},QQ={class:`min-w-0`},$Q={class:`font-mono text-xs text-ink`},e$={class:`text-2xs text-faint`},t$={key:0},n$={class:`ml-auto flex items-center gap-2`},r$={key:1,class:`text-2xs text-muted`},i$={class:`mt-3 grid gap-2 border-t border-line-soft pt-3 sm:grid-cols-[1fr_1fr_auto] sm:items-end`},a$={class:`mt-1.5 text-2xs text-faint`},o$={class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},s$={class:`mb-3`},c$={class:`text-xs font-semibold text-ink`},l$={class:`mt-0.5 text-2xs leading-4 text-muted`},u$={key:0,class:`space-y-2`},d$={class:`flex flex-wrap items-end gap-2`},f$={class:`min-w-40 flex-1`},p$={class:`w-44 shrink-0`},m$={class:`mt-1 flex flex-wrap items-center gap-x-4 gap-y-1`},h$={key:1,class:`text-2xs text-muted`},g$={class:`mt-3 grid gap-2 border-t border-line-soft pt-3 sm:grid-cols-[1fr_1fr_auto] sm:items-end`},_$={key:1,class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},v$={class:`mb-2 flex flex-wrap items-center gap-x-3 gap-y-1`},y$={class:`text-xs font-semibold text-ink`},b$={key:0,class:`text-2xs text-muted`},x$={key:1,class:`font-mono text-2xs text-faint`},S$={key:2,class:`font-mono text-2xs text-faint`},C$={key:3,class:`ml-auto text-2xs text-faint`},w$={class:`overflow-x-auto`},T$={class:`w-full text-left text-xs`},E$={class:`text-2xs text-faint`},D$={class:`py-1 pr-3 font-medium`},O$={class:`py-1 pr-3 font-medium`},k$={class:`py-1 pr-3 font-medium`},A$={class:`py-1 pr-3 font-medium`},j$={class:`py-1 font-medium`},M$={class:`py-1.5 pr-3 font-mono text-2xs text-ink`},N$={class:`py-1.5 pr-3 text-2xs text-muted`},P$={class:`py-1.5 pr-3`},F$={class:`py-1.5 pr-3 font-mono text-2xs text-muted`},I$={class:`py-1.5 text-2xs text-faint`},L$={class:`space-y-3`},R$={class:`text-2xs leading-4 text-muted`},z$=[`href`],B$=N({__name:`DdnsSection`,props:{patch:{default:null},patchModifiers:{},baseline:{default:null},baselineModifiers:{}},emits:[`update:patch`,`update:baseline`],setup(e,{expose:t}){let n=so(e,`patch`),r=so(e,`baseline`),i={pending:{labelKey:`settings.ddns.statePending`,tone:`neutral`},ok:{labelKey:`settings.ddns.stateOk`,tone:`ok`},unchanged:{labelKey:`settings.ddns.stateUnchanged`,tone:`neutral`},skipped:{labelKey:`settings.ddns.stateSkipped`,tone:`warn`},error:{labelKey:`settings.ddns.stateError`,tone:`danger`}},a=XN(),o=dP(),s=vN(),c=k(null),l=k(null),u=k(null),d=k(null),f=k(!1),p=tn({id:``,provider:`cloudflare`}),m=tn({host:``,account:``}),h=k(null),g=k({}),_=k(!1),v=k(null),y=W(()=>c.value?.providers??[]),b=W(()=>l.value?.accounts??[]),x=W(()=>l.value?.domains??[]),S=W(()=>b.value.map(e=>e.id).join(`,`)),C=W(()=>y.value.map(e=>({value:e.id,label:e.label}))),w=W(()=>b.value.map(e=>({value:e.id,label:e.id}))),T=W(()=>o.selected.value?.ddns??c.value?.status??null),ee=W(()=>l.value!==null&&r.value!==null&&!UQ(l.value,r.value)),te=W(()=>/^[a-z0-9][a-z0-9_-]*$/.test(p.id)&&!b.value.some(e=>e.id===p.id)),ne=W(()=>m.host.includes(`.`)&&m.account.length>0&&!x.value.some(e=>e.host.toLowerCase()===m.host.trim().toLowerCase())),re=W({get:()=>h.value!==null,set:e=>{e||(h.value=null)}}),ie=W(()=>h.value===null?[]:ae(h.value.provider)?.fields??[]);function ae(e){return y.value.find(t=>t.id===e)??null}function oe(e){let t=b.value.find(t=>t.id===e.account);return t===void 0?null:ae(t.provider)}function se(e){return ae(e.provider)?.label??e.provider}function ce(e){return c.value?.credentials.includes(e)===!0}function le(e){return x.value.filter(t=>t.account===e).length}function E(e,t,n){let r=n?[...new Set([...e.types,t])]:e.types.filter(e=>e!==t);e.types=r.length>0?r:e.types}function ue(e,t,n){n==null||n===``?delete e[t]:e[t]=n}function de(e,t,n){e!==null&&(e[t]=GQ(n,t))}function fe(){n.value=l.value===null||r.value===null||UQ(l.value,r.value)?null:HQ(l.value)}function pe(e,t=!1){c.value=e,r.value=VQ(e.config),t||(l.value=VQ(e.config)),fe()}async function me(){u.value=null;try{pe(await YM(o.activeId.value)),p.provider=C.value[0]?.value??`cloudflare`,m.account=b.value[0]?.id??``}catch(e){u.value=Lj(e)}}na(()=>{me()}),M(()=>o.activeId.value,(e,t)=>{e!==t&&e.length>0&&me()}),M(l,fe,{deep:!0}),M(S,()=>{b.value.some(e=>e.id===m.account)||(m.account=b.value[0]?.id??``)});function he(){te.value&&l.value!==null&&(l.value.accounts.push({id:p.id,provider:p.provider,label:``}),p.id=``)}function ge(e){l.value===null||le(e.id)>0||(l.value.accounts=l.value.accounts.filter(t=>t.id!==e.id))}function _e(){ne.value&&l.value!==null&&(l.value.domains.push({host:m.host.trim().toLowerCase(),account:m.account,types:[`A`],proxied:!1,enabled:!0,key:BQ()}),m.host=``)}function ve(e){l.value!==null&&(l.value.domains=l.value.domains.filter(t=>t!==e))}function ye(){r.value!==null&&(l.value=VQ(r.value)),d.value=null}async function be(){if(!f.value){f.value=!0,d.value=null;try{pe(await $M(o.activeId.value),!0),s.success(T.value?.lastResult??Y(`settings.ddns.passFinished`))}catch(e){d.value=Lj(e)}finally{f.value=!1}}}function xe(e){h.value=e,g.value=Object.fromEntries((ae(e.provider)?.fields??[]).map(e=>[e.key,``])),v.value=null}async function D(){let e=h.value;if(!(e===null||_.value)){_.value=!0,v.value=null;try{pe(await ZM(o.activeId.value,e.id,e.provider,g.value),!0),s.success(Y(`settings.ddns.credentialsSaved`,{account:e.id})),h.value=null}catch(e){v.value=Lj(e)}finally{_.value=!1}}}async function Se(){let e=h.value;if(!(e===null||_.value)){_.value=!0,v.value=null;try{pe(await QM(o.activeId.value,e.id),!0),s.success(Y(`settings.ddns.credentialsRemoved`,{account:e.id})),h.value=null}catch(e){v.value=Lj(e)}finally{_.value=!1}}}return t({reload:me}),(e,t)=>(L(),R(I,null,[B(`div`,KQ,[u.value?(L(),z(_H,{key:0,tone:`danger`,title:A(Y)(`settings.ddns.loadErrorTitle`)},{default:j(()=>[H(O(u.value),1)]),_:1},8,[`title`])):U(``,!0),l.value===null?U(``,!0):(L(),R(I,{key:1},[V(gz,{title:A(Y)(`settings.ddns.title`),description:A(Y)(`settings.ddns.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!ee.value,onClick:ye},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`]),T.value?.running?(L(),z(_U,{key:0,tone:`info`,dot:``},{default:j(()=>[H(O(A(Y)(`settings.ddns.checking`)),1)]),_:1})):T.value?.enabled?(L(),z(_U,{key:1,tone:T.value.records.some(e=>e.state===`error`)?`danger`:`ok`,dot:``},{default:j(()=>[H(O(T.value.records.some(e=>e.state===`error`)?A(Y)(`settings.ddns.needsAttention`):A(Y)(`settings.ddns.watching`)),1)]),_:1},8,[`tone`])):U(``,!0),V($,{size:`xs`,variant:`ghost`,loading:f.value,onClick:be},{default:j(()=>[H(O(A(Y)(`settings.ddns.updateNow`)),1)]),_:1},8,[`loading`])]),default:j(()=>[V(Vz,{modelValue:l.value.enabled,"onUpdate:modelValue":t[0]||=e=>l.value.enabled=e,label:A(Y)(`settings.ddns.enabled`),hint:A(Y)(`settings.ddns.enabledHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{"model-value":l.value.intervalMs,label:A(Y)(`settings.ddns.interval`),min:6e4,step:6e4,hint:A(Y)(`settings.ddns.intervalHint`),"onUpdate:modelValue":t[1]||=e=>de(l.value,`intervalMs`,e)},null,8,[`model-value`,`label`,`hint`]),V(Dz,{"model-value":l.value.ttl,label:A(Y)(`settings.ddns.ttl`),min:1,hint:A(Y)(`settings.ddns.ttlHint`),"onUpdate:modelValue":t[2]||=e=>de(l.value,`ttl`,e)},null,8,[`model-value`,`label`,`hint`]),V(Vz,{modelValue:l.value.ipv4.enabled,"onUpdate:modelValue":t[3]||=e=>l.value.ipv4.enabled=e,label:A(Y)(`settings.ddns.detectIpv4`),hint:A(Y)(`settings.ddns.detectIpv4Hint`)},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:l.value.ipv6.enabled,"onUpdate:modelValue":t[4]||=e=>l.value.ipv6.enabled=e,label:A(Y)(`settings.ddns.detectIpv6`),hint:A(Y)(`settings.ddns.detectIpv6Hint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),d.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(d.value),1)]),_:1})):U(``,!0),B(`section`,qQ,[B(`header`,JQ,[B(`h3`,YQ,O(A(Y)(`settings.ddns.accountsTitle`)),1),B(`p`,XQ,O(A(Y)(`settings.ddns.accountsDescription`)),1)]),b.value.length>0?(L(),R(`ul`,ZQ,[(L(!0),R(I,null,P(b.value,e=>(L(),R(`li`,{key:e.id,class:`flex flex-wrap items-center gap-x-3 gap-y-2 py-2 first:pt-0`},[B(`div`,QQ,[B(`p`,$Q,O(e.id),1),B(`p`,e$,[H(O(se(e))+` `,1),le(e.id)>0?(L(),R(`span`,t$,` · `+O(A(_F)(`settings.ddns.hostnameCount`,le(e.id))),1)):U(``,!0)])]),B(`div`,n$,[V(_U,{tone:ce(e.id)?`ok`:`warn`,dot:``},{default:j(()=>[H(O(ce(e.id)?A(Y)(`settings.ddns.credentialsSet`):A(Y)(`settings.ddns.noCredentials`)),1)]),_:2},1032,[`tone`]),V($,{size:`xs`,variant:`secondary`,onClick:t=>xe(e)},{default:j(()=>[H(O(A(Y)(`settings.ddns.credentials`)),1)]),_:1},8,[`onClick`]),V($,{size:`xs`,variant:`danger-ghost`,disabled:le(e.id)>0,title:le(e.id)>0?A(Y)(`settings.ddns.removeAccountBlocked`):void 0,onClick:t=>ge(e)},{default:j(()=>[H(O(A(Y)(`common.remove`)),1)]),_:1},8,[`disabled`,`title`,`onClick`])])]))),128))])):(L(),R(`p`,r$,O(A(Y)(`settings.ddns.noAccounts`)),1)),B(`div`,i$,[V(Nz,{modelValue:p.provider,"onUpdate:modelValue":t[5]||=e=>p.provider=e,label:A(Y)(`settings.ddns.provider`),options:C.value},null,8,[`modelValue`,`label`,`options`]),V(Rz,{modelValue:p.id,"onUpdate:modelValue":t[6]||=e=>p.id=e,label:A(Y)(`settings.ddns.accountId`),placeholder:A(Y)(`settings.ddns.accountIdPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`]),V($,{variant:`secondary`,disabled:!te.value,onClick:he},{default:j(()=>[H(O(A(Y)(`common.add`)),1)]),_:1},8,[`disabled`])]),B(`p`,a$,O(A(Y)(`settings.ddns.accountIdHint`)),1)]),B(`section`,o$,[B(`header`,s$,[B(`h3`,c$,O(A(Y)(`settings.ddns.hostnamesTitle`)),1),B(`p`,l$,O(A(Y)(`settings.ddns.hostnamesDescription`)),1)]),x.value.length>0?(L(),R(`ul`,u$,[(L(!0),R(I,null,P(x.value,e=>(L(),R(`li`,{key:e.key,class:`rounded-control border border-line-soft bg-panel/50 p-2.5`},[B(`div`,d$,[B(`div`,f$,[V(Rz,{modelValue:e.host,"onUpdate:modelValue":t=>e.host=t,label:A(Y)(`common.hostname`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`])]),B(`div`,p$,[V(Nz,{modelValue:e.account,"onUpdate:modelValue":t=>e.account=t,label:A(Y)(`settings.ddns.account`),options:w.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`options`])]),V(IH,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,label:A(Y)(`common.enabled`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`]),V($,{size:`xs`,variant:`danger-ghost`,onClick:t=>ve(e)},{default:j(()=>[H(O(A(Y)(`common.remove`)),1)]),_:1},8,[`onClick`])]),B(`div`,m$,[V(IH,{"model-value":e.types.includes(`A`),label:A(Y)(`settings.ddns.recordA`),"onUpdate:modelValue":t=>E(e,`A`,t===!0)},null,8,[`model-value`,`label`,`onUpdate:modelValue`]),V(IH,{"model-value":e.types.includes(`AAAA`),label:A(Y)(`settings.ddns.recordAaaa`),disabled:oe(e)?.families.includes(`AAAA`)===!1,hint:oe(e)?.families.includes(`AAAA`)===!1?A(Y)(`settings.ddns.aaaaUnsupported`):void 0,"onUpdate:modelValue":t=>E(e,`AAAA`,t===!0)},null,8,[`model-value`,`label`,`disabled`,`hint`,`onUpdate:modelValue`]),oe(e)?.proxied===!0?(L(),z(IH,{key:0,modelValue:e.proxied,"onUpdate:modelValue":t=>e.proxied=t,label:A(Y)(`settings.ddns.proxied`),hint:A(Y)(`settings.ddns.proxiedHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`])):U(``,!0),e.types.includes(`AAAA`)&&!l.value.ipv6.enabled?(L(),z(_U,{key:1,tone:`warn`},{default:j(()=>[H(O(A(Y)(`settings.ddns.ipv6Off`)),1)]),_:1})):U(``,!0)]),V(Jz,{title:A(Y)(`settings.ddns.advanced`),hint:A(Y)(`settings.ddns.advancedHint`),class:`mt-2`},{default:j(()=>[V(Rz,{"model-value":e.zone??``,label:A(Y)(`settings.ddns.registeredDomain`),placeholder:A(Y)(`settings.ddns.registeredDomainPlaceholder`),hint:A(Y)(`settings.ddns.registeredDomainHint`),"onUpdate:modelValue":t=>ue(e,`zone`,t)},null,8,[`model-value`,`label`,`placeholder`,`hint`,`onUpdate:modelValue`]),oe(e)?.ttl===!1?U(``,!0):(L(),z(Dz,{key:0,"model-value":e.ttl??null,min:1,nullable:``,label:A(Y)(`settings.ddns.ttlOverride`),hint:A(Y)(`settings.ddns.ttlOverrideHint`),"onUpdate:modelValue":t=>ue(e,`ttl`,t)},null,8,[`model-value`,`label`,`hint`,`onUpdate:modelValue`]))]),_:2},1032,[`title`,`hint`])]))),128))])):(L(),R(`p`,h$,O(A(Y)(`settings.ddns.noHostnames`)),1)),B(`div`,g$,[V(Rz,{modelValue:m.host,"onUpdate:modelValue":t[7]||=e=>m.host=e,label:A(Y)(`common.hostname`),placeholder:A(Y)(`settings.ddns.hostnamePlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`]),V(Nz,{modelValue:m.account,"onUpdate:modelValue":t[8]||=e=>m.account=e,label:A(Y)(`settings.ddns.account`),options:w.value,disabled:b.value.length===0},null,8,[`modelValue`,`label`,`options`,`disabled`]),V($,{variant:`secondary`,disabled:!ne.value,onClick:_e},{default:j(()=>[H(O(A(Y)(`common.add`)),1)]),_:1},8,[`disabled`])])]),T.value!==null&&T.value.records.length>0?(L(),R(`section`,_$,[B(`header`,v$,[B(`h3`,y$,O(A(Y)(`settings.ddns.lastPass`)),1),T.value.lastResult?(L(),R(`span`,b$,O(T.value.lastResult),1)):U(``,!0),T.value.ipv4?(L(),R(`span`,x$,O(A(Y)(`settings.ddns.ipv4Value`,{address:T.value.ipv4})),1)):U(``,!0),T.value.ipv6?(L(),R(`span`,S$,O(A(Y)(`settings.ddns.ipv6Value`,{address:T.value.ipv6})),1)):U(``,!0),T.value.lastRunAt?(L(),R(`span`,C$,O(A(NL)(T.value.lastRunAt,A(a).now.value)),1)):U(``,!0)]),B(`div`,w$,[B(`table`,T$,[B(`thead`,null,[B(`tr`,E$,[B(`th`,D$,O(A(Y)(`common.hostname`)),1),B(`th`,O$,O(A(Y)(`settings.ddns.type`)),1),B(`th`,k$,O(A(Y)(`settings.ddns.state`)),1),B(`th`,A$,O(A(Y)(`settings.ddns.address`)),1),B(`th`,j$,O(A(Y)(`settings.ddns.detail`)),1)])]),B(`tbody`,null,[(L(!0),R(I,null,P(T.value.records,e=>(L(),R(`tr`,{key:`${e.host}|${e.type}`,class:`border-t border-line-soft align-top`},[B(`td`,M$,O(e.host),1),B(`td`,N$,O(e.type),1),B(`td`,P$,[V(_U,{tone:i[e.state].tone,dot:``},{default:j(()=>[H(O(A(Y)(i[e.state].labelKey)),1)]),_:2},1032,[`tone`])]),B(`td`,F$,O(e.ip??`—`),1),B(`td`,I$,O(e.message??`—`),1)]))),128))])])])])):U(``,!0)],64))]),V($z,{open:re.value,"onUpdate:open":t[10]||=e=>re.value=e,title:A(Y)(`settings.ddns.credentialsTitle`),description:h.value===null?``:`${se(h.value)} — ${h.value.id}`,width:`w-[min(92vw,32rem)]`},{footer:j(()=>[h.value!==null&&ce(h.value.id)?(L(),z(mH,{key:0,label:A(Y)(`settings.ddns.forget`),"confirm-label":A(Y)(`settings.ddns.forgetConfirm`),title:A(Y)(`settings.ddns.forgetTitle`),hint:A(Y)(`settings.ddns.forgetHint`),loading:_.value,disabled:_.value,onConfirm:Se},null,8,[`label`,`confirm-label`,`title`,`hint`,`loading`,`disabled`])):U(``,!0),V($,{size:`sm`,variant:`ghost`,disabled:_.value,onClick:t[9]||=e=>re.value=!1},{default:j(()=>[H(O(A(Y)(`common.cancel`)),1)]),_:1},8,[`disabled`]),V($,{size:`sm`,variant:`primary`,loading:_.value,disabled:Object.values(g.value).every(e=>e.trim().length===0),onClick:D},{default:j(()=>[H(O(A(Y)(`settings.ddns.saveCredentials`)),1)]),_:1},8,[`loading`,`disabled`])]),default:j(()=>[B(`div`,L$,[B(`p`,R$,O(A(Y)(`settings.ddns.credentialsDescription`)),1),(L(!0),R(I,null,P(ie.value,e=>(L(),z(Rz,{key:e.key,modelValue:g.value[e.key],"onUpdate:modelValue":t=>g.value[e.key]=t,type:`password`,autocomplete:`off`,label:e.label,hint:`${e.hint}${e.optional?` ${A(Y)(`settings.ddns.optional`)}`:``}`,wide:``},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`]))),128)),h.value===null?U(``,!0):(L(),R(`a`,{key:0,class:`inline-block text-2xs text-accent underline decoration-line underline-offset-2`,href:ae(h.value.provider)?.docsUrl,target:`_blank`,rel:`noreferrer`},O(A(Y)(`settings.ddns.whereToGet`)),9,z$)),v.value?(L(),z(_H,{key:1,tone:`danger`},{default:j(()=>[H(O(v.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`])],64))}}),V$={class:`mt-3 space-y-3`},H$=N({__name:`DefaultsSection`,props:za({dirty:{type:Boolean}},{defaults:{required:!0},defaultsModifiers:{}}),emits:za([`reset`],[`update:defaults`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`defaults`),a=ZR(()=>i.value.logBufferLines,e=>i.value.logBufferLines=e,500);return(e,t)=>(L(),R(I,null,[V(gz,{title:A(Y)(`settings.defaults.title`),description:A(Y)(`settings.defaults.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:A(Y)(`common.enabled`),hint:A(Y)(`settings.defaults.enabledHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:i.value.autostart,"onUpdate:modelValue":t[2]||=e=>i.value.autostart=e,label:A(Y)(`settings.defaults.autostart`)},null,8,[`modelValue`,`label`]),V(Nz,{modelValue:i.value.bind,"onUpdate:modelValue":t[3]||=e=>i.value.bind=e,label:A(Y)(`settings.defaults.bind`),options:[{value:`local`,label:A(Y)(`settings.defaults.bindLocal`)},{value:`lan`,label:A(Y)(`settings.defaults.bindLan`)}]},null,8,[`modelValue`,`label`,`options`]),V(Nz,{modelValue:i.value.onPortConflict,"onUpdate:modelValue":t[4]||=e=>i.value.onPortConflict=e,label:A(Y)(`settings.defaults.onPortConflict`),options:[{value:`block`,label:A(Y)(`settings.defaults.conflictBlock`)},{value:`warn`,label:A(Y)(`settings.defaults.conflictWarn`)},{value:`follow`,label:A(Y)(`settings.defaults.conflictFollow`)},{value:`reclaim`,label:A(Y)(`settings.defaults.conflictReclaim`)},{value:`kill`,label:A(Y)(`settings.defaults.conflictKill`)}]},null,8,[`modelValue`,`label`,`options`]),V(Dz,{modelValue:A(a),"onUpdate:modelValue":t[5]||=e=>hn(a)?a.value=e:null,label:A(Y)(`settings.defaults.logBufferLines`),min:50,max:1e5,hint:A(Y)(`settings.defaults.logBufferLinesHint`)},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`title`,`description`]),B(`div`,V$,[V(Hz,{restart:i.value.restart,"onUpdate:restart":t[6]||=e=>i.value.restart=e,health:i.value.health,"onUpdate:health":t[7]||=e=>i.value.health=e,stop:i.value.stop,"onUpdate:stop":t[8]||=e=>i.value.stop=e},null,8,[`restart`,`health`,`stop`])])],64))}}),U$={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},W$={class:`text-xs font-medium text-muted`},G$={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},K$={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},q$={class:`text-2xs leading-4 text-faint`},J$=N({__name:`LogsSection`,props:za({logsDir:{},dirty:{type:Boolean}},{logs:{required:!0},logsModifiers:{}}),emits:za([`reset`],[`update:logs`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`logs`),a=dP(),o=ZR(()=>i.value.maxBytes,e=>i.value.maxBytes=e,2e6),s=ZR(()=>i.value.keep,e=>i.value.keep=e,3),c=W(()=>n.logsDir??`—`);return(e,t)=>{let l=pa(`RouterLink`);return L(),z(gz,{title:A(Y)(`settings.logs.title`),description:A(Y)(`settings.logs.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.persist,"onUpdate:modelValue":t[1]||=e=>i.value.persist=e,label:A(Y)(`settings.logs.persist`),hint:A(Y)(`settings.logs.persistHint`),class:`sm:col-span-2`},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(o),"onUpdate:modelValue":t[2]||=e=>hn(o)?o.value=e:null,label:A(Y)(`settings.logs.maxBytes`),min:1e4,max:1e8,hint:A(Y)(`settings.logs.maxBytesHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Dz,{modelValue:A(s),"onUpdate:modelValue":t[3]||=e=>hn(s)?s.value=e:null,label:A(Y)(`settings.logs.keep`),min:1,max:10},null,8,[`modelValue`,`label`]),B(`div`,U$,[B(`span`,W$,O(A(Y)(`settings.logs.directory`)),1),B(`div`,G$,[B(`span`,K$,O(c.value),1),V(hU,{value:c.value,label:A(Y)(`settings.logs.copyDirectory`)},null,8,[`value`,`label`])]),B(`p`,q$,[V(iB,{k:`settings.logs.browseHint`},{logs:j(()=>[V(l,{to:A(u1)(A(a).activeId.value,`logs`),class:`text-accent underline decoration-accent/40 underline-offset-2 hover:decoration-accent`},{default:j(()=>[H(O(A(Y)(`nav.logs`)),1)]),_:1},8,[`to`])]),_:1})])])]),_:1},8,[`title`,`description`])}}}),Y$={class:`flex items-center gap-2 border-t border-line-soft pt-3 sm:col-span-2`},X$={class:`text-xs font-medium text-muted`},Z$={class:`text-2xs text-faint`},Q$={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},$$={key:0,class:`sm:col-span-2`},e1={class:`mb-1.5 text-xs text-muted`},t1={class:`flex flex-wrap gap-1.5`},n1={key:1,class:`sm:col-span-2`},r1={class:`text-2xs leading-4 text-faint`},i1={key:2,class:`space-y-2 sm:col-span-2`},a1=N({__name:`NotificationsSection`,props:za({status:{},dirty:{type:Boolean}},{telegram:{required:!0},telegramModifiers:{}}),emits:za([`reset`],[`update:telegram`]),setup(e,{emit:t}){let n=e,r=t,i=so(e,`telegram`),a=XN(),o=dP(),s=ZR(()=>i.value.cooldownMs,e=>i.value.cooldownMs=e,12e4),c=k(``),l=k(null),u=k(null),d=k([]),f=k(!1),p=W(()=>n.status?.tokenSet===!0),m=W(()=>n.status?.lastResult??null),h=W(()=>n.status?.lastResultAt??null),g=W(()=>p.value?Y(`settings.telegram.tokenSavedPlaceholder`):Y(`settings.telegram.tokenPlaceholder`));async function _(){f.value=!0,u.value=null,l.value=null;try{let e=await GM(o.activeId.value,c.value.trim());c.value=``,l.value=e.username?Y(`settings.telegram.tokenSavedFor`,{username:e.username}):Y(`settings.telegram.tokenSaved`),await a.refresh()}catch(e){u.value=Lj(e)}finally{f.value=!1}}async function v(){f.value=!0,u.value=null,l.value=null;try{await KM(o.activeId.value),l.value=Y(`settings.telegram.tokenRemoved`),await a.refresh()}catch(e){u.value=Lj(e)}finally{f.value=!1}}async function y(){f.value=!0,u.value=null,l.value=null;try{let e=c.value.trim(),t=await JM(o.activeId.value,e.length>0?{botToken:e}:{});d.value=t.chats,t.chats.length===0&&(u.value=Y(`settings.telegram.noChats`))}catch(e){u.value=Lj(e)}finally{f.value=!1}}async function b(){f.value=!0,u.value=null,l.value=null;try{let e=c.value.trim(),t=await qM(o.activeId.value,{chatId:i.value.chatId.length>0?i.value.chatId:void 0,...e.length>0?{botToken:e}:{}});t.ok?l.value=Y(`settings.telegram.testSent`):u.value=t.error??Y(`settings.telegram.testFailed`),await a.refresh()}catch(e){u.value=Lj(e)}finally{f.value=!1}}return(e,t)=>(L(),z(gz,{title:A(Y)(`settings.telegram.title`),description:A(Y)(`settings.telegram.description`)},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!n.dirty,onClick:t[0]||=e=>r(`reset`)},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(Vz,{modelValue:i.value.enabled,"onUpdate:modelValue":t[1]||=e=>i.value.enabled=e,label:A(Y)(`settings.telegram.enabled`),hint:A(Y)(`settings.telegram.enabledHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Rz,{modelValue:i.value.chatId,"onUpdate:modelValue":t[2]||=e=>i.value.chatId=e,label:A(Y)(`settings.telegram.chatId`),placeholder:A(Y)(`settings.telegram.chatIdPlaceholder`),hint:A(Y)(`settings.telegram.chatIdHint`)},null,8,[`modelValue`,`label`,`placeholder`,`hint`]),V(Dz,{modelValue:A(s),"onUpdate:modelValue":t[3]||=e=>hn(s)?s.value=e:null,label:A(Y)(`settings.telegram.cooldown`),min:0,hint:A(Y)(`settings.telegram.cooldownHint`)},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:i.value.onCrash,"onUpdate:modelValue":t[4]||=e=>i.value.onCrash=e,label:A(Y)(`settings.telegram.onCrash`)},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:i.value.onUnhealthy,"onUpdate:modelValue":t[5]||=e=>i.value.onUnhealthy=e,label:A(Y)(`settings.telegram.onUnhealthy`)},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:i.value.onForcedRestart,"onUpdate:modelValue":t[6]||=e=>i.value.onForcedRestart=e,label:A(Y)(`settings.telegram.onForcedRestart`)},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:i.value.onRecovered,"onUpdate:modelValue":t[7]||=e=>i.value.onRecovered=e,label:A(Y)(`settings.telegram.onRecovered`)},null,8,[`modelValue`,`label`]),V(Vz,{modelValue:i.value.onHost,"onUpdate:modelValue":t[8]||=e=>i.value.onHost=e,label:A(Y)(`settings.telegram.onHost`),hint:A(Y)(`settings.telegram.onHostHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),V(Vz,{modelValue:i.value.onDdns,"onUpdate:modelValue":t[9]||=e=>i.value.onDdns=e,label:A(Y)(`settings.telegram.onDdns`),hint:A(Y)(`settings.telegram.onDdnsHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),B(`div`,Y$,[B(`span`,X$,O(A(Y)(`settings.telegram.botToken`)),1),V(_U,{tone:p.value?`ok`:`warn`,dot:``},{default:j(()=>[H(O(p.value?A(Y)(`settings.telegram.tokenSet`):A(Y)(`settings.telegram.noToken`)),1)]),_:1},8,[`tone`]),B(`span`,Z$,O(A(Y)(`settings.telegram.tokenNote`)),1)]),V(Rz,{modelValue:c.value,"onUpdate:modelValue":t[10]||=e=>c.value=e,type:`password`,autocomplete:`off`,label:A(Y)(`settings.telegram.botToken`),placeholder:g.value,wide:``},null,8,[`modelValue`,`label`,`placeholder`]),B(`div`,Q$,[V($,{variant:`primary`,disabled:f.value||c.value.trim().length===0,loading:f.value&&c.value.trim().length>0,onClick:_},{default:j(()=>[H(O(A(Y)(`settings.telegram.saveToken`)),1)]),_:1},8,[`disabled`,`loading`]),V($,{variant:`secondary`,disabled:f.value,onClick:y},{default:j(()=>[H(O(A(Y)(`settings.telegram.detectChats`)),1)]),_:1},8,[`disabled`]),V($,{variant:`secondary`,disabled:f.value,onClick:b},{default:j(()=>[H(O(A(Y)(`settings.telegram.sendTest`)),1)]),_:1},8,[`disabled`]),p.value?(L(),z(mH,{key:0,label:A(Y)(`settings.telegram.removeToken`),"confirm-label":A(Y)(`settings.telegram.removeTokenConfirm`),"confirm-variant":`danger`,title:A(Y)(`settings.telegram.removeTokenTitle`),hint:A(Y)(`settings.telegram.removeTokenHint`),disabled:f.value,onConfirm:v},null,8,[`label`,`confirm-label`,`title`,`hint`,`disabled`])):U(``,!0)]),d.value.length>0?(L(),R(`div`,$$,[B(`p`,e1,O(A(Y)(`settings.telegram.chatsSeen`)),1),B(`div`,t1,[(L(!0),R(I,null,P(d.value,e=>(L(),z($,{key:String(e.id),size:`xs`,variant:`secondary`,onClick:t=>i.value.chatId=String(e.id)},{default:j(()=>[H(O(e.title)+` (`+O(e.id)+`) `,1)]),_:2},1032,[`onClick`]))),128))])])):U(``,!0),m.value?(L(),R(`div`,n1,[B(`p`,r1,O(A(Y)(`settings.telegram.lastSend`,{result:m.value}))+O(h.value?` · ${A(NL)(h.value,A(a).now.value)}`:``),1)])):U(``,!0),u.value||l.value?(L(),R(`div`,i1,[u.value?(L(),z(_H,{key:0,tone:`danger`},{default:j(()=>[H(O(u.value),1)]),_:1})):U(``,!0),l.value?(L(),z(_H,{key:1,tone:`ok`},{default:j(()=>[H(O(l.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1},8,[`title`,`description`]))}}),o1={class:`mt-1`},s1=N({__name:`SettingsView`,setup(e){let t=W(()=>[{id:`defaults`,title:Y(`views.settings.sectionDefaults`)},{id:`logs`,title:Y(`views.settings.sectionLogs`)},{id:`notifications`,title:Y(`views.settings.sectionNotifications`)},{id:`ddns`,title:Y(`views.settings.sectionDdns`)}]),n=XN(),r=dP(),i=vN(),a=tn(DR()),o=k(!1),s=k(null),c=k(null),l=k(null),u=k(null),d=k(null),f=W(()=>r.defaults.value),p=W(()=>r.logsConfig.value),m=W(()=>r.notifications.value?.telegram??null),h=W(()=>r.logsDir.value),g=W(()=>{let e={},t=f.value,n=p.value,r=m.value;if(t!==null){let n=zR(t,a.defaults);Object.keys(n).length>0&&(e.defaults=n)}if(n!==null){let t=BR(n,a.logs);Object.keys(t).length>0&&(e.logs=t)}if(r!==null){let t=VR(r,a.telegram);Object.keys(t).length>0&&(e.notifications=t)}return e}),_=W(()=>bR(g.value)+(l.value===null?0:bR(l.value))),v=W(()=>{let e=m.value;return{defaults:f.value??{},logs:p.value??{},notifications:e===null?{}:{telegram:MR(e)},ddns:u.value??{}}}),y=W(()=>yR({...g.value,...l.value===null?{}:{ddns:l.value}},v.value)),b=W(()=>f.value!==null&&Object.keys(zR(f.value,a.defaults)).length>0),x=W(()=>p.value!==null&&Object.keys(BR(p.value,a.logs)).length>0),S=W(()=>m.value!==null&&Object.keys(VR(m.value,a.telegram)).length>0),C={};function w(){let e=(e,t)=>{qR(C[e],KR(a,e))||(t(),C[e]=KR(a,e))},t=f.value;t!==null&&e(`defaults`,()=>{a.defaults.enabled=t.enabled,a.defaults.autostart=t.autostart,a.defaults.bind=t.bind,a.defaults.onPortConflict=t.onPortConflict,a.defaults.logBufferLines=t.logBufferLines,a.defaults.restart={...t.restart},a.defaults.health=TR(t.health),a.defaults.stop={...t.stop}});let n=p.value;n!==null&&e(`logs`,()=>Object.assign(a.logs,n));let r=m.value;r!==null&&e(`telegram`,()=>Object.assign(a.telegram,MR(r)))}function T(){for(let e of Object.keys(C))delete C[e]}M([f,p,m],()=>{w()},{immediate:!0});async function ee(){let e=g.value,t=l.value,a=Object.keys(e).length>0;if(!(!a&&t===null||o.value||r.activeId.value.length===0)){o.value=!0,s.value=null,c.value=null;try{if(a&&!await n.saveWorkspaceSettings(r.activeId.value,e)){s.value=n.lastError.value??Y(`views.settings.saveFailed`);return}t!==null&&(await XM(r.activeId.value,t),await d.value?.reload()),c.value=Y(`views.settings.saved`),i.success(Y(`views.settings.savedToast`)),T(),w()}catch(e){s.value=Lj(e)}finally{o.value=!1}}}function te(){s.value=null,c.value=null,T(),w(),d.value?.reload()}function ne(){let e=f.value;e!==null&&(a.defaults.enabled=e.enabled,a.defaults.autostart=e.autostart,a.defaults.bind=e.bind,a.defaults.onPortConflict=e.onPortConflict,a.defaults.logBufferLines=e.logBufferLines,a.defaults.restart={...e.restart},a.defaults.health=TR(e.health),a.defaults.stop={...e.stop},ae(`defaults`))}function re(){p.value!==null&&Object.assign(a.logs,p.value),ae(`logs`)}function ie(){m.value!==null&&Object.assign(a.telegram,MR(m.value)),ae(`telegram`)}function ae(e){C[e]=KR(a,e)}return M(()=>r.activeId.value,()=>{T(),w(),s.value=null,c.value=null}),(e,n)=>(L(),z(hG,{sections:t.value,"nav-label":A(Y)(`views.settings.navLabel`),"changes-description":A(Y)(`views.settings.changesDescription`,{workspace:A(r).selected.value?.label??A(Y)(`nav.workspace`)}),"changed-count":_.value,changes:y.value,"save-error":s.value,"save-message":c.value,saving:o.value,onSave:ee,onDiscard:te},{header:j(()=>[V(CV,{title:A(Y)(`nav.workspaceSettings`),description:A(Y)(`views.settings.description`,{workspace:A(r).selected.value?.label??A(Y)(`nav.workspace`)})},null,8,[`title`,`description`]),A(r).configError.value?(L(),z(_H,{key:0,tone:`danger`,title:A(Y)(`views.settings.configErrorTitle`),class:`mb-4`},{default:j(()=>[B(`p`,null,O(A(r).configError.value),1),B(`p`,o1,O(A(Y)(`views.settings.configErrorNote`)),1)]),_:1},8,[`title`])):A(r).configWarnings.value.length>0?(L(),z(_H,{key:1,tone:`warn`,title:A(Y)(`views.settings.configWarningTitle`),class:`mb-4`},{default:j(()=>[(L(!0),R(I,null,P(A(r).configWarnings.value,e=>(L(),R(`p`,{key:e,class:`font-mono`},O(e),1))),128))]),_:1},8,[`title`])):U(``,!0)]),default:j(()=>[V(KW,{id:`defaults`,title:A(Y)(`views.settings.sectionDefaults`),description:A(Y)(`views.settings.defaultsDescription`)},{default:j(()=>[V(H$,{defaults:a.defaults,"onUpdate:defaults":n[0]||=e=>a.defaults=e,dirty:b.value,onReset:ne},null,8,[`defaults`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`logs`,title:A(Y)(`views.settings.sectionLogs`),description:A(Y)(`views.settings.logsDescription`)},{default:j(()=>[V(J$,{logs:a.logs,"onUpdate:logs":n[1]||=e=>a.logs=e,"logs-dir":h.value,dirty:x.value,onReset:re},null,8,[`logs`,`logs-dir`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`notifications`,title:A(Y)(`views.settings.sectionNotifications`),description:A(Y)(`views.settings.notificationsDescription`)},{default:j(()=>[V(a1,{telegram:a.telegram,"onUpdate:telegram":n[2]||=e=>a.telegram=e,status:m.value,dirty:S.value,onReset:ie},null,8,[`telegram`,`status`,`dirty`])]),_:1},8,[`title`,`description`]),V(KW,{id:`ddns`,title:A(Y)(`views.settings.sectionDdns`),description:A(Y)(`views.settings.ddnsDescription`)},{default:j(()=>[V(B$,{ref_key:`ddnsSection`,ref:d,patch:l.value,"onUpdate:patch":n[3]||=e=>l.value=e,baseline:u.value,"onUpdate:baseline":n[4]||=e=>u.value=e},null,8,[`patch`,`baseline`])]),_:1},8,[`title`,`description`])]),_:1},8,[`sections`,`nav-label`,`changes-description`,`changed-count`,`changes`,`save-error`,`save-message`,`saving`]))}}),c1=new Set([`overview`,`servers`,`server-detail`,`logs`,`settings`]),l1=Sv({history:W_(),routes:[{path:`/w/:workspaceId`,name:`overview`,component:aJ,meta:{titleKey:`nav.overview`}},{path:`/w/:workspaceId/servers`,name:`servers`,component:LQ,meta:{titleKey:`nav.servers`}},{path:`/w/:workspaceId/servers/:id`,name:`server-detail`,component:kQ,meta:{titleKey:`views.route.server`}},{path:`/w/:workspaceId/logs`,name:`logs`,component:Lq,meta:{titleKey:`nav.logs`}},{path:`/w/:workspaceId/settings`,name:`settings`,component:s1,meta:{titleKey:`nav.workspaceSettings`}},{path:`/global/overview`,name:`global-overview`,component:uH,meta:{titleKey:`nav.globalOverview`}},{path:`/global/settings`,name:`global-settings`,component:YG,meta:{titleKey:`nav.globalSettings`}},{path:`/proxy`,name:`proxy`,component:kZ,meta:{titleKey:`nav.reverseProxy`}},{path:`/login`,name:`login`,component:wK,meta:{titleKey:`login.signIn`}},{path:`/`,name:`home`,component:aJ},{path:`/:pathMatch(.*)*`,name:`not-found`,component:aJ}]});function u1(e,t=`overview`,n){let r=`/w/${encodeURIComponent(e)}`;return t===`overview`?r:t===`servers`?n===void 0?`${r}/servers`:`${r}/servers/${encodeURIComponent(n)}`:`${r}/${t}`}l1.beforeEach(async e=>{let{session:t,refresh:n}=pN();t.value===null&&await n();let r=t.value?.authRequired===!0,i=t.value?.authenticated===!0;if(r&&!i&&e.name!==`login`)return{name:`login`,query:e.fullPath===`/`?void 0:{next:e.fullPath}};if(e.name===`login`&&(!r||i))return{name:`global-overview`,replace:!0};if(e.name===`login`||e.name===`global-overview`||e.name===`global-settings`||e.name===`proxy`)return!0;if(e.name===`home`||e.name===`not-found`)return{name:`global-overview`,replace:!0};await XN().ensureState();let a=dP(),o=a.workspaces.value;if(o.length===0)return!0;let s=typeof e.params.workspaceId==`string`?e.params.workspaceId:``;if(s.length>0&&o.some(e=>e.id===s)&&(a.select(s),c1.has(String(e.name))))return!0;let c=a.activeId.value||o[0].id,l=String(e.name??``),u={...e.params,workspaceId:c};return l===`server-detail`&&u.id===void 0?{name:`servers`,params:{workspaceId:c},query:e.query,replace:!0}:{name:l,params:u,query:e.query,replace:!0}});var d1={class:`flex items-center gap-2.5 border-b border-line px-3.5`},f1=[`placeholder`],p1={key:0,class:`px-3 py-8 text-center text-xs text-muted`},m1={class:`px-2.5 pb-1 pt-2.5 text-2xs font-medium text-faint`},h1=[`data-active`,`onMousemove`,`onClick`],g1={class:`min-w-0 flex-1 truncate text-sm`},_1={key:0,class:`shrink-0 font-mono text-2xs text-faint`},v1={class:`flex items-center gap-3 border-t border-line bg-panel-2 px-3.5 py-2 text-2xs text-faint`},y1={class:`ml-auto font-mono`},b1=N({__name:`CommandPalette`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:[`update:open`],setup(e){let t=so(e,`open`),n=Rg(),r=XN(),i=dP(),a=aP(),o=k(``),s=k(0),c=k(null),l=k(null);function u(e){n.push(e)}function d(e){i.select(e);let t=String(n.currentRoute.value.name??``);t===`overview`||t===`servers`||t===`logs`||t===`settings`?u(u1(e,t)):t===`server-detail`&&u(u1(e,`servers`))}function f(e){e(),t.value=!1}let p=[`stopped`,`crashed`,`conflict`],m=[`running`,`starting`,`backoff`],h=W(()=>{let e=[],t=r.allServers.value;function n(e,t){i.select(e),u(t)}let o=e=>u1(i.activeId.value,e);for(let{workspace:i,server:a}of t){let t=a.config.label??a.id,o=Y(qI[a.status].labelKey);e.push({id:`open:${i.id}:${a.id}`,title:Y(`palette.openServer`,{label:t}),group:Y(`palette.groupServers`),icon:Ty,detail:`${i.label} · ${a.id} · ${o}`,keywords:`server detail ${a.id} ${i.label} show`,run:()=>n(i.id,u1(i.id,`servers`,a.id))}),e.push({id:`logs:${i.id}:${a.id}`,title:Y(`palette.serverLogs`,{label:t}),group:Y(`palette.groupServers`),icon:Ny,detail:`${i.label} · ${a.id}`,keywords:`log tail output ${a.id} ${i.label}`,run:()=>n(i.id,`${u1(i.id,`logs`)}?server=${encodeURIComponent(a.id)}`)}),p.includes(a.status)&&a.config.enabled&&e.push({id:`start:${i.id}:${a.id}`,title:Y(`palette.startServer`,{label:t}),group:Y(`palette.groupActions`),icon:_y,detail:`${i.label} · ${a.id}`,keywords:`run launch ${a.id} ${i.label}`,run:()=>f(()=>void r.start(i.id,a.id))}),m.includes(a.status)&&e.push({id:`stop:${i.id}:${a.id}`,title:Y(`palette.stopServer`,{label:t}),group:Y(`palette.groupActions`),icon:jy,detail:`${i.label} · ${a.id}`,keywords:`halt kill ${a.id} ${i.label}`,run:()=>f(()=>void r.stop(i.id,a.id))}),a.config.enabled&&e.push({id:`restart:${i.id}:${a.id}`,title:Y(`palette.restartServer`,{label:t}),group:Y(`palette.groupActions`),icon:Sy,detail:`${i.label} · ${a.id}`,keywords:`bounce reload ${a.id} ${i.label}`,run:()=>f(()=>void r.restart(i.id,a.id))})}e.push({id:`nav:overview`,title:Y(`palette.goOverview`),group:Y(`palette.groupNavigate`),icon:oy,keywords:`dashboard home workspace`,run:()=>u(o(`overview`))},{id:`nav:global`,title:Y(`palette.goGlobalOverview`),group:Y(`palette.groupNavigate`),icon:ty,keywords:`dashboard home host vitals every workspace`,run:()=>u(`/global/overview`)},{id:`nav:global-settings`,title:Y(`palette.goGlobalSettings`),group:Y(`palette.groupNavigate`),icon:Ay,keywords:`panel listener auth tls backups host`,run:()=>u(`/global/settings`)},{id:`nav:proxy`,title:Y(`palette.goProxy`),group:Y(`palette.groupNavigate`),icon:Ry,keywords:`caddy domain route acme certificate https expose`,run:()=>u(`/proxy`)},{id:`nav:servers`,title:Y(`palette.goServers`),group:Y(`palette.groupNavigate`),icon:Ty,keywords:`processes list workspace`,run:()=>u(o(`servers`))},{id:`nav:logs`,title:Y(`palette.goLogs`),group:Y(`palette.groupNavigate`),icon:Cy,keywords:`output files tail workspace`,run:()=>u(o(`logs`))},{id:`nav:settings`,title:Y(`palette.goWorkspaceSettings`),group:Y(`palette.groupNavigate`),icon:Ey,keywords:`defaults notifications ddns config workspace`,run:()=>u(o(`settings`))},{id:`act:start-all`,title:Y(`palette.startAll`),group:Y(`palette.groupActions`),icon:_y,keywords:`boot all workspace`,run:()=>f(()=>void r.startAll(i.activeId.value))},{id:`act:stop-all`,title:Y(`palette.stopAll`),group:Y(`palette.groupActions`),icon:jy,keywords:`halt all workspace`,run:()=>f(()=>void r.stopAll(i.activeId.value))});for(let t of i.workspaces.value)e.push({id:`ws:${t.id}`,title:Y(`palette.switchWorkspace`,{label:t.label}),group:Y(`palette.groupWorkspaces`),icon:ay,detail:t.id,keywords:`workspace switch scope ${t.label}`,run:()=>f(()=>d(t.id))});for(let[t,n]of[[`listener`,`settings.listener.title`],[`authentication`,`settings.authentication.title`],[`host`,`settings.host.title`],[`backups`,`settings.backups.title`],[`tls`,`settings.tls.title`],[`language`,`language.label`],[`interface`,`settings.interface.title`],[`paths`,`settings.paths.title`]])e.push({id:`gset:${t}`,title:Y(`palette.globalSetting`,{label:Y(n)}),group:Y(`nav.globalSettings`),icon:ty,keywords:`configure panel ${t}`,run:()=>u(`/global/settings?section=${t}`)});for(let[t,n]of[[`defaults`,`settings.defaults.title`],[`logs`,`settings.logs.title`],[`notifications`,`settings.notifications.title`],[`ddns`,`settings.ddns.title`]])e.push({id:`wset:${t}`,title:Y(`palette.workspaceSetting`,{label:Y(n)}),group:Y(`nav.workspaceSettings`),icon:Ey,keywords:`configure workspace ${t}`,run:()=>u(`${u1(i.activeId.value,`settings`)}?section=${t}`)});let s=[[`light`,`theme.light`,My],[`dark`,`theme.dark`,py],[`system`,`theme.system`,fy]];for(let[t,n,r]of s)e.push({id:`theme:${t}`,title:Y(`palette.theme`,{theme:Y(n)}),group:Y(`palette.groupAppearance`),icon:r,keywords:`colour color dark light mode appearance`,run:()=>f(()=>a.setPreference(t))});return e}),g=W(()=>{let e=o.value.trim().toLowerCase().split(/\s+/).filter(Boolean);return e.length===0?h.value.slice(0,40):h.value.map(t=>{let n=`${t.title} ${t.detail??``} ${t.keywords??``} ${t.group}`.toLowerCase(),r=0;for(let t of e){let e=n.indexOf(t);if(e===-1)return null;r+=e===0?0:e}return{command:t,score:r}}).filter(e=>e!==null).sort((e,t)=>e.score-t.score).slice(0,40).map(e=>e.command)}),_=W(()=>{let e=new Map;for(let t of g.value){let n=e.get(t.group)??[];n.push(t),e.set(t.group,n)}return[...e.entries()]}),v=W(()=>_.value.flatMap(([,e])=>e));M(g,()=>{s.value=0}),M(t,async e=>{e&&(o.value=``,s.value=0,await ir(),c.value?.focus())});function y(e){let t=v.value.length;t!==0&&(s.value=(s.value+e+t)%t,ir(()=>{l.value?.querySelector(`[data-active="true"]`)?.scrollIntoView({block:`nearest`})}))}function b(e){e.key===`ArrowDown`?(e.preventDefault(),y(1)):e.key===`ArrowUp`?(e.preventDefault(),y(-1)):e.key===`Enter`&&(e.preventDefault(),v.value[s.value]?.run())}function x(e){(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===`k`&&(e.preventDefault(),t.value=!t.value)}return na(()=>window.addEventListener(`keydown`,x)),Be(()=>window.removeEventListener(`keydown`,x)),(e,n)=>(L(),z(A(lf),{open:t.value,"onUpdate:open":n[2]||=e=>t.value=e},{default:j(()=>[V(A(Yf),null,{default:j(()=>[V(A(qf),{class:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px] data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`}),V(A(Wf),{class:`fixed left-1/2 top-[10vh] z-50 w-[min(94vw,38rem)] -translate-x-1/2 overflow-hidden rounded-panel border border-line bg-panel shadow-float data-[state=open]:animate-[hh-pop-in_150ms_var(--ease-out-quick)]`,onOpenAutoFocus:n[1]||=lu(()=>{},[`prevent`]),onKeydown:b},{default:j(()=>[V(A(Xf),{class:`sr-only`},{default:j(()=>[H(O(A(Y)(`topbar.commandPalette`)),1)]),_:1}),B(`div`,d1,[V(A(wy),{class:`size-4 shrink-0 text-faint`}),Sr(B(`input`,{ref_key:`input`,ref:c,"onUpdate:modelValue":n[0]||=e=>o.value=e,type:`text`,placeholder:A(Y)(`palette.placeholder`),class:`h-12 w-full bg-transparent text-sm text-ink outline-none placeholder:text-faint`,autocomplete:`off`,spellcheck:`false`},null,8,f1),[[Jl,o.value]]),n[3]||=B(`kbd`,{class:`shrink-0 rounded border border-line bg-page px-1.5 py-0.5 font-mono text-2xs text-faint`},`esc`,-1)]),B(`div`,{ref_key:`list`,ref:l,class:`max-h-[min(60vh,26rem)] overflow-y-auto p-1.5`},[v.value.length===0?(L(),R(`p`,p1,O(A(Y)(`palette.noMatches`,{query:o.value})),1)):U(``,!0),(L(!0),R(I,null,P(_.value,([e,t])=>(L(),R(I,{key:e},[B(`p`,m1,O(e),1),(L(!0),R(I,null,P(t,e=>(L(),R(`button`,{key:e.id,type:`button`,"data-active":v.value[s.value]?.id===e.id,class:D(A(Q)(`flex w-full items-center gap-2.5 rounded-control px-2.5 py-2 text-left transition-colors duration-100`,v.value[s.value]?.id===e.id?`bg-accent-soft text-ink`:`text-muted hover:bg-hover`)),onMousemove:t=>s.value=v.value.findIndex(t=>t.id===e.id),onClick:t=>e.run()},[(L(),z(ha(e.icon),{class:D([`size-4 shrink-0`,v.value[s.value]?.id===e.id?`text-accent`:`text-faint`])},null,8,[`class`])),B(`span`,g1,O(e.title),1),e.detail?(L(),R(`span`,_1,O(e.detail),1)):U(``,!0),V(A(Rv),{class:D([`size-3.5 shrink-0 text-faint opacity-0 transition-opacity duration-100`,{"opacity-100":v.value[s.value]?.id===e.id}])},null,8,[`class`])],42,h1))),128))],64))),128))],512),B(`div`,v1,[B(`span`,null,[n[4]||=B(`kbd`,{class:`font-mono`},`↑↓`,-1),H(` `+O(A(Y)(`palette.navigate`)),1)]),B(`span`,null,[n[5]||=B(`kbd`,{class:`font-mono`},`↵`,-1),H(` `+O(A(Y)(`palette.run`)),1)]),B(`span`,y1,O(A(_F)(`palette.results`,v.value.length)),1)])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),x1={class:`rounded-panel border border-line bg-panel-2/70 p-3`},S1={class:`mb-2 flex items-center justify-between`},C1={class:`text-2xs font-medium text-faint`},w1={key:0,class:`text-2xs text-faint`},T1={key:0,class:`grid grid-cols-2 gap-x-1 gap-y-2`},E1={key:1,class:`py-3 text-center text-2xs text-faint`},D1={key:2,class:`mt-2 flex items-start gap-1.5 rounded-control bg-danger-soft px-2 py-1.5`},O1={class:`text-2xs leading-4 text-danger`},k1=2,A1=85,j1=N({__name:`InstrumentCluster`,props:{host:{}},setup(e){let t=e,n=W(()=>{let e=t.host;return e?(e.loadAvg[0]??0)/Math.max(1,e.cpus):null}),r=W(()=>n.value===null?null:n.value/k1*100),i=W(()=>n.value===null?`—`:n.value.toFixed(2)),a=W(()=>{let e=t.host?.disks??[];return e.length===0?null:Math.max(...e.map(e=>e.usedPercent))}),o=W(()=>{let e=t.host?.tempCelsius??null;return e===null?null:e/A1*100}),s=W(()=>{let e=t.host?.tempCelsius??null;return e===null?`n/a`:`${Math.round(e)}°`});return(e,n)=>(L(),R(`div`,x1,[B(`div`,S1,[B(`span`,C1,O(A(Y)(`nav.hostVitals`)),1),t.host?.enabled===!1?(L(),R(`span`,w1,`off`)):U(``,!0)]),t.host?.enabled?(L(),R(`div`,T1,[V(lL,{value:r.value,label:A(Y)(`host.loadPerCpu`),display:i.value,size:58,"warn-at":70,"danger-at":100},null,8,[`value`,`label`,`display`]),V(lL,{value:t.host?.memoryUsedPercent??null,label:A(Y)(`common.memory`),size:58},null,8,[`value`,`label`]),V(lL,{value:a.value,label:A(Y)(`common.disk`),size:58},null,8,[`value`,`label`]),V(lL,{value:o.value,label:A(Y)(`host.cpuTemp`),display:s.value,size:58},null,8,[`value`,`label`,`display`])])):(L(),R(`p`,E1,` Sampling is disabled in Settings. `)),t.host&&t.host.alerts.length>0?(L(),R(`div`,D1,[n[0]||=B(`span`,{class:`mt-1 size-1.5 shrink-0 rounded-full bg-danger`},null,-1),B(`span`,O1,O(t.host.alerts.join(` · `)),1)])):U(``,!0)]))}}),M1={class:`flex h-full min-h-0 flex-col gap-3 overflow-y-auto p-3`},N1={class:`flex items-center gap-2 px-1 pt-1`},P1={class:`min-w-0`},F1={class:`truncate text-sm font-semibold tracking-tight text-ink`},I1=[`title`],L1=[`aria-label`],R1=[`aria-label`],z1={class:`flex items-center gap-1 truncate px-2.5 pb-1 text-2xs font-medium text-faint`},B1={key:1,class:`text-muted`},V1={class:`mt-auto flex flex-col gap-3`},H1={class:`flex items-center gap-2 rounded-control border border-line bg-panel-2/70 px-2.5 py-2`},U1={class:`relative flex size-2 shrink-0`},W1={class:`text-2xs text-muted`},G1=[`title`],K1=N({__name:`SideNav`,props:{host:{},connection:{},panelLabel:{},panelVersion:{},planLabel:{},workspaceId:{},workspaceLabel:{},running:{},total:{}},emits:[`navigate`,`close`],setup(e,{emit:t}){let n=e,r=t,i=zg(),a=W(()=>[{to:u1(n.workspaceId,`overview`),labelKey:`nav.overview`,icon:oy,exact:!0,servers:!1},{to:u1(n.workspaceId,`servers`),labelKey:`nav.servers`,icon:Ty,exact:!1,servers:!0},{to:u1(n.workspaceId,`logs`),labelKey:`nav.logs`,icon:Cy,exact:!1,servers:!1},{to:u1(n.workspaceId,`settings`),labelKey:`nav.workspaceSettings`,icon:Ey,exact:!1,servers:!1}]),o=[{to:`/global/overview`,labelKey:`nav.globalOverview`,icon:ty,exact:!0,servers:!1},{to:`/global/settings`,labelKey:`nav.globalSettings`,icon:Ay,exact:!1,servers:!1}],s=[{to:`/proxy`,labelKey:`nav.reverseProxy`,icon:Ry,exact:!1,servers:!1}],c=W(()=>[{titleKey:`nav.global`,label:``,icon:ty,items:o},{titleKey:`nav.workspace`,label:n.workspaceLabel,icon:void 0,items:a.value},{titleKey:`nav.others`,label:``,icon:Pv,items:s}]);function l(e){return e.exact?i.path===e.to:i.path===e.to||i.path.startsWith(`${e.to}/`)}let u=W(()=>n.panelVersion===null?n.panelLabel:`${n.panelLabel} · v${n.panelVersion}`),d=W(()=>({open:{labelKey:`connection.live`,dot:`bg-ok`},connecting:{labelKey:`connection.connecting`,dot:`bg-warn`},closed:{labelKey:`connection.reconnecting`,dot:`bg-danger`}})[n.connection]);return(e,t)=>{let i=pa(`RouterLink`);return L(),R(`div`,M1,[B(`div`,N1,[t[2]||=Os(`<span class="grid size-8 shrink-0 place-items-center rounded-[9px] border border-accent/30 bg-accent-soft text-accent"><svg viewBox="0 0 24 24" class="size-4.5" fill="none" stroke="currentColor" stroke-width="1.9" stroke-linecap="round"><path d="M4 15.5a8 8 0 1 1 16 0"></path><path d="M12 15.5 15.6 10.2"></path><circle cx="12" cy="15.5" r="1.3" fill="currentColor" stroke="none"></circle></svg></span>`,1),B(`div`,P1,[B(`p`,F1,O(A(Y)(`app.name`)),1),B(`p`,{class:`truncate text-2xs text-faint`,title:u.value},O(u.value),9,I1)]),B(`button`,{type:`button`,class:`ml-auto grid size-7 place-items-center rounded-control text-muted hover:bg-hover hover:text-ink lg:hidden`,"aria-label":A(Y)(`nav.closeNavigation`),onClick:t[0]||=e=>r(`close`)},[V(A(zy),{class:`size-4`})],8,L1)]),B(`nav`,{class:`flex flex-col gap-3`,"aria-label":A(Y)(`nav.navigation`)},[(L(!0),R(I,null,P(c.value,e=>(L(),R(`div`,{key:e.titleKey,class:`flex min-h-0 flex-col gap-0.5`},[B(`p`,z1,[e.icon?(L(),z(ha(e.icon),{key:0,class:`size-3 shrink-0`})):U(``,!0),H(` `+O(e.label?`${A(Y)(e.titleKey)} · `:A(Y)(e.titleKey)),1),e.label?(L(),R(`span`,B1,O(e.label),1)):U(``,!0)]),(L(!0),R(I,null,P(e.items,e=>(L(),z(i,{key:e.to,to:e.to,class:D(A(Q)(`group flex items-center gap-2.5 rounded-control px-2.5 py-1.5 text-sm transition-colors duration-150`,l(e)?`bg-accent-soft font-medium text-accent`:`text-muted hover:bg-hover hover:text-ink`)),onClick:t[1]||=e=>r(`navigate`)},{default:j(()=>[(L(),z(ha(e.icon),{class:`size-4 shrink-0`,"stroke-width":l(e)?2.1:1.8},null,8,[`stroke-width`])),H(` `+O(A(Y)(e.labelKey))+` `,1),e.servers?(L(),R(`span`,{key:0,class:D([`ml-auto font-mono text-2xs tabular-nums`,l(e)?`text-accent`:`text-faint`])},O(n.running)+`/`+O(n.total),3)):U(``,!0)]),_:2},1032,[`to`,`class`]))),128))]))),128))],8,R1),B(`div`,V1,[V(j1,{host:n.host},null,8,[`host`]),B(`div`,H1,[B(`span`,U1,[B(`span`,{class:D(A(Q)(`absolute inset-0 rounded-full`,d.value.dot,n.connection!==`open`&&`animate-ping opacity-60`))},null,2),B(`span`,{class:D(A(Q)(`relative size-2 rounded-full`,d.value.dot))},null,2)]),B(`span`,W1,O(A(Y)(d.value.labelKey)),1),B(`span`,{class:`ml-auto truncate font-mono text-2xs text-faint`,title:n.planLabel},O(n.planLabel),9,G1)])])])}}}),q1={key:0,class:`flex flex-col gap-px border-b border-line bg-panel/60`},J1={class:`text-2xs leading-4`},Y1={class:`font-medium`},X1={key:0,class:`opacity-80`},Z1=N({__name:`SystemNotices`,props:{control:{},configError:{},configPath:{}},setup(e){let t=e,n=W(()=>{let e=[],n=t.control?.auth;return t.configError&&e.push({id:`config`,tone:`danger`,text:Y(`notice.configError`,{error:t.configError}),hint:Y(`notice.configErrorHint`,{path:t.configPath??`servers.config.json`})}),n&&(n.blockedReason&&e.push({id:`blocked`,tone:`danger`,text:n.blockedReason}),n.usingDefaultPassword?e.push({id:`default-password`,tone:`warn`,text:Y(`notice.defaultPassword`),hint:Y(`notice.defaultPasswordHint`)}):n.enabled&&!n.passwordSet&&e.push({id:`no-password`,tone:`warn`,text:Y(`notice.noPassword`),hint:Y(`notice.noPasswordHint`)}),n.exposed&&e.push({id:`exposed`,tone:`warn`,text:Y(`notice.exposed`),hint:Y(`notice.exposedHint`)}),!n.enabled&&!n.exposed&&e.push({id:`auth-off`,tone:`info`,text:Y(`notice.authOff`)})),e}),r={warn:{wrap:`border-warn/25 bg-warn-soft text-warn`,icon:Ly},danger:{wrap:`border-danger/25 bg-danger-soft text-danger`,icon:Vv},info:{wrap:`border-line bg-panel-2 text-muted`,icon:Vv}};return(e,t)=>n.value.length>0?(L(),R(`div`,q1,[(L(!0),R(I,null,P(n.value,e=>(L(),R(`div`,{key:e.id,class:D([`flex items-start gap-2 px-3 py-1.5 sm:px-4`,r[e.tone].wrap])},[(L(),z(ha(r[e.tone].icon),{class:`mt-0.5 size-3.5 shrink-0`})),B(`p`,J1,[B(`span`,Y1,O(e.text),1),e.hint?(L(),R(`span`,X1,O(e.hint),1)):U(``,!0)])],2))),128))])):U(``,!0)}}),Q1={class:`pointer-events-none fixed bottom-4 right-4 z-[60] flex w-[min(92vw,22rem)] flex-col gap-2`,role:`status`,"aria-live":`polite`},$1={class:`min-w-0 flex-1`},e0={class:`text-xs font-medium text-ink`},t0={key:0,class:`mt-0.5 break-words text-2xs leading-4 text-muted`},n0=[`aria-label`,`onClick`],r0=N({__name:`ToastStack`,setup(e){let{toasts:t,dismiss:n}=vN(),r={ok:Hv,danger:Uv,warn:Ly,info:ry,accent:ry,neutral:ry},i={ok:`text-ok`,danger:`text-danger`,warn:`text-warn`,info:`text-info`,neutral:`text-muted`,accent:`text-accent`},a=W(()=>t.value);return(e,t)=>(L(),R(`div`,Q1,[V(Il,{"enter-active-class":`transition duration-150 ease-out`,"enter-from-class":`translate-x-2 opacity-0`,"leave-active-class":`transition duration-100 ease-in`,"leave-to-class":`translate-x-2 opacity-0`},{default:j(()=>[(L(!0),R(I,null,P(a.value,e=>(L(),R(`div`,{key:e.id,class:`pointer-events-auto flex items-start gap-2.5 rounded-panel border border-line bg-raise p-3 shadow-float`},[(L(),z(ha(r[e.tone]),{class:D(A(Q)(`mt-0.5 size-4 shrink-0`,i[e.tone]))},null,8,[`class`])),B(`div`,$1,[B(`p`,e0,O(e.title),1),e.description?(L(),R(`p`,t0,O(e.description),1)):U(``,!0)]),B(`button`,{type:`button`,class:`-mr-1 -mt-0.5 grid size-6 shrink-0 place-items-center rounded-control text-faint transition-colors duration-150 hover:bg-hover hover:text-ink`,"aria-label":A(Y)(`common.dismiss`),onClick:t=>A(n)(e.id)},[V(A(zy),{class:`size-3.5`})],8,n0)]))),128))]),_:1})]))}}),i0={class:`space-y-3`},a0={key:0,class:`rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 text-2xs leading-4 text-danger`},o0=N({__name:`WorkspaceDialog`,props:za({mode:{},initial:{default:``},submit:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let t=e,n=so(e,`open`),r=k(t.initial),i=k(!1),a=k(null),o=W(()=>t.mode===`create`?Y(`workspace.new`):Y(`workspace.rename`)),s=W(()=>t.mode===`create`?Y(`workspace.create`):Y(`workspace.renameAction`)),c=W(()=>r.value.trim().toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40));M(n,e=>{e&&(r.value=t.initial,a.value=null)});async function l(){let e=r.value.trim();if(e.length===0){a.value=`A workspace needs a name.`;return}i.value=!0,a.value=null;try{await t.submit(e)&&(n.value=!1)}finally{i.value=!1}}return(t,u)=>(L(),z($z,{open:n.value,"onUpdate:open":u[2]||=e=>n.value=e,title:o.value,description:e.mode===`create`?A(Y)(`workspace.createHint`):A(Y)(`workspace.renameHint`),width:`w-[min(92vw,26rem)]`},{footer:j(()=>[V($,{variant:`ghost`,disabled:i.value,onClick:u[1]||=e=>n.value=!1},{default:j(()=>[...u[3]||=[H(` Cancel `,-1)]]),_:1},8,[`disabled`]),V($,{variant:`primary`,loading:i.value,onClick:l},{default:j(()=>[H(O(s.value),1)]),_:1},8,[`loading`])]),default:j(()=>[B(`div`,i0,[V(Rz,{modelValue:r.value,"onUpdate:modelValue":u[0]||=e=>r.value=e,label:A(Y)(`common.name`),placeholder:`Home lab`,hint:e.mode===`create`&&c.value.length>0?A(Y)(`workspace.nameHintId`,{id:c.value}):A(Y)(`workspace.nameHint`),wide:``,onKeydown:du(lu(l,[`prevent`]),[`enter`])},null,8,[`modelValue`,`label`,`hint`,`onKeydown`]),a.value?(L(),R(`p`,a0,O(a.value),1)):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),s0=[`aria-label`],c0={class:`min-w-0 truncate font-medium text-ink`},l0={class:`hidden shrink-0 font-mono text-2xs text-faint sm:inline`},u0={key:0,class:`max-h-64 overflow-y-auto`},d0=[`onClick`],f0={class:`min-w-0 flex-1`},p0={class:`block truncate text-xs`},m0={class:`block truncate font-mono text-2xs text-faint`},h0={class:`shrink-0 font-mono text-2xs text-faint`},g0={key:1,class:`px-2 py-2 text-xs text-muted`},_0={class:`px-2 pt-1.5 text-xs font-semibold text-ink`},v0={class:`mt-2 flex justify-end gap-1.5 px-1 pb-1`},y0=N({__name:`WorkspacePicker`,props:{workspaces:{},selectedId:{}},emits:[`select`,`create`,`rename`,`remove`],setup(e,{emit:t}){let n=e,r=t,i=k(!1),a=k(!1),o=W(()=>n.workspaces.find(e=>e.id===n.selectedId)??null);function s(e){r(`select`,e),i.value=!1}function c(){a.value=!0}function l(){a.value=!1}function u(){let e=o.value;a.value=!1,i.value=!1,e!==null&&r(`remove`,e)}function d(){i.value=!1,r(`create`)}function f(){i.value=!1,o.value!==null&&r(`rename`,o.value)}async function p(e){i.value=e,e&&(a.value=!1,await ir())}return(t,n)=>(L(),z(A(Wh),{open:i.value,"onUpdate:open":p},{default:j(()=>[V(A(Zh),{"as-child":``},{default:j(()=>[B(`button`,{type:`button`,class:D(A(Q)(`flex h-8 max-w-36 items-center gap-1.5 rounded-control border border-line bg-panel-2 px-2 text-xs transition-colors duration-150 hover:border-line hover:text-ink sm:max-w-52`,A(yz))),"aria-label":A(Y)(`topbar.workspaceLabel`,{name:o.value?.label??A(Y)(`common.none`)})},[V(A(ay),{class:`size-3.5 shrink-0 text-faint`}),B(`span`,c0,O(o.value?.label??A(Y)(`workspace.none`)),1),B(`span`,l0,O(o.value?.runningCount??0)+`/`+O(o.value?.serverCount??0),1),V(A(Bv),{class:`size-3 shrink-0 text-faint`})],10,s0)]),_:1}),V(A(Xh),null,{default:j(()=>[V(A(Yh),{"side-offset":6,align:`end`,class:`z-50 w-72 rounded-panel border border-line bg-raise p-1 shadow-float focus-visible:outline-none data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[a.value?(L(),R(I,{key:1},[B(`p`,_0,` Delete “`+O(o.value?.label)+`”? `,1),n[4]||=B(`p`,{class:`mt-1 px-2 text-2xs leading-4 text-muted`},` Its servers are stopped, and its config, settings, logs, secrets and nanny state are removed from disk. A backup taken first is the only way back. `,-1),B(`div`,v0,[V($,{size:`xs`,variant:`ghost`,onClick:l},{default:j(()=>[...n[3]||=[H(` Keep it `,-1)]]),_:1}),V($,{size:`xs`,variant:`danger`,onClick:u},{default:j(()=>[V(A(Iy),{class:`size-3`}),H(O(A(Y)(`workspace.delete`)),1)]),_:1})])],64)):(L(),R(I,{key:0},[n[1]||=B(`p`,{class:`px-2 pb-1 pt-1.5 text-2xs font-medium text-faint`},` Workspaces `,-1),e.workspaces.length>0?(L(),R(`ul`,u0,[(L(!0),R(I,null,P(e.workspaces,t=>(L(),R(`li`,{key:t.id},[B(`button`,{type:`button`,class:D(A(Q)(`flex w-full items-center gap-2 rounded-control px-2 py-1.5 text-left transition-colors duration-100`,t.id===e.selectedId?`bg-accent-soft text-ink`:`text-muted hover:bg-hover`)),onClick:e=>s(t.id)},[V(A(Fv),{class:D([`size-3.5 shrink-0`,t.id===e.selectedId?`text-accent`:`opacity-0`])},null,8,[`class`]),B(`span`,f0,[B(`span`,p0,O(t.label),1),B(`span`,m0,O(t.id),1)]),B(`span`,h0,O(t.runningCount)+`/`+O(t.serverCount),1)],10,d0)]))),128))])):(L(),R(`p`,g0,` The panel serves no workspace yet. `)),n[2]||=B(`div`,{class:`my-1 h-px bg-line`},null,-1),B(`button`,{type:`button`,class:`flex w-full items-center gap-2 rounded-control px-2 py-1.5 text-left text-xs text-muted outline-none transition-colors duration-100 hover:bg-hover hover:text-ink`,onClick:d},[V(A(vy),{class:`size-3.5`}),n[0]||=H(` New workspace… `,-1)]),o.value?(L(),R(I,{key:2},[B(`button`,{type:`button`,class:`flex w-full items-center gap-2 rounded-control px-2 py-1.5 text-left text-xs text-muted outline-none transition-colors duration-100 hover:bg-hover hover:text-ink`,onClick:f},[V(A(gy),{class:`size-3.5`}),H(` Rename “`+O(o.value.label)+`”… `,1)]),B(`button`,{type:`button`,class:`flex w-full items-center gap-2 rounded-control px-2 py-1.5 text-left text-xs text-danger outline-none transition-colors duration-100 hover:bg-danger-soft`,onClick:c},[V(A(Iy),{class:`size-3.5`}),H(` Delete “`+O(o.value.label)+`”… `,1)])],64)):U(``,!0)],64))]),_:1})]),_:1})]),_:1},8,[`open`]))}}),b0=N({__name:`WorkspaceSwitcher`,setup(e){let{workspaces:t,activeId:n,select:r,create:i,rename:a,remove:o}=dP(),s=zg(),c=Rg(),l=k(!1),u=k(`create`),d=k(null);function f(e){r(e);let t=String(s.name??``);if(t===`overview`||t===`servers`||t===`logs`||t===`settings`){c.push(u1(e,t));return}t===`server-detail`&&c.push(u1(e,`servers`))}function p(){u.value=`create`,d.value=null,l.value=!0}function m(e){u.value=`rename`,d.value=e,l.value=!0}async function h(e){if(u.value===`create`)return await i(e)!==void 0;let t=d.value;return t!==null&&a(t.id,e)}async function g(e){let t=String(s.params.workspaceId??``)||n.value;if(!await o(e.id)||t!==e.id)return;let r=String(s.name??``);(r===`overview`||r===`servers`||r===`logs`||r===`settings`)&&c.push(u1(n.value,r))}return(e,r)=>(L(),R(I,null,[V(y0,{workspaces:A(t),"selected-id":A(n),onSelect:f,onCreate:p,onRename:m,onRemove:g},null,8,[`workspaces`,`selected-id`]),V(o0,{open:l.value,"onUpdate:open":r[0]||=e=>l.value=e,mode:u.value,initial:d.value?.label??``,submit:h},null,8,[`open`,`mode`,`initial`])],64))}}),x0={class:`flex h-13 shrink-0 items-center gap-3 border-b border-line bg-panel/80 px-3 backdrop-blur-sm sm:px-4`},S0=[`aria-label`],C0={class:`min-w-0 flex-1 truncate text-sm font-semibold tracking-tight text-ink`},w0={class:`flex shrink-0 items-center gap-1.5`},T0={class:`pr-6`},E0={class:`hidden items-center gap-1.5 rounded-control border border-line bg-panel-2 px-2 py-1.5 md:flex`},D0={class:`font-mono text-2xs text-muted`},O0={class:`px-2 py-1.5`},k0={class:`text-2xs text-faint`},A0={class:`truncate font-mono text-2xs text-muted`},j0=N({__name:`TopBar`,props:{panelUrl:{},connection:{},authenticated:{type:Boolean}},emits:[`menu`,`palette`,`signOut`],setup(e,{emit:t}){let n=e,r=t,i=zg(),a=aP(),o=W(()=>{if(i.name===`server-detail`)return`${Y(`nav.servers`)} / ${String(i.params.id??``)}`;let e=i.meta.titleKey;return typeof e==`string`?Y(e):String(i.meta.title??Y(`app.name`))}),s=W(()=>a.preference.value===`dark`?py:a.preference.value===`light`?My:fy),c=W(()=>Y(`theme.label`,{theme:Y(`theme.${a.preference.value}`)})),l=W(()=>({open:`bg-ok`,connecting:`bg-warn`,closed:`bg-danger`})[n.connection]),u=W(()=>({open:`connection.liveUpdates`,connecting:`connection.connecting`,closed:`connection.reconnecting`})[n.connection]);return(t,i)=>(L(),R(`header`,x0,[B(`button`,{type:`button`,class:`grid size-8 shrink-0 place-items-center rounded-control text-muted hover:bg-hover hover:text-ink lg:hidden`,"aria-label":A(Y)(`topbar.openNavigation`),onClick:i[0]||=e=>r(`menu`)},[V(A(uy),{class:`size-4`})],8,S0),B(`h1`,C0,O(o.value),1),B(`div`,w0,[B(`button`,{type:`button`,class:D(A(Q)(`hidden h-8 items-center gap-2 rounded-control border border-line bg-panel-2 px-2.5 text-xs text-faint transition-colors duration-150 hover:border-line hover:text-muted sm:flex`,A(yz))),onClick:i[1]||=e=>r(`palette`)},[V(A(wy),{class:`size-3.5`}),B(`span`,T0,O(A(Y)(`topbar.search`)),1),i[5]||=B(`kbd`,{class:`rounded border border-line bg-page px-1 py-0.5 font-mono text-2xs text-faint`},`⌘K`,-1)],2),V(BB,{label:A(Y)(u.value)},{default:j(()=>[B(`span`,E0,[B(`span`,{class:D(A(Q)(`size-1.5 rounded-full`,l.value))},null,2),B(`span`,D0,O(e.panelUrl),1)])]),_:1},8,[`label`]),V(BB,{label:c.value},{default:j(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":c.value,onClick:i[2]||=e=>A(a).cycle()},{default:j(()=>[(L(),z(ha(s.value),{class:`size-4`}))]),_:1},8,[`aria-label`])]),_:1},8,[`label`]),n.authenticated?(L(),z(A(eg),{key:0},{default:j(()=>[V(A(ag),{"as-child":``},{default:j(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":A(Y)(`topbar.account`)},{default:j(()=>[...i[6]||=[B(`span`,{class:`grid size-5 place-items-center rounded-full bg-accent-soft font-mono text-2xs font-semibold text-accent`},`hh`,-1)]]),_:1},8,[`aria-label`])]),_:1}),V(A(rg),null,{default:j(()=>[V(A(tg),{"side-offset":6,align:`end`,class:`z-50 min-w-44 rounded-panel border border-line bg-raise p-1 shadow-float data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`},{default:j(()=>[B(`div`,O0,[B(`p`,k0,O(A(Y)(`topbar.signedIn`)),1),B(`p`,A0,O(n.panelUrl),1)]),V(A(ig),{class:`my-1 h-px bg-line`}),V(A(ng),{class:`flex cursor-pointer items-center gap-2 rounded-control px-2 py-1.5 text-xs text-muted outline-none data-[highlighted]:bg-hover data-[highlighted]:text-ink`,onSelect:i[3]||=e=>r(`signOut`)},{default:j(()=>[V(A(ly),{class:`size-3.5`}),H(` `+O(A(Y)(`topbar.signOut`)),1)]),_:1})]),_:1})]),_:1})]),_:1})):U(``,!0),V(BB,{label:A(Y)(`topbar.commandPalette`)},{default:j(()=>[V($,{variant:`ghost`,size:`icon-sm`,class:`sm:hidden`,"aria-label":A(Y)(`topbar.commandPalette`),onClick:i[4]||=e=>r(`palette`)},{default:j(()=>[V(A(Kv),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1},8,[`label`]),V(b0)])]))}}),M0={key:1,class:`flex h-dvh overflow-hidden bg-page`},N0={class:`hidden w-60 shrink-0 border-r border-line bg-panel/50 lg:block`},P0={key:0,class:`fixed inset-y-0 left-0 z-40 w-64 border-r border-line bg-panel lg:hidden`},F0={class:`flex min-w-0 flex-1 flex-col`},I0=N({__name:`App`,setup(e){let t=zg(),n=Rg(),r=XN(),i=dP(),{session:a,logout:o}=pN(),s=k(!1),c=k(!1),l=W(()=>a.value?.authenticated===!0),u=W(()=>a.value?.authRequired===!0),d=W(()=>t.name===`login`),f=W(()=>t.name===`logs`),p=W(()=>i.runningCount.value),m=W(()=>i.serverCount.value),h=W(()=>r.control.value?.url??`—`),g=W(()=>r.host.value),_=W(()=>r.control.value?.label??`home-hosted`),v=W(()=>r.version.value),y=W(()=>i.selected.value?.label??`none`),b=W(()=>i.activeId.value);return M(W(()=>fN(a.value)),e=>{if(e!==`wait`){if(e===`login`){JN(),n.push({name:`login`});return}qN()}},{immediate:!0}),M(()=>t.fullPath,()=>{c.value=!1}),na(async()=>{(!u.value||l.value)&&await r.refresh()}),Be(()=>JN()),(e,t)=>{let n=pa(`RouterView`);return L(),z(A(fg),{"delay-duration":300},{default:j(()=>[d.value?(L(),z(n,{key:0})):(L(),R(`div`,M0,[B(`aside`,N0,[V(K1,{host:g.value,connection:A(r).connection.value,"panel-label":_.value,"panel-version":v.value,"plan-label":h.value,"workspace-id":b.value,"workspace-label":y.value,running:p.value,total:m.value},null,8,[`host`,`connection`,`panel-label`,`panel-version`,`plan-label`,`workspace-id`,`workspace-label`,`running`,`total`])]),V(Dc,{"enter-active-class":`transition-opacity duration-150`,"leave-active-class":`transition-opacity duration-100`,"enter-from-class":`opacity-0`,"leave-to-class":`opacity-0`},{default:j(()=>[c.value?(L(),R(`div`,{key:0,class:`fixed inset-0 z-40 bg-black/45 lg:hidden`,onClick:t[0]||=e=>c.value=!1})):U(``,!0)]),_:1}),V(Dc,{"enter-active-class":`transition-transform duration-150 ease-out`,"leave-active-class":`transition-transform duration-100 ease-in`,"enter-from-class":`-translate-x-full`,"leave-to-class":`-translate-x-full`},{default:j(()=>[c.value?(L(),R(`aside`,P0,[V(K1,{host:g.value,connection:A(r).connection.value,"panel-label":_.value,"panel-version":v.value,"plan-label":h.value,"workspace-id":b.value,"workspace-label":y.value,running:p.value,total:m.value,onNavigate:t[1]||=e=>c.value=!1,onClose:t[2]||=e=>c.value=!1},null,8,[`host`,`connection`,`panel-label`,`panel-version`,`plan-label`,`workspace-id`,`workspace-label`,`running`,`total`])])):U(``,!0)]),_:1}),B(`div`,F0,[V(j0,{"panel-url":h.value,connection:A(r).connection.value,authenticated:l.value,onMenu:t[3]||=e=>c.value=!0,onPalette:t[4]||=e=>s.value=!0,onSignOut:t[5]||=e=>A(o)()},null,8,[`panel-url`,`connection`,`authenticated`]),d.value?U(``,!0):(L(),z(Z1,{key:0,control:A(r).control.value,"config-error":A(i).configError.value,"config-path":A(i).selected.value?.configPath},null,8,[`control`,`config-error`,`config-path`])),B(`main`,{class:D(A(Q)(`relative min-h-0 flex-1`,f.value?`overflow-hidden`:`overflow-y-auto`))},[V(n)],2)])])),V(b1,{open:s.value,"onUpdate:open":t[6]||=e=>s.value=e},null,8,[`open`]),V(r0)]),_:1})}}});gF().catch(()=>{}).finally(()=>{yu(I0).use(l1).mount(`#app`)});