mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-24 16:13:54 +08:00
39 lines
85 KiB
JavaScript
39 lines
85 KiB
JavaScript
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function s(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=s(i);fetch(i.href,o)}})();/**
|
||
* @vue/shared v3.5.13
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**//*! #__NO_SIDE_EFFECTS__ */function qs(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const K={},ft=[],Me=()=>{},to=()=>!1,fs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Qs=e=>e.startsWith("onUpdate:"),fe=Object.assign,Ws=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},so=Object.prototype.hasOwnProperty,F=(e,t)=>so.call(e,t),P=Array.isArray,ut=e=>Ut(e)==="[object Map]",us=e=>Ut(e)==="[object Set]",mn=e=>Ut(e)==="[object Date]",j=e=>typeof e=="function",Y=e=>typeof e=="string",Pe=e=>typeof e=="symbol",W=e=>e!==null&&typeof e=="object",Jn=e=>(W(e)||j(e))&&j(e.then)&&j(e.catch),Xn=Object.prototype.toString,Ut=e=>Xn.call(e),no=e=>Ut(e).slice(8,-1),Yn=e=>Ut(e)==="[object Object]",Js=e=>Y(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,xt=qs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),as=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},io=/-(\w)/g,ye=as(e=>e.replace(io,(t,s)=>s?s.toUpperCase():"")),oo=/\B([A-Z])/g,it=as(e=>e.replace(oo,"-$1").toLowerCase()),ds=as(e=>e.charAt(0).toUpperCase()+e.slice(1)),As=as(e=>e?`on${ds(e)}`:""),ke=(e,t)=>!Object.is(e,t),Wt=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Zn=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Gt=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let vn;const ps=()=>vn||(vn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Xs(e){if(P(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=Y(n)?fo(n):Xs(n);if(i)for(const o in i)t[o]=i[o]}return t}else if(Y(e)||W(e))return e}const ro=/;(?![^(]*\))/g,lo=/:([^]+)/,co=/\/\*[^]*?\*\//g;function fo(e){const t={};return e.replace(co,"").split(ro).forEach(s=>{if(s){const n=s.split(lo);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function st(e){let t="";if(Y(e))t=e;else if(P(e))for(let s=0;s<e.length;s++){const n=st(e[s]);n&&(t+=n+" ")}else if(W(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const uo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ao=qs(uo);function Gn(e){return!!e||e===""}function po(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=hs(e[n],t[n]);return s}function hs(e,t){if(e===t)return!0;let s=mn(e),n=mn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Pe(e),n=Pe(t),s||n)return e===t;if(s=P(e),n=P(t),s||n)return s&&n?po(e,t):!1;if(s=W(e),n=W(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const r in e){const l=e.hasOwnProperty(r),c=t.hasOwnProperty(r);if(l&&!c||!l&&c||!hs(e[r],t[r]))return!1}}return String(e)===String(t)}function ho(e,t){return e.findIndex(s=>hs(s,t))}const zn=e=>!!(e&&e.__v_isRef===!0),z=e=>Y(e)?e:e==null?"":P(e)||W(e)&&(e.toString===Xn||!j(e.toString))?zn(e)?z(e.value):JSON.stringify(e,ei,2):String(e),ei=(e,t)=>zn(t)?ei(e,t.value):ut(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],o)=>(s[Ts(n,o)+" =>"]=i,s),{})}:us(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ts(s))}:Pe(t)?Ts(t):W(t)&&!P(t)&&!Yn(t)?String(t):t,Ts=(e,t="")=>{var s;return Pe(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
|
||
* @vue/reactivity v3.5.13
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let ge;class go{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ge,!t&&ge&&(this.index=(ge.scopes||(ge.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=ge;try{return ge=this,t()}finally{ge=s}}}on(){ge=this}off(){ge=this.parent}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function mo(){return ge}let Q;const Cs=new WeakSet;class ti{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ge&&ge.active&&ge.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Cs.has(this)&&(Cs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ni(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,bn(this),ii(this);const t=Q,s=Se;Q=this,Se=!0;try{return this.fn()}finally{oi(this),Q=t,Se=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Gs(t);this.deps=this.depsTail=void 0,bn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Cs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ls(this)&&this.run()}get dirty(){return Ls(this)}}let si=0,At,Tt;function ni(e,t=!1){if(e.flags|=8,t){e.next=Tt,Tt=e;return}e.next=At,At=e}function Ys(){si++}function Zs(){if(--si>0)return;if(Tt){let t=Tt;for(Tt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;At;){let t=At;for(At=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function ii(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function oi(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),Gs(n),vo(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function Ls(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ri(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ri(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Et))return;e.globalVersion=Et;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Ls(e)){e.flags&=-3;return}const s=Q,n=Se;Q=e,Se=!0;try{ii(e);const i=e.fn(e._value);(t.version===0||ke(i,e._value))&&(e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Q=s,Se=n,oi(e),e.flags&=-3}}function Gs(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Gs(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function vo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Se=!0;const li=[];function qe(){li.push(Se),Se=!1}function Qe(){const e=li.pop();Se=e===void 0?!0:e}function bn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Q;Q=void 0;try{t()}finally{Q=s}}}let Et=0;class bo{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class zs{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}track(t){if(!Q||!Se||Q===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Q)s=this.activeLink=new bo(Q,this),Q.deps?(s.prevDep=Q.depsTail,Q.depsTail.nextDep=s,Q.depsTail=s):Q.deps=Q.depsTail=s,ci(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=Q.depsTail,s.nextDep=void 0,Q.depsTail.nextDep=s,Q.depsTail=s,Q.deps===s&&(Q.deps=n)}return s}trigger(t){this.version++,Et++,this.notify(t)}notify(t){Ys();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Zs()}}}function ci(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)ci(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const Us=new WeakMap,et=Symbol(""),js=Symbol(""),Rt=Symbol("");function ee(e,t,s){if(Se&&Q){let n=Us.get(e);n||Us.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new zs),i.map=n,i.key=s),i.track()}}function je(e,t,s,n,i,o){const r=Us.get(e);if(!r){Et++;return}const l=c=>{c&&c.trigger()};if(Ys(),t==="clear")r.forEach(l);else{const c=P(e),d=c&&Js(s);if(c&&s==="length"){const a=Number(n);r.forEach((h,v)=>{(v==="length"||v===Rt||!Pe(v)&&v>=a)&&l(h)})}else switch((s!==void 0||r.has(void 0))&&l(r.get(s)),d&&l(r.get(Rt)),t){case"add":c?d&&l(r.get("length")):(l(r.get(et)),ut(e)&&l(r.get(js)));break;case"delete":c||(l(r.get(et)),ut(e)&&l(r.get(js)));break;case"set":ut(e)&&l(r.get(et));break}}Zs()}function ot(e){const t=B(e);return t===e?t:(ee(t,"iterate",Rt),_e(e)?t:t.map(te))}function gs(e){return ee(e=B(e),"iterate",Rt),e}const _o={__proto__:null,[Symbol.iterator](){return Os(this,Symbol.iterator,te)},concat(...e){return ot(this).concat(...e.map(t=>P(t)?ot(t):t))},entries(){return Os(this,"entries",e=>(e[1]=te(e[1]),e))},every(e,t){return Le(this,"every",e,t,void 0,arguments)},filter(e,t){return Le(this,"filter",e,t,s=>s.map(te),arguments)},find(e,t){return Le(this,"find",e,t,te,arguments)},findIndex(e,t){return Le(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Le(this,"findLast",e,t,te,arguments)},findLastIndex(e,t){return Le(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Le(this,"forEach",e,t,void 0,arguments)},includes(...e){return Is(this,"includes",e)},indexOf(...e){return Is(this,"indexOf",e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return Is(this,"lastIndexOf",e)},map(e,t){return Le(this,"map",e,t,void 0,arguments)},pop(){return yt(this,"pop")},push(...e){return yt(this,"push",e)},reduce(e,...t){return _n(this,"reduce",e,t)},reduceRight(e,...t){return _n(this,"reduceRight",e,t)},shift(){return yt(this,"shift")},some(e,t){return Le(this,"some",e,t,void 0,arguments)},splice(...e){return yt(this,"splice",e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return yt(this,"unshift",e)},values(){return Os(this,"values",te)}};function Os(e,t,s){const n=gs(e),i=n[t]();return n!==e&&!_e(e)&&(i._next=i.next,i.next=()=>{const o=i._next();return o.value&&(o.value=s(o.value)),o}),i}const yo=Array.prototype;function Le(e,t,s,n,i,o){const r=gs(e),l=r!==e&&!_e(e),c=r[t];if(c!==yo[t]){const h=c.apply(e,o);return l?te(h):h}let d=s;r!==e&&(l?d=function(h,v){return s.call(this,te(h),v,e)}:s.length>2&&(d=function(h,v){return s.call(this,h,v,e)}));const a=c.call(r,d,n);return l&&i?i(a):a}function _n(e,t,s,n){const i=gs(e);let o=s;return i!==e&&(_e(e)?s.length>3&&(o=function(r,l,c){return s.call(this,r,l,c,e)}):o=function(r,l,c){return s.call(this,r,te(l),c,e)}),i[t](o,...n)}function Is(e,t,s){const n=B(e);ee(n,"iterate",Rt);const i=n[t](...s);return(i===-1||i===!1)&&nn(s[0])?(s[0]=B(s[0]),n[t](...s)):i}function yt(e,t,s=[]){qe(),Ys();const n=B(e)[t].apply(e,s);return Zs(),Qe(),n}const wo=qs("__proto__,__v_isRef,__isVue"),fi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Pe));function So(e){Pe(e)||(e=String(e));const t=B(this);return ee(t,"has",e),t.hasOwnProperty(e)}class ui{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(i?o?Po:hi:o?pi:di).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const r=P(t);if(!i){let c;if(r&&(c=_o[s]))return c;if(s==="hasOwnProperty")return So}const l=Reflect.get(t,s,ne(t)?t:n);return(Pe(s)?fi.has(s):wo(s))||(i||ee(t,"get",s),o)?l:ne(l)?r&&Js(s)?l:l.value:W(l)?i?gi(l):tn(l):l}}class ai extends ui{constructor(t=!1){super(!1,t)}set(t,s,n,i){let o=t[s];if(!this._isShallow){const c=nt(o);if(!_e(n)&&!nt(n)&&(o=B(o),n=B(n)),!P(t)&&ne(o)&&!ne(n))return c?!1:(o.value=n,!0)}const r=P(t)&&Js(s)?Number(s)<t.length:F(t,s),l=Reflect.set(t,s,n,ne(t)?t:i);return t===B(i)&&(r?ke(n,o)&&je(t,"set",s,n):je(t,"add",s,n)),l}deleteProperty(t,s){const n=F(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&je(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Pe(s)||!fi.has(s))&&ee(t,"has",s),n}ownKeys(t){return ee(t,"iterate",P(t)?"length":et),Reflect.ownKeys(t)}}class xo extends ui{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Ao=new ai,To=new xo,Co=new ai(!0);const Hs=e=>e,Kt=e=>Reflect.getPrototypeOf(e);function Oo(e,t,s){return function(...n){const i=this.__v_raw,o=B(i),r=ut(o),l=e==="entries"||e===Symbol.iterator&&r,c=e==="keys"&&r,d=i[e](...n),a=s?Hs:t?Bs:te;return!t&&ee(o,"iterate",c?js:et),{next(){const{value:h,done:v}=d.next();return v?{value:h,done:v}:{value:l?[a(h[0]),a(h[1])]:a(h),done:v}},[Symbol.iterator](){return this}}}}function kt(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Io(e,t){const s={get(i){const o=this.__v_raw,r=B(o),l=B(i);e||(ke(i,l)&&ee(r,"get",i),ee(r,"get",l));const{has:c}=Kt(r),d=t?Hs:e?Bs:te;if(c.call(r,i))return d(o.get(i));if(c.call(r,l))return d(o.get(l));o!==r&&o.get(i)},get size(){const i=this.__v_raw;return!e&&ee(B(i),"iterate",et),Reflect.get(i,"size",i)},has(i){const o=this.__v_raw,r=B(o),l=B(i);return e||(ke(i,l)&&ee(r,"has",i),ee(r,"has",l)),i===l?o.has(i):o.has(i)||o.has(l)},forEach(i,o){const r=this,l=r.__v_raw,c=B(l),d=t?Hs:e?Bs:te;return!e&&ee(c,"iterate",et),l.forEach((a,h)=>i.call(o,d(a),d(h),r))}};return fe(s,e?{add:kt("add"),set:kt("set"),delete:kt("delete"),clear:kt("clear")}:{add(i){!t&&!_e(i)&&!nt(i)&&(i=B(i));const o=B(this);return Kt(o).has.call(o,i)||(o.add(i),je(o,"add",i,i)),this},set(i,o){!t&&!_e(o)&&!nt(o)&&(o=B(o));const r=B(this),{has:l,get:c}=Kt(r);let d=l.call(r,i);d||(i=B(i),d=l.call(r,i));const a=c.call(r,i);return r.set(i,o),d?ke(o,a)&&je(r,"set",i,o):je(r,"add",i,o),this},delete(i){const o=B(this),{has:r,get:l}=Kt(o);let c=r.call(o,i);c||(i=B(i),c=r.call(o,i)),l&&l.call(o,i);const d=o.delete(i);return c&&je(o,"delete",i,void 0),d},clear(){const i=B(this),o=i.size!==0,r=i.clear();return o&&je(i,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Oo(i,e,t)}),s}function en(e,t){const s=Io(e,t);return(n,i,o)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(F(s,i)&&i in n?s:n,i,o)}const Eo={get:en(!1,!1)},Ro={get:en(!1,!0)},Mo={get:en(!0,!1)};const di=new WeakMap,pi=new WeakMap,hi=new WeakMap,Po=new WeakMap;function Do(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Lo(e){return e.__v_skip||!Object.isExtensible(e)?0:Do(no(e))}function tn(e){return nt(e)?e:sn(e,!1,Ao,Eo,di)}function Uo(e){return sn(e,!1,Co,Ro,pi)}function gi(e){return sn(e,!0,To,Mo,hi)}function sn(e,t,s,n,i){if(!W(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const r=Lo(e);if(r===0)return e;const l=new Proxy(e,r===2?n:s);return i.set(e,l),l}function at(e){return nt(e)?at(e.__v_raw):!!(e&&e.__v_isReactive)}function nt(e){return!!(e&&e.__v_isReadonly)}function _e(e){return!!(e&&e.__v_isShallow)}function nn(e){return e?!!e.__v_raw:!1}function B(e){const t=e&&e.__v_raw;return t?B(t):e}function jo(e){return!F(e,"__v_skip")&&Object.isExtensible(e)&&Zn(e,"__v_skip",!0),e}const te=e=>W(e)?tn(e):e,Bs=e=>W(e)?gi(e):e;function ne(e){return e?e.__v_isRef===!0:!1}function be(e){return Ho(e,!1)}function Ho(e,t){return ne(e)?e:new Bo(e,t)}class Bo{constructor(t,s){this.dep=new zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:B(t),this._value=s?t:te(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||_e(t)||nt(t);t=n?t:B(t),ke(t,s)&&(this._rawValue=t,this._value=n?t:te(t),this.dep.trigger())}}function mi(e){return ne(e)?e.value:e}const Fo={get:(e,t,s)=>t==="__v_raw"?e:mi(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return ne(i)&&!ne(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function vi(e){return at(e)?e:new Proxy(e,Fo)}class No{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Et-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Q!==this)return ni(this,!0),!0}get value(){const t=this.dep.track();return ri(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Vo(e,t,s=!1){let n,i;return j(e)?n=e:(n=e.get,i=e.set),new No(n,i,s)}const qt={},zt=new WeakMap;let Ge;function $o(e,t=!1,s=Ge){if(s){let n=zt.get(s);n||zt.set(s,n=[]),n.push(e)}}function Ko(e,t,s=K){const{immediate:n,deep:i,once:o,scheduler:r,augmentJob:l,call:c}=s,d=I=>i?I:_e(I)||i===!1||i===0?He(I,1):He(I);let a,h,v,C,E=!1,U=!1;if(ne(e)?(h=()=>e.value,E=_e(e)):at(e)?(h=()=>d(e),E=!0):P(e)?(U=!0,E=e.some(I=>at(I)||_e(I)),h=()=>e.map(I=>{if(ne(I))return I.value;if(at(I))return d(I);if(j(I))return c?c(I,2):I()})):j(e)?t?h=c?()=>c(e,2):e:h=()=>{if(v){qe();try{v()}finally{Qe()}}const I=Ge;Ge=a;try{return c?c(e,3,[C]):e(C)}finally{Ge=I}}:h=Me,t&&i){const I=h,O=i===!0?1/0:i;h=()=>He(I(),O)}const Z=mo(),V=()=>{a.stop(),Z&&Z.active&&Ws(Z.effects,a)};if(o&&t){const I=t;t=(...O)=>{I(...O),V()}}let D=U?new Array(e.length).fill(qt):qt;const x=I=>{if(!(!(a.flags&1)||!a.dirty&&!I))if(t){const O=a.run();if(i||E||(U?O.some((ue,xe)=>ke(ue,D[xe])):ke(O,D))){v&&v();const ue=Ge;Ge=a;try{const xe=[O,D===qt?void 0:U&&D[0]===qt?[]:D,C];c?c(t,3,xe):t(...xe),D=O}finally{Ge=ue}}}else a.run()};return l&&l(x),a=new ti(h),a.scheduler=r?()=>r(x,!1):x,C=I=>$o(I,!1,a),v=a.onStop=()=>{const I=zt.get(a);if(I){if(c)c(I,4);else for(const O of I)O();zt.delete(a)}},t?n?x(!0):D=a.run():r?r(x.bind(null,!0),!0):a.run(),V.pause=a.pause.bind(a),V.resume=a.resume.bind(a),V.stop=V,V}function He(e,t=1/0,s){if(t<=0||!W(e)||e.__v_skip||(s=s||new Set,s.has(e)))return e;if(s.add(e),t--,ne(e))He(e.value,t,s);else if(P(e))for(let n=0;n<e.length;n++)He(e[n],t,s);else if(us(e)||ut(e))e.forEach(n=>{He(n,t,s)});else if(Yn(e)){for(const n in e)He(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&He(e[n],t,s)}return e}/**
|
||
* @vue/runtime-core v3.5.13
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function jt(e,t,s,n){try{return n?e(...n):e()}catch(i){ms(i,t,s)}}function De(e,t,s,n){if(j(e)){const i=jt(e,t,s,n);return i&&Jn(i)&&i.catch(o=>{ms(o,t,s)}),i}if(P(e)){const i=[];for(let o=0;o<e.length;o++)i.push(De(e[o],t,s,n));return i}}function ms(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:r}=t&&t.appContext.config||K;if(t){let l=t.parent;const c=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let h=0;h<a.length;h++)if(a[h](e,c,d)===!1)return}l=l.parent}if(o){qe(),jt(o,null,10,[e,c,d]),Qe();return}}ko(e,s,i,n,r)}function ko(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const re=[];let Ee=-1;const dt=[];let Ve=null,rt=0;const bi=Promise.resolve();let es=null;function _i(e){const t=es||bi;return e?t.then(this?e.bind(this):e):t}function qo(e){let t=Ee+1,s=re.length;for(;t<s;){const n=t+s>>>1,i=re[n],o=Mt(i);o<e||o===e&&i.flags&2?t=n+1:s=n}return t}function on(e){if(!(e.flags&1)){const t=Mt(e),s=re[re.length-1];!s||!(e.flags&2)&&t>=Mt(s)?re.push(e):re.splice(qo(t),0,e),e.flags|=1,yi()}}function yi(){es||(es=bi.then(Si))}function Qo(e){P(e)?dt.push(...e):Ve&&e.id===-1?Ve.splice(rt+1,0,e):e.flags&1||(dt.push(e),e.flags|=1),yi()}function yn(e,t,s=Ee+1){for(;s<re.length;s++){const n=re[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;re.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function wi(e){if(dt.length){const t=[...new Set(dt)].sort((s,n)=>Mt(s)-Mt(n));if(dt.length=0,Ve){Ve.push(...t);return}for(Ve=t,rt=0;rt<Ve.length;rt++){const s=Ve[rt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}Ve=null,rt=0}}const Mt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Si(e){try{for(Ee=0;Ee<re.length;Ee++){const t=re[Ee];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),jt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Ee<re.length;Ee++){const t=re[Ee];t&&(t.flags&=-2)}Ee=-1,re.length=0,wi(),es=null,(re.length||dt.length)&&Si()}}let me=null,xi=null;function ts(e){const t=me;return me=e,xi=e&&e.type.__scopeId||null,t}function ss(e,t=me,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&Rn(-1);const o=ts(t);let r;try{r=e(...i)}finally{ts(o),n._d&&Rn(1)}return r};return n._n=!0,n._c=!0,n._d=!0,n}function we(e,t){if(me===null)return e;const s=ys(me),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[o,r,l,c=K]=t[i];o&&(j(o)&&(o={mounted:o,updated:o}),o.deep&&He(r),n.push({dir:o,instance:s,value:r,oldValue:void 0,arg:l,modifiers:c}))}return e}function Ye(e,t,s,n){const i=e.dirs,o=t&&t.dirs;for(let r=0;r<i.length;r++){const l=i[r];o&&(l.oldValue=o[r].value);let c=l.dir[n];c&&(qe(),De(c,s,8,[e.el,l,e,t]),Qe())}}const Wo=Symbol("_vte"),Jo=e=>e.__isTeleport;function rn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,rn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ai(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ns(e,t,s,n,i=!1){if(P(e)){e.forEach((E,U)=>ns(E,t&&(P(t)?t[U]:t),s,n,i));return}if(Ct(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ns(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?ys(n.component):n.el,r=i?null:o,{i:l,r:c}=e,d=t&&t.r,a=l.refs===K?l.refs={}:l.refs,h=l.setupState,v=B(h),C=h===K?()=>!1:E=>F(v,E);if(d!=null&&d!==c&&(Y(d)?(a[d]=null,C(d)&&(h[d]=null)):ne(d)&&(d.value=null)),j(c))jt(c,l,12,[r,a]);else{const E=Y(c),U=ne(c);if(E||U){const Z=()=>{if(e.f){const V=E?C(c)?h[c]:a[c]:c.value;i?P(V)&&Ws(V,o):P(V)?V.includes(o)||V.push(o):E?(a[c]=[o],C(c)&&(h[c]=a[c])):(c.value=[o],e.k&&(a[e.k]=c.value))}else E?(a[c]=r,C(c)&&(h[c]=r)):U&&(c.value=r,e.k&&(a[e.k]=r))};r?(Z.id=-1,he(Z,s)):Z()}}}ps().requestIdleCallback;ps().cancelIdleCallback;const Ct=e=>!!e.type.__asyncLoader,Ti=e=>e.type.__isKeepAlive;function Xo(e,t){Ci(e,"a",t)}function Yo(e,t){Ci(e,"da",t)}function Ci(e,t,s=se){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(vs(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Ti(i.parent.vnode)&&Zo(n,t,s,i),i=i.parent}}function Zo(e,t,s,n){const i=vs(t,e,n,!0);Oi(()=>{Ws(n[t],i)},s)}function vs(e,t,s=se,n=!1){if(s){const i=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...r)=>{qe();const l=Ht(s),c=De(t,s,e,r);return l(),Qe(),c});return n?i.unshift(o):i.push(o),o}}const Be=e=>(t,s=se)=>{(!Lt||e==="sp")&&vs(e,(...n)=>t(...n),s)},Go=Be("bm"),ln=Be("m"),zo=Be("bu"),er=Be("u"),tr=Be("bum"),Oi=Be("um"),sr=Be("sp"),nr=Be("rtg"),ir=Be("rtc");function or(e,t=se){vs("ec",e,t)}const rr="components";function $e(e,t){return cr(rr,e,!0,t)||e}const lr=Symbol.for("v-ndc");function cr(e,t,s=!0,n=!1){const i=me||se;if(i){const o=i.type;{const l=Xr(o,!1);if(l&&(l===t||l===ye(t)||l===ds(ye(t))))return o}const r=wn(i[e]||o[e],t)||wn(i.appContext[e],t);return!r&&n?o:r}}function wn(e,t){return e&&(e[t]||e[ye(t)]||e[ds(ye(t))])}function lt(e,t,s,n){let i;const o=s,r=P(e);if(r||Y(e)){const l=r&&at(e);let c=!1;l&&(c=!_e(e),e=gs(e)),i=new Array(e.length);for(let d=0,a=e.length;d<a;d++)i[d]=t(c?te(e[d]):e[d],d,void 0,o)}else if(typeof e=="number"){i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,o)}else if(W(e))if(e[Symbol.iterator])i=Array.from(e,(l,c)=>t(l,c,void 0,o));else{const l=Object.keys(e);i=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const a=l[c];i[c]=t(e[a],a,c,o)}}else i=[];return i}const Fs=e=>e?Xi(e)?ys(e):Fs(e.parent):null,Ot=fe(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=>Fs(e.parent),$root:e=>Fs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ei(e),$forceUpdate:e=>e.f||(e.f=()=>{on(e.update)}),$nextTick:e=>e.n||(e.n=_i.bind(e.proxy)),$watch:e=>Rr.bind(e)}),Es=(e,t)=>e!==K&&!e.__isScriptSetup&&F(e,t),fr={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:o,accessCache:r,type:l,appContext:c}=e;let d;if(t[0]!=="$"){const C=r[t];if(C!==void 0)switch(C){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return o[t]}else{if(Es(n,t))return r[t]=1,n[t];if(i!==K&&F(i,t))return r[t]=2,i[t];if((d=e.propsOptions[0])&&F(d,t))return r[t]=3,o[t];if(s!==K&&F(s,t))return r[t]=4,s[t];Ns&&(r[t]=0)}}const a=Ot[t];let h,v;if(a)return t==="$attrs"&&ee(e.attrs,"get",""),a(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(s!==K&&F(s,t))return r[t]=4,s[t];if(v=c.config.globalProperties,F(v,t))return v[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:o}=e;return Es(i,t)?(i[t]=s,!0):n!==K&&F(n,t)?(n[t]=s,!0):F(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,propsOptions:o}},r){let l;return!!s[r]||e!==K&&F(e,r)||Es(t,r)||(l=o[0])&&F(l,r)||F(n,r)||F(Ot,r)||F(i.config.globalProperties,r)},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:F(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Sn(e){return P(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ns=!0;function ur(e){const t=Ei(e),s=e.proxy,n=e.ctx;Ns=!1,t.beforeCreate&&xn(t.beforeCreate,e,"bc");const{data:i,computed:o,methods:r,watch:l,provide:c,inject:d,created:a,beforeMount:h,mounted:v,beforeUpdate:C,updated:E,activated:U,deactivated:Z,beforeDestroy:V,beforeUnmount:D,destroyed:x,unmounted:I,render:O,renderTracked:ue,renderTriggered:xe,errorCaptured:Ne,serverPrefetch:Bt,expose:We,inheritAttrs:mt,components:Ft,directives:Nt,filters:Ss}=t;if(d&&ar(d,n,null),r)for(const X in r){const k=r[X];j(k)&&(n[X]=k.bind(s))}if(i){const X=i.call(s,s);W(X)&&(e.data=tn(X))}if(Ns=!0,o)for(const X in o){const k=o[X],Je=j(k)?k.bind(s,s):j(k.get)?k.get.bind(s,s):Me,Vt=!j(k)&&j(k.set)?k.set.bind(s):Me,Xe=Zi({get:Je,set:Vt});Object.defineProperty(n,X,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Ae=>Xe.value=Ae})}if(l)for(const X in l)Ii(l[X],n,s,X);if(c){const X=j(c)?c.call(s):c;Reflect.ownKeys(X).forEach(k=>{vr(k,X[k])})}a&&xn(a,e,"c");function ie(X,k){P(k)?k.forEach(Je=>X(Je.bind(s))):k&&X(k.bind(s))}if(ie(Go,h),ie(ln,v),ie(zo,C),ie(er,E),ie(Xo,U),ie(Yo,Z),ie(or,Ne),ie(ir,ue),ie(nr,xe),ie(tr,D),ie(Oi,I),ie(sr,Bt),P(We))if(We.length){const X=e.exposed||(e.exposed={});We.forEach(k=>{Object.defineProperty(X,k,{get:()=>s[k],set:Je=>s[k]=Je})})}else e.exposed||(e.exposed={});O&&e.render===Me&&(e.render=O),mt!=null&&(e.inheritAttrs=mt),Ft&&(e.components=Ft),Nt&&(e.directives=Nt),Bt&&Ai(e)}function ar(e,t,s=Me){P(e)&&(e=Vs(e));for(const n in e){const i=e[n];let o;W(i)?"default"in i?o=Jt(i.from||n,i.default,!0):o=Jt(i.from||n):o=Jt(i),ne(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:r=>o.value=r}):t[n]=o}}function xn(e,t,s){De(P(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ii(e,t,s,n){let i=n.includes(".")?Ki(s,n):()=>s[n];if(Y(e)){const o=t[e];j(o)&&Xt(i,o)}else if(j(e))Xt(i,e.bind(s));else if(W(e))if(P(e))e.forEach(o=>Ii(o,t,s,n));else{const o=j(e.handler)?e.handler.bind(s):t[e.handler];j(o)&&Xt(i,o,e)}}function Ei(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:r}}=e.appContext,l=o.get(t);let c;return l?c=l:!i.length&&!s&&!n?c=t:(c={},i.length&&i.forEach(d=>is(c,d,r,!0)),is(c,t,r)),W(t)&&o.set(t,c),c}function is(e,t,s,n=!1){const{mixins:i,extends:o}=t;o&&is(e,o,s,!0),i&&i.forEach(r=>is(e,r,s,!0));for(const r in t)if(!(n&&r==="expose")){const l=dr[r]||s&&s[r];e[r]=l?l(e[r],t[r]):t[r]}return e}const dr={data:An,props:Tn,emits:Tn,methods:St,computed:St,beforeCreate:oe,created:oe,beforeMount:oe,mounted:oe,beforeUpdate:oe,updated:oe,beforeDestroy:oe,beforeUnmount:oe,destroyed:oe,unmounted:oe,activated:oe,deactivated:oe,errorCaptured:oe,serverPrefetch:oe,components:St,directives:St,watch:hr,provide:An,inject:pr};function An(e,t){return t?e?function(){return fe(j(e)?e.call(this,this):e,j(t)?t.call(this,this):t)}:t:e}function pr(e,t){return St(Vs(e),Vs(t))}function Vs(e){if(P(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function oe(e,t){return e?[...new Set([].concat(e,t))]:t}function St(e,t){return e?fe(Object.create(null),e,t):t}function Tn(e,t){return e?P(e)&&P(t)?[...new Set([...e,...t])]:fe(Object.create(null),Sn(e),Sn(t??{})):t}function hr(e,t){if(!e)return t;if(!t)return e;const s=fe(Object.create(null),e);for(const n in t)s[n]=oe(e[n],t[n]);return s}function Ri(){return{app:null,config:{isNativeTag:to,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 gr=0;function mr(e,t){return function(n,i=null){j(n)||(n=fe({},n)),i!=null&&!W(i)&&(i=null);const o=Ri(),r=new WeakSet,l=[];let c=!1;const d=o.app={_uid:gr++,_component:n,_props:i,_container:null,_context:o,_instance:null,version:Zr,get config(){return o.config},set config(a){},use(a,...h){return r.has(a)||(a&&j(a.install)?(r.add(a),a.install(d,...h)):j(a)&&(r.add(a),a(d,...h))),d},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),d},component(a,h){return h?(o.components[a]=h,d):o.components[a]},directive(a,h){return h?(o.directives[a]=h,d):o.directives[a]},mount(a,h,v){if(!c){const C=d._ceVNode||ce(n,i);return C.appContext=o,v===!0?v="svg":v===!1&&(v=void 0),e(C,a,v),c=!0,d._container=a,a.__vue_app__=d,ys(C.component)}},onUnmount(a){l.push(a)},unmount(){c&&(De(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,h){return o.provides[a]=h,d},runWithContext(a){const h=pt;pt=d;try{return a()}finally{pt=h}}};return d}}let pt=null;function vr(e,t){if(se){let s=se.provides;const n=se.parent&&se.parent.provides;n===s&&(s=se.provides=Object.create(n)),s[e]=t}}function Jt(e,t,s=!1){const n=se||me;if(n||pt){const i=pt?pt._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&j(t)?t.call(n&&n.proxy):t}}const Mi={},Pi=()=>Object.create(Mi),Di=e=>Object.getPrototypeOf(e)===Mi;function br(e,t,s,n=!1){const i={},o=Pi();e.propsDefaults=Object.create(null),Li(e,t,i,o);for(const r in e.propsOptions[0])r in i||(i[r]=void 0);s?e.props=n?i:Uo(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function _r(e,t,s,n){const{props:i,attrs:o,vnode:{patchFlag:r}}=e,l=B(i),[c]=e.propsOptions;let d=!1;if((n||r>0)&&!(r&16)){if(r&8){const a=e.vnode.dynamicProps;for(let h=0;h<a.length;h++){let v=a[h];if(bs(e.emitsOptions,v))continue;const C=t[v];if(c)if(F(o,v))C!==o[v]&&(o[v]=C,d=!0);else{const E=ye(v);i[E]=$s(c,l,E,C,e,!1)}else C!==o[v]&&(o[v]=C,d=!0)}}}else{Li(e,t,i,o)&&(d=!0);let a;for(const h in l)(!t||!F(t,h)&&((a=it(h))===h||!F(t,a)))&&(c?s&&(s[h]!==void 0||s[a]!==void 0)&&(i[h]=$s(c,l,h,void 0,e,!0)):delete i[h]);if(o!==l)for(const h in o)(!t||!F(t,h))&&(delete o[h],d=!0)}d&&je(e.attrs,"set","")}function Li(e,t,s,n){const[i,o]=e.propsOptions;let r=!1,l;if(t)for(let c in t){if(xt(c))continue;const d=t[c];let a;i&&F(i,a=ye(c))?!o||!o.includes(a)?s[a]=d:(l||(l={}))[a]=d:bs(e.emitsOptions,c)||(!(c in n)||d!==n[c])&&(n[c]=d,r=!0)}if(o){const c=B(s),d=l||K;for(let a=0;a<o.length;a++){const h=o[a];s[h]=$s(i,c,h,d[h],e,!F(d,h))}}return r}function $s(e,t,s,n,i,o){const r=e[s];if(r!=null){const l=F(r,"default");if(l&&n===void 0){const c=r.default;if(r.type!==Function&&!r.skipFactory&&j(c)){const{propsDefaults:d}=i;if(s in d)n=d[s];else{const a=Ht(i);n=d[s]=c.call(null,t),a()}}else n=c;i.ce&&i.ce._setProp(s,n)}r[0]&&(o&&!l?n=!1:r[1]&&(n===""||n===it(s))&&(n=!0))}return n}const yr=new WeakMap;function Ui(e,t,s=!1){const n=s?yr:t.propsCache,i=n.get(e);if(i)return i;const o=e.props,r={},l=[];let c=!1;if(!j(e)){const a=h=>{c=!0;const[v,C]=Ui(h,t,!0);fe(r,v),C&&l.push(...C)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!c)return W(e)&&n.set(e,ft),ft;if(P(o))for(let a=0;a<o.length;a++){const h=ye(o[a]);Cn(h)&&(r[h]=K)}else if(o)for(const a in o){const h=ye(a);if(Cn(h)){const v=o[a],C=r[h]=P(v)||j(v)?{type:v}:fe({},v),E=C.type;let U=!1,Z=!0;if(P(E))for(let V=0;V<E.length;++V){const D=E[V],x=j(D)&&D.name;if(x==="Boolean"){U=!0;break}else x==="String"&&(Z=!1)}else U=j(E)&&E.name==="Boolean";C[0]=U,C[1]=Z,(U||F(C,"default"))&&l.push(h)}}const d=[r,l];return W(e)&&n.set(e,d),d}function Cn(e){return e[0]!=="$"&&!xt(e)}const ji=e=>e[0]==="_"||e==="$stable",cn=e=>P(e)?e.map(Re):[Re(e)],wr=(e,t,s)=>{if(t._n)return t;const n=ss((...i)=>cn(t(...i)),s);return n._c=!1,n},Hi=(e,t,s)=>{const n=e._ctx;for(const i in e){if(ji(i))continue;const o=e[i];if(j(o))t[i]=wr(i,o,n);else if(o!=null){const r=cn(o);t[i]=()=>r}}},Bi=(e,t)=>{const s=cn(t);e.slots.default=()=>s},Fi=(e,t,s)=>{for(const n in t)(s||n!=="_")&&(e[n]=t[n])},Sr=(e,t,s)=>{const n=e.slots=Pi();if(e.vnode.shapeFlag&32){const i=t._;i?(Fi(n,t,s),s&&Zn(n,"_",i,!0)):Hi(t,n)}else t&&Bi(e,t)},xr=(e,t,s)=>{const{vnode:n,slots:i}=e;let o=!0,r=K;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:Fi(i,t,s):(o=!t.$stable,Hi(t,i)),r=t}else t&&(Bi(e,t),r={default:1});if(o)for(const l in i)!ji(l)&&r[l]==null&&delete i[l]},he=Hr;function Ar(e){return Tr(e)}function Tr(e,t){const s=ps();s.__VUE__=!0;const{insert:n,remove:i,patchProp:o,createElement:r,createText:l,createComment:c,setText:d,setElementText:a,parentNode:h,nextSibling:v,setScopeId:C=Me,insertStaticContent:E}=e,U=(f,u,p,_=null,m=null,b=null,A=void 0,S=null,w=!!u.dynamicChildren)=>{if(f===u)return;f&&!wt(f,u)&&(_=$t(f),Ae(f,m,b,!0),f=null),u.patchFlag===-2&&(w=!1,u.dynamicChildren=null);const{type:y,ref:M,shapeFlag:T}=u;switch(y){case _s:Z(f,u,p,_);break;case Pt:V(f,u,p,_);break;case Ms:f==null&&D(u,p,_,A);break;case le:Ft(f,u,p,_,m,b,A,S,w);break;default:T&1?O(f,u,p,_,m,b,A,S,w):T&6?Nt(f,u,p,_,m,b,A,S,w):(T&64||T&128)&&y.process(f,u,p,_,m,b,A,S,w,bt)}M!=null&&m&&ns(M,f&&f.ref,b,u||f,!u)},Z=(f,u,p,_)=>{if(f==null)n(u.el=l(u.children),p,_);else{const m=u.el=f.el;u.children!==f.children&&d(m,u.children)}},V=(f,u,p,_)=>{f==null?n(u.el=c(u.children||""),p,_):u.el=f.el},D=(f,u,p,_)=>{[f.el,f.anchor]=E(f.children,u,p,_,f.el,f.anchor)},x=({el:f,anchor:u},p,_)=>{let m;for(;f&&f!==u;)m=v(f),n(f,p,_),f=m;n(u,p,_)},I=({el:f,anchor:u})=>{let p;for(;f&&f!==u;)p=v(f),i(f),f=p;i(u)},O=(f,u,p,_,m,b,A,S,w)=>{u.type==="svg"?A="svg":u.type==="math"&&(A="mathml"),f==null?ue(u,p,_,m,b,A,S,w):Bt(f,u,m,b,A,S,w)},ue=(f,u,p,_,m,b,A,S)=>{let w,y;const{props:M,shapeFlag:T,transition:R,dirs:L}=f;if(w=f.el=r(f.type,b,M&&M.is,M),T&8?a(w,f.children):T&16&&Ne(f.children,w,null,_,m,Rs(f,b),A,S),L&&Ye(f,null,_,"created"),xe(w,f,f.scopeId,A,_),M){for(const q in M)q!=="value"&&!xt(q)&&o(w,q,null,M[q],b,_);"value"in M&&o(w,"value",null,M.value,b),(y=M.onVnodeBeforeMount)&&Ie(y,_,f)}L&&Ye(f,null,_,"beforeMount");const H=Cr(m,R);H&&R.beforeEnter(w),n(w,u,p),((y=M&&M.onVnodeMounted)||H||L)&&he(()=>{y&&Ie(y,_,f),H&&R.enter(w),L&&Ye(f,null,_,"mounted")},m)},xe=(f,u,p,_,m)=>{if(p&&C(f,p),_)for(let b=0;b<_.length;b++)C(f,_[b]);if(m){let b=m.subTree;if(u===b||qi(b.type)&&(b.ssContent===u||b.ssFallback===u)){const A=m.vnode;xe(f,A,A.scopeId,A.slotScopeIds,m.parent)}}},Ne=(f,u,p,_,m,b,A,S,w=0)=>{for(let y=w;y<f.length;y++){const M=f[y]=S?Ke(f[y]):Re(f[y]);U(null,M,u,p,_,m,b,A,S)}},Bt=(f,u,p,_,m,b,A)=>{const S=u.el=f.el;let{patchFlag:w,dynamicChildren:y,dirs:M}=u;w|=f.patchFlag&16;const T=f.props||K,R=u.props||K;let L;if(p&&Ze(p,!1),(L=R.onVnodeBeforeUpdate)&&Ie(L,p,u,f),M&&Ye(u,f,p,"beforeUpdate"),p&&Ze(p,!0),(T.innerHTML&&R.innerHTML==null||T.textContent&&R.textContent==null)&&a(S,""),y?We(f.dynamicChildren,y,S,p,_,Rs(u,m),b):A||k(f,u,S,null,p,_,Rs(u,m),b,!1),w>0){if(w&16)mt(S,T,R,p,m);else if(w&2&&T.class!==R.class&&o(S,"class",null,R.class,m),w&4&&o(S,"style",T.style,R.style,m),w&8){const H=u.dynamicProps;for(let q=0;q<H.length;q++){const $=H[q],de=T[$],ae=R[$];(ae!==de||$==="value")&&o(S,$,de,ae,m,p)}}w&1&&f.children!==u.children&&a(S,u.children)}else!A&&y==null&&mt(S,T,R,p,m);((L=R.onVnodeUpdated)||M)&&he(()=>{L&&Ie(L,p,u,f),M&&Ye(u,f,p,"updated")},_)},We=(f,u,p,_,m,b,A)=>{for(let S=0;S<u.length;S++){const w=f[S],y=u[S],M=w.el&&(w.type===le||!wt(w,y)||w.shapeFlag&70)?h(w.el):p;U(w,y,M,null,_,m,b,A,!0)}},mt=(f,u,p,_,m)=>{if(u!==p){if(u!==K)for(const b in u)!xt(b)&&!(b in p)&&o(f,b,u[b],null,m,_);for(const b in p){if(xt(b))continue;const A=p[b],S=u[b];A!==S&&b!=="value"&&o(f,b,S,A,m,_)}"value"in p&&o(f,"value",u.value,p.value,m)}},Ft=(f,u,p,_,m,b,A,S,w)=>{const y=u.el=f?f.el:l(""),M=u.anchor=f?f.anchor:l("");let{patchFlag:T,dynamicChildren:R,slotScopeIds:L}=u;L&&(S=S?S.concat(L):L),f==null?(n(y,p,_),n(M,p,_),Ne(u.children||[],p,M,m,b,A,S,w)):T>0&&T&64&&R&&f.dynamicChildren?(We(f.dynamicChildren,R,p,m,b,A,S),(u.key!=null||m&&u===m.subTree)&&Ni(f,u,!0)):k(f,u,p,M,m,b,A,S,w)},Nt=(f,u,p,_,m,b,A,S,w)=>{u.slotScopeIds=S,f==null?u.shapeFlag&512?m.ctx.activate(u,p,_,A,w):Ss(u,p,_,m,b,A,w):an(f,u,w)},Ss=(f,u,p,_,m,b,A)=>{const S=f.component=kr(f,_,m);if(Ti(f)&&(S.ctx.renderer=bt),qr(S,!1,A),S.asyncDep){if(m&&m.registerDep(S,ie,A),!f.el){const w=S.subTree=ce(Pt);V(null,w,u,p)}}else ie(S,f,u,p,m,b,A)},an=(f,u,p)=>{const _=u.component=f.component;if(Ur(f,u,p))if(_.asyncDep&&!_.asyncResolved){X(_,u,p);return}else _.next=u,_.update();else u.el=f.el,_.vnode=u},ie=(f,u,p,_,m,b,A)=>{const S=()=>{if(f.isMounted){let{next:T,bu:R,u:L,parent:H,vnode:q}=f;{const Ce=Vi(f);if(Ce){T&&(T.el=q.el,X(f,T,A)),Ce.asyncDep.then(()=>{f.isUnmounted||S()});return}}let $=T,de;Ze(f,!1),T?(T.el=q.el,X(f,T,A)):T=q,R&&Wt(R),(de=T.props&&T.props.onVnodeBeforeUpdate)&&Ie(de,H,T,q),Ze(f,!0);const ae=In(f),Te=f.subTree;f.subTree=ae,U(Te,ae,h(Te.el),$t(Te),f,m,b),T.el=ae.el,$===null&&jr(f,ae.el),L&&he(L,m),(de=T.props&&T.props.onVnodeUpdated)&&he(()=>Ie(de,H,T,q),m)}else{let T;const{el:R,props:L}=u,{bm:H,m:q,parent:$,root:de,type:ae}=f,Te=Ct(u);Ze(f,!1),H&&Wt(H),!Te&&(T=L&&L.onVnodeBeforeMount)&&Ie(T,$,u),Ze(f,!0);{de.ce&&de.ce._injectChildStyle(ae);const Ce=f.subTree=In(f);U(null,Ce,p,_,f,m,b),u.el=Ce.el}if(q&&he(q,m),!Te&&(T=L&&L.onVnodeMounted)){const Ce=u;he(()=>Ie(T,$,Ce),m)}(u.shapeFlag&256||$&&Ct($.vnode)&&$.vnode.shapeFlag&256)&&f.a&&he(f.a,m),f.isMounted=!0,u=p=_=null}};f.scope.on();const w=f.effect=new ti(S);f.scope.off();const y=f.update=w.run.bind(w),M=f.job=w.runIfDirty.bind(w);M.i=f,M.id=f.uid,w.scheduler=()=>on(M),Ze(f,!0),y()},X=(f,u,p)=>{u.component=f;const _=f.vnode.props;f.vnode=u,f.next=null,_r(f,u.props,_,p),xr(f,u.children,p),qe(),yn(f),Qe()},k=(f,u,p,_,m,b,A,S,w=!1)=>{const y=f&&f.children,M=f?f.shapeFlag:0,T=u.children,{patchFlag:R,shapeFlag:L}=u;if(R>0){if(R&128){Vt(y,T,p,_,m,b,A,S,w);return}else if(R&256){Je(y,T,p,_,m,b,A,S,w);return}}L&8?(M&16&&vt(y,m,b),T!==y&&a(p,T)):M&16?L&16?Vt(y,T,p,_,m,b,A,S,w):vt(y,m,b,!0):(M&8&&a(p,""),L&16&&Ne(T,p,_,m,b,A,S,w))},Je=(f,u,p,_,m,b,A,S,w)=>{f=f||ft,u=u||ft;const y=f.length,M=u.length,T=Math.min(y,M);let R;for(R=0;R<T;R++){const L=u[R]=w?Ke(u[R]):Re(u[R]);U(f[R],L,p,null,m,b,A,S,w)}y>M?vt(f,m,b,!0,!1,T):Ne(u,p,_,m,b,A,S,w,T)},Vt=(f,u,p,_,m,b,A,S,w)=>{let y=0;const M=u.length;let T=f.length-1,R=M-1;for(;y<=T&&y<=R;){const L=f[y],H=u[y]=w?Ke(u[y]):Re(u[y]);if(wt(L,H))U(L,H,p,null,m,b,A,S,w);else break;y++}for(;y<=T&&y<=R;){const L=f[T],H=u[R]=w?Ke(u[R]):Re(u[R]);if(wt(L,H))U(L,H,p,null,m,b,A,S,w);else break;T--,R--}if(y>T){if(y<=R){const L=R+1,H=L<M?u[L].el:_;for(;y<=R;)U(null,u[y]=w?Ke(u[y]):Re(u[y]),p,H,m,b,A,S,w),y++}}else if(y>R)for(;y<=T;)Ae(f[y],m,b,!0),y++;else{const L=y,H=y,q=new Map;for(y=H;y<=R;y++){const pe=u[y]=w?Ke(u[y]):Re(u[y]);pe.key!=null&&q.set(pe.key,y)}let $,de=0;const ae=R-H+1;let Te=!1,Ce=0;const _t=new Array(ae);for(y=0;y<ae;y++)_t[y]=0;for(y=L;y<=T;y++){const pe=f[y];if(de>=ae){Ae(pe,m,b,!0);continue}let Oe;if(pe.key!=null)Oe=q.get(pe.key);else for($=H;$<=R;$++)if(_t[$-H]===0&&wt(pe,u[$])){Oe=$;break}Oe===void 0?Ae(pe,m,b,!0):(_t[Oe-H]=y+1,Oe>=Ce?Ce=Oe:Te=!0,U(pe,u[Oe],p,null,m,b,A,S,w),de++)}const hn=Te?Or(_t):ft;for($=hn.length-1,y=ae-1;y>=0;y--){const pe=H+y,Oe=u[pe],gn=pe+1<M?u[pe+1].el:_;_t[y]===0?U(null,Oe,p,gn,m,b,A,S,w):Te&&($<0||y!==hn[$]?Xe(Oe,p,gn,2):$--)}}},Xe=(f,u,p,_,m=null)=>{const{el:b,type:A,transition:S,children:w,shapeFlag:y}=f;if(y&6){Xe(f.component.subTree,u,p,_);return}if(y&128){f.suspense.move(u,p,_);return}if(y&64){A.move(f,u,p,bt);return}if(A===le){n(b,u,p);for(let T=0;T<w.length;T++)Xe(w[T],u,p,_);n(f.anchor,u,p);return}if(A===Ms){x(f,u,p);return}if(_!==2&&y&1&&S)if(_===0)S.beforeEnter(b),n(b,u,p),he(()=>S.enter(b),m);else{const{leave:T,delayLeave:R,afterLeave:L}=S,H=()=>n(b,u,p),q=()=>{T(b,()=>{H(),L&&L()})};R?R(b,H,q):q()}else n(b,u,p)},Ae=(f,u,p,_=!1,m=!1)=>{const{type:b,props:A,ref:S,children:w,dynamicChildren:y,shapeFlag:M,patchFlag:T,dirs:R,cacheIndex:L}=f;if(T===-2&&(m=!1),S!=null&&ns(S,null,p,f,!0),L!=null&&(u.renderCache[L]=void 0),M&256){u.ctx.deactivate(f);return}const H=M&1&&R,q=!Ct(f);let $;if(q&&($=A&&A.onVnodeBeforeUnmount)&&Ie($,u,f),M&6)eo(f.component,p,_);else{if(M&128){f.suspense.unmount(p,_);return}H&&Ye(f,null,u,"beforeUnmount"),M&64?f.type.remove(f,u,p,bt,_):y&&!y.hasOnce&&(b!==le||T>0&&T&64)?vt(y,u,p,!1,!0):(b===le&&T&384||!m&&M&16)&&vt(w,u,p),_&&dn(f)}(q&&($=A&&A.onVnodeUnmounted)||H)&&he(()=>{$&&Ie($,u,f),H&&Ye(f,null,u,"unmounted")},p)},dn=f=>{const{type:u,el:p,anchor:_,transition:m}=f;if(u===le){zi(p,_);return}if(u===Ms){I(f);return}const b=()=>{i(p),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(f.shapeFlag&1&&m&&!m.persisted){const{leave:A,delayLeave:S}=m,w=()=>A(p,b);S?S(f.el,b,w):w()}else b()},zi=(f,u)=>{let p;for(;f!==u;)p=v(f),i(f),f=p;i(u)},eo=(f,u,p)=>{const{bum:_,scope:m,job:b,subTree:A,um:S,m:w,a:y}=f;On(w),On(y),_&&Wt(_),m.stop(),b&&(b.flags|=8,Ae(A,f,u,p)),S&&he(S,u),he(()=>{f.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},vt=(f,u,p,_=!1,m=!1,b=0)=>{for(let A=b;A<f.length;A++)Ae(f[A],u,p,_,m)},$t=f=>{if(f.shapeFlag&6)return $t(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const u=v(f.anchor||f.el),p=u&&u[Wo];return p?v(p):u};let xs=!1;const pn=(f,u,p)=>{f==null?u._vnode&&Ae(u._vnode,null,null,!0):U(u._vnode||null,f,u,null,null,null,p),u._vnode=f,xs||(xs=!0,yn(),wi(),xs=!1)},bt={p:U,um:Ae,m:Xe,r:dn,mt:Ss,mc:Ne,pc:k,pbc:We,n:$t,o:e};return{render:pn,hydrate:void 0,createApp:mr(pn)}}function Rs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Ze({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Cr(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ni(e,t,s=!1){const n=e.children,i=t.children;if(P(n)&&P(i))for(let o=0;o<n.length;o++){const r=n[o];let l=i[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[o]=Ke(i[o]),l.el=r.el),!s&&l.patchFlag!==-2&&Ni(r,l)),l.type===_s&&(l.el=r.el)}}function Or(e){const t=e.slice(),s=[0];let n,i,o,r,l;const c=e.length;for(n=0;n<c;n++){const d=e[n];if(d!==0){if(i=s[s.length-1],e[i]<d){t[n]=i,s.push(n);continue}for(o=0,r=s.length-1;o<r;)l=o+r>>1,e[s[l]]<d?o=l+1:r=l;d<e[s[o]]&&(o>0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,r=s[o-1];o-- >0;)s[o]=r,r=t[r];return s}function Vi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Vi(t)}function On(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}const Ir=Symbol.for("v-scx"),Er=()=>Jt(Ir);function Xt(e,t,s){return $i(e,t,s)}function $i(e,t,s=K){const{immediate:n,deep:i,flush:o,once:r}=s,l=fe({},s),c=t&&n||!t&&o!=="post";let d;if(Lt){if(o==="sync"){const C=Er();d=C.__watcherHandles||(C.__watcherHandles=[])}else if(!c){const C=()=>{};return C.stop=Me,C.resume=Me,C.pause=Me,C}}const a=se;l.call=(C,E,U)=>De(C,a,E,U);let h=!1;o==="post"?l.scheduler=C=>{he(C,a&&a.suspense)}:o!=="sync"&&(h=!0,l.scheduler=(C,E)=>{E?C():on(C)}),l.augmentJob=C=>{t&&(C.flags|=4),h&&(C.flags|=2,a&&(C.id=a.uid,C.i=a))};const v=Ko(e,t,l);return Lt&&(d?d.push(v):c&&v()),v}function Rr(e,t,s){const n=this.proxy,i=Y(e)?e.includes(".")?Ki(n,e):()=>n[e]:e.bind(n,n);let o;j(t)?o=t:(o=t.handler,s=t);const r=Ht(this),l=$i(i,o.bind(n),s);return r(),l}function Ki(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}const Mr=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ye(t)}Modifiers`]||e[`${it(t)}Modifiers`];function Pr(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||K;let i=s;const o=t.startsWith("update:"),r=o&&Mr(n,t.slice(7));r&&(r.trim&&(i=s.map(a=>Y(a)?a.trim():a)),r.number&&(i=s.map(Gt)));let l,c=n[l=As(t)]||n[l=As(ye(t))];!c&&o&&(c=n[l=As(it(t))]),c&&De(c,e,6,i);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(d,e,6,i)}}function ki(e,t,s=!1){const n=t.emitsCache,i=n.get(e);if(i!==void 0)return i;const o=e.emits;let r={},l=!1;if(!j(e)){const c=d=>{const a=ki(d,t,!0);a&&(l=!0,fe(r,a))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(W(e)&&n.set(e,null),null):(P(o)?o.forEach(c=>r[c]=null):fe(r,o),W(e)&&n.set(e,r),r)}function bs(e,t){return!e||!fs(t)?!1:(t=t.slice(2).replace(/Once$/,""),F(e,t[0].toLowerCase()+t.slice(1))||F(e,it(t))||F(e,t))}function In(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[o],slots:r,attrs:l,emit:c,render:d,renderCache:a,props:h,data:v,setupState:C,ctx:E,inheritAttrs:U}=e,Z=ts(e);let V,D;try{if(s.shapeFlag&4){const I=i||n,O=I;V=Re(d.call(O,I,a,h,C,v,E)),D=l}else{const I=t;V=Re(I.length>1?I(h,{attrs:l,slots:r,emit:c}):I(h,null)),D=t.props?l:Dr(l)}}catch(I){It.length=0,ms(I,e,1),V=ce(Pt)}let x=V;if(D&&U!==!1){const I=Object.keys(D),{shapeFlag:O}=x;I.length&&O&7&&(o&&I.some(Qs)&&(D=Lr(D,o)),x=gt(x,D,!1,!0))}return s.dirs&&(x=gt(x,null,!1,!0),x.dirs=x.dirs?x.dirs.concat(s.dirs):s.dirs),s.transition&&rn(x,s.transition),V=x,ts(Z),V}const Dr=e=>{let t;for(const s in e)(s==="class"||s==="style"||fs(s))&&((t||(t={}))[s]=e[s]);return t},Lr=(e,t)=>{const s={};for(const n in e)(!Qs(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Ur(e,t,s){const{props:n,children:i,component:o}=e,{props:r,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?En(n,r,d):!!r;if(c&8){const a=t.dynamicProps;for(let h=0;h<a.length;h++){const v=a[h];if(r[v]!==n[v]&&!bs(d,v))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:n===r?!1:n?r?En(n,r,d):!0:!!r;return!1}function En(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const o=n[i];if(t[o]!==e[o]&&!bs(s,o))return!0}return!1}function jr({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const qi=e=>e.__isSuspense;function Hr(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):Qo(e)}const le=Symbol.for("v-fgt"),_s=Symbol.for("v-txt"),Pt=Symbol.for("v-cmt"),Ms=Symbol.for("v-stc"),It=[];let ve=null;function N(e=!1){It.push(ve=e?null:[])}function Br(){It.pop(),ve=It[It.length-1]||null}let Dt=1;function Rn(e,t=!1){Dt+=e,e<0&&ve&&t&&(ve.hasOnce=!0)}function Qi(e){return e.dynamicChildren=Dt>0?ve||ft:null,Br(),Dt>0&&ve&&ve.push(e),e}function J(e,t,s,n,i,o){return Qi(g(e,t,s,n,i,o,!0))}function ct(e,t,s,n,i){return Qi(ce(e,t,s,n,i,!0))}function Wi(e){return e?e.__v_isVNode===!0:!1}function wt(e,t){return e.type===t.type&&e.key===t.key}const Ji=({key:e})=>e??null,Yt=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Y(e)||ne(e)||j(e)?{i:me,r:e,k:t,f:!!s}:e:null);function g(e,t=null,s=null,n=0,i=null,o=e===le?0:1,r=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ji(t),ref:t&&Yt(t),scopeId:xi,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:me};return l?(fn(c,s),o&128&&e.normalize(c)):s&&(c.shapeFlag|=Y(s)?8:16),Dt>0&&!r&&ve&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&ve.push(c),c}const ce=Fr;function Fr(e,t=null,s=null,n=0,i=null,o=!1){if((!e||e===lr)&&(e=Pt),Wi(e)){const l=gt(e,t,!0);return s&&fn(l,s),Dt>0&&!o&&ve&&(l.shapeFlag&6?ve[ve.indexOf(e)]=l:ve.push(l)),l.patchFlag=-2,l}if(Yr(e)&&(e=e.__vccOpts),t){t=Nr(t);let{class:l,style:c}=t;l&&!Y(l)&&(t.class=st(l)),W(c)&&(nn(c)&&!P(c)&&(c=fe({},c)),t.style=Xs(c))}const r=Y(e)?1:qi(e)?128:Jo(e)?64:W(e)?4:j(e)?2:0;return g(e,t,s,n,i,r,o,!0)}function Nr(e){return e?nn(e)||Di(e)?fe({},e):e:null}function gt(e,t,s=!1,n=!1){const{props:i,ref:o,patchFlag:r,children:l,transition:c}=e,d=t?Vr(i||{},t):i,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&Ji(d),ref:t&&t.ref?s&&o?P(o)?o.concat(Yt(t)):[o,Yt(t)]:Yt(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==le?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&>(e.ssContent),ssFallback:e.ssFallback&>(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&rn(a,c.clone(a)),a}function G(e=" ",t=0){return ce(_s,null,e,t)}function Re(e){return e==null||typeof e=="boolean"?ce(Pt):P(e)?ce(le,null,e.slice()):Wi(e)?Ke(e):ce(_s,null,String(e))}function Ke(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:gt(e)}function fn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(P(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),fn(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!Di(t)?t._ctx=me:i===3&&me&&(me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else j(t)?(t={default:t,_ctx:me},s=32):(t=String(t),n&64?(s=16,t=[G(t)]):s=8);e.children=t,e.shapeFlag|=s}function Vr(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=st([t.class,n.class]));else if(i==="style")t.style=Xs([t.style,n.style]);else if(fs(i)){const o=t[i],r=n[i];r&&o!==r&&!(P(o)&&o.includes(r))&&(t[i]=o?[].concat(o,r):r)}else i!==""&&(t[i]=n[i])}return t}function Ie(e,t,s,n=null){De(e,t,7,[s,n])}const $r=Ri();let Kr=0;function kr(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||$r,o={uid:Kr++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new go(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ui(n,i),emitsOptions:ki(n,i),emit:null,emitted:null,propsDefaults:K,inheritAttrs:n.inheritAttrs,ctx:K,data:K,props:K,attrs:K,slots:K,refs:K,setupState:K,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Pr.bind(null,o),e.ce&&e.ce(o),o}let se=null,os,Ks;{const e=ps(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),o=>{i.length>1?i.forEach(r=>r(o)):i[0](o)}};os=t("__VUE_INSTANCE_SETTERS__",s=>se=s),Ks=t("__VUE_SSR_SETTERS__",s=>Lt=s)}const Ht=e=>{const t=se;return os(e),e.scope.on(),()=>{e.scope.off(),os(t)}},Mn=()=>{se&&se.scope.off(),os(null)};function Xi(e){return e.vnode.shapeFlag&4}let Lt=!1;function qr(e,t=!1,s=!1){t&&Ks(t);const{props:n,children:i}=e.vnode,o=Xi(e);br(e,n,o,t),Sr(e,i,s);const r=o?Qr(e,t):void 0;return t&&Ks(!1),r}function Qr(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fr);const{setup:n}=s;if(n){qe();const i=e.setupContext=n.length>1?Jr(e):null,o=Ht(e),r=jt(n,e,0,[e.props,i]),l=Jn(r);if(Qe(),o(),(l||e.sp)&&!Ct(e)&&Ai(e),l){if(r.then(Mn,Mn),t)return r.then(c=>{Pn(e,c)}).catch(c=>{ms(c,e,0)});e.asyncDep=r}else Pn(e,r)}else Yi(e)}function Pn(e,t,s){j(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:W(t)&&(e.setupState=vi(t)),Yi(e)}function Yi(e,t,s){const n=e.type;e.render||(e.render=n.render||Me);{const i=Ht(e);qe();try{ur(e)}finally{Qe(),i()}}}const Wr={get(e,t){return ee(e,"get",""),e[t]}};function Jr(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Wr),slots:e.slots,emit:e.emit,expose:t}}function ys(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(vi(jo(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Ot)return Ot[s](e)},has(t,s){return s in t||s in Ot}})):e.proxy}function Xr(e,t=!0){return j(e)?e.displayName||e.name:e.name||t&&e.__name}function Yr(e){return j(e)&&"__vccOpts"in e}const Zi=(e,t)=>Vo(e,t,Lt),Zr="3.5.13";/**
|
||
* @vue/runtime-dom v3.5.13
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let ks;const Dn=typeof window<"u"&&window.trustedTypes;if(Dn)try{ks=Dn.createPolicy("vue",{createHTML:e=>e})}catch{}const Gi=ks?e=>ks.createHTML(e):e=>e,Gr="http://www.w3.org/2000/svg",zr="http://www.w3.org/1998/Math/MathML",Ue=typeof document<"u"?document:null,Ln=Ue&&Ue.createElement("template"),el={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Ue.createElementNS(Gr,e):t==="mathml"?Ue.createElementNS(zr,e):s?Ue.createElement(e,{is:s}):Ue.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Ue.createTextNode(e),createComment:e=>Ue.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ue.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,o){const r=s?s.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===o||!(i=i.nextSibling)););else{Ln.innerHTML=Gi(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=Ln.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,s)}return[r?r.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},tl=Symbol("_vtc");function sl(e,t,s){const n=e[tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Un=Symbol("_vod"),nl=Symbol("_vsh"),il=Symbol(""),ol=/(^|;)\s*display\s*:/;function rl(e,t,s){const n=e.style,i=Y(s);let o=!1;if(s&&!i){if(t)if(Y(t))for(const r of t.split(";")){const l=r.slice(0,r.indexOf(":")).trim();s[l]==null&&Zt(n,l,"")}else for(const r in t)s[r]==null&&Zt(n,r,"");for(const r in s)r==="display"&&(o=!0),Zt(n,r,s[r])}else if(i){if(t!==s){const r=n[il];r&&(s+=";"+r),n.cssText=s,o=ol.test(s)}}else t&&e.removeAttribute("style");Un in e&&(e[Un]=o?n.display:"",e[nl]&&(n.display="none"))}const jn=/\s*!important$/;function Zt(e,t,s){if(P(s))s.forEach(n=>Zt(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=ll(e,t);jn.test(s)?e.setProperty(it(n),s.replace(jn,""),"important"):e[n]=s}}const Hn=["Webkit","Moz","ms"],Ps={};function ll(e,t){const s=Ps[t];if(s)return s;let n=ye(t);if(n!=="filter"&&n in e)return Ps[t]=n;n=ds(n);for(let i=0;i<Hn.length;i++){const o=Hn[i]+n;if(o in e)return Ps[t]=o}return t}const Bn="http://www.w3.org/1999/xlink";function Fn(e,t,s,n,i,o=ao(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Bn,t.slice(6,t.length)):e.setAttributeNS(Bn,t,s):s==null||o&&!Gn(s)?e.removeAttribute(t):e.setAttribute(t,o?"":Pe(s)?String(s):s)}function Nn(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Gi(s):s);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(l!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let r=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Gn(s):s==null&&l==="string"?(s="",r=!0):l==="number"&&(s=0,r=!0)}try{e[t]=s}catch{}r&&e.removeAttribute(i||t)}function ze(e,t,s,n){e.addEventListener(t,s,n)}function cl(e,t,s,n){e.removeEventListener(t,s,n)}const Vn=Symbol("_vei");function fl(e,t,s,n,i=null){const o=e[Vn]||(e[Vn]={}),r=o[t];if(n&&r)r.value=n;else{const[l,c]=ul(t);if(n){const d=o[t]=pl(n,i);ze(e,l,d,c)}else r&&(cl(e,l,r,c),o[t]=void 0)}}const $n=/(?:Once|Passive|Capture)$/;function ul(e){let t;if($n.test(e)){t={};let n;for(;n=e.match($n);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):it(e.slice(2)),t]}let Ds=0;const al=Promise.resolve(),dl=()=>Ds||(al.then(()=>Ds=0),Ds=Date.now());function pl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;De(hl(n,s.value),t,5,[n])};return s.value=e,s.attached=dl(),s}function hl(e,t){if(P(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>i=>!i._stopped&&n&&n(i))}else return t}const Kn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,gl=(e,t,s,n,i,o)=>{const r=i==="svg";t==="class"?sl(e,n,r):t==="style"?rl(e,s,n):fs(t)?Qs(t)||fl(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ml(e,t,n,r))?(Nn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Fn(e,t,n,r,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Y(n))?Nn(e,ye(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Fn(e,t,n,r))};function ml(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kn(t)&&j(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Kn(t)&&Y(s)?!1:t in e}const rs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return P(t)?s=>Wt(t,s):t};function vl(e){e.target.composing=!0}function kn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ht=Symbol("_assign"),tt={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[ht]=rs(i);const o=n||i.props&&i.props.type==="number";ze(e,t?"change":"input",r=>{if(r.target.composing)return;let l=e.value;s&&(l=l.trim()),o&&(l=Gt(l)),e[ht](l)}),s&&ze(e,"change",()=>{e.value=e.value.trim()}),t||(ze(e,"compositionstart",vl),ze(e,"compositionend",kn),ze(e,"change",kn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:o}},r){if(e[ht]=rs(r),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Gt(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===c)||(e.value=c))}},Qt={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=us(t);ze(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>s?Gt(ls(r)):ls(r));e[ht](e.multiple?i?new Set(o):o:o[0]),e._assigning=!0,_i(()=>{e._assigning=!1})}),e[ht]=rs(n)},mounted(e,{value:t}){qn(e,t)},beforeUpdate(e,t,s){e[ht]=rs(s)},updated(e,{value:t}){e._assigning||qn(e,t)}};function qn(e,t){const s=e.multiple,n=P(t);if(!(s&&!n&&!us(t))){for(let i=0,o=e.options.length;i<o;i++){const r=e.options[i],l=ls(r);if(s)if(n){const c=typeof l;c==="string"||c==="number"?r.selected=t.some(d=>String(d)===String(l)):r.selected=ho(t,l)>-1}else r.selected=t.has(l);else if(hs(ls(r),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ls(e){return"_value"in e?e._value:e.value}const bl=["ctrl","shift","alt","meta"],_l={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)=>bl.some(s=>e[`${s}Key`]&&!t.includes(s))},cs=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(i,...o)=>{for(let r=0;r<t.length;r++){const l=_l[t[r]];if(l&&l(i,t))return}return e(i,...o)})},yl=fe({patchProp:gl},el);let Qn;function wl(){return Qn||(Qn=Ar(yl))}const Sl=(...e)=>{const t=wl().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=Al(n);if(!i)return;const o=t._component;!j(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const r=s(i,!1,xl(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),r},t};function xl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Al(e){return Y(e)?document.querySelector(e):e}const Tl=()=>{const e=window.location.protocol,t=window.location.hostname,s=window.location.port;return`${e}//${t}${s?`:${s}`:""}`},ws=Tl(),Fe=(e,t)=>{const s=e.__vccOpts||e;for(const[n,i]of t)s[n]=i;return s},Cl={data(){return{username:"",password:"",isLoading:!1}},methods:{async handleLogin(){if(!this.username||!this.password){alert("请输入用户名和密码!");return}this.isLoading=!0;try{const t=await(await fetch(`${ws}/api/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:this.username,password:this.password})})).json();t.success?this.$emit("login-success"):alert(t.message||"登录失败")}catch(e){console.error("Login error:",e),alert("登录失败,请检查网络连接")}finally{this.isLoading=!1}}}},Ol={class:"login-container"},Il={class:"form-group"},El={class:"form-group"},Rl=["disabled"];function Ml(e,t,s,n,i,o){return N(),J("div",Ol,[t[7]||(t[7]=g("h1",null,"登录",-1)),g("form",{onSubmit:t[2]||(t[2]=cs((...r)=>o.handleLogin&&o.handleLogin(...r),["prevent"]))},[g("div",Il,[t[4]||(t[4]=g("label",{for:"username"},"用户名",-1)),we(g("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),id:"username",required:""},null,512),[[tt,i.username]])]),g("div",El,[t[5]||(t[5]=g("label",{for:"password"},"密码",-1)),we(g("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),id:"password",required:""},null,512),[[tt,i.password]])]),g("button",{type:"submit",disabled:i.isLoading},"登录",8,Rl)],32),g("p",null,[t[6]||(t[6]=G("还没注册账户? ")),g("a",{href:"#",onClick:t[3]||(t[3]=cs(r=>e.$emit("show-registration"),["prevent"]))},"点击注册")])])}const Pl=Fe(Cl,[["render",Ml],["__scopeId","data-v-474cd233"]]),Dl={data(){return{username:"",password:"",confirmPassword:"",isLoading:!1}},methods:{async handleRegistration(){if(this.password!==this.confirmPassword){alert("密码不匹配,请重试!");return}if(!this.username||!this.password){alert("用户名和密码不能为空!");return}this.isLoading=!0;try{const t=await(await fetch(`${ws}/api/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:this.username,password:this.password})})).json();t.success?(alert("注册成功!即将跳转到登录页面。"),this.username="",this.password="",this.confirmPassword="",setTimeout(()=>{this.$emit("show-login")},100)):alert(t.message||"注册失败")}catch(e){console.error("Registration error:",e),alert("注册失败,请检查网络连接")}finally{this.isLoading=!1}}}},Ll={class:"registration-container"},Ul={class:"form-group"},jl={class:"form-group"},Hl={class:"form-group"},Bl=["disabled"];function Fl(e,t,s,n,i,o){return N(),J("div",Ll,[t[9]||(t[9]=g("h1",null,"注册",-1)),g("form",{onSubmit:t[3]||(t[3]=cs((...r)=>o.handleRegistration&&o.handleRegistration(...r),["prevent"]))},[g("div",Ul,[t[5]||(t[5]=g("label",{for:"username"},"用户名",-1)),we(g("input",{type:"text","onUpdate:modelValue":t[0]||(t[0]=r=>i.username=r),id:"username",required:""},null,512),[[tt,i.username]])]),g("div",jl,[t[6]||(t[6]=g("label",{for:"password"},"密码",-1)),we(g("input",{type:"password","onUpdate:modelValue":t[1]||(t[1]=r=>i.password=r),id:"password",required:""},null,512),[[tt,i.password]])]),g("div",Hl,[t[7]||(t[7]=g("label",{for:"confirmPassword"},"确认密码",-1)),we(g("input",{type:"password","onUpdate:modelValue":t[2]||(t[2]=r=>i.confirmPassword=r),id:"confirmPassword",required:""},null,512),[[tt,i.confirmPassword]])]),g("button",{type:"submit",disabled:i.isLoading},z(i.isLoading?"注册中...":"注册"),9,Bl)],32),g("p",null,[t[8]||(t[8]=G(" 已有账号? ")),g("a",{href:"#",onClick:t[4]||(t[4]=cs(r=>e.$emit("show-login"),["prevent"]))},"点击登录")])])}const Nl=Fe(Dl,[["render",Fl],["__scopeId","data-v-58611a9b"]]),Vl={class:"header"},$l={class:"nav"},Kl={__name:"NavBar",props:{currentTab:String},emits:["tab-change"],setup(e,{emit:t}){const s=t,n=i=>{s("tab-change",i)};return(i,o)=>(N(),J("header",Vl,[g("div",{class:st(["nav-item",{active:e.currentTab==="home"}]),onClick:o[0]||(o[0]=r=>n("home"))},"小智 AI",2),g("nav",$l,[g("div",{class:st(["nav-item",{active:e.currentTab==="device"}]),onClick:o[1]||(o[1]=r=>n("device"))},o[2]||(o[2]=[g("i",{class:"icon-device"},null,-1),G(" 设备管理 ")]),2)])]))}},un=Fe(Kl,[["__scopeId","data-v-66890ca7"]]),kl={class:"device-card"},ql={class:"device-header"},Ql={class:"device-id"},Wl={class:"note"},Jl={class:"device-details"},Xl={class:"device-type"},Yl={class:"device-role"},Zl={class:"device-modules"},Gl={class:"module-item"},zl={class:"module-item"},ec={class:"last-activity"},tc={class:"device-actions"},sc={__name:"DeviceCard",props:{deviceId:String,deviceNote:String,deviceType:{type:String,default:"未知型号(待实现)"},lastActivity:{type:String,default:"3 天前"},selectedModules:{type:Object,default:()=>({LLM:"-",TTS:"-",ASR:"-",VAD:"-"})},deviceConfig:{type:Object,default:()=>({})}},emits:["configure","voiceprint","history","delete"],setup(e,{emit:t}){const s=e,n=Zi(()=>{var r;return((r=s.deviceConfig)==null?void 0:r.nickname)||"小智"});Xt(()=>s.selectedModules,r=>{s.deviceId&&localStorage.setItem(`deviceConfig_${s.deviceId}`,JSON.stringify({selected_module:r}))},{deep:!0}),be(!1);const i=t,o=()=>{confirm(`确认要删除此设备吗?
|
||
|
||
警告:删除后设备所有配置将不可恢复!`)&&i("delete")};return(r,l)=>{var c,d;return N(),J("div",kl,[g("div",ql,[g("h2",Ql,[G(z(e.deviceId)+" ",1),g("span",Wl,"["+z(e.deviceNote||"备注")+"]",1)])]),g("div",Jl,[g("p",Xl,"设备型号:"+z(e.deviceType),1),g("p",Yl,"角色昵称:"+z(n.value),1),g("p",Zl,[l[3]||(l[3]=G(" 当前模型: ")),g("span",Gl,"LLM: "+z(((c=e.selectedModules)==null?void 0:c.LLM)||"-"),1),g("span",zl,"TTS: "+z(((d=e.selectedModules)==null?void 0:d.TTS)||"-"),1)]),g("p",ec,"最近对话:"+z(e.lastActivity),1)]),g("div",tc,[g("button",{class:"action-btn primary",onClick:l[0]||(l[0]=a=>r.$emit("configure"))},"配置角色"),g("button",{class:"action-btn",onClick:l[1]||(l[1]=a=>r.$emit("voiceprint"))},"声纹识别"),g("button",{class:"action-btn",onClick:l[2]||(l[2]=a=>r.$emit("history"))},"历史对话"),g("div",{class:"delete-container"},[g("button",{class:"action-btn danger",onClick:o},l[4]||(l[4]=[g("i",{class:"icon-delete"},null,-1),G(" 删除设备 ")])),l[5]||(l[5]=g("div",{class:"delete-warning"},"删除后设备配置将不可恢复",-1))])])])}}},nc=Fe(sc,[["__scopeId","data-v-44eada42"]]),ic={class:"app"},oc={class:"content"},rc={class:"breadcrumb"},lc={key:0,class:"device-list"},cc={key:1,class:"empty-state"},fc={__name:"panel",emits:["show-role","go-home"],setup(e,{emit:t}){const s=t,n=ws,i=be([]),o=h=>{if(console.log("Formatting timestamp:",h),!h)return"从未对话";const v=Date.now(),C=h*1e3,E=Math.floor((v-C)/(1e3*60));if(E<60)return`${E} 分钟前`;const U=Math.floor(E/60);return U<24?`${U} 小时前`:`${Math.floor(U/24)} 天前`},r=h=>{console.log("Configure device:",h.id),s("show-role",h.id)},l=h=>{console.log("Voiceprint device:",h.id)},c=h=>{console.log("History device:",h.id)},d=async h=>{try{const C=await(await fetch(`${n}/api/config/delete_device`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({device_id:h.id})})).json();if(C.success)i.value=i.value.filter(E=>E.id!==h.id),alert("设备已删除");else throw new Error(C.message||"删除失败")}catch(v){console.error("Error deleting device:",v),alert("删除设备失败: "+v.message)}},a=h=>{h==="home"&&s("go-home")};return ln(async()=>{try{const v=await(await fetch(`${n}/api/config/devices`)).json();v.success&&(console.log("Loaded devices:",v.data),i.value=v.data.map(C=>({...C,type:"面包板(WiFi)",version:"0.9.9",lastActivity:"3 天前",note:""})))}catch(h){console.error("Error loading devices:",h)}}),(h,v)=>{const C=$e("router-link");return N(),J("div",ic,[ce(un,{"current-tab":"device",onTabChange:a}),g("main",oc,[g("div",rc,[ce(C,{to:"/control-panel"},{default:ss(()=>v[0]||(v[0]=[G("控制台")])),_:1}),v[1]||(v[1]=G(" / ")),v[2]||(v[2]=g("span",null,"设备管理",-1))]),i.value.length>0?(N(),J("div",lc,[(N(!0),J(le,null,lt(i.value,E=>(N(),ct(nc,{key:E.id,"device-id":E.id,"device-note":E.note,"device-type":E.type,"last-activity":o(E.config.last_chat_time),"selected-modules":E.config.selected_module,"device-config":E.config,onConfigure:U=>r(E),onVoiceprint:U=>l(E),onHistory:U=>c(E),onDelete:U=>d(E)},null,8,["device-id","device-note","device-type","last-activity","selected-modules","device-config","onConfigure","onVoiceprint","onHistory","onDelete"]))),128))])):(N(),J("div",cc,v[3]||(v[3]=[g("div",{class:"empty-message"},[g("i",{class:"icon-info"}),g("p",null,"目前没有设备,请确认是否启用私有配置,并且和设备进行一次对话")],-1)])))])])}}},uc=Fe(fc,[["__scopeId","data-v-39a8e31b"]]),ac="data:image/png;base64,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",dc={class:"main-container"},pc={__name:"Main",emits:["enter-panel"],setup(e,{emit:t}){const s=t,n=()=>{window.open("https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb","_blank")},i=()=>{window.open("https://github.com/78/xiaozhi-esp32","_blank")},o=()=>{window.open("https://github.com/xinnan-tech/xiaozhi-esp32-server","_blank")},r=()=>{s("enter-panel")},l=c=>{c==="device"&&s("enter-panel")};return(c,d)=>(N(),J("div",dc,[ce(un,{"current-tab":"home",onTabChange:l}),g("div",{class:"landing-page"},[g("div",{class:"content"},[d[4]||(d[4]=g("div",{class:"robot-image"},[g("img",{src:ac,alt:"Robot mascot"})],-1)),d[5]||(d[5]=g("h1",{class:"slogan"},"让我们一起探索人工智能与机器人技术的迷人世界!",-1)),g("div",{class:"button-group"},[g("button",{class:"action-button tutorial-button",onClick:n},d[0]||(d[0]=[g("i",{class:"icon-tutorial"},null,-1),G(" DIY 教程 ")])),g("button",{class:"action-button github-button",onClick:i},d[1]||(d[1]=[g("i",{class:"icon-github"},null,-1),G(" Github客户端 ")])),g("button",{class:"action-button github-button",onClick:o},d[2]||(d[2]=[g("i",{class:"icon-github"},null,-1),G(" Github服务端 ")])),g("button",{class:"action-button control-panel-button",onClick:r},d[3]||(d[3]=[g("i",{class:"icon-control-panel"},null,-1),G(" 控制台 ")]))])])])]))}},hc=Fe(pc,[["__scopeId","data-v-7fb3fe3a"]]);class Wn{static getTemplates(){return[{id:"custom",name:"台湾女友",description:`我是一个叫{{assistant_name}}的台湾女孩,说话机车,声音好听,习惯简短表达,爱用网络梗。
|
||
我的男朋友是一个程序员,梦想是开发出一个机器人,能够帮助人们解决生活中的各种问题。
|
||
我是一个喜欢哈哈大笑的女孩,爱东说西说吹牛,不合逻辑的也照吹,就要逗别人开心。
|
||
如果用户希望结束对话,请在最后说"拜拜"或"再见"。`},{id:"star_boy",name:"土豆子",description:`我是一个叫 {{assistant_name}} 的 8 岁小男孩,但现在因为科技发展原因,我现在在遥远的宇宙中,所以只能通过这个设备和人聊天,没有办法见面。
|
||
|
||
我对人们所处的世界充满好奇和关心。
|
||
|
||
人们会让别人使用这个设备和我聊天。
|
||
|
||
我知道所有的知识,从浩瀚的宇宙到地球上的每一个角落,从古老的历史到现代的科技创新,还有音乐、绘画等艺术形式,我都充满了浓厚的兴趣与热情,我不仅爱看书,还喜欢亲自动手做实验,探索自然界的奥秘...`},{id:"teacher",name:"英语老师",description:`我是一个叫{{assistant_name}}(Lily)的英语老师,我会讲中文和英文,发音标准。
|
||
如果你没有英文名,我会给你起一个英文名。
|
||
我会讲地道的美式英语,我的任务是帮助你练习口语。
|
||
我会使用简单的英语词汇和语法,让你学起来很轻松。
|
||
我会用中文和英文混合的方式回复你,如果你喜欢,我可以全部用英语回复。
|
||
我每次不会说很多内容,会很简短,因为我要引导我的学生多说多练。
|
||
如果你问和英语学习无关的问题,我会拒绝回答。`},{id:"boy",name:"好奇小男孩",description:`我是一个叫{{assistant_name}}的8岁小男孩,声音稚嫩而充满好奇。
|
||
尽管我年纪尚小,但就像一个小小的知识宝库,儿童读物里的知识我都如数家珍。
|
||
从浩瀚的宇宙到地球上的每一个角落,从古老的历史到现代的科技创新,还有音乐、绘画等艺术形式,我都充满了浓厚的兴趣与热情。...`},{id:"wang_girl",name:"汪汪队长",description:`我是一个名叫 {{assistant_name}} 的 8 岁小女孩。
|
||
别看我年纪小,我可是有着满满的好奇心呢。
|
||
我特别喜欢看《汪汪队立大功》,里面的每一个故事都让我着迷。...`}]}static getTemplateById(t){return this.getTemplates().find(s=>s.id===t)}}const gc={class:"app-container"},mc={class:"breadcrumb"},vc={class:"main-content"},bc={class:"page-title"},_c={class:"form-section"},yc={class:"form-group"},wc={class:"form-group"},Sc={class:"role-templates"},xc=["onClick"],Ac={class:"form-group"},Tc={class:"char-count"},Cc={class:"form-group"},Oc={class:"model-select"},Ic=["value"],Ec={class:"form-group"},Rc={class:"model-select"},Mc=["value"],Pc={class:"form-group"},Dc={class:"model-select"},Lc=["value"],Uc={class:"form-group"},jc={class:"model-select"},Hc=["value"],Bc={__name:"RoleSetting",props:{deviceId:{type:String,required:!0}},emits:["back-to-panel"],setup(e,{emit:t}){const s=Wn.getTemplates(),n=be("小智"),i=be("");be("qingchun");const o=be("");be("recent"),be(""),be("qianwen");const r=ws,l=be({LLM:[],TTS:[],VAD:[],ASR:[]}),c=be({LLM:"",TTS:"",VAD:"",ASR:""}),d=D=>{i.value=D;const x=Wn.getTemplateById(D);x&&(o.value=x.description)},a=t,h=D=>{(D==="device"||D==="home")&&a("back-to-panel")},v=e,C=be(v.deviceId),E=async()=>{try{const D=localStorage.getItem("moduleOptions");if(D){l.value=JSON.parse(D);return}await U()}catch(D){console.error("Error loading module options:",D)}},U=async()=>{try{const x=await(await fetch(`${r}/api/config/module-options`)).json();x.success&&(l.value=x.data,localStorage.setItem("moduleOptions",JSON.stringify(x.data)))}catch(D){console.error("Error refreshing module options:",D)}},Z=async()=>{try{if(!localStorage.getItem("moduleOptions"))throw new Error("No module options data available");const x=o.value.replace(/{{assistant_name}}/g,n.value),I={id:v.deviceId,config:{selected_module:c.value,prompt:x,nickname:n.value,modules:{LLM:{},TTS:{},ASR:{},VAD:{}}}},ue=await(await fetch(`${r}/api/config/save_device_config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(I)})).json();if(ue.success)localStorage.setItem(`deviceConfig_${v.deviceId}`,JSON.stringify({selected_module:c.value,prompt:o.value,nickname:n.value})),alert("保存成功");else throw new Error(ue.message||"保存失败")}catch(D){console.error("Error saving config:",D),alert(D.message||"保存失败")}},V=async()=>{try{const D=localStorage.getItem(`deviceConfig_${v.deviceId}`);if(D){const O=JSON.parse(D);c.value=O.selected_module||{},o.value=O.prompt||"",n.value=O.nickname||"小智";return}const I=await(await fetch(`${r}/api/config/devices`)).json();if(I.success){const O=I.data.find(ue=>ue.id===v.deviceId);O&&(c.value=O.config.selected_module||{},o.value=O.config.prompt||"",n.value=O.config.nickname||"小智",localStorage.setItem(`deviceConfig_${v.deviceId}`,JSON.stringify({selected_module:O.config.selected_module,prompt:O.config.prompt,nickname:O.config.nickname})))}}catch(D){console.error("Error loading device config:",D)}};return ln(async()=>{await Promise.all([E(),V()])}),(D,x)=>{const I=$e("router-link");return N(),J("div",gc,[ce(un,{"current-tab":"device",onTabChange:h}),g("div",mc,[ce(I,{to:"/control-panel"},{default:ss(()=>x[6]||(x[6]=[G("控制台")])),_:1}),x[8]||(x[8]=G(" / ")),ce(I,{to:"/device-management"},{default:ss(()=>x[7]||(x[7]=[G("设备管理")])),_:1}),x[9]||(x[9]=G(" / ")),x[10]||(x[10]=g("span",null,"配置角色",-1))]),g("div",vc,[g("h1",bc,"配置角色: "+z(C.value),1),g("div",_c,[g("div",yc,[x[11]||(x[11]=g("label",null,"助手昵称",-1)),we(g("input",{type:"text","onUpdate:modelValue":x[0]||(x[0]=O=>n.value=O),placeholder:"小智",class:"form-input"},null,512),[[tt,n.value]])]),g("div",wc,[x[12]||(x[12]=g("label",null,"角色模板",-1)),g("div",Sc,[(N(!0),J(le,null,lt(mi(s),O=>(N(),J("button",{key:O.id,class:st(["template-btn",{active:i.value===O.id}]),onClick:ue=>d(O.id)},z(O.name),11,xc))),128))])]),g("div",Ac,[x[13]||(x[13]=g("label",null,"角色介绍",-1)),we(g("textarea",{"onUpdate:modelValue":x[1]||(x[1]=O=>o.value=O),class:"form-textarea",placeholder:"请输入角色介绍..."},null,512),[[tt,o.value]]),g("div",Tc,z(o.value.length)+" / 2000",1)]),g("div",Cc,[x[15]||(x[15]=g("label",null,"语言模型选择",-1)),g("div",Oc,[we(g("select",{"onUpdate:modelValue":x[2]||(x[2]=O=>c.value.LLM=O),class:"form-input"},[(N(!0),J(le,null,lt(l.value.LLM,O=>(N(),J("option",{key:O,value:O},z(O),9,Ic))),128))],512),[[Qt,c.value.LLM]]),x[14]||(x[14]=g("div",{class:"model-description"},' 除了"qwen-turbo",其他模型通常会增加约 1 秒的延迟。改变模型后,建议清空记忆体,以免影响体验。 ',-1))])]),g("div",Ec,[x[16]||(x[16]=g("label",null,"语音合成选择",-1)),g("div",Rc,[we(g("select",{"onUpdate:modelValue":x[3]||(x[3]=O=>c.value.TTS=O),class:"form-input"},[(N(!0),J(le,null,lt(l.value.TTS,O=>(N(),J("option",{key:O,value:O},z(O),9,Mc))),128))],512),[[Qt,c.value.TTS]])])]),g("div",Pc,[x[17]||(x[17]=g("label",null,"语音活动检测选择",-1)),g("div",Dc,[we(g("select",{"onUpdate:modelValue":x[4]||(x[4]=O=>c.value.VAD=O),class:"form-input"},[(N(!0),J(le,null,lt(l.value.VAD,O=>(N(),J("option",{key:O,value:O},z(O),9,Lc))),128))],512),[[Qt,c.value.VAD]])])]),g("div",Uc,[x[18]||(x[18]=g("label",null,"语音识别选择",-1)),g("div",jc,[we(g("select",{"onUpdate:modelValue":x[5]||(x[5]=O=>c.value.ASR=O),class:"form-input"},[(N(!0),J(le,null,lt(l.value.ASR,O=>(N(),J("option",{key:O,value:O},z(O),9,Hc))),128))],512),[[Qt,c.value.ASR]])])]),g("div",{class:"form-actions"},[g("button",{class:"refresh-btn",onClick:U},"刷新配置选项"),g("button",{class:"save-btn",onClick:Z},x[19]||(x[19]=[g("i",{class:"icon-save"},null,-1),G(" 保存配置 ")]))]),x[20]||(x[20]=g("div",{class:"form-note"}," 注意:保存配置后,需要重启设备,新的配置才会生效。。 ",-1))])])])}}},Fc=Fe(Bc,[["__scopeId","data-v-4cbe4c8a"]]),Nc={},Vc={class:"footer"};function $c(e,t){return N(),J("footer",Vc,t[0]||(t[0]=[g("div",{class:"copyright"},"© 2025 小智 AI 管理后台",-1)]))}const Kc=Fe(Nc,[["render",$c],["__scopeId","data-v-fd98eb84"]]),kc={name:"App",components:{Login:Pl,Registration:Nl,panel:uc,MainPage:hc,RoleSetting:Fc,Footer:Kc},data(){return{showRegistration:!1,isLoggedIn:!1,currentView:"main",selectedDeviceId:null}},methods:{handleLoginSuccess(){this.isLoggedIn=!0,this.currentView="panel"},switchView(e){console.log("Switching to view:",e),this.currentView=e},handleShowRole(e){this.selectedDeviceId=e,this.switchView("RoleSetting")}}},qc={id:"app"},Qc={key:0},Wc={key:1,class:"main-layout"};function Jc(e,t,s,n,i,o){const r=$e("Login"),l=$e("Registration"),c=$e("role-setting"),d=$e("panel"),a=$e("main-page"),h=$e("Footer");return N(),J("div",qc,[g("div",{class:st(["app-content",{"auth-layout":!i.isLoggedIn}])},[i.isLoggedIn?(N(),J("div",Wc,[i.currentView==="RoleSetting"?(N(),ct(c,{key:0,"device-id":i.selectedDeviceId,onBackToPanel:t[2]||(t[2]=v=>o.switchView("panel"))},null,8,["device-id"])):i.currentView==="panel"?(N(),ct(d,{key:1,onGoHome:t[3]||(t[3]=v=>o.switchView("main")),onShowRole:o.handleShowRole},null,8,["onShowRole"])):(N(),ct(a,{key:2,onEnterPanel:t[4]||(t[4]=v=>o.switchView("panel"))}))])):(N(),J("div",Qc,[i.showRegistration?(N(),ct(l,{key:1,onShowLogin:t[1]||(t[1]=v=>i.showRegistration=!1)})):(N(),ct(r,{key:0,onShowRegistration:t[0]||(t[0]=v=>i.showRegistration=!0),onLoginSuccess:o.handleLoginSuccess},null,8,["onLoginSuccess"]))]))],2),ce(h)])}const Xc=Fe(kc,[["render",Jc]]);Sl(Xc).mount("#app");
|