pac-proxy-cli 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env CHANGED
@@ -1 +1 @@
1
- REMOTE_SERVER_URL=http://proxy.ah.lonae.com
1
+ REMOTE_SERVER_URL=http://pac.lonae.com
@@ -2,26 +2,26 @@
2
2
  * @vue/shared v3.5.29
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
- **/function ks(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ie={},Ft=[],ot=()=>{},rr=()=>!1,Gn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),_e=Object.assign,js=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ii=Object.prototype.hasOwnProperty,te=(e,t)=>Ii.call(e,t),H=Array.isArray,Bt=e=>_n(e)==="[object Map]",Wn=e=>_n(e)==="[object Set]",ao=e=>_n(e)==="[object Date]",G=e=>typeof e=="function",ge=e=>typeof e=="string",rt=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",ir=e=>(se(e)||G(e))&&G(e.then)&&G(e.catch),lr=Object.prototype.toString,_n=e=>lr.call(e),Ni=e=>_n(e).slice(8,-1),ar=e=>_n(e)==="[object Object]",Vs=e=>ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,sn=ks(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Mi=/-\w/g,Fe=qn(e=>e.replace(Mi,t=>t.slice(1).toUpperCase())),Di=/\B([A-Z])/g,Ut=qn(e=>e.replace(Di,"-$1").toLowerCase()),Jn=qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=qn(e=>e?`on${Jn(e)}`:""),wt=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},cr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},zn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let co;const Qn=()=>co||(co=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Hs(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=ge(s)?$i(s):Hs(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(ge(e)||se(e))return e}const Ui=/;(?![^(]*\))/g,Li=/:([^]+)/,ki=/\/\*[^]*?\*\//g;function $i(e){const t={};return e.replace(ki,"").split(Ui).forEach(n=>{if(n){const s=n.split(Li);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ce(e){let t="";if(ge(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=Ce(e[n]);s&&(t+=s+" ")}else if(se(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const ji="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Vi=ks(ji);function ur(e){return!!e||e===""}function Hi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=bn(e[s],t[s]);return n}function bn(e,t){if(e===t)return!0;let n=ao(e),s=ao(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=rt(e),s=rt(t),n||s)return e===t;if(n=H(e),s=H(t),n||s)return n&&s?Hi(e,t):!1;if(n=se(e),s=se(t),n||s){if(!n||!s)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const l=e.hasOwnProperty(i),a=t.hasOwnProperty(i);if(l&&!a||!l&&a||!bn(e[i],t[i]))return!1}}return String(e)===String(t)}function Fi(e,t){return e.findIndex(n=>bn(n,t))}const fr=e=>!!(e&&e.__v_isRef===!0),J=e=>ge(e)?e:e==null?"":H(e)||se(e)&&(e.toString===lr||!G(e.toString))?fr(e)?J(e.value):JSON.stringify(e,dr,2):String(e),dr=(e,t)=>fr(t)?dr(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[as(s,r)+" =>"]=o,n),{})}:Wn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>as(n))}:rt(t)?as(t):se(t)&&!H(t)&&!ar(t)?String(t):t,as=(e,t="")=>{var n;return rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
5
+ **/function ks(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ie={},Ft=[],ot=()=>{},rr=()=>!1,Gn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),_e=Object.assign,js=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ii=Object.prototype.hasOwnProperty,te=(e,t)=>Ii.call(e,t),H=Array.isArray,Bt=e=>_n(e)==="[object Map]",Wn=e=>_n(e)==="[object Set]",ao=e=>_n(e)==="[object Date]",G=e=>typeof e=="function",ge=e=>typeof e=="string",rt=e=>typeof e=="symbol",se=e=>e!==null&&typeof e=="object",ir=e=>(se(e)||G(e))&&G(e.then)&&G(e.catch),lr=Object.prototype.toString,_n=e=>lr.call(e),Ni=e=>_n(e).slice(8,-1),ar=e=>_n(e)==="[object Object]",Vs=e=>ge(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,sn=ks(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Mi=/-\w/g,He=qn(e=>e.replace(Mi,t=>t.slice(1).toUpperCase())),Di=/\B([A-Z])/g,Ut=qn(e=>e.replace(Di,"-$1").toLowerCase()),Jn=qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=qn(e=>e?`on${Jn(e)}`:""),Et=(e,t)=>!Object.is(e,t),An=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},cr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},zn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let co;const Qn=()=>co||(co=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Hs(e){if(H(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=ge(s)?$i(s):Hs(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(ge(e)||se(e))return e}const Ui=/;(?![^(]*\))/g,Li=/:([^]+)/,ki=/\/\*[^]*?\*\//g;function $i(e){const t={};return e.replace(ki,"").split(Ui).forEach(n=>{if(n){const s=n.split(Li);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ce(e){let t="";if(ge(e))t=e;else if(H(e))for(let n=0;n<e.length;n++){const s=Ce(e[n]);s&&(t+=s+" ")}else if(se(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const ji="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Vi=ks(ji);function ur(e){return!!e||e===""}function Hi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=bn(e[s],t[s]);return n}function bn(e,t){if(e===t)return!0;let n=ao(e),s=ao(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=rt(e),s=rt(t),n||s)return e===t;if(n=H(e),s=H(t),n||s)return n&&s?Hi(e,t):!1;if(n=se(e),s=se(t),n||s){if(!n||!s)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const l=e.hasOwnProperty(i),a=t.hasOwnProperty(i);if(l&&!a||!l&&a||!bn(e[i],t[i]))return!1}}return String(e)===String(t)}function Fi(e,t){return e.findIndex(n=>bn(n,t))}const fr=e=>!!(e&&e.__v_isRef===!0),J=e=>ge(e)?e:e==null?"":H(e)||se(e)&&(e.toString===lr||!G(e.toString))?fr(e)?J(e.value):JSON.stringify(e,dr,2):String(e),dr=(e,t)=>fr(t)?dr(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[as(s,r)+" =>"]=o,n),{})}:Wn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>as(n))}:rt(t)?as(t):se(t)&&!H(t)&&!ar(t)?String(t):t,as=(e,t="")=>{var n;return rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
6
  * @vue/reactivity v3.5.29
7
7
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
8
  * @license MIT
9
- **/let Ne;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Ne,!t&&Ne&&(this.index=(Ne.scopes||(Ne.scopes=[])).push(this)-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=Ne;try{return Ne=this,t()}finally{Ne=n}}}on(){++this._on===1&&(this.prevScope=Ne,Ne=this)}off(){this._on>0&&--this._on===0&&(Ne=this.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 Ki(){return Ne}let ae;const cs=new WeakSet;class pr{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,Ne&&Ne.active&&Ne.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,cs.has(this)&&(cs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,uo(this),mr(this);const t=ae,n=Ke;ae=this,Ke=!0;try{return this.fn()}finally{vr(this),ae=t,Ke=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ks(t);this.deps=this.depsTail=void 0,uo(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?cs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ss(this)&&this.run()}get dirty(){return Ss(this)}}let hr=0,on,rn;function gr(e,t=!1){if(e.flags|=8,t){e.next=rn,rn=e;return}e.next=on,on=e}function Fs(){hr++}function Bs(){if(--hr>0)return;if(rn){let t=rn;for(rn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;on;){let t=on;for(on=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 mr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vr(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),Ks(s),Gi(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Ss(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(yr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function yr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===pn)||(e.globalVersion=pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ss(e))))return;e.flags|=2;const t=e.dep,n=ae,s=Ke;ae=e,Ke=!0;try{mr(e);const o=e.fn(e._value);(t.version===0||wt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ae=n,Ke=s,vr(e),e.flags&=-3}}function Ks(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 r=n.computed.deps;r;r=r.nextDep)Ks(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Gi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ke=!0;const _r=[];function gt(){_r.push(Ke),Ke=!1}function mt(){const e=_r.pop();Ke=e===void 0?!0:e}function uo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ae;ae=void 0;try{t()}finally{ae=n}}}let pn=0;class Wi{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 Gs{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(!ae||!Ke||ae===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ae)n=this.activeLink=new Wi(ae,this),ae.deps?(n.prevDep=ae.depsTail,ae.depsTail.nextDep=n,ae.depsTail=n):ae.deps=ae.depsTail=n,br(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=ae.depsTail,n.nextDep=void 0,ae.depsTail.nextDep=n,ae.depsTail=n,ae.deps===n&&(ae.deps=s)}return n}trigger(t){this.version++,pn++,this.notify(t)}notify(t){Fs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Bs()}}}function br(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)br(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Es=new WeakMap,Nt=Symbol(""),ws=Symbol(""),hn=Symbol("");function be(e,t,n){if(Ke&&ae){let s=Es.get(e);s||Es.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new Gs),o.map=s,o.key=n),o.track()}}function pt(e,t,n,s,o,r){const i=Es.get(e);if(!i){pn++;return}const l=a=>{a&&a.trigger()};if(Fs(),t==="clear")i.forEach(l);else{const a=H(e),f=a&&Vs(n);if(a&&n==="length"){const c=Number(s);i.forEach((p,g)=>{(g==="length"||g===hn||!rt(g)&&g>=c)&&l(p)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),f&&l(i.get(hn)),t){case"add":a?f&&l(i.get("length")):(l(i.get(Nt)),Bt(e)&&l(i.get(ws)));break;case"delete":a||(l(i.get(Nt)),Bt(e)&&l(i.get(ws)));break;case"set":Bt(e)&&l(i.get(Nt));break}}Bs()}function jt(e){const t=ee(e);return t===e?t:(be(t,"iterate",hn),He(e)?t:t.map(qe))}function Yn(e){return be(e=ee(e),"iterate",hn),e}function xt(e,t){return vt(e)?qt(Mt(e)?qe(t):t):qe(t)}const qi={__proto__:null,[Symbol.iterator](){return us(this,Symbol.iterator,e=>xt(this,e))},concat(...e){return jt(this).concat(...e.map(t=>H(t)?jt(t):t))},entries(){return us(this,"entries",e=>(e[1]=xt(this,e[1]),e))},every(e,t){return at(this,"every",e,t,void 0,arguments)},filter(e,t){return at(this,"filter",e,t,n=>n.map(s=>xt(this,s)),arguments)},find(e,t){return at(this,"find",e,t,n=>xt(this,n),arguments)},findIndex(e,t){return at(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return at(this,"findLast",e,t,n=>xt(this,n),arguments)},findLastIndex(e,t){return at(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return at(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return at(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return fo(this,"reduce",e,t)},reduceRight(e,...t){return fo(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return at(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return us(this,"values",e=>xt(this,e))}};function us(e,t,n){const s=Yn(e),o=s[t]();return s!==e&&!He(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const Ji=Array.prototype;function at(e,t,n,s,o,r){const i=Yn(e),l=i!==e&&!He(e),a=i[t];if(a!==Ji[t]){const p=a.apply(e,r);return l?qe(p):p}let f=n;i!==e&&(l?f=function(p,g){return n.call(this,xt(e,p),g,e)}:n.length>2&&(f=function(p,g){return n.call(this,p,g,e)}));const c=a.call(i,f,s);return l&&o?o(c):c}function fo(e,t,n,s){const o=Yn(e);let r=n;return o!==e&&(He(e)?n.length>3&&(r=function(i,l,a){return n.call(this,i,l,a,e)}):r=function(i,l,a){return n.call(this,i,xt(e,l),a,e)}),o[t](r,...s)}function fs(e,t,n){const s=ee(e);be(s,"iterate",hn);const o=s[t](...n);return(o===-1||o===!1)&&Js(n[0])?(n[0]=ee(n[0]),s[t](...n)):o}function Zt(e,t,n=[]){gt(),Fs();const s=ee(e)[t].apply(e,n);return Bs(),mt(),s}const zi=ks("__proto__,__v_isRef,__isVue"),xr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rt));function Qi(e){rt(e)||(e=String(e));const t=ee(this);return be(t,"has",e),t.hasOwnProperty(e)}class Sr{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,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?il:Cr:r?Rr:wr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=H(t);if(!o){let a;if(i&&(a=qi[n]))return a;if(n==="hasOwnProperty")return Qi}const l=Reflect.get(t,n,Se(t)?t:s);if((rt(n)?xr.has(n):zi(n))||(o||be(t,"get",n),r))return l;if(Se(l)){const a=i&&Vs(n)?l:l.value;return o&&se(a)?Mn(a):a}return se(l)?o?Mn(l):xn(l):l}}class Er extends Sr{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const i=H(t)&&Vs(n);if(!this._isShallow){const f=vt(r);if(!He(s)&&!vt(s)&&(r=ee(r),s=ee(s)),!i&&Se(r)&&!Se(s))return f||(r.value=s),!0}const l=i?Number(n)<t.length:te(t,n),a=Reflect.set(t,n,s,Se(t)?t:o);return t===ee(o)&&(l?wt(s,r)&&pt(t,"set",n,s):pt(t,"add",n,s)),a}deleteProperty(t,n){const s=te(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&pt(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!rt(n)||!xr.has(n))&&be(t,"has",n),s}ownKeys(t){return be(t,"iterate",H(t)?"length":Nt),Reflect.ownKeys(t)}}class Yi extends Sr{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Xi=new Er,Zi=new Yi,el=new Er(!0);const Rs=e=>e,wn=e=>Reflect.getPrototypeOf(e);function tl(e,t,n){return function(...s){const o=this.__v_raw,r=ee(o),i=Bt(r),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,f=o[e](...s),c=n?Rs:t?qt:qe;return!t&&be(r,"iterate",a?ws:Nt),_e(Object.create(f),{next(){const{value:p,done:g}=f.next();return g?{value:p,done:g}:{value:l?[c(p[0]),c(p[1])]:c(p),done:g}}})}}function Rn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function nl(e,t){const n={get(o){const r=this.__v_raw,i=ee(r),l=ee(o);e||(wt(o,l)&&be(i,"get",o),be(i,"get",l));const{has:a}=wn(i),f=t?Rs:e?qt:qe;if(a.call(i,o))return f(r.get(o));if(a.call(i,l))return f(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&be(ee(o),"iterate",Nt),o.size},has(o){const r=this.__v_raw,i=ee(r),l=ee(o);return e||(wt(o,l)&&be(i,"has",o),be(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,a=ee(l),f=t?Rs:e?qt:qe;return!e&&be(a,"iterate",Nt),l.forEach((c,p)=>o.call(r,f(c),f(p),i))}};return _e(n,e?{add:Rn("add"),set:Rn("set"),delete:Rn("delete"),clear:Rn("clear")}:{add(o){!t&&!He(o)&&!vt(o)&&(o=ee(o));const r=ee(this);return wn(r).has.call(r,o)||(r.add(o),pt(r,"add",o,o)),this},set(o,r){!t&&!He(r)&&!vt(r)&&(r=ee(r));const i=ee(this),{has:l,get:a}=wn(i);let f=l.call(i,o);f||(o=ee(o),f=l.call(i,o));const c=a.call(i,o);return i.set(o,r),f?wt(r,c)&&pt(i,"set",o,r):pt(i,"add",o,r),this},delete(o){const r=ee(this),{has:i,get:l}=wn(r);let a=i.call(r,o);a||(o=ee(o),a=i.call(r,o)),l&&l.call(r,o);const f=r.delete(o);return a&&pt(r,"delete",o,void 0),f},clear(){const o=ee(this),r=o.size!==0,i=o.clear();return r&&pt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=tl(o,e,t)}),n}function Ws(e,t){const n=nl(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(te(n,o)&&o in s?n:s,o,r)}const sl={get:Ws(!1,!1)},ol={get:Ws(!1,!0)},rl={get:Ws(!0,!1)};const wr=new WeakMap,Rr=new WeakMap,Cr=new WeakMap,il=new WeakMap;function ll(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function al(e){return e.__v_skip||!Object.isExtensible(e)?0:ll(Ni(e))}function xn(e){return vt(e)?e:qs(e,!1,Xi,sl,wr)}function Ar(e){return qs(e,!1,el,ol,Rr)}function Mn(e){return qs(e,!0,Zi,rl,Cr)}function qs(e,t,n,s,o){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=al(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?s:n);return o.set(e,l),l}function Mt(e){return vt(e)?Mt(e.__v_raw):!!(e&&e.__v_isReactive)}function vt(e){return!!(e&&e.__v_isReadonly)}function He(e){return!!(e&&e.__v_isShallow)}function Js(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function cl(e){return!te(e,"__v_skip")&&Object.isExtensible(e)&&cr(e,"__v_skip",!0),e}const qe=e=>se(e)?xn(e):e,qt=e=>se(e)?Mn(e):e;function Se(e){return e?e.__v_isRef===!0:!1}function Y(e){return Pr(e,!1)}function ul(e){return Pr(e,!0)}function Pr(e,t){return Se(e)?e:new fl(e,t)}class fl{constructor(t,n){this.dep=new Gs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:qe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||He(t)||vt(t);t=s?t:ee(t),wt(t,n)&&(this._rawValue=t,this._value=s?t:qe(t),this.dep.trigger())}}function Dt(e){return Se(e)?e.value:e}const dl={get:(e,t,n)=>t==="__v_raw"?e:Dt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Tr(e){return Mt(e)?e:new Proxy(e,dl)}class pl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Gs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ae!==this)return gr(this,!0),!0}get value(){const t=this.dep.track();return yr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,n=!1){let s,o;return G(e)?s=e:(s=e.get,o=e.set),new pl(s,o,n)}const Cn={},Dn=new WeakMap;let Tt;function gl(e,t=!1,n=Tt){if(n){let s=Dn.get(n);s||Dn.set(n,s=[]),s.push(e)}}function ml(e,t,n=ie){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:a}=n,f=D=>o?D:He(D)||o===!1||o===0?ht(D,1):ht(D);let c,p,g,v,O=!1,w=!1;if(Se(e)?(p=()=>e.value,O=He(e)):Mt(e)?(p=()=>f(e),O=!0):H(e)?(w=!0,O=e.some(D=>Mt(D)||He(D)),p=()=>e.map(D=>{if(Se(D))return D.value;if(Mt(D))return f(D);if(G(D))return a?a(D,2):D()})):G(e)?t?p=a?()=>a(e,2):e:p=()=>{if(g){gt();try{g()}finally{mt()}}const D=Tt;Tt=c;try{return a?a(e,3,[v]):e(v)}finally{Tt=D}}:p=ot,t&&o){const D=p,F=o===!0?1/0:o;p=()=>ht(D(),F)}const E=Ki(),C=()=>{c.stop(),E&&E.active&&js(E.effects,c)};if(r&&t){const D=t;t=(...F)=>{D(...F),C()}}let x=w?new Array(e.length).fill(Cn):Cn;const A=D=>{if(!(!(c.flags&1)||!c.dirty&&!D))if(t){const F=c.run();if(o||O||(w?F.some((ce,re)=>wt(ce,x[re])):wt(F,x))){g&&g();const ce=Tt;Tt=c;try{const re=[F,x===Cn?void 0:w&&x[0]===Cn?[]:x,v];x=F,a?a(t,3,re):t(...re)}finally{Tt=ce}}}else c.run()};return l&&l(A),c=new pr(p),c.scheduler=i?()=>i(A,!1):A,v=D=>gl(D,!1,c),g=c.onStop=()=>{const D=Dn.get(c);if(D){if(a)a(D,4);else for(const F of D)F();Dn.delete(c)}},t?s?A(!0):x=c.run():i?i(A.bind(null,!0),!0):c.run(),C.pause=c.pause.bind(c),C.resume=c.resume.bind(c),C.stop=C,C}function ht(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--,Se(e))ht(e.value,t,n);else if(H(e))for(let s=0;s<e.length;s++)ht(e[s],t,n);else if(Wn(e)||Bt(e))e.forEach(s=>{ht(s,t,n)});else if(ar(e)){for(const s in e)ht(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ht(e[s],t,n)}return e}/**
9
+ **/let Ne;class Bi{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Ne,!t&&Ne&&(this.index=(Ne.scopes||(Ne.scopes=[])).push(this)-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=Ne;try{return Ne=this,t()}finally{Ne=n}}}on(){++this._on===1&&(this.prevScope=Ne,Ne=this)}off(){this._on>0&&--this._on===0&&(Ne=this.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 Ki(){return Ne}let ae;const cs=new WeakSet;class pr{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,Ne&&Ne.active&&Ne.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,cs.has(this)&&(cs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||gr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,uo(this),mr(this);const t=ae,n=Ke;ae=this,Ke=!0;try{return this.fn()}finally{vr(this),ae=t,Ke=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Ks(t);this.deps=this.depsTail=void 0,uo(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?cs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ss(this)&&this.run()}get dirty(){return Ss(this)}}let hr=0,on,rn;function gr(e,t=!1){if(e.flags|=8,t){e.next=rn,rn=e;return}e.next=on,on=e}function Fs(){hr++}function Bs(){if(--hr>0)return;if(rn){let t=rn;for(rn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;on;){let t=on;for(on=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 mr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vr(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),Ks(s),Gi(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Ss(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(yr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function yr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===pn)||(e.globalVersion=pn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ss(e))))return;e.flags|=2;const t=e.dep,n=ae,s=Ke;ae=e,Ke=!0;try{mr(e);const o=e.fn(e._value);(t.version===0||Et(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{ae=n,Ke=s,vr(e),e.flags&=-3}}function Ks(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 r=n.computed.deps;r;r=r.nextDep)Ks(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Gi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ke=!0;const _r=[];function ht(){_r.push(Ke),Ke=!1}function gt(){const e=_r.pop();Ke=e===void 0?!0:e}function uo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ae;ae=void 0;try{t()}finally{ae=n}}}let pn=0;class Wi{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 Gs{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(!ae||!Ke||ae===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ae)n=this.activeLink=new Wi(ae,this),ae.deps?(n.prevDep=ae.depsTail,ae.depsTail.nextDep=n,ae.depsTail=n):ae.deps=ae.depsTail=n,br(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=ae.depsTail,n.nextDep=void 0,ae.depsTail.nextDep=n,ae.depsTail=n,ae.deps===n&&(ae.deps=s)}return n}trigger(t){this.version++,pn++,this.notify(t)}notify(t){Fs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Bs()}}}function br(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)br(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Es=new WeakMap,Nt=Symbol(""),ws=Symbol(""),hn=Symbol("");function be(e,t,n){if(Ke&&ae){let s=Es.get(e);s||Es.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new Gs),o.map=s,o.key=n),o.track()}}function dt(e,t,n,s,o,r){const i=Es.get(e);if(!i){pn++;return}const l=a=>{a&&a.trigger()};if(Fs(),t==="clear")i.forEach(l);else{const a=H(e),f=a&&Vs(n);if(a&&n==="length"){const c=Number(s);i.forEach((p,g)=>{(g==="length"||g===hn||!rt(g)&&g>=c)&&l(p)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),f&&l(i.get(hn)),t){case"add":a?f&&l(i.get("length")):(l(i.get(Nt)),Bt(e)&&l(i.get(ws)));break;case"delete":a||(l(i.get(Nt)),Bt(e)&&l(i.get(ws)));break;case"set":Bt(e)&&l(i.get(Nt));break}}Bs()}function jt(e){const t=ee(e);return t===e?t:(be(t,"iterate",hn),Ve(e)?t:t.map(qe))}function Yn(e){return be(e=ee(e),"iterate",hn),e}function bt(e,t){return mt(e)?qt(Mt(e)?qe(t):t):qe(t)}const qi={__proto__:null,[Symbol.iterator](){return us(this,Symbol.iterator,e=>bt(this,e))},concat(...e){return jt(this).concat(...e.map(t=>H(t)?jt(t):t))},entries(){return us(this,"entries",e=>(e[1]=bt(this,e[1]),e))},every(e,t){return at(this,"every",e,t,void 0,arguments)},filter(e,t){return at(this,"filter",e,t,n=>n.map(s=>bt(this,s)),arguments)},find(e,t){return at(this,"find",e,t,n=>bt(this,n),arguments)},findIndex(e,t){return at(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return at(this,"findLast",e,t,n=>bt(this,n),arguments)},findLastIndex(e,t){return at(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return at(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return jt(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return at(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return fo(this,"reduce",e,t)},reduceRight(e,...t){return fo(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return at(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return jt(this).toReversed()},toSorted(e){return jt(this).toSorted(e)},toSpliced(...e){return jt(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return us(this,"values",e=>bt(this,e))}};function us(e,t,n){const s=Yn(e),o=s[t]();return s!==e&&!Ve(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const Ji=Array.prototype;function at(e,t,n,s,o,r){const i=Yn(e),l=i!==e&&!Ve(e),a=i[t];if(a!==Ji[t]){const p=a.apply(e,r);return l?qe(p):p}let f=n;i!==e&&(l?f=function(p,g){return n.call(this,bt(e,p),g,e)}:n.length>2&&(f=function(p,g){return n.call(this,p,g,e)}));const c=a.call(i,f,s);return l&&o?o(c):c}function fo(e,t,n,s){const o=Yn(e);let r=n;return o!==e&&(Ve(e)?n.length>3&&(r=function(i,l,a){return n.call(this,i,l,a,e)}):r=function(i,l,a){return n.call(this,i,bt(e,l),a,e)}),o[t](r,...s)}function fs(e,t,n){const s=ee(e);be(s,"iterate",hn);const o=s[t](...n);return(o===-1||o===!1)&&Js(n[0])?(n[0]=ee(n[0]),s[t](...n)):o}function Zt(e,t,n=[]){ht(),Fs();const s=ee(e)[t].apply(e,n);return Bs(),gt(),s}const zi=ks("__proto__,__v_isRef,__isVue"),xr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rt));function Qi(e){rt(e)||(e=String(e));const t=ee(this);return be(t,"has",e),t.hasOwnProperty(e)}class Sr{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,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?il:Cr:r?Rr:wr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=H(t);if(!o){let a;if(i&&(a=qi[n]))return a;if(n==="hasOwnProperty")return Qi}const l=Reflect.get(t,n,Se(t)?t:s);if((rt(n)?xr.has(n):zi(n))||(o||be(t,"get",n),r))return l;if(Se(l)){const a=i&&Vs(n)?l:l.value;return o&&se(a)?Mn(a):a}return se(l)?o?Mn(l):xn(l):l}}class Er extends Sr{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const i=H(t)&&Vs(n);if(!this._isShallow){const f=mt(r);if(!Ve(s)&&!mt(s)&&(r=ee(r),s=ee(s)),!i&&Se(r)&&!Se(s))return f||(r.value=s),!0}const l=i?Number(n)<t.length:te(t,n),a=Reflect.set(t,n,s,Se(t)?t:o);return t===ee(o)&&(l?Et(s,r)&&dt(t,"set",n,s):dt(t,"add",n,s)),a}deleteProperty(t,n){const s=te(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&dt(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!rt(n)||!xr.has(n))&&be(t,"has",n),s}ownKeys(t){return be(t,"iterate",H(t)?"length":Nt),Reflect.ownKeys(t)}}class Yi extends Sr{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Xi=new Er,Zi=new Yi,el=new Er(!0);const Rs=e=>e,wn=e=>Reflect.getPrototypeOf(e);function tl(e,t,n){return function(...s){const o=this.__v_raw,r=ee(o),i=Bt(r),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,f=o[e](...s),c=n?Rs:t?qt:qe;return!t&&be(r,"iterate",a?ws:Nt),_e(Object.create(f),{next(){const{value:p,done:g}=f.next();return g?{value:p,done:g}:{value:l?[c(p[0]),c(p[1])]:c(p),done:g}}})}}function Rn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function nl(e,t){const n={get(o){const r=this.__v_raw,i=ee(r),l=ee(o);e||(Et(o,l)&&be(i,"get",o),be(i,"get",l));const{has:a}=wn(i),f=t?Rs:e?qt:qe;if(a.call(i,o))return f(r.get(o));if(a.call(i,l))return f(r.get(l));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&be(ee(o),"iterate",Nt),o.size},has(o){const r=this.__v_raw,i=ee(r),l=ee(o);return e||(Et(o,l)&&be(i,"has",o),be(i,"has",l)),o===l?r.has(o):r.has(o)||r.has(l)},forEach(o,r){const i=this,l=i.__v_raw,a=ee(l),f=t?Rs:e?qt:qe;return!e&&be(a,"iterate",Nt),l.forEach((c,p)=>o.call(r,f(c),f(p),i))}};return _e(n,e?{add:Rn("add"),set:Rn("set"),delete:Rn("delete"),clear:Rn("clear")}:{add(o){!t&&!Ve(o)&&!mt(o)&&(o=ee(o));const r=ee(this);return wn(r).has.call(r,o)||(r.add(o),dt(r,"add",o,o)),this},set(o,r){!t&&!Ve(r)&&!mt(r)&&(r=ee(r));const i=ee(this),{has:l,get:a}=wn(i);let f=l.call(i,o);f||(o=ee(o),f=l.call(i,o));const c=a.call(i,o);return i.set(o,r),f?Et(r,c)&&dt(i,"set",o,r):dt(i,"add",o,r),this},delete(o){const r=ee(this),{has:i,get:l}=wn(r);let a=i.call(r,o);a||(o=ee(o),a=i.call(r,o)),l&&l.call(r,o);const f=r.delete(o);return a&&dt(r,"delete",o,void 0),f},clear(){const o=ee(this),r=o.size!==0,i=o.clear();return r&&dt(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=tl(o,e,t)}),n}function Ws(e,t){const n=nl(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(te(n,o)&&o in s?n:s,o,r)}const sl={get:Ws(!1,!1)},ol={get:Ws(!1,!0)},rl={get:Ws(!0,!1)};const wr=new WeakMap,Rr=new WeakMap,Cr=new WeakMap,il=new WeakMap;function ll(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function al(e){return e.__v_skip||!Object.isExtensible(e)?0:ll(Ni(e))}function xn(e){return mt(e)?e:qs(e,!1,Xi,sl,wr)}function Ar(e){return qs(e,!1,el,ol,Rr)}function Mn(e){return qs(e,!0,Zi,rl,Cr)}function qs(e,t,n,s,o){if(!se(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=al(e);if(r===0)return e;const i=o.get(e);if(i)return i;const l=new Proxy(e,r===2?s:n);return o.set(e,l),l}function Mt(e){return mt(e)?Mt(e.__v_raw):!!(e&&e.__v_isReactive)}function mt(e){return!!(e&&e.__v_isReadonly)}function Ve(e){return!!(e&&e.__v_isShallow)}function Js(e){return e?!!e.__v_raw:!1}function ee(e){const t=e&&e.__v_raw;return t?ee(t):e}function cl(e){return!te(e,"__v_skip")&&Object.isExtensible(e)&&cr(e,"__v_skip",!0),e}const qe=e=>se(e)?xn(e):e,qt=e=>se(e)?Mn(e):e;function Se(e){return e?e.__v_isRef===!0:!1}function Y(e){return Pr(e,!1)}function ul(e){return Pr(e,!0)}function Pr(e,t){return Se(e)?e:new fl(e,t)}class fl{constructor(t,n){this.dep=new Gs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ee(t),this._value=n?t:qe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ve(t)||mt(t);t=s?t:ee(t),Et(t,n)&&(this._rawValue=t,this._value=s?t:qe(t),this.dep.trigger())}}function Dt(e){return Se(e)?e.value:e}const dl={get:(e,t,n)=>t==="__v_raw"?e:Dt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Se(o)&&!Se(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function Tr(e){return Mt(e)?e:new Proxy(e,dl)}class pl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Gs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=pn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ae!==this)return gr(this,!0),!0}get value(){const t=this.dep.track();return yr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,n=!1){let s,o;return G(e)?s=e:(s=e.get,o=e.set),new pl(s,o,n)}const Cn={},Dn=new WeakMap;let Pt;function gl(e,t=!1,n=Pt){if(n){let s=Dn.get(n);s||Dn.set(n,s=[]),s.push(e)}}function ml(e,t,n=ie){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:a}=n,f=D=>o?D:Ve(D)||o===!1||o===0?pt(D,1):pt(D);let c,p,g,v,O=!1,w=!1;if(Se(e)?(p=()=>e.value,O=Ve(e)):Mt(e)?(p=()=>f(e),O=!0):H(e)?(w=!0,O=e.some(D=>Mt(D)||Ve(D)),p=()=>e.map(D=>{if(Se(D))return D.value;if(Mt(D))return f(D);if(G(D))return a?a(D,2):D()})):G(e)?t?p=a?()=>a(e,2):e:p=()=>{if(g){ht();try{g()}finally{gt()}}const D=Pt;Pt=c;try{return a?a(e,3,[v]):e(v)}finally{Pt=D}}:p=ot,t&&o){const D=p,F=o===!0?1/0:o;p=()=>pt(D(),F)}const E=Ki(),C=()=>{c.stop(),E&&E.active&&js(E.effects,c)};if(r&&t){const D=t;t=(...F)=>{D(...F),C()}}let x=w?new Array(e.length).fill(Cn):Cn;const A=D=>{if(!(!(c.flags&1)||!c.dirty&&!D))if(t){const F=c.run();if(o||O||(w?F.some((ce,re)=>Et(ce,x[re])):Et(F,x))){g&&g();const ce=Pt;Pt=c;try{const re=[F,x===Cn?void 0:w&&x[0]===Cn?[]:x,v];x=F,a?a(t,3,re):t(...re)}finally{Pt=ce}}}else c.run()};return l&&l(A),c=new pr(p),c.scheduler=i?()=>i(A,!1):A,v=D=>gl(D,!1,c),g=c.onStop=()=>{const D=Dn.get(c);if(D){if(a)a(D,4);else for(const F of D)F();Dn.delete(c)}},t?s?A(!0):x=c.run():i?i(A.bind(null,!0),!0):c.run(),C.pause=c.pause.bind(c),C.resume=c.resume.bind(c),C.stop=C,C}function pt(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--,Se(e))pt(e.value,t,n);else if(H(e))for(let s=0;s<e.length;s++)pt(e[s],t,n);else if(Wn(e)||Bt(e))e.forEach(s=>{pt(s,t,n)});else if(ar(e)){for(const s in e)pt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&pt(e[s],t,n)}return e}/**
10
10
  * @vue/runtime-core v3.5.29
11
11
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
12
  * @license MIT
13
- **/function Sn(e,t,n,s){try{return s?e(...s):e()}catch(o){Xn(o,t,n)}}function it(e,t,n,s){if(G(e)){const o=Sn(e,t,n,s);return o&&ir(o)&&o.catch(r=>{Xn(r,t,n)}),o}if(H(e)){const o=[];for(let r=0;r<e.length;r++)o.push(it(e[r],t,n,s));return o}}function Xn(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||ie;if(t){let l=t.parent;const a=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const c=l.ec;if(c){for(let p=0;p<c.length;p++)if(c[p](e,a,f)===!1)return}l=l.parent}if(r){gt(),Sn(r,null,10,[e,a,f]),mt();return}}vl(e,n,o,s,i)}function vl(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const Re=[];let nt=-1;const Kt=[];let St=null,Vt=0;const Or=Promise.resolve();let Un=null;function zs(e){const t=Un||Or;return e?t.then(this?e.bind(this):e):t}function yl(e){let t=nt+1,n=Re.length;for(;t<n;){const s=t+n>>>1,o=Re[s],r=gn(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function Qs(e){if(!(e.flags&1)){const t=gn(e),n=Re[Re.length-1];!n||!(e.flags&2)&&t>=gn(n)?Re.push(e):Re.splice(yl(t),0,e),e.flags|=1,Ir()}}function Ir(){Un||(Un=Or.then(Mr))}function _l(e){H(e)?Kt.push(...e):St&&e.id===-1?St.splice(Vt+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),Ir()}function po(e,t,n=nt+1){for(;n<Re.length;n++){const s=Re[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Re.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Nr(e){if(Kt.length){const t=[...new Set(Kt)].sort((n,s)=>gn(n)-gn(s));if(Kt.length=0,St){St.push(...t);return}for(St=t,Vt=0;Vt<St.length;Vt++){const n=St[Vt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}St=null,Vt=0}}const gn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Mr(e){try{for(nt=0;nt<Re.length;nt++){const t=Re[nt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Sn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;nt<Re.length;nt++){const t=Re[nt];t&&(t.flags&=-2)}nt=-1,Re.length=0,Nr(),Un=null,(Re.length||Kt.length)&&Mr()}}let ke=null,Dr=null;function Ln(e){const t=ke;return ke=e,Dr=e&&e.type.__scopeId||null,t}function ft(e,t=ke,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Vn(-1);const r=Ln(t);let i;try{i=e(...o)}finally{Ln(r),s._d&&Vn(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Ae(e,t){if(ke===null)return e;const n=ns(ke),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,l,a=ie]=t[o];r&&(G(r)&&(r={mounted:r,updated:r}),r.deep&&ht(i),s.push({dir:r,instance:n,value:i,oldValue:void 0,arg:l,modifiers:a}))}return e}function At(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const l=o[i];r&&(l.oldValue=r[i].value);let a=l.dir[s];a&&(gt(),it(a,n,8,[e.el,l,e,t]),mt())}}function Pn(e,t){if(xe){let n=xe.provides;const s=xe.parent&&xe.parent.provides;s===n&&(n=xe.provides=Object.create(s)),n[e]=t}}function Ge(e,t,n=!1){const s=ba();if(s||Gt){let o=Gt?Gt._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&&G(t)?t.call(s&&s.proxy):t}}const bl=Symbol.for("v-scx"),xl=()=>Ge(bl);function ln(e,t,n){return Ur(e,t,n)}function Ur(e,t,n=ie){const{immediate:s,deep:o,flush:r,once:i}=n,l=_e({},n),a=t&&s||!t&&r!=="post";let f;if(vn){if(r==="sync"){const v=xl();f=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=ot,v.resume=ot,v.pause=ot,v}}const c=xe;l.call=(v,O,w)=>it(v,c,O,w);let p=!1;r==="post"?l.scheduler=v=>{Ie(v,c&&c.suspense)}:r!=="sync"&&(p=!0,l.scheduler=(v,O)=>{O?v():Qs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const g=ml(e,t,l);return vn&&(f?f.push(g):a&&g()),g}function Sl(e,t,n){const s=this.proxy,o=ge(e)?e.includes(".")?Lr(s,e):()=>s[e]:e.bind(s,s);let r;G(t)?r=t:(r=t.handler,n=t);const i=En(this),l=Ur(o,r.bind(s),n);return i(),l}function Lr(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 El=Symbol("_vte"),wl=e=>e.__isTeleport,Rl=Symbol("_leaveCb");function Ys(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ys(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 kr(e,t){return G(e)?_e({name:e.name},t,{setup:e}):e}function $r(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ho(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const kn=new WeakMap;function an(e,t,n,s,o=!1){if(H(e)){e.forEach((w,E)=>an(w,t&&(H(t)?t[E]:t),n,s,o));return}if(cn(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&an(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?ns(s.component):s.el,i=o?null:r,{i:l,r:a}=e,f=t&&t.r,c=l.refs===ie?l.refs={}:l.refs,p=l.setupState,g=ee(p),v=p===ie?rr:w=>ho(c,w)?!1:te(g,w),O=(w,E)=>!(E&&ho(c,E));if(f!=null&&f!==a){if(go(t),ge(f))c[f]=null,v(f)&&(p[f]=null);else if(Se(f)){const w=t;O(f,w.k)&&(f.value=null),w.k&&(c[w.k]=null)}}if(G(a))Sn(a,l,12,[i,c]);else{const w=ge(a),E=Se(a);if(w||E){const C=()=>{if(e.f){const x=w?v(a)?p[a]:c[a]:O()||!e.k?a.value:c[e.k];if(o)H(x)&&js(x,r);else if(H(x))x.includes(r)||x.push(r);else if(w)c[a]=[r],v(a)&&(p[a]=c[a]);else{const A=[r];O(a,e.k)&&(a.value=A),e.k&&(c[e.k]=A)}}else w?(c[a]=i,v(a)&&(p[a]=i)):E&&(O(a,e.k)&&(a.value=i),e.k&&(c[e.k]=i))};if(i){const x=()=>{C(),kn.delete(e)};x.id=-1,kn.set(e,x),Ie(x,n)}else go(e),C()}}}function go(e){const t=kn.get(e);t&&(t.flags|=8,kn.delete(e))}Qn().requestIdleCallback;Qn().cancelIdleCallback;const cn=e=>!!e.type.__asyncLoader,jr=e=>e.type.__isKeepAlive;function Cl(e,t){Vr(e,"a",t)}function Al(e,t){Vr(e,"da",t)}function Vr(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Zn(t,s,n),n){let o=n.parent;for(;o&&o.parent;)jr(o.parent.vnode)&&Pl(s,t,n,o),o=o.parent}}function Pl(e,t,n,s){const o=Zn(t,e,s,!0);Hr(()=>{js(s[t],o)},n)}function Zn(e,t,n=xe,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{gt();const l=En(n),a=it(t,n,e,i);return l(),mt(),a});return s?o.unshift(r):o.push(r),r}}const yt=e=>(t,n=xe)=>{(!vn||e==="sp")&&Zn(e,(...s)=>t(...s),n)},Tl=yt("bm"),Yt=yt("m"),Ol=yt("bu"),Il=yt("u"),Nl=yt("bum"),Hr=yt("um"),Ml=yt("sp"),Dl=yt("rtg"),Ul=yt("rtc");function Ll(e,t=xe){Zn("ec",e,t)}const kl="components";function $n(e,t){return jl(kl,e,!0,t)||e}const $l=Symbol.for("v-ndc");function jl(e,t,n=!0,s=!1){const o=ke||xe;if(o){const r=o.type;{const l=Ra(r,!1);if(l&&(l===t||l===Fe(t)||l===Jn(Fe(t))))return r}const i=mo(o[e]||r[e],t)||mo(o.appContext[e],t);return!i&&s?r:i}}function mo(e,t){return e&&(e[t]||e[Fe(t)]||e[Jn(Fe(t))])}function Cs(e,t,n,s){let o;const r=n,i=H(e);if(i||ge(e)){const l=i&&Mt(e);let a=!1,f=!1;l&&(a=!He(e),f=vt(e),e=Yn(e)),o=new Array(e.length);for(let c=0,p=e.length;c<p;c++)o[c]=t(a?f?qt(qe(e[c])):qe(e[c]):e[c],c,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,r)}else if(se(e))if(e[Symbol.iterator])o=Array.from(e,(l,a)=>t(l,a,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,f=l.length;a<f;a++){const c=l[a];o[a]=t(e[c],c,a,r)}}else o=[];return o}const As=e=>e?li(e)?ns(e):As(e.parent):null,un=_e(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=>As(e.parent),$root:e=>As(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Br(e),$forceUpdate:e=>e.f||(e.f=()=>{Qs(e.update)}),$nextTick:e=>e.n||(e.n=zs.bind(e.proxy)),$watch:e=>Sl.bind(e)}),ds=(e,t)=>e!==ie&&!e.__isScriptSetup&&te(e,t),Vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(ds(s,t))return i[t]=1,s[t];if(o!==ie&&te(o,t))return i[t]=2,o[t];if(te(r,t))return i[t]=3,r[t];if(n!==ie&&te(n,t))return i[t]=4,n[t];Ps&&(i[t]=0)}}const f=un[t];let c,p;if(f)return t==="$attrs"&&be(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==ie&&te(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,te(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return ds(o,t)?(o[t]=n,!0):s!==ie&&te(s,t)?(s[t]=n,!0):te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:r,type:i}},l){let a;return!!(n[l]||e!==ie&&l[0]!=="$"&&te(e,l)||ds(t,l)||te(r,l)||te(s,l)||te(un,l)||te(o.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vo(e){return H(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ps=!0;function Hl(e){const t=Br(e),n=e.proxy,s=e.ctx;Ps=!1,t.beforeCreate&&yo(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:a,inject:f,created:c,beforeMount:p,mounted:g,beforeUpdate:v,updated:O,activated:w,deactivated:E,beforeDestroy:C,beforeUnmount:x,destroyed:A,unmounted:D,render:F,renderTracked:ce,renderTriggered:re,errorCaptured:je,serverPrefetch:Be,expose:De,inheritAttrs:ze,components:Qe,directives:k,filters:L}=t;if(f&&Fl(f,s,null),i)for(const oe in i){const X=i[oe];G(X)&&(s[oe]=X.bind(n))}if(o){const oe=o.call(n,n);se(oe)&&(e.data=xn(oe))}if(Ps=!0,r)for(const oe in r){const X=r[oe],lt=G(X)?X.bind(n,n):G(X.get)?X.get.bind(n,n):ot,_t=!G(X)&&G(X.set)?X.set.bind(n):ot,Ye=ve({get:lt,set:_t});Object.defineProperty(s,oe,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Pe=>Ye.value=Pe})}if(l)for(const oe in l)Fr(l[oe],s,n,oe);if(a){const oe=G(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(X=>{Pn(X,oe[X])})}c&&yo(c,e,"c");function ue(oe,X){H(X)?X.forEach(lt=>oe(lt.bind(n))):X&&oe(X.bind(n))}if(ue(Tl,p),ue(Yt,g),ue(Ol,v),ue(Il,O),ue(Cl,w),ue(Al,E),ue(Ll,je),ue(Ul,ce),ue(Dl,re),ue(Nl,x),ue(Hr,D),ue(Ml,Be),H(De))if(De.length){const oe=e.exposed||(e.exposed={});De.forEach(X=>{Object.defineProperty(oe,X,{get:()=>n[X],set:lt=>n[X]=lt,enumerable:!0})})}else e.exposed||(e.exposed={});F&&e.render===ot&&(e.render=F),ze!=null&&(e.inheritAttrs=ze),Qe&&(e.components=Qe),k&&(e.directives=k),Be&&$r(e)}function Fl(e,t,n=ot){H(e)&&(e=Ts(e));for(const s in e){const o=e[s];let r;se(o)?"default"in o?r=Ge(o.from||s,o.default,!0):r=Ge(o.from||s):r=Ge(o),Se(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function yo(e,t,n){it(H(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fr(e,t,n,s){let o=s.includes(".")?Lr(n,s):()=>n[s];if(ge(e)){const r=t[e];G(r)&&ln(o,r)}else if(G(e))ln(o,e.bind(n));else if(se(e))if(H(e))e.forEach(r=>Fr(r,t,n,s));else{const r=G(e.handler)?e.handler.bind(n):t[e.handler];G(r)&&ln(o,r,e)}}function Br(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let a;return l?a=l:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(f=>jn(a,f,i,!0)),jn(a,t,i)),se(t)&&r.set(t,a),a}function jn(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&jn(e,r,n,!0),o&&o.forEach(i=>jn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Bl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Bl={data:_o,props:bo,emits:bo,methods:nn,computed:nn,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:nn,directives:nn,watch:Gl,provide:_o,inject:Kl};function _o(e,t){return t?e?function(){return _e(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function Kl(e,t){return nn(Ts(e),Ts(t))}function Ts(e){if(H(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 nn(e,t){return e?_e(Object.create(null),e,t):t}function bo(e,t){return e?H(e)&&H(t)?[...new Set([...e,...t])]:_e(Object.create(null),vo(e),vo(t??{})):t}function Gl(e,t){if(!e)return t;if(!t)return e;const n=_e(Object.create(null),e);for(const s in t)n[s]=Ee(e[s],t[s]);return n}function Kr(){return{app:null,config:{isNativeTag:rr,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 Wl=0;function ql(e,t){return function(s,o=null){G(s)||(s=_e({},s)),o!=null&&!se(o)&&(o=null);const r=Kr(),i=new WeakSet,l=[];let a=!1;const f=r.app={_uid:Wl++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Aa,get config(){return r.config},set config(c){},use(c,...p){return i.has(c)||(c&&G(c.install)?(i.add(c),c.install(f,...p)):G(c)&&(i.add(c),c(f,...p))),f},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),f},component(c,p){return p?(r.components[c]=p,f):r.components[c]},directive(c,p){return p?(r.directives[c]=p,f):r.directives[c]},mount(c,p,g){if(!a){const v=f._ceVNode||fe(s,o);return v.appContext=r,g===!0?g="svg":g===!1&&(g=void 0),e(v,c,g),a=!0,f._container=c,c.__vue_app__=f,ns(v.component)}},onUnmount(c){l.push(c)},unmount(){a&&(it(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(c,p){return r.provides[c]=p,f},runWithContext(c){const p=Gt;Gt=f;try{return c()}finally{Gt=p}}};return f}}let Gt=null;const Jl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Fe(t)}Modifiers`]||e[`${Ut(t)}Modifiers`];function zl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ie;let o=n;const r=t.startsWith("update:"),i=r&&Jl(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>ge(c)?c.trim():c)),i.number&&(o=n.map(zn)));let l,a=s[l=ls(t)]||s[l=ls(Fe(t))];!a&&r&&(a=s[l=ls(Ut(t))]),a&&it(a,e,6,o);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,it(f,e,6,o)}}const Ql=new WeakMap;function Gr(e,t,n=!1){const s=n?Ql:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!G(e)){const a=f=>{const c=Gr(f,t,!0);c&&(l=!0,_e(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(se(e)&&s.set(e,null),null):(H(r)?r.forEach(a=>i[a]=null):_e(i,r),se(e)&&s.set(e,i),i)}function es(e,t){return!e||!Gn(t)?!1:(t=t.slice(2).replace(/Once$/,""),te(e,t[0].toLowerCase()+t.slice(1))||te(e,Ut(t))||te(e,t))}function xo(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:a,render:f,renderCache:c,props:p,data:g,setupState:v,ctx:O,inheritAttrs:w}=e,E=Ln(e);let C,x;try{if(n.shapeFlag&4){const D=o||s,F=D;C=st(f.call(F,D,c,p,v,g,O)),x=l}else{const D=t;C=st(D.length>1?D(p,{attrs:l,slots:i,emit:a}):D(p,null)),x=t.props?l:Yl(l)}}catch(D){fn.length=0,Xn(D,e,1),C=fe(Rt)}let A=C;if(x&&w!==!1){const D=Object.keys(x),{shapeFlag:F}=A;D.length&&F&7&&(r&&D.some($s)&&(x=Xl(x,r)),A=Jt(A,x,!1,!0))}return n.dirs&&(A=Jt(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&Ys(A,n.transition),C=A,Ln(E),C}const Yl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Gn(n))&&((t||(t={}))[n]=e[n]);return t},Xl=(e,t)=>{const n={};for(const s in e)(!$s(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Zl(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:a}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?So(s,i,f):!!i;if(a&8){const c=t.dynamicProps;for(let p=0;p<c.length;p++){const g=c[p];if(Wr(i,s,g)&&!es(f,g))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?So(s,i,f):!0:!!i;return!1}function So(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 r=s[o];if(Wr(t,e,r)&&!es(n,r))return!0}return!1}function Wr(e,t,n){const s=e[n],o=t[n];return n==="style"&&se(s)&&se(o)?!bn(s,o):s!==o}function ea({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const qr={},Jr=()=>Object.create(qr),zr=e=>Object.getPrototypeOf(e)===qr;function ta(e,t,n,s=!1){const o={},r=Jr();e.propsDefaults=Object.create(null),Qr(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Ar(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function na(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=ee(o),[a]=e.propsOptions;let f=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let p=0;p<c.length;p++){let g=c[p];if(es(e.emitsOptions,g))continue;const v=t[g];if(a)if(te(r,g))v!==r[g]&&(r[g]=v,f=!0);else{const O=Fe(g);o[O]=Os(a,l,O,v,e,!1)}else v!==r[g]&&(r[g]=v,f=!0)}}}else{Qr(e,t,o,r)&&(f=!0);let c;for(const p in l)(!t||!te(t,p)&&((c=Ut(p))===p||!te(t,c)))&&(a?n&&(n[p]!==void 0||n[c]!==void 0)&&(o[p]=Os(a,l,p,void 0,e,!0)):delete o[p]);if(r!==l)for(const p in r)(!t||!te(t,p))&&(delete r[p],f=!0)}f&&pt(e.attrs,"set","")}function Qr(e,t,n,s){const[o,r]=e.propsOptions;let i=!1,l;if(t)for(let a in t){if(sn(a))continue;const f=t[a];let c;o&&te(o,c=Fe(a))?!r||!r.includes(c)?n[c]=f:(l||(l={}))[c]=f:es(e.emitsOptions,a)||(!(a in s)||f!==s[a])&&(s[a]=f,i=!0)}if(r){const a=ee(n),f=l||ie;for(let c=0;c<r.length;c++){const p=r[c];n[p]=Os(o,a,p,f[p],e,!te(f,p))}}return i}function Os(e,t,n,s,o,r){const i=e[n];if(i!=null){const l=te(i,"default");if(l&&s===void 0){const a=i.default;if(i.type!==Function&&!i.skipFactory&&G(a)){const{propsDefaults:f}=o;if(n in f)s=f[n];else{const c=En(o);s=f[n]=a.call(null,t),c()}}else s=a;o.ce&&o.ce._setProp(n,s)}i[0]&&(r&&!l?s=!1:i[1]&&(s===""||s===Ut(n))&&(s=!0))}return s}const sa=new WeakMap;function Yr(e,t,n=!1){const s=n?sa:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,i={},l=[];let a=!1;if(!G(e)){const c=p=>{a=!0;const[g,v]=Yr(p,t,!0);_e(i,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return se(e)&&s.set(e,Ft),Ft;if(H(r))for(let c=0;c<r.length;c++){const p=Fe(r[c]);Eo(p)&&(i[p]=ie)}else if(r)for(const c in r){const p=Fe(c);if(Eo(p)){const g=r[c],v=i[p]=H(g)||G(g)?{type:g}:_e({},g),O=v.type;let w=!1,E=!0;if(H(O))for(let C=0;C<O.length;++C){const x=O[C],A=G(x)&&x.name;if(A==="Boolean"){w=!0;break}else A==="String"&&(E=!1)}else w=G(O)&&O.name==="Boolean";v[0]=w,v[1]=E,(w||te(v,"default"))&&l.push(p)}}const f=[i,l];return se(e)&&s.set(e,f),f}function Eo(e){return e[0]!=="$"&&!sn(e)}const Xs=e=>e==="_"||e==="_ctx"||e==="$stable",Zs=e=>H(e)?e.map(st):[st(e)],oa=(e,t,n)=>{if(t._n)return t;const s=ft((...o)=>Zs(t(...o)),n);return s._c=!1,s},Xr=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Xs(o))continue;const r=e[o];if(G(r))t[o]=oa(o,r,s);else if(r!=null){const i=Zs(r);t[o]=()=>i}}},Zr=(e,t)=>{const n=Zs(t);e.slots.default=()=>n},ei=(e,t,n)=>{for(const s in t)(n||!Xs(s))&&(e[s]=t[s])},ra=(e,t,n)=>{const s=e.slots=Jr();if(e.vnode.shapeFlag&32){const o=t._;o?(ei(s,t,n),n&&cr(s,"_",o,!0)):Xr(t,s)}else t&&Zr(e,t)},ia=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=ie;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:ei(o,t,n):(r=!t.$stable,Xr(t,o)),i=t}else t&&(Zr(e,t),i={default:1});if(r)for(const l in o)!Xs(l)&&i[l]==null&&delete o[l]},Ie=fa;function la(e){return aa(e)}function aa(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:a,setText:f,setElementText:c,parentNode:p,nextSibling:g,setScopeId:v=ot,insertStaticContent:O}=e,w=(u,d,m,y=null,S=null,_=null,I=void 0,T=null,P=!!d.dynamicChildren)=>{if(u===d)return;u&&!en(u,d)&&(y=b(u),Pe(u,S,_,!0),u=null),d.patchFlag===-2&&(P=!1,d.dynamicChildren=null);const{type:R,ref:V,shapeFlag:M}=d;switch(R){case ts:E(u,d,m,y);break;case Rt:C(u,d,m,y);break;case Tn:u==null&&x(d,m,y,I);break;case Me:Qe(u,d,m,y,S,_,I,T,P);break;default:M&1?F(u,d,m,y,S,_,I,T,P):M&6?k(u,d,m,y,S,_,I,T,P):(M&64||M&128)&&R.process(u,d,m,y,S,_,I,T,P,$)}V!=null&&S?an(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&an(u.ref,null,_,u,!0)},E=(u,d,m,y)=>{if(u==null)s(d.el=l(d.children),m,y);else{const S=d.el=u.el;d.children!==u.children&&f(S,d.children)}},C=(u,d,m,y)=>{u==null?s(d.el=a(d.children||""),m,y):d.el=u.el},x=(u,d,m,y)=>{[u.el,u.anchor]=O(u.children,d,m,y,u.el,u.anchor)},A=({el:u,anchor:d},m,y)=>{let S;for(;u&&u!==d;)S=g(u),s(u,m,y),u=S;s(d,m,y)},D=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=g(u),o(u),u=m;o(d)},F=(u,d,m,y,S,_,I,T,P)=>{if(d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),u==null)ce(d,m,y,S,_,I,T,P);else{const R=u.el&&u.el._isVueCE?u.el:null;try{R&&R._beginPatch(),Be(u,d,S,_,I,T,P)}finally{R&&R._endPatch()}}},ce=(u,d,m,y,S,_,I,T)=>{let P,R;const{props:V,shapeFlag:M,transition:j,dirs:B}=u;if(P=u.el=i(u.type,_,V&&V.is,V),M&8?c(P,u.children):M&16&&je(u.children,P,null,y,S,ps(u,_),I,T),B&&At(u,null,y,"created"),re(P,u,u.scopeId,I,y),V){for(const le in V)le!=="value"&&!sn(le)&&r(P,le,null,V[le],_,y);"value"in V&&r(P,"value",null,V.value,_),(R=V.onVnodeBeforeMount)&&tt(R,y,u)}B&&At(u,null,y,"beforeMount");const Q=ca(S,j);Q&&j.beforeEnter(P),s(P,d,m),((R=V&&V.onVnodeMounted)||Q||B)&&Ie(()=>{R&&tt(R,y,u),Q&&j.enter(P),B&&At(u,null,y,"mounted")},S)},re=(u,d,m,y,S)=>{if(m&&v(u,m),y)for(let _=0;_<y.length;_++)v(u,y[_]);if(S){let _=S.subTree;if(d===_||oi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const I=S.vnode;re(u,I,I.scopeId,I.slotScopeIds,S.parent)}}},je=(u,d,m,y,S,_,I,T,P=0)=>{for(let R=P;R<u.length;R++){const V=u[R]=T?dt(u[R]):st(u[R]);w(null,V,d,m,y,S,_,I,T)}},Be=(u,d,m,y,S,_,I)=>{const T=d.el=u.el;let{patchFlag:P,dynamicChildren:R,dirs:V}=d;P|=u.patchFlag&16;const M=u.props||ie,j=d.props||ie;let B;if(m&&Pt(m,!1),(B=j.onVnodeBeforeUpdate)&&tt(B,m,d,u),V&&At(d,u,m,"beforeUpdate"),m&&Pt(m,!0),(M.innerHTML&&j.innerHTML==null||M.textContent&&j.textContent==null)&&c(T,""),R?De(u.dynamicChildren,R,T,m,y,ps(d,S),_):I||X(u,d,T,null,m,y,ps(d,S),_,!1),P>0){if(P&16)ze(T,M,j,m,S);else if(P&2&&M.class!==j.class&&r(T,"class",null,j.class,S),P&4&&r(T,"style",M.style,j.style,S),P&8){const Q=d.dynamicProps;for(let le=0;le<Q.length;le++){const ne=Q[le],Te=M[ne],Oe=j[ne];(Oe!==Te||ne==="value")&&r(T,ne,Te,Oe,S,m)}}P&1&&u.children!==d.children&&c(T,d.children)}else!I&&R==null&&ze(T,M,j,m,S);((B=j.onVnodeUpdated)||V)&&Ie(()=>{B&&tt(B,m,d,u),V&&At(d,u,m,"updated")},y)},De=(u,d,m,y,S,_,I)=>{for(let T=0;T<d.length;T++){const P=u[T],R=d[T],V=P.el&&(P.type===Me||!en(P,R)||P.shapeFlag&198)?p(P.el):m;w(P,R,V,null,y,S,_,I,!0)}},ze=(u,d,m,y,S)=>{if(d!==m){if(d!==ie)for(const _ in d)!sn(_)&&!(_ in m)&&r(u,_,d[_],null,S,y);for(const _ in m){if(sn(_))continue;const I=m[_],T=d[_];I!==T&&_!=="value"&&r(u,_,T,I,S,y)}"value"in m&&r(u,"value",d.value,m.value,S)}},Qe=(u,d,m,y,S,_,I,T,P)=>{const R=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:M,dynamicChildren:j,slotScopeIds:B}=d;B&&(T=T?T.concat(B):B),u==null?(s(R,m,y),s(V,m,y),je(d.children||[],m,V,S,_,I,T,P)):M>0&&M&64&&j&&u.dynamicChildren&&u.dynamicChildren.length===j.length?(De(u.dynamicChildren,j,m,S,_,I,T),(d.key!=null||S&&d===S.subTree)&&ti(u,d,!0)):X(u,d,m,V,S,_,I,T,P)},k=(u,d,m,y,S,_,I,T,P)=>{d.slotScopeIds=T,u==null?d.shapeFlag&512?S.ctx.activate(d,m,y,I,P):L(d,m,y,S,_,I,P):K(u,d,P)},L=(u,d,m,y,S,_,I)=>{const T=u.component=_a(u,y,S);if(jr(u)&&(T.ctx.renderer=$),xa(T,!1,I),T.asyncDep){if(S&&S.registerDep(T,ue,I),!u.el){const P=T.subTree=fe(Rt);C(null,P,d,m),u.placeholder=P.el}}else ue(T,u,d,m,S,_,I)},K=(u,d,m)=>{const y=d.component=u.component;if(Zl(u,d,m))if(y.asyncDep&&!y.asyncResolved){oe(y,d,m);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},ue=(u,d,m,y,S,_,I)=>{const T=()=>{if(u.isMounted){let{next:M,bu:j,u:B,parent:Q,vnode:le}=u;{const Ze=ni(u);if(Ze){M&&(M.el=le.el,oe(u,M,I)),Ze.asyncDep.then(()=>{Ie(()=>{u.isUnmounted||R()},S)});return}}let ne=M,Te;Pt(u,!1),M?(M.el=le.el,oe(u,M,I)):M=le,j&&An(j),(Te=M.props&&M.props.onVnodeBeforeUpdate)&&tt(Te,Q,M,le),Pt(u,!0);const Oe=xo(u),Xe=u.subTree;u.subTree=Oe,w(Xe,Oe,p(Xe.el),b(Xe),u,S,_),M.el=Oe.el,ne===null&&ea(u,Oe.el),B&&Ie(B,S),(Te=M.props&&M.props.onVnodeUpdated)&&Ie(()=>tt(Te,Q,M,le),S)}else{let M;const{el:j,props:B}=d,{bm:Q,m:le,parent:ne,root:Te,type:Oe}=u,Xe=cn(d);Pt(u,!1),Q&&An(Q),!Xe&&(M=B&&B.onVnodeBeforeMount)&&tt(M,ne,d),Pt(u,!0);{Te.ce&&Te.ce._hasShadowRoot()&&Te.ce._injectChildStyle(Oe);const Ze=u.subTree=xo(u);w(null,Ze,m,y,u,S,_),d.el=Ze.el}if(le&&Ie(le,S),!Xe&&(M=B&&B.onVnodeMounted)){const Ze=d;Ie(()=>tt(M,ne,Ze),S)}(d.shapeFlag&256||ne&&cn(ne.vnode)&&ne.vnode.shapeFlag&256)&&u.a&&Ie(u.a,S),u.isMounted=!0,d=m=y=null}};u.scope.on();const P=u.effect=new pr(T);u.scope.off();const R=u.update=P.run.bind(P),V=u.job=P.runIfDirty.bind(P);V.i=u,V.id=u.uid,P.scheduler=()=>Qs(V),Pt(u,!0),R()},oe=(u,d,m)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,na(u,d.props,y,m),ia(u,d.children,m),gt(),po(u),mt()},X=(u,d,m,y,S,_,I,T,P=!1)=>{const R=u&&u.children,V=u?u.shapeFlag:0,M=d.children,{patchFlag:j,shapeFlag:B}=d;if(j>0){if(j&128){_t(R,M,m,y,S,_,I,T,P);return}else if(j&256){lt(R,M,m,y,S,_,I,T,P);return}}B&8?(V&16&&Ve(R,S,_),M!==R&&c(m,M)):V&16?B&16?_t(R,M,m,y,S,_,I,T,P):Ve(R,S,_,!0):(V&8&&c(m,""),B&16&&je(M,m,y,S,_,I,T,P))},lt=(u,d,m,y,S,_,I,T,P)=>{u=u||Ft,d=d||Ft;const R=u.length,V=d.length,M=Math.min(R,V);let j;for(j=0;j<M;j++){const B=d[j]=P?dt(d[j]):st(d[j]);w(u[j],B,m,null,S,_,I,T,P)}R>V?Ve(u,S,_,!0,!1,M):je(d,m,y,S,_,I,T,P,M)},_t=(u,d,m,y,S,_,I,T,P)=>{let R=0;const V=d.length;let M=u.length-1,j=V-1;for(;R<=M&&R<=j;){const B=u[R],Q=d[R]=P?dt(d[R]):st(d[R]);if(en(B,Q))w(B,Q,m,null,S,_,I,T,P);else break;R++}for(;R<=M&&R<=j;){const B=u[M],Q=d[j]=P?dt(d[j]):st(d[j]);if(en(B,Q))w(B,Q,m,null,S,_,I,T,P);else break;M--,j--}if(R>M){if(R<=j){const B=j+1,Q=B<V?d[B].el:y;for(;R<=j;)w(null,d[R]=P?dt(d[R]):st(d[R]),m,Q,S,_,I,T,P),R++}}else if(R>j)for(;R<=M;)Pe(u[R],S,_,!0),R++;else{const B=R,Q=R,le=new Map;for(R=Q;R<=j;R++){const Ue=d[R]=P?dt(d[R]):st(d[R]);Ue.key!=null&&le.set(Ue.key,R)}let ne,Te=0;const Oe=j-Q+1;let Xe=!1,Ze=0;const Xt=new Array(Oe);for(R=0;R<Oe;R++)Xt[R]=0;for(R=B;R<=M;R++){const Ue=u[R];if(Te>=Oe){Pe(Ue,S,_,!0);continue}let et;if(Ue.key!=null)et=le.get(Ue.key);else for(ne=Q;ne<=j;ne++)if(Xt[ne-Q]===0&&en(Ue,d[ne])){et=ne;break}et===void 0?Pe(Ue,S,_,!0):(Xt[et-Q]=R+1,et>=Ze?Ze=et:Xe=!0,w(Ue,d[et],m,null,S,_,I,T,P),Te++)}const ro=Xe?ua(Xt):Ft;for(ne=ro.length-1,R=Oe-1;R>=0;R--){const Ue=Q+R,et=d[Ue],io=d[Ue+1],lo=Ue+1<V?io.el||si(io):y;Xt[R]===0?w(null,et,m,lo,S,_,I,T,P):Xe&&(ne<0||R!==ro[ne]?Ye(et,m,lo,2):ne--)}}},Ye=(u,d,m,y,S=null)=>{const{el:_,type:I,transition:T,children:P,shapeFlag:R}=u;if(R&6){Ye(u.component.subTree,d,m,y);return}if(R&128){u.suspense.move(d,m,y);return}if(R&64){I.move(u,d,m,$);return}if(I===Me){s(_,d,m);for(let M=0;M<P.length;M++)Ye(P[M],d,m,y);s(u.anchor,d,m);return}if(I===Tn){A(u,d,m);return}if(y!==2&&R&1&&T)if(y===0)T.beforeEnter(_),s(_,d,m),Ie(()=>T.enter(_),S);else{const{leave:M,delayLeave:j,afterLeave:B}=T,Q=()=>{u.ctx.isUnmounted?o(_):s(_,d,m)},le=()=>{_._isLeaving&&_[Rl](!0),M(_,()=>{Q(),B&&B()})};j?j(_,Q,le):le()}else s(_,d,m)},Pe=(u,d,m,y=!1,S=!1)=>{const{type:_,props:I,ref:T,children:P,dynamicChildren:R,shapeFlag:V,patchFlag:M,dirs:j,cacheIndex:B}=u;if(M===-2&&(S=!1),T!=null&&(gt(),an(T,null,m,u,!0),mt()),B!=null&&(d.renderCache[B]=void 0),V&256){d.ctx.deactivate(u);return}const Q=V&1&&j,le=!cn(u);let ne;if(le&&(ne=I&&I.onVnodeBeforeUnmount)&&tt(ne,d,u),V&6)Ct(u.component,m,y);else{if(V&128){u.suspense.unmount(m,y);return}Q&&At(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,m,$,y):R&&!R.hasOnce&&(_!==Me||M>0&&M&64)?Ve(R,d,m,!1,!0):(_===Me&&M&384||!S&&V&16)&&Ve(P,d,m),y&&kt(u)}(le&&(ne=I&&I.onVnodeUnmounted)||Q)&&Ie(()=>{ne&&tt(ne,d,u),Q&&At(u,null,d,"unmounted")},m)},kt=u=>{const{type:d,el:m,anchor:y,transition:S}=u;if(d===Me){$t(m,y);return}if(d===Tn){D(u);return}const _=()=>{o(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(u.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:T}=S,P=()=>I(m,_);T?T(u.el,_,P):P()}else _()},$t=(u,d)=>{let m;for(;u!==d;)m=g(u),o(u),u=m;o(d)},Ct=(u,d,m)=>{const{bum:y,scope:S,job:_,subTree:I,um:T,m:P,a:R}=u;wo(P),wo(R),y&&An(y),S.stop(),_&&(_.flags|=8,Pe(I,u,d,m)),T&&Ie(T,d),Ie(()=>{u.isUnmounted=!0},d)},Ve=(u,d,m,y=!1,S=!1,_=0)=>{for(let I=_;I<u.length;I++)Pe(u[I],d,m,y,S)},b=u=>{if(u.shapeFlag&6)return b(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),m=d&&d[El];return m?g(m):d};let U=!1;const N=(u,d,m)=>{let y;u==null?d._vnode&&(Pe(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,m),d._vnode=u,U||(U=!0,po(y),Nr(),U=!1)},$={p:w,um:Pe,m:Ye,r:kt,mt:L,mc:je,pc:X,pbc:De,n:b,o:e};return{render:N,hydrate:void 0,createApp:ql(N)}}function ps({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 Pt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ca(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ti(e,t,n=!1){const s=e.children,o=t.children;if(H(s)&&H(o))for(let r=0;r<s.length;r++){const i=s[r];let l=o[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[r]=dt(o[r]),l.el=i.el),!n&&l.patchFlag!==-2&&ti(i,l)),l.type===ts&&(l.patchFlag===-1&&(l=o[r]=dt(l)),l.el=i.el),l.type===Rt&&!l.el&&(l.el=i.el)}}function ua(e){const t=e.slice(),n=[0];let s,o,r,i,l;const a=e.length;for(s=0;s<a;s++){const f=e[s];if(f!==0){if(o=n[n.length-1],e[o]<f){t[s]=o,n.push(s);continue}for(r=0,i=n.length-1;r<i;)l=r+i>>1,e[n[l]]<f?r=l+1:i=l;f<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function ni(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ni(t)}function wo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function si(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?si(t.subTree):null}const oi=e=>e.__isSuspense;function fa(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):_l(e)}const Me=Symbol.for("v-fgt"),ts=Symbol.for("v-txt"),Rt=Symbol.for("v-cmt"),Tn=Symbol.for("v-stc"),fn=[];let $e=null;function W(e=!1){fn.push($e=e?null:[])}function da(){fn.pop(),$e=fn[fn.length-1]||null}let mn=1;function Vn(e,t=!1){mn+=e,e<0&&$e&&t&&($e.hasOnce=!0)}function ri(e){return e.dynamicChildren=mn>0?$e||Ft:null,da(),mn>0&&$e&&$e.push(e),e}function q(e,t,n,s,o,r){return ri(h(e,t,n,s,o,r,!0))}function pa(e,t,n,s,o){return ri(fe(e,t,n,s,o,!0))}function Hn(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const ii=({key:e})=>e??null,On=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ge(e)||Se(e)||G(e)?{i:ke,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,o=null,r=e===Me?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ii(t),ref:t&&On(t),scopeId:Dr,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:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:ke};return l?(eo(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=ge(n)?8:16),mn>0&&!i&&$e&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&$e.push(a),a}const fe=ha;function ha(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===$l)&&(e=Rt),Hn(e)){const l=Jt(e,t,!0);return n&&eo(l,n),mn>0&&!r&&$e&&(l.shapeFlag&6?$e[$e.indexOf(e)]=l:$e.push(l)),l.patchFlag=-2,l}if(Ca(e)&&(e=e.__vccOpts),t){t=ga(t);let{class:l,style:a}=t;l&&!ge(l)&&(t.class=Ce(l)),se(a)&&(Js(a)&&!H(a)&&(a=_e({},a)),t.style=Hs(a))}const i=ge(e)?1:oi(e)?128:wl(e)?64:se(e)?4:G(e)?2:0;return h(e,t,n,s,o,i,r,!0)}function ga(e){return e?Js(e)||zr(e)?_e({},e):e:null}function Jt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:a}=e,f=t?ma(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ii(f),ref:t&&t.ref?n&&r?H(r)?r.concat(On(t)):[r,On(t)]:On(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jt(e.ssContent),ssFallback:e.ssFallback&&Jt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Ys(c,a.clone(c)),c}function Le(e=" ",t=0){return fe(ts,null,e,t)}function Ro(e,t){const n=fe(Tn,null,e);return n.staticCount=t,n}function he(e="",t=!1){return t?(W(),pa(Rt,null,e)):fe(Rt,null,e)}function st(e){return e==null||typeof e=="boolean"?fe(Rt):H(e)?fe(Me,null,e.slice()):Hn(e)?dt(e):fe(ts,null,String(e))}function dt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jt(e)}function eo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),eo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!zr(t)?t._ctx=ke:o===3&&ke&&(ke.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:ke},n=32):(t=String(t),s&64?(n=16,t=[Le(t)]):n=8);e.children=t,e.shapeFlag|=n}function ma(...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=Ce([t.class,s.class]));else if(o==="style")t.style=Hs([t.style,s.style]);else if(Gn(o)){const r=t[o],i=s[o];i&&r!==i&&!(H(r)&&r.includes(i))&&(t[o]=r?[].concat(r,i):i)}else o!==""&&(t[o]=s[o])}return t}function tt(e,t,n,s=null){it(e,t,7,[n,s])}const va=Kr();let ya=0;function _a(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||va,r={uid:ya++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Bi(!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:Yr(s,o),emitsOptions:Gr(s,o),emit:null,emitted:null,propsDefaults:ie,inheritAttrs:s.inheritAttrs,ctx:ie,data:ie,props:ie,attrs:ie,slots:ie,refs:ie,setupState:ie,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 r.ctx={_:r},r.root=t?t.root:r,r.emit=zl.bind(null,r),e.ce&&e.ce(r),r}let xe=null;const ba=()=>xe||ke;let Fn,Is;{const e=Qn(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Fn=t("__VUE_INSTANCE_SETTERS__",n=>xe=n),Is=t("__VUE_SSR_SETTERS__",n=>vn=n)}const En=e=>{const t=xe;return Fn(e),e.scope.on(),()=>{e.scope.off(),Fn(t)}},Co=()=>{xe&&xe.scope.off(),Fn(null)};function li(e){return e.vnode.shapeFlag&4}let vn=!1;function xa(e,t=!1,n=!1){t&&Is(t);const{props:s,children:o}=e.vnode,r=li(e);ta(e,s,r,t),ra(e,o,n||t);const i=r?Sa(e,t):void 0;return t&&Is(!1),i}function Sa(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vl);const{setup:s}=n;if(s){gt();const o=e.setupContext=s.length>1?wa(e):null,r=En(e),i=Sn(s,e,0,[e.props,o]),l=ir(i);if(mt(),r(),(l||e.sp)&&!cn(e)&&$r(e),l){if(i.then(Co,Co),t)return i.then(a=>{Ao(e,a)}).catch(a=>{Xn(a,e,0)});e.asyncDep=i}else Ao(e,i)}else ai(e)}function Ao(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Tr(t)),ai(e)}function ai(e,t,n){const s=e.type;e.render||(e.render=s.render||ot);{const o=En(e);gt();try{Hl(e)}finally{mt(),o()}}}const Ea={get(e,t){return be(e,"get",""),e[t]}};function wa(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ea),slots:e.slots,emit:e.emit,expose:t}}function ns(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tr(cl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in un)return un[n](e)},has(t,n){return n in t||n in un}})):e.proxy}function Ra(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function Ca(e){return G(e)&&"__vccOpts"in e}const ve=(e,t)=>hl(e,t,vn);function ci(e,t,n){try{Vn(-1);const s=arguments.length;return s===2?se(t)&&!H(t)?Hn(t)?fe(e,null,[t]):fe(e,t):fe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Hn(n)&&(n=[n]),fe(e,t,n))}finally{Vn(1)}}const Aa="3.5.29";/**
13
+ **/function Sn(e,t,n,s){try{return s?e(...s):e()}catch(o){Xn(o,t,n)}}function it(e,t,n,s){if(G(e)){const o=Sn(e,t,n,s);return o&&ir(o)&&o.catch(r=>{Xn(r,t,n)}),o}if(H(e)){const o=[];for(let r=0;r<e.length;r++)o.push(it(e[r],t,n,s));return o}}function Xn(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||ie;if(t){let l=t.parent;const a=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const c=l.ec;if(c){for(let p=0;p<c.length;p++)if(c[p](e,a,f)===!1)return}l=l.parent}if(r){ht(),Sn(r,null,10,[e,a,f]),gt();return}}vl(e,n,o,s,i)}function vl(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const Re=[];let nt=-1;const Kt=[];let xt=null,Vt=0;const Or=Promise.resolve();let Un=null;function zs(e){const t=Un||Or;return e?t.then(this?e.bind(this):e):t}function yl(e){let t=nt+1,n=Re.length;for(;t<n;){const s=t+n>>>1,o=Re[s],r=gn(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function Qs(e){if(!(e.flags&1)){const t=gn(e),n=Re[Re.length-1];!n||!(e.flags&2)&&t>=gn(n)?Re.push(e):Re.splice(yl(t),0,e),e.flags|=1,Ir()}}function Ir(){Un||(Un=Or.then(Mr))}function _l(e){H(e)?Kt.push(...e):xt&&e.id===-1?xt.splice(Vt+1,0,e):e.flags&1||(Kt.push(e),e.flags|=1),Ir()}function po(e,t,n=nt+1){for(;n<Re.length;n++){const s=Re[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Re.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Nr(e){if(Kt.length){const t=[...new Set(Kt)].sort((n,s)=>gn(n)-gn(s));if(Kt.length=0,xt){xt.push(...t);return}for(xt=t,Vt=0;Vt<xt.length;Vt++){const n=xt[Vt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}xt=null,Vt=0}}const gn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Mr(e){try{for(nt=0;nt<Re.length;nt++){const t=Re[nt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Sn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;nt<Re.length;nt++){const t=Re[nt];t&&(t.flags&=-2)}nt=-1,Re.length=0,Nr(),Un=null,(Re.length||Kt.length)&&Mr()}}let Le=null,Dr=null;function Ln(e){const t=Le;return Le=e,Dr=e&&e.type.__scopeId||null,t}function Ot(e,t=Le,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Vn(-1);const r=Ln(t);let i;try{i=e(...o)}finally{Ln(r),s._d&&Vn(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function Ae(e,t){if(Le===null)return e;const n=ns(Le),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,l,a=ie]=t[o];r&&(G(r)&&(r={mounted:r,updated:r}),r.deep&&pt(i),s.push({dir:r,instance:n,value:i,oldValue:void 0,arg:l,modifiers:a}))}return e}function Ct(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const l=o[i];r&&(l.oldValue=r[i].value);let a=l.dir[s];a&&(ht(),it(a,n,8,[e.el,l,e,t]),gt())}}function Pn(e,t){if(xe){let n=xe.provides;const s=xe.parent&&xe.parent.provides;s===n&&(n=xe.provides=Object.create(s)),n[e]=t}}function Ge(e,t,n=!1){const s=ba();if(s||Gt){let o=Gt?Gt._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&&G(t)?t.call(s&&s.proxy):t}}const bl=Symbol.for("v-scx"),xl=()=>Ge(bl);function ln(e,t,n){return Ur(e,t,n)}function Ur(e,t,n=ie){const{immediate:s,deep:o,flush:r,once:i}=n,l=_e({},n),a=t&&s||!t&&r!=="post";let f;if(vn){if(r==="sync"){const v=xl();f=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=ot,v.resume=ot,v.pause=ot,v}}const c=xe;l.call=(v,O,w)=>it(v,c,O,w);let p=!1;r==="post"?l.scheduler=v=>{Ie(v,c&&c.suspense)}:r!=="sync"&&(p=!0,l.scheduler=(v,O)=>{O?v():Qs(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,c&&(v.id=c.uid,v.i=c))};const g=ml(e,t,l);return vn&&(f?f.push(g):a&&g()),g}function Sl(e,t,n){const s=this.proxy,o=ge(e)?e.includes(".")?Lr(s,e):()=>s[e]:e.bind(s,s);let r;G(t)?r=t:(r=t.handler,n=t);const i=En(this),l=Ur(o,r.bind(s),n);return i(),l}function Lr(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 El=Symbol("_vte"),wl=e=>e.__isTeleport,Rl=Symbol("_leaveCb");function Ys(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Ys(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 kr(e,t){return G(e)?_e({name:e.name},t,{setup:e}):e}function $r(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ho(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const kn=new WeakMap;function an(e,t,n,s,o=!1){if(H(e)){e.forEach((w,E)=>an(w,t&&(H(t)?t[E]:t),n,s,o));return}if(cn(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&an(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?ns(s.component):s.el,i=o?null:r,{i:l,r:a}=e,f=t&&t.r,c=l.refs===ie?l.refs={}:l.refs,p=l.setupState,g=ee(p),v=p===ie?rr:w=>ho(c,w)?!1:te(g,w),O=(w,E)=>!(E&&ho(c,E));if(f!=null&&f!==a){if(go(t),ge(f))c[f]=null,v(f)&&(p[f]=null);else if(Se(f)){const w=t;O(f,w.k)&&(f.value=null),w.k&&(c[w.k]=null)}}if(G(a))Sn(a,l,12,[i,c]);else{const w=ge(a),E=Se(a);if(w||E){const C=()=>{if(e.f){const x=w?v(a)?p[a]:c[a]:O()||!e.k?a.value:c[e.k];if(o)H(x)&&js(x,r);else if(H(x))x.includes(r)||x.push(r);else if(w)c[a]=[r],v(a)&&(p[a]=c[a]);else{const A=[r];O(a,e.k)&&(a.value=A),e.k&&(c[e.k]=A)}}else w?(c[a]=i,v(a)&&(p[a]=i)):E&&(O(a,e.k)&&(a.value=i),e.k&&(c[e.k]=i))};if(i){const x=()=>{C(),kn.delete(e)};x.id=-1,kn.set(e,x),Ie(x,n)}else go(e),C()}}}function go(e){const t=kn.get(e);t&&(t.flags|=8,kn.delete(e))}Qn().requestIdleCallback;Qn().cancelIdleCallback;const cn=e=>!!e.type.__asyncLoader,jr=e=>e.type.__isKeepAlive;function Cl(e,t){Vr(e,"a",t)}function Al(e,t){Vr(e,"da",t)}function Vr(e,t,n=xe){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Zn(t,s,n),n){let o=n.parent;for(;o&&o.parent;)jr(o.parent.vnode)&&Pl(s,t,n,o),o=o.parent}}function Pl(e,t,n,s){const o=Zn(t,e,s,!0);Hr(()=>{js(s[t],o)},n)}function Zn(e,t,n=xe,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{ht();const l=En(n),a=it(t,n,e,i);return l(),gt(),a});return s?o.unshift(r):o.push(r),r}}const vt=e=>(t,n=xe)=>{(!vn||e==="sp")&&Zn(e,(...s)=>t(...s),n)},Tl=vt("bm"),Yt=vt("m"),Ol=vt("bu"),Il=vt("u"),Nl=vt("bum"),Hr=vt("um"),Ml=vt("sp"),Dl=vt("rtg"),Ul=vt("rtc");function Ll(e,t=xe){Zn("ec",e,t)}const kl="components";function $n(e,t){return jl(kl,e,!0,t)||e}const $l=Symbol.for("v-ndc");function jl(e,t,n=!0,s=!1){const o=Le||xe;if(o){const r=o.type;{const l=Ra(r,!1);if(l&&(l===t||l===He(t)||l===Jn(He(t))))return r}const i=mo(o[e]||r[e],t)||mo(o.appContext[e],t);return!i&&s?r:i}}function mo(e,t){return e&&(e[t]||e[He(t)]||e[Jn(He(t))])}function Cs(e,t,n,s){let o;const r=n,i=H(e);if(i||ge(e)){const l=i&&Mt(e);let a=!1,f=!1;l&&(a=!Ve(e),f=mt(e),e=Yn(e)),o=new Array(e.length);for(let c=0,p=e.length;c<p;c++)o[c]=t(a?f?qt(qe(e[c])):qe(e[c]):e[c],c,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let l=0;l<e;l++)o[l]=t(l+1,l,void 0,r)}else if(se(e))if(e[Symbol.iterator])o=Array.from(e,(l,a)=>t(l,a,void 0,r));else{const l=Object.keys(e);o=new Array(l.length);for(let a=0,f=l.length;a<f;a++){const c=l[a];o[a]=t(e[c],c,a,r)}}else o=[];return o}const As=e=>e?li(e)?ns(e):As(e.parent):null,un=_e(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=>As(e.parent),$root:e=>As(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Br(e),$forceUpdate:e=>e.f||(e.f=()=>{Qs(e.update)}),$nextTick:e=>e.n||(e.n=zs.bind(e.proxy)),$watch:e=>Sl.bind(e)}),ds=(e,t)=>e!==ie&&!e.__isScriptSetup&&te(e,t),Vl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const g=i[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(ds(s,t))return i[t]=1,s[t];if(o!==ie&&te(o,t))return i[t]=2,o[t];if(te(r,t))return i[t]=3,r[t];if(n!==ie&&te(n,t))return i[t]=4,n[t];Ps&&(i[t]=0)}}const f=un[t];let c,p;if(f)return t==="$attrs"&&be(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==ie&&te(n,t))return i[t]=4,n[t];if(p=a.config.globalProperties,te(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return ds(o,t)?(o[t]=n,!0):s!==ie&&te(s,t)?(s[t]=n,!0):te(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:r,type:i}},l){let a;return!!(n[l]||e!==ie&&l[0]!=="$"&&te(e,l)||ds(t,l)||te(r,l)||te(s,l)||te(un,l)||te(o.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:te(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vo(e){return H(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ps=!0;function Hl(e){const t=Br(e),n=e.proxy,s=e.ctx;Ps=!1,t.beforeCreate&&yo(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:l,provide:a,inject:f,created:c,beforeMount:p,mounted:g,beforeUpdate:v,updated:O,activated:w,deactivated:E,beforeDestroy:C,beforeUnmount:x,destroyed:A,unmounted:D,render:F,renderTracked:ce,renderTriggered:re,errorCaptured:$e,serverPrefetch:Fe,expose:De,inheritAttrs:ze,components:Qe,directives:k,filters:L}=t;if(f&&Fl(f,s,null),i)for(const oe in i){const X=i[oe];G(X)&&(s[oe]=X.bind(n))}if(o){const oe=o.call(n,n);se(oe)&&(e.data=xn(oe))}if(Ps=!0,r)for(const oe in r){const X=r[oe],lt=G(X)?X.bind(n,n):G(X.get)?X.get.bind(n,n):ot,yt=!G(X)&&G(X.set)?X.set.bind(n):ot,Ye=ve({get:lt,set:yt});Object.defineProperty(s,oe,{enumerable:!0,configurable:!0,get:()=>Ye.value,set:Pe=>Ye.value=Pe})}if(l)for(const oe in l)Fr(l[oe],s,n,oe);if(a){const oe=G(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(X=>{Pn(X,oe[X])})}c&&yo(c,e,"c");function ue(oe,X){H(X)?X.forEach(lt=>oe(lt.bind(n))):X&&oe(X.bind(n))}if(ue(Tl,p),ue(Yt,g),ue(Ol,v),ue(Il,O),ue(Cl,w),ue(Al,E),ue(Ll,$e),ue(Ul,ce),ue(Dl,re),ue(Nl,x),ue(Hr,D),ue(Ml,Fe),H(De))if(De.length){const oe=e.exposed||(e.exposed={});De.forEach(X=>{Object.defineProperty(oe,X,{get:()=>n[X],set:lt=>n[X]=lt,enumerable:!0})})}else e.exposed||(e.exposed={});F&&e.render===ot&&(e.render=F),ze!=null&&(e.inheritAttrs=ze),Qe&&(e.components=Qe),k&&(e.directives=k),Fe&&$r(e)}function Fl(e,t,n=ot){H(e)&&(e=Ts(e));for(const s in e){const o=e[s];let r;se(o)?"default"in o?r=Ge(o.from||s,o.default,!0):r=Ge(o.from||s):r=Ge(o),Se(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function yo(e,t,n){it(H(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Fr(e,t,n,s){let o=s.includes(".")?Lr(n,s):()=>n[s];if(ge(e)){const r=t[e];G(r)&&ln(o,r)}else if(G(e))ln(o,e.bind(n));else if(se(e))if(H(e))e.forEach(r=>Fr(r,t,n,s));else{const r=G(e.handler)?e.handler.bind(n):t[e.handler];G(r)&&ln(o,r,e)}}function Br(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,l=r.get(t);let a;return l?a=l:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(f=>jn(a,f,i,!0)),jn(a,t,i)),se(t)&&r.set(t,a),a}function jn(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&jn(e,r,n,!0),o&&o.forEach(i=>jn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Bl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Bl={data:_o,props:bo,emits:bo,methods:nn,computed:nn,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:nn,directives:nn,watch:Gl,provide:_o,inject:Kl};function _o(e,t){return t?e?function(){return _e(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function Kl(e,t){return nn(Ts(e),Ts(t))}function Ts(e){if(H(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 nn(e,t){return e?_e(Object.create(null),e,t):t}function bo(e,t){return e?H(e)&&H(t)?[...new Set([...e,...t])]:_e(Object.create(null),vo(e),vo(t??{})):t}function Gl(e,t){if(!e)return t;if(!t)return e;const n=_e(Object.create(null),e);for(const s in t)n[s]=Ee(e[s],t[s]);return n}function Kr(){return{app:null,config:{isNativeTag:rr,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 Wl=0;function ql(e,t){return function(s,o=null){G(s)||(s=_e({},s)),o!=null&&!se(o)&&(o=null);const r=Kr(),i=new WeakSet,l=[];let a=!1;const f=r.app={_uid:Wl++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Aa,get config(){return r.config},set config(c){},use(c,...p){return i.has(c)||(c&&G(c.install)?(i.add(c),c.install(f,...p)):G(c)&&(i.add(c),c(f,...p))),f},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),f},component(c,p){return p?(r.components[c]=p,f):r.components[c]},directive(c,p){return p?(r.directives[c]=p,f):r.directives[c]},mount(c,p,g){if(!a){const v=f._ceVNode||pe(s,o);return v.appContext=r,g===!0?g="svg":g===!1&&(g=void 0),e(v,c,g),a=!0,f._container=c,c.__vue_app__=f,ns(v.component)}},onUnmount(c){l.push(c)},unmount(){a&&(it(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(c,p){return r.provides[c]=p,f},runWithContext(c){const p=Gt;Gt=f;try{return c()}finally{Gt=p}}};return f}}let Gt=null;const Jl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${He(t)}Modifiers`]||e[`${Ut(t)}Modifiers`];function zl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ie;let o=n;const r=t.startsWith("update:"),i=r&&Jl(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>ge(c)?c.trim():c)),i.number&&(o=n.map(zn)));let l,a=s[l=ls(t)]||s[l=ls(He(t))];!a&&r&&(a=s[l=ls(Ut(t))]),a&&it(a,e,6,o);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,it(f,e,6,o)}}const Ql=new WeakMap;function Gr(e,t,n=!1){const s=n?Ql:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},l=!1;if(!G(e)){const a=f=>{const c=Gr(f,t,!0);c&&(l=!0,_e(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!l?(se(e)&&s.set(e,null),null):(H(r)?r.forEach(a=>i[a]=null):_e(i,r),se(e)&&s.set(e,i),i)}function es(e,t){return!e||!Gn(t)?!1:(t=t.slice(2).replace(/Once$/,""),te(e,t[0].toLowerCase()+t.slice(1))||te(e,Ut(t))||te(e,t))}function xo(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:a,render:f,renderCache:c,props:p,data:g,setupState:v,ctx:O,inheritAttrs:w}=e,E=Ln(e);let C,x;try{if(n.shapeFlag&4){const D=o||s,F=D;C=st(f.call(F,D,c,p,v,g,O)),x=l}else{const D=t;C=st(D.length>1?D(p,{attrs:l,slots:i,emit:a}):D(p,null)),x=t.props?l:Yl(l)}}catch(D){fn.length=0,Xn(D,e,1),C=pe(wt)}let A=C;if(x&&w!==!1){const D=Object.keys(x),{shapeFlag:F}=A;D.length&&F&7&&(r&&D.some($s)&&(x=Xl(x,r)),A=Jt(A,x,!1,!0))}return n.dirs&&(A=Jt(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&Ys(A,n.transition),C=A,Ln(E),C}const Yl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Gn(n))&&((t||(t={}))[n]=e[n]);return t},Xl=(e,t)=>{const n={};for(const s in e)(!$s(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Zl(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:l,patchFlag:a}=t,f=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?So(s,i,f):!!i;if(a&8){const c=t.dynamicProps;for(let p=0;p<c.length;p++){const g=c[p];if(Wr(i,s,g)&&!es(f,g))return!0}}}else return(o||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?So(s,i,f):!0:!!i;return!1}function So(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 r=s[o];if(Wr(t,e,r)&&!es(n,r))return!0}return!1}function Wr(e,t,n){const s=e[n],o=t[n];return n==="style"&&se(s)&&se(o)?!bn(s,o):s!==o}function ea({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const qr={},Jr=()=>Object.create(qr),zr=e=>Object.getPrototypeOf(e)===qr;function ta(e,t,n,s=!1){const o={},r=Jr();e.propsDefaults=Object.create(null),Qr(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Ar(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function na(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,l=ee(o),[a]=e.propsOptions;let f=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let p=0;p<c.length;p++){let g=c[p];if(es(e.emitsOptions,g))continue;const v=t[g];if(a)if(te(r,g))v!==r[g]&&(r[g]=v,f=!0);else{const O=He(g);o[O]=Os(a,l,O,v,e,!1)}else v!==r[g]&&(r[g]=v,f=!0)}}}else{Qr(e,t,o,r)&&(f=!0);let c;for(const p in l)(!t||!te(t,p)&&((c=Ut(p))===p||!te(t,c)))&&(a?n&&(n[p]!==void 0||n[c]!==void 0)&&(o[p]=Os(a,l,p,void 0,e,!0)):delete o[p]);if(r!==l)for(const p in r)(!t||!te(t,p))&&(delete r[p],f=!0)}f&&dt(e.attrs,"set","")}function Qr(e,t,n,s){const[o,r]=e.propsOptions;let i=!1,l;if(t)for(let a in t){if(sn(a))continue;const f=t[a];let c;o&&te(o,c=He(a))?!r||!r.includes(c)?n[c]=f:(l||(l={}))[c]=f:es(e.emitsOptions,a)||(!(a in s)||f!==s[a])&&(s[a]=f,i=!0)}if(r){const a=ee(n),f=l||ie;for(let c=0;c<r.length;c++){const p=r[c];n[p]=Os(o,a,p,f[p],e,!te(f,p))}}return i}function Os(e,t,n,s,o,r){const i=e[n];if(i!=null){const l=te(i,"default");if(l&&s===void 0){const a=i.default;if(i.type!==Function&&!i.skipFactory&&G(a)){const{propsDefaults:f}=o;if(n in f)s=f[n];else{const c=En(o);s=f[n]=a.call(null,t),c()}}else s=a;o.ce&&o.ce._setProp(n,s)}i[0]&&(r&&!l?s=!1:i[1]&&(s===""||s===Ut(n))&&(s=!0))}return s}const sa=new WeakMap;function Yr(e,t,n=!1){const s=n?sa:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,i={},l=[];let a=!1;if(!G(e)){const c=p=>{a=!0;const[g,v]=Yr(p,t,!0);_e(i,g),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!a)return se(e)&&s.set(e,Ft),Ft;if(H(r))for(let c=0;c<r.length;c++){const p=He(r[c]);Eo(p)&&(i[p]=ie)}else if(r)for(const c in r){const p=He(c);if(Eo(p)){const g=r[c],v=i[p]=H(g)||G(g)?{type:g}:_e({},g),O=v.type;let w=!1,E=!0;if(H(O))for(let C=0;C<O.length;++C){const x=O[C],A=G(x)&&x.name;if(A==="Boolean"){w=!0;break}else A==="String"&&(E=!1)}else w=G(O)&&O.name==="Boolean";v[0]=w,v[1]=E,(w||te(v,"default"))&&l.push(p)}}const f=[i,l];return se(e)&&s.set(e,f),f}function Eo(e){return e[0]!=="$"&&!sn(e)}const Xs=e=>e==="_"||e==="_ctx"||e==="$stable",Zs=e=>H(e)?e.map(st):[st(e)],oa=(e,t,n)=>{if(t._n)return t;const s=Ot((...o)=>Zs(t(...o)),n);return s._c=!1,s},Xr=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Xs(o))continue;const r=e[o];if(G(r))t[o]=oa(o,r,s);else if(r!=null){const i=Zs(r);t[o]=()=>i}}},Zr=(e,t)=>{const n=Zs(t);e.slots.default=()=>n},ei=(e,t,n)=>{for(const s in t)(n||!Xs(s))&&(e[s]=t[s])},ra=(e,t,n)=>{const s=e.slots=Jr();if(e.vnode.shapeFlag&32){const o=t._;o?(ei(s,t,n),n&&cr(s,"_",o,!0)):Xr(t,s)}else t&&Zr(e,t)},ia=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=ie;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:ei(o,t,n):(r=!t.$stable,Xr(t,o)),i=t}else t&&(Zr(e,t),i={default:1});if(r)for(const l in o)!Xs(l)&&i[l]==null&&delete o[l]},Ie=fa;function la(e){return aa(e)}function aa(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:a,setText:f,setElementText:c,parentNode:p,nextSibling:g,setScopeId:v=ot,insertStaticContent:O}=e,w=(u,d,m,y=null,S=null,_=null,I=void 0,T=null,P=!!d.dynamicChildren)=>{if(u===d)return;u&&!en(u,d)&&(y=b(u),Pe(u,S,_,!0),u=null),d.patchFlag===-2&&(P=!1,d.dynamicChildren=null);const{type:R,ref:V,shapeFlag:M}=d;switch(R){case ts:E(u,d,m,y);break;case wt:C(u,d,m,y);break;case Tn:u==null&&x(d,m,y,I);break;case Me:Qe(u,d,m,y,S,_,I,T,P);break;default:M&1?F(u,d,m,y,S,_,I,T,P):M&6?k(u,d,m,y,S,_,I,T,P):(M&64||M&128)&&R.process(u,d,m,y,S,_,I,T,P,$)}V!=null&&S?an(V,u&&u.ref,_,d||u,!d):V==null&&u&&u.ref!=null&&an(u.ref,null,_,u,!0)},E=(u,d,m,y)=>{if(u==null)s(d.el=l(d.children),m,y);else{const S=d.el=u.el;d.children!==u.children&&f(S,d.children)}},C=(u,d,m,y)=>{u==null?s(d.el=a(d.children||""),m,y):d.el=u.el},x=(u,d,m,y)=>{[u.el,u.anchor]=O(u.children,d,m,y,u.el,u.anchor)},A=({el:u,anchor:d},m,y)=>{let S;for(;u&&u!==d;)S=g(u),s(u,m,y),u=S;s(d,m,y)},D=({el:u,anchor:d})=>{let m;for(;u&&u!==d;)m=g(u),o(u),u=m;o(d)},F=(u,d,m,y,S,_,I,T,P)=>{if(d.type==="svg"?I="svg":d.type==="math"&&(I="mathml"),u==null)ce(d,m,y,S,_,I,T,P);else{const R=u.el&&u.el._isVueCE?u.el:null;try{R&&R._beginPatch(),Fe(u,d,S,_,I,T,P)}finally{R&&R._endPatch()}}},ce=(u,d,m,y,S,_,I,T)=>{let P,R;const{props:V,shapeFlag:M,transition:j,dirs:B}=u;if(P=u.el=i(u.type,_,V&&V.is,V),M&8?c(P,u.children):M&16&&$e(u.children,P,null,y,S,ps(u,_),I,T),B&&Ct(u,null,y,"created"),re(P,u,u.scopeId,I,y),V){for(const le in V)le!=="value"&&!sn(le)&&r(P,le,null,V[le],_,y);"value"in V&&r(P,"value",null,V.value,_),(R=V.onVnodeBeforeMount)&&tt(R,y,u)}B&&Ct(u,null,y,"beforeMount");const Q=ca(S,j);Q&&j.beforeEnter(P),s(P,d,m),((R=V&&V.onVnodeMounted)||Q||B)&&Ie(()=>{R&&tt(R,y,u),Q&&j.enter(P),B&&Ct(u,null,y,"mounted")},S)},re=(u,d,m,y,S)=>{if(m&&v(u,m),y)for(let _=0;_<y.length;_++)v(u,y[_]);if(S){let _=S.subTree;if(d===_||oi(_.type)&&(_.ssContent===d||_.ssFallback===d)){const I=S.vnode;re(u,I,I.scopeId,I.slotScopeIds,S.parent)}}},$e=(u,d,m,y,S,_,I,T,P=0)=>{for(let R=P;R<u.length;R++){const V=u[R]=T?ft(u[R]):st(u[R]);w(null,V,d,m,y,S,_,I,T)}},Fe=(u,d,m,y,S,_,I)=>{const T=d.el=u.el;let{patchFlag:P,dynamicChildren:R,dirs:V}=d;P|=u.patchFlag&16;const M=u.props||ie,j=d.props||ie;let B;if(m&&At(m,!1),(B=j.onVnodeBeforeUpdate)&&tt(B,m,d,u),V&&Ct(d,u,m,"beforeUpdate"),m&&At(m,!0),(M.innerHTML&&j.innerHTML==null||M.textContent&&j.textContent==null)&&c(T,""),R?De(u.dynamicChildren,R,T,m,y,ps(d,S),_):I||X(u,d,T,null,m,y,ps(d,S),_,!1),P>0){if(P&16)ze(T,M,j,m,S);else if(P&2&&M.class!==j.class&&r(T,"class",null,j.class,S),P&4&&r(T,"style",M.style,j.style,S),P&8){const Q=d.dynamicProps;for(let le=0;le<Q.length;le++){const ne=Q[le],Te=M[ne],Oe=j[ne];(Oe!==Te||ne==="value")&&r(T,ne,Te,Oe,S,m)}}P&1&&u.children!==d.children&&c(T,d.children)}else!I&&R==null&&ze(T,M,j,m,S);((B=j.onVnodeUpdated)||V)&&Ie(()=>{B&&tt(B,m,d,u),V&&Ct(d,u,m,"updated")},y)},De=(u,d,m,y,S,_,I)=>{for(let T=0;T<d.length;T++){const P=u[T],R=d[T],V=P.el&&(P.type===Me||!en(P,R)||P.shapeFlag&198)?p(P.el):m;w(P,R,V,null,y,S,_,I,!0)}},ze=(u,d,m,y,S)=>{if(d!==m){if(d!==ie)for(const _ in d)!sn(_)&&!(_ in m)&&r(u,_,d[_],null,S,y);for(const _ in m){if(sn(_))continue;const I=m[_],T=d[_];I!==T&&_!=="value"&&r(u,_,T,I,S,y)}"value"in m&&r(u,"value",d.value,m.value,S)}},Qe=(u,d,m,y,S,_,I,T,P)=>{const R=d.el=u?u.el:l(""),V=d.anchor=u?u.anchor:l("");let{patchFlag:M,dynamicChildren:j,slotScopeIds:B}=d;B&&(T=T?T.concat(B):B),u==null?(s(R,m,y),s(V,m,y),$e(d.children||[],m,V,S,_,I,T,P)):M>0&&M&64&&j&&u.dynamicChildren&&u.dynamicChildren.length===j.length?(De(u.dynamicChildren,j,m,S,_,I,T),(d.key!=null||S&&d===S.subTree)&&ti(u,d,!0)):X(u,d,m,V,S,_,I,T,P)},k=(u,d,m,y,S,_,I,T,P)=>{d.slotScopeIds=T,u==null?d.shapeFlag&512?S.ctx.activate(d,m,y,I,P):L(d,m,y,S,_,I,P):K(u,d,P)},L=(u,d,m,y,S,_,I)=>{const T=u.component=_a(u,y,S);if(jr(u)&&(T.ctx.renderer=$),xa(T,!1,I),T.asyncDep){if(S&&S.registerDep(T,ue,I),!u.el){const P=T.subTree=pe(wt);C(null,P,d,m),u.placeholder=P.el}}else ue(T,u,d,m,S,_,I)},K=(u,d,m)=>{const y=d.component=u.component;if(Zl(u,d,m))if(y.asyncDep&&!y.asyncResolved){oe(y,d,m);return}else y.next=d,y.update();else d.el=u.el,y.vnode=d},ue=(u,d,m,y,S,_,I)=>{const T=()=>{if(u.isMounted){let{next:M,bu:j,u:B,parent:Q,vnode:le}=u;{const Ze=ni(u);if(Ze){M&&(M.el=le.el,oe(u,M,I)),Ze.asyncDep.then(()=>{Ie(()=>{u.isUnmounted||R()},S)});return}}let ne=M,Te;At(u,!1),M?(M.el=le.el,oe(u,M,I)):M=le,j&&An(j),(Te=M.props&&M.props.onVnodeBeforeUpdate)&&tt(Te,Q,M,le),At(u,!0);const Oe=xo(u),Xe=u.subTree;u.subTree=Oe,w(Xe,Oe,p(Xe.el),b(Xe),u,S,_),M.el=Oe.el,ne===null&&ea(u,Oe.el),B&&Ie(B,S),(Te=M.props&&M.props.onVnodeUpdated)&&Ie(()=>tt(Te,Q,M,le),S)}else{let M;const{el:j,props:B}=d,{bm:Q,m:le,parent:ne,root:Te,type:Oe}=u,Xe=cn(d);At(u,!1),Q&&An(Q),!Xe&&(M=B&&B.onVnodeBeforeMount)&&tt(M,ne,d),At(u,!0);{Te.ce&&Te.ce._hasShadowRoot()&&Te.ce._injectChildStyle(Oe);const Ze=u.subTree=xo(u);w(null,Ze,m,y,u,S,_),d.el=Ze.el}if(le&&Ie(le,S),!Xe&&(M=B&&B.onVnodeMounted)){const Ze=d;Ie(()=>tt(M,ne,Ze),S)}(d.shapeFlag&256||ne&&cn(ne.vnode)&&ne.vnode.shapeFlag&256)&&u.a&&Ie(u.a,S),u.isMounted=!0,d=m=y=null}};u.scope.on();const P=u.effect=new pr(T);u.scope.off();const R=u.update=P.run.bind(P),V=u.job=P.runIfDirty.bind(P);V.i=u,V.id=u.uid,P.scheduler=()=>Qs(V),At(u,!0),R()},oe=(u,d,m)=>{d.component=u;const y=u.vnode.props;u.vnode=d,u.next=null,na(u,d.props,y,m),ia(u,d.children,m),ht(),po(u),gt()},X=(u,d,m,y,S,_,I,T,P=!1)=>{const R=u&&u.children,V=u?u.shapeFlag:0,M=d.children,{patchFlag:j,shapeFlag:B}=d;if(j>0){if(j&128){yt(R,M,m,y,S,_,I,T,P);return}else if(j&256){lt(R,M,m,y,S,_,I,T,P);return}}B&8?(V&16&&je(R,S,_),M!==R&&c(m,M)):V&16?B&16?yt(R,M,m,y,S,_,I,T,P):je(R,S,_,!0):(V&8&&c(m,""),B&16&&$e(M,m,y,S,_,I,T,P))},lt=(u,d,m,y,S,_,I,T,P)=>{u=u||Ft,d=d||Ft;const R=u.length,V=d.length,M=Math.min(R,V);let j;for(j=0;j<M;j++){const B=d[j]=P?ft(d[j]):st(d[j]);w(u[j],B,m,null,S,_,I,T,P)}R>V?je(u,S,_,!0,!1,M):$e(d,m,y,S,_,I,T,P,M)},yt=(u,d,m,y,S,_,I,T,P)=>{let R=0;const V=d.length;let M=u.length-1,j=V-1;for(;R<=M&&R<=j;){const B=u[R],Q=d[R]=P?ft(d[R]):st(d[R]);if(en(B,Q))w(B,Q,m,null,S,_,I,T,P);else break;R++}for(;R<=M&&R<=j;){const B=u[M],Q=d[j]=P?ft(d[j]):st(d[j]);if(en(B,Q))w(B,Q,m,null,S,_,I,T,P);else break;M--,j--}if(R>M){if(R<=j){const B=j+1,Q=B<V?d[B].el:y;for(;R<=j;)w(null,d[R]=P?ft(d[R]):st(d[R]),m,Q,S,_,I,T,P),R++}}else if(R>j)for(;R<=M;)Pe(u[R],S,_,!0),R++;else{const B=R,Q=R,le=new Map;for(R=Q;R<=j;R++){const Ue=d[R]=P?ft(d[R]):st(d[R]);Ue.key!=null&&le.set(Ue.key,R)}let ne,Te=0;const Oe=j-Q+1;let Xe=!1,Ze=0;const Xt=new Array(Oe);for(R=0;R<Oe;R++)Xt[R]=0;for(R=B;R<=M;R++){const Ue=u[R];if(Te>=Oe){Pe(Ue,S,_,!0);continue}let et;if(Ue.key!=null)et=le.get(Ue.key);else for(ne=Q;ne<=j;ne++)if(Xt[ne-Q]===0&&en(Ue,d[ne])){et=ne;break}et===void 0?Pe(Ue,S,_,!0):(Xt[et-Q]=R+1,et>=Ze?Ze=et:Xe=!0,w(Ue,d[et],m,null,S,_,I,T,P),Te++)}const ro=Xe?ua(Xt):Ft;for(ne=ro.length-1,R=Oe-1;R>=0;R--){const Ue=Q+R,et=d[Ue],io=d[Ue+1],lo=Ue+1<V?io.el||si(io):y;Xt[R]===0?w(null,et,m,lo,S,_,I,T,P):Xe&&(ne<0||R!==ro[ne]?Ye(et,m,lo,2):ne--)}}},Ye=(u,d,m,y,S=null)=>{const{el:_,type:I,transition:T,children:P,shapeFlag:R}=u;if(R&6){Ye(u.component.subTree,d,m,y);return}if(R&128){u.suspense.move(d,m,y);return}if(R&64){I.move(u,d,m,$);return}if(I===Me){s(_,d,m);for(let M=0;M<P.length;M++)Ye(P[M],d,m,y);s(u.anchor,d,m);return}if(I===Tn){A(u,d,m);return}if(y!==2&&R&1&&T)if(y===0)T.beforeEnter(_),s(_,d,m),Ie(()=>T.enter(_),S);else{const{leave:M,delayLeave:j,afterLeave:B}=T,Q=()=>{u.ctx.isUnmounted?o(_):s(_,d,m)},le=()=>{_._isLeaving&&_[Rl](!0),M(_,()=>{Q(),B&&B()})};j?j(_,Q,le):le()}else s(_,d,m)},Pe=(u,d,m,y=!1,S=!1)=>{const{type:_,props:I,ref:T,children:P,dynamicChildren:R,shapeFlag:V,patchFlag:M,dirs:j,cacheIndex:B}=u;if(M===-2&&(S=!1),T!=null&&(ht(),an(T,null,m,u,!0),gt()),B!=null&&(d.renderCache[B]=void 0),V&256){d.ctx.deactivate(u);return}const Q=V&1&&j,le=!cn(u);let ne;if(le&&(ne=I&&I.onVnodeBeforeUnmount)&&tt(ne,d,u),V&6)Rt(u.component,m,y);else{if(V&128){u.suspense.unmount(m,y);return}Q&&Ct(u,null,d,"beforeUnmount"),V&64?u.type.remove(u,d,m,$,y):R&&!R.hasOnce&&(_!==Me||M>0&&M&64)?je(R,d,m,!1,!0):(_===Me&&M&384||!S&&V&16)&&je(P,d,m),y&&kt(u)}(le&&(ne=I&&I.onVnodeUnmounted)||Q)&&Ie(()=>{ne&&tt(ne,d,u),Q&&Ct(u,null,d,"unmounted")},m)},kt=u=>{const{type:d,el:m,anchor:y,transition:S}=u;if(d===Me){$t(m,y);return}if(d===Tn){D(u);return}const _=()=>{o(m),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(u.shapeFlag&1&&S&&!S.persisted){const{leave:I,delayLeave:T}=S,P=()=>I(m,_);T?T(u.el,_,P):P()}else _()},$t=(u,d)=>{let m;for(;u!==d;)m=g(u),o(u),u=m;o(d)},Rt=(u,d,m)=>{const{bum:y,scope:S,job:_,subTree:I,um:T,m:P,a:R}=u;wo(P),wo(R),y&&An(y),S.stop(),_&&(_.flags|=8,Pe(I,u,d,m)),T&&Ie(T,d),Ie(()=>{u.isUnmounted=!0},d)},je=(u,d,m,y=!1,S=!1,_=0)=>{for(let I=_;I<u.length;I++)Pe(u[I],d,m,y,S)},b=u=>{if(u.shapeFlag&6)return b(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=g(u.anchor||u.el),m=d&&d[El];return m?g(m):d};let U=!1;const N=(u,d,m)=>{let y;u==null?d._vnode&&(Pe(d._vnode,null,null,!0),y=d._vnode.component):w(d._vnode||null,u,d,null,null,null,m),d._vnode=u,U||(U=!0,po(y),Nr(),U=!1)},$={p:w,um:Pe,m:Ye,r:kt,mt:L,mc:$e,pc:X,pbc:De,n:b,o:e};return{render:N,hydrate:void 0,createApp:ql(N)}}function ps({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 At({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function ca(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ti(e,t,n=!1){const s=e.children,o=t.children;if(H(s)&&H(o))for(let r=0;r<s.length;r++){const i=s[r];let l=o[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=o[r]=ft(o[r]),l.el=i.el),!n&&l.patchFlag!==-2&&ti(i,l)),l.type===ts&&(l.patchFlag===-1&&(l=o[r]=ft(l)),l.el=i.el),l.type===wt&&!l.el&&(l.el=i.el)}}function ua(e){const t=e.slice(),n=[0];let s,o,r,i,l;const a=e.length;for(s=0;s<a;s++){const f=e[s];if(f!==0){if(o=n[n.length-1],e[o]<f){t[s]=o,n.push(s);continue}for(r=0,i=n.length-1;r<i;)l=r+i>>1,e[n[l]]<f?r=l+1:i=l;f<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function ni(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ni(t)}function wo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function si(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?si(t.subTree):null}const oi=e=>e.__isSuspense;function fa(e,t){t&&t.pendingBranch?H(e)?t.effects.push(...e):t.effects.push(e):_l(e)}const Me=Symbol.for("v-fgt"),ts=Symbol.for("v-txt"),wt=Symbol.for("v-cmt"),Tn=Symbol.for("v-stc"),fn=[];let ke=null;function W(e=!1){fn.push(ke=e?null:[])}function da(){fn.pop(),ke=fn[fn.length-1]||null}let mn=1;function Vn(e,t=!1){mn+=e,e<0&&ke&&t&&(ke.hasOnce=!0)}function ri(e){return e.dynamicChildren=mn>0?ke||Ft:null,da(),mn>0&&ke&&ke.push(e),e}function q(e,t,n,s,o,r){return ri(h(e,t,n,s,o,r,!0))}function pa(e,t,n,s,o){return ri(pe(e,t,n,s,o,!0))}function Hn(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const ii=({key:e})=>e??null,On=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ge(e)||Se(e)||G(e)?{i:Le,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,o=null,r=e===Me?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ii(t),ref:t&&On(t),scopeId:Dr,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:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Le};return l?(eo(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=ge(n)?8:16),mn>0&&!i&&ke&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&ke.push(a),a}const pe=ha;function ha(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===$l)&&(e=wt),Hn(e)){const l=Jt(e,t,!0);return n&&eo(l,n),mn>0&&!r&&ke&&(l.shapeFlag&6?ke[ke.indexOf(e)]=l:ke.push(l)),l.patchFlag=-2,l}if(Ca(e)&&(e=e.__vccOpts),t){t=ga(t);let{class:l,style:a}=t;l&&!ge(l)&&(t.class=Ce(l)),se(a)&&(Js(a)&&!H(a)&&(a=_e({},a)),t.style=Hs(a))}const i=ge(e)?1:oi(e)?128:wl(e)?64:se(e)?4:G(e)?2:0;return h(e,t,n,s,o,i,r,!0)}function ga(e){return e?Js(e)||zr(e)?_e({},e):e:null}function Jt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:a}=e,f=t?ma(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ii(f),ref:t&&t.ref?n&&r?H(r)?r.concat(On(t)):[r,On(t)]:On(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Me?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jt(e.ssContent),ssFallback:e.ssFallback&&Jt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Ys(c,a.clone(c)),c}function Be(e=" ",t=0){return pe(ts,null,e,t)}function Ro(e,t){const n=pe(Tn,null,e);return n.staticCount=t,n}function he(e="",t=!1){return t?(W(),pa(wt,null,e)):pe(wt,null,e)}function st(e){return e==null||typeof e=="boolean"?pe(wt):H(e)?pe(Me,null,e.slice()):Hn(e)?ft(e):pe(ts,null,String(e))}function ft(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Jt(e)}function eo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(H(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),eo(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!zr(t)?t._ctx=Le:o===3&&Le&&(Le.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:Le},n=32):(t=String(t),s&64?(n=16,t=[Be(t)]):n=8);e.children=t,e.shapeFlag|=n}function ma(...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=Ce([t.class,s.class]));else if(o==="style")t.style=Hs([t.style,s.style]);else if(Gn(o)){const r=t[o],i=s[o];i&&r!==i&&!(H(r)&&r.includes(i))&&(t[o]=r?[].concat(r,i):i)}else o!==""&&(t[o]=s[o])}return t}function tt(e,t,n,s=null){it(e,t,7,[n,s])}const va=Kr();let ya=0;function _a(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||va,r={uid:ya++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Bi(!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:Yr(s,o),emitsOptions:Gr(s,o),emit:null,emitted:null,propsDefaults:ie,inheritAttrs:s.inheritAttrs,ctx:ie,data:ie,props:ie,attrs:ie,slots:ie,refs:ie,setupState:ie,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 r.ctx={_:r},r.root=t?t.root:r,r.emit=zl.bind(null,r),e.ce&&e.ce(r),r}let xe=null;const ba=()=>xe||Le;let Fn,Is;{const e=Qn(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Fn=t("__VUE_INSTANCE_SETTERS__",n=>xe=n),Is=t("__VUE_SSR_SETTERS__",n=>vn=n)}const En=e=>{const t=xe;return Fn(e),e.scope.on(),()=>{e.scope.off(),Fn(t)}},Co=()=>{xe&&xe.scope.off(),Fn(null)};function li(e){return e.vnode.shapeFlag&4}let vn=!1;function xa(e,t=!1,n=!1){t&&Is(t);const{props:s,children:o}=e.vnode,r=li(e);ta(e,s,r,t),ra(e,o,n||t);const i=r?Sa(e,t):void 0;return t&&Is(!1),i}function Sa(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Vl);const{setup:s}=n;if(s){ht();const o=e.setupContext=s.length>1?wa(e):null,r=En(e),i=Sn(s,e,0,[e.props,o]),l=ir(i);if(gt(),r(),(l||e.sp)&&!cn(e)&&$r(e),l){if(i.then(Co,Co),t)return i.then(a=>{Ao(e,a)}).catch(a=>{Xn(a,e,0)});e.asyncDep=i}else Ao(e,i)}else ai(e)}function Ao(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:se(t)&&(e.setupState=Tr(t)),ai(e)}function ai(e,t,n){const s=e.type;e.render||(e.render=s.render||ot);{const o=En(e);ht();try{Hl(e)}finally{gt(),o()}}}const Ea={get(e,t){return be(e,"get",""),e[t]}};function wa(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ea),slots:e.slots,emit:e.emit,expose:t}}function ns(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tr(cl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in un)return un[n](e)},has(t,n){return n in t||n in un}})):e.proxy}function Ra(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function Ca(e){return G(e)&&"__vccOpts"in e}const ve=(e,t)=>hl(e,t,vn);function ci(e,t,n){try{Vn(-1);const s=arguments.length;return s===2?se(t)&&!H(t)?Hn(t)?pe(e,null,[t]):pe(e,t):pe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Hn(n)&&(n=[n]),pe(e,t,n))}finally{Vn(1)}}const Aa="3.5.29";/**
14
14
  * @vue/runtime-dom v3.5.29
15
15
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
16
  * @license MIT
17
- **/let Ns;const Po=typeof window<"u"&&window.trustedTypes;if(Po)try{Ns=Po.createPolicy("vue",{createHTML:e=>e})}catch{}const ui=Ns?e=>Ns.createHTML(e):e=>e,Pa="http://www.w3.org/2000/svg",Ta="http://www.w3.org/1998/Math/MathML",ut=typeof document<"u"?document:null,To=ut&&ut.createElement("template"),Oa={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"?ut.createElementNS(Pa,e):t==="mathml"?ut.createElementNS(Ta,e):n?ut.createElement(e,{is:n}):ut.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>ut.createTextNode(e),createComment:e=>ut.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ut.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{To.innerHTML=ui(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=To.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ia=Symbol("_vtc");function Na(e,t,n){const s=e[Ia];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Oo=Symbol("_vod"),Ma=Symbol("_vsh"),Da=Symbol(""),Ua=/(?:^|;)\s*display\s*:/;function La(e,t,n){const s=e.style,o=ge(n);let r=!1;if(n&&!o){if(t)if(ge(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&In(s,l,"")}else for(const i in t)n[i]==null&&In(s,i,"");for(const i in n)i==="display"&&(r=!0),In(s,i,n[i])}else if(o){if(t!==n){const i=s[Da];i&&(n+=";"+i),s.cssText=n,r=Ua.test(n)}}else t&&e.removeAttribute("style");Oo in e&&(e[Oo]=r?s.display:"",e[Ma]&&(s.display="none"))}const Io=/\s*!important$/;function In(e,t,n){if(H(n))n.forEach(s=>In(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ka(e,t);Io.test(n)?e.setProperty(Ut(s),n.replace(Io,""),"important"):e[s]=n}}const No=["Webkit","Moz","ms"],hs={};function ka(e,t){const n=hs[t];if(n)return n;let s=Fe(t);if(s!=="filter"&&s in e)return hs[t]=s;s=Jn(s);for(let o=0;o<No.length;o++){const r=No[o]+s;if(r in e)return hs[t]=r}return t}const Mo="http://www.w3.org/1999/xlink";function Do(e,t,n,s,o,r=Vi(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Mo,t.slice(6,t.length)):e.setAttributeNS(Mo,t,n):n==null||r&&!ur(n)?e.removeAttribute(t):e.setAttribute(t,r?"":rt(n)?String(n):n)}function Uo(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?ui(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,a=n==null?e.type==="checkbox"?"on":"":String(n);(l!==a||!("_value"in e))&&(e.value=a),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=ur(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(o||t)}function Ot(e,t,n,s){e.addEventListener(t,n,s)}function $a(e,t,n,s){e.removeEventListener(t,n,s)}const Lo=Symbol("_vei");function ja(e,t,n,s,o=null){const r=e[Lo]||(e[Lo]={}),i=r[t];if(s&&i)i.value=s;else{const[l,a]=Va(t);if(s){const f=r[t]=Ba(s,o);Ot(e,l,f,a)}else i&&($a(e,l,i,a),r[t]=void 0)}}const ko=/(?:Once|Passive|Capture)$/;function Va(e){let t;if(ko.test(e)){t={};let s;for(;s=e.match(ko);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ut(e.slice(2)),t]}let gs=0;const Ha=Promise.resolve(),Fa=()=>gs||(Ha.then(()=>gs=0),gs=Date.now());function Ba(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;it(Ka(s,n.value),t,5,[s])};return n.value=e,n.attached=Fa(),n}function Ka(e,t){if(H(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const $o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ga=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?Na(e,s,i):t==="style"?La(e,n,s):Gn(t)?$s(t)||ja(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wa(e,t,s,i))?(Uo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Do(e,t,s,i,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ge(s))?Uo(e,Fe(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Do(e,t,s,i))};function Wa(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&$o(t)&&G(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 $o(t)&&ge(n)?!1:t in e}const Bn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>An(t,n):t};function qa(e){e.target.composing=!0}function jo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Wt=Symbol("_assign");function Vo(e,t,n){return t&&(e=e.trim()),n&&(e=zn(e)),e}const We={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Wt]=Bn(o);const r=s||o.props&&o.props.type==="number";Ot(e,t?"change":"input",i=>{i.target.composing||e[Wt](Vo(e.value,n,r))}),(n||r)&&Ot(e,"change",()=>{e.value=Vo(e.value,n,r)}),t||(Ot(e,"compositionstart",qa),Ot(e,"compositionend",jo),Ot(e,"change",jo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[Wt]=Bn(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?zn(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a))}},Nn={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Wn(t);Ot(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?zn(Kn(i)):Kn(i));e[Wt](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,zs(()=>{e._assigning=!1})}),e[Wt]=Bn(s)},mounted(e,{value:t}){Ho(e,t)},beforeUpdate(e,t,n){e[Wt]=Bn(n)},updated(e,{value:t}){e._assigning||Ho(e,t)}};function Ho(e,t){const n=e.multiple,s=H(t);if(!(n&&!s&&!Wn(t))){for(let o=0,r=e.options.length;o<r;o++){const i=e.options[o],l=Kn(i);if(n)if(s){const a=typeof l;a==="string"||a==="number"?i.selected=t.some(f=>String(f)===String(l)):i.selected=Fi(t,l)>-1}else i.selected=t.has(l);else if(bn(Kn(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Kn(e){return"_value"in e?e._value:e.value}const Ja=["ctrl","shift","alt","meta"],za={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)=>Ja.some(n=>e[`${n}Key`]&&!t.includes(n))},ss=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(o,...r)=>{for(let i=0;i<t.length;i++){const l=za[t[i]];if(l&&l(o,t))return}return e(o,...r)})},Qa=_e({patchProp:Ga},Oa);let Fo;function Ya(){return Fo||(Fo=la(Qa))}const Xa=(...e)=>{const t=Ya().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=ec(s);if(!o)return;const r=t._component;!G(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Za(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function Za(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return ge(e)?document.querySelector(e):e}/*!
17
+ **/let Ns;const Po=typeof window<"u"&&window.trustedTypes;if(Po)try{Ns=Po.createPolicy("vue",{createHTML:e=>e})}catch{}const ui=Ns?e=>Ns.createHTML(e):e=>e,Pa="http://www.w3.org/2000/svg",Ta="http://www.w3.org/1998/Math/MathML",ut=typeof document<"u"?document:null,To=ut&&ut.createElement("template"),Oa={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"?ut.createElementNS(Pa,e):t==="mathml"?ut.createElementNS(Ta,e):n?ut.createElement(e,{is:n}):ut.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>ut.createTextNode(e),createComment:e=>ut.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ut.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{To.innerHTML=ui(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=To.content;if(s==="svg"||s==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ia=Symbol("_vtc");function Na(e,t,n){const s=e[Ia];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Oo=Symbol("_vod"),Ma=Symbol("_vsh"),Da=Symbol(""),Ua=/(?:^|;)\s*display\s*:/;function La(e,t,n){const s=e.style,o=ge(n);let r=!1;if(n&&!o){if(t)if(ge(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&In(s,l,"")}else for(const i in t)n[i]==null&&In(s,i,"");for(const i in n)i==="display"&&(r=!0),In(s,i,n[i])}else if(o){if(t!==n){const i=s[Da];i&&(n+=";"+i),s.cssText=n,r=Ua.test(n)}}else t&&e.removeAttribute("style");Oo in e&&(e[Oo]=r?s.display:"",e[Ma]&&(s.display="none"))}const Io=/\s*!important$/;function In(e,t,n){if(H(n))n.forEach(s=>In(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ka(e,t);Io.test(n)?e.setProperty(Ut(s),n.replace(Io,""),"important"):e[s]=n}}const No=["Webkit","Moz","ms"],hs={};function ka(e,t){const n=hs[t];if(n)return n;let s=He(t);if(s!=="filter"&&s in e)return hs[t]=s;s=Jn(s);for(let o=0;o<No.length;o++){const r=No[o]+s;if(r in e)return hs[t]=r}return t}const Mo="http://www.w3.org/1999/xlink";function Do(e,t,n,s,o,r=Vi(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Mo,t.slice(6,t.length)):e.setAttributeNS(Mo,t,n):n==null||r&&!ur(n)?e.removeAttribute(t):e.setAttribute(t,r?"":rt(n)?String(n):n)}function Uo(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?ui(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,a=n==null?e.type==="checkbox"?"on":"":String(n);(l!==a||!("_value"in e))&&(e.value=a),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=ur(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(o||t)}function Tt(e,t,n,s){e.addEventListener(t,n,s)}function $a(e,t,n,s){e.removeEventListener(t,n,s)}const Lo=Symbol("_vei");function ja(e,t,n,s,o=null){const r=e[Lo]||(e[Lo]={}),i=r[t];if(s&&i)i.value=s;else{const[l,a]=Va(t);if(s){const f=r[t]=Ba(s,o);Tt(e,l,f,a)}else i&&($a(e,l,i,a),r[t]=void 0)}}const ko=/(?:Once|Passive|Capture)$/;function Va(e){let t;if(ko.test(e)){t={};let s;for(;s=e.match(ko);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Ut(e.slice(2)),t]}let gs=0;const Ha=Promise.resolve(),Fa=()=>gs||(Ha.then(()=>gs=0),gs=Date.now());function Ba(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;it(Ka(s,n.value),t,5,[s])};return n.value=e,n.attached=Fa(),n}function Ka(e,t){if(H(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const $o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ga=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?Na(e,s,i):t==="style"?La(e,n,s):Gn(t)?$s(t)||ja(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Wa(e,t,s,i))?(Uo(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Do(e,t,s,i,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ge(s))?Uo(e,He(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Do(e,t,s,i))};function Wa(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&$o(t)&&G(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 $o(t)&&ge(n)?!1:t in e}const Bn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return H(t)?n=>An(t,n):t};function qa(e){e.target.composing=!0}function jo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Wt=Symbol("_assign");function Vo(e,t,n){return t&&(e=e.trim()),n&&(e=zn(e)),e}const We={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Wt]=Bn(o);const r=s||o.props&&o.props.type==="number";Tt(e,t?"change":"input",i=>{i.target.composing||e[Wt](Vo(e.value,n,r))}),(n||r)&&Tt(e,"change",()=>{e.value=Vo(e.value,n,r)}),t||(Tt(e,"compositionstart",qa),Tt(e,"compositionend",jo),Tt(e,"change",jo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[Wt]=Bn(i),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?zn(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a))}},Nn={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=Wn(t);Tt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?zn(Kn(i)):Kn(i));e[Wt](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,zs(()=>{e._assigning=!1})}),e[Wt]=Bn(s)},mounted(e,{value:t}){Ho(e,t)},beforeUpdate(e,t,n){e[Wt]=Bn(n)},updated(e,{value:t}){e._assigning||Ho(e,t)}};function Ho(e,t){const n=e.multiple,s=H(t);if(!(n&&!s&&!Wn(t))){for(let o=0,r=e.options.length;o<r;o++){const i=e.options[o],l=Kn(i);if(n)if(s){const a=typeof l;a==="string"||a==="number"?i.selected=t.some(f=>String(f)===String(l)):i.selected=Fi(t,l)>-1}else i.selected=t.has(l);else if(bn(Kn(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Kn(e){return"_value"in e?e._value:e.value}const Ja=["ctrl","shift","alt","meta"],za={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)=>Ja.some(n=>e[`${n}Key`]&&!t.includes(n))},ss=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(o,...r)=>{for(let i=0;i<t.length;i++){const l=za[t[i]];if(l&&l(o,t))return}return e(o,...r)})},Qa=_e({patchProp:Ga},Oa);let Fo;function Ya(){return Fo||(Fo=la(Qa))}const Xa=(...e)=>{const t=Ya().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=ec(s);if(!o)return;const r=t._component;!G(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Za(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t};function Za(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return ge(e)?document.querySelector(e):e}/*!
18
18
  * vue-router v4.6.4
19
19
  * (c) 2025 Eduardo San Martin Morote
20
20
  * @license MIT
21
- */const Ht=typeof document<"u";function fi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function tc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&fi(e.default)}const Z=Object.assign;function ms(e,t){const n={};for(const s in t){const o=t[s];n[s]=Je(o)?o.map(e):e(o)}return n}const dn=()=>{},Je=Array.isArray;function Bo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const di=/#/g,nc=/&/g,sc=/\//g,oc=/=/g,rc=/\?/g,pi=/\+/g,ic=/%5B/g,lc=/%5D/g,hi=/%5E/g,ac=/%60/g,gi=/%7B/g,cc=/%7C/g,mi=/%7D/g,uc=/%20/g;function to(e){return e==null?"":encodeURI(""+e).replace(cc,"|").replace(ic,"[").replace(lc,"]")}function fc(e){return to(e).replace(gi,"{").replace(mi,"}").replace(hi,"^")}function Ms(e){return to(e).replace(pi,"%2B").replace(uc,"+").replace(di,"%23").replace(nc,"%26").replace(ac,"`").replace(gi,"{").replace(mi,"}").replace(hi,"^")}function dc(e){return Ms(e).replace(oc,"%3D")}function pc(e){return to(e).replace(di,"%23").replace(rc,"%3F")}function hc(e){return pc(e).replace(sc,"%2F")}function yn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const gc=/\/$/,mc=e=>e.replace(gc,"");function vs(e,t,n="/"){let s,o={},r="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(s=t.slice(0,a),r=t.slice(a,l>0?l:t.length),o=e(r.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=bc(s??t,n),{fullPath:s+r+i,path:s,query:o,hash:yn(i)}}function vc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ko(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function yc(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&zt(t.matched[s],n.matched[o])&&vi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function zt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function vi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!_c(e[n],t[n]))return!1;return!0}function _c(e,t){return Je(e)?Go(e,t):Je(t)?Go(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Go(e,t){return Je(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function bc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let r=n.length-1,i,l;for(i=0;i<s.length;i++)if(l=s[i],l!==".")if(l==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i).join("/")}const bt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ds=function(e){return e.pop="pop",e.push="push",e}({}),ys=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function xc(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),mc(e)}const Sc=/^[^#]+#/;function Ec(e,t){return e.replace(Sc,"#")+t}function wc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const os=()=>({left:window.scrollX,top:window.scrollY});function Rc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=wc(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Wo(e,t){return(history.state?history.state.position-t:-1)+e}const Us=new Map;function Cc(e,t){Us.set(e,t)}function Ac(e){const t=Us.get(e);return Us.delete(e),t}function Pc(e){return typeof e=="string"||e&&typeof e=="object"}function yi(e){return typeof e=="string"||typeof e=="symbol"}let de=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const _i=Symbol("");de.MATCHER_NOT_FOUND+"",de.NAVIGATION_GUARD_REDIRECT+"",de.NAVIGATION_ABORTED+"",de.NAVIGATION_CANCELLED+"",de.NAVIGATION_DUPLICATED+"";function Qt(e,t){return Z(new Error,{type:e,[_i]:!0},t)}function ct(e,t){return e instanceof Error&&_i in e&&(t==null||!!(e.type&t))}const Tc=["params","query","hash"];function Oc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Tc)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ic(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const o=n[s].replace(pi," "),r=o.indexOf("="),i=yn(r<0?o:o.slice(0,r)),l=r<0?null:yn(o.slice(r+1));if(i in t){let a=t[i];Je(a)||(a=t[i]=[a]),a.push(l)}else t[i]=l}return t}function qo(e){let t="";for(let n in e){const s=e[n];if(n=dc(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Je(s)?s.map(o=>o&&Ms(o)):[s&&Ms(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Nc(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Je(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const Mc=Symbol(""),Jo=Symbol(""),rs=Symbol(""),no=Symbol(""),Ls=Symbol("");function tn(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Et(e,t,n,s,o,r=i=>i()){const i=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const f=g=>{g===!1?a(Qt(de.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?a(g):Pc(g)?a(Qt(de.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(i&&s.enterCallbacks[o]===i&&typeof g=="function"&&i.push(g),l())},c=r(()=>e.call(s&&s.instances[o],t,n,f));let p=Promise.resolve(c);e.length<3&&(p=p.then(f)),p.catch(g=>a(g))})}function _s(e,t,n,s,o=r=>r()){const r=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(fi(a)){const f=(a.__vccOpts||a)[t];f&&r.push(Et(f,n,s,i,l,o))}else{let f=a();r.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const p=tc(c)?c.default:c;i.mods[l]=c,i.components[l]=p;const g=(p.__vccOpts||p)[t];return g&&Et(g,n,s,i,l,o)()}))}}return r}function Dc(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;i<r;i++){const l=t.matched[i];l&&(e.matched.find(f=>zt(f,l))?s.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(f=>zt(f,a))||o.push(a))}return[n,s,o]}/*!
21
+ */const Ht=typeof document<"u";function fi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function tc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&fi(e.default)}const Z=Object.assign;function ms(e,t){const n={};for(const s in t){const o=t[s];n[s]=Je(o)?o.map(e):e(o)}return n}const dn=()=>{},Je=Array.isArray;function Bo(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const di=/#/g,nc=/&/g,sc=/\//g,oc=/=/g,rc=/\?/g,pi=/\+/g,ic=/%5B/g,lc=/%5D/g,hi=/%5E/g,ac=/%60/g,gi=/%7B/g,cc=/%7C/g,mi=/%7D/g,uc=/%20/g;function to(e){return e==null?"":encodeURI(""+e).replace(cc,"|").replace(ic,"[").replace(lc,"]")}function fc(e){return to(e).replace(gi,"{").replace(mi,"}").replace(hi,"^")}function Ms(e){return to(e).replace(pi,"%2B").replace(uc,"+").replace(di,"%23").replace(nc,"%26").replace(ac,"`").replace(gi,"{").replace(mi,"}").replace(hi,"^")}function dc(e){return Ms(e).replace(oc,"%3D")}function pc(e){return to(e).replace(di,"%23").replace(rc,"%3F")}function hc(e){return pc(e).replace(sc,"%2F")}function yn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const gc=/\/$/,mc=e=>e.replace(gc,"");function vs(e,t,n="/"){let s,o={},r="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(s=t.slice(0,a),r=t.slice(a,l>0?l:t.length),o=e(r.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=bc(s??t,n),{fullPath:s+r+i,path:s,query:o,hash:yn(i)}}function vc(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Ko(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function yc(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&zt(t.matched[s],n.matched[o])&&vi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function zt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function vi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!_c(e[n],t[n]))return!1;return!0}function _c(e,t){return Je(e)?Go(e,t):Je(t)?Go(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Go(e,t){return Je(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function bc(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let r=n.length-1,i,l;for(i=0;i<s.length;i++)if(l=s[i],l!==".")if(l==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(i).join("/")}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ds=function(e){return e.pop="pop",e.push="push",e}({}),ys=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function xc(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),mc(e)}const Sc=/^[^#]+#/;function Ec(e,t){return e.replace(Sc,"#")+t}function wc(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const os=()=>({left:window.scrollX,top:window.scrollY});function Rc(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=wc(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Wo(e,t){return(history.state?history.state.position-t:-1)+e}const Us=new Map;function Cc(e,t){Us.set(e,t)}function Ac(e){const t=Us.get(e);return Us.delete(e),t}function Pc(e){return typeof e=="string"||e&&typeof e=="object"}function yi(e){return typeof e=="string"||typeof e=="symbol"}let fe=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const _i=Symbol("");fe.MATCHER_NOT_FOUND+"",fe.NAVIGATION_GUARD_REDIRECT+"",fe.NAVIGATION_ABORTED+"",fe.NAVIGATION_CANCELLED+"",fe.NAVIGATION_DUPLICATED+"";function Qt(e,t){return Z(new Error,{type:e,[_i]:!0},t)}function ct(e,t){return e instanceof Error&&_i in e&&(t==null||!!(e.type&t))}const Tc=["params","query","hash"];function Oc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Tc)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ic(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const o=n[s].replace(pi," "),r=o.indexOf("="),i=yn(r<0?o:o.slice(0,r)),l=r<0?null:yn(o.slice(r+1));if(i in t){let a=t[i];Je(a)||(a=t[i]=[a]),a.push(l)}else t[i]=l}return t}function qo(e){let t="";for(let n in e){const s=e[n];if(n=dc(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Je(s)?s.map(o=>o&&Ms(o)):[s&&Ms(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Nc(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Je(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const Mc=Symbol(""),Jo=Symbol(""),rs=Symbol(""),no=Symbol(""),Ls=Symbol("");function tn(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function St(e,t,n,s,o,r=i=>i()){const i=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((l,a)=>{const f=g=>{g===!1?a(Qt(fe.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?a(g):Pc(g)?a(Qt(fe.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(i&&s.enterCallbacks[o]===i&&typeof g=="function"&&i.push(g),l())},c=r(()=>e.call(s&&s.instances[o],t,n,f));let p=Promise.resolve(c);e.length<3&&(p=p.then(f)),p.catch(g=>a(g))})}function _s(e,t,n,s,o=r=>r()){const r=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(fi(a)){const f=(a.__vccOpts||a)[t];f&&r.push(St(f,n,s,i,l,o))}else{let f=a();r.push(()=>f.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const p=tc(c)?c.default:c;i.mods[l]=c,i.components[l]=p;const g=(p.__vccOpts||p)[t];return g&&St(g,n,s,i,l,o)()}))}}return r}function Dc(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;i<r;i++){const l=t.matched[i];l&&(e.matched.find(f=>zt(f,l))?s.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(f=>zt(f,a))||o.push(a))}return[n,s,o]}/*!
22
22
  * vue-router v4.6.4
23
23
  * (c) 2025 Eduardo San Martin Morote
24
24
  * @license MIT
25
- */let Uc=()=>location.protocol+"//"+location.host;function bi(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let i=o.includes(e.slice(r))?e.slice(r).length:1,l=o.slice(i);return l[0]!=="/"&&(l="/"+l),Ko(l,"")}return Ko(n,e)+s+o}function Lc(e,t,n,s){let o=[],r=[],i=null;const l=({state:g})=>{const v=bi(e,location),O=n.value,w=t.value;let E=0;if(g){if(n.value=v,t.value=g,i&&i===O){i=null;return}E=w?g.position-w.position:0}else s(v);o.forEach(C=>{C(n.value,O,{delta:E,type:Ds.pop,direction:E?E>0?ys.forward:ys.back:ys.unknown})})};function a(){i=n.value}function f(g){o.push(g);const v=()=>{const O=o.indexOf(g);O>-1&&o.splice(O,1)};return r.push(v),v}function c(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(Z({},g.state,{scroll:os()}),"")}}function p(){for(const g of r)g();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:f,destroy:p}}function zo(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?os():null}}function kc(e){const{history:t,location:n}=window,s={value:bi(e,n)},o={value:t.state};o.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,f,c){const p=e.indexOf("#"),g=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+a:Uc()+e+a;try{t[c?"replaceState":"pushState"](f,"",g),o.value=f}catch(v){console.error(v),n[c?"replace":"assign"](g)}}function i(a,f){r(a,Z({},t.state,zo(o.value.back,a,o.value.forward,!0),f,{position:o.value.position}),!0),s.value=a}function l(a,f){const c=Z({},o.value,t.state,{forward:a,scroll:os()});r(c.current,c,!0),r(a,Z({},zo(s.value,a,null),{position:c.position+1},f),!1),s.value=a}return{location:s,state:o,push:l,replace:i}}function $c(e){e=xc(e);const t=kc(e),n=Lc(e,t.state,t.location,t.replace);function s(r,i=!0){i||n.pauseListeners(),history.go(r)}const o=Z({location:"",base:e,go:s,createHref:Ec.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let It=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var me=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(me||{});const jc={type:It.Static,value:""},Vc=/[a-zA-Z0-9_]/;function Hc(e){if(!e)return[[]];if(e==="/")return[[jc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${f}": ${v}`)}let n=me.Static,s=n;const o=[];let r;function i(){r&&o.push(r),r=[]}let l=0,a,f="",c="";function p(){f&&(n===me.Static?r.push({type:It.Static,value:f}):n===me.Param||n===me.ParamRegExp||n===me.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),r.push({type:It.Param,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function g(){f+=a}for(;l<e.length;){if(a=e[l++],a==="\\"&&n!==me.ParamRegExp){s=n,n=me.EscapeNext;continue}switch(n){case me.Static:a==="/"?(f&&p(),i()):a===":"?(p(),n=me.Param):g();break;case me.EscapeNext:g(),n=s;break;case me.Param:a==="("?n=me.ParamRegExp:Vc.test(a)?g():(p(),n=me.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--);break;case me.ParamRegExp:a===")"?c[c.length-1]=="\\"?c=c.slice(0,-1)+a:n=me.ParamRegExpEnd:c+=a;break;case me.ParamRegExpEnd:p(),n=me.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--,c="";break;default:t("Unknown state");break}}return n===me.ParamRegExp&&t(`Unfinished custom RegExp for param "${f}"`),p(),i(),o}const Qo="[^/]+?",Fc={sensitive:!1,strict:!1,start:!0,end:!0};var we=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(we||{});const Bc=/[.+*?^${}()[\]/\\]/g;function Kc(e,t){const n=Z({},Fc,t),s=[];let o=n.start?"^":"";const r=[];for(const f of e){const c=f.length?[]:[we.Root];n.strict&&!f.length&&(o+="/");for(let p=0;p<f.length;p++){const g=f[p];let v=we.Segment+(n.sensitive?we.BonusCaseSensitive:0);if(g.type===It.Static)p||(o+="/"),o+=g.value.replace(Bc,"\\$&"),v+=we.Static;else if(g.type===It.Param){const{value:O,repeatable:w,optional:E,regexp:C}=g;r.push({name:O,repeatable:w,optional:E});const x=C||Qo;if(x!==Qo){v+=we.BonusCustomRegExp;try{`${x}`}catch(D){throw new Error(`Invalid custom RegExp for param "${O}" (${x}): `+D.message)}}let A=w?`((?:${x})(?:/(?:${x}))*)`:`(${x})`;p||(A=E&&f.length<2?`(?:/${A})`:"/"+A),E&&(A+="?"),o+=A,v+=we.Dynamic,E&&(v+=we.BonusOptional),w&&(v+=we.BonusRepeatable),x===".*"&&(v+=we.BonusWildcard)}c.push(v)}s.push(c)}if(n.strict&&n.end){const f=s.length-1;s[f][s[f].length-1]+=we.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const i=new RegExp(o,n.sensitive?"":"i");function l(f){const c=f.match(i),p={};if(!c)return null;for(let g=1;g<c.length;g++){const v=c[g]||"",O=r[g-1];p[O.name]=v&&O.repeatable?v.split("/"):v}return p}function a(f){let c="",p=!1;for(const g of e){(!p||!c.endsWith("/"))&&(c+="/"),p=!1;for(const v of g)if(v.type===It.Static)c+=v.value;else if(v.type===It.Param){const{value:O,repeatable:w,optional:E}=v,C=O in f?f[O]:"";if(Je(C)&&!w)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const x=Je(C)?C.join("/"):C;if(!x)if(E)g.length<2&&(c.endsWith("/")?c=c.slice(0,-1):p=!0);else throw new Error(`Missing required param "${O}"`);c+=x}}return c||"/"}return{re:i,score:s,keys:r,parse:l,stringify:a}}function Gc(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===we.Static+we.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===we.Static+we.Segment?1:-1:0}function xi(e,t){let n=0;const s=e.score,o=t.score;for(;n<s.length&&n<o.length;){const r=Gc(s[n],o[n]);if(r)return r;n++}if(Math.abs(o.length-s.length)===1){if(Yo(s))return 1;if(Yo(o))return-1}return o.length-s.length}function Yo(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Wc={strict:!1,end:!0,sensitive:!1};function qc(e,t,n){const s=Kc(Hc(e.path),n),o=Z(s,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Jc(e,t){const n=[],s=new Map;t=Bo(Wc,t);function o(p){return s.get(p)}function r(p,g,v){const O=!v,w=Zo(p);w.aliasOf=v&&v.record;const E=Bo(t,p),C=[w];if("alias"in p){const D=typeof p.alias=="string"?[p.alias]:p.alias;for(const F of D)C.push(Zo(Z({},w,{components:v?v.record.components:w.components,path:F,aliasOf:v?v.record:w})))}let x,A;for(const D of C){const{path:F}=D;if(g&&F[0]!=="/"){const ce=g.record.path,re=ce[ce.length-1]==="/"?"":"/";D.path=g.record.path+(F&&re+F)}if(x=qc(D,g,E),v?v.alias.push(x):(A=A||x,A!==x&&A.alias.push(x),O&&p.name&&!er(x)&&i(p.name)),Si(x)&&a(x),w.children){const ce=w.children;for(let re=0;re<ce.length;re++)r(ce[re],x,v&&v.children[re])}v=v||x}return A?()=>{i(A)}:dn}function i(p){if(yi(p)){const g=s.get(p);g&&(s.delete(p),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(p);g>-1&&(n.splice(g,1),p.record.name&&s.delete(p.record.name),p.children.forEach(i),p.alias.forEach(i))}}function l(){return n}function a(p){const g=Yc(p,n);n.splice(g,0,p),p.record.name&&!er(p)&&s.set(p.record.name,p)}function f(p,g){let v,O={},w,E;if("name"in p&&p.name){if(v=s.get(p.name),!v)throw Qt(de.MATCHER_NOT_FOUND,{location:p});E=v.record.name,O=Z(Xo(g.params,v.keys.filter(A=>!A.optional).concat(v.parent?v.parent.keys.filter(A=>A.optional):[]).map(A=>A.name)),p.params&&Xo(p.params,v.keys.map(A=>A.name))),w=v.stringify(O)}else if(p.path!=null)w=p.path,v=n.find(A=>A.re.test(w)),v&&(O=v.parse(w),E=v.record.name);else{if(v=g.name?s.get(g.name):n.find(A=>A.re.test(g.path)),!v)throw Qt(de.MATCHER_NOT_FOUND,{location:p,currentLocation:g});E=v.record.name,O=Z({},g.params,p.params),w=v.stringify(O)}const C=[];let x=v;for(;x;)C.unshift(x.record),x=x.parent;return{name:E,path:w,params:O,matched:C,meta:Qc(C)}}e.forEach(p=>r(p));function c(){n.length=0,s.clear()}return{addRoute:r,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function Xo(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Zo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:zc(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function zc(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function er(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qc(e){return e.reduce((t,n)=>Z(t,n.meta),{})}function Yc(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;xi(e,t[r])<0?s=r:n=r+1}const o=Xc(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function Xc(e){let t=e;for(;t=t.parent;)if(Si(t)&&xi(e,t)===0)return t}function Si({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function tr(e){const t=Ge(rs),n=Ge(no),s=ve(()=>{const a=Dt(e.to);return t.resolve(a)}),o=ve(()=>{const{matched:a}=s.value,{length:f}=a,c=a[f-1],p=n.matched;if(!c||!p.length)return-1;const g=p.findIndex(zt.bind(null,c));if(g>-1)return g;const v=nr(a[f-2]);return f>1&&nr(c)===v&&p[p.length-1].path!==v?p.findIndex(zt.bind(null,a[f-2])):g}),r=ve(()=>o.value>-1&&su(n.params,s.value.params)),i=ve(()=>o.value>-1&&o.value===n.matched.length-1&&vi(n.params,s.value.params));function l(a={}){if(nu(a)){const f=t[Dt(e.replace)?"replace":"push"](Dt(e.to)).catch(dn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:ve(()=>s.value.href),isActive:r,isExactActive:i,navigate:l}}function Zc(e){return e.length===1?e[0]:e}const eu=kr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:tr,setup(e,{slots:t}){const n=xn(tr(e)),{options:s}=Ge(rs),o=ve(()=>({[sr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[sr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&Zc(t.default(n));return e.custom?r:ci("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),tu=eu;function nu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function su(e,t){for(const n in t){const s=t[n],o=e[n];if(typeof s=="string"){if(s!==o)return!1}else if(!Je(o)||o.length!==s.length||s.some((r,i)=>r.valueOf()!==o[i].valueOf()))return!1}return!0}function nr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const sr=(e,t,n)=>e??t??n,ou=kr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ge(Ls),o=ve(()=>e.route||s.value),r=Ge(Jo,0),i=ve(()=>{let f=Dt(r);const{matched:c}=o.value;let p;for(;(p=c[f])&&!p.components;)f++;return f}),l=ve(()=>o.value.matched[i.value]);Pn(Jo,ve(()=>i.value+1)),Pn(Mc,l),Pn(Ls,o);const a=Y();return ln(()=>[a.value,l.value,e.name],([f,c,p],[g,v,O])=>{c&&(c.instances[p]=f,v&&v!==c&&f&&f===g&&(c.leaveGuards.size||(c.leaveGuards=v.leaveGuards),c.updateGuards.size||(c.updateGuards=v.updateGuards))),f&&c&&(!v||!zt(c,v)||!g)&&(c.enterCallbacks[p]||[]).forEach(w=>w(f))},{flush:"post"}),()=>{const f=o.value,c=e.name,p=l.value,g=p&&p.components[c];if(!g)return or(n.default,{Component:g,route:f});const v=p.props[c],O=v?v===!0?f.params:typeof v=="function"?v(f):v:null,E=ci(g,Z({},O,t,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(p.instances[c]=null)},ref:a}));return or(n.default,{Component:E,route:f})||E}}});function or(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ru=ou;function iu(e){const t=Jc(e.routes,e),n=e.parseQuery||Ic,s=e.stringifyQuery||qo,o=e.history,r=tn(),i=tn(),l=tn(),a=ul(bt);let f=bt;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=ms.bind(null,b=>""+b),p=ms.bind(null,hc),g=ms.bind(null,yn);function v(b,U){let N,$;return yi(b)?(N=t.getRecordMatcher(b),$=U):$=b,t.addRoute($,N)}function O(b){const U=t.getRecordMatcher(b);U&&t.removeRoute(U)}function w(){return t.getRoutes().map(b=>b.record)}function E(b){return!!t.getRecordMatcher(b)}function C(b,U){if(U=Z({},U||a.value),typeof b=="string"){const m=vs(n,b,U.path),y=t.resolve({path:m.path},U),S=o.createHref(m.fullPath);return Z(m,y,{params:g(y.params),hash:yn(m.hash),redirectedFrom:void 0,href:S})}let N;if(b.path!=null)N=Z({},b,{path:vs(n,b.path,U.path).path});else{const m=Z({},b.params);for(const y in m)m[y]==null&&delete m[y];N=Z({},b,{params:p(m)}),U.params=p(U.params)}const $=t.resolve(N,U),z=b.hash||"";$.params=c(g($.params));const u=vc(s,Z({},b,{hash:fc(z),path:$.path})),d=o.createHref(u);return Z({fullPath:u,hash:z,query:s===qo?Nc(b.query):b.query||{}},$,{redirectedFrom:void 0,href:d})}function x(b){return typeof b=="string"?vs(n,b,a.value.path):Z({},b)}function A(b,U){if(f!==b)return Qt(de.NAVIGATION_CANCELLED,{from:U,to:b})}function D(b){return re(b)}function F(b){return D(Z(x(b),{replace:!0}))}function ce(b,U){const N=b.matched[b.matched.length-1];if(N&&N.redirect){const{redirect:$}=N;let z=typeof $=="function"?$(b,U):$;return typeof z=="string"&&(z=z.includes("?")||z.includes("#")?z=x(z):{path:z},z.params={}),Z({query:b.query,hash:b.hash,params:z.path!=null?{}:b.params},z)}}function re(b,U){const N=f=C(b),$=a.value,z=b.state,u=b.force,d=b.replace===!0,m=ce(N,$);if(m)return re(Z(x(m),{state:typeof m=="object"?Z({},z,m.state):z,force:u,replace:d}),U||N);const y=N;y.redirectedFrom=U;let S;return!u&&yc(s,$,N)&&(S=Qt(de.NAVIGATION_DUPLICATED,{to:y,from:$}),Ye($,$,!0,!1)),(S?Promise.resolve(S):De(y,$)).catch(_=>ct(_)?ct(_,de.NAVIGATION_GUARD_REDIRECT)?_:_t(_):X(_,y,$)).then(_=>{if(_){if(ct(_,de.NAVIGATION_GUARD_REDIRECT))return re(Z({replace:d},x(_.to),{state:typeof _.to=="object"?Z({},z,_.to.state):z,force:u}),U||y)}else _=Qe(y,$,!0,d,z);return ze(y,$,_),_})}function je(b,U){const N=A(b,U);return N?Promise.reject(N):Promise.resolve()}function Be(b){const U=$t.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(b):b()}function De(b,U){let N;const[$,z,u]=Dc(b,U);N=_s($.reverse(),"beforeRouteLeave",b,U);for(const m of $)m.leaveGuards.forEach(y=>{N.push(Et(y,b,U))});const d=je.bind(null,b,U);return N.push(d),Ve(N).then(()=>{N=[];for(const m of r.list())N.push(Et(m,b,U));return N.push(d),Ve(N)}).then(()=>{N=_s(z,"beforeRouteUpdate",b,U);for(const m of z)m.updateGuards.forEach(y=>{N.push(Et(y,b,U))});return N.push(d),Ve(N)}).then(()=>{N=[];for(const m of u)if(m.beforeEnter)if(Je(m.beforeEnter))for(const y of m.beforeEnter)N.push(Et(y,b,U));else N.push(Et(m.beforeEnter,b,U));return N.push(d),Ve(N)}).then(()=>(b.matched.forEach(m=>m.enterCallbacks={}),N=_s(u,"beforeRouteEnter",b,U,Be),N.push(d),Ve(N))).then(()=>{N=[];for(const m of i.list())N.push(Et(m,b,U));return N.push(d),Ve(N)}).catch(m=>ct(m,de.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function ze(b,U,N){l.list().forEach($=>Be(()=>$(b,U,N)))}function Qe(b,U,N,$,z){const u=A(b,U);if(u)return u;const d=U===bt,m=Ht?history.state:{};N&&($||d?o.replace(b.fullPath,Z({scroll:d&&m&&m.scroll},z)):o.push(b.fullPath,z)),a.value=b,Ye(b,U,N,d),_t()}let k;function L(){k||(k=o.listen((b,U,N)=>{if(!Ct.listening)return;const $=C(b),z=ce($,Ct.currentRoute.value);if(z){re(Z(z,{replace:!0,force:!0}),$).catch(dn);return}f=$;const u=a.value;Ht&&Cc(Wo(u.fullPath,N.delta),os()),De($,u).catch(d=>ct(d,de.NAVIGATION_ABORTED|de.NAVIGATION_CANCELLED)?d:ct(d,de.NAVIGATION_GUARD_REDIRECT)?(re(Z(x(d.to),{force:!0}),$).then(m=>{ct(m,de.NAVIGATION_ABORTED|de.NAVIGATION_DUPLICATED)&&!N.delta&&N.type===Ds.pop&&o.go(-1,!1)}).catch(dn),Promise.reject()):(N.delta&&o.go(-N.delta,!1),X(d,$,u))).then(d=>{d=d||Qe($,u,!1),d&&(N.delta&&!ct(d,de.NAVIGATION_CANCELLED)?o.go(-N.delta,!1):N.type===Ds.pop&&ct(d,de.NAVIGATION_ABORTED|de.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ze($,u,d)}).catch(dn)}))}let K=tn(),ue=tn(),oe;function X(b,U,N){_t(b);const $=ue.list();return $.length?$.forEach(z=>z(b,U,N)):console.error(b),Promise.reject(b)}function lt(){return oe&&a.value!==bt?Promise.resolve():new Promise((b,U)=>{K.add([b,U])})}function _t(b){return oe||(oe=!b,L(),K.list().forEach(([U,N])=>b?N(b):U()),K.reset()),b}function Ye(b,U,N,$){const{scrollBehavior:z}=e;if(!Ht||!z)return Promise.resolve();const u=!N&&Ac(Wo(b.fullPath,0))||($||!N)&&history.state&&history.state.scroll||null;return zs().then(()=>z(b,U,u)).then(d=>d&&Rc(d)).catch(d=>X(d,b,U))}const Pe=b=>o.go(b);let kt;const $t=new Set,Ct={currentRoute:a,listening:!0,addRoute:v,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:w,resolve:C,options:e,push:D,replace:F,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:r.add,beforeResolve:i.add,afterEach:l.add,onError:ue.add,isReady:lt,install(b){b.component("RouterLink",tu),b.component("RouterView",ru),b.config.globalProperties.$router=Ct,Object.defineProperty(b.config.globalProperties,"$route",{enumerable:!0,get:()=>Dt(a)}),Ht&&!kt&&a.value===bt&&(kt=!0,D(o.location).catch($=>{}));const U={};for(const $ in bt)Object.defineProperty(U,$,{get:()=>a.value[$],enumerable:!0});b.provide(rs,Ct),b.provide(no,Ar(U)),b.provide(Ls,a);const N=b.unmount;$t.add(b),b.unmount=function(){$t.delete(b),$t.size<1&&(f=bt,k&&k(),k=null,a.value=bt,kt=!1,oe=!1),N()}}};function Ve(b){return b.reduce((U,N)=>U.then(()=>Be(N)),Promise.resolve())}return Ct}function is(){return Ge(rs)}function Ei(e){return Ge(no)}const ye=xn({mode:null,user:null,remoteBaseUrl:"",token:""});function so(){return Mn(ye)}function oo(e){ye.mode=e,typeof localStorage<"u"&&localStorage.setItem("pac_proxy_mode",e)}function wi(){if(typeof localStorage<"u"){const e=localStorage.getItem("pac_proxy_mode");(e==="local"||e==="remote")&&(ye.mode=e);const t=localStorage.getItem("pac_proxy_token");t&&(ye.token=t);const n=localStorage.getItem("pac_proxy_remote_base_url");if(n&&typeof n=="string"&&(ye.remoteBaseUrl=n),ye.mode==="remote"&&ye.token)try{const s=JSON.parse(atob(ye.token.split(".")[1]));ye.user={username:s.username}}catch{}}return ye.mode}function Ri(e){ye.user=e}function Ci(e){ye.remoteBaseUrl=e||"",typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_remote_base_url",e):localStorage.removeItem("pac_proxy_remote_base_url"))}function Ai(e){ye.token=e,typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_token",e):localStorage.removeItem("pac_proxy_token"))}function lu(){return ye.token||typeof localStorage<"u"&&localStorage.getItem("pac_proxy_token")}function au(){ye.token="",ye.user=null,ye.remoteBaseUrl="",ye.mode=null,typeof localStorage<"u"&&(localStorage.removeItem("pac_proxy_token"),localStorage.removeItem("pac_proxy_mode"),localStorage.removeItem("pac_proxy_remote_base_url"))}const cu=()=>{const e=lu(),t={"Content-Type":"application/json"};return e&&(t.Authorization="Bearer "+e),t};async function pe(e,t={}){const n=await fetch("/api/local"+e,{...t,headers:{"Content-Type":"application/json",...t.headers}});if(!n.ok)throw new Error((await n.json().catch(()=>({}))).error||n.statusText);return n.json()}async function bs(e,t,n={}){const s=(e||"").trim().replace(/\/$/,"");if(!s)throw new Error("未配置远程服务器地址。请在 packages/node-cli/.env 中配置 REMOTE_SERVER_URL(填 node-server 的地址,例如 http://127.0.0.1:3000),重启 node-cli 后重新登录。");const o=s+"/api"+t,r=await fetch(o,{...n,headers:{...cu(),...n.headers}});if(!r.ok)throw new Error((await r.json().catch(()=>({}))).error||r.statusText);return r.json()}function Pi(e,t){const n={getProxy:()=>pe("/proxy"),setProxy:s=>pe("/proxy",{method:"PUT",body:JSON.stringify(s)})};return e==="local"?{...n,getPacRules:()=>pe("/pac-rules"),setPacRules:s=>pe("/pac-rules",{method:"PUT",body:JSON.stringify(s)}),getConfig:()=>pe("/config")}:{...n,getPacRules:()=>bs(t,"/pac-rules"),setPacRules:async s=>{await bs(t,"/pac-rules",{method:"PUT",body:JSON.stringify(s)}),await pe("/pac-rules",{method:"PUT",body:JSON.stringify(s)})},getConfig:()=>bs(t,"/config")}}const Lt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},uu={class:"app-layout"},fu={key:0,class:"topbar"},du={class:"top-nav"},pu={key:0,class:"top-right"},hu={class:"username"},gu={key:1,class:"sidebar"},mu={class:"side-nav"},vu={__name:"App",setup(e){const t=Ei(),n=is(),s=so(),o=ve(()=>s.mode||"local"),r=ve(()=>o.value==="remote"),i=ve(()=>s.user),l=ve(()=>o.value==="local"?"本地模式":"远程模式"),a=ve(()=>t.path!=="/"),f=ve(()=>t.path!=="/"&&!t.path.startsWith("/login")&&!t.path.startsWith("/register")),c=ve(()=>t.path==="/"||t.path.startsWith("/login")||t.path.startsWith("/register"));async function p(){try{const g=await pe("/config");await pe("/config",{method:"PUT",body:JSON.stringify({...g,mode:"local"})})}catch{}au(),n.push("/")}return(g,v)=>{const O=$n("router-link"),w=$n("router-view");return W(),q("div",uu,[a.value?(W(),q("header",fu,[v[3]||(v[3]=h("span",{class:"logo"},"PAC 代理控制台",-1)),h("span",{class:Ce(["mode-tag",o.value])},J(l.value),3),fe(O,{to:"/",class:"switch-mode"},{default:ft(()=>[...v[0]||(v[0]=[Le("切换模式",-1)])]),_:1}),h("nav",du,[fe(O,{to:"/"},{default:ft(()=>[...v[1]||(v[1]=[Le("首页",-1)])]),_:1}),fe(O,{to:"/console"},{default:ft(()=>[...v[2]||(v[2]=[Le("控制台",-1)])]),_:1})]),r.value&&i.value?(W(),q("div",pu,[h("span",hu,J(i.value.username),1),h("button",{type:"button",class:"logout-btn",onClick:p},"退出登录")])):he("",!0)])):he("",!0),f.value?(W(),q("aside",gu,[h("nav",mu,[fe(O,{to:"/console/proxy","active-class":"active"},{default:ft(()=>[...v[4]||(v[4]=[Le("代理设置",-1)])]),_:1}),fe(O,{to:"/console/pac-rules","active-class":"active"},{default:ft(()=>[...v[5]||(v[5]=[Le("PAC 规则",-1)])]),_:1}),fe(O,{to:"/console/traffic","active-class":"active"},{default:ft(()=>[...v[6]||(v[6]=[Le("流量记录",-1)])]),_:1})])])):he("",!0),h("main",{class:Ce(["main",{"main-standalone":c.value}])},[fe(w)],2)])}}},yu=Lt(vu,[["__scopeId","data-v-e7869e57"]]),_u={class:"mode-select"},bu={class:"card"},xu={class:"options"},Su={__name:"ModeSelect",setup(e){const t=is();async function n(s){if(oo(s),s==="local"){try{const o=await pe("/config");await pe("/config",{method:"PUT",body:JSON.stringify({...o,mode:"local"})})}catch{}t.push("/console")}else t.push("/login")}return(s,o)=>(W(),q("div",_u,[h("div",bu,[o[4]||(o[4]=h("h1",null,"选择运行模式",-1)),o[5]||(o[5]=h("p",{class:"desc"},"请选择控制台使用方式,选择后可随时在设置中切换。",-1)),h("div",xu,[h("button",{class:"option local",onClick:o[0]||(o[0]=r=>n("local"))},[...o[2]||(o[2]=[h("span",{class:"title"},"本地模式",-1),h("span",{class:"sub"},"无需登录,配置保存在本机,由 node-cli 维护",-1)])]),h("button",{class:"option remote",onClick:o[1]||(o[1]=r=>n("remote"))},[...o[3]||(o[3]=[h("span",{class:"title"},"远程模式",-1),h("span",{class:"sub"},"需注册/登录,配置与数据保存在云端",-1)])])])])]))}},Eu=Lt(Su,[["__scopeId","data-v-b465f762"]]),wu={class:"auth-page"},Ru={class:"card"},Cu={class:"field"},Au={class:"field"},Pu={key:0,class:"error"},Tu=["disabled"],Ou={class:"footer"},Iu={__name:"Login",setup(e){const t=is(),n=Y(""),s=Y(""),o=Y(""),r=Y(""),i=Y(!1);Yt(async()=>{try{const a=await fetch("/api/local/remote-server-url"),{url:f}=await a.json();n.value=f||""}catch{n.value=""}});async function l(){if(r.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}i.value=!0;try{const a=n.value.replace(/\/$/,""),f=await fetch(a+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),c=await f.json().catch(()=>({}));if(!f.ok)throw new Error(c.error||"登录失败");oo("remote"),Ci(a),Ai(c.token),Ri(c.user||{username:s.value});try{const p=await pe("/config");await pe("/config",{method:"PUT",body:JSON.stringify({...p,mode:"remote"})});const g=await fetch(a+"/api/pac-rules",{headers:{Authorization:"Bearer "+c.token}}).then(v=>v.json()).catch(()=>[]);Array.isArray(g)&&await pe("/pac-rules",{method:"PUT",body:JSON.stringify(g)})}catch{}t.push("/console")}catch(a){r.value=a.message}finally{i.value=!1}}return(a,f)=>{const c=$n("router-link");return W(),q("div",wu,[h("div",Ru,[f[6]||(f[6]=h("h1",null,"登录",-1)),f[7]||(f[7]=h("p",{class:"desc"},"远程模式需登录后使用云端配置。",-1)),h("form",{onSubmit:ss(l,["prevent"]),class:"form"},[h("div",Cu,[f[2]||(f[2]=h("label",null,"用户名",-1)),Ae(h("input",{"onUpdate:modelValue":f[0]||(f[0]=p=>s.value=p),type:"text",required:""},null,512),[[We,s.value]])]),h("div",Au,[f[3]||(f[3]=h("label",null,"密码",-1)),Ae(h("input",{"onUpdate:modelValue":f[1]||(f[1]=p=>o.value=p),type:"password",required:""},null,512),[[We,o.value]])]),r.value?(W(),q("p",Pu,J(r.value),1)):he("",!0),h("button",{type:"submit",class:"btn primary",disabled:i.value},"登录",8,Tu)],32),h("p",Ou,[f[5]||(f[5]=Le("还没有账号? ",-1)),fe(c,{to:"/register"},{default:ft(()=>[...f[4]||(f[4]=[Le("注册",-1)])]),_:1})])])])}}},Nu=Lt(Iu,[["__scopeId","data-v-be60da76"]]),Mu={class:"auth-page"},Du={class:"card"},Uu={class:"field"},Lu={class:"field"},ku={key:0,class:"error"},$u={key:1,class:"success"},ju=["disabled"],Vu={class:"footer"},Hu={__name:"Register",setup(e){const t=is(),n=Y(""),s=Y(""),o=Y(""),r=Y(""),i=Y(""),l=Y(!1);Yt(async()=>{try{const f=await fetch("/api/local/remote-server-url"),{url:c}=await f.json();n.value=c||""}catch{n.value=""}});async function a(){if(r.value="",i.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}l.value=!0;try{const f=n.value.replace(/\/$/,""),c=await fetch(f+"/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),p=await c.json().catch(()=>({}));if(!c.ok)throw new Error(p.error||"注册失败");i.value="注册成功,正在自动登录…";const g=await fetch(f+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),v=await g.json().catch(()=>({}));if(!g.ok)throw new Error(v.error||"自动登录失败");oo("remote"),Ci(f),Ai(v.token),Ri(v.user||{username:s.value}),i.value="注册成功,已自动登录";try{const O=await pe("/config");await pe("/config",{method:"PUT",body:JSON.stringify({...O,mode:"remote"})});const w=await fetch(f+"/api/pac-rules",{headers:{Authorization:"Bearer "+v.token}}).then(E=>E.json()).catch(()=>[]);Array.isArray(w)&&await pe("/pac-rules",{method:"PUT",body:JSON.stringify(w)})}catch{}t.push("/console")}catch(f){r.value=f.message}finally{l.value=!1}}return(f,c)=>{const p=$n("router-link");return W(),q("div",Mu,[h("div",Du,[c[6]||(c[6]=h("h1",null,"注册",-1)),c[7]||(c[7]=h("p",{class:"desc"},"注册后可在远程模式下同步配置。",-1)),h("form",{onSubmit:ss(a,["prevent"]),class:"form"},[h("div",Uu,[c[2]||(c[2]=h("label",null,"用户名",-1)),Ae(h("input",{"onUpdate:modelValue":c[0]||(c[0]=g=>s.value=g),type:"text",required:""},null,512),[[We,s.value]])]),h("div",Lu,[c[3]||(c[3]=h("label",null,"密码",-1)),Ae(h("input",{"onUpdate:modelValue":c[1]||(c[1]=g=>o.value=g),type:"password",required:""},null,512),[[We,o.value]])]),r.value?(W(),q("p",ku,J(r.value),1)):he("",!0),i.value?(W(),q("p",$u,J(i.value),1)):he("",!0),h("button",{type:"submit",class:"btn primary",disabled:l.value},"注册",8,ju)],32),h("p",Vu,[c[5]||(c[5]=Le("已有账号? ",-1)),fe(p,{to:"/login"},{default:ft(()=>[...c[4]||(c[4]=[Le("登录",-1)])]),_:1})])])])}}},Fu=Lt(Hu,[["__scopeId","data-v-a1c8458c"]]),Bu={class:"proxy-settings"},Ku={class:"card"},Gu={class:"proxy-buttons"},Wu=["disabled"],qu=["disabled"],Ju=["disabled"],zu=["disabled"],Qu={key:0,class:"saved-tip"},Yu={key:1,class:"ca-download"},Xu={class:"card"},Zu={class:"field"},ef={class:"row"},tf={class:"field"},nf={class:"field"},sf={class:"actions"},of=["disabled"],rf={key:0,class:"card status-card"},lf={class:"status-line"},af={key:0,class:"status-port"},cf={key:0,class:"hint"},uf={key:1,class:"hint error"},ff={key:2,class:"hint"},df={key:3,class:"hint"},pf="/api/local/ca-cert",hf={__name:"ProxySettings",setup(e){const t=so();function n(){return Pi(t.mode,t.remoteBaseUrl)}async function s(){return pe("/proxy")}async function o(w){return pe("/proxy",{method:"PUT",body:JSON.stringify(w)})}const r=Y({enabled:!1,mode:"pac",upstream:"socks5://127.0.0.1:1080",httpPort:5175,httpsPort:5176,applySystemProxy:!0}),i=Y(!1),l=Y(null),a=Y(!1);let f=null;async function c(){try{const w=await fetch("/api/local/proxy-status");l.value=await w.json()}catch{l.value={running:!1,port:null}}}function p(){a.value=!0,f&&clearTimeout(f),f=setTimeout(()=>{a.value=!1},2e3)}function g(){return{enabled:!!r.value.enabled,mode:r.value.mode||"pac",upstream:String(r.value.upstream??"").trim(),httpPort:Number(r.value.httpPort)||5175,httpsPort:Number(r.value.httpsPort)||5176,applySystemProxy:r.value.applySystemProxy!==!1}}async function v(w){if(!i.value){w==="clear"?(r.value.enabled=!1,r.value.applySystemProxy=!0):(r.value.enabled=!0,r.value.mode=w,r.value.applySystemProxy=!0),i.value=!0;try{const E=g();if(await o(E),t.mode==="remote")try{const C=await n().getPacRules();await pe("/pac-rules",{method:"PUT",body:JSON.stringify(C)})}catch{}await c(),p()}catch{}finally{i.value=!1}}}Yt(async()=>{try{const w=await s();if(r.value={...r.value,...w},t.mode==="remote")try{const E=await n().getPacRules();await pe("/pac-rules",{method:"PUT",body:JSON.stringify(E)})}catch{}await c()}catch{}});async function O(){i.value=!0;try{const w=g();if(await o(w),t.mode==="remote")try{const C=await n().getPacRules();await pe("/pac-rules",{method:"PUT",body:JSON.stringify(C)})}catch{}await c();const E=Number(w.httpPort)||5175;w.enabled?w.applySystemProxy?alert(`已保存,并已尝试自动设置系统代理(127.0.0.1:${E})。`):alert(`已保存。请将系统或浏览器代理设置为 127.0.0.1:${E}。`):alert("已保存")}catch(w){alert("保存失败:"+w.message)}finally{i.value=!1}}return(w,E)=>(W(),q("div",Bu,[E[19]||(E[19]=h("h2",null,"代理设置",-1)),E[20]||(E[20]=h("p",{class:"page-desc"},"代理配置仅保存在本机,与本地/远程模式无关。",-1)),h("div",Ku,[E[9]||(E[9]=h("h3",null,"代理模式",-1)),E[10]||(E[10]=h("p",{class:"desc"},"一键设置本机系统代理或清除(支持 macOS、Windows、Linux GNOME)。",-1)),h("div",Gu,[h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="global"}]),onClick:E[0]||(E[0]=C=>v("global")),disabled:i.value,type:"button"}," 全局代理 ",10,Wu),h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="pac"}]),onClick:E[1]||(E[1]=C=>v("pac")),disabled:i.value,type:"button"}," PAC 代理 ",10,qu),h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="mitm"}]),onClick:E[2]||(E[2]=C=>v("mitm")),disabled:i.value,type:"button"}," 抓包代理 ",10,Ju),h("button",{class:Ce(["btn proxy-btn clear",{active:!r.value.enabled}]),onClick:E[3]||(E[3]=C=>v("clear")),disabled:i.value,type:"button"}," 清除代理设置 ",10,zu)]),a.value?(W(),q("p",Qu,"已生效")):he("",!0),r.value.enabled&&r.value.mode==="mitm"?(W(),q("div",Yu,[E[7]||(E[7]=h("span",{class:"ca-label"},"CA 证书(用于解密 HTTPS,需安装到系统/浏览器信任):",-1)),h("a",{class:"btn btn-ca",href:pf,download:"pac-proxy-ca.crt",target:"_blank",rel:"noopener"},"下载 CA 证书"),E[8]||(E[8]=h("p",{class:"ca-hint"},"仅限本机抓包使用,请勿安装到他人设备或生产环境。",-1))])):he("",!0)]),h("div",Xu,[E[14]||(E[14]=h("h3",null,"上游代理与端口",-1)),E[15]||(E[15]=h("p",{class:"desc"},"上游代理地址(如 SOCKS5:socks5://127.0.0.1:1080、 http://proxy.xxxx.com)。本地模式下可将 SOCKS5 转为 HTTP 代理并根据规则执行策略。",-1)),h("div",Zu,[E[11]||(E[11]=h("label",null,"上游代理地址",-1)),Ae(h("input",{"onUpdate:modelValue":E[4]||(E[4]=C=>r.value.upstream=C),placeholder:"socks5://127.0.0.1:1080"},null,512),[[We,r.value.upstream]])]),h("div",ef,[h("div",tf,[E[12]||(E[12]=h("label",null,"HTTP 代理端口",-1)),Ae(h("input",{"onUpdate:modelValue":E[5]||(E[5]=C=>r.value.httpPort=C),type:"number",min:"1",max:"65535"},null,512),[[We,r.value.httpPort,void 0,{number:!0}]])]),h("div",nf,[E[13]||(E[13]=h("label",null,"HTTPS 代理端口",-1)),Ae(h("input",{"onUpdate:modelValue":E[6]||(E[6]=C=>r.value.httpsPort=C),type:"number",min:"1",max:"65535"},null,512),[[We,r.value.httpsPort,void 0,{number:!0}]])])]),h("div",sf,[h("button",{class:"btn primary",onClick:O,disabled:i.value},"保存设置",8,of)])]),l.value!==null?(W(),q("div",rf,[E[18]||(E[18]=h("h3",null,"代理状态",-1)),h("p",lf,[h("span",{class:Ce(l.value.running?"status-on":"status-off")},J(l.value.running?"运行中":"已关闭"),3),l.value.running?(W(),q("span",af,"端口 "+J(l.value.port),1)):he("",!0)]),l.value.running&&r.value.applySystemProxy&&l.value.systemProxyOk!==!1?(W(),q("p",cf," 已尝试自动设置"+J(r.value.mode==="pac"?" PAC 代理":r.value.mode==="mitm"?"抓包代理":"系统代理")+"(127.0.0.1:"+J(l.value.port)+")。若未生效请检查终端或下方提示。 ",1)):l.value.running&&r.value.applySystemProxy&&l.value.systemProxyError?(W(),q("p",uf," 自动设置系统代理失败:"+J(l.value.systemProxyError)+" 请手动在「系统设置 → 网络 → 代理」中设置,或关闭「自动设置系统代理」。 ",1)):l.value.running?(W(),q("p",ff,[E[16]||(E[16]=Le(" 请将系统或浏览器的 HTTP/HTTPS 代理设置为 ",-1)),h("strong",null,"127.0.0.1:"+J(l.value.port),1),E[17]||(E[17]=Le(",代理才会生效。 ",-1))])):r.value.enabled?(W(),q("p",df," 保存后若仍显示已关闭,请查看终端是否有「代理服务已启动」或端口占用报错。 ")):he("",!0)])):he("",!0)]))}},gf=Lt(hf,[["__scopeId","data-v-9e948823"]]),mf={class:"pac-rules"},vf={key:0,class:"page-desc"},yf={class:"card"},_f={class:"actions top"},bf=["disabled"],xf=["disabled"],Sf={key:0,class:"copy-tip"},Ef={class:"table"},wf=["onClick"],Rf=["onClick"],Cf={key:0},Af={class:"modal-content"},Pf={class:"field"},Tf={class:"field"},Of={class:"field"},If={class:"modal-actions"},Nf=["disabled"],Mf={__name:"PacRules",setup(e){const t=so();function n(){return Pi(t.mode,t.remoteBaseUrl)}const s=Y([]),o=Y(null),r=Y({pattern:"",action:"proxy",priority:0}),i=Y(!1),l=Y(!1),a=ve(()=>[...s.value].sort((C,x)=>(x.priority??0)-(C.priority??0)));Yt(f);async function f(){try{if(s.value=await n().getPacRules(),Array.isArray(s.value)||(s.value=[]),t.mode==="remote")try{await pe("/pac-rules",{method:"PUT",body:JSON.stringify(s.value)})}catch{}}catch{s.value=[]}}function c(C=null){C?r.value={id:C.id,pattern:C.pattern,action:C.action||"proxy",priority:C.priority??0}:r.value={pattern:"",action:"proxy",priority:0},o.value=!0}async function p(){const{id:C,pattern:x,action:A,priority:D}=r.value;if(!x.trim()){alert("请填写 URL 匹配字符");return}i.value=!0;try{let F=[...s.value];if(C){const ce=F.findIndex(re=>re.id===C);ce>=0&&(F[ce]={...F[ce],pattern:x.trim(),action:A,priority:D})}else F.push({id:String(Date.now()),pattern:x.trim(),action:A||"proxy",priority:Number(D)||0});await n().setPacRules(F),s.value=F,o.value=null}catch(F){alert("保存失败:"+F.message)}finally{i.value=!1}}async function g(C){if(!confirm("确定删除该规则?"))return;const x=s.value.filter(A=>A.id!==C.id);try{await n().setPacRules(x),s.value=x}catch(A){alert("删除失败:"+A.message)}}function v(){return JSON.stringify(s.value,null,2)}function O(){return s.value.map(C=>(C.pattern||"").trim()).filter(Boolean).join(`
26
- `)}async function w(){if(s.value.length)try{await navigator.clipboard.writeText(O()),l.value=!0,setTimeout(()=>{l.value=!1},1500)}catch(C){alert("复制失败:"+C.message)}}function E(){if(!s.value.length)return;const C=new Blob([v()],{type:"application/json"}),x=URL.createObjectURL(C),A=document.createElement("a");A.href=x,A.download=`pac-rules-${new Date().toISOString().slice(0,10)}.json`,A.click(),URL.revokeObjectURL(x)}return(C,x)=>(W(),q("div",mf,[x[13]||(x[13]=h("h2",null,"PAC 规则",-1)),Dt(t).mode==="remote"?(W(),q("p",vf,"远程模式下规则保存在云端,PAC 模式时由本机按云端规则执行。")):he("",!0),h("div",yf,[x[8]||(x[8]=h("p",{class:"desc"},"管理 PAC 代理的匹配规则。按优先级从高到低匹配,命中后选择「代理」或「直连」。",-1)),h("div",_f,[h("button",{class:"btn primary",onClick:x[0]||(x[0]=A=>c())},"新增规则"),h("button",{class:"btn",onClick:w,disabled:!s.value.length},"复制",8,bf),h("button",{class:"btn",onClick:E,disabled:!s.value.length},"导出",8,xf),l.value?(W(),q("span",Sf,"已复制到剪贴板")):he("",!0)]),h("table",Ef,[x[7]||(x[7]=h("thead",null,[h("tr",null,[h("th",null,"URL 匹配字符"),h("th",null,"动作"),h("th",null,"优先级"),h("th",null,"操作")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(a.value,A=>(W(),q("tr",{key:A.id},[h("td",null,J(A.pattern),1),h("td",null,J(A.action==="proxy"?"代理":"直连"),1),h("td",null,J(A.priority),1),h("td",null,[h("button",{class:"btn small",onClick:D=>c(A)},"编辑",8,wf),h("button",{class:"btn small danger",onClick:D=>g(A)},"删除",8,Rf)])]))),128)),s.value.length?he("",!0):(W(),q("tr",Cf,[...x[6]||(x[6]=[h("td",{colspan:"4",class:"empty"},"暂无规则,请点击「新增规则」",-1)])]))])])]),o.value?(W(),q("div",{key:1,class:"modal",onClick:x[5]||(x[5]=ss(A=>o.value=null,["self"]))},[h("div",Af,[h("h3",null,J(o.value.id?"编辑规则":"新增规则"),1),h("div",Pf,[x[9]||(x[9]=h("label",null,"URL 匹配字符",-1)),Ae(h("input",{"onUpdate:modelValue":x[1]||(x[1]=A=>r.value.pattern=A),placeholder:"例如 *.google.com"},null,512),[[We,r.value.pattern]])]),h("div",Tf,[x[11]||(x[11]=h("label",null,"动作",-1)),Ae(h("select",{"onUpdate:modelValue":x[2]||(x[2]=A=>r.value.action=A)},[...x[10]||(x[10]=[h("option",{value:"proxy"},"代理",-1),h("option",{value:"direct"},"直连",-1)])],512),[[Nn,r.value.action]])]),h("div",Of,[x[12]||(x[12]=h("label",null,"优先级(数字越大越优先)",-1)),Ae(h("input",{"onUpdate:modelValue":x[3]||(x[3]=A=>r.value.priority=A),type:"number"},null,512),[[We,r.value.priority,void 0,{number:!0}]])]),h("div",If,[h("button",{class:"btn",onClick:x[4]||(x[4]=A=>o.value=null)},"取消"),h("button",{class:"btn primary",onClick:p,disabled:i.value},"保存",8,Nf)])])])):he("",!0)]))}},Df=Lt(Mf,[["__scopeId","data-v-22317bbc"]]),Uf={class:"traffic-page"},Lf={class:"page-desc"},kf={key:0,class:"card"},$f={class:"actions top"},jf=["disabled"],Vf={class:"table"},Hf={class:"url-cell"},Ff={key:0},Bf={key:1,class:"card capture-card"},Kf={class:"toolbar"},Gf=["title"],Wf=["disabled"],qf={class:"table-wrap"},Jf={class:"table capture-table"},zf=["onClick"],Qf=["title"],Yf=["onClick"],Xf={key:0},Zf={key:0,class:"pagination"},ed={class:"pagination-info"},td=["disabled"],nd=["disabled"],sd={key:3,class:"drawer"},od={class:"drawer-tabs"},rd={class:"drawer-body"},id={class:"drawer-url-section"},ld={class:"drawer-url-head"},ad={class:"drawer-method-tag"},cd={class:"drawer-url"},ud={class:"detail-section"},fd={class:"headers-pre"},dd={class:"detail-section"},pd={class:"body-pre"},hd={class:"detail-section"},gd={class:"headers-pre"},md={class:"detail-section"},vd={class:"body-pre"},xs=50,yd={__name:"Traffic",setup(e){const t=Y([]),n=Y(!1),s=Y(!1),o=Y(!1),r=Y([]),i=Y(0),l=Y(0),a=Y({q:"",method:"",status:"",type:"",sort:"time",order:"desc"});let f=null;const c=Y(null),p=Y("request"),g=Y(!1),v=Ei();function O(k){return k?new Date(k).toLocaleString("zh-CN",{hour12:!1}):"-"}function w(k){return!k||typeof k!="object"?"":Object.entries(k).map(([L,K])=>`${L}: ${K}`).join(`
27
- `)}function E(k){if(k==null||k==="")return"(空)";const L=typeof k=="string"?k:String(k);try{const K=JSON.parse(L);return JSON.stringify(K,null,2)}catch{return L}}function C(k){return k>=200&&k<300?"status-2xx":k>=300&&k<400?"status-3xx":k>=400&&k<500?"status-4xx":k>=500?"status-5xx":""}async function x(){if(!o.value){o.value=!0;try{const L=await(await fetch("/api/local/proxy")).json();s.value=(L.mode||"")==="mitm"}catch{s.value=!1}finally{o.value=!1}}}async function A(){n.value=!0;try{const k=await fetch("/api/local/traffic");t.value=await k.json(),Array.isArray(t.value)||(t.value=[])}catch{t.value=[]}finally{n.value=!1}}function D(){f&&clearTimeout(f),f=setTimeout(F,300)}async function F(){n.value=!0;try{const k=new URLSearchParams;a.value.q&&k.set("q",a.value.q),a.value.method&&k.set("method",a.value.method);const L=String(a.value.status??"").trim();L!==""&&!Number.isNaN(Number(L))&&k.set("status",L),a.value.type&&k.set("type",a.value.type),k.set("sort",a.value.sort),k.set("order",a.value.order),k.set("limit",String(xs)),k.set("offset",String(l.value));const ue=await(await fetch("/api/local/capture?"+k.toString())).json();r.value=ue.list||[],i.value=ue.total??0}catch{r.value=[],i.value=0}finally{n.value=!1}}function ce(){l.value=Math.max(0,l.value-xs),F()}function re(){l.value+=xs,F()}function je(){a.value.order=a.value.order==="desc"?"asc":"desc",F()}function Be(k){c.value=k,p.value="request"}function De(){c.value=null}async function ze(){var k;if((k=c.value)!=null&&k.url)try{await navigator.clipboard.writeText(c.value.url),g.value=!0,setTimeout(()=>{g.value=!1},1500)}catch{alert("复制失败")}}async function Qe(){await x(),s.value?(l.value=0,await F()):await A()}return Yt(Qe),ln(()=>v.path,k=>{k==="/console/traffic"&&Qe()}),(k,L)=>(W(),q("div",Uf,[L[20]||(L[20]=h("h2",null,"流量记录",-1)),h("p",Lf,J(s.value?"抓包代理下可查看解密后的请求与响应。":"经本机代理的最近网络请求,最多保留 500 条。"),1),s.value?(W(),q("div",Bf,[L[14]||(L[14]=h("div",{class:"capture-banner"},"当前为抓包代理,可查看解密后的请求与响应。",-1)),h("div",Kf,[Ae(h("input",{"onUpdate:modelValue":L[0]||(L[0]=K=>a.value.q=K),type:"text",placeholder:"搜索 URL…",class:"search-input",onInput:D},null,544),[[We,a.value.q]]),Ae(h("select",{"onUpdate:modelValue":L[1]||(L[1]=K=>a.value.method=K),class:"filter-select",onChange:F},[...L[9]||(L[9]=[Ro('<option value="" data-v-1ee1603b>全部方法</option><option value="GET" data-v-1ee1603b>GET</option><option value="POST" data-v-1ee1603b>POST</option><option value="PUT" data-v-1ee1603b>PUT</option><option value="PATCH" data-v-1ee1603b>PATCH</option><option value="DELETE" data-v-1ee1603b>DELETE</option><option value="HEAD" data-v-1ee1603b>HEAD</option><option value="OPTIONS" data-v-1ee1603b>OPTIONS</option>',8)])],544),[[Nn,a.value.method]]),Ae(h("input",{"onUpdate:modelValue":L[2]||(L[2]=K=>a.value.status=K),type:"text",placeholder:"状态码",class:"status-input",onInput:D},null,544),[[We,a.value.status]]),Ae(h("select",{"onUpdate:modelValue":L[3]||(L[3]=K=>a.value.type=K),class:"filter-select",onChange:F},[...L[10]||(L[10]=[Ro('<option value="" data-v-1ee1603b>全部类型</option><option value="document" data-v-1ee1603b>document</option><option value="xhr" data-v-1ee1603b>xhr</option><option value="script" data-v-1ee1603b>script</option><option value="stylesheet" data-v-1ee1603b>stylesheet</option><option value="image" data-v-1ee1603b>image</option><option value="font" data-v-1ee1603b>font</option><option value="other" data-v-1ee1603b>other</option>',8)])],544),[[Nn,a.value.type]]),Ae(h("select",{"onUpdate:modelValue":L[4]||(L[4]=K=>a.value.sort=K),class:"filter-select",onChange:F},[...L[11]||(L[11]=[h("option",{value:"time"},"按时间",-1),h("option",{value:"method"},"按方法",-1),h("option",{value:"status"},"按状态",-1),h("option",{value:"url"},"按 URL",-1)])],544),[[Nn,a.value.sort]]),h("button",{type:"button",class:"sort-order-btn",onClick:je,title:a.value.order==="desc"?"倒序":"正序"},J(a.value.order==="desc"?"↓":"↑"),9,Gf),h("button",{class:"btn",onClick:F,disabled:n.value},"刷新",8,Wf)]),h("div",qf,[h("table",Jf,[L[13]||(L[13]=h("thead",null,[h("tr",null,[h("th",null,"时间"),h("th",null,"方法"),h("th",null,"URL"),h("th",null,"状态"),h("th",null,"类型"),h("th")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(r.value,K=>(W(),q("tr",{key:K.id,onClick:ue=>Be(K),class:"row-clickable"},[h("td",null,J(O(K.time)),1),h("td",null,[h("span",{class:Ce(["method-tag",K.method])},J(K.method),3)]),h("td",{class:"url-cell",title:K.url},J(K.url),9,Qf),h("td",null,[h("span",{class:Ce(["status-tag",C(K.statusCode)])},J(K.statusCode),3)]),h("td",null,J(K.type),1),h("td",null,[h("button",{type:"button",class:"btn-link",onClick:ss(ue=>Be(K),["stop"])},"详情",8,Yf)])],8,zf))),128)),!r.value.length&&!n.value?(W(),q("tr",Xf,[...L[12]||(L[12]=[h("td",{colspan:"6",class:"empty"},"暂无抓包记录,请通过抓包代理访问网页。",-1)])])):he("",!0)])])]),i.value>0?(W(),q("div",Zf,[h("span",ed,"共 "+J(i.value)+" 条",1),h("button",{class:"btn small",disabled:l.value<=0,onClick:ce},"上一页",8,td),h("button",{class:"btn small",disabled:l.value+r.value.length>=i.value,onClick:re},"下一页",8,nd)])):he("",!0)])):(W(),q("div",kf,[h("div",$f,[h("button",{class:"btn",onClick:A,disabled:n.value},"刷新",8,jf)]),h("table",Vf,[L[8]||(L[8]=h("thead",null,[h("tr",null,[h("th",null,"时间"),h("th",null,"类型"),h("th",null,"方法"),h("th",null,"URL / 主机"),h("th",null,"动作")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(t.value,K=>(W(),q("tr",{key:K.time+(K.url||"")},[h("td",null,J(O(K.time)),1),h("td",null,J(K.type),1),h("td",null,J(K.method),1),h("td",Hf,J(K.url),1),h("td",null,[h("span",{class:Ce(K.action==="proxy"?"action-proxy":"action-direct")},J(K.action==="proxy"?"代理":"直连"),3)])]))),128)),!t.value.length&&!n.value?(W(),q("tr",Ff,[...L[7]||(L[7]=[h("td",{colspan:"5",class:"empty"},"暂无记录,请确保代理已开启并有流量经过。",-1)])])):he("",!0)])])])),c.value?(W(),q("div",{key:2,class:"drawer-mask",onClick:De})):he("",!0),c.value?(W(),q("div",sd,[h("div",{class:"drawer-header"},[L[15]||(L[15]=h("span",{class:"drawer-title"},"详情",-1)),h("button",{type:"button",class:"drawer-close",onClick:De},"×")]),h("div",od,[h("button",{type:"button",class:Ce({active:p.value==="request"}),onClick:L[5]||(L[5]=K=>p.value="request")},"请求",2),h("button",{type:"button",class:Ce({active:p.value==="response"}),onClick:L[6]||(L[6]=K=>p.value="response")},"响应",2)]),h("div",rd,[h("div",id,[h("div",ld,[h("span",ad,J(c.value.method),1),h("button",{type:"button",class:"btn-copy-url",onClick:ze},J(g.value?"已复制":"复制 URL"),1)]),h("pre",cd,J(c.value.url),1)]),p.value==="request"?(W(),q(Me,{key:0},[h("div",ud,[L[16]||(L[16]=h("h4",null,"Request Headers",-1)),h("pre",fd,J(w(c.value.requestHeaders)),1)]),h("div",dd,[L[17]||(L[17]=h("h4",null,"Request Body",-1)),h("pre",pd,J(E(c.value.requestBody)),1)])],64)):(W(),q(Me,{key:1},[h("div",hd,[L[18]||(L[18]=h("h4",null,"Response Headers",-1)),h("pre",gd,J(w(c.value.responseHeaders)),1)]),h("div",md,[L[19]||(L[19]=h("h4",null,"Response Body",-1)),h("pre",vd,J(E(c.value.responseBody)),1)])],64))])])):he("",!0)]))}},_d=Lt(yd,[["__scopeId","data-v-1ee1603b"]]),bd=[{path:"/",name:"ModeSelect",component:Eu,meta:{title:"选择模式"}},{path:"/login",name:"Login",component:Nu,meta:{title:"登录"}},{path:"/register",name:"Register",component:Fu,meta:{title:"注册"}},{path:"/console",redirect:"/console/traffic"},{path:"/console/traffic",name:"Traffic",component:_d,meta:{title:"流量记录"}},{path:"/console/proxy",name:"ProxySettings",component:gf,meta:{title:"代理设置"}},{path:"/console/pac-rules",name:"PacRules",component:Df,meta:{title:"PAC 规则"}}],Ti=iu({history:$c(),routes:bd});Ti.beforeEach((e,t,n)=>{const s=wi();e.path!=="/"&&!e.path.startsWith("/login")&&!e.path.startsWith("/register")&&!s?n("/"):n()});wi();const Oi=Xa(yu);Oi.use(Ti);Oi.mount("#app");
25
+ */let Uc=()=>location.protocol+"//"+location.host;function bi(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let i=o.includes(e.slice(r))?e.slice(r).length:1,l=o.slice(i);return l[0]!=="/"&&(l="/"+l),Ko(l,"")}return Ko(n,e)+s+o}function Lc(e,t,n,s){let o=[],r=[],i=null;const l=({state:g})=>{const v=bi(e,location),O=n.value,w=t.value;let E=0;if(g){if(n.value=v,t.value=g,i&&i===O){i=null;return}E=w?g.position-w.position:0}else s(v);o.forEach(C=>{C(n.value,O,{delta:E,type:Ds.pop,direction:E?E>0?ys.forward:ys.back:ys.unknown})})};function a(){i=n.value}function f(g){o.push(g);const v=()=>{const O=o.indexOf(g);O>-1&&o.splice(O,1)};return r.push(v),v}function c(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(Z({},g.state,{scroll:os()}),"")}}function p(){for(const g of r)g();r=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:f,destroy:p}}function zo(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?os():null}}function kc(e){const{history:t,location:n}=window,s={value:bi(e,n)},o={value:t.state};o.value||r(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(a,f,c){const p=e.indexOf("#"),g=p>-1?(n.host&&document.querySelector("base")?e:e.slice(p))+a:Uc()+e+a;try{t[c?"replaceState":"pushState"](f,"",g),o.value=f}catch(v){console.error(v),n[c?"replace":"assign"](g)}}function i(a,f){r(a,Z({},t.state,zo(o.value.back,a,o.value.forward,!0),f,{position:o.value.position}),!0),s.value=a}function l(a,f){const c=Z({},o.value,t.state,{forward:a,scroll:os()});r(c.current,c,!0),r(a,Z({},zo(s.value,a,null),{position:c.position+1},f),!1),s.value=a}return{location:s,state:o,push:l,replace:i}}function $c(e){e=xc(e);const t=kc(e),n=Lc(e,t.state,t.location,t.replace);function s(r,i=!0){i||n.pauseListeners(),history.go(r)}const o=Z({location:"",base:e,go:s,createHref:Ec.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let It=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var me=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(me||{});const jc={type:It.Static,value:""},Vc=/[a-zA-Z0-9_]/;function Hc(e){if(!e)return[[]];if(e==="/")return[[jc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${f}": ${v}`)}let n=me.Static,s=n;const o=[];let r;function i(){r&&o.push(r),r=[]}let l=0,a,f="",c="";function p(){f&&(n===me.Static?r.push({type:It.Static,value:f}):n===me.Param||n===me.ParamRegExp||n===me.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),r.push({type:It.Param,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function g(){f+=a}for(;l<e.length;){if(a=e[l++],a==="\\"&&n!==me.ParamRegExp){s=n,n=me.EscapeNext;continue}switch(n){case me.Static:a==="/"?(f&&p(),i()):a===":"?(p(),n=me.Param):g();break;case me.EscapeNext:g(),n=s;break;case me.Param:a==="("?n=me.ParamRegExp:Vc.test(a)?g():(p(),n=me.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--);break;case me.ParamRegExp:a===")"?c[c.length-1]=="\\"?c=c.slice(0,-1)+a:n=me.ParamRegExpEnd:c+=a;break;case me.ParamRegExpEnd:p(),n=me.Static,a!=="*"&&a!=="?"&&a!=="+"&&l--,c="";break;default:t("Unknown state");break}}return n===me.ParamRegExp&&t(`Unfinished custom RegExp for param "${f}"`),p(),i(),o}const Qo="[^/]+?",Fc={sensitive:!1,strict:!1,start:!0,end:!0};var we=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(we||{});const Bc=/[.+*?^${}()[\]/\\]/g;function Kc(e,t){const n=Z({},Fc,t),s=[];let o=n.start?"^":"";const r=[];for(const f of e){const c=f.length?[]:[we.Root];n.strict&&!f.length&&(o+="/");for(let p=0;p<f.length;p++){const g=f[p];let v=we.Segment+(n.sensitive?we.BonusCaseSensitive:0);if(g.type===It.Static)p||(o+="/"),o+=g.value.replace(Bc,"\\$&"),v+=we.Static;else if(g.type===It.Param){const{value:O,repeatable:w,optional:E,regexp:C}=g;r.push({name:O,repeatable:w,optional:E});const x=C||Qo;if(x!==Qo){v+=we.BonusCustomRegExp;try{`${x}`}catch(D){throw new Error(`Invalid custom RegExp for param "${O}" (${x}): `+D.message)}}let A=w?`((?:${x})(?:/(?:${x}))*)`:`(${x})`;p||(A=E&&f.length<2?`(?:/${A})`:"/"+A),E&&(A+="?"),o+=A,v+=we.Dynamic,E&&(v+=we.BonusOptional),w&&(v+=we.BonusRepeatable),x===".*"&&(v+=we.BonusWildcard)}c.push(v)}s.push(c)}if(n.strict&&n.end){const f=s.length-1;s[f][s[f].length-1]+=we.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const i=new RegExp(o,n.sensitive?"":"i");function l(f){const c=f.match(i),p={};if(!c)return null;for(let g=1;g<c.length;g++){const v=c[g]||"",O=r[g-1];p[O.name]=v&&O.repeatable?v.split("/"):v}return p}function a(f){let c="",p=!1;for(const g of e){(!p||!c.endsWith("/"))&&(c+="/"),p=!1;for(const v of g)if(v.type===It.Static)c+=v.value;else if(v.type===It.Param){const{value:O,repeatable:w,optional:E}=v,C=O in f?f[O]:"";if(Je(C)&&!w)throw new Error(`Provided param "${O}" is an array but it is not repeatable (* or + modifiers)`);const x=Je(C)?C.join("/"):C;if(!x)if(E)g.length<2&&(c.endsWith("/")?c=c.slice(0,-1):p=!0);else throw new Error(`Missing required param "${O}"`);c+=x}}return c||"/"}return{re:i,score:s,keys:r,parse:l,stringify:a}}function Gc(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===we.Static+we.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===we.Static+we.Segment?1:-1:0}function xi(e,t){let n=0;const s=e.score,o=t.score;for(;n<s.length&&n<o.length;){const r=Gc(s[n],o[n]);if(r)return r;n++}if(Math.abs(o.length-s.length)===1){if(Yo(s))return 1;if(Yo(o))return-1}return o.length-s.length}function Yo(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Wc={strict:!1,end:!0,sensitive:!1};function qc(e,t,n){const s=Kc(Hc(e.path),n),o=Z(s,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function Jc(e,t){const n=[],s=new Map;t=Bo(Wc,t);function o(p){return s.get(p)}function r(p,g,v){const O=!v,w=Zo(p);w.aliasOf=v&&v.record;const E=Bo(t,p),C=[w];if("alias"in p){const D=typeof p.alias=="string"?[p.alias]:p.alias;for(const F of D)C.push(Zo(Z({},w,{components:v?v.record.components:w.components,path:F,aliasOf:v?v.record:w})))}let x,A;for(const D of C){const{path:F}=D;if(g&&F[0]!=="/"){const ce=g.record.path,re=ce[ce.length-1]==="/"?"":"/";D.path=g.record.path+(F&&re+F)}if(x=qc(D,g,E),v?v.alias.push(x):(A=A||x,A!==x&&A.alias.push(x),O&&p.name&&!er(x)&&i(p.name)),Si(x)&&a(x),w.children){const ce=w.children;for(let re=0;re<ce.length;re++)r(ce[re],x,v&&v.children[re])}v=v||x}return A?()=>{i(A)}:dn}function i(p){if(yi(p)){const g=s.get(p);g&&(s.delete(p),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(p);g>-1&&(n.splice(g,1),p.record.name&&s.delete(p.record.name),p.children.forEach(i),p.alias.forEach(i))}}function l(){return n}function a(p){const g=Yc(p,n);n.splice(g,0,p),p.record.name&&!er(p)&&s.set(p.record.name,p)}function f(p,g){let v,O={},w,E;if("name"in p&&p.name){if(v=s.get(p.name),!v)throw Qt(fe.MATCHER_NOT_FOUND,{location:p});E=v.record.name,O=Z(Xo(g.params,v.keys.filter(A=>!A.optional).concat(v.parent?v.parent.keys.filter(A=>A.optional):[]).map(A=>A.name)),p.params&&Xo(p.params,v.keys.map(A=>A.name))),w=v.stringify(O)}else if(p.path!=null)w=p.path,v=n.find(A=>A.re.test(w)),v&&(O=v.parse(w),E=v.record.name);else{if(v=g.name?s.get(g.name):n.find(A=>A.re.test(g.path)),!v)throw Qt(fe.MATCHER_NOT_FOUND,{location:p,currentLocation:g});E=v.record.name,O=Z({},g.params,p.params),w=v.stringify(O)}const C=[];let x=v;for(;x;)C.unshift(x.record),x=x.parent;return{name:E,path:w,params:O,matched:C,meta:Qc(C)}}e.forEach(p=>r(p));function c(){n.length=0,s.clear()}return{addRoute:r,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:o}}function Xo(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Zo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:zc(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function zc(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function er(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qc(e){return e.reduce((t,n)=>Z(t,n.meta),{})}function Yc(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;xi(e,t[r])<0?s=r:n=r+1}const o=Xc(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function Xc(e){let t=e;for(;t=t.parent;)if(Si(t)&&xi(e,t)===0)return t}function Si({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function tr(e){const t=Ge(rs),n=Ge(no),s=ve(()=>{const a=Dt(e.to);return t.resolve(a)}),o=ve(()=>{const{matched:a}=s.value,{length:f}=a,c=a[f-1],p=n.matched;if(!c||!p.length)return-1;const g=p.findIndex(zt.bind(null,c));if(g>-1)return g;const v=nr(a[f-2]);return f>1&&nr(c)===v&&p[p.length-1].path!==v?p.findIndex(zt.bind(null,a[f-2])):g}),r=ve(()=>o.value>-1&&su(n.params,s.value.params)),i=ve(()=>o.value>-1&&o.value===n.matched.length-1&&vi(n.params,s.value.params));function l(a={}){if(nu(a)){const f=t[Dt(e.replace)?"replace":"push"](Dt(e.to)).catch(dn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:ve(()=>s.value.href),isActive:r,isExactActive:i,navigate:l}}function Zc(e){return e.length===1?e[0]:e}const eu=kr({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:tr,setup(e,{slots:t}){const n=xn(tr(e)),{options:s}=Ge(rs),o=ve(()=>({[sr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[sr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&Zc(t.default(n));return e.custom?r:ci("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),tu=eu;function nu(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function su(e,t){for(const n in t){const s=t[n],o=e[n];if(typeof s=="string"){if(s!==o)return!1}else if(!Je(o)||o.length!==s.length||s.some((r,i)=>r.valueOf()!==o[i].valueOf()))return!1}return!0}function nr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const sr=(e,t,n)=>e??t??n,ou=kr({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ge(Ls),o=ve(()=>e.route||s.value),r=Ge(Jo,0),i=ve(()=>{let f=Dt(r);const{matched:c}=o.value;let p;for(;(p=c[f])&&!p.components;)f++;return f}),l=ve(()=>o.value.matched[i.value]);Pn(Jo,ve(()=>i.value+1)),Pn(Mc,l),Pn(Ls,o);const a=Y();return ln(()=>[a.value,l.value,e.name],([f,c,p],[g,v,O])=>{c&&(c.instances[p]=f,v&&v!==c&&f&&f===g&&(c.leaveGuards.size||(c.leaveGuards=v.leaveGuards),c.updateGuards.size||(c.updateGuards=v.updateGuards))),f&&c&&(!v||!zt(c,v)||!g)&&(c.enterCallbacks[p]||[]).forEach(w=>w(f))},{flush:"post"}),()=>{const f=o.value,c=e.name,p=l.value,g=p&&p.components[c];if(!g)return or(n.default,{Component:g,route:f});const v=p.props[c],O=v?v===!0?f.params:typeof v=="function"?v(f):v:null,E=ci(g,Z({},O,t,{onVnodeUnmounted:C=>{C.component.isUnmounted&&(p.instances[c]=null)},ref:a}));return or(n.default,{Component:E,route:f})||E}}});function or(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const ru=ou;function iu(e){const t=Jc(e.routes,e),n=e.parseQuery||Ic,s=e.stringifyQuery||qo,o=e.history,r=tn(),i=tn(),l=tn(),a=ul(_t);let f=_t;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=ms.bind(null,b=>""+b),p=ms.bind(null,hc),g=ms.bind(null,yn);function v(b,U){let N,$;return yi(b)?(N=t.getRecordMatcher(b),$=U):$=b,t.addRoute($,N)}function O(b){const U=t.getRecordMatcher(b);U&&t.removeRoute(U)}function w(){return t.getRoutes().map(b=>b.record)}function E(b){return!!t.getRecordMatcher(b)}function C(b,U){if(U=Z({},U||a.value),typeof b=="string"){const m=vs(n,b,U.path),y=t.resolve({path:m.path},U),S=o.createHref(m.fullPath);return Z(m,y,{params:g(y.params),hash:yn(m.hash),redirectedFrom:void 0,href:S})}let N;if(b.path!=null)N=Z({},b,{path:vs(n,b.path,U.path).path});else{const m=Z({},b.params);for(const y in m)m[y]==null&&delete m[y];N=Z({},b,{params:p(m)}),U.params=p(U.params)}const $=t.resolve(N,U),z=b.hash||"";$.params=c(g($.params));const u=vc(s,Z({},b,{hash:fc(z),path:$.path})),d=o.createHref(u);return Z({fullPath:u,hash:z,query:s===qo?Nc(b.query):b.query||{}},$,{redirectedFrom:void 0,href:d})}function x(b){return typeof b=="string"?vs(n,b,a.value.path):Z({},b)}function A(b,U){if(f!==b)return Qt(fe.NAVIGATION_CANCELLED,{from:U,to:b})}function D(b){return re(b)}function F(b){return D(Z(x(b),{replace:!0}))}function ce(b,U){const N=b.matched[b.matched.length-1];if(N&&N.redirect){const{redirect:$}=N;let z=typeof $=="function"?$(b,U):$;return typeof z=="string"&&(z=z.includes("?")||z.includes("#")?z=x(z):{path:z},z.params={}),Z({query:b.query,hash:b.hash,params:z.path!=null?{}:b.params},z)}}function re(b,U){const N=f=C(b),$=a.value,z=b.state,u=b.force,d=b.replace===!0,m=ce(N,$);if(m)return re(Z(x(m),{state:typeof m=="object"?Z({},z,m.state):z,force:u,replace:d}),U||N);const y=N;y.redirectedFrom=U;let S;return!u&&yc(s,$,N)&&(S=Qt(fe.NAVIGATION_DUPLICATED,{to:y,from:$}),Ye($,$,!0,!1)),(S?Promise.resolve(S):De(y,$)).catch(_=>ct(_)?ct(_,fe.NAVIGATION_GUARD_REDIRECT)?_:yt(_):X(_,y,$)).then(_=>{if(_){if(ct(_,fe.NAVIGATION_GUARD_REDIRECT))return re(Z({replace:d},x(_.to),{state:typeof _.to=="object"?Z({},z,_.to.state):z,force:u}),U||y)}else _=Qe(y,$,!0,d,z);return ze(y,$,_),_})}function $e(b,U){const N=A(b,U);return N?Promise.reject(N):Promise.resolve()}function Fe(b){const U=$t.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(b):b()}function De(b,U){let N;const[$,z,u]=Dc(b,U);N=_s($.reverse(),"beforeRouteLeave",b,U);for(const m of $)m.leaveGuards.forEach(y=>{N.push(St(y,b,U))});const d=$e.bind(null,b,U);return N.push(d),je(N).then(()=>{N=[];for(const m of r.list())N.push(St(m,b,U));return N.push(d),je(N)}).then(()=>{N=_s(z,"beforeRouteUpdate",b,U);for(const m of z)m.updateGuards.forEach(y=>{N.push(St(y,b,U))});return N.push(d),je(N)}).then(()=>{N=[];for(const m of u)if(m.beforeEnter)if(Je(m.beforeEnter))for(const y of m.beforeEnter)N.push(St(y,b,U));else N.push(St(m.beforeEnter,b,U));return N.push(d),je(N)}).then(()=>(b.matched.forEach(m=>m.enterCallbacks={}),N=_s(u,"beforeRouteEnter",b,U,Fe),N.push(d),je(N))).then(()=>{N=[];for(const m of i.list())N.push(St(m,b,U));return N.push(d),je(N)}).catch(m=>ct(m,fe.NAVIGATION_CANCELLED)?m:Promise.reject(m))}function ze(b,U,N){l.list().forEach($=>Fe(()=>$(b,U,N)))}function Qe(b,U,N,$,z){const u=A(b,U);if(u)return u;const d=U===_t,m=Ht?history.state:{};N&&($||d?o.replace(b.fullPath,Z({scroll:d&&m&&m.scroll},z)):o.push(b.fullPath,z)),a.value=b,Ye(b,U,N,d),yt()}let k;function L(){k||(k=o.listen((b,U,N)=>{if(!Rt.listening)return;const $=C(b),z=ce($,Rt.currentRoute.value);if(z){re(Z(z,{replace:!0,force:!0}),$).catch(dn);return}f=$;const u=a.value;Ht&&Cc(Wo(u.fullPath,N.delta),os()),De($,u).catch(d=>ct(d,fe.NAVIGATION_ABORTED|fe.NAVIGATION_CANCELLED)?d:ct(d,fe.NAVIGATION_GUARD_REDIRECT)?(re(Z(x(d.to),{force:!0}),$).then(m=>{ct(m,fe.NAVIGATION_ABORTED|fe.NAVIGATION_DUPLICATED)&&!N.delta&&N.type===Ds.pop&&o.go(-1,!1)}).catch(dn),Promise.reject()):(N.delta&&o.go(-N.delta,!1),X(d,$,u))).then(d=>{d=d||Qe($,u,!1),d&&(N.delta&&!ct(d,fe.NAVIGATION_CANCELLED)?o.go(-N.delta,!1):N.type===Ds.pop&&ct(d,fe.NAVIGATION_ABORTED|fe.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),ze($,u,d)}).catch(dn)}))}let K=tn(),ue=tn(),oe;function X(b,U,N){yt(b);const $=ue.list();return $.length?$.forEach(z=>z(b,U,N)):console.error(b),Promise.reject(b)}function lt(){return oe&&a.value!==_t?Promise.resolve():new Promise((b,U)=>{K.add([b,U])})}function yt(b){return oe||(oe=!b,L(),K.list().forEach(([U,N])=>b?N(b):U()),K.reset()),b}function Ye(b,U,N,$){const{scrollBehavior:z}=e;if(!Ht||!z)return Promise.resolve();const u=!N&&Ac(Wo(b.fullPath,0))||($||!N)&&history.state&&history.state.scroll||null;return zs().then(()=>z(b,U,u)).then(d=>d&&Rc(d)).catch(d=>X(d,b,U))}const Pe=b=>o.go(b);let kt;const $t=new Set,Rt={currentRoute:a,listening:!0,addRoute:v,removeRoute:O,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:w,resolve:C,options:e,push:D,replace:F,go:Pe,back:()=>Pe(-1),forward:()=>Pe(1),beforeEach:r.add,beforeResolve:i.add,afterEach:l.add,onError:ue.add,isReady:lt,install(b){b.component("RouterLink",tu),b.component("RouterView",ru),b.config.globalProperties.$router=Rt,Object.defineProperty(b.config.globalProperties,"$route",{enumerable:!0,get:()=>Dt(a)}),Ht&&!kt&&a.value===_t&&(kt=!0,D(o.location).catch($=>{}));const U={};for(const $ in _t)Object.defineProperty(U,$,{get:()=>a.value[$],enumerable:!0});b.provide(rs,Rt),b.provide(no,Ar(U)),b.provide(Ls,a);const N=b.unmount;$t.add(b),b.unmount=function(){$t.delete(b),$t.size<1&&(f=_t,k&&k(),k=null,a.value=_t,kt=!1,oe=!1),N()}}};function je(b){return b.reduce((U,N)=>U.then(()=>Fe(N)),Promise.resolve())}return Rt}function is(){return Ge(rs)}function Ei(e){return Ge(no)}const ye=xn({mode:null,user:null,remoteBaseUrl:"",token:""});function so(){return Mn(ye)}function oo(e){ye.mode=e,typeof localStorage<"u"&&localStorage.setItem("pac_proxy_mode",e)}function wi(){if(typeof localStorage<"u"){const e=localStorage.getItem("pac_proxy_mode");(e==="local"||e==="remote")&&(ye.mode=e);const t=localStorage.getItem("pac_proxy_token");t&&(ye.token=t);const n=localStorage.getItem("pac_proxy_remote_base_url");if(n&&typeof n=="string"&&(ye.remoteBaseUrl=n),ye.mode==="remote"&&ye.token)try{const s=JSON.parse(atob(ye.token.split(".")[1]));ye.user={username:s.username}}catch{}}return ye.mode}function Ri(e){ye.user=e}function Ci(e){ye.remoteBaseUrl=e||"",typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_remote_base_url",e):localStorage.removeItem("pac_proxy_remote_base_url"))}function Ai(e){ye.token=e,typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_token",e):localStorage.removeItem("pac_proxy_token"))}function lu(){return ye.token||typeof localStorage<"u"&&localStorage.getItem("pac_proxy_token")}function au(){ye.token="",ye.user=null,ye.remoteBaseUrl="",ye.mode=null,typeof localStorage<"u"&&(localStorage.removeItem("pac_proxy_token"),localStorage.removeItem("pac_proxy_mode"),localStorage.removeItem("pac_proxy_remote_base_url"))}const cu=()=>{const e=lu(),t={"Content-Type":"application/json"};return e&&(t.Authorization="Bearer "+e),t};async function de(e,t={}){const n=await fetch("/api/local"+e,{...t,headers:{"Content-Type":"application/json",...t.headers}});if(!n.ok)throw new Error((await n.json().catch(()=>({}))).error||n.statusText);return n.json()}async function bs(e,t,n={}){const s=(e||"").trim().replace(/\/$/,"");if(!s)throw new Error("未配置远程服务器地址。请在 packages/node-cli/.env 中配置 REMOTE_SERVER_URL(填 node-server 的地址,例如 http://127.0.0.1:3000),重启 node-cli 后重新登录。");const o=s+"/api"+t,r=await fetch(o,{...n,headers:{...cu(),...n.headers}});if(!r.ok)throw new Error((await r.json().catch(()=>({}))).error||r.statusText);return r.json()}function Pi(e,t){const n={getProxy:()=>de("/proxy"),setProxy:s=>de("/proxy",{method:"PUT",body:JSON.stringify(s)})};return e==="local"?{...n,getPacRules:()=>de("/pac-rules"),setPacRules:s=>de("/pac-rules",{method:"PUT",body:JSON.stringify(s)}),getConfig:()=>de("/config")}:{...n,getPacRules:()=>bs(t,"/pac-rules"),setPacRules:async s=>{await bs(t,"/pac-rules",{method:"PUT",body:JSON.stringify(s)}),await de("/pac-rules",{method:"PUT",body:JSON.stringify(s)})},getConfig:()=>bs(t,"/config")}}const Lt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},uu={class:"app-layout"},fu={key:0,class:"topbar"},du={key:0,class:"top-right"},pu={class:"username"},hu={key:1,class:"sidebar"},gu={class:"side-nav"},mu={__name:"App",setup(e){const t=Ei(),n=is(),s=so(),o=ve(()=>s.mode||"local"),r=ve(()=>o.value==="remote"),i=ve(()=>s.user),l=ve(()=>o.value==="local"?"本地模式":"远程模式"),a=ve(()=>t.path!=="/"),f=ve(()=>t.path!=="/"&&!t.path.startsWith("/login")&&!t.path.startsWith("/register")),c=ve(()=>t.path==="/"||t.path.startsWith("/login")||t.path.startsWith("/register"));async function p(){try{const g=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({...g,mode:"local"})})}catch{}au(),n.push("/")}return(g,v)=>{const O=$n("router-link"),w=$n("router-view");return W(),q("div",uu,[a.value?(W(),q("header",fu,[v[1]||(v[1]=h("span",{class:"logo"},"PAC 代理控制台",-1)),h("span",{class:Ce(["mode-tag",o.value])},J(l.value),3),pe(O,{to:"/",class:"switch-mode"},{default:Ot(()=>[...v[0]||(v[0]=[Be("切换模式",-1)])]),_:1}),r.value&&i.value?(W(),q("div",du,[h("span",pu,J(i.value.username),1),h("button",{type:"button",class:"logout-btn",onClick:p},"退出登录")])):he("",!0)])):he("",!0),f.value?(W(),q("aside",hu,[h("nav",gu,[pe(O,{to:"/console/proxy","active-class":"active"},{default:Ot(()=>[...v[2]||(v[2]=[Be("代理设置",-1)])]),_:1}),pe(O,{to:"/console/pac-rules","active-class":"active"},{default:Ot(()=>[...v[3]||(v[3]=[Be("PAC 规则",-1)])]),_:1}),pe(O,{to:"/console/traffic","active-class":"active"},{default:Ot(()=>[...v[4]||(v[4]=[Be("流量记录",-1)])]),_:1})])])):he("",!0),h("main",{class:Ce(["main",{"main-standalone":c.value}])},[pe(w)],2)])}}},vu=Lt(mu,[["__scopeId","data-v-a77f780a"]]),yu={class:"mode-select"},_u={class:"card"},bu={class:"options"},xu={__name:"ModeSelect",setup(e){const t=is();async function n(s){if(oo(s),s==="local"){try{const o=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({...o,mode:"local"})})}catch{}t.push("/console")}else t.push("/login")}return(s,o)=>(W(),q("div",yu,[h("div",_u,[o[4]||(o[4]=h("h1",null,"选择运行模式",-1)),o[5]||(o[5]=h("p",{class:"desc"},"请选择控制台使用方式,选择后可随时在设置中切换。",-1)),h("div",bu,[h("button",{class:"option local",onClick:o[0]||(o[0]=r=>n("local"))},[...o[2]||(o[2]=[h("span",{class:"title"},"本地模式",-1),h("span",{class:"sub"},"无需登录,配置保存在本机,由 node-cli 维护",-1)])]),h("button",{class:"option remote",onClick:o[1]||(o[1]=r=>n("remote"))},[...o[3]||(o[3]=[h("span",{class:"title"},"远程模式",-1),h("span",{class:"sub"},"需注册/登录,配置与数据保存在云端",-1)])])])])]))}},Su=Lt(xu,[["__scopeId","data-v-b465f762"]]),Eu={class:"auth-page"},wu={class:"card"},Ru={class:"field"},Cu={class:"field"},Au={key:0,class:"error"},Pu=["disabled"],Tu={class:"footer"},Ou={__name:"Login",setup(e){const t=is(),n=Y(""),s=Y(""),o=Y(""),r=Y(""),i=Y(!1);Yt(async()=>{try{const a=await fetch("/api/local/remote-server-url"),{url:f}=await a.json();n.value=f||""}catch{n.value=""}});async function l(){if(r.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}i.value=!0;try{const a=n.value.replace(/\/$/,""),f=await fetch(a+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),c=await f.json().catch(()=>({}));if(!f.ok)throw new Error(c.error||"登录失败");oo("remote"),Ci(a),Ai(c.token),Ri(c.user||{username:s.value});try{const p=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({...p,mode:"remote"})});const g=await fetch(a+"/api/pac-rules",{headers:{Authorization:"Bearer "+c.token}}).then(v=>v.json()).catch(()=>[]);Array.isArray(g)&&await de("/pac-rules",{method:"PUT",body:JSON.stringify(g)})}catch{}t.push("/console")}catch(a){r.value=a.message}finally{i.value=!1}}return(a,f)=>{const c=$n("router-link");return W(),q("div",Eu,[h("div",wu,[f[6]||(f[6]=h("h1",null,"登录",-1)),f[7]||(f[7]=h("p",{class:"desc"},"远程模式需登录后使用云端配置。",-1)),h("form",{onSubmit:ss(l,["prevent"]),class:"form"},[h("div",Ru,[f[2]||(f[2]=h("label",null,"用户名",-1)),Ae(h("input",{"onUpdate:modelValue":f[0]||(f[0]=p=>s.value=p),type:"text",required:""},null,512),[[We,s.value]])]),h("div",Cu,[f[3]||(f[3]=h("label",null,"密码",-1)),Ae(h("input",{"onUpdate:modelValue":f[1]||(f[1]=p=>o.value=p),type:"password",required:""},null,512),[[We,o.value]])]),r.value?(W(),q("p",Au,J(r.value),1)):he("",!0),h("button",{type:"submit",class:"btn primary",disabled:i.value},"登录",8,Pu)],32),h("p",Tu,[f[5]||(f[5]=Be("还没有账号? ",-1)),pe(c,{to:"/register"},{default:Ot(()=>[...f[4]||(f[4]=[Be("注册",-1)])]),_:1})])])])}}},Iu=Lt(Ou,[["__scopeId","data-v-be60da76"]]),Nu={class:"auth-page"},Mu={class:"card"},Du={class:"field"},Uu={class:"field"},Lu={key:0,class:"error"},ku={key:1,class:"success"},$u=["disabled"],ju={class:"footer"},Vu={__name:"Register",setup(e){const t=is(),n=Y(""),s=Y(""),o=Y(""),r=Y(""),i=Y(""),l=Y(!1);Yt(async()=>{try{const f=await fetch("/api/local/remote-server-url"),{url:c}=await f.json();n.value=c||""}catch{n.value=""}});async function a(){if(r.value="",i.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}l.value=!0;try{const f=n.value.replace(/\/$/,""),c=await fetch(f+"/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),p=await c.json().catch(()=>({}));if(!c.ok)throw new Error(p.error||"注册失败");i.value="注册成功,正在自动登录…";const g=await fetch(f+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),v=await g.json().catch(()=>({}));if(!g.ok)throw new Error(v.error||"自动登录失败");oo("remote"),Ci(f),Ai(v.token),Ri(v.user||{username:s.value}),i.value="注册成功,已自动登录";try{const O=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({...O,mode:"remote"})});const w=await fetch(f+"/api/pac-rules",{headers:{Authorization:"Bearer "+v.token}}).then(E=>E.json()).catch(()=>[]);Array.isArray(w)&&await de("/pac-rules",{method:"PUT",body:JSON.stringify(w)})}catch{}t.push("/console")}catch(f){r.value=f.message}finally{l.value=!1}}return(f,c)=>{const p=$n("router-link");return W(),q("div",Nu,[h("div",Mu,[c[6]||(c[6]=h("h1",null,"注册",-1)),c[7]||(c[7]=h("p",{class:"desc"},"注册后可在远程模式下同步配置。",-1)),h("form",{onSubmit:ss(a,["prevent"]),class:"form"},[h("div",Du,[c[2]||(c[2]=h("label",null,"用户名",-1)),Ae(h("input",{"onUpdate:modelValue":c[0]||(c[0]=g=>s.value=g),type:"text",required:""},null,512),[[We,s.value]])]),h("div",Uu,[c[3]||(c[3]=h("label",null,"密码",-1)),Ae(h("input",{"onUpdate:modelValue":c[1]||(c[1]=g=>o.value=g),type:"password",required:""},null,512),[[We,o.value]])]),r.value?(W(),q("p",Lu,J(r.value),1)):he("",!0),i.value?(W(),q("p",ku,J(i.value),1)):he("",!0),h("button",{type:"submit",class:"btn primary",disabled:l.value},"注册",8,$u)],32),h("p",ju,[c[5]||(c[5]=Be("已有账号? ",-1)),pe(p,{to:"/login"},{default:Ot(()=>[...c[4]||(c[4]=[Be("登录",-1)])]),_:1})])])])}}},Hu=Lt(Vu,[["__scopeId","data-v-a1c8458c"]]),Fu={class:"proxy-settings"},Bu={class:"card"},Ku={class:"proxy-buttons"},Gu=["disabled"],Wu=["disabled"],qu=["disabled"],Ju=["disabled"],zu={key:0,class:"saved-tip"},Qu={key:1,class:"ca-download"},Yu={class:"card"},Xu={class:"field"},Zu={class:"row"},ef={class:"field"},tf={class:"field"},nf={class:"actions"},sf=["disabled"],of={key:0,class:"card status-card"},rf={class:"status-line"},lf={key:0,class:"status-port"},af={key:0,class:"hint"},cf={key:1,class:"hint error"},uf={key:2,class:"hint"},ff={key:3,class:"hint"},df="/api/local/ca-cert",pf={__name:"ProxySettings",setup(e){const t=so();function n(){return Pi(t.mode,t.remoteBaseUrl)}async function s(){return de("/proxy")}async function o(w){return de("/proxy",{method:"PUT",body:JSON.stringify(w)})}const r=Y({enabled:!1,mode:"pac",upstream:"socks5://127.0.0.1:1080",httpPort:5175,httpsPort:5176,applySystemProxy:!0}),i=Y(!1),l=Y(null),a=Y(!1);let f=null;async function c(){try{const w=await fetch("/api/local/proxy-status");l.value=await w.json()}catch{l.value={running:!1,port:null}}}function p(){a.value=!0,f&&clearTimeout(f),f=setTimeout(()=>{a.value=!1},2e3)}function g(){return{enabled:!!r.value.enabled,mode:r.value.mode||"pac",upstream:String(r.value.upstream??"").trim(),httpPort:Number(r.value.httpPort)||5175,httpsPort:Number(r.value.httpsPort)||5176,applySystemProxy:r.value.applySystemProxy!==!1}}async function v(w){if(!i.value){w==="clear"?(r.value.enabled=!1,r.value.applySystemProxy=!0):(r.value.enabled=!0,r.value.mode=w,r.value.applySystemProxy=!0),i.value=!0;try{const E=g();if(await o(E),t.mode==="remote")try{const C=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(C)})}catch{}await c(),p()}catch{}finally{i.value=!1}}}Yt(async()=>{try{const w=await s();if(r.value={...r.value,...w},t.mode==="remote")try{const E=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(E)})}catch{}await c()}catch{}});async function O(){i.value=!0;try{const w=g();if(await o(w),t.mode==="remote")try{const C=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(C)})}catch{}await c();const E=Number(w.httpPort)||5175;w.enabled?w.applySystemProxy?alert(`已保存,并已尝试自动设置系统代理(127.0.0.1:${E})。`):alert(`已保存。请将系统或浏览器代理设置为 127.0.0.1:${E}。`):alert("已保存")}catch(w){alert("保存失败:"+w.message)}finally{i.value=!1}}return(w,E)=>(W(),q("div",Fu,[E[19]||(E[19]=h("h2",null,"代理设置",-1)),E[20]||(E[20]=h("p",{class:"page-desc"},"代理配置仅保存在本机,与本地/远程模式无关。",-1)),h("div",Bu,[E[9]||(E[9]=h("h3",null,"代理模式",-1)),E[10]||(E[10]=h("p",{class:"desc"},"一键设置本机系统代理或清除(支持 macOS、Windows、Linux GNOME)。",-1)),h("div",Ku,[h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="global"}]),onClick:E[0]||(E[0]=C=>v("global")),disabled:i.value,type:"button"}," 全局代理 ",10,Gu),h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="pac"}]),onClick:E[1]||(E[1]=C=>v("pac")),disabled:i.value,type:"button"}," PAC 代理 ",10,Wu),h("button",{class:Ce(["btn proxy-btn",{active:r.value.enabled&&r.value.mode==="mitm"}]),onClick:E[2]||(E[2]=C=>v("mitm")),disabled:i.value,type:"button"}," 抓包代理 ",10,qu),h("button",{class:Ce(["btn proxy-btn clear",{active:!r.value.enabled}]),onClick:E[3]||(E[3]=C=>v("clear")),disabled:i.value,type:"button"}," 清除代理设置 ",10,Ju)]),a.value?(W(),q("p",zu,"已生效")):he("",!0),r.value.enabled&&r.value.mode==="mitm"?(W(),q("div",Qu,[E[7]||(E[7]=h("span",{class:"ca-label"},"CA 证书(用于解密 HTTPS,需安装到系统/浏览器信任):",-1)),h("a",{class:"btn btn-ca",href:df,download:"pac-proxy-ca.crt",target:"_blank",rel:"noopener"},"下载 CA 证书"),E[8]||(E[8]=h("p",{class:"ca-hint"},"仅限本机抓包使用,请勿安装到他人设备或生产环境。",-1))])):he("",!0)]),h("div",Yu,[E[14]||(E[14]=h("h3",null,"上游代理与端口",-1)),E[15]||(E[15]=h("p",{class:"desc"},"上游代理地址(如 SOCKS5:socks5://127.0.0.1:1080、 http://proxy.xxxx.com)。本地模式下可将 SOCKS5 转为 HTTP 代理并根据规则执行策略。",-1)),h("div",Xu,[E[11]||(E[11]=h("label",null,"上游代理地址",-1)),Ae(h("input",{"onUpdate:modelValue":E[4]||(E[4]=C=>r.value.upstream=C),placeholder:"socks5://127.0.0.1:1080"},null,512),[[We,r.value.upstream]])]),h("div",Zu,[h("div",ef,[E[12]||(E[12]=h("label",null,"HTTP 代理端口",-1)),Ae(h("input",{"onUpdate:modelValue":E[5]||(E[5]=C=>r.value.httpPort=C),type:"number",min:"1",max:"65535"},null,512),[[We,r.value.httpPort,void 0,{number:!0}]])]),h("div",tf,[E[13]||(E[13]=h("label",null,"HTTPS 代理端口",-1)),Ae(h("input",{"onUpdate:modelValue":E[6]||(E[6]=C=>r.value.httpsPort=C),type:"number",min:"1",max:"65535"},null,512),[[We,r.value.httpsPort,void 0,{number:!0}]])])]),h("div",nf,[h("button",{class:"btn primary",onClick:O,disabled:i.value},"保存设置",8,sf)])]),l.value!==null?(W(),q("div",of,[E[18]||(E[18]=h("h3",null,"代理状态",-1)),h("p",rf,[h("span",{class:Ce(l.value.running?"status-on":"status-off")},J(l.value.running?"运行中":"已关闭"),3),l.value.running?(W(),q("span",lf,"端口 "+J(l.value.port),1)):he("",!0)]),l.value.running&&r.value.applySystemProxy&&l.value.systemProxyOk!==!1?(W(),q("p",af," 已尝试自动设置"+J(r.value.mode==="pac"?" PAC 代理":r.value.mode==="mitm"?"抓包代理":"系统代理")+"(127.0.0.1:"+J(l.value.port)+")。若未生效请检查终端或下方提示。 ",1)):l.value.running&&r.value.applySystemProxy&&l.value.systemProxyError?(W(),q("p",cf," 自动设置系统代理失败:"+J(l.value.systemProxyError)+" 请手动在「系统设置 → 网络 → 代理」中设置,或关闭「自动设置系统代理」。 ",1)):l.value.running?(W(),q("p",uf,[E[16]||(E[16]=Be(" 请将系统或浏览器的 HTTP/HTTPS 代理设置为 ",-1)),h("strong",null,"127.0.0.1:"+J(l.value.port),1),E[17]||(E[17]=Be(",代理才会生效。 ",-1))])):r.value.enabled?(W(),q("p",ff," 保存后若仍显示已关闭,请查看终端是否有「代理服务已启动」或端口占用报错。 ")):he("",!0)])):he("",!0)]))}},hf=Lt(pf,[["__scopeId","data-v-9e948823"]]),gf={class:"pac-rules"},mf={key:0,class:"page-desc"},vf={class:"card"},yf={class:"actions top"},_f=["disabled"],bf=["disabled"],xf={key:0,class:"copy-tip"},Sf={class:"table"},Ef=["onClick"],wf=["onClick"],Rf={key:0},Cf={class:"modal-content"},Af={class:"field"},Pf={class:"field"},Tf={class:"field"},Of={class:"modal-actions"},If=["disabled"],Nf={__name:"PacRules",setup(e){const t=so();function n(){return Pi(t.mode,t.remoteBaseUrl)}const s=Y([]),o=Y(null),r=Y({pattern:"",action:"proxy",priority:0}),i=Y(!1),l=Y(!1),a=ve(()=>[...s.value].sort((C,x)=>(x.priority??0)-(C.priority??0)));Yt(f);async function f(){try{if(s.value=await n().getPacRules(),Array.isArray(s.value)||(s.value=[]),t.mode==="remote")try{await de("/pac-rules",{method:"PUT",body:JSON.stringify(s.value)})}catch{}}catch{s.value=[]}}function c(C=null){C?r.value={id:C.id,pattern:C.pattern,action:C.action||"proxy",priority:C.priority??0}:r.value={pattern:"",action:"proxy",priority:0},o.value=!0}async function p(){const{id:C,pattern:x,action:A,priority:D}=r.value;if(!x.trim()){alert("请填写 URL 匹配字符");return}i.value=!0;try{let F=[...s.value];if(C){const ce=F.findIndex(re=>re.id===C);ce>=0&&(F[ce]={...F[ce],pattern:x.trim(),action:A,priority:D})}else F.push({id:String(Date.now()),pattern:x.trim(),action:A||"proxy",priority:Number(D)||0});await n().setPacRules(F),s.value=F,o.value=null}catch(F){alert("保存失败:"+F.message)}finally{i.value=!1}}async function g(C){if(!confirm("确定删除该规则?"))return;const x=s.value.filter(A=>A.id!==C.id);try{await n().setPacRules(x),s.value=x}catch(A){alert("删除失败:"+A.message)}}function v(){return JSON.stringify(s.value,null,2)}function O(){return s.value.map(C=>(C.pattern||"").trim()).filter(Boolean).join(`
26
+ `)}async function w(){if(s.value.length)try{await navigator.clipboard.writeText(O()),l.value=!0,setTimeout(()=>{l.value=!1},1500)}catch(C){alert("复制失败:"+C.message)}}function E(){if(!s.value.length)return;const C=new Blob([v()],{type:"application/json"}),x=URL.createObjectURL(C),A=document.createElement("a");A.href=x,A.download=`pac-rules-${new Date().toISOString().slice(0,10)}.json`,A.click(),URL.revokeObjectURL(x)}return(C,x)=>(W(),q("div",gf,[x[13]||(x[13]=h("h2",null,"PAC 规则",-1)),Dt(t).mode==="remote"?(W(),q("p",mf,"远程模式下规则保存在云端,PAC 模式时由本机按云端规则执行。")):he("",!0),h("div",vf,[x[8]||(x[8]=h("p",{class:"desc"},"管理 PAC 代理的匹配规则。按优先级从高到低匹配,命中后选择「代理」或「直连」。",-1)),h("div",yf,[h("button",{class:"btn primary",onClick:x[0]||(x[0]=A=>c())},"新增规则"),h("button",{class:"btn",onClick:w,disabled:!s.value.length},"复制",8,_f),h("button",{class:"btn",onClick:E,disabled:!s.value.length},"导出",8,bf),l.value?(W(),q("span",xf,"已复制到剪贴板")):he("",!0)]),h("table",Sf,[x[7]||(x[7]=h("thead",null,[h("tr",null,[h("th",null,"URL 匹配字符"),h("th",null,"动作"),h("th",null,"优先级"),h("th",null,"操作")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(a.value,A=>(W(),q("tr",{key:A.id},[h("td",null,J(A.pattern),1),h("td",null,J(A.action==="proxy"?"代理":"直连"),1),h("td",null,J(A.priority),1),h("td",null,[h("button",{class:"btn small",onClick:D=>c(A)},"编辑",8,Ef),h("button",{class:"btn small danger",onClick:D=>g(A)},"删除",8,wf)])]))),128)),s.value.length?he("",!0):(W(),q("tr",Rf,[...x[6]||(x[6]=[h("td",{colspan:"4",class:"empty"},"暂无规则,请点击「新增规则」",-1)])]))])])]),o.value?(W(),q("div",{key:1,class:"modal",onClick:x[5]||(x[5]=ss(A=>o.value=null,["self"]))},[h("div",Cf,[h("h3",null,J(o.value.id?"编辑规则":"新增规则"),1),h("div",Af,[x[9]||(x[9]=h("label",null,"URL 匹配字符",-1)),Ae(h("input",{"onUpdate:modelValue":x[1]||(x[1]=A=>r.value.pattern=A),placeholder:"例如 *.google.com"},null,512),[[We,r.value.pattern]])]),h("div",Pf,[x[11]||(x[11]=h("label",null,"动作",-1)),Ae(h("select",{"onUpdate:modelValue":x[2]||(x[2]=A=>r.value.action=A)},[...x[10]||(x[10]=[h("option",{value:"proxy"},"代理",-1),h("option",{value:"direct"},"直连",-1)])],512),[[Nn,r.value.action]])]),h("div",Tf,[x[12]||(x[12]=h("label",null,"优先级(数字越大越优先)",-1)),Ae(h("input",{"onUpdate:modelValue":x[3]||(x[3]=A=>r.value.priority=A),type:"number"},null,512),[[We,r.value.priority,void 0,{number:!0}]])]),h("div",Of,[h("button",{class:"btn",onClick:x[4]||(x[4]=A=>o.value=null)},"取消"),h("button",{class:"btn primary",onClick:p,disabled:i.value},"保存",8,If)])])])):he("",!0)]))}},Mf=Lt(Nf,[["__scopeId","data-v-22317bbc"]]),Df={class:"traffic-page"},Uf={class:"page-desc"},Lf={key:0,class:"card"},kf={class:"actions top"},$f=["disabled"],jf={class:"table"},Vf={class:"url-cell"},Hf={key:0},Ff={key:1,class:"card capture-card"},Bf={class:"toolbar"},Kf=["title"],Gf=["disabled"],Wf={class:"table-wrap"},qf={class:"table capture-table"},Jf=["onClick"],zf=["title"],Qf=["onClick"],Yf={key:0},Xf={key:0,class:"pagination"},Zf={class:"pagination-info"},ed=["disabled"],td=["disabled"],nd={key:3,class:"drawer"},sd={class:"drawer-tabs"},od={class:"drawer-body"},rd={class:"drawer-url-section"},id={class:"drawer-url-head"},ld={class:"drawer-method-tag"},ad={class:"drawer-url"},cd={class:"detail-section"},ud={class:"headers-pre"},fd={class:"detail-section"},dd={class:"body-pre"},pd={class:"detail-section"},hd={class:"headers-pre"},gd={class:"detail-section"},md={class:"body-pre"},xs=50,vd={__name:"Traffic",setup(e){const t=Y([]),n=Y(!1),s=Y(!1),o=Y(!1),r=Y([]),i=Y(0),l=Y(0),a=Y({q:"",method:"",status:"",type:"",sort:"time",order:"desc"});let f=null;const c=Y(null),p=Y("request"),g=Y(!1),v=Ei();function O(k){return k?new Date(k).toLocaleString("zh-CN",{hour12:!1}):"-"}function w(k){return!k||typeof k!="object"?"":Object.entries(k).map(([L,K])=>`${L}: ${K}`).join(`
27
+ `)}function E(k){if(k==null||k==="")return"(空)";const L=typeof k=="string"?k:String(k);try{const K=JSON.parse(L);return JSON.stringify(K,null,2)}catch{return L}}function C(k){return k>=200&&k<300?"status-2xx":k>=300&&k<400?"status-3xx":k>=400&&k<500?"status-4xx":k>=500?"status-5xx":""}async function x(){if(!o.value){o.value=!0;try{const L=await(await fetch("/api/local/proxy")).json();s.value=(L.mode||"")==="mitm"}catch{s.value=!1}finally{o.value=!1}}}async function A(){n.value=!0;try{const k=await fetch("/api/local/traffic");t.value=await k.json(),Array.isArray(t.value)||(t.value=[])}catch{t.value=[]}finally{n.value=!1}}function D(){f&&clearTimeout(f),f=setTimeout(F,300)}async function F(){n.value=!0;try{const k=new URLSearchParams;a.value.q&&k.set("q",a.value.q),a.value.method&&k.set("method",a.value.method);const L=String(a.value.status??"").trim();L!==""&&!Number.isNaN(Number(L))&&k.set("status",L),a.value.type&&k.set("type",a.value.type),k.set("sort",a.value.sort),k.set("order",a.value.order),k.set("limit",String(xs)),k.set("offset",String(l.value));const ue=await(await fetch("/api/local/capture?"+k.toString())).json();r.value=ue.list||[],i.value=ue.total??0}catch{r.value=[],i.value=0}finally{n.value=!1}}function ce(){l.value=Math.max(0,l.value-xs),F()}function re(){l.value+=xs,F()}function $e(){a.value.order=a.value.order==="desc"?"asc":"desc",F()}function Fe(k){c.value=k,p.value="request"}function De(){c.value=null}async function ze(){var k;if((k=c.value)!=null&&k.url)try{await navigator.clipboard.writeText(c.value.url),g.value=!0,setTimeout(()=>{g.value=!1},1500)}catch{alert("复制失败")}}async function Qe(){await x(),s.value?(l.value=0,await F()):await A()}return Yt(Qe),ln(()=>v.path,k=>{k==="/console/traffic"&&Qe()}),(k,L)=>(W(),q("div",Df,[L[20]||(L[20]=h("h2",null,"流量记录",-1)),h("p",Uf,J(s.value?"抓包代理下可查看解密后的请求与响应。":"经本机代理的最近网络请求,最多保留 500 条。"),1),s.value?(W(),q("div",Ff,[L[14]||(L[14]=h("div",{class:"capture-banner"},"当前为抓包代理,可查看解密后的请求与响应。",-1)),h("div",Bf,[Ae(h("input",{"onUpdate:modelValue":L[0]||(L[0]=K=>a.value.q=K),type:"text",placeholder:"搜索 URL…",class:"search-input",onInput:D},null,544),[[We,a.value.q]]),Ae(h("select",{"onUpdate:modelValue":L[1]||(L[1]=K=>a.value.method=K),class:"filter-select",onChange:F},[...L[9]||(L[9]=[Ro('<option value="" data-v-1ee1603b>全部方法</option><option value="GET" data-v-1ee1603b>GET</option><option value="POST" data-v-1ee1603b>POST</option><option value="PUT" data-v-1ee1603b>PUT</option><option value="PATCH" data-v-1ee1603b>PATCH</option><option value="DELETE" data-v-1ee1603b>DELETE</option><option value="HEAD" data-v-1ee1603b>HEAD</option><option value="OPTIONS" data-v-1ee1603b>OPTIONS</option>',8)])],544),[[Nn,a.value.method]]),Ae(h("input",{"onUpdate:modelValue":L[2]||(L[2]=K=>a.value.status=K),type:"text",placeholder:"状态码",class:"status-input",onInput:D},null,544),[[We,a.value.status]]),Ae(h("select",{"onUpdate:modelValue":L[3]||(L[3]=K=>a.value.type=K),class:"filter-select",onChange:F},[...L[10]||(L[10]=[Ro('<option value="" data-v-1ee1603b>全部类型</option><option value="document" data-v-1ee1603b>document</option><option value="xhr" data-v-1ee1603b>xhr</option><option value="script" data-v-1ee1603b>script</option><option value="stylesheet" data-v-1ee1603b>stylesheet</option><option value="image" data-v-1ee1603b>image</option><option value="font" data-v-1ee1603b>font</option><option value="other" data-v-1ee1603b>other</option>',8)])],544),[[Nn,a.value.type]]),Ae(h("select",{"onUpdate:modelValue":L[4]||(L[4]=K=>a.value.sort=K),class:"filter-select",onChange:F},[...L[11]||(L[11]=[h("option",{value:"time"},"按时间",-1),h("option",{value:"method"},"按方法",-1),h("option",{value:"status"},"按状态",-1),h("option",{value:"url"},"按 URL",-1)])],544),[[Nn,a.value.sort]]),h("button",{type:"button",class:"sort-order-btn",onClick:$e,title:a.value.order==="desc"?"倒序":"正序"},J(a.value.order==="desc"?"↓":"↑"),9,Kf),h("button",{class:"btn",onClick:F,disabled:n.value},"刷新",8,Gf)]),h("div",Wf,[h("table",qf,[L[13]||(L[13]=h("thead",null,[h("tr",null,[h("th",null,"时间"),h("th",null,"方法"),h("th",null,"URL"),h("th",null,"状态"),h("th",null,"类型"),h("th")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(r.value,K=>(W(),q("tr",{key:K.id,onClick:ue=>Fe(K),class:"row-clickable"},[h("td",null,J(O(K.time)),1),h("td",null,[h("span",{class:Ce(["method-tag",K.method])},J(K.method),3)]),h("td",{class:"url-cell",title:K.url},J(K.url),9,zf),h("td",null,[h("span",{class:Ce(["status-tag",C(K.statusCode)])},J(K.statusCode),3)]),h("td",null,J(K.type),1),h("td",null,[h("button",{type:"button",class:"btn-link",onClick:ss(ue=>Fe(K),["stop"])},"详情",8,Qf)])],8,Jf))),128)),!r.value.length&&!n.value?(W(),q("tr",Yf,[...L[12]||(L[12]=[h("td",{colspan:"6",class:"empty"},"暂无抓包记录,请通过抓包代理访问网页。",-1)])])):he("",!0)])])]),i.value>0?(W(),q("div",Xf,[h("span",Zf,"共 "+J(i.value)+" 条",1),h("button",{class:"btn small",disabled:l.value<=0,onClick:ce},"上一页",8,ed),h("button",{class:"btn small",disabled:l.value+r.value.length>=i.value,onClick:re},"下一页",8,td)])):he("",!0)])):(W(),q("div",Lf,[h("div",kf,[h("button",{class:"btn",onClick:A,disabled:n.value},"刷新",8,$f)]),h("table",jf,[L[8]||(L[8]=h("thead",null,[h("tr",null,[h("th",null,"时间"),h("th",null,"类型"),h("th",null,"方法"),h("th",null,"URL / 主机"),h("th",null,"动作")])],-1)),h("tbody",null,[(W(!0),q(Me,null,Cs(t.value,K=>(W(),q("tr",{key:K.time+(K.url||"")},[h("td",null,J(O(K.time)),1),h("td",null,J(K.type),1),h("td",null,J(K.method),1),h("td",Vf,J(K.url),1),h("td",null,[h("span",{class:Ce(K.action==="proxy"?"action-proxy":"action-direct")},J(K.action==="proxy"?"代理":"直连"),3)])]))),128)),!t.value.length&&!n.value?(W(),q("tr",Hf,[...L[7]||(L[7]=[h("td",{colspan:"5",class:"empty"},"暂无记录,请确保代理已开启并有流量经过。",-1)])])):he("",!0)])])])),c.value?(W(),q("div",{key:2,class:"drawer-mask",onClick:De})):he("",!0),c.value?(W(),q("div",nd,[h("div",{class:"drawer-header"},[L[15]||(L[15]=h("span",{class:"drawer-title"},"详情",-1)),h("button",{type:"button",class:"drawer-close",onClick:De},"×")]),h("div",sd,[h("button",{type:"button",class:Ce({active:p.value==="request"}),onClick:L[5]||(L[5]=K=>p.value="request")},"请求",2),h("button",{type:"button",class:Ce({active:p.value==="response"}),onClick:L[6]||(L[6]=K=>p.value="response")},"响应",2)]),h("div",od,[h("div",rd,[h("div",id,[h("span",ld,J(c.value.method),1),h("button",{type:"button",class:"btn-copy-url",onClick:ze},J(g.value?"已复制":"复制 URL"),1)]),h("pre",ad,J(c.value.url),1)]),p.value==="request"?(W(),q(Me,{key:0},[h("div",cd,[L[16]||(L[16]=h("h4",null,"Request Headers",-1)),h("pre",ud,J(w(c.value.requestHeaders)),1)]),h("div",fd,[L[17]||(L[17]=h("h4",null,"Request Body",-1)),h("pre",dd,J(E(c.value.requestBody)),1)])],64)):(W(),q(Me,{key:1},[h("div",pd,[L[18]||(L[18]=h("h4",null,"Response Headers",-1)),h("pre",hd,J(w(c.value.responseHeaders)),1)]),h("div",gd,[L[19]||(L[19]=h("h4",null,"Response Body",-1)),h("pre",md,J(E(c.value.responseBody)),1)])],64))])])):he("",!0)]))}},yd=Lt(vd,[["__scopeId","data-v-1ee1603b"]]),_d=[{path:"/",name:"ModeSelect",component:Su,meta:{title:"选择模式"}},{path:"/login",name:"Login",component:Iu,meta:{title:"登录"}},{path:"/register",name:"Register",component:Hu,meta:{title:"注册"}},{path:"/console",redirect:"/console/traffic"},{path:"/console/traffic",name:"Traffic",component:yd,meta:{title:"流量记录"}},{path:"/console/proxy",name:"ProxySettings",component:hf,meta:{title:"代理设置"}},{path:"/console/pac-rules",name:"PacRules",component:Mf,meta:{title:"PAC 规则"}}],Ti=iu({history:$c(),routes:_d});Ti.beforeEach((e,t,n)=>{const s=wi();e.path!=="/"&&!e.path.startsWith("/login")&&!e.path.startsWith("/register")&&!s?n("/"):n()});wi();const Oi=Xa(vu);Oi.use(Ti);Oi.mount("#app");
@@ -0,0 +1 @@
1
+ .app-layout[data-v-a77f780a]{min-height:100vh}.topbar[data-v-a77f780a]{position:fixed;left:200px;right:0;top:0;height:52px;display:flex;align-items:center;gap:1rem;padding:0 1.5rem;background:#f1f5f9;border-bottom:1px solid var(--border);z-index:20}.logo[data-v-a77f780a]{font-weight:700;font-size:1.1rem}.mode-tag[data-v-a77f780a]{padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.mode-tag.local[data-v-a77f780a]{background:#dbeafe;color:#1d4ed8}.mode-tag.remote[data-v-a77f780a]{background:#e9d5ff;color:#6b21a8}.switch-mode[data-v-a77f780a]{font-size:.85rem;color:var(--text-secondary)}.switch-mode[data-v-a77f780a]:hover{color:var(--btn-primary)}.top-nav[data-v-a77f780a]{display:flex;gap:1rem;margin-left:auto}.top-nav a[data-v-a77f780a]{color:var(--text-secondary)}.top-nav a.router-link-active[data-v-a77f780a]{color:var(--btn-primary);font-weight:500}.top-right[data-v-a77f780a]{margin-left:auto;display:flex;align-items:center;gap:.75rem}.username[data-v-a77f780a]{font-size:.9rem;color:var(--text-secondary)}.logout-btn[data-v-a77f780a]{font-size:.85rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.25rem 0}.logout-btn[data-v-a77f780a]:hover{color:var(--btn-primary)}.sidebar[data-v-a77f780a]{position:fixed;left:0;top:0;bottom:0;width:200px;height:100vh;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.side-nav[data-v-a77f780a]{display:flex;flex-direction:column;padding:1rem 0}.side-nav a[data-v-a77f780a]{color:var(--text-primary);padding:.6rem 1.25rem;font-size:.95rem;border-left:3px solid transparent}.side-nav a[data-v-a77f780a]:hover{background:#f1f5f9;color:var(--btn-primary)}.side-nav a.active[data-v-a77f780a]{background:#eff6ff;color:var(--btn-primary);border-left-color:var(--btn-primary)}.main[data-v-a77f780a]{margin-left:200px;margin-top:52px;padding:1.5rem;min-height:calc(100vh - 52px)}.main.main-standalone[data-v-a77f780a]{margin-left:0;margin-top:0;padding:0;min-height:100vh}.mode-select[data-v-b465f762]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-main);padding:2rem}.card[data-v-b465f762]{background:var(--bg-card);border-radius:12px;padding:2.5rem;max-width:480px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-b465f762]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-b465f762]{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.options[data-v-b465f762]{display:flex;flex-direction:column;gap:1rem}.option[data-v-b465f762]{padding:1.25rem 1.5rem;border:2px solid var(--border);border-radius:var(--radius);background:#fff;text-align:left;transition:border-color .2s,background .2s}.option[data-v-b465f762]:hover{border-color:var(--btn-primary);background:#f8fafc}.option .title[data-v-b465f762]{display:block;font-weight:600;margin-bottom:.25rem}.option .sub[data-v-b465f762]{font-size:.9rem;color:var(--text-secondary)}.auth-page[data-v-be60da76]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.card[data-v-be60da76]{background:var(--bg-card);border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-be60da76]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-be60da76]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form[data-v-be60da76]{display:flex;flex-direction:column;gap:1rem}.field label[data-v-be60da76]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-be60da76]{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.error[data-v-be60da76]{color:#dc2626;font-size:.9rem}.btn.primary[data-v-be60da76]{background:var(--btn-primary);color:#fff;padding:.65rem 1rem;font-weight:500}.btn.primary[data-v-be60da76]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-be60da76]:disabled{opacity:.6;cursor:not-allowed}.footer[data-v-be60da76]{margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.auth-page[data-v-a1c8458c]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.card[data-v-a1c8458c]{background:var(--bg-card);border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-a1c8458c]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-a1c8458c]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form[data-v-a1c8458c]{display:flex;flex-direction:column;gap:1rem}.field label[data-v-a1c8458c]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-a1c8458c]{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.error[data-v-a1c8458c]{color:#dc2626;font-size:.9rem}.success[data-v-a1c8458c]{color:#16a34a;font-size:.9rem}.btn.primary[data-v-a1c8458c]{background:var(--btn-primary);color:#fff;padding:.65rem 1rem;font-weight:500}.btn.primary[data-v-a1c8458c]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-a1c8458c]:disabled{opacity:.6;cursor:not-allowed}.footer[data-v-a1c8458c]{margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.proxy-settings h2[data-v-9e948823]{font-size:1.25rem;margin-bottom:1rem}.card[data-v-9e948823]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0000000d}.card h3[data-v-9e948823]{font-size:1rem;margin-bottom:.35rem}.page-desc[data-v-9e948823],.desc[data-v-9e948823]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.saved-tip[data-v-9e948823]{color:var(--switch-on);font-size:.85rem;margin-top:.5rem}.proxy-buttons[data-v-9e948823]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.25rem}.proxy-btn[data-v-9e948823]{padding:.5rem 1rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:background .2s,border-color .2s}.proxy-btn[data-v-9e948823]:hover:not(:disabled){background:var(--bg);border-color:var(--btn-primary)}.proxy-btn.active[data-v-9e948823]{background:var(--btn-primary);border-color:var(--btn-primary);color:#fff}.proxy-btn.active[data-v-9e948823]:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:#fff}.proxy-btn.clear.active[data-v-9e948823]{background:var(--text-secondary);border-color:var(--text-secondary);color:#fff}.proxy-btn.clear.active[data-v-9e948823]:hover:not(:disabled){background:#64748b;border-color:#64748b;color:#fff}.proxy-btn[data-v-9e948823]:disabled{opacity:.6;cursor:not-allowed}.ca-download[data-v-9e948823]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.ca-label[data-v-9e948823]{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.btn-ca[data-v-9e948823]{display:inline-block;padding:.4rem .8rem;font-size:.9rem;background:var(--btn-primary);color:#fff;border-radius:var(--radius);text-decoration:none;margin-bottom:.5rem}.btn-ca[data-v-9e948823]:hover{background:var(--btn-primary-hover);color:#fff}.ca-hint[data-v-9e948823]{font-size:.85rem;color:var(--text-secondary);margin:0}.toggle-row[data-v-9e948823]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.toggle-row .select-inline[data-v-9e948823]{min-width:140px;height:2.25rem;padding:.35rem 2rem .35rem .75rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background-color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.toggle-row .select-inline[data-v-9e948823]:focus{outline:none;border-color:var(--btn-primary)}.toggle[data-v-9e948823]{width:44px;height:24px;border-radius:12px;background:var(--switch-off);padding:2px;transition:background .2s}.toggle.on[data-v-9e948823]{background:var(--switch-on)}.toggle .knob[data-v-9e948823]{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transform:translate(0);transition:transform .2s}.toggle.on .knob[data-v-9e948823]{transform:translate(20px)}.field[data-v-9e948823]{margin-bottom:1rem}.field label[data-v-9e948823]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-9e948823],.field select[data-v-9e948823]{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.row[data-v-9e948823]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.actions[data-v-9e948823]{margin-top:1rem}.btn.primary[data-v-9e948823]{background:var(--btn-primary);color:#fff;padding:.5rem 1rem;font-size:.9rem}.btn.primary[data-v-9e948823]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-9e948823]:disabled{opacity:.6;cursor:not-allowed}.status-card .status-line[data-v-9e948823]{margin-bottom:.5rem}.status-on[data-v-9e948823]{color:var(--switch-on);font-weight:600}.status-off[data-v-9e948823]{color:var(--text-secondary)}.status-port[data-v-9e948823]{margin-left:.5rem;color:var(--text-secondary);font-size:.9rem}.hint[data-v-9e948823]{font-size:.9rem;color:var(--text-secondary);margin-top:.5rem}.hint strong[data-v-9e948823]{color:var(--text-primary)}.hint.error[data-v-9e948823]{color:#dc2626}.pac-rules h2[data-v-22317bbc]{font-size:1.25rem;margin-bottom:1rem}.page-desc[data-v-22317bbc]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.card[data-v-22317bbc]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 2px #0000000d}.desc[data-v-22317bbc]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.actions.top[data-v-22317bbc]{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn.primary[data-v-22317bbc]{background:var(--btn-primary);color:#fff;padding:.5rem 1rem;font-size:.9rem}.copy-tip[data-v-22317bbc]{font-size:.85rem;color:var(--btn-primary)}.btn.small[data-v-22317bbc]{padding:.25rem .5rem;font-size:.85rem;margin-right:.5rem}.btn.small.danger[data-v-22317bbc]{background:#fef2f2;color:#dc2626}.btn.small.danger[data-v-22317bbc]:hover{background:#fee2e2}.table[data-v-22317bbc]{width:100%;border-collapse:collapse}.table th[data-v-22317bbc],.table td[data-v-22317bbc]{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.table th[data-v-22317bbc]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.table .empty[data-v-22317bbc]{color:var(--text-secondary);text-align:center}.modal[data-v-22317bbc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content[data-v-22317bbc]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;min-width:360px}.modal-content h3[data-v-22317bbc],.modal-content .field[data-v-22317bbc]{margin-bottom:1rem}.modal-content .field label[data-v-22317bbc]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.modal-content .field input[data-v-22317bbc],.modal-content .field select[data-v-22317bbc]{width:100%;min-width:0;box-sizing:border-box;padding:.5rem .75rem;min-height:2.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}.modal-content .field select[data-v-22317bbc]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:2rem}.modal-actions[data-v-22317bbc]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.btn[data-v-22317bbc]{padding:.5rem 1rem;background:#f1f5f9}.btn.primary[data-v-22317bbc]{background:var(--btn-primary);color:#fff}.traffic-page h2[data-v-1ee1603b]{font-size:1.25rem;margin-bottom:1rem}.page-desc[data-v-1ee1603b]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.card[data-v-1ee1603b]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 2px #0000000d}.capture-card[data-v-1ee1603b]{padding:1rem 1.5rem}.capture-banner[data-v-1ee1603b]{background:#eff6ff;color:#1e40af;padding:.5rem .75rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.toolbar[data-v-1ee1603b]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.toolbar .search-input[data-v-1ee1603b],.toolbar .filter-select[data-v-1ee1603b],.toolbar .status-input[data-v-1ee1603b],.toolbar .sort-order-btn[data-v-1ee1603b],.toolbar .btn[data-v-1ee1603b]{box-sizing:border-box;height:2.25rem;padding:0 .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;line-height:1.3}.toolbar .search-input[data-v-1ee1603b]{min-width:160px}.toolbar .filter-select[data-v-1ee1603b]{background:#fff;cursor:pointer;min-width:6rem}.toolbar .status-input[data-v-1ee1603b]{width:72px}.toolbar .sort-order-btn[data-v-1ee1603b]{background:#f8fafc;cursor:pointer;width:2.25rem;padding:0}.toolbar .btn[data-v-1ee1603b]{background:#f1f5f9}.actions.top[data-v-1ee1603b]{margin-bottom:1rem}.btn[data-v-1ee1603b]{padding:.5rem 1rem;font-size:.9rem;background:#f1f5f9}.btn.small[data-v-1ee1603b]{padding:.35rem .75rem;font-size:.85rem}.table-wrap[data-v-1ee1603b]{overflow-x:auto}.table[data-v-1ee1603b]{width:100%;border-collapse:collapse}.table th[data-v-1ee1603b],.table td[data-v-1ee1603b]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.table th[data-v-1ee1603b]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.table .empty[data-v-1ee1603b]{color:var(--text-secondary);text-align:center}.url-cell[data-v-1ee1603b]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-proxy[data-v-1ee1603b]{color:var(--btn-primary)}.action-direct[data-v-1ee1603b]{color:var(--text-secondary)}.row-clickable[data-v-1ee1603b]{cursor:pointer}.row-clickable[data-v-1ee1603b]:hover{background:#f8fafc}.method-tag[data-v-1ee1603b]{font-size:.8rem;padding:.15rem .4rem;border-radius:4px;font-weight:500}.method-tag.GET[data-v-1ee1603b]{background:#dbeafe;color:#1d4ed8}.method-tag.POST[data-v-1ee1603b]{background:#d1fae5;color:#047857}.method-tag.PUT[data-v-1ee1603b]{background:#fef3c7;color:#b45309}.method-tag.DELETE[data-v-1ee1603b]{background:#fee2e2;color:#b91c1c}.method-tag.HEAD[data-v-1ee1603b],.method-tag.OPTIONS[data-v-1ee1603b]{background:#f1f5f9;color:#64748b}.status-tag[data-v-1ee1603b]{font-size:.85rem;padding:.15rem .4rem;border-radius:4px}.status-2xx[data-v-1ee1603b]{background:#d1fae5;color:#047857}.status-3xx[data-v-1ee1603b]{background:#e0e7ff;color:#3730a3}.status-4xx[data-v-1ee1603b]{background:#fee2e2;color:#b91c1c}.status-5xx[data-v-1ee1603b]{background:#fecaca;color:#991b1b}.btn-link[data-v-1ee1603b]{background:none;border:none;color:var(--btn-primary);cursor:pointer;font-size:.9rem;padding:0}.btn-link[data-v-1ee1603b]:hover{text-decoration:underline}.pagination[data-v-1ee1603b]{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.pagination-info[data-v-1ee1603b]{font-size:.9rem;color:var(--text-secondary)}.drawer-mask[data-v-1ee1603b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100}.drawer[data-v-1ee1603b]{position:fixed;top:0;right:0;width:min(560px,100vw);height:100vh;background:var(--bg-card);box-shadow:-2px 0 12px #00000026;z-index:101;display:flex;flex-direction:column;overflow:hidden}.drawer-header[data-v-1ee1603b]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title[data-v-1ee1603b]{font-size:1rem;font-weight:600}.drawer-close[data-v-1ee1603b]{width:2rem;height:2rem;border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-secondary)}.drawer-close[data-v-1ee1603b]:hover{color:#0f172a}.drawer-url-section[data-v-1ee1603b]{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.drawer-url-head[data-v-1ee1603b]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.drawer-method-tag[data-v-1ee1603b]{font-size:.8rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;background:#e2e8f0;color:#475569}.btn-copy-url[data-v-1ee1603b]{padding:.35rem .6rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:#f1f5f9;cursor:pointer;color:var(--text-primary)}.btn-copy-url[data-v-1ee1603b]:hover{background:#e2e8f0}.drawer-url[data-v-1ee1603b]{margin:0;padding:.5rem .6rem;background:#f8fafc;border-radius:var(--radius);font-size:.85rem;line-height:1.4;white-space:pre-wrap;word-break:break-all;max-height:5rem;overflow:auto;user-select:text;-webkit-user-select:text}.drawer-tabs[data-v-1ee1603b]{display:flex;gap:.25rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-tabs button[data-v-1ee1603b]{padding:.4rem .75rem;font-size:.9rem;border:none;background:none;border-radius:var(--radius);cursor:pointer;color:var(--text-secondary)}.drawer-tabs button.active[data-v-1ee1603b]{background:var(--btn-primary);color:#fff}.drawer-body[data-v-1ee1603b]{flex:1;overflow:auto;padding:1rem 1.25rem}.detail-section[data-v-1ee1603b]{margin-bottom:1.25rem}.detail-section h4[data-v-1ee1603b]{font-size:.85rem;margin-bottom:.35rem;color:var(--text-secondary)}.headers-pre[data-v-1ee1603b],.body-pre[data-v-1ee1603b]{margin:0;padding:.75rem;background:#f8fafc;border-radius:var(--radius);font-size:.8rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:280px;overflow-y:auto}:root{--bg-sidebar: #1e293b;--bg-sidebar-hover: #334155;--bg-sidebar-active: #2563eb;--text-sidebar: #e2e8f0;--text-sidebar-muted: #94a3b8;--bg-main: #f8fafc;--bg-card: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--border: #e2e8f0;--switch-on: #22c55e;--switch-off: #cbd5e1;--btn-primary: #2563eb;--btn-primary-hover: #1d4ed8;--radius: 8px;--font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg-main);color:var(--text-primary);line-height:1.5;min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius)}input,select{font-family:inherit;border-radius:var(--radius)}a{color:var(--btn-primary);text-decoration:none}a:hover{text-decoration:underline}
package/dist/index.html CHANGED
@@ -7,8 +7,8 @@
7
7
  <link rel="preconnect" href="https://fonts.googleapis.com" />
8
8
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
9
9
  <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap" rel="stylesheet" />
10
- <script type="module" crossorigin src="/assets/index-BeZfrxlH.js"></script>
11
- <link rel="stylesheet" crossorigin href="/assets/index-BT0RwRSQ.css">
10
+ <script type="module" crossorigin src="/assets/index-DD-_gVYC.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/assets/index-IXkmSGx6.css">
12
12
  </head>
13
13
  <body>
14
14
  <div id="app"></div>
package/lib/index.js CHANGED
@@ -8,7 +8,7 @@ const program = new Command();
8
8
  program
9
9
  .name('pac-proxy')
10
10
  .description('PAC/全局代理本地控制台')
11
- .version('0.1.0');
11
+ .version(require('../package.json').version);
12
12
 
13
13
  program
14
14
  .command('serve')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pac-proxy-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.2",
4
4
  "description": "node pac proxy and web control panel",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -1 +0,0 @@
1
- .app-layout[data-v-e7869e57]{display:flex;flex-direction:column;min-height:100vh}.topbar[data-v-e7869e57]{display:flex;align-items:center;gap:1rem;padding:.75rem 1.5rem;background:#f1f5f9;border-bottom:1px solid var(--border)}.logo[data-v-e7869e57]{font-weight:700;font-size:1.1rem}.mode-tag[data-v-e7869e57]{padding:.2rem .5rem;border-radius:4px;font-size:.8rem}.mode-tag.local[data-v-e7869e57]{background:#dbeafe;color:#1d4ed8}.mode-tag.remote[data-v-e7869e57]{background:#e9d5ff;color:#6b21a8}.switch-mode[data-v-e7869e57]{font-size:.85rem;color:var(--text-secondary)}.switch-mode[data-v-e7869e57]:hover{color:var(--btn-primary)}.top-nav[data-v-e7869e57]{display:flex;gap:1rem;margin-left:auto}.top-nav a[data-v-e7869e57]{color:var(--text-secondary)}.top-nav a.router-link-active[data-v-e7869e57]{color:var(--btn-primary);font-weight:500}.top-right[data-v-e7869e57]{margin-left:auto;display:flex;align-items:center;gap:.75rem}.username[data-v-e7869e57]{font-size:.9rem;color:var(--text-secondary)}.logout-btn[data-v-e7869e57]{font-size:.85rem;color:var(--text-secondary);background:none;border:none;cursor:pointer;padding:.25rem 0}.logout-btn[data-v-e7869e57]:hover{color:var(--btn-primary)}.sidebar[data-v-e7869e57]{position:fixed;left:0;top:49px;bottom:0;width:200px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.side-nav[data-v-e7869e57]{display:flex;flex-direction:column;padding:1rem 0}.side-nav a[data-v-e7869e57]{color:var(--text-primary);padding:.6rem 1.25rem;font-size:.95rem;border-left:3px solid transparent}.side-nav a[data-v-e7869e57]:hover{background:#f1f5f9;color:var(--btn-primary)}.side-nav a.active[data-v-e7869e57]{background:#eff6ff;color:var(--btn-primary);border-left-color:var(--btn-primary)}.main[data-v-e7869e57]{margin-left:200px;margin-top:49px;padding:1.5rem;min-height:calc(100vh - 49px)}.main.main-standalone[data-v-e7869e57]{margin-left:0;margin-top:0;padding:0;min-height:100vh}.mode-select[data-v-b465f762]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-main);padding:2rem}.card[data-v-b465f762]{background:var(--bg-card);border-radius:12px;padding:2.5rem;max-width:480px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-b465f762]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-b465f762]{color:var(--text-secondary);font-size:.95rem;margin-bottom:1.5rem}.options[data-v-b465f762]{display:flex;flex-direction:column;gap:1rem}.option[data-v-b465f762]{padding:1.25rem 1.5rem;border:2px solid var(--border);border-radius:var(--radius);background:#fff;text-align:left;transition:border-color .2s,background .2s}.option[data-v-b465f762]:hover{border-color:var(--btn-primary);background:#f8fafc}.option .title[data-v-b465f762]{display:block;font-weight:600;margin-bottom:.25rem}.option .sub[data-v-b465f762]{font-size:.9rem;color:var(--text-secondary)}.auth-page[data-v-be60da76]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.card[data-v-be60da76]{background:var(--bg-card);border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-be60da76]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-be60da76]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form[data-v-be60da76]{display:flex;flex-direction:column;gap:1rem}.field label[data-v-be60da76]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-be60da76]{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.error[data-v-be60da76]{color:#dc2626;font-size:.9rem}.btn.primary[data-v-be60da76]{background:var(--btn-primary);color:#fff;padding:.65rem 1rem;font-weight:500}.btn.primary[data-v-be60da76]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-be60da76]:disabled{opacity:.6;cursor:not-allowed}.footer[data-v-be60da76]{margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.auth-page[data-v-a1c8458c]{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.card[data-v-a1c8458c]{background:var(--bg-card);border-radius:12px;padding:2rem;max-width:400px;width:100%;box-shadow:0 1px 3px #00000014}.card h1[data-v-a1c8458c]{font-size:1.5rem;margin-bottom:.5rem}.desc[data-v-a1c8458c]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1.5rem}.form[data-v-a1c8458c]{display:flex;flex-direction:column;gap:1rem}.field label[data-v-a1c8458c]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-a1c8458c]{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.error[data-v-a1c8458c]{color:#dc2626;font-size:.9rem}.success[data-v-a1c8458c]{color:#16a34a;font-size:.9rem}.btn.primary[data-v-a1c8458c]{background:var(--btn-primary);color:#fff;padding:.65rem 1rem;font-weight:500}.btn.primary[data-v-a1c8458c]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-a1c8458c]:disabled{opacity:.6;cursor:not-allowed}.footer[data-v-a1c8458c]{margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.proxy-settings h2[data-v-9e948823]{font-size:1.25rem;margin-bottom:1rem}.card[data-v-9e948823]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0000000d}.card h3[data-v-9e948823]{font-size:1rem;margin-bottom:.35rem}.page-desc[data-v-9e948823],.desc[data-v-9e948823]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.saved-tip[data-v-9e948823]{color:var(--switch-on);font-size:.85rem;margin-top:.5rem}.proxy-buttons[data-v-9e948823]{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.25rem}.proxy-btn[data-v-9e948823]{padding:.5rem 1rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-card);cursor:pointer;transition:background .2s,border-color .2s}.proxy-btn[data-v-9e948823]:hover:not(:disabled){background:var(--bg);border-color:var(--btn-primary)}.proxy-btn.active[data-v-9e948823]{background:var(--btn-primary);border-color:var(--btn-primary);color:#fff}.proxy-btn.active[data-v-9e948823]:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover);color:#fff}.proxy-btn.clear.active[data-v-9e948823]{background:var(--text-secondary);border-color:var(--text-secondary);color:#fff}.proxy-btn.clear.active[data-v-9e948823]:hover:not(:disabled){background:#64748b;border-color:#64748b;color:#fff}.proxy-btn[data-v-9e948823]:disabled{opacity:.6;cursor:not-allowed}.ca-download[data-v-9e948823]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.ca-label[data-v-9e948823]{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.btn-ca[data-v-9e948823]{display:inline-block;padding:.4rem .8rem;font-size:.9rem;background:var(--btn-primary);color:#fff;border-radius:var(--radius);text-decoration:none;margin-bottom:.5rem}.btn-ca[data-v-9e948823]:hover{background:var(--btn-primary-hover);color:#fff}.ca-hint[data-v-9e948823]{font-size:.85rem;color:var(--text-secondary);margin:0}.toggle-row[data-v-9e948823]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.toggle-row .select-inline[data-v-9e948823]{min-width:140px;height:2.25rem;padding:.35rem 2rem .35rem .75rem;font-size:.9rem;border:1px solid var(--border);border-radius:var(--radius);background-color:#fff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.toggle-row .select-inline[data-v-9e948823]:focus{outline:none;border-color:var(--btn-primary)}.toggle[data-v-9e948823]{width:44px;height:24px;border-radius:12px;background:var(--switch-off);padding:2px;transition:background .2s}.toggle.on[data-v-9e948823]{background:var(--switch-on)}.toggle .knob[data-v-9e948823]{display:block;width:20px;height:20px;border-radius:50%;background:#fff;transform:translate(0);transition:transform .2s}.toggle.on .knob[data-v-9e948823]{transform:translate(20px)}.field[data-v-9e948823]{margin-bottom:1rem}.field label[data-v-9e948823]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.field input[data-v-9e948823],.field select[data-v-9e948823]{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius)}.row[data-v-9e948823]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.actions[data-v-9e948823]{margin-top:1rem}.btn.primary[data-v-9e948823]{background:var(--btn-primary);color:#fff;padding:.5rem 1rem;font-size:.9rem}.btn.primary[data-v-9e948823]:hover:not(:disabled){background:var(--btn-primary-hover)}.btn.primary[data-v-9e948823]:disabled{opacity:.6;cursor:not-allowed}.status-card .status-line[data-v-9e948823]{margin-bottom:.5rem}.status-on[data-v-9e948823]{color:var(--switch-on);font-weight:600}.status-off[data-v-9e948823]{color:var(--text-secondary)}.status-port[data-v-9e948823]{margin-left:.5rem;color:var(--text-secondary);font-size:.9rem}.hint[data-v-9e948823]{font-size:.9rem;color:var(--text-secondary);margin-top:.5rem}.hint strong[data-v-9e948823]{color:var(--text-primary)}.hint.error[data-v-9e948823]{color:#dc2626}.pac-rules h2[data-v-22317bbc]{font-size:1.25rem;margin-bottom:1rem}.page-desc[data-v-22317bbc]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.card[data-v-22317bbc]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 2px #0000000d}.desc[data-v-22317bbc]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.actions.top[data-v-22317bbc]{margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.btn.primary[data-v-22317bbc]{background:var(--btn-primary);color:#fff;padding:.5rem 1rem;font-size:.9rem}.copy-tip[data-v-22317bbc]{font-size:.85rem;color:var(--btn-primary)}.btn.small[data-v-22317bbc]{padding:.25rem .5rem;font-size:.85rem;margin-right:.5rem}.btn.small.danger[data-v-22317bbc]{background:#fef2f2;color:#dc2626}.btn.small.danger[data-v-22317bbc]:hover{background:#fee2e2}.table[data-v-22317bbc]{width:100%;border-collapse:collapse}.table th[data-v-22317bbc],.table td[data-v-22317bbc]{padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.table th[data-v-22317bbc]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.table .empty[data-v-22317bbc]{color:var(--text-secondary);text-align:center}.modal[data-v-22317bbc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal-content[data-v-22317bbc]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;min-width:360px}.modal-content h3[data-v-22317bbc],.modal-content .field[data-v-22317bbc]{margin-bottom:1rem}.modal-content .field label[data-v-22317bbc]{display:block;font-size:.9rem;margin-bottom:.35rem;color:var(--text-secondary)}.modal-content .field input[data-v-22317bbc],.modal-content .field select[data-v-22317bbc]{width:100%;min-width:0;box-sizing:border-box;padding:.5rem .75rem;min-height:2.5rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.95rem}.modal-content .field select[data-v-22317bbc]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center;padding-right:2rem}.modal-actions[data-v-22317bbc]{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.btn[data-v-22317bbc]{padding:.5rem 1rem;background:#f1f5f9}.btn.primary[data-v-22317bbc]{background:var(--btn-primary);color:#fff}.traffic-page h2[data-v-1ee1603b]{font-size:1.25rem;margin-bottom:1rem}.page-desc[data-v-1ee1603b]{color:var(--text-secondary);font-size:.9rem;margin-bottom:1rem}.card[data-v-1ee1603b]{background:var(--bg-card);border-radius:var(--radius);padding:1.5rem;box-shadow:0 1px 2px #0000000d}.capture-card[data-v-1ee1603b]{padding:1rem 1.5rem}.capture-banner[data-v-1ee1603b]{background:#eff6ff;color:#1e40af;padding:.5rem .75rem;border-radius:var(--radius);font-size:.9rem;margin-bottom:1rem}.toolbar[data-v-1ee1603b]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem}.toolbar .search-input[data-v-1ee1603b],.toolbar .filter-select[data-v-1ee1603b],.toolbar .status-input[data-v-1ee1603b],.toolbar .sort-order-btn[data-v-1ee1603b],.toolbar .btn[data-v-1ee1603b]{box-sizing:border-box;height:2.25rem;padding:0 .6rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9rem;line-height:1.3}.toolbar .search-input[data-v-1ee1603b]{min-width:160px}.toolbar .filter-select[data-v-1ee1603b]{background:#fff;cursor:pointer;min-width:6rem}.toolbar .status-input[data-v-1ee1603b]{width:72px}.toolbar .sort-order-btn[data-v-1ee1603b]{background:#f8fafc;cursor:pointer;width:2.25rem;padding:0}.toolbar .btn[data-v-1ee1603b]{background:#f1f5f9}.actions.top[data-v-1ee1603b]{margin-bottom:1rem}.btn[data-v-1ee1603b]{padding:.5rem 1rem;font-size:.9rem;background:#f1f5f9}.btn.small[data-v-1ee1603b]{padding:.35rem .75rem;font-size:.85rem}.table-wrap[data-v-1ee1603b]{overflow-x:auto}.table[data-v-1ee1603b]{width:100%;border-collapse:collapse}.table th[data-v-1ee1603b],.table td[data-v-1ee1603b]{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.table th[data-v-1ee1603b]{font-weight:600;color:var(--text-secondary);font-size:.9rem}.table .empty[data-v-1ee1603b]{color:var(--text-secondary);text-align:center}.url-cell[data-v-1ee1603b]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-proxy[data-v-1ee1603b]{color:var(--btn-primary)}.action-direct[data-v-1ee1603b]{color:var(--text-secondary)}.row-clickable[data-v-1ee1603b]{cursor:pointer}.row-clickable[data-v-1ee1603b]:hover{background:#f8fafc}.method-tag[data-v-1ee1603b]{font-size:.8rem;padding:.15rem .4rem;border-radius:4px;font-weight:500}.method-tag.GET[data-v-1ee1603b]{background:#dbeafe;color:#1d4ed8}.method-tag.POST[data-v-1ee1603b]{background:#d1fae5;color:#047857}.method-tag.PUT[data-v-1ee1603b]{background:#fef3c7;color:#b45309}.method-tag.DELETE[data-v-1ee1603b]{background:#fee2e2;color:#b91c1c}.method-tag.HEAD[data-v-1ee1603b],.method-tag.OPTIONS[data-v-1ee1603b]{background:#f1f5f9;color:#64748b}.status-tag[data-v-1ee1603b]{font-size:.85rem;padding:.15rem .4rem;border-radius:4px}.status-2xx[data-v-1ee1603b]{background:#d1fae5;color:#047857}.status-3xx[data-v-1ee1603b]{background:#e0e7ff;color:#3730a3}.status-4xx[data-v-1ee1603b]{background:#fee2e2;color:#b91c1c}.status-5xx[data-v-1ee1603b]{background:#fecaca;color:#991b1b}.btn-link[data-v-1ee1603b]{background:none;border:none;color:var(--btn-primary);cursor:pointer;font-size:.9rem;padding:0}.btn-link[data-v-1ee1603b]:hover{text-decoration:underline}.pagination[data-v-1ee1603b]{margin-top:1rem;display:flex;align-items:center;gap:.75rem}.pagination-info[data-v-1ee1603b]{font-size:.9rem;color:var(--text-secondary)}.drawer-mask[data-v-1ee1603b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:100}.drawer[data-v-1ee1603b]{position:fixed;top:0;right:0;width:min(560px,100vw);height:100vh;background:var(--bg-card);box-shadow:-2px 0 12px #00000026;z-index:101;display:flex;flex-direction:column;overflow:hidden}.drawer-header[data-v-1ee1603b]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-title[data-v-1ee1603b]{font-size:1rem;font-weight:600}.drawer-close[data-v-1ee1603b]{width:2rem;height:2rem;border:none;background:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--text-secondary)}.drawer-close[data-v-1ee1603b]:hover{color:#0f172a}.drawer-url-section[data-v-1ee1603b]{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.drawer-url-head[data-v-1ee1603b]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.drawer-method-tag[data-v-1ee1603b]{font-size:.8rem;font-weight:600;padding:.15rem .4rem;border-radius:4px;background:#e2e8f0;color:#475569}.btn-copy-url[data-v-1ee1603b]{padding:.35rem .6rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:#f1f5f9;cursor:pointer;color:var(--text-primary)}.btn-copy-url[data-v-1ee1603b]:hover{background:#e2e8f0}.drawer-url[data-v-1ee1603b]{margin:0;padding:.5rem .6rem;background:#f8fafc;border-radius:var(--radius);font-size:.85rem;line-height:1.4;white-space:pre-wrap;word-break:break-all;max-height:5rem;overflow:auto;user-select:text;-webkit-user-select:text}.drawer-tabs[data-v-1ee1603b]{display:flex;gap:.25rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.drawer-tabs button[data-v-1ee1603b]{padding:.4rem .75rem;font-size:.9rem;border:none;background:none;border-radius:var(--radius);cursor:pointer;color:var(--text-secondary)}.drawer-tabs button.active[data-v-1ee1603b]{background:var(--btn-primary);color:#fff}.drawer-body[data-v-1ee1603b]{flex:1;overflow:auto;padding:1rem 1.25rem}.detail-section[data-v-1ee1603b]{margin-bottom:1.25rem}.detail-section h4[data-v-1ee1603b]{font-size:.85rem;margin-bottom:.35rem;color:var(--text-secondary)}.headers-pre[data-v-1ee1603b],.body-pre[data-v-1ee1603b]{margin:0;padding:.75rem;background:#f8fafc;border-radius:var(--radius);font-size:.8rem;line-height:1.4;overflow-x:auto;white-space:pre-wrap;word-break:break-all;max-height:280px;overflow-y:auto}:root{--bg-sidebar: #1e293b;--bg-sidebar-hover: #334155;--bg-sidebar-active: #2563eb;--text-sidebar: #e2e8f0;--text-sidebar-muted: #94a3b8;--bg-main: #f8fafc;--bg-card: #ffffff;--text-primary: #0f172a;--text-secondary: #64748b;--border: #e2e8f0;--switch-on: #22c55e;--switch-off: #cbd5e1;--btn-primary: #2563eb;--btn-primary-hover: #1d4ed8;--radius: 8px;--font: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg-main);color:var(--text-primary);line-height:1.5;min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;border-radius:var(--radius)}input,select{font-family:inherit;border-radius:var(--radius)}a{color:var(--btn-primary);text-decoration:none}a:hover{text-decoration:underline}