opencode-global-habit-profile 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 GNR092
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,69 @@
1
- # Temporary Holding Version
1
+ # Habit Memory
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ Plugin local de OpenCode para guardar hábitos agregados, checkpoints y TODOs vinculados a proyectos. No conserva el texto de las conversaciones ni de los prompts.
4
+
5
+ ## Instalación
6
+
7
+ ### Desde npm
8
+
9
+ Añade el paquete a `plugins` en la configuración global de OpenCode (`~/.config/opencode/opencode.json`):
10
+
11
+ ```json
12
+ {
13
+ "plugins": ["opencode-global-habit-profile"]
14
+ }
15
+ ```
16
+
17
+ OpenCode lo carga desde npm; no hace falta clonar ni compilar. Si la configuración no se recarga sola, ejecuta `/reload`.
18
+
19
+ ### Desde el repositorio
20
+
21
+ Requiere Node.js 20 o posterior. Clona el repositorio y compila la WebUI:
22
+
23
+ ```sh
24
+ git clone git@github.com:GNR092/opencode-habit-memory.git
25
+ cd opencode-habit-memory
26
+ npm ci
27
+ npm run build
28
+ ```
29
+
30
+ Añade la ruta absoluta del proyecto a `plugins`:
31
+
32
+ ```json
33
+ {
34
+ "plugins": ["/ruta/absoluta/al/opencode-habit-memory"]
35
+ }
36
+ ```
37
+
38
+ Los datos se guardan en `$XDG_DATA_HOME/habit-memory-plugin/store-v1.json`; si `XDG_DATA_HOME` no está definido, se usa `~/.local/share/habit-memory-plugin/store-v1.json`.
39
+
40
+ ## WebUI
41
+
42
+ La interfaz local tiene vistas separadas para informes, checkpoints y TODOs por proyecto; los grupos muestran el directorio cuando se conoce. Se actualiza en vivo cuando cambia el store local, sin recargar la página. En OpenCode, `/habit-memory-ui` la inicia y muestra su dirección; `/habit-memory-ui-stop` la detiene. También se puede iniciar desde el proyecto con:
43
+
44
+ ```sh
45
+ npm run ui
46
+ ```
47
+
48
+ El puerto predeterminado es `43109`; se puede cambiar con `HABIT_MEMORY_UI_PORT`.
49
+
50
+ ## Publicación
51
+
52
+ ```sh
53
+ npm login
54
+ npm publish
55
+ ```
56
+
57
+ `prepublishOnly` ejecuta las pruebas y el build. El paquete incluye `dist/`, así que quien lo instala desde npm no necesita compilar.
58
+
59
+ ## Pruebas
60
+
61
+ ```sh
62
+ npm test
63
+ ```
64
+
65
+ Para configurar el servidor MCP local en clientes compatibles, consulta [`docs/mcp-setup.md`](docs/mcp-setup.md).
66
+
67
+ ## Licencia
68
+
69
+ MIT. Consulta [`LICENSE`](LICENSE).
@@ -0,0 +1 @@
1
+ :root{color-scheme:dark;--canvas: #0b1119;--surface: #101923;--surface-raised: #141f2b;--ink: #dce6ed;--muted: #91a2b1;--brand: #59d6c8;--danger: #ed8589;--series-commands: #b69af7;--line: color-mix(in srgb, var(--ink) 12%, transparent);--line-soft: color-mix(in srgb, var(--ink) 7%, transparent);--focus: var(--brand);background:var(--canvas);color:var(--ink);font:14px/1.5 system-ui,sans-serif}:root[data-theme=light]{color-scheme:light;--canvas: #f2f6f8;--surface: #ffffff;--surface-raised: #e8eff2;--ink: #172733;--muted: #536a78;--brand: #087d75;--danger: #a8323c;--series-commands: #6045a8;--line: color-mix(in srgb, var(--ink) 17%, transparent);--line-soft: color-mix(in srgb, var(--ink) 10%, transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink)}button,select{color:inherit;font:inherit}.app-shell{min-height:100vh;background:var(--canvas)}.sidebar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.875rem 1rem .75rem;border-bottom:1px solid var(--line);background:var(--canvas)}.brand{color:var(--ink);font-size:1rem;font-weight:750;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}.brand:before{content:"HM";display:inline-grid;width:1.75rem;height:1.75rem;margin-right:.55rem;place-items:center;border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:.35rem;color:var(--brand);font-size:.65rem;letter-spacing:.02em;vertical-align:-.2rem}.sidebar-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;flex:none;gap:.25rem;padding:.2rem;border:1px solid var(--line-soft);border-radius:.45rem;background:var(--surface)}.sidebar-nav a{flex:1;min-width:0;padding:.45rem .55rem;border-radius:.3rem;color:var(--muted);font-size:.82rem;font-weight:650;overflow-wrap:anywhere;text-align:center;text-decoration:none}.sidebar-nav a:hover,.sidebar-nav a:focus-visible{color:var(--ink);background:var(--surface-raised)}.sidebar-nav a[aria-current=page]{color:color-mix(in srgb,var(--brand) 90%,var(--ink));background:var(--surface-raised)}.local-note{flex:1 1 9rem;max-width:13rem;margin:0;color:var(--muted);font-size:.75rem}.workspace{min-width:0}.masthead{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;padding:1.4rem 1rem 1.1rem;border-bottom:1px solid var(--line-soft)}.eyebrow{margin:0 0 .35rem;color:var(--brand);font-size:.68rem;font-weight:750;letter-spacing:.13em}h1{margin:0;font-size:clamp(1.55rem,5vw,2.1rem);font-weight:650;letter-spacing:-.045em;line-height:1.18;text-wrap:balance}.intro{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.masthead-controls{display:flex;align-items:center;gap:.5rem}.language{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.75rem;font-weight:650}.language select,.theme-toggle{min-height:2.25rem;padding:.35rem .6rem;border:1px solid var(--line);border-radius:.35rem;background:var(--surface);color:var(--ink);font-size:.78rem;font-weight:650}.theme-toggle{cursor:pointer}main{width:min(100%,88rem);margin-inline:auto;padding:1rem 1rem 3rem}.page-note,.section-note{color:var(--muted)}.page-note{max-width:60rem;margin:0 0 1rem;font-size:.8rem}.stat-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-bottom:1.8rem}.stat-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0;min-height:3.8rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface);color:var(--muted);font-size:.76rem;font-weight:650}.stat-card span{min-width:0;overflow-wrap:anywhere}.stat-card strong{color:var(--brand);font-size:1.35rem;font-variant-numeric:tabular-nums;line-height:1}.checkpoint-summary{grid-template-columns:minmax(0,1fr);max-width:20rem;margin:.8rem 0 1.2rem}main>section{margin-top:2rem;scroll-margin-top:1rem}h2{display:flex;align-items:baseline;gap:.65rem;margin:0;font-size:1.15rem;font-weight:680;letter-spacing:-.025em;text-wrap:balance}h3{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;margin:0;font-size:.86rem;font-weight:680;line-height:1.4;text-wrap:balance}.section-note{margin:.25rem 0 .8rem;font-size:.8rem}.notice{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;color:var(--danger)}.report-heading{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.report-heading .section-note{max-width:58rem;margin-bottom:0}.include-archived{display:flex;align-items:center;gap:.5rem;min-height:2.5rem;color:var(--muted);font-size:.8rem;font-weight:650;cursor:pointer}.include-archived input{width:1rem;height:1rem;margin:0;accent-color:var(--brand)}.include-archived input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.report-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem;margin-top:.8rem}.report-card,.trend-panel{min-width:0;padding:.8rem .85rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface)}.report-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}.report-total{flex:none;color:var(--brand);font-size:1.1rem;font-variant-numeric:tabular-nums}.report-ranking{margin:.55rem 0 0;padding:0;list-style:none}.report-ranking li{display:flex;justify-content:space-between;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--line-soft)}.report-ranking li>strong{flex:none;color:var(--brand);font-variant-numeric:tabular-nums}.report-label{min-width:0;overflow-wrap:anywhere}.report-label code{display:block;margin-top:.15rem;color:var(--muted);font-size:.7rem}.empty-report{margin:.7rem 0 0;color:var(--muted);font-size:.8rem}.trend-panel{margin-top:.65rem}.trend-legend{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:.65rem 0 .2rem;padding:0;color:var(--muted);font-size:.72rem;list-style:none}.trend-legend li:before{display:inline-block;width:.48rem;height:.48rem;margin-right:.35rem;border-radius:.1rem;background:currentColor;content:""}.tools-series{color:var(--brand)}.commands-series{color:var(--series-commands)}.trend-chart{display:block;width:100%;max-width:100%;height:auto;overflow:hidden}.trend-chart .chart-axis{stroke:var(--line);stroke-width:1}.trend-chart text{fill:var(--muted);font:10px system-ui,sans-serif}.trend-chart rect{rx:1px}.trend-chart .tools-series{fill:var(--brand)}.trend-chart .commands-series{fill:var(--series-commands)}.scope{min-width:0;border:1px solid var(--line);border-radius:.4rem;background:var(--surface)}.scope-list{display:grid;grid-template-columns:minmax(0,1fr);gap:.65rem;margin-top:.8rem}.project-summary{display:flex;align-items:center;gap:.75rem;min-width:0;padding:.8rem;cursor:pointer}.project-summary:after{margin-left:auto;color:var(--muted);content:"⌄";font-size:1.2rem}.scope[open]>.project-summary:after{content:"⌃"}.project-summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.scope-provenance{display:grid;min-width:0;gap:.4rem}.scope-caption{display:flex;align-items:center;gap:.4rem;margin:0;color:var(--brand);font-size:.67rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.scope-caption:before{content:"";width:.35rem;height:.35rem;border-radius:50%;background:var(--brand)}.scope-caption .scope-directory{min-width:0;color:var(--ink);font-size:.82rem;letter-spacing:normal;text-transform:none;overflow-wrap:anywhere}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.project-summary code,.entry-context code{display:inline-block;max-width:100%;padding:.15rem .35rem;border:1px solid var(--line-soft);border-radius:.25rem;background:var(--canvas);font-size:.77rem;overflow-wrap:anywhere}.project-checkpoints{border-top:1px solid var(--line-soft)}.todo-status-list{display:grid;padding:.7rem .8rem;border-top:1px solid var(--line-soft)}.todo-status+.todo-status{padding-top:.65rem;border-top:1px solid var(--line-soft)}.todo-status-heading{color:var(--muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.todo-status-heading span:last-child{color:var(--brand);font-variant-numeric:tabular-nums}.todo-items{margin:.35rem 0 0;padding:0;list-style:none}.todo-items li{padding:.5rem 0;border-top:1px solid var(--line-soft);overflow-wrap:anywhere;white-space:pre-wrap}.entry{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem;padding:.8rem}.entry+.entry{border-top:1px solid var(--line-soft)}.entry-content{min-width:0}.entry-title{display:block;margin:0 0 .25rem;overflow-wrap:anywhere}.entry-summary{margin:0 0 .3rem;white-space:pre-wrap;overflow-wrap:anywhere}.entry-context{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:0 0 .25rem;color:var(--muted);font-size:.72rem}time{color:var(--muted);font-size:.72rem}.entry-actions{display:flex;flex-wrap:wrap;gap:.4rem}button,select{min-height:2.35rem;padding:.4rem .65rem;border:1px solid var(--line);border-radius:.32rem;background:var(--surface-raised);color:var(--ink);cursor:pointer}button{font-size:.76rem;font-weight:650}button:hover:not(:disabled),select:hover{border-color:color-mix(in srgb,var(--brand) 65%,var(--line))}.action-edit{border-color:color-mix(in srgb,var(--brand) 38%,var(--line));color:var(--brand)}.action-delete{border-color:color-mix(in srgb,var(--danger) 46%,var(--line));color:var(--danger)}.action-delete:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 10%,var(--surface))}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled{opacity:.55;cursor:not-allowed}@media(min-width:45rem){.app-shell{display:grid;grid-template-columns:13.5rem minmax(0,1fr)}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:1.5rem;height:100vh;min-height:32rem;padding:1.5rem 1rem 1rem;border-right:1px solid var(--line);border-bottom:0}.brand{font-size:1.05rem}.sidebar-nav{display:flex;flex:none;flex-direction:column;gap:.25rem;padding:.25rem}.sidebar-nav a{flex:none;padding:.62rem .65rem;text-align:left}.local-note{flex:none;max-width:none;margin:auto 0 0}.masthead{flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:1.6rem 1.75rem 1.2rem}main{padding:1.25rem 1.75rem 3rem}.report-heading{flex-direction:row;align-items:center;justify-content:space-between}.report-heading>button{flex:none}.entry{flex-direction:row;justify-content:space-between}.entry-actions{flex:none}}@media(min-width:68rem){.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-list{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@@ -0,0 +1,21 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))s(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(i){if(i.ep)return;i.ep=!0;const r=n(i);fetch(i.href,r)}})();/**
2
+ * @vue/shared v3.5.45
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function Qn(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Y={},ut=[],Ne=()=>{},ni=()=>!1,_n=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),yn=e=>e.startsWith("onUpdate:"),ne=Object.assign,$n=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},yr=Object.prototype.hasOwnProperty,B=(e,t)=>yr.call(e,t),I=Array.isArray,et=e=>Zt(e)==="[object Map]",ze=e=>Zt(e)==="[object Set]",Cs=e=>Zt(e)==="[object Date]",N=e=>typeof e=="function",$=e=>typeof e=="string",ke=e=>typeof e=="symbol",J=e=>e!==null&&typeof e=="object",si=e=>(J(e)||N(e))&&N(e.then)&&N(e.catch),ii=Object.prototype.toString,Zt=e=>ii.call(e),br=e=>Zt(e).slice(8,-1),ri=e=>Zt(e)==="[object Object]",es=e=>$(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Dt=Qn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},vr=/-\w/g,Se=bn(e=>e.replace(vr,t=>t.slice(1).toUpperCase())),xr=/\B([A-Z])/g,pt=bn(e=>e.replace(xr,"-$1").toLowerCase()),oi=bn(e=>e.charAt(0).toUpperCase()+e.slice(1)),An=bn(e=>e?`on${oi(e)}`:""),Re=(e,t)=>!Object.is(e,t),rn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},li=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},ts=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Ts;const vn=()=>Ts||(Ts=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ns(e){if(I(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=$(s)?Tr(s):ns(s);if(i)for(const r in i)t[r]=i[r]}return t}else if($(e)||J(e))return e}const Sr=/;(?![^(]*\))/g,wr=/:([^]+)/,Cr=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Tr(e){const t={};return e.replace(Cr,n=>n.startsWith("/*")?"":n).split(Sr).forEach(n=>{if(n){const s=n.split(wr);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function xn(e){let t="";if($(e))t=e;else if(I(e))for(let n=0;n<e.length;n++){const s=xn(e[n]);s&&(t+=s+" ")}else if(J(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Or="itemscope,allowfullscreen,disablepictureinpicture,disableremoteplayback,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",Er=Qn(Or);function ci(e){return!!e||e===""}function Ar(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=Ye(e[i],t[i],n);return s}function Os(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const r of e){let o=-1;for(let l=0;l<s.length;l++)if(!i[l]&&Ye(r,s[l],n)){o=l;break}if(o<0)return!1;i[o]=1}return!0}function Mr(e,t,n){let s=et(e),i=et(t);if(s||i||(s=ze(e),i=ze(t),s||i))return s&&i?Os(e,t,n):!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const l in e){const c=e.hasOwnProperty(l),d=t.hasOwnProperty(l);if(c&&!d||!c&&d||!Ye(e[l],t[l],n))return!1}return String(e)===String(t)}function Es(e,t,n,s){n||(n=[new Map,new Map]);const[i,r]=n;if(i.has(e)||r.has(t))return i.get(e)===t&&r.get(t)===e;i.set(e,t),r.set(t,e);const o=s(e,t,n);return i.delete(e),r.delete(t),o}function Ye(e,t,n){if(e===t)return!0;let s=Cs(e),i=Cs(t);return s||i?s&&i?e.getTime()===t.getTime():!1:(s=ke(e),i=ke(t),s||i?e===t:(s=I(e),i=I(t),s||i?s&&i?Es(e,t,n,Ar):!1:(s=J(e),i=J(t),s||i?!s||!i?!1:Es(e,t,n,Mr):String(e)===String(t))))}function ss(e,t){return e.findIndex(n=>Ye(n,t))}const ai=e=>!!(e&&e.__v_isRef===!0),O=e=>$(e)?e:e==null?"":I(e)||J(e)&&(e.toString===ii||!N(e.toString))?ai(e)?O(e.value):JSON.stringify(e,fi,2):String(e),fi=(e,t)=>ai(t)?fi(e,t.value):et(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],r)=>(n[Mn(s,r)+" =>"]=i,n),{})}:ze(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Mn(n))}:ke(t)?Mn(t):J(t)&&!I(t)&&!ri(t)?String(t):t,Mn=(e,t="")=>{var n;return ke(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
+ * @vue/reactivity v3.5.45
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let re;class Pr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&re&&(re.active?(this.parent=re,this.index=(re.scopes||(re.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const i=this.scopes.slice();for(t=0,n=i.length;t<n;t++)i[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=re;try{return re=this,t()}finally{re=n}}}on(){++this._on===1&&(this.prevScope=re,re=this)}off(){if(this._on>0&&--this._on===0){if(re===this)re=this.prevScope;else{let t=re;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(n=0,s=i.length;n<s;n++)i[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function Ir(){return re}let Z;const Pn=new WeakSet;class ui{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,re&&(re.active?re.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Pn.has(this)&&(Pn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||hi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,As(this),pi(this);const t=Z,n=we;Z=this,we=!0;try{return this.fn()}finally{gi(this),Z=t,we=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)os(t);this.deps=this.depsTail=void 0,As(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Pn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Un(this)&&this.run()}get dirty(){return Un(this)}}let di=0,Rt,Nt;function hi(e,t=!1){if(e.flags|=8,t){e.next=Nt,Nt=e;return}e.next=Rt,Rt=e}function is(){di++}function rs(){if(--di>0)return;if(Nt){let t=Nt;for(Nt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Rt;){let t=Rt;for(Rt=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function pi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function gi(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),os(s),jr(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function Un(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(mi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function mi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Bt)||(e.globalVersion=Bt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Un(e))))return;e.flags|=2;const t=e.dep,n=Z,s=we;Z=e,we=!0;try{pi(e);const i=e.fn(e._value);(t.version===0||Re(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Z=n,we=s,gi(e),e.flags&=-3}}function os(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)os(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function jr(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let we=!0;const _i=[];function Fe(){_i.push(we),we=!1}function Le(){const e=_i.pop();we=e===void 0?!0:e}function As(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let Bt=0;class Dr{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ls{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Z||!we||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Dr(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,yi(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,Bt++,this.notify(t)}notify(t){is();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{rs()}}}function yi(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)yi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Bn=new WeakMap,dt=Symbol(""),Kn=Symbol(""),Kt=Symbol("");function oe(e,t,n){if(we&&Z){let s=Bn.get(e);s||Bn.set(e,s=new Map);let i=s.get(n);i||(s.set(n,i=new ls),i.map=s,i.key=n),i.track()}}function qe(e,t,n,s,i,r){const o=Bn.get(e);if(!o){Bt++;return}const l=c=>{c&&c.trigger()};if(is(),t==="clear")o.forEach(l);else{const c=I(e),d=c&&es(n);if(c&&n==="length"){const u=Number(s);o.forEach((p,T)=>{(T==="length"||T===Kt||!ke(T)&&T>=u)&&l(p)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),d&&l(o.get(Kt)),t){case"add":c?d&&l(o.get("length")):(l(o.get(dt)),et(e)&&l(o.get(Kn)));break;case"delete":c||(l(o.get(dt)),et(e)&&l(o.get(Kn)));break;case"set":et(e)&&l(o.get(dt));break}}rs()}function _t(e){const t=q(e);return t===e||(oe(t,"iterate",Kt),_e(e))?t:He(e)?tt(e)?t.map(n=>nt(ye(n))):t.map(nt):t.map(ye)}function Sn(e){return oe(e=q(e),"iterate",Kt),e}function Ie(e,t){return He(e)?nt(tt(e)?ye(t):t):ye(t)}const Rr={__proto__:null,[Symbol.iterator](){return In(this,Symbol.iterator,e=>Ie(this,e))},concat(...e){return _t(this).concat(...e.map(t=>I(t)?_t(t):t))},entries(){return In(this,"entries",e=>(e[1]=Ie(this,e[1]),e))},every(e,t){return Be(this,"every",e,t,void 0,arguments)},filter(e,t){return Be(this,"filter",e,t,n=>n.map(s=>Ie(this,s)),arguments)},find(e,t){return Be(this,"find",e,t,n=>Ie(this,n),arguments)},findIndex(e,t){return Be(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Be(this,"findLast",e,t,n=>Ie(this,n),arguments)},findLastIndex(e,t){return Be(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Be(this,"forEach",e,t,void 0,arguments)},includes(...e){return jn(this,"includes",e)},indexOf(...e){return jn(this,"indexOf",e)},join(e){return _t(this).join(e)},lastIndexOf(...e){return jn(this,"lastIndexOf",e)},map(e,t){return Be(this,"map",e,t,void 0,arguments)},pop(){return Ot(this,"pop")},push(...e){return Ot(this,"push",e)},reduce(e,...t){return Ps(this,"reduce",e,t)},reduceRight(e,...t){return Ps(this,"reduceRight",e,t)},shift(){return Ot(this,"shift")},some(e,t){return Be(this,"some",e,t,void 0,arguments)},splice(...e){return Ot(this,"splice",e)},toReversed(){return _t(this).toReversed()},toSorted(e){return _t(this).toSorted(e)},toSpliced(...e){return _t(this).toSpliced(...e)},unshift(...e){return Ot(this,"unshift",e)},values(){return In(this,"values",e=>Ie(this,e))}};function In(e,t,n){const s=Sn(e),i=s[t],r=i.call(s);if(s!==e&&!_e(e)){if(r[Symbol.toStringTag]==="Array Iterator"){const o=Object.create(Object.getPrototypeOf(r));return o.next=()=>Ms(r.next(),n),i!==bi[t]&&Object.defineProperties(o,{return:{get(){const l=r.return;return typeof l=="function"?l.bind(r):l}},throw:{get(){const l=r.throw;return typeof l=="function"?l.bind(r):l}}}),o}r._next=r.next,r.next=()=>Ms(r._next(),n)}return r}function Ms(e,t){return e.done||(e.value=t(e.value)),e}const bi=Array.prototype;function Be(e,t,n,s,i,r){const o=Sn(e),l=o!==e&&!_e(e),c=o[t];if(c!==bi[t]){const p=c.apply(e,r);return l?ye(p):p}let d=n;o!==e&&(l?d=function(p,T){return n.call(this,Ie(e,p),T,e)}:n.length>2&&(d=function(p,T){return n.call(this,p,T,e)}));const u=c.call(o,d,s);return l&&i?i(u):u}function Ps(e,t,n,s){const i=Sn(e),r=i!==e&&!_e(e);let o=n,l=!1;i!==e&&(r?(l=s.length===0,o=function(d,u,p){return l&&(l=!1,d=Ie(e,d)),n.call(this,d,Ie(e,u),p,e)}):n.length>3&&(o=function(d,u,p){return n.call(this,d,u,p,e)}));const c=i[t](o,...s);return l?Ie(e,c):c}function jn(e,t,n){const s=q(e);oe(s,"iterate",Kt);const i=s[t](...n);return(i===-1||i===!1)&&us(n[0])?(n[0]=q(n[0]),s[t](...n)):i}function Ot(e,t,n=[]){Fe(),is();const s=q(e)[t].apply(e,n);return rs(),Le(),s}const Nr=Qn("__proto__,__v_isRef,__isVue"),vi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ke));function kr(e){ke(e)||(e=String(e));const t=q(this);return oe(t,"has",e),t.hasOwnProperty(e)}class xi{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(i?r?Gr:Ti:r?Ci:wi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=I(t);if(!i){let c;if(o&&(c=Rr[n]))return c;if(n==="hasOwnProperty")return kr}const l=Reflect.get(t,n,le(t)?t:s);if((ke(n)?vi.has(n):Nr(n))||(i||oe(t,"get",n),r))return l;if(le(l)){const c=o&&es(n)?l:l.value;return i&&J(c)?qn(c):c}return J(l)?i?qn(l):as(l):l}}class Si extends xi{constructor(t=!1){super(!1,t)}set(t,n,s,i){let r=t[n];const o=I(t)&&es(n);if(!this._isShallow){const d=He(r);if(!_e(s)&&!He(s)&&(r=q(r),s=q(s)),!o&&le(r)&&!le(s))return d||(r.value=s),!0}const l=o?Number(n)<t.length:B(t,n),c=Reflect.set(t,n,s,le(t)?t:i);return t===q(i)&&c&&(l?Re(s,r)&&qe(t,"set",n,s):qe(t,"add",n,s)),c}deleteProperty(t,n){const s=B(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&qe(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!ke(n)||!vi.has(n))&&oe(t,"has",n),s}ownKeys(t){return oe(t,"iterate",I(t)?"length":dt),Reflect.ownKeys(t)}}class Fr extends xi{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Lr=new Si,Hr=new Fr,Vr=new Si(!0);const Wn=e=>e,en=e=>Reflect.getPrototypeOf(e);function Ur(e,t,n){return function(...s){const i=this.__v_raw,r=q(i),o=et(r),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,d=i[e](...s),u=n?Wn:t?nt:ye;return!t&&oe(r,"iterate",c?Kn:dt),ne(Object.create(d),{next(){const{value:p,done:T}=d.next();return T?{value:p,done:T}:{value:l?[u(p[0]),u(p[1])]:u(p),done:T}}})}}function tn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Br(e,t){const n={get(i){const r=this.__v_raw,o=q(r),l=q(i);e||(Re(i,l)&&oe(o,"get",i),oe(o,"get",l));const{has:c}=en(o),d=t?Wn:e?nt:ye;if(c.call(o,i))return d(r.get(i));if(c.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&oe(q(i),"iterate",dt),i.size},has(i){const r=this.__v_raw,o=q(r),l=q(i);return e||(Re(i,l)&&oe(o,"has",i),oe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,c=q(l),d=t?Wn:e?nt:ye;return!e&&oe(c,"iterate",dt),l.forEach((u,p)=>i.call(r,d(u),d(p),o))}};return ne(n,e?{add:tn("add"),set:tn("set"),delete:tn("delete"),clear:tn("clear")}:{add(i){const r=q(this),o=en(r),l=q(i),c=!t&&!_e(i)&&!He(i)?l:i;return o.has.call(r,c)||Re(i,c)&&o.has.call(r,i)||Re(l,c)&&o.has.call(r,l)||(r.add(c),qe(r,"add",c,c)),this},set(i,r){!t&&!_e(r)&&!He(r)&&(r=q(r));const o=q(this),{has:l,get:c}=en(o);let d=l.call(o,i);d||(i=q(i),d=l.call(o,i));const u=c.call(o,i);return o.set(i,r),d?Re(r,u)&&qe(o,"set",i,r):qe(o,"add",i,r),this},delete(i){const r=q(this),{has:o,get:l}=en(r);let c=o.call(r,i);c||(i=q(i),c=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return c&&qe(r,"delete",i,void 0),d},clear(){const i=q(this),r=i.size!==0,o=i.clear();return r&&qe(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=Ur(i,e,t)}),n}function cs(e,t){const n=Br(e,t);return(s,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_isShallow"?t:i==="__v_raw"?s:Reflect.get(B(n,i)&&i in s?n:s,i,r)}const Kr={get:cs(!1,!1)},Wr={get:cs(!1,!0)},qr={get:cs(!0,!1)};const wi=new WeakMap,Ci=new WeakMap,Ti=new WeakMap,Gr=new WeakMap;function Jr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function as(e){return He(e)?e:fs(e,!1,Lr,Kr,wi)}function zr(e){return fs(e,!1,Vr,Wr,Ci)}function qn(e){return fs(e,!0,Hr,qr,Ti)}function fs(e,t,n,s,i){if(!J(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=i.get(e);if(r)return r;const o=Jr(br(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return i.set(e,l),l}function tt(e){return He(e)?tt(e.__v_raw):!!(e&&e.__v_isReactive)}function He(e){return!!(e&&e.__v_isReadonly)}function _e(e){return!!(e&&e.__v_isShallow)}function us(e){return e?!!e.__v_raw:!1}function q(e){const t=e&&e.__v_raw;return t?q(t):e}function Yr(e){return!B(e,"__v_skip")&&Object.isExtensible(e)&&li(e,"__v_skip",!0),e}const ye=e=>J(e)?as(e):e,nt=e=>J(e)?qn(e):e;function le(e){return e?e.__v_isRef===!0:!1}function lt(e){return Zr(e,!1)}function Zr(e,t){return le(e)?e:new Xr(e,t)}class Xr{constructor(t,n){this.dep=new ls,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:q(t),this._value=n?t:ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||_e(t)||He(t);t=s?t:q(t),Re(t,n)&&(this._rawValue=t,this._value=s?t:ye(t),this.dep.trigger())}}function Qr(e){return le(e)?e.value:e}const $r={get:(e,t,n)=>t==="__v_raw"?e:Qr(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return le(i)&&!le(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Oi(e){return tt(e)?e:new Proxy(e,$r)}class eo{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ls(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Bt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return hi(this,!0),!0}get value(){const t=this.dep.track();return mi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function to(e,t,n=!1){let s,i;return N(e)?s=e:(s=e.get,i=e.set),new eo(s,i,n)}const nn={},cn=new WeakMap;let ft;function no(e,t=!1,n=ft){if(n){let s=cn.get(n);s||cn.set(n,s=[]),s.push(e)}}function so(e,t,n=Y){const{immediate:s,deep:i,once:r,scheduler:o,augmentJob:l,call:c}=n,d=M=>i?M:_e(M)||i===!1||i===0?Ge(M,1):Ge(M);let u,p,T,E,k=!1,j=!1;if(le(e)?(p=()=>e.value,k=_e(e)):tt(e)?(p=()=>d(e),k=!0):I(e)?(j=!0,k=e.some(M=>tt(M)||_e(M)),p=()=>e.map(M=>{if(le(M))return M.value;if(tt(M))return d(M);if(N(M))return c?c(M,2):M()})):N(e)?t?p=c?()=>c(e,2):e:p=()=>{if(T){Fe();try{T()}finally{Le()}}const M=ft;ft=u;try{return c?c(e,3,[E]):e(E)}finally{ft=M}}:p=Ne,t&&i){const M=p,X=i===!0?1/0:i;p=()=>Ge(M(),X)}const K=Ir(),W=()=>{u.stop(),K&&K.active&&$n(K.effects,u)};if(r&&t){const M=t;t=(...X)=>{try{return M(...X)}finally{W()}}}let F=j?new Array(e.length).fill(nn):nn;const V=M=>{if(!(!(u.flags&1)||!u.dirty&&!M))if(t){const X=u.run();if(M||i||k||(j?X.some((se,ce)=>Re(se,F[ce])):Re(X,F))){const se=ft;Fe();try{T&&T(),ft=u;const ce=[X,F===nn?void 0:j&&F[0]===nn?[]:F,E];F=X,c?c(t,3,ce):t(...ce)}finally{ft=se,Le()}}}else u.run()};return l&&l(V),u=new ui(p),u.scheduler=o?()=>o(V,!1):V,E=M=>no(M,!1,u),T=u.onStop=()=>{const M=cn.get(u);if(M){if(c)c(M,4);else for(const X of M)X();cn.delete(u)}},t?s?V(!0):F=u.run():o?o(V.bind(null,!0),!0):u.run(),W.pause=u.pause.bind(u),W.resume=u.resume.bind(u),W.stop=W,W}function Ge(e,t=1/0,n){if(t<=0||!J(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,le(e))Ge(e.value,t,n);else if(I(e))for(let s=0;s<e.length;s++)Ge(e[s],t,n);else if(ze(e)||et(e))e.forEach(s=>{Ge(s,t,n)});else if(ri(e)){for(const s in e)Ge(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ge(e[s],t,n)}return e}/**
10
+ * @vue/runtime-core v3.5.45
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function Xt(e,t,n,s){try{return s?e(...s):e()}catch(i){wn(i,t,n)}}function Ce(e,t,n,s){if(N(e)){const i=Xt(e,t,n,s);return i&&si(i)&&i.catch(r=>{wn(r,t,n,void 0,!0)}),i}if(I(e)){const i=[];for(let r=0;r<e.length;r++)i.push(Ce(e[r],t,n,s));return i}}function wn(e,t,n,s=!0,i=!1){const r=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||Y;if(t){let c=t.parent;const d=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;c;){const p=c.ec;if(p&&!c.isUnmounted&&(!i||c.scope.active)){for(let T=0;T<p.length;T++)if(p[T](e,d,u)===!1)return}c=c.parent}if(o){Fe(),Xt(o,null,10,[e,d,u]),Le();return}}io(e,n,r,s,l)}function io(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const ue=[];let xe=-1;const je=[];let $e=null,bt=0;const Ei=Promise.resolve();let an=null;function Ai(e){const t=an||Ei;return e?t.then(this?e.bind(this):e):t}function ro(e){let t=xe+1,n=ue.length;for(;t<n;){const s=t+n>>>1,i=ue[s],r=Wt(i);r<e||r===e&&i.flags&2?t=s+1:n=s}return t}function ds(e){if(!(e.flags&1)){const t=Wt(e),n=ue[ue.length-1];!n||!(e.flags&2)&&t>=Wt(n)?ue.push(e):ue.splice(ro(t),0,e),e.flags|=1,Mi()}}function Mi(){an||(an=Ei.then(ji))}function oo(e){if(!I(e))$e&&e.id===-1?$e.splice(bt+1,0,e):e.flags&1||(je.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)je.push(e[t]);Mi()}function Pi(e,t,n,s=xe+1){for(;s<ue.length;s++){const i=ue[s];if(i&&i.flags&2){if(e&&i.id!==e.uid||t!==void 0&&!(i.id>=t))continue;ue.splice(s,1),s=e?s-1:xe,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function Ii(e,t,n=0){if(je.length){let s=je,i=0;if(t){s=[];for(let o=0;o<je.length;o++){const l=je[o];(l.i!==void 0?!l.i||l.i.uid<n:t.has(l))?je[i++]=l:s.push(l)}}const r=[...new Set(s)].sort((o,l)=>Wt(o)-Wt(l));if(je.length=i,$e){for(let o=0;o<r.length;o++)$e.push(r[o]);return}for($e=r,bt=0;bt<$e.length;bt++){const o=$e[bt];o.flags&4&&(o.flags&=-2),o.flags&8||o(),o.flags&=-2}$e=null,bt=0}}let Dn=!1;function lo(e,t){if(Dn){e();return}const n=t===void 0?void 0:new Set(je);e(),Dn=!0;try{Pi(void 0,t),Ii(void 0,n,t)}finally{Dn=!1}}const Wt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function ji(e){try{for(xe=0;xe<ue.length;xe++){const t=ue[xe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Xt(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;xe<ue.length;xe++){const t=ue[xe];t&&(t.flags&=-2)}xe=-1,ue.length=0,Ii(),an=null,(ue.length||je.length)&&ji()}}let me=null,Di=null;function fn(e){const t=me;return me=e,Di=e&&e.type.__scopeId||null,t}function co(e,t=me,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&Us(-1);const r=fn(t),o=ht.length;let l;try{l=e(...i)}finally{for(let c=ht.length;c>o;c--)ir();fn(r),s._d&&Us(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Et(e,t){if(me===null)return e;const n=En(me),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,c=Y]=t[i];r&&(N(r)&&(r={mounted:r,updated:r}),r.deep&&Ge(o),s.push({dir:r,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function ct(e,t,n,s){let i=e;if(s==="beforeMount")e._mount=e;else if(s==="beforeUpdate"){const l=t&&t._mount;l&&(l._latest=e,e._mount=l)}else if(s==="mounted"){const l=e._latest;e._mount=e._latest=void 0,l&&(i=l,l._mount=void 0)}const r=i.dirs,o=t&&t.dirs;for(let l=0;l<r.length;l++){let c=r[l];o?c.oldValue=o[l].value:s==="mounted"&&c.oldValue!==void 0&&(c=ne({},c,{oldValue:void 0}));let d=c.dir[s];d&&(Fe(),Ce(d,n,8,[e.el,c,i,t]),Le())}}function ao(e,t){if(de){let n=de.provides;const s=de.parent&&de.parent.provides;s===n&&(n=de.provides=Object.create(s)),n[e]=t}}function on(e,t,n=!1){const s=cl();if(s||vt){let i=vt?vt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&N(t)?t.call(s&&s.proxy):t}}const fo=Symbol.for("v-scx"),uo=()=>on(fo);function kt(e,t,n){return Ri(e,t,n)}function Ri(e,t,n=Y){const{immediate:s,deep:i,flush:r,once:o}=n,l=ne({},n),c=t&&s||!t&&r!=="post";let d;if(zt){if(r==="sync"){const E=uo();d=E.__watcherHandles||(E.__watcherHandles=[])}else if(!c){const E=()=>{};return E.stop=Ne,E.resume=Ne,E.pause=Ne,E}}const u=de;l.call=(E,k,j)=>Ce(E,u,k,j);let p=!1;r==="post"?l.scheduler=E=>{E.i=u,fe(E,u&&u.suspense)}:r!=="sync"&&(p=!0,l.scheduler=(E,k)=>{k?E():ds(E)}),l.augmentJob=E=>{t&&(E.flags|=4),p&&(E.flags|=2,u&&(E.id=u.uid,E.i=u))};const T=so(e,t,l);return zt&&(d?d.push(T):c&&T()),T}function ho(e,t,n){const s=this.proxy,i=$(e)?e.includes(".")?Ni(s,e):()=>s[e]:e.bind(s,s);let r;N(t)?r=t:(r=t.handler,n=t);const o=Qt(this),l=Ri(i,r.bind(s),n);return o(),l}function Ni(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}const po=Symbol("_vte"),Cn=e=>e.__isTeleport,Rn=Symbol("_leaveCb");function go(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Te){t=n;break}}return t}function ki(e){if(!hs(e))return Cn(e.type)&&e.children?go(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&N(n.default))return n.default()}}function Ft(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ft(Cn(n.type)&&ki(n)||n,t)}else if(e.shapeFlag&128){const n=e.suspense;if(n){const s=n.isHydrating?n.pendingBranch:n.activeBranch;s&&Ft(s,t.clone(s))}else e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)}else if(e.transition=t,e.type===Q&&I(e.children)){const n=qi(e.children,!1);n&&Ft(n,t)}}function Gn(e){if(e.component)return Gn(e.component.subTree);if(e.type===Q){const t=I(e.children)&&qi(e.children,!1);return t?Gn(t):void 0}if(e.type!==Te)return e}function Fi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Is(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const un=new WeakMap;function Lt(e,t,n,s,i=!1){if(I(e)){e.forEach((j,K)=>Lt(j,t&&(I(t)?t[K]:t),n,s,i));return}if(Ht(s)&&!i){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Lt(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?En(s.component):s.el,o=i?null:r,{i:l,r:c}=e,d=t&&t.r,u=l.refs===Y?l.refs={}:l.refs,p=l.setupState,T=q(p),E=p===Y?ni:j=>Is(u,j)?!1:B(T,j),k=(j,K)=>!(K&&Is(u,K));if(d!=null&&d!==c){if(js(t),$(d))u[d]=null,E(d)&&(p[d]=null);else if(le(d)){const j=t;k(d,j.k)&&(d.value=null),j.k&&(u[j.k]=null)}}if(N(c))Xt(c,l,12,[o,u]);else{const j=$(c),K=le(c);if(j||K){const W=()=>{if(e.f){const F=j?E(c)?p[c]:u[c]:k()||!e.k?c.value:u[e.k];if(i)I(F)&&$n(F,r);else if(I(F))F.includes(r)||F.push(r);else if(j)u[c]=[r],E(c)&&(p[c]=u[c]);else{const V=[r];k(c,e.k)&&(c.value=V),e.k&&(u[e.k]=V)}}else j?(u[c]=o,E(c)&&(p[c]=o)):K&&(k(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){const F=()=>{W(),un.delete(e)};F.id=-1,un.set(e,F),fe(F,n)}else js(e),W()}}}function js(e){const t=un.get(e);t&&(t.flags|=8,un.delete(e))}vn().requestIdleCallback;vn().cancelIdleCallback;const Ht=e=>!!e.type.__asyncLoader,hs=e=>e.type.__isKeepAlive;function mo(e,t){Li(e,"a",t)}function _o(e,t){Li(e,"da",t)}function Li(e,t,n=de){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(qt(t,s,n),n){let i=n.parent;for(;i&&i.parent;)hs(i.parent.vnode)&&yo(s,t,n,i),i=i.parent}}function yo(e,t,n,s){const i=qt(t,e,s,!0),r=qt("um",()=>$n(s[t],i),n);r.flags=16}function qt(e,t,n=de,s=!1){if(n){const i=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...o)=>{Fe();const l=Qt(n),c=Ce(t,n,e,o);return l(),Le(),c});return s?i.unshift(r):i.push(r),r}}const Ze=e=>(t,n=de)=>{(!zt||e==="sp")&&qt(e,(...s)=>t(...s),n)},bo=Ze("bm"),Hi=Ze("m"),vo=Ze("bu"),xo=Ze("u"),Vi=Ze("bum"),So=Ze("um"),wo=Ze("sp"),Co=Ze("rtg"),To=Ze("rtc");function Oo(e,t=de){qt("ec",e,t)}const Eo=Symbol.for("v-ndc");function Xe(e,t,n,s){let i;const r=n,o=I(e);if(o||$(e)){const l=o&&tt(e);let c=!1,d=!1;l&&(c=!_e(e),d=He(e),e=Sn(e)),i=new Array(e.length);for(let u=0,p=e.length;u<p;u++)i[u]=t(c?d?nt(ye(e[u])):ye(e[u]):e[u],u,void 0,r)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)i=[];else{i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,r)}else if(J(e))if(e[Symbol.iterator])i=Array.from(e,(l,c)=>t(l,c,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let c=0,d=l.length;c<d;c++){const u=l[c];i[c]=t(e[u],u,c,r)}}else i=[];return i}const Jn=e=>e?cr(e)?En(e):Jn(e.parent):null,Vt=ne(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Jn(e.parent),$root:e=>Jn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Bi(e),$forceUpdate:e=>e.f||(e.f=()=>{ds(e.update)}),$nextTick:e=>e.n||(e.n=Ai.bind(e.proxy)),$watch:e=>ho.bind(e)}),Nn=(e,t)=>e!==Y&&!e.__isScriptSetup&&B(e,t),Ao={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:r,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const T=o[t];if(T!==void 0)switch(T){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return r[t]}else{if(Nn(s,t))return o[t]=1,s[t];if(i!==Y&&B(i,t))return o[t]=2,i[t];if(B(r,t))return o[t]=3,r[t];if(n!==Y&&B(n,t))return o[t]=4,n[t];zn&&(o[t]=0)}}const d=Vt[t];let u,p;if(d)return t==="$attrs"&&oe(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==Y&&B(n,t))return o[t]=4,n[t];if(p=c.config.globalProperties,B(p,t))return p[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:r}=e;return Nn(i,t)?(i[t]=n,!0):s!==Y&&B(s,t)?(s[t]=n,!0):B(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,props:r,type:o}},l){let c;return!!(n[l]||e!==Y&&l[0]!=="$"&&B(e,l)||Nn(t,l)||B(r,l)||B(s,l)||B(Vt,l)||B(i.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:B(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ds(e){return I(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let zn=!0;function Mo(e){const t=Bi(e),n=e.proxy,s=e.ctx;zn=!1,t.beforeCreate&&Rs(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:c,inject:d,created:u,beforeMount:p,mounted:T,beforeUpdate:E,updated:k,activated:j,deactivated:K,beforeDestroy:W,beforeUnmount:F,destroyed:V,unmounted:M,render:X,renderTracked:se,renderTriggered:ce,errorCaptured:Oe,serverPrefetch:gt,expose:Ve,inheritAttrs:st,components:it,directives:Ee,filters:rt}=t;if(d&&Po(d,s,null),o)for(const x in o){const R=o[x];N(R)&&(s[x]=R.bind(n))}if(i){const x=i.call(n,n);J(x)&&(e.data=as(x))}if(zn=!0,r)for(const x in r){const R=r[x],he=N(R)?R.bind(n,n):N(R.get)?R.get.bind(n,n):Ne,mt=!N(R)&&N(R.set)?R.set.bind(n):Ne,ot=Qe({get:he,set:mt});Object.defineProperty(s,x,{enumerable:!0,configurable:!0,get:()=>ot.value,set:be=>ot.value=be})}if(l)for(const x in l)Ui(l[x],s,n,x);if(c){const x=N(c)?c.call(n):c;Reflect.ownKeys(x).forEach(R=>{ao(R,x[R])})}u&&Rs(u,e,"c");function te(x,R){I(R)?R.forEach(he=>x(he.bind(n))):R&&x(R.bind(n))}if(te(bo,p),te(Hi,T),te(vo,E),te(xo,k),te(mo,j),te(_o,K),te(Oo,Oe),te(To,se),te(Co,ce),te(Vi,F),te(So,M),te(wo,gt),I(Ve))if(Ve.length){const x=e.exposed||(e.exposed={});Ve.forEach(R=>{Object.defineProperty(x,R,{get:()=>n[R],set:he=>n[R]=he,enumerable:!0})})}else e.exposed||(e.exposed={});X&&e.render===Ne&&(e.render=X),st!=null&&(e.inheritAttrs=st),it&&(e.components=it),Ee&&(e.directives=Ee),gt&&Fi(e)}function Po(e,t,n=Ne){I(e)&&(e=Yn(e));for(const s in e){const i=e[s];let r;J(i)?"default"in i?r=on(i.from||s,i.default,!0):r=on(i.from||s):r=on(i),le(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[s]=r}}function Rs(e,t,n){Ce(I(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ui(e,t,n,s){let i=s.includes(".")?Ni(n,s):()=>n[s];if($(e)){const r=t[e];N(r)&&kt(i,r)}else if(N(e))kt(i,e.bind(n));else if(J(e))if(I(e))e.forEach(r=>Ui(r,t,n,s));else{const r=N(e.handler)?e.handler.bind(n):t[e.handler];N(r)&&kt(i,r,e)}}function Bi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let c;return l?c=l:!i.length&&!n&&!s?c=t:(c={},i.length&&i.forEach(d=>dn(c,d,o,!0)),dn(c,t,o)),J(t)&&r.set(t,c),c}function dn(e,t,n,s=!1){const{mixins:i,extends:r}=t;r&&dn(e,r,n,!0),i&&i.forEach(o=>dn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Io[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Io={data:Ns,props:ks,emits:ks,methods:Pt,computed:Pt,beforeCreate:ae,created:ae,beforeMount:ae,mounted:ae,beforeUpdate:ae,updated:ae,beforeDestroy:ae,beforeUnmount:ae,destroyed:ae,unmounted:ae,activated:ae,deactivated:ae,errorCaptured:ae,serverPrefetch:ae,components:Pt,directives:Pt,watch:Do,provide:Ns,inject:jo};function Ns(e,t){return t?e?function(){return ne(N(e)?e.call(this,this):e,N(t)?t.call(this,this):t)}:t:e}function jo(e,t){return Pt(Yn(e),Yn(t))}function Yn(e){if(I(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ae(e,t){return e?[...new Set([].concat(e,t))]:t}function Pt(e,t){return e?ne(Object.create(null),e,t):t}function ks(e,t){return e?I(e)&&I(t)?[...new Set([...e,...t])]:ne(Object.create(null),Ds(e),Ds(t??{})):t}function Do(e,t){if(!e)return t;if(!t)return e;const n=ne(Object.create(null),e);for(const s in t)n[s]=ae(e[s],t[s]);return n}function Ki(){return{app:null,config:{isNativeTag:ni,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ro=0;function No(e,t){return function(s,i=null){N(s)||(s=ne({},s)),i!=null&&!J(i)&&(i=null);const r=Ki(),o=new WeakSet,l=[];let c=!1;const d=r.app={_uid:Ro++,_component:s,_props:i,_container:null,_context:r,_instance:null,version:pl,get config(){return r.config},set config(u){},use(u,...p){return o.has(u)||(u&&N(u.install)?(o.add(u),u.install(d,...p)):N(u)&&(o.add(u),u(d,...p))),d},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),d},component(u,p){return p?(r.components[u]=p,d):r.components[u]},directive(u,p){return p?(r.directives[u]=p,d):r.directives[u]},mount(u,p,T){if(!c){const E=d._ceVNode||Je(s,i);return E.appContext=r,T===!0?T="svg":T===!1&&(T=void 0),e(E,u,T),c=!0,d._container=u,u.__vue_app__=d,En(E.component)}},onUnmount(u){l.push(u)},unmount(){c&&(Ce(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(u,p){return r.provides[u]=p,d},runWithContext(u){const p=vt;vt=d;try{return u()}finally{vt=p}}};return d}}let vt=null;const ko=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Se(t)}Modifiers`]||e[`${pt(t)}Modifiers`];function Fo(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Y;let i=n;const r=t.startsWith("update:"),o=r&&ko(s,t.slice(7));o&&(o.trim&&(i=n.map(u=>$(u)?u.trim():u)),o.number&&(i=i.map(ts)));let l,c=s[l=An(t)]||s[l=An(Se(t))];!c&&r&&(c=s[l=An(pt(t))]),c&&Ce(c,e,6,i);const d=s[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ce(d,e,6,i)}}const Lo=new WeakMap;function Wi(e,t,n=!1){const s=n?Lo:t.emitsCache,i=s.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!N(e)){const c=d=>{const u=Wi(d,t,!0);u&&(l=!0,ne(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!l?(J(e)&&s.set(e,null),null):(I(r)?r.forEach(c=>o[c]=null):ne(o,r),J(e)&&s.set(e,o),o)}function Tn(e,t){return!e||!_n(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),B(e,t[0].toLowerCase()+t.slice(1))||B(e,pt(t))||B(e,t))}function Fs(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:c,render:d,renderCache:u,props:p,data:T,setupState:E,ctx:k,inheritAttrs:j}=e,K=fn(e);let W,F;try{if(n.shapeFlag&4){const M=i||s,X=M;W=De(d.call(X,M,u,p,E,T,k)),F=l}else{const M=t;W=De(M.length>1?M(p,{attrs:l,slots:o,emit:c}):M(p,null)),F=t.props?l:Ho(l)}}catch(M){ht.length=0,wn(M,e,1),W=Je(Te)}let V=W;if(F&&j!==!1){const M=Object.keys(F),{shapeFlag:X}=V;M.length&&X&7&&(r&&M.some(yn)&&(F=Vo(F,r)),V=St(V,F,!1,!0))}if(n.dirs&&(V=St(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(n.dirs):n.dirs),n.transition){const M=Cn(V.type)&&ki(V)||V;Ft(M,n.transition)}return W=V,fn(K),W}function qi(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(ms(i)){if(i.type!==Te||i.children==="v-if"){if(n)return;n=i}}else return}return n}const Ho=e=>{let t;for(const n in e)(n==="class"||n==="style"||_n(n))&&((t||(t={}))[n]=e[n]);return t},Vo=(e,t)=>{const n={};for(const s in e)(!yn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Uo(e,t,n){const{props:s,children:i,component:r}=e,{props:o,children:l,patchFlag:c}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ls(s,o,d):!!o;if(c&8){const u=t.dynamicProps;for(let p=0;p<u.length;p++){const T=u[p];if(Gi(o,s,T)&&!Tn(d,T))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?Ls(s,o,d):!0:!!o;return!1}function Ls(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const r=s[i];if(!B(e,r)||Gi(t,e,r)&&!Tn(n,r))return!0}return!1}function Gi(e,t,n){const s=e[n],i=t[n];return n==="style"&&J(s)&&J(i)?!Ye(s,i):s!==i}function Bo({vnode:e,parent:t,suspense:n},s){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=s,e=i),i===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Ji={},zi=()=>Object.create(Ji),Yi=e=>Object.getPrototypeOf(e)===Ji;function Ko(e,t,n,s=!1){const i={},r=zi();e.propsDefaults=Object.create(null),Zi(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);n?e.props=s?i:zr(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Wo(e,t,n,s){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=q(i),[c]=e.propsOptions;let d=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let p=0;p<u.length;p++){let T=u[p];if(Tn(e.emitsOptions,T))continue;const E=t[T];if(c)if(B(r,T))E!==r[T]&&(r[T]=E,d=!0);else{const k=Se(T);i[k]=Zn(c,l,k,E,e,!1)}else E!==r[T]&&(r[T]=E,d=!0)}}}else{Zi(e,t,i,r)&&(d=!0);let u;for(const p in l)(!t||!B(t,p)&&((u=pt(p))===p||!B(t,u)))&&(c?n&&(n[p]!==void 0||n[u]!==void 0)&&(i[p]=Zn(c,l,p,void 0,e,!0)):delete i[p]);if(r!==l)for(const p in r)(!t||!B(t,p))&&(delete r[p],d=!0)}d&&qe(e.attrs,"set","")}function Zi(e,t,n,s){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Dt(c))continue;const d=t[c];let u;i&&B(i,u=Se(c))?!r||!r.includes(u)?n[u]=d:(l||(l={}))[u]=d:Tn(e.emitsOptions,c)||(!(c in s)||d!==s[c])&&(s[c]=d,o=!0)}if(r){const c=q(n),d=l||Y;for(let u=0;u<r.length;u++){const p=r[u];n[p]=Zn(i,c,p,d[p],e,!B(d,p))}}return o}function Zn(e,t,n,s,i,r){const o=e[n];if(o!=null){const l=B(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&N(c)){const{propsDefaults:d}=i;if(n in d)s=d[n];else{const u=Qt(i);s=d[n]=c.call(null,t),u()}}else s=c;i.ce&&i.ce._setProp(n,s)}o[0]&&(r&&!l?s=!1:o[1]&&(s===""||s===pt(n))&&(s=!0))}return s}const qo=new WeakMap;function Xi(e,t,n=!1){const s=n?qo:t.propsCache,i=s.get(e);if(i)return i;const r=e.props,o={},l=[];let c=!1;if(!N(e)){const u=p=>{c=!0;const[T,E]=Xi(p,t,!0);ne(o,T),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!c)return J(e)&&s.set(e,ut),ut;if(I(r))for(let u=0;u<r.length;u++){const p=Se(r[u]);Hs(p)&&(o[p]=Y)}else if(r)for(const u in r){const p=Se(u);if(Hs(p)){const T=r[u],E=o[p]=I(T)||N(T)?{type:T}:ne({},T),k=E.type;let j=!1,K=!0;if(I(k))for(let W=0;W<k.length;++W){const F=k[W],V=N(F)&&F.name;if(V==="Boolean"){j=!0;break}else V==="String"&&(K=!1)}else j=N(k)&&k.name==="Boolean";E[0]=j,E[1]=K,(j||B(E,"default"))&&l.push(p)}}const d=[o,l];return J(e)&&s.set(e,d),d}function Hs(e){return e[0]!=="$"&&!Dt(e)}const ps=e=>e==="_"||e==="_ctx"||e==="$stable",gs=e=>I(e)?e.map(De):[De(e)],Go=(e,t,n)=>{if(t._n)return t;const s=co((...i)=>gs(t(...i)),n);return s._c=!1,s},Qi=(e,t,n)=>{const s=e._ctx;for(const i in e){if(ps(i))continue;const r=e[i];if(N(r))t[i]=Go(i,r,s);else if(r!=null){const o=gs(r);t[i]=()=>o}}},$i=(e,t)=>{const n=gs(t);e.slots.default=()=>n},er=(e,t,n)=>{for(const s in t)(n||!ps(s))&&(e[s]=t[s])},Jo=(e,t,n)=>{const s=e.slots=zi();if(e.vnode.shapeFlag&32){const i=t._;i?(er(s,t,n),n&&li(s,"_",i,!0)):Qi(t,s)}else t&&$i(e,t)},zo=(e,t,n)=>{const{vnode:s,slots:i}=e;let r=!0,o=Y;if(s.shapeFlag&32){const l=t._;l?n&&l===1?r=!1:er(i,t,n):(r=!t.$stable,Qi(t,i)),o=t}else t&&($i(e,t),o={default:1});if(r)for(const l in i)!ps(l)&&o[l]==null&&delete i[l]},fe=el;function Yo(e){return Zo(e)}function Zo(e,t){const n=vn();n.__VUE__=!0;const{insert:s,remove:i,patchProp:r,createElement:o,createText:l,createComment:c,setText:d,setElementText:u,parentNode:p,nextSibling:T,setScopeId:E=Ne,insertStaticContent:k}=e,j=(a,f,h,y=null,g=null,_=null,w=void 0,S=null,v=!!f.dynamicChildren)=>{if(a===f)return;a&&!At(a,f)&&(y=$t(a),be(a,g,_,!0),a=null),f.patchFlag===-2&&(v=!1,f.dynamicChildren=null),f.dynamicChildren&&a&&a.dynamicChildren&&a.dynamicChildren.hasOnce&&(f.dynamicChildren===ut&&(f.dynamicChildren=[]),f.dynamicChildren.hasOnce=!0);const{type:m,ref:A,shapeFlag:C}=f;switch(m){case On:K(a,f,h,y);break;case Te:W(a,f,h,y);break;case Fn:a==null&&F(f,h,y,w);break;case Q:it(a,f,h,y,g,_,w,S,v);break;default:C&1?X(a,f,h,y,g,_,w,S,v):C&6?Ee(a,f,h,y,g,_,w,S,v):(C&64||C&128)&&m.process(a,f,h,y,g,_,w,S,v,Tt)}A!=null&&g?Lt(A,a&&a.ref,_,f||a,!f):A==null&&a&&a.ref!=null&&Lt(a.ref,null,_,a,!0)},K=(a,f,h,y)=>{if(a==null)s(f.el=l(f.children),h,y);else{const g=f.el=a.el;f.children!==a.children&&d(g,f.children)}},W=(a,f,h,y)=>{a==null?s(f.el=c(f.children||""),h,y):f.el=a.el},F=(a,f,h,y)=>{[a.el,a.anchor]=k(a.children,f,h,y,a.el,a.anchor)},V=({el:a,anchor:f},h,y)=>{let g;for(;a&&a!==f;)g=T(a),s(a,h,y),a=g;s(f,h,y)},M=({el:a,anchor:f})=>{let h;for(;a&&a!==f;)h=T(a),i(a),a=h;i(f)},X=(a,f,h,y,g,_,w,S,v)=>{if(f.type==="svg"?w="svg":f.type==="math"&&(w="mathml"),a==null)se(f,h,y,g,_,w,S,v);else{const m=a.el&&a.el._isVueCE?a.el:null;try{m&&m._beginPatch(),gt(a,f,g,_,w,S,v)}finally{m&&m._endPatch()}}},se=(a,f,h,y,g,_,w,S)=>{let v,m;const{props:A,shapeFlag:C,transition:P,dirs:D}=a;if(v=a.el=o(a.type,_,A&&A.is,A),C&8?u(v,a.children):C&16&&Oe(a.children,v,null,y,g,kn(a,_),w,S),D&&ct(a,null,y,"created"),ce(v,a,a.scopeId,w,y),A){for(const z in A)z!=="value"&&!Dt(z)&&r(v,z,null,A[z],_,y);"value"in A&&r(v,"value",null,A.value,_),(m=A.onVnodeBeforeMount)&&Pe(m,y,a)}D&&ct(a,null,y,"beforeMount");const L=Xo(g,P);L?P.beforeEnter(v):P&&!P.persisted&&(v[$o]=!0),s(v,f,h),((m=A&&A.onVnodeMounted)||L||D)&&fe(()=>{try{m&&Pe(m,y,a),L&&P.enter(v),D&&ct(a,null,y,"mounted")}finally{}},g)},ce=(a,f,h,y,g)=>{if(h&&E(a,h),y)for(let _=0;_<y.length;_++)E(a,y[_]);if(g){let _=g.subTree;if(f===_||sr(_.type)&&(_.ssContent===f||_.ssFallback===f)){const w=g.vnode;ce(a,w,w.scopeId,w.slotScopeIds,g.parent)}}},Oe=(a,f,h,y,g,_,w,S,v=0)=>{for(let m=v;m<a.length;m++){const A=a[m]=S?We(a[m]):De(a[m]);j(null,A,f,h,y,g,_,w,S)}},gt=(a,f,h,y,g,_,w)=>{const S=f.el=a.el;let{patchFlag:v,dynamicChildren:m,dirs:A}=f;v|=a.patchFlag&16;const C=a.props||Y,P=f.props||Y;let D;if(h&&at(h,!1),(D=P.onVnodeBeforeUpdate)&&Pe(D,h,f,a),A&&ct(f,a,h,"beforeUpdate"),h&&at(h,!0),m&&(!a.dynamicChildren||a.dynamicChildren.length!==m.length)&&(v=0,w=!1,m=null),(C.innerHTML&&P.innerHTML==null||C.textContent&&P.textContent==null)&&u(S,""),m?Ve(a.dynamicChildren,m,S,h,y,kn(f,g),_):w||R(a,f,S,null,h,y,kn(f,g),_,!1),v>0){if(v&16)st(S,C,P,h,g);else if(v&2&&C.class!==P.class&&r(S,"class",null,P.class,g),v&4&&r(S,"style",C.style,P.style,g),v&8){const L=f.dynamicProps;for(let z=0;z<L.length;z++){const G=L[z],ee=C[G],ie=P[G];(ie!==ee||G==="value")&&r(S,G,ee,ie,g,h)}}v&1&&a.children!==f.children&&u(S,f.children)}else!w&&m==null&&st(S,C,P,h,g);((D=P.onVnodeUpdated)||A)&&fe(()=>{D&&Pe(D,h,f,a),A&&ct(f,a,h,"updated")},y)},Ve=(a,f,h,y,g,_,w)=>{for(let S=0;S<f.length;S++){const v=a[S],m=f[S],A=v.el||Ut(v),C=A&&(v.type===Q||!At(v,m)||v.shapeFlag&198)?p(A):h;j(v,m,C,null,y,g,_,w,!0)}},st=(a,f,h,y,g)=>{if(f!==h){if(f!==Y)for(const _ in f)!Dt(_)&&!(_ in h)&&r(a,_,f[_],null,g,y);for(const _ in h){if(Dt(_))continue;const w=h[_],S=f[_];w!==S&&_!=="value"&&r(a,_,S,w,g,y)}"value"in h&&r(a,"value",f.value,h.value,g)}},it=(a,f,h,y,g,_,w,S,v)=>{const m=f.el=a?a.el:l(""),A=f.anchor=a?a.anchor:l("");let{patchFlag:C,dynamicChildren:P,slotScopeIds:D}=f;D&&(S=S?S.concat(D):D),a==null?(s(m,h,y),s(A,h,y),Oe(f.children||[],h,A,g,_,w,S,v)):C>0&&C&64&&P&&a.dynamicChildren&&a.dynamicChildren.length===P.length?(Ve(a.dynamicChildren,P,h,g,_,w,S),(f.key!=null||g&&f===g.subTree)&&tr(a,f,!0)):R(a,f,h,A,g,_,w,S,v)},Ee=(a,f,h,y,g,_,w,S,v)=>{f.slotScopeIds=S,a==null?f.shapeFlag&512?g.ctx.activate(f,h,y,w,v):rt(f,h,y,g,_,w,v):wt(a,f,v)},rt=(a,f,h,y,g,_,w)=>{const S=a.component=ll(a,y,g);if(hs(a)&&(S.ctx.renderer=Tt),al(S,!1,w),S.asyncDep){if(g&&g.registerDep(S,te,w,_),!a.el){const v=S.subTree=Je(Te);W(null,v,f,h),a.placeholder=v.el}}else te(S,a,f,h,g,_,w)},wt=(a,f,h)=>{const y=f.component=a.component;if(Uo(a,f,h))if(y.asyncDep&&!y.asyncResolved){f.el=a.el,f.placeholder=a.placeholder,x(y,f,h);return}else y.next=f,y.update();else f.el=a.el,f.placeholder=a.placeholder,y.vnode=f},te=(a,f,h,y,g,_,w)=>{const S=()=>{if(a.isMounted){let{next:C,bu:P,u:D,parent:L,vnode:z}=a;{const Ae=nr(a);if(Ae){C&&(C.el=z.el,x(a,C,w)),Ae.asyncDep.then(()=>{const Ue=()=>{a.job.flags&8||(g&&g.pendingBranch?fe(Ue,g):m())};Ue.flags=48,fe(Ue,g)});return}}let G=C,ee;at(a,!1),C?(C.el=z.el,x(a,C,w)):C=z,P&&rn(P),(ee=C.props&&C.props.onVnodeBeforeUpdate)&&Pe(ee,L,C,z),at(a,!0);const ie=Fs(a),ve=a.subTree;a.subTree=ie,j(ve,ie,p(ve.el||Ut(ve)),$t(ve),a,g,_),C.el=ie.el,G===null&&Bo(a,ie.el),D&&fe(D,g),(ee=C.props&&C.props.onVnodeUpdated)&&fe(()=>Pe(ee,L,C,z),g)}else{let C;const{el:P,props:D}=f,{bm:L,m:z,parent:G,root:ee,type:ie}=a,ve=Ht(f);at(a,!1),L&&rn(L),!ve&&(C=D&&D.onVnodeBeforeMount)&&Pe(C,G,f),at(a,!0);{ee.ce&&ee.ce._hasShadowRoot()&&ee.ce._injectChildStyle(ie,a.parent?a.parent.type:void 0);const Ae=a.subTree=Fs(a);j(null,Ae,h,y,a,g,_),f.el=Ae.el}if(z&&fe(z,g),!ve&&(C=D&&D.onVnodeMounted)){const Ae=f;fe(()=>Pe(C,G,Ae),g)}(f.shapeFlag&256||G&&Ht(G.vnode)&&G.vnode.shapeFlag&256)&&a.a&&fe(a.a,g),a.isMounted=!0,f=h=y=null}};a.scope.on();const v=a.effect=new ui(S);a.scope.off();const m=a.update=v.run.bind(v),A=a.job=v.runIfDirty.bind(v);A.i=a,A.id=a.uid,v.scheduler=()=>ds(A),at(a,!0),m()},x=(a,f,h)=>{f.component=a;const y=a.vnode.props;a.vnode=f,a.next=null,Wo(a,f.props,y,h),zo(a,f.children,h),Fe(),Pi(a),Le()},R=(a,f,h,y,g,_,w,S,v=!1)=>{const m=a&&a.children,A=a?a.shapeFlag:0,C=f.children,{patchFlag:P,shapeFlag:D}=f;if(P>0){if(P&128){mt(m,C,h,y,g,_,w,S,v);return}else if(P&256){he(m,C,h,y,g,_,w,S,v);return}}D&8?(A&16&&Ct(m,g,_),C!==m&&u(h,C)):A&16?D&16?mt(m,C,h,y,g,_,w,S,v):Ct(m,g,_,!0):(A&8&&u(h,""),D&16&&Oe(C,h,y,g,_,w,S,v))},he=(a,f,h,y,g,_,w,S,v)=>{a=a||ut,f=f||ut;const m=a.length,A=f.length,C=Math.min(m,A);let P;for(P=0;P<C;P++){const D=f[P]=v?We(f[P]):De(f[P]);j(a[P],D,h,null,g,_,w,S,v)}m>A?Ct(a,g,_,!0,!1,C):Oe(f,h,y,g,_,w,S,v,C)},mt=(a,f,h,y,g,_,w,S,v)=>{let m=0;const A=f.length;let C=a.length-1,P=A-1;for(;m<=C&&m<=P;){const D=a[m],L=f[m]=v?We(f[m]):De(f[m]);if(At(D,L))j(D,L,h,null,g,_,w,S,v);else break;m++}for(;m<=C&&m<=P;){const D=a[C],L=f[P]=v?We(f[P]):De(f[P]);if(At(D,L))j(D,L,h,null,g,_,w,S,v);else break;C--,P--}if(m>C){if(m<=P){const D=P+1,L=D<A?f[D].el:y;for(;m<=P;)j(null,f[m]=v?We(f[m]):De(f[m]),h,L,g,_,w,S,v),m++}}else if(m>P)for(;m<=C;)be(a[m],g,_,!0),m++;else{const D=m,L=m,z=new Map;for(m=L;m<=P;m++){const pe=f[m]=v?We(f[m]):De(f[m]);pe.key!=null&&z.set(pe.key,m)}let G,ee=0;const ie=P-L+1;let ve=!1,Ae=0;const Ue=new Array(ie);for(m=0;m<ie;m++)Ue[m]=0;for(m=D;m<=C;m++){const pe=a[m];if(ee>=ie){be(pe,g,_,!0);continue}let Me;if(pe.key!=null)Me=z.get(pe.key);else for(G=L;G<=P;G++)if(Ue[G-L]===0&&At(pe,f[G])){Me=G;break}Me===void 0?be(pe,g,_,!0):(Ue[Me-L]=m+1,Me>=Ae?Ae=Me:ve=!0,j(pe,f[Me],h,null,g,_,w,S,v),ee++)}const xs=ve?Qo(Ue):ut;for(G=xs.length-1,m=ie-1;m>=0;m--){const pe=L+m,Me=f[pe],Ss=f[pe+1],ws=pe+1<A?Ss.el||Ut(Ss):y;Ue[m]===0?j(null,Me,h,ws,g,_,w,S,v):ve&&(G<0||m!==xs[G]?ot(Me,h,ws,2):G--)}}},ot=(a,f,h,y,g=null)=>{const{el:_,type:w,transition:S,children:v,shapeFlag:m}=a;if(m&6){ot(a.component.subTree,f,h,y);return}if(m&128){a.suspense.move(f,h,y);return}if(m&64){w.move(a,f,h,Tt);return}if(w===Q){s(_,f,h);for(let C=0;C<v.length;C++)ot(v[C],f,h,y);s(a.anchor,f,h);return}if(w===Fn){V(a,f,h);return}if(y!==2&&m&1&&S)if(y===0)S.persisted&&!_[Rn]?s(_,f,h):(S.beforeEnter(_),s(_,f,h),fe(()=>S.enter(_),g));else{const{leave:C,delayLeave:P,afterLeave:D}=S,L=()=>{a.ctx.isUnmounted?i(_):s(_,f,h)},z=()=>{const G=_._isLeaving||!!_[Rn];_._isLeaving&&_[Rn](!0),S.persisted&&!G?L():C(_,()=>{L(),D&&D()})};P?P(_,L,z):z()}else s(_,f,h)},be=(a,f,h,y=!1,g=!1)=>{const{type:_,props:w,ref:S,children:v,dynamicChildren:m,shapeFlag:A,patchFlag:C,dirs:P,cacheIndex:D,memo:L}=a;if((C===-2||m&&m.hasOnce)&&(g=!1),S!=null&&(Fe(),Lt(S,null,h,a,!0),Le()),D!=null&&(!a.ctx||a.ctx===f)&&(f.renderCache[D]=void 0),A&256&&f.ctx.deactivate(a))return;const z=A&1&&P,G=!Ht(a);let ee;if(G&&(ee=w&&w.onVnodeBeforeUnmount)&&Pe(ee,f,a),A&6)_r(a.component,h,y);else{if(A&128){a.suspense.unmount(h,y);return}z&&ct(a,null,f,"beforeUnmount"),A&64?a.type.remove(a,f,h,Tt,y):m&&!m.hasOnce&&(_!==Q||C>0&&C&64)?Ct(m,f,h,!1,!0):(_===Q&&C&384||!g&&A&16)&&Ct(v,f,h),y&&ys(a)}const ie=L!=null&&D==null;(G&&(ee=w&&w.onVnodeUnmounted)||z||ie)&&fe(()=>{ee&&Pe(ee,f,a),z&&ct(a,null,f,"unmounted"),ie&&(a.el=null)},h)},ys=a=>{const{type:f,el:h,anchor:y,transition:g}=a,_=f===Q;if(_&&!g){bs(h,y);return}if(f===Fn){M(a),g&&!g.persisted&&g.afterLeave&&g.afterLeave();return}const w=_?Gn(a):a,S=()=>{_?p(h)&&bs(h,y):i(h),g&&!g.persisted&&g.afterLeave&&g.afterLeave()};if(w&&w.shapeFlag&1&&g&&!g.persisted){const{leave:v,delayLeave:m}=g,A=w.el,C=()=>v(A,S);m?m(A,S,C):C()}else S()},bs=(a,f)=>{let h;for(;a!==f;)h=T(a),i(a),a=h;i(f)},_r=(a,f,h)=>{const{bum:y,scope:g,job:_,subTree:w,um:S,m:v,a:m}=a;Vs(v),Vs(m),y&&rn(y),g.stop(),_?(_.flags|=8,be(w,a,f,h)):w&&(w.transition=a.vnode.transition,be(w,a,f,h)),S&&fe(S,f);const A=()=>{a.isUnmounted=!0};A.flags=16,fe(A,f)},Ct=(a,f,h,y=!1,g=!1,_=0)=>{for(let w=_;w<a.length;w++)be(a[w],f,h,y,g)},$t=a=>{if(a.shapeFlag&6)return $t(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=T(a.anchor||a.el),h=f&&f[po];return h?T(h):f},vs=(a,f,h)=>{const y=a&&f._vnode?void 0:a&&a.component?a.component.uid:ol();lo(()=>{a==null?f._vnode&&be(f._vnode,null,null,!0):j(f._vnode||null,a,f,null,null,null,h),f._vnode=a},y)},Tt={p:j,um:be,m:ot,r:ys,mt:rt,mc:Oe,pc:R,pbc:Ve,n:$t,o:e};return{render:vs,hydrate:void 0,createApp:No(vs)}}function kn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function at({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function tr(e,t,n=!1){const s=e.children,i=t.children;if(I(s)&&I(i))for(let r=0;r<s.length;r++){const o=s[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=We(i[r]),l.el=o.el),!n&&l.patchFlag!==-2&&tr(o,l)),l.type===On&&(l.patchFlag===-1&&(l=i[r]=We(l)),l.el=o.el),l.type===Te&&!l.el&&(l.el=o.el)}}function Qo(e){const t=e.slice(),n=[0];let s,i,r,o,l;const c=e.length;for(s=0;s<c;s++){const d=e[s];if(d!==0){if(i=n[n.length-1],e[i]<d){t[s]=i,n.push(s);continue}for(r=0,o=n.length-1;r<o;)l=r+o>>1,e[n[l]]<d?r=l+1:o=l;d<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,o=n[r-1];r-- >0;)n[r]=o,o=t[o];return n}function nr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:nr(t)}function Vs(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ut(e){if(e.placeholder)return e.placeholder;const t=e.component;if(t)return Ut(t.subTree);const n=e.suspense;return n&&n.activeBranch?Ut(n.activeBranch):null}const sr=e=>e.__isSuspense,$o=Symbol("_deferredEnter");function el(e,t){t&&t.pendingBranch?I(e)?t.effects.push(...e):t.effects.push(e):oo(e)}const Q=Symbol.for("v-fgt"),On=Symbol.for("v-txt"),Te=Symbol.for("v-cmt"),Fn=Symbol.for("v-stc"),ht=[];let ge=null;function H(e=!1){ht.push(ge=e?null:[])}function ir(){ht.pop(),ge=ht[ht.length-1]||null}let Gt=1;function Us(e,t=!1){Gt+=e,e<0&&ge&&t&&(ge.hasOnce=!0)}function rr(e){return e.dynamicChildren=Gt>0?ge||ut:null,ir(),Gt>0&&ge&&ge.push(e),e}function U(e,t,n,s,i,r){return rr(b(e,t,n,s,i,r,!0))}function tl(e,t,n,s,i){return rr(Je(e,t,n,s,i,!0))}function ms(e){return e?e.__v_isVNode===!0:!1}function At(e,t){return e.type===t.type&&e.key===t.key}const or=({key:e})=>e??null,ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?$(e)||le(e)||N(e)?{i:me,r:e,k:t,f:!!n}:e:null);function b(e,t=null,n=null,s=0,i=null,r=e===Q?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&or(t),ref:t&&ln(t),scopeId:Di,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:me};return l?(hn(c,n),r&128&&e.normalize(c)):n&&(c.shapeFlag|=$(n)?8:16),Gt>0&&!o&&ge&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&ge.push(c),c}const Je=nl;function nl(e,t=null,n=null,s=0,i=null,r=!1){if((!e||e===Eo)&&(e=Te),ms(e)){const l=St(e,t,!0);return n&&hn(l,n),Gt>0&&!r&&ge&&(l.shapeFlag&6?ge[ge.indexOf(e)]=l:ge.push(l)),l.patchFlag=-2,l}if(hl(e)&&(e=e.__vccOpts),t){t=sl(t);let{class:l,style:c}=t;l&&!$(l)&&(t.class=xn(l)),J(c)&&(us(c)&&!I(c)&&(c=ne({},c)),t.style=ns(c))}const o=$(e)?1:sr(e)?128:Cn(e)?64:J(e)?4:N(e)?2:0;return b(e,t,n,s,i,o,r,!0)}function sl(e){return e?us(e)?ne({},e):Yi(e)?ne({},e[fr]||e):e:null}function St(e,t,n=!1,s=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:c}=e,d=t?il(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&or(d),ref:t&&t.ref?n&&r?I(r)?r.concat(ln(t)):[r,ln(t)]:ln(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Q?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&St(e.ssContent),ssFallback:e.ssFallback&&St(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&s&&Ft(u,c.clone(u)),u}function It(e=" ",t=0){return Je(On,null,e,t)}function yt(e="",t=!1){return t?(H(),tl(Te,null,e)):Je(Te,null,e)}function De(e){return e==null||typeof e=="boolean"?Je(Te):I(e)?Je(Q,null,e.slice()):ms(e)?We(e):Je(On,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:St(e)}function hn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(I(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),hn(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Yi(t)?t._ctx=me:i===3&&me&&(me.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(N(t)){if(s&65){hn(e,{default:t});return}t={default:t,_ctx:me},n=32}else t=String(t),s&64?(n=16,t=[It(t)]):n=8;e.children=t,e.shapeFlag|=n}function il(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=xn([t.class,s.class]));else if(i==="style")t.style=ns([t.style,s.style]);else if(_n(i)){const r=t[i],o=s[i];o&&r!==o&&!(I(r)&&r.includes(o))?t[i]=r?[].concat(r,o):o:o==null&&r==null&&!yn(i)&&(t[i]=o)}else i!==""&&(t[i]=s[i])}return t}function Pe(e,t,n,s=null){Ce(e,t,7,[n,s])}const rl=Ki();let lr=0;function ol(){return lr}function ll(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||rl,r={uid:lr++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Pr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Xi(s,i),emitsOptions:Wi(s,i),emit:null,emitted:null,propsDefaults:Y,inheritAttrs:s.inheritAttrs,ctx:Y,data:Y,props:Y,attrs:Y,slots:Y,refs:Y,setupState:Y,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Fo.bind(null,r),e.ce&&e.ce(r),r}let de=null;const cl=()=>de||me;let pn,Jt;{const e=vn(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};pn=t("__VUE_INSTANCE_SETTERS__",n=>de=n),Jt=t("__VUE_SSR_SETTERS__",n=>zt=n)}const Qt=e=>{const t=de;return pn(e),e.scope.on(),()=>{e.scope.off(),pn(t)}},Bs=()=>{de&&de.scope.off(),pn(null)};function cr(e){return e.vnode.shapeFlag&4}let zt=!1;function al(e,t=!1,n=!1){t&&Jt(t);const{props:s,children:i}=e.vnode,r=cr(e);Ko(e,s,r,t),Jo(e,i,n||t);const o=r?fl(e,t):void 0;return t&&Jt(!1),o}function fl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ao);const{setup:s}=n;if(s){Fe();const i=e.setupContext=s.length>1?dl(e):null,r=Qt(e),o=Xt(s,e,0,[e.props,i]),l=si(o);if(Le(),r(),(l||e.sp)&&!Ht(e)&&Fi(e),l){if(o.then(Bs,Bs),t)return o.then(c=>{Jt(!0);try{Ks(e,c,t)}finally{Jt(!1)}}).catch(c=>{wn(c,e,0,void 0,!0),e.ssrRender=(d,u)=>u("<!---->")});e.asyncDep=o}else Ks(e,o)}else ar(e)}function Ks(e,t,n){N(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:J(t)&&(e.setupState=Oi(t)),ar(e)}function ar(e,t,n){const s=e.type;e.render||(e.render=s.render||Ne);{const i=Qt(e);Fe();try{Mo(e)}finally{Le(),i()}}}const fr=Symbol(),ul={get(e,t){return oe(e,"get",""),t===fr?e:e[t]}};function dl(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ul),slots:e.slots,emit:e.emit,expose:t}}function En(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Oi(Yr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Vt)return Vt[n](e)},has(t,n){return n in t||n in Vt}})):e.proxy}function hl(e){return N(e)&&"__vccOpts"in e}const Qe=(e,t)=>to(e,t,zt),pl="3.5.45";/**
14
+ * @vue/runtime-dom v3.5.45
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let Xn;const Ws=typeof window<"u"&&window.trustedTypes;if(Ws)try{Xn=Ws.createPolicy("vue",{createHTML:e=>e})}catch{}const ur=Xn?e=>Xn.createHTML(e):e=>e,gl="http://www.w3.org/2000/svg",ml="http://www.w3.org/1998/Math/MathML",Ke=typeof document<"u"?document:null,qs=Ke&&Ke.createElement("template"),_l={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Ke.createElementNS(gl,e):t==="mathml"?Ke.createElementNS(ml,e):n?Ke.createElement(e,{is:n}):Ke.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Ke.createTextNode(e),createComment:e=>Ke.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ke.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,r){const o=n?n.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===r||!(i=i.nextSibling)););else{qs.innerHTML=ur(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=qs.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},yl=Symbol("_vtc");function bl(e,t,n){const s=e[yl];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const gn=Symbol("_vod"),dr=Symbol("_vsh"),Ln={name:"show",beforeMount(e,{value:t},{transition:n}){e[gn]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Mt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),Mt(e,!0),s.enter(e)):s.leave(e,()=>{Mt(e,!1)}):Mt(e,t))},beforeUnmount(e,{value:t}){Mt(e,t)}};function Mt(e,t){e.style.display=t?e[gn]:"none",e[dr]=!t}const vl=Symbol(""),xl=/(?:^|;)\s*display\s*:/;function Sl(e,t,n){const s=e.style,i=$(n);let r=!1;if(n&&!i){if(t)if($(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&jt(s,l,"")}else for(const o in t)n[o]==null&&jt(s,o,"");for(const o in n){o==="display"&&(r=!0);const l=n[o];l!=null?Cl(e,o,!$(t)&&t?t[o]:void 0,l)||jt(s,o,l):jt(s,o,"")}}else if(i){if(t!==n){const o=s[vl];o&&(n+=";"+o),s.cssText=n,r=xl.test(n)}}else t&&e.removeAttribute("style");gn in e&&((!i||t!==n)&&(e[gn]=r?s.display:""),e[dr]&&(s.display="none"))}const sn=/\s*!important$/;function jt(e,t,n){if(I(n))n.forEach(s=>jt(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))sn.test(n)?e.setProperty(t,n.replace(sn,""),"important"):e.setProperty(t,n);else{const s=wl(e,t);sn.test(n)?e.setProperty(pt(s),n.replace(sn,""),"important"):e[s]=n}}const Gs=["Webkit","Moz","ms"],Hn={};function wl(e,t){const n=Hn[t];if(n)return n;let s=Se(t);if(s!=="filter"&&s in e)return Hn[t]=s;s=oi(s);for(let i=0;i<Gs.length;i++){const r=Gs[i]+s;if(r in e)return Hn[t]=r}return t}function Cl(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&$(s)&&n===s}const Js="http://www.w3.org/1999/xlink";function zs(e,t,n,s,i,r=Er(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Js,t.slice(6,t.length)):e.setAttributeNS(Js,t,n):n==null||r&&!ci(n)?e.removeAttribute(t):e.setAttribute(t,r?"":ke(n)?String(n):n)}function Ys(e,t,n,s,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?ur(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=ci(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function _s(e,t,n,s){e.addEventListener(t,n,s)}function Tl(e,t,n,s){e.removeEventListener(t,n,s)}const Zs=Symbol("_vei");function Ol(e,t,n,s,i=null){const r=e[Zs]||(e[Zs]={}),o=r[t];if(s&&o)o.value=s;else{const[l,c]=Ml(t);if(s){const d=r[t]=jl(s,i);_s(e,l,d,c)}else o&&(Tl(e,l,o,c),r[t]=void 0)}}const El=/(Once|Passive|Capture)$/,Al=/^on:?(?:Once|Passive|Capture)$/;function Ml(e){let t,n;for(;(n=e.match(El))&&!Al.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):pt(e.slice(2)),t]}let Vn=0;const Pl=Promise.resolve(),Il=()=>Vn||(Pl.then(()=>Vn=0),Vn=Date.now());function jl(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const i=n.value;if(I(i)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const o=i.slice(),l=[s];for(let c=0;c<o.length&&!s._stopped;c++){const d=o[c];d&&Ce(d,t,5,l)}}else Ce(i,t,5,[s])};return n.value=e,n.attached=Il(),n}const Xs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Dl=(e,t,n,s,i,r)=>{const o=i==="svg";t==="class"?bl(e,s,o):t==="style"?Sl(e,n,s):_n(t)?yn(t)||Ol(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Rl(e,t,s,o))?(Ys(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&zs(e,t,s,o,r,t!=="value")):e._isVueCE&&(Nl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!$(s)))?Ys(e,Se(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),zs(e,t,s,o))};function Rl(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xs(t)&&N(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Xs(t)&&$(n)?!1:t in e}function Nl(e,t){const n=e._def.props;if(!n)return!1;const s=Se(t);return Array.isArray(n)?n.some(i=>Se(i)===s):Object.keys(n).some(i=>Se(i)===s)}const mn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return I(t)?n=>rn(t,n):t},xt=Symbol("_assign"),kl={deep:!0,created(e,t,n){e[xt]=mn(n),_s(e,"change",()=>{const s=e._modelValue,i=Yt(e),r=e.checked,o=e[xt];if(I(s)){const l=ss(s,i),c=l!==-1;if(r&&!c)o(s.concat(i));else if(!r&&c){const d=[...s];d.splice(l,1),o(d)}}else if(ze(s)){const l=new Set(s);r?l.add(i):l.delete(i),o(l)}else o(hr(e,r))})},mounted:Qs,beforeUpdate(e,t,n){e[xt]=mn(n),Qs(e,t,n)}};function Qs(e,{value:t,oldValue:n},s){e._modelValue=t;let i;if(I(t))i=ss(t,s.props.value)>-1;else if(ze(t))i=t.has(s.props.value);else{if(t===n)return;i=Ye(t,hr(e,!0))}e.checked!==i&&(e.checked=i)}const Fl={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,_s(e,"change",()=>{const i=Array.prototype.filter.call(e.options,c=>c.selected).map(c=>n?ts(Yt(c)):Yt(c)),r=e.multiple,o=r?ze(e._modelValue)?new Set(i):i:i[0],l=e._pendingValue=[r,r?I(o)?i.slice():i:o];try{e[xt](o)}finally{Ai(()=>{e._pendingValue===l&&(e._pendingValue=void 0)})}}),e[xt]=mn(s)},mounted(e,{value:t,modifiers:{number:n}}){$s(e,t,n)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xt]=mn(n)},updated(e,{value:t,modifiers:{number:n}}){const s=e._pendingValue;e._pendingValue=void 0,(!s||s[0]!==e.multiple||!Ll(t,s[1],s[0]))&&$s(e,t,n)}};function Ll(e,t,n){if(!n||I(e))return Ye(e,t);if(ze(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function $s(e,t,n=!1){const s=e.multiple,i=I(t);if(!(s&&!i&&!ze(t))){for(let r=0,o=e.options.length;r<o;r++){const l=e.options[r],c=Yt(l);if(s)if(i){const d=typeof c;d==="string"||d==="number"?l.selected=t.some(u=>String(u)===String(c)):l.selected=ss(t,c)>-1}else l.selected=t.has(c)||n&&typeof c=="string"&&t.has(ts(c));else if(Ye(Yt(l),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Yt(e){return"_value"in e?e._value:e.value}function hr(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Hl=ne({patchProp:Dl},_l);let ei;function Vl(){return ei||(ei=Yo(Hl))}const Ul=((...e)=>{const t=Vl().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Kl(s);if(!i)return;const r=t._component;!N(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=n(i,!1,Bl(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t});function Bl(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Kl(e){return $(e)?document.querySelector(e):e}function pr(e){const t=typeof e=="string"?e.trim():"";return t&&t.length<=128&&!/[\\/\u0000-\u001f\u007f]/.test(t)?t:""}function Wl(e){const t=new Map,n=new Map;for(const s of e){const i=s.project;t.has(i)||t.set(i,{key:i,project:s.project,items:[]}),t.get(i).items.push(s);const r=pr(s==null?void 0:s.projectDirectoryName);if(r){const o=typeof(s==null?void 0:s.createdAt)=="string"?s.createdAt:"";(!n.has(i)||o>=n.get(i).createdAt)&&n.set(i,{name:r,createdAt:o})}}return[...t.values()].map(s=>{var i;return{...s,directoryName:((i=n.get(s.key))==null?void 0:i.name)??""}})}function ql(e=[],t=!1,n=new Map){const s=new Map,i=new Map;for(const r of e){if(!t&&r.status==="archived")continue;s.has(r.project)||s.set(r.project,{key:r.project,project:r.project,total:0,pending:[],completed:[],archived:[]});const o=s.get(r.project),l=pr(r.projectDirectoryName);if(l){const c=typeof r.createdAt=="string"?r.createdAt:"";(!i.has(r.project)||c>=i.get(r.project).createdAt)&&i.set(r.project,{name:l,createdAt:c})}o[r.status].push(r),o.total++}return[...s.values()].map(r=>{var o;return{...r,directoryName:((o=i.get(r.key))==null?void 0:o.name)??n.get(r.key)??""}})}function Gl(e,t="es"){return typeof(e==null?void 0:e.directoryName)=="string"&&e.directoryName.trim()?e.directoryName:t==="es"?"Directorio no disponible":"Directory unavailable"}function Jl(e,t="es"){return typeof(e==null?void 0:e.sessionTitle)=="string"&&e.sessionTitle.trim()?e.sessionTitle:t==="es"?"Título no disponible":"Title unavailable"}function gr(e){const t=/^(request:)?(tool|cli):([^:]+)$/.exec(e);return t?{group:t[2]==="tool"?"tools":"commands",kind:t[2],name:t[3],signal:t[1]?"request":"activity"}:null}function zl(e={}){const t=Object.fromEntries(["tools","commands"].map(n=>[n,{key:n,total:0,items:[]}]));for(const[n,s]of Object.entries(e)){const i=gr(n);if(!i||!Number.isSafeInteger(s)||s<1)continue;const r=t[i.group];r.total+=s,r.items.push({key:n,name:i.name,kind:i.kind,signal:i.signal,count:s})}for(const n of Object.values(t))n.items.sort((s,i)=>i.count-s.count||s.key.localeCompare(i.key));return Object.values(t)}function Yl(e={},t=new Date().toISOString().slice(0,10)){const n=new Date(`${t}T00:00:00.000Z`);n.setUTCDate(n.getUTCDate()-364);const s=n.toISOString().slice(0,10);return Object.entries(e).filter(([i])=>/^\d{4}-\d{2}-\d{2}$/.test(i)&&i>=s&&i<=t&&new Date(`${i}T00:00:00.000Z`).toISOString().slice(0,10)===i).sort(([i],[r])=>i.localeCompare(r)).map(([i,r])=>{const o={date:i,tools:0,commands:0};for(const[l,c]of Object.entries(r??{})){const d=gr(l);d&&Number.isSafeInteger(c)&&c>0&&(o[d.group]+=c)}return o}).filter(({tools:i,commands:r})=>i+r>0)}function Zl(e){if(!e.length)return[];const t=720,n=180,s=28,i=16,r=12,o=28,l=e.map(({date:K})=>Date.parse(`${K}T00:00:00.000Z`)),c=l.at(-1)!==l[0],d=c?Math.round((l.at(-1)-l[0])/864e5):1,u=Math.max(1,...e.flatMap(({tools:K,commands:W})=>[K,W])),p=t-s-i,T=n-r-o,E=p/(d+1),k=Math.max(.5,E*.18),j=k*2;return e.flatMap((K,W)=>{const F=c?(l[W]-l[0])/864e5/d:.5,V=s+j/2+F*(p-j);return["tools","commands"].map((M,X)=>{const se=K[M]/u*T;return{date:K.date,key:M,count:K[M],x:V+(X-1)*k,y:r+T-se,width:k,height:se}}).filter(({count:M})=>M>0)})}const ti=Object.freeze(["reports","checkpoints","todos"]);function mr(e){const t=e.startsWith("#")?e.slice(1):e;return ti.includes(t)?t:ti[0]}function Xl(e,t){const n=()=>t(mr(e.location.hash));return e.addEventListener("hashchange",n),n(),()=>e.removeEventListener("hashchange",n)}const Ql=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},$l={setup(){var te;const e=lt(null),t=lt(""),n=lt("es"),s=lt("dark"),i=lt(mr(window.location.hash)),r=lt(!1),o=lt(!1),l=(te=document.querySelector('meta[name="habit-token"]'))==null?void 0:te.content,c=(x,R)=>n.value==="es"?x:R,d=Qe(()=>{var x;return Wl(((x=e.value)==null?void 0:x.checkpoints)??[])}),u=Qe(()=>new Map(d.value.map(({project:x,directoryName:R})=>[x,R]))),p=Qe(()=>{var x;return ql(((x=e.value)==null?void 0:x.todos)??[],o.value,u.value)}),T=["pending","completed","archived"],E=Qe(()=>{var x;return zl(((x=e.value)==null?void 0:x.habits.counts)??{})}),k=Qe(()=>{var x;return Yl(((x=e.value)==null?void 0:x.habits.daily)??{})}),j=Qe(()=>Zl(k.value)),K=Qe(()=>E.value.some(x=>x.total>0)||k.value.length>0),W=x=>({tool:c("Herramienta","Tool"),cli:c("Comando","Command")})[x]??"",F=x=>({tools:c("Herramientas","Tools"),commands:c("Comandos","Commands")})[x]??x,V=x=>x==="request"?c("solicitud explícita","explicit request"):c("uso observado","observed use"),M=x=>({pending:c("Pendientes","Pending"),completed:c("Completados","Completed"),archived:c("Archivados","Archived")})[x]??x;kt(n,x=>{document.documentElement.lang=x}),kt(s,x=>{document.documentElement.dataset.theme=x},{immediate:!0});async function X(x,R){const he=await fetch(x,{method:R?"POST":"GET",cache:"no-store",headers:R?{"content-type":"application/json",origin:location.origin,"x-habit-token":l}:{},body:R&&JSON.stringify(R)});if(!he.ok)throw new Error(`${c("El servidor local rechazó la solicitud","The local server rejected the request")} (${he.status}).`);return R?null:he.json()}async function se(){try{e.value=await X("/api/data"),t.value=""}catch(x){t.value=x.message}}async function ce(x,R,he){if(!(r.value||he&&!confirm(he))){r.value=!0,t.value="";try{await X(x,R),await se()}catch(mt){t.value=mt.message}finally{r.value=!1}}}async function Oe(x){if(r.value)return;const R=prompt(c("Resumen del punto guardado","Checkpoint summary"),x.summary);if(R!==null){if(!R.trim()||R.length>240){t.value=c("Escribe entre 1 y 240 caracteres.","Enter 1–240 characters.");return}await ce("/api/checkpoint/edit",{project:x.project,context:x.context,id:x.id,summary:R})}}function gt(x){return ce("/api/checkpoint/delete",{project:x.project,context:x.context,id:x.id},c("¿Eliminar este punto guardado?","Delete this checkpoint?"))}function Ve(x){const R=c(`¿Eliminar todos los puntos de este contexto (${x.items.length})?
18
+ Proyecto: ${JSON.stringify(x.project)}
19
+ Contexto: ${JSON.stringify(x.context)}`,`Delete all checkpoints in this context (${x.items.length})?
20
+ Project: ${JSON.stringify(x.project)}
21
+ Context: ${JSON.stringify(x.context)}`);return ce("/api/scope/delete",{project:x.project,context:x.context},R)}function st(){return ce("/api/habits/clear",{confirm:!0},c("¿Borrar los conteos acumulados y tendencias de hábitos? Esta acción no se puede deshacer. Los checkpoints no se borrarán.","Clear all accumulated habit counts and trends? This cannot be undone. Checkpoints will not be deleted."))}let it=()=>{},Ee,rt;const wt=()=>{document.hidden||se()};return Hi(()=>{it=Xl(window,x=>{i.value=x,window.scrollTo(0,0)}),se(),typeof EventSource=="function"&&(Ee=new EventSource("/api/events"),Ee.onmessage=()=>{clearTimeout(rt),rt=setTimeout(se,150)}),document.addEventListener("visibilitychange",wt)}),Vi(()=>{it(),Ee==null||Ee.close(),clearTimeout(rt),document.removeEventListener("visibilitychange",wt)}),{data:e,error:t,language:n,theme:s,activeView:i,busy:r,includeArchived:o,t:c,scopes:d,todoGroups:p,todoStatuses:T,todoStatusLabel:M,reports:E,trend:k,bars:j,hasHabitData:K,reportTitle:F,signalLabel:V,kindLabel:W,checkpointTitle:Jl,projectDirectoryLabel:Gl,load:se,edit:Oe,removeCheckpoint:gt,removeScope:Ve,clearHabits:st}}},ec={class:"app-shell",id:"inicio"},tc={class:"sidebar"},nc=["aria-label"],sc=["aria-current"],ic=["aria-current"],rc=["aria-current"],oc={class:"local-note"},lc={class:"workspace"},cc={class:"masthead"},ac={class:"eyebrow"},fc={class:"intro"},uc={class:"masthead-controls"},dc={class:"language"},hc=["aria-pressed","aria-label"],pc={class:"page-note"},gc={key:0,class:"notice",role:"alert"},mc=["disabled"],_c={key:1,role:"status"},yc={key:2,role:"status"},bc={id:"reports","aria-labelledby":"reports-heading"},vc={class:"report-heading"},xc={id:"reports-heading"},Sc={class:"section-note"},wc=["disabled"],Cc={class:"report-grid"},Tc={class:"report-card-head"},Oc={class:"report-total"},Ec={key:0,class:"report-ranking"},Ac={class:"report-label"},Mc={key:1,class:"empty-report"},Pc={class:"trend-panel"},Ic={key:0,class:"empty-report"},jc={class:"section-note"},Dc=["aria-label"],Rc={class:"tools-series"},Nc={class:"commands-series"},kc={class:"trend-chart",viewBox:"0 0 720 180",role:"img","aria-labelledby":"trend-title trend-desc"},Fc={id:"trend-title"},Lc={id:"trend-desc"},Hc=["x","y","width","height"],Vc=["x","text-anchor"],Uc={key:0,x:"704",y:"173","text-anchor":"end"},Bc={id:"checkpoints","aria-labelledby":"checkpoints-heading"},Kc={id:"checkpoints-heading"},Wc=["aria-label"],qc={class:"stat-card"},Gc={key:0},Jc={key:1,class:"scope-list"},zc={class:"project-summary"},Yc={class:"scope-provenance"},Zc={class:"scope-caption"},Xc={class:"scope-directory"},Qc={class:"scope-caption"},$c={class:"project-checkpoints"},ea={class:"entry-content"},ta={class:"entry-title"},na={class:"entry-summary"},sa={class:"entry-context"},ia=["datetime"],ra={class:"entry-actions"},oa=["disabled","aria-label","onClick"],la=["disabled","aria-label","onClick"],ca={id:"todos","aria-labelledby":"todos-heading"},aa={class:"report-heading todo-heading"},fa={id:"todos-heading"},ua={class:"section-note"},da={class:"include-archived"},ha={key:0,class:"empty-report"},pa={key:1,class:"scope-list"},ga={class:"project-summary"},ma={class:"scope-provenance"},_a={class:"scope-caption"},ya={class:"scope-directory"},ba={class:"scope-caption"},va={class:"todo-status-list"},xa={key:0,class:"todo-status"},Sa={class:"todo-status-heading"},wa={class:"todo-items"};function Ca(e,t,n,s,i,r){return H(),U("div",ec,[b("aside",tc,[t[5]||(t[5]=b("a",{class:"brand",href:"#reports"},"Habit Memory",-1)),b("nav",{class:"sidebar-nav","aria-label":s.t("Navegación principal","Main navigation")},[b("a",{href:"#reports","aria-current":s.activeView==="reports"?"page":void 0},O(s.t("Informes","Reports")),9,sc),b("a",{href:"#checkpoints","aria-current":s.activeView==="checkpoints"?"page":void 0},O(s.t("Puntos guardados","Saved checkpoints")),9,ic),b("a",{href:"#todos","aria-current":s.activeView==="todos"?"page":void 0},O(s.t("TODOs","TODOs")),9,rc)],8,nc),b("p",oc,O(s.t("Tus datos permanecen en este equipo.","Your data stays on this machine.")),1)]),b("div",lc,[b("header",cc,[b("div",null,[b("p",ac,O(s.t("MEMORIA DE TRABAJO","WORKING MEMORY")),1),b("h1",null,O(s.t("Tu memoria de trabajo.","Your working memory.")),1),b("p",fc,O(s.t("Hábitos, puntos guardados y TODOs de este equipo.","Stored habits, checkpoints, and TODOs on this machine.")),1)]),b("div",uc,[b("label",dc,[b("span",null,O(s.t("Idioma","Language")),1),Et(b("select",{"onUpdate:modelValue":t[0]||(t[0]=o=>s.language=o)},[...t[6]||(t[6]=[b("option",{value:"es"},"ES",-1),b("option",{value:"en"},"EN",-1)])],512),[[Fl,s.language]])]),b("button",{class:"theme-toggle",type:"button","aria-pressed":s.theme==="light","aria-label":s.theme==="dark"?s.t("Cambiar a tema claro","Switch to light theme"):s.t("Cambiar a tema oscuro","Switch to dark theme"),onClick:t[1]||(t[1]=o=>s.theme=s.theme==="dark"?"light":"dark")},O(s.theme==="dark"?s.t("Claro","Light"):s.t("Oscuro","Dark")),9,hc)])]),b("main",null,[b("p",pc,O(s.t("Este índice contiene resúmenes, hábitos agregados y TODOs persistentes del complemento.","This index contains summaries, aggregate habits, and persistent TODOs saved by the plugin.")),1),s.error?(H(),U("p",gc,[It(O(s.error)+" ",1),b("button",{type:"button",disabled:s.busy,onClick:t[2]||(t[2]=(...o)=>s.load&&s.load(...o))},O(s.t("Reintentar","Retry")),9,mc)])):yt("",!0),s.busy?(H(),U("p",_c,O(s.t("Guardando cambios…","Saving changes…")),1)):yt("",!0),!s.data&&!s.error?(H(),U("p",yc,O(s.t("Leyendo la memoria local…","Reading local memory…")),1)):yt("",!0),s.data?(H(),U(Q,{key:3},[Et(b("section",bc,[b("header",vc,[b("div",null,[b("h2",xc,O(s.t("Informes de actividad","Activity reports")),1),b("p",Sc,O(s.t("Conteos acumulados heredados incluidos; las tendencias empiezan con la instrumentación nueva y no reconstruyen el pasado.","Includes legacy accumulated counts; trends start with the new instrumentation and do not reconstruct the past.")),1)]),b("button",{type:"button",class:"action-delete",disabled:s.busy||!s.hasHabitData,onClick:t[3]||(t[3]=(...o)=>s.clearHabits&&s.clearHabits(...o))},O(s.t("Borrar hábitos","Clear habits")),9,wc)]),b("div",Cc,[(H(!0),U(Q,null,Xe(s.reports,o=>(H(),U("article",{key:o.key,class:"report-card"},[b("header",Tc,[b("h3",null,O(s.reportTitle(o.key)),1),b("strong",Oc,O(o.total),1)]),o.items.length?(H(),U("ol",Ec,[(H(!0),U(Q,null,Xe(o.items,l=>(H(),U("li",{key:l.key},[b("div",Ac,[b("span",null,O(s.signalLabel(l.signal))+" · "+O(s.kindLabel(l.kind))+" · "+O(l.name),1),b("code",null,O(l.key),1)]),b("strong",null,O(l.count),1)]))),128))])):(H(),U("p",Mc,O(s.t("Sin conteos.","No counts yet.")),1))]))),128))]),b("div",Pc,[b("h3",null,O(s.t("Tendencia diaria · UTC","Daily trend · UTC")),1),s.trend.length?(H(),U(Q,{key:1},[b("p",jc,O(s.t(`Días registrados: ${s.trend[0].date} – ${s.trend.at(-1).date}.`,`Recorded days: ${s.trend[0].date} – ${s.trend.at(-1).date}.`)),1),b("ul",{class:"trend-legend","aria-label":s.t("Leyenda del gráfico","Chart legend")},[b("li",Rc,O(s.t("Herramientas","Tools")),1),b("li",Nc,O(s.t("Comandos","Commands")),1)],8,Dc),(H(),U("svg",kc,[b("title",Fc,O(s.t("Conteos diarios por categoría","Daily counts by category")),1),b("desc",Lc,O(s.t(`Gráfico de barras con ${s.trend.length} días registrados en UTC; no hay historial anterior a la instrumentación.`,`Bar chart with ${s.trend.length} recorded days in UTC; there is no history before instrumentation.`)),1),t[7]||(t[7]=b("line",{x1:"28",y1:"152",x2:"704",y2:"152",class:"chart-axis"},null,-1)),(H(!0),U(Q,null,Xe(s.bars,o=>(H(),U("rect",{key:`${o.date}-${o.key}`,class:xn(`${o.key}-series`),x:o.x,y:o.y,width:o.width,height:o.height},[b("title",null,O(`${o.date} · ${s.reportTitle(o.key)}: ${o.count}`),1)],10,Hc))),128)),b("text",{x:s.trend.length===1?360:28,y:"173","text-anchor":s.trend.length===1?"middle":"start"},O(s.trend[0].date),9,Vc),s.trend.length>1?(H(),U("text",Uc,O(s.trend.at(-1).date),1)):yt("",!0)]))],64)):(H(),U("p",Ic,O(s.t("Aún no hay actividad diaria. La serie comienza ahora; los conteos anteriores no tienen fecha asignada.","No daily activity yet. The series starts now; earlier counts have no assigned date.")),1))])],512),[[Ln,s.activeView==="reports"]]),Et(b("section",Bc,[b("h2",Kc,O(s.t("Puntos guardados","Saved checkpoints")),1),b("section",{class:"stat-strip checkpoint-summary","aria-label":s.t("Resumen de la memoria","Memory overview")},[b("article",qc,[b("span",null,O(s.t("Puntos guardados","Saved checkpoints")),1),b("strong",null,O(s.data.checkpoints.length),1)])],8,Wc),s.scopes.length?(H(),U("div",Jc,[(H(!0),U(Q,null,Xe(s.scopes,o=>(H(),U("details",{key:o.key,class:"scope"},[b("summary",zc,[b("div",Yc,[b("span",Zc,[It(O(s.t("Directorio","Directory"))+" ",1),b("strong",Xc,O(s.projectDirectoryLabel(o,s.language)),1)]),b("span",Qc,O(s.t("Proyecto","Project"))+" · "+O(o.items.length)+" "+O(o.items.length===1?s.t("punto","checkpoint"):s.t("puntos","checkpoints")),1),b("code",null,O(o.project),1)])]),b("div",$c,[(H(!0),U(Q,null,Xe(o.items,l=>(H(),U("div",{key:l.id,class:"entry"},[b("div",ea,[b("h3",ta,O(s.checkpointTitle(l,s.language)),1),b("p",na,O(l.summary),1),b("p",sa,[b("span",null,O(s.t("Contexto","Context")),1),t[8]||(t[8]=It()),b("code",null,O(l.context),1)]),b("time",{datetime:l.createdAt},O(new Date(l.createdAt).toLocaleString(s.language)),9,ia)]),b("div",ra,[b("button",{type:"button",class:"action-edit",disabled:s.busy,"aria-label":`${s.t("Editar punto guardado","Edit checkpoint")}: ${l.summary}`,onClick:c=>s.edit(l)},O(s.t("Editar","Edit")),9,oa),b("button",{type:"button",class:"action-delete",disabled:s.busy,"aria-label":`${s.t("Eliminar punto guardado","Delete checkpoint")}: ${l.summary}`,onClick:c=>s.removeCheckpoint(l)},O(s.t("Eliminar","Delete")),9,la)])]))),128))])]))),128))])):(H(),U("p",Gc,O(s.t("No hay puntos guardados.","No checkpoints saved.")),1))],512),[[Ln,s.activeView==="checkpoints"]]),Et(b("section",ca,[b("header",aa,[b("div",null,[b("h2",fa,O(s.t("TODOs por proyecto","TODOs by project")),1),b("p",ua,O(s.t("Tareas persistentes agrupadas por proyecto y estado.","Persistent tasks grouped by project and status.")),1)]),b("label",da,[Et(b("input",{"onUpdate:modelValue":t[4]||(t[4]=o=>s.includeArchived=o),type:"checkbox"},null,512),[[kl,s.includeArchived]]),b("span",null,O(s.t("Incluir archivados","Include archived")),1)])]),s.todoGroups.length?(H(),U("div",pa,[(H(!0),U(Q,null,Xe(s.todoGroups,o=>(H(),U("details",{key:o.key,class:"scope todo-project"},[b("summary",ga,[b("div",ma,[b("span",_a,[It(O(s.t("Directorio","Directory"))+" ",1),b("strong",ya,O(s.projectDirectoryLabel(o,s.language)),1)]),b("span",ba,O(s.t("Proyecto","Project"))+" · "+O(o.total)+" "+O(o.total===1?s.t("tarea","task"):s.t("tareas","tasks")),1),b("code",null,O(o.project),1)])]),b("div",va,[(H(!0),U(Q,null,Xe(s.todoStatuses,l=>(H(),U(Q,{key:l},[o[l].length?(H(),U("section",xa,[b("h3",Sa,[b("span",null,O(s.todoStatusLabel(l)),1),b("span",null,O(o[l].length),1)]),b("ul",wa,[(H(!0),U(Q,null,Xe(o[l],c=>(H(),U("li",{key:c.id},O(c.task),1))),128))])])):yt("",!0)],64))),128))])]))),128))])):(H(),U("p",ha,O(s.includeArchived?s.t("No hay TODOs guardados.","No TODOs saved."):s.t("No hay TODOs activos. Incluye los archivados para verlos.","No active TODOs. Include archived items to see them.")),1))],512),[[Ln,s.activeView==="todos"]])],64)):yt("",!0)])])])}const Ta=Ql($l,[["render",Ca]]);Ul(Ta).mount("#app");
@@ -0,0 +1,4 @@
1
+ <!doctype html>
2
+ <html lang="es"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="color-scheme" content="dark light"><title>Habit Memory</title> <script type="module" crossorigin src="/assets/index-Nel_NS0n.js"></script>
3
+ <link rel="stylesheet" crossorigin href="/assets/index-CeYHNSfT.css">
4
+ </head><body><div id="app"></div></body></html>
@@ -0,0 +1,32 @@
1
+ # Uso interoperable
2
+
3
+ El plugin de OpenCode conserva sus hooks; sus hábitos y checkpoints se guardan en JSON bajo `$XDG_DATA_HOME/habit-memory-plugin/store-v1.json` (fallback `~/.local/share/habit-memory-plugin/store-v1.json`). Puede configurarse el mismo MCP local por stdio en clientes compatibles:
4
+
5
+ ```json
6
+ {
7
+ "mcpServers": {
8
+ "habit-memory": {
9
+ "command": "node",
10
+ "args": ["/ruta/absoluta/al/plugin/src/mcp.js"]
11
+ }
12
+ }
13
+ }
14
+ ```
15
+
16
+ En Claude Code puede añadirse con `claude mcp add --transport stdio habit-memory -- node /ruta/absoluta/al/plugin/src/mcp.js`. Para Antigravity, coloca la misma entrada bajo `mcpServers` en `.agents/mcp_config.json` del workspace. OpenCode usa una entrada local como esta dentro de `mcp` en una configuración de proyecto `opencode.json` (no se modifica ninguna configuración automáticamente):
17
+
18
+ ```json
19
+ {
20
+ "mcp": {
21
+ "habit-memory": {
22
+ "type": "local",
23
+ "command": ["node", "/ruta/absoluta/al/plugin/src/mcp.js"],
24
+ "enabled": true
25
+ }
26
+ }
27
+ }
28
+ ```
29
+
30
+ Herramientas: `habit_memory_get`, `checkpoint_projects`, `checkpoint_contexts`, `checkpoint_list`, `checkpoint_save`, `checkpoint_delete` y `checkpoint_clear` (requiere `confirm: true`). El borrado de hábitos agregados solo está disponible en la WebUI local; no existe una herramienta MCP ni un comando para esa acción. Usa `checkpoint_projects` para obtener el hash de proyecto y `checkpoint_contexts` para descubrir contextos existentes, incluidos los scopes de sesión OpenCode. Las herramientas MCP admiten cualquier contexto neutral explícito para compartirlo entre clientes. Los clientes deben usar el mismo directorio XDG de datos. El store admite hasta 10 000 checkpoints y 2 MB en total. Los hábitos guardan únicamente categorías allowlisted: el acumulado por categoría se conserva hasta 999 y la serie nueva conserva buckets UTC de los últimos 365 días. El historial de tendencias empieza con la nueva instrumentación; no se asignan fechas retroactivas a conteos legacy. No se aceptan ni almacenan campos de conversación. La importación legacy lee únicamente `profile-v1` al iniciar y la clave explícita del checkpoint una vez por proyecto conocido, sin eliminar el origen.
31
+
32
+ Fuentes de configuración consultadas: [Claude Code MCP](https://code.claude.com/docs/en/mcp), [Antigravity MCP](https://www.antigravity.google/docs/mcp), [OpenCode MCP](https://opencode.ai/docs/mcp-servers/), [MCP TypeScript SDK stdio](https://ts.sdk.modelcontextprotocol.io/v2/serving/stdio.html). El servidor implementa el intercambio MCP básico por stdio directamente, sin dependencia SDK. **No se ejecutó ni verificó en vivo en Claude Code, Antigravity u OpenCode**; las entradas anteriores son ejemplos de configuración documentada.