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

82 lines
906 KiB
JavaScript
Raw Normal View History

(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))i(o);new MutationObserver(o=>{for(const n of o)if(n.type==="childList")for(const r of n.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const n={};return o.integrity&&(n.integrity=o.integrity),o.referrerPolicy&&(n.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?n.credentials="include":o.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function i(o){if(o.ep)return;o.ep=!0;const n=t(o);fetch(o.href,n)}})();/**
* @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 _A={},hi=[],nt=()=>{},tI=()=>!1,Bn=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&(A.charCodeAt(2)>122||A.charCodeAt(2)<97),Vr=A=>A.startsWith("onUpdate:"),ue=Object.assign,Wr=(A,e)=>{const t=A.indexOf(e);t>-1&&A.splice(t,1)},iB=Object.prototype.hasOwnProperty,JA=(A,e)=>iB.call(A,e),yA=Array.isArray,fi=A=>co(A)==="[object Map]",Qn=A=>co(A)==="[object Set]",Gg=A=>co(A)==="[object Date]",FA=A=>typeof A=="function",ee=A=>typeof A=="string",It=A=>typeof A=="symbol",KA=A=>A!==null&&typeof A=="object",iI=A=>(KA(A)||FA(A))&&FA(A.then)&&FA(A.catch),oI=Object.prototype.toString,co=A=>oI.call(A),oB=A=>co(A).slice(8,-1),nI=A=>co(A)==="[object Object]",qr=A=>ee(A)&&A!=="NaN"&&A[0]!=="-"&&""+parseInt(A,10)===A,Oi=Pr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cn=A=>{const e=Object.create(null);return t=>e[t]||(e[t]=A(t))},nB=/-\w/g,Je=cn(A=>A.replace(nB,e=>e.slice(1).toUpperCase())),rB=/\B([A-Z])/g,Ii=cn(A=>A.replace(rB,"-$1").toLowerCase()),En=cn(A=>A.charAt(0).toUpperCase()+A.slice(1)),xn=cn(A=>A?`on${En(A)}`:""),Yt=(A,e)=>!Object.is(A,e),To=(A,...e)=>{for(let t=0;t<A.length;t++)A[t](...e)},rI=(A,e,t,i=!1)=>{Object.defineProperty(A,e,{configurable:!0,enumerable:!1,writable:i,value:t})},un=A=>{const e=parseFloat(A);return isNaN(e)?A:e};let Lg;const hn=()=>Lg||(Lg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function VA(A){if(yA(A)){const e={};for(let t=0;t<A.length;t++){const i=A[t],o=ee(i)?IB(i):VA(i);if(o)for(const n in o)e[n]=o[n]}return e}else if(ee(A)||KA(A))return A}const gB=/;(?![^(]*\))/g,sB=/:([^]+)/,aB=/\/\*[^]*?\*\//g;function IB(A){const e={};return A.replace(aB,"").split(gB).forEach(t=>{if(t){const i=t.split(sB);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e}function kA(A){let e="";if(ee(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(KA(A))for(const t in A)A[t]&&(e+=t+" ");return e.trim()}const CB="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",lB=Pr(CB);function gI(A){return!!A||A===""}function BB(A,e){if(A.length!==e.length)return!1;let t=!0;for(let i=0;t&&i<A.length;i++)t=fn(A[i],e[i]);return t}function fn(A,e){if(A===e)return!0;let t=Gg(A),i=Gg(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?BB(A,e):!1;if(t=KA(A),i=KA(e),t||i){if(!t||!i)return!1;const o=Object.keys(A).length,n=Object.keys(e).length;if(o!==n)return!1;for(const r in A){const g=A.hasOwnProperty(r),s=e.hasOwnProperty(r);if(g&&!s||!g&&s||!fn(A[r],e[r]))return!1}}return String(A)===String(e)}function QB(A,e){return A.findIndex(t=>fn(t,e))}const sI=A=>!!(A&&A.__v_isRef===!0),F=A=>ee(A)?A:A==null?"":yA(A)||KA(A)&&(A.toString===oI||!FA(A.toString))?sI(A)?F(A.value):JSON.stringify(A,aI,2):String(A),aI=(A,e)=>sI(e)?aI(A,e.value):fi(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((t,[i,o],n)=>(t[Jn(i,n)+" =>"]=o,t),{})}:Qn(e)?{[`Set(${e.size})`]:[...e.values()].map(t=>Jn(t))}:It(e)?Jn(e):KA(e)&&!yA(e)&&!nI(e)?String(e):e,Jn=(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 II{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 o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function cB(A){return new II(A)}function EB(){return ke}let OA;const Tn=new WeakSet;class CI{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,Tn.has(this)&&(Tn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||BI(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ug(this),QI(this);const e=OA,t=_e;OA=this,_e=!0;try{return this.fn()}finally{cI(this),OA=e,_e=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Xr(e);this.deps=this.depsTail=void 0,Ug(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Tn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ar(this)&&this.run()}get dirty(){return ar(this)}}let lI=0,Pi,Vi;function BI(A,e=!1){if(A.flags|=8,e){A.next=Vi,Vi=A;return}A.next=Pi,Pi=A}function jr(){lI++}function Zr(){if(--lI>0)return;if(Vi){let e=Vi;for(Vi=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let A;for(;Pi;){let e=Pi;for(Pi=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 QI(A){for(let e=A.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function cI(A){let e,t=A.depsTail,i=t;for(;i;){const o=i.prevDep;i.version===-1?(i===t&&(t=o),Xr(i),uB(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=o}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&&(EI(e.dep.computed)||e.dep.version!==e.version))return!0;return!!A._dirty}function EI(A){if(A.flags&4&&!(A.flags&16)||(A.flags&=-17,A.globalVersion===$i)||(A.globalVersion=$i,!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{QI(A);const o=A.fn(A._value);(e.version===0||Yt(o,A._value))&&(A.flags|=128,A._value=o,e.version++)}catch(o){throw e.version++,o}finally{OA=t,_e=i,cI(A),A.flags&=-3}}function Xr(A,e=!1){const{dep:t,prevSub:i,nextSub:o}=A;if(i&&(i.nextSub=o,A.prevSub=void 0),o&&(o.prevSub=i,A.nextSub=void 0),t.subs===A&&(t.subs=i,!i&&t.computed)){t.computed.flags&=-5;for(let n=t.computed.deps;n;n=n.nextDep)Xr(n,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function uB(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 uI=[];function wt(){uI.push(_e),_e=!1}function Dt(){const A=uI.pop();_e=A===void 0?!0:A}function Ug(A){const{cleanup:e}=A;if(A.cleanup=void 0,e){const t=OA;OA=void 0;try{e()}finally{OA=t}}}let $i=0;class hB{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 Eo(A,e,t,i){try{return i?A(...i):A()}catch(o){mn(o,e,t)}}function Ct(A,e,t,i){if(FA(A)){const o=Eo(A,e,t,i);return o&&iI(o)&&o.catch(n=>{mn(n,e,t)}),o}if(yA(A)){const o=[];for(let n=0;n<A.length;n++)o.push(Ct(A[n],e,t,i));return o}}function mn(A,e,t,i=!0){const o=e?e.vnode:null,{errorHandler:n,throwUnhandledErrorInProduction:r}=e&&e.appContext.config||_A;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(n){wt(),Eo(n,null,10,[A,s,a]),Dt();return}}YB(A,t,o,i,r)}function YB(A,e,t,i=!0,o=!1){if(o)throw A;console.error(A)}const me=[];let At=-1;const di=[];let Mt=null,Qi=0;const FI=Promise.resolve();let jo=null;function uo(A){const e=jo||FI;return A?e.then(this?A.bind(this):A):e}function _B(A){let e=At+1,t=me.length;for(;e<t;){const i=e+t>>>1,o=me[i],n=eo(o);n<A||n===A&&o.flags&2?e=i+1:t=i}return e}function ig(A){if(!(A.flags&1)){const e=eo(A),t=me[me.length-1];!t||!(A.flags&2)&&e>=eo(t)?me.push(A):me.splice(_B(e),0,A),A.flags|=1,SI()}}function SI(){jo||(jo=FI.then(bI))}function KB(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),SI()}function xg(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 RI(A){if(di.length){const e=[...new Set(di)].sort((t,i)=>eo(t)-eo(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 eo=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),Eo(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,RI(),jo=null,(me.length||di.length)&&bI()}}let Re=null,NI=null;function Zo(A){const e=Re;return Re=A,NI=A&&A.type.__scopeId||null,e}function OB(A,e=Re,t){if(!e||A._n)return A;const i=(...o)=>{i._d&&$o(-1);const n=Zo(e);let r;try{r=A(...o)}finally{Zo(n),i._d&&$o(1)}return r};return i._n=!0,i._c=!0,i._d=!0,i}function ZA(A,e){if(Re===null)return A;const t=kn(Re),i=A.dirs||(A.dirs=[]);for(let o=0;o<e.length;o++){let[n,r,g,s=_A]=e[o];n&&(FA(n)&&(n={mounted:n,updated:n}),n.deep&&ht(r),i.push({dir:n,instance:t,value:r,oldValue:void 0,arg:g,modifiers:s}))}return A}function Zt(A,e,t,i){const o=A.dirs,n=e&&e.dirs;for(let r=0;r<o.length;r++){const g=o[r];n&&(g.oldValue=n[r].value);let s=g.dir[i];s&&(wt(),Ct(s,t,8,[A.el,g,A,e]),Dt())}}function Ho(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 o=pi?pi._context.provides:i?i.parent==null||i.ce?i.vnode.appContext&&i.vnode.appContext.provides:i.parent.provides:void 0;if(o&&A in o)return o[A];if(arguments.length>1)return t&&FA(e)?e.call(i&&i.proxy):e}}const PB=Symbol.for("v-scx"),VB=()=>rt(PB);function ae(A,e,t){return GI(A,e,t)}function GI(A,e,t=_A){const{immediate:i,deep:o,flush:n,once:r}=t,g=ue({},t),s=e&&i||!e&&n!=="post";let a;if(io){if(n==="sync"){const Q=VB();a=Q.__watcherHandles||(Q.__watcherHandles=[])}else if(!s){const Q=()=>{};return Q.stop=nt,Q.resume=nt,Q.pause=nt,Q}}const I=Ee;g.call=(Q,h,f)=>Ct(Q,I,h,f);let l=!1;n==="post"?g.scheduler=Q=>{Se(Q,I&&I.suspense)}:n!=="sync"&&(l=!0,g.scheduler=(Q,h)=>{h?Q():ig(Q)}),g.augmentJob=Q=>{e&&(Q.flags|=4),l&&(Q.flags|=2,I&&(Q.id=I.uid,Q.i=I))};const C=HB(A,e,g);return io&&(a?a.push(C):s&&C()),C}function WB(A,e,t){const i=this.proxy,o=ee(A)?A.includes(".")?LI(i,A):()=>i[A]:A.bind(i,i);let n;FA(e)?n=e:(n=e.handler,t=e);const r=po(this),g=GI(o,n.bind(i),t);return r(),g}function LI(A,e){const t=e.split(".");return()=>{let i=A;for(let o=0;o<t.length&&i;o++)i=i[t[o]];return i}}const qB=Symbol("_vte"),jB=A=>A.__isTeleport,ZB=Symbol("_leaveCb");function og(A,e){A.shapeFlag&6&&A.component?(A.transition=e,og(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 Zg=typeof window<"u"&&window.trustedTypes;if(Zg)try{fr=Zg.createPolicy("vue",{createHTML:A=>A})}catch{}const gC=fr?A=>fr.createHTML(A):A=>A,jQ="http://www.w3.org/2000/svg",ZQ="http://www.w3.org/1998/Math/MathML",Et=typeof document<"u"?document:null,Xg=Et&&Et.createElement("template"),XQ={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 o=e==="svg"?Et.createElementNS(jQ,A):e==="mathml"?Et.createElementNS(ZQ,A):t?Et.createElement(A,{is:t}):Et.createElement(A);return A==="select"&&i&&i.multiple!=null&&o.setAttribute("multiple",i.multiple),o},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,o,n){const r=t?t.previousSibling:e.lastChild;if(o&&(o===n||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),t),!(o===n||!(o=o.nextSibling)););else{Xg.innerHTML=gC(i==="svg"?`<svg>${A}</svg>`:i==="mathml"?`<math>${A}</math>`:A);const g=Xg.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]}},zQ=Symbol("_vtc");function $Q(A,e,t){const i=A[zQ];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?A.removeAttribute("class"):t?A.setAttribute("class",e):A.className=e}const zg=Symbol("_vod"),Ac=Symbol("_vsh"),ec=Symbol(""),tc=/(?:^|;)\s*display\s*:/;function ic(A,e,t){const i=A.style,o=ee(t);let n=!1;if(t&&!o){if(e)if(ee(e))for(const r of e.split(";")){const g=r.slice(0,r.indexOf(":")).trim();t[g]==null&&Ko(i,g,"")}else for(const r in e)t[r]==null&&Ko(i,r,"");for(const r in t)r==="display"&&(n=!0),Ko(i,r,t[r])}else if(o){if(e!==t){const r=i[ec];r&&(t+=";"+r),i.cssText=t,n=tc.test(t)}}else e&&A.removeAttribute("style");zg in A&&(A[zg]=n?i.display:"",A[Ac]&&(i.display="none"))}const $g=/\s*!important$/;function Ko(A,e,t){if(yA(t))t.forEach(i=>Ko(A,e,i));else if(t==null&&(t=""),e.startsWith("--"))A.setProperty(e,t);else{const i=oc(A,e);$g.test(t)?A.setProperty(Ii(i),t.replace($g,""),"important"):A[i]=t}}const As=["Webkit","Moz","ms"],On={};function oc(A,e){const t=On[e];if(t)return t;let i=Je(e);if(i!=="filter"&&i in A)return On[e]=i;i=En(i);for(let o=0;o<As.length;o++){const n=As[o]+i;if(n in A)return On[e]=n}return e}const es="http://www.w3.org/1999/xlink";function ts(A,e,t,i,o,n=lB(e)){i&&e.startsWith("xlink:")?t==null?A.removeAttributeNS(es,e.slice(6,e.length)):A.setAttributeNS(es,e,t):t==null||n&&!gI(t)?A.removeAttribute(e):A.setAttribute(e,n?"":It(t)?String(t):t)}function is(A,e,t,i,o){if(e==="innerHTML"||e==="textContent"){t!=null&&(A[e]=e==="innerHTML"?gC(t):t);return}const n=A.tagName;if(e==="value"&&n!=="PROGRESS"&&!n.includes("-")){const g=n==="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=gI(t):t==null&&g==="string"?(t="",r=!0):g==="number"&&(t=0,r=!0)}try{A[e]=t}catch{}r&&A.removeAttribute(o||e)}function ti(A,e,t,i){A.addEventListener(e,t,i)}function nc(A,e,t,i){A.removeEventListener(e,t,i)}const os=Symbol("_vei");function rc(A,e,t,i,o=null){const n=A[os]||(A[os]={}),r=n[e];if(i&&r)r.value=i;else{const[g,s]=gc(e);if(i){const a=n[e]=Ic(i,o);ti(A,g,a,s)}else r&&(nc(A,g,r,s),n[e]=void 0)}}const ns=/(?:Once|Passive|Capture)$/;function gc(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 Pn=0;const sc=Promise.resolve(),ac=()=>Pn||(sc.then(()=>Pn=0),Pn=Date.now());function Ic(A,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;Ct(Cc(i,t.value),e,5,[i])};return t.value=A,t.attached=ac(),t}function Cc(A,e){if(yA(e)){co
* shared v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function mc(A,e){typeof console<"u"&&(console.warn("[intlify] "+A),e&&console.warn(e.stack))}const nn=typeof window<"u",Vt=(A,e=!1)=>e?Symbol.for(A):Symbol(A),yc=(A,e,t)=>wc({l:A,k:e,s:t}),wc=A=>JSON.stringify(A).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=A=>typeof A=="number"&&isFinite(A),Dc=A=>aC(A)==="[object Date]",Ot=A=>aC(A)==="[object RegExp]",vn=A=>vA(A)&&Object.keys(A).length===0,Be=Object.assign,kc=Object.create,HA=(A=null)=>kc(A);let Cs;const ft=()=>Cs||(Cs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:HA());function ls(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 Bs(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 vc(A){return A=A.replace(/(\w+)\s*=\s*"([^"]*)"/g,(i,o,n)=>`${o}="${Bs(n)}"`),A=A.replace(/(\w+)\s*=\s*'([^']*)'/g,(i,o,n)=>`${o}='${Bs(n)}'`),/\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 Fc=Object.prototype.hasOwnProperty;function He(A,e){return Fc.call(A,e)}const WA=Array.isArray,PA=A=>typeof A=="function",gA=A=>typeof A=="string",RA=A=>typeof A=="boolean",UA=A=>A!==null&&typeof A=="object",Sc=A=>UA(A)&&PA(A.then)&&PA(A.catch),sC=Object.prototype.toString,aC=A=>sC.call(A),vA=A=>{if(!UA(A))return!1;const e=Object.getPrototypeOf(A);return e===null||e.constructor===Object},Rc=A=>A==null?"":WA(A)||vA(A)&&A.toString===sC?JSON.stringify(A,null,2):String(A);function bc(A,e=""){return A.reduce((t,i,o)=>o===0?t+i:t+e+i,"")}function Fn(A){let e=A;return()=>++e}const Ro=A=>!UA(A)||WA(A);function Oo(A,e){if(Ro(A)||Ro(e))throw new Error("Invalid value");const t=[{src:A,des:e}];for(;t.length;){const{src:i,des:o}=t.pop();Object.keys(i).forEach(n=>{n!=="__proto__"&&(UA(i[n])&&!UA(o[n])&&(o[n]=Array.isArray(i[n])?[]:HA()),Ro(o[n])||Ro(i[n])?o[n]=i[n]:t.push({src:i[n],des:o[n]}))})}}/*!
* message-compiler v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function Nc(A,e,t){return{line:A,column:e,offset:t}}function rn(A,e,t){return{start:A,end:e}}const Gc=/\{([0-9a-zA-Z]+)\}/g;function IC(A,...e){return e.length===1&&Lc(e[0])&&(e=e[0]),(!e||!e.hasOwnProperty)&&(e={}),A.replace(Gc,(t,i)=>e.hasOwnProperty(i)?e[i]:"")}const CC=Object.assign,Qs=A=>typeof A=="string",Lc=A=>A!==null&&typeof A=="object";function lC(A,e=""){return A.reduce((t,i,o)=>o===0?t+i:t+e+i,"")}const sg={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Uc={[sg.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Mc(A,e,...t){const i=IC(Uc[A],...t||[]),o={message:String(i),code:A};return e&&(o.location=e),o}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},xc={[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 Gi(A,e,t={}){const{domain:i,messages:o,args:n}=t,r=IC((o||xc)[A]||"",...n||[]),g=new SyntaxError(String(r));return g.code=A,e&&(g.location=e),g.domain=i,g}function Jc(A){throw A}const Bt=" ",Tc="\r",de=`
`,Hc="\u2028",Yc="\u2029";function _c(A){const e=A;let t=0,i=1,o=1,n=0;const r=N=>e[N]===Tc&&e[N+1]===de,g=N=>e[N]===de,s=N=>e[N]===Yc,a=N=>e[N]===Hc,I=N=>r(N)||g(N)||s(N)||a(N),l=()=>t,C=()=>i,Q=()=>o,h=()=>n,f=N=>r(N)||s(N)||a(N)?de:e[N],u=()=>f(t),E=()=>f(t+n);function D(){return n=0,I(t)&&(i++,o=0),r(t)&&t++,t++,o++,e[t]}function c(){return r(t+n)&&n++,n++,e[t+n]}function d(){t=0,i=1,o=1,n=0}function p(N=0){n=N}function v(){const N=t+n;for(;N!==t;)D();n=0}return{index:l,line:C,column:Q,peekOffset:h,charAt:f,currentChar:u,currentPeek:E,next:D,peek:c,reset:d,resetPeek:p,skipToPeek:v}}const Rt=void 0,Kc=".",cs="'",Oc="tokenizer";function Pc(A,e={}){const t=e.location!==!1,i=_c(A),o=()=>i.index(),n=()=>Nc(i.line(),i.column(),i.index()),r=n(),g=o(),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,M,...O){const nA=a();if(y.column+=M,y.offset+=M,I){const Z=t?rn(nA.startLoc,y):null,U=Gi(m,Z,{domain:Oc,args:O});I(U)}}function C(m,y,M){m.endLoc=n(),m.currentType=y;const O={type:y};return t&&(O.loc=rn(m.startLoc,m.endLoc)),M!=null&&(O.value=M),O}const Q=m=>C(m,14);function h(m,y){return m.currentChar()===y?(m.next(),y):(l(pA.EXPECTED_TOKEN,n(),0,y),"")}function f(m){let y="";for(;m.currentPeek()===Bt||m.currentPeek()===de;)y+=m.currentPeek(),m.peek();return y}function u(m){const y=f(m);return m.skipToPeek(),y}function E(m){if(m===Rt)return!1;const y=m.charCodeAt(0);return y>=97&&y<=122||y>=65&&y<=90||y===95}function D(m){if(m===Rt)return!1;const y=m.charCodeAt(0);return y>=48&&y<=57}function c(m,y){const{currentType:M}=y;if(M!==2)return!1;f(m);const O=E(m.currentPeek());return m.resetPeek(),O}function d(m,y){const{currentType:M}=y;if(M!==2)return!1;f(m);const O=m.currentPeek()==="-"?m.peek():m.currentPeek(),nA=D(O);return m.resetPeek(),nA}function p(m,y){const{currentType:M}=y;if(M!==2)return!1;f(m);const O=m.currentPeek()===cs;return m.resetPeek(),O}function v(m,y){const{currentType:M}=y;if(M!==8)return!1;f(m);const O=m.currentPeek()===".";return m.resetPeek(),O}function N(m,y){const{currentType:M}=y;if(M!==9)return!1;f(m);const O=E(m.currentPeek());return m.resetPeek(),O}function G(m,y){const{currentType:M}=y;if(!(M===8||M===12))return!1;f(m);const O=m.currentPeek()===":";return m.resetPeek(),O}function H(m,y){const{currentType:M}=y;if(M!==10)return!1;const O=()=>{const Z=m.currentPeek();return Z==="{"?E(m.peek()):Z==="@"||Z==="%"||Z==="|"||Z===":"||Z==="."||Z===Bt||!Z?!1:Z===de?(m.peek(),O()):L(m,!1)},nA=O();return m.resetPeek(),nA}function S(m){f(m);const y=m.currentPeek()==="|";return m.resetPeek(),y}function b(m){const y=f(m),M=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:M,hasSpace:y.length>0}}function L(m,y=!0){const M=(nA=!1,Z="",U=!1)=>{const P=m.currentPeek();return P==="{"?Z==="%"?!1:nA:P==="@"||!P?Z==="%"?!0:nA:P==="%"?(m.peek(),M(nA,"%",!0)):P==="|"?Z==="%"||U?!0:!(Z===Bt||Z===de):P===Bt?(m.peek(),M(!0,Bt,U)):P===de?(m.peek(),M(!0,de,U)):!0},O=M();return y&&m.resetPeek(),O}function QA(m,y){const M=m.currentChar();return M===Rt?Rt:y(M)?(m.next(),M):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 IA(m){return QA(m,dA)}function oA(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 QA(m,oA)}function tA(m){const y=m.charCodeAt(0);return y>=48&&y<=57}function fA(m){return QA(m,tA)}function _(m){const y=m.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function W(m){return QA(m,_)}function z(m){let y="",M="";for(;y=fA(m);)M+=y;return M}function DA(m){u(m);const y=m.currentChar();return y!=="%"&&l(pA.EXPECTED_TOKEN,n(),0,y),m.next(),"%"}function NA(m){let y="";for(;;){const M=m.currentChar();if(M==="{"||M==="}"||M==="@"||M==="|"||!M)break;if(M==="%")if(L(m))y+=M,m.next();else break;else if(M===Bt||M===de)if(L(m))y+=M,m.next();else{if(S(m))break;y+=M,m.next()}else y+=M,m.next()}return y}function oe(m){u(m);let y="",M="";for(;y=
`,n=e.needIndent?e.needIndent:t!=="arrow",r=A.helpers||[],g=eE(A,{filename:i,breakLineCode:o,needIndent:n});g.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),g.indent(n),r.length>0&&(g.push(`const { ${lC(r.map(I=>`${I}: _${I}`),", ")} } = ctx`),g.newline()),g.push("return "),Fi(g,A),g.deindent(n),g.push("}"),delete A.helpers;const{code:s,map:a}=g.context();return{ast:A,code:s,map:a?a.toJSON():void 0}};function gE(A,e={}){const t=CC({},e),i=!!t.jit,o=!!t.minify,n=t.optimize==null?!0:t.optimize,g=jc(t).parse(A);return i?(n&&zc(g),o&&ci(g),{ast:g,code:""}):(Xc(g,t),rE(g,t))}/*!
* core-base v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/function sE(){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)&&Ig(A)===0&&(He(A,"b")||He(A,"body"))}const BC=["b","body"];function aE(A){return Wt(A,BC)}const QC=["c","cases"];function IE(A){return Wt(A,QC,[])}const cC=["s","static"];function CE(A){return Wt(A,cC)}const EC=["i","items"];function lE(A){return Wt(A,EC,[])}const uC=["t","type"];function Ig(A){return Wt(A,uC)}const hC=["v","value"];function bo(A,e){const t=Wt(A,hC);if(t!=null)return t;throw oo(e)}const fC=["m","modifier"];function BE(A){return Wt(A,fC)}const dC=["k","key"];function QE(A){const e=Wt(A,dC);if(e)return e;throw oo(6)}function Wt(A,e,t){for(let i=0;i<e.length;i++){const o=e[i];if(He(A,o)&&A[o]!=null)return A[o]}return t}const pC=[...BC,...QC,...cC,...EC,...dC,...fC,...hC,...uC];function oo(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 cE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function EE(A){return cE.test(A)}function uE(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 hE(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 fE(A){const e=A.trim();return A.charAt(0)==="0"&&isNaN(parseInt(A))?!1:EE(e)?uE(e):"*"+e}function dE(A){const e=[];let t=-1,i=0,o=0,n,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](),o++},C[3]=()=>{if(o>0)o--,i=4,C[0]();else{if(o=0,r===void 0||(r=fE(r),r===!1))return!1;C[1]()}};function Q(){const h=A[t+1];if(i===5&&h==="'"||i===6&&h==='"')return t++,g="\\"+h,C[0](),!0}for(;i!==null;)if(t++,n=A[t],!(n==="\\"&&Q())){if(s=hE(n),l=qt[i],a=l[s]||l.l||8,a===8||(i=a[0],a[1]!==void 0&&(I=C[a[1]],I&&(g=n,I()===!1))))return;if(i===7)return e}}const hs=new Map;function pE(A,e){return UA(A)?A[e]:null}function mE(A,e){if(!UA(A))return null;let t=hs.get(e);if(t||(t=dE(e),t&&hs.set(e,t)),!t)return null;const i=t.length;let o=A,n=0;for(;n<i;){const r=t[n];if(pC.includes(r)&&st(o))return null;const g=o[r];if(g===void 0||PA(o))return null;o=g,n++}return o}const yE=A=>A,wE=A=>"",DE="text",kE=A=>A.length===0?"":bc(A),vE=Rc;function fs(A,e){return A=Math.abs(A),e===2?A?A>1?1:0:1:A?Math.min(A,2):0}function FE(A){const e=Ae(A.pluralIndex)?A.pluralIndex:-1;return A.named&&(Ae(A.named.count)||Ae(A.named.n))?Ae(A.named.count)?A.named.count:Ae(A.named.n)?A.named.n:e:e}function SE(A,e){e.count||(e.count=A),e.n||(e.n=A)}function RE(A={}){const e=A.locale,t=FE(A),i=UA(A.pluralRules)&&gA(e)&&PA(A.pluralRules[e])?A.pluralRules[e]:fs,o=UA(A.pluralRules)&&gA(e)&&PA(A.pluralRules[e])?fs:void 0,n=E=>E[i(t,E.length,o)],r=A.list||[],g=E=>r[E],s=A.named||HA();Ae(A.pluralIndex)&&SE(t,s);const a=E=>s[E];function I(E){const D=PA(A.messages)?A.messages(E):UA(A.messages)?A.messages[E]:!1;return D||(A.parent?A.parent.message(E):wE)}const l=E=>A.modifiers?A.modifiers[E]:yE,C=vA(A.processor)&&PA(A.processor.normalize)?A.processor.normalize:kE,Q=vA(A.processor)&&PA(A.processor.interpolate)?A.processor.interpolate:vE,h=vA(A.processor)&&gA(A.processor.type)?A.processor.type:DE,u={list:g,named:a,plural:n,linked:(E,...D)=>{const[c,d]=D;let p="text",v="";D.length===1?UA(c)?(v=c.modifier||v,p=c.type||p):gA(c)&&(v=c||v):D.length===2&&(gA(c)&&(v=c||v),gA(d)&&(p=d||p));const N=I(E)(u),G=p==="vnode"&&WA(N)&&v?N[0]:N;return v?l(v)(G,p):G},message:I,type:h,interpolate:Q,normalize:C,values:Be(HA(),r,s)};return u}let no=null;function bE(A){no=A}f
* vue-i18n v9.14.5
* (c) 2025 kazuya kawaguchi
* Released under the MIT License.
*/const iu="9.14.5";function ou(){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=ME.__EXTEND_POINT__,Qt=Fn(nu);Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt();const UC=Ye.__EXTEND_POINT__,we=Fn(UC),re={UNEXPECTED_RETURN_TYPE:UC,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 Gi(A,null,void 0)}const Dr=Vt("__translateVNode"),kr=Vt("__datetimeParts"),vr=Vt("__numberParts"),MC=Vt("__setPluralRules"),xC=Vt("__injectWithOption"),Fr=Vt("__dispose");function ro(A){if(!UA(A)||st(A))return A;for(const e in A)if(He(A,e))if(!e.includes("."))UA(A[e])&&ro(A[e]);else{const t=e.split("."),i=t.length-1;let o=A,n=!1;for(let r=0;r<i;r++){if(t[r]==="__proto__")throw new Error(`unsafe key: ${t[r]}`);if(t[r]in o||(o[t[r]]=HA()),!UA(o[t[r]])){n=!0;break}o=o[t[r]]}if(n||(st(o)?pC.includes(t[i])||delete A[e]:(o[t[i]]=A[e],delete A[e])),!st(o)){const r=o[t[i]];UA(r)&&ro(r)}}return A}function Rn(A,e){const{messages:t,__i18n:i,messageResolver:o,flatJson:n}=e,r=vA(t)?t:WA(i)?HA():{[A]:HA()};if(WA(i)&&i.forEach(g=>{if("locale"in g&&"resource"in g){const{locale:s,resource:a}=g;s?(r[s]=r[s]||HA(),Oo(a,r[s])):Oo(a,r)}else gA(g)&&Oo(JSON.parse(g),r)}),o==null&&n)for(const g in r)He(r,g)&&ro(r[g]);return r}function JC(A){return A.type}function TC(A,e,t){let i=UA(e.messages)?e.messages:HA();"__i18nGlobal"in t&&(i=Rn(A.locale.value,{messages:i,__i18n:t.__i18nGlobal}));const o=Object.keys(i);o.length&&o.forEach(n=>{A.mergeLocaleMessage(n,i[n])});{if(UA(e.datetimeFormats)){const n=Object.keys(e.datetimeFormats);n.length&&n.forEach(r=>{A.mergeDateTimeFormat(r,e.datetimeFormats[r])})}if(UA(e.numberFormats)){const n=Object.keys(e.numberFormats);n.length&&n.forEach(r=>{A.mergeNumberFormat(r,e.numberFormats[r])})}}}function Ls(A){return TA(fo,null,A,0)}const Us="__INTLIFY_META__",Ms=()=>[],ru=()=>!1;let xs=0;function Js(A){return(e,t,i,o)=>A(t,i,vi()||void 0,o)}const gu=()=>{const A=vi();let e=null;return A&&(e=JC(A)[Us])?{[Us]:e}:null};function Bg(A={},e){const{__root:t,__injectWithOption:i}=A,o=t===void 0,n=A.flatJson,r=nn?EA:tg,g=!!A.translateExistCompatible;let s=RA(A.inheritLocale)?A.inheritLocale:!0;const a=r(t&&s?t.locale.value:gA(A.locale)?A.locale:Si),I=r(t&&s?t.fallbackLocale.value:gA(A.fallbackLocale)||WA(A.fallbackLocale)||vA(A.fallbackLocale)||A.fallbackLocale===!1?A.fallbackLocale:a.value),l=r(Rn(a.value,A)),C=r(vA(A.datetimeFormats)?A.datetimeFormats:{[a.value]:{}}),Q=r(vA(A.numberFormats)?A.numberFormats:{[a.value]:{}});let h=t?t.missingWarn:RA(A.missingWarn)||Ot(A.missingWarn)?A.missingWarn:!0,f=t?t.fallbackWarn:RA(A.fallbackWarn)||Ot(A.fallbackWarn)?A.fallbackWarn:!0,u=t?t.fallbackRoot:RA(A.fallbackRoot)?A.fallbackRoot:!0,E=!!A.fallbackFormat,D=PA(A.missing)?A.missing:null,c=PA(A.missing)?Js(A.missing):null,d=PA(A.postTranslation)?A.postTranslation:null,p=t?t.warnHtmlMessage:RA(A.warnHtmlMessage)?A.warnHtmlMessage:!0,v=!!A.escapeParameter;const N=t?t.modifiers:vA(A.modifiers)?A.modifiers:{};let G=A.pluralRules||t&&t.pluralRules,H;H=(()=>{o&&Ds(null);const U={version:iu,locale:a.value,fallbackLocale:I.value,messages:l.value,modifiers:N,pluralRules:G,missing:c===null?void 0:c,missingWarn:h,fallbackWarn:f,fallbackFormat:E,unresolving:!0,postTranslation:d===null?void 0:d,warnHtmlMessage:p,escapeParameter:v,messageResolver:A.messageResolver,messageCompiler:A.messageCompiler,__meta:{framew
The new version uses file deduplication technology to save storage space.
2026-01-23 15:29:43 +08:00
Please re-upload custom emoji images.`,incompatibleEmojiData:"Incompatible emoji data detected, please reconfigure"},kh={authTokenMissing:"Authentication token not found",checkingDeviceStatus:"Checking device status...",deviceOfflineOrUnresponsive:"The device does not exist or is not online",unableToGetDeviceStatus:"Unable to get device status",initializingTransferService:"Initializing transfer service...",initializeTransferFailed:"Failed to initialize transfer service: {error}",uploadingFile:"Upload the file ...",uploadFailed:"Upload file failed",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)",deviceReady:"Device ready, please wait for program burning",startingFileTransfer:"Starting file transfer...",flashCompleted:"During program burning, please pay attention to the firmware burning status!",onlineFlashFailed:"Online flashing failed: {error}"},vh={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"}},Fh={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"},Sh={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"}},Rh={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",
新版本使用文件去重技术可以节省存储空间
请重新上传自定义表情图片`,incompatibleEmojiData:"检测到不兼容的表情数据,请重新配置"},Kh={authTokenMissing:"未找到认证令牌",checkingDeviceStatus:"检查设备状态...",deviceOfflineOrUnresponsive:"设备不存在或不在线",unableToGetDeviceStatus:"无法获取设备状态",initializingTransferService:"初始化传输服务...",initializeTransferFailed:"初始化传输服务失败: {error}",uploadingFile:"上传文件中...",uploadFailed:"上传文件失败",settingDeviceDownloadUrl:"设置设备下载URL...",setDownloadUrlFailed:"设置下载URL失败: {error}",rebootingDevice:"重启设备...",waitingForDeviceReboot:"等待设备重启...",deviceRebootTimeout:"等待设备重启超时(60秒)",deviceReady:"设备就绪,请等待程序烧录",startingFileTransfer:"开始传输文件...",flashCompleted:"程序烧录中,请留意固件的烧录状态!",onlineFlashFailed:"在线烧录失败: {error}"},Oh={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:"屏幕分辨率格式错误"},Vh={title:"步骤 2: 主题设计",description:"配置唤醒词、字体、表情和背景来自定义您的小智AI主题。",previous:"上一步",next:"下一步",tabs:{wakeword:"唤醒词配置",font:"字体配置",emoji:"表情集合",background:"聊天背景"}},Wh={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:"颜色"},qh={title:"聊天背景配置",description:"配置浅色模式和深色模式的聊天背景,支持纯色或自定义图片。",lightMode:"浅色模式背景",darkMode:"
新版本使用檔案去重技術,可以節省儲存空間。
請重新上傳自訂表情圖片。`,incompatibleEmojiData:"檢測到不相容的表情資料,請重新配置"},af={authTokenMissing:"未找到認證令牌",checkingDeviceStatus:"檢查設備狀態...",deviceOfflineOrUnresponsive:"設備不存在或不線上",unableToGetDeviceStatus:"無法獲取設備狀態",initializingTransferService:"初始化傳輸服務...",initializeTransferFailed:"初始化傳輸服務失敗: {error}",uploadingFile:"上傳文件中...",uploadFailed:"上傳文件失敗",settingDeviceDownloadUrl:"設置設備下載URL...",setDownloadUrlFailed:"設置下載URL失敗: {error}",rebootingDevice:"重啟設備...",waitingForDeviceReboot:"等待設備重啟...",deviceRebootTimeout:"等待設備重啟超時(60秒)",deviceReady:"设备就绪,请等待程序烧录",startingFileTransfer:"開始檔案傳輸...",flashCompleted:"程式燒錄中,請留意固件的燒錄狀態!",onlineFlashFailed:"線上燒錄失敗: {error}"},If={online:"線上",offline:"離線",checking:"檢查中...",flashing:"燒錄中...",ready:"就緒",chip:"晶片",board:"開發板",flash:"Flash",screen:"螢幕",signal:{unknown:"未知",strong:"強",medium:"中等",weak:"弱",none:"無訊號"}},Cf={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:"螢幕解析度格式錯誤"},lf={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:"皮膚:",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:"顏色"},Qf={title:"聊天背景配置",description:"配置淺色模式和深色模式的聊天背景,支援純色或自訂圖片。",lightMode:"淺色模式背景",darkMode:"深色模式背景"
新しいバージョンはファイル重複除去技術を使用してストレージスペースを節約します
2026-01-23 15:29:43 +08:00
カスタム絵文字画像を再アップロードしてください`,incompatibleEmojiData:"互換性のない絵文字データを検出しました、再設定してください"},vf={authTokenMissing:"認証トークンが見つかりません",checkingDeviceStatus:"デバイスの状態を確認中...",deviceOfflineOrUnresponsive:"デバイスが存在しないか、オンラインではありません",unableToGetDeviceStatus:"デバイスの状態を取得できません",initializingTransferService:"転送サービスを初期化中...",initializeTransferFailed:"転送サービスの初期化に失敗しました: {error}",uploadingFile:"ファイルをアップロード中...",uploadFailed:"ファイルのアップロードに失敗しました",settingDeviceDownloadUrl:"デバイスダウンロードURLを設定中...",setDownloadUrlFailed:"ダウンロードURLの設定に失敗しました: {error}",rebootingDevice:"デバイスを再起動中...",waitingForDeviceReboot:"デバイスの再起動を待機中...",deviceRebootTimeout:"デバイスの再起動タイムアウト(60秒)",deviceReady:"デバイスが準備できました。プログラムの書き込みをお待ちください",startingFileTransfer:"ファイル転送を開始中...",flashCompleted:"プログラムの書き込み中、ファームウェアの書き込み状態に注意してください!",onlineFlashFailed:"オンライン書き込みに失敗しました: {error}"},Ff={online:"オンライン",offline:"オフライン",checking:"確認中...",flashing:"書き込み中...",ready:"準備完了",chip:"チップ",board:"ボード",flash:"Flash",screen:"画面",signal:{unknown:"不明",strong:"強",medium:"中",weak:"弱",none:"信号なし"}},Sf={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:"画面解像度形式エラー"},Rf={title:"ステップ2: テーマデザイン",description:"ウェイクワード、フォント、絵文字、背景を設定して、小智AIテーマをカスタマイズします。",previous:"前へ",next:"次へ",tabs:{wakeword:"ウェイクワード設定",font:"フォント設定",emoji:"絵文字コレクション",background:"チャット背景"}},bf={title:"ステップ3: プレビュー",description:"実際のデバイスでのカスタム設定の効果をプレビューします。",devicePreview:"デバイスプレビュー(1:1ピクセル比)",previewSettings:"プレビュー設定",previewText:"プレビューテキスト",def
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ị không tồn tại hoặc không trực tuyến",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}",uploadingFile:"Tải lên tập tin. .....",uploadFailed:"Tải lên tập tin không thành công",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)",deviceReady:"Thiết bị đã sẵn sàng, vui lòng chờ chương trình ghi",startingFileTransfer:"Đang bắt đầu truyền tải tệp...",flashCompleted:"Trong quá trình ghi âm chương trình, xin lưu ý trạng thái ghi âm của phần cố định!",onlineFlashFailed:"Flash trực tuyến thất bại: {error}"},Vf={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"}},Wf={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"},qf={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"}},jf={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ư
@font-face {
font-family: '${L}';
src: url('${QA}') 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 b=t.config.theme.font.custom.file;if(!b||typeof b!="object"||!b.size)throw new Error("字体文件对象无效");const L="CustomFontPreview",QA=URL.createObjectURL(b),dA=document.createElement("style");dA.setAttribute("data-font-preview","true"),dA.textContent=`
@font-face {
font-family: '${L}';
src: url('${QA}');
font-display: swap;
}
`,document.head.appendChild(dA),await document.fonts.load(`16px "${L}"`),g.value=L,r.value=!0}catch(b){console.warn("自定义字体预览加载失败:",b),g.value="Arial, sans-serif",r.value=!0}else g.value="system-ui",r.value=!0}catch(b){console.warn("Font loading failed:",b),g.value="system-ui",r.value=!0}},u=()=>r.value&&g.value?`"${g.value}", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif`:'"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif',E=S=>{if(t.config.theme.emoji.type==="preset")return`./static/twemoji${t.config.theme.emoji.preset==="twemoji64"?"64":"32"}/${S}.png`;if(t.config.theme.emoji.type==="custom"&&t.config.theme.emoji.custom.images[S])try{const b=t.config.theme.emoji.custom.images[S];if(b&&typeof b=="object"&&b.size)return URL.createObjectURL(b)}catch(b){console.warn(`表情图片预览加载失败 (${S}):`,b)}return null},D=S=>{const b=s.value.find(L=>L.key===S);return b?b.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 S=Math.min(t.config.theme.emoji.custom.size.width,t.config.theme.emoji.custom.size.height);return Math.min(S+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,p=S=>{o.value=S},v=()=>{const S=t.config.theme.wakeword;return!S||S.type==="none"?e("wakewordConfig.noWakeword"):S.type==="preset"?{wn9s_hilexin:"Hi,乐鑫",wn9s_hiesp:"Hi,ESP",wn9s_nihaoxiaozhi:"你好小智",wn9_nihaoxiaozhi_tts:"你好小智",wn9_alexa:"Alexa",wn9_jarvis_tts:"Jarvis"}[S.preset]||S.preset:S.type==="custom"?S.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 S=t.config.theme.font.custom;return e("generateSummary.customFont",{size:S.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 S=Object.keys(t.config.theme.emoji.custom.images).length;return e("generateSummary.customEmoji",{count:S})}else return t.config.theme.emoji.type==="none"?e("emojiConfig.noEmojiPack"):e("generateSummary.notConfigured")},H=()=>{const S=t.config.theme.skin.light.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color"),b=t.config.theme.skin.dark.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color");return e("generateSummary.skinLight",{type:S})+"/"+e("generateSummary.skinDark",{type:b})};return ae(()=>t.config.theme.font,()=>{f()},{deep:!0}),Ft(async()=>{a.value.length>0?o.value=a.value[0].key:o.value="",await f()}),Ci(()=>{document.querySelectorAll("style[data-font-preview]").forEach(b=>b.remove())}),(S,b)=>(T(),K("div",Dy,[B("div",null,[B("h2",ky,F(S.$t("generateSummary.title")),1),B("p",vy,F(S.$t("generateSummary.description")),1)]),B("div",Fy,[B("div",Sy,[B("h3",Ry,F(S.$t("generateSummary.devicePreview")),1),B("div",by,[B("div",Ny,[B("div",Gy,[B("div",Ly,[B("div",{style:VA(l()),class:"relative rounded-lg overflow-hidden border-2 border-gray-700 flex flex-col items-center justify-center"},[B("div",{style:VA(C()),class:"absolute inset-0"},null,4),B("div",Uy,[B("div",My,[o.value&&a.value.length>0?(T(),K("div",xy,[I.value?(T(),K("img",{key:0,src:I.value,alt:o.value,style:VA(Q()),class:"emoji-image"},null,12,Jy)):(T(),K("div",{key:1,style:VA(Q()),class:"emoji-fallback bg-gray-200 rounded-full flex items-center justify-center text-2xl"},F(D(o.value)),5))])):(T(),K("div",Ty,[B("div",{style:VA(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",Hy,[B("div",Yy,F(A.config.theme.emoji.type==="none"?"📦":"😕"),1),B("div",_y,F(A.co
`).join("");return this.charsetCache.set(e,r),r}catch(o){return console.error(`Failed to load charset ${e}:`,o),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 o of i){const n=o.trim();if(n)if(n.includes("-")){const[r,g]=n.split("-"),s=this.parseHexOrDec(r),a=this.parseHexOrDec(g);s!==null&&a!==null&&t.push(s,a,s)}else{const r=this.parseHexOrDec(n);r!==null&&t.push(r,r,r)}}return t}parseHexOrDec(e){const t=e.trim();if(t.startsWith("0x")||t.startsWith("0X")){const o=parseInt(t,16);return isNaN(o)?null:o}const i=parseInt(t,10);return isNaN(i)?null:i}async estimateSizeAsync(e){const{fontSize:t=20,bpp:i=4,charset:o="latin",symbols:n="",range:r=""}=e;let g=n.length;if(o==="full")g=65536;else if(o&&o!=="custom"){const I=await this.getCharsetContentAsync(o);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}o!=="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:o="latin",symbols:n="",range:r=""}=e;let g=n.length;if(o==="full")g=65536;else if(o&&o!=="custom"){const I=this.getCharsetContent(o);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}o!=="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"],o=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/Math.pow(t,o)).toFixed(2))+" "+i[o]}cleanup(){this.initialized=!1}}const rS=new nS;class gS{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 o=0;for(const n of t)try{const r=await fetch(`${i}${n}`);if(r.ok){const g=await r.arrayBuffer();this.addModelFile(e,n,g),o++}else console.warn(`无法加载文件: ${n}, status: ${r.status}`)}catch(r){console.warn(`加载文件失败: ${n}`,r)}return o===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 o=0;for(const n of t)try{const r=await fetch(`${i}${n}`);if(r.ok){const g=await r.arrayBuffer();this.addModelFile(e,n,g),o++}else console.warn(`无法加载 FST 文件: ${n}, status: ${r.status}`)}catch(r){console.warn(`加载 FST 文件失败: ${n}`,r)}return o>0}catch(e){return console.error("加载 FST 模型失败",e),!1}}packString(e,t){const i=new Uint8Array(t),o=Math.min(e.length,t);for(let n=0;n<o;n++)i[n]=e.charCodeAt(n)&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 o=4;for(const a of t)o+=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(o=>{if(o.status!==200)throw"<"+A+"> Url error!!!"+this.errorLink();return o.arrayBuffer()}).then(o=>e(o));else if(["blob","file"].includes(i))new Response(A).arrayBuffer().then(o=>e(o));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(o=>this.loadOne(o.file)),Promise.all(i).then(function(o){var n=A.map((r,g)=>(r.file=o[g],r));e(n)}).catch(function(o){})})},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:o="",folder:n=[],isStrict:r=!1,start:g=Q=>{}}=A;var s=await this.tool.textToUrl();let a=new Worker(s);var I=this.tool.loadCommand(o),l=await this.tool.loadFile(i),C=(g(l),await this.tool.loadFolder(n));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 h=[];for(let u=0;u<Q.data.length;u++){const E=Q.data[u];var f;E.name.includes(".txt")?(f=new File([E.file],E.name,{type:"text/plain"}),h.push(f)):(f=new File([E.file],E.name,{type:"image/gif"}),h.push(f))}a.terminate(),e(h)},a.onerror=function(Q){console.error(Q),a.terminate(),e(null)}})}};class aS{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:o,keepAspectRatio:n=!0,optimize:r=this.optimize,lossy:g=this.quality,loopCount:s=0}=t;if(!i&&!o)throw new Error("必须指定 maxWidth maxHeight");try{let a;n?a=`--resize-fit ${i||"_"}x${o||"_"}`:a=`--resize ${i||"_"}x${o||"_"}!`;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 Jo.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 h=((1-Q.size/e.size)*100).toFixed(2);console.log(`压缩率: ${h}%`)}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:o,options:n}=e[i];try{const r=await this.scaleGif(o,n);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:o=this.optimizationLevel,loopCount:n=0}=t;try{const r=["-U"];n>=0&&r.push(`--loopcount=${n}`),i&&i>0&&r.push(`--lossy=${i}`),r.push(`-O${o}`),r.push("1.gif"),r.push("-o /out/output.gif");const g=r.join(" ");this.debug&&console.log("GIF 优化命令:",g);const s=await Jo.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(tA){console.error("清理旧表情数据时出错:",tA)}},b=async()=>{try{await Qe.saveConfig(u.value)}catch(IA){console.error("保存配置失败:",IA)}},L=async()=>{try{I.value=!0,await C.clearAllStoredData();const IA={model:u.value.chip.model,display:{...u.value.chip.display}};u.value={chip:IA,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}}}},n.value=0,g.value="wakeword",s.value=!1,a.value=!1}catch(IA){console.error("重置配置失败:",IA),alert(t("errors.resetFailed"))}finally{I.value=!1}};ae(u,async IA=>{!l.value&&a.value&&await b()},{deep:!0}),Ft(async()=>{await Qe.initialize(),await H()}),Ci(()=>{Q.value&&(clearTimeout(Q.value),clearInterval(o.value))});const QA=()=>{s.value=!1,Q.value&&clearTimeout(Q.value)},dA=()=>{Q.value&&clearTimeout(Q.value),Q.value=setTimeout(()=>{s.value=!1},5e3)};return(IA,oA)=>(T(),K("div",null,[s.value?(T(),K("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",cR,[B("div",ER,[oA[3]||(oA[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",uR,F(IA.$t("configNotice.title")),1)]),B("button",{onClick:QA,class:"text-gray-500 hover:text-gray-700"},[...oA[4]||(oA[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",hR,F(IA.$t("configNotice.message")),1),B("div",fR,[B("button",{onClick:L,class:"px-3 py-1 text-sm text-red-600 hover:text-red-800 font-medium"},F(IA.$t("configNotice.restart")),1)])],32)):sA("",!0),B("div",dR,[(T(),K(qA,null,Ke(f,(X,tA)=>B("div",{key:tA,class:"flex items-center"},[B("div",pR,[B("div",{class:kA(E(tA))},F(tA+1),3),B("span",mR,F(IA.$t(X.titleKey)),1)]),tA<f.length-1?(T(),K("div",yR)):sA("",!0)])),64))]),B("div",wR,[n.value===0?(T(),ye(Vd,{key:0,modelValue:u.value.chip,"onUpdate:modelValue":oA[0]||(oA[0]=X=>u.value.chip=X),onNext:D},null,8,["modelValue"])):sA("",!0),n.value===1?(T(),ye(yy,{key:1,modelValue:u.value.theme,"onUpdate:modelValue":oA[1]||(oA[1]=X=>u.value.theme=X),chipModel:u.value.chip.model,activeTab:g.value,onNext:D,onPrev:c,onTabChange:G},null,8,["modelValue","chipModel","activeTab"])):sA("",!0),n.value===2?(T(),ye(Ew,{key:2,config:u.value,onGenerate:d,onPrev:c},null,8,["config"])):sA("",!0)]),r.value?(T(),ye(QR,{key:1,config:u.value,onClose:oA[2]||(oA[2]=X=>r.value=!1),onGenerate:p,onStartFlash:N},null,8,["config"])):sA("",!0)]))}},DR=Object.freeze(Object.defineProperty({__proto__:null,default:Kl},Symbol.toStringTag,{value:"Module"})),kR={class:"min-h-screen bg-gray-50"},vR={class:"bg-white shadow-sm border-b"},FR={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},SR={class:"flex flex-col relative sm:flex-row items-start sm:items-center justify-between gap-3 sm:gap-0"},RR={class:"text-2xl font-bold text-gray-900"},bR={class:"flex items-center space-x-4"},NR={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},GR={__name:"App",setup(A){const e=EA(""),t=()=>{e.value&&(window.location.href=e.value)};return Ft(()=>{e.value=sessionStorage.getItem("devicePath")}),(i,o)=>(T(),K("div",kR,[B("header",vR,[B("div",FR,[B("div",SR,[e.value?(T(),K("div",{key:0,class:"bg-primary-500 hover:bg-primary-600 text-white px-6 py-1 rounded-md cursor-pointer",onClick:t},"返回")):sA("",!
* vue-router v4.6.4
* (c) 2025 Eduardo San Martin Morote
* @license MIT
*/const Ei=typeof document<"u";function Ol(A){return typeof A=="object"||"displayName"in A||"props"in A||"__vccOpts"in A}function LR(A){return A.__esModule||A[Symbol.toStringTag]==="Module"||A.default&&Ol(A.default)}const MA=Object.assign;function nr(A,e){const t={};for(const i in e){const o=e[i];t[i]=qe(o)?o.map(A):A(o)}return t}const zi=()=>{},qe=Array.isArray;function Ha(A,e){const t={};for(const i in A)t[i]=i in e?e[i]:A[i];return t}const Pl=/#/g,UR=/&/g,MR=/\//g,xR=/=/g,JR=/\?/g,Vl=/\+/g,TR=/%5B/g,HR=/%5D/g,Wl=/%5E/g,YR=/%60/g,ql=/%7B/g,_R=/%7C/g,jl=/%7D/g,KR=/%20/g;function Fg(A){return A==null?"":encodeURI(""+A).replace(_R,"|").replace(TR,"[").replace(HR,"]")}function OR(A){return Fg(A).replace(ql,"{").replace(jl,"}").replace(Wl,"^")}function Yr(A){return Fg(A).replace(Vl,"%2B").replace(KR,"+").replace(Pl,"%23").replace(UR,"%26").replace(YR,"`").replace(ql,"{").replace(jl,"}").replace(Wl,"^")}function PR(A){return Yr(A).replace(xR,"%3D")}function VR(A){return Fg(A).replace(Pl,"%23").replace(JR,"%3F")}function WR(A){return VR(A).replace(MR,"%2F")}function Qo(A){if(A==null)return null;try{return decodeURIComponent(""+A)}catch{}return""+A}const qR=/\/$/,jR=A=>A.replace(qR,"");function rr(A,e,t="/"){let i,o={},n="",r="";const g=e.indexOf("#");let s=e.indexOf("?");return s=g>=0&&s>g?-1:s,s>=0&&(i=e.slice(0,s),n=e.slice(s,g>0?g:e.length),o=A(n.slice(1))),g>=0&&(i=i||e.slice(0,g),r=e.slice(g,e.length)),i=$R(i??e,t),{fullPath:i+n+r,path:i,query:o,hash:Qo(r)}}function ZR(A,e){const t=e.query?A(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function Ya(A,e){return!e||!A.toLowerCase().startsWith(e.toLowerCase())?A:A.slice(e.length)||"/"}function XR(A,e,t){const i=e.matched.length-1,o=t.matched.length-1;return i>-1&&i===o&&bi(e.matched[i],t.matched[o])&&Zl(e.params,t.params)&&A(e.query)===A(t.query)&&e.hash===t.hash}function bi(A,e){return(A.aliasOf||A)===(e.aliasOf||e)}function Zl(A,e){if(Object.keys(A).length!==Object.keys(e).length)return!1;for(var t in A)if(!zR(A[t],e[t]))return!1;return!0}function zR(A,e){return qe(A)?_a(A,e):qe(e)?_a(e,A):(A==null?void 0:A.valueOf())===(e==null?void 0:e.valueOf())}function _a(A,e){return qe(e)?A.length===e.length&&A.every((t,i)=>t===e[i]):A.length===1&&A[0]===e}function $R(A,e){if(A.startsWith("/"))return A;if(!A)return e;const t=e.split("/"),i=A.split("/"),o=i[i.length-1];(o===".."||o===".")&&i.push("");let n=t.length-1,r,g;for(r=0;r<i.length;r++)if(g=i[r],g!==".")if(g==="..")n>1&&n--;else break;return t.slice(0,n).join("/")+"/"+i.slice(r).join("/")}const Gt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let _r=function(A){return A.pop="pop",A.push="push",A}({}),gr=function(A){return A.back="back",A.forward="forward",A.unknown="",A}({});function Ab(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),jR(A)}const eb=/^[^#]+#/;function tb(A,e){return A.replace(eb,"#")+e}function ib(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 Un=()=>({left:window.scrollX,top:window.scrollY});function ob(A){let e;if("el"in A){const t=A.el,i=typeof t=="string"&&t.startsWith("#"),o=typeof t=="string"?i?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!o)return;e=ib(o,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 Ka(A,e){return(history.state?history.state.position-e:-1)+A}const Kr=new Map;function nb(A,e){Kr.set(A,e)}function rb(A){const e=Kr.get(A);return Kr.delete(A),e}function gb(A){return typeof A=="string"||A&&typeof A=="object"}function Xl(A){return typeof A=="string"||typeof A=="symbol"}let XA=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 Qb=()=>location.protocol+"//"+location.host;function AB(A,e){const{pathname:t,search:i,hash:o}=e,n=A.indexOf("#");if(n>-1){let r=o.includes(A.slice(n))?A.slice(n).length:1,g=o.slice(r);return g[0]!=="/"&&(g="/"+g),Ya(g,"")}return Ya(t,A)+i+o}function cb(A,e,t,i){let o=[],n=[],r=null;const g=({state:C})=>{const Q=AB(A,location),h=t.value,f=e.value;let u=0;if(C){if(t.value=Q,e.value=C,r&&r===h){r=null;return}u=f?C.position-f.position:0}else i(Q);o.forEach(E=>{E(t.value,h,{delta:u,type:_r.pop,direction:u?u>0?gr.forward:gr.back:gr.unknown})})};function s(){r=t.value}function a(C){o.push(C);const Q=()=>{const h=o.indexOf(C);h>-1&&o.splice(h,1)};return n.push(Q),Q}function I(){if(document.visibilityState==="hidden"){const{history:C}=window;if(!C.state)return;C.replaceState(MA({},C.state,{scroll:Un()}),"")}}function l(){for(const C of n)C();n=[],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 Va(A,e,t,i=!1,o=!1){return{back:A,current:e,forward:t,replaced:i,position:window.history.length,scroll:o?Un():null}}function Eb(A){const{history:e,location:t}=window,i={value:AB(A,t)},o={value:e.state};o.value||n(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function n(s,a,I){const l=A.indexOf("#"),C=l>-1?(t.host&&document.querySelector("base")?A:A.slice(l))+s:Qb()+A+s;try{e[I?"replaceState":"pushState"](a,"",C),o.value=a}catch(Q){console.error(Q),t[I?"replace":"assign"](C)}}function r(s,a){n(s,MA({},e.state,Va(o.value.back,s,o.value.forward,!0),a,{position:o.value.position}),!0),i.value=s}function g(s,a){const I=MA({},o.value,e.state,{forward:s,scroll:Un()});n(I.current,I,!0),n(s,MA({},Va(i.value,s,null),{position:I.position+1},a),!1),i.value=s}return{location:i,state:o,push:g,replace:r}}function ub(A){A=Ab(A);const e=Eb(A),t=cb(A,e.state,e.location,e.replace);function i(n,r=!0){r||t.pauseListeners(),history.go(n)}const o=MA({location:"",base:A,go:i,createHref:tb.bind(null,A)},e,t);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>e.state.value}),o}let ni=function(A){return A[A.Static=0]="Static",A[A.Param=1]="Param",A[A.Group=2]="Group",A}({});var ne=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}(ne||{});const hb={type:ni.Static,value:""},fb=/[a-zA-Z0-9_]/;function db(A){if(!A)return[[]];if(A==="/")return[[hb]];if(!A.startsWith("/"))throw new Error(`Invalid path "${A}"`);function e(Q){throw new Error(`ERR (${t})/"${a}": ${Q}`)}let t=ne.Static,i=t;const o=[];let n;function r(){n&&o.push(n),n=[]}let g=0,s,a="",I="";function l(){a&&(t===ne.Static?n.push({type:ni.Static,value:a}):t===ne.Param||t===ne.ParamRegExp||t===ne.ParamRegExpEnd?(n.length>1&&(s==="*"||s==="+")&&e(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),n.push({type:ni.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!==ne.ParamRegExp){i=t,t=ne.EscapeNext;continue}switch(t){case ne.Static:s==="/"?(a&&l(),r()):s===":"?(l(),t=ne.Param):C();break;case ne.EscapeNext:C(),t=i;break;case ne.Param:s==="("?t=ne.ParamRegExp:fb.test(s)?C():(l(),t=ne.Static,s!=="*"&&s!=="?"&&s!=="+"&&g--);break;case ne.ParamRegExp:s===")"?I[I.length-1]=="\\"?I=I.slice(0,-1)+s:t=ne.ParamRegExpEnd:I+=s;break;case ne.ParamRegExpEnd:l(),t=ne.Static,s!=="*"&&s!=="?"&&s!=="+"&&g--,I="";break;default:e("Unknown state");break}}return t===ne.ParamRegExp&&e(`Unfinished custom RegExp for param "${a}"`),l(),r(),o}const Wa="[^/]+?",pb={sensitive:!1,strict:!1,start:!0,end:!0};var pe=function(A){return A[A._multiplier=10]="_multiplier",A[A.Root=