pac-proxy-cli 1.1.10 → 1.1.12
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/dist/assets/index-CmIDvBkA.js +28 -0
- package/dist/favicon.png +0 -0
- package/dist/index.html +1 -1
- package/lib/server.js +0 -2
- package/package.json +2 -2
- package/dist/assets/index-BmlymXKx.js +0 -28
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
|
|
2
|
+
* @vue/shared v3.5.31
|
|
3
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
+
* @license MIT
|
|
5
|
+
**/function ao(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const pe={},nn=[],dt=()=>{},Ur=()=>!1,fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ds=e=>e.startsWith("onUpdate:"),Re=Object.assign,co=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ai=Object.prototype.hasOwnProperty,ce=(e,t)=>Ai.call(e,t),q=Array.isArray,sn=e=>Bn(e)==="[object Map]",pn=e=>Bn(e)==="[object Set]",Io=e=>Bn(e)==="[object Date]",Z=e=>typeof e=="function",xe=e=>typeof e=="string",ht=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",Br=e=>(ue(e)||Z(e))&&Z(e.then)&&Z(e.catch),Hr=Object.prototype.toString,Bn=e=>Hr.call(e),Ti=e=>Bn(e).slice(8,-1),Fr=e=>Bn(e)==="[object Object]",uo=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=ao(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ps=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ri=/-\w/g,Be=ps(e=>e.replace(Ri,t=>t.slice(1).toUpperCase())),Pi=/\B([A-Z])/g,Jt=ps(e=>e.replace(Pi,"-$1").toLowerCase()),hs=ps(e=>e.charAt(0).toUpperCase()+e.slice(1)),Rs=ps(e=>e?`on${hs(e)}`:""),ut=(e,t)=>!Object.is(e,t),Jn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},jr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},gs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Oi=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Mo;const ms=()=>Mo||(Mo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function vs(e){if(q(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=xe(s)?Mi(s):vs(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(xe(e)||ue(e))return e}const ki=/;(?![^(]*\))/g,Ni=/:([^]+)/,Ii=/\/\*[^]*?\*\//g;function Mi(e){const t={};return e.replace(Ii,"").split(ki).forEach(n=>{if(n){const s=n.split(Ni);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function be(e){let t="";if(xe(e))t=e;else if(q(e))for(let n=0;n<e.length;n++){const s=be(e[n]);s&&(t+=s+" ")}else if(ue(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const $i="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Li=ao($i);function Gr(e){return!!e||e===""}function Di(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Dt(e[s],t[s]);return n}function Dt(e,t){if(e===t)return!0;let n=Io(e),s=Io(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=ht(e),s=ht(t),n||s)return e===t;if(n=q(e),s=q(t),n||s)return n&&s?Di(e,t):!1;if(n=ue(e),s=ue(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 l in e){const i=e.hasOwnProperty(l),a=t.hasOwnProperty(l);if(i&&!a||!i&&a||!Dt(e[l],t[l]))return!1}}return String(e)===String(t)}function fo(e,t){return e.findIndex(n=>Dt(n,t))}const Kr=e=>!!(e&&e.__v_isRef===!0),z=e=>xe(e)?e:e==null?"":q(e)||ue(e)&&(e.toString===Hr||!Z(e.toString))?Kr(e)?z(e.value):JSON.stringify(e,Wr,2):String(e),Wr=(e,t)=>Kr(t)?Wr(e,t.value):sn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[Ps(s,r)+" =>"]=o,n),{})}:pn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ps(n))}:ht(t)?Ps(t):ue(t)&&!q(t)&&!Fr(t)?String(t):t,Ps=(e,t="")=>{var n;return ht(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
6
|
+
* @vue/reactivity v3.5.31
|
|
7
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
+
* @license MIT
|
|
9
|
+
**/let Fe;class Vi{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=Fe,!t&&Fe&&(this.index=(Fe.scopes||(Fe.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=Fe;try{return Fe=this,t()}finally{Fe=n}}}on(){++this._on===1&&(this.prevScope=Fe,Fe=this)}off(){this._on>0&&--this._on===0&&(Fe=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 Ui(){return Fe}let me;const Os=new WeakSet;class zr{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,Fe&&Fe.active&&Fe.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Os.has(this)&&(Os.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Jr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,$o(this),Qr(this);const t=me,n=Ye;me=this,Ye=!0;try{return this.fn()}finally{Yr(this),me=t,Ye=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)go(t);this.deps=this.depsTail=void 0,$o(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Os.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Gs(this)&&this.run()}get dirty(){return Gs(this)}}let qr=0,xn,Cn;function Jr(e,t=!1){if(e.flags|=8,t){e.next=Cn,Cn=e;return}e.next=xn,xn=e}function po(){qr++}function ho(){if(--qr>0)return;if(Cn){let t=Cn;for(Cn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;xn;){let t=xn;for(xn=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 Qr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yr(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),go(s),Bi(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Gs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Xr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Xr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===kn)||(e.globalVersion=kn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Gs(e))))return;e.flags|=2;const t=e.dep,n=me,s=Ye;me=e,Ye=!0;try{Qr(e);const o=e.fn(e._value);(t.version===0||ut(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{me=n,Ye=s,Yr(e),e.flags&=-3}}function go(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)go(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Bi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ye=!0;const Zr=[];function Ct(){Zr.push(Ye),Ye=!1}function St(){const e=Zr.pop();Ye=e===void 0?!0:e}function $o(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=me;me=void 0;try{t()}finally{me=n}}}let kn=0;class Hi{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 mo{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(!me||!Ye||me===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==me)n=this.activeLink=new Hi(me,this),me.deps?(n.prevDep=me.depsTail,me.depsTail.nextDep=n,me.depsTail=n):me.deps=me.depsTail=n,el(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=me.depsTail,n.nextDep=void 0,me.depsTail.nextDep=n,me.depsTail=n,me.deps===n&&(me.deps=s)}return n}trigger(t){this.version++,kn++,this.notify(t)}notify(t){po();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ho()}}}function el(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)el(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ks=new WeakMap,Wt=Symbol(""),Ws=Symbol(""),Nn=Symbol("");function Me(e,t,n){if(Ye&&me){let s=Ks.get(e);s||Ks.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new mo),o.map=s,o.key=n),o.track()}}function bt(e,t,n,s,o,r){const l=Ks.get(e);if(!l){kn++;return}const i=a=>{a&&a.trigger()};if(po(),t==="clear")l.forEach(i);else{const a=q(e),c=a&&uo(n);if(a&&n==="length"){const f=Number(s);l.forEach((d,g)=>{(g==="length"||g===Nn||!ht(g)&&g>=f)&&i(d)})}else switch((n!==void 0||l.has(void 0))&&i(l.get(n)),c&&i(l.get(Nn)),t){case"add":a?c&&i(l.get("length")):(i(l.get(Wt)),sn(e)&&i(l.get(Ws)));break;case"delete":a||(i(l.get(Wt)),sn(e)&&i(l.get(Ws)));break;case"set":sn(e)&&i(l.get(Wt));break}}ho()}function Xt(e){const t=ie(e);return t===e?t:(Me(t,"iterate",Nn),qe(e)?t:t.map(Xe))}function ys(e){return Me(e=ie(e),"iterate",Nn),e}function at(e,t){return Et(e)?an(zt(e)?Xe(t):t):Xe(t)}const Fi={__proto__:null,[Symbol.iterator](){return ks(this,Symbol.iterator,e=>at(this,e))},concat(...e){return Xt(this).concat(...e.map(t=>q(t)?Xt(t):t))},entries(){return ks(this,"entries",e=>(e[1]=at(this,e[1]),e))},every(e,t){return mt(this,"every",e,t,void 0,arguments)},filter(e,t){return mt(this,"filter",e,t,n=>n.map(s=>at(this,s)),arguments)},find(e,t){return mt(this,"find",e,t,n=>at(this,n),arguments)},findIndex(e,t){return mt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return mt(this,"findLast",e,t,n=>at(this,n),arguments)},findLastIndex(e,t){return mt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return mt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ns(this,"includes",e)},indexOf(...e){return Ns(this,"indexOf",e)},join(e){return Xt(this).join(e)},lastIndexOf(...e){return Ns(this,"lastIndexOf",e)},map(e,t){return mt(this,"map",e,t,void 0,arguments)},pop(){return mn(this,"pop")},push(...e){return mn(this,"push",e)},reduce(e,...t){return Lo(this,"reduce",e,t)},reduceRight(e,...t){return Lo(this,"reduceRight",e,t)},shift(){return mn(this,"shift")},some(e,t){return mt(this,"some",e,t,void 0,arguments)},splice(...e){return mn(this,"splice",e)},toReversed(){return Xt(this).toReversed()},toSorted(e){return Xt(this).toSorted(e)},toSpliced(...e){return Xt(this).toSpliced(...e)},unshift(...e){return mn(this,"unshift",e)},values(){return ks(this,"values",e=>at(this,e))}};function ks(e,t,n){const s=ys(e),o=s[t]();return s!==e&&!qe(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 mt(e,t,n,s,o,r){const l=ys(e),i=l!==e&&!qe(e),a=l[t];if(a!==ji[t]){const d=a.apply(e,r);return i?Xe(d):d}let c=n;l!==e&&(i?c=function(d,g){return n.call(this,at(e,d),g,e)}:n.length>2&&(c=function(d,g){return n.call(this,d,g,e)}));const f=a.call(l,c,s);return i&&o?o(f):f}function Lo(e,t,n,s){const o=ys(e),r=o!==e&&!qe(e);let l=n,i=!1;o!==e&&(r?(i=s.length===0,l=function(c,f,d){return i&&(i=!1,c=at(e,c)),n.call(this,c,at(e,f),d,e)}):n.length>3&&(l=function(c,f,d){return n.call(this,c,f,d,e)}));const a=o[t](l,...s);return i?at(e,a):a}function Ns(e,t,n){const s=ie(e);Me(s,"iterate",Nn);const o=s[t](...n);return(o===-1||o===!1)&&_o(n[0])?(n[0]=ie(n[0]),s[t](...n)):o}function mn(e,t,n=[]){Ct(),po();const s=ie(e)[t].apply(e,n);return ho(),St(),s}const Gi=ao("__proto__,__v_isRef,__isVue"),tl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ht));function Ki(e){ht(e)||(e=String(e));const t=ie(this);return Me(t,"has",e),t.hasOwnProperty(e)}class nl{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?ta:ll:r?rl:ol).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const l=q(t);if(!o){let a;if(l&&(a=Fi[n]))return a;if(n==="hasOwnProperty")return Ki}const i=Reflect.get(t,n,Le(t)?t:s);if((ht(n)?tl.has(n):Gi(n))||(o||Me(t,"get",n),r))return i;if(Le(i)){const a=l&&uo(n)?i:i.value;return o&&ue(a)?ts(a):a}return ue(i)?o?ts(i):hn(i):i}}class sl extends nl{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const l=q(t)&&uo(n);if(!this._isShallow){const c=Et(r);if(!qe(s)&&!Et(s)&&(r=ie(r),s=ie(s)),!l&&Le(r)&&!Le(s))return c||(r.value=s),!0}const i=l?Number(n)<t.length:ce(t,n),a=Reflect.set(t,n,s,Le(t)?t:o);return t===ie(o)&&(i?ut(s,r)&&bt(t,"set",n,s):bt(t,"add",n,s)),a}deleteProperty(t,n){const s=ce(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&bt(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!ht(n)||!tl.has(n))&&Me(t,"has",n),s}ownKeys(t){return Me(t,"iterate",q(t)?"length":Wt),Reflect.ownKeys(t)}}class Wi extends nl{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const zi=new sl,qi=new Wi,Ji=new sl(!0);const zs=e=>e,Gn=e=>Reflect.getPrototypeOf(e);function Qi(e,t,n){return function(...s){const o=this.__v_raw,r=ie(o),l=sn(r),i=e==="entries"||e===Symbol.iterator&&l,a=e==="keys"&&l,c=o[e](...s),f=n?zs:t?an:Xe;return!t&&Me(r,"iterate",a?Ws:Wt),Re(Object.create(c),{next(){const{value:d,done:g}=c.next();return g?{value:d,done:g}:{value:i?[f(d[0]),f(d[1])]:f(d),done:g}}})}}function Kn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Yi(e,t){const n={get(o){const r=this.__v_raw,l=ie(r),i=ie(o);e||(ut(o,i)&&Me(l,"get",o),Me(l,"get",i));const{has:a}=Gn(l),c=t?zs:e?an:Xe;if(a.call(l,o))return c(r.get(o));if(a.call(l,i))return c(r.get(i));r!==l&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Me(ie(o),"iterate",Wt),o.size},has(o){const r=this.__v_raw,l=ie(r),i=ie(o);return e||(ut(o,i)&&Me(l,"has",o),Me(l,"has",i)),o===i?r.has(o):r.has(o)||r.has(i)},forEach(o,r){const l=this,i=l.__v_raw,a=ie(i),c=t?zs:e?an:Xe;return!e&&Me(a,"iterate",Wt),i.forEach((f,d)=>o.call(r,c(f),c(d),l))}};return Re(n,e?{add:Kn("add"),set:Kn("set"),delete:Kn("delete"),clear:Kn("clear")}:{add(o){const r=ie(this),l=Gn(r),i=ie(o),a=!t&&!qe(o)&&!Et(o)?i:o;return l.has.call(r,a)||ut(o,a)&&l.has.call(r,o)||ut(i,a)&&l.has.call(r,i)||(r.add(a),bt(r,"add",a,a)),this},set(o,r){!t&&!qe(r)&&!Et(r)&&(r=ie(r));const l=ie(this),{has:i,get:a}=Gn(l);let c=i.call(l,o);c||(o=ie(o),c=i.call(l,o));const f=a.call(l,o);return l.set(o,r),c?ut(r,f)&&bt(l,"set",o,r):bt(l,"add",o,r),this},delete(o){const r=ie(this),{has:l,get:i}=Gn(r);let a=l.call(r,o);a||(o=ie(o),a=l.call(r,o)),i&&i.call(r,o);const c=r.delete(o);return a&&bt(r,"delete",o,void 0),c},clear(){const o=ie(this),r=o.size!==0,l=o.clear();return r&&bt(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Qi(o,e,t)}),n}function vo(e,t){const n=Yi(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ce(n,o)&&o in s?n:s,o,r)}const Xi={get:vo(!1,!1)},Zi={get:vo(!1,!0)},ea={get:vo(!0,!1)};const ol=new WeakMap,rl=new WeakMap,ll=new WeakMap,ta=new WeakMap;function na(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function sa(e){return e.__v_skip||!Object.isExtensible(e)?0:na(Ti(e))}function hn(e){return Et(e)?e:yo(e,!1,zi,Xi,ol)}function il(e){return yo(e,!1,Ji,Zi,rl)}function ts(e){return yo(e,!0,qi,ea,ll)}function yo(e,t,n,s,o){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=sa(e);if(r===0)return e;const l=o.get(e);if(l)return l;const i=new Proxy(e,r===2?s:n);return o.set(e,i),i}function zt(e){return Et(e)?zt(e.__v_raw):!!(e&&e.__v_isReactive)}function Et(e){return!!(e&&e.__v_isReadonly)}function qe(e){return!!(e&&e.__v_isShallow)}function _o(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function oa(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&jr(e,"__v_skip",!0),e}const Xe=e=>ue(e)?hn(e):e,an=e=>ue(e)?ts(e):e;function Le(e){return e?e.__v_isRef===!0:!1}function ee(e){return al(e,!1)}function ra(e){return al(e,!0)}function al(e,t){return Le(e)?e:new la(e,t)}class la{constructor(t,n){this.dep=new mo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ie(t),this._value=n?t:Xe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||qe(t)||Et(t);t=s?t:ie(t),ut(t,n)&&(this._rawValue=t,this._value=s?t:Xe(t),this.dep.trigger())}}function pt(e){return Le(e)?e.value:e}const ia={get:(e,t,n)=>t==="__v_raw"?e:pt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Le(o)&&!Le(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function cl(e){return zt(e)?e:new Proxy(e,ia)}class aa{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new mo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=kn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return Jr(this,!0),!0}get value(){const t=this.dep.track();return Xr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ca(e,t,n=!1){let s,o;return Z(e)?s=e:(s=e.get,o=e.set),new aa(s,o,n)}const Wn={},ns=new WeakMap;let Gt;function ua(e,t=!1,n=Gt){if(n){let s=ns.get(n);s||ns.set(n,s=[]),s.push(e)}}function fa(e,t,n=pe){const{immediate:s,deep:o,once:r,scheduler:l,augmentJob:i,call:a}=n,c=b=>o?b:qe(b)||o===!1||o===0?wt(b,1):wt(b);let f,d,g,m,_=!1,y=!1;if(Le(e)?(d=()=>e.value,_=qe(e)):zt(e)?(d=()=>c(e),_=!0):q(e)?(y=!0,_=e.some(b=>zt(b)||qe(b)),d=()=>e.map(b=>{if(Le(b))return b.value;if(zt(b))return c(b);if(Z(b))return a?a(b,2):b()})):Z(e)?t?d=a?()=>a(e,2):e:d=()=>{if(g){Ct();try{g()}finally{St()}}const b=Gt;Gt=f;try{return a?a(e,3,[m]):e(m)}finally{Gt=b}}:d=dt,t&&o){const b=d,I=o===!0?1/0:o;d=()=>wt(b(),I)}const T=Ui(),P=()=>{f.stop(),T&&T.active&&co(T.effects,f)};if(r&&t){const b=t;t=(...I)=>{b(...I),P()}}let R=y?new Array(e.length).fill(Wn):Wn;const A=b=>{if(!(!(f.flags&1)||!f.dirty&&!b))if(t){const I=f.run();if(o||_||(y?I.some((J,j)=>ut(J,R[j])):ut(I,R))){g&&g();const J=Gt;Gt=f;try{const j=[I,R===Wn?void 0:y&&R[0]===Wn?[]:R,m];R=I,a?a(t,3,j):t(...j)}finally{Gt=J}}}else f.run()};return i&&i(A),f=new zr(d),f.scheduler=l?()=>l(A,!1):A,m=b=>ua(b,!1,f),g=f.onStop=()=>{const b=ns.get(f);if(b){if(a)a(b,4);else for(const I of b)I();ns.delete(f)}},t?s?A(!0):R=f.run():l?l(A.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function wt(e,t=1/0,n){if(t<=0||!ue(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Le(e))wt(e.value,t,n);else if(q(e))for(let s=0;s<e.length;s++)wt(e[s],t,n);else if(pn(e)||sn(e))e.forEach(s=>{wt(s,t,n)});else if(Fr(e)){for(const s in e)wt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wt(e[s],t,n)}return e}/**
|
|
10
|
+
* @vue/runtime-core v3.5.31
|
|
11
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
+
* @license MIT
|
|
13
|
+
**/function Hn(e,t,n,s){try{return s?e(...s):e()}catch(o){_s(o,t,n)}}function Ze(e,t,n,s){if(Z(e)){const o=Hn(e,t,n,s);return o&&Br(o)&&o.catch(r=>{_s(r,t,n)}),o}if(q(e)){const o=[];for(let r=0;r<e.length;r++)o.push(Ze(e[r],t,n,s));return o}}function _s(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||pe;if(t){let i=t.parent;const a=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${n}`;for(;i;){const f=i.ec;if(f){for(let d=0;d<f.length;d++)if(f[d](e,a,c)===!1)return}i=i.parent}if(r){Ct(),Hn(r,null,10,[e,a,c]),St();return}}da(e,n,o,s,l)}function da(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const Ue=[];let it=-1;const on=[];let Mt=null,Zt=0;const ul=Promise.resolve();let ss=null;function bo(e){const t=ss||ul;return e?t.then(this?e.bind(this):e):t}function pa(e){let t=it+1,n=Ue.length;for(;t<n;){const s=t+n>>>1,o=Ue[s],r=In(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function wo(e){if(!(e.flags&1)){const t=In(e),n=Ue[Ue.length-1];!n||!(e.flags&2)&&t>=In(n)?Ue.push(e):Ue.splice(pa(t),0,e),e.flags|=1,fl()}}function fl(){ss||(ss=ul.then(pl))}function ha(e){q(e)?on.push(...e):Mt&&e.id===-1?Mt.splice(Zt+1,0,e):e.flags&1||(on.push(e),e.flags|=1),fl()}function Do(e,t,n=it+1){for(;n<Ue.length;n++){const s=Ue[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Ue.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function dl(e){if(on.length){const t=[...new Set(on)].sort((n,s)=>In(n)-In(s));if(on.length=0,Mt){Mt.push(...t);return}for(Mt=t,Zt=0;Zt<Mt.length;Zt++){const n=Mt[Zt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Mt=null,Zt=0}}const In=e=>e.id==null?e.flags&2?-1:1/0:e.id;function pl(e){try{for(it=0;it<Ue.length;it++){const t=Ue[it];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;it<Ue.length;it++){const t=Ue[it];t&&(t.flags&=-2)}it=-1,Ue.length=0,dl(),ss=null,(Ue.length||on.length)&&pl()}}let Ge=null,hl=null;function os(e){const t=Ge;return Ge=e,hl=e&&e.type.__scopeId||null,t}function ft(e,t=Ge,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&is(-1);const r=os(t);let l;try{l=e(...o)}finally{os(r),s._d&&is(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Te(e,t){if(Ge===null)return e;const n=Ss(Ge),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,l,i,a=pe]=t[o];r&&(Z(r)&&(r={mounted:r,updated:r}),r.deep&&wt(l),s.push({dir:r,instance:n,value:l,oldValue:void 0,arg:i,modifiers:a}))}return e}function Ht(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let l=0;l<o.length;l++){const i=o[l];r&&(i.oldValue=r[l].value);let a=i.dir[s];a&&(Ct(),Ze(a,n,8,[e.el,i,e,t]),St())}}function Qn(e,t){if($e){let n=$e.provides;const s=$e.parent&&$e.parent.provides;s===n&&(n=$e.provides=Object.create(s)),n[e]=t}}function Je(e,t,n=!1){const s=zl();if(s||ln){let o=ln?ln._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&&Z(t)?t.call(s&&s.proxy):t}}const ga=Symbol.for("v-scx"),ma=()=>Je(ga);function rn(e,t,n){return gl(e,t,n)}function gl(e,t,n=pe){const{immediate:s,deep:o,flush:r,once:l}=n,i=Re({},n),a=t&&s||!t&&r!=="post";let c;if(Vn){if(r==="sync"){const m=ma();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=dt,m.resume=dt,m.pause=dt,m}}const f=$e;i.call=(m,_,y)=>Ze(m,f,_,y);let d=!1;r==="post"?i.scheduler=m=>{Ie(m,f&&f.suspense)}:r!=="sync"&&(d=!0,i.scheduler=(m,_)=>{_?m():wo(m)}),i.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=fa(e,t,i);return Vn&&(c?c.push(g):a&&g()),g}function va(e,t,n){const s=this.proxy,o=xe(e)?e.includes(".")?ml(s,e):()=>s[e]:e.bind(s,s);let r;Z(t)?r=t:(r=t.handler,n=t);const l=Fn(this),i=gl(o,r.bind(s),n);return l(),i}function ml(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 vl=Symbol("_vte"),ya=e=>e.__isTeleport,Sn=e=>e&&(e.disabled||e.disabled===""),_a=e=>e&&(e.defer||e.defer===""),Vo=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Uo=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,qs=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},yl={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,l,i,a,c){const{mc:f,pc:d,pbc:g,o:{insert:m,querySelector:_,createText:y,createComment:T}}=c,P=Sn(t.props);let{shapeFlag:R,children:A,dynamicChildren:b}=t;if(e==null){const I=t.el=y(""),J=t.anchor=y("");m(I,n,s),m(J,n,s);const j=(V,X)=>{R&16&&f(A,V,X,o,r,l,i,a)},re=()=>{const V=t.target=qs(t.props,_),X=Js(V,t,y,m);V&&(l!=="svg"&&Vo(V)?l="svg":l!=="mathml"&&Uo(V)&&(l="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(V),P||(j(V,X),Yn(t,!1)))};P&&(j(n,J),Yn(t,!0)),_a(t.props)||r&&r.pendingBranch?(t.el.__isMounted=!1,Ie(()=>{t.el.__isMounted===!1&&(re(),delete t.el.__isMounted)},r)):re()}else{t.el=e.el,t.targetStart=e.targetStart;const I=t.anchor=e.anchor,J=t.target=e.target,j=t.targetAnchor=e.targetAnchor;if(e.el.__isMounted===!1){Ie(()=>{yl.process(e,t,n,s,o,r,l,i,a,c)},r);return}const re=Sn(e.props),V=re?n:J,X=re?I:j;if(l==="svg"||Vo(J)?l="svg":(l==="mathml"||Uo(J))&&(l="mathml"),b?(g(e.dynamicChildren,b,V,o,r,l,i),So(e,t,!0)):a||d(e,t,V,X,o,r,l,i,!1),P)re?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):zn(t,n,I,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const te=t.target=qs(t.props,_);te&&zn(t,te,null,c,0)}else re&&zn(t,J,j,c,1);Yn(t,P)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:l,children:i,anchor:a,targetStart:c,targetAnchor:f,target:d,props:g}=e;if(d&&(o(c),o(f)),r&&o(a),l&16){const m=r||!Sn(g);for(let _=0;_<i.length;_++){const y=i[_];s(y,t,n,m,!!y.dynamicChildren)}}},move:zn,hydrate:ba};function zn(e,t,n,{o:{insert:s},m:o},r=2){r===0&&s(e.targetAnchor,t,n);const{el:l,anchor:i,shapeFlag:a,children:c,props:f}=e,d=r===2;if(d&&s(l,t,n),(!d||Sn(f))&&a&16)for(let g=0;g<c.length;g++)o(c[g],t,n,2);d&&s(i,t,n)}function ba(e,t,n,s,o,r,{o:{nextSibling:l,parentNode:i,querySelector:a,insert:c,createText:f}},d){function g(T,P){let R=P;for(;R;){if(R&&R.nodeType===8){if(R.data==="teleport start anchor")t.targetStart=R;else if(R.data==="teleport anchor"){t.targetAnchor=R,T._lpa=t.targetAnchor&&l(t.targetAnchor);break}}R=l(R)}}function m(T,P){P.anchor=d(l(T),P,i(T),n,s,o,r)}const _=t.target=qs(t.props,a),y=Sn(t.props);if(_){const T=_._lpa||_.firstChild;t.shapeFlag&16&&(y?(m(e,t),g(_,T),t.targetAnchor||Js(_,t,f,c,i(e)===_?e:null)):(t.anchor=l(e),g(_,T),t.targetAnchor||Js(_,t,f,c),d(T&&l(T),t,_,n,s,o,r))),Yn(t,y)}else y&&t.shapeFlag&16&&(m(e,t),t.targetStart=e,t.targetAnchor=l(e));return t.anchor&&l(t.anchor)}const wa=yl;function Yn(e,t){const n=e.ctx;if(n&&n.ut){let s,o;for(t?(s=e.el,o=e.anchor):(s=e.targetStart,o=e.targetAnchor);s&&s!==o;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function Js(e,t,n,s,o=null){const r=t.targetStart=n(""),l=t.targetAnchor=n("");return r[vl]=l,e&&(s(r,e,o),s(l,e,o)),l}const Nt=Symbol("_leaveCb"),vn=Symbol("_enterCb");function xa(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ut(()=>{e.isMounted=!0}),Tl(()=>{e.isUnmounting=!0}),e}const ze=[Function,Array],Ca={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:ze,onEnter:ze,onAfterEnter:ze,onEnterCancelled:ze,onBeforeLeave:ze,onLeave:ze,onAfterLeave:ze,onLeaveCancelled:ze,onBeforeAppear:ze,onAppear:ze,onAfterAppear:ze,onAppearCancelled:ze};function Sa(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Qs(e,t,n,s,o){const{appear:r,mode:l,persisted:i=!1,onBeforeEnter:a,onEnter:c,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:g,onLeave:m,onAfterLeave:_,onLeaveCancelled:y,onBeforeAppear:T,onAppear:P,onAfterAppear:R,onAppearCancelled:A}=t,b=String(e.key),I=Sa(n,e),J=(V,X)=>{V&&Ze(V,s,9,X)},j=(V,X)=>{const te=X[1];J(V,X),q(V)?V.every(L=>L.length<=1)&&te():V.length<=1&&te()},re={mode:l,persisted:i,beforeEnter(V){let X=a;if(!n.isMounted)if(r)X=T||a;else return;V[Nt]&&V[Nt](!0);const te=I[b];te&&en(e,te)&&te.el[Nt]&&te.el[Nt](),J(X,[V])},enter(V){if(I[b]===e)return;let X=c,te=f,L=d;if(!n.isMounted)if(r)X=P||c,te=R||f,L=A||d;else return;let se=!1;V[vn]=G=>{se||(se=!0,G?J(L,[V]):J(te,[V]),re.delayedLeave&&re.delayedLeave(),V[vn]=void 0)};const Ce=V[vn].bind(null,!1);X?j(X,[V,Ce]):Ce()},leave(V,X){const te=String(e.key);if(V[vn]&&V[vn](!0),n.isUnmounting)return X();J(g,[V]);let L=!1;V[Nt]=Ce=>{L||(L=!0,X(),Ce?J(y,[V]):J(_,[V]),V[Nt]=void 0,I[te]===e&&delete I[te])};const se=V[Nt].bind(null,!1);I[te]=e,m?j(m,[V,se]):se()},clone(V){return Qs(V,t,n,s)}};return re}function Mn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mn(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 _l(e,t=!1,n){let s=[],o=0;for(let r=0;r<e.length;r++){let l=e[r];const i=n==null?l.key:String(n)+String(l.key!=null?l.key:r);l.type===Ae?(l.patchFlag&128&&o++,s=s.concat(_l(l.children,t,i))):(t||l.type!==At)&&s.push(i!=null?qt(l,{key:i}):l)}if(o>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function bl(e,t){return Z(e)?Re({name:e.name},t,{setup:e}):e}function wl(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Bo(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const rs=new WeakMap;function En(e,t,n,s,o=!1){if(q(e)){e.forEach((y,T)=>En(y,t&&(q(t)?t[T]:t),n,s,o));return}if(An(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&En(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Ss(s.component):s.el,l=o?null:r,{i,r:a}=e,c=t&&t.r,f=i.refs===pe?i.refs={}:i.refs,d=i.setupState,g=ie(d),m=d===pe?Ur:y=>Bo(f,y)?!1:ce(g,y),_=(y,T)=>!(T&&Bo(f,T));if(c!=null&&c!==a){if(Ho(t),xe(c))f[c]=null,m(c)&&(d[c]=null);else if(Le(c)){const y=t;_(c,y.k)&&(c.value=null),y.k&&(f[y.k]=null)}}if(Z(a))Hn(a,i,12,[l,f]);else{const y=xe(a),T=Le(a);if(y||T){const P=()=>{if(e.f){const R=y?m(a)?d[a]:f[a]:_()||!e.k?a.value:f[e.k];if(o)q(R)&&co(R,r);else if(q(R))R.includes(r)||R.push(r);else if(y)f[a]=[r],m(a)&&(d[a]=f[a]);else{const A=[r];_(a,e.k)&&(a.value=A),e.k&&(f[e.k]=A)}}else y?(f[a]=l,m(a)&&(d[a]=l)):T&&(_(a,e.k)&&(a.value=l),e.k&&(f[e.k]=l))};if(l){const R=()=>{P(),rs.delete(e)};R.id=-1,rs.set(e,R),Ie(R,n)}else Ho(e),P()}}}function Ho(e){const t=rs.get(e);t&&(t.flags|=8,rs.delete(e))}ms().requestIdleCallback;ms().cancelIdleCallback;const An=e=>!!e.type.__asyncLoader,xl=e=>e.type.__isKeepAlive;function Cl(e,t){El(e,"a",t)}function Sl(e,t){El(e,"da",t)}function El(e,t,n=$e){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(bs(t,s,n),n){let o=n.parent;for(;o&&o.parent;)xl(o.parent.vnode)&&Ea(s,t,n,o),o=o.parent}}function Ea(e,t,n,s){const o=bs(t,e,s,!0);ws(()=>{co(s[t],o)},n)}function bs(e,t,n=$e,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...l)=>{Ct();const i=Fn(n),a=Ze(t,n,e,l);return i(),St(),a});return s?o.unshift(r):o.push(r),r}}const Tt=e=>(t,n=$e)=>{(!Vn||e==="sp")&&bs(e,(...s)=>t(...s),n)},Aa=Tt("bm"),Ut=Tt("m"),Ta=Tt("bu"),Al=Tt("u"),Tl=Tt("bum"),ws=Tt("um"),Ra=Tt("sp"),Pa=Tt("rtg"),Oa=Tt("rtc");function ka(e,t=$e){bs("ec",e,t)}const Na="components";function $n(e,t){return Ma(Na,e,!0,t)||e}const Ia=Symbol.for("v-ndc");function Ma(e,t,n=!0,s=!1){const o=Ge||$e;if(o){const r=o.type;{const i=_c(r,!1);if(i&&(i===t||i===Be(t)||i===hs(Be(t))))return r}const l=Fo(o[e]||r[e],t)||Fo(o.appContext[e],t);return!l&&s?r:l}}function Fo(e,t){return e&&(e[t]||e[Be(t)]||e[hs(Be(t))])}function Ln(e,t,n,s){let o;const r=n,l=q(e);if(l||xe(e)){const i=l&&zt(e);let a=!1,c=!1;i&&(a=!qe(e),c=Et(e),e=ys(e)),o=new Array(e.length);for(let f=0,d=e.length;f<d;f++)o[f]=t(a?c?an(Xe(e[f])):Xe(e[f]):e[f],f,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let i=0;i<e;i++)o[i]=t(i+1,i,void 0,r)}else if(ue(e))if(e[Symbol.iterator])o=Array.from(e,(i,a)=>t(i,a,void 0,r));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,c=i.length;a<c;a++){const f=i[a];o[a]=t(e[f],f,a,r)}}else o=[];return o}const Ys=e=>e?ql(e)?Ss(e):Ys(e.parent):null,Tn=Re(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=>Ys(e.parent),$root:e=>Ys(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Pl(e),$forceUpdate:e=>e.f||(e.f=()=>{wo(e.update)}),$nextTick:e=>e.n||(e.n=bo.bind(e.proxy)),$watch:e=>va.bind(e)}),Is=(e,t)=>e!==pe&&!e.__isScriptSetup&&ce(e,t),$a={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:l,type:i,appContext:a}=e;if(t[0]!=="$"){const g=l[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(Is(s,t))return l[t]=1,s[t];if(o!==pe&&ce(o,t))return l[t]=2,o[t];if(ce(r,t))return l[t]=3,r[t];if(n!==pe&&ce(n,t))return l[t]=4,n[t];Xs&&(l[t]=0)}}const c=Tn[t];let f,d;if(c)return t==="$attrs"&&Me(e.attrs,"get",""),c(e);if((f=i.__cssModules)&&(f=f[t]))return f;if(n!==pe&&ce(n,t))return l[t]=4,n[t];if(d=a.config.globalProperties,ce(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return Is(o,t)?(o[t]=n,!0):s!==pe&&ce(s,t)?(s[t]=n,!0):ce(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:l}},i){let a;return!!(n[i]||e!==pe&&i[0]!=="$"&&ce(e,i)||Is(t,i)||ce(r,i)||ce(s,i)||ce(Tn,i)||ce(o.config.globalProperties,i)||(a=l.__cssModules)&&a[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function jo(e){return q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Xs=!0;function La(e){const t=Pl(e),n=e.proxy,s=e.ctx;Xs=!1,t.beforeCreate&&Go(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:l,watch:i,provide:a,inject:c,created:f,beforeMount:d,mounted:g,beforeUpdate:m,updated:_,activated:y,deactivated:T,beforeDestroy:P,beforeUnmount:R,destroyed:A,unmounted:b,render:I,renderTracked:J,renderTriggered:j,errorCaptured:re,serverPrefetch:V,expose:X,inheritAttrs:te,components:L,directives:se,filters:Ce}=t;if(c&&Da(c,s,null),l)for(const U in l){const ne=l[U];Z(ne)&&(s[U]=ne.bind(n))}if(o){const U=o.call(n,n);ue(U)&&(e.data=hn(U))}if(Xs=!0,r)for(const U in r){const ne=r[U],gt=Z(ne)?ne.bind(n,n):Z(ne.get)?ne.get.bind(n,n):dt,Pt=!Z(ne)&&Z(ne.set)?ne.set.bind(n):dt,tt=Se({get:gt,set:Pt});Object.defineProperty(s,U,{enumerable:!0,configurable:!0,get:()=>tt.value,set:He=>tt.value=He})}if(i)for(const U in i)Rl(i[U],s,n,U);if(a){const U=Z(a)?a.call(n):a;Reflect.ownKeys(U).forEach(ne=>{Qn(ne,U[ne])})}f&&Go(f,e,"c");function k(U,ne){q(ne)?ne.forEach(gt=>U(gt.bind(n))):ne&&U(ne.bind(n))}if(k(Aa,d),k(Ut,g),k(Ta,m),k(Al,_),k(Cl,y),k(Sl,T),k(ka,re),k(Oa,J),k(Pa,j),k(Tl,R),k(ws,b),k(Ra,V),q(X))if(X.length){const U=e.exposed||(e.exposed={});X.forEach(ne=>{Object.defineProperty(U,ne,{get:()=>n[ne],set:gt=>n[ne]=gt,enumerable:!0})})}else e.exposed||(e.exposed={});I&&e.render===dt&&(e.render=I),te!=null&&(e.inheritAttrs=te),L&&(e.components=L),se&&(e.directives=se),V&&wl(e)}function Da(e,t,n=dt){q(e)&&(e=Zs(e));for(const s in e){const o=e[s];let r;ue(o)?"default"in o?r=Je(o.from||s,o.default,!0):r=Je(o.from||s):r=Je(o),Le(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:l=>r.value=l}):t[s]=r}}function Go(e,t,n){Ze(q(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Rl(e,t,n,s){let o=s.includes(".")?ml(n,s):()=>n[s];if(xe(e)){const r=t[e];Z(r)&&rn(o,r)}else if(Z(e))rn(o,e.bind(n));else if(ue(e))if(q(e))e.forEach(r=>Rl(r,t,n,s));else{const r=Z(e.handler)?e.handler.bind(n):t[e.handler];Z(r)&&rn(o,r,e)}}function Pl(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:l}}=e.appContext,i=r.get(t);let a;return i?a=i:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(c=>ls(a,c,l,!0)),ls(a,t,l)),ue(t)&&r.set(t,a),a}function ls(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&ls(e,r,n,!0),o&&o.forEach(l=>ls(e,l,n,!0));for(const l in t)if(!(s&&l==="expose")){const i=Va[l]||n&&n[l];e[l]=i?i(e[l],t[l]):t[l]}return e}const Va={data:Ko,props:Wo,emits:Wo,methods:bn,computed:bn,beforeCreate:De,created:De,beforeMount:De,mounted:De,beforeUpdate:De,updated:De,beforeDestroy:De,beforeUnmount:De,destroyed:De,unmounted:De,activated:De,deactivated:De,errorCaptured:De,serverPrefetch:De,components:bn,directives:bn,watch:Ba,provide:Ko,inject:Ua};function Ko(e,t){return t?e?function(){return Re(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function Ua(e,t){return bn(Zs(e),Zs(t))}function Zs(e){if(q(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function De(e,t){return e?[...new Set([].concat(e,t))]:t}function bn(e,t){return e?Re(Object.create(null),e,t):t}function Wo(e,t){return e?q(e)&&q(t)?[...new Set([...e,...t])]:Re(Object.create(null),jo(e),jo(t??{})):t}function Ba(e,t){if(!e)return t;if(!t)return e;const n=Re(Object.create(null),e);for(const s in t)n[s]=De(e[s],t[s]);return n}function Ol(){return{app:null,config:{isNativeTag:Ur,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 Ha=0;function Fa(e,t){return function(s,o=null){Z(s)||(s=Re({},s)),o!=null&&!ue(o)&&(o=null);const r=Ol(),l=new WeakSet,i=[];let a=!1;const c=r.app={_uid:Ha++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:wc,get config(){return r.config},set config(f){},use(f,...d){return l.has(f)||(f&&Z(f.install)?(l.add(f),f.install(c,...d)):Z(f)&&(l.add(f),f(c,...d))),c},mixin(f){return r.mixins.includes(f)||r.mixins.push(f),c},component(f,d){return d?(r.components[f]=d,c):r.components[f]},directive(f,d){return d?(r.directives[f]=d,c):r.directives[f]},mount(f,d,g){if(!a){const m=c._ceVNode||ve(s,o);return m.appContext=r,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),a=!0,c._container=f,f.__vue_app__=c,Ss(m.component)}},onUnmount(f){i.push(f)},unmount(){a&&(Ze(i,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(f,d){return r.provides[f]=d,c},runWithContext(f){const d=ln;ln=c;try{return f()}finally{ln=d}}};return c}}let ln=null;const ja=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Be(t)}Modifiers`]||e[`${Jt(t)}Modifiers`];function Ga(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||pe;let o=n;const r=t.startsWith("update:"),l=r&&ja(s,t.slice(7));l&&(l.trim&&(o=n.map(f=>xe(f)?f.trim():f)),l.number&&(o=n.map(gs)));let i,a=s[i=Rs(t)]||s[i=Rs(Be(t))];!a&&r&&(a=s[i=Rs(Jt(t))]),a&&Ze(a,e,6,o);const c=s[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ze(c,e,6,o)}}const Ka=new WeakMap;function kl(e,t,n=!1){const s=n?Ka:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let l={},i=!1;if(!Z(e)){const a=c=>{const f=kl(c,t,!0);f&&(i=!0,Re(l,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!i?(ue(e)&&s.set(e,null),null):(q(r)?r.forEach(a=>l[a]=null):Re(l,r),ue(e)&&s.set(e,l),l)}function xs(e,t){return!e||!fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Jt(t))||ce(e,t))}function zo(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:l,attrs:i,emit:a,render:c,renderCache:f,props:d,data:g,setupState:m,ctx:_,inheritAttrs:y}=e,T=os(e);let P,R;try{if(n.shapeFlag&4){const b=o||s,I=b;P=ct(c.call(I,b,f,d,m,g,_)),R=i}else{const b=t;P=ct(b.length>1?b(d,{attrs:i,slots:l,emit:a}):b(d,null)),R=t.props?i:Wa(i)}}catch(b){Rn.length=0,_s(b,e,1),P=ve(At)}let A=P;if(R&&y!==!1){const b=Object.keys(R),{shapeFlag:I}=A;b.length&&I&7&&(r&&b.some(ds)&&(R=za(R,r)),A=qt(A,R,!1,!0))}return n.dirs&&(A=qt(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&Mn(A,n.transition),P=A,os(T),P}const Wa=e=>{let t;for(const n in e)(n==="class"||n==="style"||fs(n))&&((t||(t={}))[n]=e[n]);return t},za=(e,t)=>{const n={};for(const s in e)(!ds(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function qa(e,t,n){const{props:s,children:o,component:r}=e,{props:l,children:i,patchFlag:a}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?qo(s,l,c):!!l;if(a&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const g=f[d];if(Nl(l,s,g)&&!xs(c,g))return!0}}}else return(o||i)&&(!i||!i.$stable)?!0:s===l?!1:s?l?qo(s,l,c):!0:!!l;return!1}function qo(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(Nl(t,e,r)&&!xs(n,r))return!0}return!1}function Nl(e,t,n){const s=e[n],o=t[n];return n==="style"&&ue(s)&&ue(o)?!Dt(s,o):s!==o}function Ja({vnode:e,parent:t,suspense:n},s){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=s,e=o),o===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Il={},Ml=()=>Object.create(Il),$l=e=>Object.getPrototypeOf(e)===Il;function Qa(e,t,n,s=!1){const o={},r=Ml();e.propsDefaults=Object.create(null),Ll(e,t,o,r);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=s?o:il(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Ya(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:l}}=e,i=ie(o),[a]=e.propsOptions;let c=!1;if((s||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let g=f[d];if(xs(e.emitsOptions,g))continue;const m=t[g];if(a)if(ce(r,g))m!==r[g]&&(r[g]=m,c=!0);else{const _=Be(g);o[_]=eo(a,i,_,m,e,!1)}else m!==r[g]&&(r[g]=m,c=!0)}}}else{Ll(e,t,o,r)&&(c=!0);let f;for(const d in i)(!t||!ce(t,d)&&((f=Jt(d))===d||!ce(t,f)))&&(a?n&&(n[d]!==void 0||n[f]!==void 0)&&(o[d]=eo(a,i,d,void 0,e,!0)):delete o[d]);if(r!==i)for(const d in r)(!t||!ce(t,d))&&(delete r[d],c=!0)}c&&bt(e.attrs,"set","")}function Ll(e,t,n,s){const[o,r]=e.propsOptions;let l=!1,i;if(t)for(let a in t){if(wn(a))continue;const c=t[a];let f;o&&ce(o,f=Be(a))?!r||!r.includes(f)?n[f]=c:(i||(i={}))[f]=c:xs(e.emitsOptions,a)||(!(a in s)||c!==s[a])&&(s[a]=c,l=!0)}if(r){const a=ie(n),c=i||pe;for(let f=0;f<r.length;f++){const d=r[f];n[d]=eo(o,a,d,c[d],e,!ce(c,d))}}return l}function eo(e,t,n,s,o,r){const l=e[n];if(l!=null){const i=ce(l,"default");if(i&&s===void 0){const a=l.default;if(l.type!==Function&&!l.skipFactory&&Z(a)){const{propsDefaults:c}=o;if(n in c)s=c[n];else{const f=Fn(o);s=c[n]=a.call(null,t),f()}}else s=a;o.ce&&o.ce._setProp(n,s)}l[0]&&(r&&!i?s=!1:l[1]&&(s===""||s===Jt(n))&&(s=!0))}return s}const Xa=new WeakMap;function Dl(e,t,n=!1){const s=n?Xa:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,l={},i=[];let a=!1;if(!Z(e)){const f=d=>{a=!0;const[g,m]=Dl(d,t,!0);Re(l,g),m&&i.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!r&&!a)return ue(e)&&s.set(e,nn),nn;if(q(r))for(let f=0;f<r.length;f++){const d=Be(r[f]);Jo(d)&&(l[d]=pe)}else if(r)for(const f in r){const d=Be(f);if(Jo(d)){const g=r[f],m=l[d]=q(g)||Z(g)?{type:g}:Re({},g),_=m.type;let y=!1,T=!0;if(q(_))for(let P=0;P<_.length;++P){const R=_[P],A=Z(R)&&R.name;if(A==="Boolean"){y=!0;break}else A==="String"&&(T=!1)}else y=Z(_)&&_.name==="Boolean";m[0]=y,m[1]=T,(y||ce(m,"default"))&&i.push(d)}}const c=[l,i];return ue(e)&&s.set(e,c),c}function Jo(e){return e[0]!=="$"&&!wn(e)}const xo=e=>e==="_"||e==="_ctx"||e==="$stable",Co=e=>q(e)?e.map(ct):[ct(e)],Za=(e,t,n)=>{if(t._n)return t;const s=ft((...o)=>Co(t(...o)),n);return s._c=!1,s},Vl=(e,t,n)=>{const s=e._ctx;for(const o in e){if(xo(o))continue;const r=e[o];if(Z(r))t[o]=Za(o,r,s);else if(r!=null){const l=Co(r);t[o]=()=>l}}},Ul=(e,t)=>{const n=Co(t);e.slots.default=()=>n},Bl=(e,t,n)=>{for(const s in t)(n||!xo(s))&&(e[s]=t[s])},ec=(e,t,n)=>{const s=e.slots=Ml();if(e.vnode.shapeFlag&32){const o=t._;o?(Bl(s,t,n),n&&jr(s,"_",o,!0)):Vl(t,s)}else t&&Ul(e,t)},tc=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,l=pe;if(s.shapeFlag&32){const i=t._;i?n&&i===1?r=!1:Bl(o,t,n):(r=!t.$stable,Vl(t,o)),l=t}else t&&(Ul(e,t),l={default:1});if(r)for(const i in o)!xo(i)&&l[i]==null&&delete o[i]},Ie=lc;function nc(e){return sc(e)}function sc(e,t){const n=ms();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:l,createText:i,createComment:a,setText:c,setElementText:f,parentNode:d,nextSibling:g,setScopeId:m=dt,insertStaticContent:_}=e,y=(p,h,v,w=null,S=null,x=null,M=void 0,N=null,O=!!h.dynamicChildren)=>{if(p===h)return;p&&!en(p,h)&&(w=C(p),He(p,S,x,!0),p=null),h.patchFlag===-2&&(O=!1,h.dynamicChildren=null);const{type:E,ref:Q,shapeFlag:D}=h;switch(E){case Cs:T(p,h,v,w);break;case At:P(p,h,v,w);break;case Xn:p==null&&R(h,v,w,M);break;case Ae:L(p,h,v,w,S,x,M,N,O);break;default:D&1?I(p,h,v,w,S,x,M,N,O):D&6?se(p,h,v,w,S,x,M,N,O):(D&64||D&128)&&E.process(p,h,v,w,S,x,M,N,O,K)}Q!=null&&S?En(Q,p&&p.ref,x,h||p,!h):Q==null&&p&&p.ref!=null&&En(p.ref,null,x,p,!0)},T=(p,h,v,w)=>{if(p==null)s(h.el=i(h.children),v,w);else{const S=h.el=p.el;h.children!==p.children&&c(S,h.children)}},P=(p,h,v,w)=>{p==null?s(h.el=a(h.children||""),v,w):h.el=p.el},R=(p,h,v,w)=>{[p.el,p.anchor]=_(p.children,h,v,w,p.el,p.anchor)},A=({el:p,anchor:h},v,w)=>{let S;for(;p&&p!==h;)S=g(p),s(p,v,w),p=S;s(h,v,w)},b=({el:p,anchor:h})=>{let v;for(;p&&p!==h;)v=g(p),o(p),p=v;o(h)},I=(p,h,v,w,S,x,M,N,O)=>{if(h.type==="svg"?M="svg":h.type==="math"&&(M="mathml"),p==null)J(h,v,w,S,x,M,N,O);else{const E=p.el&&p.el._isVueCE?p.el:null;try{E&&E._beginPatch(),V(p,h,S,x,M,N,O)}finally{E&&E._endPatch()}}},J=(p,h,v,w,S,x,M,N)=>{let O,E;const{props:Q,shapeFlag:D,transition:W,dirs:Y}=p;if(O=p.el=l(p.type,x,Q&&Q.is,Q),D&8?f(O,p.children):D&16&&re(p.children,O,null,w,S,Ms(p,x),M,N),Y&&Ht(p,null,w,"created"),j(O,p,p.scopeId,M,w),Q){for(const de in Q)de!=="value"&&!wn(de)&&r(O,de,null,Q[de],x,w);"value"in Q&&r(O,"value",null,Q.value,x),(E=Q.onVnodeBeforeMount)&&rt(E,w,p)}Y&&Ht(p,null,w,"beforeMount");const le=oc(S,W);le&&W.beforeEnter(O),s(O,h,v),((E=Q&&Q.onVnodeMounted)||le||Y)&&Ie(()=>{try{E&&rt(E,w,p),le&&W.enter(O),Y&&Ht(p,null,w,"mounted")}finally{}},S)},j=(p,h,v,w,S)=>{if(v&&m(p,v),w)for(let x=0;x<w.length;x++)m(p,w[x]);if(S){let x=S.subTree;if(h===x||jl(x.type)&&(x.ssContent===h||x.ssFallback===h)){const M=S.vnode;j(p,M,M.scopeId,M.slotScopeIds,S.parent)}}},re=(p,h,v,w,S,x,M,N,O=0)=>{for(let E=O;E<p.length;E++){const Q=p[E]=N?_t(p[E]):ct(p[E]);y(null,Q,h,v,w,S,x,M,N)}},V=(p,h,v,w,S,x,M)=>{const N=h.el=p.el;let{patchFlag:O,dynamicChildren:E,dirs:Q}=h;O|=p.patchFlag&16;const D=p.props||pe,W=h.props||pe;let Y;if(v&&Ft(v,!1),(Y=W.onVnodeBeforeUpdate)&&rt(Y,v,h,p),Q&&Ht(h,p,v,"beforeUpdate"),v&&Ft(v,!0),(D.innerHTML&&W.innerHTML==null||D.textContent&&W.textContent==null)&&f(N,""),E?X(p.dynamicChildren,E,N,v,w,Ms(h,S),x):M||ne(p,h,N,null,v,w,Ms(h,S),x,!1),O>0){if(O&16)te(N,D,W,v,S);else if(O&2&&D.class!==W.class&&r(N,"class",null,W.class,S),O&4&&r(N,"style",D.style,W.style,S),O&8){const le=h.dynamicProps;for(let de=0;de<le.length;de++){const ge=le[de],Ee=D[ge],ke=W[ge];(ke!==Ee||ge==="value")&&r(N,ge,Ee,ke,S,v)}}O&1&&p.children!==h.children&&f(N,h.children)}else!M&&E==null&&te(N,D,W,v,S);((Y=W.onVnodeUpdated)||Q)&&Ie(()=>{Y&&rt(Y,v,h,p),Q&&Ht(h,p,v,"updated")},w)},X=(p,h,v,w,S,x,M)=>{for(let N=0;N<h.length;N++){const O=p[N],E=h[N],Q=O.el&&(O.type===Ae||!en(O,E)||O.shapeFlag&198)?d(O.el):v;y(O,E,Q,null,w,S,x,M,!0)}},te=(p,h,v,w,S)=>{if(h!==v){if(h!==pe)for(const x in h)!wn(x)&&!(x in v)&&r(p,x,h[x],null,S,w);for(const x in v){if(wn(x))continue;const M=v[x],N=h[x];M!==N&&x!=="value"&&r(p,x,N,M,S,w)}"value"in v&&r(p,"value",h.value,v.value,S)}},L=(p,h,v,w,S,x,M,N,O)=>{const E=h.el=p?p.el:i(""),Q=h.anchor=p?p.anchor:i("");let{patchFlag:D,dynamicChildren:W,slotScopeIds:Y}=h;Y&&(N=N?N.concat(Y):Y),p==null?(s(E,v,w),s(Q,v,w),re(h.children||[],v,Q,S,x,M,N,O)):D>0&&D&64&&W&&p.dynamicChildren&&p.dynamicChildren.length===W.length?(X(p.dynamicChildren,W,v,S,x,M,N),(h.key!=null||S&&h===S.subTree)&&So(p,h,!0)):ne(p,h,v,Q,S,x,M,N,O)},se=(p,h,v,w,S,x,M,N,O)=>{h.slotScopeIds=N,p==null?h.shapeFlag&512?S.ctx.activate(h,v,w,M,O):Ce(h,v,w,S,x,M,O):G(p,h,O)},Ce=(p,h,v,w,S,x,M)=>{const N=p.component=hc(p,w,S);if(xl(p)&&(N.ctx.renderer=K),gc(N,!1,M),N.asyncDep){if(S&&S.registerDep(N,k,M),!p.el){const O=N.subTree=ve(At);P(null,O,h,v),p.placeholder=O.el}}else k(N,p,h,v,S,x,M)},G=(p,h,v)=>{const w=h.component=p.component;if(qa(p,h,v))if(w.asyncDep&&!w.asyncResolved){U(w,h,v);return}else w.next=h,w.update();else h.el=p.el,w.vnode=h},k=(p,h,v,w,S,x,M)=>{const N=()=>{if(p.isMounted){let{next:D,bu:W,u:Y,parent:le,vnode:de}=p;{const st=Hl(p);if(st){D&&(D.el=de.el,U(p,D,M)),st.asyncDep.then(()=>{Ie(()=>{p.isUnmounted||E()},S)});return}}let ge=D,Ee;Ft(p,!1),D?(D.el=de.el,U(p,D,M)):D=de,W&&Jn(W),(Ee=D.props&&D.props.onVnodeBeforeUpdate)&&rt(Ee,le,D,de),Ft(p,!0);const ke=zo(p),nt=p.subTree;p.subTree=ke,y(nt,ke,d(nt.el),C(nt),p,S,x),D.el=ke.el,ge===null&&Ja(p,ke.el),Y&&Ie(Y,S),(Ee=D.props&&D.props.onVnodeUpdated)&&Ie(()=>rt(Ee,le,D,de),S)}else{let D;const{el:W,props:Y}=h,{bm:le,m:de,parent:ge,root:Ee,type:ke}=p,nt=An(h);Ft(p,!1),le&&Jn(le),!nt&&(D=Y&&Y.onVnodeBeforeMount)&&rt(D,ge,h),Ft(p,!0);{Ee.ce&&Ee.ce._hasShadowRoot()&&Ee.ce._injectChildStyle(ke,p.parent?p.parent.type:void 0);const st=p.subTree=zo(p);y(null,st,v,w,p,S,x),h.el=st.el}if(de&&Ie(de,S),!nt&&(D=Y&&Y.onVnodeMounted)){const st=h;Ie(()=>rt(D,ge,st),S)}(h.shapeFlag&256||ge&&An(ge.vnode)&&ge.vnode.shapeFlag&256)&&p.a&&Ie(p.a,S),p.isMounted=!0,h=v=w=null}};p.scope.on();const O=p.effect=new zr(N);p.scope.off();const E=p.update=O.run.bind(O),Q=p.job=O.runIfDirty.bind(O);Q.i=p,Q.id=p.uid,O.scheduler=()=>wo(Q),Ft(p,!0),E()},U=(p,h,v)=>{h.component=p;const w=p.vnode.props;p.vnode=h,p.next=null,Ya(p,h.props,w,v),tc(p,h.children,v),Ct(),Do(p),St()},ne=(p,h,v,w,S,x,M,N,O=!1)=>{const E=p&&p.children,Q=p?p.shapeFlag:0,D=h.children,{patchFlag:W,shapeFlag:Y}=h;if(W>0){if(W&128){Pt(E,D,v,w,S,x,M,N,O);return}else if(W&256){gt(E,D,v,w,S,x,M,N,O);return}}Y&8?(Q&16&&We(E,S,x),D!==E&&f(v,D)):Q&16?Y&16?Pt(E,D,v,w,S,x,M,N,O):We(E,S,x,!0):(Q&8&&f(v,""),Y&16&&re(D,v,w,S,x,M,N,O))},gt=(p,h,v,w,S,x,M,N,O)=>{p=p||nn,h=h||nn;const E=p.length,Q=h.length,D=Math.min(E,Q);let W;for(W=0;W<D;W++){const Y=h[W]=O?_t(h[W]):ct(h[W]);y(p[W],Y,v,null,S,x,M,N,O)}E>Q?We(p,S,x,!0,!1,D):re(h,v,w,S,x,M,N,O,D)},Pt=(p,h,v,w,S,x,M,N,O)=>{let E=0;const Q=h.length;let D=p.length-1,W=Q-1;for(;E<=D&&E<=W;){const Y=p[E],le=h[E]=O?_t(h[E]):ct(h[E]);if(en(Y,le))y(Y,le,v,null,S,x,M,N,O);else break;E++}for(;E<=D&&E<=W;){const Y=p[D],le=h[W]=O?_t(h[W]):ct(h[W]);if(en(Y,le))y(Y,le,v,null,S,x,M,N,O);else break;D--,W--}if(E>D){if(E<=W){const Y=W+1,le=Y<Q?h[Y].el:w;for(;E<=W;)y(null,h[E]=O?_t(h[E]):ct(h[E]),v,le,S,x,M,N,O),E++}}else if(E>W)for(;E<=D;)He(p[E],S,x,!0),E++;else{const Y=E,le=E,de=new Map;for(E=le;E<=W;E++){const je=h[E]=O?_t(h[E]):ct(h[E]);je.key!=null&&de.set(je.key,E)}let ge,Ee=0;const ke=W-le+1;let nt=!1,st=0;const gn=new Array(ke);for(E=0;E<ke;E++)gn[E]=0;for(E=Y;E<=D;E++){const je=p[E];if(Ee>=ke){He(je,S,x,!0);continue}let ot;if(je.key!=null)ot=de.get(je.key);else for(ge=le;ge<=W;ge++)if(gn[ge-le]===0&&en(je,h[ge])){ot=ge;break}ot===void 0?He(je,S,x,!0):(gn[ot-le]=E+1,ot>=st?st=ot:nt=!0,y(je,h[ot],v,null,S,x,M,N,O),Ee++)}const Oo=nt?rc(gn):nn;for(ge=Oo.length-1,E=ke-1;E>=0;E--){const je=le+E,ot=h[je],ko=h[je+1],No=je+1<Q?ko.el||Fl(ko):w;gn[E]===0?y(null,ot,v,No,S,x,M,N,O):nt&&(ge<0||E!==Oo[ge]?tt(ot,v,No,2):ge--)}}},tt=(p,h,v,w,S=null)=>{const{el:x,type:M,transition:N,children:O,shapeFlag:E}=p;if(E&6){tt(p.component.subTree,h,v,w);return}if(E&128){p.suspense.move(h,v,w);return}if(E&64){M.move(p,h,v,K);return}if(M===Ae){s(x,h,v);for(let D=0;D<O.length;D++)tt(O[D],h,v,w);s(p.anchor,h,v);return}if(M===Xn){A(p,h,v);return}if(w!==2&&E&1&&N)if(w===0)N.beforeEnter(x),s(x,h,v),Ie(()=>N.enter(x),S);else{const{leave:D,delayLeave:W,afterLeave:Y}=N,le=()=>{p.ctx.isUnmounted?o(x):s(x,h,v)},de=()=>{x._isLeaving&&x[Nt](!0),D(x,()=>{le(),Y&&Y()})};W?W(x,le,de):de()}else s(x,h,v)},He=(p,h,v,w=!1,S=!1)=>{const{type:x,props:M,ref:N,children:O,dynamicChildren:E,shapeFlag:Q,patchFlag:D,dirs:W,cacheIndex:Y,memo:le}=p;if(D===-2&&(S=!1),N!=null&&(Ct(),En(N,null,v,p,!0),St()),Y!=null&&(h.renderCache[Y]=void 0),Q&256){h.ctx.deactivate(p);return}const de=Q&1&&W,ge=!An(p);let Ee;if(ge&&(Ee=M&&M.onVnodeBeforeUnmount)&&rt(Ee,h,p),Q&6)Bt(p.component,v,w);else{if(Q&128){p.suspense.unmount(v,w);return}de&&Ht(p,null,h,"beforeUnmount"),Q&64?p.type.remove(p,h,v,K,w):E&&!E.hasOnce&&(x!==Ae||D>0&&D&64)?We(E,h,v,!1,!0):(x===Ae&&D&384||!S&&Q&16)&&We(O,h,v),w&&Qt(p)}const ke=le!=null&&Y==null;(ge&&(Ee=M&&M.onVnodeUnmounted)||de||ke)&&Ie(()=>{Ee&&rt(Ee,h,p),de&&Ht(p,null,h,"unmounted"),ke&&(p.el=null)},v)},Qt=p=>{const{type:h,el:v,anchor:w,transition:S}=p;if(h===Ae){Yt(v,w);return}if(h===Xn){b(p);return}const x=()=>{o(v),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(p.shapeFlag&1&&S&&!S.persisted){const{leave:M,delayLeave:N}=S,O=()=>M(v,x);N?N(p.el,x,O):O()}else x()},Yt=(p,h)=>{let v;for(;p!==h;)v=g(p),o(p),p=v;o(h)},Bt=(p,h,v)=>{const{bum:w,scope:S,job:x,subTree:M,um:N,m:O,a:E}=p;Qo(O),Qo(E),w&&Jn(w),S.stop(),x&&(x.flags|=8,He(M,p,h,v)),N&&Ie(N,h),Ie(()=>{p.isUnmounted=!0},h)},We=(p,h,v,w=!1,S=!1,x=0)=>{for(let M=x;M<p.length;M++)He(p[M],h,v,w,S)},C=p=>{if(p.shapeFlag&6)return C(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const h=g(p.anchor||p.el),v=h&&h[vl];return v?g(v):h};let B=!1;const $=(p,h,v)=>{let w;p==null?h._vnode&&(He(h._vnode,null,null,!0),w=h._vnode.component):y(h._vnode||null,p,h,null,null,null,v),h._vnode=p,B||(B=!0,Do(w),dl(),B=!1)},K={p:y,um:He,m:tt,r:Qt,mt:Ce,mc:re,pc:ne,pbc:X,n:C,o:e};return{render:$,hydrate:void 0,createApp:Fa($)}}function Ms({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 Ft({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function oc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function So(e,t,n=!1){const s=e.children,o=t.children;if(q(s)&&q(o))for(let r=0;r<s.length;r++){const l=s[r];let i=o[r];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=o[r]=_t(o[r]),i.el=l.el),!n&&i.patchFlag!==-2&&So(l,i)),i.type===Cs&&(i.patchFlag===-1&&(i=o[r]=_t(i)),i.el=l.el),i.type===At&&!i.el&&(i.el=l.el)}}function rc(e){const t=e.slice(),n=[0];let s,o,r,l,i;const a=e.length;for(s=0;s<a;s++){const c=e[s];if(c!==0){if(o=n[n.length-1],e[o]<c){t[s]=o,n.push(s);continue}for(r=0,l=n.length-1;r<l;)i=r+l>>1,e[n[i]]<c?r=i+1:l=i;c<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,l=n[r-1];r-- >0;)n[r]=l,l=t[l];return n}function Hl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Hl(t)}function Qo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Fl(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Fl(t.subTree):null}const jl=e=>e.__isSuspense;function lc(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):ha(e)}const Ae=Symbol.for("v-fgt"),Cs=Symbol.for("v-txt"),At=Symbol.for("v-cmt"),Xn=Symbol.for("v-stc"),Rn=[];let Ke=null;function H(e=!1){Rn.push(Ke=e?null:[])}function ic(){Rn.pop(),Ke=Rn[Rn.length-1]||null}let Dn=1;function is(e,t=!1){Dn+=e,e<0&&Ke&&t&&(Ke.hasOnce=!0)}function Gl(e){return e.dynamicChildren=Dn>0?Ke||nn:null,ic(),Dn>0&&Ke&&Ke.push(e),e}function F(e,t,n,s,o,r){return Gl(u(e,t,n,s,o,r,!0))}function Kl(e,t,n,s,o){return Gl(ve(e,t,n,s,o,!0))}function as(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const Wl=({key:e})=>e??null,Zn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Le(e)||Z(e)?{i:Ge,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,s=0,o=null,r=e===Ae?0:1,l=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wl(t),ref:t&&Zn(t),scopeId:hl,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:Ge};return i?(Eo(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),Dn>0&&!l&&Ke&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&Ke.push(a),a}const ve=ac;function ac(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===Ia)&&(e=At),as(e)){const i=qt(e,t,!0);return n&&Eo(i,n),Dn>0&&!r&&Ke&&(i.shapeFlag&6?Ke[Ke.indexOf(e)]=i:Ke.push(i)),i.patchFlag=-2,i}if(bc(e)&&(e=e.__vccOpts),t){t=cc(t);let{class:i,style:a}=t;i&&!xe(i)&&(t.class=be(i)),ue(a)&&(_o(a)&&!q(a)&&(a=Re({},a)),t.style=vs(a))}const l=xe(e)?1:jl(e)?128:ya(e)?64:ue(e)?4:Z(e)?2:0;return u(e,t,n,s,o,l,r,!0)}function cc(e){return e?_o(e)||$l(e)?Re({},e):e:null}function qt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:l,children:i,transition:a}=e,c=t?fc(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Wl(c),ref:t&&t.ref?n&&r?q(r)?r.concat(Zn(t)):[r,Zn(t)]:Zn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ae?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Mn(f,a.clone(f)),f}function he(e=" ",t=0){return ve(Cs,null,e,t)}function uc(e,t){const n=ve(Xn,null,e);return n.staticCount=t,n}function ye(e="",t=!1){return t?(H(),Kl(At,null,e)):ve(At,null,e)}function ct(e){return e==null||typeof e=="boolean"?ve(At):q(e)?ve(Ae,null,e.slice()):as(e)?_t(e):ve(Cs,null,String(e))}function _t(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function Eo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(q(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&&!$l(t)?t._ctx=Ge:o===3&&Ge&&(Ge.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Z(t)?(t={default:t,_ctx:Ge},n=32):(t=String(t),s&64?(n=16,t=[he(t)]):n=8);e.children=t,e.shapeFlag|=n}function fc(...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=be([t.class,s.class]));else if(o==="style")t.style=vs([t.style,s.style]);else if(fs(o)){const r=t[o],l=s[o];l&&r!==l&&!(q(r)&&r.includes(l))?t[o]=r?[].concat(r,l):l:l==null&&r==null&&!ds(o)&&(t[o]=l)}else o!==""&&(t[o]=s[o])}return t}function rt(e,t,n,s=null){Ze(e,t,7,[n,s])}const dc=Ol();let pc=0;function hc(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||dc,r={uid:pc++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Vi(!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:Dl(s,o),emitsOptions:kl(s,o),emit:null,emitted:null,propsDefaults:pe,inheritAttrs:s.inheritAttrs,ctx:pe,data:pe,props:pe,attrs:pe,slots:pe,refs:pe,setupState:pe,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=Ga.bind(null,r),e.ce&&e.ce(r),r}let $e=null;const zl=()=>$e||Ge;let cs,to;{const e=ms(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(l=>l(r)):o[0](r)}};cs=t("__VUE_INSTANCE_SETTERS__",n=>$e=n),to=t("__VUE_SSR_SETTERS__",n=>Vn=n)}const Fn=e=>{const t=$e;return cs(e),e.scope.on(),()=>{e.scope.off(),cs(t)}},Yo=()=>{$e&&$e.scope.off(),cs(null)};function ql(e){return e.vnode.shapeFlag&4}let Vn=!1;function gc(e,t=!1,n=!1){t&&to(t);const{props:s,children:o}=e.vnode,r=ql(e);Qa(e,s,r,t),ec(e,o,n||t);const l=r?mc(e,t):void 0;return t&&to(!1),l}function mc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$a);const{setup:s}=n;if(s){Ct();const o=e.setupContext=s.length>1?yc(e):null,r=Fn(e),l=Hn(s,e,0,[e.props,o]),i=Br(l);if(St(),r(),(i||e.sp)&&!An(e)&&wl(e),i){if(l.then(Yo,Yo),t)return l.then(a=>{Xo(e,a)}).catch(a=>{_s(a,e,0)});e.asyncDep=l}else Xo(e,l)}else Jl(e)}function Xo(e,t,n){Z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=cl(t)),Jl(e)}function Jl(e,t,n){const s=e.type;e.render||(e.render=s.render||dt);{const o=Fn(e);Ct();try{La(e)}finally{St(),o()}}}const vc={get(e,t){return Me(e,"get",""),e[t]}};function yc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,vc),slots:e.slots,emit:e.emit,expose:t}}function Ss(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(cl(oa(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Tn)return Tn[n](e)},has(t,n){return n in t||n in Tn}})):e.proxy}function _c(e,t=!0){return Z(e)?e.displayName||e.name:e.name||t&&e.__name}function bc(e){return Z(e)&&"__vccOpts"in e}const Se=(e,t)=>ca(e,t,Vn);function Ql(e,t,n){try{is(-1);const s=arguments.length;return s===2?ue(t)&&!q(t)?as(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&as(n)&&(n=[n]),ve(e,t,n))}finally{is(1)}}const wc="3.5.31";/**
|
|
14
|
+
* @vue/runtime-dom v3.5.31
|
|
15
|
+
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
+
* @license MIT
|
|
17
|
+
**/let no;const Zo=typeof window<"u"&&window.trustedTypes;if(Zo)try{no=Zo.createPolicy("vue",{createHTML:e=>e})}catch{}const Yl=no?e=>no.createHTML(e):e=>e,xc="http://www.w3.org/2000/svg",Cc="http://www.w3.org/1998/Math/MathML",yt=typeof document<"u"?document:null,er=yt&&yt.createElement("template"),Sc={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"?yt.createElementNS(xc,e):t==="mathml"?yt.createElementNS(Cc,e):n?yt.createElement(e,{is:n}):yt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>yt.createTextNode(e),createComment:e=>yt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>yt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const l=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{er.innerHTML=Yl(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const i=er.content;if(s==="svg"||s==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ot="transition",yn="animation",cn=Symbol("_vtc"),Xl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ec=Re({},Ca,Xl),jt=(e,t=[])=>{q(e)?e.forEach(n=>n(...t)):e&&e(...t)},tr=e=>e?q(e)?e.some(t=>t.length>1):e.length>1:!1;function Ac(e){const t={};for(const L in e)L in Xl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:a=r,appearActiveClass:c=l,appearToClass:f=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,_=Tc(o),y=_&&_[0],T=_&&_[1],{onBeforeEnter:P,onEnter:R,onEnterCancelled:A,onLeave:b,onLeaveCancelled:I,onBeforeAppear:J=P,onAppear:j=R,onAppearCancelled:re=A}=t,V=(L,se,Ce,G)=>{L._enterCancelled=G,It(L,se?f:i),It(L,se?c:l),Ce&&Ce()},X=(L,se)=>{L._isLeaving=!1,It(L,d),It(L,m),It(L,g),se&&se()},te=L=>(se,Ce)=>{const G=L?j:R,k=()=>V(se,L,Ce);jt(G,[se,k]),nr(()=>{It(se,L?a:r),lt(se,L?f:i),tr(G)||sr(se,s,y,k)})};return Re(t,{onBeforeEnter(L){jt(P,[L]),lt(L,r),lt(L,l)},onBeforeAppear(L){jt(J,[L]),lt(L,a),lt(L,c)},onEnter:te(!1),onAppear:te(!0),onLeave(L,se){L._isLeaving=!0;const Ce=()=>X(L,se);lt(L,d),L._enterCancelled?(lt(L,g),so(L)):(so(L),lt(L,g)),nr(()=>{L._isLeaving&&(It(L,d),lt(L,m),tr(b)||sr(L,s,T,Ce))}),jt(b,[L,Ce])},onEnterCancelled(L){V(L,!1,void 0,!0),jt(A,[L])},onAppearCancelled(L){V(L,!0,void 0,!0),jt(re,[L])},onLeaveCancelled(L){X(L),jt(I,[L])}})}function Tc(e){if(e==null)return null;if(ue(e))return[$s(e.enter),$s(e.leave)];{const t=$s(e);return[t,t]}}function $s(e){return Oi(e)}function lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[cn]||(e[cn]=new Set)).add(t)}function It(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[cn];n&&(n.delete(t),n.size||(e[cn]=void 0))}function nr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rc=0;function sr(e,t,n,s){const o=e._endId=++Rc,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:l,timeout:i,propCount:a}=Zl(e,t);if(!l)return s();const c=l+"end";let f=0;const d=()=>{e.removeEventListener(c,g),r()},g=m=>{m.target===e&&++f>=a&&d()};setTimeout(()=>{f<a&&d()},i+1),e.addEventListener(c,g)}function Zl(e,t){const n=window.getComputedStyle(e),s=_=>(n[_]||"").split(", "),o=s(`${Ot}Delay`),r=s(`${Ot}Duration`),l=or(o,r),i=s(`${yn}Delay`),a=s(`${yn}Duration`),c=or(i,a);let f=null,d=0,g=0;t===Ot?l>0&&(f=Ot,d=l,g=r.length):t===yn?c>0&&(f=yn,d=c,g=a.length):(d=Math.max(l,c),f=d>0?l>c?Ot:yn:null,g=f?f===Ot?r.length:a.length:0);const m=f===Ot&&/\b(?:transform|all)(?:,|$)/.test(s(`${Ot}Property`).toString());return{type:f,timeout:d,propCount:g,hasTransform:m}}function or(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>rr(n)+rr(e[s])))}function rr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function so(e){return(e?e.ownerDocument:document).body.offsetHeight}function Pc(e,t,n){const s=e[cn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const lr=Symbol("_vod"),Oc=Symbol("_vsh"),kc=Symbol(""),Nc=/(?:^|;)\s*display\s*:/;function Ic(e,t,n){const s=e.style,o=xe(n);let r=!1;if(n&&!o){if(t)if(xe(t))for(const l of t.split(";")){const i=l.slice(0,l.indexOf(":")).trim();n[i]==null&&es(s,i,"")}else for(const l in t)n[l]==null&&es(s,l,"");for(const l in n)l==="display"&&(r=!0),es(s,l,n[l])}else if(o){if(t!==n){const l=s[kc];l&&(n+=";"+l),s.cssText=n,r=Nc.test(n)}}else t&&e.removeAttribute("style");lr in e&&(e[lr]=r?s.display:"",e[Oc]&&(s.display="none"))}const ir=/\s*!important$/;function es(e,t,n){if(q(n))n.forEach(s=>es(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Mc(e,t);ir.test(n)?e.setProperty(Jt(s),n.replace(ir,""),"important"):e[s]=n}}const ar=["Webkit","Moz","ms"],Ls={};function Mc(e,t){const n=Ls[t];if(n)return n;let s=Be(t);if(s!=="filter"&&s in e)return Ls[t]=s;s=hs(s);for(let o=0;o<ar.length;o++){const r=ar[o]+s;if(r in e)return Ls[t]=r}return t}const cr="http://www.w3.org/1999/xlink";function ur(e,t,n,s,o,r=Li(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(cr,t.slice(6,t.length)):e.setAttributeNS(cr,t,n):n==null||r&&!Gr(n)?e.removeAttribute(t):e.setAttribute(t,r?"":ht(n)?String(n):n)}function fr(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Yl(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const i=r==="OPTION"?e.getAttribute("value")||"":e.value,a=n==null?e.type==="checkbox"?"on":"":String(n);(i!==a||!("_value"in e))&&(e.value=a),n==null&&e.removeAttribute(t),e._value=n;return}let l=!1;if(n===""||n==null){const i=typeof e[t];i==="boolean"?n=Gr(n):n==null&&i==="string"?(n="",l=!0):i==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(o||t)}function xt(e,t,n,s){e.addEventListener(t,n,s)}function $c(e,t,n,s){e.removeEventListener(t,n,s)}const dr=Symbol("_vei");function Lc(e,t,n,s,o=null){const r=e[dr]||(e[dr]={}),l=r[t];if(s&&l)l.value=s;else{const[i,a]=Dc(t);if(s){const c=r[t]=Bc(s,o);xt(e,i,c,a)}else l&&($c(e,i,l,a),r[t]=void 0)}}const pr=/(?:Once|Passive|Capture)$/;function Dc(e){let t;if(pr.test(e)){t={};let s;for(;s=e.match(pr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Jt(e.slice(2)),t]}let Ds=0;const Vc=Promise.resolve(),Uc=()=>Ds||(Vc.then(()=>Ds=0),Ds=Date.now());function Bc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ze(Hc(s,n.value),t,5,[s])};return n.value=e,n.attached=Uc(),n}function Hc(e,t){if(q(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 hr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fc=(e,t,n,s,o,r)=>{const l=o==="svg";t==="class"?Pc(e,s,l):t==="style"?Ic(e,n,s):fs(t)?ds(t)||Lc(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jc(e,t,s,l))?(fr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ur(e,t,s,l,r,t!=="value")):e._isVueCE&&(Gc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!xe(s)))?fr(e,Be(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),ur(e,t,s,l))};function jc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&hr(t)&&Z(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 hr(t)&&xe(n)?!1:t in e}function Gc(e,t){const n=e._def.props;if(!n)return!1;const s=Be(t);return Array.isArray(n)?n.some(o=>Be(o)===s):Object.keys(n).some(o=>Be(o)===s)}const ei=new WeakMap,ti=new WeakMap,us=Symbol("_moveCb"),gr=Symbol("_enterCb"),Kc=e=>(delete e.props.mode,e),Wc=Kc({name:"TransitionGroup",props:Re({},Ec,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=zl(),s=xa();let o,r;return Al(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Yc(o[0].el,n.vnode.el,l)){o=[];return}o.forEach(qc),o.forEach(Jc);const i=o.filter(Qc);so(n.vnode.el),i.forEach(a=>{const c=a.el,f=c.style;lt(c,l),f.transform=f.webkitTransform=f.transitionDuration="";const d=c[us]=g=>{g&&g.target!==c||(!g||g.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",d),c[us]=null,It(c,l))};c.addEventListener("transitionend",d)}),o=[]}),()=>{const l=ie(e),i=Ac(l);let a=l.tag||Ae;if(o=[],r)for(let c=0;c<r.length;c++){const f=r[c];f.el&&f.el instanceof Element&&(o.push(f),Mn(f,Qs(f,i,s,n)),ei.set(f,ni(f.el)))}r=t.default?_l(t.default()):[];for(let c=0;c<r.length;c++){const f=r[c];f.key!=null&&Mn(f,Qs(f,i,s,n))}return ve(a,null,r)}}}),zc=Wc;function qc(e){const t=e.el;t[us]&&t[us](),t[gr]&&t[gr]()}function Jc(e){ti.set(e,ni(e.el))}function Qc(e){const t=ei.get(e),n=ti.get(e),s=t.left-n.left,o=t.top-n.top;if(s||o){const r=e.el,l=r.style,i=r.getBoundingClientRect();let a=1,c=1;return r.offsetWidth&&(a=i.width/r.offsetWidth),r.offsetHeight&&(c=i.height/r.offsetHeight),(!Number.isFinite(a)||a===0)&&(a=1),(!Number.isFinite(c)||c===0)&&(c=1),Math.abs(a-1)<.01&&(a=1),Math.abs(c-1)<.01&&(c=1),l.transform=l.webkitTransform=`translate(${s/a}px,${o/c}px)`,l.transitionDuration="0s",e}}function ni(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Yc(e,t,n){const s=e.cloneNode(),o=e[cn];o&&o.forEach(i=>{i.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(i=>i&&s.classList.add(i)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:l}=Zl(s);return r.removeChild(s),l}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return q(t)?n=>Jn(t,n):t};function Xc(e){e.target.composing=!0}function mr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Qe=Symbol("_assign");function vr(e,t,n){return t&&(e=e.trim()),n&&(e=gs(e)),e}const Ne={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Qe]=Vt(o);const r=s||o.props&&o.props.type==="number";xt(e,t?"change":"input",l=>{l.target.composing||e[Qe](vr(e.value,n,r))}),(n||r)&&xt(e,"change",()=>{e.value=vr(e.value,n,r)}),t||(xt(e,"compositionstart",Xc),xt(e,"compositionend",mr),xt(e,"change",mr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},l){if(e[Qe]=Vt(l),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?gs(e.value):e.value,a=t??"";if(i===a)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a)}},Zc={deep:!0,created(e,t,n){e[Qe]=Vt(n),xt(e,"change",()=>{const s=e._modelValue,o=un(e),r=e.checked,l=e[Qe];if(q(s)){const i=fo(s,o),a=i!==-1;if(r&&!a)l(s.concat(o));else if(!r&&a){const c=[...s];c.splice(i,1),l(c)}}else if(pn(s)){const i=new Set(s);r?i.add(o):i.delete(o),l(i)}else l(si(e,r))})},mounted:yr,beforeUpdate(e,t,n){e[Qe]=Vt(n),yr(e,t,n)}};function yr(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(q(t))o=fo(t,s.props.value)>-1;else if(pn(t))o=t.has(s.props.value);else{if(t===n)return;o=Dt(t,si(e,!0))}e.checked!==o&&(e.checked=o)}const eu={created(e,{value:t},n){e.checked=Dt(t,n.props.value),e[Qe]=Vt(n),xt(e,"change",()=>{e[Qe](un(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Qe]=Vt(s),t!==n&&(e.checked=Dt(t,s.props.value))}},Pn={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=pn(t);xt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>n?gs(un(l)):un(l));e[Qe](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,bo(()=>{e._assigning=!1})}),e[Qe]=Vt(s)},mounted(e,{value:t}){_r(e,t)},beforeUpdate(e,t,n){e[Qe]=Vt(n)},updated(e,{value:t}){e._assigning||_r(e,t)}};function _r(e,t){const n=e.multiple,s=q(t);if(!(n&&!s&&!pn(t))){for(let o=0,r=e.options.length;o<r;o++){const l=e.options[o],i=un(l);if(n)if(s){const a=typeof i;a==="string"||a==="number"?l.selected=t.some(c=>String(c)===String(i)):l.selected=fo(t,i)>-1}else l.selected=t.has(i);else if(Dt(un(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function un(e){return"_value"in e?e._value:e.value}function si(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const tu={created(e,t,n){qn(e,t,n,null,"created")},mounted(e,t,n){qn(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){qn(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){qn(e,t,n,s,"updated")}};function nu(e,t){switch(e){case"SELECT":return Pn;case"TEXTAREA":return Ne;default:switch(t){case"checkbox":return Zc;case"radio":return eu;default:return Ne}}}function qn(e,t,n,s,o){const l=nu(e.tagName,n.props&&n.props.type)[o];l&&l(e,t,n,s)}const su=["ctrl","shift","alt","meta"],ou={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>su.some(n=>e[`${n}Key`]&&!t.includes(n))},Es=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(o,...r)=>{for(let l=0;l<t.length;l++){const i=ou[t[l]];if(i&&i(o,t))return}return e(o,...r)})},ru=Re({patchProp:Fc},Sc);let br;function lu(){return br||(br=nc(ru))}const iu=(...e)=>{const t=lu().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=cu(s);if(!o)return;const r=t._component;!Z(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const l=n(o,!1,au(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t};function au(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function cu(e){return xe(e)?document.querySelector(e):e}/*!
|
|
18
|
+
* vue-router v4.6.4
|
|
19
|
+
* (c) 2025 Eduardo San Martin Morote
|
|
20
|
+
* @license MIT
|
|
21
|
+
*/const tn=typeof document<"u";function oi(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function uu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&oi(e.default)}const ae=Object.assign;function Vs(e,t){const n={};for(const s in t){const o=t[s];n[s]=et(o)?o.map(e):e(o)}return n}const On=()=>{},et=Array.isArray;function wr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const ri=/#/g,fu=/&/g,du=/\//g,pu=/=/g,hu=/\?/g,li=/\+/g,gu=/%5B/g,mu=/%5D/g,ii=/%5E/g,vu=/%60/g,ai=/%7B/g,yu=/%7C/g,ci=/%7D/g,_u=/%20/g;function Ao(e){return e==null?"":encodeURI(""+e).replace(yu,"|").replace(gu,"[").replace(mu,"]")}function bu(e){return Ao(e).replace(ai,"{").replace(ci,"}").replace(ii,"^")}function oo(e){return Ao(e).replace(li,"%2B").replace(_u,"+").replace(ri,"%23").replace(fu,"%26").replace(vu,"`").replace(ai,"{").replace(ci,"}").replace(ii,"^")}function wu(e){return oo(e).replace(pu,"%3D")}function xu(e){return Ao(e).replace(ri,"%23").replace(hu,"%3F")}function Cu(e){return xu(e).replace(du,"%2F")}function Un(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Su=/\/$/,Eu=e=>e.replace(Su,"");function Us(e,t,n="/"){let s,o={},r="",l="";const i=t.indexOf("#");let a=t.indexOf("?");return a=i>=0&&a>i?-1:a,a>=0&&(s=t.slice(0,a),r=t.slice(a,i>0?i:t.length),o=e(r.slice(1))),i>=0&&(s=s||t.slice(0,i),l=t.slice(i,t.length)),s=Pu(s??t,n),{fullPath:s+r+l,path:s,query:o,hash:Un(l)}}function Au(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function xr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Tu(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&fn(t.matched[s],n.matched[o])&&ui(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ui(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ru(e[n],t[n]))return!1;return!0}function Ru(e,t){return et(e)?Cr(e,t):et(t)?Cr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Cr(e,t){return et(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Pu(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,l,i;for(l=0;l<s.length;l++)if(i=s[l],i!==".")if(i==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(l).join("/")}const kt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ro=function(e){return e.pop="pop",e.push="push",e}({}),Bs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Ou(e){if(!e)if(tn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Eu(e)}const ku=/^[^#]+#/;function Nu(e,t){return e.replace(ku,"#")+t}function Iu(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 As=()=>({left:window.scrollX,top:window.scrollY});function Mu(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=Iu(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 Sr(e,t){return(history.state?history.state.position-t:-1)+e}const lo=new Map;function $u(e,t){lo.set(e,t)}function Lu(e){const t=lo.get(e);return lo.delete(e),t}function Du(e){return typeof e=="string"||e&&typeof e=="object"}function fi(e){return typeof e=="string"||typeof e=="symbol"}let we=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 di=Symbol("");we.MATCHER_NOT_FOUND+"",we.NAVIGATION_GUARD_REDIRECT+"",we.NAVIGATION_ABORTED+"",we.NAVIGATION_CANCELLED+"",we.NAVIGATION_DUPLICATED+"";function dn(e,t){return ae(new Error,{type:e,[di]:!0},t)}function vt(e,t){return e instanceof Error&&di in e&&(t==null||!!(e.type&t))}const Vu=["params","query","hash"];function Uu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Vu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Bu(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(li," "),r=o.indexOf("="),l=Un(r<0?o:o.slice(0,r)),i=r<0?null:Un(o.slice(r+1));if(l in t){let a=t[l];et(a)||(a=t[l]=[a]),a.push(i)}else t[l]=i}return t}function Er(e){let t="";for(let n in e){const s=e[n];if(n=wu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(et(s)?s.map(o=>o&&oo(o)):[s&&oo(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Hu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=et(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const pi=Symbol(""),Ar=Symbol(""),Ts=Symbol(""),To=Symbol(""),io=Symbol("");function _n(){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 Fu(e,t,n){const s=()=>{e[t].delete(n)};ws(s),Sl(s),Cl(()=>{e[t].add(n)}),e[t].add(n)}function ju(e){const t=Je(pi,{}).value;t&&Fu(t,"leaveGuards",e)}function $t(e,t,n,s,o,r=l=>l()){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const c=g=>{g===!1?a(dn(we.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?a(g):Du(g)?a(dn(we.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(l&&s.enterCallbacks[o]===l&&typeof g=="function"&&l.push(g),i())},f=r(()=>e.call(s&&s.instances[o],t,n,c));let d=Promise.resolve(f);e.length<3&&(d=d.then(c)),d.catch(g=>a(g))})}function Hs(e,t,n,s,o=r=>r()){const r=[];for(const l of e)for(const i in l.components){let a=l.components[i];if(!(t!=="beforeRouteEnter"&&!l.instances[i]))if(oi(a)){const c=(a.__vccOpts||a)[t];c&&r.push($t(c,n,s,l,i,o))}else{let c=a();r.push(()=>c.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${i}" at "${l.path}"`);const d=uu(f)?f.default:f;l.mods[i]=f,l.components[i]=d;const g=(d.__vccOpts||d)[t];return g&&$t(g,n,s,l,i,o)()}))}}return r}function Gu(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let l=0;l<r;l++){const i=t.matched[l];i&&(e.matched.find(c=>fn(c,i))?s.push(i):n.push(i));const a=e.matched[l];a&&(t.matched.find(c=>fn(c,a))||o.push(a))}return[n,s,o]}/*!
|
|
22
|
+
* vue-router v4.6.4
|
|
23
|
+
* (c) 2025 Eduardo San Martin Morote
|
|
24
|
+
* @license MIT
|
|
25
|
+
*/let Ku=()=>location.protocol+"//"+location.host;function hi(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let l=o.includes(e.slice(r))?e.slice(r).length:1,i=o.slice(l);return i[0]!=="/"&&(i="/"+i),xr(i,"")}return xr(n,e)+s+o}function Wu(e,t,n,s){let o=[],r=[],l=null;const i=({state:g})=>{const m=hi(e,location),_=n.value,y=t.value;let T=0;if(g){if(n.value=m,t.value=g,l&&l===_){l=null;return}T=y?g.position-y.position:0}else s(m);o.forEach(P=>{P(n.value,_,{delta:T,type:ro.pop,direction:T?T>0?Bs.forward:Bs.back:Bs.unknown})})};function a(){l=n.value}function c(g){o.push(g);const m=()=>{const _=o.indexOf(g);_>-1&&o.splice(_,1)};return r.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(ae({},g.state,{scroll:As()}),"")}}function d(){for(const g of r)g();r=[],window.removeEventListener("popstate",i),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",i),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:a,listen:c,destroy:d}}function Tr(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?As():null}}function zu(e){const{history:t,location:n}=window,s={value:hi(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,c,f){const d=e.indexOf("#"),g=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:Ku()+e+a;try{t[f?"replaceState":"pushState"](c,"",g),o.value=c}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function l(a,c){r(a,ae({},t.state,Tr(o.value.back,a,o.value.forward,!0),c,{position:o.value.position}),!0),s.value=a}function i(a,c){const f=ae({},o.value,t.state,{forward:a,scroll:As()});r(f.current,f,!0),r(a,ae({},Tr(s.value,a,null),{position:f.position+1},c),!1),s.value=a}return{location:s,state:o,push:i,replace:l}}function qu(e){e=Ou(e);const t=zu(e),n=Wu(e,t.state,t.location,t.replace);function s(r,l=!0){l||n.pauseListeners(),history.go(r)}const o=ae({location:"",base:e,go:s,createHref:Nu.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 Kt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Pe=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}(Pe||{});const Ju={type:Kt.Static,value:""},Qu=/[a-zA-Z0-9_]/;function Yu(e){if(!e)return[[]];if(e==="/")return[[Ju]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=Pe.Static,s=n;const o=[];let r;function l(){r&&o.push(r),r=[]}let i=0,a,c="",f="";function d(){c&&(n===Pe.Static?r.push({type:Kt.Static,value:c}):n===Pe.Param||n===Pe.ParamRegExp||n===Pe.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Kt.Param,value:c,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),c="")}function g(){c+=a}for(;i<e.length;){if(a=e[i++],a==="\\"&&n!==Pe.ParamRegExp){s=n,n=Pe.EscapeNext;continue}switch(n){case Pe.Static:a==="/"?(c&&d(),l()):a===":"?(d(),n=Pe.Param):g();break;case Pe.EscapeNext:g(),n=s;break;case Pe.Param:a==="("?n=Pe.ParamRegExp:Qu.test(a)?g():(d(),n=Pe.Static,a!=="*"&&a!=="?"&&a!=="+"&&i--);break;case Pe.ParamRegExp:a===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+a:n=Pe.ParamRegExpEnd:f+=a;break;case Pe.ParamRegExpEnd:d(),n=Pe.Static,a!=="*"&&a!=="?"&&a!=="+"&&i--,f="";break;default:t("Unknown state");break}}return n===Pe.ParamRegExp&&t(`Unfinished custom RegExp for param "${c}"`),d(),l(),o}const Rr="[^/]+?",Xu={sensitive:!1,strict:!1,start:!0,end:!0};var Ve=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}(Ve||{});const Zu=/[.+*?^${}()[\]/\\]/g;function ef(e,t){const n=ae({},Xu,t),s=[];let o=n.start?"^":"";const r=[];for(const c of e){const f=c.length?[]:[Ve.Root];n.strict&&!c.length&&(o+="/");for(let d=0;d<c.length;d++){const g=c[d];let m=Ve.Segment+(n.sensitive?Ve.BonusCaseSensitive:0);if(g.type===Kt.Static)d||(o+="/"),o+=g.value.replace(Zu,"\\$&"),m+=Ve.Static;else if(g.type===Kt.Param){const{value:_,repeatable:y,optional:T,regexp:P}=g;r.push({name:_,repeatable:y,optional:T});const R=P||Rr;if(R!==Rr){m+=Ve.BonusCustomRegExp;try{`${R}`}catch(b){throw new Error(`Invalid custom RegExp for param "${_}" (${R}): `+b.message)}}let A=y?`((?:${R})(?:/(?:${R}))*)`:`(${R})`;d||(A=T&&c.length<2?`(?:/${A})`:"/"+A),T&&(A+="?"),o+=A,m+=Ve.Dynamic,T&&(m+=Ve.BonusOptional),y&&(m+=Ve.BonusRepeatable),R===".*"&&(m+=Ve.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const c=s.length-1;s[c][s[c].length-1]+=Ve.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const l=new RegExp(o,n.sensitive?"":"i");function i(c){const f=c.match(l),d={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",_=r[g-1];d[_.name]=m&&_.repeatable?m.split("/"):m}return d}function a(c){let f="",d=!1;for(const g of e){(!d||!f.endsWith("/"))&&(f+="/"),d=!1;for(const m of g)if(m.type===Kt.Static)f+=m.value;else if(m.type===Kt.Param){const{value:_,repeatable:y,optional:T}=m,P=_ in c?c[_]:"";if(et(P)&&!y)throw new Error(`Provided param "${_}" is an array but it is not repeatable (* or + modifiers)`);const R=et(P)?P.join("/"):P;if(!R)if(T)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):d=!0);else throw new Error(`Missing required param "${_}"`);f+=R}}return f||"/"}return{re:l,score:s,keys:r,parse:i,stringify:a}}function tf(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]===Ve.Static+Ve.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Ve.Static+Ve.Segment?1:-1:0}function gi(e,t){let n=0;const s=e.score,o=t.score;for(;n<s.length&&n<o.length;){const r=tf(s[n],o[n]);if(r)return r;n++}if(Math.abs(o.length-s.length)===1){if(Pr(s))return 1;if(Pr(o))return-1}return o.length-s.length}function Pr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const nf={strict:!1,end:!0,sensitive:!1};function sf(e,t,n){const s=ef(Yu(e.path),n),o=ae(s,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function of(e,t){const n=[],s=new Map;t=wr(nf,t);function o(d){return s.get(d)}function r(d,g,m){const _=!m,y=kr(d);y.aliasOf=m&&m.record;const T=wr(t,d),P=[y];if("alias"in d){const b=typeof d.alias=="string"?[d.alias]:d.alias;for(const I of b)P.push(kr(ae({},y,{components:m?m.record.components:y.components,path:I,aliasOf:m?m.record:y})))}let R,A;for(const b of P){const{path:I}=b;if(g&&I[0]!=="/"){const J=g.record.path,j=J[J.length-1]==="/"?"":"/";b.path=g.record.path+(I&&j+I)}if(R=sf(b,g,T),m?m.alias.push(R):(A=A||R,A!==R&&A.alias.push(R),_&&d.name&&!Nr(R)&&l(d.name)),mi(R)&&a(R),y.children){const J=y.children;for(let j=0;j<J.length;j++)r(J[j],R,m&&m.children[j])}m=m||R}return A?()=>{l(A)}:On}function l(d){if(fi(d)){const g=s.get(d);g&&(s.delete(d),n.splice(n.indexOf(g),1),g.children.forEach(l),g.alias.forEach(l))}else{const g=n.indexOf(d);g>-1&&(n.splice(g,1),d.record.name&&s.delete(d.record.name),d.children.forEach(l),d.alias.forEach(l))}}function i(){return n}function a(d){const g=af(d,n);n.splice(g,0,d),d.record.name&&!Nr(d)&&s.set(d.record.name,d)}function c(d,g){let m,_={},y,T;if("name"in d&&d.name){if(m=s.get(d.name),!m)throw dn(we.MATCHER_NOT_FOUND,{location:d});T=m.record.name,_=ae(Or(g.params,m.keys.filter(A=>!A.optional).concat(m.parent?m.parent.keys.filter(A=>A.optional):[]).map(A=>A.name)),d.params&&Or(d.params,m.keys.map(A=>A.name))),y=m.stringify(_)}else if(d.path!=null)y=d.path,m=n.find(A=>A.re.test(y)),m&&(_=m.parse(y),T=m.record.name);else{if(m=g.name?s.get(g.name):n.find(A=>A.re.test(g.path)),!m)throw dn(we.MATCHER_NOT_FOUND,{location:d,currentLocation:g});T=m.record.name,_=ae({},g.params,d.params),y=m.stringify(_)}const P=[];let R=m;for(;R;)P.unshift(R.record),R=R.parent;return{name:T,path:y,params:_,matched:P,meta:lf(P)}}e.forEach(d=>r(d));function f(){n.length=0,s.clear()}return{addRoute:r,resolve:c,removeRoute:l,clearRoutes:f,getRoutes:i,getRecordMatcher:o}}function Or(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function kr(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:rf(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 rf(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 Nr(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function lf(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function af(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;gi(e,t[r])<0?s=r:n=r+1}const o=cf(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function cf(e){let t=e;for(;t=t.parent;)if(mi(t)&&gi(e,t)===0)return t}function mi({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Ir(e){const t=Je(Ts),n=Je(To),s=Se(()=>{const a=pt(e.to);return t.resolve(a)}),o=Se(()=>{const{matched:a}=s.value,{length:c}=a,f=a[c-1],d=n.matched;if(!f||!d.length)return-1;const g=d.findIndex(fn.bind(null,f));if(g>-1)return g;const m=Mr(a[c-2]);return c>1&&Mr(f)===m&&d[d.length-1].path!==m?d.findIndex(fn.bind(null,a[c-2])):g}),r=Se(()=>o.value>-1&&hf(n.params,s.value.params)),l=Se(()=>o.value>-1&&o.value===n.matched.length-1&&ui(n.params,s.value.params));function i(a={}){if(pf(a)){const c=t[pt(e.replace)?"replace":"push"](pt(e.to)).catch(On);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:s,href:Se(()=>s.value.href),isActive:r,isExactActive:l,navigate:i}}function uf(e){return e.length===1?e[0]:e}const ff=bl({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:Ir,setup(e,{slots:t}){const n=hn(Ir(e)),{options:s}=Je(Ts),o=Se(()=>({[$r(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[$r(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&uf(t.default(n));return e.custom?r:Ql("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),df=ff;function pf(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 hf(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(!et(o)||o.length!==s.length||s.some((r,l)=>r.valueOf()!==o[l].valueOf()))return!1}return!0}function Mr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $r=(e,t,n)=>e??t??n,gf=bl({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Je(io),o=Se(()=>e.route||s.value),r=Je(Ar,0),l=Se(()=>{let c=pt(r);const{matched:f}=o.value;let d;for(;(d=f[c])&&!d.components;)c++;return c}),i=Se(()=>o.value.matched[l.value]);Qn(Ar,Se(()=>l.value+1)),Qn(pi,i),Qn(io,o);const a=ee();return rn(()=>[a.value,i.value,e.name],([c,f,d],[g,m,_])=>{f&&(f.instances[d]=c,m&&m!==f&&c&&c===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),c&&f&&(!m||!fn(f,m)||!g)&&(f.enterCallbacks[d]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=o.value,f=e.name,d=i.value,g=d&&d.components[f];if(!g)return Lr(n.default,{Component:g,route:c});const m=d.props[f],_=m?m===!0?c.params:typeof m=="function"?m(c):m:null,T=Ql(g,ae({},_,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(d.instances[f]=null)},ref:a}));return Lr(n.default,{Component:T,route:c})||T}}});function Lr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const mf=gf;function vf(e){const t=of(e.routes,e),n=e.parseQuery||Bu,s=e.stringifyQuery||Er,o=e.history,r=_n(),l=_n(),i=_n(),a=ra(kt);let c=kt;tn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Vs.bind(null,C=>""+C),d=Vs.bind(null,Cu),g=Vs.bind(null,Un);function m(C,B){let $,K;return fi(C)?($=t.getRecordMatcher(C),K=B):K=C,t.addRoute(K,$)}function _(C){const B=t.getRecordMatcher(C);B&&t.removeRoute(B)}function y(){return t.getRoutes().map(C=>C.record)}function T(C){return!!t.getRecordMatcher(C)}function P(C,B){if(B=ae({},B||a.value),typeof C=="string"){const v=Us(n,C,B.path),w=t.resolve({path:v.path},B),S=o.createHref(v.fullPath);return ae(v,w,{params:g(w.params),hash:Un(v.hash),redirectedFrom:void 0,href:S})}let $;if(C.path!=null)$=ae({},C,{path:Us(n,C.path,B.path).path});else{const v=ae({},C.params);for(const w in v)v[w]==null&&delete v[w];$=ae({},C,{params:d(v)}),B.params=d(B.params)}const K=t.resolve($,B),oe=C.hash||"";K.params=f(g(K.params));const p=Au(s,ae({},C,{hash:bu(oe),path:K.path})),h=o.createHref(p);return ae({fullPath:p,hash:oe,query:s===Er?Hu(C.query):C.query||{}},K,{redirectedFrom:void 0,href:h})}function R(C){return typeof C=="string"?Us(n,C,a.value.path):ae({},C)}function A(C,B){if(c!==C)return dn(we.NAVIGATION_CANCELLED,{from:B,to:C})}function b(C){return j(C)}function I(C){return b(ae(R(C),{replace:!0}))}function J(C,B){const $=C.matched[C.matched.length-1];if($&&$.redirect){const{redirect:K}=$;let oe=typeof K=="function"?K(C,B):K;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=R(oe):{path:oe},oe.params={}),ae({query:C.query,hash:C.hash,params:oe.path!=null?{}:C.params},oe)}}function j(C,B){const $=c=P(C),K=a.value,oe=C.state,p=C.force,h=C.replace===!0,v=J($,K);if(v)return j(ae(R(v),{state:typeof v=="object"?ae({},oe,v.state):oe,force:p,replace:h}),B||$);const w=$;w.redirectedFrom=B;let S;return!p&&Tu(s,K,$)&&(S=dn(we.NAVIGATION_DUPLICATED,{to:w,from:K}),tt(K,K,!0,!1)),(S?Promise.resolve(S):X(w,K)).catch(x=>vt(x)?vt(x,we.NAVIGATION_GUARD_REDIRECT)?x:Pt(x):ne(x,w,K)).then(x=>{if(x){if(vt(x,we.NAVIGATION_GUARD_REDIRECT))return j(ae({replace:h},R(x.to),{state:typeof x.to=="object"?ae({},oe,x.to.state):oe,force:p}),B||w)}else x=L(w,K,!0,h,oe);return te(w,K,x),x})}function re(C,B){const $=A(C,B);return $?Promise.reject($):Promise.resolve()}function V(C){const B=Yt.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(C):C()}function X(C,B){let $;const[K,oe,p]=Gu(C,B);$=Hs(K.reverse(),"beforeRouteLeave",C,B);for(const v of K)v.leaveGuards.forEach(w=>{$.push($t(w,C,B))});const h=re.bind(null,C,B);return $.push(h),We($).then(()=>{$=[];for(const v of r.list())$.push($t(v,C,B));return $.push(h),We($)}).then(()=>{$=Hs(oe,"beforeRouteUpdate",C,B);for(const v of oe)v.updateGuards.forEach(w=>{$.push($t(w,C,B))});return $.push(h),We($)}).then(()=>{$=[];for(const v of p)if(v.beforeEnter)if(et(v.beforeEnter))for(const w of v.beforeEnter)$.push($t(w,C,B));else $.push($t(v.beforeEnter,C,B));return $.push(h),We($)}).then(()=>(C.matched.forEach(v=>v.enterCallbacks={}),$=Hs(p,"beforeRouteEnter",C,B,V),$.push(h),We($))).then(()=>{$=[];for(const v of l.list())$.push($t(v,C,B));return $.push(h),We($)}).catch(v=>vt(v,we.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function te(C,B,$){i.list().forEach(K=>V(()=>K(C,B,$)))}function L(C,B,$,K,oe){const p=A(C,B);if(p)return p;const h=B===kt,v=tn?history.state:{};$&&(K||h?o.replace(C.fullPath,ae({scroll:h&&v&&v.scroll},oe)):o.push(C.fullPath,oe)),a.value=C,tt(C,B,$,h),Pt()}let se;function Ce(){se||(se=o.listen((C,B,$)=>{if(!Bt.listening)return;const K=P(C),oe=J(K,Bt.currentRoute.value);if(oe){j(ae(oe,{replace:!0,force:!0}),K).catch(On);return}c=K;const p=a.value;tn&&$u(Sr(p.fullPath,$.delta),As()),X(K,p).catch(h=>vt(h,we.NAVIGATION_ABORTED|we.NAVIGATION_CANCELLED)?h:vt(h,we.NAVIGATION_GUARD_REDIRECT)?(j(ae(R(h.to),{force:!0}),K).then(v=>{vt(v,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&!$.delta&&$.type===ro.pop&&o.go(-1,!1)}).catch(On),Promise.reject()):($.delta&&o.go(-$.delta,!1),ne(h,K,p))).then(h=>{h=h||L(K,p,!1),h&&($.delta&&!vt(h,we.NAVIGATION_CANCELLED)?o.go(-$.delta,!1):$.type===ro.pop&&vt(h,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),te(K,p,h)}).catch(On)}))}let G=_n(),k=_n(),U;function ne(C,B,$){Pt(C);const K=k.list();return K.length?K.forEach(oe=>oe(C,B,$)):console.error(C),Promise.reject(C)}function gt(){return U&&a.value!==kt?Promise.resolve():new Promise((C,B)=>{G.add([C,B])})}function Pt(C){return U||(U=!C,Ce(),G.list().forEach(([B,$])=>C?$(C):B()),G.reset()),C}function tt(C,B,$,K){const{scrollBehavior:oe}=e;if(!tn||!oe)return Promise.resolve();const p=!$&&Lu(Sr(C.fullPath,0))||(K||!$)&&history.state&&history.state.scroll||null;return bo().then(()=>oe(C,B,p)).then(h=>h&&Mu(h)).catch(h=>ne(h,C,B))}const He=C=>o.go(C);let Qt;const Yt=new Set,Bt={currentRoute:a,listening:!0,addRoute:m,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:y,resolve:P,options:e,push:b,replace:I,go:He,back:()=>He(-1),forward:()=>He(1),beforeEach:r.add,beforeResolve:l.add,afterEach:i.add,onError:k.add,isReady:gt,install(C){C.component("RouterLink",df),C.component("RouterView",mf),C.config.globalProperties.$router=Bt,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>pt(a)}),tn&&!Qt&&a.value===kt&&(Qt=!0,b(o.location).catch(K=>{}));const B={};for(const K in kt)Object.defineProperty(B,K,{get:()=>a.value[K],enumerable:!0});C.provide(Ts,Bt),C.provide(To,il(B)),C.provide(io,a);const $=C.unmount;Yt.add(C),C.unmount=function(){Yt.delete(C),Yt.size<1&&(c=kt,se&&se(),se=null,a.value=kt,Qt=!1,U=!1),$()}}};function We(C){return C.reduce((B,$)=>B.then(()=>V($)),Promise.resolve())}return Bt}function jn(){return Je(Ts)}function vi(e){return Je(To)}const Oe=hn({mode:null,user:null,remoteBaseUrl:"",token:""});function Ro(){return ts(Oe)}function Po(e){Oe.mode=e,typeof localStorage<"u"&&localStorage.setItem("pac_proxy_mode",e)}function yi(){if(typeof localStorage<"u"){const e=localStorage.getItem("pac_proxy_mode");(e==="local"||e==="remote")&&(Oe.mode=e);const t=localStorage.getItem("pac_proxy_token");t&&(Oe.token=t);const n=localStorage.getItem("pac_proxy_remote_base_url");if(n&&typeof n=="string"&&(Oe.remoteBaseUrl=n),Oe.mode==="remote"&&Oe.token)try{const s=JSON.parse(atob(Oe.token.split(".")[1]));Oe.user={username:s.username}}catch{}}return Oe.mode}function _i(e){Oe.user=e}function bi(e){Oe.remoteBaseUrl=e||"",typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_remote_base_url",e):localStorage.removeItem("pac_proxy_remote_base_url"))}function wi(e){Oe.token=e,typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_token",e):localStorage.removeItem("pac_proxy_token"))}function yf(){return Oe.token||typeof localStorage<"u"&&localStorage.getItem("pac_proxy_token")}function _f(){Oe.token="",Oe.user=null,Oe.remoteBaseUrl="",Oe.mode=null,typeof localStorage<"u"&&(localStorage.removeItem("pac_proxy_token"),localStorage.removeItem("pac_proxy_mode"),localStorage.removeItem("pac_proxy_remote_base_url"))}const bf=()=>{const e=yf(),t={"Content-Type":"application/json"};return e&&(t.Authorization="Bearer "+e),t};async function fe(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 Fs(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:{...bf(),...n.headers}});if(!r.ok)throw new Error((await r.json().catch(()=>({}))).error||r.statusText);return r.json()}function xi(e,t){const n={getProxy:()=>fe("/proxy"),setProxy:s=>fe("/proxy",{method:"PUT",body:JSON.stringify(s)})};return e==="local"?{...n,getPacRules:()=>fe("/pac-rules"),setPacRules:s=>fe("/pac-rules",{method:"PUT",body:JSON.stringify(s)}),getConfig:()=>fe("/config")}:{...n,getPacRules:()=>Fs(t,"/pac-rules"),setPacRules:async s=>{await Fs(t,"/pac-rules",{method:"PUT",body:JSON.stringify(s)}),await fe("/pac-rules",{method:"PUT",body:JSON.stringify(s)})},getConfig:()=>Fs(t,"/config")}}const Lt=hn([]);let Ci=0;function wf(){return Lt}function _e(e,t="success",n=2500){const s=++Ci;Lt.push({id:s,msg:e,type:t}),setTimeout(()=>{const o=Lt.findIndex(r=>r.id===s);o>=0&&Lt.splice(o,1)},n)}function Dr(e){return new Promise(t=>{const n=++Ci;Lt.push({id:n,msg:e,type:"confirm",resolve:t})})}function Vr(e,t){const n=Lt.findIndex(s=>s.id===e);n>=0&&(Lt[n].resolve(t),Lt.splice(n,1))}const Rt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},xf={class:"toast-container"},Cf={key:0,class:"toast-confirm-mask"},Sf={class:"toast-confirm"},Ef={class:"toast-confirm-msg"},Af={class:"toast-confirm-actions"},Tf=["onClick"],Rf=["onClick"],Pf={class:"toast-icon"},Of={key:0,viewBox:"0 0 20 20",fill:"currentColor"},kf={key:1,viewBox:"0 0 20 20",fill:"currentColor"},Nf={key:2,viewBox:"0 0 20 20",fill:"currentColor"},If={class:"toast-msg"},Mf={__name:"Toast",setup(e){const t=wf();return(n,s)=>(H(),Kl(wa,{to:"body"},[u("div",xf,[ve(zc,{name:"toast"},{default:ft(()=>[(H(!0),F(Ae,null,Ln(pt(t),o=>(H(),F(Ae,{key:o.id},[o.type==="confirm"?(H(),F("div",Cf,[u("div",Sf,[u("p",Ef,z(o.msg),1),u("div",Af,[u("button",{class:"tc-btn cancel",onClick:r=>pt(Vr)(o.id,!1)},"取消",8,Tf),u("button",{class:"tc-btn ok",onClick:r=>pt(Vr)(o.id,!0)},"确定",8,Rf)])])])):(H(),F("div",{key:1,class:be(["toast",o.type])},[u("span",Pf,[o.type==="success"?(H(),F("svg",Of,[...s[0]||(s[0]=[u("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"},null,-1)])])):o.type==="error"?(H(),F("svg",kf,[...s[1]||(s[1]=[u("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"},null,-1)])])):(H(),F("svg",Nf,[...s[2]||(s[2]=[u("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z","clip-rule":"evenodd"},null,-1)])]))]),u("span",If,z(o.msg),1)],2))],64))),128))]),_:1})])]))}},$f=Rt(Mf,[["__scopeId","data-v-5cf00320"]]),Lf={class:"app-layout"},Df={key:0,class:"sidebar"},Vf={class:"side-nav"},Uf={class:"sidebar-footer"},Bf={key:0,class:"topbar"},Hf={class:"topbar-left"},Ff={class:"page-title"},jf={key:0,class:"topbar-right"},Gf={class:"username"},Kf={class:"main"},Wf={__name:"App",setup(e){const t=vi(),n=jn(),s=Ro(),o=Se(()=>s.mode||"local"),r=Se(()=>o.value==="remote"),l=Se(()=>s.user),i=Se(()=>o.value==="local"?"本地模式":"远程模式"),a=Se(()=>t.path!=="/"),c=Se(()=>t.path!=="/"&&!t.path.startsWith("/login")&&!t.path.startsWith("/register")),f=Se(()=>t.path==="/"||t.path.startsWith("/login")||t.path.startsWith("/register")),d={"/console/proxy":"代理设置","/console/shadowsocks":"Shadowsocks","/console/pac-rules":"PAC 规则","/console/traffic":"流量记录"},g=Se(()=>d[t.path]||"");async function m(){try{const _=await fe("/config");await fe("/config",{method:"PUT",body:JSON.stringify({..._,mode:"local"})})}catch{}_f(),n.push("/")}return(_,y)=>{const T=$n("router-link"),P=$n("router-view");return H(),F(Ae,null,[u("div",Lf,[c.value?(H(),F("aside",Df,[y[5]||(y[5]=u("div",{class:"sidebar-logo"},[u("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[u("circle",{cx:"12",cy:"12",r:"10"}),u("path",{d:"M12 8v4l3 3"})]),u("span",null,"PAC Proxy")],-1)),u("nav",Vf,[ve(T,{to:"/console/proxy","active-class":"active"},{default:ft(()=>[...y[0]||(y[0]=[u("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[u("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),u("path",{d:"M8 21h8M12 17v4"})],-1),he(" 代理设置 ",-1)])]),_:1}),ve(T,{to:"/console/shadowsocks","active-class":"active"},{default:ft(()=>[...y[1]||(y[1]=[u("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[u("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),u("path",{d:"M7 11V7a5 5 0 0110 0v4"})],-1),he(" Shadowsocks ",-1)])]),_:1}),ve(T,{to:"/console/pac-rules","active-class":"active"},{default:ft(()=>[...y[2]||(y[2]=[u("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[u("path",{d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2"}),u("rect",{x:"9",y:"3",width:"6",height:"4",rx:"1"}),u("path",{d:"M9 12h6M9 16h4"})],-1),he(" PAC 规则 ",-1)])]),_:1}),ve(T,{to:"/console/traffic","active-class":"active"},{default:ft(()=>[...y[3]||(y[3]=[u("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[u("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})],-1),he(" 流量记录 ",-1)])]),_:1})]),u("div",Uf,[u("span",{class:be(["mode-badge",o.value])},z(i.value),3),ve(T,{to:"/",class:"switch-mode-link"},{default:ft(()=>[...y[4]||(y[4]=[he("切换模式",-1)])]),_:1})])])):ye("",!0),u("div",{class:be(["content-wrap",{"content-standalone":f.value}])},[a.value?(H(),F("header",Bf,[u("div",Hf,[u("span",Ff,z(g.value),1)]),r.value&&l.value?(H(),F("div",jf,[u("span",Gf,z(l.value.username),1),u("button",{type:"button",class:"logout-btn",onClick:m},"退出登录")])):ye("",!0)])):ye("",!0),u("main",Kf,[ve(P)])],2)]),ve($f)],64)}}},zf=Rt(Wf,[["__scopeId","data-v-ee1bb6ce"]]),qf={class:"mode-select"},Jf={class:"card"},Qf={class:"options"},Yf={__name:"ModeSelect",setup(e){const t=jn();async function n(s){if(Po(s),s==="local"){try{const o=await fe("/config");await fe("/config",{method:"PUT",body:JSON.stringify({...o,mode:"local"})})}catch{}t.push("/console")}else t.push("/login")}return(s,o)=>(H(),F("div",qf,[u("div",Jf,[o[4]||(o[4]=u("h1",null,"选择运行模式",-1)),o[5]||(o[5]=u("p",{class:"desc"},"请选择控制台使用方式,选择后可随时在设置中切换。",-1)),u("div",Qf,[u("button",{class:"option local",onClick:o[0]||(o[0]=r=>n("local"))},[...o[2]||(o[2]=[u("span",{class:"title"},"本地模式",-1),u("span",{class:"sub"},"无需登录,配置保存在本机,由 node-cli 维护",-1)])]),u("button",{class:"option remote",onClick:o[1]||(o[1]=r=>n("remote"))},[...o[3]||(o[3]=[u("span",{class:"title"},"远程模式",-1),u("span",{class:"sub"},"需注册/登录,配置与数据保存在云端",-1)])])])])]))}},Xf=Rt(Yf,[["__scopeId","data-v-b465f762"]]),Zf={class:"auth-page"},ed={class:"card"},td={class:"field"},nd={class:"field"},sd={key:0,class:"error"},od=["disabled"],rd={class:"footer"},ld={__name:"Login",setup(e){const t=jn(),n=ee(""),s=ee(""),o=ee(""),r=ee(""),l=ee(!1);Ut(async()=>{try{const a=await fetch("/api/local/remote-server-url"),{url:c}=await a.json();n.value=c||""}catch{n.value=""}});async function i(){if(r.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}l.value=!0;try{const a=n.value.replace(/\/$/,""),c=await fetch(a+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),f=await c.json().catch(()=>({}));if(!c.ok)throw new Error(f.error||"登录失败");Po("remote"),bi(a),wi(f.token),_i(f.user||{username:s.value});try{const d=await fe("/config");await fe("/config",{method:"PUT",body:JSON.stringify({...d,mode:"remote"})});const g=await fetch(a+"/api/pac-rules",{headers:{Authorization:"Bearer "+f.token}}).then(m=>m.json()).catch(()=>[]);Array.isArray(g)&&await fe("/pac-rules",{method:"PUT",body:JSON.stringify(g)})}catch{}t.push("/console")}catch(a){r.value=a.message}finally{l.value=!1}}return(a,c)=>{const f=$n("router-link");return H(),F("div",Zf,[u("div",ed,[c[6]||(c[6]=u("h1",null,"登录",-1)),c[7]||(c[7]=u("p",{class:"desc"},"远程模式需登录后使用云端配置。",-1)),u("form",{onSubmit:Es(i,["prevent"]),class:"form"},[u("div",td,[c[2]||(c[2]=u("label",null,"用户名",-1)),Te(u("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>s.value=d),type:"text",required:""},null,512),[[Ne,s.value]])]),u("div",nd,[c[3]||(c[3]=u("label",null,"密码",-1)),Te(u("input",{"onUpdate:modelValue":c[1]||(c[1]=d=>o.value=d),type:"password",required:""},null,512),[[Ne,o.value]])]),r.value?(H(),F("p",sd,z(r.value),1)):ye("",!0),u("button",{type:"submit",class:"btn primary",disabled:l.value},"登录",8,od)],32),u("p",rd,[c[5]||(c[5]=he("还没有账号? ",-1)),ve(f,{to:"/register"},{default:ft(()=>[...c[4]||(c[4]=[he("注册",-1)])]),_:1})])])])}}},id=Rt(ld,[["__scopeId","data-v-d4d57b91"]]),ad={class:"auth-page"},cd={class:"card"},ud={class:"field"},fd={class:"field"},dd={key:0,class:"error"},pd={key:1,class:"success"},hd=["disabled"],gd={class:"footer"},md={__name:"Register",setup(e){const t=jn(),n=ee(""),s=ee(""),o=ee(""),r=ee(""),l=ee(""),i=ee(!1);Ut(async()=>{try{const c=await fetch("/api/local/remote-server-url"),{url:f}=await c.json();n.value=f||""}catch{n.value=""}});async function a(){if(r.value="",l.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}i.value=!0;try{const c=n.value.replace(/\/$/,""),f=await fetch(c+"/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),d=await f.json().catch(()=>({}));if(!f.ok)throw new Error(d.error||"注册失败");l.value="注册成功,正在自动登录…";const g=await fetch(c+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),m=await g.json().catch(()=>({}));if(!g.ok)throw new Error(m.error||"自动登录失败");Po("remote"),bi(c),wi(m.token),_i(m.user||{username:s.value}),l.value="注册成功,已自动登录";try{const _=await fe("/config");await fe("/config",{method:"PUT",body:JSON.stringify({..._,mode:"remote"})});const y=await fetch(c+"/api/pac-rules",{headers:{Authorization:"Bearer "+m.token}}).then(T=>T.json()).catch(()=>[]);Array.isArray(y)&&await fe("/pac-rules",{method:"PUT",body:JSON.stringify(y)})}catch{}t.push("/console")}catch(c){r.value=c.message}finally{i.value=!1}}return(c,f)=>{const d=$n("router-link");return H(),F("div",ad,[u("div",cd,[f[6]||(f[6]=u("h1",null,"注册",-1)),f[7]||(f[7]=u("p",{class:"desc"},"注册后可在远程模式下同步配置。",-1)),u("form",{onSubmit:Es(a,["prevent"]),class:"form"},[u("div",ud,[f[2]||(f[2]=u("label",null,"用户名",-1)),Te(u("input",{"onUpdate:modelValue":f[0]||(f[0]=g=>s.value=g),type:"text",required:""},null,512),[[Ne,s.value]])]),u("div",fd,[f[3]||(f[3]=u("label",null,"密码",-1)),Te(u("input",{"onUpdate:modelValue":f[1]||(f[1]=g=>o.value=g),type:"password",required:""},null,512),[[Ne,o.value]])]),r.value?(H(),F("p",dd,z(r.value),1)):ye("",!0),l.value?(H(),F("p",pd,z(l.value),1)):ye("",!0),u("button",{type:"submit",class:"btn primary",disabled:i.value},"注册",8,hd)],32),u("p",gd,[f[5]||(f[5]=he("已有账号? ",-1)),ve(d,{to:"/login"},{default:ft(()=>[...f[4]||(f[4]=[he("登录",-1)])]),_:1})])])])}}},vd=Rt(md,[["__scopeId","data-v-a1c8458c"]]),yd={class:"proxy-settings"},_d={class:"card"},bd={class:"mode-cards"},wd=["onClick","disabled"],xd=["innerHTML"],Cd={class:"mode-label"},Sd={class:"mode-desc"},Ed={key:0,class:"ca-download"},Ad={class:"card"},Td={class:"field"},Rd={key:0,class:"upstream-managed"},Pd={class:"row"},Od={class:"field"},kd={class:"field"},Nd={class:"actions"},Id=["disabled"],Md={key:0,class:"btn-spinner"},$d={key:0,class:"card status-card"},Ld={class:"status-line"},Dd={key:0,class:"status-port"},Vd={key:0,class:"hint"},Ud={key:1,class:"hint error"},Bd={key:2,class:"hint"},Hd={key:3,class:"hint"},Fd="/api/local/ca-cert",jd={__name:"ProxySettings",setup(e){const t=Ro();jn();function n(){return xi(t.mode,t.remoteBaseUrl)}const s=ee(!1),o=ee(1080),r=[{key:"global",label:"全局代理",desc:"所有流量走上游代理",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z" clip-rule="evenodd"/></svg>'},{key:"pac",label:"PAC 代理",desc:"按规则智能分流",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path d="M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM14 11a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1h-1a1 1 0 110-2h1v-1a1 1 0 011-1z"/></svg>'},{key:"mitm",label:"抓包代理",desc:"解密 HTTPS 流量",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"/></svg>'},{key:"clear",label:"清除代理",desc:"恢复直连",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/></svg>'}],l=ee({enabled:!1,mode:"pac",upstream:"socks5://127.0.0.1:1080",httpPort:5175,httpsPort:5176,applySystemProxy:!0}),i=ee(!1),a=ee(null);async function c(){try{const m=await fetch("/api/local/proxy-status");a.value=await m.json()}catch{a.value={running:!1,port:null}}}function f(){return{enabled:!!l.value.enabled,mode:l.value.mode||"pac",upstream:String(l.value.upstream??"").trim()||"socks5://127.0.0.1:1080",httpPort:Number(l.value.httpPort)||5175,httpsPort:Number(l.value.httpsPort)||5176,applySystemProxy:l.value.applySystemProxy!==!1}}async function d(m){if(!i.value){m==="clear"?(l.value.enabled=!1,l.value.applySystemProxy=!0):(l.value.enabled=!0,l.value.mode=m,l.value.applySystemProxy=!0),i.value=!0;try{const _=f();if(await fe("/proxy",{method:"PUT",body:JSON.stringify(_)}),t.mode==="remote")try{const T=await n().getPacRules();await fe("/pac-rules",{method:"PUT",body:JSON.stringify(T)})}catch{}await c(),_e(m==="clear"?"已清除系统代理设置":`已切换至${{global:"全局代理",pac:"PAC 代理",mitm:"抓包代理",clear:"已清除代理"}[m]}`,"success")}catch(_){_e("操作失败:"+_.message,"error")}finally{i.value=!1}}}Ut(async()=>{try{const[m,_]=await Promise.all([fe("/proxy"),fetch("/api/local/sslocal").then(y=>y.json()).catch(()=>({}))]);if(l.value={...l.value,...m},s.value=_.enabled===!0,o.value=_.localPort||1080,t.mode==="remote")try{const y=await n().getPacRules();await fe("/pac-rules",{method:"PUT",body:JSON.stringify(y)})}catch{}await c()}catch{}});async function g(){i.value=!0;try{const m=f();if(await fe("/proxy",{method:"PUT",body:JSON.stringify(m)}),t.mode==="remote")try{const _=await n().getPacRules();await fe("/pac-rules",{method:"PUT",body:JSON.stringify(_)})}catch{}await c(),_e("设置已保存","success")}catch(m){_e("保存失败:"+m.message,"error")}finally{i.value=!1}}return(m,_)=>{const y=$n("router-link");return H(),F("div",yd,[u("div",_d,[_[5]||(_[5]=u("h3",null,"代理模式",-1)),_[6]||(_[6]=u("p",{class:"desc"},"一键设置本机系统代理(支持 macOS、Windows、Linux GNOME)。",-1)),u("div",bd,[(H(),F(Ae,null,Ln(r,T=>u("button",{key:T.key,class:be(["mode-card",{active:l.value.enabled&&l.value.mode===T.key,clear:T.key==="clear","active-clear":!l.value.enabled&&T.key==="clear"}]),onClick:P=>d(T.key),disabled:i.value,type:"button"},[u("span",{class:"mode-icon",innerHTML:T.icon},null,8,xd),u("span",Cd,z(T.label),1),u("span",Sd,z(T.desc),1)],10,wd)),64))]),l.value.enabled&&l.value.mode==="mitm"?(H(),F("div",Ed,[_[3]||(_[3]=u("span",{class:"ca-label"},"CA 证书(用于解密 HTTPS,需安装到系统/浏览器信任):",-1)),u("a",{class:"btn btn-ca",href:Fd,download:"pac-proxy-ca.crt",target:"_blank",rel:"noopener"},"下载 CA 证书"),_[4]||(_[4]=u("p",{class:"ca-hint"},"仅限本机抓包使用,请勿安装到他人设备或生产环境。",-1))])):ye("",!0)]),u("div",Ad,[_[12]||(_[12]=u("h3",null,"上游代理与端口",-1)),_[13]||(_[13]=u("p",{class:"desc"},[he("上游代理地址(如 "),u("code",null,"socks5://127.0.0.1:1080"),he(" 或 "),u("code",null,"http://proxy.example.com"),he(")。本地模式下可将 SOCKS5 转为 HTTP 代理并按规则执行策略。")],-1)),u("div",Td,[_[9]||(_[9]=u("label",null,"上游代理地址",-1)),s.value?(H(),F("div",Rd,[_[8]||(_[8]=u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z","clip-rule":"evenodd"})],-1)),he(" 由 Shadowsocks 托管(socks5://127.0.0.1:"+z(o.value)+") ",1),ve(y,{to:"/console/shadowsocks"},{default:ft(()=>[..._[7]||(_[7]=[he("管理",-1)])]),_:1})])):Te((H(),F("input",{key:1,"onUpdate:modelValue":_[0]||(_[0]=T=>l.value.upstream=T),placeholder:"socks5://127.0.0.1:1080"},null,512)),[[Ne,l.value.upstream]])]),u("div",Pd,[u("div",Od,[_[10]||(_[10]=u("label",null,"HTTP 代理端口",-1)),Te(u("input",{"onUpdate:modelValue":_[1]||(_[1]=T=>l.value.httpPort=T),type:"number",min:"1",max:"65535"},null,512),[[Ne,l.value.httpPort,void 0,{number:!0}]])]),u("div",kd,[_[11]||(_[11]=u("label",null,"HTTPS 代理端口",-1)),Te(u("input",{"onUpdate:modelValue":_[2]||(_[2]=T=>l.value.httpsPort=T),type:"number",min:"1",max:"65535"},null,512),[[Ne,l.value.httpsPort,void 0,{number:!0}]])])]),u("div",Nd,[u("button",{class:"btn primary",onClick:g,disabled:i.value},[i.value?(H(),F("span",Md)):ye("",!0),he(" "+z(i.value?"保存中…":"保存设置"),1)],8,Id)])]),a.value!==null?(H(),F("div",$d,[_[16]||(_[16]=u("h3",null,"代理状态",-1)),u("p",Ld,[u("span",{class:be(["status-dot",a.value.running?"on":"off"])},null,2),u("span",{class:be(a.value.running?"status-on":"status-off")},z(a.value.running?"运行中":"已关闭"),3),a.value.running?(H(),F("span",Dd,"端口 "+z(a.value.port),1)):ye("",!0)]),a.value.running&&l.value.applySystemProxy&&a.value.systemProxyOk!==!1?(H(),F("p",Vd," 已尝试自动设置"+z(l.value.mode==="pac"?" PAC 代理":l.value.mode==="mitm"?"抓包代理":"系统代理")+"(127.0.0.1:"+z(a.value.port)+")。 ",1)):a.value.running&&l.value.applySystemProxy&&a.value.systemProxyError?(H(),F("p",Ud," 自动设置系统代理失败:"+z(a.value.systemProxyError)+" 请手动在「系统设置 → 网络 → 代理」中设置。 ",1)):a.value.running?(H(),F("p",Bd,[_[14]||(_[14]=he(" 请将系统或浏览器的 HTTP/HTTPS 代理设置为 ",-1)),u("strong",null,"127.0.0.1:"+z(a.value.port),1),_[15]||(_[15]=he("。 ",-1))])):l.value.enabled?(H(),F("p",Hd," 保存后若仍显示已关闭,请查看终端是否有端口占用报错。 ")):ye("",!0)])):ye("",!0)])}}},Gd=Rt(jd,[["__scopeId","data-v-44d33970"]]),Kd={class:"pac-rules"},Wd={class:"card"},zd={class:"card-header"},qd={key:0,class:"rule-count"},Jd={key:0,class:"desc"},Qd={key:1,class:"desc"},Yd={class:"toolbar"},Xd=["disabled"],Zd=["disabled"],ep={class:"search-wrap"},tp={class:"table-wrap"},np={class:"table"},sp={class:"pattern-cell"},op={class:"priority-cell"},rp={class:"ops-cell"},lp=["onClick"],ip=["onClick"],ap={key:0},cp={key:1},up={colspan:"4",class:"empty"},fp={class:"modal-content"},dp={class:"field"},pp={class:"field"},hp={class:"action-toggle"},gp={class:"field"},mp={class:"modal-actions"},vp=["disabled"],yp={__name:"PacRules",setup(e){const t=Ro();function n(){return xi(t.mode,t.remoteBaseUrl)}const s=ee([]),o=ee(null),r=ee({pattern:"",action:"proxy",priority:0}),l=ee(!1),i=ee(""),a=ee(null),c=Se(()=>[...s.value].sort((A,b)=>(b.priority??0)-(A.priority??0))),f=Se(()=>{const A=i.value.trim().toLowerCase();return A?c.value.filter(b=>b.pattern.toLowerCase().includes(A)):c.value});Ut(d);async function d(){try{if(s.value=await n().getPacRules(),Array.isArray(s.value)||(s.value=[]),t.mode==="remote")try{await fe("/pac-rules",{method:"PUT",body:JSON.stringify(s.value)})}catch{}}catch{s.value=[]}}function g(A=null){A?r.value={id:A.id,pattern:A.pattern,action:A.action||"proxy",priority:A.priority??0}:r.value={pattern:"",action:"proxy",priority:0},o.value=!0}async function m(){const{id:A,pattern:b,action:I,priority:J}=r.value;if(!b.trim()){_e("请填写 URL 匹配字符","error");return}l.value=!0;try{let j=[...s.value];if(A){const re=j.findIndex(V=>V.id===A);re>=0&&(j[re]={...j[re],pattern:b.trim(),action:I,priority:J})}else{if(j.find(V=>V.pattern.trim()===b.trim())){_e(`规则「${b.trim()}」已存在`,"error"),l.value=!1;return}j.push({id:String(Date.now()),pattern:b.trim(),action:I||"proxy",priority:Number(J)||0})}await n().setPacRules(j),s.value=j,o.value=null,_e(A?"规则已更新":"规则已添加","success")}catch(j){_e("保存失败:"+j.message,"error")}finally{l.value=!1}}async function _(A){if(!await Dr(`确定删除规则「${A.pattern}」?`))return;const I=s.value.filter(J=>J.id!==A.id);try{await n().setPacRules(I),s.value=I,_e("规则已删除","success")}catch(J){_e("删除失败:"+J.message,"error")}}async function y(){if(s.value.length)try{await navigator.clipboard.writeText(s.value.map(A=>(A.pattern||"").trim()).filter(Boolean).join(`
|
|
26
|
+
`)),_e("已复制到剪贴板","success")}catch(A){_e("复制失败:"+A.message,"error")}}function T(){if(!s.value.length)return;const A=new Blob([JSON.stringify(s.value,null,2)],{type:"application/json"}),b=URL.createObjectURL(A),I=document.createElement("a");I.href=b,I.download=`pac-rules-${new Date().toISOString().slice(0,10)}.json`,I.click(),URL.revokeObjectURL(b)}function P(){var A;(A=a.value)==null||A.click()}async function R(A){var I;const b=(I=A.target.files)==null?void 0:I[0];if(b){A.target.value="";try{const J=await b.text(),j=JSON.parse(J);if(!Array.isArray(j)){_e("文件格式错误,需为规则数组","error");return}if(!await Dr(`导入 ${j.length} 条规则,将与现有规则合并(相同 pattern 会覆盖)。确定继续?`))return;const V=[...s.value];for(const X of j){if(!X.pattern)continue;const te=V.findIndex(se=>se.pattern===X.pattern),L={id:X.id||String(Date.now()+Math.random()),pattern:X.pattern,action:X.action||"proxy",priority:Number(X.priority)||0};te>=0?V[te]=L:V.push(L)}await n().setPacRules(V),s.value=V,_e(`已导入 ${j.length} 条规则`,"success")}catch(J){_e("导入失败:"+J.message,"error")}}}return(A,b)=>(H(),F("div",Kd,[u("div",Wd,[u("div",zd,[u("div",null,[u("h3",null,[b[8]||(b[8]=he("PAC 规则 ",-1)),s.value.length?(H(),F("span",qd,z(s.value.length),1)):ye("",!0)]),pt(t).mode==="remote"?(H(),F("p",Jd,"远程模式下规则保存在云端,PAC 模式时由本机按云端规则执行。")):(H(),F("p",Qd,"按优先级从高到低匹配,命中后选择「代理」或「直连」。"))])]),u("div",Yd,[u("button",{class:"btn primary",onClick:b[0]||(b[0]=I=>g())},[...b[9]||(b[9]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z","clip-rule":"evenodd"})],-1),he(" 新增规则 ",-1)])]),u("button",{class:"btn",onClick:P,title:"导入 JSON"},[...b[10]||(b[10]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1),he(" 导入 ",-1)])]),u("button",{class:"btn",onClick:T,disabled:!s.value.length,title:"导出 JSON"},[...b[11]||(b[11]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),he(" 导出 ",-1)])],8,Xd),u("button",{class:"btn",onClick:y,disabled:!s.value.length,title:"复制规则"},[...b[12]||(b[12]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{d:"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z"}),u("path",{d:"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z"})],-1),he(" 复制 ",-1)])],8,Zd),u("div",ep,[b[13]||(b[13]=u("svg",{class:"search-icon",viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z","clip-rule":"evenodd"})],-1)),Te(u("input",{class:"search-input","onUpdate:modelValue":b[1]||(b[1]=I=>i.value=I),placeholder:"搜索规则…"},null,512),[[Ne,i.value]])])]),u("div",tp,[u("table",np,[b[17]||(b[17]=u("thead",null,[u("tr",null,[u("th",null,"URL 匹配字符"),u("th",null,"动作"),u("th",null,"优先级"),u("th",null,"操作")])],-1)),u("tbody",null,[(H(!0),F(Ae,null,Ln(f.value,I=>(H(),F("tr",{key:I.id},[u("td",sp,z(I.pattern),1),u("td",null,[u("span",{class:be(["action-badge",I.action])},z(I.action==="proxy"?"代理":"直连"),3)]),u("td",op,z(I.priority),1),u("td",rp,[u("button",{class:"icon-btn",onClick:J=>g(I),title:"编辑"},[...b[14]||(b[14]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{d:"M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"})],-1)])],8,lp),u("button",{class:"icon-btn danger",onClick:J=>_(I),title:"删除"},[...b[15]||(b[15]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)])],8,ip)])]))),128)),s.value.length?f.value.length?ye("",!0):(H(),F("tr",cp,[u("td",up,"未找到匹配「"+z(i.value)+"」的规则",1)])):(H(),F("tr",ap,[...b[16]||(b[16]=[u("td",{colspan:"4",class:"empty"},"暂无规则,点击「新增规则」开始添加",-1)])]))])])])]),o.value?(H(),F("div",{key:0,class:"modal",onClick:b[7]||(b[7]=Es(I=>o.value=null,["self"]))},[u("div",fp,[u("h3",null,z(r.value.id?"编辑规则":"新增规则"),1),u("div",dp,[b[18]||(b[18]=u("label",null,"URL 匹配字符",-1)),Te(u("input",{"onUpdate:modelValue":b[2]||(b[2]=I=>r.value.pattern=I),placeholder:"例如 *.google.com",autofocus:""},null,512),[[Ne,r.value.pattern]])]),u("div",pp,[b[19]||(b[19]=u("label",null,"动作",-1)),u("div",hp,[u("button",{type:"button",class:be(["toggle-opt",{active:r.value.action==="proxy"}]),onClick:b[3]||(b[3]=I=>r.value.action="proxy")},"代理",2),u("button",{type:"button",class:be(["toggle-opt",{active:r.value.action==="direct"}]),onClick:b[4]||(b[4]=I=>r.value.action="direct")},"直连",2)])]),u("div",gp,[b[20]||(b[20]=u("label",null,"优先级(数字越大越优先)",-1)),Te(u("input",{"onUpdate:modelValue":b[5]||(b[5]=I=>r.value.priority=I),type:"number"},null,512),[[Ne,r.value.priority,void 0,{number:!0}]])]),u("div",mp,[u("button",{class:"btn",onClick:b[6]||(b[6]=I=>o.value=null)},"取消"),u("button",{class:"btn primary",onClick:m,disabled:l.value},"保存",8,vp)])])])):ye("",!0),u("input",{ref_key:"fileInput",ref:a,type:"file",accept:".json",style:{display:"none"},onChange:R},null,544)]))}},_p=Rt(yp,[["__scopeId","data-v-abe2d935"]]),bp={class:"traffic-page"},wp={key:0,class:"card"},xp={class:"toolbar"},Cp={class:"auto-refresh"},Sp=["title"],Ep=["disabled"],Ap={key:0,class:"record-count"},Tp={class:"table-wrap"},Rp={class:"table"},Pp={class:"time-cell"},Op=["title"],kp={key:0},Np={key:1,class:"card capture-card"},Ip={class:"toolbar"},Mp=["title"],$p=["disabled"],Lp={class:"table-wrap"},Dp={class:"table capture-table"},Vp=["onClick"],Up={class:"time-cell"},Bp=["title"],Hp=["onClick"],Fp={key:0},jp={key:0,class:"pagination"},Gp={class:"pagination-info"},Kp=["disabled"],Wp=["disabled"],zp={key:3,class:"drawer"},qp={class:"drawer-tabs"},Jp={class:"drawer-body"},Qp={class:"drawer-url-section"},Yp={class:"drawer-url-head"},Xp={class:"drawer-url"},Zp={class:"detail-section"},eh={class:"headers-pre"},th={class:"detail-section"},nh={class:"body-pre"},sh={class:"detail-section"},oh={class:"headers-pre"},rh={class:"detail-section"},lh={class:"body-pre"},js=50,ih={__name:"Traffic",setup(e){const t=ee([]),n=ee(!1),s=ee(!1),o=ee(!1);let r=null;const l=ee([]),i=ee(0),a=ee(0),c=ee({q:"",method:"",status:"",type:"",sort:"time",order:"desc"});let f=null;const d=ee(null),g=ee("request"),m=ee(!1),_=vi();function y(G){return G?new Date(G).toLocaleString("zh-CN",{hour12:!1}):"-"}function T(G){return!G||typeof G!="object"?"":Object.entries(G).map(([k,U])=>`${k}: ${U}`).join(`
|
|
27
|
+
`)}function P(G){if(G==null||G==="")return"(空)";const k=typeof G=="string"?G:String(G);try{return JSON.stringify(JSON.parse(k),null,2)}catch{return k}}function R(G){return G>=200&&G<300?"status-2xx":G>=300&&G<400?"status-3xx":G>=400&&G<500?"status-4xx":G>=500?"status-5xx":""}async function A(){try{const k=await(await fetch("/api/local/proxy")).json();s.value=(k.mode||"")==="mitm"}catch{s.value=!1}}async function b(){n.value=!0;try{const G=await fetch("/api/local/traffic");t.value=await G.json(),Array.isArray(t.value)||(t.value=[])}catch{t.value=[]}finally{n.value=!1}}function I(){o.value=!o.value,o.value?(r=setInterval(b,5e3),_e("自动刷新已开启(每 5 秒)","info")):(clearInterval(r),r=null,_e("自动刷新已关闭","info"))}function J(){f&&clearTimeout(f),f=setTimeout(j,300)}async function j(){n.value=!0;try{const G=new URLSearchParams;c.value.q&&G.set("q",c.value.q),c.value.method&&G.set("method",c.value.method);const k=String(c.value.status??"").trim();k!==""&&!Number.isNaN(Number(k))&&G.set("status",k),c.value.type&&G.set("type",c.value.type),G.set("sort",c.value.sort),G.set("order",c.value.order),G.set("limit",String(js)),G.set("offset",String(a.value));const ne=await(await fetch("/api/local/capture?"+G.toString())).json();l.value=ne.list||[],i.value=ne.total??0}catch{l.value=[],i.value=0}finally{n.value=!1}}function re(){a.value=Math.max(0,a.value-js),j()}function V(){a.value+=js,j()}function X(){c.value.order=c.value.order==="desc"?"asc":"desc",j()}function te(G){d.value=G,g.value="request"}function L(){d.value=null}async function se(){var G;if((G=d.value)!=null&&G.url)try{await navigator.clipboard.writeText(d.value.url),m.value=!0,setTimeout(()=>{m.value=!1},1500)}catch{_e("复制失败","error")}}async function Ce(){await A(),s.value?(a.value=0,await j()):await b()}return Ut(Ce),ws(()=>{r&&clearInterval(r)}),rn(()=>_.path,G=>{G==="/console/traffic"&&Ce()}),(G,k)=>(H(),F("div",bp,[s.value?(H(),F("div",Np,[k[17]||(k[17]=u("div",{class:"capture-banner"},[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z","clip-rule":"evenodd"})]),he(" 当前为抓包代理,可查看解密后的请求与响应。 ")],-1)),u("div",Ip,[Te(u("input",{"onUpdate:modelValue":k[0]||(k[0]=U=>c.value.q=U),type:"text",placeholder:"搜索 URL…",class:"search-input",onInput:J},null,544),[[Ne,c.value.q]]),Te(u("select",{"onUpdate:modelValue":k[1]||(k[1]=U=>c.value.method=U),class:"filter-select",onChange:j},[...k[12]||(k[12]=[u("option",{value:""},"全部方法",-1),u("option",null,"GET",-1),u("option",null,"POST",-1),u("option",null,"PUT",-1),u("option",null,"PATCH",-1),u("option",null,"DELETE",-1),u("option",null,"HEAD",-1),u("option",null,"OPTIONS",-1)])],544),[[Pn,c.value.method]]),Te(u("input",{"onUpdate:modelValue":k[2]||(k[2]=U=>c.value.status=U),type:"text",placeholder:"状态码",class:"status-input",onInput:J},null,544),[[Ne,c.value.status]]),Te(u("select",{"onUpdate:modelValue":k[3]||(k[3]=U=>c.value.type=U),class:"filter-select",onChange:j},[...k[13]||(k[13]=[u("option",{value:""},"全部类型",-1),u("option",null,"document",-1),u("option",null,"xhr",-1),u("option",null,"script",-1),u("option",null,"stylesheet",-1),u("option",null,"image",-1),u("option",null,"font",-1),u("option",null,"other",-1)])],544),[[Pn,c.value.type]]),Te(u("select",{"onUpdate:modelValue":k[4]||(k[4]=U=>c.value.sort=U),class:"filter-select",onChange:j},[...k[14]||(k[14]=[u("option",{value:"time"},"按时间",-1),u("option",{value:"method"},"按方法",-1),u("option",{value:"status"},"按状态",-1),u("option",{value:"url"},"按 URL",-1)])],544),[[Pn,c.value.sort]]),u("button",{type:"button",class:"sort-order-btn",onClick:X,title:c.value.order==="desc"?"倒序":"正序"},z(c.value.order==="desc"?"↓":"↑"),9,Mp),u("button",{class:"btn",onClick:j,disabled:n.value},"刷新",8,$p)]),u("div",Lp,[u("table",Dp,[k[16]||(k[16]=u("thead",null,[u("tr",null,[u("th",null,"时间"),u("th",null,"方法"),u("th",null,"URL"),u("th",null,"状态"),u("th",null,"类型"),u("th")])],-1)),u("tbody",null,[(H(!0),F(Ae,null,Ln(l.value,U=>(H(),F("tr",{key:U.id,onClick:ne=>te(U),class:"row-clickable"},[u("td",Up,z(y(U.time)),1),u("td",null,[u("span",{class:be(["method-tag",U.method])},z(U.method),3)]),u("td",{class:"url-cell",title:U.url},z(U.url),9,Bp),u("td",null,[u("span",{class:be(["status-tag",R(U.statusCode)])},z(U.statusCode),3)]),u("td",null,z(U.type),1),u("td",null,[u("button",{type:"button",class:"btn-link",onClick:Es(ne=>te(U),["stop"])},"详情",8,Hp)])],8,Vp))),128)),!l.value.length&&!n.value?(H(),F("tr",Fp,[...k[15]||(k[15]=[u("td",{colspan:"6",class:"empty"},"暂无抓包记录,请通过抓包代理访问网页。",-1)])])):ye("",!0)])])]),i.value>0?(H(),F("div",jp,[u("span",Gp,"共 "+z(i.value)+" 条",1),u("button",{class:"btn small",disabled:a.value<=0,onClick:re},"上一页",8,Kp),u("button",{class:"btn small",disabled:a.value+l.value.length>=i.value,onClick:V},"下一页",8,Wp)])):ye("",!0)])):(H(),F("div",wp,[u("div",xp,[u("div",Cp,[u("button",{type:"button",class:be(["toggle-btn",{on:o.value}]),onClick:I,title:o.value?"关闭自动刷新":"开启自动刷新(每 5 秒)"},[...k[7]||(k[7]=[u("span",{class:"toggle-knob"},null,-1)])],10,Sp),k[8]||(k[8]=u("span",{class:"toggle-label"},"自动刷新",-1))]),u("button",{class:"btn",onClick:b,disabled:n.value},[...k[9]||(k[9]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z","clip-rule":"evenodd"})],-1),he(" 刷新 ",-1)])],8,Ep),t.value.length?(H(),F("span",Ap,z(t.value.length)+" 条记录",1)):ye("",!0)]),u("div",Tp,[u("table",Rp,[k[11]||(k[11]=u("thead",null,[u("tr",null,[u("th",null,"时间"),u("th",null,"类型"),u("th",null,"方法"),u("th",null,"URL / 主机"),u("th",null,"动作")])],-1)),u("tbody",null,[(H(!0),F(Ae,null,Ln(t.value,U=>(H(),F("tr",{key:U.time+(U.url||"")},[u("td",Pp,z(y(U.time)),1),u("td",null,z(U.type),1),u("td",null,[u("span",{class:be(["method-tag",U.method])},z(U.method),3)]),u("td",{class:"url-cell",title:U.url},z(U.url),9,Op),u("td",null,[u("span",{class:be(["action-badge",U.action])},z(U.action==="proxy"?"代理":"直连"),3)])]))),128)),!t.value.length&&!n.value?(H(),F("tr",kp,[...k[10]||(k[10]=[u("td",{colspan:"5",class:"empty"},"暂无记录,请确保代理已开启并有流量经过。",-1)])])):ye("",!0)])])])])),d.value?(H(),F("div",{key:2,class:"drawer-mask",onClick:L})):ye("",!0),d.value?(H(),F("div",zp,[u("div",{class:"drawer-header"},[k[18]||(k[18]=u("span",{class:"drawer-title"},"请求详情",-1)),u("button",{type:"button",class:"drawer-close",onClick:L},"×")]),u("div",qp,[u("button",{type:"button",class:be({active:g.value==="request"}),onClick:k[5]||(k[5]=U=>g.value="request")},"请求",2),u("button",{type:"button",class:be({active:g.value==="response"}),onClick:k[6]||(k[6]=U=>g.value="response")},"响应",2)]),u("div",Jp,[u("div",Qp,[u("div",Yp,[u("span",{class:be(["drawer-method-tag",d.value.method])},z(d.value.method),3),u("button",{type:"button",class:"btn-copy-url",onClick:se},z(m.value?"已复制":"复制 URL"),1)]),u("pre",Xp,z(d.value.url),1)]),g.value==="request"?(H(),F(Ae,{key:0},[u("div",Zp,[k[19]||(k[19]=u("h4",null,"Request Headers",-1)),u("pre",eh,z(T(d.value.requestHeaders)),1)]),u("div",th,[k[20]||(k[20]=u("h4",null,"Request Body",-1)),u("pre",nh,z(P(d.value.requestBody)),1)])],64)):(H(),F(Ae,{key:1},[u("div",sh,[k[21]||(k[21]=u("h4",null,"Response Headers",-1)),u("pre",oh,z(T(d.value.responseHeaders)),1)]),u("div",rh,[k[22]||(k[22]=u("h4",null,"Response Body",-1)),u("pre",lh,z(P(d.value.responseBody)),1)])],64))])])):ye("",!0)]))}},ah=Rt(ih,[["__scopeId","data-v-4331eb78"]]),ch={class:"shadowsocks-page"},uh={class:"card"},fh={class:"enable-row"},dh=["disabled"],ph={class:"card"},hh={class:"fields"},gh={class:"field field-wide"},mh={class:"field"},vh={class:"field field-wide"},yh={class:"password-wrap"},_h=["type"],bh={key:0,viewBox:"0 0 20 20",fill:"currentColor"},wh={key:1,viewBox:"0 0 20 20",fill:"currentColor"},xh={class:"field"},Ch={class:"field"},Sh={class:"actions"},Eh=["disabled"],Ah={key:0,class:"btn-spinner"},Th={class:"card status-card"},Rh={class:"status-header"},Ph={class:"status-actions"},Oh=["disabled"],kh=["disabled"],Nh=["disabled"],Ih={class:"status-line"},Mh={key:0,class:"status-pid"},$h={key:1,class:"status-port"},Lh={key:0,class:"status-error"},Dh={class:"log-section"},Vh={class:"log-count"},Uh={key:0,class:"log-pre"},Bh={__name:"Shadowsocks",setup(e){const t=ee({enabled:!1,server:"",serverPort:8388,localPort:1080,password:"",method:"aes-256-gcm",timeout:300}),n=ee({running:!1,pid:null,error:null,logs:[]}),s=ee(!1),o=ee(!1),r=ee(!1),l=ee(!1),i=ee(!1);async function a(){try{const _=await fe("/sslocal");t.value={...t.value,..._},i.value=!1}catch{}}ju(()=>{if(i.value)return confirm("有未保存的更改,离开后将丢失。确定离开吗?")});async function c(){try{const _=await fe("/sslocal-status");n.value=_}catch{}}Ut(async()=>{await Promise.all([a(),c()]),rn(t,()=>{i.value=!0},{deep:!0})});async function f(){s.value=!0;try{await fe("/sslocal",{method:"PUT",body:JSON.stringify(t.value)}),i.value=!1,await c(),_e("设置已保存","success")}catch(_){_e("保存失败:"+_.message,"error")}finally{s.value=!1}}async function d(){t.value.enabled=!t.value.enabled,await f()}async function g(){o.value=!0;try{const _=await fe("/sslocal/start",{method:"POST"});n.value=_,_e("sslocal 已启动","success")}catch(_){_e("启动失败:"+_.message,"error"),await c()}finally{o.value=!1}}async function m(){o.value=!0;try{await fe("/sslocal/stop",{method:"POST"}),await c(),_e("sslocal 已停止","info")}catch(_){_e("停止失败:"+_.message,"error")}finally{o.value=!1}}return(_,y)=>{var T;return H(),F("div",ch,[u("div",uh,[u("div",fh,[y[8]||(y[8]=u("div",null,[u("h3",null,"Shadowsocks (sslocal)"),u("p",{class:"desc"},"启用后将自动管理 sslocal 进程,并将其 SOCKS5 输出作为上游代理。")],-1)),u("button",{type:"button",class:be(["toggle-btn",{on:t.value.enabled}]),onClick:d,disabled:s.value},[...y[7]||(y[7]=[u("span",{class:"toggle-knob"},null,-1)])],10,dh)])]),u("div",ph,[y[17]||(y[17]=u("h3",null,"服务器配置",-1)),u("div",hh,[u("div",gh,[y[9]||(y[9]=u("label",null,"服务器地址",-1)),Te(u("input",{"onUpdate:modelValue":y[0]||(y[0]=P=>t.value.server=P),placeholder:"example.com 或 1.2.3.4"},null,512),[[Ne,t.value.server]])]),u("div",mh,[y[10]||(y[10]=u("label",null,"服务器端口",-1)),Te(u("input",{"onUpdate:modelValue":y[1]||(y[1]=P=>t.value.serverPort=P),type:"number",min:"1",max:"65535"},null,512),[[Ne,t.value.serverPort,void 0,{number:!0}]])]),u("div",vh,[y[13]||(y[13]=u("label",null,"密码",-1)),u("div",yh,[Te(u("input",{"onUpdate:modelValue":y[2]||(y[2]=P=>t.value.password=P),type:r.value?"text":"password",placeholder:"密码"},null,8,_h),[[tu,t.value.password]]),u("button",{type:"button",class:"eye-btn",onClick:y[3]||(y[3]=P=>r.value=!r.value),tabindex:"-1"},[r.value?(H(),F("svg",wh,[...y[12]||(y[12]=[u("path",{"fill-rule":"evenodd",d:"M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z","clip-rule":"evenodd"},null,-1),u("path",{d:"M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.064 7 9.542 7 .847 0 1.669-.105 2.454-.303z"},null,-1)])])):(H(),F("svg",bh,[...y[11]||(y[11]=[u("path",{d:"M10 12a2 2 0 100-4 2 2 0 000 4z"},null,-1),u("path",{"fill-rule":"evenodd",d:"M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z","clip-rule":"evenodd"},null,-1)])]))])])]),u("div",xh,[y[15]||(y[15]=u("label",null,"加密方式",-1)),Te(u("select",{"onUpdate:modelValue":y[4]||(y[4]=P=>t.value.method=P)},[...y[14]||(y[14]=[uc('<optgroup label="AEAD(推荐)" data-v-2f9daaee><option value="aes-128-gcm" data-v-2f9daaee>aes-128-gcm</option><option value="aes-256-gcm" data-v-2f9daaee>aes-256-gcm</option><option value="chacha20-ietf-poly1305" data-v-2f9daaee>chacha20-ietf-poly1305</option><option value="xchacha20-ietf-poly1305" data-v-2f9daaee>xchacha20-ietf-poly1305</option></optgroup><optgroup label="AEAD 2022" data-v-2f9daaee><option value="2022-blake3-aes-128-gcm" data-v-2f9daaee>2022-blake3-aes-128-gcm</option><option value="2022-blake3-aes-256-gcm" data-v-2f9daaee>2022-blake3-aes-256-gcm</option><option value="2022-blake3-chacha20-poly1305" data-v-2f9daaee>2022-blake3-chacha20-poly1305</option></optgroup><optgroup label="流加密(不推荐)" data-v-2f9daaee><option value="aes-128-cfb" data-v-2f9daaee>aes-128-cfb</option><option value="aes-192-cfb" data-v-2f9daaee>aes-192-cfb</option><option value="aes-256-cfb" data-v-2f9daaee>aes-256-cfb</option><option value="aes-128-ctr" data-v-2f9daaee>aes-128-ctr</option><option value="aes-192-ctr" data-v-2f9daaee>aes-192-ctr</option><option value="aes-256-ctr" data-v-2f9daaee>aes-256-ctr</option><option value="camellia-128-cfb" data-v-2f9daaee>camellia-128-cfb</option><option value="camellia-192-cfb" data-v-2f9daaee>camellia-192-cfb</option><option value="camellia-256-cfb" data-v-2f9daaee>camellia-256-cfb</option><option value="chacha20-ietf" data-v-2f9daaee>chacha20-ietf</option><option value="chacha20" data-v-2f9daaee>chacha20</option><option value="salsa20" data-v-2f9daaee>salsa20</option><option value="rc4-md5" data-v-2f9daaee>rc4-md5</option><option value="bf-cfb" data-v-2f9daaee>bf-cfb</option><option value="cast5-cfb" data-v-2f9daaee>cast5-cfb</option><option value="des-cfb" data-v-2f9daaee>des-cfb</option><option value="idea-cfb" data-v-2f9daaee>idea-cfb</option><option value="rc2-cfb" data-v-2f9daaee>rc2-cfb</option><option value="seed-cfb" data-v-2f9daaee>seed-cfb</option><option value="none" data-v-2f9daaee>none(不加密)</option><option value="plain" data-v-2f9daaee>plain(不加密)</option></optgroup>',3)])],512),[[Pn,t.value.method]])]),u("div",Ch,[y[16]||(y[16]=u("label",null,"本地 SOCKS5 端口",-1)),Te(u("input",{"onUpdate:modelValue":y[5]||(y[5]=P=>t.value.localPort=P),type:"number",min:"1",max:"65535"},null,512),[[Ne,t.value.localPort,void 0,{number:!0}]])])]),u("div",Sh,[u("button",{class:"btn primary",onClick:f,disabled:s.value},[s.value?(H(),F("span",Ah)):ye("",!0),he(" "+z(s.value?"保存中…":"保存设置"),1)],8,Eh)])]),u("div",Th,[u("div",Rh,[y[19]||(y[19]=u("h3",null,"运行状态",-1)),u("div",Ph,[u("button",{class:"btn",onClick:g,disabled:o.value||n.value.running},"启动",8,Oh),u("button",{class:"btn danger",onClick:m,disabled:o.value||!n.value.running},"停止",8,kh),u("button",{class:"btn icon-only",onClick:c,disabled:o.value,title:"刷新状态"},[...y[18]||(y[18]=[u("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[u("path",{"fill-rule":"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z","clip-rule":"evenodd"})],-1)])],8,Nh)])]),u("p",Ih,[u("span",{class:be(["status-dot",n.value.running?"on":"off"])},null,2),u("span",{class:be(n.value.running?"status-on":"status-off")},z(n.value.running?"运行中":"已停止"),3),n.value.running&&n.value.pid?(H(),F("span",Mh,"PID "+z(n.value.pid),1)):ye("",!0),n.value.running?(H(),F("span",$h,"→ socks5://127.0.0.1:"+z(t.value.localPort),1)):ye("",!0)]),n.value.error?(H(),F("p",Lh,z(n.value.error),1)):ye("",!0),u("div",Dh,[u("button",{type:"button",class:"log-toggle",onClick:y[6]||(y[6]=P=>l.value=!l.value)},[(H(),F("svg",{viewBox:"0 0 20 20",fill:"currentColor",style:vs({transform:l.value?"rotate(90deg)":"none"})},[...y[20]||(y[20]=[u("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"},null,-1)])],4)),y[21]||(y[21]=he(" 最近日志 ",-1)),u("span",Vh,z(((T=n.value.logs)==null?void 0:T.length)??0)+" 行",1)]),l.value?(H(),F("pre",Uh,z((n.value.logs||[]).join(`
|
|
28
|
+
`)||"(暂无日志)"),1)):ye("",!0)])])])}}},Hh=Rt(Bh,[["__scopeId","data-v-2f9daaee"]]),Fh=[{path:"/",name:"ModeSelect",component:Xf,meta:{title:"选择模式"}},{path:"/login",name:"Login",component:id,meta:{title:"登录"}},{path:"/register",name:"Register",component:vd,meta:{title:"注册"}},{path:"/console",redirect:"/console/traffic"},{path:"/console/traffic",name:"Traffic",component:ah,meta:{title:"流量记录"}},{path:"/console/proxy",name:"ProxySettings",component:Gd,meta:{title:"代理设置"}},{path:"/console/pac-rules",name:"PacRules",component:_p,meta:{title:"PAC 规则"}},{path:"/console/shadowsocks",name:"Shadowsocks",component:Hh,meta:{title:"Shadowsocks"}}],Si=vf({history:qu(),routes:Fh});Si.beforeEach((e,t,n)=>{const s=yi();e.path!=="/"&&!e.path.startsWith("/login")&&!e.path.startsWith("/register")&&!s?n("/"):n()});yi();const Ei=iu(zf);Ei.use(Si);Ei.mount("#app");
|
package/dist/favicon.png
ADDED
|
Binary file
|
package/dist/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>PAC 代理控制台</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-CmIDvBkA.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-QepWtMiX.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
package/lib/server.js
CHANGED
|
@@ -34,8 +34,6 @@ async function applyProxyService(proxyOverride) {
|
|
|
34
34
|
const status = getSslocalStatus();
|
|
35
35
|
if (!status.running) await startSslocal(sslocalCfg);
|
|
36
36
|
proxy.upstream = `socks5://127.0.0.1:${sslocalCfg.localPort || 1080}`;
|
|
37
|
-
// 持久化 upstream,使 proxy-server 每次请求读取 getProxyConfig() 时拿到正确端口
|
|
38
|
-
setProxyConfig(proxy);
|
|
39
37
|
} catch (e) {
|
|
40
38
|
console.error('sslocal 启动失败:', e.message);
|
|
41
39
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pac-proxy-cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.12",
|
|
4
4
|
"description": "node pac proxy and web control panel",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"optionalDependencies": {
|
|
23
23
|
"pac-proxy-sslocal-win32-x64": "1.24.1",
|
|
24
|
-
"pac-proxy-sslocal-darwin-x64": "1.24.
|
|
24
|
+
"pac-proxy-sslocal-darwin-x64": "1.24.1",
|
|
25
25
|
"pac-proxy-sslocal-darwin-arm64": "1.24.0",
|
|
26
26
|
"pac-proxy-sslocal-linux-x64": "1.24.0",
|
|
27
27
|
"pac-proxy-sslocal-linux-arm64": "1.24.0"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&s(l)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
|
|
2
|
-
* @vue/shared v3.5.29
|
|
3
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
-
* @license MIT
|
|
5
|
-
**/function io(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const pe={},nn=[],ut=()=>{},Br=()=>!1,fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ao=e=>e.startsWith("onUpdate:"),Te=Object.assign,co=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ti=Object.prototype.hasOwnProperty,ce=(e,t)=>Ti.call(e,t),q=Array.isArray,sn=e=>Bn(e)==="[object Map]",pn=e=>Bn(e)==="[object Set]",Io=e=>Bn(e)==="[object Date]",Z=e=>typeof e=="function",xe=e=>typeof e=="string",dt=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",Hr=e=>(ue(e)||Z(e))&&Z(e.then)&&Z(e.catch),Fr=Object.prototype.toString,Bn=e=>Fr.call(e),Ri=e=>Bn(e).slice(8,-1),jr=e=>Bn(e)==="[object Object]",uo=e=>xe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wn=io(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ds=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Pi=/-\w/g,Qe=ds(e=>e.replace(Pi,t=>t.slice(1).toUpperCase())),Oi=/\B([A-Z])/g,Jt=ds(e=>e.replace(Oi,"-$1").toLowerCase()),ps=ds(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ts=ds(e=>e?`on${ps(e)}`:""),$t=(e,t)=>!Object.is(e,t),Jn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Gr=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},hs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ki=e=>{const t=xe(e)?Number(e):NaN;return isNaN(t)?e:t};let Mo;const gs=()=>Mo||(Mo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ms(e){if(q(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=xe(s)?$i(s):ms(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(xe(e)||ue(e))return e}const Ni=/;(?![^(]*\))/g,Ii=/:([^]+)/,Mi=/\/\*[^]*?\*\//g;function $i(e){const t={};return e.replace(Mi,"").split(Ni).forEach(n=>{if(n){const s=n.split(Ii);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function be(e){let t="";if(xe(e))t=e;else if(q(e))for(let n=0;n<e.length;n++){const s=be(e[n]);s&&(t+=s+" ")}else if(ue(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Li="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Di=io(Li);function Kr(e){return!!e||e===""}function Vi(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Dt(e[s],t[s]);return n}function Dt(e,t){if(e===t)return!0;let n=Io(e),s=Io(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=dt(e),s=dt(t),n||s)return e===t;if(n=q(e),s=q(t),n||s)return n&&s?Vi(e,t):!1;if(n=ue(e),s=ue(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 l in e){const i=e.hasOwnProperty(l),a=t.hasOwnProperty(l);if(i&&!a||!i&&a||!Dt(e[l],t[l]))return!1}}return String(e)===String(t)}function fo(e,t){return e.findIndex(n=>Dt(n,t))}const Wr=e=>!!(e&&e.__v_isRef===!0),z=e=>xe(e)?e:e==null?"":q(e)||ue(e)&&(e.toString===Fr||!Z(e.toString))?Wr(e)?z(e.value):JSON.stringify(e,zr,2):String(e),zr=(e,t)=>Wr(t)?zr(e,t.value):sn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[Rs(s,r)+" =>"]=o,n),{})}:pn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Rs(n))}:dt(t)?Rs(t):ue(t)&&!q(t)&&!jr(t)?String(t):t,Rs=(e,t="")=>{var n;return dt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
|
6
|
-
* @vue/reactivity v3.5.29
|
|
7
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
8
|
-
* @license MIT
|
|
9
|
-
**/let He;class Ui{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=He,!t&&He&&(this.index=(He.scopes||(He.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=He;try{return He=this,t()}finally{He=n}}}on(){++this._on===1&&(this.prevScope=He,He=this)}off(){this._on>0&&--this._on===0&&(He=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 Bi(){return He}let me;const Ps=new WeakSet;class qr{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,He&&He.active&&He.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ps.has(this)&&(Ps.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Qr(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,$o(this),Yr(this);const t=me,n=Ye;me=this,Ye=!0;try{return this.fn()}finally{Xr(this),me=t,Ye=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)go(t);this.deps=this.depsTail=void 0,$o(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ps.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){js(this)&&this.run()}get dirty(){return js(this)}}let Jr=0,xn,Cn;function Qr(e,t=!1){if(e.flags|=8,t){e.next=Cn,Cn=e;return}e.next=xn,xn=e}function po(){Jr++}function ho(){if(--Jr>0)return;if(Cn){let t=Cn;for(Cn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;xn;){let t=xn;for(xn=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 Yr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Xr(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),go(s),Hi(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function js(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Zr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Zr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===kn)||(e.globalVersion=kn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!js(e))))return;e.flags|=2;const t=e.dep,n=me,s=Ye;me=e,Ye=!0;try{Yr(e);const o=e.fn(e._value);(t.version===0||$t(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{me=n,Ye=s,Xr(e),e.flags&=-3}}function go(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)go(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Hi(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ye=!0;const el=[];function wt(){el.push(Ye),Ye=!1}function xt(){const e=el.pop();Ye=e===void 0?!0:e}function $o(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=me;me=void 0;try{t()}finally{me=n}}}let kn=0;class Fi{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 mo{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(!me||!Ye||me===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==me)n=this.activeLink=new Fi(me,this),me.deps?(n.prevDep=me.depsTail,me.depsTail.nextDep=n,me.depsTail=n):me.deps=me.depsTail=n,tl(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=me.depsTail,n.nextDep=void 0,me.depsTail.nextDep=n,me.depsTail=n,me.deps===n&&(me.deps=s)}return n}trigger(t){this.version++,kn++,this.notify(t)}notify(t){po();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ho()}}}function tl(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)tl(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Gs=new WeakMap,Wt=Symbol(""),Ks=Symbol(""),Nn=Symbol("");function Ne(e,t,n){if(Ye&&me){let s=Gs.get(e);s||Gs.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new mo),o.map=s,o.key=n),o.track()}}function yt(e,t,n,s,o,r){const l=Gs.get(e);if(!l){kn++;return}const i=a=>{a&&a.trigger()};if(po(),t==="clear")l.forEach(i);else{const a=q(e),u=a&&uo(n);if(a&&n==="length"){const f=Number(s);l.forEach((d,g)=>{(g==="length"||g===Nn||!dt(g)&&g>=f)&&i(d)})}else switch((n!==void 0||l.has(void 0))&&i(l.get(n)),u&&i(l.get(Nn)),t){case"add":a?u&&i(l.get("length")):(i(l.get(Wt)),sn(e)&&i(l.get(Ks)));break;case"delete":a||(i(l.get(Wt)),sn(e)&&i(l.get(Ks)));break;case"set":sn(e)&&i(l.get(Wt));break}}ho()}function Xt(e){const t=ie(e);return t===e?t:(Ne(t,"iterate",Nn),ze(e)?t:t.map(Xe))}function vs(e){return Ne(e=ie(e),"iterate",Nn),e}function Nt(e,t){return Ct(e)?an(zt(e)?Xe(t):t):Xe(t)}const ji={__proto__:null,[Symbol.iterator](){return Os(this,Symbol.iterator,e=>Nt(this,e))},concat(...e){return Xt(this).concat(...e.map(t=>q(t)?Xt(t):t))},entries(){return Os(this,"entries",e=>(e[1]=Nt(this,e[1]),e))},every(e,t){return ht(this,"every",e,t,void 0,arguments)},filter(e,t){return ht(this,"filter",e,t,n=>n.map(s=>Nt(this,s)),arguments)},find(e,t){return ht(this,"find",e,t,n=>Nt(this,n),arguments)},findIndex(e,t){return ht(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ht(this,"findLast",e,t,n=>Nt(this,n),arguments)},findLastIndex(e,t){return ht(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ht(this,"forEach",e,t,void 0,arguments)},includes(...e){return ks(this,"includes",e)},indexOf(...e){return ks(this,"indexOf",e)},join(e){return Xt(this).join(e)},lastIndexOf(...e){return ks(this,"lastIndexOf",e)},map(e,t){return ht(this,"map",e,t,void 0,arguments)},pop(){return mn(this,"pop")},push(...e){return mn(this,"push",e)},reduce(e,...t){return Lo(this,"reduce",e,t)},reduceRight(e,...t){return Lo(this,"reduceRight",e,t)},shift(){return mn(this,"shift")},some(e,t){return ht(this,"some",e,t,void 0,arguments)},splice(...e){return mn(this,"splice",e)},toReversed(){return Xt(this).toReversed()},toSorted(e){return Xt(this).toSorted(e)},toSpliced(...e){return Xt(this).toSpliced(...e)},unshift(...e){return mn(this,"unshift",e)},values(){return Os(this,"values",e=>Nt(this,e))}};function Os(e,t,n){const s=vs(e),o=s[t]();return s!==e&&!ze(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const Gi=Array.prototype;function ht(e,t,n,s,o,r){const l=vs(e),i=l!==e&&!ze(e),a=l[t];if(a!==Gi[t]){const d=a.apply(e,r);return i?Xe(d):d}let u=n;l!==e&&(i?u=function(d,g){return n.call(this,Nt(e,d),g,e)}:n.length>2&&(u=function(d,g){return n.call(this,d,g,e)}));const f=a.call(l,u,s);return i&&o?o(f):f}function Lo(e,t,n,s){const o=vs(e);let r=n;return o!==e&&(ze(e)?n.length>3&&(r=function(l,i,a){return n.call(this,l,i,a,e)}):r=function(l,i,a){return n.call(this,l,Nt(e,i),a,e)}),o[t](r,...s)}function ks(e,t,n){const s=ie(e);Ne(s,"iterate",Nn);const o=s[t](...n);return(o===-1||o===!1)&&_o(n[0])?(n[0]=ie(n[0]),s[t](...n)):o}function mn(e,t,n=[]){wt(),po();const s=ie(e)[t].apply(e,n);return ho(),xt(),s}const Ki=io("__proto__,__v_isRef,__isVue"),nl=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(dt));function Wi(e){dt(e)||(e=String(e));const t=ie(this);return Ne(t,"has",e),t.hasOwnProperty(e)}class sl{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?na:il:r?ll:rl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const l=q(t);if(!o){let a;if(l&&(a=ji[n]))return a;if(n==="hasOwnProperty")return Wi}const i=Reflect.get(t,n,Me(t)?t:s);if((dt(n)?nl.has(n):Ki(n))||(o||Ne(t,"get",n),r))return i;if(Me(i)){const a=l&&uo(n)?i:i.value;return o&&ue(a)?ts(a):a}return ue(i)?o?ts(i):hn(i):i}}class ol extends sl{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const l=q(t)&&uo(n);if(!this._isShallow){const u=Ct(r);if(!ze(s)&&!Ct(s)&&(r=ie(r),s=ie(s)),!l&&Me(r)&&!Me(s))return u||(r.value=s),!0}const i=l?Number(n)<t.length:ce(t,n),a=Reflect.set(t,n,s,Me(t)?t:o);return t===ie(o)&&(i?$t(s,r)&&yt(t,"set",n,s):yt(t,"add",n,s)),a}deleteProperty(t,n){const s=ce(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&yt(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!dt(n)||!nl.has(n))&&Ne(t,"has",n),s}ownKeys(t){return Ne(t,"iterate",q(t)?"length":Wt),Reflect.ownKeys(t)}}class zi extends sl{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const qi=new ol,Ji=new zi,Qi=new ol(!0);const Ws=e=>e,Gn=e=>Reflect.getPrototypeOf(e);function Yi(e,t,n){return function(...s){const o=this.__v_raw,r=ie(o),l=sn(r),i=e==="entries"||e===Symbol.iterator&&l,a=e==="keys"&&l,u=o[e](...s),f=n?Ws:t?an:Xe;return!t&&Ne(r,"iterate",a?Ks:Wt),Te(Object.create(u),{next(){const{value:d,done:g}=u.next();return g?{value:d,done:g}:{value:i?[f(d[0]),f(d[1])]:f(d),done:g}}})}}function Kn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xi(e,t){const n={get(o){const r=this.__v_raw,l=ie(r),i=ie(o);e||($t(o,i)&&Ne(l,"get",o),Ne(l,"get",i));const{has:a}=Gn(l),u=t?Ws:e?an:Xe;if(a.call(l,o))return u(r.get(o));if(a.call(l,i))return u(r.get(i));r!==l&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Ne(ie(o),"iterate",Wt),o.size},has(o){const r=this.__v_raw,l=ie(r),i=ie(o);return e||($t(o,i)&&Ne(l,"has",o),Ne(l,"has",i)),o===i?r.has(o):r.has(o)||r.has(i)},forEach(o,r){const l=this,i=l.__v_raw,a=ie(i),u=t?Ws:e?an:Xe;return!e&&Ne(a,"iterate",Wt),i.forEach((f,d)=>o.call(r,u(f),u(d),l))}};return Te(n,e?{add:Kn("add"),set:Kn("set"),delete:Kn("delete"),clear:Kn("clear")}:{add(o){!t&&!ze(o)&&!Ct(o)&&(o=ie(o));const r=ie(this);return Gn(r).has.call(r,o)||(r.add(o),yt(r,"add",o,o)),this},set(o,r){!t&&!ze(r)&&!Ct(r)&&(r=ie(r));const l=ie(this),{has:i,get:a}=Gn(l);let u=i.call(l,o);u||(o=ie(o),u=i.call(l,o));const f=a.call(l,o);return l.set(o,r),u?$t(r,f)&&yt(l,"set",o,r):yt(l,"add",o,r),this},delete(o){const r=ie(this),{has:l,get:i}=Gn(r);let a=l.call(r,o);a||(o=ie(o),a=l.call(r,o)),i&&i.call(r,o);const u=r.delete(o);return a&&yt(r,"delete",o,void 0),u},clear(){const o=ie(this),r=o.size!==0,l=o.clear();return r&&yt(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Yi(o,e,t)}),n}function vo(e,t){const n=Xi(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(ce(n,o)&&o in s?n:s,o,r)}const Zi={get:vo(!1,!1)},ea={get:vo(!1,!0)},ta={get:vo(!0,!1)};const rl=new WeakMap,ll=new WeakMap,il=new WeakMap,na=new WeakMap;function sa(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oa(e){return e.__v_skip||!Object.isExtensible(e)?0:sa(Ri(e))}function hn(e){return Ct(e)?e:yo(e,!1,qi,Zi,rl)}function al(e){return yo(e,!1,Qi,ea,ll)}function ts(e){return yo(e,!0,Ji,ta,il)}function yo(e,t,n,s,o){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=oa(e);if(r===0)return e;const l=o.get(e);if(l)return l;const i=new Proxy(e,r===2?s:n);return o.set(e,i),i}function zt(e){return Ct(e)?zt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ct(e){return!!(e&&e.__v_isReadonly)}function ze(e){return!!(e&&e.__v_isShallow)}function _o(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function ra(e){return!ce(e,"__v_skip")&&Object.isExtensible(e)&&Gr(e,"__v_skip",!0),e}const Xe=e=>ue(e)?hn(e):e,an=e=>ue(e)?ts(e):e;function Me(e){return e?e.__v_isRef===!0:!1}function ee(e){return cl(e,!1)}function la(e){return cl(e,!0)}function cl(e,t){return Me(e)?e:new ia(e,t)}class ia{constructor(t,n){this.dep=new mo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ie(t),this._value=n?t:Xe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ze(t)||Ct(t);t=s?t:ie(t),$t(t,n)&&(this._rawValue=t,this._value=s?t:Xe(t),this.dep.trigger())}}function ft(e){return Me(e)?e.value:e}const aa={get:(e,t,n)=>t==="__v_raw"?e:ft(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return Me(o)&&!Me(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function ul(e){return zt(e)?e:new Proxy(e,aa)}class ca{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new mo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=kn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return Qr(this,!0),!0}get value(){const t=this.dep.track();return Zr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ua(e,t,n=!1){let s,o;return Z(e)?s=e:(s=e.get,o=e.set),new ca(s,o,n)}const Wn={},ns=new WeakMap;let Gt;function fa(e,t=!1,n=Gt){if(n){let s=ns.get(n);s||ns.set(n,s=[]),s.push(e)}}function da(e,t,n=pe){const{immediate:s,deep:o,once:r,scheduler:l,augmentJob:i,call:a}=n,u=b=>o?b:ze(b)||o===!1||o===0?_t(b,1):_t(b);let f,d,g,m,_=!1,y=!1;if(Me(e)?(d=()=>e.value,_=ze(e)):zt(e)?(d=()=>u(e),_=!0):q(e)?(y=!0,_=e.some(b=>zt(b)||ze(b)),d=()=>e.map(b=>{if(Me(b))return b.value;if(zt(b))return u(b);if(Z(b))return a?a(b,2):b()})):Z(e)?t?d=a?()=>a(e,2):e:d=()=>{if(g){wt();try{g()}finally{xt()}}const b=Gt;Gt=f;try{return a?a(e,3,[m]):e(m)}finally{Gt=b}}:d=ut,t&&o){const b=d,I=o===!0?1/0:o;d=()=>_t(b(),I)}const T=Bi(),P=()=>{f.stop(),T&&T.active&&co(T.effects,f)};if(r&&t){const b=t;t=(...I)=>{b(...I),P()}}let R=y?new Array(e.length).fill(Wn):Wn;const A=b=>{if(!(!(f.flags&1)||!f.dirty&&!b))if(t){const I=f.run();if(o||_||(y?I.some((J,j)=>$t(J,R[j])):$t(I,R))){g&&g();const J=Gt;Gt=f;try{const j=[I,R===Wn?void 0:y&&R[0]===Wn?[]:R,m];R=I,a?a(t,3,j):t(...j)}finally{Gt=J}}}else f.run()};return i&&i(A),f=new qr(d),f.scheduler=l?()=>l(A,!1):A,m=b=>fa(b,!1,f),g=f.onStop=()=>{const b=ns.get(f);if(b){if(a)a(b,4);else for(const I of b)I();ns.delete(f)}},t?s?A(!0):R=f.run():l?l(A.bind(null,!0),!0):f.run(),P.pause=f.pause.bind(f),P.resume=f.resume.bind(f),P.stop=P,P}function _t(e,t=1/0,n){if(t<=0||!ue(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Me(e))_t(e.value,t,n);else if(q(e))for(let s=0;s<e.length;s++)_t(e[s],t,n);else if(pn(e)||sn(e))e.forEach(s=>{_t(s,t,n)});else if(jr(e)){for(const s in e)_t(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&_t(e[s],t,n)}return e}/**
|
|
10
|
-
* @vue/runtime-core v3.5.29
|
|
11
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
12
|
-
* @license MIT
|
|
13
|
-
**/function Hn(e,t,n,s){try{return s?e(...s):e()}catch(o){ys(o,t,n)}}function Ze(e,t,n,s){if(Z(e)){const o=Hn(e,t,n,s);return o&&Hr(o)&&o.catch(r=>{ys(r,t,n)}),o}if(q(e)){const o=[];for(let r=0;r<e.length;r++)o.push(Ze(e[r],t,n,s));return o}}function ys(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||pe;if(t){let i=t.parent;const a=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;i;){const f=i.ec;if(f){for(let d=0;d<f.length;d++)if(f[d](e,a,u)===!1)return}i=i.parent}if(r){wt(),Hn(r,null,10,[e,a,u]),xt();return}}pa(e,n,o,s,l)}function pa(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const De=[];let it=-1;const on=[];let It=null,Zt=0;const fl=Promise.resolve();let ss=null;function bo(e){const t=ss||fl;return e?t.then(this?e.bind(this):e):t}function ha(e){let t=it+1,n=De.length;for(;t<n;){const s=t+n>>>1,o=De[s],r=In(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function wo(e){if(!(e.flags&1)){const t=In(e),n=De[De.length-1];!n||!(e.flags&2)&&t>=In(n)?De.push(e):De.splice(ha(t),0,e),e.flags|=1,dl()}}function dl(){ss||(ss=fl.then(hl))}function ga(e){q(e)?on.push(...e):It&&e.id===-1?It.splice(Zt+1,0,e):e.flags&1||(on.push(e),e.flags|=1),dl()}function Do(e,t,n=it+1){for(;n<De.length;n++){const s=De[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;De.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function pl(e){if(on.length){const t=[...new Set(on)].sort((n,s)=>In(n)-In(s));if(on.length=0,It){It.push(...t);return}for(It=t,Zt=0;Zt<It.length;Zt++){const n=It[Zt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}It=null,Zt=0}}const In=e=>e.id==null?e.flags&2?-1:1/0:e.id;function hl(e){try{for(it=0;it<De.length;it++){const t=De[it];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Hn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;it<De.length;it++){const t=De[it];t&&(t.flags&=-2)}it=-1,De.length=0,pl(),ss=null,(De.length||on.length)&&hl()}}let je=null,gl=null;function os(e){const t=je;return je=e,gl=e&&e.type.__scopeId||null,t}function ct(e,t=je,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&is(-1);const r=os(t);let l;try{l=e(...o)}finally{os(r),s._d&&is(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Ae(e,t){if(je===null)return e;const n=Cs(je),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,l,i,a=pe]=t[o];r&&(Z(r)&&(r={mounted:r,updated:r}),r.deep&&_t(l),s.push({dir:r,instance:n,value:l,oldValue:void 0,arg:i,modifiers:a}))}return e}function Ht(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let l=0;l<o.length;l++){const i=o[l];r&&(i.oldValue=r[l].value);let a=i.dir[s];a&&(wt(),Ze(a,n,8,[e.el,i,e,t]),xt())}}function Qn(e,t){if(Ie){let n=Ie.provides;const s=Ie.parent&&Ie.parent.provides;s===n&&(n=Ie.provides=Object.create(s)),n[e]=t}}function qe(e,t,n=!1){const s=ql();if(s||ln){let o=ln?ln._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&&Z(t)?t.call(s&&s.proxy):t}}const ma=Symbol.for("v-scx"),va=()=>qe(ma);function rn(e,t,n){return ml(e,t,n)}function ml(e,t,n=pe){const{immediate:s,deep:o,flush:r,once:l}=n,i=Te({},n),a=t&&s||!t&&r!=="post";let u;if(Vn){if(r==="sync"){const m=va();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=ut,m.resume=ut,m.pause=ut,m}}const f=Ie;i.call=(m,_,y)=>Ze(m,f,_,y);let d=!1;r==="post"?i.scheduler=m=>{ke(m,f&&f.suspense)}:r!=="sync"&&(d=!0,i.scheduler=(m,_)=>{_?m():wo(m)}),i.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const g=da(e,t,i);return Vn&&(u?u.push(g):a&&g()),g}function ya(e,t,n){const s=this.proxy,o=xe(e)?e.includes(".")?vl(s,e):()=>s[e]:e.bind(s,s);let r;Z(t)?r=t:(r=t.handler,n=t);const l=Fn(this),i=ml(o,r.bind(s),n);return l(),i}function vl(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 yl=Symbol("_vte"),_a=e=>e.__isTeleport,Sn=e=>e&&(e.disabled||e.disabled===""),Vo=e=>e&&(e.defer||e.defer===""),Uo=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bo=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,zs=(e,t)=>{const n=e&&e.to;return xe(n)?t?t(n):null:n},_l={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,l,i,a,u){const{mc:f,pc:d,pbc:g,o:{insert:m,querySelector:_,createText:y,createComment:T}}=u,P=Sn(t.props);let{shapeFlag:R,children:A,dynamicChildren:b}=t;if(e==null){const I=t.el=y(""),J=t.anchor=y("");m(I,n,s),m(J,n,s);const j=(V,X)=>{R&16&&f(A,V,X,o,r,l,i,a)},le=()=>{const V=t.target=zs(t.props,_),X=qs(V,t,y,m);V&&(l!=="svg"&&Uo(V)?l="svg":l!=="mathml"&&Bo(V)&&(l="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(V),P||(j(V,X),Yn(t,!1)))};P&&(j(n,J),Yn(t,!0)),Vo(t.props)?(t.el.__isMounted=!1,ke(()=>{le(),delete t.el.__isMounted},r)):le()}else{if(Vo(t.props)&&e.el.__isMounted===!1){ke(()=>{_l.process(e,t,n,s,o,r,l,i,a,u)},r);return}t.el=e.el,t.targetStart=e.targetStart;const I=t.anchor=e.anchor,J=t.target=e.target,j=t.targetAnchor=e.targetAnchor,le=Sn(e.props),V=le?n:J,X=le?I:j;if(l==="svg"||Uo(J)?l="svg":(l==="mathml"||Bo(J))&&(l="mathml"),b?(g(e.dynamicChildren,b,V,o,r,l,i),So(e,t,!0)):a||d(e,t,V,X,o,r,l,i,!1),P)le?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):zn(t,n,I,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const te=t.target=zs(t.props,_);te&&zn(t,te,null,u,0)}else le&&zn(t,J,j,u,1);Yn(t,P)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:l,children:i,anchor:a,targetStart:u,targetAnchor:f,target:d,props:g}=e;if(d&&(o(u),o(f)),r&&o(a),l&16){const m=r||!Sn(g);for(let _=0;_<i.length;_++){const y=i[_];s(y,t,n,m,!!y.dynamicChildren)}}},move:zn,hydrate:ba};function zn(e,t,n,{o:{insert:s},m:o},r=2){r===0&&s(e.targetAnchor,t,n);const{el:l,anchor:i,shapeFlag:a,children:u,props:f}=e,d=r===2;if(d&&s(l,t,n),(!d||Sn(f))&&a&16)for(let g=0;g<u.length;g++)o(u[g],t,n,2);d&&s(i,t,n)}function ba(e,t,n,s,o,r,{o:{nextSibling:l,parentNode:i,querySelector:a,insert:u,createText:f}},d){function g(T,P){let R=P;for(;R;){if(R&&R.nodeType===8){if(R.data==="teleport start anchor")t.targetStart=R;else if(R.data==="teleport anchor"){t.targetAnchor=R,T._lpa=t.targetAnchor&&l(t.targetAnchor);break}}R=l(R)}}function m(T,P){P.anchor=d(l(T),P,i(T),n,s,o,r)}const _=t.target=zs(t.props,a),y=Sn(t.props);if(_){const T=_._lpa||_.firstChild;t.shapeFlag&16&&(y?(m(e,t),g(_,T),t.targetAnchor||qs(_,t,f,u,i(e)===_?e:null)):(t.anchor=l(e),g(_,T),t.targetAnchor||qs(_,t,f,u),d(T&&l(T),t,_,n,s,o,r))),Yn(t,y)}else y&&t.shapeFlag&16&&(m(e,t),t.targetStart=e,t.targetAnchor=l(e));return t.anchor&&l(t.anchor)}const wa=_l;function Yn(e,t){const n=e.ctx;if(n&&n.ut){let s,o;for(t?(s=e.el,o=e.anchor):(s=e.targetStart,o=e.targetAnchor);s&&s!==o;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function qs(e,t,n,s,o=null){const r=t.targetStart=n(""),l=t.targetAnchor=n("");return r[yl]=l,e&&(s(r,e,o),s(l,e,o)),l}const Ot=Symbol("_leaveCb"),vn=Symbol("_enterCb");function xa(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ut(()=>{e.isMounted=!0}),Rl(()=>{e.isUnmounting=!0}),e}const We=[Function,Array],Ca={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:We,onEnter:We,onAfterEnter:We,onEnterCancelled:We,onBeforeLeave:We,onLeave:We,onAfterLeave:We,onLeaveCancelled:We,onBeforeAppear:We,onAppear:We,onAfterAppear:We,onAppearCancelled:We};function Sa(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Js(e,t,n,s,o){const{appear:r,mode:l,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:f,onEnterCancelled:d,onBeforeLeave:g,onLeave:m,onAfterLeave:_,onLeaveCancelled:y,onBeforeAppear:T,onAppear:P,onAfterAppear:R,onAppearCancelled:A}=t,b=String(e.key),I=Sa(n,e),J=(V,X)=>{V&&Ze(V,s,9,X)},j=(V,X)=>{const te=X[1];J(V,X),q(V)?V.every(L=>L.length<=1)&&te():V.length<=1&&te()},le={mode:l,persisted:i,beforeEnter(V){let X=a;if(!n.isMounted)if(r)X=T||a;else return;V[Ot]&&V[Ot](!0);const te=I[b];te&&en(e,te)&&te.el[Ot]&&te.el[Ot](),J(X,[V])},enter(V){if(I[b]===e)return;let X=u,te=f,L=d;if(!n.isMounted)if(r)X=P||u,te=R||f,L=A||d;else return;let se=!1;V[vn]=G=>{se||(se=!0,G?J(L,[V]):J(te,[V]),le.delayedLeave&&le.delayedLeave(),V[vn]=void 0)};const Ce=V[vn].bind(null,!1);X?j(X,[V,Ce]):Ce()},leave(V,X){const te=String(e.key);if(V[vn]&&V[vn](!0),n.isUnmounting)return X();J(g,[V]);let L=!1;V[Ot]=Ce=>{L||(L=!0,X(),Ce?J(y,[V]):J(_,[V]),V[Ot]=void 0,I[te]===e&&delete I[te])};const se=V[Ot].bind(null,!1);I[te]=e,m?j(m,[V,se]):se()},clone(V){return Js(V,t,n,s)}};return le}function Mn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Mn(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 bl(e,t=!1,n){let s=[],o=0;for(let r=0;r<e.length;r++){let l=e[r];const i=n==null?l.key:String(n)+String(l.key!=null?l.key:r);l.type===Ee?(l.patchFlag&128&&o++,s=s.concat(bl(l.children,t,i))):(t||l.type!==St)&&s.push(i!=null?qt(l,{key:i}):l)}if(o>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function wl(e,t){return Z(e)?Te({name:e.name},t,{setup:e}):e}function xl(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 rs=new WeakMap;function En(e,t,n,s,o=!1){if(q(e)){e.forEach((y,T)=>En(y,t&&(q(t)?t[T]:t),n,s,o));return}if(An(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&En(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Cs(s.component):s.el,l=o?null:r,{i,r:a}=e,u=t&&t.r,f=i.refs===pe?i.refs={}:i.refs,d=i.setupState,g=ie(d),m=d===pe?Br:y=>Ho(f,y)?!1:ce(g,y),_=(y,T)=>!(T&&Ho(f,T));if(u!=null&&u!==a){if(Fo(t),xe(u))f[u]=null,m(u)&&(d[u]=null);else if(Me(u)){const y=t;_(u,y.k)&&(u.value=null),y.k&&(f[y.k]=null)}}if(Z(a))Hn(a,i,12,[l,f]);else{const y=xe(a),T=Me(a);if(y||T){const P=()=>{if(e.f){const R=y?m(a)?d[a]:f[a]:_()||!e.k?a.value:f[e.k];if(o)q(R)&&co(R,r);else if(q(R))R.includes(r)||R.push(r);else if(y)f[a]=[r],m(a)&&(d[a]=f[a]);else{const A=[r];_(a,e.k)&&(a.value=A),e.k&&(f[e.k]=A)}}else y?(f[a]=l,m(a)&&(d[a]=l)):T&&(_(a,e.k)&&(a.value=l),e.k&&(f[e.k]=l))};if(l){const R=()=>{P(),rs.delete(e)};R.id=-1,rs.set(e,R),ke(R,n)}else Fo(e),P()}}}function Fo(e){const t=rs.get(e);t&&(t.flags|=8,rs.delete(e))}gs().requestIdleCallback;gs().cancelIdleCallback;const An=e=>!!e.type.__asyncLoader,Cl=e=>e.type.__isKeepAlive;function Sl(e,t){Al(e,"a",t)}function El(e,t){Al(e,"da",t)}function Al(e,t,n=Ie){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(_s(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Cl(o.parent.vnode)&&Ea(s,t,n,o),o=o.parent}}function Ea(e,t,n,s){const o=_s(t,e,s,!0);bs(()=>{co(s[t],o)},n)}function _s(e,t,n=Ie,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...l)=>{wt();const i=Fn(n),a=Ze(t,n,e,l);return i(),xt(),a});return s?o.unshift(r):o.push(r),r}}const Et=e=>(t,n=Ie)=>{(!Vn||e==="sp")&&_s(e,(...s)=>t(...s),n)},Aa=Et("bm"),Ut=Et("m"),Ta=Et("bu"),Tl=Et("u"),Rl=Et("bum"),bs=Et("um"),Ra=Et("sp"),Pa=Et("rtg"),Oa=Et("rtc");function ka(e,t=Ie){_s("ec",e,t)}const Na="components";function $n(e,t){return Ma(Na,e,!0,t)||e}const Ia=Symbol.for("v-ndc");function Ma(e,t,n=!0,s=!1){const o=je||Ie;if(o){const r=o.type;{const i=_c(r,!1);if(i&&(i===t||i===Qe(t)||i===ps(Qe(t))))return r}const l=jo(o[e]||r[e],t)||jo(o.appContext[e],t);return!l&&s?r:l}}function jo(e,t){return e&&(e[t]||e[Qe(t)]||e[ps(Qe(t))])}function Ln(e,t,n,s){let o;const r=n,l=q(e);if(l||xe(e)){const i=l&&zt(e);let a=!1,u=!1;i&&(a=!ze(e),u=Ct(e),e=vs(e)),o=new Array(e.length);for(let f=0,d=e.length;f<d;f++)o[f]=t(a?u?an(Xe(e[f])):Xe(e[f]):e[f],f,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let i=0;i<e;i++)o[i]=t(i+1,i,void 0,r)}else if(ue(e))if(e[Symbol.iterator])o=Array.from(e,(i,a)=>t(i,a,void 0,r));else{const i=Object.keys(e);o=new Array(i.length);for(let a=0,u=i.length;a<u;a++){const f=i[a];o[a]=t(e[f],f,a,r)}}else o=[];return o}const Qs=e=>e?Jl(e)?Cs(e):Qs(e.parent):null,Tn=Te(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=>Qs(e.parent),$root:e=>Qs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ol(e),$forceUpdate:e=>e.f||(e.f=()=>{wo(e.update)}),$nextTick:e=>e.n||(e.n=bo.bind(e.proxy)),$watch:e=>ya.bind(e)}),Ns=(e,t)=>e!==pe&&!e.__isScriptSetup&&ce(e,t),$a={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:l,type:i,appContext:a}=e;if(t[0]!=="$"){const g=l[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(Ns(s,t))return l[t]=1,s[t];if(o!==pe&&ce(o,t))return l[t]=2,o[t];if(ce(r,t))return l[t]=3,r[t];if(n!==pe&&ce(n,t))return l[t]=4,n[t];Ys&&(l[t]=0)}}const u=Tn[t];let f,d;if(u)return t==="$attrs"&&Ne(e.attrs,"get",""),u(e);if((f=i.__cssModules)&&(f=f[t]))return f;if(n!==pe&&ce(n,t))return l[t]=4,n[t];if(d=a.config.globalProperties,ce(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return Ns(o,t)?(o[t]=n,!0):s!==pe&&ce(s,t)?(s[t]=n,!0):ce(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:l}},i){let a;return!!(n[i]||e!==pe&&i[0]!=="$"&&ce(e,i)||Ns(t,i)||ce(r,i)||ce(s,i)||ce(Tn,i)||ce(o.config.globalProperties,i)||(a=l.__cssModules)&&a[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ce(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Go(e){return q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ys=!0;function La(e){const t=Ol(e),n=e.proxy,s=e.ctx;Ys=!1,t.beforeCreate&&Ko(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:l,watch:i,provide:a,inject:u,created:f,beforeMount:d,mounted:g,beforeUpdate:m,updated:_,activated:y,deactivated:T,beforeDestroy:P,beforeUnmount:R,destroyed:A,unmounted:b,render:I,renderTracked:J,renderTriggered:j,errorCaptured:le,serverPrefetch:V,expose:X,inheritAttrs:te,components:L,directives:se,filters:Ce}=t;if(u&&Da(u,s,null),l)for(const U in l){const ne=l[U];Z(ne)&&(s[U]=ne.bind(n))}if(o){const U=o.call(n,n);ue(U)&&(e.data=hn(U))}if(Ys=!0,r)for(const U in r){const ne=r[U],pt=Z(ne)?ne.bind(n,n):Z(ne.get)?ne.get.bind(n,n):ut,Tt=!Z(ne)&&Z(ne.set)?ne.set.bind(n):ut,tt=Se({get:pt,set:Tt});Object.defineProperty(s,U,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Ve=>tt.value=Ve})}if(i)for(const U in i)Pl(i[U],s,n,U);if(a){const U=Z(a)?a.call(n):a;Reflect.ownKeys(U).forEach(ne=>{Qn(ne,U[ne])})}f&&Ko(f,e,"c");function k(U,ne){q(ne)?ne.forEach(pt=>U(pt.bind(n))):ne&&U(ne.bind(n))}if(k(Aa,d),k(Ut,g),k(Ta,m),k(Tl,_),k(Sl,y),k(El,T),k(ka,le),k(Oa,J),k(Pa,j),k(Rl,R),k(bs,b),k(Ra,V),q(X))if(X.length){const U=e.exposed||(e.exposed={});X.forEach(ne=>{Object.defineProperty(U,ne,{get:()=>n[ne],set:pt=>n[ne]=pt,enumerable:!0})})}else e.exposed||(e.exposed={});I&&e.render===ut&&(e.render=I),te!=null&&(e.inheritAttrs=te),L&&(e.components=L),se&&(e.directives=se),V&&xl(e)}function Da(e,t,n=ut){q(e)&&(e=Xs(e));for(const s in e){const o=e[s];let r;ue(o)?"default"in o?r=qe(o.from||s,o.default,!0):r=qe(o.from||s):r=qe(o),Me(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:l=>r.value=l}):t[s]=r}}function Ko(e,t,n){Ze(q(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pl(e,t,n,s){let o=s.includes(".")?vl(n,s):()=>n[s];if(xe(e)){const r=t[e];Z(r)&&rn(o,r)}else if(Z(e))rn(o,e.bind(n));else if(ue(e))if(q(e))e.forEach(r=>Pl(r,t,n,s));else{const r=Z(e.handler)?e.handler.bind(n):t[e.handler];Z(r)&&rn(o,r,e)}}function Ol(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:l}}=e.appContext,i=r.get(t);let a;return i?a=i:!o.length&&!n&&!s?a=t:(a={},o.length&&o.forEach(u=>ls(a,u,l,!0)),ls(a,t,l)),ue(t)&&r.set(t,a),a}function ls(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&ls(e,r,n,!0),o&&o.forEach(l=>ls(e,l,n,!0));for(const l in t)if(!(s&&l==="expose")){const i=Va[l]||n&&n[l];e[l]=i?i(e[l],t[l]):t[l]}return e}const Va={data:Wo,props:zo,emits:zo,methods:bn,computed:bn,beforeCreate:$e,created:$e,beforeMount:$e,mounted:$e,beforeUpdate:$e,updated:$e,beforeDestroy:$e,beforeUnmount:$e,destroyed:$e,unmounted:$e,activated:$e,deactivated:$e,errorCaptured:$e,serverPrefetch:$e,components:bn,directives:bn,watch:Ba,provide:Wo,inject:Ua};function Wo(e,t){return t?e?function(){return Te(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function Ua(e,t){return bn(Xs(e),Xs(t))}function Xs(e){if(q(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function $e(e,t){return e?[...new Set([].concat(e,t))]:t}function bn(e,t){return e?Te(Object.create(null),e,t):t}function zo(e,t){return e?q(e)&&q(t)?[...new Set([...e,...t])]:Te(Object.create(null),Go(e),Go(t??{})):t}function Ba(e,t){if(!e)return t;if(!t)return e;const n=Te(Object.create(null),e);for(const s in t)n[s]=$e(e[s],t[s]);return n}function kl(){return{app:null,config:{isNativeTag:Br,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 Ha=0;function Fa(e,t){return function(s,o=null){Z(s)||(s=Te({},s)),o!=null&&!ue(o)&&(o=null);const r=kl(),l=new WeakSet,i=[];let a=!1;const u=r.app={_uid:Ha++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:wc,get config(){return r.config},set config(f){},use(f,...d){return l.has(f)||(f&&Z(f.install)?(l.add(f),f.install(u,...d)):Z(f)&&(l.add(f),f(u,...d))),u},mixin(f){return r.mixins.includes(f)||r.mixins.push(f),u},component(f,d){return d?(r.components[f]=d,u):r.components[f]},directive(f,d){return d?(r.directives[f]=d,u):r.directives[f]},mount(f,d,g){if(!a){const m=u._ceVNode||ve(s,o);return m.appContext=r,g===!0?g="svg":g===!1&&(g=void 0),e(m,f,g),a=!0,u._container=f,f.__vue_app__=u,Cs(m.component)}},onUnmount(f){i.push(f)},unmount(){a&&(Ze(i,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(f,d){return r.provides[f]=d,u},runWithContext(f){const d=ln;ln=u;try{return f()}finally{ln=d}}};return u}}let ln=null;const ja=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Qe(t)}Modifiers`]||e[`${Jt(t)}Modifiers`];function Ga(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||pe;let o=n;const r=t.startsWith("update:"),l=r&&ja(s,t.slice(7));l&&(l.trim&&(o=n.map(f=>xe(f)?f.trim():f)),l.number&&(o=n.map(hs)));let i,a=s[i=Ts(t)]||s[i=Ts(Qe(t))];!a&&r&&(a=s[i=Ts(Jt(t))]),a&&Ze(a,e,6,o);const u=s[i+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Ze(u,e,6,o)}}const Ka=new WeakMap;function Nl(e,t,n=!1){const s=n?Ka:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let l={},i=!1;if(!Z(e)){const a=u=>{const f=Nl(u,t,!0);f&&(i=!0,Te(l,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!r&&!i?(ue(e)&&s.set(e,null),null):(q(r)?r.forEach(a=>l[a]=null):Te(l,r),ue(e)&&s.set(e,l),l)}function ws(e,t){return!e||!fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ce(e,t[0].toLowerCase()+t.slice(1))||ce(e,Jt(t))||ce(e,t))}function qo(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:l,attrs:i,emit:a,render:u,renderCache:f,props:d,data:g,setupState:m,ctx:_,inheritAttrs:y}=e,T=os(e);let P,R;try{if(n.shapeFlag&4){const b=o||s,I=b;P=at(u.call(I,b,f,d,m,g,_)),R=i}else{const b=t;P=at(b.length>1?b(d,{attrs:i,slots:l,emit:a}):b(d,null)),R=t.props?i:Wa(i)}}catch(b){Rn.length=0,ys(b,e,1),P=ve(St)}let A=P;if(R&&y!==!1){const b=Object.keys(R),{shapeFlag:I}=A;b.length&&I&7&&(r&&b.some(ao)&&(R=za(R,r)),A=qt(A,R,!1,!0))}return n.dirs&&(A=qt(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(n.dirs):n.dirs),n.transition&&Mn(A,n.transition),P=A,os(T),P}const Wa=e=>{let t;for(const n in e)(n==="class"||n==="style"||fs(n))&&((t||(t={}))[n]=e[n]);return t},za=(e,t)=>{const n={};for(const s in e)(!ao(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function qa(e,t,n){const{props:s,children:o,component:r}=e,{props:l,children:i,patchFlag:a}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return s?Jo(s,l,u):!!l;if(a&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const g=f[d];if(Il(l,s,g)&&!ws(u,g))return!0}}}else return(o||i)&&(!i||!i.$stable)?!0:s===l?!1:s?l?Jo(s,l,u):!0:!!l;return!1}function Jo(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(Il(t,e,r)&&!ws(n,r))return!0}return!1}function Il(e,t,n){const s=e[n],o=t[n];return n==="style"&&ue(s)&&ue(o)?!Dt(s,o):s!==o}function Ja({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 Ml={},$l=()=>Object.create(Ml),Ll=e=>Object.getPrototypeOf(e)===Ml;function Qa(e,t,n,s=!1){const o={},r=$l();e.propsDefaults=Object.create(null),Dl(e,t,o,r);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);n?e.props=s?o:al(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Ya(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:l}}=e,i=ie(o),[a]=e.propsOptions;let u=!1;if((s||l>0)&&!(l&16)){if(l&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let g=f[d];if(ws(e.emitsOptions,g))continue;const m=t[g];if(a)if(ce(r,g))m!==r[g]&&(r[g]=m,u=!0);else{const _=Qe(g);o[_]=Zs(a,i,_,m,e,!1)}else m!==r[g]&&(r[g]=m,u=!0)}}}else{Dl(e,t,o,r)&&(u=!0);let f;for(const d in i)(!t||!ce(t,d)&&((f=Jt(d))===d||!ce(t,f)))&&(a?n&&(n[d]!==void 0||n[f]!==void 0)&&(o[d]=Zs(a,i,d,void 0,e,!0)):delete o[d]);if(r!==i)for(const d in r)(!t||!ce(t,d))&&(delete r[d],u=!0)}u&&yt(e.attrs,"set","")}function Dl(e,t,n,s){const[o,r]=e.propsOptions;let l=!1,i;if(t)for(let a in t){if(wn(a))continue;const u=t[a];let f;o&&ce(o,f=Qe(a))?!r||!r.includes(f)?n[f]=u:(i||(i={}))[f]=u:ws(e.emitsOptions,a)||(!(a in s)||u!==s[a])&&(s[a]=u,l=!0)}if(r){const a=ie(n),u=i||pe;for(let f=0;f<r.length;f++){const d=r[f];n[d]=Zs(o,a,d,u[d],e,!ce(u,d))}}return l}function Zs(e,t,n,s,o,r){const l=e[n];if(l!=null){const i=ce(l,"default");if(i&&s===void 0){const a=l.default;if(l.type!==Function&&!l.skipFactory&&Z(a)){const{propsDefaults:u}=o;if(n in u)s=u[n];else{const f=Fn(o);s=u[n]=a.call(null,t),f()}}else s=a;o.ce&&o.ce._setProp(n,s)}l[0]&&(r&&!i?s=!1:l[1]&&(s===""||s===Jt(n))&&(s=!0))}return s}const Xa=new WeakMap;function Vl(e,t,n=!1){const s=n?Xa:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,l={},i=[];let a=!1;if(!Z(e)){const f=d=>{a=!0;const[g,m]=Vl(d,t,!0);Te(l,g),m&&i.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!r&&!a)return ue(e)&&s.set(e,nn),nn;if(q(r))for(let f=0;f<r.length;f++){const d=Qe(r[f]);Qo(d)&&(l[d]=pe)}else if(r)for(const f in r){const d=Qe(f);if(Qo(d)){const g=r[f],m=l[d]=q(g)||Z(g)?{type:g}:Te({},g),_=m.type;let y=!1,T=!0;if(q(_))for(let P=0;P<_.length;++P){const R=_[P],A=Z(R)&&R.name;if(A==="Boolean"){y=!0;break}else A==="String"&&(T=!1)}else y=Z(_)&&_.name==="Boolean";m[0]=y,m[1]=T,(y||ce(m,"default"))&&i.push(d)}}const u=[l,i];return ue(e)&&s.set(e,u),u}function Qo(e){return e[0]!=="$"&&!wn(e)}const xo=e=>e==="_"||e==="_ctx"||e==="$stable",Co=e=>q(e)?e.map(at):[at(e)],Za=(e,t,n)=>{if(t._n)return t;const s=ct((...o)=>Co(t(...o)),n);return s._c=!1,s},Ul=(e,t,n)=>{const s=e._ctx;for(const o in e){if(xo(o))continue;const r=e[o];if(Z(r))t[o]=Za(o,r,s);else if(r!=null){const l=Co(r);t[o]=()=>l}}},Bl=(e,t)=>{const n=Co(t);e.slots.default=()=>n},Hl=(e,t,n)=>{for(const s in t)(n||!xo(s))&&(e[s]=t[s])},ec=(e,t,n)=>{const s=e.slots=$l();if(e.vnode.shapeFlag&32){const o=t._;o?(Hl(s,t,n),n&&Gr(s,"_",o,!0)):Ul(t,s)}else t&&Bl(e,t)},tc=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,l=pe;if(s.shapeFlag&32){const i=t._;i?n&&i===1?r=!1:Hl(o,t,n):(r=!t.$stable,Ul(t,o)),l=t}else t&&(Bl(e,t),l={default:1});if(r)for(const i in o)!xo(i)&&l[i]==null&&delete o[i]},ke=lc;function nc(e){return sc(e)}function sc(e,t){const n=gs();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:l,createText:i,createComment:a,setText:u,setElementText:f,parentNode:d,nextSibling:g,setScopeId:m=ut,insertStaticContent:_}=e,y=(p,h,v,w=null,S=null,x=null,M=void 0,N=null,O=!!h.dynamicChildren)=>{if(p===h)return;p&&!en(p,h)&&(w=C(p),Ve(p,S,x,!0),p=null),h.patchFlag===-2&&(O=!1,h.dynamicChildren=null);const{type:E,ref:Q,shapeFlag:D}=h;switch(E){case xs:T(p,h,v,w);break;case St:P(p,h,v,w);break;case Xn:p==null&&R(h,v,w,M);break;case Ee:L(p,h,v,w,S,x,M,N,O);break;default:D&1?I(p,h,v,w,S,x,M,N,O):D&6?se(p,h,v,w,S,x,M,N,O):(D&64||D&128)&&E.process(p,h,v,w,S,x,M,N,O,K)}Q!=null&&S?En(Q,p&&p.ref,x,h||p,!h):Q==null&&p&&p.ref!=null&&En(p.ref,null,x,p,!0)},T=(p,h,v,w)=>{if(p==null)s(h.el=i(h.children),v,w);else{const S=h.el=p.el;h.children!==p.children&&u(S,h.children)}},P=(p,h,v,w)=>{p==null?s(h.el=a(h.children||""),v,w):h.el=p.el},R=(p,h,v,w)=>{[p.el,p.anchor]=_(p.children,h,v,w,p.el,p.anchor)},A=({el:p,anchor:h},v,w)=>{let S;for(;p&&p!==h;)S=g(p),s(p,v,w),p=S;s(h,v,w)},b=({el:p,anchor:h})=>{let v;for(;p&&p!==h;)v=g(p),o(p),p=v;o(h)},I=(p,h,v,w,S,x,M,N,O)=>{if(h.type==="svg"?M="svg":h.type==="math"&&(M="mathml"),p==null)J(h,v,w,S,x,M,N,O);else{const E=p.el&&p.el._isVueCE?p.el:null;try{E&&E._beginPatch(),V(p,h,S,x,M,N,O)}finally{E&&E._endPatch()}}},J=(p,h,v,w,S,x,M,N)=>{let O,E;const{props:Q,shapeFlag:D,transition:W,dirs:Y}=p;if(O=p.el=l(p.type,x,Q&&Q.is,Q),D&8?f(O,p.children):D&16&&le(p.children,O,null,w,S,Is(p,x),M,N),Y&&Ht(p,null,w,"created"),j(O,p,p.scopeId,M,w),Q){for(const ge in Q)ge!=="value"&&!wn(ge)&&r(O,ge,null,Q[ge],x,w);"value"in Q&&r(O,"value",null,Q.value,x),(E=Q.onVnodeBeforeMount)&&rt(E,w,p)}Y&&Ht(p,null,w,"beforeMount");const re=oc(S,W);re&&W.beforeEnter(O),s(O,h,v),((E=Q&&Q.onVnodeMounted)||re||Y)&&ke(()=>{E&&rt(E,w,p),re&&W.enter(O),Y&&Ht(p,null,w,"mounted")},S)},j=(p,h,v,w,S)=>{if(v&&m(p,v),w)for(let x=0;x<w.length;x++)m(p,w[x]);if(S){let x=S.subTree;if(h===x||Gl(x.type)&&(x.ssContent===h||x.ssFallback===h)){const M=S.vnode;j(p,M,M.scopeId,M.slotScopeIds,S.parent)}}},le=(p,h,v,w,S,x,M,N,O=0)=>{for(let E=O;E<p.length;E++){const Q=p[E]=N?vt(p[E]):at(p[E]);y(null,Q,h,v,w,S,x,M,N)}},V=(p,h,v,w,S,x,M)=>{const N=h.el=p.el;let{patchFlag:O,dynamicChildren:E,dirs:Q}=h;O|=p.patchFlag&16;const D=p.props||pe,W=h.props||pe;let Y;if(v&&Ft(v,!1),(Y=W.onVnodeBeforeUpdate)&&rt(Y,v,h,p),Q&&Ht(h,p,v,"beforeUpdate"),v&&Ft(v,!0),(D.innerHTML&&W.innerHTML==null||D.textContent&&W.textContent==null)&&f(N,""),E?X(p.dynamicChildren,E,N,v,w,Is(h,S),x):M||ne(p,h,N,null,v,w,Is(h,S),x,!1),O>0){if(O&16)te(N,D,W,v,S);else if(O&2&&D.class!==W.class&&r(N,"class",null,W.class,S),O&4&&r(N,"style",D.style,W.style,S),O&8){const re=h.dynamicProps;for(let ge=0;ge<re.length;ge++){const fe=re[ge],Ue=D[fe],Be=W[fe];(Be!==Ue||fe==="value")&&r(N,fe,Ue,Be,S,v)}}O&1&&p.children!==h.children&&f(N,h.children)}else!M&&E==null&&te(N,D,W,v,S);((Y=W.onVnodeUpdated)||Q)&&ke(()=>{Y&&rt(Y,v,h,p),Q&&Ht(h,p,v,"updated")},w)},X=(p,h,v,w,S,x,M)=>{for(let N=0;N<h.length;N++){const O=p[N],E=h[N],Q=O.el&&(O.type===Ee||!en(O,E)||O.shapeFlag&198)?d(O.el):v;y(O,E,Q,null,w,S,x,M,!0)}},te=(p,h,v,w,S)=>{if(h!==v){if(h!==pe)for(const x in h)!wn(x)&&!(x in v)&&r(p,x,h[x],null,S,w);for(const x in v){if(wn(x))continue;const M=v[x],N=h[x];M!==N&&x!=="value"&&r(p,x,N,M,S,w)}"value"in v&&r(p,"value",h.value,v.value,S)}},L=(p,h,v,w,S,x,M,N,O)=>{const E=h.el=p?p.el:i(""),Q=h.anchor=p?p.anchor:i("");let{patchFlag:D,dynamicChildren:W,slotScopeIds:Y}=h;Y&&(N=N?N.concat(Y):Y),p==null?(s(E,v,w),s(Q,v,w),le(h.children||[],v,Q,S,x,M,N,O)):D>0&&D&64&&W&&p.dynamicChildren&&p.dynamicChildren.length===W.length?(X(p.dynamicChildren,W,v,S,x,M,N),(h.key!=null||S&&h===S.subTree)&&So(p,h,!0)):ne(p,h,v,Q,S,x,M,N,O)},se=(p,h,v,w,S,x,M,N,O)=>{h.slotScopeIds=N,p==null?h.shapeFlag&512?S.ctx.activate(h,v,w,M,O):Ce(h,v,w,S,x,M,O):G(p,h,O)},Ce=(p,h,v,w,S,x,M)=>{const N=p.component=hc(p,w,S);if(Cl(p)&&(N.ctx.renderer=K),gc(N,!1,M),N.asyncDep){if(S&&S.registerDep(N,k,M),!p.el){const O=N.subTree=ve(St);P(null,O,h,v),p.placeholder=O.el}}else k(N,p,h,v,S,x,M)},G=(p,h,v)=>{const w=h.component=p.component;if(qa(p,h,v))if(w.asyncDep&&!w.asyncResolved){U(w,h,v);return}else w.next=h,w.update();else h.el=p.el,w.vnode=h},k=(p,h,v,w,S,x,M)=>{const N=()=>{if(p.isMounted){let{next:D,bu:W,u:Y,parent:re,vnode:ge}=p;{const st=Fl(p);if(st){D&&(D.el=ge.el,U(p,D,M)),st.asyncDep.then(()=>{ke(()=>{p.isUnmounted||E()},S)});return}}let fe=D,Ue;Ft(p,!1),D?(D.el=ge.el,U(p,D,M)):D=ge,W&&Jn(W),(Ue=D.props&&D.props.onVnodeBeforeUpdate)&&rt(Ue,re,D,ge),Ft(p,!0);const Be=qo(p),nt=p.subTree;p.subTree=Be,y(nt,Be,d(nt.el),C(nt),p,S,x),D.el=Be.el,fe===null&&Ja(p,Be.el),Y&&ke(Y,S),(Ue=D.props&&D.props.onVnodeUpdated)&&ke(()=>rt(Ue,re,D,ge),S)}else{let D;const{el:W,props:Y}=h,{bm:re,m:ge,parent:fe,root:Ue,type:Be}=p,nt=An(h);Ft(p,!1),re&&Jn(re),!nt&&(D=Y&&Y.onVnodeBeforeMount)&&rt(D,fe,h),Ft(p,!0);{Ue.ce&&Ue.ce._hasShadowRoot()&&Ue.ce._injectChildStyle(Be);const st=p.subTree=qo(p);y(null,st,v,w,p,S,x),h.el=st.el}if(ge&&ke(ge,S),!nt&&(D=Y&&Y.onVnodeMounted)){const st=h;ke(()=>rt(D,fe,st),S)}(h.shapeFlag&256||fe&&An(fe.vnode)&&fe.vnode.shapeFlag&256)&&p.a&&ke(p.a,S),p.isMounted=!0,h=v=w=null}};p.scope.on();const O=p.effect=new qr(N);p.scope.off();const E=p.update=O.run.bind(O),Q=p.job=O.runIfDirty.bind(O);Q.i=p,Q.id=p.uid,O.scheduler=()=>wo(Q),Ft(p,!0),E()},U=(p,h,v)=>{h.component=p;const w=p.vnode.props;p.vnode=h,p.next=null,Ya(p,h.props,w,v),tc(p,h.children,v),wt(),Do(p),xt()},ne=(p,h,v,w,S,x,M,N,O=!1)=>{const E=p&&p.children,Q=p?p.shapeFlag:0,D=h.children,{patchFlag:W,shapeFlag:Y}=h;if(W>0){if(W&128){Tt(E,D,v,w,S,x,M,N,O);return}else if(W&256){pt(E,D,v,w,S,x,M,N,O);return}}Y&8?(Q&16&&Ke(E,S,x),D!==E&&f(v,D)):Q&16?Y&16?Tt(E,D,v,w,S,x,M,N,O):Ke(E,S,x,!0):(Q&8&&f(v,""),Y&16&&le(D,v,w,S,x,M,N,O))},pt=(p,h,v,w,S,x,M,N,O)=>{p=p||nn,h=h||nn;const E=p.length,Q=h.length,D=Math.min(E,Q);let W;for(W=0;W<D;W++){const Y=h[W]=O?vt(h[W]):at(h[W]);y(p[W],Y,v,null,S,x,M,N,O)}E>Q?Ke(p,S,x,!0,!1,D):le(h,v,w,S,x,M,N,O,D)},Tt=(p,h,v,w,S,x,M,N,O)=>{let E=0;const Q=h.length;let D=p.length-1,W=Q-1;for(;E<=D&&E<=W;){const Y=p[E],re=h[E]=O?vt(h[E]):at(h[E]);if(en(Y,re))y(Y,re,v,null,S,x,M,N,O);else break;E++}for(;E<=D&&E<=W;){const Y=p[D],re=h[W]=O?vt(h[W]):at(h[W]);if(en(Y,re))y(Y,re,v,null,S,x,M,N,O);else break;D--,W--}if(E>D){if(E<=W){const Y=W+1,re=Y<Q?h[Y].el:w;for(;E<=W;)y(null,h[E]=O?vt(h[E]):at(h[E]),v,re,S,x,M,N,O),E++}}else if(E>W)for(;E<=D;)Ve(p[E],S,x,!0),E++;else{const Y=E,re=E,ge=new Map;for(E=re;E<=W;E++){const Fe=h[E]=O?vt(h[E]):at(h[E]);Fe.key!=null&&ge.set(Fe.key,E)}let fe,Ue=0;const Be=W-re+1;let nt=!1,st=0;const gn=new Array(Be);for(E=0;E<Be;E++)gn[E]=0;for(E=Y;E<=D;E++){const Fe=p[E];if(Ue>=Be){Ve(Fe,S,x,!0);continue}let ot;if(Fe.key!=null)ot=ge.get(Fe.key);else for(fe=re;fe<=W;fe++)if(gn[fe-re]===0&&en(Fe,h[fe])){ot=fe;break}ot===void 0?Ve(Fe,S,x,!0):(gn[ot-re]=E+1,ot>=st?st=ot:nt=!0,y(Fe,h[ot],v,null,S,x,M,N,O),Ue++)}const Oo=nt?rc(gn):nn;for(fe=Oo.length-1,E=Be-1;E>=0;E--){const Fe=re+E,ot=h[Fe],ko=h[Fe+1],No=Fe+1<Q?ko.el||jl(ko):w;gn[E]===0?y(null,ot,v,No,S,x,M,N,O):nt&&(fe<0||E!==Oo[fe]?tt(ot,v,No,2):fe--)}}},tt=(p,h,v,w,S=null)=>{const{el:x,type:M,transition:N,children:O,shapeFlag:E}=p;if(E&6){tt(p.component.subTree,h,v,w);return}if(E&128){p.suspense.move(h,v,w);return}if(E&64){M.move(p,h,v,K);return}if(M===Ee){s(x,h,v);for(let D=0;D<O.length;D++)tt(O[D],h,v,w);s(p.anchor,h,v);return}if(M===Xn){A(p,h,v);return}if(w!==2&&E&1&&N)if(w===0)N.beforeEnter(x),s(x,h,v),ke(()=>N.enter(x),S);else{const{leave:D,delayLeave:W,afterLeave:Y}=N,re=()=>{p.ctx.isUnmounted?o(x):s(x,h,v)},ge=()=>{x._isLeaving&&x[Ot](!0),D(x,()=>{re(),Y&&Y()})};W?W(x,re,ge):ge()}else s(x,h,v)},Ve=(p,h,v,w=!1,S=!1)=>{const{type:x,props:M,ref:N,children:O,dynamicChildren:E,shapeFlag:Q,patchFlag:D,dirs:W,cacheIndex:Y}=p;if(D===-2&&(S=!1),N!=null&&(wt(),En(N,null,v,p,!0),xt()),Y!=null&&(h.renderCache[Y]=void 0),Q&256){h.ctx.deactivate(p);return}const re=Q&1&&W,ge=!An(p);let fe;if(ge&&(fe=M&&M.onVnodeBeforeUnmount)&&rt(fe,h,p),Q&6)Bt(p.component,v,w);else{if(Q&128){p.suspense.unmount(v,w);return}re&&Ht(p,null,h,"beforeUnmount"),Q&64?p.type.remove(p,h,v,K,w):E&&!E.hasOnce&&(x!==Ee||D>0&&D&64)?Ke(E,h,v,!1,!0):(x===Ee&&D&384||!S&&Q&16)&&Ke(O,h,v),w&&Qt(p)}(ge&&(fe=M&&M.onVnodeUnmounted)||re)&&ke(()=>{fe&&rt(fe,h,p),re&&Ht(p,null,h,"unmounted")},v)},Qt=p=>{const{type:h,el:v,anchor:w,transition:S}=p;if(h===Ee){Yt(v,w);return}if(h===Xn){b(p);return}const x=()=>{o(v),S&&!S.persisted&&S.afterLeave&&S.afterLeave()};if(p.shapeFlag&1&&S&&!S.persisted){const{leave:M,delayLeave:N}=S,O=()=>M(v,x);N?N(p.el,x,O):O()}else x()},Yt=(p,h)=>{let v;for(;p!==h;)v=g(p),o(p),p=v;o(h)},Bt=(p,h,v)=>{const{bum:w,scope:S,job:x,subTree:M,um:N,m:O,a:E}=p;Yo(O),Yo(E),w&&Jn(w),S.stop(),x&&(x.flags|=8,Ve(M,p,h,v)),N&&ke(N,h),ke(()=>{p.isUnmounted=!0},h)},Ke=(p,h,v,w=!1,S=!1,x=0)=>{for(let M=x;M<p.length;M++)Ve(p[M],h,v,w,S)},C=p=>{if(p.shapeFlag&6)return C(p.component.subTree);if(p.shapeFlag&128)return p.suspense.next();const h=g(p.anchor||p.el),v=h&&h[yl];return v?g(v):h};let B=!1;const $=(p,h,v)=>{let w;p==null?h._vnode&&(Ve(h._vnode,null,null,!0),w=h._vnode.component):y(h._vnode||null,p,h,null,null,null,v),h._vnode=p,B||(B=!0,Do(w),pl(),B=!1)},K={p:y,um:Ve,m:tt,r:Qt,mt:Ce,mc:le,pc:ne,pbc:X,n:C,o:e};return{render:$,hydrate:void 0,createApp:Fa($)}}function Is({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 Ft({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function oc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function So(e,t,n=!1){const s=e.children,o=t.children;if(q(s)&&q(o))for(let r=0;r<s.length;r++){const l=s[r];let i=o[r];i.shapeFlag&1&&!i.dynamicChildren&&((i.patchFlag<=0||i.patchFlag===32)&&(i=o[r]=vt(o[r]),i.el=l.el),!n&&i.patchFlag!==-2&&So(l,i)),i.type===xs&&(i.patchFlag===-1&&(i=o[r]=vt(i)),i.el=l.el),i.type===St&&!i.el&&(i.el=l.el)}}function rc(e){const t=e.slice(),n=[0];let s,o,r,l,i;const a=e.length;for(s=0;s<a;s++){const u=e[s];if(u!==0){if(o=n[n.length-1],e[o]<u){t[s]=o,n.push(s);continue}for(r=0,l=n.length-1;r<l;)i=r+l>>1,e[n[i]]<u?r=i+1:l=i;u<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,l=n[r-1];r-- >0;)n[r]=l,l=t[l];return n}function Fl(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fl(t)}function Yo(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function jl(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?jl(t.subTree):null}const Gl=e=>e.__isSuspense;function lc(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):ga(e)}const Ee=Symbol.for("v-fgt"),xs=Symbol.for("v-txt"),St=Symbol.for("v-cmt"),Xn=Symbol.for("v-stc"),Rn=[];let Ge=null;function H(e=!1){Rn.push(Ge=e?null:[])}function ic(){Rn.pop(),Ge=Rn[Rn.length-1]||null}let Dn=1;function is(e,t=!1){Dn+=e,e<0&&Ge&&t&&(Ge.hasOnce=!0)}function Kl(e){return e.dynamicChildren=Dn>0?Ge||nn:null,ic(),Dn>0&&Ge&&Ge.push(e),e}function F(e,t,n,s,o,r){return Kl(c(e,t,n,s,o,r,!0))}function Wl(e,t,n,s,o){return Kl(ve(e,t,n,s,o,!0))}function as(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const zl=({key:e})=>e??null,Zn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?xe(e)||Me(e)||Z(e)?{i:je,r:e,k:t,f:!!n}:e:null);function c(e,t=null,n=null,s=0,o=null,r=e===Ee?0:1,l=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&zl(t),ref:t&&Zn(t),scopeId:gl,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:je};return i?(Eo(a,n),r&128&&e.normalize(a)):n&&(a.shapeFlag|=xe(n)?8:16),Dn>0&&!l&&Ge&&(a.patchFlag>0||r&6)&&a.patchFlag!==32&&Ge.push(a),a}const ve=ac;function ac(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===Ia)&&(e=St),as(e)){const i=qt(e,t,!0);return n&&Eo(i,n),Dn>0&&!r&&Ge&&(i.shapeFlag&6?Ge[Ge.indexOf(e)]=i:Ge.push(i)),i.patchFlag=-2,i}if(bc(e)&&(e=e.__vccOpts),t){t=cc(t);let{class:i,style:a}=t;i&&!xe(i)&&(t.class=be(i)),ue(a)&&(_o(a)&&!q(a)&&(a=Te({},a)),t.style=ms(a))}const l=xe(e)?1:Gl(e)?128:_a(e)?64:ue(e)?4:Z(e)?2:0;return c(e,t,n,s,o,l,r,!0)}function cc(e){return e?_o(e)||Ll(e)?Te({},e):e:null}function qt(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:l,children:i,transition:a}=e,u=t?fc(o||{},t):o,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&zl(u),ref:t&&t.ref?n&&r?q(r)?r.concat(Zn(t)):[r,Zn(t)]:Zn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ee?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&s&&Mn(f,a.clone(f)),f}function he(e=" ",t=0){return ve(xs,null,e,t)}function uc(e,t){const n=ve(Xn,null,e);return n.staticCount=t,n}function ye(e="",t=!1){return t?(H(),Wl(St,null,e)):ve(St,null,e)}function at(e){return e==null||typeof e=="boolean"?ve(St):q(e)?ve(Ee,null,e.slice()):as(e)?vt(e):ve(xs,null,String(e))}function vt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qt(e)}function Eo(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(q(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&&!Ll(t)?t._ctx=je:o===3&&je&&(je.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Z(t)?(t={default:t,_ctx:je},n=32):(t=String(t),s&64?(n=16,t=[he(t)]):n=8);e.children=t,e.shapeFlag|=n}function fc(...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=be([t.class,s.class]));else if(o==="style")t.style=ms([t.style,s.style]);else if(fs(o)){const r=t[o],l=s[o];l&&r!==l&&!(q(r)&&r.includes(l))&&(t[o]=r?[].concat(r,l):l)}else o!==""&&(t[o]=s[o])}return t}function rt(e,t,n,s=null){Ze(e,t,7,[n,s])}const dc=kl();let pc=0;function hc(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||dc,r={uid:pc++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ui(!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:Vl(s,o),emitsOptions:Nl(s,o),emit:null,emitted:null,propsDefaults:pe,inheritAttrs:s.inheritAttrs,ctx:pe,data:pe,props:pe,attrs:pe,slots:pe,refs:pe,setupState:pe,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=Ga.bind(null,r),e.ce&&e.ce(r),r}let Ie=null;const ql=()=>Ie||je;let cs,eo;{const e=gs(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(l=>l(r)):o[0](r)}};cs=t("__VUE_INSTANCE_SETTERS__",n=>Ie=n),eo=t("__VUE_SSR_SETTERS__",n=>Vn=n)}const Fn=e=>{const t=Ie;return cs(e),e.scope.on(),()=>{e.scope.off(),cs(t)}},Xo=()=>{Ie&&Ie.scope.off(),cs(null)};function Jl(e){return e.vnode.shapeFlag&4}let Vn=!1;function gc(e,t=!1,n=!1){t&&eo(t);const{props:s,children:o}=e.vnode,r=Jl(e);Qa(e,s,r,t),ec(e,o,n||t);const l=r?mc(e,t):void 0;return t&&eo(!1),l}function mc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,$a);const{setup:s}=n;if(s){wt();const o=e.setupContext=s.length>1?yc(e):null,r=Fn(e),l=Hn(s,e,0,[e.props,o]),i=Hr(l);if(xt(),r(),(i||e.sp)&&!An(e)&&xl(e),i){if(l.then(Xo,Xo),t)return l.then(a=>{Zo(e,a)}).catch(a=>{ys(a,e,0)});e.asyncDep=l}else Zo(e,l)}else Ql(e)}function Zo(e,t,n){Z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=ul(t)),Ql(e)}function Ql(e,t,n){const s=e.type;e.render||(e.render=s.render||ut);{const o=Fn(e);wt();try{La(e)}finally{xt(),o()}}}const vc={get(e,t){return Ne(e,"get",""),e[t]}};function yc(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,vc),slots:e.slots,emit:e.emit,expose:t}}function Cs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ul(ra(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Tn)return Tn[n](e)},has(t,n){return n in t||n in Tn}})):e.proxy}function _c(e,t=!0){return Z(e)?e.displayName||e.name:e.name||t&&e.__name}function bc(e){return Z(e)&&"__vccOpts"in e}const Se=(e,t)=>ua(e,t,Vn);function Yl(e,t,n){try{is(-1);const s=arguments.length;return s===2?ue(t)&&!q(t)?as(t)?ve(e,null,[t]):ve(e,t):ve(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&as(n)&&(n=[n]),ve(e,t,n))}finally{is(1)}}const wc="3.5.29";/**
|
|
14
|
-
* @vue/runtime-dom v3.5.29
|
|
15
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
16
|
-
* @license MIT
|
|
17
|
-
**/let to;const er=typeof window<"u"&&window.trustedTypes;if(er)try{to=er.createPolicy("vue",{createHTML:e=>e})}catch{}const Xl=to?e=>to.createHTML(e):e=>e,xc="http://www.w3.org/2000/svg",Cc="http://www.w3.org/1998/Math/MathML",mt=typeof document<"u"?document:null,tr=mt&&mt.createElement("template"),Sc={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"?mt.createElementNS(xc,e):t==="mathml"?mt.createElementNS(Cc,e):n?mt.createElement(e,{is:n}):mt.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>mt.createTextNode(e),createComment:e=>mt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>mt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const l=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{tr.innerHTML=Xl(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const i=tr.content;if(s==="svg"||s==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}t.insertBefore(i,n)}return[l?l.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Rt="transition",yn="animation",cn=Symbol("_vtc"),Zl={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Ec=Te({},Ca,Zl),jt=(e,t=[])=>{q(e)?e.forEach(n=>n(...t)):e&&e(...t)},nr=e=>e?q(e)?e.some(t=>t.length>1):e.length>1:!1;function Ac(e){const t={};for(const L in e)L in Zl||(t[L]=e[L]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:l=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:a=r,appearActiveClass:u=l,appearToClass:f=i,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:g=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,_=Tc(o),y=_&&_[0],T=_&&_[1],{onBeforeEnter:P,onEnter:R,onEnterCancelled:A,onLeave:b,onLeaveCancelled:I,onBeforeAppear:J=P,onAppear:j=R,onAppearCancelled:le=A}=t,V=(L,se,Ce,G)=>{L._enterCancelled=G,kt(L,se?f:i),kt(L,se?u:l),Ce&&Ce()},X=(L,se)=>{L._isLeaving=!1,kt(L,d),kt(L,m),kt(L,g),se&&se()},te=L=>(se,Ce)=>{const G=L?j:R,k=()=>V(se,L,Ce);jt(G,[se,k]),sr(()=>{kt(se,L?a:r),lt(se,L?f:i),nr(G)||or(se,s,y,k)})};return Te(t,{onBeforeEnter(L){jt(P,[L]),lt(L,r),lt(L,l)},onBeforeAppear(L){jt(J,[L]),lt(L,a),lt(L,u)},onEnter:te(!1),onAppear:te(!0),onLeave(L,se){L._isLeaving=!0;const Ce=()=>X(L,se);lt(L,d),L._enterCancelled?(lt(L,g),no(L)):(no(L),lt(L,g)),sr(()=>{L._isLeaving&&(kt(L,d),lt(L,m),nr(b)||or(L,s,T,Ce))}),jt(b,[L,Ce])},onEnterCancelled(L){V(L,!1,void 0,!0),jt(A,[L])},onAppearCancelled(L){V(L,!0,void 0,!0),jt(le,[L])},onLeaveCancelled(L){X(L),jt(I,[L])}})}function Tc(e){if(e==null)return null;if(ue(e))return[Ms(e.enter),Ms(e.leave)];{const t=Ms(e);return[t,t]}}function Ms(e){return ki(e)}function lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[cn]||(e[cn]=new Set)).add(t)}function kt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[cn];n&&(n.delete(t),n.size||(e[cn]=void 0))}function sr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Rc=0;function or(e,t,n,s){const o=e._endId=++Rc,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:l,timeout:i,propCount:a}=ei(e,t);if(!l)return s();const u=l+"end";let f=0;const d=()=>{e.removeEventListener(u,g),r()},g=m=>{m.target===e&&++f>=a&&d()};setTimeout(()=>{f<a&&d()},i+1),e.addEventListener(u,g)}function ei(e,t){const n=window.getComputedStyle(e),s=_=>(n[_]||"").split(", "),o=s(`${Rt}Delay`),r=s(`${Rt}Duration`),l=rr(o,r),i=s(`${yn}Delay`),a=s(`${yn}Duration`),u=rr(i,a);let f=null,d=0,g=0;t===Rt?l>0&&(f=Rt,d=l,g=r.length):t===yn?u>0&&(f=yn,d=u,g=a.length):(d=Math.max(l,u),f=d>0?l>u?Rt:yn:null,g=f?f===Rt?r.length:a.length:0);const m=f===Rt&&/\b(?:transform|all)(?:,|$)/.test(s(`${Rt}Property`).toString());return{type:f,timeout:d,propCount:g,hasTransform:m}}function rr(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>lr(n)+lr(e[s])))}function lr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function no(e){return(e?e.ownerDocument:document).body.offsetHeight}function Pc(e,t,n){const s=e[cn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ir=Symbol("_vod"),Oc=Symbol("_vsh"),kc=Symbol(""),Nc=/(?:^|;)\s*display\s*:/;function Ic(e,t,n){const s=e.style,o=xe(n);let r=!1;if(n&&!o){if(t)if(xe(t))for(const l of t.split(";")){const i=l.slice(0,l.indexOf(":")).trim();n[i]==null&&es(s,i,"")}else for(const l in t)n[l]==null&&es(s,l,"");for(const l in n)l==="display"&&(r=!0),es(s,l,n[l])}else if(o){if(t!==n){const l=s[kc];l&&(n+=";"+l),s.cssText=n,r=Nc.test(n)}}else t&&e.removeAttribute("style");ir in e&&(e[ir]=r?s.display:"",e[Oc]&&(s.display="none"))}const ar=/\s*!important$/;function es(e,t,n){if(q(n))n.forEach(s=>es(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Mc(e,t);ar.test(n)?e.setProperty(Jt(s),n.replace(ar,""),"important"):e[s]=n}}const cr=["Webkit","Moz","ms"],$s={};function Mc(e,t){const n=$s[t];if(n)return n;let s=Qe(t);if(s!=="filter"&&s in e)return $s[t]=s;s=ps(s);for(let o=0;o<cr.length;o++){const r=cr[o]+s;if(r in e)return $s[t]=r}return t}const ur="http://www.w3.org/1999/xlink";function fr(e,t,n,s,o,r=Di(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ur,t.slice(6,t.length)):e.setAttributeNS(ur,t,n):n==null||r&&!Kr(n)?e.removeAttribute(t):e.setAttribute(t,r?"":dt(n)?String(n):n)}function dr(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Xl(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const i=r==="OPTION"?e.getAttribute("value")||"":e.value,a=n==null?e.type==="checkbox"?"on":"":String(n);(i!==a||!("_value"in e))&&(e.value=a),n==null&&e.removeAttribute(t),e._value=n;return}let l=!1;if(n===""||n==null){const i=typeof e[t];i==="boolean"?n=Kr(n):n==null&&i==="string"?(n="",l=!0):i==="number"&&(n=0,l=!0)}try{e[t]=n}catch{}l&&e.removeAttribute(o||t)}function bt(e,t,n,s){e.addEventListener(t,n,s)}function $c(e,t,n,s){e.removeEventListener(t,n,s)}const pr=Symbol("_vei");function Lc(e,t,n,s,o=null){const r=e[pr]||(e[pr]={}),l=r[t];if(s&&l)l.value=s;else{const[i,a]=Dc(t);if(s){const u=r[t]=Bc(s,o);bt(e,i,u,a)}else l&&($c(e,i,l,a),r[t]=void 0)}}const hr=/(?:Once|Passive|Capture)$/;function Dc(e){let t;if(hr.test(e)){t={};let s;for(;s=e.match(hr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Jt(e.slice(2)),t]}let Ls=0;const Vc=Promise.resolve(),Uc=()=>Ls||(Vc.then(()=>Ls=0),Ls=Date.now());function Bc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Ze(Hc(s,n.value),t,5,[s])};return n.value=e,n.attached=Uc(),n}function Hc(e,t){if(q(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 gr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Fc=(e,t,n,s,o,r)=>{const l=o==="svg";t==="class"?Pc(e,s,l):t==="style"?Ic(e,n,s):fs(t)?ao(t)||Lc(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jc(e,t,s,l))?(dr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&fr(e,t,s,l,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!xe(s))?dr(e,Qe(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),fr(e,t,s,l))};function jc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&gr(t)&&Z(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 gr(t)&&xe(n)?!1:t in e}const ti=new WeakMap,ni=new WeakMap,us=Symbol("_moveCb"),mr=Symbol("_enterCb"),Gc=e=>(delete e.props.mode,e),Kc=Gc({name:"TransitionGroup",props:Te({},Ec,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ql(),s=xa();let o,r;return Tl(()=>{if(!o.length)return;const l=e.moveClass||`${e.name||"v"}-move`;if(!Qc(o[0].el,n.vnode.el,l)){o=[];return}o.forEach(zc),o.forEach(qc);const i=o.filter(Jc);no(n.vnode.el),i.forEach(a=>{const u=a.el,f=u.style;lt(u,l),f.transform=f.webkitTransform=f.transitionDuration="";const d=u[us]=g=>{g&&g.target!==u||(!g||g.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[us]=null,kt(u,l))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const l=ie(e),i=Ac(l);let a=l.tag||Ee;if(o=[],r)for(let u=0;u<r.length;u++){const f=r[u];f.el&&f.el instanceof Element&&(o.push(f),Mn(f,Js(f,i,s,n)),ti.set(f,si(f.el)))}r=t.default?bl(t.default()):[];for(let u=0;u<r.length;u++){const f=r[u];f.key!=null&&Mn(f,Js(f,i,s,n))}return ve(a,null,r)}}}),Wc=Kc;function zc(e){const t=e.el;t[us]&&t[us](),t[mr]&&t[mr]()}function qc(e){ni.set(e,si(e.el))}function Jc(e){const t=ti.get(e),n=ni.get(e),s=t.left-n.left,o=t.top-n.top;if(s||o){const r=e.el,l=r.style,i=r.getBoundingClientRect();let a=1,u=1;return r.offsetWidth&&(a=i.width/r.offsetWidth),r.offsetHeight&&(u=i.height/r.offsetHeight),(!Number.isFinite(a)||a===0)&&(a=1),(!Number.isFinite(u)||u===0)&&(u=1),Math.abs(a-1)<.01&&(a=1),Math.abs(u-1)<.01&&(u=1),l.transform=l.webkitTransform=`translate(${s/a}px,${o/u}px)`,l.transitionDuration="0s",e}}function si(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Qc(e,t,n){const s=e.cloneNode(),o=e[cn];o&&o.forEach(i=>{i.split(/\s+/).forEach(a=>a&&s.classList.remove(a))}),n.split(/\s+/).forEach(i=>i&&s.classList.add(i)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:l}=ei(s);return r.removeChild(s),l}const Vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return q(t)?n=>Jn(t,n):t};function Yc(e){e.target.composing=!0}function vr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Je=Symbol("_assign");function yr(e,t,n){return t&&(e=e.trim()),n&&(e=hs(e)),e}const Oe={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[Je]=Vt(o);const r=s||o.props&&o.props.type==="number";bt(e,t?"change":"input",l=>{l.target.composing||e[Je](yr(e.value,n,r))}),(n||r)&&bt(e,"change",()=>{e.value=yr(e.value,n,r)}),t||(bt(e,"compositionstart",Yc),bt(e,"compositionend",vr),bt(e,"change",vr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},l){if(e[Je]=Vt(l),e.composing)return;const i=(r||e.type==="number")&&!/^0\d/.test(e.value)?hs(e.value):e.value,a=t??"";i!==a&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===a)||(e.value=a))}},Xc={deep:!0,created(e,t,n){e[Je]=Vt(n),bt(e,"change",()=>{const s=e._modelValue,o=un(e),r=e.checked,l=e[Je];if(q(s)){const i=fo(s,o),a=i!==-1;if(r&&!a)l(s.concat(o));else if(!r&&a){const u=[...s];u.splice(i,1),l(u)}}else if(pn(s)){const i=new Set(s);r?i.add(o):i.delete(o),l(i)}else l(oi(e,r))})},mounted:_r,beforeUpdate(e,t,n){e[Je]=Vt(n),_r(e,t,n)}};function _r(e,{value:t,oldValue:n},s){e._modelValue=t;let o;if(q(t))o=fo(t,s.props.value)>-1;else if(pn(t))o=t.has(s.props.value);else{if(t===n)return;o=Dt(t,oi(e,!0))}e.checked!==o&&(e.checked=o)}const Zc={created(e,{value:t},n){e.checked=Dt(t,n.props.value),e[Je]=Vt(n),bt(e,"change",()=>{e[Je](un(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[Je]=Vt(s),t!==n&&(e.checked=Dt(t,s.props.value))}},Pn={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const o=pn(t);bt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>n?hs(un(l)):un(l));e[Je](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,bo(()=>{e._assigning=!1})}),e[Je]=Vt(s)},mounted(e,{value:t}){br(e,t)},beforeUpdate(e,t,n){e[Je]=Vt(n)},updated(e,{value:t}){e._assigning||br(e,t)}};function br(e,t){const n=e.multiple,s=q(t);if(!(n&&!s&&!pn(t))){for(let o=0,r=e.options.length;o<r;o++){const l=e.options[o],i=un(l);if(n)if(s){const a=typeof i;a==="string"||a==="number"?l.selected=t.some(u=>String(u)===String(i)):l.selected=fo(t,i)>-1}else l.selected=t.has(i);else if(Dt(un(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function un(e){return"_value"in e?e._value:e.value}function oi(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const eu={created(e,t,n){qn(e,t,n,null,"created")},mounted(e,t,n){qn(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){qn(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){qn(e,t,n,s,"updated")}};function tu(e,t){switch(e){case"SELECT":return Pn;case"TEXTAREA":return Oe;default:switch(t){case"checkbox":return Xc;case"radio":return Zc;default:return Oe}}}function qn(e,t,n,s,o){const l=tu(e.tagName,n.props&&n.props.type)[o];l&&l(e,t,n,s)}const nu=["ctrl","shift","alt","meta"],su={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)=>nu.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 l=0;l<t.length;l++){const i=su[t[l]];if(i&&i(o,t))return}return e(o,...r)})},ou=Te({patchProp:Fc},Sc);let wr;function ru(){return wr||(wr=nc(ou))}const lu=(...e)=>{const t=ru().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=au(s);if(!o)return;const r=t._component;!Z(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const l=n(o,!1,iu(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t};function iu(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function au(e){return xe(e)?document.querySelector(e):e}/*!
|
|
18
|
-
* vue-router v4.6.4
|
|
19
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
20
|
-
* @license MIT
|
|
21
|
-
*/const tn=typeof document<"u";function ri(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function cu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ri(e.default)}const ae=Object.assign;function Ds(e,t){const n={};for(const s in t){const o=t[s];n[s]=et(o)?o.map(e):e(o)}return n}const On=()=>{},et=Array.isArray;function xr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const li=/#/g,uu=/&/g,fu=/\//g,du=/=/g,pu=/\?/g,ii=/\+/g,hu=/%5B/g,gu=/%5D/g,ai=/%5E/g,mu=/%60/g,ci=/%7B/g,vu=/%7C/g,ui=/%7D/g,yu=/%20/g;function Ao(e){return e==null?"":encodeURI(""+e).replace(vu,"|").replace(hu,"[").replace(gu,"]")}function _u(e){return Ao(e).replace(ci,"{").replace(ui,"}").replace(ai,"^")}function so(e){return Ao(e).replace(ii,"%2B").replace(yu,"+").replace(li,"%23").replace(uu,"%26").replace(mu,"`").replace(ci,"{").replace(ui,"}").replace(ai,"^")}function bu(e){return so(e).replace(du,"%3D")}function wu(e){return Ao(e).replace(li,"%23").replace(pu,"%3F")}function xu(e){return wu(e).replace(fu,"%2F")}function Un(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Cu=/\/$/,Su=e=>e.replace(Cu,"");function Vs(e,t,n="/"){let s,o={},r="",l="";const i=t.indexOf("#");let a=t.indexOf("?");return a=i>=0&&a>i?-1:a,a>=0&&(s=t.slice(0,a),r=t.slice(a,i>0?i:t.length),o=e(r.slice(1))),i>=0&&(s=s||t.slice(0,i),l=t.slice(i,t.length)),s=Ru(s??t,n),{fullPath:s+r+l,path:s,query:o,hash:Un(l)}}function Eu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Cr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Au(e,t,n){const s=t.matched.length-1,o=n.matched.length-1;return s>-1&&s===o&&fn(t.matched[s],n.matched[o])&&fi(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function fn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function fi(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Tu(e[n],t[n]))return!1;return!0}function Tu(e,t){return et(e)?Sr(e,t):et(t)?Sr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Sr(e,t){return et(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Ru(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,l,i;for(l=0;l<s.length;l++)if(i=s[l],i!==".")if(i==="..")r>1&&r--;else break;return n.slice(0,r).join("/")+"/"+s.slice(l).join("/")}const Pt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let oo=function(e){return e.pop="pop",e.push="push",e}({}),Us=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Pu(e){if(!e)if(tn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Su(e)}const Ou=/^[^#]+#/;function ku(e,t){return e.replace(Ou,"#")+t}function Nu(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 Es=()=>({left:window.scrollX,top:window.scrollY});function Iu(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=Nu(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 Er(e,t){return(history.state?history.state.position-t:-1)+e}const ro=new Map;function Mu(e,t){ro.set(e,t)}function $u(e){const t=ro.get(e);return ro.delete(e),t}function Lu(e){return typeof e=="string"||e&&typeof e=="object"}function di(e){return typeof e=="string"||typeof e=="symbol"}let we=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 pi=Symbol("");we.MATCHER_NOT_FOUND+"",we.NAVIGATION_GUARD_REDIRECT+"",we.NAVIGATION_ABORTED+"",we.NAVIGATION_CANCELLED+"",we.NAVIGATION_DUPLICATED+"";function dn(e,t){return ae(new Error,{type:e,[pi]:!0},t)}function gt(e,t){return e instanceof Error&&pi in e&&(t==null||!!(e.type&t))}const Du=["params","query","hash"];function Vu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Du)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Uu(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(ii," "),r=o.indexOf("="),l=Un(r<0?o:o.slice(0,r)),i=r<0?null:Un(o.slice(r+1));if(l in t){let a=t[l];et(a)||(a=t[l]=[a]),a.push(i)}else t[l]=i}return t}function Ar(e){let t="";for(let n in e){const s=e[n];if(n=bu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(et(s)?s.map(o=>o&&so(o)):[s&&so(s)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Bu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=et(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const hi=Symbol(""),Tr=Symbol(""),As=Symbol(""),To=Symbol(""),lo=Symbol("");function _n(){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 Hu(e,t,n){const s=()=>{e[t].delete(n)};bs(s),El(s),Sl(()=>{e[t].add(n)}),e[t].add(n)}function Fu(e){const t=qe(hi,{}).value;t&&Hu(t,"leaveGuards",e)}function Mt(e,t,n,s,o,r=l=>l()){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((i,a)=>{const u=g=>{g===!1?a(dn(we.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?a(g):Lu(g)?a(dn(we.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(l&&s.enterCallbacks[o]===l&&typeof g=="function"&&l.push(g),i())},f=r(()=>e.call(s&&s.instances[o],t,n,u));let d=Promise.resolve(f);e.length<3&&(d=d.then(u)),d.catch(g=>a(g))})}function Bs(e,t,n,s,o=r=>r()){const r=[];for(const l of e)for(const i in l.components){let a=l.components[i];if(!(t!=="beforeRouteEnter"&&!l.instances[i]))if(ri(a)){const u=(a.__vccOpts||a)[t];u&&r.push(Mt(u,n,s,l,i,o))}else{let u=a();r.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${i}" at "${l.path}"`);const d=cu(f)?f.default:f;l.mods[i]=f,l.components[i]=d;const g=(d.__vccOpts||d)[t];return g&&Mt(g,n,s,l,i,o)()}))}}return r}function ju(e,t){const n=[],s=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let l=0;l<r;l++){const i=t.matched[l];i&&(e.matched.find(u=>fn(u,i))?s.push(i):n.push(i));const a=e.matched[l];a&&(t.matched.find(u=>fn(u,a))||o.push(a))}return[n,s,o]}/*!
|
|
22
|
-
* vue-router v4.6.4
|
|
23
|
-
* (c) 2025 Eduardo San Martin Morote
|
|
24
|
-
* @license MIT
|
|
25
|
-
*/let Gu=()=>location.protocol+"//"+location.host;function gi(e,t){const{pathname:n,search:s,hash:o}=t,r=e.indexOf("#");if(r>-1){let l=o.includes(e.slice(r))?e.slice(r).length:1,i=o.slice(l);return i[0]!=="/"&&(i="/"+i),Cr(i,"")}return Cr(n,e)+s+o}function Ku(e,t,n,s){let o=[],r=[],l=null;const i=({state:g})=>{const m=gi(e,location),_=n.value,y=t.value;let T=0;if(g){if(n.value=m,t.value=g,l&&l===_){l=null;return}T=y?g.position-y.position:0}else s(m);o.forEach(P=>{P(n.value,_,{delta:T,type:oo.pop,direction:T?T>0?Us.forward:Us.back:Us.unknown})})};function a(){l=n.value}function u(g){o.push(g);const m=()=>{const _=o.indexOf(g);_>-1&&o.splice(_,1)};return r.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(ae({},g.state,{scroll:Es()}),"")}}function d(){for(const g of r)g();r=[],window.removeEventListener("popstate",i),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",i),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:a,listen:u,destroy:d}}function Rr(e,t,n,s=!1,o=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:o?Es():null}}function Wu(e){const{history:t,location:n}=window,s={value:gi(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,u,f){const d=e.indexOf("#"),g=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:Gu()+e+a;try{t[f?"replaceState":"pushState"](u,"",g),o.value=u}catch(m){console.error(m),n[f?"replace":"assign"](g)}}function l(a,u){r(a,ae({},t.state,Rr(o.value.back,a,o.value.forward,!0),u,{position:o.value.position}),!0),s.value=a}function i(a,u){const f=ae({},o.value,t.state,{forward:a,scroll:Es()});r(f.current,f,!0),r(a,ae({},Rr(s.value,a,null),{position:f.position+1},u),!1),s.value=a}return{location:s,state:o,push:i,replace:l}}function zu(e){e=Pu(e);const t=Wu(e),n=Ku(e,t.state,t.location,t.replace);function s(r,l=!0){l||n.pauseListeners(),history.go(r)}const o=ae({location:"",base:e,go:s,createHref:ku.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 Kt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Re=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}(Re||{});const qu={type:Kt.Static,value:""},Ju=/[a-zA-Z0-9_]/;function Qu(e){if(!e)return[[]];if(e==="/")return[[qu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=Re.Static,s=n;const o=[];let r;function l(){r&&o.push(r),r=[]}let i=0,a,u="",f="";function d(){u&&(n===Re.Static?r.push({type:Kt.Static,value:u}):n===Re.Param||n===Re.ParamRegExp||n===Re.ParamRegExpEnd?(r.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),r.push({type:Kt.Param,value:u,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function g(){u+=a}for(;i<e.length;){if(a=e[i++],a==="\\"&&n!==Re.ParamRegExp){s=n,n=Re.EscapeNext;continue}switch(n){case Re.Static:a==="/"?(u&&d(),l()):a===":"?(d(),n=Re.Param):g();break;case Re.EscapeNext:g(),n=s;break;case Re.Param:a==="("?n=Re.ParamRegExp:Ju.test(a)?g():(d(),n=Re.Static,a!=="*"&&a!=="?"&&a!=="+"&&i--);break;case Re.ParamRegExp:a===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+a:n=Re.ParamRegExpEnd:f+=a;break;case Re.ParamRegExpEnd:d(),n=Re.Static,a!=="*"&&a!=="?"&&a!=="+"&&i--,f="";break;default:t("Unknown state");break}}return n===Re.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),d(),l(),o}const Pr="[^/]+?",Yu={sensitive:!1,strict:!1,start:!0,end:!0};var Le=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}(Le||{});const Xu=/[.+*?^${}()[\]/\\]/g;function Zu(e,t){const n=ae({},Yu,t),s=[];let o=n.start?"^":"";const r=[];for(const u of e){const f=u.length?[]:[Le.Root];n.strict&&!u.length&&(o+="/");for(let d=0;d<u.length;d++){const g=u[d];let m=Le.Segment+(n.sensitive?Le.BonusCaseSensitive:0);if(g.type===Kt.Static)d||(o+="/"),o+=g.value.replace(Xu,"\\$&"),m+=Le.Static;else if(g.type===Kt.Param){const{value:_,repeatable:y,optional:T,regexp:P}=g;r.push({name:_,repeatable:y,optional:T});const R=P||Pr;if(R!==Pr){m+=Le.BonusCustomRegExp;try{`${R}`}catch(b){throw new Error(`Invalid custom RegExp for param "${_}" (${R}): `+b.message)}}let A=y?`((?:${R})(?:/(?:${R}))*)`:`(${R})`;d||(A=T&&u.length<2?`(?:/${A})`:"/"+A),T&&(A+="?"),o+=A,m+=Le.Dynamic,T&&(m+=Le.BonusOptional),y&&(m+=Le.BonusRepeatable),R===".*"&&(m+=Le.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const u=s.length-1;s[u][s[u].length-1]+=Le.BonusStrict}n.strict||(o+="/?"),n.end?o+="$":n.strict&&!o.endsWith("/")&&(o+="(?:/|$)");const l=new RegExp(o,n.sensitive?"":"i");function i(u){const f=u.match(l),d={};if(!f)return null;for(let g=1;g<f.length;g++){const m=f[g]||"",_=r[g-1];d[_.name]=m&&_.repeatable?m.split("/"):m}return d}function a(u){let f="",d=!1;for(const g of e){(!d||!f.endsWith("/"))&&(f+="/"),d=!1;for(const m of g)if(m.type===Kt.Static)f+=m.value;else if(m.type===Kt.Param){const{value:_,repeatable:y,optional:T}=m,P=_ in u?u[_]:"";if(et(P)&&!y)throw new Error(`Provided param "${_}" is an array but it is not repeatable (* or + modifiers)`);const R=et(P)?P.join("/"):P;if(!R)if(T)g.length<2&&(f.endsWith("/")?f=f.slice(0,-1):d=!0);else throw new Error(`Missing required param "${_}"`);f+=R}}return f||"/"}return{re:l,score:s,keys:r,parse:i,stringify:a}}function ef(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]===Le.Static+Le.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Le.Static+Le.Segment?1:-1:0}function mi(e,t){let n=0;const s=e.score,o=t.score;for(;n<s.length&&n<o.length;){const r=ef(s[n],o[n]);if(r)return r;n++}if(Math.abs(o.length-s.length)===1){if(Or(s))return 1;if(Or(o))return-1}return o.length-s.length}function Or(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const tf={strict:!1,end:!0,sensitive:!1};function nf(e,t,n){const s=Zu(Qu(e.path),n),o=ae(s,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function sf(e,t){const n=[],s=new Map;t=xr(tf,t);function o(d){return s.get(d)}function r(d,g,m){const _=!m,y=Nr(d);y.aliasOf=m&&m.record;const T=xr(t,d),P=[y];if("alias"in d){const b=typeof d.alias=="string"?[d.alias]:d.alias;for(const I of b)P.push(Nr(ae({},y,{components:m?m.record.components:y.components,path:I,aliasOf:m?m.record:y})))}let R,A;for(const b of P){const{path:I}=b;if(g&&I[0]!=="/"){const J=g.record.path,j=J[J.length-1]==="/"?"":"/";b.path=g.record.path+(I&&j+I)}if(R=nf(b,g,T),m?m.alias.push(R):(A=A||R,A!==R&&A.alias.push(R),_&&d.name&&!Ir(R)&&l(d.name)),vi(R)&&a(R),y.children){const J=y.children;for(let j=0;j<J.length;j++)r(J[j],R,m&&m.children[j])}m=m||R}return A?()=>{l(A)}:On}function l(d){if(di(d)){const g=s.get(d);g&&(s.delete(d),n.splice(n.indexOf(g),1),g.children.forEach(l),g.alias.forEach(l))}else{const g=n.indexOf(d);g>-1&&(n.splice(g,1),d.record.name&&s.delete(d.record.name),d.children.forEach(l),d.alias.forEach(l))}}function i(){return n}function a(d){const g=lf(d,n);n.splice(g,0,d),d.record.name&&!Ir(d)&&s.set(d.record.name,d)}function u(d,g){let m,_={},y,T;if("name"in d&&d.name){if(m=s.get(d.name),!m)throw dn(we.MATCHER_NOT_FOUND,{location:d});T=m.record.name,_=ae(kr(g.params,m.keys.filter(A=>!A.optional).concat(m.parent?m.parent.keys.filter(A=>A.optional):[]).map(A=>A.name)),d.params&&kr(d.params,m.keys.map(A=>A.name))),y=m.stringify(_)}else if(d.path!=null)y=d.path,m=n.find(A=>A.re.test(y)),m&&(_=m.parse(y),T=m.record.name);else{if(m=g.name?s.get(g.name):n.find(A=>A.re.test(g.path)),!m)throw dn(we.MATCHER_NOT_FOUND,{location:d,currentLocation:g});T=m.record.name,_=ae({},g.params,d.params),y=m.stringify(_)}const P=[];let R=m;for(;R;)P.unshift(R.record),R=R.parent;return{name:T,path:y,params:_,matched:P,meta:rf(P)}}e.forEach(d=>r(d));function f(){n.length=0,s.clear()}return{addRoute:r,resolve:u,removeRoute:l,clearRoutes:f,getRoutes:i,getRecordMatcher:o}}function kr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function Nr(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:of(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 of(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 Ir(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function rf(e){return e.reduce((t,n)=>ae(t,n.meta),{})}function lf(e,t){let n=0,s=t.length;for(;n!==s;){const r=n+s>>1;mi(e,t[r])<0?s=r:n=r+1}const o=af(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function af(e){let t=e;for(;t=t.parent;)if(vi(t)&&mi(e,t)===0)return t}function vi({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Mr(e){const t=qe(As),n=qe(To),s=Se(()=>{const a=ft(e.to);return t.resolve(a)}),o=Se(()=>{const{matched:a}=s.value,{length:u}=a,f=a[u-1],d=n.matched;if(!f||!d.length)return-1;const g=d.findIndex(fn.bind(null,f));if(g>-1)return g;const m=$r(a[u-2]);return u>1&&$r(f)===m&&d[d.length-1].path!==m?d.findIndex(fn.bind(null,a[u-2])):g}),r=Se(()=>o.value>-1&&pf(n.params,s.value.params)),l=Se(()=>o.value>-1&&o.value===n.matched.length-1&&fi(n.params,s.value.params));function i(a={}){if(df(a)){const u=t[ft(e.replace)?"replace":"push"](ft(e.to)).catch(On);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:s,href:Se(()=>s.value.href),isActive:r,isExactActive:l,navigate:i}}function cf(e){return e.length===1?e[0]:e}const uf=wl({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:Mr,setup(e,{slots:t}){const n=hn(Mr(e)),{options:s}=qe(As),o=Se(()=>({[Lr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Lr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&cf(t.default(n));return e.custom?r:Yl("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),ff=uf;function df(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 pf(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(!et(o)||o.length!==s.length||s.some((r,l)=>r.valueOf()!==o[l].valueOf()))return!1}return!0}function $r(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Lr=(e,t,n)=>e??t??n,hf=wl({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=qe(lo),o=Se(()=>e.route||s.value),r=qe(Tr,0),l=Se(()=>{let u=ft(r);const{matched:f}=o.value;let d;for(;(d=f[u])&&!d.components;)u++;return u}),i=Se(()=>o.value.matched[l.value]);Qn(Tr,Se(()=>l.value+1)),Qn(hi,i),Qn(lo,o);const a=ee();return rn(()=>[a.value,i.value,e.name],([u,f,d],[g,m,_])=>{f&&(f.instances[d]=u,m&&m!==f&&u&&u===g&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),u&&f&&(!m||!fn(f,m)||!g)&&(f.enterCallbacks[d]||[]).forEach(y=>y(u))},{flush:"post"}),()=>{const u=o.value,f=e.name,d=i.value,g=d&&d.components[f];if(!g)return Dr(n.default,{Component:g,route:u});const m=d.props[f],_=m?m===!0?u.params:typeof m=="function"?m(u):m:null,T=Yl(g,ae({},_,t,{onVnodeUnmounted:P=>{P.component.isUnmounted&&(d.instances[f]=null)},ref:a}));return Dr(n.default,{Component:T,route:u})||T}}});function Dr(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const gf=hf;function mf(e){const t=sf(e.routes,e),n=e.parseQuery||Uu,s=e.stringifyQuery||Ar,o=e.history,r=_n(),l=_n(),i=_n(),a=la(Pt);let u=Pt;tn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=Ds.bind(null,C=>""+C),d=Ds.bind(null,xu),g=Ds.bind(null,Un);function m(C,B){let $,K;return di(C)?($=t.getRecordMatcher(C),K=B):K=C,t.addRoute(K,$)}function _(C){const B=t.getRecordMatcher(C);B&&t.removeRoute(B)}function y(){return t.getRoutes().map(C=>C.record)}function T(C){return!!t.getRecordMatcher(C)}function P(C,B){if(B=ae({},B||a.value),typeof C=="string"){const v=Vs(n,C,B.path),w=t.resolve({path:v.path},B),S=o.createHref(v.fullPath);return ae(v,w,{params:g(w.params),hash:Un(v.hash),redirectedFrom:void 0,href:S})}let $;if(C.path!=null)$=ae({},C,{path:Vs(n,C.path,B.path).path});else{const v=ae({},C.params);for(const w in v)v[w]==null&&delete v[w];$=ae({},C,{params:d(v)}),B.params=d(B.params)}const K=t.resolve($,B),oe=C.hash||"";K.params=f(g(K.params));const p=Eu(s,ae({},C,{hash:_u(oe),path:K.path})),h=o.createHref(p);return ae({fullPath:p,hash:oe,query:s===Ar?Bu(C.query):C.query||{}},K,{redirectedFrom:void 0,href:h})}function R(C){return typeof C=="string"?Vs(n,C,a.value.path):ae({},C)}function A(C,B){if(u!==C)return dn(we.NAVIGATION_CANCELLED,{from:B,to:C})}function b(C){return j(C)}function I(C){return b(ae(R(C),{replace:!0}))}function J(C,B){const $=C.matched[C.matched.length-1];if($&&$.redirect){const{redirect:K}=$;let oe=typeof K=="function"?K(C,B):K;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=R(oe):{path:oe},oe.params={}),ae({query:C.query,hash:C.hash,params:oe.path!=null?{}:C.params},oe)}}function j(C,B){const $=u=P(C),K=a.value,oe=C.state,p=C.force,h=C.replace===!0,v=J($,K);if(v)return j(ae(R(v),{state:typeof v=="object"?ae({},oe,v.state):oe,force:p,replace:h}),B||$);const w=$;w.redirectedFrom=B;let S;return!p&&Au(s,K,$)&&(S=dn(we.NAVIGATION_DUPLICATED,{to:w,from:K}),tt(K,K,!0,!1)),(S?Promise.resolve(S):X(w,K)).catch(x=>gt(x)?gt(x,we.NAVIGATION_GUARD_REDIRECT)?x:Tt(x):ne(x,w,K)).then(x=>{if(x){if(gt(x,we.NAVIGATION_GUARD_REDIRECT))return j(ae({replace:h},R(x.to),{state:typeof x.to=="object"?ae({},oe,x.to.state):oe,force:p}),B||w)}else x=L(w,K,!0,h,oe);return te(w,K,x),x})}function le(C,B){const $=A(C,B);return $?Promise.reject($):Promise.resolve()}function V(C){const B=Yt.values().next().value;return B&&typeof B.runWithContext=="function"?B.runWithContext(C):C()}function X(C,B){let $;const[K,oe,p]=ju(C,B);$=Bs(K.reverse(),"beforeRouteLeave",C,B);for(const v of K)v.leaveGuards.forEach(w=>{$.push(Mt(w,C,B))});const h=le.bind(null,C,B);return $.push(h),Ke($).then(()=>{$=[];for(const v of r.list())$.push(Mt(v,C,B));return $.push(h),Ke($)}).then(()=>{$=Bs(oe,"beforeRouteUpdate",C,B);for(const v of oe)v.updateGuards.forEach(w=>{$.push(Mt(w,C,B))});return $.push(h),Ke($)}).then(()=>{$=[];for(const v of p)if(v.beforeEnter)if(et(v.beforeEnter))for(const w of v.beforeEnter)$.push(Mt(w,C,B));else $.push(Mt(v.beforeEnter,C,B));return $.push(h),Ke($)}).then(()=>(C.matched.forEach(v=>v.enterCallbacks={}),$=Bs(p,"beforeRouteEnter",C,B,V),$.push(h),Ke($))).then(()=>{$=[];for(const v of l.list())$.push(Mt(v,C,B));return $.push(h),Ke($)}).catch(v=>gt(v,we.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function te(C,B,$){i.list().forEach(K=>V(()=>K(C,B,$)))}function L(C,B,$,K,oe){const p=A(C,B);if(p)return p;const h=B===Pt,v=tn?history.state:{};$&&(K||h?o.replace(C.fullPath,ae({scroll:h&&v&&v.scroll},oe)):o.push(C.fullPath,oe)),a.value=C,tt(C,B,$,h),Tt()}let se;function Ce(){se||(se=o.listen((C,B,$)=>{if(!Bt.listening)return;const K=P(C),oe=J(K,Bt.currentRoute.value);if(oe){j(ae(oe,{replace:!0,force:!0}),K).catch(On);return}u=K;const p=a.value;tn&&Mu(Er(p.fullPath,$.delta),Es()),X(K,p).catch(h=>gt(h,we.NAVIGATION_ABORTED|we.NAVIGATION_CANCELLED)?h:gt(h,we.NAVIGATION_GUARD_REDIRECT)?(j(ae(R(h.to),{force:!0}),K).then(v=>{gt(v,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&!$.delta&&$.type===oo.pop&&o.go(-1,!1)}).catch(On),Promise.reject()):($.delta&&o.go(-$.delta,!1),ne(h,K,p))).then(h=>{h=h||L(K,p,!1),h&&($.delta&&!gt(h,we.NAVIGATION_CANCELLED)?o.go(-$.delta,!1):$.type===oo.pop&>(h,we.NAVIGATION_ABORTED|we.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),te(K,p,h)}).catch(On)}))}let G=_n(),k=_n(),U;function ne(C,B,$){Tt(C);const K=k.list();return K.length?K.forEach(oe=>oe(C,B,$)):console.error(C),Promise.reject(C)}function pt(){return U&&a.value!==Pt?Promise.resolve():new Promise((C,B)=>{G.add([C,B])})}function Tt(C){return U||(U=!C,Ce(),G.list().forEach(([B,$])=>C?$(C):B()),G.reset()),C}function tt(C,B,$,K){const{scrollBehavior:oe}=e;if(!tn||!oe)return Promise.resolve();const p=!$&&$u(Er(C.fullPath,0))||(K||!$)&&history.state&&history.state.scroll||null;return bo().then(()=>oe(C,B,p)).then(h=>h&&Iu(h)).catch(h=>ne(h,C,B))}const Ve=C=>o.go(C);let Qt;const Yt=new Set,Bt={currentRoute:a,listening:!0,addRoute:m,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:y,resolve:P,options:e,push:b,replace:I,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:r.add,beforeResolve:l.add,afterEach:i.add,onError:k.add,isReady:pt,install(C){C.component("RouterLink",ff),C.component("RouterView",gf),C.config.globalProperties.$router=Bt,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>ft(a)}),tn&&!Qt&&a.value===Pt&&(Qt=!0,b(o.location).catch(K=>{}));const B={};for(const K in Pt)Object.defineProperty(B,K,{get:()=>a.value[K],enumerable:!0});C.provide(As,Bt),C.provide(To,al(B)),C.provide(lo,a);const $=C.unmount;Yt.add(C),C.unmount=function(){Yt.delete(C),Yt.size<1&&(u=Pt,se&&se(),se=null,a.value=Pt,Qt=!1,U=!1),$()}}};function Ke(C){return C.reduce((B,$)=>B.then(()=>V($)),Promise.resolve())}return Bt}function jn(){return qe(As)}function yi(e){return qe(To)}const Pe=hn({mode:null,user:null,remoteBaseUrl:"",token:""});function Ro(){return ts(Pe)}function Po(e){Pe.mode=e,typeof localStorage<"u"&&localStorage.setItem("pac_proxy_mode",e)}function _i(){if(typeof localStorage<"u"){const e=localStorage.getItem("pac_proxy_mode");(e==="local"||e==="remote")&&(Pe.mode=e);const t=localStorage.getItem("pac_proxy_token");t&&(Pe.token=t);const n=localStorage.getItem("pac_proxy_remote_base_url");if(n&&typeof n=="string"&&(Pe.remoteBaseUrl=n),Pe.mode==="remote"&&Pe.token)try{const s=JSON.parse(atob(Pe.token.split(".")[1]));Pe.user={username:s.username}}catch{}}return Pe.mode}function bi(e){Pe.user=e}function wi(e){Pe.remoteBaseUrl=e||"",typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_remote_base_url",e):localStorage.removeItem("pac_proxy_remote_base_url"))}function xi(e){Pe.token=e,typeof localStorage<"u"&&(e?localStorage.setItem("pac_proxy_token",e):localStorage.removeItem("pac_proxy_token"))}function vf(){return Pe.token||typeof localStorage<"u"&&localStorage.getItem("pac_proxy_token")}function yf(){Pe.token="",Pe.user=null,Pe.remoteBaseUrl="",Pe.mode=null,typeof localStorage<"u"&&(localStorage.removeItem("pac_proxy_token"),localStorage.removeItem("pac_proxy_mode"),localStorage.removeItem("pac_proxy_remote_base_url"))}const _f=()=>{const e=vf(),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 Hs(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:{..._f(),...n.headers}});if(!r.ok)throw new Error((await r.json().catch(()=>({}))).error||r.statusText);return r.json()}function Ci(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:()=>Hs(t,"/pac-rules"),setPacRules:async s=>{await Hs(t,"/pac-rules",{method:"PUT",body:JSON.stringify(s)}),await de("/pac-rules",{method:"PUT",body:JSON.stringify(s)})},getConfig:()=>Hs(t,"/config")}}const Lt=hn([]);let Si=0;function bf(){return Lt}function _e(e,t="success",n=2500){const s=++Si;Lt.push({id:s,msg:e,type:t}),setTimeout(()=>{const o=Lt.findIndex(r=>r.id===s);o>=0&&Lt.splice(o,1)},n)}function Vr(e){return new Promise(t=>{const n=++Si;Lt.push({id:n,msg:e,type:"confirm",resolve:t})})}function Ur(e,t){const n=Lt.findIndex(s=>s.id===e);n>=0&&(Lt[n].resolve(t),Lt.splice(n,1))}const At=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},wf={class:"toast-container"},xf={key:0,class:"toast-confirm-mask"},Cf={class:"toast-confirm"},Sf={class:"toast-confirm-msg"},Ef={class:"toast-confirm-actions"},Af=["onClick"],Tf=["onClick"],Rf={class:"toast-icon"},Pf={key:0,viewBox:"0 0 20 20",fill:"currentColor"},Of={key:1,viewBox:"0 0 20 20",fill:"currentColor"},kf={key:2,viewBox:"0 0 20 20",fill:"currentColor"},Nf={class:"toast-msg"},If={__name:"Toast",setup(e){const t=bf();return(n,s)=>(H(),Wl(wa,{to:"body"},[c("div",wf,[ve(Wc,{name:"toast"},{default:ct(()=>[(H(!0),F(Ee,null,Ln(ft(t),o=>(H(),F(Ee,{key:o.id},[o.type==="confirm"?(H(),F("div",xf,[c("div",Cf,[c("p",Sf,z(o.msg),1),c("div",Ef,[c("button",{class:"tc-btn cancel",onClick:r=>ft(Ur)(o.id,!1)},"取消",8,Af),c("button",{class:"tc-btn ok",onClick:r=>ft(Ur)(o.id,!0)},"确定",8,Tf)])])])):(H(),F("div",{key:1,class:be(["toast",o.type])},[c("span",Rf,[o.type==="success"?(H(),F("svg",Pf,[...s[0]||(s[0]=[c("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"},null,-1)])])):o.type==="error"?(H(),F("svg",Of,[...s[1]||(s[1]=[c("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z","clip-rule":"evenodd"},null,-1)])])):(H(),F("svg",kf,[...s[2]||(s[2]=[c("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z","clip-rule":"evenodd"},null,-1)])]))]),c("span",Nf,z(o.msg),1)],2))],64))),128))]),_:1})])]))}},Mf=At(If,[["__scopeId","data-v-5cf00320"]]),$f={class:"app-layout"},Lf={key:0,class:"sidebar"},Df={class:"side-nav"},Vf={class:"sidebar-footer"},Uf={key:0,class:"topbar"},Bf={class:"topbar-left"},Hf={class:"page-title"},Ff={key:0,class:"topbar-right"},jf={class:"username"},Gf={class:"main"},Kf={__name:"App",setup(e){const t=yi(),n=jn(),s=Ro(),o=Se(()=>s.mode||"local"),r=Se(()=>o.value==="remote"),l=Se(()=>s.user),i=Se(()=>o.value==="local"?"本地模式":"远程模式"),a=Se(()=>t.path!=="/"),u=Se(()=>t.path!=="/"&&!t.path.startsWith("/login")&&!t.path.startsWith("/register")),f=Se(()=>t.path==="/"||t.path.startsWith("/login")||t.path.startsWith("/register")),d={"/console/proxy":"代理设置","/console/shadowsocks":"Shadowsocks","/console/pac-rules":"PAC 规则","/console/traffic":"流量记录"},g=Se(()=>d[t.path]||"");async function m(){try{const _=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({..._,mode:"local"})})}catch{}yf(),n.push("/")}return(_,y)=>{const T=$n("router-link"),P=$n("router-view");return H(),F(Ee,null,[c("div",$f,[u.value?(H(),F("aside",Lf,[y[5]||(y[5]=c("div",{class:"sidebar-logo"},[c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c("circle",{cx:"12",cy:"12",r:"10"}),c("path",{d:"M12 8v4l3 3"})]),c("span",null,"PAC Proxy")],-1)),c("nav",Df,[ve(T,{to:"/console/proxy","active-class":"active"},{default:ct(()=>[...y[0]||(y[0]=[c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),c("path",{d:"M8 21h8M12 17v4"})],-1),he(" 代理设置 ",-1)])]),_:1}),ve(T,{to:"/console/shadowsocks","active-class":"active"},{default:ct(()=>[...y[1]||(y[1]=[c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),c("path",{d:"M7 11V7a5 5 0 0110 0v4"})],-1),he(" Shadowsocks ",-1)])]),_:1}),ve(T,{to:"/console/pac-rules","active-class":"active"},{default:ct(()=>[...y[2]||(y[2]=[c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c("path",{d:"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2"}),c("rect",{x:"9",y:"3",width:"6",height:"4",rx:"1"}),c("path",{d:"M9 12h6M9 16h4"})],-1),he(" PAC 规则 ",-1)])]),_:1}),ve(T,{to:"/console/traffic","active-class":"active"},{default:ct(()=>[...y[3]||(y[3]=[c("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[c("path",{d:"M22 12h-4l-3 9L9 3l-3 9H2"})],-1),he(" 流量记录 ",-1)])]),_:1})]),c("div",Vf,[c("span",{class:be(["mode-badge",o.value])},z(i.value),3),ve(T,{to:"/",class:"switch-mode-link"},{default:ct(()=>[...y[4]||(y[4]=[he("切换模式",-1)])]),_:1})])])):ye("",!0),c("div",{class:be(["content-wrap",{"content-standalone":f.value}])},[a.value?(H(),F("header",Uf,[c("div",Bf,[c("span",Hf,z(g.value),1)]),r.value&&l.value?(H(),F("div",Ff,[c("span",jf,z(l.value.username),1),c("button",{type:"button",class:"logout-btn",onClick:m},"退出登录")])):ye("",!0)])):ye("",!0),c("main",Gf,[ve(P)])],2)]),ve(Mf)],64)}}},Wf=At(Kf,[["__scopeId","data-v-ee1bb6ce"]]),zf={class:"mode-select"},qf={class:"card"},Jf={class:"options"},Qf={__name:"ModeSelect",setup(e){const t=jn();async function n(s){if(Po(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)=>(H(),F("div",zf,[c("div",qf,[o[4]||(o[4]=c("h1",null,"选择运行模式",-1)),o[5]||(o[5]=c("p",{class:"desc"},"请选择控制台使用方式,选择后可随时在设置中切换。",-1)),c("div",Jf,[c("button",{class:"option local",onClick:o[0]||(o[0]=r=>n("local"))},[...o[2]||(o[2]=[c("span",{class:"title"},"本地模式",-1),c("span",{class:"sub"},"无需登录,配置保存在本机,由 node-cli 维护",-1)])]),c("button",{class:"option remote",onClick:o[1]||(o[1]=r=>n("remote"))},[...o[3]||(o[3]=[c("span",{class:"title"},"远程模式",-1),c("span",{class:"sub"},"需注册/登录,配置与数据保存在云端",-1)])])])])]))}},Yf=At(Qf,[["__scopeId","data-v-b465f762"]]),Xf={class:"auth-page"},Zf={class:"card"},ed={class:"field"},td={class:"field"},nd={key:0,class:"error"},sd=["disabled"],od={class:"footer"},rd={__name:"Login",setup(e){const t=jn(),n=ee(""),s=ee(""),o=ee(""),r=ee(""),l=ee(!1);Ut(async()=>{try{const a=await fetch("/api/local/remote-server-url"),{url:u}=await a.json();n.value=u||""}catch{n.value=""}});async function i(){if(r.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}l.value=!0;try{const a=n.value.replace(/\/$/,""),u=await fetch(a+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),f=await u.json().catch(()=>({}));if(!u.ok)throw new Error(f.error||"登录失败");Po("remote"),wi(a),xi(f.token),bi(f.user||{username:s.value});try{const d=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({...d,mode:"remote"})});const g=await fetch(a+"/api/pac-rules",{headers:{Authorization:"Bearer "+f.token}}).then(m=>m.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{l.value=!1}}return(a,u)=>{const f=$n("router-link");return H(),F("div",Xf,[c("div",Zf,[u[6]||(u[6]=c("h1",null,"登录",-1)),u[7]||(u[7]=c("p",{class:"desc"},"远程模式需登录后使用云端配置。",-1)),c("form",{onSubmit:Ss(i,["prevent"]),class:"form"},[c("div",ed,[u[2]||(u[2]=c("label",null,"用户名",-1)),Ae(c("input",{"onUpdate:modelValue":u[0]||(u[0]=d=>s.value=d),type:"text",required:""},null,512),[[Oe,s.value]])]),c("div",td,[u[3]||(u[3]=c("label",null,"密码",-1)),Ae(c("input",{"onUpdate:modelValue":u[1]||(u[1]=d=>o.value=d),type:"password",required:""},null,512),[[Oe,o.value]])]),r.value?(H(),F("p",nd,z(r.value),1)):ye("",!0),c("button",{type:"submit",class:"btn primary",disabled:l.value},"登录",8,sd)],32),c("p",od,[u[5]||(u[5]=he("还没有账号? ",-1)),ve(f,{to:"/register"},{default:ct(()=>[...u[4]||(u[4]=[he("注册",-1)])]),_:1})])])])}}},ld=At(rd,[["__scopeId","data-v-d4d57b91"]]),id={class:"auth-page"},ad={class:"card"},cd={class:"field"},ud={class:"field"},fd={key:0,class:"error"},dd={key:1,class:"success"},pd=["disabled"],hd={class:"footer"},gd={__name:"Register",setup(e){const t=jn(),n=ee(""),s=ee(""),o=ee(""),r=ee(""),l=ee(""),i=ee(!1);Ut(async()=>{try{const u=await fetch("/api/local/remote-server-url"),{url:f}=await u.json();n.value=f||""}catch{n.value=""}});async function a(){if(r.value="",l.value="",!n.value){r.value="请在 node-cli 目录下的 .env 中配置 REMOTE_SERVER_URL";return}i.value=!0;try{const u=n.value.replace(/\/$/,""),f=await fetch(u+"/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),d=await f.json().catch(()=>({}));if(!f.ok)throw new Error(d.error||"注册失败");l.value="注册成功,正在自动登录…";const g=await fetch(u+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:s.value,password:o.value})}),m=await g.json().catch(()=>({}));if(!g.ok)throw new Error(m.error||"自动登录失败");Po("remote"),wi(u),xi(m.token),bi(m.user||{username:s.value}),l.value="注册成功,已自动登录";try{const _=await de("/config");await de("/config",{method:"PUT",body:JSON.stringify({..._,mode:"remote"})});const y=await fetch(u+"/api/pac-rules",{headers:{Authorization:"Bearer "+m.token}}).then(T=>T.json()).catch(()=>[]);Array.isArray(y)&&await de("/pac-rules",{method:"PUT",body:JSON.stringify(y)})}catch{}t.push("/console")}catch(u){r.value=u.message}finally{i.value=!1}}return(u,f)=>{const d=$n("router-link");return H(),F("div",id,[c("div",ad,[f[6]||(f[6]=c("h1",null,"注册",-1)),f[7]||(f[7]=c("p",{class:"desc"},"注册后可在远程模式下同步配置。",-1)),c("form",{onSubmit:Ss(a,["prevent"]),class:"form"},[c("div",cd,[f[2]||(f[2]=c("label",null,"用户名",-1)),Ae(c("input",{"onUpdate:modelValue":f[0]||(f[0]=g=>s.value=g),type:"text",required:""},null,512),[[Oe,s.value]])]),c("div",ud,[f[3]||(f[3]=c("label",null,"密码",-1)),Ae(c("input",{"onUpdate:modelValue":f[1]||(f[1]=g=>o.value=g),type:"password",required:""},null,512),[[Oe,o.value]])]),r.value?(H(),F("p",fd,z(r.value),1)):ye("",!0),l.value?(H(),F("p",dd,z(l.value),1)):ye("",!0),c("button",{type:"submit",class:"btn primary",disabled:i.value},"注册",8,pd)],32),c("p",hd,[f[5]||(f[5]=he("已有账号? ",-1)),ve(d,{to:"/login"},{default:ct(()=>[...f[4]||(f[4]=[he("登录",-1)])]),_:1})])])])}}},md=At(gd,[["__scopeId","data-v-a1c8458c"]]),vd={class:"proxy-settings"},yd={class:"card"},_d={class:"mode-cards"},bd=["onClick","disabled"],wd=["innerHTML"],xd={class:"mode-label"},Cd={class:"mode-desc"},Sd={key:0,class:"ca-download"},Ed={class:"card"},Ad={class:"field"},Td={key:0,class:"upstream-managed"},Rd={class:"row"},Pd={class:"field"},Od={class:"field"},kd={class:"actions"},Nd=["disabled"],Id={key:0,class:"btn-spinner"},Md={key:0,class:"card status-card"},$d={class:"status-line"},Ld={key:0,class:"status-port"},Dd={key:0,class:"hint"},Vd={key:1,class:"hint error"},Ud={key:2,class:"hint"},Bd={key:3,class:"hint"},Hd="/api/local/ca-cert",Fd={__name:"ProxySettings",setup(e){const t=Ro();jn();function n(){return Ci(t.mode,t.remoteBaseUrl)}const s=ee(!1),o=ee(1080),r=[{key:"global",label:"全局代理",desc:"所有流量走上游代理",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z" clip-rule="evenodd"/></svg>'},{key:"pac",label:"PAC 代理",desc:"按规则智能分流",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path d="M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM14 11a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1h-1a1 1 0 110-2h1v-1a1 1 0 011-1z"/></svg>'},{key:"mitm",label:"抓包代理",desc:"解密 HTTPS 流量",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z" clip-rule="evenodd"/></svg>'},{key:"clear",label:"清除代理",desc:"恢复直连",icon:'<svg viewBox="0 0 20 20" fill="currentColor"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"/></svg>'}],l=ee({enabled:!1,mode:"pac",upstream:"socks5://127.0.0.1:1080",httpPort:5175,httpsPort:5176,applySystemProxy:!0}),i=ee(!1),a=ee(null);async function u(){try{const m=await fetch("/api/local/proxy-status");a.value=await m.json()}catch{a.value={running:!1,port:null}}}function f(){return{enabled:!!l.value.enabled,mode:l.value.mode||"pac",upstream:String(l.value.upstream??"").trim()||"socks5://127.0.0.1:1080",httpPort:Number(l.value.httpPort)||5175,httpsPort:Number(l.value.httpsPort)||5176,applySystemProxy:l.value.applySystemProxy!==!1}}async function d(m){if(!i.value){m==="clear"?(l.value.enabled=!1,l.value.applySystemProxy=!0):(l.value.enabled=!0,l.value.mode=m,l.value.applySystemProxy=!0),i.value=!0;try{const _=f();if(await de("/proxy",{method:"PUT",body:JSON.stringify(_)}),t.mode==="remote")try{const T=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(T)})}catch{}await u(),_e(m==="clear"?"已清除系统代理设置":`已切换至${{global:"全局代理",pac:"PAC 代理",mitm:"抓包代理",clear:"已清除代理"}[m]}`,"success")}catch(_){_e("操作失败:"+_.message,"error")}finally{i.value=!1}}}Ut(async()=>{try{const[m,_]=await Promise.all([de("/proxy"),fetch("/api/local/sslocal").then(y=>y.json()).catch(()=>({}))]);if(l.value={...l.value,...m},s.value=_.enabled===!0,o.value=_.localPort||1080,t.mode==="remote")try{const y=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(y)})}catch{}await u()}catch{}});async function g(){i.value=!0;try{const m=f();if(await de("/proxy",{method:"PUT",body:JSON.stringify(m)}),t.mode==="remote")try{const _=await n().getPacRules();await de("/pac-rules",{method:"PUT",body:JSON.stringify(_)})}catch{}await u(),_e("设置已保存","success")}catch(m){_e("保存失败:"+m.message,"error")}finally{i.value=!1}}return(m,_)=>{const y=$n("router-link");return H(),F("div",vd,[c("div",yd,[_[5]||(_[5]=c("h3",null,"代理模式",-1)),_[6]||(_[6]=c("p",{class:"desc"},"一键设置本机系统代理(支持 macOS、Windows、Linux GNOME)。",-1)),c("div",_d,[(H(),F(Ee,null,Ln(r,T=>c("button",{key:T.key,class:be(["mode-card",{active:l.value.enabled&&l.value.mode===T.key,clear:T.key==="clear","active-clear":!l.value.enabled&&T.key==="clear"}]),onClick:P=>d(T.key),disabled:i.value,type:"button"},[c("span",{class:"mode-icon",innerHTML:T.icon},null,8,wd),c("span",xd,z(T.label),1),c("span",Cd,z(T.desc),1)],10,bd)),64))]),l.value.enabled&&l.value.mode==="mitm"?(H(),F("div",Sd,[_[3]||(_[3]=c("span",{class:"ca-label"},"CA 证书(用于解密 HTTPS,需安装到系统/浏览器信任):",-1)),c("a",{class:"btn btn-ca",href:Hd,download:"pac-proxy-ca.crt",target:"_blank",rel:"noopener"},"下载 CA 证书"),_[4]||(_[4]=c("p",{class:"ca-hint"},"仅限本机抓包使用,请勿安装到他人设备或生产环境。",-1))])):ye("",!0)]),c("div",Ed,[_[12]||(_[12]=c("h3",null,"上游代理与端口",-1)),_[13]||(_[13]=c("p",{class:"desc"},[he("上游代理地址(如 "),c("code",null,"socks5://127.0.0.1:1080"),he(" 或 "),c("code",null,"http://proxy.example.com"),he(")。本地模式下可将 SOCKS5 转为 HTTP 代理并按规则执行策略。")],-1)),c("div",Ad,[_[9]||(_[9]=c("label",null,"上游代理地址",-1)),s.value?(H(),F("div",Td,[_[8]||(_[8]=c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z","clip-rule":"evenodd"})],-1)),he(" 由 Shadowsocks 托管(socks5://127.0.0.1:"+z(o.value)+") ",1),ve(y,{to:"/console/shadowsocks"},{default:ct(()=>[..._[7]||(_[7]=[he("管理",-1)])]),_:1})])):Ae((H(),F("input",{key:1,"onUpdate:modelValue":_[0]||(_[0]=T=>l.value.upstream=T),placeholder:"socks5://127.0.0.1:1080"},null,512)),[[Oe,l.value.upstream]])]),c("div",Rd,[c("div",Pd,[_[10]||(_[10]=c("label",null,"HTTP 代理端口",-1)),Ae(c("input",{"onUpdate:modelValue":_[1]||(_[1]=T=>l.value.httpPort=T),type:"number",min:"1",max:"65535"},null,512),[[Oe,l.value.httpPort,void 0,{number:!0}]])]),c("div",Od,[_[11]||(_[11]=c("label",null,"HTTPS 代理端口",-1)),Ae(c("input",{"onUpdate:modelValue":_[2]||(_[2]=T=>l.value.httpsPort=T),type:"number",min:"1",max:"65535"},null,512),[[Oe,l.value.httpsPort,void 0,{number:!0}]])])]),c("div",kd,[c("button",{class:"btn primary",onClick:g,disabled:i.value},[i.value?(H(),F("span",Id)):ye("",!0),he(" "+z(i.value?"保存中…":"保存设置"),1)],8,Nd)])]),a.value!==null?(H(),F("div",Md,[_[16]||(_[16]=c("h3",null,"代理状态",-1)),c("p",$d,[c("span",{class:be(["status-dot",a.value.running?"on":"off"])},null,2),c("span",{class:be(a.value.running?"status-on":"status-off")},z(a.value.running?"运行中":"已关闭"),3),a.value.running?(H(),F("span",Ld,"端口 "+z(a.value.port),1)):ye("",!0)]),a.value.running&&l.value.applySystemProxy&&a.value.systemProxyOk!==!1?(H(),F("p",Dd," 已尝试自动设置"+z(l.value.mode==="pac"?" PAC 代理":l.value.mode==="mitm"?"抓包代理":"系统代理")+"(127.0.0.1:"+z(a.value.port)+")。 ",1)):a.value.running&&l.value.applySystemProxy&&a.value.systemProxyError?(H(),F("p",Vd," 自动设置系统代理失败:"+z(a.value.systemProxyError)+" 请手动在「系统设置 → 网络 → 代理」中设置。 ",1)):a.value.running?(H(),F("p",Ud,[_[14]||(_[14]=he(" 请将系统或浏览器的 HTTP/HTTPS 代理设置为 ",-1)),c("strong",null,"127.0.0.1:"+z(a.value.port),1),_[15]||(_[15]=he("。 ",-1))])):l.value.enabled?(H(),F("p",Bd," 保存后若仍显示已关闭,请查看终端是否有端口占用报错。 ")):ye("",!0)])):ye("",!0)])}}},jd=At(Fd,[["__scopeId","data-v-44d33970"]]),Gd={class:"pac-rules"},Kd={class:"card"},Wd={class:"card-header"},zd={key:0,class:"rule-count"},qd={key:0,class:"desc"},Jd={key:1,class:"desc"},Qd={class:"toolbar"},Yd=["disabled"],Xd=["disabled"],Zd={class:"search-wrap"},ep={class:"table-wrap"},tp={class:"table"},np={class:"pattern-cell"},sp={class:"priority-cell"},op={class:"ops-cell"},rp=["onClick"],lp=["onClick"],ip={key:0},ap={key:1},cp={colspan:"4",class:"empty"},up={class:"modal-content"},fp={class:"field"},dp={class:"field"},pp={class:"action-toggle"},hp={class:"field"},gp={class:"modal-actions"},mp=["disabled"],vp={__name:"PacRules",setup(e){const t=Ro();function n(){return Ci(t.mode,t.remoteBaseUrl)}const s=ee([]),o=ee(null),r=ee({pattern:"",action:"proxy",priority:0}),l=ee(!1),i=ee(""),a=ee(null),u=Se(()=>[...s.value].sort((A,b)=>(b.priority??0)-(A.priority??0))),f=Se(()=>{const A=i.value.trim().toLowerCase();return A?u.value.filter(b=>b.pattern.toLowerCase().includes(A)):u.value});Ut(d);async function d(){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 g(A=null){A?r.value={id:A.id,pattern:A.pattern,action:A.action||"proxy",priority:A.priority??0}:r.value={pattern:"",action:"proxy",priority:0},o.value=!0}async function m(){const{id:A,pattern:b,action:I,priority:J}=r.value;if(!b.trim()){_e("请填写 URL 匹配字符","error");return}l.value=!0;try{let j=[...s.value];if(A){const le=j.findIndex(V=>V.id===A);le>=0&&(j[le]={...j[le],pattern:b.trim(),action:I,priority:J})}else{if(j.find(V=>V.pattern.trim()===b.trim())){_e(`规则「${b.trim()}」已存在`,"error"),l.value=!1;return}j.push({id:String(Date.now()),pattern:b.trim(),action:I||"proxy",priority:Number(J)||0})}await n().setPacRules(j),s.value=j,o.value=null,_e(A?"规则已更新":"规则已添加","success")}catch(j){_e("保存失败:"+j.message,"error")}finally{l.value=!1}}async function _(A){if(!await Vr(`确定删除规则「${A.pattern}」?`))return;const I=s.value.filter(J=>J.id!==A.id);try{await n().setPacRules(I),s.value=I,_e("规则已删除","success")}catch(J){_e("删除失败:"+J.message,"error")}}async function y(){if(s.value.length)try{await navigator.clipboard.writeText(s.value.map(A=>(A.pattern||"").trim()).filter(Boolean).join(`
|
|
26
|
-
`)),_e("已复制到剪贴板","success")}catch(A){_e("复制失败:"+A.message,"error")}}function T(){if(!s.value.length)return;const A=new Blob([JSON.stringify(s.value,null,2)],{type:"application/json"}),b=URL.createObjectURL(A),I=document.createElement("a");I.href=b,I.download=`pac-rules-${new Date().toISOString().slice(0,10)}.json`,I.click(),URL.revokeObjectURL(b)}function P(){var A;(A=a.value)==null||A.click()}async function R(A){var I;const b=(I=A.target.files)==null?void 0:I[0];if(b){A.target.value="";try{const J=await b.text(),j=JSON.parse(J);if(!Array.isArray(j)){_e("文件格式错误,需为规则数组","error");return}if(!await Vr(`导入 ${j.length} 条规则,将与现有规则合并(相同 pattern 会覆盖)。确定继续?`))return;const V=[...s.value];for(const X of j){if(!X.pattern)continue;const te=V.findIndex(se=>se.pattern===X.pattern),L={id:X.id||String(Date.now()+Math.random()),pattern:X.pattern,action:X.action||"proxy",priority:Number(X.priority)||0};te>=0?V[te]=L:V.push(L)}await n().setPacRules(V),s.value=V,_e(`已导入 ${j.length} 条规则`,"success")}catch(J){_e("导入失败:"+J.message,"error")}}}return(A,b)=>(H(),F("div",Gd,[c("div",Kd,[c("div",Wd,[c("div",null,[c("h3",null,[b[8]||(b[8]=he("PAC 规则 ",-1)),s.value.length?(H(),F("span",zd,z(s.value.length),1)):ye("",!0)]),ft(t).mode==="remote"?(H(),F("p",qd,"远程模式下规则保存在云端,PAC 模式时由本机按云端规则执行。")):(H(),F("p",Jd,"按优先级从高到低匹配,命中后选择「代理」或「直连」。"))])]),c("div",Qd,[c("button",{class:"btn primary",onClick:b[0]||(b[0]=I=>g())},[...b[9]||(b[9]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z","clip-rule":"evenodd"})],-1),he(" 新增规则 ",-1)])]),c("button",{class:"btn",onClick:P,title:"导入 JSON"},[...b[10]||(b[10]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z","clip-rule":"evenodd"})],-1),he(" 导入 ",-1)])]),c("button",{class:"btn",onClick:T,disabled:!s.value.length,title:"导出 JSON"},[...b[11]||(b[11]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1),he(" 导出 ",-1)])],8,Yd),c("button",{class:"btn",onClick:y,disabled:!s.value.length,title:"复制规则"},[...b[12]||(b[12]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{d:"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z"}),c("path",{d:"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z"})],-1),he(" 复制 ",-1)])],8,Xd),c("div",Zd,[b[13]||(b[13]=c("svg",{class:"search-icon",viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z","clip-rule":"evenodd"})],-1)),Ae(c("input",{class:"search-input","onUpdate:modelValue":b[1]||(b[1]=I=>i.value=I),placeholder:"搜索规则…"},null,512),[[Oe,i.value]])])]),c("div",ep,[c("table",tp,[b[17]||(b[17]=c("thead",null,[c("tr",null,[c("th",null,"URL 匹配字符"),c("th",null,"动作"),c("th",null,"优先级"),c("th",null,"操作")])],-1)),c("tbody",null,[(H(!0),F(Ee,null,Ln(f.value,I=>(H(),F("tr",{key:I.id},[c("td",np,z(I.pattern),1),c("td",null,[c("span",{class:be(["action-badge",I.action])},z(I.action==="proxy"?"代理":"直连"),3)]),c("td",sp,z(I.priority),1),c("td",op,[c("button",{class:"icon-btn",onClick:J=>g(I),title:"编辑"},[...b[14]||(b[14]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{d:"M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"})],-1)])],8,rp),c("button",{class:"icon-btn danger",onClick:J=>_(I),title:"删除"},[...b[15]||(b[15]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z","clip-rule":"evenodd"})],-1)])],8,lp)])]))),128)),s.value.length?f.value.length?ye("",!0):(H(),F("tr",ap,[c("td",cp,"未找到匹配「"+z(i.value)+"」的规则",1)])):(H(),F("tr",ip,[...b[16]||(b[16]=[c("td",{colspan:"4",class:"empty"},"暂无规则,点击「新增规则」开始添加",-1)])]))])])])]),o.value?(H(),F("div",{key:0,class:"modal",onClick:b[7]||(b[7]=Ss(I=>o.value=null,["self"]))},[c("div",up,[c("h3",null,z(r.value.id?"编辑规则":"新增规则"),1),c("div",fp,[b[18]||(b[18]=c("label",null,"URL 匹配字符",-1)),Ae(c("input",{"onUpdate:modelValue":b[2]||(b[2]=I=>r.value.pattern=I),placeholder:"例如 *.google.com",autofocus:""},null,512),[[Oe,r.value.pattern]])]),c("div",dp,[b[19]||(b[19]=c("label",null,"动作",-1)),c("div",pp,[c("button",{type:"button",class:be(["toggle-opt",{active:r.value.action==="proxy"}]),onClick:b[3]||(b[3]=I=>r.value.action="proxy")},"代理",2),c("button",{type:"button",class:be(["toggle-opt",{active:r.value.action==="direct"}]),onClick:b[4]||(b[4]=I=>r.value.action="direct")},"直连",2)])]),c("div",hp,[b[20]||(b[20]=c("label",null,"优先级(数字越大越优先)",-1)),Ae(c("input",{"onUpdate:modelValue":b[5]||(b[5]=I=>r.value.priority=I),type:"number"},null,512),[[Oe,r.value.priority,void 0,{number:!0}]])]),c("div",gp,[c("button",{class:"btn",onClick:b[6]||(b[6]=I=>o.value=null)},"取消"),c("button",{class:"btn primary",onClick:m,disabled:l.value},"保存",8,mp)])])])):ye("",!0),c("input",{ref_key:"fileInput",ref:a,type:"file",accept:".json",style:{display:"none"},onChange:R},null,544)]))}},yp=At(vp,[["__scopeId","data-v-abe2d935"]]),_p={class:"traffic-page"},bp={key:0,class:"card"},wp={class:"toolbar"},xp={class:"auto-refresh"},Cp=["title"],Sp=["disabled"],Ep={key:0,class:"record-count"},Ap={class:"table-wrap"},Tp={class:"table"},Rp={class:"time-cell"},Pp=["title"],Op={key:0},kp={key:1,class:"card capture-card"},Np={class:"toolbar"},Ip=["title"],Mp=["disabled"],$p={class:"table-wrap"},Lp={class:"table capture-table"},Dp=["onClick"],Vp={class:"time-cell"},Up=["title"],Bp=["onClick"],Hp={key:0},Fp={key:0,class:"pagination"},jp={class:"pagination-info"},Gp=["disabled"],Kp=["disabled"],Wp={key:3,class:"drawer"},zp={class:"drawer-tabs"},qp={class:"drawer-body"},Jp={class:"drawer-url-section"},Qp={class:"drawer-url-head"},Yp={class:"drawer-url"},Xp={class:"detail-section"},Zp={class:"headers-pre"},eh={class:"detail-section"},th={class:"body-pre"},nh={class:"detail-section"},sh={class:"headers-pre"},oh={class:"detail-section"},rh={class:"body-pre"},Fs=50,lh={__name:"Traffic",setup(e){const t=ee([]),n=ee(!1),s=ee(!1),o=ee(!1);let r=null;const l=ee([]),i=ee(0),a=ee(0),u=ee({q:"",method:"",status:"",type:"",sort:"time",order:"desc"});let f=null;const d=ee(null),g=ee("request"),m=ee(!1),_=yi();function y(G){return G?new Date(G).toLocaleString("zh-CN",{hour12:!1}):"-"}function T(G){return!G||typeof G!="object"?"":Object.entries(G).map(([k,U])=>`${k}: ${U}`).join(`
|
|
27
|
-
`)}function P(G){if(G==null||G==="")return"(空)";const k=typeof G=="string"?G:String(G);try{return JSON.stringify(JSON.parse(k),null,2)}catch{return k}}function R(G){return G>=200&&G<300?"status-2xx":G>=300&&G<400?"status-3xx":G>=400&&G<500?"status-4xx":G>=500?"status-5xx":""}async function A(){try{const k=await(await fetch("/api/local/proxy")).json();s.value=(k.mode||"")==="mitm"}catch{s.value=!1}}async function b(){n.value=!0;try{const G=await fetch("/api/local/traffic");t.value=await G.json(),Array.isArray(t.value)||(t.value=[])}catch{t.value=[]}finally{n.value=!1}}function I(){o.value=!o.value,o.value?(r=setInterval(b,5e3),_e("自动刷新已开启(每 5 秒)","info")):(clearInterval(r),r=null,_e("自动刷新已关闭","info"))}function J(){f&&clearTimeout(f),f=setTimeout(j,300)}async function j(){n.value=!0;try{const G=new URLSearchParams;u.value.q&&G.set("q",u.value.q),u.value.method&&G.set("method",u.value.method);const k=String(u.value.status??"").trim();k!==""&&!Number.isNaN(Number(k))&&G.set("status",k),u.value.type&&G.set("type",u.value.type),G.set("sort",u.value.sort),G.set("order",u.value.order),G.set("limit",String(Fs)),G.set("offset",String(a.value));const ne=await(await fetch("/api/local/capture?"+G.toString())).json();l.value=ne.list||[],i.value=ne.total??0}catch{l.value=[],i.value=0}finally{n.value=!1}}function le(){a.value=Math.max(0,a.value-Fs),j()}function V(){a.value+=Fs,j()}function X(){u.value.order=u.value.order==="desc"?"asc":"desc",j()}function te(G){d.value=G,g.value="request"}function L(){d.value=null}async function se(){var G;if((G=d.value)!=null&&G.url)try{await navigator.clipboard.writeText(d.value.url),m.value=!0,setTimeout(()=>{m.value=!1},1500)}catch{_e("复制失败","error")}}async function Ce(){await A(),s.value?(a.value=0,await j()):await b()}return Ut(Ce),bs(()=>{r&&clearInterval(r)}),rn(()=>_.path,G=>{G==="/console/traffic"&&Ce()}),(G,k)=>(H(),F("div",_p,[s.value?(H(),F("div",kp,[k[17]||(k[17]=c("div",{class:"capture-banner"},[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z","clip-rule":"evenodd"})]),he(" 当前为抓包代理,可查看解密后的请求与响应。 ")],-1)),c("div",Np,[Ae(c("input",{"onUpdate:modelValue":k[0]||(k[0]=U=>u.value.q=U),type:"text",placeholder:"搜索 URL…",class:"search-input",onInput:J},null,544),[[Oe,u.value.q]]),Ae(c("select",{"onUpdate:modelValue":k[1]||(k[1]=U=>u.value.method=U),class:"filter-select",onChange:j},[...k[12]||(k[12]=[c("option",{value:""},"全部方法",-1),c("option",null,"GET",-1),c("option",null,"POST",-1),c("option",null,"PUT",-1),c("option",null,"PATCH",-1),c("option",null,"DELETE",-1),c("option",null,"HEAD",-1),c("option",null,"OPTIONS",-1)])],544),[[Pn,u.value.method]]),Ae(c("input",{"onUpdate:modelValue":k[2]||(k[2]=U=>u.value.status=U),type:"text",placeholder:"状态码",class:"status-input",onInput:J},null,544),[[Oe,u.value.status]]),Ae(c("select",{"onUpdate:modelValue":k[3]||(k[3]=U=>u.value.type=U),class:"filter-select",onChange:j},[...k[13]||(k[13]=[c("option",{value:""},"全部类型",-1),c("option",null,"document",-1),c("option",null,"xhr",-1),c("option",null,"script",-1),c("option",null,"stylesheet",-1),c("option",null,"image",-1),c("option",null,"font",-1),c("option",null,"other",-1)])],544),[[Pn,u.value.type]]),Ae(c("select",{"onUpdate:modelValue":k[4]||(k[4]=U=>u.value.sort=U),class:"filter-select",onChange:j},[...k[14]||(k[14]=[c("option",{value:"time"},"按时间",-1),c("option",{value:"method"},"按方法",-1),c("option",{value:"status"},"按状态",-1),c("option",{value:"url"},"按 URL",-1)])],544),[[Pn,u.value.sort]]),c("button",{type:"button",class:"sort-order-btn",onClick:X,title:u.value.order==="desc"?"倒序":"正序"},z(u.value.order==="desc"?"↓":"↑"),9,Ip),c("button",{class:"btn",onClick:j,disabled:n.value},"刷新",8,Mp)]),c("div",$p,[c("table",Lp,[k[16]||(k[16]=c("thead",null,[c("tr",null,[c("th",null,"时间"),c("th",null,"方法"),c("th",null,"URL"),c("th",null,"状态"),c("th",null,"类型"),c("th")])],-1)),c("tbody",null,[(H(!0),F(Ee,null,Ln(l.value,U=>(H(),F("tr",{key:U.id,onClick:ne=>te(U),class:"row-clickable"},[c("td",Vp,z(y(U.time)),1),c("td",null,[c("span",{class:be(["method-tag",U.method])},z(U.method),3)]),c("td",{class:"url-cell",title:U.url},z(U.url),9,Up),c("td",null,[c("span",{class:be(["status-tag",R(U.statusCode)])},z(U.statusCode),3)]),c("td",null,z(U.type),1),c("td",null,[c("button",{type:"button",class:"btn-link",onClick:Ss(ne=>te(U),["stop"])},"详情",8,Bp)])],8,Dp))),128)),!l.value.length&&!n.value?(H(),F("tr",Hp,[...k[15]||(k[15]=[c("td",{colspan:"6",class:"empty"},"暂无抓包记录,请通过抓包代理访问网页。",-1)])])):ye("",!0)])])]),i.value>0?(H(),F("div",Fp,[c("span",jp,"共 "+z(i.value)+" 条",1),c("button",{class:"btn small",disabled:a.value<=0,onClick:le},"上一页",8,Gp),c("button",{class:"btn small",disabled:a.value+l.value.length>=i.value,onClick:V},"下一页",8,Kp)])):ye("",!0)])):(H(),F("div",bp,[c("div",wp,[c("div",xp,[c("button",{type:"button",class:be(["toggle-btn",{on:o.value}]),onClick:I,title:o.value?"关闭自动刷新":"开启自动刷新(每 5 秒)"},[...k[7]||(k[7]=[c("span",{class:"toggle-knob"},null,-1)])],10,Cp),k[8]||(k[8]=c("span",{class:"toggle-label"},"自动刷新",-1))]),c("button",{class:"btn",onClick:b,disabled:n.value},[...k[9]||(k[9]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z","clip-rule":"evenodd"})],-1),he(" 刷新 ",-1)])],8,Sp),t.value.length?(H(),F("span",Ep,z(t.value.length)+" 条记录",1)):ye("",!0)]),c("div",Ap,[c("table",Tp,[k[11]||(k[11]=c("thead",null,[c("tr",null,[c("th",null,"时间"),c("th",null,"类型"),c("th",null,"方法"),c("th",null,"URL / 主机"),c("th",null,"动作")])],-1)),c("tbody",null,[(H(!0),F(Ee,null,Ln(t.value,U=>(H(),F("tr",{key:U.time+(U.url||"")},[c("td",Rp,z(y(U.time)),1),c("td",null,z(U.type),1),c("td",null,[c("span",{class:be(["method-tag",U.method])},z(U.method),3)]),c("td",{class:"url-cell",title:U.url},z(U.url),9,Pp),c("td",null,[c("span",{class:be(["action-badge",U.action])},z(U.action==="proxy"?"代理":"直连"),3)])]))),128)),!t.value.length&&!n.value?(H(),F("tr",Op,[...k[10]||(k[10]=[c("td",{colspan:"5",class:"empty"},"暂无记录,请确保代理已开启并有流量经过。",-1)])])):ye("",!0)])])])])),d.value?(H(),F("div",{key:2,class:"drawer-mask",onClick:L})):ye("",!0),d.value?(H(),F("div",Wp,[c("div",{class:"drawer-header"},[k[18]||(k[18]=c("span",{class:"drawer-title"},"请求详情",-1)),c("button",{type:"button",class:"drawer-close",onClick:L},"×")]),c("div",zp,[c("button",{type:"button",class:be({active:g.value==="request"}),onClick:k[5]||(k[5]=U=>g.value="request")},"请求",2),c("button",{type:"button",class:be({active:g.value==="response"}),onClick:k[6]||(k[6]=U=>g.value="response")},"响应",2)]),c("div",qp,[c("div",Jp,[c("div",Qp,[c("span",{class:be(["drawer-method-tag",d.value.method])},z(d.value.method),3),c("button",{type:"button",class:"btn-copy-url",onClick:se},z(m.value?"已复制":"复制 URL"),1)]),c("pre",Yp,z(d.value.url),1)]),g.value==="request"?(H(),F(Ee,{key:0},[c("div",Xp,[k[19]||(k[19]=c("h4",null,"Request Headers",-1)),c("pre",Zp,z(T(d.value.requestHeaders)),1)]),c("div",eh,[k[20]||(k[20]=c("h4",null,"Request Body",-1)),c("pre",th,z(P(d.value.requestBody)),1)])],64)):(H(),F(Ee,{key:1},[c("div",nh,[k[21]||(k[21]=c("h4",null,"Response Headers",-1)),c("pre",sh,z(T(d.value.responseHeaders)),1)]),c("div",oh,[k[22]||(k[22]=c("h4",null,"Response Body",-1)),c("pre",rh,z(P(d.value.responseBody)),1)])],64))])])):ye("",!0)]))}},ih=At(lh,[["__scopeId","data-v-4331eb78"]]),ah={class:"shadowsocks-page"},ch={class:"card"},uh={class:"enable-row"},fh=["disabled"],dh={class:"card"},ph={class:"fields"},hh={class:"field field-wide"},gh={class:"field"},mh={class:"field field-wide"},vh={class:"password-wrap"},yh=["type"],_h={key:0,viewBox:"0 0 20 20",fill:"currentColor"},bh={key:1,viewBox:"0 0 20 20",fill:"currentColor"},wh={class:"field"},xh={class:"field"},Ch={class:"actions"},Sh=["disabled"],Eh={key:0,class:"btn-spinner"},Ah={class:"card status-card"},Th={class:"status-header"},Rh={class:"status-actions"},Ph=["disabled"],Oh=["disabled"],kh=["disabled"],Nh={class:"status-line"},Ih={key:0,class:"status-pid"},Mh={key:1,class:"status-port"},$h={key:0,class:"status-error"},Lh={class:"log-section"},Dh={class:"log-count"},Vh={key:0,class:"log-pre"},Uh={__name:"Shadowsocks",setup(e){const t=ee({enabled:!1,server:"",serverPort:8388,localPort:1080,password:"",method:"aes-256-gcm",timeout:300}),n=ee({running:!1,pid:null,error:null,logs:[]}),s=ee(!1),o=ee(!1),r=ee(!1),l=ee(!1),i=ee(!1);async function a(){try{const _=await de("/sslocal");t.value={...t.value,..._},i.value=!1}catch{}}Fu(()=>{if(i.value)return confirm("有未保存的更改,离开后将丢失。确定离开吗?")});async function u(){try{const _=await de("/sslocal-status");n.value=_}catch{}}Ut(async()=>{await Promise.all([a(),u()]),rn(t,()=>{i.value=!0},{deep:!0})});async function f(){s.value=!0;try{await de("/sslocal",{method:"PUT",body:JSON.stringify(t.value)}),i.value=!1,await u(),_e("设置已保存","success")}catch(_){_e("保存失败:"+_.message,"error")}finally{s.value=!1}}async function d(){t.value.enabled=!t.value.enabled,await f()}async function g(){o.value=!0;try{const _=await de("/sslocal/start",{method:"POST"});n.value=_,_e("sslocal 已启动","success")}catch(_){_e("启动失败:"+_.message,"error"),await u()}finally{o.value=!1}}async function m(){o.value=!0;try{await de("/sslocal/stop",{method:"POST"}),await u(),_e("sslocal 已停止","info")}catch(_){_e("停止失败:"+_.message,"error")}finally{o.value=!1}}return(_,y)=>{var T;return H(),F("div",ah,[c("div",ch,[c("div",uh,[y[8]||(y[8]=c("div",null,[c("h3",null,"Shadowsocks (sslocal)"),c("p",{class:"desc"},"启用后将自动管理 sslocal 进程,并将其 SOCKS5 输出作为上游代理。")],-1)),c("button",{type:"button",class:be(["toggle-btn",{on:t.value.enabled}]),onClick:d,disabled:s.value},[...y[7]||(y[7]=[c("span",{class:"toggle-knob"},null,-1)])],10,fh)])]),c("div",dh,[y[17]||(y[17]=c("h3",null,"服务器配置",-1)),c("div",ph,[c("div",hh,[y[9]||(y[9]=c("label",null,"服务器地址",-1)),Ae(c("input",{"onUpdate:modelValue":y[0]||(y[0]=P=>t.value.server=P),placeholder:"example.com 或 1.2.3.4"},null,512),[[Oe,t.value.server]])]),c("div",gh,[y[10]||(y[10]=c("label",null,"服务器端口",-1)),Ae(c("input",{"onUpdate:modelValue":y[1]||(y[1]=P=>t.value.serverPort=P),type:"number",min:"1",max:"65535"},null,512),[[Oe,t.value.serverPort,void 0,{number:!0}]])]),c("div",mh,[y[13]||(y[13]=c("label",null,"密码",-1)),c("div",vh,[Ae(c("input",{"onUpdate:modelValue":y[2]||(y[2]=P=>t.value.password=P),type:r.value?"text":"password",placeholder:"密码"},null,8,yh),[[eu,t.value.password]]),c("button",{type:"button",class:"eye-btn",onClick:y[3]||(y[3]=P=>r.value=!r.value),tabindex:"-1"},[r.value?(H(),F("svg",bh,[...y[12]||(y[12]=[c("path",{"fill-rule":"evenodd",d:"M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z","clip-rule":"evenodd"},null,-1),c("path",{d:"M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.064 7 9.542 7 .847 0 1.669-.105 2.454-.303z"},null,-1)])])):(H(),F("svg",_h,[...y[11]||(y[11]=[c("path",{d:"M10 12a2 2 0 100-4 2 2 0 000 4z"},null,-1),c("path",{"fill-rule":"evenodd",d:"M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z","clip-rule":"evenodd"},null,-1)])]))])])]),c("div",wh,[y[15]||(y[15]=c("label",null,"加密方式",-1)),Ae(c("select",{"onUpdate:modelValue":y[4]||(y[4]=P=>t.value.method=P)},[...y[14]||(y[14]=[uc('<optgroup label="AEAD(推荐)" data-v-2f9daaee><option value="aes-128-gcm" data-v-2f9daaee>aes-128-gcm</option><option value="aes-256-gcm" data-v-2f9daaee>aes-256-gcm</option><option value="chacha20-ietf-poly1305" data-v-2f9daaee>chacha20-ietf-poly1305</option><option value="xchacha20-ietf-poly1305" data-v-2f9daaee>xchacha20-ietf-poly1305</option></optgroup><optgroup label="AEAD 2022" data-v-2f9daaee><option value="2022-blake3-aes-128-gcm" data-v-2f9daaee>2022-blake3-aes-128-gcm</option><option value="2022-blake3-aes-256-gcm" data-v-2f9daaee>2022-blake3-aes-256-gcm</option><option value="2022-blake3-chacha20-poly1305" data-v-2f9daaee>2022-blake3-chacha20-poly1305</option></optgroup><optgroup label="流加密(不推荐)" data-v-2f9daaee><option value="aes-128-cfb" data-v-2f9daaee>aes-128-cfb</option><option value="aes-192-cfb" data-v-2f9daaee>aes-192-cfb</option><option value="aes-256-cfb" data-v-2f9daaee>aes-256-cfb</option><option value="aes-128-ctr" data-v-2f9daaee>aes-128-ctr</option><option value="aes-192-ctr" data-v-2f9daaee>aes-192-ctr</option><option value="aes-256-ctr" data-v-2f9daaee>aes-256-ctr</option><option value="camellia-128-cfb" data-v-2f9daaee>camellia-128-cfb</option><option value="camellia-192-cfb" data-v-2f9daaee>camellia-192-cfb</option><option value="camellia-256-cfb" data-v-2f9daaee>camellia-256-cfb</option><option value="chacha20-ietf" data-v-2f9daaee>chacha20-ietf</option><option value="chacha20" data-v-2f9daaee>chacha20</option><option value="salsa20" data-v-2f9daaee>salsa20</option><option value="rc4-md5" data-v-2f9daaee>rc4-md5</option><option value="bf-cfb" data-v-2f9daaee>bf-cfb</option><option value="cast5-cfb" data-v-2f9daaee>cast5-cfb</option><option value="des-cfb" data-v-2f9daaee>des-cfb</option><option value="idea-cfb" data-v-2f9daaee>idea-cfb</option><option value="rc2-cfb" data-v-2f9daaee>rc2-cfb</option><option value="seed-cfb" data-v-2f9daaee>seed-cfb</option><option value="none" data-v-2f9daaee>none(不加密)</option><option value="plain" data-v-2f9daaee>plain(不加密)</option></optgroup>',3)])],512),[[Pn,t.value.method]])]),c("div",xh,[y[16]||(y[16]=c("label",null,"本地 SOCKS5 端口",-1)),Ae(c("input",{"onUpdate:modelValue":y[5]||(y[5]=P=>t.value.localPort=P),type:"number",min:"1",max:"65535"},null,512),[[Oe,t.value.localPort,void 0,{number:!0}]])])]),c("div",Ch,[c("button",{class:"btn primary",onClick:f,disabled:s.value},[s.value?(H(),F("span",Eh)):ye("",!0),he(" "+z(s.value?"保存中…":"保存设置"),1)],8,Sh)])]),c("div",Ah,[c("div",Th,[y[19]||(y[19]=c("h3",null,"运行状态",-1)),c("div",Rh,[c("button",{class:"btn",onClick:g,disabled:o.value||n.value.running},"启动",8,Ph),c("button",{class:"btn danger",onClick:m,disabled:o.value||!n.value.running},"停止",8,Oh),c("button",{class:"btn icon-only",onClick:u,disabled:o.value,title:"刷新状态"},[...y[18]||(y[18]=[c("svg",{viewBox:"0 0 20 20",fill:"currentColor"},[c("path",{"fill-rule":"evenodd",d:"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z","clip-rule":"evenodd"})],-1)])],8,kh)])]),c("p",Nh,[c("span",{class:be(["status-dot",n.value.running?"on":"off"])},null,2),c("span",{class:be(n.value.running?"status-on":"status-off")},z(n.value.running?"运行中":"已停止"),3),n.value.running&&n.value.pid?(H(),F("span",Ih,"PID "+z(n.value.pid),1)):ye("",!0),n.value.running?(H(),F("span",Mh,"→ socks5://127.0.0.1:"+z(t.value.localPort),1)):ye("",!0)]),n.value.error?(H(),F("p",$h,z(n.value.error),1)):ye("",!0),c("div",Lh,[c("button",{type:"button",class:"log-toggle",onClick:y[6]||(y[6]=P=>l.value=!l.value)},[(H(),F("svg",{viewBox:"0 0 20 20",fill:"currentColor",style:ms({transform:l.value?"rotate(90deg)":"none"})},[...y[20]||(y[20]=[c("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"},null,-1)])],4)),y[21]||(y[21]=he(" 最近日志 ",-1)),c("span",Dh,z(((T=n.value.logs)==null?void 0:T.length)??0)+" 行",1)]),l.value?(H(),F("pre",Vh,z((n.value.logs||[]).join(`
|
|
28
|
-
`)||"(暂无日志)"),1)):ye("",!0)])])])}}},Bh=At(Uh,[["__scopeId","data-v-2f9daaee"]]),Hh=[{path:"/",name:"ModeSelect",component:Yf,meta:{title:"选择模式"}},{path:"/login",name:"Login",component:ld,meta:{title:"登录"}},{path:"/register",name:"Register",component:md,meta:{title:"注册"}},{path:"/console",redirect:"/console/traffic"},{path:"/console/traffic",name:"Traffic",component:ih,meta:{title:"流量记录"}},{path:"/console/proxy",name:"ProxySettings",component:jd,meta:{title:"代理设置"}},{path:"/console/pac-rules",name:"PacRules",component:yp,meta:{title:"PAC 规则"}},{path:"/console/shadowsocks",name:"Shadowsocks",component:Bh,meta:{title:"Shadowsocks"}}],Ei=mf({history:zu(),routes:Hh});Ei.beforeEach((e,t,n)=>{const s=_i();e.path!=="/"&&!e.path.startsWith("/login")&&!e.path.startsWith("/register")&&!s?n("/"):n()});_i();const Ai=lu(Wf);Ai.use(Ei);Ai.mount("#app");
|