diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..4c49bd78 --- /dev/null +++ b/.dockerignore @@ -0,0 +1 @@ +.env diff --git a/.env b/.env index 1afdfc69..3228cf38 100644 --- a/.env +++ b/.env @@ -1 +1,4 @@ NUXT_VATSTACK_API_KEY=pk_live_3038ce089ee7197879fcf95e624da019 +NUXT_DB=mongodb+srv://development:35XRgDMsPkb1opbp@cluster0.ajj3s.mongodb.net/vat-api +NUXT_REDIS_URL=redis://:eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81@localhost:6379 +NUXT_ADMIN_PASSWORD=changeme diff --git a/.env.example b/.env.example index db3ef451..54b2a064 100644 --- a/.env.example +++ b/.env.example @@ -1,2 +1,5 @@ # Vatstack API key for live VAT rate data (optional — falls back to hardcoded rates) NUXT_VATSTACK_API_KEY= +NUXT_DB=mongodb+srv://development:35XRgDMsPkb1opbp@cluster0.ajj3s.mongodb.net/vat-api +NUXT_REDIS_URL=redis://:eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81@localhost:6379 +NUXT_ADMIN_PASSWORD=changeme diff --git a/.nuxt/imports.d.ts b/.nuxt/imports.d.ts index 2d63d197..0f106e77 100644 --- a/.nuxt/imports.d.ts +++ b/.nuxt/imports.d.ts @@ -31,4 +31,5 @@ export { setInterval } from '#app/compat/interval'; export { definePageMeta } from '../node_modules/nuxt/dist/pages/runtime/composables'; export { defineLazyHydrationComponent } from '#app/composables/lazy-hydration'; export { useScrollAnimation } from '../app/composables/useScrollAnimation'; -export { useVatRates, VatRate } from '../app/composables/useVatRates'; \ No newline at end of file +export { useVatRates, VatRate } from '../app/composables/useVatRates'; +export { useNuxtDevTools } from '../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools'; \ No newline at end of file diff --git a/.nuxt/tailwind/postcss.mjs b/.nuxt/tailwind/postcss.mjs index 00b8459e..0974777d 100644 --- a/.nuxt/tailwind/postcss.mjs +++ b/.nuxt/tailwind/postcss.mjs @@ -1,4 +1,4 @@ -// generated by the @nuxtjs/tailwindcss module at 2/13/2026, 10:13:46 PM +// generated by the @nuxtjs/tailwindcss module at 2/14/2026, 10:13:39 AM import "@nuxtjs/tailwindcss/config-ctx" import configMerger from "@nuxtjs/tailwindcss/merger"; diff --git a/.nuxt/tsconfig.app.json b/.nuxt/tsconfig.app.json index 6242f32a..5a5d05d0 100644 --- a/.nuxt/tsconfig.app.json +++ b/.nuxt/tsconfig.app.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/28eed3f6-8bb7-4ce5-bd5e-c2f1ff73389b" + "./manifest/meta/dev" ], "#components": [ "./components" @@ -181,7 +181,7 @@ "../node_modules/dist/runtime/server", "../node_modules/*.*", "../node_modules/dist/*.*", - "../.output", + "dev", "../server" ] } \ No newline at end of file diff --git a/.nuxt/tsconfig.json b/.nuxt/tsconfig.json index cd4934fe..f230641a 100644 --- a/.nuxt/tsconfig.json +++ b/.nuxt/tsconfig.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/28eed3f6-8bb7-4ce5-bd5e-c2f1ff73389b" + "./manifest/meta/dev" ], "#components": [ "./components" diff --git a/.nuxt/tsconfig.shared.json b/.nuxt/tsconfig.shared.json index 7418592d..a26ad887 100644 --- a/.nuxt/tsconfig.shared.json +++ b/.nuxt/tsconfig.shared.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/28eed3f6-8bb7-4ce5-bd5e-c2f1ff73389b" + "./manifest/meta/dev" ], "#build": [ "." diff --git a/.nuxt/types/build.d.ts b/.nuxt/types/build.d.ts index 813a333a..55550f43 100644 --- a/.nuxt/types/build.d.ts +++ b/.nuxt/types/build.d.ts @@ -12,6 +12,8 @@ declare module "#build/paths.mjs"; declare module "#build/root-component.mjs"; declare module "#build/plugins.server.mjs"; declare module "#build/test-component-wrapper.mjs"; +declare module "#build/devtools/settings.mjs"; +declare module "#build/runtime.vue-devtools-client.nCg_nTMck4Vjq9J_TXBbUMCbducTRhoEa7hkWr4xMsk.js"; declare module "#build/routes.mjs"; declare module "#build/pages.mjs"; declare module "#build/router.options.mjs"; diff --git a/.nuxt/types/imports.d.ts b/.nuxt/types/imports.d.ts index ccb2c0f0..af3e879f 100644 --- a/.nuxt/types/imports.d.ts +++ b/.nuxt/types/imports.d.ts @@ -113,6 +113,7 @@ declare global { const useModel: typeof import('vue').useModel const useNuxtApp: typeof import('../../node_modules/nuxt/dist/app/nuxt').useNuxtApp const useNuxtData: typeof import('../../node_modules/nuxt/dist/app/composables/asyncData').useNuxtData + const useNuxtDevTools: typeof import('../../node_modules/@nuxt/devtools/dist/runtime/use-nuxt-devtools').useNuxtDevTools const usePreviewMode: typeof import('../../node_modules/nuxt/dist/app/composables/preview').usePreviewMode const useRequestEvent: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestEvent const useRequestFetch: typeof import('../../node_modules/nuxt/dist/app/composables/ssr').useRequestFetch @@ -302,6 +303,7 @@ declare module 'vue' { readonly useModel: UnwrapRef readonly useNuxtApp: UnwrapRef readonly useNuxtData: UnwrapRef + readonly useNuxtDevTools: UnwrapRef readonly usePreviewMode: UnwrapRef readonly useRequestEvent: UnwrapRef readonly useRequestFetch: UnwrapRef diff --git a/.nuxt/types/nitro-imports.d.ts b/.nuxt/types/nitro-imports.d.ts index 7c8e2873..f0a22f5e 100644 --- a/.nuxt/types/nitro-imports.d.ts +++ b/.nuxt/types/nitro-imports.d.ts @@ -15,11 +15,14 @@ declare global { const callNodeListener: typeof import('../../node_modules/h3').callNodeListener const clearResponseHeaders: typeof import('../../node_modules/h3').clearResponseHeaders const clearSession: typeof import('../../node_modules/h3').clearSession + const closeDb: typeof import('../../server/utils/mongodb').closeDb + const closeRedis: typeof import('../../server/utils/redis').closeRedis const createApp: typeof import('../../node_modules/h3').createApp const createAppEventHandler: typeof import('../../node_modules/h3').createAppEventHandler const createError: typeof import('../../node_modules/h3').createError const createEvent: typeof import('../../node_modules/h3').createEvent const createEventStream: typeof import('../../node_modules/h3').createEventStream + const createRedisClient: typeof import('../../server/utils/redis').createRedisClient const createRouter: typeof import('../../node_modules/h3').createRouter const defaultContentType: typeof import('../../node_modules/h3').defaultContentType const defineAppConfig: typeof import('../../node_modules/@nuxt/nitro-server/dist/runtime/utils/config').defineAppConfig @@ -47,12 +50,14 @@ declare global { const fromWebHandler: typeof import('../../node_modules/h3').fromWebHandler const getAllRates: typeof import('../../server/utils/vatRates').getAllRates const getCookie: typeof import('../../node_modules/h3').getCookie + const getDb: typeof import('../../server/utils/mongodb').getDb const getHeader: typeof import('../../node_modules/h3').getHeader const getHeaders: typeof import('../../node_modules/h3').getHeaders const getMethod: typeof import('../../node_modules/h3').getMethod const getProxyRequestHeaders: typeof import('../../node_modules/h3').getProxyRequestHeaders const getQuery: typeof import('../../node_modules/h3').getQuery const getRateByCode: typeof import('../../server/utils/vatRates').getRateByCode + const getRedis: typeof import('../../server/utils/redis').getRedis const getRequestFingerprint: typeof import('../../node_modules/h3').getRequestFingerprint const getRequestHeader: typeof import('../../node_modules/h3').getRequestHeader const getRequestHeaders: typeof import('../../node_modules/h3').getRequestHeaders @@ -83,6 +88,7 @@ declare global { const isStream: typeof import('../../node_modules/h3').isStream const isWebResponse: typeof import('../../node_modules/h3').isWebResponse const lazyEventHandler: typeof import('../../node_modules/h3').lazyEventHandler + const logRequest: typeof import('../../server/utils/requestLogger').logRequest const nitroPlugin: typeof import('../../node_modules/nitropack/dist/runtime/internal/plugin').nitroPlugin const parseCookies: typeof import('../../node_modules/h3').parseCookies const promisifyNodeListener: typeof import('../../node_modules/h3').promisifyNodeListener @@ -135,6 +141,9 @@ declare global { export type { EventHandler, EventHandlerRequest, EventHandlerResponse, EventHandlerObject, H3EventContext } from '../../node_modules/h3' import('../../node_modules/h3') // @ts-ignore + export type { RequestLogEntry } from '../../server/utils/requestLogger' + import('../../server/utils/requestLogger') + // @ts-ignore export type { VatRateResponse } from '../../server/utils/vatRates' import('../../server/utils/vatRates') } @@ -152,4 +161,7 @@ export { defineTask, runTask } from 'nitropack/runtime/internal/task'; export { defineNitroErrorHandler } from 'nitropack/runtime/internal/error/utils'; export { buildAssetsURL as __buildAssetsURL, publicAssetsURL as __publicAssetsURL } from '/home/bennet/source/vat-api/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths'; export { defineAppConfig } from '/home/bennet/source/vat-api/node_modules/@nuxt/nitro-server/dist/runtime/utils/config'; +export { getDb, closeDb } from '/home/bennet/source/vat-api/server/utils/mongodb'; +export { getRedis, createRedisClient, closeRedis } from '/home/bennet/source/vat-api/server/utils/redis'; +export { logRequest } from '/home/bennet/source/vat-api/server/utils/requestLogger'; export { getAllRates, getRateByCode } from '/home/bennet/source/vat-api/server/utils/vatRates'; \ No newline at end of file diff --git a/.nuxt/types/nitro-routes.d.ts b/.nuxt/types/nitro-routes.d.ts index 46efb56b..9749a5c8 100644 --- a/.nuxt/types/nitro-routes.d.ts +++ b/.nuxt/types/nitro-routes.d.ts @@ -3,6 +3,15 @@ import type { Serialize, Simplify } from "nitropack/types"; declare module "nitropack/types" { type Awaited = T extends PromiseLike ? Awaited : T interface InternalApi { + '/api/admin/login': { + 'post': Simplify>>> + } + '/api/admin/requests': { + 'get': Simplify>>> + } + '/api/admin/stats': { + 'get': Simplify>>> + } '/api/v1/rates/:code': { 'get': Simplify>>> } diff --git a/.nuxt/types/plugins.d.ts b/.nuxt/types/plugins.d.ts index 5e10cfd6..51d95f7d 100644 --- a/.nuxt/types/plugins.d.ts +++ b/.nuxt/types/plugins.d.ts @@ -9,18 +9,25 @@ type NuxtAppInjections = InjectionType & InjectionType & InjectionType & + InjectionType & InjectionType & + InjectionType & InjectionType & InjectionType & InjectionType & InjectionType & - InjectionType + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType & + InjectionType declare module '#app' { interface NuxtApp extends NuxtAppInjections { } interface NuxtAppLiterals { - pluginName: 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:payload' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'nuxt:global-components' | 'nuxt:prefetch' + pluginName: 'vue-devtools-client' | 'nuxt:revive-payload:client' | 'nuxt:head' | 'nuxt:router' | 'nuxt:browser-devtools-timing' | 'nuxt:payload' | 'nuxt:revive-payload:server' | 'nuxt:chunk-reload' | 'nuxt:global-components' | 'nuxt:prefetch' | 'nuxt:checkIfPageUnused' | 'nuxt:checkIfLayoutUsed' } } diff --git a/.nuxt/types/runtime-config.d.ts b/.nuxt/types/runtime-config.d.ts index 52538c0d..78dc9ede 100644 --- a/.nuxt/types/runtime-config.d.ts +++ b/.nuxt/types/runtime-config.d.ts @@ -12,6 +12,12 @@ import { RuntimeConfig as UserRuntimeConfig, PublicRuntimeConfig as UserPublicRu vatstackApiKey: string, + db: string, + + redisUrl: string, + + adminPassword: string, + nitro: { envPrefix: string, }, diff --git a/app/pages/admin/dashboard.vue b/app/pages/admin/dashboard.vue new file mode 100644 index 00000000..e4ae5ade --- /dev/null +++ b/app/pages/admin/dashboard.vue @@ -0,0 +1,302 @@ + + + diff --git a/app/pages/admin/index.vue b/app/pages/admin/index.vue new file mode 100644 index 00000000..743f00bd --- /dev/null +++ b/app/pages/admin/index.vue @@ -0,0 +1,74 @@ + + + diff --git a/node_modules/.cache/jiti/vat-api-nuxt.config.38f7f2db.mjs b/node_modules/.cache/jiti/vat-api-nuxt.config.38f7f2db.mjs index 4e4b4a0c..e3623b96 100644 --- a/node_modules/.cache/jiti/vat-api-nuxt.config.38f7f2db.mjs +++ b/node_modules/.cache/jiti/vat-api-nuxt.config.38f7f2db.mjs @@ -20,7 +20,10 @@ var _default = exports.default = defineNuxtConfig({ }, runtimeConfig: { - vatstackApiKey: '' + vatstackApiKey: '', + db: '', + redisUrl: '', + adminPassword: '' }, app: { @@ -31,4 +34,4 @@ var _default = exports.default = defineNuxtConfig({ } } -}); /* v9-40b9d46909467c59 */ +}); /* v9-d85c2260d73c206e */ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BGLmsXN0.js b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BGLmsXN0.js deleted file mode 100644 index c8e2bf85..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/BGLmsXN0.js +++ /dev/null @@ -1 +0,0 @@ -import{S as a,a as s,U as r,V as u,W as o}from"./Dgz6sxCl.js";function d(t){const e=t||s();return e.ssrContext?.head||e.runWithContext(()=>{if(r()){const n=u(o);if(!n)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return n}})}function i(t,e={}){const n=e.head||d(e.nuxt);return a(t,{head:n,...e})}export{i as u}; diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CBwmZ8LB.js b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CBwmZ8LB.js deleted file mode 100644 index bb44ca01..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CBwmZ8LB.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,y as s,z as a,A as t,B as r}from"./Dgz6sxCl.js";import{u as i}from"./BGLmsXN0.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},l={class:"max-w-520px text-center"},c=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return i({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(s(),a("div",u,[t("div",l,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,c),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},x=o(f,[["__scopeId","data-v-d349100d"]]);export{x as default}; diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CeoJbNH2.js b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CeoJbNH2.js deleted file mode 100644 index c7c06356..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/CeoJbNH2.js +++ /dev/null @@ -1,18 +0,0 @@ -import{d as w,o as A,F as T,y as o,z as n,G as $,H as l,A as e,E as C,I as _,J as k,C as b,T as U,D as q,B as p,K as y,i as h,_ as R,L as S,M as j,N as I,O as V,P as B,Q as L,l as M,R as N}from"./Dgz6sxCl.js";import{u as F}from"./BGLmsXN0.js";const H={class:"section-container flex items-center justify-between h-16"},G={class:"hidden md:flex items-center gap-8"},O=["href"],D=["aria-label"],J={key:0,class:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},z={key:1,class:"w-5 h-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},K={key:0,class:"md:hidden bg-white/95 backdrop-blur-xl border-b border-surface-border"},Z={class:"section-container py-4 flex flex-col gap-3"},Q=["href"],Y=w({__name:"Navbar",setup(x){const u=h(!1);function i(){u.value=window.scrollY>20}A(()=>{window.addEventListener("scroll",i,{passive:!0})}),T(()=>{window.removeEventListener("scroll",i)});const a=[{label:"Features",href:"#features"},{label:"Rates",href:"#rates"},{label:"API Docs",href:"#playground"}],s=h(!1);return(d,t)=>(o(),n("nav",{class:$(["fixed top-0 left-0 right-0 z-50 transition-all duration-300",l(u)?"bg-white/80 backdrop-blur-xl shadow-soft border-b border-surface-border":"bg-transparent"])},[e("div",H,[t[5]||(t[5]=e("a",{href:"#",class:"flex items-center gap-2 group"},[e("span",{class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-eu-blue text-white font-heading font-bold text-sm transition-transform group-hover:scale-105"}," V "),e("span",{class:"font-heading font-bold text-lg text-ink"},[C(" vat-api"),e("span",{class:"text-eu-blue"},".eu")])],-1)),e("div",G,[(o(),n(_,null,k(a,c=>e("a",{key:c.href,href:c.href,class:"text-sm font-medium text-ink-secondary hover:text-eu-blue transition-colors"},p(c.label),9,O)),64)),t[2]||(t[2]=e("a",{href:"#playground",class:"inline-flex items-center gap-2 px-4 py-2 rounded-lg bg-eu-blue text-white text-sm font-semibold hover:bg-eu-blue-dark transition-colors"},[C(" Try API "),e("svg",{class:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M13.5 4.5 21 12m0 0-7.5 7.5M21 12H3"})])],-1))]),e("button",{class:"md:hidden p-2 -mr-2 text-ink-secondary hover:text-ink",onClick:t[0]||(t[0]=c=>s.value=!l(s)),"aria-label":l(s)?"Close menu":"Open menu"},[l(s)?(o(),n("svg",z,[...t[4]||(t[4]=[e("path",{"stroke-linecap":"round",d:"M6 18 18 6M6 6l12 12"},null,-1)])])):(o(),n("svg",J,[...t[3]||(t[3]=[e("path",{"stroke-linecap":"round",d:"M4 6h16M4 12h16M4 18h16"},null,-1)])]))],8,D)]),b(U,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"opacity-0 -translate-y-2","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition duration-150 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 -translate-y-2"},{default:q(()=>[l(s)?(o(),n("div",K,[e("div",Z,[(o(),n(_,null,k(a,c=>e("a",{key:c.href,href:c.href,class:"text-sm font-medium text-ink-secondary hover:text-eu-blue py-2 transition-colors",onClick:t[1]||(t[1]=g=>s.value=!1)},p(c.label),9,Q)),64))])])):y("",!0)]),_:1})],2))}}),W=Object.assign(Y,{__name:"Navbar"}),X={},ee={class:"relative pt-32 pb-20 md:pt-40 md:pb-28 overflow-hidden"};function te(x,u){return o(),n("section",ee,[...u[0]||(u[0]=[S(`
Free & Open

EU VAT Rates API

Free. No API key. Always up-to-date.

Get current VAT rates for all 27 EU member states with a single API call. No registration, no rate limits, no nonsense.

GET /api/v1/rates/DE
// Response 200 OK
-{
-  "country": "Germany",
-  "country_code": "DE",
-  "standard_rate": 19,
-  "reduced_rates": [7],
-  "currency": "EUR"
-}
`,3)])])}const se=Object.assign(R(X,[["render",te]]),{__name:"HeroSection"}),oe={id:"features",class:"section-padding bg-surface-soft"},ne={class:"section-container"},ae={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-5"},re=["innerHTML"],le={class:"font-heading font-semibold text-ink mb-1.5"},ie={class:"text-sm text-ink-muted leading-relaxed"},de=w({__name:"FeaturesGrid",setup(x){const u=[{icon:'',title:"All 27 EU Countries",description:"Standard, reduced, and special VAT rates for every member state."},{icon:'',title:"No Authentication",description:"No API keys, no sign-up. Just send a GET request."},{icon:'',title:"Always Current",description:"Rates sourced and synced regularly from official EU data."},{icon:'',title:"Simple JSON",description:"Clean, predictable JSON responses. Easy to integrate anywhere."}];return(i,a)=>(o(),n("section",oe,[e("div",ne,[a[0]||(a[0]=e("div",{class:"text-center mb-14 animate-on-scroll"},[e("h2",{class:"text-title md:text-display-sm text-ink"}," Built for developers "),e("p",{class:"mt-3 text-ink-muted max-w-lg mx-auto"}," A straightforward API that does one thing well — delivering EU VAT rates without friction. ")],-1)),e("div",ae,[(o(),n(_,null,k(u,(s,d)=>e("div",{key:s.title,class:"animate-on-scroll group relative bg-white rounded-2xl p-6 border border-surface-border hover:border-eu-blue/20 hover:shadow-card transition-all duration-300",style:j({transitionDelay:`${d*80}ms`})},[e("div",{class:"w-10 h-10 rounded-xl bg-eu-blue-100 text-eu-blue flex items-center justify-center mb-4 group-hover:bg-eu-blue group-hover:text-white transition-colors duration-300",innerHTML:s.icon},null,8,re),e("h3",le,p(s.title),1),e("p",ie,p(s.description),1)],4)),64))])])]))}}),ce=Object.assign(de,{__name:"FeaturesGrid"}),E=[{country:"Austria",code:"AT",flag:"🇦🇹",standard:20,reduced:[10,13]},{country:"Belgium",code:"BE",flag:"🇧🇪",standard:21,reduced:[6,12]},{country:"Bulgaria",code:"BG",flag:"🇧🇬",standard:20,reduced:[9]},{country:"Croatia",code:"HR",flag:"🇭🇷",standard:25,reduced:[5,13]},{country:"Cyprus",code:"CY",flag:"🇨🇾",standard:19,reduced:[5,9]},{country:"Czech Republic",code:"CZ",flag:"🇨🇿",standard:21,reduced:[12,15]},{country:"Denmark",code:"DK",flag:"🇩🇰",standard:25,reduced:[]},{country:"Estonia",code:"EE",flag:"🇪🇪",standard:22,reduced:[9]},{country:"Finland",code:"FI",flag:"🇫🇮",standard:25.5,reduced:[10,14]},{country:"France",code:"FR",flag:"🇫🇷",standard:20,reduced:[5.5,10]},{country:"Germany",code:"DE",flag:"🇩🇪",standard:19,reduced:[7]},{country:"Greece",code:"GR",flag:"🇬🇷",standard:24,reduced:[6,13]},{country:"Hungary",code:"HU",flag:"🇭🇺",standard:27,reduced:[5,18]},{country:"Ireland",code:"IE",flag:"🇮🇪",standard:23,reduced:[9,13.5]},{country:"Italy",code:"IT",flag:"🇮🇹",standard:22,reduced:[5,10]},{country:"Latvia",code:"LV",flag:"🇱🇻",standard:21,reduced:[5,12]},{country:"Lithuania",code:"LT",flag:"🇱🇹",standard:21,reduced:[5,9]},{country:"Luxembourg",code:"LU",flag:"🇱🇺",standard:17,reduced:[8]},{country:"Malta",code:"MT",flag:"🇲🇹",standard:18,reduced:[5,7]},{country:"Netherlands",code:"NL",flag:"🇳🇱",standard:21,reduced:[9]},{country:"Poland",code:"PL",flag:"🇵🇱",standard:23,reduced:[5,8]},{country:"Portugal",code:"PT",flag:"🇵🇹",standard:23,reduced:[6,13]},{country:"Romania",code:"RO",flag:"🇷🇴",standard:19,reduced:[5,9]},{country:"Slovakia",code:"SK",flag:"🇸🇰",standard:23,reduced:[5,10]},{country:"Slovenia",code:"SI",flag:"🇸🇮",standard:22,reduced:[5,9.5]},{country:"Spain",code:"ES",flag:"🇪🇸",standard:21,reduced:[4,10]},{country:"Sweden",code:"SE",flag:"🇸🇪",standard:25,reduced:[6,12]}];function P(){const x=I(h(E));function u(s){return E.find(d=>d.code===s.toUpperCase())}function i(s){return{country:s.country,country_code:s.code,standard_rate:s.standard,reduced_rates:s.reduced,currency:"EUR"}}function a(){return E.map(i)}return{rates:x,getRateByCode:u,formatApiResponse:i,formatAllRatesResponse:a}}const ue={id:"rates",class:"section-padding"},pe={class:"section-container"},fe={class:"max-w-sm mx-auto mb-8 animate-on-scroll"},me={class:"relative"},xe={class:"animate-on-scroll overflow-hidden rounded-2xl border border-surface-border bg-white shadow-soft"},ge={class:"overflow-x-auto"},he={class:"w-full text-sm"},be={class:"px-5 py-3"},ve={class:"inline-flex items-center gap-2.5"},ye={class:"text-lg leading-none"},_e={class:"font-medium text-ink"},ke={class:"px-5 py-3"},we={class:"inline-flex px-2 py-0.5 rounded bg-surface-muted font-mono text-xs font-medium text-ink-secondary"},$e={class:"px-5 py-3 text-right"},Ce={class:"font-semibold text-ink tabular-nums"},Ae={class:"px-5 py-3 text-right"},Ee={key:0,class:"text-ink-muted tabular-nums"},Te={key:1,class:"text-ink-faint"},Re={key:0},Se={colspan:"4",class:"px-5 py-10 text-center text-ink-muted"},Ve=w({__name:"VatRateTable",setup(x){function u(d){return[...d.toUpperCase()].map(t=>String.fromCodePoint(127462+t.charCodeAt(0)-65)).join("")}const i=h([]);A(async()=>{try{const d=await $fetch("/api/v1/rates");i.value=d.map(t=>({country:t.country,code:t.country_code,flag:u(t.country_code),standard:t.standard_rate,reduced:t.reduced_rates}))}catch{const{rates:d}=P();i.value=d.value}});const a=h(""),s=M(()=>{const d=a.value.toLowerCase().trim();return d?i.value.filter(t=>t.country.toLowerCase().includes(d)||t.code.toLowerCase().includes(d)):i.value});return(d,t)=>(o(),n("section",ue,[e("div",pe,[t[3]||(t[3]=e("div",{class:"text-center mb-10 animate-on-scroll"},[e("h2",{class:"text-title md:text-display-sm text-ink"}," VAT Rates across the EU "),e("p",{class:"mt-3 text-ink-muted max-w-lg mx-auto"}," Current standard and reduced rates for all 27 member states. ")],-1)),e("div",fe,[e("div",me,[t[1]||(t[1]=e("svg",{class:"absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-ink-faint",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"})],-1)),V(e("input",{"onUpdate:modelValue":t[0]||(t[0]=c=>L(a)?a.value=c:null),type:"text",placeholder:"Search countries...",class:"w-full pl-10 pr-4 py-2.5 rounded-xl border border-surface-border bg-white text-sm text-ink placeholder:text-ink-faint focus:outline-none focus:ring-2 focus:ring-eu-blue/20 focus:border-eu-blue/40 transition-all"},null,512),[[B,l(a)]])])]),e("div",xe,[e("div",ge,[e("table",he,[t[2]||(t[2]=e("thead",null,[e("tr",{class:"bg-surface-soft border-b border-surface-border"},[e("th",{class:"text-left font-semibold text-ink-secondary px-5 py-3.5 font-heading"},"Country"),e("th",{class:"text-left font-semibold text-ink-secondary px-5 py-3.5 font-heading w-20"},"Code"),e("th",{class:"text-right font-semibold text-ink-secondary px-5 py-3.5 font-heading w-32"},"Standard"),e("th",{class:"text-right font-semibold text-ink-secondary px-5 py-3.5 font-heading w-40"},"Reduced")])],-1)),e("tbody",null,[(o(!0),n(_,null,k(l(s),c=>(o(),n("tr",{key:c.code,class:"border-b border-surface-border/60 last:border-0 hover:bg-eu-blue-100/40 transition-colors"},[e("td",be,[e("span",ve,[e("span",ye,p(c.flag),1),e("span",_e,p(c.country),1)])]),e("td",ke,[e("span",we,p(c.code),1)]),e("td",$e,[e("span",Ce,p(c.standard)+"%",1)]),e("td",Ae,[c.reduced.length?(o(),n("span",Ee,p(c.reduced.map(g=>`${g}%`).join(", ")),1)):(o(),n("span",Te,"—"))])]))),128)),l(s).length?y("",!0):(o(),n("tr",Re,[e("td",Se,' No countries matching "'+p(l(a))+'" ',1)]))])])])]),t[4]||(t[4]=e("p",{class:"text-center text-xs text-ink-faint mt-4"}," Data updated regularly from official EU sources. ",-1))])]))}}),Le=Object.assign(Ve,{__name:"VatRateTable"}),Me={id:"playground",class:"section-padding bg-surface-soft"},Pe={class:"section-container"},Ue={class:"animate-on-scroll max-w-3xl mx-auto"},qe={class:"bg-white rounded-2xl border border-surface-border shadow-card overflow-hidden"},je={class:"p-5 border-b border-surface-border"},Ie={class:"flex flex-wrap gap-3 items-end"},Be={class:"flex-shrink-0"},Ne={class:"flex rounded-lg border border-surface-border overflow-hidden text-sm"},Fe={key:0,class:"flex-shrink-0"},He=["value"],Ge=["disabled"],Oe={key:0,class:"w-4 h-4 animate-spin",fill:"none",viewBox:"0 0 24 24"},De={class:"mt-3.5 flex items-center gap-2 px-3.5 py-2.5 rounded-lg bg-surface-muted font-mono text-sm overflow-x-auto"},Je={class:"text-ink-secondary"},ze={class:"relative"},Ke={class:"flex items-center justify-between px-5 py-3 bg-[#0d1117] border-b border-white/5"},Ze={key:0,class:"text-xs font-mono px-2 py-0.5 rounded bg-green-500/20 text-green-400"},Qe={key:1,class:"text-xs font-mono px-2 py-0.5 rounded bg-red-500/20 text-red-400"},Ye={class:"bg-[#0d1117] text-[#e6edf3] font-mono text-sm leading-relaxed p-5 max-h-80 overflow-y-auto"},We=["innerHTML"],Xe={key:1,class:"text-[#8b949e] text-sm"},et={key:2,class:"text-[#8b949e] text-sm"},tt=w({__name:"ApiPlayground",setup(x){const{rates:u}=P(),i=h("DE"),a=h(""),s=h(null),d=h(!1),t=h(!1),c=M(()=>t.value?"https://vat-api.eu/api/v1/rates":`https://vat-api.eu/api/v1/rates/${i.value}`);function g(f){return f.replace(/("(?:\\.|[^"\\])*")\s*:/g,'$1:').replace(/:\s*("(?:\\.|[^"\\])*")/g,': $1').replace(/:\s*(\d+\.?\d*)/g,': $1').replace(/(\[|\])/g,'$1').replace(/^(\{|})/gm,'$1')}async function v(){d.value=!0,a.value="",s.value=null;try{const f=t.value?"/api/v1/rates":`/api/v1/rates/${i.value}`,r=await $fetch(f);s.value=200,a.value=g(JSON.stringify(r,null,2))}catch(f){s.value=f?.statusCode??500;const r=f?.data??{error:f?.statusMessage??"Request failed"};a.value=g(JSON.stringify(r,null,2))}finally{d.value=!1}}return A(()=>v()),(f,r)=>(o(),n("section",Me,[e("div",Pe,[r[8]||(r[8]=e("div",{class:"text-center mb-10 animate-on-scroll"},[e("h2",{class:"text-title md:text-display-sm text-ink"}," Try it out "),e("p",{class:"mt-3 text-ink-muted max-w-lg mx-auto"}," Build your request, send it, and see the response. ")],-1)),e("div",Ue,[e("div",qe,[e("div",je,[e("div",Ie,[e("div",Be,[r[3]||(r[3]=e("label",{class:"block text-xs font-medium text-ink-muted mb-1.5"},"Endpoint",-1)),e("div",Ne,[e("button",{class:$(["px-3 py-2 font-medium transition-colors",l(t)?"bg-white text-ink-secondary hover:bg-surface-soft":"bg-eu-blue text-white"]),onClick:r[0]||(r[0]=m=>t.value=!1)}," Single ",2),e("button",{class:$(["px-3 py-2 font-medium transition-colors",l(t)?"bg-eu-blue text-white":"bg-white text-ink-secondary hover:bg-surface-soft"]),onClick:r[1]||(r[1]=m=>t.value=!0)}," All Rates ",2)])]),l(t)?y("",!0):(o(),n("div",Fe,[r[4]||(r[4]=e("label",{class:"block text-xs font-medium text-ink-muted mb-1.5"},"Country",-1)),V(e("select",{"onUpdate:modelValue":r[2]||(r[2]=m=>L(i)?i.value=m:null),class:"px-3 py-2 rounded-lg border border-surface-border bg-white text-sm text-ink focus:outline-none focus:ring-2 focus:ring-eu-blue/20 focus:border-eu-blue/40 transition-all"},[(o(!0),n(_,null,k(l(u),m=>(o(),n("option",{key:m.code,value:m.code},p(m.flag)+" "+p(m.country)+" ("+p(m.code)+") ",9,He))),128))],512),[[N,l(i)]])])),e("button",{class:"px-5 py-2 rounded-lg bg-eu-gold text-eu-blue-dark font-semibold text-sm hover:bg-eu-gold-dark transition-colors flex items-center gap-2",onClick:v,disabled:l(d)},[l(d)?(o(),n("svg",Oe,[...r[5]||(r[5]=[e("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"4"},null,-1),e("path",{class:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"},null,-1)])])):y("",!0),e("span",null,p(l(d)?"Sending...":"Send Request"),1)],8,Ge)]),e("div",De,[r[6]||(r[6]=e("span",{class:"flex-shrink-0 text-xs font-semibold px-1.5 py-0.5 rounded bg-green-100 text-green-700"},"GET",-1)),e("span",Je,p(l(c)),1)])]),e("div",ze,[e("div",Ke,[r[7]||(r[7]=e("span",{class:"text-xs text-[#8b949e] font-mono"},"Response",-1)),l(s)===200?(o(),n("span",Ze,"200 OK")):l(s)?(o(),n("span",Qe,p(l(s))+" Error",1)):y("",!0)]),e("div",Ye,[l(a)?(o(),n("pre",{key:0,class:"text-[13px] leading-6",innerHTML:l(a)},null,8,We)):l(d)?(o(),n("p",Xe,"Loading...")):(o(),n("p",et,'Click "Send Request" to see a response.'))])])])])])]))}}),st=Object.assign(tt,{__name:"ApiPlayground"}),ot={id:"examples",class:"section-padding"},nt={class:"section-container"},at={class:"animate-on-scroll max-w-2xl mx-auto"},rt={class:"rounded-2xl border border-surface-border overflow-hidden shadow-card bg-white"},lt={class:"flex items-center justify-between border-b border-surface-border bg-surface-soft px-1.5"},it={class:"flex"},dt=["onClick"],ct={key:0,class:"absolute bottom-0 left-2 right-2 h-0.5 bg-eu-blue rounded-full"},ut={key:0,class:"w-3.5 h-3.5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2"},pt={key:1,class:"w-3.5 h-3.5 text-green-600",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor","stroke-width":"2.5"},ft={class:"code-block p-5"},mt=["innerHTML"],xt=w({__name:"CodeExamples",setup(x){const u=["cURL","JavaScript","Python"],i=h("cURL"),a={cURL:`# Get all EU VAT rates -curl https://vat-api.eu/api/v1/rates - -# Get rates for a specific country -curl https://vat-api.eu/api/v1/rates/DE`,JavaScript:`const response = await fetch('https://vat-api.eu/api/v1/rates/DE'); -const data = await response.json(); -console.log(data.standard_rate); // 19`,Python:`import requests - -response = requests.get('https://vat-api.eu/api/v1/rates/DE') -data = response.json() -print(data['standard_rate']) # 19`},s={cURL:d(a.cURL),JavaScript:t(a.JavaScript),Python:c(a.Python)};function d(f){return f.replace(/(#.*)/g,'$1').replace(/(curl)\s/g,'$1 ').replace(/(https?:\/\/[^\s]+)/g,'$1')}function t(f){return f.replace(/(\/\/\s*\d+)/g,'$1').replace(/(const|await)\s/g,'$1 ').replace(/(fetch|json|log)\(/g,'$1(').replace(/('https?:\/\/[^']*')/g,'$1').replace(/(\.standard_rate)/g,'$1').replace(/(console)\./g,'$1.').replace(/(response)\./g,'$1.')}function c(f){return f.replace(/(#\s*\d+)/g,'$1').replace(/(import|from)\s/g,'$1 ').replace(/(requests)/g,'$1').replace(/('https?:\/\/[^']*')/g,'$1').replace(/(\['standard_rate'\])/g,'$1').replace(/(print|get)\(/g,'$1(').replace(/(response)\./g,'$1.')}const g=h(!1);async function v(){await navigator.clipboard.writeText(a[i.value]),g.value=!0,setTimeout(()=>{g.value=!1},2e3)}return(f,r)=>(o(),n("section",ot,[e("div",nt,[r[2]||(r[2]=e("div",{class:"text-center mb-10 animate-on-scroll"},[e("h2",{class:"text-title md:text-display-sm text-ink"}," Quick start "),e("p",{class:"mt-3 text-ink-muted max-w-lg mx-auto"}," Integrate EU VAT rates into your project in seconds. ")],-1)),e("div",at,[e("div",rt,[e("div",lt,[e("div",it,[(o(),n(_,null,k(u,m=>e("button",{key:m,class:$(["px-4 py-3 text-sm font-medium transition-colors relative",l(i)===m?"text-eu-blue":"text-ink-muted hover:text-ink-secondary"]),onClick:wt=>i.value=m},[C(p(m)+" ",1),l(i)===m?(o(),n("span",ct)):y("",!0)],10,dt)),64))]),e("button",{class:"flex items-center gap-1.5 px-3 py-1.5 mr-1.5 rounded-lg text-xs font-medium text-ink-muted hover:text-ink-secondary hover:bg-surface-muted transition-colors",onClick:v},[l(g)?(o(),n("svg",pt,[...r[1]||(r[1]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m4.5 12.75 6 6 9-13.5"},null,-1)])])):(o(),n("svg",ut,[...r[0]||(r[0]=[e("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 0 1-.75.75H9.75a.75.75 0 0 1-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 0 1 1.927-.184"},null,-1)])])),C(" "+p(l(g)?"Copied!":"Copy"),1)])]),e("div",ft,[e("pre",{class:"text-[13px] leading-6",innerHTML:s[l(i)]},null,8,mt)])])])])]))}}),gt=Object.assign(xt,{__name:"CodeExamples"}),ht={},bt={class:"border-t border-surface-border bg-white"};function vt(x,u){return o(),n("footer",bt,[...u[0]||(u[0]=[S('
V vat-api.eu

Free EU VAT rate data

',1)])])}const yt=Object.assign(R(ht,[["render",vt]]),{__name:"FooterSection"});function _t(){A(()=>{const x=new IntersectionObserver(i=>{for(const a of i)a.isIntersecting&&(a.target.classList.add("is-visible"),x.unobserve(a.target))},{threshold:.1,rootMargin:"0px 0px -40px 0px"}),u=document.querySelectorAll(".animate-on-scroll");for(const i of u)x.observe(i);T(()=>x.disconnect())})}const kt={class:"min-h-screen"},At=w({__name:"index",setup(x){return F({title:"vat-api.eu — Free EU VAT Rates API",meta:[{name:"description",content:"Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required."},{property:"og:title",content:"vat-api.eu — Free EU VAT Rates API"},{property:"og:description",content:"Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required."},{property:"og:type",content:"website"},{property:"og:url",content:"https://vat-api.eu"},{name:"twitter:card",content:"summary_large_image"},{name:"twitter:title",content:"vat-api.eu — Free EU VAT Rates API"},{name:"twitter:description",content:"Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required."}]}),_t(),(u,i)=>{const a=W,s=se,d=ce,t=Le,c=st,g=gt,v=yt;return o(),n("div",kt,[b(a),e("main",null,[b(s),b(d),b(t),b(c),b(g)]),b(v)])}}});export{At as default}; diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin-ext.C2zvOubV.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin-ext.C2zvOubV.woff2 deleted file mode 100644 index 9785e917..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin-ext.C2zvOubV.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin.4GdczIuU.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin.4GdczIuU.woff2 deleted file mode 100644 index 03e48598..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-400-latin.4GdczIuU.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2 deleted file mode 100644 index b8720095..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin.DRMDZjhP.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin.DRMDZjhP.woff2 deleted file mode 100644 index 67698d87..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Mono-normal-500-latin.DRMDZjhP.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2 deleted file mode 100644 index db39c626..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin.Xz1IZZA0.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin.Xz1IZZA0.woff2 deleted file mode 100644 index 01383d7e..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DM_Sans-normal-400-latin.Xz1IZZA0.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNdyEWwv.js b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNdyEWwv.js deleted file mode 100644 index 2feb8d39..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/DNdyEWwv.js +++ /dev/null @@ -1 +0,0 @@ -import{d as j,u as q,a as L,o as z,b as E,r as O,c as H,e as I,h as A,f as P,p as U,g as D,s as V,i as M,j as B,k as F,n as $,l as p,m as W,q as T,t as G,w as K,v as Q,x as J,_ as X,y as Y,z as Z,A as S,B as _,C as ee,D as te,E as ne}from"./Dgz6sxCl.js";import{u as re}from"./BGLmsXN0.js";const ae=(...t)=>t.find(o=>o!==void 0);function oe(t){const o=t.componentName||"NuxtLink";function c(e){return typeof e=="string"&&e.startsWith("#")}function w(e,i,d){const n=d??t.trailingSlash;if(!e||n!=="append"&&n!=="remove")return e;if(typeof e=="string")return R(e,n);const l="path"in e&&e.path!==void 0?e.path:i(e).path;return{...e,name:void 0,path:R(l,n)}}function C(e){const i=q(),d=G(),n=p(()=>!!e.target&&e.target!=="_self"),l=p(()=>{const s=e.to||e.href||"";return typeof s=="string"&&T(s,{acceptRelative:!0})}),m=P("RouterLink"),v=m&&typeof m!="string"?m.useLink:void 0,f=p(()=>{if(e.external)return!0;const s=e.to||e.href||"";return typeof s=="object"?!1:s===""||l.value}),a=p(()=>{const s=e.to||e.href||"";return f.value?s:w(s,i.resolve,e.trailingSlash)}),g=f.value?void 0:v?.({...e,to:a}),b=p(()=>{const s=e.trailingSlash??t.trailingSlash;if(!a.value||l.value||c(a.value))return a.value;if(f.value){const x=typeof a.value=="object"&&"path"in a.value?B(a.value):a.value,k=typeof x=="object"?i.resolve(x).href:x;return R(k,s)}return typeof a.value=="object"?i.resolve(a.value)?.href??null:R(W(d.app.baseURL,a.value),s)});return{to:a,hasTarget:n,isAbsoluteUrl:l,isExternal:f,href:b,isActive:g?.isActive??p(()=>a.value===i.currentRoute.value.path),isExactActive:g?.isExactActive??p(()=>a.value===i.currentRoute.value.path),route:g?.route??p(()=>i.resolve(a.value)),async navigate(s){await $(b.value,{replace:e.replace,external:f.value||n.value})}}}return j({name:o,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:C,setup(e,{slots:i}){const d=q(),{to:n,href:l,navigate:m,isExternal:v,hasTarget:f,isAbsoluteUrl:a}=C(e),g=V(!1),b=M(null),s=u=>{b.value=e.custom?u?.$el?.nextElementSibling:u?.$el};function x(u){return!g.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===u:e.prefetchOn?.[u]??t.prefetchOn?.[u])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ue()}async function k(u=L()){if(g.value)return;g.value=!0;const h=typeof n.value=="string"?n.value:v.value?B(n.value):d.resolve(n.value).fullPath,r=v.value?new URL(h,window.location.href).href:h;await Promise.all([u.hooks.callHook("link:prefetch",r).catch(()=>{}),!v.value&&!f.value&&F(n.value,d).catch(()=>{})])}if(x("visibility")){const u=L();let h,r=null;z(()=>{const y=le();E(()=>{h=O(()=>{b?.value?.tagName&&(r=y.observe(b.value,async()=>{r?.(),r=null,await k(u)}))})})}),H(()=>{h&&I(h),r?.(),r=null})}return()=>{if(!v.value&&!f.value&&!c(n.value)){const r={ref:s,to:n.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(x("interaction")&&(r.onPointerenter=k.bind(null,void 0),r.onFocus=k.bind(null,void 0)),g.value&&(r.class=e.prefetchedClass||t.prefetchedClass),r.rel=e.rel||void 0),A(P("RouterLink"),r,i.default)}const u=e.target||null,h=ae(e.noRel?"":e.rel,t.externalRelAttribute,a.value||f.value?"noopener noreferrer":"")||null;return e.custom?i.default?i.default({href:l.value,navigate:m,prefetch:k,get route(){if(!l.value)return;const r=new URL(l.value,window.location.href);return{path:r.pathname,fullPath:r.pathname,get query(){return U(r.search)},hash:r.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:l.value}},rel:h,target:u,isExternal:v.value||f.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:l.value||null,rel:h,target:u,onClick:async r=>{if(!(v.value||f.value)){r.preventDefault();try{const y=D(l.value);return await(e.replace?d.replace(y):d.push(y))}finally{if(c(n.value)){const y=n.value.slice(1);let N=y;try{N=decodeURIComponent(y)}catch{}document.getElementById(N)?.focus()}}}}},i.default?.())}}})}const ie=oe(J);function R(t,o){const c=o==="append"?K:Q;return T(t)&&!t.startsWith("http")?t:c(t,!0)}function le(){const t=L();if(t._observer)return t._observer;let o=null;const c=new Map,w=(e,i)=>(o||=new IntersectionObserver(d=>{for(const n of d){const l=c.get(n.target);(n.isIntersecting||n.intersectionRatio>0)&&l&&l()}}),c.set(e,i),o.observe(e),()=>{c.delete(e),o?.unobserve(e),c.size===0&&(o?.disconnect(),o=null)});return t._observer={observe:w}}const se=/2g/;function ue(){const t=navigator.connection;return!!(t&&(t.saveData||se.test(t.effectiveType)))}const ce={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},fe={class:"max-w-520px text-center"},de=["textContent"],he=["textContent"],ve=["textContent"],ge={class:"flex items-center justify-center w-full"},pe={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return re({title:`${o.status} - ${o.statusText} | ${o.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(c,w)=>{const C=ie;return Y(),Z("div",ce,[S("div",fe,[S("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:_(t.status)},null,8,de),S("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:_(t.statusText)},null,8,he),S("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:_(t.description)},null,8,ve),S("div",ge,[ee(C,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:te(()=>[ne(_(t.backHome),1)]),_:1})])])])}}},xe=X(pe,[["__scopeId","data-v-204d37bf"]]);export{xe as default}; diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dgz6sxCl.js b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dgz6sxCl.js deleted file mode 100644 index a6fe4c1f..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Dgz6sxCl.js +++ /dev/null @@ -1,4 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CeoJbNH2.js","./BGLmsXN0.js","./DNdyEWwv.js","./error-404.C-Ezrlz-.css","./CBwmZ8LB.js","./error-500.DBWf9FGj.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();function Js(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ae={},nn=[],it=()=>{},Qi=()=>!1,Jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ys=e=>e.startsWith("onUpdate:"),we=Object.assign,zs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},dc=Object.prototype.hasOwnProperty,oe=(e,t)=>dc.call(e,t),J=Array.isArray,rn=e=>vn(e)==="[object Map]",Ir=e=>vn(e)==="[object Set]",Ro=e=>vn(e)==="[object Date]",hc=e=>vn(e)==="[object RegExp]",z=e=>typeof e=="function",pe=e=>typeof e=="string",lt=e=>typeof e=="symbol",re=e=>e!==null&&typeof e=="object",Xi=e=>(re(e)||z(e))&&z(e.then)&&z(e.catch),Zi=Object.prototype.toString,vn=e=>Zi.call(e),pc=e=>vn(e).slice(8,-1),el=e=>vn(e)==="[object Object]",Nr=e=>pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=Js(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Mr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},gc=/-\w/g,Ke=Mr(e=>e.replace(gc,t=>t.slice(1).toUpperCase())),mc=/\B([A-Z])/g,Jt=Mr(e=>e.replace(mc,"-$1").toLowerCase()),Hr=Mr(e=>e.charAt(0).toUpperCase()+e.slice(1)),zr=Mr(e=>e?`on${Hr(e)}`:""),Pt=(e,t)=>!Object.is(e,t),sn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Lr=e=>{const t=parseFloat(e);return isNaN(t)?e:t},nl=e=>{const t=pe(e)?Number(e):NaN;return isNaN(t)?e:t};let Co;const Dr=()=>Co||(Co=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fr(e){if(J(e)){const t={};for(let n=0;n{if(n){const r=n.split(_c);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function jr(e){let t="";if(pe(e))t=e;else if(J(e))for(let n=0;nYn(n,t))}const sl=e=>!!(e&&e.__v_isRef===!0),Sc=e=>pe(e)?e:e==null?"":J(e)||re(e)&&(e.toString===Zi||!z(e.toString))?sl(e)?Sc(e.value):JSON.stringify(e,ol,2):String(e),ol=(e,t)=>sl(t)?ol(e,t.value):rn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],o)=>(n[Qr(r,o)+" =>"]=s,n),{})}:Ir(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Qr(n))}:lt(t)?Qr(t):re(t)&&!J(t)&&!el(t)?String(t):t,Qr=(e,t="")=>{var n;return lt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let Oe;class il{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Oe,!t&&Oe&&(this.index=(Oe.scopes||(Oe.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;t0&&--this._on===0&&(Oe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Nn){let t=Nn;for(Nn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;In;){let t=In;for(In=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function ul(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function dl(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),Zs(r),xc(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function _s(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(hl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function hl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Bn)||(e.globalVersion=Bn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!_s(e))))return;e.flags|=2;const t=e.dep,n=ue,r=ze;ue=e,ze=!0;try{ul(e);const s=e.fn(e._value);(t.version===0||Pt(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{ue=n,ze=r,dl(e),e.flags&=-3}}function Zs(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)Zs(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let ze=!0;const pl=[];function _t(){pl.push(ze),ze=!1}function bt(){const e=pl.pop();ze=e===void 0?!0:e}function So(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ue;ue=void 0;try{t()}finally{ue=n}}}let Bn=0;class kc{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 eo{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(!ue||!ze||ue===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ue)n=this.activeLink=new kc(ue,this),ue.deps?(n.prevDep=ue.depsTail,ue.depsTail.nextDep=n,ue.depsTail=n):ue.deps=ue.depsTail=n,gl(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=ue.depsTail,n.nextDep=void 0,ue.depsTail.nextDep=n,ue.depsTail=n,ue.deps===n&&(ue.deps=r)}return n}trigger(t){this.version++,Bn++,this.notify(t)}notify(t){Qs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Xs()}}}function gl(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)gl(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const pr=new WeakMap,Wt=Symbol(""),bs=Symbol(""),Un=Symbol("");function Ce(e,t,n){if(ze&&ue){let r=pr.get(e);r||pr.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new eo),s.map=r,s.key=n),s.track()}}function pt(e,t,n,r,s,o){const i=pr.get(e);if(!i){Bn++;return}const l=a=>{a&&a.trigger()};if(Qs(),t==="clear")i.forEach(l);else{const a=J(e),u=a&&Nr(n);if(a&&n==="length"){const c=Number(r);i.forEach((f,p)=>{(p==="length"||p===Un||!lt(p)&&p>=c)&&l(f)})}else switch((n!==void 0||i.has(void 0))&&l(i.get(n)),u&&l(i.get(Un)),t){case"add":a?u&&l(i.get("length")):(l(i.get(Wt)),rn(e)&&l(i.get(bs)));break;case"delete":a||(l(i.get(Wt)),rn(e)&&l(i.get(bs)));break;case"set":rn(e)&&l(i.get(Wt));break}}Xs()}function Pc(e,t){const n=pr.get(e);return n&&n.get(t)}function Qt(e){const t=ne(e);return t===e?t:(Ce(t,"iterate",Un),je(e)?t:t.map(Qe))}function Br(e){return Ce(e=ne(e),"iterate",Un),e}function St(e,t){return at(e)?dn(Ot(e)?Qe(t):t):Qe(t)}const Oc={__proto__:null,[Symbol.iterator](){return Zr(this,Symbol.iterator,e=>St(this,e))},concat(...e){return Qt(this).concat(...e.map(t=>J(t)?Qt(t):t))},entries(){return Zr(this,"entries",e=>(e[1]=St(this,e[1]),e))},every(e,t){return ct(this,"every",e,t,void 0,arguments)},filter(e,t){return ct(this,"filter",e,t,n=>n.map(r=>St(this,r)),arguments)},find(e,t){return ct(this,"find",e,t,n=>St(this,n),arguments)},findIndex(e,t){return ct(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ct(this,"findLast",e,t,n=>St(this,n),arguments)},findLastIndex(e,t){return ct(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ct(this,"forEach",e,t,void 0,arguments)},includes(...e){return es(this,"includes",e)},indexOf(...e){return es(this,"indexOf",e)},join(e){return Qt(this).join(e)},lastIndexOf(...e){return es(this,"lastIndexOf",e)},map(e,t){return ct(this,"map",e,t,void 0,arguments)},pop(){return Cn(this,"pop")},push(...e){return Cn(this,"push",e)},reduce(e,...t){return Ao(this,"reduce",e,t)},reduceRight(e,...t){return Ao(this,"reduceRight",e,t)},shift(){return Cn(this,"shift")},some(e,t){return ct(this,"some",e,t,void 0,arguments)},splice(...e){return Cn(this,"splice",e)},toReversed(){return Qt(this).toReversed()},toSorted(e){return Qt(this).toSorted(e)},toSpliced(...e){return Qt(this).toSpliced(...e)},unshift(...e){return Cn(this,"unshift",e)},values(){return Zr(this,"values",e=>St(this,e))}};function Zr(e,t,n){const r=Br(e),s=r[t]();return r!==e&&!je(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const Ic=Array.prototype;function ct(e,t,n,r,s,o){const i=Br(e),l=i!==e&&!je(e),a=i[t];if(a!==Ic[t]){const f=a.apply(e,o);return l?Qe(f):f}let u=n;i!==e&&(l?u=function(f,p){return n.call(this,St(e,f),p,e)}:n.length>2&&(u=function(f,p){return n.call(this,f,p,e)}));const c=a.call(i,u,r);return l&&s?s(c):c}function Ao(e,t,n,r){const s=Br(e);let o=n;return s!==e&&(je(e)?n.length>3&&(o=function(i,l,a){return n.call(this,i,l,a,e)}):o=function(i,l,a){return n.call(this,i,St(e,l),a,e)}),s[t](o,...r)}function es(e,t,n){const r=ne(e);Ce(r,"iterate",Un);const s=r[t](...n);return(s===-1||s===!1)&&Ur(n[0])?(n[0]=ne(n[0]),r[t](...n)):s}function Cn(e,t,n=[]){_t(),Qs();const r=ne(e)[t].apply(e,n);return Xs(),bt(),r}const Nc=Js("__proto__,__v_isRef,__isVue"),ml=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lt));function Mc(e){lt(e)||(e=String(e));const t=ne(this);return Ce(t,"has",e),t.hasOwnProperty(e)}class yl{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return r===(s?o?Wc:wl:o?vl:bl).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const i=J(t);if(!s){let a;if(i&&(a=Oc[n]))return a;if(n==="hasOwnProperty")return Mc}const l=Reflect.get(t,n,ye(t)?t:r);if((lt(n)?ml.has(n):Nc(n))||(s||Ce(t,"get",n),o))return l;if(ye(l)){const a=i&&Nr(n)?l:l.value;return s&&re(a)?ws(a):a}return re(l)?s?ws(l):Nt(l):l}}class _l extends yl{constructor(t=!1){super(!1,t)}set(t,n,r,s){let o=t[n];const i=J(t)&&Nr(n);if(!this._isShallow){const u=at(o);if(!je(r)&&!at(r)&&(o=ne(o),r=ne(r)),!i&&ye(o)&&!ye(r))return u||(o.value=r),!0}const l=i?Number(n)e,tr=e=>Reflect.getPrototypeOf(e);function jc(e,t,n){return function(...r){const s=this.__v_raw,o=ne(s),i=rn(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,u=s[e](...r),c=n?vs:t?dn:Qe;return!t&&Ce(o,"iterate",a?bs:Wt),we(Object.create(u),{next(){const{value:f,done:p}=u.next();return p?{value:f,done:p}:{value:l?[c(f[0]),c(f[1])]:c(f),done:p}}})}}function nr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Bc(e,t){const n={get(s){const o=this.__v_raw,i=ne(o),l=ne(s);e||(Pt(s,l)&&Ce(i,"get",s),Ce(i,"get",l));const{has:a}=tr(i),u=t?vs:e?dn:Qe;if(a.call(i,s))return u(o.get(s));if(a.call(i,l))return u(o.get(l));o!==i&&o.get(s)},get size(){const s=this.__v_raw;return!e&&Ce(ne(s),"iterate",Wt),s.size},has(s){const o=this.__v_raw,i=ne(o),l=ne(s);return e||(Pt(s,l)&&Ce(i,"has",s),Ce(i,"has",l)),s===l?o.has(s):o.has(s)||o.has(l)},forEach(s,o){const i=this,l=i.__v_raw,a=ne(l),u=t?vs:e?dn:Qe;return!e&&Ce(a,"iterate",Wt),l.forEach((c,f)=>s.call(o,u(c),u(f),i))}};return we(n,e?{add:nr("add"),set:nr("set"),delete:nr("delete"),clear:nr("clear")}:{add(s){!t&&!je(s)&&!at(s)&&(s=ne(s));const o=ne(this);return tr(o).has.call(o,s)||(o.add(s),pt(o,"add",s,s)),this},set(s,o){!t&&!je(o)&&!at(o)&&(o=ne(o));const i=ne(this),{has:l,get:a}=tr(i);let u=l.call(i,s);u||(s=ne(s),u=l.call(i,s));const c=a.call(i,s);return i.set(s,o),u?Pt(o,c)&&pt(i,"set",s,o):pt(i,"add",s,o),this},delete(s){const o=ne(this),{has:i,get:l}=tr(o);let a=i.call(o,s);a||(s=ne(s),a=i.call(o,s)),l&&l.call(o,s);const u=o.delete(s);return a&&pt(o,"delete",s,void 0),u},clear(){const s=ne(this),o=s.size!==0,i=s.clear();return o&&pt(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=jc(s,e,t)}),n}function to(e,t){const n=Bc(e,t);return(r,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(oe(n,s)&&s in r?n:r,s,o)}const Uc={get:to(!1,!1)},$c={get:to(!1,!0)},Vc={get:to(!0,!1)};const bl=new WeakMap,vl=new WeakMap,wl=new WeakMap,Wc=new WeakMap;function Kc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gc(e){return e.__v_skip||!Object.isExtensible(e)?0:Kc(pc(e))}function Nt(e){return at(e)?e:no(e,!1,Lc,Uc,bl)}function mt(e){return no(e,!1,Fc,$c,vl)}function ws(e){return no(e,!0,Dc,Vc,wl)}function no(e,t,n,r,s){if(!re(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=Gc(e);if(o===0)return e;const i=s.get(e);if(i)return i;const l=new Proxy(e,o===2?r:n);return s.set(e,l),l}function Ot(e){return at(e)?Ot(e.__v_raw):!!(e&&e.__v_isReactive)}function at(e){return!!(e&&e.__v_isReadonly)}function je(e){return!!(e&&e.__v_isShallow)}function Ur(e){return e?!!e.__v_raw:!1}function ne(e){const t=e&&e.__v_raw;return t?ne(t):e}function qc(e){return!oe(e,"__v_skip")&&Object.isExtensible(e)&&tl(e,"__v_skip",!0),e}const Qe=e=>re(e)?Nt(e):e,dn=e=>re(e)?ws(e):e;function ye(e){return e?e.__v_isRef===!0:!1}function yt(e){return El(e,!1)}function $n(e){return El(e,!0)}function El(e,t){return ye(e)?e:new Jc(e,t)}class Jc{constructor(t,n){this.dep=new eo,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ne(t),this._value=n?t:Qe(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||je(t)||at(t);t=r?t:ne(t),Pt(t,n)&&(this._rawValue=t,this._value=r?t:Qe(t),this.dep.trigger())}}function de(e){return ye(e)?e.value:e}function Yc(e){return z(e)?e():de(e)}const zc={get:(e,t,n)=>t==="__v_raw"?e:de(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return ye(s)&&!ye(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Tl(e){return Ot(e)?e:new Proxy(e,zc)}class Qc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=ne(t);let s=!0,o=t;if(!J(t)||!Nr(String(n)))do s=!Ur(o)||je(o);while(s&&(o=o.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=de(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&ye(this._raw[this._key])){const n=this._object[this._key];if(ye(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Pc(this._raw,this._key)}}class Xc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Zc(e,t,n){return ye(e)?e:z(e)?new Xc(e):re(e)&&arguments.length>1?ef(e,t,n):yt(e)}function ef(e,t,n){return new Qc(e,t,n)}class tf{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new eo(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Bn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&ue!==this)return fl(this,!0),!0}get value(){const t=this.dep.track();return hl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function nf(e,t,n=!1){let r,s;return z(e)?r=e:(r=e.get,s=e.set),new tf(r,s,n)}const rr={},gr=new WeakMap;let jt;function rf(e,t=!1,n=jt){if(n){let r=gr.get(n);r||gr.set(n,r=[]),r.push(e)}}function sf(e,t,n=ae){const{immediate:r,deep:s,once:o,scheduler:i,augmentJob:l,call:a}=n,u=b=>s?b:je(b)||s===!1||s===0?gt(b,1):gt(b);let c,f,p,d,m=!1,_=!1;if(ye(e)?(f=()=>e.value,m=je(e)):Ot(e)?(f=()=>u(e),m=!0):J(e)?(_=!0,m=e.some(b=>Ot(b)||je(b)),f=()=>e.map(b=>{if(ye(b))return b.value;if(Ot(b))return u(b);if(z(b))return a?a(b,2):b()})):z(e)?t?f=a?()=>a(e,2):e:f=()=>{if(p){_t();try{p()}finally{bt()}}const b=jt;jt=c;try{return a?a(e,3,[d]):e(d)}finally{jt=b}}:f=it,t&&s){const b=f,E=s===!0?1/0:s;f=()=>gt(b(),E)}const T=ll(),R=()=>{c.stop(),T&&T.active&&zs(T.effects,c)};if(o&&t){const b=t;t=(...E)=>{b(...E),R()}}let v=_?new Array(e.length).fill(rr):rr;const g=b=>{if(!(!(c.flags&1)||!c.dirty&&!b))if(t){const E=c.run();if(s||m||(_?E.some((S,M)=>Pt(S,v[M])):Pt(E,v))){p&&p();const S=jt;jt=c;try{const M=[E,v===rr?void 0:_&&v[0]===rr?[]:v,d];v=E,a?a(t,3,M):t(...M)}finally{jt=S}}}else c.run()};return l&&l(g),c=new al(f),c.scheduler=i?()=>i(g,!1):g,d=b=>rf(b,!1,c),p=c.onStop=()=>{const b=gr.get(c);if(b){if(a)a(b,4);else for(const E of b)E();gr.delete(c)}},t?r?g(!0):v=c.run():i?i(g.bind(null,!0),!0):c.run(),R.pause=c.pause.bind(c),R.resume=c.resume.bind(c),R.stop=R,R}function gt(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--,ye(e))gt(e.value,t,n);else if(J(e))for(let r=0;r{gt(r,t,n)});else if(el(e)){for(const r in e)gt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&>(e[r],t,n)}return e}function zn(e,t,n,r){try{return r?e(...r):e()}catch(s){wn(s,t,n)}}function Xe(e,t,n,r){if(z(e)){const s=zn(e,t,n,r);return s&&Xi(s)&&s.catch(o=>{wn(o,t,n)}),s}if(J(e)){const s=[];for(let o=0;o>>1,s=xe[r],o=Vn(s);o=Vn(n)?xe.push(e):xe.splice(lf(t),0,e),e.flags|=1,Cl()}}function Cl(){mr||(mr=Rl.then(Sl))}function Es(e){J(e)?on.push(...e):At&&e.id===-1?At.splice(Zt+1,0,e):e.flags&1||(on.push(e),e.flags|=1),Cl()}function xo(e,t,n=nt+1){for(;nVn(n)-Vn(r));if(on.length=0,At){At.push(...t);return}for(At=t,Zt=0;Zte.id==null?e.flags&2?-1:1/0:e.id;function Sl(e){try{for(nt=0;nt{r._d&&Tr(-1);const o=_r(t);let i;try{i=e(...s)}finally{_r(o),r._d&&Tr(1)}return i};return r._n=!0,r._c=!0,r._d=!0,r}function cm(e,t){if(Fe===null)return e;const n=Kr(Fe),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&z(t)?t.call(r&&r.proxy):t}}function so(){return!!(En()||Kt)}const af=Symbol.for("v-scx"),cf=()=>Be(af);function ff(e,t){return oo(e,null,t)}function an(e,t,n){return oo(e,t,n)}function oo(e,t,n=ae){const{immediate:r,deep:s,flush:o,once:i}=n,l=we({},n),a=t&&r||!t&&o!=="post";let u;if(yn){if(o==="sync"){const d=cf();u=d.__watcherHandles||(d.__watcherHandles=[])}else if(!a){const d=()=>{};return d.stop=it,d.resume=it,d.pause=it,d}}const c=Ee;l.call=(d,m,_)=>Xe(d,c,m,_);let f=!1;o==="post"?l.scheduler=d=>{be(d,c&&c.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(d,m)=>{m?d():ro(d)}),l.augmentJob=d=>{t&&(d.flags|=4),f&&(d.flags|=2,c&&(d.id=c.uid,d.i=c))};const p=sf(e,t,l);return yn&&(u?u.push(p):a&&p()),p}function uf(e,t,n){const r=this.proxy,s=pe(e)?e.includes(".")?kl(r,e):()=>r[e]:e.bind(r,r);let o;z(t)?o=t:(o=t.handler,n=t);const i=er(this),l=oo(s,o.bind(r),n);return i(),l}function kl(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,st=Symbol("_leaveCb"),Sn=Symbol("_enterCb");function hf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return lo(()=>{e.isMounted=!0}),Zn(()=>{e.isUnmounting=!0}),e}const $e=[Function,Array],Ol={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:$e,onEnter:$e,onAfterEnter:$e,onEnterCancelled:$e,onBeforeLeave:$e,onLeave:$e,onAfterLeave:$e,onLeaveCancelled:$e,onBeforeAppear:$e,onAppear:$e,onAfterAppear:$e,onAppearCancelled:$e},Il=e=>{const t=e.subTree;return t.component?Il(t.component):t},pf={name:"BaseTransition",props:Ol,setup(e,{slots:t}){const n=En(),r=hf();return()=>{const s=t.default&&Hl(t.default(),!0);if(!s||!s.length)return;const o=Nl(s),i=ne(e),{mode:l}=i;if(r.isLeaving)return ts(o);const a=ko(o);if(!a)return ts(o);let u=Ts(a,i,r,n,f=>u=f);a.type!==ve&&pn(a,u);let c=n.subTree&&ko(n.subTree);if(c&&c.type!==ve&&!Je(c,a)&&Il(n).type!==ve){let f=Ts(c,i,r,n);if(pn(c,f),l==="out-in"&&a.type!==ve)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},ts(o);l==="in-out"&&a.type!==ve?f.delayLeave=(p,d,m)=>{const _=Ml(r,c);_[String(c.key)]=c,p[st]=()=>{d(),p[st]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{m(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function Nl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ve){t=n;break}}return t}const gf=pf;function Ml(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Ts(e,t,n,r,s){const{appear:o,mode:i,persisted:l=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:p,onLeave:d,onAfterLeave:m,onLeaveCancelled:_,onBeforeAppear:T,onAppear:R,onAfterAppear:v,onAppearCancelled:g}=t,b=String(e.key),E=Ml(n,e),S=(I,N)=>{I&&Xe(I,r,9,N)},M=(I,N)=>{const W=N[1];S(I,N),J(I)?I.every(O=>O.length<=1)&&W():I.length<=1&&W()},V={mode:i,persisted:l,beforeEnter(I){let N=a;if(!n.isMounted)if(o)N=T||a;else return;I[st]&&I[st](!0);const W=E[b];W&&Je(e,W)&&W.el[st]&&W.el[st](),S(N,[I])},enter(I){let N=u,W=c,O=f;if(!n.isMounted)if(o)N=R||u,W=v||c,O=g||f;else return;let K=!1;I[Sn]=le=>{K||(K=!0,le?S(O,[I]):S(W,[I]),V.delayedLeave&&V.delayedLeave(),I[Sn]=void 0)};const ee=I[Sn].bind(null,!1);N?M(N,[I,ee]):ee()},leave(I,N){const W=String(e.key);if(I[Sn]&&I[Sn](!0),n.isUnmounting)return N();S(p,[I]);let O=!1;I[st]=ee=>{O||(O=!0,N(),ee?S(_,[I]):S(m,[I]),I[st]=void 0,E[W]===e&&delete E[W])};const K=I[st].bind(null,!1);E[W]=e,d?M(d,[I,K]):K()},clone(I){const N=Ts(I,t,n,r,s);return s&&s(N),N}};return V}function ts(e){if(Xn(e))return e=vt(e),e.children=null,e}function ko(e){if(!Xn(e))return Pl(e.type)&&e.children?Nl(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&&z(n.default))return n.default()}}function pn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,pn(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 Hl(e,t=!1,n){let r=[],s=0;for(let o=0;o1)for(let o=0;ocn(_,t&&(J(t)?t[T]:t),n,r,s));return}if(It(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&cn(e,t,n,r.component.subTree);return}const o=r.shapeFlag&4?Kr(r.component):r.el,i=s?null:o,{i:l,r:a}=e,u=t&&t.r,c=l.refs===ae?l.refs={}:l.refs,f=l.setupState,p=ne(f),d=f===ae?Qi:_=>Po(c,_)?!1:oe(p,_),m=(_,T)=>!(T&&Po(c,T));if(u!=null&&u!==a){if(Oo(t),pe(u))c[u]=null,d(u)&&(f[u]=null);else if(ye(u)){const _=t;m(u,_.k)&&(u.value=null),_.k&&(c[_.k]=null)}}if(z(a))zn(a,l,12,[i,c]);else{const _=pe(a),T=ye(a);if(_||T){const R=()=>{if(e.f){const v=_?d(a)?f[a]:c[a]:m()||!e.k?a.value:c[e.k];if(s)J(v)&&zs(v,o);else if(J(v))v.includes(o)||v.push(o);else if(_)c[a]=[o],d(a)&&(f[a]=c[a]);else{const g=[o];m(a,e.k)&&(a.value=g),e.k&&(c[e.k]=g)}}else _?(c[a]=i,d(a)&&(f[a]=i)):T&&(m(a,e.k)&&(a.value=i),e.k&&(c[e.k]=i))};if(i){const v=()=>{R(),br.delete(e)};v.id=-1,br.set(e,v),be(v,n)}else Oo(e),R()}}}function Oo(e){const t=br.get(e);t&&(t.flags|=8,br.delete(e))}let Io=!1;const Xt=()=>{Io||(console.error("Hydration completed but contains mismatches."),Io=!0)},mf=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",yf=e=>e.namespaceURI.includes("MathML"),sr=e=>{if(e.nodeType===1){if(mf(e))return"svg";if(yf(e))return"mathml"}},tn=e=>e.nodeType===8;function _f(e){const{mt:t,p:n,o:{patchProp:r,createText:s,nextSibling:o,parentNode:i,remove:l,insert:a,createComment:u}}=e,c=(g,b)=>{if(!b.hasChildNodes()){n(null,g,b),yr(),b._vnode=g;return}f(b.firstChild,g,null,null,null),yr(),b._vnode=g},f=(g,b,E,S,M,V=!1)=>{V=V||!!b.dynamicChildren;const I=tn(g)&&g.data==="[",N=()=>_(g,b,E,S,M,I),{type:W,ref:O,shapeFlag:K,patchFlag:ee}=b;let le=g.nodeType;b.el=g,ee===-2&&(V=!1,b.dynamicChildren=null);let $=null;switch(W){case Gt:le!==3?b.children===""?(a(b.el=s(""),i(g),g),$=g):$=N():(g.data!==b.children&&(Xt(),g.data=b.children),$=o(g));break;case ve:v(g)?($=o(g),R(b.el=g.content.firstChild,g,E)):le!==8||I?$=N():$=o(g);break;case Hn:if(I&&(g=o(g),le=g.nodeType),le===1||le===3){$=g;const Q=!b.children.length;for(let B=0;B{V=V||!!b.dynamicChildren;const{type:I,props:N,patchFlag:W,shapeFlag:O,dirs:K,transition:ee}=b,le=I==="input"||I==="option";if(le||W!==-1){K&&rt(b,null,E,"created");let $=!1;if(v(g)){$=oa(null,ee)&&E&&E.vnode.props&&E.vnode.props.appear;const B=g.content.firstChild;if($){const ce=B.getAttribute("class");ce&&(B.$cls=ce),ee.beforeEnter(B)}R(B,g,E),b.el=g=B}if(O&16&&!(N&&(N.innerHTML||N.textContent))){let B=d(g.firstChild,b,g,E,S,M,V);for(;B;){or(g,1)||Xt();const ce=B;B=B.nextSibling,l(ce)}}else if(O&8){let B=b.children;B[0]===` -`&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(B=B.slice(1));const{textContent:ce}=g;ce!==B&&ce!==B.replace(/\r\n|\r/g,` -`)&&(or(g,0)||Xt(),g.textContent=b.children)}if(N){if(le||!V||W&48){const B=g.tagName.includes("-");for(const ce in N)(le&&(ce.endsWith("value")||ce==="indeterminate")||Jn(ce)&&!Vt(ce)||ce[0]==="."||B&&!Vt(ce))&&r(g,ce,null,N[ce],void 0,E)}else if(N.onClick)r(g,"onClick",null,N.onClick,void 0,E);else if(W&4&&Ot(N.style))for(const B in N.style)N.style[B]}let Q;(Q=N&&N.onVnodeBeforeMount)&&Ie(Q,E,b),K&&rt(b,null,E,"beforeMount"),((Q=N&&N.onVnodeMounted)||K||$)&&ua(()=>{Q&&Ie(Q,E,b),$&&ee.enter(g),K&&rt(b,null,E,"mounted")},S)}return g.nextSibling},d=(g,b,E,S,M,V,I)=>{I=I||!!b.dynamicChildren;const N=b.children,W=N.length;for(let O=0;O{const{slotScopeIds:I}=b;I&&(M=M?M.concat(I):I);const N=i(g),W=d(o(g),b,N,E,S,M,V);return W&&tn(W)&&W.data==="]"?o(b.anchor=W):(Xt(),a(b.anchor=u("]"),N,W),W)},_=(g,b,E,S,M,V)=>{if(or(g.parentElement,1)||Xt(),b.el=null,V){const W=T(g);for(;;){const O=o(g);if(O&&O!==W)l(O);else break}}const I=o(g),N=i(g);return l(g),n(null,b,N,I,E,S,sr(N),M),E&&(E.vnode.el=b.el,Wr(E,b.el)),I},T=(g,b="[",E="]")=>{let S=0;for(;g;)if(g=o(g),g&&tn(g)&&(g.data===b&&S++,g.data===E)){if(S===0)return o(g);S--}return g},R=(g,b,E)=>{const S=b.parentNode;S&&S.replaceChild(g,b);let M=E;for(;M;)M.vnode.el===b&&(M.vnode.el=M.subTree.el=g),M=M.parent},v=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[c,f]}const No="data-allow-mismatch",bf={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function or(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(No);)e=e.parentElement;const n=e&&e.getAttribute(No);if(n==null)return!1;if(n==="")return!0;{const r=n.split(",");return t===0&&r.includes("children")?!0:r.includes(bf[t])}}Dr().requestIdleCallback;Dr().cancelIdleCallback;function vf(e,t){if(tn(e)&&e.data==="["){let n=1,r=e.nextSibling;for(;r;){if(r.nodeType===1){if(t(r)===!1)break}else if(tn(r))if(r.data==="]"){if(--n===0)break}else r.data==="["&&n++;r=r.nextSibling}}else t(e)}const It=e=>!!e.type.__asyncLoader;function Mo(e){z(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:s=200,hydrate:o,timeout:i,suspensible:l=!0,onError:a}=e;let u=null,c,f=0;const p=()=>(f++,u=null,d()),d=()=>{let m;return u||(m=u=t().catch(_=>{if(_=_ instanceof Error?_:new Error(String(_)),a)return new Promise((T,R)=>{a(_,()=>T(p()),()=>R(_),f+1)});throw _}).then(_=>m!==u&&u?u:(_&&(_.__esModule||_[Symbol.toStringTag]==="Module")&&(_=_.default),c=_,_)))};return Qn({name:"AsyncComponentWrapper",__asyncLoader:d,__asyncHydrate(m,_,T){let R=!1;(_.bu||(_.bu=[])).push(()=>R=!0);const v=()=>{R||T()},g=o?()=>{const b=o(v,E=>vf(m,E));b&&(_.bum||(_.bum=[])).push(b)}:v;c?g():d().then(()=>!_.isUnmounted&&g())},get __asyncResolved(){return c},setup(){const m=Ee;if(io(m),c)return()=>ir(c,m);const _=g=>{u=null,wn(g,m,13,!r)};if(l&&m.suspense||yn)return d().then(g=>()=>ir(g,m)).catch(g=>(_(g),()=>r?me(r,{error:g}):null));const T=yt(!1),R=yt(),v=yt(!!s);return s&&setTimeout(()=>{v.value=!1},s),i!=null&&setTimeout(()=>{if(!T.value&&!R.value){const g=new Error(`Async component timed out after ${i}ms.`);_(g),R.value=g}},i),d().then(()=>{T.value=!0,m.parent&&Xn(m.parent.vnode)&&m.parent.update()}).catch(g=>{_(g),R.value=g}),()=>{if(T.value&&c)return ir(c,m);if(R.value&&r)return me(r,{error:R.value});if(n&&!v.value)return ir(n,m)}}})}function ir(e,t){const{ref:n,props:r,children:s,ce:o}=t.vnode,i=me(e,r,s);return i.ref=n,i.ce=o,delete t.vnode.ce,i}const Xn=e=>e.type.__isKeepAlive,wf={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=En(),r=n.ctx;if(!r.renderer)return()=>{const v=t.default&&t.default();return v&&v.length===1?v[0]:v};const s=new Map,o=new Set;let i=null;const l=n.suspense,{renderer:{p:a,m:u,um:c,o:{createElement:f}}}=r,p=f("div");r.activate=(v,g,b,E,S)=>{const M=v.component;u(v,g,b,0,l),a(M.vnode,v,g,b,M,l,E,v.slotScopeIds,S),be(()=>{M.isDeactivated=!1,M.a&&sn(M.a);const V=v.props&&v.props.onVnodeMounted;V&&Ie(V,M.parent,v)},l)},r.deactivate=v=>{const g=v.component;wr(g.m),wr(g.a),u(v,p,null,1,l),be(()=>{g.da&&sn(g.da);const b=v.props&&v.props.onVnodeUnmounted;b&&Ie(b,g.parent,v),g.isDeactivated=!0},l)};function d(v){ns(v),c(v,n,l,!0)}function m(v){s.forEach((g,b)=>{const E=Os(It(g)?g.type.__asyncResolved||{}:g.type);E&&!v(E)&&_(b)})}function _(v){const g=s.get(v);g&&(!i||!Je(g,i))?d(g):i&&ns(i),s.delete(v),o.delete(v)}an(()=>[e.include,e.exclude],([v,g])=>{v&&m(b=>Pn(v,b)),g&&m(b=>!Pn(g,b))},{flush:"post",deep:!0});let T=null;const R=()=>{T!=null&&(Er(n.subTree.type)?be(()=>{s.set(T,lr(n.subTree))},n.subTree.suspense):s.set(T,lr(n.subTree)))};return lo(R),jl(R),Zn(()=>{s.forEach(v=>{const{subTree:g,suspense:b}=n,E=lr(g);if(v.type===E.type&&v.key===E.key){ns(E);const S=E.component.da;S&&be(S,b);return}d(v)})}),()=>{if(T=null,!t.default)return i=null;const v=t.default(),g=v[0];if(v.length>1)return i=null,v;if(!mn(g)||!(g.shapeFlag&4)&&!(g.shapeFlag&128))return i=null,g;let b=lr(g);if(b.type===ve)return i=null,b;const E=b.type,S=Os(It(b)?b.type.__asyncResolved||{}:E),{include:M,exclude:V,max:I}=e;if(M&&(!S||!Pn(M,S))||V&&S&&Pn(V,S))return b.shapeFlag&=-257,i=b,g;const N=b.key==null?E:b.key,W=s.get(N);return b.el&&(b=vt(b),g.shapeFlag&128&&(g.ssContent=b)),T=N,W?(b.el=W.el,b.component=W.component,b.transition&&pn(b,b.transition),b.shapeFlag|=512,o.delete(N),o.add(N)):(o.add(N),I&&o.size>parseInt(I,10)&&_(o.values().next().value)),b.shapeFlag|=256,i=b,Er(g.type)?g:b}}},Ef=wf;function Pn(e,t){return J(e)?e.some(n=>Pn(n,t)):pe(e)?e.split(",").includes(t):hc(e)?(e.lastIndex=0,e.test(t)):!1}function Ll(e,t){Fl(e,"a",t)}function Dl(e,t){Fl(e,"da",t)}function Fl(e,t,n=Ee){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if($r(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Xn(s.parent.vnode)&&Tf(r,t,n,s),s=s.parent}}function Tf(e,t,n,r){const s=$r(t,e,r,!0);Bl(()=>{zs(r[t],s)},n)}function ns(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function lr(e){return e.shapeFlag&128?e.ssContent:e}function $r(e,t,n=Ee,r=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{_t();const l=er(n),a=Xe(t,n,e,i);return l(),bt(),a});return r?s.unshift(o):s.push(o),o}}const wt=e=>(t,n=Ee)=>{(!yn||e==="sp")&&$r(e,(...r)=>t(...r),n)},Rf=wt("bm"),lo=wt("m"),Cf=wt("bu"),jl=wt("u"),Zn=wt("bum"),Bl=wt("um"),Sf=wt("sp"),Af=wt("rtg"),xf=wt("rtc");function Ul(e,t=Ee){$r("ec",e,t)}const $l="components";function fm(e,t){return Wl($l,e,!0,t)||e}const Vl=Symbol.for("v-ndc");function kf(e){return pe(e)?Wl($l,e,!1)||e:e||Vl}function Wl(e,t,n=!0,r=!1){const s=Fe||Ee;if(s){const o=s.type;{const l=Os(o,!1);if(l&&(l===t||l===Ke(t)||l===Hr(Ke(t))))return o}const i=Ho(s[e]||o[e],t)||Ho(s.appContext[e],t);return!i&&r?o:i}}function Ho(e,t){return e&&(e[t]||e[Ke(t)]||e[Hr(Ke(t))])}function um(e,t,n,r){let s;const o=n,i=J(e);if(i||pe(e)){const l=i&&Ot(e);let a=!1,u=!1;l&&(a=!je(e),u=at(e),e=Br(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(l,a,void 0,o));else{const l=Object.keys(e);s=new Array(l.length);for(let a=0,u=l.length;ae?_a(e)?Kr(e):Rs(e.parent):null,Mn=we(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=>Rs(e.parent),$root:e=>Rs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Gl(e),$forceUpdate:e=>e.f||(e.f=()=>{ro(e.update)}),$nextTick:e=>e.n||(e.n=hn.bind(e.proxy)),$watch:e=>uf.bind(e)}),rs=(e,t)=>e!==ae&&!e.__isScriptSetup&&oe(e,t),Pf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:o,accessCache:i,type:l,appContext:a}=e;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(rs(r,t))return i[t]=1,r[t];if(s!==ae&&oe(s,t))return i[t]=2,s[t];if(oe(o,t))return i[t]=3,o[t];if(n!==ae&&oe(n,t))return i[t]=4,n[t];Cs&&(i[t]=0)}}const u=Mn[t];let c,f;if(u)return t==="$attrs"&&Ce(e.attrs,"get",""),u(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==ae&&oe(n,t))return i[t]=4,n[t];if(f=a.config.globalProperties,oe(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:o}=e;return rs(s,t)?(s[t]=n,!0):r!==ae&&oe(r,t)?(r[t]=n,!0):oe(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:o,type:i}},l){let a;return!!(n[l]||e!==ae&&l[0]!=="$"&&oe(e,l)||rs(t,l)||oe(o,l)||oe(r,l)||oe(Mn,l)||oe(s.config.globalProperties,l)||(a=i.__cssModules)&&a[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:oe(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Lo(e){return J(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Cs=!0;function Of(e){const t=Gl(e),n=e.proxy,r=e.ctx;Cs=!1,t.beforeCreate&&Do(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:i,watch:l,provide:a,inject:u,created:c,beforeMount:f,mounted:p,beforeUpdate:d,updated:m,activated:_,deactivated:T,beforeDestroy:R,beforeUnmount:v,destroyed:g,unmounted:b,render:E,renderTracked:S,renderTriggered:M,errorCaptured:V,serverPrefetch:I,expose:N,inheritAttrs:W,components:O,directives:K,filters:ee}=t;if(u&&If(u,r,null),i)for(const Q in i){const B=i[Q];z(B)&&(r[Q]=B.bind(n))}if(s){const Q=s.call(n,n);re(Q)&&(e.data=Nt(Q))}if(Cs=!0,o)for(const Q in o){const B=o[Q],ce=z(B)?B.bind(n,n):z(B.get)?B.get.bind(n,n):it,Tt=!z(B)&&z(B.set)?B.set.bind(n):it,et=Ye({get:ce,set:Tt});Object.defineProperty(r,Q,{enumerable:!0,configurable:!0,get:()=>et.value,set:ke=>et.value=ke})}if(l)for(const Q in l)Kl(l[Q],r,n,Q);if(a){const Q=z(a)?a.call(n):a;Reflect.ownKeys(Q).forEach(B=>{ln(B,Q[B])})}c&&Do(c,e,"c");function $(Q,B){J(B)?B.forEach(ce=>Q(ce.bind(n))):B&&Q(B.bind(n))}if($(Rf,f),$(lo,p),$(Cf,d),$(jl,m),$(Ll,_),$(Dl,T),$(Ul,V),$(xf,S),$(Af,M),$(Zn,v),$(Bl,b),$(Sf,I),J(N))if(N.length){const Q=e.exposed||(e.exposed={});N.forEach(B=>{Object.defineProperty(Q,B,{get:()=>n[B],set:ce=>n[B]=ce,enumerable:!0})})}else e.exposed||(e.exposed={});E&&e.render===it&&(e.render=E),W!=null&&(e.inheritAttrs=W),O&&(e.components=O),K&&(e.directives=K),I&&io(e)}function If(e,t,n=it){J(e)&&(e=Ss(e));for(const r in e){const s=e[r];let o;re(s)?"default"in s?o=Be(s.from||r,s.default,!0):o=Be(s.from||r):o=Be(s),ye(o)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[r]=o}}function Do(e,t,n){Xe(J(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kl(e,t,n,r){let s=r.includes(".")?kl(n,r):()=>n[r];if(pe(e)){const o=t[e];z(o)&&an(s,o)}else if(z(e))an(s,e.bind(n));else if(re(e))if(J(e))e.forEach(o=>Kl(o,t,n,r));else{const o=z(e.handler)?e.handler.bind(n):t[e.handler];z(o)&&an(s,o,e)}}function Gl(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!s.length&&!n&&!r?a=t:(a={},s.length&&s.forEach(u=>vr(a,u,i,!0)),vr(a,t,i)),re(t)&&o.set(t,a),a}function vr(e,t,n,r=!1){const{mixins:s,extends:o}=t;o&&vr(e,o,n,!0),s&&s.forEach(i=>vr(e,i,n,!0));for(const i in t)if(!(r&&i==="expose")){const l=Nf[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Nf={data:Fo,props:jo,emits:jo,methods:On,computed:On,beforeCreate:Se,created:Se,beforeMount:Se,mounted:Se,beforeUpdate:Se,updated:Se,beforeDestroy:Se,beforeUnmount:Se,destroyed:Se,unmounted:Se,activated:Se,deactivated:Se,errorCaptured:Se,serverPrefetch:Se,components:On,directives:On,watch:Hf,provide:Fo,inject:Mf};function Fo(e,t){return t?e?function(){return we(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Mf(e,t){return On(Ss(e),Ss(t))}function Ss(e){if(J(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ke(t)}Modifiers`]||e[`${Jt(t)}Modifiers`];function jf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ae;let s=n;const o=t.startsWith("update:"),i=o&&Ff(r,t.slice(7));i&&(i.trim&&(s=n.map(c=>pe(c)?c.trim():c)),i.number&&(s=n.map(Lr)));let l,a=r[l=zr(t)]||r[l=zr(Ke(t))];!a&&o&&(a=r[l=zr(Jt(t))]),a&&Xe(a,e,6,s);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Xe(u,e,6,s)}}const Bf=new WeakMap;function Jl(e,t,n=!1){const r=n?Bf:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const o=e.emits;let i={},l=!1;if(!z(e)){const a=u=>{const c=Jl(u,t,!0);c&&(l=!0,we(i,c))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(re(e)&&r.set(e,null),null):(J(o)?o.forEach(a=>i[a]=null):we(i,o),re(e)&&r.set(e,i),i)}function Vr(e,t){return!e||!Jn(t)?!1:(t=t.slice(2).replace(/Once$/,""),oe(e,t[0].toLowerCase()+t.slice(1))||oe(e,Jt(t))||oe(e,t))}function ss(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[o],slots:i,attrs:l,emit:a,render:u,renderCache:c,props:f,data:p,setupState:d,ctx:m,inheritAttrs:_}=e,T=_r(e);let R,v;try{if(n.shapeFlag&4){const b=s||r,E=b;R=De(u.call(E,b,c,f,d,p,m)),v=l}else{const b=t;R=De(b.length>1?b(f,{attrs:l,slots:i,emit:a}):b(f,null)),v=t.props?l:$f(l)}}catch(b){Ln.length=0,wn(b,e,1),R=me(ve)}let g=R;if(v&&_!==!1){const b=Object.keys(v),{shapeFlag:E}=g;b.length&&E&7&&(o&&b.some(Ys)&&(v=Vf(v,o)),g=vt(g,v,!1,!0))}return n.dirs&&(g=vt(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&pn(g,n.transition),R=g,_r(T),R}function Uf(e,t=!0){let n;for(let r=0;r{let t;for(const n in e)(n==="class"||n==="style"||Jn(n))&&((t||(t={}))[n]=e[n]);return t},Vf=(e,t)=>{const n={};for(const r in e)(!Ys(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Wf(e,t,n){const{props:r,children:s,component:o}=e,{props:i,children:l,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?Bo(r,i,u):!!i;if(a&8){const c=t.dynamicProps;for(let f=0;fObject.create(zl),Xl=e=>Object.getPrototypeOf(e)===zl;function Kf(e,t,n,r=!1){const s={},o=Ql();e.propsDefaults=Object.create(null),Zl(e,t,s,o);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=r?s:mt(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Gf(e,t,n,r){const{props:s,attrs:o,vnode:{patchFlag:i}}=e,l=ne(s),[a]=e.propsOptions;let u=!1;if((r||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let f=0;f{a=!0;const[p,d]=ea(f,t,!0);we(i,p),d&&l.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!o&&!a)return re(e)&&r.set(e,nn),nn;if(J(o))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",co=e=>J(e)?e.map(De):[De(e)],Jf=(e,t,n)=>{if(t._n)return t;const r=xl((...s)=>co(t(...s)),n);return r._c=!1,r},ta=(e,t,n)=>{const r=e._ctx;for(const s in e){if(ao(s))continue;const o=e[s];if(z(o))t[s]=Jf(s,o,r);else if(o!=null){const i=co(o);t[s]=()=>i}}},na=(e,t)=>{const n=co(t);e.slots.default=()=>n},ra=(e,t,n)=>{for(const r in t)(n||!ao(r))&&(e[r]=t[r])},Yf=(e,t,n)=>{const r=e.slots=Ql();if(e.vnode.shapeFlag&32){const s=t._;s?(ra(r,t,n),n&&tl(r,"_",s,!0)):ta(t,r)}else t&&na(e,t)},zf=(e,t,n)=>{const{vnode:r,slots:s}=e;let o=!0,i=ae;if(r.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:ra(s,t,n):(o=!t.$stable,ta(t,s)),i=t}else t&&(na(e,t),i={default:1});if(o)for(const l in s)!ao(l)&&i[l]==null&&delete s[l]},be=ua;function Qf(e){return sa(e)}function Xf(e){return sa(e,_f)}function sa(e,t){const n=Dr();n.__VUE__=!0;const{insert:r,remove:s,patchProp:o,createElement:i,createText:l,createComment:a,setText:u,setElementText:c,parentNode:f,nextSibling:p,setScopeId:d=it,insertStaticContent:m}=e,_=(h,y,w,x=null,C=null,k=null,D=void 0,L=null,H=!!y.dynamicChildren)=>{if(h===y)return;h&&!Je(h,y)&&(x=A(h),ke(h,C,k,!0),h=null),y.patchFlag===-2&&(H=!1,y.dynamicChildren=null);const{type:P,ref:Y,shapeFlag:j}=y;switch(P){case Gt:T(h,y,w,x);break;case ve:R(h,y,w,x);break;case Hn:h==null&&v(y,w,x,D);break;case Le:O(h,y,w,x,C,k,D,L,H);break;default:j&1?E(h,y,w,x,C,k,D,L,H):j&6?K(h,y,w,x,C,k,D,L,H):(j&64||j&128)&&P.process(h,y,w,x,C,k,D,L,H,q)}Y!=null&&C?cn(Y,h&&h.ref,k,y||h,!y):Y==null&&h&&h.ref!=null&&cn(h.ref,null,k,h,!0)},T=(h,y,w,x)=>{if(h==null)r(y.el=l(y.children),w,x);else{const C=y.el=h.el;y.children!==h.children&&u(C,y.children)}},R=(h,y,w,x)=>{h==null?r(y.el=a(y.children||""),w,x):y.el=h.el},v=(h,y,w,x)=>{[h.el,h.anchor]=m(h.children,y,w,x,h.el,h.anchor)},g=({el:h,anchor:y},w,x)=>{let C;for(;h&&h!==y;)C=p(h),r(h,w,x),h=C;r(y,w,x)},b=({el:h,anchor:y})=>{let w;for(;h&&h!==y;)w=p(h),s(h),h=w;s(y)},E=(h,y,w,x,C,k,D,L,H)=>{if(y.type==="svg"?D="svg":y.type==="math"&&(D="mathml"),h==null)S(y,w,x,C,k,D,L,H);else{const P=h.el&&h.el._isVueCE?h.el:null;try{P&&P._beginPatch(),I(h,y,C,k,D,L,H)}finally{P&&P._endPatch()}}},S=(h,y,w,x,C,k,D,L)=>{let H,P;const{props:Y,shapeFlag:j,transition:G,dirs:X}=h;if(H=h.el=i(h.type,k,Y&&Y.is,Y),j&8?c(H,h.children):j&16&&V(h.children,H,null,x,C,os(h,k),D,L),X&&rt(h,null,x,"created"),M(H,h,h.scopeId,D,x),Y){for(const fe in Y)fe!=="value"&&!Vt(fe)&&o(H,fe,null,Y[fe],k,x);"value"in Y&&o(H,"value",null,Y.value,k),(P=Y.onVnodeBeforeMount)&&Ie(P,x,h)}X&&rt(h,null,x,"beforeMount");const te=oa(C,G);te&&G.beforeEnter(H),r(H,y,w),((P=Y&&Y.onVnodeMounted)||te||X)&&be(()=>{P&&Ie(P,x,h),te&&G.enter(H),X&&rt(h,null,x,"mounted")},C)},M=(h,y,w,x,C)=>{if(w&&d(h,w),x)for(let k=0;k{for(let P=H;P{const L=y.el=h.el;let{patchFlag:H,dynamicChildren:P,dirs:Y}=y;H|=h.patchFlag&16;const j=h.props||ae,G=y.props||ae;let X;if(w&&Ht(w,!1),(X=G.onVnodeBeforeUpdate)&&Ie(X,w,y,h),Y&&rt(y,h,w,"beforeUpdate"),w&&Ht(w,!0),(j.innerHTML&&G.innerHTML==null||j.textContent&&G.textContent==null)&&c(L,""),P?N(h.dynamicChildren,P,L,w,x,os(y,C),k):D||B(h,y,L,null,w,x,os(y,C),k,!1),H>0){if(H&16)W(L,j,G,w,C);else if(H&2&&j.class!==G.class&&o(L,"class",null,G.class,C),H&4&&o(L,"style",j.style,G.style,C),H&8){const te=y.dynamicProps;for(let fe=0;fe{X&&Ie(X,w,y,h),Y&&rt(y,h,w,"updated")},x)},N=(h,y,w,x,C,k,D)=>{for(let L=0;L{if(y!==w){if(y!==ae)for(const k in y)!Vt(k)&&!(k in w)&&o(h,k,y[k],null,C,x);for(const k in w){if(Vt(k))continue;const D=w[k],L=y[k];D!==L&&k!=="value"&&o(h,k,L,D,C,x)}"value"in w&&o(h,"value",y.value,w.value,C)}},O=(h,y,w,x,C,k,D,L,H)=>{const P=y.el=h?h.el:l(""),Y=y.anchor=h?h.anchor:l("");let{patchFlag:j,dynamicChildren:G,slotScopeIds:X}=y;X&&(L=L?L.concat(X):X),h==null?(r(P,w,x),r(Y,w,x),V(y.children||[],w,Y,C,k,D,L,H)):j>0&&j&64&&G&&h.dynamicChildren&&h.dynamicChildren.length===G.length?(N(h.dynamicChildren,G,w,C,k,D,L),(y.key!=null||C&&y===C.subTree)&&ia(h,y,!0)):B(h,y,w,Y,C,k,D,L,H)},K=(h,y,w,x,C,k,D,L,H)=>{y.slotScopeIds=L,h==null?y.shapeFlag&512?C.ctx.activate(y,w,x,D,H):ee(y,w,x,C,k,D,H):le(h,y,H)},ee=(h,y,w,x,C,k,D)=>{const L=h.component=uu(h,x,C);if(Xn(h)&&(L.ctx.renderer=q),du(L,!1,D),L.asyncDep){if(C&&C.registerDep(L,$,D),!h.el){const H=L.subTree=me(ve);R(null,H,y,w),h.placeholder=H.el}}else $(L,h,y,w,C,k,D)},le=(h,y,w)=>{const x=y.component=h.component;if(Wf(h,y,w))if(x.asyncDep&&!x.asyncResolved){Q(x,y,w);return}else x.next=y,x.update();else y.el=h.el,x.vnode=y},$=(h,y,w,x,C,k,D)=>{const L=()=>{if(h.isMounted){let{next:j,bu:G,u:X,parent:te,vnode:fe}=h;{const Me=la(h);if(Me){j&&(j.el=fe.el,Q(h,j,D)),Me.asyncDep.then(()=>{be(()=>{h.isUnmounted||P()},C)});return}}let ie=j,Pe;Ht(h,!1),j?(j.el=fe.el,Q(h,j,D)):j=fe,G&&sn(G),(Pe=j.props&&j.props.onVnodeBeforeUpdate)&&Ie(Pe,te,j,fe),Ht(h,!0);const Re=ss(h),qe=h.subTree;h.subTree=Re,_(qe,Re,f(qe.el),A(qe),h,C,k),j.el=Re.el,ie===null&&Wr(h,Re.el),X&&be(X,C),(Pe=j.props&&j.props.onVnodeUpdated)&&be(()=>Ie(Pe,te,j,fe),C)}else{let j;const{el:G,props:X}=y,{bm:te,m:fe,parent:ie,root:Pe,type:Re}=h,qe=It(y);if(Ht(h,!1),te&&sn(te),!qe&&(j=X&&X.onVnodeBeforeMount)&&Ie(j,ie,y),Ht(h,!0),G&&he){const Me=()=>{h.subTree=ss(h),he(G,h.subTree,h,C,null)};qe&&Re.__asyncHydrate?Re.__asyncHydrate(G,h,Me):Me()}else{Pe.ce&&Pe.ce._hasShadowRoot()&&Pe.ce._injectChildStyle(Re);const Me=h.subTree=ss(h);_(null,Me,w,x,h,C,k),y.el=Me.el}if(fe&&be(fe,C),!qe&&(j=X&&X.onVnodeMounted)){const Me=y;be(()=>Ie(j,ie,Me),C)}(y.shapeFlag&256||ie&&It(ie.vnode)&&ie.vnode.shapeFlag&256)&&h.a&&be(h.a,C),h.isMounted=!0,y=w=x=null}};h.scope.on();const H=h.effect=new al(L);h.scope.off();const P=h.update=H.run.bind(H),Y=h.job=H.runIfDirty.bind(H);Y.i=h,Y.id=h.uid,H.scheduler=()=>ro(Y),Ht(h,!0),P()},Q=(h,y,w)=>{y.component=h;const x=h.vnode.props;h.vnode=y,h.next=null,Gf(h,y.props,x,w),zf(h,y.children,w),_t(),xo(h),bt()},B=(h,y,w,x,C,k,D,L,H=!1)=>{const P=h&&h.children,Y=h?h.shapeFlag:0,j=y.children,{patchFlag:G,shapeFlag:X}=y;if(G>0){if(G&128){Tt(P,j,w,x,C,k,D,L,H);return}else if(G&256){ce(P,j,w,x,C,k,D,L,H);return}}X&8?(Y&16&&Ue(P,C,k),j!==P&&c(w,j)):Y&16?X&16?Tt(P,j,w,x,C,k,D,L,H):Ue(P,C,k,!0):(Y&8&&c(w,""),X&16&&V(j,w,x,C,k,D,L,H))},ce=(h,y,w,x,C,k,D,L,H)=>{h=h||nn,y=y||nn;const P=h.length,Y=y.length,j=Math.min(P,Y);let G;for(G=0;GY?Ue(h,C,k,!0,!1,j):V(y,w,x,C,k,D,L,H,j)},Tt=(h,y,w,x,C,k,D,L,H)=>{let P=0;const Y=y.length;let j=h.length-1,G=Y-1;for(;P<=j&&P<=G;){const X=h[P],te=y[P]=H?ht(y[P]):De(y[P]);if(Je(X,te))_(X,te,w,null,C,k,D,L,H);else break;P++}for(;P<=j&&P<=G;){const X=h[j],te=y[G]=H?ht(y[G]):De(y[G]);if(Je(X,te))_(X,te,w,null,C,k,D,L,H);else break;j--,G--}if(P>j){if(P<=G){const X=G+1,te=XG)for(;P<=j;)ke(h[P],C,k,!0),P++;else{const X=P,te=P,fe=new Map;for(P=te;P<=G;P++){const He=y[P]=H?ht(y[P]):De(y[P]);He.key!=null&&fe.set(He.key,P)}let ie,Pe=0;const Re=G-te+1;let qe=!1,Me=0;const Rn=new Array(Re);for(P=0;P=Re){ke(He,C,k,!0);continue}let tt;if(He.key!=null)tt=fe.get(He.key);else for(ie=te;ie<=G;ie++)if(Rn[ie-te]===0&&Je(He,y[ie])){tt=ie;break}tt===void 0?ke(He,C,k,!0):(Rn[tt-te]=P+1,tt>=Me?Me=tt:qe=!0,_(He,y[tt],w,null,C,k,D,L,H),Pe++)}const wo=qe?Zf(Rn):nn;for(ie=wo.length-1,P=Re-1;P>=0;P--){const He=te+P,tt=y[He],Eo=y[He+1],To=He+1{const{el:k,type:D,transition:L,children:H,shapeFlag:P}=h;if(P&6){et(h.component.subTree,y,w,x);return}if(P&128){h.suspense.move(y,w,x);return}if(P&64){D.move(h,y,w,q);return}if(D===Le){r(k,y,w);for(let j=0;jL.enter(k),C);else{const{leave:j,delayLeave:G,afterLeave:X}=L,te=()=>{h.ctx.isUnmounted?s(k):r(k,y,w)},fe=()=>{k._isLeaving&&k[st](!0),j(k,()=>{te(),X&&X()})};G?G(k,te,fe):fe()}else r(k,y,w)},ke=(h,y,w,x=!1,C=!1)=>{const{type:k,props:D,ref:L,children:H,dynamicChildren:P,shapeFlag:Y,patchFlag:j,dirs:G,cacheIndex:X}=h;if(j===-2&&(C=!1),L!=null&&(_t(),cn(L,null,w,h,!0),bt()),X!=null&&(y.renderCache[X]=void 0),Y&256){y.ctx.deactivate(h);return}const te=Y&1&&G,fe=!It(h);let ie;if(fe&&(ie=D&&D.onVnodeBeforeUnmount)&&Ie(ie,y,h),Y&6)Mt(h.component,w,x);else{if(Y&128){h.suspense.unmount(w,x);return}te&&rt(h,null,y,"beforeUnmount"),Y&64?h.type.remove(h,y,w,q,x):P&&!P.hasOnce&&(k!==Le||j>0&&j&64)?Ue(P,y,w,!1,!0):(k===Le&&j&384||!C&&Y&16)&&Ue(H,y,w),x&&Yt(h)}(fe&&(ie=D&&D.onVnodeUnmounted)||te)&&be(()=>{ie&&Ie(ie,y,h),te&&rt(h,null,y,"unmounted")},w)},Yt=h=>{const{type:y,el:w,anchor:x,transition:C}=h;if(y===Le){zt(w,x);return}if(y===Hn){b(h);return}const k=()=>{s(w),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(h.shapeFlag&1&&C&&!C.persisted){const{leave:D,delayLeave:L}=C,H=()=>D(w,k);L?L(h.el,k,H):H()}else k()},zt=(h,y)=>{let w;for(;h!==y;)w=p(h),s(h),h=w;s(y)},Mt=(h,y,w)=>{const{bum:x,scope:C,job:k,subTree:D,um:L,m:H,a:P}=h;wr(H),wr(P),x&&sn(x),C.stop(),k&&(k.flags|=8,ke(D,h,y,w)),L&&be(L,y),be(()=>{h.isUnmounted=!0},y)},Ue=(h,y,w,x=!1,C=!1,k=0)=>{for(let D=k;D{if(h.shapeFlag&6)return A(h.component.subTree);if(h.shapeFlag&128)return h.suspense.next();const y=p(h.anchor||h.el),w=y&&y[df];return w?p(w):y};let U=!1;const F=(h,y,w)=>{let x;h==null?y._vnode&&(ke(y._vnode,null,null,!0),x=y._vnode.component):_(y._vnode||null,h,y,null,null,null,w),y._vnode=h,U||(U=!0,xo(x),yr(),U=!1)},q={p:_,um:ke,m:et,r:Yt,mt:ee,mc:V,pc:B,pbc:N,n:A,o:e};let Z,he;return t&&([Z,he]=t(q)),{render:F,hydrate:Z,createApp:Df(F,Z)}}function os({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 Ht({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function oa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ia(e,t,n=!1){const r=e.children,s=t.children;if(J(r)&&J(s))for(let o=0;o>1,e[n[l]]0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}function la(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:la(t)}function wr(e){if(e)for(let t=0;te.__isSuspense;let xs=0;const eu={name:"Suspense",__isSuspense:!0,process(e,t,n,r,s,o,i,l,a,u){if(e==null)tu(t,n,r,s,o,i,l,a,u);else{if(o&&o.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}nu(e,t,n,r,s,i,l,a,u)}},hydrate:ru,normalize:su},ca=eu;function Wn(e,t){const n=e.props&&e.props[t];z(n)&&n()}function tu(e,t,n,r,s,o,i,l,a){const{p:u,o:{createElement:c}}=a,f=c("div"),p=e.suspense=fa(e,s,r,t,f,n,o,i,l,a);u(null,p.pendingBranch=e.ssContent,f,null,r,p,o,i),p.deps>0?(Wn(e,"onPending"),Wn(e,"onFallback"),u(null,e.ssFallback,t,n,r,null,o,i),fn(p,e.ssFallback)):p.resolve(!1,!0)}function nu(e,t,n,r,s,o,i,l,{p:a,um:u,o:{createElement:c}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const p=t.ssContent,d=t.ssFallback,{activeBranch:m,pendingBranch:_,isInFallback:T,isHydrating:R}=f;if(_)f.pendingBranch=p,Je(_,p)?(a(_,p,f.hiddenContainer,null,s,f,o,i,l),f.deps<=0?f.resolve():T&&(R||(a(m,d,n,r,s,null,o,i,l),fn(f,d)))):(f.pendingId=xs++,R?(f.isHydrating=!1,f.activeBranch=_):u(_,s,f),f.deps=0,f.effects.length=0,f.hiddenContainer=c("div"),T?(a(null,p,f.hiddenContainer,null,s,f,o,i,l),f.deps<=0?f.resolve():(a(m,d,n,r,s,null,o,i,l),fn(f,d))):m&&Je(m,p)?(a(m,p,n,r,s,f,o,i,l),f.resolve(!0)):(a(null,p,f.hiddenContainer,null,s,f,o,i,l),f.deps<=0&&f.resolve()));else if(m&&Je(m,p))a(m,p,n,r,s,f,o,i,l),fn(f,p);else if(Wn(t,"onPending"),f.pendingBranch=p,p.shapeFlag&512?f.pendingId=p.component.suspenseId:f.pendingId=xs++,a(null,p,f.hiddenContainer,null,s,f,o,i,l),f.deps<=0)f.resolve();else{const{timeout:v,pendingId:g}=f;v>0?setTimeout(()=>{f.pendingId===g&&f.fallback(d)},v):v===0&&f.fallback(d)}}function fa(e,t,n,r,s,o,i,l,a,u,c=!1){const{p:f,m:p,um:d,n:m,o:{parentNode:_,remove:T}}=u;let R;const v=ou(e);v&&t&&t.pendingBranch&&(R=t.pendingId,t.deps++);const g=e.props?nl(e.props.timeout):void 0,b=o,E={vnode:e,parent:t,parentComponent:n,namespace:i,container:r,hiddenContainer:s,deps:0,pendingId:xs++,timeout:typeof g=="number"?g:-1,activeBranch:null,pendingBranch:null,isInFallback:!c,isHydrating:c,isUnmounted:!1,effects:[],resolve(S=!1,M=!1){const{vnode:V,activeBranch:I,pendingBranch:N,pendingId:W,effects:O,parentComponent:K,container:ee,isInFallback:le}=E;let $=!1;E.isHydrating?E.isHydrating=!1:S||($=I&&N.transition&&N.transition.mode==="out-in",$&&(I.transition.afterLeave=()=>{W===E.pendingId&&(p(N,ee,o===b?m(I):o,0),Es(O),le&&V.ssFallback&&(V.ssFallback.el=null))}),I&&(_(I.el)===ee&&(o=m(I)),d(I,K,E,!0),!$&&le&&V.ssFallback&&be(()=>V.ssFallback.el=null,E)),$||p(N,ee,o,0)),fn(E,N),E.pendingBranch=null,E.isInFallback=!1;let Q=E.parent,B=!1;for(;Q;){if(Q.pendingBranch){Q.effects.push(...O),B=!0;break}Q=Q.parent}!B&&!$&&Es(O),E.effects=[],v&&t&&t.pendingBranch&&R===t.pendingId&&(t.deps--,t.deps===0&&!M&&t.resolve()),Wn(V,"onResolve")},fallback(S){if(!E.pendingBranch)return;const{vnode:M,activeBranch:V,parentComponent:I,container:N,namespace:W}=E;Wn(M,"onFallback");const O=m(V),K=()=>{E.isInFallback&&(f(null,S,N,O,I,null,W,l,a),fn(E,S))},ee=S.transition&&S.transition.mode==="out-in";ee&&(V.transition.afterLeave=K),E.isInFallback=!0,d(V,I,null,!0),ee||K()},move(S,M,V){E.activeBranch&&p(E.activeBranch,S,M,V),E.container=S},next(){return E.activeBranch&&m(E.activeBranch)},registerDep(S,M,V){const I=!!E.pendingBranch;I&&E.deps++;const N=S.vnode.el;S.asyncDep.catch(W=>{wn(W,S,0)}).then(W=>{if(S.isUnmounted||E.isUnmounted||E.pendingId!==S.suspenseId)return;S.asyncResolved=!0;const{vnode:O}=S;Ps(S,W),N&&(O.el=N);const K=!N&&S.subTree.el;M(S,O,_(N||S.subTree.el),N?null:m(S.subTree),E,i,V),K&&(O.placeholder=null,T(K)),Wr(S,O.el),I&&--E.deps===0&&E.resolve()})},unmount(S,M){E.isUnmounted=!0,E.activeBranch&&d(E.activeBranch,n,S,M),E.pendingBranch&&d(E.pendingBranch,n,S,M)}};return E}function ru(e,t,n,r,s,o,i,l,a){const u=t.suspense=fa(t,r,n,e.parentNode,document.createElement("div"),null,s,o,i,l,!0),c=a(e,u.pendingBranch=t.ssContent,n,u,o,i);return u.deps===0&&u.resolve(!1,!0),c}function su(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=$o(r?n.default:n),e.ssFallback=r?$o(n.fallback):me(ve)}function $o(e){let t;if(z(e)){const n=gn&&e._c;n&&(e._d=!1,ot()),e=e(),n&&(e._d=!0,t=Ne,da())}return J(e)&&(e=Uf(e)),e=De(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function ua(e,t){t&&t.pendingBranch?J(e)?t.effects.push(...e):t.effects.push(e):Es(e)}function fn(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e;let s=t.el;for(;!s&&t.component;)t=t.component.subTree,s=t.el;n.el=s,r&&r.subTree===n&&(r.vnode.el=s,Wr(r,s))}function ou(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const Le=Symbol.for("v-fgt"),Gt=Symbol.for("v-txt"),ve=Symbol.for("v-cmt"),Hn=Symbol.for("v-stc"),Ln=[];let Ne=null;function ot(e=!1){Ln.push(Ne=e?null:[])}function da(){Ln.pop(),Ne=Ln[Ln.length-1]||null}let gn=1;function Tr(e,t=!1){gn+=e,e<0&&Ne&&t&&(Ne.hasOnce=!0)}function ha(e){return e.dynamicChildren=gn>0?Ne||nn:null,da(),gn>0&&Ne&&Ne.push(e),e}function iu(e,t,n,r,s,o){return ha(ga(e,t,n,r,s,o,!0))}function kt(e,t,n,r,s){return ha(me(e,t,n,r,s,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function Je(e,t){return e.type===t.type&&e.key===t.key}const pa=({key:e})=>e??null,ur=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?pe(e)||ye(e)||z(e)?{i:Fe,r:e,k:t,f:!!n}:e:null);function ga(e,t=null,n=null,r=0,s=null,o=e===Le?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&pa(t),ref:t&&ur(t),scopeId:Al,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Fe};return l?(fo(a,n),o&128&&e.normalize(a)):n&&(a.shapeFlag|=pe(n)?8:16),gn>0&&!i&&Ne&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ne.push(a),a}const me=lu;function lu(e,t=null,n=null,r=0,s=null,o=!1){if((!e||e===Vl)&&(e=ve),mn(e)){const l=vt(e,t,!0);return n&&fo(l,n),gn>0&&!o&&Ne&&(l.shapeFlag&6?Ne[Ne.indexOf(e)]=l:Ne.push(l)),l.patchFlag=-2,l}if(mu(e)&&(e=e.__vccOpts),t){t=ma(t);let{class:l,style:a}=t;l&&!pe(l)&&(t.class=jr(l)),re(a)&&(Ur(a)&&!J(a)&&(a=we({},a)),t.style=Fr(a))}const i=pe(e)?1:Er(e)?128:Pl(e)?64:re(e)?4:z(e)?2:0;return ga(e,t,n,r,s,i,o,!0)}function ma(e){return e?Ur(e)||Xl(e)?we({},e):e:null}function vt(e,t,n=!1,r=!1){const{props:s,ref:o,patchFlag:i,children:l,transition:a}=e,u=t?au(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&pa(u),ref:t&&t.ref?n&&o?J(o)?o.concat(ur(t)):[o,ur(t)]:ur(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Le?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,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 a&&r&&pn(c,a.clone(c)),c}function ya(e=" ",t=0){return me(Gt,null,e,t)}function dm(e,t){const n=me(Hn,null,e);return n.staticCount=t,n}function hm(e="",t=!1){return t?(ot(),kt(ve,null,e)):me(ve,null,e)}function De(e){return e==null||typeof e=="boolean"?me(ve):J(e)?me(Le,null,e.slice()):mn(e)?ht(e):me(Gt,null,String(e))}function ht(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:vt(e)}function fo(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(J(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),fo(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Xl(t)?t._ctx=Fe:s===3&&Fe&&(Fe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Fe},n=32):(t=String(t),r&64?(n=16,t=[ya(t)]):n=8);e.children=t,e.shapeFlag|=n}function au(...e){const t={};for(let n=0;nEe||Fe;let Rr,ks;{const e=Dr(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),o=>{s.length>1?s.forEach(i=>i(o)):s[0](o)}};Rr=t("__VUE_INSTANCE_SETTERS__",n=>Ee=n),ks=t("__VUE_SSR_SETTERS__",n=>yn=n)}const er=e=>{const t=Ee;return Rr(e),e.scope.on(),()=>{e.scope.off(),Rr(t)}},Vo=()=>{Ee&&Ee.scope.off(),Rr(null)};function _a(e){return e.vnode.shapeFlag&4}let yn=!1;function du(e,t=!1,n=!1){t&&ks(t);const{props:r,children:s}=e.vnode,o=_a(e);Kf(e,r,o,t),Yf(e,s,n||t);const i=o?hu(e,t):void 0;return t&&ks(!1),i}function hu(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Pf);const{setup:r}=n;if(r){_t();const s=e.setupContext=r.length>1?gu(e):null,o=er(e),i=zn(r,e,0,[e.props,s]),l=Xi(i);if(bt(),o(),(l||e.sp)&&!It(e)&&io(e),l){if(i.then(Vo,Vo),t)return i.then(a=>{Ps(e,a)}).catch(a=>{wn(a,e,0)});e.asyncDep=i}else Ps(e,i)}else ba(e)}function Ps(e,t,n){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)&&(e.setupState=Tl(t)),ba(e)}function ba(e,t,n){const r=e.type;e.render||(e.render=r.render||it);{const s=er(e);_t();try{Of(e)}finally{bt(),s()}}}const pu={get(e,t){return Ce(e,"get",""),e[t]}};function gu(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,pu),slots:e.slots,emit:e.emit,expose:t}}function Kr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Tl(qc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mn)return Mn[n](e)},has(t,n){return n in t||n in Mn}})):e.proxy}function Os(e,t=!0){return z(e)?e.displayName||e.name:e.name||t&&e.__name}function mu(e){return z(e)&&"__vccOpts"in e}const Ye=(e,t)=>nf(e,t,yn);function We(e,t,n){try{Tr(-1);const r=arguments.length;return r===2?re(t)&&!J(t)?mn(t)?me(e,null,[t]):me(e,t):me(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&mn(n)&&(n=[n]),me(e,t,n))}finally{Tr(1)}}const yu="3.5.28";let Is;const Wo=typeof window<"u"&&window.trustedTypes;if(Wo)try{Is=Wo.createPolicy("vue",{createHTML:e=>e})}catch{}const va=Is?e=>Is.createHTML(e):e=>e,_u="http://www.w3.org/2000/svg",bu="http://www.w3.org/1998/Math/MathML",dt=typeof document<"u"?document:null,Ko=dt&&dt.createElement("template"),vu={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?dt.createElementNS(_u,e):t==="mathml"?dt.createElementNS(bu,e):n?dt.createElement(e,{is:n}):dt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>dt.createTextNode(e),createComment:e=>dt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,o){const i=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{Ko.innerHTML=va(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=Ko.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Rt="transition",An="animation",Kn=Symbol("_vtc"),wa={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},wu=we({},Ol,wa),Eu=e=>(e.displayName="Transition",e.props=wu,e),Tu=Eu((e,{slots:t})=>We(gf,Ru(e),t)),Lt=(e,t=[])=>{J(e)?e.forEach(n=>n(...t)):e&&e(...t)},Go=e=>e?J(e)?e.some(t=>t.length>1):e.length>1:!1;function Ru(e){const t={};for(const O in e)O in wa||(t[O]=e[O]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=o,appearActiveClass:u=i,appearToClass:c=l,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:d=`${n}-leave-to`}=e,m=Cu(s),_=m&&m[0],T=m&&m[1],{onBeforeEnter:R,onEnter:v,onEnterCancelled:g,onLeave:b,onLeaveCancelled:E,onBeforeAppear:S=R,onAppear:M=v,onAppearCancelled:V=g}=t,I=(O,K,ee,le)=>{O._enterCancelled=le,Dt(O,K?c:l),Dt(O,K?u:i),ee&&ee()},N=(O,K)=>{O._isLeaving=!1,Dt(O,f),Dt(O,d),Dt(O,p),K&&K()},W=O=>(K,ee)=>{const le=O?M:v,$=()=>I(K,O,ee);Lt(le,[K,$]),qo(()=>{Dt(K,O?a:o),ft(K,O?c:l),Go(le)||Jo(K,r,_,$)})};return we(t,{onBeforeEnter(O){Lt(R,[O]),ft(O,o),ft(O,i)},onBeforeAppear(O){Lt(S,[O]),ft(O,a),ft(O,u)},onEnter:W(!1),onAppear:W(!0),onLeave(O,K){O._isLeaving=!0;const ee=()=>N(O,K);ft(O,f),O._enterCancelled?(ft(O,p),Qo(O)):(Qo(O),ft(O,p)),qo(()=>{O._isLeaving&&(Dt(O,f),ft(O,d),Go(b)||Jo(O,r,T,ee))}),Lt(b,[O,ee])},onEnterCancelled(O){I(O,!1,void 0,!0),Lt(g,[O])},onAppearCancelled(O){I(O,!0,void 0,!0),Lt(V,[O])},onLeaveCancelled(O){N(O),Lt(E,[O])}})}function Cu(e){if(e==null)return null;if(re(e))return[is(e.enter),is(e.leave)];{const t=is(e);return[t,t]}}function is(e){return nl(e)}function ft(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Kn]||(e[Kn]=new Set)).add(t)}function Dt(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Kn];n&&(n.delete(t),n.size||(e[Kn]=void 0))}function qo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Su=0;function Jo(e,t,n,r){const s=e._endId=++Su,o=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(o,n);const{type:i,timeout:l,propCount:a}=Au(e,t);if(!i)return r();const u=i+"end";let c=0;const f=()=>{e.removeEventListener(u,p),o()},p=d=>{d.target===e&&++c>=a&&f()};setTimeout(()=>{c(n[m]||"").split(", "),s=r(`${Rt}Delay`),o=r(`${Rt}Duration`),i=Yo(s,o),l=r(`${An}Delay`),a=r(`${An}Duration`),u=Yo(l,a);let c=null,f=0,p=0;t===Rt?i>0&&(c=Rt,f=i,p=o.length):t===An?u>0&&(c=An,f=u,p=a.length):(f=Math.max(i,u),c=f>0?i>u?Rt:An:null,p=c?c===Rt?o.length:a.length:0);const d=c===Rt&&/\b(?:transform|all)(?:,|$)/.test(r(`${Rt}Property`).toString());return{type:c,timeout:f,propCount:p,hasTransform:d}}function Yo(e,t){for(;e.lengthzo(n)+zo(e[r])))}function zo(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Qo(e){return(e?e.ownerDocument:document).body.offsetHeight}function xu(e,t,n){const r=e[Kn];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Xo=Symbol("_vod"),ku=Symbol("_vsh"),Pu=Symbol(""),Ou=/(?:^|;)\s*display\s*:/;function Iu(e,t,n){const r=e.style,s=pe(n);let o=!1;if(n&&!s){if(t)if(pe(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&dr(r,l,"")}else for(const i in t)n[i]==null&&dr(r,i,"");for(const i in n)i==="display"&&(o=!0),dr(r,i,n[i])}else if(s){if(t!==n){const i=r[Pu];i&&(n+=";"+i),r.cssText=n,o=Ou.test(n)}}else t&&e.removeAttribute("style");Xo in e&&(e[Xo]=o?r.display:"",e[ku]&&(r.display="none"))}const Zo=/\s*!important$/;function dr(e,t,n){if(J(n))n.forEach(r=>dr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Nu(e,t);Zo.test(n)?e.setProperty(Jt(r),n.replace(Zo,""),"important"):e[r]=n}}const ei=["Webkit","Moz","ms"],ls={};function Nu(e,t){const n=ls[t];if(n)return n;let r=Ke(t);if(r!=="filter"&&r in e)return ls[t]=r;r=Hr(r);for(let s=0;sas||(Du.then(()=>as=0),as=Date.now());function ju(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;Xe(Bu(r,n.value),t,5,[r])};return n.value=e,n.attached=Fu(),n}function Bu(e,t){if(J(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const ii=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Uu=(e,t,n,r,s,o)=>{const i=s==="svg";t==="class"?xu(e,r,i):t==="style"?Iu(e,n,r):Jn(t)?Ys(t)||Hu(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):$u(e,t,r,i))?(ri(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&ni(e,t,r,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!pe(r))?ri(e,Ke(t),r,o,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),ni(e,t,r,i))};function $u(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&ii(t)&&z(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return ii(t)&&pe(n)?!1:t in e}const Cr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return J(t)?n=>sn(t,n):t};function Vu(e){e.target.composing=!0}function li(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const un=Symbol("_assign");function ai(e,t,n){return t&&(e=e.trim()),n&&(e=Lr(e)),e}const pm={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[un]=Cr(s);const o=r||s.props&&s.props.type==="number";Ut(e,t?"change":"input",i=>{i.target.composing||e[un](ai(e.value,n,o))}),(n||o)&&Ut(e,"change",()=>{e.value=ai(e.value,n,o)}),t||(Ut(e,"compositionstart",Vu),Ut(e,"compositionend",li),Ut(e,"change",li))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:o}},i){if(e[un]=Cr(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Lr(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===a)||(e.value=a))}},gm={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Ir(t);Ut(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Lr(Sr(i)):Sr(i));e[un](e.multiple?s?new Set(o):o:o[0]),e._assigning=!0,hn(()=>{e._assigning=!1})}),e[un]=Cr(r)},mounted(e,{value:t}){ci(e,t)},beforeUpdate(e,t,n){e[un]=Cr(n)},updated(e,{value:t}){e._assigning||ci(e,t)}};function ci(e,t){const n=e.multiple,r=J(t);if(!(n&&!r&&!Ir(t))){for(let s=0,o=e.options.length;sString(u)===String(l)):i.selected=Cc(t,l)>-1}else i.selected=t.has(l);else if(Yn(Sr(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Sr(e){return"_value"in e?e._value:e.value}const Ea=we({patchProp:Uu},vu);let Dn,fi=!1;function Wu(){return Dn||(Dn=Qf(Ea))}function Ku(){return Dn=fi?Dn:Xf(Ea),fi=!0,Dn}const Gu=((...e)=>{const t=Wu().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ra(r);if(!s)return;const o=t._component;!z(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const i=n(s,!1,Ta(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),i},t}),qu=((...e)=>{const t=Ku().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ra(r);if(s)return n(s,!0,Ta(s))},t});function Ta(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ra(e){return pe(e)?document.querySelector(e):e}const Ju=/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,Yu=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,zu=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/;function Qu(e,t){if(e==="__proto__"||e==="constructor"&&t&&typeof t=="object"&&"prototype"in t){Xu(e);return}return t}function Xu(e){console.warn(`[destr] Dropping "${e}" key to prevent prototype pollution.`)}function Ar(e,t={}){if(typeof e!="string")return e;if(e[0]==='"'&&e[e.length-1]==='"'&&e.indexOf("\\")===-1)return e.slice(1,-1);const n=e.trim();if(n.length<=9)switch(n.toLowerCase()){case"true":return!0;case"false":return!1;case"undefined":return;case"null":return null;case"nan":return Number.NaN;case"infinity":return Number.POSITIVE_INFINITY;case"-infinity":return Number.NEGATIVE_INFINITY}if(!zu.test(e)){if(t.strict)throw new SyntaxError("[destr] Invalid JSON");return e}try{if(Ju.test(e)||Yu.test(e)){if(t.strict)throw new Error("[destr] Possible prototype pollution");return JSON.parse(e,Qu)}return JSON.parse(e)}catch(r){if(t.strict)throw r;return e}}const Ca=/#/g,Sa=/&/g,Zu=/\//g,ed=/=/g,td=/\?/g,Gr=/\+/g,nd=/%5e/gi,rd=/%60/gi,sd=/%7c/gi,od=/%20/gi,id=/%2f/gi,ld=/%252f/gi;function Aa(e){return encodeURI(""+e).replace(sd,"|")}function Ns(e){return Aa(typeof e=="string"?e:JSON.stringify(e)).replace(Gr,"%2B").replace(od,"+").replace(Ca,"%23").replace(Sa,"%26").replace(rd,"`").replace(nd,"^").replace(Zu,"%2F")}function cs(e){return Ns(e).replace(ed,"%3D")}function ad(e){return Aa(e).replace(Ca,"%23").replace(td,"%3F").replace(ld,"%2F").replace(Sa,"%26").replace(Gr,"%2B")}function Gn(e=""){try{return decodeURIComponent(""+e)}catch{return""+e}}function cd(e){return Gn(e.replace(id,"%252F"))}function fd(e){return Gn(e.replace(Gr," "))}function ud(e){return Gn(e.replace(Gr," "))}function xa(e=""){const t=Object.create(null);e[0]==="?"&&(e=e.slice(1));for(const n of e.split("&")){const r=n.match(/([^=]+)=?(.*)/)||[];if(r.length<2)continue;const s=fd(r[1]);if(s==="__proto__"||s==="constructor")continue;const o=ud(r[2]||"");t[s]===void 0?t[s]=o:Array.isArray(t[s])?t[s].push(o):t[s]=[t[s],o]}return t}function dd(e,t){return(typeof t=="number"||typeof t=="boolean")&&(t=String(t)),t?Array.isArray(t)?t.map(n=>`${cs(e)}=${Ns(n)}`).join("&"):`${cs(e)}=${Ns(t)}`:cs(e)}function hd(e){return Object.keys(e).filter(t=>e[t]!==void 0).map(t=>dd(t,e[t])).filter(Boolean).join("&")}const pd=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,gd=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,md=/^([/\\]\s*){2,}[^/\\]/,yd=/^[\s\0]*(blob|data|javascript|vbscript):$/i,_d=/\/$|\/\?|\/#/,bd=/^\.?\//;function Tn(e,t={}){return typeof t=="boolean"&&(t={acceptRelative:t}),t.strict?pd.test(e):gd.test(e)||(t.acceptRelative?md.test(e):!1)}function vd(e){return!!e&&yd.test(e)}function Ms(e="",t){return t?_d.test(e):e.endsWith("/")}function xr(e="",t){if(!t)return(Ms(e)?e.slice(0,-1):e)||"/";if(!Ms(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");s!==-1&&(n=e.slice(0,s),r=e.slice(s));const[o,...i]=n.split("?");return((o.endsWith("/")?o.slice(0,-1):o)||"/")+(i.length>0?`?${i.join("?")}`:"")+r}function wd(e="",t){if(!t)return e.endsWith("/")?e:e+"/";if(Ms(e,!0))return e||"/";let n=e,r="";const s=e.indexOf("#");if(s!==-1&&(n=e.slice(0,s),r=e.slice(s),!n))return r;const[o,...i]=n.split("?");return o+"/"+(i.length>0?`?${i.join("?")}`:"")+r}function Ed(e,t){if(Pa(t)||Tn(e))return e;const n=xr(t);if(e.startsWith(n)){const r=e[n.length];if(!r||r==="/"||r==="?")return e}return Oa(n,e)}function ui(e,t){if(Pa(t))return e;const n=xr(t);if(!e.startsWith(n))return e;const r=e[n.length];if(r&&r!=="/"&&r!=="?")return e;const s=e.slice(n.length);return s[0]==="/"?s:"/"+s}function ka(e,t){const n=uo(e),r={...xa(n.search),...t};return n.search=hd(r),Cd(n)}function Pa(e){return!e||e==="/"}function Td(e){return e&&e!=="/"}function Oa(e,...t){let n=e||"";for(const r of t.filter(s=>Td(s)))if(n){const s=r.replace(bd,"");n=wd(n)+s}else n=r;return n}function Ia(...e){const t=/\/(?!\/)/,n=e.filter(Boolean),r=[];let s=0;for(const i of n)if(!(!i||i==="/")){for(const[l,a]of i.split(t).entries())if(!(!a||a===".")){if(a===".."){if(r.length===1&&Tn(r[0]))continue;r.pop(),s--;continue}if(l===1&&r[r.length-1]?.endsWith(":/")){r[r.length-1]+="/"+a;continue}r.push(a),s++}}let o=r.join("/");return s>=0?n[0]?.startsWith("/")&&!o.startsWith("/")?o="/"+o:n[0]?.startsWith("./")&&!o.startsWith("./")&&(o="./"+o):o="../".repeat(-1*s)+o,n[n.length-1]?.endsWith("/")&&!o.endsWith("/")&&(o+="/"),o}function Rd(e,t){return Gn(xr(e))===Gn(xr(t))}const Na=Symbol.for("ufo:protocolRelative");function uo(e="",t){const n=e.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);if(n){const[,f,p=""]=n;return{protocol:f.toLowerCase(),pathname:p,href:f+p,auth:"",host:"",search:"",hash:""}}if(!Tn(e,{acceptRelative:!0}))return di(e);const[,r="",s,o=""]=e.replace(/\\/g,"/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/)||[];let[,i="",l=""]=o.match(/([^#/?]*)(.*)?/)||[];r==="file:"&&(l=l.replace(/\/(?=[A-Za-z]:)/,""));const{pathname:a,search:u,hash:c}=di(l);return{protocol:r.toLowerCase(),auth:s?s.slice(0,Math.max(0,s.length-1)):"",host:i,pathname:a,search:u,hash:c,[Na]:!r}}function di(e=""){const[t="",n="",r=""]=(e.match(/([^#?]*)(\?[^#]*)?(#.*)?/)||[]).splice(1);return{pathname:t,search:n,hash:r}}function Cd(e){const t=e.pathname||"",n=e.search?(e.search.startsWith("?")?"":"?")+e.search:"",r=e.hash||"",s=e.auth?e.auth+"@":"",o=e.host||"";return(e.protocol||e[Na]?(e.protocol||"")+"//":"")+s+o+t+n+r}class Sd extends Error{constructor(t,n){super(t,n),this.name="FetchError",n?.cause&&!this.cause&&(this.cause=n.cause)}}function Ad(e){const t=e.error?.message||e.error?.toString()||"",n=e.request?.method||e.options?.method||"GET",r=e.request?.url||String(e.request)||"/",s=`[${n}] ${JSON.stringify(r)}`,o=e.response?`${e.response.status} ${e.response.statusText}`:"",i=`${s}: ${o}${t?` ${t}`:""}`,l=new Sd(i,e.error?{cause:e.error}:void 0);for(const a of["request","options","response"])Object.defineProperty(l,a,{get(){return e[a]}});for(const[a,u]of[["data","_data"],["status","status"],["statusCode","status"],["statusText","statusText"],["statusMessage","statusText"]])Object.defineProperty(l,a,{get(){return e.response&&e.response[u]}});return l}const xd=new Set(Object.freeze(["PATCH","POST","PUT","DELETE"]));function hi(e="GET"){return xd.has(e.toUpperCase())}function kd(e){if(e===void 0)return!1;const t=typeof e;return t==="string"||t==="number"||t==="boolean"||t===null?!0:t!=="object"?!1:Array.isArray(e)?!0:e.buffer||e instanceof FormData||e instanceof URLSearchParams?!1:e.constructor&&e.constructor.name==="Object"||typeof e.toJSON=="function"}const Pd=new Set(["image/svg","application/xml","application/xhtml","application/html"]),Od=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Id(e=""){if(!e)return"json";const t=e.split(";").shift()||"";return Od.test(t)?"json":t==="text/event-stream"?"stream":Pd.has(t)||t.startsWith("text/")?"text":"blob"}function Nd(e,t,n,r){const s=Md(t?.headers??e?.headers,n?.headers,r);let o;return(n?.query||n?.params||t?.params||t?.query)&&(o={...n?.params,...n?.query,...t?.params,...t?.query}),{...n,...t,query:o,params:o,headers:s}}function Md(e,t,n){if(!t)return new n(e);const r=new n(t);if(e)for(const[s,o]of Symbol.iterator in e||Array.isArray(e)?e:new n(e))r.set(s,o);return r}async function ar(e,t){if(t)if(Array.isArray(t))for(const n of t)await n(e);else await t(e)}const Hd=new Set([408,409,425,429,500,502,503,504]),Ld=new Set([101,204,205,304]);function Ma(e={}){const{fetch:t=globalThis.fetch,Headers:n=globalThis.Headers,AbortController:r=globalThis.AbortController}=e;async function s(l){const a=l.error&&l.error.name==="AbortError"&&!l.options.timeout||!1;if(l.options.retry!==!1&&!a){let c;typeof l.options.retry=="number"?c=l.options.retry:c=hi(l.options.method)?0:1;const f=l.response&&l.response.status||500;if(c>0&&(Array.isArray(l.options.retryStatusCodes)?l.options.retryStatusCodes.includes(f):Hd.has(f))){const p=typeof l.options.retryDelay=="function"?l.options.retryDelay(l):l.options.retryDelay||0;return p>0&&await new Promise(d=>setTimeout(d,p)),o(l.request,{...l.options,retry:c-1})}}const u=Ad(l);throw Error.captureStackTrace&&Error.captureStackTrace(u,o),u}const o=async function(a,u={}){const c={request:a,options:Nd(a,u,e.defaults,n),response:void 0,error:void 0};if(c.options.method&&(c.options.method=c.options.method.toUpperCase()),c.options.onRequest&&(await ar(c,c.options.onRequest),c.options.headers instanceof n||(c.options.headers=new n(c.options.headers||{}))),typeof c.request=="string"&&(c.options.baseURL&&(c.request=Ed(c.request,c.options.baseURL)),c.options.query&&(c.request=ka(c.request,c.options.query),delete c.options.query),"query"in c.options&&delete c.options.query,"params"in c.options&&delete c.options.params),c.options.body&&hi(c.options.method))if(kd(c.options.body)){const d=c.options.headers.get("content-type");typeof c.options.body!="string"&&(c.options.body=d==="application/x-www-form-urlencoded"?new URLSearchParams(c.options.body).toString():JSON.stringify(c.options.body)),d||c.options.headers.set("content-type","application/json"),c.options.headers.has("accept")||c.options.headers.set("accept","application/json")}else("pipeTo"in c.options.body&&typeof c.options.body.pipeTo=="function"||typeof c.options.body.pipe=="function")&&("duplex"in c.options||(c.options.duplex="half"));let f;if(!c.options.signal&&c.options.timeout){const d=new r;f=setTimeout(()=>{const m=new Error("[TimeoutError]: The operation was aborted due to timeout");m.name="TimeoutError",m.code=23,d.abort(m)},c.options.timeout),c.options.signal=d.signal}try{c.response=await t(c.request,c.options)}catch(d){return c.error=d,c.options.onRequestError&&await ar(c,c.options.onRequestError),await s(c)}finally{f&&clearTimeout(f)}if((c.response.body||c.response._bodyInit)&&!Ld.has(c.response.status)&&c.options.method!=="HEAD"){const d=(c.options.parseResponse?"json":c.options.responseType)||Id(c.response.headers.get("content-type")||"");switch(d){case"json":{const m=await c.response.text(),_=c.options.parseResponse||Ar;c.response._data=_(m);break}case"stream":{c.response._data=c.response.body||c.response._bodyInit;break}default:c.response._data=await c.response[d]()}}return c.options.onResponse&&await ar(c,c.options.onResponse),!c.options.ignoreResponseError&&c.response.status>=400&&c.response.status<600?(c.options.onResponseError&&await ar(c,c.options.onResponseError),await s(c)):c.response},i=async function(a,u){return(await o(a,u))._data};return i.raw=o,i.native=(...l)=>t(...l),i.create=(l={},a={})=>Ma({...e,...a,defaults:{...e.defaults,...a.defaults,...l}}),i}const kr=(function(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("unable to locate global object")})(),Dd=kr.fetch?(...e)=>kr.fetch(...e):()=>Promise.reject(new Error("[ofetch] global.fetch is not supported!")),Fd=kr.Headers,jd=kr.AbortController,Bd=Ma({fetch:Dd,Headers:Fd,AbortController:jd}),Ud=Bd,$d=()=>window?.__NUXT__?.config||window?.useNuxtApp?.().payload?.config,ho=()=>$d().app,Vd=()=>ho().baseURL,Wd=()=>ho().buildAssetsDir,po=(...e)=>Ia(Ha(),Wd(),...e),Ha=(...e)=>{const t=ho(),n=t.cdnURL||t.baseURL;return e.length?Ia(n,...e):n};globalThis.__buildAssetsURL=po,globalThis.__publicAssetsURL=Ha;globalThis.$fetch||(globalThis.$fetch=Ud.create({baseURL:Vd()}));"global"in globalThis||(globalThis.global=globalThis);function Hs(e,t={},n){for(const r in e){const s=e[r],o=n?`${n}:${r}`:r;typeof s=="object"&&s!==null?Hs(s,t,o):typeof s=="function"&&(t[o]=s)}return t}const Kd={run:e=>e()},Gd=()=>Kd,La=typeof console.createTask<"u"?console.createTask:Gd;function qd(e,t){const n=t.shift(),r=La(n);return e.reduce((s,o)=>s.then(()=>r.run(()=>o(...t))),Promise.resolve())}function Jd(e,t){const n=t.shift(),r=La(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}function fs(e,t){for(const n of[...e])n(t)}let Yd=class{constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(t,n,r={}){if(!t||typeof n!="function")return()=>{};const s=t;let o;for(;this._deprecatedHooks[t];)o=this._deprecatedHooks[t],t=o.to;if(o&&!r.allowDeprecated){let i=o.message;i||(i=`${s} hook has been deprecated`+(o.to?`, please use ${o.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(i)||(console.warn(i),this._deprecatedMessages.add(i))}if(!n.name)try{Object.defineProperty(n,"name",{get:()=>"_"+t.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[t]=this._hooks[t]||[],this._hooks[t].push(n),()=>{n&&(this.removeHook(t,n),n=void 0)}}hookOnce(t,n){let r,s=(...o)=>(typeof r=="function"&&r(),r=void 0,s=void 0,n(...o));return r=this.hook(t,s),r}removeHook(t,n){if(this._hooks[t]){const r=this._hooks[t].indexOf(n);r!==-1&&this._hooks[t].splice(r,1),this._hooks[t].length===0&&delete this._hooks[t]}}deprecateHook(t,n){this._deprecatedHooks[t]=typeof n=="string"?{to:n}:n;const r=this._hooks[t]||[];delete this._hooks[t];for(const s of r)this.hook(t,s)}deprecateHooks(t){Object.assign(this._deprecatedHooks,t);for(const n in t)this.deprecateHook(n,t[n])}addHooks(t){const n=Hs(t),r=Object.keys(n).map(s=>this.hook(s,n[s]));return()=>{for(const s of r.splice(0,r.length))s()}}removeHooks(t){const n=Hs(t);for(const r in n)this.removeHook(r,n[r])}removeAllHooks(){for(const t in this._hooks)delete this._hooks[t]}callHook(t,...n){return n.unshift(t),this.callHookWith(qd,t,...n)}callHookParallel(t,...n){return n.unshift(t),this.callHookWith(Jd,t,...n)}callHookWith(t,n,...r){const s=this._before||this._after?{name:n,args:r,context:{}}:void 0;this._before&&fs(this._before,s);const o=t(n in this._hooks?[...this._hooks[n]]:[],r);return o instanceof Promise?o.finally(()=>{this._after&&s&&fs(this._after,s)}):(this._after&&s&&fs(this._after,s),o)}beforeEach(t){return this._before=this._before||[],this._before.push(t),()=>{if(this._before!==void 0){const n=this._before.indexOf(t);n!==-1&&this._before.splice(n,1)}}}afterEach(t){return this._after=this._after||[],this._after.push(t),()=>{if(this._after!==void 0){const n=this._after.indexOf(t);n!==-1&&this._after.splice(n,1)}}}};function zd(){return new Yd}function Qd(e={}){let t,n=!1;const r=i=>{if(t&&t!==i)throw new Error("Context conflict")};let s;if(e.asyncContext){const i=e.AsyncLocalStorage||globalThis.AsyncLocalStorage;i?s=new i:console.warn("[unctx] `AsyncLocalStorage` is not provided.")}const o=()=>{if(s){const i=s.getStore();if(i!==void 0)return i}return t};return{use:()=>{const i=o();if(i===void 0)throw new Error("Context is not available");return i},tryUse:()=>o(),set:(i,l)=>{l||r(i),t=i,n=!0},unset:()=>{t=void 0,n=!1},call:(i,l)=>{r(i),t=i;try{return s?s.run(i,l):l()}finally{n||(t=void 0)}},async callAsync(i,l){t=i;const a=()=>{t=i},u=()=>t===i?a:void 0;Ls.add(u);try{const c=s?s.run(i,l):l();return n||(t=void 0),await c}finally{Ls.delete(u)}}}}function Xd(e={}){const t={};return{get(n,r={}){return t[n]||(t[n]=Qd({...e,...r})),t[n]}}}const Pr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof global<"u"?global:typeof window<"u"?window:{},pi="__unctx__",Zd=Pr[pi]||(Pr[pi]=Xd()),eh=(e,t={})=>Zd.get(e,t),gi="__unctx_async_handlers__",Ls=Pr[gi]||(Pr[gi]=new Set);function Fn(e){const t=[];for(const s of Ls){const o=s();o&&t.push(o)}const n=()=>{for(const s of t)s()};let r=e();return r&&typeof r=="object"&&"catch"in r&&(r=r.catch(s=>{throw n(),s})),[r,n]}const mi=!1,th=!1,yi={id:"__nuxt-loader"},ym={componentName:"NuxtLink",prefetch:!0,prefetchOn:{visibility:!0}},nh="#__nuxt",Da="nuxt-app",_i=36e5,rh="vite:preloadError";function Fa(e=Da){return eh(e,{asyncContext:!1})}const sh="__nuxt_plugin";function oh(e){let t=0;const n={_id:e.id||Da||"nuxt-app",_scope:Ac(),provide:void 0,versions:{get nuxt(){return"4.3.1"},get vue(){return n.vueApp.version}},payload:mt({...e.ssrContext?.payload||{},data:mt({}),state:Nt({}),once:new Set,_errors:mt({})}),static:{data:{}},runWithContext(s){return n._scope.active&&!ll()?n._scope.run(()=>bi(n,s)):bi(n,s)},isHydrating:!0,deferHydration(){if(!n.isHydrating)return()=>{};t++;let s=!1;return()=>{if(!s&&(s=!0,t--,t===0))return n.isHydrating=!1,n.callHook("app:suspense:resolve")}},_asyncDataPromises:{},_asyncData:mt({}),_payloadRevivers:{},...e};{const s=window.__NUXT__;if(s)for(const o in s)switch(o){case"data":case"state":case"_errors":Object.assign(n.payload[o],s[o]);break;default:n.payload[o]=s[o]}}n.hooks=zd(),n.hook=n.hooks.hook,n.callHook=n.hooks.callHook,n.provide=(s,o)=>{const i="$"+s;cr(n,i,o),cr(n.vueApp.config.globalProperties,i,o)},cr(n.vueApp,"$nuxt",n),cr(n.vueApp.config.globalProperties,"$nuxt",n);{window.addEventListener(rh,o=>{n.callHook("app:chunkError",{error:o.payload}),o.payload.message.includes("Unable to preload CSS")&&o.preventDefault()}),window.useNuxtApp||=Te;const s=n.hook("app:error",(...o)=>{console.error("[nuxt] error caught during app initialization",...o)});n.hook("app:mounted",s)}const r=n.payload.config;return n.provide("config",r),n}function ih(e,t){t.hooks&&e.hooks.addHooks(t.hooks)}async function lh(e,t){if(typeof t=="function"){const{provide:n}=await e.runWithContext(()=>t(e))||{};if(n&&typeof n=="object")for(const r in n)e.provide(r,n[r])}}async function ah(e,t){const n=new Set,r=[],s=[];let o,i=0;async function l(a){const u=a.dependsOn?.filter(c=>t.some(f=>f._name===c)&&!n.has(c))??[];if(u.length>0)r.push([new Set(u),a]);else{const c=lh(e,a).then(async()=>{a._name&&(n.add(a._name),await Promise.all(r.map(async([f,p])=>{f.has(a._name)&&(f.delete(a._name),f.size===0&&(i++,await l(p)))})))}).catch(f=>{if(!a.parallel&&!e.payload.error)throw f;o||=f});a.parallel?s.push(c):await c}}for(const a of t)ih(e,a);for(const a of t)await l(a);if(await Promise.all(s),i)for(let a=0;a{}),e,{[sh]:!0,_name:t})}function bi(e,t,n){const r=()=>t();return Fa(e._id).set(e),e.vueApp.runWithContext(r)}function ch(e){let t;return so()&&(t=En()?.appContext.app.$nuxt),t||=Fa(e).tryUse(),t||null}function Te(e){const t=ch(e);if(!t)throw new Error("[nuxt] instance unavailable");return t}function go(e){return Te().$config}function cr(e,t,n){Object.defineProperty(e,t,{get:()=>n})}function us(e){if(e===null||typeof e!="object")return!1;const t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)==="[object Module]":!0}function Ds(e,t,n=".",r){if(!us(t))return Ds(e,{},n,r);const s=Object.assign({},t);for(const o in e){if(o==="__proto__"||o==="constructor")continue;const i=e[o];i!=null&&(r&&r(s,o,i,n)||(Array.isArray(i)&&Array.isArray(s[o])?s[o]=[...i,...s[o]]:us(i)&&us(s[o])?s[o]=Ds(i,s[o],(n?`${n}.`:"")+o.toString(),r):s[o]=i))}return s}function fh(e){return(...t)=>t.reduce((n,r)=>Ds(n,r,"",e),{})}const ja=fh();function uh(e,t){try{return t in e}catch{return!1}}class vi extends Error{static __h3_error__=!0;statusCode=500;fatal=!1;unhandled=!1;statusMessage;data;cause;constructor(t,n={}){super(t,n),n.cause&&!this.cause&&(this.cause=n.cause)}toJSON(){const t={message:this.message,statusCode:Fs(this.statusCode,500)};return this.statusMessage&&(t.statusMessage=Ba(this.statusMessage)),this.data!==void 0&&(t.data=this.data),t}}function dh(e){if(typeof e=="string")return new vi(e);if(hh(e))return e;const t=new vi(e.message??e.statusMessage??"",{cause:e.cause||e});if(uh(e,"stack"))try{Object.defineProperty(t,"stack",{get(){return e.stack}})}catch{try{t.stack=e.stack}catch{}}if(e.data&&(t.data=e.data),e.statusCode?t.statusCode=Fs(e.statusCode,t.statusCode):e.status&&(t.statusCode=Fs(e.status,t.statusCode)),e.statusMessage?t.statusMessage=e.statusMessage:e.statusText&&(t.statusMessage=e.statusText),t.statusMessage){const n=t.statusMessage;Ba(t.statusMessage)!==n&&console.warn("[h3] Please prefer using `message` for longer error messages instead of `statusMessage`. In the future, `statusMessage` will be sanitized by default.")}return e.fatal!==void 0&&(t.fatal=e.fatal),e.unhandled!==void 0&&(t.unhandled=e.unhandled),t}function hh(e){return e?.constructor?.__h3_error__===!0}const ph=/[^\u0009\u0020-\u007E]/g;function Ba(e=""){return e.replace(ph,"")}function Fs(e,t=200){return!e||(typeof e=="string"&&(e=Number.parseInt(e,10)),e<100||e>999)?t:e}const gh=Symbol("layout-meta"),qr=Symbol("route");import.meta.url.replace(/\/app\/.*$/,"/");const Ge=()=>Te()?.$router,mh=()=>so()?Be(qr,Te()._route):Te()._route;const yh=()=>{try{if(Te()._processingMiddleware)return!0}catch{return!1}return!1},_m=(e,t)=>{e||="/";const n=typeof e=="string"?e:"path"in e?_h(e):Ge().resolve(e).href;if(t?.open){const{target:u="_blank",windowFeatures:c={}}=t.open,f=[];for(const[p,d]of Object.entries(c))d!==void 0&&f.push(`${p.toLowerCase()}=${d}`);return open(n,u,f.join(", ")),Promise.resolve()}const r=Tn(n,{acceptRelative:!0}),s=t?.external||r;if(s){if(!t?.external)throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.");const{protocol:u}=new URL(n,window.location.href);if(u&&vd(u))throw new Error(`Cannot navigate to a URL with '${u}' protocol.`)}const o=yh();if(!s&&o){if(t?.replace){if(typeof e=="string"){const{pathname:u,search:c,hash:f}=uo(e);return{path:u,...c&&{query:xa(c)},...f&&{hash:f},replace:!0}}return{...e,replace:!0}}return e}const i=Ge(),l=Te();if(s)return l._scope.stop(),t?.replace?location.replace(n):location.href=n,o?l.isHydrating?new Promise(()=>{}):!1:Promise.resolve();const a=typeof e=="string"?bh(e):e;return t?.replace?i.replace(a):i.push(a)};function _h(e){return ka(e.path||"",e.query||{})+(e.hash||"")}function bh(e){const t=uo(e);return ad(cd(t.pathname))+t.search+t.hash}const Ua="__nuxt_error",Jr=()=>Zc(Te().payload,"error"),Bt=e=>{const t=qt(e);try{const n=Jr();Te().hooks.callHook("app:error",t),n.value||=t}catch{throw t}return t},vh=async(e={})=>{const t=Te(),n=Jr();t.callHook("app:error:cleared",e),e.redirect&&await Ge().replace(e.redirect),n.value=void 0},$a=e=>!!e&&typeof e=="object"&&Ua in e,qt=e=>{typeof e!="string"&&e.statusText&&(e.message??=e.statusText);const t=dh(e);return Object.defineProperty(t,Ua,{value:!0,configurable:!1,writable:!1}),Object.defineProperty(t,"status",{get:()=>t.statusCode,configurable:!0}),Object.defineProperty(t,"statusText",{get:()=>t.statusMessage,configurable:!0}),t};function wh(e){const t=Th(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let s=0;s>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const Rh=-1,Ch=-2,Sh=-3,Ah=-4,xh=-5,kh=-6;function Ph(e,t){return Oh(JSON.parse(e),t)}function Oh(e,t){if(typeof e=="number")return o(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);let s=null;function o(i,l=!1){if(i===Rh)return;if(i===Sh)return NaN;if(i===Ah)return 1/0;if(i===xh)return-1/0;if(i===kh)return-0;if(l||typeof i!="number")throw new Error("Invalid input");if(i in r)return r[i];const a=n[i];if(!a||typeof a!="object")r[i]=a;else if(Array.isArray(a))if(typeof a[0]=="string"){const u=a[0],c=t&&Object.hasOwn(t,u)?t[u]:void 0;if(c){let f=a[1];if(typeof f!="number"&&(f=n.push(a[1])-1),s??=new Set,s.has(f))throw new Error("Invalid circular reference");return s.add(f),r[i]=c(o(f)),s.delete(f),r[i]}switch(u){case"Date":r[i]=new Date(a[1]);break;case"Set":const f=new Set;r[i]=f;for(let m=1;m{if(console.createTask)return console.createTask;const e={run:t=>t()};return()=>e})();function Wa(e,t,n,r){for(let s=n;se[s](...t)):e[s](...t);if(o instanceof Promise)return o.then(()=>Wa(e,t,s+1,r))}catch(o){return Promise.reject(o)}}function jh(e,t,n){if(e.length>0)return Wa(e,t,0,Va(n))}function Bh(e,t,n){if(e.length>0){const r=Va(n);return Promise.all(e.map(s=>r.run(()=>s(...t))))}}function ds(e,t){for(const n of[...e])n(t)}var Uh=class{_hooks;_before;_after;_deprecatedHooks;_deprecatedMessages;constructor(){this._hooks={},this._before=void 0,this._after=void 0,this._deprecatedMessages=void 0,this._deprecatedHooks={},this.hook=this.hook.bind(this),this.callHook=this.callHook.bind(this),this.callHookWith=this.callHookWith.bind(this)}hook(e,t,n={}){if(!e||typeof t!="function")return()=>{};const r=e;let s;for(;this._deprecatedHooks[e];)s=this._deprecatedHooks[e],e=s.to;if(s&&!n.allowDeprecated){let o=s.message;o||(o=`${r} hook has been deprecated`+(s.to?`, please use ${s.to}`:"")),this._deprecatedMessages||(this._deprecatedMessages=new Set),this._deprecatedMessages.has(o)||(console.warn(o),this._deprecatedMessages.add(o))}if(!t.name)try{Object.defineProperty(t,"name",{get:()=>"_"+e.replace(/\W+/g,"_")+"_hook_cb",configurable:!0})}catch{}return this._hooks[e]=this._hooks[e]||[],this._hooks[e].push(t),()=>{t&&(this.removeHook(e,t),t=void 0)}}hookOnce(e,t){let n,r=(...s)=>(typeof n=="function"&&n(),n=void 0,r=void 0,t(...s));return n=this.hook(e,r),n}removeHook(e,t){const n=this._hooks[e];if(n){const r=n.indexOf(t);r!==-1&&n.splice(r,1),n.length===0&&(this._hooks[e]=void 0)}}deprecateHook(e,t){this._deprecatedHooks[e]=typeof t=="string"?{to:t}:t;const n=this._hooks[e]||[];this._hooks[e]=void 0;for(const r of n)this.hook(e,r)}deprecateHooks(e){for(const t in e)this.deprecateHook(t,e[t])}addHooks(e){const t=js(e),n=Object.keys(t).map(r=>this.hook(r,t[r]));return()=>{for(const r of n)r();n.length=0}}removeHooks(e){const t=js(e);for(const n in t)this.removeHook(n,t[n])}removeAllHooks(){this._hooks={}}callHook(e,...t){return this.callHookWith(jh,e,t)}callHookParallel(e,...t){return this.callHookWith(Bh,e,t)}callHookWith(e,t,n){const r=this._before||this._after?{name:t,args:n,context:{}}:void 0;this._before&&ds(this._before,r);const s=e(this._hooks[t]?[...this._hooks[t]]:[],n,t);return s instanceof Promise?s.finally(()=>{this._after&&r&&ds(this._after,r)}):(this._after&&r&&ds(this._after,r),s)}beforeEach(e){return this._before=this._before||[],this._before.push(e),()=>{if(this._before!==void 0){const t=this._before.indexOf(e);t!==-1&&this._before.splice(t,1)}}}afterEach(e){return this._after=this._after||[],this._after.push(e),()=>{if(this._after!==void 0){const t=this._after.indexOf(e);t!==-1&&this._after.splice(t,1)}}}};function $h(){return new Uh}const Vh=["name","property","http-equiv"],Wh=new Set(["viewport","description","keywords","robots"]);function Ka(e){const t=e.split(":");return t.length?Fh.has(t[1]):!1}function Bs(e){const{props:t,tag:n}=e;if(Hh.has(n))return n;if(n==="link"&&t.rel==="canonical")return"canonical";const r=t.hreflang||t.type;if(n==="link"&&t.rel==="alternate"&&r)return`alternate:${r}`;if(t.charset)return"charset";if(e.tag==="meta"){for(const s of Vh)if(t[s]!==void 0){const o=t[s],i=o&&typeof o=="string"&&o.includes(":"),l=o&&Wh.has(o),u=!(i||l)&&e.key?`:key:${e.key}`:"";return`${n}:${o}${u}`}}if(e.key)return`${n}:key:${e.key}`;if(t.id)return`${n}:id:${t.id}`;if(Nh.has(n)){const s=e.textContent||e.innerHTML;if(s)return`${n}:content:${s}`}}function Ei(e){const t=e._h||e._d;if(t)return t;const n=e.textContent||e.innerHTML;return n||`${e.tag}:${Object.entries(e.props).map(([r,s])=>`${r}:${String(s)}`).join(",")}`}function Or(e,t,n){typeof e==="function"&&(!n||n!=="titleTemplate"&&!(n[0]==="o"&&n[1]==="n"))&&(e=e());const s=t?t(n,e):e;if(Array.isArray(s))return s.map(o=>Or(o,t));if(s?.constructor===Object){const o={};for(const i of Object.keys(s))o[i]=Or(s[i],t,i);return o}return s}function Kh(e,t){const n=e==="style"?new Map:new Set;function r(s){if(s==null||s===void 0)return;const o=String(s).trim();if(o)if(e==="style"){const[i,...l]=o.split(":").map(a=>a?a.trim():"");i&&l.length&&n.set(i,l.join(":"))}else o.split(" ").filter(Boolean).forEach(i=>n.add(i))}return typeof t=="string"?e==="style"?t.split(";").forEach(r):r(t):Array.isArray(t)?t.forEach(s=>r(s)):t&&typeof t=="object"&&Object.entries(t).forEach(([s,o])=>{o&&o!=="false"&&(e==="style"?n.set(String(s).trim(),String(o)):r(s))}),n}function Ga(e,t){return e.props=e.props||{},t?e.tag==="templateParams"?(e.props=t,e):(Object.entries(t).forEach(([n,r])=>{if(r===null){e.props[n]=null;return}if(n==="class"||n==="style"){e.props[n]=Kh(n,r);return}if(Lh.has(n)){if(["textContent","innerHTML"].includes(n)&&typeof r=="object"){let l=t.type;if(t.type||(l="application/json"),!l?.endsWith("json")&&l!=="speculationrules")return;t.type=l,e.props.type=l,e[n]=JSON.stringify(r)}else e[n]=r;return}const s=String(r),o=n.startsWith("data-"),i=e.tag==="meta"&&n==="content";s==="true"||s===""?e.props[n]=o||i?s:!0:!r&&o&&s==="false"?e.props[n]="false":r!==void 0&&(e.props[n]=r)}),e):e}function Gh(e,t){const n=typeof t=="object"&&typeof t!="function"?t:{[e==="script"||e==="noscript"||e==="style"?"innerHTML":"textContent"]:t},r=Ga({tag:e,props:{}},n);return r.key&&Ih.has(r.tag)&&(r.props["data-hid"]=r._h=r.key),r.tag==="script"&&typeof r.innerHTML=="object"&&(r.innerHTML=JSON.stringify(r.innerHTML),r.props.type=r.props.type||"application/json"),Array.isArray(r.props.content)?r.props.content.map(s=>({...r,props:{...r.props,content:s}})):r}function qh(e,t){if(!e)return[];typeof e=="function"&&(e=e());const n=(s,o)=>{for(let i=0;i{if(o!==void 0)for(const i of Array.isArray(o)?o:[o])r.push(Gh(s,i))}),r.flat()}const Ti=(e,t)=>e._w===t._w?e._p-t._p:e._w-t._w,Ri={base:-10,title:10},Jh={critical:-8,high:-1,low:2},Ci={meta:{"content-security-policy":-30,charset:-20,viewport:-15},link:{preconnect:20,stylesheet:60,preload:70,modulepreload:70,prefetch:90,"dns-prefetch":90,prerender:90},script:{async:30,defer:80,sync:50},style:{imported:40,sync:60}},Yh=/@import/,xn=e=>e===""||e===!0;function zh(e,t){if(typeof t.tagPriority=="number")return t.tagPriority;let n=100;const r=Jh[t.tagPriority]||0,s=e.resolvedOptions.disableCapoSorting?{link:{},script:{},style:{}}:Ci;if(t.tag in Ri)n=Ri[t.tag];else if(t.tag==="meta"){const o=t.props["http-equiv"]==="content-security-policy"?"content-security-policy":t.props.charset?"charset":t.props.name==="viewport"?"viewport":null;o&&(n=Ci.meta[o])}else if(t.tag==="link"&&t.props.rel)n=s.link[t.props.rel];else if(t.tag==="script"){const o=String(t.props.type);xn(t.props.async)?n=s.script.async:t.props.src&&!xn(t.props.defer)&&!xn(t.props.async)&&o!=="module"&&!o.endsWith("json")||t.innerHTML&&!o.endsWith("json")?n=s.script.sync:(xn(t.props.defer)&&t.props.src&&!xn(t.props.async)||o==="module")&&(n=s.script.defer)}else t.tag==="style"&&(n=t.innerHTML&&Yh.test(t.innerHTML)?s.style.imported:s.style.sync);return(n||100)+r}function Si(e,t){const n=typeof t=="function"?t(e):t,r=n.key||String(e.plugins.size+1);e.plugins.get(r)||(e.plugins.set(r,n),e.hooks.addHooks(n.hooks||{}))}function Qh(e={}){const t=$h();t.addHooks(e.hooks||{});const n=!e.document,r=new Map,s=new Map,o=new Set,i={_entryCount:1,plugins:s,dirty:!1,resolvedOptions:e,hooks:t,ssr:n,entries:r,headEntries(){return[...r.values()]},use:l=>Si(i,l),push(l,a){const u={...a||{}};delete u.head;const c=u._index??i._entryCount++,f={_i:c,input:l,options:u},p={_poll(d=!1){i.dirty=!0,!d&&o.add(c),t.callHook("entries:updated",i)},dispose(){r.delete(c)&&i.invalidate()},patch(d){(!u.mode||u.mode==="server"&&n||u.mode==="client"&&!n)&&(f.input=d,r.set(c,f),p._poll())}};return p.patch(l),p},async resolveTags(){const l={tagMap:new Map,tags:[],entries:[...i.entries.values()]};for(await t.callHook("entries:resolve",l);o.size;){const p=o.values().next().value;o.delete(p);const d=r.get(p);if(d){const m={tags:qh(d.input,e.propResolvers||[]).map(_=>Object.assign(_,d.options)),entry:d};await t.callHook("entries:normalize",m),d._tags=m.tags.map((_,T)=>(_._w=zh(i,_),_._p=(d._i<<10)+T,_._d=Bs(_),_))}}let a=!1;l.entries.flatMap(p=>(p._tags||[]).map(d=>({...d,props:{...d.props}}))).sort(Ti).reduce((p,d)=>{const m=String(d._d||d._p);if(!p.has(m))return p.set(m,d);const _=p.get(m);if((d?.tagDuplicateStrategy||(Dh.has(d.tag)?"merge":null)||(d.key&&d.key===_.key?"merge":null))==="merge"){const R={..._.props};Object.entries(d.props).forEach(([v,g])=>R[v]=v==="style"?new Map([..._.props.style||new Map,...g]):v==="class"?new Set([..._.props.class||new Set,...g]):g),p.set(m,{...d,props:R})}else d._p>>10===_._p>>10&&d.tag==="meta"&&Ka(m)?(p.set(m,Object.assign([...Array.isArray(_)?_:[_],d],d)),a=!0):(d._w===_._w?d._p>_._p:d?._w<_?._w)&&p.set(m,d);return p},l.tagMap);const u=l.tagMap.get("title"),c=l.tagMap.get("titleTemplate");if(i._title=u?.textContent,c){const p=c?.textContent;if(i._titleTemplate=p,p){let d=typeof p=="function"?p(u?.textContent):p;typeof d=="string"&&!i.plugins.has("template-params")&&(d=d.replace("%s",u?.textContent||"")),u?d===null?l.tagMap.delete("title"):l.tagMap.set("title",{...u,textContent:d}):(c.tag="title",c.textContent=d)}}l.tags=Array.from(l.tagMap.values()),a&&(l.tags=l.tags.flat().sort(Ti)),await t.callHook("tags:beforeResolve",l),await t.callHook("tags:resolve",l),await t.callHook("tags:afterResolve",l);const f=[];for(const p of l.tags){const{innerHTML:d,tag:m,props:_}=p;if(Mh.has(m)&&!(Object.keys(_).length===0&&!p.innerHTML&&!p.textContent)&&!(m==="meta"&&!_.content&&!_["http-equiv"]&&!_.charset)){if(m==="script"&&d){if(String(_.type).endsWith("json")){const T=typeof d=="string"?d:JSON.stringify(d);p.innerHTML=T.replace(/Si(i,l)),i.hooks.callHook("init",i),e.init?.forEach(l=>l&&i.push(l)),i}const Xh=(e,t)=>ye(t)?Yc(t):t,qa="usehead";function Zh(e){return{install(n){n.config.globalProperties.$unhead=e,n.config.globalProperties.$head=e,n.provide(qa,e)}}.install}function ep(){if(so()){const e=Be(qa);if(e)return e}throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.")}function bm(e,t={}){const n=t.head||ep();return n.ssr?n.push(e||{},t):tp(n,e,t)}function tp(e,t,n={}){const r=yt(!1);let s;return ff(()=>{const i=r.value?{}:Or(t,Xh);s?s.patch(i):s=e.push(i,n)}),En()&&(Zn(()=>{s.dispose()}),Dl(()=>{r.value=!0}),Ll(()=>{r.value=!1})),s}const np=(e,t)=>[],rp=e=>ja({},...np().map(t=>t.data).reverse()),sp=rp;let hr;function op(){return hr=$fetch(po(`builds/meta/${go().app.buildId}.json`),{responseType:"json"}),hr.catch(e=>{console.error("[nuxt] Error fetching app manifest.",e)}),hr}function Ja(){return hr||op()}function Ya(e){const t=typeof e=="string"?e:e.path;try{return sp(t)}catch(n){return console.error("[nuxt] Error matching route rules.",n),{}}}async function Ai(e,t={}){return null}async function ip(e){return null}let Ft=null;async function lp(){if(Ft)return Ft;const e=document.getElementById("__NUXT_DATA__");if(!e)return{};const t=await ap(e.textContent||""),n=e.dataset.src?await ip(e.dataset.src):void 0;return Ft={...t,...n,...window.__NUXT__},Ft.config?.public&&(Ft.config.public=Nt(Ft.config.public)),Ft}async function ap(e){return await Ph(e,Te()._payloadRevivers)}function cp(e,t){Te()._payloadRevivers[e]=t}const fp=[["NuxtError",e=>qt(e)],["EmptyShallowRef",e=>$n(e==="_"?void 0:e==="0n"?BigInt(0):Ar(e))],["EmptyRef",e=>yt(e==="_"?void 0:e==="0n"?BigInt(0):Ar(e))],["ShallowRef",e=>$n(e)],["ShallowReactive",e=>mt(e)],["Ref",e=>yt(e)],["Reactive",e=>Nt(e)]],up=Et({name:"nuxt:revive-payload:client",order:-30,async setup(e){let t,n;for(const[r,s]of fp)cp(r,s);Object.assign(e.payload,([t,n]=Fn(()=>e.runWithContext(lp)),t=await t,n(),t)),delete window.__NUXT__}});async function mo(e,t={}){const n=t.document||e.resolvedOptions.document;if(!n||!e.dirty)return;const r={shouldRender:!0,tags:[]};if(await e.hooks.callHook("dom:beforeRender",r),!!r.shouldRender)return e._domUpdatePromise||(e._domUpdatePromise=new Promise(async s=>{const o=new Map,i=new Promise(d=>{e.resolveTags().then(m=>{d(m.map(_=>{const T=o.get(_._d)||0,R={tag:_,id:(T?`${_._d}:${T}`:_._d)||Ei(_),shouldRender:!0};return _._d&&Ka(_._d)&&o.set(_._d,T+1),R}))})});let l=e._dom;if(!l){l={title:n.title,elMap:new Map().set("htmlAttrs",n.documentElement).set("bodyAttrs",n.body)};for(const d of["body","head"]){const m=n[d]?.children;for(const _ of m){const T=_.tagName.toLowerCase();if(!wi.has(T))continue;const R=Ga({tag:T,props:{}},{innerHTML:_.innerHTML,..._.getAttributeNames().reduce((v,g)=>(v[g]=_.getAttribute(g),v),{})||{}});if(R.key=_.getAttribute("data-hid")||void 0,R._d=Bs(R)||Ei(R),l.elMap.has(R._d)){let v=1,g=R._d;for(;l.elMap.has(g);)g=`${R._d}:${v++}`;l.elMap.set(g,_)}else l.elMap.set(R._d,_)}}}l.pendingSideEffects={...l.sideEffects},l.sideEffects={};function a(d,m,_){const T=`${d}:${m}`;l.sideEffects[T]=_,delete l.pendingSideEffects[T]}function u({id:d,$el:m,tag:_}){const T=_.tag.endsWith("Attrs");l.elMap.set(d,m),T||(_.textContent&&_.textContent!==m.textContent&&(m.textContent=_.textContent),_.innerHTML&&_.innerHTML!==m.innerHTML&&(m.innerHTML=_.innerHTML),a(d,"el",()=>{m?.remove(),l.elMap.delete(d)}));for(const R in _.props){if(!Object.prototype.hasOwnProperty.call(_.props,R))continue;const v=_.props[R];if(R.startsWith("on")&&typeof v=="function"){const b=m?.dataset;if(b&&b[`${R}fired`]){const E=R.slice(0,-5);v.call(m,new Event(E.substring(2)))}m.getAttribute(`data-${R}`)!==""&&((_.tag==="bodyAttrs"?n.defaultView:m).addEventListener(R.substring(2),v.bind(m)),m.setAttribute(`data-${R}`,""));continue}const g=`attr:${R}`;if(R==="class"){if(!v)continue;for(const b of v)T&&a(d,`${g}:${b}`,()=>m.classList.remove(b)),!m.classList.contains(b)&&m.classList.add(b)}else if(R==="style"){if(!v)continue;for(const[b,E]of v)a(d,`${g}:${b}`,()=>{m.style.removeProperty(b)}),m.style.setProperty(b,E)}else v!==!1&&v!==null&&(m.getAttribute(R)!==v&&m.setAttribute(R,v===!0?"":String(v)),T&&a(d,g,()=>m.removeAttribute(R)))}}const c=[],f={bodyClose:void 0,bodyOpen:void 0,head:void 0},p=await i;for(const d of p){const{tag:m,shouldRender:_,id:T}=d;if(_){if(m.tag==="title"){n.title=m.textContent,a("title","",()=>n.title=l.title);continue}d.$el=d.$el||l.elMap.get(T),d.$el?u(d):wi.has(m.tag)&&c.push(d)}}for(const d of c){const m=d.tag.tagPosition||"head";d.$el=n.createElement(d.tag.tag),u(d),f[m]=f[m]||n.createDocumentFragment(),f[m].appendChild(d.$el)}for(const d of p)await e.hooks.callHook("dom:renderTag",d,n,a);f.head&&n.head.appendChild(f.head),f.bodyOpen&&n.body.insertBefore(f.bodyOpen,n.body.firstChild),f.bodyClose&&n.body.appendChild(f.bodyClose);for(const d in l.pendingSideEffects)l.pendingSideEffects[d]();e._dom=l,await e.hooks.callHook("dom:rendered",{renders:p}),s()}).finally(()=>{e._domUpdatePromise=void 0,e.dirty=!1})),e._domUpdatePromise}function dp(e={}){const t=e.domOptions?.render||mo;e.document=e.document||(typeof window<"u"?document:void 0);const n=e.document?.head.querySelector('script[id="unhead:payload"]')?.innerHTML||!1;return Qh({...e,plugins:[...e.plugins||[],{key:"client",hooks:{"entries:updated":t}}],init:[n?JSON.parse(n):!1,...e.init||[]]})}function hp(e,t){let n=0;return()=>{const r=++n;t(()=>{n===r&&e()})}}function pp(e={}){const t=dp({domOptions:{render:hp(()=>mo(t),n=>setTimeout(n,0))},...e});return t.install=Zh(t),t}const gp={disableDefaults:!0},mp=Et({name:"nuxt:head",enforce:"pre",setup(e){const t=pp(gp);e.vueApp.use(t);{let n=!0;const r=async()=>{n=!1,await mo(t)};t.hooks.hook("dom:beforeRender",s=>{s.shouldRender=!n}),e.hooks.hook("page:start",()=>{n=!0}),e.hooks.hook("page:finish",()=>{e.isHydrating||r()}),e.hooks.hook("app:error",r),e.hooks.hook("app:suspense:resolve",r)}}});const en=typeof document<"u";function za(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&za(e.default)}const se=Object.assign;function hs(e,t){const n={};for(const r in t){const s=t[r];n[r]=Ze(s)?s.map(e):e(s)}return n}const jn=()=>{},Ze=Array.isArray;function xi(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const Qa=/#/g,_p=/&/g,bp=/\//g,vp=/=/g,wp=/\?/g,Xa=/\+/g,Ep=/%5B/g,Tp=/%5D/g,Za=/%5E/g,Rp=/%60/g,ec=/%7B/g,Cp=/%7C/g,tc=/%7D/g,Sp=/%20/g;function yo(e){return e==null?"":encodeURI(""+e).replace(Cp,"|").replace(Ep,"[").replace(Tp,"]")}function Ap(e){return yo(e).replace(ec,"{").replace(tc,"}").replace(Za,"^")}function Us(e){return yo(e).replace(Xa,"%2B").replace(Sp,"+").replace(Qa,"%23").replace(_p,"%26").replace(Rp,"`").replace(ec,"{").replace(tc,"}").replace(Za,"^")}function xp(e){return Us(e).replace(vp,"%3D")}function kp(e){return yo(e).replace(Qa,"%23").replace(wp,"%3F")}function Pp(e){return kp(e).replace(bp,"%2F")}function qn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Op=/\/$/,Ip=e=>e.replace(Op,"");function ps(e,t,n="/"){let r,s={},o="",i="";const l=t.indexOf("#");let a=t.indexOf("?");return a=l>=0&&a>l?-1:a,a>=0&&(r=t.slice(0,a),o=t.slice(a,l>0?l:t.length),s=e(o.slice(1))),l>=0&&(r=r||t.slice(0,l),i=t.slice(l,t.length)),r=Lp(r??t,n),{fullPath:r+o+i,path:r,query:s,hash:qn(i)}}function Np(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function ki(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Mp(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&_n(t.matched[r],n.matched[s])&&nc(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function _n(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function nc(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Hp(e[n],t[n]))return!1;return!0}function Hp(e,t){return Ze(e)?Pi(e,t):Ze(t)?Pi(t,e):e?.valueOf()===t?.valueOf()}function Pi(e,t){return Ze(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function Lp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let o=n.length-1,i,l;for(i=0;i1&&o--;else break;return n.slice(0,o).join("/")+"/"+r.slice(i).join("/")}const Ve={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let $s=(function(e){return e.pop="pop",e.push="push",e})({}),gs=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Dp(e){if(!e)if(en){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Ip(e)}const Fp=/^[^#]+#/;function jp(e,t){return e.replace(Fp,"#")+t}function Bp(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Yr=()=>({left:window.scrollX,top:window.scrollY});function Up(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=Bp(s,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 Oi(e,t){return(history.state?history.state.position-t:-1)+e}const Vs=new Map;function $p(e,t){Vs.set(e,t)}function Vp(e){const t=Vs.get(e);return Vs.delete(e),t}function Wp(e){return typeof e=="string"||e&&typeof e=="object"}function rc(e){return typeof e=="string"||typeof e=="symbol"}let ge=(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 sc=Symbol("");ge.MATCHER_NOT_FOUND+"",ge.NAVIGATION_GUARD_REDIRECT+"",ge.NAVIGATION_ABORTED+"",ge.NAVIGATION_CANCELLED+"",ge.NAVIGATION_DUPLICATED+"";function bn(e,t){return se(new Error,{type:e,[sc]:!0},t)}function ut(e,t){return e instanceof Error&&sc in e&&(t==null||!!(e.type&t))}const Kp=["params","query","hash"];function Gp(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Kp)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function qp(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Us(s)):[r&&Us(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Jp(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Ze(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Yp=Symbol(""),Ni=Symbol(""),_o=Symbol(""),oc=Symbol(""),Ws=Symbol("");function kn(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function xt(e,t,n,r,s,o=i=>i()){const i=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((l,a)=>{const u=p=>{p===!1?a(bn(ge.NAVIGATION_ABORTED,{from:n,to:t})):p instanceof Error?a(p):Wp(p)?a(bn(ge.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(i&&r.enterCallbacks[s]===i&&typeof p=="function"&&i.push(p),l())},c=o(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(p=>a(p))})}function ms(e,t,n,r,s=o=>o()){const o=[];for(const i of e)for(const l in i.components){let a=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(za(a)){const u=(a.__vccOpts||a)[t];u&&o.push(xt(u,n,r,i,l,s))}else{let u=a();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=yp(c)?c.default:c;i.mods[l]=c,i.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&xt(p,n,r,i,l,s)()}))}}return o}function zp(e,t){const n=[],r=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;i_n(u,l))?r.push(l):n.push(l));const a=e.matched[i];a&&(t.matched.find(u=>_n(u,a))||s.push(a))}return[n,r,s]}let Qp=()=>location.protocol+"//"+location.host;function ic(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),ki(l,"")}return ki(n,e)+r+s}function Xp(e,t,n,r){let s=[],o=[],i=null;const l=({state:p})=>{const d=ic(e,location),m=n.value,_=t.value;let T=0;if(p){if(n.value=d,t.value=p,i&&i===m){i=null;return}T=_?p.position-_.position:0}else r(d);s.forEach(R=>{R(n.value,m,{delta:T,type:$s.pop,direction:T?T>0?gs.forward:gs.back:gs.unknown})})};function a(){i=n.value}function u(p){s.push(p);const d=()=>{const m=s.indexOf(p);m>-1&&s.splice(m,1)};return o.push(d),d}function c(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(se({},p.state,{scroll:Yr()}),"")}}function f(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:u,destroy:f}}function Mi(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Yr():null}}function Zp(e){const{history:t,location:n}=window,r={value:ic(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,u,c){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+a:Qp()+e+a;try{t[c?"replaceState":"pushState"](u,"",p),s.value=u}catch(d){console.error(d),n[c?"replace":"assign"](p)}}function i(a,u){o(a,se({},t.state,Mi(s.value.back,a,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=a}function l(a,u){const c=se({},s.value,t.state,{forward:a,scroll:Yr()});o(c.current,c,!0),o(a,se({},Mi(r.value,a,null),{position:c.position+1},u),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function eg(e){e=Dp(e);const t=Zp(e),n=Xp(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=se({location:"",base:e,go:r,createHref:jp.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let $t=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var _e=(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})(_e||{});const tg={type:$t.Static,value:""},ng=/[a-zA-Z0-9_]/;function rg(e){if(!e)return[[]];if(e==="/")return[[tg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${u}": ${d}`)}let n=_e.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,u="",c="";function f(){u&&(n===_e.Static?o.push({type:$t.Static,value:u}):n===_e.Param||n===_e.ParamRegExp||n===_e.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),o.push({type:$t.Param,value:u,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function p(){u+=a}for(;lt.length?t.length===1&&t[0]===Ae.Static+Ae.Segment?1:-1:0}function lc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ag={strict:!1,end:!0,sensitive:!1};function cg(e,t,n){const r=ig(rg(e.path),n),s=se(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function fg(e,t){const n=[],r=new Map;t=xi(ag,t);function s(f){return r.get(f)}function o(f,p,d){const m=!d,_=Fi(f);_.aliasOf=d&&d.record;const T=xi(t,f),R=[_];if("alias"in f){const b=typeof f.alias=="string"?[f.alias]:f.alias;for(const E of b)R.push(Fi(se({},_,{components:d?d.record.components:_.components,path:E,aliasOf:d?d.record:_})))}let v,g;for(const b of R){const{path:E}=b;if(p&&E[0]!=="/"){const S=p.record.path,M=S[S.length-1]==="/"?"":"/";b.path=p.record.path+(E&&M+E)}if(v=cg(b,p,T),d?d.alias.push(v):(g=g||v,g!==v&&g.alias.push(v),m&&f.name&&!ji(v)&&i(f.name)),ac(v)&&a(v),_.children){const S=_.children;for(let M=0;M{i(g)}:jn}function i(f){if(rc(f)){const p=r.get(f);p&&(r.delete(f),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(f);p>-1&&(n.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return n}function a(f){const p=hg(f,n);n.splice(p,0,f),f.record.name&&!ji(f)&&r.set(f.record.name,f)}function u(f,p){let d,m={},_,T;if("name"in f&&f.name){if(d=r.get(f.name),!d)throw bn(ge.MATCHER_NOT_FOUND,{location:f});T=d.record.name,m=se(Di(p.params,d.keys.filter(g=>!g.optional).concat(d.parent?d.parent.keys.filter(g=>g.optional):[]).map(g=>g.name)),f.params&&Di(f.params,d.keys.map(g=>g.name))),_=d.stringify(m)}else if(f.path!=null)_=f.path,d=n.find(g=>g.re.test(_)),d&&(m=d.parse(_),T=d.record.name);else{if(d=p.name?r.get(p.name):n.find(g=>g.re.test(p.path)),!d)throw bn(ge.MATCHER_NOT_FOUND,{location:f,currentLocation:p});T=d.record.name,m=se({},p.params,f.params),_=d.stringify(m)}const R=[];let v=d;for(;v;)R.unshift(v.record),v=v.parent;return{name:T,path:_,params:m,matched:R,meta:dg(R)}}e.forEach(f=>o(f));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:u,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function Di(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Fi(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:ug(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 ug(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function ji(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function dg(e){return e.reduce((t,n)=>se(t,n.meta),{})}function hg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;lc(e,t[o])<0?r=o:n=o+1}const s=pg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function pg(e){let t=e;for(;t=t.parent;)if(ac(t)&&lc(e,t)===0)return t}function ac({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Bi(e){const t=Be(_o),n=Be(oc),r=Ye(()=>{const a=de(e.to);return t.resolve(a)}),s=Ye(()=>{const{matched:a}=r.value,{length:u}=a,c=a[u-1],f=n.matched;if(!c||!f.length)return-1;const p=f.findIndex(_n.bind(null,c));if(p>-1)return p;const d=Ui(a[u-2]);return u>1&&Ui(c)===d&&f[f.length-1].path!==d?f.findIndex(_n.bind(null,a[u-2])):p}),o=Ye(()=>s.value>-1&&bg(n.params,r.value.params)),i=Ye(()=>s.value>-1&&s.value===n.matched.length-1&&nc(n.params,r.value.params));function l(a={}){if(_g(a)){const u=t[de(e.replace)?"replace":"push"](de(e.to)).catch(jn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:Ye(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function gg(e){return e.length===1?e[0]:e}const mg=Qn({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:Bi,setup(e,{slots:t}){const n=Nt(Bi(e)),{options:r}=Be(_o),s=Ye(()=>({[$i(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[$i(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&gg(t.default(n));return e.custom?o:We("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),yg=mg;function _g(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 bg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Ze(s)||s.length!==r.length||r.some((o,i)=>o.valueOf()!==s[i].valueOf()))return!1}return!0}function Ui(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const $i=(e,t,n)=>e??t??n,vg=Qn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Be(Ws),s=Ye(()=>e.route||r.value),o=Be(Ni,0),i=Ye(()=>{let u=de(o);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),l=Ye(()=>s.value.matched[i.value]);ln(Ni,Ye(()=>i.value+1)),ln(Yp,l),ln(Ws,s);const a=yt();return an(()=>[a.value,l.value,e.name],([u,c,f],[p,d,m])=>{c&&(c.instances[f]=u,d&&d!==c&&u&&u===p&&(c.leaveGuards.size||(c.leaveGuards=d.leaveGuards),c.updateGuards.size||(c.updateGuards=d.updateGuards))),u&&c&&(!d||!_n(c,d)||!p)&&(c.enterCallbacks[f]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=l.value,p=f&&f.components[c];if(!p)return Vi(n.default,{Component:p,route:u});const d=f.props[c],m=d?d===!0?u.params:typeof d=="function"?d(u):d:null,T=We(p,se({},m,t,{onVnodeUnmounted:R=>{R.component.isUnmounted&&(f.instances[c]=null)},ref:a}));return Vi(n.default,{Component:T,route:u})||T}}});function Vi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const cc=vg;function wg(e){const t=fg(e.routes,e),n=e.parseQuery||qp,r=e.stringifyQuery||Ii,s=e.history,o=kn(),i=kn(),l=kn(),a=$n(Ve);let u=Ve;en&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=hs.bind(null,A=>""+A),f=hs.bind(null,Pp),p=hs.bind(null,qn);function d(A,U){let F,q;return rc(A)?(F=t.getRecordMatcher(A),q=U):q=A,t.addRoute(q,F)}function m(A){const U=t.getRecordMatcher(A);U&&t.removeRoute(U)}function _(){return t.getRoutes().map(A=>A.record)}function T(A){return!!t.getRecordMatcher(A)}function R(A,U){if(U=se({},U||a.value),typeof A=="string"){const y=ps(n,A,U.path),w=t.resolve({path:y.path},U),x=s.createHref(y.fullPath);return se(y,w,{params:p(w.params),hash:qn(y.hash),redirectedFrom:void 0,href:x})}let F;if(A.path!=null)F=se({},A,{path:ps(n,A.path,U.path).path});else{const y=se({},A.params);for(const w in y)y[w]==null&&delete y[w];F=se({},A,{params:f(y)}),U.params=f(U.params)}const q=t.resolve(F,U),Z=A.hash||"";q.params=c(p(q.params));const he=Np(r,se({},A,{hash:Ap(Z),path:q.path})),h=s.createHref(he);return se({fullPath:he,hash:Z,query:r===Ii?Jp(A.query):A.query||{}},q,{redirectedFrom:void 0,href:h})}function v(A){return typeof A=="string"?ps(n,A,a.value.path):se({},A)}function g(A,U){if(u!==A)return bn(ge.NAVIGATION_CANCELLED,{from:U,to:A})}function b(A){return M(A)}function E(A){return b(se(v(A),{replace:!0}))}function S(A,U){const F=A.matched[A.matched.length-1];if(F&&F.redirect){const{redirect:q}=F;let Z=typeof q=="function"?q(A,U):q;return typeof Z=="string"&&(Z=Z.includes("?")||Z.includes("#")?Z=v(Z):{path:Z},Z.params={}),se({query:A.query,hash:A.hash,params:Z.path!=null?{}:A.params},Z)}}function M(A,U){const F=u=R(A),q=a.value,Z=A.state,he=A.force,h=A.replace===!0,y=S(F,q);if(y)return M(se(v(y),{state:typeof y=="object"?se({},Z,y.state):Z,force:he,replace:h}),U||F);const w=F;w.redirectedFrom=U;let x;return!he&&Mp(r,q,F)&&(x=bn(ge.NAVIGATION_DUPLICATED,{to:w,from:q}),et(q,q,!0,!1)),(x?Promise.resolve(x):N(w,q)).catch(C=>ut(C)?ut(C,ge.NAVIGATION_GUARD_REDIRECT)?C:Tt(C):B(C,w,q)).then(C=>{if(C){if(ut(C,ge.NAVIGATION_GUARD_REDIRECT))return M(se({replace:h},v(C.to),{state:typeof C.to=="object"?se({},Z,C.to.state):Z,force:he}),U||w)}else C=O(w,q,!0,h,Z);return W(w,q,C),C})}function V(A,U){const F=g(A,U);return F?Promise.reject(F):Promise.resolve()}function I(A){const U=zt.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(A):A()}function N(A,U){let F;const[q,Z,he]=zp(A,U);F=ms(q.reverse(),"beforeRouteLeave",A,U);for(const y of q)y.leaveGuards.forEach(w=>{F.push(xt(w,A,U))});const h=V.bind(null,A,U);return F.push(h),Ue(F).then(()=>{F=[];for(const y of o.list())F.push(xt(y,A,U));return F.push(h),Ue(F)}).then(()=>{F=ms(Z,"beforeRouteUpdate",A,U);for(const y of Z)y.updateGuards.forEach(w=>{F.push(xt(w,A,U))});return F.push(h),Ue(F)}).then(()=>{F=[];for(const y of he)if(y.beforeEnter)if(Ze(y.beforeEnter))for(const w of y.beforeEnter)F.push(xt(w,A,U));else F.push(xt(y.beforeEnter,A,U));return F.push(h),Ue(F)}).then(()=>(A.matched.forEach(y=>y.enterCallbacks={}),F=ms(he,"beforeRouteEnter",A,U,I),F.push(h),Ue(F))).then(()=>{F=[];for(const y of i.list())F.push(xt(y,A,U));return F.push(h),Ue(F)}).catch(y=>ut(y,ge.NAVIGATION_CANCELLED)?y:Promise.reject(y))}function W(A,U,F){l.list().forEach(q=>I(()=>q(A,U,F)))}function O(A,U,F,q,Z){const he=g(A,U);if(he)return he;const h=U===Ve,y=en?history.state:{};F&&(q||h?s.replace(A.fullPath,se({scroll:h&&y&&y.scroll},Z)):s.push(A.fullPath,Z)),a.value=A,et(A,U,F,h),Tt()}let K;function ee(){K||(K=s.listen((A,U,F)=>{if(!Mt.listening)return;const q=R(A),Z=S(q,Mt.currentRoute.value);if(Z){M(se(Z,{replace:!0,force:!0}),q).catch(jn);return}u=q;const he=a.value;en&&$p(Oi(he.fullPath,F.delta),Yr()),N(q,he).catch(h=>ut(h,ge.NAVIGATION_ABORTED|ge.NAVIGATION_CANCELLED)?h:ut(h,ge.NAVIGATION_GUARD_REDIRECT)?(M(se(v(h.to),{force:!0}),q).then(y=>{ut(y,ge.NAVIGATION_ABORTED|ge.NAVIGATION_DUPLICATED)&&!F.delta&&F.type===$s.pop&&s.go(-1,!1)}).catch(jn),Promise.reject()):(F.delta&&s.go(-F.delta,!1),B(h,q,he))).then(h=>{h=h||O(q,he,!1),h&&(F.delta&&!ut(h,ge.NAVIGATION_CANCELLED)?s.go(-F.delta,!1):F.type===$s.pop&&ut(h,ge.NAVIGATION_ABORTED|ge.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(q,he,h)}).catch(jn)}))}let le=kn(),$=kn(),Q;function B(A,U,F){Tt(A);const q=$.list();return q.length?q.forEach(Z=>Z(A,U,F)):console.error(A),Promise.reject(A)}function ce(){return Q&&a.value!==Ve?Promise.resolve():new Promise((A,U)=>{le.add([A,U])})}function Tt(A){return Q||(Q=!A,ee(),le.list().forEach(([U,F])=>A?F(A):U()),le.reset()),A}function et(A,U,F,q){const{scrollBehavior:Z}=e;if(!en||!Z)return Promise.resolve();const he=!F&&Vp(Oi(A.fullPath,0))||(q||!F)&&history.state&&history.state.scroll||null;return hn().then(()=>Z(A,U,he)).then(h=>h&&Up(h)).catch(h=>B(h,A,U))}const ke=A=>s.go(A);let Yt;const zt=new Set,Mt={currentRoute:a,listening:!0,addRoute:d,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:_,resolve:R,options:e,push:b,replace:E,go:ke,back:()=>ke(-1),forward:()=>ke(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:$.add,isReady:ce,install(A){A.component("RouterLink",yg),A.component("RouterView",cc),A.config.globalProperties.$router=Mt,Object.defineProperty(A.config.globalProperties,"$route",{enumerable:!0,get:()=>de(a)}),en&&!Yt&&a.value===Ve&&(Yt=!0,b(s.location).catch(q=>{}));const U={};for(const q in Ve)Object.defineProperty(U,q,{get:()=>a.value[q],enumerable:!0});A.provide(_o,Mt),A.provide(oc,mt(U)),A.provide(Ws,a);const F=A.unmount;zt.add(A),A.unmount=function(){zt.delete(A),zt.size<1&&(u=Ve,K&&K(),K=null,a.value=Ve,Yt=!1,Q=!1),F()}}};function Ue(A){return A.reduce((U,F)=>U.then(()=>I(F)),Promise.resolve())}return Mt}const Eg=/(:\w+)\([^)]+\)/g,Tg=/(:\w+)[?+*]/g,Rg=/:\w+/g,Cg=(e,t)=>t.path.replace(Eg,"$1").replace(Tg,"$1").replace(Rg,n=>e.params[n.slice(1)]?.toString()||""),Ks=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&Cg(e.route,n));return typeof r=="function"?r(e.route):r},Sg=(e,t)=>({default:()=>e?We(Ef,e===!0?{}:e,t):t});function bo(e){return Array.isArray(e)?e:[e]}const Ag="modulepreload",xg=function(e,t){return new URL(e,t).href},Wi={},Gs=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){let u=function(c){return Promise.all(c.map(f=>Promise.resolve(f).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const i=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),a=l?.nonce||l?.getAttribute("nonce");s=u(n.map(c=>{if(c=xg(c,r),c in Wi)return;Wi[c]=!0;const f=c.endsWith(".css"),p=f?'[rel="stylesheet"]':"";if(r)for(let m=i.length-1;m>=0;m--){const _=i[m];if(_.href===c&&(!f||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${p}`))return;const d=document.createElement("link");if(d.rel=f?"stylesheet":Ag,f||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),f)return new Promise((m,_)=>{d.addEventListener("load",m),d.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(i){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=i,window.dispatchEvent(l),!l.defaultPrevented)throw i}return s.then(i=>{for(const l of i||[])l.status==="rejected"&&o(l.reason);return t().catch(o)})},ys=[{name:"index",path:"/",component:()=>Gs(()=>import("./CeoJbNH2.js"),__vite__mapDeps([0,1]),import.meta.url)}],kg=(e,t)=>({default:()=>e?We(Tu,e===!0?{}:e,t):t.default?.()}),Pg=/(:\w+)\([^)]+\)/g,Og=/(:\w+)[?+*]/g,Ig=/:\w+/g;function Ki(e){const t=e?.meta.key??e.path.replace(Pg,"$1").replace(Og,"$1").replace(Ig,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function Ng(e,t){return e===t||t===Ve?!1:Ki(e)!==Ki(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}const Mg={scrollBehavior(e,t,n){const r=Te(),s=Ge().options?.scrollBehaviorType??"auto";if(e.path.replace(/\/$/,"")===t.path.replace(/\/$/,""))return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:fc(e.hash),behavior:s}:!1;if((typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1)return!1;const i=r._runningTransition?"page:transition:finish":"page:loading:end";return new Promise(l=>{if(t===Ve){l(Gi(e,t,n,s));return}r.hooks.hookOnce(i,()=>{requestAnimationFrame(()=>l(Gi(e,t,n,s)))})})}};function fc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Gi(e,t,n,r){if(n)return n;const s=Ng(e,t);return e.hash?{el:e.hash,top:fc(e.hash),behavior:s?r:"instant"}:{left:0,top:0}}const Hg={hashMode:!1,scrollBehaviorType:"auto"},Ct={...Hg,...Mg},Lg=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=Fn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=qt({fatal:!0,status:s&&(s.status||s.statusCode)||404,statusText:s&&(s.statusText||s.statusMessage)||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Dg=e=>{const t=Ya({path:e.path});if(t.redirect){const n=t.redirect.includes("#")?t.redirect:t.redirect+e.hash;return Tn(n,{acceptRelative:!0})?(window.location.href=n,!1):n}},Fg=[Lg,Dg],qs={};function jg(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const u=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(u);return c[0]!=="/"&&(c="/"+c),ui(c,"")}const l=ui(r,e),a=!n||Rd(l,n)?l:n;return a+(a.includes("?")?"":s)+o}const Bg=Et({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=go().app.baseURL;const s=Ct.history?.(r)??eg(r),o=Ct.routes?([t,n]=Fn(()=>Ct.routes(ys)),t=await t,n(),t??ys):ys;let i;const l=wg({...Ct,scrollBehavior:(T,R,v)=>{if(R===Ve){i=v;return}if(Ct.scrollBehavior){if(l.options.scrollBehavior=Ct.scrollBehavior,"scrollRestoration"in window.history){const g=l.beforeEach(()=>{g(),window.history.scrollRestoration="manual"})}return Ct.scrollBehavior(T,Ve,i||v)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=$n(l.currentRoute.value);l.afterEach((T,R)=>{a.value=R}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const u=jg(r,window.location,e.payload.path),c=$n(l.currentRoute.value),f=()=>{c.value=l.currentRoute.value};l.afterEach((T,R)=>{T.matched.at(-1)?.components?.default===R.matched.at(-1)?.components?.default&&f()});const p={sync:f};for(const T in c.value)Object.defineProperty(p,T,{get:()=>c.value[T],enumerable:!0});e._route=mt(p),e._middleware||={global:[],named:{}};const d=Jr();l.afterEach(async(T,R,v)=>{delete e._processingMiddleware,!e.isHydrating&&d.value&&await e.runWithContext(vh),v&&await e.callHook("page:loading:end")});try{[t,n]=Fn(()=>l.isReady()),await t,n()}catch(T){[t,n]=Fn(()=>e.runWithContext(()=>Bt(T))),await t,n()}const m=u!==l.currentRoute.value.fullPath?l.resolve(u):l.currentRoute.value;f();const _=e.payload.state._layout;return l.beforeEach(async(T,R)=>{await e.callHook("page:loading:start"),T.meta=Nt(T.meta),e.isHydrating&&_&&!at(T.meta.layout)&&(T.meta.layout=_),e._processingMiddleware=!0;{const v=new Set([...Fg,...e._middleware.global]);for(const b of T.matched){const E=b.meta.middleware;if(E)for(const S of bo(E))v.add(S)}const g=Ya({path:T.path});if(g.appMiddleware)for(const b in g.appMiddleware)g.appMiddleware[b]?v.add(b):v.delete(b);for(const b of v){const E=typeof b=="string"?e._middleware.named[b]||await qs[b]?.().then(S=>S.default||S):b;if(!E)throw new Error(`Unknown route middleware: '${b}'.`);try{const S=await e.runWithContext(()=>E(T,R));if(!e.payload.serverRendered&&e.isHydrating&&(S===!1||S instanceof Error)){const M=S||qt({status:404,statusText:`Page Not Found: ${u}`});return await e.runWithContext(()=>Bt(M)),!1}if(S===!0)continue;if(S===!1)return S;if(S)return $a(S)&&S.fatal&&await e.runWithContext(()=>Bt(S)),S}catch(S){const M=qt(S);return M.fatal&&await e.runWithContext(()=>Bt(M)),M}}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(T=>{if(T.matched.length===0&&!d.value)return e.runWithContext(()=>Bt(qt({status:404,fatal:!1,statusText:`Page not found: ${T.fullPath}`,data:{path:T.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in m&&(m.name=void 0),await l.replace({...m,force:!0}),l.options.scrollBehavior=Ct.scrollBehavior}catch(T){await e.runWithContext(()=>Bt(T))}}),{provide:{router:l}}}}),qi=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),vm=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),vo=e=>{const t=Te();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{qi(()=>e())}):qi(()=>e())},Ug=Et({name:"nuxt:payload",setup(e){const t=new Set;Ge().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await Ai(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),vo(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await Ai().catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(Ja,1e3)})}}),$g=Et(()=>{const e=Ge();vo(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Vg=Et(e=>{let t;async function n(){let r;try{r=await Ja()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,_i);try{const s=await $fetch(po("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}vo(()=>{t=setTimeout(n,_i)})});function Wg(e={}){const t=e.path||window.location.pathname;let n={};try{n=Ar(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||n?.path!==t||n?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=Oa(n.app.baseURL,o.fullPath);Wg({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}}),Gg=Et({name:"nuxt:global-components"}),fr={};function qg(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Jg(e,t=Ge()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Jg(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const l=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(l)));s.push(l)}await Promise.all(s)}const Yg=Et({name:"nuxt:prefetch",setup(e){const t=Ge();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof fr[r]=="function"&&await fr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Tn(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=bo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof qs[i]=="function"&&qs[i]();typeof s=="string"&&s in fr&&qg(fr[s])})}}),zg=[up,mp,Bg,Ug,$g,Vg,Kg,Gg,Yg],uc=(e="RouteProvider")=>Qn({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return ln(qr,mt(s)),()=>t.vnode?We(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Qg=uc(),Ji=new WeakMap,Xg=Qn({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=Te(),o=yt(),i=Be(qr,null);let l;r({pageRef:o});const a=Be(gh,null);let u;const c=s.deferHydration();let f=!1,p=0;if(s.isHydrating){const m=s.hooks.hookOnce("app:error",c);Ge().beforeEach(m)}e.pageKey&&an(()=>e.pageKey,(m,_)=>{m!==_&&s.callHook("page:loading:start")});let d=!1;{const m=Ge().beforeResolve(()=>{d=!1});Zn(()=>{m(),c()})}return()=>We(cc,{name:e.name,route:e.route,...t},{default:m=>{const _=em(i,m.route,m.Component),T=i&&i.matched.length===m.route.matched.length;if(!m.Component){if(u&&!T)return u;c();return}if(u&&a&&!a.isCurrent(m.route))return u;if(_&&i&&(!a||a?.isCurrent(i)))return T||u?u:null;const R=Ks(m,e.pageKey),v=tm(i,m.route,m.Component);!s.isHydrating&&l===R&&!v&&hn(()=>{d||(d=!0,s.callHook("page:loading:end"))}),f&&l!==R&&p++,l=R;const g=!!(e.transition??m.route.meta.pageTransition??mi),b=g&&Zg([e.transition,m.route.meta.pageTransition,mi,{onAfterLeave(){delete s._runningTransition,s.callHook("page:transition:finish",m.Component)}}]),E=e.keepalive??m.route.meta.keepalive??th;return u=kg(g&&b,Sg(E,We(ca,{key:p,suspensible:!0,onPending:()=>{f=!0,g&&(s._runningTransition=!0),s.callHook("page:start",m.Component)},onResolve:async()=>{f=!1;try{await hn(),s._route.sync?.(),await s.callHook("page:finish",m.Component),delete s._runningTransition,!d&&!v&&(d=!0,await s.callHook("page:loading:end"))}finally{c()}}},{default:()=>{const S={key:R||void 0,vnode:n.default?nm(n.default,m):m.Component,route:m.route,renderKey:R||void 0,trackRootNodes:g,vnodeRef:o};if(!E)return We(Qg,S);const M=m.Component.type,V=M;let I=Ji.get(V);return I||(I=uc(M.name||M.__name),Ji.set(V,I)),We(I,S)}}))).default(),u}})}});function Zg(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?bo(n.onAfterLeave):void 0});return ja(...t)}function em(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>s.components?.default===n?.type);return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>s.components?.default!==e.matched[o]?.components?.default)||n&&Ks({route:t,Component:n})!==Ks({route:e,Component:n})}function tm(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type){const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},sm={};function om(e,t){const n=Xg;return ot(),kt(n)}const im=rm(sm,[["render",om]]),lm={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error,r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?Mo(()=>Gs(()=>import("./DNdyEWwv.js"),__vite__mapDeps([2,1,3]),import.meta.url)):Mo(()=>Gs(()=>import("./CBwmZ8LB.js"),__vite__mapDeps([4,1,5]),import.meta.url));return(f,p)=>(ot(),kt(de(c),wc(ma({status:de(r),statusText:de(o),statusCode:de(r),statusMessage:de(o),description:de(i),stack:de(l)})),null,16))}},am={key:0},Yi={__name:"nuxt-root",setup(e){const t=()=>null,n=Te(),r=n.deferHydration();if(n.isHydrating){const u=n.hooks.hookOnce("app:error",r);Ge().beforeEach(u)}const s=!1;ln(qr,mh()),n.hooks.callHookWith(u=>u.map(c=>c()),"vue:setup");const o=Jr(),i=!1,l=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;Ul((u,c,f)=>{if(n.hooks.callHook("vue:error",u,c,f).catch(p=>console.error("[nuxt] Error in `vue:error` hook",p)),l.test(navigator.userAgent))return n.hooks.callHook("app:error",u),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,u),!1;if($a(u)&&(u.fatal||u.unhandled))return n.runWithContext(()=>Bt(u)),!1});const a=!1;return(u,c)=>(ot(),kt(ca,{onResolve:de(r)},{default:xl(()=>[de(i)?(ot(),iu("div",am)):de(o)?(ot(),kt(de(lm),{key:1,error:de(o)},null,8,["error"])):de(a)?(ot(),kt(de(t),{key:2,context:de(a)},null,8,["context"])):de(s)?(ot(),kt(kf(de(s)),{key:3})):(ot(),kt(de(im),{key:4}))]),_:1},8,["onResolve"]))}};let zi;{let e;zi=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?qu(Yi):Gu(Yi),s=oh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=qt(i)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&yi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(yi.id)?.remove()});try{await ah(s,zg)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(nh),await s.hooks.callHook("app:mounted",r),await hn()}catch(i){o(i)}return r},e=zi().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{ga as A,Sc as B,me as C,xl as D,ya as E,Bl as F,jr as G,de as H,Le as I,um as J,hm as K,dm as L,Fr as M,ws as N,cm as O,pm as P,ye as Q,gm as R,bm as S,Tu as T,so as U,Be as V,qa as W,rm as _,Te as a,vo as b,Zn as c,Qn as d,vm as e,fm as f,bh as g,We as h,yt as i,_h as j,Jg as k,Ye as l,Oa as m,_m as n,lo as o,xa as p,Tn as q,qi as r,$n as s,go as t,Ge as u,xr as v,wd as w,ym as x,ot as y,iu as z}; diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2 deleted file mode 100644 index 0ea0da04..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin.BbzFLZTg.woff2 b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin.BbzFLZTg.woff2 deleted file mode 100644 index 8611e41b..00000000 Binary files a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/Instrument_Sans-normal-400-latin.BbzFLZTg.woff2 and /dev/null differ diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/entry.DJL3iLlR.css b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/entry.DJL3iLlR.css deleted file mode 100644 index cdb99d4a..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/entry.DJL3iLlR.css +++ /dev/null @@ -1 +0,0 @@ -*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}.bg-transparent{background-color:initial}.shadow-card{--tw-shadow:0 4px 24px #00339914;--tw-shadow-colored:0 4px 24px var(--tw-shadow-color)}.shadow-soft{--tw-shadow:0 1px 3px #0033990f,0 1px 2px #0033990a;--tw-shadow-colored:0 1px 3px var(--tw-shadow-color),0 1px 2px var(--tw-shadow-color)}.hover\:shadow-card:hover{--tw-shadow:0 4px 24px #00339914;--tw-shadow-colored:0 4px 24px var(--tw-shadow-color)}.hover\:shadow-glow:hover{--tw-shadow:0 0 40px #00339926;--tw-shadow-colored:0 0 40px var(--tw-shadow-color)}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-eu-blue\/20:focus{--tw-ring-color:#0393}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:DM Mono,ui-monospace,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));font-family:DM Sans,system-ui,sans-serif;--tw-text-opacity:1;color:rgb(26 26 46/var(--tw-text-opacity,1))}h1,h2,h3,h4,h5,h6{font-family:Instrument Sans,system-ui,sans-serif}::-moz-selection{background-color:#00339926;--tw-text-opacity:1;color:rgb(0 34 102/var(--tw-text-opacity,1))}::selection{background-color:#00339926;--tw-text-opacity:1;color:rgb(0 34 102/var(--tw-text-opacity,1))}.section-container{margin-left:auto;margin-right:auto;max-width:72rem;padding-left:1.25rem;padding-right:1.25rem}@media(min-width:640px){.section-container{padding-left:2rem;padding-right:2rem}}.section-padding{padding-bottom:5rem;padding-top:5rem}@media(min-width:768px){.section-padding{padding-bottom:7rem;padding-top:7rem}}.code-block{border-radius:.875rem;overflow-x:auto;--tw-bg-opacity:1;background-color:rgb(13 17 23/var(--tw-bg-opacity,1));font-family:DM Mono,ui-monospace,monospace;font-size:.875rem;line-height:1.25rem;line-height:1.625;--tw-text-opacity:1;color:rgb(230 237 243/var(--tw-text-opacity,1))}.dot-grid{background-image:radial-gradient(circle,#039 .6px,transparent 0);background-size:24px 24px}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.-inset-4{inset:-1rem}.inset-0{inset:0}.bottom-0{bottom:0}.left-0{left:0}.left-2{left:.5rem}.left-3\.5{left:.875rem}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-1\/2{top:50%}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.-mr-2{margin-right:-.5rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-14{margin-bottom:3.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-1\.5{margin-right:.375rem}.mt-3{margin-top:.75rem}.mt-3\.5{margin-top:.875rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-\[600px\]{height:600px}.max-h-80{max-height:20rem}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-\[600px\]{width:600px}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-1\/2,.-translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y:-.5rem}.translate-x-1\/4{--tw-translate-x:25%}.translate-x-1\/4,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1.25rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.875rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-eu-blue\/20{border-color:#0393}.border-surface-border{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-surface-border\/60{border-color:#e2e8f099}.border-white\/10{border-color:#ffffff1a}.border-white\/5{border-color:#ffffff0d}.bg-\[\#0d1117\]{--tw-bg-opacity:1;background-color:rgb(13 17 23/var(--tw-bg-opacity,1))}.bg-\[\#28c840\]{--tw-bg-opacity:1;background-color:rgb(40 200 64/var(--tw-bg-opacity,1))}.bg-\[\#febc2e\]{--tw-bg-opacity:1;background-color:rgb(254 188 46/var(--tw-bg-opacity,1))}.bg-\[\#ff5f57\]{--tw-bg-opacity:1;background-color:rgb(255 95 87/var(--tw-bg-opacity,1))}.bg-eu-blue{--tw-bg-opacity:1;background-color:rgb(0 51 153/var(--tw-bg-opacity,1))}.bg-eu-blue-100{--tw-bg-opacity:1;background-color:rgb(232 240 254/var(--tw-bg-opacity,1))}.bg-eu-blue\/\[0\.04\]{background-color:#0033990a}.bg-eu-gold{--tw-bg-opacity:1;background-color:rgb(255 204 0/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-500\/20{background-color:#22c55e33}.bg-red-500\/20{background-color:#ef444433}.bg-surface-muted{--tw-bg-opacity:1;background-color:rgb(241 244 249/var(--tw-bg-opacity,1))}.bg-surface-soft{--tw-bg-opacity:1;background-color:rgb(248 250 253/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/80{background-color:#fffc}.bg-white\/95{background-color:#fffffff2}.p-2{padding:.5rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-20{padding-bottom:5rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pr-4{padding-right:1rem}.pt-32{padding-top:8rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-heading{font-family:Instrument Sans,system-ui,sans-serif}.font-mono{font-family:DM Mono,ui-monospace,monospace}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-display-sm{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.15}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-subtitle{font-size:1.25rem;font-weight:500;line-height:1.4}.text-title{font-size:1.75rem;font-weight:600;letter-spacing:-.01em;line-height:1.25}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-wide{letter-spacing:.025em}.text-\[\#8b949e\]{--tw-text-opacity:1;color:rgb(139 148 158/var(--tw-text-opacity,1))}.text-\[\#e6edf3\]{--tw-text-opacity:1;color:rgb(230 237 243/var(--tw-text-opacity,1))}.text-eu-blue{--tw-text-opacity:1;color:rgb(0 51 153/var(--tw-text-opacity,1))}.text-eu-blue-dark{--tw-text-opacity:1;color:rgb(0 34 102/var(--tw-text-opacity,1))}.text-green-400{--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(26 26 46/var(--tw-text-opacity,1))}.text-ink-faint{--tw-text-opacity:1;color:rgb(160 174 192/var(--tw-text-opacity,1))}.text-ink-muted{--tw-text-opacity:1;color:rgb(113 128 150/var(--tw-text-opacity,1))}.text-ink-secondary{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.opacity-\[0\.03\]{opacity:.03}.shadow-card{--tw-shadow:0 4px 24px rgba(0,51,153,.08);--tw-shadow-colored:0 4px 24px var(--tw-shadow-color)}.shadow-card,.shadow-soft{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-soft{--tw-shadow:0 1px 3px rgba(0,51,153,.06),0 1px 2px rgba(0,51,153,.04);--tw-shadow-colored:0 1px 3px var(--tw-shadow-color),0 1px 2px var(--tw-shadow-color)}.blur-2xl{--tw-blur:blur(40px)}.blur-2xl,.blur-3xl{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-3xl{--tw-blur:blur(64px)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.text-balance{text-wrap:balance}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .65s ease-out,transform .65s ease-out}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.placeholder\:text-ink-faint::-moz-placeholder{--tw-text-opacity:1;color:rgb(160 174 192/var(--tw-text-opacity,1))}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity:1;color:rgb(160 174 192/var(--tw-text-opacity,1))}.last\:border-0:last-child{border-width:0}.hover\:border-eu-blue\/20:hover{border-color:#0393}.hover\:border-eu-blue\/40:hover{border-color:#0396}.hover\:bg-eu-blue-100:hover{--tw-bg-opacity:1;background-color:rgb(232 240 254/var(--tw-bg-opacity,1))}.hover\:bg-eu-blue-100\/40:hover{background-color:#e8f0fe66}.hover\:bg-eu-blue-dark:hover{--tw-bg-opacity:1;background-color:rgb(0 34 102/var(--tw-bg-opacity,1))}.hover\:bg-eu-gold-dark:hover{--tw-bg-opacity:1;background-color:rgb(230 184 0/var(--tw-bg-opacity,1))}.hover\:bg-surface-muted:hover{--tw-bg-opacity:1;background-color:rgb(241 244 249/var(--tw-bg-opacity,1))}.hover\:bg-surface-soft:hover{--tw-bg-opacity:1;background-color:rgb(248 250 253/var(--tw-bg-opacity,1))}.hover\:text-eu-blue:hover{--tw-text-opacity:1;color:rgb(0 51 153/var(--tw-text-opacity,1))}.hover\:text-ink:hover{--tw-text-opacity:1;color:rgb(26 26 46/var(--tw-text-opacity,1))}.hover\:text-ink-secondary:hover{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}.hover\:shadow-card:hover{--tw-shadow:0 4px 24px rgba(0,51,153,.08);--tw-shadow-colored:0 4px 24px var(--tw-shadow-color)}.hover\:shadow-card:hover,.hover\:shadow-glow:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-glow:hover{--tw-shadow:0 0 40px rgba(0,51,153,.15);--tw-shadow-colored:0 0 40px var(--tw-shadow-color)}.focus\:border-eu-blue\/40:focus{border-color:#0396}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-eu-blue\/20:focus{--tw-ring-color:rgba(0,51,153,.2)}.group:hover .group-hover\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-eu-blue{--tw-bg-opacity:1;background-color:rgb(0 51 153/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}@media(min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:pb-28{padding-bottom:7rem}.md\:pt-40{padding-top:10rem}.md\:text-display{font-size:3.5rem;line-height:1.1}.md\:text-display,.md\:text-display-sm{font-weight:700;letter-spacing:-.02em}.md\:text-display-sm{font-size:2.5rem;line-height:1.15}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:gap-16{gap:4rem}}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(./DM_Mono-normal-400-latin-ext.C2zvOubV.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(./DM_Mono-normal-400-latin.4GdczIuU.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:500;src:url(./DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:500;src:url(./DM_Mono-normal-500-latin.DRMDZjhP.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(./DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(./DM_Sans-normal-400-latin.Xz1IZZA0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:500;src:url(./DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:500;src:url(./DM_Sans-normal-400-latin.Xz1IZZA0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:600;src:url(./DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:600;src:url(./DM_Sans-normal-400-latin.Xz1IZZA0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:700;src:url(./DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:700;src:url(./DM_Sans-normal-400-latin.Xz1IZZA0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:400;src:url(./Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:400;src:url(./Instrument_Sans-normal-400-latin.BbzFLZTg.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:500;src:url(./Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:500;src:url(./Instrument_Sans-normal-400-latin.BbzFLZTg.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:600;src:url(./Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:600;src:url(./Instrument_Sans-normal-400-latin.BbzFLZTg.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:700;src:url(./Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Instrument Sans;font-stretch:100%;font-style:normal;font-weight:700;src:url(./Instrument_Sans-normal-400-latin.BbzFLZTg.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd} diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-404.C-Ezrlz-.css b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-404.C-Ezrlz-.css deleted file mode 100644 index e5e95fa3..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-404.C-Ezrlz-.css +++ /dev/null @@ -1 +0,0 @@ -.grid[data-v-204d37bf]{display:grid}.mb-2[data-v-204d37bf]{margin-bottom:.5rem}.mb-4[data-v-204d37bf]{margin-bottom:1rem}.max-w-520px[data-v-204d37bf]{max-width:520px}.min-h-screen[data-v-204d37bf]{min-height:100vh}.w-full[data-v-204d37bf]{width:100%}.flex[data-v-204d37bf]{display:flex}.place-content-center[data-v-204d37bf]{place-content:center}.items-center[data-v-204d37bf]{align-items:center}.justify-center[data-v-204d37bf]{justify-content:center}.overflow-hidden[data-v-204d37bf]{overflow:hidden}.bg-white[data-v-204d37bf]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-204d37bf]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-204d37bf]{text-align:center}.text-\[80px\][data-v-204d37bf]{font-size:80px}.text-2xl[data-v-204d37bf]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-204d37bf]{font-size:.875rem;line-height:1.25rem}.text-\[\#020420\][data-v-204d37bf]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-204d37bf]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\:text-\[\#00DC82\][data-v-204d37bf]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-204d37bf]{font-weight:500}.font-semibold[data-v-204d37bf]{font-weight:600}.leading-none[data-v-204d37bf]{line-height:1}.tracking-wide[data-v-204d37bf]{letter-spacing:.025em}.font-sans[data-v-204d37bf]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-204d37bf]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-204d37bf]{text-decoration-line:underline}.underline-offset-3[data-v-204d37bf]{text-underline-offset:3px}.antialiased[data-v-204d37bf]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-204d37bf]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-204d37bf]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-204d37bf]{font-size:110px}.sm\:text-3xl[data-v-204d37bf]{font-size:1.875rem;line-height:2.25rem}} diff --git a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-500.DBWf9FGj.css b/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-500.DBWf9FGj.css deleted file mode 100644 index 96c58536..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/client/_nuxt/error-500.DBWf9FGj.css +++ /dev/null @@ -1 +0,0 @@ -.grid[data-v-d349100d]{display:grid}.mb-2[data-v-d349100d]{margin-bottom:.5rem}.mb-4[data-v-d349100d]{margin-bottom:1rem}.max-w-520px[data-v-d349100d]{max-width:520px}.min-h-screen[data-v-d349100d]{min-height:100vh}.place-content-center[data-v-d349100d]{place-content:center}.overflow-hidden[data-v-d349100d]{overflow:hidden}.bg-white[data-v-d349100d]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-d349100d]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-d349100d]{text-align:center}.text-\[80px\][data-v-d349100d]{font-size:80px}.text-2xl[data-v-d349100d]{font-size:1.5rem;line-height:2rem}.text-\[\#020420\][data-v-d349100d]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\[\#64748B\][data-v-d349100d]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-d349100d]{font-weight:600}.leading-none[data-v-d349100d]{line-height:1}.tracking-wide[data-v-d349100d]{letter-spacing:.025em}.font-sans[data-v-d349100d]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-d349100d]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-d349100d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\:bg-\[\#020420\][data-v-d349100d]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\:text-white[data-v-d349100d]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\:text-\[110px\][data-v-d349100d]{font-size:110px}.sm\:text-3xl[data-v-d349100d]{font-size:1.875rem;line-height:2.25rem}} diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js deleted file mode 100644 index a4a1d340..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js +++ /dev/null @@ -1,23 +0,0 @@ -import { hasInjectionContext, inject } from "vue"; -import { useHead as useHead$1, headSymbol } from "/home/bennet/source/vat-api/node_modules/@unhead/vue/dist/index.mjs"; -import { a as useNuxtApp } from "../server.mjs"; -function injectHead(nuxtApp) { - const nuxt = nuxtApp || useNuxtApp(); - return nuxt.ssrContext?.head || nuxt.runWithContext(() => { - if (hasInjectionContext()) { - const head = inject(headSymbol); - if (!head) { - throw new Error("[nuxt] [unhead] Missing Unhead instance."); - } - return head; - } - }); -} -function useHead(input, options = {}) { - const head = options.head || injectHead(options.nuxt); - return useHead$1(input, { head, ...options }); -} -export { - useHead as u -}; -//# sourceMappingURL=composables-Piy9capG.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map deleted file mode 100644 index 030cd2e2..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"composables-Piy9capG.js","sources":["../../../../../../nuxt/dist/head/runtime/composables.js"],"sourcesContent":["import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { useNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || useNuxtApp();\n return nuxt.ssrContext?.head || nuxt.runWithContext(() => {\n if (hasInjectionContext()) {\n const head = inject(headSymbol);\n if (!head) {\n throw new Error(\"[nuxt] [unhead] Missing Unhead instance.\");\n }\n return head;\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return headCore(input, { head, ...options });\n}\nexport function useHeadSafe(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return headSafe(input, { head, ...options });\n}\nexport function useSeoMeta(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return seoMeta(input, { head, ...options });\n}\nexport function useServerHead(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverHead(input, { head, ...options });\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverHeadSafe(input, { head, ...options });\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverSeoMeta(input, { head, ...options });\n}\n"],"names":["headCore"],"mappings":";;;AAWO,SAAS,WAAW,SAAS;AAClC,QAAM,OAAO,WAAW,WAAU;AAClC,SAAO,KAAK,YAAY,QAAQ,KAAK,eAAe,MAAM;AACxD,QAAI,oBAAmB,GAAI;AACzB,YAAM,OAAO,OAAO,UAAU;AAC9B,UAAI,CAAC,MAAM;AACT,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC5D;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AACO,SAAS,QAAQ,OAAO,UAAU,IAAI;AAC3C,QAAM,OAAO,QAAQ,QAAQ,WAAW,QAAQ,IAAI;AACpD,SAAOA,UAAS,OAAO,EAAE,MAAM,GAAG,QAAO,CAAE;AAC7C;"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map.json deleted file mode 100644 index d6655870..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/composables-Piy9capG.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"composables-Piy9capG.js","mappings":";;;AAWO,SAAS,WAAW,SAAS;AAClC,QAAM,OAAO,WAAW,WAAU;AAClC,SAAO,KAAK,YAAY,QAAQ,KAAK,eAAe,MAAM;AACxD,QAAI,oBAAmB,GAAI;AACzB,YAAM,OAAO,OAAO,UAAU;AAC9B,UAAI,CAAC,MAAM;AACT,cAAM,IAAI,MAAM,0CAA0C;AAAA,MAC5D;AACA,aAAO;AAAA,IACT;AAAA,EACF,CAAC;AACH;AACO,SAAS,QAAQ,OAAO,UAAU,IAAI;AAC3C,QAAM,OAAO,QAAQ,QAAQ,WAAW,QAAQ,IAAI;AACpD,SAAOA,UAAS,OAAO,EAAE,MAAM,GAAG,QAAO,CAAE;AAC7C;","names":["headCore"],"sources":["../../../../../../nuxt/dist/head/runtime/composables.js"],"sourcesContent":["import { hasInjectionContext, inject } from \"vue\";\nimport {\n useHead as headCore,\n useHeadSafe as headSafe,\n headSymbol,\n useSeoMeta as seoMeta,\n useServerHead as serverHead,\n useServerHeadSafe as serverHeadSafe,\n useServerSeoMeta as serverSeoMeta\n} from \"@unhead/vue\";\nimport { useNuxtApp } from \"#app/nuxt\";\nexport function injectHead(nuxtApp) {\n const nuxt = nuxtApp || useNuxtApp();\n return nuxt.ssrContext?.head || nuxt.runWithContext(() => {\n if (hasInjectionContext()) {\n const head = inject(headSymbol);\n if (!head) {\n throw new Error(\"[nuxt] [unhead] Missing Unhead instance.\");\n }\n return head;\n }\n });\n}\nexport function useHead(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return headCore(input, { head, ...options });\n}\nexport function useHeadSafe(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return headSafe(input, { head, ...options });\n}\nexport function useSeoMeta(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return seoMeta(input, { head, ...options });\n}\nexport function useServerHead(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverHead(input, { head, ...options });\n}\nexport function useServerHeadSafe(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverHeadSafe(input, { head, ...options });\n}\nexport function useServerSeoMeta(input, options = {}) {\n const head = options.head || injectHead(options.nuxt);\n return serverSeoMeta(input, { head, ...options });\n}\n"],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js deleted file mode 100644 index 2ce40c14..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js +++ /dev/null @@ -1,369 +0,0 @@ -import { defineComponent, shallowRef, h, resolveComponent, computed, mergeProps, withCtx, createTextVNode, toDisplayString, useSSRContext } from "vue"; -import { parseQuery, hasProtocol, joinURL, withTrailingSlash, withoutTrailingSlash } from "/home/bennet/source/vat-api/node_modules/ufo/dist/index.mjs"; -import { u as useRouter, e as encodeRoutePath, r as resolveRouteObject, n as navigateTo, a as useNuxtApp, b as useRuntimeConfig, c as nuxtLinkDefaults, _ as _export_sfc } from "../server.mjs"; -import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent } from "vue/server-renderer"; -import { u as useHead } from "./composables-Piy9capG.js"; -import "/home/bennet/source/vat-api/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/home/bennet/source/vat-api/node_modules/hookable/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/unctx/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/h3/dist/index.mjs"; -import "vue-router"; -import "/home/bennet/source/vat-api/node_modules/defu/dist/defu.mjs"; -import "/home/bennet/source/vat-api/node_modules/@unhead/vue/dist/index.mjs"; -const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0); -// @__NO_SIDE_EFFECTS__ -function defineNuxtLink(options) { - const componentName = options.componentName || "NuxtLink"; - function isHashLinkWithoutHashMode(link) { - return typeof link === "string" && link.startsWith("#"); - } - function resolveTrailingSlashBehavior(to, resolve, trailingSlash) { - const effectiveTrailingSlash = trailingSlash ?? options.trailingSlash; - if (!to || effectiveTrailingSlash !== "append" && effectiveTrailingSlash !== "remove") { - return to; - } - if (typeof to === "string") { - return applyTrailingSlashBehavior(to, effectiveTrailingSlash); - } - const path = "path" in to && to.path !== void 0 ? to.path : resolve(to).path; - const resolvedPath = { - ...to, - name: void 0, - // named routes would otherwise always override trailing slash behavior - path: applyTrailingSlashBehavior(path, effectiveTrailingSlash) - }; - return resolvedPath; - } - function useNuxtLink(props) { - const router = useRouter(); - const config = useRuntimeConfig(); - const hasTarget = computed(() => !!props.target && props.target !== "_self"); - const isAbsoluteUrl = computed(() => { - const path = props.to || props.href || ""; - return typeof path === "string" && hasProtocol(path, { acceptRelative: true }); - }); - const builtinRouterLink = resolveComponent("RouterLink"); - const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== "string" ? builtinRouterLink.useLink : void 0; - const isExternal = computed(() => { - if (props.external) { - return true; - } - const path = props.to || props.href || ""; - if (typeof path === "object") { - return false; - } - return path === "" || isAbsoluteUrl.value; - }); - const to = computed(() => { - const path = props.to || props.href || ""; - if (isExternal.value) { - return path; - } - return resolveTrailingSlashBehavior(path, router.resolve, props.trailingSlash); - }); - const link = isExternal.value ? void 0 : useBuiltinLink?.({ ...props, to }); - const href = computed(() => { - const effectiveTrailingSlash = props.trailingSlash ?? options.trailingSlash; - if (!to.value || isAbsoluteUrl.value || isHashLinkWithoutHashMode(to.value)) { - return to.value; - } - if (isExternal.value) { - const path = typeof to.value === "object" && "path" in to.value ? resolveRouteObject(to.value) : to.value; - const href2 = typeof path === "object" ? router.resolve(path).href : path; - return applyTrailingSlashBehavior(href2, effectiveTrailingSlash); - } - if (typeof to.value === "object") { - return router.resolve(to.value)?.href ?? null; - } - return applyTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), effectiveTrailingSlash); - }); - return { - to, - hasTarget, - isAbsoluteUrl, - isExternal, - // - href, - isActive: link?.isActive ?? computed(() => to.value === router.currentRoute.value.path), - isExactActive: link?.isExactActive ?? computed(() => to.value === router.currentRoute.value.path), - route: link?.route ?? computed(() => router.resolve(to.value)), - async navigate(_e) { - await navigateTo(href.value, { replace: props.replace, external: isExternal.value || hasTarget.value }); - } - }; - } - return defineComponent({ - name: componentName, - props: { - // Routing - to: { - type: [String, Object], - default: void 0, - required: false - }, - href: { - type: [String, Object], - default: void 0, - required: false - }, - // Attributes - target: { - type: String, - default: void 0, - required: false - }, - rel: { - type: String, - default: void 0, - required: false - }, - noRel: { - type: Boolean, - default: void 0, - required: false - }, - // Prefetching - prefetch: { - type: Boolean, - default: void 0, - required: false - }, - prefetchOn: { - type: [String, Object], - default: void 0, - required: false - }, - noPrefetch: { - type: Boolean, - default: void 0, - required: false - }, - // Styling - activeClass: { - type: String, - default: void 0, - required: false - }, - exactActiveClass: { - type: String, - default: void 0, - required: false - }, - prefetchedClass: { - type: String, - default: void 0, - required: false - }, - // Vue Router's `` additional props - replace: { - type: Boolean, - default: void 0, - required: false - }, - ariaCurrentValue: { - type: String, - default: void 0, - required: false - }, - // Edge cases handling - external: { - type: Boolean, - default: void 0, - required: false - }, - // Slot API - custom: { - type: Boolean, - default: void 0, - required: false - }, - // Behavior - trailingSlash: { - type: String, - default: void 0, - required: false - } - }, - useLink: useNuxtLink, - setup(props, { slots }) { - const router = useRouter(); - const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useNuxtLink(props); - shallowRef(false); - const el = void 0; - const elRef = void 0; - async function prefetch(nuxtApp = useNuxtApp()) { - { - return; - } - } - return () => { - if (!isExternal.value && !hasTarget.value && !isHashLinkWithoutHashMode(to.value)) { - const routerLinkProps = { - ref: elRef, - to: to.value, - activeClass: props.activeClass || options.activeClass, - exactActiveClass: props.exactActiveClass || options.exactActiveClass, - replace: props.replace, - ariaCurrentValue: props.ariaCurrentValue, - custom: props.custom - }; - if (!props.custom) { - routerLinkProps.rel = props.rel || void 0; - } - return h( - resolveComponent("RouterLink"), - routerLinkProps, - slots.default - ); - } - const target = props.target || null; - const rel = firstNonUndefined( - // converts `""` to `null` to prevent the attribute from being added as empty (`rel=""`) - props.noRel ? "" : props.rel, - options.externalRelAttribute, - /* - * A fallback rel of `noopener noreferrer` is applied for external links or links that open in a new tab. - * This solves a reverse tabnapping security flaw in browsers pre-2021 as well as improving privacy. - */ - isAbsoluteUrl.value || hasTarget.value ? "noopener noreferrer" : "" - ) || null; - if (props.custom) { - if (!slots.default) { - return null; - } - return slots.default({ - href: href.value, - navigate, - prefetch, - get route() { - if (!href.value) { - return void 0; - } - const url = new URL(href.value, "http://localhost"); - return { - path: url.pathname, - fullPath: url.pathname, - get query() { - return parseQuery(url.search); - }, - hash: url.hash, - params: {}, - name: void 0, - matched: [], - redirectedFrom: void 0, - meta: {}, - href: href.value - }; - }, - rel, - target, - isExternal: isExternal.value || hasTarget.value, - isActive: false, - isExactActive: false - }); - } - return h("a", { - ref: el, - href: href.value || null, - // converts `""` to `null` to prevent the attribute from being added as empty (`href=""`) - rel, - target, - onClick: async (event) => { - if (isExternal.value || hasTarget.value) { - return; - } - event.preventDefault(); - try { - const encodedHref = encodeRoutePath(href.value); - return await (props.replace ? router.replace(encodedHref) : router.push(encodedHref)); - } finally { - } - } - }, slots.default?.()); - }; - } - }); -} -const __nuxt_component_0 = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults); -function applyTrailingSlashBehavior(to, trailingSlash) { - const normalizeFn = trailingSlash === "append" ? withTrailingSlash : withoutTrailingSlash; - const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith("http"); - if (hasProtocolDifferentFromHttp) { - return to; - } - return normalizeFn(to, true); -} -const _sfc_main = { - __name: "error-404", - __ssrInlineRender: true, - props: { - appName: { - type: String, - default: "Nuxt" - }, - status: { - type: Number, - default: 404 - }, - statusText: { - type: String, - default: "Page not found" - }, - description: { - type: String, - default: "Sorry, the page you are looking for could not be found." - }, - backHome: { - type: String, - default: "Go back home" - } - }, - setup(__props) { - const props = __props; - useHead({ - title: `${props.status} - ${props.statusText} | ${props.appName}`, - script: [ - { - innerHTML: `!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();` - } - ], - style: [ - { - innerHTML: `*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }` - } - ] - }); - return (_ctx, _push, _parent, _attrs) => { - const _component_NuxtLink = __nuxt_component_0; - _push(`

${ssrInterpolate(__props.status)}

${ssrInterpolate(__props.statusText)}

${ssrInterpolate(__props.description)}

`); - _push(ssrRenderComponent(_component_NuxtLink, { - to: "/", - class: "font-medium hover:text-[#00DC82] text-sm underline underline-offset-3" - }, { - default: withCtx((_, _push2, _parent2, _scopeId) => { - if (_push2) { - _push2(`${ssrInterpolate(__props.backHome)}`); - } else { - return [ - createTextVNode(toDisplayString(__props.backHome), 1) - ]; - } - }), - _: 1 - }, _parent)); - _push(`
`); - }; - } -}; -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/nuxt/dist/app/components/error-404.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -const error404 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-204d37bf"]]); -export { - error404 as default -}; -//# sourceMappingURL=error-404-BY_x-_oz.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map deleted file mode 100644 index 8e5532a9..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-404-BY_x-_oz.js","sources":["../../../../../../nuxt/dist/app/components/nuxt-link.js","../../../../../../nuxt/dist/app/components/error-404.vue"],"sourcesContent":["import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent, shallowRef } from \"vue\";\nimport { hasProtocol, joinURL, parseQuery, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { preloadRouteComponents } from \"../composables/preload.js\";\nimport { onNuxtReady } from \"../composables/ready.js\";\nimport { encodeRoutePath, navigateTo, resolveRouteObject, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { cancelIdleCallback, requestIdleCallback } from \"../compat/idle-callback.js\";\nimport { nuxtLinkDefaults } from \"#build/nuxt.config.mjs\";\nimport { hashMode } from \"#build/router.options.mjs\";\nconst firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);\nconst NuxtLinkDevKeySymbol = Symbol(\"nuxt-link-dev-key\");\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtLink(options) {\n const componentName = options.componentName || \"NuxtLink\";\n function checkPropConflicts(props, main, sub) {\n if (import.meta.dev && props[main] !== void 0 && props[sub] !== void 0) {\n console.warn(`[${componentName}] \\`${main}\\` and \\`${sub}\\` cannot be used together. \\`${sub}\\` will be ignored.`);\n }\n }\n function isHashLinkWithoutHashMode(link) {\n return !hashMode && typeof link === \"string\" && link.startsWith(\"#\");\n }\n function resolveTrailingSlashBehavior(to, resolve, trailingSlash) {\n const effectiveTrailingSlash = trailingSlash ?? options.trailingSlash;\n if (!to || effectiveTrailingSlash !== \"append\" && effectiveTrailingSlash !== \"remove\") {\n return to;\n }\n if (typeof to === \"string\") {\n return applyTrailingSlashBehavior(to, effectiveTrailingSlash);\n }\n const path = \"path\" in to && to.path !== void 0 ? to.path : resolve(to).path;\n const resolvedPath = {\n ...to,\n name: void 0,\n // named routes would otherwise always override trailing slash behavior\n path: applyTrailingSlashBehavior(path, effectiveTrailingSlash)\n };\n return resolvedPath;\n }\n function useNuxtLink(props) {\n const router = useRouter();\n const config = useRuntimeConfig();\n const hasTarget = computed(() => !!props.target && props.target !== \"_self\");\n const isAbsoluteUrl = computed(() => {\n const path = props.to || props.href || \"\";\n return typeof path === \"string\" && hasProtocol(path, { acceptRelative: true });\n });\n const builtinRouterLink = resolveComponent(\"RouterLink\");\n const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== \"string\" ? builtinRouterLink.useLink : void 0;\n const isExternal = computed(() => {\n if (props.external) {\n return true;\n }\n const path = props.to || props.href || \"\";\n if (typeof path === \"object\") {\n return false;\n }\n return path === \"\" || isAbsoluteUrl.value;\n });\n const to = computed(() => {\n checkPropConflicts(props, \"to\", \"href\");\n const path = props.to || props.href || \"\";\n if (isExternal.value) {\n return path;\n }\n return resolveTrailingSlashBehavior(path, router.resolve, props.trailingSlash);\n });\n const link = isExternal.value ? void 0 : useBuiltinLink?.({ ...props, to });\n const href = computed(() => {\n const effectiveTrailingSlash = props.trailingSlash ?? options.trailingSlash;\n if (!to.value || isAbsoluteUrl.value || isHashLinkWithoutHashMode(to.value)) {\n return to.value;\n }\n if (isExternal.value) {\n const path = typeof to.value === \"object\" && \"path\" in to.value ? resolveRouteObject(to.value) : to.value;\n const href2 = typeof path === \"object\" ? router.resolve(path).href : path;\n return applyTrailingSlashBehavior(href2, effectiveTrailingSlash);\n }\n if (typeof to.value === \"object\") {\n return router.resolve(to.value)?.href ?? null;\n }\n return applyTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), effectiveTrailingSlash);\n });\n return {\n to,\n hasTarget,\n isAbsoluteUrl,\n isExternal,\n //\n href,\n isActive: link?.isActive ?? computed(() => to.value === router.currentRoute.value.path),\n isExactActive: link?.isExactActive ?? computed(() => to.value === router.currentRoute.value.path),\n route: link?.route ?? computed(() => router.resolve(to.value)),\n async navigate(_e) {\n await navigateTo(href.value, { replace: props.replace, external: isExternal.value || hasTarget.value });\n }\n };\n }\n return defineComponent({\n name: componentName,\n props: {\n // Routing\n to: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n href: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n // Attributes\n target: {\n type: String,\n default: void 0,\n required: false\n },\n rel: {\n type: String,\n default: void 0,\n required: false\n },\n noRel: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Prefetching\n prefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n prefetchOn: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n noPrefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Styling\n activeClass: {\n type: String,\n default: void 0,\n required: false\n },\n exactActiveClass: {\n type: String,\n default: void 0,\n required: false\n },\n prefetchedClass: {\n type: String,\n default: void 0,\n required: false\n },\n // Vue Router's `` additional props\n replace: {\n type: Boolean,\n default: void 0,\n required: false\n },\n ariaCurrentValue: {\n type: String,\n default: void 0,\n required: false\n },\n // Edge cases handling\n external: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Slot API\n custom: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Behavior\n trailingSlash: {\n type: String,\n default: void 0,\n required: false\n }\n },\n useLink: useNuxtLink,\n setup(props, { slots }) {\n const router = useRouter();\n const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useNuxtLink(props);\n const prefetched = shallowRef(false);\n const el = import.meta.server ? void 0 : ref(null);\n const elRef = import.meta.server ? void 0 : (ref2) => {\n el.value = props.custom ? ref2?.$el?.nextElementSibling : ref2?.$el;\n };\n function shouldPrefetch(mode) {\n if (import.meta.server) {\n return;\n }\n return !prefetched.value && (typeof props.prefetchOn === \"string\" ? props.prefetchOn === mode : props.prefetchOn?.[mode] ?? options.prefetchOn?.[mode]) && (props.prefetch ?? options.prefetch) !== false && props.noPrefetch !== true && props.target !== \"_blank\" && !isSlowConnection();\n }\n async function prefetch(nuxtApp = useNuxtApp()) {\n if (import.meta.server) {\n return;\n }\n if (prefetched.value) {\n return;\n }\n prefetched.value = true;\n const path = typeof to.value === \"string\" ? to.value : isExternal.value ? resolveRouteObject(to.value) : router.resolve(to.value).fullPath;\n const normalizedPath = isExternal.value ? new URL(path, window.location.href).href : path;\n await Promise.all([\n nuxtApp.hooks.callHook(\"link:prefetch\", normalizedPath).catch(() => {\n }),\n !isExternal.value && !hasTarget.value && preloadRouteComponents(to.value, router).catch(() => {\n })\n ]);\n }\n if (import.meta.client) {\n checkPropConflicts(props, \"noPrefetch\", \"prefetch\");\n if (shouldPrefetch(\"visibility\")) {\n const nuxtApp = useNuxtApp();\n let idleId;\n let unobserve = null;\n onMounted(() => {\n const observer = useObserver();\n onNuxtReady(() => {\n idleId = requestIdleCallback(() => {\n if (el?.value?.tagName) {\n unobserve = observer.observe(el.value, async () => {\n unobserve?.();\n unobserve = null;\n await prefetch(nuxtApp);\n });\n }\n });\n });\n });\n onBeforeUnmount(() => {\n if (idleId) {\n cancelIdleCallback(idleId);\n }\n unobserve?.();\n unobserve = null;\n });\n }\n }\n if (import.meta.dev && import.meta.server && !props.custom) {\n const isNuxtLinkChild = inject(NuxtLinkDevKeySymbol, false);\n if (isNuxtLinkChild) {\n console.log(\"[nuxt] [NuxtLink] You can't nest one inside another . This will cause a hydration error on client-side. You can pass the `custom` prop to take full control of the markup.\");\n } else {\n provide(NuxtLinkDevKeySymbol, true);\n }\n }\n return () => {\n if (!isExternal.value && !hasTarget.value && !isHashLinkWithoutHashMode(to.value)) {\n const routerLinkProps = {\n ref: elRef,\n to: to.value,\n activeClass: props.activeClass || options.activeClass,\n exactActiveClass: props.exactActiveClass || options.exactActiveClass,\n replace: props.replace,\n ariaCurrentValue: props.ariaCurrentValue,\n custom: props.custom\n };\n if (!props.custom) {\n if (import.meta.client) {\n if (shouldPrefetch(\"interaction\")) {\n routerLinkProps.onPointerenter = prefetch.bind(null, void 0);\n routerLinkProps.onFocus = prefetch.bind(null, void 0);\n }\n if (prefetched.value) {\n routerLinkProps.class = props.prefetchedClass || options.prefetchedClass;\n }\n }\n routerLinkProps.rel = props.rel || void 0;\n }\n return h(\n resolveComponent(\"RouterLink\"),\n routerLinkProps,\n slots.default\n );\n }\n const target = props.target || null;\n checkPropConflicts(props, \"noRel\", \"rel\");\n const rel = firstNonUndefined(\n // converts `\"\"` to `null` to prevent the attribute from being added as empty (`rel=\"\"`)\n props.noRel ? \"\" : props.rel,\n options.externalRelAttribute,\n /*\n * A fallback rel of `noopener noreferrer` is applied for external links or links that open in a new tab.\n * This solves a reverse tabnapping security flaw in browsers pre-2021 as well as improving privacy.\n */\n isAbsoluteUrl.value || hasTarget.value ? \"noopener noreferrer\" : \"\"\n ) || null;\n if (props.custom) {\n if (!slots.default) {\n return null;\n }\n return slots.default({\n href: href.value,\n navigate,\n prefetch,\n get route() {\n if (!href.value) {\n return void 0;\n }\n const url = new URL(href.value, import.meta.client ? window.location.href : \"http://localhost\");\n return {\n path: url.pathname,\n fullPath: url.pathname,\n get query() {\n return parseQuery(url.search);\n },\n hash: url.hash,\n params: {},\n name: void 0,\n matched: [],\n redirectedFrom: void 0,\n meta: {},\n href: href.value\n };\n },\n rel,\n target,\n isExternal: isExternal.value || hasTarget.value,\n isActive: false,\n isExactActive: false\n });\n }\n return h(\"a\", {\n ref: el,\n href: href.value || null,\n // converts `\"\"` to `null` to prevent the attribute from being added as empty (`href=\"\"`)\n rel,\n target,\n onClick: async (event) => {\n if (isExternal.value || hasTarget.value) {\n return;\n }\n event.preventDefault();\n try {\n const encodedHref = encodeRoutePath(href.value);\n return await (props.replace ? router.replace(encodedHref) : router.push(encodedHref));\n } finally {\n if (import.meta.client && isHashLinkWithoutHashMode(to.value)) {\n const rawHash = to.value.slice(1);\n let hash = rawHash;\n try {\n hash = decodeURIComponent(rawHash);\n } catch {\n }\n const el2 = document.getElementById(hash);\n el2?.focus();\n }\n }\n }\n }, slots.default?.());\n };\n }\n });\n}\nexport default /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);\nfunction applyTrailingSlashBehavior(to, trailingSlash) {\n const normalizeFn = trailingSlash === \"append\" ? withTrailingSlash : withoutTrailingSlash;\n const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith(\"http\");\n if (hasProtocolDifferentFromHttp) {\n return to;\n }\n return normalizeFn(to, true);\n}\nfunction useObserver() {\n if (import.meta.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n if (nuxtApp._observer) {\n return nuxtApp._observer;\n }\n let observer = null;\n const callbacks = /* @__PURE__ */ new Map();\n const observe = (element, callback) => {\n observer ||= new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback2 = callbacks.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (isVisible && callback2) {\n callback2();\n }\n }\n });\n callbacks.set(element, callback);\n observer.observe(element);\n return () => {\n callbacks.delete(element);\n observer?.unobserve(element);\n if (callbacks.size === 0) {\n observer?.disconnect();\n observer = null;\n }\n };\n };\n const _observer = nuxtApp._observer = {\n observe\n };\n return _observer;\n}\nconst IS_2G_RE = /2g/;\nfunction isSlowConnection() {\n if (import.meta.server) {\n return;\n }\n const cn = navigator.connection;\n if (cn && (cn.saveData || IS_2G_RE.test(cn.effectiveType))) {\n return true;\n }\n return false;\n}\n","\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map.json deleted file mode 100644 index 79d35fe7..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-BY_x-_oz.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-404-BY_x-_oz.js","mappings":"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","names":["_ssrRenderAttrs","_mergeProps","_push","_parent"],"sources":["../../../../../../nuxt/dist/app/components/nuxt-link.js","../../../../../../nuxt/dist/app/components/error-404.vue"],"sourcesContent":["import { computed, defineComponent, h, inject, onBeforeUnmount, onMounted, provide, ref, resolveComponent, shallowRef } from \"vue\";\nimport { hasProtocol, joinURL, parseQuery, withTrailingSlash, withoutTrailingSlash } from \"ufo\";\nimport { preloadRouteComponents } from \"../composables/preload.js\";\nimport { onNuxtReady } from \"../composables/ready.js\";\nimport { encodeRoutePath, navigateTo, resolveRouteObject, useRouter } from \"../composables/router.js\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { cancelIdleCallback, requestIdleCallback } from \"../compat/idle-callback.js\";\nimport { nuxtLinkDefaults } from \"#build/nuxt.config.mjs\";\nimport { hashMode } from \"#build/router.options.mjs\";\nconst firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);\nconst NuxtLinkDevKeySymbol = Symbol(\"nuxt-link-dev-key\");\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtLink(options) {\n const componentName = options.componentName || \"NuxtLink\";\n function checkPropConflicts(props, main, sub) {\n if (import.meta.dev && props[main] !== void 0 && props[sub] !== void 0) {\n console.warn(`[${componentName}] \\`${main}\\` and \\`${sub}\\` cannot be used together. \\`${sub}\\` will be ignored.`);\n }\n }\n function isHashLinkWithoutHashMode(link) {\n return !hashMode && typeof link === \"string\" && link.startsWith(\"#\");\n }\n function resolveTrailingSlashBehavior(to, resolve, trailingSlash) {\n const effectiveTrailingSlash = trailingSlash ?? options.trailingSlash;\n if (!to || effectiveTrailingSlash !== \"append\" && effectiveTrailingSlash !== \"remove\") {\n return to;\n }\n if (typeof to === \"string\") {\n return applyTrailingSlashBehavior(to, effectiveTrailingSlash);\n }\n const path = \"path\" in to && to.path !== void 0 ? to.path : resolve(to).path;\n const resolvedPath = {\n ...to,\n name: void 0,\n // named routes would otherwise always override trailing slash behavior\n path: applyTrailingSlashBehavior(path, effectiveTrailingSlash)\n };\n return resolvedPath;\n }\n function useNuxtLink(props) {\n const router = useRouter();\n const config = useRuntimeConfig();\n const hasTarget = computed(() => !!props.target && props.target !== \"_self\");\n const isAbsoluteUrl = computed(() => {\n const path = props.to || props.href || \"\";\n return typeof path === \"string\" && hasProtocol(path, { acceptRelative: true });\n });\n const builtinRouterLink = resolveComponent(\"RouterLink\");\n const useBuiltinLink = builtinRouterLink && typeof builtinRouterLink !== \"string\" ? builtinRouterLink.useLink : void 0;\n const isExternal = computed(() => {\n if (props.external) {\n return true;\n }\n const path = props.to || props.href || \"\";\n if (typeof path === \"object\") {\n return false;\n }\n return path === \"\" || isAbsoluteUrl.value;\n });\n const to = computed(() => {\n checkPropConflicts(props, \"to\", \"href\");\n const path = props.to || props.href || \"\";\n if (isExternal.value) {\n return path;\n }\n return resolveTrailingSlashBehavior(path, router.resolve, props.trailingSlash);\n });\n const link = isExternal.value ? void 0 : useBuiltinLink?.({ ...props, to });\n const href = computed(() => {\n const effectiveTrailingSlash = props.trailingSlash ?? options.trailingSlash;\n if (!to.value || isAbsoluteUrl.value || isHashLinkWithoutHashMode(to.value)) {\n return to.value;\n }\n if (isExternal.value) {\n const path = typeof to.value === \"object\" && \"path\" in to.value ? resolveRouteObject(to.value) : to.value;\n const href2 = typeof path === \"object\" ? router.resolve(path).href : path;\n return applyTrailingSlashBehavior(href2, effectiveTrailingSlash);\n }\n if (typeof to.value === \"object\") {\n return router.resolve(to.value)?.href ?? null;\n }\n return applyTrailingSlashBehavior(joinURL(config.app.baseURL, to.value), effectiveTrailingSlash);\n });\n return {\n to,\n hasTarget,\n isAbsoluteUrl,\n isExternal,\n //\n href,\n isActive: link?.isActive ?? computed(() => to.value === router.currentRoute.value.path),\n isExactActive: link?.isExactActive ?? computed(() => to.value === router.currentRoute.value.path),\n route: link?.route ?? computed(() => router.resolve(to.value)),\n async navigate(_e) {\n await navigateTo(href.value, { replace: props.replace, external: isExternal.value || hasTarget.value });\n }\n };\n }\n return defineComponent({\n name: componentName,\n props: {\n // Routing\n to: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n href: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n // Attributes\n target: {\n type: String,\n default: void 0,\n required: false\n },\n rel: {\n type: String,\n default: void 0,\n required: false\n },\n noRel: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Prefetching\n prefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n prefetchOn: {\n type: [String, Object],\n default: void 0,\n required: false\n },\n noPrefetch: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Styling\n activeClass: {\n type: String,\n default: void 0,\n required: false\n },\n exactActiveClass: {\n type: String,\n default: void 0,\n required: false\n },\n prefetchedClass: {\n type: String,\n default: void 0,\n required: false\n },\n // Vue Router's `` additional props\n replace: {\n type: Boolean,\n default: void 0,\n required: false\n },\n ariaCurrentValue: {\n type: String,\n default: void 0,\n required: false\n },\n // Edge cases handling\n external: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Slot API\n custom: {\n type: Boolean,\n default: void 0,\n required: false\n },\n // Behavior\n trailingSlash: {\n type: String,\n default: void 0,\n required: false\n }\n },\n useLink: useNuxtLink,\n setup(props, { slots }) {\n const router = useRouter();\n const { to, href, navigate, isExternal, hasTarget, isAbsoluteUrl } = useNuxtLink(props);\n const prefetched = shallowRef(false);\n const el = import.meta.server ? void 0 : ref(null);\n const elRef = import.meta.server ? void 0 : (ref2) => {\n el.value = props.custom ? ref2?.$el?.nextElementSibling : ref2?.$el;\n };\n function shouldPrefetch(mode) {\n if (import.meta.server) {\n return;\n }\n return !prefetched.value && (typeof props.prefetchOn === \"string\" ? props.prefetchOn === mode : props.prefetchOn?.[mode] ?? options.prefetchOn?.[mode]) && (props.prefetch ?? options.prefetch) !== false && props.noPrefetch !== true && props.target !== \"_blank\" && !isSlowConnection();\n }\n async function prefetch(nuxtApp = useNuxtApp()) {\n if (import.meta.server) {\n return;\n }\n if (prefetched.value) {\n return;\n }\n prefetched.value = true;\n const path = typeof to.value === \"string\" ? to.value : isExternal.value ? resolveRouteObject(to.value) : router.resolve(to.value).fullPath;\n const normalizedPath = isExternal.value ? new URL(path, window.location.href).href : path;\n await Promise.all([\n nuxtApp.hooks.callHook(\"link:prefetch\", normalizedPath).catch(() => {\n }),\n !isExternal.value && !hasTarget.value && preloadRouteComponents(to.value, router).catch(() => {\n })\n ]);\n }\n if (import.meta.client) {\n checkPropConflicts(props, \"noPrefetch\", \"prefetch\");\n if (shouldPrefetch(\"visibility\")) {\n const nuxtApp = useNuxtApp();\n let idleId;\n let unobserve = null;\n onMounted(() => {\n const observer = useObserver();\n onNuxtReady(() => {\n idleId = requestIdleCallback(() => {\n if (el?.value?.tagName) {\n unobserve = observer.observe(el.value, async () => {\n unobserve?.();\n unobserve = null;\n await prefetch(nuxtApp);\n });\n }\n });\n });\n });\n onBeforeUnmount(() => {\n if (idleId) {\n cancelIdleCallback(idleId);\n }\n unobserve?.();\n unobserve = null;\n });\n }\n }\n if (import.meta.dev && import.meta.server && !props.custom) {\n const isNuxtLinkChild = inject(NuxtLinkDevKeySymbol, false);\n if (isNuxtLinkChild) {\n console.log(\"[nuxt] [NuxtLink] You can't nest one inside another . This will cause a hydration error on client-side. You can pass the `custom` prop to take full control of the markup.\");\n } else {\n provide(NuxtLinkDevKeySymbol, true);\n }\n }\n return () => {\n if (!isExternal.value && !hasTarget.value && !isHashLinkWithoutHashMode(to.value)) {\n const routerLinkProps = {\n ref: elRef,\n to: to.value,\n activeClass: props.activeClass || options.activeClass,\n exactActiveClass: props.exactActiveClass || options.exactActiveClass,\n replace: props.replace,\n ariaCurrentValue: props.ariaCurrentValue,\n custom: props.custom\n };\n if (!props.custom) {\n if (import.meta.client) {\n if (shouldPrefetch(\"interaction\")) {\n routerLinkProps.onPointerenter = prefetch.bind(null, void 0);\n routerLinkProps.onFocus = prefetch.bind(null, void 0);\n }\n if (prefetched.value) {\n routerLinkProps.class = props.prefetchedClass || options.prefetchedClass;\n }\n }\n routerLinkProps.rel = props.rel || void 0;\n }\n return h(\n resolveComponent(\"RouterLink\"),\n routerLinkProps,\n slots.default\n );\n }\n const target = props.target || null;\n checkPropConflicts(props, \"noRel\", \"rel\");\n const rel = firstNonUndefined(\n // converts `\"\"` to `null` to prevent the attribute from being added as empty (`rel=\"\"`)\n props.noRel ? \"\" : props.rel,\n options.externalRelAttribute,\n /*\n * A fallback rel of `noopener noreferrer` is applied for external links or links that open in a new tab.\n * This solves a reverse tabnapping security flaw in browsers pre-2021 as well as improving privacy.\n */\n isAbsoluteUrl.value || hasTarget.value ? \"noopener noreferrer\" : \"\"\n ) || null;\n if (props.custom) {\n if (!slots.default) {\n return null;\n }\n return slots.default({\n href: href.value,\n navigate,\n prefetch,\n get route() {\n if (!href.value) {\n return void 0;\n }\n const url = new URL(href.value, import.meta.client ? window.location.href : \"http://localhost\");\n return {\n path: url.pathname,\n fullPath: url.pathname,\n get query() {\n return parseQuery(url.search);\n },\n hash: url.hash,\n params: {},\n name: void 0,\n matched: [],\n redirectedFrom: void 0,\n meta: {},\n href: href.value\n };\n },\n rel,\n target,\n isExternal: isExternal.value || hasTarget.value,\n isActive: false,\n isExactActive: false\n });\n }\n return h(\"a\", {\n ref: el,\n href: href.value || null,\n // converts `\"\"` to `null` to prevent the attribute from being added as empty (`href=\"\"`)\n rel,\n target,\n onClick: async (event) => {\n if (isExternal.value || hasTarget.value) {\n return;\n }\n event.preventDefault();\n try {\n const encodedHref = encodeRoutePath(href.value);\n return await (props.replace ? router.replace(encodedHref) : router.push(encodedHref));\n } finally {\n if (import.meta.client && isHashLinkWithoutHashMode(to.value)) {\n const rawHash = to.value.slice(1);\n let hash = rawHash;\n try {\n hash = decodeURIComponent(rawHash);\n } catch {\n }\n const el2 = document.getElementById(hash);\n el2?.focus();\n }\n }\n }\n }, slots.default?.());\n };\n }\n });\n}\nexport default /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);\nfunction applyTrailingSlashBehavior(to, trailingSlash) {\n const normalizeFn = trailingSlash === \"append\" ? withTrailingSlash : withoutTrailingSlash;\n const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith(\"http\");\n if (hasProtocolDifferentFromHttp) {\n return to;\n }\n return normalizeFn(to, true);\n}\nfunction useObserver() {\n if (import.meta.server) {\n return;\n }\n const nuxtApp = useNuxtApp();\n if (nuxtApp._observer) {\n return nuxtApp._observer;\n }\n let observer = null;\n const callbacks = /* @__PURE__ */ new Map();\n const observe = (element, callback) => {\n observer ||= new IntersectionObserver((entries) => {\n for (const entry of entries) {\n const callback2 = callbacks.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (isVisible && callback2) {\n callback2();\n }\n }\n });\n callbacks.set(element, callback);\n observer.observe(element);\n return () => {\n callbacks.delete(element);\n observer?.unobserve(element);\n if (callbacks.size === 0) {\n observer?.disconnect();\n observer = null;\n }\n };\n };\n const _observer = nuxtApp._observer = {\n observe\n };\n return _observer;\n}\nconst IS_2G_RE = /2g/;\nfunction isSlowConnection() {\n if (import.meta.server) {\n return;\n }\n const cn = navigator.connection;\n if (cn && (cn.saveData || IS_2G_RE.test(cn.effectiveType))) {\n return true;\n }\n return false;\n}\n","\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js deleted file mode 100644 index e9a2093f..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js +++ /dev/null @@ -1,5 +0,0 @@ -const error404_vue_vue_type_style_index_0_scoped_204d37bf_lang = ".grid[data-v-204d37bf]{display:grid}.mb-2[data-v-204d37bf]{margin-bottom:.5rem}.mb-4[data-v-204d37bf]{margin-bottom:1rem}.max-w-520px[data-v-204d37bf]{max-width:520px}.min-h-screen[data-v-204d37bf]{min-height:100vh}.w-full[data-v-204d37bf]{width:100%}.flex[data-v-204d37bf]{display:flex}.place-content-center[data-v-204d37bf]{place-content:center}.items-center[data-v-204d37bf]{align-items:center}.justify-center[data-v-204d37bf]{justify-content:center}.overflow-hidden[data-v-204d37bf]{overflow:hidden}.bg-white[data-v-204d37bf]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-204d37bf]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-204d37bf]{text-align:center}.text-\\[80px\\][data-v-204d37bf]{font-size:80px}.text-2xl[data-v-204d37bf]{font-size:1.5rem;line-height:2rem}.text-sm[data-v-204d37bf]{font-size:.875rem;line-height:1.25rem}.text-\\[\\#020420\\][data-v-204d37bf]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\][data-v-204d37bf]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.hover\\:text-\\[\\#00DC82\\][data-v-204d37bf]:hover{--un-text-opacity:1;color:rgb(0 220 130/var(--un-text-opacity))}.font-medium[data-v-204d37bf]{font-weight:500}.font-semibold[data-v-204d37bf]{font-weight:600}.leading-none[data-v-204d37bf]{line-height:1}.tracking-wide[data-v-204d37bf]{letter-spacing:.025em}.font-sans[data-v-204d37bf]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-204d37bf]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.underline[data-v-204d37bf]{text-decoration-line:underline}.underline-offset-3[data-v-204d37bf]{text-underline-offset:3px}.antialiased[data-v-204d37bf]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\][data-v-204d37bf]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white[data-v-204d37bf]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\\:text-\\[110px\\][data-v-204d37bf]{font-size:110px}.sm\\:text-3xl[data-v-204d37bf]{font-size:1.875rem;line-height:2.25rem}}"; -export { - error404_vue_vue_type_style_index_0_scoped_204d37bf_lang as default -}; -//# sourceMappingURL=error-404-styles-1.mjs-Bae73Gon.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map deleted file mode 100644 index 076d006d..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-404-styles-1.mjs-Bae73Gon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map.json deleted file mode 100644 index 0a5e922f..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles-1.mjs-Bae73Gon.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-404-styles-1.mjs-Bae73Gon.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles.DuDrf-v0.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles.DuDrf-v0.mjs deleted file mode 100644 index 9f644dae..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-404-styles.DuDrf-v0.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import style_0 from "./error-404-styles-1.mjs-Bae73Gon.js"; -export default [ - style_0 -] \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js deleted file mode 100644 index 34a3f4a4..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js +++ /dev/null @@ -1,69 +0,0 @@ -import { mergeProps, useSSRContext } from "vue"; -import { ssrRenderAttrs, ssrInterpolate } from "vue/server-renderer"; -import { _ as _export_sfc } from "../server.mjs"; -import { u as useHead } from "./composables-Piy9capG.js"; -import "/home/bennet/source/vat-api/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/home/bennet/source/vat-api/node_modules/hookable/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/unctx/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/h3/dist/index.mjs"; -import "vue-router"; -import "/home/bennet/source/vat-api/node_modules/defu/dist/defu.mjs"; -import "/home/bennet/source/vat-api/node_modules/ufo/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/@unhead/vue/dist/index.mjs"; -const _sfc_main = { - __name: "error-500", - __ssrInlineRender: true, - props: { - appName: { - type: String, - default: "Nuxt" - }, - status: { - type: Number, - default: 500 - }, - statusText: { - type: String, - default: "Internal server error" - }, - description: { - type: String, - default: "This page is temporarily unavailable." - }, - refresh: { - type: String, - default: "Refresh this page" - } - }, - setup(__props) { - const props = __props; - useHead({ - title: `${props.status} - ${props.statusText} | ${props.appName}`, - script: [ - { - innerHTML: `!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();` - } - ], - style: [ - { - innerHTML: `*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }` - } - ] - }); - return (_ctx, _push, _parent, _attrs) => { - _push(`

${ssrInterpolate(__props.status)}

${ssrInterpolate(__props.statusText)}

${ssrInterpolate(__props.description)}

`); - }; - } -}; -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/nuxt/dist/app/components/error-500.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -const error500 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d349100d"]]); -export { - error500 as default -}; -//# sourceMappingURL=error-500-B0qDQUop.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map deleted file mode 100644 index 0e7da9e9..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-500-B0qDQUop.js","sources":["../../../../../../nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"names":["_ssrRenderAttrs","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,0JAAsJ,MAAA,CAAA,8LAAmI,QAAA,MAAM,4FAAgE,QAAA,UAAU,oFAAwD,QAAA,WAAW;;;;;;;;;;;"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map.json deleted file mode 100644 index d91e207c..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-B0qDQUop.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-500-B0qDQUop.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,UAAM,QAAQ;AAsBd,YAAQ;AAAA,MACN,OAAO,GAAG,MAAM,MAAM,MAAM,MAAM,UAAU,MAAM,MAAM,OAAO;AAAA,MAC/D,QAAQ;AAAA,QACN;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,MAEF,OAAO;AAAA,QACL;AAAA,UACE,WAAW;AAAA,QAAA;AAAA,MACb;AAAA,IACF,CACD;;mBAIIA,eAAAC,WAAA,EAAA,OAAM,0JAAsJ,MAAA,CAAA,8LAAmI,QAAA,MAAM,4FAAgE,QAAA,UAAU,oFAAwD,QAAA,WAAW;;;;;;;;;;;","names":["_ssrRenderAttrs","_mergeProps"],"sources":["../../../../../../nuxt/dist/app/components/error-500.vue"],"sourcesContent":["\n\n\n\n\n"],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js deleted file mode 100644 index 5b3f692a..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js +++ /dev/null @@ -1,5 +0,0 @@ -const error500_vue_vue_type_style_index_0_scoped_d349100d_lang = ".grid[data-v-d349100d]{display:grid}.mb-2[data-v-d349100d]{margin-bottom:.5rem}.mb-4[data-v-d349100d]{margin-bottom:1rem}.max-w-520px[data-v-d349100d]{max-width:520px}.min-h-screen[data-v-d349100d]{min-height:100vh}.place-content-center[data-v-d349100d]{place-content:center}.overflow-hidden[data-v-d349100d]{overflow:hidden}.bg-white[data-v-d349100d]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-2[data-v-d349100d]{padding-left:.5rem;padding-right:.5rem}.text-center[data-v-d349100d]{text-align:center}.text-\\[80px\\][data-v-d349100d]{font-size:80px}.text-2xl[data-v-d349100d]{font-size:1.5rem;line-height:2rem}.text-\\[\\#020420\\][data-v-d349100d]{--un-text-opacity:1;color:rgb(2 4 32/var(--un-text-opacity))}.text-\\[\\#64748B\\][data-v-d349100d]{--un-text-opacity:1;color:rgb(100 116 139/var(--un-text-opacity))}.font-semibold[data-v-d349100d]{font-weight:600}.leading-none[data-v-d349100d]{line-height:1}.tracking-wide[data-v-d349100d]{letter-spacing:.025em}.font-sans[data-v-d349100d]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tabular-nums[data-v-d349100d]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction)}.antialiased[data-v-d349100d]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-color-scheme:dark){.dark\\:bg-\\[\\#020420\\][data-v-d349100d]{--un-bg-opacity:1;background-color:rgb(2 4 32/var(--un-bg-opacity))}.dark\\:text-white[data-v-d349100d]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media(min-width:640px){.sm\\:text-\\[110px\\][data-v-d349100d]{font-size:110px}.sm\\:text-3xl[data-v-d349100d]{font-size:1.875rem;line-height:2.25rem}}"; -export { - error500_vue_vue_type_style_index_0_scoped_d349100d_lang as default -}; -//# sourceMappingURL=error-500-styles-1.mjs-DOrS-RIZ.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map deleted file mode 100644 index a0ed5aae..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"error-500-styles-1.mjs-DOrS-RIZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map.json deleted file mode 100644 index 353f5bd6..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles-1.mjs-DOrS-RIZ.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"error-500-styles-1.mjs-DOrS-RIZ.js","mappings":";","names":[],"sources":[],"sourcesContent":[],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles.8IYEHzz6.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles.8IYEHzz6.mjs deleted file mode 100644 index 7861e21f..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/error-500-styles.8IYEHzz6.mjs +++ /dev/null @@ -1,4 +0,0 @@ -import style_0 from "./error-500-styles-1.mjs-DOrS-RIZ.js"; -export default [ - style_0 -] \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js deleted file mode 100644 index 699d22f1..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js +++ /dev/null @@ -1,409 +0,0 @@ -import { defineComponent, ref, mergeProps, unref, useSSRContext, readonly, computed } from "vue"; -import { ssrRenderAttrs, ssrRenderList, ssrRenderAttr, ssrInterpolate, ssrRenderStyle, ssrRenderClass, ssrIncludeBooleanAttr, ssrLooseContain, ssrLooseEqual, ssrRenderComponent } from "vue/server-renderer"; -import { _ as _export_sfc } from "../server.mjs"; -import { u as useHead } from "./composables-Piy9capG.js"; -import "/home/bennet/source/vat-api/node_modules/ofetch/dist/node.mjs"; -import "#internal/nuxt/paths"; -import "/home/bennet/source/vat-api/node_modules/hookable/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/unctx/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/h3/dist/index.mjs"; -import "vue-router"; -import "/home/bennet/source/vat-api/node_modules/defu/dist/defu.mjs"; -import "/home/bennet/source/vat-api/node_modules/ufo/dist/index.mjs"; -import "/home/bennet/source/vat-api/node_modules/@unhead/vue/dist/index.mjs"; -const _sfc_main$7 = /* @__PURE__ */ defineComponent({ - __name: "Navbar", - __ssrInlineRender: true, - setup(__props) { - const scrolled = ref(false); - const links = [ - { label: "Features", href: "#features" }, - { label: "Rates", href: "#rates" }, - { label: "API Docs", href: "#playground" } - ]; - const mobileOpen = ref(false); - return (_ctx, _push, _parent, _attrs) => { - _push(`
V vat-api.eu
`); - if (unref(mobileOpen)) { - _push(`
`); - ssrRenderList(links, (link) => { - _push(`${ssrInterpolate(link.label)}`); - }); - _push(`
`); - } else { - _push(``); - } - _push(``); - }; - } -}); -const _sfc_setup$7 = _sfc_main$7.setup; -_sfc_main$7.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Navbar.vue"); - return _sfc_setup$7 ? _sfc_setup$7(props, ctx) : void 0; -}; -const __nuxt_component_0 = Object.assign(_sfc_main$7, { __name: "Navbar" }); -const _sfc_main$6 = {}; -function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs) { - _push(`
Free & Open

EU VAT Rates API

Free. No API key. Always up-to-date.

Get current VAT rates for all 27 EU member states with a single API call. No registration, no rate limits, no nonsense.

GET /api/v1/rates/DE
// Response 200 OK
-{
-  "country": "Germany",
-  "country_code": "DE",
-  "standard_rate": 19,
-  "reduced_rates": [7],
-  "currency": "EUR"
-}
`); -} -const _sfc_setup$6 = _sfc_main$6.setup; -_sfc_main$6.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HeroSection.vue"); - return _sfc_setup$6 ? _sfc_setup$6(props, ctx) : void 0; -}; -const __nuxt_component_1 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$6, [["ssrRender", _sfc_ssrRender$1]]), { __name: "HeroSection" }); -const _sfc_main$5 = /* @__PURE__ */ defineComponent({ - __name: "FeaturesGrid", - __ssrInlineRender: true, - setup(__props) { - const features = [ - { - icon: ``, - title: "All 27 EU Countries", - description: "Standard, reduced, and special VAT rates for every member state." - }, - { - icon: ``, - title: "No Authentication", - description: "No API keys, no sign-up. Just send a GET request." - }, - { - icon: ``, - title: "Always Current", - description: "Rates sourced and synced regularly from official EU data." - }, - { - icon: ``, - title: "Simple JSON", - description: "Clean, predictable JSON responses. Easy to integrate anywhere." - } - ]; - return (_ctx, _push, _parent, _attrs) => { - _push(`

Built for developers

A straightforward API that does one thing well — delivering EU VAT rates without friction.

`); - ssrRenderList(features, (feature, i) => { - _push(`
${feature.icon ?? ""}

${ssrInterpolate(feature.title)}

${ssrInterpolate(feature.description)}

`); - }); - _push(`
`); - }; - } -}); -const _sfc_setup$5 = _sfc_main$5.setup; -_sfc_main$5.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/FeaturesGrid.vue"); - return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0; -}; -const __nuxt_component_2 = Object.assign(_sfc_main$5, { __name: "FeaturesGrid" }); -const euVatRates = [ - { country: "Austria", code: "AT", flag: "🇦🇹", standard: 20, reduced: [10, 13] }, - { country: "Belgium", code: "BE", flag: "🇧🇪", standard: 21, reduced: [6, 12] }, - { country: "Bulgaria", code: "BG", flag: "🇧🇬", standard: 20, reduced: [9] }, - { country: "Croatia", code: "HR", flag: "🇭🇷", standard: 25, reduced: [5, 13] }, - { country: "Cyprus", code: "CY", flag: "🇨🇾", standard: 19, reduced: [5, 9] }, - { country: "Czech Republic", code: "CZ", flag: "🇨🇿", standard: 21, reduced: [12, 15] }, - { country: "Denmark", code: "DK", flag: "🇩🇰", standard: 25, reduced: [] }, - { country: "Estonia", code: "EE", flag: "🇪🇪", standard: 22, reduced: [9] }, - { country: "Finland", code: "FI", flag: "🇫🇮", standard: 25.5, reduced: [10, 14] }, - { country: "France", code: "FR", flag: "🇫🇷", standard: 20, reduced: [5.5, 10] }, - { country: "Germany", code: "DE", flag: "🇩🇪", standard: 19, reduced: [7] }, - { country: "Greece", code: "GR", flag: "🇬🇷", standard: 24, reduced: [6, 13] }, - { country: "Hungary", code: "HU", flag: "🇭🇺", standard: 27, reduced: [5, 18] }, - { country: "Ireland", code: "IE", flag: "🇮🇪", standard: 23, reduced: [9, 13.5] }, - { country: "Italy", code: "IT", flag: "🇮🇹", standard: 22, reduced: [5, 10] }, - { country: "Latvia", code: "LV", flag: "🇱🇻", standard: 21, reduced: [5, 12] }, - { country: "Lithuania", code: "LT", flag: "🇱🇹", standard: 21, reduced: [5, 9] }, - { country: "Luxembourg", code: "LU", flag: "🇱🇺", standard: 17, reduced: [8] }, - { country: "Malta", code: "MT", flag: "🇲🇹", standard: 18, reduced: [5, 7] }, - { country: "Netherlands", code: "NL", flag: "🇳🇱", standard: 21, reduced: [9] }, - { country: "Poland", code: "PL", flag: "🇵🇱", standard: 23, reduced: [5, 8] }, - { country: "Portugal", code: "PT", flag: "🇵🇹", standard: 23, reduced: [6, 13] }, - { country: "Romania", code: "RO", flag: "🇷🇴", standard: 19, reduced: [5, 9] }, - { country: "Slovakia", code: "SK", flag: "🇸🇰", standard: 23, reduced: [5, 10] }, - { country: "Slovenia", code: "SI", flag: "🇸🇮", standard: 22, reduced: [5, 9.5] }, - { country: "Spain", code: "ES", flag: "🇪🇸", standard: 21, reduced: [4, 10] }, - { country: "Sweden", code: "SE", flag: "🇸🇪", standard: 25, reduced: [6, 12] } -]; -function useVatRates() { - const rates = readonly(ref(euVatRates)); - function getRateByCode(code) { - return euVatRates.find((r) => r.code === code.toUpperCase()); - } - function formatApiResponse(rate) { - return { - country: rate.country, - country_code: rate.code, - standard_rate: rate.standard, - reduced_rates: rate.reduced, - currency: "EUR" - }; - } - function formatAllRatesResponse() { - return euVatRates.map(formatApiResponse); - } - return { rates, getRateByCode, formatApiResponse, formatAllRatesResponse }; -} -const _sfc_main$4 = /* @__PURE__ */ defineComponent({ - __name: "VatRateTable", - __ssrInlineRender: true, - setup(__props) { - const rates = ref([]); - const search = ref(""); - const filtered = computed(() => { - const q = search.value.toLowerCase().trim(); - if (!q) return rates.value; - return rates.value.filter( - (r) => r.country.toLowerCase().includes(q) || r.code.toLowerCase().includes(q) - ); - }); - return (_ctx, _push, _parent, _attrs) => { - _push(`

VAT Rates across the EU

Current standard and reduced rates for all 27 member states.

`); - ssrRenderList(unref(filtered), (rate) => { - _push(``); - }); - _push(``); - if (!unref(filtered).length) { - _push(``); - } else { - _push(``); - } - _push(`
CountryCodeStandardReduced
${ssrInterpolate(rate.flag)}${ssrInterpolate(rate.country)}${ssrInterpolate(rate.code)}${ssrInterpolate(rate.standard)}%`); - if (rate.reduced.length) { - _push(`${ssrInterpolate(rate.reduced.map((r) => `${r}%`).join(", "))}`); - } else { - _push(``); - } - _push(`
No countries matching "${ssrInterpolate(unref(search))}"

Data updated regularly from official EU sources.

`); - }; - } -}); -const _sfc_setup$4 = _sfc_main$4.setup; -_sfc_main$4.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/VatRateTable.vue"); - return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0; -}; -const __nuxt_component_3 = Object.assign(_sfc_main$4, { __name: "VatRateTable" }); -const _sfc_main$3 = /* @__PURE__ */ defineComponent({ - __name: "ApiPlayground", - __ssrInlineRender: true, - setup(__props) { - const { rates } = useVatRates(); - const selectedCode = ref("DE"); - const response = ref(""); - const statusCode = ref(null); - const isLoading = ref(false); - const showAllRates = ref(false); - const endpointUrl = computed( - () => showAllRates.value ? "https://vat-api.eu/api/v1/rates" : `https://vat-api.eu/api/v1/rates/${selectedCode.value}` - ); - return (_ctx, _push, _parent, _attrs) => { - _push(`

Try it out

Build your request, send it, and see the response.

`); - if (!unref(showAllRates)) { - _push(`
`); - } else { - _push(``); - } - _push(`
GET${ssrInterpolate(unref(endpointUrl))}
Response`); - if (unref(statusCode) === 200) { - _push(`200 OK`); - } else if (unref(statusCode)) { - _push(`${ssrInterpolate(unref(statusCode))} Error`); - } else { - _push(``); - } - _push(`
`); - if (unref(response)) { - _push(`
${unref(response) ?? ""}
`); - } else if (unref(isLoading)) { - _push(`

Loading...

`); - } else { - _push(`

Click "Send Request" to see a response.

`); - } - _push(`
`); - }; - } -}); -const _sfc_setup$3 = _sfc_main$3.setup; -_sfc_main$3.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/ApiPlayground.vue"); - return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0; -}; -const __nuxt_component_4 = Object.assign(_sfc_main$3, { __name: "ApiPlayground" }); -const _sfc_main$2 = /* @__PURE__ */ defineComponent({ - __name: "CodeExamples", - __ssrInlineRender: true, - setup(__props) { - const tabs = ["cURL", "JavaScript", "Python"]; - const activeTab = ref("cURL"); - const code = { - cURL: `# Get all EU VAT rates -curl https://vat-api.eu/api/v1/rates - -# Get rates for a specific country -curl https://vat-api.eu/api/v1/rates/DE`, - JavaScript: `const response = await fetch('https://vat-api.eu/api/v1/rates/DE'); -const data = await response.json(); -console.log(data.standard_rate); // 19`, - Python: `import requests - -response = requests.get('https://vat-api.eu/api/v1/rates/DE') -data = response.json() -print(data['standard_rate']) # 19` - }; - const highlighted = { - cURL: highlightBash(code.cURL), - JavaScript: highlightJS(code.JavaScript), - Python: highlightPython(code.Python) - }; - function highlightBash(src) { - return src.replace(/(#.*)/g, '$1').replace(/(curl)\s/g, '$1 ').replace(/(https?:\/\/[^\s]+)/g, '$1'); - } - function highlightJS(src) { - return src.replace(/(\/\/\s*\d+)/g, '$1').replace(/(const|await)\s/g, '$1 ').replace(/(fetch|json|log)\(/g, '$1(').replace(/('https?:\/\/[^']*')/g, '$1').replace(/(\.standard_rate)/g, '$1').replace(/(console)\./g, '$1.').replace(/(response)\./g, '$1.'); - } - function highlightPython(src) { - return src.replace(/(#\s*\d+)/g, '$1').replace(/(import|from)\s/g, '$1 ').replace(/(requests)/g, '$1').replace(/('https?:\/\/[^']*')/g, '$1').replace(/(\['standard_rate'\])/g, '$1').replace(/(print|get)\(/g, '$1(').replace(/(response)\./g, '$1.'); - } - const copied = ref(false); - return (_ctx, _push, _parent, _attrs) => { - _push(`

Quick start

Integrate EU VAT rates into your project in seconds.

`); - ssrRenderList(tabs, (tab) => { - _push(``); - }); - _push(`
${highlighted[unref(activeTab)] ?? ""}
`); - }; - } -}); -const _sfc_setup$2 = _sfc_main$2.setup; -_sfc_main$2.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/CodeExamples.vue"); - return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; -}; -const __nuxt_component_5 = Object.assign(_sfc_main$2, { __name: "CodeExamples" }); -const _sfc_main$1 = {}; -function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { - _push(`
V vat-api.eu

Free EU VAT rate data

`); -} -const _sfc_setup$1 = _sfc_main$1.setup; -_sfc_main$1.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/FooterSection.vue"); - return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; -}; -const __nuxt_component_6 = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$1, [["ssrRender", _sfc_ssrRender]]), { __name: "FooterSection" }); -const _sfc_main = /* @__PURE__ */ defineComponent({ - __name: "index", - __ssrInlineRender: true, - setup(__props) { - useHead({ - title: "vat-api.eu — Free EU VAT Rates API", - meta: [ - { - name: "description", - content: "Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required." - }, - { property: "og:title", content: "vat-api.eu — Free EU VAT Rates API" }, - { - property: "og:description", - content: "Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required." - }, - { property: "og:type", content: "website" }, - { property: "og:url", content: "https://vat-api.eu" }, - { name: "twitter:card", content: "summary_large_image" }, - { name: "twitter:title", content: "vat-api.eu — Free EU VAT Rates API" }, - { - name: "twitter:description", - content: "Get current VAT rates for all 27 EU member states with a free, open REST API. No API key required." - } - ] - }); - return (_ctx, _push, _parent, _attrs) => { - const _component_Navbar = __nuxt_component_0; - const _component_HeroSection = __nuxt_component_1; - const _component_FeaturesGrid = __nuxt_component_2; - const _component_VatRateTable = __nuxt_component_3; - const _component_ApiPlayground = __nuxt_component_4; - const _component_CodeExamples = __nuxt_component_5; - const _component_FooterSection = __nuxt_component_6; - _push(``); - _push(ssrRenderComponent(_component_Navbar, null, null, _parent)); - _push(`
`); - _push(ssrRenderComponent(_component_HeroSection, null, null, _parent)); - _push(ssrRenderComponent(_component_FeaturesGrid, null, null, _parent)); - _push(ssrRenderComponent(_component_VatRateTable, null, null, _parent)); - _push(ssrRenderComponent(_component_ApiPlayground, null, null, _parent)); - _push(ssrRenderComponent(_component_CodeExamples, null, null, _parent)); - _push(`
`); - _push(ssrRenderComponent(_component_FooterSection, null, null, _parent)); - _push(``); - }; - } -}); -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -export { - _sfc_main as default -}; -//# sourceMappingURL=index-BDcJu3_l.js.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map deleted file mode 100644 index 3ec39563..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-BDcJu3_l.js","sources":["../../../../../../../app/components/Navbar.vue","../../../../../../../app/components/HeroSection.vue","../../../../../../../app/components/FeaturesGrid.vue","../../../../../../../app/composables/useVatRates.ts","../../../../../../../app/components/VatRateTable.vue","../../../../../../../app/components/ApiPlayground.vue","../../../../../../../app/components/CodeExamples.vue","../../../../../../../app/components/FooterSection.vue","../../../../../../../app/pages/index.vue"],"sourcesContent":["\n\n\n","\n","\n\n\n","export interface VatRate {\n country: string\n code: string\n flag: string\n standard: number\n reduced: number[]\n}\n\nconst euVatRates: VatRate[] = [\n { country: 'Austria', code: 'AT', flag: '\\u{1F1E6}\\u{1F1F9}', standard: 20, reduced: [10, 13] },\n { country: 'Belgium', code: 'BE', flag: '\\u{1F1E7}\\u{1F1EA}', standard: 21, reduced: [6, 12] },\n { country: 'Bulgaria', code: 'BG', flag: '\\u{1F1E7}\\u{1F1EC}', standard: 20, reduced: [9] },\n { country: 'Croatia', code: 'HR', flag: '\\u{1F1ED}\\u{1F1F7}', standard: 25, reduced: [5, 13] },\n { country: 'Cyprus', code: 'CY', flag: '\\u{1F1E8}\\u{1F1FE}', standard: 19, reduced: [5, 9] },\n { country: 'Czech Republic', code: 'CZ', flag: '\\u{1F1E8}\\u{1F1FF}', standard: 21, reduced: [12, 15] },\n { country: 'Denmark', code: 'DK', flag: '\\u{1F1E9}\\u{1F1F0}', standard: 25, reduced: [] },\n { country: 'Estonia', code: 'EE', flag: '\\u{1F1EA}\\u{1F1EA}', standard: 22, reduced: [9] },\n { country: 'Finland', code: 'FI', flag: '\\u{1F1EB}\\u{1F1EE}', standard: 25.5, reduced: [10, 14] },\n { country: 'France', code: 'FR', flag: '\\u{1F1EB}\\u{1F1F7}', standard: 20, reduced: [5.5, 10] },\n { country: 'Germany', code: 'DE', flag: '\\u{1F1E9}\\u{1F1EA}', standard: 19, reduced: [7] },\n { country: 'Greece', code: 'GR', flag: '\\u{1F1EC}\\u{1F1F7}', standard: 24, reduced: [6, 13] },\n { country: 'Hungary', code: 'HU', flag: '\\u{1F1ED}\\u{1F1FA}', standard: 27, reduced: [5, 18] },\n { country: 'Ireland', code: 'IE', flag: '\\u{1F1EE}\\u{1F1EA}', standard: 23, reduced: [9, 13.5] },\n { country: 'Italy', code: 'IT', flag: '\\u{1F1EE}\\u{1F1F9}', standard: 22, reduced: [5, 10] },\n { country: 'Latvia', code: 'LV', flag: '\\u{1F1F1}\\u{1F1FB}', standard: 21, reduced: [5, 12] },\n { country: 'Lithuania', code: 'LT', flag: '\\u{1F1F1}\\u{1F1F9}', standard: 21, reduced: [5, 9] },\n { country: 'Luxembourg', code: 'LU', flag: '\\u{1F1F1}\\u{1F1FA}', standard: 17, reduced: [8] },\n { country: 'Malta', code: 'MT', flag: '\\u{1F1F2}\\u{1F1F9}', standard: 18, reduced: [5, 7] },\n { country: 'Netherlands', code: 'NL', flag: '\\u{1F1F3}\\u{1F1F1}', standard: 21, reduced: [9] },\n { country: 'Poland', code: 'PL', flag: '\\u{1F1F5}\\u{1F1F1}', standard: 23, reduced: [5, 8] },\n { country: 'Portugal', code: 'PT', flag: '\\u{1F1F5}\\u{1F1F9}', standard: 23, reduced: [6, 13] },\n { country: 'Romania', code: 'RO', flag: '\\u{1F1F7}\\u{1F1F4}', standard: 19, reduced: [5, 9] },\n { country: 'Slovakia', code: 'SK', flag: '\\u{1F1F8}\\u{1F1F0}', standard: 23, reduced: [5, 10] },\n { country: 'Slovenia', code: 'SI', flag: '\\u{1F1F8}\\u{1F1EE}', standard: 22, reduced: [5, 9.5] },\n { country: 'Spain', code: 'ES', flag: '\\u{1F1EA}\\u{1F1F8}', standard: 21, reduced: [4, 10] },\n { country: 'Sweden', code: 'SE', flag: '\\u{1F1F8}\\u{1F1EA}', standard: 25, reduced: [6, 12] },\n]\n\nexport function useVatRates() {\n const rates = readonly(ref(euVatRates))\n\n function getRateByCode(code: string): VatRate | undefined {\n return euVatRates.find(r => r.code === code.toUpperCase())\n }\n\n function formatApiResponse(rate: VatRate) {\n return {\n country: rate.country,\n country_code: rate.code,\n standard_rate: rate.standard,\n reduced_rates: rate.reduced,\n currency: 'EUR',\n }\n }\n\n function formatAllRatesResponse() {\n return euVatRates.map(formatApiResponse)\n }\n\n return { rates, getRateByCode, formatApiResponse, formatAllRatesResponse }\n}\n","\n\n\n","\n\n\n","\n\n\n","\n","\n\n\n"],"names":["_unref","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrRenderAttrs","_mergeProps","_ssrRenderClass"],"mappings":"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"} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map.json deleted file mode 100644 index 74c5abea..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-BDcJu3_l.js.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"index-BDcJu3_l.js","mappings":"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","names":["_unref","_ssrRenderList","_ssrInterpolate","_ssrRenderAttr","_ssrRenderAttrs","_mergeProps","_ssrRenderClass"],"sources":["../../../../../../../app/components/Navbar.vue","../../../../../../../app/components/HeroSection.vue","../../../../../../../app/components/FeaturesGrid.vue","../../../../../../../app/composables/useVatRates.ts","../../../../../../../app/components/VatRateTable.vue","../../../../../../../app/components/ApiPlayground.vue","../../../../../../../app/components/CodeExamples.vue","../../../../../../../app/components/FooterSection.vue","../../../../../../../app/pages/index.vue"],"sourcesContent":["\n\n\n","\n","\n\n\n","export interface VatRate {\n country: string\n code: string\n flag: string\n standard: number\n reduced: number[]\n}\n\nconst euVatRates: VatRate[] = [\n { country: 'Austria', code: 'AT', flag: '\\u{1F1E6}\\u{1F1F9}', standard: 20, reduced: [10, 13] },\n { country: 'Belgium', code: 'BE', flag: '\\u{1F1E7}\\u{1F1EA}', standard: 21, reduced: [6, 12] },\n { country: 'Bulgaria', code: 'BG', flag: '\\u{1F1E7}\\u{1F1EC}', standard: 20, reduced: [9] },\n { country: 'Croatia', code: 'HR', flag: '\\u{1F1ED}\\u{1F1F7}', standard: 25, reduced: [5, 13] },\n { country: 'Cyprus', code: 'CY', flag: '\\u{1F1E8}\\u{1F1FE}', standard: 19, reduced: [5, 9] },\n { country: 'Czech Republic', code: 'CZ', flag: '\\u{1F1E8}\\u{1F1FF}', standard: 21, reduced: [12, 15] },\n { country: 'Denmark', code: 'DK', flag: '\\u{1F1E9}\\u{1F1F0}', standard: 25, reduced: [] },\n { country: 'Estonia', code: 'EE', flag: '\\u{1F1EA}\\u{1F1EA}', standard: 22, reduced: [9] },\n { country: 'Finland', code: 'FI', flag: '\\u{1F1EB}\\u{1F1EE}', standard: 25.5, reduced: [10, 14] },\n { country: 'France', code: 'FR', flag: '\\u{1F1EB}\\u{1F1F7}', standard: 20, reduced: [5.5, 10] },\n { country: 'Germany', code: 'DE', flag: '\\u{1F1E9}\\u{1F1EA}', standard: 19, reduced: [7] },\n { country: 'Greece', code: 'GR', flag: '\\u{1F1EC}\\u{1F1F7}', standard: 24, reduced: [6, 13] },\n { country: 'Hungary', code: 'HU', flag: '\\u{1F1ED}\\u{1F1FA}', standard: 27, reduced: [5, 18] },\n { country: 'Ireland', code: 'IE', flag: '\\u{1F1EE}\\u{1F1EA}', standard: 23, reduced: [9, 13.5] },\n { country: 'Italy', code: 'IT', flag: '\\u{1F1EE}\\u{1F1F9}', standard: 22, reduced: [5, 10] },\n { country: 'Latvia', code: 'LV', flag: '\\u{1F1F1}\\u{1F1FB}', standard: 21, reduced: [5, 12] },\n { country: 'Lithuania', code: 'LT', flag: '\\u{1F1F1}\\u{1F1F9}', standard: 21, reduced: [5, 9] },\n { country: 'Luxembourg', code: 'LU', flag: '\\u{1F1F1}\\u{1F1FA}', standard: 17, reduced: [8] },\n { country: 'Malta', code: 'MT', flag: '\\u{1F1F2}\\u{1F1F9}', standard: 18, reduced: [5, 7] },\n { country: 'Netherlands', code: 'NL', flag: '\\u{1F1F3}\\u{1F1F1}', standard: 21, reduced: [9] },\n { country: 'Poland', code: 'PL', flag: '\\u{1F1F5}\\u{1F1F1}', standard: 23, reduced: [5, 8] },\n { country: 'Portugal', code: 'PT', flag: '\\u{1F1F5}\\u{1F1F9}', standard: 23, reduced: [6, 13] },\n { country: 'Romania', code: 'RO', flag: '\\u{1F1F7}\\u{1F1F4}', standard: 19, reduced: [5, 9] },\n { country: 'Slovakia', code: 'SK', flag: '\\u{1F1F8}\\u{1F1F0}', standard: 23, reduced: [5, 10] },\n { country: 'Slovenia', code: 'SI', flag: '\\u{1F1F8}\\u{1F1EE}', standard: 22, reduced: [5, 9.5] },\n { country: 'Spain', code: 'ES', flag: '\\u{1F1EA}\\u{1F1F8}', standard: 21, reduced: [4, 10] },\n { country: 'Sweden', code: 'SE', flag: '\\u{1F1F8}\\u{1F1EA}', standard: 25, reduced: [6, 12] },\n]\n\nexport function useVatRates() {\n const rates = readonly(ref(euVatRates))\n\n function getRateByCode(code: string): VatRate | undefined {\n return euVatRates.find(r => r.code === code.toUpperCase())\n }\n\n function formatApiResponse(rate: VatRate) {\n return {\n country: rate.country,\n country_code: rate.code,\n standard_rate: rate.standard,\n reduced_rates: rate.reduced,\n currency: 'EUR',\n }\n }\n\n function formatAllRatesResponse() {\n return euVatRates.map(formatApiResponse)\n }\n\n return { rates, getRateByCode, formatApiResponse, formatAllRatesResponse }\n}\n","\n\n\n","\n\n\n","\n\n\n","\n","\n\n\n"],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/client.manifest.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/client.manifest.mjs deleted file mode 100644 index 39e1e0a6..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/client.manifest.mjs +++ /dev/null @@ -1 +0,0 @@ -export default ({"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Mono-normal-400-latin.4GdczIuU.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Mono-normal-500-latin.DRMDZjhP.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin-ext.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2"},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin.woff2":{resourceType:"font",mimeType:"font/woff2",file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",src:"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2"},"../node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DNdyEWwv.js",name:"error-404",src:"../node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"],css:[]},"error-404.C-Ezrlz-.css":{file:"error-404.C-Ezrlz-.css",resourceType:"style",prefetch:!0,preload:!0},"../node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CBwmZ8LB.js",name:"error-500",src:"../node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"],css:[]},"error-500.DBWf9FGj.css":{file:"error-500.DBWf9FGj.css",resourceType:"style",prefetch:!0,preload:!0},"../node_modules/nuxt/dist/app/entry.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Dgz6sxCl.js",name:"entry",src:"../node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["../node_modules/nuxt/dist/app/components/error-404.vue","../node_modules/nuxt/dist/app/components/error-500.vue"],css:["entry.DJL3iLlR.css"],assets:["DM_Mono-normal-400-latin-ext.C2zvOubV.woff2","DM_Mono-normal-400-latin.4GdczIuU.woff2","DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2","DM_Mono-normal-500-latin.DRMDZjhP.woff2","DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2","DM_Sans-normal-400-latin.Xz1IZZA0.woff2","Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2","Instrument_Sans-normal-400-latin.BbzFLZTg.woff2"]},"entry.DJL3iLlR.css":{file:"entry.DJL3iLlR.css",resourceType:"style",prefetch:!0,preload:!0},"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":{file:"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-400-latin.4GdczIuU.woff2":{file:"DM_Mono-normal-400-latin.4GdczIuU.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":{file:"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-500-latin.DRMDZjhP.woff2":{file:"DM_Mono-normal-500-latin.DRMDZjhP.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2"},"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2"},"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2"},"_BGLmsXN0.js":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BGLmsXN0.js",name:"composables",imports:["../node_modules/nuxt/dist/app/entry.js"]},"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CeoJbNH2.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"]}}) \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/client.precomputed.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/client.precomputed.mjs deleted file mode 100644 index 03f1d14e..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/client.precomputed.mjs +++ /dev/null @@ -1 +0,0 @@ -export default ((h,j,k,m,o,q,u,x,z,A,B)=>({dependencies:{"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin-ext.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"../node_modules/nuxt/dist/app/entry.js":{scripts:{"../node_modules/nuxt/dist/app/entry.js":h={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"Dgz6sxCl.js",name:"entry",src:"../node_modules/nuxt/dist/app/entry.js",isEntry:!0,dynamicImports:["../node_modules/nuxt/dist/app/components/error-404.vue","../node_modules/nuxt/dist/app/components/error-500.vue"],css:["entry.DJL3iLlR.css"],assets:["DM_Mono-normal-400-latin-ext.C2zvOubV.woff2","DM_Mono-normal-400-latin.4GdczIuU.woff2","DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2","DM_Mono-normal-500-latin.DRMDZjhP.woff2","DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2","DM_Sans-normal-400-latin.Xz1IZZA0.woff2","Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2","Instrument_Sans-normal-400-latin.BbzFLZTg.woff2"]}},styles:{"entry.DJL3iLlR.css":j={file:"entry.DJL3iLlR.css",resourceType:"style",prefetch:!0,preload:!0}},preload:{"../node_modules/nuxt/dist/app/entry.js":h,"entry.DJL3iLlR.css":j},prefetch:{"entry.DJL3iLlR.css":j,"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":k={file:"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-400-latin.4GdczIuU.woff2":m={file:"DM_Mono-normal-400-latin.4GdczIuU.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":o={file:"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Mono-normal-500-latin.DRMDZjhP.woff2":q={file:"DM_Mono-normal-500-latin.DRMDZjhP.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":u={file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2"},"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":x={file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2"},"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":z={file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2"},"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":A={file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2"}}},"_BGLmsXN0.js":{scripts:{},styles:{"entry.DJL3iLlR.css":j},preload:{"_BGLmsXN0.js":B={resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"BGLmsXN0.js",name:"composables",imports:["../node_modules/nuxt/dist/app/entry.js"]},"../node_modules/nuxt/dist/app/entry.js":h,"entry.DJL3iLlR.css":j},prefetch:{"entry.DJL3iLlR.css":j,"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":k,"DM_Mono-normal-400-latin.4GdczIuU.woff2":m,"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":o,"DM_Mono-normal-500-latin.DRMDZjhP.woff2":q,"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":u,"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":x,"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":z,"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":A}},"../node_modules/nuxt/dist/app/components/error-404.vue":{scripts:{},styles:{"entry.DJL3iLlR.css":j},preload:{"../node_modules/nuxt/dist/app/components/error-404.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"DNdyEWwv.js",name:"error-404",src:"../node_modules/nuxt/dist/app/components/error-404.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"],css:[]},"../node_modules/nuxt/dist/app/entry.js":h,"entry.DJL3iLlR.css":j,"_BGLmsXN0.js":B},prefetch:{"entry.DJL3iLlR.css":j,"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":k,"DM_Mono-normal-400-latin.4GdczIuU.woff2":m,"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":o,"DM_Mono-normal-500-latin.DRMDZjhP.woff2":q,"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":u,"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":x,"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":z,"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":A}},"error-404.C-Ezrlz-.css":{scripts:{},styles:{},preload:{"error-404.C-Ezrlz-.css":{file:"error-404.C-Ezrlz-.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"../node_modules/nuxt/dist/app/components/error-500.vue":{scripts:{},styles:{"entry.DJL3iLlR.css":j},preload:{"../node_modules/nuxt/dist/app/components/error-500.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CBwmZ8LB.js",name:"error-500",src:"../node_modules/nuxt/dist/app/components/error-500.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"],css:[]},"../node_modules/nuxt/dist/app/entry.js":h,"entry.DJL3iLlR.css":j,"_BGLmsXN0.js":B},prefetch:{"entry.DJL3iLlR.css":j,"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":k,"DM_Mono-normal-400-latin.4GdczIuU.woff2":m,"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":o,"DM_Mono-normal-500-latin.DRMDZjhP.woff2":q,"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":u,"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":x,"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":z,"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":A}},"error-500.DBWf9FGj.css":{scripts:{},styles:{},preload:{"error-500.DBWf9FGj.css":{file:"error-500.DBWf9FGj.css",resourceType:"style",prefetch:!0,preload:!0}},prefetch:{}},"entry.DJL3iLlR.css":{scripts:{},styles:{},preload:{"entry.DJL3iLlR.css":j},prefetch:{}},"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"DM_Mono-normal-400-latin.4GdczIuU.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"DM_Mono-normal-500-latin.DRMDZjhP.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":{scripts:{},styles:{},preload:{},prefetch:{}},"pages/index.vue":{scripts:{},styles:{"entry.DJL3iLlR.css":j},preload:{"pages/index.vue":{resourceType:"script",module:!0,prefetch:!0,preload:!0,file:"CeoJbNH2.js",name:"index",src:"pages/index.vue",isDynamicEntry:!0,imports:["../node_modules/nuxt/dist/app/entry.js","_BGLmsXN0.js"]},"../node_modules/nuxt/dist/app/entry.js":h,"entry.DJL3iLlR.css":j,"_BGLmsXN0.js":B},prefetch:{"entry.DJL3iLlR.css":j,"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":k,"DM_Mono-normal-400-latin.4GdczIuU.woff2":m,"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":o,"DM_Mono-normal-500-latin.DRMDZjhP.woff2":q,"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":u,"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":x,"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":z,"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":A}}},entrypoints:["../node_modules/nuxt/dist/app/entry.js"],modules:{"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin-ext.woff2":{file:"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-400-latin.woff2":{file:"DM_Mono-normal-400-latin.4GdczIuU.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin-ext.woff2":{file:"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Mono-normal-500-latin.woff2":{file:"DM_Mono-normal-500-latin.DRMDZjhP.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin-ext.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-400-latin.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin-ext.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-500-latin.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin-ext.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-600-latin.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin-ext.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/DM_Sans-normal-700-latin.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin-ext.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-400-latin.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin-ext.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-500-latin.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin-ext.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-600-latin.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin-ext.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/.cache/nuxt-google-fonts/fonts/Instrument_Sans-normal-700-latin.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"../node_modules/nuxt/dist/app/components/error-404.vue":{file:"DNdyEWwv.js",resourceType:"script",mimeType:void 0,module:!0},"error-404.C-Ezrlz-.css":{file:"error-404.C-Ezrlz-.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/nuxt/dist/app/components/error-500.vue":{file:"CBwmZ8LB.js",resourceType:"script",mimeType:void 0,module:!0},"error-500.DBWf9FGj.css":{file:"error-500.DBWf9FGj.css",resourceType:"style",mimeType:void 0,module:void 0},"../node_modules/nuxt/dist/app/entry.js":{file:"Dgz6sxCl.js",resourceType:"script",mimeType:void 0,module:!0},"entry.DJL3iLlR.css":{file:"entry.DJL3iLlR.css",resourceType:"style",mimeType:void 0,module:void 0},"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2":{file:"DM_Mono-normal-400-latin-ext.C2zvOubV.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"DM_Mono-normal-400-latin.4GdczIuU.woff2":{file:"DM_Mono-normal-400-latin.4GdczIuU.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2":{file:"DM_Mono-normal-500-latin-ext.BtRyHRi6.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"DM_Mono-normal-500-latin.DRMDZjhP.woff2":{file:"DM_Mono-normal-500-latin.DRMDZjhP.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2":{file:"DM_Sans-normal-400-latin-ext.BOFOeGcA.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"DM_Sans-normal-400-latin.Xz1IZZA0.woff2":{file:"DM_Sans-normal-400-latin.Xz1IZZA0.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2":{file:"Instrument_Sans-normal-400-latin-ext.B5bTHO_g.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2":{file:"Instrument_Sans-normal-400-latin.BbzFLZTg.woff2",resourceType:"font",mimeType:"font/woff2",module:void 0},"_BGLmsXN0.js":{file:"BGLmsXN0.js",resourceType:"script",mimeType:void 0,module:!0},"pages/index.vue":{file:"CeoJbNH2.js",resourceType:"script",mimeType:void 0,module:!0}}}))() \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs deleted file mode 100644 index d0420180..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs +++ /dev/null @@ -1,954 +0,0 @@ -import { hasInjectionContext, getCurrentInstance, shallowReactive, reactive, effectScope, getCurrentScope, inject, toRef, shallowRef, isReadonly, isRef, isShallow, isReactive, toRaw, defineComponent, provide, h, ref, Suspense, Fragment, useSSRContext, defineAsyncComponent, unref, mergeProps, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, createApp } from "vue"; -import { $fetch } from "/home/bennet/source/vat-api/node_modules/ofetch/dist/node.mjs"; -import { baseURL } from "#internal/nuxt/paths"; -import { createHooks } from "/home/bennet/source/vat-api/node_modules/hookable/dist/index.mjs"; -import { getContext, executeAsync } from "/home/bennet/source/vat-api/node_modules/unctx/dist/index.mjs"; -import { sanitizeStatusCode, createError as createError$1 } from "/home/bennet/source/vat-api/node_modules/h3/dist/index.mjs"; -import { START_LOCATION, createMemoryHistory, createRouter, RouterView } from "vue-router"; -import { defu } from "/home/bennet/source/vat-api/node_modules/defu/dist/defu.mjs"; -import { hasProtocol, joinURL, withQuery, parseURL, encodePath, decodePath, isScriptProtocol } from "/home/bennet/source/vat-api/node_modules/ufo/dist/index.mjs"; -import { ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from "vue/server-renderer"; -if (!globalThis.$fetch) { - globalThis.$fetch = $fetch.create({ - baseURL: baseURL() - }); -} -if (!("global" in globalThis)) { - globalThis.global = globalThis; -} -const nuxtLinkDefaults = { "componentName": "NuxtLink" }; -const appId = "nuxt-app"; -function getNuxtAppCtx(id = appId) { - return getContext(id, { - asyncContext: false - }); -} -const NuxtPluginIndicator = "__nuxt_plugin"; -function createNuxtApp(options) { - let hydratingCount = 0; - const nuxtApp = { - _id: options.id || appId || "nuxt-app", - _scope: effectScope(), - provide: void 0, - versions: { - get nuxt() { - return "4.3.1"; - }, - get vue() { - return nuxtApp.vueApp.version; - } - }, - payload: shallowReactive({ - ...options.ssrContext?.payload || {}, - data: shallowReactive({}), - state: reactive({}), - once: /* @__PURE__ */ new Set(), - _errors: shallowReactive({}) - }), - static: { - data: {} - }, - runWithContext(fn) { - if (nuxtApp._scope.active && !getCurrentScope()) { - return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn)); - } - return callWithNuxt(nuxtApp, fn); - }, - isHydrating: false, - deferHydration() { - if (!nuxtApp.isHydrating) { - return () => { - }; - } - hydratingCount++; - let called = false; - return () => { - if (called) { - return; - } - called = true; - hydratingCount--; - if (hydratingCount === 0) { - nuxtApp.isHydrating = false; - return nuxtApp.callHook("app:suspense:resolve"); - } - }; - }, - _asyncDataPromises: {}, - _asyncData: shallowReactive({}), - _payloadRevivers: {}, - ...options - }; - { - nuxtApp.payload.serverRendered = true; - } - if (nuxtApp.ssrContext) { - nuxtApp.payload.path = nuxtApp.ssrContext.url; - nuxtApp.ssrContext.nuxt = nuxtApp; - nuxtApp.ssrContext.payload = nuxtApp.payload; - nuxtApp.ssrContext.config = { - public: nuxtApp.ssrContext.runtimeConfig.public, - app: nuxtApp.ssrContext.runtimeConfig.app - }; - } - nuxtApp.hooks = createHooks(); - nuxtApp.hook = nuxtApp.hooks.hook; - { - const contextCaller = async function(hooks, args) { - for (const hook of hooks) { - await nuxtApp.runWithContext(() => hook(...args)); - } - }; - nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args); - } - nuxtApp.callHook = nuxtApp.hooks.callHook; - nuxtApp.provide = (name, value) => { - const $name = "$" + name; - defineGetter(nuxtApp, $name, value); - defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value); - }; - defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp); - defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp); - const runtimeConfig = options.ssrContext.runtimeConfig; - nuxtApp.provide("config", runtimeConfig); - return nuxtApp; -} -function registerPluginHooks(nuxtApp, plugin2) { - if (plugin2.hooks) { - nuxtApp.hooks.addHooks(plugin2.hooks); - } -} -async function applyPlugin(nuxtApp, plugin2) { - if (typeof plugin2 === "function") { - const { provide: provide2 } = await nuxtApp.runWithContext(() => plugin2(nuxtApp)) || {}; - if (provide2 && typeof provide2 === "object") { - for (const key in provide2) { - nuxtApp.provide(key, provide2[key]); - } - } - } -} -async function applyPlugins(nuxtApp, plugins2) { - const resolvedPlugins = /* @__PURE__ */ new Set(); - const unresolvedPlugins = []; - const parallels = []; - let error = void 0; - let promiseDepth = 0; - async function executePlugin(plugin2) { - const unresolvedPluginsForThisPlugin = plugin2.dependsOn?.filter((name) => plugins2.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? []; - if (unresolvedPluginsForThisPlugin.length > 0) { - unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin2]); - } else { - const promise = applyPlugin(nuxtApp, plugin2).then(async () => { - if (plugin2._name) { - resolvedPlugins.add(plugin2._name); - await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => { - if (dependsOn.has(plugin2._name)) { - dependsOn.delete(plugin2._name); - if (dependsOn.size === 0) { - promiseDepth++; - await executePlugin(unexecutedPlugin); - } - } - })); - } - }).catch((e) => { - if (!plugin2.parallel && !nuxtApp.payload.error) { - throw e; - } - error ||= e; - }); - if (plugin2.parallel) { - parallels.push(promise); - } else { - await promise; - } - } - } - for (const plugin2 of plugins2) { - if (nuxtApp.ssrContext?.islandContext && plugin2.env?.islands === false) { - continue; - } - registerPluginHooks(nuxtApp, plugin2); - } - for (const plugin2 of plugins2) { - if (nuxtApp.ssrContext?.islandContext && plugin2.env?.islands === false) { - continue; - } - await executePlugin(plugin2); - } - await Promise.all(parallels); - if (promiseDepth) { - for (let i = 0; i < promiseDepth; i++) { - await Promise.all(parallels); - } - } - if (error) { - throw nuxtApp.payload.error || error; - } -} -// @__NO_SIDE_EFFECTS__ -function defineNuxtPlugin(plugin2) { - if (typeof plugin2 === "function") { - return plugin2; - } - const _name = plugin2._name || plugin2.name; - delete plugin2.name; - return Object.assign(plugin2.setup || (() => { - }), plugin2, { [NuxtPluginIndicator]: true, _name }); -} -function callWithNuxt(nuxt, setup, args) { - const fn = () => setup(); - const nuxtAppCtx = getNuxtAppCtx(nuxt._id); - { - return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn)); - } -} -function tryUseNuxtApp(id) { - let nuxtAppInstance; - if (hasInjectionContext()) { - nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt; - } - nuxtAppInstance ||= getNuxtAppCtx(id).tryUse(); - return nuxtAppInstance || null; -} -function useNuxtApp(id) { - const nuxtAppInstance = tryUseNuxtApp(id); - if (!nuxtAppInstance) { - { - throw new Error("[nuxt] instance unavailable"); - } - } - return nuxtAppInstance; -} -// @__NO_SIDE_EFFECTS__ -function useRuntimeConfig(_event) { - return useNuxtApp().$config; -} -function defineGetter(obj, key, val) { - Object.defineProperty(obj, key, { get: () => val }); -} -const LayoutMetaSymbol = /* @__PURE__ */ Symbol("layout-meta"); -const PageRouteSymbol = /* @__PURE__ */ Symbol("route"); -import.meta.url.replace(/\/app\/.*$/, "/"); -const useRouter = () => { - return useNuxtApp()?.$router; -}; -const useRoute = () => { - if (hasInjectionContext()) { - return inject(PageRouteSymbol, useNuxtApp()._route); - } - return useNuxtApp()._route; -}; -// @__NO_SIDE_EFFECTS__ -function defineNuxtRouteMiddleware(middleware) { - return middleware; -} -const isProcessingMiddleware = () => { - try { - if (useNuxtApp()._processingMiddleware) { - return true; - } - } catch { - return false; - } - return false; -}; -const URL_QUOTE_RE = /"/g; -const navigateTo = (to, options) => { - to ||= "/"; - const toPath = typeof to === "string" ? to : "path" in to ? resolveRouteObject(to) : useRouter().resolve(to).href; - const isExternalHost = hasProtocol(toPath, { acceptRelative: true }); - const isExternal = options?.external || isExternalHost; - if (isExternal) { - if (!options?.external) { - throw new Error("Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`."); - } - const { protocol } = new URL(toPath, "http://localhost"); - if (protocol && isScriptProtocol(protocol)) { - throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`); - } - } - const inMiddleware = isProcessingMiddleware(); - const router = useRouter(); - const nuxtApp = useNuxtApp(); - { - if (nuxtApp.ssrContext) { - const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/"; - const location2 = isExternal ? toPath : joinURL((/* @__PURE__ */ useRuntimeConfig()).app.baseURL, fullPath); - const redirect = async function(response) { - await nuxtApp.callHook("app:redirected"); - const encodedLoc = location2.replace(URL_QUOTE_RE, "%22"); - const encodedHeader = encodeURL(location2, isExternalHost); - nuxtApp.ssrContext["~renderResponse"] = { - statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302), - body: ``, - headers: { location: encodedHeader } - }; - return response; - }; - if (!isExternal && inMiddleware) { - router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0); - return to; - } - return redirect(!inMiddleware ? void 0 : ( - /* abort route navigation */ - false - )); - } - } - if (isExternal) { - nuxtApp._scope.stop(); - if (options?.replace) { - (void 0).replace(toPath); - } else { - (void 0).href = toPath; - } - if (inMiddleware) { - if (!nuxtApp.isHydrating) { - return false; - } - return new Promise(() => { - }); - } - return Promise.resolve(); - } - const encodedTo = typeof to === "string" ? encodeRoutePath(to) : to; - return options?.replace ? router.replace(encodedTo) : router.push(encodedTo); -}; -function resolveRouteObject(to) { - return withQuery(to.path || "", to.query || {}) + (to.hash || ""); -} -function encodeURL(location2, isExternalHost = false) { - const url = new URL(location2, "http://localhost"); - if (!isExternalHost) { - return url.pathname + url.search + url.hash; - } - if (location2.startsWith("//")) { - return url.toString().replace(url.protocol, ""); - } - return url.toString(); -} -function encodeRoutePath(url) { - const parsed = parseURL(url); - return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash; -} -const NUXT_ERROR_SIGNATURE = "__nuxt_error"; -const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, "error"); -const showError = (error) => { - const nuxtError = createError(error); - try { - const error2 = /* @__PURE__ */ useError(); - if (false) ; - error2.value ||= nuxtError; - } catch { - throw nuxtError; - } - return nuxtError; -}; -const isNuxtError = (error) => !!error && typeof error === "object" && NUXT_ERROR_SIGNATURE in error; -const createError = (error) => { - if (typeof error !== "string" && error.statusText) { - error.message ??= error.statusText; - } - const nuxtError = createError$1(error); - Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, { - value: true, - configurable: false, - writable: false - }); - Object.defineProperty(nuxtError, "status", { - // eslint-disable-next-line @typescript-eslint/no-deprecated - get: () => nuxtError.statusCode, - configurable: true - }); - Object.defineProperty(nuxtError, "statusText", { - // eslint-disable-next-line @typescript-eslint/no-deprecated - get: () => nuxtError.statusMessage, - configurable: true - }); - return nuxtError; -}; -const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defineNuxtPlugin({ - name: "nuxt:head", - enforce: "pre", - setup(nuxtApp) { - const head = nuxtApp.ssrContext.head; - nuxtApp.vueApp.use(head); - } -}); -function toArray(value) { - return Array.isArray(value) ? value : [value]; -} -const matcher = (m, p) => { - return []; -}; -const _routeRulesMatcher = (path) => defu({}, ...matcher().map((r) => r.data).reverse()); -const routeRulesMatcher = _routeRulesMatcher; -function getRouteRules(arg) { - const path = typeof arg === "string" ? arg : arg.path; - try { - return routeRulesMatcher(path); - } catch (e) { - console.error("[nuxt] Error matching route rules.", e); - return {}; - } -} -const _routes = [ - { - name: "index", - path: "/", - component: () => import("./_nuxt/index-BDcJu3_l.js") - } -]; -const ROUTE_KEY_PARENTHESES_RE = /(:\w+)\([^)]+\)/g; -const ROUTE_KEY_SYMBOLS_RE = /(:\w+)[?+*]/g; -const ROUTE_KEY_NORMAL_RE = /:\w+/g; -function generateRouteKey(route) { - const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, "$1").replace(ROUTE_KEY_SYMBOLS_RE, "$1").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || ""); - return typeof source === "function" ? source(route) : source; -} -function isChangingPage(to, from) { - if (to === from || from === START_LOCATION) { - return false; - } - if (generateRouteKey(to) !== generateRouteKey(from)) { - return true; - } - const areComponentsSame = to.matched.every( - (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default - ); - if (areComponentsSame) { - return false; - } - return true; -} -const routerOptions0 = { - scrollBehavior(to, from, savedPosition) { - const nuxtApp = useNuxtApp(); - const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? "auto"; - if (to.path.replace(/\/$/, "") === from.path.replace(/\/$/, "")) { - if (from.hash && !to.hash) { - return { left: 0, top: 0 }; - } - if (to.hash) { - return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour }; - } - return false; - } - const routeAllowsScrollToTop = typeof to.meta.scrollToTop === "function" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop; - if (routeAllowsScrollToTop === false) { - return false; - } - const hookToWait = nuxtApp._runningTransition ? "page:transition:finish" : "page:loading:end"; - return new Promise((resolve) => { - if (from === START_LOCATION) { - resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)); - return; - } - nuxtApp.hooks.hookOnce(hookToWait, () => { - requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour))); - }); - }); - } -}; -function _getHashElementScrollMarginTop(selector) { - try { - const elem = (void 0).querySelector(selector); - if (elem) { - return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle((void 0).documentElement).scrollPaddingTop) || 0); - } - } catch { - } - return 0; -} -function _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) { - if (savedPosition) { - return savedPosition; - } - const isPageNavigation = isChangingPage(to, from); - if (to.hash) { - return { - el: to.hash, - top: _getHashElementScrollMarginTop(to.hash), - behavior: isPageNavigation ? defaultHashScrollBehaviour : "instant" - }; - } - return { - left: 0, - top: 0 - }; -} -const configRouterOptions = { - hashMode: false, - scrollBehaviorType: "auto" -}; -const routerOptions = { - ...configRouterOptions, - ...routerOptions0 -}; -const validate = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to, from) => { - let __temp, __restore; - if (!to.meta?.validate) { - return; - } - const result = ([__temp, __restore] = executeAsync(() => Promise.resolve(to.meta.validate(to))), __temp = await __temp, __restore(), __temp); - if (result === true) { - return; - } - const error = createError({ - fatal: false, - // eslint-disable-next-line @typescript-eslint/no-deprecated - status: result && (result.status || result.statusCode) || 404, - // eslint-disable-next-line @typescript-eslint/no-deprecated - statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`, - data: { - path: to.fullPath - } - }); - return error; -}); -const manifest_45route_45rule = /* @__PURE__ */ defineNuxtRouteMiddleware((to) => { - { - return; - } -}); -const globalMiddleware = [ - validate, - manifest_45route_45rule -]; -const namedMiddleware = {}; -const plugin = /* @__PURE__ */ defineNuxtPlugin({ - name: "nuxt:router", - enforce: "pre", - async setup(nuxtApp) { - let __temp, __restore; - let routerBase = (/* @__PURE__ */ useRuntimeConfig()).app.baseURL; - const history = routerOptions.history?.(routerBase) ?? createMemoryHistory(routerBase); - const routes = routerOptions.routes ? ([__temp, __restore] = executeAsync(() => routerOptions.routes(_routes)), __temp = await __temp, __restore(), __temp) ?? _routes : _routes; - let startPosition; - const router = createRouter({ - ...routerOptions, - scrollBehavior: (to, from, savedPosition) => { - if (from === START_LOCATION) { - startPosition = savedPosition; - return; - } - if (routerOptions.scrollBehavior) { - router.options.scrollBehavior = routerOptions.scrollBehavior; - if ("scrollRestoration" in (void 0).history) { - const unsub = router.beforeEach(() => { - unsub(); - (void 0).history.scrollRestoration = "manual"; - }); - } - return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition); - } - }, - history, - routes - }); - nuxtApp.vueApp.use(router); - const previousRoute = shallowRef(router.currentRoute.value); - router.afterEach((_to, from) => { - previousRoute.value = from; - }); - Object.defineProperty(nuxtApp.vueApp.config.globalProperties, "previousRoute", { - get: () => previousRoute.value - }); - const initialURL = nuxtApp.ssrContext.url; - const _route = shallowRef(router.currentRoute.value); - const syncCurrentRoute = () => { - _route.value = router.currentRoute.value; - }; - router.afterEach((to, from) => { - if (to.matched.at(-1)?.components?.default === from.matched.at(-1)?.components?.default) { - syncCurrentRoute(); - } - }); - const route = { sync: syncCurrentRoute }; - for (const key in _route.value) { - Object.defineProperty(route, key, { - get: () => _route.value[key], - enumerable: true - }); - } - nuxtApp._route = shallowReactive(route); - nuxtApp._middleware ||= { - global: [], - named: {} - }; - const error = /* @__PURE__ */ useError(); - if (!nuxtApp.ssrContext?.islandContext) { - router.afterEach(async (to, _from, failure) => { - delete nuxtApp._processingMiddleware; - if (failure) { - await nuxtApp.callHook("page:loading:end"); - } - if (failure?.type === 4) { - return; - } - if (to.redirectedFrom && to.fullPath !== initialURL) { - await nuxtApp.runWithContext(() => navigateTo(to.fullPath || "/")); - } - }); - } - try { - if (true) { - ; - [__temp, __restore] = executeAsync(() => router.push(initialURL)), await __temp, __restore(); - ; - } - ; - [__temp, __restore] = executeAsync(() => router.isReady()), await __temp, __restore(); - ; - } catch (error2) { - [__temp, __restore] = executeAsync(() => nuxtApp.runWithContext(() => showError(error2))), await __temp, __restore(); - } - const resolvedInitialRoute = router.currentRoute.value; - syncCurrentRoute(); - if (nuxtApp.ssrContext?.islandContext) { - return { provide: { router } }; - } - const initialLayout = nuxtApp.payload.state._layout; - router.beforeEach(async (to, from) => { - await nuxtApp.callHook("page:loading:start"); - to.meta = reactive(to.meta); - if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) { - to.meta.layout = initialLayout; - } - nuxtApp._processingMiddleware = true; - if (!nuxtApp.ssrContext?.islandContext) { - const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]); - for (const component of to.matched) { - const componentMiddleware = component.meta.middleware; - if (!componentMiddleware) { - continue; - } - for (const entry2 of toArray(componentMiddleware)) { - middlewareEntries.add(entry2); - } - } - const routeRules = getRouteRules({ path: to.path }); - if (routeRules.appMiddleware) { - for (const key in routeRules.appMiddleware) { - if (routeRules.appMiddleware[key]) { - middlewareEntries.add(key); - } else { - middlewareEntries.delete(key); - } - } - } - for (const entry2 of middlewareEntries) { - const middleware = typeof entry2 === "string" ? nuxtApp._middleware.named[entry2] || await namedMiddleware[entry2]?.().then((r) => r.default || r) : entry2; - if (!middleware) { - throw new Error(`Unknown route middleware: '${entry2}'.`); - } - try { - if (false) ; - const result = await nuxtApp.runWithContext(() => middleware(to, from)); - if (true) { - if (result === false || result instanceof Error) { - const error2 = result || createError({ - status: 404, - statusText: `Page Not Found: ${initialURL}` - }); - await nuxtApp.runWithContext(() => showError(error2)); - return false; - } - } - if (result === true) { - continue; - } - if (result === false) { - return result; - } - if (result) { - if (isNuxtError(result) && result.fatal) { - await nuxtApp.runWithContext(() => showError(result)); - } - return result; - } - } catch (err) { - const error2 = createError(err); - if (error2.fatal) { - await nuxtApp.runWithContext(() => showError(error2)); - } - return error2; - } - } - } - }); - router.onError(async () => { - delete nuxtApp._processingMiddleware; - await nuxtApp.callHook("page:loading:end"); - }); - router.afterEach((to) => { - if (to.matched.length === 0 && !error.value) { - return nuxtApp.runWithContext(() => showError(createError({ - status: 404, - fatal: false, - statusText: `Page not found: ${to.fullPath}`, - data: { - path: to.fullPath - } - }))); - } - }); - nuxtApp.hooks.hookOnce("app:created", async () => { - try { - if ("name" in resolvedInitialRoute) { - resolvedInitialRoute.name = void 0; - } - await router.replace({ - ...resolvedInitialRoute, - force: true - }); - router.options.scrollBehavior = routerOptions.scrollBehavior; - } catch (error2) { - await nuxtApp.runWithContext(() => showError(error2)); - } - }); - return { provide: { router } }; - } -}); -function definePayloadReducer(name, reduce) { - { - useNuxtApp().ssrContext["~payloadReducers"][name] = reduce; - } -} -const reducers = [ - ["NuxtError", (data) => isNuxtError(data) && data.toJSON()], - ["EmptyShallowRef", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")], - ["EmptyRef", (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")], - ["ShallowRef", (data) => isRef(data) && isShallow(data) && data.value], - ["ShallowReactive", (data) => isReactive(data) && isShallow(data) && toRaw(data)], - ["Ref", (data) => isRef(data) && data.value], - ["Reactive", (data) => isReactive(data) && toRaw(data)] -]; -const revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms = /* @__PURE__ */ defineNuxtPlugin({ - name: "nuxt:revive-payload:server", - setup() { - for (const [reducer, fn] of reducers) { - definePayloadReducer(reducer, fn); - } - } -}); -const components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 = /* @__PURE__ */ defineNuxtPlugin({ - name: "nuxt:global-components" -}); -const plugins = [ - unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU, - plugin, - revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms, - components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 -]; -const defineRouteProvider = (name = "RouteProvider") => defineComponent({ - name, - props: { - route: { - type: Object, - required: true - }, - vnode: Object, - vnodeRef: Object, - renderKey: String, - trackRootNodes: Boolean - }, - setup(props) { - const previousKey = props.renderKey; - const previousRoute = props.route; - const route = {}; - for (const key in props.route) { - Object.defineProperty(route, key, { - get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key], - enumerable: true - }); - } - provide(PageRouteSymbol, shallowReactive(route)); - return () => { - if (!props.vnode) { - return props.vnode; - } - return h(props.vnode, { ref: props.vnodeRef }); - }; - } -}); -const RouteProvider = defineRouteProvider(); -const __nuxt_component_0 = defineComponent({ - name: "NuxtPage", - inheritAttrs: false, - props: { - name: { - type: String - }, - transition: { - type: [Boolean, Object], - default: void 0 - }, - keepalive: { - type: [Boolean, Object], - default: void 0 - }, - route: { - type: Object - }, - pageKey: { - type: [Function, String], - default: null - } - }, - setup(props, { attrs, slots, expose }) { - const nuxtApp = useNuxtApp(); - const pageRef = ref(); - inject(PageRouteSymbol, null); - expose({ pageRef }); - inject(LayoutMetaSymbol, null); - nuxtApp.deferHydration(); - return () => { - return h(RouterView, { name: props.name, route: props.route, ...attrs }, { - default: (routeProps) => { - return h(Suspense, { suspensible: true }, { - default() { - return h(RouteProvider, { - vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component, - route: routeProps.route, - vnodeRef: pageRef - }); - } - }); - } - }); - }; - } -}); -function normalizeSlot(slot, data) { - const slotContent = slot(data); - return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent); -} -const _export_sfc = (sfc, props) => { - const target = sfc.__vccOpts || sfc; - for (const [key, val] of props) { - target[key] = val; - } - return target; -}; -const _sfc_main$2 = {}; -function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { - const _component_NuxtPage = __nuxt_component_0; - _push(ssrRenderComponent(_component_NuxtPage, _attrs, null, _parent)); -} -const _sfc_setup$2 = _sfc_main$2.setup; -_sfc_main$2.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue"); - return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; -}; -const AppComponent = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["ssrRender", _sfc_ssrRender]]); -const _sfc_main$1 = { - __name: "nuxt-error-page", - __ssrInlineRender: true, - props: { - error: Object - }, - setup(__props) { - const props = __props; - const _error = props.error; - const status = Number(_error.statusCode || 500); - const is404 = status === 404; - const statusText = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error"); - const description = _error.message || _error.toString(); - const stack = void 0; - const _Error404 = defineAsyncComponent(() => import("./_nuxt/error-404-BY_x-_oz.js")); - const _Error = defineAsyncComponent(() => import("./_nuxt/error-500-B0qDQUop.js")); - const ErrorTemplate = is404 ? _Error404 : _Error; - return (_ctx, _push, _parent, _attrs) => { - _push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ status: unref(status), statusText: unref(statusText), statusCode: unref(status), statusMessage: unref(statusText), description: unref(description), stack: unref(stack) }, _attrs), null, _parent)); - }; - } -}; -const _sfc_setup$1 = _sfc_main$1.setup; -_sfc_main$1.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/nuxt/dist/app/components/nuxt-error-page.vue"); - return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; -}; -const _sfc_main = { - __name: "nuxt-root", - __ssrInlineRender: true, - setup(__props) { - const IslandRenderer = () => null; - const nuxtApp = useNuxtApp(); - nuxtApp.deferHydration(); - nuxtApp.ssrContext.url; - const SingleRenderer = false; - provide(PageRouteSymbol, useRoute()); - nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup"); - const error = /* @__PURE__ */ useError(); - const abortRender = error.value && !nuxtApp.ssrContext.error; - onErrorCaptured((err, target, info) => { - nuxtApp.hooks.callHook("vue:error", err, target, info).catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError)); - { - const p = nuxtApp.runWithContext(() => showError(err)); - onServerPrefetch(() => p); - return false; - } - }); - const islandContext = nuxtApp.ssrContext.islandContext; - return (_ctx, _push, _parent, _attrs) => { - ssrRenderSuspense(_push, { - default: () => { - if (unref(abortRender)) { - _push(`
`); - } else if (unref(error)) { - _push(ssrRenderComponent(unref(_sfc_main$1), { error: unref(error) }, null, _parent)); - } else if (unref(islandContext)) { - _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent)); - } else if (unref(SingleRenderer)) { - ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent); - } else { - _push(ssrRenderComponent(unref(AppComponent), null, null, _parent)); - } - }, - _: 1 - }); - }; - } -}; -const _sfc_setup = _sfc_main.setup; -_sfc_main.setup = (props, ctx) => { - const ssrContext = useSSRContext(); - (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../node_modules/nuxt/dist/app/components/nuxt-root.vue"); - return _sfc_setup ? _sfc_setup(props, ctx) : void 0; -}; -let entry; -{ - entry = async function createNuxtAppServer(ssrContext) { - const vueApp = createApp(_sfc_main); - const nuxt = createNuxtApp({ vueApp, ssrContext }); - try { - await applyPlugins(nuxt, plugins); - await nuxt.hooks.callHook("app:created", vueApp); - } catch (error) { - await nuxt.hooks.callHook("app:error", error); - nuxt.payload.error ||= createError(error); - } - if (ssrContext && (ssrContext["~renderResponse"] || ssrContext._renderResponse)) { - throw new Error("skipping render"); - } - return vueApp; - }; -} -const entry_default = ((ssrContext) => entry(ssrContext)); -export { - _export_sfc as _, - useNuxtApp as a, - useRuntimeConfig as b, - nuxtLinkDefaults as c, - entry_default as default, - encodeRoutePath as e, - navigateTo as n, - resolveRouteObject as r, - useRouter as u -}; -//# sourceMappingURL=server.mjs.map diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map b/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map deleted file mode 100644 index 73ae4016..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"server.mjs","sources":["../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Ffetch.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fglobal-polyfills.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fnuxt.config.mjs","../../../../../nuxt/dist/app/nuxt.js","../../../../../nuxt/dist/app/components/injections.js","../../../../../nuxt/dist/app/utils.js","../../../../../nuxt/dist/app/composables/router.js","../../../../../nuxt/dist/app/composables/error.js","../../../../../nuxt/dist/head/runtime/plugins/unhead.js","../../../../../nuxt/dist/pages/runtime/utils.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froute-rules.mjs","../../../../../nuxt/dist/app/composables/manifest.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froutes.mjs","../../../../../nuxt/dist/app/components/utils.js","../../../../../nuxt/dist/pages/runtime/router.options.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Frouter.options.mjs","../../../../../nuxt/dist/pages/runtime/validate.js","../../../../../nuxt/dist/app/middleware/route-rules.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fmiddleware.mjs","../../../../../nuxt/dist/pages/runtime/plugins/router.js","../../../../../nuxt/dist/app/composables/payload.js","../../../../../nuxt/dist/app/plugins/revive-payload.server.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.plugin.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fplugins.server.mjs","../../../../../nuxt/dist/app/components/route-provider.js","../../../../../nuxt/dist/pages/runtime/page.js","../../../../../nuxt/dist/app/components/nuxt-error-page.vue","../../../../../nuxt/dist/app/components/nuxt-root.vue","../../../../../nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[{\"rel\":\"icon\",\"type\":\"image/svg+xml\",\"href\":\"/favicon.svg\"}],\"style\":[],\"script\":[],\"noscript\":[],\"htmlAttrs\":{\"lang\":\"en\"}}\n\nexport const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"deep\":false}\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = true\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = true\n\nexport const pendingWhenIdle = false\n\nexport const alwaysRunFetchOnKeyChange = false","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload.message.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/4.x/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/4.x/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, -end).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/4.x/directory-structure/app/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst URL_QUOTE_RE = /\"/g;\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedLoc = location2.replace(URL_QUOTE_RE, \"%22\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n return url.pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = void 0;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n });\n }\n manifest.catch((e) => {\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path);\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexyEzZmaPNk7GJYtIrCNLRc1wdntiRCwVW0Wf9Ls7S6A8Meta } from \"/home/bennet/source/vat-api/app/pages/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n component: () => import(\"/home/bennet/source/vat-api/app/pages/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n const hookToWait = nuxtApp._runningTransition ? \"page:transition:finish\" : \"page:loading:end\";\n return new Promise((resolve) => {\n if (from === START_LOCATION) {\n resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour));\n return;\n }\n nuxtApp.hooks.hookOnce(hookToWait, () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n const isPageNavigation = isChangingPage(to, from);\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isPageNavigation ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {}","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n if (to.matched.at(-1)?.components?.default === from.matched.at(-1)?.components?.default) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = _getPayloadURL(url, opts).then((payloadURL) => {\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n const payloadPromise = renderJsonPayloads ? fetch(payloadURL, { cache: \"force-cache\" }).then((res) => res.text().then(parsePayload)) : import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n try {\n return await payloadPromise;\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n return await _isPrerenderedInManifest(url);\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n return await _isPrerenderedInManifest(url);\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","import unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 from \"/home/bennet/source/vat-api/node_modules/.cache/nuxt/.nuxt/components.plugin.mjs\";\nexport default [\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8\n]","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { defu } from \"defu\";\nimport { generateRouteKey, toArray, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n useRouter().beforeEach(removeErrorHook);\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if (hasSameChildren || vnode) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n delete nuxtApp._runningTransition;\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition) {\n nuxtApp._runningTransition = true;\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n delete nuxtApp._runningTransition;\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0\n });\n }\n return defu(..._props);\n}\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (!index || index === -1) {\n return false;\n }\n return newRoute.matched.slice(0, index).some(\n (c, i) => c.components?.default !== fork.matched[i]?.components?.default\n ) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"names":["plugin","provide","plugins","createH3Error","__executeAsync","entry","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"mappings":"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","x_google_ignoreList":[0,1,2,10,12,15,18,22,23]} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map.json b/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map.json deleted file mode 100644 index da1c8947..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/server.mjs.map.json +++ /dev/null @@ -1 +0,0 @@ -{"file":"server.mjs","mappings":"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","names":["plugin","provide","plugins","createH3Error","__executeAsync","entry","router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw","_unref","_ssrRenderComponent","ErrorComponent","RootComponent"],"sources":["../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Ffetch.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fglobal-polyfills.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fnuxt.config.mjs","../../../../../nuxt/dist/app/nuxt.js","../../../../../nuxt/dist/app/components/injections.js","../../../../../nuxt/dist/app/utils.js","../../../../../nuxt/dist/app/composables/router.js","../../../../../nuxt/dist/app/composables/error.js","../../../../../nuxt/dist/head/runtime/plugins/unhead.js","../../../../../nuxt/dist/pages/runtime/utils.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froute-rules.mjs","../../../../../nuxt/dist/app/composables/manifest.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Froutes.mjs","../../../../../nuxt/dist/app/components/utils.js","../../../../../nuxt/dist/pages/runtime/router.options.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Frouter.options.mjs","../../../../../nuxt/dist/pages/runtime/validate.js","../../../../../nuxt/dist/app/middleware/route-rules.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fmiddleware.mjs","../../../../../nuxt/dist/pages/runtime/plugins/router.js","../../../../../nuxt/dist/app/composables/payload.js","../../../../../nuxt/dist/app/plugins/revive-payload.server.js","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fcomponents.plugin.mjs","../../../../../../virtual:nuxt:%2Fhome%2Fbennet%2Fsource%2Fvat-api%2Fnode_modules%2F.cache%2Fnuxt%2F.nuxt%2Fplugins.server.mjs","../../../../../nuxt/dist/app/components/route-provider.js","../../../../../nuxt/dist/pages/runtime/page.js","../../../../../nuxt/dist/app/components/nuxt-error-page.vue","../../../../../nuxt/dist/app/components/nuxt-root.vue","../../../../../nuxt/dist/app/entry.js"],"sourcesContent":["import { $fetch } from 'ofetch'\nimport { baseURL } from '#internal/nuxt/paths'\nif (!globalThis.$fetch) {\n globalThis.$fetch = $fetch.create({\n baseURL: baseURL()\n })\n}","\nif (!(\"global\" in globalThis)) {\n globalThis.global = globalThis;\n}","export const appHead = {\"meta\":[{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"charset\":\"utf-8\"}],\"link\":[{\"rel\":\"icon\",\"type\":\"image/svg+xml\",\"href\":\"/favicon.svg\"}],\"style\":[],\"script\":[],\"noscript\":[],\"htmlAttrs\":{\"lang\":\"en\"}}\n\nexport const appBaseURL = \"/\"\n\nexport const appBuildAssetsDir = \"/_nuxt/\"\n\nexport const appCdnURL = \"\"\n\nexport const appLayoutTransition = false\n\nexport const appPageTransition = false\n\nexport const appViewTransition = false\n\nexport const appKeepalive = false\n\nexport const appRootId = \"__nuxt\"\n\nexport const appRootTag = \"div\"\n\nexport const appRootAttrs = {\"id\":\"__nuxt\"}\n\nexport const appTeleportTag = \"div\"\n\nexport const appTeleportId = \"teleports\"\n\nexport const appTeleportAttrs = {\"id\":\"teleports\"}\n\nexport const appSpaLoaderTag = \"div\"\n\nexport const appSpaLoaderAttrs = {\"id\":\"__nuxt-loader\"}\n\nexport const renderJsonPayloads = true\n\nexport const componentIslands = false\n\nexport const payloadExtraction = false\n\nexport const cookieStore = true\n\nexport const appManifest = true\n\nexport const remoteComponentIslands = false\n\nexport const selectiveClient = false\n\nexport const devPagesDir = null\n\nexport const devRootDir = null\n\nexport const devLogs = false\n\nexport const nuxtLinkDefaults = {\"componentName\":\"NuxtLink\",\"prefetch\":true,\"prefetchOn\":{\"visibility\":true}}\n\nexport const asyncDataDefaults = {\"deep\":false}\n\nexport const fetchDefaults = {}\n\nexport const vueAppRootContainer = '#__nuxt'\n\nexport const viewTransition = false\n\nexport const appId = \"nuxt-app\"\n\nexport const outdatedBuildInterval = 3600000\n\nexport const multiApp = false\n\nexport const chunkErrorEvent = \"vite:preloadError\"\n\nexport const crawlLinks = false\n\nexport const spaLoadingTemplateOutside = true\n\nexport const purgeCachedData = true\n\nexport const granularCachedData = true\n\nexport const pendingWhenIdle = false\n\nexport const alwaysRunFetchOnKeyChange = false","import { effectScope, getCurrentInstance, getCurrentScope, hasInjectionContext, reactive, shallowReactive } from \"vue\";\nimport { createHooks } from \"hookable\";\nimport { getContext } from \"unctx\";\nimport { appId, chunkErrorEvent, multiApp } from \"#build/nuxt.config.mjs\";\nexport function getNuxtAppCtx(id = appId || \"nuxt-app\") {\n return getContext(id, {\n asyncContext: !!__NUXT_ASYNC_CONTEXT__ && import.meta.server\n });\n}\nexport const NuxtPluginIndicator = \"__nuxt_plugin\";\nexport function createNuxtApp(options) {\n let hydratingCount = 0;\n const nuxtApp = {\n _id: options.id || appId || \"nuxt-app\",\n _scope: effectScope(),\n provide: void 0,\n versions: {\n get nuxt() {\n return __NUXT_VERSION__;\n },\n get vue() {\n return nuxtApp.vueApp.version;\n }\n },\n payload: shallowReactive({\n ...options.ssrContext?.payload || {},\n data: shallowReactive({}),\n state: reactive({}),\n once: /* @__PURE__ */ new Set(),\n _errors: shallowReactive({})\n }),\n static: {\n data: {}\n },\n runWithContext(fn) {\n if (nuxtApp._scope.active && !getCurrentScope()) {\n return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));\n }\n return callWithNuxt(nuxtApp, fn);\n },\n isHydrating: import.meta.client,\n deferHydration() {\n if (!nuxtApp.isHydrating) {\n return () => {\n };\n }\n hydratingCount++;\n let called = false;\n return () => {\n if (called) {\n return;\n }\n called = true;\n hydratingCount--;\n if (hydratingCount === 0) {\n nuxtApp.isHydrating = false;\n return nuxtApp.callHook(\"app:suspense:resolve\");\n }\n };\n },\n _asyncDataPromises: {},\n _asyncData: shallowReactive({}),\n _payloadRevivers: {},\n ...options\n };\n if (import.meta.server) {\n nuxtApp.payload.serverRendered = true;\n }\n if (import.meta.server && nuxtApp.ssrContext) {\n nuxtApp.payload.path = nuxtApp.ssrContext.url;\n nuxtApp.ssrContext.nuxt = nuxtApp;\n nuxtApp.ssrContext.payload = nuxtApp.payload;\n nuxtApp.ssrContext.config = {\n public: nuxtApp.ssrContext.runtimeConfig.public,\n app: nuxtApp.ssrContext.runtimeConfig.app\n };\n }\n if (import.meta.client) {\n const __NUXT__ = multiApp ? window.__NUXT__?.[nuxtApp._id] : window.__NUXT__;\n if (__NUXT__) {\n for (const key in __NUXT__) {\n switch (key) {\n case \"data\":\n case \"state\":\n case \"_errors\":\n Object.assign(nuxtApp.payload[key], __NUXT__[key]);\n break;\n default:\n nuxtApp.payload[key] = __NUXT__[key];\n }\n }\n }\n }\n nuxtApp.hooks = createHooks();\n nuxtApp.hook = nuxtApp.hooks.hook;\n if (import.meta.server) {\n const contextCaller = async function(hooks, args) {\n for (const hook of hooks) {\n await nuxtApp.runWithContext(() => hook(...args));\n }\n };\n nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, ...args);\n }\n nuxtApp.callHook = nuxtApp.hooks.callHook;\n nuxtApp.provide = (name, value) => {\n const $name = \"$\" + name;\n defineGetter(nuxtApp, $name, value);\n defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);\n };\n defineGetter(nuxtApp.vueApp, \"$nuxt\", nuxtApp);\n defineGetter(nuxtApp.vueApp.config.globalProperties, \"$nuxt\", nuxtApp);\n if (import.meta.client) {\n if (chunkErrorEvent) {\n window.addEventListener(chunkErrorEvent, (event) => {\n nuxtApp.callHook(\"app:chunkError\", { error: event.payload });\n if (event.payload.message.includes(\"Unable to preload CSS\")) {\n event.preventDefault();\n }\n });\n }\n window.useNuxtApp ||= useNuxtApp;\n const unreg = nuxtApp.hook(\"app:error\", (...args) => {\n console.error(\"[nuxt] error caught during app initialization\", ...args);\n });\n nuxtApp.hook(\"app:mounted\", unreg);\n }\n const runtimeConfig = import.meta.server ? options.ssrContext.runtimeConfig : nuxtApp.payload.config;\n nuxtApp.provide(\"config\", import.meta.client && import.meta.dev ? wrappedConfig(runtimeConfig) : runtimeConfig);\n return nuxtApp;\n}\nexport function registerPluginHooks(nuxtApp, plugin) {\n if (plugin.hooks) {\n nuxtApp.hooks.addHooks(plugin.hooks);\n }\n}\nexport async function applyPlugin(nuxtApp, plugin) {\n if (typeof plugin === \"function\") {\n const { provide } = await nuxtApp.runWithContext(() => plugin(nuxtApp)) || {};\n if (provide && typeof provide === \"object\") {\n for (const key in provide) {\n nuxtApp.provide(key, provide[key]);\n }\n }\n }\n}\nexport async function applyPlugins(nuxtApp, plugins) {\n const resolvedPlugins = /* @__PURE__ */ new Set();\n const unresolvedPlugins = [];\n const parallels = [];\n let error = void 0;\n let promiseDepth = 0;\n async function executePlugin(plugin) {\n const unresolvedPluginsForThisPlugin = plugin.dependsOn?.filter((name) => plugins.some((p) => p._name === name) && !resolvedPlugins.has(name)) ?? [];\n if (unresolvedPluginsForThisPlugin.length > 0) {\n unresolvedPlugins.push([new Set(unresolvedPluginsForThisPlugin), plugin]);\n } else {\n const promise = applyPlugin(nuxtApp, plugin).then(async () => {\n if (plugin._name) {\n resolvedPlugins.add(plugin._name);\n await Promise.all(unresolvedPlugins.map(async ([dependsOn, unexecutedPlugin]) => {\n if (dependsOn.has(plugin._name)) {\n dependsOn.delete(plugin._name);\n if (dependsOn.size === 0) {\n promiseDepth++;\n await executePlugin(unexecutedPlugin);\n }\n }\n }));\n }\n }).catch((e) => {\n if (!plugin.parallel && !nuxtApp.payload.error) {\n throw e;\n }\n error ||= e;\n });\n if (plugin.parallel) {\n parallels.push(promise);\n } else {\n await promise;\n }\n }\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n registerPluginHooks(nuxtApp, plugin);\n }\n for (const plugin of plugins) {\n if (import.meta.server && nuxtApp.ssrContext?.islandContext && plugin.env?.islands === false) {\n continue;\n }\n await executePlugin(plugin);\n }\n await Promise.all(parallels);\n if (promiseDepth) {\n for (let i = 0; i < promiseDepth; i++) {\n await Promise.all(parallels);\n }\n }\n if (error) {\n throw nuxtApp.payload.error || error;\n }\n}\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtPlugin(plugin) {\n if (typeof plugin === \"function\") {\n return plugin;\n }\n const _name = plugin._name || plugin.name;\n delete plugin.name;\n return Object.assign(plugin.setup || (() => {\n }), plugin, { [NuxtPluginIndicator]: true, _name });\n}\nexport const definePayloadPlugin = defineNuxtPlugin;\nexport function isNuxtPlugin(plugin) {\n return typeof plugin === \"function\" && NuxtPluginIndicator in plugin;\n}\nexport function callWithNuxt(nuxt, setup, args) {\n const fn = () => args ? setup(...args) : setup();\n const nuxtAppCtx = getNuxtAppCtx(nuxt._id);\n if (import.meta.server) {\n return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));\n } else {\n nuxtAppCtx.set(nuxt);\n return nuxt.vueApp.runWithContext(fn);\n }\n}\nexport function tryUseNuxtApp(id) {\n let nuxtAppInstance;\n if (hasInjectionContext()) {\n nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;\n }\n nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();\n return nuxtAppInstance || null;\n}\nexport function useNuxtApp(id) {\n const nuxtAppInstance = tryUseNuxtApp(id);\n if (!nuxtAppInstance) {\n if (import.meta.dev) {\n throw new Error(\"[nuxt] A composable that requires access to the Nuxt instance was called outside of a plugin, Nuxt hook, Nuxt middleware, or Vue setup function. This is probably not a Nuxt bug. Find out more at `https://nuxt.com/docs/4.x/guide/concepts/auto-imports#vue-and-nuxt-composables`.\");\n } else {\n throw new Error(\"[nuxt] instance unavailable\");\n }\n }\n return nuxtAppInstance;\n}\n// @__NO_SIDE_EFFECTS__\nexport function useRuntimeConfig(_event) {\n return useNuxtApp().$config;\n}\nfunction defineGetter(obj, key, val) {\n Object.defineProperty(obj, key, { get: () => val });\n}\nexport function defineAppConfig(config) {\n return config;\n}\nconst loggedKeys = /* @__PURE__ */ new Set();\nfunction wrappedConfig(runtimeConfig) {\n if (!import.meta.dev || import.meta.server) {\n return runtimeConfig;\n }\n const keys = [];\n for (const key in runtimeConfig) {\n keys.push(`\\`${key}\\``);\n }\n const lastKey = keys.pop();\n return new Proxy(runtimeConfig, {\n get(target, p, receiver) {\n if (typeof p === \"string\" && p !== \"public\" && !(p in target) && !p.startsWith(\"__v\")) {\n if (!loggedKeys.has(p)) {\n loggedKeys.add(p);\n console.warn(`[nuxt] Could not access \\`${p}\\`. The only available runtime config keys on the client side are ${keys.join(\", \")} and ${lastKey}. See https://nuxt.com/docs/4.x/guide/going-further/runtime-config for more information.`);\n }\n }\n return Reflect.get(target, p, receiver);\n }\n });\n}\n","export const LayoutMetaSymbol = Symbol(\"layout-meta\");\nexport const PageRouteSymbol = Symbol(\"route\");\n","import { captureStackTrace } from \"errx\";\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nconst distURL = import.meta.url.replace(/\\/app\\/.*$/, \"/\");\nexport function getUserTrace() {\n if (!import.meta.dev) {\n return [];\n }\n const trace = captureStackTrace();\n const start = trace.findIndex((entry) => !entry.source.startsWith(distURL));\n const end = [...trace].reverse().findIndex((entry) => !entry.source.includes(\"node_modules\") && !entry.source.startsWith(distURL));\n if (start === -1 || end === -1) {\n return [];\n }\n return trace.slice(start, -end).map((i) => ({\n ...i,\n source: i.source.replace(/^file:\\/\\//, \"\")\n }));\n}\nexport function getUserCaller() {\n if (!import.meta.dev) {\n return null;\n }\n const { source, line, column } = captureStackTrace().find((entry) => !entry.source.startsWith(distURL)) ?? {};\n if (!source) {\n return null;\n }\n return {\n source: source.replace(/^file:\\/\\//, \"\"),\n line,\n column\n };\n}\n","import { getCurrentInstance, hasInjectionContext, inject, onScopeDispose } from \"vue\";\nimport { sanitizeStatusCode } from \"h3\";\nimport { decodePath, encodePath, hasProtocol, isScriptProtocol, joinURL, parseQuery, parseURL, withQuery } from \"ufo\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { PageRouteSymbol } from \"../components/injections.js\";\nimport { createError, showError } from \"./error.js\";\nimport { getUserTrace } from \"../utils.js\";\nexport const useRouter = () => {\n return useNuxtApp()?.$router;\n};\nexport const useRoute = () => {\n if (import.meta.dev && !getCurrentInstance() && isProcessingMiddleware()) {\n const middleware = useNuxtApp()._processingMiddleware;\n const trace = getUserTrace().map(({ source, line, column }) => `at ${source}:${line}:${column}`).join(\"\\n\");\n console.warn(`[nuxt] \\`useRoute\\` was called within middleware${typeof middleware === \"string\" ? ` (\\`${middleware}\\`)` : \"\"}. This may lead to misleading results. Instead, use the (to, from) arguments passed to the middleware to access the new and old routes. Learn more: https://nuxt.com/docs/4.x/directory-structure/app/middleware#accessing-route-in-middleware` + (\"\\n\" + trace));\n }\n if (hasInjectionContext()) {\n return inject(PageRouteSymbol, useNuxtApp()._route);\n }\n return useNuxtApp()._route;\n};\nexport const onBeforeRouteLeave = (guard) => {\n const unsubscribe = useRouter().beforeEach((to, from, next) => {\n if (to === from) {\n return;\n }\n return guard(to, from, next);\n });\n onScopeDispose(unsubscribe);\n};\nexport const onBeforeRouteUpdate = (guard) => {\n const unsubscribe = useRouter().beforeEach(guard);\n onScopeDispose(unsubscribe);\n};\n// @__NO_SIDE_EFFECTS__\nexport function defineNuxtRouteMiddleware(middleware) {\n return middleware;\n}\nexport const addRouteMiddleware = (name, middleware, options = {}) => {\n const nuxtApp = useNuxtApp();\n const global = options.global || typeof name !== \"string\";\n const mw = typeof name !== \"string\" ? name : middleware;\n if (!mw) {\n console.warn(\"[nuxt] No route middleware passed to `addRouteMiddleware`.\", name);\n return;\n }\n if (global) {\n nuxtApp._middleware.global.push(mw);\n } else {\n nuxtApp._middleware.named[name] = mw;\n }\n};\nconst isProcessingMiddleware = () => {\n try {\n if (useNuxtApp()._processingMiddleware) {\n return true;\n }\n } catch {\n return false;\n }\n return false;\n};\nconst URL_QUOTE_RE = /\"/g;\nexport const navigateTo = (to, options) => {\n to ||= \"/\";\n const toPath = typeof to === \"string\" ? to : \"path\" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;\n if (import.meta.client && options?.open) {\n const { target = \"_blank\", windowFeatures = {} } = options.open;\n const features = [];\n for (const [feature, value] of Object.entries(windowFeatures)) {\n if (value !== void 0) {\n features.push(`${feature.toLowerCase()}=${value}`);\n }\n }\n open(toPath, target, features.join(\", \"));\n return Promise.resolve();\n }\n const isExternalHost = hasProtocol(toPath, { acceptRelative: true });\n const isExternal = options?.external || isExternalHost;\n if (isExternal) {\n if (!options?.external) {\n throw new Error(\"Navigating to an external URL is not allowed by default. Use `navigateTo(url, { external: true })`.\");\n }\n const { protocol } = new URL(toPath, import.meta.client ? window.location.href : \"http://localhost\");\n if (protocol && isScriptProtocol(protocol)) {\n throw new Error(`Cannot navigate to a URL with '${protocol}' protocol.`);\n }\n }\n const inMiddleware = isProcessingMiddleware();\n if (import.meta.client && !isExternal && inMiddleware) {\n if (options?.replace) {\n if (typeof to === \"string\") {\n const { pathname, search, hash } = parseURL(to);\n return {\n path: pathname,\n ...search && { query: parseQuery(search) },\n ...hash && { hash },\n replace: true\n };\n }\n return { ...to, replace: true };\n }\n return to;\n }\n const router = useRouter();\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (nuxtApp.ssrContext) {\n const fullPath = typeof to === \"string\" || isExternal ? toPath : router.resolve(to).fullPath || \"/\";\n const location2 = isExternal ? toPath : joinURL(useRuntimeConfig().app.baseURL, fullPath);\n const redirect = async function(response) {\n await nuxtApp.callHook(\"app:redirected\");\n const encodedLoc = location2.replace(URL_QUOTE_RE, \"%22\");\n const encodedHeader = encodeURL(location2, isExternalHost);\n nuxtApp.ssrContext[\"~renderResponse\"] = {\n statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),\n body: ``,\n headers: { location: encodedHeader }\n };\n return response;\n };\n if (!isExternal && inMiddleware) {\n router.afterEach((final) => final.fullPath === fullPath ? redirect(false) : void 0);\n return to;\n }\n return redirect(!inMiddleware ? void 0 : (\n /* abort route navigation */\n false\n ));\n }\n }\n if (isExternal) {\n nuxtApp._scope.stop();\n if (options?.replace) {\n location.replace(toPath);\n } else {\n location.href = toPath;\n }\n if (inMiddleware) {\n if (!nuxtApp.isHydrating) {\n return false;\n }\n return new Promise(() => {\n });\n }\n return Promise.resolve();\n }\n const encodedTo = typeof to === \"string\" ? encodeRoutePath(to) : to;\n return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);\n};\nexport const abortNavigation = (err) => {\n if (import.meta.dev && !isProcessingMiddleware()) {\n throw new Error(\"abortNavigation() is only usable inside a route middleware handler.\");\n }\n if (!err) {\n return false;\n }\n err = createError(err);\n if (err.fatal) {\n useNuxtApp().runWithContext(() => showError(err));\n }\n throw err;\n};\nexport const setPageLayout = (layout, props) => {\n const nuxtApp = useNuxtApp();\n if (import.meta.server) {\n if (import.meta.dev && getCurrentInstance() && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout on the server within a component as this will cause hydration errors.\");\n }\n nuxtApp.payload.state._layout = layout;\n nuxtApp.payload.state._layoutProps = props;\n }\n if (import.meta.dev && nuxtApp.isHydrating && nuxtApp.payload.serverRendered && nuxtApp.payload.state._layout !== layout) {\n console.warn(\"[warn] [nuxt] `setPageLayout` should not be called to change the layout during hydration as this will cause hydration errors.\");\n }\n const inMiddleware = isProcessingMiddleware();\n if (inMiddleware || import.meta.server || nuxtApp.isHydrating) {\n const unsubscribe = useRouter().beforeResolve((to) => {\n to.meta.layout = layout;\n to.meta.layoutProps = props;\n unsubscribe();\n });\n }\n if (!inMiddleware) {\n const route = useRoute();\n route.meta.layout = layout;\n route.meta.layoutProps = props;\n }\n};\nexport function resolveRouteObject(to) {\n return withQuery(to.path || \"\", to.query || {}) + (to.hash || \"\");\n}\nexport function encodeURL(location2, isExternalHost = false) {\n const url = new URL(location2, \"http://localhost\");\n if (!isExternalHost) {\n return url.pathname + url.search + url.hash;\n }\n if (location2.startsWith(\"//\")) {\n return url.toString().replace(url.protocol, \"\");\n }\n return url.toString();\n}\nexport function encodeRoutePath(url) {\n const parsed = parseURL(url);\n return encodePath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;\n}\n","import { createError as createH3Error } from \"h3\";\nimport { toRef } from \"vue\";\nimport { useNuxtApp } from \"../nuxt.js\";\nimport { useRouter } from \"./router.js\";\nexport const NUXT_ERROR_SIGNATURE = \"__nuxt_error\";\nexport const useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, \"error\");\nexport const showError = (error) => {\n const nuxtError = createError(error);\n try {\n const error2 = /* @__PURE__ */ useError();\n if (import.meta.client) {\n const nuxtApp = useNuxtApp();\n nuxtApp.hooks.callHook(\"app:error\", nuxtError);\n }\n error2.value ||= nuxtError;\n } catch {\n throw nuxtError;\n }\n return nuxtError;\n};\nexport const clearError = async (options = {}) => {\n const nuxtApp = useNuxtApp();\n const error = /* @__PURE__ */ useError();\n nuxtApp.callHook(\"app:error:cleared\", options);\n if (options.redirect) {\n await useRouter().replace(options.redirect);\n }\n error.value = void 0;\n};\nexport const isNuxtError = (error) => !!error && typeof error === \"object\" && NUXT_ERROR_SIGNATURE in error;\nexport const createError = (error) => {\n if (typeof error !== \"string\" && error.statusText) {\n error.message ??= error.statusText;\n }\n const nuxtError = createH3Error(error);\n Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {\n value: true,\n configurable: false,\n writable: false\n });\n Object.defineProperty(nuxtError, \"status\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusCode,\n configurable: true\n });\n Object.defineProperty(nuxtError, \"statusText\", {\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n get: () => nuxtError.statusMessage,\n configurable: true\n });\n return nuxtError;\n};\n","import { createHead as createClientHead, renderDOMHead } from \"@unhead/vue/client\";\nimport { defineNuxtPlugin } from \"#app/nuxt\";\nimport unheadOptions from \"#build/unhead-options.mjs\";\nexport default defineNuxtPlugin({\n name: \"nuxt:head\",\n enforce: \"pre\",\n setup(nuxtApp) {\n const head = import.meta.server ? nuxtApp.ssrContext.head : createClientHead(unheadOptions);\n nuxtApp.vueApp.use(head);\n if (import.meta.client) {\n let pauseDOMUpdates = true;\n const syncHead = async () => {\n pauseDOMUpdates = false;\n await renderDOMHead(head);\n };\n head.hooks.hook(\"dom:beforeRender\", (context) => {\n context.shouldRender = !pauseDOMUpdates;\n });\n nuxtApp.hooks.hook(\"page:start\", () => {\n pauseDOMUpdates = true;\n });\n nuxtApp.hooks.hook(\"page:finish\", () => {\n if (!nuxtApp.isHydrating) {\n syncHead();\n }\n });\n nuxtApp.hooks.hook(\"app:error\", syncHead);\n nuxtApp.hooks.hook(\"app:suspense:resolve\", syncHead);\n }\n }\n});\n","import { KeepAlive, h } from \"vue\";\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nconst interpolatePath = (route, match) => {\n return match.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n};\nexport const generateRouteKey = (routeProps, override) => {\n const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);\n const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));\n return typeof source === \"function\" ? source(routeProps.route) : source;\n};\nexport const wrapInKeepAlive = (props, children) => {\n return { default: () => import.meta.client && props ? h(KeepAlive, props === true ? {} : props, children) : children };\n};\nexport function toArray(value) {\n return Array.isArray(value) ? value : [value];\n}\n","\n import { defu } from 'defu'\n const matcher = (m,p)=>{return [];}\n export default (path) => defu({}, ...matcher('', path).map(r => r.data).reverse())\n ","import { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { appManifest as isAppManifestEnabled } from \"#build/nuxt.config.mjs\";\nimport { buildAssetsURL } from \"#internal/nuxt/paths\";\nimport _routeRulesMatcher from \"#build/route-rules.mjs\";\nconst routeRulesMatcher = _routeRulesMatcher;\nlet manifest;\nfunction fetchManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n manifest = import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n \"#app-manifest\"\n );\n } else {\n manifest = $fetch(buildAssetsURL(`builds/meta/${useRuntimeConfig().app.buildId}.json`), {\n responseType: \"json\"\n });\n }\n manifest.catch((e) => {\n console.error(\"[nuxt] Error fetching app manifest.\", e);\n });\n return manifest;\n}\nexport function getAppManifest() {\n if (!isAppManifestEnabled) {\n throw new Error(\"[nuxt] app manifest should be enabled with `experimental.appManifest`\");\n }\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~preloadManifest\"] = true;\n }\n return manifest || fetchManifest();\n}\nexport function getRouteRules(arg) {\n const path = typeof arg === \"string\" ? arg : arg.path;\n try {\n return routeRulesMatcher(path);\n } catch (e) {\n console.error(\"[nuxt] Error matching route rules.\", e);\n return {};\n }\n}\n","\nif (import.meta.hot) {\n import.meta.hot.accept((mod) => {\n const router = import.meta.hot.data.router\n const generateRoutes = import.meta.hot.data.generateRoutes\n if (!router || !generateRoutes) {\n import.meta.hot.invalidate('[nuxt] Cannot replace routes because there is no active router. Reloading.')\n return\n }\n const addedRoutes = router.getRoutes().filter(r => !r._initial)\n router.clearRoutes()\n const routes = generateRoutes(mod.default || mod)\n function addRoutes (routes) {\n for (const route of routes) {\n router.addRoute(route)\n }\n for (const route of router.getRoutes()) {\n route._initial = true\n }\n for (const route of addedRoutes) {\n router.addRoute(route)\n }\n router.isReady().then(() => {\n // Resolve the current path against the new routes to get updated meta\n const newRoute = router.resolve(router.currentRoute.value.fullPath)\n // Clear old meta values and assign new ones\n for (const key of Object.keys(router.currentRoute.value.meta)) {\n delete router.currentRoute.value.meta[key]\n }\n Object.assign(router.currentRoute.value.meta, newRoute.meta)\n })\n }\n if (routes && 'then' in routes) {\n routes.then(addRoutes)\n } else {\n addRoutes(routes)\n }\n })\n}\n\nexport function handleHotUpdate(_router, _generateRoutes) {\n if (import.meta.hot) {\n import.meta.hot.data ||= {}\n import.meta.hot.data.router = _router\n import.meta.hot.data.generateRoutes = _generateRoutes\n for (const route of _router.getRoutes()) {\n route._initial = true\n }\n }\n}\nimport { default as indexyEzZmaPNk7GJYtIrCNLRc1wdntiRCwVW0Wf9Ls7S6A8Meta } from \"/home/bennet/source/vat-api/app/pages/index.vue?macro=true\";\nexport default [\n {\n name: \"index\",\n path: \"/\",\n component: () => import(\"/home/bennet/source/vat-api/app/pages/index.vue\")\n }\n]","import { Transition, createStaticVNode, h } from \"vue\";\nimport { isString, isPromise, isArray, isObject } from \"@vue/shared\";\nimport { START_LOCATION } from \"#build/pages\";\nexport const _wrapInTransition = (props, children) => {\n return { default: () => import.meta.client && props ? h(Transition, props === true ? {} : props, children) : children.default?.() };\n};\nconst ROUTE_KEY_PARENTHESES_RE = /(:\\w+)\\([^)]+\\)/g;\nconst ROUTE_KEY_SYMBOLS_RE = /(:\\w+)[?+*]/g;\nconst ROUTE_KEY_NORMAL_RE = /:\\w+/g;\nfunction generateRouteKey(route) {\n const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, \"$1\").replace(ROUTE_KEY_SYMBOLS_RE, \"$1\").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || \"\");\n return typeof source === \"function\" ? source(route) : source;\n}\nexport function isChangingPage(to, from) {\n if (to === from || from === START_LOCATION) {\n return false;\n }\n if (generateRouteKey(to) !== generateRouteKey(from)) {\n return true;\n }\n const areComponentsSame = to.matched.every(\n (comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default\n );\n if (areComponentsSame) {\n return false;\n }\n return true;\n}\nexport function createBuffer() {\n let appendable = false;\n const buffer = [];\n return {\n getBuffer() {\n return buffer;\n },\n push(item) {\n const isStringItem = isString(item);\n if (appendable && isStringItem) {\n buffer[buffer.length - 1] += item;\n } else {\n buffer.push(item);\n }\n appendable = isStringItem;\n if (isPromise(item) || isArray(item) && item.hasAsync) {\n buffer.hasAsync = true;\n }\n }\n };\n}\nexport function vforToArray(source) {\n if (isArray(source)) {\n return source;\n } else if (isString(source)) {\n return source.split(\"\");\n } else if (typeof source === \"number\") {\n if (import.meta.dev && !Number.isInteger(source)) {\n console.warn(`The v-for range expect an integer value but got ${source}.`);\n }\n const array = [];\n for (let i = 0; i < source; i++) {\n array[i] = i;\n }\n return array;\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n return Array.from(\n source,\n (item) => item\n );\n } else {\n const keys = Object.keys(source);\n const array = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n array[i] = source[key];\n }\n return array;\n }\n }\n return [];\n}\nexport function getFragmentHTML(element, withoutSlots = false) {\n if (element) {\n if (element.nodeName === \"#comment\" && element.nodeValue === \"[\") {\n return getFragmentChildren(element, [], withoutSlots);\n }\n if (withoutSlots) {\n const clone = element.cloneNode(true);\n clone.querySelectorAll(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n return [clone.outerHTML];\n }\n return [element.outerHTML];\n }\n}\nfunction getFragmentChildren(element, blocks = [], withoutSlots = false) {\n if (element && element.nodeName) {\n if (isEndFragment(element)) {\n return blocks;\n } else if (!isStartFragment(element)) {\n const clone = element.cloneNode(true);\n if (withoutSlots) {\n clone.querySelectorAll?.(\"[data-island-slot]\").forEach((n) => {\n n.innerHTML = \"\";\n });\n }\n blocks.push(clone.outerHTML);\n }\n getFragmentChildren(element.nextSibling, blocks, withoutSlots);\n }\n return blocks;\n}\nexport function elToStaticVNode(el, staticNodeFallback) {\n const fragment = el ? getFragmentHTML(el) : staticNodeFallback ? [staticNodeFallback] : void 0;\n if (fragment) {\n return createStaticVNode(fragment.join(\"\"), fragment.length);\n }\n return h(\"div\");\n}\nexport function isStartFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"[\";\n}\nexport function isEndFragment(element) {\n return element.nodeName === \"#comment\" && element.nodeValue === \"]\";\n}\n","import { START_LOCATION } from \"vue-router\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { isChangingPage } from \"#app/components/utils\";\nimport { useRouter } from \"#app/composables/router\";\nexport default {\n scrollBehavior(to, from, savedPosition) {\n const nuxtApp = useNuxtApp();\n const hashScrollBehaviour = useRouter().options?.scrollBehaviorType ?? \"auto\";\n if (to.path.replace(/\\/$/, \"\") === from.path.replace(/\\/$/, \"\")) {\n if (from.hash && !to.hash) {\n return { left: 0, top: 0 };\n }\n if (to.hash) {\n return { el: to.hash, top: _getHashElementScrollMarginTop(to.hash), behavior: hashScrollBehaviour };\n }\n return false;\n }\n const routeAllowsScrollToTop = typeof to.meta.scrollToTop === \"function\" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop;\n if (routeAllowsScrollToTop === false) {\n return false;\n }\n const hookToWait = nuxtApp._runningTransition ? \"page:transition:finish\" : \"page:loading:end\";\n return new Promise((resolve) => {\n if (from === START_LOCATION) {\n resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour));\n return;\n }\n nuxtApp.hooks.hookOnce(hookToWait, () => {\n requestAnimationFrame(() => resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour)));\n });\n });\n }\n};\nfunction _getHashElementScrollMarginTop(selector) {\n try {\n const elem = document.querySelector(selector);\n if (elem) {\n return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop) || 0);\n }\n } catch {\n }\n return 0;\n}\nfunction _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {\n if (savedPosition) {\n return savedPosition;\n }\n const isPageNavigation = isChangingPage(to, from);\n if (to.hash) {\n return {\n el: to.hash,\n top: _getHashElementScrollMarginTop(to.hash),\n behavior: isPageNavigation ? defaultHashScrollBehaviour : \"instant\"\n };\n }\n return {\n left: 0,\n top: 0\n };\n}\n","import routerOptions0 from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/router.options.js\";\nconst configRouterOptions = {\n hashMode: false,\n scrollBehaviorType: \"auto\"\n}\nexport const hashMode = false\nexport default {\n...configRouterOptions,\n...routerOptions0,\n}","import { createError } from \"#app/composables/error\";\nimport { defineNuxtRouteMiddleware } from \"#app/composables/router\";\nexport default defineNuxtRouteMiddleware(async (to, from) => {\n if (!to.meta?.validate) {\n return;\n }\n const result = await Promise.resolve(to.meta.validate(to));\n if (result === true) {\n return;\n }\n const error = createError({\n fatal: import.meta.client,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n status: result && (result.status || result.statusCode) || 404,\n // eslint-disable-next-line @typescript-eslint/no-deprecated\n statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n });\n if (typeof window !== \"undefined\") {\n window.history.pushState({}, \"\", from.fullPath);\n }\n return error;\n});\n","import { hasProtocol } from \"ufo\";\nimport { defineNuxtRouteMiddleware } from \"../composables/router.js\";\nimport { getRouteRules } from \"../composables/manifest.js\";\nexport default defineNuxtRouteMiddleware((to) => {\n if (import.meta.server || import.meta.test) {\n return;\n }\n const rules = getRouteRules({ path: to.path });\n if (rules.redirect) {\n const path = rules.redirect.includes(\"#\") ? rules.redirect : rules.redirect + to.hash;\n if (hasProtocol(path, { acceptRelative: true })) {\n window.location.href = path;\n return false;\n }\n return path;\n }\n});\n","import validate from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/validate.js\";\nimport manifest_45route_45rule from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/app/middleware/route-rules.js\";\nexport const globalMiddleware = [\n validate,\n manifest_45route_45rule\n]\nexport const namedMiddleware = {}","import { isReadonly, reactive, shallowReactive, shallowRef } from \"vue\";\nimport { START_LOCATION, createMemoryHistory, createRouter, createWebHashHistory, createWebHistory } from \"vue-router\";\nimport { isSamePath, withoutBase } from \"ufo\";\nimport { toArray } from \"../utils.js\";\nimport { getRouteRules } from \"#app/composables/manifest\";\nimport { defineNuxtPlugin, useRuntimeConfig } from \"#app/nuxt\";\nimport { clearError, createError, isNuxtError, showError, useError } from \"#app/composables/error\";\nimport { navigateTo } from \"#app/composables/router\";\nimport _routes, { handleHotUpdate } from \"#build/routes\";\nimport routerOptions, { hashMode } from \"#build/router.options.mjs\";\nimport { globalMiddleware, namedMiddleware } from \"#build/middleware\";\nfunction createCurrentLocation(base, location, renderedPath) {\n const { pathname, search, hash } = location;\n const hashPos = base.indexOf(\"#\");\n if (hashPos > -1) {\n const slicePos = hash.includes(base.slice(hashPos)) ? base.slice(hashPos).length : 1;\n let pathFromHash = hash.slice(slicePos);\n if (pathFromHash[0] !== \"/\") {\n pathFromHash = \"/\" + pathFromHash;\n }\n return withoutBase(pathFromHash, \"\");\n }\n const displayedPath = withoutBase(pathname, base);\n const path = !renderedPath || isSamePath(displayedPath, renderedPath) ? displayedPath : renderedPath;\n return path + (path.includes(\"?\") ? \"\" : search) + hash;\n}\nconst plugin = defineNuxtPlugin({\n name: \"nuxt:router\",\n enforce: \"pre\",\n async setup(nuxtApp) {\n let routerBase = useRuntimeConfig().app.baseURL;\n if (hashMode && !routerBase.includes(\"#\")) {\n routerBase += \"#\";\n }\n const history = routerOptions.history?.(routerBase) ?? (import.meta.client ? hashMode ? createWebHashHistory(routerBase) : createWebHistory(routerBase) : createMemoryHistory(routerBase));\n const routes = routerOptions.routes ? await routerOptions.routes(_routes) ?? _routes : _routes;\n let startPosition;\n const router = createRouter({\n ...routerOptions,\n scrollBehavior: (to, from, savedPosition) => {\n if (from === START_LOCATION) {\n startPosition = savedPosition;\n return;\n }\n if (routerOptions.scrollBehavior) {\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n if (\"scrollRestoration\" in window.history) {\n const unsub = router.beforeEach(() => {\n unsub();\n window.history.scrollRestoration = \"manual\";\n });\n }\n return routerOptions.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);\n }\n },\n history,\n routes\n });\n if (import.meta.hot) {\n handleHotUpdate(router, routerOptions.routes ? routerOptions.routes : (routes2) => routes2);\n }\n if (import.meta.client && \"scrollRestoration\" in window.history) {\n window.history.scrollRestoration = \"auto\";\n }\n nuxtApp.vueApp.use(router);\n const previousRoute = shallowRef(router.currentRoute.value);\n router.afterEach((_to, from) => {\n previousRoute.value = from;\n });\n Object.defineProperty(nuxtApp.vueApp.config.globalProperties, \"previousRoute\", {\n get: () => previousRoute.value\n });\n const initialURL = import.meta.server ? nuxtApp.ssrContext.url : createCurrentLocation(routerBase, window.location, nuxtApp.payload.path);\n const _route = shallowRef(router.currentRoute.value);\n const syncCurrentRoute = () => {\n _route.value = router.currentRoute.value;\n };\n router.afterEach((to, from) => {\n if (to.matched.at(-1)?.components?.default === from.matched.at(-1)?.components?.default) {\n syncCurrentRoute();\n }\n });\n const route = { sync: syncCurrentRoute };\n for (const key in _route.value) {\n Object.defineProperty(route, key, {\n get: () => _route.value[key],\n enumerable: true\n });\n }\n nuxtApp._route = shallowReactive(route);\n nuxtApp._middleware ||= {\n global: [],\n named: {}\n };\n const error = useError();\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n router.afterEach(async (to, _from, failure) => {\n delete nuxtApp._processingMiddleware;\n if (import.meta.client && !nuxtApp.isHydrating && error.value) {\n await nuxtApp.runWithContext(clearError);\n }\n if (failure) {\n await nuxtApp.callHook(\"page:loading:end\");\n }\n if (import.meta.server && failure?.type === 4) {\n return;\n }\n if (import.meta.server && to.redirectedFrom && to.fullPath !== initialURL) {\n await nuxtApp.runWithContext(() => navigateTo(to.fullPath || \"/\"));\n }\n });\n }\n try {\n if (import.meta.server) {\n await router.push(initialURL);\n }\n await router.isReady();\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n const resolvedInitialRoute = import.meta.client && initialURL !== router.currentRoute.value.fullPath ? router.resolve(initialURL) : router.currentRoute.value;\n syncCurrentRoute();\n if (import.meta.server && nuxtApp.ssrContext?.islandContext) {\n return { provide: { router } };\n }\n const initialLayout = nuxtApp.payload.state._layout;\n router.beforeEach(async (to, from) => {\n await nuxtApp.callHook(\"page:loading:start\");\n to.meta = reactive(to.meta);\n if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) {\n to.meta.layout = initialLayout;\n }\n nuxtApp._processingMiddleware = true;\n if (import.meta.client || !nuxtApp.ssrContext?.islandContext) {\n const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);\n for (const component of to.matched) {\n const componentMiddleware = component.meta.middleware;\n if (!componentMiddleware) {\n continue;\n }\n for (const entry of toArray(componentMiddleware)) {\n middlewareEntries.add(entry);\n }\n }\n const routeRules = getRouteRules({ path: to.path });\n if (routeRules.appMiddleware) {\n for (const key in routeRules.appMiddleware) {\n if (routeRules.appMiddleware[key]) {\n middlewareEntries.add(key);\n } else {\n middlewareEntries.delete(key);\n }\n }\n }\n for (const entry of middlewareEntries) {\n const middleware = typeof entry === \"string\" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;\n if (!middleware) {\n if (import.meta.dev) {\n throw new Error(`Unknown route middleware: '${entry}'. Valid middleware: ${Object.keys(namedMiddleware).map((mw) => `'${mw}'`).join(\", \")}.`);\n }\n throw new Error(`Unknown route middleware: '${entry}'.`);\n }\n try {\n if (import.meta.dev) {\n nuxtApp._processingMiddleware = middleware._path || (typeof entry === \"string\" ? entry : true);\n }\n const result = await nuxtApp.runWithContext(() => middleware(to, from));\n if (import.meta.server || !nuxtApp.payload.serverRendered && nuxtApp.isHydrating) {\n if (result === false || result instanceof Error) {\n const error2 = result || createError({\n status: 404,\n statusText: `Page Not Found: ${initialURL}`\n });\n await nuxtApp.runWithContext(() => showError(error2));\n return false;\n }\n }\n if (result === true) {\n continue;\n }\n if (result === false) {\n return result;\n }\n if (result) {\n if (isNuxtError(result) && result.fatal) {\n await nuxtApp.runWithContext(() => showError(result));\n }\n return result;\n }\n } catch (err) {\n const error2 = createError(err);\n if (error2.fatal) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n return error2;\n }\n }\n }\n });\n router.onError(async () => {\n delete nuxtApp._processingMiddleware;\n await nuxtApp.callHook(\"page:loading:end\");\n });\n router.afterEach((to) => {\n if (to.matched.length === 0 && !error.value) {\n return nuxtApp.runWithContext(() => showError(createError({\n status: 404,\n fatal: false,\n statusText: `Page not found: ${to.fullPath}`,\n data: {\n path: to.fullPath\n }\n })));\n }\n });\n nuxtApp.hooks.hookOnce(\"app:created\", async () => {\n try {\n if (\"name\" in resolvedInitialRoute) {\n resolvedInitialRoute.name = void 0;\n }\n await router.replace({\n ...resolvedInitialRoute,\n force: true\n });\n router.options.scrollBehavior = routerOptions.scrollBehavior;\n } catch (error2) {\n await nuxtApp.runWithContext(() => showError(error2));\n }\n });\n return { provide: { router } };\n }\n});\nexport default plugin;\n","import { hasProtocol, joinURL } from \"ufo\";\nimport { parse } from \"devalue\";\nimport { getCurrentInstance, onServerPrefetch, reactive } from \"vue\";\nimport { useNuxtApp, useRuntimeConfig } from \"../nuxt.js\";\nimport { useHead } from \"./head.js\";\nimport { useRoute } from \"./router.js\";\nimport { getAppManifest, getRouteRules } from \"./manifest.js\";\nimport { appId, appManifest, multiApp, payloadExtraction, renderJsonPayloads } from \"#build/nuxt.config.mjs\";\nexport async function loadPayload(url, opts = {}) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n if (await shouldLoadPayload(url)) {\n const payloadURL = await _getPayloadURL(url, opts);\n return await _importPayload(payloadURL) || null;\n }\n return null;\n}\nlet linkRelType;\nfunction detectLinkRelType() {\n if (import.meta.server) {\n return \"preload\";\n }\n if (linkRelType) {\n return linkRelType;\n }\n const relList = document.createElement(\"link\").relList;\n linkRelType = relList && relList.supports && relList.supports(\"prefetch\") ? \"prefetch\" : \"preload\";\n return linkRelType;\n}\nexport function preloadPayload(url, opts = {}) {\n const nuxtApp = useNuxtApp();\n const promise = _getPayloadURL(url, opts).then((payloadURL) => {\n const link = renderJsonPayloads ? { rel: detectLinkRelType(), as: \"fetch\", crossorigin: \"anonymous\", href: payloadURL } : { rel: \"modulepreload\", crossorigin: \"\", href: payloadURL };\n if (import.meta.server) {\n nuxtApp.runWithContext(() => useHead({ link: [link] }));\n } else {\n const linkEl = document.createElement(\"link\");\n for (const key of Object.keys(link)) {\n linkEl[key === \"crossorigin\" ? \"crossOrigin\" : key] = link[key];\n }\n document.head.appendChild(linkEl);\n return new Promise((resolve, reject) => {\n linkEl.addEventListener(\"load\", () => resolve());\n linkEl.addEventListener(\"error\", () => reject());\n });\n }\n });\n if (import.meta.server) {\n onServerPrefetch(() => promise);\n }\n return promise;\n}\nconst filename = renderJsonPayloads ? \"_payload.json\" : \"_payload.js\";\nasync function _getPayloadURL(url, opts = {}) {\n const u = new URL(url, \"http://localhost\");\n if (u.host !== \"localhost\" || hasProtocol(u.pathname, { acceptRelative: true })) {\n throw new Error(\"Payload URL must not include hostname: \" + url);\n }\n const config = useRuntimeConfig();\n const hash = opts.hash || (opts.fresh ? Date.now() : config.app.buildId);\n const cdnURL = config.app.cdnURL;\n const baseOrCdnURL = cdnURL && await isPrerendered(url) ? cdnURL : config.app.baseURL;\n return joinURL(baseOrCdnURL, u.pathname, filename + (hash ? `?${hash}` : \"\"));\n}\nasync function _importPayload(payloadURL) {\n if (import.meta.server || !payloadExtraction) {\n return null;\n }\n const payloadPromise = renderJsonPayloads ? fetch(payloadURL, { cache: \"force-cache\" }).then((res) => res.text().then(parsePayload)) : import(\n /* webpackIgnore: true */\n /* @vite-ignore */\n payloadURL\n ).then((r) => r.default || r);\n try {\n return await payloadPromise;\n } catch (err) {\n console.warn(\"[nuxt] Cannot load payload \", payloadURL, err);\n }\n return null;\n}\nfunction _shouldLoadPrerenderedPayload(rules) {\n if (rules.redirect) {\n return false;\n }\n if (rules.prerender) {\n return true;\n }\n}\nasync function _isPrerenderedInManifest(url) {\n if (!appManifest) {\n return false;\n }\n url = url === \"/\" ? url : url.replace(/\\/$/, \"\");\n const manifest = await getAppManifest();\n return manifest.prerendered.includes(url);\n}\nexport async function shouldLoadPayload(url = useRoute().path) {\n const rules = getRouteRules({ path: url });\n const res = _shouldLoadPrerenderedPayload(rules);\n if (res !== void 0) {\n return res;\n }\n if (rules.payload) {\n return true;\n }\n return await _isPrerenderedInManifest(url);\n}\nexport async function isPrerendered(url = useRoute().path) {\n const res = _shouldLoadPrerenderedPayload(getRouteRules({ path: url }));\n if (res !== void 0) {\n return res;\n }\n return await _isPrerenderedInManifest(url);\n}\nlet payloadCache = null;\nexport async function getNuxtClientPayload() {\n if (import.meta.server) {\n return null;\n }\n if (payloadCache) {\n return payloadCache;\n }\n const el = multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\");\n if (!el) {\n return {};\n }\n const inlineData = await parsePayload(el.textContent || \"\");\n const externalData = el.dataset.src ? await _importPayload(el.dataset.src) : void 0;\n payloadCache = {\n ...inlineData,\n ...externalData,\n ...multiApp ? window.__NUXT__?.[appId] : window.__NUXT__\n };\n if (payloadCache.config?.public) {\n payloadCache.config.public = reactive(payloadCache.config.public);\n }\n return payloadCache;\n}\nexport async function parsePayload(payload) {\n return await parse(payload, useNuxtApp()._payloadRevivers);\n}\nexport function definePayloadReducer(name, reduce) {\n if (import.meta.server) {\n useNuxtApp().ssrContext[\"~payloadReducers\"][name] = reduce;\n }\n}\nexport function definePayloadReviver(name, revive) {\n if (import.meta.dev && getCurrentInstance()) {\n console.warn(\"[nuxt] [definePayloadReviver] This function must be called in a Nuxt plugin that is `unshift`ed to the beginning of the Nuxt plugins array.\");\n }\n if (import.meta.client) {\n useNuxtApp()._payloadRevivers[name] = revive;\n }\n}\n","import { isReactive, isRef, isShallow, toRaw } from \"vue\";\nimport { definePayloadReducer } from \"../composables/payload.js\";\nimport { isNuxtError } from \"../composables/error.js\";\nimport { defineNuxtPlugin } from \"../nuxt.js\";\nimport { componentIslands } from \"#build/nuxt.config.mjs\";\nimport { isValidIslandKey } from \"./utils.js\";\nconst reducers = [\n [\"NuxtError\", (data) => isNuxtError(data) && data.toJSON()],\n [\"EmptyShallowRef\", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"EmptyRef\", (data) => isRef(data) && !data.value && (typeof data.value === \"bigint\" ? \"0n\" : JSON.stringify(data.value) || \"_\")],\n [\"ShallowRef\", (data) => isRef(data) && isShallow(data) && data.value],\n [\"ShallowReactive\", (data) => isReactive(data) && isShallow(data) && toRaw(data)],\n [\"Ref\", (data) => isRef(data) && data.value],\n [\"Reactive\", (data) => isReactive(data) && toRaw(data)]\n];\nif (componentIslands) {\n reducers.push([\"Island\", (data) => data && data?.__nuxt_island && isValidIslandKey(data.__nuxt_island.key) && data.__nuxt_island]);\n}\nexport default defineNuxtPlugin({\n name: \"nuxt:revive-payload:server\",\n setup() {\n for (const [reducer, fn] of reducers) {\n definePayloadReducer(reducer, fn);\n }\n }\n});\n","\nimport { defineNuxtPlugin } from '#app/nuxt'\nexport default defineNuxtPlugin({\n name: 'nuxt:global-components',\n})\n","import unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/head/runtime/plugins/unhead.js\";\nimport router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/pages/runtime/plugins/router.js\";\nimport revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms from \"/home/bennet/source/vat-api/node_modules/nuxt/dist/app/plugins/revive-payload.server.js\";\nimport components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 from \"/home/bennet/source/vat-api/node_modules/.cache/nuxt/.nuxt/components.plugin.mjs\";\nexport default [\n unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,\n router_GNCWhvtYfLTYRZZ135CdFAEjxdMexN0ixiUYCAN_tpw,\n revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,\n components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8\n]","import { defineComponent, h, nextTick, onMounted, provide, shallowReactive } from \"vue\";\nimport { PageRouteSymbol } from \"./injections.js\";\nexport const defineRouteProvider = (name = \"RouteProvider\") => defineComponent({\n name,\n props: {\n route: {\n type: Object,\n required: true\n },\n vnode: Object,\n vnodeRef: Object,\n renderKey: String,\n trackRootNodes: Boolean\n },\n setup(props) {\n const previousKey = props.renderKey;\n const previousRoute = props.route;\n const route = {};\n for (const key in props.route) {\n Object.defineProperty(route, key, {\n get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],\n enumerable: true\n });\n }\n provide(PageRouteSymbol, shallowReactive(route));\n let vnode;\n if (import.meta.dev && import.meta.client && props.trackRootNodes) {\n onMounted(() => {\n nextTick(() => {\n if ([\"#comment\", \"#text\"].includes(vnode?.el?.nodeName)) {\n const filename = vnode?.type?.__file;\n console.warn(`[nuxt] \\`${filename}\\` does not have a single root node and will cause errors when navigating between routes.`);\n }\n });\n });\n }\n return () => {\n if (!props.vnode) {\n return props.vnode;\n }\n if (import.meta.dev && import.meta.client) {\n vnode = h(props.vnode, { ref: props.vnodeRef });\n return vnode;\n }\n return h(props.vnode, { ref: props.vnodeRef });\n };\n }\n});\nexport const RouteProvider = defineRouteProvider();\n","import { Fragment, Suspense, defineComponent, h, inject, nextTick, onBeforeUnmount, ref, watch } from \"vue\";\nimport { RouterView } from \"vue-router\";\nimport { defu } from \"defu\";\nimport { generateRouteKey, toArray, wrapInKeepAlive } from \"./utils.js\";\nimport { RouteProvider, defineRouteProvider } from \"#app/components/route-provider\";\nimport { useNuxtApp } from \"#app/nuxt\";\nimport { useRouter } from \"#app/composables/router\";\nimport { _wrapInTransition } from \"#app/components/utils\";\nimport { LayoutMetaSymbol, PageRouteSymbol } from \"#app/components/injections\";\nimport { appKeepalive as defaultKeepaliveConfig, appPageTransition as defaultPageTransition } from \"#build/nuxt.config.mjs\";\nconst _routeProviders = import.meta.dev ? /* @__PURE__ */ new Map() : /* @__PURE__ */ new WeakMap();\nexport default defineComponent({\n name: \"NuxtPage\",\n inheritAttrs: false,\n props: {\n name: {\n type: String\n },\n transition: {\n type: [Boolean, Object],\n default: void 0\n },\n keepalive: {\n type: [Boolean, Object],\n default: void 0\n },\n route: {\n type: Object\n },\n pageKey: {\n type: [Function, String],\n default: null\n }\n },\n setup(props, { attrs, slots, expose }) {\n const nuxtApp = useNuxtApp();\n const pageRef = ref();\n const forkRoute = inject(PageRouteSymbol, null);\n let previousPageKey;\n expose({ pageRef });\n const _layoutMeta = inject(LayoutMetaSymbol, null);\n let vnode;\n const done = nuxtApp.deferHydration();\n let isSuspensePending = false;\n let suspenseKey = 0;\n if (import.meta.client && nuxtApp.isHydrating) {\n const removeErrorHook = nuxtApp.hooks.hookOnce(\"app:error\", done);\n useRouter().beforeEach(removeErrorHook);\n }\n if (import.meta.client && props.pageKey) {\n watch(() => props.pageKey, (next, prev) => {\n if (next !== prev) {\n nuxtApp.callHook(\"page:loading:start\");\n }\n });\n }\n if (import.meta.dev) {\n nuxtApp._isNuxtPageUsed = true;\n }\n let pageLoadingEndHookAlreadyCalled = false;\n if (import.meta.client) {\n const unsub = useRouter().beforeResolve(() => {\n pageLoadingEndHookAlreadyCalled = false;\n });\n onBeforeUnmount(() => {\n unsub();\n done();\n });\n }\n return () => {\n return h(RouterView, { name: props.name, route: props.route, ...attrs }, {\n default: import.meta.server ? (routeProps) => {\n return h(Suspense, { suspensible: true }, {\n default() {\n return h(RouteProvider, {\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n vnodeRef: pageRef\n });\n }\n });\n } : (routeProps) => {\n const isRenderingNewRouteInOldFork = haveParentRoutesRendered(forkRoute, routeProps.route, routeProps.Component);\n const hasSameChildren = forkRoute && forkRoute.matched.length === routeProps.route.matched.length;\n if (!routeProps.Component) {\n if (vnode && !hasSameChildren) {\n return vnode;\n }\n done();\n return;\n }\n if (vnode && _layoutMeta && !_layoutMeta.isCurrent(routeProps.route)) {\n return vnode;\n }\n if (isRenderingNewRouteInOldFork && forkRoute && (!_layoutMeta || _layoutMeta?.isCurrent(forkRoute))) {\n if (hasSameChildren || vnode) {\n return vnode;\n }\n return null;\n }\n const key = generateRouteKey(routeProps, props.pageKey);\n const willRenderAnotherChild = hasChildrenRoutes(forkRoute, routeProps.route, routeProps.Component);\n if (!nuxtApp.isHydrating && previousPageKey === key && !willRenderAnotherChild) {\n nextTick(() => {\n if (!pageLoadingEndHookAlreadyCalled) {\n pageLoadingEndHookAlreadyCalled = true;\n nuxtApp.callHook(\"page:loading:end\");\n }\n });\n }\n if (isSuspensePending && previousPageKey !== key) {\n suspenseKey++;\n }\n previousPageKey = key;\n const hasTransition = !!(props.transition ?? routeProps.route.meta.pageTransition ?? defaultPageTransition);\n const transitionProps = hasTransition && _mergeTransitionProps([\n props.transition,\n routeProps.route.meta.pageTransition,\n defaultPageTransition,\n {\n onAfterLeave() {\n delete nuxtApp._runningTransition;\n nuxtApp.callHook(\"page:transition:finish\", routeProps.Component);\n }\n }\n ]);\n const keepaliveConfig = props.keepalive ?? routeProps.route.meta.keepalive ?? defaultKeepaliveConfig;\n vnode = _wrapInTransition(\n hasTransition && transitionProps,\n wrapInKeepAlive(\n keepaliveConfig,\n h(Suspense, {\n key: suspenseKey,\n suspensible: true,\n onPending: () => {\n isSuspensePending = true;\n if (hasTransition) {\n nuxtApp._runningTransition = true;\n }\n nuxtApp.callHook(\"page:start\", routeProps.Component);\n },\n onResolve: async () => {\n isSuspensePending = false;\n try {\n await nextTick();\n nuxtApp._route.sync?.();\n await nuxtApp.callHook(\"page:finish\", routeProps.Component);\n delete nuxtApp._runningTransition;\n if (!pageLoadingEndHookAlreadyCalled && !willRenderAnotherChild) {\n pageLoadingEndHookAlreadyCalled = true;\n await nuxtApp.callHook(\"page:loading:end\");\n }\n } finally {\n done();\n }\n }\n }, {\n default: () => {\n const routeProviderProps = {\n key: key || void 0,\n vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,\n route: routeProps.route,\n renderKey: key || void 0,\n trackRootNodes: hasTransition,\n vnodeRef: pageRef\n };\n if (!keepaliveConfig) {\n return h(RouteProvider, routeProviderProps);\n }\n const routerComponentType = routeProps.Component.type;\n const routeProviderKey = import.meta.dev ? routerComponentType.name || routerComponentType.__name : routerComponentType;\n let PageRouteProvider = _routeProviders.get(routeProviderKey);\n if (!PageRouteProvider) {\n PageRouteProvider = defineRouteProvider(routerComponentType.name || routerComponentType.__name);\n _routeProviders.set(routeProviderKey, PageRouteProvider);\n }\n return h(PageRouteProvider, routeProviderProps);\n }\n })\n )\n ).default();\n return vnode;\n }\n });\n };\n }\n});\nfunction _mergeTransitionProps(routeProps) {\n const _props = [];\n for (const prop of routeProps) {\n if (!prop) {\n continue;\n }\n _props.push({\n ...prop,\n onAfterLeave: prop.onAfterLeave ? toArray(prop.onAfterLeave) : void 0\n });\n }\n return defu(..._props);\n}\nfunction haveParentRoutesRendered(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n if (!index || index === -1) {\n return false;\n }\n return newRoute.matched.slice(0, index).some(\n (c, i) => c.components?.default !== fork.matched[i]?.components?.default\n ) || Component && generateRouteKey({ route: newRoute, Component }) !== generateRouteKey({ route: fork, Component });\n}\nfunction hasChildrenRoutes(fork, newRoute, Component) {\n if (!fork) {\n return false;\n }\n const index = newRoute.matched.findIndex((m) => m.components?.default === Component?.type);\n return index < newRoute.matched.length - 1;\n}\nfunction normalizeSlot(slot, data) {\n const slotContent = slot(data);\n return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);\n}\n","\n\n\n","\n\n\n","import { createApp, createSSRApp, nextTick } from \"vue\";\nimport \"#build/fetch.mjs\";\nimport \"#build/global-polyfills.mjs\";\nimport { applyPlugins, createNuxtApp } from \"./nuxt.js\";\nimport { createError } from \"./composables/error.js\";\nimport \"#build/css\";\nimport plugins from \"#build/plugins\";\nimport RootComponent from \"#build/root-component.mjs\";\nimport { appId, appSpaLoaderAttrs, multiApp, spaLoadingTemplateOutside, vueAppRootContainer } from \"#build/nuxt.config.mjs\";\nlet entry;\nif (import.meta.server) {\n entry = async function createNuxtAppServer(ssrContext) {\n const vueApp = createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp, ssrContext });\n try {\n await applyPlugins(nuxt, plugins);\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n } catch (error) {\n await nuxt.hooks.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n if (ssrContext && (ssrContext[\"~renderResponse\"] || ssrContext._renderResponse)) {\n throw new Error(\"skipping render\");\n }\n return vueApp;\n };\n}\nif (import.meta.client) {\n if (import.meta.dev && import.meta.webpackHot) {\n import.meta.webpackHot.accept();\n }\n let vueAppPromise;\n entry = async function initApp() {\n if (vueAppPromise) {\n return vueAppPromise;\n }\n const isSSR = Boolean(\n (multiApp ? window.__NUXT__?.[appId] : window.__NUXT__)?.serverRendered ?? (multiApp ? document.querySelector(`[data-nuxt-data=\"${appId}\"]`) : document.getElementById(\"__NUXT_DATA__\"))?.dataset.ssr === \"true\"\n );\n const vueApp = isSSR ? createSSRApp(RootComponent) : createApp(RootComponent);\n const nuxt = createNuxtApp({ vueApp });\n async function handleVueError(error) {\n await nuxt.callHook(\"app:error\", error);\n nuxt.payload.error ||= createError(error);\n }\n vueApp.config.errorHandler = handleVueError;\n nuxt.hook(\"app:suspense:resolve\", () => {\n if (vueApp.config.errorHandler === handleVueError) {\n vueApp.config.errorHandler = void 0;\n }\n });\n if (spaLoadingTemplateOutside && !isSSR && appSpaLoaderAttrs.id) {\n nuxt.hook(\"app:suspense:resolve\", () => {\n document.getElementById(appSpaLoaderAttrs.id)?.remove();\n });\n }\n try {\n await applyPlugins(nuxt, plugins);\n } catch (err) {\n handleVueError(err);\n }\n try {\n await nuxt.hooks.callHook(\"app:created\", vueApp);\n await nuxt.hooks.callHook(\"app:beforeMount\", vueApp);\n vueApp.mount(vueAppRootContainer);\n await nuxt.hooks.callHook(\"app:mounted\", vueApp);\n await nextTick();\n } catch (err) {\n handleVueError(err);\n }\n return vueApp;\n };\n vueAppPromise = entry().catch((error) => {\n console.error(\"Error while mounting app:\", error);\n throw error;\n });\n}\nexport default ((ssrContext) => entry(ssrContext));\n"],"version":3} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/dist/server/styles.mjs b/node_modules/.cache/nuxt/.nuxt/dist/server/styles.mjs deleted file mode 100644 index b55aac12..00000000 --- a/node_modules/.cache/nuxt/.nuxt/dist/server/styles.mjs +++ /dev/null @@ -1,7 +0,0 @@ -const interopDefault = r => r.default || r || [] -export default { - "../node_modules/nuxt/dist/app/components/error-404.vue": () => import('./_nuxt/error-404-styles.DuDrf-v0.mjs').then(interopDefault), - "../node_modules/nuxt/dist/app/components/error-500.vue": () => import('./_nuxt/error-500-styles.8IYEHzz6.mjs').then(interopDefault), - "../node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=204d37bf&lang.css": () => import('./_nuxt/error-404-styles.DuDrf-v0.mjs').then(interopDefault), - "../node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=d349100d&lang.css": () => import('./_nuxt/error-500-styles.8IYEHzz6.mjs').then(interopDefault) -} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/manifest/latest.json b/node_modules/.cache/nuxt/.nuxt/manifest/latest.json deleted file mode 100644 index e859e049..00000000 --- a/node_modules/.cache/nuxt/.nuxt/manifest/latest.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"6324e146-4419-48fd-9473-f44ec3cf0d83","timestamp":1771016374643} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json b/node_modules/.cache/nuxt/.nuxt/manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json deleted file mode 100644 index d4cd8bf4..00000000 --- a/node_modules/.cache/nuxt/.nuxt/manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"6324e146-4419-48fd-9473-f44ec3cf0d83","timestamp":1771016374643,"prerendered":[]} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/nuxt.d.ts b/node_modules/.cache/nuxt/.nuxt/nuxt.d.ts index 0adeca68..cf2ec9f3 100644 --- a/node_modules/.cache/nuxt/.nuxt/nuxt.d.ts +++ b/node_modules/.cache/nuxt/.nuxt/nuxt.d.ts @@ -1,7 +1,7 @@ /// -/// /// /// +/// /// /// /// diff --git a/node_modules/.cache/nuxt/.nuxt/nuxt.node.d.ts b/node_modules/.cache/nuxt/.nuxt/nuxt.node.d.ts index 94ed6f42..8cefe6f5 100644 --- a/node_modules/.cache/nuxt/.nuxt/nuxt.node.d.ts +++ b/node_modules/.cache/nuxt/.nuxt/nuxt.node.d.ts @@ -1,7 +1,7 @@ /// -/// /// /// +/// /// /// /// diff --git a/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.d.ts b/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.d.ts deleted file mode 100644 index d9d266ce..00000000 --- a/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export interface NuxtCustomSchema { - -} -export type CustomAppConfig = Exclude -type _CustomAppConfig = CustomAppConfig - -declare module '@nuxt/schema' { - interface NuxtConfig extends Omit {} - interface NuxtOptions extends Omit {} - interface CustomAppConfig extends _CustomAppConfig {} -} - -declare module 'nuxt/schema' { - interface NuxtConfig extends Omit {} - interface NuxtOptions extends Omit {} - interface CustomAppConfig extends _CustomAppConfig {} -} diff --git a/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.json b/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.json deleted file mode 100644 index 034ff697..00000000 --- a/node_modules/.cache/nuxt/.nuxt/schema/nuxt.schema.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "id": "#" -} \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/tailwind/postcss.mjs b/node_modules/.cache/nuxt/.nuxt/tailwind/postcss.mjs index f781f3d0..0e4dee3d 100644 --- a/node_modules/.cache/nuxt/.nuxt/tailwind/postcss.mjs +++ b/node_modules/.cache/nuxt/.nuxt/tailwind/postcss.mjs @@ -1,4 +1,4 @@ -// generated by the @nuxtjs/tailwindcss module at 2/13/2026, 9:59:34 PM +// generated by the @nuxtjs/tailwindcss module at 2/14/2026, 10:10:49 AM import "@nuxtjs/tailwindcss/config-ctx" import configMerger from "@nuxtjs/tailwindcss/merger"; diff --git a/node_modules/.cache/nuxt/.nuxt/tsconfig.app.json b/node_modules/.cache/nuxt/.nuxt/tsconfig.app.json index 4271c483..1ecc2739 100644 --- a/node_modules/.cache/nuxt/.nuxt/tsconfig.app.json +++ b/node_modules/.cache/nuxt/.nuxt/tsconfig.app.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json" + "./manifest/meta/6d3b88f2-3db7-437b-87fe-690483f96918.json" ], "#components": [ "./components" diff --git a/node_modules/.cache/nuxt/.nuxt/tsconfig.json b/node_modules/.cache/nuxt/.nuxt/tsconfig.json index af99d226..bac75b2c 100644 --- a/node_modules/.cache/nuxt/.nuxt/tsconfig.json +++ b/node_modules/.cache/nuxt/.nuxt/tsconfig.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json" + "./manifest/meta/6d3b88f2-3db7-437b-87fe-690483f96918.json" ], "#components": [ "./components" diff --git a/node_modules/.cache/nuxt/.nuxt/tsconfig.shared.json b/node_modules/.cache/nuxt/.nuxt/tsconfig.shared.json index 4e071b9b..d3e3287a 100644 --- a/node_modules/.cache/nuxt/.nuxt/tsconfig.shared.json +++ b/node_modules/.cache/nuxt/.nuxt/tsconfig.shared.json @@ -104,7 +104,7 @@ "./imports" ], "#app-manifest": [ - "./manifest/meta/6324e146-4419-48fd-9473-f44ec3cf0d83.json" + "./manifest/meta/6d3b88f2-3db7-437b-87fe-690483f96918.json" ], "#build": [ "." diff --git a/node_modules/.cache/nuxt/.nuxt/types/nitro-imports.d.ts b/node_modules/.cache/nuxt/.nuxt/types/nitro-imports.d.ts index 36c54207..f7d8c2af 100644 --- a/node_modules/.cache/nuxt/.nuxt/types/nitro-imports.d.ts +++ b/node_modules/.cache/nuxt/.nuxt/types/nitro-imports.d.ts @@ -15,11 +15,14 @@ declare global { const callNodeListener: typeof import('../../../../h3').callNodeListener const clearResponseHeaders: typeof import('../../../../h3').clearResponseHeaders const clearSession: typeof import('../../../../h3').clearSession + const closeDb: typeof import('../../../../../server/utils/mongodb').closeDb + const closeRedis: typeof import('../../../../../server/utils/redis').closeRedis const createApp: typeof import('../../../../h3').createApp const createAppEventHandler: typeof import('../../../../h3').createAppEventHandler const createError: typeof import('../../../../h3').createError const createEvent: typeof import('../../../../h3').createEvent const createEventStream: typeof import('../../../../h3').createEventStream + const createRedisClient: typeof import('../../../../../server/utils/redis').createRedisClient const createRouter: typeof import('../../../../h3').createRouter const defaultContentType: typeof import('../../../../h3').defaultContentType const defineAppConfig: typeof import('../../../../@nuxt/nitro-server/dist/runtime/utils/config').defineAppConfig @@ -47,12 +50,14 @@ declare global { const fromWebHandler: typeof import('../../../../h3').fromWebHandler const getAllRates: typeof import('../../../../../server/utils/vatRates').getAllRates const getCookie: typeof import('../../../../h3').getCookie + const getDb: typeof import('../../../../../server/utils/mongodb').getDb const getHeader: typeof import('../../../../h3').getHeader const getHeaders: typeof import('../../../../h3').getHeaders const getMethod: typeof import('../../../../h3').getMethod const getProxyRequestHeaders: typeof import('../../../../h3').getProxyRequestHeaders const getQuery: typeof import('../../../../h3').getQuery const getRateByCode: typeof import('../../../../../server/utils/vatRates').getRateByCode + const getRedis: typeof import('../../../../../server/utils/redis').getRedis const getRequestFingerprint: typeof import('../../../../h3').getRequestFingerprint const getRequestHeader: typeof import('../../../../h3').getRequestHeader const getRequestHeaders: typeof import('../../../../h3').getRequestHeaders @@ -83,6 +88,7 @@ declare global { const isStream: typeof import('../../../../h3').isStream const isWebResponse: typeof import('../../../../h3').isWebResponse const lazyEventHandler: typeof import('../../../../h3').lazyEventHandler + const logRequest: typeof import('../../../../../server/utils/requestLogger').logRequest const nitroPlugin: typeof import('../../../../nitropack/dist/runtime/internal/plugin').nitroPlugin const parseCookies: typeof import('../../../../h3').parseCookies const promisifyNodeListener: typeof import('../../../../h3').promisifyNodeListener @@ -135,6 +141,9 @@ declare global { export type { EventHandler, EventHandlerRequest, EventHandlerResponse, EventHandlerObject, H3EventContext } from '../../../../h3' import('../../../../h3') // @ts-ignore + export type { RequestLogEntry } from '../../../../../server/utils/requestLogger' + import('../../../../../server/utils/requestLogger') + // @ts-ignore export type { VatRateResponse } from '../../../../../server/utils/vatRates' import('../../../../../server/utils/vatRates') } @@ -152,4 +161,7 @@ export { defineTask, runTask } from 'nitropack/runtime/internal/task'; export { defineNitroErrorHandler } from 'nitropack/runtime/internal/error/utils'; export { buildAssetsURL as __buildAssetsURL, publicAssetsURL as __publicAssetsURL } from '/home/bennet/source/vat-api/node_modules/@nuxt/nitro-server/dist/runtime/utils/paths'; export { defineAppConfig } from '/home/bennet/source/vat-api/node_modules/@nuxt/nitro-server/dist/runtime/utils/config'; +export { getDb, closeDb } from '/home/bennet/source/vat-api/server/utils/mongodb'; +export { getRedis, createRedisClient, closeRedis } from '/home/bennet/source/vat-api/server/utils/redis'; +export { logRequest } from '/home/bennet/source/vat-api/server/utils/requestLogger'; export { getAllRates, getRateByCode } from '/home/bennet/source/vat-api/server/utils/vatRates'; \ No newline at end of file diff --git a/node_modules/.cache/nuxt/.nuxt/types/nitro-routes.d.ts b/node_modules/.cache/nuxt/.nuxt/types/nitro-routes.d.ts index 86d90074..44d059f4 100644 --- a/node_modules/.cache/nuxt/.nuxt/types/nitro-routes.d.ts +++ b/node_modules/.cache/nuxt/.nuxt/types/nitro-routes.d.ts @@ -3,6 +3,15 @@ import type { Serialize, Simplify } from "nitropack/types"; declare module "nitropack/types" { type Awaited = T extends PromiseLike ? Awaited : T interface InternalApi { + '/api/admin/login': { + 'post': Simplify>>> + } + '/api/admin/requests': { + 'get': Simplify>>> + } + '/api/admin/stats': { + 'get': Simplify>>> + } '/api/v1/rates/:code': { 'get': Simplify>>> } diff --git a/node_modules/.cache/nuxt/.nuxt/types/runtime-config.d.ts b/node_modules/.cache/nuxt/.nuxt/types/runtime-config.d.ts index 52538c0d..0b5ca0c7 100644 --- a/node_modules/.cache/nuxt/.nuxt/types/runtime-config.d.ts +++ b/node_modules/.cache/nuxt/.nuxt/types/runtime-config.d.ts @@ -12,6 +12,10 @@ import { RuntimeConfig as UserRuntimeConfig, PublicRuntimeConfig as UserPublicRu vatstackApiKey: string, + db: string, + + adminPassword: string, + nitro: { envPrefix: string, }, diff --git a/node_modules/.cache/vite/client/deps/_metadata.json b/node_modules/.cache/vite/client/deps/_metadata.json index 5c0d8a84..841e27a2 100644 --- a/node_modules/.cache/vite/client/deps/_metadata.json +++ b/node_modules/.cache/vite/client/deps/_metadata.json @@ -1,25 +1,25 @@ { - "hash": "5d0f798f", + "hash": "e7d1c9fa", "configHash": "0abaf243", - "lockfileHash": "19c8bc86", - "browserHash": "a321d57f", + "lockfileHash": "00c2deb1", + "browserHash": "46083ee2", "optimized": { "errx": { "src": "../../../../errx/dist/index.js", "file": "errx.js", - "fileHash": "5dd32b92", + "fileHash": "7d74e3df", "needsInterop": false }, "@vue/devtools-core": { "src": "../../../../@vue/devtools-core/dist/index.js", "file": "@vue_devtools-core.js", - "fileHash": "307e8ff7", + "fileHash": "1702c1a1", "needsInterop": false }, "@vue/devtools-kit": { "src": "../../../../@vue/devtools-kit/dist/index.js", "file": "@vue_devtools-kit.js", - "fileHash": "90e11ab0", + "fileHash": "257d05dc", "needsInterop": false } }, diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json index ad1d2994..cfae0553 100644 --- a/node_modules/.package-lock.json +++ b/node_modules/.package-lock.json @@ -753,6 +753,14 @@ "node": ">=18" } }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", + "integrity": "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g==", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", @@ -1883,6 +1891,19 @@ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "license": "MIT" }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" + }, + "node_modules/@types/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, "node_modules/@unhead/vue": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.4.tgz", @@ -2915,6 +2936,14 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", + "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", + "engines": { + "node": ">=20.19.0" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -4883,7 +4912,6 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.9.3.tgz", "integrity": "sha512-VI5tMCdeoxZWU5vjHWsiE/Su76JGhBvWF1MJnV9ZtGltHk9BmD48oDq8Tj8haZ85aceXZMxLNDQZRVo5QKNgXA==", - "license": "MIT", "dependencies": { "@ioredis/commands": "1.5.0", "cluster-key-slot": "^1.1.0", @@ -5713,6 +5741,11 @@ "node": ">= 0.6" } }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -5898,6 +5931,94 @@ "integrity": "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==", "license": "MIT" }, + "node_modules/mongodb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", + "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", + "dependencies": { + "@mongodb-js/saslprep": "^1.3.0", + "bson": "^7.1.1", + "mongodb-connection-string-url": "^7.0.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.806.0", + "@mongodb-js/zstd": "^7.0.0", + "gcp-metadata": "^7.0.1", + "kerberos": "^7.0.0", + "mongodb-client-encryption": ">=7.0.0 <7.1.0", + "snappy": "^7.3.2", + "socks": "^2.8.6" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz", + "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==", + "dependencies": { + "@types/whatwg-url": "^13.0.0", + "whatwg-url": "^14.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -7462,6 +7583,14 @@ "node": ">= 6" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/quansync": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", @@ -8228,6 +8357,14 @@ "node": ">=0.10.0" } }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, "node_modules/speakingurl": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", diff --git a/nuxt.config.ts b/nuxt.config.ts index 66a52c5c..1512ff27 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -21,6 +21,9 @@ export default defineNuxtConfig({ runtimeConfig: { vatstackApiKey: '', + db: '', + redisUrl: '', + adminPassword: '', }, app: { diff --git a/package-lock.json b/package-lock.json index aed90a21..00c68c1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,8 @@ "hasInstallScript": true, "dependencies": { "@oxc-parser/binding-linux-x64-gnu": "^0.112.0", + "ioredis": "^5.9.3", + "mongodb": "^7.1.0", "nuxt": "^4.0.0", "vue": "^3.5.13", "vue-router": "^4.5.0" @@ -1169,6 +1171,14 @@ "node": ">=18" } }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.4.6.tgz", + "integrity": "sha512-y+x3H1xBZd38n10NZF/rEBlvDOOMQ6LKUTHqr8R9VkJ+mmQOYtJFxIlkkK8fZrtOiL6VixbOBWMbZGBdal3Z1g==", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, "node_modules/@napi-rs/wasm-runtime": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", @@ -3682,6 +3692,19 @@ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "license": "MIT" }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==" + }, + "node_modules/@types/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, "node_modules/@unhead/vue": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.4.tgz", @@ -4714,6 +4737,14 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-7.2.0.tgz", + "integrity": "sha512-YCEo7KjMlbNlyHhz7zAZNDpIpQbd+wOEHJYezv0nMYTn4x31eIUM2yomNNubclAt63dObUzKHWsBLJ9QcZNSnQ==", + "engines": { + "node": ">=20.19.0" + } + }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -6696,7 +6727,6 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.9.3.tgz", "integrity": "sha512-VI5tMCdeoxZWU5vjHWsiE/Su76JGhBvWF1MJnV9ZtGltHk9BmD48oDq8Tj8haZ85aceXZMxLNDQZRVo5QKNgXA==", - "license": "MIT", "dependencies": { "@ioredis/commands": "1.5.0", "cluster-key-slot": "^1.1.0", @@ -7526,6 +7556,11 @@ "node": ">= 0.6" } }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -7711,6 +7746,94 @@ "integrity": "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==", "license": "MIT" }, + "node_modules/mongodb": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-7.1.0.tgz", + "integrity": "sha512-kMfnKunbolQYwCIyrkxNJFB4Ypy91pYqua5NargS/f8ODNSJxT03ZU3n1JqL4mCzbSih8tvmMEMLpKTT7x5gCg==", + "dependencies": { + "@mongodb-js/saslprep": "^1.3.0", + "bson": "^7.1.1", + "mongodb-connection-string-url": "^7.0.0" + }, + "engines": { + "node": ">=20.19.0" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.806.0", + "@mongodb-js/zstd": "^7.0.0", + "gcp-metadata": "^7.0.1", + "kerberos": "^7.0.0", + "mongodb-client-encryption": ">=7.0.0 <7.1.0", + "snappy": "^7.3.2", + "socks": "^2.8.6" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-7.0.1.tgz", + "integrity": "sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==", + "dependencies": { + "@types/whatwg-url": "^13.0.0", + "whatwg-url": "^14.1.0" + }, + "engines": { + "node": ">=20.19.0" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/tr46": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz", + "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==", + "dependencies": { + "punycode": "^2.3.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/mongodb-connection-string-url/node_modules/whatwg-url": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", + "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==", + "dependencies": { + "tr46": "^5.1.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/mrmime": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", @@ -9275,6 +9398,14 @@ "node": ">= 6" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, "node_modules/quansync": { "version": "0.2.11", "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz", @@ -10041,6 +10172,14 @@ "node": ">=0.10.0" } }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, "node_modules/speakingurl": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", diff --git a/package.json b/package.json index 6ddbe953..468043d9 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,8 @@ }, "dependencies": { "@oxc-parser/binding-linux-x64-gnu": "^0.112.0", + "ioredis": "^5.9.3", + "mongodb": "^7.1.0", "nuxt": "^4.0.0", "vue": "^3.5.13", "vue-router": "^4.5.0" diff --git a/server/api/admin/login.post.ts b/server/api/admin/login.post.ts new file mode 100644 index 00000000..3c9d71d5 --- /dev/null +++ b/server/api/admin/login.post.ts @@ -0,0 +1,28 @@ +import { signToken } from "../../middleware/adminAuth"; + +export default defineEventHandler(async (event) => { + const body = await readBody<{ password?: string }>(event); + const adminPassword = useRuntimeConfig().adminPassword; + + if (!adminPassword) { + throw createError({ statusCode: 500, statusMessage: "Admin password not configured" }); + } + + if (!body?.password || body.password !== adminPassword) { + throw createError({ statusCode: 401, statusMessage: "Invalid password" }); + } + + const payload = Date.now().toString(36); + const signature = signToken(payload); + const token = `${payload}.${signature}`; + + setCookie(event, "admin-session", token, { + httpOnly: true, + secure: process.env.NODE_ENV === "production", + sameSite: "strict", + maxAge: 60 * 60 * 24, // 24 hours + path: "/", + }); + + return { ok: true }; +}); diff --git a/server/api/admin/requests.get.ts b/server/api/admin/requests.get.ts new file mode 100644 index 00000000..3c68afaf --- /dev/null +++ b/server/api/admin/requests.get.ts @@ -0,0 +1,31 @@ +export default defineEventHandler(async (event) => { + const query = getQuery(event); + const page = Math.max(1, parseInt(query.page as string) || 1); + const limit = Math.min(100, Math.max(1, parseInt(query.limit as string) || 50)); + const ip = (query.ip as string) || undefined; + + const db = await getDb(); + const collection = db.collection("requests"); + + const filter: Record = {}; + if (ip) filter.ip = ip; + + const [requests, total] = await Promise.all([ + collection + .find(filter) + .sort({ timestamp: -1 }) + .skip((page - 1) * limit) + .limit(limit) + .project({ _id: 0 }) + .toArray(), + collection.countDocuments(filter), + ]); + + return { + requests, + total, + page, + limit, + totalPages: Math.ceil(total / limit), + }; +}); diff --git a/server/api/admin/stats.get.ts b/server/api/admin/stats.get.ts new file mode 100644 index 00000000..85f76058 --- /dev/null +++ b/server/api/admin/stats.get.ts @@ -0,0 +1,54 @@ +export default defineEventHandler(async () => { + const db = await getDb(); + const collection = db.collection("requests"); + + const now = new Date(); + const last24h = new Date(now.getTime() - 24 * 60 * 60 * 1000); + const last7d = new Date(now.getTime() - 7 * 24 * 60 * 60 * 1000); + const last30d = new Date(now.getTime() - 30 * 24 * 60 * 60 * 1000); + + const [totalRequests24h, totalRequests7d, totalRequests30d, uniqueIPs, topIPs, requestsByHour] = + await Promise.all([ + collection.countDocuments({ timestamp: { $gte: last24h.toISOString() } }), + collection.countDocuments({ timestamp: { $gte: last7d.toISOString() } }), + collection.countDocuments({ timestamp: { $gte: last30d.toISOString() } }), + collection + .distinct("ip", { timestamp: { $gte: last24h.toISOString() } }) + .then((ips) => ips.length), + collection + .aggregate([ + { $match: { timestamp: { $gte: last24h.toISOString() } } }, + { + $group: { + _id: "$ip", + count: { $sum: 1 }, + lastSeen: { $max: "$timestamp" }, + }, + }, + { $sort: { count: -1 } }, + { $limit: 20 }, + { $project: { _id: 0, ip: "$_id", count: 1, lastSeen: 1 } }, + ]) + .toArray(), + collection + .aggregate([ + { $match: { timestamp: { $gte: last24h.toISOString() } } }, + { + $group: { + _id: { $substr: ["$timestamp", 11, 2] }, + count: { $sum: 1 }, + }, + }, + { $sort: { _id: 1 } }, + { $project: { _id: 0, hour: "$_id", count: 1 } }, + ]) + .toArray(), + ]); + + return { + totalRequests: { last24h: totalRequests24h, last7d: totalRequests7d, last30d: totalRequests30d }, + uniqueIPs, + topIPs, + requestsByHour, + }; +}); diff --git a/server/middleware/adminAuth.ts b/server/middleware/adminAuth.ts new file mode 100644 index 00000000..a16e2643 --- /dev/null +++ b/server/middleware/adminAuth.ts @@ -0,0 +1,33 @@ +import { createHmac, timingSafeEqual } from "node:crypto"; + +function getSecret(): string { + return useRuntimeConfig().adminPassword || "changeme"; +} + +export function signToken(payload: string): string { + return createHmac("sha256", getSecret()).update(payload).digest("hex"); +} + +export function verifyToken(payload: string, signature: string): boolean { + const expected = signToken(payload); + try { + return timingSafeEqual(Buffer.from(expected), Buffer.from(signature)); + } catch { + return false; + } +} + +export default defineEventHandler((event) => { + const path = getRequestURL(event).pathname; + if (!path.startsWith("/api/admin/") || path === "/api/admin/login") return; + + const cookie = getCookie(event, "admin-session"); + if (!cookie) { + throw createError({ statusCode: 401, statusMessage: "Unauthorized" }); + } + + const [payload, signature] = cookie.split("."); + if (!payload || !signature || !verifyToken(payload, signature)) { + throw createError({ statusCode: 401, statusMessage: "Unauthorized" }); + } +}); diff --git a/server/middleware/requestLogger.ts b/server/middleware/requestLogger.ts new file mode 100644 index 00000000..452c986c --- /dev/null +++ b/server/middleware/requestLogger.ts @@ -0,0 +1,19 @@ +export default defineEventHandler((event) => { + const path = getRequestURL(event).pathname; + if (!path.startsWith("/api/v1/rates")) return; + + const ip = getRequestIP(event, { xForwardedFor: true }) ?? "127.0.0.1"; + const method = event.method; + const userAgent = getRequestHeader(event, "user-agent") ?? ""; + + event.node.res.on("finish", () => { + logRequest({ + ip, + path, + method, + statusCode: event.node.res.statusCode, + userAgent, + timestamp: new Date().toISOString(), + }); + }); +}); diff --git a/server/plugins/logWorker.ts b/server/plugins/logWorker.ts new file mode 100644 index 00000000..33fa0451 --- /dev/null +++ b/server/plugins/logWorker.ts @@ -0,0 +1,66 @@ +import { createRedisClient, closeRedis } from "../utils/redis"; +import { getDb, closeDb } from "../utils/mongodb"; + +export default defineNitroPlugin((nitro) => { + let running = true; + let workerRedis: ReturnType | null = null; + + const worker = async () => { + try { + workerRedis = createRedisClient(); + const db = await getDb(); + const collection = db.collection("requests"); + + while (running) { + const batch: Record[] = []; + const deadline = Date.now() + 2000; + + // Blocking pop — waits up to 5s for an item + const item = await workerRedis.brpop("request-logs", 5); + if (item) { + try { + batch.push(JSON.parse(item[1])); + } catch {} + } + + // Drain up to 49 more items non-blocking + while (batch.length < 50) { + const next = await workerRedis.rpop("request-logs"); + if (!next) break; + try { + batch.push(JSON.parse(next)); + } catch {} + } + + if (batch.length > 0) { + try { + await collection.insertMany(batch); + } catch (err) { + console.error("[logWorker] MongoDB insert failed:", err); + } + } + + // If we haven't hit the deadline and batch was small, wait a bit + const remaining = deadline - Date.now(); + if (remaining > 0 && batch.length < 10) { + await new Promise((r) => setTimeout(r, remaining)); + } + } + } catch (err) { + console.error("[logWorker] Worker error:", err); + } + }; + + // Start worker in background + worker(); + + nitro.hooks.hook("close", async () => { + running = false; + if (workerRedis) { + await workerRedis.quit(); + workerRedis = null; + } + await closeRedis(); + await closeDb(); + }); +}); diff --git a/server/utils/mongodb.ts b/server/utils/mongodb.ts new file mode 100644 index 00000000..3b63462a --- /dev/null +++ b/server/utils/mongodb.ts @@ -0,0 +1,30 @@ +import { MongoClient, type Db } from "mongodb"; + +let client: MongoClient | null = null; +let db: Db | null = null; + +export async function getDb(): Promise { + if (db) return db; + + const uri = useRuntimeConfig().db; + if (!uri) throw new Error("NUXT_DB is not configured"); + + client = new MongoClient(uri); + await client.connect(); + db = client.db("vat-api"); + + // Create indexes for the requests collection + const requests = db.collection("requests"); + await requests.createIndex({ timestamp: -1 }); + await requests.createIndex({ ip: 1, timestamp: -1 }); + + return db; +} + +export async function closeDb(): Promise { + if (client) { + await client.close(); + client = null; + db = null; + } +} diff --git a/server/utils/redis.ts b/server/utils/redis.ts new file mode 100644 index 00000000..5bc8541e --- /dev/null +++ b/server/utils/redis.ts @@ -0,0 +1,24 @@ +import Redis from "ioredis"; + +let redis: Redis | null = null; + +function getRedisUrl(): string { + return useRuntimeConfig().redisUrl || "redis://localhost:6379"; +} + +export function getRedis(): Redis { + if (redis) return redis; + redis = new Redis(getRedisUrl(), { maxRetriesPerRequest: null }); + return redis; +} + +export function createRedisClient(): Redis { + return new Redis(getRedisUrl(), { maxRetriesPerRequest: null }); +} + +export async function closeRedis(): Promise { + if (redis) { + await redis.quit(); + redis = null; + } +} diff --git a/server/utils/requestLogger.ts b/server/utils/requestLogger.ts new file mode 100644 index 00000000..aff978b7 --- /dev/null +++ b/server/utils/requestLogger.ts @@ -0,0 +1,17 @@ +export interface RequestLogEntry { + ip: string; + path: string; + method: string; + statusCode: number; + userAgent: string; + timestamp: string; +} + +export function logRequest(data: RequestLogEntry): void { + try { + const redis = getRedis(); + redis.lpush("request-logs", JSON.stringify(data)).catch(() => {}); + } catch { + // Never let logging break API responses + } +}