Files
xiaozhi-esp32-server/main/manager-web/public/generator/assets/index-FKVSBRAB.js
T

82 lines
911 KiB
JavaScript
Raw Normal View History

(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const o of n)if(o.type==="childList")for(const r of o.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const o={};return n.integrity&&(o.integrity=n.integrity),n.referrerPolicy&&(o.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?o.credentials="include":n.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function i(n){if(n.ep)return;n.ep=!0;const o=t(n);fetch(n.href,o)}})();/**
* @vue/shared v3.5.26
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function Pr(A){const e=Object.create(null);for(const t of A.split(","))e[t]=1;return t=>t in e}const KA={},hi=[],ot=()=>{},eI=()=>!1,lo=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&(A.charCodeAt(2)>122||A.charCodeAt(2)<97),Or=A=>A.startsWith("onUpdate:"),ue=Object.assign,Vr=(A,e)=>{const t=A.indexOf(e);t>-1&&A.splice(t,1)},tB=Object.prototype.hasOwnProperty,JA=(A,e)=>tB.call(A,e),yA=Array.isArray,fi=A=>cn(A)==="[object Map]",Bo=A=>cn(A)==="[object Set]",Ng=A=>cn(A)==="[object Date]",SA=A=>typeof A=="function",te=A=>typeof A=="string",It=A=>typeof A=="symbol",PA=A=>A!==null&&typeof A=="object",tI=A=>(PA(A)||SA(A))&&SA(A.then)&&SA(A.catch),iI=Object.prototype.toString,cn=A=>iI.call(A),iB=A=>cn(A).slice(8,-1),nI=A=>cn(A)==="[object Object]",Wr=A=>te(A)&&A!=="NaN"&&A[0]!=="-"&&""+parseInt(A,10)===A,Oi=Pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Qo=A=>{const e=Object.create(null);return t=>e[t]||(e[t]=A(t))},nB=/-\w/g,Je=Qo(A=>A.replace(nB,e=>e.slice(1).toUpperCase())),oB=/\B([A-Z])/g,Ii=Qo(A=>A.replace(oB,"-$1").toLowerCase()),co=Qo(A=>A.charAt(0).toUpperCase()+A.slice(1)),xo=Qo(A=>A?`on${co(A)}`:""),Yt=(A,e)=>!Object.is(A,e),Jn=(A,...e)=>{for(let t=0;t<A.length;t++)A[t](...e)},oI=(A,e,t,i=!1)=>{Object.defineProperty(A,e,{configurable:!0,enumerable:!1,writable:i,value:t})},Eo=A=>{const e=parseFloat(A);return isNaN(e)?A:e};let Gg;const uo=()=>Gg||(Gg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function WA(A){if(yA(A)){const e={};for(let t=0;t<A.length;t++){const i=A[t],n=te(i)?aB(i):WA(i);if(n)for(const o in n)e[o]=n[o]}return e}else if(te(A)||PA(A))return A}const rB=/;(?![^(]*\))/g,gB=/:([^]+)/,sB=/\/\*[^]*?\*\//g;function aB(A){const e={};return A.replace(sB,"").split(rB).forEach(t=>{if(t){const i=t.split(gB);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e}function kA(A){let e="";if(te(A))e=A;else if(yA(A))for(let t=0;t<A.length;t++){const i=kA(A[t]);i&&(e+=i+" ")}else if(PA(A))for(const t in A)A[t]&&(e+=t+" ");return e.trim()}const IB="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",CB=Pr(IB);function rI(A){return!!A||A===""}function lB(A,e){if(A.length!==e.length)return!1;let t=!0;for(let i=0;t&&i<A.length;i++)t=ho(A[i],e[i]);return t}function ho(A,e){if(A===e)return!0;let t=Ng(A),i=Ng(e);if(t||i)return t&&i?A.getTime()===e.getTime():!1;if(t=It(A),i=It(e),t||i)return A===e;if(t=yA(A),i=yA(e),t||i)return t&&i?lB(A,e):!1;if(t=PA(A),i=PA(e),t||i){if(!t||!i)return!1;const n=Object.keys(A).length,o=Object.keys(e).length;if(n!==o)return!1;for(const r in A){const g=A.hasOwnProperty(r),s=e.hasOwnProperty(r);if(g&&!s||!g&&s||!ho(A[r],e[r]))return!1}}return String(A)===String(e)}function BB(A,e){return A.findIndex(t=>ho(t,e))}const gI=A=>!!(A&&A.__v_isRef===!0),v=A=>te(A)?A:A==null?"":yA(A)||PA(A)&&(A.toString===iI||!SA(A.toString))?gI(A)?v(A.value):JSON.stringify(A,sI,2):String(A),sI=(A,e)=>gI(e)?sI(A,e.value):fi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[i,n],o)=>(t[Jo(i,o)+" =>"]=n,t),{})}:Bo(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>Jo(t))}:It(e)?Jo(e):PA(e)&&!yA(e)&&!nI(e)?String(e):e,Jo=(A,e="")=>{var t;return It(A)?`Symbol(${(t=A.description)!=null?t:e})`:A};/**
* @vue/reactivity v3.5.26
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let ke;class aI{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ke,!e&&ke&&(this.index=(ke.scopes||(ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){const t=ke;try{return ke=this,e()}finally{ke=t}}}on(){++this._on===1&&(this.prevScope=ke,ke=this)}off(){this._on>0&&--this._on===0&&(ke=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,i;for(t=0,i=this.effects.length;t<i;t++)this.effects[t].stop();for(this.effects.length=0,t=0,i=this.cleanups.length;t<i;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,i=this.scopes.length;t<i;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function QB(A){return new aI(A)}function cB(){return ke}let OA;const To=new WeakSet;class II{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ke&&ke.active&&ke.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,To.has(this)&&(To.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||lI(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Lg(this),BI(this);const e=OA,t=_e;OA=this,_e=!0;try{return this.fn()}finally{QI(this),OA=e,_e=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Zr(e);this.deps=this.depsTail=void 0,Lg(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?To.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ar(this)&&this.run()}get dirty(){return ar(this)}}let CI=0,Vi,Wi;function lI(A,e=!1){if(A.flags|=8,e){A.next=Wi,Wi=A;return}A.next=Vi,Vi=A}function qr(){CI++}function jr(){if(--CI>0)return;if(Wi){let e=Wi;for(Wi=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let A;for(;Vi;){let e=Vi;for(Vi=void 0;e;){const t=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(i){A||(A=i)}e=t}}if(A)throw A}function BI(A){for(let e=A.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function QI(A){let e,t=A.depsTail,i=t;for(;i;){const n=i.prevDep;i.version===-1?(i===t&&(t=n),Zr(i),EB(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=n}A.deps=e,A.depsTail=t}function ar(A){for(let e=A.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(cI(e.dep.computed)||e.dep.version!==e.version))return!0;return!!A._dirty}function cI(A){if(A.flags&4&&!(A.flags&16)||(A.flags&=-17,A.globalVersion===An)||(A.globalVersion=An,!A.isSSR&&A.flags&128&&(!A.deps&&!A._dirty||!ar(A))))return;A.flags|=2;const e=A.dep,t=OA,i=_e;OA=A,_e=!0;try{BI(A);const n=A.fn(A._value);(e.version===0||Yt(n,A._value))&&(A.flags|=128,A._value=n,e.version++)}catch(n){throw e.version++,n}finally{OA=t,_e=i,QI(A),A.flags&=-3}}function Zr(A,e=!1){const{dep:t,prevSub:i,nextSub:n}=A;if(i&&(i.nextSub=n,A.prevSub=void 0),n&&(n.prevSub=i,A.nextSub=void 0),t.subs===A&&(t.subs=i,!i&&t.computed)){t.computed.flags&=-5;for(let o=t.computed.deps;o;o=o.nextDep)Zr(o,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function EB(A){const{prevDep:e,nextDep:t}=A;e&&(e.nextDep=t,A.prevDep=void 0),t&&(t.prevDep=e,A.nextDep=void 0)}let _e=!0;const EI=[];function wt(){EI.push(_e),_e=!1}function Dt(){const A=EI.pop();_e=A===void 0?!0:A}function Lg(A){const{cleanup:e}=A;if(A.cleanup=void 0,e){const t=OA;OA=void 0;try{e()}finally{OA=t}}}let An=0;class uB{constructor(e,t){this.sub=e,this.dep=t,this.version=t.ver
* @vue/runtime-core v3.5.26
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/function En(A,e,t,i){try{return i?A(...i):A()}catch(n){mo(n,e,t)}}function Ct(A,e,t,i){if(SA(A)){const n=En(A,e,t,i);return n&&tI(n)&&n.catch(o=>{mo(o,e,t)}),n}if(yA(A)){const n=[];for(let o=0;o<A.length;o++)n.push(Ct(A[o],e,t,i));return n}}function mo(A,e,t,i=!0){const n=e?e.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:r}=e&&e.appContext.config||KA;if(e){let g=e.parent;const s=e.proxy,a=`https://vuejs.org/error-reference/#runtime-${t}`;for(;g;){const I=g.ec;if(I){for(let l=0;l<I.length;l++)if(I[l](A,s,a)===!1)return}g=g.parent}if(o){wt(),En(o,null,10,[A,s,a]),Dt();return}}HB(A,t,n,i,r)}function HB(A,e,t,i=!0,n=!1){if(n)throw A;console.error(A)}const me=[];let At=-1;const di=[];let Mt=null,Qi=0;const vI=Promise.resolve();let jn=null;function un(A){const e=jn||vI;return A?e.then(this?A.bind(this):A):e}function YB(A){let e=At+1,t=me.length;for(;e<t;){const i=e+t>>>1,n=me[i],o=tn(n);o<A||o===A&&n.flags&2?e=i+1:t=i}return e}function tg(A){if(!(A.flags&1)){const e=tn(A),t=me[me.length-1];!t||!(A.flags&2)&&e>=tn(t)?me.push(A):me.splice(YB(e),0,A),A.flags|=1,FI()}}function FI(){jn||(jn=vI.then(bI))}function _B(A){yA(A)?di.push(...A):Mt&&A.id===-1?Mt.splice(Qi+1,0,A):A.flags&1||(di.push(A),A.flags|=1),FI()}function Mg(A,e,t=At+1){for(;t<me.length;t++){const i=me[t];if(i&&i.flags&2){if(A&&i.id!==A.uid)continue;me.splice(t,1),t--,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function SI(A){if(di.length){const e=[...new Set(di)].sort((t,i)=>tn(t)-tn(i));if(di.length=0,Mt){Mt.push(...e);return}for(Mt=e,Qi=0;Qi<Mt.length;Qi++){const t=Mt[Qi];t.flags&4&&(t.flags&=-2),t.flags&8||t(),t.flags&=-2}Mt=null,Qi=0}}const tn=A=>A.id==null?A.flags&2?-1:1/0:A.id;function bI(A){try{for(At=0;At<me.length;At++){const e=me[At];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),En(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;At<me.length;At++){const e=me[At];e&&(e.flags&=-2)}At=-1,me.length=0,SI(),jn=null,(me.length||di.length)&&bI()}}let be=null,RI=null;function Zn(A){const e=be;return be=A,RI=A&&A.type.__scopeId||null,e}function KB(A,e=be,t){if(!e||A._n)return A;const i=(...n)=>{i._d&&$n(-1);const o=Zn(e);let r;try{r=A(...n)}finally{Zn(o),i._d&&$n(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function XA(A,e){if(be===null)return A;const t=ko(be),i=A.dirs||(A.dirs=[]);for(let n=0;n<e.length;n++){let[o,r,g,s=KA]=e[n];o&&(SA(o)&&(o={mounted:o,updated:o}),o.deep&&ht(r),i.push({dir:o,instance:t,value:r,oldValue:void 0,arg:g,modifiers:s}))}return A}function Zt(A,e,t,i){const n=A.dirs,o=e&&e.dirs;for(let r=0;r<n.length;r++){const g=n[r];o&&(g.oldValue=o[r].value);let s=g.dir[i];s&&(wt(),Ct(s,t,8,[A.el,g,A,e]),Dt())}}function Tn(A,e){if(Ee){let t=Ee.provides;const i=Ee.parent&&Ee.parent.provides;i===t&&(t=Ee.provides=Object.create(i)),t[A]=e}}function rt(A,e,t=!1){const i=vi();if(i||pi){let n=pi?pi._context.provides:i?i.parent==null||i.ce?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(n&&A in n)return n[A];if(arguments.length>1)return t&&SA(e)?e.call(i&&i.proxy):e}}const PB=Symbol.for("v-scx"),OB=()=>rt(PB);function ae(A,e,t){return NI(A,e,t)}function NI(A,e,t=KA){const{immediate:i,deep:n,flush:o,once:r}=t,g=ue({},t),s=e&&i||!e&&o!=="post";let a;if(on){if(o==="sync"){const Q=OB();a=Q.__watcherHandles||(Q.__watcherHandles=[])}else if(!s){const Q=()=>{};return Q.stop=ot,Q.resume=ot,Q.pause=ot,Q}}const I=Ee;g.call=(Q,E,f)=>Ct(Q,I,E,f);let l=!1;o==="post"?g.scheduler=Q=>{Se(Q,I&&I.suspense)}:o!=="sync"&&(l=!0,g.scheduler=(Q,E)=>{E?Q():tg(Q)}),g.augmentJob=Q=>{e&&(Q.flags|=4),l&&(Q.flags|=2,I&&(Q.id=I.uid,Q.i=I))};const C=TB(A,e,g);return on&&(a?a.push(C):s&&C()),C}function VB(A,e,t){const i=this.proxy,n=te(A)?A.includes(".")?GI(i,A):()=>i[A]:A.bind(i,i);let o;SA(e)?o=e:(o=e.handler,t=e);const r=dn(this),g=NI(n,o.bind(i),t);return r(),g}function GI(A,e){const t=e.split(".");return()=>{let i=A;for(let n=0;n<t.length&&i;n++)i=i[t[n]];return i}}const WB=Symbol("_vte"),qB=A=>A.__isTeleport,jB=Symbol("_leaveCb");function ig(A,e){A.shapeFlag&6&&A.component?(A.transition=e,ig(A.component.subTree,e)):A.shapeF
* @vue/runtime-dom v3.5.26
* (c) 2018-present Yuxi (Evan) You and Vue contributors
* @license MIT
**/let fr;const jg=typeof window<"u"&&window.trustedTypes;if(jg)try{fr=jg.createPolicy("vue",{createHTML:A=>A})}catch{}const rC=fr?A=>fr.createHTML(A):A=>A,qQ="http://www.w3.org/2000/svg",jQ="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,Zg=Et&&Et.createElement("template"),ZQ={insert:(A,e,t)=>{e.insertBefore(A,t||null)},remove:A=>{const e=A.parentNode;e&&e.removeChild(A)},createElement:(A,e,t,i)=>{const n=e==="svg"?Et.createElementNS(qQ,A):e==="mathml"?Et.createElementNS(jQ,A):t?Et.createElement(A,{is:t}):Et.createElement(A);return A==="select"&&i&&i.multiple!=null&&n.setAttribute("multiple",i.multiple),n},createText:A=>Et.createTextNode(A),createComment:A=>Et.createComment(A),setText:(A,e)=>{A.nodeValue=e},setElementText:(A,e)=>{A.textContent=e},parentNode:A=>A.parentNode,nextSibling:A=>A.nextSibling,querySelector:A=>Et.querySelector(A),setScopeId(A,e){A.setAttribute(e,"")},insertStaticContent(A,e,t,i,n,o){const r=t?t.previousSibling:e.lastChild;if(n&&(n===o||n.nextSibling))for(;e.insertBefore(n.cloneNode(!0),t),!(n===o||!(n=n.nextSibling)););else{Zg.innerHTML=rC(i==="svg"?`<svg>${A}</svg>`:i==="mathml"?`<math>${A}</math>`:A);const g=Zg.content;if(i==="svg"||i==="mathml"){const s=g.firstChild;for(;s.firstChild;)g.appendChild(s.firstChild);g.removeChild(s)}e.insertBefore(g,t)}return[r?r.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},XQ=Symbol("_vtc");function zQ(A,e,t){const i=A[XQ];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?A.removeAttribute("class"):t?A.setAttribute("class",e):A.className=e}const Xg=Symbol("_vod"),$Q=Symbol("_vsh"),Ac=Symbol(""),ec=/(?:^|;)\s*display\s*:/;function tc(A,e,t){const i=A.style,n=te(t);let o=!1;if(t&&!n){if(e)if(te(e))for(const r of e.split(";")){const g=r.slice(0,r.indexOf(":")).trim();t[g]==null&&_n(i,g,"")}else for(const r in e)t[r]==null&&_n(i,r,"");for(const r in t)r==="display"&&(o=!0),_n(i,r,t[r])}else if(n){if(e!==t){const r=i[Ac];r&&(t+=";"+r),i.cssText=t,o=ec.test(t)}}else e&&A.removeAttribute("style");Xg in A&&(A[Xg]=o?i.display:"",A[$Q]&&(i.display="none"))}const zg=/\s*!important$/;function _n(A,e,t){if(yA(t))t.forEach(i=>_n(A,e,i));else if(t==null&&(t=""),e.startsWith("--"))A.setProperty(e,t);else{const i=ic(A,e);zg.test(t)?A.setProperty(Ii(i),t.replace(zg,""),"important"):A[i]=t}}const $g=["Webkit","Moz","ms"],Po={};function ic(A,e){const t=Po[e];if(t)return t;let i=Je(e);if(i!=="filter"&&i in A)return Po[e]=i;i=co(i);for(let n=0;n<$g.length;n++){const o=$g[n]+i;if(o in A)return Po[e]=o}return e}const As="http://www.w3.org/1999/xlink";function es(A,e,t,i,n,o=CB(e)){i&&e.startsWith("xlink:")?t==null?A.removeAttributeNS(As,e.slice(6,e.length)):A.setAttributeNS(As,e,t):t==null||o&&!rI(t)?A.removeAttribute(e):A.setAttribute(e,o?"":It(t)?String(t):t)}function ts(A,e,t,i,n){if(e==="innerHTML"||e==="textContent"){t!=null&&(A[e]=e==="innerHTML"?rC(t):t);return}const o=A.tagName;if(e==="value"&&o!=="PROGRESS"&&!o.includes("-")){const g=o==="OPTION"?A.getAttribute("value")||"":A.value,s=t==null?A.type==="checkbox"?"on":"":String(t);(g!==s||!("_value"in A))&&(A.value=s),t==null&&A.removeAttribute(e),A._value=t;return}let r=!1;if(t===""||t==null){const g=typeof A[e];g==="boolean"?t=rI(t):t==null&&g==="string"?(t="",r=!0):g==="number"&&(t=0,r=!0)}try{A[e]=t}catch{}r&&A.removeAttribute(n||e)}function ti(A,e,t,i){A.addEventListener(e,t,i)}function nc(A,e,t,i){A.removeEventListener(e,t,i)}const is=Symbol("_vei");function oc(A,e,t,i,n=null){const o=A[is]||(A[is]={}),r=o[e];if(i&&r)r.value=i;else{const[g,s]=rc(e);if(i){const a=o[e]=ac(i,n);ti(A,g,a,s)}else r&&(nc(A,g,r,s),o[e]=void 0)}}const ns=/(?:Once|Passive|Capture)$/;function rc(A){let e;if(ns.test(A)){e={};let i;for(;i=A.match(ns);)A=A.slice(0,A.length-i[0].length),e[i[0].toLowerCase()]=!0}return[A[2]===":"?A.slice(3):Ii(A.slice(2)),e]}let Oo=0;const gc=Promise.resolve(),sc=()=>Oo||(gc.then(()=>Oo=0),Oo=Date.now());function ac(A,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;Ct(Ic(i,t.value),e,5,[i])};return t.value=A,t.attached=sc(),t}function Ic(A,e){if(yA(e)){co
* shared v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function pc(A,e){typeof console<"u"&&(console.warn("[intlify] "+A),e&&console.warn(e.stack))}const no=typeof window<"u",Vt=(A,e=!1)=>e?Symbol.for(A):Symbol(A),mc=(A,e,t)=>yc({l:A,k:e,s:t}),yc=A=>JSON.stringify(A).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ee=A=>typeof A=="number"&&isFinite(A),wc=A=>sC(A)==="[object Date]",Pt=A=>sC(A)==="[object RegExp]",vo=A=>vA(A)&&Object.keys(A).length===0,Be=Object.assign,Dc=Object.create,YA=(A=null)=>Dc(A);let Is;const ft=()=>Is||(Is=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:YA());function Cs(A){return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/\//g,"&#x2F;").replace(/=/g,"&#x3D;")}function ls(A){return A.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&apos;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function kc(A){return A=A.replace(/(\w+)\s*=\s*"([^"]*)"/g,(i,n,o)=>`${n}="${ls(o)}"`),A=A.replace(/(\w+)\s*=\s*'([^']*)'/g,(i,n,o)=>`${n}='${ls(o)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(A)&&(A=A.replace(/(\s+)(on)(\w+\s*=)/gi,"$1&#111;n$3")),[/(\s+(?:href|src|action|formaction)\s*=\s*["']?)\s*javascript:/gi,/(style\s*=\s*["'][^"']*url\s*\(\s*)javascript:/gi].forEach(i=>{A=A.replace(i,"$1javascript&#58;")}),A}const vc=Object.prototype.hasOwnProperty;function He(A,e){return vc.call(A,e)}const qA=Array.isArray,VA=A=>typeof A=="function",rA=A=>typeof A=="string",RA=A=>typeof A=="boolean",UA=A=>A!==null&&typeof A=="object",Fc=A=>UA(A)&&VA(A.then)&&VA(A.catch),gC=Object.prototype.toString,sC=A=>gC.call(A),vA=A=>{if(!UA(A))return!1;const e=Object.getPrototypeOf(A);return e===null||e.constructor===Object},Sc=A=>A==null?"":qA(A)||vA(A)&&A.toString===gC?JSON.stringify(A,null,2):String(A);function bc(A,e=""){return A.reduce((t,i,n)=>n===0?t+i:t+e+i,"")}function Fo(A){let e=A;return()=>++e}const Sn=A=>!UA(A)||qA(A);function Kn(A,e){if(Sn(A)||Sn(e))throw new Error("Invalid value");const t=[{src:A,des:e}];for(;t.length;){const{src:i,des:n}=t.pop();Object.keys(i).forEach(o=>{o!=="__proto__"&&(UA(i[o])&&!UA(n[o])&&(n[o]=Array.isArray(i[o])?[]:YA()),Sn(n[o])||Sn(i[o])?n[o]=i[o]:t.push({src:i[o],des:n[o]}))})}}/*!
* message-compiler v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Rc(A,e,t){return{line:A,column:e,offset:t}}function oo(A,e,t){return{start:A,end:e}}const Nc=/\{([0-9a-zA-Z]+)\}/g;function aC(A,...e){return e.length===1&&Gc(e[0])&&(e=e[0]),(!e||!e.hasOwnProperty)&&(e={}),A.replace(Nc,(t,i)=>e.hasOwnProperty(i)?e[i]:"")}const IC=Object.assign,Bs=A=>typeof A=="string",Gc=A=>A!==null&&typeof A=="object";function CC(A,e=""){return A.reduce((t,i,n)=>n===0?t+i:t+e+i,"")}const gg={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Lc={[gg.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Uc(A,e,...t){const i=aC(Lc[A],...t||[]),n={message:String(i),code:A};return e&&(n.location=e),n}const pA={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Mc={[pA.EXPECTED_TOKEN]:"Expected token: '{0}'",[pA.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[pA.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[pA.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[pA.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[pA.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[pA.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[pA.EMPTY_PLACEHOLDER]:"Empty placeholder",[pA.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[pA.INVALID_LINKED_FORMAT]:"Invalid linked format",[pA.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[pA.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[pA.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[pA.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[pA.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[pA.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Li(A,e,t={}){const{domain:i,messages:n,args:o}=t,r=aC((n||Mc)[A]||"",...o||[]),g=new SyntaxError(String(r));return g.code=A,e&&(g.location=e),g.domain=i,g}function xc(A){throw A}const Bt=" ",Jc="\r",de=`
`,Tc="\u2028",Hc="\u2029";function Yc(A){const e=A;let t=0,i=1,n=1,o=0;const r=N=>e[N]===Jc&&e[N+1]===de,g=N=>e[N]===de,s=N=>e[N]===Hc,a=N=>e[N]===Tc,I=N=>r(N)||g(N)||s(N)||a(N),l=()=>t,C=()=>i,Q=()=>n,E=()=>o,f=N=>r(N)||s(N)||a(N)?de:e[N],h=()=>f(t),u=()=>f(t+o);function p(){return o=0,I(t)&&(i++,n=0),r(t)&&t++,t++,n++,e[t]}function c(){return r(t+o)&&o++,o++,e[t+o]}function d(){t=0,i=1,n=1,o=0}function w(N=0){o=N}function F(){const N=t+o;for(;N!==t;)p();o=0}return{index:l,line:C,column:Q,peekOffset:E,charAt:f,currentChar:h,currentPeek:u,next:p,peek:c,reset:d,resetPeek:w,skipToPeek:F}}const bt=void 0,_c=".",Qs="'",Kc="tokenizer";function Pc(A,e={}){const t=e.location!==!1,i=Yc(A),n=()=>i.index(),o=()=>Rc(i.line(),i.column(),i.index()),r=o(),g=n(),s={currentType:14,offset:g,startLoc:r,endLoc:r,lastType:14,lastOffset:g,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},a=()=>s,{onError:I}=e;function l(m,y,x,...K){const nA=a();if(y.column+=x,y.offset+=x,I){const z=t?oo(nA.startLoc,y):null,U=Li(m,z,{domain:Kc,args:K});I(U)}}function C(m,y,x){m.endLoc=o(),m.currentType=y;const K={type:y};return t&&(K.loc=oo(m.startLoc,m.endLoc)),x!=null&&(K.value=x),K}const Q=m=>C(m,14);function E(m,y){return m.currentChar()===y?(m.next(),y):(l(pA.EXPECTED_TOKEN,o(),0,y),"")}function f(m){let y="";for(;m.currentPeek()===Bt||m.currentPeek()===de;)y+=m.currentPeek(),m.peek();return y}function h(m){const y=f(m);return m.skipToPeek(),y}function u(m){if(m===bt)return!1;const y=m.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y===95}function p(m){if(m===bt)return!1;const y=m.charCodeAt(0);return y>=48&&y<=57}function c(m,y){const{currentType:x}=y;if(x!==2)return!1;f(m);const K=u(m.currentPeek());return m.resetPeek(),K}function d(m,y){const{currentType:x}=y;if(x!==2)return!1;f(m);const K=m.currentPeek()==="-"?m.peek():m.currentPeek(),nA=p(K);return m.resetPeek(),nA}function w(m,y){const{currentType:x}=y;if(x!==2)return!1;f(m);const K=m.currentPeek()===Qs;return m.resetPeek(),K}function F(m,y){const{currentType:x}=y;if(x!==8)return!1;f(m);const K=m.currentPeek()===".";return m.resetPeek(),K}function N(m,y){const{currentType:x}=y;if(x!==9)return!1;f(m);const K=u(m.currentPeek());return m.resetPeek(),K}function G(m,y){const{currentType:x}=y;if(!(x===8||x===12))return!1;f(m);const K=m.currentPeek()===":";return m.resetPeek(),K}function P(m,y){const{currentType:x}=y;if(x!==10)return!1;const K=()=>{const z=m.currentPeek();return z==="{"?u(m.peek()):z==="@"||z==="%"||z==="|"||z===":"||z==="."||z===Bt||!z?!1:z===de?(m.peek(),K()):L(m,!1)},nA=K();return m.resetPeek(),nA}function b(m){f(m);const y=m.currentPeek()==="|";return m.resetPeek(),y}function R(m){const y=f(m),x=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:x,hasSpace:y.length>0}}function L(m,y=!0){const x=(nA=!1,z="",U=!1)=>{const O=m.currentPeek();return O==="{"?z==="%"?!1:nA:O==="@"||!O?z==="%"?!0:nA:O==="%"?(m.peek(),x(nA,"%",!0)):O==="|"?z==="%"||U?!0:!(z===Bt||z===de):O===Bt?(m.peek(),x(!0,Bt,U)):O===de?(m.peek(),x(!0,de,U)):!0},K=x();return y&&m.resetPeek(),K}function cA(m,y){const x=m.currentChar();return x===bt?bt:y(x)?(m.next(),x):null}function dA(m){const y=m.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36}function CA(m){return cA(m,dA)}function iA(m){const y=m.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===95||y===36||y===45}function X(m){return cA(m,iA)}function eA(m){const y=m.charCodeAt(0);return y>=48&&y<=57}function fA(m){return cA(m,eA)}function DA(m){const y=m.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function Y(m){return cA(m,DA)}function q(m){let y="",x="";for(;y=fA(m);)x+=y;return x}function gA(m){h(m);const y=m.currentChar();return y!=="%"&&l(pA.EXPECTED_TOKEN,o(),0,y),m.next(),"%"}function FA(m){let y="";for(;;){const x=m.currentChar();if(x==="{"||x==="}"||x==="@"||x==="|"||!x)break;if(x==="%")if(L(m))y+=x,m.next();else break;else if(x===Bt||x===de)if(L(m))y+=x,m.next();else{if(b(m))break;y+=x,m.next()}else y+=x,m.next()}return y}function LA(m){h(m);let y="",x="";for(;
`,o=e.needIndent?e.needIndent:t!=="arrow",r=A.helpers||[],g=AE(A,{filename:i,breakLineCode:n,needIndent:o});g.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),g.indent(o),r.length>0&&(g.push(`const { ${CC(r.map(I=>`${I}: _${I}`),", ")} } = ctx`),g.newline()),g.push("return "),Fi(g,A),g.deindent(o),g.push("}"),delete A.helpers;const{code:s,map:a}=g.context();return{ast:A,code:s,map:a?a.toJSON():void 0}};function rE(A,e={}){const t=IC({},e),i=!!t.jit,n=!!t.minify,o=t.optimize==null?!0:t.optimize,g=qc(t).parse(A);return i?(o&&Xc(g),n&&ci(g),{ast:g,code:""}):(Zc(g,t),oE(g,t))}/*!
* core-base v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function gE(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ft().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ft().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ft().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function st(A){return UA(A)&&ag(A)===0&&(He(A,"b")||He(A,"body"))}const lC=["b","body"];function sE(A){return Wt(A,lC)}const BC=["c","cases"];function aE(A){return Wt(A,BC,[])}const QC=["s","static"];function IE(A){return Wt(A,QC)}const cC=["i","items"];function CE(A){return Wt(A,cC,[])}const EC=["t","type"];function ag(A){return Wt(A,EC)}const uC=["v","value"];function bn(A,e){const t=Wt(A,uC);if(t!=null)return t;throw rn(e)}const hC=["m","modifier"];function lE(A){return Wt(A,hC)}const fC=["k","key"];function BE(A){const e=Wt(A,fC);if(e)return e;throw rn(6)}function Wt(A,e,t){for(let i=0;i<e.length;i++){const n=e[i];if(He(A,n)&&A[n]!=null)return A[n]}return t}const dC=[...lC,...BC,...QC,...cC,...fC,...hC,...uC,...EC];function rn(A){return new Error(`unhandled node type: ${A}`)}const qt=[];qt[0]={w:[0],i:[3,0],"[":[4],o:[7]};qt[1]={w:[1],".":[2],"[":[4],o:[7]};qt[2]={w:[2],i:[3,0],0:[3,0]};qt[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};qt[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};qt[5]={"'":[4,0],o:8,l:[5,0]};qt[6]={'"':[4,0],o:8,l:[6,0]};const QE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function cE(A){return QE.test(A)}function EE(A){const e=A.charCodeAt(0),t=A.charCodeAt(A.length-1);return e===t&&(e===34||e===39)?A.slice(1,-1):A}function uE(A){if(A==null)return"o";switch(A.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return A;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function hE(A){const e=A.trim();return A.charAt(0)==="0"&&isNaN(parseInt(A))?!1:cE(e)?EE(e):"*"+e}function fE(A){const e=[];let t=-1,i=0,n=0,o,r,g,s,a,I,l;const C=[];C[0]=()=>{r===void 0?r=g:r+=g},C[1]=()=>{r!==void 0&&(e.push(r),r=void 0)},C[2]=()=>{C[0](),n++},C[3]=()=>{if(n>0)n--,i=4,C[0]();else{if(n=0,r===void 0||(r=hE(r),r===!1))return!1;C[1]()}};function Q(){const E=A[t+1];if(i===5&&E==="'"||i===6&&E==='"')return t++,g="\\"+E,C[0](),!0}for(;i!==null;)if(t++,o=A[t],!(o==="\\"&&Q())){if(s=uE(o),l=qt[i],a=l[s]||l.l||8,a===8||(i=a[0],a[1]!==void 0&&(I=C[a[1]],I&&(g=o,I()===!1))))return;if(i===7)return e}}const us=new Map;function dE(A,e){return UA(A)?A[e]:null}function pE(A,e){if(!UA(A))return null;let t=us.get(e);if(t||(t=fE(e),t&&us.set(e,t)),!t)return null;const i=t.length;let n=A,o=0;for(;o<i;){const r=t[o];if(dC.includes(r)&&st(n))return null;const g=n[r];if(g===void 0||VA(n))return null;n=g,o++}return n}const mE=A=>A,yE=A=>"",wE="text",DE=A=>A.length===0?"":bc(A),kE=Sc;function hs(A,e){return A=Math.abs(A),e===2?A?A>1?1:0:1:A?Math.min(A,2):0}function vE(A){const e=ee(A.pluralIndex)?A.pluralIndex:-1;return A.named&&(ee(A.named.count)||ee(A.named.n))?ee(A.named.count)?A.named.count:ee(A.named.n)?A.named.n:e:e}function FE(A,e){e.count||(e.count=A),e.n||(e.n=A)}function SE(A={}){const e=A.locale,t=vE(A),i=UA(A.pluralRules)&&rA(e)&&VA(A.pluralRules[e])?A.pluralRules[e]:hs,n=UA(A.pluralRules)&&rA(e)&&VA(A.pluralRules[e])?hs:void 0,o=u=>u[i(t,u.length,n)],r=A.list||[],g=u=>r[u],s=A.named||YA();ee(A.pluralIndex)&&FE(t,s);const a=u=>s[u];function I(u){const p=VA(A.messages)?A.messages(u):UA(A.messages)?A.messages[u]:!1;return p||(A.parent?A.parent.message(u):yE)}const l=u=>A.modifiers?A.modifiers[u]:mE,C=vA(A.processor)&&VA(A.processor.normalize)?A.processor.normalize:DE,Q=vA(A.processor)&&VA(A.processor.interpolate)?A.processor.interpolate:kE,E=vA(A.processor)&&rA(A.processor.type)?A.processor.type:wE,h={list:g,named:a,plural:o,linked:(u,...p)=>{const[c,d]=p;let w="text",F="";p.length===1?UA(c)?(F=c.modifier||F,w=c.type||w):rA(c)&&(F=c||F):p.length===2&&(rA(c)&&(F=c||F),rA(d)&&(w=d||w));const N=I(u)(h),G=w==="vnode"&&qA(N)&&F?N[0]:N;return F?l(F)(G,w):G},message:I,type:E,interpolate:Q,normalize:C,values:Be(YA(),r,s)};return h}let gn=null;function bE(A){gn=A}f
* vue-i18n v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/const tu="9.14.5";function iu(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(ft().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(ft().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ft().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ft().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ft().__INTLIFY_PROD_DEVTOOLS__=!1)}const nu=UE.__EXTEND_POINT__,Qt=Fo(nu);Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt();const LC=Ye.__EXTEND_POINT__,we=Fo(LC),re={UNEXPECTED_RETURN_TYPE:LC,INVALID_ARGUMENT:we(),MUST_BE_CALL_SETUP_TOP:we(),NOT_INSTALLED:we(),NOT_AVAILABLE_IN_LEGACY_MODE:we(),REQUIRED_VALUE:we(),INVALID_VALUE:we(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:we(),NOT_INSTALLED_WITH_PROVIDE:we(),UNEXPECTED_ERROR:we(),NOT_COMPATIBLE_LEGACY_VUE_I18N:we(),BRIDGE_SUPPORT_VUE_2_ONLY:we(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:we(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:we(),__EXTEND_POINT__:we()};function Ie(A,...e){return Li(A,null,void 0)}const Dr=Vt("__translateVNode"),kr=Vt("__datetimeParts"),vr=Vt("__numberParts"),UC=Vt("__setPluralRules"),MC=Vt("__injectWithOption"),Fr=Vt("__dispose");function sn(A){if(!UA(A)||st(A))return A;for(const e in A)if(He(A,e))if(!e.includes("."))UA(A[e])&&sn(A[e]);else{const t=e.split("."),i=t.length-1;let n=A,o=!1;for(let r=0;r<i;r++){if(t[r]==="__proto__")throw new Error(`unsafe key: ${t[r]}`);if(t[r]in n||(n[t[r]]=YA()),!UA(n[t[r]])){o=!0;break}n=n[t[r]]}if(o||(st(n)?dC.includes(t[i])||delete A[e]:(n[t[i]]=A[e],delete A[e])),!st(n)){const r=n[t[i]];UA(r)&&sn(r)}}return A}function bo(A,e){const{messages:t,__i18n:i,messageResolver:n,flatJson:o}=e,r=vA(t)?t:qA(i)?YA():{[A]:YA()};if(qA(i)&&i.forEach(g=>{if("locale"in g&&"resource"in g){const{locale:s,resource:a}=g;s?(r[s]=r[s]||YA(),Kn(a,r[s])):Kn(a,r)}else rA(g)&&Kn(JSON.parse(g),r)}),n==null&&o)for(const g in r)He(r,g)&&sn(r[g]);return r}function xC(A){return A.type}function JC(A,e,t){let i=UA(e.messages)?e.messages:YA();"__i18nGlobal"in t&&(i=bo(A.locale.value,{messages:i,__i18n:t.__i18nGlobal}));const n=Object.keys(i);n.length&&n.forEach(o=>{A.mergeLocaleMessage(o,i[o])});{if(UA(e.datetimeFormats)){const o=Object.keys(e.datetimeFormats);o.length&&o.forEach(r=>{A.mergeDateTimeFormat(r,e.datetimeFormats[r])})}if(UA(e.numberFormats)){const o=Object.keys(e.numberFormats);o.length&&o.forEach(r=>{A.mergeNumberFormat(r,e.numberFormats[r])})}}}function Gs(A){return HA(fn,null,A,0)}const Ls="__INTLIFY_META__",Us=()=>[],ou=()=>!1;let Ms=0;function xs(A){return(e,t,i,n)=>A(t,i,vi()||void 0,n)}const ru=()=>{const A=vi();let e=null;return A&&(e=xC(A)[Ls])?{[Ls]:e}:null};function lg(A={},e){const{__root:t,__injectWithOption:i}=A,n=t===void 0,o=A.flatJson,r=no?EA:eg,g=!!A.translateExistCompatible;let s=RA(A.inheritLocale)?A.inheritLocale:!0;const a=r(t&&s?t.locale.value:rA(A.locale)?A.locale:Si),I=r(t&&s?t.fallbackLocale.value:rA(A.fallbackLocale)||qA(A.fallbackLocale)||vA(A.fallbackLocale)||A.fallbackLocale===!1?A.fallbackLocale:a.value),l=r(bo(a.value,A)),C=r(vA(A.datetimeFormats)?A.datetimeFormats:{[a.value]:{}}),Q=r(vA(A.numberFormats)?A.numberFormats:{[a.value]:{}});let E=t?t.missingWarn:RA(A.missingWarn)||Pt(A.missingWarn)?A.missingWarn:!0,f=t?t.fallbackWarn:RA(A.fallbackWarn)||Pt(A.fallbackWarn)?A.fallbackWarn:!0,h=t?t.fallbackRoot:RA(A.fallbackRoot)?A.fallbackRoot:!0,u=!!A.fallbackFormat,p=VA(A.missing)?A.missing:null,c=VA(A.missing)?xs(A.missing):null,d=VA(A.postTranslation)?A.postTranslation:null,w=t?t.warnHtmlMessage:RA(A.warnHtmlMessage)?A.warnHtmlMessage:!0,F=!!A.escapeParameter;const N=t?t.modifiers:vA(A.modifiers)?A.modifiers:{};let G=A.pluralRules||t&&t.pluralRules,P;P=(()=>{n&&ws(null);const U={version:tu,locale:a.value,fallbackLocale:I.value,messages:l.value,modifiers:N,pluralRules:G,missing:c===null?void 0:c,missingWarn:E,fallbackWarn:f,fallbackFormat:u,unresolving:!0,postTranslation:d===null?void 0:d,warnHtmlMessage:w,escapeParameter:F,messageResolver:A.messageResolver,messageCompiler:A.messageCompiler,__meta:{framew
The new version uses file deduplication technology to save storage space.
Please re-upload custom emoji images.`,incompatibleEmojiData:"Incompatible emoji data detected, please reconfigure"},Dh={authTokenMissing:"Authentication token not found",checkingDeviceStatus:"Checking device status...",deviceOfflineOrUnresponsive:"Device offline or unresponsive: {error}",unableToGetDeviceStatus:"Unable to get device status",initializingTransferService:"Initializing transfer service...",initializeTransferFailed:"Failed to initialize transfer service: {error}",settingDeviceDownloadUrl:"Setting device download URL...",setDownloadUrlFailed:"Failed to set download URL: {error}",rebootingDevice:"Rebooting device...",waitingForDeviceReboot:"Waiting for device to reboot...",deviceRebootTimeout:"Device reboot timeout (60 seconds)",startingFileTransfer:"Starting file transfer...",flashCompleted:"Flashing completed!",onlineFlashFailed:"Online flashing failed: {error}"},kh={online:"Online",offline:"Offline",checking:"Checking...",flashing:"Flashing...",ready:"Ready",chip:"Chip",board:"Board",flash:"Flash",screen:"Screen",signal:{unknown:"Unknown",strong:"Strong",medium:"Medium",weak:"Weak",none:"No Signal"}},vh={title:"Step 1: Chip Model and Screen Configuration",loadingFromDevice:"Loading hardware configuration from device...",loadedFromDevice:"Hardware configuration automatically loaded from device",manualConfig:"Please configure hardware parameters manually",loadingTitle:"Loading Device Configuration...",loadingDesc:"Reading chip model and screen resolution from device",autoLoadedTitle:"Device Configuration Auto-loaded",chipModel:"Chip Model",screenWidth:"Screen Width",screenHeight:"Screen Height",colorFormat:"Color Format:",manualEdit:"Manual Configuration",collapseManual:"Collapse Manual Configuration",manualConfigTitle:"Manual Hardware Configuration",next:"Next",selectChip:"Select Chip",chipRequired:"Chip Model",widthRequired:"Screen Width",heightRequired:"Screen Height",loadingError:"Loading configuration error",deviceOffline:"Device not connected or offline",chipModelError:"Unable to get chip model, please enter manually",resolutionError:"Unable to get screen resolution, please enter manually",timeoutError:"Configuration loading timeout, please enter manually",manualConfigDesc:"Unable to auto-read device configuration",manualConfigHint:"Device not connected or offline, please manually input hardware configuration",manualConfigRequired:"Please manually input hardware configuration",resolutionFormatError:"Screen resolution format error"},Fh={title:"Step 2: Theme Design",description:"Configure wake word, font, emoji and background to customize your Xiaozhi AI theme.",previous:"Previous",next:"Next",tabs:{wakeword:"Wake Word Config",font:"Font Config",emoji:"Emoji Collection",background:"Chat Background"}},Sh={title:"Step 3: Preview",description:"Preview the effect of your custom configuration on the actual device.",devicePreview:"Device Preview (1:1 Pixel Ratio)",previewSettings:"Preview Settings",previewText:"Preview Text",defaultPreviewText:"Hi, I'm your friend Xiaozhi!",currentEmotion:"Current Emotion",themeMode:"Theme Mode",lightMode:"Light",darkMode:"Dark",configSummary:"Configuration Summary",wakeword:"Wake Word:",font:"Font:",loading:"Loading...",emotion:"Emotion:",skin:"Skin:",previous:"Previous",generate:"Generate assets.bin",emotions:{neutral:"Neutral",happy:"Happy",laughing:"Laughing",funny:"Funny",sad:"Sad",angry:"Angry",crying:"Crying",loving:"Loving",embarrassed:"Embarrassed",surprised:"Surprised",shocked:"Shocked",thinking:"Thinking",winking:"Winking",cool:"Cool",relaxed:"Relaxed",delicious:"Delicious",kissy:"Kiss",confident:"Confident",sleepy:"Sleepy",silly:"Silly",confused:"Confused"},noEmotionConfigured:"No emotion configured",fontLoading:"Font loading...",configureEmojiFirst:"Please configure emoji package in theme design first",customFont:"Custom Font {size}px",customEmoji:"Custom Emoji {count} images",notConfigured:"Not configured",skinLight:"Light {type}",skinDark:"Dark {type}",hideSubtitle:"Hide Subtitle:",image:"Image",color:"Color"},bh={title:"Chat Background Configuration",descriptio
新版本使用文件去重技术可以节省存储空间
请重新上传自定义表情图片`,incompatibleEmojiData:"检测到不兼容的表情数据,请重新配置"},_h={authTokenMissing:"未找到认证令牌",checkingDeviceStatus:"检查设备状态...",deviceOfflineOrUnresponsive:"设备离线或无响应: {error}",unableToGetDeviceStatus:"无法获取设备状态",initializingTransferService:"初始化传输服务...",initializeTransferFailed:"初始化传输服务失败: {error}",settingDeviceDownloadUrl:"设置设备下载URL...",setDownloadUrlFailed:"设置下载URL失败: {error}",rebootingDevice:"重启设备...",waitingForDeviceReboot:"等待设备重启...",deviceRebootTimeout:"等待设备重启超时(60秒)",startingFileTransfer:"开始传输文件...",flashCompleted:"烧录完成!",onlineFlashFailed:"在线烧录失败: {error}"},Kh={online:"在线",offline:"离线",checking:"检查中...",flashing:"烧录中...",ready:"就绪",chip:"芯片",board:"开发板",flash:"Flash",screen:"屏幕",signal:{unknown:"未知",strong:"强",medium:"中等",weak:"弱",none:"无信号"}},Ph={title:"步骤 1: 芯片型号和屏幕配置",loadingFromDevice:"正在从设备读取硬件配置...",loadedFromDevice:"已从设备自动读取硬件配置",manualConfig:"请手动配置硬件参数",loadingTitle:"正在加载设备配置...",loadingDesc:"从设备读取芯片型号和屏幕分辨率",autoLoadedTitle:"设备配置已自动加载",chipModel:"芯片型号",screenWidth:"屏幕宽度",screenHeight:"屏幕高度",colorFormat:"颜色格式:",manualEdit:"手动修改配置",collapseManual:"收起手动配置",manualConfigTitle:"手动配置硬件参数",next:"下一步",selectChip:"请选择芯片",chipRequired:"芯片型号",widthRequired:"屏幕宽度",heightRequired:"屏幕高度",loadingError:"加载配置时发生错误",deviceOffline:"设备未连接或离线",chipModelError:"无法获取芯片型号,请手动输入",resolutionError:"无法获取屏幕分辨率,请手动输入",timeoutError:"加载设备配置超时,请手动输入",manualConfigDesc:"无法自动读取设备配置",manualConfigHint:"设备未连接或离线,请手动输入硬件配置",manualConfigRequired:"请手动输入硬件配置",resolutionFormatError:"屏幕分辨率格式错误"},Oh={title:"步骤 2: 主题设计",description:"配置唤醒词、字体、表情和背景来自定义您的小智AI主题。",previous:"上一步",next:"下一步",tabs:{wakeword:"唤醒词配置",font:"字体配置",emoji:"表情集合",background:"聊天背景"}},Vh={title:"步骤 3: 效果预览",description:"预览您的自定义配置在实际设备上的效果。",devicePreview:"设备预览 (1:1 像素比例)",previewSettings:"预览设置",previewText:"预览文字",defaultPreviewText:"你好,我是你的朋友小智!",currentEmotion:"当前表情",themeMode:"主题模式",lightMode:"浅色",darkMode:"深色",configSummary:"配置摘要",wakeword:"唤醒词:",font:"字体:",loading:"加载中...",emotion:"表情:",skin:"皮肤:",previous:"上一步",generate:"生成 assets.bin",emotions:{neutral:"默认",happy:"开心",laughing:"大笑",funny:"搞笑",sad:"伤心",angry:"生气",crying:"哭泣",loving:"喜爱",embarrassed:"尴尬",surprised:"惊讶",shocked:"震惊",thinking:"思考",winking:"眨眼",cool:"酷炫",relaxed:"放松",delicious:"美味",kissy:"飞吻",confident:"自信",sleepy:"困倦",silly:"调皮",confused:"困惑"},noEmotionConfigured:"未配置表情",fontLoading:"字体加载中...",configureEmojiFirst:"请先在主题设计中配置表情包",customFont:"自定义字体 {size}px",customEmoji:"自定义表情 {count}张",notConfigured:"未配置",skinLight:"浅色{type}",skinDark:"深色{type}",hideSubtitle:"隐藏字幕:",image:"图片",color:"颜色"},Wh={title:"聊天背景配置",description:"配置浅色模式和深色模式的聊天背景,支持纯色或自定义图片。",lightMode:"浅色模式背景",darkMode:"深色模式背景",solidBackground:"纯色背景",imageBackground:"图片背景",backgroundColor:"背景颜色:",textColor:"文字颜色:",backgroundI
新版本使用檔案去重技術,可以節省儲存空間。
請重新上傳自訂表情圖片。`,incompatibleEmojiData:"檢測到不相容的表情資料,請重新配置"},sf={authTokenMissing:"未找到認證令牌",checkingDeviceStatus:"檢查設備狀態...",deviceOfflineOrUnresponsive:"設備離線或無響應: {error}",unableToGetDeviceStatus:"無法獲取設備狀態",initializingTransferService:"初始化傳輸服務...",initializeTransferFailed:"初始化傳輸服務失敗: {error}",settingDeviceDownloadUrl:"設置設備下載URL...",setDownloadUrlFailed:"設置下載URL失敗: {error}",rebootingDevice:"重啟設備...",waitingForDeviceReboot:"等待設備重啟...",deviceRebootTimeout:"等待設備重啟超時(60秒)",startingFileTransfer:"開始檔案傳輸...",flashCompleted:"燒錄完成!",onlineFlashFailed:"線上燒錄失敗: {error}"},af={online:"線上",offline:"離線",checking:"檢查中...",flashing:"燒錄中...",ready:"就緒",chip:"晶片",board:"開發板",flash:"Flash",screen:"螢幕",signal:{unknown:"未知",strong:"強",medium:"中等",weak:"弱",none:"無訊號"}},If={title:"步驟 1: 晶片型號和螢幕配置",loadingFromDevice:"正在從設備讀取硬體配置...",loadedFromDevice:"已從設備自動讀取硬體配置",manualConfig:"請手動配置硬體參數",loadingTitle:"正在載入設備配置...",loadingDesc:"從設備讀取晶片型號和螢幕解析度",autoLoadedTitle:"設備配置已自動載入",chipModel:"晶片型號",screenWidth:"螢幕寬度",screenHeight:"螢幕高度",colorFormat:"顏色格式:",manualEdit:"手動修改配置",collapseManual:"收起手動配置",manualConfigTitle:"手動配置硬體參數",next:"下一步",selectChip:"請選擇晶片",chipRequired:"晶片型號",widthRequired:"螢幕寬度",heightRequired:"螢幕高度",loadingError:"載入配置時發生錯誤",deviceOffline:"設備未連接或離線",chipModelError:"無法獲取晶片型號,請手動輸入",resolutionError:"無法獲取螢幕解析度,請手動輸入",timeoutError:"載入設備配置超時,請手動輸入",manualConfigDesc:"無法自動讀取設備配置",manualConfigHint:"設備未連接或離線,請手動輸入硬體配置",manualConfigRequired:"請手動輸入硬體配置",resolutionFormatError:"螢幕解析度格式錯誤"},Cf={title:"步驟 2: 主題設計",description:"配置喚醒詞、字體、表情和背景來自訂您的小智AI主題。",previous:"上一步",next:"下一步",tabs:{wakeword:"喚醒詞配置",font:"字體配置",emoji:"表情集合",background:"聊天背景"}},lf={title:"步驟 3: 效果預覽",description:"預覽您的自訂配置在實際設備上的效果。",devicePreview:"設備預覽 (1:1 像素比例)",previewSettings:"預覽設定",previewText:"預覽文字",defaultPreviewText:"你好,我是你的朋友小智!",currentEmotion:"當前表情",themeMode:"主題模式",lightMode:"淺色",darkMode:"深色",configSummary:"配置摘要",wakeword:"喚醒詞:",font:"字體:",loading:"載入中...",emotion:"表情:",skin:"皮膚:",previous:"上一步",generate:"生成 assets.bin",emotions:{neutral:"預設",happy:"開心",laughing:"大笑",funny:"搞笑",sad:"傷心",angry:"生氣",crying:"哭泣",loving:"喜愛",embarrassed:"尷尬",surprised:"驚訝",shocked:"震驚",thinking:"思考",winking:"眨眼",cool:"酷炫",relaxed:"放鬆",delicious:"美味",kissy:"飛吻",confident:"自信",sleepy:"睏倦",silly:"調皮",confused:"困惑"},noEmotionConfigured:"未配置表情",fontLoading:"字體載入中...",configureEmojiFirst:"請先在主題設計中配置表情包",customFont:"自訂字體 {size}px",customEmoji:"自訂表情 {count}張",notConfigured:"未配置",skinLight:"淺色{type}",skinDark:"深色{type}",hideSubtitle:"隱藏字幕:",image:"圖片",color:"顏色"},Bf={title:"聊天背景配置",description:"配置淺色模式和深色模式的聊天背景,支援純色或自訂圖片。",lightMode:"淺色模式背景",darkMode:"深色模式背景",solidBackground:"純色背景",imageBackground:"圖片背景",backgroundColor:"背景顏色:",textColor:"文字顏色:",backgroundImage:"背景圖片
新しいバージョンはファイル重複除去技術を使用してストレージスペースを節約します。
カスタム絵文字画像を再アップロードしてください。`,incompatibleEmojiData:"互換性のない絵文字データを検出しました再設定してください"},kf={authTokenMissing:"認証トークンが見つかりません",checkingDeviceStatus:"デバイスの状態を確認中...",deviceOfflineOrUnresponsive:"デバイスがオフラインまたは応答なし: {error}",unableToGetDeviceStatus:"デバイスの状態を取得できません",initializingTransferService:"転送サービスを初期化中...",initializeTransferFailed:"転送サービスの初期化に失敗しました: {error}",settingDeviceDownloadUrl:"デバイスダウンロードURLを設定中...",setDownloadUrlFailed:"ダウンロードURLの設定に失敗しました: {error}",rebootingDevice:"デバイスを再起動中...",waitingForDeviceReboot:"デバイスの再起動を待機中...",deviceRebootTimeout:"デバイスの再起動タイムアウト60",startingFileTransfer:"ファイル転送を開始中...",flashCompleted:"書き込み完了!",onlineFlashFailed:"オンライン書き込みに失敗しました: {error}"},vf={online:"オンライン",offline:"オフライン",checking:"確認中...",flashing:"書き込み中...",ready:"準備完了",chip:"チップ",board:"ボード",flash:"Flash",screen:"画面",signal:{unknown:"不明",strong:"",medium:"",weak:"",none:"信号なし"}},Ff={title:"ステップ1: チップモデルと画面設定",loadingFromDevice:"デバイスからハードウェア設定を読み込み中...",loadedFromDevice:"デバイスからハードウェア設定が自動読み込みされました",manualConfig:"ハードウェアパラメータを手動で設定してください",loadingTitle:"デバイス設定を読み込み中...",loadingDesc:"デバイスからチップモデルと画面解像度を読み取り中",autoLoadedTitle:"デバイス設定が自動読み込みされました",chipModel:"チップモデル",screenWidth:"画面幅",screenHeight:"画面高",colorFormat:"色形式:",manualEdit:"手動設定",collapseManual:"手動設定を折りたたむ",manualConfigTitle:"手動ハードウェア設定",next:"次へ",selectChip:"チップを選択",chipRequired:"チップモデル",widthRequired:"画面幅",heightRequired:"画面高",loadingError:"設定読み込みエラー",deviceOffline:"デバイスが接続されていないかオフラインです",chipModelError:"チップモデルを取得できません手動で入力してください",resolutionError:"画面解像度を取得できません手動で入力してください",timeoutError:"設定読み込みタイムアウト手動で入力してください",manualConfigDesc:"デバイスの設定を自動読み取りできません",manualConfigHint:"デバイスが接続されていないかオフラインですハードウェア設定を手動で入力してください",manualConfigRequired:"ハードウェア設定を手動で入力してください",resolutionFormatError:"画面解像度形式エラー"},Sf={title:"ステップ2: テーマデザイン",description:"ウェイクワードフォント絵文字背景を設定して小智AIテーマをカスタマイズします",previous:"前へ",next:"次へ",tabs:{wakeword:"ウェイクワード設定",font:"フォント設定",emoji:"絵文字コレクション",background:"チャット背景"}},bf={title:"ステップ3: プレビュー",description:"実際のデバイスでのカスタム設定の効果をプレビューします",devicePreview:"デバイスプレビュー1:1ピクセル比",previewSettings:"プレビュー設定",previewText:"プレビューテキスト",defaultPreviewText:"こんにちは私はあなたの友人シャオズーです",currentEmotion:"現在の感情",themeMode:"テーマモード",lightMode:"ライト",darkMode:"ダーク",configSummary:"設定概要",wakeword:"ウェイクワード:",font:"フォント:",loading:"読み込み中...",emotion:"感情:",skin:"
Phiên bản mới sử dụng công nghệ loại bỏ trùng lặp tệp để tiết kiệm không gian lưu trữ.
Vui lòng tải lại hình ảnh biểu tượng cảm xúc tùy chỉnh.`,incompatibleEmojiData:"Phát hiện dữ liệu biểu tượng cảm xúc không tương thích, vui lòng cấu hình lại"},Pf={authTokenMissing:"Không tìm thấy mã thông báo xác thực",checkingDeviceStatus:"Đang kiểm tra trạng thái thiết bị...",deviceOfflineOrUnresponsive:"Thiết bị ngoại tuyến hoặc không phản hồi: {error}",unableToGetDeviceStatus:"Không thể lấy trạng thái thiết bị",initializingTransferService:"Đang khởi tạo dịch vụ truyền tải...",initializeTransferFailed:"Khởi tạo dịch vụ truyền tải thất bại: {error}",settingDeviceDownloadUrl:"Đang thiết lập URL tải xuống thiết bị...",setDownloadUrlFailed:"Thiết lập URL tải xuống thất bại: {error}",rebootingDevice:"Đang khởi động lại thiết bị...",waitingForDeviceReboot:"Đang chờ thiết bị khởi động lại...",deviceRebootTimeout:"Hết thời gian chờ thiết bị khởi động lại (60 giây)",startingFileTransfer:"Đang bắt đầu truyền tải tệp...",flashCompleted:"Flash hoàn thành!",onlineFlashFailed:"Flash trực tuyến thất bại: {error}"},Of={online:"Trực tuyến",offline:"Ngoại tuyến",checking:"Đang kiểm tra...",flashing:"Đang flash...",ready:"Sẵn sàng",chip:"Chip",board:"Bo mạch",flash:"Flash",screen:"Màn hình",signal:{unknown:"Không xác định",strong:"Mạnh",medium:"Trung bình",weak:"Yếu",none:"Không có tín hiệu"}},Vf={title:"Bước 1: Cấu hình mô hình chip và màn hình",loadingFromDevice:"Đang tải cấu hình phần cứng từ thiết bị...",loadedFromDevice:"Cấu hình phần cứng được tải tự động từ thiết bị",manualConfig:"Vui lòng cấu hình các thông số phần cứng theo cách thủ công",loadingTitle:"Đang tải cấu hình thiết bị...",loadingDesc:"Đang đọc mô hình chip và độ phân giải màn hình từ thiết bị",autoLoadedTitle:"Cấu hình thiết bị được tải tự động",chipModel:"Mô hình chip",screenWidth:"Chiều rộng màn hình",screenHeight:"Chiều cao màn hình",colorFormat:"Định dạng màu:",manualEdit:"Cấu hình thủ công",collapseManual:"Thu gọn cấu hình thủ công",manualConfigTitle:"Cấu hình phần cứng thủ công",next:"Tiếp theo",selectChip:"Chọn chip",chipRequired:"Mô hình chip",widthRequired:"Chiều rộng màn hình",heightRequired:"Chiều cao màn hình",loadingError:"Lỗi tải cấu hình",deviceOffline:"Thiết bị chưa kết nối hoặc ngoại tuyến",chipModelError:"Không thể lấy mô hình chip, vui lòng nhập thủ công",resolutionError:"Không thể lấy độ phân giải màn hình, vui lòng nhập thủ công",timeoutError:"Hết thời gian tải cấu hình, vui lòng nhập thủ công",manualConfigDesc:"Không thể tự động đọc cấu hình thiết bị",manualConfigHint:"Thiết bị chưa kết nối hoặc ngoại tuyến, vui lòng nhập cấu hình phần cứng thủ công",manualConfigRequired:"Vui lòng nhập cấu hình phần cứng thủ công",resolutionFormatError:"Lỗi định dạng độ phân giải màn hình"},Wf={title:"Bước 2: Thiết kế chủ đề",description:"Cấu hình từ đánh thức, phông chữ, biểu tượng cảm xúc và nền để tùy chỉnh chủ đề Xiaozhi AI của bạn.",previous:"Trước đó",next:"Tiếp theo",tabs:{wakeword:"Cấu hình từ đánh thức",font:"Cấu hình phông chữ",emoji:"Bộ sưu tập biểu tượng cảm xúc",background:"Nền trò chuyện"}},qf={title:"Bước 3: Xem trước",description:"Xem trước hiệu ứng của cấu hình tùy chỉnh trên thiết bị thực tế.",devicePreview:"Xem trước thiết bị (tỷ lệ pixel 1:1)",previewSettings:"Cài đặt xem trước",previewText:"Văn bản xem trước",defaultPreviewText:"Xin chào, tôi là bạn của bạn Xiaozhi!",currentEmotion:"Cảm xúc hiện tại",themeMode:"Chế độ chủ đ
@font-face {
font-family: '${L}';
src: url('${cA}') format('truetype');
font-display: swap;
}
`,document.head.appendChild(dA),await document.fonts.load(`16px "${L}"`),g.value=L,r.value=!0}else if(t.config.theme.font.custom.file)try{const R=t.config.theme.font.custom.file;if(!R||typeof R!="object"||!R.size)throw new Error("字体文件对象无效");const L="CustomFontPreview",cA=URL.createObjectURL(R),dA=document.createElement("style");dA.setAttribute("data-font-preview","true"),dA.textContent=`
@font-face {
font-family: '${L}';
src: url('${cA}');
font-display: swap;
}
`,document.head.appendChild(dA),await document.fonts.load(`16px "${L}"`),g.value=L,r.value=!0}catch(R){console.warn("自定义字体预览加载失败:",R),g.value="Arial, sans-serif",r.value=!0}else g.value="system-ui",r.value=!0}catch(R){console.warn("Font loading failed:",R),g.value="system-ui",r.value=!0}},h=()=>r.value&&g.value?`"${g.value}", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif`:'"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif',u=b=>{if(t.config.theme.emoji.type==="preset")return`./static/twemoji${t.config.theme.emoji.preset==="twemoji64"?"64":"32"}/${b}.png`;if(t.config.theme.emoji.type==="custom"&&t.config.theme.emoji.custom.images[b])try{const R=t.config.theme.emoji.custom.images[b];if(R&&typeof R=="object"&&R.size)return URL.createObjectURL(R)}catch(R){console.warn(`表情图片预览加载失败 (${b}):`,R)}return null},p=b=>{const R=s.value.find(L=>L.key===b);return R?R.emoji:"😶"},c=()=>{if(t.config.theme.emoji.type==="preset")return(t.config.theme.emoji.preset==="twemoji64"?64:32)+16;if(t.config.theme.emoji.custom.size){const b=Math.min(t.config.theme.emoji.custom.size.width,t.config.theme.emoji.custom.size.height);return Math.min(b+16,64)}return 48},d=()=>t.config.theme.emoji.type==="preset"?t.config.theme.emoji.preset==="twemoji64"?64:32:t.config.theme.emoji.custom.size?Math.min(t.config.theme.emoji.custom.size.width,t.config.theme.emoji.custom.size.height,48):32,w=b=>{n.value=b},F=()=>{const b=t.config.theme.wakeword;return!b||b.type==="none"?e("wakewordConfig.noWakeword"):b.type==="preset"?{wn9s_hilexin:"Hi,乐鑫",wn9s_hiesp:"Hi,ESP",wn9s_nihaoxiaozhi:"你好小智",wn9_nihaoxiaozhi_tts:"你好小智",wn9_alexa:"Alexa",wn9_jarvis_tts:"Jarvis"}[b.preset]||b.preset:b.type==="custom"?b.custom.name||e("wakewordConfig.customWakeword"):e("wakewordConfig.noWakeword")},N=()=>{if(t.config.theme.font.type==="preset")return e("fontConfig.presetFontNames."+t.config.theme.font.preset)||t.config.theme.font.preset;{const b=t.config.theme.font.custom;return e("generateSummary.customFont",{size:b.size})}},G=()=>{if(t.config.theme.emoji.type==="preset"&&t.config.theme.emoji.preset)return t.config.theme.emoji.preset==="twemoji64"?"Twemoji 64×64":"Twemoji 32×32";if(t.config.theme.emoji.type==="custom"){const b=Object.keys(t.config.theme.emoji.custom.images).length;return e("generateSummary.customEmoji",{count:b})}else return t.config.theme.emoji.type==="none"?e("emojiConfig.noEmojiPack"):e("generateSummary.notConfigured")},P=()=>{const b=t.config.theme.skin.light.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color"),R=t.config.theme.skin.dark.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color");return e("generateSummary.skinLight",{type:b})+"/"+e("generateSummary.skinDark",{type:R})};return ae(()=>t.config.theme.font,()=>{f()},{deep:!0}),Ft(async()=>{a.value.length>0?n.value=a.value[0].key:n.value="",await f()}),Ci(()=>{document.querySelectorAll("style[data-font-preview]").forEach(R=>R.remove())}),(b,R)=>(H(),_("div",wy,[B("div",null,[B("h2",Dy,v(b.$t("generateSummary.title")),1),B("p",ky,v(b.$t("generateSummary.description")),1)]),B("div",vy,[B("div",Fy,[B("h3",Sy,v(b.$t("generateSummary.devicePreview")),1),B("div",by,[B("div",Ry,[B("div",Ny,[B("div",Gy,[B("div",{style:WA(l()),class:"relative rounded-lg overflow-hidden border-2 border-gray-700 flex flex-col items-center justify-center"},[B("div",{style:WA(C()),class:"absolute inset-0"},null,4),B("div",Ly,[B("div",Uy,[n.value&&a.value.length>0?(H(),_("div",My,[I.value?(H(),_("img",{key:0,src:I.value,alt:n.value,style:WA(Q()),class:"emoji-image"},null,12,xy)):(H(),_("div",{key:1,style:WA(Q()),class:"emoji-fallback bg-gray-200 rounded-full flex items-center justify-center text-2xl"},v(p(n.value)),5))])):(H(),_("div",Jy,[B("div",{style:WA(Q()),class:"emoji-placeholder flex items-center justify-center text-gray-400 border-2 border-dashed border-gray-300 rounded bg-gray-50"},[B("div",Ty,[B("div",Hy,v(A.config.theme.emoji.type==="none"?"📦":"😕"),1),B("div",Yy,v(A.co
`).join("");return this.charsetCache.set(e,r),r}catch(n){return console.error(`Failed to load charset ${e}:`,n),null}}getCharsetContent(e){const t={};return(e==="latin"||e==="deepseek"||e==="gb2312")&&this.charsetCache.has(e)?this.charsetCache.get(e):e==="basic"?this.getCharsetContent("latin"):t[e]||""}async getCharsetContentAsync(e){if(e==="basic"&&(e="latin"),this.charsetCache.has(e))return this.charsetCache.get(e);if(e==="latin"||e==="deepseek"||e==="gb2312"||e==="qwen"){const t=await this.loadCharsetFromFile(e);if(t)return t}return this.getCharsetContent(e)}parseUnicodeRange(e){const t=[],i=e.split(",");for(const n of i){const o=n.trim();if(o)if(o.includes("-")){const[r,g]=o.split("-"),s=this.parseHexOrDec(r),a=this.parseHexOrDec(g);s!==null&&a!==null&&t.push(s,a,s)}else{const r=this.parseHexOrDec(o);r!==null&&t.push(r,r,r)}}return t}parseHexOrDec(e){const t=e.trim();if(t.startsWith("0x")||t.startsWith("0X")){const n=parseInt(t,16);return isNaN(n)?null:n}const i=parseInt(t,10);return isNaN(i)?null:i}async estimateSizeAsync(e){const{fontSize:t=20,bpp:i=4,charset:n="latin",symbols:o="",range:r=""}=e;let g=o.length;if(n==="full")g=65536;else if(n&&n!=="custom"){const I=await this.getCharsetContentAsync(n);g+=I.length}if(r){const I=this.parseUnicodeRange(r);for(let l=0;l<I.length;l+=3)g+=I[l+1]-I[l]+1}n!=="full"&&(g=Math.min(g,g*.8));const s=Math.ceil(t*t*i/8)+40,a=g*s+2048;return{characterCount:Math.floor(g),avgBytesPerChar:s,estimatedSize:a,formattedSize:this.formatBytes(a)}}estimateSize(e){const{fontSize:t=20,bpp:i=4,charset:n="latin",symbols:o="",range:r=""}=e;let g=o.length;if(n==="full")g=65536;else if(n&&n!=="custom"){const I=this.getCharsetContent(n);g+=I.length}if(r){const I=this.parseUnicodeRange(r);for(let l=0;l<I.length;l+=3)g+=I[l+1]-I[l]+1}n!=="full"&&(g=Math.min(g,g*.8));const s=Math.ceil(t*t*i/8)+40,a=g*s+2048;return{characterCount:Math.floor(g),avgBytesPerChar:s,estimatedSize:a,formattedSize:this.formatBytes(a)}}formatBytes(e){if(e===0)return"0 Bytes";const t=1024,i=["Bytes","KB","MB","GB"],n=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,n)).toFixed(2))+" "+i[n]}cleanup(){this.initialized=!1}}const oS=new nS;class rS{constructor(){this.models=new Map}addModelFile(e,t,i){this.models.has(e)||this.models.set(e,new Map),this.models.get(e).set(t,i)}async loadModelFromShare(e){try{let t=[],i="";if(e.startsWith("wn9"))t=["_MODEL_INFO_","wn9_data","wn9_index"],i=`./static/wakenet_model/${e}/`;else if(e.startsWith("mn6")||e.startsWith("mn7"))t=["_MODEL_INFO_",`${e.substring(0,3)}_data`,`${e.substring(0,3)}_index`,"vocab"],i=`./static/multinet_model/${e}/`,await this.loadFSTModel();else throw new Error(`Unknown model type: ${e}`);let n=0;for(const o of t)try{const r=await fetch(`${i}${o}`);if(r.ok){const g=await r.arrayBuffer();this.addModelFile(e,o,g),n++}else console.warn(`无法加载文件: ${o}, status: ${r.status}`)}catch(r){console.warn(`加载文件失败: ${o}`,r)}return n===t.length}catch(t){return console.error(`加载模型失败: ${e}`,t),!1}}async loadFSTModel(){try{const e="fst";if(this.models.has(e))return!0;const t=["commands_cn.txt","commands_en.txt"],i="./static/multinet_model/fst/";let n=0;for(const o of t)try{const r=await fetch(`${i}${o}`);if(r.ok){const g=await r.arrayBuffer();this.addModelFile(e,o,g),n++}else console.warn(`无法加载 FST 文件: ${o}, status: ${r.status}`)}catch(r){console.warn(`加载 FST 文件失败: ${o}`,r)}return n>0}catch(e){return console.error("加载 FST 模型失败",e),!1}}packString(e,t){const i=new Uint8Array(t),n=Math.min(e.length,t);for(let o=0;o<n;o++)i[o]=e.charCodeAt(o)&255;return i}packUint32(e){const t=new Uint8Array(4);return t[0]=e&255,t[1]=e>>8&255,t[2]=e>>16&255,t[3]=e>>24&255,t}packModels(){if(this.models.size===0)throw new Error("没有模型数据可打包");let e=0;const t=[];for(const[a,I]of Array.from(this.models.entries()).sort((l,C)=>l[0].localeCompare(C[0]))){e+=I.size;const l=Array.from(I.entries()).sort((C,Q)=>C[0].localeCompare(Q[0]));t.push({name:a,files:l})}const i=this.models.size;let n=4;for(const a of t)n+=3
Check: https://github.com/renzhezhilu/gifsicle-wasm-browser`},testType(A){return A instanceof Element?"element":Object.prototype.toString.call(A).replace(/\[object\s(.+)\]/,"$1").toLowerCase()},async textToUrl(A){return this.worker()},loadCommand(A){var e=this.testType(A);if(A.length===0)throw"<command> the content can not be blank"+this.errorLink();if(e==="array")return A.map(t=>t.replace(/\n/gi," "));throw"<command> types:"+e+", must be an array"+this.errorLink()},loadOne(A){return new Promise(async(e,t)=>{var i=this.testType(A);if(["string"].includes(i))fetch(A).then(n=>{if(n.status!==200)throw"<"+A+"> Url error!!!"+this.errorLink();return n.arrayBuffer()}).then(n=>e(n));else if(["blob","file"].includes(i))new Response(A).arrayBuffer().then(n=>e(n));else{if(!["arraybuffer"].includes(i))throw"<input.file> types:"+i+", only supports Url, blob, file, arraybuffer"+this.errorLink();e(A)}})},loadFile(A){return new Promise(async(e,t)=>{var i=this.testType(A);if(i!=="array")throw"<input> types:"+i+", only supports Array"+this.errorLink();if(A.length===0)throw"<input> the content can not be blank"+this.errorLink();i=A.map(n=>this.loadOne(n.file)),Promise.all(i).then(function(n){var o=A.map((r,g)=>(r.file=n[g],r));e(o)}).catch(function(n){})})},loadFolder(A){return new Promise(async(e,t)=>{var i=this.testType(A);if(!["array"].includes(i))throw"<folder> types:"+i+", only supports Array"+this.errorLink();e(A)})}},run(A={}){return new Promise(async(e,t)=>{let{input:i=[],command:n="",folder:o=[],isStrict:r=!1,start:g=Q=>{}}=A;var s=await this.tool.textToUrl();let a=new Worker(s);var I=this.tool.loadCommand(n),l=await this.tool.loadFile(i),C=(g(l),await this.tool.loadFolder(o));a.postMessage({data:l,command:I,folder:C,isStrict:r}),a.onmessage=async function(Q){if(!Q.data||typeof Q.data=="string")return a.terminate(),void t(Q.data);let E=[];for(let h=0;h<Q.data.length;h++){const u=Q.data[h];var f;u.name.includes(".txt")?(f=new File([u.file],u.name,{type:"text/plain"}),E.push(f)):(f=new File([u.file],u.name,{type:"image/gif"}),E.push(f))}a.terminate(),e(E)},a.onerror=function(Q){console.error(Q),a.terminate(),e(null)}})}};class sS{constructor(e={}){this.quality=e.quality||10,this.debug=e.debug||!1,this.scalingMode=e.scalingMode||"auto",this.optimize=e.optimize!==!1,this.optimizationLevel=e.optimizationLevel||2}async scaleGif(e,t={}){const{maxWidth:i,maxHeight:n,keepAspectRatio:o=!0,optimize:r=this.optimize,lossy:g=this.quality,loopCount:s=0}=t;if(!i&&!n)throw new Error("必须指定 maxWidth 或 maxHeight");try{let a;o?a=`--resize-fit ${i||"_"}x${n||"_"}`:a=`--resize ${i||"_"}x${n||"_"}!`;const I=[];I.push("-U"),I.push(a),s>=0&&I.push(`--loopcount=${s}`),g&&g>0&&I.push(`--lossy=${g}`),r&&I.push(`-O${this.optimizationLevel}`),I.push("1.gif"),I.push("-o /out/output.gif");const l=I.join(" ");this.debug&&(console.log("GIF 缩放命令:",l),console.log("输入文件大小:",e.size||"未知"));const C=await xn.run({input:[{file:e,name:"1.gif"}],command:[l]});if(!C||C.length===0)throw new Error("gifsicle 处理失败,未返回结果");const Q=C[0];if(this.debug&&(console.log("GIF 缩放完成"),console.log("输出文件大小:",Q.size),e.size)){const E=((1-Q.size/e.size)*100).toFixed(2);console.log(`压缩率: ${E}%`)}return new Blob([Q],{type:"image/gif"})}catch(a){throw console.error("GIF 缩放失败:",a),new Error(`GIF 缩放失败: ${a.message}`)}}async scaleGifBatch(e){const t=[];for(let i=0;i<e.length;i++){const{file:n,options:o}=e[i];try{const r=await this.scaleGif(n,o);t.push(r)}catch(r){console.error(`批量缩放第 ${i+1} 个文件失败:`,r),t.push(null)}}return t}async optimizeGif(e,t={}){const{lossy:i=this.quality,level:n=this.optimizationLevel,loopCount:o=0}=t;try{const r=["-U"];o>=0&&r.push(`--loopcount=${o}`),i&&i>0&&r.push(`--lossy=${i}`),r.push(`-O${n}`),r.push("1.gif"),r.push("-o /out/output.gif");const g=r.join(" ");this.debug&&console.log("GIF 优化命令:",g);const s=await xn.run({input:[{file:e,name:"1.gif"}],command:[g]});if(!s||s.length===0)throw new Error("gifsicle 优化失败");return new Blob([s[0]],{type:
新版本使用文件去重技术可以节省存储空间
请重新上传自定义表情图片`)},500)}}catch(eA){console.error("清理旧表情数据时出错:",eA)}},R=async()=>{try{await Qe.saveConfig(E.value)}catch(CA){console.error("保存配置失败:",CA)}},L=async()=>{try{s.value=!0,await I.clearAllStoredData();const CA={model:E.value.chip.model,display:{...E.value.chip.display}};E.value={chip:CA,theme:{wakeword:{type:"none",preset:"",custom:{name:"",command:"",threshold:20,model:"mn6_cn"}},font:{type:"none",preset:"",hide_subtitle:!1,custom:{file:null,size:20,bpp:4,charset:"deepseek"}},emoji:{type:"none",preset:"",custom:{size:{width:64,height:64},images:{}}},skin:{light:{backgroundType:"color",backgroundColor:"#ffffff",textColor:"#000000",backgroundImage:null},dark:{backgroundType:"color",backgroundColor:"#121212",textColor:"#ffffff",backgroundImage:null}}}},i.value=0,o.value="wakeword",r.value=!1,g.value=!1}catch(CA){console.error("重置配置失败:",CA),alert(t("errors.resetFailed"))}finally{s.value=!1}};ae(E,async CA=>{!a.value&&g.value&&await R()},{deep:!0}),Ft(async()=>{await Qe.initialize(),await P()}),Ci(()=>{l.value&&clearTimeout(l.value)});const cA=()=>{r.value=!1,l.value&&clearTimeout(l.value)},dA=()=>{l.value&&clearTimeout(l.value),l.value=setTimeout(()=>{r.value=!1},5e3)};return(CA,iA)=>(H(),_("div",null,[r.value?(H(),_("div",{key:0,class:"fixed bottom-4 right-4 z-50 bg-blue-50 border border-blue-200 rounded-lg p-4 shadow-lg transition-opacity duration-300 min-w-[300px]",onMouseenter:dA},[B("div",cb,[B("div",Eb,[iA[3]||(iA[3]=B("svg",{class:"w-5 h-5 text-blue-500 mr-2",fill:"currentColor",viewBox:"0 0 20 20"},[B("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"})],-1)),B("span",ub,v(CA.$t("configNotice.title")),1)]),B("button",{onClick:cA,class:"text-gray-500 hover:text-gray-700"},[...iA[4]||(iA[4]=[B("svg",{class:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},[B("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M6 18L18 6M6 6l12 12"})],-1)])])]),B("p",hb,v(CA.$t("configNotice.message")),1),B("div",fb,[B("button",{onClick:L,class:"px-3 py-1 text-sm text-red-600 hover:text-red-800 font-medium"},v(CA.$t("configNotice.restart")),1)])],32)):sA("",!0),B("div",db,[(H(),_(jA,null,Ke(Q,(X,eA)=>B("div",{key:eA,class:"flex items-center"},[B("div",pb,[B("div",{class:kA(f(eA))},v(eA+1),3),B("span",mb,v(CA.$t(X.titleKey)),1)]),eA<Q.length-1?(H(),_("div",yb)):sA("",!0)])),64))]),B("div",wb,[i.value===0?(H(),ye(Od,{key:0,modelValue:E.value.chip,"onUpdate:modelValue":iA[0]||(iA[0]=X=>E.value.chip=X),onNext:h},null,8,["modelValue"])):sA("",!0),i.value===1?(H(),ye(my,{key:1,modelValue:E.value.theme,"onUpdate:modelValue":iA[1]||(iA[1]=X=>E.value.theme=X),chipModel:E.value.chip.model,activeTab:o.value,onNext:h,onPrev:u,onTabChange:G},null,8,["modelValue","chipModel","activeTab"])):sA("",!0),i.value===2?(H(),ye(cw,{key:2,config:E.value,onGenerate:p,onPrev:u},null,8,["config"])):sA("",!0)]),n.value?(H(),ye(Bb,{key:1,config:E.value,onClose:iA[2]||(iA[2]=X=>n.value=!1),onGenerate:c,onStartFlash:F,onCancelFlash:N},null,8,["config"])):sA("",!0)]))}},Db=Object.freeze(Object.defineProperty({__proto__:null,default:_l},Symbol.toStringTag,{value:"Module"})),kb={class:"min-h-screen bg-gray-50"},vb={class:"bg-white shadow-sm border-b"},Fb={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},Sb={class:"flex flex-col relative sm:flex-row items-start sm:items-center justify-between gap-3 sm:gap-0"},bb={class:"text-2xl font-bold text-gray-900"},Rb={class:"flex items-center space-x-4"},Nb={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},Gb={__name:"App",setup(A){const e=EA(""),t=()=>{e.value&&(window.location.href=e.value)};return Ft(()=>{e.value=sessionStorage.getItem("devicePath")}),(i,n)=>(H(),_("div",kb,[B("header",vb,[B("div",Fb,[B("div",Sb,[e.value?(H(),_("div",{key:0,class:"bg-primary-500 hover:bg-primary-600 text-white px-6 py-1 rounded-md cursor-pointer",onClick:t},"返回")):sA("",!0),B("h1"
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const Ei=typeof document<"u";function Kl(A){return typeof A=="object"||"displayName"in A||"props"in A||"__vccOpts"in A}function Lb(A){return A.__esModule||A[Symbol.toStringTag]==="Module"||A.default&&Kl(A.default)}const MA=Object.assign;function or(A,e){const t={};for(const i in e){const n=e[i];t[i]=qe(n)?n.map(A):A(n)}return t}const $i=()=>{},qe=Array.isArray;function Ta(A,e){const t={};for(const i in A)t[i]=i in e?e[i]:A[i];return t}const Pl=/#/g,Ub=/&/g,Mb=/\//g,xb=/=/g,Jb=/\?/g,Ol=/\+/g,Tb=/%5B/g,Hb=/%5D/g,Vl=/%5E/g,Yb=/%60/g,Wl=/%7B/g,_b=/%7C/g,ql=/%7D/g,Kb=/%20/g;function vg(A){return A==null?"":encodeURI(""+A).replace(_b,"|").replace(Tb,"[").replace(Hb,"]")}function Pb(A){return vg(A).replace(Wl,"{").replace(ql,"}").replace(Vl,"^")}function Hr(A){return vg(A).replace(Ol,"%2B").replace(Kb,"+").replace(Pl,"%23").replace(Ub,"%26").replace(Yb,"`").replace(Wl,"{").replace(ql,"}").replace(Vl,"^")}function Ob(A){return Hr(A).replace(xb,"%3D")}function Vb(A){return vg(A).replace(Pl,"%23").replace(Jb,"%3F")}function Wb(A){return Vb(A).replace(Mb,"%2F")}function Qn(A){if(A==null)return null;try{return decodeURIComponent(""+A)}catch{}return""+A}const qb=/\/$/,jb=A=>A.replace(qb,"");function rr(A,e,t="/"){let i,n={},o="",r="";const g=e.indexOf("#");let s=e.indexOf("?");return s=g>=0&&s>g?-1:s,s>=0&&(i=e.slice(0,s),o=e.slice(s,g>0?g:e.length),n=A(o.slice(1))),g>=0&&(i=i||e.slice(0,g),r=e.slice(g,e.length)),i=$b(i??e,t),{fullPath:i+o+r,path:i,query:n,hash:Qn(r)}}function Zb(A,e){const t=e.query?A(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function Ha(A,e){return!e||!A.toLowerCase().startsWith(e.toLowerCase())?A:A.slice(e.length)||"/"}function Xb(A,e,t){const i=e.matched.length-1,n=t.matched.length-1;return i>-1&&i===n&&Ni(e.matched[i],t.matched[n])&&jl(e.params,t.params)&&A(e.query)===A(t.query)&&e.hash===t.hash}function Ni(A,e){return(A.aliasOf||A)===(e.aliasOf||e)}function jl(A,e){if(Object.keys(A).length!==Object.keys(e).length)return!1;for(var t in A)if(!zb(A[t],e[t]))return!1;return!0}function zb(A,e){return qe(A)?Ya(A,e):qe(e)?Ya(e,A):(A==null?void 0:A.valueOf())===(e==null?void 0:e.valueOf())}function Ya(A,e){return qe(e)?A.length===e.length&&A.every((t,i)=>t===e[i]):A.length===1&&A[0]===e}function $b(A,e){if(A.startsWith("/"))return A;if(!A)return e;const t=e.split("/"),i=A.split("/"),n=i[i.length-1];(n===".."||n===".")&&i.push("");let o=t.length-1,r,g;for(r=0;r<i.length;r++)if(g=i[r],g!==".")if(g==="..")o>1&&o--;else break;return t.slice(0,o).join("/")+"/"+i.slice(r).join("/")}const Gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Yr=function(A){return A.pop="pop",A.push="push",A}({}),gr=function(A){return A.back="back",A.forward="forward",A.unknown="",A}({});function AR(A){if(!A)if(Ei){const e=document.querySelector("base");A=e&&e.getAttribute("href")||"/",A=A.replace(/^\w+:\/\/[^\/]+/,"")}else A="/";return A[0]!=="/"&&A[0]!=="#"&&(A="/"+A),jb(A)}const eR=/^[^#]+#/;function tR(A,e){return A.replace(eR,"#")+e}function iR(A,e){const t=document.documentElement.getBoundingClientRect(),i=A.getBoundingClientRect();return{behavior:e.behavior,left:i.left-t.left-(e.left||0),top:i.top-t.top-(e.top||0)}}const Uo=()=>({left:window.scrollX,top:window.scrollY});function nR(A){let e;if("el"in A){const t=A.el,i=typeof t=="string"&&t.startsWith("#"),n=typeof t=="string"?i?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!n)return;e=iR(n,A)}else e=A;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function _a(A,e){return(history.state?history.state.position-e:-1)+A}const _r=new Map;function oR(A,e){_r.set(A,e)}function rR(A){const e=_r.get(A);return _r.delete(A),e}function gR(A){return typeof A=="string"||A&&typeof A=="object"}function Zl(A){return typeof A=="string"||typeof A=="symbol"}let zA=function(A){return A[A.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",A[A.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",A[A.NAVIGATION_ABORTED=4]="
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/let QR=()=>location.protocol+"//"+location.host;function $l(A,e){const{pathname:t,search:i,hash:n}=e,o=A.indexOf("#");if(o>-1){let r=n.includes(A.slice(o))?A.slice(o).length:1,g=n.slice(r);return g[0]!=="/"&&(g="/"+g),Ha(g,"")}return Ha(t,A)+i+n}function cR(A,e,t,i){let n=[],o=[],r=null;const g=({state:C})=>{const Q=$l(A,location),E=t.value,f=e.value;let h=0;if(C){if(t.value=Q,e.value=C,r&&r===E){r=null;return}h=f?C.position-f.position:0}else i(Q);n.forEach(u=>{u(t.value,E,{delta:h,type:Yr.pop,direction:h?h>0?gr.forward:gr.back:gr.unknown})})};function s(){r=t.value}function a(C){n.push(C);const Q=()=>{const E=n.indexOf(C);E>-1&&n.splice(E,1)};return o.push(Q),Q}function I(){if(document.visibilityState==="hidden"){const{history:C}=window;if(!C.state)return;C.replaceState(MA({},C.state,{scroll:Uo()}),"")}}function l(){for(const C of o)C();o=[],window.removeEventListener("popstate",g),window.removeEventListener("pagehide",I),document.removeEventListener("visibilitychange",I)}return window.addEventListener("popstate",g),window.addEventListener("pagehide",I),document.addEventListener("visibilitychange",I),{pauseListeners:s,listen:a,destroy:l}}function Oa(A,e,t,i=!1,n=!1){return{back:A,current:e,forward:t,replaced:i,position:window.history.length,scroll:n?Uo():null}}function ER(A){const{history:e,location:t}=window,i={value:$l(A,t)},n={value:e.state};n.value||o(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function o(s,a,I){const l=A.indexOf("#"),C=l>-1?(t.host&&document.querySelector("base")?A:A.slice(l))+s:QR()+A+s;try{e[I?"replaceState":"pushState"](a,"",C),n.value=a}catch(Q){console.error(Q),t[I?"replace":"assign"](C)}}function r(s,a){o(s,MA({},e.state,Oa(n.value.back,s,n.value.forward,!0),a,{position:n.value.position}),!0),i.value=s}function g(s,a){const I=MA({},n.value,e.state,{forward:s,scroll:Uo()});o(I.current,I,!0),o(s,MA({},Oa(i.value,s,null),{position:I.position+1},a),!1),i.value=s}return{location:i,state:n,push:g,replace:r}}function uR(A){A=AR(A);const e=ER(A),t=cR(A,e.state,e.location,e.replace);function i(o,r=!0){r||t.pauseListeners(),history.go(o)}const n=MA({location:"",base:A,go:i,createHref:tR.bind(null,A)},e,t);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>e.state.value}),n}let oi=function(A){return A[A.Static=0]="Static",A[A.Param=1]="Param",A[A.Group=2]="Group",A}({});var oe=function(A){return A[A.Static=0]="Static",A[A.Param=1]="Param",A[A.ParamRegExp=2]="ParamRegExp",A[A.ParamRegExpEnd=3]="ParamRegExpEnd",A[A.EscapeNext=4]="EscapeNext",A}(oe||{});const hR={type:oi.Static,value:""},fR=/[a-zA-Z0-9_]/;function dR(A){if(!A)return[[]];if(A==="/")return[[hR]];if(!A.startsWith("/"))throw new Error(`Invalid path "${A}"`);function e(Q){throw new Error(`ERR (${t})/"${a}": ${Q}`)}let t=oe.Static,i=t;const n=[];let o;function r(){o&&n.push(o),o=[]}let g=0,s,a="",I="";function l(){a&&(t===oe.Static?o.push({type:oi.Static,value:a}):t===oe.Param||t===oe.ParamRegExp||t===oe.ParamRegExpEnd?(o.length>1&&(s==="*"||s==="+")&&e(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),o.push({type:oi.Param,value:a,regexp:I,repeatable:s==="*"||s==="+",optional:s==="*"||s==="?"})):e("Invalid state to consume buffer"),a="")}function C(){a+=s}for(;g<A.length;){if(s=A[g++],s==="\\"&&t!==oe.ParamRegExp){i=t,t=oe.EscapeNext;continue}switch(t){case oe.Static:s==="/"?(a&&l(),r()):s===":"?(l(),t=oe.Param):C();break;case oe.EscapeNext:C(),t=i;break;case oe.Param:s==="("?t=oe.ParamRegExp:fR.test(s)?C():(l(),t=oe.Static,s!=="*"&&s!=="?"&&s!=="+"&&g--);break;case oe.ParamRegExp:s===")"?I[I.length-1]=="\\"?I=I.slice(0,-1)+s:t=oe.ParamRegExpEnd:I+=s;break;case oe.ParamRegExpEnd:l(),t=oe.Static,s!=="*"&&s!=="?"&&s!=="+"&&g--,I="";break;default:e("Unknown state");break}}return t===oe.ParamRegExp&&e(`Unfinished custom RegExp for param "${a}"`),l(),r(),n}const Va="[^/]+?",pR={sensitive:!1,strict:!1,start:!0,end:!0};var pe=function(A){return A[A._multiplier=10]="_multiplier",A[A.Root=