mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-31 03:43:57 +08:00
82 lines
907 KiB
JavaScript
82 lines
907 KiB
JavaScript
(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 Vr(A){const e=Object.create(null);for(const t of A.split(","))e[t]=1;return t=>t in e}const _A={},fi=[],nt=()=>{},iI=()=>!1,Bn=A=>A.charCodeAt(0)===111&&A.charCodeAt(1)===110&&(A.charCodeAt(2)>122||A.charCodeAt(2)<97),Wr=A=>A.startsWith("onUpdate:"),ue=Object.assign,qr=(A,e)=>{const t=A.indexOf(e);t>-1&&A.splice(t,1)},oB=Object.prototype.hasOwnProperty,JA=(A,e)=>oB.call(A,e),yA=Array.isArray,hi=A=>co(A)==="[object Map]",Qn=A=>co(A)==="[object Set]",Lg=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",oI=A=>(KA(A)||FA(A))&&FA(A.then)&&FA(A.catch),nI=Object.prototype.toString,co=A=>nI.call(A),nB=A=>co(A).slice(8,-1),rI=A=>co(A)==="[object Object]",jr=A=>ee(A)&&A!=="NaN"&&A[0]!=="-"&&""+parseInt(A,10)===A,Oi=Vr(",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))},rB=/-\w/g,Je=cn(A=>A.replace(rB,e=>e.slice(1).toUpperCase())),gB=/\B([A-Z])/g,Ii=cn(A=>A.replace(gB,"-$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)},gI=(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 Ug;const fn=()=>Ug||(Ug=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)?CB(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 sB=/;(?![^(]*\))/g,aB=/:([^]+)/,IB=/\/\*[^]*?\*\//g;function CB(A){const e={};return A.replace(IB,"").split(sB).forEach(t=>{if(t){const i=t.split(aB);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 lB="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",BB=Vr(lB);function sI(A){return!!A||A===""}function QB(A,e){if(A.length!==e.length)return!1;let t=!0;for(let i=0;t&&i<A.length;i++)t=hn(A[i],e[i]);return t}function hn(A,e){if(A===e)return!0;let t=Lg(A),i=Lg(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?QB(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||!hn(A[r],e[r]))return!1}}return String(A)===String(e)}function cB(A,e){return A.findIndex(t=>hn(t,e))}const aI=A=>!!(A&&A.__v_isRef===!0),F=A=>ee(A)?A:A==null?"":yA(A)||KA(A)&&(A.toString===nI||!FA(A.toString))?aI(A)?F(A.value):JSON.stringify(A,II,2):String(A),II=(A,e)=>aI(e)?II(A,e.value):hi(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)&&!rI(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 ve;class CI{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ve,!e&&ve&&(this.index=(ve.scopes||(ve.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=ve;try{return ve=this,e()}finally{ve=t}}}on(){++this._on===1&&(this.prevScope=ve,ve=this)}off(){this._on>0&&--this._on===0&&(ve=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 EB(A){return new CI(A)}function uB(){return ve}let OA;const Tn=new WeakSet;class lI{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,ve&&ve.active&&ve.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||QI(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Mg(this),cI(this);const e=OA,t=_e;OA=this,_e=!0;try{return this.fn()}finally{EI(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,Mg(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Tn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ir(this)&&this.run()}get dirty(){return Ir(this)}}let BI=0,Pi,Vi;function QI(A,e=!1){if(A.flags|=8,e){A.next=Vi,Vi=A;return}A.next=Pi,Pi=A}function Zr(){BI++}function Xr(){if(--BI>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 cI(A){for(let e=A.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function EI(A){let e,t=A.depsTail,i=t;for(;i;){const o=i.prevDep;i.version===-1?(i===t&&(t=o),zr(i),fB(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=o}A.deps=e,A.depsTail=t}function Ir(A){for(let e=A.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(uI(e.dep.computed)||e.dep.version!==e.version))return!0;return!!A._dirty}function uI(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||!Ir(A))))return;A.flags|=2;const e=A.dep,t=OA,i=_e;OA=A,_e=!0;try{cI(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,EI(A),A.flags&=-3}}function zr(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)zr(n,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function fB(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 fI=[];function wt(){fI.push(_e),_e=!1}function Dt(){const A=fI.pop();_e=A===void 0?!0:A}function Mg(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&&oI(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}}_B(A,t,o,i,r)}function _B(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 SI=Promise.resolve();let jo=null;function uo(A){const e=jo||SI;return A?e.then(this?A.bind(this):A):e}function KB(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 og(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(KB(e),0,A),A.flags|=1,RI()}}function RI(){jo||(jo=SI.then(NI))}function OB(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),RI()}function Jg(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 bI(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 NI(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,bI(),jo=null,(me.length||di.length)&&NI()}}let Re=null,GI=null;function Zo(A){const e=Re;return Re=A,GI=A&&A.type.__scopeId||null,e}function PB(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&&ft(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 VB=Symbol.for("v-scx"),WB=()=>rt(VB);function ae(A,e,t){return LI(A,e,t)}function LI(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=WB();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,f,h)=>Ct(Q,I,f,h);let l=!1;n==="post"?g.scheduler=Q=>{Se(Q,I&&I.suspense)}:n!=="sync"&&(l=!0,g.scheduler=(Q,f)=>{f?Q():og(Q)}),g.augmentJob=Q=>{e&&(Q.flags|=4),l&&(Q.flags|=2,I&&(Q.id=I.uid,Q.i=I))};const C=YB(A,e,g);return io&&(a?a.push(C):s&&C()),C}function qB(A,e,t){const i=this.proxy,o=ee(A)?A.includes(".")?UI(i,A):()=>i[A]:A.bind(i,i);let n;FA(e)?n=e:(n=e.handler,t=e);const r=po(this),g=LI(o,n.bind(i),t);return r(),g}function UI(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 jB=Symbol("_vte"),ZB=A=>A.__isTeleport,XB=Symbol("_leaveCb");function ng(A,e){A.shapeFlag&6&&A.component?(A.transition=e,ng(A.component.subTree,e)):A.shapeF
|
|||
|
|
* @vue/runtime-dom v3.5.26
|
|||
|
|
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|||
|
|
* @license MIT
|
|||
|
|
**/let dr;const Xg=typeof window<"u"&&window.trustedTypes;if(Xg)try{dr=Xg.createPolicy("vue",{createHTML:A=>A})}catch{}const sC=dr?A=>dr.createHTML(A):A=>A,ZQ="http://www.w3.org/2000/svg",XQ="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 o=e==="svg"?Et.createElementNS(ZQ,A):e==="mathml"?Et.createElementNS(XQ,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{zg.innerHTML=sC(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]}},$Q=Symbol("_vtc");function Ac(A,e,t){const i=A[$Q];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?A.removeAttribute("class"):t?A.setAttribute("class",e):A.className=e}const $g=Symbol("_vod"),ec=Symbol("_vsh"),tc=Symbol(""),ic=/(?:^|;)\s*display\s*:/;function oc(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[tc];r&&(t+=";"+r),i.cssText=t,n=ic.test(t)}}else e&&A.removeAttribute("style");$g in A&&(A[$g]=n?i.display:"",A[ec]&&(i.display="none"))}const As=/\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=nc(A,e);As.test(t)?A.setProperty(Ii(i),t.replace(As,""),"important"):A[i]=t}}const es=["Webkit","Moz","ms"],On={};function nc(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<es.length;o++){const n=es[o]+i;if(n in A)return On[e]=n}return e}const ts="http://www.w3.org/1999/xlink";function is(A,e,t,i,o,n=BB(e)){i&&e.startsWith("xlink:")?t==null?A.removeAttributeNS(ts,e.slice(6,e.length)):A.setAttributeNS(ts,e,t):t==null||n&&!sI(t)?A.removeAttribute(e):A.setAttribute(e,n?"":It(t)?String(t):t)}function os(A,e,t,i,o){if(e==="innerHTML"||e==="textContent"){t!=null&&(A[e]=e==="innerHTML"?sC(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=sI(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 rc(A,e,t,i){A.removeEventListener(e,t,i)}const ns=Symbol("_vei");function gc(A,e,t,i,o=null){const n=A[ns]||(A[ns]={}),r=n[e];if(i&&r)r.value=i;else{const[g,s]=sc(e);if(i){const a=n[e]=Cc(i,o);ti(A,g,a,s)}else r&&(rc(A,g,r,s),n[e]=void 0)}}const rs=/(?:Once|Passive|Capture)$/;function sc(A){let e;if(rs.test(A)){e={};let i;for(;i=A.match(rs);)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 ac=Promise.resolve(),Ic=()=>Pn||(ac.then(()=>Pn=0),Pn=Date.now());function Cc(A,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;Ct(lc(i,t.value),e,5,[i])};return t.value=A,t.attached=Ic(),t}function lc(A,e){if(yA(e)){co
|
|||
|
|
* shared v9.14.5
|
|||
|
|
* (c) 2025 kazuya kawaguchi
|
|||
|
|
* Released under the MIT License.
|
|||
|
|
*/function yc(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),wc=(A,e,t)=>Dc({l:A,k:e,s:t}),Dc=A=>JSON.stringify(A).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ae=A=>typeof A=="number"&&isFinite(A),kc=A=>IC(A)==="[object Date]",Ot=A=>IC(A)==="[object RegExp]",vn=A=>vA(A)&&Object.keys(A).length===0,Be=Object.assign,vc=Object.create,HA=(A=null)=>vc(A);let ls;const ht=()=>ls||(ls=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:HA());function Bs(A){return A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/").replace(/=/g,"=")}function Qs(A){return A.replace(/&(?![a-zA-Z0-9#]{2,6};)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function Fc(A){return A=A.replace(/(\w+)\s*=\s*"([^"]*)"/g,(i,o,n)=>`${o}="${Qs(n)}"`),A=A.replace(/(\w+)\s*=\s*'([^']*)'/g,(i,o,n)=>`${o}='${Qs(n)}'`),/\s*on\w+\s*=\s*["']?[^"'>]+["']?/gi.test(A)&&(A=A.replace(/(\s+)(on)(\w+\s*=)/gi,"$1on$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:")}),A}const Sc=Object.prototype.hasOwnProperty;function He(A,e){return Sc.call(A,e)}const WA=Array.isArray,PA=A=>typeof A=="function",aA=A=>typeof A=="string",RA=A=>typeof A=="boolean",UA=A=>A!==null&&typeof A=="object",Rc=A=>UA(A)&&PA(A.then)&&PA(A.catch),aC=Object.prototype.toString,IC=A=>aC.call(A),vA=A=>{if(!UA(A))return!1;const e=Object.getPrototypeOf(A);return e===null||e.constructor===Object},bc=A=>A==null?"":WA(A)||vA(A)&&A.toString===aC?JSON.stringify(A,null,2):String(A);function Nc(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 Gc(A,e,t){return{line:A,column:e,offset:t}}function rn(A,e,t){return{start:A,end:e}}const Lc=/\{([0-9a-zA-Z]+)\}/g;function CC(A,...e){return e.length===1&&Uc(e[0])&&(e=e[0]),(!e||!e.hasOwnProperty)&&(e={}),A.replace(Lc,(t,i)=>e.hasOwnProperty(i)?e[i]:"")}const lC=Object.assign,cs=A=>typeof A=="string",Uc=A=>A!==null&&typeof A=="object";function BC(A,e=""){return A.reduce((t,i,o)=>o===0?t+i:t+e+i,"")}const ag={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Mc={[ag.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function xc(A,e,...t){const i=CC(Mc[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},Jc={[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=CC((o||Jc)[A]||"",...n||[]),g=new SyntaxError(String(r));return g.code=A,e&&(g.location=e),g.domain=i,g}function Tc(A){throw A}const Bt=" ",Hc="\r",de=`
|
|||
|
|
`,Yc="\u2028",_c="\u2029";function Kc(A){const e=A;let t=0,i=1,o=1,n=0;const r=b=>e[b]===Hc&&e[b+1]===de,g=b=>e[b]===de,s=b=>e[b]===_c,a=b=>e[b]===Yc,I=b=>r(b)||g(b)||s(b)||a(b),l=()=>t,C=()=>i,Q=()=>o,f=()=>n,h=b=>r(b)||s(b)||a(b)?de:e[b],u=()=>h(t),E=()=>h(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 p(){t=0,i=1,o=1,n=0}function d(b=0){n=b}function v(){const b=t+n;for(;b!==t;)D();n=0}return{index:l,line:C,column:Q,peekOffset:f,charAt:h,currentChar:u,currentPeek:E,next:D,peek:c,reset:p,resetPeek:d,skipToPeek:v}}const Rt=void 0,Oc=".",Es="'",Pc="tokenizer";function Vc(A,e={}){const t=e.location!==!1,i=Kc(A),o=()=>i.index(),n=()=>Gc(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,L,...O){const gA=a();if(y.column+=L,y.offset+=L,I){const X=t?rn(gA.startLoc,y):null,G=Gi(m,X,{domain:Pc,args:O});I(G)}}function C(m,y,L){m.endLoc=n(),m.currentType=y;const O={type:y};return t&&(O.loc=rn(m.startLoc,m.endLoc)),L!=null&&(O.value=L),O}const Q=m=>C(m,14);function f(m,y){return m.currentChar()===y?(m.next(),y):(l(pA.EXPECTED_TOKEN,n(),0,y),"")}function h(m){let y="";for(;m.currentPeek()===Bt||m.currentPeek()===de;)y+=m.currentPeek(),m.peek();return y}function u(m){const y=h(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:L}=y;if(L!==2)return!1;h(m);const O=E(m.currentPeek());return m.resetPeek(),O}function p(m,y){const{currentType:L}=y;if(L!==2)return!1;h(m);const O=m.currentPeek()==="-"?m.peek():m.currentPeek(),gA=D(O);return m.resetPeek(),gA}function d(m,y){const{currentType:L}=y;if(L!==2)return!1;h(m);const O=m.currentPeek()===Es;return m.resetPeek(),O}function v(m,y){const{currentType:L}=y;if(L!==8)return!1;h(m);const O=m.currentPeek()===".";return m.resetPeek(),O}function b(m,y){const{currentType:L}=y;if(L!==9)return!1;h(m);const O=E(m.currentPeek());return m.resetPeek(),O}function N(m,y){const{currentType:L}=y;if(!(L===8||L===12))return!1;h(m);const O=m.currentPeek()===":";return m.resetPeek(),O}function H(m,y){const{currentType:L}=y;if(L!==10)return!1;const O=()=>{const X=m.currentPeek();return X==="{"?E(m.peek()):X==="@"||X==="%"||X==="|"||X===":"||X==="."||X===Bt||!X?!1:X===de?(m.peek(),O()):R(m,!1)},gA=O();return m.resetPeek(),gA}function M(m){h(m);const y=m.currentPeek()==="|";return m.resetPeek(),y}function U(m){const y=h(m),L=m.currentPeek()==="%"&&m.peek()==="{";return m.resetPeek(),{isModulo:L,hasSpace:y.length>0}}function R(m,y=!0){const L=(gA=!1,X="",G=!1)=>{const P=m.currentPeek();return P==="{"?X==="%"?!1:gA:P==="@"||!P?X==="%"?!0:gA:P==="%"?(m.peek(),L(gA,"%",!0)):P==="|"?X==="%"||G?!0:!(X===Bt||X===de):P===Bt?(m.peek(),L(!0,Bt,G)):P===de?(m.peek(),L(!0,de,G)):!0},O=L();return y&&m.resetPeek(),O}function j(m,y){const L=m.currentChar();return L===Rt?Rt:y(L)?(m.next(),L):null}function rA(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 j(m,rA)}function AA(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 z(m){return j(m,AA)}function oA(m){const y=m.charCodeAt(0);return y>=48&&y<=57}function dA(m){return j(m,oA)}function Y(m){const y=m.charCodeAt(0);return y>=48&&y<=57||y>=65&&y<=70||y>=97&&y<=102}function W(m){return j(m,Y)}function $(m){let y="",L="";for(;y=dA(m);)L+=y;return L}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 L=m.currentChar();if(L==="{"||L==="}"||L==="@"||L==="|"||!L)break;if(L==="%")if(R(m))y+=L,m.next();else break;else if(L===Bt||L===de)if(R(m))y+=L,m.next();else{if(M(m))break;y+=L,m.next()}else y+=L,m.next()}return y}function oe(m){u(m);let y="",L="";for(;y=z(m);
|
|||
|
|
`,n=e.needIndent?e.needIndent:t!=="arrow",r=A.helpers||[],g=tE(A,{filename:i,breakLineCode:o,needIndent:n});g.push(t==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),g.indent(n),r.length>0&&(g.push(`const { ${BC(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 sE(A,e={}){const t=lC({},e),i=!!t.jit,o=!!t.minify,n=t.optimize==null?!0:t.optimize,g=Zc(t).parse(A);return i?(n&&$c(g),o&&ci(g),{ast:g,code:""}):(zc(g,t),gE(g,t))}/*!
|
|||
|
|
* core-base v9.14.5
|
|||
|
|
* (c) 2025 kazuya kawaguchi
|
|||
|
|
* Released under the MIT License.
|
|||
|
|
*/function aE(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ht().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ht().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ht().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}function st(A){return UA(A)&&Cg(A)===0&&(He(A,"b")||He(A,"body"))}const QC=["b","body"];function IE(A){return Wt(A,QC)}const cC=["c","cases"];function CE(A){return Wt(A,cC,[])}const EC=["s","static"];function lE(A){return Wt(A,EC)}const uC=["i","items"];function BE(A){return Wt(A,uC,[])}const fC=["t","type"];function Cg(A){return Wt(A,fC)}const hC=["v","value"];function bo(A,e){const t=Wt(A,hC);if(t!=null)return t;throw oo(e)}const dC=["m","modifier"];function QE(A){return Wt(A,dC)}const pC=["k","key"];function cE(A){const e=Wt(A,pC);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 mC=[...QC,...cC,...EC,...uC,...pC,...dC,...hC,...fC];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 EE=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function uE(A){return EE.test(A)}function fE(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 dE(A){const e=A.trim();return A.charAt(0)==="0"&&isNaN(parseInt(A))?!1:uE(e)?fE(e):"*"+e}function pE(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=dE(r),r===!1))return!1;C[1]()}};function Q(){const f=A[t+1];if(i===5&&f==="'"||i===6&&f==='"')return t++,g="\\"+f,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 mE(A,e){return UA(A)?A[e]:null}function yE(A,e){if(!UA(A))return null;let t=hs.get(e);if(t||(t=pE(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(mC.includes(r)&&st(o))return null;const g=o[r];if(g===void 0||PA(o))return null;o=g,n++}return o}const wE=A=>A,DE=A=>"",kE="text",vE=A=>A.length===0?"":Nc(A),FE=bc;function ds(A,e){return A=Math.abs(A),e===2?A?A>1?1:0:1:A?Math.min(A,2):0}function SE(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 RE(A,e){e.count||(e.count=A),e.n||(e.n=A)}function bE(A={}){const e=A.locale,t=SE(A),i=UA(A.pluralRules)&&aA(e)&&PA(A.pluralRules[e])?A.pluralRules[e]:ds,o=UA(A.pluralRules)&&aA(e)&&PA(A.pluralRules[e])?ds:void 0,n=E=>E[i(t,E.length,o)],r=A.list||[],g=E=>r[E],s=A.named||HA();Ae(A.pluralIndex)&&RE(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):DE)}const l=E=>A.modifiers?A.modifiers[E]:wE,C=vA(A.processor)&&PA(A.processor.normalize)?A.processor.normalize:vE,Q=vA(A.processor)&&PA(A.processor.interpolate)?A.processor.interpolate:FE,f=vA(A.processor)&&aA(A.processor.type)?A.processor.type:kE,u={list:g,named:a,plural:n,linked:(E,...D)=>{const[c,p]=D;let d="text",v="";D.length===1?UA(c)?(v=c.modifier||v,d=c.type||d):aA(c)&&(v=c||v):D.length===2&&(aA(c)&&(v=c||v),aA(p)&&(d=p||d));const b=I(E)(u),N=d==="vnode"&&WA(b)&&v?b[0]:b;return v?l(v)(N,d):N},message:I,type:f,interpolate:Q,normalize:C,values:Be(HA(),r,s)};return u}let no=null;function NE(A){no=A}f
|
|||
|
|
* vue-i18n v9.14.5
|
|||
|
|
* (c) 2025 kazuya kawaguchi
|
|||
|
|
* Released under the MIT License.
|
|||
|
|
*/const ou="9.14.5";function nu(){typeof __VUE_I18N_FULL_INSTALL__!="boolean"&&(ht().__VUE_I18N_FULL_INSTALL__=!0),typeof __VUE_I18N_LEGACY_API__!="boolean"&&(ht().__VUE_I18N_LEGACY_API__=!0),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(ht().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(ht().__INTLIFY_DROP_MESSAGE_COMPILER__=!1),typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(ht().__INTLIFY_PROD_DEVTOOLS__=!1)}const ru=xE.__EXTEND_POINT__,Qt=Fn(ru);Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt(),Qt();const MC=Ye.__EXTEND_POINT__,De=Fn(MC),re={UNEXPECTED_RETURN_TYPE:MC,INVALID_ARGUMENT:De(),MUST_BE_CALL_SETUP_TOP:De(),NOT_INSTALLED:De(),NOT_AVAILABLE_IN_LEGACY_MODE:De(),REQUIRED_VALUE:De(),INVALID_VALUE:De(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:De(),NOT_INSTALLED_WITH_PROVIDE:De(),UNEXPECTED_ERROR:De(),NOT_COMPATIBLE_LEGACY_VUE_I18N:De(),BRIDGE_SUPPORT_VUE_2_ONLY:De(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:De(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:De(),__EXTEND_POINT__:De()};function Ie(A,...e){return Gi(A,null,void 0)}const kr=Vt("__translateVNode"),vr=Vt("__datetimeParts"),Fr=Vt("__numberParts"),xC=Vt("__setPluralRules"),JC=Vt("__injectWithOption"),Sr=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)?mC.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 aA(g)&&Oo(JSON.parse(g),r)}),o==null&&n)for(const g in r)He(r,g)&&ro(r[g]);return r}function TC(A){return A.type}function HC(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 Us(A){return TA(ho,null,A,0)}const Ms="__INTLIFY_META__",xs=()=>[],gu=()=>!1;let Js=0;function Ts(A){return(e,t,i,o)=>A(t,i,vi()||void 0,o)}const su=()=>{const A=vi();let e=null;return A&&(e=TC(A)[Ms])?{[Ms]:e}:null};function Qg(A={},e){const{__root:t,__injectWithOption:i}=A,o=t===void 0,n=A.flatJson,r=nn?uA:ig,g=!!A.translateExistCompatible;let s=RA(A.inheritLocale)?A.inheritLocale:!0;const a=r(t&&s?t.locale.value:aA(A.locale)?A.locale:Si),I=r(t&&s?t.fallbackLocale.value:aA(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 f=t?t.missingWarn:RA(A.missingWarn)||Ot(A.missingWarn)?A.missingWarn:!0,h=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)?Ts(A.missing):null,p=PA(A.postTranslation)?A.postTranslation:null,d=t?t.warnHtmlMessage:RA(A.warnHtmlMessage)?A.warnHtmlMessage:!0,v=!!A.escapeParameter;const b=t?t.modifiers:vA(A.modifiers)?A.modifiers:{};let N=A.pluralRules||t&&t.pluralRules,H;H=(()=>{o&&ks(null);const G={version:ou,locale:a.value,fallbackLocale:I.value,messages:l.value,modifiers:b,pluralRules:N,missing:c===null?void 0:c,missingWarn:f,fallbackWarn:h,fallbackFormat:E,unresolving:!0,postTranslation:p===null?void 0:p,warnHtmlMessage:d,escapeParameter:v,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"},Ff={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}"},Sf={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"}},Rf={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"},bf={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"}},Nf={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:"检测到不兼容的表情数据,请重新配置"},Pf={authTokenMissing:"未找到认证令牌",checkingDeviceStatus:"检查设备状态...",deviceOfflineOrUnresponsive:"设备不存在或不在线",unableToGetDeviceStatus:"无法获取设备状态",initializingTransferService:"初始化传输服务...",initializeTransferFailed:"初始化传输服务失败: {error}",uploadingFile:"上传文件中...",uploadFailed:"上传文件失败",settingDeviceDownloadUrl:"设置设备下载URL...",setDownloadUrlFailed:"设置下载URL失败: {error}",rebootingDevice:"重启设备...",waitingForDeviceReboot:"等待设备重启...",deviceRebootTimeout:"等待设备重启超时(60秒)",deviceReady:"设备就绪,请等待程序烧录",startingFileTransfer:"开始传输文件...",flashCompleted:"程序烧录中,请留意固件的烧录状态!",onlineFlashFailed:"在线烧录失败: {error}"},Vf={online:"在线",offline:"离线",checking:"检查中...",flashing:"烧录中...",ready:"就绪",chip:"芯片",board:"开发板",flash:"Flash",screen:"屏幕",signal:{unknown:"未知",strong:"强",medium:"中等",weak:"弱",none:"无信号"}},Wf={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:"屏幕分辨率格式错误"},qf={title:"步骤 2: 主题设计",description:"配置唤醒词、字体、表情和背景来自定义您的小智AI主题。",previous:"上一步",next:"下一步",tabs:{wakeword:"唤醒词配置",font:"字体配置",emoji:"表情集合",background:"聊天背景"}},jf={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:"颜色"},Zf={title:"聊天背景配置",description:"配置浅色模式和深色模式的聊天背景,支持纯色或自定义图片。",lightMode:"浅色模式背景",darkMode:"�
|
|||
|
|
|
|||
|
|
新版本使用檔案去重技術,可以節省儲存空間。
|
|||
|
|
|
|||
|
|
請重新上傳自訂表情圖片。`,incompatibleEmojiData:"檢測到不相容的表情資料,請重新配置"},Ih={authTokenMissing:"未找到認證令牌",checkingDeviceStatus:"檢查設備狀態...",deviceOfflineOrUnresponsive:"設備不存在或不線上",unableToGetDeviceStatus:"無法獲取設備狀態",initializingTransferService:"初始化傳輸服務...",initializeTransferFailed:"初始化傳輸服務失敗: {error}",uploadingFile:"上傳文件中...",uploadFailed:"上傳文件失敗",settingDeviceDownloadUrl:"設置設備下載URL...",setDownloadUrlFailed:"設置下載URL失敗: {error}",rebootingDevice:"重啟設備...",waitingForDeviceReboot:"等待設備重啟...",deviceRebootTimeout:"等待設備重啟超時(60秒)",deviceReady:"设备就绪,请等待程序烧录",startingFileTransfer:"開始檔案傳輸...",flashCompleted:"程式燒錄中,請留意固件的燒錄狀態!",onlineFlashFailed:"線上燒錄失敗: {error}"},Ch={online:"線上",offline:"離線",checking:"檢查中...",flashing:"燒錄中...",ready:"就緒",chip:"晶片",board:"開發板",flash:"Flash",screen:"螢幕",signal:{unknown:"未知",strong:"強",medium:"中等",weak:"弱",none:"無訊號"}},lh={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:"螢幕解析度格式錯誤"},Bh={title:"步驟 2: 主題設計",description:"配置喚醒詞、字體、表情和背景來自訂您的小智AI主題。",previous:"上一步",next:"下一步",tabs:{wakeword:"喚醒詞配置",font:"字體配置",emoji:"表情集合",background:"聊天背景"}},Qh={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:"顏色"},ch={title:"聊天背景配置",description:"配置淺色模式和深色模式的聊天背景,支援純色或自訂圖片。",lightMode:"淺色模式背景",darkMode:"深色模式背景"
|
|||
|
|
|
|||
|
|
新しいバージョンはファイル重複除去技術を使用してストレージスペースを節約します。
|
|||
|
|
|
|||
|
|
カスタム絵文字画像を再アップロードしてください。`,incompatibleEmojiData:"互換性のない絵文字データを検出しました、再設定してください"},Fh={authTokenMissing:"認証トークンが見つかりません",checkingDeviceStatus:"デバイスの状態を確認中...",deviceOfflineOrUnresponsive:"デバイスが存在しないか、オンラインではありません",unableToGetDeviceStatus:"デバイスの状態を取得できません",initializingTransferService:"転送サービスを初期化中...",initializeTransferFailed:"転送サービスの初期化に失敗しました: {error}",uploadingFile:"ファイルをアップロード中...",uploadFailed:"ファイルのアップロードに失敗しました",settingDeviceDownloadUrl:"デバイスダウンロードURLを設定中...",setDownloadUrlFailed:"ダウンロードURLの設定に失敗しました: {error}",rebootingDevice:"デバイスを再起動中...",waitingForDeviceReboot:"デバイスの再起動を待機中...",deviceRebootTimeout:"デバイスの再起動タイムアウト(60秒)",deviceReady:"デバイスが準備できました。プログラムの書き込みをお待ちください",startingFileTransfer:"ファイル転送を開始中...",flashCompleted:"プログラムの書き込み中、ファームウェアの書き込み状態に注意してください!",onlineFlashFailed:"オンライン書き込みに失敗しました: {error}"},Sh={online:"オンライン",offline:"オフライン",checking:"確認中...",flashing:"書き込み中...",ready:"準備完了",chip:"チップ",board:"ボード",flash:"Flash",screen:"画面",signal:{unknown:"不明",strong:"強",medium:"中",weak:"弱",none:"信号なし"}},Rh={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:"画面解像度形式エラー"},bh={title:"ステップ2: テーマデザイン",description:"ウェイクワード、フォント、絵文字、背景を設定して、小智AIテーマをカスタマイズします。",previous:"前へ",next:"次へ",tabs:{wakeword:"ウェイクワード設定",font:"フォント設定",emoji:"絵文字コレクション",background:"チャット背景"}},Nh={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"},Vh={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}"},Wh={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"}},qh={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"},jh={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"}},Zh={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: '${rA}';
|
|||
|
|
src: url('${IA}') format('truetype');
|
|||
|
|
font-display: swap;
|
|||
|
|
}
|
|||
|
|
`,document.head.appendChild(AA),await document.fonts.load(`16px "${rA}"`),g.value=rA,r.value=!0}else if(t.config.theme.font.custom.file)try{const j=t.config.theme.font.custom.file;if(!j||typeof j!="object"||!j.size)throw new Error("字体文件对象无效");const rA="CustomFontPreview",IA=URL.createObjectURL(j),AA=document.createElement("style");AA.setAttribute("data-font-preview","true"),AA.textContent=`
|
|||
|
|
@font-face {
|
|||
|
|
font-family: '${rA}';
|
|||
|
|
src: url('${IA}');
|
|||
|
|
font-display: swap;
|
|||
|
|
}
|
|||
|
|
`,document.head.appendChild(AA),await document.fonts.load(`16px "${rA}"`),g.value=rA,r.value=!0}catch(j){console.warn("自定义字体预览加载失败:",j),g.value="Arial, sans-serif",r.value=!0}else g.value="system-ui",r.value=!0}catch(j){console.warn("Font loading failed:",j),g.value="system-ui",r.value=!0}},E=()=>r.value&&g.value?`"${g.value}", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif`:'"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif',D={twemoji32:"png",twemoji64:"png","noto-emoji_64":"gif","noto-emoji_128":"gif"},c=R=>{if(t.config.theme.emoji.type==="preset"){const j=t.config.theme.emoji.preset,rA=D[j]||"png";return`./static/emojis/${j}/${R}.${rA}`}else if(t.config.theme.emoji.type==="custom"&&t.config.theme.emoji.custom.images[R])try{const j=t.config.theme.emoji.custom.images[R];if(j&&typeof j=="object"&&j.size)return URL.createObjectURL(j)}catch(j){console.warn(`表情图片预览加载失败 (${R}):`,j)}return null},p=R=>{const j=s.value.find(rA=>rA.key===R);return j?j.emoji:"😶"},d=()=>{if(t.config.theme.emoji.type==="preset"){const R=Q[t.config.theme.emoji.preset]||32;return Math.min(R+16,80)}else if(t.config.theme.emoji.custom.size){const R=Math.min(t.config.theme.emoji.custom.size.width,t.config.theme.emoji.custom.size.height);return Math.min(R+16,80)}return 48},v=()=>{if(t.config.theme.emoji.type==="preset"){const R=Q[t.config.theme.emoji.preset]||32;return Math.min(R,64)}else if(t.config.theme.emoji.custom.size)return Math.min(t.config.theme.emoji.custom.size.width,t.config.theme.emoji.custom.size.height,64);return 32},b=R=>{o.value=R},N=()=>{const R=t.config.theme.wakeword;return!R||R.type==="none"?e("wakewordConfig.noWakeword"):R.type==="preset"?{wn9s_hilexin:"Hi,乐鑫",wn9s_hiesp:"Hi,ESP",wn9s_nihaoxiaozhi:"你好小智",wn9_nihaoxiaozhi_tts:"你好小智",wn9_alexa:"Alexa",wn9_jarvis_tts:"Jarvis"}[R.preset]||R.preset:R.type==="custom"?R.custom.name||e("wakewordConfig.customWakeword"):e("wakewordConfig.noWakeword")},H=()=>{if(t.config.theme.font.type==="preset")return e("fontConfig.presetFontNames."+t.config.theme.font.preset)||t.config.theme.font.preset;{const R=t.config.theme.font.custom;return e("generateSummary.customFont",{size:R.size})}},M=()=>{if(t.config.theme.emoji.type==="preset"&&t.config.theme.emoji.preset)return{twemoji32:"Twemoji 32×32",twemoji64:"Twemoji 64×64","noto-emoji_64":"Noto Emoji 64×64","noto-emoji_128":"Noto Emoji 128×128"}[t.config.theme.emoji.preset]||t.config.theme.emoji.preset;if(t.config.theme.emoji.type==="custom"){const R=Object.keys(t.config.theme.emoji.custom.images).length;return e("generateSummary.customEmoji",{count:R})}else return t.config.theme.emoji.type==="none"?e("emojiConfig.noEmojiPack"):e("generateSummary.notConfigured")},U=()=>{const R=t.config.theme.skin.light.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color"),j=t.config.theme.skin.dark.backgroundType==="image"?e("generateSummary.image"):e("generateSummary.color");return e("generateSummary.skinLight",{type:R})+"/"+e("generateSummary.skinDark",{type:j})};return ae(()=>t.config.theme.font,()=>{u()},{deep:!0}),Ft(async()=>{a.value.length>0?o.value=a.value[0].key:o.value="",await u()}),Ci(()=>{document.querySelectorAll("style[data-font-preview]").forEach(j=>j.remove())}),(R,j)=>(T(),K("div",ky,[B("div",null,[B("h2",vy,F(R.$t("generateSummary.title")),1),B("p",Fy,F(R.$t("generateSummary.description")),1)]),B("div",Sy,[B("div",Ry,[B("h3",by,F(R.$t("generateSummary.devicePreview")),1),B("div",Ny,[B("div",Gy,[B("div",Ly,[B("div",Uy,[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",My,[B("div",xy,[o.value&&a.value.length>0?(T(),K("div",Jy,[I.value?(T(),K("img",{key:0,src:I.value,alt:o.value,style:VA(f()),class:"emoji-image"},null,12,Ty)):(T(),K("div",{key:1,style:VA(f()),class:"emoji-fallback bg-gray-200 rounded-full flex items-center justify-center text-2xl"},F(p(o.value)),5))])):(T
|
|||
|
|
`).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 gS=new rS;class sS{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 f=[];for(let u=0;u<Q.data.length;u++){const E=Q.data[u];var h;E.name.includes(".txt")?(h=new File([E.file],E.name,{type:"text/plain"}),f.push(h)):(h=new File([E.file],E.name,{type:"image/gif"}),f.push(h))}a.terminate(),e(f)},a.onerror=function(Q){console.error(Q),a.terminate(),e(null)}})}};class IS{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 f=((1-Q.size/e.size)*100).toFixed(2);console.log(`压缩率: ${f}%`)}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(oA){console.error("清理旧表情数据时出错:",oA)}},U=async()=>{try{await Qe.saveConfig(u.value)}catch(IA){console.error("保存配置失败:",IA)}},R=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 U()},{deep:!0}),Ft(async()=>{await Qe.initialize(),await H()}),Ci(()=>{Q.value&&(clearTimeout(Q.value),clearInterval(o.value))});const j=()=>{s.value=!1,Q.value&&clearTimeout(Q.value)},rA=()=>{Q.value&&clearTimeout(Q.value),Q.value=setTimeout(()=>{s.value=!1},5e3)};return(IA,AA)=>(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:rA},[B("div",ER,[B("div",uR,[AA[3]||(AA[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",fR,F(IA.$t("configNotice.title")),1)]),B("button",{onClick:j,class:"text-gray-500 hover:text-gray-700"},[...AA[4]||(AA[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",dR,[B("button",{onClick:R,class:"px-3 py-1 text-sm text-red-600 hover:text-red-800 font-medium"},F(IA.$t("configNotice.restart")),1)])],32)):CA("",!0),B("div",pR,[(T(),K(qA,null,Ke(h,(z,oA)=>B("div",{key:oA,class:"flex items-center"},[B("div",mR,[B("div",{class:kA(E(oA))},F(oA+1),3),B("span",yR,F(IA.$t(z.titleKey)),1)]),oA<h.length-1?(T(),K("div",wR)):CA("",!0)])),64))]),B("div",DR,[n.value===0?(T(),ye(Wd,{key:0,modelValue:u.value.chip,"onUpdate:modelValue":AA[0]||(AA[0]=z=>u.value.chip=z),onNext:D},null,8,["modelValue"])):CA("",!0),n.value===1?(T(),ye(wy,{key:1,modelValue:u.value.theme,"onUpdate:modelValue":AA[1]||(AA[1]=z=>u.value.theme=z),chipModel:u.value.chip.model,activeTab:g.value,onNext:D,onPrev:c,onTabChange:N},null,8,["modelValue","chipModel","activeTab"])):CA("",!0),n.value===2?(T(),ye(uw,{key:2,config:u.value,onGenerate:p,onPrev:c},null,8,["config"])):CA("",!0)]),r.value?(T(),ye(cR,{key:1,config:u.value,onClose:AA[2]||(AA[2]=z=>r.value=!1),onGenerate:d,onStartFlash:b},null,8,["config"])):CA("",!0)]))}},kR=Object.freeze(Object.defineProperty({__proto__:null,default:Ol},Symbol.toStringTag,{value:"Module"})),vR={class:"min-h-screen bg-gray-50"},FR={class:"bg-white shadow-sm border-b"},SR={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4"},RR={class:"flex flex-col relative sm:flex-row items-start sm:items-center justify-between gap-3 sm:gap-0"},bR={class:"text-2xl font-bold text-gray-900"},NR={class:"flex items-center space-x-4"},GR={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},LR={__name:"App",setup(A){const{t:e}=we(),t=uA(""),i=()=>{t.value&&(window.location.href=t.value)};return Ft(()=>{t.value=sessionStorage.getItem("devicePath"),document.title=e("app.title")}),(o,n)=>(T(),K("div",vR,[B("header",FR,[B("div",SR,[B("div",RR,[t.value?(T(),K("div",{key:0,class:"bg-primary-500 hover:bg-primary-600 text-white px-6 py-1 rounded-md cursor-
|
|||
|
|
* vue-router v4.6.4
|
|||
|
|
* (c) 2025 Eduardo San Martin Morote
|
|||
|
|
* @license MIT
|
|||
|
|
*/const Ei=typeof document<"u";function Pl(A){return typeof A=="object"||"displayName"in A||"props"in A||"__vccOpts"in A}function UR(A){return A.__esModule||A[Symbol.toStringTag]==="Module"||A.default&&Pl(A.default)}const MA=Object.assign;function rr(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 Ya(A,e){const t={};for(const i in A)t[i]=i in e?e[i]:A[i];return t}const Vl=/#/g,MR=/&/g,xR=/\//g,JR=/=/g,TR=/\?/g,Wl=/\+/g,HR=/%5B/g,YR=/%5D/g,ql=/%5E/g,_R=/%60/g,jl=/%7B/g,KR=/%7C/g,Zl=/%7D/g,OR=/%20/g;function Sg(A){return A==null?"":encodeURI(""+A).replace(KR,"|").replace(HR,"[").replace(YR,"]")}function PR(A){return Sg(A).replace(jl,"{").replace(Zl,"}").replace(ql,"^")}function _r(A){return Sg(A).replace(Wl,"%2B").replace(OR,"+").replace(Vl,"%23").replace(MR,"%26").replace(_R,"`").replace(jl,"{").replace(Zl,"}").replace(ql,"^")}function VR(A){return _r(A).replace(JR,"%3D")}function WR(A){return Sg(A).replace(Vl,"%23").replace(TR,"%3F")}function qR(A){return WR(A).replace(xR,"%2F")}function Qo(A){if(A==null)return null;try{return decodeURIComponent(""+A)}catch{}return""+A}const jR=/\/$/,ZR=A=>A.replace(jR,"");function gr(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=Ab(i??e,t),{fullPath:i+n+r,path:i,query:o,hash:Qo(r)}}function XR(A,e){const t=e.query?A(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function _a(A,e){return!e||!A.toLowerCase().startsWith(e.toLowerCase())?A:A.slice(e.length)||"/"}function zR(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])&&Xl(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 Xl(A,e){if(Object.keys(A).length!==Object.keys(e).length)return!1;for(var t in A)if(!$R(A[t],e[t]))return!1;return!0}function $R(A,e){return qe(A)?Ka(A,e):qe(e)?Ka(e,A):(A==null?void 0:A.valueOf())===(e==null?void 0:e.valueOf())}function Ka(A,e){return qe(e)?A.length===e.length&&A.every((t,i)=>t===e[i]):A.length===1&&A[0]===e}function Ab(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 Kr=function(A){return A.pop="pop",A.push="push",A}({}),sr=function(A){return A.back="back",A.forward="forward",A.unknown="",A}({});function eb(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),ZR(A)}const tb=/^[^#]+#/;function ib(A,e){return A.replace(tb,"#")+e}function ob(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 nb(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=ob(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 Oa(A,e){return(history.state?history.state.position-e:-1)+A}const Or=new Map;function rb(A,e){Or.set(A,e)}function gb(A){const e=Or.get(A);return Or.delete(A),e}function sb(A){return typeof A=="string"||A&&typeof A=="object"}function zl(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 cb=()=>location.protocol+"//"+location.host;function eB(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),_a(g,"")}return _a(t,A)+i+o}function Eb(A,e,t,i){let o=[],n=[],r=null;const g=({state:C})=>{const Q=eB(A,location),f=t.value,h=e.value;let u=0;if(C){if(t.value=Q,e.value=C,r&&r===f){r=null;return}u=h?C.position-h.position:0}else i(Q);o.forEach(E=>{E(t.value,f,{delta:u,type:Kr.pop,direction:u?u>0?sr.forward:sr.back:sr.unknown})})};function s(){r=t.value}function a(C){o.push(C);const Q=()=>{const f=o.indexOf(C);f>-1&&o.splice(f,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 Wa(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 ub(A){const{history:e,location:t}=window,i={value:eB(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:cb()+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,Wa(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({},Wa(i.value,s,null),{position:I.position+1},a),!1),i.value=s}return{location:i,state:o,push:g,replace:r}}function fb(A){A=eb(A);const e=ub(A),t=Eb(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:ib.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:""},db=/[a-zA-Z0-9_]/;function pb(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:db.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 qa="[^/]+?",mb={sensitive:!1,strict:!1,start:!0,end:!0};var pe=function(A){return A[A._multiplier=10]="_multiplier",A[A.Root=
|