heyio 0.1.26 โ†’ 0.1.28

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # ๐Ÿค– IO
2
2
 
3
- A personal AI assistant daemon built on the GitHub Copilot SDK. IO runs 24/7 on your machine, reachable via Telegram and a terminal TUI.
3
+ A personal AI assistant daemon built on the GitHub Copilot SDK. IO runs 24/7 on your machine, reachable via Telegram, a web UI, and a terminal TUI.
4
4
 
5
5
  [![CI](https://github.com/michaeljolley/io/actions/workflows/ci.yml/badge.svg)](https://github.com/michaeljolley/io/actions/workflows/ci.yml)
6
6
  ![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)
@@ -9,7 +9,8 @@ A personal AI assistant daemon built on the GitHub Copilot SDK. IO runs 24/7 on
9
9
  ## โœจ Features
10
10
 
11
11
  - **Copilot SDK Integration** โ€” powered by GitHub's Copilot SDK for LLM conversations with tool calling
12
- - **Multi-Interface** โ€” Telegram bot + terminal TUI + HTTP API (future web UI)
12
+ - **Multi-Interface** โ€” Web UI + Telegram bot + terminal TUI + HTTP API
13
+ - **Web Frontend** โ€” Vue 3 dashboard with chat, squad management, skills, and agent activity views
13
14
  - **Persistent Memory** โ€” wiki-based knowledge base stored at `~/.io/wiki/`
14
15
  - **Squad System** โ€” persistent project teams that remember decisions, context, and history
15
16
  - **Skills** โ€” modular skill system; install from git repos or the [skills.sh](https://skills.sh) registry
@@ -113,10 +114,12 @@ IO stores its configuration at `~/.io/config.json`. The setup wizard (`io setup`
113
114
  | `modelTiers.high` | `string[]` | `["claude-opus-4.7", "claude-opus-4.6"]` | Models for complex tasks (architecture, debugging, design) |
114
115
  | `modelTiers.medium` | `string[]` | `["claude-sonnet-4.6", "gpt-5.5", "claude-opus-4.5"]` | Models for standard tasks (features, tests, reviews) |
115
116
  | `modelTiers.low` | `string[]` | `["claude-haiku-4.5", "gpt-5.4-mini"]` | Models for simple tasks (reads, formatting, lookups) |
116
- | `apiPort` | `number` | `3170` | Port for the HTTP API server |
117
+ | `port` | `number` | `3170` | Port for the HTTP server (API + web frontend) |
117
118
 
118
119
  Each `modelTiers` list is a ranked preference โ€” IO picks the first available model at startup.
119
120
 
121
+ > **Migration note:** If your config uses the old `apiPort` field, IO will automatically migrate it to `port`.
122
+
120
123
  ### Example
121
124
 
122
125
  ```jsonc
@@ -126,7 +129,7 @@ Each `modelTiers` list is a ranked preference โ€” IO picks the first available m
126
129
  "telegramEnabled": true,
127
130
  "selfEditEnabled": false,
128
131
  "defaultModel": "claude-sonnet-4.6",
129
- "apiPort": 3170,
132
+ "port": 3170,
130
133
  "modelTiers": {
131
134
  "high": ["claude-opus-4.7", "claude-opus-4.6"],
132
135
  "medium": ["claude-sonnet-4.6", "gpt-5.5", "claude-opus-4.5"],
@@ -182,7 +185,7 @@ IO's orchestrator automatically creates and manages squads based on your convers
182
185
  ## ๐Ÿ—๏ธ Architecture
183
186
 
184
187
  ```
185
- User โ†’ [TUI / Telegram / HTTP API]
188
+ User โ†’ [Web UI / TUI / Telegram / HTTP API]
186
189
  โ†“
187
190
  Orchestrator (Copilot SDK)
188
191
  โ†• โ†•
@@ -197,6 +200,17 @@ For complex tasks, the orchestrator delegates work to **Worker Agents** โ€” shor
197
200
 
198
201
  The **Squad System** provides persistent project context, while the **Wiki** serves as a long-term knowledge base that spans all conversations.
199
202
 
203
+ ### Web Frontend
204
+
205
+ IO includes a Vue 3 web dashboard served directly from the daemon on the same port as the API (default: 3170). The frontend provides:
206
+
207
+ - **Chat** โ€” real-time conversation with SSE streaming
208
+ - **Squads** โ€” view and manage project squads
209
+ - **Skills** โ€” browse installed skills
210
+ - **Agent Activity** โ€” monitor running worker agents
211
+
212
+ Access the web UI at `http://your-server:3170/` when running in daemon mode.
213
+
200
214
  ## ๐Ÿ—๏ธ Project Structure
201
215
 
202
216
  ```
@@ -227,7 +241,15 @@ src/
227
241
  โ”œโ”€โ”€ tui/
228
242
  โ”‚ โ””โ”€โ”€ index.ts # Terminal UI
229
243
  โ””โ”€โ”€ api/
230
- โ””โ”€โ”€ server.ts # Express HTTP + SSE
244
+ โ””โ”€โ”€ server.ts # Express HTTP + SSE + static frontend
245
+
246
+ web/ # Vue 3 frontend (built to web-dist/)
247
+ โ”œโ”€โ”€ src/
248
+ โ”‚ โ”œโ”€โ”€ views/ # ChatView, SquadsView, SkillsView, AgentActivityView
249
+ โ”‚ โ”œโ”€โ”€ router/ # Vue Router config
250
+ โ”‚ โ””โ”€โ”€ main.ts # App entry
251
+ โ”œโ”€โ”€ vite.config.ts # Vite config (builds to ../web-dist/)
252
+ โ””โ”€โ”€ package.json
231
253
  ```
232
254
 
233
255
  ## ๐Ÿ› ๏ธ Development
@@ -1,9 +1,14 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import { existsSync } from "node:fs";
1
4
  import express from "express";
2
5
  import { config } from "../config.js";
3
6
  import { listSkills } from "../copilot/skills.js";
4
7
  import { listSquads, createSquad } from "../store/squads.js";
5
8
  import { getAgentInfo } from "../copilot/agents.js";
6
9
  import { IO_VERSION } from "../paths.js";
10
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
11
+ const WEB_DIST = path.resolve(__dirname, "../../web-dist");
7
12
  let messageHandler;
8
13
  const sseConnections = new Set();
9
14
  export function setMessageHandler(handler) {
@@ -24,14 +29,16 @@ export async function startApiServer() {
24
29
  res.setHeader("Access-Control-Allow-Headers", "Content-Type");
25
30
  next();
26
31
  });
27
- app.get("/health", (_req, res) => {
32
+ // Build API router
33
+ const api = express.Router();
34
+ api.get("/health", (_req, res) => {
28
35
  res.json({ status: "ok" });
29
36
  });
30
- app.get("/status", (_req, res) => {
37
+ api.get("/status", (_req, res) => {
31
38
  res.json({ version: IO_VERSION, uptime: process.uptime() });
32
39
  });
33
40
  // Skills endpoints
34
- app.get("/skills", (_req, res) => {
41
+ api.get("/skills", (_req, res) => {
35
42
  try {
36
43
  const skills = listSkills();
37
44
  res.json({ skills });
@@ -42,7 +49,7 @@ export async function startApiServer() {
42
49
  }
43
50
  });
44
51
  // Squads endpoints
45
- app.get("/squads", (_req, res) => {
52
+ api.get("/squads", (_req, res) => {
46
53
  try {
47
54
  const squads = listSquads();
48
55
  res.json({ squads });
@@ -52,7 +59,7 @@ export async function startApiServer() {
52
59
  res.status(500).json({ error: "Failed to list squads" });
53
60
  }
54
61
  });
55
- app.post("/squads", (req, res) => {
62
+ api.post("/squads", (req, res) => {
56
63
  try {
57
64
  const { slug, name, projectPath } = req.body;
58
65
  if (!slug || !name || !projectPath) {
@@ -68,7 +75,7 @@ export async function startApiServer() {
68
75
  }
69
76
  });
70
77
  // Agents endpoints
71
- app.get("/agents", (_req, res) => {
78
+ api.get("/agents", (_req, res) => {
72
79
  try {
73
80
  const agents = getAgentInfo();
74
81
  res.json({ agents });
@@ -79,7 +86,7 @@ export async function startApiServer() {
79
86
  }
80
87
  });
81
88
  // Chat endpoints
82
- app.post("/message", async (req, res) => {
89
+ api.post("/message", async (req, res) => {
83
90
  const { text } = req.body;
84
91
  if (!text) {
85
92
  res.status(400).json({ error: "Missing 'text' in request body" });
@@ -103,7 +110,7 @@ export async function startApiServer() {
103
110
  });
104
111
  res.json({ response: fullResponse });
105
112
  });
106
- app.get("/events", (req, res) => {
113
+ api.get("/events", (req, res) => {
107
114
  res.setHeader("Content-Type", "text/event-stream");
108
115
  res.setHeader("Cache-Control", "no-cache");
109
116
  res.setHeader("Connection", "keep-alive");
@@ -113,9 +120,21 @@ export async function startApiServer() {
113
120
  sseConnections.delete(res);
114
121
  });
115
122
  });
123
+ // Mount API at /api (for frontend) and / (backward compat)
124
+ app.use("/api", api);
125
+ app.use("/", api);
126
+ // Serve Vue frontend if built assets exist
127
+ if (existsSync(WEB_DIST)) {
128
+ app.use(express.static(WEB_DIST));
129
+ // SPA fallback โ€” serve index.html for any non-API route
130
+ app.get("*", (_req, res) => {
131
+ res.sendFile(path.join(WEB_DIST, "index.html"));
132
+ });
133
+ console.log("[io] Web frontend enabled");
134
+ }
116
135
  return new Promise((resolve) => {
117
- app.listen(config.apiPort, () => {
118
- console.log(`[io] API server listening on port ${config.apiPort}`);
136
+ app.listen(config.port, () => {
137
+ console.log(`[io] Server listening on port ${config.port}`);
119
138
  resolve();
120
139
  });
121
140
  });
package/dist/config.js CHANGED
@@ -3,7 +3,7 @@ import { CONFIG_PATH, IO_HOME } from "./paths.js";
3
3
  const DEFAULT_CONFIG = {
4
4
  telegramEnabled: false,
5
5
  selfEditEnabled: false,
6
- apiPort: 3170,
6
+ port: 3170,
7
7
  };
8
8
  function loadConfig() {
9
9
  mkdirSync(IO_HOME, { recursive: true });
@@ -14,6 +14,11 @@ function loadConfig() {
14
14
  try {
15
15
  const raw = readFileSync(CONFIG_PATH, "utf-8");
16
16
  const parsed = JSON.parse(raw);
17
+ // Migrate apiPort โ†’ port
18
+ if (parsed.apiPort != null && parsed.port == null) {
19
+ parsed.port = parsed.apiPort;
20
+ }
21
+ delete parsed.apiPort;
17
22
  return { ...DEFAULT_CONFIG, ...parsed };
18
23
  }
19
24
  catch {
@@ -32,7 +32,7 @@ You are a Node.js daemon process built with the Copilot SDK. Here's how you work
32
32
  - **Telegram bot**: Messages arrive tagged with \`[via telegram]\`. Keep responses concise and mobile-friendly.
33
33
  - **Local TUI**: A terminal interface on the local machine. Messages arrive tagged with \`[via tui]\`. You can be more verbose here.
34
34
  - **Background tasks**: Messages tagged \`[via background]\` are results from squad workers you delegated to.
35
- - **HTTP API**: You expose a local API on port ${config.apiPort} for programmatic access.
35
+ - **HTTP API**: You expose a local API on port ${config.port} for programmatic access.
36
36
 
37
37
  When no source tag is present, assume TUI.
38
38
 
@@ -105,7 +105,7 @@ The model is selected automatically. Tell the user which model tier was chosen w
105
105
  - \`skill_search\`: Search the skills.sh registry for available skills.
106
106
 
107
107
  ### Configuration
108
- - \`config_update\`: Update IO's configuration (defaultModel, telegramEnabled, selfEditEnabled, apiPort).
108
+ - \`config_update\`: Update IO's configuration (defaultModel, telegramEnabled, selfEditEnabled, port).
109
109
  - \`check_update\`: Check if a newer version of IO is available.
110
110
 
111
111
  ### System
@@ -292,7 +292,7 @@ export function createTools(deps) {
292
292
  skipPermission: true,
293
293
  parameters: z.object({
294
294
  key: z
295
- .enum(["defaultModel", "telegramEnabled", "selfEditEnabled", "apiPort"])
295
+ .enum(["defaultModel", "telegramEnabled", "selfEditEnabled", "port"])
296
296
  .describe("Config key to update"),
297
297
  value: z
298
298
  .union([z.string(), z.number(), z.boolean()])
package/package.json CHANGED
@@ -1,21 +1,24 @@
1
1
  {
2
2
  "name": "heyio",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "description": "IO โ€” a personal AI assistant built on the GitHub Copilot SDK",
5
5
  "bin": {
6
6
  "io": "dist/index.js"
7
7
  },
8
8
  "files": [
9
9
  "dist/**/*.js",
10
+ "web-dist/**/*",
10
11
  "README.md"
11
12
  ],
12
13
  "scripts": {
13
14
  "build": "tsc",
15
+ "build:web": "cd web && npm install && npx vite build",
16
+ "build:all": "npm run build && npm run build:web",
14
17
  "postinstall": "npm rebuild better-sqlite3",
15
18
  "daemon": "tsx src/daemon.ts",
16
19
  "tui": "tsx src/tui/index.ts",
17
20
  "dev": "tsx --watch src/daemon.ts",
18
- "prepublishOnly": "npm run build"
21
+ "prepublishOnly": "npm run build:all"
19
22
  },
20
23
  "engines": {
21
24
  "node": ">=22"
@@ -0,0 +1,31 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const o of r)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const o={};return r.integrity&&(o.integrity=r.integrity),r.referrerPolicy&&(o.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?o.credentials="include":r.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function s(r){if(r.ep)return;r.ep=!0;const o=n(r);fetch(r.href,o)}})();/**
2
+ * @vue/shared v3.5.34
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function Ds(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const se={},kt=[],et=()=>{},to=()=>!1,Hn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),kn=e=>e.startsWith("onUpdate:"),be=Object.assign,Ls=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ti=Object.prototype.hasOwnProperty,Z=(e,t)=>Ti.call(e,t),V=Array.isArray,Bt=e=>yn(e)==="[object Map]",no=e=>yn(e)==="[object Set]",or=e=>yn(e)==="[object Date]",B=e=>typeof e=="function",ae=e=>typeof e=="string",Ve=e=>typeof e=="symbol",te=e=>e!==null&&typeof e=="object",so=e=>(te(e)||B(e))&&B(e.then)&&B(e.catch),ro=Object.prototype.toString,yn=e=>ro.call(e),Ii=e=>yn(e).slice(8,-1),oo=e=>yn(e)==="[object Object]",Bn=e=>ae(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,nn=Ds(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Un=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Ni=/-\w/g,ke=Un(e=>e.replace(Ni,t=>t.slice(1).toUpperCase())),Mi=/\B([A-Z])/g,It=Un(e=>e.replace(Mi,"-$1").toLowerCase()),io=Un(e=>e.charAt(0).toUpperCase()+e.slice(1)),ns=Un(e=>e?`on${io(e)}`:""),Ze=(e,t)=>!Object.is(e,t),Rn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},lo=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},js=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let ir;const $n=()=>ir||(ir=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fs(e){if(V(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=ae(s)?Fi(s):Fs(s);if(r)for(const o in r)t[o]=r[o]}return t}else if(ae(e)||te(e))return e}const Di=/;(?![^(]*\))/g,Li=/:([^]+)/,ji=/\/\*[^]*?\*\//g;function Fi(e){const t={};return e.replace(ji,"").split(Di).forEach(n=>{if(n){const s=n.split(Li);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function He(e){let t="";if(ae(e))t=e;else if(V(e))for(let n=0;n<e.length;n++){const s=He(e[n]);s&&(t+=s+" ")}else if(te(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Vi="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Hi=Ds(Vi);function co(e){return!!e||e===""}function ki(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Vs(e[s],t[s]);return n}function Vs(e,t){if(e===t)return!0;let n=or(e),s=or(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Ve(e),s=Ve(t),n||s)return e===t;if(n=V(e),s=V(t),n||s)return n&&s?ki(e,t):!1;if(n=te(e),s=te(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,o=Object.keys(t).length;if(r!==o)return!1;for(const i in e){const l=e.hasOwnProperty(i),c=t.hasOwnProperty(i);if(l&&!c||!l&&c||!Vs(e[i],t[i]))return!1}}return String(e)===String(t)}const uo=e=>!!(e&&e.__v_isRef===!0),le=e=>ae(e)?e:e==null?"":V(e)||te(e)&&(e.toString===ro||!B(e.toString))?uo(e)?le(e.value):JSON.stringify(e,ao,2):String(e),ao=(e,t)=>uo(t)?ao(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],o)=>(n[ss(s,o)+" =>"]=r,n),{})}:no(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>ss(n))}:Ve(t)?ss(t):te(t)&&!V(t)&&!oo(t)?String(t):t,ss=(e,t="")=>{var n;return Ve(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
6
+ * @vue/reactivity v3.5.34
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let ge;class fo{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&&ge&&(ge.active?(this.parent=ge,this.index=(ge.scopes||(ge.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)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[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)for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].resume();for(t=0,n=this.effects.length;t<n;t++)this.effects[t].resume()}}run(t){if(this._active){const n=ge;try{return ge=this,t()}finally{ge=n}}}on(){++this._on===1&&(this.prevScope=ge,ge=this)}off(){if(this._on>0&&--this._on===0){if(ge===this)ge=this.prevScope;else{let t=ge;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){for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function ho(e){return new fo(e)}function po(){return ge}function Bi(e,t=!1){ge&&ge.cleanups.push(e)}let oe;const rs=new WeakSet;class go{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,ge&&(ge.active?ge.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,rs.has(this)&&(rs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||_o(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,lr(this),yo(this);const t=oe,n=Be;oe=this,Be=!0;try{return this.fn()}finally{vo(this),oe=t,Be=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Bs(t);this.deps=this.depsTail=void 0,lr(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?rs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ys(this)&&this.run()}get dirty(){return ys(this)}}let mo=0,sn,rn;function _o(e,t=!1){if(e.flags|=8,t){e.next=rn,rn=e;return}e.next=sn,sn=e}function Hs(){mo++}function ks(){if(--mo>0)return;if(rn){let t=rn;for(rn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;sn;){let t=sn;for(sn=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 yo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function vo(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Bs(s),Ui(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function ys(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(bo(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function bo(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===dn)||(e.globalVersion=dn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ys(e))))return;e.flags|=2;const t=e.dep,n=oe,s=Be;oe=e,Be=!0;try{yo(e);const r=e.fn(e._value);(t.version===0||Ze(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{oe=n,Be=s,vo(e),e.flags&=-3}}function Bs(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Bs(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ui(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Be=!0;const xo=[];function at(){xo.push(Be),Be=!1}function ft(){const e=xo.pop();Be=e===void 0?!0:e}function lr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=oe;oe=void 0;try{t()}finally{oe=n}}}let dn=0;class $i{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 Us{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(!oe||!Be||oe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==oe)n=this.activeLink=new $i(oe,this),oe.deps?(n.prevDep=oe.depsTail,oe.depsTail.nextDep=n,oe.depsTail=n):oe.deps=oe.depsTail=n,Eo(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=oe.depsTail,n.nextDep=void 0,oe.depsTail.nextDep=n,oe.depsTail=n,oe.deps===n&&(oe.deps=s)}return n}trigger(t){this.version++,dn++,this.notify(t)}notify(t){Hs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ks()}}}function Eo(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)Eo(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Tn=new WeakMap,Pt=Symbol(""),vs=Symbol(""),hn=Symbol("");function xe(e,t,n){if(Be&&oe){let s=Tn.get(e);s||Tn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Us),r.map=s,r.key=n),r.track()}}function lt(e,t,n,s,r,o){const i=Tn.get(e);if(!i){dn++;return}const l=c=>{c&&c.trigger()};if(Hs(),t==="clear")i.forEach(l);else{const c=V(e),f=c&&Bn(n);if(c&&n==="length"){const a=Number(s);i.forEach((d,p)=>{(p==="length"||p===hn||!Ve(p)&&p>=a)&&l(d)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),f&&l(i.get(hn)),t){case"add":c?f&&l(i.get("length")):(l(i.get(Pt)),Bt(e)&&l(i.get(vs)));break;case"delete":c||(l(i.get(Pt)),Bt(e)&&l(i.get(vs)));break;case"set":Bt(e)&&l(i.get(Pt));break}}ks()}function Ki(e,t){const n=Tn.get(e);return n&&n.get(t)}function Dt(e){const t=Q(e);return t===e?t:(xe(t,"iterate",hn),Le(e)?t:t.map($e))}function Kn(e){return xe(e=Q(e),"iterate",hn),e}function Ye(e,t){return dt(e)?Kt(ut(e)?$e(t):t):$e(t)}const Gi={__proto__:null,[Symbol.iterator](){return os(this,Symbol.iterator,e=>Ye(this,e))},concat(...e){return Dt(this).concat(...e.map(t=>V(t)?Dt(t):t))},entries(){return os(this,"entries",e=>(e[1]=Ye(this,e[1]),e))},every(e,t){return st(this,"every",e,t,void 0,arguments)},filter(e,t){return st(this,"filter",e,t,n=>n.map(s=>Ye(this,s)),arguments)},find(e,t){return st(this,"find",e,t,n=>Ye(this,n),arguments)},findIndex(e,t){return st(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return st(this,"findLast",e,t,n=>Ye(this,n),arguments)},findLastIndex(e,t){return st(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return st(this,"forEach",e,t,void 0,arguments)},includes(...e){return is(this,"includes",e)},indexOf(...e){return is(this,"indexOf",e)},join(e){return Dt(this).join(e)},lastIndexOf(...e){return is(this,"lastIndexOf",e)},map(e,t){return st(this,"map",e,t,void 0,arguments)},pop(){return zt(this,"pop")},push(...e){return zt(this,"push",e)},reduce(e,...t){return cr(this,"reduce",e,t)},reduceRight(e,...t){return cr(this,"reduceRight",e,t)},shift(){return zt(this,"shift")},some(e,t){return st(this,"some",e,t,void 0,arguments)},splice(...e){return zt(this,"splice",e)},toReversed(){return Dt(this).toReversed()},toSorted(e){return Dt(this).toSorted(e)},toSpliced(...e){return Dt(this).toSpliced(...e)},unshift(...e){return zt(this,"unshift",e)},values(){return os(this,"values",e=>Ye(this,e))}};function os(e,t,n){const s=Kn(e),r=s[t]();return s!==e&&!Le(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=n(o.value)),o}),r}const Wi=Array.prototype;function st(e,t,n,s,r,o){const i=Kn(e),l=i!==e&&!Le(e),c=i[t];if(c!==Wi[t]){const d=c.apply(e,o);return l?$e(d):d}let f=n;i!==e&&(l?f=function(d,p){return n.call(this,Ye(e,d),p,e)}:n.length>2&&(f=function(d,p){return n.call(this,d,p,e)}));const a=c.call(i,f,s);return l&&r?r(a):a}function cr(e,t,n,s){const r=Kn(e),o=r!==e&&!Le(e);let i=n,l=!1;r!==e&&(o?(l=s.length===0,i=function(f,a,d){return l&&(l=!1,f=Ye(e,f)),n.call(this,f,Ye(e,a),d,e)}):n.length>3&&(i=function(f,a,d){return n.call(this,f,a,d,e)}));const c=r[t](i,...s);return l?Ye(e,c):c}function is(e,t,n){const s=Q(e);xe(s,"iterate",hn);const r=s[t](...n);return(r===-1||r===!1)&&Gn(n[0])?(n[0]=Q(n[0]),s[t](...n)):r}function zt(e,t,n=[]){at(),Hs();const s=Q(e)[t].apply(e,n);return ks(),ft(),s}const qi=Ds("__proto__,__v_isRef,__isVue"),So=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ve));function Ji(e){Ve(e)||(e=String(e));const t=Q(this);return xe(t,"has",e),t.hasOwnProperty(e)}class wo{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return o;if(n==="__v_raw")return s===(r?o?rl:Oo:o?Co:Ao).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=V(t);if(!r){let c;if(i&&(c=Gi[n]))return c;if(n==="hasOwnProperty")return Ji}const l=Reflect.get(t,n,fe(t)?t:s);if((Ve(n)?So.has(n):qi(n))||(r||xe(t,"get",n),o))return l;if(fe(l)){const c=i&&Bn(n)?l:l.value;return r&&te(c)?xs(c):c}return te(l)?r?xs(l):vn(l):l}}class Ro extends wo{constructor(t=!1){super(!1,t)}set(t,n,s,r){let o=t[n];const i=V(t)&&Bn(n);if(!this._isShallow){const f=dt(o);if(!Le(s)&&!dt(s)&&(o=Q(o),s=Q(s)),!i&&fe(o)&&!fe(s))return f||(o.value=s),!0}const l=i?Number(n)<t.length:Z(t,n),c=Reflect.set(t,n,s,fe(t)?t:r);return t===Q(r)&&(l?Ze(s,o)&&lt(t,"set",n,s):lt(t,"add",n,s)),c}deleteProperty(t,n){const s=Z(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&lt(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Ve(n)||!So.has(n))&&xe(t,"has",n),s}ownKeys(t){return xe(t,"iterate",V(t)?"length":Pt),Reflect.ownKeys(t)}}class zi extends wo{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Qi=new Ro,Yi=new zi,Xi=new Ro(!0);const bs=e=>e,En=e=>Reflect.getPrototypeOf(e);function Zi(e,t,n){return function(...s){const r=this.__v_raw,o=Q(r),i=Bt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),a=n?bs:t?Kt:$e;return!t&&xe(o,"iterate",c?vs:Pt),be(Object.create(f),{next(){const{value:d,done:p}=f.next();return p?{value:d,done:p}:{value:l?[a(d[0]),a(d[1])]:a(d),done:p}}})}}function Sn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function el(e,t){const n={get(r){const o=this.__v_raw,i=Q(o),l=Q(r);e||(Ze(r,l)&&xe(i,"get",r),xe(i,"get",l));const{has:c}=En(i),f=t?bs:e?Kt:$e;if(c.call(i,r))return f(o.get(r));if(c.call(i,l))return f(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&xe(Q(r),"iterate",Pt),r.size},has(r){const o=this.__v_raw,i=Q(o),l=Q(r);return e||(Ze(r,l)&&xe(i,"has",r),xe(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,c=Q(l),f=t?bs:e?Kt:$e;return!e&&xe(c,"iterate",Pt),l.forEach((a,d)=>r.call(o,f(a),f(d),i))}};return be(n,e?{add:Sn("add"),set:Sn("set"),delete:Sn("delete"),clear:Sn("clear")}:{add(r){const o=Q(this),i=En(o),l=Q(r),c=!t&&!Le(r)&&!dt(r)?l:r;return i.has.call(o,c)||Ze(r,c)&&i.has.call(o,r)||Ze(l,c)&&i.has.call(o,l)||(o.add(c),lt(o,"add",c,c)),this},set(r,o){!t&&!Le(o)&&!dt(o)&&(o=Q(o));const i=Q(this),{has:l,get:c}=En(i);let f=l.call(i,r);f||(r=Q(r),f=l.call(i,r));const a=c.call(i,r);return i.set(r,o),f?Ze(o,a)&&lt(i,"set",r,o):lt(i,"add",r,o),this},delete(r){const o=Q(this),{has:i,get:l}=En(o);let c=i.call(o,r);c||(r=Q(r),c=i.call(o,r)),l&&l.call(o,r);const f=o.delete(r);return c&&lt(o,"delete",r,void 0),f},clear(){const r=Q(this),o=r.size!==0,i=r.clear();return o&&lt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Zi(r,e,t)}),n}function $s(e,t){const n=el(e,t);return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Z(n,r)&&r in s?n:s,r,o)}const tl={get:$s(!1,!1)},nl={get:$s(!1,!0)},sl={get:$s(!0,!1)};const Ao=new WeakMap,Co=new WeakMap,Oo=new WeakMap,rl=new WeakMap;function ol(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function il(e){return e.__v_skip||!Object.isExtensible(e)?0:ol(Ii(e))}function vn(e){return dt(e)?e:Ks(e,!1,Qi,tl,Ao)}function Po(e){return Ks(e,!1,Xi,nl,Co)}function xs(e){return Ks(e,!0,Yi,sl,Oo)}function Ks(e,t,n,s,r){if(!te(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=il(e);if(o===0)return e;const i=r.get(e);if(i)return i;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ut(e){return dt(e)?ut(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function Le(e){return!!(e&&e.__v_isShallow)}function Gn(e){return e?!!e.__v_raw:!1}function Q(e){const t=e&&e.__v_raw;return t?Q(t):e}function Gs(e){return!Z(e,"__v_skip")&&Object.isExtensible(e)&&lo(e,"__v_skip",!0),e}const $e=e=>te(e)?vn(e):e,Kt=e=>te(e)?xs(e):e;function fe(e){return e?e.__v_isRef===!0:!1}function me(e){return To(e,!1)}function ll(e){return To(e,!0)}function To(e,t){return fe(e)?e:new cl(e,t)}class cl{constructor(t,n){this.dep=new Us,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Q(t),this._value=n?t:$e(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Le(t)||dt(t);t=s?t:Q(t),Ze(t,n)&&(this._rawValue=t,this._value=s?t:$e(t),this.dep.trigger())}}function de(e){return fe(e)?e.value:e}const ul={get:(e,t,n)=>t==="__v_raw"?e:de(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return fe(r)&&!fe(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Io(e){return ut(e)?e:new Proxy(e,ul)}function al(e){const t=V(e)?new Array(e.length):{};for(const n in e)t[n]=dl(e,n);return t}class fl{constructor(t,n,s){this._object=t,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._key=Ve(n)?n:String(n),this._raw=Q(t);let r=!0,o=t;if(!V(t)||Ve(this._key)||!Bn(this._key))do r=!Gn(o)||Le(o);while(r&&(o=o.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=de(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&fe(this._raw[this._key])){const n=this._object[this._key];if(fe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Ki(this._raw,this._key)}}function dl(e,t,n){return new fl(e,t,n)}class hl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Us(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=dn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&oe!==this)return _o(this,!0),!0}get value(){const t=this.dep.track();return bo(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function pl(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new hl(s,r,n)}const wn={},In=new WeakMap;let Ct;function gl(e,t=!1,n=Ct){if(n){let s=In.get(n);s||In.set(n,s=[]),s.push(e)}}function ml(e,t,n=se){const{immediate:s,deep:r,once:o,scheduler:i,augmentJob:l,call:c}=n,f=N=>r?N:Le(N)||r===!1||r===0?ct(N,1):ct(N);let a,d,p,m,P=!1,w=!1;if(fe(e)?(d=()=>e.value,P=Le(e)):ut(e)?(d=()=>f(e),P=!0):V(e)?(w=!0,P=e.some(N=>ut(N)||Le(N)),d=()=>e.map(N=>{if(fe(N))return N.value;if(ut(N))return f(N);if(B(N))return c?c(N,2):N()})):B(e)?t?d=c?()=>c(e,2):e:d=()=>{if(p){at();try{p()}finally{ft()}}const N=Ct;Ct=a;try{return c?c(e,3,[m]):e(m)}finally{Ct=N}}:d=et,t&&r){const N=d,$=r===!0?1/0:r;d=()=>ct(N(),$)}const H=po(),F=()=>{a.stop(),H&&H.active&&Ls(H.effects,a)};if(o&&t){const N=t;t=(...$)=>{N(...$),F()}}let O=w?new Array(e.length).fill(wn):wn;const M=N=>{if(!(!(a.flags&1)||!a.dirty&&!N))if(t){const $=a.run();if(r||P||(w?$.some((ye,ee)=>Ze(ye,O[ee])):Ze($,O))){p&&p();const ye=Ct;Ct=a;try{const ee=[$,O===wn?void 0:w&&O[0]===wn?[]:O,m];O=$,c?c(t,3,ee):t(...ee)}finally{Ct=ye}}}else a.run()};return l&&l(M),a=new go(d),a.scheduler=i?()=>i(M,!1):M,m=N=>gl(N,!1,a),p=a.onStop=()=>{const N=In.get(a);if(N){if(c)c(N,4);else for(const $ of N)$();In.delete(a)}},t?s?M(!0):O=a.run():i?i(M.bind(null,!0),!0):a.run(),F.pause=a.pause.bind(a),F.resume=a.resume.bind(a),F.stop=F,F}function ct(e,t=1/0,n){if(t<=0||!te(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,fe(e))ct(e.value,t,n);else if(V(e))for(let s=0;s<e.length;s++)ct(e[s],t,n);else if(no(e)||Bt(e))e.forEach(s=>{ct(s,t,n)});else if(oo(e)){for(const s in e)ct(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ct(e[s],t,n)}return e}/**
10
+ * @vue/runtime-core v3.5.34
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function bn(e,t,n,s){try{return s?e(...s):e()}catch(r){Wn(r,t,n)}}function tt(e,t,n,s){if(B(e)){const r=bn(e,t,n,s);return r&&so(r)&&r.catch(o=>{Wn(o,t,n)}),r}if(V(e)){const r=[];for(let o=0;o<e.length;o++)r.push(tt(e[o],t,n,s));return r}}function Wn(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||se;if(t){let l=t.parent;const c=t.proxy,f=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const a=l.ec;if(a){for(let d=0;d<a.length;d++)if(a[d](e,c,f)===!1)return}l=l.parent}if(o){at(),bn(o,null,10,[e,c,f]),ft();return}}_l(e,n,r,s,i)}function _l(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Re=[];let Qe=-1;const Ut=[];let yt=null,jt=0;const No=Promise.resolve();let Nn=null;function qn(e){const t=Nn||No;return e?t.then(this?e.bind(this):e):t}function yl(e){let t=Qe+1,n=Re.length;for(;t<n;){const s=t+n>>>1,r=Re[s],o=pn(r);o<e||o===e&&r.flags&2?t=s+1:n=s}return t}function Ws(e){if(!(e.flags&1)){const t=pn(e),n=Re[Re.length-1];!n||!(e.flags&2)&&t>=pn(n)?Re.push(e):Re.splice(yl(t),0,e),e.flags|=1,Mo()}}function Mo(){Nn||(Nn=No.then(Lo))}function vl(e){V(e)?Ut.push(...e):yt&&e.id===-1?yt.splice(jt+1,0,e):e.flags&1||(Ut.push(e),e.flags|=1),Mo()}function ur(e,t,n=Qe+1){for(;n<Re.length;n++){const s=Re[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Re.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Do(e){if(Ut.length){const t=[...new Set(Ut)].sort((n,s)=>pn(n)-pn(s));if(Ut.length=0,yt){yt.push(...t);return}for(yt=t,jt=0;jt<yt.length;jt++){const n=yt[jt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}yt=null,jt=0}}const pn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Lo(e){try{for(Qe=0;Qe<Re.length;Qe++){const t=Re[Qe];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),bn(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;Qe<Re.length;Qe++){const t=Re[Qe];t&&(t.flags&=-2)}Qe=-1,Re.length=0,Do(),Nn=null,(Re.length||Ut.length)&&Lo()}}let Fe=null,jo=null;function Mn(e){const t=Fe;return Fe=e,jo=e&&e.type.__scopeId||null,t}function Xt(e,t=Fe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&jn(-1);const o=Mn(t);let i;try{i=e(...r)}finally{Mn(o),s._d&&jn(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function An(e,t){if(Fe===null)return e;const n=Zn(Fe),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[o,i,l,c=se]=t[r];o&&(B(o)&&(o={mounted:o,updated:o}),o.deep&&ct(i),s.push({dir:o,instance:n,value:i,oldValue:void 0,arg:l,modifiers:c}))}return e}function Rt(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const l=r[i];o&&(l.oldValue=o[i].value);let c=l.dir[s];c&&(at(),tt(c,n,8,[e.el,l,e,t]),ft())}}function Cn(e,t){if(Ae){let n=Ae.provides;const s=Ae.parent&&Ae.parent.provides;s===n&&(n=Ae.provides=Object.create(s)),n[e]=t}}function Ue(e,t,n=!1){const s=li();if(s||Tt){let r=Tt?Tt._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return n&&B(t)?t.call(s&&s.proxy):t}}function bl(){return!!(li()||Tt)}const xl=Symbol.for("v-scx"),El=()=>Ue(xl);function $t(e,t,n){return Fo(e,t,n)}function Fo(e,t,n=se){const{immediate:s,deep:r,flush:o,once:i}=n,l=be({},n),c=t&&s||!t&&o!=="post";let f;if(mn){if(o==="sync"){const m=El();f=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=et,m.resume=et,m.pause=et,m}}const a=Ae;l.call=(m,P,w)=>tt(m,a,P,w);let d=!1;o==="post"?l.scheduler=m=>{Pe(m,a&&a.suspense)}:o!=="sync"&&(d=!0,l.scheduler=(m,P)=>{P?m():Ws(m)}),l.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,a&&(m.id=a.uid,m.i=a))};const p=ml(e,t,l);return mn&&(f?f.push(p):c&&p()),p}function Sl(e,t,n){const s=this.proxy,r=ae(e)?e.includes(".")?Vo(s,e):()=>s[e]:e.bind(s,s);let o;B(t)?o=t:(o=t.handler,n=t);const i=xn(this),l=Fo(r,o.bind(s),n);return i(),l}function Vo(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r<n.length&&s;r++)s=s[n[r]];return s}}const wl=Symbol("_vte"),Rl=e=>e.__isTeleport,Al=Symbol("_leaveCb");function qs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,qs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Et(e,t){return B(e)?be({name:e.name},t,{setup:e}):e}function Ho(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function ar(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Dn=new WeakMap;function on(e,t,n,s,r=!1){if(V(e)){e.forEach((w,H)=>on(w,t&&(V(t)?t[H]:t),n,s,r));return}if(ln(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&on(e,t,n,s.component.subTree);return}const o=s.shapeFlag&4?Zn(s.component):s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,a=l.refs===se?l.refs={}:l.refs,d=l.setupState,p=Q(d),m=d===se?to:w=>ar(a,w)?!1:Z(p,w),P=(w,H)=>!(H&&ar(a,H));if(f!=null&&f!==c){if(fr(t),ae(f))a[f]=null,m(f)&&(d[f]=null);else if(fe(f)){const w=t;P(f,w.k)&&(f.value=null),w.k&&(a[w.k]=null)}}if(B(c))bn(c,l,12,[i,a]);else{const w=ae(c),H=fe(c);if(w||H){const F=()=>{if(e.f){const O=w?m(c)?d[c]:a[c]:P()||!e.k?c.value:a[e.k];if(r)V(O)&&Ls(O,o);else if(V(O))O.includes(o)||O.push(o);else if(w)a[c]=[o],m(c)&&(d[c]=a[c]);else{const M=[o];P(c,e.k)&&(c.value=M),e.k&&(a[e.k]=M)}}else w?(a[c]=i,m(c)&&(d[c]=i)):H&&(P(c,e.k)&&(c.value=i),e.k&&(a[e.k]=i))};if(i){const O=()=>{F(),Dn.delete(e)};O.id=-1,Dn.set(e,O),Pe(O,n)}else fr(e),F()}}}function fr(e){const t=Dn.get(e);t&&(t.flags|=8,Dn.delete(e))}$n().requestIdleCallback;$n().cancelIdleCallback;const ln=e=>!!e.type.__asyncLoader,ko=e=>e.type.__isKeepAlive;function Cl(e,t){Bo(e,"a",t)}function Ol(e,t){Bo(e,"da",t)}function Bo(e,t,n=Ae){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Jn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ko(r.parent.vnode)&&Pl(s,t,n,r),r=r.parent}}function Pl(e,t,n,s){const r=Jn(t,e,s,!0);Js(()=>{Ls(s[t],r)},n)}function Jn(e,t,n=Ae,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{at();const l=xn(n),c=tt(t,n,e,i);return l(),ft(),c});return s?r.unshift(o):r.push(o),o}}const ht=e=>(t,n=Ae)=>{(!mn||e==="sp")&&Jn(e,(...s)=>t(...s),n)},Tl=ht("bm"),zn=ht("m"),Il=ht("bu"),Nl=ht("u"),Ml=ht("bum"),Js=ht("um"),Dl=ht("sp"),Ll=ht("rtg"),jl=ht("rtc");function Fl(e,t=Ae){Jn("ec",e,t)}const Vl=Symbol.for("v-ndc");function Qn(e,t,n,s){let r;const o=n,i=V(e);if(i||ae(e)){const l=i&&ut(e);let c=!1,f=!1;l&&(c=!Le(e),f=dt(e),e=Kn(e)),r=new Array(e.length);for(let a=0,d=e.length;a<d;a++)r[a]=t(c?f?Kt($e(e[a])):$e(e[a]):e[a],a,void 0,o)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,o)}else if(te(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;c<f;c++){const a=l[c];r[c]=t(e[a],a,c,o)}}else r=[];return r}const Es=e=>e?ci(e)?Zn(e):Es(e.parent):null,cn=be(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=>Es(e.parent),$root:e=>Es(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>$o(e),$forceUpdate:e=>e.f||(e.f=()=>{Ws(e.update)}),$nextTick:e=>e.n||(e.n=qn.bind(e.proxy)),$watch:e=>Sl.bind(e)}),ls=(e,t)=>e!==se&&!e.__isScriptSetup&&Z(e,t),Hl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(ls(s,t))return i[t]=1,s[t];if(r!==se&&Z(r,t))return i[t]=2,r[t];if(Z(o,t))return i[t]=3,o[t];if(n!==se&&Z(n,t))return i[t]=4,n[t];Ss&&(i[t]=0)}}const f=cn[t];let a,d;if(f)return t==="$attrs"&&xe(e.attrs,"get",""),f(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(n!==se&&Z(n,t))return i[t]=4,n[t];if(d=c.config.globalProperties,Z(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return ls(r,t)?(r[t]=n,!0):s!==se&&Z(s,t)?(s[t]=n,!0):Z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:o,type:i}},l){let c;return!!(n[l]||e!==se&&l[0]!=="$"&&Z(e,l)||ls(t,l)||Z(o,l)||Z(s,l)||Z(cn,l)||Z(r.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function dr(e){return V(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ss=!0;function kl(e){const t=$o(e),n=e.proxy,s=e.ctx;Ss=!1,t.beforeCreate&&hr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:a,beforeMount:d,mounted:p,beforeUpdate:m,updated:P,activated:w,deactivated:H,beforeDestroy:F,beforeUnmount:O,destroyed:M,unmounted:N,render:$,renderTracked:ye,renderTriggered:ee,errorCaptured:K,serverPrefetch:G,expose:ce,inheritAttrs:Ee,components:Te,directives:Ce,filters:St}=t;if(f&&Bl(f,s,null),i)for(const U in i){const Y=i[U];B(Y)&&(s[U]=Y.bind(n))}if(r){const U=r.call(n,n);te(U)&&(e.data=vn(U))}if(Ss=!0,o)for(const U in o){const Y=o[U],nt=B(Y)?Y.bind(n,n):B(Y.get)?Y.get.bind(n,n):et,gt=!B(Y)&&B(Y.set)?Y.set.bind(n):et,Ge=Me({get:nt,set:gt});Object.defineProperty(s,U,{enumerable:!0,configurable:!0,get:()=>Ge.value,set:Oe=>Ge.value=Oe})}if(l)for(const U in l)Uo(l[U],s,n,U);if(c){const U=B(c)?c.call(n):c;Reflect.ownKeys(U).forEach(Y=>{Cn(Y,U[Y])})}a&&hr(a,e,"c");function ie(U,Y){V(Y)?Y.forEach(nt=>U(nt.bind(n))):Y&&U(Y.bind(n))}if(ie(Tl,d),ie(zn,p),ie(Il,m),ie(Nl,P),ie(Cl,w),ie(Ol,H),ie(Fl,K),ie(jl,ye),ie(Ll,ee),ie(Ml,O),ie(Js,N),ie(Dl,G),V(ce))if(ce.length){const U=e.exposed||(e.exposed={});ce.forEach(Y=>{Object.defineProperty(U,Y,{get:()=>n[Y],set:nt=>n[Y]=nt,enumerable:!0})})}else e.exposed||(e.exposed={});$&&e.render===et&&(e.render=$),Ee!=null&&(e.inheritAttrs=Ee),Te&&(e.components=Te),Ce&&(e.directives=Ce),G&&Ho(e)}function Bl(e,t,n=et){V(e)&&(e=ws(e));for(const s in e){const r=e[s];let o;te(r)?"default"in r?o=Ue(r.from||s,r.default,!0):o=Ue(r.from||s):o=Ue(r),fe(o)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[s]=o}}function hr(e,t,n){tt(V(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Uo(e,t,n,s){let r=s.includes(".")?Vo(n,s):()=>n[s];if(ae(e)){const o=t[e];B(o)&&$t(r,o)}else if(B(e))$t(r,e.bind(n));else if(te(e))if(V(e))e.forEach(o=>Uo(o,t,n,s));else{const o=B(e.handler)?e.handler.bind(n):t[e.handler];B(o)&&$t(r,o,e)}}function $o(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Ln(c,f,i,!0)),Ln(c,t,i)),te(t)&&o.set(t,c),c}function Ln(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&Ln(e,o,n,!0),r&&r.forEach(i=>Ln(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Ul[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Ul={data:pr,props:gr,emits:gr,methods:Zt,computed:Zt,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:Zt,directives:Zt,watch:Kl,provide:pr,inject:$l};function pr(e,t){return t?e?function(){return be(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function $l(e,t){return Zt(ws(e),ws(t))}function ws(e){if(V(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Se(e,t){return e?[...new Set([].concat(e,t))]:t}function Zt(e,t){return e?be(Object.create(null),e,t):t}function gr(e,t){return e?V(e)&&V(t)?[...new Set([...e,...t])]:be(Object.create(null),dr(e),dr(t??{})):t}function Kl(e,t){if(!e)return t;if(!t)return e;const n=be(Object.create(null),e);for(const s in t)n[s]=Se(e[s],t[s]);return n}function Ko(){return{app:null,config:{isNativeTag:to,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Gl=0;function Wl(e,t){return function(s,r=null){B(s)||(s=be({},s)),r!=null&&!te(r)&&(r=null);const o=Ko(),i=new WeakSet,l=[];let c=!1;const f=o.app={_uid:Gl++,_component:s,_props:r,_container:null,_context:o,_instance:null,version:wc,get config(){return o.config},set config(a){},use(a,...d){return i.has(a)||(a&&B(a.install)?(i.add(a),a.install(f,...d)):B(a)&&(i.add(a),a(f,...d))),f},mixin(a){return o.mixins.includes(a)||o.mixins.push(a),f},component(a,d){return d?(o.components[a]=d,f):o.components[a]},directive(a,d){return d?(o.directives[a]=d,f):o.directives[a]},mount(a,d,p){if(!c){const m=f._ceVNode||_e(s,r);return m.appContext=o,p===!0?p="svg":p===!1&&(p=void 0),e(m,a,p),c=!0,f._container=a,a.__vue_app__=f,Zn(m.component)}},onUnmount(a){l.push(a)},unmount(){c&&(tt(l,f._instance,16),e(null,f._container),delete f._container.__vue_app__)},provide(a,d){return o.provides[a]=d,f},runWithContext(a){const d=Tt;Tt=f;try{return a()}finally{Tt=d}}};return f}}let Tt=null;const ql=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ke(t)}Modifiers`]||e[`${It(t)}Modifiers`];function Jl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||se;let r=n;const o=t.startsWith("update:"),i=o&&ql(s,t.slice(7));i&&(i.trim&&(r=n.map(a=>ae(a)?a.trim():a)),i.number&&(r=n.map(js)));let l,c=s[l=ns(t)]||s[l=ns(ke(t))];!c&&o&&(c=s[l=ns(It(t))]),c&&tt(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,tt(f,e,6,r)}}const zl=new WeakMap;function Go(e,t,n=!1){const s=n?zl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!B(e)){const c=f=>{const a=Go(f,t,!0);a&&(l=!0,be(i,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(te(e)&&s.set(e,null),null):(V(o)?o.forEach(c=>i[c]=null):be(i,o),te(e)&&s.set(e,i),i)}function Yn(e,t){return!e||!Hn(t)?!1:(t=t.slice(2).replace(/Once$/,""),Z(e,t[0].toLowerCase()+t.slice(1))||Z(e,It(t))||Z(e,t))}function mr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:c,render:f,renderCache:a,props:d,data:p,setupState:m,ctx:P,inheritAttrs:w}=e,H=Mn(e);let F,O;try{if(n.shapeFlag&4){const N=r||s,$=N;F=Xe(f.call($,N,a,d,m,p,P)),O=l}else{const N=t;F=Xe(N.length>1?N(d,{attrs:l,slots:i,emit:c}):N(d,null)),O=t.props?l:Ql(l)}}catch(N){un.length=0,Wn(N,e,1),F=_e(xt)}let M=F;if(O&&w!==!1){const N=Object.keys(O),{shapeFlag:$}=M;N.length&&$&7&&(o&&N.some(kn)&&(O=Yl(O,o)),M=Gt(M,O,!1,!0))}return n.dirs&&(M=Gt(M,null,!1,!0),M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&qs(M,n.transition),F=M,Mn(H),F}const Ql=e=>{let t;for(const n in e)(n==="class"||n==="style"||Hn(n))&&((t||(t={}))[n]=e[n]);return t},Yl=(e,t)=>{const n={};for(const s in e)(!kn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Xl(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?_r(s,i,f):!!i;if(c&8){const a=t.dynamicProps;for(let d=0;d<a.length;d++){const p=a[d];if(Wo(i,s,p)&&!Yn(f,p))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===i?!1:s?i?_r(s,i,f):!0:!!i;return!1}function _r(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let r=0;r<s.length;r++){const o=s[r];if(Wo(t,e,o)&&!Yn(n,o))return!0}return!1}function Wo(e,t,n){const s=e[n],r=t[n];return n==="style"&&te(s)&&te(r)?!Vs(s,r):s!==r}function Zl({vnode:e,parent:t,suspense:n},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=s,e=r),r===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const qo={},Jo=()=>Object.create(qo),zo=e=>Object.getPrototypeOf(e)===qo;function ec(e,t,n,s=!1){const r={},o=Jo();e.propsDefaults=Object.create(null),Qo(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);n?e.props=s?r:Po(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function tc(e,t,n,s){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=Q(r),[c]=e.propsOptions;let f=!1;if((s||i>0)&&!(i&16)){if(i&8){const a=e.vnode.dynamicProps;for(let d=0;d<a.length;d++){let p=a[d];if(Yn(e.emitsOptions,p))continue;const m=t[p];if(c)if(Z(o,p))m!==o[p]&&(o[p]=m,f=!0);else{const P=ke(p);r[P]=Rs(c,l,P,m,e,!1)}else m!==o[p]&&(o[p]=m,f=!0)}}}else{Qo(e,t,r,o)&&(f=!0);let a;for(const d in l)(!t||!Z(t,d)&&((a=It(d))===d||!Z(t,a)))&&(c?n&&(n[d]!==void 0||n[a]!==void 0)&&(r[d]=Rs(c,l,d,void 0,e,!0)):delete r[d]);if(o!==l)for(const d in o)(!t||!Z(t,d))&&(delete o[d],f=!0)}f&&lt(e.attrs,"set","")}function Qo(e,t,n,s){const[r,o]=e.propsOptions;let i=!1,l;if(t)for(let c in t){if(nn(c))continue;const f=t[c];let a;r&&Z(r,a=ke(c))?!o||!o.includes(a)?n[a]=f:(l||(l={}))[a]=f:Yn(e.emitsOptions,c)||(!(c in s)||f!==s[c])&&(s[c]=f,i=!0)}if(o){const c=Q(n),f=l||se;for(let a=0;a<o.length;a++){const d=o[a];n[d]=Rs(r,c,d,f[d],e,!Z(f,d))}}return i}function Rs(e,t,n,s,r,o){const i=e[n];if(i!=null){const l=Z(i,"default");if(l&&s===void 0){const c=i.default;if(i.type!==Function&&!i.skipFactory&&B(c)){const{propsDefaults:f}=r;if(n in f)s=f[n];else{const a=xn(r);s=f[n]=c.call(null,t),a()}}else s=c;r.ce&&r.ce._setProp(n,s)}i[0]&&(o&&!l?s=!1:i[1]&&(s===""||s===It(n))&&(s=!0))}return s}const nc=new WeakMap;function Yo(e,t,n=!1){const s=n?nc:t.propsCache,r=s.get(e);if(r)return r;const o=e.props,i={},l=[];let c=!1;if(!B(e)){const a=d=>{c=!0;const[p,m]=Yo(d,t,!0);be(i,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!o&&!c)return te(e)&&s.set(e,kt),kt;if(V(o))for(let a=0;a<o.length;a++){const d=ke(o[a]);yr(d)&&(i[d]=se)}else if(o)for(const a in o){const d=ke(a);if(yr(d)){const p=o[a],m=i[d]=V(p)||B(p)?{type:p}:be({},p),P=m.type;let w=!1,H=!0;if(V(P))for(let F=0;F<P.length;++F){const O=P[F],M=B(O)&&O.name;if(M==="Boolean"){w=!0;break}else M==="String"&&(H=!1)}else w=B(P)&&P.name==="Boolean";m[0]=w,m[1]=H,(w||Z(m,"default"))&&l.push(d)}}const f=[i,l];return te(e)&&s.set(e,f),f}function yr(e){return e[0]!=="$"&&!nn(e)}const zs=e=>e==="_"||e==="_ctx"||e==="$stable",Qs=e=>V(e)?e.map(Xe):[Xe(e)],sc=(e,t,n)=>{if(t._n)return t;const s=Xt((...r)=>Qs(t(...r)),n);return s._c=!1,s},Xo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(zs(r))continue;const o=e[r];if(B(o))t[r]=sc(r,o,s);else if(o!=null){const i=Qs(o);t[r]=()=>i}}},Zo=(e,t)=>{const n=Qs(t);e.slots.default=()=>n},ei=(e,t,n)=>{for(const s in t)(n||!zs(s))&&(e[s]=t[s])},rc=(e,t,n)=>{const s=e.slots=Jo();if(e.vnode.shapeFlag&32){const r=t._;r?(ei(s,t,n),n&&lo(s,"_",r,!0)):Xo(t,s)}else t&&Zo(e,t)},oc=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=se;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:ei(r,t,n):(o=!t.$stable,Xo(t,r)),i=t}else t&&(Zo(e,t),i={default:1});if(o)for(const l in r)!zs(l)&&i[l]==null&&delete r[l]},Pe=ac;function ic(e){return lc(e)}function lc(e,t){const n=$n();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:a,parentNode:d,nextSibling:p,setScopeId:m=et,insertStaticContent:P}=e,w=(u,h,g,_=null,b=null,y=null,R=void 0,S=null,E=!!h.dynamicChildren)=>{if(u===h)return;u&&!Qt(u,h)&&(_=v(u),Oe(u,b,y,!0),u=null),h.patchFlag===-2&&(E=!1,h.dynamicChildren=null);const{type:x,ref:j,shapeFlag:C}=h;switch(x){case Xn:H(u,h,g,_);break;case xt:F(u,h,g,_);break;case us:u==null&&O(h,g,_,R);break;case Ne:Te(u,h,g,_,b,y,R,S,E);break;default:C&1?$(u,h,g,_,b,y,R,S,E):C&6?Ce(u,h,g,_,b,y,R,S,E):(C&64||C&128)&&x.process(u,h,g,_,b,y,R,S,E,D)}j!=null&&b?on(j,u&&u.ref,y,h||u,!h):j==null&&u&&u.ref!=null&&on(u.ref,null,y,u,!0)},H=(u,h,g,_)=>{if(u==null)s(h.el=l(h.children),g,_);else{const b=h.el=u.el;h.children!==u.children&&f(b,h.children)}},F=(u,h,g,_)=>{u==null?s(h.el=c(h.children||""),g,_):h.el=u.el},O=(u,h,g,_)=>{[u.el,u.anchor]=P(u.children,h,g,_,u.el,u.anchor)},M=({el:u,anchor:h},g,_)=>{let b;for(;u&&u!==h;)b=p(u),s(u,g,_),u=b;s(h,g,_)},N=({el:u,anchor:h})=>{let g;for(;u&&u!==h;)g=p(u),r(u),u=g;r(h)},$=(u,h,g,_,b,y,R,S,E)=>{if(h.type==="svg"?R="svg":h.type==="math"&&(R="mathml"),u==null)ye(h,g,_,b,y,R,S,E);else{const x=u.el&&u.el._isVueCE?u.el:null;try{x&&x._beginPatch(),G(u,h,b,y,R,S,E)}finally{x&&x._endPatch()}}},ye=(u,h,g,_,b,y,R,S)=>{let E,x;const{props:j,shapeFlag:C,transition:L,dirs:k}=u;if(E=u.el=i(u.type,y,j&&j.is,j),C&8?a(E,u.children):C&16&&K(u.children,E,null,_,b,cs(u,y),R,S),k&&Rt(u,null,_,"created"),ee(E,u,u.scopeId,R,_),j){for(const ne in j)ne!=="value"&&!nn(ne)&&o(E,ne,null,j[ne],y,_);"value"in j&&o(E,"value",null,j.value,y),(x=j.onVnodeBeforeMount)&&ze(x,_,u)}k&&Rt(u,null,_,"beforeMount");const z=cc(b,L);z&&L.beforeEnter(E),s(E,h,g),((x=j&&j.onVnodeMounted)||z||k)&&Pe(()=>{try{x&&ze(x,_,u),z&&L.enter(E),k&&Rt(u,null,_,"mounted")}finally{}},b)},ee=(u,h,g,_,b)=>{if(g&&m(u,g),_)for(let y=0;y<_.length;y++)m(u,_[y]);if(b){let y=b.subTree;if(h===y||ri(y.type)&&(y.ssContent===h||y.ssFallback===h)){const R=b.vnode;ee(u,R,R.scopeId,R.slotScopeIds,b.parent)}}},K=(u,h,g,_,b,y,R,S,E=0)=>{for(let x=E;x<u.length;x++){const j=u[x]=S?it(u[x]):Xe(u[x]);w(null,j,h,g,_,b,y,R,S)}},G=(u,h,g,_,b,y,R)=>{const S=h.el=u.el;let{patchFlag:E,dynamicChildren:x,dirs:j}=h;E|=u.patchFlag&16;const C=u.props||se,L=h.props||se;let k;if(g&&At(g,!1),(k=L.onVnodeBeforeUpdate)&&ze(k,g,h,u),j&&Rt(h,u,g,"beforeUpdate"),g&&At(g,!0),(C.innerHTML&&L.innerHTML==null||C.textContent&&L.textContent==null)&&a(S,""),x?ce(u.dynamicChildren,x,S,g,_,cs(h,b),y):R||Y(u,h,S,null,g,_,cs(h,b),y,!1),E>0){if(E&16)Ee(S,C,L,g,b);else if(E&2&&C.class!==L.class&&o(S,"class",null,L.class,b),E&4&&o(S,"style",C.style,L.style,b),E&8){const z=h.dynamicProps;for(let ne=0;ne<z.length;ne++){const re=z[ne],he=C[re],ve=L[re];(ve!==he||re==="value")&&o(S,re,he,ve,b,g)}}E&1&&u.children!==h.children&&a(S,h.children)}else!R&&x==null&&Ee(S,C,L,g,b);((k=L.onVnodeUpdated)||j)&&Pe(()=>{k&&ze(k,g,h,u),j&&Rt(h,u,g,"updated")},_)},ce=(u,h,g,_,b,y,R)=>{for(let S=0;S<h.length;S++){const E=u[S],x=h[S],j=E.el&&(E.type===Ne||!Qt(E,x)||E.shapeFlag&198)?d(E.el):g;w(E,x,j,null,_,b,y,R,!0)}},Ee=(u,h,g,_,b)=>{if(h!==g){if(h!==se)for(const y in h)!nn(y)&&!(y in g)&&o(u,y,h[y],null,b,_);for(const y in g){if(nn(y))continue;const R=g[y],S=h[y];R!==S&&y!=="value"&&o(u,y,S,R,b,_)}"value"in g&&o(u,"value",h.value,g.value,b)}},Te=(u,h,g,_,b,y,R,S,E)=>{const x=h.el=u?u.el:l(""),j=h.anchor=u?u.anchor:l("");let{patchFlag:C,dynamicChildren:L,slotScopeIds:k}=h;k&&(S=S?S.concat(k):k),u==null?(s(x,g,_),s(j,g,_),K(h.children||[],g,j,b,y,R,S,E)):C>0&&C&64&&L&&u.dynamicChildren&&u.dynamicChildren.length===L.length?(ce(u.dynamicChildren,L,g,b,y,R,S),(h.key!=null||b&&h===b.subTree)&&ti(u,h,!0)):Y(u,h,g,j,b,y,R,S,E)},Ce=(u,h,g,_,b,y,R,S,E)=>{h.slotScopeIds=S,u==null?h.shapeFlag&512?b.ctx.activate(h,g,_,R,E):St(h,g,_,b,y,R,E):pt(u,h,E)},St=(u,h,g,_,b,y,R)=>{const S=u.component=yc(u,_,b);if(ko(u)&&(S.ctx.renderer=D),vc(S,!1,R),S.asyncDep){if(b&&b.registerDep(S,ie,R),!u.el){const E=S.subTree=_e(xt);F(null,E,h,g),u.placeholder=E.el}}else ie(S,u,h,g,b,y,R)},pt=(u,h,g)=>{const _=h.component=u.component;if(Xl(u,h,g))if(_.asyncDep&&!_.asyncResolved){U(_,h,g);return}else _.next=h,_.update();else h.el=u.el,_.vnode=h},ie=(u,h,g,_,b,y,R)=>{const S=()=>{if(u.isMounted){let{next:C,bu:L,u:k,parent:z,vnode:ne}=u;{const qe=ni(u);if(qe){C&&(C.el=ne.el,U(u,C,R)),qe.asyncDep.then(()=>{Pe(()=>{u.isUnmounted||x()},b)});return}}let re=C,he;At(u,!1),C?(C.el=ne.el,U(u,C,R)):C=ne,L&&Rn(L),(he=C.props&&C.props.onVnodeBeforeUpdate)&&ze(he,z,C,ne),At(u,!0);const ve=mr(u),We=u.subTree;u.subTree=ve,w(We,ve,d(We.el),v(We),u,b,y),C.el=ve.el,re===null&&Zl(u,ve.el),k&&Pe(k,b),(he=C.props&&C.props.onVnodeUpdated)&&Pe(()=>ze(he,z,C,ne),b)}else{let C;const{el:L,props:k}=h,{bm:z,m:ne,parent:re,root:he,type:ve}=u,We=ln(h);At(u,!1),z&&Rn(z),!We&&(C=k&&k.onVnodeBeforeMount)&&ze(C,re,h),At(u,!0);{he.ce&&he.ce._hasShadowRoot()&&he.ce._injectChildStyle(ve,u.parent?u.parent.type:void 0);const qe=u.subTree=mr(u);w(null,qe,g,_,u,b,y),h.el=qe.el}if(ne&&Pe(ne,b),!We&&(C=k&&k.onVnodeMounted)){const qe=h;Pe(()=>ze(C,re,qe),b)}(h.shapeFlag&256||re&&ln(re.vnode)&&re.vnode.shapeFlag&256)&&u.a&&Pe(u.a,b),u.isMounted=!0,h=g=_=null}};u.scope.on();const E=u.effect=new go(S);u.scope.off();const x=u.update=E.run.bind(E),j=u.job=E.runIfDirty.bind(E);j.i=u,j.id=u.uid,E.scheduler=()=>Ws(j),At(u,!0),x()},U=(u,h,g)=>{h.component=u;const _=u.vnode.props;u.vnode=h,u.next=null,tc(u,h.props,_,g),oc(u,h.children,g),at(),ur(u),ft()},Y=(u,h,g,_,b,y,R,S,E=!1)=>{const x=u&&u.children,j=u?u.shapeFlag:0,C=h.children,{patchFlag:L,shapeFlag:k}=h;if(L>0){if(L&128){gt(x,C,g,_,b,y,R,S,E);return}else if(L&256){nt(x,C,g,_,b,y,R,S,E);return}}k&8?(j&16&&je(x,b,y),C!==x&&a(g,C)):j&16?k&16?gt(x,C,g,_,b,y,R,S,E):je(x,b,y,!0):(j&8&&a(g,""),k&16&&K(C,g,_,b,y,R,S,E))},nt=(u,h,g,_,b,y,R,S,E)=>{u=u||kt,h=h||kt;const x=u.length,j=h.length,C=Math.min(x,j);let L;for(L=0;L<C;L++){const k=h[L]=E?it(h[L]):Xe(h[L]);w(u[L],k,g,null,b,y,R,S,E)}x>j?je(u,b,y,!0,!1,C):K(h,g,_,b,y,R,S,E,C)},gt=(u,h,g,_,b,y,R,S,E)=>{let x=0;const j=h.length;let C=u.length-1,L=j-1;for(;x<=C&&x<=L;){const k=u[x],z=h[x]=E?it(h[x]):Xe(h[x]);if(Qt(k,z))w(k,z,g,null,b,y,R,S,E);else break;x++}for(;x<=C&&x<=L;){const k=u[C],z=h[L]=E?it(h[L]):Xe(h[L]);if(Qt(k,z))w(k,z,g,null,b,y,R,S,E);else break;C--,L--}if(x>C){if(x<=L){const k=L+1,z=k<j?h[k].el:_;for(;x<=L;)w(null,h[x]=E?it(h[x]):Xe(h[x]),g,z,b,y,R,S,E),x++}}else if(x>L)for(;x<=C;)Oe(u[x],b,y,!0),x++;else{const k=x,z=x,ne=new Map;for(x=z;x<=L;x++){const Ie=h[x]=E?it(h[x]):Xe(h[x]);Ie.key!=null&&ne.set(Ie.key,x)}let re,he=0;const ve=L-z+1;let We=!1,qe=0;const Jt=new Array(ve);for(x=0;x<ve;x++)Jt[x]=0;for(x=k;x<=C;x++){const Ie=u[x];if(he>=ve){Oe(Ie,b,y,!0);continue}let Je;if(Ie.key!=null)Je=ne.get(Ie.key);else for(re=z;re<=L;re++)if(Jt[re-z]===0&&Qt(Ie,h[re])){Je=re;break}Je===void 0?Oe(Ie,b,y,!0):(Jt[Je-z]=x+1,Je>=qe?qe=Je:We=!0,w(Ie,h[Je],g,null,b,y,R,S,E),he++)}const nr=We?uc(Jt):kt;for(re=nr.length-1,x=ve-1;x>=0;x--){const Ie=z+x,Je=h[Ie],sr=h[Ie+1],rr=Ie+1<j?sr.el||si(sr):_;Jt[x]===0?w(null,Je,g,rr,b,y,R,S,E):We&&(re<0||x!==nr[re]?Ge(Je,g,rr,2):re--)}}},Ge=(u,h,g,_,b=null)=>{const{el:y,type:R,transition:S,children:E,shapeFlag:x}=u;if(x&6){Ge(u.component.subTree,h,g,_);return}if(x&128){u.suspense.move(h,g,_);return}if(x&64){R.move(u,h,g,D);return}if(R===Ne){s(y,h,g);for(let C=0;C<E.length;C++)Ge(E[C],h,g,_);s(u.anchor,h,g);return}if(R===us){M(u,h,g);return}if(_!==2&&x&1&&S)if(_===0)S.beforeEnter(y),s(y,h,g),Pe(()=>S.enter(y),b);else{const{leave:C,delayLeave:L,afterLeave:k}=S,z=()=>{u.ctx.isUnmounted?r(y):s(y,h,g)},ne=()=>{y._isLeaving&&y[Al](!0),C(y,()=>{z(),k&&k()})};L?L(y,z,ne):ne()}else s(y,h,g)},Oe=(u,h,g,_=!1,b=!1)=>{const{type:y,props:R,ref:S,children:E,dynamicChildren:x,shapeFlag:j,patchFlag:C,dirs:L,cacheIndex:k,memo:z}=u;if(C===-2&&(b=!1),S!=null&&(at(),on(S,null,g,u,!0),ft()),k!=null&&(h.renderCache[k]=void 0),j&256){h.ctx.deactivate(u);return}const ne=j&1&&L,re=!ln(u);let he;if(re&&(he=R&&R.onVnodeBeforeUnmount)&&ze(he,h,u),j&6)wt(u.component,g,_);else{if(j&128){u.suspense.unmount(g,_);return}ne&&Rt(u,null,h,"beforeUnmount"),j&64?u.type.remove(u,h,g,D,_):x&&!x.hasOnce&&(y!==Ne||C>0&&C&64)?je(x,h,g,!1,!0):(y===Ne&&C&384||!b&&j&16)&&je(E,h,g),_&&Nt(u)}const ve=z!=null&&k==null;(re&&(he=R&&R.onVnodeUnmounted)||ne||ve)&&Pe(()=>{he&&ze(he,h,u),ne&&Rt(u,null,h,"unmounted"),ve&&(u.el=null)},g)},Nt=u=>{const{type:h,el:g,anchor:_,transition:b}=u;if(h===Ne){Mt(g,_);return}if(h===us){N(u);return}const y=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:R,delayLeave:S}=b,E=()=>R(g,y);S?S(u.el,y,E):E()}else y()},Mt=(u,h)=>{let g;for(;u!==h;)g=p(u),r(u),u=g;r(h)},wt=(u,h,g)=>{const{bum:_,scope:b,job:y,subTree:R,um:S,m:E,a:x}=u;vr(E),vr(x),_&&Rn(_),b.stop(),y&&(y.flags|=8,Oe(R,u,h,g)),S&&Pe(S,h),Pe(()=>{u.isUnmounted=!0},h)},je=(u,h,g,_=!1,b=!1,y=0)=>{for(let R=y;R<u.length;R++)Oe(u[R],h,g,_,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const h=p(u.anchor||u.el),g=h&&h[wl];return g?p(g):h};let T=!1;const A=(u,h,g)=>{let _;u==null?h._vnode&&(Oe(h._vnode,null,null,!0),_=h._vnode.component):w(h._vnode||null,u,h,null,null,null,g),h._vnode=u,T||(T=!0,ur(_),Do(),T=!1)},D={p:w,um:Oe,m:Ge,r:Nt,mt:St,mc:K,pc:Y,pbc:ce,n:v,o:e};return{render:A,hydrate:void 0,createApp:Wl(A)}}function cs({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 cc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ti(e,t,n=!1){const s=e.children,r=t.children;if(V(s)&&V(r))for(let o=0;o<s.length;o++){const i=s[o];let l=r[o];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[o]=it(r[o]),l.el=i.el),!n&&l.patchFlag!==-2&&ti(i,l)),l.type===Xn&&(l.patchFlag===-1&&(l=r[o]=it(l)),l.el=i.el),l.type===xt&&!l.el&&(l.el=i.el)}}function uc(e){const t=e.slice(),n=[0];let s,r,o,i,l;const c=e.length;for(s=0;s<c;s++){const f=e[s];if(f!==0){if(r=n[n.length-1],e[r]<f){t[s]=r,n.push(s);continue}for(o=0,i=n.length-1;o<i;)l=o+i>>1,e[n[l]]<f?o=l+1:i=l;f<e[n[o]]&&(o>0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function ni(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ni(t)}function vr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function si(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?si(t.subTree):null}const ri=e=>e.__isSuspense;function ac(e,t){t&&t.pendingBranch?V(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const Ne=Symbol.for("v-fgt"),Xn=Symbol.for("v-txt"),xt=Symbol.for("v-cmt"),us=Symbol.for("v-stc"),un=[];let De=null;function W(e=!1){un.push(De=e?null:[])}function fc(){un.pop(),De=un[un.length-1]||null}let gn=1;function jn(e,t=!1){gn+=e,e<0&&De&&t&&(De.hasOnce=!0)}function oi(e){return e.dynamicChildren=gn>0?De||kt:null,fc(),gn>0&&De&&De.push(e),e}function J(e,t,n,s,r,o){return oi(I(e,t,n,s,r,o,!0))}function dc(e,t,n,s,r){return oi(_e(e,t,n,s,r,!0))}function Fn(e){return e?e.__v_isVNode===!0:!1}function Qt(e,t){return e.type===t.type&&e.key===t.key}const ii=({key:e})=>e??null,On=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ae(e)||fe(e)||B(e)?{i:Fe,r:e,k:t,f:!!n}:e:null);function I(e,t=null,n=null,s=0,r=null,o=e===Ne?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ii(t),ref:t&&On(t),scopeId:jo,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:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Fe};return l?(Ys(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=ae(n)?8:16),gn>0&&!i&&De&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&De.push(c),c}const _e=hc;function hc(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===Vl)&&(e=xt),Fn(e)){const l=Gt(e,t,!0);return n&&Ys(l,n),gn>0&&!o&&De&&(l.shapeFlag&6?De[De.indexOf(e)]=l:De.push(l)),l.patchFlag=-2,l}if(Sc(e)&&(e=e.__vccOpts),t){t=pc(t);let{class:l,style:c}=t;l&&!ae(l)&&(t.class=He(l)),te(c)&&(Gn(c)&&!V(c)&&(c=be({},c)),t.style=Fs(c))}const i=ae(e)?1:ri(e)?128:Rl(e)?64:te(e)?4:B(e)?2:0;return I(e,t,n,s,r,i,o,!0)}function pc(e){return e?Gn(e)||zo(e)?be({},e):e:null}function Gt(e,t,n=!1,s=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:c}=e,f=t?gc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&ii(f),ref:t&&t.ref?n&&o?V(o)?o.concat(On(t)):[o,On(t)]:On(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ne?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&qs(a,c.clone(a)),a}function Ht(e=" ",t=0){return _e(Xn,null,e,t)}function bt(e="",t=!1){return t?(W(),dc(xt,null,e)):_e(xt,null,e)}function Xe(e){return e==null||typeof e=="boolean"?_e(xt):V(e)?_e(Ne,null,e.slice()):Fn(e)?it(e):_e(Xn,null,String(e))}function it(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Gt(e)}function Ys(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(V(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Ys(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!zo(t)?t._ctx=Fe:r===3&&Fe&&(Fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else B(t)?(t={default:t,_ctx:Fe},n=32):(t=String(t),s&64?(n=16,t=[Ht(t)]):n=8);e.children=t,e.shapeFlag|=n}function gc(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const r in s)if(r==="class")t.class!==s.class&&(t.class=He([t.class,s.class]));else if(r==="style")t.style=Fs([t.style,s.style]);else if(Hn(r)){const o=t[r],i=s[r];i&&o!==i&&!(V(o)&&o.includes(i))?t[r]=o?[].concat(o,i):i:i==null&&o==null&&!kn(r)&&(t[r]=i)}else r!==""&&(t[r]=s[r])}return t}function ze(e,t,n,s=null){tt(e,t,7,[n,s])}const mc=Ko();let _c=0;function yc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||mc,o={uid:_c++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new fo(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Yo(s,r),emitsOptions:Go(s,r),emit:null,emitted:null,propsDefaults:se,inheritAttrs:s.inheritAttrs,ctx:se,data:se,props:se,attrs:se,slots:se,refs:se,setupState:se,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 o.ctx={_:o},o.root=t?t.root:o,o.emit=Jl.bind(null,o),e.ce&&e.ce(o),o}let Ae=null;const li=()=>Ae||Fe;let Vn,As;{const e=$n(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Vn=t("__VUE_INSTANCE_SETTERS__",n=>Ae=n),As=t("__VUE_SSR_SETTERS__",n=>mn=n)}const xn=e=>{const t=Ae;return Vn(e),e.scope.on(),()=>{e.scope.off(),Vn(t)}},br=()=>{Ae&&Ae.scope.off(),Vn(null)};function ci(e){return e.vnode.shapeFlag&4}let mn=!1;function vc(e,t=!1,n=!1){t&&As(t);const{props:s,children:r}=e.vnode,o=ci(e);ec(e,s,o,t),rc(e,r,n||t);const i=o?bc(e,t):void 0;return t&&As(!1),i}function bc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Hl);const{setup:s}=n;if(s){at();const r=e.setupContext=s.length>1?Ec(e):null,o=xn(e),i=bn(s,e,0,[e.props,r]),l=so(i);if(ft(),o(),(l||e.sp)&&!ln(e)&&Ho(e),l){if(i.then(br,br),t)return i.then(c=>{xr(e,c)}).catch(c=>{Wn(c,e,0)});e.asyncDep=i}else xr(e,i)}else ui(e)}function xr(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:te(t)&&(e.setupState=Io(t)),ui(e)}function ui(e,t,n){const s=e.type;e.render||(e.render=s.render||et);{const r=xn(e);at();try{kl(e)}finally{ft(),r()}}}const xc={get(e,t){return xe(e,"get",""),e[t]}};function Ec(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xc),slots:e.slots,emit:e.emit,expose:t}}function Zn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Io(Gs(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in cn)return cn[n](e)},has(t,n){return n in t||n in cn}})):e.proxy}function Sc(e){return B(e)&&"__vccOpts"in e}const Me=(e,t)=>pl(e,t,mn);function ai(e,t,n){try{jn(-1);const s=arguments.length;return s===2?te(t)&&!V(t)?Fn(t)?_e(e,null,[t]):_e(e,t):_e(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Fn(n)&&(n=[n]),_e(e,t,n))}finally{jn(1)}}const wc="3.5.34";/**
14
+ * @vue/runtime-dom v3.5.34
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let Cs;const Er=typeof window<"u"&&window.trustedTypes;if(Er)try{Cs=Er.createPolicy("vue",{createHTML:e=>e})}catch{}const fi=Cs?e=>Cs.createHTML(e):e=>e,Rc="http://www.w3.org/2000/svg",Ac="http://www.w3.org/1998/Math/MathML",ot=typeof document<"u"?document:null,Sr=ot&&ot.createElement("template"),Cc={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 r=t==="svg"?ot.createElementNS(Rc,e):t==="mathml"?ot.createElementNS(Ac,e):n?ot.createElement(e,{is:n}):ot.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Sr.innerHTML=fi(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=Sr.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[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Oc=Symbol("_vtc");function Pc(e,t,n){const s=e[Oc];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const wr=Symbol("_vod"),Tc=Symbol("_vsh"),Ic=Symbol(""),Nc=/(?:^|;)\s*display\s*:/;function Mc(e,t,n){const s=e.style,r=ae(n);let o=!1;if(n&&!r){if(t)if(ae(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&en(s,l,"")}else for(const i in t)n[i]==null&&en(s,i,"");for(const i in n){i==="display"&&(o=!0);const l=n[i];l!=null?Lc(e,i,!ae(t)&&t?t[i]:void 0,l)||en(s,i,l):en(s,i,"")}}else if(r){if(t!==n){const i=s[Ic];i&&(n+=";"+i),s.cssText=n,o=Nc.test(n)}}else t&&e.removeAttribute("style");wr in e&&(e[wr]=o?s.display:"",e[Tc]&&(s.display="none"))}const Rr=/\s*!important$/;function en(e,t,n){if(V(n))n.forEach(s=>en(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Dc(e,t);Rr.test(n)?e.setProperty(It(s),n.replace(Rr,""),"important"):e[s]=n}}const Ar=["Webkit","Moz","ms"],as={};function Dc(e,t){const n=as[t];if(n)return n;let s=ke(t);if(s!=="filter"&&s in e)return as[t]=s;s=io(s);for(let r=0;r<Ar.length;r++){const o=Ar[r]+s;if(o in e)return as[t]=o}return t}function Lc(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&ae(s)&&n===s}const Cr="http://www.w3.org/1999/xlink";function Or(e,t,n,s,r,o=Hi(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(Cr,t.slice(6,t.length)):e.setAttributeNS(Cr,t,n):n==null||o&&!co(n)?e.removeAttribute(t):e.setAttribute(t,o?"":Ve(n)?String(n):n)}function Pr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?fi(n):n);return}const o=e.tagName;if(t==="value"&&o!=="PROGRESS"&&!o.includes("-")){const l=o==="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 i=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=co(n):n==null&&l==="string"?(n="",i=!0):l==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(r||t)}function Ft(e,t,n,s){e.addEventListener(t,n,s)}function jc(e,t,n,s){e.removeEventListener(t,n,s)}const Tr=Symbol("_vei");function Fc(e,t,n,s,r=null){const o=e[Tr]||(e[Tr]={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=Vc(t);if(s){const f=o[t]=Bc(s,r);Ft(e,l,f,c)}else i&&(jc(e,l,i,c),o[t]=void 0)}}const Ir=/(?:Once|Passive|Capture)$/;function Vc(e){let t;if(Ir.test(e)){t={};let s;for(;s=e.match(Ir);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):It(e.slice(2)),t]}let fs=0;const Hc=Promise.resolve(),kc=()=>fs||(Hc.then(()=>fs=0),fs=Date.now());function Bc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;tt(Uc(s,n.value),t,5,[s])};return n.value=e,n.attached=kc(),n}function Uc(e,t){if(V(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Nr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,$c=(e,t,n,s,r,o)=>{const i=r==="svg";t==="class"?Pc(e,s,i):t==="style"?Mc(e,n,s):Hn(t)?kn(t)||Fc(e,t,n,s,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kc(e,t,s,i))?(Pr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Or(e,t,s,i,o,t!=="value")):e._isVueCE&&(Gc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!ae(s)))?Pr(e,ke(t),s,o,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Or(e,t,s,i))};function Kc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Nr(t)&&B(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Nr(t)&&ae(n)?!1:t in e}function Gc(e,t){const n=e._def.props;if(!n)return!1;const s=ke(t);return Array.isArray(n)?n.some(r=>ke(r)===s):Object.keys(n).some(r=>ke(r)===s)}const Mr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return V(t)?n=>Rn(t,n):t};function Wc(e){e.target.composing=!0}function Dr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const ds=Symbol("_assign");function Lr(e,t,n){return t&&(e=e.trim()),n&&(e=js(e)),e}const Pn={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[ds]=Mr(r);const o=s||r.props&&r.props.type==="number";Ft(e,t?"change":"input",i=>{i.target.composing||e[ds](Lr(e.value,n,o))}),(n||o)&&Ft(e,"change",()=>{e.value=Lr(e.value,n,o)}),t||(Ft(e,"compositionstart",Wc),Ft(e,"compositionend",Dr),Ft(e,"change",Dr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:o}},i){if(e[ds]=Mr(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?js(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},qc=["ctrl","shift","alt","meta"],Jc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>qc.some(n=>e[`${n}Key`]&&!t.includes(n))},di=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...o)=>{for(let i=0;i<t.length;i++){const l=Jc[t[i]];if(l&&l(r,t))return}return e(r,...o)})},zc=be({patchProp:$c},Cc);let jr;function Qc(){return jr||(jr=ic(zc))}const Yc=(...e)=>{const t=Qc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Zc(s);if(!r)return;const o=t._component;!B(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=n(r,!1,Xc(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t};function Xc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Zc(e){return ae(e)?document.querySelector(e):e}/*!
18
+ * pinia v2.3.1
19
+ * (c) 2025 Eduardo San Martin Morote
20
+ * @license MIT
21
+ */let hi;const es=e=>hi=e,pi=Symbol();function Os(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var an;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(an||(an={}));function eu(){const e=ho(!0),t=e.run(()=>me({}));let n=[],s=[];const r=Gs({install(o){es(r),r._a=o,o.provide(pi,r),o.config.globalProperties.$pinia=r,s.forEach(i=>n.push(i)),s=[]},use(o){return this._a?n.push(o):s.push(o),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const gi=()=>{};function Fr(e,t,n,s=gi){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),s())};return!n&&po()&&Bi(r),r}function Lt(e,...t){e.slice().forEach(n=>{n(...t)})}const tu=e=>e(),Vr=Symbol(),hs=Symbol();function Ps(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,s)=>e.set(s,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const s=t[n],r=e[n];Os(r)&&Os(s)&&e.hasOwnProperty(n)&&!fe(s)&&!ut(s)?e[n]=Ps(r,s):e[n]=s}return e}const nu=Symbol();function su(e){return!Os(e)||!e.hasOwnProperty(nu)}const{assign:_t}=Object;function ru(e){return!!(fe(e)&&e.effect)}function ou(e,t,n,s){const{state:r,actions:o,getters:i}=t,l=n.state.value[e];let c;function f(){l||(n.state.value[e]=r?r():{});const a=al(n.state.value[e]);return _t(a,o,Object.keys(i||{}).reduce((d,p)=>(d[p]=Gs(Me(()=>{es(n);const m=n._s.get(e);return i[p].call(m,m)})),d),{}))}return c=mi(e,f,t,n,s,!0),c}function mi(e,t,n={},s,r,o){let i;const l=_t({actions:{}},n),c={deep:!0};let f,a,d=[],p=[],m;const P=s.state.value[e];!o&&!P&&(s.state.value[e]={});let w;function H(K){let G;f=a=!1,typeof K=="function"?(K(s.state.value[e]),G={type:an.patchFunction,storeId:e,events:m}):(Ps(s.state.value[e],K),G={type:an.patchObject,payload:K,storeId:e,events:m});const ce=w=Symbol();qn().then(()=>{w===ce&&(f=!0)}),a=!0,Lt(d,G,s.state.value[e])}const F=o?function(){const{state:G}=n,ce=G?G():{};this.$patch(Ee=>{_t(Ee,ce)})}:gi;function O(){i.stop(),d=[],p=[],s._s.delete(e)}const M=(K,G="")=>{if(Vr in K)return K[hs]=G,K;const ce=function(){es(s);const Ee=Array.from(arguments),Te=[],Ce=[];function St(U){Te.push(U)}function pt(U){Ce.push(U)}Lt(p,{args:Ee,name:ce[hs],store:$,after:St,onError:pt});let ie;try{ie=K.apply(this&&this.$id===e?this:$,Ee)}catch(U){throw Lt(Ce,U),U}return ie instanceof Promise?ie.then(U=>(Lt(Te,U),U)).catch(U=>(Lt(Ce,U),Promise.reject(U))):(Lt(Te,ie),ie)};return ce[Vr]=!0,ce[hs]=G,ce},N={_p:s,$id:e,$onAction:Fr.bind(null,p),$patch:H,$reset:F,$subscribe(K,G={}){const ce=Fr(d,K,G.detached,()=>Ee()),Ee=i.run(()=>$t(()=>s.state.value[e],Te=>{(G.flush==="sync"?a:f)&&K({storeId:e,type:an.direct,events:m},Te)},_t({},c,G)));return ce},$dispose:O},$=vn(N);s._s.set(e,$);const ee=(s._a&&s._a.runWithContext||tu)(()=>s._e.run(()=>(i=ho()).run(()=>t({action:M}))));for(const K in ee){const G=ee[K];if(fe(G)&&!ru(G)||ut(G))o||(P&&su(G)&&(fe(G)?G.value=P[K]:Ps(G,P[K])),s.state.value[e][K]=G);else if(typeof G=="function"){const ce=M(G,K);ee[K]=ce,l.actions[K]=G}}return _t($,ee),_t(Q($),ee),Object.defineProperty($,"$state",{get:()=>s.state.value[e],set:K=>{H(G=>{_t(G,K)})}}),s._p.forEach(K=>{_t($,i.run(()=>K({store:$,app:s._a,pinia:s,options:l})))}),P&&o&&n.hydrate&&n.hydrate($.$state,P),f=!0,a=!0,$}/*! #__NO_SIDE_EFFECTS__ */function iu(e,t,n){let s,r;const o=typeof t=="function";s=e,r=o?n:t;function i(l,c){const f=bl();return l=l||(f?Ue(pi,null):null),l&&es(l),l=hi,l._s.has(s)||(o?mi(s,t,r,l):ou(s,r,l)),l._s.get(s)}return i.$id=s,i}/*!
22
+ * vue-router v4.6.4
23
+ * (c) 2025 Eduardo San Martin Morote
24
+ * @license MIT
25
+ */const Vt=typeof document<"u";function _i(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lu(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&_i(e.default)}const X=Object.assign;function ps(e,t){const n={};for(const s in t){const r=t[s];n[s]=Ke(r)?r.map(e):e(r)}return n}const fn=()=>{},Ke=Array.isArray;function Hr(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const yi=/#/g,cu=/&/g,uu=/\//g,au=/=/g,fu=/\?/g,vi=/\+/g,du=/%5B/g,hu=/%5D/g,bi=/%5E/g,pu=/%60/g,xi=/%7B/g,gu=/%7C/g,Ei=/%7D/g,mu=/%20/g;function Xs(e){return e==null?"":encodeURI(""+e).replace(gu,"|").replace(du,"[").replace(hu,"]")}function _u(e){return Xs(e).replace(xi,"{").replace(Ei,"}").replace(bi,"^")}function Ts(e){return Xs(e).replace(vi,"%2B").replace(mu,"+").replace(yi,"%23").replace(cu,"%26").replace(pu,"`").replace(xi,"{").replace(Ei,"}").replace(bi,"^")}function yu(e){return Ts(e).replace(au,"%3D")}function vu(e){return Xs(e).replace(yi,"%23").replace(fu,"%3F")}function bu(e){return vu(e).replace(uu,"%2F")}function _n(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const xu=/\/$/,Eu=e=>e.replace(xu,"");function gs(e,t,n="/"){let s,r={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),o=t.slice(c,l>0?l:t.length),r=e(o.slice(1))),l>=0&&(s=s||t.slice(0,l),i=t.slice(l,t.length)),s=Au(s??t,n),{fullPath:s+o+i,path:s,query:r,hash:_n(i)}}function Su(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function kr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function wu(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Wt(t.matched[s],n.matched[r])&&Si(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Wt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Si(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Ru(e[n],t[n]))return!1;return!0}function Ru(e,t){return Ke(e)?Br(e,t):Ke(t)?Br(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Br(e,t){return Ke(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Au(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let o=n.length-1,i,l;for(i=0;i<s.length;i++)if(l=s[i],l!==".")if(l==="..")o>1&&o--;else break;return n.slice(0,o).join("/")+"/"+s.slice(i).join("/")}const mt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Is=function(e){return e.pop="pop",e.push="push",e}({}),ms=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Cu(e){if(!e)if(Vt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Eu(e)}const Ou=/^[^#]+#/;function Pu(e,t){return e.replace(Ou,"#")+t}function Tu(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const ts=()=>({left:window.scrollX,top:window.scrollY});function Iu(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Tu(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Ur(e,t){return(history.state?history.state.position-t:-1)+e}const Ns=new Map;function Nu(e,t){Ns.set(e,t)}function Mu(e){const t=Ns.get(e);return Ns.delete(e),t}function Du(e){return typeof e=="string"||e&&typeof e=="object"}function wi(e){return typeof e=="string"||typeof e=="symbol"}let ue=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const Ri=Symbol("");ue.MATCHER_NOT_FOUND+"",ue.NAVIGATION_GUARD_REDIRECT+"",ue.NAVIGATION_ABORTED+"",ue.NAVIGATION_CANCELLED+"",ue.NAVIGATION_DUPLICATED+"";function qt(e,t){return X(new Error,{type:e,[Ri]:!0},t)}function rt(e,t){return e instanceof Error&&Ri in e&&(t==null||!!(e.type&t))}const Lu=["params","query","hash"];function ju(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Lu)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Fu(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;s<n.length;++s){const r=n[s].replace(vi," "),o=r.indexOf("="),i=_n(o<0?r:r.slice(0,o)),l=o<0?null:_n(r.slice(o+1));if(i in t){let c=t[i];Ke(c)||(c=t[i]=[c]),c.push(l)}else t[i]=l}return t}function $r(e){let t="";for(let n in e){const s=e[n];if(n=yu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Ke(s)?s.map(r=>r&&Ts(r)):[s&&Ts(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Vu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Ke(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Hu=Symbol(""),Kr=Symbol(""),Zs=Symbol(""),er=Symbol(""),Ms=Symbol("");function Yt(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function vt(e,t,n,s,r,o=i=>i()){const i=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const f=p=>{p===!1?c(qt(ue.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):Du(p)?c(qt(ue.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(i&&s.enterCallbacks[r]===i&&typeof p=="function"&&i.push(p),l())},a=o(()=>e.call(s&&s.instances[r],t,n,f));let d=Promise.resolve(a);e.length<3&&(d=d.then(f)),d.catch(p=>c(p))})}function _s(e,t,n,s,r=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(_i(c)){const f=(c.__vccOpts||c)[t];f&&o.push(vt(f,n,s,i,l,r))}else{let f=c();o.push(()=>f.then(a=>{if(!a)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const d=lu(a)?a.default:a;i.mods[l]=a,i.components[l]=d;const p=(d.__vccOpts||d)[t];return p&&vt(p,n,s,i,l,r)()}))}}return o}function ku(e,t){const n=[],s=[],r=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i<o;i++){const l=t.matched[i];l&&(e.matched.find(f=>Wt(f,l))?s.push(l):n.push(l));const c=e.matched[i];c&&(t.matched.find(f=>Wt(f,c))||r.push(c))}return[n,s,r]}/*!
26
+ * vue-router v4.6.4
27
+ * (c) 2025 Eduardo San Martin Morote
28
+ * @license MIT
29
+ */let Bu=()=>location.protocol+"//"+location.host;function Ai(e,t){const{pathname:n,search:s,hash:r}=t,o=e.indexOf("#");if(o>-1){let i=r.includes(e.slice(o))?e.slice(o).length:1,l=r.slice(i);return l[0]!=="/"&&(l="/"+l),kr(l,"")}return kr(n,e)+s+r}function Uu(e,t,n,s){let r=[],o=[],i=null;const l=({state:p})=>{const m=Ai(e,location),P=n.value,w=t.value;let H=0;if(p){if(n.value=m,t.value=p,i&&i===P){i=null;return}H=w?p.position-w.position:0}else s(m);r.forEach(F=>{F(n.value,P,{delta:H,type:Is.pop,direction:H?H>0?ms.forward:ms.back:ms.unknown})})};function c(){i=n.value}function f(p){r.push(p);const m=()=>{const P=r.indexOf(p);P>-1&&r.splice(P,1)};return o.push(m),m}function a(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(X({},p.state,{scroll:ts()}),"")}}function d(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",a),document.removeEventListener("visibilitychange",a)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",a),document.addEventListener("visibilitychange",a),{pauseListeners:c,listen:f,destroy:d}}function Gr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?ts():null}}function $u(e){const{history:t,location:n}=window,s={value:Ai(e,n)},r={value:t.state};r.value||o(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,f,a){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+c:Bu()+e+c;try{t[a?"replaceState":"pushState"](f,"",p),r.value=f}catch(m){console.error(m),n[a?"replace":"assign"](p)}}function i(c,f){o(c,X({},t.state,Gr(r.value.back,c,r.value.forward,!0),f,{position:r.value.position}),!0),s.value=c}function l(c,f){const a=X({},r.value,t.state,{forward:c,scroll:ts()});o(a.current,a,!0),o(c,X({},Gr(s.value,c,null),{position:a.position+1},f),!1),s.value=c}return{location:s,state:r,push:l,replace:i}}function Ku(e){e=Cu(e);const t=$u(e),n=Uu(e,t.state,t.location,t.replace);function s(o,i=!0){i||n.pauseListeners(),history.go(o)}const r=X({location:"",base:e,go:s,createHref:Pu.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Ot=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var pe=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(pe||{});const Gu={type:Ot.Static,value:""},Wu=/[a-zA-Z0-9_]/;function qu(e){if(!e)return[[]];if(e==="/")return[[Gu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${f}": ${m}`)}let n=pe.Static,s=n;const r=[];let o;function i(){o&&r.push(o),o=[]}let l=0,c,f="",a="";function d(){f&&(n===pe.Static?o.push({type:Ot.Static,value:f}):n===pe.Param||n===pe.ParamRegExp||n===pe.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Ot.Param,value:f,regexp:a,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),f="")}function p(){f+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==pe.ParamRegExp){s=n,n=pe.EscapeNext;continue}switch(n){case pe.Static:c==="/"?(f&&d(),i()):c===":"?(d(),n=pe.Param):p();break;case pe.EscapeNext:p(),n=s;break;case pe.Param:c==="("?n=pe.ParamRegExp:Wu.test(c)?p():(d(),n=pe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case pe.ParamRegExp:c===")"?a[a.length-1]=="\\"?a=a.slice(0,-1)+c:n=pe.ParamRegExpEnd:a+=c;break;case pe.ParamRegExpEnd:d(),n=pe.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,a="";break;default:t("Unknown state");break}}return n===pe.ParamRegExp&&t(`Unfinished custom RegExp for param "${f}"`),d(),i(),r}const Wr="[^/]+?",Ju={sensitive:!1,strict:!1,start:!0,end:!0};var we=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(we||{});const zu=/[.+*?^${}()[\]/\\]/g;function Qu(e,t){const n=X({},Ju,t),s=[];let r=n.start?"^":"";const o=[];for(const f of e){const a=f.length?[]:[we.Root];n.strict&&!f.length&&(r+="/");for(let d=0;d<f.length;d++){const p=f[d];let m=we.Segment+(n.sensitive?we.BonusCaseSensitive:0);if(p.type===Ot.Static)d||(r+="/"),r+=p.value.replace(zu,"\\$&"),m+=we.Static;else if(p.type===Ot.Param){const{value:P,repeatable:w,optional:H,regexp:F}=p;o.push({name:P,repeatable:w,optional:H});const O=F||Wr;if(O!==Wr){m+=we.BonusCustomRegExp;try{`${O}`}catch(N){throw new Error(`Invalid custom RegExp for param "${P}" (${O}): `+N.message)}}let M=w?`((?:${O})(?:/(?:${O}))*)`:`(${O})`;d||(M=H&&f.length<2?`(?:/${M})`:"/"+M),H&&(M+="?"),r+=M,m+=we.Dynamic,H&&(m+=we.BonusOptional),w&&(m+=we.BonusRepeatable),O===".*"&&(m+=we.BonusWildcard)}a.push(m)}s.push(a)}if(n.strict&&n.end){const f=s.length-1;s[f][s[f].length-1]+=we.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const i=new RegExp(r,n.sensitive?"":"i");function l(f){const a=f.match(i),d={};if(!a)return null;for(let p=1;p<a.length;p++){const m=a[p]||"",P=o[p-1];d[P.name]=m&&P.repeatable?m.split("/"):m}return d}function c(f){let a="",d=!1;for(const p of e){(!d||!a.endsWith("/"))&&(a+="/"),d=!1;for(const m of p)if(m.type===Ot.Static)a+=m.value;else if(m.type===Ot.Param){const{value:P,repeatable:w,optional:H}=m,F=P in f?f[P]:"";if(Ke(F)&&!w)throw new Error(`Provided param "${P}" is an array but it is not repeatable (* or + modifiers)`);const O=Ke(F)?F.join("/"):F;if(!O)if(H)p.length<2&&(a.endsWith("/")?a=a.slice(0,-1):d=!0);else throw new Error(`Missing required param "${P}"`);a+=O}}return a||"/"}return{re:i,score:s,keys:o,parse:l,stringify:c}}function Yu(e,t){let n=0;for(;n<e.length&&n<t.length;){const s=t[n]-e[n];if(s)return s;n++}return e.length<t.length?e.length===1&&e[0]===we.Static+we.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===we.Static+we.Segment?1:-1:0}function Ci(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const o=Yu(s[n],r[n]);if(o)return o;n++}if(Math.abs(r.length-s.length)===1){if(qr(s))return 1;if(qr(r))return-1}return r.length-s.length}function qr(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Xu={strict:!1,end:!0,sensitive:!1};function Zu(e,t,n){const s=Qu(qu(e.path),n),r=X(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function ea(e,t){const n=[],s=new Map;t=Hr(Xu,t);function r(d){return s.get(d)}function o(d,p,m){const P=!m,w=zr(d);w.aliasOf=m&&m.record;const H=Hr(t,d),F=[w];if("alias"in d){const N=typeof d.alias=="string"?[d.alias]:d.alias;for(const $ of N)F.push(zr(X({},w,{components:m?m.record.components:w.components,path:$,aliasOf:m?m.record:w})))}let O,M;for(const N of F){const{path:$}=N;if(p&&$[0]!=="/"){const ye=p.record.path,ee=ye[ye.length-1]==="/"?"":"/";N.path=p.record.path+($&&ee+$)}if(O=Zu(N,p,H),m?m.alias.push(O):(M=M||O,M!==O&&M.alias.push(O),P&&d.name&&!Qr(O)&&i(d.name)),Oi(O)&&c(O),w.children){const ye=w.children;for(let ee=0;ee<ye.length;ee++)o(ye[ee],O,m&&m.children[ee])}m=m||O}return M?()=>{i(M)}:fn}function i(d){if(wi(d)){const p=s.get(d);p&&(s.delete(d),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(d);p>-1&&(n.splice(p,1),d.record.name&&s.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function l(){return n}function c(d){const p=sa(d,n);n.splice(p,0,d),d.record.name&&!Qr(d)&&s.set(d.record.name,d)}function f(d,p){let m,P={},w,H;if("name"in d&&d.name){if(m=s.get(d.name),!m)throw qt(ue.MATCHER_NOT_FOUND,{location:d});H=m.record.name,P=X(Jr(p.params,m.keys.filter(M=>!M.optional).concat(m.parent?m.parent.keys.filter(M=>M.optional):[]).map(M=>M.name)),d.params&&Jr(d.params,m.keys.map(M=>M.name))),w=m.stringify(P)}else if(d.path!=null)w=d.path,m=n.find(M=>M.re.test(w)),m&&(P=m.parse(w),H=m.record.name);else{if(m=p.name?s.get(p.name):n.find(M=>M.re.test(p.path)),!m)throw qt(ue.MATCHER_NOT_FOUND,{location:d,currentLocation:p});H=m.record.name,P=X({},p.params,d.params),w=m.stringify(P)}const F=[];let O=m;for(;O;)F.unshift(O.record),O=O.parent;return{name:H,path:w,params:P,matched:F,meta:na(F)}}e.forEach(d=>o(d));function a(){n.length=0,s.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:a,getRoutes:l,getRecordMatcher:r}}function Jr(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function zr(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ta(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function ta(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function Qr(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function na(e){return e.reduce((t,n)=>X(t,n.meta),{})}function sa(e,t){let n=0,s=t.length;for(;n!==s;){const o=n+s>>1;Ci(e,t[o])<0?s=o:n=o+1}const r=ra(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ra(e){let t=e;for(;t=t.parent;)if(Oi(t)&&Ci(e,t)===0)return t}function Oi({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Yr(e){const t=Ue(Zs),n=Ue(er),s=Me(()=>{const c=de(e.to);return t.resolve(c)}),r=Me(()=>{const{matched:c}=s.value,{length:f}=c,a=c[f-1],d=n.matched;if(!a||!d.length)return-1;const p=d.findIndex(Wt.bind(null,a));if(p>-1)return p;const m=Xr(c[f-2]);return f>1&&Xr(a)===m&&d[d.length-1].path!==m?d.findIndex(Wt.bind(null,c[f-2])):p}),o=Me(()=>r.value>-1&&ca(n.params,s.value.params)),i=Me(()=>r.value>-1&&r.value===n.matched.length-1&&Si(n.params,s.value.params));function l(c={}){if(la(c)){const f=t[de(e.replace)?"replace":"push"](de(e.to)).catch(fn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:Me(()=>s.value.href),isActive:o,isExactActive:i,navigate:l}}function oa(e){return e.length===1?e[0]:e}const ia=Et({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Yr,setup(e,{slots:t}){const n=vn(Yr(e)),{options:s}=Ue(Zs),r=Me(()=>({[Zr(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[Zr(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&oa(t.default(n));return e.custom?o:ai("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},o)}}}),tn=ia;function la(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ca(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Ke(r)||r.length!==s.length||s.some((o,i)=>o.valueOf()!==r[i].valueOf()))return!1}return!0}function Xr(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Zr=(e,t,n)=>e??t??n,ua=Et({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ue(Ms),r=Me(()=>e.route||s.value),o=Ue(Kr,0),i=Me(()=>{let f=de(o);const{matched:a}=r.value;let d;for(;(d=a[f])&&!d.components;)f++;return f}),l=Me(()=>r.value.matched[i.value]);Cn(Kr,Me(()=>i.value+1)),Cn(Hu,l),Cn(Ms,r);const c=me();return $t(()=>[c.value,l.value,e.name],([f,a,d],[p,m,P])=>{a&&(a.instances[d]=f,m&&m!==a&&f&&f===p&&(a.leaveGuards.size||(a.leaveGuards=m.leaveGuards),a.updateGuards.size||(a.updateGuards=m.updateGuards))),f&&a&&(!m||!Wt(a,m)||!p)&&(a.enterCallbacks[d]||[]).forEach(w=>w(f))},{flush:"post"}),()=>{const f=r.value,a=e.name,d=l.value,p=d&&d.components[a];if(!p)return eo(n.default,{Component:p,route:f});const m=d.props[a],P=m?m===!0?f.params:typeof m=="function"?m(f):m:null,H=ai(p,X({},P,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(d.instances[a]=null)},ref:c}));return eo(n.default,{Component:H,route:f})||H}}});function eo(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Pi=ua;function aa(e){const t=ea(e.routes,e),n=e.parseQuery||Fu,s=e.stringifyQuery||$r,r=e.history,o=Yt(),i=Yt(),l=Yt(),c=ll(mt);let f=mt;Vt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const a=ps.bind(null,v=>""+v),d=ps.bind(null,bu),p=ps.bind(null,_n);function m(v,T){let A,D;return wi(v)?(A=t.getRecordMatcher(v),D=T):D=v,t.addRoute(D,A)}function P(v){const T=t.getRecordMatcher(v);T&&t.removeRoute(T)}function w(){return t.getRoutes().map(v=>v.record)}function H(v){return!!t.getRecordMatcher(v)}function F(v,T){if(T=X({},T||c.value),typeof v=="string"){const g=gs(n,v,T.path),_=t.resolve({path:g.path},T),b=r.createHref(g.fullPath);return X(g,_,{params:p(_.params),hash:_n(g.hash),redirectedFrom:void 0,href:b})}let A;if(v.path!=null)A=X({},v,{path:gs(n,v.path,T.path).path});else{const g=X({},v.params);for(const _ in g)g[_]==null&&delete g[_];A=X({},v,{params:d(g)}),T.params=d(T.params)}const D=t.resolve(A,T),q=v.hash||"";D.params=a(p(D.params));const u=Su(s,X({},v,{hash:_u(q),path:D.path})),h=r.createHref(u);return X({fullPath:u,hash:q,query:s===$r?Vu(v.query):v.query||{}},D,{redirectedFrom:void 0,href:h})}function O(v){return typeof v=="string"?gs(n,v,c.value.path):X({},v)}function M(v,T){if(f!==v)return qt(ue.NAVIGATION_CANCELLED,{from:T,to:v})}function N(v){return ee(v)}function $(v){return N(X(O(v),{replace:!0}))}function ye(v,T){const A=v.matched[v.matched.length-1];if(A&&A.redirect){const{redirect:D}=A;let q=typeof D=="function"?D(v,T):D;return typeof q=="string"&&(q=q.includes("?")||q.includes("#")?q=O(q):{path:q},q.params={}),X({query:v.query,hash:v.hash,params:q.path!=null?{}:v.params},q)}}function ee(v,T){const A=f=F(v),D=c.value,q=v.state,u=v.force,h=v.replace===!0,g=ye(A,D);if(g)return ee(X(O(g),{state:typeof g=="object"?X({},q,g.state):q,force:u,replace:h}),T||A);const _=A;_.redirectedFrom=T;let b;return!u&&wu(s,D,A)&&(b=qt(ue.NAVIGATION_DUPLICATED,{to:_,from:D}),Ge(D,D,!0,!1)),(b?Promise.resolve(b):ce(_,D)).catch(y=>rt(y)?rt(y,ue.NAVIGATION_GUARD_REDIRECT)?y:gt(y):Y(y,_,D)).then(y=>{if(y){if(rt(y,ue.NAVIGATION_GUARD_REDIRECT))return ee(X({replace:h},O(y.to),{state:typeof y.to=="object"?X({},q,y.to.state):q,force:u}),T||_)}else y=Te(_,D,!0,h,q);return Ee(_,D,y),y})}function K(v,T){const A=M(v,T);return A?Promise.reject(A):Promise.resolve()}function G(v){const T=Mt.values().next().value;return T&&typeof T.runWithContext=="function"?T.runWithContext(v):v()}function ce(v,T){let A;const[D,q,u]=ku(v,T);A=_s(D.reverse(),"beforeRouteLeave",v,T);for(const g of D)g.leaveGuards.forEach(_=>{A.push(vt(_,v,T))});const h=K.bind(null,v,T);return A.push(h),je(A).then(()=>{A=[];for(const g of o.list())A.push(vt(g,v,T));return A.push(h),je(A)}).then(()=>{A=_s(q,"beforeRouteUpdate",v,T);for(const g of q)g.updateGuards.forEach(_=>{A.push(vt(_,v,T))});return A.push(h),je(A)}).then(()=>{A=[];for(const g of u)if(g.beforeEnter)if(Ke(g.beforeEnter))for(const _ of g.beforeEnter)A.push(vt(_,v,T));else A.push(vt(g.beforeEnter,v,T));return A.push(h),je(A)}).then(()=>(v.matched.forEach(g=>g.enterCallbacks={}),A=_s(u,"beforeRouteEnter",v,T,G),A.push(h),je(A))).then(()=>{A=[];for(const g of i.list())A.push(vt(g,v,T));return A.push(h),je(A)}).catch(g=>rt(g,ue.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function Ee(v,T,A){l.list().forEach(D=>G(()=>D(v,T,A)))}function Te(v,T,A,D,q){const u=M(v,T);if(u)return u;const h=T===mt,g=Vt?history.state:{};A&&(D||h?r.replace(v.fullPath,X({scroll:h&&g&&g.scroll},q)):r.push(v.fullPath,q)),c.value=v,Ge(v,T,A,h),gt()}let Ce;function St(){Ce||(Ce=r.listen((v,T,A)=>{if(!wt.listening)return;const D=F(v),q=ye(D,wt.currentRoute.value);if(q){ee(X(q,{replace:!0,force:!0}),D).catch(fn);return}f=D;const u=c.value;Vt&&Nu(Ur(u.fullPath,A.delta),ts()),ce(D,u).catch(h=>rt(h,ue.NAVIGATION_ABORTED|ue.NAVIGATION_CANCELLED)?h:rt(h,ue.NAVIGATION_GUARD_REDIRECT)?(ee(X(O(h.to),{force:!0}),D).then(g=>{rt(g,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&!A.delta&&A.type===Is.pop&&r.go(-1,!1)}).catch(fn),Promise.reject()):(A.delta&&r.go(-A.delta,!1),Y(h,D,u))).then(h=>{h=h||Te(D,u,!1),h&&(A.delta&&!rt(h,ue.NAVIGATION_CANCELLED)?r.go(-A.delta,!1):A.type===Is.pop&&rt(h,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),Ee(D,u,h)}).catch(fn)}))}let pt=Yt(),ie=Yt(),U;function Y(v,T,A){gt(v);const D=ie.list();return D.length?D.forEach(q=>q(v,T,A)):console.error(v),Promise.reject(v)}function nt(){return U&&c.value!==mt?Promise.resolve():new Promise((v,T)=>{pt.add([v,T])})}function gt(v){return U||(U=!v,St(),pt.list().forEach(([T,A])=>v?A(v):T()),pt.reset()),v}function Ge(v,T,A,D){const{scrollBehavior:q}=e;if(!Vt||!q)return Promise.resolve();const u=!A&&Mu(Ur(v.fullPath,0))||(D||!A)&&history.state&&history.state.scroll||null;return qn().then(()=>q(v,T,u)).then(h=>h&&Iu(h)).catch(h=>Y(h,v,T))}const Oe=v=>r.go(v);let Nt;const Mt=new Set,wt={currentRoute:c,listening:!0,addRoute:m,removeRoute:P,clearRoutes:t.clearRoutes,hasRoute:H,getRoutes:w,resolve:F,options:e,push:N,replace:$,go:Oe,back:()=>Oe(-1),forward:()=>Oe(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:ie.add,isReady:nt,install(v){v.component("RouterLink",tn),v.component("RouterView",Pi),v.config.globalProperties.$router=wt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>de(c)}),Vt&&!Nt&&c.value===mt&&(Nt=!0,N(r.location).catch(D=>{}));const T={};for(const D in mt)Object.defineProperty(T,D,{get:()=>c.value[D],enumerable:!0});v.provide(Zs,wt),v.provide(er,Po(T)),v.provide(Ms,c);const A=v.unmount;Mt.add(v),v.unmount=function(){Mt.delete(v),Mt.size<1&&(f=mt,Ce&&Ce(),Ce=null,c.value=mt,Nt=!1,U=!1),A()}}};function je(v){return v.reduce((T,A)=>T.then(()=>G(A)),Promise.resolve())}return wt}function fa(e){return Ue(er)}const da={class:"w-64 bg-gray-900 border-r border-gray-800 flex flex-col"},ha={class:"flex-1 py-6"},pa={class:"space-y-2 px-3"},ga=Et({__name:"AppNav",setup(e){const t=fa();return(n,s)=>(W(),J("nav",da,[s[4]||(s[4]=I("div",{class:"p-6 border-b border-gray-800"},[I("h1",{class:"text-xl font-bold text-blue-400"},"IO"),I("p",{class:"text-xs text-gray-500"},"Terminal Assistant")],-1)),I("div",ha,[I("ul",pa,[I("li",null,[_e(de(tn),{to:"/chat",class:He(["block px-4 py-2 rounded hover:bg-gray-800 transition-colors",{"bg-blue-900 text-blue-300":de(t).name==="chat"}])},{default:Xt(()=>[...s[0]||(s[0]=[Ht(" ๐Ÿ’ฌ Chat ",-1)])]),_:1},8,["class"])]),I("li",null,[_e(de(tn),{to:"/skills",class:He(["block px-4 py-2 rounded hover:bg-gray-800 transition-colors",{"bg-blue-900 text-blue-300":de(t).name==="skills"}])},{default:Xt(()=>[...s[1]||(s[1]=[Ht(" โš™๏ธ Skills ",-1)])]),_:1},8,["class"])]),I("li",null,[_e(de(tn),{to:"/squads",class:He(["block px-4 py-2 rounded hover:bg-gray-800 transition-colors",{"bg-blue-900 text-blue-300":de(t).name==="squads"}])},{default:Xt(()=>[...s[2]||(s[2]=[Ht(" ๐Ÿ‘ฅ Squads ",-1)])]),_:1},8,["class"])]),I("li",null,[_e(de(tn),{to:"/activity",class:He(["block px-4 py-2 rounded hover:bg-gray-800 transition-colors",{"bg-blue-900 text-blue-300":de(t).name==="activity"}])},{default:Xt(()=>[...s[3]||(s[3]=[Ht(" ๐Ÿ“Š Activity ",-1)])]),_:1},8,["class"])])])])]))}}),ma={class:"flex h-screen bg-gray-950"},_a={class:"flex-1 overflow-auto"},ya=Et({__name:"App",setup(e){return(t,n)=>(W(),J("div",ma,[_e(ga),I("main",_a,[_e(de(Pi))])]))}}),va=iu("chat",()=>{const e=me([]),t=me(!1);function n(o){e.value.push(o)}function s(o){const i=e.value[e.value.length-1];i&&i.role==="assistant"&&(i.content+=o)}function r(o){const i=e.value[e.value.length-1];i&&i.role==="assistant"&&(i.streaming=o)}return{messages:e,isLoading:t,addMessage:n,appendToLast:s,setLastStreaming:r}}),ba={class:"flex flex-col h-full"},xa={key:0,class:"text-gray-600 text-sm text-center mt-12"},Ea={key:0,class:"inline-block w-2 h-4 bg-blue-400 ml-1 animate-pulse"},Sa={key:1,class:"flex justify-start"},wa={class:"border-t border-gray-800 p-4"},Ra=["disabled"],Aa=["disabled"],Ca=Et({__name:"ChatView",setup(e){const t=va(),n=me(""),s=me(null),r=Me(()=>t.messages.some(l=>l.streaming));function o(){qn(()=>{s.value&&(s.value.scrollTop=s.value.scrollHeight)})}$t(()=>t.messages.length,o);async function i(){const l=n.value.trim();if(!l||t.isLoading)return;n.value="",t.isLoading=!0,t.addMessage({id:crypto.randomUUID(),role:"user",content:l}),t.addMessage({id:crypto.randomUUID(),role:"assistant",content:"",streaming:!0}),o();const c=new EventSource("/api/events");c.onmessage=f=>{try{const a=JSON.parse(f.data);a.type==="delta"?(t.appendToLast(a.text),o()):a.type==="done"&&(t.setLastStreaming(!1),t.isLoading=!1,c.close(),o())}catch{}},c.onerror=()=>{t.setLastStreaming(!1),t.isLoading=!1,c.close()};try{await fetch("/api/message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:l})})}catch{t.appendToLast(`
30
+
31
+ [Error: failed to reach IO]`),t.setLastStreaming(!1),t.isLoading=!1,c.close()}}return(l,c)=>(W(),J("div",ba,[I("div",{ref_key:"messagesEl",ref:s,class:"flex-1 overflow-y-auto p-6 space-y-4"},[de(t).messages.length===0?(W(),J("div",xa," Send a message to start chatting with IO ")):bt("",!0),(W(!0),J(Ne,null,Qn(de(t).messages,f=>(W(),J("div",{key:f.id,class:He(["flex",f.role==="user"?"justify-end":"justify-start"])},[I("div",{class:He(["max-w-[75%] px-4 py-3 rounded-lg text-sm whitespace-pre-wrap",f.role==="user"?"bg-blue-700 text-white":"bg-gray-800 text-gray-100 border border-gray-700"])},[I("span",null,le(f.content),1),f.streaming?(W(),J("span",Ea)):bt("",!0)],2)],2))),128)),de(t).isLoading&&!r.value?(W(),J("div",Sa,[...c[1]||(c[1]=[I("div",{class:"bg-gray-800 border border-gray-700 px-4 py-3 rounded-lg text-sm text-gray-400 flex gap-1"},[I("span",{class:"animate-bounce",style:{"animation-delay":"0ms"}},"ยท"),I("span",{class:"animate-bounce",style:{"animation-delay":"150ms"}},"ยท"),I("span",{class:"animate-bounce",style:{"animation-delay":"300ms"}},"ยท")],-1)])])):bt("",!0)],512),I("div",wa,[I("form",{onSubmit:di(i,["prevent"]),class:"flex gap-3"},[An(I("input",{"onUpdate:modelValue":c[0]||(c[0]=f=>n.value=f),type:"text",placeholder:"Message IO...",disabled:de(t).isLoading,class:"flex-1 bg-gray-800 border border-gray-700 rounded-lg px-4 py-2 text-sm text-gray-100 placeholder-gray-500 focus:outline-none focus:border-blue-500 disabled:opacity-50"},null,8,Ra),[[Pn,n.value]]),I("button",{type:"submit",disabled:de(t).isLoading||!n.value.trim(),class:"bg-blue-600 hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed text-white px-4 py-2 rounded-lg text-sm transition-colors"}," Send ",8,Aa)],32)])]))}}),Oa={class:"flex flex-col h-full bg-gray-950"},Pa={class:"flex-1 overflow-y-auto p-6"},Ta={key:0,class:"text-gray-400 text-center py-12"},Ia={key:1,class:"bg-red-900 text-red-100 p-4 rounded-lg mb-4"},Na={key:2,class:"text-gray-400 text-center py-12"},Ma={key:3,class:"grid gap-4"},Da={class:"flex justify-between items-start mb-2"},La={class:"font-bold text-gray-100"},ja={class:"text-sm text-gray-500"},Fa={class:"text-sm text-gray-400 mb-3"},Va={class:"text-xs text-gray-500"},Ha=Et({__name:"SkillsView",setup(e){const t=me([]),n=me(!0),s=me(null);return zn(async()=>{try{const r=await fetch("/api/skills");if(!r.ok)throw new Error(`HTTP error! status: ${r.status}`);const o=await r.json();t.value=o.skills}catch(r){s.value=r instanceof Error?r.message:"Failed to load skills"}finally{n.value=!1}}),(r,o)=>(W(),J("div",Oa,[I("div",Pa,[o[0]||(o[0]=I("h2",{class:"text-2xl font-bold mb-6"},"Skills",-1)),n.value?(W(),J("div",Ta," Loading skills... ")):s.value?(W(),J("div",Ia,le(s.value),1)):t.value.length===0?(W(),J("div",Na," No skills available ")):(W(),J("div",Ma,[(W(!0),J(Ne,null,Qn(t.value,i=>(W(),J("div",{key:i.slug,class:"bg-gray-800 border border-gray-700 rounded-lg p-4 hover:border-blue-500 transition-colors"},[I("div",Da,[I("div",null,[I("h3",La,le(i.name),1),I("p",ja,le(i.slug),1)])]),I("p",Fa,le(i.description),1),I("p",Va,le(i.path),1)]))),128))]))])]))}}),ka={class:"flex flex-col h-full bg-gray-950"},Ba={class:"flex-1 overflow-y-auto p-6"},Ua={class:"flex justify-between items-center mb-6"},$a={class:"space-y-3"},Ka=["disabled"],Ga={key:0,class:"mt-2 text-red-400 text-sm"},Wa={key:1,class:"text-gray-400 text-center py-12"},qa={key:2,class:"bg-red-900 text-red-100 p-4 rounded-lg mb-4"},Ja={key:3,class:"text-gray-400 text-center py-12"},za={key:4,class:"grid gap-4"},Qa={class:"flex justify-between items-start mb-3"},Ya={class:"flex-1"},Xa={class:"font-bold text-gray-100"},Za={class:"text-sm text-gray-500"},ef={class:"text-sm text-gray-400 mb-2"},tf={class:"flex justify-between items-center text-xs text-gray-500"},nf={key:0},sf=Et({__name:"SquadsView",setup(e){const t=me([]),n=me(!0),s=me(null),r=me(!1),o=me(!1),i=me(null),l=me({slug:"",name:"",projectPath:""}),c=d=>new Date(d).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),f=async()=>{try{const d=await fetch("/api/squads");if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);const p=await d.json();t.value=p.squads}catch(d){s.value=d instanceof Error?d.message:"Failed to load squads"}finally{n.value=!1}},a=async()=>{if(!l.value.slug||!l.value.name||!l.value.projectPath){i.value="All fields are required";return}o.value=!0,i.value=null;try{const d=await fetch("/api/squads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:l.value.slug,name:l.value.name,projectPath:l.value.projectPath})});if(!d.ok)throw new Error(`HTTP error! status: ${d.status}`);l.value={slug:"",name:"",projectPath:""},r.value=!1,await f()}catch(d){i.value=d instanceof Error?d.message:"Failed to create squad"}finally{o.value=!1}};return zn(()=>{f()}),(d,p)=>(W(),J("div",ka,[I("div",Ba,[I("div",Ua,[p[4]||(p[4]=I("h2",{class:"text-2xl font-bold"},"Squads & Dashboard",-1)),I("button",{onClick:p[0]||(p[0]=m=>r.value=!r.value),class:"bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 rounded-lg text-sm transition-colors"},le(r.value?"Cancel":"New Squad"),1)]),r.value?(W(),J("form",{key:0,onSubmit:di(a,["prevent"]),class:"bg-gray-800 border border-gray-700 rounded-lg p-4 mb-6"},[p[5]||(p[5]=I("h3",{class:"font-bold text-gray-100 mb-4"},"Create New Squad",-1)),I("div",$a,[An(I("input",{"onUpdate:modelValue":p[1]||(p[1]=m=>l.value.slug=m),type:"text",placeholder:"Squad slug (e.g., frontend-team)",class:"w-full bg-gray-700 border border-gray-600 rounded px-3 py-2 text-sm text-gray-100 placeholder-gray-500 focus:outline-none focus:border-blue-500"},null,512),[[Pn,l.value.slug]]),An(I("input",{"onUpdate:modelValue":p[2]||(p[2]=m=>l.value.name=m),type:"text",placeholder:"Squad name (e.g., Frontend Team)",class:"w-full bg-gray-700 border border-gray-600 rounded px-3 py-2 text-sm text-gray-100 placeholder-gray-500 focus:outline-none focus:border-blue-500"},null,512),[[Pn,l.value.name]]),An(I("input",{"onUpdate:modelValue":p[3]||(p[3]=m=>l.value.projectPath=m),type:"text",placeholder:"Project path (e.g., /path/to/project)",class:"w-full bg-gray-700 border border-gray-600 rounded px-3 py-2 text-sm text-gray-100 placeholder-gray-500 focus:outline-none focus:border-blue-500"},null,512),[[Pn,l.value.projectPath]]),I("button",{type:"submit",disabled:o.value||!l.value.slug||!l.value.name||!l.value.projectPath,class:"w-full bg-green-600 hover:bg-green-700 disabled:bg-gray-700 text-white px-4 py-2 rounded text-sm transition-colors"},le(o.value?"Creating...":"Create Squad"),9,Ka)]),i.value?(W(),J("div",Ga,le(i.value),1)):bt("",!0)],32)):bt("",!0),n.value?(W(),J("div",Wa," Loading squads... ")):s.value?(W(),J("div",qa,le(s.value),1)):t.value.length===0?(W(),J("div",Ja," No squads created yet ")):(W(),J("div",za,[(W(!0),J(Ne,null,Qn(t.value,m=>(W(),J("div",{key:m.id,class:"bg-gray-800 border border-gray-700 rounded-lg p-4 hover:border-blue-500 transition-colors"},[I("div",Qa,[I("div",Ya,[I("h3",Xa,le(m.name),1),I("p",Za,le(m.slug),1)]),I("span",{class:He(["px-2 py-1 rounded text-xs font-medium",m.status==="active"?"bg-green-900 text-green-100":m.status==="error"?"bg-red-900 text-red-100":"bg-gray-700 text-gray-200"])},le(m.status),3)]),I("p",ef,"๐Ÿ“ "+le(m.project_path),1),I("div",tf,[m.model?(W(),J("span",nf,"Model: "+le(m.model),1)):bt("",!0),I("span",null,le(c(m.created_at)),1)])]))),128))]))])]))}}),rf={class:"flex flex-col h-full bg-gray-950"},of={class:"flex-1 overflow-y-auto p-6"},lf={class:"flex justify-between items-center mb-6"},cf=["disabled"],uf={key:0,class:"text-gray-400 text-center py-12"},af={key:1,class:"bg-red-900 text-red-100 p-4 rounded-lg mb-4"},ff={key:2,class:"text-gray-400 text-center py-12"},df={key:3,class:"grid gap-4"},hf={class:"flex justify-between items-start mb-3"},pf={class:"flex-1"},gf={class:"font-bold text-gray-100"},mf={class:"text-sm text-gray-500"},_f={key:0,class:"inline-block w-2 h-2 bg-blue-400 rounded-full mr-1 animate-pulse"},yf={key:0,class:"bg-gray-700 rounded p-3 mb-2"},vf={class:"text-sm text-gray-100 break-words"},bf={class:"text-xs text-gray-500"},xf=Et({__name:"AgentActivityView",setup(e){const t=me([]),n=me(!0),s=me(null);let r=null;const o=l=>l.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0}),i=async()=>{n.value=!0,s.value=null;try{const l=await fetch("/api/agents");if(!l.ok)throw new Error(`HTTP error! status: ${l.status}`);const c=await l.json();t.value=c.agents}catch(l){s.value=l instanceof Error?l.message:"Failed to load agents"}finally{n.value=!1}};return zn(()=>{i(),r=setInterval(i,5e3)}),Js(()=>{r&&clearInterval(r)}),(l,c)=>(W(),J("div",rf,[I("div",of,[I("div",lf,[c[0]||(c[0]=I("h2",{class:"text-2xl font-bold"},"Agent Activity",-1)),I("button",{onClick:i,disabled:n.value,class:"bg-blue-600 hover:bg-blue-700 disabled:bg-gray-700 text-white px-4 py-2 rounded-lg text-sm transition-colors"},le(n.value?"Refreshing...":"Refresh"),9,cf)]),n.value&&t.value.length===0?(W(),J("div",uf," Loading agents... ")):s.value?(W(),J("div",af,le(s.value),1)):t.value.length===0?(W(),J("div",ff," No active agents ")):(W(),J("div",df,[(W(!0),J(Ne,null,Qn(t.value,f=>(W(),J("div",{key:f.slug,class:"bg-gray-800 border border-gray-700 rounded-lg p-4 hover:border-blue-500 transition-colors"},[I("div",hf,[I("div",pf,[I("h3",gf,le(f.name),1),I("p",mf,le(f.slug),1)]),I("span",{class:He(["px-3 py-1 rounded text-xs font-medium",f.status==="working"?"bg-blue-900 text-blue-100":f.status==="error"?"bg-red-900 text-red-100":"bg-green-900 text-green-100"])},[f.status==="working"?(W(),J("span",_f)):bt("",!0),Ht(" "+le(f.status==="working"?"Working":f.status==="error"?"Error":"Idle"),1)],2)]),f.currentTask?(W(),J("div",yf,[c[1]||(c[1]=I("p",{class:"text-xs text-gray-400 mb-1"},"Current Task:",-1)),I("p",vf,le(f.currentTask),1)])):bt("",!0),I("div",bf," Last updated: "+le(o(new Date)),1)]))),128))]))])]))}}),Ef=aa({history:Ku("/"),routes:[{path:"/",redirect:"/chat"},{path:"/chat",name:"chat",component:Ca},{path:"/skills",name:"skills",component:Ha},{path:"/squads",name:"squads",component:sf},{path:"/activity",name:"activity",component:xf}]}),tr=Yc(ya);tr.use(eu());tr.use(Ef);tr.mount("#app");
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.mr-1{margin-right:.25rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.grid{display:grid}.h-2{height:.5rem}.h-4{height:1rem}.h-full{height:100%}.h-screen{height:100vh}.w-2{width:.5rem}.w-64{width:16rem}.w-full{width:100%}.max-w-\[75\%\]{max-width:75%}.flex-1{flex:1 1 0%}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;animation-timing-function:cubic-bezier(0,0,.2,1)}}.animate-bounce{animation:bounce 1s infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.border-gray-800{--tw-border-opacity: 1;border-color:rgb(31 41 55 / var(--tw-border-opacity, 1))}.bg-blue-400{--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-700{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.bg-blue-900{--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(17 24 39 / var(--tw-bg-opacity, 1))}.bg-gray-950{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-900{--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.bg-red-900{--tw-bg-opacity: 1;background-color:rgb(127 29 29 / var(--tw-bg-opacity, 1))}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-blue-100{--tw-text-opacity: 1;color:rgb(219 234 254 / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-gray-100{--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-green-100{--tw-text-opacity: 1;color:rgb(220 252 231 / var(--tw-text-opacity, 1))}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(107 114 128 / var(--tw-placeholder-opacity, 1))}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}html{color-scheme:dark}body{--tw-bg-opacity: 1;background-color:rgb(3 7 18 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.hover\:border-blue-500:hover{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-800:hover{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.hover\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-700:disabled{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.disabled\:opacity-50:disabled{opacity:.5}
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
@@ -0,0 +1,14 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>web</title>
8
+ <script type="module" crossorigin src="/assets/index-BLaCmNum.js"></script>
9
+ <link rel="stylesheet" crossorigin href="/assets/index-DV0XWqMF.css">
10
+ </head>
11
+ <body>
12
+ <div id="app"></div>
13
+ </body>
14
+ </html>