From ae1573818617b963d257ed1e842eb34ad581f7d0 Mon Sep 17 00:00:00 2001 From: dwightjack Date: Wed, 20 Nov 2024 00:04:48 +0000 Subject: [PATCH] deploy: 1522df975caefd0e3d66783855e4ee34a0ebb030 --- 404.html | 9 +- advanced/custom-instance.html | 19 +- advanced/extending-vue-types.html | 19 +- advanced/typescript.html | 19 +- ...vanced_custom-instance.md.BhHWRemn.lean.js | 1 - ...> advanced_custom-instance.md.VAIxW2UG.js} | 4 +- ...vanced_custom-instance.md.VAIxW2UG.lean.js | 73 +++++ ...vanced_extending-vue-types.md.DKUpT8Vz.js} | 6 +- ...ed_extending-vue-types.md.DKUpT8Vz.lean.js | 208 +++++++++++++++ ...ed_extending-vue-types.md.ncFXH5sk.lean.js | 1 - ....js => advanced_typescript.md.BozNiqGA.js} | 4 +- .../advanced_typescript.md.BozNiqGA.lean.js | 119 +++++++++ .../advanced_typescript.md._64S16zB.lean.js | 1 - assets/app.BS6TttY2.js | 1 - assets/app.BoE9rui6.js | 1 + assets/chunks/framework.D25Vw4RT.js | 18 ++ assets/chunks/framework.Dr3U-I6a.js | 17 -- assets/chunks/theme.Z6jEv4e3.js | 1 + assets/chunks/theme.lg-f0D5T.js | 1 - ....js => guide_configuration.md.Bua8Nzk_.js} | 4 +- .../guide_configuration.md.Bua8Nzk_.lean.js | 10 + .../guide_configuration.md.DbZ-evHD.lean.js | 1 - ...K.js => guide_installation.md.CCNB_j3-.js} | 4 +- ...=> guide_installation.md.CCNB_j3-.lean.js} | 4 +- ...jYg.js => guide_namespaced.md.EtgPGufb.js} | 4 +- assets/guide_namespaced.md.EtgPGufb.lean.js | 82 ++++++ assets/guide_namespaced.md.njgj3jYg.lean.js | 1 - assets/guide_troubleshooting.md.4-ek-5jc.js | 1 - .../guide_troubleshooting.md.4-ek-5jc.lean.js | 1 - assets/guide_troubleshooting.md.wcse0jpO.js | 1 + .../guide_troubleshooting.md.wcse0jpO.lean.js | 1 + ...0Ph.js => guide_validators.md.BUc5SOYS.js} | 4 +- assets/guide_validators.md.BUc5SOYS.lean.js | 251 ++++++++++++++++++ assets/guide_validators.md.FJHl80Ph.lean.js | 1 - ...ex.md.CqAONvgu.js => index.md.BXX8PSRi.js} | 4 +- assets/index.md.BXX8PSRi.lean.js | 47 ++++ assets/index.md.CqAONvgu.lean.js | 1 - assets/style.B5cule38.css | 1 + assets/style.Bw6G4gr7.css | 1 - guide/configuration.html | 19 +- guide/installation.html | 19 +- guide/namespaced.html | 19 +- guide/troubleshooting.html | 17 +- guide/validators.html | 19 +- hashmap.json | 2 +- index.html | 19 +- vp-icons.css | 1 + 47 files changed, 928 insertions(+), 133 deletions(-) delete mode 100644 assets/advanced_custom-instance.md.BhHWRemn.lean.js rename assets/{advanced_custom-instance.md.BhHWRemn.js => advanced_custom-instance.md.VAIxW2UG.js} (90%) create mode 100644 assets/advanced_custom-instance.md.VAIxW2UG.lean.js rename assets/{advanced_extending-vue-types.md.ncFXH5sk.js => advanced_extending-vue-types.md.DKUpT8Vz.js} (91%) create mode 100644 assets/advanced_extending-vue-types.md.DKUpT8Vz.lean.js delete mode 100644 assets/advanced_extending-vue-types.md.ncFXH5sk.lean.js rename assets/{advanced_typescript.md._64S16zB.js => advanced_typescript.md.BozNiqGA.js} (97%) create mode 100644 assets/advanced_typescript.md.BozNiqGA.lean.js delete mode 100644 assets/advanced_typescript.md._64S16zB.lean.js delete mode 100644 assets/app.BS6TttY2.js create mode 100644 assets/app.BoE9rui6.js create mode 100644 assets/chunks/framework.D25Vw4RT.js delete mode 100644 assets/chunks/framework.Dr3U-I6a.js create mode 100644 assets/chunks/theme.Z6jEv4e3.js delete mode 100644 assets/chunks/theme.lg-f0D5T.js rename assets/{guide_configuration.md.DbZ-evHD.js => guide_configuration.md.Bua8Nzk_.js} (75%) create mode 100644 assets/guide_configuration.md.Bua8Nzk_.lean.js delete mode 100644 assets/guide_configuration.md.DbZ-evHD.lean.js rename assets/{guide_installation.md.BXQzoruK.js => guide_installation.md.CCNB_j3-.js} (89%) rename assets/{guide_installation.md.BXQzoruK.lean.js => guide_installation.md.CCNB_j3-.lean.js} (89%) rename assets/{guide_namespaced.md.njgj3jYg.js => guide_namespaced.md.EtgPGufb.js} (94%) create mode 100644 assets/guide_namespaced.md.EtgPGufb.lean.js delete mode 100644 assets/guide_namespaced.md.njgj3jYg.lean.js delete mode 100644 assets/guide_troubleshooting.md.4-ek-5jc.js delete mode 100644 assets/guide_troubleshooting.md.4-ek-5jc.lean.js create mode 100644 assets/guide_troubleshooting.md.wcse0jpO.js create mode 100644 assets/guide_troubleshooting.md.wcse0jpO.lean.js rename assets/{guide_validators.md.FJHl80Ph.js => guide_validators.md.BUc5SOYS.js} (98%) create mode 100644 assets/guide_validators.md.BUc5SOYS.lean.js delete mode 100644 assets/guide_validators.md.FJHl80Ph.lean.js rename assets/{index.md.CqAONvgu.js => index.md.BXX8PSRi.js} (78%) create mode 100644 assets/index.md.BXX8PSRi.lean.js delete mode 100644 assets/index.md.CqAONvgu.lean.js create mode 100644 assets/style.B5cule38.css delete mode 100644 assets/style.Bw6G4gr7.css create mode 100644 vp-icons.css diff --git a/404.html b/404.html index eda3993a..f043c50a 100644 --- a/404.html +++ b/404.html @@ -5,17 +5,18 @@ 404 | VueTypes - - + + + - +
- + \ No newline at end of file diff --git a/advanced/custom-instance.html b/advanced/custom-instance.html index c8cc18f8..9f9ccb0c 100644 --- a/advanced/custom-instance.html +++ b/advanced/custom-instance.html @@ -5,19 +5,20 @@ Custom namespaced instance | VueTypes - - + + + - + - - - + + + -
Skip to content

Custom namespaced instance

The sensibleDefaults and extend features let you customize the library to better fit into your project.

Anyway, they come with a downside: because they mutate the same VueTypes object, applications sharing the same module (ie: importing the same library instance from node_modules) might alter one another the behavior of validators.

For example suppose we have a library core and an application ui both using VueTypes. In core we define a custom default and use it:

js
// core/types.js
+    
Skip to content

Custom namespaced instance

The sensibleDefaults and extend features let you customize the library to better fit into your project.

Anyway, they come with a downside: because they mutate the same VueTypes object, applications sharing the same module (ie: importing the same library instance from node_modules) might alter one another the behavior of validators.

For example suppose we have a library core and an application ui both using VueTypes. In core we define a custom default and use it:

js
// core/types.js
 import VueTypes from 'vue-types'
 
 VueTypes.sensibleDefaults = {
@@ -89,8 +90,8 @@
       validator: (v) => v > 0,
     })
   }
-}
- +}
+ \ No newline at end of file diff --git a/advanced/extending-vue-types.html b/advanced/extending-vue-types.html index 9f41a5ed..3c452358 100644 --- a/advanced/extending-vue-types.html +++ b/advanced/extending-vue-types.html @@ -5,19 +5,20 @@ Extending VueTypes | VueTypes - - + + + - + - - - + + + -
Skip to content

Extending VueTypes

Standalone custom validators

The toType, toValidableType and fromType functions can be used to create custom standalone validators. Indeed, they are used internally by vue-types in native and custom validators.

Custom validators from scratch

In the following example we define a validator for positive numbers:

js
const positive = () =>
+    
Skip to content

Extending VueTypes

Standalone custom validators

The toType, toValidableType and fromType functions can be used to create custom standalone validators. Indeed, they are used internally by vue-types in native and custom validators.

Custom validators from scratch

In the following example we define a validator for positive numbers:

js
const positive = () =>
   toType('positive', {
     type: Number,
     validator: (v) => v >= 0,
@@ -224,8 +225,8 @@
     count: VueTypes.positive,
   },
 })
-</script>
- +</script>
+ \ No newline at end of file diff --git a/advanced/typescript.html b/advanced/typescript.html index 51d85193..5ef467c0 100644 --- a/advanced/typescript.html +++ b/advanced/typescript.html @@ -5,19 +5,20 @@ TypeScript Usage | VueTypes - - + + + - + - - - + + + -
Skip to content

TypeScript Usage

VueTypes is written in TypeScript and comes with full builtin types support.

Most of the validators can infer the prop type from their configuration:

ts
props: {
+    
Skip to content

TypeScript Usage

VueTypes is written in TypeScript and comes with full builtin types support.

Most of the validators can infer the prop type from their configuration:

ts
props: {
   // prop type is `string`
   name: string(),
   // ERROR: Argument of type 'boolean' is not assignable to parameter of type 'string'
@@ -135,8 +136,8 @@
 }

As a general rule, we strongly suggest to use const assertions whenever possible.

ts
props: {
   // type checker and runtime error
   sizes: oneOf(['large'] as const).def('medium')
-}
- +} + \ No newline at end of file diff --git a/assets/advanced_custom-instance.md.BhHWRemn.lean.js b/assets/advanced_custom-instance.md.BhHWRemn.lean.js deleted file mode 100644 index 9b21cfcf..00000000 --- a/assets/advanced_custom-instance.md.BhHWRemn.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const y=JSON.parse('{"title":"Custom namespaced instance","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/custom-instance.md","filePath":"advanced/custom-instance.md","lastUpdated":1732060631000}'),e={name:"advanced/custom-instance.md"},p=n("",19),t=[p];function l(h,k,d,r,c,E){return a(),i("div",null,t)}const g=s(e,[["render",l]]);export{y as __pageData,g as default}; diff --git a/assets/advanced_custom-instance.md.BhHWRemn.js b/assets/advanced_custom-instance.md.VAIxW2UG.js similarity index 90% rename from assets/advanced_custom-instance.md.BhHWRemn.js rename to assets/advanced_custom-instance.md.VAIxW2UG.js index 837ca71c..b7f8080a 100644 --- a/assets/advanced_custom-instance.md.BhHWRemn.js +++ b/assets/advanced_custom-instance.md.VAIxW2UG.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const y=JSON.parse('{"title":"Custom namespaced instance","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/custom-instance.md","filePath":"advanced/custom-instance.md","lastUpdated":1732060631000}'),e={name:"advanced/custom-instance.md"},p=n(`

Custom namespaced instance

The sensibleDefaults and extend features let you customize the library to better fit into your project.

Anyway, they come with a downside: because they mutate the same VueTypes object, applications sharing the same module (ie: importing the same library instance from node_modules) might alter one another the behavior of validators.

For example suppose we have a library core and an application ui both using VueTypes. In core we define a custom default and use it:

js
// core/types.js
+import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Custom namespaced instance","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/custom-instance.md","filePath":"advanced/custom-instance.md","lastUpdated":1732061061000}'),p={name:"advanced/custom-instance.md"};function t(l,s,h,k,d,r){return e(),a("div",null,s[0]||(s[0]=[n(`

Custom namespaced instance

The sensibleDefaults and extend features let you customize the library to better fit into your project.

Anyway, they come with a downside: because they mutate the same VueTypes object, applications sharing the same module (ie: importing the same library instance from node_modules) might alter one another the behavior of validators.

For example suppose we have a library core and an application ui both using VueTypes. In core we define a custom default and use it:

js
// core/types.js
 import VueTypes from 'vue-types'
 
 VueTypes.sensibleDefaults = {
@@ -70,4 +70,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const y
       validator: (v) => v > 0,
     })
   }
-}
`,19),t=[p];function l(h,k,d,r,c,E){return a(),i("div",null,t)}const g=s(e,[["render",l]]);export{y as __pageData,g as default}; +}
`,19)]))}const o=i(p,[["render",t]]);export{c as __pageData,o as default}; diff --git a/assets/advanced_custom-instance.md.VAIxW2UG.lean.js b/assets/advanced_custom-instance.md.VAIxW2UG.lean.js new file mode 100644 index 00000000..b7f8080a --- /dev/null +++ b/assets/advanced_custom-instance.md.VAIxW2UG.lean.js @@ -0,0 +1,73 @@ +import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Custom namespaced instance","description":"","frontmatter":{},"headers":[],"relativePath":"advanced/custom-instance.md","filePath":"advanced/custom-instance.md","lastUpdated":1732061061000}'),p={name:"advanced/custom-instance.md"};function t(l,s,h,k,d,r){return e(),a("div",null,s[0]||(s[0]=[n(`

Custom namespaced instance

The sensibleDefaults and extend features let you customize the library to better fit into your project.

Anyway, they come with a downside: because they mutate the same VueTypes object, applications sharing the same module (ie: importing the same library instance from node_modules) might alter one another the behavior of validators.

For example suppose we have a library core and an application ui both using VueTypes. In core we define a custom default and use it:

js
// core/types.js
+import VueTypes from 'vue-types'
+
+VueTypes.sensibleDefaults = {
+  ...VueTypes.sensibleDefaults,
+  string: 'hello',
+}
+
+// core/component.vue
+import VueTypes from './types'
+
+export default {
+  props: {
+    greeting: VueTypes.string, // default is 'hello'
+  },
+}

Now, if we import VueTypes in ui, we might expect the default value for VueTypes.string to be an empty string but, depending on how the bundler imports our modules, that might not be the case.

That's because in the core/types.js module we globally mutated the VueTypes object.

js
// ui/ui-component.js
+import VueTypes from 'vue-types'
+
+export default {
+  props: {
+    greeting: VueTypes.string, // default is ???
+  },
+}

Introducing createTypes

To prevent this issue, VueTypes provides a createTypes function which returns a fresh namespaced object.

js
import { createTypes } from 'vue-types'
+
+const MyTypes = createTypes()
+
+const MyComponent = {
+  props: {
+    name: MyTypes.string,
+  },
+}

The function accepts an optional object argument with sensible defaults. If nothing is provided, then the new object will have the same defaults as the default VueTypes object.

js
import { createTypes } from 'vue-types'
+
+// namespaced validators without default values
+const MyTypes = createTypes({})
+
+const MyComponent = {
+  props: {
+    name: MyTypes.string, // default is \`undefined\`
+  },
+}

Extending a custom namespaced instance

Like the default VueTypes instance, custom namespaced instances can be extended either by the extend method or (in ES6+ environments) with the extend keyword:

This allow you to setup highly customizable custom validators:

js
// ./src/prop-types.js
+
+import { createTypes } from 'vue-types'
+
+export default createTypes().extend([
+  {
+    name: 'positive',
+    getter: true,
+    type: Number,
+    validator: (v) => v > 0,
+  },
+])
+
+// Usage:
+// ./src/my-component.vue
+import MyTypes from './prop-types'
+
+export default {
+  props: {
+    name: MyTypes.string,
+    score: MyTypes.positive.isRequired,
+  },
+}

In E6+ and TypeScript environments, ./scr/prop-types.js could be rewritten as:

js
// ./src/prop-types.js
+
+import { createTypes, toType } from 'vue-types'
+
+export default class MyTypes extends createTypes() {
+  static get positive() {
+    return toType({
+      type: Number,
+      validator: (v) => v > 0,
+    })
+  }
+}
`,19)]))}const o=i(p,[["render",t]]);export{c as __pageData,o as default}; diff --git a/assets/advanced_extending-vue-types.md.ncFXH5sk.js b/assets/advanced_extending-vue-types.md.DKUpT8Vz.js similarity index 91% rename from assets/advanced_extending-vue-types.md.ncFXH5sk.js rename to assets/advanced_extending-vue-types.md.DKUpT8Vz.js index 8ca1c04b..aa9c74b9 100644 --- a/assets/advanced_extending-vue-types.md.ncFXH5sk.js +++ b/assets/advanced_extending-vue-types.md.DKUpT8Vz.js @@ -1,4 +1,4 @@ -import{_ as e,c as p,j as s,a as i,I as n,a2 as t,D as l,o as h}from"./chunks/framework.Dr3U-I6a.js";const V=JSON.parse('{"title":"Extending VueTypes","description":"","frontmatter":{"outline":2},"headers":[],"relativePath":"advanced/extending-vue-types.md","filePath":"advanced/extending-vue-types.md","lastUpdated":1732060631000}'),k={name:"advanced/extending-vue-types.md"},d=s("h1",{id:"extending-vuetypes",tabindex:"-1"},[i("Extending VueTypes "),s("a",{class:"header-anchor",href:"#extending-vuetypes","aria-label":'Permalink to "Extending VueTypes"'},"​")],-1),r={class:"table-of-contents"},E=s("li",null,[s("a",{href:"#standalone-custom-validators"},"Standalone custom validators"),s("ul",null,[s("li",null,[s("a",{href:"#custom-validators-from-scratch"},"Custom validators from scratch")]),s("li",null,[s("a",{href:"#inheriting-from-existing-validators"},"Inheriting from existing validators")])])],-1),g=s("li",null,[s("a",{href:"#extending-namespaced-validators-in-es6"},"Extending namespaced validators in ES6+")],-1),y={href:"#the-extend-method"},o=s("ul",null,[s("li",null,[s("a",{href:"#inherit-from-vuetypes-validators"},"Inherit from VueTypes validators")]),s("li",null,[s("a",{href:"#define-multiple-validators"},"Define multiple validators")]),s("li",null,[s("a",{href:"#typescript"},"Typescript")])],-1),c=t(`

Standalone custom validators

The toType, toValidableType and fromType functions can be used to create custom standalone validators. Indeed, they are used internally by vue-types in native and custom validators.

Custom validators from scratch

In the following example we define a validator for positive numbers:

js
const positive = () =>
+import{_ as p,c as l,j as s,a,G as t,a0 as e,B as h,o as k}from"./chunks/framework.D25Vw4RT.js";const C=JSON.parse('{"title":"Extending VueTypes","description":"","frontmatter":{"outline":2},"headers":[],"relativePath":"advanced/extending-vue-types.md","filePath":"advanced/extending-vue-types.md","lastUpdated":1732061061000}'),d={name:"advanced/extending-vue-types.md"},r={class:"table-of-contents"},E={href:"#the-extend-method"},g={id:"the-extend-method",tabindex:"-1"};function y(o,i,c,F,u,m){const n=h("Badge");return k(),l("div",null,[i[9]||(i[9]=s("h1",{id:"extending-vuetypes",tabindex:"-1"},[a("Extending VueTypes "),s("a",{class:"header-anchor",href:"#extending-vuetypes","aria-label":'Permalink to "Extending VueTypes"'},"​")],-1)),s("nav",r,[s("ul",null,[i[2]||(i[2]=s("li",null,[s("a",{href:"#standalone-custom-validators"},"Standalone custom validators"),s("ul",null,[s("li",null,[s("a",{href:"#custom-validators-from-scratch"},"Custom validators from scratch")]),s("li",null,[s("a",{href:"#inheriting-from-existing-validators"},"Inheriting from existing validators")])])],-1)),i[3]||(i[3]=s("li",null,[s("a",{href:"#extending-namespaced-validators-in-es6"},"Extending namespaced validators in ES6+")],-1)),s("li",null,[s("a",E,[i[0]||(i[0]=a("The extend() method ")),t(n,{text:"deprecated",type:"warning"})]),i[1]||(i[1]=s("ul",null,[s("li",null,[s("a",{href:"#inherit-from-vuetypes-validators"},"Inherit from VueTypes validators")]),s("li",null,[s("a",{href:"#define-multiple-validators"},"Define multiple validators")]),s("li",null,[s("a",{href:"#typescript"},"Typescript")])],-1))])])]),i[10]||(i[10]=e(`

Standalone custom validators

The toType, toValidableType and fromType functions can be used to create custom standalone validators. Indeed, they are used internally by vue-types in native and custom validators.

Custom validators from scratch

In the following example we define a validator for positive numbers:

js
const positive = () =>
   toType('positive', {
     type: Number,
     validator: (v) => v >= 0,
@@ -79,7 +79,7 @@ import{_ as e,c as p,j as s,a as i,I as n,a2 as t,D as l,o as h}from"./chunks/fr
     count: ProjectTypes.positive,
   },
 }
-</script>

TYPESCRIPT HINT

This pattern ensures type safety using the language built-in features and might be the most efficient and readable option for TypeScript projects.

`,24),F={id:"the-extend-method",tabindex:"-1"},u=s("code",null,"extend()",-1),m=s("a",{class:"header-anchor",href:"#the-extend-method","aria-label":'Permalink to "The `extend()` method "'},"​",-1),v=t(`

WARNING

As of v5.0, the extend() method is deprecated and might be removed in a future major version of the library.

The recommended way to extend a namespaced VueTypes is by using the ES6+ method.

You can extend the namespaced VueTypes object with your own validators via VueTypes.extend({...}).

The method accepts an object with every key supported by Vue prop validation objects plus the following custom properties:

nametypedefaultdescription
namestring-Required. The type name. Will be exposed as VueType.{name}
validatebooleanfalseIf true, the type will have a validate method like native types
getterbooleanfalseSet the validator as a getter (1)
  1. If true the validator will be defined as an accessor property (like, for example, VueTypes.string). If false it will be defined as a method (like VueTypes.arrayOf()).

Examples:

js
// as an accessor
+</script>

TYPESCRIPT HINT

This pattern ensures type safety using the language built-in features and might be the most efficient and readable option for TypeScript projects.

`,24)),s("h2",g,[i[4]||(i[4]=a("The ")),i[5]||(i[5]=s("code",null,"extend()",-1)),i[6]||(i[6]=a(" method ")),t(n,{text:"deprecated",type:"warning"}),i[7]||(i[7]=a()),i[8]||(i[8]=s("a",{class:"header-anchor",href:"#the-extend-method","aria-label":'Permalink to "The `extend()` method "'},"​",-1))]),i[11]||(i[11]=e(`

WARNING

As of v5.0, the extend() method is deprecated and might be removed in a future major version of the library.

The recommended way to extend a namespaced VueTypes is by using the ES6+ method.

You can extend the namespaced VueTypes object with your own validators via VueTypes.extend({...}).

The method accepts an object with every key supported by Vue prop validation objects plus the following custom properties:

nametypedefaultdescription
namestring-Required. The type name. Will be exposed as VueType.{name}
validatebooleanfalseIf true, the type will have a validate method like native types
getterbooleanfalseSet the validator as a getter (1)
  1. If true the validator will be defined as an accessor property (like, for example, VueTypes.string). If false it will be defined as a method (like VueTypes.arrayOf()).

Examples:

js
// as an accessor
 VueTypes.extend({
   name: 'negative',
   getter: true,
@@ -205,4 +205,4 @@ import{_ as e,c as p,j as s,a as i,I as n,a2 as t,D as l,o as h}from"./chunks/fr
     count: VueTypes.positive,
   },
 })
-</script>
`,25);function C(A,D,b,f,B,T){const a=l("Badge");return h(),p("div",null,[d,s("nav",r,[s("ul",null,[E,g,s("li",null,[s("a",y,[i("The extend() method "),n(a,{text:"deprecated",type:"warning"})]),o])])]),c,s("h2",F,[i("The "),u,i(" method "),n(a,{text:"deprecated",type:"warning"}),i(),m]),v])}const _=e(k,[["render",C]]);export{V as __pageData,_ as default}; +</script>
`,25))])}const A=p(d,[["render",y]]);export{C as __pageData,A as default}; diff --git a/assets/advanced_extending-vue-types.md.DKUpT8Vz.lean.js b/assets/advanced_extending-vue-types.md.DKUpT8Vz.lean.js new file mode 100644 index 00000000..aa9c74b9 --- /dev/null +++ b/assets/advanced_extending-vue-types.md.DKUpT8Vz.lean.js @@ -0,0 +1,208 @@ +import{_ as p,c as l,j as s,a,G as t,a0 as e,B as h,o as k}from"./chunks/framework.D25Vw4RT.js";const C=JSON.parse('{"title":"Extending VueTypes","description":"","frontmatter":{"outline":2},"headers":[],"relativePath":"advanced/extending-vue-types.md","filePath":"advanced/extending-vue-types.md","lastUpdated":1732061061000}'),d={name:"advanced/extending-vue-types.md"},r={class:"table-of-contents"},E={href:"#the-extend-method"},g={id:"the-extend-method",tabindex:"-1"};function y(o,i,c,F,u,m){const n=h("Badge");return k(),l("div",null,[i[9]||(i[9]=s("h1",{id:"extending-vuetypes",tabindex:"-1"},[a("Extending VueTypes "),s("a",{class:"header-anchor",href:"#extending-vuetypes","aria-label":'Permalink to "Extending VueTypes"'},"​")],-1)),s("nav",r,[s("ul",null,[i[2]||(i[2]=s("li",null,[s("a",{href:"#standalone-custom-validators"},"Standalone custom validators"),s("ul",null,[s("li",null,[s("a",{href:"#custom-validators-from-scratch"},"Custom validators from scratch")]),s("li",null,[s("a",{href:"#inheriting-from-existing-validators"},"Inheriting from existing validators")])])],-1)),i[3]||(i[3]=s("li",null,[s("a",{href:"#extending-namespaced-validators-in-es6"},"Extending namespaced validators in ES6+")],-1)),s("li",null,[s("a",E,[i[0]||(i[0]=a("The extend() method ")),t(n,{text:"deprecated",type:"warning"})]),i[1]||(i[1]=s("ul",null,[s("li",null,[s("a",{href:"#inherit-from-vuetypes-validators"},"Inherit from VueTypes validators")]),s("li",null,[s("a",{href:"#define-multiple-validators"},"Define multiple validators")]),s("li",null,[s("a",{href:"#typescript"},"Typescript")])],-1))])])]),i[10]||(i[10]=e(`

Standalone custom validators

The toType, toValidableType and fromType functions can be used to create custom standalone validators. Indeed, they are used internally by vue-types in native and custom validators.

Custom validators from scratch

In the following example we define a validator for positive numbers:

js
const positive = () =>
+  toType('positive', {
+    type: Number,
+    validator: (v) => v >= 0,
+  })
+
+export default {
+  props: {
+    myNumber: positive().isRequired,
+  },
+}

Both toType and toValidableType accept the following arguments:

nametypedescription
namestringThe validator name, used for logging
typeobjectAn object compatible with Vue.js prop validation

TIP

The difference between toType and toValidableType is that the latter creates validators that support the .validate() method to setup custom validation functions.

Inheriting from existing validators

In some cases you might want to use an already defined validator or validator instance as base for a new validator. This might come handy for code reusability.

In this case you can use the fromType utility function.

Function arguments:

nametyperequireddescription
namestringyesThe validator name, used for logging
sourcevalidatoryesParent prop validator
propsobject-custom validation properties
js
import { fromType, shape, number, string } from 'vue-types'
+
+const user = shape({
+  ID: number(),
+  name: string(),
+})
+
+// clone the user shape and make it required
+const userRequired = fromType('userRequired', user, { required: true })

WARNING

Properties defined in the 3rd argument will overwrite those defined in the base validator.

The only exception is validator(): those functions will be merged and executed in sequence until one returns false.

js
import { fromType, shape, number, string } from 'vue-types'
+
+const userRequired = shape({
+  ID: number(),
+  name: string(),
+}).isRequired
+
+// userJohn is not required
+// after validating the shape
+// will check that name === 'John'
+const userJohn = fromType('userJohn', user, {
+  required: false,
+  validator(value) {
+    return value.name === 'John'
+  },
+})

This function can be used to mimic the Inherit from VueTypes validators pattern in VueTypes.extend:

js
import { fromType, shape, number, string } from 'vue-types'
+
+const userShape = VueTypes.shape({ name: String, age: Number })
+
+const userJohn = () =>
+  fromType('userJohn', userShape, {
+    validator(value) {
+      return value && value.name === 'John'
+    },
+  })
+
+export default {
+  props: {
+    user: userDoe().isRequired,
+  },
+}

Extending namespaced validators in ES6+

If your source code supports ES6 or newer, you can use the native ES extends feature with the toType, toValidableType or fromType utility functions (see Standalone custom validators for detailed usage instructions).

For example, you could create a prop-types.js file in your project and export the extended VueTypes class:

js
// prop-types.js
+import VueTypes, { toType, toValidableType } from 'vue-types'
+
+export default class ProjectTypes extends VueTypes {
+  // define a custom validator that accepts configuration parameters
+  static maxLength(max) {
+    return toType('maxLength', {
+      type: String,
+      validator: (max, v) => v.length <= max,
+    })
+  }
+
+  // a native-like validator that supports the \`.validable\` method
+  static get positive() {
+    return toValidableType('positive', {
+      type: Number,
+      validator: (v) => v > 0,
+    })
+  }
+}

Usage:

vue
<!-- MyComponent.vue -->
+<template>
+  <!-- template here -->
+</template>
+<script>
+import ProjectTypes from './prop-types'
+
+export default {
+  name: 'MyComponent',
+  props: {
+    msg: ProjectTypes.maxLength(2),
+    count: ProjectTypes.positive,
+  },
+}
+</script>

TYPESCRIPT HINT

This pattern ensures type safety using the language built-in features and might be the most efficient and readable option for TypeScript projects.

`,24)),s("h2",g,[i[4]||(i[4]=a("The ")),i[5]||(i[5]=s("code",null,"extend()",-1)),i[6]||(i[6]=a(" method ")),t(n,{text:"deprecated",type:"warning"}),i[7]||(i[7]=a()),i[8]||(i[8]=s("a",{class:"header-anchor",href:"#the-extend-method","aria-label":'Permalink to "The `extend()` method "'},"​",-1))]),i[11]||(i[11]=e(`

WARNING

As of v5.0, the extend() method is deprecated and might be removed in a future major version of the library.

The recommended way to extend a namespaced VueTypes is by using the ES6+ method.

You can extend the namespaced VueTypes object with your own validators via VueTypes.extend({...}).

The method accepts an object with every key supported by Vue prop validation objects plus the following custom properties:

nametypedefaultdescription
namestring-Required. The type name. Will be exposed as VueType.{name}
validatebooleanfalseIf true, the type will have a validate method like native types
getterbooleanfalseSet the validator as a getter (1)
  1. If true the validator will be defined as an accessor property (like, for example, VueTypes.string). If false it will be defined as a method (like VueTypes.arrayOf()).

Examples:

js
// as an accessor
+VueTypes.extend({
+  name: 'negative',
+  getter: true,
+  type: Number,
+  validator: (v) => v < 0,
+})
+
+const negativeProp = VueTypes.negative
+
+// as a configurable method
+VueTypes.extend({
+  name: 'negativeFn',
+  type: Number,
+  validator: (v) => v < 0,
+})
+
+const negativeProp2 = VueTypes.negativeFn() // <-- you need to call it

Note that if getter === false, arguments passed to the validator function will be passed down to the validator method together with the prop value:

js
VueTypes.extend({
+  name: 'maxLength',
+  // getter: false, this is the default
+  type: String,
+  validator: (max, v) => v.length <= max,
+})
+
+// set the "max" argument of the validator method
+const maxLengthType = VueTypes.maxLength(2)
+
+maxLengthType.validator('ab') // true
+maxLengthType.validator('abcd') // false

Inherit from VueTypes validators

You can set another validator as the parent of a new one by setting it as the type property. This feature can be useful to create named aliases:

js
const shoesShape = VueTypes.shape({ color: String, size: Number })
+
+VueTypes.extend({
+  name: 'shoes',
+  getter: true,
+  type: shoesShape,
+})
+
+export default {
+  props: {
+    shoes: VueTypes.shoes,
+    // same as
+    // shoes: shoesShape
+  },
+}

Custom validators will be executed before the parent's one:

js
// ...
+VueTypes.extend({
+  name: 'redShoes',
+  getter: true,
+  type: shoesShape,
+  validator(value) {
+    return value && value.color === 'red'
+  },
+})
+
+const myShoes = { color: 'blue', size: 11 }
+console.log(VueTypes.utils.validate(myShoes, VueTypes.redShoes)) // false

WARNING

Validators created with this method don't support the validate method even if their parent supports it (like VueTypes.string or VueTypes.number).

js
VueTypes.extend({
+  name: 'myString',
+  getter: true,
+  type: VueTypes.string,
+})
+
+VueTypes.myString.validate(/* ... */)
+// Error: validate() is not defined

Define multiple validators

To define multiple validators at once, pass an array of definitions as argument:

js
// ...
+VueTypes.extend([
+  {
+    name: 'negative',
+    getter: true,
+    type: Number,
+    validator: (v) => v < 0,
+  },
+  {
+    name: 'positive',
+    getter: true,
+    type: Number,
+    validator: (v) => v > 0,
+  },
+])
+
+// usage...
+VueTypes.positive.isRequired
+VueTypes.negative

Typescript

When used in a TypeScript project, validators added via .extend() might fail type checking.

To instruct TypeScript about your custom validators you can use the following pattern:

1. First create a module to host your extended VueTypes object:

ts
// prop-types.ts
+
+// 1. import
+// - VueTypes library
+// - VueTypes class interface
+// - validation object interface (VueTypeDef or VueTypeValidableDef)
+import VueTypes, {
+  VueTypesInterface,
+  VueTypeDef,
+  VueTypeValidableDef,
+} from 'vue-types'
+
+// 2. define your custom VueTypes validators interface
+interface ProjectTypes extends VueTypesInterface {
+  // VueTypeDef accepts a type as argument
+  maxLength(max: number): VueTypeDef<string>
+  // use VueTypeValidableDef if the new type is going to support the \`validate\` method.
+  positive: VueTypeValidableDef<number>
+}
+
+// 3. Pass the interface as type argument to the \`extend\` method
+export default VueTypes.extend<ProjectTypes>([
+  {
+    name: 'maxLength',
+    type: String,
+    validator: (max: number, v: string) => v.length <= max,
+  },
+  {
+    name: 'positive',
+    getter: true,
+    type: Number,
+    validator: (v: number) => v > 0,
+  },
+])

2. Then import the newly created prop-types.ts instead of vue-types:

vue
<!-- MyComponent.vue -->
+<template>
+  <!-- template here -->
+</template>
+<script lang="ts">
+import Vue from 'vue'
+import VueTypes from './prop-types'
+
+export default Vue.extend({
+  name: 'MyComponent',
+  props: {
+    msg: VueTypes.maxLength(2),
+    count: VueTypes.positive,
+  },
+})
+</script>
`,25))])}const A=p(d,[["render",y]]);export{C as __pageData,A as default}; diff --git a/assets/advanced_extending-vue-types.md.ncFXH5sk.lean.js b/assets/advanced_extending-vue-types.md.ncFXH5sk.lean.js deleted file mode 100644 index fdc70057..00000000 --- a/assets/advanced_extending-vue-types.md.ncFXH5sk.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as p,j as s,a as i,I as n,a2 as t,D as l,o as h}from"./chunks/framework.Dr3U-I6a.js";const V=JSON.parse('{"title":"Extending VueTypes","description":"","frontmatter":{"outline":2},"headers":[],"relativePath":"advanced/extending-vue-types.md","filePath":"advanced/extending-vue-types.md","lastUpdated":1732060631000}'),k={name:"advanced/extending-vue-types.md"},d=s("h1",{id:"extending-vuetypes",tabindex:"-1"},[i("Extending VueTypes "),s("a",{class:"header-anchor",href:"#extending-vuetypes","aria-label":'Permalink to "Extending VueTypes"'},"​")],-1),r={class:"table-of-contents"},E=s("li",null,[s("a",{href:"#standalone-custom-validators"},"Standalone custom validators"),s("ul",null,[s("li",null,[s("a",{href:"#custom-validators-from-scratch"},"Custom validators from scratch")]),s("li",null,[s("a",{href:"#inheriting-from-existing-validators"},"Inheriting from existing validators")])])],-1),g=s("li",null,[s("a",{href:"#extending-namespaced-validators-in-es6"},"Extending namespaced validators in ES6+")],-1),y={href:"#the-extend-method"},o=s("ul",null,[s("li",null,[s("a",{href:"#inherit-from-vuetypes-validators"},"Inherit from VueTypes validators")]),s("li",null,[s("a",{href:"#define-multiple-validators"},"Define multiple validators")]),s("li",null,[s("a",{href:"#typescript"},"Typescript")])],-1),c=t("",24),F={id:"the-extend-method",tabindex:"-1"},u=s("code",null,"extend()",-1),m=s("a",{class:"header-anchor",href:"#the-extend-method","aria-label":'Permalink to "The `extend()` method "'},"​",-1),v=t("",25);function C(A,D,b,f,B,T){const a=l("Badge");return h(),p("div",null,[d,s("nav",r,[s("ul",null,[E,g,s("li",null,[s("a",y,[i("The extend() method "),n(a,{text:"deprecated",type:"warning"})]),o])])]),c,s("h2",F,[i("The "),u,i(" method "),n(a,{text:"deprecated",type:"warning"}),i(),m]),v])}const _=e(k,[["render",C]]);export{V as __pageData,_ as default}; diff --git a/assets/advanced_typescript.md._64S16zB.js b/assets/advanced_typescript.md.BozNiqGA.js similarity index 97% rename from assets/advanced_typescript.md._64S16zB.js rename to assets/advanced_typescript.md.BozNiqGA.js index 93f6127a..72a7801a 100644 --- a/assets/advanced_typescript.md._64S16zB.js +++ b/assets/advanced_typescript.md.BozNiqGA.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"TypeScript Usage","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"advanced/typescript.md","filePath":"advanced/typescript.md","lastUpdated":1732060631000}'),t={name:"advanced/typescript.md"},p=n(`

TypeScript Usage

VueTypes is written in TypeScript and comes with full builtin types support.

Most of the validators can infer the prop type from their configuration:

ts
props: {
+import{_ as i,c as a,a0 as n,o as t}from"./chunks/framework.D25Vw4RT.js";const g=JSON.parse('{"title":"TypeScript Usage","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"advanced/typescript.md","filePath":"advanced/typescript.md","lastUpdated":1732061061000}'),p={name:"advanced/typescript.md"};function h(l,s,e,k,r,d){return t(),a("div",null,s[0]||(s[0]=[n(`

TypeScript Usage

VueTypes is written in TypeScript and comes with full builtin types support.

Most of the validators can infer the prop type from their configuration:

ts
props: {
   // prop type is \`string\`
   name: string(),
   // ERROR: Argument of type 'boolean' is not assignable to parameter of type 'string'
@@ -116,4 +116,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c
 }

As a general rule, we strongly suggest to use const assertions whenever possible.

ts
props: {
   // type checker and runtime error
   sizes: oneOf(['large'] as const).def('medium')
-}
`,41),h=[p];function l(e,k,r,d,E,g){return a(),i("div",null,h)}const o=s(t,[["render",l]]);export{c as __pageData,o as default}; +}`,41)]))}const y=i(p,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/advanced_typescript.md.BozNiqGA.lean.js b/assets/advanced_typescript.md.BozNiqGA.lean.js new file mode 100644 index 00000000..72a7801a --- /dev/null +++ b/assets/advanced_typescript.md.BozNiqGA.lean.js @@ -0,0 +1,119 @@ +import{_ as i,c as a,a0 as n,o as t}from"./chunks/framework.D25Vw4RT.js";const g=JSON.parse('{"title":"TypeScript Usage","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"advanced/typescript.md","filePath":"advanced/typescript.md","lastUpdated":1732061061000}'),p={name:"advanced/typescript.md"};function h(l,s,e,k,r,d){return t(),a("div",null,s[0]||(s[0]=[n(`

TypeScript Usage

VueTypes is written in TypeScript and comes with full builtin types support.

Most of the validators can infer the prop type from their configuration:

ts
props: {
+  // prop type is \`string\`
+  name: string(),
+  // ERROR: Argument of type 'boolean' is not assignable to parameter of type 'string'
+  surname: string().def(false),
+}

Optional type constraint

Some validators accepts an optional type argument to refine their TS typing.

any<T = any>

ts
props: {
+  unknownProp: any<unknown>()
+}

string<T = string>

Accepts both strings and enums.

ts
props: {
+  // use a union type to constrain the string type
+  color: string<'red' | 'green'>()
+}
+
+enum Colors {
+  red = 'red'
+  green = 'green'
+}
+
+props: {
+  // same as above, but with an enum
+  color: string<Colors>()
+}

TIP

The same prop type can be expressed using oneOf which will also perform a validation at runtime:

ts
props: {
+  genre: oneOf(['red', 'green'] as const)
+}

number<T = number> and integer<T = number>

ts
props: {
+  // use a union type to constrain the number type
+  count: number<1 | 2>()
+
+  countInt: integer<1 | 2>()
+}

func<T = (...args: any[]) => any>

Useful to type event handlers and function return types.

ts
type EventFn = (e: Event) => void
+type AsyncFn = () => Promise<string[]>
+
+props: {
+  onClick: fn<EventFn>()
+  loadStrings: fn<AsyncFn>()
+}

object<T = { [key: string]: any }>

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  user: object<User>()
+}

TIP

To have both compile-time and runtime validation, you can use shape:

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  user: shape<User>({
+    name: string().isRequired,
+  })
+}

array<T = unknown>

The validator accepts an argument defining the contained items type.

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  // array of numbers
+  sizes: array<number>()
+  // array of users
+  users: array<User>()
+}

TIP

The same prop types can be expressed using arrayOf which will also perform a validation at runtime:

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  sizes: arrayOf(Number)
+  // set the object() validator type to User
+  users: arrayOf(object<User>())
+}

OneOfType<T>

You can use a union type to specify the expected types.

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  // string or instance of User
+  theProp: oneOfType<string | User>([String, Object])
+}

TIP

The same prop types can be expressed composing VueTypes validators:

ts
interface User {
+  name: string
+  // ...
+}
+
+props: {
+  // same as above
+  theProp: oneOfType([String, object<User>()])
+}

shape<T>

Setting the type argument provides type checking on top of runtime validation:

ts
interface User {
+  name: string
+  id?: string
+}
+
+props: {
+  user: shape<User>({
+    name: string().isRequired,
+    id: string(),
+  })
+}

custom<T>

You can define the type of the value received by the validator function.

ts
props: {
+  // function argument is of type string
+  nonEmptyString: custom<string>((v) => typeof v === 'string' && v.length > 0)
+}

TIP

This validator can be used for tuple props:

ts
type Pair = [string, number]
+
+props: {
+  tuple: custom<Pair>(
+    ([a, b]) => typeof a === 'string' && typeof b === 'number',
+  )
+}

oneOf

You can use const assertions on the expected values to constrain the validators type:

ts
props: {
+  // ERROR: Argument of type '"small"' is not assignable
+  // to parameter of type '"large" | "medium"'.
+  sizes: oneOf(['large', 'medium'] as const).def('small')
+}

Alternative, you can pass a union type:

ts
props: {
+  // Same (mostly) as above
+  // see below for details
+  sizes: oneOf<'large' | 'medium'>(['large', 'medium'])
+}

WARNING

Note that union types don't put any constrain on the presence of all of their members in the validation array. This can lead to runtime bugs not detected by the type checker:

ts
props: {
+  // TS type checker does not report any error
+  // but Vue runtime throws an error
+  sizes: oneOf<'large' | 'medium'>(['large']).def('medium')
+}

As a general rule, we strongly suggest to use const assertions whenever possible.

ts
props: {
+  // type checker and runtime error
+  sizes: oneOf(['large'] as const).def('medium')
+}
`,41)]))}const y=i(p,[["render",h]]);export{g as __pageData,y as default}; diff --git a/assets/advanced_typescript.md._64S16zB.lean.js b/assets/advanced_typescript.md._64S16zB.lean.js deleted file mode 100644 index a65f4033..00000000 --- a/assets/advanced_typescript.md._64S16zB.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"TypeScript Usage","description":"","frontmatter":{"outline":[2,3]},"headers":[],"relativePath":"advanced/typescript.md","filePath":"advanced/typescript.md","lastUpdated":1732060631000}'),t={name:"advanced/typescript.md"},p=n("",41),h=[p];function l(e,k,r,d,E,g){return a(),i("div",null,h)}const o=s(t,[["render",l]]);export{c as __pageData,o as default}; diff --git a/assets/app.BS6TttY2.js b/assets/app.BS6TttY2.js deleted file mode 100644 index 3da85336..00000000 --- a/assets/app.BS6TttY2.js +++ /dev/null @@ -1 +0,0 @@ -import{t as i}from"./chunks/theme.lg-f0D5T.js";import{U as o,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,ac as y,d as P,u as v,y as C,x as b,ad as w,ae as E,af as R,ag as S}from"./chunks/framework.Dr3U-I6a.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),E(),R(),s.setup&&s.setup(),()=>S(s.Layout)}});async function x(){globalThis.__VITEPRESS__=!0;const e=_(),a=D();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function D(){return g(T)}function _(){let e=o,a;return A(t=>{let n=y(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&x().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{x as createApp}; diff --git a/assets/app.BoE9rui6.js b/assets/app.BoE9rui6.js new file mode 100644 index 00000000..d79ba255 --- /dev/null +++ b/assets/app.BoE9rui6.js @@ -0,0 +1 @@ +import{t as i}from"./chunks/theme.Z6jEv4e3.js";import{R as o,a1 as u,a2 as c,a3 as l,a4 as f,a5 as d,a6 as m,a7 as h,a8 as g,a9 as A,aa as v,d as P,u as y,v as C,s as b,ab as w,ac as R,ad as E,ae as S}from"./chunks/framework.D25Vw4RT.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),R(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/assets/chunks/framework.D25Vw4RT.js b/assets/chunks/framework.D25Vw4RT.js new file mode 100644 index 00000000..e4c7e5f4 --- /dev/null +++ b/assets/chunks/framework.D25Vw4RT.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Es(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const te={},xt=[],Ue=()=>{},xo=()=>!1,Xt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Cs=e=>e.startsWith("onUpdate:"),le=Object.assign,Ts=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},So=Object.prototype.hasOwnProperty,z=(e,t)=>So.call(e,t),B=Array.isArray,St=e=>En(e)==="[object Map]",Dr=e=>En(e)==="[object Set]",q=e=>typeof e=="function",re=e=>typeof e=="string",Ge=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",jr=e=>(ne(e)||q(e))&&q(e.then)&&q(e.catch),Vr=Object.prototype.toString,En=e=>Vr.call(e),Eo=e=>En(e).slice(8,-1),Ur=e=>En(e)==="[object Object]",As=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Et=Es(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Cn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Co=/-(\w)/g,Le=Cn(e=>e.replace(Co,(t,n)=>n?n.toUpperCase():"")),To=/\B([A-Z])/g,st=Cn(e=>e.replace(To,"-$1").toLowerCase()),Tn=Cn(e=>e.charAt(0).toUpperCase()+e.slice(1)),dn=Cn(e=>e?`on${Tn(e)}`:""),et=(e,t)=>!Object.is(e,t),kn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ro=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let Ys;const An=()=>Ys||(Ys=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Rs(e){if(B(e)){const t={};for(let n=0;n{if(n){const s=n.split(Mo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Os(e){let t="";if(re(e))t=e;else if(B(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Fo=e=>re(e)?e:e==null?"":B(e)||ne(e)&&(e.toString===Vr||!q(e.toString))?Wr(e)?Fo(e.value):JSON.stringify(e,Kr,2):String(e),Kr=(e,t)=>Wr(t)?Kr(e,t.value):St(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Wn(s,i)+" =>"]=r,n),{})}:Dr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wn(n))}:Ge(t)?Wn(t):ne(t)&&!B(t)&&!Ur(t)?String(t):t,Wn=(e,t="")=>{var n;return Ge(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class Ho{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=be,!t&&be&&(this.index=(be.scopes||(be.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)return;if(Ht){let t=Ht;for(Ht=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Ft;){let t=Ft;for(Ft=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Jr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function zr(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),Do(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function fs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Qr(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Qr(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Vt))return;e.globalVersion=Vt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!fs(e)){e.flags&=-3;return}const n=ee,s=Ne;ee=e,Ne=!0;try{Jr(e);const r=e.fn(e._value);(t.version===0||et(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ee=n,Ne=s,zr(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Do(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const Zr=[];function rt(){Zr.push(Ne),Ne=!1}function it(){const e=Zr.pop();Ne=e===void 0?!0:e}function Xs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ee;ee=void 0;try{t()}finally{ee=n}}}let Vt=0;class jo{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 Rn{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}track(t){if(!ee||!Ne||ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ee)n=this.activeLink=new jo(ee,this),ee.deps?(n.prevDep=ee.depsTail,ee.depsTail.nextDep=n,ee.depsTail=n):ee.deps=ee.depsTail=n,ei(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ee.depsTail,n.nextDep=void 0,ee.depsTail.nextDep=n,ee.depsTail=n,ee.deps===n&&(ee.deps=s)}return n}trigger(t){this.version++,Vt++,this.notify(t)}notify(t){Ms();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Is()}}}function ei(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)ei(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const yn=new WeakMap,dt=Symbol(""),us=Symbol(""),Ut=Symbol("");function ge(e,t,n){if(Ne&&ee){let s=yn.get(e);s||yn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Rn),r.map=s,r.key=n),r.track()}}function Ke(e,t,n,s,r,i){const o=yn.get(e);if(!o){Vt++;return}const l=c=>{c&&c.trigger()};if(Ms(),t==="clear")o.forEach(l);else{const c=B(e),u=c&&As(n);if(c&&n==="length"){const a=Number(s);o.forEach((h,v)=>{(v==="length"||v===Ut||!Ge(v)&&v>=a)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(Ut)),t){case"add":c?u&&l(o.get("length")):(l(o.get(dt)),St(e)&&l(o.get(us)));break;case"delete":c||(l(o.get(dt)),St(e)&&l(o.get(us)));break;case"set":St(e)&&l(o.get(dt));break}}Is()}function Vo(e,t){const n=yn.get(e);return n&&n.get(t)}function _t(e){const t=J(e);return t===e?t:(ge(t,"iterate",Ut),Ie(e)?t:t.map(me))}function On(e){return ge(e=J(e),"iterate",Ut),e}const Uo={__proto__:null,[Symbol.iterator](){return qn(this,Symbol.iterator,me)},concat(...e){return _t(this).concat(...e.map(t=>B(t)?_t(t):t))},entries(){return qn(this,"entries",e=>(e[1]=me(e[1]),e))},every(e,t){return Be(this,"every",e,t,void 0,arguments)},filter(e,t){return Be(this,"filter",e,t,n=>n.map(me),arguments)},find(e,t){return Be(this,"find",e,t,me,arguments)},findIndex(e,t){return Be(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Be(this,"findLast",e,t,me,arguments)},findLastIndex(e,t){return Be(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Be(this,"forEach",e,t,void 0,arguments)},includes(...e){return Gn(this,"includes",e)},indexOf(...e){return Gn(this,"indexOf",e)},join(e){return _t(this).join(e)},lastIndexOf(...e){return Gn(this,"lastIndexOf",e)},map(e,t){return Be(this,"map",e,t,void 0,arguments)},pop(){return Lt(this,"pop")},push(...e){return Lt(this,"push",e)},reduce(e,...t){return Js(this,"reduce",e,t)},reduceRight(e,...t){return Js(this,"reduceRight",e,t)},shift(){return Lt(this,"shift")},some(e,t){return Be(this,"some",e,t,void 0,arguments)},splice(...e){return Lt(this,"splice",e)},toReversed(){return _t(this).toReversed()},toSorted(e){return _t(this).toSorted(e)},toSpliced(...e){return _t(this).toSpliced(...e)},unshift(...e){return Lt(this,"unshift",e)},values(){return qn(this,"values",me)}};function qn(e,t,n){const s=On(e),r=s[t]();return s!==e&&!Ie(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const Bo=Array.prototype;function Be(e,t,n,s,r,i){const o=On(e),l=o!==e&&!Ie(e),c=o[t];if(c!==Bo[t]){const h=c.apply(e,i);return l?me(h):h}let u=n;o!==e&&(l?u=function(h,v){return n.call(this,me(h),v,e)}:n.length>2&&(u=function(h,v){return n.call(this,h,v,e)}));const a=c.call(o,u,s);return l&&r?r(a):a}function Js(e,t,n,s){const r=On(e);let i=n;return r!==e&&(Ie(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,me(l),c,e)}),r[t](i,...s)}function Gn(e,t,n){const s=J(e);ge(s,"iterate",Ut);const r=s[t](...n);return(r===-1||r===!1)&&Fs(n[0])?(n[0]=J(n[0]),s[t](...n)):r}function Lt(e,t,n=[]){rt(),Ms();const s=J(e)[t].apply(e,n);return Is(),it(),s}const ko=Es("__proto__,__v_isRef,__isVue"),ti=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ge));function Wo(e){Ge(e)||(e=String(e));const t=J(this);return ge(t,"has",e),t.hasOwnProperty(e)}class ni{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?el:oi:i?ii:ri).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=B(t);if(!r){let c;if(o&&(c=Uo[n]))return c;if(n==="hasOwnProperty")return Wo}const l=Reflect.get(t,n,ce(t)?t:s);return(Ge(n)?ti.has(n):ko(n))||(r||ge(t,"get",n),i)?l:ce(l)?o&&As(n)?l:l.value:ne(l)?r?In(l):Mn(l):l}}class si extends ni{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=yt(i);if(!Ie(s)&&!yt(s)&&(i=J(i),s=J(s)),!B(t)&&ce(i)&&!ce(s))return c?!1:(i.value=s,!0)}const o=B(t)&&As(n)?Number(n)e,en=e=>Reflect.getPrototypeOf(e);function Xo(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=St(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),a=n?ds:t?hs:me;return!t&&ge(i,"iterate",c?us:dt),{next(){const{value:h,done:v}=u.next();return v?{value:h,done:v}:{value:l?[a(h[0]),a(h[1])]:a(h),done:v}},[Symbol.iterator](){return this}}}}function tn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jo(e,t){const n={get(r){const i=this.__v_raw,o=J(i),l=J(r);e||(et(r,l)&&ge(o,"get",r),ge(o,"get",l));const{has:c}=en(o),u=t?ds:e?hs:me;if(c.call(o,r))return u(i.get(r));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ge(J(r),"iterate",dt),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=J(i),l=J(r);return e||(et(r,l)&&ge(o,"has",r),ge(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=J(l),u=t?ds:e?hs:me;return!e&&ge(c,"iterate",dt),l.forEach((a,h)=>r.call(i,u(a),u(h),o))}};return le(n,e?{add:tn("add"),set:tn("set"),delete:tn("delete"),clear:tn("clear")}:{add(r){!t&&!Ie(r)&&!yt(r)&&(r=J(r));const i=J(this);return en(i).has.call(i,r)||(i.add(r),Ke(i,"add",r,r)),this},set(r,i){!t&&!Ie(i)&&!yt(i)&&(i=J(i));const o=J(this),{has:l,get:c}=en(o);let u=l.call(o,r);u||(r=J(r),u=l.call(o,r));const a=c.call(o,r);return o.set(r,i),u?et(i,a)&&Ke(o,"set",r,i):Ke(o,"add",r,i),this},delete(r){const i=J(this),{has:o,get:l}=en(i);let c=o.call(i,r);c||(r=J(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&Ke(i,"delete",r,void 0),u},clear(){const r=J(this),i=r.size!==0,o=r.clear();return i&&Ke(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Xo(r,e,t)}),n}function Ps(e,t){const n=Jo(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,i)}const zo={get:Ps(!1,!1)},Qo={get:Ps(!1,!0)},Zo={get:Ps(!0,!1)};const ri=new WeakMap,ii=new WeakMap,oi=new WeakMap,el=new WeakMap;function tl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function nl(e){return e.__v_skip||!Object.isExtensible(e)?0:tl(Eo(e))}function Mn(e){return yt(e)?e:Ns(e,!1,qo,zo,ri)}function sl(e){return Ns(e,!1,Yo,Qo,ii)}function In(e){return Ns(e,!0,Go,Zo,oi)}function Ns(e,t,n,s,r){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=nl(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ht(e){return yt(e)?ht(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function Ie(e){return!!(e&&e.__v_isShallow)}function Fs(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function hn(e){return!z(e,"__v_skip")&&Object.isExtensible(e)&&Br(e,"__v_skip",!0),e}const me=e=>ne(e)?Mn(e):e,hs=e=>ne(e)?In(e):e;function ce(e){return e?e.__v_isRef===!0:!1}function ue(e){return ci(e,!1)}function li(e){return ci(e,!0)}function ci(e,t){return ce(e)?e:new rl(e,t)}class rl{constructor(t,n){this.dep=new Rn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:J(t),this._value=n?t:me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Ie(t)||yt(t);t=s?t:J(t),et(t,n)&&(this._rawValue=t,this._value=s?t:me(t),this.dep.trigger())}}function ai(e){return ce(e)?e.value:e}const il={get:(e,t,n)=>t==="__v_raw"?e:ai(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function fi(e){return ht(e)?e:new Proxy(e,il)}class ol{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Rn,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function ll(e){return new ol(e)}class cl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Vo(J(this._object),this._key)}}class al{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 fl(e,t,n){return ce(e)?e:q(e)?new al(e):ne(e)&&arguments.length>1?ul(e,t,n):ue(e)}function ul(e,t,n){const s=e[t];return ce(s)?s:new cl(e,t,n)}class dl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Rn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Vt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ee!==this)return Xr(this,!0),!0}get value(){const t=this.dep.track();return Qr(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,n=!1){let s,r;return q(e)?s=e:(s=e.get,r=e.set),new dl(s,r,n)}const nn={},vn=new WeakMap;let ft;function pl(e,t=!1,n=ft){if(n){let s=vn.get(n);s||vn.set(n,s=[]),s.push(e)}}function gl(e,t,n=te){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=p=>r?p:Ie(p)||r===!1||r===0?Ze(p,1):Ze(p);let a,h,v,x,L=!1,O=!1;if(ce(e)?(h=()=>e.value,L=Ie(e)):ht(e)?(h=()=>u(e),L=!0):B(e)?(O=!0,L=e.some(p=>ht(p)||Ie(p)),h=()=>e.map(p=>{if(ce(p))return p.value;if(ht(p))return u(p);if(q(p))return c?c(p,2):p()})):q(e)?t?h=c?()=>c(e,2):e:h=()=>{if(v){rt();try{v()}finally{it()}}const p=ft;ft=a;try{return c?c(e,3,[x]):e(x)}finally{ft=p}}:h=Ue,t&&r){const p=h,A=r===!0?1/0:r;h=()=>Ze(p(),A)}const G=qr(),U=()=>{a.stop(),G&&G.active&&Ts(G.effects,a)};if(i&&t){const p=t;t=(...A)=>{p(...A),U()}}let W=O?new Array(e.length).fill(nn):nn;const g=p=>{if(!(!(a.flags&1)||!a.dirty&&!p))if(t){const A=a.run();if(r||L||(O?A.some((D,j)=>et(D,W[j])):et(A,W))){v&&v();const D=ft;ft=a;try{const j=[A,W===nn?void 0:O&&W[0]===nn?[]:W,x];c?c(t,3,j):t(...j),W=A}finally{ft=D}}}else a.run()};return l&&l(g),a=new Gr(h),a.scheduler=o?()=>o(g,!1):g,x=p=>pl(p,!1,a),v=a.onStop=()=>{const p=vn.get(a);if(p){if(c)c(p,4);else for(const A of p)A();vn.delete(a)}},t?s?g(!0):W=a.run():o?o(g.bind(null,!0),!0):a.run(),U.pause=a.pause.bind(a),U.resume=a.resume.bind(a),U.stop=U,U}function Ze(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,ce(e))Ze(e.value,t,n);else if(B(e))for(let s=0;s{Ze(s,t,n)});else if(Ur(e)){for(const s in e)Ze(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ze(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Jt(e,t,n,s){try{return s?e(...s):e()}catch(r){Ln(r,t,n)}}function He(e,t,n,s){if(q(e)){const r=Jt(e,t,n,s);return r&&jr(r)&&r.catch(i=>{Ln(i,t,n)}),r}if(B(e)){const r=[];for(let i=0;i>>1,r=we[s],i=Bt(r);i=Bt(n)?we.push(e):we.splice(yl(t),0,e),e.flags|=1,di()}}function di(){_n||(_n=ui.then(hi))}function vl(e){B(e)?Ct.push(...e):Je&&e.id===-1?Je.splice(wt+1,0,e):e.flags&1||(Ct.push(e),e.flags|=1),di()}function zs(e,t,n=je+1){for(;nBt(n)-Bt(s));if(Ct.length=0,Je){Je.push(...t);return}for(Je=t,wt=0;wte.id==null?e.flags&2?-1:1/0:e.id;function hi(e){try{for(je=0;je{s._d&&ar(-1);const i=wn(t);let o;try{o=e(...r)}finally{wn(i),s._d&&ar(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Ve(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;oe.__isTeleport,ze=Symbol("_leaveCb"),sn=Symbol("_enterCb");function wl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ot(()=>{e.isMounted=!0}),Ei(()=>{e.isUnmounting=!0}),e}const Re=[Function,Array],mi={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Re,onEnter:Re,onAfterEnter:Re,onEnterCancelled:Re,onBeforeLeave:Re,onLeave:Re,onAfterLeave:Re,onLeaveCancelled:Re,onBeforeAppear:Re,onAppear:Re,onAfterAppear:Re,onAppearCancelled:Re},yi=e=>{const t=e.subTree;return t.component?yi(t.component):t},xl={name:"BaseTransition",props:mi,setup(e,{slots:t}){const n=jn(),s=wl();return()=>{const r=t.default&&bi(t.default(),!0);if(!r||!r.length)return;const i=vi(r),o=J(e),{mode:l}=o;if(s.isLeaving)return Yn(i);const c=Qs(i);if(!c)return Yn(i);let u=ps(c,o,s,n,h=>u=h);c.type!==ye&&kt(c,u);let a=n.subTree&&Qs(n.subTree);if(a&&a.type!==ye&&!ut(c,a)&&yi(n).type!==ye){let h=ps(a,o,s,n);if(kt(a,h),l==="out-in"&&c.type!==ye)return s.isLeaving=!0,h.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete h.afterLeave,a=void 0},Yn(i);l==="in-out"&&c.type!==ye?h.delayLeave=(v,x,L)=>{const O=_i(s,a);O[String(a.key)]=a,v[ze]=()=>{x(),v[ze]=void 0,delete u.delayedLeave,a=void 0},u.delayedLeave=()=>{L(),delete u.delayedLeave,a=void 0}}:a=void 0}else a&&(a=void 0);return i}}};function vi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ye){t=n;break}}return t}const Sl=xl;function _i(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function ps(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:a,onEnterCancelled:h,onBeforeLeave:v,onLeave:x,onAfterLeave:L,onLeaveCancelled:O,onBeforeAppear:G,onAppear:U,onAfterAppear:W,onAppearCancelled:g}=t,p=String(e.key),A=_i(n,e),D=(I,_)=>{I&&He(I,s,9,_)},j=(I,_)=>{const P=_[1];D(I,_),B(I)?I.every(b=>b.length<=1)&&P():I.length<=1&&P()},K={mode:o,persisted:l,beforeEnter(I){let _=c;if(!n.isMounted)if(i)_=G||c;else return;I[ze]&&I[ze](!0);const P=A[p];P&&ut(e,P)&&P.el[ze]&&P.el[ze](),D(_,[I])},enter(I){let _=u,P=a,b=h;if(!n.isMounted)if(i)_=U||u,P=W||a,b=g||h;else return;let V=!1;const se=I[sn]=ie=>{V||(V=!0,ie?D(b,[I]):D(P,[I]),K.delayedLeave&&K.delayedLeave(),I[sn]=void 0)};_?j(_,[I,se]):se()},leave(I,_){const P=String(e.key);if(I[sn]&&I[sn](!0),n.isUnmounting)return _();D(v,[I]);let b=!1;const V=I[ze]=se=>{b||(b=!0,_(),se?D(O,[I]):D(L,[I]),I[ze]=void 0,A[P]===e&&delete A[P])};A[P]=e,x?j(x,[I,V]):V()},clone(I){const _=ps(I,t,n,s,r);return r&&r(_),_}};return K}function Yn(e){if(Nn(e))return e=nt(e),e.children=null,e}function Qs(e){if(!Nn(e))return gi(e.type)&&e.children?vi(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&q(n.default))return n.default()}}function kt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,kt(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 bi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;iWt(L,t&&(B(t)?t[O]:t),n,s,r));return}if(pt(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&Wt(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?Vs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,a=l.refs===te?l.refs={}:l.refs,h=l.setupState,v=J(h),x=h===te?()=>!1:L=>z(v,L);if(u!=null&&u!==c&&(re(u)?(a[u]=null,x(u)&&(h[u]=null)):ce(u)&&(u.value=null)),q(c))Jt(c,l,12,[o,a]);else{const L=re(c),O=ce(c);if(L||O){const G=()=>{if(e.f){const U=L?x(c)?h[c]:a[c]:c.value;r?B(U)&&Ts(U,i):B(U)?U.includes(i)||U.push(i):L?(a[c]=[i],x(c)&&(h[c]=a[c])):(c.value=[i],e.k&&(a[e.k]=c.value))}else L?(a[c]=o,x(c)&&(h[c]=o)):O&&(c.value=o,e.k&&(a[e.k]=o))};o?(G.id=-1,Te(G,n)):G()}}}let Zs=!1;const bt=()=>{Zs||(console.error("Hydration completed but contains mismatches."),Zs=!0)},El=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Cl=e=>e.namespaceURI.includes("MathML"),rn=e=>{if(e.nodeType===1){if(El(e))return"svg";if(Cl(e))return"mathml"}},on=e=>e.nodeType===8;function Tl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,a=(g,p)=>{if(!p.hasChildNodes()){n(null,g,p),bn(),p._vnode=g;return}h(p.firstChild,g,null,null,null),bn(),p._vnode=g},h=(g,p,A,D,j,K=!1)=>{K=K||!!p.dynamicChildren;const I=on(g)&&g.data==="[",_=()=>O(g,p,A,D,j,I),{type:P,ref:b,shapeFlag:V,patchFlag:se}=p;let ie=g.nodeType;p.el=g,se===-2&&(K=!1,p.dynamicChildren=null);let H=null;switch(P){case gt:ie!==3?p.children===""?(c(p.el=r(""),o(g),g),H=g):H=_():(g.data!==p.children&&(bt(),g.data=p.children),H=i(g));break;case ye:W(g)?(H=i(g),U(p.el=g.content.firstChild,g,A)):ie!==8||I?H=_():H=i(g);break;case Dt:if(I&&(g=i(g),ie=g.nodeType),ie===1||ie===3){H=g;const Y=!p.children.length;for(let F=0;F{K=K||!!p.dynamicChildren;const{type:I,props:_,patchFlag:P,shapeFlag:b,dirs:V,transition:se}=p,ie=I==="input"||I==="option";if(ie||P!==-1){V&&Ve(p,null,A,"created");let H=!1;if(W(g)){H=Vi(null,se)&&A&&A.vnode.props&&A.vnode.props.appear;const F=g.content.firstChild;H&&se.beforeEnter(F),U(F,g,A),p.el=g=F}if(b&16&&!(_&&(_.innerHTML||_.textContent))){let F=x(g.firstChild,p,g,A,D,j,K);for(;F;){ln(g,1)||bt();const ae=F;F=F.nextSibling,l(ae)}}else if(b&8){let F=p.children;F[0]===` +`&&(g.tagName==="PRE"||g.tagName==="TEXTAREA")&&(F=F.slice(1)),g.textContent!==F&&(ln(g,0)||bt(),g.textContent=p.children)}if(_){if(ie||!K||P&48){const F=g.tagName.includes("-");for(const ae in _)(ie&&(ae.endsWith("value")||ae==="indeterminate")||Xt(ae)&&!Et(ae)||ae[0]==="."||F)&&s(g,ae,null,_[ae],void 0,A)}else if(_.onClick)s(g,"onClick",null,_.onClick,void 0,A);else if(P&4&&ht(_.style))for(const F in _.style)_.style[F]}let Y;(Y=_&&_.onVnodeBeforeMount)&&Oe(Y,A,p),V&&Ve(p,null,A,"beforeMount"),((Y=_&&_.onVnodeMounted)||V||H)&&Yi(()=>{Y&&Oe(Y,A,p),H&&se.enter(g),V&&Ve(p,null,A,"mounted")},D)}return g.nextSibling},x=(g,p,A,D,j,K,I)=>{I=I||!!p.dynamicChildren;const _=p.children,P=_.length;for(let b=0;b{const{slotScopeIds:I}=p;I&&(j=j?j.concat(I):I);const _=o(g),P=x(i(g),p,_,A,D,j,K);return P&&on(P)&&P.data==="]"?i(p.anchor=P):(bt(),c(p.anchor=u("]"),_,P),P)},O=(g,p,A,D,j,K)=>{if(ln(g.parentElement,1)||bt(),p.el=null,K){const P=G(g);for(;;){const b=i(g);if(b&&b!==P)l(b);else break}}const I=i(g),_=o(g);return l(g),n(null,p,_,I,A,D,rn(_),j),A&&(A.vnode.el=p.el,qi(A,p.el)),I},G=(g,p="[",A="]")=>{let D=0;for(;g;)if(g=i(g),g&&on(g)&&(g.data===p&&D++,g.data===A)){if(D===0)return i(g);D--}return g},U=(g,p,A)=>{const D=p.parentNode;D&&D.replaceChild(g,p);let j=A;for(;j;)j.vnode.el===p&&(j.vnode.el=j.subTree.el=g),j=j.parent},W=g=>g.nodeType===1&&g.tagName==="TEMPLATE";return[a,h]}const er="data-allow-mismatch",Al={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function ln(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(er);)e=e.parentElement;const n=e&&e.getAttribute(er);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(Al[t])}}An().requestIdleCallback;An().cancelIdleCallback;const pt=e=>!!e.type.__asyncLoader,Nn=e=>e.type.__isKeepAlive;function Rl(e,t){Si(e,"a",t)}function Ol(e,t){Si(e,"da",t)}function Si(e,t,n=fe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Nn(r.parent.vnode)&&Ml(s,t,n,r),r=r.parent}}function Ml(e,t,n,s){const r=Fn(t,e,s,!0);Hn(()=>{Ts(s[t],r)},n)}function Fn(e,t,n=fe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=zt(n),c=He(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const Ye=e=>(t,n=fe)=>{(!Gt||e==="sp")&&Fn(e,(...s)=>t(...s),n)},Il=Ye("bm"),Ot=Ye("m"),Ll=Ye("bu"),Pl=Ye("u"),Ei=Ye("bum"),Hn=Ye("um"),Nl=Ye("sp"),Fl=Ye("rtg"),Hl=Ye("rtc");function $l(e,t=fe){Fn("ec",e,t)}const Ci="components";function Ja(e,t){return Ai(Ci,e,!0,t)||e}const Ti=Symbol.for("v-ndc");function za(e){return re(e)?Ai(Ci,e,!1)||e:e||Ti}function Ai(e,t,n=!0,s=!1){const r=ve||fe;if(r){const i=r.type;{const l=wc(i,!1);if(l&&(l===t||l===Le(t)||l===Tn(Le(t))))return i}const o=tr(r[e]||i[e],t)||tr(r.appContext[e],t);return!o&&s?i:o}}function tr(e,t){return e&&(e[t]||e[Le(t)]||e[Tn(Le(t))])}function Qa(e,t,n,s){let r;const i=n,o=B(e);if(o||re(e)){const l=o&&ht(e);let c=!1;l&&(c=!Ie(e),e=On(e)),r=new Array(e.length);for(let u=0,a=e.length;ut(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;cqt(t)?!(t.type===ye||t.type===xe&&!Ri(t.children)):!0)?e:null}function ef(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:dn(s)]=e[s];return n}const gs=e=>e?Zi(e)?Vs(e):gs(e.parent):null,$t=le(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=>gs(e.parent),$root:e=>gs(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>$s(e),$forceUpdate:e=>e.f||(e.f=()=>{Hs(e.update)}),$nextTick:e=>e.n||(e.n=Pn.bind(e.proxy)),$watch:e=>ic.bind(e)}),Xn=(e,t)=>e!==te&&!e.__isScriptSetup&&z(e,t),Dl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const x=o[t];if(x!==void 0)switch(x){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Xn(s,t))return o[t]=1,s[t];if(r!==te&&z(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&z(u,t))return o[t]=3,i[t];if(n!==te&&z(n,t))return o[t]=4,n[t];ms&&(o[t]=0)}}const a=$t[t];let h,v;if(a)return t==="$attrs"&&ge(e.attrs,"get",""),a(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&z(n,t))return o[t]=4,n[t];if(v=c.config.globalProperties,z(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Xn(r,t)?(r[t]=n,!0):s!==te&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&z(e,o)||Xn(t,o)||(l=i[0])&&z(l,o)||z(s,o)||z($t,o)||z(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function tf(){return jl().slots}function jl(){const e=jn();return e.setupContext||(e.setupContext=to(e))}function nr(e){return B(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ms=!0;function Vl(e){const t=$s(e),n=e.proxy,s=e.ctx;ms=!1,t.beforeCreate&&sr(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:a,beforeMount:h,mounted:v,beforeUpdate:x,updated:L,activated:O,deactivated:G,beforeDestroy:U,beforeUnmount:W,destroyed:g,unmounted:p,render:A,renderTracked:D,renderTriggered:j,errorCaptured:K,serverPrefetch:I,expose:_,inheritAttrs:P,components:b,directives:V,filters:se}=t;if(u&&Ul(u,s,null),o)for(const Y in o){const F=o[Y];q(F)&&(s[Y]=F.bind(n))}if(r){const Y=r.call(n,n);ne(Y)&&(e.data=Mn(Y))}if(ms=!0,i)for(const Y in i){const F=i[Y],ae=q(F)?F.bind(n,n):q(F.get)?F.get.bind(n,n):Ue,Qt=!q(F)&&q(F.set)?F.set.bind(n):Ue,ot=oe({get:ae,set:Qt});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>ot.value,set:$e=>ot.value=$e})}if(l)for(const Y in l)Oi(l[Y],s,n,Y);if(c){const Y=q(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(F=>{Gl(F,Y[F])})}a&&sr(a,e,"c");function H(Y,F){B(F)?F.forEach(ae=>Y(ae.bind(n))):F&&Y(F.bind(n))}if(H(Il,h),H(Ot,v),H(Ll,x),H(Pl,L),H(Rl,O),H(Ol,G),H($l,K),H(Hl,D),H(Fl,j),H(Ei,W),H(Hn,p),H(Nl,I),B(_))if(_.length){const Y=e.exposed||(e.exposed={});_.forEach(F=>{Object.defineProperty(Y,F,{get:()=>n[F],set:ae=>n[F]=ae})})}else e.exposed||(e.exposed={});A&&e.render===Ue&&(e.render=A),P!=null&&(e.inheritAttrs=P),b&&(e.components=b),V&&(e.directives=V),I&&xi(e)}function Ul(e,t,n=Ue){B(e)&&(e=ys(e));for(const s in e){const r=e[s];let i;ne(r)?"default"in r?i=At(r.from||s,r.default,!0):i=At(r.from||s):i=At(r),ce(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function sr(e,t,n){He(B(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Oi(e,t,n,s){let r=s.includes(".")?Wi(n,s):()=>n[s];if(re(e)){const i=t[e];q(i)&&Fe(r,i)}else if(q(e))Fe(r,e.bind(n));else if(ne(e))if(B(e))e.forEach(i=>Oi(i,t,n,s));else{const i=q(e.handler)?e.handler.bind(n):t[e.handler];q(i)&&Fe(r,i,e)}}function $s(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>xn(c,u,o,!0)),xn(c,t,o)),ne(t)&&i.set(t,c),c}function xn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&xn(e,i,n,!0),r&&r.forEach(o=>xn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Bl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Bl={data:rr,props:ir,emits:ir,methods:Nt,computed:Nt,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:Nt,directives:Nt,watch:Wl,provide:rr,inject:kl};function rr(e,t){return t?e?function(){return le(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function kl(e,t){return Nt(ys(e),ys(t))}function ys(e){if(B(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(s&&s.proxy):t}}const Ii={},Li=()=>Object.create(Ii),Pi=e=>Object.getPrototypeOf(e)===Ii;function Yl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),Ni(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:sl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Xl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[v,x]=Fi(h,t,!0);le(o,v),x&&l.push(...x)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&s.set(e,xt),xt;if(B(i))for(let a=0;ae[0]==="_"||e==="$stable",Ds=e=>B(e)?e.map(Me):[Me(e)],zl=(e,t,n)=>{if(t._n)return t;const s=_l((...r)=>Ds(t(...r)),n);return s._c=!1,s},$i=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Hi(r))continue;const i=e[r];if(q(i))t[r]=zl(r,i,s);else if(i!=null){const o=Ds(i);t[r]=()=>o}}},Di=(e,t)=>{const n=Ds(t);e.slots.default=()=>n},ji=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},Ql=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(ji(s,t,n),n&&Br(s,"_",r,!0)):$i(t,s)}else t&&Di(e,t)},Zl=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:ji(r,t,n):(i=!t.$stable,$i(t,r)),o=t}else t&&(Di(e,t),o={default:1});if(i)for(const l in r)!Hi(l)&&o[l]==null&&delete r[l]},Te=Yi;function ec(e){return tc(e,Tl)}function tc(e,t){const n=An();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:a,parentNode:h,nextSibling:v,setScopeId:x=Ue,insertStaticContent:L}=e,O=(f,d,m,S=null,y=null,w=null,R=void 0,T=null,C=!!d.dynamicChildren)=>{if(f===d)return;f&&!ut(f,d)&&(S=Zt(f),$e(f,y,w,!0),f=null),d.patchFlag===-2&&(C=!1,d.dynamicChildren=null);const{type:E,ref:$,shapeFlag:M}=d;switch(E){case gt:G(f,d,m,S);break;case ye:U(f,d,m,S);break;case Dt:f==null&&W(d,m,S,R);break;case xe:b(f,d,m,S,y,w,R,T,C);break;default:M&1?A(f,d,m,S,y,w,R,T,C):M&6?V(f,d,m,S,y,w,R,T,C):(M&64||M&128)&&E.process(f,d,m,S,y,w,R,T,C,vt)}$!=null&&y&&Wt($,f&&f.ref,w,d||f,!d)},G=(f,d,m,S)=>{if(f==null)s(d.el=l(d.children),m,S);else{const y=d.el=f.el;d.children!==f.children&&u(y,d.children)}},U=(f,d,m,S)=>{f==null?s(d.el=c(d.children||""),m,S):d.el=f.el},W=(f,d,m,S)=>{[f.el,f.anchor]=L(f.children,d,m,S,f.el,f.anchor)},g=({el:f,anchor:d},m,S)=>{let y;for(;f&&f!==d;)y=v(f),s(f,m,S),f=y;s(d,m,S)},p=({el:f,anchor:d})=>{let m;for(;f&&f!==d;)m=v(f),r(f),f=m;r(d)},A=(f,d,m,S,y,w,R,T,C)=>{d.type==="svg"?R="svg":d.type==="math"&&(R="mathml"),f==null?D(d,m,S,y,w,R,T,C):I(f,d,y,w,R,T,C)},D=(f,d,m,S,y,w,R,T)=>{let C,E;const{props:$,shapeFlag:M,transition:N,dirs:k}=f;if(C=f.el=o(f.type,w,$&&$.is,$),M&8?a(C,f.children):M&16&&K(f.children,C,null,S,y,Jn(f,w),R,T),k&&Ve(f,null,S,"created"),j(C,f,f.scopeId,R,S),$){for(const Z in $)Z!=="value"&&!Et(Z)&&i(C,Z,null,$[Z],w,S);"value"in $&&i(C,"value",null,$.value,w),(E=$.onVnodeBeforeMount)&&Oe(E,S,f)}k&&Ve(f,null,S,"beforeMount");const X=Vi(y,N);X&&N.beforeEnter(C),s(C,d,m),((E=$&&$.onVnodeMounted)||X||k)&&Te(()=>{E&&Oe(E,S,f),X&&N.enter(C),k&&Ve(f,null,S,"mounted")},y)},j=(f,d,m,S,y)=>{if(m&&x(f,m),S)for(let w=0;w{for(let E=C;E{const T=d.el=f.el;let{patchFlag:C,dynamicChildren:E,dirs:$}=d;C|=f.patchFlag&16;const M=f.props||te,N=d.props||te;let k;if(m&<(m,!1),(k=N.onVnodeBeforeUpdate)&&Oe(k,m,d,f),$&&Ve(d,f,m,"beforeUpdate"),m&<(m,!0),(M.innerHTML&&N.innerHTML==null||M.textContent&&N.textContent==null)&&a(T,""),E?_(f.dynamicChildren,E,T,m,S,Jn(d,y),w):R||F(f,d,T,null,m,S,Jn(d,y),w,!1),C>0){if(C&16)P(T,M,N,m,y);else if(C&2&&M.class!==N.class&&i(T,"class",null,N.class,y),C&4&&i(T,"style",M.style,N.style,y),C&8){const X=d.dynamicProps;for(let Z=0;Z{k&&Oe(k,m,d,f),$&&Ve(d,f,m,"updated")},S)},_=(f,d,m,S,y,w,R)=>{for(let T=0;T{if(d!==m){if(d!==te)for(const w in d)!Et(w)&&!(w in m)&&i(f,w,d[w],null,y,S);for(const w in m){if(Et(w))continue;const R=m[w],T=d[w];R!==T&&w!=="value"&&i(f,w,T,R,y,S)}"value"in m&&i(f,"value",d.value,m.value,y)}},b=(f,d,m,S,y,w,R,T,C)=>{const E=d.el=f?f.el:l(""),$=d.anchor=f?f.anchor:l("");let{patchFlag:M,dynamicChildren:N,slotScopeIds:k}=d;k&&(T=T?T.concat(k):k),f==null?(s(E,m,S),s($,m,S),K(d.children||[],m,$,y,w,R,T,C)):M>0&&M&64&&N&&f.dynamicChildren?(_(f.dynamicChildren,N,m,y,w,R,T),(d.key!=null||y&&d===y.subTree)&&Ui(f,d,!0)):F(f,d,m,$,y,w,R,T,C)},V=(f,d,m,S,y,w,R,T,C)=>{d.slotScopeIds=T,f==null?d.shapeFlag&512?y.ctx.activate(d,m,S,R,C):se(d,m,S,y,w,R,C):ie(f,d,C)},se=(f,d,m,S,y,w,R)=>{const T=f.component=yc(f,S,y);if(Nn(f)&&(T.ctx.renderer=vt),vc(T,!1,R),T.asyncDep){if(y&&y.registerDep(T,H,R),!f.el){const C=T.subTree=de(ye);U(null,C,d,m)}}else H(T,f,d,m,y,w,R)},ie=(f,d,m)=>{const S=d.component=f.component;if(fc(f,d,m))if(S.asyncDep&&!S.asyncResolved){Y(S,d,m);return}else S.next=d,S.update();else d.el=f.el,S.vnode=d},H=(f,d,m,S,y,w,R)=>{const T=()=>{if(f.isMounted){let{next:M,bu:N,u:k,parent:X,vnode:Z}=f;{const Ee=Bi(f);if(Ee){M&&(M.el=Z.el,Y(f,M,R)),Ee.asyncDep.then(()=>{f.isUnmounted||T()});return}}let Q=M,Se;lt(f,!1),M?(M.el=Z.el,Y(f,M,R)):M=Z,N&&kn(N),(Se=M.props&&M.props.onVnodeBeforeUpdate)&&Oe(Se,X,M,Z),lt(f,!0);const he=zn(f),Pe=f.subTree;f.subTree=he,O(Pe,he,h(Pe.el),Zt(Pe),f,y,w),M.el=he.el,Q===null&&qi(f,he.el),k&&Te(k,y),(Se=M.props&&M.props.onVnodeUpdated)&&Te(()=>Oe(Se,X,M,Z),y)}else{let M;const{el:N,props:k}=d,{bm:X,m:Z,parent:Q,root:Se,type:he}=f,Pe=pt(d);if(lt(f,!1),X&&kn(X),!Pe&&(M=k&&k.onVnodeBeforeMount)&&Oe(M,Q,d),lt(f,!0),N&&Bn){const Ee=()=>{f.subTree=zn(f),Bn(N,f.subTree,f,y,null)};Pe&&he.__asyncHydrate?he.__asyncHydrate(N,f,Ee):Ee()}else{Se.ce&&Se.ce._injectChildStyle(he);const Ee=f.subTree=zn(f);O(null,Ee,m,S,f,y,w),d.el=Ee.el}if(Z&&Te(Z,y),!Pe&&(M=k&&k.onVnodeMounted)){const Ee=d;Te(()=>Oe(M,Q,Ee),y)}(d.shapeFlag&256||Q&&pt(Q.vnode)&&Q.vnode.shapeFlag&256)&&f.a&&Te(f.a,y),f.isMounted=!0,d=m=S=null}};f.scope.on();const C=f.effect=new Gr(T);f.scope.off();const E=f.update=C.run.bind(C),$=f.job=C.runIfDirty.bind(C);$.i=f,$.id=f.uid,C.scheduler=()=>Hs($),lt(f,!0),E()},Y=(f,d,m)=>{d.component=f;const S=f.vnode.props;f.vnode=d,f.next=null,Xl(f,d.props,S,m),Zl(f,d.children,m),rt(),zs(f),it()},F=(f,d,m,S,y,w,R,T,C=!1)=>{const E=f&&f.children,$=f?f.shapeFlag:0,M=d.children,{patchFlag:N,shapeFlag:k}=d;if(N>0){if(N&128){Qt(E,M,m,S,y,w,R,T,C);return}else if(N&256){ae(E,M,m,S,y,w,R,T,C);return}}k&8?($&16&&Mt(E,y,w),M!==E&&a(m,M)):$&16?k&16?Qt(E,M,m,S,y,w,R,T,C):Mt(E,y,w,!0):($&8&&a(m,""),k&16&&K(M,m,S,y,w,R,T,C))},ae=(f,d,m,S,y,w,R,T,C)=>{f=f||xt,d=d||xt;const E=f.length,$=d.length,M=Math.min(E,$);let N;for(N=0;N$?Mt(f,y,w,!0,!1,M):K(d,m,S,y,w,R,T,C,M)},Qt=(f,d,m,S,y,w,R,T,C)=>{let E=0;const $=d.length;let M=f.length-1,N=$-1;for(;E<=M&&E<=N;){const k=f[E],X=d[E]=C?Qe(d[E]):Me(d[E]);if(ut(k,X))O(k,X,m,null,y,w,R,T,C);else break;E++}for(;E<=M&&E<=N;){const k=f[M],X=d[N]=C?Qe(d[N]):Me(d[N]);if(ut(k,X))O(k,X,m,null,y,w,R,T,C);else break;M--,N--}if(E>M){if(E<=N){const k=N+1,X=k<$?d[k].el:S;for(;E<=N;)O(null,d[E]=C?Qe(d[E]):Me(d[E]),m,X,y,w,R,T,C),E++}}else if(E>N)for(;E<=M;)$e(f[E],y,w,!0),E++;else{const k=E,X=E,Z=new Map;for(E=X;E<=N;E++){const Ce=d[E]=C?Qe(d[E]):Me(d[E]);Ce.key!=null&&Z.set(Ce.key,E)}let Q,Se=0;const he=N-X+1;let Pe=!1,Ee=0;const It=new Array(he);for(E=0;E=he){$e(Ce,y,w,!0);continue}let De;if(Ce.key!=null)De=Z.get(Ce.key);else for(Q=X;Q<=N;Q++)if(It[Q-X]===0&&ut(Ce,d[Q])){De=Q;break}De===void 0?$e(Ce,y,w,!0):(It[De-X]=E+1,De>=Ee?Ee=De:Pe=!0,O(Ce,d[De],m,null,y,w,R,T,C),Se++)}const qs=Pe?nc(It):xt;for(Q=qs.length-1,E=he-1;E>=0;E--){const Ce=X+E,De=d[Ce],Gs=Ce+1<$?d[Ce+1].el:S;It[E]===0?O(null,De,m,Gs,y,w,R,T,C):Pe&&(Q<0||E!==qs[Q]?ot(De,m,Gs,2):Q--)}}},ot=(f,d,m,S,y=null)=>{const{el:w,type:R,transition:T,children:C,shapeFlag:E}=f;if(E&6){ot(f.component.subTree,d,m,S);return}if(E&128){f.suspense.move(d,m,S);return}if(E&64){R.move(f,d,m,vt);return}if(R===xe){s(w,d,m);for(let M=0;MT.enter(w),y);else{const{leave:M,delayLeave:N,afterLeave:k}=T,X=()=>s(w,d,m),Z=()=>{M(w,()=>{X(),k&&k()})};N?N(w,X,Z):Z()}else s(w,d,m)},$e=(f,d,m,S=!1,y=!1)=>{const{type:w,props:R,ref:T,children:C,dynamicChildren:E,shapeFlag:$,patchFlag:M,dirs:N,cacheIndex:k}=f;if(M===-2&&(y=!1),T!=null&&Wt(T,null,m,f,!0),k!=null&&(d.renderCache[k]=void 0),$&256){d.ctx.deactivate(f);return}const X=$&1&&N,Z=!pt(f);let Q;if(Z&&(Q=R&&R.onVnodeBeforeUnmount)&&Oe(Q,d,f),$&6)wo(f.component,m,S);else{if($&128){f.suspense.unmount(m,S);return}X&&Ve(f,null,d,"beforeUnmount"),$&64?f.type.remove(f,d,m,vt,S):E&&!E.hasOnce&&(w!==xe||M>0&&M&64)?Mt(E,d,m,!1,!0):(w===xe&&M&384||!y&&$&16)&&Mt(C,d,m),S&&Ws(f)}(Z&&(Q=R&&R.onVnodeUnmounted)||X)&&Te(()=>{Q&&Oe(Q,d,f),X&&Ve(f,null,d,"unmounted")},m)},Ws=f=>{const{type:d,el:m,anchor:S,transition:y}=f;if(d===xe){bo(m,S);return}if(d===Dt){p(f);return}const w=()=>{r(m),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(f.shapeFlag&1&&y&&!y.persisted){const{leave:R,delayLeave:T}=y,C=()=>R(m,w);T?T(f.el,w,C):C()}else w()},bo=(f,d)=>{let m;for(;f!==d;)m=v(f),r(f),f=m;r(d)},wo=(f,d,m)=>{const{bum:S,scope:y,job:w,subTree:R,um:T,m:C,a:E}=f;lr(C),lr(E),S&&kn(S),y.stop(),w&&(w.flags|=8,$e(R,f,d,m)),T&&Te(T,d),Te(()=>{f.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},Mt=(f,d,m,S=!1,y=!1,w=0)=>{for(let R=w;R{if(f.shapeFlag&6)return Zt(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const d=v(f.anchor||f.el),m=d&&d[bl];return m?v(m):d};let Vn=!1;const Ks=(f,d,m)=>{f==null?d._vnode&&$e(d._vnode,null,null,!0):O(d._vnode||null,f,d,null,null,null,m),d._vnode=f,Vn||(Vn=!0,zs(),bn(),Vn=!1)},vt={p:O,um:$e,m:ot,r:Ws,mt:se,mc:K,pc:F,pbc:_,n:Zt,o:e};let Un,Bn;return t&&([Un,Bn]=t(vt)),{render:Ks,hydrate:Un,createApp:ql(Ks,Un)}}function Jn({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 lt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Vi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ui(e,t,n=!1){const s=e.children,r=t.children;if(B(s)&&B(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Bi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Bi(t)}function lr(e){if(e)for(let t=0;tAt(sc);function ki(e,t){return $n(e,null,t)}function nf(e,t){return $n(e,null,{flush:"post"})}function Fe(e,t,n){return $n(e,t,n)}function $n(e,t,n=te){const{immediate:s,deep:r,flush:i,once:o}=n,l=le({},n),c=t&&s||!t&&i!=="post";let u;if(Gt){if(i==="sync"){const x=rc();u=x.__watcherHandles||(x.__watcherHandles=[])}else if(!c){const x=()=>{};return x.stop=Ue,x.resume=Ue,x.pause=Ue,x}}const a=fe;l.call=(x,L,O)=>He(x,a,L,O);let h=!1;i==="post"?l.scheduler=x=>{Te(x,a&&a.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(x,L)=>{L?x():Hs(x)}),l.augmentJob=x=>{t&&(x.flags|=4),h&&(x.flags|=2,a&&(x.id=a.uid,x.i=a))};const v=gl(e,t,l);return Gt&&(u?u.push(v):c&&v()),v}function ic(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?Wi(s,e):()=>s[e]:e.bind(s,s);let i;q(t)?i=t:(i=t.handler,n=t);const o=zt(this),l=$n(r,i.bind(s),n);return o(),l}function Wi(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${st(t)}Modifiers`];function lc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||te;let r=n;const i=t.startsWith("update:"),o=i&&oc(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>re(a)?a.trim():a)),o.number&&(r=n.map(Ao)));let l,c=s[l=dn(t)]||s[l=dn(Le(t))];!c&&i&&(c=s[l=dn(st(t))]),c&&He(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(u,e,6,r)}}function Ki(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!q(e)){const c=u=>{const a=Ki(u,t,!0);a&&(l=!0,le(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&s.set(e,null),null):(B(i)?i.forEach(c=>o[c]=null):le(o,i),ne(e)&&s.set(e,o),o)}function Dn(e,t){return!e||!Xt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,st(t))||z(e,t))}function zn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:a,props:h,data:v,setupState:x,ctx:L,inheritAttrs:O}=e,G=wn(e);let U,W;try{if(n.shapeFlag&4){const p=r||s,A=p;U=Me(u.call(A,p,a,h,x,v,L)),W=l}else{const p=t;U=Me(p.length>1?p(h,{attrs:l,slots:o,emit:c}):p(h,null)),W=t.props?l:cc(l)}}catch(p){jt.length=0,Ln(p,e,1),U=de(ye)}let g=U;if(W&&O!==!1){const p=Object.keys(W),{shapeFlag:A}=g;p.length&&A&7&&(i&&p.some(Cs)&&(W=ac(W,i)),g=nt(g,W,!1,!0))}return n.dirs&&(g=nt(g,null,!1,!0),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&kt(g,n.transition),U=g,wn(G),U}const cc=e=>{let t;for(const n in e)(n==="class"||n==="style"||Xt(n))&&((t||(t={}))[n]=e[n]);return t},ac=(e,t)=>{const n={};for(const s in e)(!Cs(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function fc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?cr(s,o,u):!!o;if(c&8){const a=t.dynamicProps;for(let h=0;he.__isSuspense;function Yi(e,t){t&&t.pendingBranch?B(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const xe=Symbol.for("v-fgt"),gt=Symbol.for("v-txt"),ye=Symbol.for("v-cmt"),Dt=Symbol.for("v-stc"),jt=[];let Ae=null;function _s(e=!1){jt.push(Ae=e?null:[])}function uc(){jt.pop(),Ae=jt[jt.length-1]||null}let Kt=1;function ar(e,t=!1){Kt+=e,e<0&&Ae&&t&&(Ae.hasOnce=!0)}function Xi(e){return e.dynamicChildren=Kt>0?Ae||xt:null,uc(),Kt>0&&Ae&&Ae.push(e),e}function sf(e,t,n,s,r,i){return Xi(zi(e,t,n,s,r,i,!0))}function bs(e,t,n,s,r){return Xi(de(e,t,n,s,r,!0))}function qt(e){return e?e.__v_isVNode===!0:!1}function ut(e,t){return e.type===t.type&&e.key===t.key}const Ji=({key:e})=>e??null,pn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ce(e)||q(e)?{i:ve,r:e,k:t,f:!!n}:e:null);function zi(e,t=null,n=null,s=0,r=null,i=e===xe?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ji(t),ref:t&&pn(t),scopeId:pi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ve};return l?(js(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),Kt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const de=dc;function dc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Ti)&&(e=ye),qt(e)){const l=nt(e,t,!0);return n&&js(l,n),Kt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(xc(e)&&(e=e.__vccOpts),t){t=hc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=Os(l)),ne(c)&&(Fs(c)&&!B(c)&&(c=le({},c)),t.style=Rs(c))}const o=re(e)?1:Gi(e)?128:gi(e)?64:ne(e)?4:q(e)?2:0;return zi(e,t,n,s,r,o,i,!0)}function hc(e){return e?Fs(e)||Pi(e)?le({},e):e:null}function nt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?pc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ji(u),ref:t&&t.ref?n&&i?B(i)?i.concat(pn(t)):[i,pn(t)]:pn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==xe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&kt(a,c.clone(a)),a}function Qi(e=" ",t=0){return de(gt,null,e,t)}function rf(e,t){const n=de(Dt,null,e);return n.staticCount=t,n}function of(e="",t=!1){return t?(_s(),bs(ye,null,e)):de(ye,null,e)}function Me(e){return e==null||typeof e=="boolean"?de(ye):B(e)?de(xe,null,e.slice()):qt(e)?Qe(e):de(gt,null,String(e))}function Qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function js(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(B(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),js(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Pi(t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:ve},n=32):(t=String(t),s&64?(n=16,t=[Qi(t)]):n=8);e.children=t,e.shapeFlag|=n}function pc(...e){const t={};for(let n=0;nfe||ve;let Sn,ws;{const e=An(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Sn=t("__VUE_INSTANCE_SETTERS__",n=>fe=n),ws=t("__VUE_SSR_SETTERS__",n=>Gt=n)}const zt=e=>{const t=fe;return Sn(e),e.scope.on(),()=>{e.scope.off(),Sn(t)}},fr=()=>{fe&&fe.scope.off(),Sn(null)};function Zi(e){return e.vnode.shapeFlag&4}let Gt=!1;function vc(e,t=!1,n=!1){t&&ws(t);const{props:s,children:r}=e.vnode,i=Zi(e);Yl(e,s,i,t),Ql(e,r,n);const o=i?_c(e,t):void 0;return t&&ws(!1),o}function _c(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Dl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?to(e):null,i=zt(e),o=Jt(s,e,0,[e.props,r]),l=jr(o);if(it(),i(),(l||e.sp)&&!pt(e)&&xi(e),l){if(o.then(fr,fr),t)return o.then(c=>{ur(e,c,t)}).catch(c=>{Ln(c,e,0)});e.asyncDep=o}else ur(e,o,t)}else eo(e,t)}function ur(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=fi(t)),eo(e,n)}let dr;function eo(e,t,n){const s=e.type;if(!e.render){if(!t&&dr&&!s.render){const r=s.template||$s(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=le(le({isCustomElement:i,delimiters:l},o),c);s.render=dr(r,u)}}e.render=s.render||Ue}{const r=zt(e);rt();try{Vl(e)}finally{it(),r()}}}const bc={get(e,t){return ge(e,"get",""),e[t]}};function to(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,bc),slots:e.slots,emit:e.emit,expose:t}}function Vs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fi(hn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in $t)return $t[n](e)},has(t,n){return n in t||n in $t}})):e.proxy}function wc(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function xc(e){return q(e)&&"__vccOpts"in e}const oe=(e,t)=>hl(e,t,Gt);function xs(e,t,n){const s=arguments.length;return s===2?ne(t)&&!B(t)?qt(t)?de(e,null,[t]):de(e,t):de(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&qt(n)&&(n=[n]),de(e,t,n))}const Sc="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ss;const hr=typeof window<"u"&&window.trustedTypes;if(hr)try{Ss=hr.createPolicy("vue",{createHTML:e=>e})}catch{}const no=Ss?e=>Ss.createHTML(e):e=>e,Ec="http://www.w3.org/2000/svg",Cc="http://www.w3.org/1998/Math/MathML",We=typeof document<"u"?document:null,pr=We&&We.createElement("template"),Tc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?We.createElementNS(Ec,e):t==="mathml"?We.createElementNS(Cc,e):n?We.createElement(e,{is:n}):We.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>We.createTextNode(e),createComment:e=>We.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>We.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{pr.innerHTML=no(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=pr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Xe="transition",Pt="animation",Yt=Symbol("_vtc"),so={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},Ac=le({},mi,so),Rc=e=>(e.displayName="Transition",e.props=Ac,e),lf=Rc((e,{slots:t})=>xs(Sl,Oc(e),t)),ct=(e,t=[])=>{B(e)?e.forEach(n=>n(...t)):e&&e(...t)},gr=e=>e?B(e)?e.some(t=>t.length>1):e.length>1:!1;function Oc(e){const t={};for(const b in e)b in so||(t[b]=e[b]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:a=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:x=`${n}-leave-to`}=e,L=Mc(r),O=L&&L[0],G=L&&L[1],{onBeforeEnter:U,onEnter:W,onEnterCancelled:g,onLeave:p,onLeaveCancelled:A,onBeforeAppear:D=U,onAppear:j=W,onAppearCancelled:K=g}=t,I=(b,V,se,ie)=>{b._enterCancelled=ie,at(b,V?a:l),at(b,V?u:o),se&&se()},_=(b,V)=>{b._isLeaving=!1,at(b,h),at(b,x),at(b,v),V&&V()},P=b=>(V,se)=>{const ie=b?j:W,H=()=>I(V,b,se);ct(ie,[V,H]),mr(()=>{at(V,b?c:i),ke(V,b?a:l),gr(ie)||yr(V,s,O,H)})};return le(t,{onBeforeEnter(b){ct(U,[b]),ke(b,i),ke(b,o)},onBeforeAppear(b){ct(D,[b]),ke(b,c),ke(b,u)},onEnter:P(!1),onAppear:P(!0),onLeave(b,V){b._isLeaving=!0;const se=()=>_(b,V);ke(b,h),b._enterCancelled?(ke(b,v),br()):(br(),ke(b,v)),mr(()=>{b._isLeaving&&(at(b,h),ke(b,x),gr(p)||yr(b,s,G,se))}),ct(p,[b,se])},onEnterCancelled(b){I(b,!1,void 0,!0),ct(g,[b])},onAppearCancelled(b){I(b,!0,void 0,!0),ct(K,[b])},onLeaveCancelled(b){_(b),ct(A,[b])}})}function Mc(e){if(e==null)return null;if(ne(e))return[Qn(e.enter),Qn(e.leave)];{const t=Qn(e);return[t,t]}}function Qn(e){return Ro(e)}function ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Yt]||(e[Yt]=new Set)).add(t)}function at(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Yt];n&&(n.delete(t),n.size||(e[Yt]=void 0))}function mr(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ic=0;function yr(e,t,n,s){const r=e._endId=++Ic,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Lc(e,t);if(!o)return s();const u=o+"end";let a=0;const h=()=>{e.removeEventListener(u,v),i()},v=x=>{x.target===e&&++a>=c&&h()};setTimeout(()=>{a(n[L]||"").split(", "),r=s(`${Xe}Delay`),i=s(`${Xe}Duration`),o=vr(r,i),l=s(`${Pt}Delay`),c=s(`${Pt}Duration`),u=vr(l,c);let a=null,h=0,v=0;t===Xe?o>0&&(a=Xe,h=o,v=i.length):t===Pt?u>0&&(a=Pt,h=u,v=c.length):(h=Math.max(o,u),a=h>0?o>u?Xe:Pt:null,v=a?a===Xe?i.length:c.length:0);const x=a===Xe&&/\b(transform|all)(,|$)/.test(s(`${Xe}Property`).toString());return{type:a,timeout:h,propCount:v,hasTransform:x}}function vr(e,t){for(;e.length_r(n)+_r(e[s])))}function _r(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function br(){return document.body.offsetHeight}function Pc(e,t,n){const s=e[Yt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const wr=Symbol("_vod"),Nc=Symbol("_vsh"),Fc=Symbol(""),Hc=/(^|;)\s*display\s*:/;function $c(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&gn(s,l,"")}else for(const o in t)n[o]==null&&gn(s,o,"");for(const o in n)o==="display"&&(i=!0),gn(s,o,n[o])}else if(r){if(t!==n){const o=s[Fc];o&&(n+=";"+o),s.cssText=n,i=Hc.test(n)}}else t&&e.removeAttribute("style");wr in e&&(e[wr]=i?s.display:"",e[Nc]&&(s.display="none"))}const xr=/\s*!important$/;function gn(e,t,n){if(B(n))n.forEach(s=>gn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Dc(e,t);xr.test(n)?e.setProperty(st(s),n.replace(xr,""),"important"):e[s]=n}}const Sr=["Webkit","Moz","ms"],Zn={};function Dc(e,t){const n=Zn[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return Zn[t]=s;s=Tn(s);for(let r=0;res||(kc.then(()=>es=0),es=Date.now());function Kc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;He(qc(s,n.value),t,5,[s])};return n.value=e,n.attached=Wc(),n}function qc(e,t){if(B(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Or=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Gc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Pc(e,s,o):t==="style"?$c(e,n,s):Xt(t)?Cs(t)||Uc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Yc(e,t,s,o))?(Tr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Cr(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!re(s))?Tr(e,Le(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Cr(e,t,s,o))};function Yc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Or(t)&&q(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Or(t)&&re(n)?!1:t in e}const Xc=["ctrl","shift","alt","meta"],Jc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Xc.some(n=>e[`${n}Key`]&&!t.includes(n))},cf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=st(r.key);if(t.some(o=>o===i||zc[o]===i))return e(r)})},Qc=le({patchProp:Gc},Tc);let ts,Mr=!1;function Zc(){return ts=Mr?ts:ec(Qc),Mr=!0,ts}const ff=(...e)=>{const t=Zc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ta(s);if(r)return n(r,!0,ea(r))},t};function ea(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ta(e){return re(e)?document.querySelector(e):e}const uf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},na=window.__VP_SITE_DATA__;function Us(e){return qr()?($o(e),!0):!1}function tt(e){return typeof e=="function"?e():ai(e)}const ro=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const sa=Object.prototype.toString,ra=e=>sa.call(e)==="[object Object]",io=()=>{},Ir=ia();function ia(){var e,t;return ro&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function oa(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const oo=e=>e();function la(e=oo){const t=ue(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:In(t),pause:n,resume:s,eventFilter:r}}function ca(e){return jn()}function lo(...e){if(e.length!==1)return fl(...e);const t=e[0];return typeof t=="function"?In(ll(()=>({get:t,set:io}))):ue(t)}function aa(e,t,n={}){const{eventFilter:s=oo,...r}=n;return Fe(e,oa(s,t),r)}function fa(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=la(s);return{stop:aa(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function Bs(e,t=!0,n){ca()?Ot(e,n):t?e():Pn(e)}const qe=ro?window:void 0;function co(e){var t;const n=tt(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Rt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=qe):[t,n,s,r]=e,!t)return io;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(a=>a()),i.length=0},l=(a,h,v,x)=>(a.addEventListener(h,v,x),()=>a.removeEventListener(h,v,x)),c=Fe(()=>[co(t),tt(r)],([a,h])=>{if(o(),!a)return;const v=ra(h)?{...h}:h;i.push(...n.flatMap(x=>s.map(L=>l(a,x,L,v))))},{immediate:!0,flush:"post"}),u=()=>{c(),o()};return Us(u),u}function ua(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function df(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=qe,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=ua(t);return Rt(r,i,a=>{a.repeat&&tt(l)||c(a)&&n(a)},o)}function da(){const e=ue(!1),t=jn();return t&&Ot(()=>{e.value=!0},t),e}function ha(e){const t=da();return oe(()=>(t.value,!!e()))}function ao(e,t={}){const{window:n=qe}=t,s=ha(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=ue(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=ki(()=>{s.value&&(l(),r=n.matchMedia(tt(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Us(()=>{c(),l(),r=void 0}),i}const cn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},an="__vueuse_ssr_handlers__",pa=ga();function ga(){return an in cn||(cn[an]=cn[an]||{}),cn[an]}function fo(e,t){return pa[e]||t}function ks(e){return ao("(prefers-color-scheme: dark)",e)}function ma(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ya={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Lr="vueuse-storage";function va(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:a,window:h=qe,eventFilter:v,onError:x=_=>{console.error(_)},initOnMounted:L}=s,O=(a?li:ue)(typeof t=="function"?t():t);if(!n)try{n=fo("getDefaultStorage",()=>{var _;return(_=qe)==null?void 0:_.localStorage})()}catch(_){x(_)}if(!n)return O;const G=tt(t),U=ma(G),W=(r=s.serializer)!=null?r:ya[U],{pause:g,resume:p}=fa(O,()=>D(O.value),{flush:i,deep:o,eventFilter:v});h&&l&&Bs(()=>{n instanceof Storage?Rt(h,"storage",K):Rt(h,Lr,I),L&&K()}),L||K();function A(_,P){if(h){const b={key:e,oldValue:_,newValue:P,storageArea:n};h.dispatchEvent(n instanceof Storage?new StorageEvent("storage",b):new CustomEvent(Lr,{detail:b}))}}function D(_){try{const P=n.getItem(e);if(_==null)A(P,null),n.removeItem(e);else{const b=W.write(_);P!==b&&(n.setItem(e,b),A(P,b))}}catch(P){x(P)}}function j(_){const P=_?_.newValue:n.getItem(e);if(P==null)return c&&G!=null&&n.setItem(e,W.write(G)),G;if(!_&&u){const b=W.read(P);return typeof u=="function"?u(b,G):U==="object"&&!Array.isArray(b)?{...G,...b}:b}else return typeof P!="string"?P:W.read(P)}function K(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){O.value=G;return}if(!(_&&_.key!==e)){g();try{(_==null?void 0:_.newValue)!==W.write(O.value)&&(O.value=j(_))}catch(P){x(P)}finally{_?Pn(p):p()}}}}function I(_){K(_.detail)}return O}const _a="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function ba(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=qe,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:a=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},v=ks({window:r}),x=oe(()=>v.value?"dark":"light"),L=c||(o==null?lo(s):va(o,s,i,{window:r,listenToStorageChanges:l})),O=oe(()=>L.value==="auto"?x.value:L.value),G=fo("updateHTMLAttrs",(p,A,D)=>{const j=typeof p=="string"?r==null?void 0:r.document.querySelector(p):co(p);if(!j)return;const K=new Set,I=new Set;let _=null;if(A==="class"){const b=D.split(/\s/g);Object.values(h).flatMap(V=>(V||"").split(/\s/g)).filter(Boolean).forEach(V=>{b.includes(V)?K.add(V):I.add(V)})}else _={key:A,value:D};if(K.size===0&&I.size===0&&_===null)return;let P;a&&(P=r.document.createElement("style"),P.appendChild(document.createTextNode(_a)),r.document.head.appendChild(P));for(const b of K)j.classList.add(b);for(const b of I)j.classList.remove(b);_&&j.setAttribute(_.key,_.value),a&&(r.getComputedStyle(P).opacity,document.head.removeChild(P))});function U(p){var A;G(t,n,(A=h[p])!=null?A:p)}function W(p){e.onChanged?e.onChanged(p,U):U(p)}Fe(O,W,{flush:"post",immediate:!0}),Bs(()=>W(O.value));const g=oe({get(){return u?L.value:O.value},set(p){L.value=p}});try{return Object.assign(g,{store:L,system:x,state:O})}catch{return g}}function wa(e={}){const{valueDark:t="dark",valueLight:n="",window:s=qe}=e,r=ba({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=oe(()=>r.system?r.system.value:ks({window:s}).value?"dark":"light");return oe({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function ns(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function uo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const ss=new WeakMap;function hf(e,t=!1){const n=ue(t);let s=null,r="";Fe(lo(e),l=>{const c=ns(tt(l));if(c){const u=c;if(ss.get(u)||ss.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(r=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=ns(tt(e));!l||n.value||(Ir&&(s=Rt(l,"touchmove",c=>{xa(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=ns(tt(e));!l||!n.value||(Ir&&(s==null||s()),l.style.overflow=r,ss.delete(l),n.value=!1)};return Us(o),oe({get(){return n.value},set(l){l?i():o()}})}function pf(e={}){const{window:t=qe,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const s=ue(t.scrollX),r=ue(t.scrollY),i=oe({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=oe({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Rt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function gf(e={}){const{window:t=qe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=ue(n),c=ue(s),u=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(u(),Bs(u),Rt("resize",u,{passive:!0}),r){const a=ao("(orientation: portrait)");Fe(a,()=>u())}return{width:l,height:c}}const rs={BASE_URL:"/vue-types/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var is={};const ho=/^(?:[a-z]+:|\/\/)/i,Sa="vitepress-theme-appearance",Ea=/#.*$/,Ca=/[?#].*$/,Ta=/(?:(^|\/)index)?\.(?:md|html)$/,pe=typeof document<"u",po={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Aa(e,t,n=!1){if(t===void 0)return!1;if(e=Pr(`/${e}`),n)return new RegExp(t).test(e);if(Pr(t)!==e)return!1;const s=t.match(Ea);return s?(pe?location.hash:"")===s[0]:!0}function Pr(e){return decodeURI(e).replace(Ca,"").replace(Ta,"$1")}function Ra(e){return ho.test(e)}function Oa(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ra(n)&&Aa(t,`/${n}/`,!0))||"root"}function Ma(e,t){var s,r,i,o,l,c,u;const n=Oa(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:mo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function go(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ia(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ia(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function La(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function mo(e,t){return[...e.filter(n=>!La(t,n)),...t]}const Pa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,Na=/^[a-z]:/i;function Nr(e){const t=Na.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Pa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const os=new Set;function Fa(e){if(os.size===0){const n=typeof process=="object"&&(is==null?void 0:is.VITE_EXTRA_EXTENSIONS)||(rs==null?void 0:rs.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>os.add(s))}const t=e.split(".").pop();return t==null||!os.has(t.toLowerCase())}const Ha=Symbol(),mt=li(na);function mf(e){const t=oe(()=>Ma(mt.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?ue(!0):n==="force-auto"?ks():n?wa({storageKey:Sa,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):ue(!1),r=ue(pe?location.hash:"");return pe&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=pe?location.hash:""}),{site:t,theme:oe(()=>t.value.themeConfig),page:oe(()=>e.data),frontmatter:oe(()=>e.data.frontmatter),params:oe(()=>e.data.params),lang:oe(()=>t.value.lang),dir:oe(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:oe(()=>t.value.localeIndex||"root"),title:oe(()=>go(t.value,e.data)),description:oe(()=>e.data.description||t.value.description),isDark:s,hash:oe(()=>r.value)}}function $a(){const e=At(Ha);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Da(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Fr(e){return ho.test(e)||!e.startsWith("/")?e:Da(mt.value.base,e)}function ja(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),pe){const n="/vue-types/";t=Nr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Nr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let mn=[];function yf(e){mn.push(e),Hn(()=>{mn=mn.filter(t=>t!==e)})}function Va(){let e=mt.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Hr(e,n);else if(Array.isArray(e))for(const s of e){const r=Hr(s,n);if(r){t=r;break}}return t}function Hr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ua=Symbol(),yo="http://a.com",Ba=()=>({path:"/",component:null,data:po});function vf(e,t){const n=Mn(Ba()),s={route:n,go:r};async function r(l=pe?location.href:"/"){var c,u;l=ls(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(pe&&l!==ls(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,c=0,u=!1){var v,x;if(await((v=s.onBeforePageLoad)==null?void 0:v.call(s,l))===!1)return;const a=new URL(l,yo),h=i=a.pathname;try{let L=await e(h);if(!L)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:O,__pageData:G}=L;if(!O)throw new Error(`Invalid route component: ${O}`);await((x=s.onAfterPageLoad)==null?void 0:x.call(s,l)),n.path=pe?h:Fr(h),n.component=hn(O),n.data=hn(G),pe&&Pn(()=>{let U=mt.value.base+G.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!mt.value.cleanUrls&&!U.endsWith("/")&&(U+=".html"),U!==a.pathname&&(a.pathname=U,l=U+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let W=null;try{W=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(g){console.warn(g)}if(W){$r(W,a.hash);return}}window.scrollTo(0,c)})}}catch(L){if(!/fetch|Page not found/.test(L.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(L),!u)try{const O=await fetch(mt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await O.json(),await o(l,c,!0);return}catch{}if(i===h){i=null,n.path=pe?h:Fr(h),n.component=t?hn(t):null;const O=pe?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...po,relativePath:O}}}}return pe&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:a,origin:h,pathname:v,hash:x,search:L}=new URL(u,c.baseURI),O=new URL(location.href);h===O.origin&&Fa(v)&&(l.preventDefault(),v===O.pathname&&L===O.search?(x!==O.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:O.href,newURL:a}))),x?$r(c,x,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(ls(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function ka(){const e=At(Ua);if(!e)throw new Error("useRouter() is called without provider.");return e}function vo(){return ka().route}function $r(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Va()+i;requestAnimationFrame(r)}}function ls(e){const t=new URL(e,yo);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),mt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const fn=()=>mn.forEach(e=>e()),_f=wi({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=vo(),{frontmatter:n,site:s}=$a();return Fe(n,fn,{deep:!0,flush:"post"}),()=>xs(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?xs(t.component,{onVnodeMounted:fn,onVnodeUpdated:fn,onVnodeUnmounted:fn}):"404 Page Not Found"])}}),bf=wi({setup(e,{slots:t}){const n=ue(!1);return Ot(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function wf(){pe&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function xf(){if(pe){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Wa(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function Wa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Sf(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=cs(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(cs);s.forEach((l,c)=>{const u=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};ki(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=go(o,i);u!==document.title&&(document.title=u);const a=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==a&&h.setAttribute("content",a):cs(["meta",{name:"description",content:a}]),r(mo(o.head,qa(c)))})}function cs([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function Ka(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function qa(e){return e.filter(t=>!Ka(t))}const as=new Set,_o=()=>document.createElement("link"),Ga=e=>{const t=_o();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Ya=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let un;const Xa=pe&&(un=_o())&&un.relList&&un.relList.supports&&un.relList.supports("prefetch")?Ga:Ya;function Ef(){if(!pe||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!as.has(c)){as.add(c);const u=ja(c);u&&Xa(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):as.add(l))})})};Ot(s);const r=vo();Fe(()=>r.path,s),Hn(()=>{n&&n.disconnect()})}export{tf as $,Va as A,Ja as B,Qa as C,li as D,yf as E,xe as F,de as G,za as H,ho as I,vo as J,pc as K,At as L,gf as M,Rs as N,df as O,Pn as P,pf as Q,pe as R,In as S,lf as T,hf as U,Gl as V,af as W,ef as X,Ei as Y,cf as Z,uf as _,Qi as a,rf as a0,Sf as a1,Ua as a2,mf as a3,Ha as a4,_f as a5,bf as a6,mt as a7,ff as a8,vf as a9,ja as aa,Ef as ab,xf as ac,wf as ad,xs as ae,bs as b,sf as c,wi as d,of as e,Fa as f,Fr as g,oe as h,Ra as i,zi as j,ai as k,Aa as l,ao as m,Os as n,_s as o,ue as p,Fe as q,Za as r,ki as s,Fo as t,$a as u,Ot as v,_l as w,Hn as x,nf as y,Pl as z}; diff --git a/assets/chunks/framework.Dr3U-I6a.js b/assets/chunks/framework.Dr3U-I6a.js deleted file mode 100644 index eb3b8b03..00000000 --- a/assets/chunks/framework.Dr3U-I6a.js +++ /dev/null @@ -1,17 +0,0 @@ -/** -* @vue/shared v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function us(e,t){const n=new Set(e.split(","));return s=>n.has(s)}const se={},mt=[],Ae=()=>{},ao=()=>!1,Vt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ds=e=>e.startsWith("onUpdate:"),le=Object.assign,hs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},fo=Object.prototype.hasOwnProperty,Y=(e,t)=>fo.call(e,t),V=Array.isArray,yt=e=>mn(e)==="[object Map]",Or=e=>mn(e)==="[object Set]",K=e=>typeof e=="function",ie=e=>typeof e=="string",Je=e=>typeof e=="symbol",Z=e=>e!==null&&typeof e=="object",Lr=e=>(Z(e)||K(e))&&K(e.then)&&K(e.catch),Ir=Object.prototype.toString,mn=e=>Ir.call(e),uo=e=>mn(e).slice(8,-1),Mr=e=>mn(e)==="[object Object]",ps=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,_t=us(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),yn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ho=/-(\w)/g,Le=yn(e=>e.replace(ho,(t,n)=>n?n.toUpperCase():"")),po=/\B([A-Z])/g,Qe=yn(e=>e.replace(po,"-$1").toLowerCase()),_n=yn(e=>e.charAt(0).toUpperCase()+e.slice(1)),nn=yn(e=>e?`on${_n(e)}`:""),Xe=(e,t)=>!Object.is(e,t),Fn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},go=e=>{const t=parseFloat(e);return isNaN(t)?e:t},mo=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let js;const Nr=()=>js||(js=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gs(e){if(V(e)){const t={};for(let n=0;n{if(n){const s=n.split(_o);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ms(e){let t="";if(ie(e))t=e;else if(V(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Co=e=>ie(e)?e:e==null?"":V(e)||Z(e)&&(e.toString===Ir||!K(e.toString))?Hr(e)?Co(e.value):JSON.stringify(e,$r,2):String(e),$r=(e,t)=>Hr(t)?$r(e,t.value):yt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Hn(s,i)+" =>"]=r,n),{})}:Or(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Hn(n))}:Je(t)?Hn(t):Z(t)&&!V(t)&&!Mr(t)?String(t):t,Hn=(e,t="")=>{var n;return Je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ee;class So{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ee,!t&&Ee&&(this.index=(Ee.scopes||(Ee.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ee;try{return Ee=this,t()}finally{Ee=n}}}on(){Ee=this}off(){Ee=this.parent}stop(t){if(this._active){let n,s;for(n=0,s=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),et()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=qe,n=ct;try{return qe=!0,ct=this,this._runnings++,Ds(this),this.fn()}finally{Vs(this),this._runnings--,ct=n,qe=t}}stop(){this.active&&(Ds(this),Vs(this),this.onStop&&this.onStop(),this.active=!1)}}function Ao(e){return e.value}function Ds(e){e._trackId++,e._depsLength=0}function Vs(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},cn=new WeakMap,at=Symbol(""),ns=Symbol("");function ve(e,t,n){if(qe&&ct){let s=cn.get(e);s||cn.set(e,s=new Map);let r=s.get(n);r||s.set(n,r=kr(()=>s.delete(n))),Ur(ct,r)}}function $e(e,t,n,s,r,i){const o=cn.get(e);if(!o)return;let l=[];if(t==="clear")l=[...o.values()];else if(n==="length"&&V(e)){const c=Number(s);o.forEach((u,d)=>{(d==="length"||!Je(d)&&d>=c)&&l.push(u)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":V(e)?ps(n)&&l.push(o.get("length")):(l.push(o.get(at)),yt(e)&&l.push(o.get(ns)));break;case"delete":V(e)||(l.push(o.get(at)),yt(e)&&l.push(o.get(ns)));break;case"set":yt(e)&&l.push(o.get(at));break}_s();for(const c of l)c&&Br(c,4);bs()}function Ro(e,t){const n=cn.get(e);return n&&n.get(t)}const Oo=us("__proto__,__v_isRef,__isVue"),Kr=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je)),Us=Lo();function Lo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=J(this);for(let i=0,o=this.length;i{e[t]=function(...n){Ze(),_s();const s=J(this)[t].apply(this,n);return bs(),et(),s}}),e}function Io(e){Je(e)||(e=String(e));const t=J(this);return ve(t,"has",e),t.hasOwnProperty(e)}class Wr{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?Ko:Xr:i?zr:Gr).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=V(t);if(!r){if(o&&Y(Us,n))return Reflect.get(Us,n,s);if(n==="hasOwnProperty")return Io}const l=Reflect.get(t,n,s);return(Je(n)?Kr.has(n):Oo(n))||(r||ve(t,"get",n),i)?l:ge(l)?o&&ps(n)?l:l.value:Z(l)?r?wn(l):vn(l):l}}class qr extends Wr{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=dt(i);if(!St(s)&&!dt(s)&&(i=J(i),s=J(s)),!V(t)&&ge(i)&&!ge(s))return c?!1:(i.value=s,!0)}const o=V(t)&&ps(n)?Number(n)e,bn=e=>Reflect.getPrototypeOf(e);function Kt(e,t,n=!1,s=!1){e=e.__v_raw;const r=J(e),i=J(t);n||(Xe(t,i)&&ve(r,"get",t),ve(r,"get",i));const{has:o}=bn(r),l=s?vs:n?Cs:Ft;if(o.call(r,t))return l(e.get(t));if(o.call(r,i))return l(e.get(i));e!==r&&e.get(t)}function Wt(e,t=!1){const n=this.__v_raw,s=J(n),r=J(e);return t||(Xe(e,r)&&ve(s,"has",e),ve(s,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function qt(e,t=!1){return e=e.__v_raw,!t&&ve(J(e),"iterate",at),Reflect.get(e,"size",e)}function Bs(e,t=!1){!t&&!St(e)&&!dt(e)&&(e=J(e));const n=J(this);return bn(n).has.call(n,e)||(n.add(e),$e(n,"add",e,e)),this}function ks(e,t,n=!1){!n&&!St(t)&&!dt(t)&&(t=J(t));const s=J(this),{has:r,get:i}=bn(s);let o=r.call(s,e);o||(e=J(e),o=r.call(s,e));const l=i.call(s,e);return s.set(e,t),o?Xe(t,l)&&$e(s,"set",e,t):$e(s,"add",e,t),this}function Ks(e){const t=J(this),{has:n,get:s}=bn(t);let r=n.call(t,e);r||(e=J(e),r=n.call(t,e)),s&&s.call(t,e);const i=t.delete(e);return r&&$e(t,"delete",e,void 0),i}function Ws(){const e=J(this),t=e.size!==0,n=e.clear();return t&&$e(e,"clear",void 0,void 0),n}function Gt(e,t){return function(s,r){const i=this,o=i.__v_raw,l=J(o),c=t?vs:e?Cs:Ft;return!e&&ve(l,"iterate",at),o.forEach((u,d)=>s.call(r,c(u),c(d),i))}}function zt(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=yt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),d=n?vs:t?Cs:Ft;return!t&&ve(i,"iterate",c?ns:at),{next(){const{value:h,done:v}=u.next();return v?{value:h,done:v}:{value:l?[d(h[0]),d(h[1])]:d(h),done:v}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ho(){const e={get(i){return Kt(this,i)},get size(){return qt(this)},has:Wt,add:Bs,set:ks,delete:Ks,clear:Ws,forEach:Gt(!1,!1)},t={get(i){return Kt(this,i,!1,!0)},get size(){return qt(this)},has:Wt,add(i){return Bs.call(this,i,!0)},set(i,o){return ks.call(this,i,o,!0)},delete:Ks,clear:Ws,forEach:Gt(!1,!0)},n={get(i){return Kt(this,i,!0)},get size(){return qt(this,!0)},has(i){return Wt.call(this,i,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Gt(!0,!1)},s={get(i){return Kt(this,i,!0,!0)},get size(){return qt(this,!0)},has(i){return Wt.call(this,i,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Gt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=zt(i,!1,!1),n[i]=zt(i,!0,!1),t[i]=zt(i,!1,!0),s[i]=zt(i,!0,!0)}),[e,n,t,s]}const[$o,jo,Do,Vo]=Ho();function ws(e,t){const n=t?e?Vo:Do:e?jo:$o;return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(Y(n,r)&&r in s?n:s,r,i)}const Uo={get:ws(!1,!1)},Bo={get:ws(!1,!0)},ko={get:ws(!0,!1)};const Gr=new WeakMap,zr=new WeakMap,Xr=new WeakMap,Ko=new WeakMap;function Wo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function qo(e){return e.__v_skip||!Object.isExtensible(e)?0:Wo(uo(e))}function vn(e){return dt(e)?e:Es(e,!1,Po,Uo,Gr)}function Go(e){return Es(e,!1,Fo,Bo,zr)}function wn(e){return Es(e,!0,No,ko,Xr)}function Es(e,t,n,s,r){if(!Z(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=qo(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function bt(e){return dt(e)?bt(e.__v_raw):!!(e&&e.__v_isReactive)}function dt(e){return!!(e&&e.__v_isReadonly)}function St(e){return!!(e&&e.__v_isShallow)}function Yr(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function sn(e){return Object.isExtensible(e)&&Pr(e,"__v_skip",!0),e}const Ft=e=>Z(e)?vn(e):e,Cs=e=>Z(e)?wn(e):e;class Jr{constructor(t,n,s,r){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new ys(()=>t(this._value),()=>It(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=J(this);return(!t._cacheable||t.effect.dirty)&&Xe(t._value,t._value=t.effect.run())&&It(t,4),Ss(t),t.effect._dirtyLevel>=2&&It(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function zo(e,t,n=!1){let s,r;const i=K(e);return i?(s=e,r=Ae):(s=e.get,r=e.set),new Jr(s,r,i||!r,n)}function Ss(e){var t;qe&&ct&&(e=J(e),Ur(ct,(t=e.dep)!=null?t:e.dep=kr(()=>e.dep=void 0,e instanceof Jr?e:void 0)))}function It(e,t=4,n,s){e=J(e);const r=e.dep;r&&Br(r,t)}function ge(e){return!!(e&&e.__v_isRef===!0)}function fe(e){return Zr(e,!1)}function Qr(e){return Zr(e,!0)}function Zr(e,t){return ge(e)?e:new Xo(e,t)}class Xo{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:J(t),this._value=n?t:Ft(t)}get value(){return Ss(this),this._value}set value(t){const n=this.__v_isShallow||St(t)||dt(t);t=n?t:J(t),Xe(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=n?t:Ft(t),It(this,4))}}function ei(e){return ge(e)?e.value:e}const Yo={get:(e,t,n)=>ei(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function ti(e){return bt(e)?e:new Proxy(e,Yo)}class Jo{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:s}=t(()=>Ss(this),()=>It(this));this._get=n,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Qo(e){return new Jo(e)}class Zo{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Ro(J(this._object),this._key)}}class el{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function tl(e,t,n){return ge(e)?e:K(e)?new el(e):Z(e)&&arguments.length>1?nl(e,t,n):fe(e)}function nl(e,t,n){const s=e[t];return ge(s)?s:new Zo(e,t,n)}/** -* @vue/runtime-core v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ge(e,t,n,s){try{return s?e(...s):e()}catch(r){En(r,t,n)}}function Re(e,t,n,s){if(K(e)){const r=Ge(e,t,n,s);return r&&Lr(r)&&r.catch(i=>{En(i,t,n)}),r}if(V(e)){const r=[];for(let i=0;i>>1,r=he[s],i=$t(r);iNe&&he.splice(t,1)}function ol(e){V(e)?vt.push(...e):(!ke||!ke.includes(e,e.allowRecurse?it+1:it))&&vt.push(e),si()}function qs(e,t,n=Ht?Ne+1:0){for(;n$t(n)-$t(s));if(vt.length=0,ke){ke.push(...t);return}for(ke=t,it=0;ite.id==null?1/0:e.id,ll=(e,t)=>{const n=$t(e)-$t(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ri(e){ss=!1,Ht=!0,he.sort(ll);try{for(Ne=0;Ne{s._d&&sr(-1);const i=fn(t);let o;try{o=e(...r)}finally{fn(i),s._d&&sr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Pe(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;o{e.isMounted=!0}),ui(()=>{e.isUnmounting=!0}),e}const Se=[Function,Array],ii={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Se,onEnter:Se,onAfterEnter:Se,onEnterCancelled:Se,onBeforeLeave:Se,onLeave:Se,onAfterLeave:Se,onLeaveCancelled:Se,onBeforeAppear:Se,onAppear:Se,onAfterAppear:Se,onAppearCancelled:Se},oi=e=>{const t=e.subTree;return t.component?oi(t.component):t},fl={name:"BaseTransition",props:ii,setup(e,{slots:t}){const n=Ln(),s=al();return()=>{const r=t.default&&ci(t.default(),!0);if(!r||!r.length)return;let i=r[0];if(r.length>1){for(const v of r)if(v.type!==ye){i=v;break}}const o=J(e),{mode:l}=o;if(s.isLeaving)return $n(i);const c=Gs(i);if(!c)return $n(i);let u=rs(c,o,s,n,v=>u=v);un(c,u);const d=n.subTree,h=d&&Gs(d);if(h&&h.type!==ye&&!lt(c,h)&&oi(n).type!==ye){const v=rs(h,o,s,n);if(un(h,v),l==="out-in"&&c.type!==ye)return s.isLeaving=!0,v.afterLeave=()=>{s.isLeaving=!1,n.update.active!==!1&&(n.effect.dirty=!0,n.update())},$n(i);l==="in-out"&&c.type!==ye&&(v.delayLeave=(T,N,P)=>{const W=li(s,h);W[String(h.key)]=h,T[Ke]=()=>{N(),T[Ke]=void 0,delete u.delayedLeave},u.delayedLeave=P})}return i}}},ul=fl;function li(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function rs(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:d,onEnterCancelled:h,onBeforeLeave:v,onLeave:T,onAfterLeave:N,onLeaveCancelled:P,onBeforeAppear:W,onAppear:q,onAfterAppear:G,onAppearCancelled:p}=t,m=String(e.key),I=li(n,e),R=(O,_)=>{O&&Re(O,s,9,_)},U=(O,_)=>{const M=_[1];R(O,_),V(O)?O.every(E=>E.length<=1)&&M():O.length<=1&&M()},B={mode:o,persisted:l,beforeEnter(O){let _=c;if(!n.isMounted)if(i)_=W||c;else return;O[Ke]&&O[Ke](!0);const M=I[m];M&<(e,M)&&M.el[Ke]&&M.el[Ke](),R(_,[O])},enter(O){let _=u,M=d,E=h;if(!n.isMounted)if(i)_=q||u,M=G||d,E=p||h;else return;let D=!1;const ee=O[Xt]=ne=>{D||(D=!0,ne?R(E,[O]):R(M,[O]),B.delayedLeave&&B.delayedLeave(),O[Xt]=void 0)};_?U(_,[O,ee]):ee()},leave(O,_){const M=String(e.key);if(O[Xt]&&O[Xt](!0),n.isUnmounting)return _();R(v,[O]);let E=!1;const D=O[Ke]=ee=>{E||(E=!0,_(),ee?R(P,[O]):R(N,[O]),O[Ke]=void 0,I[M]===e&&delete I[M])};I[M]=e,T?U(T,[O,D]):D()},clone(O){const _=rs(O,t,n,s,r);return r&&r(_),_}};return B}function $n(e){if(xn(e))return e=Ye(e),e.children=null,e}function Gs(e){if(!xn(e))return e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&K(n.default))return n.default()}}function un(e,t){e.shapeFlag&6&&e.component?un(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 ci(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;i!!e.type.__asyncLoader,xn=e=>e.type.__isKeepAlive;function dl(e,t){fi(e,"a",t)}function hl(e,t){fi(e,"da",t)}function fi(e,t,n=ae){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Tn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)xn(r.parent.vnode)&&pl(s,t,n,r),r=r.parent}}function pl(e,t,n,s){const r=Tn(t,e,s,!0);An(()=>{hs(s[t],r)},n)}function Tn(e,t,n=ae,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Ze();const l=Ut(n),c=Re(t,n,e,o);return l(),et(),c});return s?r.unshift(i):r.push(i),i}}const De=e=>(t,n=ae)=>{(!In||e==="sp")&&Tn(e,(...s)=>t(...s),n)},gl=De("bm"),Tt=De("m"),ml=De("bu"),yl=De("u"),ui=De("bum"),An=De("um"),_l=De("sp"),bl=De("rtg"),vl=De("rtc");function wl(e,t=ae){Tn("ec",e,t)}const di="components";function ka(e,t){return pi(di,e,!0,t)||e}const hi=Symbol.for("v-ndc");function Ka(e){return ie(e)?pi(di,e,!1)||e:e||hi}function pi(e,t,n=!0,s=!1){const r=pe||ae;if(r){const i=r.type;{const l=dc(i,!1);if(l&&(l===t||l===Le(t)||l===_n(Le(t))))return i}const o=zs(r[e]||i[e],t)||zs(r.appContext[e],t);return!o&&s?i:o}}function zs(e,t){return e&&(e[t]||e[Le(t)]||e[_n(Le(t))])}function Wa(e,t,n,s){let r;const i=n;if(V(e)||ie(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,i));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;lpn(t)?!(t.type===ye||t.type===be&&!gi(t.children)):!0)?e:null}function Ga(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:nn(s)]=e[s];return n}const is=e=>e?Vi(e)?Ls(e):is(e.parent):null,Mt=le(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=>is(e.parent),$root:e=>is(e.root),$emit:e=>e.emit,$options:e=>As(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Ts(e.update)}),$nextTick:e=>e.n||(e.n=Cn.bind(e.proxy)),$watch:e=>zl.bind(e)}),jn=(e,t)=>e!==se&&!e.__isScriptSetup&&Y(e,t),El={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const T=o[t];if(T!==void 0)switch(T){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(jn(s,t))return o[t]=1,s[t];if(r!==se&&Y(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&Y(u,t))return o[t]=3,i[t];if(n!==se&&Y(n,t))return o[t]=4,n[t];os&&(o[t]=0)}}const d=Mt[t];let h,v;if(d)return t==="$attrs"&&ve(e.attrs,"get",""),d(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==se&&Y(n,t))return o[t]=4,n[t];if(v=c.config.globalProperties,Y(v,t))return v[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return jn(r,t)?(r[t]=n,!0):s!==se&&Y(s,t)?(s[t]=n,!0):Y(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==se&&Y(e,o)||jn(t,o)||(l=i[0])&&Y(l,o)||Y(s,o)||Y(Mt,o)||Y(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Y(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function za(){return Cl().slots}function Cl(){const e=Ln();return e.setupContext||(e.setupContext=Bi(e))}function Xs(e){return V(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let os=!0;function Sl(e){const t=As(e),n=e.proxy,s=e.ctx;os=!1,t.beforeCreate&&Ys(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:d,beforeMount:h,mounted:v,beforeUpdate:T,updated:N,activated:P,deactivated:W,beforeDestroy:q,beforeUnmount:G,destroyed:p,unmounted:m,render:I,renderTracked:R,renderTriggered:U,errorCaptured:B,serverPrefetch:O,expose:_,inheritAttrs:M,components:E,directives:D,filters:ee}=t;if(u&&xl(u,s,null),o)for(const X in o){const j=o[X];K(j)&&(s[X]=j.bind(n))}if(r){const X=r.call(n,n);Z(X)&&(e.data=vn(X))}if(os=!0,i)for(const X in i){const j=i[X],ce=K(j)?j.bind(n,n):K(j.get)?j.get.bind(n,n):Ae,Bt=!K(j)&&K(j.set)?j.set.bind(n):Ae,tt=re({get:ce,set:Bt});Object.defineProperty(s,X,{enumerable:!0,configurable:!0,get:()=>tt.value,set:Ie=>tt.value=Ie})}if(l)for(const X in l)mi(l[X],s,n,X);if(c){const X=K(c)?c.call(n):c;Reflect.ownKeys(X).forEach(j=>{Il(j,X[j])})}d&&Ys(d,e,"c");function $(X,j){V(j)?j.forEach(ce=>X(ce.bind(n))):j&&X(j.bind(n))}if($(gl,h),$(Tt,v),$(ml,T),$(yl,N),$(dl,P),$(hl,W),$(wl,B),$(vl,R),$(bl,U),$(ui,G),$(An,m),$(_l,O),V(_))if(_.length){const X=e.exposed||(e.exposed={});_.forEach(j=>{Object.defineProperty(X,j,{get:()=>n[j],set:ce=>n[j]=ce})})}else e.exposed||(e.exposed={});I&&e.render===Ae&&(e.render=I),M!=null&&(e.inheritAttrs=M),E&&(e.components=E),D&&(e.directives=D)}function xl(e,t,n=Ae){V(e)&&(e=ls(e));for(const s in e){const r=e[s];let i;Z(r)?"default"in r?i=Ct(r.from||s,r.default,!0):i=Ct(r.from||s):i=Ct(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function Ys(e,t,n){Re(V(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mi(e,t,n,s){const r=s.includes(".")?Ii(n,s):()=>n[s];if(ie(e)){const i=t[e];K(i)&&Fe(r,i)}else if(K(e))Fe(r,e.bind(n));else if(Z(e))if(V(e))e.forEach(i=>mi(i,t,n,s));else{const i=K(e.handler)?e.handler.bind(n):t[e.handler];K(i)&&Fe(r,i,e)}}function As(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>dn(c,u,o,!0)),dn(c,t,o)),Z(t)&&i.set(t,c),c}function dn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&dn(e,i,n,!0),r&&r.forEach(o=>dn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Tl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Tl={data:Js,props:Qs,emits:Qs,methods:Lt,computed:Lt,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:Lt,directives:Lt,watch:Rl,provide:Js,inject:Al};function Js(e,t){return t?e?function(){return le(K(e)?e.call(this,this):e,K(t)?t.call(this,this):t)}:t:e}function Al(e,t){return Lt(ls(e),ls(t))}function ls(e){if(V(e)){const t={};for(let n=0;n1)return n&&K(t)?t.call(s&&s.proxy):t}}const _i={},bi=()=>Object.create(_i),vi=e=>Object.getPrototypeOf(e)===_i;function Ml(e,t,n,s=!1){const r={},i=bi();e.propsDefaults=Object.create(null),wi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Go(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Pl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const d=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[v,T]=Ei(h,t,!0);le(o,v),T&&l.push(...T)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!i&&!c)return Z(e)&&s.set(e,mt),mt;if(V(i))for(let d=0;de[0]==="_"||e==="$stable",Rs=e=>V(e)?e.map(Te):[Te(e)],Fl=(e,t,n)=>{if(t._n)return t;const s=cl((...r)=>Rs(t(...r)),n);return s._c=!1,s},Si=(e,t,n)=>{const s=e._ctx;for(const r in e){if(Ci(r))continue;const i=e[r];if(K(i))t[r]=Fl(r,i,s);else if(i!=null){const o=Rs(i);t[r]=()=>o}}},xi=(e,t)=>{const n=Rs(t);e.slots.default=()=>n},Ti=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},Hl=(e,t,n)=>{const s=e.slots=bi();if(e.vnode.shapeFlag&32){const r=t._;r?(Ti(s,t,n),n&&Pr(s,"_",r,!0)):Si(t,s)}else t&&xi(e,t)},$l=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=se;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Ti(r,t,n):(i=!t.$stable,Si(t,r)),o=t}else t&&(xi(e,t),o={default:1});if(i)for(const l in r)!Ci(l)&&o[l]==null&&delete r[l]};function hn(e,t,n,s,r=!1){if(V(e)){e.forEach((v,T)=>hn(v,t&&(V(t)?t[T]:t),n,s,r));return}if(wt(s)&&!r)return;const i=s.shapeFlag&4?Ls(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,d=l.refs===se?l.refs={}:l.refs,h=l.setupState;if(u!=null&&u!==c&&(ie(u)?(d[u]=null,Y(h,u)&&(h[u]=null)):ge(u)&&(u.value=null)),K(c))Ge(c,l,12,[o,d]);else{const v=ie(c),T=ge(c);if(v||T){const N=()=>{if(e.f){const P=v?Y(h,c)?h[c]:d[c]:c.value;r?V(P)&&hs(P,i):V(P)?P.includes(i)||P.push(i):v?(d[c]=[i],Y(h,c)&&(h[c]=d[c])):(c.value=[i],e.k&&(d[e.k]=c.value))}else v?(d[c]=o,Y(h,c)&&(h[c]=o)):T&&(c.value=o,e.k&&(d[e.k]=o))};o?(N.id=-1,_e(N,n)):N()}}}const jl=Symbol("_vte"),Dl=e=>e.__isTeleport;let er=!1;const gt=()=>{er||(console.error("Hydration completed but contains mismatches."),er=!0)},Vl=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Ul=e=>e.namespaceURI.includes("MathML"),Yt=e=>{if(Vl(e))return"svg";if(Ul(e))return"mathml"},Jt=e=>e.nodeType===8;function Bl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,d=(p,m)=>{if(!m.hasChildNodes()){n(null,p,m),an(),m._vnode=p;return}h(m.firstChild,p,null,null,null),an(),m._vnode=p},h=(p,m,I,R,U,B=!1)=>{B=B||!!m.dynamicChildren;const O=Jt(p)&&p.data==="[",_=()=>P(p,m,I,R,U,O),{type:M,ref:E,shapeFlag:D,patchFlag:ee}=m;let ne=p.nodeType;m.el=p,ee===-2&&(B=!1,m.dynamicChildren=null);let $=null;switch(M){case ft:ne!==3?m.children===""?(c(m.el=r(""),o(p),p),$=p):$=_():(p.data!==m.children&&(gt(),p.data=m.children),$=i(p));break;case ye:G(p)?($=i(p),q(m.el=p.content.firstChild,p,I)):ne!==8||O?$=_():$=i(p);break;case Pt:if(O&&(p=i(p),ne=p.nodeType),ne===1||ne===3){$=p;const X=!m.children.length;for(let j=0;j{B=B||!!m.dynamicChildren;const{type:O,props:_,patchFlag:M,shapeFlag:E,dirs:D,transition:ee}=m,ne=O==="input"||O==="option";if(ne||M!==-1){D&&Pe(m,null,I,"created");let $=!1;if(G(p)){$=Ai(R,ee)&&I&&I.vnode.props&&I.vnode.props.appear;const j=p.content.firstChild;$&&ee.beforeEnter(j),q(j,p,I),m.el=p=j}if(E&16&&!(_&&(_.innerHTML||_.textContent))){let j=T(p.firstChild,m,p,I,R,U,B);for(;j;){gt();const ce=j;j=j.nextSibling,l(ce)}}else E&8&&p.textContent!==m.children&&(gt(),p.textContent=m.children);if(_){if(ne||!B||M&48){const j=p.tagName.includes("-");for(const ce in _)(ne&&(ce.endsWith("value")||ce==="indeterminate")||Vt(ce)&&!_t(ce)||ce[0]==="."||j)&&s(p,ce,null,_[ce],void 0,I)}else if(_.onClick)s(p,"onClick",null,_.onClick,void 0,I);else if(M&4&&bt(_.style))for(const j in _.style)_.style[j]}let X;(X=_&&_.onVnodeBeforeMount)&&xe(X,I,m),D&&Pe(m,null,I,"beforeMount"),((X=_&&_.onVnodeMounted)||D||$)&&Pi(()=>{X&&xe(X,I,m),$&&ee.enter(p),D&&Pe(m,null,I,"mounted")},R)}return p.nextSibling},T=(p,m,I,R,U,B,O)=>{O=O||!!m.dynamicChildren;const _=m.children,M=_.length;for(let E=0;E{const{slotScopeIds:O}=m;O&&(U=U?U.concat(O):O);const _=o(p),M=T(i(p),m,_,I,R,U,B);return M&&Jt(M)&&M.data==="]"?i(m.anchor=M):(gt(),c(m.anchor=u("]"),_,M),M)},P=(p,m,I,R,U,B)=>{if(gt(),m.el=null,B){const M=W(p);for(;;){const E=i(p);if(E&&E!==M)l(E);else break}}const O=i(p),_=o(p);return l(p),n(null,m,_,O,I,R,Yt(_),U),O},W=(p,m="[",I="]")=>{let R=0;for(;p;)if(p=i(p),p&&Jt(p)&&(p.data===m&&R++,p.data===I)){if(R===0)return i(p);R--}return p},q=(p,m,I)=>{const R=m.parentNode;R&&R.replaceChild(p,m);let U=I;for(;U;)U.vnode.el===m&&(U.vnode.el=U.subTree.el=p),U=U.parent},G=p=>p.nodeType===1&&p.tagName.toLowerCase()==="template";return[d,h]}const _e=Pi;function kl(e){return Kl(e,Bl)}function Kl(e,t){const n=Nr();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:d,parentNode:h,nextSibling:v,setScopeId:T=Ae,insertStaticContent:N}=e,P=(a,f,g,w=null,y=null,C=null,A=void 0,S=null,x=!!f.dynamicChildren)=>{if(a===f)return;a&&!lt(a,f)&&(w=kt(a),Ie(a,y,C,!0),a=null),f.patchFlag===-2&&(x=!1,f.dynamicChildren=null);const{type:b,ref:L,shapeFlag:H}=f;switch(b){case ft:W(a,f,g,w);break;case ye:q(a,f,g,w);break;case Pt:a==null&&G(f,g,w,A);break;case be:E(a,f,g,w,y,C,A,S,x);break;default:H&1?I(a,f,g,w,y,C,A,S,x):H&6?D(a,f,g,w,y,C,A,S,x):(H&64||H&128)&&b.process(a,f,g,w,y,C,A,S,x,ht)}L!=null&&y&&hn(L,a&&a.ref,C,f||a,!f)},W=(a,f,g,w)=>{if(a==null)s(f.el=l(f.children),g,w);else{const y=f.el=a.el;f.children!==a.children&&u(y,f.children)}},q=(a,f,g,w)=>{a==null?s(f.el=c(f.children||""),g,w):f.el=a.el},G=(a,f,g,w)=>{[a.el,a.anchor]=N(a.children,f,g,w,a.el,a.anchor)},p=({el:a,anchor:f},g,w)=>{let y;for(;a&&a!==f;)y=v(a),s(a,g,w),a=y;s(f,g,w)},m=({el:a,anchor:f})=>{let g;for(;a&&a!==f;)g=v(a),r(a),a=g;r(f)},I=(a,f,g,w,y,C,A,S,x)=>{f.type==="svg"?A="svg":f.type==="math"&&(A="mathml"),a==null?R(f,g,w,y,C,A,S,x):O(a,f,y,C,A,S,x)},R=(a,f,g,w,y,C,A,S)=>{let x,b;const{props:L,shapeFlag:H,transition:F,dirs:k}=a;if(x=a.el=o(a.type,C,L&&L.is,L),H&8?d(x,a.children):H&16&&B(a.children,x,null,w,y,Dn(a,C),A,S),k&&Pe(a,null,w,"created"),U(x,a,a.scopeId,A,w),L){for(const te in L)te!=="value"&&!_t(te)&&i(x,te,null,L[te],C,w);"value"in L&&i(x,"value",null,L.value,C),(b=L.onVnodeBeforeMount)&&xe(b,w,a)}k&&Pe(a,null,w,"beforeMount");const z=Ai(y,F);z&&F.beforeEnter(x),s(x,f,g),((b=L&&L.onVnodeMounted)||z||k)&&_e(()=>{b&&xe(b,w,a),z&&F.enter(x),k&&Pe(a,null,w,"mounted")},y)},U=(a,f,g,w,y)=>{if(g&&T(a,g),w)for(let C=0;C{for(let b=x;b{const S=f.el=a.el;let{patchFlag:x,dynamicChildren:b,dirs:L}=f;x|=a.patchFlag&16;const H=a.props||se,F=f.props||se;let k;if(g&&nt(g,!1),(k=F.onVnodeBeforeUpdate)&&xe(k,g,f,a),L&&Pe(f,a,g,"beforeUpdate"),g&&nt(g,!0),(H.innerHTML&&F.innerHTML==null||H.textContent&&F.textContent==null)&&d(S,""),b?_(a.dynamicChildren,b,S,g,w,Dn(f,y),C):A||j(a,f,S,null,g,w,Dn(f,y),C,!1),x>0){if(x&16)M(S,H,F,g,y);else if(x&2&&H.class!==F.class&&i(S,"class",null,F.class,y),x&4&&i(S,"style",H.style,F.style,y),x&8){const z=f.dynamicProps;for(let te=0;te{k&&xe(k,g,f,a),L&&Pe(f,a,g,"updated")},w)},_=(a,f,g,w,y,C,A)=>{for(let S=0;S{if(f!==g){if(f!==se)for(const C in f)!_t(C)&&!(C in g)&&i(a,C,f[C],null,y,w);for(const C in g){if(_t(C))continue;const A=g[C],S=f[C];A!==S&&C!=="value"&&i(a,C,S,A,y,w)}"value"in g&&i(a,"value",f.value,g.value,y)}},E=(a,f,g,w,y,C,A,S,x)=>{const b=f.el=a?a.el:l(""),L=f.anchor=a?a.anchor:l("");let{patchFlag:H,dynamicChildren:F,slotScopeIds:k}=f;k&&(S=S?S.concat(k):k),a==null?(s(b,g,w),s(L,g,w),B(f.children||[],g,L,y,C,A,S,x)):H>0&&H&64&&F&&a.dynamicChildren?(_(a.dynamicChildren,F,g,y,C,A,S),(f.key!=null||y&&f===y.subTree)&&Ri(a,f,!0)):j(a,f,g,L,y,C,A,S,x)},D=(a,f,g,w,y,C,A,S,x)=>{f.slotScopeIds=S,a==null?f.shapeFlag&512?y.ctx.activate(f,g,w,A,x):ee(f,g,w,y,C,A,x):ne(a,f,x)},ee=(a,f,g,w,y,C,A)=>{const S=a.component=cc(a,w,y);if(xn(a)&&(S.ctx.renderer=ht),ac(S,!1,A),S.asyncDep){if(y&&y.registerDep(S,$,A),!a.el){const x=S.subTree=ue(ye);q(null,x,f,g)}}else $(S,a,f,g,y,C,A)},ne=(a,f,g)=>{const w=f.component=a.component;if(Zl(a,f,g))if(w.asyncDep&&!w.asyncResolved){X(w,f,g);return}else w.next=f,il(w.update),w.effect.dirty=!0,w.update();else f.el=a.el,w.vnode=f},$=(a,f,g,w,y,C,A)=>{const S=()=>{if(a.isMounted){let{next:L,bu:H,u:F,parent:k,vnode:z}=a;{const pt=Oi(a);if(pt){L&&(L.el=z.el,X(a,L,A)),pt.asyncDep.then(()=>{a.isUnmounted||S()});return}}let te=L,Q;nt(a,!1),L?(L.el=z.el,X(a,L,A)):L=z,H&&Fn(H),(Q=L.props&&L.props.onVnodeBeforeUpdate)&&xe(Q,k,L,z),nt(a,!0);const oe=Vn(a),Oe=a.subTree;a.subTree=oe,P(Oe,oe,h(Oe.el),kt(Oe),a,y,C),L.el=oe.el,te===null&&ec(a,oe.el),F&&_e(F,y),(Q=L.props&&L.props.onVnodeUpdated)&&_e(()=>xe(Q,k,L,z),y)}else{let L;const{el:H,props:F}=f,{bm:k,m:z,parent:te}=a,Q=wt(f);if(nt(a,!1),k&&Fn(k),!Q&&(L=F&&F.onVnodeBeforeMount)&&xe(L,te,f),nt(a,!0),H&&Nn){const oe=()=>{a.subTree=Vn(a),Nn(H,a.subTree,a,y,null)};Q?f.type.__asyncLoader().then(()=>!a.isUnmounted&&oe()):oe()}else{const oe=a.subTree=Vn(a);P(null,oe,g,w,a,y,C),f.el=oe.el}if(z&&_e(z,y),!Q&&(L=F&&F.onVnodeMounted)){const oe=f;_e(()=>xe(L,te,oe),y)}(f.shapeFlag&256||te&&wt(te.vnode)&&te.vnode.shapeFlag&256)&&a.a&&_e(a.a,y),a.isMounted=!0,f=g=w=null}},x=a.effect=new ys(S,Ae,()=>Ts(b),a.scope),b=a.update=()=>{x.dirty&&x.run()};b.i=a,b.id=a.uid,nt(a,!0),b()},X=(a,f,g)=>{f.component=a;const w=a.vnode.props;a.vnode=f,a.next=null,Pl(a,f.props,w,g),$l(a,f.children,g),Ze(),qs(a),et()},j=(a,f,g,w,y,C,A,S,x=!1)=>{const b=a&&a.children,L=a?a.shapeFlag:0,H=f.children,{patchFlag:F,shapeFlag:k}=f;if(F>0){if(F&128){Bt(b,H,g,w,y,C,A,S,x);return}else if(F&256){ce(b,H,g,w,y,C,A,S,x);return}}k&8?(L&16&&At(b,y,C),H!==b&&d(g,H)):L&16?k&16?Bt(b,H,g,w,y,C,A,S,x):At(b,y,C,!0):(L&8&&d(g,""),k&16&&B(H,g,w,y,C,A,S,x))},ce=(a,f,g,w,y,C,A,S,x)=>{a=a||mt,f=f||mt;const b=a.length,L=f.length,H=Math.min(b,L);let F;for(F=0;FL?At(a,y,C,!0,!1,H):B(f,g,w,y,C,A,S,x,H)},Bt=(a,f,g,w,y,C,A,S,x)=>{let b=0;const L=f.length;let H=a.length-1,F=L-1;for(;b<=H&&b<=F;){const k=a[b],z=f[b]=x?We(f[b]):Te(f[b]);if(lt(k,z))P(k,z,g,null,y,C,A,S,x);else break;b++}for(;b<=H&&b<=F;){const k=a[H],z=f[F]=x?We(f[F]):Te(f[F]);if(lt(k,z))P(k,z,g,null,y,C,A,S,x);else break;H--,F--}if(b>H){if(b<=F){const k=F+1,z=kF)for(;b<=H;)Ie(a[b],y,C,!0),b++;else{const k=b,z=b,te=new Map;for(b=z;b<=F;b++){const we=f[b]=x?We(f[b]):Te(f[b]);we.key!=null&&te.set(we.key,b)}let Q,oe=0;const Oe=F-z+1;let pt=!1,Fs=0;const Rt=new Array(Oe);for(b=0;b=Oe){Ie(we,y,C,!0);continue}let Me;if(we.key!=null)Me=te.get(we.key);else for(Q=z;Q<=F;Q++)if(Rt[Q-z]===0&<(we,f[Q])){Me=Q;break}Me===void 0?Ie(we,y,C,!0):(Rt[Me-z]=b+1,Me>=Fs?Fs=Me:pt=!0,P(we,f[Me],g,null,y,C,A,S,x),oe++)}const Hs=pt?Wl(Rt):mt;for(Q=Hs.length-1,b=Oe-1;b>=0;b--){const we=z+b,Me=f[we],$s=we+1{const{el:C,type:A,transition:S,children:x,shapeFlag:b}=a;if(b&6){tt(a.component.subTree,f,g,w);return}if(b&128){a.suspense.move(f,g,w);return}if(b&64){A.move(a,f,g,ht);return}if(A===be){s(C,f,g);for(let H=0;HS.enter(C),y);else{const{leave:H,delayLeave:F,afterLeave:k}=S,z=()=>s(C,f,g),te=()=>{H(C,()=>{z(),k&&k()})};F?F(C,z,te):te()}else s(C,f,g)},Ie=(a,f,g,w=!1,y=!1)=>{const{type:C,props:A,ref:S,children:x,dynamicChildren:b,shapeFlag:L,patchFlag:H,dirs:F,cacheIndex:k}=a;if(H===-2&&(y=!1),S!=null&&hn(S,null,g,a,!0),k!=null&&(f.renderCache[k]=void 0),L&256){f.ctx.deactivate(a);return}const z=L&1&&F,te=!wt(a);let Q;if(te&&(Q=A&&A.onVnodeBeforeUnmount)&&xe(Q,f,a),L&6)co(a.component,g,w);else{if(L&128){a.suspense.unmount(g,w);return}z&&Pe(a,null,f,"beforeUnmount"),L&64?a.type.remove(a,f,g,ht,w):b&&!b.hasOnce&&(C!==be||H>0&&H&64)?At(b,f,g,!1,!0):(C===be&&H&384||!y&&L&16)&&At(x,f,g),w&&Ps(a)}(te&&(Q=A&&A.onVnodeUnmounted)||z)&&_e(()=>{Q&&xe(Q,f,a),z&&Pe(a,null,f,"unmounted")},g)},Ps=a=>{const{type:f,el:g,anchor:w,transition:y}=a;if(f===be){lo(g,w);return}if(f===Pt){m(a);return}const C=()=>{r(g),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(a.shapeFlag&1&&y&&!y.persisted){const{leave:A,delayLeave:S}=y,x=()=>A(g,C);S?S(a.el,C,x):x()}else C()},lo=(a,f)=>{let g;for(;a!==f;)g=v(a),r(a),a=g;r(f)},co=(a,f,g)=>{const{bum:w,scope:y,update:C,subTree:A,um:S,m:x,a:b}=a;tr(x),tr(b),w&&Fn(w),y.stop(),C&&(C.active=!1,Ie(A,a,f,g)),S&&_e(S,f),_e(()=>{a.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},At=(a,f,g,w=!1,y=!1,C=0)=>{for(let A=C;A{if(a.shapeFlag&6)return kt(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const f=v(a.anchor||a.el),g=f&&f[jl];return g?v(g):f};let Mn=!1;const Ns=(a,f,g)=>{a==null?f._vnode&&Ie(f._vnode,null,null,!0):P(f._vnode||null,a,f,null,null,null,g),f._vnode=a,Mn||(Mn=!0,qs(),an(),Mn=!1)},ht={p:P,um:Ie,m:tt,r:Ps,mt:ee,mc:B,pc:j,pbc:_,n:kt,o:e};let Pn,Nn;return t&&([Pn,Nn]=t(ht)),{render:Ns,hydrate:Pn,createApp:Ll(Ns,Pn)}}function Dn({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 nt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ai(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ri(e,t,n=!1){const s=e.children,r=t.children;if(V(s)&&V(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Oi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oi(t)}function tr(e){if(e)for(let t=0;tCt(ql);function Li(e,t){return Rn(e,null,t)}function Xa(e,t){return Rn(e,null,{flush:"post"})}const Qt={};function Fe(e,t,n){return Rn(e,t,n)}function Rn(e,t,{immediate:n,deep:s,flush:r,once:i,onTrack:o,onTrigger:l}=se){if(t&&i){const R=t;t=(...U)=>{R(...U),I()}}const c=ae,u=R=>s===!0?R:ot(R,s===!1?1:void 0);let d,h=!1,v=!1;if(ge(e)?(d=()=>e.value,h=St(e)):bt(e)?(d=()=>u(e),h=!0):V(e)?(v=!0,h=e.some(R=>bt(R)||St(R)),d=()=>e.map(R=>{if(ge(R))return R.value;if(bt(R))return u(R);if(K(R))return Ge(R,c,2)})):K(e)?t?d=()=>Ge(e,c,2):d=()=>(T&&T(),Re(e,c,3,[N])):d=Ae,t&&s){const R=d;d=()=>ot(R())}let T,N=R=>{T=p.onStop=()=>{Ge(R,c,4),T=p.onStop=void 0}},P;if(In)if(N=Ae,t?n&&Re(t,c,3,[d(),v?[]:void 0,N]):d(),r==="sync"){const R=Gl();P=R.__watcherHandles||(R.__watcherHandles=[])}else return Ae;let W=v?new Array(e.length).fill(Qt):Qt;const q=()=>{if(!(!p.active||!p.dirty))if(t){const R=p.run();(s||h||(v?R.some((U,B)=>Xe(U,W[B])):Xe(R,W)))&&(T&&T(),Re(t,c,3,[R,W===Qt?void 0:v&&W[0]===Qt?[]:W,N]),W=R)}else p.run()};q.allowRecurse=!!t;let G;r==="sync"?G=q:r==="post"?G=()=>_e(q,c&&c.suspense):(q.pre=!0,c&&(q.id=c.uid),G=()=>Ts(q));const p=new ys(d,Ae,G),m=jr(),I=()=>{p.stop(),m&&hs(m.effects,p)};return t?n?q():W=p.run():r==="post"?_e(p.run.bind(p),c&&c.suspense):p.run(),P&&P.push(I),I}function zl(e,t,n){const s=this.proxy,r=ie(e)?e.includes(".")?Ii(s,e):()=>s[e]:e.bind(s,s);let i;K(t)?i=t:(i=t.handler,n=t);const o=Ut(this),l=Rn(r,i.bind(s),n);return o(),l}function Ii(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{ot(s,t,n)});else if(Mr(e)){for(const s in e)ot(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&ot(e[s],t,n)}return e}const Xl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Le(t)}Modifiers`]||e[`${Qe(t)}Modifiers`];function Yl(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||se;let r=n;const i=t.startsWith("update:"),o=i&&Xl(s,t.slice(7));o&&(o.trim&&(r=n.map(d=>ie(d)?d.trim():d)),o.number&&(r=n.map(go)));let l,c=s[l=nn(t)]||s[l=nn(Le(t))];!c&&i&&(c=s[l=nn(Qe(t))]),c&&Re(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Re(u,e,6,r)}}function Mi(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!K(e)){const c=u=>{const d=Mi(u,t,!0);d&&(l=!0,le(o,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(Z(e)&&s.set(e,null),null):(V(i)?i.forEach(c=>o[c]=null):le(o,i),Z(e)&&s.set(e,o),o)}function On(e,t){return!e||!Vt(t)?!1:(t=t.slice(2).replace(/Once$/,""),Y(e,t[0].toLowerCase()+t.slice(1))||Y(e,Qe(t))||Y(e,t))}function Vn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:d,props:h,data:v,setupState:T,ctx:N,inheritAttrs:P}=e,W=fn(e);let q,G;try{if(n.shapeFlag&4){const m=r||s,I=m;q=Te(u.call(I,m,d,h,T,v,N)),G=l}else{const m=t;q=Te(m.length>1?m(h,{attrs:l,slots:o,emit:c}):m(h,null)),G=t.props?l:Jl(l)}}catch(m){Nt.length=0,En(m,e,1),q=ue(ye)}let p=q;if(G&&P!==!1){const m=Object.keys(G),{shapeFlag:I}=p;m.length&&I&7&&(i&&m.some(ds)&&(G=Ql(G,i)),p=Ye(p,G,!1,!0))}return n.dirs&&(p=Ye(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&(p.transition=n.transition),q=p,fn(W),q}const Jl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Vt(n))&&((t||(t={}))[n]=e[n]);return t},Ql=(e,t)=>{const n={};for(const s in e)(!ds(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Zl(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?nr(s,o,u):!!o;if(c&8){const d=t.dynamicProps;for(let h=0;he.__isSuspense;function Pi(e,t){t&&t.pendingBranch?V(e)?t.effects.push(...e):t.effects.push(e):ol(e)}const be=Symbol.for("v-fgt"),ft=Symbol.for("v-txt"),ye=Symbol.for("v-cmt"),Pt=Symbol.for("v-stc"),Nt=[];let Ce=null;function Ni(e=!1){Nt.push(Ce=e?null:[])}function nc(){Nt.pop(),Ce=Nt[Nt.length-1]||null}let jt=1;function sr(e){jt+=e,e<0&&Ce&&(Ce.hasOnce=!0)}function Fi(e){return e.dynamicChildren=jt>0?Ce||mt:null,nc(),jt>0&&Ce&&Ce.push(e),e}function Ya(e,t,n,s,r,i){return Fi(ji(e,t,n,s,r,i,!0))}function Hi(e,t,n,s,r){return Fi(ue(e,t,n,s,r,!0))}function pn(e){return e?e.__v_isVNode===!0:!1}function lt(e,t){return e.type===t.type&&e.key===t.key}const $i=({key:e})=>e??null,rn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||ge(e)||K(e)?{i:pe,r:e,k:t,f:!!n}:e:null);function ji(e,t=null,n=null,s=0,r=null,i=e===be?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$i(t),ref:t&&rn(t),scopeId:Sn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:pe};return l?(Os(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=ie(n)?8:16),jt>0&&!o&&Ce&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ce.push(c),c}const ue=sc;function sc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===hi)&&(e=ye),pn(e)){const l=Ye(e,t,!0);return n&&Os(l,n),jt>0&&!i&&Ce&&(l.shapeFlag&6?Ce[Ce.indexOf(e)]=l:Ce.push(l)),l.patchFlag=-2,l}if(hc(e)&&(e=e.__vccOpts),t){t=rc(t);let{class:l,style:c}=t;l&&!ie(l)&&(t.class=ms(l)),Z(c)&&(Yr(c)&&!V(c)&&(c=le({},c)),t.style=gs(c))}const o=ie(e)?1:tc(e)?128:Dl(e)?64:Z(e)?4:K(e)?2:0;return ji(e,t,n,s,r,o,i,!0)}function rc(e){return e?Yr(e)||vi(e)?le({},e):e:null}function Ye(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?ic(r||{},t):r,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&$i(u),ref:t&&t.ref?n&&i?V(i)?i.concat(rn(t)):[i,rn(t)]:rn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==be?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ye(e.ssContent),ssFallback:e.ssFallback&&Ye(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&un(d,c.clone(d)),d}function Di(e=" ",t=0){return ue(ft,null,e,t)}function Ja(e,t){const n=ue(Pt,null,e);return n.staticCount=t,n}function Qa(e="",t=!1){return t?(Ni(),Hi(ye,null,e)):ue(ye,null,e)}function Te(e){return e==null||typeof e=="boolean"?ue(ye):V(e)?ue(be,null,e.slice()):typeof e=="object"?We(e):ue(ft,null,String(e))}function We(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ye(e)}function Os(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(V(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Os(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!vi(t)?t._ctx=pe:r===3&&pe&&(pe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else K(t)?(t={default:t,_ctx:pe},n=32):(t=String(t),s&64?(n=16,t=[Di(t)]):n=8);e.children=t,e.shapeFlag|=n}function ic(...e){const t={};for(let n=0;nae||pe;let gn,as;{const e=Nr(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};gn=t("__VUE_INSTANCE_SETTERS__",n=>ae=n),as=t("__VUE_SSR_SETTERS__",n=>In=n)}const Ut=e=>{const t=ae;return gn(e),e.scope.on(),()=>{e.scope.off(),gn(t)}},rr=()=>{ae&&ae.scope.off(),gn(null)};function Vi(e){return e.vnode.shapeFlag&4}let In=!1;function ac(e,t=!1,n=!1){t&&as(t);const{props:s,children:r}=e.vnode,i=Vi(e);Ml(e,s,i,t),Hl(e,r,n);const o=i?fc(e,t):void 0;return t&&as(!1),o}function fc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,El);const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Bi(e):null,i=Ut(e);Ze();const o=Ge(s,e,0,[e.props,r]);if(et(),i(),Lr(o)){if(o.then(rr,rr),t)return o.then(l=>{ir(e,l,t)}).catch(l=>{En(l,e,0)});e.asyncDep=o}else ir(e,o,t)}else Ui(e,t)}function ir(e,t,n){K(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Z(t)&&(e.setupState=ti(t)),Ui(e,n)}let or;function Ui(e,t,n){const s=e.type;if(!e.render){if(!t&&or&&!s.render){const r=s.template||As(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=le(le({isCustomElement:i,delimiters:l},o),c);s.render=or(r,u)}}e.render=s.render||Ae}{const r=Ut(e);Ze();try{Sl(e)}finally{et(),r()}}}const uc={get(e,t){return ve(e,"get",""),e[t]}};function Bi(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,uc),slots:e.slots,emit:e.emit,expose:t}}function Ls(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(ti(sn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mt)return Mt[n](e)},has(t,n){return n in t||n in Mt}})):e.proxy}function dc(e,t=!0){return K(e)?e.displayName||e.name:e.name||t&&e.__name}function hc(e){return K(e)&&"__vccOpts"in e}const re=(e,t)=>zo(e,t,In);function fs(e,t,n){const s=arguments.length;return s===2?Z(t)&&!V(t)?pn(t)?ue(e,null,[t]):ue(e,t):ue(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&pn(n)&&(n=[n]),ue(e,t,n))}const pc="3.4.38";/** -* @vue/runtime-dom v3.4.38 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const gc="http://www.w3.org/2000/svg",mc="http://www.w3.org/1998/Math/MathML",He=typeof document<"u"?document:null,lr=He&&He.createElement("template"),yc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?He.createElementNS(gc,e):t==="mathml"?He.createElementNS(mc,e):n?He.createElement(e,{is:n}):He.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>He.createTextNode(e),createComment:e=>He.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>He.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{lr.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const l=lr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ue="transition",Ot="animation",Dt=Symbol("_vtc"),ki=(e,{slots:t})=>fs(ul,_c(e),t);ki.displayName="Transition";const Ki={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};ki.props=le({},ii,Ki);const st=(e,t=[])=>{V(e)?e.forEach(n=>n(...t)):e&&e(...t)},cr=e=>e?V(e)?e.some(t=>t.length>1):e.length>1:!1;function _c(e){const t={};for(const E in e)E in Ki||(t[E]=e[E]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:d=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:T=`${n}-leave-to`}=e,N=bc(r),P=N&&N[0],W=N&&N[1],{onBeforeEnter:q,onEnter:G,onEnterCancelled:p,onLeave:m,onLeaveCancelled:I,onBeforeAppear:R=q,onAppear:U=G,onAppearCancelled:B=p}=t,O=(E,D,ee)=>{rt(E,D?d:l),rt(E,D?u:o),ee&&ee()},_=(E,D)=>{E._isLeaving=!1,rt(E,h),rt(E,T),rt(E,v),D&&D()},M=E=>(D,ee)=>{const ne=E?U:G,$=()=>O(D,E,ee);st(ne,[D,$]),ar(()=>{rt(D,E?c:i),Be(D,E?d:l),cr(ne)||fr(D,s,P,$)})};return le(t,{onBeforeEnter(E){st(q,[E]),Be(E,i),Be(E,o)},onBeforeAppear(E){st(R,[E]),Be(E,c),Be(E,u)},onEnter:M(!1),onAppear:M(!0),onLeave(E,D){E._isLeaving=!0;const ee=()=>_(E,D);Be(E,h),Be(E,v),Ec(),ar(()=>{E._isLeaving&&(rt(E,h),Be(E,T),cr(m)||fr(E,s,W,ee))}),st(m,[E,ee])},onEnterCancelled(E){O(E,!1),st(p,[E])},onAppearCancelled(E){O(E,!0),st(B,[E])},onLeaveCancelled(E){_(E),st(I,[E])}})}function bc(e){if(e==null)return null;if(Z(e))return[Un(e.enter),Un(e.leave)];{const t=Un(e);return[t,t]}}function Un(e){return mo(e)}function Be(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Dt]||(e[Dt]=new Set)).add(t)}function rt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Dt];n&&(n.delete(t),n.size||(e[Dt]=void 0))}function ar(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let vc=0;function fr(e,t,n,s){const r=e._endId=++vc,i=()=>{r===e._endId&&s()};if(n)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=wc(e,t);if(!o)return s();const u=o+"end";let d=0;const h=()=>{e.removeEventListener(u,v),i()},v=T=>{T.target===e&&++d>=c&&h()};setTimeout(()=>{d(n[N]||"").split(", "),r=s(`${Ue}Delay`),i=s(`${Ue}Duration`),o=ur(r,i),l=s(`${Ot}Delay`),c=s(`${Ot}Duration`),u=ur(l,c);let d=null,h=0,v=0;t===Ue?o>0&&(d=Ue,h=o,v=i.length):t===Ot?u>0&&(d=Ot,h=u,v=c.length):(h=Math.max(o,u),d=h>0?o>u?Ue:Ot:null,v=d?d===Ue?i.length:c.length:0);const T=d===Ue&&/\b(transform|all)(,|$)/.test(s(`${Ue}Property`).toString());return{type:d,timeout:h,propCount:v,hasTransform:T}}function ur(e,t){for(;e.lengthdr(n)+dr(e[s])))}function dr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ec(){return document.body.offsetHeight}function Cc(e,t,n){const s=e[Dt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const hr=Symbol("_vod"),Sc=Symbol("_vsh"),xc=Symbol(""),Tc=/(^|;)\s*display\s*:/;function Ac(e,t,n){const s=e.style,r=ie(n);let i=!1;if(n&&!r){if(t)if(ie(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&on(s,l,"")}else for(const o in t)n[o]==null&&on(s,o,"");for(const o in n)o==="display"&&(i=!0),on(s,o,n[o])}else if(r){if(t!==n){const o=s[xc];o&&(n+=";"+o),s.cssText=n,i=Tc.test(n)}}else t&&e.removeAttribute("style");hr in e&&(e[hr]=i?s.display:"",e[Sc]&&(s.display="none"))}const pr=/\s*!important$/;function on(e,t,n){if(V(n))n.forEach(s=>on(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Rc(e,t);pr.test(n)?e.setProperty(Qe(s),n.replace(pr,""),"important"):e[s]=n}}const gr=["Webkit","Moz","ms"],Bn={};function Rc(e,t){const n=Bn[t];if(n)return n;let s=Le(t);if(s!=="filter"&&s in e)return Bn[t]=s;s=_n(s);for(let r=0;rkn||(Nc.then(()=>kn=0),kn=Date.now());function Hc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;Re($c(s,n.value),t,5,[s])};return n.value=e,n.attached=Fc(),n}function $c(e,t){if(V(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const vr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Cc(e,s,o):t==="style"?Ac(e,n,s):Vt(t)?ds(t)||Mc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Dc(e,t,s,o))?(Oc(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&yr(e,t,s,o,i,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),yr(e,t,s,o))};function Dc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&vr(t)&&K(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return vr(t)&&ie(n)?!1:t in e}const Vc=["ctrl","shift","alt","meta"],Uc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Vc.some(n=>e[`${n}Key`]&&!t.includes(n))},Za=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=Qe(r.key);if(t.some(o=>o===i||Bc[o]===i))return e(r)})},kc=le({patchProp:jc},yc);let Kn,wr=!1;function Kc(){return Kn=wr?Kn:kl(kc),wr=!0,Kn}const tf=(...e)=>{const t=Kc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=qc(s);if(r)return n(r,!0,Wc(r))},t};function Wc(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function qc(e){return ie(e)?document.querySelector(e):e}const nf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Gc=window.__VP_SITE_DATA__;function Is(e){return jr()?(To(e),!0):!1}function ze(e){return typeof e=="function"?e():ei(e)}const Wi=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const zc=Object.prototype.toString,Xc=e=>zc.call(e)==="[object Object]",qi=()=>{},Er=Yc();function Yc(){var e,t;return Wi&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function Jc(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const Gi=e=>e();function Qc(e=Gi){const t=fe(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:wn(t),pause:n,resume:s,eventFilter:r}}function Zc(e){return Ln()}function zi(...e){if(e.length!==1)return tl(...e);const t=e[0];return typeof t=="function"?wn(Qo(()=>({get:t,set:qi}))):fe(t)}function ea(e,t,n={}){const{eventFilter:s=Gi,...r}=n;return Fe(e,Jc(s,t),r)}function ta(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=Qc(s);return{stop:ea(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function Ms(e,t=!0,n){Zc()?Tt(e,n):t?e():Cn(e)}const je=Wi?window:void 0;function Xi(e){var t;const n=ze(e);return(t=n==null?void 0:n.$el)!=null?t:n}function xt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=je):[t,n,s,r]=e,!t)return qi;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(d=>d()),i.length=0},l=(d,h,v,T)=>(d.addEventListener(h,v,T),()=>d.removeEventListener(h,v,T)),c=Fe(()=>[Xi(t),ze(r)],([d,h])=>{if(o(),!d)return;const v=Xc(h)?{...h}:h;i.push(...n.flatMap(T=>s.map(N=>l(d,T,N,v))))},{immediate:!0,flush:"post"}),u=()=>{c(),o()};return Is(u),u}function na(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function sf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=je,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=na(t);return xt(r,i,d=>{d.repeat&&ze(l)||c(d)&&n(d)},o)}function sa(){const e=fe(!1),t=Ln();return t&&Tt(()=>{e.value=!0},t),e}function ra(e){const t=sa();return re(()=>(t.value,!!e()))}function Yi(e,t={}){const{window:n=je}=t,s=ra(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=fe(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Li(()=>{s.value&&(l(),r=n.matchMedia(ze(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Is(()=>{c(),l(),r=void 0}),i}const Zt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},en="__vueuse_ssr_handlers__",ia=oa();function oa(){return en in Zt||(Zt[en]=Zt[en]||{}),Zt[en]}function Ji(e,t){return ia[e]||t}function Qi(e){return Yi("(prefers-color-scheme: dark)",e)}function la(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ca={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Cr="vueuse-storage";function aa(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:d,window:h=je,eventFilter:v,onError:T=_=>{console.error(_)},initOnMounted:N}=s,P=(d?Qr:fe)(typeof t=="function"?t():t);if(!n)try{n=Ji("getDefaultStorage",()=>{var _;return(_=je)==null?void 0:_.localStorage})()}catch(_){T(_)}if(!n)return P;const W=ze(t),q=la(W),G=(r=s.serializer)!=null?r:ca[q],{pause:p,resume:m}=ta(P,()=>R(P.value),{flush:i,deep:o,eventFilter:v});h&&l&&Ms(()=>{n instanceof Storage?xt(h,"storage",B):xt(h,Cr,O),N&&B()}),N||B();function I(_,M){if(h){const E={key:e,oldValue:_,newValue:M,storageArea:n};h.dispatchEvent(n instanceof Storage?new StorageEvent("storage",E):new CustomEvent(Cr,{detail:E}))}}function R(_){try{const M=n.getItem(e);if(_==null)I(M,null),n.removeItem(e);else{const E=G.write(_);M!==E&&(n.setItem(e,E),I(M,E))}}catch(M){T(M)}}function U(_){const M=_?_.newValue:n.getItem(e);if(M==null)return c&&W!=null&&n.setItem(e,G.write(W)),W;if(!_&&u){const E=G.read(M);return typeof u=="function"?u(E,W):q==="object"&&!Array.isArray(E)?{...W,...E}:E}else return typeof M!="string"?M:G.read(M)}function B(_){if(!(_&&_.storageArea!==n)){if(_&&_.key==null){P.value=W;return}if(!(_&&_.key!==e)){p();try{(_==null?void 0:_.newValue)!==G.write(P.value)&&(P.value=U(_))}catch(M){T(M)}finally{_?Cn(m):m()}}}}function O(_){B(_.detail)}return P}const fa="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function ua(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=je,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:d=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},v=Qi({window:r}),T=re(()=>v.value?"dark":"light"),N=c||(o==null?zi(s):aa(o,s,i,{window:r,listenToStorageChanges:l})),P=re(()=>N.value==="auto"?T.value:N.value),W=Ji("updateHTMLAttrs",(m,I,R)=>{const U=typeof m=="string"?r==null?void 0:r.document.querySelector(m):Xi(m);if(!U)return;const B=new Set,O=new Set;let _=null;if(I==="class"){const E=R.split(/\s/g);Object.values(h).flatMap(D=>(D||"").split(/\s/g)).filter(Boolean).forEach(D=>{E.includes(D)?B.add(D):O.add(D)})}else _={key:I,value:R};if(B.size===0&&O.size===0&&_===null)return;let M;d&&(M=r.document.createElement("style"),M.appendChild(document.createTextNode(fa)),r.document.head.appendChild(M));for(const E of B)U.classList.add(E);for(const E of O)U.classList.remove(E);_&&U.setAttribute(_.key,_.value),d&&(r.getComputedStyle(M).opacity,document.head.removeChild(M))});function q(m){var I;W(t,n,(I=h[m])!=null?I:m)}function G(m){e.onChanged?e.onChanged(m,q):q(m)}Fe(P,G,{flush:"post",immediate:!0}),Ms(()=>G(P.value));const p=re({get(){return u?N.value:P.value},set(m){N.value=m}});try{return Object.assign(p,{store:N,system:T,state:P})}catch{return p}}function da(e={}){const{valueDark:t="dark",valueLight:n="",window:s=je}=e,r=ua({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=re(()=>r.system?r.system.value:Qi({window:s}).value?"dark":"light");return re({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function Wn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Zi(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const qn=new WeakMap;function rf(e,t=!1){const n=fe(t);let s=null,r="";Fe(zi(e),l=>{const c=Wn(ze(l));if(c){const u=c;if(qn.get(u)||qn.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(r=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=Wn(ze(e));!l||n.value||(Er&&(s=xt(l,"touchmove",c=>{ha(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=Wn(ze(e));!l||!n.value||(Er&&(s==null||s()),l.style.overflow=r,qn.delete(l),n.value=!1)};return Is(o),re({get(){return n.value},set(l){l?i():o()}})}function of(e={}){const{window:t=je,behavior:n="auto"}=e;if(!t)return{x:fe(0),y:fe(0)};const s=fe(t.scrollX),r=fe(t.scrollY),i=re({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return xt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function lf(e={}){const{window:t=je,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=fe(n),c=fe(s),u=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(u(),Ms(u),xt("resize",u,{passive:!0}),r){const d=Yi("(orientation: portrait)");Fe(d,()=>u())}return{width:l,height:c}}const Gn={BASE_URL:"/vue-types/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var zn={};const eo=/^(?:[a-z]+:|\/\/)/i,pa="vitepress-theme-appearance",ga=/#.*$/,ma=/[?#].*$/,ya=/(?:(^|\/)index)?\.(?:md|html)$/,de=typeof document<"u",to={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function _a(e,t,n=!1){if(t===void 0)return!1;if(e=Sr(`/${e}`),n)return new RegExp(t).test(e);if(Sr(t)!==e)return!1;const s=t.match(ga);return s?(de?location.hash:"")===s[0]:!0}function Sr(e){return decodeURI(e).replace(ma,"").replace(ya,"$1")}function ba(e){return eo.test(e)}function va(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!ba(n)&&_a(t,`/${n}/`,!0))||"root"}function wa(e,t){var s,r,i,o,l,c,u;const n=va(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:so(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function no(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Ea(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Ea(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Ca(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function so(e,t){return[...e.filter(n=>!Ca(t,n)),...t]}const Sa=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,xa=/^[a-z]:/i;function xr(e){const t=xa.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Sa,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const Xn=new Set;function Ta(e){if(Xn.size===0){const n=typeof process=="object"&&(zn==null?void 0:zn.VITE_EXTRA_EXTENSIONS)||(Gn==null?void 0:Gn.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>Xn.add(s))}const t=e.split(".").pop();return t==null||!Xn.has(t.toLowerCase())}const Aa=Symbol(),ut=Qr(Gc);function cf(e){const t=re(()=>wa(ut.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?fe(!0):n?da({storageKey:pa,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):fe(!1),r=fe(de?location.hash:"");return de&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=de?location.hash:""}),{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>no(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:s,hash:re(()=>r.value)}}function Ra(){const e=Ct(Aa);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Oa(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function Tr(e){return eo.test(e)||!e.startsWith("/")?e:Oa(ut.value.base,e)}function La(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),de){const n="/vue-types/";t=xr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${xr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let ln=[];function af(e){ln.push(e),An(()=>{ln=ln.filter(t=>t!==e)})}function Ia(){let e=ut.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Ar(e,n);else if(Array.isArray(e))for(const s of e){const r=Ar(s,n);if(r){t=r;break}}return t}function Ar(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Ma=Symbol(),ro="http://a.com",Pa=()=>({path:"/",component:null,data:to});function ff(e,t){const n=vn(Pa()),s={route:n,go:r};async function r(l=de?location.href:"/"){var c,u;l=Yn(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(de&&l!==Yn(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,c=0,u=!1){var v;if(await((v=s.onBeforePageLoad)==null?void 0:v.call(s,l))===!1)return;const d=new URL(l,ro),h=i=d.pathname;try{let T=await e(h);if(!T)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:N,__pageData:P}=T;if(!N)throw new Error(`Invalid route component: ${N}`);n.path=de?h:Tr(h),n.component=sn(N),n.data=sn(P),de&&Cn(()=>{let W=ut.value.base+P.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!ut.value.cleanUrls&&!W.endsWith("/")&&(W+=".html"),W!==d.pathname&&(d.pathname=W,l=W+d.search+d.hash,history.replaceState({},"",l)),d.hash&&!c){let q=null;try{q=document.getElementById(decodeURIComponent(d.hash).slice(1))}catch(G){console.warn(G)}if(q){Rr(q,d.hash);return}}window.scrollTo(0,c)})}}catch(T){if(!/fetch|Page not found/.test(T.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(T),!u)try{const N=await fetch(ut.value.base+"hashmap.json");window.__VP_HASH_MAP__=await N.json(),await o(l,c,!0);return}catch{}if(i===h){i=null,n.path=de?h:Tr(h),n.component=t?sn(t):null;const N=de?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...to,relativePath:N}}}}return de&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:d,origin:h,pathname:v,hash:T,search:N}=new URL(u,c.baseURI),P=new URL(location.href);h===P.origin&&Ta(v)&&(l.preventDefault(),v===P.pathname&&N===P.search?(T!==P.hash&&(history.pushState({},"",d),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:P.href,newURL:d}))),T?Rr(c,T,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(d))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(Yn(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function Na(){const e=Ct(Ma);if(!e)throw new Error("useRouter() is called without provider.");return e}function io(){return Na().route}function Rr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Ia()+i;requestAnimationFrame(r)}}function Yn(e){const t=new URL(e,ro);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),ut.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Jn=()=>ln.forEach(e=>e()),uf=ai({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=io(),{site:n}=Ra();return()=>fs(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?fs(t.component,{onVnodeMounted:Jn,onVnodeUpdated:Jn,onVnodeUnmounted:Jn}):"404 Page Not Found"])}}),df=ai({setup(e,{slots:t}){const n=fe(!1);return Tt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function hf(){de&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function pf(){if(de){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(d=>d.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Fa(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const d=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,d)})}})}}async function Fa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function gf(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=Qn(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(Qn);s.forEach((l,c)=>{const u=o.findIndex(d=>d==null?void 0:d.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Li(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=no(o,i);u!==document.title&&(document.title=u);const d=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==d&&h.setAttribute("content",d):Qn(["meta",{name:"description",content:d}]),r(so(o.head,$a(c)))})}function Qn([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&!t.async&&(s.async=!1),s}function Ha(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function $a(e){return e.filter(t=>!Ha(t))}const Zn=new Set,oo=()=>document.createElement("link"),ja=e=>{const t=oo();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Da=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let tn;const Va=de&&(tn=oo())&&tn.relList&&tn.relList.supports&&tn.relList.supports("prefetch")?ja:Da;function mf(){if(!de||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!Zn.has(c)){Zn.add(c);const u=La(c);u&&Va(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):Zn.add(l))})})};Tt(s);const r=io();Fe(()=>r.path,s),An(()=>{n&&n.disconnect()})}export{ui as $,Xa as A,yl as B,Ia as C,ka as D,Wa as E,be as F,Qr as G,af as H,ue as I,Ka as J,eo as K,io as L,ic as M,Ct as N,lf as O,gs as P,sf as Q,Cn as R,of as S,ki as T,de as U,wn as V,rf as W,Il as X,ef as Y,Ga as Z,nf as _,Di as a,Za as a0,za as a1,Ja as a2,gf as a3,Ma as a4,cf as a5,Aa as a6,uf as a7,df as a8,ut as a9,tf as aa,ff as ab,La as ac,mf as ad,pf as ae,hf as af,fs as ag,Hi as b,Ya as c,ai as d,Qa as e,Ta as f,Tr as g,re as h,ba as i,ji as j,ei as k,Ba as l,_a as m,ms as n,Ni as o,Ua as p,Yi as q,qa as r,fe as s,Co as t,Ra as u,Fe as v,cl as w,Li as x,Tt as y,An as z}; diff --git a/assets/chunks/theme.Z6jEv4e3.js b/assets/chunks/theme.Z6jEv4e3.js new file mode 100644 index 00000000..0fa0ac9b --- /dev/null +++ b/assets/chunks/theme.Z6jEv4e3.js @@ -0,0 +1 @@ +import{d as m,o as a,c as u,r as c,n as N,a as z,t as M,b as k,w as p,e as h,T as ce,_ as b,u as Ae,i as Be,f as Ce,g as ue,h as $,j as v,k as r,l as W,m as ae,p as T,q as D,s as Q,v as j,x as de,y as ve,z as Ee,A as Fe,B as q,F as w,C as B,D as ge,E as X,G as _,H as E,I as $e,J as Z,K as U,L as x,M as De,N as ye,O as Oe,P as Pe,Q as Le,R as ee,S as Ge,U as Ve,V as Se,W as Ue,X as je,Y as ze,Z as We,$ as qe}from"./framework.D25Vw4RT.js";const Ke=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:N(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(M(e.text),1)])],2))}}),Je={key:0,class:"VPBackdrop"},Re=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ce,{name:"fade"},{default:p(()=>[e.show?(a(),u("div",Je)):h("",!0)]),_:1}))}}),Ye=b(Re,[["__scopeId","data-v-c4178ce8"]]),P=Ae;function Qe(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function re(s){return/^\//.test(s)?s:`/${s}`}function pe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(Be(s)||s.startsWith("#")||!n.startsWith("http")||!Ce(e))return s;const{site:i}=P(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return ue(l)}function J({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=P(),l=$(()=>{var d,y;return{label:(d=e.value.locales[t.value])==null?void 0:d.label,link:((y=e.value.locales[t.value])==null?void 0:y.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:$(()=>Object.entries(e.value.locales).flatMap(([d,y])=>l.value.label===y.label?[]:{text:y.label,link:Xe(y.link||(d==="root"?"/":`/${d}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function Xe(s,e,t,o){return e?s.replace(/\/$/,"")+re(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const Ze={class:"NotFound"},xe={class:"code"},et={class:"title"},tt={class:"quote"},nt={class:"action"},ot=["href","aria-label"],st=m({__name:"NotFound",setup(s){const{theme:e}=P(),{currentLang:t}=J();return(o,n)=>{var i,l,f,d,y;return a(),u("div",Ze,[v("p",xe,M(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),v("h1",et,M(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=v("div",{class:"divider"},null,-1)),v("blockquote",tt,M(((f=r(e).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),v("div",nt,[v("a",{class:"link",href:r(ue)(r(t).link),"aria-label":((d=r(e).notFound)==null?void 0:d.linkLabel)??"go to home"},M(((y=r(e).notFound)==null?void 0:y.linkText)??"Take me home"),9,ot)])])}}}),at=b(st,[["__scopeId","data-v-40d61379"]]);function Te(s,e){if(Array.isArray(s))return R(s);if(s==null)return[];e=re(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(re(n))),o=t?s[t]:[];return Array.isArray(o)?R(o):R(o.items,o.base)}function rt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function it(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function ie(s,e){return Array.isArray(e)?e.some(t=>ie(s,t)):W(s,e.link)?!0:e.items?ie(s,e.items):!1}function R(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=R(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=P(),o=ae("(min-width: 960px)"),n=T(!1),i=$(()=>{const A=t.value.sidebar,S=e.value.relativePath;return A?Te(A,S):[]}),l=T(i.value);D(i,(A,S)=>{JSON.stringify(A)!==JSON.stringify(S)&&(l.value=i.value)});const f=$(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),d=$(()=>y?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),y=$(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),L=$(()=>f.value&&o.value),g=$(()=>f.value?rt(l.value):[]);function V(){n.value=!0}function I(){n.value=!1}function H(){n.value?I():V()}return{isOpen:n,sidebar:l,sidebarGroups:g,hasSidebar:f,hasAside:y,leftAside:d,isSidebarEnabled:L,open:V,close:I,toggle:H}}function lt(s,e){let t;Q(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),de(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function ct(s){const{page:e,hash:t}=P(),o=T(!1),n=$(()=>s.value.collapsed!=null),i=$(()=>!!s.value.link),l=T(!1),f=()=>{l.value=W(e.value.relativePath,s.value.link)};D([e,s,t],f),j(f);const d=$(()=>l.value?!0:s.value.items?ie(e.value.relativePath,s.value.items):!1),y=$(()=>!!(s.value.items&&s.value.items.length));Q(()=>{o.value=!!(n.value&&s.value.collapsed)}),ve(()=>{(l.value||d.value)&&(o.value=!1)});function L(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:d,hasChildren:y,toggle:L}}function ut(){const{hasSidebar:s}=O(),e=ae("(min-width: 960px)"),t=ae("(min-width: 1280px)");return{isAsideEnabled:$(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const le=[];function Ne(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function fe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:dt(t),link:"#"+t.id,level:o}});return vt(e,s)}function dt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function vt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return ht(s,o,n)}function pt(s,e){const{isAsideEnabled:t}=ut(),o=Qe(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Ee(()=>{l(location.hash)}),de(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const f=window.scrollY,d=window.innerHeight,y=document.body.offsetHeight,L=Math.abs(f+d-y)<1,g=le.map(({element:I,link:H})=>({link:H,top:ft(I)})).filter(({top:I})=>!Number.isNaN(I)).sort((I,H)=>I.top-H.top);if(!g.length){l(null);return}if(f<1){l(null);return}if(L){l(g[g.length-1].link);return}let V=null;for(const{link:I,top:H}of g){if(H>f+Fe()+4)break;V=I}l(V)}function l(f){n&&n.classList.remove("active"),f==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const d=n;d?(d.classList.add("active"),e.value.style.top=d.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function ft(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function ht(s,e,t){le.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let f=n[n.length-1];for(;f&&f.level>=l.level;)n.pop(),f=n[n.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=q("VPDocOutlineItem",!0);return a(),u("ul",{class:N(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(w,null,B(t.headers,({children:i,link:l,title:f})=>(a(),u("li",null,[v("a",{class:"outline-link",href:l,onClick:e,title:f},M(f),9,mt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Me=b(_t,[["__scopeId","data-v-439b8333"]]),kt={class:"content"},bt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},gt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=P(),o=ge([]);X(()=>{o.value=fe(e.value.outline??t.value.outline)});const n=T(),i=T();return pt(n,i),(l,f)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:N(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[v("div",kt,[v("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),v("div",bt,M(r(Ne)(r(t))),1),_(Me,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),$t=b(gt,[["__scopeId","data-v-64536334"]]),yt={class:"VPDocAsideCarbonAds"},Pt=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",yt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),Lt={class:"VPDocAside"},Vt=m({__name:"VPDocAside",setup(s){const{theme:e}=P();return(t,o)=>(a(),u("div",Lt,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_($t),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=v("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Pt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),St=b(Vt,[["__scopeId","data-v-00c7d2e0"]]);function Tt(){const{theme:s,page:e}=P();return $(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Nt(){const{page:s,theme:e,frontmatter:t}=P();return $(()=>{var y,L,g,V,I,H,A,S;const o=Te(e.value.sidebar,s.value.relativePath),n=it(o),i=Mt(n,C=>C.link.replace(/[?#].*$/,"")),l=i.findIndex(C=>W(s.value.relativePath,C.link)),f=((y=e.value.docFooter)==null?void 0:y.prev)===!1&&!t.value.prev||t.value.prev===!1,d=((L=e.value.docFooter)==null?void 0:L.next)===!1&&!t.value.next||t.value.next===!1;return{prev:f?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((g=i[l-1])==null?void 0:g.docFooterText)??((V=i[l-1])==null?void 0:V.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((I=i[l-1])==null?void 0:I.link)},next:d?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((H=i[l+1])==null?void 0:H.docFooterText)??((A=i[l+1])==null?void 0:A.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[l+1])==null?void 0:S.link)}}})}function Mt(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const F=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=$(()=>e.tag??(e.href?"a":"span")),o=$(()=>e.href&&$e.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:N(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(pe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),It={class:"VPLastUpdated"},wt=["datetime"],Ht=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=P(),n=$(()=>new Date(t.value.lastUpdated)),i=$(()=>n.value.toISOString()),l=T("");return j(()=>{Q(()=>{var f,d,y;l.value=new Intl.DateTimeFormat((d=(f=e.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&d.forceLocale?o.value:void 0,((y=e.value.lastUpdated)==null?void 0:y.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(f,d)=>{var y;return a(),u("p",It,[z(M(((y=r(e).lastUpdated)==null?void 0:y.text)||r(e).lastUpdatedText||"Last updated")+": ",1),v("time",{datetime:i.value},M(l.value),9,wt)])}}}),At=b(Ht,[["__scopeId","data-v-d07b42e7"]]),Bt={key:0,class:"VPDocFooter"},Ct={key:0,class:"edit-info"},Et={key:0,class:"edit-link"},Ft={key:1,class:"last-updated"},Dt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ot={class:"pager"},Gt=["innerHTML"],Ut=["innerHTML"],jt={class:"pager"},zt=["innerHTML"],Wt=["innerHTML"],qt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=P(),n=Tt(),i=Nt(),l=$(()=>e.value.editLink&&o.value.editLink!==!1),f=$(()=>t.value.lastUpdated),d=$(()=>l.value||f.value||i.value.prev||i.value.next);return(y,L)=>{var g,V,I,H;return d.value?(a(),u("footer",Bt,[c(y.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(a(),u("div",Ct,[l.value?(a(),u("div",Et,[_(F,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:p(()=>[L[0]||(L[0]=v("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+M(r(n).text),1)]),_:1},8,["href"])])):h("",!0),f.value?(a(),u("div",Ft,[_(At)])):h("",!0)])):h("",!0),(g=r(i).prev)!=null&&g.link||(V=r(i).next)!=null&&V.link?(a(),u("nav",Dt,[L[1]||(L[1]=v("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),v("div",Ot,[(I=r(i).prev)!=null&&I.link?(a(),k(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var A;return[v("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.prev)||"Previous page"},null,8,Gt),v("span",{class:"title",innerHTML:r(i).prev.text},null,8,Ut)]}),_:1},8,["href"])):h("",!0)]),v("div",jt,[(H=r(i).next)!=null&&H.link?(a(),k(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var A;return[v("span",{class:"desc",innerHTML:((A=r(e).docFooter)==null?void 0:A.next)||"Next page"},null,8,zt),v("span",{class:"title",innerHTML:r(i).next.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Kt=b(qt,[["__scopeId","data-v-2afd8f59"]]),Jt={class:"container"},Rt={class:"aside-container"},Yt={class:"aside-content"},Qt={class:"content"},Xt={class:"content-container"},Zt={class:"main"},xt=m({__name:"VPDoc",setup(s){const{theme:e}=P(),t=Z(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=$(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,d)=>{const y=q("Content");return a(),u("div",{class:N(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(f.$slots,"doc-top",{},void 0,!0),v("div",Jt,[r(n)?(a(),u("div",{key:0,class:N(["aside",{"left-aside":r(i)}])},[d[0]||(d[0]=v("div",{class:"aside-curtain"},null,-1)),v("div",Rt,[v("div",Yt,[_(St,null,{"aside-top":p(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),v("div",Qt,[v("div",Xt,[c(f.$slots,"doc-before",{},void 0,!0),v("main",Zt,[_(y,{class:N(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Kt,null,{"doc-footer-before":p(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),en=b(xt,[["__scopeId","data-v-609c0a40"]]),tn=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=$(()=>e.href&&$e.test(e.href)),o=$(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:N(["VPButton",[n.size,n.theme]]),href:n.href?r(pe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:p(()=>[z(M(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),nn=b(tn,[["__scopeId","data-v-f4b6a680"]]),on=["src","alt"],sn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=q("VPImage",!0);return e.image?(a(),u(w,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,on)):(a(),u(w,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),Y=b(sn,[["__scopeId","data-v-9c37ee87"]]),an={class:"container"},rn={class:"main"},ln={key:0,class:"name"},cn=["innerHTML"],un=["innerHTML"],dn=["innerHTML"],vn={key:0,class:"actions"},pn={key:0,class:"image"},fn={class:"image-container"},hn=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=x("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:N(["VPHero",{"has-image":t.image||r(e)}])},[v("div",an,[v("div",rn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",ln,[v("span",{innerHTML:t.name,class:"clip"},null,8,cn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,un)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,dn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",vn,[(a(!0),u(w,null,B(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(nn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",pn,[v("div",fn,[o[0]||(o[0]=v("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Y,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),mn=b(hn,[["__scopeId","data-v-7bb80741"]]),_n=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=P();return(t,o)=>r(e).hero?(a(),k(mn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),kn={class:"box"},bn={key:0,class:"icon"},gn=["innerHTML"],$n=["innerHTML"],yn=["innerHTML"],Pn={key:4,class:"link-text"},Ln={class:"link-text-value"},Vn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[v("article",kn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",bn,[_(Y,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Y,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,gn)):h("",!0),v("h2",{class:"title",innerHTML:e.title},null,8,$n),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,yn)):h("",!0),e.linkText?(a(),u("div",Pn,[v("p",Ln,[z(M(e.linkText)+" ",1),t[0]||(t[0]=v("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Sn=b(Vn,[["__scopeId","data-v-4fba6d18"]]),Tn={key:0,class:"VPFeatures"},Nn={class:"container"},Mn={class:"items"},In=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=$(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",Tn,[v("div",Nn,[v("div",Mn,[(a(!0),u(w,null,B(o.features,i=>(a(),u("div",{key:i.title,class:N(["item",[t.value]])},[_(Sn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),wn=b(In,[["__scopeId","data-v-842d9512"]]),Hn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=P();return(t,o)=>r(e).features?(a(),k(wn,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),An=m({__name:"VPHomeContent",setup(s){const{width:e}=De({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:ye(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),Bn=b(An,[["__scopeId","data-v-99c383f9"]]),Cn={class:"VPHome"},En=m({__name:"VPHome",setup(s){const{frontmatter:e}=P();return(t,o)=>{const n=q("Content");return a(),u("div",Cn,[c(t.$slots,"home-hero-before",{},void 0,!0),_(_n,null,{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),_(Hn),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Bn,{key:0},{default:p(()=>[_(n)]),_:1})):(a(),k(n,{key:1}))])}}}),Fn=b(En,[["__scopeId","data-v-a1965e7c"]]),Dn={},On={class:"VPPage"};function Gn(s,e){const t=q("Content");return a(),u("div",On,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const Un=b(Dn,[["render",Gn]]),jn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=P(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:N(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(at)],!0):r(t).layout==="page"?(a(),k(Un,{key:1},{"page-top":p(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(Fn,{key:2},{"home-hero-before":p(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(en,{key:4},{"doc-top":p(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),zn=b(jn,[["__scopeId","data-v-b38c3c5a"]]),Wn={class:"container"},qn=["innerHTML"],Kn=["innerHTML"],Jn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:N(["VPFooter",{"has-sidebar":r(o)}])},[v("div",Wn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,qn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Kn)):h("",!0)])],2)):h("",!0)}}),Rn=b(Jn,[["__scopeId","data-v-7e1952f2"]]);function Yn(){const{theme:s,frontmatter:e}=P(),t=ge([]),o=$(()=>t.value.length>0);return X(()=>{t.value=fe(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const Qn={class:"menu-text"},Xn={class:"header"},Zn={class:"outline"},xn=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=P(),o=T(!1),n=T(0),i=T(),l=T();function f(g){var V;(V=i.value)!=null&&V.contains(g.target)||(o.value=!1)}D(o,g=>{if(g){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),Oe("Escape",()=>{o.value=!1}),X(()=>{o.value=!1});function d(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function y(g){g.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Pe(()=>{o.value=!1}))}function L(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(g,V)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:ye({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[g.headers.length>0?(a(),u("button",{key:0,onClick:d,class:N({open:o.value})},[v("span",Qn,M(r(Ne)(r(t))),1),V[0]||(V[0]=v("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:L},M(r(t).returnToTopLabel||"Return to top"),1)),_(ce,{name:"flyout"},{default:p(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:y},[v("div",Xn,[v("a",{class:"top-link",href:"#",onClick:L},M(r(t).returnToTopLabel||"Return to top"),1)]),v("div",Zn,[_(Me,{headers:g.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),eo=b(xn,[["__scopeId","data-v-658a669a"]]),to={class:"container"},no=["aria-expanded"],oo={class:"menu-text"},so=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=P(),{hasSidebar:o}=O(),{headers:n}=Yn(),{y:i}=Le(),l=T(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),X(()=>{n.value=fe(t.value.outline??e.value.outline)});const f=$(()=>n.value.length===0),d=$(()=>f.value&&!o.value),y=$(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:f.value,fixed:d.value}));return(L,g)=>r(t).layout!=="home"&&(!d.value||r(i)>=l.value)?(a(),u("div",{key:0,class:N(y.value)},[v("div",to,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":L.open,"aria-controls":"VPSidebarNav",onClick:g[0]||(g[0]=V=>L.$emit("open-menu"))},[g[1]||(g[1]=v("span",{class:"vpi-align-left menu-icon"},null,-1)),v("span",oo,M(r(e).sidebarMenuLabel||"Menu"),1)],8,no)):h("",!0),_(eo,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),ao=b(so,[["__scopeId","data-v-a3a940b1"]]);function ro(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=Z();return D(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const io={},lo={class:"VPSwitch",type:"button",role:"switch"},co={class:"check"},uo={key:0,class:"icon"};function vo(s,e){return a(),u("button",lo,[v("span",co,[s.$slots.default?(a(),u("span",uo,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const po=b(io,[["render",vo],["__scopeId","data-v-83bad5ce"]]),fo=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=P(),o=x("toggle-appearance",()=>{e.value=!e.value}),n=T("");return ve(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(po,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:p(()=>l[0]||(l[0]=[v("span",{class:"vpi-sun sun"},null,-1),v("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),he=b(fo,[["__scopeId","data-v-8a9b7180"]]),ho={key:0,class:"VPNavBarAppearance"},mo=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=P();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",ho,[_(he)])):h("",!0)}}),_o=b(mo,[["__scopeId","data-v-8301164d"]]),me=T();let Ie=!1,se=0;function ko(s){const e=T(!1);if(ee){!Ie&&bo(),se++;const t=D(me,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});de(()=>{t(),se--,se||go()})}return Ge(e)}function bo(){document.addEventListener("focusin",we),Ie=!0,me.value=document.activeElement}function go(){document.removeEventListener("focusin",we)}function we(){me.value=document.activeElement}const $o={class:"VPMenuLink"},yo=["innerHTML"],Po=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,o)=>(a(),u("div",$o,[_(F,{class:N({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:p(()=>[v("span",{innerHTML:t.item.text},null,8,yo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),te=b(Po,[["__scopeId","data-v-73feb0da"]]),Lo={class:"VPMenuGroup"},Vo={key:0,class:"title"},So=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Lo,[e.text?(a(),u("p",Vo,M(e.text),1)):h("",!0),(a(!0),u(w,null,B(e.items,o=>(a(),u(w,null,["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),To=b(So,[["__scopeId","data-v-4d37dcd3"]]),No={class:"VPMenu"},Mo={key:0,class:"items"},Io=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",No,[e.items?(a(),u("div",Mo,[(a(!0),u(w,null,B(e.items,o=>(a(),u(w,{key:JSON.stringify(o)},["link"in o?(a(),k(te,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(To,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),wo=b(Io,[["__scopeId","data-v-1faf69d6"]]),Ho=["aria-expanded","aria-label"],Ao={key:0,class:"text"},Bo=["innerHTML"],Co={key:1,class:"vpi-more-horizontal icon"},Eo={class:"menu"},Fo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();ko({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[v("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Ao,[n.icon?(a(),u("span",{key:0,class:N([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Bo)):h("",!0),i[3]||(i[3]=v("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Co))],8,Ho),v("div",Eo,[_(wo,{items:n.items},{default:p(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),_e=b(Fo,[["__scopeId","data-v-b7d52692"]]),Do=["href","aria-label","innerHTML"],Oo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=T();j(async()=>{var i;await Pe();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=$(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Do))}}),Go=b(Oo,[["__scopeId","data-v-8908c89a"]]),Uo={class:"VPSocialLinks"},jo=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",Uo,[(a(!0),u(w,null,B(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(Go,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=b(jo,[["__scopeId","data-v-a2ee8442"]]),zo={key:0,class:"group translations"},Wo={class:"trans-title"},qo={key:1,class:"group"},Ko={class:"item appearance"},Jo={class:"label"},Ro={class:"appearance-action"},Yo={key:2,class:"group"},Qo={class:"item social-links"},Xo=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=P(),{localeLinks:o,currentLang:n}=J({correspondingLink:!0}),i=$(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,f)=>i.value?(a(),k(_e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(o).length&&r(n).label?(a(),u("div",zo,[v("p",Wo,M(r(n).label),1),(a(!0),u(w,null,B(r(o),d=>(a(),k(te,{key:d.link,item:d},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",qo,[v("div",Ko,[v("p",Jo,M(r(t).darkModeSwitchLabel||"Appearance"),1),v("div",Ro,[_(he)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Yo,[v("div",Qo,[_(ke,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Zo=b(Xo,[["__scopeId","data-v-3a3c4010"]]),xo=["aria-expanded"],es=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[v("span",{class:"container"},[v("span",{class:"top"}),v("span",{class:"middle"}),v("span",{class:"bottom"})],-1)]),10,xo))}}),ts=b(es,[["__scopeId","data-v-1846f37e"]]),ns=["innerHTML"],os=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=P();return(t,o)=>(a(),k(F,{class:N({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:p(()=>[v("span",{innerHTML:t.item.text},null,8,ns)]),_:1},8,["class","href","target","rel","no-icon"]))}}),ss=b(os,[["__scopeId","data-v-74f7b1fe"]]),as=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=P(),o=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=$(()=>o(e.item));return(i,l)=>(a(),k(_e,{class:N({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),rs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},is=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=P();return(t,o)=>r(e).nav?(a(),u("nav",rs,[o[0]||(o[0]=v("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(w,null,B(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(ss,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(as,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),ls=b(is,[["__scopeId","data-v-7dd00ada"]]);function cs(s){const{localeIndex:e,theme:t}=P();function o(n){var H,A,S;const i=n.split("."),l=(H=t.value.search)==null?void 0:H.options,f=l&&typeof l=="object",d=f&&((S=(A=l.locales)==null?void 0:A[e.value])==null?void 0:S.translations)||null,y=f&&l.translations||null;let L=d,g=y,V=s;const I=i.pop();for(const C of i){let G=null;const K=V==null?void 0:V[C];K&&(G=V=K);const ne=g==null?void 0:g[C];ne&&(G=g=ne);const oe=L==null?void 0:L[C];oe&&(G=L=oe),K||(V=G),ne||(g=G),oe||(L=G)}return(L==null?void 0:L[I])??(g==null?void 0:g[I])??(V==null?void 0:V[I])??""}return o}const us=["aria-label"],ds={class:"DocSearch-Button-Container"},vs={class:"DocSearch-Button-Placeholder"},be=m({__name:"VPNavBarSearchButton",setup(s){const t=cs({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[v("span",ds,[n[0]||(n[0]=v("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),v("span",vs,M(r(t)("button.buttonText")),1)]),n[1]||(n[1]=v("span",{class:"DocSearch-Button-Keys"},[v("kbd",{class:"DocSearch-Button-Key"}),v("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,us))}}),ps={class:"VPNavBarSearch"},fs={id:"local-search"},hs={key:1,id:"docsearch"},ms=m({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=()=>null,{theme:o}=P(),n=T(!1),i=T(!1);j(()=>{});function l(){n.value||(n.value=!0,setTimeout(f,16))}function f(){const L=new Event("keydown");L.key="k",L.metaKey=!0,window.dispatchEvent(L),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}const d=T(!1),y="";return(L,g)=>{var V;return a(),u("div",ps,[r(y)==="local"?(a(),u(w,{key:0},[d.value?(a(),k(r(e),{key:0,onClose:g[0]||(g[0]=I=>d.value=!1)})):h("",!0),v("div",fs,[_(be,{onClick:g[1]||(g[1]=I=>d.value=!0)})])],64)):r(y)==="algolia"?(a(),u(w,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((V=r(o).search)==null?void 0:V.options)??r(o).algolia,onVnodeBeforeMount:g[2]||(g[2]=I=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",hs,[_(be,{onClick:l})]))],64)):h("",!0)])}}}),_s=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=P();return(t,o)=>r(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ks=b(_s,[["__scopeId","data-v-3d86df1f"]]),bs=["href","rel","target"],gs=["innerHTML"],$s={key:2},ys=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=P(),{hasSidebar:o}=O(),{currentLang:n}=J(),i=$(()=>{var d;return typeof t.value.logoLink=="string"?t.value.logoLink:(d=t.value.logoLink)==null?void 0:d.link}),l=$(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.rel}),f=$(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.target});return(d,y)=>(a(),u("div",{class:N(["VPNavBarTitle",{"has-sidebar":r(o)}])},[v("a",{class:"title",href:i.value??r(pe)(r(n).link),rel:l.value,target:f.value},[c(d.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(Y,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,gs)):r(t).siteTitle===void 0?(a(),u("span",$s,M(r(e).title),1)):h("",!0),c(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,bs)],2))}}),Ps=b(ys,[["__scopeId","data-v-c4e9343c"]]),Ls={class:"items"},Vs={class:"title"},Ss=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=P(),{localeLinks:t,currentLang:o}=J({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(_e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:p(()=>[v("div",Ls,[v("p",Vs,M(r(o).label),1),(a(!0),u(w,null,B(r(t),l=>(a(),k(te,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),Ts=b(Ss,[["__scopeId","data-v-3850f352"]]),Ns={class:"wrapper"},Ms={class:"container"},Is={class:"title"},ws={class:"content"},Hs={class:"content-body"},As=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Le(),{hasSidebar:o}=O(),{frontmatter:n}=P(),i=T({});return ve(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,f)=>(a(),u("div",{class:N(["VPNavBar",i.value])},[v("div",Ns,[v("div",Ms,[v("div",Is,[_(Ps,null,{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),v("div",ws,[v("div",Hs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ms,{class:"search"}),_(ls,{class:"menu"}),_(Ts,{class:"translations"}),_(_o,{class:"appearance"}),_(ks,{class:"social-links"}),_(Zo,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(ts,{class:"hamburger",active:l.isScreenOpen,onClick:f[0]||(f[0]=d=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=v("div",{class:"divider"},[v("div",{class:"divider-line"})],-1))],2))}}),Bs=b(As,[["__scopeId","data-v-9329f3c8"]]),Cs={key:0,class:"VPNavScreenAppearance"},Es={class:"text"},Fs=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=P();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Cs,[v("p",Es,M(r(t).darkModeSwitchLabel||"Appearance"),1),_(he)])):h("",!0)}}),Ds=b(Fs,[["__scopeId","data-v-d48b1861"]]),Os=["innerHTML"],Gs=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[v("span",{innerHTML:t.item.text},null,8,Os)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Us=b(Gs,[["__scopeId","data-v-fc3065c7"]]),js=["innerHTML"],zs=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=x("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[v("span",{innerHTML:t.item.text},null,8,js)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),He=b(zs,[["__scopeId","data-v-38524075"]]),Ws={class:"VPNavScreenMenuGroupSection"},qs={key:0,class:"title"},Ks=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Ws,[e.text?(a(),u("p",qs,M(e.text),1)):h("",!0),(a(!0),u(w,null,B(e.items,o=>(a(),k(He,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Js=b(Ks,[["__scopeId","data-v-971f1d81"]]),Rs=["aria-controls","aria-expanded"],Ys=["innerHTML"],Qs=["id"],Xs={key:0,class:"item"},Zs={key:1,class:"item"},xs={key:2,class:"group"},ea=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),o=$(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[v("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[v("span",{class:"button-text",innerHTML:i.text},null,8,Ys),l[0]||(l[0]=v("span",{class:"vpi-plus button-icon"},null,-1))],8,Rs),v("div",{id:o.value,class:"items"},[(a(!0),u(w,null,B(i.items,f=>(a(),u(w,{key:JSON.stringify(f)},["link"in f?(a(),u("div",Xs,[_(He,{item:f},null,8,["item"])])):"component"in f?(a(),u("div",Zs,[(a(),k(E(f.component),U({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(a(),u("div",xs,[_(Js,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Qs)],2))}}),ta=b(ea,[["__scopeId","data-v-93b46a4c"]]),na={key:0,class:"VPNavScreenMenu"},oa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=P();return(t,o)=>r(e).nav?(a(),u("nav",na,[(a(!0),u(w,null,B(r(e).nav,n=>(a(),u(w,{key:JSON.stringify(n)},["link"in n?(a(),k(Us,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(ta,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),sa=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=P();return(t,o)=>r(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),aa={class:"list"},ra=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),o=T(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:N(["VPNavScreenTranslations",{open:o.value}])},[v("button",{class:"title",onClick:n},[l[0]||(l[0]=v("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+M(r(t).label)+" ",1),l[1]||(l[1]=v("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),v("ul",aa,[(a(!0),u(w,null,B(r(e),f=>(a(),u("li",{key:f.link,class:"item"},[_(F,{class:"link",href:f.link},{default:p(()=>[z(M(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ia=b(ra,[["__scopeId","data-v-8ad75a35"]]),la={class:"container"},ca=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Ve(ee?document.body:null);return(o,n)=>(a(),k(ce,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:p(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[v("div",la,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(oa,{class:"menu"}),_(ia,{class:"translations"}),_(Ds,{class:"appearance"}),_(sa,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),ua=b(ca,[["__scopeId","data-v-5fdd90fe"]]),da={key:0,class:"VPNav"},va=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=ro(),{frontmatter:n}=P(),i=$(()=>n.value.navbar!==!1);return Se("close-screen",t),Q(()=>{ee&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,f)=>i.value?(a(),u("header",da,[_(Bs,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(ua,{open:r(e)},{"nav-screen-content-before":p(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),pa=b(va,[["__scopeId","data-v-9db0b3a8"]]),fa=["role","tabindex"],ha={key:1,class:"items"},ma=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:f,toggle:d}=ct($(()=>e.item)),y=$(()=>f.value?"section":"div"),L=$(()=>n.value?"a":"div"),g=$(()=>f.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),V=$(()=>n.value?void 0:"button"),I=$(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function H(S){"key"in S&&S.key!=="Enter"||!e.item.link&&d()}function A(){e.item.link&&d()}return(S,C)=>{const G=q("VPSidebarItem",!0);return a(),k(E(y.value),{class:N(["VPSidebarItem",I.value])},{default:p(()=>[S.item.text?(a(),u("div",U({key:0,class:"item",role:V.value},je(S.item.items?{click:H,keydown:H}:{},!0),{tabindex:S.item.items&&0}),[C[1]||(C[1]=v("div",{class:"indicator"},null,-1)),S.item.link?(a(),k(F,{key:0,tag:L.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:p(()=>[(a(),k(E(g.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(g.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:A,onKeydown:Ue(A,["enter"]),tabindex:"0"},C[0]||(C[0]=[v("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,fa)):h("",!0),S.item.items&&S.item.items.length?(a(),u("div",ha,[S.depth<5?(a(!0),u(w,{key:0},B(S.item.items,K=>(a(),k(G,{key:K.text,item:K,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),_a=b(ma,[["__scopeId","data-v-43b4f510"]]),ka=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=T(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),ze(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(w,null,B(o.items,i=>(a(),u("div",{key:i.text,class:N(["group",{"no-transition":e.value}])},[_(_a,{item:i,depth:0},null,8,["item"])],2))),128))}}),ba=b(ka,[["__scopeId","data-v-de01546c"]]),ga={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},$a=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=T(null),i=Ve(ee?document.body:null);D([o,n],()=>{var f;o.open?(i.value=!0,(f=n.value)==null||f.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=T(0);return D(e,()=>{l.value+=1},{deep:!0}),(f,d)=>r(t)?(a(),u("aside",{key:0,class:N(["VPSidebar",{open:f.open}]),ref_key:"navEl",ref:n,onClick:d[0]||(d[0]=We(()=>{},["stop"]))},[d[2]||(d[2]=v("div",{class:"curtain"},null,-1)),v("nav",ga,[d[1]||(d[1]=v("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(ba,{items:r(e),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),ya=b($a,[["__scopeId","data-v-77b78a54"]]),Pa=m({__name:"VPSkipLink",setup(s){const e=Z(),t=T();D(()=>e.path,()=>t.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),u(w,null,[v("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),v("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),La=b(Pa,[["__scopeId","data-v-27e27f37"]]),Va=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=Z();D(()=>n.path,o),lt(e,o);const{frontmatter:i}=P(),l=qe(),f=$(()=>!!l["home-hero-image"]);return Se("hero-image-slot-exists",f),(d,y)=>{const L=q("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:N(["Layout",r(i).pageClass])},[c(d.$slots,"layout-top",{},void 0,!0),_(La),_(Ye,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(pa,null,{"nav-bar-title-before":p(()=>[c(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[c(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(ao,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(ya,{open:r(e)},{"sidebar-nav-before":p(()=>[c(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[c(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(zn,null,{"page-top":p(()=>[c(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[c(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[c(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[c(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[c(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[c(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Rn),c(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(L,{key:1}))}}}),Sa=b(Va,[["__scopeId","data-v-c7c6d876"]]),Na={Layout:Sa,enhanceApp:({app:s})=>{s.component("Badge",Ke)}};export{Na as t}; diff --git a/assets/chunks/theme.lg-f0D5T.js b/assets/chunks/theme.lg-f0D5T.js deleted file mode 100644 index f951880c..00000000 --- a/assets/chunks/theme.lg-f0D5T.js +++ /dev/null @@ -1 +0,0 @@ -import{d as _,o as a,c,r as l,n as w,a as O,t as T,b as k,w as v,e as h,T as de,_ as b,u as Oe,i as Ge,f as Ue,g as ve,h as g,j as p,k as r,p as C,l as H,m as W,q as ie,s as I,v as G,x as Z,y as K,z as pe,A as fe,B as je,C as ze,D as J,F as M,E,G as ye,H as x,I as m,J as F,K as Pe,L as ee,M as q,N as te,O as qe,P as Ve,Q as We,R as Ke,S as Le,U as oe,V as Je,W as Se,X as Te,Y as Re,Z as Ye,$ as Qe,a0 as Xe,a1 as Ze}from"./framework.Dr3U-I6a.js";const xe=_({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(o){return(e,t)=>(a(),c("span",{class:w(["VPBadge",e.type])},[l(e.$slots,"default",{},()=>[O(T(e.text),1)])],2))}}),et={key:0,class:"VPBackdrop"},tt=_({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(o){return(e,t)=>(a(),k(de,{name:"fade"},{default:v(()=>[e.show?(a(),c("div",et)):h("",!0)]),_:1}))}}),ot=b(tt,[["__scopeId","data-v-5a57bafc"]]),P=Oe;function nt(o,e){let t,s=!1;return()=>{t&&clearTimeout(t),s?t=setTimeout(o,e):(o(),(s=!0)&&setTimeout(()=>s=!1,e))}}function le(o){return/^\//.test(o)?o:`/${o}`}function he(o){const{pathname:e,search:t,hash:s,protocol:n}=new URL(o,"http://a.com");if(Ge(o)||o.startsWith("#")||!n.startsWith("http")||!Ue(e))return o;const{site:i}=P(),u=e.endsWith("/")||e.endsWith(".html")?o:o.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${s}`);return ve(u)}function Y({correspondingLink:o=!1}={}){const{site:e,localeIndex:t,page:s,theme:n,hash:i}=P(),u=g(()=>{var d,$;return{label:(d=e.value.locales[t.value])==null?void 0:d.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:g(()=>Object.entries(e.value.locales).flatMap(([d,$])=>u.value.label===$.label?[]:{text:$.label,link:st($.link||(d==="root"?"/":`/${d}/`),n.value.i18nRouting!==!1&&o,s.value.relativePath.slice(u.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:u}}function st(o,e,t,s){return e?o.replace(/\/$/,"")+le(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,s?".html":"")):o}const at=o=>(C("data-v-4ca6a521"),o=o(),H(),o),rt={class:"NotFound"},it={class:"code"},lt={class:"title"},ct=at(()=>p("div",{class:"divider"},null,-1)),ut={class:"quote"},dt={class:"action"},vt=["href","aria-label"],pt=_({__name:"NotFound",setup(o){const{theme:e}=P(),{currentLang:t}=Y();return(s,n)=>{var i,u,f,d,$;return a(),c("div",rt,[p("p",it,T(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),p("h1",lt,T(((u=r(e).notFound)==null?void 0:u.title)??"PAGE NOT FOUND"),1),ct,p("blockquote",ut,T(((f=r(e).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),p("div",dt,[p("a",{class:"link",href:r(ve)(r(t).link),"aria-label":((d=r(e).notFound)==null?void 0:d.linkLabel)??"go to home"},T((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,vt)])])}}}),ft=b(pt,[["__scopeId","data-v-4ca6a521"]]);function Ie(o,e){if(Array.isArray(o))return Q(o);if(o==null)return[];e=le(e);const t=Object.keys(o).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(le(n))),s=t?o[t]:[];return Array.isArray(s)?Q(s):Q(s.items,s.base)}function ht(o){const e=[];let t=0;for(const s in o){const n=o[s];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function _t(o){const e=[];function t(s){for(const n of s)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(o),e}function ce(o,e){return Array.isArray(e)?e.some(t=>ce(o,t)):W(o,e.link)?!0:e.items?ce(o,e.items):!1}function Q(o,e){return[...o].map(t=>{const s={...t},n=s.base||e;return n&&s.link&&(s.link=n+s.link),s.items&&(s.items=Q(s.items,n)),s})}function U(){const{frontmatter:o,page:e,theme:t}=P(),s=ie("(min-width: 960px)"),n=I(!1),i=g(()=>{const B=t.value.sidebar,S=e.value.relativePath;return B?Ie(B,S):[]}),u=I(i.value);G(i,(B,S)=>{JSON.stringify(B)!==JSON.stringify(S)&&(u.value=i.value)});const f=g(()=>o.value.sidebar!==!1&&u.value.length>0&&o.value.layout!=="home"),d=g(()=>$?o.value.aside==null?t.value.aside==="left":o.value.aside==="left":!1),$=g(()=>o.value.layout==="home"?!1:o.value.aside!=null?!!o.value.aside:t.value.aside!==!1),V=g(()=>f.value&&s.value),y=g(()=>f.value?ht(u.value):[]);function L(){n.value=!0}function N(){n.value=!1}function A(){n.value?N():L()}return{isOpen:n,sidebar:u,sidebarGroups:y,hasSidebar:f,hasAside:$,leftAside:d,isSidebarEnabled:V,open:L,close:N,toggle:A}}function mt(o,e){let t;Z(()=>{t=o.value?document.activeElement:void 0}),K(()=>{window.addEventListener("keyup",s)}),pe(()=>{window.removeEventListener("keyup",s)});function s(n){n.key==="Escape"&&o.value&&(e(),t==null||t.focus())}}function kt(o){const{page:e,hash:t}=P(),s=I(!1),n=g(()=>o.value.collapsed!=null),i=g(()=>!!o.value.link),u=I(!1),f=()=>{u.value=W(e.value.relativePath,o.value.link)};G([e,o,t],f),K(f);const d=g(()=>u.value?!0:o.value.items?ce(e.value.relativePath,o.value.items):!1),$=g(()=>!!(o.value.items&&o.value.items.length));Z(()=>{s.value=!!(n.value&&o.value.collapsed)}),fe(()=>{(u.value||d.value)&&(s.value=!1)});function V(){n.value&&(s.value=!s.value)}return{collapsed:s,collapsible:n,isLink:i,isActiveLink:u,hasActiveLink:d,hasChildren:$,toggle:V}}function bt(){const{hasSidebar:o}=U(),e=ie("(min-width: 960px)"),t=ie("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:o.value?t.value:e.value)}}const ue=[];function we(o){return typeof o.outline=="object"&&!Array.isArray(o.outline)&&o.outline.label||o.outlineTitle||"On this page"}function _e(o){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const s=Number(t.tagName[1]);return{element:t,title:$t(t),link:"#"+t.id,level:s}});return gt(e,o)}function $t(o){let e="";for(const t of o.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function gt(o,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[s,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;o=o.filter(u=>u.level>=s&&u.level<=n),ue.length=0;for(const{element:u,link:f}of o)ue.push({element:u,link:f});const i=[];e:for(let u=0;u=0;d--){const $=o[d];if($.level{requestAnimationFrame(i),window.addEventListener("scroll",s)}),je(()=>{u(location.hash)}),pe(()=>{window.removeEventListener("scroll",s)});function i(){if(!t.value)return;const f=window.scrollY,d=window.innerHeight,$=document.body.offsetHeight,V=Math.abs(f+d-$)<1,y=ue.map(({element:N,link:A})=>({link:A,top:Pt(N)})).filter(({top:N})=>!Number.isNaN(N)).sort((N,A)=>N.top-A.top);if(!y.length){u(null);return}if(f<1){u(null);return}if(V){u(y[y.length-1].link);return}let L=null;for(const{link:N,top:A}of y){if(A>f+ze()+4)break;L=N}u(L)}function u(f){n&&n.classList.remove("active"),f==null?n=null:n=o.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const d=n;d?(d.classList.add("active"),e.value.style.top=d.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function Pt(o){let e=0;for(;o!==document.body;){if(o===null)return NaN;e+=o.offsetTop,o=o.offsetParent}return e}const Vt=["href","title"],Lt=_({__name:"VPDocOutlineItem",props:{headers:{},root:{type:Boolean}},setup(o){function e({target:t}){const s=t.href.split("#")[1],n=document.getElementById(decodeURIComponent(s));n==null||n.focus({preventScroll:!0})}return(t,s)=>{const n=J("VPDocOutlineItem",!0);return a(),c("ul",{class:w(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),c(M,null,E(t.headers,({children:i,link:u,title:f})=>(a(),c("li",null,[p("a",{class:"outline-link",href:u,onClick:e,title:f},T(f),9,Vt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),Ne=b(Lt,[["__scopeId","data-v-55d7ed72"]]),St={class:"content"},Tt={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},It=_({__name:"VPDocAsideOutline",setup(o){const{frontmatter:e,theme:t}=P(),s=ye([]);x(()=>{s.value=_e(e.value.outline??t.value.outline)});const n=I(),i=I();return yt(n,i),(u,f)=>(a(),c("nav",{"aria-labelledby":"doc-outline-aria-label",class:w(["VPDocAsideOutline",{"has-outline":s.value.length>0}]),ref_key:"container",ref:n},[p("div",St,[p("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),p("div",Tt,T(r(we)(r(t))),1),m(Ne,{headers:s.value,root:!0},null,8,["headers"])])],2))}}),wt=b(It,[["__scopeId","data-v-ba5394b3"]]),Nt={class:"VPDocAsideCarbonAds"},Mt=_({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(o){const e=()=>null;return(t,s)=>(a(),c("div",Nt,[m(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),At=o=>(C("data-v-0fb7be93"),o=o(),H(),o),Bt={class:"VPDocAside"},Ct=At(()=>p("div",{class:"spacer"},null,-1)),Ht=_({__name:"VPDocAside",setup(o){const{theme:e}=P();return(t,s)=>(a(),c("div",Bt,[l(t.$slots,"aside-top",{},void 0,!0),l(t.$slots,"aside-outline-before",{},void 0,!0),m(wt),l(t.$slots,"aside-outline-after",{},void 0,!0),Ct,l(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Mt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),l(t.$slots,"aside-ads-after",{},void 0,!0),l(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Et=b(Ht,[["__scopeId","data-v-0fb7be93"]]);function Ft(){const{theme:o,page:e}=P();return g(()=>{const{text:t="Edit this page",pattern:s=""}=o.value.editLink||{};let n;return typeof s=="function"?n=s(e.value):n=s.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function Dt(){const{page:o,theme:e,frontmatter:t}=P();return g(()=>{var $,V,y,L,N,A,B,S;const s=Ie(e.value.sidebar,o.value.relativePath),n=_t(s),i=Ot(n,j=>j.link.replace(/[?#].*$/,"")),u=i.findIndex(j=>W(o.value.relativePath,j.link)),f=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,d=((V=e.value.docFooter)==null?void 0:V.next)===!1&&!t.value.next||t.value.next===!1;return{prev:f?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((y=i[u-1])==null?void 0:y.docFooterText)??((L=i[u-1])==null?void 0:L.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((N=i[u-1])==null?void 0:N.link)},next:d?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((A=i[u+1])==null?void 0:A.docFooterText)??((B=i[u+1])==null?void 0:B.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((S=i[u+1])==null?void 0:S.link)}}})}function Ot(o,e){const t=new Set;return o.filter(s=>{const n=e(s);return t.has(n)?!1:t.add(n)})}const D=_({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.tag??(e.href?"a":"span")),s=g(()=>e.href&&Pe.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(F(t.value),{class:w(["VPLink",{link:n.href,"vp-external-link-icon":s.value,"no-icon":n.noIcon}]),href:n.href?r(he)(n.href):void 0,target:n.target??(s.value?"_blank":void 0),rel:n.rel??(s.value?"noreferrer":void 0)},{default:v(()=>[l(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Gt={class:"VPLastUpdated"},Ut=["datetime"],jt=_({__name:"VPDocFooterLastUpdated",setup(o){const{theme:e,page:t,lang:s}=P(),n=g(()=>new Date(t.value.lastUpdated)),i=g(()=>n.value.toISOString()),u=I("");return K(()=>{Z(()=>{var f,d,$;u.value=new Intl.DateTimeFormat((d=(f=e.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&d.forceLocale?s.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(f,d)=>{var $;return a(),c("p",Gt,[O(T((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),p("time",{datetime:i.value},T(u.value),9,Ut)])}}}),zt=b(jt,[["__scopeId","data-v-a68920b7"]]),Me=o=>(C("data-v-c20edd20"),o=o(),H(),o),qt={key:0,class:"VPDocFooter"},Wt={key:0,class:"edit-info"},Kt={key:0,class:"edit-link"},Jt=Me(()=>p("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),Rt={key:1,class:"last-updated"},Yt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Qt=Me(()=>p("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),Xt={class:"pager"},Zt=["innerHTML"],xt=["innerHTML"],eo={class:"pager"},to=["innerHTML"],oo=["innerHTML"],no=_({__name:"VPDocFooter",setup(o){const{theme:e,page:t,frontmatter:s}=P(),n=Ft(),i=Dt(),u=g(()=>e.value.editLink&&s.value.editLink!==!1),f=g(()=>t.value.lastUpdated),d=g(()=>u.value||f.value||i.value.prev||i.value.next);return($,V)=>{var y,L,N,A;return d.value?(a(),c("footer",qt,[l($.$slots,"doc-footer-before",{},void 0,!0),u.value||f.value?(a(),c("div",Wt,[u.value?(a(),c("div",Kt,[m(D,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:v(()=>[Jt,O(" "+T(r(n).text),1)]),_:1},8,["href"])])):h("",!0),f.value?(a(),c("div",Rt,[m(zt)])):h("",!0)])):h("",!0),(y=r(i).prev)!=null&&y.link||(L=r(i).next)!=null&&L.link?(a(),c("nav",Yt,[Qt,p("div",Xt,[(N=r(i).prev)!=null&&N.link?(a(),k(D,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:v(()=>{var B;return[p("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.prev)||"Previous page"},null,8,Zt),p("span",{class:"title",innerHTML:r(i).prev.text},null,8,xt)]}),_:1},8,["href"])):h("",!0)]),p("div",eo,[(A=r(i).next)!=null&&A.link?(a(),k(D,{key:0,class:"pager-link next",href:r(i).next.link},{default:v(()=>{var B;return[p("span",{class:"desc",innerHTML:((B=r(e).docFooter)==null?void 0:B.next)||"Next page"},null,8,to),p("span",{class:"title",innerHTML:r(i).next.text},null,8,oo)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),so=b(no,[["__scopeId","data-v-c20edd20"]]),ao=o=>(C("data-v-33b5ee99"),o=o(),H(),o),ro={class:"container"},io=ao(()=>p("div",{class:"aside-curtain"},null,-1)),lo={class:"aside-container"},co={class:"aside-content"},uo={class:"content"},vo={class:"content-container"},po={class:"main"},fo=_({__name:"VPDoc",setup(o){const{theme:e}=P(),t=ee(),{hasSidebar:s,hasAside:n,leftAside:i}=U(),u=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,d)=>{const $=J("Content");return a(),c("div",{class:w(["VPDoc",{"has-sidebar":r(s),"has-aside":r(n)}])},[l(f.$slots,"doc-top",{},void 0,!0),p("div",ro,[r(n)?(a(),c("div",{key:0,class:w(["aside",{"left-aside":r(i)}])},[io,p("div",lo,[p("div",co,[m(Et,null,{"aside-top":v(()=>[l(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),p("div",uo,[p("div",vo,[l(f.$slots,"doc-before",{},void 0,!0),p("main",po,[m($,{class:w(["vp-doc",[u.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),m(so,null,{"doc-footer-before":v(()=>[l(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),l(f.$slots,"doc-after",{},void 0,!0)])])]),l(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),ho=b(fo,[["__scopeId","data-v-33b5ee99"]]),_o=_({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(o){const e=o,t=g(()=>e.href&&Pe.test(e.href)),s=g(()=>e.tag||e.href?"a":"button");return(n,i)=>(a(),k(F(s.value),{class:w(["VPButton",[n.size,n.theme]]),href:n.href?r(he)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:v(()=>[O(T(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),mo=b(_o,[["__scopeId","data-v-86a482a4"]]),ko=["src","alt"],bo=_({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(o){return(e,t)=>{const s=J("VPImage",!0);return e.image?(a(),c(M,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),c("img",q({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(ve)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,ko)):(a(),c(M,{key:1},[m(s,q({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),m(s,q({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=b(bo,[["__scopeId","data-v-6dce1bff"]]),$o=o=>(C("data-v-40affa46"),o=o(),H(),o),go={class:"container"},yo={class:"main"},Po={key:0,class:"name"},Vo=["innerHTML"],Lo=["innerHTML"],So=["innerHTML"],To={key:0,class:"actions"},Io={key:0,class:"image"},wo={class:"image-container"},No=$o(()=>p("div",{class:"image-bg"},null,-1)),Mo=_({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(o){const e=te("hero-image-slot-exists");return(t,s)=>(a(),c("div",{class:w(["VPHero",{"has-image":t.image||r(e)}])},[p("div",go,[p("div",yo,[l(t.$slots,"home-hero-info-before",{},void 0,!0),l(t.$slots,"home-hero-info",{},()=>[t.name?(a(),c("h1",Po,[p("span",{innerHTML:t.name,class:"clip"},null,8,Vo)])):h("",!0),t.text?(a(),c("p",{key:1,innerHTML:t.text,class:"text"},null,8,Lo)):h("",!0),t.tagline?(a(),c("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,So)):h("",!0)],!0),l(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),c("div",To,[(a(!0),c(M,null,E(t.actions,n=>(a(),c("div",{key:n.link,class:"action"},[m(mo,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),c("div",Io,[p("div",wo,[No,l(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),Ao=b(Mo,[["__scopeId","data-v-40affa46"]]),Bo=_({__name:"VPHomeHero",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).hero?(a(),k(Ao,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":v(()=>[l(t.$slots,"home-hero-info-before")]),"home-hero-info":v(()=>[l(t.$slots,"home-hero-info")]),"home-hero-info-after":v(()=>[l(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":v(()=>[l(t.$slots,"home-hero-actions-after")]),"home-hero-image":v(()=>[l(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),Co=o=>(C("data-v-3c3c4d66"),o=o(),H(),o),Ho={class:"box"},Eo={key:0,class:"icon"},Fo=["innerHTML"],Do=["innerHTML"],Oo=["innerHTML"],Go={key:4,class:"link-text"},Uo={class:"link-text-value"},jo=Co(()=>p("span",{class:"vpi-arrow-right link-text-icon"},null,-1)),zo=_({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(o){return(e,t)=>(a(),k(D,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:v(()=>[p("article",Ho,[typeof e.icon=="object"&&e.icon.wrap?(a(),c("div",Eo,[m(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),c("div",{key:2,class:"icon",innerHTML:e.icon},null,8,Fo)):h("",!0),p("h2",{class:"title",innerHTML:e.title},null,8,Do),e.details?(a(),c("p",{key:3,class:"details",innerHTML:e.details},null,8,Oo)):h("",!0),e.linkText?(a(),c("div",Go,[p("p",Uo,[O(T(e.linkText)+" ",1),jo])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),qo=b(zo,[["__scopeId","data-v-3c3c4d66"]]),Wo={key:0,class:"VPFeatures"},Ko={class:"container"},Jo={class:"items"},Ro=_({__name:"VPFeatures",props:{features:{}},setup(o){const e=o,t=g(()=>{const s=e.features.length;if(s){if(s===2)return"grid-2";if(s===3)return"grid-3";if(s%3===0)return"grid-6";if(s>3)return"grid-4"}else return});return(s,n)=>s.features?(a(),c("div",Wo,[p("div",Ko,[p("div",Jo,[(a(!0),c(M,null,E(s.features,i=>(a(),c("div",{key:i.title,class:w(["item",[t.value]])},[m(qo,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),Yo=b(Ro,[["__scopeId","data-v-7d009197"]]),Qo=_({__name:"VPHomeFeatures",setup(o){const{frontmatter:e}=P();return(t,s)=>r(e).features?(a(),k(Yo,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Xo=_({__name:"VPHomeContent",setup(o){const{width:e}=qe({initialWidth:0,includeScrollbar:!1});return(t,s)=>(a(),c("div",{class:"vp-doc container",style:Ve(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[l(t.$slots,"default",{},void 0,!0)],4))}}),Zo=b(Xo,[["__scopeId","data-v-a07f18f1"]]),xo={class:"VPHome"},en=_({__name:"VPHome",setup(o){const{frontmatter:e}=P();return(t,s)=>{const n=J("Content");return a(),c("div",xo,[l(t.$slots,"home-hero-before",{},void 0,!0),m(Bo,null,{"home-hero-info-before":v(()=>[l(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[l(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[l(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[l(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[l(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),l(t.$slots,"home-hero-after",{},void 0,!0),l(t.$slots,"home-features-before",{},void 0,!0),m(Qo),l(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(Zo,{key:0},{default:v(()=>[m(n)]),_:1})):(a(),k(n,{key:1}))])}}}),tn=b(en,[["__scopeId","data-v-2db7a2fd"]]),on={},nn={class:"VPPage"};function sn(o,e){const t=J("Content");return a(),c("div",nn,[l(o.$slots,"page-top"),m(t),l(o.$slots,"page-bottom")])}const an=b(on,[["render",sn]]),rn=_({__name:"VPContent",setup(o){const{page:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>(a(),c("div",{class:w(["VPContent",{"has-sidebar":r(s),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?l(n.$slots,"not-found",{key:0},()=>[m(ft)],!0):r(t).layout==="page"?(a(),k(an,{key:1},{"page-top":v(()=>[l(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[l(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(tn,{key:2},{"home-hero-before":v(()=>[l(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[l(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[l(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[l(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[l(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[l(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[l(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[l(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[l(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(F(r(t).layout),{key:3})):(a(),k(ho,{key:4},{"doc-top":v(()=>[l(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[l(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":v(()=>[l(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[l(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[l(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":v(()=>[l(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":v(()=>[l(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":v(()=>[l(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),ln=b(rn,[["__scopeId","data-v-ce1b6242"]]),cn={class:"container"},un=["innerHTML"],dn=["innerHTML"],vn=_({__name:"VPFooter",setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),c("footer",{key:0,class:w(["VPFooter",{"has-sidebar":r(s)}])},[p("div",cn,[r(e).footer.message?(a(),c("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,un)):h("",!0),r(e).footer.copyright?(a(),c("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,dn)):h("",!0)])],2)):h("",!0)}}),pn=b(vn,[["__scopeId","data-v-04372850"]]);function fn(){const{theme:o,frontmatter:e}=P(),t=ye([]),s=g(()=>t.value.length>0);return x(()=>{t.value=_e(e.value.outline??o.value.outline)}),{headers:t,hasLocalNav:s}}const hn=o=>(C("data-v-e828fdfb"),o=o(),H(),o),_n={class:"menu-text"},mn=hn(()=>p("span",{class:"vpi-chevron-right icon"},null,-1)),kn={class:"header"},bn={class:"outline"},$n=_({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(o){const e=o,{theme:t}=P(),s=I(!1),n=I(0),i=I(),u=I();function f(y){var L;(L=i.value)!=null&&L.contains(y.target)||(s.value=!1)}G(s,y=>{if(y){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),We("Escape",()=>{s.value=!1}),x(()=>{s.value=!1});function d(){s.value=!s.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(y){y.target.classList.contains("outline-link")&&(u.value&&(u.value.style.transition="none"),Ke(()=>{s.value=!1}))}function V(){s.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,L)=>(a(),c("div",{class:"VPLocalNavOutlineDropdown",style:Ve({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),c("button",{key:0,onClick:d,class:w({open:s.value})},[p("span",_n,T(r(we)(r(t))),1),mn],2)):(a(),c("button",{key:1,onClick:V},T(r(t).returnToTopLabel||"Return to top"),1)),m(de,{name:"flyout"},{default:v(()=>[s.value?(a(),c("div",{key:0,ref_key:"items",ref:u,class:"items",onClick:$},[p("div",kn,[p("a",{class:"top-link",href:"#",onClick:V},T(r(t).returnToTopLabel||"Return to top"),1)]),p("div",bn,[m(Ne,{headers:y.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),gn=b($n,[["__scopeId","data-v-e828fdfb"]]),yn=o=>(C("data-v-ff40a483"),o=o(),H(),o),Pn={class:"container"},Vn=["aria-expanded"],Ln=yn(()=>p("span",{class:"vpi-align-left menu-icon"},null,-1)),Sn={class:"menu-text"},Tn=_({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(o){const{theme:e,frontmatter:t}=P(),{hasSidebar:s}=U(),{headers:n}=fn(),{y:i}=Le(),u=I(0);K(()=>{u.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),x(()=>{n.value=_e(t.value.outline??e.value.outline)});const f=g(()=>n.value.length===0),d=g(()=>f.value&&!s.value),$=g(()=>({VPLocalNav:!0,"has-sidebar":s.value,empty:f.value,fixed:d.value}));return(V,y)=>r(t).layout!=="home"&&(!d.value||r(i)>=u.value)?(a(),c("div",{key:0,class:w($.value)},[p("div",Pn,[r(s)?(a(),c("button",{key:0,class:"menu","aria-expanded":V.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=L=>V.$emit("open-menu"))},[Ln,p("span",Sn,T(r(e).sidebarMenuLabel||"Menu"),1)],8,Vn)):h("",!0),m(gn,{headers:r(n),navHeight:u.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),In=b(Tn,[["__scopeId","data-v-ff40a483"]]);function wn(){const o=I(!1);function e(){o.value=!0,window.addEventListener("resize",n)}function t(){o.value=!1,window.removeEventListener("resize",n)}function s(){o.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=ee();return G(()=>i.path,t),{isScreenOpen:o,openScreen:e,closeScreen:t,toggleScreen:s}}const Nn={},Mn={class:"VPSwitch",type:"button",role:"switch"},An={class:"check"},Bn={key:0,class:"icon"};function Cn(o,e){return a(),c("button",Mn,[p("span",An,[o.$slots.default?(a(),c("span",Bn,[l(o.$slots,"default",{},void 0,!0)])):h("",!0)])])}const Hn=b(Nn,[["render",Cn],["__scopeId","data-v-dc16c28c"]]),Ae=o=>(C("data-v-fda6b9ae"),o=o(),H(),o),En=Ae(()=>p("span",{class:"vpi-sun sun"},null,-1)),Fn=Ae(()=>p("span",{class:"vpi-moon moon"},null,-1)),Dn=_({__name:"VPSwitchAppearance",setup(o){const{isDark:e,theme:t}=P(),s=te("toggle-appearance",()=>{e.value=!e.value}),n=I("");return fe(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,u)=>(a(),k(Hn,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(s)},{default:v(()=>[En,Fn]),_:1},8,["title","aria-checked","onClick"]))}}),me=b(Dn,[["__scopeId","data-v-fda6b9ae"]]),On={key:0,class:"VPNavBarAppearance"},Gn=_({__name:"VPNavBarAppearance",setup(o){const{site:e}=P();return(t,s)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",On,[m(me)])):h("",!0)}}),Un=b(Gn,[["__scopeId","data-v-d92f04c3"]]),ke=I();let Be=!1,re=0;function jn(o){const e=I(!1);if(oe){!Be&&zn(),re++;const t=G(ke,s=>{var n,i,u;s===o.el.value||(n=o.el.value)!=null&&n.contains(s)?(e.value=!0,(i=o.onFocus)==null||i.call(o)):(e.value=!1,(u=o.onBlur)==null||u.call(o))});pe(()=>{t(),re--,re||qn()})}return Je(e)}function zn(){document.addEventListener("focusin",Ce),Be=!0,ke.value=document.activeElement}function qn(){document.removeEventListener("focusin",Ce)}function Ce(){ke.value=document.activeElement}const Wn={class:"VPMenuLink"},Kn=_({__name:"VPMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),c("div",Wn,[m(D,{class:w({active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:v(()=>[O(T(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),ne=b(Kn,[["__scopeId","data-v-c5e1ecc5"]]),Jn={class:"VPMenuGroup"},Rn={key:0,class:"title"},Yn=_({__name:"VPMenuGroup",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",Jn,[e.text?(a(),c("p",Rn,T(e.text),1)):h("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),c(M,null,["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):h("",!0)],64))),256))]))}}),Qn=b(Yn,[["__scopeId","data-v-41f2552f"]]),Xn={class:"VPMenu"},Zn={key:0,class:"items"},xn=_({__name:"VPMenu",props:{items:{}},setup(o){return(e,t)=>(a(),c("div",Xn,[e.items?(a(),c("div",Zn,[(a(!0),c(M,null,E(e.items,s=>(a(),c(M,{key:JSON.stringify(s)},["link"in s?(a(),k(ne,{key:0,item:s},null,8,["item"])):"component"in s?(a(),k(F(s.component),q({key:1,ref_for:!0},s.props),null,16)):(a(),k(Qn,{key:2,text:s.text,items:s.items},null,8,["text","items"]))],64))),128))])):h("",!0),l(e.$slots,"default",{},void 0,!0)]))}}),es=b(xn,[["__scopeId","data-v-da4261f2"]]),ts=o=>(C("data-v-3117f0e2"),o=o(),H(),o),os=["aria-expanded","aria-label"],ns={key:0,class:"text"},ss=["innerHTML"],as=ts(()=>p("span",{class:"vpi-chevron-down text-icon"},null,-1)),rs={key:1,class:"vpi-more-horizontal icon"},is={class:"menu"},ls=_({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(o){const e=I(!1),t=I();jn({el:t,onBlur:s});function s(){e.value=!1}return(n,i)=>(a(),c("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=u=>e.value=!0),onMouseleave:i[2]||(i[2]=u=>e.value=!1)},[p("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=u=>e.value=!e.value)},[n.button||n.icon?(a(),c("span",ns,[n.icon?(a(),c("span",{key:0,class:w([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),c("span",{key:1,innerHTML:n.button},null,8,ss)):h("",!0),as])):(a(),c("span",rs))],8,os),p("div",is,[m(es,{items:n.items},{default:v(()=>[l(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),be=b(ls,[["__scopeId","data-v-3117f0e2"]]),cs=["href","aria-label","innerHTML"],us=_({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(o){const e=o,t=g(()=>typeof e.icon=="object"?e.icon.svg:``);return(s,n)=>(a(),c("a",{class:"VPSocialLink no-icon",href:s.link,"aria-label":s.ariaLabel??(typeof s.icon=="string"?s.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,cs))}}),ds=b(us,[["__scopeId","data-v-373a178d"]]),vs={class:"VPSocialLinks"},ps=_({__name:"VPSocialLinks",props:{links:{}},setup(o){return(e,t)=>(a(),c("div",vs,[(a(!0),c(M,null,E(e.links,({link:s,icon:n,ariaLabel:i})=>(a(),k(ds,{key:s,icon:n,link:s,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),$e=b(ps,[["__scopeId","data-v-0d989167"]]),fs={key:0,class:"group translations"},hs={class:"trans-title"},_s={key:1,class:"group"},ms={class:"item appearance"},ks={class:"label"},bs={class:"appearance-action"},$s={key:2,class:"group"},gs={class:"item social-links"},ys=_({__name:"VPNavBarExtra",setup(o){const{site:e,theme:t}=P(),{localeLinks:s,currentLang:n}=Y({correspondingLink:!0}),i=g(()=>s.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(u,f)=>i.value?(a(),k(be,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:v(()=>[r(s).length&&r(n).label?(a(),c("div",fs,[p("p",hs,T(r(n).label),1),(a(!0),c(M,null,E(r(s),d=>(a(),k(ne,{key:d.link,item:d},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",_s,[p("div",ms,[p("p",ks,T(r(t).darkModeSwitchLabel||"Appearance"),1),p("div",bs,[m(me)])])])):h("",!0),r(t).socialLinks?(a(),c("div",$s,[p("div",gs,[m($e,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),Ps=b(ys,[["__scopeId","data-v-02c00994"]]),Vs=o=>(C("data-v-54f94b4d"),o=o(),H(),o),Ls=["aria-expanded"],Ss=Vs(()=>p("span",{class:"container"},[p("span",{class:"top"}),p("span",{class:"middle"}),p("span",{class:"bottom"})],-1)),Ts=[Ss],Is=_({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(o){return(e,t)=>(a(),c("button",{type:"button",class:w(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=s=>e.$emit("click"))},Ts,10,Ls))}}),ws=b(Is,[["__scopeId","data-v-54f94b4d"]]),Ns=["innerHTML"],Ms=_({__name:"VPNavBarMenuLink",props:{item:{}},setup(o){const{page:e}=P();return(t,s)=>(a(),k(D,{class:w({VPNavBarMenuLink:!0,active:r(W)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,noIcon:t.item.noIcon,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:v(()=>[p("span",{innerHTML:t.item.text},null,8,Ns)]),_:1},8,["class","href","noIcon","target","rel"]))}}),As=b(Ms,[["__scopeId","data-v-0a30eebe"]]),Bs=_({__name:"VPNavBarMenuGroup",props:{item:{}},setup(o){const e=o,{page:t}=P(),s=i=>"component"in i?!1:"link"in i?W(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(s),n=g(()=>s(e.item));return(i,u)=>(a(),k(be,{class:w({VPNavBarMenuGroup:!0,active:r(W)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),Cs=o=>(C("data-v-d0bf7aa9"),o=o(),H(),o),Hs={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Es=Cs(()=>p("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),Fs=_({__name:"VPNavBarMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Hs,[Es,(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k(As,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props),null,16)):(a(),k(Bs,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),Ds=b(Fs,[["__scopeId","data-v-d0bf7aa9"]]);function Os(o){const{localeIndex:e,theme:t}=P();function s(n){var A,B,S;const i=n.split("."),u=(A=t.value.search)==null?void 0:A.options,f=u&&typeof u=="object",d=f&&((S=(B=u.locales)==null?void 0:B[e.value])==null?void 0:S.translations)||null,$=f&&u.translations||null;let V=d,y=$,L=o;const N=i.pop();for(const j of i){let z=null;const R=L==null?void 0:L[j];R&&(z=L=R);const se=y==null?void 0:y[j];se&&(z=y=se);const ae=V==null?void 0:V[j];ae&&(z=V=ae),R||(L=z),se||(y=z),ae||(V=z)}return(V==null?void 0:V[N])??(y==null?void 0:y[N])??(L==null?void 0:L[N])??""}return s}const Gs=["aria-label"],Us={class:"DocSearch-Button-Container"},js=p("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1),zs={class:"DocSearch-Button-Placeholder"},qs=p("span",{class:"DocSearch-Button-Keys"},[p("kbd",{class:"DocSearch-Button-Key"}),p("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ge=_({__name:"VPNavBarSearchButton",setup(o){const t=Os({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(s,n)=>(a(),c("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[p("span",Us,[js,p("span",zs,T(r(t)("button.buttonText")),1)]),qs],8,Gs))}}),Ws={class:"VPNavBarSearch"},Ks={id:"local-search"},Js={key:1,id:"docsearch"},Rs=_({__name:"VPNavBarSearch",setup(o){const e=()=>null,t=()=>null,{theme:s}=P(),n=I(!1),i=I(!1);K(()=>{});function u(){n.value||(n.value=!0,setTimeout(f,16))}function f(){const V=new Event("keydown");V.key="k",V.metaKey=!0,window.dispatchEvent(V),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||f()},16)}const d=I(!1),$="";return(V,y)=>{var L;return a(),c("div",Ws,[r($)==="local"?(a(),c(M,{key:0},[d.value?(a(),k(r(e),{key:0,onClose:y[0]||(y[0]=N=>d.value=!1)})):h("",!0),p("div",Ks,[m(ge,{onClick:y[1]||(y[1]=N=>d.value=!0)})])],64)):r($)==="algolia"?(a(),c(M,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((L=r(s).search)==null?void 0:L.options)??r(s).algolia,onVnodeBeforeMount:y[2]||(y[2]=N=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),c("div",Js,[m(ge,{onClick:u})]))],64)):h("",!0)])}}}),Ys=_({__name:"VPNavBarSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Qs=b(Ys,[["__scopeId","data-v-a642c5bd"]]),Xs=["href","rel","target"],Zs={key:1},xs={key:2},ea=_({__name:"VPNavBarTitle",setup(o){const{site:e,theme:t}=P(),{hasSidebar:s}=U(),{currentLang:n}=Y(),i=g(()=>{var d;return typeof t.value.logoLink=="string"?t.value.logoLink:(d=t.value.logoLink)==null?void 0:d.link}),u=g(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.rel}),f=g(()=>{var d;return typeof t.value.logoLink=="string"||(d=t.value.logoLink)==null?void 0:d.target});return(d,$)=>(a(),c("div",{class:w(["VPNavBarTitle",{"has-sidebar":r(s)}])},[p("a",{class:"title",href:i.value??r(he)(r(n).link),rel:u.value,target:f.value},[l(d.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),c("span",Zs,T(r(t).siteTitle),1)):r(t).siteTitle===void 0?(a(),c("span",xs,T(r(e).title),1)):h("",!0),l(d.$slots,"nav-bar-title-after",{},void 0,!0)],8,Xs)],2))}}),ta=b(ea,[["__scopeId","data-v-cc76551d"]]),oa={class:"items"},na={class:"title"},sa=_({__name:"VPNavBarTranslations",setup(o){const{theme:e}=P(),{localeLinks:t,currentLang:s}=Y({correspondingLink:!0});return(n,i)=>r(t).length&&r(s).label?(a(),k(be,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:v(()=>[p("div",oa,[p("p",na,T(r(s).label),1),(a(!0),c(M,null,E(r(t),u=>(a(),k(ne,{key:u.link,item:u},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),aa=b(sa,[["__scopeId","data-v-5e14a35a"]]),ra=o=>(C("data-v-e958c74b"),o=o(),H(),o),ia={class:"wrapper"},la={class:"container"},ca={class:"title"},ua={class:"content"},da={class:"content-body"},va=ra(()=>p("div",{class:"divider"},[p("div",{class:"divider-line"})],-1)),pa=_({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(o){const e=o,{y:t}=Le(),{hasSidebar:s}=U(),{frontmatter:n}=P(),i=I({});return fe(()=>{i.value={"has-sidebar":s.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(u,f)=>(a(),c("div",{class:w(["VPNavBar",i.value])},[p("div",ia,[p("div",la,[p("div",ca,[m(ta,null,{"nav-bar-title-before":v(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),p("div",ua,[p("div",da,[l(u.$slots,"nav-bar-content-before",{},void 0,!0),m(Rs,{class:"search"}),m(Ds,{class:"menu"}),m(aa,{class:"translations"}),m(Un,{class:"appearance"}),m(Qs,{class:"social-links"}),m(Ps,{class:"extra"}),l(u.$slots,"nav-bar-content-after",{},void 0,!0),m(ws,{class:"hamburger",active:u.isScreenOpen,onClick:f[0]||(f[0]=d=>u.$emit("toggle-screen"))},null,8,["active"])])])])]),va],2))}}),fa=b(pa,[["__scopeId","data-v-e958c74b"]]),ha={key:0,class:"VPNavScreenAppearance"},_a={class:"text"},ma=_({__name:"VPNavScreenAppearance",setup(o){const{site:e,theme:t}=P();return(s,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),c("div",ha,[p("p",_a,T(r(t).darkModeSwitchLabel||"Appearance"),1),m(me)])):h("",!0)}}),ka=b(ma,[["__scopeId","data-v-e8ee4050"]]),ba=_({__name:"VPNavScreenMenuLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e),innerHTML:t.item.text},null,8,["href","target","rel","onClick","innerHTML"]))}}),$a=b(ba,[["__scopeId","data-v-37e33fa8"]]),ga=_({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(o){const e=te("close-screen");return(t,s)=>(a(),k(D,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:r(e)},{default:v(()=>[O(T(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),He=b(ga,[["__scopeId","data-v-0b56b21e"]]),ya={class:"VPNavScreenMenuGroupSection"},Pa={key:0,class:"title"},Va=_({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(o){return(e,t)=>(a(),c("div",ya,[e.text?(a(),c("p",Pa,T(e.text),1)):h("",!0),(a(!0),c(M,null,E(e.items,s=>(a(),k(He,{key:s.text,item:s},null,8,["item"]))),128))]))}}),La=b(Va,[["__scopeId","data-v-e33d1488"]]),Sa=o=>(C("data-v-d8286233"),o=o(),H(),o),Ta=["aria-controls","aria-expanded"],Ia=["innerHTML"],wa=Sa(()=>p("span",{class:"vpi-plus button-icon"},null,-1)),Na=["id"],Ma={key:0,class:"item"},Aa={key:1,class:"item"},Ba={key:2,class:"group"},Ca=_({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(o){const e=o,t=I(!1),s=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,u)=>(a(),c("div",{class:w(["VPNavScreenMenuGroup",{open:t.value}])},[p("button",{class:"button","aria-controls":s.value,"aria-expanded":t.value,onClick:n},[p("span",{class:"button-text",innerHTML:i.text},null,8,Ia),wa],8,Ta),p("div",{id:s.value,class:"items"},[(a(!0),c(M,null,E(i.items,f=>(a(),c(M,{key:JSON.stringify(f)},["link"in f?(a(),c("div",Ma,[m(He,{item:f},null,8,["item"])])):"component"in f?(a(),c("div",Aa,[(a(),k(F(f.component),q({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(a(),c("div",Ba,[m(La,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Na)],2))}}),Ha=b(Ca,[["__scopeId","data-v-d8286233"]]),Ea={key:0,class:"VPNavScreenMenu"},Fa=_({__name:"VPNavScreenMenu",setup(o){const{theme:e}=P();return(t,s)=>r(e).nav?(a(),c("nav",Ea,[(a(!0),c(M,null,E(r(e).nav,n=>(a(),c(M,{key:JSON.stringify(n)},["link"in n?(a(),k($a,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(F(n.component),q({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(Ha,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),Da=_({__name:"VPNavScreenSocialLinks",setup(o){const{theme:e}=P();return(t,s)=>r(e).socialLinks?(a(),k($e,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),Ee=o=>(C("data-v-7cbda227"),o=o(),H(),o),Oa=Ee(()=>p("span",{class:"vpi-languages icon lang"},null,-1)),Ga=Ee(()=>p("span",{class:"vpi-chevron-down icon chevron"},null,-1)),Ua={class:"list"},ja=_({__name:"VPNavScreenTranslations",setup(o){const{localeLinks:e,currentLang:t}=Y({correspondingLink:!0}),s=I(!1);function n(){s.value=!s.value}return(i,u)=>r(e).length&&r(t).label?(a(),c("div",{key:0,class:w(["VPNavScreenTranslations",{open:s.value}])},[p("button",{class:"title",onClick:n},[Oa,O(" "+T(r(t).label)+" ",1),Ga]),p("ul",Ua,[(a(!0),c(M,null,E(r(e),f=>(a(),c("li",{key:f.link,class:"item"},[m(D,{class:"link",href:f.link},{default:v(()=>[O(T(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),za=b(ja,[["__scopeId","data-v-7cbda227"]]),qa={class:"container"},Wa=_({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(o){const e=I(null),t=Se(oe?document.body:null);return(s,n)=>(a(),k(de,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:v(()=>[s.open?(a(),c("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[p("div",qa,[l(s.$slots,"nav-screen-content-before",{},void 0,!0),m(Fa,{class:"menu"}),m(za,{class:"translations"}),m(ka,{class:"appearance"}),m(Da,{class:"social-links"}),l(s.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),Ka=b(Wa,[["__scopeId","data-v-6ca08015"]]),Ja={key:0,class:"VPNav"},Ra=_({__name:"VPNav",setup(o){const{isScreenOpen:e,closeScreen:t,toggleScreen:s}=wn(),{frontmatter:n}=P(),i=g(()=>n.value.navbar!==!1);return Te("close-screen",t),Z(()=>{oe&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(u,f)=>i.value?(a(),c("header",Ja,[m(fa,{"is-screen-open":r(e),onToggleScreen:r(s)},{"nav-bar-title-before":v(()=>[l(u.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(u.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[l(u.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[l(u.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),m(Ka,{open:r(e)},{"nav-screen-content-before":v(()=>[l(u.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[l(u.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),Ya=b(Ra,[["__scopeId","data-v-bd3494ef"]]),Fe=o=>(C("data-v-c69bdbae"),o=o(),H(),o),Qa=["role","tabindex"],Xa=Fe(()=>p("div",{class:"indicator"},null,-1)),Za=Fe(()=>p("span",{class:"vpi-chevron-right caret-icon"},null,-1)),xa=[Za],er={key:1,class:"items"},tr=_({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(o){const e=o,{collapsed:t,collapsible:s,isLink:n,isActiveLink:i,hasActiveLink:u,hasChildren:f,toggle:d}=kt(g(()=>e.item)),$=g(()=>f.value?"section":"div"),V=g(()=>n.value?"a":"div"),y=g(()=>f.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),L=g(()=>n.value?void 0:"button"),N=g(()=>[[`level-${e.depth}`],{collapsible:s.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":u.value}]);function A(S){"key"in S&&S.key!=="Enter"||!e.item.link&&d()}function B(){e.item.link&&d()}return(S,j)=>{const z=J("VPSidebarItem",!0);return a(),k(F($.value),{class:w(["VPSidebarItem",N.value])},{default:v(()=>[S.item.text?(a(),c("div",q({key:0,class:"item",role:L.value},Ye(S.item.items?{click:A,keydown:A}:{},!0),{tabindex:S.item.items&&0}),[Xa,S.item.link?(a(),k(D,{key:0,tag:V.value,class:"link",href:S.item.link,rel:S.item.rel,target:S.item.target},{default:v(()=>[(a(),k(F(y.value),{class:"text",innerHTML:S.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(F(y.value),{key:1,class:"text",innerHTML:S.item.text},null,8,["innerHTML"])),S.item.collapsed!=null&&S.item.items&&S.item.items.length?(a(),c("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:B,onKeydown:Re(B,["enter"]),tabindex:"0"},xa,32)):h("",!0)],16,Qa)):h("",!0),S.item.items&&S.item.items.length?(a(),c("div",er,[S.depth<5?(a(!0),c(M,{key:0},E(S.item.items,R=>(a(),k(z,{key:R.text,item:R,depth:S.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),or=b(tr,[["__scopeId","data-v-c69bdbae"]]),nr=_({__name:"VPSidebarGroup",props:{items:{}},setup(o){const e=I(!0);let t=null;return K(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),Qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(s,n)=>(a(!0),c(M,null,E(s.items,i=>(a(),c("div",{key:i.text,class:w(["group",{"no-transition":e.value}])},[m(or,{item:i,depth:0},null,8,["item"])],2))),128))}}),sr=b(nr,[["__scopeId","data-v-266b1c8f"]]),De=o=>(C("data-v-738fcf80"),o=o(),H(),o),ar=De(()=>p("div",{class:"curtain"},null,-1)),rr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},ir=De(()=>p("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),lr=_({__name:"VPSidebar",props:{open:{type:Boolean}},setup(o){const{sidebarGroups:e,hasSidebar:t}=U(),s=o,n=I(null),i=Se(oe?document.body:null);G([s,n],()=>{var f;s.open?(i.value=!0,(f=n.value)==null||f.focus()):i.value=!1},{immediate:!0,flush:"post"});const u=I(0);return G(e,()=>{u.value+=1},{deep:!0}),(f,d)=>r(t)?(a(),c("aside",{key:0,class:w(["VPSidebar",{open:f.open}]),ref_key:"navEl",ref:n,onClick:d[0]||(d[0]=Xe(()=>{},["stop"]))},[ar,p("nav",rr,[ir,l(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k(sr,{items:r(e),key:u.value},null,8,["items"])),l(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),cr=b(lr,[["__scopeId","data-v-738fcf80"]]),ur=_({__name:"VPSkipLink",setup(o){const e=ee(),t=I();G(()=>e.path,()=>t.value.focus());function s({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const u=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",u)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",u),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),c(M,null,[p("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),p("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:s}," Skip to content ")],64))}}),dr=b(ur,[["__scopeId","data-v-f6deafbe"]]),vr=_({__name:"Layout",setup(o){const{isOpen:e,open:t,close:s}=U(),n=ee();G(()=>n.path,s),mt(e,s);const{frontmatter:i}=P(),u=Ze(),f=g(()=>!!u["home-hero-image"]);return Te("hero-image-slot-exists",f),(d,$)=>{const V=J("Content");return r(i).layout!==!1?(a(),c("div",{key:0,class:w(["Layout",r(i).pageClass])},[l(d.$slots,"layout-top",{},void 0,!0),m(dr),m(ot,{class:"backdrop",show:r(e),onClick:r(s)},null,8,["show","onClick"]),m(Ya,null,{"nav-bar-title-before":v(()=>[l(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":v(()=>[l(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":v(()=>[l(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":v(()=>[l(d.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":v(()=>[l(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":v(()=>[l(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),m(In,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),m(cr,{open:r(e)},{"sidebar-nav-before":v(()=>[l(d.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":v(()=>[l(d.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),m(ln,null,{"page-top":v(()=>[l(d.$slots,"page-top",{},void 0,!0)]),"page-bottom":v(()=>[l(d.$slots,"page-bottom",{},void 0,!0)]),"not-found":v(()=>[l(d.$slots,"not-found",{},void 0,!0)]),"home-hero-before":v(()=>[l(d.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":v(()=>[l(d.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":v(()=>[l(d.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":v(()=>[l(d.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":v(()=>[l(d.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":v(()=>[l(d.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":v(()=>[l(d.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":v(()=>[l(d.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":v(()=>[l(d.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":v(()=>[l(d.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":v(()=>[l(d.$slots,"doc-before",{},void 0,!0)]),"doc-after":v(()=>[l(d.$slots,"doc-after",{},void 0,!0)]),"doc-top":v(()=>[l(d.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":v(()=>[l(d.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":v(()=>[l(d.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":v(()=>[l(d.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":v(()=>[l(d.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":v(()=>[l(d.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":v(()=>[l(d.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":v(()=>[l(d.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),m(pn),l(d.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(V,{key:1}))}}}),pr=b(vr,[["__scopeId","data-v-cf9925f7"]]),hr={Layout:pr,enhanceApp:({app:o})=>{o.component("Badge",xe)}};export{hr as t}; diff --git a/assets/guide_configuration.md.DbZ-evHD.js b/assets/guide_configuration.md.Bua8Nzk_.js similarity index 75% rename from assets/guide_configuration.md.DbZ-evHD.js rename to assets/guide_configuration.md.Bua8Nzk_.js index d3ac1264..4c6127e0 100644 --- a/assets/guide_configuration.md.DbZ-evHD.js +++ b/assets/guide_configuration.md.Bua8Nzk_.js @@ -1,4 +1,4 @@ -import{_ as i,c as s,o as a,a2 as e}from"./chunks/framework.Dr3U-I6a.js";const u=JSON.parse('{"title":"Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"guide/configuration.md","filePath":"guide/configuration.md","lastUpdated":1732060631000}'),n={name:"guide/configuration.md"},t=e(`

Configuration

Starting from version 4, VueTypes has a global configuration object that can be used to customize the library's behavior.

The configuration is exposed both as a property of the default export, and as a named export:

ts
// default exported instance
+import{_ as s,c as a,a0 as e,o as n}from"./chunks/framework.D25Vw4RT.js";const k=JSON.parse('{"title":"Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"guide/configuration.md","filePath":"guide/configuration.md","lastUpdated":1732061061000}'),t={name:"guide/configuration.md"};function o(l,i,p,r,h,d){return n(),a("div",null,i[0]||(i[0]=[e(`

Configuration

Starting from version 4, VueTypes has a global configuration object that can be used to customize the library's behavior.

The configuration is exposed both as a property of the default export, and as a named export:

ts
// default exported instance
 import VueTypes from 'vue-types'
 
 // named export
@@ -7,4 +7,4 @@ import{_ as i,c as s,o as a,a2 as e}from"./chunks/framework.Dr3U-I6a.js";const u
 VueTypes.config === config

Configuration Options

  • silent: (boolean, default false) set to true to prevent VueTypes from logging validation warnings.

TIP

Until version 2, VueTypes warning behavior was matching the Vue.config.silent global config parameter. But that global property has been removed in Vue@3.

To reproduce that behavior in application running Vue@2 you can use:

ts
import { config } from 'vue-types'
 import Vue from 'vue'
 
-config.silent = Vue.config.silent
  • logLevel: (string, default warn) allows choosing which console method will be used to display validation errors. Available options are log, warn, error, debug andinfo.
`,8),o=[t];function l(p,r,h,d,c,k){return a(),s("div",null,o)}const f=i(n,[["render",l]]);export{u as __pageData,f as default}; +config.silent = Vue.config.silent
  • logLevel: (string, default warn) allows choosing which console method will be used to display validation errors. Available options are log, warn, error, debug andinfo.
`,8)]))}const g=s(t,[["render",o]]);export{k as __pageData,g as default}; diff --git a/assets/guide_configuration.md.Bua8Nzk_.lean.js b/assets/guide_configuration.md.Bua8Nzk_.lean.js new file mode 100644 index 00000000..4c6127e0 --- /dev/null +++ b/assets/guide_configuration.md.Bua8Nzk_.lean.js @@ -0,0 +1,10 @@ +import{_ as s,c as a,a0 as e,o as n}from"./chunks/framework.D25Vw4RT.js";const k=JSON.parse('{"title":"Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"guide/configuration.md","filePath":"guide/configuration.md","lastUpdated":1732061061000}'),t={name:"guide/configuration.md"};function o(l,i,p,r,h,d){return n(),a("div",null,i[0]||(i[0]=[e(`

Configuration

Starting from version 4, VueTypes has a global configuration object that can be used to customize the library's behavior.

The configuration is exposed both as a property of the default export, and as a named export:

ts
// default exported instance
+import VueTypes from 'vue-types'
+
+// named export
+import { config } from 'vue-types'
+
+VueTypes.config === config

Configuration Options

  • silent: (boolean, default false) set to true to prevent VueTypes from logging validation warnings.

TIP

Until version 2, VueTypes warning behavior was matching the Vue.config.silent global config parameter. But that global property has been removed in Vue@3.

To reproduce that behavior in application running Vue@2 you can use:

ts
import { config } from 'vue-types'
+import Vue from 'vue'
+
+config.silent = Vue.config.silent
  • logLevel: (string, default warn) allows choosing which console method will be used to display validation errors. Available options are log, warn, error, debug andinfo.
`,8)]))}const g=s(t,[["render",o]]);export{k as __pageData,g as default}; diff --git a/assets/guide_configuration.md.DbZ-evHD.lean.js b/assets/guide_configuration.md.DbZ-evHD.lean.js deleted file mode 100644 index 24f8ccde..00000000 --- a/assets/guide_configuration.md.DbZ-evHD.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,c as s,o as a,a2 as e}from"./chunks/framework.Dr3U-I6a.js";const u=JSON.parse('{"title":"Configuration","description":"","frontmatter":{},"headers":[],"relativePath":"guide/configuration.md","filePath":"guide/configuration.md","lastUpdated":1732060631000}'),n={name:"guide/configuration.md"},t=e("",8),o=[t];function l(p,r,h,d,c,k){return a(),s("div",null,o)}const f=i(n,[["render",l]]);export{u as __pageData,f as default}; diff --git a/assets/guide_installation.md.BXQzoruK.js b/assets/guide_installation.md.CCNB_j3-.js similarity index 89% rename from assets/guide_installation.md.BXQzoruK.js rename to assets/guide_installation.md.CCNB_j3-.js index 82c17f38..9abda0dc 100644 --- a/assets/guide_installation.md.BXQzoruK.js +++ b/assets/guide_installation.md.CCNB_j3-.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const g=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"guide/installation.md","filePath":"guide/installation.md","lastUpdated":1732060631000}'),e={name:"guide/installation.md"},t=n(`

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
+import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"guide/installation.md","filePath":"guide/installation.md","lastUpdated":1732061061000}'),t={name:"guide/installation.md"};function l(p,s,h,k,r,d){return e(),a("div",null,s[0]||(s[0]=[n(`

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
 
 <!-- Or -->
 
@@ -67,4 +67,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const g
   vueTypes: {
     shim: true,
   },
-}
`,40),l=[t];function p(h,k,r,d,o,c){return a(),i("div",null,l)}const u=s(e,[["render",p]]);export{g as __pageData,u as default}; +}
`,40)]))}const E=i(t,[["render",l]]);export{c as __pageData,E as default}; diff --git a/assets/guide_installation.md.BXQzoruK.lean.js b/assets/guide_installation.md.CCNB_j3-.lean.js similarity index 89% rename from assets/guide_installation.md.BXQzoruK.lean.js rename to assets/guide_installation.md.CCNB_j3-.lean.js index 82c17f38..9abda0dc 100644 --- a/assets/guide_installation.md.BXQzoruK.lean.js +++ b/assets/guide_installation.md.CCNB_j3-.lean.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const g=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"guide/installation.md","filePath":"guide/installation.md","lastUpdated":1732060631000}'),e={name:"guide/installation.md"},t=n(`

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
+import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Installation","description":"","frontmatter":{},"headers":[],"relativePath":"guide/installation.md","filePath":"guide/installation.md","lastUpdated":1732061061000}'),t={name:"guide/installation.md"};function l(p,s,h,k,r,d){return e(),a("div",null,s[0]||(s[0]=[n(`

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
 
 <!-- Or -->
 
@@ -67,4 +67,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const g
   vueTypes: {
     shim: true,
   },
-}
`,40),l=[t];function p(h,k,r,d,o,c){return a(),i("div",null,l)}const u=s(e,[["render",p]]);export{g as __pageData,u as default}; +}
`,40)]))}const E=i(t,[["render",l]]);export{c as __pageData,E as default}; diff --git a/assets/guide_namespaced.md.njgj3jYg.js b/assets/guide_namespaced.md.EtgPGufb.js similarity index 94% rename from assets/guide_namespaced.md.njgj3jYg.js rename to assets/guide_namespaced.md.EtgPGufb.js index 6cb98104..8d933ec5 100644 --- a/assets/guide_namespaced.md.njgj3jYg.js +++ b/assets/guide_namespaced.md.EtgPGufb.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.Dr3U-I6a.js";const y=JSON.parse('{"title":"Namespaced Usage","description":"","frontmatter":{},"headers":[],"relativePath":"guide/namespaced.md","filePath":"guide/namespaced.md","lastUpdated":1732060631000}'),n={name:"guide/namespaced.md"},e=t(`

Namespaced Usage

The default export of vue-types exposes an ES6 class object that mimics React prop-type.

The class object exposes both native and custom validators.

Native Validators

Native validators are exposed as static getter factories:

js
import VueTypes from 'vue-types'
+import{_ as i,c as a,a0 as t,o as n}from"./chunks/framework.D25Vw4RT.js";const E=JSON.parse('{"title":"Namespaced Usage","description":"","frontmatter":{},"headers":[],"relativePath":"guide/namespaced.md","filePath":"guide/namespaced.md","lastUpdated":1732061061000}'),e={name:"guide/namespaced.md"};function l(p,s,h,k,d,r){return n(),a("div",null,s[0]||(s[0]=[t(`

Namespaced Usage

The default export of vue-types exposes an ES6 class object that mimics React prop-type.

The class object exposes both native and custom validators.

Native Validators

Native validators are exposed as static getter factories:

js
import VueTypes from 'vue-types'
 
 export default {
   props: {
@@ -79,4 +79,4 @@ import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.Dr3U-I6a.js";const y
     // this password prop must include at least a digit
     password: passwordType.validate((v) => /[0-9]/test.(v)),
   },
-}
`,31),l=[e];function p(h,k,d,r,o,E){return a(),i("div",null,l)}const c=s(n,[["render",p]]);export{y as __pageData,c as default}; +}
`,31)]))}const g=i(e,[["render",l]]);export{E as __pageData,g as default}; diff --git a/assets/guide_namespaced.md.EtgPGufb.lean.js b/assets/guide_namespaced.md.EtgPGufb.lean.js new file mode 100644 index 00000000..8d933ec5 --- /dev/null +++ b/assets/guide_namespaced.md.EtgPGufb.lean.js @@ -0,0 +1,82 @@ +import{_ as i,c as a,a0 as t,o as n}from"./chunks/framework.D25Vw4RT.js";const E=JSON.parse('{"title":"Namespaced Usage","description":"","frontmatter":{},"headers":[],"relativePath":"guide/namespaced.md","filePath":"guide/namespaced.md","lastUpdated":1732061061000}'),e={name:"guide/namespaced.md"};function l(p,s,h,k,d,r){return n(),a("div",null,s[0]||(s[0]=[t(`

Namespaced Usage

The default export of vue-types exposes an ES6 class object that mimics React prop-type.

The class object exposes both native and custom validators.

Native Validators

Native validators are exposed as static getter factories:

js
import VueTypes from 'vue-types'
+
+export default {
+  props: {
+    message: VueTypes.string.isRequired,
+  },
+}

The main difference between namespaced native validators and those directly imported from the library is that the former come (usually) with a default value already defined.

ValidatorDefaultvalidate() method
any-yes
func() => {}yes
booltrueyes
string''yes
number0yes
array[]yes
integer0-
symbol--
object{}yes
nullable--

Examples:

js
const numProp = VueTypes.number
+// numProp === { type: Number, default : 0 }
+
+const numPropCustom = VueTypes.number.def(10)
+// numPropCustom ===  { type: Number, default : 10 }
+
+const stringProp = VueTypes.string
+// stringProp ===  { type: String, default : '' }

Native Types Configuration

All native validators (with the exception of any and symbol) come with a sensible default value. To customize or disable that value, you can set the global option VueTypes.sensibleDefaults:

js
//use VueTypes built-in defaults (this is the "default" behavior)
+VueTypes.sensibleDefaults = true
+
+//disable all sensible defaults.
+//Use .def(...) when you need a default value
+VueTypes.sensibleDefaults = false
+
+//assign an object to specify custom defaults
+VueTypes.sensibleDefaults = {
+  // the key must match the validator name
+  string: 'mystringdefault',
+  //...
+}

Under the hood VueTypes.sensibleDefaults is a plain object implemented with custom getters/setters. That let's you play with it like you'd do with every other object.

For example you can remove some of the default values using object rest spread or lodash.omit.

js
console.log(VueTypes.bool.default)
+// logs true
+
+// copy every default value but boolean
+const { bool, ...newDefaults } = VueTypes.sensibleDefaults
+
+// or, with lodash
+// const newDefaults = _.omit(VueTypes.sensibleDefaults, ['bool'])
+
+VueTypes.sensibleDefaults = newDefaults
+
+console.log(VueTypes.bool.default) // logs undefined
+console.log(VueTypes.string.default) // logs ''

TIP

To unset the default value for an individual validator instance use .def(undefined)

js
const type = VueTypes.string
+// { type: String, default: '' }
+
+const type2 = VueTypes.string.def(undefined)
+// { type: String }

Note: Executing .def(undefined) on boolean or mixed-boolean types, explicitly sets the default property to undefined:

js
const type = VueTypes.bool.def(true)
+// { type: Boolean, default: true }
+
+type.def(undefined)
+// { type: Boolean, default: undefined }
+
+const mixedType = VueTypes.oneOfType([String, Boolean])
+// { type: [Boolean, String] }
+
+mixedType.def(undefined)
+// { type: [Boolean, String], default: undefined }

Custom Validators

Custom validators are exposed as static methods. Refer to the dedicated documentation for usage instructions.

js
const arrayOfStrings = VueTypes.arrayOf(String)

Utilities

The class object exposes some utility functions under the .utils property:

utils.validate(value, type)

Checks a value against a type definition:

js
VueTypes.utils.validate('John', VueTypes.string) //true
+
+VueTypes.utils.validate('John', { type: String }) //true

WARNING

This utility won't check for isRequired flag, but will execute any provided custom validator function:

js
const isJohn = VueTypes.string.validate((value) => value === 'John')
+
+VueTypes.utils.validate('John', isJohn) //true
+VueTypes.utils.validate('Jack', isJohn) //false

utils.toType(name, obj, validable = false)

Will convert a plain object to a VueTypes validator object with .def() and isRequired modifiers:

js
const minLength = {
+  type: String,
+  validator(value) {
+    return value.length > 10
+  },
+}
+
+const minLengthType = VueTypes.utils.toType('minLength', minLength)
+
+export default {
+  props: {
+    username: minLengthType.isRequired,
+  },
+}

If the last argument is true the resulting validator object will support the .validate() method as well:

js
const password = {
+  type: String,
+  required: true
+}
+
+const passwordType = VueTypes.utils.toType('password', password, true)
+
+export default {
+  props: {
+    // this password prop must include at least a digit
+    password: passwordType.validate((v) => /[0-9]/test.(v)),
+  },
+}
`,31)]))}const g=i(e,[["render",l]]);export{E as __pageData,g as default}; diff --git a/assets/guide_namespaced.md.njgj3jYg.lean.js b/assets/guide_namespaced.md.njgj3jYg.lean.js deleted file mode 100644 index dcffce3f..00000000 --- a/assets/guide_namespaced.md.njgj3jYg.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a2 as t}from"./chunks/framework.Dr3U-I6a.js";const y=JSON.parse('{"title":"Namespaced Usage","description":"","frontmatter":{},"headers":[],"relativePath":"guide/namespaced.md","filePath":"guide/namespaced.md","lastUpdated":1732060631000}'),n={name:"guide/namespaced.md"},e=t("",31),l=[e];function p(h,k,d,r,o,E){return a(),i("div",null,l)}const c=s(n,[["render",p]]);export{y as __pageData,c as default}; diff --git a/assets/guide_troubleshooting.md.4-ek-5jc.js b/assets/guide_troubleshooting.md.4-ek-5jc.js deleted file mode 100644 index f4f4be2c..00000000 --- a/assets/guide_troubleshooting.md.4-ek-5jc.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,a2 as o}from"./chunks/framework.Dr3U-I6a.js";const g=JSON.parse('{"title":"Troubleshooting","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"guide/troubleshooting.md","filePath":"guide/troubleshooting.md","lastUpdated":1732060631000}'),a={name:"guide/troubleshooting.md"},i=o('

Troubleshooting

ESLint reports a vue/require-default-prop error for certain vue-types validators.

If your uses eslint-plugin-vue v6 or lower, you might receive a linting error related to the vue/require-default-prop rule for validators using the .isRequired or .loose flag (see vue-types#179).

The best solution to fix this issue is to upgrade the library eslint-plugin-vue to v7.

However, if you cannot upgrade the library, you can install eslint-plugin-vue-types. The plugin extends eslint-plugin-vue and filters out most incorrectly flagged usage cases.

Read the plugin documentation for installation and usage details.

',7),s=[i];function l(u,n,p,d,c,h){return t(),r("div",null,s)}const v=e(a,[["render",l]]);export{g as __pageData,v as default}; diff --git a/assets/guide_troubleshooting.md.4-ek-5jc.lean.js b/assets/guide_troubleshooting.md.4-ek-5jc.lean.js deleted file mode 100644 index e28b8917..00000000 --- a/assets/guide_troubleshooting.md.4-ek-5jc.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,a2 as o}from"./chunks/framework.Dr3U-I6a.js";const g=JSON.parse('{"title":"Troubleshooting","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"guide/troubleshooting.md","filePath":"guide/troubleshooting.md","lastUpdated":1732060631000}'),a={name:"guide/troubleshooting.md"},i=o("",7),s=[i];function l(u,n,p,d,c,h){return t(),r("div",null,s)}const v=e(a,[["render",l]]);export{g as __pageData,v as default}; diff --git a/assets/guide_troubleshooting.md.wcse0jpO.js b/assets/guide_troubleshooting.md.wcse0jpO.js new file mode 100644 index 00000000..b94e5516 --- /dev/null +++ b/assets/guide_troubleshooting.md.wcse0jpO.js @@ -0,0 +1 @@ +import{_ as r,c as t,a0 as o,o as a}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Troubleshooting","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"guide/troubleshooting.md","filePath":"guide/troubleshooting.md","lastUpdated":1732061061000}'),i={name:"guide/troubleshooting.md"};function s(l,e,u,n,p,d){return a(),t("div",null,e[0]||(e[0]=[o('

Troubleshooting

ESLint reports a vue/require-default-prop error for certain vue-types validators.

If your uses eslint-plugin-vue v6 or lower, you might receive a linting error related to the vue/require-default-prop rule for validators using the .isRequired or .loose flag (see vue-types#179).

The best solution to fix this issue is to upgrade the library eslint-plugin-vue to v7.

However, if you cannot upgrade the library, you can install eslint-plugin-vue-types. The plugin extends eslint-plugin-vue and filters out most incorrectly flagged usage cases.

Read the plugin documentation for installation and usage details.

',7)]))}const f=r(i,[["render",s]]);export{c as __pageData,f as default}; diff --git a/assets/guide_troubleshooting.md.wcse0jpO.lean.js b/assets/guide_troubleshooting.md.wcse0jpO.lean.js new file mode 100644 index 00000000..b94e5516 --- /dev/null +++ b/assets/guide_troubleshooting.md.wcse0jpO.lean.js @@ -0,0 +1 @@ +import{_ as r,c as t,a0 as o,o as a}from"./chunks/framework.D25Vw4RT.js";const c=JSON.parse('{"title":"Troubleshooting","description":"","frontmatter":{"aside":false},"headers":[],"relativePath":"guide/troubleshooting.md","filePath":"guide/troubleshooting.md","lastUpdated":1732061061000}'),i={name:"guide/troubleshooting.md"};function s(l,e,u,n,p,d){return a(),t("div",null,e[0]||(e[0]=[o('

Troubleshooting

ESLint reports a vue/require-default-prop error for certain vue-types validators.

If your uses eslint-plugin-vue v6 or lower, you might receive a linting error related to the vue/require-default-prop rule for validators using the .isRequired or .loose flag (see vue-types#179).

The best solution to fix this issue is to upgrade the library eslint-plugin-vue to v7.

However, if you cannot upgrade the library, you can install eslint-plugin-vue-types. The plugin extends eslint-plugin-vue and filters out most incorrectly flagged usage cases.

Read the plugin documentation for installation and usage details.

',7)]))}const f=r(i,[["render",s]]);export{c as __pageData,f as default}; diff --git a/assets/guide_validators.md.FJHl80Ph.js b/assets/guide_validators.md.BUc5SOYS.js similarity index 98% rename from assets/guide_validators.md.FJHl80Ph.js rename to assets/guide_validators.md.BUc5SOYS.js index ad569161..df1233d1 100644 --- a/assets/guide_validators.md.FJHl80Ph.js +++ b/assets/guide_validators.md.BUc5SOYS.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"Validators","description":"","frontmatter":{"title":"Validators"},"headers":[],"relativePath":"guide/validators.md","filePath":"guide/validators.md","lastUpdated":1732060631000}'),t={name:"guide/validators.md"},e=n(`

Using VueTypes Validators

VueTypes is a collection of prop validators. Each validator is basically a factory function returning an object (validator object) compatible with Vue prop validation.

Differently from simple Vue prop validation objects, VueTypes prop validator objects provide some additional chainable properties and methods to control things like required and default values.

Validators can be imported as named functions from vue-types:

js
import Vue from 'vue'
+import{_ as i,c as a,a0 as n,o as t}from"./chunks/framework.D25Vw4RT.js";const E=JSON.parse('{"title":"Validators","description":"","frontmatter":{"title":"Validators"},"headers":[],"relativePath":"guide/validators.md","filePath":"guide/validators.md","lastUpdated":1732061061000}'),p={name:"guide/validators.md"};function e(l,s,h,k,r,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Using VueTypes Validators

VueTypes is a collection of prop validators. Each validator is basically a factory function returning an object (validator object) compatible with Vue prop validation.

Differently from simple Vue prop validation objects, VueTypes prop validator objects provide some additional chainable properties and methods to control things like required and default values.

Validators can be imported as named functions from vue-types:

js
import Vue from 'vue'
 import { number, oneOf } from 'vue-types'
 
 export default {
@@ -248,4 +248,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c
 validateType(Number, 10) // true
 
 // returns an error message on failure
-validateType(String, 10, false) // 'value "10" should be of type "string"\`

toType / toValidableType

Convert an object compatible with Vue.js prop validation to a VueTypes validator object.

See Standalone custom validators for more details.

fromType

Creates a new validator object from a previously defined one.

See Inheriting from existing validators for more details.

createTypes

Returns a namespaced collection of validators.

See Custom namespaced instance for more details.

`,110),p=[e];function l(h,k,r,d,o,E){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; +validateType(String, 10, false) // 'value "10" should be of type "string"\`

toType / toValidableType

Convert an object compatible with Vue.js prop validation to a VueTypes validator object.

See Standalone custom validators for more details.

fromType

Creates a new validator object from a previously defined one.

See Inheriting from existing validators for more details.

createTypes

Returns a namespaced collection of validators.

See Custom namespaced instance for more details.

`,110)]))}const g=i(p,[["render",e]]);export{E as __pageData,g as default}; diff --git a/assets/guide_validators.md.BUc5SOYS.lean.js b/assets/guide_validators.md.BUc5SOYS.lean.js new file mode 100644 index 00000000..df1233d1 --- /dev/null +++ b/assets/guide_validators.md.BUc5SOYS.lean.js @@ -0,0 +1,251 @@ +import{_ as i,c as a,a0 as n,o as t}from"./chunks/framework.D25Vw4RT.js";const E=JSON.parse('{"title":"Validators","description":"","frontmatter":{"title":"Validators"},"headers":[],"relativePath":"guide/validators.md","filePath":"guide/validators.md","lastUpdated":1732061061000}'),p={name:"guide/validators.md"};function e(l,s,h,k,r,d){return t(),a("div",null,s[0]||(s[0]=[n(`

Using VueTypes Validators

VueTypes is a collection of prop validators. Each validator is basically a factory function returning an object (validator object) compatible with Vue prop validation.

Differently from simple Vue prop validation objects, VueTypes prop validator objects provide some additional chainable properties and methods to control things like required and default values.

Validators can be imported as named functions from vue-types:

js
import Vue from 'vue'
+import { number, oneOf } from 'vue-types'
+
+export default {
+  props: {
+    id: number().isRequired,
+    status: oneOf(['open', 'close']).def('open'),
+  },
+}

Validators can be categorized in two groups:

  • Native Validators
  • Custom Validators

Native Validators

Native validators come with:

  • a def(any) method to assign a default value for the current prop. The passed-in value will be validated against the type configuration in order to prevent invalid values.
  • a isRequired flag to set the required: true property.
  • a validate(function) method to set a custom validator function (not available in integer and symbol).
js
import { number } from 'vue-types'
+
+const numProp = number()
+// numProp === { type: Number}
+
+const numPropCustom = number().def(10)
+// numPropCustom ===  { type: Number, default : 10}
+
+const numPropRequired = number().isRequired
+// numPropRequired ===  { type: Number, required : true}
+
+const numPropRequiredCustom = number().def(10).isRequired
+// numPropRequiredCustom ===  { type: Number, default: 10, required : true}
+
+const gtTen = (num) => num > 10
+const numPropGreaterThanTen = number().validate(gtTen)
+// numPropGreaterThanTen ===  { type: Number, validator: (num) => num > 10 }

UPDATING DEFAULT VALUES

You can unset any previously defined default value by passing undefined to .def()

js
const type = string().def('hello')
+// { type: String, default: 'hello' }
+
+type.def(undefined)
+// { type: String }

Note: Executing .def(undefined) on boolean or mixed-boolean types, explicitly sets the default property to undefined:

js
const type = bool().def(true)
+// { type: Boolean, default: true }
+
+type.def(undefined)
+// { type: Boolean, default: undefined }
+
+const mixedType = oneOfType([bool(), string()])
+// { type: [Boolean, String] }
+
+mixedType.def(undefined)
+// { type: [Boolean, String], default: undefined }

any

Validates any type of value. This validator should be used sparingly and can be an escape hatch for props with unknown values.

js
props: {
+  myProp: any(),
+}

TYPESCRIPT HINT

In TypeScript, you can specify a type constraint other than any:

ts
props: {
+  // type is \`any\`
+  myPropAny: any(),
+  // type is \`unknown\`
+  myPropUnknown: any<unknown>(),
+}

array

Validates that a prop is an array primitive.

js
props: {
+  users: array(),
+}

TYPESCRIPT HINT

In TypeScript, you can specify the type of array items as type argument:

ts
props: {
+  // array of strings
+  users: array<string>(),
+  // specify the allowed array items
+  fruits: array<'apple' | 'pear'>()
+}

Note: this signature will validate the prop at compile-time only. For runtime validation use arrayOf

TIP

Vue prop validation requires Array props to provide default value as a factory function. array().def() accepts both factory functions and arrays. In the latter case, VueTypes will convert the value to a factory function for you.

bool

Validates boolean props.

js
props: {
+  enabled: bool()
+}

undefined AS DEFAULT VALUE

Executing .def(undefined) on boolean or mixed-boolean types, explicitly sets the default property to undefined:

js
const type = bool().def(true)
+// { type: Boolean, default: true }
+
+type.def(undefined)
+// { type: Boolean, default: undefined }
+
+const mixedType = oneOfType([bool(), string()])
+// { type: [Boolean, String] }
+
+mixedType.def(undefined)
+// { type: [Boolean, String], default: undefined }

func

Validates that a prop is a function.

js
props: {
+  onClick: func()
+}

TYPESCRIPT HINT

You can constrain the function signature passing it as type argument:

ts
props: {
+  // expects an event handler
+  onClick: func<(event: Event) => void>()
+}

number

Validates that a prop is a number.

js
props: {
+  length: number()
+}

TYPESCRIPT HINT

You can constrain the number value with a type argument:

ts
props: {
+  // union type
+  length: number<1 | 2 | 3>()
+}

Note: this signature will validate the prop at compile-time only. For runtime validation use oneOf.

integer

Validates that a prop is an integer.

js
props: {
+  age: integer()
+}

TYPESCRIPT HINT

Because integer() inherits from number(), you can constrain its value with a type argument as well (see above for details).

object

Validates that a prop is an object.

js
props: {
+  user: object()
+}

TYPESCRIPT HINT

You can specify the shape of the object as type argument:

ts
interface User {
+  ID: number
+  username: string
+}
+
+// ...
+
+props: {
+  // restrict the object to the properties of User
+  user: object<User>()
+}

Note: this signature will validate the prop at compile-time only. For runtime validation use shape

TIP

Vue prop validation requires Object props to provide default value as a factory function. object().def() accepts both factory functions and plain objects. In the latter case, VueTypes will convert the value to a factory function for you.

string

Validates that a prop is a string.

js
props: {
+  username: string()
+}

TYPESCRIPT HINT

You can constrain the string value with a type argument:

ts

+enum Fruits {
+  Apple = 'Apple',
+  Pear = 'Pear',
+}
+
+props: {
+  // string enum
+  users: string<Fruits>(),
+  // union type
+  fruits: string<'apple' | 'pear'>()
+}

Note: this signature will validate the prop at compile-time only. For runtime validation use oneOf.

symbol

Validates that a prop is a Symbol.

js
props: {
+  uniq: symbol()
+}

nullable

Validates that a prop is null.

js
props: {
+  isNull: nullable()
+}

WARNING

This validator does not come with any flag or method. It can be used with oneOfType to make a required prop nullable.

js
props: {
+  stringOrNull: oneOfType([string(), nullable()]).isRequired
+}

Use this validator sparingly. Nullable props are not encouraged in Vue components, so please consider reviewing your strategy.

Custom Validators

Custom validators are a special kind of factory function useful to describe complex validation requirements. By design custom validators:

  • don't have a validate method
  • have a .def() method to assign a default value on the current prop
  • have an isRequired flag to set the required: true property
js
const oneOfPropDefault = oneOf([0, 1]).def(1)
+// oneOfPropDefault.default === 1
+
+const oneOfPropRequired = oneOf([0, 1]).isRequired
+// oneOfPropRequired.required ===  true
+
+const oneOfPropRequiredCustom = oneOf([0, 1]).def(1).isRequired
+// oneOfPropRequiredCustom.default ===  1
+// oneOfPropRequiredCustom.required === true

instanceOf

Validates that a prop is an instance of a JavaScript constructor. This validator uses JavaScript's instanceof operator.

js
class User {
+  // ...
+}
+
+props: {
+  user: instanceOf(User)
+}

oneOf

Validates that a prop is one of the provided values.

js
props: {
+  genre: oneOf(['action', 'thriller'])
+}

TYPESCRIPT HINT

To constrain the allowed values at compile-time use const assertions on the passed-in array or union types (see caveats):

ts
props: {
+  genre: oneOf(['action', 'thriller'] as const)
+}
+
+// mostly same as
+type Genre = 'action' | 'thriller'
+
+props: {
+  genre: oneOf<Genre>(['action', 'thriller'])
+}

oneOfType

Validates that a prop is an object that could be one of many types. Accepts as inner validators an array of JavaScript constructors, Vue.js props validation objects and VueTypes validators objects.

ts
props: {
+  // Either a string, an integer or an instance of the User class
+  theProp: oneOfType([String, integer(), instanceOf(User)])
+}

This validator can be used to compose complex validation logic including native types, specific values (using oneOf) and null (using nullable):

ts
props: {
+  // Either a number (of pixels), a keyword, or null
+  // translates to: number | 'fit-content' | 'auto' | null
+  width: oneOfType([
+    Number,
+    oneOf(['fit-content', 'auto'] as const),
+    nullable(),
+  ])
+}

TYPESCRIPT HINT

You can constrain the expected types passing them as type argument:

ts
type User = { name: string; id: string }
+
+props: {
+  // string or instance of User
+  theProp: oneOfType<string | User>([String, Object])
+}

Constraints can be set on the inner validators as well:

ts
type User = { name: string; id: string }
+
+props: {
+  // same as above
+  theProp: oneOfType([String, object<User>()])
+}

arrayOf

Validates that a prop is an array of a certain type. Accepts JavaScript constructors, Vue.js props validation objects and VueTypes validators objects.

js
props: {
+  //accepts: ['my', 'string']
+  //rejects: ['my', 1]
+  theProp: arrayOf(String),
+
+  // accepts an array of objects
+  userList: arrayOf(object())
+}

TIP

Prop Validators are composable. For example, to validate an array that can contain both strings and numbers you can use arrayOf and oneOfType:

js
props: {
+  // an array containing both strings and numbers
+  collection: arrayOf(oneOfType([String, Number]))
+}

In TypeScript, composition can be used together with type arguments to constrain the final prop type:

ts
type User = { name: string; id: string }
+
+props: {
+  // an array containing both arrays of strings and User object instances
+  collection: arrayOf(oneOfType([array<string>(), object<User>()]))
+}

objectOf

Validates that a prop is an object with values of a certain type. Accepts JavaScript constructors, Vue.js props validation objects and VueTypes validators objects.

js
props: {
+  //accepts: {name: 'John', surname: 'Doe'}
+  //rejects: {name: 'John', age: 30}
+  userData: objectOf(String)
+}

shape

Validates that a prop is an object taking on a particular shape. Shape properties value can be JavaScript constructors, Vue.js props validation objects or VueTypes validators objects.

Note that:

  • You can set the properties of the shape as required but you cannot use .def().
  • You can use .def() to set a default value for the shape itself.
  • Like array and object, you can pass to .def() either a factory function returning an object or a plain object.
js
props: {
+  // default value = {name: 'John'}
+  //accepts: {name: 'John', age: 30, id: 1}
+  //rejects: {name: 'John', age: 30} -> missing required \`id\` key
+  //rejects: {name: 'John', age: 'wrong data', id: 1} -> age is not a number
+  userData: shape({
+    name: String,
+    age: integer(),
+    id: integer().isRequired,
+  }).def(() => ({ name: 'John' }))
+}

TYPESCRIPT HINT

You can constrain the shape with a type argument:

ts
interface User {
+  name?: string
+  age?: number
+  id: number
+}
+
+// ...
+
+props: {
+  userData: shape<User>({
+    name: String,
+    age: integer(),
+    id: integer().isRequired,
+  }).def(() => ({ name: 'John' }))
+}

Loose shape matching

By default shape will reject objects containing properties not defined in the shape. To allow partial matching use the loose flag:

js
export default {
+  props: {
+    //accepts: {name: 'John', id: 1}
+    //rejects: {name: 'John', id: 1, age: 30} --> age not defined in the shape
+    userData: shape({
+      name: String,
+      id: integer().isRequired,
+    }),
+
+    //accepts: {name: 'John', id: 1}
+    //accepts: {name: 'John', id: 1, age: 30} --> loose matching
+    userDataLoose: shape({
+      name: String,
+      id: integer().isRequired,
+    }).loose, // <-- loose flag
+  },
+}

custom

Validates prop values against a custom validation function.

js
function minLength(value) {
+  return typeof value === 'string' && value.length >= 6
+}
+
+// ...
+
+props: {
+  username: custom(minLength)
+}
+
+//accepts: 'arandomusername'
+//rejects: 'user', 1

Note that the passed-in function name will be used as the custom validator name in warnings.

You can pass a validation error message as second argument as well:

js
function minLength(value) {
+  return typeof value === 'string' && value.length >= 6
+}
+
+// ...
+props: {
+  theProp: custom(minLength, 'theProp is not a string or is too short')
+}

TYPESCRIPT HINT

In TypeScript, you can specify the prop type with a type argument:

ts
function minLength(value) {
+  return typeof value === 'string' && value.length >= 6
+}
+
+// ...
+props: {
+  // theProp is a string
+  theProp: custom<string>(minLength)
+}

Utilities

VueTypes exposes some useful utility functions that can be used to extend the library functionalities.

validateType

Checks a value against a type definition.

Accepts the following arguments:

  • validator: A JavaScript constructor or VueTypes validator object
  • value: The value to check
  • [silent=false]: Toggle error console logging

If silent === false the function will return a boolean. If silent === true it will return true if the check succeeds else it will return an error message.

js
import { validateType, arrayOf } from 'vue-types'
+
+// VueTypes validator object
+const isArrayOfStrings = arrayOf(String)
+
+validateType(isArrayOfStrings, ['hello', 'world']) // true
+validateType(isArrayOfStrings, ['hello', 1]) // false
+
+// Native string constructor
+validateType(Number, 10) // true
+
+// returns an error message on failure
+validateType(String, 10, false) // 'value "10" should be of type "string"\`

toType / toValidableType

Convert an object compatible with Vue.js prop validation to a VueTypes validator object.

See Standalone custom validators for more details.

fromType

Creates a new validator object from a previously defined one.

See Inheriting from existing validators for more details.

createTypes

Returns a namespaced collection of validators.

See Custom namespaced instance for more details.

`,110)]))}const g=i(p,[["render",e]]);export{E as __pageData,g as default}; diff --git a/assets/guide_validators.md.FJHl80Ph.lean.js b/assets/guide_validators.md.FJHl80Ph.lean.js deleted file mode 100644 index 7f744d8e..00000000 --- a/assets/guide_validators.md.FJHl80Ph.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"Validators","description":"","frontmatter":{"title":"Validators"},"headers":[],"relativePath":"guide/validators.md","filePath":"guide/validators.md","lastUpdated":1732060631000}'),t={name:"guide/validators.md"},e=n("",110),p=[e];function l(h,k,r,d,o,E){return a(),i("div",null,p)}const y=s(t,[["render",l]]);export{c as __pageData,y as default}; diff --git a/assets/index.md.CqAONvgu.js b/assets/index.md.BXX8PSRi.js similarity index 78% rename from assets/index.md.CqAONvgu.js rename to assets/index.md.BXX8PSRi.js index bc9c1d2d..aa4ea407 100644 --- a/assets/index.md.CqAONvgu.js +++ b/assets/index.md.BXX8PSRi.js @@ -1,4 +1,4 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"title":"Introduction"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732060631000}'),e={name:"index.md"},p=n(`

VueTypes

VueTypes is a collection of configurable prop validators for Vue.js, inspired by React prop-types.

Try it now!

VERSION NOTE

This is the documentation for VueTypes 2 and above. If you are using an older version, refer to the documentation here.

Starting from v4, vue-types is compatible with both vue@2 and vue@3.

When to use

While basic prop validation in Vue.js is straight-forward and convenient, fine-grained validation can become verbose on complex components.

VueTypes offers a compact and fluent interface to define your project's props.

Usage example

Imagine a typical Vue.js component with a set of props:

js
export default {
+import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const o=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"title":"Introduction"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732061061000}'),p={name:"index.md"};function t(l,s,h,k,r,E){return e(),a("div",null,s[0]||(s[0]=[n(`

VueTypes

VueTypes is a collection of configurable prop validators for Vue.js, inspired by React prop-types.

Try it now!

VERSION NOTE

This is the documentation for VueTypes 2 and above. If you are using an older version, refer to the documentation here.

Starting from v4, vue-types is compatible with both vue@2 and vue@3.

When to use

While basic prop validation in Vue.js is straight-forward and convenient, fine-grained validation can become verbose on complex components.

VueTypes offers a compact and fluent interface to define your project's props.

Usage example

Imagine a typical Vue.js component with a set of props:

js
export default {
   props: {
     id: {
       type: Number,
@@ -44,4 +44,4 @@ import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c
   methods: {
     // ...
   },
-}
`,16),t=[p];function l(h,k,r,E,d,o){return a(),i("div",null,t)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +}
`,16)]))}const g=i(p,[["render",t]]);export{o as __pageData,g as default}; diff --git a/assets/index.md.BXX8PSRi.lean.js b/assets/index.md.BXX8PSRi.lean.js new file mode 100644 index 00000000..aa4ea407 --- /dev/null +++ b/assets/index.md.BXX8PSRi.lean.js @@ -0,0 +1,47 @@ +import{_ as i,c as a,a0 as n,o as e}from"./chunks/framework.D25Vw4RT.js";const o=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"title":"Introduction"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732061061000}'),p={name:"index.md"};function t(l,s,h,k,r,E){return e(),a("div",null,s[0]||(s[0]=[n(`

VueTypes

VueTypes is a collection of configurable prop validators for Vue.js, inspired by React prop-types.

Try it now!

VERSION NOTE

This is the documentation for VueTypes 2 and above. If you are using an older version, refer to the documentation here.

Starting from v4, vue-types is compatible with both vue@2 and vue@3.

When to use

While basic prop validation in Vue.js is straight-forward and convenient, fine-grained validation can become verbose on complex components.

VueTypes offers a compact and fluent interface to define your project's props.

Usage example

Imagine a typical Vue.js component with a set of props:

js
export default {
+  props: {
+    id: {
+      type: Number,
+      default: 10,
+    },
+    name: {
+      type: String,
+      required: true,
+    },
+    age: {
+      type: Number,
+      validator(value) {
+        return Number.isInteger(value)
+      },
+      default: 0,
+    },
+    nationality: String,
+  },
+  methods: {
+    // ...
+  },
+}

While this component works perfectly fine, writing a lot of prop validation objects can become repetitive.

With VueTypes you could rewrite the same props like this:

js
import VueTypes from 'vue-types'
+
+export default {
+  props: {
+    id: VueTypes.number.def(10),
+    name: VueTypes.string.isRequired,
+    age: VueTypes.integer,
+    nationality: VueTypes.string,
+  },
+  methods: {
+    // ...
+  },
+}

Individual validators import

Starting from version 2.0.0, you can import individual validators for an even more concise syntax:

js
import { number, string, integer } from 'vue-types'
+
+export default {
+  props: {
+    id: number().def(10),
+    name: string().isRequired,
+    age: integer().def(0),
+    nationality: string(),
+  },
+  methods: {
+    // ...
+  },
+}
`,16)]))}const g=i(p,[["render",t]]);export{o as __pageData,g as default}; diff --git a/assets/index.md.CqAONvgu.lean.js b/assets/index.md.CqAONvgu.lean.js deleted file mode 100644 index b6228682..00000000 --- a/assets/index.md.CqAONvgu.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as i,o as a,a2 as n}from"./chunks/framework.Dr3U-I6a.js";const c=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"title":"Introduction"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1732060631000}'),e={name:"index.md"},p=n("",16),t=[p];function l(h,k,r,E,d,o){return a(),i("div",null,t)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/assets/style.B5cule38.css b/assets/style.B5cule38.css new file mode 100644 index 00000000..21426e98 --- /dev/null +++ b/assets/style.B5cule38.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-c4178ce8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-c4178ce8],.VPBackdrop.fade-leave-to[data-v-c4178ce8]{opacity:0}.VPBackdrop.fade-leave-active[data-v-c4178ce8]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-c4178ce8]{display:none}}.NotFound[data-v-40d61379]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-40d61379]{padding:96px 32px 168px}}.code[data-v-40d61379]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-40d61379]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-40d61379]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-40d61379]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-40d61379]{padding-top:20px}.link[data-v-40d61379]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-40d61379]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-439b8333]{position:relative;z-index:1}.nested[data-v-439b8333]{padding-right:16px;padding-left:16px}.outline-link[data-v-439b8333]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-439b8333]:hover,.outline-link.active[data-v-439b8333]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-439b8333]{padding-left:13px}.VPDocAsideOutline[data-v-64536334]{display:none}.VPDocAsideOutline.has-outline[data-v-64536334]{display:block}.content[data-v-64536334]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-64536334]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-64536334]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-00c7d2e0]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-00c7d2e0]{flex-grow:1}.VPDocAside[data-v-00c7d2e0] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-00c7d2e0] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-00c7d2e0] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-d07b42e7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-d07b42e7]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-2afd8f59]{margin-top:64px}.edit-info[data-v-2afd8f59]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-2afd8f59]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-2afd8f59]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-2afd8f59]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-2afd8f59]{margin-right:8px}.prev-next[data-v-2afd8f59]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-2afd8f59]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-2afd8f59]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-2afd8f59]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-2afd8f59]{margin-left:auto;text-align:right}.desc[data-v-2afd8f59]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-2afd8f59]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-609c0a40]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-609c0a40]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-609c0a40]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-609c0a40]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-609c0a40]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-609c0a40]{display:flex;justify-content:center}.VPDoc .aside[data-v-609c0a40]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-609c0a40]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-609c0a40]{max-width:1104px}}.container[data-v-609c0a40]{margin:0 auto;width:100%}.aside[data-v-609c0a40]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-609c0a40]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-609c0a40]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-609c0a40]::-webkit-scrollbar{display:none}.aside-curtain[data-v-609c0a40]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-609c0a40]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-609c0a40]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-609c0a40]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-609c0a40]{order:1;margin:0;min-width:640px}}.content-container[data-v-609c0a40]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-609c0a40]{max-width:688px}.VPButton[data-v-f4b6a680]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-f4b6a680]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-f4b6a680]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-f4b6a680]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-f4b6a680]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-f4b6a680]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-f4b6a680]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-f4b6a680]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-f4b6a680]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-f4b6a680]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-f4b6a680]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-f4b6a680]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-f4b6a680]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-9c37ee87]{display:none}.dark .VPImage.light[data-v-9c37ee87]{display:none}.VPHero[data-v-7bb80741]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-7bb80741]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-7bb80741]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-7bb80741]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-7bb80741]{flex-direction:row}}.main[data-v-7bb80741]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-7bb80741]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-7bb80741]{text-align:left}}@media (min-width: 960px){.main[data-v-7bb80741]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-7bb80741]{max-width:592px}}.name[data-v-7bb80741],.text[data-v-7bb80741]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-7bb80741],.VPHero.has-image .text[data-v-7bb80741]{margin:0 auto}.name[data-v-7bb80741]{color:var(--vp-home-hero-name-color)}.clip[data-v-7bb80741]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-7bb80741],.text[data-v-7bb80741]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-7bb80741],.text[data-v-7bb80741]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-7bb80741],.VPHero.has-image .text[data-v-7bb80741]{margin:0}}.tagline[data-v-7bb80741]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-7bb80741]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-7bb80741]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-7bb80741]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-7bb80741]{margin:0}}.actions[data-v-7bb80741]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-7bb80741]{justify-content:center}@media (min-width: 640px){.actions[data-v-7bb80741]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-7bb80741]{justify-content:flex-start}}.action[data-v-7bb80741]{flex-shrink:0;padding:6px}.image[data-v-7bb80741]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-7bb80741]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-7bb80741]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-7bb80741]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-7bb80741]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-7bb80741]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-7bb80741]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-7bb80741]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-7bb80741]{width:320px;height:320px}}[data-v-7bb80741] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-7bb80741] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-7bb80741] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-4fba6d18]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-4fba6d18]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-4fba6d18]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-4fba6d18]>.VPImage{margin-bottom:20px}.icon[data-v-4fba6d18]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-4fba6d18]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-4fba6d18]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-4fba6d18]{padding-top:8px}.link-text-value[data-v-4fba6d18]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-4fba6d18]{margin-left:6px}.VPFeatures[data-v-842d9512]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-842d9512]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-842d9512]{padding:0 64px}}.container[data-v-842d9512]{margin:0 auto;max-width:1152px}.items[data-v-842d9512]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-842d9512]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-842d9512],.item.grid-4[data-v-842d9512],.item.grid-6[data-v-842d9512]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-842d9512],.item.grid-4[data-v-842d9512]{width:50%}.item.grid-3[data-v-842d9512],.item.grid-6[data-v-842d9512]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-842d9512]{width:25%}}.container[data-v-99c383f9]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-99c383f9]{padding:0 48px}}@media (min-width: 960px){.container[data-v-99c383f9]{width:100%;padding:0 64px}}.vp-doc[data-v-99c383f9] .VPHomeSponsors,.vp-doc[data-v-99c383f9] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-99c383f9] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-99c383f9] .VPHomeSponsors a,.vp-doc[data-v-99c383f9] .VPTeamPage a{text-decoration:none}.VPHome[data-v-a1965e7c]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-a1965e7c]{margin-bottom:128px}}.VPContent[data-v-b38c3c5a]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-b38c3c5a]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-b38c3c5a]{margin:0}@media (min-width: 960px){.VPContent[data-v-b38c3c5a]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-b38c3c5a]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-b38c3c5a]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-7e1952f2]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-7e1952f2]{display:none}.VPFooter[data-v-7e1952f2] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-7e1952f2] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-7e1952f2]{padding:32px}}.container[data-v-7e1952f2]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-7e1952f2],.copyright[data-v-7e1952f2]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-658a669a]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-658a669a]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-658a669a]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-658a669a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-658a669a]{color:var(--vp-c-text-1)}.icon[data-v-658a669a]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-658a669a]{font-size:14px}.icon[data-v-658a669a]{font-size:16px}}.open>.icon[data-v-658a669a]{transform:rotate(90deg)}.items[data-v-658a669a]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-658a669a]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-658a669a]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-658a669a]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-658a669a]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-658a669a]{transition:all .2s ease-out}.flyout-leave-active[data-v-658a669a]{transition:all .15s ease-in}.flyout-enter-from[data-v-658a669a],.flyout-leave-to[data-v-658a669a]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-a3a940b1]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-a3a940b1]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-a3a940b1]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-a3a940b1]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-a3a940b1]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-a3a940b1]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-a3a940b1]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-a3a940b1]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-a3a940b1]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-a3a940b1]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-a3a940b1]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-a3a940b1]{display:none}}.menu-icon[data-v-a3a940b1]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-a3a940b1]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-a3a940b1]{padding:12px 32px 11px}}.VPSwitch[data-v-83bad5ce]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-83bad5ce]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-83bad5ce]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-83bad5ce]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-83bad5ce] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-83bad5ce] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-8a9b7180]{opacity:1}.moon[data-v-8a9b7180],.dark .sun[data-v-8a9b7180]{opacity:0}.dark .moon[data-v-8a9b7180]{opacity:1}.dark .VPSwitchAppearance[data-v-8a9b7180] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-8301164d]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-8301164d]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-73feb0da]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-73feb0da]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-73feb0da]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-73feb0da]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-4d37dcd3]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-4d37dcd3]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-4d37dcd3]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-4d37dcd3]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-1faf69d6]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-1faf69d6] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-1faf69d6] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-1faf69d6] .group:last-child{padding-bottom:0}.VPMenu[data-v-1faf69d6] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-1faf69d6] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-1faf69d6] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-1faf69d6] .action{padding-left:24px}.VPFlyout[data-v-b7d52692]{position:relative}.VPFlyout[data-v-b7d52692]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-b7d52692]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-b7d52692]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-b7d52692]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-b7d52692]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-b7d52692]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-b7d52692],.button[aria-expanded=true]+.menu[data-v-b7d52692]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-b7d52692]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-b7d52692]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-b7d52692]{margin-right:0;font-size:16px}.text-icon[data-v-b7d52692]{margin-left:4px;font-size:14px}.icon[data-v-b7d52692]{font-size:20px;transition:fill .25s}.menu[data-v-b7d52692]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-8908c89a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-8908c89a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-8908c89a]>svg,.VPSocialLink[data-v-8908c89a]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-a2ee8442]{display:flex;justify-content:center}.VPNavBarExtra[data-v-3a3c4010]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-3a3c4010]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-3a3c4010]{display:none}}.trans-title[data-v-3a3c4010]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-3a3c4010],.item.social-links[data-v-3a3c4010]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-3a3c4010]{min-width:176px}.appearance-action[data-v-3a3c4010]{margin-right:-2px}.social-links-list[data-v-3a3c4010]{margin:-4px -8px}.VPNavBarHamburger[data-v-1846f37e]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-1846f37e]{display:none}}.container[data-v-1846f37e]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-1846f37e]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-1846f37e]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-1846f37e]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-1846f37e]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-1846f37e]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-1846f37e]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-1846f37e],.VPNavBarHamburger.active:hover .middle[data-v-1846f37e],.VPNavBarHamburger.active:hover .bottom[data-v-1846f37e]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-1846f37e],.middle[data-v-1846f37e],.bottom[data-v-1846f37e]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-1846f37e]{top:0;left:0;transform:translate(0)}.middle[data-v-1846f37e]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-1846f37e]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-74f7b1fe]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-74f7b1fe],.VPNavBarMenuLink[data-v-74f7b1fe]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-7dd00ada]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-7dd00ada]{display:flex}}/*! @docsearch/css 3.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-3d86df1f]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-3d86df1f]{display:flex;align-items:center}}.title[data-v-c4e9343c]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-c4e9343c]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-c4e9343c]{border-bottom-color:var(--vp-c-divider)}}[data-v-c4e9343c] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-3850f352]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-3850f352]{display:flex;align-items:center}}.title[data-v-3850f352]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-9329f3c8]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-9329f3c8]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-9329f3c8]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-9329f3c8]:not(.home){background-color:transparent}.VPNavBar[data-v-9329f3c8]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-9329f3c8]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-9329f3c8]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-9329f3c8]{padding:0}}.container[data-v-9329f3c8]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-9329f3c8],.container>.content[data-v-9329f3c8]{pointer-events:none}.container[data-v-9329f3c8] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-9329f3c8]{max-width:100%}}.title[data-v-9329f3c8]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-9329f3c8]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-9329f3c8]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-9329f3c8]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-9329f3c8]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-9329f3c8]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-9329f3c8]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-9329f3c8]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-9329f3c8]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-9329f3c8]{column-gap:.5rem}}.menu+.translations[data-v-9329f3c8]:before,.menu+.appearance[data-v-9329f3c8]:before,.menu+.social-links[data-v-9329f3c8]:before,.translations+.appearance[data-v-9329f3c8]:before,.appearance+.social-links[data-v-9329f3c8]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-9329f3c8]:before,.translations+.appearance[data-v-9329f3c8]:before{margin-right:16px}.appearance+.social-links[data-v-9329f3c8]:before{margin-left:16px}.social-links[data-v-9329f3c8]{margin-right:-8px}.divider[data-v-9329f3c8]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-9329f3c8]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-9329f3c8]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-9329f3c8]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-9329f3c8]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-9329f3c8]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-9329f3c8]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-d48b1861]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-d48b1861]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-fc3065c7]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-fc3065c7]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-38524075]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-38524075]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-971f1d81]{display:block}.title[data-v-971f1d81]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-93b46a4c]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-93b46a4c]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-93b46a4c]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-93b46a4c]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-93b46a4c]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-93b46a4c]{transform:rotate(45deg)}.button[data-v-93b46a4c]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-93b46a4c]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-93b46a4c]{transition:transform .25s}.group[data-v-93b46a4c]:first-child{padding-top:0}.group+.group[data-v-93b46a4c],.group+.item[data-v-93b46a4c]{padding-top:4px}.VPNavScreenTranslations[data-v-8ad75a35]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-8ad75a35]{height:auto}.title[data-v-8ad75a35]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-8ad75a35]{font-size:16px}.icon.lang[data-v-8ad75a35]{margin-right:8px}.icon.chevron[data-v-8ad75a35]{margin-left:4px}.list[data-v-8ad75a35]{padding:4px 0 0 24px}.link[data-v-8ad75a35]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-5fdd90fe]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-5fdd90fe],.VPNavScreen.fade-leave-active[data-v-5fdd90fe]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-5fdd90fe],.VPNavScreen.fade-leave-active .container[data-v-5fdd90fe]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-5fdd90fe],.VPNavScreen.fade-leave-to[data-v-5fdd90fe]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-5fdd90fe],.VPNavScreen.fade-leave-to .container[data-v-5fdd90fe]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-5fdd90fe]{display:none}}.container[data-v-5fdd90fe]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-5fdd90fe],.menu+.appearance[data-v-5fdd90fe],.translations+.appearance[data-v-5fdd90fe]{margin-top:24px}.menu+.social-links[data-v-5fdd90fe]{margin-top:16px}.appearance+.social-links[data-v-5fdd90fe]{margin-top:16px}.VPNav[data-v-9db0b3a8]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-9db0b3a8]{position:fixed}}.VPSidebarItem.level-0[data-v-43b4f510]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-43b4f510]{padding-bottom:10px}.item[data-v-43b4f510]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-43b4f510]{cursor:pointer}.indicator[data-v-43b4f510]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-43b4f510],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-43b4f510],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-43b4f510],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-43b4f510]{background-color:var(--vp-c-brand-1)}.link[data-v-43b4f510]{display:flex;align-items:center;flex-grow:1}.text[data-v-43b4f510]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-43b4f510]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-43b4f510],.VPSidebarItem.level-2 .text[data-v-43b4f510],.VPSidebarItem.level-3 .text[data-v-43b4f510],.VPSidebarItem.level-4 .text[data-v-43b4f510],.VPSidebarItem.level-5 .text[data-v-43b4f510]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-43b4f510],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-43b4f510],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-43b4f510],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-43b4f510],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-43b4f510],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-43b4f510]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-1.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-2.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-3.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-4.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-5.has-active>.item>.text[data-v-43b4f510],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-43b4f510],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-43b4f510],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-43b4f510],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-43b4f510],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-43b4f510],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-43b4f510]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-43b4f510],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-43b4f510],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-43b4f510],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-43b4f510],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-43b4f510],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-43b4f510]{color:var(--vp-c-brand-1)}.caret[data-v-43b4f510]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-43b4f510]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-43b4f510]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-43b4f510]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-43b4f510]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-43b4f510],.VPSidebarItem.level-2 .items[data-v-43b4f510],.VPSidebarItem.level-3 .items[data-v-43b4f510],.VPSidebarItem.level-4 .items[data-v-43b4f510],.VPSidebarItem.level-5 .items[data-v-43b4f510]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-43b4f510]{display:none}.no-transition[data-v-de01546c] .caret-icon{transition:none}.group+.group[data-v-de01546c]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-de01546c]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-77b78a54]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-77b78a54]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-77b78a54]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-77b78a54]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-77b78a54]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-77b78a54]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-77b78a54]{outline:0}.VPSkipLink[data-v-27e27f37]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-27e27f37]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-27e27f37]{top:14px;left:16px}}.Layout[data-v-c7c6d876]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-cfcff2de]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-cfcff2de]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-cfcff2de]{margin:128px 0}}.VPHomeSponsors[data-v-cfcff2de]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-cfcff2de]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-cfcff2de]{padding:0 64px}}.container[data-v-cfcff2de]{margin:0 auto;max-width:1152px}.love[data-v-cfcff2de]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-cfcff2de]{display:inline-block}.message[data-v-cfcff2de]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-cfcff2de]{padding-top:32px}.action[data-v-cfcff2de]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b91776c3]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-b91776c3]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-b91776c3-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-b91776c3-s],.VPTeamMembers+.VPTeamPageSection[data-v-b91776c3-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b91776c3-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b91776c3-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b91776c3-s],.VPTeamMembers+.VPTeamPageSection[data-v-b91776c3-s]{margin-top:96px}}.VPTeamMembers[data-v-b91776c3-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b91776c3-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b91776c3-s]{padding:0 64px}}.VPTeamPageTitle[data-v-f9cdb792]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-f9cdb792]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-f9cdb792]{padding:80px 64px 48px}}.title[data-v-f9cdb792]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-f9cdb792]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-f9cdb792]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-f9cdb792]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-5b8b4b12]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-5b8b4b12]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-5b8b4b12]{padding:0 64px}}.title[data-v-5b8b4b12]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-5b8b4b12]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-5b8b4b12]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-5b8b4b12]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-5b8b4b12]{padding-top:40px}.VPTeamMembersItem[data-v-4ab24532]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-4ab24532]{padding:32px}.VPTeamMembersItem.small .data[data-v-4ab24532]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-4ab24532]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-4ab24532]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-4ab24532]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-4ab24532]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-4ab24532]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-4ab24532]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-4ab24532]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-4ab24532]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-4ab24532]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-4ab24532]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-4ab24532]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-4ab24532]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-4ab24532]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-4ab24532]{text-align:center}.avatar[data-v-4ab24532]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-4ab24532]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-4ab24532]{margin:0;font-weight:600}.affiliation[data-v-4ab24532]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-4ab24532]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-4ab24532]:hover{color:var(--vp-c-brand-1)}.desc[data-v-4ab24532]{margin:0 auto}.desc[data-v-4ab24532] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-4ab24532]{display:flex;justify-content:center;height:56px}.sp-link[data-v-4ab24532]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-4ab24532]:hover,.sp .sp-link.link[data-v-4ab24532]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-4ab24532]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-c7183dfe]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-c7183dfe]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-c7183dfe]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-c7183dfe]{max-width:876px}.VPTeamMembers.medium .container[data-v-c7183dfe]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-c7183dfe]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-c7183dfe]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-c7183dfe]{max-width:760px}.container[data-v-c7183dfe]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.custom-block.ts{background-color:#8ec0f82b;color:#27578c;border-color:#3177c6}.dark .custom-block.ts{color:#6ba9ec}.custom-block.custom-block{font-size:inherit} diff --git a/assets/style.Bw6G4gr7.css b/assets/style.Bw6G4gr7.css deleted file mode 100644 index 4ed6d002..00000000 --- a/assets/style.Bw6G4gr7.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/vue-types/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, "PingFang SC", "Noto Sans CJK SC", "Noto Sans SC", "Heiti SC", "Microsoft YaHei", "DengXian", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.vpi-social-discord{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128 10.2 10.2 0 0 0 .372-.292.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.873.892.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.956-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419 0-1.333.955-2.419 2.157-2.419 1.21 0 2.176 1.096 2.157 2.42 0 1.333-.946 2.418-2.157 2.418Z'/%3E%3C/svg%3E")}.vpi-social-facebook{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z'/%3E%3C/svg%3E")}.vpi-social-github{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-instagram{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.03.084c-1.277.06-2.149.264-2.91.563a5.874 5.874 0 0 0-2.124 1.388 5.878 5.878 0 0 0-1.38 2.127C.321 4.926.12 5.8.064 7.076.008 8.354-.005 8.764.001 12.023c.007 3.259.021 3.667.083 4.947.061 1.277.264 2.149.563 2.911.308.789.72 1.457 1.388 2.123a5.872 5.872 0 0 0 2.129 1.38c.763.295 1.636.496 2.913.552 1.278.056 1.689.069 4.947.063 3.257-.007 3.668-.021 4.947-.082 1.28-.06 2.147-.265 2.91-.563a5.881 5.881 0 0 0 2.123-1.388 5.881 5.881 0 0 0 1.38-2.129c.295-.763.496-1.636.551-2.912.056-1.28.07-1.69.063-4.948-.006-3.258-.02-3.667-.081-4.947-.06-1.28-.264-2.148-.564-2.911a5.892 5.892 0 0 0-1.387-2.123 5.857 5.857 0 0 0-2.128-1.38C19.074.322 18.202.12 16.924.066 15.647.009 15.236-.006 11.977 0 8.718.008 8.31.021 7.03.084m.14 21.693c-1.17-.05-1.805-.245-2.228-.408a3.736 3.736 0 0 1-1.382-.895 3.695 3.695 0 0 1-.9-1.378c-.165-.423-.363-1.058-.417-2.228-.06-1.264-.072-1.644-.08-4.848-.006-3.204.006-3.583.061-4.848.05-1.169.246-1.805.408-2.228.216-.561.477-.96.895-1.382a3.705 3.705 0 0 1 1.379-.9c.423-.165 1.057-.361 2.227-.417 1.265-.06 1.644-.072 4.848-.08 3.203-.006 3.583.006 4.85.062 1.168.05 1.804.244 2.227.408.56.216.96.475 1.382.895.421.42.681.817.9 1.378.165.422.362 1.056.417 2.227.06 1.265.074 1.645.08 4.848.005 3.203-.006 3.583-.061 4.848-.051 1.17-.245 1.805-.408 2.23-.216.56-.477.96-.896 1.38a3.705 3.705 0 0 1-1.378.9c-.422.165-1.058.362-2.226.418-1.266.06-1.645.072-4.85.079-3.204.007-3.582-.006-4.848-.06m9.783-16.192a1.44 1.44 0 1 0 1.437-1.442 1.44 1.44 0 0 0-1.437 1.442M5.839 12.012a6.161 6.161 0 1 0 12.323-.024 6.162 6.162 0 0 0-12.323.024M8 12.008A4 4 0 1 1 12.008 16 4 4 0 0 1 8 12.008'/%3E%3C/svg%3E")}.vpi-social-linkedin{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z'/%3E%3C/svg%3E")}.vpi-social-mastodon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E")}.vpi-social-npm{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z'/%3E%3C/svg%3E")}.vpi-social-slack{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zm1.271 0a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zm0 1.271a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zm10.122 2.521a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zm-1.268 0a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zm-2.523 10.122a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zm0-1.268a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z'/%3E%3C/svg%3E")}.vpi-social-twitter,.vpi-social-x{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-5a57bafc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-5a57bafc],.VPBackdrop.fade-leave-to[data-v-5a57bafc]{opacity:0}.VPBackdrop.fade-leave-active[data-v-5a57bafc]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-5a57bafc]{display:none}}.NotFound[data-v-4ca6a521]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-4ca6a521]{padding:96px 32px 168px}}.code[data-v-4ca6a521]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-4ca6a521]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-4ca6a521]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-4ca6a521]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-4ca6a521]{padding-top:20px}.link[data-v-4ca6a521]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-4ca6a521]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-55d7ed72]{position:relative;z-index:1}.nested[data-v-55d7ed72]{padding-right:16px;padding-left:16px}.outline-link[data-v-55d7ed72]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-55d7ed72]:hover,.outline-link.active[data-v-55d7ed72]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-55d7ed72]{padding-left:13px}.VPDocAsideOutline[data-v-ba5394b3]{display:none}.VPDocAsideOutline.has-outline[data-v-ba5394b3]{display:block}.content[data-v-ba5394b3]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-ba5394b3]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-ba5394b3]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-0fb7be93]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-0fb7be93]{flex-grow:1}.VPDocAside[data-v-0fb7be93] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-0fb7be93] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-0fb7be93] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-a68920b7]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-a68920b7]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-c20edd20]{margin-top:64px}.edit-info[data-v-c20edd20]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-c20edd20]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-c20edd20]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-c20edd20]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-c20edd20]{margin-right:8px}.prev-next[data-v-c20edd20]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-c20edd20]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-c20edd20]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-c20edd20]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-c20edd20]{margin-left:auto;text-align:right}.desc[data-v-c20edd20]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-c20edd20]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-33b5ee99]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-33b5ee99]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-33b5ee99]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-33b5ee99]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-33b5ee99]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-33b5ee99]{display:flex;justify-content:center}.VPDoc .aside[data-v-33b5ee99]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-33b5ee99]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-33b5ee99]{max-width:1104px}}.container[data-v-33b5ee99]{margin:0 auto;width:100%}.aside[data-v-33b5ee99]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-33b5ee99]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-33b5ee99]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-33b5ee99]::-webkit-scrollbar{display:none}.aside-curtain[data-v-33b5ee99]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-33b5ee99]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-33b5ee99]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-33b5ee99]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-33b5ee99]{order:1;margin:0;min-width:640px}}.content-container[data-v-33b5ee99]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-33b5ee99]{max-width:688px}.VPButton[data-v-86a482a4]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-86a482a4]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-86a482a4]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-86a482a4]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-86a482a4]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-86a482a4]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-86a482a4]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-86a482a4]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-86a482a4]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-86a482a4]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-86a482a4]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-86a482a4]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-86a482a4]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-6dce1bff]{display:none}.dark .VPImage.light[data-v-6dce1bff]{display:none}.VPHero[data-v-40affa46]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-40affa46]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-40affa46]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-40affa46]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-40affa46]{flex-direction:row}}.main[data-v-40affa46]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-40affa46]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-40affa46]{text-align:left}}@media (min-width: 960px){.main[data-v-40affa46]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-40affa46]{max-width:592px}}.name[data-v-40affa46],.text[data-v-40affa46]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-40affa46],.VPHero.has-image .text[data-v-40affa46]{margin:0 auto}.name[data-v-40affa46]{color:var(--vp-home-hero-name-color)}.clip[data-v-40affa46]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-40affa46],.text[data-v-40affa46]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-40affa46],.text[data-v-40affa46]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-40affa46],.VPHero.has-image .text[data-v-40affa46]{margin:0}}.tagline[data-v-40affa46]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-40affa46]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-40affa46]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-40affa46]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-40affa46]{margin:0}}.actions[data-v-40affa46]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-40affa46]{justify-content:center}@media (min-width: 640px){.actions[data-v-40affa46]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-40affa46]{justify-content:flex-start}}.action[data-v-40affa46]{flex-shrink:0;padding:6px}.image[data-v-40affa46]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-40affa46]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-40affa46]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-40affa46]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-40affa46]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-40affa46]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-40affa46]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-40affa46]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-40affa46]{width:320px;height:320px}}[data-v-40affa46] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-40affa46] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-40affa46] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-3c3c4d66]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-3c3c4d66]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-3c3c4d66]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-3c3c4d66]>.VPImage{margin-bottom:20px}.icon[data-v-3c3c4d66]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-3c3c4d66]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-3c3c4d66]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-3c3c4d66]{padding-top:8px}.link-text-value[data-v-3c3c4d66]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-3c3c4d66]{margin-left:6px}.VPFeatures[data-v-7d009197]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-7d009197]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-7d009197]{padding:0 64px}}.container[data-v-7d009197]{margin:0 auto;max-width:1152px}.items[data-v-7d009197]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-7d009197]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-7d009197],.item.grid-4[data-v-7d009197],.item.grid-6[data-v-7d009197]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-7d009197],.item.grid-4[data-v-7d009197]{width:50%}.item.grid-3[data-v-7d009197],.item.grid-6[data-v-7d009197]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-7d009197]{width:25%}}.container[data-v-a07f18f1]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-a07f18f1]{padding:0 48px}}@media (min-width: 960px){.container[data-v-a07f18f1]{width:100%;padding:0 64px}}.vp-doc[data-v-a07f18f1] .VPHomeSponsors,.vp-doc[data-v-a07f18f1] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-a07f18f1] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-a07f18f1] .VPHomeSponsors a,.vp-doc[data-v-a07f18f1] .VPTeamPage a{text-decoration:none}.VPHome[data-v-2db7a2fd]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-2db7a2fd]{margin-bottom:128px}}.VPContent[data-v-ce1b6242]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-ce1b6242]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-ce1b6242]{margin:0}@media (min-width: 960px){.VPContent[data-v-ce1b6242]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-ce1b6242]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-ce1b6242]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-04372850]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-04372850]{display:none}.VPFooter[data-v-04372850] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-04372850] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-04372850]{padding:32px}}.container[data-v-04372850]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-04372850],.copyright[data-v-04372850]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-e828fdfb]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-e828fdfb]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-e828fdfb]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-e828fdfb]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-e828fdfb]{color:var(--vp-c-text-1)}.icon[data-v-e828fdfb]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-e828fdfb]{font-size:14px}.icon[data-v-e828fdfb]{font-size:16px}}.open>.icon[data-v-e828fdfb]{transform:rotate(90deg)}.items[data-v-e828fdfb]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-e828fdfb]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-e828fdfb]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-e828fdfb]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-e828fdfb]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-e828fdfb]{transition:all .2s ease-out}.flyout-leave-active[data-v-e828fdfb]{transition:all .15s ease-in}.flyout-enter-from[data-v-e828fdfb],.flyout-leave-to[data-v-e828fdfb]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-ff40a483]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-ff40a483]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-ff40a483]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-ff40a483]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-ff40a483]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-ff40a483]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-ff40a483]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-ff40a483]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-ff40a483]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-ff40a483]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-ff40a483]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-ff40a483]{display:none}}.menu-icon[data-v-ff40a483]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-ff40a483]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-ff40a483]{padding:12px 32px 11px}}.VPSwitch[data-v-dc16c28c]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-dc16c28c]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-dc16c28c]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-dc16c28c]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-dc16c28c] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-dc16c28c] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-fda6b9ae]{opacity:1}.moon[data-v-fda6b9ae],.dark .sun[data-v-fda6b9ae]{opacity:0}.dark .moon[data-v-fda6b9ae]{opacity:1}.dark .VPSwitchAppearance[data-v-fda6b9ae] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-d92f04c3]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-d92f04c3]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-c5e1ecc5]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-c5e1ecc5]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-c5e1ecc5]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-c5e1ecc5]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-41f2552f]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-41f2552f]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-41f2552f]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-41f2552f]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-da4261f2]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-da4261f2] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-da4261f2] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-da4261f2] .group:last-child{padding-bottom:0}.VPMenu[data-v-da4261f2] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-da4261f2] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-da4261f2] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-da4261f2] .action{padding-left:24px}.VPFlyout[data-v-3117f0e2]{position:relative}.VPFlyout[data-v-3117f0e2]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-3117f0e2]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-3117f0e2]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-3117f0e2]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-3117f0e2]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-3117f0e2],.button[aria-expanded=true]+.menu[data-v-3117f0e2]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-3117f0e2]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-3117f0e2]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-3117f0e2]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-3117f0e2]{margin-right:0;font-size:16px}.text-icon[data-v-3117f0e2]{margin-left:4px;font-size:14px}.icon[data-v-3117f0e2]{font-size:20px;transition:fill .25s}.menu[data-v-3117f0e2]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-373a178d]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-373a178d]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-373a178d]>svg,.VPSocialLink[data-v-373a178d]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-0d989167]{display:flex;justify-content:center}.VPNavBarExtra[data-v-02c00994]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-02c00994]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-02c00994]{display:none}}.trans-title[data-v-02c00994]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-02c00994],.item.social-links[data-v-02c00994]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-02c00994]{min-width:176px}.appearance-action[data-v-02c00994]{margin-right:-2px}.social-links-list[data-v-02c00994]{margin:-4px -8px}.VPNavBarHamburger[data-v-54f94b4d]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-54f94b4d]{display:none}}.container[data-v-54f94b4d]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-54f94b4d]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-54f94b4d]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-54f94b4d]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-54f94b4d]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-54f94b4d]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-54f94b4d]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-54f94b4d],.VPNavBarHamburger.active:hover .middle[data-v-54f94b4d],.VPNavBarHamburger.active:hover .bottom[data-v-54f94b4d]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-54f94b4d],.middle[data-v-54f94b4d],.bottom[data-v-54f94b4d]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-54f94b4d]{top:0;left:0;transform:translate(0)}.middle[data-v-54f94b4d]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-54f94b4d]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-0a30eebe]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-0a30eebe],.VPNavBarMenuLink[data-v-0a30eebe]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-d0bf7aa9]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-d0bf7aa9]{display:flex}}/*! @docsearch/css 3.6.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 rgba(3,4,9,.30196078431372547);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}.DocSearch-Button-Key--pressed{transform:translate3d(0,1px,0);box-shadow:var(--docsearch-key-pressed-shadow)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-a642c5bd]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-a642c5bd]{display:flex;align-items:center}}.title[data-v-cc76551d]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-cc76551d]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-cc76551d]{border-bottom-color:var(--vp-c-divider)}}[data-v-cc76551d] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-5e14a35a]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-5e14a35a]{display:flex;align-items:center}}.title[data-v-5e14a35a]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-e958c74b]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-e958c74b]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-e958c74b]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-e958c74b]:not(.home){background-color:transparent}.VPNavBar[data-v-e958c74b]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-e958c74b]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-e958c74b]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-e958c74b]{padding:0}}.container[data-v-e958c74b]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-e958c74b],.container>.content[data-v-e958c74b]{pointer-events:none}.container[data-v-e958c74b] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-e958c74b]{max-width:100%}}.title[data-v-e958c74b]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-e958c74b]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-e958c74b]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-e958c74b]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-e958c74b]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-e958c74b]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-e958c74b]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-e958c74b]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-e958c74b]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-e958c74b]{column-gap:.5rem}}.menu+.translations[data-v-e958c74b]:before,.menu+.appearance[data-v-e958c74b]:before,.menu+.social-links[data-v-e958c74b]:before,.translations+.appearance[data-v-e958c74b]:before,.appearance+.social-links[data-v-e958c74b]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-e958c74b]:before,.translations+.appearance[data-v-e958c74b]:before{margin-right:16px}.appearance+.social-links[data-v-e958c74b]:before{margin-left:16px}.social-links[data-v-e958c74b]{margin-right:-8px}.divider[data-v-e958c74b]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-e958c74b]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-e958c74b]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-e958c74b]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-e958c74b]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-e958c74b]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-e958c74b]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-e8ee4050]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-e8ee4050]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-37e33fa8]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-37e33fa8]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-0b56b21e]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-0b56b21e]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-e33d1488]{display:block}.title[data-v-e33d1488]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-d8286233]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-d8286233]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-d8286233]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-d8286233]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-d8286233]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-d8286233]{transform:rotate(45deg)}.button[data-v-d8286233]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-d8286233]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-d8286233]{transition:transform .25s}.group[data-v-d8286233]:first-child{padding-top:0}.group+.group[data-v-d8286233],.group+.item[data-v-d8286233]{padding-top:4px}.VPNavScreenTranslations[data-v-7cbda227]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-7cbda227]{height:auto}.title[data-v-7cbda227]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-7cbda227]{font-size:16px}.icon.lang[data-v-7cbda227]{margin-right:8px}.icon.chevron[data-v-7cbda227]{margin-left:4px}.list[data-v-7cbda227]{padding:4px 0 0 24px}.link[data-v-7cbda227]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-6ca08015]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-6ca08015],.VPNavScreen.fade-leave-active[data-v-6ca08015]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-6ca08015],.VPNavScreen.fade-leave-active .container[data-v-6ca08015]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-6ca08015],.VPNavScreen.fade-leave-to[data-v-6ca08015]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-6ca08015],.VPNavScreen.fade-leave-to .container[data-v-6ca08015]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-6ca08015]{display:none}}.container[data-v-6ca08015]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-6ca08015],.menu+.appearance[data-v-6ca08015],.translations+.appearance[data-v-6ca08015]{margin-top:24px}.menu+.social-links[data-v-6ca08015]{margin-top:16px}.appearance+.social-links[data-v-6ca08015]{margin-top:16px}.VPNav[data-v-bd3494ef]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-bd3494ef]{position:fixed}}.VPSidebarItem.level-0[data-v-c69bdbae]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-c69bdbae]{padding-bottom:10px}.item[data-v-c69bdbae]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-c69bdbae]{cursor:pointer}.indicator[data-v-c69bdbae]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-c69bdbae],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-c69bdbae],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-c69bdbae],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-c69bdbae]{background-color:var(--vp-c-brand-1)}.link[data-v-c69bdbae]{display:flex;align-items:center;flex-grow:1}.text[data-v-c69bdbae]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-c69bdbae]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-c69bdbae],.VPSidebarItem.level-2 .text[data-v-c69bdbae],.VPSidebarItem.level-3 .text[data-v-c69bdbae],.VPSidebarItem.level-4 .text[data-v-c69bdbae],.VPSidebarItem.level-5 .text[data-v-c69bdbae]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-c69bdbae],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-c69bdbae],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-c69bdbae],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-c69bdbae],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-c69bdbae],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-c69bdbae]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-1.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-2.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-3.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-4.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-5.has-active>.item>.text[data-v-c69bdbae],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-c69bdbae],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-c69bdbae],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-c69bdbae],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-c69bdbae],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-c69bdbae],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-c69bdbae]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-c69bdbae],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-c69bdbae],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-c69bdbae],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-c69bdbae],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-c69bdbae],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-c69bdbae]{color:var(--vp-c-brand-1)}.caret[data-v-c69bdbae]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-c69bdbae]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-c69bdbae]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-c69bdbae]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-c69bdbae]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-c69bdbae],.VPSidebarItem.level-2 .items[data-v-c69bdbae],.VPSidebarItem.level-3 .items[data-v-c69bdbae],.VPSidebarItem.level-4 .items[data-v-c69bdbae],.VPSidebarItem.level-5 .items[data-v-c69bdbae]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-c69bdbae]{display:none}.no-transition[data-v-266b1c8f] .caret-icon{transition:none}.group+.group[data-v-266b1c8f]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-266b1c8f]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-738fcf80]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-738fcf80]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-738fcf80]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-738fcf80]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-738fcf80]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-738fcf80]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-738fcf80]{outline:0}.VPSkipLink[data-v-f6deafbe]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-f6deafbe]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-f6deafbe]{top:14px;left:16px}}.Layout[data-v-cf9925f7]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3b240d7e]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3b240d7e]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3b240d7e]{margin:128px 0}}.VPHomeSponsors[data-v-3b240d7e]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3b240d7e]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3b240d7e]{padding:0 64px}}.container[data-v-3b240d7e]{margin:0 auto;max-width:1152px}.love[data-v-3b240d7e]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3b240d7e]{display:inline-block}.message[data-v-3b240d7e]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-3b240d7e]{padding-top:32px}.action[data-v-3b240d7e]{padding-top:40px;text-align:center}.VPTeamPage[data-v-841da627]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-841da627]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-841da627-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-841da627-s],.VPTeamMembers+.VPTeamPageSection[data-v-841da627-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-841da627-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-841da627-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-841da627-s],.VPTeamMembers+.VPTeamPageSection[data-v-841da627-s]{margin-top:96px}}.VPTeamMembers[data-v-841da627-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-841da627-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-841da627-s]{padding:0 64px}}.VPTeamPageTitle[data-v-efa2bf16]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-efa2bf16]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-efa2bf16]{padding:80px 64px 48px}}.title[data-v-efa2bf16]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-efa2bf16]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-efa2bf16]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-efa2bf16]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-cd7618ed]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-cd7618ed]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-cd7618ed]{padding:0 64px}}.title[data-v-cd7618ed]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-cd7618ed]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-cd7618ed]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-cd7618ed]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-cd7618ed]{padding-top:40px}.VPTeamMembersItem[data-v-a1e533a7]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-a1e533a7]{padding:32px}.VPTeamMembersItem.small .data[data-v-a1e533a7]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-a1e533a7]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-a1e533a7]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-a1e533a7]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-a1e533a7]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-a1e533a7]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-a1e533a7]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-a1e533a7]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-a1e533a7]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-a1e533a7]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-a1e533a7]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-a1e533a7]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-a1e533a7]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-a1e533a7]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-a1e533a7]{text-align:center}.avatar[data-v-a1e533a7]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-a1e533a7]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-a1e533a7]{margin:0;font-weight:600}.affiliation[data-v-a1e533a7]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-a1e533a7]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-a1e533a7]:hover{color:var(--vp-c-brand-1)}.desc[data-v-a1e533a7]{margin:0 auto}.desc[data-v-a1e533a7] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-a1e533a7]{display:flex;justify-content:center;height:56px}.sp-link[data-v-a1e533a7]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-a1e533a7]:hover,.sp .sp-link.link[data-v-a1e533a7]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-a1e533a7]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-249712fe]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-249712fe]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-249712fe]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-249712fe]{max-width:876px}.VPTeamMembers.medium .container[data-v-249712fe]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-249712fe]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-249712fe]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-249712fe]{max-width:760px}.container[data-v-249712fe]{display:grid;gap:24px;margin:0 auto;max-width:1152px}.custom-block.ts{background-color:#8ec0f82b;color:#27578c;border-color:#3177c6}.dark .custom-block.ts{color:#6ba9ec}.custom-block.custom-block{font-size:inherit} diff --git a/guide/configuration.html b/guide/configuration.html index 359c41c2..fe7752a0 100644 --- a/guide/configuration.html +++ b/guide/configuration.html @@ -5,19 +5,20 @@ Configuration | VueTypes - - + + + - + - - - + + + -
Skip to content

Configuration

Starting from version 4, VueTypes has a global configuration object that can be used to customize the library's behavior.

The configuration is exposed both as a property of the default export, and as a named export:

ts
// default exported instance
+    
Skip to content

Configuration

Starting from version 4, VueTypes has a global configuration object that can be used to customize the library's behavior.

The configuration is exposed both as a property of the default export, and as a named export:

ts
// default exported instance
 import VueTypes from 'vue-types'
 
 // named export
@@ -26,8 +27,8 @@
 VueTypes.config === config

Configuration Options

  • silent: (boolean, default false) set to true to prevent VueTypes from logging validation warnings.

TIP

Until version 2, VueTypes warning behavior was matching the Vue.config.silent global config parameter. But that global property has been removed in Vue@3.

To reproduce that behavior in application running Vue@2 you can use:

ts
import { config } from 'vue-types'
 import Vue from 'vue'
 
-config.silent = Vue.config.silent
  • logLevel: (string, default warn) allows choosing which console method will be used to display validation errors. Available options are log, warn, error, debug andinfo.
- +config.silent = Vue.config.silent
  • logLevel: (string, default warn) allows choosing which console method will be used to display validation errors. Available options are log, warn, error, debug andinfo.
+ \ No newline at end of file diff --git a/guide/installation.html b/guide/installation.html index a09cbd2f..953d4043 100644 --- a/guide/installation.html +++ b/guide/installation.html @@ -5,19 +5,20 @@ Installation | VueTypes - - + + + - + - - - + + + -
Skip to content

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
+    
Skip to content

Installation

VERSION NOTE

This guide covers VueTypes 2+.

  • VueTypes 2 is compatible with Vue 1 and 2.
  • VueTypes 4+ is compatible with Vue 2 and Vue 3.

NPM package

bash
npm install vue-types --save

CDN delivered script

Add the following script tags before your code

html
<script src="https://unpkg.com/vue-types@5"></script>
 
 <!-- Or -->
 
@@ -86,8 +87,8 @@
   vueTypes: {
     shim: true,
   },
-}
- +}
+ \ No newline at end of file diff --git a/guide/namespaced.html b/guide/namespaced.html index 2bcadc7e..2ef14c12 100644 --- a/guide/namespaced.html +++ b/guide/namespaced.html @@ -5,19 +5,20 @@ Namespaced Usage | VueTypes - - + + + - + - - - + + + -
Skip to content

Namespaced Usage

The default export of vue-types exposes an ES6 class object that mimics React prop-type.

The class object exposes both native and custom validators.

Native Validators

Native validators are exposed as static getter factories:

js
import VueTypes from 'vue-types'
+    
Skip to content

Namespaced Usage

The default export of vue-types exposes an ES6 class object that mimics React prop-type.

The class object exposes both native and custom validators.

Native Validators

Native validators are exposed as static getter factories:

js
import VueTypes from 'vue-types'
 
 export default {
   props: {
@@ -98,8 +99,8 @@
     // this password prop must include at least a digit
     password: passwordType.validate((v) => /[0-9]/test.(v)),
   },
-}
- +}
+ \ No newline at end of file diff --git a/guide/troubleshooting.html b/guide/troubleshooting.html index e40d256e..27b8c2c4 100644 --- a/guide/troubleshooting.html +++ b/guide/troubleshooting.html @@ -5,20 +5,21 @@ Troubleshooting | VueTypes - - + + + - + - - - + + + -
Skip to content

Troubleshooting

ESLint reports a vue/require-default-prop error for certain vue-types validators.

If your uses eslint-plugin-vue v6 or lower, you might receive a linting error related to the vue/require-default-prop rule for validators using the .isRequired or .loose flag (see vue-types#179).

The best solution to fix this issue is to upgrade the library eslint-plugin-vue to v7.

However, if you cannot upgrade the library, you can install eslint-plugin-vue-types. The plugin extends eslint-plugin-vue and filters out most incorrectly flagged usage cases.

Read the plugin documentation for installation and usage details.

- +
Skip to content

Troubleshooting

ESLint reports a vue/require-default-prop error for certain vue-types validators.

If your uses eslint-plugin-vue v6 or lower, you might receive a linting error related to the vue/require-default-prop rule for validators using the .isRequired or .loose flag (see vue-types#179).

The best solution to fix this issue is to upgrade the library eslint-plugin-vue to v7.

However, if you cannot upgrade the library, you can install eslint-plugin-vue-types. The plugin extends eslint-plugin-vue and filters out most incorrectly flagged usage cases.

Read the plugin documentation for installation and usage details.

+ \ No newline at end of file diff --git a/guide/validators.html b/guide/validators.html index 981dac0e..1f777b28 100644 --- a/guide/validators.html +++ b/guide/validators.html @@ -5,19 +5,20 @@ Validators | VueTypes - - + + + - + - - - + + + -
Skip to content

Using VueTypes Validators

VueTypes is a collection of prop validators. Each validator is basically a factory function returning an object (validator object) compatible with Vue prop validation.

Differently from simple Vue prop validation objects, VueTypes prop validator objects provide some additional chainable properties and methods to control things like required and default values.

Validators can be imported as named functions from vue-types:

js
import Vue from 'vue'
+    
Skip to content

Using VueTypes Validators

VueTypes is a collection of prop validators. Each validator is basically a factory function returning an object (validator object) compatible with Vue prop validation.

Differently from simple Vue prop validation objects, VueTypes prop validator objects provide some additional chainable properties and methods to control things like required and default values.

Validators can be imported as named functions from vue-types:

js
import Vue from 'vue'
 import { number, oneOf } from 'vue-types'
 
 export default {
@@ -267,8 +268,8 @@
 validateType(Number, 10) // true
 
 // returns an error message on failure
-validateType(String, 10, false) // 'value "10" should be of type "string"`

toType / toValidableType

Convert an object compatible with Vue.js prop validation to a VueTypes validator object.

See Standalone custom validators for more details.

fromType

Creates a new validator object from a previously defined one.

See Inheriting from existing validators for more details.

createTypes

Returns a namespaced collection of validators.

See Custom namespaced instance for more details.

- +validateType(String, 10, false) // 'value "10" should be of type "string"`

toType / toValidableType

Convert an object compatible with Vue.js prop validation to a VueTypes validator object.

See Standalone custom validators for more details.

fromType

Creates a new validator object from a previously defined one.

See Inheriting from existing validators for more details.

createTypes

Returns a namespaced collection of validators.

See Custom namespaced instance for more details.

+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index a382ef0a..a5e837b9 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"advanced_custom-instance.md":"BhHWRemn","advanced_extending-vue-types.md":"ncFXH5sk","advanced_typescript.md":"_64S16zB","guide_configuration.md":"DbZ-evHD","guide_installation.md":"BXQzoruK","guide_namespaced.md":"njgj3jYg","guide_troubleshooting.md":"4-ek-5jc","guide_validators.md":"FJHl80Ph","index.md":"CqAONvgu"} +{"advanced_custom-instance.md":"VAIxW2UG","advanced_extending-vue-types.md":"DKUpT8Vz","advanced_typescript.md":"BozNiqGA","guide_configuration.md":"Bua8Nzk_","guide_installation.md":"CCNB_j3-","guide_namespaced.md":"EtgPGufb","guide_troubleshooting.md":"wcse0jpO","guide_validators.md":"BUc5SOYS","index.md":"BXX8PSRi"} diff --git a/index.html b/index.html index d3b746d4..3a761371 100644 --- a/index.html +++ b/index.html @@ -5,19 +5,20 @@ Introduction | VueTypes - - + + + - + - - - + + + -
Skip to content

VueTypes

VueTypes is a collection of configurable prop validators for Vue.js, inspired by React prop-types.

Try it now!

VERSION NOTE

This is the documentation for VueTypes 2 and above. If you are using an older version, refer to the documentation here.

Starting from v4, vue-types is compatible with both vue@2 and vue@3.

When to use

While basic prop validation in Vue.js is straight-forward and convenient, fine-grained validation can become verbose on complex components.

VueTypes offers a compact and fluent interface to define your project's props.

Usage example

Imagine a typical Vue.js component with a set of props:

js
export default {
+    
Skip to content

VueTypes

VueTypes is a collection of configurable prop validators for Vue.js, inspired by React prop-types.

Try it now!

VERSION NOTE

This is the documentation for VueTypes 2 and above. If you are using an older version, refer to the documentation here.

Starting from v4, vue-types is compatible with both vue@2 and vue@3.

When to use

While basic prop validation in Vue.js is straight-forward and convenient, fine-grained validation can become verbose on complex components.

VueTypes offers a compact and fluent interface to define your project's props.

Usage example

Imagine a typical Vue.js component with a set of props:

js
export default {
   props: {
     id: {
       type: Number,
@@ -63,8 +64,8 @@
   methods: {
     // ...
   },
-}
- +}
+ \ No newline at end of file diff --git a/vp-icons.css b/vp-icons.css new file mode 100644 index 00000000..ddc5bd8e --- /dev/null +++ b/vp-icons.css @@ -0,0 +1 @@ +.vpi-social-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")} \ No newline at end of file