Let the OpenSky health probe run over a chosen bounding box without touching the saved default, so its credit cost (which scales with area) can be checked cheaply. - Backend: the plugin health endpoint (panel Check) and the OpenSky health endpoint (Web App Test connection) accept an optional ?bbox=, validated with validBBox and applied to a transient probe instance; both BFF and API forward it. Saved config is untouched. - API panel: a "Probe area" picker beside each bbox-capable plugin's Check button — saved default, all countries (grouped by continent), or Custom. Adds a compact pv-input-sm style. - Web App: a "Test area" picker beside Test connection, using the full country list (new countryGroups() helper) plus Custom. This is where the probe is authenticated and the credit cost is shown. Builds pass across both Go modules and both frontends. Panel picker verified live (186 options, defaults to saved default). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
18 lines
122 KiB
JavaScript
18 lines
122 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"]'))s(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"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(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 s(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();/**
|
|
* @vue/shared v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/function Is(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const oe={},Gt=[],rt=()=>{},Bo=()=>!1,Yn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Zn=e=>e.startsWith("onUpdate:"),Se=Object.assign,Rs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},il=Object.prototype.hasOwnProperty,ee=(e,t)=>il.call(e,t),B=Array.isArray,Wt=e=>_n(e)==="[object Map]",Qt=e=>_n(e)==="[object Set]",oo=e=>_n(e)==="[object Date]",V=e=>typeof e=="function",ae=e=>typeof e=="string",at=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",$o=e=>(se(e)||V(e))&&V(e.then)&&V(e.catch),jo=Object.prototype.toString,_n=e=>jo.call(e),ll=e=>_n(e).slice(8,-1),Vo=e=>_n(e)==="[object Object]",Fs=e=>ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,an=Is(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Xn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},rl=/-\w/g,Je=Xn(e=>e.replace(rl,t=>t.slice(1).toUpperCase())),al=/\B([A-Z])/g,At=Xn(e=>e.replace(al,"-$1").toLowerCase()),Ho=Xn(e=>e.charAt(0).toUpperCase()+e.slice(1)),cs=Xn(e=>e?`on${Ho(e)}`:""),lt=(e,t)=>!Object.is(e,t),Dn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Ko=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Qn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let io;const es=()=>io||(io=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ns(e){if(B(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=ae(s)?fl(s):Ns(s);if(o)for(const i in o)t[i]=o[i]}return t}else if(ae(e)||se(e))return e}const cl=/;(?![^(]*\))/g,ul=/:([^]+)/,dl=/\/\*[^]*?\*\//g;function fl(e){const t={};return e.replace(dl,"").split(cl).forEach(n=>{if(n){const s=n.split(ul);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Fe(e){let t="";if(ae(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){const s=Fe(e[n]);s&&(t+=s+" ")}else if(se(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const pl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",hl=Is(pl);function zo(e){return!!e||e===""}function bl(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=_t(e[s],t[s]);return n}function _t(e,t){if(e===t)return!0;let n=oo(e),s=oo(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=at(e),s=at(t),n||s)return e===t;if(n=B(e),s=B(t),n||s)return n&&s?bl(e,t):!1;if(n=se(e),s=se(t),n||s){if(!n||!s)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),u=t.hasOwnProperty(l);if(r&&!u||!r&&u||!_t(e[l],t[l]))return!1}}return String(e)===String(t)}function Ls(e,t){return e.findIndex(n=>_t(n,t))}const Go=e=>!!(e&&e.__v_isRef===!0),O=e=>ae(e)?e:e==null?"":B(e)||se(e)&&(e.toString===jo||!V(e.toString))?Go(e)?O(e.value):JSON.stringify(e,Wo,2):String(e),Wo=(e,t)=>Go(t)?Wo(e,t.value):Wt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],i)=>(n[us(s,i)+" =>"]=o,n),{})}:Qt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>us(n))}:at(t)?us(t):se(t)&&!B(t)&&!Vo(t)?String(t):t,us=(e,t="")=>{var n;return at(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
* @vue/reactivity v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let ge;class ml{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&&ge&&(ge.active?(this.parent=ge,this.index=(ge.scopes||(ge.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].pause();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=ge;try{return ge=this,t()}finally{ge=n}}}on(){++this._on===1&&(this.prevScope=ge,ge=this)}off(){if(this._on>0&&--this._on===0){if(ge===this)ge=this.prevScope;else{let t=ge;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 n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].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 gl(){return ge}let le;const ds=new WeakSet;class Jo{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,ge&&(ge.active?ge.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,ds.has(this)&&(ds.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Yo(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,lo(this),Zo(this);const t=le,n=qe;le=this,qe=!0;try{return this.fn()}finally{Xo(this),le=t,qe=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)$s(t);this.deps=this.depsTail=void 0,lo(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?ds.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){_s(this)&&this.run()}get dirty(){return _s(this)}}let qo=0,cn,un;function Yo(e,t=!1){if(e.flags|=8,t){e.next=un,un=e;return}e.next=cn,cn=e}function Ds(){qo++}function Bs(){if(--qo>0)return;if(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;cn;){let t=cn;for(cn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Zo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xo(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),$s(s),vl(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function _s(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===bn)||(e.globalVersion=bn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!_s(e))))return;e.flags|=2;const t=e.dep,n=le,s=qe;le=e,qe=!0;try{Zo(e);const o=e.fn(e._value);(t.version===0||lt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{le=n,qe=s,Xo(e),e.flags&=-3}}function $s(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)$s(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function vl(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let qe=!0;const ei=[];function ct(){ei.push(qe),qe=!1}function ut(){const e=ei.pop();qe=e===void 0?!0:e}function lo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=le;le=void 0;try{t()}finally{le=n}}}let bn=0;class xl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class js{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(!le||!qe||le===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==le)n=this.activeLink=new xl(le,this),le.deps?(n.prevDep=le.depsTail,le.depsTail.nextDep=n,le.depsTail=n):le.deps=le.depsTail=n,ti(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=le.depsTail,n.nextDep=void 0,le.depsTail.nextDep=n,le.depsTail=n,le.deps===n&&(le.deps=s)}return n}trigger(t){this.version++,bn++,this.notify(t)}notify(t){Ds();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Bs()}}}function ti(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)ti(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const ws=new WeakMap,It=Symbol(""),Ss=Symbol(""),mn=Symbol("");function _e(e,t,n){if(qe&&le){let s=ws.get(e);s||ws.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new js),o.map=s,o.key=n),o.track()}}function bt(e,t,n,s,o,i){const l=ws.get(e);if(!l){bn++;return}const r=u=>{u&&u.trigger()};if(Ds(),t==="clear")l.forEach(r);else{const u=B(e),m=u&&Fs(n);if(u&&n==="length"){const h=Number(s);l.forEach((y,U)=>{(U==="length"||U===mn||!at(U)&&U>=h)&&r(y)})}else switch((n!==void 0||l.has(void 0))&&r(l.get(n)),m&&r(l.get(mn)),t){case"add":u?m&&r(l.get("length")):(r(l.get(It)),Wt(e)&&r(l.get(Ss)));break;case"delete":u||(r(l.get(It)),Wt(e)&&r(l.get(Ss)));break;case"set":Wt(e)&&r(l.get(It));break}}Bs()}function Ht(e){const t=Q(e);return t===e?t:(_e(t,"iterate",mn),ze(e)?t:t.map(Ye))}function ts(e){return _e(e=Q(e),"iterate",mn),e}function ot(e,t){return vt(e)?Yt(Rt(e)?Ye(t):t):Ye(t)}const yl={__proto__:null,[Symbol.iterator](){return fs(this,Symbol.iterator,e=>ot(this,e))},concat(...e){return Ht(this).concat(...e.map(t=>B(t)?Ht(t):t))},entries(){return fs(this,"entries",e=>(e[1]=ot(this,e[1]),e))},every(e,t){return ft(this,"every",e,t,void 0,arguments)},filter(e,t){return ft(this,"filter",e,t,n=>n.map(s=>ot(this,s)),arguments)},find(e,t){return ft(this,"find",e,t,n=>ot(this,n),arguments)},findIndex(e,t){return ft(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ft(this,"findLast",e,t,n=>ot(this,n),arguments)},findLastIndex(e,t){return ft(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ft(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Ht(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return ft(this,"map",e,t,void 0,arguments)},pop(){return en(this,"pop")},push(...e){return en(this,"push",e)},reduce(e,...t){return ro(this,"reduce",e,t)},reduceRight(e,...t){return ro(this,"reduceRight",e,t)},shift(){return en(this,"shift")},some(e,t){return ft(this,"some",e,t,void 0,arguments)},splice(...e){return en(this,"splice",e)},toReversed(){return Ht(this).toReversed()},toSorted(e){return Ht(this).toSorted(e)},toSpliced(...e){return Ht(this).toSpliced(...e)},unshift(...e){return en(this,"unshift",e)},values(){return fs(this,"values",e=>ot(this,e))}};function fs(e,t,n){const s=ts(e),o=s[t]();return s!==e&&!ze(e)&&(o._next=o.next,o.next=()=>{const i=o._next();return i.done||(i.value=n(i.value)),i}),o}const _l=Array.prototype;function ft(e,t,n,s,o,i){const l=ts(e),r=l!==e&&!ze(e),u=l[t];if(u!==_l[t]){const y=u.apply(e,i);return r?Ye(y):y}let m=n;l!==e&&(r?m=function(y,U){return n.call(this,ot(e,y),U,e)}:n.length>2&&(m=function(y,U){return n.call(this,y,U,e)}));const h=u.call(l,m,s);return r&&o?o(h):h}function ro(e,t,n,s){const o=ts(e),i=o!==e&&!ze(e);let l=n,r=!1;o!==e&&(i?(r=s.length===0,l=function(m,h,y){return r&&(r=!1,m=ot(e,m)),n.call(this,m,ot(e,h),y,e)}):n.length>3&&(l=function(m,h,y){return n.call(this,m,h,y,e)}));const u=o[t](l,...s);return r?ot(e,u):u}function ps(e,t,n){const s=Q(e);_e(s,"iterate",mn);const o=s[t](...n);return(o===-1||o===!1)&&zs(n[0])?(n[0]=Q(n[0]),s[t](...n)):o}function en(e,t,n=[]){ct(),Ds();const s=Q(e)[t].apply(e,n);return Bs(),ut(),s}const wl=Is("__proto__,__v_isRef,__isVue"),ni=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(at));function Sl(e){at(e)||(e=String(e));const t=Q(this);return _e(t,"has",e),t.hasOwnProperty(e)}class si{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(o?i?Il:ri:i?li:ii).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const l=B(t);if(!o){let u;if(l&&(u=yl[n]))return u;if(n==="hasOwnProperty")return Sl}const r=Reflect.get(t,n,we(t)?t:s);if((at(n)?ni.has(n):wl(n))||(o||_e(t,"get",n),i))return r;if(we(r)){const u=l&&Fs(n)?r:r.value;return o&&se(u)?Cs(u):u}return se(r)?o?Cs(r):Hs(r):r}}class oi extends si{constructor(t=!1){super(!1,t)}set(t,n,s,o){let i=t[n];const l=B(t)&&Fs(n);if(!this._isShallow){const m=vt(i);if(!ze(s)&&!vt(s)&&(i=Q(i),s=Q(s)),!l&&we(i)&&!we(s))return m||(i.value=s),!0}const r=l?Number(n)<t.length:ee(t,n),u=Reflect.set(t,n,s,we(t)?t:o);return t===Q(o)&&u&&(r?lt(s,i)&&bt(t,"set",n,s):bt(t,"add",n,s)),u}deleteProperty(t,n){const s=ee(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&bt(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!at(n)||!ni.has(n))&&_e(t,"has",n),s}ownKeys(t){return _e(t,"iterate",B(t)?"length":It),Reflect.ownKeys(t)}}class Al extends si{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Cl=new oi,El=new Al,kl=new oi(!0);const As=e=>e,In=e=>Reflect.getPrototypeOf(e);function Tl(e,t,n){return function(...s){const o=this.__v_raw,i=Q(o),l=Wt(i),r=e==="entries"||e===Symbol.iterator&&l,u=e==="keys"&&l,m=o[e](...s),h=n?As:t?Yt:Ye;return!t&&_e(i,"iterate",u?Ss:It),Se(Object.create(m),{next(){const{value:y,done:U}=m.next();return U?{value:y,done:U}:{value:r?[h(y[0]),h(y[1])]:h(y),done:U}}})}}function Rn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Pl(e,t){const n={get(o){const i=this.__v_raw,l=Q(i),r=Q(o);e||(lt(o,r)&&_e(l,"get",o),_e(l,"get",r));const{has:u}=In(l),m=t?As:e?Yt:Ye;if(u.call(l,o))return m(i.get(o));if(u.call(l,r))return m(i.get(r));i!==l&&i.get(o)},get size(){const o=this.__v_raw;return!e&&_e(Q(o),"iterate",It),o.size},has(o){const i=this.__v_raw,l=Q(i),r=Q(o);return e||(lt(o,r)&&_e(l,"has",o),_e(l,"has",r)),o===r?i.has(o):i.has(o)||i.has(r)},forEach(o,i){const l=this,r=l.__v_raw,u=Q(r),m=t?As:e?Yt:Ye;return!e&&_e(u,"iterate",It),r.forEach((h,y)=>o.call(i,m(h),m(y),l))}};return Se(n,e?{add:Rn("add"),set:Rn("set"),delete:Rn("delete"),clear:Rn("clear")}:{add(o){const i=Q(this),l=In(i),r=Q(o),u=!t&&!ze(o)&&!vt(o)?r:o;return l.has.call(i,u)||lt(o,u)&&l.has.call(i,o)||lt(r,u)&&l.has.call(i,r)||(i.add(u),bt(i,"add",u,u)),this},set(o,i){!t&&!ze(i)&&!vt(i)&&(i=Q(i));const l=Q(this),{has:r,get:u}=In(l);let m=r.call(l,o);m||(o=Q(o),m=r.call(l,o));const h=u.call(l,o);return l.set(o,i),m?lt(i,h)&&bt(l,"set",o,i):bt(l,"add",o,i),this},delete(o){const i=Q(this),{has:l,get:r}=In(i);let u=l.call(i,o);u||(o=Q(o),u=l.call(i,o)),r&&r.call(i,o);const m=i.delete(o);return u&&bt(i,"delete",o,void 0),m},clear(){const o=Q(this),i=o.size!==0,l=o.clear();return i&&bt(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Tl(o,e,t)}),n}function Vs(e,t){const n=Pl(e,t);return(s,o,i)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ee(n,o)&&o in s?n:s,o,i)}const Ol={get:Vs(!1,!1)},Ul={get:Vs(!1,!0)},Ml={get:Vs(!0,!1)};const ii=new WeakMap,li=new WeakMap,ri=new WeakMap,Il=new WeakMap;function Rl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Hs(e){return vt(e)?e:Ks(e,!1,Cl,Ol,ii)}function Fl(e){return Ks(e,!1,kl,Ul,li)}function Cs(e){return Ks(e,!0,El,Ml,ri)}function Ks(e,t,n,s,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=Rl(ll(e));if(l===0)return e;const r=new Proxy(e,l===2?s:n);return o.set(e,r),r}function Rt(e){return vt(e)?Rt(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function ze(e){return!!(e&&e.__v_isShallow)}function zs(e){return e?!!e.__v_raw:!1}function Q(e){const t=e&&e.__v_raw;return t?Q(t):e}function Nl(e){return!ee(e,"__v_skip")&&Object.isExtensible(e)&&Ko(e,"__v_skip",!0),e}const Ye=e=>se(e)?Hs(e):e,Yt=e=>se(e)?Cs(e):e;function we(e){return e?e.__v_isRef===!0:!1}function L(e){return Ll(e,!1)}function Ll(e,t){return we(e)?e:new Dl(e,t)}class Dl{constructor(t,n){this.dep=new js,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Q(t),this._value=n?t:Ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ze(t)||vt(t);t=s?t:Q(t),lt(t,n)&&(this._rawValue=t,this._value=s?t:Ye(t),this.dep.trigger())}}function on(e){return we(e)?e.value:e}const Bl={get:(e,t,n)=>t==="__v_raw"?e:on(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return we(o)&&!we(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function ai(e){return Rt(e)?e:new Proxy(e,Bl)}class $l{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new js(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&le!==this)return Yo(this,!0),!0}get value(){const t=this.dep.track();return Qo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function jl(e,t,n=!1){let s,o;return V(e)?s=e:(s=e.get,o=e.set),new $l(s,o,n)}const Fn={},Vn=new WeakMap;let Mt;function Vl(e,t=!1,n=Mt){if(n){let s=Vn.get(n);s||Vn.set(n,s=[]),s.push(e)}}function Hl(e,t,n=oe){const{immediate:s,deep:o,once:i,scheduler:l,augmentJob:r,call:u}=n,m=N=>o?N:ze(N)||o===!1||o===0?mt(N,1):mt(N);let h,y,U,M,J=!1,I=!1;if(we(e)?(y=()=>e.value,J=ze(e)):Rt(e)?(y=()=>m(e),J=!0):B(e)?(I=!0,J=e.some(N=>Rt(N)||ze(N)),y=()=>e.map(N=>{if(we(N))return N.value;if(Rt(N))return m(N);if(V(N))return u?u(N,2):N()})):V(e)?t?y=u?()=>u(e,2):e:y=()=>{if(U){ct();try{U()}finally{ut()}}const N=Mt;Mt=h;try{return u?u(e,3,[M]):e(M)}finally{Mt=N}}:y=rt,t&&o){const N=y,K=o===!0?1/0:o;y=()=>mt(N(),K)}const z=gl(),Y=()=>{h.stop(),z&&z.active&&Rs(z.effects,h)};if(i&&t){const N=t;t=(...K)=>{const Ue=N(...K);return Y(),Ue}}let j=I?new Array(e.length).fill(Fn):Fn;const Z=N=>{if(!(!(h.flags&1)||!h.dirty&&!N))if(t){const K=h.run();if(N||o||J||(I?K.some((Ue,De)=>lt(Ue,j[De])):lt(K,j))){U&&U();const Ue=Mt;Mt=h;try{const De=[K,j===Fn?void 0:I&&j[0]===Fn?[]:j,M];j=K,u?u(t,3,De):t(...De)}finally{Mt=Ue}}}else h.run()};return r&&r(Z),h=new Jo(y),h.scheduler=l?()=>l(Z,!1):Z,M=N=>Vl(N,!1,h),U=h.onStop=()=>{const N=Vn.get(h);if(N){if(u)u(N,4);else for(const K of N)K();Vn.delete(h)}},t?s?Z(!0):j=h.run():l?l(Z.bind(null,!0),!0):h.run(),Y.pause=h.pause.bind(h),Y.resume=h.resume.bind(h),Y.stop=Y,Y}function mt(e,t=1/0,n){if(t<=0||!se(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,we(e))mt(e.value,t,n);else if(B(e))for(let s=0;s<e.length;s++)mt(e[s],t,n);else if(Qt(e)||Wt(e))e.forEach(s=>{mt(s,t,n)});else if(Vo(e)){for(const s in e)mt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&mt(e[s],t,n)}return e}/**
|
|
* @vue/runtime-core v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/function wn(e,t,n,s){try{return s?e(...s):e()}catch(o){ns(o,t,n)}}function Ze(e,t,n,s){if(V(e)){const o=wn(e,t,n,s);return o&&$o(o)&&o.catch(i=>{ns(i,t,n)}),o}if(B(e)){const o=[];for(let i=0;i<e.length;i++)o.push(Ze(e[i],t,n,s));return o}}function ns(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||oe;if(t){let r=t.parent;const u=t.proxy,m=`https://vuejs.org/error-reference/#runtime-${n}`;for(;r;){const h=r.ec;if(h){for(let y=0;y<h.length;y++)if(h[y](e,u,m)===!1)return}r=r.parent}if(i){ct(),wn(i,null,10,[e,u,m]),ut();return}}Kl(e,n,o,s,l)}function Kl(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const ke=[];let st=-1;const Jt=[];let yt=null,Kt=0;const ci=Promise.resolve();let Hn=null;function ui(e){const t=Hn||ci;return e?t.then(this?e.bind(this):e):t}function zl(e){let t=st+1,n=ke.length;for(;t<n;){const s=t+n>>>1,o=ke[s],i=gn(o);i<e||i===e&&o.flags&2?t=s+1:n=s}return t}function Gs(e){if(!(e.flags&1)){const t=gn(e),n=ke[ke.length-1];!n||!(e.flags&2)&&t>=gn(n)?ke.push(e):ke.splice(zl(t),0,e),e.flags|=1,di()}}function di(){Hn||(Hn=ci.then(pi))}function Gl(e){B(e)?Jt.push(...e):yt&&e.id===-1?yt.splice(Kt+1,0,e):e.flags&1||(Jt.push(e),e.flags|=1),di()}function ao(e,t,n=st+1){for(;n<ke.length;n++){const s=ke[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;ke.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function fi(e){if(Jt.length){const t=[...new Set(Jt)].sort((n,s)=>gn(n)-gn(s));if(Jt.length=0,yt){yt.push(...t);return}for(yt=t,Kt=0;Kt<yt.length;Kt++){const n=yt[Kt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}yt=null,Kt=0}}const gn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function pi(e){try{for(st=0;st<ke.length;st++){const t=ke[st];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),wn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;st<ke.length;st++){const t=ke[st];t&&(t.flags&=-2)}st=-1,ke.length=0,fi(),Hn=null,(ke.length||Jt.length)&&pi()}}let Ke=null,hi=null;function Kn(e){const t=Ke;return Ke=e,hi=e&&e.type.__scopeId||null,t}function Wl(e,t=Ke,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&yo(-1);const i=Kn(t);let l;try{l=e(...o)}finally{Kn(i),s._d&&yo(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function ie(e,t){if(Ke===null)return e;const n=ls(Ke),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[i,l,r,u=oe]=t[o];i&&(V(i)&&(i={mounted:i,updated:i}),i.deep&&mt(l),s.push({dir:i,instance:n,value:l,oldValue:void 0,arg:r,modifiers:u}))}return e}function Ot(e,t,n,s){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 u=r.dir[s];u&&(ct(),Ze(u,n,8,[e.el,r,e,t]),ut())}}function Jl(e,t){if(Te){let n=Te.provides;const s=Te.parent&&Te.parent.provides;s===n&&(n=Te.provides=Object.create(s)),n[e]=t}}function Bn(e,t,n=!1){const s=Wr();if(s||qt){let o=qt?qt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return n&&V(t)?t.call(s&&s.proxy):t}}const ql=Symbol.for("v-scx"),Yl=()=>Bn(ql);function hs(e,t,n){return bi(e,t,n)}function bi(e,t,n=oe){const{immediate:s,deep:o,flush:i,once:l}=n,r=Se({},n),u=t&&s||!t&&i!=="post";let m;if(xn){if(i==="sync"){const M=Yl();m=M.__watcherHandles||(M.__watcherHandles=[])}else if(!u){const M=()=>{};return M.stop=rt,M.resume=rt,M.pause=rt,M}}const h=Te;r.call=(M,J,I)=>Ze(M,h,J,I);let y=!1;i==="post"?r.scheduler=M=>{Oe(M,h&&h.suspense)}:i!=="sync"&&(y=!0,r.scheduler=(M,J)=>{J?M():Gs(M)}),r.augmentJob=M=>{t&&(M.flags|=4),y&&(M.flags|=2,h&&(M.id=h.uid,M.i=h))};const U=Hl(e,t,r);return xn&&(m?m.push(U):u&&U()),U}function Zl(e,t,n){const s=this.proxy,o=ae(e)?e.includes(".")?mi(s,e):()=>s[e]:e.bind(s,s);let i;V(t)?i=t:(i=t.handler,n=t);const l=Sn(this),r=bi(o,i.bind(s),n);return l(),r}function mi(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o<n.length&&s;o++)s=s[n[o]];return s}}const Xl=Symbol("_vte"),Ql=e=>e.__isTeleport,bs=Symbol("_leaveCb");function Ws(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ws(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 gi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function co(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const zn=new WeakMap;function dn(e,t,n,s,o=!1){if(B(e)){e.forEach((I,z)=>dn(I,t&&(B(t)?t[z]:t),n,s,o));return}if(fn(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&dn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?ls(s.component):s.el,l=o?null:i,{i:r,r:u}=e,m=t&&t.r,h=r.refs===oe?r.refs={}:r.refs,y=r.setupState,U=Q(y),M=y===oe?Bo:I=>co(h,I)?!1:ee(U,I),J=(I,z)=>!(z&&co(h,z));if(m!=null&&m!==u){if(uo(t),ae(m))h[m]=null,M(m)&&(y[m]=null);else if(we(m)){const I=t;J(m,I.k)&&(m.value=null),I.k&&(h[I.k]=null)}}if(V(u)){ct();try{wn(u,r,12,[l,h])}finally{ut()}}else{const I=ae(u),z=we(u);if(I||z){const Y=()=>{if(e.f){const j=I?M(u)?y[u]:h[u]:J()||!e.k?u.value:h[e.k];if(o)B(j)&&Rs(j,i);else if(B(j))j.includes(i)||j.push(i);else if(I)h[u]=[i],M(u)&&(y[u]=h[u]);else{const Z=[i];J(u,e.k)&&(u.value=Z),e.k&&(h[e.k]=Z)}}else I?(h[u]=l,M(u)&&(y[u]=l)):z&&(J(u,e.k)&&(u.value=l),e.k&&(h[e.k]=l))};if(l){const j=()=>{Y(),zn.delete(e)};j.id=-1,zn.set(e,j),Oe(j,n)}else uo(e),Y()}}}function uo(e){const t=zn.get(e);t&&(t.flags|=8,zn.delete(e))}es().requestIdleCallback;es().cancelIdleCallback;const fn=e=>!!e.type.__asyncLoader,vi=e=>e.type.__isKeepAlive;function er(e,t){xi(e,"a",t)}function tr(e,t){xi(e,"da",t)}function xi(e,t,n=Te){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(ss(t,s,n),n){let o=n.parent;for(;o&&o.parent;)vi(o.parent.vnode)&&nr(s,t,n,o),o=o.parent}}function nr(e,t,n,s){const o=ss(t,e,s,!0);Js(()=>{Rs(s[t],o)},n)}function ss(e,t,n=Te,s=!1){if(n){const o=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...l)=>{ct();const r=Sn(n),u=Ze(t,n,e,l);return r(),ut(),u});return s?o.unshift(i):o.push(i),i}}const xt=e=>(t,n=Te)=>{(!xn||e==="sp")&&ss(e,(...s)=>t(...s),n)},sr=xt("bm"),yi=xt("m"),or=xt("bu"),ir=xt("u"),lr=xt("bum"),Js=xt("um"),rr=xt("sp"),ar=xt("rtg"),cr=xt("rtc");function ur(e,t=Te){ss("ec",e,t)}const dr=Symbol.for("v-ndc");function he(e,t,n,s){let o;const i=n,l=B(e);if(l||ae(e)){const r=l&&Rt(e);let u=!1,m=!1;r&&(u=!ze(e),m=vt(e),e=ts(e)),o=new Array(e.length);for(let h=0,y=e.length;h<y;h++)o[h]=t(u?m?Yt(Ye(e[h])):Ye(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,u)=>t(r,u,void 0,i));else{const r=Object.keys(e);o=new Array(r.length);for(let u=0,m=r.length;u<m;u++){const h=r[u];o[u]=t(e[h],h,u,i)}}else o=[];return o}const Es=e=>e?ji(e)?ls(e):Es(e.parent):null,pn=Se(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=>Es(e.parent),$root:e=>Es(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>wi(e),$forceUpdate:e=>e.f||(e.f=()=>{Gs(e.update)}),$nextTick:e=>e.n||(e.n=ui.bind(e.proxy)),$watch:e=>Zl.bind(e)}),ms=(e,t)=>e!==oe&&!e.__isScriptSetup&&ee(e,t),fr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:i,accessCache:l,type:r,appContext:u}=e;if(t[0]!=="$"){const U=l[t];if(U!==void 0)switch(U){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return i[t]}else{if(ms(s,t))return l[t]=1,s[t];if(o!==oe&&ee(o,t))return l[t]=2,o[t];if(ee(i,t))return l[t]=3,i[t];if(n!==oe&&ee(n,t))return l[t]=4,n[t];ks&&(l[t]=0)}}const m=pn[t];let h,y;if(m)return t==="$attrs"&&_e(e.attrs,"get",""),m(e);if((h=r.__cssModules)&&(h=h[t]))return h;if(n!==oe&&ee(n,t))return l[t]=4,n[t];if(y=u.config.globalProperties,ee(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:i}=e;return ms(o,t)?(o[t]=n,!0):s!==oe&&ee(s,t)?(s[t]=n,!0):ee(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:i,type:l}},r){let u;return!!(n[r]||e!==oe&&r[0]!=="$"&&ee(e,r)||ms(t,r)||ee(i,r)||ee(s,r)||ee(pn,r)||ee(o.config.globalProperties,r)||(u=l.__cssModules)&&u[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ee(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function fo(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ks=!0;function pr(e){const t=wi(e),n=e.proxy,s=e.ctx;ks=!1,t.beforeCreate&&po(t.beforeCreate,e,"bc");const{data:o,computed:i,methods:l,watch:r,provide:u,inject:m,created:h,beforeMount:y,mounted:U,beforeUpdate:M,updated:J,activated:I,deactivated:z,beforeDestroy:Y,beforeUnmount:j,destroyed:Z,unmounted:N,render:K,renderTracked:Ue,renderTriggered:De,errorCaptured:Xe,serverPrefetch:Be,expose:Pe,inheritAttrs:de,components:Qe,directives:Ae,filters:ve}=t;if(m&&hr(m,s,null),l)for(const ne in l){const q=l[ne];V(q)&&(s[ne]=q.bind(n))}if(o){const ne=o.call(n,n);se(ne)&&(e.data=Hs(ne))}if(ks=!0,i)for(const ne in i){const q=i[ne],et=V(q)?q.bind(n,n):V(q.get)?q.get.bind(n,n):rt,Nt=!V(q)&&V(q.set)?q.set.bind(n):rt,be=Us({get:et,set:Nt});Object.defineProperty(s,ne,{enumerable:!0,configurable:!0,get:()=>be.value,set:pe=>be.value=pe})}if(r)for(const ne in r)_i(r[ne],s,n,ne);if(u){const ne=V(u)?u.call(n):u;Reflect.ownKeys(ne).forEach(q=>{Jl(q,ne[q])})}h&&po(h,e,"c");function fe(ne,q){B(q)?q.forEach(et=>ne(et.bind(n))):q&&ne(q.bind(n))}if(fe(sr,y),fe(yi,U),fe(or,M),fe(ir,J),fe(er,I),fe(tr,z),fe(ur,Xe),fe(cr,Ue),fe(ar,De),fe(lr,j),fe(Js,N),fe(rr,Be),B(Pe))if(Pe.length){const ne=e.exposed||(e.exposed={});Pe.forEach(q=>{Object.defineProperty(ne,q,{get:()=>n[q],set:et=>n[q]=et,enumerable:!0})})}else e.exposed||(e.exposed={});K&&e.render===rt&&(e.render=K),de!=null&&(e.inheritAttrs=de),Qe&&(e.components=Qe),Ae&&(e.directives=Ae),Be&&gi(e)}function hr(e,t,n=rt){B(e)&&(e=Ts(e));for(const s in e){const o=e[s];let i;se(o)?"default"in o?i=Bn(o.from||s,o.default,!0):i=Bn(o.from||s):i=Bn(o),we(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[s]=i}}function po(e,t,n){Ze(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function _i(e,t,n,s){let o=s.includes(".")?mi(n,s):()=>n[s];if(ae(e)){const i=t[e];V(i)&&hs(o,i)}else if(V(e))hs(o,e.bind(n));else if(se(e))if(B(e))e.forEach(i=>_i(i,t,n,s));else{const i=V(e.handler)?e.handler.bind(n):t[e.handler];V(i)&&hs(o,i,e)}}function wi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:i,config:{optionMergeStrategies:l}}=e.appContext,r=i.get(t);let u;return r?u=r:!o.length&&!n&&!s?u=t:(u={},o.length&&o.forEach(m=>Gn(u,m,l,!0)),Gn(u,t,l)),se(t)&&i.set(t,u),u}function Gn(e,t,n,s=!1){const{mixins:o,extends:i}=t;i&&Gn(e,i,n,!0),o&&o.forEach(l=>Gn(e,l,n,!0));for(const l in t)if(!(s&&l==="expose")){const r=br[l]||n&&n[l];e[l]=r?r(e[l],t[l]):t[l]}return e}const br={data:ho,props:bo,emits:bo,methods:ln,computed:ln,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:ln,directives:ln,watch:gr,provide:ho,inject:mr};function ho(e,t){return t?e?function(){return Se(V(e)?e.call(this,this):e,V(t)?t.call(this,this):t)}:t:e}function mr(e,t){return ln(Ts(e),Ts(t))}function Ts(e){if(B(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ee(e,t){return e?[...new Set([].concat(e,t))]:t}function ln(e,t){return e?Se(Object.create(null),e,t):t}function bo(e,t){return e?B(e)&&B(t)?[...new Set([...e,...t])]:Se(Object.create(null),fo(e),fo(t??{})):t}function gr(e,t){if(!e)return t;if(!t)return e;const n=Se(Object.create(null),e);for(const s in t)n[s]=Ee(e[s],t[s]);return n}function Si(){return{app:null,config:{isNativeTag:Bo,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 vr=0;function xr(e,t){return function(s,o=null){V(s)||(s=Se({},s)),o!=null&&!se(o)&&(o=null);const i=Si(),l=new WeakSet,r=[];let u=!1;const m=i.app={_uid:vr++,_component:s,_props:o,_container:null,_context:i,_instance:null,version:Qr,get config(){return i.config},set config(h){},use(h,...y){return l.has(h)||(h&&V(h.install)?(l.add(h),h.install(m,...y)):V(h)&&(l.add(h),h(m,...y))),m},mixin(h){return i.mixins.includes(h)||i.mixins.push(h),m},component(h,y){return y?(i.components[h]=y,m):i.components[h]},directive(h,y){return y?(i.directives[h]=y,m):i.directives[h]},mount(h,y,U){if(!u){const M=m._ceVNode||Le(s,o);return M.appContext=i,U===!0?U="svg":U===!1&&(U=void 0),e(M,h,U),u=!0,m._container=h,h.__vue_app__=m,ls(M.component)}},onUnmount(h){r.push(h)},unmount(){u&&(Ze(r,m._instance,16),e(null,m._container),delete m._container.__vue_app__)},provide(h,y){return i.provides[h]=y,m},runWithContext(h){const y=qt;qt=m;try{return h()}finally{qt=y}}};return m}}let qt=null;const yr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Je(t)}Modifiers`]||e[`${At(t)}Modifiers`];function _r(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||oe;let o=n;const i=t.startsWith("update:"),l=i&&yr(s,t.slice(7));l&&(l.trim&&(o=n.map(h=>ae(h)?h.trim():h)),l.number&&(o=n.map(Qn)));let r,u=s[r=cs(t)]||s[r=cs(Je(t))];!u&&i&&(u=s[r=cs(At(t))]),u&&Ze(u,e,6,o);const m=s[r+"Once"];if(m){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,Ze(m,e,6,o)}}const wr=new WeakMap;function Ai(e,t,n=!1){const s=n?wr:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const i=e.emits;let l={},r=!1;if(!V(e)){const u=m=>{const h=Ai(m,t,!0);h&&(r=!0,Se(l,h))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!i&&!r?(se(e)&&s.set(e,null),null):(B(i)?i.forEach(u=>l[u]=null):Se(l,i),se(e)&&s.set(e,l),l)}function os(e,t){return!e||!Yn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),ee(e,t[0].toLowerCase()+t.slice(1))||ee(e,At(t))||ee(e,t))}function mo(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[i],slots:l,attrs:r,emit:u,render:m,renderCache:h,props:y,data:U,setupState:M,ctx:J,inheritAttrs:I}=e,z=Kn(e);let Y,j;try{if(n.shapeFlag&4){const N=o||s,K=N;Y=it(m.call(K,N,h,y,M,U,J)),j=r}else{const N=t;Y=it(N.length>1?N(y,{attrs:r,slots:l,emit:u}):N(y,null)),j=t.props?r:Sr(r)}}catch(N){hn.length=0,ns(N,e,1),Y=Le(wt)}let Z=Y;if(j&&I!==!1){const N=Object.keys(j),{shapeFlag:K}=Z;N.length&&K&7&&(i&&N.some(Zn)&&(j=Ar(j,i)),Z=Zt(Z,j,!1,!0))}return n.dirs&&(Z=Zt(Z,null,!1,!0),Z.dirs=Z.dirs?Z.dirs.concat(n.dirs):n.dirs),n.transition&&Ws(Z,n.transition),Y=Z,Kn(z),Y}const Sr=e=>{let t;for(const n in e)(n==="class"||n==="style"||Yn(n))&&((t||(t={}))[n]=e[n]);return t},Ar=(e,t)=>{const n={};for(const s in e)(!Zn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Cr(e,t,n){const{props:s,children:o,component:i}=e,{props:l,children:r,patchFlag:u}=t,m=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return s?go(s,l,m):!!l;if(u&8){const h=t.dynamicProps;for(let y=0;y<h.length;y++){const U=h[y];if(Ci(l,s,U)&&!os(m,U))return!0}}}else return(o||r)&&(!r||!r.$stable)?!0:s===l?!1:s?l?go(s,l,m):!0:!!l;return!1}function go(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let o=0;o<s.length;o++){const i=s[o];if(Ci(t,e,i)&&!os(n,i))return!0}return!1}function Ci(e,t,n){const s=e[n],o=t[n];return n==="style"&&se(s)&&se(o)?!_t(s,o):s!==o}function Er({vnode:e,parent:t,suspense:n},s){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=s,e=o),o===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Ei={},ki=()=>Object.create(Ei),Ti=e=>Object.getPrototypeOf(e)===Ei;function kr(e,t,n,s=!1){const o={},i=ki();e.propsDefaults=Object.create(null),Pi(e,t,o,i);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=s?o:Fl(o):e.type.props?e.props=o:e.props=i,e.attrs=i}function Tr(e,t,n,s){const{props:o,attrs:i,vnode:{patchFlag:l}}=e,r=Q(o),[u]=e.propsOptions;let m=!1;if((s||l>0)&&!(l&16)){if(l&8){const h=e.vnode.dynamicProps;for(let y=0;y<h.length;y++){let U=h[y];if(os(e.emitsOptions,U))continue;const M=t[U];if(u)if(ee(i,U))M!==i[U]&&(i[U]=M,m=!0);else{const J=Je(U);o[J]=Ps(u,r,J,M,e,!1)}else M!==i[U]&&(i[U]=M,m=!0)}}}else{Pi(e,t,o,i)&&(m=!0);let h;for(const y in r)(!t||!ee(t,y)&&((h=At(y))===y||!ee(t,h)))&&(u?n&&(n[y]!==void 0||n[h]!==void 0)&&(o[y]=Ps(u,r,y,void 0,e,!0)):delete o[y]);if(i!==r)for(const y in i)(!t||!ee(t,y))&&(delete i[y],m=!0)}m&&bt(e.attrs,"set","")}function Pi(e,t,n,s){const[o,i]=e.propsOptions;let l=!1,r;if(t)for(let u in t){if(an(u))continue;const m=t[u];let h;o&&ee(o,h=Je(u))?!i||!i.includes(h)?n[h]=m:(r||(r={}))[h]=m:os(e.emitsOptions,u)||(!(u in s)||m!==s[u])&&(s[u]=m,l=!0)}if(i){const u=Q(n),m=r||oe;for(let h=0;h<i.length;h++){const y=i[h];n[y]=Ps(o,u,y,m[y],e,!ee(m,y))}}return l}function Ps(e,t,n,s,o,i){const l=e[n];if(l!=null){const r=ee(l,"default");if(r&&s===void 0){const u=l.default;if(l.type!==Function&&!l.skipFactory&&V(u)){const{propsDefaults:m}=o;if(n in m)s=m[n];else{const h=Sn(o);s=m[n]=u.call(null,t),h()}}else s=u;o.ce&&o.ce._setProp(n,s)}l[0]&&(i&&!r?s=!1:l[1]&&(s===""||s===At(n))&&(s=!0))}return s}const Pr=new WeakMap;function Oi(e,t,n=!1){const s=n?Pr:t.propsCache,o=s.get(e);if(o)return o;const i=e.props,l={},r=[];let u=!1;if(!V(e)){const h=y=>{u=!0;const[U,M]=Oi(y,t,!0);Se(l,U),M&&r.push(...M)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!i&&!u)return se(e)&&s.set(e,Gt),Gt;if(B(i))for(let h=0;h<i.length;h++){const y=Je(i[h]);vo(y)&&(l[y]=oe)}else if(i)for(const h in i){const y=Je(h);if(vo(y)){const U=i[h],M=l[y]=B(U)||V(U)?{type:U}:Se({},U),J=M.type;let I=!1,z=!0;if(B(J))for(let Y=0;Y<J.length;++Y){const j=J[Y],Z=V(j)&&j.name;if(Z==="Boolean"){I=!0;break}else Z==="String"&&(z=!1)}else I=V(J)&&J.name==="Boolean";M[0]=I,M[1]=z,(I||ee(M,"default"))&&r.push(y)}}const m=[l,r];return se(e)&&s.set(e,m),m}function vo(e){return e[0]!=="$"&&!an(e)}const qs=e=>e==="_"||e==="_ctx"||e==="$stable",Ys=e=>B(e)?e.map(it):[it(e)],Or=(e,t,n)=>{if(t._n)return t;const s=Wl((...o)=>Ys(t(...o)),n);return s._c=!1,s},Ui=(e,t,n)=>{const s=e._ctx;for(const o in e){if(qs(o))continue;const i=e[o];if(V(i))t[o]=Or(o,i,s);else if(i!=null){const l=Ys(i);t[o]=()=>l}}},Mi=(e,t)=>{const n=Ys(t);e.slots.default=()=>n},Ii=(e,t,n)=>{for(const s in t)(n||!qs(s))&&(e[s]=t[s])},Ur=(e,t,n)=>{const s=e.slots=ki();if(e.vnode.shapeFlag&32){const o=t._;o?(Ii(s,t,n),n&&Ko(s,"_",o,!0)):Ui(t,s)}else t&&Mi(e,t)},Mr=(e,t,n)=>{const{vnode:s,slots:o}=e;let i=!0,l=oe;if(s.shapeFlag&32){const r=t._;r?n&&r===1?i=!1:Ii(o,t,n):(i=!t.$stable,Ui(t,o)),l=t}else t&&(Mi(e,t),l={default:1});if(i)for(const r in o)!qs(r)&&l[r]==null&&delete o[r]},Oe=Lr;function Ir(e){return Rr(e)}function Rr(e,t){const n=es();n.__VUE__=!0;const{insert:s,remove:o,patchProp:i,createElement:l,createText:r,createComment:u,setText:m,setElementText:h,parentNode:y,nextSibling:U,setScopeId:M=rt,insertStaticContent:J}=e,I=(c,p,g,S=null,w=null,v=null,T=void 0,k=null,E=!!p.dynamicChildren)=>{if(c===p)return;c&&!tn(c,p)&&(S=Me(c),pe(c,w,v,!0),c=null),p.patchFlag===-2&&(E=!1,p.dynamicChildren=null);const{type:_,ref:F,shapeFlag:P}=p;switch(_){case is:z(c,p,g,S);break;case wt:Y(c,p,g,S);break;case $n:c==null&&j(p,g,S,T);break;case X:Qe(c,p,g,S,w,v,T,k,E);break;default:P&1?K(c,p,g,S,w,v,T,k,E):P&6?Ae(c,p,g,S,w,v,T,k,E):(P&64||P&128)&&_.process(c,p,g,S,w,v,T,k,E,kt)}F!=null&&w?dn(F,c&&c.ref,v,p||c,!p):F==null&&c&&c.ref!=null&&dn(c.ref,null,v,c,!0)},z=(c,p,g,S)=>{if(c==null)s(p.el=r(p.children),g,S);else{const w=p.el=c.el;p.children!==c.children&&m(w,p.children)}},Y=(c,p,g,S)=>{c==null?s(p.el=u(p.children||""),g,S):p.el=c.el},j=(c,p,g,S)=>{[c.el,c.anchor]=J(c.children,p,g,S,c.el,c.anchor)},Z=({el:c,anchor:p},g,S)=>{let w;for(;c&&c!==p;)w=U(c),s(c,g,S),c=w;s(p,g,S)},N=({el:c,anchor:p})=>{let g;for(;c&&c!==p;)g=U(c),o(c),c=g;o(p)},K=(c,p,g,S,w,v,T,k,E)=>{if(p.type==="svg"?T="svg":p.type==="math"&&(T="mathml"),c==null)Ue(p,g,S,w,v,T,k,E);else{const _=c.el&&c.el._isVueCE?c.el:null;try{_&&_._beginPatch(),Be(c,p,w,v,T,k,E)}finally{_&&_._endPatch()}}},Ue=(c,p,g,S,w,v,T,k)=>{let E,_;const{props:F,shapeFlag:P,transition:R,dirs:D}=c;if(E=c.el=l(c.type,v,F&&F.is,F),P&8?h(E,c.children):P&16&&Xe(c.children,E,null,S,w,gs(c,v),T,k),D&&Ot(c,null,S,"created"),De(E,c,c.scopeId,T,S),F){for(const W in F)W!=="value"&&!an(W)&&i(E,W,null,F[W],v,S);"value"in F&&i(E,"value",null,F.value,v),(_=F.onVnodeBeforeMount)&&nt(_,S,c)}D&&Ot(c,null,S,"beforeMount");const H=Fr(w,R);H&&R.beforeEnter(E),s(E,p,g),((_=F&&F.onVnodeMounted)||H||D)&&Oe(()=>{try{_&&nt(_,S,c),H&&R.enter(E),D&&Ot(c,null,S,"mounted")}finally{}},w)},De=(c,p,g,S,w)=>{if(g&&M(c,g),S)for(let v=0;v<S.length;v++)M(c,S[v]);if(w){let v=w.subTree;if(p===v||Li(v.type)&&(v.ssContent===p||v.ssFallback===p)){const T=w.vnode;De(c,T,T.scopeId,T.slotScopeIds,w.parent)}}},Xe=(c,p,g,S,w,v,T,k,E=0)=>{for(let _=E;_<c.length;_++){const F=c[_]=k?ht(c[_]):it(c[_]);I(null,F,p,g,S,w,v,T,k)}},Be=(c,p,g,S,w,v,T)=>{const k=p.el=c.el;let{patchFlag:E,dynamicChildren:_,dirs:F}=p;E|=c.patchFlag&16;const P=c.props||oe,R=p.props||oe;let D;if(g&&Ut(g,!1),(D=R.onVnodeBeforeUpdate)&&nt(D,g,p,c),F&&Ot(p,c,g,"beforeUpdate"),g&&Ut(g,!0),_&&(!c.dynamicChildren||c.dynamicChildren.length!==_.length)&&(E=0,T=!1,_=null),(P.innerHTML&&R.innerHTML==null||P.textContent&&R.textContent==null)&&h(k,""),_?Pe(c.dynamicChildren,_,k,g,S,gs(p,w),v):T||q(c,p,k,null,g,S,gs(p,w),v,!1),E>0){if(E&16)de(k,P,R,g,w);else if(E&2&&P.class!==R.class&&i(k,"class",null,R.class,w),E&4&&i(k,"style",P.style,R.style,w),E&8){const H=p.dynamicProps;for(let W=0;W<H.length;W++){const G=H[W],re=P[G],ue=R[G];(ue!==re||G==="value")&&i(k,G,re,ue,w,g)}}E&1&&c.children!==p.children&&h(k,p.children)}else!T&&_==null&&de(k,P,R,g,w);((D=R.onVnodeUpdated)||F)&&Oe(()=>{D&&nt(D,g,p,c),F&&Ot(p,c,g,"updated")},S)},Pe=(c,p,g,S,w,v,T)=>{for(let k=0;k<p.length;k++){const E=c[k],_=p[k],F=E.el&&(E.type===X||!tn(E,_)||E.shapeFlag&198)?y(E.el):g;I(E,_,F,null,S,w,v,T,!0)}},de=(c,p,g,S,w)=>{if(p!==g){if(p!==oe)for(const v in p)!an(v)&&!(v in g)&&i(c,v,p[v],null,w,S);for(const v in g){if(an(v))continue;const T=g[v],k=p[v];T!==k&&v!=="value"&&i(c,v,k,T,w,S)}"value"in g&&i(c,"value",p.value,g.value,w)}},Qe=(c,p,g,S,w,v,T,k,E)=>{const _=p.el=c?c.el:r(""),F=p.anchor=c?c.anchor:r("");let{patchFlag:P,dynamicChildren:R,slotScopeIds:D}=p;D&&(k=k?k.concat(D):D),c==null?(s(_,g,S),s(F,g,S),Xe(p.children||[],g,F,w,v,T,k,E)):P>0&&P&64&&R&&c.dynamicChildren&&c.dynamicChildren.length===R.length?(Pe(c.dynamicChildren,R,g,w,v,T,k),(p.key!=null||w&&p===w.subTree)&&Ri(c,p,!0)):q(c,p,g,F,w,v,T,k,E)},Ae=(c,p,g,S,w,v,T,k,E)=>{p.slotScopeIds=k,c==null?p.shapeFlag&512?w.ctx.activate(p,g,S,T,E):ve(p,g,S,w,v,T,E):Ft(c,p,E)},ve=(c,p,g,S,w,v,T)=>{const k=c.component=Gr(c,S,w);if(vi(c)&&(k.ctx.renderer=kt),Jr(k,!1,T),k.asyncDep){if(w&&w.registerDep(k,fe,T),!c.el){const E=k.subTree=Le(wt);Y(null,E,p,g),c.placeholder=E.el}}else fe(k,c,p,g,w,v,T)},Ft=(c,p,g)=>{const S=p.component=c.component;if(Cr(c,p,g))if(S.asyncDep&&!S.asyncResolved){ne(S,p,g);return}else S.next=p,S.update();else p.el=c.el,S.vnode=p},fe=(c,p,g,S,w,v,T)=>{const k=()=>{if(c.isMounted){let{next:P,bu:R,u:D,parent:H,vnode:W}=c;{const xe=Fi(c);if(xe){P&&(P.el=W.el,ne(c,P,T)),xe.asyncDep.then(()=>{Oe(()=>{c.isUnmounted||_()},w)});return}}let G=P,re;Ut(c,!1),P?(P.el=W.el,ne(c,P,T)):P=W,R&&Dn(R),(re=P.props&&P.props.onVnodeBeforeUpdate)&&nt(re,H,P,W),Ut(c,!0);const ue=mo(c),$e=c.subTree;c.subTree=ue,I($e,ue,y($e.el),Me($e),c,w,v),P.el=ue.el,G===null&&Er(c,ue.el),D&&Oe(D,w),(re=P.props&&P.props.onVnodeUpdated)&&Oe(()=>nt(re,H,P,W),w)}else{let P;const{el:R,props:D}=p,{bm:H,m:W,parent:G,root:re,type:ue}=c,$e=fn(p);Ut(c,!1),H&&Dn(H),!$e&&(P=D&&D.onVnodeBeforeMount)&&nt(P,G,p),Ut(c,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(ue,c.parent?c.parent.type:void 0);const xe=c.subTree=mo(c);I(null,xe,g,S,c,w,v),p.el=xe.el}if(W&&Oe(W,w),!$e&&(P=D&&D.onVnodeMounted)){const xe=p;Oe(()=>nt(P,G,xe),w)}(p.shapeFlag&256||G&&fn(G.vnode)&&G.vnode.shapeFlag&256)&&c.a&&Oe(c.a,w),c.isMounted=!0,p=g=S=null}};c.scope.on();const E=c.effect=new Jo(k);c.scope.off();const _=c.update=E.run.bind(E),F=c.job=E.runIfDirty.bind(E);F.i=c,F.id=c.uid,E.scheduler=()=>Gs(F),Ut(c,!0),_()},ne=(c,p,g)=>{p.component=c;const S=c.vnode.props;c.vnode=p,c.next=null,Tr(c,p.props,S,g),Mr(c,p.children,g),ct(),ao(c),ut()},q=(c,p,g,S,w,v,T,k,E=!1)=>{const _=c&&c.children,F=c?c.shapeFlag:0,P=p.children,{patchFlag:R,shapeFlag:D}=p;if(R>0){if(R&128){Nt(_,P,g,S,w,v,T,k,E);return}else if(R&256){et(_,P,g,S,w,v,T,k,E);return}}D&8?(F&16&&Ct(_,w,v),P!==_&&h(g,P)):F&16?D&16?Nt(_,P,g,S,w,v,T,k,E):Ct(_,w,v,!0):(F&8&&h(g,""),D&16&&Xe(P,g,S,w,v,T,k,E))},et=(c,p,g,S,w,v,T,k,E)=>{c=c||Gt,p=p||Gt;const _=c.length,F=p.length,P=Math.min(_,F);let R;for(R=0;R<P;R++){const D=p[R]=E?ht(p[R]):it(p[R]);I(c[R],D,g,null,w,v,T,k,E)}_>F?Ct(c,w,v,!0,!1,P):Xe(p,g,S,w,v,T,k,E,P)},Nt=(c,p,g,S,w,v,T,k,E)=>{let _=0;const F=p.length;let P=c.length-1,R=F-1;for(;_<=P&&_<=R;){const D=c[_],H=p[_]=E?ht(p[_]):it(p[_]);if(tn(D,H))I(D,H,g,null,w,v,T,k,E);else break;_++}for(;_<=P&&_<=R;){const D=c[P],H=p[R]=E?ht(p[R]):it(p[R]);if(tn(D,H))I(D,H,g,null,w,v,T,k,E);else break;P--,R--}if(_>P){if(_<=R){const D=R+1,H=D<F?p[D].el:S;for(;_<=R;)I(null,p[_]=E?ht(p[_]):it(p[_]),g,H,w,v,T,k,E),_++}}else if(_>R)for(;_<=P;)pe(c[_],w,v,!0),_++;else{const D=_,H=_,W=new Map;for(_=H;_<=R;_++){const ce=p[_]=E?ht(p[_]):it(p[_]);ce.key!=null&&W.set(ce.key,_)}let G,re=0;const ue=R-H+1;let $e=!1,xe=0;const Ie=new Array(ue);for(_=0;_<ue;_++)Ie[_]=0;for(_=D;_<=P;_++){const ce=c[_];if(re>=ue){pe(ce,w,v,!0);continue}let Ce;if(ce.key!=null)Ce=W.get(ce.key);else for(G=H;G<=R;G++)if(Ie[G-H]===0&&tn(ce,p[G])){Ce=G;break}Ce===void 0?pe(ce,w,v,!0):(Ie[Ce-H]=_+1,Ce>=xe?xe=Ce:$e=!0,I(ce,p[Ce],g,null,w,v,T,k,E),re++)}const me=$e?Nr(Ie):Gt;for(G=me.length-1,_=ue-1;_>=0;_--){const ce=H+_,Ce=p[ce],Tt=p[ce+1],We=ce+1<F?Tt.el||Ni(Tt):S;Ie[_]===0?I(null,Ce,g,We,w,v,T,k,E):$e&&(G<0||_!==me[G]?be(Ce,g,We,2):G--)}}},be=(c,p,g,S,w=null)=>{const{el:v,type:T,transition:k,children:E,shapeFlag:_}=c;if(_&6){be(c.component.subTree,p,g,S);return}if(_&128){c.suspense.move(p,g,S);return}if(_&64){T.move(c,p,g,kt);return}if(T===X){s(v,p,g);for(let P=0;P<E.length;P++)be(E[P],p,g,S);s(c.anchor,p,g);return}if(T===$n){Z(c,p,g);return}if(S!==2&&_&1&&k)if(S===0)k.persisted&&!v[bs]?s(v,p,g):(k.beforeEnter(v),s(v,p,g),Oe(()=>k.enter(v),w));else{const{leave:P,delayLeave:R,afterLeave:D}=k,H=()=>{c.ctx.isUnmounted?o(v):s(v,p,g)},W=()=>{const G=v._isLeaving||!!v[bs];v._isLeaving&&v[bs](!0),k.persisted&&!G?H():P(v,()=>{H(),D&&D()})};R?R(v,H,W):W()}else s(v,p,g)},pe=(c,p,g,S=!1,w=!1)=>{const{type:v,props:T,ref:k,children:E,dynamicChildren:_,shapeFlag:F,patchFlag:P,dirs:R,cacheIndex:D,memo:H}=c;if(P===-2&&(w=!1),k!=null&&(ct(),dn(k,null,g,c,!0),ut()),D!=null&&(p.renderCache[D]=void 0),F&256){p.ctx.deactivate(c);return}const W=F&1&&R,G=!fn(c);let re;if(G&&(re=T&&T.onVnodeBeforeUnmount)&&nt(re,p,c),F&6)rs(c.component,g,S);else{if(F&128){c.suspense.unmount(g,S);return}W&&Ot(c,null,p,"beforeUnmount"),F&64?c.type.remove(c,p,g,kt,S):_&&!_.hasOnce&&(v!==X||P>0&&P&64)?Ct(_,p,g,!1,!0):(v===X&&P&384||!w&&F&16)&&Ct(E,p,g),S&&An(c)}const ue=H!=null&&D==null;(G&&(re=T&&T.onVnodeUnmounted)||W||ue)&&Oe(()=>{re&&nt(re,p,c),W&&Ot(c,null,p,"unmounted"),ue&&(c.el=null)},g)},An=c=>{const{type:p,el:g,anchor:S,transition:w}=c;if(p===X){Cn(g,S);return}if(p===$n){N(c);return}const v=()=>{o(g),w&&!w.persisted&&w.afterLeave&&w.afterLeave()};if(c.shapeFlag&1&&w&&!w.persisted){const{leave:T,delayLeave:k}=w,E=()=>T(g,v);k?k(c.el,v,E):E()}else v()},Cn=(c,p)=>{let g;for(;c!==p;)g=U(c),o(c),c=g;o(p)},rs=(c,p,g)=>{const{bum:S,scope:w,job:v,subTree:T,um:k,m:E,a:_}=c;xo(E),xo(_),S&&Dn(S),w.stop(),v&&(v.flags|=8,pe(T,c,p,g)),k&&Oe(k,p),Oe(()=>{c.isUnmounted=!0},p)},Ct=(c,p,g,S=!1,w=!1,v=0)=>{for(let T=v;T<c.length;T++)pe(c[T],p,g,S,w)},Me=c=>{if(c.shapeFlag&6)return Me(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const p=U(c.anchor||c.el),g=p&&p[Xl];return g?U(g):p};let tt=!1;const Et=(c,p,g)=>{let S;c==null?p._vnode&&(pe(p._vnode,null,null,!0),S=p._vnode.component):I(p._vnode||null,c,p,null,null,null,g),p._vnode=c,tt||(tt=!0,ao(S),fi(),tt=!1)},kt={p:I,um:pe,m:be,r:An,mt:ve,mc:Xe,pc:q,pbc:Pe,n:Me,o:e};return{render:Et,hydrate:void 0,createApp:xr(Et)}}function gs({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Ut({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Fr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ri(e,t,n=!1){const s=e.children,o=t.children;if(B(s)&&B(o))for(let i=0;i<s.length;i++){const l=s[i];let r=o[i];r.shapeFlag&1&&!r.dynamicChildren&&((r.patchFlag<=0||r.patchFlag===32)&&(r=o[i]=ht(o[i]),r.el=l.el),!n&&r.patchFlag!==-2&&Ri(l,r)),r.type===is&&(r.patchFlag===-1&&(r=o[i]=ht(r)),r.el=l.el),r.type===wt&&!r.el&&(r.el=l.el)}}function Nr(e){const t=e.slice(),n=[0];let s,o,i,l,r;const u=e.length;for(s=0;s<u;s++){const m=e[s];if(m!==0){if(o=n[n.length-1],e[o]<m){t[s]=o,n.push(s);continue}for(i=0,l=n.length-1;i<l;)r=i+l>>1,e[n[r]]<m?i=r+1:l=r;m<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,l=n[i-1];i-- >0;)n[i]=l,l=t[l];return n}function Fi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fi(t)}function xo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ni(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Ni(t.subTree):null}const Li=e=>e.__isSuspense;function Lr(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):Gl(e)}const X=Symbol.for("v-fgt"),is=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),$n=Symbol.for("v-stc"),hn=[];let Ne=null;function A(e=!1){hn.push(Ne=e?null:[])}function Dr(){hn.pop(),Ne=hn[hn.length-1]||null}let vn=1;function yo(e,t=!1){vn+=e,e<0&&Ne&&t&&(Ne.hasOnce=!0)}function Di(e){return e.dynamicChildren=vn>0?Ne||Gt:null,Dr(),vn>0&&Ne&&Ne.push(e),e}function C(e,t,n,s,o,i){return Di(f(e,t,n,s,o,i,!0))}function Br(e,t,n,s,o){return Di(Le(e,t,n,s,o,!0))}function Bi(e){return e?e.__v_isVNode===!0:!1}function tn(e,t){return e.type===t.type&&e.key===t.key}const $i=({key:e})=>e??null,jn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ae(e)||we(e)||V(e)?{i:Ke,r:e,k:t,f:!!n}:e:null);function f(e,t=null,n=null,s=0,o=null,i=e===X?0:1,l=!1,r=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$i(t),ref:t&&jn(t),scopeId:hi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ke};return r?(Wn(u,n),i&128&&e.normalize(u)):n&&(u.shapeFlag|=ae(n)?8:16),vn>0&&!l&&Ne&&(u.patchFlag>0||i&6)&&u.patchFlag!==32&&Ne.push(u),u}const Le=$r;function $r(e,t=null,n=null,s=0,o=null,i=!1){if((!e||e===dr)&&(e=wt),Bi(e)){const r=Zt(e,t,!0);return n&&Wn(r,n),vn>0&&!i&&Ne&&(r.shapeFlag&6?Ne[Ne.indexOf(e)]=r:Ne.push(r)),r.patchFlag=-2,r}if(Xr(e)&&(e=e.__vccOpts),t){t=jr(t);let{class:r,style:u}=t;r&&!ae(r)&&(t.class=Fe(r)),se(u)&&(zs(u)&&!B(u)&&(u=Se({},u)),t.style=Ns(u))}const l=ae(e)?1:Li(e)?128:Ql(e)?64:se(e)?4:V(e)?2:0;return f(e,t,n,s,o,l,i,!0)}function jr(e){return e?zs(e)||Ti(e)?Se({},e):e:null}function Zt(e,t,n=!1,s=!1){const{props:o,ref:i,patchFlag:l,children:r,transition:u}=e,m=t?Hr(o||{},t):o,h={__v_isVNode:!0,__v_skip:!0,type:e.type,props:m,key:m&&$i(m),ref:t&&t.ref?n&&i?B(i)?i.concat(jn(t)):[i,jn(t)]:jn(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!==X?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zt(e.ssContent),ssFallback:e.ssFallback&&Zt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&s&&Ws(h,u.clone(h)),h}function He(e=" ",t=0){return Le(is,null,e,t)}function Vr(e,t){const n=Le($n,null,e);return n.staticCount=t,n}function $(e="",t=!1){return t?(A(),Br(wt,null,e)):Le(wt,null,e)}function it(e){return e==null||typeof e=="boolean"?Le(wt):B(e)?Le(X,null,e.slice()):Bi(e)?ht(e):Le(is,null,String(e))}function ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zt(e)}function Wn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Wn(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Ti(t)?t._ctx=Ke:o===3&&Ke&&(Ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(V(t)){if(s&65){Wn(e,{default:t});return}t={default:t,_ctx:Ke},n=32}else t=String(t),s&64?(n=16,t=[He(t)]):n=8;e.children=t,e.shapeFlag|=n}function Hr(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const o in s)if(o==="class")t.class!==s.class&&(t.class=Fe([t.class,s.class]));else if(o==="style")t.style=Ns([t.style,s.style]);else if(Yn(o)){const i=t[o],l=s[o];l&&i!==l&&!(B(i)&&i.includes(l))?t[o]=i?[].concat(i,l):l:l==null&&i==null&&!Zn(o)&&(t[o]=l)}else o!==""&&(t[o]=s[o])}return t}function nt(e,t,n,s=null){Ze(e,t,7,[n,s])}const Kr=Si();let zr=0;function Gr(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||Kr,i={uid:zr++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ml(!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:Oi(s,o),emitsOptions:Ai(s,o),emit:null,emitted:null,propsDefaults:oe,inheritAttrs:s.inheritAttrs,ctx:oe,data:oe,props:oe,attrs:oe,slots:oe,refs:oe,setupState:oe,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=_r.bind(null,i),e.ce&&e.ce(i),i}let Te=null;const Wr=()=>Te||Ke;let Jn,Os;{const e=es(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),i=>{o.length>1?o.forEach(l=>l(i)):o[0](i)}};Jn=t("__VUE_INSTANCE_SETTERS__",n=>Te=n),Os=t("__VUE_SSR_SETTERS__",n=>xn=n)}const Sn=e=>{const t=Te;return Jn(e),e.scope.on(),()=>{e.scope.off(),Jn(t)}},_o=()=>{Te&&Te.scope.off(),Jn(null)};function ji(e){return e.vnode.shapeFlag&4}let xn=!1;function Jr(e,t=!1,n=!1){t&&Os(t);const{props:s,children:o}=e.vnode,i=ji(e);kr(e,s,i,t),Ur(e,o,n||t);const l=i?qr(e,t):void 0;return t&&Os(!1),l}function qr(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fr);const{setup:s}=n;if(s){ct();const o=e.setupContext=s.length>1?Zr(e):null,i=Sn(e),l=wn(s,e,0,[e.props,o]),r=$o(l);if(ut(),i(),(r||e.sp)&&!fn(e)&&gi(e),r){if(l.then(_o,_o),t)return l.then(u=>{wo(e,u)}).catch(u=>{ns(u,e,0)});e.asyncDep=l}else wo(e,l)}else Vi(e)}function wo(e,t,n){V(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=ai(t)),Vi(e)}function Vi(e,t,n){const s=e.type;e.render||(e.render=s.render||rt);{const o=Sn(e);ct();try{pr(e)}finally{ut(),o()}}}const Yr={get(e,t){return _e(e,"get",""),e[t]}};function Zr(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Yr),slots:e.slots,emit:e.emit,expose:t}}function ls(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ai(Nl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in pn)return pn[n](e)},has(t,n){return n in t||n in pn}})):e.proxy}function Xr(e){return V(e)&&"__vccOpts"in e}const Us=(e,t)=>jl(e,t,xn),Qr="3.5.39";/**
|
|
* @vue/runtime-dom v3.5.39
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
* @license MIT
|
|
**/let Ms;const So=typeof window<"u"&&window.trustedTypes;if(So)try{Ms=So.createPolicy("vue",{createHTML:e=>e})}catch{}const Hi=Ms?e=>Ms.createHTML(e):e=>e,ea="http://www.w3.org/2000/svg",ta="http://www.w3.org/1998/Math/MathML",pt=typeof document<"u"?document:null,Ao=pt&&pt.createElement("template"),na={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?pt.createElementNS(ea,e):t==="mathml"?pt.createElementNS(ta,e):n?pt.createElement(e,{is:n}):pt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>pt.createTextNode(e),createComment:e=>pt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>pt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,i){const l=n?n.previousSibling:t.lastChild;if(o&&(o===i||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===i||!(o=o.nextSibling)););else{Ao.innerHTML=Hi(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const r=Ao.content;if(s==="svg"||s==="mathml"){const u=r.firstChild;for(;u.firstChild;)r.appendChild(u.firstChild);r.removeChild(u)}t.insertBefore(r,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},sa=Symbol("_vtc");function oa(e,t,n){const s=e[sa];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const qn=Symbol("_vod"),Ki=Symbol("_vsh"),nn={name:"show",beforeMount(e,{value:t},{transition:n}){e[qn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):sn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),sn(e,!0),s.enter(e)):s.leave(e,()=>{sn(e,!1)}):sn(e,t))},beforeUnmount(e,{value:t}){sn(e,t)}};function sn(e,t){e.style.display=t?e[qn]:"none",e[Ki]=!t}const ia=Symbol(""),la=/(?:^|;)\s*display\s*:/;function ra(e,t,n){const s=e.style,o=ae(n);let i=!1;if(n&&!o){if(t)if(ae(t))for(const l of t.split(";")){const r=l.slice(0,l.indexOf(":")).trim();n[r]==null&&rn(s,r,"")}else for(const l in t)n[l]==null&&rn(s,l,"");for(const l in n){l==="display"&&(i=!0);const r=n[l];r!=null?ca(e,l,!ae(t)&&t?t[l]:void 0,r)||rn(s,l,r):rn(s,l,"")}}else if(o){if(t!==n){const l=s[ia];l&&(n+=";"+l),s.cssText=n,i=la.test(n)}}else t&&e.removeAttribute("style");qn in e&&(e[qn]=i?s.display:"",e[Ki]&&(s.display="none"))}const Co=/\s*!important$/;function rn(e,t,n){if(B(n))n.forEach(s=>rn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=aa(e,t);Co.test(n)?e.setProperty(At(s),n.replace(Co,""),"important"):e[s]=n}}const Eo=["Webkit","Moz","ms"],vs={};function aa(e,t){const n=vs[t];if(n)return n;let s=Je(t);if(s!=="filter"&&s in e)return vs[t]=s;s=Ho(s);for(let o=0;o<Eo.length;o++){const i=Eo[o]+s;if(i in e)return vs[t]=i}return t}function ca(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ae(s)&&n===s}const ko="http://www.w3.org/1999/xlink";function To(e,t,n,s,o,i=hl(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ko,t.slice(6,t.length)):e.setAttributeNS(ko,t,n):n==null||i&&!zo(n)?e.removeAttribute(t):e.setAttribute(t,i?"":at(n)?String(n):n)}function Po(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Hi(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const r=i==="OPTION"?e.getAttribute("value")||"":e.value,u=n==null?e.type==="checkbox"?"on":"":String(n);(r!==u||!("_value"in e))&&(e.value=u),n==null&&e.removeAttribute(t),e._value=n;return}let l=!1;if(n===""||n==null){const r=typeof e[t];r==="boolean"?n=zo(n):n==null&&r==="string"?(n="",l=!0):r==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(o||t)}function gt(e,t,n,s){e.addEventListener(t,n,s)}function ua(e,t,n,s){e.removeEventListener(t,n,s)}const Oo=Symbol("_vei");function da(e,t,n,s,o=null){const i=e[Oo]||(e[Oo]={}),l=i[t];if(s&&l)l.value=s;else{const[r,u]=ha(t);if(s){const m=i[t]=ga(s,o);gt(e,r,m,u)}else l&&(ua(e,r,l,u),i[t]=void 0)}}const fa=/(Once|Passive|Capture)$/,pa=/^on:?(?:Once|Passive|Capture)$/;function ha(e){let t,n;for(;(n=e.match(fa))&&!pa.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):At(e.slice(2)),t]}let xs=0;const ba=Promise.resolve(),ma=()=>xs||(ba.then(()=>xs=0),xs=Date.now());function ga(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const o=n.value;if(B(o)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const l=o.slice(),r=[s];for(let u=0;u<l.length&&!s._stopped;u++){const m=l[u];m&&Ze(m,t,5,r)}}else Ze(o,t,5,[s])};return n.value=e,n.attached=ma(),n}const Uo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,va=(e,t,n,s,o,i)=>{const l=o==="svg";t==="class"?oa(e,s,l):t==="style"?ra(e,n,s):Yn(t)?Zn(t)||da(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xa(e,t,s,l))?(Po(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&To(e,t,s,l,i,t!=="value")):e._isVueCE&&(ya(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ae(s)))?Po(e,Je(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),To(e,t,s,l))};function xa(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Uo(t)&&V(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Uo(t)&&ae(n)?!1:t in e}function ya(e,t){const n=e._def.props;if(!n)return!1;const s=Je(t);return Array.isArray(n)?n.some(o=>Je(o)===s):Object.keys(n).some(o=>Je(o)===s)}const St=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>Dn(t,n):t};function _a(e){e.target.composing=!0}function Mo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ge=Symbol("_assign");function Io(e,t,n){return t&&(e=e.trim()),n&&(e=Qn(e)),e}const ye={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Ge]=St(o);const i=s||o.props&&o.props.type==="number";gt(e,t?"change":"input",l=>{l.target.composing||e[Ge](Io(e.value,n,i))}),(n||i)&>(e,"change",()=>{e.value=Io(e.value,n,i)}),t||(gt(e,"compositionstart",_a),gt(e,"compositionend",Mo),gt(e,"change",Mo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:i}},l){if(e[Ge]=St(l),e.composing)return;const r=(i||e.type==="number")&&!/^0\d/.test(e.value)?Qn(e.value):e.value,u=t??"";if(r===u)return;const m=e.getRootNode();(m instanceof Document||m instanceof ShadowRoot)&&m.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===u)||(e.value=u)}},zi={deep:!0,created(e,t,n){e[Ge]=St(n),gt(e,"change",()=>{const s=e._modelValue,o=Xt(e),i=e.checked,l=e[Ge];if(B(s)){const r=Ls(s,o),u=r!==-1;if(i&&!u)l(s.concat(o));else if(!i&&u){const m=[...s];m.splice(r,1),l(m)}}else if(Qt(s)){const r=new Set(s);i?r.add(o):r.delete(o),l(r)}else l(Gi(e,i))})},mounted:Ro,beforeUpdate(e,t,n){e[Ge]=St(n),Ro(e,t,n)}};function Ro(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(B(t))o=Ls(t,s.props.value)>-1;else if(Qt(t))o=t.has(s.props.value);else{if(t===n)return;o=_t(t,Gi(e,!0))}e.checked!==o&&(e.checked=o)}const wa={created(e,{value:t},n){e.checked=_t(t,n.props.value),e[Ge]=St(n),gt(e,"change",()=>{e[Ge](Xt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Ge]=St(s),t!==n&&(e.checked=_t(t,s.props.value))}},zt={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Qt(t);gt(e,"change",()=>{const i=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>n?Qn(Xt(l)):Xt(l));e[Ge](e.multiple?o?new Set(i):i:i[0]),e._assigning=!0,ui(()=>{e._assigning=!1})}),e[Ge]=St(s)},mounted(e,{value:t}){Fo(e,t)},beforeUpdate(e,t,n){e[Ge]=St(n)},updated(e,{value:t}){e._assigning||Fo(e,t)}};function Fo(e,t){const n=e.multiple,s=B(t);if(!(n&&!s&&!Qt(t))){for(let o=0,i=e.options.length;o<i;o++){const l=e.options[o],r=Xt(l);if(n)if(s){const u=typeof r;u==="string"||u==="number"?l.selected=t.some(m=>String(m)===String(r)):l.selected=Ls(t,r)>-1}else l.selected=t.has(r);else if(_t(Xt(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Xt(e){return"_value"in e?e._value:e.value}function Gi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Sa={created(e,t,n){Nn(e,t,n,null,"created")},mounted(e,t,n){Nn(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){Nn(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){Nn(e,t,n,s,"updated")}};function Aa(e,t){switch(e){case"SELECT":return zt;case"TEXTAREA":return ye;default:switch(t){case"checkbox":return zi;case"radio":return wa;default:return ye}}}function Nn(e,t,n,s,o){const l=Aa(e.tagName,n.props&&n.props.type)[o];l&&l(e,t,n,s)}const Ca=["ctrl","shift","alt","meta"],Ea={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)=>Ca.some(n=>e[`${n}Key`]&&!t.includes(n))},ka=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...i)=>{for(let l=0;l<t.length;l++){const r=Ea[t[l]];if(r&&r(o,t))return}return e(o,...i)}))},Ta={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},No=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(o=>{if(!("key"in o))return;const i=At(o.key);if(t.some(l=>l===i||Ta[l]===i))return e(o)}))},Pa=Se({patchProp:va},na);let Lo;function Oa(){return Lo||(Lo=Ir(Pa))}const Ua=((...e)=>{const t=Oa().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Ia(s);if(!o)return;const i=t._component;!V(i)&&!i.render&&!i.template&&(i.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const l=n(o,!1,Ma(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t});function Ma(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ia(e){return ae(e)?document.querySelector(e):e}const Wi="pilotvault-theme";function Ra(){try{return localStorage.getItem(Wi)==="dark"?"dark":"light"}catch{return"light"}}const yn=L(Ra());function Ji(e){yn.value=e,document.documentElement.setAttribute("data-theme",e);try{localStorage.setItem(Wi,e)}catch{}}function Do(){Ji(yn.value==="dark"?"light":"dark")}Ji(yn.value);const Fa=[{code:"AL",name:"Albania",continent:"EU",bbox:"39.6,19.3,42.7,21.1"},{code:"AD",name:"Andorra",continent:"EU",bbox:"42.4,1.4,42.7,1.8"},{code:"AT",name:"Austria",continent:"EU",bbox:"46.4,9.5,49.0,17.2"},{code:"BY",name:"Belarus",continent:"EU",bbox:"51.2,23.2,56.2,32.8"},{code:"BE",name:"Belgium",continent:"EU",bbox:"49.5,2.5,51.5,6.4"},{code:"BA",name:"Bosnia and Herzegovina",continent:"EU",bbox:"42.6,15.7,45.3,19.6"},{code:"BG",name:"Bulgaria",continent:"EU",bbox:"41.2,22.4,44.2,28.6"},{code:"HR",name:"Croatia",continent:"EU",bbox:"42.4,13.5,46.6,19.4"},{code:"CY",name:"Cyprus",continent:"EU",bbox:"34.6,32.3,35.7,34.6"},{code:"CZ",name:"Czechia",continent:"EU",bbox:"48.6,12.1,51.1,18.9"},{code:"DK",name:"Denmark",continent:"EU",bbox:"54.6,8.1,57.8,12.7"},{code:"EE",name:"Estonia",continent:"EU",bbox:"57.5,21.8,59.7,28.2"},{code:"FI",name:"Finland",continent:"EU",bbox:"59.8,20.6,70.1,31.6"},{code:"FR",name:"France",continent:"EU",bbox:"41.3,-5.2,51.1,9.6"},{code:"DE",name:"Germany",continent:"EU",bbox:"47.2,5.8,55.1,15.1"},{code:"GR",name:"Greece",continent:"EU",bbox:"34.8,19.4,41.8,28.3"},{code:"HU",name:"Hungary",continent:"EU",bbox:"45.7,16.1,48.6,22.9"},{code:"IS",name:"Iceland",continent:"EU",bbox:"63.3,-24.6,66.6,-13.5"},{code:"IE",name:"Ireland",continent:"EU",bbox:"51.4,-10.6,55.4,-6.0"},{code:"IT",name:"Italy",continent:"EU",bbox:"36.6,6.6,47.1,18.6"},{code:"XK",name:"Kosovo",continent:"EU",bbox:"41.8,20.0,43.3,21.8"},{code:"LV",name:"Latvia",continent:"EU",bbox:"55.7,20.9,58.1,28.2"},{code:"LI",name:"Liechtenstein",continent:"EU",bbox:"47.0,9.4,47.3,9.6"},{code:"LT",name:"Lithuania",continent:"EU",bbox:"53.9,20.9,56.5,26.9"},{code:"LU",name:"Luxembourg",continent:"EU",bbox:"49.4,5.7,50.2,6.5"},{code:"MT",name:"Malta",continent:"EU",bbox:"35.8,14.1,36.1,14.6"},{code:"MD",name:"Moldova",continent:"EU",bbox:"45.4,26.6,48.5,30.2"},{code:"MC",name:"Monaco",continent:"EU",bbox:"43.72,7.40,43.75,7.44"},{code:"ME",name:"Montenegro",continent:"EU",bbox:"41.8,18.4,43.6,20.4"},{code:"NL",name:"Netherlands",continent:"EU",bbox:"50.7,3.3,53.7,7.2"},{code:"MK",name:"North Macedonia",continent:"EU",bbox:"40.8,20.4,42.4,23.0"},{code:"NO",name:"Norway",continent:"EU",bbox:"57.9,4.6,71.2,31.1"},{code:"PL",name:"Poland",continent:"EU",bbox:"49.0,14.1,54.9,24.2"},{code:"PT",name:"Portugal",continent:"EU",bbox:"36.9,-9.5,42.2,-6.2"},{code:"RO",name:"Romania",continent:"EU",bbox:"43.6,20.2,48.3,29.7"},{code:"SM",name:"San Marino",continent:"EU",bbox:"43.89,12.40,43.99,12.52"},{code:"RS",name:"Serbia",continent:"EU",bbox:"42.2,18.8,46.2,23.0"},{code:"SK",name:"Slovakia",continent:"EU",bbox:"47.7,16.8,49.6,22.6"},{code:"SI",name:"Slovenia",continent:"EU",bbox:"45.4,13.4,46.9,16.6"},{code:"ES",name:"Spain",continent:"EU",bbox:"35.9,-9.4,43.8,3.4"},{code:"SE",name:"Sweden",continent:"EU",bbox:"55.3,11.1,69.1,24.2"},{code:"CH",name:"Switzerland",continent:"EU",bbox:"45.8,5.9,47.8,10.5"},{code:"UA",name:"Ukraine",continent:"EU",bbox:"44.4,22.1,52.4,40.2"},{code:"GB",name:"United Kingdom",continent:"EU",bbox:"49.9,-8.7,60.9,1.8"},{code:"VA",name:"Vatican City",continent:"EU",bbox:"41.900,12.445,41.908,12.458"},{code:"RU",name:"Russia",continent:"EU",bbox:"41.2,19.6,81.9,180"},{code:"TR",name:"Turkey",continent:"EU",bbox:"35.8,25.7,42.3,44.8"},{code:"AF",name:"Afghanistan",continent:"AS",bbox:"29.4,60.5,38.5,74.9"},{code:"AM",name:"Armenia",continent:"AS",bbox:"38.8,43.4,41.3,46.6"},{code:"AZ",name:"Azerbaijan",continent:"AS",bbox:"38.4,44.8,41.9,50.4"},{code:"BH",name:"Bahrain",continent:"AS",bbox:"25.8,50.4,26.3,50.7"},{code:"BD",name:"Bangladesh",continent:"AS",bbox:"20.7,88.0,26.6,92.7"},{code:"BT",name:"Bhutan",continent:"AS",bbox:"26.7,88.7,28.3,92.1"},{code:"BN",name:"Brunei",continent:"AS",bbox:"4.0,114.0,5.1,115.4"},{code:"KH",name:"Cambodia",continent:"AS",bbox:"10.4,102.3,14.7,107.6"},{code:"CN",name:"China",continent:"AS",bbox:"18.2,73.5,53.6,134.8"},{code:"GE",name:"Georgia",continent:"AS",bbox:"41.0,40.0,43.6,46.7"},{code:"IN",name:"India",continent:"AS",bbox:"6.7,68.1,35.5,97.4"},{code:"ID",name:"Indonesia",continent:"AS",bbox:"-11.0,95.0,6.1,141.0"},{code:"IR",name:"Iran",continent:"AS",bbox:"25.0,44.0,39.8,63.3"},{code:"IQ",name:"Iraq",continent:"AS",bbox:"29.1,38.8,37.4,48.6"},{code:"IL",name:"Israel",continent:"AS",bbox:"29.5,34.2,33.3,35.9"},{code:"JP",name:"Japan",continent:"AS",bbox:"24.0,122.9,45.5,145.8"},{code:"JO",name:"Jordan",continent:"AS",bbox:"29.2,34.9,33.4,39.3"},{code:"KZ",name:"Kazakhstan",continent:"AS",bbox:"40.6,46.5,55.4,87.3"},{code:"KW",name:"Kuwait",continent:"AS",bbox:"28.5,46.5,30.1,48.4"},{code:"KG",name:"Kyrgyzstan",continent:"AS",bbox:"39.2,69.3,43.3,80.3"},{code:"LA",name:"Laos",continent:"AS",bbox:"13.9,100.1,22.5,107.7"},{code:"LB",name:"Lebanon",continent:"AS",bbox:"33.0,35.1,34.7,36.6"},{code:"MY",name:"Malaysia",continent:"AS",bbox:"0.9,99.6,7.4,119.3"},{code:"MV",name:"Maldives",continent:"AS",bbox:"-0.7,72.7,7.1,73.7"},{code:"MN",name:"Mongolia",continent:"AS",bbox:"41.6,87.7,52.1,119.9"},{code:"MM",name:"Myanmar",continent:"AS",bbox:"9.8,92.2,28.5,101.2"},{code:"NP",name:"Nepal",continent:"AS",bbox:"26.3,80.1,30.4,88.2"},{code:"KP",name:"North Korea",continent:"AS",bbox:"37.7,124.2,43.0,130.7"},{code:"OM",name:"Oman",continent:"AS",bbox:"16.6,52.0,26.4,59.8"},{code:"PK",name:"Pakistan",continent:"AS",bbox:"23.7,60.9,37.1,77.8"},{code:"PH",name:"Philippines",continent:"AS",bbox:"4.6,116.9,21.1,126.6"},{code:"QA",name:"Qatar",continent:"AS",bbox:"24.5,50.7,26.2,51.6"},{code:"SA",name:"Saudi Arabia",continent:"AS",bbox:"16.4,34.6,32.2,55.7"},{code:"SG",name:"Singapore",continent:"AS",bbox:"1.2,103.6,1.5,104.1"},{code:"KR",name:"South Korea",continent:"AS",bbox:"33.1,125.9,38.6,129.6"},{code:"LK",name:"Sri Lanka",continent:"AS",bbox:"5.9,79.7,9.8,81.9"},{code:"SY",name:"Syria",continent:"AS",bbox:"32.3,35.7,37.3,42.4"},{code:"TW",name:"Taiwan",continent:"AS",bbox:"21.9,120.0,25.3,122.0"},{code:"TJ",name:"Tajikistan",continent:"AS",bbox:"36.7,67.4,41.0,75.2"},{code:"TH",name:"Thailand",continent:"AS",bbox:"5.6,97.3,20.5,105.6"},{code:"TL",name:"Timor-Leste",continent:"AS",bbox:"-9.5,124.0,-8.1,127.3"},{code:"TM",name:"Turkmenistan",continent:"AS",bbox:"35.1,52.4,42.8,66.7"},{code:"AE",name:"United Arab Emirates",continent:"AS",bbox:"22.6,51.5,26.1,56.4"},{code:"UZ",name:"Uzbekistan",continent:"AS",bbox:"37.2,55.9,45.6,73.1"},{code:"VN",name:"Vietnam",continent:"AS",bbox:"8.2,102.1,23.4,109.5"},{code:"YE",name:"Yemen",continent:"AS",bbox:"12.1,42.5,19.0,54.5"},{code:"DZ",name:"Algeria",continent:"AF",bbox:"18.9,-8.7,37.1,12.0"},{code:"AO",name:"Angola",continent:"AF",bbox:"-18.0,11.6,-4.4,24.1"},{code:"BJ",name:"Benin",continent:"AF",bbox:"6.2,0.8,12.4,3.9"},{code:"BW",name:"Botswana",continent:"AF",bbox:"-26.9,20.0,-17.8,29.4"},{code:"BF",name:"Burkina Faso",continent:"AF",bbox:"9.4,-5.5,15.1,2.4"},{code:"BI",name:"Burundi",continent:"AF",bbox:"-4.5,29.0,-2.3,30.8"},{code:"CV",name:"Cabo Verde",continent:"AF",bbox:"14.8,-25.4,17.2,-22.7"},{code:"CM",name:"Cameroon",continent:"AF",bbox:"1.7,8.5,13.1,16.2"},{code:"CF",name:"Central African Republic",continent:"AF",bbox:"2.2,14.4,11.0,27.5"},{code:"TD",name:"Chad",continent:"AF",bbox:"7.4,13.5,23.4,24.0"},{code:"KM",name:"Comoros",continent:"AF",bbox:"-12.4,43.2,-11.4,44.5"},{code:"CG",name:"Congo",continent:"AF",bbox:"-5.0,11.1,3.7,18.6"},{code:"CD",name:"DR Congo",continent:"AF",bbox:"-13.5,12.2,5.4,31.3"},{code:"DJ",name:"Djibouti",continent:"AF",bbox:"10.9,41.7,12.7,43.4"},{code:"EG",name:"Egypt",continent:"AF",bbox:"22.0,25.0,31.7,36.9"},{code:"GQ",name:"Equatorial Guinea",continent:"AF",bbox:"0.9,9.3,3.8,11.4"},{code:"ER",name:"Eritrea",continent:"AF",bbox:"12.4,36.4,18.0,43.1"},{code:"SZ",name:"Eswatini",continent:"AF",bbox:"-27.3,30.8,-25.7,32.1"},{code:"ET",name:"Ethiopia",continent:"AF",bbox:"3.4,33.0,14.9,48.0"},{code:"GA",name:"Gabon",continent:"AF",bbox:"-4.0,8.7,2.3,14.5"},{code:"GM",name:"Gambia",continent:"AF",bbox:"13.1,-16.8,13.8,-13.8"},{code:"GH",name:"Ghana",continent:"AF",bbox:"4.7,-3.3,11.2,1.2"},{code:"GN",name:"Guinea",continent:"AF",bbox:"7.2,-15.1,12.7,-7.6"},{code:"GW",name:"Guinea-Bissau",continent:"AF",bbox:"10.9,-16.7,12.7,-13.6"},{code:"CI",name:"Ivory Coast",continent:"AF",bbox:"4.4,-8.6,10.7,-2.5"},{code:"KE",name:"Kenya",continent:"AF",bbox:"-4.7,33.9,5.5,41.9"},{code:"LS",name:"Lesotho",continent:"AF",bbox:"-30.7,27.0,-28.6,29.5"},{code:"LR",name:"Liberia",continent:"AF",bbox:"4.3,-11.5,8.6,-7.4"},{code:"LY",name:"Libya",continent:"AF",bbox:"19.5,9.3,33.2,25.2"},{code:"MG",name:"Madagascar",continent:"AF",bbox:"-25.6,43.2,-11.9,50.5"},{code:"MW",name:"Malawi",continent:"AF",bbox:"-17.1,32.7,-9.4,35.9"},{code:"ML",name:"Mali",continent:"AF",bbox:"10.1,-12.3,25.0,4.3"},{code:"MR",name:"Mauritania",continent:"AF",bbox:"14.7,-17.1,27.3,-4.8"},{code:"MU",name:"Mauritius",continent:"AF",bbox:"-20.5,57.3,-19.9,57.8"},{code:"MA",name:"Morocco",continent:"AF",bbox:"27.7,-13.2,35.9,-1.0"},{code:"MZ",name:"Mozambique",continent:"AF",bbox:"-26.9,30.2,-10.5,40.8"},{code:"NA",name:"Namibia",continent:"AF",bbox:"-28.9,11.7,-16.9,25.3"},{code:"NE",name:"Niger",continent:"AF",bbox:"11.7,0.2,23.5,16.0"},{code:"NG",name:"Nigeria",continent:"AF",bbox:"4.3,2.7,13.9,14.7"},{code:"RW",name:"Rwanda",continent:"AF",bbox:"-2.8,28.9,-1.1,30.9"},{code:"SN",name:"Senegal",continent:"AF",bbox:"12.3,-17.5,16.7,-11.4"},{code:"SL",name:"Sierra Leone",continent:"AF",bbox:"6.9,-13.3,10.0,-10.3"},{code:"SO",name:"Somalia",continent:"AF",bbox:"-1.7,40.9,12.0,51.4"},{code:"ZA",name:"South Africa",continent:"AF",bbox:"-34.8,16.5,-22.1,32.9"},{code:"SS",name:"South Sudan",continent:"AF",bbox:"3.5,24.1,12.2,35.9"},{code:"SD",name:"Sudan",continent:"AF",bbox:"8.7,21.8,22.2,38.6"},{code:"TZ",name:"Tanzania",continent:"AF",bbox:"-11.7,29.3,-1.0,40.4"},{code:"TG",name:"Togo",continent:"AF",bbox:"6.1,-0.1,11.1,1.8"},{code:"TN",name:"Tunisia",continent:"AF",bbox:"30.2,7.5,37.5,11.6"},{code:"UG",name:"Uganda",continent:"AF",bbox:"-1.5,29.6,4.2,35.0"},{code:"ZM",name:"Zambia",continent:"AF",bbox:"-18.1,21.9,-8.2,33.7"},{code:"ZW",name:"Zimbabwe",continent:"AF",bbox:"-22.4,25.2,-15.6,33.1"},{code:"CA",name:"Canada",continent:"NA",bbox:"41.7,-141.0,83.1,-52.6"},{code:"US",name:"United States",continent:"NA",bbox:"24.4,-125.0,49.4,-66.9"},{code:"MX",name:"Mexico",continent:"NA",bbox:"14.5,-118.4,32.7,-86.7"},{code:"GT",name:"Guatemala",continent:"NA",bbox:"13.7,-92.2,17.8,-88.2"},{code:"BZ",name:"Belize",continent:"NA",bbox:"15.9,-89.2,18.5,-87.8"},{code:"SV",name:"El Salvador",continent:"NA",bbox:"13.1,-90.1,14.4,-87.7"},{code:"HN",name:"Honduras",continent:"NA",bbox:"12.9,-89.4,16.5,-83.1"},{code:"NI",name:"Nicaragua",continent:"NA",bbox:"10.7,-87.7,15.0,-83.1"},{code:"CR",name:"Costa Rica",continent:"NA",bbox:"8.0,-85.9,11.2,-82.5"},{code:"PA",name:"Panama",continent:"NA",bbox:"7.2,-83.1,9.6,-77.2"},{code:"CU",name:"Cuba",continent:"NA",bbox:"19.8,-85.0,23.3,-74.1"},{code:"DO",name:"Dominican Republic",continent:"NA",bbox:"17.5,-72.0,19.9,-68.3"},{code:"HT",name:"Haiti",continent:"NA",bbox:"18.0,-74.5,20.1,-71.6"},{code:"JM",name:"Jamaica",continent:"NA",bbox:"17.7,-78.4,18.5,-76.2"},{code:"BS",name:"Bahamas",continent:"NA",bbox:"20.9,-79.0,27.3,-72.7"},{code:"TT",name:"Trinidad and Tobago",continent:"NA",bbox:"10.0,-61.9,11.4,-60.5"},{code:"AR",name:"Argentina",continent:"SA",bbox:"-55.1,-73.6,-21.8,-53.6"},{code:"BO",name:"Bolivia",continent:"SA",bbox:"-22.9,-69.6,-9.7,-57.5"},{code:"BR",name:"Brazil",continent:"SA",bbox:"-33.8,-74.0,5.3,-34.8"},{code:"CL",name:"Chile",continent:"SA",bbox:"-55.9,-75.6,-17.5,-66.4"},{code:"CO",name:"Colombia",continent:"SA",bbox:"-4.2,-79.0,12.5,-66.9"},{code:"EC",name:"Ecuador",continent:"SA",bbox:"-5.0,-81.1,1.4,-75.2"},{code:"GY",name:"Guyana",continent:"SA",bbox:"1.2,-61.4,8.6,-56.5"},{code:"PY",name:"Paraguay",continent:"SA",bbox:"-27.6,-62.6,-19.3,-54.3"},{code:"PE",name:"Peru",continent:"SA",bbox:"-18.4,-81.3,0.0,-68.7"},{code:"SR",name:"Suriname",continent:"SA",bbox:"1.8,-58.1,6.0,-54.0"},{code:"UY",name:"Uruguay",continent:"SA",bbox:"-35.0,-58.4,-30.1,-53.1"},{code:"VE",name:"Venezuela",continent:"SA",bbox:"0.6,-73.4,12.2,-59.8"},{code:"AU",name:"Australia",continent:"OC",bbox:"-43.6,113.3,-10.7,153.6"},{code:"NZ",name:"New Zealand",continent:"OC",bbox:"-47.3,166.4,-34.4,178.6"},{code:"PG",name:"Papua New Guinea",continent:"OC",bbox:"-11.7,140.8,-1.3,155.9"},{code:"FJ",name:"Fiji",continent:"OC",bbox:"-19.2,177.0,-16.0,180.0"}],Na=[["EU","European countries"],["AS","Asian countries"],["AF","African countries"],["NA","North American countries"],["SA","South American countries"],["OC","Oceanian countries"]];function La(){return Na.map(([e,t])=>({label:t,options:Fa.filter(n=>n.continent===e).slice().sort((n,s)=>n.name.localeCompare(s.name)).map(n=>({value:n.bbox,label:n.name}))}))}const Da={class:"overflow-hidden rounded-lg border border-subtle bg-card shadow-xs"},Ba={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},$a={class:"text-base font-semibold text-primary"},ja={class:"pv-eyebrow"},Va={class:"w-full text-left text-sm"},Ha={class:"border-t border-subtle px-5 py-2.5 font-mono text-xs whitespace-nowrap"},Ka={class:"text-primary"},za={class:"border-t border-subtle px-5 py-2.5 text-secondary"},ys={__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(n,s)=>(A(),C("div",Da,[f("div",Ba,[f("div",$a,O(e.title),1),f("span",ja,O(e.auth),1)]),f("table",Va,[s[0]||(s[0]=f("thead",null,[f("tr",{class:"pv-eyebrow"},[f("th",{class:"px-5 py-2.5 font-medium"},"Endpoint"),f("th",{class:"px-5 py-2.5 font-medium"},"Description")])],-1)),f("tbody",null,[(A(!0),C(X,null,he(e.endpoints,o=>(A(),C("tr",{key:o.method+o.path,class:"transition-colors hover:bg-sunken"},[f("td",Ha,[f("span",{class:Fe(["font-semibold",t[o.method]])},O(o.method),3),f("span",Ka,O(o.path),1)]),f("td",za,O(o.desc),1)]))),128))])])]))}},Ga={class:"mx-auto flex max-w-5xl flex-col gap-6 px-6 pt-12 pb-16"},Wa={class:"flex items-center gap-3"},Ja={key:0,class:"pv-eyebrow hidden truncate sm:inline"},qa=["title"],Ya={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"},Za={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"},Xa={key:0,class:"rounded-lg border border-subtle bg-card px-5 py-10 text-center shadow-sm"},Qa={key:1,class:"mx-auto w-full max-w-sm rounded-lg border border-subtle bg-card shadow-sm"},ec={class:"flex flex-col gap-1"},tc={class:"flex flex-col gap-1"},nc={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},sc=["disabled"],oc={class:"flex gap-1 self-start rounded-lg border border-subtle bg-card p-1 shadow-sm"},ic=["onClick"],lc={class:"flex flex-col gap-6"},rc={class:"rounded-lg border border-subtle bg-card shadow-sm"},ac={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},cc={class:"pv-eyebrow"},uc={class:"min-w-0"},dc={class:"text-sm font-semibold text-primary"},fc={key:0,class:"truncate font-mono text-xs text-secondary"},pc={class:"flex items-center justify-between gap-3 border-t border-subtle px-5 py-3.5"},hc={class:"font-mono text-xs text-secondary"},bc={class:"flex flex-col gap-6"},mc={class:"rounded-lg border border-subtle bg-card shadow-sm"},gc={class:"flex flex-col gap-3 px-5 py-5"},vc={class:"flex flex-col gap-3 sm:flex-row"},xc={class:"flex flex-1 flex-col gap-1"},yc={class:"flex flex-1 flex-col gap-1"},_c={class:"flex flex-col gap-3 sm:flex-row"},wc={class:"flex flex-1 flex-col gap-1"},Sc=["value"],Ac={class:"flex flex-1 flex-col gap-1"},Cc=["value"],Ec={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},kc={key:1,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},Tc=["disabled"],Pc={class:"rounded-lg border border-subtle bg-card shadow-sm"},Oc={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Uc={class:"pv-eyebrow"},Mc={class:"flex flex-col"},Ic={key:0,class:"px-5 py-3 text-xs font-medium text-danger"},Rc={key:1,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},Fc={key:2,class:"px-5 py-6 text-sm text-secondary"},Nc={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},Lc={class:"min-w-0 flex-1"},Dc={class:"flex flex-wrap items-center gap-2"},Bc={class:"truncate text-sm font-semibold text-primary"},$c={key:0,class:"rounded-sm bg-brand/10 px-1.5 py-0.5 font-mono text-[10px] font-medium text-brand-text"},jc={key:1,class:"rounded-sm bg-warning-tint px-1.5 py-0.5 font-mono text-[10px] font-medium text-warning"},Vc={class:"mt-0.5 font-mono text-xs text-secondary"},Hc={class:"flex shrink-0 items-center gap-2"},Kc=["onClick"],zc=["disabled","onClick"],Gc={key:0,class:"mt-3 flex flex-col gap-3 rounded-md border border-subtle bg-sunken px-4 py-4"},Wc={class:"flex flex-col gap-3 sm:flex-row"},Jc={class:"flex flex-1 flex-col gap-1"},qc={class:"flex flex-1 flex-col gap-1"},Yc={class:"flex flex-col gap-3 sm:flex-row"},Zc={class:"flex flex-1 flex-col gap-1"},Xc=["disabled"],Qc=["value"],eu={key:0,class:"text-[11px] text-muted"},tu={class:"flex flex-1 flex-col gap-1"},nu=["value"],su={class:"flex items-center gap-2"},ou={class:"flex items-center gap-2"},iu=["disabled","onClick"],lu={class:"flex flex-col gap-6"},ru={class:"rounded-lg border border-subtle bg-card shadow-sm"},au={class:"flex flex-col gap-3 px-5 py-5"},cu={class:"flex flex-col gap-2 sm:flex-row"},uu=["disabled"],du={key:0,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},fu={key:1,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},pu={class:"rounded-lg border border-subtle bg-card shadow-sm"},hu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},bu={class:"pv-eyebrow"},mu={class:"flex flex-col"},gu={key:0,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},vu={key:1,class:"px-5 py-6 text-sm text-secondary"},xu={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},yu={class:"min-w-0 flex-1"},_u={class:"truncate text-sm font-semibold text-primary"},wu={class:"mt-0.5 font-mono text-xs text-secondary"},Su={class:"flex shrink-0 items-center gap-2"},Au=["onClick"],Cu=["disabled","title","onClick"],Eu={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"},ku={class:"flex flex-1 flex-col gap-1"},Tu=["onKeyup"],Pu={class:"flex items-center gap-2"},Ou=["disabled","onClick"],Uu={class:"flex flex-col gap-6"},Mu={class:"rounded-lg border border-subtle bg-card shadow-sm"},Iu={class:"flex items-center justify-between border-b border-subtle px-5 py-4"},Ru={class:"flex flex-col gap-3 px-5 py-5"},Fu={class:"flex flex-col gap-1"},Nu={class:"flex flex-col gap-1"},Lu={class:"flex flex-col gap-1"},Du=["placeholder"],Bu={key:0,class:"font-mono text-[11px] text-muted"},$u={key:0},ju={key:1},Vu={key:1,class:"rounded-sm bg-danger-tint px-3 py-2 text-xs font-medium text-danger"},Hu={key:2,class:"rounded-sm bg-success-tint px-3 py-2 text-xs font-medium text-success"},Ku={class:"flex flex-wrap items-center gap-2"},zu=["disabled"],Gu=["disabled"],Wu={class:"flex flex-col gap-6"},Ju={class:"rounded-lg border border-subtle bg-card shadow-sm"},qu={class:"flex flex-col"},Yu={key:0,class:"px-5 py-3 text-xs font-medium text-danger"},Zu={key:1,class:"border-b border-subtle bg-sunken px-5 py-2.5 font-mono text-xs text-secondary"},Xu={key:2,class:"px-5 py-6 text-sm text-secondary"},Qu={key:3,class:"flex gap-1 overflow-x-auto overflow-y-hidden border-b border-subtle px-3 pt-1"},ed=["onClick"],td={key:4,class:"px-5 py-6 text-sm text-secondary"},nd={class:"flex flex-wrap items-center gap-x-3 gap-y-2"},sd={class:"min-w-0 flex-1"},od={class:"flex flex-wrap items-center gap-2"},id={class:"text-sm font-semibold text-primary"},ld=["title"],rd={key:0},ad={class:"mt-0.5 font-mono text-xs text-secondary"},cd={key:0,class:"mt-0.5 text-[11px] text-secondary"},ud={key:1,class:"mt-2 flex flex-col gap-1.5"},dd={class:"rounded-sm bg-sunken px-1.5 py-0.5 font-mono text-[10px] text-secondary"},fd={key:0,class:"font-mono text-[10px] text-muted"},pd={key:1,class:"w-full text-[11px] text-secondary sm:w-auto"},hd={key:2,class:"mt-1 truncate font-mono text-[11px] text-muted"},bd={class:"flex shrink-0 items-center gap-2"},md=["disabled","onClick"],gd=["onClick"],vd=["value","onChange"],xd=["label"],yd=["value"],_d=["value","onInput"],wd=["disabled","onClick"],Sd=["disabled","onClick"],Ad={key:0,class:"mt-3 flex flex-col gap-2 rounded-md border border-subtle bg-sunken px-4 py-4"},Cd={class:"pv-eyebrow"},Ed={key:0,class:"text-danger"},kd=["onUpdate:modelValue"],Td=["value"],Pd=["value","onChange"],Od=["label"],Ud=["value"],Md=["onUpdate:modelValue"],Id=["onUpdate:modelValue","type","placeholder"],Rd={key:3,class:"text-[11px] text-muted"},Fd={class:"flex items-center gap-2"},Nd=["disabled","onClick"],Ld={class:"border-t border-subtle px-5 py-4"},Dd={class:"flex flex-col gap-2 sm:flex-row"},Bd=["disabled"],$d={key:0,class:"mt-2 text-xs font-medium text-danger"},Ln="pv_panel_token",jd={__name:"App",setup(e){const t=L(localStorage.getItem(Ln)||""),n=L(null),s=L(!1),o=L(!0),i=L({email:"",password:""}),l=L(""),r=L(!1),u=L("overview"),m=[{id:"overview",label:"Overview"},{id:"users",label:"Users"},{id:"organizations",label:"Organizations"},{id:"pocketbase",label:"PocketBase"},{id:"plugins",label:"Plugins"}];async function h(b){try{const a=await fetch("/api/me",{headers:{Authorization:b}});if(!a.ok)return!1;const d=await a.json();return d.role!=="superadmin"?!1:(n.value={id:d.id,email:d.email,role:d.role},!0)}catch{return!1}}async function y(b){t.value=b,localStorage.setItem(Ln,b),s.value=!0,no(),Ue(),v(),$t(),Pt()}async function U(){l.value="";const b=i.value.email.trim().toLowerCase();if(!b||!i.value.password){l.value="Enter your email and password.";return}r.value=!0;try{const a=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:b,password:i.value.password})}),d=await a.json().catch(()=>({}));if(!a.ok||!d.token){l.value="Invalid email or password.";return}if(!await h(d.token)){l.value="Access to this panel is restricted to superadmins.";return}i.value.password="",await y(d.token)}catch{l.value="Cannot reach the API server."}finally{r.value=!1}}function M(){so(),localStorage.removeItem(Ln),t.value="",n.value=null,s.value=!1}const J=L(null),I=L({url:"",adminEmail:"",adminPassword:""}),z=L(null),Y=L(""),j=L(""),Z=L(!1),N=L(!1);function K(b){const a={Authorization:t.value};return b&&(a["Content-Type"]="application/json"),a}async function Ue(){try{const b=await fetch("/api/admin/pb-config",{headers:K()});if(!b.ok)return;const a=await b.json();J.value=a,I.value={url:a.url||"",adminEmail:a.adminEmail||"",adminPassword:""},z.value=a.probe||null}catch{}}async function De(){Y.value="",j.value="",N.value=!0;try{const b=await fetch("/api/admin/pb-config/test",{method:"POST",headers:K(!0),body:JSON.stringify(I.value)});z.value=await b.json()}catch{j.value="Could not run the test."}finally{N.value=!1}}async function Xe(){var b;if(Y.value="",j.value="",!I.value.url.trim()){j.value="A PocketBase URL is required.";return}Z.value=!0;try{const a=await fetch("/api/admin/pb-config",{method:"PUT",headers:K(!0),body:JSON.stringify(I.value)}),d=await a.json().catch(()=>({}));if(!a.ok){j.value=d.error||"Could not save the connection.";return}J.value=d.config,z.value=((b=d.config)==null?void 0:b.probe)||null,I.value={url:d.config.url,adminEmail:d.config.adminEmail,adminPassword:""},Y.value=d.warning||"Connection saved."}catch{j.value="Could not reach the API server."}finally{Z.value=!1}}const Be=L([]),Pe=L(""),de=L(""),Qe=L(""),Ae=L({}),ve=L(""),Ft=[{label:"World",options:[{value:"-90,-180,90,180",label:"World"}]},{label:"Continents",options:[{value:"34,-25,72,45",label:"Europe"},{value:"-35,-18,38,52",label:"Africa"},{value:"5,25,82,180",label:"Asia"},{value:"7,-168,72,-52",label:"North America"},{value:"-56,-82,13,-34",label:"South America"},{value:"-48,110,-10,180",label:"Oceania"}]},...La()],fe=Ft.flatMap(b=>b.options);function ne(b){const a=String(b||"").split(",").map(x=>x.trim());if(a.length!==4)return"";const d=a.map(Number);return d.some(x=>Number.isNaN(x))?"":d.join(",")}const q=L({});function et(b){if(q.value[b])return"__custom__";const a=ne(Ae.value[b]),d=a&&fe.find(x=>ne(x.value)===a);return d?d.value:"__custom__"}function Nt(b,a){if(a==="__custom__"){q.value={...q.value,[b]:!0};return}q.value={...q.value,[b]:!1},Ae.value[b]=a}const be=L({}),pe=L({});function An(b){return!!(b.configFields&&b.configFields.some(a=>a.type==="bbox"))}function Cn(b){if(pe.value[b])return"__custom__";const a=be.value[b];if(!a)return"__default__";const d=ne(a),x=d&&fe.find(te=>ne(te.value)===d);return x?x.value:"__custom__"}function rs(b,a){if(a==="__default__"){pe.value={...pe.value,[b]:!1},be.value={...be.value,[b]:""};return}if(a==="__custom__"){pe.value={...pe.value,[b]:!0};return}pe.value={...pe.value,[b]:!1},be.value={...be.value,[b]:a}}function Ct(b,a){be.value={...be.value,[b]:a}}const Me=L({name:"",baseURL:"",provider:""}),tt=L(""),Et=L(!1),kt=[{id:"apis-external",label:"APIs — External"},{id:"drives-external",label:"Drives — External"},{id:"drives-local",label:"Drives — Local"}],En=L("apis-external");function c(b){return b.category||"apis-external"}function p(b){return Be.value.filter(a=>c(a)===b)}const g=Us(()=>p(En.value)),S={builtin:"bg-success-tint text-success",external:"bg-warning-tint text-warning"},w={ok:"bg-success-tint text-success",degraded:"bg-warning-tint text-warning",down:"bg-danger-tint text-danger"};async function v(){Pe.value="";try{const b=await fetch("/api/admin/plugins",{headers:K()});if(!b.ok){Pe.value="Could not load plugins.";return}const a=await b.json();Be.value=a.plugins||[];for(const d of Be.value)d.enabled&&!d.health&&T(d.name)}catch{Pe.value="Could not reach the API server."}}async function T(b){try{const a=await fetch(`/api/admin/plugins/${encodeURIComponent(b)}/health`,{method:"POST",headers:K()}),d=await a.json().catch(()=>({}));if(a.ok&&d.health){const x=k(b);x&&(x.health=d.health)}}catch{}}function k(b){return Be.value.find(a=>a.name===b)}async function E(b){ve.value=b.name,de.value="";try{const a=await fetch(`/api/admin/plugins/${encodeURIComponent(b.name)}`,{method:"PUT",headers:K(!0),body:JSON.stringify({enabled:!b.enabled})}),d=await a.json().catch(()=>({}));a.ok?d.warning&&(de.value=`${b.name}: ${d.warning}`):de.value=d.error||"Could not update the plugin.",await v()}finally{ve.value=""}}function _(b){Qe.value=Qe.value===b.name?"":b.name;const a={...b.config||{}};for(const d of b.configFields||[])a[d.key]===void 0&&d.default&&(a[d.key]=d.default);Ae.value=a,q.value={}}async function F(b){ve.value=b.name,de.value="";try{const a=await fetch(`/api/admin/plugins/${encodeURIComponent(b.name)}`,{method:"PUT",headers:K(!0),body:JSON.stringify({config:Ae.value})}),d=await a.json().catch(()=>({}));a.ok?(de.value=d.warning?`${b.name}: ${d.warning}`:"Configuration saved.",Qe.value=""):de.value=d.error||"Could not save the configuration.",await v()}finally{ve.value=""}}async function P(b){ve.value=b.name,de.value="";try{const a=(be.value[b.name]||"").trim(),d=a?`?bbox=${encodeURIComponent(a)}`:"",x=await fetch(`/api/admin/plugins/${encodeURIComponent(b.name)}/health${d}`,{method:"POST",headers:K()}),te=await x.json().catch(()=>({}));if(x.ok&&te.health){const Vt=k(b.name);Vt&&(Vt.health=te.health)}else de.value=te.error||"Health check failed."}finally{ve.value=""}}async function R(b){if(b.kind==="external"){ve.value=b.name;try{const a=await fetch(`/api/admin/plugins/${encodeURIComponent(b.name)}`,{method:"DELETE",headers:K()});if(!a.ok){const d=await a.json().catch(()=>({}));de.value=d.error||"Could not remove the plugin."}await v()}finally{ve.value=""}}}async function D(){if(tt.value="",!Me.value.name.trim()||!Me.value.baseURL.trim()){tt.value="Name and base URL are required.";return}Et.value=!0;try{const b=await fetch("/api/admin/plugins",{method:"POST",headers:K(!0),body:JSON.stringify(Me.value)}),a=await b.json().catch(()=>({}));if(!b.ok){tt.value=a.error||"Could not register the plugin.";return}Me.value={name:"",baseURL:"",provider:""},de.value="External plugin registered.",await v()}catch{tt.value="Could not reach the API server."}finally{Et.value=!1}}const H=L([]),W=L([]),G=L(""),re=[{value:"user",label:"User"},{value:"admin",label:"Admin"},{value:"superadmin",label:"Superadmin"}],ue={user:"User",admin:"Admin",superadmin:"Superadmin"},$e={user:"bg-sunken text-secondary",admin:"bg-warning-tint text-warning",superadmin:"bg-success-tint text-success"},xe=Us(()=>{const b={};for(const a of H.value)a.organization&&(b[a.organization]=(b[a.organization]||0)+1);return b});function Ie(b,a){if(!b)return a;if(b.error)return b.error;if(b.data&&typeof b.data=="object"){const d=[];for(const x in b.data)b.data[x]&&b.data[x].message&&d.push(`${x}: ${b.data[x].message}`);if(d.length)return d.join("; ")}return b.message||a}const me=L({email:"",password:"",role:"user",organization:""}),ce=L(""),Ce=L(""),Tt=L(!1),We=L(""),je=L({}),Lt=L(""),Ve=L("");async function Pt(){G.value="";try{const b=await fetch("/api/users",{headers:K()}),a=await b.json().catch(()=>({}));if(!b.ok){G.value=Ie(a,"Could not load users.");return}H.value=a.users||[]}catch{G.value="Could not reach the API server."}}async function qi(){ce.value="",Ce.value="";const b=me.value.email.trim().toLowerCase();if(!b||!b.includes("@")){ce.value="A valid email is required.";return}if(me.value.password.length<8){ce.value="Password must be at least 8 characters.";return}Tt.value=!0;try{const a=await fetch("/api/users",{method:"POST",headers:K(!0),body:JSON.stringify({email:b,password:me.value.password,role:me.value.role,organization:me.value.organization})}),d=await a.json().catch(()=>({}));if(!a.ok){ce.value=Ie(d,"Could not create the user.");return}me.value={email:"",password:"",role:"user",organization:""},Ce.value=`Created ${d.user?d.user.email:"user"}.`,await Pt()}catch{ce.value="Could not reach the API server."}finally{Tt.value=!1}}function Yi(b){Ve.value="",We.value=We.value===b.id?"":b.id,je.value={email:b.email,role:b.role,organization:b.organization||"",verified:!!b.verified,password:""}}async function Zi(b){Ve.value="",Lt.value=b.id;try{const a={},d=je.value;if(d.email.trim().toLowerCase()!==b.email&&(a.email=d.email.trim().toLowerCase()),d.role!==b.role&&(a.role=d.role),(d.organization||"")!==(b.organization||"")&&(a.organization=d.organization||""),d.verified!==!!b.verified&&(a.verified=d.verified),d.password&&(a.password=d.password),Object.keys(a).length===0){Ve.value="No changes to save.";return}const x=await fetch(`/api/users/${encodeURIComponent(b.id)}`,{method:"PATCH",headers:K(!0),body:JSON.stringify(a)}),te=await x.json().catch(()=>({}));if(!x.ok){Ve.value=Ie(te,"Could not update the user.");return}Ve.value=`Updated ${b.email}.`,We.value="",await Pt()}catch{Ve.value="Could not reach the API server."}finally{Lt.value=""}}async function Xi(b){if(b.id!==(n.value&&n.value.id)&&confirm(`Delete user ${b.email}? This cannot be undone.`)){Ve.value="",Lt.value=b.id;try{const a=await fetch(`/api/users/${encodeURIComponent(b.id)}`,{method:"DELETE",headers:K()}),d=await a.json().catch(()=>({}));if(!a.ok){Ve.value=Ie(d,"Could not delete the user.");return}Ve.value=`Deleted ${b.email}.`,We.value===b.id&&(We.value=""),await Pt()}catch{Ve.value="Could not reach the API server."}finally{Lt.value=""}}}const kn=L(""),Dt=L(""),Tn=L(""),Pn=L(!1),dt=L(""),On=L(""),Bt=L(""),Re=L("");async function $t(){try{const b=await fetch("/api/orgs",{headers:K()});if(!b.ok)return;const a=await b.json().catch(()=>({}));W.value=a.organizations||[]}catch{}}async function Zs(){Dt.value="",Tn.value="";const b=kn.value.trim();if(!b){Dt.value="An organization name is required.";return}Pn.value=!0;try{const a=await fetch("/api/orgs",{method:"POST",headers:K(!0),body:JSON.stringify({name:b})}),d=await a.json().catch(()=>({}));if(!a.ok){Dt.value=Ie(d,"Could not create the organization.");return}kn.value="",Tn.value=`Created ${d.organization?d.organization.name:"organization"}.`,await $t()}catch{Dt.value="Could not reach the API server."}finally{Pn.value=!1}}function Qi(b){Re.value="",dt.value=dt.value===b.id?"":b.id,On.value=b.name}async function Xs(b){Re.value="";const a=On.value.trim();if(!a){Re.value="An organization name is required.";return}if(a===b.name){dt.value="";return}Bt.value=b.id;try{const d=await fetch(`/api/orgs/${encodeURIComponent(b.id)}`,{method:"PATCH",headers:K(!0),body:JSON.stringify({name:a})}),x=await d.json().catch(()=>({}));if(!d.ok){Re.value=Ie(x,"Could not rename the organization.");return}Re.value=`Renamed to ${a}.`,dt.value="",await $t(),await Pt()}catch{Re.value="Could not reach the API server."}finally{Bt.value=""}}async function el(b){const a=xe.value[b.id]||0;if(a>0){Re.value=`${b.name} still has ${a} member${a===1?"":"s"}; reassign or remove them first.`;return}if(confirm(`Delete organization ${b.name}?`)){Re.value="",Bt.value=b.id;try{const d=await fetch(`/api/orgs/${encodeURIComponent(b.id)}`,{method:"DELETE",headers:K()}),x=await d.json().catch(()=>({}));if(!d.ok){Re.value=Ie(x,"Could not delete the organization.");return}Re.value=`Deleted ${b.name}.`,dt.value===b.id&&(dt.value=""),await $t()}catch{Re.value="Could not reach the API server."}finally{Bt.value=""}}}const as=L(null),Un=L(null),jt=L({apiServer:{status:"checking",detail:""},pocketBase:{status:"checking",detail:""},webApp:{status:"checking",detail:""}});let Mn=null;const tl=[{key:"apiServer",label:"API server"},{key:"pocketBase",label:"PocketBase"},{key:"webApp",label:"Web App"}],Qs={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 eo(b){const a=[];return b.httpStatus&&a.push("HTTP "+b.httpStatus),b.url&&a.push(b.url),typeof b.latencyMs=="number"&&a.push(b.latencyMs+"ms"),a.join(" · ")}async function to(){var b,a;try{const d=await fetch("/api/status");if(!d.ok)throw new Error("status "+d.status);const x=await d.json(),te=x.apiServer||{};Un.value=te.devices??0,jt.value={apiServer:{status:"ok",detail:""},pocketBase:{status:((b=x.pocketBase)==null?void 0:b.status)==="ok"?"ok":"down",detail:eo(x.pocketBase||{})},webApp:{status:((a=x.webApp)==null?void 0:a.status)==="ok"?"ok":"down",detail:eo(x.webApp||{})}}}catch{Un.value=null,jt.value={apiServer:{status:"unreachable",detail:""},pocketBase:{status:"unreachable",detail:""},webApp:{status:"unreachable",detail:""}}}as.value=new Date}function no(){to(),clearInterval(Mn),Mn=setInterval(to,1e4)}function so(){clearInterval(Mn),Mn=null}yi(async()=>{t.value&&await h(t.value)?(s.value=!0,no(),Ue(),v(),$t(),Pt()):t.value&&(localStorage.removeItem(Ln),t.value=""),o.value=!1}),Js(()=>so());const nl=[{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)"}],sl=[{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)"}],ol=[{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(b,a)=>(A(),C("div",Ga,[f("div",Wa,[a[25]||(a[25]=Vr('<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)),s.value&&n.value?(A(),C("span",Ja,O(n.value.email),1)):$("",!0),s.value?(A(),C("button",{key:1,class:"pv-btn-sec pv-btn-sm",onClick:M},"Sign out")):$("",!0),f("button",{class:"pv-btn-sec pv-btn-sm",title:on(yn)==="dark"?"Switch to light theme":"Switch to dark theme",onClick:a[0]||(a[0]=(...d)=>on(Do)&&on(Do)(...d))},[on(yn)==="dark"?(A(),C("svg",Ya,[...a[22]||(a[22]=[f("circle",{cx:"12",cy:"12",r:"4"},null,-1),f("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)])])):(A(),C("svg",Za,[...a[23]||(a[23]=[f("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])),a[24]||(a[24]=He(" Theme ",-1))],8,qa)]),o.value?(A(),C("div",Xa,[...a[26]||(a[26]=[f("span",{class:"pv-eyebrow"},"Checking session…",-1)])])):s.value?(A(),C(X,{key:2},[f("div",oc,[(A(),C(X,null,he(m,d=>f("button",{key:d.id,class:Fe(["rounded-md px-3.5 py-1.5 text-sm font-semibold transition",u.value===d.id?"bg-brand text-on-brand":"text-secondary hover:text-primary"]),onClick:x=>u.value=d.id},O(d.label),11,ic)),64))]),ie(f("div",lc,[f("div",rc,[f("div",ac,[a[30]||(a[30]=f("div",{class:"text-base font-semibold text-primary"},"Status",-1)),f("span",cc,O(as.value?"checked "+as.value.toLocaleTimeString():"—"),1)]),f("div",null,[(A(),C(X,null,he(tl,d=>f("div",{key:d.key,class:"flex items-center justify-between gap-3 border-t border-subtle px-5 py-3.5 first:border-t-0"},[f("div",uc,[f("div",dc,O(d.label),1),jt.value[d.key].detail?(A(),C("div",fc,O(jt.value[d.key].detail),1)):$("",!0)]),f("span",{class:Fe(["inline-flex shrink-0 items-center gap-1.5 rounded-sm px-2.5 py-1 font-mono text-xs font-medium",Qs[jt.value[d.key].status].cls])},[a[31]||(a[31]=f("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),He(" "+O(Qs[jt.value[d.key].status].label),1)],2)])),64)),f("div",pc,[a[32]||(a[32]=f("div",{class:"text-sm font-semibold text-primary"},"Devices",-1)),f("span",hc,O(Un.value===null?"—":Un.value+" online"),1)])])]),Le(ys,{title:"Client API",auth:"PocketBase session",endpoints:nl}),Le(ys,{title:"Management API",auth:"Admin · superadmin",endpoints:sl}),Le(ys,{title:"Device API",auth:"Device uplink",endpoints:ol})],512),[[nn,u.value==="overview"]]),ie(f("div",bc,[f("div",mc,[a[38]||(a[38]=f("div",{class:"border-b border-subtle px-5 py-4"},[f("div",{class:"text-base font-semibold text-primary"},"Add user"),f("span",{class:"pv-eyebrow"},"Create an account")],-1)),f("div",gc,[f("div",vc,[f("label",xc,[a[33]||(a[33]=f("span",{class:"pv-eyebrow"},"Email",-1)),ie(f("input",{"onUpdate:modelValue":a[3]||(a[3]=d=>me.value.email=d),type:"email",class:"pv-input",placeholder:"pilot@pilotvault.local",autocomplete:"off",spellcheck:"false"},null,512),[[ye,me.value.email]])]),f("label",yc,[a[34]||(a[34]=f("span",{class:"pv-eyebrow"},"Password",-1)),ie(f("input",{"onUpdate:modelValue":a[4]||(a[4]=d=>me.value.password=d),type:"password",class:"pv-input",placeholder:"min. 8 characters",autocomplete:"new-password"},null,512),[[ye,me.value.password]])])]),f("div",_c,[f("label",wc,[a[35]||(a[35]=f("span",{class:"pv-eyebrow"},"Role",-1)),ie(f("select",{"onUpdate:modelValue":a[5]||(a[5]=d=>me.value.role=d),class:"pv-input"},[(A(),C(X,null,he(re,d=>f("option",{key:d.value,value:d.value},O(d.label),9,Sc)),64))],512),[[zt,me.value.role]])]),f("label",Ac,[a[37]||(a[37]=f("span",{class:"pv-eyebrow"},"Organization",-1)),ie(f("select",{"onUpdate:modelValue":a[6]||(a[6]=d=>me.value.organization=d),class:"pv-input"},[a[36]||(a[36]=f("option",{value:""},"— none —",-1)),(A(!0),C(X,null,he(W.value,d=>(A(),C("option",{key:d.id,value:d.id},O(d.name),9,Cc))),128))],512),[[zt,me.value.organization]])])]),ce.value?(A(),C("p",Ec,O(ce.value),1)):Ce.value?(A(),C("p",kc,O(Ce.value),1)):$("",!0),f("div",null,[f("button",{class:"pv-btn",disabled:Tt.value,onClick:qi},O(Tt.value?"Creating…":"Create user"),9,Tc)])])]),f("div",Pc,[f("div",Oc,[f("div",null,[a[39]||(a[39]=f("div",{class:"text-base font-semibold text-primary"},"Users",-1)),f("span",Uc,O(H.value.length)+" total",1)]),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:Pt},"Refresh")]),f("div",Mc,[G.value?(A(),C("p",Ic,O(G.value),1)):$("",!0),Ve.value?(A(),C("p",Rc,O(Ve.value),1)):$("",!0),!H.value.length&&!G.value?(A(),C("p",Fc,"No users yet.")):$("",!0),(A(!0),C(X,null,he(H.value,d=>(A(),C("div",{key:d.id,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[f("div",Nc,[f("div",Lc,[f("div",Dc,[f("span",Bc,O(d.email),1),f("span",{class:Fe(["rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium uppercase tracking-wider",$e[d.role]])},O(ue[d.role]||d.role),3),d.id===(n.value&&n.value.id)?(A(),C("span",$c,"you")):$("",!0),d.verified?$("",!0):(A(),C("span",jc,"unverified"))]),f("div",Vc,O(d.organizationName||(d.organization?d.organization:"no organization")),1)]),f("div",Hc,[f("button",{class:"pv-btn-sec pv-btn-sm",onClick:x=>Yi(d)},O(We.value===d.id?"Close":"Edit"),9,Kc),d.id!==(n.value&&n.value.id)?(A(),C("button",{key:0,class:"pv-btn-sec pv-btn-sm !text-danger",disabled:Lt.value===d.id,onClick:x=>Xi(d)}," Delete ",8,zc)):$("",!0)])]),We.value===d.id?(A(),C("div",Gc,[f("div",Wc,[f("label",Jc,[a[40]||(a[40]=f("span",{class:"pv-eyebrow"},"Email",-1)),ie(f("input",{"onUpdate:modelValue":a[7]||(a[7]=x=>je.value.email=x),type:"email",class:"pv-input",autocomplete:"off",spellcheck:"false"},null,512),[[ye,je.value.email]])]),f("label",qc,[a[41]||(a[41]=f("span",{class:"pv-eyebrow"},"New password",-1)),ie(f("input",{"onUpdate:modelValue":a[8]||(a[8]=x=>je.value.password=x),type:"password",class:"pv-input",placeholder:"leave blank to keep current",autocomplete:"new-password"},null,512),[[ye,je.value.password]])])]),f("div",Yc,[f("label",Zc,[a[42]||(a[42]=f("span",{class:"pv-eyebrow"},"Role",-1)),ie(f("select",{"onUpdate:modelValue":a[9]||(a[9]=x=>je.value.role=x),class:"pv-input",disabled:d.id===(n.value&&n.value.id)},[(A(),C(X,null,he(re,x=>f("option",{key:x.value,value:x.value},O(x.label),9,Qc)),64))],8,Xc),[[zt,je.value.role]]),d.id===(n.value&&n.value.id)?(A(),C("span",eu,"You cannot change your own role.")):$("",!0)]),f("label",tu,[a[44]||(a[44]=f("span",{class:"pv-eyebrow"},"Organization",-1)),ie(f("select",{"onUpdate:modelValue":a[10]||(a[10]=x=>je.value.organization=x),class:"pv-input"},[a[43]||(a[43]=f("option",{value:""},"— none —",-1)),(A(!0),C(X,null,he(W.value,x=>(A(),C("option",{key:x.id,value:x.id},O(x.name),9,nu))),128))],512),[[zt,je.value.organization]])])]),f("label",su,[ie(f("input",{"onUpdate:modelValue":a[11]||(a[11]=x=>je.value.verified=x),type:"checkbox",class:"h-4 w-4"},null,512),[[zi,je.value.verified]]),a[45]||(a[45]=f("span",{class:"text-sm text-primary"},"Verified",-1))]),f("div",ou,[f("button",{class:"pv-btn pv-btn-sm",disabled:Lt.value===d.id,onClick:x=>Zi(d)},"Save changes",8,iu),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:a[12]||(a[12]=x=>We.value="")},"Cancel")])])):$("",!0)]))),128))])])],512),[[nn,u.value==="users"]]),ie(f("div",lu,[f("div",ru,[a[46]||(a[46]=f("div",{class:"border-b border-subtle px-5 py-4"},[f("div",{class:"text-base font-semibold text-primary"},"Add organization"),f("span",{class:"pv-eyebrow"},"Create a tenant")],-1)),f("div",au,[f("div",cu,[ie(f("input",{"onUpdate:modelValue":a[13]||(a[13]=d=>kn.value=d),class:"pv-input flex-1",placeholder:"Acme Aerial Ltd.",autocomplete:"off",spellcheck:"false",onKeyup:No(Zs,["enter"])},null,544),[[ye,kn.value]]),f("button",{class:"pv-btn",disabled:Pn.value,onClick:Zs},O(Pn.value?"Creating…":"Create"),9,uu)]),Dt.value?(A(),C("p",du,O(Dt.value),1)):Tn.value?(A(),C("p",fu,O(Tn.value),1)):$("",!0)])]),f("div",pu,[f("div",hu,[f("div",null,[a[47]||(a[47]=f("div",{class:"text-base font-semibold text-primary"},"Organizations",-1)),f("span",bu,O(W.value.length)+" total",1)]),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:$t},"Refresh")]),f("div",mu,[Re.value?(A(),C("p",gu,O(Re.value),1)):$("",!0),W.value.length?$("",!0):(A(),C("p",vu,"No organizations yet.")),(A(!0),C(X,null,he(W.value,d=>(A(),C("div",{key:d.id,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[f("div",xu,[f("div",yu,[f("div",_u,O(d.name),1),f("div",wu,O(xe.value[d.id]||0)+" member"+O((xe.value[d.id]||0)===1?"":"s"),1)]),f("div",Su,[f("button",{class:"pv-btn-sec pv-btn-sm",onClick:x=>Qi(d)},O(dt.value===d.id?"Close":"Rename"),9,Au),f("button",{class:"pv-btn-sec pv-btn-sm !text-danger",disabled:Bt.value===d.id||(xe.value[d.id]||0)>0,title:(xe.value[d.id]||0)>0?"Reassign or remove members first":"Delete organization",onClick:x=>el(d)}," Delete ",8,Cu)])]),dt.value===d.id?(A(),C("div",Eu,[f("label",ku,[a[48]||(a[48]=f("span",{class:"pv-eyebrow"},"Name",-1)),ie(f("input",{"onUpdate:modelValue":a[14]||(a[14]=x=>On.value=x),class:"pv-input",autocomplete:"off",spellcheck:"false",onKeyup:No(x=>Xs(d),["enter"])},null,40,Tu),[[ye,On.value]])]),f("div",Pu,[f("button",{class:"pv-btn pv-btn-sm",disabled:Bt.value===d.id,onClick:x=>Xs(d)},"Save",8,Ou),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:a[15]||(a[15]=x=>dt.value="")},"Cancel")])])):$("",!0)]))),128))])])],512),[[nn,u.value==="organizations"]]),ie(f("div",Uu,[f("div",Mu,[f("div",Iu,[a[50]||(a[50]=f("div",null,[f("div",{class:"text-base font-semibold text-primary"},"PocketBase connection"),f("span",{class:"pv-eyebrow"},"Settings")],-1)),z.value?(A(),C("span",{key:0,class:Fe(["inline-flex shrink-0 items-center gap-1.5 rounded-sm px-2.5 py-1 font-mono text-xs font-medium",z.value.reachable?z.value.superuser?"bg-success-tint text-success":"bg-warning-tint text-warning":"bg-danger-tint text-danger"])},[a[49]||(a[49]=f("span",{class:"h-1.5 w-1.5 rounded-full bg-current"},null,-1)),He(" "+O(z.value.reachable?z.value.superuser?"connected":"reachable":"unreachable"),1)],2)):$("",!0)]),f("div",Ru,[f("label",Fu,[a[51]||(a[51]=f("span",{class:"pv-eyebrow"},"PocketBase URL",-1)),ie(f("input",{"onUpdate:modelValue":a[16]||(a[16]=d=>I.value.url=d),class:"pv-input",placeholder:"http://10.2.1.10:8026",spellcheck:"false"},null,512),[[ye,I.value.url]])]),f("label",Nu,[a[52]||(a[52]=f("span",{class:"pv-eyebrow"},"Service account email",-1)),ie(f("input",{"onUpdate:modelValue":a[17]||(a[17]=d=>I.value.adminEmail=d),class:"pv-input",placeholder:"admin@pilotvault.local",autocomplete:"off",spellcheck:"false"},null,512),[[ye,I.value.adminEmail]])]),f("label",Lu,[a[53]||(a[53]=f("span",{class:"pv-eyebrow"},"Service account password",-1)),ie(f("input",{"onUpdate:modelValue":a[18]||(a[18]=d=>I.value.adminPassword=d),type:"password",class:"pv-input",autocomplete:"new-password",placeholder:J.value&&J.value.adminConfigured?"leave blank to keep current":"set a password"},null,8,Du),[[ye,I.value.adminPassword]])]),z.value?(A(),C("div",Bu,[He(" health: "+O(z.value.reachable?"ok":"down"),1),z.value.latencyMs?(A(),C("span",$u," · "+O(z.value.latencyMs)+"ms",1)):$("",!0),He(" · superuser auth: "+O(z.value.superuser?"ok":"—"),1),z.value.detail?(A(),C("span",ju," · "+O(z.value.detail),1)):$("",!0)])):$("",!0),j.value?(A(),C("p",Vu,O(j.value),1)):Y.value?(A(),C("p",Hu,O(Y.value),1)):$("",!0),f("div",Ku,[f("button",{class:"pv-btn",disabled:Z.value,onClick:Xe},O(Z.value?"Saving…":"Save connection"),9,zu),f("button",{class:"pv-btn-sec",disabled:N.value,onClick:De},O(N.value?"Testing…":"Test connection"),9,Gu)]),a[54]||(a[54]=f("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),[[nn,u.value==="pocketbase"]]),ie(f("div",Wu,[f("div",Ju,[f("div",{class:"flex items-center justify-between border-b border-subtle px-5 py-4"},[a[55]||(a[55]=f("div",null,[f("div",{class:"text-base font-semibold text-primary"},"Plugins"),f("span",{class:"pv-eyebrow"},"External integrations")],-1)),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:v},"Refresh")]),f("div",qu,[Pe.value?(A(),C("p",Yu,O(Pe.value),1)):$("",!0),de.value?(A(),C("p",Zu,O(de.value),1)):$("",!0),!Be.value.length&&!Pe.value?(A(),C("p",Xu,"No plugins registered yet.")):$("",!0),Be.value.length?(A(),C("div",Qu,[(A(),C(X,null,he(kt,d=>f("button",{key:d.id,class:Fe(["-mb-px whitespace-nowrap border-b-2 px-3 py-2 text-sm font-semibold transition",En.value===d.id?"border-brand text-primary":"border-transparent text-secondary hover:text-primary"]),onClick:x=>En.value=d.id},O(d.label),11,ed)),64))])):$("",!0),Be.value.length&&!g.value.length?(A(),C("p",td,"No plugins in this category.")):$("",!0),(A(!0),C(X,null,he(g.value,d=>(A(),C("div",{key:d.name,class:"border-t border-subtle px-5 py-4 first:border-t-0"},[f("div",nd,[f("div",sd,[f("div",od,[f("span",id,O(d.name),1),f("span",{class:Fe(["rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium uppercase tracking-wider",S[d.kind]])},O(d.kind),3),d.health?(A(),C("span",{key:0,class:Fe(["inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5 font-mono text-[10px] font-medium",w[d.health.status]]),title:d.health.detail||""},[a[56]||(a[56]=f("span",{class:"h-1 w-1 rounded-full bg-current"},null,-1)),He(O(d.health.status),1),d.health.latencyMs?(A(),C("span",rd," · "+O(d.health.latencyMs)+"ms",1)):$("",!0)],10,ld)):$("",!0)]),f("div",ad,O(d.provider)+" · v"+O(d.version)+" · "+O(d.authType),1),d.health&&d.health.detail?(A(),C("div",cd,O(d.health.detail),1)):$("",!0),d.capabilities&&d.capabilities.length?(A(),C("div",ud,[a[57]||(a[57]=f("div",{class:"pv-eyebrow"},"Capabilities",-1)),(A(!0),C(X,null,he(d.capabilities,x=>(A(),C("div",{key:x.id,class:"flex flex-wrap items-baseline gap-x-2 gap-y-0.5"},[f("span",dd,O(x.id),1),x.method||x.endpoint?(A(),C("span",fd,O(x.method)+" "+O(x.endpoint),1)):$("",!0),x.description?(A(),C("span",pd,O(x.description),1)):$("",!0)]))),128))])):$("",!0),d.baseURL?(A(),C("div",hd,O(d.baseURL),1)):$("",!0)]),f("div",bd,[f("button",{class:Fe(["pv-btn-sec pv-btn-sm",d.enabled?"!border-transparent !bg-success-tint !text-success":""]),disabled:ve.value===d.name,onClick:x=>E(d)},[f("span",{class:Fe(["h-1.5 w-1.5 rounded-full",d.enabled?"bg-success":"bg-muted"])},null,2),He(" "+O(d.enabled?"Enabled":"Disabled"),1)],10,md),d.configFields&&d.configFields.length?(A(),C("button",{key:0,class:"pv-btn-sec pv-btn-sm",onClick:x=>_(d)},"Configure",8,gd)):$("",!0),An(d)?(A(),C(X,{key:1},[f("select",{value:Cn(d.name),class:"pv-input pv-input-sm max-w-[11rem]",title:"Bounding box used for this Check — smaller areas cost fewer OpenSky credits",onChange:x=>rs(d.name,x.target.value)},[a[58]||(a[58]=f("option",{value:"__default__"},"Probe: saved default",-1)),(A(),C(X,null,he(Ft,x=>f("optgroup",{key:x.label,label:x.label},[(A(!0),C(X,null,he(x.options,te=>(A(),C("option",{key:te.value,value:te.value},O(te.label),9,yd))),128))],8,xd)),64)),a[59]||(a[59]=f("option",{value:"__custom__"},"Custom…",-1))],40,vd),Cn(d.name)==="__custom__"?(A(),C("input",{key:0,value:be.value[d.name]||"",class:"pv-input pv-input-sm w-40 font-mono",placeholder:"lamin,lomin,lamax,lomax",onInput:x=>Ct(d.name,x.target.value)},null,40,_d)):$("",!0)],64)):$("",!0),f("button",{class:"pv-btn-sec pv-btn-sm",disabled:ve.value===d.name,onClick:x=>P(d)},"Check",8,wd),d.kind==="external"?(A(),C("button",{key:2,class:"pv-btn-sec pv-btn-sm !text-danger",disabled:ve.value===d.name,onClick:x=>R(d)},"Remove",8,Sd)):$("",!0)])]),Qe.value===d.name?(A(),C("div",Ad,[(A(!0),C(X,null,he(d.configFields,x=>(A(),C("label",{key:x.key,class:"flex flex-col gap-1"},[f("span",Cd,[He(O(x.label),1),x.required?(A(),C("span",Ed," *")):$("",!0)]),x.type==="select"?ie((A(),C("select",{key:0,"onUpdate:modelValue":te=>Ae.value[x.key]=te,class:"pv-input"},[(A(!0),C(X,null,he(x.options,te=>(A(),C("option",{key:te.value,value:te.value},O(te.label),9,Td))),128))],8,kd)),[[zt,Ae.value[x.key]]]):x.type==="bbox"?(A(),C(X,{key:1},[f("select",{value:et(x.key),class:"pv-input",onChange:te=>Nt(x.key,te.target.value)},[(A(),C(X,null,he(Ft,te=>f("optgroup",{key:te.label,label:te.label},[(A(!0),C(X,null,he(te.options,Vt=>(A(),C("option",{key:Vt.value,value:Vt.value},O(Vt.label),9,Ud))),128))],8,Od)),64)),a[60]||(a[60]=f("option",{value:"__custom__"},"Custom…",-1))],40,Pd),et(x.key)==="__custom__"?ie((A(),C("input",{key:0,"onUpdate:modelValue":te=>Ae.value[x.key]=te,type:"text",class:"pv-input font-mono",autocomplete:"off",placeholder:"50.5,3.2,53.7,7.3"},null,8,Md)),[[ye,Ae.value[x.key]]]):$("",!0)],64)):ie((A(),C("input",{key:2,"onUpdate:modelValue":te=>Ae.value[x.key]=te,type:x.secret||x.type==="password"?"password":x.type==="number"?"number":"text",class:"pv-input",autocomplete:"off",placeholder:x.help||""},null,8,Id)),[[Sa,Ae.value[x.key]]]),x.help?(A(),C("span",Rd,O(x.help),1)):$("",!0)]))),128)),f("div",Fd,[f("button",{class:"pv-btn pv-btn-sm",disabled:ve.value===d.name,onClick:x=>F(d)},"Save configuration",8,Nd),f("button",{class:"pv-btn-sec pv-btn-sm",onClick:a[19]||(a[19]=x=>Qe.value="")},"Cancel")])])):$("",!0)]))),128)),f("div",Ld,[a[61]||(a[61]=f("div",{class:"pv-eyebrow mb-2"},"Register external plugin",-1)),f("div",Dd,[ie(f("input",{"onUpdate:modelValue":a[20]||(a[20]=d=>Me.value.name=d),class:"pv-input sm:w-40",placeholder:"name",autocomplete:"off",spellcheck:"false"},null,512),[[ye,Me.value.name]]),ie(f("input",{"onUpdate:modelValue":a[21]||(a[21]=d=>Me.value.baseURL=d),class:"pv-input flex-1",placeholder:"https://plugin.example.com",autocomplete:"off",spellcheck:"false"},null,512),[[ye,Me.value.baseURL]]),f("button",{class:"pv-btn",disabled:Et.value,onClick:D},O(Et.value?"Adding…":"Add"),9,Bd)]),tt.value?(A(),C("p",$d,O(tt.value),1)):$("",!0),a[62]||(a[62]=f("p",{class:"mt-2 text-[11px] text-muted"},[He(" A remote service that answers "),f("span",{class:"font-mono"},"GET /health"),He(" and "),f("span",{class:"font-mono"},"GET /manifest"),He(" — added at runtime, no rebuild. ")],-1))])])])],512),[[nn,u.value==="plugins"]])],64)):(A(),C("div",Qa,[a[29]||(a[29]=f("div",{class:"border-b border-subtle px-5 py-4"},[f("div",{class:"text-base font-semibold text-primary"},"Sign in"),f("span",{class:"pv-eyebrow"},"Superadmin access only")],-1)),f("form",{class:"flex flex-col gap-3 px-5 py-5",onSubmit:ka(U,["prevent"])},[f("label",ec,[a[27]||(a[27]=f("span",{class:"pv-eyebrow"},"Email",-1)),ie(f("input",{"onUpdate:modelValue":a[1]||(a[1]=d=>i.value.email=d),type:"email",autocomplete:"username",class:"pv-input",placeholder:"superadmin@pilotvault.local"},null,512),[[ye,i.value.email]])]),f("label",tc,[a[28]||(a[28]=f("span",{class:"pv-eyebrow"},"Password",-1)),ie(f("input",{"onUpdate:modelValue":a[2]||(a[2]=d=>i.value.password=d),type:"password",autocomplete:"current-password",class:"pv-input",placeholder:"••••••••"},null,512),[[ye,i.value.password]])]),l.value?(A(),C("p",nc,O(l.value),1)):$("",!0),f("button",{type:"submit",class:"pv-btn mt-1",disabled:r.value},O(r.value?"Signing in…":"Sign in"),9,sc)],32)])),a[63]||(a[63]=f("p",{class:"text-center font-mono text-[11px] text-muted"}," PilotVault — live drone telemetry, command & control. ",-1))]))}};Ua(jd).mount("#app");
|