vue-router
Version:
> To see what versions are currently supported, please refer to the [Security Policy](./packages/router/SECURITY.md).
10 lines • 52.8 kB
JavaScript
/*!
* vue-router v5.2.0
* (c) 2026 Eduardo San Martin Morote
* @license MIT
*/
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("nostics"),t=require("vue"),n=require("@vue/devtools-api");const r=typeof document<`u`;function i(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function a(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&i(e.default)}const o=Object.assign;function s(e,t){let n={};for(let r in t){let i=t[r];n[r]=l(i)?i.map(e):e(i)}return n}const c=()=>{},l=Array.isArray;function u(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}const d=Symbol(process.env.NODE_ENV===`production`?``:`navigation failure`);let f=function(e){return e[e.aborted=4]=`aborted`,e[e.cancelled=8]=`cancelled`,e[e.duplicated=16]=`duplicated`,e}({});const p={1({location:e,currentLocation:t}){return`No match for\n ${JSON.stringify(e)}${t?`
while being at
`+JSON.stringify(t):``}`},2({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${_(t)}" via a navigation guard.`},4({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},8({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},16({from:e,to:t}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}};function m(e,t){if(process.env.NODE_ENV!==`production`||!0)return o(Error(p[e](t)),{type:e,[d]:!0},t)}function h(e,t){return e instanceof Error&&d in e&&(t==null||!!(e.type&t))}const g=[`params`,`query`,`hash`];function _(e){if(!e||typeof e==`string`)return e;if(e.path!=null)return e.path;let t={};for(let n of g)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}const v=(0,e.defineDiagnostics)({reporters:[(0,e.createConsoleReporter)()],codes:{VUE_ROUTER_R0001:{why:e=>`Parent route "${e.name}" not found when adding child route`,fix:`Add the parent route before its children, or check the parent name for typos.`,docs:`https://router.vuejs.org/guide/advanced/dynamic-routing.html#Adding-nested-routes`},VUE_ROUTER_R0002:{why:e=>`Cannot remove non-existent route "${e.name}"`,fix:`Check the route name; it may already have been removed or was never added.`,docs:`https://router.vuejs.org/guide/advanced/dynamic-routing.html#Removing-routes`},VUE_ROUTER_R0003:{why:e=>`Location "${_(e.location)}" resolved to "${e.href}". A resolved location cannot start with multiple slashes.`,fix:`Remove the leading slashes from the location or fix the route configuration.`},VUE_ROUTER_R0004:{why:e=>`No match found for location with path "${_(e.path)}"`,fix:`Add a route matching this path or check for typos in the location.`,docs:`https://router.vuejs.org/guide/essentials/dynamic-matching.html#Catch-all-404-Not-found-Route`},VUE_ROUTER_R0005:{why:e=>`router.resolve() was passed an invalid location. This will fail in production.\nLocation: ${_(e.rawLocation)}`,fix:"Pass a valid route location: a string path or an object with `path` or `name`."},VUE_ROUTER_R0006:{why:e=>`Path "${e.path}" was passed with params but they will be ignored because a "path" was passed.`,fix:"Use a named route `{ name, params }` instead of `{ path, params }`.",docs:`https://router.vuejs.org/guide/essentials/navigation.html#Navigate-to-a-different-location`},VUE_ROUTER_R0007:{why:e=>`A \`hash\` should always start with the character "#" but received "${e.hash}".`,fix:e=>`Prepend "#" to the hash in your route location: use "#${e.hash}".`},VUE_ROUTER_R0008:{why:e=>`Invalid redirect found:\n${e.target}\n when navigating to "${e.to}".\nThis will break in production.`,fix:"A redirect must resolve to a location with a `name` or `path`; return one of those (or a string path) from `redirect`.",docs:`https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Redirect`},VUE_ROUTER_R0009:{why:e=>`Detected a possibly infinite redirection in a navigation guard when going from "${e.from}" to "${e.to}". Aborting to avoid a Stack Overflow. This might break in production if not fixed.`,fix:`A guard is returning a new location on every call; make that return conditional so it only redirects when actually needed.`,docs:`https://router.vuejs.org/guide/advanced/navigation-guards.html#Global-Before-Guards`},VUE_ROUTER_R0010:{why:`Uncaught error during route navigation`,fix:"Register an error handler with `router.onError()` to handle navigation errors."},VUE_ROUTER_R0011:{why:`Unexpected error when starting the router:`,fix:`Inspect the actual cause; a navigation guard or async component likely threw during the initial navigation.`},VUE_ROUTER_R0020:{why:e=>`No active route record was found when calling \`${e.fn}()\`. Maybe you called it inside of App.vue?`,fix:`Call it from a component rendered inside <router-view> (a page component or one of its children), not from App.vue.`,docs:`https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards`},VUE_ROUTER_R0021:{why:`No active route record was found when reactivating component with navigation guard. This is likely a bug in vue-router.`,fix:`Report with a minimal reproduction at https://github.com/vuejs/router/issues/new/choose.`},VUE_ROUTER_R0022:{why:e=>`${e.fn}() was called outside of component setup but it must be called at the top of a setup function`,fix:"Call it synchronously at the top of `setup()`, before any `await`.",docs:`https://router.vuejs.org/guide/advanced/composition-api.html#Navigation-Guards`},VUE_ROUTER_R0023:{why:e=>`The "next" callback was never called inside of ${e.name?`"${e.name}"`:``}:\n${e.guard}`,fix:"Make sure `next()` runs on every branch, including early returns and async paths, or drop the `next` parameter and return the value instead.",docs:`https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next`},VUE_ROUTER_R0024:{why:e=>`The "next" callback was called more than once in one navigation guard when going from "${e.from}" to "${e.to}". This will fail in production.`,fix:"Call `next()` exactly once per guard: remove the extra call, or migrate to returning the value you passed to `next()`.",docs:`https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next`},VUE_ROUTER_R0025:{why:"The `next()` callback in navigation guards is deprecated.",fix:'Return the value instead: `next()` becomes `return`, `next(false)` becomes `return false`, `next("/path")` becomes `return "/path"`.',docs:`https://router.vuejs.org/guide/advanced/navigation-guards.html#Optional-third-argument-next`},VUE_ROUTER_R0026:{why:e=>`Record with path "${e.path}" is either missing a "component(s)" or "children" property.`,fix:"Add a `component`, `components`, or `children` to the route record.",docs:`https://router.vuejs.org/guide/essentials/nested-routes.html`},VUE_ROUTER_R0027:{why:e=>`Component "${e.name}" in record with path "${e.path}" is not a valid component. Received "${e.received}".`,fix:`Pass a component or a function returning a Promise that resolves to one.`},VUE_ROUTER_R0028:{why:e=>`Component "${e.name}" in record with path "${e.path}" is a Promise instead of a function that returns a Promise. This will break in production if not fixed.`,fix:`Defer the import in an arrow function so it loads lazily: write "() => import('./MyPage.vue')", not "import('./MyPage.vue')".`,docs:`https://router.vuejs.org/guide/advanced/lazy-loading.html`},VUE_ROUTER_R0029:{why:e=>`Component "${e.name}" in record with path "${e.path}" is defined using "defineAsyncComponent()".`,fix:`Drop the wrapper and pass "() => import('./MyPage.vue')" directly; the router handles lazy components itself.`,docs:`https://router.vuejs.org/guide/advanced/lazy-loading.html#Relationship-to-async-components`},VUE_ROUTER_R0030:{why:e=>`Component "${e.name}" in record with path "${e.path}" is a function that does not return a Promise. This will break in production if not fixed.`,fix:'Return a dynamic import (`() => import("./MyPage.vue")`) from the function, or add a `displayName` if it is a functional component.',docs:`https://router.vuejs.org/guide/advanced/lazy-loading.html`},VUE_ROUTER_R0040:{why:e=>`Because "${e.el}" starts with "#", scrollBehavior resolves it as an element id via document.getElementById("${e.el.slice(1)}"), not as a CSS selector. No element has that id, but "${e.el}" does match an element with document.querySelector().`,fix:e=>`Resolve the element yourself and return the node: el: document.querySelector('${e.el}').`,docs:`https://router.vuejs.org/guide/advanced/scroll-behavior.html`},VUE_ROUTER_R0041:{why:e=>`The selector "${e.el}" is invalid. See https://mathiasbynens.be/notes/css-escapes or CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape) for the escaping rules.`,fix:"Build an id selector as `#${CSS.escape(id)}` so special characters in the id are escaped.",docs:`https://router.vuejs.org/guide/advanced/scroll-behavior.html`},VUE_ROUTER_R0042:{why:e=>`Couldn't find element using selector "${e.el}" returned by scrollBehavior.`,fix:`Return a selector that matches an existing element, or guard against missing elements.`,docs:`https://router.vuejs.org/guide/advanced/scroll-behavior.html`},VUE_ROUTER_R0050:{why:e=>{let t;try{t=e.to===void 0?`undefined`:JSON.stringify(e.to)}catch{t=String(e.to)}return`Invalid value for prop "to" in useLink()\n- to: ${t}`},fix:`Pass a valid route location (a string path or an object) to the "to" prop.`},VUE_ROUTER_R0060:{why:e=>`<router-view> can no longer be used directly inside <${e.comp}>.`,fix:e=>`Wrap the slot's resolved component with <${e.comp}> instead of nesting <router-view> in it:\n\n<router-view v-slot="{ Component }">\n <${e.comp}>\n <component :is="Component" />\n </${e.comp}>\n</router-view>`,docs:`https://router.vuejs.org/guide/advanced/router-view-slot.html#KeepAlive-Transition`},VUE_ROUTER_R0070:{why:e=>`Cannot resolve a relative location without an absolute path. Trying to resolve "${e.to}" from "${e.from}".`,fix:e=>`Resolve from an absolute \`from\` path that starts with "/", e.g. "/${e.from}".`},VUE_ROUTER_R0080:{why:e=>`Error decoding "${e.text}". Using original value`,fix:`Ensure the value is correctly percent-encoded.`},VUE_ROUTER_R0090:{why:e=>`Found duplicated params with name "${e.name}" for path "${e.path}". Only the last one will be available on "$route.params".`,fix:`Give each param a unique name within the path.`,docs:`https://router.vuejs.org/guide/essentials/route-matching-syntax.html`},VUE_ROUTER_R0100:{why:e=>`Discarded invalid param(s) "${e.params}" when navigating.`+e.inherited+` See https://github.com/vuejs/router/commit/e887570 for more details.`,fix:`Only pass params that exist on the target route.`},VUE_ROUTER_R0101:{why:e=>`The Matcher cannot resolve relative paths but received "${e.path}". Unless you directly called \`matcher.resolve("${e.path}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`,fix:`Pass an absolute path (starting with "/") to the matcher.`},VUE_ROUTER_R0102:{why:e=>`Alias "${e.alias}" and the original record: "${e.original}" must have the exact same param named "${e.name}"`,fix:`Use the same param names in the alias as in the original route.`,docs:`https://router.vuejs.org/guide/essentials/redirect-and-alias.html#Alias`},VUE_ROUTER_R0103:{why:e=>`The route named "${e.name}" has a child without a name, an empty path, and no children. Using that name won't render the empty path child, so this is probably a mistake.`,fix:"Move the `name` onto the empty-path child; or, if intentional, give the child its own name to silence this.",docs:`https://router.vuejs.org/guide/essentials/nested-routes.html#Nested-Named-Routes`},VUE_ROUTER_R0104:{why:e=>`Absolute path "${e.path}" must have the exact same param named "${e.name}" as its parent "${e.parent}".`,fix:`Include the parent route params in the absolute child path.`,docs:`https://router.vuejs.org/guide/essentials/nested-routes.html`},VUE_ROUTER_R0105:{why:e=>`Finding ancestor route "${e.ancestor}" failed for "${e.record}"`,fix:`Report a reproduction at https://github.com/vuejs/router/issues/new/choose.`},VUE_ROUTER_R0110:{why:`A hash base must end with a "#"`,fix:e=>`Append "#" to the "base" argument passed to "createWebHashHistory()": "${e.base}" should be "${e.suggestion}".`},VUE_ROUTER_R0120:{why:`Error with push/replace State`,fix:`The browser rejected the history API call; check for cross-origin or rate-limit issues.`},VUE_ROUTER_R0121:{why:`history.state seems to have been manually replaced without preserving the necessary values.
You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`,fix:"Merge the router's state into your own when calling it manually: `history.replaceState({ ...history.state, ...yourState }, '', url)`.",docs:`https://router.vuejs.org/guide/migration.html#Usage-of-history-state`},VUE_ROUTER_R1001:{why:e=>`Data loader "${String(e.key)}" has a different parent than the current context. This shouldn't be happening.`,fix:`Report a bug with a minimal reproduction at https://github.com/vuejs/router/.`},VUE_ROUTER_R1002:{why:`Returning a NavigationResult is deprecated.`,fix:"Replace `return new NavigationResult(to)` with `reroute(to)`, which throws internally to reroute.",docs:`https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-`},VUE_ROUTER_R1003:{why:e=>`Loader "${e.key}"'s "commit()" was called but there is no staged data.`,fix:"Ensure the loader resolved before calling `commit()`.",docs:`https://router.vuejs.org/data-loaders/defining-loaders.html#Delaying-data-updates-with-commit`},VUE_ROUTER_R1004:{why:e=>`A loader returned a NavigationResult but is not registered on the route.`+e.key,fix:"Export the loader from the page component so it gets registered, e.g. `export const useUserData = defineLoader(...)`.",docs:`https://router.vuejs.org/data-loaders/organization.html`},VUE_ROUTER_R1005:{why:e=>`Data loader "${e.key}" has itself as parent. This shouldn't be happening.`,fix:`Report a bug with a minimal reproduction at https://github.com/vuejs/router/.`},VUE_ROUTER_R1006:{why:e=>`A query was defined with the same key as the loader "[${e.key}]".\nSee https://pinia-colada.esm.dev/#TODO`,fix:"If the key is meant to match, use the data loader directly; otherwise rename the `useQuery()` key so it no longer collides.",docs:`https://router.vuejs.org/data-loaders/colada.html`},VUE_ROUTER_R1007:{why:`Data Loader was setup twice.`,fix:"Register `DataLoaderPlugin` a single time via `app.use()`.",docs:`https://router.vuejs.org/data-loaders.html#Installation`},VUE_ROUTER_R1008:{why:`Data Loader is experimental and subject to breaking changes in the future.`,docs:`https://router.vuejs.org/data-loaders.html`},VUE_ROUTER_R1009:{why:`Returning a NavigationResult from a loader is deprecated.`,fix:"Call `reroute(to)` inside the loader instead of returning `new NavigationResult(to)`; it throws internally to reroute.",docs:`https://router.vuejs.org/data-loaders/navigation-aware.html#Controlling-the-navigation-with-reroute-`}}}),y=/#/g,b=/&/g,ee=/\//g,te=/=/g,ne=/\?/g,re=/\+/g,ie=/%5B/g,x=/%5D/g,S=/%5E/g,ae=/%60/g,C=/%7B/g,oe=/%7C/g,w=/%7D/g,T=/%20/g;function E(e){return e==null?``:encodeURI(``+e).replace(oe,`|`).replace(ie,`[`).replace(x,`]`)}function se(e){return E(e).replace(C,`{`).replace(w,`}`).replace(S,`^`)}function D(e){return E(e).replace(re,`%2B`).replace(T,`+`).replace(y,`%23`).replace(b,`%26`).replace(ae,"`").replace(C,`{`).replace(w,`}`).replace(S,`^`)}function ce(e){return D(e).replace(te,`%3D`)}function O(e){return E(e).replace(y,`%23`).replace(ne,`%3F`)}function le(e){return O(e).replace(ee,`%2F`)}function k(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{process.env.NODE_ENV!==`production`&&v.VUE_ROUTER_R0080({text:``+e})}return``+e}const ue=/\/$/,A=e=>e.replace(ue,``);function de(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=me(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:k(o)}}function fe(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function j(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function pe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&M(t.matched[r],n.matched[i])&&N(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function M(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function N(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!P(e[n],t[n]))return!1;return!0}function P(e,t){return l(e)?F(e,t):l(t)?F(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function F(e,t){return l(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function me(e,t){if(e.startsWith(`/`))return e;if(process.env.NODE_ENV!==`production`&&!t.startsWith(`/`))return v.VUE_ROUTER_R0070({to:e,from:t}),e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}const I={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function L(e){if(!e)if(r){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),A(e)}const R=/^[^#]+#/;function z(e,t){return e.replace(R,`#`)+t}function B(e,t){let 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 V=()=>({left:window.scrollX,top:window.scrollY});function he(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`);if(process.env.NODE_ENV!==`production`&&typeof e.el==`string`&&(!r||!document.getElementById(e.el.slice(1))))try{let t=document.querySelector(e.el);if(r&&t){v.VUE_ROUTER_R0040({el:e.el});return}}catch{v.VUE_ROUTER_R0041({el:e.el});return}let i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i){process.env.NODE_ENV!==`production`&&v.VUE_ROUTER_R0042({el:e.el});return}t=B(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function ge(e,t){return(history.state?history.state.position-t:-1)+e}const H=new Map;function _e(e,t){H.set(e,t)}function ve(e){let t=H.get(e);return H.delete(e),t}let U=()=>location.protocol+`//`+location.host;function W(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),j(n,``)}return j(n,e)+r+i}function ye(e,t,n,r){let i=[],a=[],s=null,c=({state:a})=>{let o=W(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=o,t.value=a,s&&s===c){s=null;return}u=l?a.position-l.position:0}else r(o);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function l(){s=n.value}function u(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function d(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(o({},e.state,{scroll:V()}),``)}}function f(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,c),window.removeEventListener(`pagehide`,d),document.removeEventListener(`visibilitychange`,d)}return window.addEventListener(`popstate`,c),window.addEventListener(`pagehide`,d),document.addEventListener(`visibilitychange`,d),{pauseListeners:l,listen:u,destroy:f}}function be(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?V():null}}function xe(e){let{history:t,location:n}=window,r={value:W(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:U()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){process.env.NODE_ENV===`production`?console.error(e):v.VUE_ROUTER_R0120({cause:e}),n[o?`replace`:`assign`](c)}}function s(e,n){a(e,o({},t.state,be(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function c(e,n){let s=o({},i.value,t.state,{forward:e,scroll:V()});process.env.NODE_ENV!==`production`&&!t.state&&v.VUE_ROUTER_R0121(),a(s.current,s,!0),a(e,o({},be(r.value,e,null),{position:s.position+1},n),!1),r.value=e}return{location:r,state:i,push:c,replace:s}}function Se(e){e=L(e);let t=xe(e),n=ye(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=o({location:``,base:e,go:r,createHref:z.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function Ce(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),process.env.NODE_ENV!==`production`&&!e.endsWith(`#/`)&&!e.endsWith(`#`)&&v.VUE_ROUTER_R0110({base:e,suggestion:e.replace(/#.*$/,`#`)}),Se(e)}function we(e=``){let t=[],n=[[``,{}]],r=0;e=L(e);function i(e,t={}){r++,r!==n.length&&n.splice(r),n.push([e,t])}function a(e,n,{direction:r,delta:i}){let a={direction:r,delta:i,type:`pop`};for(let r of t)r(e,n,a)}let o={location:``,state:{},base:e,createHref:z.bind(null,e),replace(e,t){n.splice(r--,1),i(e,t)},push(e,t){i(e,t)},listen(e){return t.push(e),()=>{let n=t.indexOf(e);n>-1&&t.splice(n,1)}},destroy(){t=[],n=[[``,{}]],r=0},go(e,t=!0){let i=this.location,o=e<0?`back`:`forward`;r=Math.max(0,Math.min(r+e,n.length-1)),t&&a(this.location,i,{direction:o,delta:e})}};return Object.defineProperty(o,"location",{enumerable:!0,get:()=>n[r][0]}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>n[r][1]}),o}function G(e){return typeof e==`string`||e&&typeof e==`object`}function Te(e){return typeof e==`string`||typeof e==`symbol`}const Ee={type:0,value:``},De=/[a-zA-Z0-9_]/;function Oe(e){if(!e)return[[]];if(e===`/`)return[[Ee]];if(!e.startsWith(`/`))throw Error(process.env.NODE_ENV===`production`?`Invalid path "${e}"`:`Route paths should start with a "/": "${e}" should be "/${e}".`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:De.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}const ke=`[^/]+?`,Ae={sensitive:!1,strict:!1,start:!0,end:!0},je=/[.+*?^${}()[\]/\\]/g;function Me(e,t){let n=o({},Ae,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(je,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||ke;if(u!==ke){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let s=new RegExp(i,n.sensitive?``:`i`);function c(e){let t=e.match(s),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function u(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(l(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let u=l(c)?c.join(`/`):c;if(!u)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=u}}return n||`/`}return{re:s,score:r,keys:a,parse:c,stringify:u}}function Ne(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function Pe(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Ne(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Fe(r))return 1;if(Fe(i))return-1}return i.length-r.length}function Fe(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const Ie={strict:!1,end:!0,sensitive:!1};function Le(e,t,n){let r=Me(Oe(e.path),n);if(process.env.NODE_ENV!==`production`){let t=new Set;for(let n of r.keys)t.has(n.name)&&v.VUE_ROUTER_R0090({name:n.name,path:e.path}),t.add(n.name)}let i=o(r,{record:e,parent:t,children:[],alias:[]});return t&&!i.record.aliasOf==!t.record.aliasOf&&t.children.push(i),i}function Re(e,t){let n=[],r=new Map;t=u(Ie,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,l=Be(e);process.env.NODE_ENV!==`production`&&Ke(l,n),l.aliasOf=r&&r.record;let f=u(t,e),p=[l];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)p.push(Be(o({},l,{components:r?r.record.components:l.components,path:e,aliasOf:r?r.record:l})))}let m,h;for(let t of p){let{path:o}=t;if(n&&o[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(o&&r+o)}if(process.env.NODE_ENV!==`production`&&t.path===`*`)throw Error(`Catch all routes ("*") must now be defined using a param with a custom regexp.
See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.`);if(m=Le(t,n,f),process.env.NODE_ENV!==`production`&&n&&o[0]===`/`&&Je(m,n),r?(r.alias.push(m),process.env.NODE_ENV!==`production`&&Ge(r,m)):(h||=m,h!==m&&h.alias.push(m),i&&e.name&&!He(m)&&(process.env.NODE_ENV!==`production`&&qe(e,n),s(e.name))),Ze(m)&&d(m),l.children){let e=l.children;for(let t=0;t<e.length;t++)a(e[t],m,r&&r.children[t])}r||=m}return h?()=>{s(h)}:c}function s(e){if(Te(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(s),t.alias.forEach(s))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(s),e.alias.forEach(s))}}function l(){return n}function d(e){let t=Ye(e,n);n.splice(t,0,e),e.record.name&&!He(e)&&r.set(e.record.name,e)}function f(e,t){let i,a={},s,c;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw m(1,{location:e});if(process.env.NODE_ENV!==`production`){let n=Object.keys(e.params||{}).filter(e=>!i.keys.find(t=>t.name===e));if(n.length){let e=!i.keys.length&&n.some(e=>e in t.params);v.VUE_ROUTER_R0100({params:n.join(`", "`),inherited:e?" If you are using a catch-all route with a named redirect, pass an empty `params` object: `redirect: { name: '...', params: {} }`.":``})}}c=i.record.name,a=o(ze(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&ze(e.params,i.keys.map(e=>e.name))),s=i.stringify(a)}else if(e.path!=null)s=e.path,process.env.NODE_ENV!==`production`&&!s.startsWith(`/`)&&v.VUE_ROUTER_R0101({path:s}),i=n.find(e=>e.re.test(s)),i&&(a=i.parse(s),c=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw m(1,{location:e,currentLocation:t});c=i.record.name,a=o({},t.params,e.params),s=i.stringify(a)}let l=[],u=i;for(;u;)l.unshift(u.record),u=u.parent;return{name:c,path:s,params:a,matched:l,meta:Ue(l)}}e.forEach(e=>a(e));function p(){n.length=0,r.clear()}return{addRoute:a,resolve:f,removeRoute:s,clearRoutes:p,getRoutes:l,getRecordMatcher:i}}function ze(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Be(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ve(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 Ve(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function He(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ue(e){return e.reduce((e,t)=>o(e,t.meta),{})}function We(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function Ge(e,t){for(let n of e.keys)if(!n.optional&&!t.keys.find(We.bind(null,n))){v.VUE_ROUTER_R0102({alias:t.record.path,original:e.record.path,name:n.name});return}for(let n of t.keys)if(!n.optional&&!e.keys.find(We.bind(null,n))){v.VUE_ROUTER_R0102({alias:t.record.path,original:e.record.path,name:n.name});return}}function Ke(e,t){t&&t.record.name&&!e.name&&!e.path&&e.children.length===0&&v.VUE_ROUTER_R0103({name:String(t.record.name)})}function qe(e,t){for(let n=t;n;n=n.parent)if(n.record.name===e.name)throw Error(`A route named "${String(e.name)}" has been added as a ${t===n?`child`:`descendant`} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`)}function Je(e,t){for(let n of t.keys)if(!e.keys.find(We.bind(null,n))){v.VUE_ROUTER_R0104({path:e.record.path,name:n.name,parent:t.record.path});return}}function Ye(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Pe(e,t[i])<0?r=i:n=i+1}let i=Xe(e);return i&&(r=t.lastIndexOf(i,r-1),process.env.NODE_ENV!==`production`&&r<0&&v.VUE_ROUTER_R0105({ancestor:i.record.path,record:e.record.path})),r}function Xe(e){let t=e;for(;t=t.parent;)if(Ze(t)&&Pe(e,t)===0)return t}function Ze({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qe(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(re,` `),i=r.indexOf(`=`),a=k(i<0?r:r.slice(0,i)),o=i<0?null:k(r.slice(i+1));if(a in t){let e=t[a];l(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function $e(e){let t=``;for(let n in e){let r=e[n];if(n=ce(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(l(r)?r.map(e=>e&&D(e)):[r&&D(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function et(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=l(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}const K=Symbol(process.env.NODE_ENV===`production`?``:`router view location matched`),tt=Symbol(process.env.NODE_ENV===`production`?``:`router view depth`),q=Symbol(process.env.NODE_ENV===`production`?``:`router`),J=Symbol(process.env.NODE_ENV===`production`?``:`route location`),Y=Symbol(process.env.NODE_ENV===`production`?``:`router view location`);function X(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function nt(e,n,r){let i=e.value;if(!i){if(process.env.NODE_ENV!==`production`){let e=n===`updateGuards`?`onBeforeRouteUpdate`:`onBeforeRouteLeave`;v.VUE_ROUTER_R0020({fn:e})}return}let a=i,o=()=>{a[n].delete(r)};(0,t.onUnmounted)(o),(0,t.onDeactivated)(o),(0,t.onActivated)(()=>{let t=e.value;process.env.NODE_ENV!==`production`&&!t&&v.VUE_ROUTER_R0021(),t&&(a=t),a[n].add(r)}),a[n].add(r)}function rt(e){if(process.env.NODE_ENV!==`production`&&!(0,t.getCurrentInstance)()){v.VUE_ROUTER_R0022({fn:`onBeforeRouteLeave`});return}nt((0,t.inject)(K,{}),`leaveGuards`,e)}function it(e){if(process.env.NODE_ENV!==`production`&&!(0,t.getCurrentInstance)()){v.VUE_ROUTER_R0022({fn:`onBeforeRouteUpdate`});return}nt((0,t.inject)(K,{}),`updateGuards`,e)}function Z(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(m(4,{from:n,to:t})):e instanceof Error?c(e):G(e)?c(m(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,process.env.NODE_ENV===`production`?l:at(ot(l,t,n)))),d=Promise.resolve(u);if(e.length<3&&(d=d.then(l)),process.env.NODE_ENV!==`production`&&e.length>2){let t={name:e.name,guard:e.toString()};if(typeof u==`object`&&`then`in u)d=d.then(e=>l._called?e:(v.VUE_ROUTER_R0023(t),Promise.reject(Error(`Invalid navigation guard`))));else if(u!==void 0&&!l._called){v.VUE_ROUTER_R0023(t),c(Error(`Invalid navigation guard`));return}}d.catch(e=>c(e))})}function at(e){let t=!1;return function(){return t||(t=!0,v.VUE_ROUTER_R0025()),e.apply(this,arguments)}}function ot(e,t,n){let r=0;return function(){r++===1&&v.VUE_ROUTER_R0024({from:n.fullPath,to:t.fullPath}),e._called=!0,r===1&&e.apply(null,arguments)}}function st(e,t,n,r,o=e=>e()){let s=[];for(let c of e){process.env.NODE_ENV!==`production`&&!c.components&&c.children&&!c.children.length&&v.VUE_ROUTER_R0026({path:c.path});for(let e in c.components){let l=c.components[e];if(process.env.NODE_ENV!==`production`){if(!l||typeof l!=`object`&&typeof l!=`function`)throw v.VUE_ROUTER_R0027({name:e,path:c.path,received:String(l)}),Error(`Invalid route component`);if(`then`in l){v.VUE_ROUTER_R0028({name:e,path:c.path});let t=l;l=()=>t}else l.__asyncLoader&&!l.__warnedDefineAsync&&(l.__warnedDefineAsync=!0,v.VUE_ROUTER_R0029({name:e,path:c.path}))}if(!(t!==`beforeRouteEnter`&&!c.instances[e]))if(i(l)){let i=(l.__vccOpts||l)[t];i&&s.push(Z(i,n,r,c,e,o))}else{let i=l();process.env.NODE_ENV!==`production`&&!(`catch`in i)&&(v.VUE_ROUTER_R0030({name:e,path:c.path}),i=Promise.resolve(i)),s.push(()=>i.then(i=>{if(!i)throw Error(`Couldn't resolve component "${e}" at "${c.path}"`);let s=a(i)?i.default:i;c.mods[e]=i,c.components[e]=s;let l=(s.__vccOpts||s)[t];return l&&Z(l,n,r,c,e,o)()}))}}}return s}function ct(e){return e.matched.every(e=>e.redirect)?Promise.reject(Error(`Cannot load a route that redirects.`)):Promise.all(e.matched.map(e=>e.components&&Promise.all(Object.keys(e.components).reduce((t,n)=>{let r=e.components[n];return typeof r==`function`&&!(`displayName`in r)&&t.push(r().then(t=>{if(!t)return Promise.reject(Error(`Couldn't resolve component "${n}" at "${e.path}". Ensure you passed a function that returns a promise.`));let r=a(t)?t.default:t;e.mods[n]=t,e.components[n]=r})),t},[])))).then(()=>e)}function lt(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>M(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>M(e,s))||i.push(s))}return[n,r,i]}function ut(e){let n=(0,t.inject)(q),i=(0,t.inject)(J),a=!1,o=null,s=(0,t.computed)(()=>{let r=(0,t.unref)(e.to);return process.env.NODE_ENV!==`production`&&(!a||r!==o)&&(G(r)||v.VUE_ROUTER_R0050({to:r}),o=r,a=!0),n.resolve(r)}),l=(0,t.computed)(()=>{let{matched:e}=s.value,{length:t}=e,n=e[t-1],r=i.matched;if(!n||!r.length)return-1;let a=r.findIndex(M.bind(null,n));if(a>-1)return a;let o=ht(e[t-2]);return t>1&&ht(n)===o&&r[r.length-1].path!==o?r.findIndex(M.bind(null,e[t-2])):a}),u=(0,t.computed)(()=>l.value>-1&&mt(i.params,s.value.params)),d=(0,t.computed)(()=>l.value>-1&&l.value===i.matched.length-1&&N(i.params,s.value.params));function f(r={}){if(pt(r)){let r=n[(0,t.unref)(e.replace)?`replace`:`push`]((0,t.unref)(e.to)).catch(c);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>r),r}return Promise.resolve()}if(process.env.NODE_ENV!==`production`&&r){let n=(0,t.getCurrentInstance)();if(n){let r={route:s.value,isActive:u.value,isExactActive:d.value,error:null};n.__vrl_devtools=n.__vrl_devtools||[],n.__vrl_devtools.push(r),(0,t.watchEffect)(()=>{r.route=s.value,r.isActive=u.value,r.isExactActive=d.value,r.error=G((0,t.unref)(e.to))?null:`Invalid "to" value`},{flush:`post`})}}return{route:s,href:(0,t.computed)(()=>s.value.href),isActive:u,isExactActive:d,navigate:f}}function dt(e){return e.length===1?e[0]:e}const ft=(0,t.defineComponent)({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:ut,setup(e,{slots:n}){let r=(0,t.reactive)(ut(e)),{options:i}=(0,t.inject)(q),a=(0,t.computed)(()=>({[gt(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[gt(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let i=n.default&&dt(n.default(r));return e.custom?i:(0,t.h)(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},i)}}});function pt(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){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function mt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!l(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function ht(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}const gt=(e,t,n)=>e??t??n,_t=(0,t.defineComponent)({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:n,slots:i}){process.env.NODE_ENV!==`production`&&bt();let a=(0,t.inject)(Y),s=(0,t.computed)(()=>e.route||a.value),c=(0,t.inject)(tt,0),u=(0,t.computed)(()=>{let e=(0,t.unref)(c),{matched:n}=s.value,r;for(;(r=n[e])&&!r.components;)e++;return e}),d=(0,t.computed)(()=>s.value.matched[u.value]);(0,t.provide)(tt,(0,t.computed)(()=>u.value+1)),(0,t.provide)(K,d),(0,t.provide)(Y,s);let f=(0,t.ref)();return(0,t.watch)(()=>[f.value,d.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!M(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let a=s.value,c=e.name,p=d.value,m=p&&p.components[c];if(!m)return vt(i.default,{Component:m,route:a});let h=p.props[c],g=h?h===!0?a.params:typeof h==`function`?h(a):h:null,_=(0,t.h)(m,o({},g,n,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(p.instances[c]=null)},ref:f}));if(process.env.NODE_ENV!==`production`&&r&&_.ref){let e={depth:u.value,name:p.name,path:p.path,meta:p.meta};(l(_.ref)?_.ref.map(e=>e.i):[_.ref.i]).forEach(t=>{t.__vrv_devtools=e})}return vt(i.default,{Component:_,route:a})||_}}});function vt(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}const yt=_t;function bt(){let e=(0,t.getCurrentInstance)(),n=e.parent&&e.parent.type.name,r=e.parent&&e.parent.subTree&&e.parent.subTree.type;if(n&&(n===`KeepAlive`||n.includes(`Transition`))&&typeof r==`object`&&r.name===`RouterView`){let e=n===`KeepAlive`?`keep-alive`:`transition`;v.VUE_ROUTER_R0060({comp:e})}}function Q(e,t){let n=o({},e,{matched:e.matched.map(e=>Lt(e,[`instances`,`children`,`aliasOf`]))});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function $(e){return{_custom:{display:e}}}let xt=0;function St(e,r,i){if(r.__hasDevtools)return;r.__hasDevtools=!0;let a=xt++;(0,n.setupDevtoolsPlugin)({id:`org.vuejs.router`+(a?`.`+a:``),label:`Vue Router`,packageName:`vue-router`,homepage:`https://router.vuejs.org`,logo:`https://router.vuejs.org/logo.png`,componentStateTypes:[`Routing`],app:e},n=>{n.on.inspectComponent(e=>{e.instanceData&&e.instanceData.state.push({type:`Routing`,key:`$route`,editable:!1,value:Q(r.currentRoute.value,`Current Route`)})}),n.on.visitComponentTree(({treeNode:e,componentInstance:t})=>{if(t.__vrv_devtools){let n=t.__vrv_devtools;e.tags.push({label:(n.name?`${n.name.toString()}: `:``)+n.path,textColor:0,tooltip:`This component is rendered by <router-view>`,backgroundColor:Tt})}l(t.__vrl_devtools)&&(t.__devtoolsApi=n,t.__vrl_devtools.forEach(t=>{let n=t.route.path,r=Ot,i=``,a=0;t.error?(n=t.error,r=kt,a=At):t.isExactActive?(r=Dt,i=`This is exactly active`):t.isActive&&(r=Et,i=`This link is active`),e.tags.push({label:n,textColor:a,tooltip:i,backgroundColor:r})}))}),(0,t.watch)(r.currentRoute,()=>{u(),n.notifyComponentUpdate(),n.sendInspectorTree(c),n.sendInspectorState(c)});let o=`router:navigations:`+a;n.addTimelineLayer({id:o,label:`Router${a?` `+a:``} Navigations`,color:4237508}),r.onError((e,t)=>{n.addTimelineEvent({layerId:o,event:{title:`Error during Navigation`,subtitle:t.fullPath,logType:`error`,time:n.now(),data:{error:e},groupId:t.meta.__navigationId}})});let s=0;r.beforeEach((e,t)=>{let r={guard:$(`beforeEach`),from:Q(t,`Current Location during this navigation`),to:Q(e,`Target location`)};Object.defineProperty(e.meta,"__navigationId",{value:s++}),n.addTimelineEvent({layerId:o,event:{time:n.now(),title:`Start of navigation`,subtitle:e.fullPath,data:r,groupId:e.meta.__navigationId}})}),r.afterEach((e,t,r)=>{let i={guard:$(`afterEach`)};r?(i.failure={_custom:{type:Error,readOnly:!0,display:r?r.message:``,tooltip:`Navigation Failure`,value:r}},i.status=$(`❌`)):i.status=$(`✅`),i.from=Q(t,`Current Location during this navigation`),i.to=Q(e,`Target location`),n.addTimelineEvent({layerId:o,event:{title:`End of navigation`,subtitle:e.fullPath,time:n.now(),data:i,logType:r?`warning`:`default`,groupId:e.meta.__navigationId}})});let c=`router-inspector:`+a;n.addInspector({id:c,label:`Routes`+(a?` `+a:``),icon:`book`,treeFilterPlaceholder:`Search routes`});function u(){if(!d)return;let e=d,t=i.getRoutes().filter(e=>!e.parent||!e.parent.record.components);t.forEach(Ft),e.filter&&(t=t.filter(t=>It(t,e.filter.toLowerCase()))),t.forEach(e=>Pt(e,r.currentRoute.value)),e.rootNodes=t.map(jt)}let d;n.on.getInspectorTree(t=>{d=t,t.app===e&&t.inspectorId===c&&u()}),n.on.getInspectorState(t=>{if(t.app===e&&t.inspectorId===c){let e=i.getRoutes().find(e=>e.record.__vd_id===t.nodeId);e&&(t.state={options:wt(e)})}}),n.sendInspectorTree(c),n.sendInspectorState(c)})}function Ct(e){return e.optional?e.repeatable?`*`:`?`:e.repeatable?`+`:``}function wt(e){let{record:t}=e,n=[{editable:!1,key:`path`,value:t.path}];return t.name!=null&&n.push({editable:!1,key:`name`,value:t.name}),n.push({editable:!1,key:`regexp`,value:e.re}),e.keys.length&&n.push({editable:!1,key:`keys`,value:{_custom:{type:null,readOnly:!0,display:e.keys.map(e=>`${e.name}${Ct(e)}`).join(` `),tooltip:`Param keys`,value:e.keys}}}),t.redirect!=null&&n.push({editable:!1,key:`redirect`,value:t.redirect}),e.alias.length&&n.push({editable:!1,key:`aliases`,value:e.alias.map(e=>e.record.path)}),Object.keys(e.record.meta).length&&n.push({editable:!1,key:`meta`,value:e.record.meta}),n.push({key:`score`,editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(e=>e.join(`, `)).join(` | `),tooltip:`Score used to sort routes`,value:e.score}}}),n}const Tt=15485081,Et=2450411,Dt=8702998,Ot=16486972,kt=16704226,At=12131356;function jt(e){let t=[],{record:n}=e;n.name!=null&&t.push({label:String(n.name),textColor:0,backgroundColor:2282478}),n.aliasOf&&t.push({label:`alias`,textColor:0,backgroundColor:Ot}),e.__vd_match&&t.push({label:`matches`,textColor:0,backgroundColor:Tt}),e.__vd_exactActive&&t.push({label:`exact`,textColor:0,backgroundColor:Dt}),e.__vd_active&&t.push({label:`active`,textColor:0,backgroundColor:Et}),n.redirect&&t.push({label:typeof n.redirect==`string`?`redirect: ${n.redirect}`:`redirects`,textColor:16777215,backgroundColor:6710886});let r=n.__vd_id;return r??(r=String(Mt++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map(jt)}}let Mt=0;const Nt=/^\/(.*)\/([a-z]*)$/;function Pt(e,t){let n=t.matched.length&&M(t.matched[t.matched.length-1],e.record);e.__vd_exactActive=e.__vd_active=n,n||(e.__vd_active=t.matched.some(t=>M(t,e.record))),e.children.forEach(e=>Pt(e,t))}function Ft(e){e.__vd_match=!1,e.children.forEach(Ft)}function It(e,t){let n=String(e.re).match(Nt);if(e.__vd_match=!1,!n||n.length<3)return!1;if(new RegExp(n[1].replace(/\$$/,``),n[2]).test(t))return e.children.forEach(e=>It(e,t)),e.record.path!==`/`||t===`/`?(e.__vd_match=e.re.test(t),!0):!1;let r=e.record.path.toLowerCase(),i=k(r);return!t.startsWith(`/`)&&(i.includes(t)||r.includes(t))||i.startsWith(t)||r.startsWith(t)||e.record.name&&String(e.record.name).includes(t)?!0:e.children.some(e=>It(e,t))}function Lt(e,t){let n={};for(let r in e)t.includes(r)||(n[r]=e[r]);return n}function Rt(e){let n=Re(e.routes,e),i=e.parseQuery||Qe,a=e.stringifyQuery||$e,u=e.history;if(process.env.NODE_ENV!==`production`&&!u)throw Error(`Provide the "history" option when calling "createRouter()": https://router.vuejs.org/api/interfaces/RouterOptions.html#history`);let d=X(),f=X(),p=X(),g=(0,t.shallowRef)(I),_=I;r&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let y=s.bind(null,e=>``+e),b=s.bind(null,le),ee=s.bind(null,k);function te(e,t){let r,i;return Te(e)?(r=n.getRecordMatcher(e),process.env.NODE_ENV!==`production`&&!r&&v.VUE_ROUTER_R0001({name:String(e)}),i=t):i=e,n.addRoute(i,r)}function ne(e){let t=n.getRecordMatcher(e);t?n.removeRoute(t):process.env.NODE_ENV!==`production`&&v.VUE_ROUTER_R0002({name:String(e)})}function re(){return n.getRoutes().map(e=>e.record)}function ie(e){return!!n.getRecordMatcher(e)}function x(e,t){if(t=o({},t||g.value),typeof e==`string`){let r=de(i,e,t.path),a=n.resolve({path:r.path},t),s=u.createHref(r.fullPath);return process.env.NODE_ENV!==`production`&&(s.startsWith(`//`)?v.VUE_ROUTER_R0003({location:e,href:s}):a.matched.length||v.VUE_ROUTER_R0004({path:e})),o(r,a,{params:ee(a.params),redirectedFrom:void 0,href:s})}if(process.env.NODE_ENV!==`production`&&!G(e))return v.VUE_ROUTER_R0005({rawLocation:e}),x({});let r;if(e.path!=null)process.env.NODE_ENV!==`production`&&`params`in e&&!(`name`in e)&&Object.keys(e.params).length&&v.VUE_ROUTER_R0006({path:e.path}),r=o({},e,{path:de(i,e.path,t.path).path});else{let n=o({},e.params);for(let e in n)n[e]??delete n[e];r=o({},e,{params:b(n)}),t.params=b(t.params)}let s=n.resolve(r,t),c=e.hash||``;process.env.NODE_ENV!==`production`&&c&&!c.startsWith(`#`)&&v.VUE_ROUTER_R0007({hash:c}),s.params=y(ee(s.params));let l=fe(a,o({},e,{hash:se(c),path:s.path})),d=u.createHref(l);return process.env.NODE_ENV!==`production`&&(d.startsWith(`//`)?v.VUE_ROUTER_R0003({location:e,href:d}):s.matched.length||v.VUE_ROUTER_R0004({path:e.path==null?e:e.path})),o({fullPath:l,hash:c,query:a===$e?et(e.query):e.query||{}},s,{redirectedFrom:void 0,href:d})}function S(e){return typeof e==`string`?de(i,e,g.value.path):o({},e)}function ae(e,t){if(_!==e)return m(8,{from:t,to:e})}function C(e){return T(e)}function oe(e){return C(o(S(e),{replace:!0}))}function w(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;if(typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=S(i):{path:i},i.params={}),process.env.NODE_ENV!==`production`&&i.path==null&&!(`name`in i))throw v.VUE_ROUTER_R0008({target:JSON.stringify(i,null,2),to:e.fullPath}),Error(`Invalid redirect`);return o({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function T(e,t){let n=_=x(e),r=g.value,i=e.state,s=e.force,c=e.replace===!0,l=w(n,r);if(l)return T(o(S(l),{state:typeof l==`object`?o({},i,l.state):i,force:s,replace:c}),t||n);let u=n;u.redirectedFrom=t;let d;return!s&&pe(a,r,n)&&(d=m(16,{to:u,from:r}),R(r,r,!0,!1)),(d?Promise.resolve(d):ce(u,r)).catch(e=>h(e)?h(e,2)?e:L(e):F(e,u,r)).then(e=>{if(e){if(h(e,2))return process.env.NODE_ENV!==`production`&&pe(a,x(e.to),u)&&t&&(t._count=t._count?t._count+1:1)>30?(v.VUE_ROUTER_R0009({from:r.fullPath,to:u.fullPath}),Promise.reject(Error(`Infinite redirect in navigation guard`))):T(o({replace:c},S(e.to),{state:typeof e.to==`object`?o({},i,e.to.state):i,force:s}),t||u)}else e=ue(u,r,!0,c,i);return O(u,r,e),e})}function E(e,t){let n=ae(e,t);return n?Promise.reject(n):Promise.resolve()}function D(e){let t=H.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function ce(e,t){let n,[r,i,a]=lt(e,t);n=st(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Z(r,e,t))});let o=E.bind(null,e,t);return n.push(o),W(n).then(()=>{n=[];for(let r of d.list())n.push(Z(r,e,t));return n.push(o),W(n)}).then(()=>{n=st(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Z(r,e,t))});return n.push(o),W(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(l(r.beforeEnter))for(let i of r.beforeEnter)n.push(Z(i,e,t));else n.push(Z(r.beforeEnter,e,t));return n.push(o),W(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=st(a,`beforeRouteEnter`,e,t,D),n.push(o),W(n))).then(()=>{n=[];for(let r of f.list())n.push(Z(r,e,t));return n.push(o),W(n)}).catch(e=>h(e,8)?e:Promise.reject(e))}function O(e,t,n){p.list().forEach(r=>D(()=>r(e,t,n)))}function ue(e,t,n,i,a){let s=ae(e,t);if(s)return s;let c=t===I,l=r?history.state:{};n&&(i||c?u.replace(e.fullPath,o({scroll:c&&l&&l.scroll},a)):u.push(e.fullPath,a)),g.value=e,R(e,t,n,c),L()}let A;function