Files
PilotVault/API Server/internal/api/dist/assets/index-BkFF389B.js
T
tajniak81andClaude Opus 4.8 e3106d7b60 Show status latency at end of detail line in API panel
Reorder the Status card meta() detail so HTTP status and URL come
first and the latency (ms) reads last, e.g. "HTTP 200 · <url> · 12ms".
Rebuild the embedded panel assets.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 18:36:17 +02:00

18 lines
107 KiB
JavaScript

(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const l of i.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function s(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=s(o);fetch(o.href,i)}})();/**
* @vue/shared v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Cn(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ne={},Lt=[],et=()=>{},Oo=()=>!1,Fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ns=e=>e.startsWith("onUpdate:"),ve=Object.assign,Sn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Wi=Object.prototype.hasOwnProperty,Q=(e,t)=>Wi.call(e,t),F=Array.isArray,Ft=e=>ps(e)==="[object Map]",zt=e=>ps(e)==="[object Set]",Jn=e=>ps(e)==="[object Date]",H=e=>typeof e=="function",ce=e=>typeof e=="string",tt=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",Ro=e=>(se(e)||H(e))&&H(e.then)&&H(e.catch),Io=Object.prototype.toString,ps=e=>Io.call(e),Gi=e=>ps(e).slice(8,-1),Mo=e=>ps(e)==="[object Object]",kn=e=>ce(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,es=Cn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Vs=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},qi=/-\w/g,Be=Vs(e=>e.replace(qi,t=>t.slice(1).toUpperCase())),Ji=/\B([A-Z])/g,yt=Vs(e=>e.replace(Ji,"-$1").toLowerCase()),Uo=Vs(e=>e.charAt(0).toUpperCase()+e.slice(1)),Zs=Vs(e=>e?`on${Uo(e)}`:""),Qe=(e,t)=>!Object.is(e,t),Ts=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},$o=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Hs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Yn;const Bs=()=>Yn||(Yn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function En(e){if(F(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=ce(n)?Qi(n):En(n);if(o)for(const i in o)t[i]=o[i]}return t}else if(ce(e)||se(e))return e}const Yi=/;(?![^(]*\))/g,Xi=/:([^]+)/,Zi=/\/\*[^]*?\*\//g;function Qi(e){const t={};return e.replace(Zi,"").split(Yi).forEach(s=>{if(s){const n=s.split(Xi);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Pe(e){let t="";if(ce(e))t=e;else if(F(e))for(let s=0;s<e.length;s++){const n=Pe(e[s]);n&&(t+=n+" ")}else if(se(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const el="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",tl=Cn(el);function jo(e){return!!e||e===""}function sl(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=mt(e[n],t[n]);return s}function mt(e,t){if(e===t)return!0;let s=Jn(e),n=Jn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=tt(e),n=tt(t),s||n)return e===t;if(s=F(e),n=F(t),s||n)return s&&n?sl(e,t):!1;if(s=se(e),n=se(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,i=Object.keys(t).length;if(o!==i)return!1;for(const l in e){const r=e.hasOwnProperty(l),c=t.hasOwnProperty(l);if(r&&!c||!r&&c||!mt(e[l],t[l]))return!1}}return String(e)===String(t)}function Tn(e,t){return e.findIndex(s=>mt(s,t))}const Do=e=>!!(e&&e.__v_isRef===!0),O=e=>ce(e)?e:e==null?"":F(e)||se(e)&&(e.toString===Io||!H(e.toString))?Do(e)?O(e.value):JSON.stringify(e,Lo,2):String(e),Lo=(e,t)=>Do(t)?Lo(e,t.value):Ft(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],i)=>(s[Qs(n,i)+" =>"]=o,s),{})}:zt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Qs(s))}:tt(t)?Qs(t):se(t)&&!F(t)&&!Mo(t)?String(t):t,Qs=(e,t="")=>{var s;return tt(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
* @vue/reactivity v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let pe;class nl{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&pe&&(pe.active?(this.parent=pe,this.index=(pe.scopes||(pe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=pe;try{return pe=this,t()}finally{pe=s}}}on(){++this._on===1&&(this.prevScope=pe,pe=this)}off(){if(this._on>0&&--this._on===0){if(pe===this)pe=this.prevScope;else{let t=pe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function ol(){return pe}let oe;const en=new WeakSet;class Fo{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,pe&&(pe.active?pe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,en.has(this)&&(en.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Vo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Xn(this),Ho(this);const t=oe,s=Ke;oe=this,Ke=!0;try{return this.fn()}finally{Bo(this),oe=t,Ke=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)On(t);this.deps=this.depsTail=void 0,Xn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?en.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){fn(this)&&this.run()}get dirty(){return fn(this)}}let No=0,ts,ss;function Vo(e,t=!1){if(e.flags|=8,t){e.next=ss,ss=e;return}e.next=ts,ts=e}function Pn(){No++}function An(){if(--No>0)return;if(ss){let t=ss;for(ss=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ts;){let t=ts;for(ts=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Ho(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Bo(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),On(n),il(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function fn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ko(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ko(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===rs)||(e.globalVersion=rs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!fn(e))))return;e.flags|=2;const t=e.dep,s=oe,n=Ke;oe=e,Ke=!0;try{Ho(e);const o=e.fn(e._value);(t.version===0||Qe(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{oe=s,Ke=n,Bo(e),e.flags&=-3}}function On(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)On(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function il(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ke=!0;const zo=[];function st(){zo.push(Ke),Ke=!1}function nt(){const e=zo.pop();Ke=e===void 0?!0:e}function Xn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=oe;oe=void 0;try{t()}finally{oe=s}}}let rs=0;class ll{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Rn{constructor(t){this.computed=t,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(t){if(!oe||!Ke||oe===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==oe)s=this.activeLink=new ll(oe,this),oe.deps?(s.prevDep=oe.depsTail,oe.depsTail.nextDep=s,oe.depsTail=s):oe.deps=oe.depsTail=s,Wo(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=oe.depsTail,s.nextDep=void 0,oe.depsTail.nextDep=s,oe.depsTail=s,oe.deps===s&&(oe.deps=n)}return s}trigger(t){this.version++,rs++,this.notify(t)}notify(t){Pn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{An()}}}function Wo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Wo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const dn=new WeakMap,At=Symbol(""),pn=Symbol(""),as=Symbol("");function ge(e,t,s){if(Ke&&oe){let n=dn.get(e);n||dn.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Rn),o.map=n,o.key=s),o.track()}}function ut(e,t,s,n,o,i){const l=dn.get(e);if(!l){rs++;return}const r=c=>{c&&c.trigger()};if(Pn(),t==="clear")l.forEach(r);else{const c=F(e),g=c&&kn(s);if(c&&s==="length"){const h=Number(n);l.forEach((y,I)=>{(I==="length"||I===as||!tt(I)&&I>=h)&&r(y)})}else switch((s!==void 0||l.has(void 0))&&r(l.get(s)),g&&r(l.get(as)),t){case"add":c?g&&r(l.get("length")):(r(l.get(At)),Ft(e)&&r(l.get(pn)));break;case"delete":c||(r(l.get(At)),Ft(e)&&r(l.get(pn)));break;case"set":Ft(e)&&r(l.get(At));break}}An()}function $t(e){const t=Z(e);return t===e?t:(ge(t,"iterate",as),De(e)?t:t.map(ze))}function Ks(e){return ge(e=Z(e),"iterate",as),e}function Xe(e,t){return pt(e)?Ht(Ot(e)?ze(t):t):ze(t)}const rl={__proto__:null,[Symbol.iterator](){return tn(this,Symbol.iterator,e=>Xe(this,e))},concat(...e){return $t(this).concat(...e.map(t=>F(t)?$t(t):t))},entries(){return tn(this,"entries",e=>(e[1]=Xe(this,e[1]),e))},every(e,t){return rt(this,"every",e,t,void 0,arguments)},filter(e,t){return rt(this,"filter",e,t,s=>s.map(n=>Xe(this,n)),arguments)},find(e,t){return rt(this,"find",e,t,s=>Xe(this,s),arguments)},findIndex(e,t){return rt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return rt(this,"findLast",e,t,s=>Xe(this,s),arguments)},findLastIndex(e,t){return rt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return rt(this,"forEach",e,t,void 0,arguments)},includes(...e){return sn(this,"includes",e)},indexOf(...e){return sn(this,"indexOf",e)},join(e){return $t(this).join(e)},lastIndexOf(...e){return sn(this,"lastIndexOf",e)},map(e,t){return rt(this,"map",e,t,void 0,arguments)},pop(){return Gt(this,"pop")},push(...e){return Gt(this,"push",e)},reduce(e,...t){return Zn(this,"reduce",e,t)},reduceRight(e,...t){return Zn(this,"reduceRight",e,t)},shift(){return Gt(this,"shift")},some(e,t){return rt(this,"some",e,t,void 0,arguments)},splice(...e){return Gt(this,"splice",e)},toReversed(){return $t(this).toReversed()},toSorted(e){return $t(this).toSorted(e)},toSpliced(...e){return $t(this).toSpliced(...e)},unshift(...e){return Gt(this,"unshift",e)},values(){return tn(this,"values",e=>Xe(this,e))}};function tn(e,t,s){const n=Ks(e),o=n[t]();return n!==e&&!De(e)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.done||(i.value=s(i.value)),i}),o}const al=Array.prototype;function rt(e,t,s,n,o,i){const l=Ks(e),r=l!==e&&!De(e),c=l[t];if(c!==al[t]){const y=c.apply(e,i);return r?ze(y):y}let g=s;l!==e&&(r?g=function(y,I){return s.call(this,Xe(e,y),I,e)}:s.length>2&&(g=function(y,I){return s.call(this,y,I,e)}));const h=c.call(l,g,n);return r&&o?o(h):h}function Zn(e,t,s,n){const o=Ks(e),i=o!==e&&!De(e);let l=s,r=!1;o!==e&&(i?(r=n.length===0,l=function(g,h,y){return r&&(r=!1,g=Xe(e,g)),s.call(this,g,Xe(e,h),y,e)}):s.length>3&&(l=function(g,h,y){return s.call(this,g,h,y,e)}));const c=o[t](l,...n);return r?Xe(e,c):c}function sn(e,t,s){const n=Z(e);ge(n,"iterate",as);const o=n[t](...s);return(o===-1||o===!1)&&$n(s[0])?(s[0]=Z(s[0]),n[t](...s)):o}function Gt(e,t,s=[]){st(),Pn();const n=Z(e)[t].apply(e,s);return An(),nt(),n}const cl=Cn("__proto__,__v_isRef,__isVue"),Go=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(tt));function ul(e){tt(e)||(e=String(e));const t=Z(this);return ge(t,"has",e),t.hasOwnProperty(e)}class qo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(o?i?xl:Zo:i?Xo:Yo).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const l=F(t);if(!o){let c;if(l&&(c=rl[s]))return c;if(s==="hasOwnProperty")return ul}const r=Reflect.get(t,s,me(t)?t:n);if((tt(s)?Go.has(s):cl(s))||(o||ge(t,"get",s),i))return r;if(me(r)){const c=l&&kn(s)?r:r.value;return o&&se(c)?gn(c):c}return se(r)?o?gn(r):Mn(r):r}}class Jo extends qo{constructor(t=!1){super(!1,t)}set(t,s,n,o){let i=t[s];const l=F(t)&&kn(s);if(!this._isShallow){const g=pt(i);if(!De(n)&&!pt(n)&&(i=Z(i),n=Z(n)),!l&&me(i)&&!me(n))return g||(i.value=n),!0}const r=l?Number(s)<t.length:Q(t,s),c=Reflect.set(t,s,n,me(t)?t:o);return t===Z(o)&&c&&(r?Qe(n,i)&&ut(t,"set",s,n):ut(t,"add",s,n)),c}deleteProperty(t,s){const n=Q(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&ut(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!tt(s)||!Go.has(s))&&ge(t,"has",s),n}ownKeys(t){return ge(t,"iterate",F(t)?"length":At),Reflect.ownKeys(t)}}class fl extends qo{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const dl=new Jo,pl=new fl,hl=new Jo(!0);const hn=e=>e,ws=e=>Reflect.getPrototypeOf(e);function gl(e,t,s){return function(...n){const o=this.__v_raw,i=Z(o),l=Ft(i),r=e==="entries"||e===Symbol.iterator&&l,c=e==="keys"&&l,g=o[e](...n),h=s?hn:t?Ht:ze;return!t&&ge(i,"iterate",c?pn:At),ve(Object.create(g),{next(){const{value:y,done:I}=g.next();return I?{value:y,done:I}:{value:r?[h(y[0]),h(y[1])]:h(y),done:I}}})}}function Cs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ml(e,t){const s={get(o){const i=this.__v_raw,l=Z(i),r=Z(o);e||(Qe(o,r)&&ge(l,"get",o),ge(l,"get",r));const{has:c}=ws(l),g=t?hn:e?Ht:ze;if(c.call(l,o))return g(i.get(o));if(c.call(l,r))return g(i.get(r));i!==l&&i.get(o)},get size(){const o=this.__v_raw;return!e&&ge(Z(o),"iterate",At),o.size},has(o){const i=this.__v_raw,l=Z(i),r=Z(o);return e||(Qe(o,r)&&ge(l,"has",o),ge(l,"has",r)),o===r?i.has(o):i.has(o)||i.has(r)},forEach(o,i){const l=this,r=l.__v_raw,c=Z(r),g=t?hn:e?Ht:ze;return!e&&ge(c,"iterate",At),r.forEach((h,y)=>o.call(i,g(h),g(y),l))}};return ve(s,e?{add:Cs("add"),set:Cs("set"),delete:Cs("delete"),clear:Cs("clear")}:{add(o){const i=Z(this),l=ws(i),r=Z(o),c=!t&&!De(o)&&!pt(o)?r:o;return l.has.call(i,c)||Qe(o,c)&&l.has.call(i,o)||Qe(r,c)&&l.has.call(i,r)||(i.add(c),ut(i,"add",c,c)),this},set(o,i){!t&&!De(i)&&!pt(i)&&(i=Z(i));const l=Z(this),{has:r,get:c}=ws(l);let g=r.call(l,o);g||(o=Z(o),g=r.call(l,o));const h=c.call(l,o);return l.set(o,i),g?Qe(i,h)&&ut(l,"set",o,i):ut(l,"add",o,i),this},delete(o){const i=Z(this),{has:l,get:r}=ws(i);let c=l.call(i,o);c||(o=Z(o),c=l.call(i,o)),r&&r.call(i,o);const g=i.delete(o);return c&&ut(i,"delete",o,void 0),g},clear(){const o=Z(this),i=o.size!==0,l=o.clear();return i&&ut(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=gl(o,e,t)}),s}function In(e,t){const s=ml(e,t);return(n,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(Q(s,o)&&o in n?s:n,o,i)}const vl={get:In(!1,!1)},bl={get:In(!1,!0)},yl={get:In(!0,!1)};const Yo=new WeakMap,Xo=new WeakMap,Zo=new WeakMap,xl=new WeakMap;function _l(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Mn(e){return pt(e)?e:Un(e,!1,dl,vl,Yo)}function wl(e){return Un(e,!1,hl,bl,Xo)}function gn(e){return Un(e,!0,pl,yl,Zo)}function Un(e,t,s,n,o){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=o.get(e);if(i)return i;const l=_l(Gi(e));if(l===0)return e;const r=new Proxy(e,l===2?n:s);return o.set(e,r),r}function Ot(e){return pt(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function pt(e){return!!(e&&e.__v_isReadonly)}function De(e){return!!(e&&e.__v_isShallow)}function $n(e){return e?!!e.__v_raw:!1}function Z(e){const t=e&&e.__v_raw;return t?Z(t):e}function Cl(e){return!Q(e,"__v_skip")&&Object.isExtensible(e)&&$o(e,"__v_skip",!0),e}const ze=e=>se(e)?Mn(e):e,Ht=e=>se(e)?gn(e):e;function me(e){return e?e.__v_isRef===!0:!1}function L(e){return Sl(e,!1)}function Sl(e,t){return me(e)?e:new kl(e,t)}class kl{constructor(t,s){this.dep=new Rn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Z(t),this._value=s?t:ze(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||De(t)||pt(t);t=n?t:Z(t),Qe(t,s)&&(this._rawValue=t,this._value=n?t:ze(t),this.dep.trigger())}}function Xt(e){return me(e)?e.value:e}const El={get:(e,t,s)=>t==="__v_raw"?e:Xt(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return me(o)&&!me(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function Qo(e){return Ot(e)?e:new Proxy(e,El)}class Tl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Rn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=rs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&oe!==this)return Vo(this,!0),!0}get value(){const t=this.dep.track();return Ko(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Pl(e,t,s=!1){let n,o;return H(e)?n=e:(n=e.get,o=e.set),new Tl(n,o,s)}const Ss={},Rs=new WeakMap;let Pt;function Al(e,t=!1,s=Pt){if(s){let n=Rs.get(s);n||Rs.set(s,n=[]),n.push(e)}}function Ol(e,t,s=ne){const{immediate:n,deep:o,once:i,scheduler:l,augmentJob:r,call:c}=s,g=j=>o?j:De(j)||o===!1||o===0?ft(j,1):ft(j);let h,y,I,U,q=!1,$=!1;if(me(e)?(y=()=>e.value,q=De(e)):Ot(e)?(y=()=>g(e),q=!0):F(e)?($=!0,q=e.some(j=>Ot(j)||De(j)),y=()=>e.map(j=>{if(me(j))return j.value;if(Ot(j))return g(j);if(H(j))return c?c(j,2):j()})):H(e)?t?y=c?()=>c(e,2):e:y=()=>{if(I){st();try{I()}finally{nt()}}const j=Pt;Pt=h;try{return c?c(e,3,[U]):e(U)}finally{Pt=j}}:y=et,t&&o){const j=y,z=o===!0?1/0:o;y=()=>ft(j(),z)}const W=ol(),Y=()=>{h.stop(),W&&W.active&&Sn(W.effects,h)};if(i&&t){const j=t;t=(...z)=>{const ke=j(...z);return Y(),ke}}let V=$?new Array(e.length).fill(Ss):Ss;const X=j=>{if(!(!(h.flags&1)||!h.dirty&&!j))if(t){const z=h.run();if(j||o||q||($?z.some((ke,Re)=>Qe(ke,V[Re])):Qe(z,V))){I&&I();const ke=Pt;Pt=h;try{const Re=[z,V===Ss?void 0:$&&V[0]===Ss?[]:V,U];V=z,c?c(t,3,Re):t(...Re)}finally{Pt=ke}}}else h.run()};return r&&r(X),h=new Fo(y),h.scheduler=l?()=>l(X,!1):X,U=j=>Al(j,!1,h),I=h.onStop=()=>{const j=Rs.get(h);if(j){if(c)c(j,4);else for(const z of j)z();Rs.delete(h)}},t?n?X(!0):V=h.run():l?l(X.bind(null,!0),!0):h.run(),Y.pause=h.pause.bind(h),Y.resume=h.resume.bind(h),Y.stop=Y,Y}function ft(e,t=1/0,s){if(t<=0||!se(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,me(e))ft(e.value,t,s);else if(F(e))for(let n=0;n<e.length;n++)ft(e[n],t,s);else if(zt(e)||Ft(e))e.forEach(n=>{ft(n,t,s)});else if(Mo(e)){for(const n in e)ft(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ft(e[n],t,s)}return e}/**
* @vue/runtime-core v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function hs(e,t,s,n){try{return n?e(...n):e()}catch(o){zs(o,t,s)}}function We(e,t,s,n){if(H(e)){const o=hs(e,t,s,n);return o&&Ro(o)&&o.catch(i=>{zs(i,t,s)}),o}if(F(e)){const o=[];for(let i=0;i<e.length;i++)o.push(We(e[i],t,s,n));return o}}function zs(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||ne;if(t){let r=t.parent;const c=t.proxy,g=`https://vuejs.org/error-reference/#runtime-${s}`;for(;r;){const h=r.ec;if(h){for(let y=0;y<h.length;y++)if(h[y](e,c,g)===!1)return}r=r.parent}if(i){st(),hs(i,null,10,[e,c,g]),nt();return}}Rl(e,s,o,n,l)}function Rl(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const xe=[];let Ye=-1;const Nt=[];let gt=null,jt=0;const ei=Promise.resolve();let Is=null;function ti(e){const t=Is||ei;return e?t.then(this?e.bind(this):e):t}function Il(e){let t=Ye+1,s=xe.length;for(;t<s;){const n=t+s>>>1,o=xe[n],i=cs(o);i<e||i===e&&o.flags&2?t=n+1:s=n}return t}function jn(e){if(!(e.flags&1)){const t=cs(e),s=xe[xe.length-1];!s||!(e.flags&2)&&t>=cs(s)?xe.push(e):xe.splice(Il(t),0,e),e.flags|=1,si()}}function si(){Is||(Is=ei.then(oi))}function Ml(e){F(e)?Nt.push(...e):gt&&e.id===-1?gt.splice(jt+1,0,e):e.flags&1||(Nt.push(e),e.flags|=1),si()}function Qn(e,t,s=Ye+1){for(;s<xe.length;s++){const n=xe[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;xe.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function ni(e){if(Nt.length){const t=[...new Set(Nt)].sort((s,n)=>cs(s)-cs(n));if(Nt.length=0,gt){gt.push(...t);return}for(gt=t,jt=0;jt<gt.length;jt++){const s=gt[jt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}gt=null,jt=0}}const cs=e=>e.id==null?e.flags&2?-1:1/0:e.id;function oi(e){try{for(Ye=0;Ye<xe.length;Ye++){const t=xe[Ye];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),hs(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ye<xe.length;Ye++){const t=xe[Ye];t&&(t.flags&=-2)}Ye=-1,xe.length=0,ni(),Is=null,(xe.length||Nt.length)&&oi()}}let je=null,ii=null;function Ms(e){const t=je;return je=e,ii=e&&e.type.__scopeId||null,t}function Ul(e,t=je,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&uo(-1);const i=Ms(t);let l;try{l=e(...o)}finally{Ms(i),n._d&&uo(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function le(e,t){if(je===null)return e;const s=Js(je),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,l,r,c=ne]=t[o];i&&(H(i)&&(i={mounted:i,updated:i}),i.deep&&ft(l),n.push({dir:i,instance:s,value:l,oldValue:void 0,arg:r,modifiers:c}))}return e}function Et(e,t,s,n){const o=e.dirs,i=t&&t.dirs;for(let l=0;l<o.length;l++){const r=o[l];i&&(r.oldValue=i[l].value);let c=r.dir[n];c&&(st(),We(c,s,8,[e.el,r,e,t]),nt())}}function $l(e,t){if(_e){let s=_e.provides;const n=_e.parent&&_e.parent.provides;n===s&&(s=_e.provides=Object.create(n)),s[e]=t}}function Ps(e,t,s=!1){const n=Ur();if(n||Vt){let o=Vt?Vt._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&H(t)?t.call(n&&n.proxy):t}}const jl=Symbol.for("v-scx"),Dl=()=>Ps(jl);function nn(e,t,s){return li(e,t,s)}function li(e,t,s=ne){const{immediate:n,deep:o,flush:i,once:l}=s,r=ve({},s),c=t&&n||!t&&i!=="post";let g;if(fs){if(i==="sync"){const U=Dl();g=U.__watcherHandles||(U.__watcherHandles=[])}else if(!c){const U=()=>{};return U.stop=et,U.resume=et,U.pause=et,U}}const h=_e;r.call=(U,q,$)=>We(U,h,q,$);let y=!1;i==="post"?r.scheduler=U=>{Se(U,h&&h.suspense)}:i!=="sync"&&(y=!0,r.scheduler=(U,q)=>{q?U():jn(U)}),r.augmentJob=U=>{t&&(U.flags|=4),y&&(U.flags|=2,h&&(U.id=h.uid,U.i=h))};const I=Ol(e,t,r);return fs&&(g?g.push(I):c&&I()),I}function Ll(e,t,s){const n=this.proxy,o=ce(e)?e.includes(".")?ri(n,e):()=>n[e]:e.bind(n,n);let i;H(t)?i=t:(i=t.handler,s=t);const l=gs(this),r=li(o,i.bind(n),s);return l(),r}function ri(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const Fl=Symbol("_vte"),Nl=e=>e.__isTeleport,on=Symbol("_leaveCb");function Dn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Dn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ai(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function eo(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Us=new WeakMap;function ns(e,t,s,n,o=!1){if(F(e)){e.forEach(($,W)=>ns($,t&&(F(t)?t[W]:t),s,n,o));return}if(os(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ns(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?Js(n.component):n.el,l=o?null:i,{i:r,r:c}=e,g=t&&t.r,h=r.refs===ne?r.refs={}:r.refs,y=r.setupState,I=Z(y),U=y===ne?Oo:$=>eo(h,$)?!1:Q(I,$),q=($,W)=>!(W&&eo(h,W));if(g!=null&&g!==c){if(to(t),ce(g))h[g]=null,U(g)&&(y[g]=null);else if(me(g)){const $=t;q(g,$.k)&&(g.value=null),$.k&&(h[$.k]=null)}}if(H(c)){st();try{hs(c,r,12,[l,h])}finally{nt()}}else{const $=ce(c),W=me(c);if($||W){const Y=()=>{if(e.f){const V=$?U(c)?y[c]:h[c]:q()||!e.k?c.value:h[e.k];if(o)F(V)&&Sn(V,i);else if(F(V))V.includes(i)||V.push(i);else if($)h[c]=[i],U(c)&&(y[c]=h[c]);else{const X=[i];q(c,e.k)&&(c.value=X),e.k&&(h[e.k]=X)}}else $?(h[c]=l,U(c)&&(y[c]=l)):W&&(q(c,e.k)&&(c.value=l),e.k&&(h[e.k]=l))};if(l){const V=()=>{Y(),Us.delete(e)};V.id=-1,Us.set(e,V),Se(V,s)}else to(e),Y()}}}function to(e){const t=Us.get(e);t&&(t.flags|=8,Us.delete(e))}Bs().requestIdleCallback;Bs().cancelIdleCallback;const os=e=>!!e.type.__asyncLoader,ci=e=>e.type.__isKeepAlive;function Vl(e,t){ui(e,"a",t)}function Hl(e,t){ui(e,"da",t)}function ui(e,t,s=_e){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Ws(t,n,s),s){let o=s.parent;for(;o&&o.parent;)ci(o.parent.vnode)&&Bl(n,t,s,o),o=o.parent}}function Bl(e,t,s,n){const o=Ws(t,e,n,!0);Ln(()=>{Sn(n[t],o)},s)}function Ws(e,t,s=_e,n=!1){if(s){const o=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...l)=>{st();const r=gs(s),c=We(t,s,e,l);return r(),nt(),c});return n?o.unshift(i):o.push(i),i}}const ht=e=>(t,s=_e)=>{(!fs||e==="sp")&&Ws(e,(...n)=>t(...n),s)},Kl=ht("bm"),fi=ht("m"),zl=ht("bu"),Wl=ht("u"),Gl=ht("bum"),Ln=ht("um"),ql=ht("sp"),Jl=ht("rtg"),Yl=ht("rtc");function Xl(e,t=_e){Ws("ec",e,t)}const Zl=Symbol.for("v-ndc");function Ce(e,t,s,n){let o;const i=s,l=F(e);if(l||ce(e)){const r=l&&Ot(e);let c=!1,g=!1;r&&(c=!De(e),g=pt(e),e=Ks(e)),o=new Array(e.length);for(let h=0,y=e.length;h<y;h++)o[h]=t(c?g?Ht(ze(e[h])):ze(e[h]):e[h],h,void 0,i)}else if(typeof e=="number"){o=new Array(e);for(let r=0;r<e;r++)o[r]=t(r+1,r,void 0,i)}else if(se(e))if(e[Symbol.iterator])o=Array.from(e,(r,c)=>t(r,c,void 0,i));else{const r=Object.keys(e);o=new Array(r.length);for(let c=0,g=r.length;c<g;c++){const h=r[c];o[c]=t(e[h],h,c,i)}}else o=[];return o}const mn=e=>e?Ii(e)?Js(e):mn(e.parent):null,is=ve(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=>mn(e.parent),$root:e=>mn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>pi(e),$forceUpdate:e=>e.f||(e.f=()=>{jn(e.update)}),$nextTick:e=>e.n||(e.n=ti.bind(e.proxy)),$watch:e=>Ll.bind(e)}),ln=(e,t)=>e!==ne&&!e.__isScriptSetup&&Q(e,t),Ql={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:i,accessCache:l,type:r,appContext:c}=e;if(t[0]!=="$"){const I=l[t];if(I!==void 0)switch(I){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return i[t]}else{if(ln(n,t))return l[t]=1,n[t];if(o!==ne&&Q(o,t))return l[t]=2,o[t];if(Q(i,t))return l[t]=3,i[t];if(s!==ne&&Q(s,t))return l[t]=4,s[t];vn&&(l[t]=0)}}const g=is[t];let h,y;if(g)return t==="$attrs"&&ge(e.attrs,"get",""),g(e);if((h=r.__cssModules)&&(h=h[t]))return h;if(s!==ne&&Q(s,t))return l[t]=4,s[t];if(y=c.config.globalProperties,Q(y,t))return y[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:i}=e;return ln(o,t)?(o[t]=s,!0):n!==ne&&Q(n,t)?(n[t]=s,!0):Q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:i,type:l}},r){let c;return!!(s[r]||e!==ne&&r[0]!=="$"&&Q(e,r)||ln(t,r)||Q(i,r)||Q(n,r)||Q(is,r)||Q(o.config.globalProperties,r)||(c=l.__cssModules)&&c[r])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Q(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function so(e){return F(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let vn=!0;function er(e){const t=pi(e),s=e.proxy,n=e.ctx;vn=!1,t.beforeCreate&&no(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:l,watch:r,provide:c,inject:g,created:h,beforeMount:y,mounted:I,beforeUpdate:U,updated:q,activated:$,deactivated:W,beforeDestroy:Y,beforeUnmount:V,destroyed:X,unmounted:j,render:z,renderTracked:ke,renderTriggered:Re,errorCaptured:Ge,serverPrefetch:Ie,expose:we,inheritAttrs:ue,components:qe,directives:Fe,filters:he}=t;if(g&&tr(g,n,null),l)for(const ee in l){const te=l[ee];H(te)&&(n[ee]=te.bind(s))}if(o){const ee=o.call(s,s);se(ee)&&(e.data=Mn(ee))}if(vn=!0,i)for(const ee in i){const te=i[ee],Ve=H(te)?te.bind(s,s):H(te.get)?te.get.bind(s,s):et,Rt=!H(te)&&H(te.set)?te.set.bind(s):et,ot=_n({get:Ve,set:Rt});Object.defineProperty(n,ee,{enumerable:!0,configurable:!0,get:()=>ot.value,set:Ee=>ot.value=Ee})}if(r)for(const ee in r)di(r[ee],n,s,ee);if(c){const ee=H(c)?c.call(s):c;Reflect.ownKeys(ee).forEach(te=>{$l(te,ee[te])})}h&&no(h,e,"c");function ae(ee,te){F(te)?te.forEach(Ve=>ee(Ve.bind(s))):te&&ee(te.bind(s))}if(ae(Kl,y),ae(fi,I),ae(zl,U),ae(Wl,q),ae(Vl,$),ae(Hl,W),ae(Xl,Ge),ae(Yl,ke),ae(Jl,Re),ae(Gl,V),ae(Ln,j),ae(ql,Ie),F(we))if(we.length){const ee=e.exposed||(e.exposed={});we.forEach(te=>{Object.defineProperty(ee,te,{get:()=>s[te],set:Ve=>s[te]=Ve,enumerable:!0})})}else e.exposed||(e.exposed={});z&&e.render===et&&(e.render=z),ue!=null&&(e.inheritAttrs=ue),qe&&(e.components=qe),Fe&&(e.directives=Fe),Ie&&ai(e)}function tr(e,t,s=et){F(e)&&(e=bn(e));for(const n in e){const o=e[n];let i;se(o)?"default"in o?i=Ps(o.from||n,o.default,!0):i=Ps(o.from||n):i=Ps(o),me(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[n]=i}}function no(e,t,s){We(F(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function di(e,t,s,n){let o=n.includes(".")?ri(s,n):()=>s[n];if(ce(e)){const i=t[e];H(i)&&nn(o,i)}else if(H(e))nn(o,e.bind(s));else if(se(e))if(F(e))e.forEach(i=>di(i,t,s,n));else{const i=H(e.handler)?e.handler.bind(s):t[e.handler];H(i)&&nn(o,i,e)}}function pi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:l}}=e.appContext,r=i.get(t);let c;return r?c=r:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(g=>$s(c,g,l,!0)),$s(c,t,l)),se(t)&&i.set(t,c),c}function $s(e,t,s,n=!1){const{mixins:o,extends:i}=t;i&&$s(e,i,s,!0),o&&o.forEach(l=>$s(e,l,s,!0));for(const l in t)if(!(n&&l==="expose")){const r=sr[l]||s&&s[l];e[l]=r?r(e[l],t[l]):t[l]}return e}const sr={data:oo,props:io,emits:io,methods:Zt,computed:Zt,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:Zt,directives:Zt,watch:or,provide:oo,inject:nr};function oo(e,t){return t?e?function(){return ve(H(e)?e.call(this,this):e,H(t)?t.call(this,this):t)}:t:e}function nr(e,t){return Zt(bn(e),bn(t))}function bn(e){if(F(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function be(e,t){return e?[...new Set([].concat(e,t))]:t}function Zt(e,t){return e?ve(Object.create(null),e,t):t}function io(e,t){return e?F(e)&&F(t)?[...new Set([...e,...t])]:ve(Object.create(null),so(e),so(t??{})):t}function or(e,t){if(!e)return t;if(!t)return e;const s=ve(Object.create(null),e);for(const n in t)s[n]=be(e[n],t[n]);return s}function hi(){return{app:null,config:{isNativeTag:Oo,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}}let ir=0;function lr(e,t){return function(n,o=null){H(n)||(n=ve({},n)),o!=null&&!se(o)&&(o=null);const i=hi(),l=new WeakSet,r=[];let c=!1;const g=i.app={_uid:ir++,_component:n,_props:o,_container:null,_context:i,_instance:null,version:Nr,get config(){return i.config},set config(h){},use(h,...y){return l.has(h)||(h&&H(h.install)?(l.add(h),h.install(g,...y)):H(h)&&(l.add(h),h(g,...y))),g},mixin(h){return i.mixins.includes(h)||i.mixins.push(h),g},component(h,y){return y?(i.components[h]=y,g):i.components[h]},directive(h,y){return y?(i.directives[h]=y,g):i.directives[h]},mount(h,y,I){if(!c){const U=g._ceVNode||Oe(n,o);return U.appContext=i,I===!0?I="svg":I===!1&&(I=void 0),e(U,h,I),c=!0,g._container=h,h.__vue_app__=g,Js(U.component)}},onUnmount(h){r.push(h)},unmount(){c&&(We(r,g._instance,16),e(null,g._container),delete g._container.__vue_app__)},provide(h,y){return i.provides[h]=y,g},runWithContext(h){const y=Vt;Vt=g;try{return h()}finally{Vt=y}}};return g}}let Vt=null;const rr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Be(t)}Modifiers`]||e[`${yt(t)}Modifiers`];function ar(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ne;let o=s;const i=t.startsWith("update:"),l=i&&rr(n,t.slice(7));l&&(l.trim&&(o=s.map(h=>ce(h)?h.trim():h)),l.number&&(o=s.map(Hs)));let r,c=n[r=Zs(t)]||n[r=Zs(Be(t))];!c&&i&&(c=n[r=Zs(yt(t))]),c&&We(c,e,6,o);const g=n[r+"Once"];if(g){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,We(g,e,6,o)}}const cr=new WeakMap;function gi(e,t,s=!1){const n=s?cr:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const i=e.emits;let l={},r=!1;if(!H(e)){const c=g=>{const h=gi(g,t,!0);h&&(r=!0,ve(l,h))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!r?(se(e)&&n.set(e,null),null):(F(i)?i.forEach(c=>l[c]=null):ve(l,i),se(e)&&n.set(e,l),l)}function Gs(e,t){return!e||!Fs(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),Q(e,t[0].toLowerCase()+t.slice(1))||Q(e,yt(t))||Q(e,t))}function lo(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[i],slots:l,attrs:r,emit:c,render:g,renderCache:h,props:y,data:I,setupState:U,ctx:q,inheritAttrs:$}=e,W=Ms(e);let Y,V;try{if(s.shapeFlag&4){const j=o||n,z=j;Y=Ze(g.call(z,j,h,y,U,I,q)),V=r}else{const j=t;Y=Ze(j.length>1?j(y,{attrs:r,slots:l,emit:c}):j(y,null)),V=t.props?r:ur(r)}}catch(j){ls.length=0,zs(j,e,1),Y=Oe(vt)}let X=Y;if(V&&$!==!1){const j=Object.keys(V),{shapeFlag:z}=X;j.length&&z&7&&(i&&j.some(Ns)&&(V=fr(V,i)),X=Bt(X,V,!1,!0))}return s.dirs&&(X=Bt(X,null,!1,!0),X.dirs=X.dirs?X.dirs.concat(s.dirs):s.dirs),s.transition&&Dn(X,s.transition),Y=X,Ms(W),Y}const ur=e=>{let t;for(const s in e)(s==="class"||s==="style"||Fs(s))&&((t||(t={}))[s]=e[s]);return t},fr=(e,t)=>{const s={};for(const n in e)(!Ns(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function dr(e,t,s){const{props:n,children:o,component:i}=e,{props:l,children:r,patchFlag:c}=t,g=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?ro(n,l,g):!!l;if(c&8){const h=t.dynamicProps;for(let y=0;y<h.length;y++){const I=h[y];if(mi(l,n,I)&&!Gs(g,I))return!0}}}else return(o||r)&&(!r||!r.$stable)?!0:n===l?!1:n?l?ro(n,l,g):!0:!!l;return!1}function ro(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const i=n[o];if(mi(t,e,i)&&!Gs(s,i))return!0}return!1}function mi(e,t,s){const n=e[s],o=t[s];return s==="style"&&se(n)&&se(o)?!mt(n,o):n!==o}function pr({vnode:e,parent:t,suspense:s},n){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=n,e=o),o===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const vi={},bi=()=>Object.create(vi),yi=e=>Object.getPrototypeOf(e)===vi;function hr(e,t,s,n=!1){const o={},i=bi();e.propsDefaults=Object.create(null),xi(e,t,o,i);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);s?e.props=n?o:wl(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function gr(e,t,s,n){const{props:o,attrs:i,vnode:{patchFlag:l}}=e,r=Z(o),[c]=e.propsOptions;let g=!1;if((n||l>0)&&!(l&16)){if(l&8){const h=e.vnode.dynamicProps;for(let y=0;y<h.length;y++){let I=h[y];if(Gs(e.emitsOptions,I))continue;const U=t[I];if(c)if(Q(i,I))U!==i[I]&&(i[I]=U,g=!0);else{const q=Be(I);o[q]=yn(c,r,q,U,e,!1)}else U!==i[I]&&(i[I]=U,g=!0)}}}else{xi(e,t,o,i)&&(g=!0);let h;for(const y in r)(!t||!Q(t,y)&&((h=yt(y))===y||!Q(t,h)))&&(c?s&&(s[y]!==void 0||s[h]!==void 0)&&(o[y]=yn(c,r,y,void 0,e,!0)):delete o[y]);if(i!==r)for(const y in i)(!t||!Q(t,y))&&(delete i[y],g=!0)}g&&ut(e.attrs,"set","")}function xi(e,t,s,n){const[o,i]=e.propsOptions;let l=!1,r;if(t)for(let c in t){if(es(c))continue;const g=t[c];let h;o&&Q(o,h=Be(c))?!i||!i.includes(h)?s[h]=g:(r||(r={}))[h]=g:Gs(e.emitsOptions,c)||(!(c in n)||g!==n[c])&&(n[c]=g,l=!0)}if(i){const c=Z(s),g=r||ne;for(let h=0;h<i.length;h++){const y=i[h];s[y]=yn(o,c,y,g[y],e,!Q(g,y))}}return l}function yn(e,t,s,n,o,i){const l=e[s];if(l!=null){const r=Q(l,"default");if(r&&n===void 0){const c=l.default;if(l.type!==Function&&!l.skipFactory&&H(c)){const{propsDefaults:g}=o;if(s in g)n=g[s];else{const h=gs(o);n=g[s]=c.call(null,t),h()}}else n=c;o.ce&&o.ce._setProp(s,n)}l[0]&&(i&&!r?n=!1:l[1]&&(n===""||n===yt(s))&&(n=!0))}return n}const mr=new WeakMap;function _i(e,t,s=!1){const n=s?mr:t.propsCache,o=n.get(e);if(o)return o;const i=e.props,l={},r=[];let c=!1;if(!H(e)){const h=y=>{c=!0;const[I,U]=_i(y,t,!0);ve(l,I),U&&r.push(...U)};!s&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!i&&!c)return se(e)&&n.set(e,Lt),Lt;if(F(i))for(let h=0;h<i.length;h++){const y=Be(i[h]);ao(y)&&(l[y]=ne)}else if(i)for(const h in i){const y=Be(h);if(ao(y)){const I=i[h],U=l[y]=F(I)||H(I)?{type:I}:ve({},I),q=U.type;let $=!1,W=!0;if(F(q))for(let Y=0;Y<q.length;++Y){const V=q[Y],X=H(V)&&V.name;if(X==="Boolean"){$=!0;break}else X==="String"&&(W=!1)}else $=H(q)&&q.name==="Boolean";U[0]=$,U[1]=W,($||Q(U,"default"))&&r.push(y)}}const g=[l,r];return se(e)&&n.set(e,g),g}function ao(e){return e[0]!=="$"&&!es(e)}const Fn=e=>e==="_"||e==="_ctx"||e==="$stable",Nn=e=>F(e)?e.map(Ze):[Ze(e)],vr=(e,t,s)=>{if(t._n)return t;const n=Ul((...o)=>Nn(t(...o)),s);return n._c=!1,n},wi=(e,t,s)=>{const n=e._ctx;for(const o in e){if(Fn(o))continue;const i=e[o];if(H(i))t[o]=vr(o,i,n);else if(i!=null){const l=Nn(i);t[o]=()=>l}}},Ci=(e,t)=>{const s=Nn(t);e.slots.default=()=>s},Si=(e,t,s)=>{for(const n in t)(s||!Fn(n))&&(e[n]=t[n])},br=(e,t,s)=>{const n=e.slots=bi();if(e.vnode.shapeFlag&32){const o=t._;o?(Si(n,t,s),s&&$o(n,"_",o,!0)):wi(t,n)}else t&&Ci(e,t)},yr=(e,t,s)=>{const{vnode:n,slots:o}=e;let i=!0,l=ne;if(n.shapeFlag&32){const r=t._;r?s&&r===1?i=!1:Si(o,t,s):(i=!t.$stable,wi(t,o)),l=t}else t&&(Ci(e,t),l={default:1});if(i)for(const r in o)!Fn(r)&&l[r]==null&&delete o[r]},Se=Sr;function xr(e){return _r(e)}function _r(e,t){const s=Bs();s.__VUE__=!0;const{insert:n,remove:o,patchProp:i,createElement:l,createText:r,createComment:c,setText:g,setElementText:h,parentNode:y,nextSibling:I,setScopeId:U=et,insertStaticContent:q}=e,$=(a,p,m,w=null,x=null,_=null,T=void 0,k=null,C=!!p.dynamicChildren)=>{if(a===p)return;a&&!qt(a,p)&&(w=_t(a),Ee(a,x,_,!0),a=null),p.patchFlag===-2&&(C=!1,p.dynamicChildren=null);const{type:b,ref:R,shapeFlag:E}=p;switch(b){case qs:W(a,p,m,w);break;case vt:Y(a,p,m,w);break;case As:a==null&&V(p,m,w,T);break;case re:qe(a,p,m,w,x,_,T,k,C);break;default:E&1?z(a,p,m,w,x,_,T,k,C):E&6?Fe(a,p,m,w,x,_,T,k,C):(E&64||E&128)&&b.process(a,p,m,w,x,_,T,k,C,wt)}R!=null&&x?ns(R,a&&a.ref,_,p||a,!p):R==null&&a&&a.ref!=null&&ns(a.ref,null,_,a,!0)},W=(a,p,m,w)=>{if(a==null)n(p.el=r(p.children),m,w);else{const x=p.el=a.el;p.children!==a.children&&g(x,p.children)}},Y=(a,p,m,w)=>{a==null?n(p.el=c(p.children||""),m,w):p.el=a.el},V=(a,p,m,w)=>{[a.el,a.anchor]=q(a.children,p,m,w,a.el,a.anchor)},X=({el:a,anchor:p},m,w)=>{let x;for(;a&&a!==p;)x=I(a),n(a,m,w),a=x;n(p,m,w)},j=({el:a,anchor:p})=>{let m;for(;a&&a!==p;)m=I(a),o(a),a=m;o(p)},z=(a,p,m,w,x,_,T,k,C)=>{if(p.type==="svg"?T="svg":p.type==="math"&&(T="mathml"),a==null)ke(p,m,w,x,_,T,k,C);else{const b=a.el&&a.el._isVueCE?a.el:null;try{b&&b._beginPatch(),Ie(a,p,x,_,T,k,C)}finally{b&&b._endPatch()}}},ke=(a,p,m,w,x,_,T,k)=>{let C,b;const{props:R,shapeFlag:E,transition:M,dirs:D}=a;if(C=a.el=l(a.type,_,R&&R.is,R),E&8?h(C,a.children):E&16&&Ge(a.children,C,null,w,x,rn(a,_),T,k),D&&Et(a,null,w,"created"),Re(C,a,a.scopeId,T,w),R){for(const B in R)B!=="value"&&!es(B)&&i(C,B,null,R[B],_,w);"value"in R&&i(C,"value",null,R.value,_),(b=R.onVnodeBeforeMount)&&Je(b,w,a)}D&&Et(a,null,w,"beforeMount");const N=wr(x,M);N&&M.beforeEnter(C),n(C,p,m),((b=R&&R.onVnodeMounted)||N||D)&&Se(()=>{try{b&&Je(b,w,a),N&&M.enter(C),D&&Et(a,null,w,"mounted")}finally{}},x)},Re=(a,p,m,w,x)=>{if(m&&U(a,m),w)for(let _=0;_<w.length;_++)U(a,w[_]);if(x){let _=x.subTree;if(p===_||Pi(_.type)&&(_.ssContent===p||_.ssFallback===p)){const T=x.vnode;Re(a,T,T.scopeId,T.slotScopeIds,x.parent)}}},Ge=(a,p,m,w,x,_,T,k,C=0)=>{for(let b=C;b<a.length;b++){const R=a[b]=k?ct(a[b]):Ze(a[b]);$(null,R,p,m,w,x,_,T,k)}},Ie=(a,p,m,w,x,_,T)=>{const k=p.el=a.el;let{patchFlag:C,dynamicChildren:b,dirs:R}=p;C|=a.patchFlag&16;const E=a.props||ne,M=p.props||ne;let D;if(m&&Tt(m,!1),(D=M.onVnodeBeforeUpdate)&&Je(D,m,p,a),R&&Et(p,a,m,"beforeUpdate"),m&&Tt(m,!0),b&&(!a.dynamicChildren||a.dynamicChildren.length!==b.length)&&(C=0,T=!1,b=null),(E.innerHTML&&M.innerHTML==null||E.textContent&&M.textContent==null)&&h(k,""),b?we(a.dynamicChildren,b,k,m,w,rn(p,x),_):T||te(a,p,k,null,m,w,rn(p,x),_,!1),C>0){if(C&16)ue(k,E,M,m,x);else if(C&2&&E.class!==M.class&&i(k,"class",null,M.class,x),C&4&&i(k,"style",E.style,M.style,x),C&8){const N=p.dynamicProps;for(let B=0;B<N.length;B++){const G=N[B],J=E[G],ie=M[G];(ie!==J||G==="value")&&i(k,G,J,ie,x,m)}}C&1&&a.children!==p.children&&h(k,p.children)}else!T&&b==null&&ue(k,E,M,m,x);((D=M.onVnodeUpdated)||R)&&Se(()=>{D&&Je(D,m,p,a),R&&Et(p,a,m,"updated")},w)},we=(a,p,m,w,x,_,T)=>{for(let k=0;k<p.length;k++){const C=a[k],b=p[k],R=C.el&&(C.type===re||!qt(C,b)||C.shapeFlag&198)?y(C.el):m;$(C,b,R,null,w,x,_,T,!0)}},ue=(a,p,m,w,x)=>{if(p!==m){if(p!==ne)for(const _ in p)!es(_)&&!(_ in m)&&i(a,_,p[_],null,x,w);for(const _ in m){if(es(_))continue;const T=m[_],k=p[_];T!==k&&_!=="value"&&i(a,_,k,T,x,w)}"value"in m&&i(a,"value",p.value,m.value,x)}},qe=(a,p,m,w,x,_,T,k,C)=>{const b=p.el=a?a.el:r(""),R=p.anchor=a?a.anchor:r("");let{patchFlag:E,dynamicChildren:M,slotScopeIds:D}=p;D&&(k=k?k.concat(D):D),a==null?(n(b,m,w),n(R,m,w),Ge(p.children||[],m,R,x,_,T,k,C)):E>0&&E&64&&M&&a.dynamicChildren&&a.dynamicChildren.length===M.length?(we(a.dynamicChildren,M,m,x,_,T,k),(p.key!=null||x&&p===x.subTree)&&ki(a,p,!0)):te(a,p,m,R,x,_,T,k,C)},Fe=(a,p,m,w,x,_,T,k,C)=>{p.slotScopeIds=k,a==null?p.shapeFlag&512?x.ctx.activate(p,m,w,T,C):he(p,m,w,x,_,T,C):Ne(a,p,C)},he=(a,p,m,w,x,_,T)=>{const k=a.component=Mr(a,w,x);if(ci(a)&&(k.ctx.renderer=wt),$r(k,!1,T),k.asyncDep){if(x&&x.registerDep(k,ae,T),!a.el){const C=k.subTree=Oe(vt);Y(null,C,p,m),a.placeholder=C.el}}else ae(k,a,p,m,x,_,T)},Ne=(a,p,m)=>{const w=p.component=a.component;if(dr(a,p,m))if(w.asyncDep&&!w.asyncResolved){ee(w,p,m);return}else w.next=p,w.update();else p.el=a.el,w.vnode=p},ae=(a,p,m,w,x,_,T)=>{const k=()=>{if(a.isMounted){let{next:E,bu:M,u:D,parent:N,vnode:B}=a;{const Ue=Ei(a);if(Ue){E&&(E.el=B.el,ee(a,E,T)),Ue.asyncDep.then(()=>{Se(()=>{a.isUnmounted||b()},x)});return}}let G=E,J;Tt(a,!1),E?(E.el=B.el,ee(a,E,T)):E=B,M&&Ts(M),(J=E.props&&E.props.onVnodeBeforeUpdate)&&Je(J,N,E,B),Tt(a,!0);const ie=lo(a),Me=a.subTree;a.subTree=ie,$(Me,ie,y(Me.el),_t(Me),a,x,_),E.el=ie.el,G===null&&pr(a,ie.el),D&&Se(D,x),(J=E.props&&E.props.onVnodeUpdated)&&Se(()=>Je(J,N,E,B),x)}else{let E;const{el:M,props:D}=p,{bm:N,m:B,parent:G,root:J,type:ie}=a,Me=os(p);Tt(a,!1),N&&Ts(N),!Me&&(E=D&&D.onVnodeBeforeMount)&&Je(E,G,p),Tt(a,!0);{J.ce&&J.ce._hasShadowRoot()&&J.ce._injectChildStyle(ie,a.parent?a.parent.type:void 0);const Ue=a.subTree=lo(a);$(null,Ue,m,w,a,x,_),p.el=Ue.el}if(B&&Se(B,x),!Me&&(E=D&&D.onVnodeMounted)){const Ue=p;Se(()=>Je(E,G,Ue),x)}(p.shapeFlag&256||G&&os(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&Se(a.a,x),a.isMounted=!0,p=m=w=null}};a.scope.on();const C=a.effect=new Fo(k);a.scope.off();const b=a.update=C.run.bind(C),R=a.job=C.runIfDirty.bind(C);R.i=a,R.id=a.uid,C.scheduler=()=>jn(R),Tt(a,!0),b()},ee=(a,p,m)=>{p.component=a;const w=a.vnode.props;a.vnode=p,a.next=null,gr(a,p.props,w,m),yr(a,p.children,m),st(),Qn(a),nt()},te=(a,p,m,w,x,_,T,k,C=!1)=>{const b=a&&a.children,R=a?a.shapeFlag:0,E=p.children,{patchFlag:M,shapeFlag:D}=p;if(M>0){if(M&128){Rt(b,E,m,w,x,_,T,k,C);return}else if(M&256){Ve(b,E,m,w,x,_,T,k,C);return}}D&8?(R&16&&xt(b,x,_),E!==b&&h(m,E)):R&16?D&16?Rt(b,E,m,w,x,_,T,k,C):xt(b,x,_,!0):(R&8&&h(m,""),D&16&&Ge(E,m,w,x,_,T,k,C))},Ve=(a,p,m,w,x,_,T,k,C)=>{a=a||Lt,p=p||Lt;const b=a.length,R=p.length,E=Math.min(b,R);let M;for(M=0;M<E;M++){const D=p[M]=C?ct(p[M]):Ze(p[M]);$(a[M],D,m,null,x,_,T,k,C)}b>R?xt(a,x,_,!0,!1,E):Ge(p,m,w,x,_,T,k,C,E)},Rt=(a,p,m,w,x,_,T,k,C)=>{let b=0;const R=p.length;let E=a.length-1,M=R-1;for(;b<=E&&b<=M;){const D=a[b],N=p[b]=C?ct(p[b]):Ze(p[b]);if(qt(D,N))$(D,N,m,null,x,_,T,k,C);else break;b++}for(;b<=E&&b<=M;){const D=a[E],N=p[M]=C?ct(p[M]):Ze(p[M]);if(qt(D,N))$(D,N,m,null,x,_,T,k,C);else break;E--,M--}if(b>E){if(b<=M){const D=M+1,N=D<R?p[D].el:w;for(;b<=M;)$(null,p[b]=C?ct(p[b]):Ze(p[b]),m,N,x,_,T,k,C),b++}}else if(b>M)for(;b<=E;)Ee(a[b],x,_,!0),b++;else{const D=b,N=b,B=new Map;for(b=N;b<=M;b++){const fe=p[b]=C?ct(p[b]):Ze(p[b]);fe.key!=null&&B.set(fe.key,b)}let G,J=0;const ie=M-N+1;let Me=!1,Ue=0;const Ct=new Array(ie);for(b=0;b<ie;b++)Ct[b]=0;for(b=D;b<=E;b++){const fe=a[b];if(J>=ie){Ee(fe,x,_,!0);continue}let de;if(fe.key!=null)de=B.get(fe.key);else for(G=N;G<=M;G++)if(Ct[G-N]===0&&qt(fe,p[G])){de=G;break}de===void 0?Ee(fe,x,_,!0):(Ct[de-N]=b+1,de>=Ue?Ue=de:Me=!0,$(fe,p[de],m,null,x,_,T,k,C),J++)}const bs=Me?Cr(Ct):Lt;for(G=bs.length-1,b=ie-1;b>=0;b--){const fe=N+b,de=p[fe],St=p[fe+1],kt=fe+1<R?St.el||Ti(St):w;Ct[b]===0?$(null,de,m,kt,x,_,T,k,C):Me&&(G<0||b!==bs[G]?ot(de,m,kt,2):G--)}}},ot=(a,p,m,w,x=null)=>{const{el:_,type:T,transition:k,children:C,shapeFlag:b}=a;if(b&6){ot(a.component.subTree,p,m,w);return}if(b&128){a.suspense.move(p,m,w);return}if(b&64){T.move(a,p,m,wt);return}if(T===re){n(_,p,m);for(let E=0;E<C.length;E++)ot(C[E],p,m,w);n(a.anchor,p,m);return}if(T===As){X(a,p,m);return}if(w!==2&&b&1&&k)if(w===0)k.persisted&&!_[on]?n(_,p,m):(k.beforeEnter(_),n(_,p,m),Se(()=>k.enter(_),x));else{const{leave:E,delayLeave:M,afterLeave:D}=k,N=()=>{a.ctx.isUnmounted?o(_):n(_,p,m)},B=()=>{const G=_._isLeaving||!!_[on];_._isLeaving&&_[on](!0),k.persisted&&!G?N():E(_,()=>{N(),D&&D()})};M?M(_,N,B):B()}else n(_,p,m)},Ee=(a,p,m,w=!1,x=!1)=>{const{type:_,props:T,ref:k,children:C,dynamicChildren:b,shapeFlag:R,patchFlag:E,dirs:M,cacheIndex:D,memo:N}=a;if(E===-2&&(x=!1),k!=null&&(st(),ns(k,null,m,a,!0),nt()),D!=null&&(p.renderCache[D]=void 0),R&256){p.ctx.deactivate(a);return}const B=R&1&&M,G=!os(a);let J;if(G&&(J=T&&T.onVnodeBeforeUnmount)&&Je(J,p,a),R&6)it(a.component,m,w);else{if(R&128){a.suspense.unmount(m,w);return}B&&Et(a,null,p,"beforeUnmount"),R&64?a.type.remove(a,p,m,wt,w):b&&!b.hasOnce&&(_!==re||E>0&&E&64)?xt(b,p,m,!1,!0):(_===re&&E&384||!x&&R&16)&&xt(C,p,m),w&&ms(a)}const ie=N!=null&&D==null;(G&&(J=T&&T.onVnodeUnmounted)||B||ie)&&Se(()=>{J&&Je(J,p,a),B&&Et(a,null,p,"unmounted"),ie&&(a.el=null)},m)},ms=a=>{const{type:p,el:m,anchor:w,transition:x}=a;if(p===re){Ys(m,w);return}if(p===As){j(a);return}const _=()=>{o(m),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(a.shapeFlag&1&&x&&!x.persisted){const{leave:T,delayLeave:k}=x,C=()=>T(m,_);k?k(a.el,_,C):C()}else _()},Ys=(a,p)=>{let m;for(;a!==p;)m=I(a),o(a),a=m;o(p)},it=(a,p,m)=>{const{bum:w,scope:x,job:_,subTree:T,um:k,m:C,a:b}=a;co(C),co(b),w&&Ts(w),x.stop(),_&&(_.flags|=8,Ee(T,a,p,m)),k&&Se(k,p),Se(()=>{a.isUnmounted=!0},p)},xt=(a,p,m,w=!1,x=!1,_=0)=>{for(let T=_;T<a.length;T++)Ee(a[T],p,m,w,x)},_t=a=>{if(a.shapeFlag&6)return _t(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const p=I(a.anchor||a.el),m=p&&p[Fl];return m?I(m):p};let Wt=!1;const vs=(a,p,m)=>{let w;a==null?p._vnode&&(Ee(p._vnode,null,null,!0),w=p._vnode.component):$(p._vnode||null,a,p,null,null,null,m),p._vnode=a,Wt||(Wt=!0,Qn(w),ni(),Wt=!1)},wt={p:$,um:Ee,m:ot,r:ms,mt:he,mc:Ge,pc:te,pbc:we,n:_t,o:e};return{render:vs,hydrate:void 0,createApp:lr(vs)}}function rn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Tt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function wr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ki(e,t,s=!1){const n=e.children,o=t.children;if(F(n)&&F(o))for(let i=0;i<n.length;i++){const l=n[i];let r=o[i];r.shapeFlag&1&&!r.dynamicChildren&&((r.patchFlag<=0||r.patchFlag===32)&&(r=o[i]=ct(o[i]),r.el=l.el),!s&&r.patchFlag!==-2&&ki(l,r)),r.type===qs&&(r.patchFlag===-1&&(r=o[i]=ct(r)),r.el=l.el),r.type===vt&&!r.el&&(r.el=l.el)}}function Cr(e){const t=e.slice(),s=[0];let n,o,i,l,r;const c=e.length;for(n=0;n<c;n++){const g=e[n];if(g!==0){if(o=s[s.length-1],e[o]<g){t[n]=o,s.push(n);continue}for(i=0,l=s.length-1;i<l;)r=i+l>>1,e[s[r]]<g?i=r+1:l=r;g<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,l=s[i-1];i-- >0;)s[i]=l,l=t[l];return s}function Ei(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Ei(t)}function co(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ti(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ti(t.subTree):null}const Pi=e=>e.__isSuspense;function Sr(e,t){t&&t.pendingBranch?F(e)?t.effects.push(...e):t.effects.push(e):Ml(e)}const re=Symbol.for("v-fgt"),qs=Symbol.for("v-txt"),vt=Symbol.for("v-cmt"),As=Symbol.for("v-stc"),ls=[];let Ae=null;function P(e=!1){ls.push(Ae=e?null:[])}function kr(){ls.pop(),Ae=ls[ls.length-1]||null}let us=1;function uo(e,t=!1){us+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function Ai(e){return e.dynamicChildren=us>0?Ae||Lt:null,kr(),us>0&&Ae&&Ae.push(e),e}function A(e,t,s,n,o,i){return Ai(d(e,t,s,n,o,i,!0))}function Er(e,t,s,n,o){return Ai(Oe(e,t,s,n,o,!0))}function Oi(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const Ri=({key:e})=>e??null,Os=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ce(e)||me(e)||H(e)?{i:je,r:e,k:t,f:!!s}:e:null);function d(e,t=null,s=null,n=0,o=null,i=e===re?0:1,l=!1,r=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ri(t),ref:t&&Os(t),scopeId:ii,slotScopeIds:null,children:s,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:i,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:je};return r?(js(c,s),i&128&&e.normalize(c)):s&&(c.shapeFlag|=ce(s)?8:16),us>0&&!l&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const Oe=Tr;function Tr(e,t=null,s=null,n=0,o=null,i=!1){if((!e||e===Zl)&&(e=vt),Oi(e)){const r=Bt(e,t,!0);return s&&js(r,s),us>0&&!i&&Ae&&(r.shapeFlag&6?Ae[Ae.indexOf(e)]=r:Ae.push(r)),r.patchFlag=-2,r}if(Fr(e)&&(e=e.__vccOpts),t){t=Pr(t);let{class:r,style:c}=t;r&&!ce(r)&&(t.class=Pe(r)),se(c)&&($n(c)&&!F(c)&&(c=ve({},c)),t.style=En(c))}const l=ce(e)?1:Pi(e)?128:Nl(e)?64:se(e)?4:H(e)?2:0;return d(e,t,s,n,o,l,i,!0)}function Pr(e){return e?$n(e)||yi(e)?ve({},e):e:null}function Bt(e,t,s=!1,n=!1){const{props:o,ref:i,patchFlag:l,children:r,transition:c}=e,g=t?Or(o||{},t):o,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:g,key:g&&Ri(g),ref:t&&t.ref?s&&i?F(i)?i.concat(Os(t)):[i,Os(t)]:Os(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==re?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Bt(e.ssContent),ssFallback:e.ssFallback&&Bt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Dn(h,c.clone(h)),h}function $e(e=" ",t=0){return Oe(qs,null,e,t)}function Ar(e,t){const s=Oe(As,null,e);return s.staticCount=t,s}function K(e="",t=!1){return t?(P(),Er(vt,null,e)):Oe(vt,null,e)}function Ze(e){return e==null||typeof e=="boolean"?Oe(vt):F(e)?Oe(re,null,e.slice()):Oi(e)?ct(e):Oe(qs,null,String(e))}function ct(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Bt(e)}function js(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(F(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),js(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!yi(t)?t._ctx=je:o===3&&je&&(je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(H(t)){if(n&65){js(e,{default:t});return}t={default:t,_ctx:je},s=32}else t=String(t),n&64?(s=16,t=[$e(t)]):s=8;e.children=t,e.shapeFlag|=s}function Or(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=Pe([t.class,n.class]));else if(o==="style")t.style=En([t.style,n.style]);else if(Fs(o)){const i=t[o],l=n[o];l&&i!==l&&!(F(i)&&i.includes(l))?t[o]=i?[].concat(i,l):l:l==null&&i==null&&!Ns(o)&&(t[o]=l)}else o!==""&&(t[o]=n[o])}return t}function Je(e,t,s,n=null){We(e,t,7,[s,n])}const Rr=hi();let Ir=0;function Mr(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||Rr,i={uid:Ir++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new nl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:_i(n,o),emitsOptions:gi(n,o),emit:null,emitted:null,propsDefaults:ne,inheritAttrs:n.inheritAttrs,ctx:ne,data:ne,props:ne,attrs:ne,slots:ne,refs:ne,setupState:ne,setupContext:null,suspense:s,suspenseId:s?s.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 i.ctx={_:i},i.root=t?t.root:i,i.emit=ar.bind(null,i),e.ce&&e.ce(i),i}let _e=null;const Ur=()=>_e||je;let Ds,xn;{const e=Bs(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),i=>{o.length>1?o.forEach(l=>l(i)):o[0](i)}};Ds=t("__VUE_INSTANCE_SETTERS__",s=>_e=s),xn=t("__VUE_SSR_SETTERS__",s=>fs=s)}const gs=e=>{const t=_e;return Ds(e),e.scope.on(),()=>{e.scope.off(),Ds(t)}},fo=()=>{_e&&_e.scope.off(),Ds(null)};function Ii(e){return e.vnode.shapeFlag&4}let fs=!1;function $r(e,t=!1,s=!1){t&&xn(t);const{props:n,children:o}=e.vnode,i=Ii(e);hr(e,n,i,t),br(e,o,s||t);const l=i?jr(e,t):void 0;return t&&xn(!1),l}function jr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ql);const{setup:n}=s;if(n){st();const o=e.setupContext=n.length>1?Lr(e):null,i=gs(e),l=hs(n,e,0,[e.props,o]),r=Ro(l);if(nt(),i(),(r||e.sp)&&!os(e)&&ai(e),r){if(l.then(fo,fo),t)return l.then(c=>{po(e,c)}).catch(c=>{zs(c,e,0)});e.asyncDep=l}else po(e,l)}else Mi(e)}function po(e,t,s){H(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Qo(t)),Mi(e)}function Mi(e,t,s){const n=e.type;e.render||(e.render=n.render||et);{const o=gs(e);st();try{er(e)}finally{nt(),o()}}}const Dr={get(e,t){return ge(e,"get",""),e[t]}};function Lr(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Dr),slots:e.slots,emit:e.emit,expose:t}}function Js(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qo(Cl(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in is)return is[s](e)},has(t,s){return s in t||s in is}})):e.proxy}function Fr(e){return H(e)&&"__vccOpts"in e}const _n=(e,t)=>Pl(e,t,fs),Nr="3.5.39";/**
* @vue/runtime-dom v3.5.39
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let wn;const ho=typeof window<"u"&&window.trustedTypes;if(ho)try{wn=ho.createPolicy("vue",{createHTML:e=>e})}catch{}const Ui=wn?e=>wn.createHTML(e):e=>e,Vr="http://www.w3.org/2000/svg",Hr="http://www.w3.org/1998/Math/MathML",at=typeof document<"u"?document:null,go=at&&at.createElement("template"),Br={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?at.createElementNS(Vr,e):t==="mathml"?at.createElementNS(Hr,e):s?at.createElement(e,{is:s}):at.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>at.createTextNode(e),createComment:e=>at.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>at.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,i){const l=s?s.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===i||!(o=o.nextSibling)););else{go.innerHTML=Ui(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const r=go.content;if(n==="svg"||n==="mathml"){const c=r.firstChild;for(;c.firstChild;)r.appendChild(c.firstChild);r.removeChild(c)}t.insertBefore(r,s)}return[l?l.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Kr=Symbol("_vtc");function zr(e,t,s){const n=e[Kr];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Ls=Symbol("_vod"),$i=Symbol("_vsh"),Jt={name:"show",beforeMount(e,{value:t},{transition:s}){e[Ls]=e.style.display==="none"?"":e.style.display,s&&t?s.beforeEnter(e):Yt(e,t)},mounted(e,{value:t},{transition:s}){s&&t&&s.enter(e)},updated(e,{value:t,oldValue:s},{transition:n}){!t!=!s&&(n?t?(n.beforeEnter(e),Yt(e,!0),n.enter(e)):n.leave(e,()=>{Yt(e,!1)}):Yt(e,t))},beforeUnmount(e,{value:t}){Yt(e,t)}};function Yt(e,t){e.style.display=t?e[Ls]:"none",e[$i]=!t}const Wr=Symbol(""),Gr=/(?:^|;)\s*display\s*:/;function qr(e,t,s){const n=e.style,o=ce(s);let i=!1;if(s&&!o){if(t)if(ce(t))for(const l of t.split(";")){const r=l.slice(0,l.indexOf(":")).trim();s[r]==null&&Qt(n,r,"")}else for(const l in t)s[l]==null&&Qt(n,l,"");for(const l in s){l==="display"&&(i=!0);const r=s[l];r!=null?Yr(e,l,!ce(t)&&t?t[l]:void 0,r)||Qt(n,l,r):Qt(n,l,"")}}else if(o){if(t!==s){const l=n[Wr];l&&(s+=";"+l),n.cssText=s,i=Gr.test(s)}}else t&&e.removeAttribute("style");Ls in e&&(e[Ls]=i?n.display:"",e[$i]&&(n.display="none"))}const mo=/\s*!important$/;function Qt(e,t,s){if(F(s))s.forEach(n=>Qt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Jr(e,t);mo.test(s)?e.setProperty(yt(n),s.replace(mo,""),"important"):e[n]=s}}const vo=["Webkit","Moz","ms"],an={};function Jr(e,t){const s=an[t];if(s)return s;let n=Be(t);if(n!=="filter"&&n in e)return an[t]=n;n=Uo(n);for(let o=0;o<vo.length;o++){const i=vo[o]+n;if(i in e)return an[t]=i}return t}function Yr(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ce(n)&&s===n}const bo="http://www.w3.org/1999/xlink";function yo(e,t,s,n,o,i=tl(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(bo,t.slice(6,t.length)):e.setAttributeNS(bo,t,s):s==null||i&&!jo(s)?e.removeAttribute(t):e.setAttribute(t,i?"":tt(s)?String(s):s)}function xo(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Ui(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const r=i==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(r!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let l=!1;if(s===""||s==null){const r=typeof e[t];r==="boolean"?s=jo(s):s==null&&r==="string"?(s="",l=!0):r==="number"&&(s=0,l=!0)}try{e[t]=s}catch{}l&&e.removeAttribute(o||t)}function dt(e,t,s,n){e.addEventListener(t,s,n)}function Xr(e,t,s,n){e.removeEventListener(t,s,n)}const _o=Symbol("_vei");function Zr(e,t,s,n,o=null){const i=e[_o]||(e[_o]={}),l=i[t];if(n&&l)l.value=n;else{const[r,c]=ta(t);if(n){const g=i[t]=oa(n,o);dt(e,r,g,c)}else l&&(Xr(e,r,l,c),i[t]=void 0)}}const Qr=/(Once|Passive|Capture)$/,ea=/^on:?(?:Once|Passive|Capture)$/;function ta(e){let t,s;for(;(s=e.match(Qr))&&!ea.test(e);)t||(t={}),e=e.slice(0,e.length-s[1].length),t[s[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):yt(e.slice(2)),t]}let cn=0;const sa=Promise.resolve(),na=()=>cn||(sa.then(()=>cn=0),cn=Date.now());function oa(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;const o=s.value;if(F(o)){const i=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{i.call(n),n._stopped=!0};const l=o.slice(),r=[n];for(let c=0;c<l.length&&!n._stopped;c++){const g=l[c];g&&We(g,t,5,r)}}else We(o,t,5,[n])};return s.value=e,s.attached=na(),s}const wo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ia=(e,t,s,n,o,i)=>{const l=o==="svg";t==="class"?zr(e,n,l):t==="style"?qr(e,s,n):Fs(t)?Ns(t)||Zr(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):la(e,t,n,l))?(xo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&yo(e,t,n,l,i,t!=="value")):e._isVueCE&&(ra(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ce(n)))?xo(e,Be(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),yo(e,t,n,l))};function la(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&wo(t)&&H(s));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"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return wo(t)&&ce(s)?!1:t in e}function ra(e,t){const s=e._def.props;if(!s)return!1;const n=Be(t);return Array.isArray(s)?s.some(o=>Be(o)===n):Object.keys(s).some(o=>Be(o)===n)}const bt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return F(t)?s=>Ts(t,s):t};function aa(e){e.target.composing=!0}function Co(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Le=Symbol("_assign");function So(e,t,s){return t&&(e=e.trim()),s&&(e=Hs(e)),e}const ye={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[Le]=bt(o);const i=n||o.props&&o.props.type==="number";dt(e,t?"change":"input",l=>{l.target.composing||e[Le](So(e.value,s,i))}),(s||i)&&dt(e,"change",()=>{e.value=So(e.value,s,i)}),t||(dt(e,"compositionstart",aa),dt(e,"compositionend",Co),dt(e,"change",Co))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:i}},l){if(e[Le]=bt(l),e.composing)return;const r=(i||e.type==="number")&&!/^0\d/.test(e.value)?Hs(e.value):e.value,c=t??"";if(r===c)return;const g=e.getRootNode();(g instanceof Document||g instanceof ShadowRoot)&&g.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c)}},ji={deep:!0,created(e,t,s){e[Le]=bt(s),dt(e,"change",()=>{const n=e._modelValue,o=Kt(e),i=e.checked,l=e[Le];if(F(n)){const r=Tn(n,o),c=r!==-1;if(i&&!c)l(n.concat(o));else if(!i&&c){const g=[...n];g.splice(r,1),l(g)}}else if(zt(n)){const r=new Set(n);i?r.add(o):r.delete(o),l(r)}else l(Di(e,i))})},mounted:ko,beforeUpdate(e,t,s){e[Le]=bt(s),ko(e,t,s)}};function ko(e,{value:t,oldValue:s},n){e._modelValue=t;let o;if(F(t))o=Tn(t,n.props.value)>-1;else if(zt(t))o=t.has(n.props.value);else{if(t===s)return;o=mt(t,Di(e,!0))}e.checked!==o&&(e.checked=o)}const ca={created(e,{value:t},s){e.checked=mt(t,s.props.value),e[Le]=bt(s),dt(e,"change",()=>{e[Le](Kt(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[Le]=bt(n),t!==s&&(e.checked=mt(t,n.props.value))}},Dt={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const o=zt(t);dt(e,"change",()=>{const i=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>s?Hs(Kt(l)):Kt(l));e[Le](e.multiple?o?new Set(i):i:i[0]),e._assigning=!0,ti(()=>{e._assigning=!1})}),e[Le]=bt(n)},mounted(e,{value:t}){Eo(e,t)},beforeUpdate(e,t,s){e[Le]=bt(s)},updated(e,{value:t}){e._assigning||Eo(e,t)}};function Eo(e,t){const s=e.multiple,n=F(t);if(!(s&&!n&&!zt(t))){for(let o=0,i=e.options.length;o<i;o++){const l=e.options[o],r=Kt(l);if(s)if(n){const c=typeof r;c==="string"||c==="number"?l.selected=t.some(g=>String(g)===String(r)):l.selected=Tn(t,r)>-1}else l.selected=t.has(r);else if(mt(Kt(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Kt(e){return"_value"in e?e._value:e.value}function Di(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const ua={created(e,t,s){ks(e,t,s,null,"created")},mounted(e,t,s){ks(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){ks(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){ks(e,t,s,n,"updated")}};function fa(e,t){switch(e){case"SELECT":return Dt;case"TEXTAREA":return ye;default:switch(t){case"checkbox":return ji;case"radio":return ca;default:return ye}}}function ks(e,t,s,n,o){const l=fa(e.tagName,s.props&&s.props.type)[o];l&&l(e,t,s,n)}const da=["ctrl","shift","alt","meta"],pa={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)=>da.some(s=>e[`${s}Key`]&&!t.includes(s))},ha=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((o,...i)=>{for(let l=0;l<t.length;l++){const r=pa[t[l]];if(r&&r(o,t))return}return e(o,...i)}))},ga={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},To=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=(o=>{if(!("key"in o))return;const i=yt(o.key);if(t.some(l=>l===i||ga[l]===i))return e(o)}))},ma=ve({patchProp:ia},Br);let Po;function va(){return Po||(Po=xr(ma))}const ba=((...e)=>{const t=va().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=xa(n);if(!o)return;const i=t._component;!H(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const l=s(o,!1,ya(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t});function ya(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xa(e){return ce(e)?document.querySelector(e):e}const Li="pilotvault-theme";function _a(){try{return localStorage.getItem(Li)==="dark"?"dark":"light"}catch{return"light"}}const ds=L(_a());function Fi(e){ds.value=e,document.documentElement.setAttribute("data-theme",e);try{localStorage.setItem(Li,e)}catch{}}function Ao(){Fi(ds.value==="dark"?"light":"dark")}Fi(ds.value);const wa={class:"overflow-hidden rounded-lg border border-subtle bg-card shadow-xs"},Ca={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Sa={class:"text-base font-semibold text-primary"},ka={class:"pv-eyebrow"},Ea={class:"w-full text-left text-sm"},Ta={class:"border-t border-subtle px-5 py-2.5 font-mono text-xs whitespace-nowrap"},Pa={class:"text-primary"},Aa={class:"border-t border-subtle px-5 py-2.5 text-secondary"},un={__name:"EndpointTable",props:{title:String,auth:String,endpoints:Array},setup(e){const t={GET:"text-success",POST:"text-brand-text",PATCH:"text-warning",DELETE:"text-danger"};return(s,n)=>(P(),A("div",wa,[d("div",Ca,[d("div",Sa,O(e.title),1),d("span",ka,O(e.auth),1)]),d("table",Ea,[n[0]||(n[0]=d("thead",null,[d("tr",{class:"pv-eyebrow"},[d("th",{class:"px-5 py-2.5 font-medium"},"Endpoint"),d("th",{class:"px-5 py-2.5 font-medium"},"Description")])],-1)),d("tbody",null,[(P(!0),A(re,null,Ce(e.endpoints,o=>(P(),A("tr",{key:o.method+o.path,class:"transition-colors hover:bg-sunken"},[d("td",Ta,[d("span",{class:Pe(["font-semibold",t[o.method]])},O(o.method),3),d("span",Pa,O(o.path),1)]),d("td",Aa,O(o.desc),1)]))),128))])])]))}},Oa={class:"mx-auto flex max-w-5xl flex-col gap-6 px-6 pt-12 pb-16"},Ra={class:"flex items-center gap-3"},Ia={key:0,class:"pv-eyebrow hidden truncate sm:inline"},Ma=["title"],Ua={key:0,class:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},$a={key:1,class:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"},ja={key:0,class:"rounded-lg border border-subtle bg-card px-5 py-10 text-center shadow-sm"},Da={key:1,class:"mx-auto w-full max-w-sm rounded-lg border border-subtle bg-card shadow-sm"},La={class:"flex flex-col gap-1"},Fa={class:"flex flex-col gap-1"},Na={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},Va=["disabled"],Ha={class:"flex gap-1 self-start rounded-lg border border-subtle bg-card p-1 shadow-sm"},Ba=["onClick"],Ka={class:"flex flex-col gap-6"},za={class:"rounded-lg border border-subtle bg-card shadow-sm"},Wa={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ga={class:"pv-eyebrow"},qa={class:"min-w-0"},Ja={class:"text-sm font-semibold text-primary"},Ya={key:0,class:"truncate font-mono text-xs text-secondary"},Xa={class:"flex items-center justify-between gap-3 border-t border-subtle px-5 py-3.5"},Za={class:"font-mono text-xs text-secondary"},Qa={class:"flex flex-col gap-6"},ec={class:"rounded-lg border border-subtle bg-card shadow-sm"},tc={class:"flex flex-col gap-3 px-5 py-5"},sc={class:"flex flex-col gap-3 sm:flex-row"},nc={class:"flex flex-1 flex-col gap-1"},oc={class:"flex flex-1 flex-col gap-1"},ic={class:"flex flex-col gap-3 sm:flex-row"},lc={class:"flex flex-1 flex-col gap-1"},rc=["value"],ac={class:"flex flex-1 flex-col gap-1"},cc=["value"],uc={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},fc={key:1,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},dc=["disabled"],pc={class:"rounded-lg border border-subtle bg-card shadow-sm"},hc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},gc={class:"pv-eyebrow"},mc={class:"flex flex-col"},vc={key:0,class:"px-5 py-3 text-xs font-medium text-danger"},bc={key:1,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},yc={key:2,class:"px-5 py-6 text-sm text-secondary"},xc={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},_c={class:"min-w-0 flex-1"},wc={class:"flex flex-wrap items-center gap-2"},Cc={class:"truncate text-sm font-semibold text-primary"},Sc={key:0,class:"rounded-sm bg-brand/10 px-1.5 py-0.5 font-mono text-[10px] font-medium text-brand-text"},kc={key:1,class:"rounded-sm bg-warning-tint px-1.5 py-0.5 font-mono text-[10px] font-medium text-warning"},Ec={class:"mt-0.5 font-mono text-xs text-secondary"},Tc={class:"flex shrink-0 items-center gap-2"},Pc=["onClick"],Ac=["disabled","onClick"],Oc={key:0,class:"mt-3 flex flex-col gap-3 rounded-md border border-subtle bg-sunken px-4 py-4"},Rc={class:"flex flex-col gap-3 sm:flex-row"},Ic={class:"flex flex-1 flex-col gap-1"},Mc={class:"flex flex-1 flex-col gap-1"},Uc={class:"flex flex-col gap-3 sm:flex-row"},$c={class:"flex flex-1 flex-col gap-1"},jc=["disabled"],Dc=["value"],Lc={key:0,class:"text-[11px] text-muted"},Fc={class:"flex flex-1 flex-col gap-1"},Nc=["value"],Vc={class:"flex items-center gap-2"},Hc={class:"flex items-center gap-2"},Bc=["disabled","onClick"],Kc={class:"flex flex-col gap-6"},zc={class:"rounded-lg border border-subtle bg-card shadow-sm"},Wc={class:"flex flex-col gap-3 px-5 py-5"},Gc={class:"flex flex-col gap-2 sm:flex-row"},qc=["disabled"],Jc={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},Yc={key:1,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},Xc={class:"rounded-lg border border-subtle bg-card shadow-sm"},Zc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Qc={class:"pv-eyebrow"},eu={class:"flex flex-col"},tu={key:0,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},su={key:1,class:"px-5 py-6 text-sm text-secondary"},nu={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},ou={class:"min-w-0 flex-1"},iu={class:"truncate text-sm font-semibold text-primary"},lu={class:"mt-0.5 font-mono text-xs text-secondary"},ru={class:"flex shrink-0 items-center gap-2"},au=["onClick"],cu=["disabled","title","onClick"],uu={key:0,class:"mt-3 flex flex-col gap-2 rounded-md border border-subtle bg-sunken px-4 py-4 sm:flex-row sm:items-end"},fu={class:"flex flex-1 flex-col gap-1"},du=["onKeyup"],pu={class:"flex items-center gap-2"},hu=["disabled","onClick"],gu={class:"flex flex-col gap-6"},mu={class:"rounded-lg border border-subtle bg-card shadow-sm"},vu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},bu={class:"flex flex-col gap-3 px-5 py-5"},yu={class:"flex flex-col gap-1"},xu={class:"flex flex-col gap-1"},_u={class:"flex flex-col gap-1"},wu=["placeholder"],Cu={key:0,class:"font-mono text-[11px] text-muted"},Su={key:0},ku={key:1},Eu={key:1,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},Tu={key:2,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},Pu={class:"flex flex-wrap items-center gap-2"},Au=["disabled"],Ou=["disabled"],Ru={class:"flex flex-col gap-6"},Iu={class:"rounded-lg border border-subtle bg-card shadow-sm"},Mu={class:"flex flex-col"},Uu={key:0,class:"px-5 py-3 text-xs font-medium text-danger"},$u={key:1,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},ju={key:2,class:"px-5 py-6 text-sm text-secondary"},Du={key:3,class:"flex gap-1 overflow-x-auto overflow-y-hidden border-b border-subtle px-3 pt-1"},Lu=["onClick"],Fu={key:4,class:"px-5 py-6 text-sm text-secondary"},Nu={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},Vu={class:"min-w-0 flex-1"},Hu={class:"flex flex-wrap items-center gap-2"},Bu={class:"text-sm font-semibold text-primary"},Ku=["title"],zu={key:0},Wu={class:"mt-0.5 font-mono text-xs text-secondary"},Gu={key:0,class:"mt-0.5 text-[11px] text-secondary"},qu={key:1,class:"mt-2 flex flex-col gap-1.5"},Ju={class:"rounded-sm bg-sunken px-1.5 py-0.5 font-mono text-[10px] text-secondary"},Yu={key:0,class:"font-mono text-[10px] text-muted"},Xu={key:1,class:"w-full text-[11px] text-secondary sm:w-auto"},Zu={key:2,class:"mt-1 truncate font-mono text-[11px] text-muted"},Qu={class:"flex shrink-0 items-center gap-2"},ef=["disabled","onClick"],tf=["onClick"],sf=["disabled","onClick"],nf=["disabled","onClick"],of={key:0,class:"mt-3 flex flex-col gap-2 rounded-md border border-subtle bg-sunken px-4 py-4"},lf={class:"pv-eyebrow"},rf={key:0,class:"text-danger"},af=["onUpdate:modelValue"],cf=["value"],uf=["onUpdate:modelValue","type","placeholder"],ff={key:2,class:"text-[11px] text-muted"},df={class:"flex items-center gap-2"},pf=["disabled","onClick"],hf={class:"border-t border-subtle px-5 py-4"},gf={class:"flex flex-col gap-2 sm:flex-row"},mf=["disabled"],vf={key:0,class:"mt-2 text-xs font-medium text-danger"},Es="pv_panel_token",bf={__name:"App",setup(e){const t=L(localStorage.getItem(Es)||""),s=L(null),n=L(!1),o=L(!0),i=L({email:"",password:""}),l=L(""),r=L(!1),c=L("overview"),g=[{id:"overview",label:"Overview"},{id:"users",label:"Users"},{id:"organizations",label:"Organizations"},{id:"pocketbase",label:"PocketBase"},{id:"plugins",label:"Plugins"}];async function h(v){try{const u=await fetch("/api/me",{headers:{Authorization:v}});if(!u.ok)return!1;const f=await u.json();return f.role!=="superadmin"?!1:(s.value={id:f.id,email:f.email,role:f.role},!0)}catch{return!1}}async function y(v){t.value=v,localStorage.setItem(Es,v),n.value=!0,Gn(),ke(),it(),Mt(),ie()}async function I(){l.value="";const v=i.value.email.trim().toLowerCase();if(!v||!i.value.password){l.value="Enter your email and password.";return}r.value=!0;try{const u=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:v,password:i.value.password})}),f=await u.json().catch(()=>({}));if(!u.ok||!f.token){l.value="Invalid email or password.";return}if(!await h(f.token)){l.value="Access to this panel is restricted to superadmins.";return}i.value.password="",await y(f.token)}catch{l.value="Cannot reach the API server."}finally{r.value=!1}}function U(){qn(),localStorage.removeItem(Es),t.value="",s.value=null,n.value=!1}const q=L(null),$=L({url:"",adminEmail:"",adminPassword:""}),W=L(null),Y=L(""),V=L(""),X=L(!1),j=L(!1);function z(v){const u={Authorization:t.value};return v&&(u["Content-Type"]="application/json"),u}async function ke(){try{const v=await fetch("/api/admin/pb-config",{headers:z()});if(!v.ok)return;const u=await v.json();q.value=u,$.value={url:u.url||"",adminEmail:u.adminEmail||"",adminPassword:""},W.value=u.probe||null}catch{}}async function Re(){Y.value="",V.value="",j.value=!0;try{const v=await fetch("/api/admin/pb-config/test",{method:"POST",headers:z(!0),body:JSON.stringify($.value)});W.value=await v.json()}catch{V.value="Could not run the test."}finally{j.value=!1}}async function Ge(){var v;if(Y.value="",V.value="",!$.value.url.trim()){V.value="A PocketBase URL is required.";return}X.value=!0;try{const u=await fetch("/api/admin/pb-config",{method:"PUT",headers:z(!0),body:JSON.stringify($.value)}),f=await u.json().catch(()=>({}));if(!u.ok){V.value=f.error||"Could not save the connection.";return}q.value=f.config,W.value=((v=f.config)==null?void 0:v.probe)||null,$.value={url:f.config.url,adminEmail:f.config.adminEmail,adminPassword:""},Y.value=f.warning||"Connection saved."}catch{V.value="Could not reach the API server."}finally{X.value=!1}}const Ie=L([]),we=L(""),ue=L(""),qe=L(""),Fe=L({}),he=L(""),Ne=L({name:"",baseURL:"",provider:""}),ae=L(""),ee=L(!1),te=[{id:"apis-external",label:"APIs — External"},{id:"drives-external",label:"Drives — External"},{id:"drives-local",label:"Drives — Local"}],Ve=L("apis-external");function Rt(v){return v.category||"apis-external"}function ot(v){return Ie.value.filter(u=>Rt(u)===v)}const Ee=_n(()=>ot(Ve.value)),ms={builtin:"bg-success-tint text-success",external:"bg-warning-tint text-warning"},Ys={ok:"bg-success-tint text-success",degraded:"bg-warning-tint text-warning",down:"bg-danger-tint text-danger"};async function it(){we.value="";try{const v=await fetch("/api/admin/plugins",{headers:z()});if(!v.ok){we.value="Could not load plugins.";return}const u=await v.json();Ie.value=u.plugins||[];for(const f of Ie.value)f.enabled&&!f.health&&xt(f.name)}catch{we.value="Could not reach the API server."}}async function xt(v){try{const u=await fetch(`/api/admin/plugins/${encodeURIComponent(v)}/health`,{method:"POST",headers:z()}),f=await u.json().catch(()=>({}));if(u.ok&&f.health){const S=_t(v);S&&(S.health=f.health)}}catch{}}function _t(v){return Ie.value.find(u=>u.name===v)}async function Wt(v){he.value=v.name,ue.value="";try{const u=await fetch(`/api/admin/plugins/${encodeURIComponent(v.name)}`,{method:"PUT",headers:z(!0),body:JSON.stringify({enabled:!v.enabled})}),f=await u.json().catch(()=>({}));u.ok?f.warning&&(ue.value=`${v.name}: ${f.warning}`):ue.value=f.error||"Could not update the plugin.",await it()}finally{he.value=""}}function vs(v){qe.value=qe.value===v.name?"":v.name;const u={...v.config||{}};for(const f of v.configFields||[])(u[f.key]===void 0||u[f.key]==="")&&f.default&&(u[f.key]=f.default);Fe.value=u}async function wt(v){he.value=v.name,ue.value="";try{const u=await fetch(`/api/admin/plugins/${encodeURIComponent(v.name)}`,{method:"PUT",headers:z(!0),body:JSON.stringify({config:Fe.value})}),f=await u.json().catch(()=>({}));u.ok?(ue.value=f.warning?`${v.name}: ${f.warning}`:"Configuration saved.",qe.value=""):ue.value=f.error||"Could not save the configuration.",await it()}finally{he.value=""}}async function Vn(v){he.value=v.name,ue.value="";try{const u=await fetch(`/api/admin/plugins/${encodeURIComponent(v.name)}/health`,{method:"POST",headers:z()}),f=await u.json().catch(()=>({}));if(u.ok&&f.health){const S=_t(v.name);S&&(S.health=f.health)}else ue.value=f.error||"Health check failed."}finally{he.value=""}}async function a(v){if(v.kind==="external"){he.value=v.name;try{const u=await fetch(`/api/admin/plugins/${encodeURIComponent(v.name)}`,{method:"DELETE",headers:z()});if(!u.ok){const f=await u.json().catch(()=>({}));ue.value=f.error||"Could not remove the plugin."}await it()}finally{he.value=""}}}async function p(){if(ae.value="",!Ne.value.name.trim()||!Ne.value.baseURL.trim()){ae.value="Name and base URL are required.";return}ee.value=!0;try{const v=await fetch("/api/admin/plugins",{method:"POST",headers:z(!0),body:JSON.stringify(Ne.value)}),u=await v.json().catch(()=>({}));if(!v.ok){ae.value=u.error||"Could not register the plugin.";return}Ne.value={name:"",baseURL:"",provider:""},ue.value="External plugin registered.",await it()}catch{ae.value="Could not reach the API server."}finally{ee.value=!1}}const m=L([]),w=L([]),x=L(""),_=[{value:"user",label:"User"},{value:"admin",label:"Admin"},{value:"superadmin",label:"Superadmin"}],T={user:"User",admin:"Admin",superadmin:"Superadmin"},k={user:"bg-sunken text-secondary",admin:"bg-warning-tint text-warning",superadmin:"bg-success-tint text-success"},C=_n(()=>{const v={};for(const u of m.value)u.organization&&(v[u.organization]=(v[u.organization]||0)+1);return v});function b(v,u){if(!v)return u;if(v.error)return v.error;if(v.data&&typeof v.data=="object"){const f=[];for(const S in v.data)v.data[S]&&v.data[S].message&&f.push(`${S}: ${v.data[S].message}`);if(f.length)return f.join("; ")}return v.message||u}const R=L({email:"",password:"",role:"user",organization:""}),E=L(""),M=L(""),D=L(!1),N=L(""),B=L({}),G=L(""),J=L("");async function ie(){x.value="";try{const v=await fetch("/api/users",{headers:z()}),u=await v.json().catch(()=>({}));if(!v.ok){x.value=b(u,"Could not load users.");return}m.value=u.users||[]}catch{x.value="Could not reach the API server."}}async function Me(){E.value="",M.value="";const v=R.value.email.trim().toLowerCase();if(!v||!v.includes("@")){E.value="A valid email is required.";return}if(R.value.password.length<8){E.value="Password must be at least 8 characters.";return}D.value=!0;try{const u=await fetch("/api/users",{method:"POST",headers:z(!0),body:JSON.stringify({email:v,password:R.value.password,role:R.value.role,organization:R.value.organization})}),f=await u.json().catch(()=>({}));if(!u.ok){E.value=b(f,"Could not create the user.");return}R.value={email:"",password:"",role:"user",organization:""},M.value=`Created ${f.user?f.user.email:"user"}.`,await ie()}catch{E.value="Could not reach the API server."}finally{D.value=!1}}function Ue(v){J.value="",N.value=N.value===v.id?"":v.id,B.value={email:v.email,role:v.role,organization:v.organization||"",verified:!!v.verified,password:""}}async function Ct(v){J.value="",G.value=v.id;try{const u={},f=B.value;if(f.email.trim().toLowerCase()!==v.email&&(u.email=f.email.trim().toLowerCase()),f.role!==v.role&&(u.role=f.role),(f.organization||"")!==(v.organization||"")&&(u.organization=f.organization||""),f.verified!==!!v.verified&&(u.verified=f.verified),f.password&&(u.password=f.password),Object.keys(u).length===0){J.value="No changes to save.";return}const S=await fetch(`/api/users/${encodeURIComponent(v.id)}`,{method:"PATCH",headers:z(!0),body:JSON.stringify(u)}),He=await S.json().catch(()=>({}));if(!S.ok){J.value=b(He,"Could not update the user.");return}J.value=`Updated ${v.email}.`,N.value="",await ie()}catch{J.value="Could not reach the API server."}finally{G.value=""}}async function bs(v){if(v.id!==(s.value&&s.value.id)&&confirm(`Delete user ${v.email}? This cannot be undone.`)){J.value="",G.value=v.id;try{const u=await fetch(`/api/users/${encodeURIComponent(v.id)}`,{method:"DELETE",headers:z()}),f=await u.json().catch(()=>({}));if(!u.ok){J.value=b(f,"Could not delete the user.");return}J.value=`Deleted ${v.email}.`,N.value===v.id&&(N.value=""),await ie()}catch{J.value="Could not reach the API server."}finally{G.value=""}}}const fe=L(""),de=L(""),St=L(""),kt=L(!1),lt=L(""),ys=L(""),It=L(""),Te=L("");async function Mt(){try{const v=await fetch("/api/orgs",{headers:z()});if(!v.ok)return;const u=await v.json().catch(()=>({}));w.value=u.organizations||[]}catch{}}async function Hn(){de.value="",St.value="";const v=fe.value.trim();if(!v){de.value="An organization name is required.";return}kt.value=!0;try{const u=await fetch("/api/orgs",{method:"POST",headers:z(!0),body:JSON.stringify({name:v})}),f=await u.json().catch(()=>({}));if(!u.ok){de.value=b(f,"Could not create the organization.");return}fe.value="",St.value=`Created ${f.organization?f.organization.name:"organization"}.`,await Mt()}catch{de.value="Could not reach the API server."}finally{kt.value=!1}}function Ni(v){Te.value="",lt.value=lt.value===v.id?"":v.id,ys.value=v.name}async function Bn(v){Te.value="";const u=ys.value.trim();if(!u){Te.value="An organization name is required.";return}if(u===v.name){lt.value="";return}It.value=v.id;try{const f=await fetch(`/api/orgs/${encodeURIComponent(v.id)}`,{method:"PATCH",headers:z(!0),body:JSON.stringify({name:u})}),S=await f.json().catch(()=>({}));if(!f.ok){Te.value=b(S,"Could not rename the organization.");return}Te.value=`Renamed to ${u}.`,lt.value="",await Mt(),await ie()}catch{Te.value="Could not reach the API server."}finally{It.value=""}}async function Vi(v){const u=C.value[v.id]||0;if(u>0){Te.value=`${v.name} still has ${u} member${u===1?"":"s"}; reassign or remove them first.`;return}if(confirm(`Delete organization ${v.name}?`)){Te.value="",It.value=v.id;try{const f=await fetch(`/api/orgs/${encodeURIComponent(v.id)}`,{method:"DELETE",headers:z()}),S=await f.json().catch(()=>({}));if(!f.ok){Te.value=b(S,"Could not delete the organization.");return}Te.value=`Deleted ${v.name}.`,lt.value===v.id&&(lt.value=""),await Mt()}catch{Te.value="Could not reach the API server."}finally{It.value=""}}}const Xs=L(null),xs=L(null),Ut=L({apiServer:{status:"checking",detail:""},pocketBase:{status:"checking",detail:""},webApp:{status:"checking",detail:""}});let _s=null;const Hi=[{key:"apiServer",label:"API server"},{key:"pocketBase",label:"PocketBase"},{key:"webApp",label:"Web App"}],Kn={checking:{label:"checking",cls:"bg-sunken text-secondary"},ok:{label:"operational",cls:"bg-success-tint text-success"},down:{label:"unreachable",cls:"bg-danger-tint text-danger"},unreachable:{label:"unreachable",cls:"bg-danger-tint text-danger"}};function zn(v){const u=[];return v.httpStatus&&u.push("HTTP "+v.httpStatus),v.url&&u.push(v.url),typeof v.latencyMs=="number"&&u.push(v.latencyMs+"ms"),u.join(" · ")}async function Wn(){var v,u;try{const f=await fetch("/api/status");if(!f.ok)throw new Error("status "+f.status);const S=await f.json(),He=S.apiServer||{};xs.value=He.devices??0,Ut.value={apiServer:{status:"ok",detail:""},pocketBase:{status:((v=S.pocketBase)==null?void 0:v.status)==="ok"?"ok":"down",detail:zn(S.pocketBase||{})},webApp:{status:((u=S.webApp)==null?void 0:u.status)==="ok"?"ok":"down",detail:zn(S.webApp||{})}}}catch{xs.value=null,Ut.value={apiServer:{status:"unreachable",detail:""},pocketBase:{status:"unreachable",detail:""},webApp:{status:"unreachable",detail:""}}}Xs.value=new Date}function Gn(){Wn(),clearInterval(_s),_s=setInterval(Wn,1e4)}function qn(){clearInterval(_s),_s=null}fi(async()=>{t.value&&await h(t.value)?(n.value=!0,Gn(),ke(),it(),Mt(),ie()):t.value&&(localStorage.removeItem(Es),t.value=""),o.value=!1}),Ln(()=>qn());const Bi=[{method:"POST",path:"/api/auth/login",desc:"Exchange email + password for a session (via PocketBase)"},{method:"GET",path:"/api/auth/validate",desc:"Validate the current session token"},{method:"GET",path:"/api/me",desc:"Caller's id, email, role, and organization from their token"},{method:"GET",path:"/api/preferences",desc:"Read the caller's saved settings blob"},{method:"PUT",path:"/api/preferences",desc:"Persist the caller's settings onto their user record"},{method:"GET",path:"/api/devices",desc:"List connected devices and last-known state"},{method:"GET",path:"/api/devices/{id}/track",desc:"GPS track history for a device"},{method:"POST",path:"/api/devices/{id}/command",desc:"Send a command down to a device"},{method:"DELETE",path:"/api/devices/{id}",desc:"Forget a device's stored state"},{method:"GET",path:"/ws/ui",desc:"Live telemetry stream (WebSocket)"}],Ki=[{method:"GET",path:"/api/users",desc:"List users (admin: own org · superadmin: all)"},{method:"POST",path:"/api/users",desc:"Create a user {email, password, role, organization?}"},{method:"PATCH",path:"/api/users/{id}",desc:"Edit a user (role/org changes are scope-checked)"},{method:"DELETE",path:"/api/users/{id}",desc:"Delete a user (not self; admins in-org only)"},{method:"GET",path:"/api/orgs",desc:"List organizations (admin: own · superadmin: all)"},{method:"POST",path:"/api/orgs",desc:"Create an organization {name} (superadmin)"},{method:"PATCH",path:"/api/orgs/{id}",desc:"Rename an organization (superadmin)"},{method:"DELETE",path:"/api/orgs/{id}",desc:"Delete an empty organization (superadmin)"},{method:"GET",path:"/api/admin/pb-config",desc:"Read the PocketBase connection + live probe (superadmin)"},{method:"POST",path:"/api/admin/pb-config/test",desc:"Test a candidate connection without applying (superadmin)"},{method:"PUT",path:"/api/admin/pb-config",desc:"Update + persist the PocketBase connection (superadmin)"},{method:"GET",path:"/api/admin/plugins",desc:"List plugins + state + last health (superadmin)"},{method:"POST",path:"/api/admin/plugins",desc:"Register an external plugin {name, baseURL} (superadmin)"},{method:"PUT",path:"/api/admin/plugins/{name}",desc:"Enable/disable + configure a plugin (superadmin)"},{method:"DELETE",path:"/api/admin/plugins/{name}",desc:"Remove an external plugin (superadmin)"},{method:"POST",path:"/api/admin/plugins/{name}/health",desc:"Run a plugin health check (superadmin)"}],zi=[{method:"GET",path:"/ws/device?id={id}",desc:"Device telemetry uplink (WebSocket)"},{method:"POST",path:"/api/telemetry?id={id}",desc:"Push a single telemetry event over HTTP"},{method:"GET",path:"/healthz",desc:"Readiness probe"}];return(v,u)=>(P(),A("div",Oa,[d("div",Ra,[u[25]||(u[25]=Ar('<svg width="32" height="32" viewBox="0 0 48 48" fill="none" aria-hidden="true"><g stroke-width="4" stroke-linecap="round" stroke-linejoin="round"><polyline points="8,30 19,17 30,30" stroke="var(--brand)"></polyline><polyline points="18,33 29,20 40,33" stroke="currentColor"></polyline></g></svg><div class="leading-tight text-primary"><div class="font-display text-lg font-bold tracking-tight">PilotVault</div><span class="pv-eyebrow">API server</span></div><div class="flex-1"></div>',3)),n.value&&s.value?(P(),A("span",Ia,O(s.value.email),1)):K("",!0),n.value?(P(),A("button",{key:1,class:"pv-btn-sec pv-btn-sm",onClick:U},"Sign out")):K("",!0),d("button",{class:"pv-btn-sec pv-btn-sm",title:Xt(ds)==="dark"?"Switch to light theme":"Switch to dark theme",onClick:u[0]||(u[0]=(...f)=>Xt(Ao)&&Xt(Ao)(...f))},[Xt(ds)==="dark"?(P(),A("svg",Ua,[...u[22]||(u[22]=[d("circle",{cx:"12",cy:"12",r:"4"},null,-1),d("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41"},null,-1)])])):(P(),A("svg",$a,[...u[23]||(u[23]=[d("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])),u[24]||(u[24]=$e(" Theme ",-1))],8,Ma)]),o.value?(P(),A("div",ja,[...u[26]||(u[26]=[d("span",{class:"pv-eyebrow"},"Checking session…",-1)])])):n.value?(P(),A(re,{key:2},[d("div",Ha,[(P(),A(re,null,Ce(g,f=>d("button",{key:f.id,class:Pe(["rounded-md px-3.5 py-1.5 text-sm font-semibold transition",c.value===f.id?"bg-brand text-on-brand":"text-secondary hover:text-primary"]),onClick:S=>c.value=f.id},O(f.label),11,Ba)),64))]),le(d("div",Ka,[d("div",za,[d("div",Wa,[u[30]||(u[30]=d("div",{class:"text-base font-semibold text-primary"},"Status",-1)),d("span",Ga,O(Xs.value?"checked "+Xs.value.toLocaleTimeString():"—"),1)]),d("div",null,[(P(),A(re,null,Ce(Hi,f=>d("div",{key:f.key,class:"flex items-center justify-between gap-3 border-t border-subtle px-5 py-3.5 first:border-t-0"},[d("div",qa,[d("div",Ja,O(f.label),1),Ut.value[f.key].detail?(P(),A("div",Ya,O(Ut.value[f.key].detail),1)):K("",!0)]),d("span",{class:Pe(["inline-flex shrink-0 items-center gap-1.5 rounded-sm px-2.5 py-1 font-mono text-xs font-medium",Kn[Ut.value[f.key].status].cls])},[u[31]||(u[31]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),$e(" "+O(Kn[Ut.value[f.key].status].label),1)],2)])),64)),d("div",Xa,[u[32]||(u[32]=d("div",{class:"text-sm font-semibold text-primary"},"Devices",-1)),d("span",Za,O(xs.value===null?"—":xs.value+" online"),1)])])]),Oe(un,{title:"Client API",auth:"PocketBase session",endpoints:Bi}),Oe(un,{title:"Management API",auth:"Admin · superadmin",endpoints:Ki}),Oe(un,{title:"Device API",auth:"Device uplink",endpoints:zi})],512),[[Jt,c.value==="overview"]]),le(d("div",Qa,[d("div",ec,[u[38]||(u[38]=d("div",{class:"border-b border-subtle px-5 py-4"},[d("div",{class:"text-base font-semibold text-primary"},"Add user"),d("span",{class:"pv-eyebrow"},"Create an account")],-1)),d("div",tc,[d("div",sc,[d("label",nc,[u[33]||(u[33]=d("span",{class:"pv-eyebrow"},"Email",-1)),le(d("input",{"onUpdate:modelValue":u[3]||(u[3]=f=>R.value.email=f),type:"email",class:"pv-input",placeholder:"pilot@pilotvault.local",autocomplete:"off",spellcheck:"false"},null,512),[[ye,R.value.email]])]),d("label",oc,[u[34]||(u[34]=d("span",{class:"pv-eyebrow"},"Password",-1)),le(d("input",{"onUpdate:modelValue":u[4]||(u[4]=f=>R.value.password=f),type:"password",class:"pv-input",placeholder:"min. 8 characters",autocomplete:"new-password"},null,512),[[ye,R.value.password]])])]),d("div",ic,[d("label",lc,[u[35]||(u[35]=d("span",{class:"pv-eyebrow"},"Role",-1)),le(d("select",{"onUpdate:modelValue":u[5]||(u[5]=f=>R.value.role=f),class:"pv-input"},[(P(),A(re,null,Ce(_,f=>d("option",{key:f.value,value:f.value},O(f.label),9,rc)),64))],512),[[Dt,R.value.role]])]),d("label",ac,[u[37]||(u[37]=d("span",{class:"pv-eyebrow"},"Organization",-1)),le(d("select",{"onUpdate:modelValue":u[6]||(u[6]=f=>R.value.organization=f),class:"pv-input"},[u[36]||(u[36]=d("option",{value:""},"— none —",-1)),(P(!0),A(re,null,Ce(w.value,f=>(P(),A("option",{key:f.id,value:f.id},O(f.name),9,cc))),128))],512),[[Dt,R.value.organization]])])]),E.value?(P(),A("p",uc,O(E.value),1)):M.value?(P(),A("p",fc,O(M.value),1)):K("",!0),d("div",null,[d("button",{class:"pv-btn",disabled:D.value,onClick:Me},O(D.value?"Creating…":"Create user"),9,dc)])])]),d("div",pc,[d("div",hc,[d("div",null,[u[39]||(u[39]=d("div",{class:"text-base font-semibold text-primary"},"Users",-1)),d("span",gc,O(m.value.length)+" total",1)]),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:ie},"Refresh")]),d("div",mc,[x.value?(P(),A("p",vc,O(x.value),1)):K("",!0),J.value?(P(),A("p",bc,O(J.value),1)):K("",!0),!m.value.length&&!x.value?(P(),A("p",yc,"No users yet.")):K("",!0),(P(!0),A(re,null,Ce(m.value,f=>(P(),A("div",{key:f.id,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[d("div",xc,[d("div",_c,[d("div",wc,[d("span",Cc,O(f.email),1),d("span",{class:Pe(["rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium uppercase tracking-wider",k[f.role]])},O(T[f.role]||f.role),3),f.id===(s.value&&s.value.id)?(P(),A("span",Sc,"you")):K("",!0),f.verified?K("",!0):(P(),A("span",kc,"unverified"))]),d("div",Ec,O(f.organizationName||(f.organization?f.organization:"no organization")),1)]),d("div",Tc,[d("button",{class:"pv-btn-sec pv-btn-sm",onClick:S=>Ue(f)},O(N.value===f.id?"Close":"Edit"),9,Pc),f.id!==(s.value&&s.value.id)?(P(),A("button",{key:0,class:"pv-btn-sec pv-btn-sm !text-danger",disabled:G.value===f.id,onClick:S=>bs(f)}," Delete ",8,Ac)):K("",!0)])]),N.value===f.id?(P(),A("div",Oc,[d("div",Rc,[d("label",Ic,[u[40]||(u[40]=d("span",{class:"pv-eyebrow"},"Email",-1)),le(d("input",{"onUpdate:modelValue":u[7]||(u[7]=S=>B.value.email=S),type:"email",class:"pv-input",autocomplete:"off",spellcheck:"false"},null,512),[[ye,B.value.email]])]),d("label",Mc,[u[41]||(u[41]=d("span",{class:"pv-eyebrow"},"New password",-1)),le(d("input",{"onUpdate:modelValue":u[8]||(u[8]=S=>B.value.password=S),type:"password",class:"pv-input",placeholder:"leave blank to keep current",autocomplete:"new-password"},null,512),[[ye,B.value.password]])])]),d("div",Uc,[d("label",$c,[u[42]||(u[42]=d("span",{class:"pv-eyebrow"},"Role",-1)),le(d("select",{"onUpdate:modelValue":u[9]||(u[9]=S=>B.value.role=S),class:"pv-input",disabled:f.id===(s.value&&s.value.id)},[(P(),A(re,null,Ce(_,S=>d("option",{key:S.value,value:S.value},O(S.label),9,Dc)),64))],8,jc),[[Dt,B.value.role]]),f.id===(s.value&&s.value.id)?(P(),A("span",Lc,"You cannot change your own role.")):K("",!0)]),d("label",Fc,[u[44]||(u[44]=d("span",{class:"pv-eyebrow"},"Organization",-1)),le(d("select",{"onUpdate:modelValue":u[10]||(u[10]=S=>B.value.organization=S),class:"pv-input"},[u[43]||(u[43]=d("option",{value:""},"— none —",-1)),(P(!0),A(re,null,Ce(w.value,S=>(P(),A("option",{key:S.id,value:S.id},O(S.name),9,Nc))),128))],512),[[Dt,B.value.organization]])])]),d("label",Vc,[le(d("input",{"onUpdate:modelValue":u[11]||(u[11]=S=>B.value.verified=S),type:"checkbox",class:"h-4 w-4"},null,512),[[ji,B.value.verified]]),u[45]||(u[45]=d("span",{class:"text-sm text-primary"},"Verified",-1))]),d("div",Hc,[d("button",{class:"pv-btn pv-btn-sm",disabled:G.value===f.id,onClick:S=>Ct(f)},"Save changes",8,Bc),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:u[12]||(u[12]=S=>N.value="")},"Cancel")])])):K("",!0)]))),128))])])],512),[[Jt,c.value==="users"]]),le(d("div",Kc,[d("div",zc,[u[46]||(u[46]=d("div",{class:"border-b border-subtle px-5 py-4"},[d("div",{class:"text-base font-semibold text-primary"},"Add organization"),d("span",{class:"pv-eyebrow"},"Create a tenant")],-1)),d("div",Wc,[d("div",Gc,[le(d("input",{"onUpdate:modelValue":u[13]||(u[13]=f=>fe.value=f),class:"pv-input flex-1",placeholder:"Acme Aerial Ltd.",autocomplete:"off",spellcheck:"false",onKeyup:To(Hn,["enter"])},null,544),[[ye,fe.value]]),d("button",{class:"pv-btn",disabled:kt.value,onClick:Hn},O(kt.value?"Creating…":"Create"),9,qc)]),de.value?(P(),A("p",Jc,O(de.value),1)):St.value?(P(),A("p",Yc,O(St.value),1)):K("",!0)])]),d("div",Xc,[d("div",Zc,[d("div",null,[u[47]||(u[47]=d("div",{class:"text-base font-semibold text-primary"},"Organizations",-1)),d("span",Qc,O(w.value.length)+" total",1)]),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:Mt},"Refresh")]),d("div",eu,[Te.value?(P(),A("p",tu,O(Te.value),1)):K("",!0),w.value.length?K("",!0):(P(),A("p",su,"No organizations yet.")),(P(!0),A(re,null,Ce(w.value,f=>(P(),A("div",{key:f.id,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[d("div",nu,[d("div",ou,[d("div",iu,O(f.name),1),d("div",lu,O(C.value[f.id]||0)+" member"+O((C.value[f.id]||0)===1?"":"s"),1)]),d("div",ru,[d("button",{class:"pv-btn-sec pv-btn-sm",onClick:S=>Ni(f)},O(lt.value===f.id?"Close":"Rename"),9,au),d("button",{class:"pv-btn-sec pv-btn-sm !text-danger",disabled:It.value===f.id||(C.value[f.id]||0)>0,title:(C.value[f.id]||0)>0?"Reassign or remove members first":"Delete organization",onClick:S=>Vi(f)}," Delete ",8,cu)])]),lt.value===f.id?(P(),A("div",uu,[d("label",fu,[u[48]||(u[48]=d("span",{class:"pv-eyebrow"},"Name",-1)),le(d("input",{"onUpdate:modelValue":u[14]||(u[14]=S=>ys.value=S),class:"pv-input",autocomplete:"off",spellcheck:"false",onKeyup:To(S=>Bn(f),["enter"])},null,40,du),[[ye,ys.value]])]),d("div",pu,[d("button",{class:"pv-btn pv-btn-sm",disabled:It.value===f.id,onClick:S=>Bn(f)},"Save",8,hu),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:u[15]||(u[15]=S=>lt.value="")},"Cancel")])])):K("",!0)]))),128))])])],512),[[Jt,c.value==="organizations"]]),le(d("div",gu,[d("div",mu,[d("div",vu,[u[50]||(u[50]=d("div",null,[d("div",{class:"text-base font-semibold text-primary"},"PocketBase connection"),d("span",{class:"pv-eyebrow"},"Settings")],-1)),W.value?(P(),A("span",{key:0,class:Pe(["inline-flex shrink-0 items-center gap-1.5 rounded-sm px-2.5 py-1 font-mono text-xs font-medium",W.value.reachable?W.value.superuser?"bg-success-tint text-success":"bg-warning-tint text-warning":"bg-danger-tint text-danger"])},[u[49]||(u[49]=d("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),$e(" "+O(W.value.reachable?W.value.superuser?"connected":"reachable":"unreachable"),1)],2)):K("",!0)]),d("div",bu,[d("label",yu,[u[51]||(u[51]=d("span",{class:"pv-eyebrow"},"PocketBase URL",-1)),le(d("input",{"onUpdate:modelValue":u[16]||(u[16]=f=>$.value.url=f),class:"pv-input",placeholder:"http://10.2.1.10:8026",spellcheck:"false"},null,512),[[ye,$.value.url]])]),d("label",xu,[u[52]||(u[52]=d("span",{class:"pv-eyebrow"},"Service account email",-1)),le(d("input",{"onUpdate:modelValue":u[17]||(u[17]=f=>$.value.adminEmail=f),class:"pv-input",placeholder:"admin@pilotvault.local",autocomplete:"off",spellcheck:"false"},null,512),[[ye,$.value.adminEmail]])]),d("label",_u,[u[53]||(u[53]=d("span",{class:"pv-eyebrow"},"Service account password",-1)),le(d("input",{"onUpdate:modelValue":u[18]||(u[18]=f=>$.value.adminPassword=f),type:"password",class:"pv-input",autocomplete:"new-password",placeholder:q.value&&q.value.adminConfigured?"leave blank to keep current":"set a password"},null,8,wu),[[ye,$.value.adminPassword]])]),W.value?(P(),A("div",Cu,[$e(" health: "+O(W.value.reachable?"ok":"down"),1),W.value.latencyMs?(P(),A("span",Su," · "+O(W.value.latencyMs)+"ms",1)):K("",!0),$e(" · superuser auth: "+O(W.value.superuser?"ok":"—"),1),W.value.detail?(P(),A("span",ku," · "+O(W.value.detail),1)):K("",!0)])):K("",!0),V.value?(P(),A("p",Eu,O(V.value),1)):Y.value?(P(),A("p",Tu,O(Y.value),1)):K("",!0),d("div",Pu,[d("button",{class:"pv-btn",disabled:X.value,onClick:Ge},O(X.value?"Saving…":"Save connection"),9,Au),d("button",{class:"pv-btn-sec",disabled:j.value,onClick:Re},O(j.value?"Testing…":"Test connection"),9,Ou)]),u[54]||(u[54]=d("p",{class:"text-[11px] text-muted"}," The service account is used only for user & organization management. Changing the URL repoints the whole API Server at a new PocketBase and may sign you out. ",-1))])])],512),[[Jt,c.value==="pocketbase"]]),le(d("div",Ru,[d("div",Iu,[d("div",{class:"flex items-center justify-between border-b border-subtle px-5 py-4"},[u[55]||(u[55]=d("div",null,[d("div",{class:"text-base font-semibold text-primary"},"Plugins"),d("span",{class:"pv-eyebrow"},"External integrations")],-1)),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:it},"Refresh")]),d("div",Mu,[we.value?(P(),A("p",Uu,O(we.value),1)):K("",!0),ue.value?(P(),A("p",$u,O(ue.value),1)):K("",!0),!Ie.value.length&&!we.value?(P(),A("p",ju,"No plugins registered yet.")):K("",!0),Ie.value.length?(P(),A("div",Du,[(P(),A(re,null,Ce(te,f=>d("button",{key:f.id,class:Pe(["-mb-px whitespace-nowrap border-b-2 px-3 py-2 text-sm font-semibold transition",Ve.value===f.id?"border-brand text-primary":"border-transparent text-secondary hover:text-primary"]),onClick:S=>Ve.value=f.id},O(f.label),11,Lu)),64))])):K("",!0),Ie.value.length&&!Ee.value.length?(P(),A("p",Fu,"No plugins in this category.")):K("",!0),(P(!0),A(re,null,Ce(Ee.value,f=>(P(),A("div",{key:f.name,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[d("div",Nu,[d("div",Vu,[d("div",Hu,[d("span",Bu,O(f.name),1),d("span",{class:Pe(["rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium uppercase tracking-wider",ms[f.kind]])},O(f.kind),3),f.health?(P(),A("span",{key:0,class:Pe(["inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium",Ys[f.health.status]]),title:f.health.detail||""},[u[56]||(u[56]=d("span",{class:"h-1 w-1 rounded-full bg-current"},null,-1)),$e(O(f.health.status),1),f.health.latencyMs?(P(),A("span",zu," · "+O(f.health.latencyMs)+"ms",1)):K("",!0)],10,Ku)):K("",!0)]),d("div",Wu,O(f.provider)+" · v"+O(f.version)+" · "+O(f.authType),1),f.health&&f.health.detail?(P(),A("div",Gu,O(f.health.detail),1)):K("",!0),f.capabilities&&f.capabilities.length?(P(),A("div",qu,[u[57]||(u[57]=d("div",{class:"pv-eyebrow"},"Capabilities",-1)),(P(!0),A(re,null,Ce(f.capabilities,S=>(P(),A("div",{key:S.id,class:"flex flex-wrap items-baseline gap-x-2 gap-y-0.5"},[d("span",Ju,O(S.id),1),S.method||S.endpoint?(P(),A("span",Yu,O(S.method)+" "+O(S.endpoint),1)):K("",!0),S.description?(P(),A("span",Xu,O(S.description),1)):K("",!0)]))),128))])):K("",!0),f.baseURL?(P(),A("div",Zu,O(f.baseURL),1)):K("",!0)]),d("div",Qu,[d("button",{class:Pe(["pv-btn-sec pv-btn-sm",f.enabled?"!border-transparent !bg-success-tint !text-success":""]),disabled:he.value===f.name,onClick:S=>Wt(f)},[d("span",{class:Pe(["h-1.5 w-1.5 rounded-full",f.enabled?"bg-success":"bg-muted"])},null,2),$e(" "+O(f.enabled?"Enabled":"Disabled"),1)],10,ef),f.configFields&&f.configFields.length?(P(),A("button",{key:0,class:"pv-btn-sec pv-btn-sm",onClick:S=>vs(f)},"Configure",8,tf)):K("",!0),d("button",{class:"pv-btn-sec pv-btn-sm",disabled:he.value===f.name,onClick:S=>Vn(f)},"Check",8,sf),f.kind==="external"?(P(),A("button",{key:1,class:"pv-btn-sec pv-btn-sm !text-danger",disabled:he.value===f.name,onClick:S=>a(f)},"Remove",8,nf)):K("",!0)])]),qe.value===f.name?(P(),A("div",of,[(P(!0),A(re,null,Ce(f.configFields,S=>(P(),A("label",{key:S.key,class:"flex flex-col gap-1"},[d("span",lf,[$e(O(S.label),1),S.required?(P(),A("span",rf," *")):K("",!0)]),S.type==="select"?le((P(),A("select",{key:0,"onUpdate:modelValue":He=>Fe.value[S.key]=He,class:"pv-input"},[(P(!0),A(re,null,Ce(S.options,He=>(P(),A("option",{key:He.value,value:He.value},O(He.label),9,cf))),128))],8,af)),[[Dt,Fe.value[S.key]]]):le((P(),A("input",{key:1,"onUpdate:modelValue":He=>Fe.value[S.key]=He,type:S.secret||S.type==="password"?"password":S.type==="number"?"number":"text",class:"pv-input",autocomplete:"off",placeholder:S.help||""},null,8,uf)),[[ua,Fe.value[S.key]]]),S.help?(P(),A("span",ff,O(S.help),1)):K("",!0)]))),128)),d("div",df,[d("button",{class:"pv-btn pv-btn-sm",disabled:he.value===f.name,onClick:S=>wt(f)},"Save configuration",8,pf),d("button",{class:"pv-btn-sec pv-btn-sm",onClick:u[19]||(u[19]=S=>qe.value="")},"Cancel")])])):K("",!0)]))),128)),d("div",hf,[u[58]||(u[58]=d("div",{class:"pv-eyebrow mb-2"},"Register external plugin",-1)),d("div",gf,[le(d("input",{"onUpdate:modelValue":u[20]||(u[20]=f=>Ne.value.name=f),class:"pv-input sm:w-40",placeholder:"name",autocomplete:"off",spellcheck:"false"},null,512),[[ye,Ne.value.name]]),le(d("input",{"onUpdate:modelValue":u[21]||(u[21]=f=>Ne.value.baseURL=f),class:"pv-input flex-1",placeholder:"https://plugin.example.com",autocomplete:"off",spellcheck:"false"},null,512),[[ye,Ne.value.baseURL]]),d("button",{class:"pv-btn",disabled:ee.value,onClick:p},O(ee.value?"Adding…":"Add"),9,mf)]),ae.value?(P(),A("p",vf,O(ae.value),1)):K("",!0),u[59]||(u[59]=d("p",{class:"mt-2 text-[11px] text-muted"},[$e(" A remote service that answers "),d("span",{class:"font-mono"},"GET /health"),$e(" and "),d("span",{class:"font-mono"},"GET /manifest"),$e(" — added at runtime, no rebuild. ")],-1))])])])],512),[[Jt,c.value==="plugins"]])],64)):(P(),A("div",Da,[u[29]||(u[29]=d("div",{class:"border-b border-subtle px-5 py-4"},[d("div",{class:"text-base font-semibold text-primary"},"Sign in"),d("span",{class:"pv-eyebrow"},"Superadmin access only")],-1)),d("form",{class:"flex flex-col gap-3 px-5 py-5",onSubmit:ha(I,["prevent"])},[d("label",La,[u[27]||(u[27]=d("span",{class:"pv-eyebrow"},"Email",-1)),le(d("input",{"onUpdate:modelValue":u[1]||(u[1]=f=>i.value.email=f),type:"email",autocomplete:"username",class:"pv-input",placeholder:"superadmin@pilotvault.local"},null,512),[[ye,i.value.email]])]),d("label",Fa,[u[28]||(u[28]=d("span",{class:"pv-eyebrow"},"Password",-1)),le(d("input",{"onUpdate:modelValue":u[2]||(u[2]=f=>i.value.password=f),type:"password",autocomplete:"current-password",class:"pv-input",placeholder:"••••••••"},null,512),[[ye,i.value.password]])]),l.value?(P(),A("p",Na,O(l.value),1)):K("",!0),d("button",{type:"submit",class:"pv-btn mt-1",disabled:r.value},O(r.value?"Signing in…":"Sign in"),9,Va)],32)])),u[60]||(u[60]=d("p",{class:"text-center font-mono text-[11px] text-muted"}," PilotVault — live drone telemetry, command & control. ",-1))]))}};ba(bf).mount("#app");