@websublime/vite-plugin-open-api-devtools 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/spa/assets/ModelsPage-DQN_XP0u.css +1 -0
  2. package/dist/spa/assets/ModelsPage-DqYHHuAQ.js +4 -0
  3. package/dist/spa/assets/ModelsPage-DqYHHuAQ.js.map +1 -0
  4. package/dist/spa/assets/RoutesPage-BVXzvJ2S.css +1 -0
  5. package/dist/spa/assets/RoutesPage-Bhnu6w5-.js +2 -0
  6. package/dist/spa/assets/RoutesPage-Bhnu6w5-.js.map +1 -0
  7. package/dist/spa/assets/SimulatorPage-B1voZDRi.css +1 -0
  8. package/dist/spa/assets/SimulatorPage-ROKoAmUT.js +2 -0
  9. package/dist/spa/assets/SimulatorPage-ROKoAmUT.js.map +1 -0
  10. package/dist/spa/assets/TimelinePage-BDyp8kvu.css +1 -0
  11. package/dist/spa/assets/TimelinePage-CwR-Coxj.js +2 -0
  12. package/dist/spa/assets/TimelinePage-CwR-Coxj.js.map +1 -0
  13. package/dist/spa/assets/check-DxJBRQqh.js +2 -0
  14. package/dist/spa/assets/check-DxJBRQqh.js.map +1 -0
  15. package/dist/spa/assets/format-B1udViy3.js +2 -0
  16. package/dist/spa/assets/format-B1udViy3.js.map +1 -0
  17. package/dist/spa/assets/index-9_6u4UTF.css +1 -0
  18. package/dist/spa/assets/index-GQ9qRqEi.js +3 -0
  19. package/dist/spa/assets/index-GQ9qRqEi.js.map +1 -0
  20. package/dist/spa/assets/registry-Z11QUkpV.js +2 -0
  21. package/dist/spa/assets/registry-Z11QUkpV.js.map +1 -0
  22. package/dist/spa/assets/trash-2-CDyKV6GB.js +2 -0
  23. package/dist/spa/assets/trash-2-CDyKV6GB.js.map +1 -0
  24. package/dist/spa/assets/triangle-alert-CAGaIjAo.js +2 -0
  25. package/dist/spa/assets/triangle-alert-CAGaIjAo.js.map +1 -0
  26. package/dist/spa/assets/useWebSocket-C2ttWF5T.js +2 -0
  27. package/dist/spa/assets/useWebSocket-C2ttWF5T.js.map +1 -0
  28. package/dist/spa/assets/vue-vendor-CtA47il-.js +2 -0
  29. package/dist/spa/assets/vue-vendor-CtA47il-.js.map +1 -0
  30. package/dist/spa/assets/x-zxrccEon.js +2 -0
  31. package/dist/spa/assets/x-zxrccEon.js.map +1 -0
  32. package/dist/spa/index.html +16 -0
  33. package/package.json +12 -11
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RoutesPage-Bhnu6w5-.js","assets/format-B1udViy3.js","assets/vue-vendor-CtA47il-.js","assets/useWebSocket-C2ttWF5T.js","assets/registry-Z11QUkpV.js","assets/x-zxrccEon.js","assets/RoutesPage-BVXzvJ2S.css","assets/TimelinePage-CwR-Coxj.js","assets/check-DxJBRQqh.js","assets/triangle-alert-CAGaIjAo.js","assets/trash-2-CDyKV6GB.js","assets/TimelinePage-BDyp8kvu.css","assets/ModelsPage-DqYHHuAQ.js","assets/ModelsPage-DQN_XP0u.css","assets/SimulatorPage-ROKoAmUT.js","assets/SimulatorPage-B1voZDRi.css"])))=>i.map(i=>d[i]);
2
+ import{h as E,c as S,a as $,d as j,b as y,e as d,f as k,u as g,F as N,r as V,g as w,i as b,n as M,t as P,j as C,w as x,k as q,l as U,m as Z,o as _,T as F,p as H,q as W}from"./vue-vendor-CtA47il-.js";(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const t of document.querySelectorAll('link[rel="modulepreload"]'))c(t);new MutationObserver(t=>{for(const a of t)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&c(i)}).observe(document,{childList:!0,subtree:!0});function r(t){const a={};return t.integrity&&(a.integrity=t.integrity),t.referrerPolicy&&(a.referrerPolicy=t.referrerPolicy),t.crossOrigin==="use-credentials"?a.credentials="include":t.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function c(t){if(t.ep)return;t.ep=!0;const a=r(t);fetch(t.href,a)}})();const L=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),K=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(n,r,c)=>c?c.toUpperCase():r.toLowerCase()),G=e=>{const n=K(e);return n.charAt(0).toUpperCase()+n.slice(1)},J=(...e)=>e.filter((n,r,c)=>!!n&&n.trim()!==""&&c.indexOf(n)===r).join(" ").trim();var h={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};const Q=({size:e,strokeWidth:n=2,absoluteStrokeWidth:r,color:c,iconNode:t,name:a,class:i,...l},{slots:p})=>E("svg",{...h,width:e||h.width,height:e||h.height,stroke:c||h.stroke,"stroke-width":r?Number(n)*24/Number(e):n,class:J("lucide",...a?[`lucide-${L(G(a))}-icon`,`lucide-${L(a)}`]:["lucide-icon"]),...l},[...t.map(o=>E(...o)),...p.default?[p.default()]:[]]);const f=(e,n)=>(r,{slots:c})=>E(Q,{...r,iconNode:n,name:e},c);const X=f("clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);const Y=f("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);const O=f("route",[["circle",{cx:"6",cy:"19",r:"3",key:"1kj8tv"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15",key:"1d8sl"}],["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}]]);const ee=f("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);const te=f("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);const z=f("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),oe="modulepreload",ne=function(e){return"/_devtools/"+e},I={},v=function(n,r,c){let t=Promise.resolve();if(r&&r.length>0){let p=function(o){return Promise.all(o.map(u=>Promise.resolve(u).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),l=i?.nonce||i?.getAttribute("nonce");t=p(r.map(o=>{if(o=ne(o),o in I)return;I[o]=!0;const u=o.endsWith(".css"),m=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${o}"]${m}`))return;const s=document.createElement("link");if(s.rel=u?"stylesheet":oe,u||(s.as="script"),s.crossOrigin="",s.href=o,l&&s.setAttribute("nonce",l),document.head.appendChild(s),u)return new Promise((A,B)=>{s.addEventListener("load",A),s.addEventListener("error",()=>B(new Error(`Unable to preload CSS for ${o}`)))})}))}function a(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return t.then(i=>{for(const l of i||[])l.status==="rejected"&&a(l.reason);return n().catch(a)})},D=[{path:"/",redirect:"/routes"},{path:"/routes",name:"routes",component:()=>v(()=>import("./RoutesPage-Bhnu6w5-.js"),__vite__mapDeps([0,1,2,3,4,5,6])),meta:{title:"Routes",icon:"route"}},{path:"/timeline",name:"timeline",component:()=>v(()=>import("./TimelinePage-CwR-Coxj.js"),__vite__mapDeps([7,2,1,8,9,3,5,10,11])),meta:{title:"Timeline",icon:"clock"}},{path:"/models",name:"models",component:()=>v(()=>import("./ModelsPage-DqYHHuAQ.js"),__vite__mapDeps([12,2,8,3,5,10,13])),meta:{title:"Models",icon:"database"}},{path:"/simulator",name:"simulator",component:()=>v(()=>import("./SimulatorPage-ROKoAmUT.js"),__vite__mapDeps([14,2,3,4,9,10,15])),meta:{title:"Simulator",icon:"zap"}},{path:"/:pathMatch(.*)*",name:"not-found",redirect:"/routes"}],ae=S({history:$(),routes:D}),se={class:"app"},re={class:"app-header"},ce={class:"app-header__brand"},ie={class:"app-nav",role:"tablist","aria-label":"DevTools navigation"},le=["aria-selected","aria-current","aria-controls","onClick"],ue={class:"app-nav__label"},de={class:"app-header__status"},pe={class:"connection-status"},me={class:"connection-status__text"},_e={class:"app-main"},fe=j({__name:"App",setup(e){const n=U(),r=Z(),c=w(()=>D.filter(o=>o.name&&o.meta?.title).map(o=>({name:o.name,path:o.path,title:o.meta?.title,icon:o.meta?.icon}))),t=w(()=>n.name);function a(o){r.push(o)}const i={route:O,clock:X,database:Y,zap:z};function l(o){return i[o]??O}const p=w(()=>!1);return(o,u)=>{const m=q("router-view");return _(),y("div",se,[d("header",re,[d("div",ce,[k(g(z),{class:"app-header__logo",size:20}),u[0]||(u[0]=d("span",{class:"app-header__title"},"OpenAPI DevTools",-1))]),d("nav",ie,[(_(!0),y(N,null,V(c.value,s=>(_(),y("button",{key:s.name,role:"tab","aria-selected":t.value===s.name,"aria-current":t.value===s.name?"true":void 0,"aria-controls":`panel-${s.name}`,tabindex:0,class:M(["app-nav__tab",{"app-nav__tab--active":t.value===s.name}]),onClick:A=>a(s.path)},[(_(),b(C(l(s.icon)),{size:16,class:"app-nav__icon"})),d("span",ue,P(s.title),1)],10,le))),128))]),d("div",de,[d("div",pe,[d("span",{class:M(["connection-status__dot",p.value?"connection-status__dot--connected":"connection-status__dot--disconnected"])},null,2),d("span",me,P(p.value?"Connected":"Disconnected"),1),(_(),b(C(p.value?g(te):g(ee)),{size:14,class:"connection-status__icon"}))])])]),d("main",_e,[k(m,null,{default:x(({Component:s})=>[k(F,{name:"fade",mode:"out-in"},{default:x(()=>[(_(),b(C(s)))]),_:2},1024)]),_:1})])])}}}),he=(e,n)=>{const r=e.__vccOpts||e;for(const[c,t]of n)r[c]=t;return r},ve=he(fe,[["__scopeId","data-v-513332df"]]);let R=!1,T=null;function ye(){if(R)return T;const e=H(ve),n=W();return e.use(n),e.use(ae),e.mount("#app"),R=!0,T=e,e}typeof window<"u"&&document.getElementById("app")&&ye();export{X as C,Y as D,O as R,z as Z,he as _,f as c};
3
+ //# sourceMappingURL=index-GQ9qRqEi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"mappings":"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","names":["toKebabCase","string","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","className","index","array","defaultAttributes","Icon","size","strokeWidth","absoluteStrokeWidth","color","iconNode","name","props","slots","h","child","createLucideIcon","iconName","Clock","Database","Route","WifiOff","Wifi","Zap","routes","router","createRouter","createWebHashHistory","route","useRoute","useRouter","tabs","computed","r","activeTab","navigateTo","path","iconMap","getIcon","isConnected","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","_hoisted_3","_createVNode","_unref","_cache","_hoisted_4","_Fragment","_renderList","tab","_normalizeClass","$event","_createBlock","_resolveDynamicComponent","_hoisted_6","_toDisplayString","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_component_router_view","_withCtx","Component","_Transition","isBootstrapped","appInstance","bootstrap","app","createApp","AppComponent","pinia","createPinia"],"ignoreList":[0,1,2,3,4,5,6,7,8,9],"sources":["../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/shared/src/utils.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/defaultAttributes.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/Icon.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/createLucideIcon.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/clock.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/database.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/route.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/wifi-off.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/wifi.js","../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/zap.js","../../../src/router.ts","../../../src/App.vue","../../../src/main.ts"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst toCamelCase = (string) => string.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()\n);\nconst toPascalCase = (string) => {\n const camelCase = toCamelCase(string);\n return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);\n};\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toCamelCase, toKebabCase, toPascalCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": 2,\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h } from 'vue';\nimport { mergeClasses, toKebabCase, toPascalCase } from './shared/src/utils.js';\nimport defaultAttributes from './defaultAttributes.js';\n\nconst Icon = ({ size, strokeWidth = 2, absoluteStrokeWidth, color, iconNode, name, class: classes, ...props }, { slots }) => {\n return h(\n \"svg\",\n {\n ...defaultAttributes,\n width: size || defaultAttributes.width,\n height: size || defaultAttributes.height,\n stroke: color || defaultAttributes.stroke,\n \"stroke-width\": absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n class: mergeClasses(\n \"lucide\",\n ...name ? [`lucide-${toKebabCase(toPascalCase(name))}-icon`, `lucide-${toKebabCase(name)}`] : [\"lucide-icon\"]\n ),\n ...props\n },\n [...iconNode.map((child) => h(...child)), ...slots.default ? [slots.default()] : []]\n );\n};\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { h } from 'vue';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => (props, { slots }) => h(\n Icon,\n {\n ...props,\n iconNode,\n name: iconName\n },\n slots\n);\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Clock = createLucideIcon(\"clock\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"polyline\", { points: \"12 6 12 12 16 14\", key: \"68esgv\" }]\n]);\n\nexport { Clock as default };\n//# sourceMappingURL=clock.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Database = createLucideIcon(\"database\", [\n [\"ellipse\", { cx: \"12\", cy: \"5\", rx: \"9\", ry: \"3\", key: \"msslwz\" }],\n [\"path\", { d: \"M3 5V19A9 3 0 0 0 21 19V5\", key: \"1wlel7\" }],\n [\"path\", { d: \"M3 12A9 3 0 0 0 21 12\", key: \"mv7ke4\" }]\n]);\n\nexport { Database as default };\n//# sourceMappingURL=database.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Route = createLucideIcon(\"route\", [\n [\"circle\", { cx: \"6\", cy: \"19\", r: \"3\", key: \"1kj8tv\" }],\n [\"path\", { d: \"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15\", key: \"1d8sl\" }],\n [\"circle\", { cx: \"18\", cy: \"5\", r: \"3\", key: \"gq8acd\" }]\n]);\n\nexport { Route as default };\n//# sourceMappingURL=route.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst WifiOff = createLucideIcon(\"wifi-off\", [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 5.17-2.69\", key: \"1dl1wf\" }],\n [\"path\", { d: \"M19 12.859a10 10 0 0 0-2.007-1.523\", key: \"4k23kn\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 4.177-2.643\", key: \"1grhjp\" }],\n [\"path\", { d: \"M22 8.82a15 15 0 0 0-11.288-3.764\", key: \"z3jwby\" }],\n [\"path\", { d: \"m2 2 20 20\", key: \"1ooewy\" }]\n]);\n\nexport { WifiOff as default };\n//# sourceMappingURL=wifi-off.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Wifi = createLucideIcon(\"wifi\", [\n [\"path\", { d: \"M12 20h.01\", key: \"zekei9\" }],\n [\"path\", { d: \"M2 8.82a15 15 0 0 1 20 0\", key: \"dnpr2z\" }],\n [\"path\", { d: \"M5 12.859a10 10 0 0 1 14 0\", key: \"1x1e6c\" }],\n [\"path\", { d: \"M8.5 16.429a5 5 0 0 1 7 0\", key: \"1bycff\" }]\n]);\n\nexport { Wifi as default };\n//# sourceMappingURL=wifi.js.map\n","/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Zap = createLucideIcon(\"zap\", [\n [\n \"path\",\n {\n d: \"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\",\n key: \"1xq2db\"\n }\n ]\n]);\n\nexport { Zap as default };\n//# sourceMappingURL=zap.js.map\n","/**\n * Vue Router Configuration\n *\n * What: Defines routing configuration for the DevTools SPA\n * How: Creates routes for each main page/tab in the application\n * Why: Enables navigation between different DevTools features\n */\n\nimport { createRouter, createWebHashHistory, type RouteRecordRaw } from 'vue-router';\n\n/**\n * Route definitions for the DevTools SPA\n *\n * Each route corresponds to a tab in the DevTools interface:\n * - Routes: Endpoint listing and details\n * - Timeline: Request/response log with real-time updates\n * - Models: Store data editor for viewing/modifying mock data\n * - Simulator: Error simulation controls\n */\nconst routes: RouteRecordRaw[] = [\n {\n path: '/',\n redirect: '/routes',\n },\n {\n path: '/routes',\n name: 'routes',\n component: () => import('@/pages/RoutesPage.vue'),\n meta: {\n title: 'Routes',\n icon: 'route',\n },\n },\n {\n path: '/timeline',\n name: 'timeline',\n component: () => import('@/pages/TimelinePage.vue'),\n meta: {\n title: 'Timeline',\n icon: 'clock',\n },\n },\n {\n path: '/models',\n name: 'models',\n component: () => import('@/pages/ModelsPage.vue'),\n meta: {\n title: 'Models',\n icon: 'database',\n },\n },\n {\n path: '/simulator',\n name: 'simulator',\n component: () => import('@/pages/SimulatorPage.vue'),\n meta: {\n title: 'Simulator',\n icon: 'zap',\n },\n },\n // Catch-all route for undefined paths - redirects to routes page\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n redirect: '/routes',\n },\n];\n\n/**\n * Create the router instance\n *\n * Uses hash history mode for compatibility when embedded in iframes\n * or served from arbitrary paths in the dev server\n */\nconst router = createRouter({\n history: createWebHashHistory(),\n routes,\n});\n\nexport { routes };\nexport default router;\n","<!--\n App.vue - Main Application Component\n\n What: Root component for the DevTools SPA\n How: Provides the main layout with header, tab navigation, and router view\n Why: Acts as the entry point for the Vue application and defines the overall structure\n-->\n\n<script setup lang=\"ts\">\nimport { Clock, Database, Route, Wifi, WifiOff, Zap } from 'lucide-vue-next';\nimport { computed } from 'vue';\nimport { useRoute, useRouter } from 'vue-router';\nimport { routes } from '@/router';\n\nconst route = useRoute();\nconst router = useRouter();\n\n// Navigation tabs derived from routes\nconst tabs = computed(() =>\n routes\n .filter((r) => r.name && r.meta?.title)\n .map((r) => ({\n name: r.name as string,\n path: r.path,\n title: r.meta?.title as string,\n icon: r.meta?.icon as string,\n })),\n);\n\n// Current active tab\nconst activeTab = computed(() => route.name as string);\n\n// Navigate to a tab\nfunction navigateTo(path: string): void {\n router.push(path);\n}\n\n// Icon component map\nconst iconMap: Record<string, typeof Route> = {\n route: Route,\n clock: Clock,\n database: Database,\n zap: Zap,\n};\n\n// Get icon with fallback for unknown icon names\nfunction getIcon(iconName: string): typeof Route {\n const icon = iconMap[iconName];\n if (!icon && import.meta.env.DEV) {\n console.warn(`[DevTools] Unknown icon name: \"${iconName}\". Using fallback.`);\n }\n return icon ?? Route;\n}\n\n// TODO: Connection status will be provided by WebSocket composable\nconst isConnected = computed(() => false);\n</script>\n\n<template>\n <div class=\"app\">\n <!-- Header with branding and connection status -->\n <header class=\"app-header\">\n <div class=\"app-header__brand\">\n <Zap class=\"app-header__logo\" :size=\"20\" />\n <span class=\"app-header__title\">OpenAPI DevTools</span>\n </div>\n\n <!-- Tab Navigation -->\n <nav class=\"app-nav\" role=\"tablist\" aria-label=\"DevTools navigation\">\n <button\n v-for=\"tab in tabs\"\n :key=\"tab.name\"\n role=\"tab\"\n :aria-selected=\"activeTab === tab.name\"\n :aria-current=\"activeTab === tab.name ? 'true' : undefined\"\n :aria-controls=\"`panel-${tab.name}`\"\n :tabindex=\"0\"\n :class=\"[\n 'app-nav__tab',\n { 'app-nav__tab--active': activeTab === tab.name },\n ]\"\n @click=\"navigateTo(tab.path)\"\n >\n <component\n :is=\"getIcon(tab.icon)\"\n :size=\"16\"\n class=\"app-nav__icon\"\n />\n <span class=\"app-nav__label\">{{ tab.title }}</span>\n </button>\n </nav>\n\n <!-- Connection Status -->\n <div class=\"app-header__status\">\n <div class=\"connection-status\">\n <span\n :class=\"[\n 'connection-status__dot',\n isConnected\n ? 'connection-status__dot--connected'\n : 'connection-status__dot--disconnected',\n ]\"\n />\n <span class=\"connection-status__text\">\n {{ isConnected ? 'Connected' : 'Disconnected' }}\n </span>\n <component\n :is=\"isConnected ? Wifi : WifiOff\"\n :size=\"14\"\n class=\"connection-status__icon\"\n />\n </div>\n </div>\n </header>\n\n <!-- Main Content Area -->\n <main class=\"app-main\">\n <router-view v-slot=\"{ Component }\">\n <transition name=\"fade\" mode=\"out-in\">\n <component :is=\"Component\" />\n </transition>\n </router-view>\n </main>\n </div>\n</template>\n\n<style scoped>\n.app {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n background-color: var(--devtools-bg);\n}\n\n/* Header styles */\n.app-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n height: var(--devtools-header-height);\n padding: 0 var(--devtools-space-md);\n background-color: var(--devtools-surface);\n border-bottom: 1px solid var(--devtools-border);\n position: sticky;\n top: 0;\n z-index: 100;\n}\n\n.app-header__brand {\n display: flex;\n align-items: center;\n gap: var(--devtools-space-sm);\n}\n\n.app-header__logo {\n color: var(--devtools-primary);\n}\n\n.app-header__title {\n font-weight: var(--font-weight-6);\n font-size: var(--font-size-1);\n color: var(--devtools-text);\n}\n\n.app-header__status {\n display: flex;\n align-items: center;\n}\n\n/* Navigation styles */\n.app-nav {\n display: flex;\n align-items: center;\n gap: var(--devtools-space-xs);\n height: 100%;\n}\n\n.app-nav__tab {\n display: flex;\n align-items: center;\n gap: var(--devtools-space-xs);\n height: 100%;\n padding: 0 var(--devtools-space-md);\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n color: var(--devtools-text-muted);\n font-family: var(--devtools-font-sans);\n font-size: var(--font-size-0);\n font-weight: var(--font-weight-5);\n cursor: pointer;\n transition: all var(--devtools-transition-fast);\n}\n\n.app-nav__tab:hover {\n color: var(--devtools-text);\n background-color: var(--devtools-surface-elevated);\n}\n\n.app-nav__tab:focus {\n outline: none;\n}\n\n.app-nav__tab:focus-visible {\n outline: 2px solid var(--devtools-primary);\n outline-offset: -2px;\n background-color: var(--devtools-surface-elevated);\n}\n\n/* High contrast mode support */\n@media (forced-colors: active) {\n .app-nav__tab:focus-visible {\n outline: 3px solid CanvasText;\n outline-offset: 2px;\n }\n}\n\n.app-nav__tab--active {\n color: var(--devtools-primary);\n border-bottom-color: var(--devtools-primary);\n}\n\n.app-nav__tab--active:focus-visible {\n outline-color: var(--devtools-primary-hover);\n}\n\n.app-nav__icon {\n flex-shrink: 0;\n}\n\n.app-nav__label {\n white-space: nowrap;\n}\n\n/* Connection status styles */\n.connection-status {\n display: flex;\n align-items: center;\n gap: var(--devtools-space-xs);\n font-size: var(--font-size-0);\n color: var(--devtools-text-muted);\n}\n\n.connection-status__icon {\n opacity: 0.7;\n}\n\n/* Main content styles */\n.app-main {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Page transition */\n.fade-enter-active,\n.fade-leave-active {\n transition: opacity var(--devtools-transition-normal);\n}\n\n.fade-enter-from,\n.fade-leave-to {\n opacity: 0;\n}\n</style>\n","/**\n * Main Entry Point for DevTools SPA\n *\n * What: Initializes and mounts the Vue application\n * How: Creates Vue app instance with Pinia and Vue Router\n * Why: Required entry point for the DevTools SPA\n */\n\nimport { createPinia } from 'pinia';\nimport type { App } from 'vue';\nimport { createApp } from 'vue';\n\nimport AppComponent from '@/App.vue';\nimport router from '@/router';\nimport { initializeStores } from '@/stores';\n\n// Import global styles\nimport '@/assets/main.css';\n\n/**\n * Module-scoped guard to ensure bootstrap only runs once\n */\nlet isBootstrapped = false;\nlet appInstance: App | null = null;\n\n/**\n * Create and configure the Vue application\n * This function is idempotent - calling it multiple times has no effect\n * after the first successful call.\n *\n * @returns The Vue app instance, or null if already bootstrapped\n */\nfunction bootstrap(): App | null {\n // Guard against multiple bootstrap calls\n if (isBootstrapped) {\n if (import.meta.env.DEV) {\n console.warn('[OpenAPI DevTools] Application already initialized, skipping bootstrap');\n }\n return appInstance;\n }\n\n // Create Vue app instance\n const app = createApp(AppComponent);\n\n // Create Pinia store instance\n const pinia = createPinia();\n\n // Install plugins\n app.use(pinia);\n app.use(router);\n\n // Initialize stores after Pinia is installed\n initializeStores();\n\n // Mount the app to the DOM\n app.mount('#app');\n\n // Mark as bootstrapped and store the instance\n isBootstrapped = true;\n appInstance = app;\n\n // Log startup info in development\n if (import.meta.env.DEV) {\n console.log('[OpenAPI DevTools] Application initialized');\n }\n\n return app;\n}\n\n// Only auto-bootstrap when running as standalone app (index.html entry)\n// When imported as a library, consumers should call bootstrap() manually\nif (typeof window !== 'undefined' && document.getElementById('app')) {\n bootstrap();\n}\n\n/**\n * Export the bootstrap function for library consumers\n * who may want to manually initialize the DevTools\n */\nexport { bootstrap };\n\nexport type {\n ClientCommand,\n ClientCommandType,\n ConnectedEventData,\n ConnectionState,\n EventHandler,\n ServerEvent,\n ServerEventType,\n ThemeMode,\n UseWebSocketOptions,\n UseWebSocketReturn,\n} from '@/composables';\n// Re-export composables for library consumers\nexport { useTheme, useWebSocket } from '@/composables';\n"],"file":"index-GQ9qRqEi.js"}
@@ -0,0 +1,2 @@
1
+ import{D as B,g as r,C as o}from"./vue-vendor-CtA47il-.js";const j=B("registry",()=>{const a=o([]),h=o({totalEndpoints:0,withCustomHandler:0,totalSchemas:0,withCustomSeed:0,autoGenerated:0}),f=o(!1),i=o(null),u=o(""),n=o({methods:[],hasHandler:null,hasSeed:null,tags:[]}),d=o(null),l=o(new Set),g=r(()=>{const e=new Set;for(const t of a.value)for(const s of t.tags)e.add(s);return Array.from(e).sort()}),m=r(()=>{const e=new Set;for(const t of a.value)t.responseSchema&&e.add(t.responseSchema);return Array.from(e).sort()}),v=r(()=>{let e=a.value;if(u.value.trim()){const t=u.value.toLowerCase().trim();e=e.filter(s=>s.path.toLowerCase().includes(t)||s.operationId.toLowerCase().includes(t)||s.summary?.toLowerCase().includes(t)||s.tags.some(c=>c.toLowerCase().includes(t)))}return n.value.methods.length>0&&(e=e.filter(t=>n.value.methods.includes(t.method))),n.value.hasHandler!==null&&(e=e.filter(t=>t.hasHandler===n.value.hasHandler)),n.value.hasSeed!==null&&(e=e.filter(t=>t.hasSeed===n.value.hasSeed)),n.value.tags.length>0&&(e=e.filter(t=>t.tags.some(s=>n.value.tags.includes(s)))),e}),p=r(()=>{const e=new Map;for(const t of v.value){let s;t.tags.length>0?s=t.tags[0]:t.responseSchema?s=t.responseSchema:s=t.path.split("/").filter(Boolean)[0]||"Other",e.has(s)||e.set(s,[]),e.get(s)?.push(t)}return Array.from(e.entries()).map(([t,s])=>({tag:t,endpoints:s.sort((c,q)=>c.path.localeCompare(q.path)),isExpanded:l.value.has(t)})).sort((t,s)=>t.tag.localeCompare(s.tag))}),S=r(()=>d.value?a.value.find(e=>e.key===d.value)??null:null),w=r(()=>a.value.filter(e=>e.hasHandler).length),y=r(()=>a.value.filter(e=>e.hasSeed).length);function C(e){a.value=e.endpoints,h.value=e.stats,i.value=null;for(const t of e.endpoints)t.tags.length>0&&l.value.add(t.tags[0])}function H(e){f.value=e}function E(e){i.value=e,f.value=!1}function x(){i.value=null}function L(e){u.value=e}function A(e){const t=n.value.methods.indexOf(e);t===-1?n.value.methods.push(e):n.value.methods.splice(t,1)}function F(e){n.value.hasHandler=e}function G(e){n.value.hasSeed=e}function O(e){const t=n.value.tags.indexOf(e);t===-1?n.value.tags.push(e):n.value.tags.splice(t,1)}function T(){n.value={methods:[],hasHandler:null,hasSeed:null,tags:[]},u.value=""}function D(){return u.value.trim()!==""||n.value.methods.length>0||n.value.hasHandler!==null||n.value.hasSeed!==null||n.value.tags.length>0}function I(e){d.value=e}function K(e){l.value.has(e)?l.value.delete(e):l.value.add(e)}function M(){for(const e of p.value)l.value.add(e.tag)}function Q(){l.value.clear()}function R(e){const t=new Set(e);for(const s of a.value)s.hasHandler=t.has(s.operationId)}function k(e){const t=new Set(e);for(const s of a.value)s.hasSeed=s.responseSchema?t.has(s.responseSchema):!1}return{endpoints:a,stats:h,isLoading:f,error:i,searchQuery:u,filter:n,selectedEndpointKey:d,expandedTags:l,allTags:g,allSchemas:m,filteredEndpoints:v,groupedEndpoints:p,selectedEndpoint:S,handlerCount:w,seedCount:y,setRegistryData:C,setLoading:H,setError:E,clearError:x,setSearchQuery:L,toggleMethodFilter:A,setHandlerFilter:F,setSeedFilter:G,toggleTagFilter:O,clearFilters:T,hasActiveFilters:D,selectEndpoint:I,toggleGroup:K,expandAllGroups:M,collapseAllGroups:Q,updateHandlerStatus:R,updateSeedStatus:k}});export{j as u};
2
+ //# sourceMappingURL=registry-Z11QUkpV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-Z11QUkpV.js","sources":["../../../src/stores/registry.ts"],"sourcesContent":["/**\n * Registry Store\n *\n * What: Pinia store for managing endpoint registry data\n * How: Fetches and caches endpoint data from the server via WebSocket\n * Why: Provides reactive access to endpoint data for the Routes Page\n *\n * @module stores/registry\n */\n\nimport { defineStore } from 'pinia';\nimport { computed, ref } from 'vue';\n\n/**\n * HTTP method type\n */\nexport type HttpMethod = 'get' | 'post' | 'put' | 'patch' | 'delete' | 'options' | 'head' | 'trace';\n\n/**\n * Security requirement from OpenAPI spec\n */\nexport interface SecurityRequirement {\n name: string;\n scopes: string[];\n}\n\n/**\n * Endpoint entry from the server\n */\nexport interface EndpointEntry {\n key: string;\n operationId: string;\n method: HttpMethod;\n path: string;\n summary?: string;\n description?: string;\n tags: string[];\n responseSchema?: string;\n hasHandler: boolean;\n hasSeed: boolean;\n security: SecurityRequirement[];\n}\n\n/**\n * Registry statistics\n */\nexport interface RegistryStats {\n totalEndpoints: number;\n withCustomHandler: number;\n totalSchemas: number;\n withCustomSeed: number;\n autoGenerated: number;\n}\n\n/**\n * Registry data from server\n */\nexport interface RegistryData {\n endpoints: EndpointEntry[];\n stats: RegistryStats;\n}\n\n/**\n * Grouped endpoints by tag\n */\nexport interface EndpointGroup {\n tag: string;\n endpoints: EndpointEntry[];\n isExpanded: boolean;\n}\n\n/**\n * Filter options for endpoints\n */\nexport interface EndpointFilter {\n methods: HttpMethod[];\n hasHandler: boolean | null;\n hasSeed: boolean | null;\n tags: string[];\n}\n\n/**\n * Registry store for endpoint data management\n *\n * Provides:\n * - Endpoint data storage and retrieval\n * - Grouping by tags\n * - Search and filter functionality\n * - Selected endpoint tracking\n */\nexport const useRegistryStore = defineStore('registry', () => {\n // ==========================================================================\n // State\n // ==========================================================================\n\n /** All endpoints from the server */\n const endpoints = ref<EndpointEntry[]>([]);\n\n /** Registry statistics */\n const stats = ref<RegistryStats>({\n totalEndpoints: 0,\n withCustomHandler: 0,\n totalSchemas: 0,\n withCustomSeed: 0,\n autoGenerated: 0,\n });\n\n /** Loading state */\n const isLoading = ref(false);\n\n /** Error state */\n const error = ref<string | null>(null);\n\n /** Search query */\n const searchQuery = ref('');\n\n /** Active filters */\n const filter = ref<EndpointFilter>({\n methods: [],\n hasHandler: null,\n hasSeed: null,\n tags: [],\n });\n\n /** Currently selected endpoint key */\n const selectedEndpointKey = ref<string | null>(null);\n\n /** Expanded tag groups */\n const expandedTags = ref<Set<string>>(new Set());\n\n // ==========================================================================\n // Getters / Computed\n // ==========================================================================\n\n /**\n * All unique tags from endpoints\n */\n const allTags = computed(() => {\n const tagSet = new Set<string>();\n for (const endpoint of endpoints.value) {\n for (const tag of endpoint.tags) {\n tagSet.add(tag);\n }\n }\n return Array.from(tagSet).sort();\n });\n\n /**\n * All unique response schemas\n */\n const allSchemas = computed(() => {\n const schemaSet = new Set<string>();\n for (const endpoint of endpoints.value) {\n if (endpoint.responseSchema) {\n schemaSet.add(endpoint.responseSchema);\n }\n }\n return Array.from(schemaSet).sort();\n });\n\n /**\n * Filtered endpoints based on search and filters\n */\n const filteredEndpoints = computed(() => {\n let result = endpoints.value;\n\n // Apply search query\n if (searchQuery.value.trim()) {\n const query = searchQuery.value.toLowerCase().trim();\n result = result.filter((endpoint) => {\n return (\n endpoint.path.toLowerCase().includes(query) ||\n endpoint.operationId.toLowerCase().includes(query) ||\n endpoint.summary?.toLowerCase().includes(query) ||\n endpoint.tags.some((tag) => tag.toLowerCase().includes(query))\n );\n });\n }\n\n // Apply method filter\n if (filter.value.methods.length > 0) {\n result = result.filter((endpoint) => filter.value.methods.includes(endpoint.method));\n }\n\n // Apply handler filter\n if (filter.value.hasHandler !== null) {\n result = result.filter((endpoint) => endpoint.hasHandler === filter.value.hasHandler);\n }\n\n // Apply seed filter\n if (filter.value.hasSeed !== null) {\n result = result.filter((endpoint) => endpoint.hasSeed === filter.value.hasSeed);\n }\n\n // Apply tag filter\n if (filter.value.tags.length > 0) {\n result = result.filter((endpoint) =>\n endpoint.tags.some((tag) => filter.value.tags.includes(tag)),\n );\n }\n\n return result;\n });\n\n /**\n * Endpoints grouped by tag\n *\n * Grouping logic (from PRD):\n * 1. By tags (if they exist in spec)\n * 2. Fallback: By response schema\n * 3. Final fallback: By first path segment\n */\n const groupedEndpoints = computed((): EndpointGroup[] => {\n const groups = new Map<string, EndpointEntry[]>();\n\n for (const endpoint of filteredEndpoints.value) {\n // Determine group key\n let groupKey: string;\n\n if (endpoint.tags.length > 0) {\n // Use first tag as group\n groupKey = endpoint.tags[0];\n } else if (endpoint.responseSchema) {\n // Fallback to response schema\n groupKey = endpoint.responseSchema;\n } else {\n // Final fallback: first path segment\n const segments = endpoint.path.split('/').filter(Boolean);\n groupKey = segments[0] || 'Other';\n }\n\n if (!groups.has(groupKey)) {\n groups.set(groupKey, []);\n }\n groups.get(groupKey)?.push(endpoint);\n }\n\n // Convert to array and sort\n return Array.from(groups.entries())\n .map(([tag, eps]) => ({\n tag,\n endpoints: eps.sort((a, b) => a.path.localeCompare(b.path)),\n isExpanded: expandedTags.value.has(tag),\n }))\n .sort((a, b) => a.tag.localeCompare(b.tag));\n });\n\n /**\n * Currently selected endpoint\n */\n const selectedEndpoint = computed(() => {\n if (!selectedEndpointKey.value) return null;\n return endpoints.value.find((e) => e.key === selectedEndpointKey.value) ?? null;\n });\n\n /**\n * Count of endpoints with custom handlers\n */\n const handlerCount = computed(() => endpoints.value.filter((e) => e.hasHandler).length);\n\n /**\n * Count of endpoints with seed data\n */\n const seedCount = computed(() => endpoints.value.filter((e) => e.hasSeed).length);\n\n // ==========================================================================\n // Actions\n // ==========================================================================\n\n /**\n * Set registry data from server response\n */\n function setRegistryData(data: RegistryData): void {\n endpoints.value = data.endpoints;\n stats.value = data.stats;\n error.value = null;\n\n // Auto-expand all groups initially\n for (const endpoint of data.endpoints) {\n if (endpoint.tags.length > 0) {\n expandedTags.value.add(endpoint.tags[0]);\n }\n }\n }\n\n /**\n * Set loading state\n */\n function setLoading(loading: boolean): void {\n isLoading.value = loading;\n }\n\n /**\n * Set error state\n */\n function setError(errorMessage: string): void {\n error.value = errorMessage;\n isLoading.value = false;\n }\n\n /**\n * Clear error state\n */\n function clearError(): void {\n error.value = null;\n }\n\n /**\n * Set search query\n */\n function setSearchQuery(query: string): void {\n searchQuery.value = query;\n }\n\n /**\n * Toggle method filter\n */\n function toggleMethodFilter(method: HttpMethod): void {\n const index = filter.value.methods.indexOf(method);\n if (index === -1) {\n filter.value.methods.push(method);\n } else {\n filter.value.methods.splice(index, 1);\n }\n }\n\n /**\n * Set handler filter\n */\n function setHandlerFilter(hasHandler: boolean | null): void {\n filter.value.hasHandler = hasHandler;\n }\n\n /**\n * Set seed filter\n */\n function setSeedFilter(hasSeed: boolean | null): void {\n filter.value.hasSeed = hasSeed;\n }\n\n /**\n * Toggle tag filter\n */\n function toggleTagFilter(tag: string): void {\n const index = filter.value.tags.indexOf(tag);\n if (index === -1) {\n filter.value.tags.push(tag);\n } else {\n filter.value.tags.splice(index, 1);\n }\n }\n\n /**\n * Clear all filters\n */\n function clearFilters(): void {\n filter.value = {\n methods: [],\n hasHandler: null,\n hasSeed: null,\n tags: [],\n };\n searchQuery.value = '';\n }\n\n /**\n * Check if any filter is active\n */\n function hasActiveFilters(): boolean {\n return (\n searchQuery.value.trim() !== '' ||\n filter.value.methods.length > 0 ||\n filter.value.hasHandler !== null ||\n filter.value.hasSeed !== null ||\n filter.value.tags.length > 0\n );\n }\n\n /**\n * Select an endpoint by key\n */\n function selectEndpoint(key: string | null): void {\n selectedEndpointKey.value = key;\n }\n\n /**\n * Toggle group expansion\n */\n function toggleGroup(tag: string): void {\n if (expandedTags.value.has(tag)) {\n expandedTags.value.delete(tag);\n } else {\n expandedTags.value.add(tag);\n }\n }\n\n /**\n * Expand all groups\n */\n function expandAllGroups(): void {\n for (const group of groupedEndpoints.value) {\n expandedTags.value.add(group.tag);\n }\n }\n\n /**\n * Collapse all groups\n */\n function collapseAllGroups(): void {\n expandedTags.value.clear();\n }\n\n /**\n * Update handler status for endpoints\n * Called when handlers are reloaded\n */\n function updateHandlerStatus(handlerOperationIds: string[]): void {\n const handlerSet = new Set(handlerOperationIds);\n for (const endpoint of endpoints.value) {\n endpoint.hasHandler = handlerSet.has(endpoint.operationId);\n }\n }\n\n /**\n * Update seed status for endpoints\n * Called when seeds are reloaded\n */\n function updateSeedStatus(seedSchemas: string[]): void {\n const seedSet = new Set(seedSchemas);\n for (const endpoint of endpoints.value) {\n endpoint.hasSeed = endpoint.responseSchema ? seedSet.has(endpoint.responseSchema) : false;\n }\n }\n\n // ==========================================================================\n // Return\n // ==========================================================================\n\n return {\n // State\n endpoints,\n stats,\n isLoading,\n error,\n searchQuery,\n filter,\n selectedEndpointKey,\n expandedTags,\n\n // Getters\n allTags,\n allSchemas,\n filteredEndpoints,\n groupedEndpoints,\n selectedEndpoint,\n handlerCount,\n seedCount,\n\n // Actions\n setRegistryData,\n setLoading,\n setError,\n clearError,\n setSearchQuery,\n toggleMethodFilter,\n setHandlerFilter,\n setSeedFilter,\n toggleTagFilter,\n clearFilters,\n hasActiveFilters,\n selectEndpoint,\n toggleGroup,\n expandAllGroups,\n collapseAllGroups,\n updateHandlerStatus,\n updateSeedStatus,\n };\n});\n"],"names":["useRegistryStore","defineStore","endpoints","ref","stats","isLoading","error","searchQuery","filter","selectedEndpointKey","expandedTags","allTags","computed","tagSet","endpoint","tag","allSchemas","schemaSet","filteredEndpoints","result","query","groupedEndpoints","groups","groupKey","eps","a","b","selectedEndpoint","handlerCount","seedCount","setRegistryData","data","setLoading","loading","setError","errorMessage","clearError","setSearchQuery","toggleMethodFilter","method","index","setHandlerFilter","hasHandler","setSeedFilter","hasSeed","toggleTagFilter","clearFilters","hasActiveFilters","selectEndpoint","key","toggleGroup","expandAllGroups","group","collapseAllGroups","updateHandlerStatus","handlerOperationIds","handlerSet","updateSeedStatus","seedSchemas","seedSet"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./index-GQ9qRqEi.js";const a=e("trash-2",[["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6",key:"4alrt4"}],["path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2",key:"v07s0e"}],["line",{x1:"10",x2:"10",y1:"11",y2:"17",key:"1uufr5"}],["line",{x1:"14",x2:"14",y1:"11",y2:"17",key:"xtxkd"}]]);export{a as T};
2
+ //# sourceMappingURL=trash-2-CDyKV6GB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trash-2-CDyKV6GB.js","sources":["../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/trash-2.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Trash2 = createLucideIcon(\"trash-2\", [\n [\"path\", { d: \"M3 6h18\", key: \"d0wm0j\" }],\n [\"path\", { d: \"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6\", key: \"4alrt4\" }],\n [\"path\", { d: \"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2\", key: \"v07s0e\" }],\n [\"line\", { x1: \"10\", x2: \"10\", y1: \"11\", y2: \"17\", key: \"1uufr5\" }],\n [\"line\", { x1: \"14\", x2: \"14\", y1: \"11\", y2: \"17\", key: \"xtxkd\" }]\n]);\n\nexport { Trash2 as default };\n//# sourceMappingURL=trash-2.js.map\n"],"names":["Trash2","createLucideIcon"],"mappings":"wCASK,MAACA,EAASC,EAAiB,UAAW,CACzC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,wCAAyC,IAAK,QAAQ,CAAE,EACtE,CAAC,OAAQ,CAAE,EAAG,qCAAsC,IAAK,QAAQ,CAAE,EACnE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,QAAQ,CAAE,EAClE,CAAC,OAAQ,CAAE,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,GAAI,KAAM,IAAK,OAAO,CAAE,CACnE,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{c as e}from"./index-GQ9qRqEi.js";const t=e("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);export{t as T};
2
+ //# sourceMappingURL=triangle-alert-CAGaIjAo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triangle-alert-CAGaIjAo.js","sources":["../../../../../node_modules/.pnpm/lucide-vue-next@0.513.0_vue@3.5.27_typescript@5.9.3_/node_modules/lucide-vue-next/dist/esm/icons/triangle-alert.js"],"sourcesContent":["/**\n * @license lucide-vue-next v0.513.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst TriangleAlert = createLucideIcon(\"triangle-alert\", [\n [\n \"path\",\n {\n d: \"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3\",\n key: \"wmoenq\"\n }\n ],\n [\"path\", { d: \"M12 9v4\", key: \"juzpu7\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { TriangleAlert as default };\n//# sourceMappingURL=triangle-alert.js.map\n"],"names":["TriangleAlert","createLucideIcon"],"mappings":"wCASK,MAACA,EAAgBC,EAAiB,iBAAkB,CACvD,CACE,OACA,CACE,EAAG,2EACH,IAAK,QACX,CACA,EACE,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,QAAQ,CAAE,EACxC,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,CAAC","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{z as W,g as a,N as y,C as v}from"./vue-vendor-CtA47il-.js";const h={path:"/_ws",reconnectDelay:2e3,maxReconnectAttempts:Number.POSITIVE_INFINITY,autoConnect:!0},c=v("disconnected"),m=v(null),i=v(0);let o=null,d=null,s={...h},p=!1;const l=new Map;function g(){return typeof window<"u"&&typeof WebSocket<"u"}function C(){return y()!==null}function E(e){return g()?`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}${e}`:`ws://localhost${e}`}function k(){d!==null&&(clearTimeout(d),d=null)}function O(e,n){const t=l.get(e);if(t)for(const u of t)try{u(n)}catch(f){console.error(`[DevTools WebSocket] Error in event handler for '${e}':`,f)}const r=l.get("*");if(r)for(const u of r)try{u({type:e,data:n})}catch(f){console.error("[DevTools WebSocket] Error in wildcard event handler:",f)}}function D(){c.value="connected",i.value=0,k()}function I(e){try{const n=JSON.parse(e.data);if(n.type==="connected"){const t=n.data;m.value=t.serverVersion}O(n.type,n.data)}catch(n){console.error("[DevTools WebSocket] Failed to parse message:",n)}}function A(){c.value,c.value="disconnected",o=null,i.value<s.maxReconnectAttempts&&(c.value="reconnecting",i.value++,d=setTimeout(()=>{S()},s.reconnectDelay))}function F(e){console.error("[DevTools WebSocket] Error:",e)}function S(){if(!g()||c.value==="connecting"||c.value==="connected"||o&&(o.readyState===WebSocket.CONNECTING||o.readyState===WebSocket.OPEN))return;N(),c.value="connecting";const e=E(s.path);try{o=new WebSocket(e),o.onopen=D,o.onmessage=I,o.onclose=A,o.onerror=F}catch(n){console.error("[DevTools WebSocket] Failed to create WebSocket:",n),c.value="disconnected"}}function N(){o&&(o.onopen=null,o.onmessage=null,o.onclose=null,o.onerror=null,(o.readyState===WebSocket.OPEN||o.readyState===WebSocket.CONNECTING)&&o.close(),o=null)}function T(){k(),N(),c.value="disconnected",i.value=0}function H(e){if(!o||o.readyState!==WebSocket.OPEN)return!1;try{return o.send(JSON.stringify(e)),!0}catch(n){return console.error("[DevTools WebSocket] Failed to send command:",n),!1}}function w(e,n){l.has(e)||l.set(e,new Set);const t=l.get(e);return t&&t.add(n),()=>{const r=l.get(e);r&&(r.delete(n),r.size===0&&l.delete(e))}}function b(e,n){const t=l.get(e);t&&(t.delete(n),t.size===0&&l.delete(e))}function P(e,n){const t=r=>{b(e,t),n(r)};return w(e,t)}function $(e,n){const t=r=>{n(r)===!0&&b(e,t)};return w(e,t)}function x(){T(),m.value=null,l.clear(),s={...h},p=!1}function R(e={}){(!p||c.value==="disconnected")&&(s={...h,...e},p=!0);const n=a(()=>c.value==="connected"),t=a(()=>c.value==="reconnecting");return C()&&W(()=>{s.autoConnect&&S()}),{connectionState:a(()=>c.value),connected:n,isReconnecting:t,serverVersion:a(()=>m.value),reconnectAttempts:a(()=>i.value),connect:S,disconnect:T,send:H,on:w,off:b,once:P,onUntil:$,resetState:x}}export{R as u};
2
+ //# sourceMappingURL=useWebSocket-C2ttWF5T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWebSocket-C2ttWF5T.js","sources":["../../../src/composables/useWebSocket.ts"],"sourcesContent":["/**\n * useWebSocket Composable\n *\n * What: Provides reactive WebSocket connection management for the DevTools SPA\n * How: Manages WebSocket lifecycle with auto-reconnect and event subscription\n * Why: Enables real-time communication between DevTools and the mock server\n *\n * @module composables/useWebSocket\n */\n\nimport type { ComputedRef } from 'vue';\nimport { computed, getCurrentInstance, onMounted, ref } from 'vue';\n\n/**\n * Server event types that can be received from the server\n * These match the ServerEvent types defined in @websublime/vite-plugin-open-api-core\n */\nexport type ServerEventType =\n | 'connected'\n | 'request'\n | 'response'\n | 'timeline:cleared'\n | 'store:updated'\n | 'handler:reloaded'\n | 'handlers:updated'\n | 'seed:reloaded'\n | 'seeds:updated'\n | 'simulation:active'\n | 'simulation:added'\n | 'simulation:removed'\n | 'simulations:cleared'\n | 'registry'\n | 'timeline'\n | 'store'\n | 'store:set'\n | 'store:cleared'\n | 'simulation:set'\n | 'simulation:cleared'\n | 'reseeded'\n | 'error';\n\n/**\n * Server event structure\n */\nexport interface ServerEvent<T = unknown> {\n type: ServerEventType;\n data: T;\n}\n\n/**\n * Connected event data\n */\nexport interface ConnectedEventData {\n serverVersion: string;\n}\n\n/**\n * Client command types that can be sent to the server\n */\nexport type ClientCommandType =\n | 'get:registry'\n | 'get:timeline'\n | 'get:store'\n | 'set:store'\n | 'clear:store'\n | 'set:simulation'\n | 'clear:simulation'\n | 'clear:timeline'\n | 'reseed';\n\n/**\n * Client command structure\n */\nexport interface ClientCommand<T = unknown> {\n type: ClientCommandType;\n data?: T;\n}\n\n/**\n * WebSocket connection state\n */\nexport type ConnectionState = 'disconnected' | 'connecting' | 'connected' | 'reconnecting';\n\n/**\n * Event handler function type\n */\nexport type EventHandler<T = unknown> = (data: T) => void;\n\n/**\n * Configuration options for useWebSocket\n */\nexport interface UseWebSocketOptions {\n /**\n * WebSocket URL path (default: '/_ws')\n */\n path?: string;\n\n /**\n * Reconnection delay in milliseconds (default: 2000)\n */\n reconnectDelay?: number;\n\n /**\n * Maximum reconnection attempts (default: Infinity)\n */\n maxReconnectAttempts?: number;\n\n /**\n * Whether to auto-connect on mount (default: true)\n */\n autoConnect?: boolean;\n}\n\n/**\n * Return type for useWebSocket composable\n *\n * Provides explicit typing for the composable return value as required by CLAUDE.md\n */\nexport interface UseWebSocketReturn {\n /** Current connection state */\n connectionState: ComputedRef<ConnectionState>;\n /** Whether the WebSocket is connected */\n connected: ComputedRef<boolean>;\n /** Whether the WebSocket is attempting to reconnect */\n isReconnecting: ComputedRef<boolean>;\n /** Server version received on connection */\n serverVersion: ComputedRef<string | null>;\n /** Number of reconnection attempts made */\n reconnectAttempts: ComputedRef<number>;\n /** Connect to the WebSocket server */\n connect: () => void;\n /** Disconnect from the WebSocket server */\n disconnect: () => void;\n /** Send a command to the server */\n send: <T = unknown>(command: ClientCommand<T>) => boolean;\n /** Subscribe to a server event */\n on: <T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>) => () => void;\n /** Unsubscribe from a server event */\n off: <T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>) => void;\n /**\n * Subscribe to an event and automatically unsubscribe after the first invocation.\n * This is a standard one-shot subscription.\n */\n once: <T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>) => () => void;\n /**\n * Subscribe to an event and unsubscribe when the handler returns true.\n * Useful for conditional one-time events where you need to wait for specific data.\n */\n onUntil: <T = unknown>(\n event: ServerEventType | '*',\n handler: (data: T) => boolean | undefined,\n ) => () => void;\n /** Reset the composable state (useful for testing) */\n resetState: () => void;\n}\n\n/**\n * Default options\n */\nconst DEFAULT_OPTIONS: Required<UseWebSocketOptions> = {\n path: '/_ws',\n reconnectDelay: 2000,\n maxReconnectAttempts: Number.POSITIVE_INFINITY,\n autoConnect: true,\n};\n\n/**\n * Singleton state for WebSocket - shared across all component instances\n */\nconst connectionState = ref<ConnectionState>('disconnected');\nconst serverVersion = ref<string | null>(null);\nconst reconnectAttempts = ref(0);\n\n/**\n * Store the WebSocket instance and configuration\n */\nlet ws: WebSocket | null = null;\nlet reconnectTimer: ReturnType<typeof setTimeout> | null = null;\nlet currentOptions: Required<UseWebSocketOptions> = { ...DEFAULT_OPTIONS };\n\n/**\n * Flag to track if options have been initialized\n * Options are only set on the first call to useWebSocket or when disconnected\n */\nlet optionsInitialized = false;\n\n/**\n * Event handlers map - stores handlers for each event type\n */\nconst eventHandlers = new Map<string, Set<EventHandler>>();\n\n/**\n * Check if we're running in a browser environment\n */\nfunction isBrowser(): boolean {\n return typeof window !== 'undefined' && typeof WebSocket !== 'undefined';\n}\n\n/**\n * Check if we're inside a Vue component context\n */\nfunction hasComponentContext(): boolean {\n return getCurrentInstance() !== null;\n}\n\n/**\n * Build the WebSocket URL based on current location\n */\nfunction buildWebSocketUrl(path: string): string {\n if (!isBrowser()) {\n return `ws://localhost${path}`;\n }\n\n const protocol = window.location.protocol === 'https:' ? 'wss:' : 'ws:';\n return `${protocol}//${window.location.host}${path}`;\n}\n\n/**\n * Clear the reconnect timer if active\n */\nfunction clearReconnectTimer(): void {\n if (reconnectTimer !== null) {\n clearTimeout(reconnectTimer);\n reconnectTimer = null;\n }\n}\n\n/**\n * Dispatch an event to all registered handlers\n */\nfunction dispatchEvent(type: string, data: unknown): void {\n const handlers = eventHandlers.get(type);\n if (handlers) {\n for (const handler of handlers) {\n try {\n handler(data);\n } catch (error) {\n console.error(`[DevTools WebSocket] Error in event handler for '${type}':`, error);\n }\n }\n }\n\n // Also dispatch to wildcard handlers\n const wildcardHandlers = eventHandlers.get('*');\n if (wildcardHandlers) {\n for (const handler of wildcardHandlers) {\n try {\n handler({ type, data });\n } catch (error) {\n console.error('[DevTools WebSocket] Error in wildcard event handler:', error);\n }\n }\n }\n}\n\n/**\n * Handle WebSocket open event\n */\nfunction handleOpen(): void {\n connectionState.value = 'connected';\n reconnectAttempts.value = 0;\n clearReconnectTimer();\n\n if (import.meta.env.DEV) {\n console.log('[DevTools WebSocket] Connected');\n }\n}\n\n/**\n * Handle WebSocket message event\n */\nfunction handleMessage(event: MessageEvent): void {\n try {\n const message = JSON.parse(event.data) as ServerEvent;\n\n // Handle connected event specially to extract server version\n if (message.type === 'connected') {\n const connectedData = message.data as ConnectedEventData;\n serverVersion.value = connectedData.serverVersion;\n\n if (import.meta.env.DEV) {\n console.log(`[DevTools WebSocket] Server version: ${connectedData.serverVersion}`);\n }\n }\n\n // Dispatch to registered handlers\n dispatchEvent(message.type, message.data);\n } catch (error) {\n console.error('[DevTools WebSocket] Failed to parse message:', error);\n }\n}\n\n/**\n * Handle WebSocket close event\n */\nfunction handleClose(): void {\n const wasConnected = connectionState.value === 'connected';\n connectionState.value = 'disconnected';\n ws = null;\n\n if (wasConnected && import.meta.env.DEV) {\n console.log('[DevTools WebSocket] Disconnected');\n }\n\n // Attempt to reconnect if within limits\n if (reconnectAttempts.value < currentOptions.maxReconnectAttempts) {\n connectionState.value = 'reconnecting';\n reconnectAttempts.value++;\n\n if (import.meta.env.DEV) {\n console.log(\n `[DevTools WebSocket] Reconnecting in ${currentOptions.reconnectDelay}ms (attempt ${reconnectAttempts.value})`,\n );\n }\n\n reconnectTimer = setTimeout(() => {\n connect();\n }, currentOptions.reconnectDelay);\n } else if (import.meta.env.DEV) {\n console.warn('[DevTools WebSocket] Max reconnection attempts reached');\n }\n}\n\n/**\n * Handle WebSocket error event\n */\nfunction handleError(event: Event): void {\n console.error('[DevTools WebSocket] Error:', event);\n}\n\n/**\n * Connect to the WebSocket server\n */\nfunction connect(): void {\n if (!isBrowser()) {\n if (import.meta.env.DEV) {\n console.warn('[DevTools WebSocket] Cannot connect outside browser environment');\n }\n return;\n }\n\n // Don't connect if already connected or connecting\n // Check connectionState first to prevent race condition when connect() is called rapidly\n if (\n connectionState.value === 'connecting' ||\n connectionState.value === 'connected' ||\n (ws && (ws.readyState === WebSocket.CONNECTING || ws.readyState === WebSocket.OPEN))\n ) {\n return;\n }\n\n // Clean up existing connection without resetting reconnect state\n cleanupConnection();\n\n connectionState.value = 'connecting';\n const url = buildWebSocketUrl(currentOptions.path);\n\n try {\n ws = new WebSocket(url);\n ws.onopen = handleOpen;\n ws.onmessage = handleMessage;\n ws.onclose = handleClose;\n ws.onerror = handleError;\n } catch (error) {\n console.error('[DevTools WebSocket] Failed to create WebSocket:', error);\n connectionState.value = 'disconnected';\n }\n}\n\n/**\n * Clean up WebSocket connection without resetting reconnect state.\n * Used internally when reconnecting.\n */\nfunction cleanupConnection(): void {\n if (ws) {\n // Remove event handlers to prevent close handler from triggering reconnect\n ws.onopen = null;\n ws.onmessage = null;\n ws.onclose = null;\n ws.onerror = null;\n\n if (ws.readyState === WebSocket.OPEN || ws.readyState === WebSocket.CONNECTING) {\n ws.close();\n }\n\n ws = null;\n }\n}\n\n/**\n * Disconnect from the WebSocket server\n */\nfunction disconnect(): void {\n clearReconnectTimer();\n cleanupConnection();\n\n connectionState.value = 'disconnected';\n reconnectAttempts.value = 0;\n}\n\n/**\n * Send a command to the server\n *\n * @param command - The command to send\n * @returns true if the command was sent, false otherwise\n */\nfunction send<T = unknown>(command: ClientCommand<T>): boolean {\n if (!ws || ws.readyState !== WebSocket.OPEN) {\n if (import.meta.env.DEV) {\n console.warn('[DevTools WebSocket] Cannot send command - not connected');\n }\n return false;\n }\n\n try {\n ws.send(JSON.stringify(command));\n return true;\n } catch (error) {\n console.error('[DevTools WebSocket] Failed to send command:', error);\n return false;\n }\n}\n\n/**\n * Subscribe to a server event\n *\n * @param event - The event type to subscribe to (or '*' for all events)\n * @param handler - The handler function to call when the event is received\n * @returns An unsubscribe function\n */\nfunction on<T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>): () => void {\n if (!eventHandlers.has(event)) {\n eventHandlers.set(event, new Set());\n }\n\n const handlers = eventHandlers.get(event);\n if (handlers) {\n handlers.add(handler as EventHandler);\n }\n\n // Return unsubscribe function\n return () => {\n const currentHandlers = eventHandlers.get(event);\n if (currentHandlers) {\n currentHandlers.delete(handler as EventHandler);\n if (currentHandlers.size === 0) {\n eventHandlers.delete(event);\n }\n }\n };\n}\n\n/**\n * Unsubscribe from a server event\n *\n * @param event - The event type to unsubscribe from\n * @param handler - The handler function to remove\n */\nfunction off<T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>): void {\n const handlers = eventHandlers.get(event);\n if (handlers) {\n handlers.delete(handler as EventHandler);\n if (handlers.size === 0) {\n eventHandlers.delete(event);\n }\n }\n}\n\n/**\n * Subscribe to an event and automatically unsubscribe after the first invocation.\n * This is a standard one-shot subscription - the handler is called exactly once.\n *\n * @param event - The event type to subscribe to\n * @param handler - The handler function to call once\n * @returns An unsubscribe function (can be used to cancel before the event fires)\n *\n * @example\n * ```typescript\n * // Wait for the first 'connected' event\n * once('connected', (data) => {\n * console.log('Connected with version:', data.serverVersion);\n * });\n * ```\n */\nfunction once<T = unknown>(event: ServerEventType | '*', handler: EventHandler<T>): () => void {\n const wrappedHandler: EventHandler<T> = (data) => {\n off(event, wrappedHandler);\n handler(data);\n };\n\n return on(event, wrappedHandler);\n}\n\n/**\n * Subscribe to an event and unsubscribe when the handler returns true.\n * Useful for conditional one-time events where you need to wait for specific data.\n *\n * @param event - The event type to subscribe to\n * @param handler - The handler function that returns true to unsubscribe\n * @returns An unsubscribe function\n *\n * @example\n * ```typescript\n * // Wait until we receive a response with status 200\n * onUntil('response', (data) => {\n * if (data.status === 200) {\n * console.log('Success response received');\n * return true; // Unsubscribe\n * }\n * return false; // Keep listening\n * });\n * ```\n */\nfunction onUntil<T = unknown>(\n event: ServerEventType | '*',\n handler: (data: T) => boolean | undefined,\n): () => void {\n const wrappedHandler: EventHandler<T> = (data) => {\n const result = handler(data);\n if (result === true) {\n off(event, wrappedHandler);\n }\n };\n\n return on(event, wrappedHandler);\n}\n\n/**\n * Reset the composable state (useful for testing)\n */\nfunction resetState(): void {\n disconnect();\n serverVersion.value = null;\n eventHandlers.clear();\n currentOptions = { ...DEFAULT_OPTIONS };\n optionsInitialized = false;\n}\n\n/**\n * useWebSocket composable\n *\n * Provides WebSocket connection management functionality including:\n * - Reactive connection state\n * - Auto-reconnect with configurable delay\n * - Event subscription system\n * - Command sending\n *\n * @param options - Configuration options\n * @returns WebSocket management utilities\n */\nexport function useWebSocket(options: UseWebSocketOptions = {}): UseWebSocketReturn {\n // Only merge options when not connected and not initialized, or when disconnected\n // This prevents race conditions when multiple components pass different options\n if (!optionsInitialized || connectionState.value === 'disconnected') {\n currentOptions = { ...DEFAULT_OPTIONS, ...options };\n optionsInitialized = true;\n }\n\n /**\n * Computed property indicating if the WebSocket is connected\n */\n const connected = computed(() => connectionState.value === 'connected');\n\n /**\n * Computed property indicating if the WebSocket is attempting to reconnect\n */\n const isReconnecting = computed(() => connectionState.value === 'reconnecting');\n\n // Note: We don't disconnect on component unmount because this is singleton state\n // and other components may still be using the connection.\n // The connection will be cleaned up when the page unloads.\n\n // Only register lifecycle hooks when inside a Vue component context\n if (hasComponentContext()) {\n onMounted(() => {\n if (currentOptions.autoConnect) {\n connect();\n }\n });\n }\n\n return {\n /**\n * Current connection state\n */\n connectionState: computed(() => connectionState.value),\n\n /**\n * Whether the WebSocket is connected\n */\n connected,\n\n /**\n * Whether the WebSocket is attempting to reconnect\n */\n isReconnecting,\n\n /**\n * Server version received on connection\n */\n serverVersion: computed(() => serverVersion.value),\n\n /**\n * Number of reconnection attempts made\n */\n reconnectAttempts: computed(() => reconnectAttempts.value),\n\n /**\n * Connect to the WebSocket server\n */\n connect,\n\n /**\n * Disconnect from the WebSocket server\n */\n disconnect,\n\n /**\n * Send a command to the server\n */\n send,\n\n /**\n * Subscribe to a server event\n */\n on,\n\n /**\n * Unsubscribe from a server event\n */\n off,\n\n /**\n * Subscribe to an event once (one-shot, auto-unsubscribes after first call)\n */\n once,\n\n /**\n * Subscribe to an event until handler returns true\n */\n onUntil,\n\n /**\n * Reset the composable state (useful for testing)\n */\n resetState,\n };\n}\n"],"names":["DEFAULT_OPTIONS","connectionState","ref","serverVersion","reconnectAttempts","ws","reconnectTimer","currentOptions","optionsInitialized","eventHandlers","isBrowser","hasComponentContext","getCurrentInstance","buildWebSocketUrl","path","clearReconnectTimer","dispatchEvent","type","data","handlers","handler","error","wildcardHandlers","handleOpen","handleMessage","event","message","connectedData","handleClose","connect","handleError","cleanupConnection","url","disconnect","send","command","on","currentHandlers","off","once","wrappedHandler","onUntil","resetState","useWebSocket","options","connected","computed","isReconnecting","onMounted"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ function Ws(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const oe={},Bt=[],ze=()=>{},bi=()=>!1,Kn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$s=e=>e.startsWith("onUpdate:"),pe=Object.assign,qs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ol=Object.prototype.hasOwnProperty,ne=(e,t)=>ol.call(e,t),B=Array.isArray,jt=e=>yn(e)==="[object Map]",Wn=e=>yn(e)==="[object Set]",gr=e=>yn(e)==="[object Date]",W=e=>typeof e=="function",fe=e=>typeof e=="string",Qe=e=>typeof e=="symbol",re=e=>e!==null&&typeof e=="object",Ei=e=>(re(e)||W(e))&&W(e.then)&&W(e.catch),Si=Object.prototype.toString,yn=e=>Si.call(e),ll=e=>yn(e).slice(8,-1),Ai=e=>yn(e)==="[object Object]",$n=e=>fe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Xt=Ws(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qn=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},cl=/-\w/g,Fe=qn(e=>e.replace(cl,t=>t.slice(1).toUpperCase())),fl=/\B([A-Z])/g,Nt=qn(e=>e.replace(fl,"-$1").toLowerCase()),Jn=qn(e=>e.charAt(0).toUpperCase()+e.slice(1)),us=qn(e=>e?`on${Jn(e)}`:""),yt=(e,t)=>!Object.is(e,t),wn=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Ci=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},zn=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ul=e=>{const t=fe(e)?Number(e):NaN;return isNaN(t)?e:t};let mr;const Qn=()=>mr||(mr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Js(e){if(B(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=fe(s)?pl(s):Js(s);if(r)for(const i in r)t[i]=r[i]}return t}else if(fe(e)||re(e))return e}const al=/;(?![^(]*\))/g,hl=/:([^]+)/,dl=/\/\*[^]*?\*\//g;function pl(e){const t={};return e.replace(dl,"").split(al).forEach(n=>{if(n){const s=n.split(hl);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function zs(e){let t="";if(fe(e))t=e;else if(B(e))for(let n=0;n<e.length;n++){const s=zs(e[n]);s&&(t+=s+" ")}else if(re(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const gl="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",ml=Ws(gl);function xi(e){return!!e||e===""}function _l(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Yn(e[s],t[s]);return n}function Yn(e,t){if(e===t)return!0;let n=gr(e),s=gr(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=Qe(e),s=Qe(t),n||s)return e===t;if(n=B(e),s=B(t),n||s)return n&&s?_l(e,t):!1;if(n=re(e),s=re(t),n||s){if(!n||!s)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const o in e){const l=e.hasOwnProperty(o),c=t.hasOwnProperty(o);if(l&&!c||!l&&c||!Yn(e[o],t[o]))return!1}}return String(e)===String(t)}function yl(e,t){return e.findIndex(n=>Yn(n,t))}const Ri=e=>!!(e&&e.__v_isRef===!0),vl=e=>fe(e)?e:e==null?"":B(e)||re(e)&&(e.toString===Si||!W(e.toString))?Ri(e)?vl(e.value):JSON.stringify(e,wi,2):String(e),wi=(e,t)=>Ri(t)?wi(e,t.value):jt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[as(s,i)+" =>"]=r,n),{})}:Wn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>as(n))}:Qe(t)?as(t):re(t)&&!B(t)&&!Ai(t)?String(t):t,as=(e,t="")=>{var n;return Qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let ge;class Ti{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ge,!t&&ge&&(this.index=(ge.scopes||(ge.scopes=[])).push(this)-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(){this._on>0&&--this._on===0&&(ge=this.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 Oi(e){return new Ti(e)}function Pi(){return ge}function bl(e,t=!1){ge&&ge.cleanups.push(e)}let ce;const hs=new WeakSet;class Ii{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)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,hs.has(this)&&(hs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Mi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,_r(this),Di(this);const t=ce,n=He;ce=this,He=!0;try{return this.fn()}finally{Li(this),ce=t,He=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Xs(t);this.deps=this.depsTail=void 0,_r(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?hs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ws(this)&&this.run()}get dirty(){return ws(this)}}let Ni=0,Zt,en;function Mi(e,t=!1){if(e.flags|=8,t){e.next=en,en=e;return}e.next=Zt,Zt=e}function Qs(){Ni++}function Ys(){if(--Ni>0)return;if(en){let t=en;for(en=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Zt;){let t=Zt;for(Zt=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 Di(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Li(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Xs(s),El(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function ws(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Fi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Fi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===un)||(e.globalVersion=un,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ws(e))))return;e.flags|=2;const t=e.dep,n=ce,s=He;ce=e,He=!0;try{Di(e);const r=e.fn(e._value);(t.version===0||yt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=n,He=s,Li(e),e.flags&=-3}}function Xs(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 i=n.computed.deps;i;i=i.nextDep)Xs(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function El(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let He=!0;const Vi=[];function ot(){Vi.push(He),He=!1}function lt(){const e=Vi.pop();He=e===void 0?!0:e}function _r(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ce;ce=void 0;try{t()}finally{ce=n}}}let un=0;class Sl{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 Zs{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(!ce||!He||ce===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ce)n=this.activeLink=new Sl(ce,this),ce.deps?(n.prevDep=ce.depsTail,ce.depsTail.nextDep=n,ce.depsTail=n):ce.deps=ce.depsTail=n,Hi(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=ce.depsTail,n.nextDep=void 0,ce.depsTail.nextDep=n,ce.depsTail=n,ce.deps===n&&(ce.deps=s)}return n}trigger(t){this.version++,un++,this.notify(t)}notify(t){Qs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Ys()}}}function Hi(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)Hi(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Nn=new WeakMap,Ot=Symbol(""),Ts=Symbol(""),an=Symbol("");function me(e,t,n){if(He&&ce){let s=Nn.get(e);s||Nn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Zs),r.map=s,r.key=n),r.track()}}function st(e,t,n,s,r,i){const o=Nn.get(e);if(!o){un++;return}const l=c=>{c&&c.trigger()};if(Qs(),t==="clear")o.forEach(l);else{const c=B(e),a=c&&$n(n);if(c&&n==="length"){const f=Number(s);o.forEach((h,p)=>{(p==="length"||p===an||!Qe(p)&&p>=f)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),a&&l(o.get(an)),t){case"add":c?a&&l(o.get("length")):(l(o.get(Ot)),jt(e)&&l(o.get(Ts)));break;case"delete":c||(l(o.get(Ot)),jt(e)&&l(o.get(Ts)));break;case"set":jt(e)&&l(o.get(Ot));break}}Ys()}function Al(e,t){const n=Nn.get(e);return n&&n.get(t)}function Lt(e){const t=Z(e);return t===e?t:(me(t,"iterate",an),Ie(e)?t:t.map(Be))}function Xn(e){return me(e=Z(e),"iterate",an),e}function pt(e,t){return ct(e)?Gt(it(e)?Be(t):t):Be(t)}const Cl={__proto__:null,[Symbol.iterator](){return ds(this,Symbol.iterator,e=>pt(this,e))},concat(...e){return Lt(this).concat(...e.map(t=>B(t)?Lt(t):t))},entries(){return ds(this,"entries",e=>(e[1]=pt(this,e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,n=>n.map(s=>pt(this,s)),arguments)},find(e,t){return Xe(this,"find",e,t,n=>pt(this,n),arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,n=>pt(this,n),arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return ps(this,"includes",e)},indexOf(...e){return ps(this,"indexOf",e)},join(e){return Lt(this).join(e)},lastIndexOf(...e){return ps(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return qt(this,"pop")},push(...e){return qt(this,"push",e)},reduce(e,...t){return yr(this,"reduce",e,t)},reduceRight(e,...t){return yr(this,"reduceRight",e,t)},shift(){return qt(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return qt(this,"splice",e)},toReversed(){return Lt(this).toReversed()},toSorted(e){return Lt(this).toSorted(e)},toSpliced(...e){return Lt(this).toSpliced(...e)},unshift(...e){return qt(this,"unshift",e)},values(){return ds(this,"values",e=>pt(this,e))}};function ds(e,t,n){const s=Xn(e),r=s[t]();return s!==e&&!Ie(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const xl=Array.prototype;function Xe(e,t,n,s,r,i){const o=Xn(e),l=o!==e&&!Ie(e),c=o[t];if(c!==xl[t]){const h=c.apply(e,i);return l?Be(h):h}let a=n;o!==e&&(l?a=function(h,p){return n.call(this,pt(e,h),p,e)}:n.length>2&&(a=function(h,p){return n.call(this,h,p,e)}));const f=c.call(o,a,s);return l&&r?r(f):f}function yr(e,t,n,s){const r=Xn(e);let i=n;return r!==e&&(Ie(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,pt(e,l),c,e)}),r[t](i,...s)}function ps(e,t,n){const s=Z(e);me(s,"iterate",an);const r=s[t](...n);return(r===-1||r===!1)&&Zn(n[0])?(n[0]=Z(n[0]),s[t](...n)):r}function qt(e,t,n=[]){ot(),Qs();const s=Z(e)[t].apply(e,n);return Ys(),lt(),s}const Rl=Ws("__proto__,__v_isRef,__isVue"),Bi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Qe));function wl(e){Qe(e)||(e=String(e));const t=Z(this);return me(t,"has",e),t.hasOwnProperty(e)}class ji{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,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Vl:Ki:i?Gi:ki).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=B(t);if(!r){let c;if(o&&(c=Cl[n]))return c;if(n==="hasOwnProperty")return wl}const l=Reflect.get(t,n,ae(t)?t:s);if((Qe(n)?Bi.has(n):Rl(n))||(r||me(t,"get",n),i))return l;if(ae(l)){const c=o&&$n(n)?l:l.value;return r&&re(c)?Ps(c):c}return re(l)?r?Ps(l):vn(l):l}}class Ui extends ji{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=B(t)&&$n(n);if(!this._isShallow){const a=ct(i);if(!Ie(s)&&!ct(s)&&(i=Z(i),s=Z(s)),!o&&ae(i)&&!ae(s))return a||(i.value=s),!0}const l=o?Number(n)<t.length:ne(t,n),c=Reflect.set(t,n,s,ae(t)?t:r);return t===Z(r)&&(l?yt(s,i)&&st(t,"set",n,s):st(t,"add",n,s)),c}deleteProperty(t,n){const s=ne(t,n);t[n];const r=Reflect.deleteProperty(t,n);return r&&s&&st(t,"delete",n,void 0),r}has(t,n){const s=Reflect.has(t,n);return(!Qe(n)||!Bi.has(n))&&me(t,"has",n),s}ownKeys(t){return me(t,"iterate",B(t)?"length":Ot),Reflect.ownKeys(t)}}class Tl extends ji{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Ol=new Ui,Pl=new Tl,Il=new Ui(!0);const Os=e=>e,Sn=e=>Reflect.getPrototypeOf(e);function Nl(e,t,n){return function(...s){const r=this.__v_raw,i=Z(r),o=jt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,a=r[e](...s),f=n?Os:t?Gt:Be;return!t&&me(i,"iterate",c?Ts:Ot),pe(Object.create(a),{next(){const{value:h,done:p}=a.next();return p?{value:h,done:p}:{value:l?[f(h[0]),f(h[1])]:f(h),done:p}}})}}function An(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ml(e,t){const n={get(r){const i=this.__v_raw,o=Z(i),l=Z(r);e||(yt(r,l)&&me(o,"get",r),me(o,"get",l));const{has:c}=Sn(o),a=t?Os:e?Gt:Be;if(c.call(o,r))return a(i.get(r));if(c.call(o,l))return a(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&me(Z(r),"iterate",Ot),r.size},has(r){const i=this.__v_raw,o=Z(i),l=Z(r);return e||(yt(r,l)&&me(o,"has",r),me(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=Z(l),a=t?Os:e?Gt:Be;return!e&&me(c,"iterate",Ot),l.forEach((f,h)=>r.call(i,a(f),a(h),o))}};return pe(n,e?{add:An("add"),set:An("set"),delete:An("delete"),clear:An("clear")}:{add(r){!t&&!Ie(r)&&!ct(r)&&(r=Z(r));const i=Z(this);return Sn(i).has.call(i,r)||(i.add(r),st(i,"add",r,r)),this},set(r,i){!t&&!Ie(i)&&!ct(i)&&(i=Z(i));const o=Z(this),{has:l,get:c}=Sn(o);let a=l.call(o,r);a||(r=Z(r),a=l.call(o,r));const f=c.call(o,r);return o.set(r,i),a?yt(i,f)&&st(o,"set",r,i):st(o,"add",r,i),this},delete(r){const i=Z(this),{has:o,get:l}=Sn(i);let c=o.call(i,r);c||(r=Z(r),c=o.call(i,r)),l&&l.call(i,r);const a=i.delete(r);return c&&st(i,"delete",r,void 0),a},clear(){const r=Z(this),i=r.size!==0,o=r.clear();return i&&st(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Nl(r,e,t)}),n}function er(e,t){const n=Ml(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(ne(n,r)&&r in s?n:s,r,i)}const Dl={get:er(!1,!1)},Ll={get:er(!1,!0)},Fl={get:er(!0,!1)};const ki=new WeakMap,Gi=new WeakMap,Ki=new WeakMap,Vl=new WeakMap;function Hl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Bl(e){return e.__v_skip||!Object.isExtensible(e)?0:Hl(ll(e))}function vn(e){return ct(e)?e:tr(e,!1,Ol,Dl,ki)}function Wi(e){return tr(e,!1,Il,Ll,Gi)}function Ps(e){return tr(e,!0,Pl,Fl,Ki)}function tr(e,t,n,s,r){if(!re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Bl(e);if(i===0)return e;const o=r.get(e);if(o)return o;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function it(e){return ct(e)?it(e.__v_raw):!!(e&&e.__v_isReactive)}function ct(e){return!!(e&&e.__v_isReadonly)}function Ie(e){return!!(e&&e.__v_isShallow)}function Zn(e){return e?!!e.__v_raw:!1}function Z(e){const t=e&&e.__v_raw;return t?Z(t):e}function nr(e){return!ne(e,"__v_skip")&&Object.isExtensible(e)&&Ci(e,"__v_skip",!0),e}const Be=e=>re(e)?vn(e):e,Gt=e=>re(e)?Ps(e):e;function ae(e){return e?e.__v_isRef===!0:!1}function $i(e){return qi(e,!1)}function jl(e){return qi(e,!0)}function qi(e,t){return ae(e)?e:new Ul(e,t)}class Ul{constructor(t,n){this.dep=new Zs,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Z(t),this._value=n?t:Be(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ie(t)||ct(t);t=s?t:Z(t),yt(t,n)&&(this._rawValue=t,this._value=s?t:Be(t),this.dep.trigger())}}function Pt(e){return ae(e)?e.value:e}const kl={get:(e,t,n)=>t==="__v_raw"?e:Pt(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ae(r)&&!ae(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Ji(e){return it(e)?e:new Proxy(e,kl)}function Gl(e){const t=B(e)?new Array(e.length):{};for(const n in e)t[n]=Wl(e,n);return t}class Kl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0,this._raw=Z(t);let r=!0,i=t;if(!B(t)||!$n(String(n)))do r=!Zn(i)||Ie(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Pt(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ae(this._raw[this._key])){const n=this._object[this._key];if(ae(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Al(this._raw,this._key)}}function Wl(e,t,n){return new Kl(e,t,n)}class $l{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Zs(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=un-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ce!==this)return Mi(this,!0),!0}get value(){const t=this.dep.track();return Fi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ql(e,t,n=!1){let s,r;return W(e)?s=e:(s=e.get,r=e.set),new $l(s,r,n)}const Cn={},Mn=new WeakMap;let xt;function Jl(e,t=!1,n=xt){if(n){let s=Mn.get(n);s||Mn.set(n,s=[]),s.push(e)}}function zl(e,t,n=oe){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,a=M=>r?M:Ie(M)||r===!1||r===0?rt(M,1):rt(M);let f,h,p,m,S=!1,A=!1;if(ae(e)?(h=()=>e.value,S=Ie(e)):it(e)?(h=()=>a(e),S=!0):B(e)?(A=!0,S=e.some(M=>it(M)||Ie(M)),h=()=>e.map(M=>{if(ae(M))return M.value;if(it(M))return a(M);if(W(M))return c?c(M,2):M()})):W(e)?t?h=c?()=>c(e,2):e:h=()=>{if(p){ot();try{p()}finally{lt()}}const M=xt;xt=f;try{return c?c(e,3,[m]):e(m)}finally{xt=M}}:h=ze,t&&r){const M=h,j=r===!0?1/0:r;h=()=>rt(M(),j)}const L=Pi(),N=()=>{f.stop(),L&&L.active&&qs(L.effects,f)};if(i&&t){const M=t;t=(...j)=>{M(...j),N()}}let P=A?new Array(e.length).fill(Cn):Cn;const F=M=>{if(!(!(f.flags&1)||!f.dirty&&!M))if(t){const j=f.run();if(r||S||(A?j.some((J,q)=>yt(J,P[q])):yt(j,P))){p&&p();const J=xt;xt=f;try{const q=[j,P===Cn?void 0:A&&P[0]===Cn?[]:P,m];P=j,c?c(t,3,q):t(...q)}finally{xt=J}}}else f.run()};return l&&l(F),f=new Ii(h),f.scheduler=o?()=>o(F,!1):F,m=M=>Jl(M,!1,f),p=f.onStop=()=>{const M=Mn.get(f);if(M){if(c)c(M,4);else for(const j of M)j();Mn.delete(f)}},t?s?F(!0):P=f.run():o?o(F.bind(null,!0),!0):f.run(),N.pause=f.pause.bind(f),N.resume=f.resume.bind(f),N.stop=N,N}function rt(e,t=1/0,n){if(t<=0||!re(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ae(e))rt(e.value,t,n);else if(B(e))for(let s=0;s<e.length;s++)rt(e[s],t,n);else if(Wn(e)||jt(e))e.forEach(s=>{rt(s,t,n)});else if(Ai(e)){for(const s in e)rt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&rt(e[s],t,n)}return e}function bn(e,t,n,s){try{return s?e(...s):e()}catch(r){es(r,t,n)}}function je(e,t,n,s){if(W(e)){const r=bn(e,t,n,s);return r&&Ei(r)&&r.catch(i=>{es(i,t,n)}),r}if(B(e)){const r=[];for(let i=0;i<e.length;i++)r.push(je(e[i],t,n,s));return r}}function es(e,t,n,s=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||oe;if(t){let l=t.parent;const c=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${n}`;for(;l;){const f=l.ec;if(f){for(let h=0;h<f.length;h++)if(f[h](e,c,a)===!1)return}l=l.parent}if(i){ot(),bn(i,null,10,[e,c,a]),lt();return}}Ql(e,n,r,s,o)}function Ql(e,t,n,s=!0,r=!1){if(r)throw e;console.error(e)}const Se=[];let qe=-1;const Ut=[];let gt=null,Vt=0;const zi=Promise.resolve();let Dn=null;function ts(e){const t=Dn||zi;return e?t.then(this?e.bind(this):e):t}function Yl(e){let t=qe+1,n=Se.length;for(;t<n;){const s=t+n>>>1,r=Se[s],i=hn(r);i<e||i===e&&r.flags&2?t=s+1:n=s}return t}function sr(e){if(!(e.flags&1)){const t=hn(e),n=Se[Se.length-1];!n||!(e.flags&2)&&t>=hn(n)?Se.push(e):Se.splice(Yl(t),0,e),e.flags|=1,Qi()}}function Qi(){Dn||(Dn=zi.then(Xi))}function Xl(e){B(e)?Ut.push(...e):gt&&e.id===-1?gt.splice(Vt+1,0,e):e.flags&1||(Ut.push(e),e.flags|=1),Qi()}function vr(e,t,n=qe+1){for(;n<Se.length;n++){const s=Se[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Se.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function Yi(e){if(Ut.length){const t=[...new Set(Ut)].sort((n,s)=>hn(n)-hn(s));if(Ut.length=0,gt){gt.push(...t);return}for(gt=t,Vt=0;Vt<gt.length;Vt++){const n=gt[Vt];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}gt=null,Vt=0}}const hn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Xi(e){try{for(qe=0;qe<Se.length;qe++){const t=Se[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<Se.length;qe++){const t=Se[qe];t&&(t.flags&=-2)}qe=-1,Se.length=0,Yi(),Dn=null,(Se.length||Ut.length)&&Xi()}}let Te=null,Zi=null;function Ln(e){const t=Te;return Te=e,Zi=e&&e.type.__scopeId||null,t}function Zl(e,t=Te,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Hn(-1);const i=Ln(t);let o;try{o=e(...r)}finally{Ln(i),s._d&&Hn(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Ju(e,t){if(Te===null)return e;const n=os(Te),s=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,o,l,c=oe]=t[r];i&&(W(i)&&(i={mounted:i,updated:i}),i.deep&&rt(o),s.push({dir:i,instance:n,value:o,oldValue:void 0,arg:l,modifiers:c}))}return e}function Et(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o<r.length;o++){const l=r[o];i&&(l.oldValue=i[o].value);let c=l.dir[s];c&&(ot(),je(c,n,8,[e.el,l,e,t]),lt())}}function Tn(e,t){if(_e){let n=_e.provides;const s=_e.parent&&_e.parent.provides;s===n&&(n=_e.provides=Object.create(s)),n[e]=t}}function Le(e,t,n=!1){const s=cr();if(s||It){let r=It?It._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&&W(t)?t.call(s&&s.proxy):t}}function ec(){return!!(cr()||It)}const tc=Symbol.for("v-scx"),nc=()=>Le(tc);function tn(e,t,n){return eo(e,t,n)}function eo(e,t,n=oe){const{immediate:s,deep:r,flush:i,once:o}=n,l=pe({},n),c=t&&s||!t&&i!=="post";let a;if(gn){if(i==="sync"){const m=nc();a=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=ze,m.resume=ze,m.pause=ze,m}}const f=_e;l.call=(m,S,A)=>je(m,f,S,A);let h=!1;i==="post"?l.scheduler=m=>{be(m,f&&f.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,S)=>{S?m():sr(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,f&&(m.id=f.uid,m.i=f))};const p=zl(e,t,l);return gn&&(a?a.push(p):c&&p()),p}function sc(e,t,n){const s=this.proxy,r=fe(e)?e.includes(".")?to(s,e):()=>s[e]:e.bind(s,s);let i;W(t)?i=t:(i=t.handler,n=t);const o=En(this),l=eo(r,i.bind(s),n);return o(),l}function to(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 no=Symbol("_vte"),so=e=>e.__isTeleport,nn=e=>e&&(e.disabled||e.disabled===""),br=e=>e&&(e.defer||e.defer===""),Er=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Sr=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Is=(e,t)=>{const n=e&&e.to;return fe(n)?t?t(n):null:n},ro={name:"Teleport",__isTeleport:!0,process(e,t,n,s,r,i,o,l,c,a){const{mc:f,pc:h,pbc:p,o:{insert:m,querySelector:S,createText:A,createComment:L}}=a,N=nn(t.props);let{shapeFlag:P,children:F,dynamicChildren:M}=t;if(e==null){const j=t.el=A(""),J=t.anchor=A("");m(j,n,s),m(J,n,s);const q=(C,k)=>{P&16&&f(F,C,k,r,i,o,l,c)},U=()=>{const C=t.target=Is(t.props,S),k=io(C,t,A,m);C&&(o!=="svg"&&Er(C)?o="svg":o!=="mathml"&&Sr(C)&&(o="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(C),N||(q(C,k),On(t,!1)))};N&&(q(n,J),On(t,!0)),br(t.props)?(t.el.__isMounted=!1,be(()=>{U(),delete t.el.__isMounted},i)):U()}else{if(br(t.props)&&e.el.__isMounted===!1){be(()=>{ro.process(e,t,n,s,r,i,o,l,c,a)},i);return}t.el=e.el,t.targetStart=e.targetStart;const j=t.anchor=e.anchor,J=t.target=e.target,q=t.targetAnchor=e.targetAnchor,U=nn(e.props),C=U?n:J,k=U?j:q;if(o==="svg"||Er(J)?o="svg":(o==="mathml"||Sr(J))&&(o="mathml"),M?(p(e.dynamicChildren,M,C,r,i,o,l),or(e,t,!0)):c||h(e,t,C,k,r,i,o,l,!1),N)U?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):xn(t,n,j,a,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=t.target=Is(t.props,S);z&&xn(t,z,null,a,0)}else U&&xn(t,J,q,a,1);On(t,N)}},remove(e,t,n,{um:s,o:{remove:r}},i){const{shapeFlag:o,children:l,anchor:c,targetStart:a,targetAnchor:f,target:h,props:p}=e;if(h&&(r(a),r(f)),i&&r(c),o&16){const m=i||!nn(p);for(let S=0;S<l.length;S++){const A=l[S];s(A,t,n,m,!!A.dynamicChildren)}}},move:xn,hydrate:rc};function xn(e,t,n,{o:{insert:s},m:r},i=2){i===0&&s(e.targetAnchor,t,n);const{el:o,anchor:l,shapeFlag:c,children:a,props:f}=e,h=i===2;if(h&&s(o,t,n),(!h||nn(f))&&c&16)for(let p=0;p<a.length;p++)r(a[p],t,n,2);h&&s(l,t,n)}function rc(e,t,n,s,r,i,{o:{nextSibling:o,parentNode:l,querySelector:c,insert:a,createText:f}},h){function p(A,L,N,P){L.anchor=h(o(A),L,l(A),n,s,r,i),L.targetStart=N,L.targetAnchor=P}const m=t.target=Is(t.props,c),S=nn(t.props);if(m){const A=m._lpa||m.firstChild;if(t.shapeFlag&16)if(S)p(e,t,A,A&&o(A));else{t.anchor=o(e);let L=A;for(;L;){if(L&&L.nodeType===8){if(L.data==="teleport start anchor")t.targetStart=L;else if(L.data==="teleport anchor"){t.targetAnchor=L,m._lpa=t.targetAnchor&&o(t.targetAnchor);break}}L=o(L)}t.targetAnchor||io(m,t,f,a),h(A&&o(A),t,m,n,s,r,i)}On(t,S)}else S&&t.shapeFlag&16&&p(e,t,e,o(e));return t.anchor&&o(t.anchor)}const zu=ro;function On(e,t){const n=e.ctx;if(n&&n.ut){let s,r;for(t?(s=e.el,r=e.anchor):(s=e.targetStart,r=e.targetAnchor);s&&s!==r;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function io(e,t,n,s){const r=t.targetStart=n(""),i=t.targetAnchor=n("");return r[no]=i,e&&(s(r,e),s(i,e)),i}const nt=Symbol("_leaveCb"),Rn=Symbol("_enterCb");function ic(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return go(()=>{e.isMounted=!0}),mo(()=>{e.isUnmounting=!0}),e}const Me=[Function,Array],oo={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Me,onEnter:Me,onAfterEnter:Me,onEnterCancelled:Me,onBeforeLeave:Me,onLeave:Me,onAfterLeave:Me,onLeaveCancelled:Me,onBeforeAppear:Me,onAppear:Me,onAfterAppear:Me,onAppearCancelled:Me},lo=e=>{const t=e.subTree;return t.component?lo(t.component):t},oc={name:"BaseTransition",props:oo,setup(e,{slots:t}){const n=cr(),s=ic();return()=>{const r=t.default&&uo(t.default(),!0);if(!r||!r.length)return;const i=co(r),o=Z(e),{mode:l}=o;if(s.isLeaving)return gs(i);const c=Ar(i);if(!c)return gs(i);let a=Ns(c,o,s,n,h=>a=h);c.type!==Ae&&dn(c,a);let f=n.subTree&&Ar(n.subTree);if(f&&f.type!==Ae&&!Rt(f,c)&&lo(n).type!==Ae){let h=Ns(f,o,s,n);if(dn(f,h),l==="out-in"&&c.type!==Ae)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,f=void 0},gs(i);l==="in-out"&&c.type!==Ae?h.delayLeave=(p,m,S)=>{const A=fo(s,f);A[String(f.key)]=f,p[nt]=()=>{m(),p[nt]=void 0,delete a.delayedLeave,f=void 0},a.delayedLeave=()=>{S(),delete a.delayedLeave,f=void 0}}:f=void 0}else f&&(f=void 0);return i}}};function co(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ae){t=n;break}}return t}const lc=oc;function fo(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ns(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:a,onAfterEnter:f,onEnterCancelled:h,onBeforeLeave:p,onLeave:m,onAfterLeave:S,onLeaveCancelled:A,onBeforeAppear:L,onAppear:N,onAfterAppear:P,onAppearCancelled:F}=t,M=String(e.key),j=fo(n,e),J=(C,k)=>{C&&je(C,s,9,k)},q=(C,k)=>{const z=k[1];J(C,k),B(C)?C.every(O=>O.length<=1)&&z():C.length<=1&&z()},U={mode:o,persisted:l,beforeEnter(C){let k=c;if(!n.isMounted)if(i)k=L||c;else return;C[nt]&&C[nt](!0);const z=j[M];z&&Rt(e,z)&&z.el[nt]&&z.el[nt](),J(k,[C])},enter(C){let k=a,z=f,O=h;if(!n.isMounted)if(i)k=N||a,z=P||f,O=F||h;else return;let Q=!1;const he=C[Rn]=ye=>{Q||(Q=!0,ye?J(O,[C]):J(z,[C]),U.delayedLeave&&U.delayedLeave(),C[Rn]=void 0)};k?q(k,[C,he]):he()},leave(C,k){const z=String(e.key);if(C[Rn]&&C[Rn](!0),n.isUnmounting)return k();J(p,[C]);let O=!1;const Q=C[nt]=he=>{O||(O=!0,k(),he?J(A,[C]):J(S,[C]),C[nt]=void 0,j[z]===e&&delete j[z])};j[z]=e,m?q(m,[C,Q]):Q()},clone(C){const k=Ns(C,t,n,s,r);return r&&r(k),k}};return U}function gs(e){if(ns(e))return e=vt(e),e.children=null,e}function Ar(e){if(!ns(e))return so(e.type)&&e.children?co(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&W(n.default))return n.default()}}function dn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,dn(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 uo(e,t=!1,n){let s=[],r=0;for(let i=0;i<e.length;i++){let o=e[i];const l=n==null?o.key:String(n)+String(o.key!=null?o.key:i);o.type===Ve?(o.patchFlag&128&&r++,s=s.concat(uo(o.children,t,l))):(t||o.type!==Ae)&&s.push(l!=null?vt(o,{key:l}):o)}if(r>1)for(let i=0;i<s.length;i++)s[i].patchFlag=-2;return s}function ao(e,t){return W(e)?pe({name:e.name},t,{setup:e}):e}function ho(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Fn=new WeakMap;function sn(e,t,n,s,r=!1){if(B(e)){e.forEach((S,A)=>sn(S,t&&(B(t)?t[A]:t),n,s,r));return}if(rn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&sn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?os(s.component):s.el,o=r?null:i,{i:l,r:c}=e,a=t&&t.r,f=l.refs===oe?l.refs={}:l.refs,h=l.setupState,p=Z(h),m=h===oe?bi:S=>ne(p,S);if(a!=null&&a!==c){if(Cr(t),fe(a))f[a]=null,m(a)&&(h[a]=null);else if(ae(a)){a.value=null;const S=t;S.k&&(f[S.k]=null)}}if(W(c))bn(c,l,12,[o,f]);else{const S=fe(c),A=ae(c);if(S||A){const L=()=>{if(e.f){const N=S?m(c)?h[c]:f[c]:c.value;if(r)B(N)&&qs(N,i);else if(B(N))N.includes(i)||N.push(i);else if(S)f[c]=[i],m(c)&&(h[c]=f[c]);else{const P=[i];c.value=P,e.k&&(f[e.k]=P)}}else S?(f[c]=o,m(c)&&(h[c]=o)):A&&(c.value=o,e.k&&(f[e.k]=o))};if(o){const N=()=>{L(),Fn.delete(e)};N.id=-1,Fn.set(e,N),be(N,n)}else Cr(e),L()}}}function Cr(e){const t=Fn.get(e);t&&(t.flags|=8,Fn.delete(e))}Qn().requestIdleCallback;Qn().cancelIdleCallback;const rn=e=>!!e.type.__asyncLoader,ns=e=>e.type.__isKeepAlive;function cc(e,t){po(e,"a",t)}function fc(e,t){po(e,"da",t)}function po(e,t,n=_e){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ss(t,s,n),n){let r=n.parent;for(;r&&r.parent;)ns(r.parent.vnode)&&uc(s,t,n,r),r=r.parent}}function uc(e,t,n,s){const r=ss(t,e,s,!0);_o(()=>{qs(s[t],r)},n)}function ss(e,t,n=_e,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ot();const l=En(n),c=je(t,n,e,o);return l(),lt(),c});return s?r.unshift(i):r.push(i),i}}const ft=e=>(t,n=_e)=>{(!gn||e==="sp")&&ss(e,(...s)=>t(...s),n)},ac=ft("bm"),go=ft("m"),hc=ft("bu"),dc=ft("u"),mo=ft("bum"),_o=ft("um"),pc=ft("sp"),gc=ft("rtg"),mc=ft("rtc");function _c(e,t=_e){ss("ec",e,t)}const yo="components";function Qu(e,t){return bo(yo,e,!0,t)||e}const vo=Symbol.for("v-ndc");function Yu(e){return fe(e)?bo(yo,e,!1)||e:e||vo}function bo(e,t,n=!0,s=!1){const r=Te||_e;if(r){const i=r.type;{const l=rf(i,!1);if(l&&(l===t||l===Fe(t)||l===Jn(Fe(t))))return i}const o=xr(r[e]||i[e],t)||xr(r.appContext[e],t);return!o&&s?i:o}}function xr(e,t){return e&&(e[t]||e[Fe(t)]||e[Jn(Fe(t))])}function Xu(e,t,n,s){let r;const i=n,o=B(e);if(o||fe(e)){const l=o&&it(e);let c=!1,a=!1;l&&(c=!Ie(e),a=ct(e),e=Xn(e)),r=new Array(e.length);for(let f=0,h=e.length;f<h;f++)r[f]=t(c?a?Gt(Be(e[f])):Be(e[f]):e[f],f,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let l=0;l<e;l++)r[l]=t(l+1,l,void 0,i)}else if(re(e))if(e[Symbol.iterator])r=Array.from(e,(l,c)=>t(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,a=l.length;c<a;c++){const f=l[c];r[c]=t(e[f],f,c,i)}}else r=[];return r}const Ms=e=>e?Bo(e)?os(e):Ms(e.parent):null,on=pe(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=>Ms(e.parent),$root:e=>Ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>So(e),$forceUpdate:e=>e.f||(e.f=()=>{sr(e.update)}),$nextTick:e=>e.n||(e.n=ts.bind(e.proxy)),$watch:e=>sc.bind(e)}),ms=(e,t)=>e!==oe&&!e.__isScriptSetup&&ne(e,t),yc={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const p=o[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 i[t]}else{if(ms(s,t))return o[t]=1,s[t];if(r!==oe&&ne(r,t))return o[t]=2,r[t];if(ne(i,t))return o[t]=3,i[t];if(n!==oe&&ne(n,t))return o[t]=4,n[t];Ds&&(o[t]=0)}}const a=on[t];let f,h;if(a)return t==="$attrs"&&me(e.attrs,"get",""),a(e);if((f=l.__cssModules)&&(f=f[t]))return f;if(n!==oe&&ne(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,ne(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return ms(r,t)?(r[t]=n,!0):s!==oe&&ne(s,t)?(s[t]=n,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==oe&&l[0]!=="$"&&ne(e,l)||ms(t,l)||ne(i,l)||ne(s,l)||ne(on,l)||ne(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ne(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Rr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Ds=!0;function vc(e){const t=So(e),n=e.proxy,s=e.ctx;Ds=!1,t.beforeCreate&&wr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:a,created:f,beforeMount:h,mounted:p,beforeUpdate:m,updated:S,activated:A,deactivated:L,beforeDestroy:N,beforeUnmount:P,destroyed:F,unmounted:M,render:j,renderTracked:J,renderTriggered:q,errorCaptured:U,serverPrefetch:C,expose:k,inheritAttrs:z,components:O,directives:Q,filters:he}=t;if(a&&bc(a,s,null),o)for(const $ in o){const ee=o[$];W(ee)&&(s[$]=ee.bind(n))}if(r){const $=r.call(n,n);re($)&&(e.data=vn($))}if(Ds=!0,i)for(const $ in i){const ee=i[$],Ye=W(ee)?ee.bind(n,n):W(ee.get)?ee.get.bind(n,n):ze,ut=!W(ee)&&W(ee.set)?ee.set.bind(n):ze,ke=De({get:Ye,set:ut});Object.defineProperty(s,$,{enumerable:!0,configurable:!0,get:()=>ke.value,set:Ce=>ke.value=Ce})}if(l)for(const $ in l)Eo(l[$],s,n,$);if(c){const $=W(c)?c.call(n):c;Reflect.ownKeys($).forEach(ee=>{Tn(ee,$[ee])})}f&&wr(f,e,"c");function ie($,ee){B(ee)?ee.forEach(Ye=>$(Ye.bind(n))):ee&&$(ee.bind(n))}if(ie(ac,h),ie(go,p),ie(hc,m),ie(dc,S),ie(cc,A),ie(fc,L),ie(_c,U),ie(mc,J),ie(gc,q),ie(mo,P),ie(_o,M),ie(pc,C),B(k))if(k.length){const $=e.exposed||(e.exposed={});k.forEach(ee=>{Object.defineProperty($,ee,{get:()=>n[ee],set:Ye=>n[ee]=Ye,enumerable:!0})})}else e.exposed||(e.exposed={});j&&e.render===ze&&(e.render=j),z!=null&&(e.inheritAttrs=z),O&&(e.components=O),Q&&(e.directives=Q),C&&ho(e)}function bc(e,t,n=ze){B(e)&&(e=Ls(e));for(const s in e){const r=e[s];let i;re(r)?"default"in r?i=Le(r.from||s,r.default,!0):i=Le(r.from||s):i=Le(r),ae(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function wr(e,t,n){je(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Eo(e,t,n,s){let r=s.includes(".")?to(n,s):()=>n[s];if(fe(e)){const i=t[e];W(i)&&tn(r,i)}else if(W(e))tn(r,e.bind(n));else if(re(e))if(B(e))e.forEach(i=>Eo(i,t,n,s));else{const i=W(e.handler)?e.handler.bind(n):t[e.handler];W(i)&&tn(r,i,e)}}function So(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(a=>Vn(c,a,o,!0)),Vn(c,t,o)),re(t)&&i.set(t,c),c}function Vn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Vn(e,i,n,!0),r&&r.forEach(o=>Vn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Ec[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Ec={data:Tr,props:Or,emits:Or,methods:Yt,computed:Yt,beforeCreate:ve,created:ve,beforeMount:ve,mounted:ve,beforeUpdate:ve,updated:ve,beforeDestroy:ve,beforeUnmount:ve,destroyed:ve,unmounted:ve,activated:ve,deactivated:ve,errorCaptured:ve,serverPrefetch:ve,components:Yt,directives:Yt,watch:Ac,provide:Tr,inject:Sc};function Tr(e,t){return t?e?function(){return pe(W(e)?e.call(this,this):e,W(t)?t.call(this,this):t)}:t:e}function Sc(e,t){return Yt(Ls(e),Ls(t))}function Ls(e){if(B(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ve(e,t){return e?[...new Set([].concat(e,t))]:t}function Yt(e,t){return e?pe(Object.create(null),e,t):t}function Or(e,t){return e?B(e)&&B(t)?[...new Set([...e,...t])]:pe(Object.create(null),Rr(e),Rr(t??{})):t}function Ac(e,t){if(!e)return t;if(!t)return e;const n=pe(Object.create(null),e);for(const s in t)n[s]=ve(e[s],t[s]);return n}function Ao(){return{app:null,config:{isNativeTag:bi,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 Cc=0;function xc(e,t){return function(s,r=null){W(s)||(s=pe({},s)),r!=null&&!re(r)&&(r=null);const i=Ao(),o=new WeakSet,l=[];let c=!1;const a=i.app={_uid:Cc++,_component:s,_props:r,_container:null,_context:i,_instance:null,version:lf,get config(){return i.config},set config(f){},use(f,...h){return o.has(f)||(f&&W(f.install)?(o.add(f),f.install(a,...h)):W(f)&&(o.add(f),f(a,...h))),a},mixin(f){return i.mixins.includes(f)||i.mixins.push(f),a},component(f,h){return h?(i.components[f]=h,a):i.components[f]},directive(f,h){return h?(i.directives[f]=h,a):i.directives[f]},mount(f,h,p){if(!c){const m=a._ceVNode||Pe(s,r);return m.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),e(m,f,p),c=!0,a._container=f,f.__vue_app__=a,os(m.component)}},onUnmount(f){l.push(f)},unmount(){c&&(je(l,a._instance,16),e(null,a._container),delete a._container.__vue_app__)},provide(f,h){return i.provides[f]=h,a},runWithContext(f){const h=It;It=a;try{return f()}finally{It=h}}};return a}}let It=null;const Rc=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Fe(t)}Modifiers`]||e[`${Nt(t)}Modifiers`];function wc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||oe;let r=n;const i=t.startsWith("update:"),o=i&&Rc(s,t.slice(7));o&&(o.trim&&(r=n.map(f=>fe(f)?f.trim():f)),o.number&&(r=n.map(zn)));let l,c=s[l=us(t)]||s[l=us(Fe(t))];!c&&i&&(c=s[l=us(Nt(t))]),c&&je(c,e,6,r);const a=s[l+"Once"];if(a){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,je(a,e,6,r)}}const Tc=new WeakMap;function Co(e,t,n=!1){const s=n?Tc:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!W(e)){const c=a=>{const f=Co(a,t,!0);f&&(l=!0,pe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(re(e)&&s.set(e,null),null):(B(i)?i.forEach(c=>o[c]=null):pe(o,i),re(e)&&s.set(e,o),o)}function rs(e,t){return!e||!Kn(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,Nt(t))||ne(e,t))}function Pr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:a,renderCache:f,props:h,data:p,setupState:m,ctx:S,inheritAttrs:A}=e,L=Ln(e);let N,P;try{if(n.shapeFlag&4){const M=r||s,j=M;N=Je(a.call(j,M,f,h,m,p,S)),P=l}else{const M=t;N=Je(M.length>1?M(h,{attrs:l,slots:o,emit:c}):M(h,null)),P=t.props?l:Oc(l)}}catch(M){ln.length=0,es(M,e,1),N=Pe(Ae)}let F=N;if(P&&A!==!1){const M=Object.keys(P),{shapeFlag:j}=F;M.length&&j&7&&(i&&M.some($s)&&(P=Pc(P,i)),F=vt(F,P,!1,!0))}return n.dirs&&(F=vt(F,null,!1,!0),F.dirs=F.dirs?F.dirs.concat(n.dirs):n.dirs),n.transition&&dn(F,n.transition),N=F,Ln(L),N}const Oc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Kn(n))&&((t||(t={}))[n]=e[n]);return t},Pc=(e,t)=>{const n={};for(const s in e)(!$s(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ic(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,a=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ir(s,o,a):!!o;if(c&8){const f=t.dynamicProps;for(let h=0;h<f.length;h++){const p=f[h];if(o[p]!==s[p]&&!rs(a,p))return!0}}}else return(r||l)&&(!l||!l.$stable)?!0:s===o?!1:s?o?Ir(s,o,a):!0:!!o;return!1}function Ir(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 i=s[r];if(t[i]!==e[i]&&!rs(n,i))return!0}return!1}function Nc({vnode:e,parent:t},n){for(;t;){const s=t.subTree;if(s.suspense&&s.suspense.activeBranch===e&&(s.el=e.el),s===e)(e=t.vnode).el=n,t=t.parent;else break}}const xo={},Ro=()=>Object.create(xo),wo=e=>Object.getPrototypeOf(e)===xo;function Mc(e,t,n,s=!1){const r={},i=Ro();e.propsDefaults=Object.create(null),To(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Wi(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Dc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=Z(r),[c]=e.propsOptions;let a=!1;if((s||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let h=0;h<f.length;h++){let p=f[h];if(rs(e.emitsOptions,p))continue;const m=t[p];if(c)if(ne(i,p))m!==i[p]&&(i[p]=m,a=!0);else{const S=Fe(p);r[S]=Fs(c,l,S,m,e,!1)}else m!==i[p]&&(i[p]=m,a=!0)}}}else{To(e,t,r,i)&&(a=!0);let f;for(const h in l)(!t||!ne(t,h)&&((f=Nt(h))===h||!ne(t,f)))&&(c?n&&(n[h]!==void 0||n[f]!==void 0)&&(r[h]=Fs(c,l,h,void 0,e,!0)):delete r[h]);if(i!==l)for(const h in i)(!t||!ne(t,h))&&(delete i[h],a=!0)}a&&st(e.attrs,"set","")}function To(e,t,n,s){const[r,i]=e.propsOptions;let o=!1,l;if(t)for(let c in t){if(Xt(c))continue;const a=t[c];let f;r&&ne(r,f=Fe(c))?!i||!i.includes(f)?n[f]=a:(l||(l={}))[f]=a:rs(e.emitsOptions,c)||(!(c in s)||a!==s[c])&&(s[c]=a,o=!0)}if(i){const c=Z(n),a=l||oe;for(let f=0;f<i.length;f++){const h=i[f];n[h]=Fs(r,c,h,a[h],e,!ne(a,h))}}return o}function Fs(e,t,n,s,r,i){const o=e[n];if(o!=null){const l=ne(o,"default");if(l&&s===void 0){const c=o.default;if(o.type!==Function&&!o.skipFactory&&W(c)){const{propsDefaults:a}=r;if(n in a)s=a[n];else{const f=En(r);s=a[n]=c.call(null,t),f()}}else s=c;r.ce&&r.ce._setProp(n,s)}o[0]&&(i&&!l?s=!1:o[1]&&(s===""||s===Nt(n))&&(s=!0))}return s}const Lc=new WeakMap;function Oo(e,t,n=!1){const s=n?Lc:t.propsCache,r=s.get(e);if(r)return r;const i=e.props,o={},l=[];let c=!1;if(!W(e)){const f=h=>{c=!0;const[p,m]=Oo(h,t,!0);pe(o,p),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!i&&!c)return re(e)&&s.set(e,Bt),Bt;if(B(i))for(let f=0;f<i.length;f++){const h=Fe(i[f]);Nr(h)&&(o[h]=oe)}else if(i)for(const f in i){const h=Fe(f);if(Nr(h)){const p=i[f],m=o[h]=B(p)||W(p)?{type:p}:pe({},p),S=m.type;let A=!1,L=!0;if(B(S))for(let N=0;N<S.length;++N){const P=S[N],F=W(P)&&P.name;if(F==="Boolean"){A=!0;break}else F==="String"&&(L=!1)}else A=W(S)&&S.name==="Boolean";m[0]=A,m[1]=L,(A||ne(m,"default"))&&l.push(h)}}const a=[o,l];return re(e)&&s.set(e,a),a}function Nr(e){return e[0]!=="$"&&!Xt(e)}const rr=e=>e==="_"||e==="_ctx"||e==="$stable",ir=e=>B(e)?e.map(Je):[Je(e)],Fc=(e,t,n)=>{if(t._n)return t;const s=Zl((...r)=>ir(t(...r)),n);return s._c=!1,s},Po=(e,t,n)=>{const s=e._ctx;for(const r in e){if(rr(r))continue;const i=e[r];if(W(i))t[r]=Fc(r,i,s);else if(i!=null){const o=ir(i);t[r]=()=>o}}},Io=(e,t)=>{const n=ir(t);e.slots.default=()=>n},No=(e,t,n)=>{for(const s in t)(n||!rr(s))&&(e[s]=t[s])},Vc=(e,t,n)=>{const s=e.slots=Ro();if(e.vnode.shapeFlag&32){const r=t._;r?(No(s,t,n),n&&Ci(s,"_",r,!0)):Po(t,s)}else t&&Io(e,t)},Hc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=oe;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:No(r,t,n):(i=!t.$stable,Po(t,r)),o=t}else t&&(Io(e,t),o={default:1});if(i)for(const l in r)!rr(l)&&o[l]==null&&delete r[l]},be=Gc;function Bc(e){return jc(e)}function jc(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:a,setElementText:f,parentNode:h,nextSibling:p,setScopeId:m=ze,insertStaticContent:S}=e,A=(u,d,g,_=null,b=null,y=null,w=void 0,R=null,x=!!d.dynamicChildren)=>{if(u===d)return;u&&!Rt(u,d)&&(_=v(u),Ce(u,b,y,!0),u=null),d.patchFlag===-2&&(x=!1,d.dynamicChildren=null);const{type:E,ref:G,shapeFlag:I}=d;switch(E){case is:L(u,d,g,_);break;case Ae:N(u,d,g,_);break;case ys:u==null&&P(d,g,_,w);break;case Ve:O(u,d,g,_,b,y,w,R,x);break;default:I&1?j(u,d,g,_,b,y,w,R,x):I&6?Q(u,d,g,_,b,y,w,R,x):(I&64||I&128)&&E.process(u,d,g,_,b,y,w,R,x,V)}G!=null&&b?sn(G,u&&u.ref,y,d||u,!d):G==null&&u&&u.ref!=null&&sn(u.ref,null,y,u,!0)},L=(u,d,g,_)=>{if(u==null)s(d.el=l(d.children),g,_);else{const b=d.el=u.el;d.children!==u.children&&a(b,d.children)}},N=(u,d,g,_)=>{u==null?s(d.el=c(d.children||""),g,_):d.el=u.el},P=(u,d,g,_)=>{[u.el,u.anchor]=S(u.children,d,g,_,u.el,u.anchor)},F=({el:u,anchor:d},g,_)=>{let b;for(;u&&u!==d;)b=p(u),s(u,g,_),u=b;s(d,g,_)},M=({el:u,anchor:d})=>{let g;for(;u&&u!==d;)g=p(u),r(u),u=g;r(d)},j=(u,d,g,_,b,y,w,R,x)=>{if(d.type==="svg"?w="svg":d.type==="math"&&(w="mathml"),u==null)J(d,g,_,b,y,w,R,x);else{const E=u.el&&u.el._isVueCE?u.el:null;try{E&&E._beginPatch(),C(u,d,b,y,w,R,x)}finally{E&&E._endPatch()}}},J=(u,d,g,_,b,y,w,R)=>{let x,E;const{props:G,shapeFlag:I,transition:H,dirs:K}=u;if(x=u.el=o(u.type,y,G&&G.is,G),I&8?f(x,u.children):I&16&&U(u.children,x,null,_,b,_s(u,y),w,R),K&&Et(u,null,_,"created"),q(x,u,u.scopeId,w,_),G){for(const le in G)le!=="value"&&!Xt(le)&&i(x,le,null,G[le],y,_);"value"in G&&i(x,"value",null,G.value,y),(E=G.onVnodeBeforeMount)&&$e(E,_,u)}K&&Et(u,null,_,"beforeMount");const X=Uc(b,H);X&&H.beforeEnter(x),s(x,d,g),((E=G&&G.onVnodeMounted)||X||K)&&be(()=>{E&&$e(E,_,u),X&&H.enter(x),K&&Et(u,null,_,"mounted")},b)},q=(u,d,g,_,b)=>{if(g&&m(u,g),_)for(let y=0;y<_.length;y++)m(u,_[y]);if(b){let y=b.subTree;if(d===y||Lo(y.type)&&(y.ssContent===d||y.ssFallback===d)){const w=b.vnode;q(u,w,w.scopeId,w.slotScopeIds,b.parent)}}},U=(u,d,g,_,b,y,w,R,x=0)=>{for(let E=x;E<u.length;E++){const G=u[E]=R?mt(u[E]):Je(u[E]);A(null,G,d,g,_,b,y,w,R)}},C=(u,d,g,_,b,y,w)=>{const R=d.el=u.el;let{patchFlag:x,dynamicChildren:E,dirs:G}=d;x|=u.patchFlag&16;const I=u.props||oe,H=d.props||oe;let K;if(g&&St(g,!1),(K=H.onVnodeBeforeUpdate)&&$e(K,g,d,u),G&&Et(d,u,g,"beforeUpdate"),g&&St(g,!0),(I.innerHTML&&H.innerHTML==null||I.textContent&&H.textContent==null)&&f(R,""),E?k(u.dynamicChildren,E,R,g,_,_s(d,b),y):w||ee(u,d,R,null,g,_,_s(d,b),y,!1),x>0){if(x&16)z(R,I,H,g,b);else if(x&2&&I.class!==H.class&&i(R,"class",null,H.class,b),x&4&&i(R,"style",I.style,H.style,b),x&8){const X=d.dynamicProps;for(let le=0;le<X.length;le++){const se=X[le],xe=I[se],Re=H[se];(Re!==xe||se==="value")&&i(R,se,xe,Re,b,g)}}x&1&&u.children!==d.children&&f(R,d.children)}else!w&&E==null&&z(R,I,H,g,b);((K=H.onVnodeUpdated)||G)&&be(()=>{K&&$e(K,g,d,u),G&&Et(d,u,g,"updated")},_)},k=(u,d,g,_,b,y,w)=>{for(let R=0;R<d.length;R++){const x=u[R],E=d[R],G=x.el&&(x.type===Ve||!Rt(x,E)||x.shapeFlag&198)?h(x.el):g;A(x,E,G,null,_,b,y,w,!0)}},z=(u,d,g,_,b)=>{if(d!==g){if(d!==oe)for(const y in d)!Xt(y)&&!(y in g)&&i(u,y,d[y],null,b,_);for(const y in g){if(Xt(y))continue;const w=g[y],R=d[y];w!==R&&y!=="value"&&i(u,y,R,w,b,_)}"value"in g&&i(u,"value",d.value,g.value,b)}},O=(u,d,g,_,b,y,w,R,x)=>{const E=d.el=u?u.el:l(""),G=d.anchor=u?u.anchor:l("");let{patchFlag:I,dynamicChildren:H,slotScopeIds:K}=d;K&&(R=R?R.concat(K):K),u==null?(s(E,g,_),s(G,g,_),U(d.children||[],g,G,b,y,w,R,x)):I>0&&I&64&&H&&u.dynamicChildren&&u.dynamicChildren.length===H.length?(k(u.dynamicChildren,H,g,b,y,w,R),(d.key!=null||b&&d===b.subTree)&&or(u,d,!0)):ee(u,d,g,G,b,y,w,R,x)},Q=(u,d,g,_,b,y,w,R,x)=>{d.slotScopeIds=R,u==null?d.shapeFlag&512?b.ctx.activate(d,g,_,w,x):he(d,g,_,b,y,w,x):ye(u,d,x)},he=(u,d,g,_,b,y,w)=>{const R=u.component=Zc(u,_,b);if(ns(u)&&(R.ctx.renderer=V),ef(R,!1,w),R.asyncDep){if(b&&b.registerDep(R,ie,w),!u.el){const x=R.subTree=Pe(Ae);N(null,x,d,g),u.placeholder=x.el}}else ie(R,u,d,g,b,y,w)},ye=(u,d,g)=>{const _=d.component=u.component;if(Ic(u,d,g))if(_.asyncDep&&!_.asyncResolved){$(_,d,g);return}else _.next=d,_.update();else d.el=u.el,_.vnode=d},ie=(u,d,g,_,b,y,w)=>{const R=()=>{if(u.isMounted){let{next:I,bu:H,u:K,parent:X,vnode:le}=u;{const Ke=Mo(u);if(Ke){I&&(I.el=le.el,$(u,I,w)),Ke.asyncDep.then(()=>{u.isUnmounted||R()});return}}let se=I,xe;St(u,!1),I?(I.el=le.el,$(u,I,w)):I=le,H&&wn(H),(xe=I.props&&I.props.onVnodeBeforeUpdate)&&$e(xe,X,I,le),St(u,!0);const Re=Pr(u),Ge=u.subTree;u.subTree=Re,A(Ge,Re,h(Ge.el),v(Ge),u,b,y),I.el=Re.el,se===null&&Nc(u,Re.el),K&&be(K,b),(xe=I.props&&I.props.onVnodeUpdated)&&be(()=>$e(xe,X,I,le),b)}else{let I;const{el:H,props:K}=d,{bm:X,m:le,parent:se,root:xe,type:Re}=u,Ge=rn(d);St(u,!1),X&&wn(X),!Ge&&(I=K&&K.onVnodeBeforeMount)&&$e(I,se,d),St(u,!0);{xe.ce&&xe.ce._def.shadowRoot!==!1&&xe.ce._injectChildStyle(Re);const Ke=u.subTree=Pr(u);A(null,Ke,g,_,u,b,y),d.el=Ke.el}if(le&&be(le,b),!Ge&&(I=K&&K.onVnodeMounted)){const Ke=d;be(()=>$e(I,se,Ke),b)}(d.shapeFlag&256||se&&rn(se.vnode)&&se.vnode.shapeFlag&256)&&u.a&&be(u.a,b),u.isMounted=!0,d=g=_=null}};u.scope.on();const x=u.effect=new Ii(R);u.scope.off();const E=u.update=x.run.bind(x),G=u.job=x.runIfDirty.bind(x);G.i=u,G.id=u.uid,x.scheduler=()=>sr(G),St(u,!0),E()},$=(u,d,g)=>{d.component=u;const _=u.vnode.props;u.vnode=d,u.next=null,Dc(u,d.props,_,g),Hc(u,d.children,g),ot(),vr(u),lt()},ee=(u,d,g,_,b,y,w,R,x=!1)=>{const E=u&&u.children,G=u?u.shapeFlag:0,I=d.children,{patchFlag:H,shapeFlag:K}=d;if(H>0){if(H&128){ut(E,I,g,_,b,y,w,R,x);return}else if(H&256){Ye(E,I,g,_,b,y,w,R,x);return}}K&8?(G&16&&Ne(E,b,y),I!==E&&f(g,I)):G&16?K&16?ut(E,I,g,_,b,y,w,R,x):Ne(E,b,y,!0):(G&8&&f(g,""),K&16&&U(I,g,_,b,y,w,R,x))},Ye=(u,d,g,_,b,y,w,R,x)=>{u=u||Bt,d=d||Bt;const E=u.length,G=d.length,I=Math.min(E,G);let H;for(H=0;H<I;H++){const K=d[H]=x?mt(d[H]):Je(d[H]);A(u[H],K,g,null,b,y,w,R,x)}E>G?Ne(u,b,y,!0,!1,I):U(d,g,_,b,y,w,R,x,I)},ut=(u,d,g,_,b,y,w,R,x)=>{let E=0;const G=d.length;let I=u.length-1,H=G-1;for(;E<=I&&E<=H;){const K=u[E],X=d[E]=x?mt(d[E]):Je(d[E]);if(Rt(K,X))A(K,X,g,null,b,y,w,R,x);else break;E++}for(;E<=I&&E<=H;){const K=u[I],X=d[H]=x?mt(d[H]):Je(d[H]);if(Rt(K,X))A(K,X,g,null,b,y,w,R,x);else break;I--,H--}if(E>I){if(E<=H){const K=H+1,X=K<G?d[K].el:_;for(;E<=H;)A(null,d[E]=x?mt(d[E]):Je(d[E]),g,X,b,y,w,R,x),E++}}else if(E>H)for(;E<=I;)Ce(u[E],b,y,!0),E++;else{const K=E,X=E,le=new Map;for(E=X;E<=H;E++){const we=d[E]=x?mt(d[E]):Je(d[E]);we.key!=null&&le.set(we.key,E)}let se,xe=0;const Re=H-X+1;let Ge=!1,Ke=0;const $t=new Array(Re);for(E=0;E<Re;E++)$t[E]=0;for(E=K;E<=I;E++){const we=u[E];if(xe>=Re){Ce(we,b,y,!0);continue}let We;if(we.key!=null)We=le.get(we.key);else for(se=X;se<=H;se++)if($t[se-X]===0&&Rt(we,d[se])){We=se;break}We===void 0?Ce(we,b,y,!0):($t[We-X]=E+1,We>=Ke?Ke=We:Ge=!0,A(we,d[We],g,null,b,y,w,R,x),xe++)}const hr=Ge?kc($t):Bt;for(se=hr.length-1,E=Re-1;E>=0;E--){const we=X+E,We=d[we],dr=d[we+1],pr=we+1<G?dr.el||Do(dr):_;$t[E]===0?A(null,We,g,pr,b,y,w,R,x):Ge&&(se<0||E!==hr[se]?ke(We,g,pr,2):se--)}}},ke=(u,d,g,_,b=null)=>{const{el:y,type:w,transition:R,children:x,shapeFlag:E}=u;if(E&6){ke(u.component.subTree,d,g,_);return}if(E&128){u.suspense.move(d,g,_);return}if(E&64){w.move(u,d,g,V);return}if(w===Ve){s(y,d,g);for(let I=0;I<x.length;I++)ke(x[I],d,g,_);s(u.anchor,d,g);return}if(w===ys){F(u,d,g);return}if(_!==2&&E&1&&R)if(_===0)R.beforeEnter(y),s(y,d,g),be(()=>R.enter(y),b);else{const{leave:I,delayLeave:H,afterLeave:K}=R,X=()=>{u.ctx.isUnmounted?r(y):s(y,d,g)},le=()=>{y._isLeaving&&y[nt](!0),I(y,()=>{X(),K&&K()})};H?H(y,X,le):le()}else s(y,d,g)},Ce=(u,d,g,_=!1,b=!1)=>{const{type:y,props:w,ref:R,children:x,dynamicChildren:E,shapeFlag:G,patchFlag:I,dirs:H,cacheIndex:K}=u;if(I===-2&&(b=!1),R!=null&&(ot(),sn(R,null,g,u,!0),lt()),K!=null&&(d.renderCache[K]=void 0),G&256){d.ctx.deactivate(u);return}const X=G&1&&H,le=!rn(u);let se;if(le&&(se=w&&w.onVnodeBeforeUnmount)&&$e(se,d,u),G&6)bt(u.component,g,_);else{if(G&128){u.suspense.unmount(g,_);return}X&&Et(u,null,d,"beforeUnmount"),G&64?u.type.remove(u,d,g,V,_):E&&!E.hasOnce&&(y!==Ve||I>0&&I&64)?Ne(E,d,g,!1,!0):(y===Ve&&I&384||!b&&G&16)&&Ne(x,d,g),_&&Mt(u)}(le&&(se=w&&w.onVnodeUnmounted)||X)&&be(()=>{se&&$e(se,d,u),X&&Et(u,null,d,"unmounted")},g)},Mt=u=>{const{type:d,el:g,anchor:_,transition:b}=u;if(d===Ve){Dt(g,_);return}if(d===ys){M(u);return}const y=()=>{r(g),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(u.shapeFlag&1&&b&&!b.persisted){const{leave:w,delayLeave:R}=b,x=()=>w(g,y);R?R(u.el,y,x):x()}else y()},Dt=(u,d)=>{let g;for(;u!==d;)g=p(u),r(u),u=g;r(d)},bt=(u,d,g)=>{const{bum:_,scope:b,job:y,subTree:w,um:R,m:x,a:E}=u;Mr(x),Mr(E),_&&wn(_),b.stop(),y&&(y.flags|=8,Ce(w,u,d,g)),R&&be(R,d),be(()=>{u.isUnmounted=!0},d)},Ne=(u,d,g,_=!1,b=!1,y=0)=>{for(let w=y;w<u.length;w++)Ce(u[w],d,g,_,b)},v=u=>{if(u.shapeFlag&6)return v(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const d=p(u.anchor||u.el),g=d&&d[no];return g?p(g):d};let D=!1;const T=(u,d,g)=>{let _;u==null?d._vnode&&(Ce(d._vnode,null,null,!0),_=d._vnode.component):A(d._vnode||null,u,d,null,null,null,g),d._vnode=u,D||(D=!0,vr(_),Yi(),D=!1)},V={p:A,um:Ce,m:ke,r:Mt,mt:he,mc:U,pc:ee,pbc:k,n:v,o:e};return{render:T,hydrate:void 0,createApp:xc(T)}}function _s({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 St({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Uc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function or(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let i=0;i<s.length;i++){const o=s[i];let l=r[i];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=r[i]=mt(r[i]),l.el=o.el),!n&&l.patchFlag!==-2&&or(o,l)),l.type===is&&(l.patchFlag!==-1?l.el=o.el:l.__elIndex=i+(e.type===Ve?1:0)),l.type===Ae&&!l.el&&(l.el=o.el)}}function kc(e){const t=e.slice(),n=[0];let s,r,i,o,l;const c=e.length;for(s=0;s<c;s++){const a=e[s];if(a!==0){if(r=n[n.length-1],e[r]<a){t[s]=r,n.push(s);continue}for(i=0,o=n.length-1;i<o;)l=i+o>>1,e[n[l]]<a?i=l+1:o=l;a<e[n[i]]&&(i>0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Mo(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Mo(t)}function Mr(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Do(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Do(t.subTree):null}const Lo=e=>e.__isSuspense;function Gc(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):Xl(e)}const Ve=Symbol.for("v-fgt"),is=Symbol.for("v-txt"),Ae=Symbol.for("v-cmt"),ys=Symbol.for("v-stc"),ln=[];let Oe=null;function Kc(e=!1){ln.push(Oe=e?null:[])}function Wc(){ln.pop(),Oe=ln[ln.length-1]||null}let pn=1;function Hn(e,t=!1){pn+=e,e<0&&Oe&&t&&(Oe.hasOnce=!0)}function Fo(e){return e.dynamicChildren=pn>0?Oe||Bt:null,Wc(),pn>0&&Oe&&Oe.push(e),e}function Zu(e,t,n,s,r,i){return Fo(Ho(e,t,n,s,r,i,!0))}function $c(e,t,n,s,r){return Fo(Pe(e,t,n,s,r,!0))}function Bn(e){return e?e.__v_isVNode===!0:!1}function Rt(e,t){return e.type===t.type&&e.key===t.key}const Vo=({key:e})=>e??null,Pn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?fe(e)||ae(e)||W(e)?{i:Te,r:e,k:t,f:!!n}:e:null);function Ho(e,t=null,n=null,s=0,r=null,i=e===Ve?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vo(t),ref:t&&Pn(t),scopeId:Zi,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:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Te};return l?(lr(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=fe(n)?8:16),pn>0&&!o&&Oe&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Oe.push(c),c}const Pe=qc;function qc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===vo)&&(e=Ae),Bn(e)){const l=vt(e,t,!0);return n&&lr(l,n),pn>0&&!i&&Oe&&(l.shapeFlag&6?Oe[Oe.indexOf(e)]=l:Oe.push(l)),l.patchFlag=-2,l}if(of(e)&&(e=e.__vccOpts),t){t=Jc(t);let{class:l,style:c}=t;l&&!fe(l)&&(t.class=zs(l)),re(c)&&(Zn(c)&&!B(c)&&(c=pe({},c)),t.style=Js(c))}const o=fe(e)?1:Lo(e)?128:so(e)?64:re(e)?4:W(e)?2:0;return Ho(e,t,n,s,r,o,i,!0)}function Jc(e){return e?Zn(e)||wo(e)?pe({},e):e:null}function vt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,a=t?Qc(r||{},t):r,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Vo(a),ref:t&&t.ref?n&&i?B(i)?i.concat(Pn(t)):[i,Pn(t)]:Pn(t):i,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!==Ve?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&vt(e.ssContent),ssFallback:e.ssFallback&&vt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&dn(f,c.clone(f)),f}function zc(e=" ",t=0){return Pe(is,null,e,t)}function ea(e="",t=!1){return t?(Kc(),$c(Ae,null,e)):Pe(Ae,null,e)}function Je(e){return e==null||typeof e=="boolean"?Pe(Ae):B(e)?Pe(Ve,null,e.slice()):Bn(e)?mt(e):Pe(is,null,String(e))}function mt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vt(e)}function lr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),lr(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!wo(t)?t._ctx=Te:r===3&&Te&&(Te.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else W(t)?(t={default:t,_ctx:Te},n=32):(t=String(t),s&64?(n=16,t=[zc(t)]):n=8);e.children=t,e.shapeFlag|=n}function Qc(...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=zs([t.class,s.class]));else if(r==="style")t.style=Js([t.style,s.style]);else if(Kn(r)){const i=t[r],o=s[r];o&&i!==o&&!(B(i)&&i.includes(o))&&(t[r]=i?[].concat(i,o):o)}else r!==""&&(t[r]=s[r])}return t}function $e(e,t,n,s=null){je(e,t,7,[n,s])}const Yc=Ao();let Xc=0;function Zc(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Yc,i={uid:Xc++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ti(!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:Oo(s,r),emitsOptions:Co(s,r),emit:null,emitted:null,propsDefaults:oe,inheritAttrs:s.inheritAttrs,ctx:oe,data:oe,props:oe,attrs:oe,slots:oe,refs:oe,setupState:oe,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=wc.bind(null,i),e.ce&&e.ce(i),i}let _e=null;const cr=()=>_e||Te;let jn,Vs;{const e=Qn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};jn=t("__VUE_INSTANCE_SETTERS__",n=>_e=n),Vs=t("__VUE_SSR_SETTERS__",n=>gn=n)}const En=e=>{const t=_e;return jn(e),e.scope.on(),()=>{e.scope.off(),jn(t)}},Dr=()=>{_e&&_e.scope.off(),jn(null)};function Bo(e){return e.vnode.shapeFlag&4}let gn=!1;function ef(e,t=!1,n=!1){t&&Vs(t);const{props:s,children:r}=e.vnode,i=Bo(e);Mc(e,s,i,t),Vc(e,r,n||t);const o=i?tf(e,t):void 0;return t&&Vs(!1),o}function tf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,yc);const{setup:s}=n;if(s){ot();const r=e.setupContext=s.length>1?sf(e):null,i=En(e),o=bn(s,e,0,[e.props,r]),l=Ei(o);if(lt(),i(),(l||e.sp)&&!rn(e)&&ho(e),l){if(o.then(Dr,Dr),t)return o.then(c=>{Lr(e,c)}).catch(c=>{es(c,e,0)});e.asyncDep=o}else Lr(e,o)}else jo(e)}function Lr(e,t,n){W(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)&&(e.setupState=Ji(t)),jo(e)}function jo(e,t,n){const s=e.type;e.render||(e.render=s.render||ze);{const r=En(e);ot();try{vc(e)}finally{lt(),r()}}}const nf={get(e,t){return me(e,"get",""),e[t]}};function sf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,nf),slots:e.slots,emit:e.emit,expose:t}}function os(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ji(nr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in on)return on[n](e)},has(t,n){return n in t||n in on}})):e.proxy}function rf(e,t=!0){return W(e)?e.displayName||e.name:e.name||t&&e.__name}function of(e){return W(e)&&"__vccOpts"in e}const De=(e,t)=>ql(e,t,gn);function fr(e,t,n){try{Hn(-1);const s=arguments.length;return s===2?re(t)&&!B(t)?Bn(t)?Pe(e,null,[t]):Pe(e,t):Pe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Bn(n)&&(n=[n]),Pe(e,t,n))}finally{Hn(1)}}const lf="3.5.27";let Hs;const Fr=typeof window<"u"&&window.trustedTypes;if(Fr)try{Hs=Fr.createPolicy("vue",{createHTML:e=>e})}catch{}const Uo=Hs?e=>Hs.createHTML(e):e=>e,cf="http://www.w3.org/2000/svg",ff="http://www.w3.org/1998/Math/MathML",tt=typeof document<"u"?document:null,Vr=tt&&tt.createElement("template"),uf={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"?tt.createElementNS(cf,e):t==="mathml"?tt.createElementNS(ff,e):n?tt.createElement(e,{is:n}):tt.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>tt.createTextNode(e),createComment:e=>tt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>tt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Vr.innerHTML=Uo(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const l=Vr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},at="transition",Jt="animation",mn=Symbol("_vtc"),ko={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},af=pe({},oo,ko),hf=e=>(e.displayName="Transition",e.props=af,e),ta=hf((e,{slots:t})=>fr(lc,df(e),t)),At=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},Hr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function df(e){const t={};for(const O in e)O in ko||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:a=o,appearToClass:f=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,S=pf(r),A=S&&S[0],L=S&&S[1],{onBeforeEnter:N,onEnter:P,onEnterCancelled:F,onLeave:M,onLeaveCancelled:j,onBeforeAppear:J=N,onAppear:q=P,onAppearCancelled:U=F}=t,C=(O,Q,he,ye)=>{O._enterCancelled=ye,Ct(O,Q?f:l),Ct(O,Q?a:o),he&&he()},k=(O,Q)=>{O._isLeaving=!1,Ct(O,h),Ct(O,m),Ct(O,p),Q&&Q()},z=O=>(Q,he)=>{const ye=O?q:P,ie=()=>C(Q,O,he);At(ye,[Q,ie]),Br(()=>{Ct(Q,O?c:i),Ze(Q,O?f:l),Hr(ye)||jr(Q,s,A,ie)})};return pe(t,{onBeforeEnter(O){At(N,[O]),Ze(O,i),Ze(O,o)},onBeforeAppear(O){At(J,[O]),Ze(O,c),Ze(O,a)},onEnter:z(!1),onAppear:z(!0),onLeave(O,Q){O._isLeaving=!0;const he=()=>k(O,Q);Ze(O,h),O._enterCancelled?(Ze(O,p),Gr(O)):(Gr(O),Ze(O,p)),Br(()=>{O._isLeaving&&(Ct(O,h),Ze(O,m),Hr(M)||jr(O,s,L,he))}),At(M,[O,he])},onEnterCancelled(O){C(O,!1,void 0,!0),At(F,[O])},onAppearCancelled(O){C(O,!0,void 0,!0),At(U,[O])},onLeaveCancelled(O){k(O),At(j,[O])}})}function pf(e){if(e==null)return null;if(re(e))return[vs(e.enter),vs(e.leave)];{const t=vs(e);return[t,t]}}function vs(e){return ul(e)}function Ze(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[mn]||(e[mn]=new Set)).add(t)}function Ct(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[mn];n&&(n.delete(t),n.size||(e[mn]=void 0))}function Br(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let gf=0;function jr(e,t,n,s){const r=e._endId=++gf,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=mf(e,t);if(!o)return s();const a=o+"end";let f=0;const h=()=>{e.removeEventListener(a,p),i()},p=m=>{m.target===e&&++f>=c&&h()};setTimeout(()=>{f<c&&h()},l+1),e.addEventListener(a,p)}function mf(e,t){const n=window.getComputedStyle(e),s=S=>(n[S]||"").split(", "),r=s(`${at}Delay`),i=s(`${at}Duration`),o=Ur(r,i),l=s(`${Jt}Delay`),c=s(`${Jt}Duration`),a=Ur(l,c);let f=null,h=0,p=0;t===at?o>0&&(f=at,h=o,p=i.length):t===Jt?a>0&&(f=Jt,h=a,p=c.length):(h=Math.max(o,a),f=h>0?o>a?at:Jt:null,p=f?f===at?i.length:c.length:0);const m=f===at&&/\b(?:transform|all)(?:,|$)/.test(s(`${at}Property`).toString());return{type:f,timeout:h,propCount:p,hasTransform:m}}function Ur(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>kr(n)+kr(e[s])))}function kr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Gr(e){return(e?e.ownerDocument:document).body.offsetHeight}function _f(e,t,n){const s=e[mn];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Un=Symbol("_vod"),Go=Symbol("_vsh"),na={name:"show",beforeMount(e,{value:t},{transition:n}){e[Un]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):zt(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),zt(e,!0),s.enter(e)):s.leave(e,()=>{zt(e,!1)}):zt(e,t))},beforeUnmount(e,{value:t}){zt(e,t)}};function zt(e,t){e.style.display=t?e[Un]:"none",e[Go]=!t}const yf=Symbol(""),vf=/(?:^|;)\s*display\s*:/;function bf(e,t,n){const s=e.style,r=fe(n);let i=!1;if(n&&!r){if(t)if(fe(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&In(s,l,"")}else for(const o in t)n[o]==null&&In(s,o,"");for(const o in n)o==="display"&&(i=!0),In(s,o,n[o])}else if(r){if(t!==n){const o=s[yf];o&&(n+=";"+o),s.cssText=n,i=vf.test(n)}}else t&&e.removeAttribute("style");Un in e&&(e[Un]=i?s.display:"",e[Go]&&(s.display="none"))}const Kr=/\s*!important$/;function In(e,t,n){if(B(n))n.forEach(s=>In(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Ef(e,t);Kr.test(n)?e.setProperty(Nt(s),n.replace(Kr,""),"important"):e[s]=n}}const Wr=["Webkit","Moz","ms"],bs={};function Ef(e,t){const n=bs[t];if(n)return n;let s=Fe(t);if(s!=="filter"&&s in e)return bs[t]=s;s=Jn(s);for(let r=0;r<Wr.length;r++){const i=Wr[r]+s;if(i in e)return bs[t]=i}return t}const $r="http://www.w3.org/1999/xlink";function qr(e,t,n,s,r,i=ml(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS($r,t.slice(6,t.length)):e.setAttributeNS($r,t,n):n==null||i&&!xi(n)?e.removeAttribute(t):e.setAttribute(t,i?"":Qe(n)?String(n):n)}function Jr(e,t,n,s,r){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Uo(n):n);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const l=i==="OPTION"?e.getAttribute("value")||"":e.value,c=n==null?e.type==="checkbox"?"on":"":String(n);(l!==c||!("_value"in e))&&(e.value=c),n==null&&e.removeAttribute(t),e._value=n;return}let o=!1;if(n===""||n==null){const l=typeof e[t];l==="boolean"?n=xi(n):n==null&&l==="string"?(n="",o=!0):l==="number"&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(r||t)}function wt(e,t,n,s){e.addEventListener(t,n,s)}function Sf(e,t,n,s){e.removeEventListener(t,n,s)}const zr=Symbol("_vei");function Af(e,t,n,s,r=null){const i=e[zr]||(e[zr]={}),o=i[t];if(s&&o)o.value=s;else{const[l,c]=Cf(t);if(s){const a=i[t]=wf(s,r);wt(e,l,a,c)}else o&&(Sf(e,l,o,c),i[t]=void 0)}}const Qr=/(?:Once|Passive|Capture)$/;function Cf(e){let t;if(Qr.test(e)){t={};let s;for(;s=e.match(Qr);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Nt(e.slice(2)),t]}let Es=0;const xf=Promise.resolve(),Rf=()=>Es||(xf.then(()=>Es=0),Es=Date.now());function wf(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;je(Tf(s,n.value),t,5,[s])};return n.value=e,n.attached=Rf(),n}function Tf(e,t){if(B(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 Yr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Of=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?_f(e,s,o):t==="style"?bf(e,n,s):Kn(t)?$s(t)||Af(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pf(e,t,s,o))?(Jr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&qr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!fe(s))?Jr(e,Fe(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),qr(e,t,s,o))};function Pf(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yr(t)&&W(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 Yr(t)&&fe(n)?!1:t in e}const kn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return B(t)?n=>wn(t,n):t};function If(e){e.target.composing=!0}function Xr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const kt=Symbol("_assign");function Zr(e,t,n){return t&&(e=e.trim()),n&&(e=zn(e)),e}const sa={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e[kt]=kn(r);const i=s||r.props&&r.props.type==="number";wt(e,t?"change":"input",o=>{o.target.composing||e[kt](Zr(e.value,n,i))}),(n||i)&&wt(e,"change",()=>{e.value=Zr(e.value,n,i)}),t||(wt(e,"compositionstart",If),wt(e,"compositionend",Xr),wt(e,"change",Xr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[kt]=kn(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?zn(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c))}},ra={deep:!0,created(e,{value:t,modifiers:{number:n}},s){const r=Wn(t);wt(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?zn(Gn(o)):Gn(o));e[kt](e.multiple?r?new Set(i):i:i[0]),e._assigning=!0,ts(()=>{e._assigning=!1})}),e[kt]=kn(s)},mounted(e,{value:t}){ei(e,t)},beforeUpdate(e,t,n){e[kt]=kn(n)},updated(e,{value:t}){e._assigning||ei(e,t)}};function ei(e,t){const n=e.multiple,s=B(t);if(!(n&&!s&&!Wn(t))){for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],l=Gn(o);if(n)if(s){const c=typeof l;c==="string"||c==="number"?o.selected=t.some(a=>String(a)===String(l)):o.selected=yl(t,l)>-1}else o.selected=t.has(l);else if(Yn(Gn(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Gn(e){return"_value"in e?e._value:e.value}const Nf=["ctrl","shift","alt","meta"],Mf={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)=>Nf.some(n=>e[`${n}Key`]&&!t.includes(n))},ia=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((r,...i)=>{for(let o=0;o<t.length;o++){const l=Mf[t[o]];if(l&&l(r,t))return}return e(r,...i)}))},Df=pe({patchProp:Of},uf);let ti;function Lf(){return ti||(ti=Bc(Df))}const oa=((...e)=>{const t=Lf().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Vf(s);if(!r)return;const i=t._component;!W(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,Ff(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t});function Ff(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Vf(e){return fe(e)?document.querySelector(e):e}let Ko;const ls=e=>Ko=e,Wo=Symbol();function Bs(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var cn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(cn||(cn={}));function la(){const e=Oi(!0),t=e.run(()=>$i({}));let n=[],s=[];const r=nr({install(i){ls(r),r._a=i,i.provide(Wo,r),i.config.globalProperties.$pinia=r,s.forEach(o=>n.push(o)),s=[]},use(i){return this._a?n.push(i):s.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return r}const $o=()=>{};function ni(e,t,n,s=$o){e.add(t);const r=()=>{e.delete(t)&&s()};return!n&&Pi()&&bl(r),r}function Ft(e,...t){e.forEach(n=>{n(...t)})}const Hf=e=>e(),si=Symbol(),Ss=Symbol();function js(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];Bs(r)&&Bs(s)&&e.hasOwnProperty(n)&&!ae(s)&&!it(s)?e[n]=js(r,s):e[n]=s}return e}const Bf=Symbol();function jf(e){return!Bs(e)||!Object.prototype.hasOwnProperty.call(e,Bf)}const{assign:dt}=Object;function Uf(e){return!!(ae(e)&&e.effect)}function kf(e,t,n,s){const{state:r,actions:i,getters:o}=t,l=n.state.value[e];let c;function a(){l||(n.state.value[e]=r?r():{});const f=Gl(n.state.value[e]);return dt(f,i,Object.keys(o||{}).reduce((h,p)=>(h[p]=nr(De(()=>{ls(n);const m=n._s.get(e);return o[p].call(m,m)})),h),{}))}return c=qo(e,a,t,n,s,!0),c}function qo(e,t,n={},s,r,i){let o;const l=dt({actions:{}},n),c={deep:!0};let a,f,h=new Set,p=new Set,m;const S=s.state.value[e];!i&&!S&&(s.state.value[e]={});let A;function L(U){let C;a=f=!1,typeof U=="function"?(U(s.state.value[e]),C={type:cn.patchFunction,storeId:e,events:m}):(js(s.state.value[e],U),C={type:cn.patchObject,payload:U,storeId:e,events:m});const k=A=Symbol();ts().then(()=>{A===k&&(a=!0)}),f=!0,Ft(h,C,s.state.value[e])}const N=i?function(){const{state:C}=n,k=C?C():{};this.$patch(z=>{dt(z,k)})}:$o;function P(){o.stop(),h.clear(),p.clear(),s._s.delete(e)}const F=(U,C="")=>{if(si in U)return U[Ss]=C,U;const k=function(){ls(s);const z=Array.from(arguments),O=new Set,Q=new Set;function he($){O.add($)}function ye($){Q.add($)}Ft(p,{args:z,name:k[Ss],store:j,after:he,onError:ye});let ie;try{ie=U.apply(this&&this.$id===e?this:j,z)}catch($){throw Ft(Q,$),$}return ie instanceof Promise?ie.then($=>(Ft(O,$),$)).catch($=>(Ft(Q,$),Promise.reject($))):(Ft(O,ie),ie)};return k[si]=!0,k[Ss]=C,k},M={_p:s,$id:e,$onAction:ni.bind(null,p),$patch:L,$reset:N,$subscribe(U,C={}){const k=ni(h,U,C.detached,()=>z()),z=o.run(()=>tn(()=>s.state.value[e],O=>{(C.flush==="sync"?f:a)&&U({storeId:e,type:cn.direct,events:m},O)},dt({},c,C)));return k},$dispose:P},j=vn(M);s._s.set(e,j);const q=(s._a&&s._a.runWithContext||Hf)(()=>s._e.run(()=>(o=Oi()).run(()=>t({action:F}))));for(const U in q){const C=q[U];if(ae(C)&&!Uf(C)||it(C))i||(S&&jf(C)&&(ae(C)?C.value=S[U]:js(C,S[U])),s.state.value[e][U]=C);else if(typeof C=="function"){const k=F(C,U);q[U]=k,l.actions[U]=C}}return dt(j,q),dt(Z(j),q),Object.defineProperty(j,"$state",{get:()=>s.state.value[e],set:U=>{L(C=>{dt(C,U)})}}),s._p.forEach(U=>{dt(j,o.run(()=>U({store:j,app:s._a,pinia:s,options:l})))}),S&&i&&n.hydrate&&n.hydrate(j.$state,S),a=!0,f=!0,j}function ca(e,t,n){let s;const r=typeof t=="function";s=r?n:t;function i(o,l){const c=ec();return o=o||(c?Le(Wo,null):null),o&&ls(o),o=Ko,o._s.has(e)||(r?qo(e,t,s,o):kf(e,s,o)),o._s.get(e)}return i.$id=e,i}const Ht=typeof document<"u";function Jo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Gf(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Jo(e.default)}const te=Object.assign;function As(e,t){const n={};for(const s in t){const r=t[s];n[s]=Ue(r)?r.map(e):e(r)}return n}const fn=()=>{},Ue=Array.isArray;function ri(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const zo=/#/g,Kf=/&/g,Wf=/\//g,$f=/=/g,qf=/\?/g,Qo=/\+/g,Jf=/%5B/g,zf=/%5D/g,Yo=/%5E/g,Qf=/%60/g,Xo=/%7B/g,Yf=/%7C/g,Zo=/%7D/g,Xf=/%20/g;function ur(e){return e==null?"":encodeURI(""+e).replace(Yf,"|").replace(Jf,"[").replace(zf,"]")}function Zf(e){return ur(e).replace(Xo,"{").replace(Zo,"}").replace(Yo,"^")}function Us(e){return ur(e).replace(Qo,"%2B").replace(Xf,"+").replace(zo,"%23").replace(Kf,"%26").replace(Qf,"`").replace(Xo,"{").replace(Zo,"}").replace(Yo,"^")}function eu(e){return Us(e).replace($f,"%3D")}function tu(e){return ur(e).replace(zo,"%23").replace(qf,"%3F")}function nu(e){return tu(e).replace(Wf,"%2F")}function _n(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const su=/\/$/,ru=e=>e.replace(su,"");function Cs(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=cu(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:_n(o)}}function iu(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ii(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ou(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&Kt(t.matched[s],n.matched[r])&&el(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Kt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function el(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!lu(e[n],t[n]))return!1;return!0}function lu(e,t){return Ue(e)?oi(e,t):Ue(t)?oi(t,e):e?.valueOf()===t?.valueOf()}function oi(e,t){return Ue(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function cu(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 i=n.length-1,o,l;for(o=0;o<s.length;o++)if(l=s[o],l!==".")if(l==="..")i>1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const ht={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let ks=(function(e){return e.pop="pop",e.push="push",e})({}),xs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function fu(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),ru(e)}const uu=/^[^#]+#/;function au(e,t){return e.replace(uu,"#")+t}function hu(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 cs=()=>({left:window.scrollX,top:window.scrollY});function du(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=hu(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 li(e,t){return(history.state?history.state.position-t:-1)+e}const Gs=new Map;function pu(e,t){Gs.set(e,t)}function gu(e){const t=Gs.get(e);return Gs.delete(e),t}function mu(e){return typeof e=="string"||e&&typeof e=="object"}function tl(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 nl=Symbol("");ue.MATCHER_NOT_FOUND+"",ue.NAVIGATION_GUARD_REDIRECT+"",ue.NAVIGATION_ABORTED+"",ue.NAVIGATION_CANCELLED+"",ue.NAVIGATION_DUPLICATED+"";function Wt(e,t){return te(new Error,{type:e,[nl]:!0},t)}function et(e,t){return e instanceof Error&&nl in e&&(t==null||!!(e.type&t))}const _u=["params","query","hash"];function yu(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of _u)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function vu(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(Qo," "),i=r.indexOf("="),o=_n(i<0?r:r.slice(0,i)),l=i<0?null:_n(r.slice(i+1));if(o in t){let c=t[o];Ue(c)||(c=t[o]=[c]),c.push(l)}else t[o]=l}return t}function ci(e){let t="";for(let n in e){const s=e[n];if(n=eu(n),s==null){s!==void 0&&(t+=(t.length?"&":"")+n);continue}(Ue(s)?s.map(r=>r&&Us(r)):[s&&Us(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function bu(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Ue(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Eu=Symbol(""),fi=Symbol(""),fs=Symbol(""),ar=Symbol(""),Ks=Symbol("");function Qt(){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 _t(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const a=p=>{p===!1?c(Wt(ue.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?c(p):mu(p)?c(Wt(ue.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(o&&s.enterCallbacks[r]===o&&typeof p=="function"&&o.push(p),l())},f=i(()=>e.call(s&&s.instances[r],t,n,a));let h=Promise.resolve(f);e.length<3&&(h=h.then(a)),h.catch(p=>c(p))})}function Rs(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(Jo(c)){const a=(c.__vccOpts||c)[t];a&&i.push(_t(a,n,s,o,l,r))}else{let a=c();i.push(()=>a.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=Gf(f)?f.default:f;o.mods[l]=f,o.components[l]=h;const p=(h.__vccOpts||h)[t];return p&&_t(p,n,s,o,l,r)()}))}}return i}function Su(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;o<i;o++){const l=t.matched[o];l&&(e.matched.find(a=>Kt(a,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(a=>Kt(a,c))||r.push(c))}return[n,s,r]}let Au=()=>location.protocol+"//"+location.host;function sl(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),ii(l,"")}return ii(n,e)+s+r}function Cu(e,t,n,s){let r=[],i=[],o=null;const l=({state:p})=>{const m=sl(e,location),S=n.value,A=t.value;let L=0;if(p){if(n.value=m,t.value=p,o&&o===S){o=null;return}L=A?p.position-A.position:0}else s(m);r.forEach(N=>{N(n.value,S,{delta:L,type:ks.pop,direction:L?L>0?xs.forward:xs.back:xs.unknown})})};function c(){o=n.value}function a(p){r.push(p);const m=()=>{const S=r.indexOf(p);S>-1&&r.splice(S,1)};return i.push(m),m}function f(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(te({},p.state,{scroll:cs()}),"")}}function h(){for(const p of i)p();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",f),document.removeEventListener("visibilitychange",f)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",f),document.addEventListener("visibilitychange",f),{pauseListeners:c,listen:a,destroy:h}}function ui(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?cs():null}}function xu(e){const{history:t,location:n}=window,s={value:sl(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,a,f){const h=e.indexOf("#"),p=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:Au()+e+c;try{t[f?"replaceState":"pushState"](a,"",p),r.value=a}catch(m){console.error(m),n[f?"replace":"assign"](p)}}function o(c,a){i(c,te({},t.state,ui(r.value.back,c,r.value.forward,!0),a,{position:r.value.position}),!0),s.value=c}function l(c,a){const f=te({},r.value,t.state,{forward:c,scroll:cs()});i(f.current,f,!0),i(c,te({},ui(s.value,c,null),{position:f.position+1},a),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function Ru(e){e=fu(e);const t=xu(e),n=Cu(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=te({location:"",base:e,go:s,createHref:au.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}function fa(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Ru(e)}let Tt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var de=(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})(de||{});const wu={type:Tt.Static,value:""},Tu=/[a-zA-Z0-9_]/;function Ou(e){if(!e)return[[]];if(e==="/")return[[wu]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${a}": ${m}`)}let n=de.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,a="",f="";function h(){a&&(n===de.Static?i.push({type:Tt.Static,value:a}):n===de.Param||n===de.ParamRegExp||n===de.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${a}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Tt.Param,value:a,regexp:f,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),a="")}function p(){a+=c}for(;l<e.length;){if(c=e[l++],c==="\\"&&n!==de.ParamRegExp){s=n,n=de.EscapeNext;continue}switch(n){case de.Static:c==="/"?(a&&h(),o()):c===":"?(h(),n=de.Param):p();break;case de.EscapeNext:p(),n=s;break;case de.Param:c==="("?n=de.ParamRegExp:Tu.test(c)?p():(h(),n=de.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--);break;case de.ParamRegExp:c===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+c:n=de.ParamRegExpEnd:f+=c;break;case de.ParamRegExpEnd:h(),n=de.Static,c!=="*"&&c!=="?"&&c!=="+"&&l--,f="";break;default:t("Unknown state");break}}return n===de.ParamRegExp&&t(`Unfinished custom RegExp for param "${a}"`),h(),o(),r}const ai="[^/]+?",Pu={sensitive:!1,strict:!1,start:!0,end:!0};var Ee=(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})(Ee||{});const Iu=/[.+*?^${}()[\]/\\]/g;function Nu(e,t){const n=te({},Pu,t),s=[];let r=n.start?"^":"";const i=[];for(const a of e){const f=a.length?[]:[Ee.Root];n.strict&&!a.length&&(r+="/");for(let h=0;h<a.length;h++){const p=a[h];let m=Ee.Segment+(n.sensitive?Ee.BonusCaseSensitive:0);if(p.type===Tt.Static)h||(r+="/"),r+=p.value.replace(Iu,"\\$&"),m+=Ee.Static;else if(p.type===Tt.Param){const{value:S,repeatable:A,optional:L,regexp:N}=p;i.push({name:S,repeatable:A,optional:L});const P=N||ai;if(P!==ai){m+=Ee.BonusCustomRegExp;try{`${P}`}catch(M){throw new Error(`Invalid custom RegExp for param "${S}" (${P}): `+M.message)}}let F=A?`((?:${P})(?:/(?:${P}))*)`:`(${P})`;h||(F=L&&a.length<2?`(?:/${F})`:"/"+F),L&&(F+="?"),r+=F,m+=Ee.Dynamic,L&&(m+=Ee.BonusOptional),A&&(m+=Ee.BonusRepeatable),P===".*"&&(m+=Ee.BonusWildcard)}f.push(m)}s.push(f)}if(n.strict&&n.end){const a=s.length-1;s[a][s[a].length-1]+=Ee.BonusStrict}n.strict||(r+="/?"),n.end?r+="$":n.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const o=new RegExp(r,n.sensitive?"":"i");function l(a){const f=a.match(o),h={};if(!f)return null;for(let p=1;p<f.length;p++){const m=f[p]||"",S=i[p-1];h[S.name]=m&&S.repeatable?m.split("/"):m}return h}function c(a){let f="",h=!1;for(const p of e){(!h||!f.endsWith("/"))&&(f+="/"),h=!1;for(const m of p)if(m.type===Tt.Static)f+=m.value;else if(m.type===Tt.Param){const{value:S,repeatable:A,optional:L}=m,N=S in a?a[S]:"";if(Ue(N)&&!A)throw new Error(`Provided param "${S}" is an array but it is not repeatable (* or + modifiers)`);const P=Ue(N)?N.join("/"):N;if(!P)if(L)p.length<2&&(f.endsWith("/")?f=f.slice(0,-1):h=!0);else throw new Error(`Missing required param "${S}"`);f+=P}}return f||"/"}return{re:o,score:s,keys:i,parse:l,stringify:c}}function Mu(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]===Ee.Static+Ee.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===Ee.Static+Ee.Segment?1:-1:0}function rl(e,t){let n=0;const s=e.score,r=t.score;for(;n<s.length&&n<r.length;){const i=Mu(s[n],r[n]);if(i)return i;n++}if(Math.abs(r.length-s.length)===1){if(hi(s))return 1;if(hi(r))return-1}return r.length-s.length}function hi(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Du={strict:!1,end:!0,sensitive:!1};function Lu(e,t,n){const s=Nu(Ou(e.path),n),r=te(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Fu(e,t){const n=[],s=new Map;t=ri(Du,t);function r(h){return s.get(h)}function i(h,p,m){const S=!m,A=pi(h);A.aliasOf=m&&m.record;const L=ri(t,h),N=[A];if("alias"in h){const M=typeof h.alias=="string"?[h.alias]:h.alias;for(const j of M)N.push(pi(te({},A,{components:m?m.record.components:A.components,path:j,aliasOf:m?m.record:A})))}let P,F;for(const M of N){const{path:j}=M;if(p&&j[0]!=="/"){const J=p.record.path,q=J[J.length-1]==="/"?"":"/";M.path=p.record.path+(j&&q+j)}if(P=Lu(M,p,L),m?m.alias.push(P):(F=F||P,F!==P&&F.alias.push(P),S&&h.name&&!gi(P)&&o(h.name)),il(P)&&c(P),A.children){const J=A.children;for(let q=0;q<J.length;q++)i(J[q],P,m&&m.children[q])}m=m||P}return F?()=>{o(F)}:fn}function o(h){if(tl(h)){const p=s.get(h);p&&(s.delete(h),n.splice(n.indexOf(p),1),p.children.forEach(o),p.alias.forEach(o))}else{const p=n.indexOf(h);p>-1&&(n.splice(p,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const p=Bu(h,n);n.splice(p,0,h),h.record.name&&!gi(h)&&s.set(h.record.name,h)}function a(h,p){let m,S={},A,L;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw Wt(ue.MATCHER_NOT_FOUND,{location:h});L=m.record.name,S=te(di(p.params,m.keys.filter(F=>!F.optional).concat(m.parent?m.parent.keys.filter(F=>F.optional):[]).map(F=>F.name)),h.params&&di(h.params,m.keys.map(F=>F.name))),A=m.stringify(S)}else if(h.path!=null)A=h.path,m=n.find(F=>F.re.test(A)),m&&(S=m.parse(A),L=m.record.name);else{if(m=p.name?s.get(p.name):n.find(F=>F.re.test(p.path)),!m)throw Wt(ue.MATCHER_NOT_FOUND,{location:h,currentLocation:p});L=m.record.name,S=te({},p.params,h.params),A=m.stringify(S)}const N=[];let P=m;for(;P;)N.unshift(P.record),P=P.parent;return{name:L,path:A,params:S,matched:N,meta:Hu(N)}}e.forEach(h=>i(h));function f(){n.length=0,s.clear()}return{addRoute:i,resolve:a,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:r}}function di(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function pi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Vu(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 Vu(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 gi(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Hu(e){return e.reduce((t,n)=>te(t,n.meta),{})}function Bu(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;rl(e,t[i])<0?s=i:n=i+1}const r=ju(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function ju(e){let t=e;for(;t=t.parent;)if(il(t)&&rl(e,t)===0)return t}function il({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function mi(e){const t=Le(fs),n=Le(ar),s=De(()=>{const c=Pt(e.to);return t.resolve(c)}),r=De(()=>{const{matched:c}=s.value,{length:a}=c,f=c[a-1],h=n.matched;if(!f||!h.length)return-1;const p=h.findIndex(Kt.bind(null,f));if(p>-1)return p;const m=_i(c[a-2]);return a>1&&_i(f)===m&&h[h.length-1].path!==m?h.findIndex(Kt.bind(null,c[a-2])):p}),i=De(()=>r.value>-1&&Wu(n.params,s.value.params)),o=De(()=>r.value>-1&&r.value===n.matched.length-1&&el(n.params,s.value.params));function l(c={}){if(Ku(c)){const a=t[Pt(e.replace)?"replace":"push"](Pt(e.to)).catch(fn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}return{route:s,href:De(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function Uu(e){return e.length===1?e[0]:e}const ku=ao({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:mi,setup(e,{slots:t}){const n=vn(mi(e)),{options:s}=Le(fs),r=De(()=>({[yi(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[yi(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Uu(t.default(n));return e.custom?i:fr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),Gu=ku;function Ku(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 Wu(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(!Ue(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function _i(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const yi=(e,t,n)=>e??t??n,$u=ao({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Le(Ks),r=De(()=>e.route||s.value),i=Le(fi,0),o=De(()=>{let a=Pt(i);const{matched:f}=r.value;let h;for(;(h=f[a])&&!h.components;)a++;return a}),l=De(()=>r.value.matched[o.value]);Tn(fi,De(()=>o.value+1)),Tn(Eu,l),Tn(Ks,r);const c=$i();return tn(()=>[c.value,l.value,e.name],([a,f,h],[p,m,S])=>{f&&(f.instances[h]=a,m&&m!==f&&a&&a===p&&(f.leaveGuards.size||(f.leaveGuards=m.leaveGuards),f.updateGuards.size||(f.updateGuards=m.updateGuards))),a&&f&&(!m||!Kt(f,m)||!p)&&(f.enterCallbacks[h]||[]).forEach(A=>A(a))},{flush:"post"}),()=>{const a=r.value,f=e.name,h=l.value,p=h&&h.components[f];if(!p)return vi(n.default,{Component:p,route:a});const m=h.props[f],S=m?m===!0?a.params:typeof m=="function"?m(a):m:null,L=fr(p,te({},S,t,{onVnodeUnmounted:N=>{N.component.isUnmounted&&(h.instances[f]=null)},ref:c}));return vi(n.default,{Component:L,route:a})||L}}});function vi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const qu=$u;function ua(e){const t=Fu(e.routes,e),n=e.parseQuery||vu,s=e.stringifyQuery||ci,r=e.history,i=Qt(),o=Qt(),l=Qt(),c=jl(ht);let a=ht;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=As.bind(null,v=>""+v),h=As.bind(null,nu),p=As.bind(null,_n);function m(v,D){let T,V;return tl(v)?(T=t.getRecordMatcher(v),V=D):V=v,t.addRoute(V,T)}function S(v){const D=t.getRecordMatcher(v);D&&t.removeRoute(D)}function A(){return t.getRoutes().map(v=>v.record)}function L(v){return!!t.getRecordMatcher(v)}function N(v,D){if(D=te({},D||c.value),typeof v=="string"){const g=Cs(n,v,D.path),_=t.resolve({path:g.path},D),b=r.createHref(g.fullPath);return te(g,_,{params:p(_.params),hash:_n(g.hash),redirectedFrom:void 0,href:b})}let T;if(v.path!=null)T=te({},v,{path:Cs(n,v.path,D.path).path});else{const g=te({},v.params);for(const _ in g)g[_]==null&&delete g[_];T=te({},v,{params:h(g)}),D.params=h(D.params)}const V=t.resolve(T,D),Y=v.hash||"";V.params=f(p(V.params));const u=iu(s,te({},v,{hash:Zf(Y),path:V.path})),d=r.createHref(u);return te({fullPath:u,hash:Y,query:s===ci?bu(v.query):v.query||{}},V,{redirectedFrom:void 0,href:d})}function P(v){return typeof v=="string"?Cs(n,v,c.value.path):te({},v)}function F(v,D){if(a!==v)return Wt(ue.NAVIGATION_CANCELLED,{from:D,to:v})}function M(v){return q(v)}function j(v){return M(te(P(v),{replace:!0}))}function J(v,D){const T=v.matched[v.matched.length-1];if(T&&T.redirect){const{redirect:V}=T;let Y=typeof V=="function"?V(v,D):V;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=P(Y):{path:Y},Y.params={}),te({query:v.query,hash:v.hash,params:Y.path!=null?{}:v.params},Y)}}function q(v,D){const T=a=N(v),V=c.value,Y=v.state,u=v.force,d=v.replace===!0,g=J(T,V);if(g)return q(te(P(g),{state:typeof g=="object"?te({},Y,g.state):Y,force:u,replace:d}),D||T);const _=T;_.redirectedFrom=D;let b;return!u&&ou(s,V,T)&&(b=Wt(ue.NAVIGATION_DUPLICATED,{to:_,from:V}),ke(V,V,!0,!1)),(b?Promise.resolve(b):k(_,V)).catch(y=>et(y)?et(y,ue.NAVIGATION_GUARD_REDIRECT)?y:ut(y):ee(y,_,V)).then(y=>{if(y){if(et(y,ue.NAVIGATION_GUARD_REDIRECT))return q(te({replace:d},P(y.to),{state:typeof y.to=="object"?te({},Y,y.to.state):Y,force:u}),D||_)}else y=O(_,V,!0,d,Y);return z(_,V,y),y})}function U(v,D){const T=F(v,D);return T?Promise.reject(T):Promise.resolve()}function C(v){const D=Dt.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(v):v()}function k(v,D){let T;const[V,Y,u]=Su(v,D);T=Rs(V.reverse(),"beforeRouteLeave",v,D);for(const g of V)g.leaveGuards.forEach(_=>{T.push(_t(_,v,D))});const d=U.bind(null,v,D);return T.push(d),Ne(T).then(()=>{T=[];for(const g of i.list())T.push(_t(g,v,D));return T.push(d),Ne(T)}).then(()=>{T=Rs(Y,"beforeRouteUpdate",v,D);for(const g of Y)g.updateGuards.forEach(_=>{T.push(_t(_,v,D))});return T.push(d),Ne(T)}).then(()=>{T=[];for(const g of u)if(g.beforeEnter)if(Ue(g.beforeEnter))for(const _ of g.beforeEnter)T.push(_t(_,v,D));else T.push(_t(g.beforeEnter,v,D));return T.push(d),Ne(T)}).then(()=>(v.matched.forEach(g=>g.enterCallbacks={}),T=Rs(u,"beforeRouteEnter",v,D,C),T.push(d),Ne(T))).then(()=>{T=[];for(const g of o.list())T.push(_t(g,v,D));return T.push(d),Ne(T)}).catch(g=>et(g,ue.NAVIGATION_CANCELLED)?g:Promise.reject(g))}function z(v,D,T){l.list().forEach(V=>C(()=>V(v,D,T)))}function O(v,D,T,V,Y){const u=F(v,D);if(u)return u;const d=D===ht,g=Ht?history.state:{};T&&(V||d?r.replace(v.fullPath,te({scroll:d&&g&&g.scroll},Y)):r.push(v.fullPath,Y)),c.value=v,ke(v,D,T,d),ut()}let Q;function he(){Q||(Q=r.listen((v,D,T)=>{if(!bt.listening)return;const V=N(v),Y=J(V,bt.currentRoute.value);if(Y){q(te(Y,{replace:!0,force:!0}),V).catch(fn);return}a=V;const u=c.value;Ht&&pu(li(u.fullPath,T.delta),cs()),k(V,u).catch(d=>et(d,ue.NAVIGATION_ABORTED|ue.NAVIGATION_CANCELLED)?d:et(d,ue.NAVIGATION_GUARD_REDIRECT)?(q(te(P(d.to),{force:!0}),V).then(g=>{et(g,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&!T.delta&&T.type===ks.pop&&r.go(-1,!1)}).catch(fn),Promise.reject()):(T.delta&&r.go(-T.delta,!1),ee(d,V,u))).then(d=>{d=d||O(V,u,!1),d&&(T.delta&&!et(d,ue.NAVIGATION_CANCELLED)?r.go(-T.delta,!1):T.type===ks.pop&&et(d,ue.NAVIGATION_ABORTED|ue.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),z(V,u,d)}).catch(fn)}))}let ye=Qt(),ie=Qt(),$;function ee(v,D,T){ut(v);const V=ie.list();return V.length?V.forEach(Y=>Y(v,D,T)):console.error(v),Promise.reject(v)}function Ye(){return $&&c.value!==ht?Promise.resolve():new Promise((v,D)=>{ye.add([v,D])})}function ut(v){return $||($=!v,he(),ye.list().forEach(([D,T])=>v?T(v):D()),ye.reset()),v}function ke(v,D,T,V){const{scrollBehavior:Y}=e;if(!Ht||!Y)return Promise.resolve();const u=!T&&gu(li(v.fullPath,0))||(V||!T)&&history.state&&history.state.scroll||null;return ts().then(()=>Y(v,D,u)).then(d=>d&&du(d)).catch(d=>ee(d,v,D))}const Ce=v=>r.go(v);let Mt;const Dt=new Set,bt={currentRoute:c,listening:!0,addRoute:m,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:L,getRoutes:A,resolve:N,options:e,push:M,replace:j,go:Ce,back:()=>Ce(-1),forward:()=>Ce(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ie.add,isReady:Ye,install(v){v.component("RouterLink",Gu),v.component("RouterView",qu),v.config.globalProperties.$router=bt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>Pt(c)}),Ht&&!Mt&&c.value===ht&&(Mt=!0,M(r.location).catch(V=>{}));const D={};for(const V in ht)Object.defineProperty(D,V,{get:()=>c.value[V],enumerable:!0});v.provide(fs,bt),v.provide(ar,Wi(D)),v.provide(Ks,c);const T=v.unmount;Dt.add(v),v.unmount=function(){Dt.delete(v),Dt.size<1&&(a=ht,Q&&Q(),Q=null,c.value=ht,Mt=!1,$=!1),T()}}};function Ne(v){return v.reduce((D,T)=>D.then(()=>C(T)),Promise.resolve())}return bt}function aa(){return Le(fs)}function ha(e){return Le(ar)}export{_o as A,tn as B,$i as C,ca as D,ia as E,Ve as F,Z as G,Js as H,vn as I,zu as J,ts as K,ra as L,sa as M,cr as N,ta as T,fa as a,Zu as b,ua as c,ao as d,Ho as e,Pe as f,De as g,fr as h,$c as i,Yu as j,Qu as k,ha as l,aa as m,zs as n,Kc as o,oa as p,la as q,Xu as r,ea as s,vl as t,Pt as u,zc as v,Zl as w,Ju as x,na as y,go as z};
2
+ //# sourceMappingURL=vue-vendor-CtA47il-.js.map