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
@@ -0,0 +1,47 @@
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=n(`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`);function we(e){return!!e||e===``}function Te(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let i=0;r&&i<e.length;i++)r=ke(e[i],t[i],n);return r}function Ee(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]&&ke(t,r[a],n)){e=a;break}if(e<0)return!1;i[e]=1}return!0}function De(e,t,n){let r=m(e),i=m(t);if(r||i||(r=h(e),i=h(t),r||i))return r&&i?Ee(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||!ke(e[r],t[r],n))return!1}return String(e)===String(t)}function Oe(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 ke(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?Oe(e,t,n,Te):!1:(r=x(e),i=x(t),r||i?!r||!i?!1:Oe(e,t,n,De):String(e)===String(t))))}function Ae(e,t){return e.findIndex(e=>ke(e,t))}var je=e=>!!(e&&e.__v_isRef===!0),O=e=>y(e)?e:e==null?``:p(e)||x(e)&&(e.toString===C||!v(e.toString))?je(e)?O(e.value):JSON.stringify(e,Me,2):String(e),Me=(e,t)=>je(t)?Me(e,t.value):m(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ne(t,r)+` =>`]=n,e),{})}:h(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ne(e))}:b(t)?Ne(t):x(t)&&!p(t)&&!ee(t)?String(t):t,Ne=(e,t=``)=>b(e)?`Symbol(${e.description??t})`:e;function Pe(e){return e==null?`initial`:typeof e==`string`?e===``?` `:e:String(e)}var Fe,Ie=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&&Fe&&(Fe.active?(this.parent=Fe,this.index=(Fe.scopes||(Fe.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=Fe;try{return Fe=this,e()}finally{Fe=t}}}on(){++this._on===1&&(this.prevScope=Fe,Fe=this)}off(){if(this._on>0&&--this._on===0){if(Fe===this)Fe=this.prevScope;else{let e=Fe;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 Le(e){return new Ie(e)}function Re(){return Fe}function ze(e,t=!1){Fe&&Fe.cleanups.push(e)}var Be,Ve=new WeakSet,He=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,Fe&&(Fe.active?Fe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ve.has(this)&&(Ve.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ke(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,st(this),Ye(this);let e=Be,t=rt;Be=this,rt=!0;try{return this.fn()}finally{Xe(this),Be=e,rt=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)$e(e);this.deps=this.depsTail=void 0,st(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ve.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ze(this)&&this.run()}get dirty(){return Ze(this)}},Ue=0,We,Ge;function Ke(e,t=!1){e.flags|=8,t?(e.next=Ge,Ge=e):(e.next=We,We=e)}function qe(){Ue++}function Je(){if(--Ue>0)return;if(Ge){let e=Ge;for(Ge=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;We;){let t=We;for(We=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 Ye(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xe(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),$e(r),et(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Ze(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qe(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qe(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ct)||(e.globalVersion=ct,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ze(e))))return;e.flags|=2;let t=e.dep,n=Be,r=rt;Be=e,rt=!0;try{Ye(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{Be=n,rt=r,Xe(e),e.flags&=-3}}function $e(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)$e(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function et(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function tt(e,t){e.effect instanceof He&&(e=e.effect.fn);let n=new He(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 nt(e){e.effect.stop()}var rt=!0,it=[];function at(){it.push(rt),rt=!1}function ot(){let e=it.pop();rt=e===void 0||e}function st(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=Be;Be=void 0;try{t()}finally{Be=e}}}var ct=0,lt=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}},ut=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(!Be||!rt||Be===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==Be)t=this.activeLink=new lt(Be,this),Be.deps?(t.prevDep=Be.depsTail,Be.depsTail.nextDep=t,Be.depsTail=t):Be.deps=Be.depsTail=t,dt(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=Be.depsTail,t.nextDep=void 0,Be.depsTail.nextDep=t,Be.depsTail=t,Be.deps===t&&(Be.deps=e)}return t}trigger(e){this.version++,ct++,this.notify(e)}notify(e){qe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Je()}}};function dt(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)dt(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var ft=new WeakMap,pt=Symbol(``),mt=Symbol(``),ht=Symbol(``);function gt(e,t,n){if(rt&&Be){let t=ft.get(e);t||ft.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new ut),r.map=t,r.key=n),r.track()}}function _t(e,t,n,r,i,a){let o=ft.get(e);if(!o){ct++;return}let s=e=>{e&&e.trigger()};if(qe(),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===ht||!b(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(ht)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(pt)),m(e)&&s(o.get(mt)));break;case`delete`:i||(s(o.get(pt)),m(e)&&s(o.get(mt)));break;case`set`:m(e)&&s(o.get(pt))}}Je()}function vt(e,t){let n=ft.get(e);return n&&n.get(t)}function yt(e){let t=dn(e);return t===e||(gt(t,`iterate`,ht),ln(e))?t:cn(e)?sn(e)?t.map(e=>mn(pn(e))):t.map(mn):t.map(pn)}function bt(e){return gt(e=dn(e),`iterate`,ht),e}function xt(e,t){return cn(e)?mn(sn(e)?pn(t):t):pn(t)}var St={__proto__:null,[Symbol.iterator](){return Ct(this,Symbol.iterator,e=>xt(this,e))},concat(...e){return yt(this).concat(...e.map(e=>p(e)?yt(e):e))},entries(){return Ct(this,`entries`,e=>(e[1]=xt(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=>xt(this,e)),arguments)},find(e,t){return Et(this,`find`,e,t,e=>xt(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=>xt(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 yt(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 yt(this).toReversed()},toSorted(e){return yt(this).toSorted(e)},toSpliced(...e){return yt(this).toSpliced(...e)},unshift(...e){return kt(this,`unshift`,e)},values(){return Ct(this,`values`,e=>xt(this,e))}};function Ct(e,t,n){let r=bt(e),i=r[t],a=i.call(r);if(r!==e&&!ln(e)){if(a[Symbol.toStringTag]===`Array Iterator`){let e=Object.create(Object.getPrototypeOf(a));return e.next=()=>wt(a.next(),n),i!==Tt[t]&&Object.defineProperties(e,{return:{get(){let e=a.return;return typeof e==`function`?e.bind(a):e}},throw:{get(){let e=a.throw;return typeof e==`function`?e.bind(a):e}}}),e}a._next=a.next,a.next=()=>wt(a._next(),n)}return a}function wt(e,t){return e.done||(e.value=t(e.value)),e}var Tt=Array.prototype;function Et(e,t,n,r,i,a){let o=bt(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,xt(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=bt(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=xt(e,t)),n.call(this,t,xt(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?xt(e,c):c}function Ot(e,t,n){let r=dn(e);gt(r,`iterate`,ht);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=[]){at(),qe();let r=dn(e)[t].apply(e,n);return Je(),ot(),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 gt(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=St[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||gt(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)&&_t(e,`set`,t,n,i):_t(e,`add`,t,n)),s}deleteProperty(e,t){let n=f(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&_t(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!b(t)||!jt.has(t))&&gt(e,`has`,t),n}ownKeys(e){return gt(e,`iterate`,p(e)?`length`:pt),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&&gt(a,`iterate`,c?mt:pt),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)&&gt(i,`get`,n),gt(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&&gt(dn(t),`iterate`,pt),t.size},has(t){let n=this.__v_raw,r=dn(n),i=dn(t);return e||(E(t,i)&&gt(r,`has`,t),gt(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&&gt(o,`iterate`,pt),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),_t(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)&&_t(r,`set`,e,n,s):_t(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&&_t(t,`delete`,e,void 0,a),o},clear(){let e=dn(this),t=e.size!==0,n=e.clear();return t&&_t(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(r,i,a)=>i===`__v_isReactive`?!e:i===`__v_isReadonly`?e:i===`__v_isShallow`?t:i===`__v_raw`?r:Reflect.get(f(n,i)&&i in r?n:r,i,a)}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 ut,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 ut,{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 vt(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 ut(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ct-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Be!==this)return Ke(this,!0),!0}get value(){let e=this.dep.track();return Qe(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){at();try{g()}finally{ot()}}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=Re(),S=()=>{m.stop(),x&&x.active&&u(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{try{return e(...t)}finally{S()}}}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))){let e=In;at();try{g&&g(),In=m;let e=[n,C===Pn?void 0:b&&C[0]===Pn?[]:C,_];C=n,d?d(t,3,e):t(...e)}finally{In=e,ot()}}}else m.run()}};return l&&l(w),m=new He(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){at(),qn(o,null,10,[e,i,a]),ot();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=pr(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function or(e){if(!(e.flags&1)){let t=pr(e),n=Zn[Zn.length-1];!n||!(e.flags&2)&&t>=pr(n)?Zn.push(e):Zn.splice(ar(t),0,e),e.flags|=1,sr()}}function sr(){rr||=nr.then(mr)}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,r=Qn+1){for(;r<Zn.length;r++){let n=Zn[r];if(n&&n.flags&2){if(e&&n.id!==e.uid||t!==void 0&&!(n.id>=t))continue;Zn.splice(r,1),r=e?r-1:Qn,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function ur(e,t,n=0){if($n.length){let e=$n,r=0;if(t){e=[];for(let i=0;i<$n.length;i++){let a=$n[i];(a.i===void 0?t.has(a):!a.i||a.i.uid<n)?$n[r++]=a:e.push(a)}}let i=[...new Set(e)].sort((e,t)=>pr(e)-pr(t));if($n.length=r,er){for(let e=0;e<i.length;e++)er.push(i[e]);return}for(er=i,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=!1;function fr(e,t){if(dr){e();return}let n=t===void 0?void 0:new Set($n);e(),dr=!0;try{lr(void 0,t),ur(void 0,n,t)}finally{dr=!1}}var pr=e=>e.id==null?e.flags&2?-1:1/0:e.id;function mr(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)&&mr(e)}}var hr,gr=[];function _r(e,t){hr=e,hr?(hr.enabled=!0,gr.forEach(({event:e,args:t})=>hr.emit(e,...t)),gr=[]):typeof window<`u`&&window.HTMLElement&&!(window.navigator?.userAgent)?.includes(`jsdom`)?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(e=>{_r(e,t)}),setTimeout(()=>{hr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,gr=[])},3e3)):gr=[]}var vr=null,yr=null;function br(e){let t=vr;return vr=e,yr=e&&e.type.__scopeId||null,t}function xr(e){yr=e}function Sr(){yr=null}var Cr=e=>j;function j(e,t=vr,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&bs(-1);let i=br(t),a=gs.length,o;try{o=e(...n)}finally{for(let e=gs.length;e>a;e--)vs();br(i),r._d&&bs(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function wr(e,t){if(vr===null)return e;let n=ic(vr),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 Tr(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&&(at(),Jn(c,n,8,[e.el,s,e,t]),ot())}}function Er(e,t){if(Bs){let n=Bs.provides,r=Bs.parent&&Bs.parent.provides;r===n&&(n=Bs.provides=Object.create(r)),n[e]=t}}function Dr(e,t,n=!1){let r=Vs();if(r||co){let i=co?co._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 Or(){return!!(Vs()||co)}var kr=Symbol.for(`v-scx`),Ar=()=>Dr(kr);function jr(e,t){return Pr(e,null,t)}function Mr(e,t){return Pr(e,null,{flush:`post`})}function Nr(e,t){return Pr(e,null,{flush:`sync`})}function M(e,t,n){return Pr(e,t,n)}function Pr(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(qs){if(s===`sync`){let e=Ar();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=a,e.resume=a,e.pause=a,e}}let p=Bs;u.call=(e,t,n)=>Jn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{e.i=p,Ho(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 qs&&(f?f.push(h):d&&h()),h}function Fr(e,t,n){let r=this.proxy,i=y(e)?e.includes(`.`)?Ir(r,e):()=>r[e]:e.bind(r,r),a;v(t)?a=t:(a=t.handler,n=t);let o=Ws(this),s=Pr(i,a.bind(r),n);return o(),s}function Ir(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 Lr=new WeakMap,Rr=Symbol(`_vte`),zr=e=>e.__isTeleport,Br=e=>e&&(e.disabled||e.disabled===``),Vr=e=>e&&(e.defer||e.defer===``),Hr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,Ur=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Wr=(e,t)=>{let n=e&&e.to;return y(n)?t?t(n):null:n},Gr={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=Br(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=Br(e.props),r=e.target=Wr(e.props,m),a=Xr(r,e,h,p);r&&(o!==`svg`&&Hr(r)?o=`svg`:o!==`mathml`&&Ur(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),Yr(e,!1)))},S=e=>{let t=()=>{if(Lr.get(e)===t){if(Lr.delete(e),Br(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),Yr(e,!0)}x(e)}};Lr.set(e,t),Ho(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),Vr(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),Yr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Lr.get(e);if(u){u.flags|=8,Lr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Br(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||Hr(p)?o=`svg`:(o===`mathml`||Ur(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Yo(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):Kr(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=Wr(t.props,m);e&&(t.target=e,Kr(t,e,null,l,0))}else g&&Kr(t,p,h,l,1);Yr(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=Br(f),m=a||!p,h=Lr.get(e);if(h&&(h.flags|=8,Lr.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:Kr,hydrate:qr};function Kr(e,t,n,{o:{insert:r},m:i},a=2){a===0&&(e.targetStart&&r(e.targetStart,t,n),r(e.targetAnchor,t,n),n=e.targetAnchor);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!Lr.has(e)&&(!d||Br(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function qr(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=Wr(t.props,c),h=Br(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||Xr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||Xr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),Yr(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var Jr=Gr;function Yr(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 Xr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[Rr]=o,e&&(r(a,e,i),r(o,e,i)),o}var Zr=Symbol(`_leaveCb`),Qr=Symbol(`_enterCb`);function $r(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ia(()=>{e.isMounted=!0}),sa(()=>{e.isUnmounting=!0}),e}var ei=[Function,Array],ti={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ei,onEnter:ei,onAfterEnter:ei,onEnterCancelled:ei,onBeforeLeave:ei,onLeave:ei,onAfterLeave:ei,onLeaveCancelled:ei,onBeforeAppear:ei,onAppear:ei,onAfterAppear:ei,onAppearCancelled:ei},ni={name:`BaseTransition`,props:ti,setup(e,{slots:t}){let n=Vs(),r=$r();return()=>{let i=t.default&&ui(t.default(),!0),a=i&&i.length?ri(i):n.subTree?U():void 0;if(!a)return;let o=dn(e),{mode:s}=o;if(r.isLeaving)return si(a);let c=ci(a);if(!c)return si(a);let l=oi(c,o,r,n,e=>l=e);c.type!==ms&&li(c,l);let u=n.subTree&&ci(n.subTree);if(u&&u.type!==ms&&!Cs(u,c)&&di(n.subTree)){let e=oi(u,o,r,n);if(li(u,e),s===`out-in`&&c.type!==ms)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},si(a);s===`in-out`&&c.type!==ms?e.delayLeave=(e,t,n)=>{let i=ai(r,u);i[String(u.key)]=u,e[Zr]=()=>{t(),e[Zr]=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 ri(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==ms){t=n;break}}return t}var ii=ni;function ai(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function oi(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=ai(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[Zr]&&t[Zr](!0);let i=S[x];if(i&&Cs(e,i)){let e=i.el[Zr];if(!e){let t=di(i);e=t&&t.el[Zr]}e&&e()}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[Qr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[Qr]=void 0)};let c=t[Qr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[Qr]&&t[Qr](!0),n.isUnmounting)return r();C(f,[t]);let a=!1;t[Zr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[Zr]=void 0,S[i]===e&&delete S[i])};let o=t[Zr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=oi(e,t,n,r,i);return i&&i(a),a}};return T}function si(e){if(Ki(e))return e=ks(e),e.children=null,e}function ci(e){if(!Ki(e))return zr(e.type)&&e.children?ri(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 li(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;li(zr(n.type)&&ci(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===I&&p(e.children)){let n=_o(e.children,!1);n&&li(n,t)}}function ui(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(ui(o.children,t,s))):(t||o.type!==ms)&&r.push(s==null?o:ks(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function di(e){if(e.component)return di(e.component.subTree);if(e.type===I){let t=p(e.children)&&_o(e.children,!1);return t?di(t):void 0}if(e.type!==ms)return e}function N(e,t){return v(e)?l({name:e.name},t,{setup:e}):e}function fi(){let e=Vs();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+e.ids[1]++:``}function pi(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function mi(e){let t=Vs(),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 hi(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var gi=new WeakMap;function _i(e,t,n,i,a=!1){if(p(e)){e.forEach((e,r)=>_i(e,t&&(p(t)?t[r]:t),n,i,a));return}if(Ui(i)&&!a){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&_i(e,t,n,i.component.subTree);return}let s=i.shapeFlag&4?ic(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=>!hi(h,e)&&f(_,e),x=(e,t)=>!(t&&hi(h,t));if(m!=null&&m!==d){if(vi(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(),gi.delete(e)};t.id=-1,gi.set(e,t),Ho(t,n)}else vi(e),i()}}}function vi(e){let t=gi.get(e);t&&(t.flags|=8,gi.delete(e))}var yi=!1,bi=()=>{yi||=(console.error(`Hydration completed but contains mismatches.`),!0)},xi=e=>e.namespaceURI.includes(`svg`)&&e.tagName!==`foreignObject`,Si=e=>e.namespaceURI.includes(`MathML`),Ci=e=>{if(e.nodeType===1){if(xi(e))return`svg`;if(Si(e))return`mathml`}},wi=e=>e.nodeType===8;function Ti(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)=>{t.hasChildNodes()?(f(t.firstChild,e,null,null,null),ur(),t._vnode=e):(n(null,e,t),ur(),t._vnode=e)},f=(n,r,s,c,u,d=!1)=>{d||=!!r.dynamicChildren;let b=wi(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 ps:ee===3?(n.data!==r.children&&(bi(),n.data=r.children),te=a(n)):r.children===``?(l(r.el=i(``),o(n),n),te=n):te=x();break;case ms:y(n)?(te=a(n),v(r.el=n.content.firstChild,n,s)):te=ee!==8||b?x():a(n);break;case hs: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):wi(n)&&n.data===`teleport start`?_(n,n.data,`teleport end`):a(n),t(r,e,null,s,c,Ci(e),d),(Ui(r)||r.component.asyncDep)&&!r.component.subTree){let t;b?(t=V(hs),t.anchor=te?te.previousSibling:e.lastChild):t=n.nodeType===3?H(``):V(n.nodeType===8?ms:`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,Ci(o(n)),u,d,e,f))}return C!=null&&_i(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&&Tr(t,null,n,`created`);let l=!1;if(y(e)){l=Jo(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&&!Ai(e,1)&&bi();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
+ `)&&(Ai(e,0)||bi(),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(Di(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)&&Fs(x,n,t),h&&Tr(t,null,n,`beforeMount`),((x=d&&d.onVnodeMounted)||h||l)&&us(()=>{x&&Fs(x,n,t),l&&g.enter(e),h&&Tr(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]=js(d[t]),g=h.type===ps;e?(g&&!u&&t+1<p&&js(d[t+1]).type===ps&&(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,Ai(r,1)||bi()),n(null,h,r,null,o,s,Ci(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&&wi(f)&&f.data===`]`?a(t.anchor=f):(bi(),l(t.anchor=u(`]`),d,f),f)},g=(e,t,r,i,s,l)=>{if(Mi(e,t)||bi(),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,Ci(d),s),r&&(r.vnode.el=t.el,Co(r,t.el)),u},_=(e,t=`[`,n=`]`)=>{let r=0;for(;e;)if(e=a(e),e&&wi(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 Ei=new Set([`src`,`srcset`,`href`,`poster`]);function Di(e,t,n){return Ei.has(t)?e.getAttribute(t)===(n==null?null:`${n}`):!1}var Oi=`data-allow-mismatch`,ki={0:`text`,1:`children`,2:`class`,3:`style`,4:`attribute`};function Ai(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(Oi);)e=e.parentElement;return ji(e&&e.getAttribute(Oi),t)}function ji(e,t){if(e==null)return!1;if(e===``)return!0;{let n=e.split(`,`);return t===0&&n.includes(`children`)?!0:n.includes(ki[t])}}function Mi(e,t){return Ai(e.parentElement,1)||Ni(e)||Pi(t)}function Ni(e){return e.nodeType===1&&ji(e.getAttribute(Oi),1)}function Pi({props:e}){let t=e&&e[Oi];return typeof t==`string`&&ji(t,1)}var Fi=he().requestIdleCallback||(e=>setTimeout(e,1)),Ii=he().cancelIdleCallback||(e=>clearTimeout(e)),Li=(e=1e4)=>t=>{let n=Fi(t,{timeout:e});return()=>Ii(n)};function Ri(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 zi=e=>(t,n)=>{let r=new IntersectionObserver(e=>{for(let n of e)if(n.isIntersecting){r.disconnect(),t();break}},e),i=e=>{if(Ri(e))return t(),r.disconnect(),!1;if(getComputedStyle(e).display===`contents`){for(let t=0;t<e.children.length;t++)if(i(e.children[t])===!1)return!1}r.observe(e)};return n(e=>{if(e instanceof Element)return i(e)}),()=>r.disconnect()},Bi=e=>t=>{if(e){let n=matchMedia(e);if(n.matches)t();else return n.addEventListener(`change`,t,{once:!0}),()=>n.removeEventListener(`change`,t)}},Vi=(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 Hi(e,t){if(wi(e)&&e.data===`[`){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(wi(r)){if(r.data===`]`){if(--n===0)break}else r.data===`[`&&n++}r=r.nextSibling}}else t(e)}var Ui=e=>!!e.type.__asyncLoader;function Wi(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=>Hi(e,t));n&&(t.bum||=[]).push(n)}:o;u?s():p().then(()=>!t.isUnmounted&&s())},get __asyncResolved(){return u},setup(){let e=Bs;if(pi(e),u)return()=>Gi(u,e);let t=t=>{l=null,Yn(t,e,13,!r)};if(s&&e.suspense||qs)return p().then(t=>()=>Gi(t,e)).catch(e=>(t(e),()=>r?V(r,{error:e}):null));let a=k(!1),c=k(),d=k(!!i),f,m;return ca(()=>{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&&Ki(e.parent.vnode)&&e.parent.update())}).catch(n=>{e.isUnmounted?l=null:(t(n),c.value=n)}),()=>{if(a.value&&u)return Gi(u,e);if(c.value&&r)return V(r,{error:c.value});if(n&&!d.value)return Gi(n,e)}}})}function Gi(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 Ki=e=>e.type.__isKeepAlive,qi={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=Vs(),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),Ho(()=>{a.isDeactivated=!1,a.a&&ue(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Fs(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;Qo(t.m),Qo(t.a),l(e,f,null,1,s),Ho(()=>{t.da&&ue(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Fs(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){$i(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=ac(Ui(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!Cs(t,o))?p(t):o&&($i(o),t&&$i(t)),i.delete(e),a.delete(e)}M(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Ji(e,t)),t&&m(e=>!Ji(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(es(n.subTree.type)?Ho(()=>{let e=ea(n.subTree);e.component&&i.set(g,e)},n.subTree.suspense):i.set(g,ea(n.subTree)))};return ia(_),oa(_),sa(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=ea(t);if(e.type===i.type&&e.key===i.key){$i(i);let e=i.component.da;e&&Ho(e,r)}else 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(!Ss(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=ea(r);if(s.type===ms)return o=null,s;let c=s.type,l=ac(Ui(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Ji(u,l))||d&&l&&Ji(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=ks(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&li(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,es(r.type)?r:s}}};function Ji(e,t){return p(e)?e.some(e=>Ji(e,t)):y(e)?e.split(`,`).includes(t):_(e)?(e.lastIndex=0,e.test(t)):!1}function Yi(e,t){Zi(e,`a`,t)}function Xi(e,t){Zi(e,`da`,t)}function Zi(e,t,n=Bs){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(ta(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Ki(e.parent.vnode)&&Qi(r,t,n,e),e=e.parent}}function Qi(e,t,n,r){let i=ta(t,e,r,!0);ca(()=>{u(r[t],i)},n)}function $i(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function ea(e){return e.shapeFlag&128?e.ssContent:e}function ta(e,t,n=Bs,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{at();let i=Ws(n),a=Jn(t,n,e,r);return i(),ot(),a};return r?i.unshift(a):i.push(a),a}}var na=e=>(t,n=Bs)=>{(!qs||e===`sp`)&&ta(e,(...e)=>t(...e),n)},ra=na(`bm`),ia=na(`m`),aa=na(`bu`),oa=na(`u`),sa=na(`bum`),ca=na(`um`),la=na(`sp`),ua=na(`rtg`),da=na(`rtc`);function fa(e,t=Bs){ta(`ec`,e,t)}var pa=`components`,ma=`directives`;function ha(e,t){return ya(pa,e,!0,t)||e}var ga=Symbol.for(`v-ndc`);function _a(e){return y(e)?ya(pa,e,!1)||e:e||ga}function va(e){return ya(ma,e)}function ya(e,t,n=!0,r=!1){let i=vr||Bs;if(i){let n=i.type;if(e===pa){let e=ac(n,!1);if(e&&(e===t||e===ae(t)||e===ce(ae(t))))return n}let a=ba(i[e]||n[e],t)||ba(i.appContext[e],t);return!a&&r?n:a}}function ba(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=bt(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`){if(!Number.isInteger(e)||e<0)i=[];else{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 xa(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??={},vr.ce||vr.parent&&Ui(vr.parent)&&vr.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=gs.length;L();let c;try{let i=o&&Sa(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=gs.length;e>s;e--)vs();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),c}function Sa(e){return e.some(e=>!Ss(e)||!(e.type===ms||e.type===I&&!Sa(e.children)))?e:null}function Ca(e,t){let n={};for(let r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:le(r)]=e[r];return n}var wa=e=>e?Ks(e)?ic(e):wa(e.parent):null,Ta=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=>wa(e.parent),$root:e=>wa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ya(e),$forceUpdate:e=>e.f||=()=>{or(e.update)},$nextTick:e=>e.n||=ir.bind(e.proxy),$watch:e=>Fr.bind(e)}),Ea=(e,t)=>e!==r&&!e.__isScriptSetup&&f(e,t),Da={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(Ea(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 Wa&&(s[t]=0)}let u=Ta[t],d,p;if(u)return t===`$attrs`&&gt(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 Ea(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)||Ea(t,c)||f(o,c)||f(i,c)||f(Ta,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)}},Oa=l({},Da,{get(e,t){if(t!==Symbol.unscopables)return Da.get(e,t,e)},has(e,t){return t[0]!==`_`&&!ge(t)}});function ka(){return null}function Aa(){return null}function ja(e){}function Ma(e){}function Na(){return null}function Pa(){}function Fa(e,t){return null}function Ia(){return Ra(`useSlots`).slots}function La(){return Ra(`useAttrs`).attrs}function Ra(e){let t=Vs();return t.setupContext||=rc(t)}function za(e){return p(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function Ba(e,t){let n=za(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 Va(e,t){return!e||!t?e||t:p(e)&&p(t)?e.concat(t):l({},za(e),za(t))}function Ha(e,t){let n={};for(let r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Ua(e){let t=Vs(),n=qs,r=e();Gs(),n&&Us(!1);let i=()=>{Ws(t),n&&Us(!0)},a=()=>{Vs()!==t&&t.scope.off(),Gs(),n&&Us(!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 Wa=!0;function Ga(e){let t=Ya(e),n=e.proxy,r=e.ctx;Wa=!1,t.beforeCreate&&qa(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&&Ka(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(Wa=!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)Ja(c[e],r,n,e);if(l){let e=v(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Er(t,e[t])})}d&&qa(d,e,`c`);function le(e,t){p(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(le(ra,f),le(ia,m),le(aa,h),le(oa,g),le(Yi,_),le(Xi,y),le(fa,ne),le(da,ee),le(ua,te),le(sa,S),le(ca,w),le(la,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&&pi(e)}function Ka(e,t,n=a){p(e)&&(e=eo(e));for(let n in e){let r=e[n],i;i=x(r)?`default`in r?Dr(r.from||n,r.default,!0):Dr(r.from||n):Dr(r),hn(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function qa(e,t,n){Jn(p(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ja(e,t,n,r){let i=r.includes(`.`)?Ir(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=>Ja(e,t,n,r));else{let r=v(e.handler)?e.handler.bind(n):t[e.handler];v(r)&&M(i,r,e)}}}function Ya(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=>Xa(c,e,o,!0)),Xa(c,t,o)),x(t)&&a.set(t,c),c}function Xa(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Xa(e,a,n,!0),i&&i.forEach(t=>Xa(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Za[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Za={data:Qa,props:ro,emits:ro,methods:no,computed:no,beforeCreate:to,created:to,beforeMount:to,mounted:to,beforeUpdate:to,updated:to,beforeDestroy:to,beforeUnmount:to,destroyed:to,unmounted:to,activated:to,deactivated:to,errorCaptured:to,serverPrefetch:to,components:no,directives:no,watch:io,provide:Qa,inject:$a};function Qa(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 $a(e,t){return no(eo(e),eo(t))}function eo(e){if(p(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function to(e,t){return e?[...new Set([].concat(e,t))]:t}function no(e,t){return e?l(Object.create(null),e,t):t}function ro(e,t){return e?p(e)&&p(t)?[...new Set([...e,...t])]:l(Object.create(null),za(e),za(t??{})):t}function io(e,t){if(!e)return t;if(!t)return e;let n=l(Object.create(null),e);for(let r in t)n[r]=to(e[r],t[r]);return n}function ao(){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 oo=0;function so(e,t){return function(n,r=null){v(n)||(n=l({},n)),r!=null&&!x(r)&&(r=null);let i=ao(),a=new WeakSet,o=[],s=!1,c=i.app={_uid:oo++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:dc,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,ic(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=co;co=c;try{return e()}finally{co=t}}};return c}}var co=null;function lo(e,t,n=r){let i=Vs(),a=ae(t),o=se(t),s=uo(e,a),c=wn((s,c)=>{let l,u=r,d;return Nr(()=>{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 uo=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${ae(t)}Modifiers`]||e[`${se(t)}Modifiers`];function fo(e,t,...n){if(e.isUnmounted)return;let i=e.vnode.props||r,a=n,o=t.startsWith(`update:`),s=o&&uo(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 po=new WeakMap;function mo(e,t,n=!1){let r=n?po: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=mo(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 ho(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 go(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,_=br(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=js(u.call(t,e,d,f,m,p,h)),y=s}else{let e=t;v=js(e.length>1?e(f,{attrs:s,slots:o,emit:l}):e(f,null)),y=t.props?s:vo(s)}}catch(t){gs.length=0,Yn(t,e,1),v=V(ms)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(c)&&(y=yo(y,a)),b=ks(b,y,!1,!0))}return n.dirs&&(b=ks(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&li(zr(b.type)&&ci(b)||b,n.transition),v=b,br(_),v}function _o(e,t=!0){let n;for(let t=0;t<e.length;t++){let r=e[t];if(Ss(r)){if(r.type!==ms||r.children===`v-if`){if(n)return;n=r}}else return}return n}var vo=e=>{let t;for(let n in e)(n===`class`||n===`style`||s(n))&&((t||={})[n]=e[n]);return t},yo=(e,t)=>{let n={};for(let r in e)(!c(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function bo(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?xo(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(So(o,r,n)&&!ho(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||xo(r,o,l):!!o;return!1}function xo(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(!f(e,a)||So(t,e,a)&&!ho(n,a))return!0}return!1}function So(e,t,n){let r=e[n],i=t[n];return n===`style`&&x(r)&&x(i)?!ke(r,i):r!==i}function Co({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 wo={},To=()=>Object.create(wo),Eo=e=>Object.getPrototypeOf(e)===wo;function Do(e,t,n,r=!1){let i={},a=To();e.propsDefaults=Object.create(null),ko(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 Oo(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(ho(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]=Ao(c,s,t,u,e,!1)}}else u!==a[o]&&(a[o]=u,l=!0)}}}else{ko(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]=Ao(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&&_t(e.attrs,`set`,``)}function ko(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:ho(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]=Ao(a,t,s,i[s],e,!f(i,s))}}return s}function Ao(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=Ws(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 jo=new WeakMap;function Mo(e,t,n=!1){let a=n?jo: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]=Mo(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]);No(t)&&(c[t]=r)}else if(s)for(let e in s){let t=ae(e);if(No(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 No(e){return e[0]!==`$`&&!ne(e)}var Po=e=>e===`_`||e===`_ctx`||e===`$stable`,Fo=e=>p(e)?e.map(js):[js(e)],Io=(e,t,n)=>{if(t._n)return t;let r=j((...e)=>Fo(t(...e)),n);return r._c=!1,r},Lo=(e,t,n)=>{let r=e._ctx;for(let n in e){if(Po(n))continue;let i=e[n];if(v(i))t[n]=Io(n,i,r);else if(i!=null){let e=Fo(i);t[n]=()=>e}}},Ro=(e,t)=>{let n=Fo(t);e.slots.default=()=>n},zo=(e,t,n)=>{for(let r in t)(n||!Po(r))&&(e[r]=t[r])},Bo=(e,t,n)=>{let r=e.slots=To();if(e.vnode.shapeFlag&32){let e=t._;e?(zo(r,t,n),n&&de(r,`_`,e,!0)):Lo(t,r)}else t&&Ro(e,t)},Vo=(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:zo(a,t,n):(o=!t.$stable,Lo(t,a)),s=t}else t&&(Ro(e,t),s={default:1});if(o)for(let e in a)!Po(e)&&s[e]==null&&delete a[e]},Ho=us;function Uo(e){return Go(e)}function Wo(e){return Go(e,Ti)}function Go(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&&!Cs(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 ps:y(e,t,n,r);break;case ms:b(e,t,n,r);break;case hs: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,Ce)}d!=null&&a?_i(d,e&&e.ref,o,t||e,!t):d==null&&e&&e.ref!=null&&_i(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,Ko(e,a),s,u),_&&Tr(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)&&Fs(f,r,e)}_&&Tr(e,null,r,`beforeMount`);let v=Jo(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&Ho(()=>{try{f&&Fs(f,r,e),v&&g.enter(d),_&&Tr(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||es(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?Ms(e[l]):js(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&&qo(n,!1),(g=h.onVnodeBeforeUpdate)&&Fs(g,n,t,e),f&&Tr(t,e,n,`beforeUpdate`),n&&qo(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,Ko(t,a),o):s||fe(e,t,l,null,n,i,Ko(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)&&Ho(()=>{g&&Fs(g,n,t,e),f&&Tr(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||$o(c),d=u&&(c.type===I||!Cs(c,l)||c.shapeFlag&198)?m(u):n;v(c,l,d,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)&&Yo(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=zs(e,r,i);if(Ki(e)&&(s.ctx.renderer=Ce),Js(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,E,o,a),!e.el){let r=s.subTree=V(ms);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(bo(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,t.placeholder=e.placeholder,de(r,t,n);return}r.next=t,r.update()}else t.el=e.el,t.placeholder=e.placeholder,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=Zo(e);if(n){t&&(t.el=c.el,de(e,t,o)),n.asyncDep.then(()=>{Ho(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;qo(e,!1),t?(t.el=c.el,de(e,t,o)):t=c,n&&ue(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Fs(d,s,t,c),qo(e,!0);let f=go(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),D(p),e,i,a),t.el=f.el,u===null&&Co(e,f.el),r&&Ho(r,i),(d=t.props&&t.props.onVnodeUpdated)&&Ho(()=>Fs(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=Ui(t);if(qo(e,!1),l&&ue(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Fs(o,d,t),qo(e,!0),s&&Te){let t=()=>{e.subTree=go(e),Te(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=go(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&Ho(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;Ho(()=>Fs(o,d,e),i)}(t.shapeFlag&256||d&&Ui(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&Ho(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new He(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),qo(e,!0),l()},de=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Oo(e,t.props,r,n),Vo(e,t.children,n),at(),lr(e),ot()},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?Ms(t[p]):js(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?Ms(t[u]):js(t[u]);if(Cs(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?Ms(t[p]):js(t[p]);if(Cs(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?Ms(t[u]):js(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?Ms(t[u]):js(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&&Cs(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?Xo(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||$o(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);else if(d&128)e.suspense.move(t,n,r);else if(d&64)c.move(e,t,n,Ce);else 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)}else if(c===hs)S(e,t,n);else if(r!==2&&d&1&&l){if(r===0)l.persisted&&!a[Zr]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),Ho(()=>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[Zr];a._isLeaving&&a[Zr](!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&&(at(),_i(s,null,n,e,!0),ot()),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=!Ui(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Fs(_,t,e),u&6)be(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Tr(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Ce,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)&&Ho(()=>{_&&Fs(_,t,e),h&&Tr(e,null,t,`unmounted`),v&&(e.el=null)},n)},ve=e=>{let{type:t,el:n,anchor:r,transition:i}=e,a=t===I;if(a&&!i){ye(n,r);return}if(t===hs){C(e),i&&!i.persisted&&i.afterLeave&&i.afterLeave();return}let o=a?di(e):e,c=()=>{a?m(n)&&ye(n,r):s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(o&&o.shapeFlag&1&&i&&!i.persisted){let{leave:e,delayLeave:t}=i,n=o.el,r=()=>e(n,c);t?t(n,c,r):r()}else c()},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;Qo(c),Qo(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&&Ho(s,t),Ho(()=>{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[Rr];return n?h(n):t},Se=(e,t,n)=>{fr(()=>{e==null?t._vnode&&_e(t._vnode,null,null,!0):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e},e&&t._vnode?void 0:e&&e.component?e.component.uid:Rs())},Ce={p:v,um:_e,m:ge,r:ve,mt:ce,mc:te,pc:fe,pbc:ie,n:D,o:e},we,Te;return t&&([we,Te]=t(Ce)),{render:Se,hydrate:we,createApp:so(Se,we)}}function Ko({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 qo({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Jo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Yo(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]=Ms(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&Yo(t,a)),a.type===ps&&(a.patchFlag===-1&&(a=i[e]=Ms(a)),a.el=t.el),a.type===ms&&!a.el&&(a.el=t.el)}}function Xo(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 Zo(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Zo(t)}function Qo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function $o(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?$o(t.subTree):null}var es=e=>e.__isSuspense,ts=0,ns={name:`Suspense`,__isSuspense:!0,process(e,t,n,r,i,a,o,s,c,l){if(e==null)is(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}as(e,t,n,r,i,o,s,c,l)}},hydrate:ss,normalize:cs};function rs(e,t){let n=e.props&&e.props[t];v(n)&&n()}function is(e,t,n,r,i,a,o,s,c){let{p:l,o:{createElement:u}}=c,d=u(`div`),f=e.suspense=os(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?(rs(e,`onPending`),rs(e,`onFallback`),l(null,e.ssFallback,t,n,r,null,a,o),ds(f,e.ssFallback)):f.resolve(!1,!0)}function as(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,Cs(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),ds(d,p))):(d.pendingId=ts++,_?(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),ds(d,p))):m&&Cs(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&&Cs(m,f))c(m,f,n,r,i,d,a,o,s),ds(d,f);else if(rs(t,`onPending`),d.pendingBranch=f,d.pendingId=f.shapeFlag&512?f.component.suspenseId:ts++,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 os(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=fs(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:ts++,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&&Ho(()=>r.ssFallback.el=null,x)),g||f(o,u,a,0)}x.isFallbackMountPending=!1,ds(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()),rs(r,`onResolve`)},fallback(e){if(!x.pendingBranch)return;let{vnode:t,activeBranch:n,parentComponent:r,container:i,namespace:a}=x;rs(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),ds(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,r){let i=!!x.pendingBranch;i&&x.deps++;let a=e.vnode.el;e.asyncDep.catch(t=>{Yn(t,e,0)}).then(o=>{if(e.isUnmounted||x.isUnmounted||x.pendingId!==e.suspenseId)return;if(Gs(),!e.scope.active){i&&--x.deps===0&&x.resolve();return}e.asyncResolved=!0;let{vnode:s}=e;Xs(e,o,!1),a&&(s.el=a);let c=!a&&e.subTree.el;t(e,s,h(a||e.subTree.el),a?null:m(e.subTree),x,r,n),c&&(s.placeholder=null,g(c)),Co(e,s.el),i&&--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 ss(e,t,n,r,i,a,o,s,c){let l=t.suspense=os(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 cs(e){let{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=ls(r?n.default:n),e.ssFallback=r?ls(n.fallback):V(ms)}function ls(e){let t;if(v(e)){let n=ys&&e._c;n&&(e._d=!1,L()),e=e(),n&&(e._d=!0,t=_s,vs())}return p(e)&&(e=_o(e)),e=js(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(t=>t!==e)),e}function us(e,t){t&&t.pendingBranch?p(e)?t.effects.push(...e):t.effects.push(e):cr(e)}function ds(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,Co(r,i))}function fs(e){let t=e.props&&e.props.suspensible;return t!=null&&t!==!1}var I=Symbol.for(`v-fgt`),ps=Symbol.for(`v-txt`),ms=Symbol.for(`v-cmt`),hs=Symbol.for(`v-stc`),gs=[],_s=null;function L(e=!1){gs.push(_s=e?null:[])}function vs(){gs.pop(),_s=gs[gs.length-1]||null}var ys=1;function bs(e,t=!1){ys+=e,e<0&&_s&&t&&(_s.hasOnce=!0)}function xs(e){return e.dynamicChildren=ys>0?_s||i:null,vs(),ys>0&&_s&&_s.push(e),e}function R(e,t,n,r,i,a){return xs(B(e,t,n,r,i,a,!0))}function z(e,t,n,r,i){return xs(V(e,t,n,r,i,!0))}function Ss(e){return e?e.__v_isVNode===!0:!1}function Cs(e,t){return e.type===t.type&&e.key===t.key}function ws(e){}var Ts=({key:e})=>e??null,Es=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:y(e)||hn(e)||v(e)?{i:vr,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&&Ts(t),ref:t&&Es(t),scopeId:yr,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:vr};return s?(Ns(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=y(n)?8:16),ys>0&&!o&&_s&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&_s.push(c),c}var V=Ds;function Ds(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ga)&&(e=ms),Ss(e)){let r=ks(e,t,!0);return n&&Ns(r,n),ys>0&&!a&&_s&&(r.shapeFlag&6?_s[_s.indexOf(e)]=r:_s.push(r)),r.patchFlag=-2,r}if(oc(e)&&(e=e.__vccOpts),t){t=Os(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:es(e)?128:zr(e)?64:x(e)?4:v(e)?2:0;return B(e,t,n,r,i,o,a,!0)}function Os(e){return e?un(e)||Eo(e)?l({},e):e:null}function ks(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ps(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ts(l),ref:t&&t.ref?n&&a?p(a)?a.concat(Es(t)):[a,Es(t)]:Es(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&&ks(e.ssContent),ssFallback:e.ssFallback&&ks(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&li(u,c.clone(u)),u}function H(e=` `,t=0){return V(ps,null,e,t)}function As(e,t){let n=V(hs,null,e);return n.staticCount=t,n}function U(e=``,t=!1){return t?(L(),z(ms,null,e)):V(ms,null,e)}function js(e){return e==null||typeof e==`boolean`?V(ms):p(e)?V(I,null,e.slice()):Ss(e)?Ms(e):V(ps,null,String(e))}function Ms(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ks(e)}function Ns(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),Ns(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!Eo(t)?t._ctx=vr:r===3&&vr&&(vr.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(v(t)){if(r&65){Ns(e,{default:t});return}t={default:t,_ctx:vr},n=32}else t=String(t),r&64?(n=16,t=[H(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ps(...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 Fs(e,t,n,r=null){Jn(e,t,7,[n,r])}var Is=ao(),Ls=0;function Rs(){return Ls}function zs(e,t,n){let i=e.type,a=(t?t.appContext:e.appContext)||Is,o={uid:Ls++,vnode:e,type:i,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ie(!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:Mo(i,a),emitsOptions:mo(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=fo.bind(null,o),e.ce&&e.ce(o),o}var Bs=null,Vs=()=>Bs||vr,Hs,Us;{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)}};Hs=t(`__VUE_INSTANCE_SETTERS__`,e=>Bs=e),Us=t(`__VUE_SSR_SETTERS__`,e=>qs=e)}var Ws=e=>{let t=Bs;return Hs(e),e.scope.on(),()=>{e.scope.off(),Hs(t)}},Gs=()=>{Bs&&Bs.scope.off(),Hs(null)};function Ks(e){return e.vnode.shapeFlag&4}var qs=!1;function Js(e,t=!1,n=!1){t&&Us(t);let{props:r,children:i}=e.vnode,a=Ks(e);Do(e,r,a,t),Bo(e,i,n||t);let o=a?Ys(e,t):void 0;return t&&Us(!1),o}function Ys(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Da);let{setup:r}=n;if(r){at();let n=e.setupContext=r.length>1?rc(e):null,i=Ws(e),a=qn(r,e,0,[e.props,n]),o=S(a);if(ot(),i(),(o||e.sp)&&!Ui(e)&&pi(e),o){if(a.then(Gs,Gs),t)return a.then(n=>{Us(!0);try{Xs(e,n,t)}finally{Us(!1)}}).catch(t=>{Yn(t,e,0)});e.asyncDep=a}else Xs(e,a,t)}else tc(e,t)}function Xs(e,t,n){v(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:x(t)&&(e.setupState=Sn(t)),tc(e,n)}var Zs,Qs;function $s(e){Zs=e,Qs=e=>{e.render._rc&&(e.withProxy=new Proxy(e.ctx,Oa))}}var ec=()=>!Zs;function tc(e,t,n){let r=e.type;if(!e.render){if(!t&&Zs&&!r.render){let t=r.template||Ya(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=Zs(t,s)}}e.render=r.render||a,Qs&&Qs(e)}{let t=Ws(e);at();try{Ga(e)}finally{ot(),t()}}}var nc={get(e,t){return gt(e,`get`,``),e[t]}};function rc(e){return{attrs:new Proxy(e.attrs,nc),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function ic(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 Ta)return Ta[n](e)},has(e,t){return t in e||t in Ta}}):e.proxy}function ac(e,t=!0){return v(e)?e.displayName||e.name:e.name||t&&e.__name}function oc(e){return v(e)&&`__vccOpts`in e}var W=(e,t)=>jn(e,t,qs);function sc(e,t,n){try{bs(-1);let r=arguments.length;return r===2?x(t)&&!p(t)?Ss(t)?V(e,null,[t]):V(e,t):V(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ss(n)&&(n=[n]),V(e,t,n))}finally{bs(1)}}function cc(){}function lc(e,t,n,r){let i=n[r];if(i&&uc(i,e))return i;let a=t();return a.memo=e.slice(),a.cacheIndex=r,n[r]=a}function uc(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 ys>0&&_s&&_s.push(e),!0}var dc=`3.5.44`,fc=a,pc=Kn,mc=hr,hc=_r,gc={createComponentInstance:zs,setupComponent:Js,renderComponentRoot:go,setCurrentRenderingInstance:br,isVNode:Ss,normalizeVNode:js,getComponentPublicInstance:ic,ensureValidVNode:Sa,pushWarningContext:Hn,popWarningContext:Un},_c=void 0,vc=typeof window<`u`&&window.trustedTypes;if(vc)try{_c=vc.createPolicy(`vue`,{createHTML:e=>e})}catch{}var yc=_c?e=>_c.createHTML(e):e=>e,bc=`http://www.w3.org/2000/svg`,xc=`http://www.w3.org/1998/Math/MathML`,Sc=typeof document<`u`?document:null,Cc=Sc&&Sc.createElement(`template`),wc={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`?Sc.createElementNS(bc,e):t===`mathml`?Sc.createElementNS(xc,e):n?Sc.createElement(e,{is:n}):Sc.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Sc.createTextNode(e),createComment:e=>Sc.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Sc.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{Cc.innerHTML=yc(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=Cc.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]}},Tc=`transition`,Ec=`animation`,Dc=Symbol(`_vtc`),Oc={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},kc=l({},ti,Oc),Ac=(e=>(e.displayName=`Transition`,e.props=kc,e))((e,{slots:t})=>sc(ii,Nc(e),t)),jc=(e,t=[])=>{p(e)?e.forEach(e=>e(...t)):e&&e(...t)},Mc=e=>e?p(e)?e.some(e=>e.length>1):e.length>1:!1;function Nc(e){let t={};for(let n in e)n in Oc||(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=Pc(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,Lc(e,t?d:s),Lc(e,t?u:o),n&&n()},te=(e,t)=>{e._isLeaving=!1,Lc(e,f),Lc(e,m),Lc(e,p),t&&t()},ne=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);jc(i,[t,o]),Rc(()=>{Lc(t,e?c:a),Ic(t,e?d:s),Mc(i)||Bc(t,r,g,o)})};return l(t,{onBeforeEnter(e){jc(v,[e]),Ic(e,a),Ic(e,o)},onBeforeAppear(e){jc(C,[e]),Ic(e,c),Ic(e,u)},onEnter:ne(!1),onAppear:ne(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>te(e,t);Ic(e,f),e._enterCancelled?(Ic(e,p),Wc(e)):(Wc(e),Ic(e,p)),Rc(()=>{e._isLeaving&&(Lc(e,f),Ic(e,m),Mc(x)||Bc(e,r,_,n))}),jc(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),jc(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),jc(T,[e])},onLeaveCancelled(e){te(e),jc(S,[e])}})}function Pc(e){if(e==null)return null;if(x(e))return[Fc(e.enter),Fc(e.leave)];{let t=Fc(e);return[t,t]}}function Fc(e){return pe(e)}function Ic(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Dc]||(e[Dc]=new Set)).add(t)}function Lc(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Dc];n&&(n.delete(t),n.size||(e[Dc]=void 0))}function Rc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var zc=0;function Bc(e,t,n,r){let i=e._endId=++zc,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Vc(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 Vc(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${Tc}Delay`),a=r(`${Tc}Duration`),o=Hc(i,a),s=r(`${Ec}Delay`),c=r(`${Ec}Duration`),l=Hc(s,c),u=null,d=0,f=0;t===Tc?o>0&&(u=Tc,d=o,f=a.length):t===Ec?l>0&&(u=Ec,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Tc:Ec:null,f=u?u===Tc?a.length:c.length:0);let p=u===Tc&&/\b(?:transform|all)(?:,|$)/.test(r(`${Tc}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Hc(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Uc(t)+Uc(e[n])))}function Uc(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Wc(e){return(e?e.ownerDocument:document).body.offsetHeight}function Gc(e,t,n){let r=e[Dc];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Kc=Symbol(`_vod`),qc=Symbol(`_vsh`),Jc={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Kc]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):Yc(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),Yc(e,!0),r.enter(e)):r.leave(e,()=>{Yc(e,!1)}):Yc(e,t))},beforeUnmount(e,{value:t}){Yc(e,t)}};function Yc(e,t){e.style.display=t?e[Kc]:`none`,e[qc]=!t}function Xc(){Jc.getSSRProps=({value:e})=>{if(!e)return{style:{display:`none`}}}}var Zc=Symbol(``);function Qc(e){let t=Vs();if(!t)return;let n=t.ut=(n=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>el(e,n))},r=()=>{let r=e(t.proxy);t.ce?el(t.ce,r):$c(t.subTree,r),n(r)};aa(()=>{cr(r)}),ia(()=>{M(r,a,{flush:`post`});let e=new MutationObserver(r);e.observe(t.subTree.el.parentNode,{childList:!0}),ca(()=>e.disconnect())})}function $c(e,t){if(e.shapeFlag&128){let n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{$c(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)el(e.el,t);else if(e.type===I)e.children.forEach(e=>$c(e,t));else if(e.type===hs){let{el:n,anchor:r}=e;for(;n&&(el(n,t),n!==r);)n=n.nextSibling}}function el(e,t){if(e.nodeType===1){let n=e.style,r=``;for(let e in t){let i=Pe(t[e]);n.setProperty(`--${e}`,i),r+=`--${e}: ${i};`}n[Zc]=r}}var tl=/(?:^|;)\s*display\s*:/;function nl(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]??il(r,t,``)}else for(let e in t)n[e]??il(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?il(r,i,``):cl(e,i,!y(t)&&t?t[i]:void 0,o)||il(r,i,o)}}else if(i){if(t!==n){let e=r[Zc];e&&(n+=`;`+e),r.cssText=n,a=tl.test(n)}}else t&&e.removeAttribute(`style`);Kc in e&&((!i||t!==n)&&(e[Kc]=a?r.display:``),e[qc]&&(r.display=`none`))}var rl=/\s*!important$/;function il(e,t,n){if(p(n))n.forEach(n=>il(e,t,n));else if(n??=``,t.startsWith(`--`))rl.test(n)?e.setProperty(t,n.replace(rl,``),`important`):e.setProperty(t,n);else{let r=sl(e,t);rl.test(n)?e.setProperty(se(r),n.replace(rl,``),`important`):e[r]=n}}var al=[`Webkit`,`Moz`,`ms`],ol={};function sl(e,t){let n=ol[t];if(n)return n;let r=ae(t);if(r!==`filter`&&r in e)return ol[t]=r;r=ce(r);for(let n=0;n<al.length;n++){let i=al[n]+r;if(i in e)return ol[t]=i}return t}function cl(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&y(r)&&n===r}var ll=`http://www.w3.org/1999/xlink`;function ul(e,t,n,r,i,a=Ce(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(ll,t.slice(6,t.length)):e.setAttributeNS(ll,t,n):n==null||a&&!we(n)?e.removeAttribute(t):e.setAttribute(t,a?``:b(n)?String(n):n)}function dl(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?yc(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=we(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 fl(e,t,n,r){e.addEventListener(t,n,r)}function pl(e,t,n,r){e.removeEventListener(t,n,r)}var ml=Symbol(`_vei`);function hl(e,t,n,r,i=null){let a=e[ml]||(e[ml]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=vl(t);r?fl(e,n,a[t]=Sl(r,i),s):o&&(pl(e,n,o,s),a[t]=void 0)}}var gl=/(Once|Passive|Capture)$/,_l=/^on:?(?:Once|Passive|Capture)$/;function vl(e){let t,n;for(;(n=e.match(gl))&&!_l.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 yl=0,bl=Promise.resolve(),xl=()=>yl||=(bl.then(()=>yl=0),Date.now());function Sl(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=xl(),n}var Cl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,wl=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Gc(e,r,o):t===`style`?nl(e,n,r):s(t)?c(t)||hl(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):Tl(e,t,r,o))?(dl(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&ul(e,t,r,o,a,t!==`value`)):e._isVueCE&&(El(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!y(r)))?dl(e,ae(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ul(e,t,r,o))};function Tl(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Cl(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 Cl(t)&&y(n)?!1:t in e}function El(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 Dl={};function Ol(e,t,n){let r=N(e,t);ee(r)&&(r=l({},r,t));class i extends jl{constructor(e){super(r,e,n)}}return i.def=r,i}var kl=((e,t)=>Ol(e,t,Ou)),Al=typeof HTMLElement<`u`?HTMLElement:class{},jl=class e extends Al{constructor(e,t={},n=Du){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!==Du?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._connected&&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):Dl,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===Dl?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),Tu(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 Ml(e){let t=Vs();return t&&t.ce||null}function Nl(){let e=Ml();return e&&e.shadowRoot}function Pl(e=`$style`){{let t=Vs();if(!t)return r;let n=t.type.__cssModules;return n&&n[e]||r}}var Fl=new WeakMap,Il=new WeakMap,Ll=Symbol(`_moveCb`),Rl=Symbol(`_enterCb`),zl=new WeakMap,Bl=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:l({},kc,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=Vs(),r=$r(),i,a,o,s,c=()=>(s===void 0&&(s=i.length>0&&Yl(i[0].el,n.vnode.el,Hl(e))),s);return oa(()=>{if(zl.delete(n),!c()){i=[],o=void 0;return}let t=Hl(e);i.forEach(Vl);let r=o&&Jl(o,n.vnode.el);o=void 0,i.forEach(e=>Ul(e,r));let a=i.filter(Wl);Wc(n.vnode.el),a.forEach(e=>{let n=e.el,r=n.style;Ic(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Ll]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Ll]=null,Lc(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let l=dn(e),u=Nc(l),d=l.tag||I;if(i=[],s=void 0,a)for(let e=0;e<a.length;e++){let t=a[e];t.el&&t.el instanceof Element&&!t.el[qc]&&(i.push(t),li(t,oi(t,u,r,n)),Fl.set(t,Gl(t.el)))}a=t.default?ui(t.default()):[];for(let e=0;e<a.length;e++){let t=a[e];t.key!=null&&li(t,oi(t,u,r,n))}return i.length&&(o=Kl(n),zl.set(n,c)),V(d,null,a)}}});function Vl(e){let t=e.el;t[Ll]&&t[Ll](),t[Rl]&&t[Rl]()}function Hl(e){return e.moveClass||`${e.name||`v`}-move`}function Ul(e,t){Il.set(e,Gl(e.el,t))}function Wl(e){let t=Fl.get(e),n=Il.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 Gl(e,t){let n=e.getBoundingClientRect();return{left:n.left-(t?t.left:0),top:n.top-(t?t.top:0)}}function Kl(e){let t;for(let n=e.parent;n;n=n.parent){let r=zl.get(n);if(r){let i=ql(n.vnode.el,e.vnode.el);i&&(t||=[]).push(l(Gl(i),{item:i,willMove:r}))}}return t}function ql(e,t){let n=e.nodeType===1?e:e.parentNode;for(;t&&t.parentNode!==n;)t=t.parentNode;if(t&&t.nodeType===1)return t}function Jl(e,t){let n=e.find(e=>e.willMove()&&e.item.contains(t));return n&&Gl(n.item,n)}function Yl(e,t,n){let r=e.cloneNode(),i=e[Dc];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}=Vc(r);return a.removeChild(r),o}var Xl=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return p(t)?e=>ue(t,e):t};function Zl(e){e.target.composing=!0}function Ql(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var $l=Symbol(`_assign`),eu=Symbol(`_initialValue`);function tu(e,t,n){return t&&(e=e.trim()),n&&(e=fe(e)),e}var nu={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[eu]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[eu]=e.defaultValue.replace(/\r\n?/g,`
4
+ `))),e[$l]=Xl(i);let a=r||i.props&&i.props.type===`number`;fl(e,t?`change`:`input`,t=>{t.target.composing||e[$l](tu(e.value,n,a))}),(n||a)&&fl(e,`change`,()=>{e.value=tu(e.value,n,a)}),t||(fl(e,`compositionstart`,Zl),fl(e,`compositionend`,Ql),fl(e,`change`,Ql))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[eu];delete e[eu],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[$l](tu(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[$l]=Xl(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)}},ru={deep:!0,created(e,t,n){e[$l]=Xl(n),fl(e,`change`,()=>{let t=e._modelValue,n=lu(e),r=e.checked,i=e[$l];if(p(t)){let e=Ae(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(uu(e,r))})},mounted:iu,beforeUpdate(e,t,n){e[$l]=Xl(n),iu(e,t,n)}};function iu(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(p(t))i=Ae(t,r.props.value)>-1;else if(h(t))i=t.has(r.props.value);else{if(t===n)return;i=ke(t,uu(e,!0))}e.checked!==i&&(e.checked=i)}var au={created(e,{value:t},n){e.checked=ke(t,n.props.value),e[$l]=Xl(n),fl(e,`change`,()=>{e[$l](lu(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[$l]=Xl(r),t!==n&&(e.checked=ke(t,r.props.value))}},ou={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,fl(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?fe(lu(e)):lu(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[$l](i)}finally{ir(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[$l]=Xl(r)},mounted(e,{value:t}){cu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[$l]=Xl(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!su(t,n[1],n[0]))&&cu(e,t)}};function su(e,t,n){if(!n||p(e))return ke(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 cu(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=lu(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):Ae(t,o)>-1}else a.selected=t.has(o)}else if(ke(lu(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function lu(e){return`_value`in e?e._value:e.value}function uu(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var du={created(e,t,n){pu(e,t,n,null,`created`)},mounted(e,t,n){pu(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){pu(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){pu(e,t,n,r,`updated`)}};function fu(e,t){switch(e){case`SELECT`:return ou;case`TEXTAREA`:return nu;default:switch(t){case`checkbox`:return ru;case`radio`:return au;default:return nu}}}function pu(e,t,n,r,i){let a=fu(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}function mu(){nu.getSSRProps=({value:e})=>({value:e}),au.getSSRProps=({value:e},t)=>{if(t.props&&ke(t.props.value,e))return{checked:!0}},ru.getSSRProps=({value:e},t)=>{if(p(e)){if(t.props&&Ae(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}},du.getSSRProps=(e,t)=>{if(typeof t.type!=`string`)return;let n=fu(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}var hu=[`ctrl`,`shift`,`alt`,`meta`],gu={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)=>hu.some(n=>e[`${n}Key`]&&!t.includes(n))},_u=(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=gu[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},vu={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},yu=(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||vu[e]===r))return e(n)}))},bu=l({patchProp:wl},wc),xu,Su=!1;function Cu(){return xu||=Uo(bu)}function wu(){return xu=Su?xu:Wo(bu),Su=!0,xu}var Tu=((...e)=>{Cu().render(...e)}),Eu=((...e)=>{wu().hydrate(...e)}),Du=((...e)=>{let t=Cu().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=Au(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,ku(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t}),Ou=((...e)=>{let t=wu().createApp(...e),{mount:n}=t;return t.mount=e=>{let t=Au(e);if(t)return n(t,!0,ku(t))},t});function ku(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function Au(e){return y(e)?document.querySelector(e):e}var ju=!1,Mu=()=>{ju||(ju=!0,mu(),Xc())},Nu=t({BaseTransition:()=>ii,BaseTransitionPropsValidators:()=>ti,Comment:()=>ms,DeprecationTypes:()=>null,EffectScope:()=>Ie,ErrorCodes:()=>Gn,ErrorTypeStrings:()=>pc,Fragment:()=>I,KeepAlive:()=>qi,ReactiveEffect:()=>He,Static:()=>hs,Suspense:()=>ns,Teleport:()=>Jr,Text:()=>ps,TrackOpTypes:()=>Mn,Transition:()=>Ac,TransitionGroup:()=>Bl,TriggerOpTypes:()=>Nn,VueElement:()=>jl,assertNumber:()=>Wn,callWithAsyncErrorHandling:()=>Jn,callWithErrorHandling:()=>qn,camelize:()=>ae,capitalize:()=>ce,cloneVNode:()=>ks,compatUtils:()=>null,compile:()=>Pu,computed:()=>W,createApp:()=>Du,createBlock:()=>z,createCommentVNode:()=>U,createElementBlock:()=>R,createElementVNode:()=>B,createHydrationRenderer:()=>Wo,createPropsRestProxy:()=>Ha,createRenderer:()=>Uo,createSSRApp:()=>Ou,createSlots:()=>xa,createStaticVNode:()=>As,createTextVNode:()=>H,createVNode:()=>V,customRef:()=>wn,defineAsyncComponent:()=>Wi,defineComponent:()=>N,defineCustomElement:()=>Ol,defineEmits:()=>Aa,defineExpose:()=>ja,defineModel:()=>Pa,defineOptions:()=>Ma,defineProps:()=>ka,defineSSRCustomElement:()=>kl,defineSlots:()=>Na,devtools:()=>mc,effect:()=>tt,effectScope:()=>Le,getCurrentInstance:()=>Vs,getCurrentScope:()=>Re,getCurrentWatcher:()=>Ln,getTransitionRawChildren:()=>ui,guardReactiveProps:()=>Os,h:()=>sc,handleError:()=>Yn,hasInjectionContext:()=>Or,hydrate:()=>Eu,hydrateOnIdle:()=>Li,hydrateOnInteraction:()=>Vi,hydrateOnMediaQuery:()=>Bi,hydrateOnVisible:()=>zi,initCustomFormatter:()=>cc,initDirectivesForSSR:()=>Mu,inject:()=>Dr,isMemoSame:()=>uc,isProxy:()=>un,isReactive:()=>sn,isReadonly:()=>cn,isRef:()=>hn,isRuntimeOnly:()=>ec,isShallow:()=>ln,isVNode:()=>Ss,markRaw:()=>fn,mergeDefaults:()=>Ba,mergeModels:()=>Va,mergeProps:()=>Ps,nextTick:()=>ir,nodeOps:()=>wc,normalizeClass:()=>D,normalizeProps:()=>Se,normalizeStyle:()=>_e,onActivated:()=>Yi,onBeforeMount:()=>ra,onBeforeUnmount:()=>sa,onBeforeUpdate:()=>aa,onDeactivated:()=>Xi,onErrorCaptured:()=>fa,onMounted:()=>ia,onRenderTracked:()=>da,onRenderTriggered:()=>ua,onScopeDispose:()=>ze,onServerPrefetch:()=>la,onUnmounted:()=>ca,onUpdated:()=>oa,onWatcherCleanup:()=>Rn,openBlock:()=>L,patchProp:()=>wl,popScopeId:()=>Sr,provide:()=>Er,proxyRefs:()=>Sn,pushScopeId:()=>xr,queuePostFlushCb:()=>cr,reactive:()=>tn,readonly:()=>rn,ref:()=>k,registerRuntimeCompiler:()=>$s,render:()=>Tu,renderList:()=>P,renderSlot:()=>F,resolveComponent:()=>ha,resolveDirective:()=>va,resolveDynamicComponent:()=>_a,resolveFilter:()=>null,resolveTransitionHooks:()=>oi,setBlockTracking:()=>bs,setDevtoolsHook:()=>hc,setTransitionHooks:()=>li,shallowReactive:()=>nn,shallowReadonly:()=>an,shallowRef:()=>gn,ssrContextKey:()=>kr,ssrUtils:()=>gc,stop:()=>nt,toDisplayString:()=>O,toHandlerKey:()=>le,toHandlers:()=>Ca,toRaw:()=>dn,toRef:()=>On,toRefs:()=>Tn,toValue:()=>bn,transformVNodeArgs:()=>ws,triggerRef:()=>yn,unref:()=>A,useAttrs:()=>La,useCssModule:()=>Pl,useCssVars:()=>Qc,useHost:()=>Ml,useId:()=>fi,useModel:()=>lo,useSSRContext:()=>Ar,useShadowRoot:()=>Nl,useSlots:()=>Ia,useTemplateRef:()=>mi,useTransitionState:()=>$r,vModelCheckbox:()=>ru,vModelDynamic:()=>du,vModelRadio:()=>au,vModelSelect:()=>ou,vModelText:()=>nu,vShow:()=>Jc,version:()=>dc,warn:()=>fc,watch:()=>M,watchEffect:()=>jr,watchPostEffect:()=>Mr,watchSyncEffect:()=>Nr,withAsyncContext:()=>Ua,withCtx:()=>j,withDefaults:()=>Fa,withDirectives:()=>wr,withKeys:()=>yu,withMemo:()=>lc,withModifiers:()=>_u,withScopeId:()=>Cr}),Pu=()=>{};function Fu(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=Dr(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=>(Er(r,e),e)]}function Iu(){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 Lu(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 Ru(e,t){return Re()?(ze(e,t),!0):!1}function zu(){let e=new Set,t=t=>{e.delete(t)};return{on:n=>{e.add(n);let r=()=>t(n);return Ru(r),{off:r}},off:t,trigger:(...t)=>Promise.all(Array.from(e).map(e=>e(...t))),clear:()=>{e.clear()}}}function Bu(e){let t=!1,n,r=Le(!0);return((...i)=>(t||=(n=r.run(()=>e(...i)),!0),n))}var Vu=typeof window<`u`&&typeof document<`u`;typeof WorkerGlobalScope<`u`&&globalThis instanceof WorkerGlobalScope;var Hu=e=>e!==void 0,Uu=Object.prototype.toString,Wu=e=>Uu.call(e)===`[object Object]`,Gu=Ku();function Ku(){var e,t;return Vu&&!!((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 qu(e){return Array.isArray(e)?e:[e]}function Ju(e){return e||Vs()}function Yu(e){if(!Vu)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=Le(!0),n=r.run(()=>e(...a))),Ru(i),n))}function Xu(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 Zu(e){return Xu(W(e))}function Qu(e,...t){let n=t.flat(),r=n[0];return Zu(()=>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 $u(e,t=1e4){return wn((n,r)=>{let i=bn(e),a,o=()=>setTimeout(()=>{i=bn(e),r()},bn(t));return Ru(()=>{clearTimeout(a)}),{get(){return n(),i},set(e){i=e,r(),clearTimeout(a),a=o()}}})}function ed(e,t){Ju(t)&&sa(e,t)}function td(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,Vu&&l()),Ru(c),{isPending:an(a),start:l,stop:c}}function nd(e,t,n){return M(e,t,{...n,immediate:!0})}var rd=Vu?window:void 0;Vu&&window.document,Vu&&window.navigator,Vu&&window.location;function id(e){let t=bn(e);return t?.$el??t}function ad(...e){let t=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),n=W(()=>{let t=qu(bn(e[0])).filter(e=>e!=null);return t.every(e=>typeof e!=`string`)?t:void 0});return nd(()=>[n.value?.map(e=>id(e))??[rd].filter(e=>e!=null),qu(bn(n.value?e[1]:e[0])),qu(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=Wu(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 od(){let e=gn(!1),t=Vs();return t&&ia(()=>{e.value=!0},t),e}function sd(e){return typeof e==`function`?e:typeof e==`string`?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function cd(...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=rd,eventName:a=`keydown`,passive:o=!1,dedupe:s=!1}=r,c=sd(t);return ad(i,a,e=>{e.repeat&&bn(s)||c(e)&&n(e)},o)}function ld(e){return JSON.parse(JSON.stringify(e))}function ud(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=Vs(),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):ld(e):e,g=()=>Hu(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 dd(e){return e?e.flatMap(e=>e.type===I?dd(e.children):[e]):[]}var fd=[`INPUT`,`TEXTAREA`];function pd(e,t,n,r={}){if(!t||r.enableIgnoredElement&&fd.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=md(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 md(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`?md(e,o,n,r):o:null}var[hd,gd]=Fu(`ConfigProvider`),_d=new WeakMap;function vd(e,t){let n=_d.get(e);n||(n={owners:new Set,original:e.body.style.pointerEvents},_d.set(e,n)),n.owners.add(t),e.body.style.pointerEvents=`none`}function yd(e,t){let n=_d.get(e);n?.owners.delete(t)&&n.owners.size===0&&(_d.delete(e),e.body.style.pointerEvents=n.original)}function bd(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 xd(e,t,n=`.`,r){if(!bd(t))return xd(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]]:bd(a)&&bd(i[t])?xd(a,i[t],(n?`${n}.`:``)+t.toString(),r):a))}return i}function Sd(e){return(...t)=>t.reduce((t,n)=>xd(t,n,``,e),{})}var Cd=Sd(),wd=Symbol(`useBodyScrollLock`),Td=Yu(()=>{let e=k(new Map),t=k(),n=W(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=hd({scrollBody:k(!0)}),i=null,a=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,yd(document,wd),document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,Gu&&i?.(),t.value=void 0};return M(n,(e,o)=>{if(!Vu)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`?Cd({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`),Gu&&(i=ad(document,`touchmove`,e=>Od(e),{passive:!1})),ir(()=>{n.value&&(vd(document,wd),document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function Ed(e){let t=Math.random().toString(36).substring(2,7),n=Td();n.value.set(t,e??!1);let r=W({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return ed(()=>{n.value.delete(t)}),r}function Dd(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:Dd(t)}}function Od(e){let t=e||window.event,n=t.target;return n instanceof Element&&Dd(n)?!1:t.touches.length>1||(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function kd(e){let t=hd({dir:k(`ltr`)});return W(()=>e?.value||t.dir?.value||`ltr`)}function Ad(e){let t=Vs(),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 jd=0;function Md(){jr(e=>{if(!Vu)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Nd()),document.body.insertAdjacentElement(`beforeend`,t[1]??Nd()),jd++,e(()=>{jd===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),jd--})})}function Nd(){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 Pd(e){return W(()=>!bn(e)||!!id(e)?.closest(`form`))}function Fd(){let e=Vs(),t=k(),n=W(()=>r());oa(()=>{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:id(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 Id(e){let t=Vs(),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 Ld(e,t){let n=Id(e),r=t?Ad(t):{};return W(()=>({...n.value,...r}))}function Rd(){let e=Vs()?.vnode?.scopeId;return e?{[e]:``}:{}}function zd(e,t){let n=$u(!1,300);Ru(()=>{n.value=!1});let r=k(null),i=zu();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=Vd(a,Bd(a,i.getBoundingClientRect()),1),s=Hd(t.getBoundingClientRect()),c=Wd([...o,...s]);r.value=c,n.value=!0}return jr(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)})}}),jr(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=!Ud(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 Bd(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 Vd(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 Hd(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 Ud(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 Wd(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)),Gd(t)}function Gd(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 Kd=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},qd=new WeakMap,Jd=new WeakMap,Yd={},Xd=0,Zd=function(e){return e&&(e.host||Zd(e.parentNode))},Qd=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Zd(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})},$d=function(e,t,n,r){var i=Qd(t,Array.isArray(e)?e:[e]);Yd[n]||(Yd[n]=new WeakMap);var a=Yd[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=(qd.get(e)||0)+1,l=(a.get(e)||0)+1;qd.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Jd.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(),Xd++,function(){o.forEach(function(e){var t=qd.get(e)-1,i=a.get(e)-1;qd.set(e,t),a.set(e,i),t||(Jd.has(e)||e.removeAttribute(r),Jd.delete(e)),i||e.removeAttribute(n)}),Xd--,Xd||(qd=new WeakMap,qd=new WeakMap,Jd=new WeakMap,Yd={})}},ef=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Kd(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),$d(r,i,n,`aria-hidden`)):function(){return null}};function tf(e){let t;M(()=>id(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=ef(e):t&&t()}),ca(()=>{t&&t()})}var nf=0;function rf(e,t=`reka`){if(e)return e;let n,r=hd({useId:void 0});return n=r.useId?r.useId():`useId`in Nu?fi?.():`${++nf}`,t?`${t}-${n}`:n}function af(e){let t=k(),n=W(()=>t.value?.width??0),r=W(()=>t.value?.height??0),i;return ia(()=>{let n=id(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}),ca(()=>{i?.disconnect(),i=void 0}),{width:n,height:r}}function of(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 sf(e){let t=$u(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=Iu(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=lf(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 cf(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function lf(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=cf(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 uf(e,t){let n=k({}),r=k(`none`),i=k(e),a=e.value?`mounted`:`unmounted`,o,s=t.value?.ownerDocument.defaultView??rd,{state:c,dispatch:l}=of(a,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),u=e=>{if(Vu){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=df(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=df(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=df(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=df(t.value);r.value=c.value===`mounted`?e:`none`});return ca(()=>{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 df(e){return e&&getComputedStyle(e).animationName||`none`}var ff=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}=uf(r,a);n({present:o});let s=t.default({present:o.value});s=dd(s||[]);let c=Vs();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?sc(t.default({present:o.value})[0],{ref:e=>{let t=id(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?a.value=t.firstElementChild:a.value=t),t}}):null}}),pf=N({name:`PrimitiveSlot`,inheritAttrs:!1,setup(e,{attrs:t,slots:n}){return()=>{if(!n.default)return null;let e=dd(n.default()),r=e.findIndex(e=>e.type!==ms);if(r===-1)return e;let i=e[r];delete i.props?.ref;let a=i.props?Ps(t,i.props):t,o=ks({...i,props:{}},a);return e.length===1?o:(e[r]=o,e)}}}),mf=[`area`,`img`,`input`],hf=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`&&mf.includes(r)?()=>sc(r,t):r===`template`?()=>sc(pf,t,{default:n.default}):()=>sc(e.as,t,{default:n.default})}});function gf(){let e=k();return{primitiveElement:e,currentElement:W(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:id(e))}}var[_f,vf]=Fu(`DialogRoot`),yf=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=ud(n,`open`,t,{defaultValue:n.defaultOpen,passive:n.open===void 0}),i=k(),a=k(),{modal:o,unmountOnHide:s}=Tn(n);return vf({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})}}),bf=N({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Fd();let n=_f();return(r,i)=>(L(),z(A(hf),Ps(t,{type:e.as===`button`?`button`:void 0,onClick:i[0]||=e=>A(n).onOpenChange(!1)}),{default:j(()=>[F(r.$slots,`default`)]),_:3},16,[`type`]))}}),xf=`dismissableLayer.pointerDownOutside`,Sf=`dismissableLayer.focusOutside`;function Cf(e){if(typeof e!=`object`||!e)return!1;let t=e.ownerDocument?.defaultView;return typeof Element<`u`&&e instanceof Element||!!t&&e instanceof t.Element}function wf(e,t){if(!Cf(t))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 Tf(e,t,n=!0){let r=k(!1),i=k(()=>{});return jr(a=>{if(!Vu||!bn(n))return;let o=t?.value?.ownerDocument??globalThis.document,s=async n=>{let a=n.target;if(t?.value&&a){if(wf(t.value,a))o.removeEventListener(`click`,i.value),r.value=!1;else{if(n.target&&!r.value){let t={originalEvent:n};function r(){Lu(xf,e,t)}n.pointerType===`touch`?(o.removeEventListener(`click`,i.value),i.value=r,o.addEventListener(`click`,i.value,{once:!0})):r()}else o.removeEventListener(`click`,i.value);r.value=!1}}},c=window.setTimeout(()=>{o.addEventListener(`pointerdown`,s)},0);a(()=>{window.clearTimeout(c),o.removeEventListener(`pointerdown`,s),o.removeEventListener(`click`,i.value)})}),{onPointerDownCapture:()=>{bn(n)&&(r.value=!0)}}}function Ef(e,t,n=!0){let r=k(!1);return jr(i=>{if(!Vu||!bn(n))return;let a=t?.value?.ownerDocument??globalThis.document,o=async n=>{if(!t?.value)return;await ir(),await ir();let i=n.target;t.value&&i&&!wf(t.value,i)&&n.target&&!r.value&&Lu(Sf,e,{originalEvent:n})};a.addEventListener(`focusin`,o),i(()=>a.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{bn(n)&&(r.value=!0)},onBlurCapture:()=>{bn(n)&&(r.value=!1)}}}var Df=tn({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Of=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}=Fd(),o=W(()=>a.value?.ownerDocument??globalThis.document),s=W(()=>Df.layersRoot),c=W(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=W(()=>Df.layersWithOutsidePointerEventsDisabled.size>0),u=W(()=>{let e=Array.from(s.value),[t]=[...Df.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),d=Tf(async e=>{let t=[...Df.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=Ef(e=>{let t=[...Df.branches].some(t=>t?.contains(e.target));n.present&&!t&&(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return cd(`Escape`,e=>{n.present&&c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))},{target:()=>o.value?.defaultView??globalThis.window}),M([a,()=>n.disableOutsidePointerEvents,()=>n.present],([e,t,n],r,i)=>{if(e&&n&&t){let t=e.ownerDocument;vd(t,e),Df.layersWithOutsidePointerEventsDisabled.add(e),i(()=>{Df.layersWithOutsidePointerEventsDisabled.delete(e),yd(t,e)})}},{immediate:!0}),M([a,()=>n.present],([e,t],n,r)=>{e&&t&&(s.value.add(e),r(()=>{s.value.delete(e)}))},{immediate:!0}),jr(e=>{e(()=>{a.value&&(s.value.delete(a.value),Df.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(t,n)=>(L(),z(A(hf),{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(t.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),kf=Bu(()=>k([]));function Af(){let e=kf();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=jf(e.value,t),e.value.unshift(t)},remove(t){e.value=jf(e.value,t),e.value[0]?.resume()}}}function jf(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Mf=`focusScope.autoFocusOnMount`,Nf=`focusScope.autoFocusOnUnmount`,Pf={bubbles:!1,cancelable:!0};function Ff(e,t){let n=t;for(;n;){if(e.contains(n))return!0;n=n.getRootNode().host??null}return!1}function If(e,{select:t=!1}={}){let n=Iu();for(let r of e)if(Hf(r,{select:t}),Iu()!==n)return!0}function Lf(e){let t=Rf(e);return[zf(t,e),zf(t.reverse(),e)]}function Rf(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.sort((e,t)=>e.tabIndex===t.tabIndex?0:e.tabIndex===0?1:t.tabIndex===0?-1:e.tabIndex-t.tabIndex)}function zf(e,t){for(let n of e)if(!Bf(n,{upTo:t}))return n}function Bf(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 Vf(e){return e instanceof HTMLInputElement&&`select`in e}function Hf(e,{select:t=!1}={}){if(e&&e.focus){let n=Iu();e.focus({preventScroll:!0}),e!==n&&Vf(e)&&t&&e.select()}}var Uf=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}=Fd(),o=k(null),s=Af(),c=tn({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});jr(e=>{if(!Vu)return;let t=a.value;if(!n.trapped)return;let r=t?.ownerDocument??document,i=t?t.getRootNode():r;function s(e){if(c.paused||!t)return;let n=e.target;t.contains(n)?o.value=n:Hf(o.value,{select:!0})}function l(e){if(c.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||Hf(o.value,{select:!0}))}function u(e){let n=o.value;if(n===null||!e.some(e=>e.removedNodes.length>0))return;let r=Iu();r&&t.contains(r)||t.contains(n)||Hf(t)}function d(e){if(c.paused||!t)return;let n=e.composedPath()[0];Ff(t,n)||Hf(o.value,{select:!0})}i.addEventListener(`focusin`,s),i.addEventListener(`focusout`,l),i!==r&&r.addEventListener(`focusin`,d);let f=new MutationObserver(u);t&&f.observe(t,{childList:!0,subtree:!0}),e(()=>{i.removeEventListener(`focusin`,s),i.removeEventListener(`focusout`,l),i!==r&&r.removeEventListener(`focusin`,d),f.disconnect()})});function l(e,t){let n=new CustomEvent(Mf,Pf),i=e=>r(`mountAutoFocus`,e);e.addEventListener(Mf,i),e.dispatchEvent(n),e.removeEventListener(Mf,i),n.defaultPrevented||(If(Rf(e),{select:!0}),Iu()===t&&Hf(e))}jr(async e=>{let t=a.value;if(await ir(),!t)return;n.present!==!1&&s.add(c);let i=Iu();!t.contains(i)&&n.present!==!1&&l(t,i),e(()=>{let e=new CustomEvent(Nf,Pf),n=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Nf,n),t.dispatchEvent(e),t.setAttribute(`data-focus-scope-unmounting`,``),setTimeout(()=>{e.defaultPrevented||Hf(i??document.body,{select:!0}),t.removeEventListener(Nf,n),s.remove(c),t.removeAttribute(`data-focus-scope-unmounting`)},0)})}),M(()=>n.present,async(e,t)=>{if(!Vu)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=Iu();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=Iu();if(t&&r){let t=e.currentTarget,[i,a]=Lf(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&Hf(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&Hf(a,{select:!0})):r===t&&e.preventDefault()}}return(t,n)=>(L(),z(A(hf),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:u},{default:j(()=>[F(t.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Wf=`menu.itemSelect`,Gf=[`Enter`,` `],Kf=[`ArrowDown`,`PageUp`,`Home`],qf=[`ArrowUp`,`PageDown`,`End`],Jf=[...Kf,...qf];[...Gf],[...Gf];function Yf(e){return e?`open`:`closed`}function Xf(e){let{onEntryFocus:t,onEntryFocusOnce:n,...r}=e;return r}function Zf(e){let t=Iu();for(let n of e)if(n===t||(n.focus(),Iu()!==t))return}function Qf(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 $f(e,t){return t?Qf({x:e.clientX,y:e.clientY},t):!1}function ep(e){return e.pointerType===`mouse`}var tp=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=_f(),{forwardRef:a,currentElement:o}=Fd();return i.titleId||=rf(void 0,`reka-dialog-title`),i.descriptionId||=rf(void 0,`reka-dialog-description`),ia(()=>{i.contentElement=o,Iu()!==document.body&&(i.triggerElement.value=Iu())}),(t,o)=>(L(),z(A(Uf),{"as-child":``,loop:``,trapped:n.trapFocus,present:n.present,onMountAutoFocus:o[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:o[6]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(Of),Ps({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(Yf)(A(i).open.value)},t.$attrs,{onDismiss:o[0]||=e=>A(i).onOpenChange(!1),onEscapeKeyDown:o[1]||=e=>r(`escapeKeyDown`,e),onFocusOutside:o[2]||=e=>r(`focusOutside`,e),onInteractOutside:o[3]||=e=>r(`interactOutside`,e),onPointerDownOutside:o[4]||=e=>r(`pointerDownOutside`,e)}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`present`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`,`present`]))}}),np=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=_f(),a=Ad(r),{forwardRef:o,currentElement:s}=Fd();tf(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()}),(t,r)=>(L(),z(tp,Ps({...c.value,...A(a)},{ref:A(o),present:e.present,"trap-focus":A(i).open.value,"disable-outside-pointer-events":n.disableOutsidePointerEvents,onCloseAutoFocus:r[0]||=e=>{e.defaultPrevented||(e.preventDefault(),A(i).triggerElement.value?.focus())},onPointerDownOutside:r[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:r[2]||=e=>{e.preventDefault()}}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`present`,`trap-focus`,`disable-outside-pointer-events`]))}}),rp=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=Ad(t);Fd();let i=_f(),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)}),(t,n)=>(L(),z(tp,Ps({...s.value,...A(r)},{present:e.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(a.value||A(i).triggerElement.value?.focus(),e.preventDefault()),a.value=!1,o.value=!1},onInteractOutside:n[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(t.$slots,`default`)]),_:3},16,[`present`]))}}),ip=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=_f(),a=Ad(r),{forwardRef:o}=Fd(),s=W(()=>n.forceMount||!i.unmountOnHide.value);return(t,r)=>(L(),z(A(ff),{present:A(i).open.value,"force-mount":s.value},{default:j(({present:r})=>[A(i).modal.value?wr((L(),z(np,Ps({key:0,ref:A(o),present:!s.value||r},{...n,...A(a),...t.$attrs}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`present`])),[[Jc,e.forceMount||A(i).unmountOnHide.value||r]]):wr((L(),z(rp,Ps({key:1,ref:A(o),present:!s.value||r},{...n,...A(a),...t.$attrs}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`present`])),[[Jc,e.forceMount||A(i).unmountOnHide.value||r]])]),_:3},8,[`present`,`force-mount`]))}}),ap=N({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;Fd();let n=_f();return(e,r)=>(L(),z(A(hf),Ps(t,{id:A(n).descriptionId}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),op=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=_f(),r=Ed(t.present);return M(()=>t.present,e=>r.value=e),Fd(),(t,r)=>(L(),z(A(hf),{as:e.as,"as-child":e.asChild,"data-state":A(n).open.value?`open`:`closed`,style:{"pointer-events":`auto`},onPointerdown:r[0]||=_u(()=>{},[`left`,`self`,`prevent`])},{default:j(()=>[F(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),sp=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=_f(),{forwardRef:r}=Fd(),i=W(()=>t.forceMount||!n.unmountOnHide.value);return(t,a)=>A(n)?.modal.value?(L(),z(A(ff),{key:0,present:A(n).open.value,"force-mount":i.value},{default:j(({present:a})=>[wr(V(op,Ps(t.$attrs,{ref:A(r),as:e.as,"as-child":e.asChild,present:!i.value||a}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`present`]),[[Jc,e.forceMount||A(n).unmountOnHide.value||a]])]),_:3},8,[`present`,`force-mount`])):U(`v-if`,!0)}}),cp=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=hd({}),r=W(()=>t.to??n.teleportTo?.value??`body`),i=od();return(t,n)=>A(i)||e.forceMount?(L(),z(Jr,{key:0,to:r.value,disabled:e.disabled,defer:e.defer},[F(t.$slots,`default`)],8,[`to`,`disabled`,`defer`])):U(`v-if`,!0)}}),lp=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(cp),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),up=N({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e,n=_f();return Fd(),(e,r)=>(L(),z(A(hf),Ps(t,{id:A(n).titleId}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`id`]))}}),dp=`data-reka-collection-item`;function fp(e={}){let{key:t=``,isProvider:n=!1}=e,r=`${t}CollectionProvider`,i;n?(i={collectionRef:k(),itemMap:k(new Map)},Er(r,i)):i=Dr(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(`[${dp}]`)),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}=gf();return M(a,()=>{i.collectionRef.value=a.value}),()=>sc(pf,{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}=gf();return jr(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))}}),()=>sc(pf,{...n,[dp]:``,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 pp=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(t,n)=>(L(),z(A(hf),{as:e.as,"as-child":e.asChild,"aria-hidden":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(t.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),mp=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}=gf();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(pp,Ps({ref_key:`primitiveElement`,ref:n},{...t,...e.$attrs},{as:`input`}),null,16))}}),hp=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(i,a)=>(L(),R(I,null,[U(` We render single input if it's required `),n.value?(L(),z(mp,Ps({key:e.name},{...t,...i.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`])):(L(!0),R(I,{key:1},P(r.value,e=>(L(),z(mp,Ps({key:e.name},{ref_for:!0},{...t,...i.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`]))),128))],2112))}}),gp=`rovingFocusGroup.onEntryFocus`,_p={bubbles:!1,cancelable:!0};function vp(e,t=!1){let n=Iu();for(let r of e)if(r===n||(r.focus({preventScroll:t}),Iu()!==n))return}var[yp,bp]=Fu(`PopperRoot`),xp=N({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=k();return bp({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>F(e.$slots,`default`)}}),Sp=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}=Fd(),i=yp();return Mr(()=>{i.onAnchorChange(t.reference??r.value)}),(t,r)=>(L(),z(A(hf),{ref:A(n),as:e.as,"as-child":e.asChild},{default:j(()=>[F(t.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Cp(e){return e!==null}function wp(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]=Tp(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 Tp(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Ep=[`top`,`right`,`bottom`,`left`],Dp=Math.min,Op=Math.max,kp=Math.round,Ap=Math.floor,jp=e=>({x:e,y:e}),Mp={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Np(e,t,n){return Op(e,Dp(t,n))}function Pp(e,t){return typeof e==`function`?e(t):e}function Fp(e){return e.split(`-`)[0]}function Ip(e){return e.split(`-`)[1]}function Lp(e){return e===`x`?`y`:`x`}function Rp(e){return e===`y`?`height`:`width`}function zp(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Bp(e){return Lp(zp(e))}function Vp(e,t,n){n===void 0&&(n=!1);let r=Ip(e),i=Bp(e),a=Rp(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Xp(o)),[o,Xp(o)]}function Hp(e){let t=Xp(e);return[Up(e),t,Up(t)]}function Up(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Wp=[`left`,`right`],Gp=[`right`,`left`],Kp=[`top`,`bottom`],qp=[`bottom`,`top`];function Jp(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Gp:Wp:t?Wp:Gp;case`left`:case`right`:return t?Kp:qp;default:return[]}}function Yp(e,t,n,r){let i=Ip(e),a=Jp(Fp(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Up)))),a}function Xp(e){let t=Fp(e);return Mp[t]+e.slice(t.length)}function Zp(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Qp(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:Zp(e)}function $p(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 em(e,t,n){let{reference:r,floating:i}=e,a=zp(t),o=Bp(t),s=Rp(o),c=Fp(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=Ip(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function tm(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}=Pp(t,e),p=Qp(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=$p(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=$p(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 nm=50,rm=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:tm},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=em(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<nm&&(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}=em(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},im=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}=Pp(e,t)||{};if(l==null)return{};let d=Qp(u),f={x:n,y:r},p=Bp(i),m=Rp(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=Dp(d[_],T),te=Dp(d[v],T),ne=C-h[m]-te,re=C/2-h[m]/2+w,ie=Np(ee,re,ne),ae=!c.arrow&&Ip(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}}}),am=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}=Pp(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=Fp(r),_=zp(o),v=Fp(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Xp(o)]:Hp(o)),x=p!==`none`;!d&&x&&b.push(...Yp(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=Vp(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`||_===zp(t)||T.every(e=>zp(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=zp(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 om(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function sm(e){return Ep.some(t=>e[t]>=0)}var cm=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Pp(e,t);switch(i){case`referenceHidden`:{let e=om(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:sm(e)}}}case`escaped`:{let e=om(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:sm(e)}}}default:return{}}}}},lm=new Set([`left`,`top`]);async function um(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=Fp(n),s=Ip(n),c=zp(n)===`y`,l=lm.has(o)?-1:1,u=a&&c?-1:1,d=Pp(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 dm=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 um(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}}}}},fm=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}=Pp(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=zp(i),p=Lp(f),m=u[p],h=u[f],g=(e,t)=>Np(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}}}}}},pm=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}=Pp(e,t),u={x:n,y:r},d=zp(i),f=Lp(d),p=u[f],m=u[d],h=Pp(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=lm.has(Fp(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}}}},mm=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}=Pp(e,t),c=await i.detectOverflow(t,s),l=Fp(n),u=Ip(n),d=zp(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=Dp(p-c[m],g),y=Dp(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*Op(c.left,c.right):S=p-2*Op(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 hm(){return typeof window<`u`}function gm(e){return ym(e)?(e.nodeName||``).toLowerCase():`#document`}function _m(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function vm(e){return((ym(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ym(e){return hm()?e instanceof Node||e instanceof _m(e).Node:!1}function bm(e){return hm()?e instanceof Element||e instanceof _m(e).Element:!1}function xm(e){return hm()?e instanceof HTMLElement||e instanceof _m(e).HTMLElement:!1}function Sm(e){return!hm()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof _m(e).ShadowRoot}function Cm(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Pm(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function wm(e){return/^(table|td|th)$/.test(gm(e))}function Tm(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Em=/transform|translate|scale|rotate|perspective|filter/,Dm=/paint|layout|strict|content/,Om=e=>!!e&&e!==`none`,km;function Am(e){let t=bm(e)?Pm(e):e;return Om(t.transform)||Om(t.translate)||Om(t.scale)||Om(t.rotate)||Om(t.perspective)||!Mm()&&(Om(t.backdropFilter)||Om(t.filter))||Em.test(t.willChange||``)||Dm.test(t.contain||``)}function jm(e){let t=Im(e);for(;xm(t)&&!Nm(t);){if(Am(t))return t;if(Tm(t))return null;t=Im(t)}return null}function Mm(){return km??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),km}function Nm(e){return/^(html|body|#document)$/.test(gm(e))}function Pm(e){return _m(e).getComputedStyle(e)}function Fm(e){return bm(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Im(e){if(gm(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Sm(e)&&e.host||vm(e);return Sm(t)?t.host:t}function Lm(e){let t=Im(e);return Nm(t)?(e.ownerDocument||e).body:xm(t)&&Cm(t)?t:Lm(t)}function Rm(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Lm(e),i=r===e.ownerDocument?.body,a=_m(r);if(i){let e=zm(a);return t.concat(a,a.visualViewport||[],Cm(r)?r:[],e&&n?Rm(e):[])}return t.concat(r,Rm(r,[],n))}function zm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Bm(e){let t=Pm(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=xm(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=kp(n)!==a||kp(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Vm(e){return bm(e)?e:e.contextElement}function Hm(e){let t=Vm(e);if(!xm(t))return jp(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Bm(t),o=(a?kp(n.width):n.width)/r,s=(a?kp(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Um=jp(0);function Wm(e){let t=_m(e);return!Mm()||!t.visualViewport?Um:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Gm(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===_m(e)}function Km(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Vm(e),o=jp(1);t&&(r?bm(r)&&(o=Hm(r)):o=Hm(e));let s=Gm(a,n,r)?Wm(a):jp(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=_m(a),t=bm(r)?_m(r):r,n=e,i=zm(n);for(;i&&t!==n;){let e=Hm(i),t=i.getBoundingClientRect(),r=Pm(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=_m(i),i=zm(n)}}return $p({width:u,height:d,x:c,y:l})}function qm(e,t){let n=Fm(e).scrollLeft;return t?t.left+n:Km(vm(e)).left+n}function Jm(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-qm(e,n),y:n.top+t.scrollTop}}function Ym(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=vm(r),s=t?Tm(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=jp(1),u=jp(0),d=xm(r);if((d||!a)&&((gm(r)!==`body`||Cm(o))&&(c=Fm(r)),d)){let e=Km(r);l=Hm(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Jm(o,c):jp(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 Xm(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Zm(e){let t=Fm(e),n=e.ownerDocument.body,r=Op(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Op(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+qm(e),o=-t.scrollTop;return Pm(n).direction===`rtl`&&(a+=Op(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var Qm=25;function $m(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=_m(e),a=vm(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Mm()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(qm(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<=Qm&&(s-=o)}return{width:s,height:c,x:l,y:u}}function eh(e,t){let n=Km(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Hm(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function th(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=$m(e,n,t);else if(t===`document`)r=Zm(vm(e));else if(bm(t))r=eh(t,n);else{let n=Wm(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return $p(r)}function nh(e,t){let n=t.get(e);if(n)return n;let r=Rm(e,[],!1).filter(e=>bm(e)&&gm(e)!==`body`),i=null,a=Pm(e).position===`fixed`,o=a?Im(e):e;for(;bm(o)&&!Nm(o);){let e=Pm(o),t=Am(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Im(o)}return t.set(e,r),r}function rh(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Tm(t)?[]:nh(t,this._c):[].concat(n),r],o=th(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=th(t,a[e],i);s=Op(n.top,s),c=Dp(n.right,c),l=Dp(n.bottom,l),u=Op(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function ih(e){let{width:t,height:n}=Bm(e);return{width:t,height:n}}function ah(e,t,n){let r=xm(t),i=vm(t),a=n===`fixed`,o=Km(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=jp(0);if((r||!a)&&((gm(t)!==`body`||Cm(i))&&(s=Fm(t)),r)){let e=Km(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=qm(i));let l=i&&!r&&!a?Jm(i,s):jp(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 oh(e){return Pm(e).position===`static`}function sh(e,t){if(!xm(e)||Pm(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return vm(e)===n&&(n=n.ownerDocument.body),n}function ch(e,t){let n=_m(e);if(Tm(e))return n;if(!xm(e)){let t=Im(e);for(;t&&!Nm(t);){if(bm(t)&&!oh(t))return t;t=Im(t)}return n}let r=sh(e,t);for(;r&&wm(r)&&oh(r);)r=sh(r,t);return r&&Nm(r)&&oh(r)&&!Am(r)?n:r||jm(e)||n}var lh=async function(e){let t=this.getOffsetParent||ch,n=this.getDimensions,r=await n(e.floating);return{reference:ah(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function uh(e){return Pm(e).direction===`rtl`}var dh={convertOffsetParentRelativeRectToViewportRelativeRect:Ym,getDocumentElement:vm,getClippingRect:rh,getOffsetParent:ch,getElementRects:lh,getClientRects:Xm,getDimensions:ih,getScale:Hm,isElement:bm,isRTL:uh};function fh(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function ph(e,t,n){let r=null,i,a=vm(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=Ap(d),h=Ap(a.clientWidth-(u+f)),g=Ap(a.clientHeight-(d+p)),_=Ap(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Op(0,Dp(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!fh(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=_m(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function mh(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=Vm(e),u=i||a?[...l?Rm(l):[],...t?Rm(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?ph(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?Km(e):null;c&&g();function g(){let t=Km(e);h&&!fh(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 hh=dm,gh=fm,_h=am,vh=mm,yh=cm,bh=im,xh=pm,Sh=(e,t,n)=>{let r=new Map,i=n??{},a={...dh,...i.platform,_c:r};return rm(e,t,{...i,platform:a})};function Ch(e){return typeof e==`object`&&!!e&&`$el`in e}function wh(e){if(Ch(e)){let t=e.$el;return ym(t)&&gm(t)===`#comment`?null:t}return e}function Th(e){return{name:`arrow`,options:e,fn(t){let n=wh(bn(e.element));return n==null?{}:bh({element:n,padding:e.padding}).fn(t)}}}function Eh(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Dh(e,t){let n=Eh(e);return Math.round(t*n)/n}function Oh(e,t,n){n===void 0&&(n={});let r=n.whileElementsMounted,i=W(()=>bn(n.open)??!0),a=W(()=>bn(n.middleware)),o=W(()=>bn(n.placement)??`bottom`),s=W(()=>bn(n.strategy)??`absolute`),c=W(()=>bn(n.transform)??!0),l=W(()=>wh(e.value)),u=W(()=>wh(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=Dh(u.value,d.value),n=Dh(u.value,f.value);return c.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Eh(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;Sh(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(){b(),r===void 0?y():l.value!=null&&u.value!=null&&(v=r(l.value,u.value,y))}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`}),Re()&&ze(b),{x:an(d),y:an(f),strategy:an(p),placement:an(m),middlewareData:an(h),isPositioned:an(g),floatingStyles:_,update:y}}var kh=[`dir`],Ah={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},[jh,Mh]=Fu(`PopperContent`),Nh=N({inheritAttrs:!1,__name:`PopperContent`,props:Ba({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}},{...Ah}),emits:[`placed`],setup(e,{emit:t}){let n=e,r=t,i=yp(),{forwardRef:a,currentElement:o}=Fd(),s=kd(W(()=>n.dir)),c=k(),l=k(),{width:u,height:d}=af(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(Cp),altBoundary:m.value.length>0})),g=W(()=>({mainAxis:n.sideFlip,crossAxis:n.alignFlip})),_=W(()=>[hh({mainAxis:n.sideOffset+d.value,alignmentAxis:n.alignOffset}),n.prioritizePosition&&n.avoidCollisions&&_h({...h.value,...g.value}),n.avoidCollisions&&gh({mainAxis:!0,crossAxis:!!n.prioritizePosition,limiter:n.sticky===`partial`?xh():void 0,...h.value}),!n.prioritizePosition&&n.avoidCollisions&&_h({...h.value,...g.value}),vh({...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&&Th({element:l.value,padding:n.arrowPadding}),wp({arrowWidth:u.value,arrowHeight:d.value,dir:s.value}),n.hideWhenDetached&&yh({strategy:`referenceHidden`,...h.value})]),{floatingStyles:v,placement:y,isPositioned:b,middlewareData:x,update:S}=Oh(W(()=>n.reference??i.anchor.value),c,{strategy:n.positionStrategy,placement:f,whileElementsMounted:(...e)=>mh(...e,{layoutShift:!n.disableUpdateOnLayoutShift,animationFrame:n.updatePositionStrategy===`always`}),middleware:_}),C=W(()=>Tp(y.value)[0]),w=W(()=>Tp(y.value)[1]);Mr(()=>{b.value&&r(`placed`)});let T=W(()=>{let e=x.value.arrow?.centerOffset!==0;return n.hideShiftedArrow&&e}),ee=k(``);return jr(()=>{o.value&&(ee.value=window.getComputedStyle(o.value).zIndex)}),Mh({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?lc([n.asChild,n.as,C.value,w.value,A(b),...Object.values(e.$attrs),...n.memoDependencies],()=>(L(),z(A(hf),Ps({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(hf),Ps({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,kh))}}),[Ph,Fh]=Fu(`RovingFocusGroup`),Ih=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=kd(s),l=ud(r,`currentTabStopId`,i,{defaultValue:r.defaultCurrentTabStopId,passive:r.currentTabStopId===void 0}),u=k(!1),d=k(!1),f=k(0),{getItems:p,CollectionSlot:m}=fp({isProvider:!0});function h(e){let t=!d.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!u.value){let t=new CustomEvent(gp,_p);if(e.currentTarget.dispatchEvent(t),i(`entryFocus`,t),!t.defaultPrevented){let e=p().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);vp([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}),Fh({loop:a,dir:c,orientation:o,currentTabStopId:l,onItemFocus:e=>{l.value=e},onItemShiftTab:()=>{u.value=!0},onFocusableItemAdd:()=>{f.value++},onFocusableItemRemove:()=>{f.value--}}),(t,n)=>(L(),z(A(m),null,{default:j(()=>[V(A(hf),{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:n[0]||=e=>d.value=!0,onMouseup:g,onFocus:h,onBlur:n[1]||=e=>u.value=!1},{default:j(()=>[F(t.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),Lh=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(Sp),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}});function Rh(){let e=k(!1);return ia(()=>{ad(`keydown`,()=>{e.value=!0},{capture:!0,passive:!0}),ad([`pointerdown`,`pointermove`],()=>{e.value=!1},{capture:!0,passive:!0})}),e}var zh=Yu(Rh),[Bh,Vh]=Fu([`MenuRoot`,`MenuSub`],`MenuContext`),[Hh,Uh]=Fu(`MenuRoot`),Wh=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=kd(a),s=ud(n,`open`,r),c=k(),l=zh();return Vh({open:s,onOpenChange:e=>{s.value=e},content:c,onContentChange:e=>{c.value=e}}),Uh({onClose:()=>{s.value=!1},isUsingKeyboardRef:l,dir:o,modal:i}),(e,t)=>(L(),z(A(xp),null,{default:j(()=>[F(e.$slots,`default`)]),_:3}))}}),[Gh,Kh]=Fu(`MenuContent`),qh=N({__name:`MenuContentImpl`,props:Ba({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}},{...Ah}),emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`entryFocus`,`openAutoFocus`,`closeAutoFocus`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,i=Bh(),a=Hh(),{trapFocus:o,disableOutsidePointerEvents:s,loop:c}=Tn(n);Md(),Ed(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}=Fd(),{handleTypeaheadSearch:y}=sf(),b=k();function x(e){let t=pd(e,b.value||Iu(),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)}),ca(()=>{window.clearTimeout(u.value)});function T(e){return p.value===f.value?.side&&$f(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=pd(e,Iu(),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||!Jf.includes(e.key))return;e.preventDefault();let u=[...l.map(e=>e.ref)];qf.includes(e.key)&&u.reverse(),Zf(u)}function ne(e){e?.currentTarget?.contains?.(e.target)||(window.clearTimeout(u.value),l.value=``)}function re(e){if(!ep(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){ep(e)&&C.value&&C.value.focus()}return Kh({onItemEnter:e=>!!T(e),onItemLeave:e=>T(e)?!0:([`INPUT`,`TEXTAREA`].includes(Iu()?.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}}),(t,n)=>(L(),z(A(Uf),{"as-child":``,trapped:A(o),onMountAutoFocus:ee,onUnmountAutoFocus:n[7]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(Of),{"as-child":``,"disable-outside-pointer-events":A(s),onEscapeKeyDown:n[2]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:n[3]||=e=>r(`pointerDownOutside`,e),onFocusOutside:n[4]||=e=>r(`focusOutside`,e),onInteractOutside:n[5]||=e=>r(`interactOutside`,e),onDismiss:n[6]||=e=>r(`dismiss`)},{default:j(()=>[V(A(Ih),{ref_key:`rovingFocusGroupRef`,ref:g,"current-tab-stop-id":h.value,"onUpdate:currentTabStopId":n[0]||=e=>h.value=e,"as-child":``,orientation:`vertical`,dir:A(a).dir.value,loop:A(c),onEntryFocus:n[1]||=e=>{r(`entryFocus`,e),A(a).isUsingKeyboardRef.value||e.preventDefault()}},{default:j(()=>[V(A(Nh),{ref:A(_),role:`menu`,as:e.as,"as-child":e.asChild,"aria-orientation":`vertical`,"data-reka-menu-content":``,"data-state":A(Yf)(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(t.$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`]))}}),Jh=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=Gh(),{forwardRef:r,currentElement:i}=Fd(),{CollectionItem:a}=fp(),o=k(!1),s=W(()=>o.value||i.value!=null&&n.highlightedElement.value===i.value);async function c(e){if(!e.defaultPrevented&&ep(e)){if(t.disabled)n.onItemLeave(e);else if(!n.onItemEnter(e)){let t=e.currentTarget;n.highlightedElement.value=t,[`INPUT`,`TEXTAREA`].includes(Iu()?.tagName||``)||t.focus({preventScroll:!0})}}}async function l(e){await ir(),!e.defaultPrevented&&ep(e)&&n.highlightedElement.value===i.value&&!n.onItemLeave(e)&&n.highlightedElement.value===i.value&&(n.highlightedElement.value=void 0)}return(t,i)=>(L(),z(A(a),{value:{textValue:e.textValue}},{default:j(()=>[V(A(hf),Ps({ref:A(r),role:`menuitem`,tabindex:`-1`},t.$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:i[0]||=async t=>{let r=t.currentTarget;await ir(),!(t.defaultPrevented||e.disabled)&&(o.value=!0,A(n).highlightedElement.value=r)},onBlur:i[1]||=async e=>{await ir(),!e.defaultPrevented&&(o.value=!1)}}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16,[`as`,`as-child`,`aria-disabled`,`data-disabled`,`data-highlighted`])]),_:3},8,[`value`]))}}),Yh=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}=Fd(),o=Hh(),s=Gh(),c=k(!1);async function l(){let e=a.value;if(!n.disabled&&e){let e=new CustomEvent(Wf,{bubbles:!0,cancelable:!0});r(`select`,e),await ir(),e.defaultPrevented?c.value=!1:o.onClose()}}return(t,r)=>(L(),z(Jh,Ps(n,{ref:A(i),onClick:l,onPointerdown:r[0]||=()=>{c.value=!0},onPointerup:r[1]||=async e=>{await ir(),!e.defaultPrevented&&(c.value||e.currentTarget?.click())},onKeydown:r[2]||=async t=>{let n=A(s).searchRef.value!==``;e.disabled||n&&t.key===` `||A(Gf).includes(t.key)&&(t.currentTarget?.click(),t.preventDefault())}}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16))}}),Xh=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=Ld(n,r),a=Bh(),{forwardRef:o,currentElement:s}=Fd();return tf(s),(e,t)=>(L(),z(qh,Ps(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]||=_u(e=>r(`focusOutside`,e),[`prevent`])}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`,`disable-outside-pointer-events`]))}}),Zh=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=Ld(e,t),r=Bh();return(e,t)=>(L(),z(qh,Ps(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))}}),Qh=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=Ld(e,t),r=Bh(),i=Hh();return(t,a)=>(L(),z(A(ff),{present:e.forceMount||A(r).open.value},{default:j(()=>[A(i).modal.value?(L(),z(Xh,Se(Ps({key:0},{...t.$attrs,...A(n)})),{default:j(()=>[F(t.$slots,`default`)]),_:3},16)):(L(),z(Zh,Se(Ps({key:1},{...t.$attrs,...A(n)})),{default:j(()=>[F(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),$h=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(cp),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),eg=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(hf),Ps(t,{role:`separator`,"aria-orientation":`horizontal`}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),[tg,ng]=Fu(`PopoverRoot`),rg=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=ud(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});return ng({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(xp),null,{default:j(()=>[F(e.$slots,`default`,{open:A(a),close:()=>a.value=!1})]),_:3}))}}),ig=N({__name:`PopoverClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;Fd();let n=tg();return(r,i)=>(L(),z(A(hf),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,onClick:i[0]||=e=>A(n).onOpenChange(!1)},{default:j(()=>[F(r.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`]))}}),ag=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=Id(Qu(n,`trapFocus`,`disableOutsidePointerEvents`)),{forwardRef:a}=Fd(),o=tg();return Md(),(t,n)=>(L(),z(A(Uf),{"as-child":``,loop:``,trapped:e.trapFocus,onMountAutoFocus:n[5]||=e=>r(`openAutoFocus`,e),onUnmountAutoFocus:n[6]||=e=>r(`closeAutoFocus`,e)},{default:j(()=>[V(A(Of),{"as-child":``,"disable-outside-pointer-events":e.disableOutsidePointerEvents,onPointerDownOutside:n[0]||=e=>r(`pointerDownOutside`,e),onInteractOutside:n[1]||=e=>r(`interactOutside`,e),onEscapeKeyDown:n[2]||=e=>r(`escapeKeyDown`,e),onFocusOutside:n[3]||=e=>r(`focusOutside`,e),onDismiss:n[4]||=e=>A(o).onOpenChange(!1)},{default:j(()=>[V(A(Nh),Ps(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(t.$slots,`default`)]),_:3},16,[`id`,`data-state`,`aria-labelledby`])]),_:3},8,[`disable-outside-pointer-events`])]),_:3},8,[`trapped`]))}}),og=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=tg(),a=k(!1);Ed(!0);let o=Ld(n,r),{forwardRef:s,currentElement:c}=Fd();return tf(c),(e,t)=>(L(),z(ag,Ps(A(o),{ref:A(s),"trap-focus":A(i).open.value,"disable-outside-pointer-events":``,onCloseAutoFocus:t[0]||=_u(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]||=_u(()=>{},[`prevent`])}),{default:j(()=>[F(e.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),sg=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=tg(),a=k(!1),o=k(!1),s=Ld(n,r);return(e,t)=>(L(),z(ag,Ps(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))}}),cg=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=tg(),a=Ld(n,r),{forwardRef:o}=Fd();return i.contentId||=rf(void 0,`reka-popover-content`),(t,n)=>(L(),z(A(ff),{present:e.forceMount||A(i).open.value},{default:j(()=>[A(i).modal.value?(L(),z(og,Ps({key:0},A(a),{ref:A(o)}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16)):(L(),z(sg,Ps({key:1},A(a),{ref:A(o)}),{default:j(()=>[F(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),lg=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(cp),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),ug=N({__name:`PopoverTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=tg(),{forwardRef:r,currentElement:i}=Fd();return n.triggerId||=rf(void 0,`reka-popover-trigger`),n.contentId||=rf(void 0,`reka-popover-content`),ia(()=>{n.triggerElement.value=i.value}),(i,a)=>(L(),z(_a(A(n).hasCustomAnchor.value?A(hf):A(Sp)),{"as-child":``},{default:j(()=>[V(A(hf),{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(i.$slots,`default`)]),_:3},8,[`id`,`type`,`aria-expanded`,`aria-controls`,`data-state`,`as`,`as-child`,`onClick`])]),_:3}))}}),[dg,fg]=Fu(`DropdownMenuRoot`),pg=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;Fd();let i=ud(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0}),a=k(),{modal:o,dir:s}=Tn(n),c=kd(s);return fg({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(Wh),{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`]))}}),mg=N({inheritAttrs:!1,__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`,`openAutoFocus`,`closeAutoFocus`],setup(e,{emit:t}){let n=Ld(e,t);Fd();let r=dg(),i=k(!1);function a(e){e.defaultPrevented||(i.value||setTimeout(()=>{r.triggerElement.value?.focus()},0),i.value=!1,e.preventDefault())}return r.contentId||=rf(void 0,`reka-dropdown-menu-content`),(e,t)=>(L(),z(A(Qh),Ps({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)`}},{...A(n),...A(Xf)(e.$attrs)},{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`]))}}),hg=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=Ad(t);return Fd(),(e,t)=>(L(),z(A(Yh),Se(Os({...n,...A(r)})),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),gg=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($h),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),_g=N({__name:`DropdownMenuSeparator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return Fd(),(e,n)=>(L(),z(A(eg),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),vg=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=dg(),{forwardRef:r,currentElement:i}=Fd();return ia(()=>{n.triggerElement=i}),n.triggerId||=rf(void 0,`reka-dropdown-menu-trigger`),(i,a)=>(L(),z(A(Lh),{"as-child":``},{default:j(()=>[V(A(hf),{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:a[0]||=async t=>{t.defaultPrevented||!e.disabled&&t.button===0&&t.ctrlKey===!1&&(A(n)?.onOpenToggle(),await ir(),A(n).open.value&&t.preventDefault())},onKeydown:a[1]||=yu(t=>{e.disabled||t.defaultPrevented||([`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(i.$slots,`default`)]),_:3},8,[`id`,`type`,`as-child`,`as`,`aria-expanded`,`aria-controls`,`data-disabled`,`disabled`,`data-state`])]),_:3}))}}),[yg,bg]=Fu(`SwitchRoot`),xg=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=ud(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}=Fd(),u=Pd(l),d=Rd(),f=W(()=>n.id&&l.value?document.querySelector(`[for="${n.id}"]`)?.innerText:void 0);return bg({checked:o,toggleCheck:s,disabled:i}),(t,n)=>(L(),R(I,null,[V(A(hf),Ps({id:e.id,ref:A(c),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":t.$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),...t.$attrs},{onClick:s,onKeydown:yu(_u(s,[`prevent`]),[`enter`])}),{default:j(()=>[F(t.$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(hp),Ps({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))}}),Sg=N({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=yg();return Fd(),(n,r)=>(L(),z(A(hf),{"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(n.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),[Cg,wg]=Fu(`TooltipProvider`),Tg=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);Fd();let c=k(!0),l=k(!1),{start:u,stop:d}=td(()=>{c.value=!0},n,{immediate:!1});return wg({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`)}}),Eg=`tooltip.open`,[Dg,Og]=Fu(`TooltipRoot`),kg=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;Fd();let i=Cg(),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=ud(n,`open`,r,{defaultValue:n.defaultOpen,passive:n.open===void 0});M(u,e=>{i.onClose&&(e?(i.onOpen(),document.dispatchEvent(new CustomEvent(Eg))):i.onClose())});let d=k(!1),f=k(),p=W(()=>u.value?d.value?`delayed-open`:`instant-open`:`closed`),{start:m,stop:h}=td(()=>{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 Og({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(xp),null,{default:j(()=>[F(e.$slots,`default`,{open:A(u)})]),_:3}))}}),Ag=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=Dg(),a=Cg(),{forwardRef:o,currentElement:s}=Fd(),c=W(()=>n.ariaLabel||s.value?.textContent),l=W(()=>{let{ariaLabel:e,...t}=n;return Cd(t,a.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return ia(()=>{ad(window,`scroll`,e=>{e.target?.contains(i.trigger.value)&&i.onClose()},{capture:!0}),ad(document,Eg,i.onClose)}),(e,t)=>(L(),z(A(Of),{"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]||=_u(()=>{},[`prevent`]),onDismiss:t[3]||=e=>A(i).onClose()},{default:j(()=>[V(A(Nh),Ps({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(pp),{id:A(i).contentId,role:`tooltip`},{default:j(()=>[H(O(c.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),jg=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=Id(e),{forwardRef:n,currentElement:r}=Fd(),{trigger:i,onClose:a}=Dg(),o=Cg(),{isPointerInTransit:s,onPointerExit:c}=zd(i,r);return o.isPointerInTransitRef=s,c(()=>{a()}),ad(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(Ag,Ps({ref:A(n)},A(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Mg=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=Dg(),a=Ld(n,r),{forwardRef:o}=Fd();return(t,n)=>(L(),z(A(ff),{present:e.forceMount||A(i).open.value},{default:j(()=>[(L(),z(_a(A(i).disableHoverableContent.value?Ag:jg),Ps({ref:A(o)},A(a)),{default:j(()=>[F(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),Ng=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(cp),Se(Os(t)),{default:j(()=>[F(e.$slots,`default`)]),_:3},16))}}),Pg=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=Dg(),r=Cg();n.contentId||=rf(void 0,`reka-tooltip-content`);let{forwardRef:i,currentElement:a}=Fd(),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(r,o)=>(L(),z(A(Sp),{"as-child":``,reference:e.reference??A(a)},{default:j(()=>[V(A(hf),Ps({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":``},Ca(c.value)),{default:j(()=>[F(r.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),Fg=e=>e.startsWith(`/`);function Ig(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function Lg(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&Ig(e.default)}var Rg=Object.assign;function zg(e,t){let n={};for(let r in t){let i=t[r];n[r]=Vg(i)?i.map(e):e(i)}return n}var Bg=()=>{},Vg=Array.isArray;function Hg(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var Ug=Symbol(``);function Wg(e,t){return Rg(Error(),{type:e,[Ug]:!0},t)}function Gg(e,t){return e instanceof Error&&Ug in e&&(t==null||!!(e.type&t))}var Kg=Symbol(``),qg=Symbol(``),Jg=Symbol(``),Yg=Symbol(``),Xg=Symbol(``),Zg=Symbol(``);function Qg(){return Dr(Jg)}function $g(e){return Dr(Yg)}var e_=typeof document<`u`,t_=/#/g,n_=/&/g,r_=/\//g,i_=/=/g,a_=/\?/g,o_=/\+/g,s_=/%5B/g,c_=/%5D/g,l_=/%5E/g,u_=/%60/g,d_=/%7B/g,f_=/%7C/g,p_=/%7D/g,m_=/%20/g;function h_(e){return e==null?``:encodeURI(``+e).replace(f_,`|`).replace(s_,`[`).replace(c_,`]`)}function g_(e){return h_(e).replace(d_,`{`).replace(p_,`}`).replace(l_,`^`)}function __(e){return h_(e).replace(o_,`%2B`).replace(m_,`+`).replace(t_,`%23`).replace(n_,`%26`).replace(u_,"`").replace(d_,`{`).replace(p_,`}`).replace(l_,`^`)}function v_(e){return __(e).replace(i_,`%3D`)}function y_(e){return h_(e).replace(t_,`%23`).replace(a_,`%3F`)}function b_(e){return y_(e).replace(r_,`%2F`)}function x_(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var S_=/\/$/,C_=e=>e.replace(S_,``);function w_(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=M_(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:x_(o)}}function T_(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function E_(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function D_(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&O_(t.matched[r],n.matched[i])&&k_(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function O_(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function k_(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!A_(e[n],t[n]))return!1;return!0}function A_(e,t){return Vg(e)?j_(e,t):Vg(t)?j_(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function j_(e,t){return Vg(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function M_(e,t){if(Fg(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 N_={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function P_(e){if(!e){if(e_){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`}return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),C_(e)}var F_=/^[^#]+#/;function I_(e,t){return e.replace(F_,`#`)+t}function L_(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 R_=()=>history.scrollRestoration===`manual`?{left:window.scrollX,top:window.scrollY}:null;function z_(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=L_(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 B_(e,t){return(history.state?history.state.position-t:-1)+e}var V_=new Map;function H_(e){V_.set(e,R_())}function U_(e){let t=V_.get(e);return V_.delete(e),t}function W_(e,t=!1){for(let n of V_.keys()){let r=parseInt(n,10);(r===e||!t&&r>e)&&V_.delete(n)}}function G_(e){return typeof e==`string`||e&&typeof e==`object`}function K_(e){return typeof e==`string`||typeof e==`symbol`}function q_(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(o_,` `),i=r.indexOf(`=`),a=x_(i<0?r:r.slice(0,i)),o=i<0?null:x_(r.slice(i+1));if(a in t){let e=t[a];Vg(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function J_(e){let t=``;for(let n in e){let r=e[n];n=v_(n),r==null?r!==void 0&&(t+=(t.length?`&`:``)+n):(Vg(r)?r.map(e=>e&&__(e)):[r&&__(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Y_(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=Vg(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function X_(){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 Z_(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(Wg(4,{from:n,to:t})):e instanceof Error?c(e):G_(e)?c(Wg(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 Q_(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(Ig(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Z_(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=Lg(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Z_(c,n,r,o,e,i)()}))}}}return a}function $_(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=>O_(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>O_(e,s))||i.push(s))}return[n,r,i]}var ev=()=>location.protocol+`//`+location.host;function tv(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),E_(n,``)}return E_(n,e)+r+i}function nv(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=tv(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(Rg({},e.state,{scroll:R_()}),``)}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 rv(e,t,n,r=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:null}}function iv(e){let{history:t,location:n}=window,r={value:tv(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:ev()+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){let o=Rg({},t.state,rv(i.value.back,e,i.value.forward,!0),n,{position:i.value.position});a(e,o,!0),W_(o.position,!0),r.value=e}function s(e,n){let o=Rg({},i.value,t.state,{forward:e,scroll:R_()});a(o.current,o,!0),a(e,Rg({},rv(r.value,e,null),{position:o.position+1},n),!1),W_(o.position),r.value=e}return{location:r,state:i,push:s,replace:o}}function av(e){e=P_(e);let t=iv(e),n=nv(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Rg({location:``,base:e,go:r,createHref:I_.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 ov={type:0,value:``},sv=/[a-zA-Z0-9_]/;function cv(e){if(!e)return[[]];if(e===`/`)return[[ov]];if(!Fg(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:sv.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 lv=`[^/]+?`,uv={sensitive:!1,strict:!1,start:!0,end:!0},dv=/[.+*?^${}()[\]/\\]/g;function fv(e,t){let n=Rg({},uv,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(dv,`\\$&`),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||lv;if(u!==lv){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(Vg(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=Vg(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 pv(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 mv(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=pv(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(hv(r))return 1;if(hv(i))return-1}return i.length-r.length}function hv(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var gv={strict:!1,end:!0,sensitive:!1};function _v(e,t,n){let r=Rg(fv(cv(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function vv(e,t){let n=[],r=new Map;t=Hg(gv,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=bv(e);s.aliasOf=r&&r.record;let l=Hg(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(bv(Rg({},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&&!Fg(u)){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=_v(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Sv(d)&&o(e.name)),Ev(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)}:Bg}function o(e){if(K_(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=wv(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 Wg(1,{location:e});s=i.record.name,a=Rg(yv(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&yv(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 Wg(1,{location:e,currentLocation:t});s=i.record.name,a=Rg({},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 yv(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function bv(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:xv(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 xv(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)=>Rg(e,t.meta),{})}function wv(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;mv(e,t[i])<0?r=i:n=i+1}let i=Tv(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Tv(e){let t=e;for(;t=t.parent;)if(Ev(t)&&mv(e,t)===0)return t}function Ev({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Dv(e){let t=Dr(Jg),n=Dr(Yg),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(O_.bind(null,i));if(o>-1)return o;let s=Mv(e[t-2]);return t>1&&Mv(i)===s&&a[a.length-1].path!==s?a.findIndex(O_.bind(null,e[t-2])):o}),a=W(()=>i.value>-1&&jv(n.params,r.value.params)),o=W(()=>i.value>-1&&i.value===n.matched.length-1&&k_(n.params,r.value.params));function s(n={}){if(Av(n)){let n=t[A(e.replace)?`replace`:`push`](A(e.to)).catch(Bg);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 Ov(e){return e.length===1?e[0]:e}var kv=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:Dv,setup(e,{slots:t}){let n=tn(Dv(e)),{options:r}=Dr(Jg),i=W(()=>({[Nv(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[Nv(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&Ov(t.default(n));return e.custom?r:sc(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function Av(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 jv(e,t){for(let n in t){let r=t[n],i=e[n];if(Vg(r)){if(!Vg(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 Mv(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var Nv=(e,t,n)=>e??t??n,Pv=N({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=Dr(Xg),i=W(()=>e.route||r.value),a=Dr(qg,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]);Er(qg,W(()=>o.value+1)),Er(Kg,s),Er(Xg,i);let c=new Set;Er(Zg,c);let l=k(),u=N_,{app:d}=Vs().appContext;return M(()=>[l.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||!O_(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,f=o&&o.components[a];if(!f)return Fv(n.default,{Component:f,route:r});let p=o.props[a],m=p?p===!0?r.params:typeof p==`function`?p(r):p:null,h=e=>{e.component.isUnmounted&&(o.instances[a]=null)},g=e=>ir(()=>{if(u===r||i.value!==r||e.el.getRootNode()!==d._container.getRootNode())return;let t=u;u=r;for(let e of c)e(r,t)}),_=sc(f,Rg({},m,t,{onVnodeUnmounted:h,onVnodeMounted:g,onVnodeUpdated:g,ref:l}));return Fv(n.default,{Component:_,route:r})||_}}});function Fv(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var Iv=Pv;function Lv(e){let t=e.matcher||vv(e.routes,e),n=e.parseQuery||q_,r=e.stringifyQuery||J_,i=e.history,a=X_(),o=X_(),s=X_(),c=gn(N_),l=gn(0),u=N_;e_&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let d=zg.bind(null,e=>``+e),f=zg.bind(null,b_),p=zg.bind(null,x_);function m(e,n){let r,i;K_(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(`/`)?N_:c.value;let r=w_(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Rg(r,o,{params:p(o.params),redirectedFrom:void 0,href:s})}a=Rg({},a||(e.path!=null&&e.path.startsWith(`/`)&&!(`name`in e&&e.name)?N_:c.value));let o;if(e.path!=null)o=Rg({},e,{path:w_(n,e.path,a.path).path});else{let t=Rg({},e.params);for(let e in t)t[e]??delete t[e];o=Rg({},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=T_(r,Rg({},e,{hash:g_(u),path:s.path})),h=i.createHref(m);return Rg({fullPath:m,hash:u,query:r===J_?Y_(e.query):e.query||{}},s,{redirectedFrom:void 0,href:h})}function b(e){return typeof e==`string`?w_(n,e,c.value.path):Rg({},e)}function x(e,t){if(u!==e)return Wg(8,{from:t,to:e})}function S(e){return T(e)}function C(e){return S(Rg(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={}),Rg({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(Rg(b(l),{state:typeof l==`object`?Rg({},a,l.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&D_(r,i,n)&&(f=Wg(16,{to:d,from:i}),fe(i,i,!0,!1)),(f?Promise.resolve(f):ne(d,i)).catch(e=>Gg(e)?Gg(e,2)?e:de(e):E(e,d,i)).then(e=>{if(e){if(Gg(e,2))return T(Rg({replace:s},b(e.to),{state:typeof e.to==`object`?Rg({},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]=$_(e,t);n=Q_(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Z_(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(Z_(r,e,t));return n.push(c),_e(n)}).then(()=>{n=Q_(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Z_(r,e,t))});return n.push(c),_e(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter){if(Vg(r.beforeEnter))for(let i of r.beforeEnter)n.push(Z_(i,e,t));else n.push(Z_(r.beforeEnter,e,t))}return n.push(c),_e(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Q_(s,`beforeRouteEnter`,e,t,te),n.push(c),_e(n))).then(()=>{n=[];for(let r of o.list())n.push(Z_(r,e,t));return n.push(c),_e(n)}).catch(e=>Gg(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===N_,l=e_?history.state:{};n&&(r||s?i.replace(e.fullPath,Rg({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(Rg(a,{replace:!0,force:!0}),r).catch(Bg);return}u=r;let o=c.value;e_&&n.delta&&H_(B_(o.fullPath,n.delta)),ne(r,o).catch(e=>Gg(e,12)?e:Gg(e,2)?(T(Rg(b(e.to),{force:!0}),r).then(e=>{Gg(e,20)&&!n.delta&&n.type===`pop`&&i.go(-1,!1)}).catch(Bg),Promise.reject()):(n.delta&&i.go(-n.delta,!1),E(e,r,o))).then(e=>{e||=ie(r,o,!1),e&&(n.delta&&!Gg(e,8)?i.go(-n.delta,!1):n.type===`pop`&&Gg(e,20)&&i.go(-1,!1)),re(r,o,e)}).catch(Bg)})}let se=X_(),ce=X_(),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!==N_?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(!e_||!a)return Promise.resolve();let o=!r&&U_(B_(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return ir().then(()=>a(t,n,o)).then(e=>t===c.value&&e&&z_(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`,kv),e.component(`RouterView`,Iv),e.config.globalProperties.$router=ge,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>A(c)}),e_&&!me&&c.value===N_&&(me=!0,S(i.location).catch(e=>{}));let t={};for(let e in N_)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(Jg,ge),e.provide(Yg,nn(t)),e.provide(Xg,c);let n=e.unmount;he.add(e),e.unmount=function(){he.delete(e),he.size<1&&(u=N_,ae&&ae(),ae=null,c.value=N_,me=!1,le=!1),n()}}};function _e(e){return e.reduce((e,t)=>e.then(()=>te(t)),Promise.resolve())}return ge}var Rv={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`},zv=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim();function Bv(e){return e!=null}function Vv(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??Rv.width,a=e.size??e.height??Rv.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?zv(...c):zv(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??Rv[`stroke-width`])*Number(e.size??e.width??Rv.width)/Number(t.size??t.width??Rv.width):t.strokeWidth??Rv[`stroke-width`];return[`svg`,{...Object.entries(Rv).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&Bv(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&Bv(t.width)&&{[r(`width`)]:t.width},...`height`in t&&Bv(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}var Hv=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Uv=e=>e===``,Wv=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Gv=Symbol(`lucide-icons`);function Kv(){return Dr(Gv,{})}var qv=({name:e,iconNode:t,"icon-node":n,icon:r={name:e&&Wv(e),node:t??n??[],size:24,aliases:[]},absoluteStrokeWidth:i,"absolute-stroke-width":a,nonScalingStroke:o,"non-scaling-stroke":s,strokeWidth:c,"stroke-width":l,size:u,width:d=u,height:f=u,color:p,...m},{slots:h})=>{let{size:g,color:_,strokeWidth:v=2,absoluteStrokeWidth:y=!1,nonScalingStroke:b=!1,class:x=``}=Kv(),S=Uv(i)||Uv(a)||i===!0||a===!0||y===!0,C=Uv(o)||Uv(s)||o===!0||s===!0||b===!0;delete m.class;let w=h.default?.(),[,T,ee=[]]=Vv(r,{color:p??_,width:d??u??g,height:f??u??g,strokeWidth:c??l??v,absoluteStrokeWidth:S,nonScalingStroke:C,className:x,hasA11yProp:w!=null&&w.length>0||Hv(m),attributes:m});return sc(`svg`,T,[...ee.map(([e,t])=>sc(e,t)),...w??[]])};function G(e,t=[]){let n=typeof e==`string`?{name:e,node:t}:e;return(e,{slots:t})=>sc(qv,{...e,icon:n},t.default?{default:t.default}:void 0)}var Jv=G({name:`activity`,size:24,node:[[`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`}]]}),Yv=G({name:`archive`,size:24,node:[[`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`}]]}),Xv=G({name:`arrow-down-to-line`,size:24,node:[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]}),Zv=G({name:`boxes`,size:24,node:[[`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`}]]}),Qv=G({name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]}),$v=G({name:`chevron-down`,size:24,node:[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]}),ey=G({name:`chevron-left`,size:24,node:[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]}),ty=G({name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]}),ny=G({name:`chevron-up`,size:24,node:[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]}),ry=G({name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]}),iy=G({name:`circle-alert`,size:24,node:[[`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`}]],aliases:[`alert-circle`]}),ay=G({name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]}),oy=G({name:`circle-x`,size:24,node:[[`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`}]],aliases:[`x-circle`]}),sy=G({name:`circle`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]]}),cy=G({name:`code-xml`,size:24,node:[[`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`}]],aliases:[`code-2`]}),ly=G({name:`command`,size:24,node:[[`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`}]]}),uy=G({name:`copy`,size:24,node:[[`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`}]]}),dy=G({name:`cpu`,size:24,node:[[`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`}]]}),fy=G({name:`download`,size:24,node:[[`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`}]]}),py=G({name:`ellipsis`,size:24,node:[[`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`}]],aliases:[`more-horizontal`]}),my=G({name:`external-link`,size:24,node:[[`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`}]]}),hy=G({name:`eye-off`,size:24,node:[[`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`}]]}),gy=G({name:`eye`,size:24,node:[[`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`}]]}),_y=G({name:`file-text`,size:24,node:[[`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`}]]}),vy=G({name:`globe`,size:24,node:[[`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`}]]}),yy=G({name:`hard-drive`,size:24,node:[[`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`}]]}),by=G({name:`info`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]}),xy=G({name:`key-round`,size:24,node:[[`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`}]]}),Sy=G({name:`layers`,size:24,node:[[`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`}]],aliases:[`layers-3`]}),Cy=G({name:`layout-dashboard`,size:24,node:[[`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`}]]}),wy=G({name:`loader-circle`,size:24,node:[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]],aliases:[`loader-2`]}),Ty=G({name:`log-in`,size:24,node:[[`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`}]]}),Ey=G({name:`log-out`,size:24,node:[[`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`}]]}),Dy=G({name:`memory-stick`,size:24,node:[[`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`}]]}),Oy=G({name:`menu`,size:24,node:[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]}),ky=G({name:`monitor`,size:24,node:[[`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`}]]}),Ay=G({name:`moon`,size:24,node:[[`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`}]]}),jy=G({name:`octagon-alert`,size:24,node:[[`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`}]],aliases:[`alert-octagon`]}),My=G({name:`pause`,size:24,node:[[`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`}]]}),Ny=G({name:`pencil`,size:24,node:[[`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`}]]}),Py=G({name:`play`,size:24,node:[[`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`}]]}),Fy=G({name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]}),Iy=G({name:`power`,size:24,node:[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]}),Ly=G({name:`refresh-cw`,size:24,node:[[`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`}]]}),Ry=G({name:`rotate-ccw`,size:24,node:[[`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`}]]}),zy=G({name:`rotate-cw`,size:24,node:[[`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`}]]}),By=G({name:`scroll-text`,size:24,node:[[`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`}]]}),Vy=G({name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]}),Hy=G({name:`server`,size:24,node:[[`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`}]]}),Uy=G({name:`settings-2`,size:24,node:[[`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`}]]}),Wy=G({name:`shield-alert`,size:24,node:[[`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`}]]}),Gy=G({name:`shield-check`,size:24,node:[[`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({name:`shield-off`,size:24,node:[[`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`}]]}),qy=G({name:`sliders-horizontal`,size:24,node:[[`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({name:`square`,size:24,node:[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]}),Yy=G({name:`sun`,size:24,node:[[`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`}]]}),Xy=G({name:`terminal`,size:24,node:[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]}),Zy=G({name:`thermometer`,size:24,node:[[`path`,{d:`M14 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z`,key:`17jzev`}]]}),Qy=G({name:`timer`,size:24,node:[[`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`}]]}),$y=G({name:`trash`,size:24,node:[[`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`}]],aliases:[`trash-2`]}),eb=G({name:`triangle-alert`,size:24,node:[[`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`}]],aliases:[`alert-triangle`]}),tb=G({name:`waypoints`,size:24,node:[[`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`}]]}),nb=G({name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]}),rb=e=>Array.isArray(e)?e:[e],ib=(e,t)=>{let n=[[],[]];for(let r of e)t(r)?n[0].push(r):n[1].push(r);return n},ab=Array,ob=(e,t)=>e.includes(t),sb=(e,t=0)=>[...Array(e)].map((e,n)=>n+t),cb=(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),lb=(e,t)=>t==null?e??[]:e==null?rb(t):e.concat(t),ub=(...e)=>e.reduce(lb,[]),db=(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 rb(t))e.some(e=>r(e,n))||e.push(n);return e},fb=(e,t)=>e.reduce((e,n)=>{let r=n[t];return e[r]=cb(e[r],n),e},{}),pb=(e,t,n)=>e.length===t.length&&e.every(n?.isEqual?(e,r)=>n.isEqual(e,t[r]):(e,n)=>e===t[n]),mb=(e,t)=>hb(e)===t,hb=e=>{let t=typeof e;return t===`object`?e===null?`null`:`object`:t===`function`?`object`:t},gb={boolean:`boolean`,null:`null`,undefined:`undefined`,bigint:`a bigint`,number:`a number`,object:`an object`,string:`a string`,symbol:`a symbol`},_b={...gb,function:`a function`},vb=class extends Error{},yb=e=>bb(e,vb),bb=(e,t=Error)=>{throw new t(e)},xb=class extends Error{name=`ParseError`},K=e=>bb(e,xb),Sb=e=>` ${e}`,Cb=(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]=cb(n[e.group],t):n[e]=t}return i?Object.values(n):n},wb=Object.entries,Tb=e=>Object.keys(e),Eb=(e,t)=>e in t,Db=(e,t)=>t in e,Ob=class{constructor(e){Object.assign(this,e)}},kb=class{},Ab=class extends kb{},jb=(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)=>jb(e,t)[1],Nb=e=>Object.keys(e).length===0,Pb=e=>[...Object.entries(e),...Object.getOwnPropertySymbols(e).map(t=>[t,e[t]])],Fb=(e,t)=>Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)),Ib=e=>{let t=Object.keys(e).sort(),n={};for(let r=0;r<t.length;r++)n[t[r]]=e[t[r]];return n},Lb=Sb(`unset​`),Rb=e=>Object.values(e).filter(t=>typeof t==`number`||typeof e[t]!=`number`),zb={Array,Boolean,Date,Error,Function,Map,Number,Promise,RegExp,Set,String,WeakMap,WeakSet},Bb=globalThis.File??Blob,Vb={ArrayBuffer,Blob,File:Bb,FormData,Headers,Request,Response,URL},Hb={Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array},Ub={...zb,...Vb,...Hb,String,Number,Boolean},Wb=e=>{if(Array.isArray(e))return`Array`;let t=Object.getPrototypeOf(e);for(;t?.constructor&&(!Eb(t.constructor.name,Ub)||!(e instanceof Ub[t.constructor.name]));)t=Object.getPrototypeOf(t);let n=t?.constructor?.name;if(n!==void 0&&n!==`Object`)return n},Gb=e=>typeof e==`object`&&e?Wb(e)??`object`:hb(e),Kb=Array.isArray,qb={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`},Jb={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`},Yb={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`},Xb={...qb,...Jb,...Yb},Zb=e=>{let t=Object(e).name??null;return t&&Eb(t,Ub)&&Ub[t]===e?t:null},Qb=(e,t)=>{let n=e.prototype;for(;n!==null;){if(n===t.prototype)return!0;n=Object.getPrototypeOf(n)}return!1},$b=e=>ex(e,new Map),ex=(e,t)=>{if(typeof e!=`object`||!e)return e;if(t?.has(e))return t.get(e);let n=Zb(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=ex(n.value,t))}}return Object.defineProperties(r,i),r},tx=e=>{let t=Lb;return()=>t===Lb?t=e():t},nx=e=>typeof e==`function`&&e.length===0,rx=class extends Function{constructor(...e){let t=e.slice(0,-1),n=e[e.length-1];try{super(...t,n)}catch(t){return yb(`Encountered an unexpected error while compiling your definition:
7
+ Message: ${t}
8
+ Source: (${e.slice(0,-1)}) => {
9
+ ${e[e.length-1]}
10
+ }`)}}},ix=class{constructor(e,...[t]){return Object.assign(Object.setPrototypeOf(e.bind(t?.bind??this),this.constructor.prototype),t?.attach)}},ax=tx(()=>{try{return Function(`return false`)()}catch{return!0}});Sb(`brand`),Sb(`arkInferred`),Sb(`args`);var ox=class{constructor(){}},sx={fileName:()=>{try{return((Error().stack?.split(`
11
+ `)[2]?.trim()||``).match(/\(?(.+?)(?::\d+:\d+)?\)?$/)?.[1]||`unknown`).replace(/^file:\/\//,``)}catch{return`unknown`}},env:{}},cx=e=>e.length===0?e:e[0].toUpperCase()+e.slice(1),lx=e=>e.length===0?e:e[0].toLowerCase()+e.slice(1),ux=e=>new RegExp(dx(e),typeof e==`string`?``:e.flags),dx=e=>`^(?:${typeof e==`string`?e:e.source})$`,fx={negativeLookahead:e=>`(?!${e})`,nonCapturingGroup:e=>`(?:${e})`},px={" ":1,"\n":1," ":1},mx=`^-0\\.?0*$`,hx=`[1-9]\\d*`,gx=`\\.\\d+`,_x=`\\.\\d*[1-9]`,vx=e=>ux(fx.negativeLookahead(mx)+fx.nonCapturingGroup(`-?`+fx.nonCapturingGroup(fx.nonCapturingGroup(`0|`+hx)+fx.nonCapturingGroup(e.decimalPattern)+`?`)+(e.allowDecimalOnly?`|`+e.decimalPattern+`?`:``))),yx=vx({decimalPattern:_x,allowDecimalOnly:!1}),bx=yx.test.bind(yx),xx=vx({decimalPattern:gx,allowDecimalOnly:!0});xx.test.bind(xx);var Sx=/^-?\d*\.?\d*$/,Cx=e=>e.length!==0&&Sx.test(e),wx=ux(fx.negativeLookahead(`^-0$`)+`-?`+fx.nonCapturingGroup(fx.nonCapturingGroup(`0|`+hx))),Tx=wx.test.bind(wx),Ex=/^-?\d+$/,Dx=Ex.test.bind(Ex),Ox={number:`a number`,bigint:`a bigint`,integer:`an integer`},kx=(e,t)=>`'${e}' was parsed as ${Ox[t]} but could not be narrowed to a literal value. Avoid unnecessary leading or trailing zeros and other abnormal notation`,Ax=(e,t)=>t===`number`?bx(e):Tx(e),jx=(e,t)=>t===`number`?Number(e):Number.parseInt(e),Mx=(e,t)=>t===`number`?Cx(e):Dx(e),Nx=(e,t)=>Ix(e,`number`,t),Px=(e,t)=>Ix(e,`number`,{...t,strict:!0}),Fx=(e,t)=>Ix(e,`integer`,t),Ix=(e,t,n)=>{let r=jx(e,t);return!Number.isNaN(r)&&Mx(e,t)?n?.strict?Ax(e,t)?r:K(kx(e,t)):r:n?.errorOnFail?K(n?.errorOnFail===!0?`Failed to parse ${Ox[t]} from '${e}'`:n?.errorOnFail):void 0},Lx=e=>{if(e[e.length-1]!==`n`)return;let t=e.slice(0,-1),n;try{n=BigInt(t)}catch{return}if(wx.test(t))return n;if(Ex.test(t))return K(kx(e,`bigint`))},Rx={version:`0.56.7`,filename:sx.fileName(),FileConstructor:Bb},zx=new Map,Bx=Object.create(null),Vx=e=>{let t=zx.get(e);if(t)return t;let n=Ux(e);return Bx[n]?n=`${n}${Bx[n]++}`:Bx[n]=1,Rx[n]=e,zx.set(e,n),n},Hx=e=>/^[$A-Z_a-z][\w$]*$/.test(e),Ux=e=>{switch(typeof e){case`object`:{if(e===null)break;let t=Wb(e)??`object`;return t[0].toLowerCase()+t.slice(1)}case`function`:return Hx(e.name)?e.name:`fn`;case`symbol`:return e.description&&Hx(e.description)?e.description:`symbol`}return yb(`Unexpected attempt to register serializable value of type ${hb(e)}`)},Wx=e=>typeof e==`string`?JSON.stringify(e):typeof e==`bigint`?`${e}n`:`${e}`,Gx=(e,t={})=>Zx(e,{onUndefined:`$ark.undefined`,onBigInt:e=>`$ark.bigint-${e}`,...t},[]),Kx=(e,t)=>{switch(hb(e)){case`object`:let n=e,r=n.constructor?.name??`Object`;return r===`Object`||r===`Array`?t?.quoteKeys===!1?qx(n,t?.indent??0,``):JSON.stringify(Zx(n,Jx,[]),null,t?.indent).replace(Xx,`$1`):qx(n,t?.indent??0,``);case`symbol`:return Jx.onSymbol(e);default:return Wx(e)}},qx=(e,t,n)=>{if(typeof e==`function`)return Jx.onFunction(e);if(typeof e!=`object`||!e)return Wx(e);let r=n+` `.repeat(t);if(Array.isArray(e)){if(e.length===0)return`[]`;let i=e.map(e=>qx(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=Pb(e).map(([e,n])=>{let i=typeof e==`symbol`?Jx.onSymbol(e):Hx(e)?e:JSON.stringify(e),a=qx(n,t,r);return`${r}${i}: ${a}`});return i.length===0?`{}`:t?`{\n${i.join(`,
13
+ `)}\n${n}}`:`{${i.join(`, `)}}`}return e instanceof Date?Qx(e):`expression`in e&&typeof e.expression==`string`?e.expression:i},Jx={onCycle:()=>`(cycle)`,onSymbol:e=>`Symbol(${Vx(e)})`,onFunction:e=>`Function(${Vx(e)})`,onBigInt:e=>`${Yx}${e}n`},Yx=``,Xx=RegExp(`"${Yx}(-?\\d+n)"`,`g`),Zx=(e,t,n)=>{switch(hb(e)){case`object`:{let r=e;if(`toJSON`in r&&typeof r.toJSON==`function`)return r.toJSON();if(typeof r==`function`)return Jx.onFunction(r);if(n.includes(r))return`(cycle)`;let i=[...n,r];if(Array.isArray(r))return r.map(e=>Zx(e,t,i));if(r instanceof Date)return r.toDateString();let a={};for(let e in r)a[e]=Zx(r[e],t,i);for(let e of Object.getOwnPropertySymbols(r))a[t.onSymbol?.(e)??e.toString()]=Zx(r[e],t,i);return a}case`symbol`:return Jx.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}},Qx=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=`${$x[n]} ${r}, ${t}`;if(i===0&&a===0&&o===0&&s===0)return c;let l=i%12||12,u=i<12?` AM`:` PM`,d=o||s?`${l}:${eS(a,2)}:${eS(o,2)}`:`${l}:${eS(a,2)}`;return s&&(d+=`.${eS(s,3)}`),`${d+u}, ${c}`},$x=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],eS=(e,t)=>String(e).padStart(t,`0`),tS=(e,t,...[n])=>{let r=n?.stringifySymbol??Kx,i=e;switch(typeof t){case`string`:i=Hx(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(`${Kx(t)} must be a PropertyKey or stringifyNonKey must be passed to options`)}return i},nS=(e,...t)=>e.reduce((e,n)=>tS(e,n,...t),``),rS=class extends ab{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`?Kx(this[e]):this[e]);return this.cache.json}stringify(){return this.cache.stringify?this.cache.stringify:this.cache.stringify=nS(this)}stringifyAncestors(){if(this.cache.stringifyAncestors)return this.cache.stringifyAncestors;let e=``,t=[e];for(let n of this)e=tS(e,n),t.push(e);return this.cache.stringifyAncestors=t}},iS=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,t=``){let n=``;for(;this.lookahead;)if(this.lookahead===`\\`)this.shift(),e(this,n)?n+=this.shift():this.lookahead===`\\`?n+=`${t}${this.shift()}`:n+=`\\${this.shift()}`;else if(e(this,n))break;else n+=this.shift();return n}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 px))}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}},aS=(e,t)=>`Unmatched ${e}${t===``?``:` before ${t}`}`,oS=e=>`Missing ${e}`;Sb(`implementedTraits`);for(var sS=`$ark`,cS=2;sS in globalThis;)sS=`$ark${cS++}`;var lS=sS;globalThis[lS]=Rx;var q=Rx,uS=e=>`${lS}.${e}`,dS=e=>uS(Vx(e)),fS=class extends Ab{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 mS(e,t)}index(e,t=!1){return gS(`${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 rx(...this.argNames,this.body)}},pS=e=>mb(e,`object`)||typeof e==`symbol`?dS(e):Wx(e),mS=(e,t=!1)=>typeof e==`string`&&Hx(e)?`${t?`?`:``}.${e}`:gS(hS(e),t),hS=e=>typeof e==`symbol`?dS(e):JSON.stringify(e),gS=(e,t=!1)=>`${t?`?.`:``}[${e}]`,_S=class extends fS{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))}},vS=e=>Cb(e,(e,t)=>[e,Kb(t)?[...t]:t]),yS=Sb(`arkKind`),bS=(e,t)=>e?.[yS]===t,xS=e=>bS(e,`root`)||bS(e,`constraint`),SS=[`unit`,`proto`,`domain`],CS=[`required`,`optional`,`index`,`sequence`],wS=[`pattern`,`divisor`,`exactLength`,`max`,`min`,`maxLength`,`minLength`,`before`,`after`],TS=[...wS,`structure`,`predicate`],ES=[...TS,...CS],DS=[`alias`,`union`,`morph`,`unit`,`intersection`,`proto`,`domain`],OS=[...DS,...ES],kS=Cb(ES,(e,t)=>[t,1]),AS=Cb([...CS,`undeclared`],(e,t)=>[t,1]),jS=Cb(OS,(e,t)=>[t,e]),MS=e=>typeof e==`string`&&e in jS,NS=e=>jS[e],PS=e=>DS.slice(NS(e)+1);[...PS(`union`)],[...PS(`morph`)];var FS=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:pS(e),IS=e=>{let t=`{ `;for(let[n,r]of Object.entries(e))t+=`${n}: ${pS(r)}, `;return t+` }`},LS=e=>{let t=e;return t.hasAssociatedError&&(t.defaults.expected??=e=>`description`in e?e.description:t.defaults.description(e),t.defaults.actual??=e=>Kx(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},RS={Error:class extends Error{name=`ToJsonSchemaError`;code;context;constructor(e,t){super(Kx(t,{quoteKeys:!1,indent:4})),this.code=e,this.context=t}hasCode(e){return this.code===e}},throw:(...e)=>{throw new RS.Error(...e)},throwInternalOperandError:(e,t)=>yb(`Unexpected JSON Schema input for ${e}: ${Kx(t)}`),defaultConfig:{target:`draft-2020-12`,dialect:`https://json-schema.org/draft/2020-12/schema`,useRefs:!1,fallback:{arrayObject:e=>RS.throw(`arrayObject`,e),arrayPostfix:e=>RS.throw(`arrayPostfix`,e),defaultValue:e=>RS.throw(`defaultValue`,e),domain:e=>RS.throw(`domain`,e),morph:e=>RS.throw(`morph`,e),patternIntersection:e=>RS.throw(`patternIntersection`,e),predicate:e=>RS.throw(`predicate`,e),proto:e=>RS.throw(`proto`,e),symbolKey:e=>RS.throw(`symbolKey`,e),unit:e=>RS.throw(`unit`,e),date:e=>RS.throw(`date`,e)}}};q.config??={};var zS=(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]=VS(e.toJsonSchema,t.toJsonSchema):MS(r)?n[r]={...e[r],...t[r]}:n[r]=t[r]}return n},BS={"draft-2020-12":`https://json-schema.org/draft/2020-12/schema`,"draft-07":`http://json-schema.org/draft-07/schema#`},VS=((e,t)=>{if(!e)return HS(t??{},void 0);if(!t)return e;let n={...e},r;for(r in t)r===`fallback`?n.fallback=US(e.fallback,t.fallback):n[r]=t[r];return HS(n,t)}),HS=(e,t)=>t?.dialect===void 0?t?.target===void 0?e:{...e,dialect:BS[t.target]}:e,US=(e,t)=>{e=WS(e),t=WS(t);let n={},r;for(r in RS.defaultConfig.fallback)n[r]=t[r]??t.default??e[r]??e.default??RS.defaultConfig.fallback[r];return n},WS=e=>typeof e==`function`?{default:e}:e??{},GS=class e extends Ab{[yS]=`error`;path;data;nodeConfig;input;ctx;constructor({prefixPath:e,relativePath:t,...n},r){super(),this.input=n,this.ctx=r,Fb(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:ub(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 rS(...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 nS(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}},KS=class e extends ab{[yS]=`errors`;static get[Symbol.species](){return Array}ctx;constructor(e){super(),this.ctx=e}byPath=Object.create(null);get flatByPath(){return Cb(this.byPath,(e,t)=>[e,t.flat])}get flatProblemsByPath(){return Cb(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 qS(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 GS({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 GS({...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 message(){return this.summary}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]=cb(this.byAncestorPath[t],e)}},qS=class extends Error{name=`TraversalError`;constructor(e){e.length===1?super(e.summary):super(`
17
+ `+e.map(e=>` • ${JS(e)}`).join(`
18
+ `)),Object.defineProperty(this,"arkErrors",{value:e,enumerable:!1})}},JS=e=>e.toString().split(`
19
+ `).join(`
20
+ `),YS=class{path=[];errors=new KS(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 nS(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 rS(...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 GS(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=xS(i),a=i(r===void 0?this.root:r[n],this);if(a instanceof GS){this.errors.add(a);break}if(a instanceof KS){t||this.errors.merge(a),this.queuedMorphs=[];break}r===void 0?this.root=a:r[n]=a,this.applyQueuedMorphs()}}},XS=(e,t,n)=>{if(!n)return t();n.path.push(e);let r=t();return n.path.pop(),r},ZS=class extends ix{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)=>oC(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=>iC(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 YS(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 YS(e,this.$.resolvedConfig);return this.traverseApply(e,n),n.finalize(t)};case`contextual`:return(e,t)=>{let n=new YS(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 YS(t,this.$.resolvedConfig);return this.traverseApply(t,r),r.finalize(n)};case`branchedOptimistic`:return this.createBranchedOptimisticRootApply();default:return this.rootApplyStrategy,yb(`Unexpected rootApplyStrategy ${this.rootApplyStrategy}`)}}compiledMeta=nC(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=NS(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]=Kb(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=xS(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&&bb(`${this.kind} node was not of asserted kind ${e}`),this}hasKindIn(...e){return e.includes(this.kind)}assertHasKindIn(...e){return ob(e,this.kind)||bb(`${this.kind} node was not one of asserted kinds ${e}`),this}isBasis(){return ob(SS,this.kind)}isConstraint(){return ob(ES,this.kind)}isStructural(){return ob(CS,this.kind)}isRefinement(){return ob(TS,this.kind)}isRoot(){return ob(DS,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=QS.normalize(e);return this._select(t)}_select(e){let t=QS.applyBoundary[e.boundary??`references`](this);return e.kind&&(t=t.filter(t=>t.kind===e.kind)),e.where&&(t=t.filter(e.where)),QS.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=Cb(this.inner,(n,r)=>{if(!this.impl.keys[n].child)return[n,r];let i=r;if(!Kb(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(xS(o))return r=o;let s=Object.keys(o);return(s.length===0||s.length===1&&s[0]===`meta`)&&!Nb(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=QS.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&&rb(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}))}},QS={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&&bb($S(t,n)),e),find:e=>e[0],assertFind:(e,t,n)=>(e.length===0&&bb($S(t,n)),e[0])},normalize:e=>typeof e==`function`?{boundary:`references`,method:`filter`,where:e}:typeof e==`string`?Eb(e,QS.applyBoundary)?{method:`filter`,boundary:e}:{boundary:`references`,method:`filter`,kind:e}:{boundary:`references`,method:`filter`,...e}},$S=(e,t)=>`${e} had no references matching ${Kx(t)}.`,eC=e=>nS(e,{stringifyNonKey:e=>e.expression}),tC=/"(\$ark\.[^"]+)"/g,nC=e=>JSON.stringify(e).replace(tC,`$1`),rC=(e,t)=>({path:e,node:t,propString:eC(e)}),iC=(e,t)=>e.propString===t.propString&&e.node.equals(t.node),aC=(e,t)=>db(e,t,{isEqual:iC}),oC=(e,t)=>db(e,t,{isEqual:(e,t)=>e.equals(t)}),sC=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=nS(e);return uC(`Intersection${r&&` at ${r}`} of ${cC(t,n)}`)}return`The following intersections result in unsatisfiable types:\n• ${this.map(({path:e,l:t,r:n})=>`${e}: ${cC(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(t,n){let r=this.map(e=>({...e,path:[t,...e.path],optional:e.optional||n===`optional`}));return r instanceof e?r:new e(...r)}toNeverIfDisjoint(){return q.intrinsic.never}},cC=(e,t)=>`${lC(e)} and ${lC(t)}`,lC=e=>xS(e)?e.expression:Kb(e)?e.map(lC).join(` | `)||`never`:String(e),uC=e=>`${e} results in an unsatisfiable type`,dC={},fC=(e,t,n)=>mC(e,t,{$:n,invert:!1,pipe:!1}),pC=(e,t,n)=>mC(e,t,{$:n,invert:!1,pipe:!0}),mC=((e,t,n)=>{let r=n.pipe?`|>`:`&`,i=`${e.hash}${r}${t.hash}`;if(dC[i]!==void 0)return dC[i];if(!n.pipe){let n=`${t.hash}${r}${e.hash}`;if(dC[n]!==void 0){let e=dC[n],t=e instanceof sC?e.invert():e;return dC[i]=t,t}}let a=!n.pipe||!e.includesTransform&&!t.includesTransform;if(a&&e.equals(t))return e;let o=a?hC(e,t,n):e.hasKindIn(...DS)?gC(e,t,n):hC(e,t,n);return xS(o)&&(e.equals(o)?o=e:t.equals(o)&&(o=t)),dC[i]=o,o}),hC=(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 sC&&(r=r.invert()),r}},gC=(e,t,n)=>e.includesTransform||t.includesTransform?n.invert?_C(t,e,n):_C(e,t,n):hC(e,t,n),_C=(e,t,n)=>e.distribute(e=>vC(e,t,n),r=>{let i=r.filter(xS);if(i.length===0)return sC.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)}),vC=(e,t,n)=>{if(e.hasKind(`morph`)){let r=[...e.morphs];if(e.lastMorphIfNode){let i=mC(e.lastMorphIfNode,t,n);if(i instanceof sC)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=mC(e,t.rawIn,n);return r instanceof sC?r:n.$.node(`morph`,{morphs:[t],in:r})}return n.$.node(`morph`,{morphs:[t],in:e})},yC=class extends ZS{constructor(e,t){super(e,t),Object.defineProperty(this,yS,{value:`constraint`,enumerable:!1})}impliedSiblings;intersect(e){return fC(this,e,this.$)}},bC=class extends yC{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 IS(this.errorContext)}},xC=e=>(t,n)=>{if(Kb(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},SC=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,wC(e.l)),{prereduced:!0});for(let n of e.roots){if(t instanceof sC)return t;t=mC(n,t,e.ctx)}return t}let n=!1;for(let r=0;r<e.l.length;r++){let i=mC(e.l[r],t,e.ctx);if(i!==null){if(i instanceof sC)return i;if(i.isRoot())return e.roots.push(i),e.l.splice(r),SC(e);if(!n)e.l[r]=i,n=!0;else if(!e.l.includes(i))return yb(`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)db(e.r,n);return SC(e)},CC=e=>Object.entries(e).flatMap(([e,t])=>e in kS?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),wC=e=>{let t={};for(let n of e)if(n.hasOpenIntersection())t[n.kind]=cb(t[n.kind],n);else{if(t[n.kind])return yb(`Unexpected intersection of closed refinements of kind ${n.kind}`);t[n.kind]=n}return t},TC=(...e)=>K(EC(...e)),EC=(e,t,n)=>{let r=n.hasKind(`morph`)?`a morph`:n.isUnknown()?`unknown`:n.exclude(t).defaultShortDescription;return`${cx(e)} operand must be ${t.description} (was ${r})`},DC=(e,t,n)=>new kC(e,t,n,n,null),OC=class extends ix{},kC=class extends ix{[yS]=`generic`;paramDefs;bodyDef;$;arg$;baseInstantiation;hkt;description;constructor(e,t,n,r,i){super((...e)=>{let n=Cb(this.names,(t,n)=>{let r=this.arg$.parse(e[t]);return r.extends(this.constraints[t])||K(AC(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 OC}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:Gx(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}},AC=(e,t,n)=>`${e} must be assignable to ${t} (was ${n})`,jC=e=>`valid according to ${e?.name||`an anonymous predicate`}`,MC={implementation:LS({kind:`predicate`,hasAssociatedError:!0,collapsibleKey:`predicate`,keys:{predicate:{}},normalize:e=>typeof e==`function`?{predicate:e}:e,defaults:{description:e=>jC(e.predicate),expected:e=>e.description??jC(e.predicate)},intersectionIsOpen:!0,intersections:{predicate:()=>null}}),Node:class extends yC{serializedPredicate=dS(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=IS(this.errorContext);traverseApply=(e,t)=>{let n=t.currentErrorCount;!this.predicate(e,t.external)&&t.currentErrorCount===n&&t.errorFromNodeContext(this.errorContext)};compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):(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})}}},NC={implementation:LS({kind:`divisor`,collapsibleKey:`rule`,keys:{rule:{parse:e=>Number.isInteger(e)?e:K(PC(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/FC(e.rule,t.rule))})},obviatesBasisDescription:!0}),Node:class extends bC{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}}},PC=e=>`divisor must be an integer (was ${e})`,FC=(e,t)=>{let n,r=e,i=t;for(;i!==0;)n=i,i=r%i,r=n;return r},IC=class extends bC{boundOperandKind=GC[this.kind];compiledActual=this.boundOperandKind===`value`?`data`:this.boundOperandKind===`length`?`data.length`:`data.valueOf()`;comparator=KC(this.kind,this.exclusive);numericLimit=this.rule.valueOf();expression=`${this.comparator} ${this.rule}`;compiledCondition=`${this.compiledActual} ${this.comparator} ${this.numericLimit}`;compiledNegation=`${this.compiledActual} ${LC[this.comparator]} ${this.numericLimit}`;stringLimit=this.boundOperandKind===`date`?qC(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}},LC={"<":`>=`,"<=":`>`,">":`<=`,">=":`<`},RC={min:`max`,minLength:`maxLength`,after:`before`},zC={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},VC=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},HC=e=>typeof e==`string`||typeof e==`number`?new Date(e):e,UC=(e,t)=>`${e} bound must be a positive integer (was ${t})`,WC=e=>t=>((!Number.isInteger(t)||t<0)&&K(UC(e,t)),t),GC={min:`value`,max:`value`,minLength:`length`,maxLength:`length`,after:`date`,before:`date`},KC=(e,t)=>`${Eb(e,RC)?`>`:`<`}${t?``:`=`}`,qC=e=>typeof e==`string`?e:new Date(e).toLocaleString(),JC=e=>`Bounded expression ${e} must be exactly one of number, string, Array, or Date`,YC={implementation:LS({kind:`after`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:HC,serialize:e=>e.toISOString()}},normalize:VC(`after`),defaults:{description:e=>`${e.collapsibleLimitString} or later`,actual:Qx},intersections:{after:(e,t)=>e.isStricterThan(t)?e:t}}),Node:class extends IC{impliedBasis=q.intrinsic.Date.internal;collapsibleLimitString=Qx(this.rule);traverseAllows=e=>e>=this.rule;reduceJsonSchema(e,t){return t.fallback.date({code:`date`,base:e,after:this.rule})}}},XC={implementation:LS({kind:`before`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{parse:HC,serialize:e=>e.toISOString()}},normalize:VC(`before`),defaults:{description:e=>`${e.collapsibleLimitString} or earlier`,actual:Qx},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:sC.init(`range`,e,t)}}),Node:class extends IC{collapsibleLimitString=Qx(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})}}},ZC={implementation:LS({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)=>sC.init(`unit`,n.$.node(`unit`,{unit:e.rule}),n.$.node(`unit`,{unit:t.rule}),{path:[`length`]}),minLength:(e,t)=>e.rule>=t.rule?e:sC.init(`range`,e,t),maxLength:(e,t)=>e.rule<=t.rule?e:sC.init(`range`,e,t)}}),Node:class extends bC{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 RS.throwInternalOperandError(`exactLength`,e)}}}},QC={implementation:LS({kind:`max`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:zC},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:sC.init(`range`,e,t)},obviatesBasisDescription:!0}),Node:class extends IC{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}}},$C={implementation:LS({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:sC.init(`range`,e,t)}}),Node:class extends IC{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 RS.throwInternalOperandError(`maxLength`,e)}}}},ew={implementation:LS({kind:`min`,collapsibleKey:`rule`,hasAssociatedError:!0,keys:{rule:{},exclusive:zC},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 IC{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}}},tw={implementation:LS({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 IC{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 RS.throwInternalOperandError(`minLength`,e)}}}},nw={min:ew.implementation,max:QC.implementation,minLength:tw.implementation,maxLength:$C.implementation,exactLength:ZC.implementation,after:YC.implementation,before:XC.implementation},rw={min:ew.Node,max:QC.Node,minLength:tw.Node,maxLength:$C.Node,exactLength:ZC.Node,after:YC.Node,before:XC.Node},iw={implementation:LS({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 bC{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)}}},aw=(e,t)=>{let n=ow(e);return t&&!t.includes(n)?K(`Root of kind ${n} should be one of ${t}`):n},ow=e=>{if(bS(e,`root`))return e.kind;if(typeof e==`string`)return e[0]===`$`?`alias`:e in gb?`domain`:`proto`;if(typeof e==`function`)return`proto`;if(typeof e!=`object`||!e)return K(sw(e));if(`morphs`in e)return`morph`;if(`branches`in e||Kb(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 kS)?`intersection`:`proto`in e?`proto`:`domain`in e?`domain`:K(sw(e))},sw=e=>`${Kx(e)} is not a valid type schema`,cw={},lw=e=>Kb(e)?e.map(e=>e.collapsibleJson):e.collapsibleJson,uw={};q.nodesByRegisteredId=uw;var dw=e=>(cw[e]??=0,`${e}${++cw[e]}`),fw=e=>{let t=ZT[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=wb(a).sort(([e],[t])=>MS(e)?MS(t)?NS(e)-NS(t):1:MS(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!==Lb&&(o!==void 0||a.preserveUndefined)&&(r[i]=o)}if(t.reduce&&!e.prereduced){let n=t.reduce(r,e.$);if(n)return n instanceof sC?n.throw():hw(n,o)}return pw({id:e.id,kind:e.kind,inner:r,meta:o,$:e.$})},pw=({id:e,kind:t,inner:n,meta:r,$:i,ignoreCache:a})=>{let o=ZT[t],s=wb(n),c=[],l={};for(let[e,t]of s){let n=o.keys[e],r=n.serialize??(n.child?lw:FS);if(l[e]=r(t),n.child===!0){let e=t;Kb(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={};Nb(r)||(d=Cb(r,(e,t)=>[e,e===`examples`?t:FS(t)]),u.meta=gw(d,`description`,!0)),l=gw(l,o.collapsibleKey,!1);let f=JSON.stringify({kind:t,...l});u=gw(u,o.collapsibleKey,!1);let p=gw(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 QT[t](h,i);return i.nodesByHash[m]=g},mw=(e,t)=>e.id===t?e:(xS(uw[t])&&yb(`Unexpected attempt to overwrite node id ${t}`),pw({id:t,kind:e.kind,inner:e.inner,meta:e.meta,$:e.$,ignoreCache:!0})),hw=(e,t,n)=>(n&&xS(uw[n])&&yb(`Unexpected attempt to overwrite node id ${n}`),pw({id:n??dw(t.alias??e.kind),kind:e.kind,inner:e.inner,meta:t,$:e.$})),gw=(e,t,n)=>{let r=Object.keys(e);if(r.length===1&&r[0]===t){let r=e[t];if(n||mb(r,`object`)&&(Object.keys(r).length===1||Array.isArray(r)))return r}return e},_w=(e,t,n)=>{if(e.key!==t.key)return null;let r=e.key,i=mC(e.value,t.value,n),a=e.required||t.required?`required`:`optional`;if(i instanceof sC){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(yw(e.default,t.default)):e.default:t.hasDefault()?t.default:Lb;return n.$.node(`optional`,{key:r,value:i,default:o})},vw=class extends yC{required=this.kind===`required`;optional=this.kind===`optional`;impliedBasis=q.intrinsic.object.internal;serializedKey=pS(this.key);compiledKey=typeof this.key==`string`?this.key:this.serializedKey;flatRefs=cb(this.value.flatRefs.map(e=>rC([this.key,...e.path],e.node)),rC([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?XS(this.key,()=>this.value.traverseAllows(e[this.key],t),t):this.optional;traverseApply=(e,t)=>{this.key in e?XS(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)}},yw=(e,t)=>`Invalid intersection of default values ${Kx(e)} & ${Kx(t)}`,bw={implementation:LS({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(jE.undefined)},{prereduced:!0})},defaults:{description:e=>`${e.compiledKey}?: ${e.value.description}`},intersections:{optional:_w}}),Node:class extends vw{constructor(...e){super(...e),`default`in this.inner&&ww(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} = ${Kx(this.inner.default)}`:`${this.compiledKey}?: ${this.value.expression}`;defaultValueMorph=Sw(this);defaultValueMorphRef=this.defaultValueMorph&&dS(this.defaultValueMorph)}},xw={},Sw=e=>{if(!e.hasDefault())return;let t=`{${e.compiledKey}: ${e.value.id} = ${FS(e.default)}}`;return xw[t]??=Cw(e.key,e.value,e.default)},Cw=(e,t,n)=>{if(typeof n==`function`)return t.includesTransform?(r,i)=>(XS(e,()=>t(r[e]=n(),i),i),r):t=>(t[e]=n(),t);let r=t.includesTransform?t.assert(n):n;return mb(r,`object`)?(r,i)=>(XS(e,()=>t(r[e]=n,i),i),r):t=>(t[e]=r,t)},ww=(e,t,n)=>{let r=nx(t);mb(t,`object`)&&!r&&K(Tw(n));let i=e.in(r?t():t);return i instanceof KS&&(n===null&&K(`Default ${i.summary}`),K(`Default for ${i.transform(e=>e.transform(e=>({...e,prefixPath:[n]}))).summary}`)),t},Tw=e=>`Non-primitive default ${e===null?``:typeof e==`number`?`for value at [${e}] `:`for ${pS(e)} `}must be specified as a function like () => ({my: 'object'})`,Ew=class extends ZS{constructor(e,t){super(e,t),Object.defineProperty(this,yS,{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 KS?t:{value:t}},jsonSchema:{input:e=>this.rawIn.toJsonSchema({target:Aw(e.target),...e.libraryOptions}),output:e=>this.rawOut.toJsonSchema({target:Aw(e.target),...e.libraryOptions})}}}as(){return this}brand(e){return e===``?K(Dw):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=VS(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=Cb(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);for(let n in this.meta){let r=this.meta[n];t[n]=typeof r!=`function`&&q.intrinsic.jsonData.allows(r)?r:n==="default"?e.fallback.defaultValue({code:`defaultValue`,base:t,value:r}):this.metaJson[n]}return t}intersect(e){let t=this.$.parseDefinition(e),n=this.rawIntersect(t);return n instanceof sC?n:this.$.finalize(n)}rawIntersect(e){return fC(this,e,this.$)}toNeverIfDisjoint(){return this}and(e){let t=this.intersect(e);return t instanceof sC?t.throw():t}rawAnd(e){let t=this.rawIntersect(e);return t instanceof sC?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(uC(`keyof ${this.expression}`)),this._keyof=this.$.finalize(e)}get props(){return this.branches.length===1?[...this.applyStructuralOperation(`props`,[])[0]]:K(Pw(this.expression))}merge(e){let t=this.$.parseDefinition(e);return this.$.schema(t.distribute(e=>this.applyStructuralOperation(`merge`,[Nw(e)??K(Fw(`merge`,e.expression))])))}applyStructuralOperation(e,t){return this.distribute(n=>{if(n.equals(q.intrinsic.object)&&e!==`merge`&&e!==`props`)return n;let r=Nw(n);if(r||K(Fw(e,n.expression)),e===`keyof`)return r.keyof();if(e===`get`)return r.get(...t);if(e===`props`)return r.props;let i=r[e===`required`?`require`:e===`partial`?`optionalize`:e](...t),a=e===`required`||e===`partial`;return a&&i.equals(r)?n:this.$.node(`intersection`,{...a&&i.sequence?{proto:Array}:{domain:`object`},structure:i})})}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.$.finalize(this.rawArray())}rawArray(){return this.$.parseSchema(this.isUnknown()?{proto:Array}:{proto:Array,sequence:this},{prereduced:!0})}overlaps(e){return!(this.intersect(e)instanceof sC)}extends(e){if(this.isNever())return!0;let t=this.intersect(e);return!(t instanceof sC)&&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 ww(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(bS(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=pC(this,e,this.$);return t instanceof sC?t.throw():t}rawPipeOnce(e){return bS(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:yb(`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 TC(t,r.impliedBasis,this);let a=this.$.node(`intersection`,{[r.kind]:r}),o=e===`out`?pC(this,a,this.$):fC(this,a,this.$);return o instanceof sC&&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=>!ob(CS,e.kind)}))}hasEqualMorphs(e){return!this.includesTransform&&!e.includesTransform||!(!pb(this.shallowMorphs,e.shallowMorphs)||!pb(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`,jw(e))}lessThan(e){return this.constrain(`max`,jw(e))}atLeastLength(e){return this.constrain(`minLength`,e)}atMostLength(e){return this.constrain(`maxLength`,e)}moreThanLength(e){return this.constrain(`minLength`,jw(e))}lessThanLength(e){return this.constrain(`maxLength`,jw(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`,jw(e))}earlierThan(e){return this.constrain(`before`,jw(e))}},Dw=`Expected a non-empty brand name after #`,Ow=[`draft-2020-12`,`draft-07`],kw=e=>`JSONSchema target '${e}' is not supported (must be ${Ow.map(e=>`"${e}"`).join(` or `)})`,Aw=e=>(ob(Ow,e)||K(kw(e)),e),jw=e=>typeof e==`object`&&!(e instanceof Date)?{...e,exclusive:!0}:{rule:e,exclusive:!0},Mw=(e,t)=>bS(t,`root`)?bS(e,`root`)?e.extends(t):t.allows(e):bS(e,`root`)?e.hasUnit(t):t===e,Nw=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,Pw=e=>`Props cannot be extracted from a union. Use .distribute to extract props from each branch instead. Received:
22
+ ${e}`,Fw=(e,t)=>`${e} operand must be an object (was ${t})`,Iw=(e,t)=>Cb(PS(e),(e,n)=>[n,t]),Lw=e=>typeof e==`string`?{reference:e}:e,Rw=e=>e instanceof sC?q.intrinsic.never.internal:e,zw=LS({kind:`alias`,hasAssociatedError:!1,collapsibleKey:`reference`,keys:{reference:{serialize:e=>e.startsWith(`$`)?e:`$ark.${e}`},resolve:{}},normalize:Lw,defaults:{description:e=>e.reference},intersections:{alias:(e,t,n)=>n.$.lazilyResolve(()=>Rw(mC(e.resolution,t.resolution,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.reference}`),...Iw(`alias`,(e,t,n)=>t.isUnknown()?e:t.isNever()?t:t.isBasis()&&!t.overlaps(q.intrinsic.object)?sC.init(`assignability`,q.intrinsic.object,t):n.$.lazilyResolve(()=>Rw(mC(e.resolution,t,n)),`${e.reference}${n.pipe?`=>`:`&`}${t.id}`))}}),Bw=class extends Ew{expression=this.reference;structure=void 0;get resolution(){let e=this._resolve();return uw[this.id]=e}_resolve(){if(this.resolve)return this.resolve();if(this.reference[0]===`$`)return this.$.resolveRoot(this.reference.slice(1));let e=uw[this.reference],t=[];for(;bS(e,`context`);){if(t.includes(e.id))return K(Vw(e.id,t));t.push(e.id),e=uw[e.id]}return bS(e,`root`)?e:yb(`Unexpected resolution for reference ${this.reference}
23
+ Seen: [${t.join(`->`)}]
24
+ Resolution: ${Kx(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:bS(t,`root`)?t.id:yb(`Unexpected resolution for reference ${this.reference}: ${Kx(t)}`)}get defaultShortDescription(){return gb.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]=cb(n,e),this.resolution.traverseAllows(e,t))};traverseApply=(e,t)=>{let n=t.seen[this.reference];n?.includes(e)||(t.seen[this.reference]=cb(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))}},Vw=(e,t)=>`Alias '${e}' has a shallow resolution cycle: ${[...t,e].join(`->`)}`,Hw={implementation:zw,Node:Bw},Uw=class extends Ew{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 IS(this.errorContext)}compile(e){e.traversalKind===`Allows`?e.return(this.compiledCondition):e.if(this.compiledNegation,()=>e.line(`ctx.errorFromNodeContext(${this.compiledErrorContext})`))}},Ww={implementation:LS({kind:`domain`,hasAssociatedError:!0,collapsibleKey:`domain`,keys:{domain:{},numberAllowsNaN:{}},normalize:e=>typeof e==`string`?{domain:e}:Db(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=>gb[e.domain],actual:e=>Number.isNaN(e)?`NaN`:gb[hb(e)]},intersections:{domain:(e,t)=>e.domain===`number`&&t.domain===`number`?e.numberAllowsNaN?t:e:sC.init(`domain`,e,t)}}),Node:class extends Uw{requiresNaNCheck=this.domain===`number`&&!this.numberAllowsNaN;traverseAllows=this.requiresNaNCheck?e=>typeof e==`number`&&!Number.isNaN(e):e=>hb(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 gb[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})`},Gw={implementation:LS({kind:`intersection`,hasAssociatedError:!0,normalize:e=>{if(xS(e))return e;let{structure:t,...n}=e,r=!!t,i=t??{},a=Cb(n,(e,t)=>Eb(e,AS)?(r&&K(`Flattened structure key ${e} cannot be specified alongside a root 'structure' key.`),i[e]=t,[]):[e,t]);return(bS(i,`constraint`)||!Nb(i))&&(a.structure=i),a},finalizeInnerJson:({structure:e,...t})=>mb(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:xC(`divisor`)},max:{child:!0,parse:xC(`max`)},min:{child:!0,parse:xC(`min`)},maxLength:{child:!0,parse:xC(`maxLength`)},minLength:{child:!0,parse:xC(`minLength`)},exactLength:{child:!0,parse:xC(`exactLength`)},before:{child:!0,parse:xC(`before`)},after:{child:!0,parse:xC(`after`)},pattern:{child:!0,parse:xC(`pattern`)},predicate:{child:!0,parse:xC(`predicate`)}},reduce:(e,t)=>qw({},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)=>qw(e.inner,t.inner,n),...Iw(`intersection`,(e,t,n)=>{if(e.children.length===0)return t;let{domain:r,proto:i,...a}=e.inner,o=i??r,s=o?mC(o,t,n):t;return s instanceof sC?s:e?.basis?.equals(s)?e:e.$.node(`intersection`,{...a,[s.kind]:s},{prereduced:!0})})}}),Node:class extends Ew{basis=this.inner.domain??this.inner.proto??null;prestructurals=[];refinements=this.children.filter(e=>e.isRefinement()?(ob(wS,e.kind)&&this.prestructurals.push(e),!0):!1);structure=this.inner.structure;expression=Kw(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)}else{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])}}}}},Kw=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`},qw=(e,t,n)=>{let r={},i=e.proto??e.domain,a=t.proto??t.domain,o=i?a?mC(i,a,n):i:a;return o instanceof sC?o:(o&&(r[o.kind]=o),SC({kind:`intersection`,baseInner:r,l:CC(e),r:CC(t),roots:[],ctx:n}))},Jw={implementation:LS({kind:`morph`,hasAssociatedError:!1,keys:{in:{child:!0,parse:(e,t)=>t.$.parseSchema(e)},morphs:{parse:rb,serialize:e=>e.map(e=>bS(e,`root`)?e.json:dS(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(Yw(e.expression,t.expression));let r=mC(e.rawIn,t.rawIn,n);if(r instanceof sC)return r;let i={morphs:e.morphs};if(e.declaredIn||t.declaredIn){let r=mC(e.rawIn,t.rawIn,n);if(r instanceof sC)return r.throw();i.declaredIn=r}if(e.declaredOut||t.declaredOut){let r=mC(e.rawOut,t.rawOut,n);if(r instanceof sC)return r.throw();i.declaredOut=r}return r.distribute(e=>n.$.node(`morph`,{...i,in:e}),n.$.parseSchema)},...Iw(`morph`,(e,t,n)=>{let r=e.inner.in?mC(e.inner.in,t,n):t;return r instanceof sC?r:r.equals(e.inner.in)?e:n.$.node(`morph`,{...e.inner,in:r})})}}),Node:class extends Ew{serializedMorphs=this.morphs.map(dS);compiledMorphs=`[${this.serializedMorphs}]`;lastMorph=this.inner.morphs[this.inner.morphs.length-1];lastMorphIfNode=bS(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))}else 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 pb(this.morphs,e.morphs,{isEqual:(e,t)=>e===t||bS(e,`root`)&&bS(t,`root`)&&e.equals(t)})}}},Yw=(e,t)=>`The intersection of distinct morphs at a single path is indeterminate:
26
+ Left: ${e}
27
+ Right: ${t}`,Xw={implementation:LS({kind:`proto`,hasAssociatedError:!0,collapsibleKey:`proto`,keys:{proto:{serialize:e=>Zb(e)??FS(e)},dateAllowsInvalid:{}},normalize:e=>{let t=typeof e==`string`?{proto:Ub[e]}:typeof e==`function`?xS(e)?e:{proto:e}:typeof e.proto==`string`?{...e,proto:Ub[e.proto]}:e;return typeof t.proto!=`function`&&K(Xw.writeInvalidSchemaMessage(t.proto)),Db(t,`dateAllowsInvalid`)&&t.proto!==Date&&K(Xw.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?Xb[e.builtinName]:`an instance of ${e.proto.name}`,actual:e=>e instanceof Date&&e.toString()===`Invalid Date`?`an invalid Date`:Gb(e)},intersections:{proto:(e,t)=>e.proto===Date&&t.proto===Date?e.dateAllowsInvalid?t:e:Qb(e.proto,t.proto)?e:Qb(t.proto,e.proto)?t:sC.init(`proto`,e,t),domain:(e,t)=>t.domain===`object`?e:sC.init(`domain`,q.intrinsic.object.internal,t)}}),Node:class extends Uw{builtinName=Zb(this.proto);serializedConstructor=this.json.proto;requiresInvalidDateCheck=this.proto===Date&&!this.dateAllowsInvalid;isArrayProto=this.proto===Array;traverseAllows=this.requiresInvalidDateCheck?e=>e instanceof Date&&e.toString()!==`Invalid Date`:this.isArrayProto?e=>Kb(e):e=>e instanceof this.proto;compiledCondition=this.isArrayProto?`Array.isArray(data)`:`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 ${hb(e)})`},Zw=LS({kind:`union`,hasAssociatedError:!0,collapsibleKey:`branches`,keys:{ordered:{},branches:{child:!0,parse:(e,t)=>{let n=[];for(let r of e){let e=bS(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],a=i.inner.in&&r.inner.in?i.inner.in.rawOr(r.inner.in):i.rawIn.rawOr(r.rawIn);n[e]=t.$.node(`morph`,{...i.inner,in:a})}}else n.push(r)}return t.def.ordered||n.sort((e,t)=>e.hash<t.hash?-1:1),n}}},normalize:e=>Kb(e)?{branches:e}:e,reduce:(e,t)=>{let n=fT(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,uT),expected:e=>{let t=fb(e.errors,`propString`);return uT(Object.entries(t).map(([e,t])=>{let n=[];for(let e of t)db(n,e.expected);let r=uT(n),i=t.every(e=>e.actual===t[0].actual)?t[0].actual:Kx(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 sC.init(`presence`,e,t);let r;return e.ordered?(t.ordered&&K(gT(e.expression,t.expression)),r=dT(t.branches,e.branches,n),r instanceof sC&&r.invert()):r=dT(e.branches,t.branches,n),r instanceof sC?r:n.$.parseSchema(e.ordered||t.ordered?{branches:r,ordered:!0}:{branches:r})},...Iw(`union`,(e,t,n)=>{let r=dT(e.branches,[t],n);return r instanceof sC?r:r.length===1?r[0]:n.$.parseSchema(e.ordered?{branches:r,ordered:!0}:{branches:r})})}}),Qw=class extends Ew{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)n.hasKind(`unit`)&&n.domain===`boolean`?t===-1?(t=e.length,e.push(n)):e[t]=q.intrinsic.boolean:e.push(n);return e}unitBranches=this.branches.filter(e=>e.rawIn.hasKind(`unit`));discriminant=this.discriminate();discriminantJson=this.discriminant?sT(this.discriminant):null;expression=this.distribute(e=>e.nestableExpression,lT);createBranchedOptimisticRootApply(){return(e,t)=>{let n=this.traverseOptimistic(e);if(n!==Lb)return n;let r=new YS(e,this.$.resolvedConfig);return this.traverseApply(e,r),r.finalize(t)}}get shallowMorphs(){return this.branches.reduce((e,t)=>db(e,t.shallowMorphs),[])}get defaultShortDescription(){return this.distribute(e=>e.defaultShortDescription,uT)}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&&Db(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 Lb};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)} ? ${dS(r.contextFreeMorph)}(data) : "${Lb}"`:`${e.invoke(r)} ? data : "${Lb}"`:e.invoke(r),e.line(`${a}: return ${o}`)}return e}),e.traversalKind===`Allows`){e.return(i?`"${Lb}"`:!1);return}let a=uT(this.discriminant.kind===`domain`?r.map(e=>{let t=e.slice(1,-1);return t===`function`?gb.object:gb[t]}):r),o=this.discriminant.path.map(e=>typeof e==`symbol`?dS(e):JSON.stringify(e)),s=JSON.stringify(a),c=this.discriminant.kind===`domain`?`${iT}[${t}]`:`${aT}(${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?`${dS(n.contextFreeMorph)}(data)`:`data`:!0));e.return(t?`"${Lb}"`:!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:Cb(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=fC(n.rawIn,i.rawIn,n.$);if(a instanceof sC)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=>pb(e.path,n.path)&&e.kind===n.kind);o?(o.cases[i]?o.cases[i].branchIndices=db(o.cases[i].branchIndices,t):o.cases[i]??={branchIndices:[t],condition:n.l},o.cases[a]?o.cases[a].branchIndices=db(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?tT(e,this.branches):e;if(!t.length)return null;let n=$w(t,this),r={};for(let e in n.best.cases){let t=eT(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})}},$w=(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:rT(n.path)},defaultEntries:t.branches.map((e,t)=>({originalIndex:t,branch:e})),node:t}},eT=(e,t)=>{let n=e.best.cases[t],r=nT(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=mT(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=mT(o.branch,e.location);i?.push({originalIndex:o.originalIndex,branch:t})}a.push(o)}}return e.defaultEntries=a,i},tT=(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}),nT=(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:[...sb(i).map(e=>({})),r]}:{domain:`object`,required:[{key:i,value:r}]})}return r},rT=e=>e.reduce((e,t)=>e+mS(t,!0),`data`),iT=dS(_b),aT=dS(Kx),oT={implementation:Zw,Node:Qw},sT=e=>({kind:e.kind,path:e.path.map(e=>typeof e==`string`?e:pS(e)),cases:Cb(e.cases,(e,t)=>[e,t===!0?t:t.hasKind(`union`)&&t.discriminantJson?t.discriminantJson:t.json])}),cT={delimiter:` | `,finalDelimiter:` | `},lT=e=>uT(e,cT),uT=(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}`},dT=(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=mC(e[i],t[o],n);if(!(s instanceof sC)){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?sC.init(`union`,e,t):i},fT=({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=fC(e[r].rawIn,e[i].rawIn,e[0].$);a instanceof sC||(t||pT(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])},pT=(e,t)=>{(e.includesTransform||t.includesTransform)&&(pb(e.shallowMorphs,t.shallowMorphs)||K(hT(e.expression,t.expression)),pb(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(hT(e.expression,t.expression)))},mT=(e,t)=>e.transform((e,t)=>e===`domain`||e===`unit`?null:t,{shouldTransform:(e,n)=>{let r=rT(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}}),hT=(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}`,gT=(e,t)=>`The intersection of two ordered unions is indeterminate:
36
+ Left: ${e}
37
+ Right: ${t}`,_T={implementation:LS({kind:`unit`,hasAssociatedError:!0,keys:{unit:{preserveUndefined:!0,serialize:e=>e instanceof Date?e.toISOString():FS(e)}},normalize:e=>e,defaults:{description:e=>Kx(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)=>sC.init(`unit`,e,t),...Iw(`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 sC.init(`domain`,n,t)}}return sC.init(`assignability`,e,t.hasKind(`intersection`)?t.children.find(t=>!t.allows(e.unit)):t)})}}),Node:class extends Uw{compiledValue=this.json.unit;serializedValue=typeof this.unit==`string`||this.unit instanceof Date?JSON.stringify(this.compiledValue):`${this.compiledValue}`;compiledCondition=vT(this.unit,this.serializedValue);compiledNegation=vT(this.unit,this.serializedValue,`negated`);expression=Kx(this.unit);domain=hb(this.unit);get defaultShortDescription(){return this.domain===`object`?gb.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}},vT=(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}`},yT={implementation:LS({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(xT(n.expression));let r=n.branches.filter(e=>e.hasKind(`unit`));return r.length?K(bT(r.map(e=>Kx(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=mC(e.value,t.value,n),i=r instanceof sC?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 yC{impliedBasis=q.intrinsic.object.internal;expression=`[${this.signature.expression}]: ${this.value.expression}`;flatRefs=cb(this.value.flatRefs.map(e=>rC([this.signature,...e.path],e.node)),rC([this.signature],this.value));traverseAllows=(e,t)=>Pb(e).every(e=>!this.signature.traverseAllows(e[0],t)||XS(e[0],()=>this.value.traverseAllows(e[1],t),t));traverseApply=(e,t)=>{for(let n of Pb(e))this.signature.traverseAllows(n[0],t)&&XS(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(){}}},bT=e=>`Index keys ${e.join(`, `)} should be specified as named props.`,xT=e=>`Indexed key definition '${e}' must be a string or symbol`,ST={implementation:LS({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:_w,optional:_w}}),Node:class extends vw{expression=`${this.compiledKey}: ${this.value.expression}`;errorContext=Object.freeze({code:`required`,missingValueDescription:this.value.defaultShortDescription,relativePath:[this.key],meta:this.meta});compiledErrorContext=IS(this.errorContext)}},CT=LS({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 ww(n,e[1],null),[n,e[1]]})},serialize:e=>e.map(e=>[e[0].collapsibleJson,FS(e[1])]),reduceIo:(e,t,n)=>{e===`in`?t.optionals=n.map(e=>e[0].rawIn):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(jT);if(e.optionals?.length||e.defaultables?.length)return K(AT)}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} = ${Kx(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=MT({l:e.tuple,r:t.tuple,disjoint:new sC,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`,kT(i[0].result)):n.$.node(`union`,i.map(e=>({proto:Array,sequence:kT(e.result)})))}}}),wT=class extends yC{impliedBasis=q.intrinsic.Array.internal;tuple=OT(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=lb(this.variadic&&[this.variadic],this.postfix);flatRefs=this.addFlatRefs();addFlatRefs(){return aC(this.flatRefs,this.prevariadic.flatMap((e,t)=>cb(e.node.flatRefs.map(e=>rC([`${t}`,...e.path],e.node)),rC([`${t}`],e.node)))),aC(this.flatRefs,this.variadicOrPostfix.flatMap(e=>cb(e.flatRefs.map(e=>rC([q.intrinsic.nonNegativeIntegerString.internal,...e.path],e.node)),rC([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=ET(this);defaultValueMorphsReference=this.defaultValueMorphs.length?dS(this.defaultValueMorphs):void 0;optionalize(){let{prefix:e,defaultables:t,...n}=this.inner;return e?this.$.node(`sequence`,{...n,optionals:lb(e,this.defaultablesAndOptionals)}):this}require(){let{defaultables:e,optionals:t,...n}=this.inner;return this.$.node(`sequence`,{...n,prefix:lb(this.prefix,this.defaultablesAndOptionals)})}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??yb(`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=t.currentErrorCount,r=0;for(;r<e.length;r++)if(XS(r,()=>this.elementAtIndex(e,r).node.traverseApply(e[r],t),t),t.failFast&&t.currentErrorCount>n)return};get element(){return this.cacheGetter(`element`,this.$.node(`union`,this.children))}compile(e){if(e.traversalKind===`Apply`&&e.initializeErrorCount(),this.prefix)for(let[t,n]of this.prefix.entries())e.traverseKey(`${t}`,`data[${t}]`,n),e.traversalKind===`Apply`&&e.returnIfFailFast();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),e.traversalKind===`Apply`&&e.returnIfFailFast()}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),e.traversalKind===`Apply`?e.returnIfFailFast():e),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===`Apply`&&e.returnIfFailFast()}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}},TT={},ET=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(Cw(i,r,a)),n+=`${i}: ${r.id} = ${FS(a)}, `}return n+=`]`,TT[n]??=t},DT={implementation:CT,Node:wT},OT=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},kT=e=>e.reduce((e,t)=>(t.kind===`variadic`?e.variadic=t.node:t.kind===`defaultables`?e.defaultables=cb(e.defaultables,[[t.node,t.default]]):e[t.kind]=cb(e[t.kind],t.node),e),{}),AT=`A postfix required element cannot follow an optional or defaultable element`,jT=`A postfix element requires a variadic element`,MT=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=MT({...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=MT({...e,fixedVariants:[],l:n.map(e=>({...e,kind:`prefix`}))});t.disjoint.length===0&&e.fixedVariants.push(t)}let c=mC(t.node,r.node,e.ctx);if(c instanceof sC){if(s===`prefix`||s===`postfix`)e.disjoint.push(...c.withPrefixKey(s===`prefix`?e.result.length:`-${n.length+1}`,NT(t)&&NT(r)?`required`:`optional`)),e.result=[...e.result,{kind:s,node:q.intrinsic.never.internal}];else if(s===`optionals`||s===`defaultables`)return e;else return MT({...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(yw(t.default,r.default)),e.result=[...e.result,{kind:s,node:c,default:t.kind===`defaultables`?t.default:r.kind===`defaultables`?r.default:yb(`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),MT(e)},NT=e=>e.kind===`prefix`||e.kind===`postfix`,PT=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??`{}`},FT=PT(`description`),IT=PT(`expression`),LT=(e,t,n)=>{let r=e.required?`required`:`optional`;if(!t.signature.allows(e.key))return null;let i=fC(e.value,t.value,n);return i instanceof sC?r===`optional`?n.node(`optional`,{key:e.key,value:q.intrinsic.never.internal}):i.withPrefixKey(e.key,e.kind):null},RT=LS({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:xC(`required`),reduceIo:(e,t,n)=>{t.required=cb(t.required,n.map(t=>e===`in`?t.rawIn:t.rawOut))}},optional:{child:!0,parse:xC(`optional`),reduceIo:(e,t,n)=>{if(e===`in`)t.optional=n.map(e=>e.rawIn);else for(let e of n)t[e.outProp.kind]=cb(t[e.outProp.kind],e.outProp.rawOut)}},index:{child:!0,parse:xC(`index`)},sequence:{child:!0,parse:xC(`sequence`)},undeclared:{parse:e=>e===`ignore`?void 0:e,reduceIo:(e,t,n)=>{n===`reject`?t.undeclared=`reject`:e===`in`?delete t.undeclared:t.undeclared=`reject`}}},defaults:{description:FT},intersections:{structure:(e,t,n)=>{let r={...e.inner},i={...t.inner},a=new sC,o=[];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=fC(r,e.signature,n.$);if(t instanceof sC)return[];let i=qT(t,e.value,n.$);return o.push(...i.required??[]),o.push(...i.optional??[]),i.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=fC(i,e.signature,n.$);if(t instanceof sC)return[];let r=qT(t,e.value,n.$);return o.push(...r.required??[]),o.push(...r.optional??[]),r.index??[]})}let s={};(e.undeclared||t.undeclared)&&(s.undeclared=e.undeclared===`reject`||t.undeclared===`reject`?`reject`:`delete`);let c=SC({kind:`structure`,baseInner:s,l:CC(r),r:[...CC(i),...o],roots:[],ctx:n});return c instanceof sC&&a.push(...c),a.length?a:c}},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(XT(i.key)),n[i.key]=!0,e.index)for(let n of e.index){let e=LT(i,n,t);if(e instanceof sC)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(XT(o.key)),n[o.key]=!0,e.index)for(let n of e.index){let e=LT(o,n,t);if(e instanceof sC)return e;e!==null&&(i[a]=e,r=!0)}}if(r)return t.node(`structure`,{...e,optional:i},{prereduced:!0})}}),zT=class extends yC{impliedBasis=q.intrinsic.object.internal;impliedSiblings=this.children.flatMap(e=>e.impliedSiblings??[]);props=lb(this.required,this.optional);propsByKey=Cb(this.props,(e,t)=>[t.key,t]);propsByKeyReference=dS(this.propsByKey);expression=IT(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(xS(t))return t.kind!==`required`&&t.kind!==`optional`?K(`Map result must have kind "required" or "optional" (was ${t.kind})`):(e[t.kind]=cb(e[t.kind],t),e);let r=t.kind??n?.kind??`required`,i=Cb(t,(e,t)=>e in bw.implementation.keys?[e,t]:[]);return e[r]=cb(e[r],this.$.node(r,i)),e},{}))}assertHasKeys(e){let t=e.filter(e=>!Mw(e,this.keyof()));if(t.length)return K(YT(this.expression,t))}get(e,...t){let n,r=!1,i=GT(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)Mw(i,e.signature)&&(n=n?.and(e.value)??e.value);if(this.sequence&&Mw(i,q.intrinsic.nonNegativeIntegerString)){if(bS(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&&bS(i,`root`)&&i.extends(q.intrinsic.number)?K(KT(i.expression,this.sequence.expression)):K(YT(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,...t.sequence?{sequence:t.sequence.optionalize()}:{},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,...t.sequence?{sequence:t.sequence.require()}:{},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=cb(t.required,e.required)),e.optional&&(t.optional=cb(t.optional,e.optional)),e.index&&(t.index=cb(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=vS(this.inner),r=n=>{let r=t.some(e=>Mw(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(!XS(o,()=>i.value.traverseAllows(t[o],n),n))return!1}else if(XS(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`,HT(this))}structuralMorphRef=this.structuralMorph&&dS(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([`),UT(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 RS.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});else{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;else 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 yb(`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={},VT=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+=jE.nonNegativeIntegerString.id;else for(let n=0;n<e.sequence.tuple.length;n++)t+=n+` | `}t+=`)`}return t},HT=e=>{let t=VT(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},UT=(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:RT,Node:zT},GT=e=>(bS(e,`root`)&&e.hasKind(`unit`)&&(e=e.unit),typeof e==`number`&&(e=`${e}`),e),KT=(e,t)=>`${e} is not allowed as an array index on ${t}. Use the 'nonNegativeIntegerString' keyword instead.`,qT=(e,t,n)=>{let[r,i]=ib(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]=cb(a[r.kind],r)}return i.length&&(a.index=n.node(`index`,{signature:i,value:t})),a},JT=e=>bS(e,`root`)?e.expression:Kx(e),YT=(e,t)=>`Key${t.length===1?``:`s`} ${t.map(JT).join(`, `)} ${t.length===1?`does`:`do`} not exist on ${e}`,XT=e=>`Duplicate key ${pS(e)}`,ZT={...nw,alias:Hw.implementation,domain:Ww.implementation,unit:_T.implementation,proto:Xw.implementation,union:oT.implementation,morph:Jw.implementation,intersection:Gw.implementation,divisor:NC.implementation,pattern:iw.implementation,predicate:MC.implementation,required:ST.implementation,optional:bw.implementation,index:yT.implementation,sequence:DT.implementation,structure:WT.implementation};q.defaultConfig=Ib(Object.assign(Cb(ZT,(e,t)=>[e,t.defaults]),{jitless:ax(),clone:$b,onUndeclaredKey:`ignore`,exactOptionalPropertyTypes:!0,numberAllowsNaN:!1,dateAllowsInvalid:!1,onFail:null,keywords:{},toJsonSchema:RS.defaultConfig})),q.resolvedConfig=zS(q.defaultConfig,q.config);var QT={...rw,alias:Hw.Node,domain:Ww.Node,unit:_T.Node,proto:Xw.Node,union:oT.Node,morph:Jw.Node,intersection:Gw.Node,divisor:NC.Node,pattern:iw.Node,predicate:MC.Node,required:ST.Node,optional:bw.Node,index:yT.Node,sequence:DT.Node,structure:WT.Node},$T=class extends Ob{get[yS](){return`module`}},eE=(e,t)=>new $T(Cb(e,(e,n)=>[e,bS(n,`module`)?eE(n,t):t.bindReference(n)])),tE=e=>Kb(e)?e:`branches`in e&&Kb(e.branches)?e.branches:void 0,nE=(e,t)=>K(`Node of kind ${t} is not valid as a ${e} definition`),rE=e=>`#${e} duplicates public alias ${e}`,iE=0;q.ambient??={};var aE,oE=`function $`,sE=e=>cE(e,lE(e)),cE=(e,t,n)=>{let r=t.write(oE,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)},lE=e=>new fS().return(e.reduce((e,t)=>{let n=new _S({kind:`Allows`}).indent();t.compile(n);let r=n.write(`${t.id}Allows`),i=new _S({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 _S({kind:`Allows`,optimistic:!0}).indent();return t.compile(o),`${a}${o.write(`${t.id}Optimistic`)},\n`},`{
38
+ `)+`}`),uE=class{config;resolvedConfig;name;get[yS](){return`scope`}referencesById={};references=[];resolutions={};exportedNames=[];aliases={};resolved=!1;nodesByHash={};intrinsic;constructor(e,t){this.config=zS(q.config,t),this.resolvedConfig=zS(q.resolvedConfig,t),this.name=this.resolvedConfig.name??`anonymousScope${iE++}`;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(rE(n)),this.aliases[n]=t):(n in this.aliases&&K(rE(e)),this.aliases[n]=t,this.exportedNames.push(n)),!bS(t,`module`)&&!bS(t,`generic`)&&!nx(t)){let e=this.preparseOwnDefinitionFormat(t,{alias:n});this.resolutions[n]=bS(e,`root`)?this.bindReference(e):this.createParseContext(e).id}}aE??=this.node(`union`,{branches:[`string`,`number`,`object`,`bigint`,`symbol`,{unit:!0},{unit:!1},{unit:void 0},{unit:null}]},{prereduced:!0}),this.nodesByHash[aE.hash]=this.node(`intersection`,{},{prereduced:!0}),this.intrinsic=q.intrinsic?Cb(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 kC(e,r?new OC(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(aw(e),e,t);preparseNode(e,t,n){let r=typeof e==`string`?e:aw(t,e);if(xS(t)&&t.kind===r)return t;if(r===`alias`&&!n?.prereduced){let{reference:e}=Hw.implementation.normalize(t,this);if(e.startsWith(`$`)){let n=this.resolveRoot(e.slice(1));t=n,r=n.kind}}else if(r===`union`&&mb(t,`object`)){let e=tE(t);e?.length===1&&(t=e[0],r=aw(t))}if(xS(t)&&t.kind===r)return t;let i=ZT[r].normalize?.(t,this)??t;return xS(i)?i.kind===r?i:nE(r,i.kind):{...n,$:this,kind:r,def:i,prefix:n.alias??r}}bindReference(e){let t;return t=xS(e)?e.$===this?e:new e.constructor(e.attachments,this):e.$===this?e:new kC(e.params,e.bodyDef,e.$,this,e.hkt),this.resolved||Object.assign(this.referencesById,t.referencesById),t}resolveRoot(e){return this.maybeResolveRoot(e)??K(xE(e))}maybeResolveRoot(e){let t=this.maybeResolve(e);if(!bS(t,`generic`))return t}maybeResolveSubalias(e){return _E(this.aliases,e)??_E(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=uw[t];if(bS(n,`root`))return this.resolutions[e]=n;if(bS(n,`context`)){if(n.phase===`resolving`)return this.node(`alias`,{reference:`$${e}`},{prereduced:!0});if(n.phase===`resolved`)return yb(`Unexpected resolved context for was uncached by its scope: ${Kx(n)}`);n.phase=`resolving`;let t=this.bindReference(this.parseOwnDefinitionFormat(n.def,n));return n.phase=`resolved`,uw[t.id]=t,uw[n.id]=t,this.resolutions[e]=t}return yb(`Unexpected nodesById entry for ${t}: ${Kx(n)}`)}let n=this.aliases[e]??this.ambient?.[e];return n?(n=this.normalizeRootScopeValue(n),bS(n,`generic`)?this.resolutions[e]=this.bindReference(n):bS(n,`module`)?(n.root||K(CE(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??dw(e.prefix);return uw[t]=Object.assign(e,{[yS]:`context`,$:this,id:t,phase:`unresolved`})}traversal(e){return new YS(e,this.resolvedConfig)}import(...e){return new $T(Cb(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]=bS(t,`module`)?eE(t,this):mE(this.maybeResolve(e))}for(let e of this.lazyResolutions)e.resolution;if(this._exportedResolutions=bE(this,this._exports),this._json=gE(this._exportedResolutions),Object.assign(this.resolutions,this._exportedResolutions),this.references=Object.values(this.referencesById),!this.resolvedConfig.jitless){let e=lE(this.references);this.precompilation=e.write(oE,4),cE(this.references,e,this)}this.resolved=!0}return new $T(Cb(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(xS(r))return this.bindReference(r);let i=r.id!==void 0,a=this.createParseContext(r),o=fw(a),s=this.bindReference(o);return i?uw[a.id]=s:fE(a.id,s),s};parse=(e,t={})=>this.finalize(this.parseDefinition(e,t));parseDefinition(e,t={}){if(bS(e,`root`))return this.bindReference(e);let n=this.preparseOwnDefinitionFormat(e,t);if(bS(n,`root`))return this.bindReference(n);let r=n.id!==void 0,i=this.createParseContext(n),a=this.bindReference(this.parseOwnDefinitionFormat(e,i));return a.isCyclic&&(a=mw(a,i.id)),r?uw[i.id]=a:fE(i.id,a),a}finalize(e){return e.isCyclic&&pE(e)||(mE(e),!e.precompilation&&!this.resolvedConfig.jitless&&sE(e.references)),e}},dE=class extends uE{parseOwnDefinitionFormat(e,t){return fw(t)}preparseOwnDefinitionFormat(e,t){return this.preparseNode(aw(e),e,t)}preparseOwnAliasEntry(e,t){return[e,t]}normalizeRootScopeValue(e){return e}},fE=(e,t)=>{t.id===e?uw[e]=t:delete uw[e]},pE=e=>e.references.some(e=>e.hasKind(`alias`)&&e.reference[0]!==`$`&&bS(uw[e.reference],`context`)),mE=e=>{let t=e.references.filter(e=>e.hasKind(`alias`));for(let n of t){hE(n.referencesById,n.resolution.referencesById);for(let t of e.references)n.id in t.referencesById&&hE(t.referencesById,n.referencesById)}return e},hE=(e,t)=>{for(let n in t)e[n]??=t[n]},gE=e=>Cb(e,(e,t)=>[e,bS(t,`root`)||bS(t,`generic`)?t.json:bS(t,`module`)?gE(t):yb(`Unexpected resolution ${Kx(t)}`)]),_E=(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(!bS(i,`module`))return K(SE(r));let a=t.slice(n+1),o=i[a];if(o===void 0)return _E(i,a);if(bS(o,`root`)||bS(o,`generic`))return o;if(bS(o,`module`))return o.root??K(CE(t));yb(`Unexpected resolution for alias '${t}': ${Kx(o)}`)},vE=(e,t)=>new dE(e,t),yE=new dE({}),bE=(e,t)=>{let n={};for(let r in t){let i=t[r];if(bS(i,`module`)){let t=Cb(bE(e,i),(e,t)=>[`${r}.${e}`,t]);Object.assign(n,t)}else bS(i,`root`)||bS(i,`generic`)?n[r]=i:yb(`Unexpected scope resolution ${Kx(i)}`)}return n},xE=e=>`'${e}' is unresolvable`,SE=e=>`'${e}' must reference a module to be accessed using dot syntax`,CE=e=>`Reference to submodule '${e}' must specify an alias`;yE.export();var wE=yE.schema,TE=yE.node;yE.defineSchema;var EE=yE.generic,DE=`^(?:0|[1-9]\\d*)$`;dS(new RegExp(DE));var OE=vE({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={...OE};var kE=vE({integer:{domain:`number`,divisor:1},lengthBoundable:[`string`,Array],key:[`string`,`symbol`],nonNegativeIntegerString:{domain:`string`,pattern:DE}},{prereducedAliases:!0}).export();Object.assign(q.intrinsic,kE);var AE=vE({jsonPrimitive:[`string`,`number`,{unit:!0},{unit:!1},{unit:null}],jsonObject:{domain:`object`,index:{signature:`string`,value:`$jsonData`}},jsonData:[`$jsonPrimitive`,`$jsonObject`]},{prereducedAliases:!0}).export(),jE={...OE,...kE,...AE,emptyStructure:TE(`structure`,{},{prereduced:!0})};q.intrinsic={...jE};var ME=((e,t)=>new RegExp(e,t));Object.assign(ME,{as:ME});var NE=e=>typeof e==`string`&&e[0]===`d`&&(e[1]===`'`||e[1]===`"`)&&e[e.length-1]===e[1],PE=e=>e.toString()!==`Invalid Date`,FE=e=>e.slice(2,-1),IE=e=>`'${e}' could not be parsed by the Date constructor`,LE=(e,t)=>RE(e,t),RE=(e,t)=>{let n=new Date(e);if(PE(n))return n;let r=Nx(e);if(r!==void 0){let e=new Date(r);if(PE(e))return e}return t?K(t===!0?IE(e):t):void 0},zE=wE({proto:`Array`,sequence:`string`,required:{key:`groups`,value:[`object`,{unit:void 0}]}}),BE=(e,t)=>{let n=e.scanner.shiftUntilEscapable(KE[GE[t]],t in WE?`\\`:``);if(e.scanner.lookahead===``)return e.error(JE(n,t));if(e.scanner.shift(),t in WE){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:zE}))}else if(Eb(t,VE))e.root=e.ctx.$.node(`unit`,{unit:n});else{let t=LE(n,IE(n));e.root=e.ctx.$.node(`unit`,{meta:n,unit:t})}},VE={"'":1,'"':1},HE={"/":1,"'":1,'"':1},UE={"d'":`'`,'d"':`"`,"'":`'`,'"':`"`},WE={"/":`/`,"x/":`/`},GE={...UE,...WE},KE={"'":e=>e.lookahead===`'`,'"':e=>e.lookahead===`"`,"/":e=>e.lookahead===`/`},qE={'"':`double-quote`,"'":`single-quote`,"/":`forward slash`},JE=(e,t)=>`${t}${e} requires a closing ${qE[GE[t]]}`,YE=e=>`Private type references should not include '#'. Use '${e}' instead.`,XE=`Optional definitions like 'string?' are only valid as properties in an object or tuple`,ZE=`Defaultable definitions like 'number = 0' are only valid as properties in an object or tuple`,QE={"<":1,">":1,"=":1,"|":1,"&":1,")":1,"[":1,"%":1,",":1,":":1,"?":1,"#":1,...px},$E=(e,t)=>e===`>`?t[0]===`=`?t[1]===`=`:t.trimStart()===``||Eb(t.trimStart()[0],QE):e===`=`?t[0]!==`=`:e===`,`||e===`?`,eD=(e,t,n)=>tD(e,t,n,[]),tD=(e,t,n,r)=>{let i=n.parseUntilFinalizer();return r.push(i.root),i.finalizer===`>`?r.length===t.params.length?r:n.error(nD(e,t.names,r.map(e=>e.expression))):i.finalizer===`,`?tD(e,t,n,r):i.error(oS(`>`))},nD=(e,t,n)=>`${e}<${t.join(`, `)}> requires exactly ${t.length} args (got ${n.length}${n.length===0?``:`: ${n.join(`, `)}`})`,rD=e=>{let t=e.scanner.shiftUntilLookahead(QE);t===`keyof`?e.addPrefix(`keyof`):e.root=aD(e,t)},iD=(e,t,n)=>(n.scanner.shiftUntilNonWhitespace(),n.scanner.shift()===`<`?t(...eD(e,t,n)):n.error(nD(e,t.names,[]))),aD=(e,t)=>oD(e,t)??sD(e,t)??e.error(t===``?e.scanner.lookahead===`#`?YE(e.shiftedBy(1).scanner.shiftUntilLookahead(QE)):cD(e):xE(t)),oD=(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(bS(n,`root`))return n;if(n!==void 0)return bS(n,`generic`)?iD(t,n,e):K(`Unexpected resolution ${Kx(n)}`)},sD=(e,t)=>{let n=Px(t);if(n!==void 0)return e.ctx.$.node(`unit`,{unit:n});let r=Lx(t);if(r!==void 0)return e.ctx.$.node(`unit`,{unit:r})},cD=e=>{let t=e.previousOperator();return t?lD(t,e.scanner.unscanned):uD(e.scanner.unscanned)},lD=(e,t=``)=>`Token '${e}' requires a right operand${t?` before '${t}'`:``}`,uD=e=>`Expected an expression${e?` before '${e}'`:``}`,dD=e=>e.scanner.lookahead===``?e.error(cD(e)):e.scanner.lookahead===`(`?e.shiftedBy(1).reduceGroupOpen():e.scanner.lookaheadIsIn(HE)?BE(e,e.scanner.shift()):e.scanner.lookaheadIsIn(px)?dD(e.shiftedBy(1)):e.scanner.lookahead===`d`?e.scanner.nextLookahead in VE?BE(e,`${e.scanner.shift()}${e.scanner.shift()}`):rD(e):e.scanner.lookahead===`x`&&e.scanner.nextLookahead===`/`?e.shiftedBy(2)&&BE(e,`x/`):rD(e),fD={">":!0,">=":!0},pD={"<":!0,"<=":!0},mD={"<":`>`,">":`<`,"<=":`>=`,">=":`<=`,"==":`==`},hD=(e,t)=>`Left bounds are only valid when paired with right bounds (try ...${t}${e})`,gD=e=>`Left-bounded expressions must specify their limits using < or <= (was ${e})`,_D=(e,t,n,r)=>`An expression may have at most one left bound (parsed ${e}${mD[t]}, ${n}${mD[r]})`,vD=(e,t)=>{let n=bD(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 CD(e,n)},yD={"<":1,">":1,"=":1},bD=(e,t)=>e.scanner.lookaheadIs(`=`)?`${t}${e.scanner.shift()}`:t,xD=(e,t,n,r)=>n.extends(q.intrinsic.number)?typeof t==`number`?e===`==`?[`min`,`max`]:e[0]===`>`?[`min`]:[`max`]:K(wD(e,t,r)):n.extends(q.intrinsic.lengthBoundable)?typeof t==`number`?e===`==`?[`exactLength`]:e[0]===`>`?[`minLength`]:[`maxLength`]:K(wD(e,t,r)):n.extends(q.intrinsic.Date)?e===`==`?[`after`,`before`]:e[0]===`>`?[`after`]:[`before`]:K(JC(n.expression)),SD=e=>({rule:NE(e.limit)?FE(e.limit):e.limit,exclusive:e.comparator.length===1}),CD=(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(wD(t,a,`right`));let o=i.unit,s=t.length===1,c=xD(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(!Eb(t,pD))return e.error(gD(t));let l=xD(e.branches.leftBound.comparator,e.branches.leftBound.limit,n,`left`);e.constrainRoot(l[0],SD(e.branches.leftBound)),e.branches.leftBound=null},wD=(e,t,n)=>`Comparator ${n===`left`?mD[e]:e} must be ${n===`left`?`preceded`:`followed`} by a corresponding literal (was ${t})`,TD=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(QE);e.root=e.root.brand(t)},ED=e=>{e.scanner.shiftUntilNonWhitespace();let t=e.scanner.shiftUntilLookahead(QE),n=Fx(t,{errorOnFail:DD(t)});n===0&&e.error(DD(0)),e.root=e.root.constrain(`divisor`,n)},DD=e=>`% operator must be followed by a non-zero integer literal (was ${e})`,OD=e=>{let t=e.scanner.shift();return t===``?e.finalize(``):t===`[`?e.scanner.shift()===`]`?e.setRoot(e.root.rawArray()):e.error(AD):t===`|`?e.scanner.lookahead===`>`?e.shiftedBy(1).pushRootToBranch(`|>`):e.pushRootToBranch(t):t===`&`?e.pushRootToBranch(t):t===`)`?e.finalizeGroup():$E(t,e.scanner.unscanned)?e.finalize(t):Eb(t,yD)?vD(e,t):t===`%`?ED(e):t===`#`?TD(e):t in px?OD(e):e.error(kD(t))},kD=(e,t=``)=>`'${e}' is not allowed here${t&&` (should be ${t})`}`,AD=`Missing expected ']'`,jD={"[]":()=>[],"{}":()=>({})},MD=Tb(jD),ND=e=>{let t=e.unsetRoot();e.scanner.shiftUntilNonWhitespace();let n=MD.find(t=>e.scanner.unscanned.startsWith(t));if(n!==void 0)return e.scanner.jumpForward(n.length),[t,`=`,jD[n]];e.parseOperand();let r=e.unsetRoot();return r.hasKind(`unit`)?[t,`=`,r.unit instanceof Date?()=>new Date(r.unit):r.unit]:e.error(PD(r.expression))},PD=e=>`Default value '${e}' must be a literal value`,FD=(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.rawArray()}let r=new zD(new iS(e),t),i=ID(r);return r.finalizer===`>`&&K(kD(`>`)),i},ID=e=>{e.parseOperand();let t=LD(e).root;return t?(e.finalizer===`=`?t=ND(e):e.finalizer===`?`&&(t=[t,`?`]),e.scanner.shiftUntilNonWhitespace(),e.scanner.lookahead&&K(kD(e.scanner.lookahead)),t):yb(`Root was unexpectedly unset after parsing string '${e.scanner.scanned}'`)},LD=e=>{for(;e.finalizer===void 0;)RD(e);return e},RD=e=>e.hasRoot()?e.parseOperator():e.parseOperand(),zD=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(oS(`)`));this.finalizeBranches(),this.finalizer=e}reduceLeftBound(e,t){let n=mD[t];if(!Eb(n,fD))return this.error(gD(t));if(this.branches.leftBound)return this.error(_D(this.branches.leftBound.limit,this.branches.leftBound.comparator,e,n));this.branches.leftBound={comparator:n,limit:e}}finalizeBranches(){this.assertRangeUnset(),this.branches.pipe?(this.pushRootToBranch(`|>`),this.root=this.branches.pipe):this.branches.union?(this.pushRootToBranch(`|`),this.root=this.branches.union):this.branches.intersection?(this.pushRootToBranch(`&`),this.root=this.branches.intersection):this.applyPrefixes()}finalizeGroup(){this.finalizeBranches();let e=this.groups.pop();if(!e)return this.error(aS(`)`,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():yb(`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 LD(new e(this.scanner,this.ctx))}parseOperator(){return OD(this)}parseOperand(){return dD(this)}assertRangeUnset(){if(this.branches.leftBound)return this.error(hD(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}},BD=`An empty string is not a valid generic parameter name`,VD=(e,t,n)=>{e.shiftUntilNonWhitespace();let r=e.shiftUntilLookahead(QE);return r===``?e.lookahead===``&&t.length?t:K(BD):(e.shiftUntilNonWhitespace(),UD(e,r,t,n))},HD=`extends `,UD=(e,t,n,r)=>{if(e.shiftUntilNonWhitespace(),e.unscanned.startsWith(HD))e.jumpForward(8);else return e.lookahead===`,`&&e.shift(),n.push(t),VD(e,n,r);let i=LD(new zD(e,r));return n.push([t,i.root]),VD(e,n,r)},WD=class extends ix{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(KD);o=e.parse(t[n+1])}return e=>new GD(e,a,o)};super(t,{attach:{$:e,raw:t}})}},GD=class extends ix{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`}`}},KD=`":" must be followed by exactly one return type e.g:
39
+ fn("string", ":", "number")(s => s.length)`,qD=class extends ix{$;constructor(e){super((...t)=>new JD(e)(...t),{bind:e}),this.$=e}in(e){return new JD(this.$,e===void 0?void 0:this.$.parse(e))}at(e,t){return new JD(this.$).at(e,t)}case(e,t){return new JD(this.$).case(e,t)}},JD=class extends ix{$;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(ZD),this.branches.length&&K(XD),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 ${hb(r)})`);this.caseEntry(n,r)}return this}default(e){typeof e==`function`&&this.case(jE.unknown,e);let t={branches:this.branches,ordered:!0};(e===`never`||e===`assert`)&&(t.meta={onFail:YD});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:YD},`self`)),this.$.finalize(r)}},YD=e=>e.throw(),XD=`A key matcher must be specified before the first case i.e. match.at('foo') or match.in<object>().at('bar')`,ZD=`At most one key matcher may be specified per expression`,QD=(e,t)=>{if(Kb(e)){if(e[1]===`=`)return[t.$.parseOwnDefinitionFormat(e[0],t),`=`,e[2]];if(e[1]===`?`)return[t.$.parseOwnDefinitionFormat(e[0],t),`?`]}return FO(e,t)},$D=`Only required keys may make their values optional, e.g. { [mySymbol]: ['number', '?'] }`,eO=`Only required keys may specify default values, e.g. { value: 'number = 0' }`,tO=(e,t)=>{let n,r={},i=Pb(e);for(let[e,a]of i){let i=aO(e);if(i.kind===`spread`){if(!Nb(r))return K(iO);let e=t.$.parseOwnDefinitionFormat(a,t);if(e.equals(jE.object))continue;if(!e.hasKind(`intersection`)||!e.basis?.equals(jE.object))return K(oO(e.expression));n=e.structure;continue}if(i.kind===`undeclared`){a!==`reject`&&a!==`delete`&&a!==`ignore`&&K(rO(a)),r.undeclared=a;continue}let o=QD(a,t),s=i;if(i.kind===`required`){Kb(o)?nO(r,`optional`,o[1]===`=`?{key:i.normalized,value:o[0],default:o[2]}:{key:i.normalized,value:o[0]},t):nO(r,`required`,{key:i.normalized,value:o},t);continue}if(Kb(o)&&(o[1]===`?`&&K($D),o[1]===`=`&&K(eO)),i.kind===`optional`){nO(r,`optional`,{key:i.normalized,value:o},t);continue}let c=qT(t.$.parseOwnDefinitionFormat(s.normalized,t),o,t.$);c.index&&(r.index=cb(r.index,c.index)),c.required&&(r.required=cb(r.required,c.required))}let a=t.$.node(`structure`,r);return t.$.parseSchema({domain:`object`,structure:n?.merge(a)??a})},nO=(e,t,n,r)=>{e[t]=cb(e[t],r.$.node(t,n))},rO=e=>`Value of '+' key must be 'reject', 'delete', or 'ignore' (was ${Kx(e)})`,iO=`Spread operator may only be used as the first key in an object`,aO=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},oO=e=>`Spread operand must resolve to an object literal type (was ${e})`,sO=(e,t)=>xO(e)?bO[e[0]](e,t):yO(e)?vO[e[1]](e,t):null,cO=(e,t)=>t.$.parseOwnDefinitionFormat(e[1],t).keyof(),lO=(e,t)=>{if(e[2]===void 0)return K(lD(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]===`&`?fC(n,r,t.$):pC(n,r,t.$);return i instanceof sC?i.throw():i},uO=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).rawArray(),dO=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).pipe(e[2]):K(fO(`=>`,e[2])),fO=(e,t)=>`${e===`:`?`Narrow`:`Morph`} expression requires a function following '${e}' (was ${typeof t})`,pO=(e,t)=>typeof e[2]==`function`?t.$.parseOwnDefinitionFormat(e[0],t).constrain(`predicate`,e[2]):K(fO(`:`,e[2])),mO=(e,t)=>t.$.parseOwnDefinitionFormat(e[0],t).configure(e[2],e[3]),hO=e=>e,gO=hO({"[]":uO,"?":()=>K(XE)}),_O=hO({"|":lO,"&":lO,":":pO,"=>":dO,"|>":lO,"@":mO,"=":()=>K(ZE)}),vO={...gO,..._O},yO=e=>vO[e[1]]!==void 0,bO=(e=>e)({keyof:cO,instanceof:(e,t)=>{if(typeof e[1]!=`function`)return K(SO(Gb(e[1])));let n=e.slice(1).map(e=>typeof e==`function`?t.$.node(`proto`,{proto:e}):K(SO(Gb(e))));return n.length===1?n[0]:t.$.node(`union`,{branches:n})},"===":(e,t)=>t.$.units(e.slice(1))}),xO=e=>bO[e[0]]!==void 0,SO=e=>`Expected a constructor following 'instanceof' operator (was ${e})`,CO=(e,t)=>{let n=[{}],r=0;for(;r<e.length;){let i=!1;e[r]===`...`&&r<e.length-1&&(i=!0,r++);let a=QD(e[r],t),[o,s,c]=Kb(a)?a:[a];if(r++,i){if(!o.extends(q.intrinsic.Array))return K(kO(o.expression));n=n.flatMap(e=>o.distribute(t=>OO(vS(e),t)))}else n=n.map(e=>s===`?`?TO(e,o):s===`=`?EO(e,o,c):wO(e,o))}return t.$.parseSchema(n.map(e=>Nb(e)?{proto:Array,exactLength:0}:{proto:Array,sequence:e}))},wO=(e,t)=>e.defaultables||e.optionals?K(e.variadic?AT:jO):(e.variadic?e.postfix=cb(e.postfix,t):e.prefix=cb(e.prefix,t),e),TO=(e,t)=>e.variadic?K(MO):(e.optionals=cb(e.optionals,t),e),EO=(e,t,n)=>e.variadic?K(MO):e.optionals?K(NO):(e.defaultables=cb(e.defaultables,[[t,n]]),e),DO=(e,t)=>(e.postfix&&K(AO),e.variadic?e.variadic.equals(t)||K(AO):e.variadic=t.internal,e),OO=(e,t)=>{let n=t.select({method:`find`,kind:`sequence`});if(!n)return DO(e,q.intrinsic.unknown);if(n.prefix)for(let t of n.prefix)wO(e,t);if(n.optionals)for(let t of n.optionals)TO(e,t);if(n.variadic&&DO(e,n.variadic),n.postfix)for(let t of n.postfix)wO(e,t);return e},kO=e=>`Spread element must be an array (was ${e})`,AO=`A tuple may have at most one variadic element`,jO=`A required element may not follow an optional element`,MO=`An optional element may not follow a variadic element`,NO=`A defaultable element may not follow an optional element without a default`,PO=new WeakMap,FO=(e,t)=>{if(typeof e==`string`){if(t.args&&Object.keys(t.args).some(t=>e.includes(t)))return FD(e,t);let n=PO.get(t.$);return n||(n={},PO.set(t.$,n)),n[e]??=FD(e,t)}return mb(e,`object`)?IO(e,t):K(zO(hb(e)))},IO=(e,t)=>{let n=Wb(e);switch(n){case void 0:return bS(e,`root`)?e:`~standard`in e?LO(e,t):tO(e,t);case`Array`:return RO(e,t);case`RegExp`:return t.$.node(`intersection`,{domain:`string`,pattern:e},{prereduced:!0});case`Function`:{let t=nx(e)?e():e;return bS(t,`root`)?t:K(zO(`Function`))}default:return K(zO(n??Kx(e)))}},LO=(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:lx(e),relativePath:t.map(e=>typeof e==`object`?e.key:e)}):n.error({message:e})}),RO=(e,t)=>sO(e,t)??CO(e,t),zO=e=>`Type definitions must be strings or objects (was ${e})`,BO=class extends ix{constructor(e){let t=Object.assign({errors:KS,hkt:ox,$: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 kC(e.parseGenericParams(n,{}),t[1],e,e,null)}return e.parse(t)},{attach:t})}},VO=q,HO=class e extends uE{get ambientAttachments(){if(VO.typeAttachments)return this.cacheGetter(`ambientAttachments`,Cb(VO.typeAttachments,(e,t)=>[e,this.bindReference(t)]))}preparseOwnAliasEntry(e,t){let n=e.indexOf(`<`);if(n===-1){if(bS(t,`module`)||bS(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,()=>DC(this.parseGenericParams(i,{alias:r}),t,this)]}parseGenericParams(e,t){return VD(new iS(e),[],this.createParseContext({...t,def:e,prefix:`generic`}))}normalizeRootScopeValue(e){return nx(e)&&!bS(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=FO(e,t);if(Kb(n)){if(n[1]===`=`)return K(ZE);if(n[1]===`?`)return K(XE)}return n}unit=e=>this.units([e]);valueOf=e=>this.units(Rb(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 WD(this);match=new qD(this);declare=()=>({type:this.type});define(e){return e}type=new BO(this);static scope=((t,n={})=>new e(t,n));static module=((t,n={})=>e.scope(t,n).export())},UO=Object.assign(HO.scope,{define:e=>e}),WO=HO,GO=class extends ox{description='merge an object\'s properties onto another like `Merge(User, { isAdmin: "true" })`'},KO=EE([`base`,jE.object],[`props`,jE.object])(e=>e.base.merge(e.props),GO),qO=WO.module({Key:jE.key,Merge:KO}),JO=class extends ox{},YO=EE(`element`)(e=>{let t=e.element.exclude(jE.Array),n=t.array();return t.rawOr(n).pipe(rb).distribute(e=>e.assertHasKind(`morph`).declareOut(n),wE)},JO),XO=WO.module({root:jE.Array,readonly:`root`,index:jE.nonNegativeIntegerString,liftFrom:YO},{name:`Array`}),ZO=wE([`string`,Rx.FileConstructor]),QO=wE({meta:`an object representing parsed form data`,domain:`object`,index:{signature:`string`,value:ZO.rawOr(ZO.array())}}),$O=WO.module({root:[`instanceof`,FormData],value:ZO,parsed:QO,parse:wE({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 Rx.FileConstructor?t[n]=[e,r]:e.push(r)}else t[n]=r;return t},declaredOut:QO})},{name:`FormData`}),ek=WO.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`}),tk={Boolean:1,Number:1,String:1},nk=WO.module({...Cb({...zb,...Vb},(e,t)=>e in tk?[]:[e,[`instanceof`,t]]),Array:XO,TypedArray:ek,FormData:$O}),rk=wE({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`}),ik=wE({domain:`number`,divisor:1}),ak=WO.module({root:jE.number,integer:ik,epoch:rk,safe:wE({domain:{domain:`number`,numberAllowsNaN:!1},min:-(2**53-1),max:2**53-1}),NaN:[`===`,NaN],Infinity:[`===`,1/0],NegativeInfinity:[`===`,-1/0]},{name:`number`}),ok=(e,t,n)=>{let r={domain:`string`,pattern:{rule:e.source,flags:e.flags,meta:t}};return n&&(r.meta={format:n}),TE(`intersection`,r)},sk=ok(wx,`a well-formed integer string`),ck=WO.module({root:sk,parse:wE({in:sk,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:jE.integer})},{name:`string.integer`}),lk=ok(/^[\dA-Fa-f]+$/,`hex characters only`),uk=ok(/^[1-9A-HJ-NP-Za-km-z]+$/,`base58-encoded`),dk=WO.module({root:ok(/^(?:[\d+/A-Za-z]{4})*(?:[\d+/A-Za-z]{2}==|[\d+/A-Za-z]{3}=)?$/,`base64-encoded`),url:ok(/^(?:[\w-]{4})*(?:[\w-]{2}(?:==|%3D%3D)?|[\w-]{3}(?:=|%3D)?)?$/,`base64url-encoded`)},{name:`string.base64`}),fk=ok(/^[A-Z].*$/,`capitalized`),pk=WO.module({root:wE({in:`string`,morphs:e=>e.charAt(0).toUpperCase()+e.slice(1),declaredOut:fk}),preformatted:fk},{name:`string.capitalize`}),mk=wE({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)}}}),hk=/^([+-]?\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)?)?)?)?$/,gk=wE({domain:`string`,predicate:{meta:`a parsable date`,predicate:e=>!Number.isNaN(new Date(e).valueOf())}}).assertHasKind(`intersection`),_k=ck.root.internal.narrow((e,t)=>{let n=Number.parseInt(e),r=ak.epoch(n);return r instanceof KS?(t.errors.merge(r),!1):!0}).configure({description:`an integer string representing a safe Unix timestamp`},`self`).assertHasKind(`intersection`),vk=WO.module({root:_k,parse:wE({in:_k,morphs:e=>new Date(Number.parseInt(e)),declaredOut:jE.Date})},{name:`string.date.epoch`}),yk=ok(hk,`an ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ) date`).internal.assertHasKind(`intersection`),bk=WO.module({root:yk,parse:wE({in:yk,morphs:e=>new Date(e),declaredOut:jE.Date})},{name:`string.date.iso`}),xk=WO.module({root:gk,parse:wE({declaredIn:gk,in:`string`,morphs:(e,t)=>{let n=new Date(e);return Number.isNaN(n.valueOf())?t.error(`a parsable date`):n},declaredOut:jE.Date}),iso:bk,epoch:vk},{name:`string.date`}),Sk=ok(/^[\w%+.-]+@[\d.A-Za-z-]+\.[A-Za-z]{2,}$/,`an email address`,`email`),Ck=`(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,wk=`(${Ck}[.]){3}${Ck}`,Tk=RegExp(`^${wk}$`),Ek=`(?:[0-9a-fA-F]{1,4})`,Dk=RegExp(`^((?:${Ek}:){7}(?:${Ek}|:)|(?:${Ek}:){6}(?:${wk}|:${Ek}|:)|(?:${Ek}:){5}(?::${wk}|(:${Ek}){1,2}|:)|(?:${Ek}:){4}(?:(:${Ek}){0,1}:${wk}|(:${Ek}){1,3}|:)|(?:${Ek}:){3}(?:(:${Ek}){0,2}:${wk}|(:${Ek}){1,4}|:)|(?:${Ek}:){2}(?:(:${Ek}){0,3}:${wk}|(:${Ek}){1,5}|:)|(?:${Ek}:){1}(?:(:${Ek}){0,4}:${wk}|(:${Ek}){1,6}|:)|(?::((?::${Ek}){0,5}:${wk}|(?::${Ek}){1,7}|:)))(%[0-9a-zA-Z.]{1,})?$`),Ok=WO.module({root:[`v4 | v6`,`@`,`an IP address`],v4:ok(Tk,`an IPv4 address`,`ipv4`),v6:ok(Dk,`an IPv6 address`,`ipv6`)},{name:`string.ip`}),kk=`a JSON string`,Ak=e=>{if(!(e instanceof SyntaxError))throw e;return`must be ${kk} (${e})`},jk=wE({meta:kk,domain:`string`,predicate:{meta:kk,predicate:(e,t)=>{try{return JSON.parse(e),!0}catch(e){return t.reject({code:`predicate`,expected:kk,problem:Ak(e)})}}}}),Mk=WO.module({root:jk,parse:wE({meta:`safe JSON string parser`,in:`string`,morphs:(e,t)=>{if(e.length===0)return t.error({code:`predicate`,expected:kk,actual:`empty`});try{return JSON.parse(e)}catch(e){return t.error({code:`predicate`,expected:kk,problem:Ak(e)})}},declaredOut:jE.jsonObject})},{name:`string.json`}),Nk=ok(/^[a-z]*$/,`only lowercase letters`),Pk=WO.module({root:wE({in:`string`,morphs:e=>e.toLowerCase(),declaredOut:Nk}),preformatted:Nk},{name:`string.lower`}),Fk=[`NFC`,`NFD`,`NFKC`,`NFKD`],Ik=Cb(Fk,(e,t)=>[t,wE({domain:`string`,predicate:e=>e.normalize(t)===e,meta:`${t}-normalized unicode`})]),Lk=Cb(Fk,(e,t)=>[t,wE({in:`string`,morphs:e=>e.normalize(t),declaredOut:Ik[t]})]),Rk=WO.module({root:Lk.NFC,preformatted:Ik.NFC},{name:`string.normalize.NFC`}),zk=WO.module({root:Lk.NFD,preformatted:Ik.NFD},{name:`string.normalize.NFD`}),Bk=WO.module({root:Lk.NFKC,preformatted:Ik.NFKC},{name:`string.normalize.NFKC`}),Vk=WO.module({root:Lk.NFKD,preformatted:Ik.NFKD},{name:`string.normalize.NFKD`}),Hk=WO.module({root:`NFC`,NFC:Rk,NFD:zk,NFKC:Bk,NFKD:Vk},{name:`string.normalize`}),Uk=ok(xx,`a well-formed numeric string`),Wk=WO.module({root:Uk,parse:wE({in:Uk,morphs:e=>Number.parseFloat(e),declaredOut:jE.number})},{name:`string.numeric`}),Gk=`a regex pattern`,Kk=wE({domain:`string`,predicate:{meta:Gk,predicate:(e,t)=>{try{return new RegExp(e),!0}catch(e){return t.reject({code:`predicate`,expected:Gk,problem:String(e)})}}},meta:{format:`regex`}}),qk=ok(/^(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/)`),Jk=ok(/^\S.*\S$|^\S?$/,`trimmed`),Yk=WO.module({root:wE({in:`string`,morphs:e=>e.trim(),declaredOut:Jk}),preformatted:Jk},{name:`string.trim`}),Xk=ok(/^[A-Z]*$/,`only uppercase letters`),Zk=WO.module({root:wE({in:`string`,morphs:e=>e.toUpperCase(),declaredOut:Xk}),preformatted:Xk},{name:`string.upper`}),Qk=wE({domain:`string`,predicate:{meta:`a URL string`,predicate:e=>URL.canParse(e)},meta:{format:`uri`}}),$k=WO.module({root:Qk,parse:wE({declaredIn:Qk,in:`string`,morphs:(e,t)=>{try{return new URL(e)}catch{return t.error(`a URL string`)}},declaredOut:wE(URL)})},{name:`string.url`}),eA=WO.module({root:[`versioned | nil | max`,`@`,{description:`a UUID`,format:`uuid`}],"#nil":`'00000000-0000-0000-0000-000000000000'`,"#max":`'ffffffff-ffff-ffff-ffff-ffffffffffff'`,"#versioned":/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-[1-8][\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,v1:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-1[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv1`),v2:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-2[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv2`),v3:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-3[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv3`),v4:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-4[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv4`),v5:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-5[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv5`),v6:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-6[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv6`),v7:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-7[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv7`),v8:ok(/^[\dA-Fa-f]{8}-[\dA-Fa-f]{4}-8[\dA-Fa-f]{3}-[89ABab][\dA-Fa-f]{3}-[\dA-Fa-f]{12}$/,`a UUIDv8`)},{name:`string.uuid`}),tA=WO.module({root:jE.string,alpha:ok(/^[A-Za-z]*$/,`only letters`),alphanumeric:ok(/^[\dA-Za-z]*$/,`only letters and digits 0-9`),hex:lk,base58:uk,base64:dk,capitalize:pk,creditCard:mk,date:xk,digits:ok(/^\d*$/,`only digits 0-9`),email:Sk,integer:ck,ip:Ok,json:Mk,lower:Pk,normalize:Hk,numeric:Wk,regex:Kk,semver:qk,trim:Yk,upper:Zk,url:$k,uuid:eA},{name:`string`}),nA=WO.module({bigint:jE.bigint,boolean:jE.boolean,false:jE.false,never:jE.never,null:jE.null,number:jE.number,object:jE.object,string:jE.string,symbol:jE.symbol,true:jE.true,unknown:jE.unknown,undefined:jE.undefined}),rA=WO.module({root:jE.unknown,any:jE.unknown},{name:`unknown`}),iA=WO.module({root:jE.jsonObject,stringify:TE(`morph`,{in:jE.jsonObject,morphs:e=>JSON.stringify(e),declaredOut:jE.string})},{name:`object.json`}),aA=WO.module({root:jE.object,json:iA},{name:`object`}),oA=class extends ox{description='instantiate an object from an index signature and corresponding value type like `Record("string", "number")`'},sA=EE([`K`,jE.key],`V`)(e=>({domain:`object`,index:{signature:e.K,value:e.V}}),oA),cA=class extends ox{description='pick a set of properties from an object like `Pick(User, "name | age")`'},lA=EE([`T`,jE.object],[`K`,jE.key])(e=>e.T.pick(e.K),cA),uA=class extends ox{description='omit a set of properties from an object like `Omit(User, "age")`'},dA=EE([`T`,jE.object],[`K`,jE.key])(e=>e.T.omit(e.K),uA),fA=class extends ox{description="make all named properties of an object optional like `Partial(User)`"},pA=EE([`T`,jE.object])(e=>e.T.partial(),fA),mA=class extends ox{description="make all named properties of an object required like `Required(User)`"},hA=EE([`T`,jE.object])(e=>e.T.required(),mA),gA=class extends ox{description='exclude branches of a union like `Exclude("boolean", "true")`'},_A=EE(`T`,`U`)(e=>e.T.exclude(e.U),gA),vA=class extends ox{description='extract branches of a union like `Extract("0 | false | 1", "number")`'},yA=EE(`T`,`U`)(e=>e.T.extract(e.U),vA),bA=WO.module({Exclude:_A,Extract:yA,Omit:dA,Partial:pA,Pick:lA,Record:sA,Required:hA}),xA=UO({...nA,...bA,...nk,...qO,string:tA,number:ak,object:aA,unknown:rA},{prereducedAliases:!0,name:`ark`}),SA=xA.export();Object.assign(VO.ambient,SA),VO.typeAttachments={string:SA.string.root,number:SA.number.root,bigint:SA.bigint,boolean:SA.boolean,symbol:SA.symbol,undefined:SA.undefined,null:SA.null,object:SA.object.root,unknown:SA.unknown.root,false:SA.false,true:SA.true,never:SA.never,arrayIndex:SA.Array.index,Key:SA.Key,Record:SA.Record,Array:SA.Array.root,Date:SA.Date};var J=Object.assign(xA.type,VO.typeAttachments);xA.match,xA.fn,xA.generic,xA.schema,xA.define,xA.declare;var CA=J(`"local" | "lan" | /^\\d{1,3}(?:\\.\\d{1,3}){3}$/`),wA=J(`/^[a-z0-9][a-z0-9_-]*$/`);J({id:wA,label:`1 <= string <= 60`}).onUndeclaredKey(`reject`),J({"id?":wA,"label?":`1 <= string <= 60`}).onUndeclaredKey(`reject`),J({label:`1 <= string <= 60`}).onUndeclaredKey(`reject`);function TA(e){let t=CA(e);return t instanceof J.errors?null:t}var EA=J(`1 <= number.integer <= 65535 | null`),DA=J.enumerated(`block`,`warn`,`follow`,`reclaim`,`kill`),OA=DA.default(`block`),kA=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`),AA=J({scheme:`"http" | "https" = "http"`,allowInvalidCert:`boolean = false`,path:`string = "/"`,method:`"GET" | "HEAD" = "GET"`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer = 400`,expectBody:`string = ""`}).onUndeclaredKey(`reject`),jA=J({maxRssBytes:`number.integer >= 0 = 0`}).onUndeclaredKey(`reject`),MA=J({enabled:`boolean = true`,mode:`"port" | "http" = "port"`,http:AA.default(()=>({})),intervalMs:`number >= 500 = 5000`,timeoutMs:`number >= 100 = 1500`,unhealthyThreshold:`number.integer >= 1 = 3`,forceRestartAfterMs:`number >= 0 = 0`,startTimeoutMs:`number >= 0 = 20000`}).onUndeclaredKey(`reject`),NA=J({signal:`"SIGTERM" | "SIGINT" | "SIGKILL" = "SIGTERM"`,killGroup:`boolean = true`,graceMs:`number >= 0 = 5000`,killPortHolders:`boolean = false`}).onUndeclaredKey(`reject`),PA=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`)),FA=J(`string | null`),IA=J(`50 <= number.integer <= 100000`),LA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,label:FA.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:PA.optional(),port:EA.optional(),bind:CA.default(()=>`local`),onPortConflict:OA,restart:kA.default(()=>({})),health:MA.default(()=>({})),stop:NA.default(()=>({})),logBufferLines:IA.default(()=>500),dependsOn:J(`string[]`).default(()=>[]),envFile:`string = ""`,resources:jA.default(()=>({})),backupPaths:J(`string[]`).default(()=>[]),backupIgnoreGenerated:`boolean = true`}).onUndeclaredKey(`reject`),RA=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`),zA={onCrash:`boolean = true`,onUnhealthy:`boolean = true`,onForcedRestart:`boolean = true`,onRecovered:`boolean = false`,onHost:`boolean = true`,onDdns:`boolean = true`,cooldownMs:`number >= 0 = 120000`},BA=J({...zA}).onUndeclaredKey(`reject`),VA=`boolean = true`,HA=J({kind:`"telegram"`,id:`/^[a-z0-9][a-z0-9_-]*$/`,enabled:`boolean = false`,chatId:`string = ""`,useOwnSettings:VA,...zA}).onUndeclaredKey(`reject`),UA=J({kind:`"webhook"`,id:`/^[a-z0-9][a-z0-9_-]*$/`,url:`string = ""`,enabled:`boolean = true`,method:`"POST" | "PUT" = "POST"`,format:`"json" | "text" = "json"`,headers:`string = ""`,useOwnSettings:VA,...zA}).onUndeclaredKey(`reject`),WA=HA.or(UA).array();J({defaults:BA.default(()=>({})),destinations:WA.default(()=>[])}).onUndeclaredKey(`reject`);var GA=J({persist:`boolean = true`,maxBytes:`10000 <= number <= 100000000 = 2000000`,keep:`1 <= number.integer <= 10 = 3`}).onUndeclaredKey(`reject`),KA=J({enabled:`boolean = false`}).onUndeclaredKey(`reject`),qA=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`),JA=J.enumerated(`A`,`AAAA`),YA=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,provider:`string >= 1`,label:`string = ""`}).onUndeclaredKey(`reject`),XA=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:JA.array().default(()=>[`A`]),zone:`string?`,ttl:`number.integer >= 1?`,proxied:`boolean = false`,enabled:`boolean = true`}).onUndeclaredKey(`reject`),ZA=J({enabled:`boolean = true`,url:`string = ""`}).onUndeclaredKey(`reject`),QA=J({enabled:`boolean = false`,url:`string = ""`}).onUndeclaredKey(`reject`),$A=J({enabled:`boolean = false`,intervalMs:`number >= 60000 = 300000`,ipv4:ZA.default(()=>({})),ipv6:QA.default(()=>({})),ttl:`number.integer >= 1 = 1`,accounts:YA.array().default(()=>[]),domains:XA.array().default(()=>[])}).onUndeclaredKey(`reject`),ej=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:JA,ip:`string | null`,state:J(`"pending" | "ok" | "unchanged" | "error" | "skipped"`),message:`string | null`,updatedAt:`number | null`}).array()}),tj=J({key:`string`,label:`string`,hint:`string = ""`,optional:`boolean = false`}),nj=J({config:$A,status:ej,providers:J({id:`string`,label:`string`,docsUrl:`string`,families:JA.array(),fields:tj.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:YA.array().optional(),domains:XA.array().optional()}).onUndeclaredKey(`reject`);var rj=J({intervalMs:`number.integer >= 0 = 0`,keep:`number.integer >= 1 = 7`}).onUndeclaredKey(`reject`);J({enabled:`boolean = true`,dir:`string = ".backups"`,keep:`number.integer >= 1 = 5`,includePaths:J(`string[]`).default(()=>[]),schedule:rj.default(()=>({}))}).onUndeclaredKey(`reject`),J({label:`1 <= string <= 60 = "home-hosted"`,port:`1 <= number.integer <= 65535 = 3999`,host:CA.default(()=>`local`),openBrowser:`boolean = false`,auth:RA.default(()=>({})),tls:KA.default(()=>({}))}).onUndeclaredKey(`reject`);var ij=J({enabled:`boolean = true`,autostart:`boolean = false`,bind:CA.default(()=>`local`),onPortConflict:OA,restart:kA.default(()=>({})),health:MA.default(()=>({})),stop:NA.default(()=>({})),logBufferLines:IA.default(()=>500)}).onUndeclaredKey(`reject`),aj=J({enabled:`boolean?`,maxRetries:`number.integer >= 0?`,baseDelayMs:`number >= 0?`,factor:`number >= 1?`,maxDelayMs:`number >= 0?`,resetAfterMs:`number >= 0?`}).onUndeclaredKey(`reject`),oj=J({scheme:`"http" | "https"?`,allowInvalidCert:`boolean?`,path:`string?`,method:`"GET" | "HEAD"?`,expectStatus:`number.integer | null?`,expectStatusBelow:`number.integer?`,expectBody:`string?`}).onUndeclaredKey(`reject`),sj=J({maxRssBytes:`number.integer >= 0?`}).onUndeclaredKey(`reject`),cj=J({enabled:`boolean?`,mode:`"port" | "http"?`,http:oj.optional(),intervalMs:`number >= 500?`,timeoutMs:`number >= 100?`,unhealthyThreshold:`number.integer >= 1?`,forceRestartAfterMs:`number >= 0?`,startTimeoutMs:`number >= 0?`}).onUndeclaredKey(`reject`),lj=J({signal:`"SIGTERM" | "SIGINT" | "SIGKILL"?`,killGroup:`boolean?`,graceMs:`number >= 0?`,killPortHolders:`boolean?`}).onUndeclaredKey(`reject`),uj=J({enabled:`boolean?`,sessionTtlMs:`number >= 60000?`,cookieSecure:`"auto" | "always" | "never"?`,trustProxy:`boolean | "loopback"?`,maxLoginAttempts:`number.integer >= 1?`,lockoutMs:`number >= 1000?`}).onUndeclaredKey(`reject`),dj={onCrash:`boolean?`,onUnhealthy:`boolean?`,onForcedRestart:`boolean?`,onRecovered:`boolean?`,onHost:`boolean?`,onDdns:`boolean?`,cooldownMs:`number >= 0?`},fj=J({kind:`"telegram" | "webhook"`,id:`/^[a-z0-9][a-z0-9_-]*$/`,enabled:`boolean?`,useOwnSettings:`boolean?`,chatId:`string?`,url:`string?`,method:`"POST" | "PUT"?`,format:`"json" | "text"?`,headers:`string?`,...dj}).onUndeclaredKey(`reject`),pj=J({defaults:J({...dj}).onUndeclaredKey(`reject`).optional(),destinations:fj.array().optional()}).onUndeclaredKey(`reject`),mj=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`),hj=J({intervalMs:`number.integer >= 0?`,keep:`number.integer >= 1?`}).onUndeclaredKey(`reject`),gj=J({enabled:`boolean?`,dir:`string?`,keep:`number.integer >= 1?`,includePaths:J(`string[]`).optional(),schedule:hj.optional()}).onUndeclaredKey(`reject`),_j=J({persist:`boolean?`,maxBytes:`10000 <= number <= 100000000?`,keep:`1 <= number.integer <= 10?`}).onUndeclaredKey(`reject`),vj=J({enabled:`boolean?`}).onUndeclaredKey(`reject`),yj=J({label:`1 <= string <= 60 | null?`,port:`1 <= number.integer <= 65535?`,host:CA.optional(),openBrowser:`boolean?`,auth:uj.optional(),tls:vj.optional()}).onUndeclaredKey(`reject`),bj=J({enabled:`boolean?`,autostart:`boolean?`,bind:CA.optional(),onPortConflict:DA.optional(),restart:aj.optional(),health:cj.optional(),stop:lj.optional(),logBufferLines:IA.optional()}).onUndeclaredKey(`reject`),xj={label:FA.optional(),enabled:`boolean?`,autostart:`boolean?`,persistent:`boolean?`,command:`string?`,args:`string[]?`,cwd:`string?`,env:`Record<string, string>?`,dataEnvs:`Record<string, string>?`,bootstrap:PA.optional(),port:EA.optional(),bind:CA.optional(),onPortConflict:DA.optional(),restart:aj.optional(),health:cj.optional(),stop:lj.optional(),logBufferLines:IA.optional(),dependsOn:J(`string[]`).optional(),envFile:`string?`,resources:sj.optional(),backupPaths:J(`string[]`).optional(),backupIgnoreGenerated:`boolean?`},Sj=J(xj).onUndeclaredKey(`reject`),Cj=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,...xj,command:`string`}).onUndeclaredKey(`reject`);J({serverId:`string`,command:`string`,args:`string[]`,cwd:`string`,env:`Record<string, string>`,logDir:`string`,logs:GA,stop:NA}).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`),J({restarts:`number.integer >= 0`,bootstrapDone:`boolean`,"lastPid?":`number | null`,"lastStartedAt?":`number | null`});var wj=J({control:yj.optional(),host:mj.optional(),backups:gj.optional()}).onUndeclaredKey(`reject`),Tj=J({defaults:bj.optional(),logs:_j.optional(),notifications:pj.optional()}).onUndeclaredKey(`reject`),Ej=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`}),Dj=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`}),Oj=J.enumerated(`caddy`),kj=J.enumerated(`server`,`panel`,`external`),Aj=J.enumerated(`auto`,`off`,`manual`),jj=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:kj.default(()=>`server`),workspace:`string = ""`,server:`string = ""`,url:`string = ""`,path:`string = ""`,tls:Aj.default(()=>`auto`),dnsAccount:`string = ""`}).onUndeclaredKey(`reject`),Mj=J({id:`/^[a-z0-9][a-z0-9_-]*$/`,label:`string = ""`}).onUndeclaredKey(`reject`),Nj=J.enumerated(`off`,`local`,`uploaded`,`issued`,`pending`,`failed`,`fallback`),Pj=J({enabled:`boolean = false`,resolvers:J(`string[]`).default(()=>[])}).onUndeclaredKey(`reject`),Fj=J({enabled:`boolean = false`,engine:Oj.default(()=>`caddy`),httpPort:`1 <= number.integer <= 65535 = 80`,httpsPort:`1 <= number.integer <= 65535 = 443`,email:`string = ""`,staging:`boolean = false`,dns01:Pj.default(()=>({})),certificates:Mj.array().default(()=>[]),routes:jj.array().default(()=>[])}).onUndeclaredKey(`reject`),Ij=J({id:Oj,installed:`boolean`,version:`string | null`,source:J.enumerated(`downloaded`,`custom`).or(J(`null`)),path:`string | null`,bytes:`number | null`,error:`string | null`}),Lj=J({id:Oj,label:`string`,docsUrl:`string`,releaseUrl:`string`,acme:`boolean`,internalCa:`boolean`,dns01:`boolean`,tcp:`boolean`}),Rj=J({route:jj,status:J.enumerated(`ok`,`disabled`,`no-upstream`,`error`),upstream:`string | null`,message:`string | null`,"certificate?":J({state:Nj,message:`string | null`,"retryInMinutes?":`number`})}),zj=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`}),Bj=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`}),Vj=J({workspace:`string`,account:`string`,provider:`string`,label:`string`,writesTxt:`boolean`,hasCredentials:`boolean`}),Hj=J({config:Fj,engine:Ij,engines:Lj.array(),status:zj,routes:Rj.array(),certificates:Bj.array(),"dnsAccounts?":Vj.array()}),Uj=J({id:`string`,host:`string`,enabled:`boolean?`,target:kj.optional(),workspace:`string?`,server:`string?`,url:`string?`,path:`string?`,tls:Aj.optional(),dnsAccount:`string?`}).onUndeclaredKey(`reject`),Wj=J({enabled:`boolean?`,engine:Oj.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:Mj.array().optional(),routes:Uj.array().optional()}).onUndeclaredKey(`reject`),Gj=J({label:`string = ""`,certificate:`string >= 1`,privateKey:`string >= 1`}).onUndeclaredKey(`reject`);J({version:`string = ""`}).onUndeclaredKey(`reject`);var Kj=J({id:`string`,kind:`"telegram" | "webhook"`,enabled:`boolean`,useOwnSettings:`boolean`,onCrash:`boolean`,onUnhealthy:`boolean`,onForcedRestart:`boolean`,onRecovered:`boolean`,onHost:`boolean`,onDdns:`boolean?`,cooldownMs:`number`,chatId:`string | null`,tokenSet:`boolean`,url:`string | null`,method:`"POST" | "PUT" | null`,format:`"json" | "text" | null`,headers:`string | null`,lastResult:`string | null`,lastResultAt:`number | null`});J({chats:J({id:`string | number`,title:`string`}).array()});var qj=J({"defaults?":BA,"destinations?":Kj.array()});J({authenticated:`boolean`,authRequired:`boolean`,passwordSet:`boolean`,apiTokenSet:`boolean?`,usingDefaultPassword:`boolean`,defaultPassword:`string | null`,sessionTtlMs:`number`});var Jj=J({password:`string`}).onUndeclaredKey(`reject`),Yj=J(`1 <= string <= 512`),Xj=J({currentPassword:`string?`,newPassword:Yj}).onUndeclaredKey(`reject`),Zj=J(`"stopped" | "starting" | "running" | "stopping" | "backoff" | "crashed" | "conflict"`),Qj=J(`"disabled" | "unknown" | "healthy" | "unhealthy"`),$j=J(`"unknown" | "free" | "in-use"`),eM=J({ts:`number`,stream:J(`"stdout" | "stderr" | "system"`),text:`string`}),tM=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?`,"actor?":J.enumerated(`policy`,`user`,`agent`,`boot`)}).array()}),nM=J({cpuPercent:`number | null`,rssBytes:`number | null`,processes:`number`,sampledAt:`number`}),rM=J({path:`string`,totalBytes:`number`,freeBytes:`number`,usedPercent:`number`}),iM=J({enabled:`boolean`,cpus:`number`,loadAvg:J(`number[]`),uptimeMs:`number`,memoryUsedPercent:`number`,swapUsedPercent:`number`,tempCelsius:`number | null`,disks:rM.array(),alerts:J(`string[]`),sampledAt:`number | null`}),aM=J({name:`string`,sizeBytes:`number`,createdAt:`number`,encrypted:`boolean`}),oM=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"`,"secret?":`string`,"path?":`string`,"origin?":`string`,included:`boolean`,note:`string | null`,"noteKey?":`string`,"noteParams?":`Record<string, string>`,"ignoreGenerated?":`boolean`}).array()}),sM=J({enabled:`boolean`,dir:`string`,keep:`number`,"schedule?":rj,"lastAutomaticAt?":`number | null`,includePaths:J(`string[]`),entries:oM.array(),files:aM.array()}),cM=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>`}),lM=J({label:`string`,"labelKey?":`string`,"labelParams?":`Record<string, string>`,"reasonKey?":`string`,"reasonParams?":`Record<string, string>`});J({dryRun:`boolean`,encrypted:`boolean`,needsPassword:`boolean`,"archive?":J({"writtenBy?":`string`,"schema?":`number`}),items:cM.array(),applied:J(`string[]`),"appliedIds?":J(`string[]`),skipped:J(`string[]`),"skippedItems?":lM.array(),restartRequired:`boolean`,reloaded:`boolean`,error:`string?`}),J({password:Yj.optional(),include:J(`string[] >= 1`).optional()}).onUndeclaredKey(`reject`),J({name:`string?`,password:Yj.optional(),include:J(`string[]`).optional()}).onUndeclaredKey(`reject`);var uM=J({id:`string`,"workspaceId?":`string`,config:LA,bindHost:`string`,url:`string | null`,status:Zj,health:Qj,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:tM,responseMs:`number | null`,resources:nM.or(J(`null`))});J({status:`"ok" | "degraded"`,uptimeMs:`number`,"servers?":J({total:`number`,running:`number`,crashed:`number`,unhealthy:`number`}),"hostAlerts?":`string[]`});var dM=J({label:`string`,port:`number`,host:`string`,bindHost:`string`,url:`string`,openBrowser:`boolean`,restartRequired:`boolean`,protocol:`string`,auth:Ej,tls:Dj}),fM=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`))}),pM=J({id:`string`,label:`string`,configPath:`string`,settingsPath:`string`,configError:`string | null`,"configWarnings?":J(`string[]`),logsDir:`string`,defaults:ij,logs:GA,notifications:qj,"ddns?":ej,serverCount:`number`,runningCount:`number`,crashedCount:`number`,servers:uM.array()}),mM=J({control:dM,host:iM,backups:sM,ui:fM,workspaces:pM.array(),"proxy?":Hj,projectDir:`string`,dataRoot:`string`,"version?":`string`}),hM=J({type:`"hello" | "state" | "log" | "server"`,ts:`number`,"workspaceId?":`string`,serverId:`string?`,state:mM.optional(),server:uM.optional(),lines:eM.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 gM=J({servers:J({serverId:`string`,label:`string`,status:Zj,enabled:`boolean`,sizeBytes:`number`,files:J({name:`string`,sizeBytes:`number`}).array()}).array()}),_M=J({serverId:`string`,enabled:`boolean`,sizeBytes:`number`,files:J(`string[]`),searched:`number | null`,lines:eM.array()});J({botToken:`string?`,chatId:`string?`}).onUndeclaredKey(`reject`),J({id:`/^[a-z0-9][a-z0-9_-]*$/`}),J({target:UA.omit(`kind`,`id`).and(J({id:`string?`,kind:`"webhook"?`})),id:`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:dM,host:qA,backups:sM,ui:fM}).and(J({rebinding:`boolean`,targetUrl:`string | null`}));var vM=J({id:`string`,label:`string`,settingsPath:`string`,configPath:`string`,configError:`string | null`,defaults:ij,logs:GA,notifications:qj});function yM(e){return e instanceof Error?e.message:String(e)}function bM(e,t){return`${e}/${t}`}function xM(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var SM=class extends Error{name=`AuthRequiredError`;constructor(){super(`authentication required`)}};async function CM(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&&xM(i)&&i.code===`AUTH_REQUIRED`)throw new SM;let e=xM(i)&&typeof i.message==`string`?i.message:xM(i)&&`error`in i?String(i.error):`request failed with ${n.status}`;throw Error(e)}return i}async function wM(e){let t=Hj(e);if(t instanceof J.errors)throw Error(`proxy contract mismatch: ${t.summary}`);return t}async function TM(e){let t=nj(e);if(t instanceof J.errors)throw Error(`ddns contract mismatch: ${t.summary}`);return t}function EM(e){return CM(`/api/proxy/${e}`,{method:`POST`}).then(wM)}function DM(){return EM(`apply`)}function OM(e){return`/api/backups/${encodeURIComponent(e)}/download`}function kM(){return CM(`/api/auth/password`,{method:`DELETE`})}async function AM(e){return wM(await CM(`/api/proxy/certificates/${encodeURIComponent(e)}`,{method:`DELETE`}))}function jM(e){return CM(`/api/backups/${encodeURIComponent(e)}`,{method:`DELETE`})}async function MM(){return wM(await CM(`/api/proxy`))}function NM(){return CM(`/api/auth/session`)}function PM(){return CM(`/api/settings`)}async function FM(e=``){return wM(await CM(`/api/proxy/engine`,{method:`POST`,body:JSON.stringify({version:e})}))}function IM(e){let t=Jj({password:e});if(t instanceof J.errors)throw Error(t.summary);return CM(`/api/auth/login`,{method:`POST`,body:JSON.stringify(t)})}function LM(){return CM(`/api/auth/logout`,{method:`POST`})}async function RM(e){let t=Wj(e);if(t instanceof J.errors)throw Error(t.summary);return wM(await CM(`/api/proxy`,{method:`PATCH`,body:JSON.stringify(t)}))}function zM(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 BM(e,t,n={}){return CM(`/api/backups/restore?confirm=${t}`,{method:`POST`,body:JSON.stringify({name:e,...zM(n)})})}async function VM(e){return wM(await CM(`/api/proxy/routes/${encodeURIComponent(e)}/retry-certificate`,{method:`POST`}))}function HM(){return EM(`revert`)}function UM(){return CM(`/api/settings/ui`,{method:`DELETE`})}function WM(e,t){let n=Xj(e===void 0?{newPassword:t}:{currentPassword:e,newPassword:t});if(n instanceof J.errors)throw Error(n.summary);return CM(`/api/auth/password`,{method:`POST`,body:JSON.stringify(n)})}function GM(){return EM(`start`)}function KM(){return EM(`stop`)}async function qM(e,t,n,r){let i=Gj({label:t,certificate:n,privateKey:r});if(i instanceof J.errors)throw Error(i.summary);return wM(await CM(`/api/proxy/certificates/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(i)}))}async function JM(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 YM=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),XM=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??(?=/|$)`);e=e.replace(t,()=>r?`/${r}`:``)}return e},ZM=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},QM=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},$M=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function eN(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function tN(e,t){if(!eN(e)&&!eN(t))return t;let n={...e};for(let e in t){let r=t[e];n[e]=eN(n[e])&&eN(r)?tN(n[e],r):r}return n}var nN=/^[\w!#$%&'*.^`|~+-]+$/,rN=(e,t,n={})=>{if(!nN.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},iN=(e,t,n)=>(t=encodeURIComponent(t),rN(e,t,n)),aN=(e,t)=>new Proxy(()=>{},{get(n,r){if(typeof r==`string`&&r!==`then`)return aN(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),oN=(e,t)=>{let n=t.toString();return n?`${e}?${n}`:e},sN=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(iN(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=$M(a),a=XM(a,this.pathParams),this.queryParams&&(a=oN(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})}},cN=((e,t)=>aN(function n(r){let i=t?.buildSearchParams??ZM,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=YM(e,a.join(`/`));if(s===`url`||s===`path`){let t=$M(c);return r.args[0]&&(r.args[0].param&&(t=XM(t,r.args[0].param)),r.args[0].query&&(t=oN(t,i(r.args[0].query)))),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=$M(c),n=QM(r.args[0]?.param?XM(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 sN(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=tN(t,e);return l.fetch(r.args[0],a)}return l},[]))(typeof window>`u`?`http://127.0.0.1`:window.location.origin);J({workspaces:pM.array()});var lN=J({workspace:pM}),uN=J({ok:`boolean`,removed:`unknown`});function dN(e){return e==null||e.length===0?``:`?workspace=${encodeURIComponent(e)}`}function fN(e,t){return{param:{id:t},query:e.length>0?{workspace:e}:{}}}function pN(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 mN(){let e=mM(await CM(`/api/state`));if(e instanceof J.errors)throw Error(`state contract mismatch: ${e.summary}`);return e}async function hN(e){let t=lN(e);if(t instanceof J.errors)throw Error(`workspace contract mismatch: ${t.summary}`);return t.workspace}async function gN(e){return hN(await CM(`/api/workspaces`,{method:`POST`,body:JSON.stringify(e)}))}async function _N(e,t){return hN(await CM(`/api/workspaces/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify({label:t})}))}async function vN(e){let t=uN(await CM(`/api/workspaces/${encodeURIComponent(e)}`,{method:`DELETE`}));if(t instanceof J.errors)throw Error(`workspace removal contract mismatch: ${t.summary}`);return t}function yN(e){let t=wj(e);if(t instanceof J.errors)throw Error(t.summary);return CM(`/api/settings`,{method:`PATCH`,body:JSON.stringify(t)})}async function bN(e,t){let n=Tj(t);if(n instanceof J.errors)throw Error(n.summary);let r=vM(await CM(pN(`/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 xN(e){let t=gM(await CM(pN(`/api/logs`,e)));if(t instanceof J.errors)throw Error(`logs contract mismatch: ${t.summary}`);return t.servers}async function SN(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=_M(await CM(pN(`/api/logs/${encodeURIComponent(t)}`,e,r)));if(i instanceof J.errors)throw Error(`log history contract mismatch: ${i.summary}`);return i}function CN(e,t){return CM(pN(`/api/logs/${encodeURIComponent(t)}`,e),{method:`DELETE`})}function wN(e,t,n){return pN(`/api/logs/${encodeURIComponent(t)}/download`,e,new URLSearchParams({file:n}))}function TN(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),CM(`/api/backups`,{method:`POST`,body:JSON.stringify(n)})}async function EN(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 DN(e,t,n){return CM(pN(`/api/notifications/destinations/${encodeURIComponent(t)}/token`,e),{method:`PUT`,body:JSON.stringify({botToken:n})})}function ON(e,t){return CM(pN(`/api/notifications/destinations/${encodeURIComponent(t)}/token`,e),{method:`DELETE`})}function kN(e,t,n){return CM(pN(`/api/notifications/destinations/${encodeURIComponent(t)}/test`,e),{method:`POST`,body:JSON.stringify(n)})}function AN(e,t,n){return CM(pN(`/api/notifications/destinations/${encodeURIComponent(t)}/detect-chats`,e),{method:`POST`,body:JSON.stringify(n)})}function jN(e,t){return CM(pN(`/api/notifications/test-webhook`,e),{method:`POST`,body:JSON.stringify(t)})}async function MN(e){return TM(await CM(pN(`/api/ddns`,e)))}async function NN(e,t){return TM(await CM(pN(`/api/ddns`,e),{method:`PUT`,body:JSON.stringify(t)}))}async function PN(e,t,n,r){return TM(await CM(pN(`/api/ddns/credentials/${encodeURIComponent(t)}`,e),{method:`PUT`,body:JSON.stringify({provider:n,credentials:r})}))}async function FN(e,t){return TM(await CM(pN(`/api/ddns/credentials/${encodeURIComponent(t)}`,e),{method:`DELETE`}))}async function IN(e){return TM(await CM(pN(`/api/ddns/check`,e),{method:`POST`}))}function LN(e,t){return CM(`/api/settings/tls`,{method:`POST`,body:JSON.stringify({certificate:e,privateKey:t})})}function RN(){return CM(`/api/settings/tls`,{method:`DELETE`})}async function zN(e,t,n){let r=await cN.api.servers[`:id`][n].$post(fN(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 BN(e){return CM(pN(`/api/servers/start-all`,e),{method:`POST`})}async function VN(e,t){let n=await cN.api.servers[`:id`][`free-port`].$post(fN(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 HN(e){return CM(pN(`/api/servers/stop-all`,e),{method:`POST`})}function UN(e,t){return CM(pN(`/api/servers/${encodeURIComponent(t)}/clear-logs`,e),{method:`POST`})}function WN(e,t,n){return CM(pN(`/api/servers/${encodeURIComponent(t)}`,e),{method:`PATCH`,body:JSON.stringify(n)})}function GN(e,t){return CM(pN(`/api/servers/${encodeURIComponent(t)}`,e),{method:`DELETE`})}function KN(e,t){return CM(pN(`/api/servers`,e),{method:`POST`,body:JSON.stringify(t)})}var qN=k(null),JN=k(null);function YN(e){return e===null?`wait`:e.authRequired&&!e.authenticated?`login`:`connect`}function XN(){async function e(){try{qN.value=await NM()}catch{qN.value=null}}async function t(e){JN.value=null;try{return qN.value=await IM(e),!0}catch(e){return JN.value=yM(e),!1}}async function n(){try{await LM()}finally{await e()}}function r(){qN.value={authenticated:!1,authRequired:!0,passwordSet:qN.value?.passwordSet??!0,apiTokenSet:qN.value?.apiTokenSet??!1,usingDefaultPassword:qN.value?.usingDefaultPassword??!1,defaultPassword:qN.value?.defaultPassword??null,sessionTtlMs:qN.value?.sessionTtlMs??0}}async function i(t,n){JN.value=null;try{return await WM(t,n),await e(),null}catch(e){return yM(e)}}async function a(){JN.value=null;try{return await kM(),await e(),null}catch(e){return yM(e)}}return{session:rn(qN),error:rn(JN),refresh:e,login:t,logout:n,requireLogin:r,setPassword:i,clearPassword:a}}var ZN=k([]),QN=1;function $N(e){ZN.value=ZN.value.filter(t=>t.id!==e)}function eP(e,t=4800){let n=QN++;return ZN.value=[...ZN.value,{...e,id:n}],t>0&&setTimeout($N,t,n),n}function tP(){return{toasts:rn(ZN),dismiss:$N,push:eP,success:(e,t)=>eP({tone:`ok`,title:e,description:t}),failure:(e,t)=>eP({tone:`danger`,title:e,description:t},9e3),info:(e,t)=>eP({tone:`info`,title:e,description:t}),warn:(e,t)=>eP({tone:`warn`,title:e,description:t},7e3)}}var nP=4e3;function rP(){return tn({ts:[],cpu:[],rss:[],probe:[],lastSampledAt:-1})}function iP(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 aP(e,t,n){let r=t.resources?.sampledAt??0,i=e.ts[e.ts.length-1]??0;if(!(r!==e.lastSampledAt||n-i>=nP)){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),iP(e)}function oP(e){let t=0;for(let n of e)n!==null&&n>t&&(t=n);return t}function sP(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n!=null)return n}return null}var cP=8e3,lP=k(null),uP=k(`connecting`),dP=k(null),fP=k(Date.now()),pP=new Map,mP=tP(),hP=new Map,gP=k(0),_P=null,vP=null;function yP(e){let t=hP.get(e);if(t)return t;let n={lines:[],version:k(0),refs:0,source:null};return hP.set(e,n),n}function bP(e,t){let n=yP(e),r=n.lines.concat(t);n.lines=r.length>8e3?r.slice(r.length-cP):r,n.version.value+=1,gP.value+=1}function xP(e){return hP.get(e)?.lines??[]}function SP(e){let t=hP.get(e);t&&(t.lines=[],t.version.value+=1,gP.value+=1)}function CP(e){let t=pP.get(e);if(t)return t;let n=rP();return pP.set(e,n),n}function wP(e){e.workspaceId!==void 0&&aP(CP(bM(e.workspaceId,e.id)),e,Date.now())}function TP(e){let t=lP.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 EP(e){let t;try{t=JSON.parse(e)}catch{return}let n=hM(t);if(n instanceof J.errors)console.warn(`[home-hosted] ignored malformed SSE frame`,n.summary);else if(n.type===`hello`||n.type===`state`){if(n.state){lP.value=n.state;for(let e of lP.value.workspaces)for(let t of e.servers)wP(t)}}else if(n.type===`server`&&n.server){let e=n.server;TP(e),wP(e)}else if(n.type===`log`&&n.serverId&&n.lines){let e=n.workspaceId;if(e===void 0)return;bP(bM(e,n.serverId),n.lines)}}function DP(e,t,n){let r=bM(e,t);n.lines=[],n.version.value+=1,gP.value+=1;let i=new EventSource(`/api/servers/${encodeURIComponent(t)}/stream${dN(e)}`),a=e=>{let t=e,n;try{n=JSON.parse(t.data)}catch{return}let i=hM(n);i instanceof J.errors?console.warn(`[home-hosted] ignored malformed SSE frame`,i.summary):i.type===`log`&&i.lines?bP(r,i.lines):i.type===`server`&&i.server&&TP(i.server)};for(let e of[`log`,`server`])i.addEventListener(e,a);i.onerror=()=>{},n.source=i}function OP(e,t){let n=yP(bM(e,t));n.refs+=1,n.source||DP(e,t,n)}function kP(e,t){let n=hP.get(bM(e,t));n&&(n.refs=Math.max(0,n.refs-1),n.refs===0&&(n.source?.close(),n.source=null))}function AP(){if(_P)return;vP??=setInterval(()=>{fP.value=Date.now()},1e3);let e=new EventSource(`/api/events?logs=0`);_P=e,uP.value=`connecting`,e.onopen=()=>{uP.value=`open`},e.onerror=()=>{uP.value=`closed`};for(let t of[`hello`,`state`,`server`,`log`])e.addEventListener(t,e=>{EP(e.data)})}function jP(){_P?.close(),_P=null,vP&&clearInterval(vP),vP=null}function MP(e,t){let n=W(()=>{let n=bn(e),r=bn(t);return n===null||r===null?null:bM(n,r)}),r=null;return M(n,e=>{if(r!==null&&r!==e){let[e,t]=r.split(`/`);e!==void 0&&t!==void 0&&kP(e,t)}if(r=e,e!==null){let[t,n]=e.split(`/`);t!==void 0&&n!==void 0&&OP(t,n)}},{immediate:!0}),ze(()=>{if(r!==null){let[e,t]=r.split(`/`);e!==void 0&&t!==void 0&&kP(e,t)}r=null}),{version:W(()=>{let e=n.value;return gP.value,e===null?0:hP.get(e)?.version.value??0}),lines(){let e=n.value;return e===null?[]:xP(e)},count:W(()=>{let e=n.value;return gP.value,e===null?0:hP.get(e)?.lines.length??0}),clear(){let e=n.value;e!==null&&SP(e)}}}function NP(){let e=W(()=>lP.value?.workspaces??[]),t=W(()=>e.value.flatMap(e=>e.servers.map(t=>({workspace:e,server:t})))),n=W(()=>lP.value?.control??null),r=W(()=>lP.value?.host??null),i=W(()=>lP.value?.backups??null),a=W(()=>lP.value?.proxy??null),o=W(()=>lP.value?.projectDir??null),s=W(()=>lP.value?.dataRoot??null),c=W(()=>lP.value?.version??null);function l(e){return lP.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 CP(bM(e,t))}async function f(){if(lP.value===null)try{lP.value=await mN()}catch(e){e instanceof SM&&XN().requireLogin()}}async function p(e,t){dP.value=null;try{let n=await e();lP.value=await mN();let r=typeof t.success==`function`?t.success(n):t.success;return r&&mP.success(r),n}catch(e){if(e instanceof SM){XN().requireLogin();return}let n=yM(e);dP.value=n,mP.failure(t.title,n);return}}return{appState:lP,workspaces:e,allServers:t,control:n,host:r,backups:i,proxy:a,projectDir:o,dataRoot:s,version:c,connection:rn(uP),lastError:rn(dP),now:rn(fP),workspaceById:l,ensureState:f,serverById:u,seriesOf:d,refresh:(e=`Refresh failed`)=>p(async()=>{},{title:e}),start:(e,t)=>p(()=>zN(e,t,`start`),{title:`Could not start ${t}`}),stop:(e,t)=>p(()=>zN(e,t,`stop`),{title:`Could not stop ${t}`}),restart:(e,t)=>p(()=>zN(e,t,`restart`),{title:`Could not restart ${t}`}),startAll:e=>p(()=>BN(e),{title:`Could not start every server`,success:`Starting every enabled server`}),stopAll:e=>p(()=>HN(e),{title:`Could not stop every server`,success:`Stopping every server`}),setAutostart:(e,t,n)=>p(()=>WN(e,t,{autostart:n}),{title:`Could not change autostart for ${t}`}),setEnabled:(e,t,n)=>p(()=>WN(e,t,{enabled:n}),{title:`Could not change ${t}`}),freePort:(e,t)=>p(()=>VN(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=TA(n);return r===null?(mP.failure(`Could not change the bind for ${t}`,`"${n}" is not a bind value`),Promise.resolve(void 0)):p(()=>WN(e,t,{bind:r}),{title:`Could not change the bind for ${t}`})},saveConfig:(e,t,n)=>p(()=>WN(e,t,n),{title:`Could not save ${t}`,success:`${t} updated`}),saveGlobalSettings:e=>p(()=>yN(e),{title:`Could not save the settings`}),saveWorkspaceSettings:(e,t)=>p(()=>bN(e,t),{title:`Could not save the settings`}),clearLogs:(e,t)=>p(async()=>{await UN(e,t),SP(bM(e,t))},{title:`Could not clear the logs for ${t}`,success:`Buffer cleared`}),create:(e,t)=>p(()=>KN(e,t),{title:`Could not add the server`,success:`Server added`}),remove:(e,t)=>p(async()=>{await GN(e,t),kP(e,t),hP.delete(bM(e,t)),pP.delete(bM(e,t))},{title:`Could not remove ${t}`,success:`${t} removed`})}}var PP=`hh.theme`;function FP(){try{let e=localStorage.getItem(PP);if(e===`light`||e===`dark`||e===`system`)return e}catch{}return`system`}var IP=k(FP()),LP=k(typeof matchMedia<`u`&&matchMedia(`(prefers-color-scheme: dark)`).matches),RP=!1;function zP(){RP||typeof matchMedia>`u`||(RP=!0,matchMedia(`(prefers-color-scheme: dark)`).addEventListener(`change`,e=>{LP.value=e.matches,VP()}))}var BP=W(()=>IP.value===`system`?LP.value:IP.value===`dark`);function VP(){typeof document<`u`&&document.documentElement.classList.toggle(`dark`,BP.value)}function HP(){zP(),VP();function e(e){IP.value=e;try{localStorage.setItem(PP,e)}catch{}VP()}return{preference:IP,isDark:BP,setPreference:e,cycle(){e(IP.value===`light`?`dark`:IP.value===`dark`?`system`:`light`)}}}var UP=`hh.workspace`;function WP(){try{return localStorage.getItem(UP)}catch{return null}}function GP(e){try{e===null?localStorage.removeItem(UP):localStorage.setItem(UP,e)}catch{}}var KP=k(WP()),qP=k(!1);function JP(){let e=NP(),t=tP(),n=W(()=>e.appState.value?.workspaces??[]),r=W(()=>{let e=n.value;return e.find(e=>e.id===KP.value)??e[0]??null}),i=W(()=>r.value?.id??``);M([n,KP],()=>{let e=n.value;if(e.length===0)return;let t=e.find(e=>e.id===KP.value)?.id??e[0].id;t!==KP.value&&(KP.value=t,GP(t))},{immediate:!0});function a(e){KP.value=e,GP(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){qP.value=!0;try{let r=await gN(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`,yM(e));return}finally{qP.value=!1}}async function y(n,r){try{return await _N(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`,yM(e)),!1}}async function b(n){try{return await vN(n),await e.refresh(`Could not read the workspaces`),t.success(`Workspace deleted`),!0}catch(e){return t.failure(`Could not delete the workspace`,yM(e)),!1}}return{workspaces:n,selectedId:rn(KP),selected:r,activeId:i,creating:rn(qP),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 YP=t({default:()=>XP}),XP={"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.sending":`Sending…`,"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.httpScheme":`Scheme`,"lifecycle.allowInvalidCert":`Accept any certificate`,"lifecycle.allowInvalidCertHint":`For a self-signed backend. Only meaningful over https.`,"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.secretPassword":`Password`,"settings.backup.secretPasswordHint":`The panel's own password hash; restoring it reinstates the old password`,"settings.backup.secretApiToken":`API token`,"settings.backup.secretApiTokenHint":`The long-lived token scripts and agents use`,"settings.backup.secretTelegram":`Telegram bot token`,"settings.backup.secretTelegramHint":`Used for notifications`,"settings.backup.secretDdns":`DDNS credentials`,"settings.backup.secretDdnsHint":`Provider credentials, kept sealed with their key`,"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.schedule":`Automatic backups`,"settings.backups.scheduleHint":`The panel writes one archive on its own, on this interval.`,"settings.backups.scheduleHours":`Every (hours)`,"settings.backups.scheduleHoursHint":`24 is a daily archive.`,"settings.backups.scheduleKeep":`Keep automatic`,"settings.backups.scheduleKeepHint":`Manual archives are counted separately, by Keep.`,"settings.backups.scheduleLast":`Last automatic: {when}`,"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.destination.title":`Destinations`,"settings.destination.generalTitle":`General`,"settings.destination.generalDescription":`What every destination follows unless it sets its own.`,"settings.destination.description":`Where events go. Each one may follow the general settings above, or carry its own.`,"settings.destination.addTelegram":`Add Telegram`,"settings.destination.addWebhook":`Add webhook`,"settings.destination.empty":`No destination yet. Add a Telegram chat or a webhook to start receiving alerts.`,"settings.destination.chatId":`Chat id`,"settings.destination.chatIdHint":`Use Detect chats to fill this from the bot's updates.`,"settings.destination.botToken":`Bot token`,"settings.destination.saveToken":`Save token`,"settings.destination.tokenSet":`token set`,"settings.destination.noToken":`no token`,"settings.destination.detectChats":`Detect chats`,"settings.destination.sendTest":`Send a test`,"settings.destination.remove":`Remove`,"settings.destination.removeQuestion":`Remove {name}?`,"settings.destination.removeBody":`Its events stop being sent, and any stored bot token for it is removed.`,"settings.destination.ownSettings":`Own settings`,"settings.destination.ownSettingsHint":`Off follows the general settings above.`,"settings.destination.lastSend":`Last send: {result} {when}`,"settings.destination.testSent":`Test sent.`,"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.`,"settings.webhook.title":`Webhooks`,"settings.webhook.description":`Send the same events anywhere that accepts an HTTP request.`,"settings.webhook.empty":`No webhook yet. Add one to POST events somewhere else.`,"settings.webhook.add":`Add a webhook`,"settings.webhook.newTarget":`hook`,"settings.webhook.url":`URL`,"settings.webhook.urlPlaceholder":`https://ntfy.sh/my-topic`,"settings.webhook.method":`Method`,"settings.webhook.format":`Body`,"settings.webhook.formatJson":`JSON`,"settings.webhook.formatText":`Plain text`,"settings.webhook.formatHint":`JSON for Discord, Slack or your own endpoint; plain text for ntfy.`,"settings.webhook.headers":`Headers`,"settings.webhook.headersHint":`One Name: value per line, sent with every request. ntfy reads Title and Priority here; a bearer token goes in Authorization.`,"settings.webhook.presets":`Presets`,"settings.webhook.presetNtfy":`ntfy`,"settings.webhook.presetDiscord":`Discord`,"settings.webhook.presetSlack":`Slack`,"settings.webhook.sendTest":`Send a test`,"settings.webhook.testSent":`Test sent.`,"settings.webhook.cooldown":`Cooldown (ms)`,"settings.webhook.cooldownHint":`Per server and reason, for this target alone. 0 disables it.`,"settings.webhook.lastSend":`Last send: {result} {when}`,"settings.webhook.removeQuestion":`Remove {name}?`,"settings.webhook.removeBody":`Its events stop being sent. The URL and headers are removed from this workspace's config.`,"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`}},ZP=/\{(\w+)\}/g;function QP(e,t){return`${e}:${t||`index`}`}function $P(e,t){if(e==null)return null;let n=aF(e,t);return n===void 0?null:n}function eF(e,t,n){n?.preserveExisting?rF(e,t):nF(e,t)}function tF(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nF(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)?nF(o,a):e[i]=a}}function rF(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];tF(a)&&tF(o)&&rF(o,a)}}function iF(e,t){return!t||e.indexOf(`{`)===-1?e:e.replace(ZP,(e,n)=>{let r=t[n];return r===void 0?`{${n}}`:String(r)})}function aF(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 oF(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=tF(t)?{...t}:{};a[e]=n,a=n}return a[r[r.length-1]]=n,i}function sF(e,t){let n=cF(e,t),r={};return lF(e,t,``,r),Object.keys(r).length===0?n:{...n,...r}}function cF(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]=tF(r)&&tF(i)?cF(i,r):r}return n}function lF(e,t,n,r){for(let i of Object.keys(e)){if(i===`__proto__`)continue;let a=e[i];if(!tF(a))continue;let o=n?`${n}.${i}`:i,s=t[i];tF(s)?lF(a,s,o,r):s!=null&&uF(a,o,r)}}function uF(e,t,n){for(let r of Object.keys(e)){if(r===`__proto__`)continue;let i=e[r],a=`${t}.${r}`;tF(i)?uF(i,a,n):n[a]=i}}var dF=(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?iF(s.trim(),{...n,count:t}):null};function fF(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 pF(e,t){let n=fF(t);return n?`${e}\0${n}`:e}var mF=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=pF(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=pF(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=pF(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`)}},hF=Symbol(`i18n-leaf-miss`),gF=new WeakMap;function _F(e){let t=gF.get(e);return t||(t={leafByChunk:new Map,generation:0},gF.set(e,t)),t}function vF(e){let t=e?.translations??new Map,n=_F(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===hF?null:e}if(!t)return s(e).set(n,hF),null;let a=$P(t,n);return s(e).set(n,a===null?hF:a),a}function l(e,n){t.set(e,n),a(e),i()}function u(e,n){let r=t.get(e);r?(eF(r,n),a(e),i()):l(e,{...n})}return{hasCache(e,n){return t.has(QP(e,n))},getCache(e,n){return t.get(QP(e,n))},setCache(e,t,n){r.set(QP(e,t),n)},getGeneration(){return n.generation},hasTranslation(e,n){let r=`${e}:`;for(let[e,i]of t)if(e.startsWith(r)&&$P(i,n)!==null)return!0;return!1},hasPageTranslation(e,n){return t.has(QP(e,n))},getTranslation(e,n,r){let i=QP(e,n);return c(i,t.get(i),r)},lookupIn:c,loadTranslations(e,t,n=`index`){u(QP(e,n),t)},setTranslations(e,t,n=`index`){l(QP(e,n),t)},loadPageTranslations(e,n,r){let i=QP(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(QP(e,t),n)},clearCache(){t.clear(),o(),i()}}}var yF=class{constructor(e={}){this.formatter=new mF,this.pinnedCacheKey=``,this.pinnedTree=null,this.pinnedGeneration=-1,this.helper=vF(e.storage);let t={numberFormats:e.numberFormats,datetimeFormats:e.datetimeFormats};this.formatter=new mF(t),this.pluralFunc=e.plural&&e.plural!==dF?(t,n,r,i,a)=>e.plural(t,n,r,i,a)??dF(t,n,r,i,a):dF,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=QP(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 sF(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?.();i?i(n,String(e),r):this.missingHandler?this.missingHandler(n,String(e),r):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:iF(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:iF(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,oF(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)}},bF=Symbol(`i18n`),xF=Symbol(`i18n-locales`),SF=Symbol(`i18n-default-locale`),CF=Symbol(`i18n-router-strategy`),wF=N({name:`I18nGroup`,props:{prefix:{type:String,required:!0},groupClass:{type:String,default:``}},setup(e,{slots:t}){let n=Dr(bF);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()=>sc(`div`,{class:[`i18n-group`,e.groupClass]},t.default?.({prefix:e.prefix,t:r}))}}),TF=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=Dr(bF),r=Dr(CF,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?sc(`a`,{href:a.value,target:`_blank`,rel:`noopener noreferrer`,style:s.value},t.default?.()):r?.linkComponent?sc(r.linkComponent,{to:a.value,style:s.value},{default:t.default}):sc(`a`,{href:a.value,style:s.value,onClick:e=>{e.preventDefault(),r?r.push({path:a.value}):window.location.href=a.value}},t.default?.())}}),EF=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=Dr(bF),r=Dr(CF,void 0),i=Dr(xF,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 ia(()=>{document.addEventListener(`click`,T)}),ca(()=>{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(sc(`span`,m.value)),t[`after-selected-locale`]&&i.push(...w(t[`after-selected-locale`]())),i.push(sc(`span`,{style:{...S,...u.value?C:{},...e.customIconStyle}},`▼`)),n.push(sc(`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(sc(`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(sc(`li`,{key:n.code,style:{...y,...e.customItemStyle}},a))}),t[`after-dropdown-items`]&&i.push(...w(t[`after-dropdown-items`]())),n.push(sc(`ul`,{class:`i18n-switcher-dropdown`,style:{...v,...e.customDropdownStyle}},i))}return t[`after-dropdown`]&&n.push(...w(t[`after-dropdown`]())),sc(`div`,{ref:d,class:`i18n-switcher-wrapper`,style:{...g,...e.customWrapperStyle}},n)}}}),DF=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=Dr(bF);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?sc(e.tag,{...o,innerHTML:t}):sc(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 sc(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(sc(n)),u=r+t.length)}return u<c.length&&l.push(c.slice(u)),t.default?sc(e.tag,o,t.default({children:l})):l.length>0?sc(e.tag,o,l):sc(e.tag,o,c)}}}),OF=class extends yF{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 kF(e){let{routingStrategy:t,locales:n,defaultLocale:r,...i}=e,a=new OF(i),o=null,s=t||null;return{global:a,setRoutingStrategy:e=>{s=e,o&&o.provide(CF,e)},install(e){o=e,e.provide(bF,a),s&&e.provide(CF,s),n&&e.provide(xF,n),r&&e.provide(SF,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`,DF),e.component(`I18nLink`,TF),e.component(`I18nGroup`,wF),e.component(`I18nSwitcher`,EF)}}}var AF=[{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`}],jF=`hh.locale`,MF=new Map(AF.map(e=>[e.code,e]));function NF(e){return MF.get(e)}function PF(e){return MF.has(e)}function FF(e){if(e.length===0)return null;let t=e.toLowerCase(),n=AF.find(e=>e.code.toLowerCase()===t);if(n!==void 0)return n.code;let r=t.split(`-`)[0];return AF.find(e=>e.code.toLowerCase()===r||e.code.toLowerCase().split(`-`)[0]===r)?.code??null}function IF(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 LF=new Map,RF=(e,t,n,r,i)=>{let a=i(e);if(a==null)return null;if(typeof a==`string`)return IF(a.split(`|`)[0].trim(),n??{},t);let o=LF.get(r);o===void 0&&(o=new Intl.PluralRules(r),LF.set(r,o));let s=a[o.select(t)]??a.other;return typeof s==`string`?IF(s,n??{},t):null},zF=`modulepreload`,BF=function(e){return`/`+e},VF={},HF=function(e){return e.pathname.endsWith(`.css`)},UF=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},WF=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,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?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=BF(t,n);let r=s(t),i=HF(r);return UF(VF,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:zF,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).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)})},GF=Object.assign({"../../i18n/generated/en.json":YP}),KF=Object.assign({"../../i18n/generated/de.json":()=>WF(()=>import(`./de-DL4xkOYj.js`),[]),"../../i18n/generated/es.json":()=>WF(()=>import(`./es-CKj-v3FY.js`),[]),"../../i18n/generated/fr.json":()=>WF(()=>import(`./fr-72WremqT.js`),[]),"../../i18n/generated/ja.json":()=>WF(()=>import(`./ja-BU4XyMbC.js`),[]),"../../i18n/generated/ko.json":()=>WF(()=>import(`./ko-Db8xtJ0N.js`),[]),"../../i18n/generated/ru.json":()=>WF(()=>import(`./ru-Bs8KXP2O.js`),[]),"../../i18n/generated/vi.json":()=>WF(()=>import(`./vi-DdQD4h7B.js`),[]),"../../i18n/generated/zh-CN.json":()=>WF(()=>import(`./zh-CN-DIrw2Ubv.js`),[])}),qF=kF({locale:`en`,fallbackLocale:`en`,defaultLocale:`en`,plural:RF,missingWarn:!1,messages:{en:Object.values(GF)[0]?.default??{}},locales:AF.map(e=>({...e}))}),JF=new Set([`en`]),YF=new Map;function XF(){try{let e=localStorage.getItem(jF);if(e!==null&&PF(e))return e}catch{}return null}function ZF(){let e=typeof navigator>`u`?[]:[...navigator.languages??[],navigator.language].filter(e=>typeof e==`string`);for(let t of e){let e=FF(t);if(e!==null)return e}return`en`}async function QF(e){if(JF.has(e))return;let t=YF.get(e);if(t!==void 0)return t;let n=KF[`../../i18n/generated/${e}.json`];if(n===void 0)return;let r=n().then(t=>{qF.global.addTranslations(e,t.default,!0),JF.add(e)}).finally(()=>YF.delete(e));return YF.set(e,r),r}function $F(e){typeof document<`u`&&(document.documentElement.lang=NF(e)?.iso??e)}async function eI(e){if(PF(e)&&e!==qF.global.locale.value){try{await QF(e)}catch{return}qF.global.locale.value=e,$F(e);try{localStorage.setItem(jF,e)}catch{}}}async function tI(){let e=XF()??ZF();try{await QF(e)}catch{$F(`en`);return}e!==`en`&&(qF.global.locale.value=e),$F(e)}function Y(e,t,n){let r=qF.global.t(e,t,n??null);return typeof r==`string`?r:String(r??``)}function nI(e,t,n){let r={...n,count:t},i=qF.global.resolveTranslations()[e];return i===void 0?Y(e,r,e):RF(e,t,r,rI(),()=>i)??Y(e,r,e)}function rI(){return qF.global.locale.value}function iI(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=iI(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function aI(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=iI(e))&&(r&&(r+=` `),r+=t);return r}var oI=(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},sI=(e,t)=>({classGroupId:e,validator:t}),cI=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),lI=`-`,uI=[],dI=`arbitrary..`,fI=e=>{let t=hI(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return mI(e);let n=e.split(lI);return pI(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?oI(i,t):t:i||uI}return n[e]||uI}}},pI=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=pI(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(lI):e.slice(t).join(lI),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},mI=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?dI+r:void 0})(),hI=e=>{let{theme:t,classGroups:n}=e;return gI(n,t)},gI=(e,t)=>{let n=cI();for(let r in e){let i=e[r];_I(i,n,r,t)}return n},_I=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];vI(i,t,n,r)}},vI=(e,t,n,r)=>{typeof e==`string`?yI(e,t,n):typeof e==`function`?bI(e,t,n,r):xI(e,t,n,r)},yI=(e,t,n)=>{let r=e===``?t:SI(t,e);r.classGroupId=n},bI=(e,t,n,r)=>{CI(e)?_I(e(r),t,n,r):(t.validators===null&&(t.validators=[]),t.validators.push(sI(n,e)))},xI=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];_I(o,SI(t,a),n,r)}},SI=(e,t)=>{let n=e,r=t.split(lI),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=cI(),n.nextPart.set(t,i)),n=i}return n},CI=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,wI=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)}}},TI=`!`,EI=`:`,DI=[],OI=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),kI=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===EI){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(TI)?(c=s.slice(0,-1),l=!0):s.startsWith(TI)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return OI(t,l,c,u)};if(t){let e=t+EI,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):OI(DI,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},AI=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}},jI=e=>({cache:wI(e.cacheSize),parseClassName:kI(e),sortModifiers:AI(e),postfixLookupClassGroupIds:MI(e),...fI(e)}),MI=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},NI=/\s+/,PI=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(NI),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||(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?_+TI:_,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},FI=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=II(n))&&(i&&(i+=` `),i+=r);return i},II=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=II(e[r]))&&(n&&(n+=` `),n+=t);return n},LI=(e,...t)=>{let n,r,i,a,o=o=>(n=jI(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=PI(e,n);return i(e,a),a};return a=o,(...e)=>a(FI(...e))},RI=[],zI=e=>{let t=t=>t[e]||RI;return t.isThemeGetter=!0,t.themeKey=e,t},BI=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,VI=/^\((?:(\w[\w-]*):)?(.+)\)$/i,HI=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,UI=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,WI=/\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$/,GI=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,KI=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,qI=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,JI=e=>HI.test(e),YI=e=>!!e&&!Number.isNaN(Number(e)),XI=e=>!!e&&Number.isInteger(Number(e)),ZI=e=>e.endsWith(`%`)&&YI(e.slice(0,-1)),QI=e=>UI.test(e),$I=()=>!0,eL=e=>WI.test(e)&&!GI.test(e),tL=()=>!1,nL=e=>KI.test(e),rL=e=>qI.test(e),iL=e=>!X(e)&&!Z(e),aL=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)),oL=e=>xL(e,TL,tL),X=e=>BI.test(e),sL=e=>xL(e,EL,eL),cL=e=>xL(e,DL,YI),lL=e=>xL(e,kL,$I),uL=e=>xL(e,OL,tL),dL=e=>xL(e,CL,tL),fL=e=>xL(e,wL,rL),pL=e=>xL(e,AL,nL),Z=e=>VI.test(e),mL=e=>SL(e,EL),hL=e=>SL(e,OL),gL=e=>SL(e,CL),_L=e=>SL(e,TL),vL=e=>SL(e,wL),yL=e=>SL(e,AL,!0),bL=e=>SL(e,kL,!0),xL=(e,t,n)=>{let r=BI.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},SL=(e,t,n=!1)=>{let r=VI.exec(e);return r?r[1]?t(r[1]):n:!1},CL=e=>e===`position`||e===`percentage`,wL=e=>e===`image`||e===`url`,TL=e=>e===`length`||e===`size`||e===`bg-size`,EL=e=>e===`length`,DL=e=>e===`number`,OL=e=>e===`family-name`,kL=e=>e===`number`||e===`weight`,AL=e=>e===`shadow`,jL=LI(()=>{let e=zI(`color`),t=zI(`font`),n=zI(`text`),r=zI(`font-weight`),i=zI(`tracking`),a=zI(`leading`),o=zI(`breakpoint`),s=zI(`container`),c=zI(`spacing`),l=zI(`radius`),u=zI(`shadow`),d=zI(`inset-shadow`),f=zI(`text-shadow`),p=zI(`drop-shadow`),m=zI(`blur`),h=zI(`perspective`),g=zI(`aspect`),_=zI(`ease`),v=zI(`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=()=>[JI,`full`,`auto`,...w()],ee=()=>[XI,`none`,`subgrid`,Z,X],te=()=>[`auto`,{span:[`full`,XI,Z,X]},XI,Z,X],ne=()=>[XI,`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=()=>[JI,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],ce=()=>[s,JI,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],le=()=>[JI,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],E=()=>[e,Z,X],ue=()=>[...b(),gL,dL,{position:[Z,X]}],de=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],fe=()=>[`auto`,`cover`,`contain`,_L,oL,{size:[Z,X]}],pe=()=>[ZI,mL,sL],me=()=>[``,`none`,`full`,l,Z,X],he=()=>[``,YI,mL,sL],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=()=>[YI,ZI,gL,dL],ye=()=>[``,`none`,m,Z,X],be=()=>[`none`,YI,Z,X],xe=()=>[`none`,YI,Z,X],D=()=>[YI,Z,X],Se=()=>[JI,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[QI],breakpoint:[QI],color:[$I],container:[QI],"drop-shadow":[QI],ease:[`in`,`out`,`in-out`],font:[iL],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[QI],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[QI],shadow:[QI],spacing:[`px`,YI],text:[QI],"text-shadow":[QI],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,JI,X,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,X]}],"container-named":[aL],columns:[{columns:[YI,`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:[XI,`auto`,Z,X]}],basis:[{basis:[JI,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[YI,JI,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,YI,Z,X]}],shrink:[{shrink:[``,YI,Z,X]}],order:[{order:[XI,`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,mL,sL]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,bL,lL]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ZI,X]}],"font-family":[{font:[hL,uL,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":[YI,`none`,Z,cL]}],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:[YI,`from-font`,`auto`,Z,sL]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[YI,`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:[XI,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`]},XI,Z,X],radial:[``,Z,X],conic:[``,XI,Z,X]},vL,fL]}],"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":[YI,Z,X]}],"outline-w":[{outline:[``,YI,mL,sL]}],"outline-color":[{outline:E()}],shadow:[{shadow:[``,`inner`,`none`,u,yL,pL]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":[`none`,d,yL,pL]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:he()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[YI,sL]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":he()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":[`none`,f,yL,pL]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[YI,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":[YI]}],"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":[YI]}],"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:[YI,Z,X]}],contrast:[{contrast:[YI,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,yL,pL]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:[``,YI,Z,X]}],"hue-rotate":[{"hue-rotate":[YI,Z,X]}],invert:[{invert:[``,YI,Z,X]}],saturate:[{saturate:[YI,Z,X]}],sepia:[{sepia:[``,YI,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":ye()}],"backdrop-brightness":[{"backdrop-brightness":[YI,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[YI,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,YI,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[YI,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,YI,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[YI,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[YI,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,YI,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:[YI,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[YI,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:[XI,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:[YI,mL,sL,cL]}],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 jL(aI(e))}var ML={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}},NL={disabled:{labelKey:`health.disabled`,tone:`neutral`},unknown:{labelKey:`health.unknown`,tone:`neutral`},healthy:{labelKey:`health.healthy`,tone:`ok`},unhealthy:{labelKey:`health.unhealthy`,tone:`danger`}},PL={ok:`text-ok`,warn:`text-warn`,danger:`text-danger`,info:`text-info`,neutral:`text-muted`,accent:`text-accent`},FL={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`},IL={ok:`bg-ok`,warn:`bg-warn`,danger:`bg-danger`,info:`bg-info`,neutral:`bg-faint`,accent:`bg-accent`};function LL(e,t){return e===`crashed`||e===`conflict`||t===`unhealthy`?`danger`:e===`starting`||e===`stopping`||e===`backoff`?`warn`:e===`running`?`ok`:`neutral`}var RL={start:`history.start`,exit:`history.exit`,crash:`history.crash`,"forced-restart":`history.forcedRestart`,unhealthy:`history.unhealthy`,recovered:`history.recovered`},zL={start:`ok`,exit:`neutral`,crash:`danger`,"forced-restart":`warn`,unhealthy:`warn`,recovered:`info`},BL={viewBox:`0 0 80 80`,class:`size-full -rotate-0`},VL=[`stroke-dasharray`],HL=[`stroke-dasharray`],UL={class:`absolute inset-0 grid place-items-center`},WL={class:`font-mono text-sm font-semibold tabular-nums text-ink`},GL={class:`text-2xs font-medium text-faint`},KL=34,qL=.75,JL=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*KL,r=W(()=>t.value===null||!Number.isFinite(t.value)?0:Math.min(1,Math.max(0,t.value/100))*qL),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`,BL,[B(`circle`,{cx:`40`,cy:`40`,r:KL,fill:`none`,class:`stroke-line-soft`,"stroke-width":6,"stroke-dasharray":`${qL*n} ${n}`,transform:`rotate(135 40 40)`,"stroke-linecap":`round`},null,8,VL),B(`circle`,{cx:`40`,cy:`40`,r:KL,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,HL)])),B(`div`,UL,[B(`span`,WL,O(t.display??(t.value===null?`—`:`${Math.round(t.value)}%`)),1)])],4),B(`span`,GL,O(t.label),1)],2))}}),YL=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))}}),XL={key:0,class:`grid size-10 place-items-center rounded-full border border-line bg-panel-2 text-faint`},ZL={class:`max-w-sm space-y-1`},QL={class:`text-sm font-medium text-ink`},$L={key:0,class:`text-xs leading-relaxed text-muted`},eR={key:1,class:`flex items-center gap-2`},tR=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`,XL,[F(e.$slots,`icon`)])):U(``,!0),B(`div`,ZL,[B(`p`,QL,O(e.$props.title),1),e.$props.description?(L(),R(`p`,$L,O(e.$props.description),1)):U(``,!0)]),e.$slots.action?(L(),R(`div`,eR,[F(e.$slots,`action`)])):U(``,!0)],2))}});function nR(e){return e===null||!Number.isFinite(e)?`—`:`${(e*100).toFixed(e>=.999?0:1)}%`}var rR={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 iR(e,t=rR){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 aR(e,t,n=rR){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 oR(e,t,n=rR){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 sR(){return NF(rI())?.iso}var cR=new Map,lR=new Map,uR={s:`s`,m:`m`,h:`h`,d:`d`};function dR(){return rI()===`en`}function fR(){let e=sR(),t=dR()?`narrow`:`short`,n=`${e??``}:${t}`,r=cR.get(n);return r===void 0&&(r=new Intl.RelativeTimeFormat(e,{numeric:`always`,style:t}),cR.set(n,r)),r}function pR(e,t){if(dR())return`${e}${uR[t]}`;let n={s:`second`,m:`minute`,h:`hour`,d:`day`},r=sR(),i=`${r??``}:${t}`,a=lR.get(i);return a===void 0&&(a=new Intl.NumberFormat(r,{style:`unit`,unit:n[t],unitDisplay:`short`}),lR.set(i,a)),a.format(e)}function mR(e,t,n){return fR().format(n*e,{s:`second`,m:`minute`,h:`hour`,d:`day`}[t])}var hR={span:(e,t,n)=>n===null?pR(e,t):`${pR(e,t)} ${pR(n.value,n.unit)}`,now:()=>Y(`common.now`),ahead:(e,t)=>mR(e,t,1),ago:(e,t)=>mR(e,t,-1),never:()=>Y(`common.never`)};function gR(e){return iR(e,hR)}function _R(e,t){return aR(e,t,hR)}function vR(e,t){return oR(e,t,hR)}function yR(e){let t=new Date(e);return`${t.toLocaleTimeString(sR(),{hour12:!1})}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function bR(e){return new Date(e).toLocaleString(sR(),{year:`numeric`,month:`short`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}function xR(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 SR(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 CR(e){return e===null||!Number.isFinite(e)?`—`:e>=100?`${Math.round(e)}%`:`${e.toFixed(1)}%`}function wR(e){return e===void 0?Y(`common.unset`):typeof e==`string`?e:JSON.stringify(e)}var TR={key:1,class:`space-y-4`},ER={class:`grid grid-cols-2 gap-3 sm:grid-cols-4`},DR={class:`grid grid-cols-2 gap-x-4 gap-y-2 border-t border-line-soft pt-3 sm:grid-cols-4`},OR={class:`flex items-center gap-1 text-2xs text-faint`},kR={class:`font-mono text-xs text-ink`},AR={class:`text-2xs text-faint`},jR={class:`font-mono text-xs tabular-nums text-ink`},MR={class:`flex items-center gap-1 text-2xs text-faint`},NR={class:`font-mono text-xs text-ink`},PR={class:`flex items-center gap-1 text-2xs text-faint`},FR={class:`font-mono text-xs text-ink`},IR={class:`space-y-2 border-t border-line-soft pt-3`},LR={class:`flex items-center gap-1.5 text-2xs font-medium text-faint`},RR={class:`flex items-baseline justify-between gap-2`},zR=[`title`],BR={class:`shrink-0 font-mono text-2xs tabular-nums text-faint`},VR={key:0,class:`space-y-1 rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2`},HR={class:`text-2xs font-medium text-danger`},UR=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(tR,{key:0,compact:``,title:A(Y)(`host.samplingOff`),description:A(Y)(`host.samplingOffDescription`)},null,8,[`title`,`description`])):(L(),R(`div`,TR,[B(`div`,ER,[V(JL,{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(JL,{value:t.host.memoryUsedPercent,label:A(Y)(`common.memory`),size:72},null,8,[`value`,`label`]),V(JL,{value:t.host.swapUsedPercent,label:A(Y)(`host.swap`),size:72,"warn-at":50},null,8,[`value`,`label`]),V(JL,{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`,DR,[B(`div`,null,[B(`dt`,OR,[V(A(dy),{class:`size-3`}),H(O(A(Y)(`host.cpus`)),1)]),B(`dd`,kR,O(t.host.cpus),1)]),B(`div`,null,[B(`dt`,AR,O(A(Y)(`host.loadAverage`)),1),B(`dd`,jR,O(r.value),1)]),B(`div`,null,[B(`dt`,MR,[V(A(Dy),{class:`size-3`}),H(O(A(Y)(`host.memoryUsed`)),1)]),B(`dd`,NR,O(t.host.memoryUsedPercent.toFixed(0))+`% `,1)]),B(`div`,null,[B(`dt`,PR,[V(A(Zy),{class:`size-3`}),H(O(A(Y)(`host.sampled`)),1)]),B(`dd`,FR,O(A(vR)(t.host.sampledAt,t.now)),1)])]),B(`div`,IR,[B(`p`,LR,[V(A(yy),{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`,RR,[B(`span`,{class:`truncate font-mono text-2xs text-muted`,title:e.path},O(e.path),9,zR),B(`span`,BR,O(A(xR)(e.totalBytes-e.freeBytes))+` / `+O(A(xR)(e.totalBytes))+` · `+O(e.usedPercent.toFixed(0))+`% `,1)]),V(YL,{value:e.usedPercent},null,8,[`value`])]))),128))]),t.host.alerts.length>0?(L(),R(`div`,VR,[B(`p`,HR,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)]))}}),WR={key:1,class:`flex flex-col`},GR={class:`min-w-0 flex-1`},KR={class:`flex items-baseline gap-1.5`},qR={class:`truncate text-xs font-medium text-ink`},JR=[`title`],YR={key:0,class:`text-muted`},XR={class:`shrink-0 pt-0.5 text-2xs text-faint`},ZR=N({__name:`ActivityFeed`,props:{servers:{},now:{},limit:{default:12},serverId:{default:void 0}},setup(e){let t=e,n={start:Py,exit:Jy,crash:iy,"forced-restart":zy,unhealthy:eb,recovered:ay},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=ha(`RouterLink`);return r.value.length===0?(L(),z(tR,{key:0,compact:``,title:A(Y)(`activity.emptyTitle`),description:A(Y)(`activity.emptyDescription`)},null,8,[`title`,`description`])):(L(),R(`ol`,WR,[(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(_a(n[e.type]),{class:D(A(Q)(`mt-0.5 size-3.5 shrink-0`,A(PL)[A(zL)[e.type]]))},null,8,[`class`])),B(`div`,GR,[B(`p`,KR,[B(`span`,qR,O(A(Y)(A(RL)[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`,YR,` · `+O(A(Y)(`activity.ran`,{duration:A(gR)(e.runtimeMs)})),1))],8,JR)]),B(`span`,XR,O(A(vR)(e.ts,t.now)),1)],2))),128))]))}}}),QR=[`restart`,`health`,`stop`];function $R(e,t){return JSON.stringify(ez(e))===JSON.stringify(ez(t))}function ez(e){if(Array.isArray(e))return e.map(ez);if(typeof e==`object`&&e){let t={};for(let n of Object.keys(e).sort()){let r=e[n];r!=null&&(t[n]=ez(r))}return t}return e??null}function tz(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??{}))$R(t[e],r)||(n[e]=r);Object.keys(n).length>0&&(r[i]=n)}else $R(e[i],a)||(r[i]=a);return r}function nz(e,t){let n=e;return tz({...n,label:n.label??``},t,QR)}function rz(e,t=``){return typeof e!=`object`||!e||Array.isArray(e)?[{path:t,value:e}]:Object.entries(e).flatMap(([e,n])=>rz(n,t.length===0?e:`${t}.${e}`))}function iz(e,t){let n=new Map(rz(t).map(e=>[e.path,e.value]));return rz(e).map(e=>({path:e.path,from:n.get(e.path),to:e.value}))}function az(e){let t=0;for(let n of Object.values(e))t+=typeof n==`object`&&n&&!Array.isArray(n)?az(n):1;return t}async function oz(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 sz=36e5,cz={enabled:!0,maxRetries:3,baseDelayMs:1e3,factor:2,maxDelayMs:3e4,resetAfterMs:6e4},lz={enabled:!0,mode:`port`,http:{scheme:`http`,allowInvalidCert:!1,path:`/`,method:`GET`,expectStatusBelow:400,expectBody:``},intervalMs:5e3,timeoutMs:1500,unhealthyThreshold:3,forceRestartAfterMs:0,startTimeoutMs:2e4},uz={signal:`SIGTERM`,killGroup:!0,graceMs:5e3,killPortHolders:!1};function dz(e){return{...e,http:{...e.http}}}function fz(){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:``,scheduleEnabled:!1,scheduleHours:24,scheduleKeep:7}}}function pz(){return{defaults:{enabled:!0,autostart:!1,bind:`local`,onPortConflict:`block`,logBufferLines:500,restart:{...cz},health:dz(lz),stop:{...uz}},logs:{persist:!0,maxBytes:2e6,keep:3},policy:{onCrash:!0,onUnhealthy:!0,onForcedRestart:!0,onRecovered:!1,onHost:!0,onDdns:!0,cooldownMs:12e4},destinations:[]}}function mz(e){return e===`loopback`?`loopback`:e===`any`||e===!0}function hz(e){return{enabled:e.enabled,sessionTtlMs:e.sessionTtlMs,cookieSecure:e.cookieSecure,trustProxy:mz(e.trustProxy),maxLoginAttempts:e.maxLoginAttempts,lockoutMs:e.lockoutMs}}function gz(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 _z(e){return{label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,tlsEnabled:e.tls.enabled}}function vz(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}function yz(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}}var bz={intervalMs:0,keep:7};function xz(e){let t=e.schedule??bz;return{enabled:e.enabled,keep:e.keep,includePaths:e.includePaths.join(`, `),scheduleEnabled:t.intervalMs>0,scheduleHours:Math.max(1,Math.round(t.intervalMs/sz)||1),scheduleKeep:t.keep}}function Sz(e,t){return tz(e,{...t,diskPaths:vz(t.diskPaths)})}function Cz(e,t){let n=xz(e),r={};return(t.scheduleEnabled!==n.scheduleEnabled||t.scheduleHours!==n.scheduleHours)&&(r.intervalMs=t.scheduleEnabled?t.scheduleHours*sz:0),t.scheduleKeep!==n.scheduleKeep&&(r.keep=t.scheduleKeep),tz({enabled:e.enabled,keep:e.keep,includePaths:e.includePaths,schedule:e.schedule??bz},{enabled:t.enabled,keep:t.keep,includePaths:vz(t.includePaths),schedule:r},[`schedule`])}function wz(e,t){return tz({label:e.label,port:e.port,host:e.host,openBrowser:e.openBrowser,auth:hz(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:mz(t.auth.trustProxy)},tls:{enabled:t.control.tlsEnabled}},[`auth`,`tls`])}function Tz(e,t){return tz(e,t,[`restart`,`health`,`stop`])}function Ez(e,t){return tz(e,t)}function Dz(e){return{onCrash:e.onCrash,onUnhealthy:e.onUnhealthy,onForcedRestart:e.onForcedRestart,onRecovered:e.onRecovered,onHost:e.onHost,onDdns:e.onDdns??!0,cooldownMs:e.cooldownMs}}function Oz(e){return{id:e.id,kind:e.kind,enabled:e.enabled,useOwnSettings:e.useOwnSettings,chatId:e.chatId??``,tokenSet:e.tokenSet,url:e.url??``,method:e.method??`POST`,format:e.format??`json`,headers:e.headers??``,policy:Dz(e)}}function kz(e,t){let n=tz({defaults:Dz(e)},{defaults:{...t}},[`defaults`]);return Object.keys(n).length===0?null:n}function Az(e,t){let n=new Map(e.map(e=>[e.id,Oz(e)]));return!t.some(e=>JSON.stringify(n.get(e.id))!==JSON.stringify(e))&&t.length===e.length?null:{destinations:t.map(e=>({kind:e.kind,id:e.id,enabled:e.enabled,useOwnSettings:e.useOwnSettings,...e.kind===`telegram`?{chatId:e.chatId}:{url:e.url,method:e.method,format:e.format,headers:e.headers},...e.useOwnSettings?e.policy:{}}))}}function jz(e,t){switch(t){case`control`:return{...e.control,auth:{...e.auth}};case`host`:return{...e.host};case`backups`:return{...e.backups}}}function Mz(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 Nz(e,t,n){return t!==void 0&&Iz(t[n],Mz(e,n))}function Pz(e,t,n){t.control={...t.control??{},[n]:Mz(e,n)}}function Fz(e,t){switch(t){case`defaults`:return{...e.defaults,restart:{...e.defaults.restart},health:dz(e.defaults.health),stop:{...e.defaults.stop}};case`logs`:return{...e.logs};case`notifications`:return{policy:{...e.policy},destinations:e.destinations.map(e=>({...e,policy:{...e.policy}}))}}}function Iz(e,t){return e!==void 0&&JSON.stringify(e)!==JSON.stringify(t)}function Lz(e,t){return e.label!==t.control.label||e.port!==t.control.port||e.host!==t.control.host||e.openBrowser!==t.control.openBrowser}function Rz(e,t){return e.tls.enabled!==t.control.tlsEnabled}function zz(e,t){return az(tz({...gz(e.auth)},{...t.auth}))>0}function Bz(e,t,n){return W({get:e,set:e=>{t(e===null||Number.isNaN(e)?n:e)}})}async function Vz(e){if(!e.rebinding)return null;let t=e.targetUrl??e.control.url;return t.length===0||t===window.location.origin?null:await oz(t)?(window.location.replace(t),null):Y(`settings.rebind.failed`,{target:t})}function Hz(e){return e.split(`
40
+ `).map(e=>e.trim()).filter(e=>e.length>0)}function Uz(e){return Object.entries(e).map(([e,t])=>`${e}=${t}`).join(`
41
+ `)}function Wz(e){let t={};for(let n of Hz(e)){let e=n.indexOf(`=`);e<=0||(t[n.slice(0,e).trim()]=n.slice(e+1).trim())}return t}function Gz(e){return e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0)}var Kz=/^[a-z0-9][a-z0-9_-]*$/;function qz(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??cz},health:dz(e?.health??lz),stop:{...e?.stop??uz},bootstrapEnabled:!1,bootstrapCommand:``,bootstrapArgs:``,bootstrapEnv:``,bootstrapTimeoutMs:12e4,bootstrapRunOnce:!0}}var Jz={port:`validation.port`,idRequired:`validation.idRequired`,idPattern:`validation.idPattern`,commandRequired:`validation.commandRequired`,bootstrapCommand:`validation.bootstrapCommand`};function Yz(e){return e!==null&&Number.isFinite(e)?e:0}function Xz(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 Zz(e){return e===null||Number.isNaN(e)||Number.isInteger(e)&&e>=1&&e<=65535?null:Jz.port}function Qz(e,t){let n=Yz(e.maxRssMb),r=Yz(e.bootstrapTimeoutMs),i=Xz(t),a=tz({restart:t?.restart??cz,health:t?.health??lz,stop:t?.stop??uz},{restart:e.restart,health:e.health,stop:e.stop});return{...tz(i,{args:Hz(e.args),cwd:e.cwd.trim().length>0?e.cwd.trim():`.`,env:Wz(e.env),dataEnvs:Wz(e.dataEnvs),dependsOn:Gz(e.dependsOn),envFile:e.envFile.trim(),backupPaths:Hz(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:Yz(e.logBufferLines)>0?Yz(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:Hz(e.bootstrapArgs),env:Wz(e.bootstrapEnv),timeoutMs:r>=1e3?r:12e4,runOnce:e.bootstrapRunOnce}}:{}}}function $z(e){return e.id.trim().length===0?Jz.idRequired:Kz.test(e.id.trim())?e.command.trim().length===0?Jz.commandRequired:e.bootstrapEnabled&&e.bootstrapCommand.trim().length===0?Jz.bootstrapCommand:Zz(e.port):Jz.idPattern}var eB={class:`mb-3 flex items-start justify-between gap-3`},tB={class:`min-w-0`},nB={class:`text-xs font-semibold text-ink`},rB={key:0,class:`mt-0.5 text-2xs leading-4 text-muted`},iB={class:`flex shrink-0 items-center gap-2`},aB=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`,eB,[B(`div`,tB,[B(`h3`,nB,O(t.title),1),t.description?(L(),R(`p`,rB,O(t.description),1)):U(``,!0)]),B(`div`,iB,[F(e.$slots,`actions`)])]),B(`div`,{class:D(A(Q)(`grid gap-3`,n.value))},[F(e.$slots,`default`)],2)],2))}});function oB(e){return e==null||Number.isNaN(e)?``:String(e)}function sB(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 cB=`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent/60 focus-visible:ring-offset-2 focus-visible:ring-offset-page`,lB=`text-xs font-medium text-muted`,uB=`text-2xs leading-4 text-faint`,dB=[`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(` `),fB=`${dB} font-mono text-xs`,pB=[`for`],mB=[`id`,`step`,`min`,`max`,`aria-invalid`],hB={key:1,class:`text-2xs text-danger`},gB=N({inheritAttrs:!1,__name:`NumberField`,props:Va({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=lo(e,`modelValue`),r=fi(),i=W({get:()=>oB(n.value),set:e=>{n.value=sB(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(lB))},O(t.label),11,pB)):U(``,!0),wr(B(`input`,Ps({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(dB),`font-mono tabular-nums`,(t.error||a.value)&&`border-danger`),"aria-invalid":t.error||a.value?!0:void 0},e.$attrs),null,16,mB),[[nu,i.value]]),t.error?(L(),R(`p`,hB,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(uB))},O(t.hint),3)):U(``,!0)],2))}}),_B=[`for`],vB={class:`relative`},yB=[`id`],bB=[`value`,`disabled`],xB={key:1,class:`text-2xs text-danger`},SB=N({inheritAttrs:!1,__name:`SelectField`,props:Va({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=lo(e,`modelValue`),r=fi();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(lB))},O(t.label),11,_B)):U(``,!0),B(`div`,vB,[wr(B(`select`,Ps({id:A(r),"onUpdate:modelValue":i[0]||=e=>n.value=e,class:A(Q)(A(dB),`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,bB))),128))],16,yB),[[ou,n.value]]),V(A($v),{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`,xB,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(uB))},O(t.hint),3)):U(``,!0)],2))}}),CB=[`for`],wB=[`id`,`aria-invalid`,`aria-describedby`],TB=[`id`],EB=[`id`],DB=N({inheritAttrs:!1,__name:`TextField`,props:Va({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=lo(e,`modelValue`),r=fi(),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(lB))},O(t.label),11,CB)):U(``,!0),wr(B(`input`,Ps({id:A(r),"onUpdate:modelValue":a[0]||=e=>n.value=e,class:A(Q)(A(dB),t.error&&`border-danger`),"aria-invalid":t.error?!0:void 0,"aria-describedby":i.value},e.$attrs),null,16,wB),[[du,n.value]]),t.error?(L(),R(`p`,{key:1,id:`${A(r)}-hint`,class:`text-2xs text-danger`},O(t.error),9,TB)):t.hint?(L(),R(`p`,{key:2,id:`${A(r)}-hint`,class:D(A(uB))},O(t.hint),11,EB)):U(``,!0)],2))}}),OB=[`id`],kB={key:0,class:`block text-2xs text-faint`},AB=N({__name:`ToggleSwitch`,props:Va({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=fi(),r=lo(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(xg),{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(cB)))},{default:j(()=>[V(A(Sg),{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,OB),t.hint?(L(),R(`span`,kB,O(t.hint),1)):U(``,!0)])],2))}}),jB=N({__name:`LifecycleFields`,props:Va({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=lo(e,`restart`),n=lo(e,`health`),r=lo(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(aB,{title:A(Y)(`lifecycle.restartTitle`),description:A(Y)(`lifecycle.restartDescription`),columns:3},{default:j(()=>[V(AB,{modelValue:t.value.enabled,"onUpdate:modelValue":y[0]||=e=>t.value.enabled=e,label:A(Y)(`lifecycle.restartOnCrash`),wide:``},null,8,[`modelValue`,`label`]),V(gB,{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(gB,{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(gB,{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(gB,{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(gB,{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(aB,{title:A(Y)(`lifecycle.healthTitle`),description:A(Y)(`lifecycle.healthDescription`),columns:3},{default:j(()=>[V(AB,{modelValue:n.value.enabled,"onUpdate:modelValue":y[6]||=e=>n.value.enabled=e,label:A(Y)(`lifecycle.probe`),wide:``},null,8,[`modelValue`,`label`]),V(SB,{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(gB,{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(gB,{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(gB,{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(gB,{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(gB,{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(SB,{modelValue:n.value.http.scheme,"onUpdate:modelValue":y[13]||=e=>n.value.http.scheme=e,label:A(Y)(`lifecycle.httpScheme`),options:[{value:`http`,label:`http`},{value:`https`,label:`https`}]},null,8,[`modelValue`,`label`]),V(DB,{modelValue:n.value.http.path,"onUpdate:modelValue":y[14]||=e=>n.value.http.path=e,label:A(Y)(`lifecycle.httpPath`),placeholder:`/healthz`},null,8,[`modelValue`,`label`]),V(SB,{modelValue:n.value.http.method,"onUpdate:modelValue":y[15]||=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(gB,{modelValue:h.value,"onUpdate:modelValue":y[16]||=e=>h.value=e,label:A(Y)(`lifecycle.expectStatus`),nullable:``,hint:A(Y)(`lifecycle.expectStatusHint`)},null,8,[`modelValue`,`label`,`hint`]),V(gB,{modelValue:A(g),"onUpdate:modelValue":y[17]||=e=>hn(g)?g.value=e:null,label:A(Y)(`lifecycle.expectStatusBelow`),min:100},null,8,[`modelValue`,`label`]),n.value.http.scheme===`https`?(L(),z(AB,{key:0,modelValue:n.value.http.allowInvalidCert,"onUpdate:modelValue":y[18]||=e=>n.value.http.allowInvalidCert=e,label:A(Y)(`lifecycle.allowInvalidCert`),hint:A(Y)(`lifecycle.allowInvalidCertHint`),wide:``},null,8,[`modelValue`,`label`,`hint`])):U(``,!0),V(DB,{modelValue:n.value.http.expectBody,"onUpdate:modelValue":y[19]||=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(aB,{title:A(Y)(`lifecycle.stopTitle`),description:A(Y)(`lifecycle.stopDescription`),columns:3},{default:j(()=>[V(SB,{modelValue:r.value.signal,"onUpdate:modelValue":y[20]||=e=>r.value.signal=e,label:A(Y)(`lifecycle.signal`),options:v.value},null,8,[`modelValue`,`label`,`options`]),V(gB,{modelValue:A(_),"onUpdate:modelValue":y[21]||=e=>hn(_)?_.value=e:null,label:A(Y)(`lifecycle.grace`),min:0},null,8,[`modelValue`,`label`]),V(AB,{modelValue:r.value.killGroup,"onUpdate:modelValue":y[22]||=e=>r.value.killGroup=e,label:A(Y)(`lifecycle.killGroup`)},null,8,[`modelValue`,`label`]),V(AB,{modelValue:r.value.killPortHolders,"onUpdate:modelValue":y[23]||=e=>r.value.killPortHolders=e,label:A(Y)(`lifecycle.killPortHolders`),wide:``},null,8,[`modelValue`,`label`])]),_:1},8,[`title`,`description`])],64))}}),MB=[`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=La(),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`,cB,n.class));return(e,r)=>(L(),R(`button`,Ps({...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(wy),{key:0,class:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`})):U(``,!0),F(e.$slots,`default`)],16,MB))}}),NB=[`open`],PB={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`},FB={key:0,class:`ml-1 truncate text-2xs font-normal text-faint`},IB={class:`grid gap-3 border-t border-line-soft px-3 py-3`},LB=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`,PB,[V(A(ty),{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`,FB,O(t.hint),1)):U(``,!0)]),B(`div`,IB,[F(e.$slots,`default`)])],8,NB))}}),RB={class:`flex shrink-0 items-start justify-between gap-4 border-b border-line px-4 py-3`},zB={class:`min-w-0`},BB={class:`min-h-0 flex-1 overflow-y-auto px-4 py-3.5`},VB={key:0,class:`flex shrink-0 items-center justify-end gap-2 border-t border-line bg-panel-2 px-4 py-3`},HB=N({__name:`Modal`,props:Va({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=lo(e,`open`);return(e,r)=>(L(),z(A(yf),{open:n.value,"onUpdate:open":r[0]||=e=>n.value=e},{default:j(()=>[V(A(lp),null,{default:j(()=>[V(A(sp),{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(ip),{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`,RB,[B(`div`,zB,[V(A(up),{class:`text-sm font-semibold text-ink`},{default:j(()=>[H(O(t.title),1)]),_:1}),t.description?(L(),z(A(ap),{key:0,class:`mt-0.5 text-xs text-muted`},{default:j(()=>[H(O(t.description),1)]),_:1})):U(``,!0)]),V(A(bf),{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(cB))),"aria-label":A(Y)(`common.close`)},{default:j(()=>[V(A(nb),{class:`size-4`})]),_:1},8,[`class`,`aria-label`])]),B(`div`,BB,[F(e.$slots,`default`)]),e.$slots.footer?(L(),R(`footer`,VB,[F(e.$slots,`footer`)])):U(``,!0)]),_:3},8,[`class`])]),_:3})]),_:3},8,[`open`]))}}),UB=[`for`],WB=[`id`,`rows`,`placeholder`],GB={key:1,class:`text-2xs text-danger`},KB=N({inheritAttrs:!1,__name:`TextAreaField`,props:Va({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=lo(e,`modelValue`),r=fi();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(lB))},O(t.label),11,UB)):U(``,!0),wr(B(`textarea`,Ps({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(fB):`font-sans`,`resize-y leading-relaxed`,t.error&&`border-danger`)},e.$attrs),null,16,WB),[[nu,n.value]]),t.error?(L(),R(`p`,GB,O(t.error),1)):t.hint?(L(),R(`p`,{key:2,class:D(A(uB))},O(t.hint),3)):U(``,!0)],2))}}),qB=N({__name:`TransText`,props:{k:{},params:{}},setup(e){let t=e,n=Ia(),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))]))}}),JB={class:`text-2xs leading-4 text-faint`},YB={class:`font-mono`},XB={class:`rounded-panel border border-line-soft bg-panel-2/40 p-3`},ZB={class:`text-2xs font-medium text-muted`},QB={class:`mt-1.5 flex flex-wrap gap-1`},$B={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`},eV=N({__name:`AddServerDialog`,props:Va({workspaceId:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Va([`created`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`open`),a=NP(),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(qz(l.value)),f=W(()=>{let e=Zz(d.port);return e===null?null:Y(e)});function p(){Object.assign(d,qz(l.value)),s.value=null}M(i,e=>{e&&p()});async function m(){s.value=null;let e=$z(d);if(e!==null){s.value=Y(e);return}let t=Cj(Qz(d,l.value));if(t instanceof J.errors)s.value=t.summary;else{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(HB,{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:_u(m,[`prevent`])},[V(aB,{title:A(Y)(`addServer.identity`),columns:2,dense:``},{default:j(()=>[V(DB,{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(DB,{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(aB,{title:A(Y)(`addServer.process`),columns:2,dense:``},{default:j(()=>[V(DB,{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(DB,{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(KB,{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(aB,{title:A(Y)(`addServer.portLifecycle`),columns:2,dense:``},{default:j(()=>[V(gB,{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(SB,{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(AB,{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(AB,{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(LB,{title:A(Y)(`addServer.advanced`),hint:A(Y)(`addServer.advancedHint`)},{default:j(()=>[V(aB,{title:A(Y)(`common.environment`),columns:2,dense:``},{default:j(()=>[V(KB,{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(KB,{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(DB,{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(DB,{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(aB,{title:A(Y)(`addServer.backups`),columns:2,dense:``},{default:j(()=>[V(KB,{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(AB,{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(jB,{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(aB,{title:A(Y)(`serverForm.bootstrap`),description:A(Y)(`addServer.bootstrapDescription`),columns:2,dense:``},{default:j(()=>[V(AB,{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(DB,{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(gB,{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(AB,{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(KB,{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(KB,{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(aB,{title:A(Y)(`addServer.policyResources`),columns:2,dense:``},{default:j(()=>[V(SB,{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(gB,{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(gB,{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(AB,{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`,JB,[V(qB,{k:`addServer.inheritNote`},{settings:j(()=>[B(`span`,YB,O(A(Y)(`addServer.serverDefaults`)),1)]),_:1})])]),_:1},8,[`title`,`hint`]),B(`div`,XB,[B(`p`,ZB,O(A(Y)(`addServer.placeholdersTitle`)),1),B(`div`,QB,[(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`,$B,O(s.value),1)):U(``,!0)],32)]),_:1},8,[`open`,`title`,`description`]))}});function tV(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 nV(e,t){let{url:n,bindHost:r}=e,i=t.trim();if(n===null||r.trim()!==`0.0.0.0`||i===``||tV(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 rV(){return globalThis.location?.hostname??``}var iV={class:`text-xs font-semibold text-ink`},aV={class:`mt-1 text-2xs leading-4 text-muted`},oV={class:`mt-2.5 flex justify-end gap-1.5`},sV=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(rg),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(ug),{"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(lg),null,{default:j(()=>[V(A(cg),{"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`,iV,O(A(Y)(`killPort.title`,{port:n.port})),1),B(`p`,aV,O(A(Y)(`killPort.body`)),1),B(`div`,oV,[V(A(ig),{"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`]))}}),cV=[`viewBox`],lV=[`id`],uV=[`stop-color`],dV=[`stop-color`],fV=[`d`,`fill`],pV=[`d`,`stroke`,`stroke-width`],mV=[`x1`,`x2`,`y2`,`stroke`],hV=[`cx`,`cy`,`fill`],gV={key:0,class:`absolute inset-x-0 top-1/2 border-t border-dashed border-line`},_V=100,vV=N({__name:`Sparkline`,props:Va({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=lo(e,`hoverIndex`),r=fi(),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?_V/(e.length-1):_V,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)=>{e===null||!Number.isFinite(e)?u():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)*_V),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 ${_V} ${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,uV),B(`stop`,{offset:`100%`,"stop-color":t.color??`currentColor`,"stop-opacity":`0`},null,8,dV)],8,lV)]),(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,fV)):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,pV)],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,mV)),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,hV)):U(``,!0)],8,cV)),o.value.length===0?(L(),R(`div`,gV)):U(``,!0)],38))}}),yV={class:`min-w-0`},bV={class:`flex items-baseline justify-between gap-2`},xV={class:`truncate text-2xs font-medium text-faint`},SV={class:`flex shrink-0 items-baseline gap-1.5`},CV={key:0,class:`font-mono text-2xs text-faint`},wV=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(()=>sP(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`,yV,[B(`div`,bV,[B(`span`,xV,O(t.label),1),B(`span`,SV,[o.value?(L(),R(`span`,CV,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(vV,{"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`])]))}}),TV={class:`inline-flex flex-wrap items-center gap-1.5`},EV={class:`relative flex size-1.5`},DV={key:0,class:`absolute inset-0 rounded-full bg-current opacity-60`,style:{animation:`hh-pulse-ring 1.6s ease-out infinite`}},OV=N({__name:`StatusPill`,props:{status:{},health:{default:null},showHealth:{type:Boolean,default:!0}},setup(e){let t=e,n=W(()=>ML[t.status]),r=W(()=>t.health?NL[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`,TV,[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(FL)[n.value.tone]))},[B(`span`,EV,[a.value?(L(),R(`span`,DV)):U(``,!0),B(`span`,{class:D(A(Q)(`relative size-1.5 rounded-full`,A(IL)[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(FL)[r.value.tone]))},O(A(Y)(r.value.labelKey)),3)):U(``,!0)]))}}),kV=N({__name:`Tip`,props:{label:{},side:{default:`top`},disabled:{type:Boolean,default:!1}},setup(e){return(t,n)=>(L(),z(A(kg),{"delay-duration":350},{default:j(()=>[V(A(Pg),{"as-child":``},{default:j(()=>[F(t.$slots,`default`)]),_:3}),e.disabled?U(``,!0):(L(),z(A(Ng),{key:0},{default:j(()=>[V(A(Mg),{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}))}}),AV={class:`flex items-start justify-between gap-3 px-4 pb-2.5 pt-3.5`},jV={class:`min-w-0`},MV={class:`flex items-center gap-2`},NV=[`href`,`title`,`aria-label`],PV={class:`mt-0.5 flex items-center gap-1.5 truncate font-mono text-2xs text-faint`},FV={class:`text-muted`},IV={key:1,class:`rounded bg-hover px-1 py-px text-muted`},LV={key:2,class:`rounded bg-accent-soft px-1 py-px text-accent`},RV={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},zV={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},BV=[`title`],VV={key:0,class:`space-y-2.5 border-y border-line-soft px-4 py-3`},HV={class:`grid grid-cols-2 gap-x-4 gap-y-2`},UV={key:1,class:`flex flex-wrap items-center gap-x-3 gap-y-1 px-4 pt-2.5`},WV={class:`text-muted`},GV={class:`text-faint`},KV={key:2,class:`flex flex-col gap-1 px-4 pt-2.5`},qV={key:0,class:`flex items-start gap-1.5 text-2xs leading-4 text-danger`},JV={class:`min-w-0 break-words`},YV={key:2,class:`text-2xs leading-4 text-warn`},XV={key:3,class:`text-2xs leading-4 text-warn`},ZV={class:`grid grid-cols-2 gap-x-4 gap-y-1 px-4 py-3 sm:grid-cols-4`},QV={class:`truncate text-2xs text-faint`},$V={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},eH={class:`mt-auto flex items-center gap-1.5 border-t border-line-soft px-4 py-2.5`},tH={class:`grid grid-cols-2 gap-2 text-xs`},nH={class:`font-mono text-ink`},rH={class:`text-faint`},iH={class:`text-ink capitalize`},aH=N({__name:`ServerCard`,props:{server:{},workspaceId:{},series:{},now:{},variant:{default:`default`}},setup(e){let t=e,n={start:Py,exit:Jy,crash:iy,"forced-restart":zy,unhealthy:eb,recovered:ay},r=NP(),i=JP(),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(()=>LL(t.server.status,t.server.health)),d=W(()=>nV(t.server,rV())),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?`—`:gR(t.now-t.server.startedAt)),g=W(()=>t.server.nextRetryAt===null?null:_R(t.server.nextRetryAt,t.now)),_=W(()=>t.server.unhealthySince===null?null:gR(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:nR(e.history.uptimeRatio)},{key:`probe`,label:Y(`serverCard.probe`),value:e.responseMs===null?`—`:`${e.responseMs} ms`},{key:`rss`,label:Y(`serverCard.rss`),value:SR(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:vR(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=ha(`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`,AV,[B(`div`,jV,[B(`div`,MV,[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(my),{class:`size-3.5`})],8,NV)):U(``,!0)]),B(`p`,PV,[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`,FV,`:`+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`,IV,O(A(Y)(`serverCard.disabled`)),1)),s.value.autostart?(L(),R(`span`,LV,O(A(Y)(`serverCard.autostart`)),1)):U(``,!0)])]),V(OV,{status:e.server.status,health:e.server.health},null,8,[`status`,`health`]),e.server.adopted?(L(),z(kV,{key:0,label:A(Y)(`serverCard.adoptedHint`)},{default:j(()=>[B(`span`,RV,O(A(Y)(`serverCard.detached`)),1)]),_:1},8,[`label`])):U(``,!0),s.value.persistent?(L(),z(kV,{key:1,label:A(Y)(`serverCard.persistentHint`)},{default:j(()=>[B(`span`,zV,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,BV),t.variant===`compact`?U(``,!0):(L(),R(`div`,VV,[B(`div`,HV,[V(wV,{label:A(Y)(`common.cpu`),values:v.value,format:A(CR),max:100,"color-class":`text-cpu`},null,8,[`label`,`values`,`format`]),V(wV,{label:A(Y)(`common.memory`),values:y.value,format:A(SR),"color-class":`text-mem`},null,8,[`label`,`values`,`format`])]),V(wV,{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`,UV,[(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(_a(n[e.type]),{class:D(A(Q)(`size-3`,A(PL)[A(zL)[e.type]]))},null,8,[`class`])),B(`span`,WV,O(A(Y)(A(RL)[e.type])),1),B(`span`,GV,O(A(vR)(e.ts,t.now)),1)]))),128))])):U(``,!0),e.server.lastError||_.value||g.value?(L(),R(`div`,KV,[e.server.lastError?(L(),R(`p`,qV,[V(A(iy),{class:`mt-0.5 size-3 shrink-0`}),B(`span`,JV,O(e.server.lastError),1)])):U(``,!0),e.server.status===`conflict`&&s.value.port!==null?(L(),z(sV,{key:1,port:s.value.port,busy:a.value,class:`self-start`,onConfirm:T},null,8,[`port`,`busy`])):U(``,!0),_.value?(L(),R(`p`,YV,O(A(Y)(`serverCard.unhealthyFor`,{duration:_.value})),1)):U(``,!0),g.value?(L(),R(`p`,XV,O(A(Y)(`serverCard.nextAttempt`,{when:g.value})),1)):U(``,!0)])):U(``,!0),B(`dl`,ZV,[(L(!0),R(I,null,P(C.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,QV,O(e.label),1),B(`dd`,$V,O(e.value),1)]))),128))]),B(`div`,eH,[V($,{variant:`primary`,size:`xs`,disabled:a.value||!p.value,onClick:f[0]||=e=>w(`start`)},{default:j(()=>[V(A(Py),{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(zy),{class:`size-3`}),H(O(A(Y)(`serverCard.restart`)),1)]),_:1},8,[`disabled`]),V(kV,{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(By),{class:`size-3`}),H(O(A(Y)(`common.details`)),1)]),_:1})]),_:1},8,[`to`])]),_:1},8,[`label`]),V(A(pg),null,{default:j(()=>[V(A(vg),{"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(py),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(A(gg),null,{default:j(()=>[V(A(mg),{"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(hg),{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(Iy),{class:`size-3.5`}),H(` `+O(s.value.enabled?A(Y)(`serverCard.disable`):A(Y)(`serverCard.enable`)),1)]),_:1}),V(A(hg),{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(Py),{class:`size-3.5`}),H(` `+O(s.value.autostart?A(Y)(`serverCard.removeFromAutostart`):A(Y)(`serverCard.autostartWithPanel`)),1)]),_:1}),V(A(hg),{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(By),{class:`size-3.5`}),H(` `+O(A(Y)(`serverCard.clearLogBuffer`)),1)]),_:1}),V(A(_g),{class:`my-1 h-px bg-line`}),V(A(hg),{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($y),{class:`size-3.5`}),H(` `+O(A(Y)(`serverCard.removeServer`)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),V(HB,{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($y),{class:`size-3.5`}),H(O(A(Y)(`common.remove`)),1)]),_:1})]),default:j(()=>[B(`dl`,tH,[B(`div`,null,[f[11]||=B(`dt`,{class:`text-faint`},` id `,-1),B(`dd`,nH,O(e.server.id),1)]),B(`div`,null,[B(`dt`,rH,O(A(Y)(`serverCard.statusField`)),1),B(`dd`,iH,O(e.server.status),1)])])]),_:1},8,[`open`,`title`,`description`])],2)}}}),oH={class:`flex flex-wrap items-start justify-between gap-3`},sH={class:`min-w-0`},cH={class:`flex flex-wrap items-center gap-x-3 gap-y-1.5`},lH={class:`text-2xl font-semibold tracking-tight text-ink`},uH={key:1,class:`mt-1 max-w-2xl text-xs leading-relaxed text-muted`},dH={class:`flex shrink-0 flex-wrap items-center gap-2`},fH=N({__name:`PageHeader`,props:{title:{},description:{default:void 0},backTo:{default:void 0},backLabel:{default:`Back`}},setup(e){return(e,t)=>{let n=ha(`RouterLink`);return L(),R(`header`,oH,[B(`div`,sH,[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(ey),{class:`size-3`}),H(` `+O(e.$props.backLabel),1)]),_:1},8,[`to`])):U(``,!0),B(`div`,cH,[B(`h1`,lH,O(e.$props.title),1),F(e.$slots,`badges`)]),e.$props.description?(L(),R(`p`,uH,O(e.$props.description),1)):U(``,!0)]),B(`div`,dH,[F(e.$slots,`actions`)])])}}}),pH={key:0,class:`mb-3 flex items-start justify-between gap-3`},mH={class:`min-w-0`},hH={class:`flex shrink-0 items-center gap-1.5`},gH=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`,pH,[B(`div`,mH,[F(e.$slots,`header`)]),B(`div`,hH,[F(e.$slots,`actions`)])])):U(``,!0),F(e.$slots,`default`)],2))}}),_H=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))}}),vH={class:`min-w-0`},yH={class:`truncate text-2xs font-medium text-faint`},bH={key:0,class:`mt-0.5 truncate text-2xs text-muted`},xH=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`,vH,[B(`p`,yH,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(PL)[e.$props.tone]))},O(e.$props.value),3),e.$props.hint?(L(),R(`p`,bH,O(e.$props.hint),1)):U(``,!0)]))}}),SH=k(null),CH=k(`unknown`),wH=null;async function TH(){try{let e=await(await fetch(`/healthz`,{cache:`no-store`})).json();typeof e.uptimeMs==`number`&&(SH.value=Date.now()-e.uptimeMs),CH.value=e.status===`degraded`?`degraded`:`ok`}catch{CH.value=`unknown`}}function EH(){return wH??=TH().finally(()=>{wH=null}),{startedAt:SH,status:CH,refresh:TH}}var DH={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},OH={key:0,class:`grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 lg:grid-cols-5`},kH={key:1,class:`grid grid-cols-2 divide-line-soft sm:grid-cols-3 sm:divide-x lg:grid-cols-5`},AH={class:`p-4`},jH={class:`p-4`},MH={class:`p-4`},NH={class:`p-4`},PH={class:`p-4`},FH={key:0,class:`flex items-start gap-2.5 rounded-panel border border-danger/25 bg-danger-soft px-3.5 py-3`},IH={class:`min-w-0`},LH={class:`text-xs font-medium text-danger`},RH={class:`mt-0.5 flex flex-wrap gap-x-3 gap-y-1 text-2xs text-danger`},zH=[`onClick`],BH={class:`grid gap-4 lg:grid-cols-3`},VH={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},HH={class:`text-2xs text-muted`},UH={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},WH={class:`flex flex-wrap items-center gap-x-3 gap-y-1.5`},GH={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},KH={class:`font-mono text-2xs font-normal text-faint`},qH={class:`text-2xs text-muted`},JH={class:`ml-auto flex items-center gap-1.5`},YH={key:0,class:`rounded-control border border-danger/25 bg-danger-soft px-3 py-2 text-2xs leading-4 text-danger`},XH={key:2,class:`grid gap-4 lg:grid-cols-2`},ZH={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-faint`},QH={class:`font-mono`},$H=N({__name:`GlobalOverviewView`,setup(e){let t=NP(),n=JP(),r=EH(),i=Qg(),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?`—`:gR(t.now.value-r.startedAt.value)),m=W(()=>f.value?.enabled?gR(f.value.uptimeMs):`—`);function h(e){o.value=e,a.value=!0}function g(e,t){n.select(e),i.push(u0(e,`servers`,t))}return ia(async()=>{await r.refresh()}),(e,_)=>(L(),R(`div`,DH,[V(fH,{title:A(Y)(`nav.globalOverview`),description:A(Y)(`views.globalOverview.description`)},null,8,[`title`,`description`]),V(gH,{class:`p-0`},{default:j(()=>[s.value?(L(),R(`div`,OH,[(L(),R(I,null,P(5,e=>B(`div`,{key:e,class:`space-y-2`},[V(_H,{class:`h-2.5 w-16`}),V(_H,{class:`h-6 w-20`})])),64))])):(L(),R(`div`,kH,[B(`div`,AH,[V(xH,{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`,jH,[V(xH,{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`,MH,[V(xH,{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`,NH,[V(xH,{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`,PH,[V(xH,{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`,FH,[V(A(iy),{class:`mt-0.5 size-4 shrink-0 text-danger`}),B(`div`,IH,[B(`p`,LH,O(A(nI)(`views.globalOverview.needLook`,d.value.length)),1),B(`p`,RH,[(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,zH))),128))])])])):U(``,!0),B(`div`,BH,[V(gH,{class:`lg:col-span-2`},{header:j(()=>[B(`h2`,VH,[V(A(dy),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.globalOverview.hostVitals`)),1)]),B(`p`,HH,O(A(Y)(`views.globalOverview.hostVitalsNote`)),1)]),default:j(()=>[V(UR,{host:f.value,now:A(t).now.value},null,8,[`host`,`now`])]),_:1}),V(gH,null,{header:j(()=>[B(`h2`,UH,[V(A(Jv),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.overview.recentActivity`)),1)])]),default:j(()=>[V(ZR,{servers:l.value,now:A(t).now.value,limit:12},null,8,[`servers`,`now`])]),_:1})]),!s.value&&l.value.length===0?(L(),z(tR,{key:1,title:A(Y)(`views.globalOverview.emptyTitle`),description:A(Y)(`views.globalOverview.emptyDescription`)},{icon:j(()=>[V(A(Hy),{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`,WH,[B(`h2`,GH,[V(A(Sy),{class:`size-3.5 text-faint`}),H(` `+O(e.label)+` `,1),B(`span`,KH,O(e.id),1)]),B(`span`,qH,O(A(Y)(`views.globalOverview.groupRunning`,{running:e.runningCount,total:e.serverCount})),1),B(`div`,JH,[V($,{size:`xs`,variant:`ghost`,onClick:t=>h(e.id)},{default:j(()=>[V(A(Fy),{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(u0)(e.id,`overview`))}},{default:j(()=>[H(O(A(Y)(`views.globalOverview.openWorkspace`)),1)]),_:1},8,[`onClick`])])]),e.configError?(L(),R(`p`,YH,O(A(Y)(`views.globalOverview.configError`,{error:e.configError})),1)):U(``,!0),e.servers.length===0?(L(),z(tR,{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(Fy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1},8,[`onClick`])]),_:2},1032,[`title`,`description`])):(L(),R(`div`,XH,[(L(!0),R(I,null,P(e.servers,n=>(L(),z(aH,{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`,ZH,[B(`span`,null,O(A(Y)(`views.overview.sampling`)),1),B(`span`,QH,O(A(t).appState.value?.control.url),1)]),V(eV,{open:a.value,"onUpdate:open":_[0]||=e=>a.value=e,"workspace-id":o.value},null,8,[`open`,`workspace-id`])]))}}),eU={class:`text-xs font-semibold text-ink`},tU={key:0,class:`mt-1 text-2xs leading-4 text-muted`},nU={class:`mt-2.5 flex justify-end gap-1.5`},rU=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(rg),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(ug),{"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(lg),null,{default:j(()=>[V(A(cg),{"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`,eU,O(o.value),1),n.hint?(L(),R(`p`,tU,O(n.hint),1)):U(``,!0),B(`div`,nU,[V(A(ig),{"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`]))}}),iU={class:`min-w-0 flex-1`},aU={key:0,class:`text-xs font-semibold`},oU=N({__name:`Notice`,props:{tone:{default:`info`},title:{default:void 0},class:{default:void 0}},setup(e){let t=e,n={ok:ay,warn:eb,danger:jy,info:by,neutral:by,accent:Wy},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(FL)[t.tone],t.class))},[(L(),z(_a(r.value),{class:`mt-0.5 size-3.5 shrink-0`,"aria-hidden":`true`})),B(`div`,iU,[t.title?(L(),R(`p`,aU,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))}}),sU={class:`space-y-2`},cU={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},lU=N({__name:`AuthenticationSection`,props:Va({view:{},dirty:{type:Boolean}},{auth:{required:!0},authModifiers:{}}),emits:Va([`reset`],[`update:auth`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`auth`),a=Bz(()=>i.value.sessionTtlMs,e=>i.value.sessionTtlMs=e,6048e5),o=Bz(()=>i.value.maxLoginAttempts,e=>i.value.maxLoginAttempts=e,5),s=Bz(()=>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}=XN(),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(aB,{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(AB,{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(gB,{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(SB,{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(SB,{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(gB,{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(gB,{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`,sU,[V(oU,{tone:l.value?`info`:`neutral`,title:l.value?A(Y)(`settings.auth.apiTokenSet`):A(Y)(`settings.auth.apiTokenMissing`)},{default:j(()=>[l.value?(L(),z(qB,{key:0,k:`settings.auth.apiTokenNote`},{code:j(()=>[...t[10]||=[B(`code`,null,`Authorization: Bearer …`,-1)]]),_:1})):(L(),z(qB,{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(oU,{key:0,tone:`warn`,title:A(Y)(`settings.auth.defaultPasswordTitle`)},{default:j(()=>[V(qB,{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(oU,{key:1,tone:`danger`,title:A(Y)(`settings.auth.blockedTitle`)},{default:j(()=>[H(O(u.value),1)]),_:1},8,[`title`])):p.value?(L(),z(oU,{key:2,tone:`warn`,title:A(Y)(`settings.auth.noPasswordTitle`)},{default:j(()=>[V(qB,{k:`settings.auth.noPasswordText`},{address:j(()=>[...t[13]||=[B(`code`,null,`127.0.0.1`,-1)]]),_:1})]),_:1},8,[`title`])):d.value?(L(),z(oU,{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:_u(T,[`prevent`])},[V(aB,{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(DB,{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(DB,{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(DB,{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`,cU,[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(rU,{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(oU,{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(oU,{key:1,tone:`danger`,class:`sm:col-span-2`},{default:j(()=>[H(O(b.value),1)]),_:1})):U(``,!0),y.value?(L(),z(oU,{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 uU(e){return e.labelKey===void 0?e.label:Y(e.labelKey,e.labelParams,e.label)}function dU(e){return e.note===null?null:e.noteKey===void 0?e.note:Y(e.noteKey,e.noteParams,e.note)}var fU={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 pU(e){let t=fU[e];return t===void 0?e:Y(t)}var mU={password:`settings.backup.secretPasswordHint`,apiToken:`settings.backup.secretApiTokenHint`,telegram:`settings.backup.secretTelegramHint`,ddns:`settings.backup.secretDdnsHint`};function hU(e){let t=dU(e);if(t!==null&&t.length>0)return t;if(e.kind===`settings`)return Y(`settings.backup.leafSettingsHint`);if(e.kind===`servers`)return Y(`settings.backup.leafServersHint`);if(e.kind===`secrets`){let t=e.secret===void 0?void 0:mU[e.secret];return Y(t===void 0?`settings.backup.leafSecretsHint`:t)}return 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 gU(e){return e.leaves.length>0&&e.leaves.every(e=>e.selected)}function _U(e){let t=dU(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 vU(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:uU(e),hint:_U(e),kind:e.kind,...e.workspaceId===void 0?{}:{workspaceId:e.workspaceId},selected:t?.selected??!0,leaves:e.items.map(e=>({id:e.id,label:uU(e),hint:hU(e),kind:e.kind,selected:t?.leaves.find(t=>t.id===e.id)?.selected??!0}))}})}function yU(e){return e.leaves.length===0?e.selected:e.selected&&e.leaves.some(e=>e.selected)}function bU(e,t){for(let n of e){n.selected=t;for(let e of n.leaves)e.selected=t}}function xU(e){let t=e.filter(e=>yU(e));if(e.length>0&&t.length===e.length&&t.every(e=>e.leaves.length===0||gU(e)))return;let n=[];for(let e of t)e.leaves.length===0||gU(e)?n.push(e.id):n.push(...e.leaves.filter(e=>e.selected).map(e=>e.id));return n}function SU(e){let t=0,n=0;for(let r of e)yU(r)&&(n+=1,t+=r.leaves.length===0?1:r.leaves.filter(e=>e.selected).length);return{entries:n,leaves:t}}var CU=[`disabled`],wU={class:`min-w-0`},TU={class:`text-ink`},EU=N({__name:`CheckField`,props:Va({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=lo(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`))},[wr(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,CU),[[ru,n.value]]),B(`span`,wU,[B(`span`,TU,O(t.label),1),t.hint?(L(),R(`span`,{key:0,class:D([`mt-0.5 block`,[A(uB)]])},O(t.hint),3)):U(``,!0),F(e.$slots,`default`)])],2))}}),DU={class:`space-y-3`},OU={class:`flex items-center justify-between gap-2`},kU={class:`text-xs font-medium text-muted`},AU={class:`flex items-center gap-1.5`},jU={class:`max-h-80 space-y-1.5 overflow-auto`},MU={class:`flex items-start gap-2.5`},NU={class:`min-w-0 flex-1`},PU={key:0,class:`flex shrink-0 items-center gap-1.5 pt-0.5`},FU={class:`font-mono text-2xs text-faint`},IU={key:1,class:`shrink-0 rounded-control border border-line px-1.5 py-0.5 text-2xs text-faint`},LU={key:0,class:`mt-1 flex items-center gap-1 pl-6 text-2xs text-warn`},RU={class:`space-y-3`},zU={class:`flex items-center justify-between gap-2`},BU={class:`text-xs font-medium text-muted`},VU={class:`flex items-center gap-1.5`},HU={class:`max-h-72 space-y-1 overflow-auto`},UU={key:0,class:`text-xs text-muted`},WU=N({__name:`BackupDialog`,props:Va({state:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Va([`created`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=lo(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=vU(n.state?.entries??[],e?c.value:[])}let p=W(()=>SU(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 TN(s.value,xU(c.value)),i.value=!1,r(`created`,Y(`settings.backup.created`))}catch(e){o.value=yM(e)}finally{a.value=!1}}}return(e,t)=>(L(),R(I,null,[V(HB,{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`,DU,[B(`div`,OU,[B(`span`,kU,O(A(nI)(`settings.backup.entriesCount`,p.value.entries))+` · `+O(A(nI)(`settings.backup.itemsSelected`,p.value.leaves)),1),B(`div`,AU,[V($,{size:`xs`,variant:`ghost`,disabled:a.value,onClick:t[0]||=e=>A(bU)(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(bU)(c.value,!1)},{default:j(()=>[H(O(A(Y)(`common.selectNone`)),1)]),_:1},8,[`disabled`])])]),B(`ul`,jU,[(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`,MU,[B(`div`,NU,[V(EU,{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.leaves.length>0?(L(),R(`div`,PU,[B(`span`,FU,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(Zv),{class:`size-3`}),H(O(A(Y)(`settings.backup.chooseItems`)),1)]),_:1},8,[`disabled`,`onClick`])])):(L(),R(`span`,IU,O(A(pU)(e.kind)),1))]),e.selected&&!A(gU)(e)&&e.leaves.some(e=>e.selected)?(L(),R(`p`,LU,[V(A(Sy),{class:`size-3`}),H(` `+O(A(Y)(`settings.backup.partialCapture`)),1)])):U(``,!0)]))),128))]),m.value?U(``,!0):(L(),z(oU,{key:0,tone:`warn`},{default:j(()=>[H(O(A(Y)(`settings.backup.withoutGlobalSettings`)),1)]),_:1})),V(DB,{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(oU,{key:1,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]),V(HB,{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`,RU,[B(`div`,zU,[B(`span`,BU,O(A(Y)(`settings.backup.selectedOf`,{selected:g.value,total:u.value?.leaves.length??0})),1),B(`div`,VU,[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`,HU,[(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(EU,{"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`,UU,O(A(Y)(`settings.backup.nothingSelectable`)),1)):U(``,!0)])]),_:1},8,[`open`,`title`,`description`])],64))}}),GU={class:`space-y-3`},KU={key:0,class:`flex min-w-0 flex-col gap-1`},qU=[`disabled`],JU={key:0,class:`font-mono text-2xs text-muted`},YU={class:`mt-2`},XU={class:`mt-2 max-w-sm`},ZU={class:`mt-2`},QU={class:`mt-2`},$U={class:`mt-1 max-h-64 space-y-0.5 overflow-auto`},eW={class:`mt-2 flex flex-wrap items-center gap-2`},tW={class:`mt-2`},nW=`__upload__`,rW=N({__name:`RestoreDialog`,props:Va({files:{},initial:{default:null}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Va([`applied`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`open`),a=k(!1),o=k(null),s=k(null),c=k(null),l=k(``),u=k({kind:`upload`}),d=k(nW),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=>uU(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=uU(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:nW,label:Y(`settings.restore.uploadOption`)}]),y=Q(dB,`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 yM(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;else{a.value=!0,o.value=null,s.value=null;try{s.value=e.kind===`stored`?await BM(e.name,!1,x()):await EN(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===nW?{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 BM(t.name,!0,n):await EN(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:nW,S()},{immediate:!0}),(e,t)=>(L(),z(HB,{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`,GU,[V(SB,{"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`,KU,[B(`label`,{class:D(A(lB)),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,qU),c.value?(L(),R(`p`,JU,O(c.value.name),1)):U(``,!0)])):U(``,!0),a.value?(L(),z(_H,{key:1,class:`h-20 w-full`})):s.value?(L(),z(oU,{key:2,tone:`warn`,title:A(Y)(`settings.restore.unchangedTitle`)},{default:j(()=>[B(`p`,null,[u.value.kind===`stored`?(L(),z(qB,{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`,YU,O(s.value.error??A(Y)(`settings.restore.passwordProtected`)),1),B(`div`,XU,[V(DB,{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`,ZU,[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`,QU,O(A(Y)(`settings.restore.choosePrompt`,{selected:f.value,total:s.value.items.length})),1),B(`ul`,$U,[(L(!0),R(I,null,P(s.value.items,e=>(L(),R(`li`,{key:e.id},[V(EU,{modelValue:e.selected,"onUpdate:modelValue":t=>e.selected=t,label:A(uU)(e),hint:[A(pU)(e.kind),e.workspaceId,A(dU)(e)].filter(Boolean).join(` · `),disabled:!e.restorable||a.value},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`,`disabled`])]))),128))]),B(`div`,eW,[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`,tW,[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(oU,{key:3,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),iW=[`aria-label`],aW=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 ze(()=>{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(cB),t.class)),"aria-label":n.value?A(Y)(`common.copied`):t.label??A(Y)(`common.copy`),onClick:i},[n.value?(L(),z(A(Qv),{key:0,class:`size-3.5 text-ok`})):(L(),z(A(uy),{key:1,class:`size-3.5`}))],10,iW))}}),oW={key:0,class:`size-1.5 shrink-0 rounded-full bg-current`},sW=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`,FL[t.tone].split(` `).filter(e=>e.startsWith(`text-`)).join(` `)):FL[t.tone],t.mono&&`font-mono`));return(e,r)=>(L(),R(`span`,{class:D(n.value)},[t.dot?(L(),R(`span`,oW)):U(``,!0),F(e.$slots,`default`)],2))}}),cW={class:`space-y-3`},lW={key:0,class:`sm:col-span-2`},uW={key:0,class:`text-2xs text-muted sm:col-span-2`},dW={key:2,class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},fW={class:`text-xs font-medium text-muted`},pW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},mW={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},hW={class:`text-2xs leading-4 text-faint`},gW={key:0,class:`space-y-2 sm:col-span-2`},_W={key:1,class:`text-xs text-muted sm:col-span-2`},vW={key:2,class:`divide-y divide-line-soft sm:col-span-2`},yW={class:`flex items-center gap-2`},bW={class:`min-w-0 flex-1 truncate text-xs font-medium text-ink`},xW={key:0,class:`font-mono text-2xs text-faint`},SW={key:0,class:`mt-0.5 text-2xs leading-4 text-muted`},CW={key:1,class:`mt-1 space-y-1`},wW={class:`min-w-0`},TW={class:`truncate font-mono text-2xs text-ink`},EW={class:`mt-0.5 text-2xs leading-4 text-faint`},DW={key:3,class:`text-2xs leading-4 text-faint sm:col-span-2`},OW={key:0,class:`space-y-2 sm:col-span-2`},kW={key:1,class:`sm:col-span-2`},AW={key:2,class:`divide-y divide-line-soft sm:col-span-2`},jW={class:`min-w-0 flex-1`},MW={class:`flex items-center gap-2`},NW={class:`truncate font-mono text-xs text-ink`},PW={class:`mt-0.5 font-mono text-2xs tabular-nums text-muted`},FW={class:`flex items-center gap-1.5`},IW=[`href`],LW={key:3,class:`space-y-2 sm:col-span-2`},RW=N({__name:`BackupsSection`,props:Va({state:{},policy:{},configPath:{},workspaces:{},dirty:{type:Boolean}},{form:{required:!0},formModifiers:{}}),emits:Va([`reset`],[`update:form`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`form`),a=NP(),o=Bz(()=>i.value.keep,e=>i.value.keep=e,5),s=Bz(()=>i.value.scheduleHours,e=>i.value.scheduleHours=e,24),c=Bz(()=>i.value.scheduleKeep,e=>i.value.scheduleKeep=e,7),l=W(()=>{let e=n.state?.lastAutomaticAt??null;return e===null?null:bR(e)}),u=k(!1),d=k(null),f=k(null),p=k(!1),m=k(!1),h=k(null),g=W(()=>n.state?.files??[]),_=W(()=>n.state?.entries??[]),v=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`,cB);function y(e){h.value=e===void 0?null:{kind:`stored`,name:e},m.value=!0}function b(e){f.value=null,d.value=e,a.refresh()}function x(e){f.value=null,d.value=e,a.refresh()}async function S(e){u.value=!0,f.value=null,d.value=null;try{await jM(e),d.value=Y(`settings.backups.deleted`,{name:e}),await a.refresh()}catch(e){f.value=yM(e)}finally{u.value=!1}}return(e,t)=>(L(),R(`div`,cW,[V(aB,{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(AB,{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`,lW,[V(oU,{tone:`warn`,title:A(Y)(`settings.backups.offTitle`)},{default:j(()=>[H(O(A(Y)(`settings.backups.offText`)),1)]),_:1},8,[`title`])])),V(gB,{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(AB,{modelValue:i.value.scheduleEnabled,"onUpdate:modelValue":t[3]||=e=>i.value.scheduleEnabled=e,label:A(Y)(`settings.backups.schedule`),hint:A(Y)(`settings.backups.scheduleHint`),wide:``},null,8,[`modelValue`,`label`,`hint`]),i.value.scheduleEnabled?(L(),R(I,{key:1},[V(gB,{modelValue:A(s),"onUpdate:modelValue":t[4]||=e=>hn(s)?s.value=e:null,label:A(Y)(`settings.backups.scheduleHours`),min:1,hint:A(Y)(`settings.backups.scheduleHoursHint`)},null,8,[`modelValue`,`label`,`hint`]),V(gB,{modelValue:A(c),"onUpdate:modelValue":t[5]||=e=>hn(c)?c.value=e:null,label:A(Y)(`settings.backups.scheduleKeep`),min:1,hint:A(Y)(`settings.backups.scheduleKeepHint`)},null,8,[`modelValue`,`label`,`hint`]),l.value===null?U(``,!0):(L(),R(`p`,uW,O(A(Y)(`settings.backups.scheduleLast`,{when:l.value})),1))],64)):U(``,!0),V(DB,{modelValue:i.value.includePaths,"onUpdate:modelValue":t[6]||=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`,dW,[B(`span`,fW,O(A(Y)(`settings.backups.archiveDirectory`)),1),B(`div`,pW,[B(`span`,mW,O(n.policy.dir),1),V(aW,{value:n.policy.dir,label:A(Y)(`settings.backups.copyArchiveDirectory`)},null,8,[`value`,`label`])]),B(`p`,hW,[V(qB,{k:`settings.backups.changeDirectory`},{path:j(()=>[B(`code`,null,O(n.configPath??A(Y)(`settings.backups.theSettingsFile`)),1)]),_:1})])]))]),_:1},8,[`title`,`description`]),V(aB,{title:A(Y)(`settings.backups.capturesTitle`),description:A(Y)(`settings.backups.capturesDescription`)},{default:j(()=>[n.state===null?(L(),R(`div`,gW,[V(_H,{class:`h-4 w-full`}),V(_H,{class:`h-4 w-2/3`})])):_.value.length===0?(L(),R(`p`,_W,O(A(Y)(`settings.backups.nothingSelectable`)),1)):(L(),R(`ul`,vW,[(L(!0),R(I,null,P(_.value,e=>(L(),R(`li`,{key:e.id,class:`py-2 first:pt-0`},[B(`div`,yW,[B(`p`,bW,O(A(uU)(e)),1),V(sW,{tone:`neutral`,plain:``},{default:j(()=>[H(O(A(pU)(e.kind)),1)]),_:2},1024),e.workspaceId?(L(),R(`span`,xW,O(e.workspaceId),1)):U(``,!0)]),A(dU)(e)?(L(),R(`p`,SW,O(A(dU)(e)),1)):U(``,!0),e.items.length>0?(L(),R(`ul`,CW,[(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`,wW,[B(`p`,TW,O(e.path??A(uU)(e)),1),B(`p`,EW,[H(O(e.included?e.origin?A(Y)(`settings.backups.fromOrigin`,{origin:e.origin}):A(dU)(e)??A(Y)(`settings.backups.included`):A(dU)(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(sW,{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`,DW,O(A(Y)(`settings.backups.workspacesNote`,{count:n.workspaces.length})),1)):U(``,!0)]),_:1},8,[`title`,`description`]),V(aB,{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[7]||=e=>p.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[8]||=e=>y()},{default:j(()=>[H(O(A(Y)(`settings.backups.restore`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[n.state===null?(L(),R(`div`,OW,[V(_H,{class:`h-4 w-full`}),V(_H,{class:`h-4 w-2/3`})])):g.value.length===0?(L(),R(`div`,kW,[V(tR,{compact:``,title:A(Y)(`settings.backups.noArchives`),description:i.value.enabled?A(Y)(`settings.backups.noArchivesEnabled`):A(Y)(`settings.backups.noArchivesDisabled`)},xa({icon:j(()=>[V(A(Yv),{class:`size-4`})]),_:2},[i.value.enabled?{name:`action`,fn:j(()=>[V($,{size:`sm`,variant:`primary`,onClick:t[9]||=e=>p.value=!0},{default:j(()=>[H(O(A(Y)(`settings.backups.create`)),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])):(L(),R(`ul`,AW,[(L(!0),R(I,null,P(g.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`,jW,[B(`div`,MW,[B(`span`,NW,O(e.name),1),e.encrypted?(L(),z(sW,{key:0,tone:`warn`,plain:``},{default:j(()=>[H(O(A(Y)(`settings.backups.encrypted`)),1)]),_:1})):U(``,!0)]),B(`p`,PW,O(A(xR)(e.sizeBytes))+` · `+O(A(bR)(e.createdAt)),1)]),B(`div`,FW,[B(`a`,{href:OM(e.name),class:D(A(v))},[V(A(fy),{class:`size-3`,"aria-hidden":`true`}),H(` `+O(A(Y)(`settings.backups.download`)),1)],10,IW),V($,{size:`xs`,variant:`secondary`,onClick:t=>y(e.name)},{default:j(()=>[V(A(Ry),{class:`size-3`,"aria-hidden":`true`}),H(` `+O(A(Y)(`settings.backups.restoreAction`)),1)]),_:1},8,[`onClick`]),V(rU,{label:A(Y)(`common.delete`),"confirm-label":A(Y)(`settings.backups.confirmDelete`),size:`xs`,variant:`ghost`,"confirm-variant":`danger`,disabled:u.value,onConfirm:t=>S(e.name)},null,8,[`label`,`confirm-label`,`disabled`,`onConfirm`])])]))),128))])),f.value||d.value?(L(),R(`div`,LW,[f.value?(L(),z(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(f.value),1)]),_:1})):U(``,!0),d.value?(L(),z(oU,{key:1,tone:`ok`},{default:j(()=>[H(O(d.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1},8,[`title`,`description`]),V(WU,{open:p.value,"onUpdate:open":t[10]||=e=>p.value=e,state:n.state,onCreated:b},null,8,[`open`,`state`]),V(rW,{open:m.value,"onUpdate:open":t[11]||=e=>m.value=e,files:g.value,initial:h.value,onApplied:x},null,8,[`open`,`files`,`initial`])]))}}),zW={key:0,class:`mt-3 flex flex-wrap items-center gap-1.5`},BW={class:`text-xs text-muted`},VW={key:1,class:`mt-3 text-xs text-muted`},HW=N({__name:`HostSection`,props:Va({config:{},alerts:{},dirty:{type:Boolean}},{host:{required:!0},hostModifiers:{}}),emits:Va([`reset`],[`update:host`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`host`),a=Bz(()=>i.value.intervalMs,e=>i.value.intervalMs=e,15e3),o=Bz(()=>i.value.diskUsedPercent,e=>i.value.diskUsedPercent=e,90),s=Bz(()=>i.value.memoryUsedPercent,e=>i.value.memoryUsedPercent=e,90),c=Bz(()=>i.value.swapUsedPercent,e=>i.value.swapUsedPercent=e,50),l=Bz(()=>i.value.loadPerCpu,e=>i.value.loadPerCpu=e,2),u=Bz(()=>i.value.tempCelsius,e=>i.value.tempCelsius=e,85);return(e,t)=>(L(),R(I,null,[V(aB,{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(AB,{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(gB,{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(DB,{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(gB,{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(gB,{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(gB,{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(gB,{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(gB,{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`,zW,[B(`span`,BW,O(A(Y)(`settings.host.breachingNow`)),1),(L(!0),R(I,null,P(n.alerts,e=>(L(),z(sW,{key:e,tone:`danger`,dot:``},{default:j(()=>[H(O(e),1)]),_:2},1024))),128))])):i.value.enabled?(L(),R(`p`,VW,O(A(Y)(`settings.host.nothingBreaching`)),1)):U(``,!0)],64))}}),UW={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},WW={class:`text-xs font-medium text-muted`},GW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},KW={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},qW={class:`text-2xs leading-4 text-faint`},JW={key:0},YW={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},XW={class:`text-xs font-medium text-muted`},ZW={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},QW={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},$W={class:`text-2xs leading-4 text-faint`},eG={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},tG={class:`text-xs font-medium text-muted`},nG=[`disabled`],rG={class:`text-2xs leading-4 text-faint sm:col-span-2`},iG=N({__name:`InterfaceSection`,props:Va({ui:{},panelVersion:{},labelDirty:{type:Boolean}},{label:{required:!0},labelModifiers:{}}),emits:Va([`changed`,`resetLabel`],[`update:label`]),setup(e,{emit:t}){let n=e,r=t,i=lo(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 JM(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=yM(e)}finally{o.value=!1}}}async function m(){if(!l.value)l.value=!0,setTimeout(()=>{l.value=!1},5e3);else{l.value=!1,o.value=!0,c.value=null;try{let e=await UM();s.value=e.removed?Y(`settings.interface.restored`):Y(`settings.interface.nothingInstalled`),r(`changed`)}catch(e){c.value=yM(e)}finally{o.value=!1}}}return(t,h)=>(L(),z(aB,{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`,UW,[B(`span`,WW,O(A(Y)(`settings.interface.currentlyServing`)),1),B(`div`,GW,[B(`span`,KW,O(u.value),1),V(aW,{value:e.ui?.dir??``,label:A(Y)(`settings.interface.copyDirectory`)},null,8,[`value`,`label`])]),B(`p`,qW,[d.value?(L(),R(`span`,JW,O(d.value)+` · `,1)):U(``,!0),B(`code`,null,O(e.ui?.dir??`—`),1)])]),B(`div`,YW,[B(`span`,XW,O(A(Y)(`settings.interface.panelVersion`)),1),B(`div`,ZW,[B(`span`,QW,O(A(Y)(`app.name`))+` `+O(n.panelVersion??A(Y)(`common.unknown`)),1),n.panelVersion?(L(),z(aW,{key:0,value:n.panelVersion,label:A(Y)(`settings.interface.copyPanelVersion`)},null,8,[`value`,`label`])):U(``,!0)]),B(`p`,$W,[V(qB,{k:`settings.interface.panelVersionHint`},{command:j(()=>[...h[2]||=[B(`code`,null,`home-hosted status`,-1)]]),_:1})])]),V(DB,{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`,eG,[B(`span`,tG,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,nG)]),c.value?(L(),z(oU,{key:0,tone:`warn`,title:c.value},null,8,[`title`])):s.value?(L(),z(oU,{key:1,tone:`ok`,title:s.value},null,8,[`title`])):U(``,!0),B(`p`,rG,[V(qB,{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`]))}}),aG={class:`inline-flex items-center gap-0.5 rounded-control border border-line bg-panel-2 p-0.5`},oG=[`aria-pressed`,`onClick`],sG=N({__name:`SegmentedControl`,props:Va({options:{},size:{default:`sm`}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=lo(e,`modelValue`);return(e,r)=>(L(),R(`div`,aG,[(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,oG))),128))]))}}),cG={class:`flex min-w-0 flex-col gap-1`},lG={class:`text-xs font-medium text-muted`},uG={class:`text-2xs leading-4 text-faint`},dG={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},fG={class:`text-xs font-medium text-muted`},pG={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},mG={class:`min-w-0 flex-1 truncate font-mono text-xs tabular-nums text-ink`},hG={class:`text-2xs leading-4 text-faint`},gG=N({__name:`ListenerSection`,props:Va({view:{},dirty:{type:Boolean}},{control:{required:!0},controlModifiers:{}}),emits:Va([`reset`],[`update:control`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`control`),a=Bz(()=>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`&&TA(t)!==null;i.value.host=r?t:`127.0.0.1`}}),c=W(()=>{if(s.value===`custom`&&TA(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(aB,{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(gB,{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`,cG,[B(`span`,lG,O(A(Y)(`settings.listener.bind`)),1),V(sG,{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`,uG,O(u.value),1)]),s.value===`custom`?(L(),z(DB,{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(AB,{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`,dG,[B(`span`,fG,O(A(Y)(`settings.listener.liveAddress`)),1),B(`div`,pG,[B(`span`,mG,O(l.value),1),n.view?.restartRequired?(L(),z(sW,{key:0,tone:`warn`,dot:``},{default:j(()=>[H(O(A(Y)(`settings.listener.restartRequired`)),1)]),_:1})):U(``,!0),V(aW,{value:l.value,label:A(Y)(`settings.listener.copyLiveAddress`)},null,8,[`value`,`label`])]),B(`p`,hG,O(A(Y)(`settings.listener.liveAddressHint`)),1)])]),_:1},8,[`title`,`description`]))}}),_G={class:`space-y-3`},vG={class:`divide-y divide-line-soft sm:col-span-2`},yG={class:`min-w-0`},bG={class:`text-xs font-medium text-ink`},xG={class:`mt-0.5 text-2xs leading-4 text-faint`},SG={class:`flex min-w-0 flex-1 items-center justify-end gap-1.5`},CG={class:`min-w-0 truncate font-mono text-xs text-ink`},wG={class:`flex items-center gap-2 text-xs font-medium text-ink`},TG={class:`font-mono text-2xs font-normal text-faint`},EG={class:`divide-y divide-line-soft`},DG={class:`min-w-0`},OG={class:`text-2xs font-medium text-ink`},kG={class:`mt-0.5 text-2xs leading-4 text-faint`},AG={class:`flex min-w-0 flex-1 items-center justify-end gap-1.5`},jG={class:`min-w-0 truncate font-mono text-2xs text-ink`},MG=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`,_G,[V(aB,{title:A(Y)(`settings.paths.whereThingsLive`),description:A(Y)(`settings.paths.whereThingsLiveDescription`)},{default:j(()=>[B(`ul`,vG,[(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`,yG,[B(`p`,bG,O(e.label),1),B(`p`,xG,O(e.hint),1)]),B(`div`,SG,[B(`span`,CG,O(e.value),1),V(aW,{value:e.value,label:A(Y)(`settings.paths.copyPath`,{label:e.copyLabel.toLowerCase()})},null,8,[`value`,`label`])])]))),128))])]),_:1},8,[`title`,`description`]),V(aB,{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`,wG,[H(O(e.label)+` `,1),B(`span`,TG,O(e.id),1)]),B(`ul`,EG,[(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`,DG,[B(`p`,OG,O(e.label),1),B(`p`,kG,O(e.hint),1)]),B(`div`,AG,[B(`span`,jG,O(e.value),1),V(aW,{value:e.value,label:A(Y)(`settings.paths.copyPath`,{label:e.copyLabel.toLowerCase()})},null,8,[`value`,`label`])])]))),128))])]))),128))]),_:1},8,[`title`,`description`])]))}}),NG=[`id`],PG={class:`mb-3`},FG={class:`text-lg font-semibold text-ink`},IG={class:`mt-0.5 text-xs text-muted`},LG={class:`space-y-3`},RG=N({__name:`SettingsSection`,props:{id:{},title:{},description:{}},setup(e){return(t,n)=>(L(),R(`section`,{id:e.id,class:`scroll-mt-5`},[B(`header`,PG,[B(`h2`,FG,O(e.title),1),B(`p`,IG,O(e.description),1)]),B(`div`,LG,[F(t.$slots,`default`)])],8,NG))}}),zG={class:`min-h-full`},BG={class:`mx-auto w-full max-w-5xl px-4 pb-6 pt-5 sm:px-6`},VG={class:`lg:grid lg:grid-cols-[11rem_minmax(0,1fr)] lg:gap-8`},HG=[`aria-label`],UG={class:`sticky top-6 space-y-0.5 border-l border-line`},WG=[`aria-current`,`onClick`],GG={class:`space-y-6`},KG={class:`sticky bottom-0 z-30 border-t border-line bg-panel/95 backdrop-blur`},qG={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`},JG={class:`min-w-0 flex-1`},YG={class:`text-xs text-muted`},XG={class:`font-mono tabular-nums text-ink`},ZG={key:0,class:`mt-0.5 text-xs text-danger`},QG={key:1,class:`mt-0.5 text-xs text-ok`},$G={class:`flex shrink-0 items-center gap-2`},eK={class:`max-h-[60dvh] overflow-auto px-4 py-3`},tK={key:0,class:`divide-y divide-line-soft`},nK={class:`font-mono text-xs text-ink`},rK={class:`ml-auto font-mono text-xs text-muted line-through`},iK={class:`font-mono text-xs text-accent`},aK={key:1,class:`text-xs text-muted`},oK={class:`flex items-center justify-end gap-2 border-t border-line px-4 py-3`},sK=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=$g(),a=Qg(),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;ia(()=>{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)}}),sa(()=>u?.disconnect());function d(){r(`save`),s.value=!1}return(e,t)=>(L(),R(I,null,[B(`div`,zG,[B(`div`,BG,[F(e.$slots,`header`),B(`div`,VG,[B(`nav`,{"aria-label":n.navLabel,class:`hidden lg:block`},[B(`ul`,UG,[(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,WG)]))),128))])],8,HG),B(`div`,GG,[F(e.$slots,`default`)])])]),B(`div`,KG,[B(`div`,qG,[B(`div`,JG,[B(`p`,YG,[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`,XG,O(n.changedCount),1),H(` `+O(A(nI)(`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`,ZG,O(n.saveError),1)):n.saveMessage?(L(),R(`p`,QG,O(n.saveMessage),1)):U(``,!0)]),B(`div`,$G,[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(HB,{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`,eK,[n.changes.length>0?(L(),R(`ul`,tK,[(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`,nK,O(e.path),1),B(`span`,rK,O(A(wR)(e.from)),1),t[5]||=B(`span`,{class:`text-2xs text-faint`},`→`,-1),B(`span`,iK,O(A(wR)(e.to)),1)]))),128))])):(L(),R(`p`,aK,O(A(Y)(`settings.shell.nothingToSave`)),1))]),B(`footer`,oK,[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(nI)(`settings.shell.saveChanges`,n.changes.length)),1)]),_:1},8,[`disabled`,`loading`])])]),_:1},8,[`open`,`title`,`description`])],64))}}),cK={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},lK={class:`text-xs font-medium text-muted`},uK={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},dK={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},fK={key:0,class:`sm:col-span-2`},pK={key:1,class:`space-y-3 sm:col-span-2`},mK={class:`divide-y divide-line-soft text-xs`},hK={class:`flex items-start justify-between gap-4 py-1.5`},gK={class:`text-muted`},_K={class:`min-w-0 text-right font-mono text-xs text-ink`},vK={class:`flex items-start justify-between gap-4 py-1.5`},yK={class:`text-muted`},bK={class:`min-w-0 text-right font-mono text-xs text-ink`},xK={class:`flex items-start justify-between gap-4 py-1.5`},SK={class:`text-muted`},CK={class:`font-mono text-xs tabular-nums text-ink`},wK={class:`flex items-center justify-between gap-4 py-1.5`},TK={class:`text-muted`},EK={class:`flex items-start justify-between gap-4 py-1.5`},DK={class:`text-muted`},OK={class:`flex min-w-0 items-center gap-1.5`},kK={class:`min-w-0 truncate font-mono text-2xs text-ink`},AK={key:2,class:`sm:col-span-2`},jK={class:`flex min-w-0 flex-col gap-1`},MK={class:`flex min-w-0 flex-col gap-1`},NK={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},PK={key:3,class:`space-y-2 sm:col-span-2`},FK=N({__name:`TlsSection`,props:Va({view:{},dirty:{type:Boolean}},{tlsEnabled:{type:Boolean,required:!0},tlsEnabledModifiers:{}}),emits:Va([`reset`],[`update:tlsEnabled`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`tlsEnabled`),a=NP(),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(dB,`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 LN(o.value,s.value);o.value=``,s.value=``,c.value=Y(`settings.tls.stored`),await a.refresh();let t=await Vz(e);t!==null&&(l.value=t)}catch(e){l.value=yM(e)}finally{u.value=!1}}async function _(){u.value=!0,l.value=null,c.value=null;try{let e=await RN();c.value=Y(`settings.tls.removed`),await a.refresh();let t=await Vz(e);t!==null&&(l.value=t)}catch(e){l.value=yM(e)}finally{u.value=!1}}return(e,t)=>(L(),R(I,null,[V(aB,{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(AB,{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`,cK,[B(`span`,lK,O(A(Y)(`settings.listener.liveAddress`)),1),B(`div`,uK,[B(`span`,dK,O(f.value),1),V(aW,{value:f.value,label:A(Y)(`settings.listener.copyLiveAddress`)},null,8,[`value`,`label`])])])]),_:1},8,[`title`,`description`]),V(aB,{class:`mt-3`,title:A(Y)(`settings.tls.certificateTitle`),description:A(Y)(`settings.tls.certificateDescription`)},{default:j(()=>[d.value?.error?(L(),R(`div`,fK,[V(oU,{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`,pK,[B(`dl`,mK,[B(`div`,hK,[B(`dt`,gK,O(A(Y)(`settings.tls.subject`)),1),B(`dd`,_K,O(d.value.subject??`—`),1)]),B(`div`,vK,[B(`dt`,yK,O(A(Y)(`settings.tls.issuer`)),1),B(`dd`,bK,O(d.value.issuer??`—`),1)]),B(`div`,xK,[B(`dt`,SK,O(A(Y)(`settings.tls.validUntil`)),1),B(`dd`,CK,[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`,wK,[B(`dt`,TK,O(A(Y)(`settings.tls.privateKey`)),1),B(`dd`,null,[V(sW,{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`,EK,[B(`dt`,DK,O(A(Y)(`settings.tls.fingerprint`)),1),B(`dd`,OK,[B(`span`,kK,O(d.value.fingerprint??`—`),1),d.value.fingerprint?(L(),z(aW,{key:0,value:d.value.fingerprint,label:A(Y)(`settings.tls.copyFingerprint`)},null,8,[`value`,`label`])):U(``,!0)])])])])):(L(),R(`div`,AK,[V(oU,{tone:`info`,title:A(Y)(`settings.tls.noCertificateTitle`)},{default:j(()=>[H(O(A(Y)(`settings.tls.noCertificateText`)),1)]),_:1},8,[`title`])])),B(`div`,jK,[B(`label`,{class:D(A(lB)),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`,MK,[B(`label`,{class:D(A(lB)),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(KB,{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(KB,{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`,NK,[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(rU,{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`,PK,[l.value?(L(),z(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(l.value),1)]),_:1})):U(``,!0),c.value?(L(),z(oU,{key:1,tone:`ok`},{default:j(()=>[H(O(c.value),1)]),_:1})):U(``,!0)])):U(``,!0)]),_:1},8,[`title`,`description`])],64))}}),IK=N({__name:`LanguageSelect`,props:{labelled:{type:Boolean,default:!0},wide:{type:Boolean,default:!1}},setup(e){let t=e,n=k(!1),r=W(()=>AF.map(e=>({value:e.code,label:e.name}))),i=k(null),a=W({get:()=>i.value??rI(),set:e=>{e!==rI()&&(i.value=e,n.value=!0,eI(e).finally(()=>{i.value=null,n.value=!1}))}});return(e,i)=>(L(),z(SB,{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`]))}}),LK={class:`mb-5`},RK={class:`text-xl font-semibold tracking-tight text-ink`},zK={class:`mt-1 text-xs text-muted`},BK={class:`text-2xs leading-4 text-faint sm:col-span-2`},VK=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=NP(),r=tP(),i=tn(fz()),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=wz(t,i);Object.keys(n).length>0&&(e.control=n)}let n=f.value;if(n!==null){let t=Sz(n,i.host);Object.keys(t).length>0&&(e.host=t)}let r=p.value;if(r!==null){let t=Cz(r,i.backups);Object.keys(t).length>0&&(e.backups=t)}return e}),x=W(()=>az(b.value)),S=W(()=>{let e=u.value,t=f.value,n=p.value;return{control:e===null?{}:{..._z(e),auth:gz(e.auth)},host:t??{},backups:n===null?{}:{enabled:n.enabled,keep:n.keep,includePaths:n.includePaths}}}),C=W(()=>iz(b.value,S.value)),w=W(()=>u.value!==null&&Lz(u.value,i)),T=W(()=>u.value!==null&&Rz(u.value,i)),ee=W(()=>u.value!==null&&zz(u.value,i)),te=W(()=>f.value!==null&&Object.keys(Sz(f.value,i.host)).length>0),ne=W(()=>p.value!==null&&Object.keys(Cz(p.value,i.backups)).length>0),re={};function ie(){let e=(e,t)=>{Iz(re[e],jz(i,e))||(t(),re[e]=jz(i,e))},t=u.value;t!==null&&(Nz(i,re.control,`listener`)||(Object.assign(i.control,_z(t)),Pz(i,re,`listener`)),Nz(i,re.control,`auth`)||(Object.assign(i.auth,gz(t.auth)),Pz(i,re,`auth`)),Nz(i,re.control,`tls`)||(i.control.tlsEnabled=t.tls.enabled,Pz(i,re,`tls`)));let n=f.value;n!==null&&e(`host`,()=>Object.assign(i.host,yz(n)));let r=p.value;r!==null&&e(`backups`,()=>Object.assign(i.backups,xz(r)))}function ae(){for(let e of Object.keys(re))delete re[e]}function oe(e){re[e]=jz(i,e)}M([u,l],()=>{ie()},{immediate:!0});async function se(){c.value=null;try{l.value=await PM()}catch(e){c.value=yM(e)}}ia(()=>{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 Vz(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,yz(f.value)),oe(`host`)}function ue(){p.value!==null&&Object.assign(i.backups,xz(p.value)),oe(`backups`)}function de(){if(u.value!==null){let e=_z(u.value);i.control.label=e.label,i.control.port=e.port,i.control.host=e.host,i.control.openBrowser=e.openBrowser}Pz(i,re,`listener`)}function fe(){u.value!==null&&Object.assign(i.auth,gz(u.value.auth)),Pz(i,re,`auth`)}function pe(){u.value!==null&&(i.control.tlsEnabled=u.value.tls.enabled),Pz(i,re,`tls`)}return(e,r)=>(L(),z(sK,{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`,LK,[B(`h1`,RK,O(A(Y)(`views.globalSettings.title`)),1),B(`p`,zK,O(A(Y)(`views.globalSettings.description`)),1)]),c.value?(L(),z(oU,{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(RG,{id:`listener`,title:A(Y)(`views.globalSettings.sectionListener`),description:A(Y)(`views.globalSettings.listenerDescription`)},{default:j(()=>[V(gG,{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(RG,{id:`authentication`,title:A(Y)(`views.globalSettings.sectionAuthentication`),description:A(Y)(`views.globalSettings.authenticationDescription`)},{default:j(()=>[V(lU,{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(RG,{id:`host`,title:A(Y)(`views.globalSettings.sectionHost`),description:A(Y)(`views.globalSettings.hostDescription`)},{default:j(()=>[V(HW,{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(RG,{id:`backups`,title:A(Y)(`views.globalSettings.sectionBackups`),description:A(Y)(`views.globalSettings.backupsDescription`)},{default:j(()=>[V(RW,{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(RG,{id:`tls`,title:A(Y)(`views.globalSettings.sectionTls`),description:A(Y)(`views.globalSettings.tlsDescription`)},{default:j(()=>[V(FK,{"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(RG,{id:`language`,title:A(Y)(`language.label`),description:A(Y)(`views.globalSettings.languageDescription`)},{default:j(()=>[V(IK,{wide:!0}),B(`p`,BK,O(A(Y)(`views.globalSettings.languageNote`)),1)]),_:1},8,[`title`,`description`]),V(RG,{id:`interface`,title:A(Y)(`views.globalSettings.sectionInterface`),description:A(Y)(`views.globalSettings.interfaceDescription`)},{default:j(()=>[V(iG,{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(RG,{id:`paths`,title:A(Y)(`views.globalSettings.sectionPaths`),description:A(Y)(`views.globalSettings.pathsDescription`)},{default:j(()=>[V(MG,{"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`]))}}),HK={class:`relative flex min-h-dvh items-center justify-center overflow-hidden bg-page px-4 py-10`},UK={class:`hh-enter relative w-full max-w-md`},WK={class:`mb-6 flex items-center gap-3`},GK={class:`text-lg font-semibold tracking-tight text-ink`},KK={class:`text-xs text-muted`},qK={class:`rounded-panel border border-line bg-panel/95 p-5 shadow-float backdrop-blur-sm`},JK={class:`flex items-start justify-between gap-3`},YK={class:`min-w-0`},XK={class:`text-base font-semibold text-ink`},ZK={class:`mt-1 text-xs leading-relaxed text-muted`},QK={class:`flex shrink-0 items-center gap-2`},$K={class:`w-36`},eq={class:`flex flex-col gap-1.5`},tq={class:`relative`},nq=[`type`],rq=[`aria-label`],iq={key:0,class:`rounded-control border border-danger/25 bg-danger-soft px-2.5 py-2 text-xs text-danger`},aq={key:1,class:`mt-5`},oq={class:`mt-4 space-y-2`},sq={key:0,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},cq={class:`text-2xs leading-4 text-warn`},lq={class:`mx-1 rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},uq={key:1,class:`flex items-start gap-2 rounded-control border border-warn/25 bg-warn-soft px-2.5 py-2`},dq={class:`text-2xs leading-4 text-warn`},fq={key:2,class:`flex items-start gap-2 rounded-control border border-line-soft bg-panel-2 px-2.5 py-2`},pq={class:`text-2xs leading-4 text-muted`},mq={class:`mt-4 flex items-center justify-center gap-2 text-2xs text-faint`},hq={class:`font-mono`},gq=N({__name:`LoginView`,setup(e){let t=$g(),n=Qg(),r=NP(),{session:i,error:a,login:o,refresh:s}=XN(),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 ia(async()=>{i.value===null&&await s()}),(e,t)=>(L(),R(`div`,HK,[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`,UK,[B(`div`,WK,[t[2]||=As(`<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`,GK,O(A(Y)(`app.name`)),1),B(`p`,KK,O(A(Y)(`app.tagline`)),1)])]),B(`section`,qK,[B(`div`,JK,[B(`div`,YK,[B(`h1`,XK,O(g.value),1),B(`p`,ZK,O(_.value),1)]),B(`div`,QK,[m.value?(L(),z(sW,{key:0,tone:`warn`,dot:``},{default:j(()=>[H(O(A(Y)(`login.exposed`)),1)]),_:1})):U(``,!0),B(`div`,$K,[V(IK,{labelled:!1})])])]),f.value?(L(),R(`div`,aq,[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:_u(v,[`prevent`])},[B(`div`,eq,[B(`label`,{for:`hh-password`,class:D(A(lB))},O(A(Y)(`login.password`)),3),B(`div`,tq,[wr(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(dB),`pr-9`))},null,10,nq),[[du,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(hy),{key:0,class:`size-3.5`})):(L(),z(A(gy),{key:1,class:`size-3.5`}))],8,rq)])]),A(a)?(L(),R(`p`,iq,O(A(a)),1)):U(``,!0),V($,{type:`submit`,variant:`primary`,size:`md`,block:``,loading:l.value},{default:j(()=>[V(A(Ty),{class:`size-3.5`}),H(` `+O(A(Y)(`login.signIn`)),1)]),_:1},8,[`loading`])],32)),B(`div`,oq,[p.value?(L(),R(`div`,sq,[V(A(Wy),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),B(`p`,cq,[V(qB,{k:`login.defaultPasswordWarning`},{password:j(()=>[B(`code`,lq,O(A(i)?.defaultPassword),1)]),_:1})])])):d.value?(L(),R(`div`,uq,[V(A(Ky),{class:`mt-0.5 size-3.5 shrink-0 text-warn`}),B(`p`,dq,[V(qB,{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`,fq,[V(A(Gy),{class:`mt-0.5 size-3.5 shrink-0 text-ok`}),B(`p`,pq,O(A(Y)(`login.sessionNote`,{days:Math.round((A(i)?.sessionTtlMs??0)/864e5)})),1)]))])]),B(`p`,mq,[B(`span`,hq,O(h.value),1),t[4]||=B(`span`,{"aria-hidden":`true`},`·`,-1),B(`span`,null,O(A(Y)(`login.servedFromThisMachine`)),1)])])]))}}),_q=[`#3f4a5c`,`#f07178`,`#7fd88f`,`#e6b673`,`#82aaff`,`#c792ea`,`#7fdbca`,`#c7d2e3`,`#5a6779`,`#ff8b92`,`#9ae6a8`,`#f2c98a`,`#9dbaff`,`#d7aef0`,`#9ce9dc`,`#eef3fb`],vq=[`#4b5563`,`#c0392b`,`#1c7c3f`,`#9a6700`,`#2f5fe0`,`#7c3aed`,`#0b6f89`,`#334155`,`#6b7280`,`#d64535`,`#22854a`,`#a8620d`,`#3f6bff`,`#8b5cf6`,`#0e7d9c`,`#0f1722`],yq=/\u001B\[([0-9;]*)m/g,bq=/\u001B(?:\[[0-9;?]*[A-HJKSTfhilmnprsu]|\][^\u0007\u001B]*(?:\u0007|\u001B\\)?|[()][0-9A-Z])/g;function xq(e){return Math.max(0,Math.min(255,e))}function Sq(e){return e===0?0:55+e*40}function Cq(e,t){let n=t?_q:vq;if(e<16)return n[e]??n[7];if(e<232){let t=e-16;return`rgb(${Sq(Math.floor(t/36))} ${Sq(Math.floor(t%36/6))} ${Sq(t%6)})`}let r=8+(e-232)*10;return`rgb(${r} ${r} ${r})`}function wq(){return{fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}}function Tq(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,wq());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?_q:vq)[i-30]??null;else if(i>=90&&i<=97)e.fg=(n?_q:vq)[i-90+8]??null;else if(i>=40&&i<=47)e.bg=(n?_q:vq)[i-40]??null;else if(i>=100&&i<=107)e.bg=(n?_q:vq)[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]=Cq(xq(r[t+2]),n),t+=2):o===2&&(e[a]=`rgb(${xq(r[t+2]??0)} ${xq(r[t+3]??0)} ${xq(r[t+4]??0)})`,t+=4)}}}function Eq(e,t,n){if(t.length===0)return;let r=e[e.length-1];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:e.push({text:t,...n})}function Dq(e){return e.includes(`\x1B`)}function Oq(e,t=!0){if(!Dq(e))return[{text:e,fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1}];let n=[],r=wq(),i=0;yq.lastIndex=0;let a=yq.exec(e);for(;a!==null;)Eq(n,e.slice(i,a.index).replace(bq,``),r),Tq(r,a[1]??``,t),i=a.index+a[0].length,a=yq.exec(e);return Eq(n,e.slice(i).replace(bq,``),r),n}var kq={class:`flex h-5 w-max min-w-full items-center gap-2 whitespace-pre px-2 font-mono text-xs leading-5`},Aq={key:0,class:`shrink-0 select-none text-faint`},jq={class:`min-w-0`},Mq=N({__name:`LogRow`,props:{line:{},query:{},dark:{type:Boolean},showTime:{type:Boolean}},setup(e){let t=e,n=W(()=>Oq(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`,kq,[t.showTime?(L(),R(`span`,Aq,O(A(yR)(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`,jq,[(L(!0),R(I,null,P(r.value,(e,t)=>(L(),R(`span`,{key:t,style:_e(a(e))},O(e.text),5))),128))])]))}}),Nq={class:`flex min-h-0 flex-col overflow-hidden rounded-panel border border-line bg-panel`},Pq={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel-2/60 px-2.5 py-2`},Fq={class:`relative min-w-40 flex-1 sm:max-w-72`},Iq=[`placeholder`,`aria-label`],Lq={class:`absolute right-1 top-1/2 flex -translate-y-1/2 items-center gap-0.5`},Rq={key:0,class:`px-1 font-mono text-2xs tabular-nums text-faint`},zq=[`aria-label`],Bq=[`aria-label`],Vq=[`aria-label`],Hq={class:`ml-auto flex items-center gap-1.5`},Uq=[`href`,`download`],Wq={class:`relative min-h-0 flex-1`},Gq=[`aria-label`],Kq={key:0,class:`px-3 py-6 text-center text-xs text-faint`},qq={class:`flex items-center gap-3 border-t border-line bg-panel-2/60 px-2.5 py-1.5 text-2xs text-faint`},Jq={class:`flex items-center gap-1.5`},Yq={class:`font-mono tabular-nums`},Xq={key:0,class:`font-mono tabular-nums`},Zq={class:`ml-auto hidden font-mono tabular-nums sm:inline`},Qq=20,$q=12,eJ=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=HP(),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/Qq)-$q)),_=W(()=>Math.min(m.value,Math.ceil((o.value+s.value)/Qq)+$q)),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*Qq-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;ia(()=>{let e=a.value;e&&(s.value=e.clientHeight,w=new ResizeObserver(()=>{a.value&&(s.value=a.value.clientHeight)}),w.observe(e),x())}),ze(()=>{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`,Nq,[B(`header`,Pq,[V(sG,{modelValue:l.value,"onUpdate:modelValue":t[0]||=e=>l.value=e,options:T.value},null,8,[`modelValue`,`options`]),B(`div`,Fq,[V(A(Vy),{class:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),wr(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(dB)]]),"aria-label":A(Y)(`logs.searchLabel`),onKeydown:t[2]||=yu(_u(e=>C(e.shiftKey?-1:1),[`prevent`]),[`enter`])},null,42,Iq),[[nu,u.value]]),B(`div`,Lq,[u.value.trim().length>0?(L(),R(`span`,Rq,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(nb),{class:`size-3`})],8,zq)):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(ny),{class:`size-3`})],8,Bq)):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($v),{class:`size-3`})],8,Vq)):U(``,!0)])]),B(`div`,Hq,[V(kV,{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(sy),{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(_a(c.value?A(My):A(Py)),{class:`size-3`})),H(` `+O(c.value?A(Y)(`logs.pause`):A(Y)(`logs.follow`)),1)]),_:1},8,[`variant`]),n.clearable?(L(),z(kV,{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($y),{class:`size-3.5`})]),_:1},8,[`aria-label`])]),_:1},8,[`label`])):U(``,!0),n.downloadUrl?(L(),z(kV,{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(Xv),{class:`size-3.5`})]),_:1},8,[`aria-label`])],8,Uq)]),_:1},8,[`label`])):U(``,!0)])]),B(`div`,Wq,[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`,Kq,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*Qq}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)*Qq}px)`})},[V(Mq,{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,Gq),V(Ac,{"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(Xv),{class:`size-3`}),H(` `+O(A(Y)(`logs.jumpToLatest`)),1)])):U(``,!0)]),_:1})]),B(`footer`,qq,[B(`span`,Jq,[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`,Yq,O(m.value===n.lines.length?A(nI)(`logs.lines`,m.value):A(Y)(`logs.linesOf`,{count:m.value,total:n.lines.length})),1),u.value.trim().length>0?(L(),R(`span`,Xq,O(A(Y)(`logs.matches`,{count:h.value.length})),1)):U(``,!0),B(`span`,Zq,O(A(Y)(`logs.rowHeight`,{height:Qq})),1)])]))}}),tJ={class:`flex h-full min-h-0`},nJ={class:`hidden w-64 shrink-0 flex-col border-r border-line bg-panel/40 md:flex`},rJ={class:`border-b border-line px-3 py-2.5`},iJ={class:`text-xs font-semibold text-ink`},aJ={class:`mt-0.5 text-2xs text-faint`},oJ={class:`min-h-0 flex-1 overflow-y-auto p-1.5`},sJ={key:0,class:`space-y-1.5 p-1.5`},cJ=[`onClick`],lJ={class:`min-w-0 flex-1`},uJ={key:0,class:`block truncate font-mono text-2xs text-faint`},dJ={key:1,class:`block truncate font-mono text-2xs text-faint`},fJ={class:`border-t border-line p-2.5`},pJ={class:`text-2xs leading-4 text-faint`},mJ={class:`flex min-w-0 flex-1 flex-col`},hJ={class:`flex flex-wrap items-center gap-2 border-b border-line bg-panel/40 px-3 py-2.5`},gJ={class:`min-w-0`},_J={class:`truncate text-sm font-semibold text-ink`},vJ={key:0,class:`ml-1.5 font-mono text-2xs font-normal text-faint`},yJ=[`aria-label`,`placeholder`],bJ={key:0,class:`flex flex-wrap items-center gap-1.5 border-b border-line-soft bg-panel-2/40 px-3 py-2`},xJ=[`href`,`download`],SJ={class:`text-faint`},CJ={key:1,class:`text-2xs text-faint`},wJ={key:2,class:`ml-auto font-mono text-2xs text-faint`},TJ={key:3,class:`font-mono text-2xs text-faint`},EJ={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`},DJ={class:`min-h-0 flex-1 p-3`},OJ={class:`text-xs text-muted`},kJ=N({__name:`LogsView`,setup(e){let t=$g(),n=Qg(),r=JP(),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=MP(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:nI(`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 xN(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=yM(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 SN(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=yM(e)}finally{t===ne&&(d.value=!1)}}async function ie(){let e=a.value;if(e!==null){h.value=!1;try{await CN(r.activeId.value,e),p.value=[],m.value+=1,await te()}catch(e){f.value=yM(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)}),ze(()=>{oe!==null&&clearTimeout(oe)}),M(()=>r.activeId.value,()=>{a.value=null,p.value=[],o.value=`disk`,te().then(()=>re())}),ia(async()=>{await te(),o.value===`disk`&&await re()}),(e,t)=>(L(),R(`div`,tJ,[B(`aside`,nJ,[B(`div`,rJ,[B(`p`,iJ,O(A(Y)(`views.logs.persistedTitle`)),1),B(`p`,aJ,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(xR)(T.value)})),1)]),B(`div`,oJ,[g.value?(L(),R(`div`,sJ,[(L(),R(I,null,P(5,e=>V(_H,{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(IL)[A(ML)[e.status].tone]))},null,2),B(`span`,lJ,[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`,uJ,O(A(nI)(`views.logs.filesOnDisk`,e.files.length))+` · `+O(A(xR)(e.sizeBytes)),1)):(L(),R(`span`,dJ,O(A(Y)(`views.logs.nothingPersisted`)),1))])],10,cJ))),128)),!g.value&&i.value.length===0?(L(),z(tR,{key:2,compact:``,title:A(Y)(`views.logs.noServersTitle`),description:A(Y)(`views.logs.noServersDescription`)},null,8,[`title`,`description`])):U(``,!0)]),B(`div`,fJ,[B(`p`,pJ,O(A(Y)(`views.logs.retentionNote`)),1)])]),B(`div`,mJ,[B(`header`,hJ,[B(`div`,gJ,[B(`h1`,_J,[H(O(_.value?.label??A(Y)(`nav.logs`))+` `,1),_.value?(L(),R(`span`,vJ,O(_.value.serverId),1)):U(``,!0)])]),V(sG,{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(SB,{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(SB,{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`?wr((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,yJ)),[[nu,l.value]]):U(``,!0),o.value===`disk`?(L(),z($,{key:3,size:`sm`,loading:d.value,onClick:re},{default:j(()=>[V(A(Ly),{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($y),{class:`size-3.5`}),H(O(A(Y)(`views.logs.clearFile`)),1)]),_:1},8,[`disabled`])):U(``,!0)]),_.value?(L(),R(`div`,bJ,[V(A(_y),{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:wN(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`,SJ,O(A(xR)(e.sizeBytes)),1),V(A(Xv),{class:`size-3`})],8,xJ))),128)):(L(),R(`span`,CJ,O(A(Y)(`views.logs.nothingOnDisk`)),1)),o.value===`disk`&&p.value.length>0?(L(),R(`span`,wJ,O(A(Y)(`views.logs.loadedLines`,{count:p.value.length})),1)):U(``,!0),u.value===null?U(``,!0):(L(),R(`span`,TJ,` · `+O(A(Y)(`views.logs.searchedLines`,{count:u.value})),1))])):U(``,!0),f.value?(L(),R(`p`,EJ,[V(A(iy),{class:`size-3.5`}),H(` `+O(f.value),1)])):U(``,!0),B(`div`,DJ,[_.value?d.value&&x.value.length===0?(L(),z(_H,{key:1,class:`h-full w-full`,rounded:`rounded-panel`})):(L(),z(eJ,{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(tR,{key:0,title:A(Y)(`views.logs.pickServerTitle`),description:A(Y)(`views.logs.pickServerDescription`)},{icon:j(()=>[V(A(By),{class:`size-4`})]),_:1},8,[`title`,`description`]))])]),V(HB,{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($y),{class:`size-3.5`}),H(O(A(Y)(`views.logs.clear`)),1)]),_:1})]),default:j(()=>[B(`p`,OJ,O(A(Y)(`views.logs.clearNote`)),1)]),_:1},8,[`open`,`title`,`description`])]))}}),AJ={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},jJ={key:0,class:`grid grid-cols-2 gap-4 p-4 sm:grid-cols-3 lg:grid-cols-5`},MJ={key:1,class:`grid grid-cols-2 divide-line-soft sm:grid-cols-3 sm:divide-x lg:grid-cols-5`},NJ={class:`p-4`},PJ={class:`p-4`},FJ={class:`p-4`},IJ={class:`p-4`},LJ={class:`p-4`},RJ={key:0,class:`flex items-start gap-2.5 rounded-panel border border-danger/25 bg-danger-soft px-3.5 py-3`},zJ={class:`min-w-0`},BJ={class:`text-xs font-medium text-danger`},VJ={class:`mt-0.5 flex flex-wrap gap-x-2 text-2xs text-danger`},HJ={class:`space-y-3`},UJ={class:`flex items-center justify-between`},WJ={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},GJ={key:0,class:`grid gap-4 lg:grid-cols-2`},KJ={key:2,class:`grid gap-4 lg:grid-cols-2`},qJ={class:`flex items-center gap-1.5 text-sm font-semibold text-ink`},JJ={class:`flex flex-wrap items-center gap-x-3 gap-y-1 text-2xs text-faint`},YJ={class:`flex items-center gap-1`},XJ={class:`font-mono`},ZJ=N({__name:`OverviewView`,setup(e){let t=NP(),n=JP(),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=oP(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?`—`:gR(t.now.value-Math.min(...e))});return(e,m)=>{let h=ha(`RouterLink`);return L(),R(`div`,AJ,[V(fH,{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(Py),{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(Fy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addServer`)),1)]),_:1})]),_:1},8,[`title`,`description`]),V(gH,{class:`p-0`},{default:j(()=>[i.value?(L(),R(`div`,jJ,[(L(),R(I,null,P(5,e=>B(`div`,{key:e,class:`space-y-2`},[V(_H,{class:`h-2.5 w-16`}),V(_H,{class:`h-6 w-20`})])),64))])):(L(),R(`div`,MJ,[B(`div`,NJ,[V(xH,{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`,PJ,[V(xH,{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`,FJ,[V(xH,{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`,IJ,[V(xH,{label:A(Y)(`views.overview.processMemory`),value:A(SR)(u.value),hint:d.value>0?A(Y)(`views.overview.peak`,{value:A(SR)(d.value)}):A(Y)(`views.overview.acrossTree`)},null,8,[`label`,`value`,`hint`])]),B(`div`,LJ,[V(xH,{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`,RJ,[V(A(iy),{class:`mt-0.5 size-4 shrink-0 text-danger`}),B(`div`,zJ,[B(`p`,BJ,O(A(nI)(`views.overview.needLook`,l.value.length)),1),B(`p`,VJ,[(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`,HJ,[B(`div`,UJ,[B(`h2`,WJ,[V(A(Hy),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`nav.servers`)),1)]),V(h,{to:A(u0)(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`,GJ,[(L(),R(I,null,P(4,e=>V(_H,{key:e,class:`h-64 w-full`,rounded:`rounded-panel`})),64))])):A(a).length===0?(L(),z(tR,{key:1,title:A(Y)(`views.overview.emptyTitle`),description:A(Y)(`views.overview.emptyDescription`)},{icon:j(()=>[V(A(Hy),{class:`size-4`})]),action:j(()=>[V($,{variant:`primary`,onClick:m[3]||=e=>r.value=!0},{default:j(()=>[V(A(Fy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1})]),_:1},8,[`title`,`description`])):(L(),R(`div`,KJ,[(L(!0),R(I,null,P(A(a),e=>(L(),z(aH,{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(gH,null,{header:j(()=>[B(`h2`,qJ,[V(A(Jv),{class:`size-3.5 text-faint`}),H(` `+O(A(Y)(`views.overview.recentActivity`)),1)])]),actions:j(()=>[V(h,{to:A(u0)(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(ZR,{servers:A(a),now:A(t).now.value,limit:10},null,8,[`servers`,`now`])]),_:1}),B(`p`,JJ,[B(`span`,YJ,[V(A(Qy),{class:`size-3`}),H(O(A(Y)(`views.overview.sampling`)),1)]),B(`span`,XJ,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(eV,{open:r.value,"onUpdate:open":m[4]||=e=>r.value=e,"workspace-id":A(n).activeId.value},null,8,[`open`,`workspace-id`])])}}}),QJ=/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)*$/i,$J=/^(?:[a-z][a-z0-9+.-]*:\/\/)?(?<authority>[^/?#]+)/i,eY=[`.localhost`,`.local`,`.internal`,`.home.arpa`,`.lan`,`.home`,`.test`,`.invalid`,`.example`],tY=/^[a-z0-9][a-z0-9_-]*$/,nY={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`},rY={controlPanel:()=>`control panel`,noUpstream:()=>`no upstream`,noServerPicked:()=>`no server picked`,fallbackRetry:()=>`~8 hours`,retryOne:(e,t)=>`~${e} ${t}`,retryMany:(e,t)=>`~${e} ${t}s`},iY=4443,aY=4480;function oY(e){return e.label.trim().length>0?e.label:e.id}var sY=0;function cY(e){return e.find(e=>e.tls!==`off`&&dY(e.host))?.host??null}function lY(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 uY(e){return e>0&&e<1024}function dY(e){let t=e.trim().toLowerCase();return t.length===0||t===`localhost`||!t.includes(`.`)||eY.some(e=>t.endsWith(e))?!1:!/^\d{1,3}(?:\.\d{1,3}){3,}$/.test(t)}function fY(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=hY(t.resolvers);return(e.dns01.enabled!==t.dns01||e.dns01.resolvers.join(`,`)!==r.join(`,`))&&(n.dns01={enabled:t.dns01,resolvers:r}),n}function pY(){return{key:mY(),id:`route`,host:``,enabled:!0,target:`server`,workspace:``,server:``,url:``,path:``,tls:`auto`,dnsAccount:``}}function mY(){return sY+=1,`proxy-route-${sY}`}function hY(e){return e.split(/[\s,]+/).map(e=>e.trim()).filter(e=>e.length>0)}function gY(e,t,n){let r=fY(e,t),i=xY(e.routes,n);return i!==null&&(r.routes=i),Object.keys(r).length===0?null:r}function _Y(e,t){return e.staging||e.email.trim().length>0?!1:t.some(e=>e.tls!==`off`&&dY(e.host))}function vY(e,t=rY){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 yY(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 bY(e,t){return e.length===t.length&&e.every((e,n)=>SY(e,t[n]))}function xY(e,t){return bY(e,t)?null:DY(t)}function SY(e,t){return JSON.stringify(OY(e))===JSON.stringify(OY(t))}function CY(e){return wY(e,`certificate`)}function wY(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 TY(e){return wY(e,`route`)}function EY(e,t,n=rY){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 DY(e){return e.map(OY)}function OY(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 kY(e,t){return AY(e,t)}function AY(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 jY(e,t){return AY(e,t)}function MY(e){return e.httpPort===4480&&e.httpsPort===4443}function NY(e,t){let n={...nY,...t.messages},r={},i=e.host.trim();if(i.length===0?r.host=n.hostRequired():QJ.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()),tY.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`&&PY(e.url)===null&&(r.url=n.urlInvalid());let a=jj({...OY(e),host:i});return a instanceof J.errors&&Object.keys(r).length===0&&(r.form=a.summary),r}function PY(e){let t=e.trim();if(t.length===0)return null;let n=$J.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 FY=[{value:`server`,labelKey:`proxy.target.server`},{value:`panel`,labelKey:`proxy.target.panel`},{value:`external`,labelKey:`proxy.target.external`}],IY=[{value:`auto`,labelKey:`proxy.tls.auto`},{value:`off`,labelKey:`proxy.tls.off`},{value:`manual`,labelKey:`proxy.tls.manual`}],LY={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}},RY={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`}},zY={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 BY(e){let t=e.certificate;if(t===void 0)return null;let n=zY[t.state]??null;return n===null?null:{...n,message:t.message,retryInMinutes:t.retryInMinutes??null}}function VY(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 HY(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 UY(e){return{...VY(e)}}function WY(e){return structuredClone(dn(e)).map(e=>({...e,key:mY()}))}function GY(e,t,n){return t===null?[...e,n]:e.map(e=>e.id===t.id?n:e)}function KY(e){return e.tls===`off`?Y(`proxy.tls.plain`):e.tls===`manual`?Y(`proxy.tls.uploaded`):dY(e.host)?Y(`proxy.tls.letsEncrypt`):Y(`proxy.tls.engineCa`)}var qY={controlPanel:()=>Y(`proxy.target.controlPanel`),noUpstream:()=>Y(`proxy.target.noUpstream`),noServerPicked:()=>Y(`proxy.target.noServer`),fallbackRetry:()=>Y(`proxy.retry.inFallback`),retryOne:(e,t)=>nI(`proxy.retry.in${t===`minute`?`Minutes`:`Hours`}`,e),retryMany:(e,t)=>nI(`proxy.retry.in${t===`minute`?`Minutes`:`Hours`}`,e)},JY={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 YY(e,t){return EY(e,t,qY)}function XY(e){return vY(e,qY)}var ZY={class:`grid gap-3 sm:grid-cols-2`},QY={class:`grid gap-3 sm:grid-cols-2`},$Y={class:`flex min-w-0 flex-col gap-1`},eX={class:`flex min-w-0 flex-col gap-1`},tX=N({__name:`CertificateDialog`,props:Va({taken:{},busy:{type:Boolean},error:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Va([`submit`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`open`),a=k(``),o=k(``),s=k(``),c=k(``),l=k({}),u=k(!1),d=Q(dB,`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(()=>kY(CY(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`)),tY.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(HB,{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:_u(g,[`prevent`])},[B(`div`,ZY,[V(DB,{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(DB,{"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`,QY,[B(`div`,$Y,[B(`label`,{class:D(A(lB)),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`,eX,[B(`label`,{class:D(A(lB)),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(KB,{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(KB,{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(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(n.error),1)]),_:1})):U(``,!0)],32)]),_:1},8,[`open`,`title`,`description`]))}}),nX={key:0,class:`sm:col-span-2`},rX={key:1,class:`space-y-2 sm:col-span-2`},iX={class:`flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`},aX={class:`min-w-0 text-xs font-medium text-ink`},oX={class:`ml-1.5 font-mono text-2xs text-faint`},sX={key:0,class:`mt-2`},cX={key:1,class:`mt-2 divide-y divide-line-soft text-2xs`},lX={class:`flex items-start justify-between gap-4 py-1`},uX={class:`text-muted`},dX={class:`min-w-0 text-right font-mono text-ink`},fX={class:`flex items-start justify-between gap-4 py-1`},pX={class:`text-muted`},mX={class:`min-w-0 text-right font-mono text-ink`},hX={class:`flex items-start justify-between gap-4 py-1`},gX={class:`text-muted`},_X={class:`font-mono text-ink`},vX={class:`flex items-start justify-between gap-4 py-1`},yX={class:`shrink-0 text-muted`},bX={class:`min-w-0 text-right font-mono text-ink`},xX={key:1,class:`text-faint`},SX={class:`mt-2 flex justify-end`},CX={class:`text-xs font-semibold text-ink`},wX={class:`mt-1 text-2xs leading-4 text-muted`},TX={class:`mt-2.5 flex justify-end gap-1.5`},EX={key:2,class:`space-y-2 sm:col-span-2`},DX=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=yM(e),!1}finally{a.value=!1}}async function d(e){await u(()=>qM(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(()=>AM(e.id),Y(`proxy.certificate.removed`,{name:oY(e)}))}return(e,t)=>(L(),z(aB,{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(Fy),{class:`size-3.5`}),H(` `+O(A(Y)(`proxy.certificate.add`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[n.certificates.length===0?(L(),R(`div`,nX,[V(tR,{compact:``,title:A(Y)(`proxy.certificate.emptyTitle`),description:A(Y)(`proxy.certificate.emptyDescription`)},{icon:j(()=>[V(A(xy),{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`,rX,[(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`,iX,[B(`p`,aX,[H(O(A(oY)(e))+` `,1),B(`span`,oX,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`,sX,[V(oU,{tone:`danger`},{default:j(()=>[H(O(e.error),1)]),_:2},1024)])):(L(),R(`dl`,cX,[B(`div`,lX,[B(`dt`,uX,O(A(Y)(`proxy.certificate.subject`)),1),B(`dd`,dX,O(e.subject??`—`),1)]),B(`div`,fX,[B(`dt`,pX,O(A(Y)(`proxy.certificate.issuer`)),1),B(`dd`,mX,O(e.issuer??`—`),1)]),B(`div`,hX,[B(`dt`,gX,O(A(Y)(`proxy.certificate.validUntil`)),1),B(`dd`,_X,O(e.validTo?e.validTo.slice(0,10):`—`),1)]),B(`div`,vX,[B(`dt`,yX,O(A(Y)(`proxy.certificate.covers`)),1),B(`dd`,bX,[e.hosts.length>0?(L(),R(I,{key:0},[H(O(e.hosts.join(`, `)),1)],64)):(L(),R(`span`,xX,O(A(Y)(`proxy.certificate.noSans`)),1))])])])),B(`div`,SX,[V(A(rg),{open:c.value===e.id,"onUpdate:open":t=>c.value=t?e.id:null},{default:j(()=>[V(A(ug),{"as-child":``},{default:j(()=>[V($,{size:`xs`,variant:`danger-ghost`,disabled:a.value,"aria-label":A(Y)(`proxy.certificate.removeAria`,{name:A(oY)(e)})},{default:j(()=>[V(A($y),{class:`size-3.5`}),H(` `+O(A(Y)(`common.remove`)),1)]),_:1},8,[`disabled`,`aria-label`])]),_:2},1024),V(A(lg),null,{default:j(()=>[V(A(cg),{"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`,CX,O(A(Y)(`proxy.certificate.removeQuestion`,{name:A(oY)(e)})),1),B(`p`,wX,O(A(Y)(`proxy.certificate.removeBody`)),1),B(`div`,TX,[V(A(ig),{"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`,EX,[o.value?(L(),z(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(o.value),1)]),_:1})):U(``,!0),s.value?(L(),z(oU,{key:1,tone:`ok`},{default:j(()=>[H(O(s.value),1)]),_:1})):U(``,!0)])):U(``,!0),V(tX,{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`]))}}),OX={key:0,class:`sm:col-span-2`},kX={key:0,class:`sm:col-span-2`},AX={key:1,class:`sm:col-span-2`},jX={class:`divide-y divide-line-soft text-xs sm:col-span-2`},MX={class:`flex items-start justify-between gap-4 py-1.5`},NX={class:`text-muted`},PX={class:`font-mono text-xs text-ink`},FX={class:`flex items-start justify-between gap-4 py-1.5`},IX={class:`text-muted`},LX={class:`text-right text-xs text-ink`},RX={key:0,class:`flex items-start justify-between gap-4 py-1.5`},zX={class:`text-muted`},BX={class:`font-mono text-xs tabular-nums text-ink`},VX={key:1,class:`flex items-start justify-between gap-4 py-1.5`},HX={class:`text-muted`},UX={class:`flex min-w-0 items-center gap-1.5`},WX={class:`min-w-0 truncate font-mono text-2xs text-ink`},GX={class:`flex items-start justify-between gap-4 py-1.5`},KX={class:`text-muted`},qX={class:`flex flex-wrap items-center justify-end gap-x-2 gap-y-1 text-right font-mono text-xs`},JX=[`href`],YX={key:0,class:`text-ink`},XX={class:`flex items-start justify-between gap-4 py-1.5`},ZX={class:`text-muted`},QX={class:`font-mono text-xs tabular-nums text-ink`},$X={class:`flex items-start justify-between gap-4 py-1.5`},eZ={class:`text-muted`},tZ={class:`text-xs text-ink`},nZ={class:`flex flex-wrap gap-1.5 sm:col-span-2`},rZ=[`href`],iZ={key:3,class:`sm:col-span-2`},aZ={key:4,class:`text-2xs leading-4 text-faint sm:col-span-2`},oZ={class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},sZ={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},cZ=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:LY[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(aB,{title:A(Y)(`proxy.engine.title`),description:A(Y)(`proxy.engine.description`)},{actions:j(()=>[s.value?(L(),z(sW,{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`,OX,[V(oU,{tone:`info`},{default:j(()=>[H(O(A(Y)(`proxy.engine.notInFrame`)),1)]),_:1})])):(L(),R(I,{key:1},[i.value.error?(L(),R(`div`,kX,[V(oU,{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`,jX,[B(`div`,MX,[B(`dt`,NX,O(A(Y)(`proxy.engine.version`)),1),B(`dd`,PX,O(i.value.version??A(Y)(`proxy.engine.notProbed`)),1)]),B(`div`,FX,[B(`dt`,IX,O(A(Y)(`proxy.engine.source`)),1),B(`dd`,LX,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`,RX,[B(`dt`,zX,O(A(Y)(`proxy.engine.size`)),1),B(`dd`,BX,O(A(lY)(i.value.bytes)),1)])),l.value?(L(),R(`div`,VX,[B(`dt`,HX,O(A(Y)(`proxy.engine.binary`)),1),B(`dd`,UX,[B(`span`,WX,O(l.value),1),V(aW,{value:l.value,label:A(Y)(`proxy.engine.copyPath`)},null,8,[`value`,`label`])])])):U(``,!0),B(`div`,GX,[B(`dt`,KX,O(A(Y)(`proxy.engine.address`)),1),B(`dd`,qX,[(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,JX))),128)),!a.value||a.value.urls.length===0?(L(),R(`span`,YX,`—`)):U(``,!0)])]),B(`div`,XX,[B(`dt`,ZX,O(A(Y)(`proxy.engine.process`)),1),B(`dd`,QX,O(a.value?.pid??`—`),1)]),B(`div`,$X,[B(`dt`,eZ,O(A(Y)(`proxy.engine.certificates`)),1),B(`dd`,tZ,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`,nZ,[(L(),R(I,null,P(d,e=>V(sW,{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,rZ)):U(``,!0)])],64)):(L(),R(`div`,AX,[V(oU,{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`,iZ,[V(oU,{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`,aZ,[H(O(A(Y)(`proxy.engine.setcapHint`))+` `,1),B(`code`,oZ,O(u.value),1),V(aW,{value:u.value,label:A(Y)(`proxy.engine.copyCommand`),class:`ml-1 align-middle`},null,8,[`value`,`label`])])):U(``,!0)],64)),B(`div`,sZ,[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`]))}}),lZ={class:`flex flex-wrap items-center gap-2 sm:col-span-2`},uZ={key:0,class:`text-2xs text-faint`},dZ={key:0,class:`sm:col-span-2`},fZ={class:`rounded bg-black/10 px-1 py-0.5 font-mono dark:bg-white/10`},pZ={key:1},mZ={key:1,class:`sm:col-span-2`},hZ={key:3,class:`sm:col-span-2`},gZ={key:4,class:`sm:col-span-2`},_Z={key:5,class:`text-2xs leading-4 text-faint sm:col-span-2`},vZ={class:`text-2xs leading-4 text-faint sm:col-span-2`},yZ=N({__name:`ListenerPanel`,props:Va({emailHost:{},enginePath:{},dnsAccounts:{}},{form:{required:!0},formModifiers:{}}),emits:[`update:form`],setup(e){let t=e,n=lo(e,`form`),r=W(()=>t.dnsAccounts.filter(e=>e.writesTxt&&e.hasCredentials)),i=W(()=>MY(n.value)),a=W(()=>t.enginePath===null?null:`sudo setcap 'cap_net_bind_service=+ep' ${t.enginePath}`),o=W(()=>uY(n.value.httpPort)||uY(n.value.httpsPort));function s(){n.value.httpPort=aY,n.value.httpsPort=iY}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(aB,{title:A(Y)(`proxy.listener.title`),description:A(Y)(`proxy.listener.description`)},{actions:j(()=>[i.value?(L(),z(sW,{key:0,tone:`info`},{default:j(()=>[H(O(A(Y)(`proxy.listener.unprivilegedPorts`)),1)]),_:1})):U(``,!0)]),default:j(()=>[V(AB,{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(gB,{"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(gB,{"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`,lZ,[V($,{size:`xs`,variant:`secondary`,onClick:s},{default:j(()=>[H(O(A(Y)(`proxy.listener.useFallback`,{http:A(aY),https:A(iY)})),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`,uZ,O(A(Y)(`proxy.listener.forwardHint`)),1)):U(``,!0)]),o.value?(L(),R(`div`,dZ,[V(oU,{tone:`warn`,title:A(Y)(`proxy.listener.privilegedTitle`)},{default:j(()=>[V(qB,{k:`proxy.listener.privilegedBody`,params:{http:A(aY),https:A(iY)}},{how:j(()=>[a.value?(L(),R(I,{key:0},[B(`code`,fZ,O(a.value),1),V(aW,{value:a.value,label:A(Y)(`proxy.engine.copyCommand`),class:`ml-1 align-middle`},null,8,[`value`,`label`])],64)):(L(),R(`span`,pZ,[V(qB,{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(DB,{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`,mZ,[V(oU,{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(AB,{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(AB,{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(DB,{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`,hZ,[V(oU,{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`,gZ,[V(oU,{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`,_Z,O(A(Y)(`proxy.listener.accountNote`)),1)):U(``,!0),B(`p`,vZ,O(A(Y)(`proxy.listener.pendingNote`)),1)]),_:1},8,[`title`,`description`]))}}),bZ={class:`space-y-3`},xZ={key:1,class:`text-2xs leading-4 text-faint sm:col-span-2`},SZ={class:`text-2xs leading-4 text-faint sm:col-span-2`},CZ={key:4,class:`text-2xs leading-4 text-warn sm:col-span-2`},wZ=N({__name:`RouteDialog`,props:Va({draft:{},others:{},workspaces:{},dnsAccounts:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:Va([`save`],[`update:open`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`open`),a=k(pY()),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(()=>FY.map(e=>({value:e.value,label:Y(e.labelKey)}))),u=W(()=>IY.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`):dY(a.value.host)?Y(`proxy.tls.hintPublic`):Y(`proxy.tls.hintLocal`)),f=W(()=>a.value.tls===`auto`&&dY(a.value.host)),p=W(()=>HY(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?pY():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:jY(TY(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=NY(t,{others:n.others,workspaces:n.workspaces,messages:JY});o.value=s,!(Object.keys(s).length>0)&&(r(`save`,t),i.value=!1)}return(e,t)=>(L(),z(HB,{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`,bZ,[V(DB,{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(DB,{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(SB,{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(SB,{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(SB,{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`,xZ,O(A(Y)(`proxy.routeDialog.localNote`)),1)):U(``,!0),a.value.target===`server`?(L(),R(I,{key:2},[V(SB,{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(SB,{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`,SZ,O(A(Y)(`proxy.routeDialog.stoppedNote`)),1)],64)):U(``,!0),a.value.target===`external`?(L(),z(DB,{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`,CZ,O(A(Y)(`proxy.routeDialog.panelNote`)),1)):U(``,!0),o.value.form?(L(),z(oU,{key:5,tone:`danger`},{default:j(()=>[H(O(o.value.form),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),TZ={class:`text-xs font-semibold text-ink`},EZ={class:`mt-1 text-2xs leading-4 text-muted`},DZ={class:`mt-1 text-2xs leading-4 text-warn`},OZ={class:`mt-2.5 flex justify-end gap-1.5`},kZ=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(rg),{open:i.value,"onUpdate:open":t[0]||=e=>i.value=e},{default:j(()=>[V(A(ug),{"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(lg),null,{default:j(()=>[V(A(cg),{"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`,TZ,O(A(Y)(`proxy.retryButton.question`,{host:n.host})),1),B(`p`,EZ,O(A(Y)(`proxy.retryButton.body`,{retryIn:n.retryIn})),1),B(`p`,DZ,O(A(Y)(`proxy.retryButton.warning`)),1),B(`div`,OZ,[V(A(ig),{"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`]))}}),AZ={key:0,class:`sm:col-span-2`},jZ={class:`list-disc space-y-0.5 pl-4`},MZ={key:1,class:`sm:col-span-2`},NZ={key:2,class:`overflow-x-auto sm:col-span-2`},PZ={class:`w-full text-left text-xs`},FZ={class:`text-2xs text-faint`},IZ={class:`py-1 pr-3 font-medium`},LZ={class:`py-1 pr-3 font-medium`},RZ={class:`py-1 pr-3 font-medium`},zZ={class:`py-1 pr-3 font-medium`},BZ={class:`py-1 pr-3 font-medium`},VZ={class:`py-1 pr-3 font-medium`},HZ={class:`py-1 font-medium`},UZ={class:`sr-only`},WZ={class:`py-1.5 pr-3`},GZ={class:`font-mono text-xs text-ink`},KZ=[`href`,`title`],qZ={key:2,class:`text-accent`},JZ={class:`font-mono text-2xs text-faint`},YZ={class:`py-1.5 pr-3 text-2xs text-muted`},XZ={class:`py-1.5 pr-3 font-mono text-2xs text-muted`},ZZ={class:`py-1.5 pr-3 text-2xs text-muted`},QZ={key:0,class:`mt-0.5`},$Z={key:1,class:`mt-1`},eQ={class:`py-1.5 pr-3`},tQ={class:`py-1.5 pr-3`},nQ={class:`py-1.5`},rQ={class:`flex items-center justify-end gap-1`},iQ=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:RY[t.status],target:YY(e,n.workspaces),tls:KY(e),certificate:t===null?null:BY(t),url:yY(e,n.httpPort,n.httpsPort)}})),o=W(()=>a.value.filter(e=>e.view?.status===`error`));return(e,t)=>(L(),z(aB,{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(Fy),{class:`size-3.5`}),H(` `+O(A(Y)(`proxy.routes.add`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[o.value.length>0?(L(),R(`div`,AZ,[V(oU,{tone:`danger`,title:A(Y)(`proxy.routes.cannotSaveTitle`)},{default:j(()=>[B(`ul`,jZ,[(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`,MZ,[V(tR,{compact:``,title:A(Y)(`proxy.routes.emptyTitle`),description:A(Y)(`proxy.routes.emptyDescription`)},{icon:j(()=>[V(A(tb),{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`,NZ,[B(`table`,PZ,[B(`thead`,null,[B(`tr`,FZ,[B(`th`,IZ,O(A(Y)(`proxy.routes.columnHostname`)),1),B(`th`,LZ,O(A(Y)(`proxy.routes.columnTarget`)),1),B(`th`,RZ,O(A(Y)(`proxy.routes.columnUpstream`)),1),B(`th`,zZ,O(A(Y)(`proxy.routes.columnTls`)),1),B(`th`,BZ,O(A(Y)(`proxy.routes.columnState`)),1),B(`th`,VZ,O(A(Y)(`proxy.routes.columnOn`)),1),B(`th`,HZ,[B(`span`,UZ,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`,WZ,[B(`p`,GZ,[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,KZ)):(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`,qZ,O(e.route.path),1)):U(``,!0)]),B(`p`,JZ,O(e.route.id),1)]),B(`td`,YZ,O(e.target),1),B(`td`,XZ,O(e.view?.upstream??`—`),1),B(`td`,ZZ,[H(O(e.tls)+` `,1),e.certificate?(L(),R(`div`,QZ,[V(sW,{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`,$Z,[V(kZ,{host:e.route.host,"retry-in":A(XY)(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`,eQ,[e.meta?(L(),z(sW,{key:0,tone:e.meta.tone,dot:``},{default:j(()=>[H(O(A(Y)(e.meta.labelKey)),1)]),_:2},1032,[`tone`])):(L(),z(sW,{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`,tQ,[V(AB,{"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`,nQ,[B(`span`,rQ,[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(Ny),{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($y),{class:`size-3.5`})]),_:1},8,[`disabled`,`aria-label`,`onClick`])])])]))),128))])])]))]),_:1},8,[`title`,`description`]))}}),aQ={class:`min-h-full`},oQ={class:`mx-auto w-full max-w-5xl px-4 pb-6 pt-5 sm:px-6`},sQ={class:`mb-5`},cQ={class:`text-xl font-semibold tracking-tight text-ink`},lQ={class:`mt-1 text-xs text-muted`},uQ={class:`mt-1 text-2xs leading-4 text-faint`},dQ={key:2,class:`space-y-6`},fQ={key:0,class:`sticky bottom-0 z-30 border-t border-line bg-panel/95 backdrop-blur`},pQ={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`},mQ={class:`min-w-0 flex-1`},hQ={class:`text-xs text-muted`},gQ={class:`font-mono tabular-nums text-ink`},_Q={key:0,class:`mt-0.5 text-xs text-danger`},vQ={key:1,class:`mt-0.5 text-xs text-danger`},yQ={key:2,class:`mt-0.5 text-xs text-ok`},bQ={class:`flex shrink-0 items-center gap-2`},xQ=N({__name:`ProxyView`,setup(e){let t=NP(),n=tP(),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(()=>_Y(c.value,l.value)?cY(l.value):null),_=W(()=>p.value!==null&&xY(p.value.routes,l.value)!==null),v=W(()=>{if(p.value===null)return 0;let e=gY(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;Iz(x.listener,{...c.value})||(Object.assign(c.value,UY(e)),x.listener={...c.value});let t=DY(l.value);Iz(x.routes,t)||(l.value=WY(e.routes),x.routes=DY(l.value))}M(f,S,{immediate:!0});async function C(){i.value=null;try{r.value=await MM()}catch(e){i.value=yM(e)}}ia(()=>{t.proxy.value===null&&C()});let w={install:()=>FM(),start:GM,stop:KM,apply:DM,revert:HM},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=yM(e)}finally{s.value=null}}}let te=k(null),ne=k(null);async function re(){let e=p.value,i=e===null?null:gY(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 RM(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=yM(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=GY(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 VM(e.id),await t.refresh(),n.success(Y(`proxy.view.retryAsked`,{host:e.host}))}catch(e){n.failure(Y(`proxy.view.retryFailed`),yM(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`,aQ,[B(`div`,oQ,[B(`header`,sQ,[B(`h1`,cQ,O(A(Y)(`proxy.view.title`)),1),B(`p`,lQ,O(A(Y)(`proxy.view.description`)),1),B(`p`,uQ,O(A(Y)(`proxy.view.dnsNote`)),1)]),i.value?(L(),z(oU,{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(oU,{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`,dQ,[V(cZ,{view:f.value,busy:s.value,onAct:ee},null,8,[`view`,`busy`]),a.value?(L(),z(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(a.value),1)]),_:1})):U(``,!0),V(yZ,{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(iQ,{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(DX,{certificates:f.value.certificates,disabled:o.value,onChanged:ue},null,8,[`certificates`,`disabled`])]))]),f.value===null?U(``,!0):(L(),R(`div`,fQ,[B(`div`,pQ,[B(`div`,mQ,[B(`p`,hQ,[v.value>0?(L(),R(I,{key:0},[B(`span`,gQ,O(v.value),1),H(` `+O(A(nI)(`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`,_Q,O(b.value.join(` · `)),1)):te.value?(L(),R(`p`,vQ,O(te.value),1)):ne.value?(L(),R(`p`,yQ,O(ne.value),1)):U(``,!0)]),B(`div`,bQ,[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(wZ,{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`])]))}}),SQ={class:`mb-4 flex flex-wrap items-baseline justify-between gap-x-3 gap-y-1`},CQ={class:`min-w-0`},wQ={class:`text-sm font-semibold text-ink`},TQ={class:`mt-0.5 text-2xs leading-4 text-muted`},EQ={class:`flex items-center gap-2`},DQ={class:`font-mono tabular-nums`},OQ={key:1,class:`text-2xs text-faint`},kQ={class:`flex flex-col gap-3`},AQ={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`},jQ={class:`mt-4 flex items-center justify-end gap-2 border-t border-line pt-3.5`},MQ={class:`max-h-[60dvh] overflow-auto`},NQ={key:0,class:`divide-y divide-line-soft`},PQ={class:`font-mono text-xs text-ink`},FQ={class:`ml-auto font-mono text-xs text-muted line-through`},IQ={class:`font-mono text-xs text-accent`},LQ={key:1,class:`text-xs text-muted`},RQ=N({__name:`ServerConfigEditor`,props:{serverId:{},workspaceId:{},config:{}},emits:[`saved`,`cancel`],setup(e,{emit:t}){let n=e,r=t,i=[`restart`,`health`,`stop`],a=NP(),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:Uz(e.env),dataEnvs:Uz(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:Uz(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(dz(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:Hz(u.args),env:Wz(u.env),dataEnvs:Wz(u.dataEnvs),backupPaths:Hz(u.backupPaths),backupIgnoreGenerated:u.backupIgnoreGenerated,dependsOn:Gz(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:dz(f.value),stop:{...p.value},bootstrap:u.bootstrapEnabled?{command:u.bootstrapCommand.trim(),args:Hz(u.bootstrapArgs),env:Wz(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 nz(n.config,e)}function v(e,t){return JSON.stringify(e??null)===JSON.stringify(t??null)}let y=W(()=>_(h())),b=W(()=>az(y.value)),x=W(()=>b.value>0),S=W(()=>iz(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=dz(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=Sj(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:_u(te,[`prevent`])},[B(`header`,SQ,[B(`div`,CQ,[B(`h2`,wQ,O(A(Y)(`editor.title`)),1),B(`p`,TQ,[V(qB,{k:`editor.description`},{file:j(()=>[...t[32]||=[B(`span`,{class:`font-mono`},`servers.config.json`,-1)]]),_:1})])]),B(`div`,EQ,[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`,DQ,O(b.value),1),H(` `+O(A(nI)(`editor.unsaved`,b.value)),1)])):(L(),R(`span`,OQ,O(A(Y)(`editor.inSync`)),1))])]),B(`div`,kQ,[V(aB,{title:A(Y)(`editor.process`),description:A(Y)(`editor.processDescription`),columns:2},{default:j(()=>[V(DB,{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(DB,{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(DB,{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(DB,{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(KB,{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(KB,{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(KB,{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(KB,{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(AB,{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(DB,{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(gB,{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(aB,{title:A(Y)(`editor.portTitle`),description:A(Y)(`editor.portDescription`),columns:2},{default:j(()=>[V(gB,{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(SB,{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(SB,{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(gB,{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(aB,{title:A(Y)(`editor.lifecycle`),description:A(Y)(`editor.lifecycleDescription`),columns:3},{default:j(()=>[V(AB,{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(AB,{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(AB,{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(jB,{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(aB,{title:A(Y)(`serverForm.bootstrap`),description:A(Y)(`serverForm.bootstrapDescription`),columns:2},{default:j(()=>[V(AB,{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(DB,{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(gB,{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(AB,{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(KB,{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(KB,{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`,AQ,O(s.value),1)):U(``,!0),B(`div`,jQ,[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(HB,{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(nI)(`editor.saveChanges`,S.value.length)),1)]),_:1},8,[`disabled`,`loading`])]),default:j(()=>[B(`div`,MQ,[S.value.length>0?(L(),R(`ul`,NQ,[(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`,PQ,O(e.path),1),B(`span`,FQ,O(A(wR)(e.from)),1),t[33]||=B(`span`,{class:`text-2xs text-faint`},`→`,-1),B(`span`,IQ,O(A(wR)(e.to)),1)]))),128))])):(L(),R(`p`,LQ,O(A(Y)(`editor.nothingToSave`)),1))])]),_:1},8,[`open`,`title`,`description`])],64))}}),zQ={key:0,class:`mx-auto max-w-3xl p-4 sm:p-5`},BQ={key:1,class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},VQ={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},HQ={class:`rounded-full border border-line px-2 py-0.5 text-2xs text-muted`},UQ={class:`font-mono text-xs text-faint`},WQ=[`href`],GQ={class:`px-2 py-1.5`},KQ={class:`mb-1 text-2xs text-faint`},qQ={class:`flex flex-col gap-0.5`},JQ=[`onClick`],YQ={class:`space-y-2`},XQ={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`},ZQ={class:`min-w-0 flex-1 text-2xs leading-4 text-danger`},QQ={key:1,class:`rounded-control border border-warn/25 bg-warn-soft px-3 py-2 text-2xs leading-4 text-warn`},$Q={class:`grid grid-cols-2 gap-x-4 gap-y-3 p-4 sm:grid-cols-4 lg:grid-cols-6`},e$={class:`truncate text-2xs text-faint`},t$={class:`truncate font-mono text-xs tabular-nums text-ink capitalize`},n$={class:`text-sm font-semibold text-ink`},r$={class:`text-2xs text-muted`},i$={class:`grid gap-4 sm:grid-cols-3`},a$={class:`flex items-center justify-between gap-3`},o$=[`title`],s$={key:1,class:`space-y-4`},c$={class:`text-sm font-semibold text-ink`},l$={class:`text-2xs text-muted`},u$={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`},d$={key:1,class:`grid grid-cols-1 gap-x-6 gap-y-2 sm:grid-cols-2`},f$={class:`text-2xs text-faint`},p$=[`title`],m$={key:2,class:`grid gap-4 lg:grid-cols-3`},h$={class:`text-sm font-semibold text-ink`},g$={class:`text-2xs text-muted`},_$={class:`text-sm font-semibold text-ink`},v$={key:0,class:`flex flex-wrap gap-1.5`},y$={key:1,class:`text-xs text-muted`},b$={class:`text-xs text-muted`},x$=N({__name:`ServerDetailView`,setup(e){let t=$g(),n=NP(),r=JP(),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=MP(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?nV(a.value,rV()):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`?`—`:gR(_.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(ML[e.status].labelKey)},{key:`health`,label:Y(`views.serverDetail.health`),value:Y(NL[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:SR(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:nR(e.history.uptimeRatio)},{key:`crashes`,label:Y(`views.serverDetail.crashes24`),value:String(e.history.crashes)},{key:`lastcrash`,label:Y(`views.serverDetail.lastCrash`),value:vR(e.history.lastCrashAt,_.value)}];return e.nextRetryAt!==null&&t.push({key:`retry`,label:Y(`views.serverDetail.nextAttempt`),value:_R(e.nextRetryAt,_.value)}),e.unhealthySince!==null&&t.push({key:`unhealthy`,label:Y(`views.serverDetail.unhealthyFor`),value:gR(_.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(()=>wN(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=ha(`RouterLink`);return a.value?(L(),R(`div`,BQ,[V(fH,{title:s.value,"back-to":A(u0)(A(r).activeId.value,`servers`),"back-label":A(Y)(`views.serverDetail.allServers`)},{badges:j(()=>[V(OV,{status:a.value.status,health:a.value.health},null,8,[`status`,`health`]),a.value.adopted?(L(),z(kV,{key:0,label:A(Y)(`views.serverDetail.detachedHint`)},{default:j(()=>[B(`span`,VQ,O(A(Y)(`views.serverDetail.detached`)),1)]),_:1},8,[`label`])):U(``,!0),a.value.config.persistent?(L(),z(kV,{key:1,label:A(Y)(`views.serverDetail.persistentHint`)},{default:j(()=>[B(`span`,HQ,O(A(Y)(`views.serverDetail.persistent`)),1)]),_:1},8,[`label`])):U(``,!0),B(`span`,UQ,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(my),{class:`size-3`})],8,WQ)):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(Py),{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(zy),{class:`size-3.5`}),H(O(A(Y)(`views.serverDetail.restart`)),1)]),_:1},8,[`disabled`]),V(kV,{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(Ny),{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(pg),null,{default:j(()=>[V(A(vg),{"as-child":``},{default:j(()=>[V($,{variant:`ghost`,size:`icon-sm`,"aria-label":A(Y)(`views.serverDetail.moreActions`,{label:s.value})},{default:j(()=>[V(A(py),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1}),V(A(gg),null,{default:j(()=>[V(A(mg),{"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(hg),{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(hg),{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(_g),{class:`my-1 h-px bg-line`}),B(`div`,GQ,[B(`p`,KQ,O(A(Y)(`views.serverDetail.bind`)),1),B(`div`,qQ,[(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,JQ))),128))])]),V(A(_g),{class:`my-1 h-px bg-line`}),V(A(hg),{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($y),{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`,YQ,[a.value.lastError?(L(),R(`div`,XQ,[B(`p`,ZQ,O(a.value.lastError),1),a.value.status===`conflict`&&a.value.config.port!==null?(L(),z(sV,{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`,QQ,[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(gR)(A(_)-a.value.unhealthySince)})),1)],64))])):U(``,!0)]),V(gH,{class:`p-0`},{default:j(()=>[B(`dl`,$Q,[(L(!0),R(I,null,P(T.value,e=>(L(),R(`div`,{key:e.key,class:`min-w-0`},[B(`dt`,e$,O(e.label),1),B(`dd`,t$,O(e.value),1)]))),128))])]),_:1}),V(gH,null,{header:j(()=>[B(`h2`,n$,O(A(Y)(`views.serverDetail.telemetry`)),1),B(`p`,r$,O(A(Y)(`views.serverDetail.telemetryNote`)),1)]),default:j(()=>[B(`div`,i$,[V(wV,{label:A(Y)(`common.cpu`),values:y.value,format:A(CR),max:100,"color-class":`text-cpu`,height:40},null,8,[`label`,`values`,`format`]),V(wV,{label:A(Y)(`views.serverDetail.memoryRss`),values:b.value,format:A(SR),"color-class":`text-mem`,height:40},null,8,[`label`,`values`,`format`]),V(wV,{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`,a$,[V(sG,{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,o$)]),c.value===`output`?(L(),z(eJ,{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`,s$,[l.value?(L(),z(RQ,{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(gH,{key:1},{header:j(()=>[B(`h2`,c$,O(A(Y)(`views.serverDetail.effectiveConfig`)),1),B(`p`,l$,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(cy),{class:`size-3`}),H(O(u.value?A(Y)(`views.serverDetail.fields`):A(Y)(`views.serverDetail.rawJson`)),1)]),_:1}),V(aW,{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(Ny),{class:`size-3`}),H(O(A(Y)(`common.edit`)),1)]),_:1})]),default:j(()=>[u.value?(L(),R(`pre`,u$,O(ee.value),1)):(L(),R(`dl`,d$,[(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(nI)(`logs.lines`,o.value?.logBufferLines??0)},{label:A(Y)(`views.serverDetail.fieldRssLimit`),value:o.value?.resources.maxRssBytes?A(SR)(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`,f$,O(e.label),1),B(`dd`,{class:`truncate font-mono text-xs text-ink`,title:String(e.value)},O(e.value),9,p$)]))),128))]))]),_:1}))])):(L(),R(`div`,m$,[V(gH,{class:`lg:col-span-2`},{header:j(()=>[B(`h2`,h$,O(A(Y)(`views.serverDetail.eventHistory`)),1),B(`p`,g$,O(A(Y)(`views.serverDetail.eventHistoryNote`)),1)]),default:j(()=>[V(ZR,{servers:[a.value],now:A(_),limit:30},null,8,[`servers`,`now`])]),_:1}),V(gH,null,{header:j(()=>[B(`h2`,_$,O(A(Y)(`views.serverDetail.dependencies`)),1)]),default:j(()=>[o.value&&o.value.dependsOn.length>0?(L(),R(`div`,v$,[(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`,y$,[V(qB,{k:`views.serverDetail.startsOnItsOwn`},{code:j(()=>[...t[15]||=[B(`code`,null,`dependsOn`,-1)]]),_:1})]))]),_:1})])),V(HB,{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($y),{class:`size-3.5`}),H(O(A(Y)(`common.remove`)),1)]),_:1})]),default:j(()=>[B(`p`,b$,O(A(Y)(`views.serverDetail.removeNote`)),1)]),_:1},8,[`open`,`title`,`description`])])):(L(),R(`div`,zQ,[V(tR,{title:A(Y)(`views.serverDetail.goneTitle`),description:A(Y)(`views.serverDetail.goneDescription`,{id:i.value})},{action:j(()=>[V(n,{to:A(u0)(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`])]))}}}),S$={class:`mx-auto max-w-7xl space-y-5 p-4 sm:p-5`},C$={class:`flex flex-wrap items-center gap-2`},w$={class:`relative ml-auto w-full sm:w-64`},T$=[`placeholder`,`aria-label`],E$=[`aria-label`],D$={key:0,class:`grid gap-4 lg:grid-cols-2`},O$={key:3,class:`grid gap-4 lg:grid-cols-2`},k$=N({__name:`ServersView`,setup(e){let t=NP(),n=JP(),{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`,S$,[V(fH,{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(Py),{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(Fy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addServer`)),1)]),_:1})]),_:1},8,[`title`,`description`]),B(`div`,C$,[V(sG,{modelValue:o.value,"onUpdate:modelValue":s[3]||=e=>o.value=e,options:d.value},null,8,[`modelValue`,`options`]),B(`div`,w$,[V(A(Vy),{class:`pointer-events-none absolute left-2.5 top-1/2 size-3.5 -translate-y-1/2 text-faint`}),wr(B(`input`,{"onUpdate:modelValue":s[4]||=e=>a.value=e,type:`search`,placeholder:A(Y)(`views.servers.filterPlaceholder`),class:D([`pl-8`,[A(dB)]]),"aria-label":A(Y)(`views.servers.filterAria`)},null,10,T$),[[nu,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(nb),{class:`size-3.5`})],8,E$)):U(``,!0)])]),c.value?(L(),R(`div`,D$,[(L(),R(I,null,P(4,e=>V(_H,{key:e,class:`h-72 w-full`,rounded:`rounded-panel`})),64))])):A(r).length===0?(L(),z(tR,{key:1,title:A(Y)(`views.servers.emptyTitle`),description:A(Y)(`views.servers.emptyDescription`)},{icon:j(()=>[V(A(Hy),{class:`size-4`})]),action:j(()=>[V($,{variant:`primary`,onClick:s[6]||=e=>i.value=!0},{default:j(()=>[V(A(Fy),{class:`size-3.5`}),H(O(A(Y)(`views.actions.addAServer`)),1)]),_:1})]),_:1},8,[`title`,`description`])):l.value.length===0?(L(),z(tR,{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`,O$,[(L(!0),R(I,null,P(l.value,e=>(L(),z(aH,{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(eV,{open:i.value,"onUpdate:open":s[8]||=e=>i.value=e,"workspace-id":A(n).activeId.value},null,8,[`open`,`workspace-id`])]))}}),A$=0;function j$(){return A$+=1,`ddns-row-${A$}`}function M$(){return j$()}function N$(e){let t=structuredClone(dn(e));return t.domains=(t.domains??[]).map(e=>({...e,key:e.key??j$()})),t}function P$(e){let t=structuredClone(dn(e));return{...t,domains:t.domains.map(({key:e,...t})=>t)}}function F$(e,t){return e===null||t===null?e===t:JSON.stringify(P$(e))===JSON.stringify(P$(t))}var I$={intervalMs:3e5,ttl:1};function L$(e,t){return e===null||Number.isNaN(e)?I$[t]:e}var R$={class:`space-y-3`},z$={class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},B$={class:`mb-3`},V$={class:`text-xs font-semibold text-ink`},H$={class:`mt-0.5 text-2xs leading-4 text-muted`},U$={key:0,class:`divide-y divide-line-soft`},W$={class:`min-w-0`},G$={class:`font-mono text-xs text-ink`},K$={class:`text-2xs text-faint`},q$={key:0},J$={class:`ml-auto flex items-center gap-2`},Y$={key:1,class:`text-2xs text-muted`},X$={class:`mt-3 grid gap-2 border-t border-line-soft pt-3 sm:grid-cols-[1fr_1fr_auto] sm:items-end`},Z$={class:`mt-1.5 text-2xs text-faint`},Q$={class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},$$={class:`mb-3`},e1={class:`text-xs font-semibold text-ink`},t1={class:`mt-0.5 text-2xs leading-4 text-muted`},n1={key:0,class:`space-y-2`},r1={class:`flex flex-wrap items-end gap-2`},i1={class:`min-w-40 flex-1`},a1={class:`w-44 shrink-0`},o1={class:`mt-1 flex flex-wrap items-center gap-x-4 gap-y-1`},s1={key:1,class:`text-2xs text-muted`},c1={class:`mt-3 grid gap-2 border-t border-line-soft pt-3 sm:grid-cols-[1fr_1fr_auto] sm:items-end`},l1={key:1,class:`rounded-panel border border-line bg-panel-2/40 p-3.5`},u1={class:`mb-2 flex flex-wrap items-center gap-x-3 gap-y-1`},d1={class:`text-xs font-semibold text-ink`},f1={key:0,class:`text-2xs text-muted`},p1={key:1,class:`font-mono text-2xs text-faint`},m1={key:2,class:`font-mono text-2xs text-faint`},h1={key:3,class:`ml-auto text-2xs text-faint`},g1={class:`overflow-x-auto`},_1={class:`w-full text-left text-xs`},v1={class:`text-2xs text-faint`},y1={class:`py-1 pr-3 font-medium`},b1={class:`py-1 pr-3 font-medium`},x1={class:`py-1 pr-3 font-medium`},S1={class:`py-1 pr-3 font-medium`},C1={class:`py-1 font-medium`},w1={class:`py-1.5 pr-3 font-mono text-2xs text-ink`},T1={class:`py-1.5 pr-3 text-2xs text-muted`},E1={class:`py-1.5 pr-3`},D1={class:`py-1.5 pr-3 font-mono text-2xs text-muted`},O1={class:`py-1.5 text-2xs text-faint`},k1={class:`space-y-3`},A1={class:`text-2xs leading-4 text-muted`},j1=[`href`],M1=N({__name:`DdnsSection`,props:{patch:{default:null},patchModifiers:{},baseline:{default:null},baselineModifiers:{}},emits:[`update:patch`,`update:baseline`],setup(e,{expose:t}){let n=lo(e,`patch`),r=lo(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=NP(),o=JP(),s=tP(),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&&!F$(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]=L$(n,t))}function fe(){n.value=l.value===null||r.value===null||F$(l.value,r.value)?null:P$(l.value)}function pe(e,t=!1){c.value=e,r.value=N$(e.config),t||(l.value=N$(e.config)),fe()}async function me(){u.value=null;try{pe(await MN(o.activeId.value)),p.provider=C.value[0]?.value??`cloudflare`,m.account=b.value[0]?.id??``}catch(e){u.value=yM(e)}}ia(()=>{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:M$()}),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=N$(r.value)),d.value=null}async function be(){if(!f.value){f.value=!0,d.value=null;try{pe(await IN(o.activeId.value),!0),s.success(T.value?.lastResult??Y(`settings.ddns.passFinished`))}catch(e){d.value=yM(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 PN(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=yM(e)}finally{_.value=!1}}}async function Se(){let e=h.value;if(!(e===null||_.value)){_.value=!0,v.value=null;try{pe(await FN(o.activeId.value,e.id),!0),s.success(Y(`settings.ddns.credentialsRemoved`,{account:e.id})),h.value=null}catch(e){v.value=yM(e)}finally{_.value=!1}}}return t({reload:me}),(e,t)=>(L(),R(I,null,[B(`div`,R$,[u.value?(L(),z(oU,{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(aB,{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(sW,{key:0,tone:`info`,dot:``},{default:j(()=>[H(O(A(Y)(`settings.ddns.checking`)),1)]),_:1})):T.value?.enabled?(L(),z(sW,{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(AB,{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(gB,{"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(gB,{"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(AB,{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(AB,{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(oU,{key:0,tone:`danger`},{default:j(()=>[H(O(d.value),1)]),_:1})):U(``,!0),B(`section`,z$,[B(`header`,B$,[B(`h3`,V$,O(A(Y)(`settings.ddns.accountsTitle`)),1),B(`p`,H$,O(A(Y)(`settings.ddns.accountsDescription`)),1)]),b.value.length>0?(L(),R(`ul`,U$,[(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`,W$,[B(`p`,G$,O(e.id),1),B(`p`,K$,[H(O(se(e))+` `,1),le(e.id)>0?(L(),R(`span`,q$,` · `+O(A(nI)(`settings.ddns.hostnameCount`,le(e.id))),1)):U(``,!0)])]),B(`div`,J$,[V(sW,{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`,Y$,O(A(Y)(`settings.ddns.noAccounts`)),1)),B(`div`,X$,[V(SB,{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(DB,{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`,Z$,O(A(Y)(`settings.ddns.accountIdHint`)),1)]),B(`section`,Q$,[B(`header`,$$,[B(`h3`,e1,O(A(Y)(`settings.ddns.hostnamesTitle`)),1),B(`p`,t1,O(A(Y)(`settings.ddns.hostnamesDescription`)),1)]),x.value.length>0?(L(),R(`ul`,n1,[(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`,r1,[B(`div`,i1,[V(DB,{modelValue:e.host,"onUpdate:modelValue":t=>e.host=t,label:A(Y)(`common.hostname`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`])]),B(`div`,a1,[V(SB,{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(EU,{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`,o1,[V(EU,{"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(EU,{"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(EU,{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(sW,{key:1,tone:`warn`},{default:j(()=>[H(O(A(Y)(`settings.ddns.ipv6Off`)),1)]),_:1})):U(``,!0)]),V(LB,{title:A(Y)(`settings.ddns.advanced`),hint:A(Y)(`settings.ddns.advancedHint`),class:`mt-2`},{default:j(()=>[V(DB,{"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(gB,{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`,s1,O(A(Y)(`settings.ddns.noHostnames`)),1)),B(`div`,c1,[V(DB,{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(SB,{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`,l1,[B(`header`,u1,[B(`h3`,d1,O(A(Y)(`settings.ddns.lastPass`)),1),T.value.lastResult?(L(),R(`span`,f1,O(T.value.lastResult),1)):U(``,!0),T.value.ipv4?(L(),R(`span`,p1,O(A(Y)(`settings.ddns.ipv4Value`,{address:T.value.ipv4})),1)):U(``,!0),T.value.ipv6?(L(),R(`span`,m1,O(A(Y)(`settings.ddns.ipv6Value`,{address:T.value.ipv6})),1)):U(``,!0),T.value.lastRunAt?(L(),R(`span`,h1,O(A(vR)(T.value.lastRunAt,A(a).now.value)),1)):U(``,!0)]),B(`div`,g1,[B(`table`,_1,[B(`thead`,null,[B(`tr`,v1,[B(`th`,y1,O(A(Y)(`common.hostname`)),1),B(`th`,b1,O(A(Y)(`settings.ddns.type`)),1),B(`th`,x1,O(A(Y)(`settings.ddns.state`)),1),B(`th`,S1,O(A(Y)(`settings.ddns.address`)),1),B(`th`,C1,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`,w1,O(e.host),1),B(`td`,T1,O(e.type),1),B(`td`,E1,[V(sW,{tone:i[e.state].tone,dot:``},{default:j(()=>[H(O(A(Y)(i[e.state].labelKey)),1)]),_:2},1032,[`tone`])]),B(`td`,D1,O(e.ip??`—`),1),B(`td`,O1,O(e.message??`—`),1)]))),128))])])])])):U(``,!0)],64))]),V(HB,{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(rU,{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`,k1,[B(`p`,A1,O(A(Y)(`settings.ddns.credentialsDescription`)),1),(L(!0),R(I,null,P(ie.value,e=>(L(),z(DB,{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,j1)),v.value?(L(),z(oU,{key:1,tone:`danger`},{default:j(()=>[H(O(v.value),1)]),_:1})):U(``,!0)])]),_:1},8,[`open`,`title`,`description`])],64))}}),N1={class:`mt-3 space-y-3`},P1=N({__name:`DefaultsSection`,props:Va({dirty:{type:Boolean}},{defaults:{required:!0},defaultsModifiers:{}}),emits:Va([`reset`],[`update:defaults`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`defaults`),a=Bz(()=>i.value.logBufferLines,e=>i.value.logBufferLines=e,500);return(e,t)=>(L(),R(I,null,[V(aB,{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(AB,{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(AB,{modelValue:i.value.autostart,"onUpdate:modelValue":t[2]||=e=>i.value.autostart=e,label:A(Y)(`settings.defaults.autostart`)},null,8,[`modelValue`,`label`]),V(SB,{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(SB,{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(gB,{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`,N1,[V(jB,{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))}}),F1={class:`contents`},I1=N({__name:`NotificationPolicyFields`,props:{modelValue:{required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=lo(e,`modelValue`),n=W(()=>[{key:`onCrash`,label:Y(`settings.telegram.onCrash`)},{key:`onUnhealthy`,label:Y(`settings.telegram.onUnhealthy`)},{key:`onForcedRestart`,label:Y(`settings.telegram.onForcedRestart`)},{key:`onRecovered`,label:Y(`settings.telegram.onRecovered`)},{key:`onHost`,label:Y(`settings.telegram.onHost`),hint:Y(`settings.telegram.onHostHint`)},{key:`onDdns`,label:Y(`settings.telegram.onDdns`),hint:Y(`settings.telegram.onDdnsHint`)}]);return(e,r)=>(L(),R(`div`,F1,[(L(!0),R(I,null,P(n.value,e=>(L(),z(AB,{key:e.key,modelValue:t.value[e.key],"onUpdate:modelValue":n=>t.value[e.key]=n,label:e.label,hint:e.hint},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`]))),128)),V(gB,{"model-value":t.value.cooldownMs,label:A(Y)(`settings.telegram.cooldown`),min:0,hint:A(Y)(`settings.telegram.cooldownHint`),"onUpdate:modelValue":r[0]||=e=>t.value.cooldownMs=e??0},null,8,[`model-value`,`label`,`hint`])]))}}),L1={class:`flex flex-wrap items-center gap-1.5`},R1={key:0,class:`text-xs text-muted`},z1={class:`flex items-center gap-2`},B1={class:`min-w-0 flex-1 truncate font-mono text-2xs text-muted`},V1={class:`grid gap-2 sm:grid-cols-2`},H1={class:`flex items-end gap-1.5`},U1={class:`grid gap-2 sm:grid-cols-2`},W1={class:`flex items-end gap-1.5`},G1={class:`text-2xs text-muted`},K1={class:`grid gap-2 sm:grid-cols-3`},q1={class:`flex flex-wrap items-center gap-1.5`},J1={class:`text-2xs font-medium uppercase tracking-wide text-muted`},Y1={key:2,class:`grid gap-2 sm:grid-cols-3`},X1={class:`flex flex-wrap items-center gap-1.5`},Z1={key:0,class:`text-2xs text-ok`},Q1={key:1,class:`text-2xs text-muted`},$1=N({__name:`DestinationsSection`,props:Va({statuses:{},dirty:{type:Boolean}},{destinations:{required:!0},destinationsModifiers:{}}),emits:Va([`reset`],[`update:destinations`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`destinations`),a=NP(),o=JP(),s=k({}),c=k({}),l=k(null),u=k(null),d=W(()=>new Map(n.statuses.map(e=>[e.id,e])));function f(e,t){let n=new Set(i.value.map(e=>e.id)),r=e.length>0?e:t;if(!n.has(r))return r;let a=2;for(;n.has(`${r}-${a}`);)a+=1;return`${r}-${a}`}function p(e){return{id:f(e,e),kind:e,enabled:!0,useOwnSettings:!1,chatId:``,tokenSet:!1,url:``,method:`POST`,format:`json`,headers:``,policy:{onCrash:!0,onUnhealthy:!0,onForcedRestart:!0,onRecovered:!1,onHost:!0,onDdns:!0,cooldownMs:12e4}}}function m(e){i.value=[...i.value,p(e)]}function h(e){i.value=i.value.filter(t=>t.id!==e)}function g(e){return e===void 0||e.lastResult===null?``:Y(`settings.destination.lastSend`,{result:e.lastResult,when:e.lastResultAt===null?``:vR(e.lastResultAt,Date.now())})}let _=W(()=>[{id:`ntfy`,label:Y(`settings.webhook.presetNtfy`),apply:e=>{e.format=`text`,e.headers=`Title: home-hosted
47
+ Priority: default`}},{id:`discord`,label:Y(`settings.webhook.presetDiscord`),apply:e=>{e.format=`json`,e.headers=``}},{id:`slack`,label:Y(`settings.webhook.presetSlack`),apply:e=>{e.format=`json`,e.headers=``}}]);async function v(e){let t=(s.value[e.id]??``).trim();if(t.length!==0){l.value=e.id,u.value=null;try{let n=await DN(o.activeId.value,e.id,t);s.value[e.id]=``,c.value[e.id]=n.username===null?Y(`settings.telegram.tokenSaved`):Y(`settings.telegram.tokenSavedFor`,{username:n.username}),a.refresh()}catch(e){u.value=yM(e)}finally{l.value=null}}}async function y(e){l.value=e.id,u.value=null;try{await ON(o.activeId.value,e.id),c.value[e.id]=Y(`settings.telegram.tokenRemoved`),a.refresh()}catch(e){u.value=yM(e)}finally{l.value=null}}async function b(e){l.value=e.id,u.value=null;try{let{chats:t}=await AN(o.activeId.value,e.id,{botToken:(s.value[e.id]??``).trim()||void 0});t.length===0?c.value[e.id]=Y(`settings.telegram.noChats`):e.chatId=String(t[0].id)}catch(e){u.value=yM(e)}finally{l.value=null}}async function x(e){l.value=e.id,u.value=null;try{e.kind===`telegram`?await kN(o.activeId.value,e.id,{chatId:e.chatId||void 0}):await jN(o.activeId.value,{target:{url:e.url,method:e.method,format:e.format,headers:e.headers,enabled:e.enabled,cooldownMs:e.policy.cooldownMs,onCrash:e.policy.onCrash,onUnhealthy:e.policy.onUnhealthy,onForcedRestart:e.policy.onForcedRestart,onRecovered:e.policy.onRecovered,onHost:e.policy.onHost,onDdns:e.policy.onDdns},id:e.id}),c.value[e.id]=Y(`settings.destination.testSent`),a.refresh()}catch(e){u.value=yM(e)}finally{l.value=null}}function S(e){return e.tokenSet?Y(`settings.telegram.tokenSavedPlaceholder`):Y(`settings.telegram.tokenPlaceholder`)}return(e,t)=>(L(),z(aB,{title:A(Y)(`settings.destination.title`),description:A(Y)(`settings.destination.description`),columns:1},{actions:j(()=>[B(`div`,L1,[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`]),V($,{size:`xs`,variant:`secondary`,onClick:t[1]||=e=>m(`telegram`)},{default:j(()=>[H(O(A(Y)(`settings.destination.addTelegram`)),1)]),_:1}),V($,{size:`xs`,variant:`primary`,onClick:t[2]||=e=>m(`webhook`)},{default:j(()=>[H(O(A(Y)(`settings.destination.addWebhook`)),1)]),_:1})])]),default:j(()=>[i.value.length===0?(L(),R(`p`,R1,O(A(Y)(`settings.destination.empty`)),1)):U(``,!0),(L(!0),R(I,null,P(i.value,e=>(L(),R(`div`,{key:e.id,class:`flex min-w-0 flex-col gap-2 rounded-control border border-line bg-page/60 p-2.5`},[B(`div`,z1,[V(AB,{modelValue:e.enabled,"onUpdate:modelValue":t=>e.enabled=t,label:e.kind===`telegram`?A(Y)(`settings.telegram.title`):A(Y)(`settings.webhook.title`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`]),B(`span`,B1,O(e.id),1),V(rU,{label:A(Y)(`settings.destination.remove`),question:A(Y)(`settings.destination.removeQuestion`,{name:e.id}),body:A(Y)(`settings.destination.removeBody`),onConfirm:t=>h(e.id)},null,8,[`label`,`question`,`body`,`onConfirm`])]),e.kind===`telegram`?(L(),R(I,{key:0},[B(`div`,V1,[V(DB,{modelValue:e.chatId,"onUpdate:modelValue":t=>e.chatId=t,label:A(Y)(`settings.destination.chatId`),hint:A(Y)(`settings.destination.chatIdHint`),placeholder:A(Y)(`settings.telegram.chatIdPlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`,`placeholder`]),B(`div`,H1,[V($,{size:`xs`,variant:`ghost`,disabled:l.value===e.id,onClick:t=>b(e)},{default:j(()=>[H(O(A(Y)(`settings.destination.detectChats`)),1)]),_:1},8,[`disabled`,`onClick`])])]),B(`div`,U1,[V(DB,{modelValue:s.value[e.id],"onUpdate:modelValue":t=>s.value[e.id]=t,label:A(Y)(`settings.destination.botToken`),placeholder:S(e),hint:A(Y)(`settings.telegram.tokenNote`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`placeholder`,`hint`]),B(`div`,W1,[V($,{size:`xs`,disabled:l.value===e.id||(s.value[e.id]??``).trim().length===0,onClick:t=>v(e)},{default:j(()=>[H(O(A(Y)(`settings.destination.saveToken`)),1)]),_:1},8,[`disabled`,`onClick`]),e.tokenSet?(L(),z(rU,{key:0,label:A(Y)(`settings.telegram.removeToken`),question:A(Y)(`settings.telegram.removeTokenTitle`),body:A(Y)(`settings.telegram.removeTokenHint`),onConfirm:t=>y(e)},null,8,[`label`,`question`,`body`,`onConfirm`])):U(``,!0)])]),B(`span`,G1,O(e.tokenSet?A(Y)(`settings.destination.tokenSet`):A(Y)(`settings.destination.noToken`)),1)],64)):(L(),R(I,{key:1},[B(`div`,K1,[V(DB,{modelValue:e.url,"onUpdate:modelValue":t=>e.url=t,class:`sm:col-span-2`,label:A(Y)(`settings.webhook.url`),placeholder:A(Y)(`settings.webhook.urlPlaceholder`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`placeholder`]),V(SB,{modelValue:e.method,"onUpdate:modelValue":t=>e.method=t,label:A(Y)(`settings.webhook.method`),options:[{value:`POST`,label:`POST`},{value:`PUT`,label:`PUT`}]},null,8,[`modelValue`,`onUpdate:modelValue`,`label`]),V(SB,{modelValue:e.format,"onUpdate:modelValue":t=>e.format=t,label:A(Y)(`settings.webhook.format`),options:[{value:`json`,label:A(Y)(`settings.webhook.formatJson`)},{value:`text`,label:A(Y)(`settings.webhook.formatText`)}],hint:A(Y)(`settings.webhook.formatHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`options`,`hint`])]),V(KB,{modelValue:e.headers,"onUpdate:modelValue":t=>e.headers=t,label:A(Y)(`settings.webhook.headers`),hint:A(Y)(`settings.webhook.headersHint`),placeholder:`Authorization: Bearer …`,rows:2,mono:``},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`]),B(`div`,q1,[B(`span`,J1,O(A(Y)(`settings.webhook.presets`)),1),(L(!0),R(I,null,P(_.value,t=>(L(),z($,{key:t.id,size:`xs`,variant:`ghost`,onClick:n=>t.apply(e)},{default:j(()=>[H(O(t.label),1)]),_:2},1032,[`onClick`]))),128))])],64)),V(AB,{modelValue:e.useOwnSettings,"onUpdate:modelValue":t=>e.useOwnSettings=t,label:A(Y)(`settings.destination.ownSettings`),hint:A(Y)(`settings.destination.ownSettingsHint`)},null,8,[`modelValue`,`onUpdate:modelValue`,`label`,`hint`]),e.useOwnSettings?(L(),R(`div`,Y1,[V(I1,{modelValue:e.policy,"onUpdate:modelValue":t=>e.policy=t},null,8,[`modelValue`,`onUpdate:modelValue`])])):U(``,!0),B(`div`,X1,[V($,{size:`xs`,disabled:l.value===e.id,onClick:t=>x(e)},{default:j(()=>[H(O(l.value===e.id?A(Y)(`common.sending`):A(Y)(`settings.destination.sendTest`)),1)]),_:2},1032,[`disabled`,`onClick`]),c.value[e.id]?(L(),R(`span`,Z1,O(c.value[e.id]),1)):U(``,!0),g(d.value.get(e.id))?(L(),R(`span`,Q1,O(g(d.value.get(e.id))),1)):U(``,!0)])]))),128)),u.value===null?U(``,!0):(L(),z(oU,{key:1,tone:`danger`,title:A(Y)(`views.settings.saveFailed`)},{default:j(()=>[H(O(u.value),1)]),_:1},8,[`title`]))]),_:1},8,[`title`,`description`]))}}),e0={class:`flex min-w-0 flex-col gap-1 sm:col-span-2`},t0={class:`text-xs font-medium text-muted`},n0={class:`flex items-center gap-1.5 rounded-control border border-line bg-page/60 px-2.5 py-1.5`},r0={class:`min-w-0 flex-1 truncate font-mono text-xs text-ink`},i0={class:`text-2xs leading-4 text-faint`},a0=N({__name:`LogsSection`,props:Va({logsDir:{},dirty:{type:Boolean}},{logs:{required:!0},logsModifiers:{}}),emits:Va([`reset`],[`update:logs`]),setup(e,{emit:t}){let n=e,r=t,i=lo(e,`logs`),a=JP(),o=Bz(()=>i.value.maxBytes,e=>i.value.maxBytes=e,2e6),s=Bz(()=>i.value.keep,e=>i.value.keep=e,3),c=W(()=>n.logsDir??`—`);return(e,t)=>{let l=ha(`RouterLink`);return L(),z(aB,{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(AB,{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(gB,{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(gB,{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`,e0,[B(`span`,t0,O(A(Y)(`settings.logs.directory`)),1),B(`div`,n0,[B(`span`,r0,O(c.value),1),V(aW,{value:c.value,label:A(Y)(`settings.logs.copyDirectory`)},null,8,[`value`,`label`])]),B(`p`,i0,[V(qB,{k:`settings.logs.browseHint`},{logs:j(()=>[V(l,{to:A(u0)(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`])}}}),o0={class:`mt-1`},s0=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=NP(),r=JP(),i=tP(),a=tn(pz()),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?.defaults??null),h=W(()=>r.notifications.value?.destinations??[]),g=W(()=>r.logsDir.value),_=W(()=>{let e={},t=f.value,n=p.value;if(t!==null){let n=Tz(t,a.defaults);Object.keys(n).length>0&&(e.defaults=n)}if(n!==null){let t=Ez(n,a.logs);Object.keys(t).length>0&&(e.logs=t)}let r=m.value,i={};if(r!==null){let e=kz(r,a.policy);e!==null&&Object.assign(i,e)}let o=Az(h.value,a.destinations);return o!==null&&Object.assign(i,o),Object.keys(i).length>0&&(e.notifications=i),e}),v=W(()=>az(_.value)+(l.value===null?0:az(l.value))),y=W(()=>{let e=m.value;return{defaults:f.value??{},logs:p.value??{},notifications:e===null?{}:{defaults:Dz(e),destinations:h.value.map(Oz)},ddns:u.value??{}}}),b=W(()=>iz({..._.value,...l.value===null?{}:{ddns:l.value}},y.value)),x=W(()=>f.value!==null&&Object.keys(Tz(f.value,a.defaults)).length>0),S=W(()=>p.value!==null&&Object.keys(Ez(p.value,a.logs)).length>0),C=W(()=>m.value!==null&&(kz(m.value,a.policy)!==null||Az(h.value,a.destinations)!==null)),w={};function T(){let e=(e,t)=>{Iz(w[e],Fz(a,e))||(t(),w[e]=Fz(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=dz(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(`notifications`,()=>{Object.assign(a.policy,Dz(r)),a.destinations=h.value.map(Oz)})}function ee(){for(let e of Object.keys(w))delete w[e]}M([f,p,m],()=>{T()},{immediate:!0});async function te(){let e=_.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 NN(r.activeId.value,t),await d.value?.reload()),c.value=Y(`views.settings.saved`),i.success(Y(`views.settings.savedToast`)),ee(),T()}catch(e){s.value=yM(e)}finally{o.value=!1}}}function ne(){s.value=null,c.value=null,ee(),T(),d.value?.reload()}function re(){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=dz(e.health),a.defaults.stop={...e.stop},oe(`defaults`))}function ie(){p.value!==null&&Object.assign(a.logs,p.value),oe(`logs`)}function ae(){m.value!==null&&(Object.assign(a.policy,Dz(m.value)),a.destinations=h.value.map(Oz)),oe(`notifications`)}function oe(e){w[e]=Fz(a,e)}return M(()=>r.activeId.value,()=>{ee(),T(),s.value=null,c.value=null}),(e,n)=>(L(),z(sK,{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":v.value,changes:b.value,"save-error":s.value,"save-message":c.value,saving:o.value,onSave:te,onDiscard:ne},{header:j(()=>[V(fH,{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(oU,{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`,o0,O(A(Y)(`views.settings.configErrorNote`)),1)]),_:1},8,[`title`])):A(r).configWarnings.value.length>0?(L(),z(oU,{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(RG,{id:`defaults`,title:A(Y)(`views.settings.sectionDefaults`),description:A(Y)(`views.settings.defaultsDescription`)},{default:j(()=>[V(P1,{defaults:a.defaults,"onUpdate:defaults":n[0]||=e=>a.defaults=e,dirty:x.value,onReset:re},null,8,[`defaults`,`dirty`])]),_:1},8,[`title`,`description`]),V(RG,{id:`logs`,title:A(Y)(`views.settings.sectionLogs`),description:A(Y)(`views.settings.logsDescription`)},{default:j(()=>[V(a0,{logs:a.logs,"onUpdate:logs":n[1]||=e=>a.logs=e,"logs-dir":g.value,dirty:S.value,onReset:ie},null,8,[`logs`,`logs-dir`,`dirty`])]),_:1},8,[`title`,`description`]),V(RG,{id:`notifications`,title:A(Y)(`views.settings.sectionNotifications`),description:A(Y)(`views.settings.notificationsDescription`)},{default:j(()=>[V(aB,{title:A(Y)(`settings.destination.generalTitle`),description:A(Y)(`settings.destination.generalDescription`),columns:1},{actions:j(()=>[V($,{size:`xs`,variant:`ghost`,disabled:!C.value,onClick:ae},{default:j(()=>[H(O(A(Y)(`common.reset`)),1)]),_:1},8,[`disabled`])]),default:j(()=>[V(I1,{modelValue:a.policy,"onUpdate:modelValue":n[2]||=e=>a.policy=e},null,8,[`modelValue`])]),_:1},8,[`title`,`description`]),V($1,{destinations:a.destinations,"onUpdate:destinations":n[3]||=e=>a.destinations=e,statuses:h.value,dirty:C.value,onReset:ae},null,8,[`destinations`,`statuses`,`dirty`])]),_:1},8,[`title`,`description`]),V(RG,{id:`ddns`,title:A(Y)(`views.settings.sectionDdns`),description:A(Y)(`views.settings.ddnsDescription`)},{default:j(()=>[V(M1,{ref_key:`ddnsSection`,ref:d,patch:l.value,"onUpdate:patch":n[4]||=e=>l.value=e,baseline:u.value,"onUpdate:baseline":n[5]||=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`]))}}),c0=new Set([`overview`,`servers`,`server-detail`,`logs`,`settings`]),l0=Lv({history:av(),routes:[{path:`/w/:workspaceId`,name:`overview`,component:ZJ,meta:{titleKey:`nav.overview`}},{path:`/w/:workspaceId/servers`,name:`servers`,component:k$,meta:{titleKey:`nav.servers`}},{path:`/w/:workspaceId/servers/:id`,name:`server-detail`,component:x$,meta:{titleKey:`views.route.server`}},{path:`/w/:workspaceId/logs`,name:`logs`,component:kJ,meta:{titleKey:`nav.logs`}},{path:`/w/:workspaceId/settings`,name:`settings`,component:s0,meta:{titleKey:`nav.workspaceSettings`}},{path:`/global/overview`,name:`global-overview`,component:$H,meta:{titleKey:`nav.globalOverview`}},{path:`/global/settings`,name:`global-settings`,component:VK,meta:{titleKey:`nav.globalSettings`}},{path:`/proxy`,name:`proxy`,component:xQ,meta:{titleKey:`nav.reverseProxy`}},{path:`/login`,name:`login`,component:gq,meta:{titleKey:`login.signIn`}},{path:`/`,name:`home`,component:ZJ},{path:`/:pathMatch(.*)*`,name:`not-found`,component:ZJ}]});function u0(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}`}l0.beforeEach(async e=>{let{session:t,refresh:n}=XN();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 NP().ensureState();let a=JP(),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),c0.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 d0={class:`flex items-center gap-2.5 border-b border-line px-3.5`},f0=[`placeholder`],p0={key:0,class:`px-3 py-8 text-center text-xs text-muted`},m0={class:`px-2.5 pb-1 pt-2.5 text-2xs font-medium text-faint`},h0=[`data-active`,`onMousemove`,`onClick`],g0={class:`min-w-0 flex-1 truncate text-sm`},_0={key:0,class:`shrink-0 font-mono text-2xs text-faint`},v0={class:`flex items-center gap-3 border-t border-line bg-panel-2 px-3.5 py-2 text-2xs text-faint`},y0={class:`ml-auto font-mono`},b0=N({__name:`CommandPalette`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:[`update:open`],setup(e){let t=lo(e,`open`),n=Qg(),r=NP(),i=JP(),a=HP(),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(u0(e,t)):t===`server-detail`&&u(u0(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=>u0(i.activeId.value,e);for(let{workspace:i,server:a}of t){let t=a.config.label??a.id,o=Y(ML[a.status].labelKey);e.push({id:`open:${i.id}:${a.id}`,title:Y(`palette.openServer`,{label:t}),group:Y(`palette.groupServers`),icon:Hy,detail:`${i.label} · ${a.id} · ${o}`,keywords:`server detail ${a.id} ${i.label} show`,run:()=>n(i.id,u0(i.id,`servers`,a.id))}),e.push({id:`logs:${i.id}:${a.id}`,title:Y(`palette.serverLogs`,{label:t}),group:Y(`palette.groupServers`),icon:Xy,detail:`${i.label} · ${a.id}`,keywords:`log tail output ${a.id} ${i.label}`,run:()=>n(i.id,`${u0(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:Py,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:zy,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:Cy,keywords:`dashboard home workspace`,run:()=>u(o(`overview`))},{id:`nav:global`,title:Y(`palette.goGlobalOverview`),group:Y(`palette.groupNavigate`),icon:vy,keywords:`dashboard home host vitals every workspace`,run:()=>u(`/global/overview`)},{id:`nav:global-settings`,title:Y(`palette.goGlobalSettings`),group:Y(`palette.groupNavigate`),icon:qy,keywords:`panel listener auth tls backups host`,run:()=>u(`/global/settings`)},{id:`nav:proxy`,title:Y(`palette.goProxy`),group:Y(`palette.groupNavigate`),icon:tb,keywords:`caddy domain route acme certificate https expose`,run:()=>u(`/proxy`)},{id:`nav:servers`,title:Y(`palette.goServers`),group:Y(`palette.groupNavigate`),icon:Hy,keywords:`processes list workspace`,run:()=>u(o(`servers`))},{id:`nav:logs`,title:Y(`palette.goLogs`),group:Y(`palette.groupNavigate`),icon:By,keywords:`output files tail workspace`,run:()=>u(o(`logs`))},{id:`nav:settings`,title:Y(`palette.goWorkspaceSettings`),group:Y(`palette.groupNavigate`),icon:Uy,keywords:`defaults notifications ddns config workspace`,run:()=>u(o(`settings`))},{id:`act:start-all`,title:Y(`palette.startAll`),group:Y(`palette.groupActions`),icon:Py,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:Sy,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:vy,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:Uy,keywords:`configure workspace ${t}`,run:()=>u(`${u0(i.activeId.value,`settings`)}?section=${t}`)});let s=[[`light`,`theme.light`,Yy],[`dark`,`theme.dark`,Ay],[`system`,`theme.system`,ky]];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 ia(()=>window.addEventListener(`keydown`,x)),ze(()=>window.removeEventListener(`keydown`,x)),(e,n)=>(L(),z(A(yf),{open:t.value,"onUpdate:open":n[2]||=e=>t.value=e},{default:j(()=>[V(A(lp),null,{default:j(()=>[V(A(sp),{class:`fixed inset-0 z-50 bg-black/40 backdrop-blur-[1px] data-[state=open]:animate-[hh-fade-in_120ms_ease-out]`}),V(A(ip),{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]||=_u(()=>{},[`prevent`]),onKeydown:b},{default:j(()=>[V(A(up),{class:`sr-only`},{default:j(()=>[H(O(A(Y)(`topbar.commandPalette`)),1)]),_:1}),B(`div`,d0,[V(A(Vy),{class:`size-4 shrink-0 text-faint`}),wr(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,f0),[[nu,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`,p0,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`,m0,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(_a(e.icon),{class:D([`size-4 shrink-0`,v.value[s.value]?.id===e.id?`text-accent`:`text-faint`])},null,8,[`class`])),B(`span`,g0,O(e.title),1),e.detail?(L(),R(`span`,_0,O(e.detail),1)):U(``,!0),V(A(ty),{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,h0))),128))],64))),128))],512),B(`div`,v0,[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`,y0,O(A(nI)(`palette.results`,v.value.length)),1)])]),_:1})]),_:1})]),_:1},8,[`open`]))}}),x0={class:`rounded-panel border border-line bg-panel-2/70 p-3`},S0={class:`mb-2 flex items-center justify-between`},C0={class:`text-2xs font-medium text-faint`},w0={key:0,class:`text-2xs text-faint`},T0={key:0,class:`grid grid-cols-2 gap-x-1 gap-y-2`},E0={key:1,class:`py-3 text-center text-2xs text-faint`},D0={key:2,class:`mt-2 flex items-start gap-1.5 rounded-control bg-danger-soft px-2 py-1.5`},O0={class:`text-2xs leading-4 text-danger`},k0=2,A0=85,j0=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/k0*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/A0*100}),s=W(()=>{let e=t.host?.tempCelsius??null;return e===null?`n/a`:`${Math.round(e)}°`});return(e,n)=>(L(),R(`div`,x0,[B(`div`,S0,[B(`span`,C0,O(A(Y)(`nav.hostVitals`)),1),t.host?.enabled===!1?(L(),R(`span`,w0,`off`)):U(``,!0)]),t.host?.enabled?(L(),R(`div`,T0,[V(JL,{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(JL,{value:t.host?.memoryUsedPercent??null,label:A(Y)(`common.memory`),size:58},null,8,[`value`,`label`]),V(JL,{value:a.value,label:A(Y)(`common.disk`),size:58},null,8,[`value`,`label`]),V(JL,{value:o.value,label:A(Y)(`host.cpuTemp`),display:s.value,size:58},null,8,[`value`,`label`,`display`])])):(L(),R(`p`,E0,` Sampling is disabled in Settings. `)),t.host&&t.host.alerts.length>0?(L(),R(`div`,D0,[n[0]||=B(`span`,{class:`mt-1 size-1.5 shrink-0 rounded-full bg-danger`},null,-1),B(`span`,O0,O(t.host.alerts.join(` · `)),1)])):U(``,!0)]))}}),M0={class:`flex h-full min-h-0 flex-col gap-3 overflow-y-auto p-3`},N0={class:`flex items-center gap-2 px-1 pt-1`},P0={class:`min-w-0`},F0={class:`truncate text-sm font-semibold tracking-tight text-ink`},I0=[`title`],L0=[`aria-label`],R0=[`aria-label`],z0={class:`flex items-center gap-1 truncate px-2.5 pb-1 text-2xs font-medium text-faint`},B0={key:1,class:`text-muted`},V0={class:`mt-auto flex flex-col gap-3`},H0={class:`flex items-center gap-2 rounded-control border border-line bg-panel-2/70 px-2.5 py-2`},U0={class:`relative flex size-2 shrink-0`},W0={class:`text-2xs text-muted`},G0=[`title`],K0=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=$g(),a=W(()=>[{to:u0(n.workspaceId,`overview`),labelKey:`nav.overview`,icon:Cy,exact:!0,servers:!1},{to:u0(n.workspaceId,`servers`),labelKey:`nav.servers`,icon:Hy,exact:!1,servers:!0},{to:u0(n.workspaceId,`logs`),labelKey:`nav.logs`,icon:By,exact:!1,servers:!1},{to:u0(n.workspaceId,`settings`),labelKey:`nav.workspaceSettings`,icon:Uy,exact:!1,servers:!1}]),o=[{to:`/global/overview`,labelKey:`nav.globalOverview`,icon:vy,exact:!0,servers:!1},{to:`/global/settings`,labelKey:`nav.globalSettings`,icon:qy,exact:!1,servers:!1}],s=[{to:`/proxy`,labelKey:`nav.reverseProxy`,icon:tb,exact:!1,servers:!1}],c=W(()=>[{titleKey:`nav.global`,label:``,icon:vy,items:o},{titleKey:`nav.workspace`,label:n.workspaceLabel,icon:void 0,items:a.value},{titleKey:`nav.others`,label:``,icon:Zv,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=ha(`RouterLink`);return L(),R(`div`,M0,[B(`div`,N0,[t[2]||=As(`<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`,P0,[B(`p`,F0,O(A(Y)(`app.name`)),1),B(`p`,{class:`truncate text-2xs text-faint`,title:u.value},O(u.value),9,I0)]),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(nb),{class:`size-4`})],8,L0)]),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`,z0,[e.icon?(L(),z(_a(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`,B0,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(_a(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,R0),B(`div`,V0,[V(j0,{host:n.host},null,8,[`host`]),B(`div`,H0,[B(`span`,U0,[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`,W0,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,G0)])])])}}}),q0={key:0,class:`flex flex-col gap-px border-b border-line bg-panel/60`},J0={class:`text-2xs leading-4`},Y0={class:`font-medium`},X0={key:0,class:`opacity-80`},Z0=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:eb},danger:{wrap:`border-danger/25 bg-danger-soft text-danger`,icon:iy},info:{wrap:`border-line bg-panel-2 text-muted`,icon:iy}};return(e,t)=>n.value.length>0?(L(),R(`div`,q0,[(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(_a(r[e.tone].icon),{class:`mt-0.5 size-3.5 shrink-0`})),B(`p`,J0,[B(`span`,Y0,O(e.text),1),e.hint?(L(),R(`span`,X0,O(e.hint),1)):U(``,!0)])],2))),128))])):U(``,!0)}}),Q0={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`},$0={class:`min-w-0 flex-1`},e2={class:`text-xs font-medium text-ink`},t2={key:0,class:`mt-0.5 break-words text-2xs leading-4 text-muted`},n2=[`aria-label`,`onClick`],r2=N({__name:`ToastStack`,setup(e){let{toasts:t,dismiss:n}=tP(),r={ok:ay,danger:oy,warn:eb,info:by,accent:by,neutral:by},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`,Q0,[V(Bl,{"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(_a(r[e.tone]),{class:D(A(Q)(`mt-0.5 size-4 shrink-0`,i[e.tone]))},null,8,[`class`])),B(`div`,$0,[B(`p`,e2,O(e.title),1),e.description?(L(),R(`p`,t2,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(nb),{class:`size-3.5`})],8,n2)]))),128))]),_:1})]))}}),i2={class:`space-y-3`},a2={key:0,class:`rounded-control border border-danger/40 bg-danger-soft px-2.5 py-1.5 text-2xs leading-4 text-danger`},o2=N({__name:`WorkspaceDialog`,props:Va({mode:{},initial:{default:``},submit:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:[`update:open`],setup(e){let t=e,n=lo(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.`;else{i.value=!0,a.value=null;try{await t.submit(e)&&(n.value=!1)}finally{i.value=!1}}}return(t,u)=>(L(),z(HB,{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`,i2,[V(DB,{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:yu(_u(l,[`prevent`]),[`enter`])},null,8,[`modelValue`,`label`,`hint`,`onKeydown`]),a.value?(L(),R(`p`,a2,O(a.value),1)):U(``,!0)])]),_:1},8,[`open`,`title`,`description`]))}}),s2=[`aria-label`],c2={class:`min-w-0 truncate font-medium text-ink`},l2={class:`hidden shrink-0 font-mono text-2xs text-faint sm:inline`},u2={key:0,class:`max-h-64 overflow-y-auto`},d2=[`onClick`],f2={class:`min-w-0 flex-1`},p2={class:`block truncate text-xs`},m2={class:`block truncate font-mono text-2xs text-faint`},h2={class:`shrink-0 font-mono text-2xs text-faint`},g2={key:1,class:`px-2 py-2 text-xs text-muted`},_2={class:`px-2 pt-1.5 text-xs font-semibold text-ink`},v2={class:`mt-2 flex justify-end gap-1.5 px-1 pb-1`},y2=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(rg),{open:i.value,"onUpdate:open":p},{default:j(()=>[V(A(ug),{"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(cB))),"aria-label":A(Y)(`topbar.workspaceLabel`,{name:o.value?.label??A(Y)(`common.none`)})},[V(A(Sy),{class:`size-3.5 shrink-0 text-faint`}),B(`span`,c2,O(o.value?.label??A(Y)(`workspace.none`)),1),B(`span`,l2,O(o.value?.runningCount??0)+`/`+O(o.value?.serverCount??0),1),V(A(ry),{class:`size-3 shrink-0 text-faint`})],10,s2)]),_:1}),V(A(lg),null,{default:j(()=>[V(A(cg),{"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`,_2,` 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`,v2,[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($y),{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`,u2,[(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(Qv),{class:D([`size-3.5 shrink-0`,t.id===e.selectedId?`text-accent`:`opacity-0`])},null,8,[`class`]),B(`span`,f2,[B(`span`,p2,O(t.label),1),B(`span`,m2,O(t.id),1)]),B(`span`,h2,O(t.runningCount)+`/`+O(t.serverCount),1)],10,d2)]))),128))])):(L(),R(`p`,g2,` 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(Fy),{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(Ny),{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($y),{class:`size-3.5`}),H(` Delete “`+O(o.value.label)+`”… `,1)])],64)):U(``,!0)],64))]),_:1})]),_:1})]),_:1},8,[`open`]))}}),b2=N({__name:`WorkspaceSwitcher`,setup(e){let{workspaces:t,activeId:n,select:r,create:i,rename:a,remove:o}=JP(),s=$g(),c=Qg(),l=k(!1),u=k(`create`),d=k(null);function f(e){r(e);let t=String(s.name??``);t===`overview`||t===`servers`||t===`logs`||t===`settings`?c.push(u0(e,t)):t===`server-detail`&&c.push(u0(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(u0(n.value,r))}return(e,r)=>(L(),R(I,null,[V(y2,{workspaces:A(t),"selected-id":A(n),onSelect:f,onCreate:p,onRename:m,onRemove:g},null,8,[`workspaces`,`selected-id`]),V(o2,{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))}}),x2={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`},S2=[`aria-label`],C2={class:`min-w-0 flex-1 truncate text-sm font-semibold tracking-tight text-ink`},w2={class:`flex shrink-0 items-center gap-1.5`},T2={class:`pr-6`},E2={class:`hidden items-center gap-1.5 rounded-control border border-line bg-panel-2 px-2 py-1.5 md:flex`},D2={class:`font-mono text-2xs text-muted`},O2={class:`px-2 py-1.5`},k2={class:`text-2xs text-faint`},A2={class:`truncate font-mono text-2xs text-muted`},j2=N({__name:`TopBar`,props:{panelUrl:{},connection:{},authenticated:{type:Boolean}},emits:[`menu`,`palette`,`signOut`],setup(e,{emit:t}){let n=e,r=t,i=$g(),a=HP(),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`?Ay:a.preference.value===`light`?Yy:ky),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`,x2,[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(Oy),{class:`size-4`})],8,S2),B(`h1`,C2,O(o.value),1),B(`div`,w2,[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(cB))),onClick:i[1]||=e=>r(`palette`)},[V(A(Vy),{class:`size-3.5`}),B(`span`,T2,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(kV,{label:A(Y)(u.value)},{default:j(()=>[B(`span`,E2,[B(`span`,{class:D(A(Q)(`size-1.5 rounded-full`,l.value))},null,2),B(`span`,D2,O(e.panelUrl),1)])]),_:1},8,[`label`]),V(kV,{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(_a(s.value),{class:`size-4`}))]),_:1},8,[`aria-label`])]),_:1},8,[`label`]),n.authenticated?(L(),z(A(pg),{key:0},{default:j(()=>[V(A(vg),{"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(gg),null,{default:j(()=>[V(A(mg),{"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`,O2,[B(`p`,k2,O(A(Y)(`topbar.signedIn`)),1),B(`p`,A2,O(n.panelUrl),1)]),V(A(_g),{class:`my-1 h-px bg-line`}),V(A(hg),{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(Ey),{class:`size-3.5`}),H(` `+O(A(Y)(`topbar.signOut`)),1)]),_:1})]),_:1})]),_:1})]),_:1})):U(``,!0),V(kV,{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(ly),{class:`size-4`})]),_:1},8,[`aria-label`])]),_:1},8,[`label`]),V(b2)])]))}}),M2={key:1,class:`flex h-dvh overflow-hidden bg-page`},N2={class:`hidden w-60 shrink-0 border-r border-line bg-panel/50 lg:block`},P2={key:0,class:`fixed inset-y-0 left-0 z-40 w-64 border-r border-line bg-panel lg:hidden`},F2={class:`flex min-w-0 flex-1 flex-col`},I2=N({__name:`App`,setup(e){let t=$g(),n=Qg(),r=NP(),i=JP(),{session:a,logout:o}=XN(),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(()=>YN(a.value)),e=>{e!==`wait`&&(e===`login`?(jP(),n.push({name:`login`})):AP())},{immediate:!0}),M(()=>t.fullPath,()=>{c.value=!1}),ia(async()=>{(!u.value||l.value)&&await r.refresh()}),ze(()=>jP()),(e,t)=>{let n=ha(`RouterView`);return L(),z(A(Tg),{"delay-duration":300},{default:j(()=>[d.value?(L(),z(n,{key:0})):(L(),R(`div`,M2,[B(`aside`,N2,[V(K0,{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(Ac,{"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(Ac,{"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`,P2,[V(K0,{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`,F2,[V(j2,{"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(Z0,{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(b0,{open:s.value,"onUpdate:open":t[6]||=e=>s.value=e},null,8,[`open`]),V(r2)]),_:1})}}});tI().catch(()=>{}).finally(()=>{Du(I2).use(l0).mount(`#app`)});